1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
Pad_Button_Check:
PUSH AF
PUSH BC
LD A, $mem_button_direction
LD $mem_last_button_direction, A
LD A, $mem_button_action
LD $mem_last_button_action, A
LD A, $20
LD $reg_joypad, A
LD A, $reg_joypad
LD A, $reg_joypad
LD A, $reg_joypad
LD A, $reg_joypad
LD A, $reg_joypad
LD A, $reg_joypad
LD A, $reg_joypad
LD A, $reg_joypad
LD A, $reg_joypad
LD C, A
LD A, $00
.Right:
BIT 0, C
JR NZ =.Left
LD A, $enum_direction_right
.Left:
BIT 1, C
JR NZ =.Up
LD A, $enum_direction_left
.Up:
BIT 2, C
JR NZ =.Down
LD A, $enum_direction_up
.Down:
BIT 3, C
JR NZ =.End
LD A, $enum_direction_down
.End:
LD $mem_button_direction, A
LD A, $10
LD $reg_joypad, A
LD A, $reg_joypad
LD A, $reg_joypad
LD A, $reg_joypad
LD A, $reg_joypad
LD A, $reg_joypad
LD A, $reg_joypad
LD A, $reg_joypad
LD A, $reg_joypad
LD A, $reg_joypad
XOR $0f
AND $0f
LD $mem_button_action, A
CP $0f
JP Z, =Start
POP BC
POP AF
RET
|