mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 14:11:48 -06:00
hbios - adjust hbx_peek hbx_poke guards
This commit is contained in:
@@ -383,7 +383,7 @@ HBX_BNKSEL1:
|
||||
; Copy Data - Possibly between banks. This resembles CP/M 3, but
|
||||
; usage of the HL and DE registers is reversed.
|
||||
; Caller MUST preset HBX_SRCBNK and HBX_DSTBNK.
|
||||
; Interrupts are disabled if IM1/IM2 active.
|
||||
; IM1/IM2 interrupts are disabled during HBX_BNKCPY.
|
||||
; Enter:
|
||||
; HL = Source Address
|
||||
; DE = Destination Address
|
||||
@@ -482,9 +482,14 @@ HBX_TGTADR .EQU $ + 1
|
||||
;
|
||||
; PEEK & POKE ROUTINES
|
||||
; ADDRESS IN HL, BANK IN D, VALUE IN/OUT IN E, A IS TRASHED
|
||||
; CALLER MUST DISABLE INTS IF IM1 AND ACCESSING PAGE W/O IM1 INT VECTOR
|
||||
; IM1/IM2 INTERRUPTS ARE DISABLED DURING HBX_PEEK & HBX_POKE.
|
||||
;
|
||||
HBX_PEEK:
|
||||
#IF (INTMODE > 0)
|
||||
LD A,I
|
||||
DI
|
||||
PUSH AF
|
||||
#ENDIF
|
||||
LD (HBX_PPSP),SP ; SAVE ORIGINAL STACK FRAME
|
||||
LD SP,HBX_TMPSTK ; USE SMALL TEMP STACK FRAME IN HI MEM
|
||||
LD A,(HB_CURBNK)
|
||||
@@ -495,6 +500,11 @@ HBX_PEEK:
|
||||
JR HBX_PPRET
|
||||
;
|
||||
HBX_POKE:
|
||||
#IF (INTMODE > 0)
|
||||
LD A,I
|
||||
DI
|
||||
PUSH AF
|
||||
#ENDIF
|
||||
LD (HBX_PPSP),SP ; SAVE ORIGINAL STACK FRAME
|
||||
LD SP,HBX_TMPSTK ; USE SMALL TEMP STACK FRAME IN HI MEM
|
||||
LD A,(HB_CURBNK)
|
||||
@@ -508,6 +518,11 @@ HBX_PPRET:
|
||||
CALL HBX_BNKSEL
|
||||
LD SP,0 ; RESTORE ORIGINAL STACK FRAME
|
||||
HBX_PPSP .EQU $ - 2
|
||||
#IF (INTMODE > 0)
|
||||
POP AF
|
||||
JP PO,$+4
|
||||
EI
|
||||
#ENDIF
|
||||
RET
|
||||
;
|
||||
; PRIVATE STACK AT END OF HBIOS CODE
|
||||
@@ -2440,17 +2455,7 @@ SYS_SETSECS:
|
||||
; RETURN: E=BYTE VALUE
|
||||
;
|
||||
SYS_PEEK:
|
||||
#IF (INTMODE > 0)
|
||||
LD A,I
|
||||
DI
|
||||
PUSH AF
|
||||
#ENDIF
|
||||
CALL HBX_PEEK ; IMPLEMENTED IN PROXY
|
||||
#IF (INTMODE > 0)
|
||||
POP AF
|
||||
JP PO,$+4
|
||||
EI
|
||||
#ENDIF
|
||||
XOR A
|
||||
RET
|
||||
;
|
||||
@@ -2458,17 +2463,7 @@ SYS_PEEK:
|
||||
; ENTRY: D=BANK ID, HL=ADDRESS IN HBIOS BANK, E=BYTE VALUE
|
||||
;
|
||||
SYS_POKE:
|
||||
#IF (INTMODE > 0)
|
||||
LD A,I
|
||||
DI
|
||||
PUSH AF
|
||||
#ENDIF
|
||||
CALL HBX_POKE ; IMPLEMENTED IN PROXY
|
||||
#IF (INTMODE > 0)
|
||||
POP AF
|
||||
JP PO,$+4
|
||||
EI
|
||||
#ENDIF
|
||||
XOR A
|
||||
RET
|
||||
;
|
||||
|
||||
Reference in New Issue
Block a user