|
|
|
@ -45,6 +45,7 @@ |
|
|
|
; - USE EOT=R TO END R/W AFTER ONE SECTOR INSTEAD |
|
|
|
; OF USING PULSE TC |
|
|
|
; 2020-01-05: V5.4 ADDED SUPPORT FOR DYNO FDC |
|
|
|
; 2020-04-29: v5.5 ADDED SUPPORT FOR ETCHED PIXELS FDC |
|
|
|
; |
|
|
|
;_______________________________________________________________________________ |
|
|
|
; |
|
|
|
@ -79,6 +80,7 @@ FDC_RCSMC .EQU 6 |
|
|
|
FDC_RCWDC .EQU 7 |
|
|
|
FDC_SMZ80 .EQU 8 |
|
|
|
FDC_DYNO .EQU 9 |
|
|
|
FDC_EPFDC .EQU 10 |
|
|
|
; |
|
|
|
; FDC MODE |
|
|
|
; |
|
|
|
@ -213,7 +215,7 @@ INIT5: |
|
|
|
XOR A |
|
|
|
RET |
|
|
|
|
|
|
|
STR_BANNER .DB "Floppy Disk Utility (FDU) v5.4, 05-jAN-2020$" |
|
|
|
STR_BANNER .DB "Floppy Disk Utility (FDU) v5.5, 29-Apr-2020$" |
|
|
|
STR_BANNER2 .DB "Copyright (C) 2020, Wayne Warthen, GNU GPL v3","$" |
|
|
|
STR_HBIOS .DB " [HBIOS]$" |
|
|
|
STR_UBIOS .DB " [UBIOS]$" |
|
|
|
@ -284,6 +286,7 @@ FDCTBL: ; LABEL CONFIG DATA |
|
|
|
.DW STR_RCWDC, CFG_RCWDC |
|
|
|
.DW STR_SMZ80, CFG_SMZ80 |
|
|
|
.DW STR_DYNO, CFG_DYNO |
|
|
|
.DW STR_EPFDC, CFG_EPFDC |
|
|
|
FDCCNT .EQU ($-FDCTBL)/4 ; FD CONTROLLER COUNT |
|
|
|
; |
|
|
|
; FDC LABEL STRINGS |
|
|
|
@ -298,6 +301,7 @@ STR_RCSMC .TEXT "RC-SMC$" |
|
|
|
STR_RCWDC .TEXT "RC-WDC$" |
|
|
|
STR_SMZ80 .TEXT "SMZ80$" |
|
|
|
STR_DYNO .TEXT "DYNO$" |
|
|
|
STR_EPFDC .TEXT "EPFDC$" |
|
|
|
; |
|
|
|
; FDC CONFIGURATION BLOCKS |
|
|
|
; |
|
|
|
@ -419,6 +423,17 @@ CFG_DYNO: |
|
|
|
.DB 0FFH ; PSEUDO DMA DATA PORT |
|
|
|
.DB _PCAT ; MODE= |
|
|
|
; |
|
|
|
CFG_EPFDC: |
|
|
|
.DB 048H ; FDC MAIN STATUS REGISTER |
|
|
|
.DB 049H ; FDC DATA PORT |
|
|
|
.DB 0FFH ; DATA INPUT REGISTER |
|
|
|
.DB 04AH ; DIGITAL OUTPUT REGISTER (LATCH) |
|
|
|
.DB 04BH ; DCR |
|
|
|
.DB 0FFH ; DACK |
|
|
|
.DB 04CH ; TERMINAL COUNT (W/ DACK) |
|
|
|
.DB 0FFH ; PSEUDO DMA DATA PORT |
|
|
|
.DB _PCAT ; MODE= |
|
|
|
; |
|
|
|
FDCID .DB 0 ; FDC IDENTIFIER (0 INDEXED) |
|
|
|
FDCBM .DB 0 ; FDC ID BITMAP |
|
|
|
FDCLBL .DW 0 ; POINTER TO ACTIVE FDC LABEL STRING |
|
|
|
@ -437,6 +452,7 @@ FSS_MENU: |
|
|
|
.TEXT " (H) RC2014 WDC (SMB)\r\n" |
|
|
|
.TEXT " (I) SmallZ80 Expansion\r\n" |
|
|
|
.TEXT " (J) Dyno-Card FDC, D1030\r\n" |
|
|
|
.TEXT " (K) RC2014 EPFDC\r\n" |
|
|
|
.TEXT " (X) Exit\r\n" |
|
|
|
.TEXT "=== OPTION ===> $\r\n" |
|
|
|
; |
|
|
|
@ -1517,6 +1533,7 @@ MD_MAP: |
|
|
|
.DB %00000001 ; RCWDC POLL |
|
|
|
.DB %00000001 ; SMZ80 POLL |
|
|
|
.DB %00000001 ; DYNO POLL |
|
|
|
.DB %00000001 ; EPFDC POLL |
|
|
|
; |
|
|
|
; MEDIA DESCRIPTION BLOCK |
|
|
|
; |
|
|
|
@ -1877,7 +1894,7 @@ FM_DRAW0B: ; ZETA, DIO3 |
|
|
|
LD A,(FST_DOR) |
|
|
|
AND 00000010B |
|
|
|
JR FM_DRAW1 |
|
|
|
FM_DRAW0C: ; DIDE, N8, ZETA2, RCWDC, SMZ80, DYNO |
|
|
|
FM_DRAW0C: ; DIDE, N8, ZETA2, RCWDC, SMZ80, DYNO, EPFDC |
|
|
|
LD A,(FST_DOR) |
|
|
|
AND 11110000B |
|
|
|
JR FM_DRAW1 |
|
|
|
@ -2030,7 +2047,7 @@ FM_MOTOR0B: ; ZETA, DIO3 |
|
|
|
LD A,(FST_DOR) |
|
|
|
AND 00000010B |
|
|
|
JR FM_MOTOR1 |
|
|
|
FM_MOTOR0C: ; DIDE, N8, ZETA2, RCWDC, SMZ80, DYNO |
|
|
|
FM_MOTOR0C: ; DIDE, N8, ZETA2, RCWDC, SMZ80, DYNO, EPFDC |
|
|
|
LD A,(FST_DOR) |
|
|
|
AND 11110000B |
|
|
|
JR FM_MOTOR1 |
|
|
|
@ -2769,7 +2786,7 @@ FC_INIT1: ; DIO |
|
|
|
FC_INIT2: ; ZETA, DIO3 |
|
|
|
LD A,(FCD_DORB) |
|
|
|
JR FC_INIT5 |
|
|
|
FC_INIT3: ; DIDE, N8, ZETA2, RCWDC, SMZ80, DYNO |
|
|
|
FC_INIT3: ; DIDE, N8, ZETA2, RCWDC, SMZ80, DYNO, EPFDC |
|
|
|
LD A,(FCD_DORC) |
|
|
|
JR FC_INIT5 |
|
|
|
FC_INIT4: ; WDSMC |
|
|
|
@ -2813,7 +2830,7 @@ FC_RESETFDC1: ; ZETA, DIO3, RCSMC |
|
|
|
POP AF |
|
|
|
OUT (C),A |
|
|
|
JR FC_RESETFDC3 |
|
|
|
FC_RESETFDC2: ; DIDE, N8, ZETA2, RCWDC, SMZ80, DYNO |
|
|
|
FC_RESETFDC2: ; DIDE, N8, ZETA2, RCWDC, SMZ80, DYNO, EPFDC |
|
|
|
LD A,0 |
|
|
|
OUT (C),A |
|
|
|
LD A,(FST_DOR) |
|
|
|
@ -2840,7 +2857,7 @@ FC_PULSETC: |
|
|
|
;RES 0,A |
|
|
|
;OUT (C),A |
|
|
|
;JR FC_PULSETC2 |
|
|
|
;FC_PULSETC1: ; DIDE, N8, ZETA2, RCWDC, SMZ80, DYNO |
|
|
|
;FC_PULSETC1: ; DIDE, N8, ZETA2, RCWDC, SMZ80, DYNO, EPFDC |
|
|
|
;LD C,(IY+CFG_TC) |
|
|
|
;IN A,(C) |
|
|
|
;JR FC_PULSETC2 |
|
|
|
@ -2872,7 +2889,7 @@ FC_MOTORON2: ; ZETA, DIO3 |
|
|
|
LD HL,FST_DOR ; POINT TO FDC_DOR |
|
|
|
SET 1,(HL) |
|
|
|
JR FC_MOTORON5 |
|
|
|
FC_MOTORON3: ; DIDE, N8, ZETA2, RCWDC, SMZ80, DYNO |
|
|
|
FC_MOTORON3: ; DIDE, N8, ZETA2, RCWDC, SMZ80, DYNO, EPFDC |
|
|
|
LD HL,FST_DOR ; POINT TO FDC_DOR |
|
|
|
LD A,(HL) ; START WITH CURRENT DOR |
|
|
|
AND 11111100B ; GET RID OF ANY ACTIVE DS BITS |
|
|
|
@ -2936,7 +2953,7 @@ FC_MOTOROFF2: ; ZETA, DIO3 |
|
|
|
LD HL,FST_DOR ; POINT TO FDC_DOR |
|
|
|
RES 1,(HL) |
|
|
|
JR FC_MOTOROFF5 |
|
|
|
FC_MOTOROFF3: ; DIDE, N8, ZETA2, RCWDC, SMZ80, DYNO |
|
|
|
FC_MOTOROFF3: ; DIDE, N8, ZETA2, RCWDC, SMZ80, DYNO, EPFDC |
|
|
|
LD HL,FST_DOR ; POINT TO FDC_DOR |
|
|
|
LD A,DORC_INIT |
|
|
|
LD (HL),A |
|
|
|
@ -3806,7 +3823,7 @@ DORB_BR500 .EQU 10100000B ; 500KBPS |
|
|
|
; |
|
|
|
DORB_INIT .EQU DORB_BR250 |
|
|
|
; |
|
|
|
; *** DIDE/N8/ZETA2/RCWDC/SMZ80/DYNO *** |
|
|
|
; *** DIDE/N8/ZETA2/RCWDC/SMZ80/DYNO/EPFDC *** |
|
|
|
; |
|
|
|
DORC_INIT .EQU 00001100B ; SOFT RESET INACTIVE, DMA ENABLED |
|
|
|
; |
|
|
|
|