diff --git a/Source/HBIOS/Config/RCEZ80_std.asm b/Source/HBIOS/Config/RCEZ80_std.asm index a2d33aed..f5a95c4c 100644 --- a/Source/HBIOS/Config/RCEZ80_std.asm +++ b/Source/HBIOS/Config/RCEZ80_std.asm @@ -45,7 +45,7 @@ EZ80UARTENABLE .SET TRUE ; EZ80UART: ENABLE EZ80 UART DRIVER (EZ80UART.ASM) LPTENABLE .SET FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM) ; TMSENABLE .SET TRUE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM) -TMSTIMENABLE .SET FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1) +TMSTIMENABLE .SET TRUE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1) TMSMODE .SET TMSMODE_MSX9958 ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MBC|MSX|MSX9958|MSXKBD|COLECO] MKYENABLE .SET FALSE ; MSX 5255 PPI KEYBOARD COMPATIBLE DRIVER (REQUIRES TMS VDA DRIVER) VRCENABLE .SET FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM) diff --git a/Source/HBIOS/cfg_rcez80.asm b/Source/HBIOS/cfg_rcez80.asm index 0c172d11..817eb23d 100644 --- a/Source/HBIOS/cfg_rcez80.asm +++ b/Source/HBIOS/cfg_rcez80.asm @@ -31,7 +31,7 @@ AUTOCON .EQU TRUE ; ENABLE CONSOLE TAKEOVER AT LOADER PROMPT CPUSPDCAP .EQU SPD_FIXED ; CPU SPEED CHANGE CAPABILITY SPD_FIXED|SPD_HILO CPUSPDDEF .EQU SPD_HIGH ; CPU SPEED DEFAULT SPD_UNSUP|SPD_HIGH|SPD_LOW CPUOSC .EQU 18432000 ; CPU OSC FREQ IN MHZ -INTMODE .EQU 0 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280) +INTMODE .EQU 1 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280) DEFSERCFG .EQU SER_115200_8N1 | SER_RTS ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM) ; RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!) diff --git a/Source/HBIOS/hbios.asm b/Source/HBIOS/hbios.asm index 9983e7d1..30bb4887 100644 --- a/Source/HBIOS/hbios.asm +++ b/Source/HBIOS/hbios.asm @@ -357,6 +357,9 @@ RTCDEF .SET RTCDEF | %00001000 ; INITIAL SPEED LOW #DEFINE EZ80_IO .DB $49, $CF ; RST.L $08 #DEFINE EZ80_FN .DB $49, $D7 ; RST.L $10 #DEFINE EZ80_BNKSEL .DB $49, $DF ; RST.L $18 + + #DEFINE RET.L .DB $49 \ RET + #ELSE #DEFINE EZ80_IO #ENDIF @@ -1178,7 +1181,7 @@ HBX_INT: ; COMMON INTERRUPT ROUTING CODE HBX_RETI: RETI ; - #ELSE + #ELSE ; (MEMMGR == MM_Z280) ; ; COMMON INTERRUPT DISPATCHING CODE ; SETUP AND CALL HANDLER IN BIOS BANK @@ -1216,16 +1219,23 @@ HBX_INT_SP .EQU $ - 2 ; POP HL ; RESTORE HL ; + +#IF (CPUFAM == CPU_EZ80) + RET.L ; INTERRUPTS WILL BE ENABLED BY BY EZ80 FIRMWARE + ; CAN THEY BE ENABLED HERE - DOES THAT RISK RE-ENTRANT OF THE HANDLER? +#ELSE HB_EI ; ENABLE INTERRUPTS RETI ; AND RETURN +#ENDIF + ; - #ENDIF + #ENDIF ; END ELSE IF (MEMMGR == MM_Z280) ; -#ELSE +#ELSE ; #IF (INTMODE > 0) ; RET ; -#ENDIF +#ENDIF ; #END ELSE IF (INTMODE > 0) ; ; SMALL TEMPORARY STACK FOR USE BY HBX_BNKCPY ;