diff --git a/Source/HBIOS/md.asm b/Source/HBIOS/md.asm index dc130510..c1b80605 100644 --- a/Source/HBIOS/md.asm +++ b/Source/HBIOS/md.asm @@ -1101,13 +1101,10 @@ MD_FWRIT_R: ; THIS CODE GETS RELOCATED TO HIGH MEMORY ; LD H,C ; SECTOR LD L,D ; ADDRESS -; - PUSH AF ; SAVE CURRENT BANK ; MD_FWRI1: - POP AF ; SELECT BANK - PUSH AF ; TO READ - CALL HBX_BNKSEL + CALL HBX_BNKSEL ; SELECT BANK TO READ + EX AF,AF' ; SAVE CURRENT BANK ; LD C,(IX+0) ; READ IN BYTE ; @@ -1133,13 +1130,14 @@ MD_FW7: LD A,(HL) ; FROM THE SAME FLASH ADDRESS. ; INC HL ; NEXT DESTINATION LOCATION INC IX ; NEXT SOURCE LOCATION +; + EX AF,AF' ; RESTORE CURRENT BANK ; INC DE ; CONTINUE WRITING UNTIL BIT 4,D ; WE HAVE DONE ONE SECTOR JR Z,MD_FWRI1 ; - POP AF ; RETURN TO ORIGINAL BANK - JP HBX_BNKSEL ; WHICH IS OUR RAM BIOS COPY + JP HBX_BNKSEL ; RETURN TO ORIGINAL BANK WHICH IS OUR RAM BIOS COPY ; ; RET ;