$EA87/60039:   Scan Keyboard

Jump from $EA7B, $FF9F:

EA87: A9 00     LDA #$00
EA89: 8D 8D 02  STA $028D     ; Flag: Shift Keys
EA8C: A0 40     LDY #$40
EA8E: 84 CB     STY $CB       ; Matrix value of last Key pressed
EA90: 8D 00 DC  STA $DC00     ; CIA1: Data Port A (Keyboard, Joystick, Paddles)
EA93: AE 01 DC  LDX $DC01     ; CIA1: Data Port B (Keyboard, Joystick, Paddles)
EA96: E0 FF     CPX #$FF
EA98: F0 61     BEQ $EAFB     ; Process Key Image
EA9A: A8        TAY
EA9B: A9 81     LDA #$81
EA9D: 85 F5     STA $F5       ; Vector: Current Keyboard decoding Table
EA9F: A9 EB     LDA #$EB
EAA1: 85 F6     STA $F6       ; Vector: Current Keyboard decoding Table
EAA3: A9 FE     LDA #$FE
EAA5: 8D 00 DC  STA $DC00     ; CIA1: Data Port A (Keyboard, Joystick, Paddles)

Jump from $EADA:

EAA8: A2 08     LDX #$08
EAAA: 48        PHA

Jump from $EAB1:

EAAB: AD 01 DC  LDA $DC01     ; CIA1: Data Port B (Keyboard, Joystick, Paddles)
EAAE: CD 01 DC  CMP $DC01     ; CIA1: Data Port B (Keyboard, Joystick, Paddles)
EAB1: D0 F8     BNE $EAAB

Jump from $EAD2:

EAB3: 4A        LSR
EAB4: B0 16     BCS $EACC
EAB6: 48        PHA
EAB7: B1 F5     LDA ($F5),Y   ; Vector: Current Keyboard decoding Table
EAB9: C9 05     CMP #$05
EABB: B0 0C     BCS $EAC9
EABD: C9 03     CMP #$03
EABF: F0 08     BEQ $EAC9
EAC1: 0D 8D 02  ORA $028D     ; Flag: Shift Keys
EAC4: 8D 8D 02  STA $028D     ; Flag: Shift Keys
EAC7: 10 02     BPL $EACB

Jump from $EABB, $EABF:

EAC9: 84 CB     STY $CB       ; Matrix value of last Key pressed

Jump from $EAC7:

EACB: 68        PLA

Jump from $EAB4:

EACC: C8        INY
EACD: C0 41     CPY #$41
EACF: B0 0B     BCS $EADC
EAD1: CA        DEX
EAD2: D0 DF     BNE $EAB3
EAD4: 38        SEC
EAD5: 68        PLA
EAD6: 2A        ROL
EAD7: 8D 00 DC  STA $DC00     ; CIA1: Data Port A (Keyboard, Joystick, Paddles)
EADA: D0 CC     BNE $EAA8

Jump from $EACF:

EADC: 68        PLA

    Previous Page / Next Page