|
|
|
@ -299,24 +299,16 @@ MD_RDSECF: ; CALLED FROM MD_RW |
|
|
|
; |
|
|
|
PUSH HL ; IS THE SECTOR |
|
|
|
LD HL,(MD_LBA4K) ; WE WANT TO |
|
|
|
XOR A ; WRITE ALREADY |
|
|
|
XOR A ; READ ALREADY |
|
|
|
SBC HL,BC ; IN THE 4K |
|
|
|
POP HL ; BLOCK WE HAVE |
|
|
|
JR Z,MD_SECM ; IN THE BUFFER |
|
|
|
JR Z,MD_SECM ; IN THE BUFFER? |
|
|
|
; |
|
|
|
|
|
|
|
|
|
|
|
; DESIRED SECTOR |
|
|
|
; IS NOT IN BUFFER |
|
|
|
LD (MD_LBA4K),BC ; WE WILL READ IN |
|
|
|
; A NEW 4K SECTOR. |
|
|
|
; SAVE THE 4K LBA |
|
|
|
; FOR FUTURE CHECKS |
|
|
|
|
|
|
|
CALL MD_CALBAS ; SETUP BANK AND SECTOR |
|
|
|
; DESIRED SECTOR IS NOT IN BUFFER |
|
|
|
LD (MD_LBA4K),BC ; WE WILL READ IN A NEW 4K SECTOR. |
|
|
|
; SAVE THE 4K LBA FOR FUTURE CHECKS |
|
|
|
; |
|
|
|
; DE:HL CONTAIN SOURCE ADDRESS |
|
|
|
; WHICH WAS SETUP BY MD_IOSETUPF |
|
|
|
CALL MD_CALBAS ; SETUP BANK AND SECTOR |
|
|
|
; |
|
|
|
LD IX,MD_F4KBUF ; SET DESTINATION ADDRESS |
|
|
|
LD HL,MD_FREAD_R ; PUT ROUTINE TO CALL |
|
|
|
@ -381,32 +373,32 @@ MD_IOSETUPF: |
|
|
|
MD_CALBAS: |
|
|
|
; |
|
|
|
#IF (MD_FDBG==1) |
|
|
|
CALL PC_SPACE ; DISPLAY SECTOR |
|
|
|
CALL PRTHEX32 ; SECTOR ADDRESS |
|
|
|
CALL PC_SPACE ; IN DE:HL |
|
|
|
CALL PC_SPACE ; DISPLAY SECTOR |
|
|
|
CALL PRTHEX32 ; SECTOR ADDRESS |
|
|
|
CALL PC_SPACE ; IN DE:HL |
|
|
|
#ENDIF |
|
|
|
; |
|
|
|
PUSH HL |
|
|
|
LD A,E ; BOTTOM PORTION OF SECTOR |
|
|
|
AND $0F ; ADDRESS THAT GETS WRITTEN |
|
|
|
RLC H ; WITH ERASE COMMAND BYTE |
|
|
|
RLA ; A15 GETS DROPPED OFF AND |
|
|
|
LD B,A ; ADDED TO BANK SELECT |
|
|
|
; |
|
|
|
LD A,H ; TOP SECTION OF SECTOR |
|
|
|
RRA ; ADDRESS THAT GETS WRITTEN |
|
|
|
AND $70 ; TO BANK SELECT PORT |
|
|
|
LD A,E ; BOTTOM PORTION OF SECTOR |
|
|
|
AND $0F ; ADDRESS THAT GETS WRITTEN |
|
|
|
RLC H ; WITH ERASE COMMAND BYTE |
|
|
|
RLA ; A15 GETS DROPPED OFF AND |
|
|
|
LD B,A ; ADDED TO BANK SELECT |
|
|
|
; |
|
|
|
LD A,H ; TOP SECTION OF SECTOR |
|
|
|
RRA ; ADDRESS THAT GETS WRITTEN |
|
|
|
AND $70 ; TO BANK SELECT PORT |
|
|
|
LD C,A |
|
|
|
|
|
|
|
POP HL |
|
|
|
; |
|
|
|
LD (MD_FBAS),BC ; SAVE BANK AND SECTOR FOR USE IN FLASH ROUTINES |
|
|
|
LD (MD_FBAS),BC ; SAVE BANK AND SECTOR FOR USE IN FLASH ROUTINES |
|
|
|
; |
|
|
|
#IF (MD_FDBG==1) |
|
|
|
CALL PRTHEXWORD ; DISPLAY BANK AND |
|
|
|
CALL PC_SPACE ; SECTOR RESULT |
|
|
|
CALL PRTHEXWORD ; DISPLAY BANK AND |
|
|
|
CALL PC_SPACE ; SECTOR RESULT |
|
|
|
#ENDIF |
|
|
|
; |
|
|
|
|
|
|
|
RET |
|
|
|
; |
|
|
|
; WRITE FLASH |
|
|
|
|