$EADD/60125: Process Key Image
EADD: 6C 8F 02 JMP ($028F) ; Vector: Routine to determine Keyboard table
Jump from $EB76:
EAE0: A4 CB LDY $CB ; Matrix value of last Key pressed
EAE2: B1 F5 LDA ($F5),Y ; Vector: Current Keyboard decoding Table
EAE4: AA TAX
EAE5: C4 C5 CPY $C5 ; Matrix value of last Key pressed
EAE7: F0 07 BEQ $EAF0
EAE9: A0 10 LDY #$10
EAEB: 8C 8C 02 STY $028C ; Repeat Key: First repeat delay Counter
EAEE: D0 36 BNE $EB26
Jump from $EAE7:
EAF0: 29 7F AND #$7F
EAF2: 2C 8A 02 BIT $028A ; Flag: Repeat keys
EAF5: 30 16 BMI $EB0D
EAF7: 70 49 BVS $EB42
EAF9: C9 7F CMP #$7F
Jump from $EA98:
EAFB: F0 29 BEQ $EB26
EAFD: C9 14 CMP #$14
EAFF: F0 0C BEQ $EB0D
EB01: C9 20 CMP #$20
EB03: F0 08 BEQ $EB0D
EB05: C9 1D CMP #$1D
EB07: F0 04 BEQ $EB0D
EB09: C9 11 CMP #$11
EB0B: D0 35 BNE $EB42
Jump from $EAF5, $EAFF, $EB03, $EB07:
EB0D: AC 8C 02 LDY $028C ; Repeat Key: First repeat delay Counter
EB10: F0 05 BEQ $EB17
EB12: CE 8C 02 DEC $028C ; Repeat Key: First repeat delay Counter
EB15: D0 2B BNE $EB42
Jump from $EB10:
EB17: CE 8B 02 DEC $028B ; Repeat Key: Speed Counter
EB1A: D0 26 BNE $EB42
EB1C: A0 04 LDY #$04
EB1E: 8C 8B 02 STY $028B ; Repeat Key: Speed Counter
EB21: A4 C6 LDY $C6 ; Number of Characters in Keyboard Buffer queue
EB23: 88 DEY
EB24: 10 1C BPL $EB42
Jump from $EAEE, $EAFB:
EB26: A4 CB LDY $CB ; Matrix value of last Key pressed
EB28: 84 C5 STY $C5 ; Matrix value of last Key pressed
EB2A: AC 8D 02 LDY $028D ; Flag: Shift Keys
EB2D: 8C 8E 02 STY $028E ; Last Shift Key used for debouncing
EB30: E0 FF CPX #$FF
EB32: F0 0E BEQ $EB42
EB34: 8A TXA
EB35: A6 C6 LDX $C6 ; Number of Characters in Keyboard Buffer queue
EB37: EC 89 02 CPX $0289 ; Maximum number of Bytes in Keyboard Buffer
EB3A: B0 06 BCS $EB42
EB3C: 9D 77 02 STA $0277,X ; Keyboard Buffer Queue (FIFO)
EB3F: E8 INX
EB40: 86 C6 STX $C6 ; Number of Characters in Keyboard Buffer queue
Jump from $EAF7, $EB0B, $EB15, $EB1A, $EB24, $EB32, $EB3A, $EB52:
EB42: A9 7F LDA #$7F
EB44: 8D 00 DC STA $DC00 ; CIA1: Data Port A (Keyboard, Joystick, Paddles)
EB47: 60 RTS
Previous Page / Next Page