Update hbios.asm

Add improved interrupt protection to HBIOS PEEK, POKE, and BNKCPY functions.
This commit is contained in:
Wayne Warthen
2020-03-03 20:40:46 -08:00
parent a40e7961a1
commit a207ede5be

View File

@@ -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
;