From b45e531127c69b8a2db80aca098393df82bfc484 Mon Sep 17 00:00:00 2001 From: Phillip Stevens Date: Wed, 4 Mar 2020 18:33:19 +1100 Subject: [PATCH] hbios - wrap hbx_bnkcpy --- Source/HBIOS/hbios.asm | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/Source/HBIOS/hbios.asm b/Source/HBIOS/hbios.asm index 8e49d713..7bdab35a 100644 --- a/Source/HBIOS/hbios.asm +++ b/Source/HBIOS/hbios.asm @@ -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. -; Caller MUST disable ints if IM1 active +; Interrupts are disabled if IM1/IM2 active. ; Enter: ; HL = Source Address ; DE = Destination Address @@ -394,6 +394,11 @@ HBX_BNKSEL1: ;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ; HBX_BNKCPY: +#IF (INTMODE > 0) + LD A,I + DI + PUSH AF +#ENDIF LD (HBX_BC_SP),SP ; PUT STACK LD SP,HBX_TMPSTK ; ... IN HI MEM @@ -423,6 +428,11 @@ HBX_BC_LAST: LD SP,$FFFF ; RESTORE STACK HBX_BC_SP .EQU $ - 2 ; ... TO ORIGINAL VALUE +#IF (INTMODE > 0) + POP AF + JP PO,$+4 + EI +#ENDIF RET ; HBX_BC_ITER: @@ -2221,17 +2231,7 @@ 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 > 0) - LD A,I - DI - PUSH AF -#ENDIF CALL HB_BNKCPY -#IF (INTMODE > 0) - POP AF - JP PO,$+4 - EI -#ENDIF XOR A RET ;