Browse Source

Update md.asm

Finalize
pull/163/head
b1ackmai1er 5 years ago
parent
commit
e3fa34e524
  1. 25
      Source/HBIOS/md.asm

25
Source/HBIOS/md.asm

@ -378,6 +378,8 @@ MD_SECM1: ; DESIRED SECTOR IS IN BUFFER
PUSH IX PUSH IX
CALL MD_FERAS ; ERASE 4K SECTOR CALL MD_FERAS ; ERASE 4K SECTOR
POP IX POP IX
OR A
RET NZ ; RETURN IF ERROR
; ;
PUSH HL PUSH HL
PUSH DE PUSH DE
@ -405,9 +407,9 @@ MD_SECM1: ; DESIRED SECTOR IS IN BUFFER
LD IX,MD_F4KBUF ; WRITE THE SECTOR LD IX,MD_F4KBUF ; WRITE THE SECTOR
CALL MD_FWRIT CALL MD_FWRIT
POP IX POP IX
;
XOR A XOR A
;
RET RET
; ;
MD_LBA4K .DW $FFFF ; LBA OF CURRENT SECTOR MD_LBA4K .DW $FFFF ; LBA OF CURRENT SECTOR
@ -613,7 +615,7 @@ MDSTR_LEN .TEXT "LEN=$"
;================================================================================================== ;==================================================================================================
; ;
#IF (MDFFENABLE) #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 ; BIOS FLASH INITIALIZATION
@ -624,7 +626,7 @@ FF_TGT .EQU 0B7BFH ; TARGET CHIP FOR R/W FILESYSTEM
; ;
MD_FINIT: MD_FINIT:
LD A,+(ROMSIZE/512) ; DISLAY NUMBER LD A,+(ROMSIZE/512) ; DISLAY NUMBER
#IF (MD_FVBS==1)
#IF (MD_FVBS==1)
CALL NEWLINE ; OF UNITS CALL NEWLINE ; OF UNITS
PRTS("MD: FLASH=$") PRTS("MD: FLASH=$")
CALL PRTDECB ; CONFIGURED FOR. CALL PRTDECB ; CONFIGURED FOR.
@ -638,7 +640,7 @@ FF_PROBE:
LD L,D ; ON EACH CYCLE THROUGH LD L,D ; ON EACH CYCLE THROUGH
; ;
PUSH BC PUSH BC
#IF (MD_FVBS==1)
#IF (MD_FVBS==1)
CALL PC_SPACE CALL PC_SPACE
LD A,+(ROMSIZE/512)+1 LD A,+(ROMSIZE/512)+1
SUB B ; PRINT SUB B ; PRINT
@ -650,8 +652,7 @@ FF_PROBE:
PUSH HL PUSH HL
; PUSH DE ; 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 XOR A ; A NON 39SF040
SBC HL,BC ; CHIP SET THE SBC HL,BC ; CHIP SET THE
LD A,(MD_FFSEN) ; R/W FLAG TO R/O 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. ; RETURN WITH STATUS CODE.
; ;
; ON ENTRY DE:HL POINTS TO AN ADDRESS IDENTIFYING THE CHIP ; 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: MD_FERAS:
@ -928,7 +929,7 @@ MD_FERAS:
; ;
; ON ENTRY BC CONTAINS BANK AND SECTOR DATA ; ON ENTRY BC CONTAINS BANK AND SECTOR DATA
; A CONTAINS CURRENT BANK ; 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 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. ; ON ENTRY DE:HL POINTS TO A 32 BIT MEMORY ADDRESS.
; IX POINTS TO WHERE TO SAVE DATA ; IX POINTS TO WHERE TO SAVE DATA
; ON EXIT NO STATUS IS RETURNED
;====================================================================== ;======================================================================
; ;
MD_FREAD: 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. ; ON ENTRY DE:HL POINTS TO A 32 BIT MEMORY ADDRESS.
; IX POINTS TO DATA TO BE WRITTEN ; IX POINTS TO DATA TO BE WRITTEN
; ON EXIT NO STATUS IS RETURNED
;====================================================================== ;======================================================================
; ;
MD_FWRIT: MD_FWRIT:
@ -1118,7 +1121,7 @@ MD_FWRIT:
; IX POINTS TO DATA TO BE WRITTEN ; IX POINTS TO DATA TO BE WRITTEN
; DE = 0000 BYTE COUNT ; DE = 0000 BYTE COUNT
; A CONTAINS CURRENT BANK ; 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 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_FIDENT_R "
.ECHO MD_I_SZ .ECHO MD_I_SZ
.ECHO "\n" .ECHO "\n"

Loading…
Cancel
Save