summaryrefslogtreecommitdiff
path: root/home/movement.asm
blob: 4925ffe74d49aa7bc6bb076de3716907dc3fd6c2 (plain)
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
Function1b1e:: ; 1b1e
	ld [$d003], a
	xor a
	ld [DefaultFlypoint], a
	ld a, $0
	ld [$d004], a
	ld a, $7
	ld [StartFlypoint], a
	ld a, $d0
	ld [EndFlypoint], a
	ret
; 1b35

Function1b35:: ; 1b35
	ld a, [DefaultFlypoint]
	and a
	ret z
	dec a
	ld [DefaultFlypoint], a
	ret
; 1b3f

Function1b3f:: ; 1b3f
	push hl
	push de
	ld hl, DefaultFlypoint
	ld e, [hl]
	inc [hl]
	ld d, 0
	ld hl, MovementBuffer
	add hl, de
	ld [hl], a
	pop de
	pop hl
	ret
; 1b50

Function1b50:: ; 1b50
	push af
	ld a, c
	and a
	jr nz, .asm_1b57
	pop af
	ret

.asm_1b57
	pop af
.asm_1b58
	call Function1b3f
	dec c
	jr nz, .asm_1b58
	ret
; 1b5f

Function1b5f:: ; 1b5f
	push af
	ld a, b
	sub d
	ld h, $2
	jr nc, .asm_1b6a
	dec a
	cpl
	ld h, $3

.asm_1b6a
	ld d, a
	ld a, c
	sub e
	ld l, $1
	jr nc, .asm_1b75
	dec a
	cpl
	ld l, $0

.asm_1b75
	ld e, a
	cp d
	jr nc, .asm_1b7f
	ld a, h
	ld h, l
	ld l, a
	ld a, d
	ld d, e
	ld e, a

.asm_1b7f
	pop af
	ld b, a
	ld a, h
	call Function1b92
	ld c, d
	call Function1b50
	ld a, l
	call Function1b92
	ld c, e
	call Function1b50
	ret
; 1b92

Function1b92:: ; 1b92
	push de
	push hl
	ld l, b
	ld h, 0
	add hl, hl
	add hl, hl
	ld e, a
	ld d, 0
	add hl, de
	ld de, .data_1ba5
	add hl, de
	ld a, [hl]
	pop hl
	pop de
	ret
; 1ba5

.data_1ba5
	db 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19
; 1bb1

Function1bb1:: ; 1bb1
	push hl
	push bc
	ld hl, $cfa1
	ld b, $8
.asm_1bb8
	ld a, [de]
	inc de
	ld [hli], a
	dec b
	jr nz, .asm_1bb8
	ld a, $1
	ld [hli], a
	ld [hli], a
	xor a
	ld [hli], a
	ld [hli], a
	ld [hli], a
	pop bc
	pop hl
	ret
; 1bc9

Function1bc9:: ; 1bc9
	callab Function241a8
	call Function1bdd
	ret
; 1bd3

Function1bd3:: ; 1bd3
	callab Function241ab
	call Function1bdd
	ret
; 1bdd

Function1bdd:: ; 1bdd
	push bc
	push af
	ld a, [$ffa9]
	and $f0
	ld b, a
	ld a, [hJoyPressed]
	and $f
	or b
	ld b, a
	pop af
	ld a, b
	pop bc
	ret
; 1bee

Function1bee:: ; 1bee
	ld hl, $cfac
	ld a, [hli]
	ld h, [hl]
	ld l, a
	ld [hl], $ec
	ret
; 1bf7

Function1bf7:: ; 1bf7
	ld hl, $cfac
	ld a, [hli]
	ld h, [hl]
	ld l, a
	ld [hl], $7f
	ret
; 1c00

Function1c00:: ; 1c00
	callab Function24374
	ret
; 1c07

Function1c07:: ; 0x1c07
	push af
	callab Function243e8
	pop af
	ret

Function1c10:: ; 0x1c10
	callab Function2446d
	ret

Function1c17:: ; 0x1c17
	push af
	call Function1c07
	call Function321c
	call Function1ad2
	pop af
	ret

Function1c23:: ; 0x1c23
	call Function1cfd
	call Function1c30
	call Function1d19
	call Function1c30
	ret
; 0x1c30