|
|
|
@ -48,6 +48,7 @@ |
|
|
|
; 2020-04-29: v5.5 ADDED SUPPORT FOR ETCHED PIXELS FDC |
|
|
|
; 2020-12-12: v5.6 UPDATED SMALLZ80 TO NEW I/O ADDRESSES |
|
|
|
; 2021-03-24: v5.7 ADDED SOME SINGLE-SIDED FORMATS |
|
|
|
; 2021-07-26: v5.8 ADDED SUPPORT MBC FDC |
|
|
|
; |
|
|
|
;_______________________________________________________________________________ |
|
|
|
; |
|
|
|
@ -83,6 +84,7 @@ FDC_RCWDC .EQU 7 |
|
|
|
FDC_SMZ80 .EQU 8 |
|
|
|
FDC_DYNO .EQU 9 |
|
|
|
FDC_EPFDC .EQU 10 |
|
|
|
FDC_MBC .EQU 11 |
|
|
|
; |
|
|
|
; FDC MODE |
|
|
|
; |
|
|
|
@ -217,7 +219,7 @@ INIT5: |
|
|
|
XOR A |
|
|
|
RET |
|
|
|
|
|
|
|
STR_BANNER .DB "Floppy Disk Utility (FDU) v5.7, 24-Mar-2021$" |
|
|
|
STR_BANNER .DB "Floppy Disk Utility (FDU) v5.8, 26-Jul-2021$" |
|
|
|
STR_BANNER2 .DB "Copyright (C) 2021, Wayne Warthen, GNU GPL v3","$" |
|
|
|
STR_HBIOS .DB " [HBIOS]$" |
|
|
|
STR_UBIOS .DB " [UBIOS]$" |
|
|
|
@ -289,6 +291,7 @@ FDCTBL: ; LABEL CONFIG DATA |
|
|
|
.DW STR_SMZ80, CFG_SMZ80 |
|
|
|
.DW STR_DYNO, CFG_DYNO |
|
|
|
.DW STR_EPFDC, CFG_EPFDC |
|
|
|
.DW STR_MBC, CFG_MBC |
|
|
|
FDCCNT .EQU ($-FDCTBL)/4 ; FD CONTROLLER COUNT |
|
|
|
; |
|
|
|
; FDC LABEL STRINGS |
|
|
|
@ -304,6 +307,7 @@ STR_RCWDC .TEXT "RC-WDC$" |
|
|
|
STR_SMZ80 .TEXT "SMZ80$" |
|
|
|
STR_DYNO .TEXT "DYNO$" |
|
|
|
STR_EPFDC .TEXT "EPFDC$" |
|
|
|
STR_MBC .TEXT "MBC$" |
|
|
|
; |
|
|
|
; FDC CONFIGURATION BLOCKS |
|
|
|
; |
|
|
|
@ -436,6 +440,17 @@ CFG_EPFDC: |
|
|
|
.DB 0FFH ; PSEUDO DMA DATA PORT |
|
|
|
.DB _PCAT ; MODE= |
|
|
|
; |
|
|
|
CFG_MBC: |
|
|
|
.DB 030H ; FDC MAIN STATUS REGISTER |
|
|
|
.DB 031H ; FDC DATA PORT |
|
|
|
.DB 0FFH ; DATA INPUT REGISTER |
|
|
|
.DB 036H ; DIGITAL OUTPUT REGISTER (WHEN WRITTEN) |
|
|
|
.DB 035H ; CONFIGURATION CONTROL REGISTER |
|
|
|
.DB 036H ; DACK (WHEN READ) |
|
|
|
.DB 037H ; TERMINAL COUNT (W/ DACK) |
|
|
|
.DB 0FFH ; NOT USED BY ZETA SBC V2 |
|
|
|
.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 |
|
|
|
@ -455,6 +470,7 @@ FSS_MENU: |
|
|
|
.TEXT " (I) SmallZ80 Expansion\r\n" |
|
|
|
.TEXT " (J) Dyno-Card FDC, D1030\r\n" |
|
|
|
.TEXT " (K) RC2014 EPFDC\r\n" |
|
|
|
.TEXT " (L) Multi-Board Computer FDC\r\n" |
|
|
|
.TEXT " (X) Exit\r\n" |
|
|
|
.TEXT "=== OPTION ===> $\r\n" |
|
|
|
; |
|
|
|
@ -1544,6 +1560,7 @@ MD_MAP: |
|
|
|
.DB %00000001 ; SMZ80 POLL |
|
|
|
.DB %00000001 ; DYNO POLL |
|
|
|
.DB %00000001 ; EPFDC POLL |
|
|
|
.DB %00000001 ; MBC POLL |
|
|
|
; |
|
|
|
; MEDIA DESCRIPTION BLOCK |
|
|
|
; |
|
|
|
@ -2004,7 +2021,7 @@ FM_DRAW0B: ; ZETA, DIO3 |
|
|
|
LD A,(FST_DOR) |
|
|
|
AND 00000010B |
|
|
|
JR FM_DRAW1 |
|
|
|
FM_DRAW0C: ; DIDE, N8, ZETA2, RCWDC, SMZ80, DYNO, EPFDC |
|
|
|
FM_DRAW0C: ; DIDE, N8, ZETA2, RCWDC, SMZ80, DYNO, EPFDC, MBC |
|
|
|
LD A,(FST_DOR) |
|
|
|
AND 11110000B |
|
|
|
JR FM_DRAW1 |
|
|
|
@ -2157,7 +2174,7 @@ FM_MOTOR0B: ; ZETA, DIO3 |
|
|
|
LD A,(FST_DOR) |
|
|
|
AND 00000010B |
|
|
|
JR FM_MOTOR1 |
|
|
|
FM_MOTOR0C: ; DIDE, N8, ZETA2, RCWDC, SMZ80, DYNO, EPFDC |
|
|
|
FM_MOTOR0C: ; DIDE, N8, ZETA2, RCWDC, SMZ80, DYNO, EPFDC, MBC |
|
|
|
LD A,(FST_DOR) |
|
|
|
AND 11110000B |
|
|
|
JR FM_MOTOR1 |
|
|
|
@ -2896,7 +2913,7 @@ FC_INIT1: ; DIO |
|
|
|
FC_INIT2: ; ZETA, DIO3 |
|
|
|
LD A,(FCD_DORB) |
|
|
|
JR FC_INIT5 |
|
|
|
FC_INIT3: ; DIDE, N8, ZETA2, RCWDC, SMZ80, DYNO, EPFDC |
|
|
|
FC_INIT3: ; DIDE, N8, ZETA2, RCWDC, SMZ80, DYNO, EPFDC, MBC |
|
|
|
LD A,(FCD_DORC) |
|
|
|
JR FC_INIT5 |
|
|
|
FC_INIT4: ; WDSMC |
|
|
|
@ -2940,7 +2957,7 @@ FC_RESETFDC1: ; ZETA, DIO3, RCSMC |
|
|
|
POP AF |
|
|
|
OUT (C),A |
|
|
|
JR FC_RESETFDC3 |
|
|
|
FC_RESETFDC2: ; DIDE, N8, ZETA2, RCWDC, SMZ80, DYNO, EPFDC |
|
|
|
FC_RESETFDC2: ; DIDE, N8, ZETA2, RCWDC, SMZ80, DYNO, EPFDC, MBC |
|
|
|
LD A,0 |
|
|
|
OUT (C),A |
|
|
|
LD A,(FST_DOR) |
|
|
|
@ -2967,7 +2984,7 @@ FC_PULSETC: |
|
|
|
;RES 0,A |
|
|
|
;OUT (C),A |
|
|
|
;JR FC_PULSETC2 |
|
|
|
;FC_PULSETC1: ; DIDE, N8, ZETA2, RCWDC, SMZ80, DYNO, EPFDC |
|
|
|
;FC_PULSETC1: ; DIDE, N8, ZETA2, RCWDC, SMZ80, DYNO, EPFDC, MBC |
|
|
|
;LD C,(IY+CFG_TC) |
|
|
|
;IN A,(C) |
|
|
|
;JR FC_PULSETC2 |
|
|
|
@ -2999,7 +3016,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, EPFDC |
|
|
|
FC_MOTORON3: ; DIDE, N8, ZETA2, RCWDC, SMZ80, DYNO, EPFDC, MBC |
|
|
|
LD HL,FST_DOR ; POINT TO FDC_DOR |
|
|
|
LD A,(HL) ; START WITH CURRENT DOR |
|
|
|
AND 11111100B ; GET RID OF ANY ACTIVE DS BITS |
|
|
|
@ -3063,7 +3080,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, EPFDC |
|
|
|
FC_MOTOROFF3: ; DIDE, N8, ZETA2, RCWDC, SMZ80, DYNO, EPFDC, MBC |
|
|
|
LD HL,FST_DOR ; POINT TO FDC_DOR |
|
|
|
LD A,DORC_INIT |
|
|
|
LD (HL),A |
|
|
|
@ -3933,7 +3950,7 @@ DORB_BR500 .EQU 10100000B ; 500KBPS |
|
|
|
; |
|
|
|
DORB_INIT .EQU DORB_BR250 |
|
|
|
; |
|
|
|
; *** DIDE/N8/ZETA2/RCWDC/SMZ80/DYNO/EPFDC *** |
|
|
|
; *** DIDE/N8/ZETA2/RCWDC/SMZ80/DYNO/EPFDC/MBC *** |
|
|
|
; |
|
|
|
DORC_INIT .EQU 00001100B ; SOFT RESET INACTIVE, DMA ENABLED |
|
|
|
; |
|
|
|
|