Browse Source

Update md.asm

Optimizations
pull/168/head
b1ackmai1er 5 years ago
parent
commit
dae73fafae
  1. 42
      Source/HBIOS/md.asm

42
Source/HBIOS/md.asm

@ -878,7 +878,7 @@ MD_CALCA:
;
LD A,(HB_CURBNK) ; WE ARE STARTING IN HB_CURBNK
;
RET ; RETURN TO MD_FNRET
RET
;
;======================================================================
; FLASH IDENTIFY
@ -913,9 +913,9 @@ MD_FIDENT_R: ; THIS CODE GETS RELOCATED TO HIGH MEMORY
LD (HL),A ; LD ($5555),A ; COMMAND
;
POP AF ; RETURN TO ORIGINAL BANK
CALL HBX_BNKSEL ; WHICH IS OUR RAM BIOS COPY
JP HBX_BNKSEL ; WHICH IS OUR RAM BIOS COPY
;
RET ; RETURN TO MD_FNRET
; RET
;
MD_I_SZ .EQU $-MD_FIDENT_R ; SIZE OF RELOCATABLE CODE BUFFER REQUIRED
;
@ -976,9 +976,9 @@ MD_WT4: LD A,(HL) ; DO TWO SUCCESSIVE READS
MD_WT5: LD C,L ; SET SUCCESS STATUS
;
MD_WT6: POP AF ; RETURN TO ORIGINAL BANK
CALL HBX_BNKSEL ; WHICH IS OUR RAM BIOS COPY
JP HBX_BNKSEL ; WHICH IS OUR RAM BIOS COPY
;
RET ; RETURN TO MD_FNRET
; RET
;
MD_S_SZ .EQU $-MD_FERAS_R ; SIZE OF RELOCATABLE CODE BUFFER REQUIRED
;
@ -996,6 +996,7 @@ MD_S_SZ .EQU $-MD_FERAS_R ; SIZE OF RELOCATABLE CODE BUFFER REQUIRED
; IX POINTS TO DATA TO BE WRITTEN
; A CONTAINS CURRENT BANK
; ON EXIT NO STATUS RETURNED
; AF' TRASHED
;======================================================================
;
MD_FREAD_R: ; THIS CODE GETS RELOCATED TO HIGH MEMORY
@ -1003,17 +1004,17 @@ MD_FREAD_R: ; THIS CODE GETS RELOCATED TO HIGH MEMORY
LD H,C ; SECTOR
LD L,D ; ADDRESS
;
PUSH AF ; SAVE CURRENT BANK
EX AF,AF' ; PUT DESTINATION BANK IN AF'
LD A,B ; PUT SOURCE BANK IN AF
;
MD_FRD1:
LD A,B ; SELECT BANK
CALL HBX_BNKSEL ; TO READ
LD C,(HL) ; READ BYTE
;
POP AF
PUSH AF ; SELECT BANK
CALL HBX_BNKSEL ; READ ; SWITCH TO SOURCE BANK
LD C,(HL) ; BYTE
;
EX AF,AF' ; SELECT BANK ; SWITCH DESTINATION BANK
CALL HBX_BNKSEL ; TO WRITE
LD (IX+0),C ; WRITE BYTE
EX AF,AF' ; ; PUT SOURCE BANK IN AF
;
INC HL ; NEXT SOURCE LOCATION
INC IX ; NEXT DESTINATION LOCATION
@ -1021,11 +1022,8 @@ MD_FRD1:
INC DE ; CONTINUE READING UNTIL
BIT 4,D ; WE HAVE DONE ONE SECTOR
JR Z,MD_FRD1
POP AF ; RETURN TO ORIGINAL BANK
CALL HBX_BNKSEL ; WHICH IS OUR RAM BIOS COPY
;
RET ; RETURN TO MD_FNRET
RET
;
MD_R_SZ .EQU $-MD_FREAD_R ; SIZE OF RELOCATABLE CODE BUFFER REQUIRED
;
@ -1059,7 +1057,7 @@ MD_FVE1:
;
POP AF
PUSH AF ; SELECT BANK
CALL HBX_BNKSEL ; TO WRITE
CALL HBX_BNKSEL ; TO VERIFY AGAINST
;
LD A,C
SUB (IX+0) ; COMPARE BYTE
@ -1076,10 +1074,8 @@ MD_FVE1:
LD C,E ; SET SUCCESS STATUS = 0
;
MD_FVE2:
POP AF ; RETURN TO ORIGINAL BANK
CALL HBX_BNKSEL ; WHICH IS OUR RAM BIOS COPY
;
RET ; RETURN TO MD_FNRET
POP AF
RET
;
MD_V_SZ .EQU $-MD_FVERI_R ; SIZE OF RELOCATABLE CODE BUFFER REQUIRED
;
@ -1141,9 +1137,9 @@ MD_FW7: LD A,(HL) ; FROM THE SAME FLASH ADDRESS.
JR Z,MD_FWRI1
;
POP AF ; RETURN TO ORIGINAL BANK
CALL HBX_BNKSEL ; WHICH IS OUR RAM BIOS COPY
JP HBX_BNKSEL ; WHICH IS OUR RAM BIOS COPY
;
RET
; RET
;
MD_W_SZ .EQU $-MD_FWRIT_R ; SIZE OF RELOCATABLE CODE BUFFER REQUIRED
;

Loading…
Cancel
Save