|
|
@ -10,7 +10,7 @@ |
|
|
;-------------------------------------------------------------------------------------------------- |
|
|
;-------------------------------------------------------------------------------------------------- |
|
|
; 0x00 MEMORY DISK 0x02 RAM DRIVE %00101000 HD STYLE, NON-REMOVABLE, TYPE-RAM |
|
|
; 0x00 MEMORY DISK 0x02 RAM DRIVE %00101000 HD STYLE, NON-REMOVABLE, TYPE-RAM |
|
|
; 0x00 MEMORY DISK 0x01 ROM DRIVE %00100000 HD STYLE, NON-REMOVABLE, TYPE-ROM |
|
|
; 0x00 MEMORY DISK 0x01 ROM DRIVE %00100000 HD STYLE, NON-REMOVABLE, TYPE-ROM |
|
|
; 0x00 MEMORY DISK 0x0B FLASH DRIVE %00111000 HD STYLE, NON-REMOVABLE, TYPE-FLASH |
|
|
|
|
|
|
|
|
; 0x00 MEMORY DISK 0x01 FLASH DRIVE %00111000 HD STYLE, NON-REMOVABLE, TYPE-FLASH |
|
|
; |
|
|
; |
|
|
MD_DEVCNT .EQU 2 ; NUMBER OF MD DEVICES SUPPORTED |
|
|
MD_DEVCNT .EQU 2 ; NUMBER OF MD DEVICES SUPPORTED |
|
|
MD_CFGSIZ .EQU 8 ; SIZE OF CFG TBL ENTRIES |
|
|
MD_CFGSIZ .EQU 8 ; SIZE OF CFG TBL ENTRIES |
|
|
@ -67,9 +67,7 @@ MD_INIT: |
|
|
LD A,(FF_RW) ; IF FLASH |
|
|
LD A,(FF_RW) ; IF FLASH |
|
|
OR A ; FILESYSTEM |
|
|
OR A ; FILESYSTEM |
|
|
JR NZ,MD_IN1 ; CAPABLE, |
|
|
JR NZ,MD_IN1 ; CAPABLE, |
|
|
LD A,MID_MDFSH ; UPDATE ROM DIO |
|
|
|
|
|
LD (MD_CFGTBL + MD_CFGSIZ + MD_MID),A |
|
|
|
|
|
LD A,MD_AFSH |
|
|
|
|
|
|
|
|
LD A,MD_AFSH ; UPDATE ROM DIO |
|
|
LD (MD_CFGTBL + MD_CFGSIZ + MD_ATTRIB),A |
|
|
LD (MD_CFGTBL + MD_CFGSIZ + MD_ATTRIB),A |
|
|
MD_IN1: |
|
|
MD_IN1: |
|
|
LD BC,MD_FNTBL |
|
|
LD BC,MD_FNTBL |
|
|
@ -214,24 +212,23 @@ MD_SEEK: |
|
|
MD_READ: |
|
|
MD_READ: |
|
|
CALL HB_DSKREAD ; HOOK HBIOS DISK READ SUPERVISOR |
|
|
CALL HB_DSKREAD ; HOOK HBIOS DISK READ SUPERVISOR |
|
|
; |
|
|
; |
|
|
LD A,(IY+MD_MID) ; GET ADR OF SECTOR READ FUNC |
|
|
|
|
|
|
|
|
LD A,(IY+MD_ATTRIB) ; GET ADR OF SECTOR READ FUNC |
|
|
LD BC,MD_RDSECF ; |
|
|
LD BC,MD_RDSECF ; |
|
|
CP MID_MDFSH ; RAM / ROM = MD_RDSEC |
|
|
|
|
|
|
|
|
CP MD_AFSH ; RAM / ROM = MD_RDSEC |
|
|
JR Z,MD_RD1 ; FLASH = MD_RDSECF |
|
|
JR Z,MD_RD1 ; FLASH = MD_RDSECF |
|
|
LD BC,MD_RDSEC |
|
|
LD BC,MD_RDSEC |
|
|
MD_RD1: |
|
|
MD_RD1: |
|
|
LD (MD_RWFNADR),BC ; SAVE IT AS PENDING IO FUNC |
|
|
LD (MD_RWFNADR),BC ; SAVE IT AS PENDING IO FUNC |
|
|
JR MD_RW ; CONTINUE TO GENERIC R/W ROUTINE |
|
|
JR MD_RW ; CONTINUE TO GENERIC R/W ROUTINE |
|
|
|
|
|
|
|
|
; |
|
|
; |
|
|
; |
|
|
; |
|
|
; |
|
|
; |
|
|
MD_WRITE: |
|
|
MD_WRITE: |
|
|
CALL HB_DSKWRITE ; HOOK HBIOS DISK WRITE SUPERVISOR |
|
|
CALL HB_DSKWRITE ; HOOK HBIOS DISK WRITE SUPERVISOR |
|
|
; |
|
|
; |
|
|
LD A,(IY+MD_MID) ; GET ADR OF SECTOR WRITE FUNC |
|
|
|
|
|
|
|
|
LD A,(IY+MD_ATTRIB) ; GET ADR OF SECTOR WRITE FUNC |
|
|
LD BC,MD_WRSECF ; |
|
|
LD BC,MD_WRSECF ; |
|
|
CP MID_MDFSH ; RAM / ROM = MD_WRSEC |
|
|
|
|
|
|
|
|
CP MD_AFSH ; RAM / ROM = MD_WRSEC |
|
|
JR Z,MD_WR1 ; FLASH = MD_WRSECF |
|
|
JR Z,MD_WR1 ; FLASH = MD_WRSECF |
|
|
LD BC,MD_WRSEC |
|
|
LD BC,MD_WRSEC |
|
|
MD_WR1: |
|
|
MD_WR1: |
|
|
|