mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 14:11:48 -06:00
Update hbios.asm
Add improved interrupt protection to HBIOS PEEK, POKE, and BNKCPY functions.
This commit is contained in:
@@ -2221,11 +2221,15 @@ SYS_BNKCPY:
|
||||
LD HL,(HB_CPYLEN) ; HL := COPY LEN (SAVED IN SETCPY)
|
||||
EX (SP),HL ; RESTORE HL & SET (SP) TO COPY LEN
|
||||
POP BC ; BC := COPY LEN
|
||||
#IF (INTMODE == 1)
|
||||
#IF (INTMODE > 0)
|
||||
LD A,I
|
||||
DI
|
||||
PUSH AF
|
||||
#ENDIF
|
||||
CALL HB_BNKCPY
|
||||
#IF (INTMODE == 1)
|
||||
#IF (INTMODE > 0)
|
||||
POP AF
|
||||
JP PO,$+4
|
||||
EI
|
||||
#ENDIF
|
||||
XOR A
|
||||
@@ -2436,11 +2440,15 @@ SYS_SETSECS:
|
||||
; RETURN: E=BYTE VALUE
|
||||
;
|
||||
SYS_PEEK:
|
||||
#IF (INTMODE == 1)
|
||||
#IF (INTMODE > 0)
|
||||
LD A,I
|
||||
DI
|
||||
PUSH AF
|
||||
#ENDIF
|
||||
CALL HBX_PEEK ; IMPLEMENTED IN PROXY
|
||||
#IF (INTMODE == 1)
|
||||
#IF (INTMODE > 0)
|
||||
POP AF
|
||||
JP PO,$+4
|
||||
EI
|
||||
#ENDIF
|
||||
XOR A
|
||||
@@ -2450,11 +2458,15 @@ SYS_PEEK:
|
||||
; ENTRY: D=BANK ID, HL=ADDRESS IN HBIOS BANK, E=BYTE VALUE
|
||||
;
|
||||
SYS_POKE:
|
||||
#IF (INTMODE == 1)
|
||||
#IF (INTMODE > 0)
|
||||
LD A,I
|
||||
DI
|
||||
PUSH AF
|
||||
#ENDIF
|
||||
CALL HBX_POKE ; IMPLEMENTED IN PROXY
|
||||
#IF (INTMODE == 1)
|
||||
#IF (INTMODE > 0)
|
||||
POP AF
|
||||
JP PO,$+4
|
||||
EI
|
||||
#ENDIF
|
||||
XOR A
|
||||
@@ -2564,9 +2576,6 @@ SYS_INTSET1:
|
||||
INC HL
|
||||
LD (HL),B ; SAVE MSB
|
||||
EX DE,HL ; HL := PREV VEC
|
||||
;#IF (INTMODE == 2)
|
||||
; LD DE,HBX_INT ; DE := IM2 INT ROUTING ENGINE
|
||||
;#ENDIF
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET ; DONE
|
||||
;
|
||||
|
||||
Reference in New Issue
Block a user