EE9E: Define keys
| define_keys |
EE9E |
XOR A |
|
EE9F |
LD ($EF14),A |
|
EEA2 |
LD A,$00 |
|
EEA4 |
AND A |
|
EEA5 |
JR NZ,define_keys_0 |
|
EEA7 |
INC A |
|
EEA8 |
LD ($EEA3),A |
|
EEAB |
JR dk_eec9 |
| define_keys_0 |
EEAD |
LD A,$00 |
|
EEAF |
DEC A |
|
EEB0 |
JP Z,dk_eeb9 |
|
EEB3 |
LD ($EEAE),A |
|
EEB6 |
JP dk_ef00 |
| dk_eeb9 |
EEB9 |
LD A,$00 |
|
EEBB |
LD ($EEAE),A |
|
EEBE |
LD HL,$0000 |
| dk_eec1 |
EEC1 |
LD A,(HL) |
|
EEC2 |
DEC A |
|
EEC3 |
JP NZ,dk_eed2 |
|
EEC6 |
CALL sub_EE6E |
| dk_eec9 |
EEC9 |
LD HL,$0000 |
|
EECC |
LD ($EEBF),HL |
|
EECF |
JP dk_eec1 |
| dk_eed2 |
EED2 |
INC HL |
|
EED3 |
LD ($EEBF),HL |
|
EED6 |
INC A |
|
EED7 |
BIT 7,A |
|
EED9 |
JR Z,define_keys_1 |
|
EEDB |
AND $7F |
|
EEDD |
EX AF,AF' |
|
EEDE |
LD A,$01 |
|
EEE0 |
LD ($EEAE),A |
|
EEE3 |
LD ($EF01),A |
|
EEE6 |
EX AF,AF' |
| define_keys_1 |
EEE7 |
LD D,A |
|
EEE8 |
AND $07 |
|
EEEA |
JR Z,dk_ef00 |
|
EEEC |
LD B,A |
|
EEED |
LD A,D |
|
EEEE |
SRL A |
|
EEF0 |
SRL A |
|
EEF2 |
SRL A |
|
EEF4 |
DEC B |
|
EEF5 |
JP Z,playdrum_2 |
|
EEF8 |
DEC B |
|
EEF9 |
JP Z,playdrum_1 |
|
EEFC |
DEC B |
|
EEFD |
JP Z,noise |
| dk_ef00 |
EF00 |
LD A,$00 |
|
EF02 |
AND A |
|
EF03 |
JR Z,dk_ef0d |
|
EF05 |
LD HL,$EEAE |
|
EF08 |
DEC (HL) |
|
EF09 |
LD HL,$EF01 |
|
EF0C |
DEC (HL) |
| dk_ef0d |
EF0D |
LD A,$00 |
|
EF0F |
DEC A |
|
EF10 |
JP Z,playdrum_2_0 |
| dk_wait |
EF13 |
LD A,$00 |
|
EF15 |
AND A |
|
EF16 |
JR Z,dk_wait |
|
EF18 |
RET |