mirror of
https://github.com/pret/poketcg.git
synced 2026-10-05 07:37:15 -04:00
1327 lines
17 KiB
NASM
Executable File
1327 lines
17 KiB
NASM
Executable File
LoadMap: ; c000 (3:4000)
|
|
call Func_028a
|
|
call Func_07b6
|
|
bank1call Func_6785
|
|
call Func_07be
|
|
ld a, $0
|
|
ld [$d0b5], a
|
|
xor a
|
|
ld [$d10f], a
|
|
ld [$d110], a
|
|
ld [$d113], a
|
|
farcall Func_10a9b
|
|
call Func_c1a4
|
|
call Func_099c
|
|
xor a
|
|
ld [$cab6], a
|
|
call Func_2119
|
|
call Func_02b9
|
|
xor a
|
|
ld [$cd08], a
|
|
xor a
|
|
ld [$d291], a
|
|
.asm_c037
|
|
farcall Func_10ab4
|
|
call Func_c1a4
|
|
call Func_c241
|
|
call Func_04a2
|
|
call Func_3ca0
|
|
ld a, $c2
|
|
ld [$ff97], a
|
|
farcall Func_1c440
|
|
ld a, [$d0bb]
|
|
ld [wCurMap], a
|
|
ld a, [$d0bc]
|
|
ld [wPlayerXCoord], a
|
|
ld a, [$d0bd]
|
|
ld [wPlayerYCoord], a
|
|
call Func_c36a
|
|
call Func_c184
|
|
call Func_c49c
|
|
farcall Func_80000
|
|
call Func_c4b9
|
|
call Func_c943
|
|
call Func_c158
|
|
farcall Func_80480
|
|
call Func_c199
|
|
xor a
|
|
ld [$d0b4], a
|
|
ld [$d0c1], a
|
|
call Func_39fc
|
|
farcall Func_10af9
|
|
call Func_c141
|
|
call Func_c17a
|
|
.asm_c092
|
|
call Func_3c48
|
|
call Func_c491
|
|
call Func_c0ce
|
|
ld hl, $d0b4
|
|
ld a, [hl]
|
|
and $d0
|
|
jr z, .asm_c092
|
|
call Func_3c48
|
|
ld hl, $d0b4
|
|
ld a, [hl]
|
|
bit 4, [hl]
|
|
jr z, .asm_c0b6
|
|
ld a, $c
|
|
call Func_3796
|
|
jp .asm_c037
|
|
.asm_c0b6
|
|
farcall Func_10ab4
|
|
call Func_c1a0
|
|
ld a, [$d113]
|
|
or a
|
|
jr z, .asm_c0ca
|
|
call Func_c280
|
|
farcall Func_103d3
|
|
.asm_c0ca
|
|
call Func_c280
|
|
ret
|
|
|
|
Func_c0ce: ; c0ce (3:40ce)
|
|
ld a, [$d0bf]
|
|
res 7, a
|
|
rlca
|
|
add PointerTable_c0e0 & $ff
|
|
ld l, a
|
|
ld a, PointerTable_c0e0 >> $8
|
|
adc $0
|
|
ld h, a
|
|
ld a, [hli]
|
|
ld h, [hl]
|
|
ld l, a
|
|
jp [hl]
|
|
|
|
PointerTable_c0e0: ; c0e0 (3:40e0)
|
|
dw Func_c0e8
|
|
dw Func_c0ed
|
|
dw Func_c0f1
|
|
dw Func_c10a
|
|
|
|
Func_c0e8: ; c0e8 (3:40e8)
|
|
farcall Func_10e55
|
|
ret
|
|
|
|
Func_c0ed: ; c0ed (3:40ed)
|
|
call Func_c510
|
|
ret
|
|
|
|
Func_c0f1: ; c0f1 (3:40f1)
|
|
ld a, [$d3b6]
|
|
ld [$d3aa], a
|
|
farcall Func_1c768
|
|
ld a, c
|
|
ld [$d0c6], a
|
|
ld a, b
|
|
ld [$d0c7], a
|
|
ld a, $3
|
|
ld [$d0bf], a
|
|
jr Func_c10a
|
|
|
|
Func_c10a: ; c10a (3:410a)
|
|
ld hl, $d0c6
|
|
ld a, [hli]
|
|
ld h, [hl]
|
|
ld l, a
|
|
jp [hl]
|
|
|
|
Func_c111: ; c111 (3:4111)
|
|
ld a, [$d0c1]
|
|
bit 0, a
|
|
call nz, Func_c135
|
|
ld a, [$d0c1]
|
|
bit 1, a
|
|
jr z, .asm_c12a
|
|
ld a, [$d3b6]
|
|
ld [$d3aa], a
|
|
farcall Func_1c5e9
|
|
.asm_c12a
|
|
xor a
|
|
ld [$d0c1], a
|
|
ld a, [$d0c0]
|
|
ld [$d0bf], a
|
|
ret
|
|
|
|
Func_c135: ; c135 (3:4135)
|
|
push hl
|
|
farcall Func_80028
|
|
ld hl, $d0c1
|
|
res 0, [hl]
|
|
pop hl
|
|
ret
|
|
|
|
Func_c141: ; c141 (3:4141)
|
|
ld hl, $d0c2
|
|
ld a, [hl]
|
|
or a
|
|
ret z
|
|
push af
|
|
xor a
|
|
ld [hl], a
|
|
pop af
|
|
dec a
|
|
ld hl, PointerTable_c152
|
|
jp JumpToFunctionInTable
|
|
|
|
PointerTable_c152: ; c152 (3:4152)
|
|
dw Func_c9bc
|
|
dw Func_fc2b
|
|
dw Func_fcad
|
|
|
|
Func_c158: ; c158 (3:4158)
|
|
ld a, [$d0c2]
|
|
cp $1
|
|
ret nz
|
|
ld a, [$d0c4]
|
|
ld [$d3ab], a
|
|
call Func_39c3
|
|
jr c, .asm_c179
|
|
ld a, [$d3aa]
|
|
ld l, $4
|
|
call Func_39ad
|
|
ld a, [$d0c5]
|
|
ld [hl], a
|
|
farcall Func_1c58e
|
|
.asm_c179
|
|
ret
|
|
|
|
Func_c17a: ; c17a (3:417a)
|
|
ld a, [$d0bf]
|
|
cp $3
|
|
ret z
|
|
call Func_c9b8
|
|
ret
|
|
|
|
Func_c184: ; c184 (3:4184)
|
|
push bc
|
|
ld c, $1
|
|
ld a, [wCurMap]
|
|
cp OVERWORLD_MAP
|
|
jr nz, .asm_c190
|
|
ld c, $0
|
|
.asm_c190
|
|
ld a, c
|
|
ld [$d0bf], a
|
|
ld [$d0c0], a
|
|
pop bc
|
|
ret
|
|
|
|
Func_c199: ; c199 (3:4199)
|
|
ld hl, Func_380e
|
|
call Func_3bd2
|
|
ret
|
|
|
|
Func_c1a0: ; c1a0 (3:41a0)
|
|
call Func_3bdb
|
|
ret
|
|
|
|
Func_c1a4: ; c1a4 (3:41a4)
|
|
xor a
|
|
call Func_040c
|
|
xor a
|
|
call Func_0423
|
|
xor a
|
|
call Func_0428
|
|
ret
|
|
|
|
Func_c1b1: ; c1b1 (3:41b1)
|
|
ld a, $c
|
|
ld [$d32e], a
|
|
ld a, $0
|
|
ld [$d0bb], a
|
|
ld a, $c
|
|
ld [$d0bc], a
|
|
ld a, $c
|
|
ld [$d0bd], a
|
|
ld a, $2
|
|
ld [$d0be], a
|
|
call Func_c9cb
|
|
call Func_c9dd
|
|
farcall Func_80b7a
|
|
farcall Func_1c82e
|
|
farcall Func_131b3
|
|
xor a
|
|
ld [$cac5], a
|
|
ld [$cac6], a
|
|
ld [$cac7], a
|
|
ld [$cac8], a
|
|
ld [$cac9], a
|
|
ret
|
|
|
|
Func_c1ed: ; c1ed (3:41ed)
|
|
call Func_c9cb
|
|
farcall Func_11416
|
|
call Func_c9dd
|
|
ret
|
|
|
|
Func_c1f8: ; c1f8 (3:41f8)
|
|
xor a
|
|
ld [$d0b8], a
|
|
ld [$d0b9], a
|
|
ld [$d0ba], a
|
|
ld [$d11b], a
|
|
ld [$d0c2], a
|
|
ld [$d111], a
|
|
ld [$d112], a
|
|
ld [$d3b8], a
|
|
call Func_07b6
|
|
ld a, [$a007]
|
|
ld [$d421], a
|
|
ld a, [$a006]
|
|
ld [$ce47], a
|
|
call Func_07be
|
|
farcall Func_10756
|
|
ret
|
|
|
|
Func_c228: ; c228 (3:4228)
|
|
ld a, [wCurMap]
|
|
ld [$d0bb], a
|
|
ld a, [wPlayerXCoord]
|
|
ld [$d0bc], a
|
|
ld a, [wPlayerYCoord]
|
|
ld [$d0bd], a
|
|
ld a, [$d334]
|
|
ld [$d0be], a
|
|
ret
|
|
|
|
Func_c241: ; c241 (3:4241)
|
|
push hl
|
|
push bc
|
|
push de
|
|
ld de, Unknown_307f
|
|
call Func_2275
|
|
call Func_c258
|
|
pop de
|
|
pop bc
|
|
pop hl
|
|
ret
|
|
|
|
Func_c251: ; c251 (3:4251)
|
|
ld a, [$ffb0]
|
|
push af
|
|
ld a, $1
|
|
jr asm_c25d
|
|
|
|
Func_c258: ; c258 (3:4258)
|
|
ld a, [$ffb0]
|
|
push af
|
|
ld a, $2
|
|
asm_c25d
|
|
ld [$ffb0], a
|
|
push hl
|
|
call Func_c268
|
|
pop hl
|
|
pop af
|
|
ld [$ffb0], a
|
|
ret
|
|
|
|
Func_c268: ; c268 (3:4268)
|
|
ld hl, Unknown_c27c
|
|
.asm_c26b
|
|
push hl
|
|
ld a, [hli]
|
|
ld h, [hl]
|
|
ld l, a
|
|
or h
|
|
jr z, .asm_c27a
|
|
call Func_2c29
|
|
pop hl
|
|
inc hl
|
|
inc hl
|
|
jr .asm_c26b
|
|
.asm_c27a
|
|
pop hl
|
|
ret
|
|
|
|
Unknown_c27c: ; c27c (3:427c)
|
|
INCBIN "baserom.gbc",$c27c,$c280 - $c27c
|
|
|
|
Func_c280: ; c280 (3:4280)
|
|
call Func_c228
|
|
call Func_3ca0
|
|
call Func_099c
|
|
ld hl, $cac0
|
|
inc [hl]
|
|
call Func_0277
|
|
call Func_3c48
|
|
call Func_028a
|
|
farcall Func_12871
|
|
ret
|
|
|
|
Func_c29b: ; c29b (3:429b)
|
|
push hl
|
|
ld hl, $d0c1
|
|
or [hl]
|
|
ld [hl], a
|
|
pop hl
|
|
ret
|
|
|
|
Func_c2a3: ; c2a3 (3:42a3)
|
|
push hl
|
|
push bc
|
|
push de
|
|
call Func_c335
|
|
farcall Func_10ab4
|
|
ld a, $80
|
|
call Func_c29b
|
|
ld de, Unknown_307f
|
|
call Func_2275
|
|
farcall Func_12ba7
|
|
call Func_3ca0
|
|
call Func_099c
|
|
ld a, $1
|
|
ld [$cac0], a
|
|
call Func_0277
|
|
call Func_3c48
|
|
call Func_028a
|
|
pop de
|
|
pop bc
|
|
pop hl
|
|
ret
|
|
; 0xc2d4
|
|
|
|
INCBIN "baserom.gbc",$c2d4,$c2db - $c2d4
|
|
|
|
Func_c2db: ; c2db (3:42db)
|
|
push hl
|
|
push bc
|
|
push de
|
|
call Func_028a
|
|
call Func_02b9
|
|
call Func_3ca0
|
|
farcall Func_12bcd
|
|
ld a, $c2
|
|
ld [$ff97], a
|
|
call Func_c241
|
|
call Func_04a2
|
|
ld a, [$d111]
|
|
push af
|
|
farcall Func_80000
|
|
pop af
|
|
ld [$d111], a
|
|
ld hl, $d0c1
|
|
res 0, [hl]
|
|
call Func_c34e
|
|
farcall Func_12c5e
|
|
farcall Func_1c6f8
|
|
ld hl, $d0c1
|
|
res 7, [hl]
|
|
ld hl, $d10f
|
|
ld a, [hli]
|
|
or [hl]
|
|
jr z, .asm_c323
|
|
ld a, [hld]
|
|
ld l, [hl]
|
|
ld h, a
|
|
call Func_3c45
|
|
.asm_c323
|
|
farcall Func_10af9
|
|
pop de
|
|
pop bc
|
|
pop hl
|
|
ret
|
|
|
|
Func_c32b: ; c32b (3:432b)
|
|
ld a, l
|
|
ld [$d10f], a
|
|
ld a, h
|
|
ld [$d110], a
|
|
jr Func_c2db
|
|
|
|
Func_c335: ; c335 (3:4335)
|
|
ld a, [$cabd]
|
|
ld [$d10c], a
|
|
ld a, [$cabe]
|
|
ld [$d10d], a
|
|
ld hl, $cb30
|
|
ld de, $d0cc
|
|
ld bc, $0040
|
|
call CopyData_SaveRegisters
|
|
ret
|
|
|
|
Func_c34e: ; c34e (3:434e)
|
|
ld a, [$d10c]
|
|
ld [$cabd], a
|
|
ld a, [$d10d]
|
|
ld [$cabe], a
|
|
ld hl, $d0cc
|
|
ld de, $cb30
|
|
ld bc, $0040
|
|
call CopyData_SaveRegisters
|
|
call Func_0404
|
|
ret
|
|
|
|
Func_c36a: ; c36a (3:436a)
|
|
xor a
|
|
ld [$d323], a
|
|
ld a, [wCurMap]
|
|
cp POKEMON_DOME_ENTRANCE
|
|
jr nz, .asm_c379
|
|
xor a
|
|
ld [$d324], a
|
|
.asm_c379
|
|
ret
|
|
; 0xc37a
|
|
|
|
INCBIN "baserom.gbc",$c37a,$c41c - $c37a
|
|
|
|
Func_c41c: ; c41c (3:441c)
|
|
ld a, [$d332]
|
|
sub $40
|
|
ld [$d235], a
|
|
ld a, [$d333]
|
|
sub $40
|
|
ld [$d236], a
|
|
call Func_c430
|
|
ret
|
|
|
|
Func_c430: ; c430 (3:4430)
|
|
push bc
|
|
ld a, [$d237]
|
|
sla a
|
|
sla a
|
|
sla a
|
|
ld b, a
|
|
ld a, [$d235]
|
|
cp $b1
|
|
jr c, .asm_c445
|
|
xor a
|
|
jr .asm_c449
|
|
.asm_c445
|
|
cp b
|
|
jr c, .asm_c449
|
|
ld a, b
|
|
.asm_c449
|
|
ld [$d235], a
|
|
ld a, [$d238]
|
|
sla a
|
|
sla a
|
|
sla a
|
|
ld b, a
|
|
ld a, [$d236]
|
|
cp $b9
|
|
jr c, .asm_c460
|
|
xor a
|
|
jr .asm_c464
|
|
.asm_c460
|
|
cp b
|
|
jr c, .asm_c464
|
|
ld a, b
|
|
.asm_c464
|
|
ld [$d236], a
|
|
pop bc
|
|
ret
|
|
|
|
Func_c469: ; c469 (3:4469)
|
|
ld a, [$d235]
|
|
add $4
|
|
and $f8
|
|
rrca
|
|
rrca
|
|
rrca
|
|
ld [$d233], a
|
|
ld a, [$d236]
|
|
add $4
|
|
and $f8
|
|
rrca
|
|
rrca
|
|
rrca
|
|
ld [$d234], a
|
|
ret
|
|
; 0xc484
|
|
|
|
INCBIN "baserom.gbc",$c484,$c491 - $c484
|
|
|
|
Func_c491: ; c491 (3:4491)
|
|
ld a, [$d0b6]
|
|
ld [$ff92], a
|
|
ld a, [$d0b7]
|
|
ld [$ff93], a
|
|
ret
|
|
|
|
Func_c49c: ; c49c (3:449c)
|
|
ld a, [wPlayerXCoord]
|
|
and $1f
|
|
ld [wPlayerXCoord], a
|
|
rlca
|
|
rlca
|
|
rlca
|
|
ld [$d332], a
|
|
ld a, [wPlayerYCoord]
|
|
and $1f
|
|
ld [wPlayerYCoord], a
|
|
rlca
|
|
rlca
|
|
rlca
|
|
ld [$d333], a
|
|
ret
|
|
|
|
Func_c4b9: ; c4b9 (3:44b9)
|
|
xor a
|
|
ld [$d4ca], a
|
|
ld [$d4cb], a
|
|
ld a, $1d
|
|
farcall Func_80418
|
|
ld b, $0
|
|
ld a, [$cab4]
|
|
cp $2
|
|
jr nz, .asm_c4d1
|
|
ld b, $1e
|
|
.asm_c4d1
|
|
ld a, b
|
|
ld [$d337], a
|
|
ld a, $0
|
|
farcall Func_1299f
|
|
ld a, [$d4cf]
|
|
ld [$d336], a
|
|
ld b, $2
|
|
ld a, [wCurMap]
|
|
cp OVERWORLD_MAP
|
|
jr z, .asm_c4ee
|
|
ld a, [$d0be]
|
|
ld b, a
|
|
.asm_c4ee
|
|
ld a, b
|
|
ld [$d334], a
|
|
call Func_c5e9
|
|
ld a, [wCurMap]
|
|
cp OVERWORLD_MAP
|
|
call nz, Func_c6f7
|
|
xor a
|
|
ld [$d335], a
|
|
ld [$d338], a
|
|
ld a, [wCurMap]
|
|
cp OVERWORLD_MAP
|
|
jr nz, .asm_c50f
|
|
farcall Func_10fde
|
|
.asm_c50f
|
|
ret
|
|
|
|
Func_c510: ; c510 (3:4510)
|
|
ld a, [$d336]
|
|
ld [$d4cf], a
|
|
ld a, [$d335]
|
|
bit 4, a
|
|
ret nz
|
|
bit 0, a
|
|
call z, Func_c5ac
|
|
ld a, [$d335]
|
|
or a
|
|
jr z, .asm_c535
|
|
bit 0, a
|
|
call nz, Func_c66c
|
|
ld a, [$d335]
|
|
bit 1, a
|
|
call nz, Func_c6dc
|
|
ret
|
|
.asm_c535
|
|
ld a, [$ff91]
|
|
and $8
|
|
call nz, Func_c74d
|
|
ret
|
|
; 0xc53d
|
|
|
|
INCBIN "baserom.gbc",$c53d,$c5ac - $c53d
|
|
|
|
Func_c5ac: ; c5ac (3:45ac)
|
|
ld a, [$ff90]
|
|
and $f0
|
|
jr z, .asm_c5bf
|
|
call Func_c5cb
|
|
call Func_c5fe
|
|
ld a, [$d335]
|
|
and $1
|
|
jr nz, .asm_c5ca
|
|
.asm_c5bf
|
|
ld a, [$ff91]
|
|
and $1
|
|
jr z, .asm_c5ca
|
|
call Func_c71e
|
|
jr .asm_c5ca
|
|
.asm_c5ca
|
|
ret
|
|
|
|
Func_c5cb: ; c5cb (3:45cb)
|
|
call Func_c5d5
|
|
ld [$d334], a
|
|
call Func_c5e9
|
|
ret
|
|
|
|
Func_c5d5: ; c5d5 (3:45d5)
|
|
push hl
|
|
ld hl, Unknown_c5e5
|
|
or a
|
|
jr z, .asm_c5e2
|
|
.asm_c5dc
|
|
rlca
|
|
jr c, .asm_c5e2
|
|
inc hl
|
|
jr .asm_c5dc
|
|
.asm_c5e2
|
|
ld a, [hl]
|
|
pop hl
|
|
ret
|
|
|
|
Unknown_c5e5: ; c5e5 (3:45e5)
|
|
db $02,$00,$03,$01
|
|
|
|
Func_c5e9: ; c5e9 (3:45e9)
|
|
push bc
|
|
ld a, [$d336]
|
|
ld [$d4cf], a
|
|
ld a, [$d337]
|
|
ld b, a
|
|
ld a, [$d334]
|
|
add b
|
|
farcall Func_12ab5
|
|
pop bc
|
|
ret
|
|
|
|
Func_c5fe: ; c5fe (3:45fe)
|
|
push bc
|
|
call Func_c653
|
|
call Func_c619
|
|
pop bc
|
|
ret
|
|
; 0xc607
|
|
|
|
INCBIN "baserom.gbc",$c607,$c619 - $c607
|
|
|
|
Func_c619: ; c619 (3:4619)
|
|
push hl
|
|
push bc
|
|
ld a, b
|
|
cp $1f
|
|
jr nc, .asm_c650
|
|
ld a, c
|
|
cp $1f
|
|
jr nc, .asm_c650
|
|
call Func_3927
|
|
and $c0
|
|
jr nz, .asm_c650
|
|
ld a, b
|
|
ld [wPlayerXCoord], a
|
|
ld a, c
|
|
ld [wPlayerYCoord], a
|
|
ld a, [$d335]
|
|
or $1
|
|
ld [$d335], a
|
|
ld a, $10
|
|
ld [$d338], a
|
|
ld c, $f
|
|
call Func_3dbf
|
|
set 2, [hl]
|
|
ld c, $e
|
|
call Func_3dbf
|
|
ld a, $4
|
|
ld [hl], a
|
|
.asm_c650
|
|
pop bc
|
|
pop hl
|
|
ret
|
|
|
|
Func_c653: ; c653 (3:4653)
|
|
ld a, [$d334]
|
|
rlca
|
|
ld c, a
|
|
ld b, $0
|
|
push hl
|
|
ld hl, Unknown_3973
|
|
add hl, bc
|
|
ld a, [wPlayerXCoord]
|
|
add [hl]
|
|
ld b, a
|
|
inc hl
|
|
ld a, [wPlayerYCoord]
|
|
add [hl]
|
|
ld c, a
|
|
pop hl
|
|
ret
|
|
|
|
Func_c66c: ; c66c (3:466c)
|
|
push hl
|
|
push bc
|
|
ld c, $1
|
|
ld a, [$ff90]
|
|
bit 1, a
|
|
jr z, .asm_c67e
|
|
ld a, [$d338]
|
|
cp $2
|
|
jr c, .asm_c67e
|
|
inc c
|
|
.asm_c67e
|
|
ld a, [$d334]
|
|
call Func_c694
|
|
pop bc
|
|
pop hl
|
|
ret
|
|
; 0xc687
|
|
|
|
INCBIN "baserom.gbc",$c687,$c694 - $c687
|
|
|
|
Func_c694: ; c694 (3:4694)
|
|
push hl
|
|
push bc
|
|
push bc
|
|
rlca
|
|
ld c, a
|
|
ld b, $0
|
|
ld hl, Unknown_396b
|
|
add hl, bc
|
|
pop bc
|
|
.asm_c6a0
|
|
push hl
|
|
ld a, [hli]
|
|
or a
|
|
call nz, Func_c6cc
|
|
ld a, [hli]
|
|
or a
|
|
call nz, Func_c6d4
|
|
pop hl
|
|
ld a, [$d338]
|
|
dec a
|
|
ld [$d338], a
|
|
jr z, .asm_c6b8
|
|
dec c
|
|
jr nz, .asm_c6a0
|
|
.asm_c6b8
|
|
ld a, [$d338]
|
|
or a
|
|
jr nz, .asm_c6c3
|
|
ld hl, $d335
|
|
set 1, [hl]
|
|
.asm_c6c3
|
|
call Func_c41c
|
|
call Func_c469
|
|
pop bc
|
|
pop hl
|
|
ret
|
|
|
|
Func_c6cc: ; c6cc (3:46cc)
|
|
push hl
|
|
ld hl, $d332
|
|
add [hl]
|
|
ld [hl], a
|
|
pop hl
|
|
ret
|
|
|
|
Func_c6d4: ; c6d4 (3:46d4)
|
|
push hl
|
|
ld hl, $d333
|
|
add [hl]
|
|
ld [hl], a
|
|
pop hl
|
|
ret
|
|
|
|
Func_c6dc: ; c6dc (3:46dc)
|
|
push hl
|
|
ld hl, $d335
|
|
res 0, [hl]
|
|
res 1, [hl]
|
|
call Func_c6f7
|
|
call Func_3997
|
|
call Func_c70d
|
|
ld a, [$d0bf]
|
|
cp $1
|
|
call z, Func_c9c0
|
|
pop hl
|
|
ret
|
|
|
|
Func_c6f7: ; c6f7 (3:46f7)
|
|
ld a, [$d336]
|
|
ld [$d4cf], a
|
|
ld c, $f
|
|
call Func_3dbf
|
|
res 2, [hl]
|
|
ld c, $e
|
|
call Func_3dbf
|
|
ld a, $ff
|
|
ld [hl], a
|
|
ret
|
|
|
|
Func_c70d: ; c70d (3:470d)
|
|
push hl
|
|
ld hl, $d0bb
|
|
ld a, [wCurMap]
|
|
cp [hl]
|
|
jr z, .asm_c71c
|
|
ld hl, $d0b4
|
|
set 4, [hl]
|
|
.asm_c71c
|
|
pop hl
|
|
ret
|
|
|
|
Func_c71e: ; c71e (3:471e)
|
|
ld a, $ff
|
|
ld [$d3b6], a
|
|
call Func_c653
|
|
call Func_3927
|
|
and $40
|
|
jr z, .asm_c73d
|
|
farcall Func_1c72e
|
|
jr c, .asm_c73d
|
|
ld a, [$d3aa]
|
|
ld [$d3b6], a
|
|
ld a, $2
|
|
jr .asm_c748
|
|
.asm_c73d
|
|
call Func_3a5e
|
|
jr nc, .asm_c746
|
|
ld a, $3
|
|
jr .asm_c748
|
|
.asm_c746
|
|
or a
|
|
ret
|
|
.asm_c748
|
|
ld [$d0bf], a
|
|
scf
|
|
ret
|
|
|
|
Func_c74d: ; c74d (3:474d)
|
|
push hl
|
|
push bc
|
|
push de
|
|
call Func_c75a
|
|
call Func_c111
|
|
pop de
|
|
pop bc
|
|
pop hl
|
|
ret
|
|
|
|
Func_c75a: ; c75a (3:475a)
|
|
call Func_379b
|
|
ld a, $5
|
|
call Func_3785
|
|
call Func_c797
|
|
.asm_c765
|
|
ld a, $1
|
|
call Func_c29b
|
|
.asm_c76a
|
|
call Func_3c48
|
|
call Func_264b
|
|
jr nc, .asm_c76a
|
|
ld a, e
|
|
ld [$d0b8], a
|
|
ld a, [$ffb1]
|
|
cp e
|
|
jr nz, .asm_c793
|
|
cp $5
|
|
jr z, .asm_c793
|
|
call Func_c2a3
|
|
ld a, [$d0b8]
|
|
ld hl, PointerTable_c7a2
|
|
call JumpToFunctionInTable
|
|
ld hl, Func_c797
|
|
call Func_c32b
|
|
jr .asm_c765
|
|
.asm_c793
|
|
call Func_37a0
|
|
ret
|
|
|
|
Func_c797: ; c797 (3:4797)
|
|
ld a, [$d0b8]
|
|
ld hl, Unknown_cd98
|
|
farcall Func_111e9
|
|
ret
|
|
|
|
PointerTable_c7a2: ; c7a2 (3:47a2)
|
|
dw Func_c7ae
|
|
dw Func_c7b3
|
|
dw Func_c7b8
|
|
dw Func_c7cc
|
|
dw Func_c7e0
|
|
dw Func_c7e5
|
|
|
|
Func_c7ae: ; c7ae (3:47ae)
|
|
farcall Func_10059
|
|
ret
|
|
|
|
Func_c7b3: ; c7b3 (3:47b3)
|
|
farcall Func_100a2
|
|
ret
|
|
|
|
Func_c7b8: ; c7b8 (3:47b8)
|
|
xor a
|
|
ld [$ff92], a
|
|
ld [$ff93], a
|
|
call Func_02c2
|
|
farcall Func_1288c
|
|
farcall Func_8db0
|
|
call Func_02b9
|
|
ret
|
|
|
|
Func_c7cc: ; c7cc (3:47cc)
|
|
xor a
|
|
ld [$ff92], a
|
|
ld [$ff93], a
|
|
call Func_02c2
|
|
farcall Func_1288c
|
|
farcall Func_a288
|
|
call Func_02b9
|
|
ret
|
|
|
|
Func_c7e0: ; c7e0 (3:47e0)
|
|
farcall Func_10548
|
|
ret
|
|
|
|
Func_c7e5: ; c7e5 (3:47e5)
|
|
farcall Func_103d2
|
|
ret
|
|
; 0xc7ea
|
|
|
|
INCBIN "baserom.gbc",$c7ea,$c935 - $c7ea
|
|
|
|
Func_c935: ; c935 (3:4935)
|
|
push hl
|
|
ld hl, $d0c6
|
|
ld [hl], c
|
|
inc hl
|
|
ld [hl], b
|
|
ld a, $3
|
|
ld [$d0bf], a
|
|
pop hl
|
|
ret
|
|
|
|
Func_c943: ; c943 (3:4943)
|
|
push hl
|
|
push bc
|
|
push de
|
|
ld l, $0
|
|
call Func_3abd
|
|
jr nc, .asm_c98f
|
|
.asm_c94d
|
|
ld a, l
|
|
ld [$d4c4], a
|
|
ld a, h
|
|
ld [$d4c5], a
|
|
ld a, $4
|
|
ld [$d4c6], a
|
|
ld de, $d3ab
|
|
ld bc, $0006
|
|
call Func_3bf5
|
|
ld a, [$d3ab]
|
|
or a
|
|
jr z, .asm_c98f
|
|
push hl
|
|
ld a, [$d3af]
|
|
ld l, a
|
|
ld a, [$d3b0]
|
|
ld h, a
|
|
or l
|
|
jr z, .asm_c97a
|
|
call Func_3c45
|
|
jr nc, .asm_c988
|
|
.asm_c97a
|
|
ld a, [$d3ab]
|
|
farcall Func_11857
|
|
call Func_c998
|
|
farcall Func_1c485
|
|
.asm_c988
|
|
pop hl
|
|
ld bc, $0006
|
|
add hl, bc
|
|
jr .asm_c94d
|
|
.asm_c98f
|
|
ld l, $2
|
|
call Func_c9c2
|
|
pop de
|
|
pop bc
|
|
pop hl
|
|
ret
|
|
|
|
Func_c998: ; c998 (3:4998)
|
|
ld a, [$d3ab]
|
|
cp $22
|
|
ret nz
|
|
ld a, [$d3d0]
|
|
or a
|
|
ret z
|
|
ld b, $4
|
|
ld a, [$cab4]
|
|
cp $2
|
|
jr nz, .asm_c9ae
|
|
ld b, $e
|
|
.asm_c9ae
|
|
ld a, b
|
|
ld [$d3b1], a
|
|
ld a, $0
|
|
ld [$d3b2], a
|
|
ret
|
|
|
|
Func_c9b8: ; c9b8 (3:49b8)
|
|
ld l, $8
|
|
jr Func_c9c2
|
|
|
|
Func_c9bc: ; c9bc (3:49bc)
|
|
ld l, $a
|
|
jr Func_c9c2
|
|
|
|
Func_c9c0: ; c9c0 (3:49c0)
|
|
ld l, $c
|
|
|
|
Func_c9c2: ; c9c2 (3:49c2)
|
|
call Func_3abd
|
|
ret nc
|
|
jp [hl]
|
|
|
|
Func_c9c7: ; c9c7 (3:49c7)
|
|
ld l, $e
|
|
jr Func_c9c2
|
|
|
|
Func_c9cb: ; c9cb (3:49cb)
|
|
push hl
|
|
push bc
|
|
ld hl, $d3d2
|
|
ld bc, $0040
|
|
.asm_c9d3
|
|
xor a
|
|
ld [hli], a
|
|
dec bc
|
|
ld a, b
|
|
or c
|
|
jr nz, .asm_c9d3
|
|
pop bc
|
|
pop hl
|
|
ret
|
|
|
|
Func_c9dd: ; c9dd (3:49dd)
|
|
xor a
|
|
ld [$d411], a
|
|
call Func_c9e8
|
|
call Func_ca0e
|
|
ret
|
|
|
|
Func_c9e8: ; c9e8 (3:49e8)
|
|
ld c, $0
|
|
call Func_ca69
|
|
db $13
|
|
cp $2
|
|
jr c, .asm_ca04
|
|
.asm_c9f2
|
|
call Func_089b
|
|
and $3
|
|
ld c, a
|
|
ld b, $0
|
|
ld hl, Unknown_ca0a
|
|
add hl, bc
|
|
ld a, [$d0bb]
|
|
cp [hl]
|
|
jr z, .asm_c9f2
|
|
.asm_ca04
|
|
ld a, c
|
|
call Func_ca8f
|
|
db $34
|
|
ret
|
|
|
|
Unknown_ca0a: ; ca0a (3:4a04)
|
|
INCBIN "baserom.gbc",$ca0a,$ca0e - $ca0a
|
|
|
|
Func_ca0e: ; ca0e (3:4a0e)
|
|
ld a, [$d32e]
|
|
cp $b
|
|
jr z, .asm_ca68
|
|
call Func_ca69
|
|
db $22
|
|
or a
|
|
jr nz, .asm_ca4a
|
|
call Func_ca69
|
|
db $40
|
|
cp $7
|
|
jr z, .asm_ca68
|
|
or a
|
|
jr z, .asm_ca33
|
|
cp $2
|
|
jr z, .asm_ca62
|
|
ld c, $1
|
|
call Func_ca8f
|
|
db $40
|
|
jr .asm_ca62
|
|
.asm_ca33
|
|
call Func_ca69
|
|
db $3f
|
|
cp $7
|
|
jr z, .asm_ca68
|
|
or a
|
|
jr z, .asm_ca68
|
|
cp $2
|
|
jr z, .asm_ca68
|
|
ld c, $1
|
|
call Func_ca8f
|
|
db $3f
|
|
jr .asm_ca68
|
|
.asm_ca4a
|
|
call Func_089b
|
|
ld c, $1
|
|
and $3
|
|
or a
|
|
jr z, .asm_ca56
|
|
ld c, $0
|
|
.asm_ca56
|
|
call Func_ca8f
|
|
db $41
|
|
jr .asm_ca5c
|
|
.asm_ca5c
|
|
ld c, $7
|
|
call Func_ca8f
|
|
db $40
|
|
.asm_ca62
|
|
ld c, $7
|
|
call Func_ca8f
|
|
db $3f
|
|
.asm_ca68
|
|
ret
|
|
|
|
Func_ca69: ; ca69 (3:4a69)
|
|
call Func_cab3
|
|
Func_ca6c: ; ca6c (3:4a6c)
|
|
push hl
|
|
push bc
|
|
call Func_cb1d
|
|
ld c, [hl]
|
|
ld a, [$d3d1]
|
|
.asm_ca75
|
|
bit 0, a
|
|
jr nz, .asm_ca7f
|
|
srl a
|
|
srl c
|
|
jr .asm_ca75
|
|
.asm_ca7f
|
|
and c
|
|
pop bc
|
|
pop hl
|
|
or a
|
|
ret
|
|
; 0xca84
|
|
|
|
INCBIN "baserom.gbc",$ca84,$ca8f - $ca84
|
|
|
|
Func_ca8f: ; ca8f (3:4a8f)
|
|
call Func_cab3
|
|
push hl
|
|
push bc
|
|
call Func_cb1d
|
|
ld a, [$d3d1]
|
|
.asm_ca9a
|
|
bit 0, a
|
|
jr nz, .asm_caa4
|
|
srl a
|
|
sla c
|
|
jr .asm_ca9a
|
|
.asm_caa4
|
|
ld a, [$d3d1]
|
|
and c
|
|
ld c, a
|
|
ld a, [$d3d1]
|
|
cpl
|
|
and [hl]
|
|
or c
|
|
ld [hl], a
|
|
pop bc
|
|
pop hl
|
|
ret
|
|
|
|
Func_cab3: ; cab3 (3:4ab3)
|
|
push hl
|
|
ld hl, [sp+$4]
|
|
push bc
|
|
ld c, [hl]
|
|
inc hl
|
|
ld b, [hl]
|
|
ld a, [bc]
|
|
inc bc
|
|
ld [hl], b
|
|
dec hl
|
|
ld [hl], c
|
|
pop bc
|
|
pop hl
|
|
ret
|
|
; 0xcac2
|
|
|
|
INCBIN "baserom.gbc",$cac2,$cb1d - $cac2
|
|
|
|
Func_cb1d: ; cb1d (3:4b1d)
|
|
push bc
|
|
ld c, a
|
|
ld b, $0
|
|
sla c
|
|
rl b
|
|
ld hl, Unknown_cb37
|
|
add hl, bc
|
|
ld a, [hli]
|
|
ld c, a
|
|
ld a, [hl]
|
|
ld [$d3d1], a
|
|
ld b, $0
|
|
ld hl, $d3d2
|
|
add hl, bc
|
|
pop bc
|
|
ret
|
|
|
|
Unknown_cb37: ; cb37 (3:4b37)
|
|
INCBIN "baserom.gbc",$cb37,$cc42 - $cb37
|
|
|
|
RST20: ; cc42 (3:4c42)
|
|
pop hl
|
|
ld a, l
|
|
ld [$d413], a
|
|
ld a, h
|
|
ld [$d414], a
|
|
xor a
|
|
ld [$d412], a
|
|
.asm_cc4f
|
|
call Func_3aed
|
|
ld a, [$d412]
|
|
or a
|
|
jr z, .asm_cc4f
|
|
ld hl, $d413
|
|
ld a, [hli]
|
|
ld c, a
|
|
ld b, [hl]
|
|
push bc
|
|
ret
|
|
; 0xcc60
|
|
|
|
INCBIN "baserom.gbc",$cc60,$cd98 - $cc60
|
|
|
|
Unknown_cd98: ; cd98 (3:4d98)
|
|
INCBIN "baserom.gbc",$cd98,$fc2b - $cd98
|
|
|
|
Func_fc2b: ; fc2b (3:7c2b)
|
|
ld a, [$d0c3]
|
|
cp $2
|
|
jr c, .asm_fc34
|
|
ld a, $2
|
|
.asm_fc34
|
|
rlca
|
|
ld c, a
|
|
ld b, $0
|
|
ld hl, PointerTable_fc4c
|
|
add hl, bc
|
|
ld c, [hl]
|
|
inc hl
|
|
ld b, [hl]
|
|
ld a, $b0
|
|
ld [$d0c8], a
|
|
ld a, $3
|
|
ld [$d0c9], a
|
|
jp Func_c935
|
|
|
|
PointerTable_fc4c: ; fc4c (3:7c4c)
|
|
dw Unknown_fc64
|
|
dw Unknown_fc68
|
|
dw Unknown_fc60
|
|
|
|
INCBIN "baserom.gbc",$fc52,$fc60 - $fc52
|
|
|
|
Unknown_fc60: ; fc60 (3:7c60)
|
|
INCBIN "baserom.gbc",$fc60,$fc64 - $fc60
|
|
|
|
Unknown_fc64: ; fc64 (3:7c64)
|
|
INCBIN "baserom.gbc",$fc64,$fc68 - $fc64
|
|
|
|
Unknown_fc68: ; fc68 (3:7c68)
|
|
INCBIN "baserom.gbc",$fc68,$fcad - $fc68
|
|
|
|
Func_fcad: ; fcad (3:7cad)
|
|
INCBIN "baserom.gbc",$fcad,$10000 - $fcad |