|
|
|
@ -378,6 +378,8 @@ MD_SECM1: ; DESIRED SECTOR IS IN BUFFER |
|
|
|
PUSH IX |
|
|
|
CALL MD_FERAS ; ERASE 4K SECTOR |
|
|
|
POP IX |
|
|
|
OR A |
|
|
|
RET NZ ; RETURN IF ERROR |
|
|
|
; |
|
|
|
PUSH HL |
|
|
|
PUSH DE |
|
|
|
@ -405,9 +407,9 @@ MD_SECM1: ; DESIRED SECTOR IS IN BUFFER |
|
|
|
LD IX,MD_F4KBUF ; WRITE THE SECTOR |
|
|
|
CALL MD_FWRIT |
|
|
|
POP IX |
|
|
|
|
|
|
|
; |
|
|
|
XOR A |
|
|
|
|
|
|
|
; |
|
|
|
RET |
|
|
|
; |
|
|
|
MD_LBA4K .DW $FFFF ; LBA OF CURRENT SECTOR |
|
|
|
@ -613,7 +615,7 @@ MDSTR_LEN .TEXT "LEN=$" |
|
|
|
;================================================================================================== |
|
|
|
; |
|
|
|
#IF (MDFFENABLE) |
|
|
|
FF_TGT .EQU 0B7BFH ; TARGET CHIP FOR R/W FILESYSTEM |
|
|
|
MD_TGTDEV .EQU 0B7BFH ; TARGET CHIP FOR R/W FILESYSTEM 39SF040 |
|
|
|
; |
|
|
|
;====================================================================== |
|
|
|
; BIOS FLASH INITIALIZATION |
|
|
|
@ -624,7 +626,7 @@ FF_TGT .EQU 0B7BFH ; TARGET CHIP FOR R/W FILESYSTEM |
|
|
|
; |
|
|
|
MD_FINIT: |
|
|
|
LD A,+(ROMSIZE/512) ; DISLAY NUMBER |
|
|
|
#IF (MD_FVBS==1) |
|
|
|
#IF (MD_FVBS==1) |
|
|
|
CALL NEWLINE ; OF UNITS |
|
|
|
PRTS("MD: FLASH=$") |
|
|
|
CALL PRTDECB ; CONFIGURED FOR. |
|
|
|
@ -638,7 +640,7 @@ FF_PROBE: |
|
|
|
LD L,D ; ON EACH CYCLE THROUGH |
|
|
|
; |
|
|
|
PUSH BC |
|
|
|
#IF (MD_FVBS==1) |
|
|
|
#IF (MD_FVBS==1) |
|
|
|
CALL PC_SPACE |
|
|
|
LD A,+(ROMSIZE/512)+1 |
|
|
|
SUB B ; PRINT |
|
|
|
@ -650,8 +652,7 @@ FF_PROBE: |
|
|
|
|
|
|
|
PUSH HL |
|
|
|
; PUSH DE |
|
|
|
LD HL,FF_TGT ; IF WE MATCH WITH |
|
|
|
; LD L,FF_TGT&$FF |
|
|
|
LD HL,MD_TGTDEV ; IF WE MATCH WITH |
|
|
|
XOR A ; A NON 39SF040 |
|
|
|
SBC HL,BC ; CHIP SET THE |
|
|
|
LD A,(MD_FFSEN) ; R/W FLAG TO R/O |
|
|
|
@ -905,7 +906,7 @@ MD_I_SZ .EQU $-MD_FIDENT_R ; SIZE OF RELOCATABLE CODE BUFFER REQUIRED |
|
|
|
; RETURN WITH STATUS CODE. |
|
|
|
; |
|
|
|
; ON ENTRY DE:HL POINTS TO AN ADDRESS IDENTIFYING THE CHIP |
|
|
|
; ON EXIT A RETURNS STATUS FLASH 0=SUCCESS FF=FAIL |
|
|
|
; ON EXIT A RETURNS STATUS 0=SUCCESS NZ=FAIL |
|
|
|
;====================================================================== |
|
|
|
; |
|
|
|
MD_FERAS: |
|
|
|
@ -928,7 +929,7 @@ MD_FERAS: |
|
|
|
; |
|
|
|
; ON ENTRY BC CONTAINS BANK AND SECTOR DATA |
|
|
|
; A CONTAINS CURRENT BANK |
|
|
|
; ON EXIT A RETURNS STATUS FLASH 0=SUCCESS FAIL=NZ |
|
|
|
; ON EXIT C RETURNS STATUS 0=SUCCESS NZ=FAIL |
|
|
|
;====================================================================== |
|
|
|
; |
|
|
|
MD_FERAS_R: ; THIS CODE GETS RELOCATED TO HIGH MEMORY |
|
|
|
@ -1005,6 +1006,7 @@ MD_S_SZ .EQU $-MD_FERAS_R ; SIZE OF RELOCATABLE CODE BUFFER REQUIRED |
|
|
|
; |
|
|
|
; ON ENTRY DE:HL POINTS TO A 32 BIT MEMORY ADDRESS. |
|
|
|
; IX POINTS TO WHERE TO SAVE DATA |
|
|
|
; ON EXIT NO STATUS IS RETURNED |
|
|
|
;====================================================================== |
|
|
|
; |
|
|
|
MD_FREAD: |
|
|
|
@ -1088,6 +1090,7 @@ MD_R_SZ .EQU $-MD_FREAD_R ; SIZE OF RELOCATABLE CODE BUFFER REQUIRED |
|
|
|
; |
|
|
|
; ON ENTRY DE:HL POINTS TO A 32 BIT MEMORY ADDRESS. |
|
|
|
; IX POINTS TO DATA TO BE WRITTEN |
|
|
|
; ON EXIT NO STATUS IS RETURNED |
|
|
|
;====================================================================== |
|
|
|
; |
|
|
|
MD_FWRIT: |
|
|
|
@ -1118,7 +1121,7 @@ MD_FWRIT: |
|
|
|
; IX POINTS TO DATA TO BE WRITTEN |
|
|
|
; DE = 0000 BYTE COUNT |
|
|
|
; A CONTAINS CURRENT BANK |
|
|
|
; ON EXIT A RETURNS STATUS FLASH 0=SUCCESS FF=FAIL |
|
|
|
; ON EXIT NO STATUS IS RETURNED |
|
|
|
;====================================================================== |
|
|
|
; |
|
|
|
MD_FWRIT_R: ; THIS CODE GETS RELOCATED TO HIGH MEMORY |
|
|
|
@ -1226,7 +1229,7 @@ MD_FFSEN .DB 00h ; FLASH FILES SYSTEM ENABLE |
|
|
|
; |
|
|
|
;====================================================================== |
|
|
|
; |
|
|
|
#IF (MD_FDBG==0) |
|
|
|
#IF (MD_FDBG==1) |
|
|
|
.ECHO "MD_FIDENT_R " |
|
|
|
.ECHO MD_I_SZ |
|
|
|
.ECHO "\n" |
|
|
|
|