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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
INCLUDE "constants.asm"
SECTION "engine/unknown11d32.asm", ROMX
Unknown11d32:
ld hl, hJoySum
ld a, [hl]
and D_UP
jr nz, .upJump
ld a, [hl]
and D_DOWN
jr nz, .downJump
ld a, [hl]
and D_LEFT
jr nz, .leftJump
ld a, [hl]
and D_RIGHT
jr nz, .rightJump
ret
.rightJump
ld hl, $000C
add hl, bc
ld a, [hl]
cp $0D
jr nc, .skip
inc [hl]
jr .escape
.skip
ld [hl], 0
jr .escape
.leftJump
ld hl, $000C
add hl, bc
ld a, [hl]
and a
jr z, .skip2
dec [hl]
jr .escape
.skip2
ld [hl], $0D
jr .escape
.downJump
ld hl, $000D
add hl, bc
ld a, [hl]
cp 4
jr nc, .skip3
inc [hl]
jr .escape
.skip3
ld [hl], 00
jr .escape
.upJump
ld hl, $000D
add hl, bc
ld a, [hl]
and a
jr z, .skip4
dec [hl]
jr .escape
.skip4
ld [hl], 4
jr .escape
.escape
ld hl, $000C
add hl, bc
ld e, [hl]
ld d, 0
ld hl, .Offsets1
add hl, de
ld a, [hl]
ld hl, $0006
add hl, bc
ld [hl], a
ld hl, $000D
add hl, bc
ld e, [hl]
ld d, 0
ld hl, .Offsets2
add hl, de
ld a, [hl]
ld hl, $0007
add hl, bc
ld [hl], a
ret
.Offsets1:
db $00, $08, $10, $18, $20, $28, $30, $48, $50, $58, $60, $68, $70, $78
.Offsets2:
db $00, $08, $18, $20, $30
|