|
|
|
@ -319,7 +319,7 @@ MD_RDSECF: ; CALLED FROM MD_RW |
|
|
|
; WHICH WAS SETUP BY MD_IOSETUPF |
|
|
|
; |
|
|
|
LD IX,MD_F4KBUF ; SET DESTINATION ADDRESS |
|
|
|
LD BC,MD_FREAD_R ; PUT ROUTINE TO CALL |
|
|
|
LD HL,MD_FREAD_R ; PUT ROUTINE TO CALL |
|
|
|
CALL MD_FNCALL ; EXECUTE: READ 4K SECTOR |
|
|
|
; |
|
|
|
MD_SECM: |
|
|
|
@ -426,11 +426,11 @@ MD_WRSECF: ; CALLED FROM MD_RW |
|
|
|
CALL MD_CALBAS ; SETUP BANK AND SECTOR |
|
|
|
; |
|
|
|
LD IX,MD_F4KBUF ; SET DESTINATION ADDRESS |
|
|
|
LD BC,MD_FREAD_R ; PUT ROUTINE TO CALL |
|
|
|
LD HL,MD_FREAD_R ; PUT ROUTINE TO CALL |
|
|
|
CALL MD_FNCALL ; EXECUTE: READ 4K SECTOR |
|
|
|
; |
|
|
|
MD_SECM1: ; DESIRED SECTOR IS IN BUFFER |
|
|
|
LD BC,MD_FERAS_R ; PUT ROUTINE TO CALL |
|
|
|
LD HL,MD_FERAS_R ; PUT ROUTINE TO CALL |
|
|
|
CALL MD_FNCALL ; EXECUTE: ERASE 4K SECTOR |
|
|
|
OR A |
|
|
|
RET NZ ; RETURN IF ERROR |
|
|
|
@ -452,25 +452,25 @@ MD_SECM1: ; DESIRED SECTOR IS IN BUFFER |
|
|
|
LDIR ; THE DISK BUFFER TO 4K SECTOR |
|
|
|
; |
|
|
|
LD IX,MD_F4KBUF ; SET SOURCE ADDRESS |
|
|
|
LD BC,MD_FWRIT_R ; PUT ROUTINE TO CALL |
|
|
|
LD HL,MD_FWRIT_R ; PUT ROUTINE TO CALL |
|
|
|
CALL MD_FNCALL ; EXECUTE: WRITE 4K SECTOR |
|
|
|
; |
|
|
|
XOR A ; PRESUME SUCCESS STATUS |
|
|
|
; |
|
|
|
#IF (MD_FVAR==1) |
|
|
|
LD IX,MD_F4KBUF ; SET SOURCE ADDRESS |
|
|
|
LD BC,MD_FVERI_R ; PUT ROUTINE TO CALL |
|
|
|
LD HL,MD_FVERI_R ; PUT ROUTINE TO CALL |
|
|
|
CALL MD_FNCALL ; EXECUTE: VERIFY 4K SECTOR |
|
|
|
; |
|
|
|
OR A |
|
|
|
RET Z ; RETURN IF SUCCESSFUL |
|
|
|
; |
|
|
|
LD IX,MD_F4KBUF ; SET SOURCE ADDRESS ; RETRY |
|
|
|
LD BC,MD_FWRIT_R ; PUT ROUTINE TO CALL ; WRITE |
|
|
|
LD HL,MD_FWRIT_R ; PUT ROUTINE TO CALL ; WRITE |
|
|
|
CALL MD_FNCALL ; EXECUTE: WRITE 4K SECTOR ; ONCE |
|
|
|
; |
|
|
|
LD IX,MD_F4KBUF ; SET SOURCE ADDRESS ; VERIFY |
|
|
|
LD BC,MD_FVERI_R ; PUT ROUTINE TO CALL ; AGAIN |
|
|
|
LD HL,MD_FVERI_R ; PUT ROUTINE TO CALL ; AGAIN |
|
|
|
CALL MD_FNCALL ; EXECUTE: VERIFY 4K SECTOR |
|
|
|
; |
|
|
|
OR A ; SET FINAL STATUS AFTER RETRY |
|
|
|
@ -716,11 +716,11 @@ MD_PROBE: |
|
|
|
LD A,'=' ; NUMBER |
|
|
|
CALL COUT |
|
|
|
#ENDIF |
|
|
|
PUSH HL |
|
|
|
CALL MD_CALBAS ; SETUP BANK AND SECTOR |
|
|
|
LD BC,MD_FIDENT_R ; PUT ROUTINE TO CALL |
|
|
|
LD HL,MD_FIDENT_R ; PUT ROUTINE TO CALL |
|
|
|
CALL MD_FNCALL ; EXECUTE: IDENTIFY FLASH CHIP |
|
|
|
|
|
|
|
PUSH HL |
|
|
|
LD HL,MD_TGTDEV ; IF WE MATCH WITH |
|
|
|
XOR A ; A NON 39SF040 |
|
|
|
SBC HL,BC ; CHIP SET THE |
|
|
|
@ -836,12 +836,7 @@ FF_NXT2: |
|
|
|
; RETURN WITH ID CODE. |
|
|
|
;====================================================================== |
|
|
|
; |
|
|
|
MD_FNCALL: |
|
|
|
PUSH HL ; USING HBX_BUF FOR CODE AREA |
|
|
|
PUSH DE |
|
|
|
|
|
|
|
PUSH BC ; GET ROUTINE TO CALL |
|
|
|
POP HL |
|
|
|
MD_FNCALL: ; USING HBX_BUF FOR CODE AREA |
|
|
|
; |
|
|
|
LD DE,HBX_BUF ; EXECUTE / START ADDRESS |
|
|
|
LD BC,MD_CSIZE ; CODE SIZE. MAXIMUM 64 BYTES |
|
|
|
@ -881,8 +876,6 @@ MD_FNCALL: |
|
|
|
#ENDIF |
|
|
|
; |
|
|
|
LD A,C ; RETURN WITH STATUS IN A |
|
|
|
POP DE |
|
|
|
POP HL |
|
|
|
RET ; RETURN TO MD_READF, MD_WRITEF |
|
|
|
; |
|
|
|
MD_SAVSTK .DW 0 |
|
|
|
|