|
|
|
@ -1,5 +1,5 @@ |
|
|
|
.title cbios.s derived from cbios.asm |
|
|
|
.sbttl by Douglas Goodall for N8VEM use '11 |
|
|
|
.sbttl by Douglas Goodall for N8VEM use |
|
|
|
|
|
|
|
.module cbios |
|
|
|
.optsdcc -mz80 |
|
|
|
@ -57,16 +57,16 @@ TRUE = 1 |
|
|
|
|
|
|
|
; LIST OF CONDITIONAL ASSEMBLY INSTRUCTIONS |
|
|
|
|
|
|
|
CONDIDESOFT = TRUE ; IF NO IDE DRIVE, HAS A SIGNIFICANT DELAY ON SOFT BOOT (TRUE) OR QUICK (FALSE) |
|
|
|
CONDIDESOFT = FALSE ; IF NO IDE DRIVE, HAS A SIGNIFICANT DELAY ON SOFT BOOT (TRUE) OR QUICK (FALSE) |
|
|
|
CONDSHORTMSG = TRUE ; TRUE FOR ORIGINAL WARM BOOT SIGNON, FALSE FOR SHORTER ONE WITH LESS <CR> |
|
|
|
CONDSUPERSUB = TRUE ; TRUE FOR NO SUPERSUB AUTOEXEC, FALSE TO RUN SUPERSUB AUTOEXEC |
|
|
|
CONDABONLY = TRUE ; TRUE FOR ORIGINAL, FALSE TO ONLY HAVE DRIVE A AND B |
|
|
|
|
|
|
|
CONDUSEVDU = FALSE ; TRUE FOR USE VDU CARD, FALSE TO USE SERIAL PORT (FOR CONSOLE) |
|
|
|
CONDUSEFLOPPY = TRUE ; TRUE FOR USE FLOPPY, FALSE FOR NO FLOPPY DRIVE |
|
|
|
COND144FLOPPY = TRUE ; TRUE FOR 1.44Mb FLOPPY ON DRIVE G: |
|
|
|
CONDUSEVDU = FALSE ; TRUE FOR USE VDU CARD, FALSE TO USE SERIAL PORT (FOR CONSOLE) |
|
|
|
CONDUSEFLOPPY = FALSE ; TRUE FOR USE FLOPPY, FALSE FOR NO FLOPPY DRIVE |
|
|
|
COND144FLOPPY = FALSE ; TRUE FOR 1.44Mb FLOPPY ON DRIVE G: |
|
|
|
CONDUSEATAPI = FALSE ; TRUE FOR USE ZIP DISK, FALSE FOR NO ZIP DISK |
|
|
|
CONDUSEDSKY = FALSE ; TRUE FOR USE DSKY, FALSE FOR NO DSKY |
|
|
|
CONDUSEDSKY = FALSE ; TRUE FOR USE DSKY, FALSE FOR NO DSKY |
|
|
|
|
|
|
|
; POINTERS TO VDU ROUTINES IN HIGH ROM BANK (NOT NEEDED IF NOT USING VDU CARD) |
|
|
|
|
|
|
|
@ -83,7 +83,7 @@ MSIZE = 59 ;CP/M VERSION MEMORY SIZE IN KILOBYTES |
|
|
|
; THAN 16K (REFERRED TO AS "B" THROUGHOUT THE TEXT) |
|
|
|
; |
|
|
|
BIAS = (MSIZE-20)*1024 ; |
|
|
|
CCP = 0x3400+BIAS ; BASE OF CCP |
|
|
|
CCP = 0x3400+BIAS ; BASE OF CCP |
|
|
|
BDOS = CCP+0x806 ; BASE OF BDOS |
|
|
|
BIOS = CCP+0x1600 ; BASE OF BIOS |
|
|
|
CDISK = 4 ; CURRENT DISK NUMBER 0=A,...,15=P |
|
|
|
@ -126,9 +126,9 @@ MOTOR = 0b00000000 ; BIT PATTERN IN LATCH FOR MOTOR CONTROL (ON) |
|
|
|
TERMCN = 0b00000001 ; BIT PATTERN IN LATCH TO WRITE A TC STROBE |
|
|
|
RESETL = 0b00000010 ; BIT PATTERN IN LATCH TO RESET ALL BITS |
|
|
|
MINI = 0b00000100 ; BIT PATTERN IN LATCH TO SET MINI MODE FDC9229 LOW DENS=1, HIGH DENS=0 |
|
|
|
PRECOMP = 0b00100000 ; BIT PATTERN IN LATCH TO SET WRITE PRECOMP 125 NS: |
|
|
|
PRECOMP = 0b00100000 ; BIT PATTERN IN LATCH TO SET WRITE PRECOMP 125 NS: |
|
|
|
FDDENSITY = 0b01000000 ; BIT PATTERN IN LATCH TO FLOPPY LOW DENSITY (HIGH IS 0) |
|
|
|
FDREADY = 0b10000000 ; BIT PATTERN IN LATCH TO FLOPPY READY (P-34): |
|
|
|
FDREADY = 0b10000000 ; BIT PATTERN IN LATCH TO FLOPPY READY (P-34): |
|
|
|
; |
|
|
|
; PIO 82C55 I/O IS DECODED TO PORT 60-67 |
|
|
|
PORTA = 0x60 ; PORT A |
|
|
|
@ -441,8 +441,8 @@ GOCPM: |
|
|
|
LD A,#0x0C3 ; C3 IS A JMP INSTRUCTION |
|
|
|
LD (0x0038),A ; FOR JMP TO WBOOT |
|
|
|
LD HL,#WBOOTE ; WBOOT ENTRY POINT |
|
|
|
LD (1),HL ; SET ADDRESS FIELD FOR JMP AT 0 |
|
|
|
; |
|
|
|
LD (1),HL ; SET ADDRESS FIELD FOR JMP AT 0 |
|
|
|
; |
|
|
|
LD (5),A ; FOR JMP TO BDOS |
|
|
|
LD HL,#BDOS ; BDOS ENTRY POINT |
|
|
|
LD (6),HL ; ADDRESS FIELD OF JUMP AT 5 TO BDOS |
|
|
|
@ -1882,7 +1882,7 @@ ATAPI_SEND_PACKET_LOOP: |
|
|
|
SETUPDRIVE: |
|
|
|
LD A,#RESETL ; RESET SETTINGS |
|
|
|
.IF COND144FLOPPY-1 |
|
|
|
OR MINI ; SELECT MINI FLOPPY (LOW DENS=1, HIGH DENS=0) |
|
|
|
OR #MINI ; SELECT MINI FLOPPY (LOW DENS=1, HIGH DENS=0) 2/1/2013 |
|
|
|
.ENDIF |
|
|
|
OR #PRECOMP ; SELECT PRECOMP |
|
|
|
OR #FDDENSITY ; SELECT DENSITY |
|
|
|
|