|
|
@ -115,10 +115,24 @@ SELMEM: LD (USRBNK),A ; Update user bank |
|
|
; Must preserve all Registers including Flags. |
|
|
; Must preserve all Registers including Flags. |
|
|
; All Bank Switching MUST be done by this routine |
|
|
; All Bank Switching MUST be done by this routine |
|
|
;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: |
|
|
;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: |
|
|
|
|
|
; |
|
|
|
|
|
; Parameter to BNKADJ (ADD) is set dynamically at initialization. |
|
|
|
|
|
|
|
|
SELBNK: PUSH AF ; Save regs |
|
|
SELBNK: PUSH AF ; Save regs |
|
|
SELBN0: LD (CURBNK),A ; Save as current bank # |
|
|
SELBN0: LD (CURBNK),A ; Save as current bank # |
|
|
BNKADJ: ADD A,90H ; Adjust for HBIOS bank ids |
|
|
|
|
|
|
|
|
NEG |
|
|
|
|
|
BNKADJ: ADD A,0FFH ; Adjust for HBIOS bank ids |
|
|
|
|
|
|
|
|
|
|
|
IF HB_DEBUG AND FALSE |
|
|
|
|
|
|
|
|
|
|
|
CALL PRTSTRD |
|
|
|
|
|
DEFB '[SELBNK: $' |
|
|
|
|
|
CALL PRTHEXBYTE |
|
|
|
|
|
CALL PRTSTRD |
|
|
|
|
|
DEFB ']$' |
|
|
|
|
|
|
|
|
|
|
|
ENDIF |
|
|
|
|
|
|
|
|
CALL HBX_BNKSEL |
|
|
CALL HBX_BNKSEL |
|
|
POP AF ; restore regs |
|
|
POP AF ; restore regs |
|
|
RET |
|
|
RET |
|
|
@ -172,7 +186,9 @@ FRGETB: |
|
|
PUSH BC ; Save BC |
|
|
PUSH BC ; Save BC |
|
|
PUSH DE ; Save DE |
|
|
PUSH DE ; Save DE |
|
|
LD B,0FAH ; HBIOS Peek function |
|
|
LD B,0FAH ; HBIOS Peek function |
|
|
LD D,C ; Bank in D |
|
|
|
|
|
|
|
|
LD A,(HB_BNKEND) ; Adjust BP bank id |
|
|
|
|
|
SUB C ; ... to HBIOS bank id |
|
|
|
|
|
LD D,A ; Put in D |
|
|
CALL HBX_INVOKE ; Do it |
|
|
CALL HBX_INVOKE ; Do it |
|
|
LD A,E ; Value to A |
|
|
LD A,E ; Value to A |
|
|
POP DE ; Restore DE |
|
|
POP DE ; Restore DE |
|
|
@ -203,8 +219,10 @@ FRPUTB: |
|
|
PUSH BC ; Save BC |
|
|
PUSH BC ; Save BC |
|
|
PUSH DE ; Save DE |
|
|
PUSH DE ; Save DE |
|
|
LD B,0FBH ; HBIOS Poke function |
|
|
LD B,0FBH ; HBIOS Poke function |
|
|
LD D,C ; Bank in D |
|
|
|
|
|
LD E,A ; Value in E |
|
|
LD E,A ; Value in E |
|
|
|
|
|
LD A,(HB_BNKEND) ; Adjust BP bank id |
|
|
|
|
|
SUB C ; ... to HBIOS bank id |
|
|
|
|
|
LD D,A ; Put in D |
|
|
CALL HBX_INVOKE ; Do it |
|
|
CALL HBX_INVOKE ; Do it |
|
|
POP DE ; Restore DE |
|
|
POP DE ; Restore DE |
|
|
POP BC ; Restore BC |
|
|
POP BC ; Restore BC |
|
|
|