diff --git a/Source/HBIOS/hbios.asm b/Source/HBIOS/hbios.asm index 54a2a0c2..3350f540 100644 --- a/Source/HBIOS/hbios.asm +++ b/Source/HBIOS/hbios.asm @@ -6710,10 +6710,6 @@ HB_TICK1: ; PULSE WATCHDOG OUT (WDOGIO),A ; VALUE IS IRRELEVANT #ENDIF -; -#IF MKYENABLE - CALL MKY_INT -#ENDIF ; OR $FF ; NZ SET TO INDICATE INT HANDLED RET diff --git a/Source/HBIOS/mky.asm b/Source/HBIOS/mky.asm index 5cddbcfb..3d32c00e 100644 --- a/Source/HBIOS/mky.asm +++ b/Source/HBIOS/mky.asm @@ -216,6 +216,14 @@ MKY_INIT: LD A, 64 ; CAPS OFF EZ80_IO OUT (MKY_REGC), A + + ; INSTALL INTERRUPT HANDLER + LD HL, (VEC_TICK+1) + LD (VEC_TICK_MKY+1), HL + + LD HL, MKY_INT + LD (VEC_TICK+1), HL + RET ; ;__________________________________________________________________________________________________ @@ -739,7 +747,7 @@ MKY_INTSCAN1: LD A, (MKY_SCNCNT) ; SCAN THE KEYBOARD EVERY 'SCAN_INT_PERIOD' INTERRUPTS. DEC A LD (MKY_SCNCNT), A - RET NZ + JR NZ, VEC_TICK_MKY LD A, SCAN_INT_PERIOD LD (MKY_SCNCNT), A @@ -765,7 +773,9 @@ MKY_SCAN_LP: LD A, $FF ; NOTE THAT A SCAN HAS BEEN DONE LD (MKY_SCANNED), A - RET + +VEC_TICK_MKY: + JP HB_TICK ; ;__________________________________________________________________________________________________ diff --git a/Source/HBIOS/std.asm b/Source/HBIOS/std.asm index 0a676c3a..535af315 100644 --- a/Source/HBIOS/std.asm +++ b/Source/HBIOS/std.asm @@ -680,7 +680,7 @@ SYSTIM .SET TM_Z280 #ENDIF ; #IF (CPUFAM == CPU_EZ80) - #IF (EZ80TIMER == EZ80TMR_INT)) + #IF (EZ80TIMER == EZ80TMR_INT) SYSTIM .SET TM_EZ80 SYSECHO " EZ80" #ENDIF diff --git a/Source/HBIOS/tms.asm b/Source/HBIOS/tms.asm index 4a309e45..e8f57b37 100644 --- a/Source/HBIOS/tms.asm +++ b/Source/HBIOS/tms.asm @@ -1141,10 +1141,6 @@ TMS_TSTINT: TMS_INTHNDL: -#IF (TMSKBD == TMSKBD_MKY) - CALL MKY_INT -#ENDIF - CALL HB_TIMINT ; RETURN NZ - HANDLED OR $FF RET