diff --git a/Source/HBIOS/md.asm b/Source/HBIOS/md.asm index 14aed67d..61c6ae33 100644 --- a/Source/HBIOS/md.asm +++ b/Source/HBIOS/md.asm @@ -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