Prev: 99AF Up: Map Next: 9A7E
99C4: Tests keyboard and convert presses into command bit flag.
Used by the routine at Game_Main.
Input
Output
Keyboard_Handle 99C4 LD A,(Mode_Demo)
99C7 AND A
99C8 JP NZ,Keyboard_Handle_8
99CB CALL Keyboard_Test
99CE LD B,$00
99D0 LD IX,KeyStore
99D4 LD A,(IX+$01)
99D7 AND $15
99D9 LD C,A
99DA LD A,(IX+$06)
99DD AND $0A
99DF OR C
99E0 XOR $1F
99E2 JR Z,Keyboard_Handle_0
99E4 SET 2,B
Keyboard_Handle_0 99E6 LD A,(IX+$01)
99E9 AND $0A
99EB LD C,A
99EC LD A,(IX+$06)
99EF SET 0,A
99F1 AND $15
99F3 OR C
99F4 XOR $1F
99F6 JR Z,Keyboard_Handle_1
99F8 SET 3,B
Keyboard_Handle_1 99FA LD A,(IX+$00)
99FD AND $0A
99FF LD C,A
9A00 LD A,(IX+$07)
9A03 AND $14
9A05 OR C
9A06 XOR $1E
9A08 JR Z,Keyboard_Handle_2
9A0A SET 1,B
Keyboard_Handle_2 9A0C LD A,(IX+$00)
9A0F AND $14
9A11 LD C,A
9A12 LD A,(IX+$07)
9A15 AND $0A
9A17 OR C
9A18 XOR $1E
9A1A JR Z,Keyboard_Handle_3
9A1C SET 0,B
Keyboard_Handle_3 9A1E LD A,(IX+$02)
9A21 AND $0A
9A23 LD C,A
9A24 LD A,(IX+$05)
9A27 AND $15
9A29 OR C
9A2A XOR $1F
9A2C JR Z,Keyboard_Handle_4
9A2E SET 6,B
Keyboard_Handle_4 9A30 LD A,(IX+$02)
9A31 LD A,(HL) Create another copy of that.
9A32 LD (BC),A
9A33 AND $15
9A35 LD C,A
9A36 LD A,(IX+$05)
9A39 AND $0A
9A3B OR C
9A3C XOR $1F
9A3E JR Z,Keyboard_Handle_5
9A40 SET 5,B
Keyboard_Handle_5 9A42 LD A,(IX+$03)
9A45 XOR (IX+$04)
9A48 AND $1E
9A4A JR Z,Keyboard_Handle_6
9A4C SET 7,B
Keyboard_Handle_6 9A4E LD A,(IX+$00)
9A51 AND (IX+$07)
9A54 AND (IX+$03)
9A57 AND (IX+$04)
9A5A AND $01
9A5C JR NZ,Keyboard_Handle_7
9A5E SET 4,B
Keyboard_Handle_7 9A60 LD A,B
9A61 LD (KeyCmd),A
9A64 LD A,(_b11e)
9A67 ADD A,B
9A68 LD (_b11e),A
9A6B LD A,(IX+$06)
9A6E AND $01
9A70 XOR $01
9A72 LD (KeyCmd_Enter),A
9A75 RET
Keyboard_Handle_8 9A76 LD (KeyCmd),A
9A79 XOR A
9A7A LD (KeyCmd_Enter),A
9A7D RET
Prev: 99AF Up: Map Next: 9A7E