|
|
|
@ -9,30 +9,27 @@ |
|
|
|
;__________________________________________________________________________________________________ |
|
|
|
; |
|
|
|
#IF ((INTMODE == 2) & INTPS2KBD)) |
|
|
|
|
|
|
|
; |
|
|
|
; SETUP POINTER TO KEYBOARD PORT |
|
|
|
; |
|
|
|
#IF (TMSENABLE) |
|
|
|
KBDPORTD .DB TMS_KBDDATA ; KBD CTLR DATA PORT |
|
|
|
KBDPORTS .DB TMS_KBDST ; KBD CTLR STATUS/CMD PORT |
|
|
|
KBDIDAT .EQU TMS_IDAT ; KBD INSTANCE DATA TABLE |
|
|
|
#ELSE |
|
|
|
|
|
|
|
#IF (GDCENABLE) |
|
|
|
KBDPORTD .DB GDC_KBDDATA ; KBD CTLR DATA PORT |
|
|
|
KBDPORTS .DB GDC_KBDST ; KBD CTLR STATUS/CMD PORT |
|
|
|
KBDIDAT .EQU GDC_IDAT ; KBD INSTANCE DATA TABLE |
|
|
|
#ELSE |
|
|
|
|
|
|
|
#IF (CVDUENABLE) |
|
|
|
KBDPORTD .DB CVDU_KBDDATA ; KBD CTLR DATA PORT |
|
|
|
KBDPORTS .DB CVDU_KBDST ; KBD CTLR STATUS/CMD PORT |
|
|
|
KBDIDAT .EQU CVDU_IDAT ; KBD INSTANCE DATA TABLE |
|
|
|
#ELSE |
|
|
|
|
|
|
|
#IF (VRCENABLE) |
|
|
|
KBDPORTD .DB VRC_KBDDATA ; KBD CTLR DATA PORT |
|
|
|
KBDPORTS .DB VRC_KBDST ; KBD CTLR STATUS/CMD PORT |
|
|
|
KBDIDAT .EQU VRC_IDAT ; KBD INSTANCE DATA TABLE |
|
|
|
#ELSE |
|
|
|
|
|
|
|
#IF (VGAENABLE) |
|
|
|
KBDPORTD .DB VGA_KBDDATA ; KBD CTLR DATA PORT |
|
|
|
KBDPORTS .DB VGA_KBDST ; KBD CTLR STATUS/CMD PORT |
|
|
|
KBDIDAT .EQU VGA_IDAT ; KBD INSTANCE DATA TABLE |
|
|
|
#ENDIF |
|
|
|
|
|
|
|
#ENDIF |
|
|
|
@ -68,14 +65,13 @@ KBDQ .FILL KBDQSIZ,0 ; CIRCULAR KEYBOARD BUFFER |
|
|
|
; |
|
|
|
KBD_INT: |
|
|
|
; CALL KBDQDBG |
|
|
|
LD A,(KBDPORTS) ; READ CONTROLLER STATUS |
|
|
|
LD C,A |
|
|
|
LD IY,KBDIDAT |
|
|
|
LD C,(IY+KBD_ST) ; READ CONTROLLER STATUS |
|
|
|
EZ80_IO |
|
|
|
IN A,(C) |
|
|
|
AND 1 |
|
|
|
RET Z |
|
|
|
LD A,(KBDPORTD) ; GET THE RESPONSE |
|
|
|
LD C,A |
|
|
|
LD C,(IY+KBD_DAT) ; GET THE RESPONSE |
|
|
|
EZ80_IO |
|
|
|
IN A,(C) |
|
|
|
; CALL KBDQPUSH ; SAVE KEYBOARD SCAN CODE |
|
|
|
@ -148,8 +144,6 @@ KBDQPOP: |
|
|
|
KBD_IN: |
|
|
|
#ENDIF |
|
|
|
KBD_IN_P: |
|
|
|
EZ80_IO |
|
|
|
IN A,(C) ; GET THE DATA VALUE |
|
|
|
LD C,(IY+KBD_DAT) ; DATA PORT |
|
|
|
EZ80_IO |
|
|
|
IN A,(C) ; GET THE DATA VALUE |
|
|
|
|