|
|
|
@ -268,14 +268,16 @@ HBX_INVOKE: |
|
|
|
LD A,(HB_CURBNK) ; GET CURRENT BANK |
|
|
|
LD (HB_INVBNK),A ; SAVE INVOCATION BANK |
|
|
|
|
|
|
|
LD SP,HBX_TMPSTK ; USE SMALL TEMP STACK FRAME IN HI MEM FOR BANK SWITCH |
|
|
|
;LD SP,HBX_TMPSTK ; USE SMALL TEMP STACK FRAME IN HI MEM FOR BANK SWITCH |
|
|
|
LD SP,HBX_BUF_END ; BORROW HBX_BUF FOR TEMP STACK |
|
|
|
LD A,BID_BIOS ; HBIOS BANK |
|
|
|
CALL HBX_BNKSEL ; SELECT IT |
|
|
|
LD SP,HB_STACK ; NOW USE FULL HBIOS STACK IN HBIOS BANK |
|
|
|
|
|
|
|
CALL HB_DISPATCH ; CALL HBIOS FUNCTION DISPATCHER |
|
|
|
|
|
|
|
LD SP,HBX_TMPSTK ; USE SMALL TEMP STACK FRAME IN HI MEM FOR BANK SWITCH |
|
|
|
;LD SP,HBX_TMPSTK ; USE SMALL TEMP STACK FRAME IN HI MEM FOR BANK SWITCH |
|
|
|
LD SP,HBX_BUF_END ; BORROW HBX_BUF FOR TEMP STACK |
|
|
|
PUSH AF ; SAVE AF (FUNCTION RETURN) |
|
|
|
|
|
|
|
LD A,(HB_INVBNK) ; LOAD ORIGINAL BANK |
|
|
|
@ -636,6 +638,7 @@ HBX_INTFILL .EQU (HBX_XFC - HBX_BUFSIZ - $) |
|
|
|
; INTERBANK COPY BUFFER (64 BYTES) |
|
|
|
; |
|
|
|
HBX_BUF .FILL HBX_BUFSIZ,0 |
|
|
|
HBX_BUF_END .EQU $ |
|
|
|
; |
|
|
|
; HBIOS PROXY MGMT BLOCK (TOP 32 BYTES) |
|
|
|
; |
|
|
|
|