Browse Source

md.asm flash updates

Flash relocating routine now only copies  what is required rather than full 64 bytes every time.
pull/183/head
b1ackmai1er 5 years ago
parent
commit
0d7a2c3c20
  1. 5
      Source/HBIOS/flashlib.inc
  2. 6
      Source/HBIOS/md.asm

5
Source/HBIOS/flashlib.inc

@ -14,6 +14,7 @@
; NO STATUS IS RETURNED
;======================================================================
;
.DB MD_I_SZ ; SIZE OF RELOCATABLE CODE BUFFER REQUIRED
MD_FIDEN_R: ; THIS CODE GETS RELOCATED TO HIGH MEMORY
;
LD D,A ; SAVE CURRENT BANK
@ -53,6 +54,7 @@ MD_I_SZ .EQU $-MD_FIDEN_R ; SIZE OF RELOCATABLE CODE BUFFER REQUIRED
; ON EXIT C RETURNS STATUS 0=SUCCESS NZ=FAIL
;======================================================================
;
.DB MD_S_SZ ; SIZE OF RELOCATABLE CODE BUFFER REQUIRED
MD_FERAS_R: ; THIS CODE GETS RELOCATED TO HIGH MEMORY
;
PUSH AF ; SAVE CURRENT BANK
@ -120,6 +122,7 @@ MD_S_SZ .EQU $-MD_FERAS_R ; SIZE OF RELOCATABLE CODE BUFFER REQUIRED
; ON EXIT NO STATUS RETURNED
;======================================================================
;
.DB MD_R_SZ ; SIZE OF RELOCATABLE CODE BUFFER REQUIRED
MD_FREAD_R: ; THIS CODE GETS RELOCATED TO HIGH MEMORY
;
LD H,C ; SECTOR
@ -168,6 +171,7 @@ MD_R_SZ .EQU $-MD_FREAD_R ; SIZE OF RELOCATABLE CODE BUFFER REQUIRED
; ON EXIT C RETURNS STATUS 0=SUCCESS NZ=FAIL
;======================================================================
;
.DB MD_V_SZ ; SIZE OF RELOCATABLE CODE BUFFER REQUIRED
MD_FVERI_R: ; THIS CODE GETS RELOCATED TO HIGH MEMORY
;
LD H,C ; SECTOR
@ -219,6 +223,7 @@ MD_V_SZ .EQU $-MD_FVERI_R ; SIZE OF RELOCATABLE CODE BUFFER REQUIRED
; ON EXIT NO STATUS IS RETURNED
;======================================================================
;
.DB MD_W_SZ ; SIZE OF RELOCATABLE CODE BUFFER REQUIRED
MD_FWRIT_R: ; THIS CODE GETS RELOCATED TO HIGH MEMORY
;
LD H,C ; SECTOR

6
Source/HBIOS/md.asm

@ -835,9 +835,13 @@ FF_NXT2:
;======================================================================
;
MD_FNCALL: ; USING HBX_BUF FOR CODE AREA
;
LD B,0 ; RETREIVE THE
DEC HL ; CODE SIZE TO
LD C,(HL) ; BE COPIED
INC HL ; MAXIMUM 64 BYTES
;
LD DE,HBX_BUF ; EXECUTE / START ADDRESS
LD BC,MD_CSIZE ; CODE SIZE. MAXIMUM 64 BYTES
LDIR ; COPY OUR RELOCATABLE CODE TO THE BUFFER
;
LD D,B ; PRESET DE TO ZERO TO REDUCE

Loading…
Cancel
Save