mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 22:43:15 -06:00
Compare commits
1 Commits
v3.3.0-dev
...
v3.3.0-dev
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e5b7409f44 |
@@ -4,6 +4,7 @@ Version 3.3
|
||||
- A?C: Preliminary support for Z80-Retro
|
||||
- A?C: Support for SD PIO
|
||||
- A?C: Support for Z80-Retro SD interface
|
||||
- WBW: Support per-drive floppy configuration
|
||||
|
||||
Version 3.2.1
|
||||
-------------
|
||||
|
||||
@@ -185,9 +185,9 @@ FDENABLE .EQU FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .EQU FDMODE_DYNO ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]
|
||||
FDCNT .EQU 2 ; FD: NUMBER OF FLOPPY DRIVES ON THE INTERFACE (1-2)
|
||||
FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL)
|
||||
FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111]
|
||||
FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111]
|
||||
FDMAUTO .EQU TRUE ; FD: AUTO SELECT DEFAULT/ALTERNATE MEDIA FORMATS
|
||||
FD0TYPE .EQU FDT_3HD ; FD 0: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
|
||||
FD1TYPE .EQU FDT_3HD ; FD 1: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
|
||||
;
|
||||
RFENABLE .EQU FALSE ; RF: ENABLE RAM FLOPPY DRIVER
|
||||
;
|
||||
|
||||
@@ -239,9 +239,9 @@ FDENABLE .EQU FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .EQU FDMODE_NONE ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]
|
||||
FDCNT .EQU 2 ; FD: NUMBER OF FLOPPY DRIVES ON THE INTERFACE (1-2)
|
||||
FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL)
|
||||
FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111]
|
||||
FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111]
|
||||
FDMAUTO .EQU TRUE ; FD: AUTO SELECT DEFAULT/ALTERNATE MEDIA FORMATS
|
||||
FD0TYPE .EQU FDT_3HD ; FD 0: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
|
||||
FD1TYPE .EQU FDT_3HD ; FD 1: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
|
||||
;
|
||||
RFENABLE .EQU FALSE ; RF: ENABLE RAM FLOPPY DRIVER
|
||||
RFCNT .EQU 1 ; RF: NUMBER OF RAM FLOPPY UNITS (1-4)
|
||||
|
||||
@@ -168,9 +168,9 @@ FDENABLE .EQU FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .EQU FDMODE_MBC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]
|
||||
FDCNT .EQU 2 ; FD: NUMBER OF FLOPPY DRIVES ON THE INTERFACE (1-2)
|
||||
FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL)
|
||||
FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111]
|
||||
FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111]
|
||||
FDMAUTO .EQU TRUE ; FD: AUTO SELECT DEFAULT/ALTERNATE MEDIA FORMATS
|
||||
FD0TYPE .EQU FDT_3HD ; FD 0: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
|
||||
FD1TYPE .EQU FDT_3HD ; FD 1: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
|
||||
;
|
||||
RFENABLE .EQU FALSE ; RF: ENABLE RAM FLOPPY DRIVER
|
||||
RFCNT .EQU 1 ; RF: NUMBER OF RAM FLOPPY UNITS (1-4)
|
||||
|
||||
@@ -178,9 +178,9 @@ FDENABLE .EQU FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .EQU FDMODE_DIDE ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]
|
||||
FDCNT .EQU 2 ; FD: NUMBER OF FLOPPY DRIVES ON THE INTERFACE (1-2)
|
||||
FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL)
|
||||
FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111]
|
||||
FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111]
|
||||
FDMAUTO .EQU TRUE ; FD: AUTO SELECT DEFAULT/ALTERNATE MEDIA FORMATS
|
||||
FD0TYPE .EQU FDT_3HD ; FD 0: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
|
||||
FD1TYPE .EQU FDT_3HD ; FD 1: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
|
||||
;
|
||||
RFENABLE .EQU FALSE ; RF: ENABLE RAM FLOPPY DRIVER
|
||||
RFCNT .EQU 1 ; RF: NUMBER OF RAM FLOPPY UNITS (1-4)
|
||||
|
||||
@@ -180,9 +180,9 @@ FDENABLE .EQU TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .EQU FDMODE_N8 ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]
|
||||
FDCNT .EQU 2 ; FD: NUMBER OF FLOPPY DRIVES ON THE INTERFACE (1-2)
|
||||
FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL)
|
||||
FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111]
|
||||
FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111]
|
||||
FDMAUTO .EQU TRUE ; FD: AUTO SELECT DEFAULT/ALTERNATE MEDIA FORMATS
|
||||
FD0TYPE .EQU FDT_3HD ; FD 0: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
|
||||
FD1TYPE .EQU FDT_3HD ; FD 1: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
|
||||
;
|
||||
RFENABLE .EQU FALSE ; RF: ENABLE RAM FLOPPY DRIVER
|
||||
RFCNT .EQU 1 ; RF: NUMBER OF RAM FLOPPY UNITS (1-4)
|
||||
|
||||
@@ -185,9 +185,9 @@ FDENABLE .EQU FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .EQU FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]
|
||||
FDCNT .EQU 2 ; FD: NUMBER OF FLOPPY DRIVES ON THE INTERFACE (1-2)
|
||||
FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL)
|
||||
FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111]
|
||||
FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111]
|
||||
FDMAUTO .EQU TRUE ; FD: AUTO SELECT DEFAULT/ALTERNATE MEDIA FORMATS
|
||||
FD0TYPE .EQU FDT_3HD ; FD 0: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
|
||||
FD1TYPE .EQU FDT_3HD ; FD 1: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
|
||||
;
|
||||
RFENABLE .EQU FALSE ; RF: ENABLE RAM FLOPPY DRIVER
|
||||
;
|
||||
|
||||
@@ -195,9 +195,9 @@ FDENABLE .EQU FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .EQU FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]
|
||||
FDCNT .EQU 2 ; FD: NUMBER OF FLOPPY DRIVES ON THE INTERFACE (1-2)
|
||||
FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL)
|
||||
FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111]
|
||||
FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111]
|
||||
FDMAUTO .EQU TRUE ; FD: AUTO SELECT DEFAULT/ALTERNATE MEDIA FORMATS
|
||||
FD0TYPE .EQU FDT_3HD ; FD 0: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
|
||||
FD1TYPE .EQU FDT_3HD ; FD 1: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
|
||||
;
|
||||
RFENABLE .EQU FALSE ; RF: ENABLE RAM FLOPPY DRIVER
|
||||
;
|
||||
|
||||
@@ -189,9 +189,9 @@ FDENABLE .EQU FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .EQU FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]
|
||||
FDCNT .EQU 2 ; FD: NUMBER OF FLOPPY DRIVES ON THE INTERFACE (1-2)
|
||||
FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL)
|
||||
FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111]
|
||||
FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111]
|
||||
FDMAUTO .EQU TRUE ; FD: AUTO SELECT DEFAULT/ALTERNATE MEDIA FORMATS
|
||||
FD0TYPE .EQU FDT_3HD ; FD 0: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
|
||||
FD1TYPE .EQU FDT_3HD ; FD 1: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
|
||||
;
|
||||
RFENABLE .EQU FALSE ; RF: ENABLE RAM FLOPPY DRIVER
|
||||
;
|
||||
|
||||
@@ -169,9 +169,9 @@ FDENABLE .EQU FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .EQU FDMODE_N8 ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]
|
||||
FDCNT .EQU 2 ; FD: NUMBER OF FLOPPY DRIVES ON THE INTERFACE (1-2)
|
||||
FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL)
|
||||
FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111]
|
||||
FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111]
|
||||
FDMAUTO .EQU TRUE ; FD: AUTO SELECT DEFAULT/ALTERNATE MEDIA FORMATS
|
||||
FD0TYPE .EQU FDT_3HD ; FD 0: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
|
||||
FD1TYPE .EQU FDT_3HD ; FD 1: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
|
||||
;
|
||||
RFENABLE .EQU FALSE ; RF: ENABLE RAM FLOPPY DRIVER
|
||||
RFCNT .EQU 1 ; RF: NUMBER OF RAM FLOPPY UNITS (1-4)
|
||||
|
||||
@@ -163,14 +163,13 @@ MDRAM .EQU TRUE ; MD: ENABLE RAM DISK
|
||||
MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
MDFFENABLE .EQU FALSE ; MD: ENABLE FLASH FILE SYSTEM
|
||||
;
|
||||
;
|
||||
FDENABLE .EQU FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .EQU FDMODE_DIO3 ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]
|
||||
FDCNT .EQU 2 ; FD: NUMBER OF FLOPPY DRIVES ON THE INTERFACE (1-2)
|
||||
FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL)
|
||||
FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111]
|
||||
FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111]
|
||||
FDMAUTO .EQU TRUE ; FD: AUTO SELECT DEFAULT/ALTERNATE MEDIA FORMATS
|
||||
FD0TYPE .EQU FDT_3HD ; FD 0: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
|
||||
FD1TYPE .EQU FDT_3HD ; FD 1: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
|
||||
;
|
||||
RFENABLE .EQU FALSE ; RF: ENABLE RAM FLOPPY DRIVER
|
||||
RFCNT .EQU 1 ; RF: NUMBER OF RAM FLOPPY UNITS (1-4)
|
||||
|
||||
@@ -185,9 +185,9 @@ FDENABLE .EQU FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .EQU FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]
|
||||
FDCNT .EQU 2 ; FD: NUMBER OF FLOPPY DRIVES ON THE INTERFACE (1-2)
|
||||
FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL)
|
||||
FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111]
|
||||
FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111]
|
||||
FDMAUTO .EQU TRUE ; FD: AUTO SELECT DEFAULT/ALTERNATE MEDIA FORMATS
|
||||
FD0TYPE .EQU FDT_3HD ; FD 0: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
|
||||
FD1TYPE .EQU FDT_3HD ; FD 1: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
|
||||
;
|
||||
RFENABLE .EQU FALSE ; RF: ENABLE RAM FLOPPY DRIVER
|
||||
;
|
||||
|
||||
@@ -169,9 +169,9 @@ FDENABLE .EQU FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .EQU FDMODE_ZETA2 ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]
|
||||
FDCNT .EQU 1 ; FD: NUMBER OF FLOPPY DRIVES ON THE INTERFACE (1-2)
|
||||
FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL)
|
||||
FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111]
|
||||
FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111]
|
||||
FDMAUTO .EQU TRUE ; FD: AUTO SELECT DEFAULT/ALTERNATE MEDIA FORMATS
|
||||
FD0TYPE .EQU FDT_3HD ; FD 0: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
|
||||
FD1TYPE .EQU FDT_3HD ; FD 1: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
|
||||
;
|
||||
RFENABLE .EQU FALSE ; RF: ENABLE RAM FLOPPY DRIVER
|
||||
;
|
||||
|
||||
@@ -139,9 +139,9 @@ FDENABLE .EQU TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .EQU FDMODE_ZETA ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]
|
||||
FDCNT .EQU 1 ; FD: NUMBER OF FLOPPY DRIVES ON THE INTERFACE (1-2)
|
||||
FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL)
|
||||
FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111]
|
||||
FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111]
|
||||
FDMAUTO .EQU TRUE ; FD: AUTO SELECT DEFAULT/ALTERNATE MEDIA FORMATS
|
||||
FD0TYPE .EQU FDT_3HD ; FD 0: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
|
||||
FD1TYPE .EQU FDT_3HD ; FD 1: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
|
||||
;
|
||||
RFENABLE .EQU FALSE ; RF: ENABLE RAM FLOPPY DRIVER
|
||||
;
|
||||
|
||||
@@ -150,9 +150,9 @@ FDENABLE .EQU TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .EQU FDMODE_ZETA2 ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]
|
||||
FDCNT .EQU 1 ; FD: NUMBER OF FLOPPY DRIVES ON THE INTERFACE (1-2)
|
||||
FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL)
|
||||
FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111]
|
||||
FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111]
|
||||
FDMAUTO .EQU TRUE ; FD: AUTO SELECT DEFAULT/ALTERNATE MEDIA FORMATS
|
||||
FD0TYPE .EQU FDT_3HD ; FD 0: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
|
||||
FD1TYPE .EQU FDT_3HD ; FD 1: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
|
||||
;
|
||||
RFENABLE .EQU FALSE ; RF: ENABLE RAM FLOPPY DRIVER
|
||||
;
|
||||
|
||||
@@ -109,7 +109,7 @@ FRC_TOSEEKWT .EQU -15H ; EB
|
||||
; FD DEVICE CONFIGURATION
|
||||
;
|
||||
FD_DEVCNT .EQU FDCNT ; 2 DEVICES SUPPORTED
|
||||
FD_CFGSIZ .EQU 8 ; SIZE OF CFG TBL ENTRIES
|
||||
FD_CFGSIZ .EQU 9 ; SIZE OF CFG TBL ENTRIES
|
||||
;
|
||||
; PER DEVICE DATA OFFSETS
|
||||
; ; OFFSET OF...
|
||||
@@ -121,25 +121,28 @@ FD_HST .EQU 4 ; HOSTS SEEK POSITION
|
||||
FD_HSTTRK .EQU FD_HST + 0 ; HOST TRACK (WORD)
|
||||
FD_HSTSEC .EQU FD_HST + 2 ; HOST SECTOR (BYTE)
|
||||
FD_HSTHD .EQU FD_HST + 3 ; HOST HEAD (BYTE)
|
||||
FD_TYPE .EQU 8 ; FLOPPY DSIK TYPE (BYTE)
|
||||
;
|
||||
FD_CFGTBL:
|
||||
; DEVICE 0, PRIMARY MASTER
|
||||
.DB 0 ; DEVICE NUMBER
|
||||
.DB 0 ; DEVICE STATUS
|
||||
.DB FDMEDIA ; MEDIA TYPE
|
||||
.DB $FF ; CURRENT MEDIA TYPE (INIT TO NONE)
|
||||
.DB $FF ; CURRENT TRACK
|
||||
.DW 0 ; HOST TRACK
|
||||
.DB 0 ; HOST SECTOR
|
||||
.DB 0 ; HOST HEAD
|
||||
.DB FD0TYPE ; DRIVE TYPE
|
||||
#IF (FD_DEVCNT >= 2)
|
||||
; DEVICE 1, PRIMARY SLAVE
|
||||
.DB 1 ; DRIVER DEVICE NUMBER
|
||||
.DB 0 ; DEVICE STATUS
|
||||
.DB FDMEDIA ; MEDIA TYPE
|
||||
.DB $FF ; CURRENT MEDIA TYPE (INIT TO NONE)
|
||||
.DB $FF ; CURRENT TRACK
|
||||
.DW 0 ; HOST TRACK
|
||||
.DB 0 ; HOST SECTOR
|
||||
.DB 0 ; HOST HEAD
|
||||
.DB FD1TYPE ; DRIVE TYPE
|
||||
#ENDIF
|
||||
;
|
||||
#IF ($ - FD_CFGTBL) != (FD_DEVCNT * FD_CFGSIZ)
|
||||
@@ -199,6 +202,42 @@ FSST_ENTSIZ .EQU $ - FSST
|
||||
FSST_COUNT .EQU (($ - FSST) / FSST_ENTSIZ) ; # ENTRIES IN TABLE
|
||||
#ENDIF
|
||||
;
|
||||
; FDC DRIVE TYPE MEDIA OPTIONS
|
||||
;
|
||||
; THIS TABLE LISTS THE TYPES OF MEDIA THAT SHOULD BE ATTEMPTED
|
||||
; FOR EACH POSSIBLE DRIVE TYPE. THE ENTRIES MATCH THE ORDER OF THE
|
||||
; FDT_ VALUES DEFINED IN STD.ASM
|
||||
;
|
||||
FD_MEDIAMAP:
|
||||
.DW FDMM_NONE ; NO DRIVE TYPE
|
||||
.DW FDMM_3DD
|
||||
.DW FDMM_3HD
|
||||
.DW FDMM_5DD
|
||||
.DW FDMM_5HD
|
||||
.DW FDMM_8
|
||||
;
|
||||
FDMM_NONE .DB $FF
|
||||
FDMM_3DD .DB FDM720, $FF
|
||||
FDMM_3HD .DB FDM144, FDM720, $FF
|
||||
FDMM_5DD .DB FDM360, $FF
|
||||
FDMM_5HD .DB FDM120, FDM360, $FF
|
||||
FDMM_8 .DB FDM111, $FF
|
||||
;
|
||||
; FDC DRIVE TYPE ATTRIBUTES
|
||||
;
|
||||
; LOOKUP TABLE TO MAP THE DEVICE ATTRIBUTES BYTE RETURNED
|
||||
; BY THE FD_DEVICE FUNCTION BASED ON THE DRIVE TYPE.
|
||||
; THE ENTRIES MATCH THE ORDER OF THE
|
||||
; FDT_ VALUES DEFINED IN STD.ASM
|
||||
;
|
||||
FD_DEVATTR:
|
||||
.DB %11100000 ; DRIVE TYPE NONE
|
||||
.DB %11010100 ; DRIVE TYPE 3.5 DD
|
||||
.DB %11011000 ; DRIVE TYPE 3.5 HD
|
||||
.DB %10110100 ; DRIVE TYPE 5.25 DD
|
||||
.DB %10111000 ; DRIVE TYPE 5.25 HD
|
||||
.DB %10010100 ; DRIVE TYPE 8
|
||||
;
|
||||
; FDC COMMANDS
|
||||
;
|
||||
CFD_READ .EQU 00000110B ; CMD,HDS/DS,C,H,R,N,EOT,GPL,DTL --> ST0,ST1,ST2,C,H,R,N
|
||||
@@ -498,21 +537,11 @@ FD_DEFMED:
|
||||
FD_DEVICE:
|
||||
LD D,DIODEV_FD ; D := DEVICE TYPE
|
||||
LD E,(IY+FD_DEV) ; E := PHYSICAL DEVICE NUMBER
|
||||
#IF (FDMEDIA == FDM720)
|
||||
LD C,%11010100 ; 3.5" DS/DD
|
||||
#ENDIF
|
||||
#IF (FDMEDIA == FDM144)
|
||||
LD C,%11011000 ; 3.5" DS/HD
|
||||
#ENDIF
|
||||
#IF (FDMEDIA == FDM360)
|
||||
LD C,%10110100 ; 5.25" DS/DD
|
||||
#ENDIF
|
||||
#IF (FDMEDIA == FDM120)
|
||||
LD C,%10111000 ; 5.25" DS/HD
|
||||
#ENDIF
|
||||
#IF (FDMEDIA == FDM111)
|
||||
LD C,%10010100 ; 8" DS/DD
|
||||
#ENDIF
|
||||
|
||||
LD A,(IY+FD_TYPE) ; DRIVE TYPE
|
||||
LD HL,FD_DEVATTR ; DEVICE ATTR TABLE
|
||||
CALL ADDHLA ; POINT TO ENTRY
|
||||
LD C,(HL) ; GET IT
|
||||
LD H,FDMODE ; H := MODE
|
||||
LD L,FDC_MSR ; L := BASE I/O ADDRESS
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
@@ -527,9 +556,7 @@ FD_MEDIA:
|
||||
|
||||
#IF (FDMAUTO)
|
||||
; SETUP TO READ TRK 0, HD 0, SEC 0
|
||||
;LD A,C ; C STILL HAS REQUESTED DRIVE
|
||||
LD A,(IY+FD_DEV) ; GET DRIVE UNIT
|
||||
;AND 0FH
|
||||
LD (FCD_DS),A
|
||||
LD A,0
|
||||
LD (FCD_C),A
|
||||
@@ -538,53 +565,77 @@ FD_MEDIA:
|
||||
LD (FCD_R),A
|
||||
LD A,DOP_READID
|
||||
LD (FCD_DOP),A
|
||||
#ENDIF
|
||||
|
||||
#IF (FDTRACE < 3)
|
||||
|
||||
LD A,(IY+FD_TYPE) ; GET DRIVE TYPE VALUE
|
||||
;CALL PRTHEXBYTE ; *DEBUG*
|
||||
LD HL,FD_MEDIAMAP ; POINT TO MEDIA MAP TABLE
|
||||
ADD A,A ; TABLE IS WORD SIZED
|
||||
CALL ADDHLA ; LOOKUP ENTRY
|
||||
LD A,(HL) ; DEREFERENCE
|
||||
INC HL
|
||||
LD H,(HL)
|
||||
LD L,A
|
||||
|
||||
#IF (FDMAUTO)
|
||||
#IF (FDTRACE < 3)
|
||||
; SUPPRESS TRACING FOR MEDIA TESTS
|
||||
LD A,0
|
||||
LD (FCD_TRACE),A
|
||||
#ENDIF
|
||||
|
||||
LD B,5
|
||||
#ENDIF
|
||||
|
||||
LD B,5 ; 5 ATTEMPTS
|
||||
FD_MEDIARETRY:
|
||||
; TRY PRIMARY MEDIA CHOICE FIRST
|
||||
LD A,FDMEDIA
|
||||
CALL FD_TESTMEDIA
|
||||
JR Z,FD_MEDIA3 ; IF SUCCESS, WE ARE DONE
|
||||
|
||||
; TRY ALTERNATE MEDIA CHOICE
|
||||
LD A,FDMEDIAALT
|
||||
CALL FD_TESTMEDIA
|
||||
JR Z,FD_MEDIA3 ; IF SUCCESS, WE ARE DONE
|
||||
|
||||
DJNZ FD_MEDIARETRY
|
||||
PUSH HL ; SAVE MEDIA MAP PTR
|
||||
CALL FD_MEDIALOOP ; TRY IT
|
||||
POP HL ; RECOVER MEDIA MAP PTR
|
||||
JR Z,FD_MEDIA3 ; CONTINUE ON SUCCESS
|
||||
DJNZ FD_MEDIARETRY ; LOOP TILL DONE
|
||||
|
||||
FD_MEDIARETRY1:
|
||||
; NO JOY, RETURN WITH E=0 (NO MEDIA)
|
||||
;LD HL,(FDDS_MEDIAADR)
|
||||
;LD (HL),0 ; SET TO NO MEDIA
|
||||
LD (IY+FD_MEDTYP),0 ; SET DRIVE = NO MEDIA
|
||||
LD E,0
|
||||
LD (IY+FD_MEDTYP),$FF ; SET MEDIA TYPE TO UNDEFINED
|
||||
LD E,0 ; NO MEDIA FLAG
|
||||
LD A,ERR_NOMEDIA ; SIGNAL ERROR
|
||||
OR A ; SET FLAGS
|
||||
RET
|
||||
|
||||
FD_MEDIALOOP:
|
||||
LD A,(HL) ; LOAD NEXT MEDIA TYPE TO TRY
|
||||
CP $FF ; END OF MEDIA TYPES TO TRY?
|
||||
JR Z,FD_MEDIALOOP1 ; NO MORE TO TRY, LOOP EXIT
|
||||
CALL FD_TESTMEDIA ; TRY IT
|
||||
RET Z ; RETURN ON SUCCESS
|
||||
INC HL ; NEXT MEDIA TYPE TO TRY
|
||||
JR FD_MEDIALOOP ; LOOP
|
||||
FD_MEDIALOOP1:
|
||||
OR $FF ; SIGNAL FAILURE
|
||||
RET ; RETURN
|
||||
|
||||
FD_TESTMEDIA:
|
||||
;LD HL,(FDDS_MEDIAADR)
|
||||
;LD (HL),A
|
||||
;CALL PRTHEXBYTE ; *DEBUG*
|
||||
LD (IY+FD_MEDTYP),A
|
||||
PUSH HL
|
||||
PUSH BC
|
||||
CALL FD_START
|
||||
POP BC
|
||||
POP HL
|
||||
;CALL PRTHEXBYTE ; *DEBUG*
|
||||
RET
|
||||
|
||||
FD_MEDIA3:
|
||||
|
||||
#IF (FDTRACE < 3)
|
||||
#IF (FDTRACE < 3)
|
||||
; RESTORE TRACING FOR MEDIA TESTS
|
||||
LD A,FDTRACE
|
||||
LD (FCD_TRACE),A
|
||||
#ENDIF
|
||||
#ENDIF
|
||||
#ELSE
|
||||
|
||||
LD A,(HL)
|
||||
LD (IY+FD_MEDTYP),A
|
||||
|
||||
#ENDIF
|
||||
|
||||
FD_MEDIA4:
|
||||
@@ -778,7 +829,7 @@ FD_DETECT1:
|
||||
;
|
||||
FD_INITUNIT:
|
||||
LD (IY+FD_STAT),0 ; CLEAR STATUS
|
||||
LD (IY+FD_MEDTYP),FDMEDIA ; SET DEFAULT MEDIA TYPE
|
||||
LD (IY+FD_MEDTYP),$FF ; SET UNKNOWN MEDIA TYPE
|
||||
LD (IY+FD_CURTRK),$FE ; SPECIAL VALUE FOR CURTRK
|
||||
RET
|
||||
;
|
||||
@@ -1285,7 +1336,8 @@ FC_SETUPIO:
|
||||
LD (DE),A
|
||||
INC DE
|
||||
|
||||
LD A,(FCD_EOT)
|
||||
;LD A,(FCD_EOT)
|
||||
LD A,(FCD_R) ; READ ONLY ONE SECTOR
|
||||
LD (DE),A
|
||||
INC DE
|
||||
|
||||
@@ -1397,15 +1449,17 @@ FC_RESETFDC:
|
||||
; PULSE TERMCT TO TERMINATE ANY ACTIVE EXECUTION PHASE
|
||||
;
|
||||
FC_PULSETC:
|
||||
#IF ((FDMODE == FDMODE_DIDE) | (FDMODE == FDMODE_N8) | (FDMODE == FDMODE_ZETA2) | (FDMODE == FDMODE_RCWDC) | (FDMODE == FDMODE_DYNO) | (FDMODE == FDMODE_EPFDC) | (FDMODE == FDMODE_MBC))
|
||||
IN A,(FDC_TC)
|
||||
#ELSE
|
||||
LD A,(FST_DOR)
|
||||
SET 0,A
|
||||
OUT (FDC_DOR),A
|
||||
RES 0,A
|
||||
OUT (FDC_DOR),A
|
||||
#ENDIF
|
||||
; PULSING TC NO LONGER REQUIRED BECAUSE WE ONLY READ A SINGLE SECTOR
|
||||
;
|
||||
;#IF ((FDMODE == FDMODE_DIDE) | (FDMODE == FDMODE_N8) | (FDMODE == FDMODE_ZETA2) | (FDMODE == FDMODE_RCWDC) | (FDMODE == FDMODE_DYNO) | (FDMODE == FDMODE_EPFDC) | (FDMODE == FDMODE_MBC))
|
||||
; IN A,(FDC_TC)
|
||||
;#ELSE
|
||||
; LD A,(FST_DOR)
|
||||
; SET 0,A
|
||||
; OUT (FDC_DOR),A
|
||||
; RES 0,A
|
||||
; OUT (FDC_DOR),A
|
||||
;#ENDIF
|
||||
RET
|
||||
;
|
||||
; SET FST_DOR FOR MOTOR CONTROL ON
|
||||
@@ -1694,7 +1748,7 @@ FXR_TO: ; TIMEOUT
|
||||
;
|
||||
FXR_ABORT: ; EXECUTION ABORTED
|
||||
HB_EI ; INTERRUPTS OK AGAIN
|
||||
JR FOP_RES ; GET RSEULTS, NO NEED TO PULSE TC
|
||||
JR FOP_RES ; GET RESULTS, NO NEED TO PULSE TC
|
||||
;
|
||||
FXR_END: ; EXECUTION COMPLETED NORMALLY
|
||||
CALL FC_PULSETC ; PULSE TC TO END EXECUTION
|
||||
@@ -1828,7 +1882,9 @@ FOP_EVALST1:
|
||||
|
||||
LD C,FRC_ENDCYL
|
||||
BIT 7,A
|
||||
JR NZ,FOP_SETFST
|
||||
; THI IS NORMAL BECAUSE WE NOW READ ONLY A SINGLE SECTOR
|
||||
;JR NZ,FOP_SETFST
|
||||
JR NZ,FOP_EXIT
|
||||
|
||||
LD C,FRC_DATAERR
|
||||
BIT 5,A
|
||||
|
||||
@@ -92,6 +92,15 @@ FDM360 .EQU 2 ; 5.25" FLOPPY, 360KB, 2 SIDES, 40 TRKS, 9 SECTORS
|
||||
FDM120 .EQU 3 ; 5.25" FLOPPY, 1.2MB, 2 SIDES, 80 TRKS, 15 SECTORS
|
||||
FDM111 .EQU 4 ; 8" FLOPPY, 1.11MB, 2 SIDES, 74 TRKS, 15 SECTORS
|
||||
;
|
||||
; FLOPPY DISK TYPE
|
||||
;
|
||||
FDT_NONE .EQU 0 ; NONE
|
||||
FDT_3DD .EQU 1 ; 3.5" FLOPPY, DOUBLE DENSITY
|
||||
FDT_3HD .EQU 2 ; 3.5" FLOPPY, HIGH DENSITY
|
||||
FDT_5DD .EQU 3 ; 5.25" FLOPPY, DOUBLE DENSITY
|
||||
FDT_5HD .EQU 4 ; 5.25" FLOPPY, HIGH DNSITY
|
||||
FDT_8 .EQU 5 ; 8" FLOPPY, DOUBLE DENSITY
|
||||
;
|
||||
; ZILOG CTC MODE SELECTIONS
|
||||
;
|
||||
CTCMODE_NONE .EQU 0 ; NO CTC
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#DEFINE RMN 3
|
||||
#DEFINE RUP 0
|
||||
#DEFINE RTP 0
|
||||
#DEFINE BIOSVER "3.3.0-dev.3"
|
||||
#DEFINE BIOSVER "3.3.0-dev.4"
|
||||
#define rmj RMJ
|
||||
#define rmn RMN
|
||||
#define rup RUP
|
||||
|
||||
@@ -3,5 +3,5 @@ rmn equ 3
|
||||
rup equ 0
|
||||
rtp equ 0
|
||||
biosver macro
|
||||
db "3.3.0-dev.3"
|
||||
db "3.3.0-dev.4"
|
||||
endm
|
||||
|
||||
Reference in New Issue
Block a user