-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbank60.asm
executable file
·280 lines (270 loc) · 5.92 KB
/
bank60.asm
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
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
SECTION "bank60", ROMX, BANK[60]
; 0xf0000
Unknown_f0000:
INCBIN "baserom.gbc", 16384*60+$0, $1000-$0
Unknown_f1000:
INCBIN "baserom.gbc", 16384*60+$1000, $2000-$1000
Unknown_f2000:
INCBIN "baserom.gbc", 16384*60+$2000, $2860-$2000
Unknown_f2860:
INCBIN "baserom.gbc", 16384*60+$2860, $2870-$2860
Unknown_f2870:
INCBIN "baserom.gbc", 16384*60+$2870, $2880-$2870
Unknown_f2880:
INCBIN "baserom.gbc", 16384*60+$2880, $2890-$2880
Unknown_f2890:
INCBIN "baserom.gbc", 16384*60+$2890, $28a0-$2890
Unknown_f28a0:
INCBIN "baserom.gbc", 16384*60+$28a0, $28b0-$28a0
Unknown_f28b0:
INCBIN "baserom.gbc", 16384*60+$28b0, $28c0-$28b0
Unknown_f28c0:
INCBIN "baserom.gbc", 16384*60+$28c0, $28d0-$28c0
Unknown_f28d0:
INCBIN "baserom.gbc", 16384*60+$28d0, $28e0-$28d0
Unknown_f28e0:
INCBIN "baserom.gbc", 16384*60+$28e0, $28f0-$28e0
Unknown_f28f0:
INCBIN "baserom.gbc", 16384*60+$28f0, $2900-$28f0
Unknown_f2900:
INCBIN "baserom.gbc", 16384*60+$2900, $2910-$2900
Unknown_f2910:
INCBIN "baserom.gbc", 16384*60+$2910, $2930-$2910
Unknown_f2930:
INCBIN "baserom.gbc", 16384*60+$2930, $2940-$2930
Unknown_f2940:
INCBIN "baserom.gbc", 16384*60+$2940, $2950-$2940
Unknown_f2950:
INCBIN "baserom.gbc", 16384*60+$2950, $2960-$2950
Unknown_f2960:
INCBIN "baserom.gbc", 16384*60+$2960, $2a02-$2960
Unknown_f2a02:
INCBIN "baserom.gbc", 16384*60+$2a02, $2a12-$2a02
Unknown_f2a12:
INCBIN "baserom.gbc", 16384*60+$2a12, $2a22-$2a12
Functionf2a22:
ld a, [$fffe]
and a
ret nz
ld bc, $001e
call Functionf2b92
ld hl, Unknown_f2a12
call Functionf2b51
call Functionf2b86
ld a, [$ff00]
and $3
cp $3
jr nz, .asm_f2a76
ld a, $20
ld [$ff00], a
ld a, [$ff00]
ld a, [$ff00]
ld a, $30
ld [$ff00], a
ld a, $10
ld [$ff00], a
ld a, [$ff00]
ld a, [$ff00]
ld a, [$ff00]
ld a, [$ff00]
ld a, [$ff00]
ld a, [$ff00]
ld a, $30
ld [$ff00], a
ld a, [$ff00]
ld a, [$ff00]
ld a, [$ff00]
ld a, [$ff00]
and $3
cp $3
jr nz, .asm_f2a76
ld hl, Unknown_f2a02
call Functionf2b51
call Functionf2b86
sub a
ret
.asm_f2a76
ld hl, Unknown_f2a02
call Functionf2b51
call Functionf2b86
ld hl, Unknown_f2860
call Functionf2b51
ld bc, $0006
call Functionf2b92
ld hl, Unknown_f2960
call Functionf2b51
ld bc, $0006
call Functionf2b92
ld hl, Unknown_f2880
call Functionf2b51
ld bc, $0006
call Functionf2b92
ld hl, Unknown_f2890
call Functionf2b51
ld bc, $0006
call Functionf2b92
ld hl, Unknown_f28a0
call Functionf2b51
ld bc, $0006
call Functionf2b92
ld hl, Unknown_f28b0
call Functionf2b51
ld bc, $0006
call Functionf2b92
ld hl, Unknown_f28c0
call Functionf2b51
ld bc, $0006
call Functionf2b92
ld hl, Unknown_f28d0
call Functionf2b51
ld bc, $0006
call Functionf2b92
ld hl, Unknown_f28e0
call Functionf2b51
ld bc, $0006
call Functionf2b92
ld hl, Unknown_f28f0
call Functionf2b51
ld bc, $0006
call Functionf2b92
ld hl, Unknown_f2900
call Functionf2b51
ld bc, $0006
call Functionf2b92
ld hl, Unknown_f2910
call Functionf2b51
ld bc, $0006
call Functionf2b92
ld hl, Unknown_f0000
ld de, Unknown_f2930
call Functionf2ba3
ld hl, Unknown_f1000
ld de, Unknown_f2940
call Functionf2ba3
ld hl, Unknown_f2000
ld de, Unknown_f2950
call Functionf2ba3
ld hl, v8000
ld bc, $2000
.asm_f2b30
xor a
ld [hli], a
dec bc
ld a, c
or b
jr nz, .asm_f2b30
ld a, $81
ld [rLCDC], a
ld bc, $0006
call Functionf2b92
ld hl, Unknown_f2870
call Functionf2b51
ld bc, $0006
call Functionf2b92
xor a
ld [rLCDC], a
ret
; 0xf2b51
Functionf2b51:
ld a, [hl]
and $7
ret z
ld b, a
ld c, $0
.asm_f2b58
push bc
xor a
ld [$ff00+c], a
ld a, $30
ld [$ff00+c], a
ld b, $10
.asm_f2b60
ld e, $8
ld a, [hli]
ld d, a
.asm_f2b64
bit 0, d
ld a, $10
jr nz, .asm_f2b6c
ld a, $20
.asm_f2b6c
ld [$ff00+c], a
ld a, $30
ld [$ff00+c], a
rr d
dec e
jr nz, .asm_f2b64
dec b
jr nz, .asm_f2b60
ld a, $20
ld [$ff00+c], a
ld a, $30
ld [$ff00+c], a
pop bc
dec b
ret z
call Functionf2b86
jr .asm_f2b58
; 0xf2b86
Functionf2b86:
ld de, $1b58
.asm_f2b89
nop
nop
nop
dec de
ld a, d
or e
jr nz, .asm_f2b89
ret
; 0xf2b92
Functionf2b92:
.asm_f2b92
ld de, $06d6
.asm_f2b95
nop
nop
nop
dec de
ld a, d
or e
jr nz, .asm_f2b95
dec bc
ld a, b
or c
jr nz, .asm_f2b92
ret
; 0xf2ba3
Functionf2ba3:
push de
ld a, $e4
ld [rBGP], a
ld de, v8800
ld bc, $1000
call CopyBytes
ld hl, VBGMap0
ld de, $000c
ld a, $80
ld c, $d
.asm_f2bbb
ld b, $14
.asm_f2bbd
ld [hli], a
inc a
dec b
jr nz, .asm_f2bbd
add hl, de
dec c
jr nz, .asm_f2bbb
ld a, $81
ld [rLCDC], a
ld bc, $0005
call Functionf2b92
pop hl
call Functionf2b51
ld bc, $0006
call Functionf2b92
xor a
ld [rLCDC], a
ret
; 0xf2bde