99C4: Tests keyboard and convert presses into command bit flag.
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) |
|
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 |