Browse Source
Merge pull request #443 from dinoboards/dean/fixes-for-int-handling-of-msx-keyboard
msx-keyboard: corrected implementation of msx-keyboard's tick hook
master
Wayne Warthen
1 year ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with
13 additions and
11 deletions
-
Source/HBIOS/hbios.asm
-
Source/HBIOS/mky.asm
-
Source/HBIOS/std.asm
-
Source/HBIOS/tms.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 |
|
|
|
|
|
|
|
@ -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 |
|
|
|
|
|
|
|
; |
|
|
|
;__________________________________________________________________________________________________ |
|
|
|
|
|
|
|
@ -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 |
|
|
|
|
|
|
|
@ -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 |
|
|
|
|