ref: 255135d1878b76bf82122ade20cb1c2132553ec7
parent: 94d4c89e093b76a0964114bd7a370046e70e965e
author: Mr Wint <[email protected]>
date: Tue Oct 1 19:23:21 EDT 2013
* extracted and added a bunch of assembly
--- a/engine/credits.asm
+++ b/engine/credits.asm
@@ -342,7 +342,56 @@
INCBIN "baserom.gbc",$109bb2,$18 ; igglybuff.pal
; 109bca
-INCBIN "baserom.gbc", $109bca, $109c24 - $109bca
+; known jump sources: 10989e (42:589e), 109964 (42:5964)
+Function109bca: ; 109bca (42:5bca)
+ ld hl, $cf64
+ ld a, [hl]
+ cp $ff
+ jr z, .asm_109bed
+ and $3
+ ld e, a
+ inc a
+ and $3
+ ld [hl], a
+ ld a, [$cf65]
+ and $3
+ add a
+ add a
+ add e
+ add a
+ ld e, a
+ ld d, $0
+ ld hl, $5bf1
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ret
+.asm_109bed
+ ld hl, $ca00
+ ret
+; 109bf1 (42:5bf1)
+
+INCBIN "baserom.gbc",$109bf1,$109c11 - $109bf1
+
+; known jump sources: 109a1b (42:5a1b)
+Function109c11: ; 109c11 (42:5c11)
+ ld a, $40
+ ld hl, $c55a
+ call Function109c1c
+ ld hl, $c56e
+
+; known jump sources: 109c16 (42:5c16)
+Function109c1c: ; 109c1c (42:5c1c)
+ ld c, $8
+.asm_109c1e
+ ld [hli], a
+ inc a
+ dec c
+ jr nz, .asm_109c1e
+ ret
+; 109c24 (42:5c24)
+
CreditsGFX:
INCBIN "gfx/credits/border.2bpp"
--- a/home/text.asm
+++ b/home/text.asm
@@ -2,7 +2,7 @@
; Fill a c*b box at hl with blank tiles.
ld a, " "
-.y
+Functionfb8:
push bc
push hl
.x
@@ -14,7 +14,7 @@
add hl, bc
pop bc
dec b
- jr nz, .y
+ jr nz, Functionfb8
ret
; fc8
--- a/home/time.asm
+++ b/home/time.asm
@@ -192,7 +192,7 @@
ld [StringBuffer2], a
ld a, $0
ld [$d089], a
- jr .asm_677
+ jr Function677
call UpdateTime
ld a, [hHours]
@@ -201,9 +201,9 @@
ld [$d088], a
ld a, [hSeconds]
ld [$d089], a
- jr .asm_677
+ jr Function677
-.asm_677
+Function677
ld a, $5
ld hl, $40ed
rst FarCall
--- a/main.asm
+++ b/main.asm
@@ -4188,7 +4188,7 @@
Data4273: ; 4273
-INCBIN "baserom.gbc", $4273, $4357 - $4273
+INCBIN "baserom.gbc",$4273,$4357 - $4273
; 4357
@@ -9168,7 +9168,7 @@
; 63ca
Data63ca: ; 63ca
-INCBIN "baserom.gbc", $63ca, $63e2 - $63ca
+INCBIN "baserom.gbc",$63ca,$63e2 - $63ca
Copyright: ; 63e2
@@ -10981,7 +10981,7 @@
; 8071
Data8071: ; 8071
-INCBIN "baserom.gbc", $8071, $807e - $8071
+INCBIN "baserom.gbc",$8071,$807e - $8071
; 807e
Function807e: ; 807e
@@ -12776,11 +12776,95 @@
ret
; c5cb
-INCBIN "baserom.gbc", $c5cb, $c5d2 - $c5cb
-PrintNumber_PrintDigit: ; c5d2
-INCBIN "baserom.gbc", $c5d2, $c644 - $c5d2
+; known jump sources: c532 (3:4532), c544 (3:4544), c555 (3:4555), c566 (3:4566), c576 (3:4576)
+Functionc5cb: ; c5cb (3:45cb)
+ dec e
+ jr nz, PrintNumber_PrintDigit
+ ld a, $f6
+ ld [hPastLeadingZeroes], a ; $ff00+$b3 (aliases: hDividend, hProduct)
+; known jump sources: c5cc (3:45cc)
+PrintNumber_PrintDigit: ; c5d2 (3:45d2)
+ ld c, $0
+.asm_c5d4
+ ld a, [hDivisor] ; $ff00+$b7 (aliases: hMultiplier)
+ ld b, a
+ ld a, [hQuotient] ; $ff00+$b4 (aliases: hMultiplicand)
+ ld [$FF00+$ba], a
+ cp b
+ jr c, .asm_c624
+ sub b
+ ld [hQuotient], a ; $ff00+$b4 (aliases: hMultiplicand)
+ ld a, [hMathBuffer] ; $ff00+$b8
+ ld b, a
+ ld a, [$FF00+$b5]
+ ld [$FF00+$bb], a
+ cp b
+ jr nc, .asm_c5f6
+ ld a, [hQuotient] ; $ff00+$b4 (aliases: hMultiplicand)
+ or $0
+ jr z, .asm_c620
+ dec a
+ ld [hQuotient], a ; $ff00+$b4 (aliases: hMultiplicand)
+ ld a, [$FF00+$b5]
+.asm_c5f6
+ sub b
+ ld [$FF00+$b5], a
+ ld a, [$FF00+$b9]
+ ld b, a
+ ld a, [$FF00+$b6]
+ ld [$FF00+$bc], a
+ cp b
+ jr nc, .asm_c616
+ ld a, [$FF00+$b5]
+ and a
+ jr nz, .asm_c611
+ ld a, [hQuotient] ; $ff00+$b4 (aliases: hMultiplicand)
+ and a
+ jr z, .asm_c61c
+ dec a
+ ld [hQuotient], a ; $ff00+$b4 (aliases: hMultiplicand)
+ xor a
+.asm_c611
+ dec a
+ ld [$FF00+$b5], a
+ ld a, [$FF00+$b6]
+.asm_c616
+ sub b
+ ld [$FF00+$b6], a
+ inc c
+ jr .asm_c5d4
+.asm_c61c
+ ld a, [$FF00+$bb]
+ ld [$FF00+$b5], a
+.asm_c620
+ ld a, [$FF00+$ba]
+ ld [hQuotient], a ; $ff00+$b4 (aliases: hMultiplicand)
+.asm_c624
+ ld a, [hPastLeadingZeroes] ; $ff00+$b3 (aliases: hDividend, hProduct)
+ or c
+ jr z, PrintNumber_PrintLeadingZero
+ ld a, [hPastLeadingZeroes] ; $ff00+$b3 (aliases: hDividend, hProduct)
+ and a
+ jr nz, .asm_c637
+ bit 5, d
+ jr z, .asm_c637
+ ld a, $f0
+ ld [hli], a
+ res 5, d
+.asm_c637
+ ld a, $f6
+ add c
+ ld [hl], a
+ ld [hPastLeadingZeroes], a ; $ff00+$b3 (aliases: hDividend, hProduct)
+ inc e
+ dec e
+ ret nz
+ inc hl
+ ld [hl], $f2
+ ret
+
PrintNumber_PrintLeadingZero: ; c644
; prints a leading zero unless they are turned off in the flags
bit 7, d ; print leading zeroes?
@@ -13050,14 +13134,50 @@
ret
; c796
-INCBIN "baserom.gbc", $c796, $c7c4 - $c796
+; no known jump sources
+Jumptable_c796: ; c796 (3:4796)
+ dw Functionc79c
+ dw Functionc7b2
+ dw Functionc7bb
+
+
+; no known jump sources
+Functionc79c: ; c79c (3:479c)
+ ld de, $1c
+ call CheckBadge
+ jr c, .asm_c7ac
+ call Functionc7ce
+ jr c, .asm_c7af
+ ld a, $1
+ ret
+.asm_c7ac
+ ld a, $80
+ ret
+.asm_c7af
+ ld a, $2
+ ret
+
+; no known jump sources
+Functionc7b2: ; c7b2 (3:47b2)
+ ld hl, $47fe
+ call Function31cd
+ ld a, $81
+ ret
+
+; no known jump sources
+Functionc7bb: ; c7bb (3:47bb)
+ ld hl, $47c9
+ call Function1d67
+ ld a, $80
+ ret
+
UnknownText_0xc7c4: ; 0xc7c4
text_jump UnknownText_0x1c05dd, BANK(UnknownText_0x1c05dd)
db $50
; 0xc7c9
-INCBIN "baserom.gbc", $c7c9, $c7ce - $c7c9
+INCBIN "baserom.gbc",$c7c9,$c7ce - $c7c9
Functionc7ce: ; c7ce
call GetFacingTileCoord
@@ -13091,7 +13211,7 @@
ret
; c7fe
-INCBIN "baserom.gbc", $c7fe, $c802 - $c7fe
+INCBIN "baserom.gbc",$c7fe,$c802 - $c7fe
UnknownScript_0xc802: ; 0xc802
3callasm BANK(GetPartyNick), GetPartyNick
@@ -13152,7 +13272,7 @@
ret
; c862
-INCBIN "baserom.gbc", $c862, $c8ac - $c862
+INCBIN "baserom.gbc",$c862,$c8ac - $c862
Functionc8ac: ; c8ac
call Functionc8b5
@@ -13234,9 +13354,78 @@
ret
; c91a
-INCBIN "baserom.gbc", $c91a, $c986 - $c91a
+; no known jump sources
+Jumptable_c91a: ; c91a (3:491a)
+ dw Functionc922
+ dw Functionc95f
+ dw Functionc971
+ dw Functionc97a
+
+; no known jump sources
+Functionc922: ; c922 (3:4922)
+ ld de, $1e
+ call CheckBadge
+ jr c, .asm_c956
+ ld hl, BikeFlags ; $dbf5
+ bit 1, [hl]
+ jr nz, .asm_c95c
+ ld a, [PlayerState] ; $d95d
+ cp $4
+ jr z, .asm_c959
+ cp $8
+ jr z, .asm_c959
+ call GetFacingTileCoord
+ call GetTileCollision
+ cp $1
+ jr nz, .asm_c95c
+ call CheckDirection
+ jr c, .asm_c95c
+ ld a, BANK(CheckFacingObject)
+ ld hl, CheckFacingObject
+ rst $8 ; ; indirect jump to CheckFacingObject (6fd9 (1:6fd9))
+ jr c, .asm_c95c
+ ld a, $1
+ ret
+.asm_c956
+ ld a, $80
+ ret
+.asm_c959
+ ld a, $3
+ ret
+.asm_c95c
+ ld a, $2
+ ret
+
+; no known jump sources
+Functionc95f: ; c95f (3:495f)
+ call GetSurfType
+ ld [Buffer2], a ; $d1eb (aliases: MovementType)
+ call GetPartyNick
+ ld hl, $4983
+ call Function31cd
+ ld a, $81
+ ret
+
+; no known jump sources
+Functionc971: ; c971 (3:4971)
+ ld hl, $49ae
+ call Function1d67
+ ld a, $80
+ ret
+
+; no known jump sources
+Functionc97a: ; c97a (3:497a)
+ ld hl, $49b3
+ call Function1d67
+ ld a, $80
+ ret
+; c983 (3:4983)
+
+INCBIN "baserom.gbc",$c983,$c986 - $c983
+
+
UsedSurfScript: ; c986
2writetext UsedSurfText ; "used SURF!"
closetext
@@ -13817,7 +14006,7 @@
ret
; ccb1
-INCBIN "baserom.gbc", $ccb1, $cce5 - $ccb1
+INCBIN "baserom.gbc",$ccb1,$cce5 - $ccb1
Functioncce5: ; cce5
call Functionccee
@@ -13943,7 +14132,26 @@
db "@"
; 0xcd78
-INCBIN "baserom.gbc", $cd78, $cd9d - $cd78
+ ld d, $46
+ call CheckPartyMove
+ jr c, .asm_cd92
+ ld de, $1d
+ call CheckEngineFlag
+ jr c, .asm_cd92
+ ld hl, BikeFlags ; $dbf5
+ bit 0, [hl]
+ jr z, .asm_cd96
+ ld a, $2
+ jr .asm_cd99
+.asm_cd92
+ ld a, $1
+ jr .asm_cd99
+.asm_cd96
+ xor a
+ jr .asm_cd99
+.asm_cd99
+ ld [ScriptVar], a ; $c2dd
+ ret
Functioncd9d: ; cd9d
call Functionc6ea
@@ -13956,7 +14164,7 @@
ret
; cdae
-INCBIN "baserom.gbc", $cdae, $cdd9 - $cdae
+INCBIN "baserom.gbc",$cdae,$cdd9 - $cdae
UnknownText_0xcdd9: ; 0xcdd9
text_jump UnknownText_0x1c0816, BANK(UnknownText_0x1c0816)
@@ -13993,7 +14201,7 @@
ret
; ce0b
-INCBIN "baserom.gbc", $ce0b, $ce0f - $ce0b
+INCBIN "baserom.gbc",$ce0b,$ce0f - $ce0b
UnknownScript_0xce0f: ; 0xce0f
3callasm BANK(GetPartyNick), GetPartyNick
@@ -14140,7 +14348,7 @@
ret
; cedc
-INCBIN "baserom.gbc", $cedc, $ceeb - $cedc
+INCBIN "baserom.gbc",$cedc,$ceeb - $cedc
Functionceeb: ; ceeb
call Functioncef4
@@ -14247,7 +14455,17 @@
db "@"
; 0xcf7c
-INCBIN "baserom.gbc", $cf7c, $cf8e - $cf7c
+ ld d, $f9
+ call CheckPartyMove
+ jr nc, .asm_cf87
+ ld a, $1
+ jr .asm_cf8a
+.asm_cf87
+ xor a
+ jr .asm_cf8a
+.asm_cf8a
+ ld [ScriptVar], a ; $c2dd
+ ret
Functioncf8e: ; cf8e
@@ -14266,7 +14484,7 @@
; cfa5
-INCBIN "baserom.gbc", $cfa5, $d0b3 - $cfa5
+INCBIN "baserom.gbc",$cfa5,$d0b3 - $cfa5
Functiond0b3: ; d0b3
@@ -14359,7 +14577,7 @@
ret
; d13e
-INCBIN "baserom.gbc", $d13e, $d186 - $d13e
+INCBIN "baserom.gbc",$d13e,$d186 - $d13e
TryCutOW: ; d186
ld d, CUT
@@ -15051,8 +15269,287 @@
ret
; d497
-INCBIN "baserom.gbc", $d497, $d627 - $d497
+; no known jump sources
+Functiond497: ; d497 (3:5497)
+ ld a, [$d150]
+ and a
+ ret z
+ bit 7, a
+ jr nz, .asm_d4a9
+ bit 6, a
+ jr nz, .asm_d4b3
+ bit 5, a
+ jr nz, .asm_d4b8
+ ret
+.asm_d4a9
+ ld a, $4
+ ld [$d13f], a
+ call Functiond536
+ jr .asm_d4b8
+.asm_d4b3
+ call Functiond511
+ jr .asm_d4b8
+.asm_d4b8
+ call Functiond4e5
+ ld a, [$d14e]
+ ld d, a
+ ld a, [$d14f]
+ ld e, a
+ ld a, [$d14c]
+ sub d
+ ld [$d14c], a
+ ld a, [$d14d]
+ sub e
+ ld [$d14d], a
+ ret
+
+; no known jump sources
+Functiond4d2: ; d4d2 (3:54d2)
+ ld a, [$d14e]
+ ld d, a
+ ld a, [$d14f]
+ ld e, a
+ ld a, [hSCX] ; $ff00+$cf
+ add d
+ ld [hSCX], a ; $ff00+$cf
+ ld a, [hSCY] ; $ff00+$d0
+ add e
+ ld [hSCY], a ; $ff00+$d0
+ ret
+
+; known jump sources: d4b8 (3:54b8)
+Functiond4e5: ; d4e5 (3:54e5)
+ ld hl, $d13f
+ ld a, [hl]
+ and a
+ ret z
+ dec [hl]
+ ld a, [hl]
+ ld hl, $54f2
+ rst $28
+ ret
+
+; no known jump sources
+Jumptable_d4f2: ; d4f2 (3:54f2)
+ dw Function2914
+ dw Function2879
+ dw Functiond509
+ dw Functiond510
+ dw Functiond508
+ dw Functiond508
+ dw Functiond508
+ dw Functiond508
+ dw Functiond508
+ dw Functiond508
+ dw Functiond508
+
+
+; no known jump sources
+Functiond508: ; d508 (3:5508)
+ ret
+
+; no known jump sources
+Functiond509: ; d509 (3:5509)
+ ld a, BANK(Function10602e)
+ ld hl, Function10602e
+ rst $8 ; ; indirect jump to Function10602e (10602e (41:602e))
+ ret
+
+; no known jump sources
+Functiond510: ; d510 (3:5510)
+ ret
+
+; known jump sources: d4b3 (3:54b3)
+Functiond511: ; d511 (3:5511)
+ ld a, [$d151]
+ and a
+ jr nz, .asm_d51c
+ ld hl, YCoord ; $dcb7
+ inc [hl]
+ ret
+.asm_d51c
+ cp $1
+ jr nz, .asm_d525
+ ld hl, YCoord ; $dcb7
+ dec [hl]
+ ret
+.asm_d525
+ cp $2
+ jr nz, .asm_d52e
+ ld hl, XCoord ; $dcb8
+ dec [hl]
+ ret
+.asm_d52e
+ cp $3
+ ret nz
+ ld hl, XCoord ; $dcb8
+ inc [hl]
+ ret
+
+; known jump sources: d4ae (3:54ae)
+Functiond536: ; d536 (3:5536)
+ ld a, [$d151]
+ and a
+ jr z, .asm_d549
+ cp $1
+ jr z, .asm_d553
+ cp $2
+ jr z, .asm_d55d
+ cp $3
+ jr z, .asm_d567
+ ret
+.asm_d549
+ call Functiond571
+ call Function217a
+ call Function2748
+ ret
+.asm_d553
+ call Functiond5a2
+ call Function217a
+ call Function272a
+ ret
+.asm_d55d
+ call Functiond5d5
+ call Function217a
+ call Function2771
+ ret
+.asm_d567
+ call Functiond5fe
+ call Function217a
+ call Function278f
+ ret
+
+; known jump sources: d549 (3:5549)
+Functiond571: ; d571 (3:5571)
+ ld a, [$d152]
+ add $40
+ ld [$d152], a
+ jr nc, .asm_d586
+ ld a, [$d153]
+ inc a
+ and $3
+ or $98
+ ld [$d153], a
+.asm_d586
+ ld hl, $d196
+ inc [hl]
+ ld a, [hl]
+ cp $2
+ jr nz, .asm_d594
+ ld [hl], $0
+ call Functiond595
+.asm_d594
+ ret
+
+; known jump sources: d591 (3:5591)
+Functiond595: ; d595 (3:5595)
+ ld hl, $d194
+ ld a, [$d19f]
+ add $6
+ add [hl]
+ ld [hli], a
+ ret nc
+ inc [hl]
+ ret
+
+; known jump sources: d553 (3:5553)
+Functiond5a2: ; d5a2 (3:55a2)
+ ld a, [$d152]
+ sub $40
+ ld [$d152], a
+ jr nc, .asm_d5b7
+ ld a, [$d153]
+ dec a
+ and $3
+ or $98
+ ld [$d153], a
+.asm_d5b7
+ ld hl, $d196
+ dec [hl]
+ ld a, [hl]
+ cp $ff
+ jr nz, .asm_d5c5
+ ld [hl], $1
+ call Functiond5c6
+.asm_d5c5
+ ret
+
+; known jump sources: d5c2 (3:55c2)
+Functiond5c6: ; d5c6 (3:55c6)
+ ld hl, $d194
+ ld a, [$d19f]
+ add $6
+ ld b, a
+ ld a, [hl]
+ sub b
+ ld [hli], a
+ ret nc
+ dec [hl]
+ ret
+
+; known jump sources: d55d (3:555d)
+Functiond5d5: ; d5d5 (3:55d5)
+ ld a, [$d152]
+ ld e, a
+ and $e0
+ ld d, a
+ ld a, e
+ sub $2
+ and $1f
+ or d
+ ld [$d152], a
+ ld hl, $d197
+ dec [hl]
+ ld a, [hl]
+ cp $ff
+ jr nz, .asm_d5f3
+ ld [hl], $1
+ call Functiond5f4
+.asm_d5f3
+ ret
+
+; known jump sources: d5f0 (3:55f0)
+Functiond5f4: ; d5f4 (3:55f4)
+ ld hl, $d194
+ ld a, [hl]
+ sub $1
+ ld [hli], a
+ ret nc
+ dec [hl]
+ ret
+
+; known jump sources: d567 (3:5567)
+Functiond5fe: ; d5fe (3:55fe)
+ ld a, [$d152]
+ ld e, a
+ and $e0
+ ld d, a
+ ld a, e
+ add $2
+ and $1f
+ or d
+ ld [$d152], a
+ ld hl, $d197
+ inc [hl]
+ ld a, [hl]
+ cp $2
+ jr nz, .asm_d61c
+ ld [hl], $0
+ call Functiond61d
+.asm_d61c
+ ret
+
+; known jump sources: d619 (3:5619)
+Functiond61d: ; d61d (3:561d)
+ ld hl, $d194
+ ld a, [hl]
+ add $1
+ ld [hli], a
+ ret nc
+ inc [hl]
+ ret
+
Functiond627: ; d627
call Functiond65f
jr c, .asm_d645
@@ -16644,7 +17141,7 @@
ret
; e035
-INCBIN "baserom.gbc", $e035, $e039 - $e035
+INCBIN "baserom.gbc",$e035,$e039 - $e035
Functione039: ; e039
@@ -17229,7 +17726,7 @@
ret
; e3d9
-INCBIN "baserom.gbc", $e3d9, $e3de - $e3d9
+INCBIN "baserom.gbc",$e3d9,$e3de - $e3d9
Functione3de: ; e3de
@@ -17251,9 +17748,102 @@
ret
; e3fd
-INCBIN "baserom.gbc", $e3fd, $e538 - $e3fd
+ call Functione40a
+ ret c
+ call Functione41c
+ call Functione443
+ jp Functione43f
+; known jump sources: e3fd (3:63fd)
+Functione40a: ; e40a (3:640a)
+ ld a, [PartyCount] ; $dcd7
+ and a
+ ret nz
+ ld hl, $6417
+ call Function1d67
+ scf
+ ret
+; e417 (3:6417)
+INCBIN "baserom.gbc",$e417,$e41c - $e417
+
+; known jump sources: e401 (3:6401)
+Functione41c: ; e41c (3:641c)
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call Function1d6e
+ call ClearPCItemScreen
+ ld hl, Options ; $cfcc
+ ld a, [hl]
+ push af
+ set 4, [hl]
+ ld hl, $643a
+ call PrintText
+ pop af
+ ld [Options], a ; $cfcc
+ call Functione58
+ ret
+; e43a (3:643a)
+
+INCBIN "baserom.gbc",$e43a,$e43f - $e43a
+
+; known jump sources: e407 (3:6407)
+Functione43f: ; e43f (3:643f)
+ call Function2b3c
+ ret
+
+; known jump sources: e404 (3:6404)
+Functione443: ; e443 (3:6443)
+ ld hl, $646f
+ call LoadMenuDataHeader
+ ld a, $1
+.asm_e44b
+ ld [$cf88], a
+ call Function32f9
+ xor a
+ ld [$cf76], a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call Function1e5d
+ jr c, .asm_e46b
+ ld a, [$cf88]
+ push af
+ ld a, [MenuSelection] ; $cf74
+ ld hl, $64ba
+ rst $28
+ pop bc
+ ld a, b
+ jr nc, .asm_e44b
+.asm_e46b
+ call Function1c17
+ ret
+; e46f (3:646f)
+
+INCBIN "baserom.gbc",$e46f,$e4ba - $e46f
+
+; no known jump sources
+Jumptable_e4ba: ; e4ba (3:64ba)
+ dw Functione559
+ dw Functione4fe
+ dw Functione583
+
+INCBIN "baserom.gbc",$e4c0,$e4fe - $e4c0
+
+; no known jump sources
+Functione4fe: ; e4fe (3:64fe)
+ call Function1d6e
+ ld a, BANK(Functione2391)
+ ld hl, Functione2391
+ rst $8 ; ; indirect jump to Functione2391 (e2391 (38:6391))
+ call Function222a
+ call ClearPCItemScreen
+ call Function1c17
+ and a
+ ret
+; e512 (3:6512)
+
+INCBIN "baserom.gbc",$e512,$e538 - $e512
+
+
Functione538: ; e538
ld hl, PartyMon1CurHP
ld de, $0030
@@ -17284,8 +17874,30 @@
ret
; e559
-INCBIN "baserom.gbc", $e559, $e58b - $e559
+; no known jump sources
+Functione559: ; e559 (3:6559)
+ call Function1d6e
+ ld a, BANK(Functione2583)
+ ld hl, Functione2583
+ rst $8 ; ; indirect jump to Functione2583 (e2583 (38:6583))
+ call Function222a
+ call ClearPCItemScreen
+ call Function1c17
+ and a
+ ret
+; e56d (3:656d)
+
+INCBIN "baserom.gbc",$e56d,$e583 - $e56d
+
+; no known jump sources
+Functione583: ; e583 (3:6583)
+ ld a, BANK(Functione35aa)
+ ld hl, Functione35aa
+ rst $8 ; ; indirect jump to Functione35aa (e35aa (38:75aa))
+ and a
+ ret
+
ClearPCItemScreen: ; e58b
call Function2ed3
xor a
@@ -17321,7 +17933,7 @@
ret
; e5d9
-INCBIN "baserom.gbc", $e5d9, $e698 - $e5d9
+INCBIN "baserom.gbc",$e5d9,$e698 - $e5d9
Functione698: ; e698
ld hl, BreedMon1Species
@@ -17394,7 +18006,7 @@
jp $5906
; e71d
-INCBIN "baserom.gbc", $e71d, $e722 - $e71d
+INCBIN "baserom.gbc",$e71d,$e722 - $e71d
_DoItemEffect: ; e722
@@ -17685,7 +18297,7 @@
jp PrintText
; f80b
-INCBIN "baserom.gbc", $f80b, $f84c - $f80b
+INCBIN "baserom.gbc",$f80b,$f84c - $f80b
Functionf84c: ; f84c
@@ -17888,9 +18500,60 @@
ret
; f971
-INCBIN "baserom.gbc", $f971, $f9ea - $f971
+; no known jump sources
+Functionf971: ; f971 (3:7971)
+ push de
+ ld a, [rSVBK] ; $ff00+$70
+ ld d, a
+ push de
+ ld a, $1
+ ld [rSVBK], a ; $ff00+$70
+ ld a, [Buffer2] ; $d1eb (aliases: MovementType)
+ inc a
+ ld [Buffer2], a ; $d1eb (aliases: MovementType)
+ cp $4
+ jr z, .asm_f9a8
+ ld a, [$c64e]
+ and a
+ ld c, $0
+ jr nz, .asm_f9b2
+ ld hl, $79ba
+ ld a, [Buffer1] ; $d1ea (aliases: MagikarpLength)
+ ld b, a
+.asm_f994
+ ld a, [hli]
+ cp b
+ jr nc, .asm_f99b
+ inc hl
+ jr .asm_f994
+.asm_f99b
+ ld b, [hl]
+ call Random
+ cp b
+ ld c, $0
+ jr c, .asm_f9b2
+ ld c, $2
+ jr .asm_f9b2
+.asm_f9a8
+ ld a, [$c64e]
+ and a
+ ld c, $1
+ jr nz, .asm_f9b2
+ ld c, $2
+.asm_f9b2
+ pop de
+ ld e, a
+ ld a, d
+ ld [rSVBK], a ; $ff00+$70
+ ld a, e
+ pop de
+ ret
+; f9ba (3:79ba)
+INCBIN "baserom.gbc",$f9ba,$f9ea - $f9ba
+
+
Functionf9ea: ; f9ea
ld a, $2
call GetPartyParamLocation
@@ -17913,7 +18576,7 @@
ret
; fa06
-INCBIN "baserom.gbc", $fa06, $fa0b - $fa06
+INCBIN "baserom.gbc",$fa06,$fa0b - $fa06
SECTION "bank4",ROMX,BANK[$4]
@@ -17946,9 +18609,401 @@
jp [hl]
; 10030
-INCBIN "baserom.gbc", $10030, $10493 - $10030
+; no known jump sources
+Jumptable_10030: ; 10030 (4:4030)
+ dw Function10046
+ dw Function10056
+ dw Function10067
+ dw Function10186
+ dw Function10198
+ dw Function10094
+ dw Function100a6
+ dw Function100d3
+ dw Function100e8
+ dw Function10874
+ dw Function1087e
+
+; no known jump sources
+Function10046: ; 10046 (4:4046)
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call Function10955
+ ld a, [$cf64]
+ ld [$cf63], a
+ call Function10a40
+ ret
+
+; no known jump sources
+Function10056: ; 10056 (4:4056)
+ xor a
+ ld [$cf65], a
+ call Function10a36
+ call Function109bb
+ call Function1089a
+ call Function10866
+ ret
+
+; no known jump sources
+Function10067: ; 10067 (4:4067)
+ ld hl, $4a4f
+ call Function1d3c
+ ld a, [$d0d9]
+ ld [$cf88], a
+ ld a, [$d0df]
+ ld [$d0e4], a
+ call Function350c
+ ld a, [$d0e4]
+ ld [$d0df], a
+ ld a, [$cfa9]
+ ld [$d0d9], a
+ ld b, $7
+ ld c, $3
+ call Function108d4
+ ret c
+ call Function101c5
+ ret
+
+; no known jump sources
+Function10094: ; 10094 (4:4094)
+ ld a, $2
+ ld [$cf65], a
+ call Function10a36
+ call Function109bb
+ call Function1089a
+ call Function10866
+ ret
+
+; no known jump sources
+Function100a6: ; 100a6 (4:40a6)
+ ld hl, $4a7f
+ call Function1d3c
+ ld a, [$d0da]
+ ld [$cf88], a
+ ld a, [$d0e0]
+ ld [$d0e4], a
+ call Function350c
+ ld a, [$d0e4]
+ ld [$d0e0], a
+ ld a, [$cfa9]
+ ld [$d0da], a
+ ld b, $3
+ ld c, $7
+ call Function108d4
+ ret c
+ call Function101c5
+ ret
+
+; no known jump sources
+Function100d3: ; 100d3 (4:40d3)
+ ld a, $3
+ ld [$cf65], a
+ call Function10a36
+ call Function109bb
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call Function1089a
+ call Function10866
+ ret
+
+; no known jump sources
+Function100e8: ; 100e8 (4:40e8)
+ ld a, BANK(Function2c76f)
+ ld hl, Function2c76f
+ rst $8 ; ; indirect jump to Function2c76f (2c76f (b:476f))
+ ld b, $5
+ ld c, $1
+ call Function108d4
+ ret c
+ ld a, BANK(_CheckTossableItem)
+ ld hl, _CheckTossableItem
+ rst $8 ; ; indirect jump to _CheckTossableItem (d427 (3:5427))
+ ld a, [$d142]
+ and a
+ jr nz, .asm_1010a
+ ld hl, $413b
+ ld de, $4153
+ jr .asm_10110
+.asm_1010a
+ ld hl, $4124
+ ld de, $4137
+.asm_10110
+ push de
+ call LoadMenuDataHeader
+ call Function1d81
+ call Function1c07
+ pop hl
+ ret c
+ ld a, [$cfa9]
+ dec a
+ call Function1086b
+ jp [hl]
+; 10124 (4:4124)
+
+INCBIN "baserom.gbc",$10124,$10159 - $10124
+ ld a, $b
+ ld hl, $47bf
+ rst $8
+ ret c
+ ld a, $b
+ ld hl, $47fb
+ rst $8
+ jr c, .asm_10179
+ ld hl, Options ; $cfcc
+ ld a, [hl]
+ push af
+ res 4, [hl]
+ ld a, $b
+ ld hl, $4867
+ rst $8
+ pop af
+ ld [Options], a ; $cfcc
+.asm_10179
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call Function10955
+ call Function1089a
+ call Function10a40
+ ret
+
+; no known jump sources
+Function10186: ; 10186 (4:4186)
+ ld a, $1
+ ld [$cf65], a
+ call Function10a36
+ call Function109bb
+ call Function1089a
+ call Function10866
+ ret
+
+; no known jump sources
+Function10198: ; 10198 (4:4198)
+ ld hl, $4aaf
+ call Function1d3c
+ ld a, [$d0db]
+ ld [$cf88], a
+ ld a, [$d0e1]
+ ld [$d0e4], a
+ call Function350c
+ ld a, [$d0e4]
+ ld [$d0e1], a
+ ld a, [$cfa9]
+ ld [$d0db], a
+ ld b, $1
+ ld c, $5
+ call Function108d4
+ ret c
+ call Function101c5
+ ret
+
+; known jump sources: 10090 (4:4090), 100cf (4:40cf), 101c1 (4:41c1)
+Function101c5: ; 101c5 (4:41c5)
+ ld a, BANK(_CheckTossableItem)
+ ld hl, _CheckTossableItem
+ rst $8 ; ; indirect jump to _CheckTossableItem (d427 (3:5427))
+ ld a, [$d142]
+ and a
+ jr nz, .asm_101f9
+ ld a, BANK(CheckSelectableItem)
+ ld hl, CheckSelectableItem
+ rst $8 ; ; indirect jump to CheckSelectableItem (d432 (3:5432))
+ ld a, [$d142]
+ and a
+ jr nz, .asm_101eb
+ ld a, BANK(CheckItemMenu)
+ ld hl, CheckItemMenu
+ rst $8 ; ; indirect jump to CheckItemMenu (d453 (3:5453))
+ ld a, [$d142]
+ and a
+ jr nz, .asm_10207
+ jr .asm_10227
+.asm_101eb
+ ld a, BANK(CheckItemMenu)
+ ld hl, CheckItemMenu
+ rst $8 ; ; indirect jump to CheckItemMenu (d453 (3:5453))
+ ld a, [$d142]
+ and a
+ jr nz, .asm_1020f
+ jr .asm_1022f
+.asm_101f9
+ ld a, BANK(CheckSelectableItem)
+ ld hl, CheckSelectableItem
+ rst $8 ; ; indirect jump to CheckSelectableItem (d432 (3:5432))
+ ld a, [$d142]
+ and a
+ jr nz, .asm_10217
+ jr .asm_1021f
+.asm_10207
+ ld hl, $4249
+ ld de, $426a
+ jr .asm_10235
+.asm_1020f
+ ld hl, $4274
+ ld de, $4291
+ jr .asm_10235
+.asm_10217
+ ld hl, $4299
+ ld de, $42ac
+ jr .asm_10235
+.asm_1021f
+ ld hl, $42b0
+ ld de, $42c7
+ jr .asm_10235
+.asm_10227
+ ld hl, $42cd
+ ld de, $42ea
+ jr .asm_10235
+.asm_1022f
+ ld hl, $42f2
+ ld de, $430b
+.asm_10235
+ push de
+ call LoadMenuDataHeader
+ call Function1d81
+ call Function1c07
+ pop hl
+ ret c
+ ld a, [$cfa9]
+ dec a
+ call Function1086b
+ jp [hl]
+; 10249 (4:4249)
+
+INCBIN "baserom.gbc",$10249,$10311 - $10249
+ ld a, $3
+ ld hl, $5453
+ rst $8
+ ld a, [$d142]
+ ld hl, $431f
+ rst $28
+ ret
+
+; no known jump sources
+Jumptable_1031f: ; 1031f (4:431f)
+ dw Function1032d
+ dw Function1032d
+ dw Function1032d
+ dw Function1032d
+ dw Function10334
+ dw Function10338
+ dw Function10355
+
+
+; known jump sources: 1035c (4:435c)
+Function1032d: ; 1032d (4:432d)
+ ld hl, $4af3
+ call Function10889
+ ret
+
+; no known jump sources
+Function10334: ; 10334 (4:4334)
+ call DoItemEffect
+ ret
+
+; no known jump sources
+Function10338: ; 10338 (4:4338)
+ ld a, [PartyCount] ; $dcd7
+ and a
+ jr z, .asm_1034e
+ call DoItemEffect
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call Function10955
+ call Function1089a
+ call Function10a40
+ ret
+.asm_1034e
+ ld hl, $4af8
+ call Function10889
+ ret
+
+; no known jump sources
+Function10355: ; 10355 (4:4355)
+ call DoItemEffect
+ ld a, [$d0ec]
+ and a
+ jr z, Function1032d
+ ld a, $a
+ ld [$cf63], a
+ ret
+; 10364 (4:4364)
+
+INCBIN "baserom.gbc",$10364,$103fd - $10364
+ ld a, [PartyCount] ; $dcd7
+ and a
+ jp z, Function10486
+ ld a, [Options] ; $cfcc
+ push af
+ res 4, a
+ ld [Options], a ; $cfcc
+ ld a, $8
+ ld [PartyMenuActionText], a ; $d141
+ call WhiteBGMap
+ ld a, $14
+ ld hl, $404f
+ rst $8
+ ld a, $14
+ ld hl, $4405
+ rst $8
+ ld a, $14
+ ld hl, $43e0
+ rst $8
+.asm_10427
+ ld a, BANK(WritePartyMenuTilemap)
+ ld hl, WritePartyMenuTilemap
+ rst $8 ; ; indirect jump to WritePartyMenuTilemap (5005f (14:405f))
+ ld a, BANK(PrintPartyMenuText)
+ ld hl, PrintPartyMenuText
+ rst $8 ; ; indirect jump to PrintPartyMenuText (5049a (14:449a))
+ call WaitBGMap
+ call Function32f9
+ call DelayFrame
+ ld a, BANK(PartyMenuSelect)
+ ld hl, PartyMenuSelect
+ rst $8 ; ; indirect jump to PartyMenuSelect (50457 (14:4457))
+ jr c, .asm_10475
+ ld a, [CurPartySpecies] ; $d108
+ cp $fd
+ jr nz, .asm_10453
+ ld hl, $448d
+ call PrintText
+ jr .asm_10427
+.asm_10453
+ ld a, [$cf63]
+ push af
+ ld a, [$cf64]
+ push af
+ call GetCurNick
+ ld hl, StringBuffer1 ; $d073
+ ld de, $d050
+ ld bc, $b
+ call CopyBytes
+ call Function12bd9
+ pop af
+ ld [$cf64], a
+ pop af
+ ld [$cf63], a
+.asm_10475
+ pop af
+ ld [Options], a ; $cfcc
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call Function10955
+ call Function1089a
+ call Function10a40
+ ret
+
+; known jump sources: 10401 (4:4401)
+Function10486: ; 10486 (4:4486)
+ ld hl, $4af8
+ call Function10889
+ ret
+; 1048d (4:448d)
+
+INCBIN "baserom.gbc",$1048d,$10493 - $1048d
+
+
Function10493: ; 10493
ld hl, Options
set 4, [hl]
@@ -17977,9 +19032,250 @@
jp [hl]
; 104c3
-INCBIN "baserom.gbc", $104c3, $1068a - $104c3
+; no known jump sources
+Jumptable_104c3: ; 104c3 (4:44c3)
+ dw Function104d9
+ dw Function104e9
+ dw Function104fa
+ dw Function10594
+ dw Function105a6
+ dw Function10527
+ dw Function10539
+ dw Function10566
+ dw Function10581
+ dw Function10874
+ dw Function1087e
+
+; no known jump sources
+Function104d9: ; 104d9 (4:44d9)
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call Function10955
+ ld a, [$cf64]
+ ld [$cf63], a
+ call Function10a40
+ ret
+
+; no known jump sources
+Function104e9: ; 104e9 (4:44e9)
+ xor a
+ ld [$cf65], a
+ call Function10a36
+ call Function109bb
+ call Function1089a
+ call Function10866
+ ret
+
+; no known jump sources
+Function104fa: ; 104fa (4:44fa)
+ ld hl, $4a4f
+ call Function1d3c
+ ld a, [$d0d9]
+ ld [$cf88], a
+ ld a, [$d0df]
+ ld [$d0e4], a
+ call Function350c
+ ld a, [$d0e4]
+ ld [$d0df], a
+ ld a, [$cfa9]
+ ld [$d0d9], a
+ ld b, $7
+ ld c, $3
+ call Function108d4
+ ret c
+ call Function105d3
+ ret
+
+; no known jump sources
+Function10527: ; 10527 (4:4527)
+ ld a, $2
+ ld [$cf65], a
+ call Function10a36
+ call Function109bb
+ call Function1089a
+ call Function10866
+ ret
+
+; no known jump sources
+Function10539: ; 10539 (4:4539)
+ ld hl, $4a7f
+ call Function1d3c
+ ld a, [$d0da]
+ ld [$cf88], a
+ ld a, [$d0e0]
+ ld [$d0e4], a
+ call Function350c
+ ld a, [$d0e4]
+ ld [$d0e0], a
+ ld a, [$cfa9]
+ ld [$d0da], a
+ ld b, $3
+ ld c, $7
+ call Function108d4
+ ret c
+ call Function105d3
+ ret
+
+; no known jump sources
+Function10566: ; 10566 (4:4566)
+ ld a, $3
+ ld [$cf65], a
+ call Function10a36
+ call Function109bb
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call Function1089a
+ ld hl, $4b0c
+ call Function10889
+ call Function10866
+ ret
+
+; no known jump sources
+Function10581: ; 10581 (4:4581)
+ ld a, BANK(Function2c76f)
+ ld hl, Function2c76f
+ rst $8 ; ; indirect jump to Function2c76f (2c76f (b:476f))
+ ld b, $5
+ ld c, $1
+ call Function108d4
+ ret c
+ xor a
+ call Function105dc
+ ret
+
+; no known jump sources
+Function10594: ; 10594 (4:4594)
+ ld a, $1
+ ld [$cf65], a
+ call Function10a36
+ call Function109bb
+ call Function1089a
+ call Function10866
+ ret
+
+; no known jump sources
+Function105a6: ; 105a6 (4:45a6)
+ ld hl, $4aaf
+ call Function1d3c
+ ld a, [$d0db]
+ ld [$cf88], a
+ ld a, [$d0e1]
+ ld [$d0e4], a
+ call Function350c
+ ld a, [$d0e4]
+ ld [$d0e1], a
+ ld a, [$cfa9]
+ ld [$d0db], a
+ ld b, $1
+ ld c, $5
+ call Function108d4
+ ret c
+ call Function105d3
+ ret
+
+; known jump sources: 10523 (4:4523), 10562 (4:4562), 105cf (4:45cf)
+Function105d3: ; 105d3 (4:45d3)
+ ld a, BANK(CheckItemContext)
+ ld hl, CheckItemContext
+ rst $8 ; ; indirect jump to CheckItemContext (d448 (3:5448))
+ ld a, [$d142]
+
+; known jump sources: 10590 (4:4590)
+Function105dc: ; 105dc (4:45dc)
+ and a
+ jr z, .asm_105e7
+ ld hl, $4601
+ ld de, $4614
+ jr .asm_105ed
+.asm_105e7
+ ld hl, $4618
+ ld de, $4627
+.asm_105ed
+ push de
+ call LoadMenuDataHeader
+ call Function1d81
+ call Function1c07
+ pop hl
+ ret c
+ ld a, [$cfa9]
+ dec a
+ call Function1086b
+ jp [hl]
+; 10601 (4:4601)
+
+INCBIN "baserom.gbc",$10601,$10629 - $10601
+ ld a, $3
+ ld hl, $5448
+ rst $8
+ ld a, [$d142]
+ ld hl, $4637
+ rst $28
+ ret
+
+; no known jump sources
+Jumptable_10637: ; 10637 (4:4637)
+ dw Function10645
+ dw Function10645
+ dw Function10645
+ dw Function10645
+ dw Function1064c
+ dw Function10656
+ dw Function10671
+
+
+; known jump sources: 10678 (4:4678)
+Function10645: ; 10645 (4:4645)
+ ld hl, $4af3
+ call Function10889
+ ret
+
+; no known jump sources
+Function1064c: ; 1064c (4:464c)
+ call DoItemEffect
+ ld a, [$d0ec]
+ and a
+ jr nz, asm_1066c
+ ret
+
+; no known jump sources
+Function10656: ; 10656 (4:4656)
+ call DoItemEffect
+ ld a, [$d0ec]
+ and a
+ jr nz, asm_1067e
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call Function10955
+ call Function1089a
+ call Function10a40
+ ret
+asm_1066c: ; 1066c (4:466c)
+ call WhiteBGMap
+ jr asm_1067e
+
+; no known jump sources
+Function10671: ; 10671 (4:4671)
+ call DoItemEffect
+ ld a, [$d0ec]
+ and a
+ jr z, Function10645
+ cp $2
+ jr z, asm_10684
+asm_1067e: ; 1067e (4:467e)
+ ld a, $a
+ ld [$cf63], a
+ ret
+asm_10684: ; 10684 (4:4684)
+ xor a
+ ld [$d0ec], a
+ ret
+; 10689 (4:4689)
+
+INCBIN "baserom.gbc",$10689,$1068a - $10689
+
+
Function1068a: ; 1068a
xor a
ld [$cf63], a
@@ -18025,9 +19321,87 @@
jp [hl]
; 106d1
-INCBIN "baserom.gbc", $106d1, $1076f - $106d1
+; no known jump sources
+Jumptable_106d1: ; 106d1 (4:46d1)
+ dw Function106d9
+ dw Function1073b
+ dw Function106ff
+ dw Function10726
+
+; no known jump sources
+Function106d9: ; 106d9 (4:46d9)
+ xor a
+ call Function10762
+ ld hl, $4a67
+ call Function1d3c
+ ld a, [$d0d9]
+ ld [$cf88], a
+ ld a, [$d0df]
+ ld [$d0e4], a
+ call Function350c
+ ld a, [$d0e4]
+ ld [$d0df], a
+ ld a, [$cfa9]
+ ld [$d0d9], a
+ ret
+
+; no known jump sources
+Function106ff: ; 106ff (4:46ff)
+ ld a, $2
+ call Function10762
+ ld hl, $4a97
+ call Function1d3c
+ ld a, [$d0da]
+ ld [$cf88], a
+ ld a, [$d0e0]
+ ld [$d0e4], a
+ call Function350c
+ ld a, [$d0e4]
+ ld [$d0e0], a
+ ld a, [$cfa9]
+ ld [$d0da], a
+ ret
+
+; no known jump sources
+Function10726: ; 10726 (4:4726)
+ ld a, $3
+ call Function10762
+ call Function1089a
+ ld a, BANK(Function2c76f)
+ ld hl, Function2c76f
+ rst $8 ; ; indirect jump to Function2c76f (2c76f (b:476f))
+ ld a, [CurItem] ; $d106
+ ld [CurItem], a ; $d106
+ ret
+
+; no known jump sources
+Function1073b: ; 1073b (4:473b)
+ ld a, $1
+ call Function10762
+ ld hl, $4ac7
+ call Function1d3c
+ ld a, [$d0db]
+ ld [$cf88], a
+ ld a, [$d0e1]
+ ld [$d0e4], a
+ call Function350c
+ ld a, [$d0e4]
+ ld [$d0e1], a
+ ld a, [$cfa9]
+ ld [$d0db], a
+ ret
+
+; known jump sources: 106da (4:46da), 10701 (4:4701), 10728 (4:4728), 1073d (4:473d), 10828 (4:4828), 1085b (4:485b)
+Function10762: ; 10762 (4:4762)
+ ld [$cf65], a
+ call Function10a36
+ call Function109bb
+ call Function1089a
+ ret
+
+
Function1076f: ; 1076f
ld hl, $cf73
ld a, [hl]
@@ -18105,9 +19479,68 @@
jp [hl]
; 107e1
-INCBIN "baserom.gbc", $107e1, $1086b - $107e1
+; no known jump sources
+Jumptable_107e1: ; 107e1 (4:47e1)
+ dw Function107e9
+ dw Function1083b
+ dw Function10807
+ dw Function10826
+
+; no known jump sources
+Function107e9: ; 107e9 (4:47e9)
+ xor a
+ ld hl, $47ef
+ jr asm_1085a
+; 107ef (4:47ef)
+
+INCBIN "baserom.gbc",$107ef,$10807 - $107ef
+
+; no known jump sources
+Function10807: ; 10807 (4:4807)
+ ld a, $2
+ ld hl, $480e
+ jr asm_1085a
+; 1080e (4:480e)
+
+INCBIN "baserom.gbc",$1080e,$10826 - $1080e
+
+; no known jump sources
+Function10826: ; 10826 (4:4826)
+ ld a, $3
+ call Function10762
+ call Function1089a
+ ld a, BANK(Function2c76f)
+ ld hl, Function2c76f
+ rst $8 ; ; indirect jump to Function2c76f (2c76f (b:476f))
+ ld a, [CurItem] ; $d106
+ ld [CurItem], a ; $d106
+ ret
+
+; no known jump sources
+Function1083b: ; 1083b (4:483b)
+ ld a, $1
+ ld hl, $4842
+ jr asm_1085a
+; 10842 (4:4842)
+
+INCBIN "baserom.gbc",$10842,$1085a - $10842
+asm_1085a: ; 1085a (4:485a)
+ push hl
+ call Function10762
+ pop hl
+ call Function1d3c
+ call Function350c
+ ret
+
+; known jump sources: 10063 (4:4063), 100a2 (4:40a2), 100e4 (4:40e4), 10194 (4:4194), 104f6 (4:44f6), 10535 (4:4535), 1057d (4:457d), 105a2 (4:45a2)
+Function10866: ; 10866 (4:4866)
+ ld hl, $cf63
+ inc [hl]
+ ret
+
+
Function1086b: ; 1086b
ld e, a
ld d, $0
@@ -18119,9 +19552,39 @@
ret
; 10874
-INCBIN "baserom.gbc", $10874, $1089d - $10874
+; no known jump sources
+Function10874: ; 10874 (4:4874)
+ ld hl, $cf63
+ set 7, [hl]
+ xor a
+ ld [$cf66], a
+ ret
+; no known jump sources
+Function1087e: ; 1087e (4:487e)
+ ld hl, $cf63
+ set 7, [hl]
+ ld a, $1
+ ld [$cf66], a
+ ret
+
+; known jump sources: 10330 (4:4330), 10351 (4:4351), 10489 (4:4489), 1057a (4:457a), 10648 (4:4648), 1092c (4:492c)
+Function10889: ; 10889 (4:4889)
+ ld a, [Options] ; $cfcc
+ push af
+ set 4, a
+ ld [Options], a ; $cfcc
+ call PrintText
+ pop af
+ ld [Options], a ; $cfcc
+ ret
+
+; known jump sources: 10060 (4:4060), 1009f (4:409f), 100e1 (4:40e1), 1017f (4:417f), 10191 (4:4191), 10347 (4:4347), 1047f (4:447f), 104f3 (4:44f3), 10532 (4:4532), 10574 (4:4574), 1059f (4:459f), 10665 (4:4665), 1072b (4:472b), 1076b (4:476b), 1082b (4:482b)
+Function1089a: ; 1089a (4:489a)
+ call WaitBGMap
+
+
Function1089d: ; 1089d
ld a, [$cf65]
and $3
@@ -18153,9 +19616,91 @@
ret
; 108cc
-INCBIN "baserom.gbc", $108cc, $10955 - $108cc
+INCBIN "baserom.gbc",$108cc,$108d4 - $108cc
+; known jump sources: 1008c (4:408c), 100cb (4:40cb), 100f2 (4:40f2), 101bd (4:41bd), 1051f (4:451f), 1055e (4:455e), 1058b (4:458b), 105cb (4:45cb)
+Function108d4: ; 108d4 (4:48d4)
+ ld hl, $cf73
+ ld a, [$d0e3]
+ and a
+ jr nz, .asm_10931
+ ld a, [hl]
+ and $1
+ jr nz, .asm_108f8
+ ld a, [hl]
+ and $2
+ jr nz, .asm_108fa
+ ld a, [hl]
+ and $20
+ jr nz, .asm_10901
+ ld a, [hl]
+ and $10
+ jr nz, .asm_10912
+ ld a, [hl]
+ and $4
+ jr nz, .asm_10923
+ scf
+ ret
+.asm_108f8
+ and a
+ ret
+.asm_108fa
+ ld a, $9
+ ld [$cf63], a
+ scf
+ ret
+.asm_10901
+ ld a, b
+ ld [$cf63], a
+ ld [$cf64], a
+ push de
+ ld de, $62
+ call StartSFX
+ pop de
+ scf
+ ret
+.asm_10912
+ ld a, c
+ ld [$cf63], a
+ ld [$cf64], a
+ push de
+ ld de, $62
+ call StartSFX
+ pop de
+ scf
+ ret
+.asm_10923
+ ld a, BANK(Function2490c)
+ ld hl, Function2490c
+ rst $8 ; ; indirect jump to Function2490c (2490c (9:490c))
+ ld hl, $4b07
+ call Function10889
+ scf
+ ret
+.asm_10931
+ ld a, [hl]
+ and $5
+ jr nz, .asm_1093d
+ ld a, [hl]
+ and $2
+ jr nz, .asm_1094f
+ scf
+ ret
+.asm_1093d
+ ld a, BANK(Function2490c)
+ ld hl, Function2490c
+ rst $8 ; ; indirect jump to Function2490c (2490c (9:490c))
+ ld de, $20
+ call WaitPlaySFX
+ ld de, $20
+ call WaitPlaySFX
+.asm_1094f
+ xor a
+ ld [$d0e3], a
+ scf
+ ret
+
Function10955: ; 10955
call WhiteBGMap
call ClearTileMap
@@ -18239,9 +19784,16 @@
ret
; 109e1
-INCBIN "baserom.gbc", $109e1, $10a40 - $109e1
+INCBIN "baserom.gbc",$109e1,$10a36 - $109e1
+; known jump sources: 1005a (4:405a), 10099 (4:4099), 100d8 (4:40d8), 1018b (4:418b), 104ed (4:44ed), 1052c (4:452c), 1056b (4:456b), 10599 (4:4599), 10765 (4:4765)
+Function10a36: ; 10a36 (4:4a36)
+ ld hl, $c4cd
+ ld bc, $a0f
+ call ClearBox
+ ret
+
Function10a40: ; 10a40
call WaitBGMap
ld b, $14
@@ -18251,7 +19803,7 @@
ret
; 10a4f
-INCBIN "baserom.gbc", $10a4f, $10b16 - $10a4f
+INCBIN "baserom.gbc",$10a4f,$10b16 - $10a4f
PackGFX:
INCBIN "gfx/misc/pack.2bpp"
@@ -18412,9 +19964,41 @@
ret
; 114a4
-INCBIN "baserom.gbc", $114a4, $114dd - $114a4
+; no known jump sources
+Function114a4: ; 114a4 (4:54a4)
+ ld hl, $dc35
+ call Function115db
+ ld a, [$cfd7]
+ and a
+ jr nz, .asm_114d4
+ ld a, [$cfd6]
+ and a
+ jr nz, .asm_114d4
+ ld a, [$cfd4]
+ ld b, a
+ ld a, [$d46d]
+ sub b
+ jr nc, .asm_114c2
+ add $3c
+.asm_114c2
+ ld [$d46d], a
+ ld a, [$cfd5]
+ ld b, a
+ ld a, [$d46c]
+ sbc b
+ ld [$d46c], a
+ jr c, .asm_114d4
+ and a
+ ret
+.asm_114d4
+ xor a
+ ld [$d46c], a
+ ld [$d46d], a
+ scf
+ ret
+
Function114dd: ; 114dd
call UpdateTime
ld hl, $dc23
@@ -18879,9 +20463,196 @@
jp [hl]
; 1172e
-INCBIN "baserom.gbc", $1172e, $1189c - $1172e
+; no known jump sources
+Jumptable_1172e: ; 1172e (4:572e)
+ dw Function1173e
+ dw Function1178d
+ dw Function117ae
+ dw Function117d1
+ dw Function117f5
+ dw Function1182c
+ dw Function1173e
+ dw Function1173e
+
+; no known jump sources
+Function1173e: ; 1173e (4:573e)
+ ld a, [CurPartySpecies] ; $d108
+ ld [$d265], a
+ ld hl, Function8e83f
+ ld a, BANK(Function8e83f)
+ ld e, $1
+ rst $8 ; ; indirect jump to Function8e83f (8e83f (23:683f))
+ ld a, [CurPartySpecies] ; $d108
+ ld [$d265], a
+ call GetPokemonName
+ ld hl, $c4cd
+ call PlaceString
+ ld l, c
+ ld h, b
+ ld de, $5780
+ call PlaceString
+ inc de
+ ld hl, $c4f5
+ call PlaceString
+ ld a, BANK(GetGender)
+ ld hl, GetGender
+ rst $8 ; ; indirect jump to GetGender (50bdd (14:4bdd))
+ jr c, .asm_1177c
+ ld a, $ef
+ jr nz, .asm_11778
+ ld a, $f5
+.asm_11778
+ ld hl, $c4c9
+ ld [hl], a
+.asm_1177c
+ call Function1187b
+ ret
+; 11780 (4:5780)
+
+INCBIN "baserom.gbc",$11780,$1178d - $11780
+
+; no known jump sources
+Function1178d: ; 1178d (4:578d)
+ ld a, BANK(GetPlayerIcon)
+ ld hl, GetPlayerIcon
+ rst $8 ; ; indirect jump to GetPlayerIcon (8832c (22:432c))
+ call Function11847
+ ld hl, $c4cd
+ ld de, $57a3
+ call PlaceString
+ call Function11882
+ ret
+; 117a3 (4:57a3)
+
+INCBIN "baserom.gbc",$117a3,$117ae - $117a3
+
+; no known jump sources
+Function117ae: ; 117ae (4:57ae)
+ ld de, $43c0
+ ld b, $30
+ call Function11847
+ ld hl, $c4cd
+ ld de, $57c3
+ call PlaceString
+ call Function11882
+ ret
+; 117c3 (4:57c3)
+
+INCBIN "baserom.gbc",$117c3,$117d1 - $117c3
+
+; no known jump sources
+Function117d1: ; 117d1 (4:57d1)
+ ld de, $4fc0
+ ld b, $30
+ call Function11847
+ ld hl, $c4cd
+ ld de, $57e6
+ call PlaceString
+ call Function11882
+ ret
+; 117e6 (4:57e6)
+
+INCBIN "baserom.gbc",$117e6,$117f5 - $117e6
+
+; no known jump sources
+Function117f5: ; 117f5 (4:57f5)
+ ld de, $7380
+ ld hl, $8000
+ ld bc, $3104
+ call Request2bpp
+ xor a
+ ld hl, $c300
+ ld [hli], a
+ ld [hl], a
+ ld de, $2420
+ ld a, $a
+ call Function3b2a
+ ld hl, $1
+ add hl, bc
+ ld [hl], $0
+ ld hl, $c4cd
+ ld de, $5822
+ call PlaceString
+ call Function11889
+ ret
+; 11822 (4:5822)
+
+INCBIN "baserom.gbc",$11822,$1182c - $11822
+
+; no known jump sources
+Function1182c: ; 1182c (4:582c)
+ ld hl, $c4cb
+ ld de, $5839
+ call PlaceString
+ call Function11882
+ ret
+; 11839 (4:5839)
+
+INCBIN "baserom.gbc",$11839,$11847 - $11839
+
+; known jump sources: 11793 (4:5793), 117b3 (4:57b3), 117d6 (4:57d6)
+Function11847: ; 11847 (4:5847)
+ push de
+ ld hl, $8000
+ ld c, $4
+ push bc
+ call Request2bpp
+ pop bc
+ ld hl, $c0
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, $8040
+ call Request2bpp
+ xor a
+ ld hl, $c300
+ ld [hli], a
+ ld [hl], a
+ pop de
+ ld b, $a
+ ld a, d
+ cp $7a
+ jr nz, .asm_11873
+ ld a, e
+ cp $40
+ jr nz, .asm_11873
+ ld b, $1e
+.asm_11873
+ ld a, b
+ ld de, $2420
+ call Function3b2a
+ ret
+
+; known jump sources: 1177c (4:577c)
+Function1187b: ; 1187b (4:587b)
+ ld a, $a
+ ld hl, $c51d
+ jr asm_11890
+
+; known jump sources: 1179f (4:579f), 117bf (4:57bf), 117e2 (4:57e2), 11835 (4:5835)
+Function11882: ; 11882 (4:5882)
+ ld a, $7
+ ld hl, $c51d
+ jr asm_11890
+
+; known jump sources: 1181e (4:581e)
+Function11889: ; 11889 (4:5889)
+ ld a, $8
+ ld hl, $c4f5
+ jr asm_11890
+
+; known jump sources: 11880 (4:5880), 11887 (4:5887), 1188e (4:588e)
+asm_11890: ; 11890 (4:5890)
+ ld [$c6d3], a
+ ld a, l
+ ld [EnemySDefLevel], a ; $c6d8
+ ld a, h
+ ld [EnemyAccLevel], a ; $c6d9
+ ret
+
+
Function1189c: ; 1189c
push bc
push af
@@ -18909,6 +20680,7 @@
.asm_118c4
call ClearBox
ld de, $5da2
+Function118ca: ; 118ca
call Function1189c
jr nz, .asm_118d5
ld hl, $0055
@@ -19017,9 +20789,347 @@
jp [hl]
; 11977
-INCBIN "baserom.gbc", $11977, $11be0 - $11977
+; no known jump sources
+Jumptable_11977: ; 11977 (4:5977)
+ dw Function1197b
+ dw Function119a1
+
+; no known jump sources
+Function1197b: ; 1197b (4:597b)
+ ld de, $5018
+ call Function1189c
+ jr nz, .asm_11985
+ ld d, $40
+.asm_11985
+ ld a, $2
+ call Function3b2a
+ ld a, c
+ ld [EnemyDefLevel], a ; $c6d5
+ ld a, b
+ ld [$c6d6], a
+ ld hl, $1
+ add hl, bc
+ ld a, [hl]
+ ld hl, $e
+ add hl, bc
+ ld [hl], a
+ ld hl, $cf63
+ inc [hl]
+ ret
+
+; no known jump sources
+Function119a1: ; 119a1 (4:59a1)
+ ld hl, hJoyPressed ; $ffa7
+ ld a, [hl]
+ and $1
+ jr nz, .asm_119b9
+ ld a, [hl]
+ and $2
+ jr nz, .asm_119e7
+ ld a, [hl]
+ and $8
+ jr nz, .asm_119cf
+ ld a, [hl]
+ and $4
+ jr nz, .asm_119f4
+ ret
+.asm_119b9
+ call Function11a0b
+ cp $1
+ jr z, .asm_119f4
+ cp $2
+ jr z, .asm_119e7
+ cp $3
+ jr z, .asm_119eb
+ call Function11c11
+ call Function11b14
+ ret nc
+.asm_119cf
+ ld hl, EnemyDefLevel ; $c6d5
+ ld c, [hl]
+ inc hl
+ ld b, [hl]
+ ld hl, $c
+ add hl, bc
+ ld [hl], $8
+ ld hl, $d
+ add hl, bc
+ ld [hl], $4
+ call Function1189c
+ ret nz
+ inc [hl]
+ ret
+.asm_119e7
+ call Function11bbc
+ ret
+.asm_119eb
+ call Function11bf7
+ ld hl, $cf63
+ set 7, [hl]
+ ret
+.asm_119f4
+ ld hl, $cf64
+ ld a, [hl]
+ xor $1
+ ld [hl], a
+ jr z, .asm_11a04
+ ld de, $5ce7
+ call Function118ca
+ ret
+.asm_11a04
+ ld de, $5da2
+ call Function118ca
+ ret
+
+; known jump sources: 119b9 (4:59b9)
+Function11a0b: ; 11a0b (4:5a0b)
+ ld hl, EnemyDefLevel ; $c6d5
+ ld c, [hl]
+ inc hl
+ ld b, [hl]
+
+; known jump sources: 11aa3 (4:5aa3), 11ac5 (4:5ac5)
+Function11a11: ; 11a11 (4:5a11)
+ ld hl, $d
+ add hl, bc
+ ld a, [hl]
+ push bc
+ ld b, $4
+ call Function1189c
+ jr nz, .asm_11a1f
+ inc b
+.asm_11a1f
+ cp b
+ pop bc
+ jr nz, .asm_11a39
+ ld hl, $c
+ add hl, bc
+ ld a, [hl]
+ cp $3
+ jr c, .asm_11a33
+ cp $6
+ jr c, .asm_11a36
+ ld a, $3
+ ret
+.asm_11a33
+ ld a, $1
+ ret
+.asm_11a36
+ ld a, $2
+ ret
+.asm_11a39
+ xor a
+ ret
+
+; no known jump sources
+Function11a3b: ; 11a3b (4:5a3b)
+ call Function11a8b
+ ld hl, $d
+ add hl, bc
+ ld a, [hl]
+ ld e, a
+ swap e
+ ld hl, $7
+ add hl, bc
+ ld [hl], e
+ ld d, $4
+ call Function1189c
+ jr nz, .asm_11a53
+ inc d
+.asm_11a53
+ cp d
+ ld de, $5a79
+ ld a, $0
+ jr nz, .asm_11a60
+ ld de, $5a82
+ ld a, $1
+.asm_11a60
+ ld hl, $e
+ add hl, bc
+ add [hl]
+ ld hl, $1
+ add hl, bc
+ ld [hl], a
+ ld hl, $c
+ add hl, bc
+ ld l, [hl]
+ ld h, $0
+ add hl, de
+ ld a, [hl]
+ ld hl, $6
+ add hl, bc
+ ld [hl], a
+ ret
+; 11a79 (4:5a79)
+
+INCBIN "baserom.gbc",$11a79,$11a8b - $11a79
+
+; known jump sources: 11a3b (4:5a3b)
+Function11a8b: ; 11a8b (4:5a8b)
+ ld hl, $ffa9
+ ld a, [hl]
+ and $40
+ jr nz, .asm_11b02
+ ld a, [hl]
+ and $80
+ jr nz, .asm_11ae9
+ ld a, [hl]
+ and $20
+ jr nz, .asm_11ac5
+ ld a, [hl]
+ and $10
+ jr nz, .asm_11aa3
+ ret
+.asm_11aa3
+ call Function11a11
+ and a
+ jr nz, .asm_11ab7
+ ld hl, $c
+ add hl, bc
+ ld a, [hl]
+ cp $8
+ jr nc, .asm_11ab4
+ inc [hl]
+ ret
+.asm_11ab4
+ ld [hl], $0
+ ret
+.asm_11ab7
+ cp $3
+ jr nz, .asm_11abc
+ xor a
+.asm_11abc
+ ld e, a
+ add a
+ add e
+ ld hl, $c
+ add hl, bc
+ ld [hl], a
+ ret
+.asm_11ac5
+ call Function11a11
+ and a
+ jr nz, .asm_11ad8
+ ld hl, $c
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_11ad5
+ dec [hl]
+ ret
+.asm_11ad5
+ ld [hl], $8
+ ret
+.asm_11ad8
+ cp $1
+ jr nz, .asm_11ade
+ ld a, $4
+.asm_11ade
+ dec a
+ dec a
+ ld e, a
+ add a
+ add e
+ ld hl, $c
+ add hl, bc
+ ld [hl], a
+ ret
+.asm_11ae9
+ ld hl, $d
+ add hl, bc
+ ld a, [hl]
+ call Function1189c
+ jr nz, .asm_11af9
+ cp $5
+ jr nc, .asm_11aff
+ inc [hl]
+ ret
+.asm_11af9
+ cp $4
+ jr nc, .asm_11aff
+ inc [hl]
+ ret
+.asm_11aff
+ ld [hl], $0
+ ret
+.asm_11b02
+ ld hl, $d
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_11b0c
+ dec [hl]
+ ret
+.asm_11b0c
+ ld [hl], $4
+ call Function1189c
+ ret nz
+ inc [hl]
+ ret
+
+; known jump sources: 119cb (4:59cb)
+Function11b14: ; 11b14 (4:5b14)
+ ld a, [EnemySAtkLevel] ; $c6d7
+
+; known jump sources: 121af (4:61af)
+Function11b17: ; 11b17 (4:5b17)
+ ld a, [$c6d3]
+ ld c, a
+ ld a, [PlayerEvaLevel] ; $c6d2
+ cp c
+ ret nc
+ ld a, [EnemySAtkLevel] ; $c6d7
+ call Function11bd0
+ ld [hl], a
+ ld hl, PlayerEvaLevel ; $c6d2
+ inc [hl]
+ call Function11bd0
+ ld a, [hl]
+ cp $50
+ jr z, .asm_11b37
+ ld [hl], $f2
+ and a
+ ret
+.asm_11b37
+ scf
+ ret
+; 11b39 (4:5b39)
+
+INCBIN "baserom.gbc",$11b39,$11bbc - $11b39
+
+; known jump sources: 119e7 (4:59e7), 1208d (4:608d)
+Function11bbc: ; 11bbc (4:5bbc)
+ ld hl, PlayerEvaLevel ; $c6d2
+ ld a, [hl]
+ and a
+ ret z
+ dec [hl]
+ call Function11bd0
+ ld [hl], $f2
+ inc hl
+ ld a, [hl]
+ cp $f2
+ ret nz
+ ld [hl], $eb
+ ret
+
+; known jump sources: 11b23 (4:5b23), 11b2b (4:5b2b), 11bc3 (4:5bc3), 12071 (4:6071), 12098 (4:6098)
+Function11bd0: ; 11bd0 (4:5bd0)
+ push af
+ ld hl, PlayerSDefLevel ; $c6d0
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld a, [PlayerEvaLevel] ; $c6d2
+ ld e, a
+ ld d, $0
+ add hl, de
+ pop af
+ ret
+
+
Function11be0: ; 11be0
ld hl, PlayerSDefLevel
ld a, [hli]
@@ -19039,9 +21149,73 @@
ret
; 11bf7
-INCBIN "baserom.gbc", $11bf7, $11c51 - $11bf7
+; known jump sources: 119eb (4:59eb), 120a1 (4:60a1)
+Function11bf7: ; 11bf7 (4:5bf7)
+ ld hl, PlayerSDefLevel ; $c6d0
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld a, [$c6d3]
+ ld c, a
+.asm_11c01
+ ld a, [hl]
+ cp $eb
+ jr z, .asm_11c0a
+ cp $f2
+ jr nz, .asm_11c0c
+.asm_11c0a
+ ld [hl], $50
+.asm_11c0c
+ inc hl
+ dec c
+ jr nz, .asm_11c01
+ ret
+; known jump sources: 119c8 (4:59c8), 12061 (4:6061)
+Function11c11: ; 11c11 (4:5c11)
+ ld hl, EnemyDefLevel ; $c6d5
+ ld c, [hl]
+ inc hl
+ ld b, [hl]
+ ld hl, $6
+ add hl, bc
+ ld a, [hl]
+ ld hl, $4
+ add hl, bc
+ add [hl]
+ sub $8
+ srl a
+ srl a
+ srl a
+ ld e, a
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ ld hl, $5
+ add hl, bc
+ add [hl]
+ sub $10
+ srl a
+ srl a
+ srl a
+ ld d, a
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld bc, $14
+.asm_11c43
+ ld a, d
+ and a
+ jr z, .asm_11c4b
+ add hl, bc
+ dec d
+ jr .asm_11c43
+.asm_11c4b
+ add hl, de
+ ld a, [hl]
+ ld [EnemySAtkLevel], a ; $c6d7
+ ret
+
+
Function11c51: ; 11c51
call ClearSprites
callab Function8cf53
@@ -19083,7 +21257,7 @@
ret
; 11cb7
-INCBIN "baserom.gbc", $11cb7, $11ce7 - $11cb7
+INCBIN "baserom.gbc",$11cb7,$11ce7 - $11cb7
NameInputLower:
db "a b c d e f g h i"
@@ -19113,8 +21287,455 @@
db "lower DEL END "
-INCBIN "baserom.gbc", $11e5d, $122c1 - $11e5d
+INCBIN "baserom.gbc",$11e5d,$11e75 - $11e5d
+; no known jump sources
+Function11e75: ; 11e75 (4:5e75)
+ ld hl, PlayerSDefLevel ; $c6d0
+ ld [hl], e
+ inc hl
+ ld [hl], d
+ ld a, [$FF00+$de]
+ push af
+ xor a
+ ld [$FF00+$de], a
+ ld a, [$FF00+$aa]
+ push af
+ ld a, $1
+ ld [$FF00+$aa], a
+ call Function11e9a
+ call DelayFrame
+.asm_11e8e
+ call Function11fc0
+ jr nc, .asm_11e8e
+ pop af
+ ld [$FF00+$aa], a
+ pop af
+ ld [$FF00+$de], a
+ ret
+
+; known jump sources: 11e88 (4:5e88)
+Function11e9a: ; 11e9a (4:5e9a)
+ call WhiteBGMap
+ call DisableLCD
+ call Function11c51
+ ld de, $8000
+ ld hl, $5ef4
+ ld bc, $80
+ ld a, $4
+ call FarCopyBytes
+ xor a
+ ld hl, $c300
+ ld [hli], a
+ ld [hl], a
+ ld de, $1810
+ ld a, $0
+ call Function3b2a
+ ld hl, $2
+ add hl, bc
+ ld [hl], $0
+ call Function11f84
+ ld a, $e3
+ ld [rLCDC], a ; $ff00+$40
+ call Function11f74
+ ld b, $8
+ call GetSGBLayout
+ call WaitBGMap
+ call WaitTop
+ ld a, $e4
+ call DmgToCgbBGPals
+ ld a, $e4
+ call Functioncf8
+ call Function11be0
+ ld hl, PlayerSDefLevel ; $c6d0
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ ld hl, $10
+ add hl, de
+ ld [hl], $4e
+ ret
+; 11ef4 (4:5ef4)
+
+INCBIN "baserom.gbc",$11ef4,$11f74 - $11ef4
+
+; known jump sources: 11ecc (4:5ecc)
+Function11f74: ; 11f74 (4:5f74)
+ ld a, $21
+ ld [$c6d3], a
+ ret
+; 11f7a (4:5f7a)
+
+INCBIN "baserom.gbc",$11f7a,$11f84 - $11f7a
+
+; known jump sources: 11ec5 (4:5ec5)
+Function11f84: ; 11f84 (4:5f84)
+ call WaitTop
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld bc, $78
+ ld a, $60
+ call ByteFill
+ ld hl, $c518
+ ld bc, $f0
+ ld a, $7f
+ call ByteFill
+ ld hl, $c4b5
+ ld bc, $412
+ call ClearBox
+ ld de, $61dd
+
+; known jump sources: 120b6 (4:60b6), 120bd (4:60bd)
+Function11fa9: ; 11fa9 (4:5fa9)
+ ld hl, $c52d
+ ld b, $6
+.asm_11fae
+ ld c, $13
+.asm_11fb0
+ ld a, [de]
+ ld [hli], a
+ inc de
+ dec c
+ jr nz, .asm_11fb0
+ push de
+ ld de, $15
+ add hl, de
+ pop de
+ dec b
+ jr nz, .asm_11fae
+ ret
+
+; known jump sources: 11e8e (4:5e8e)
+Function11fc0: ; 11fc0 (4:5fc0)
+ call Functiona57
+ ld a, [$cf63]
+ bit 7, a
+ jr nz, .asm_11fdb
+ call Function12008
+ ld a, BANK(Function8cf62)
+ ld hl, Function8cf62
+ rst $8 ; ; indirect jump to Function8cf62 (8cf62 (23:4f62))
+ call Function11feb
+ call DelayFrame
+ and a
+ ret
+.asm_11fdb
+ ld hl, Function8cf53
+ ld a, BANK(Function8cf53)
+ rst $8 ; ; indirect jump to Function8cf53 (8cf53 (23:4f53))
+ call ClearSprites
+ xor a
+ ld [hSCX], a ; $ff00+$cf
+ ld [hSCY], a ; $ff00+$d0
+ scf
+ ret
+
+; known jump sources: 11fd3 (4:5fd3)
+Function11feb: ; 11feb (4:5feb)
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ ld hl, $c4b5
+ ld bc, $412
+ call ClearBox
+ ld hl, PlayerSDefLevel ; $c6d0
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ ld hl, $c4ca
+ call PlaceString
+ ld a, $1
+ ld [hBGMapMode], a ; $ff00+$d4
+ ret
+
+; known jump sources: 11fca (4:5fca)
+Function12008: ; 12008 (4:6008)
+ ld a, [$cf63]
+ ld e, a
+ ld d, $0
+ ld hl, $6017
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
+
+; no known jump sources
+Jumptable_12017: ; 12017 (4:6017)
+ dw Function1201b
+ dw Function1203a
+
+
+; no known jump sources
+Function1201b: ; 1201b (4:601b)
+ ld de, $4810
+ ld a, $9
+ call Function3b2a
+ ld a, c
+ ld [EnemyDefLevel], a ; $c6d5
+ ld a, b
+ ld [$c6d6], a
+ ld hl, $1
+ add hl, bc
+ ld a, [hl]
+ ld hl, $e
+ add hl, bc
+ ld [hl], a
+ ld hl, $cf63
+ inc [hl]
+ ret
+
+; no known jump sources
+Function1203a: ; 1203a (4:603a)
+ ld hl, hJoyPressed ; $ffa7
+ ld a, [hl]
+ and $1
+ jr nz, .asm_12052
+ ld a, [hl]
+ and $2
+ jr nz, .asm_1208d
+ ld a, [hl]
+ and $8
+ jr nz, .asm_1207a
+ ld a, [hl]
+ and $4
+ jr nz, .asm_120aa
+ ret
+.asm_12052
+ call Function12185
+ cp $1
+ jr z, .asm_120aa
+ cp $2
+ jr z, .asm_1208d
+ cp $3
+ jr z, .asm_120a1
+ call Function11c11
+ call Function121ac
+ jr c, .asm_1207a
+ ld hl, PlayerEvaLevel ; $c6d2
+ ld a, [hl]
+ cp $10
+ ret nz
+ inc [hl]
+ call Function11bd0
+ ld [hl], $f2
+ dec hl
+ ld [hl], $4e
+ ret
+.asm_1207a
+ ld hl, EnemyDefLevel ; $c6d5
+ ld c, [hl]
+ inc hl
+ ld b, [hl]
+ ld hl, $c
+ add hl, bc
+ ld [hl], $9
+ ld hl, $d
+ add hl, bc
+ ld [hl], $5
+ ret
+.asm_1208d
+ call Function11bbc
+ ld hl, PlayerEvaLevel ; $c6d2
+ ld a, [hl]
+ cp $10
+ ret nz
+ dec [hl]
+ call Function11bd0
+ ld [hl], $f2
+ inc hl
+ ld [hl], $4e
+ ret
+.asm_120a1
+ call Function11bf7
+ ld hl, $cf63
+ set 7, [hl]
+ ret
+.asm_120aa
+ ld hl, $cf64
+ ld a, [hl]
+ xor $1
+ ld [hl], a
+ jr nz, .asm_120ba
+ ld de, $61dd
+ call Function11fa9
+ ret
+.asm_120ba
+ ld de, $624f
+ call Function11fa9
+ ret
+
+; no known jump sources
+Function120c1: ; 120c1 (4:60c1)
+ call Function1210c
+ ld hl, $d
+ add hl, bc
+ ld a, [hl]
+ ld e, a
+ swap e
+ ld hl, $7
+ add hl, bc
+ ld [hl], e
+ cp $5
+ ld de, $60f8
+ ld a, $0
+ jr nz, .asm_120df
+ ld de, $6102
+ ld a, $1
+.asm_120df
+ ld hl, $e
+ add hl, bc
+ add [hl]
+ ld hl, $1
+ add hl, bc
+ ld [hl], a
+ ld hl, $c
+ add hl, bc
+ ld l, [hl]
+ ld h, $0
+ add hl, de
+ ld a, [hl]
+ ld hl, $6
+ add hl, bc
+ ld [hl], a
+ ret
+; 120f8 (4:60f8)
+
+INCBIN "baserom.gbc",$120f8,$1210c - $120f8
+
+; known jump sources: 120c1 (4:60c1)
+Function1210c: ; 1210c (4:610c)
+ ld hl, $ffa9
+ ld a, [hl]
+ and $40
+ jr nz, .asm_12178
+ ld a, [hl]
+ and $80
+ jr nz, .asm_1216a
+ ld a, [hl]
+ and $20
+ jr nz, .asm_12146
+ ld a, [hl]
+ and $10
+ jr nz, .asm_12124
+ ret
+.asm_12124
+ call Function1218b
+ and a
+ jr nz, .asm_12138
+ ld hl, $c
+ add hl, bc
+ ld a, [hl]
+ cp $9
+ jr nc, .asm_12135
+ inc [hl]
+ ret
+.asm_12135
+ ld [hl], $0
+ ret
+.asm_12138
+ cp $3
+ jr nz, .asm_1213d
+ xor a
+.asm_1213d
+ ld e, a
+ add a
+ add e
+ ld hl, $c
+ add hl, bc
+ ld [hl], a
+ ret
+.asm_12146
+ call Function1218b
+ and a
+ jr nz, .asm_12159
+ ld hl, $c
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_12156
+ dec [hl]
+ ret
+.asm_12156
+ ld [hl], $9
+ ret
+.asm_12159
+ cp $1
+ jr nz, .asm_1215f
+ ld a, $4
+.asm_1215f
+ dec a
+ dec a
+ ld e, a
+ add a
+ add e
+ ld hl, $c
+ add hl, bc
+ ld [hl], a
+ ret
+.asm_1216a
+ ld hl, $d
+ add hl, bc
+ ld a, [hl]
+ cp $5
+ jr nc, .asm_12175
+ inc [hl]
+ ret
+.asm_12175
+ ld [hl], $0
+ ret
+.asm_12178
+ ld hl, $d
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_12182
+ dec [hl]
+ ret
+.asm_12182
+ ld [hl], $5
+ ret
+
+; known jump sources: 12052 (4:6052)
+Function12185: ; 12185 (4:6185)
+ ld hl, EnemyDefLevel ; $c6d5
+ ld c, [hl]
+ inc hl
+ ld b, [hl]
+
+; known jump sources: 12124 (4:6124), 12146 (4:6146)
+Function1218b: ; 1218b (4:618b)
+ ld hl, $d
+ add hl, bc
+ ld a, [hl]
+ cp $5
+ jr nz, .asm_121aa
+ ld hl, $c
+ add hl, bc
+ ld a, [hl]
+ cp $3
+ jr c, .asm_121a4
+ cp $6
+ jr c, .asm_121a7
+ ld a, $3
+ ret
+.asm_121a4
+ ld a, $1
+ ret
+.asm_121a7
+ ld a, $2
+ ret
+.asm_121aa
+ xor a
+ ret
+
+; known jump sources: 12064 (4:6064)
+Function121ac: ; 121ac (4:61ac)
+ ld a, [EnemySAtkLevel] ; $c6d7
+ jp Function11b17
+; 121b2 (4:61b2)
+
+INCBIN "baserom.gbc",$121b2,$122c1 - $121b2
+
UnknownScript_0x122c1: ; 0x122c1
checkflag $0011
iffalse .script_122cd
@@ -19222,7 +21843,7 @@
ret
; 12365
-INCBIN "baserom.gbc", $12365, $12377 - $12365
+INCBIN "baserom.gbc",$12365,$12377 - $12365
Table12377: ; 12377
dw Function12383
@@ -19289,7 +21910,7 @@
ret
; 123dc
-INCBIN "baserom.gbc", $123dc, $12434 - $123dc
+INCBIN "baserom.gbc",$123dc,$12434 - $123dc
Function12434: ; 12434
call Function3218
@@ -19309,7 +21930,7 @@
ret
; 12451
-INCBIN "baserom.gbc", $12451, $12459 - $12451
+INCBIN "baserom.gbc",$12451,$12459 - $12451
Function12459: ; 12459
ld c, $8
@@ -19399,7 +22020,7 @@
ret
; 124c1
-INCBIN "baserom.gbc", $124c1, $124c8 - $124c1
+INCBIN "baserom.gbc",$124c1,$124c8 - $124c1
UnknownScript_0x124c8: ; 0x124c8
refreshscreen $0
@@ -19436,7 +22057,10 @@
ret
; 1250a
-INCBIN "baserom.gbc", $1250a, $12513 - $1250a
+ ld b, $0
+ call GetSGBLayout
+ call Function32f9
+ ret
HalveMoney: ; 12513
@@ -19478,7 +22102,7 @@
ret
; 1253d
-INCBIN "baserom.gbc", $1253d, $12580 - $1253d
+INCBIN "baserom.gbc",$1253d,$12580 - $1253d
Function12580: ; 12580
@@ -19499,7 +22123,7 @@
ret
; 12599
-INCBIN "baserom.gbc", $12599, $125cd - $12599
+INCBIN "baserom.gbc",$12599,$125cd - $12599
StartMenu: ; 125cd
@@ -20077,7 +22701,7 @@
; 129d5
-INCBIN "baserom.gbc", $129d5, $12a60 - $129d5
+INCBIN "baserom.gbc",$129d5,$12a60 - $129d5
CantUseItem: ; 12a60
@@ -20499,8 +23123,14 @@
jp ReceiveItem
; 12cea
-INCBIN "baserom.gbc", $12cea, $12cf5 - $12cea
+; known jump sources: 12bf4 (4:6bf4), 12c16 (4:6c16)
+Function12cea: ; 12cea (4:6cea)
+ ld a, $1
+ ld [$d10c], a
+ ld hl, NumItems ; $d892 (aliases: TMsHMsEnd)
+ jp TossItem
+
Function12cf5: ; 12cf5
call Function1d4f
call Function1dcf
@@ -20507,8 +23137,39 @@
jp Function1c07
; 12cfe
-INCBIN "baserom.gbc", $12cfe, $12d45 - $12cfe
+; known jump sources: 12c5c (4:6c5c)
+Function12cfe: ; 12cfe (4:6cfe)
+ ld de, DefaultFlypoint ; $d002
+ ld a, BANK(Function11e75)
+ ld hl, Function11e75
+ rst $8 ; ; indirect jump to Function11e75 (11e75 (4:5e75))
+ ld hl, PlayerName ; $d47d
+ ld de, $d023
+ ld bc, $a
+ call CopyBytes
+ ld hl, PlayerID ; $d47b
+ ld bc, $2
+ call CopyBytes
+ ld a, [CurPartySpecies] ; $d108
+ ld [de], a
+ inc de
+ ld a, [CurItem] ; $d106
+ ld [de], a
+ ld a, [CurPartyMon] ; $d109
+ ld hl, $a600
+ ld bc, $2f
+ call AddNTimes
+ ld d, h
+ ld e, l
+ ld hl, DefaultFlypoint ; $d002
+ ld bc, $2f
+ ld a, $0
+ call GetSRAMBank
+ call CopyBytes
+ call CloseSRAM
+ ret
+
Function12d45: ; 12d45
ld a, [InLinkBattle]
cp $1
@@ -20578,7 +23239,7 @@
; 12dc9
-INCBIN "baserom.gbc", $12dc9, $12de2 - $12dc9
+INCBIN "baserom.gbc",$12dc9,$12de2 - $12dc9
UnknownText_0x12de2: ; 0x12de2
@@ -20668,7 +23329,7 @@
ret
; 12e52
-INCBIN "baserom.gbc", $12e52, $12e55 - $12e52
+INCBIN "baserom.gbc",$12e52,$12e55 - $12e52
Function12e55: ; 12e55
ld a, $3
@@ -20799,7 +23460,7 @@
ret
; 12f00
-INCBIN "baserom.gbc", $12f00, $12f05 - $12f00
+INCBIN "baserom.gbc",$12f00,$12f05 - $12f00
Function12f05: ; 12f05
ld a, $24
@@ -20920,7 +23581,7 @@
ret
; 12fb2
-INCBIN "baserom.gbc", $12fb2, $12fba - $12fb2
+INCBIN "baserom.gbc",$12fb2,$12fba - $12fb2
Function12fba: ; 12fba
ld a, [CurPartySpecies]
@@ -21151,7 +23812,7 @@
jp ClearTileMap
; 13163
-INCBIN "baserom.gbc", $13163, $13172 - $13163
+INCBIN "baserom.gbc",$13163,$13172 - $13163
Function13172: ; 13172
call WhiteBGMap
@@ -21300,7 +23961,7 @@
ret
; 132ba
-INCBIN "baserom.gbc", $132ba, $132d3 - $132ba
+INCBIN "baserom.gbc",$132ba,$132d3 - $132ba
Function132d3: ; 132d3
call Function132da
@@ -21708,7 +24369,7 @@
ret
; 1350d
-INCBIN "baserom.gbc", $1350d, $13512 - $1350d
+INCBIN "baserom.gbc",$1350d,$13512 - $1350d
Function13512: ; 13512
@@ -21730,7 +24391,7 @@
ret
; 13537
-INCBIN "baserom.gbc", $13537, $1353f - $13537
+INCBIN "baserom.gbc",$13537,$1353f - $13537
Function1353f: ; 1353f
@@ -21746,7 +24407,8 @@
ret
; 13550
-INCBIN "baserom.gbc", $13550, $1356b - $13550
+INCBIN "baserom.gbc",$13550,$13568 - $13550
+ ld a, [MenuSelection] ; $cf74
Function1356b: ; 1356b
@@ -21844,7 +24506,7 @@
end
; 0x135f8
-INCBIN "baserom.gbc", $135f8, $13603 - $135f8
+INCBIN "baserom.gbc",$135f8,$13603 - $135f8
UnknownScript_0x13603: ; 0x13603
playsound SFX_ELEVATOR_END
@@ -21855,7 +24517,7 @@
jumpstd $0016
; 0x1360f
-INCBIN "baserom.gbc", $1360f, $13614 - $1360f
+INCBIN "baserom.gbc",$1360f,$13614 - $1360f
UnknownText_0x13614: ; 0x13614
text_jump UnknownText_0x1bd2e7, BANK(UnknownText_0x1bd2e7)
@@ -21862,7 +24524,14 @@
db $50
; 0x13619
-INCBIN "baserom.gbc", $13619, $1365b - $13619
+INCBIN "baserom.gbc",$13619,$1364f - $13619
+ ld hl, EngineBuffer1 ; $d03e (aliases: MenuItemsList, CurFruitTree, CurInput)
+ ld a, [hli]
+ ld d, [hl]
+ ld e, a
+ ld b, $1
+ call EventFlagAction
+ ret
Function1365b: ; 1365b
@@ -21936,7 +24605,7 @@
jp Function13807
; 136eb
-INCBIN "baserom.gbc", $136eb, $13730 - $136eb
+INCBIN "baserom.gbc",$136eb,$13730 - $136eb
Function13730: ; 13730
dec a
@@ -21986,7 +24655,7 @@
jp CopyBytes
; 13783
-INCBIN "baserom.gbc", $13783, $13807 - $13783
+INCBIN "baserom.gbc",$13783,$13807 - $13783
Function13807: ; 13807
ld hl, $d00a
@@ -22318,7 +24987,7 @@
ret
; 139fe
-INCBIN "baserom.gbc", $139fe, $13a12 - $139fe
+INCBIN "baserom.gbc",$139fe,$13a12 - $139fe
Function13a12: ; 13a12
ld hl, PartyMon1CurHP
@@ -22360,7 +25029,7 @@
ret
; 13a47
-INCBIN "baserom.gbc", $13a47, $13b87 - $13a47
+INCBIN "baserom.gbc",$13a47,$13b87 - $13a47
GetSquareRoot: ; 13b87
@@ -22463,7 +25132,7 @@
; 1404c
-INCBIN "baserom.gbc", $1404c, $14056 - $1404c
+INCBIN "baserom.gbc",$1404c,$14056 - $1404c
Function14056: ; 14056
@@ -22629,7 +25298,7 @@
ret
; 14146
-INCBIN "baserom.gbc", $14146, $14168 - $14146
+INCBIN "baserom.gbc",$14146,$14168 - $14146
Function14168: ; 14168
@@ -23294,7 +25963,7 @@
ret
; 1444d
-INCBIN "baserom.gbc", $1444d, $14495 - $1444d
+INCBIN "baserom.gbc",$1444d,$14495 - $1444d
SpriteMons: ; 14495
@@ -24073,8 +26742,15 @@
ret
; 149c6
-INCBIN "baserom.gbc", $149c6, $149dd - $149c6
+ ld de, $1
+ ld hl, $49d3
+ ld a, [StandingTile] ; $d4e4
+ call IsInArray
+ ret
+; 149d3 (5:49d3)
+INCBIN "baserom.gbc",$149d3,$149dd - $149d3
+
Function149dd: ; 149dd
ld a, [StandingTile]
ld hl, $49ea
@@ -24083,7 +26759,7 @@
ret
; 149ea
-INCBIN "baserom.gbc", $149ea, $149f5 - $149ea
+INCBIN "baserom.gbc",$149ea,$149f5 - $149ea
Function149f5: ; 149f5
ld a, c
@@ -24093,7 +26769,7 @@
ret
; 14a00
-INCBIN "baserom.gbc", $14a00, $14a07 - $14a00
+INCBIN "baserom.gbc",$14a00,$14a07 - $14a00
Function14a07: ; 14a07
@@ -24108,7 +26784,34 @@
ret
; 14a1a
-INCBIN "baserom.gbc", $14a1a, $14a58 - $14a1a
+ call Function1d6e
+ ld a, $1
+ ld hl, $5e9a
+ rst $8
+ call SpeechTextBox
+ call Function1ad2
+ ld a, $13
+ ld hl, $4f45
+ rst $8
+ ld hl, $5283
+ call Function14baf
+ jr nz, .asm_14a4a
+ call Function14b89
+ jr c, .asm_14a4a
+ call Function14b54
+ call Function14be3
+ call Function14b5a
+ call Function1c07
+ and a
+ ret
+.asm_14a4a
+ call Function1c07
+ call Functiond90
+ ld a, BANK(Function4cf45)
+ ld hl, Function4cf45
+ rst $8 ; ; indirect jump to Function4cf45 (4cf45 (13:4f45))
+ scf
+ ret
Function14a58: ; 14a58
call Function14b54
@@ -24124,8 +26827,32 @@
ret
; 14a83
-INCBIN "baserom.gbc", $14a83, $14ab2 - $14a83
+; no known jump sources
+Function14a83: ; 14a83 (5:4a83)
+ push de
+ ld hl, $52a1
+ call Function1d4f
+ call Function1dcf
+ call Function1c07
+ jr c, .asm_14ab0
+ call Function14b89
+ jr c, .asm_14ab0
+ call Function14b54
+ call Function14c99
+ call Function14e0c
+ pop de
+ ld a, e
+ ld [$db72], a
+ call Function15021
+ call Function14be6
+ call Function14b5a
+ and a
+ ret
+.asm_14ab0
+ pop de
+ ret
+
Function14ab2: ; 14ab2
call Function14b89
jr c, .asm_14ac1
@@ -24138,7 +26865,7 @@
ret
; 14ac2
-INCBIN "baserom.gbc", $14ac2, $14b54 - $14ac2
+INCBIN "baserom.gbc",$14ac2,$14b54 - $14ac2
Function14b54: ; 14b54
ld a, $1
@@ -24243,6 +26970,7 @@
Function14be3: ; 14be3
call Function14c99
+Function14be6: ; 14be6
call Function14c10
ld c, $20
call DelayFrames
@@ -24411,7 +27139,7 @@
jp CloseSRAM
; 14d18
-INCBIN "baserom.gbc", $14d18, $14d5c - $14d18
+INCBIN "baserom.gbc",$14d18,$14d5c - $14d18
Function14d5c: ; 14d5c
@@ -24427,7 +27155,7 @@
ret
; 14d6c
-INCBIN "baserom.gbc", $14d6c, $14da0 - $14d6c
+INCBIN "baserom.gbc",$14d6c,$14da0 - $14d6c
Function14da0: ; 14da0
@@ -24568,9 +27296,65 @@
ret
; 14ea5
-INCBIN "baserom.gbc", $14ea5, $14f1c - $14ea5
+; no known jump sources
+Function14ea5: ; 14ea5 (5:4ea5)
+ call Function15028
+ jr nz, .asm_14ed6
+ call Function14fd7
+ call Function1500c
+ call Function15021
+ ld a, BANK(Function44745)
+ ld hl, Function44745
+ rst $8 ; ; indirect jump to Function44745 (44745 (11:4745))
+ ld a, BANK(Function10619d)
+ ld hl, Function10619d
+ rst $8 ; ; indirect jump to Function10619d (10619d (41:619d))
+ ld a, BANK(Function1050ea)
+ ld hl, Function1050ea
+ rst $8 ; ; indirect jump to Function1050ea (1050ea (41:50ea))
+ call Function14e2d
+ call Function14e40
+ call Function14e55
+ call Function14e76
+ call Function14e8b
+ and a
+ ret
+.asm_14ed6
+ call Function1507c
+ jr nz, .asm_14f07
+ call Function15046
+ call Function15067
+ call Function15021
+ ld a, BANK(Function44745)
+ ld hl, Function44745
+ rst $8 ; ; indirect jump to Function44745 (44745 (11:4745))
+ ld a, BANK(Function10619d)
+ ld hl, Function10619d
+ rst $8 ; ; indirect jump to Function10619d (10619d (41:619d))
+ ld a, BANK(Function1050ea)
+ ld hl, Function1050ea
+ rst $8 ; ; indirect jump to Function1050ea (1050ea (41:50ea))
+ call Function14da9
+ call Function14dbb
+ call Function14dd7
+ call Function14df7
+ call Function14e13
+ and a
+ ret
+.asm_14f07
+ ld a, [Options] ; $cfcc
+ push af
+ set 4, a
+ ld [Options], a ; $cfcc
+ ld hl, $529c
+ call PrintText
+ pop af
+ ld [Options], a ; $cfcc
+ scf
+ ret
+
Function14f1c: ; 14f1c
xor a
ld [$cfcd], a
@@ -24618,7 +27402,7 @@
ret
; 14f7c
-INCBIN "baserom.gbc", $14f7c, $14f84 - $14f7c
+INCBIN "baserom.gbc",$14f7c,$14f84 - $14f7c
Function14f84: ; 14f84
@@ -24664,8 +27448,31 @@
ret
; 14fd7
-INCBIN "baserom.gbc", $14fd7, $1500c - $14fd7
+; known jump sources: 14eaa (5:4eaa)
+Function14fd7: ; 14fd7 (5:4fd7)
+ ld a, $1
+ call GetSRAMBank
+ ld hl, $a009
+ ld de, PlayerID ; $d47b
+ ld bc, $82a
+ call CopyBytes
+ ld hl, $a833
+ ld de, FlypointPerms ; $dca5
+ ld bc, $32
+ call CopyBytes
+ call CloseSRAM
+ ld a, $1
+ call GetSRAMBank
+ ld a, [$be45]
+ cp $4
+ jr nz, .asm_15008
+ ld a, $3
+ ld [$be45], a
+.asm_15008
+ call CloseSRAM
+ ret
+
Function1500c: ; 1500c
ld a, $1
call GetSRAMBank
@@ -24677,9 +27484,76 @@
ret
; 15021
-INCBIN "baserom.gbc", $15021, $1509a - $15021
+; known jump sources: 14aa5 (5:4aa5), 14eb0 (5:4eb0), 14ee1 (5:4ee1)
+Function15021: ; 15021 (5:5021)
+ call Function150d8
+ call Function1517d
+ ret
+; known jump sources: 14ea5 (5:4ea5)
+Function15028: ; 15028 (5:5028)
+ ld hl, $a009
+ ld bc, $b7a
+ ld a, $1
+ call GetSRAMBank
+ call Function15273
+ ld a, [$ad0d]
+ cp e
+ jr nz, .asm_15040
+ ld a, [$ad0e]
+ cp d
+.asm_15040
+ push af
+ call CloseSRAM
+ pop af
+ ret
+
+; known jump sources: 14edb (5:4edb)
+Function15046: ; 15046 (5:5046)
+ ld a, $0
+ call GetSRAMBank
+ ld hl, $b209
+ ld de, PlayerID ; $d47b
+ ld bc, $82a
+ call CopyBytes
+ ld hl, $ba33
+ ld de, FlypointPerms ; $dca5
+ ld bc, $32
+ call CopyBytes
+ call CloseSRAM
+ ret
+
+; known jump sources: 14ede (5:4ede)
+Function15067: ; 15067 (5:5067)
+ ld a, $0
+ call GetSRAMBank
+ ld hl, $ba65
+ ld de, PartyCount ; $dcd7
+ ld bc, $31e
+ call CopyBytes
+ call CloseSRAM
+ ret
+
+; known jump sources: 14ed6 (5:4ed6)
+Function1507c: ; 1507c (5:507c)
+ ld hl, $b209
+ ld bc, $b7a
+ ld a, $0
+ call GetSRAMBank
+ call Function15273
+ ld a, [$bf0d]
+ cp e
+ jr nz, .asm_15094
+ ld a, [$bf0e]
+ cp d
+.asm_15094
+ push af
+ call CloseSRAM
+ pop af
+ ret
+
+
Function1509a: ; 1509a
ld a, $1
call GetSRAMBank
@@ -24695,9 +27569,23 @@
jp CloseSRAM
; 150b9
-INCBIN "baserom.gbc", $150b9, $150d8 - $150b9
+; no known jump sources
+Function150b9: ; 150b9 (5:50b9)
+ ld a, $1
+ call GetSRAMBank
+ ld hl, $be3d
+ ld de, PlayerGender ; $d472
+ ld bc, $7
+ call CopyBytes
+ ld hl, $d479
+ ld a, [$a60e]
+ ld [hli], a
+ ld a, [$a60f]
+ ld [hli], a
+ jp CloseSRAM
+
Function150d8: ; 150d8
ld a, [$db72]
cp $e
@@ -24789,9 +27677,64 @@
ret
; 1517d
-INCBIN "baserom.gbc", $1517d, $151fb - $1517d
+; known jump sources: 15024 (5:5024)
+Function1517d: ; 1517d (5:517d)
+ push hl
+ ld l, e
+ ld h, d
+ push af
+ push hl
+ call GetSRAMBank
+ ld de, EnemyMoveAnimation ; $c608 (aliases: EnemyMoveStruct)
+ ld bc, $1e0
+ call CopyBytes
+ call CloseSRAM
+ ld a, $1
+ call GetSRAMBank
+ ld hl, EnemyMoveAnimation ; $c608 (aliases: EnemyMoveStruct)
+ ld de, $ad10
+ ld bc, $1e0
+ call CopyBytes
+ call CloseSRAM
+ pop hl
+ pop af
+ ld de, $1e0
+ add hl, de
+ push af
+ push hl
+ call GetSRAMBank
+ ld de, EnemyMoveAnimation ; $c608 (aliases: EnemyMoveStruct)
+ ld bc, $1e0
+ call CopyBytes
+ call CloseSRAM
+ ld a, $1
+ call GetSRAMBank
+ ld hl, EnemyMoveAnimation ; $c608 (aliases: EnemyMoveStruct)
+ ld de, $aef0
+ ld bc, $1e0
+ call CopyBytes
+ call CloseSRAM
+ pop hl
+ pop af
+ ld de, $1e0
+ add hl, de
+ call GetSRAMBank
+ ld de, EnemyMoveAnimation ; $c608 (aliases: EnemyMoveStruct)
+ ld bc, $8e
+ call CopyBytes
+ call CloseSRAM
+ ld a, $1
+ call GetSRAMBank
+ ld hl, EnemyMoveAnimation ; $c608 (aliases: EnemyMoveStruct)
+ ld de, $b0d0
+ ld bc, $8e
+ call CopyBytes
+ call CloseSRAM
+ pop hl
+ ret
+
Function151fb: ; 151fb
ld hl, $522d
ld c, $e
@@ -24834,7 +27777,7 @@
ret
; 1522d
-INCBIN "baserom.gbc", $1522d, $15273 - $1522d
+INCBIN "baserom.gbc",$1522d,$15273 - $1522d
Function15273: ; 15273
@@ -24853,7 +27796,7 @@
ret
; 15283
-INCBIN "baserom.gbc", $15283, $152ab - $15283
+INCBIN "baserom.gbc",$15283,$152ab - $15283
BlackoutPoints: ; 0x152ab
@@ -24887,7 +27830,29 @@
db GROUP_FAST_SHIP_CABINS_SW_SSW_NW, MAP_FAST_SHIP_CABINS_SW_SSW_NW, 6, 2
db $ff, $ff, $ff, $ff
-INCBIN "baserom.gbc", $1531f, $15344 - $1531f
+ push hl
+ push de
+ ld a, [$d001]
+ cp $ff
+ jr z, .asm_15341
+ ld l, a
+ ld h, $0
+ add hl, hl
+ add hl, hl
+ ld de, $52ab
+ add hl, de
+ ld a, [hli]
+ ld [MapGroup], a ; $dcb5
+ ld a, [hli]
+ ld [MapNumber], a ; $dcb6
+ ld a, [hli]
+ ld [XCoord], a ; $dcb8
+ ld a, [hli]
+ ld [YCoord], a ; $dcb7
+.asm_15341
+ pop de
+ pop hl
+ ret
Function15344: ; 15344
ld hl, BlackoutPoints
@@ -24937,7 +27902,7 @@
ret
; 15377
-INCBIN "baserom.gbc", $15377, $1541d - $15377
+INCBIN "baserom.gbc",$15377,$1541d - $15377
Function1541d: ; 1541d
@@ -24973,8 +27938,128 @@
jr .asm_1541d
; 15440
-INCBIN "baserom.gbc", $15440, $1559a - $15440
+INCBIN "baserom.gbc",$15440,$154cf - $15440
+ ld a, $1
+ ld [$FF00+$de], a
+ ret
+ xor a
+ ld [$FF00+$de], a
+ ret
+ ld a, $2
+ call Function263b
+ ld a, $9
+ ld hl, $454f
+ rst $8
+ ld a, $2
+ ld hl, $4177
+ rst $8
+ ret
+; 154ea (5:54ea)
+INCBIN "baserom.gbc",$154ea,$154eb - $154ea
+ ld hl, $d45b
+ set 7, [hl]
+ ret
+ ld hl, $d45b
+ set 6, [hl]
+ ret
+ nop
+ call Function1550c
+ jr c, .asm_15508
+ call Function1554e
+ jr c, .asm_15508
+ call Function1551a
+ jr c, .asm_15508
+ ret
+.asm_15508
+ call Functione4a
+ ret
+
+; known jump sources: 154f8 (5:54f8)
+Function1550c: ; 1550c (5:550c)
+ and a
+ ld hl, BikeFlags ; $dbf5
+ bit 1, [hl]
+ ret z
+ ld a, $1
+ ld [PlayerState], a ; $d95d
+ scf
+ ret
+
+; known jump sources: 15502 (5:5502)
+Function1551a: ; 1551a (5:551a)
+ ld a, [PlayerState] ; $d95d
+ cp $0
+ jr z, .asm_1554c
+ cp $2
+ jr z, .asm_1554c
+ cp $4
+ jr z, .asm_15545
+ cp $8
+ jr z, .asm_15545
+ call GetMapPermission
+ cp $3
+ jr z, .asm_1553e
+ cp $5
+ jr z, .asm_1553e
+ cp $7
+ jr z, .asm_1553e
+ jr .asm_1554c
+.asm_1553e
+ ld a, [PlayerState] ; $d95d
+ cp $1
+ jr nz, .asm_1554c
+.asm_15545
+ ld a, $0
+ ld [PlayerState], a ; $d95d
+ scf
+ ret
+.asm_1554c
+ and a
+ ret
+
+; known jump sources: 154fd (5:54fd)
+Function1554e: ; 1554e (5:554e)
+ call Function1852
+ jr nz, .asm_15565
+ ld a, [PlayerState] ; $d95d
+ cp $4
+ jr z, .asm_15563
+ cp $8
+ jr z, .asm_15563
+ ld a, $4
+ ld [PlayerState], a ; $d95d
+.asm_15563
+ scf
+ ret
+.asm_15565
+ and a
+ ret
+ ld a, $6
+ call Function3cb4
+ ret
+ ld a, $23
+ ld hl, $4070
+ rst $8
+ ret
+ ld e, $0
+ ld a, [MusicFadeIDLo] ; $c2a9
+ ld d, $0
+ ld a, [MusicFadeIDHi] ; $c2aa
+ ld a, $4
+ ld [MusicFade], a ; $c2a7
+ call Function4b6
+ ret
+ ld a, [PlayerState] ; $d95d
+ cp $1
+ jr nz, .asm_15596
+ call VolumeOff
+ ld a, $88
+ ld [MusicFade], a ; $c2a7
+.asm_15596
+ call Function3d2f
+ ret
+
Function1559a: ; 1559a
call Function15650
ret c
@@ -25004,7 +28089,7 @@
ret
; 155d6
-INCBIN "baserom.gbc", $155d6, $1563e - $155d6
+INCBIN "baserom.gbc",$155d6,$1563e - $155d6
Function1563e: ; 1563e
call Function2ead
@@ -25033,8 +28118,19 @@
ret
; 15663
-INCBIN "baserom.gbc", $15663, $156b3 - $15663
+INCBIN "baserom.gbc",$15663,$15668 - $15663
+ call Function156c2
+ ld hl, $5a31
+ call Function15a20
+ ld a, $3
+ ld hl, $63fd
+ rst $8
+ and a
+ ret
+; 15679 (5:5679)
+INCBIN "baserom.gbc",$15679,$156b3 - $15679
+
Function156b3: ; 156b3
ld de, $000d
jr Function156d0
@@ -25045,11 +28141,11 @@
call WaitSFX
ret
-Function156c1: ; 156c1
+Function156c2: ; 156c2
ld de, $000f
jr Function156d0
-Function156c6: ; 156c6
+Function156c7: ; 156c7
ld de, $0020
call Function156d0
ld de, $0020
@@ -25083,7 +28179,7 @@
ret
; 156ff
-INCBIN "baserom.gbc", $156ff, $15704 - $156ff
+INCBIN "baserom.gbc",$156ff,$15704 - $156ff
Function15704: ; 15704
ld a, b
@@ -25187,7 +28283,7 @@
ret
; 157cc
-INCBIN "baserom.gbc", $157cc, $157d1 - $157cc
+INCBIN "baserom.gbc",$157cc,$157d1 - $157cc
KrisWithdrawItemMenu: ; 0x157d1
call Function1d6e
@@ -25512,7 +28608,7 @@
jr .asm_159f8
.asm_159ef
- call Function156c6
+ call Function156c7
.asm_159f2
ld a, $9
@@ -25557,7 +28653,7 @@
ret
; 15a27
-INCBIN "baserom.gbc", $15a27, $15a45 - $15a27
+INCBIN "baserom.gbc",$15a27,$15a45 - $15a27
OpenMartDialog: ; 15a45
@@ -25653,7 +28749,7 @@
ret
; 15aee
-INCBIN "baserom.gbc", $15aee, $15b10 - $15aee
+INCBIN "baserom.gbc",$15aee,$15b10 - $15aee
Function15b10: ; 15b10
@@ -25887,7 +28983,7 @@
ret
; 15c51
-INCBIN "baserom.gbc", $15c51, $15c62 - $15c51
+INCBIN "baserom.gbc",$15c51,$15c62 - $15c51
Function15c62: ; 15c62
@@ -25953,7 +29049,7 @@
dwb $5cbf, 2
; 15cbf
-INCBIN "baserom.gbc", $15cbf, $15cef - $15cbf
+INCBIN "baserom.gbc",$15cbf,$15cef - $15cbf
Function15cef: ; 15cef
@@ -26124,9 +29220,28 @@
ret
; 15e0e
-INCBIN "baserom.gbc", $15e0e, $15eb3 - $15e0e
+INCBIN "baserom.gbc",$15e0e,$15e30 - $15e0e
+ ld a, [$cf77]
+ ld c, a
+ ld b, $0
+ ld hl, DefaultFlypoint ; $d002
+ add hl, bc
+ add hl, bc
+ add hl, bc
+ push de
+ ld d, h
+ ld e, l
+ pop hl
+ ld bc, $14
+ add hl, bc
+ ld c, $a3
+ call PrintBCDNumber
+ ret
+; 15e4a (5:5e4a)
+INCBIN "baserom.gbc",$15e4a,$15eb3 - $15e4a
+
Function15eb3: ; 15eb3
call Function2ed3
ld a, $4
@@ -26149,7 +29264,7 @@
ret
; 15ed3
-INCBIN "baserom.gbc", $15ed3, $15ee0 - $15ed3
+INCBIN "baserom.gbc",$15ed3,$15ee0 - $15ed3
Function15ee0: ; 15ee0
@@ -26238,7 +29353,7 @@
db "@"
; 0x15f7d
-INCBIN "baserom.gbc", $15f7d, $15f83 - $15f7d
+INCBIN "baserom.gbc",$15f7d,$15f83 - $15f7d
UnknownText_0x15f83: ; 0x15f83
text_jump UnknownText_0x1c4f62, BANK(UnknownText_0x1c4f62)
@@ -26245,7 +29360,7 @@
db "@"
; 0x15f88
-INCBIN "baserom.gbc", $15f88, $15fb9 - $15f88
+INCBIN "baserom.gbc",$15f88,$15fb9 - $15f88
UnknownText_0x15fb9: ; 0x15fb9
text_jump UnknownText_0x1c500d, BANK(UnknownText_0x1c500d)
@@ -26296,7 +29411,7 @@
ret
; 15ff7
-INCBIN "baserom.gbc", $15ff7, $15ffa - $15ff7
+INCBIN "baserom.gbc",$15ff7,$15ffa - $15ff7
Function15ffa: ; 15ffa
@@ -26448,7 +29563,7 @@
ret
; 1608d
-INCBIN "baserom.gbc", $1608d, $1608f - $1608d
+INCBIN "baserom.gbc",$1608d,$1608f - $1608d
Function1608f: ; 1608f
@@ -26511,7 +29626,7 @@
jp [hl]
; 16242
-INCBIN "baserom.gbc", $16242, $166d6 - $16242
+INCBIN "baserom.gbc",$16242,$166d6 - $16242
Function166d6: ; 166d6
ld hl, DaycareMan
@@ -26664,7 +29779,7 @@
ret
; 167f1
-INCBIN "baserom.gbc", $167f1, $167f6 - $167f1
+INCBIN "baserom.gbc",$167f1,$167f6 - $167f1
Function167f6: ; 167f6
ld a, $5
@@ -26772,7 +29887,7 @@
ret
; 168aa
-INCBIN "baserom.gbc", $168aa, $16936 - $168aa
+INCBIN "baserom.gbc",$168aa,$16936 - $168aa
Function16936: ; 16936
ld hl, DaycareMan
@@ -26827,7 +29942,7 @@
ret
; 16993
-INCBIN "baserom.gbc", $16993, $169ac - $16993
+INCBIN "baserom.gbc",$16993,$169ac - $16993
Function169ac: ; 169ac
ld a, [$df9a]
@@ -27106,7 +30221,7 @@
ret
; 16be0
-INCBIN "baserom.gbc", $16be0, $16be4 - $16be0
+INCBIN "baserom.gbc",$16be0,$16be4 - $16be0
Function16be4: ; 16be4
ld a, [UnownDex]
@@ -27377,7 +30492,7 @@
ret
; 16e04
-INCBIN "baserom.gbc", $16e04, $16e1d - $16e04
+INCBIN "baserom.gbc",$16e04,$16e1d - $16e04
Function16e1d: ; 16e1d
@@ -27469,12 +30584,19 @@
ret
; 16ebc
-INCBIN "baserom.gbc", $16ebc, $16ecd - $16ebc
-
-Function16ecd: ; 16ecd
- rlca
+; known jump sources: 16e89 (5:6e89)
+Function16ebc: ; 16ebc (5:6ebc)
+ ld a, [$df21]
+ and $f
ld b, a
+ ld a, [$df5a]
+ and $f
+ cp b
+ ret nz
+ ld a, [$df22]
+ and $7
+ ld b, a
ld a, [$df5b]
and $7
cp b
@@ -27567,8 +30689,190 @@
jr .loop
; 16f5e
-INCBIN "baserom.gbc", $16f5e, $170bf - $16f5e
+ call ResetWindow
+ call Function1d6e
+ call Function16f70
+ call Function2b4d
+ call Function3d47
+ jp Function2dcf
+; known jump sources: 16f64 (5:6f64)
+Function16f70: ; 16f70 (5:6f70)
+ ld de, PartySpecies ; $dcd8
+ ld hl, PartyMon1Happiness ; $dcfa
+ xor a
+ ld [CurPartyMon], a ; $d109
+
+; known jump sources: 17087 (5:7087)
+Function16f7a: ; 16f7a (5:6f7a)
+ ld a, [de]
+ inc de
+ cp $ff
+ jp z, Function1708a
+ push de
+ push hl
+ cp $fd
+ jp nz, Function1707d
+ ld a, [hl]
+ and a
+ jp nz, Function1707d
+ ld [hl], $78
+ push de
+ ld a, BANK(Function4dbb8)
+ ld hl, Function4dbb8
+ rst $8 ; ; indirect jump to Function4dbb8 (4dbb8 (13:5bb8))
+ ld a, BANK(Function10608d)
+ ld hl, Function10608d
+ rst $8 ; ; indirect jump to Function10608d (10608d (41:608d))
+ ld a, [CurPartyMon] ; $d109
+ ld hl, PartyMons ; $dcdf (aliases: PartyMon1, PartyMon1Species)
+ ld bc, $30
+ call AddNTimes
+ ld a, [hl]
+ ld [CurPartySpecies], a ; $d108
+ dec a
+ call SetSeenAndCaughtMon
+ ld a, [CurPartySpecies] ; $d108
+ cp $af
+ jr nz, .asm_16fbf
+ ld de, $54
+ ld b, $1
+ call EventFlagAction
+.asm_16fbf
+ pop de
+ ld a, [CurPartySpecies] ; $d108
+ dec de
+ ld [de], a
+ ld [$d265], a
+ ld [CurSpecies], a ; $cf60
+ call GetPokemonName
+ xor a
+ ld [$d26b], a
+ call GetBaseData
+ ld a, [CurPartyMon] ; $d109
+ ld hl, PartyMons ; $dcdf (aliases: PartyMon1, PartyMon1Species)
+ ld bc, $30
+ call AddNTimes
+ push hl
+ ld bc, $24
+ add hl, bc
+ ld d, h
+ ld e, l
+ pop hl
+ push hl
+ ld bc, $1f
+ add hl, bc
+ ld a, [hl]
+ ld [CurPartyLevel], a ; $d143
+ pop hl
+ push hl
+ ld bc, $20
+ add hl, bc
+ xor a
+ ld [hli], a
+ ld [hl], a
+ pop hl
+ push hl
+ ld bc, $a
+ add hl, bc
+ ld b, $0
+ ld a, $c
+ call Predef
+ pop bc
+ ld hl, $24
+ add hl, bc
+ ld d, h
+ ld e, l
+ ld hl, $22
+ add hl, bc
+ ld a, [de]
+ inc de
+ ld [hli], a
+ ld a, [de]
+ ld [hl], a
+ ld hl, $6
+ add hl, bc
+ ld a, [PlayerID] ; $d47b
+ ld [hli], a
+ ld a, [$d47c]
+ ld [hl], a
+ ld a, [CurPartyMon] ; $d109
+ ld hl, PartyMonOT ; $ddff (aliases: PartyMon1OT)
+ ld bc, $b
+ call AddNTimes
+ ld d, h
+ ld e, l
+ ld hl, PlayerName ; $d47d
+ call CopyBytes
+ ld hl, $708b
+ call PrintText
+ ld a, [CurPartyMon] ; $d109
+ ld hl, PartyMonNicknames ; $de41 (aliases: PartyMon1Nickname)
+ ld bc, $b
+ call AddNTimes
+ ld d, h
+ ld e, l
+ push de
+ ld hl, $70ba
+ call PrintText
+ call Function1dcf
+ pop de
+ jr c, .asm_17074
+ ld a, $1
+ ld [$d26b], a
+ xor a
+ ld [MonType], a ; $cf5f
+ push de
+ ld b, $0
+ ld a, BANK(Function116c1)
+ ld hl, Function116c1
+ rst $8 ; ; indirect jump to Function116c1 (116c1 (4:56c1))
+ pop hl
+ ld de, StringBuffer1 ; $d073
+ call InitName
+ jr Function1707d
+.asm_17074
+ ld hl, StringBuffer1 ; $d073
+ ld bc, $b
+ call CopyBytes
+
+; known jump sources: 16f85 (5:6f85), 16f8a (5:6f8a), 17072 (5:7072)
+Function1707d: ; 1707d (5:707d)
+ ld hl, CurPartyMon ; $d109
+ inc [hl]
+ pop hl
+ ld de, $30
+ add hl, de
+ pop de
+ jp Function16f7a
+
+; known jump sources: 16f7e (5:6f7e)
+Function1708a: ; 1708a (5:708a)
+ ret
+; 1708b (5:708b)
+
+INCBIN "baserom.gbc",$1708b,$17090 - $1708b
+ ld hl, VramState ; $d0ed
+ res 0, [hl]
+ push hl
+ push de
+ push bc
+ ld a, [CurPartySpecies] ; $d108
+ push af
+ call Function1728f
+ ld hl, $70b0
+ call PrintText
+ pop af
+ ld [CurPartySpecies], a ; $d108
+ pop bc
+ pop de
+ pop hl
+ ld hl, $70b5
+ ret
+; 170b0 (5:70b0)
+
+INCBIN "baserom.gbc",$170b0,$170bf - $170b0
+
Function170bf: ; 170bf
call Function17197
ld d, h
@@ -27809,8 +31113,250 @@
ret
; 17224
-INCBIN "baserom.gbc", $17224, $17421 - $17224
+; known jump sources: 172ca (5:72ca)
+Function17224: ; 17224 (5:7224)
+ push de
+ ld [CurPartySpecies], a ; $d108
+ ld [CurSpecies], a ; $cf60
+ call GetBaseData
+ ld hl, BattleMonDVs ; $c632 (aliases: BattleMonAtkDefDV)
+ ld a, $2d
+ call Predef
+ pop de
+ ld a, $3c
+ jp Predef
+
+; known jump sources: 172c2 (5:72c2)
+Function1723c: ; 1723c (5:723c)
+ push de
+ ld [CurPartySpecies], a ; $d108
+ ld [CurSpecies], a ; $cf60
+ call GetBaseData
+ ld hl, BattleMonDVs ; $c632 (aliases: BattleMonAtkDefDV)
+ ld a, $2d
+ call Predef
+ pop de
+ ld a, $3e
+ jp Predef
+
+; known jump sources: 172df (5:72df), 17343 (5:7343)
+Function17254: ; 17254 (5:7254)
+ push af
+ call WaitTop
+ push hl
+ push bc
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld bc, $168
+ ld a, $7f
+ call ByteFill
+ pop bc
+ pop hl
+ ld a, b
+ ld [$FF00+$d7], a
+ ld a, c
+ ld [$FF00+$ad], a
+ ld bc, $707
+ ld a, $13
+ call Predef
+ pop af
+ call Function17363
+ call Function32f9
+ jp WaitBGMap
+
+; known jump sources: 17301 (5:7301), 17312 (5:7312), 173eb (5:73eb), 1741a (5:741a)
+Function1727f: ; 1727f (5:727f)
+ push hl
+ push de
+ push bc
+ ld hl, Function8cf69
+ ld a, BANK(Function8cf69)
+ rst $8 ; ; indirect jump to Function8cf69 (8cf69 (23:4f69))
+ call DelayFrame
+ pop bc
+ pop de
+ pop hl
+ ret
+
+; known jump sources: 1709c (5:709c)
+Function1728f: ; 1728f (5:728f)
+ ld a, [$d265]
+ ld [$cf63], a
+ ld a, [CurSpecies] ; $cf60
+ push af
+ ld de, $0
+ call StartMusic
+ ld a, $2
+ ld hl, $4000
+ rst $8
+ call DisableLCD
+ ld hl, $7393
+ ld de, $8000
+ ld bc, $20
+ ld a, $5
+ call FarCopyBytes
+ ld a, $23
+ ld hl, $4f53
+ rst $8
+ ld de, $9000
+ ld a, [$cf63]
+ call Function1723c
+ ld de, $9310
+ ld a, $fd
+ call Function17224
+ ld de, $22
+ call StartMusic
+ call EnableLCD
+ ld hl, $c4f7
+ ld b, $98
+ ld c, $31
+ ld a, $fd
+ call Function17254
+ ld c, $50
+ call DelayFrames
+ xor a
+ ld [$cf64], a
+ ld a, [hSCX] ; $ff00+$cf
+ ld b, a
+.asm_172ee
+ ld hl, $cf64
+ ld a, [hl]
+ inc [hl]
+ cp $8
+ jr nc, .asm_17327
+ ld e, [hl]
+.asm_172f8
+ ld a, $2
+ ld [hSCX], a ; $ff00+$cf
+ ld a, $fe
+ ld [$c3c0], a
+ call Function1727f
+ ld c, $2
+ call DelayFrames
+ ld a, $fe
+ ld [hSCX], a ; $ff00+$cf
+ ld a, $2
+ ld [$c3c0], a
+ call Function1727f
+ ld c, $2
+ call DelayFrames
+ dec e
+ jr nz, .asm_172f8
+ ld c, $10
+ call DelayFrames
+ call Function1736d
+ jr .asm_172ee
+.asm_17327
+ ld de, $a6
+ call StartSFX
+ xor a
+ ld [hSCX], a ; $ff00+$cf
+ ld [$c3c0], a
+ call ClearSprites
+ call Function173b3
+ ld hl, $c4e2
+ ld b, $98
+ ld c, $0
+ ld a, [$cf63]
+ call Function17254
+ call Function17418
+ call WaitSFX
+ ld a, [$cf63]
+ ld [CurPartySpecies], a ; $d108
+ ld hl, $c4e2
+ ld d, $0
+ ld e, $5
+ ld a, $47
+ call Predef
+ pop af
+ ld [CurSpecies], a ; $cf60
+ ret
+
+; known jump sources: 17276 (5:7276)
+Function17363: ; 17363 (5:7363)
+ ld [PlayerHPPal], a ; $cd99
+ ld b, $b
+ ld c, $0
+ jp GetSGBLayout
+
+; known jump sources: 17322 (5:7322)
+Function1736d: ; 1736d (5:736d)
+ ld a, [$cf64]
+ dec a
+ and $7
+ cp $7
+ ret z
+ srl a
+ ret nc
+ swap a
+ srl a
+ add $4c
+ ld d, a
+ ld e, $58
+ ld a, $19
+ call Function3b2a
+ ld hl, $3
+ add hl, bc
+ ld [hl], $0
+ ld de, $9e
+ jp StartSFX
+; 17393 (5:7393)
+
+INCBIN "baserom.gbc",$17393,$173b3 - $17393
+
+; known jump sources: 17336 (5:7336)
+Function173b3: ; 173b3 (5:73b3)
+ ld a, $23
+ ld hl, $4f53
+ rst $8
+ ld hl, $73ef
+.asm_173bc
+ ld a, [hli]
+ cp $ff
+ jr z, .asm_173e5
+ ld e, a
+ ld a, [hli]
+ ld d, a
+ ld a, [hli]
+ ld c, a
+ ld a, [hli]
+ ld b, a
+ push hl
+ push bc
+ ld a, $1c
+ call Function3b2a
+ ld hl, $3
+ add hl, bc
+ ld [hl], $0
+ pop de
+ ld a, e
+ ld hl, $1
+ add hl, bc
+ add [hl]
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ ld [hl], d
+ pop hl
+ jr .asm_173bc
+.asm_173e5
+ ld de, $a6
+ call StartSFX
+ call Function1727f
+ ret
+; 173ef (5:73ef)
+
+INCBIN "baserom.gbc",$173ef,$17418 - $173ef
+
+; known jump sources: 17346 (5:7346)
+Function17418: ; 17418 (5:7418)
+ ld c, $81
+.asm_1741a
+ call Function1727f
+ dec c
+ jr nz, .asm_1741a
+ ret
+
Function17421: ; 17421
ld hl, $7467
call PrintText
@@ -27841,7 +31387,7 @@
jp Functiona80
; 17462
-INCBIN "baserom.gbc", $17462, $1746c - $17462
+INCBIN "baserom.gbc",$17462,$1746c - $17462
Function1746c: ; 1746c
push bc
@@ -27869,7 +31415,7 @@
ret
; 1749c
-INCBIN "baserom.gbc", $1749c, $174ba - $1749c
+INCBIN "baserom.gbc",$1749c,$174ba - $1749c
SECTION "bank6",ROMX,BANK[$6]
@@ -27897,7 +31443,7 @@
ret
; 1c021
-INCBIN "baserom.gbc", $1c021, $1c30c - $1c021
+INCBIN "baserom.gbc",$1c021,$1c30c - $1c021
INCLUDE "tilesets/data_2.asm"
@@ -27910,8 +31456,219 @@
SECTION "bank8",ROMX,BANK[$8]
-INCBIN "baserom.gbc", $20000, $20181 - $20000
+; known jump sources: 200e8 (8:40e8), 200f9 (8:40f9), 20169 (8:4169)
+Function20000: ; 20000 (8:4000)
+ push hl
+ dec a
+ ld e, a
+ ld d, $0
+ ld hl, $4015
+ add hl, de
+ add hl, de
+ add hl, de
+ add hl, de
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ inc hl
+ ld b, [hl]
+ inc hl
+ ld c, [hl]
+ pop hl
+ ret
+; 20015 (8:4015)
+
+INCBIN "baserom.gbc",$20015,$20021 - $20015
+
+; no known jump sources
+Function20021: ; 20021 (8:4021)
+ ld hl, $4047
+ call PrintText
+ ld hl, Options ; $cfcc
+ ld a, [hl]
+ push af
+ set 4, [hl]
+ call Function1d6e
+ call ClearTileMap
+ ld hl, $404c
+ call PrintText
+ call Function20051
+ call Function1c07
+ pop bc
+ ld hl, Options ; $cfcc
+ ld [hl], b
+ ld c, a
+ ret
+; 20047 (8:4047)
+
+INCBIN "baserom.gbc",$20047,$20051 - $20047
+
+; known jump sources: 2003a (8:403a)
+Function20051: ; 20051 (8:4051)
+ ld a, $1
+ ld [Buffer1], a ; $d1ea (aliases: MagikarpLength)
+ ld [Buffer2], a ; $d1eb (aliases: MovementType)
+ ld a, $8
+ ld [$d1ec], a
+ call UpdateTime
+ call GetWeekday
+ ld [$d1ed], a
+ ld a, [hHours] ; $ff00+$94
+ ld [$d1ee], a
+ ld a, [hMinutes] ; $ff00+$96
+ ld [$d1ef], a
+.asm_20071
+ call Function200ba
+ jr nc, .asm_20071
+ and a
+ ret nz
+ call Function2011f
+ ld hl, $40b0
+ call PrintText
+ call Function1dcf
+ jr c, .asm_200ad
+ ld a, [$d1ed]
+ ld [StringBuffer2], a ; $d086
+ ld a, [$d1ee]
+ ld [$d087], a
+ ld a, [$d1ef]
+ ld [$d088], a
+ xor a
+ ld [$d089], a
+ call Function677
+ call Function2011f
+ ld hl, $40b5
+ call PrintText
+ call Functiona80
+ xor a
+ ret
+.asm_200ad
+ ld a, $1
+ ret
+; 200b0 (8:40b0)
+
+INCBIN "baserom.gbc",$200b0,$200ba - $200b0
+
+; known jump sources: 20071 (8:4071), 200db (8:40db)
+Function200ba: ; 200ba (8:40ba)
+ call Function354b
+ ld c, a
+ push af
+ call Function2011f
+ pop af
+ bit 0, a
+ jr nz, .asm_200dd
+ bit 1, a
+ jr nz, .asm_200e1
+ bit 6, a
+ jr nz, .asm_200e5
+ bit 7, a
+ jr nz, .asm_200f6
+ bit 5, a
+ jr nz, .asm_20108
+ bit 4, a
+ jr nz, .asm_20112
+ jr Function200ba
+.asm_200dd
+ ld a, $0
+ scf
+ ret
+.asm_200e1
+ ld a, $1
+ scf
+ ret
+.asm_200e5
+ ld a, [Buffer1] ; $d1ea (aliases: MagikarpLength)
+ call Function20000
+ ld a, [de]
+ inc a
+ ld [de], a
+ cp b
+ jr c, .asm_2011d
+ ld a, $0
+ ld [de], a
+ jr .asm_2011d
+.asm_200f6
+ ld a, [Buffer1] ; $d1ea (aliases: MagikarpLength)
+ call Function20000
+ ld a, [de]
+ dec a
+ ld [de], a
+ cp $ff
+ jr nz, .asm_2011d
+ ld a, b
+ dec a
+ ld [de], a
+ jr .asm_2011d
+.asm_20108
+ ld hl, Buffer1 ; $d1ea (aliases: MagikarpLength)
+ dec [hl]
+ jr nz, .asm_2011d
+ ld [hl], $3
+ jr .asm_2011d
+.asm_20112
+ ld hl, Buffer1 ; $d1ea (aliases: MagikarpLength)
+ inc [hl]
+ ld a, [hl]
+ cp $4
+ jr c, .asm_2011d
+ ld [hl], $1
+.asm_2011d
+ xor a
+ ret
+
+; known jump sources: 20078 (8:4078), 2009f (8:409f), 200bf (8:40bf)
+Function2011f: ; 2011f (8:411f)
+ ld hl, $c504
+ ld b, $5
+ ld c, $12
+ call TextBox
+ ld de, $c541
+ ld a, [$d1ed]
+ ld b, a
+ ld a, BANK(Function5b05)
+ ld hl, Function5b05
+ rst $8 ; ; indirect jump to Function5b05 (5b05 (1:5b05))
+ ld a, [$d1ee]
+ ld b, a
+ ld a, [$d1ef]
+ ld c, a
+ ld de, $c54b
+ ld a, BANK(Function1dd6bb)
+ ld hl, Function1dd6bb
+ rst $8 ; ; indirect jump to Function1dd6bb (1dd6bb (77:56bb))
+ ld a, [Buffer2] ; $d1eb (aliases: MovementType)
+ ld de, $7f7f
+ call Function20168
+ ld a, [Buffer1] ; $d1ea (aliases: MagikarpLength)
+ ld de, $61ee
+ call Function20168
+ ld a, [Buffer1] ; $d1ea (aliases: MagikarpLength)
+ ld [Buffer2], a ; $d1eb (aliases: MovementType)
+ ret
+; 20160 (8:4160)
+
+INCBIN "baserom.gbc",$20160,$20168 - $20160
+
+; known jump sources: 2014d (8:414d), 20156 (8:4156)
+Function20168: ; 20168 (8:4168)
+ push de
+ call Function20000
+ ld a, [$d1ec]
+ dec a
+ ld b, a
+ call Function1d05
+ pop de
+ ld [hl], d
+ ld bc, $28
+ add hl, bc
+ ld [hl], e
+ ret
+; 2017c (8:417c)
+
+INCBIN "baserom.gbc",$2017c,$20181 - $2017c
+
INCLUDE "tilesets/data_3.asm"
EggMovePointers: ; 0x23b11
@@ -27922,7 +31679,7 @@
SECTION "bank9",ROMX,BANK[$9]
-INCBIN "baserom.gbc", $24000, $2400e - $24000
+INCBIN "baserom.gbc",$24000,$2400e - $24000
Function2400e: ; 2400e
@@ -28091,11 +31848,62 @@
ret
; 2411a
-INCBIN "baserom.gbc", $2411a, $24177 - $2411a
-
-Function24177: ; 24177
- rst FarCall
+; known jump sources: 2408f (9:408f)
+Function2411a: ; 2411a (9:411a)
+ call Function1cc6
+ ld a, b
+ ld [$cfa1], a
+ dec c
+ ld a, c
+ ld [$cfa2], a
+ call Function240d3
+ ld [$cfa3], a
+ call Function240cd
+ ld [$cfa4], a
+ call Function24179
+ call Function2418a
+ call Function24193
+ ld a, [$cfa4]
+ ld e, a
+ ld a, [$cf88]
+ ld b, a
+ xor a
+ ld d, $0
+.asm_24146
+ inc d
+ add e
+ cp b
+ jr c, .asm_24146
+ sub e
+ ld c, a
+ ld a, b
+ sub c
+ and a
+ jr z, .asm_24157
+ cp e
+ jr z, .asm_24159
+ jr c, .asm_24159
+.asm_24157
+ ld a, $1
+.asm_24159
+ ld [$cfaa], a
+ ld a, [$cfa3]
+ ld e, a
+ ld a, d
+ and a
+ jr z, .asm_24169
+ cp e
+ jr z, .asm_2416b
+ jr c, .asm_2416b
+.asm_24169
+ ld a, $1
+.asm_2416b
+ ld [$cfa9], a
+ xor a
+ ld [$cfab], a
+ ld [$cfac], a
+ ld [$cfad], a
ret
; 24179
@@ -28167,7 +31975,7 @@
ret
; 241d5
-INCBIN "baserom.gbc", $241d5, $24216 - $241d5
+INCBIN "baserom.gbc",$241d5,$24216 - $241d5
Function24216: ; 24216
@@ -28552,7 +32360,7 @@
ret
; 24423
-INCBIN "baserom.gbc", $24423, $24426 - $24423
+INCBIN "baserom.gbc",$24423,$24426 - $24423
Function24426: ; 24426
@@ -28730,9 +32538,79 @@
ret
; 24547
-INCBIN "baserom.gbc", $24547, $245af - $24547
+INCBIN "baserom.gbc",$24547,$2454f - $24547
+ ld hl, $d81e
+ xor a
+ ld bc, $10
+ call ByteFill
+ nop
+ ld bc, MapObjects ; $d71e
+ ld de, $d81e
+ xor a
+.asm_24561
+ push af
+ push bc
+ push de
+ call Function245a7
+ jr c, .asm_2456c
+ call Function2457d
+.asm_2456c
+ pop de
+ ld [de], a
+ inc de
+ pop bc
+ ld hl, $10
+ add hl, bc
+ ld b, h
+ ld c, l
+ pop af
+ inc a
+ cp $10
+ jr nz, .asm_24561
+ ret
+; known jump sources: 24569 (9:4569)
+Function2457d: ; 2457d (9:457d)
+ ld hl, $1
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_245a3
+ ld hl, $c
+ add hl, bc
+ ld a, [hli]
+ ld e, a
+ ld a, [hl]
+ ld d, a
+ cp $ff
+ jr nz, .asm_24598
+ ld a, e
+ cp $ff
+ jr z, .asm_245a1
+ jr .asm_245a3
+.asm_24598
+ ld b, $2
+ call EventFlagAction
+ ld a, c
+ and a
+ jr nz, .asm_245a3
+.asm_245a1
+ xor a
+ ret
+.asm_245a3
+ ld a, $ff
+ scf
+ ret
+; known jump sources: 24564 (9:4564)
+Function245a7: ; 245a7 (9:45a7)
+ call Function18f5
+ ld a, $ff
+ ret c
+ xor a
+ ret
+
+
Function245af: ; 245af
xor a
ld [$cf73], a
@@ -28819,7 +32697,7 @@
jr .asm_24609
; 24640
-INCBIN "baserom.gbc", $24640, $24644 - $24640
+INCBIN "baserom.gbc",$24640,$24644 - $24640
Function24644: ; 24644
@@ -28941,7 +32819,7 @@
ret
; 24706
-INCBIN "baserom.gbc", $24706, $2471a - $24706
+INCBIN "baserom.gbc",$24706,$2471a - $24706
Function2471a: ; 2471a
@@ -29272,8 +33150,279 @@
ret
; 2490c
-INCBIN "baserom.gbc", $2490c, $24ab4 - $2490c
+; no known jump sources
+Function2490c: ; 2490c (9:490c)
+ ld a, [$d0e3]
+ and a
+ jr z, .asm_2493d
+ ld b, a
+ ld a, [$cf77]
+ inc a
+ cp b
+ jr z, .asm_24945
+ ld a, [$cf77]
+ call Function24a5c
+ ld a, [hl]
+ cp $ff
+ ret z
+ ld a, [$d0e3]
+ dec a
+ ld [$d0e3], a
+ call Function249a7
+ jp c, Function249d1
+ ld a, [$cf77]
+ ld c, a
+ ld a, [$d0e3]
+ cp c
+ jr c, .asm_2497a
+ jr .asm_2494a
+.asm_2493d
+ ld a, [$cf77]
+ inc a
+ ld [$d0e3], a
+ ret
+.asm_24945
+ xor a
+ ld [$d0e3], a
+ ret
+.asm_2494a
+ ld a, [$d0e3]
+ call Function24a40
+ ld a, [$cf77]
+ ld d, a
+ ld a, [$d0e3]
+ ld e, a
+ call Function24a6c
+ push bc
+ ld a, [$d0e3]
+ call Function24a5c
+ dec hl
+ push hl
+ call Function24a80
+ add hl, bc
+ ld d, h
+ ld e, l
+ pop hl
+ pop bc
+ call Function24aab
+ ld a, [$cf77]
+ call Function24a4d
+ xor a
+ ld [$d0e3], a
+ ret
+.asm_2497a
+ ld a, [$d0e3]
+ call Function24a40
+ ld a, [$cf77]
+ ld d, a
+ ld a, [$d0e3]
+ ld e, a
+ call Function24a6c
+ push bc
+ ld a, [$d0e3]
+ call Function24a5c
+ ld d, h
+ ld e, l
+ call Function24a80
+ add hl, bc
+ pop bc
+ call CopyBytes
+ ld a, [$cf77]
+ call Function24a4d
+ xor a
+ ld [$d0e3], a
+ ret
+
+; known jump sources: 2492b (9:492b)
+Function249a7: ; 249a7 (9:49a7)
+ ld a, [$d0e3]
+ call Function24a5c
+ ld d, h
+ ld e, l
+ ld a, [$cf77]
+ call Function24a5c
+ ld a, [de]
+ cp [hl]
+ jr nz, .asm_249cd
+ ld a, [$cf77]
+ call Function24a97
+ cp $63
+ jr z, .asm_249cd
+ ld a, [$d0e3]
+ call Function24a97
+ cp $63
+ jr nz, .asm_249cf
+.asm_249cd
+ and a
+ ret
+.asm_249cf
+ scf
+ ret
+
+; known jump sources: 2492e (9:492e)
+Function249d1: ; 249d1 (9:49d1)
+ ld a, [$d0e3]
+ call Function24a5c
+ inc hl
+ push hl
+ ld a, [$cf77]
+ call Function24a5c
+ inc hl
+ ld a, [hl]
+ pop hl
+ add [hl]
+ cp $64
+ jr c, .asm_24a01
+ sub $63
+ push af
+ ld a, [$cf77]
+ call Function24a5c
+ inc hl
+ ld [hl], $63
+ ld a, [$d0e3]
+ call Function24a5c
+ inc hl
+ pop af
+ ld [hl], a
+ xor a
+ ld [$d0e3], a
+ ret
+.asm_24a01
+ push af
+ ld a, [$cf77]
+ call Function24a5c
+ inc hl
+ pop af
+ ld [hl], a
+ ld hl, $cf96
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld a, [$d0e3]
+ cp [hl]
+ jr nz, .asm_24a25
+ dec [hl]
+ ld a, [$d0e3]
+ call Function24a5c
+ ld [hl], $ff
+ xor a
+ ld [$d0e3], a
+ ret
+.asm_24a25
+ dec [hl]
+ call Function24a80
+ push bc
+ ld a, [$d0e3]
+ call Function24a5c
+ pop bc
+ push hl
+ add hl, bc
+ pop de
+.asm_24a34
+ ld a, [hli]
+ ld [de], a
+ inc de
+ cp $ff
+ jr nz, .asm_24a34
+ xor a
+ ld [$d0e3], a
+ ret
+
+; known jump sources: 2494d (9:494d), 2497d (9:497d)
+Function24a40: ; 24a40 (9:4a40)
+ call Function24a5c
+ ld de, DefaultFlypoint ; $d002
+ call Function24a80
+ call CopyBytes
+ ret
+
+; known jump sources: 24972 (9:4972), 2499f (9:499f)
+Function24a4d: ; 24a4d (9:4a4d)
+ call Function24a5c
+ ld d, h
+ ld e, l
+ ld hl, DefaultFlypoint ; $d002
+ call Function24a80
+ call CopyBytes
+ ret
+
+; known jump sources: 2491d (9:491d), 2495f (9:495f), 2498f (9:498f), 249aa (9:49aa), 249b2 (9:49b2), 249d4 (9:49d4), 249dc (9:49dc), 249ed (9:49ed), 249f6 (9:49f6), 24a05 (9:4a05), 24a1b (9:4a1b), 24a2d (9:4a2d), 24a40 (9:4a40), 24a4d (9:4a4d), 24aa1 (9:4aa1)
+Function24a5c: ; 24a5c (9:4a5c)
+ push af
+ call Function24a80
+ ld hl, $cf96
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ inc hl
+ pop af
+ call AddNTimes
+ ret
+
+; known jump sources: 24958 (9:4958), 24988 (9:4988)
+Function24a6c: ; 24a6c (9:4a6c)
+ push hl
+ call Function24a80
+ ld a, d
+ sub e
+ jr nc, .asm_24a76
+ dec a
+ cpl
+.asm_24a76
+ ld hl, $0
+ call AddNTimes
+ ld b, h
+ ld c, l
+ pop hl
+ ret
+
+; known jump sources: 24964 (9:4964), 24994 (9:4994), 24a26 (9:4a26), 24a46 (9:4a46), 24a55 (9:4a55), 24a5d (9:4a5d), 24a6d (9:4a6d), 24a98 (9:4a98)
+Function24a80: ; 24a80 (9:4a80)
+ push hl
+ ld a, [$cf94]
+ ld c, a
+ ld b, $0
+ ld hl, $4a91
+ add hl, bc
+ add hl, bc
+ ld c, [hl]
+ inc hl
+ ld b, [hl]
+ pop hl
+ ret
+; 24a91 (9:4a91)
+
+INCBIN "baserom.gbc",$24a91,$24a97 - $24a91
+
+; known jump sources: 249bc (9:49bc), 249c6 (9:49c6)
+Function24a97: ; 24a97 (9:4a97)
+ push af
+ call Function24a80
+ ld a, c
+ cp $2
+ jr nz, .asm_24aa7
+ pop af
+ call Function24a5c
+ inc hl
+ ld a, [hl]
+ ret
+.asm_24aa7
+ pop af
+ ld a, $1
+ ret
+
+; known jump sources: 2496c (9:496c), 24ab1 (9:4ab1)
+Function24aab: ; 24aab (9:4aab)
+ ld a, [hld]
+ ld [de], a
+ dec de
+ dec bc
+ ld a, b
+ or c
+ jr nz, Function24aab
+ ret
+
Function24ab4: ; 0x24ab4
push de
ld a, [MenuSelection]
@@ -29331,7 +33480,7 @@
ret
; 24b15
-INCBIN "baserom.gbc", $24b15, $24b25 - $24b15
+INCBIN "baserom.gbc",$24b15,$24b25 - $24b15
Function24b25: ; 24b25
ld hl, $c4ab
@@ -30227,9 +34376,524 @@
; 250ed
-INCBIN "baserom.gbc", $250ed, $265d3 - $250ed
+INCBIN "baserom.gbc",$250ed,$25105 - $250ed
+ ld a, [VramState] ; $d0ed
+ push af
+ xor a
+ ld [VramState], a ; $d0ed
+ ld hl, Options ; $cfcc
+ ld a, [hl]
+ push af
+ set 4, [hl]
+ call Function2513b
+.asm_25117
+ call UpdateTime
+ call Functiona57
+ ld a, [$cf63]
+ bit 7, a
+ jr nz, .asm_25132
+ ld a, [$FF00+$a9]
+ and $2
+ jr nz, .asm_25132
+ call Function2518e
+ call DelayFrame
+ jr .asm_25117
+.asm_25132
+ pop af
+ ld [Options], a ; $cfcc
+ pop af
+ ld [VramState], a ; $d0ed
+ ret
+; known jump sources: 25114 (9:5114)
+Function2513b: ; 2513b (9:513b)
+ call WhiteBGMap
+ call ClearSprites
+ call ClearTileMap
+ call DisableLCD
+ ld a, $22
+ ld hl, $433e
+ rst $8
+ ld hl, $65c3
+ ld de, $91c0
+ ld bc, $10
+ ld a, $9
+ call FarCopyBytes
+ ld hl, $5523
+ ld de, $9290
+ ld bc, $560
+ ld a, $9
+ call FarCopyBytes
+ call Function25299
+ ld hl, $c540
+ ld d, $6
+ call Function253b0
+ call EnableLCD
+ call WaitBGMap
+ ld b, $15
+ call GetSGBLayout
+ call Function32f9
+ call WaitBGMap
+ ld hl, $cf63
+ xor a
+ ld [hli], a
+ ld [hli], a
+ ld [hli], a
+ ld [hl], a
+ ret
+; known jump sources: 2512a (9:512a)
+Function2518e: ; 2518e (9:518e)
+ ld a, [$cf63]
+ ld e, a
+ ld d, $0
+ ld hl, $519d
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
+
+; no known jump sources
+Jumptable_2519d: ; 2519d (9:519d)
+ dw Function251b6
+ dw Function251d7
+ dw Function251f4
+ dw Function25221
+ dw Function2524c
+ dw Function25279
+ dw Function251b0
+
+
+; known jump sources: 251d3 (9:51d3), 2521d (9:521d), 25275 (9:5275)
+Function251ab: ; 251ab (9:51ab)
+ ld hl, $cf63
+ inc [hl]
+ ret
+
+; no known jump sources
+Function251b0: ; 251b0 (9:51b0)
+ ld hl, $cf63
+ set 7, [hl]
+ ret
+
+; no known jump sources
+Function251b6: ; 251b6 (9:51b6)
+ call ClearSprites
+ ld hl, $c540
+ ld d, $6
+ call Function253b0
+ call WaitBGMap
+ ld de, $5523
+ ld hl, $9290
+ ld bc, $956
+ call Request2bpp
+ call Function2530a
+ call Function251ab
+ ret
+
+; no known jump sources
+Function251d7: ; 251d7 (9:51d7)
+ call Function25415
+ ld hl, $ffa9
+ ld a, [hl]
+ and $11
+ jr nz, .asm_251e3
+ ret
+.asm_251e3
+ ld a, $2
+ ld [$cf63], a
+ ret
+; 251e9 (9:51e9)
+
+INCBIN "baserom.gbc",$251e9,$251f4 - $251e9
+
+; no known jump sources
+Function251f4: ; 251f4 (9:51f4)
+ call ClearSprites
+ ld hl, $c540
+ ld d, $6
+ call Function253b0
+ call WaitBGMap
+ ld de, $5583
+ ld hl, $9290
+ ld bc, $956
+ call Request2bpp
+ ld de, $6043
+ ld hl, $8000
+ ld bc, $92c
+ call Request2bpp
+ call Function2536c
+ call Function251ab
+ ret
+
+; no known jump sources
+Function25221: ; 25221 (9:5221)
+ ld hl, $54c9
+ call Function25438
+ ld hl, $ffa9
+ ld a, [hl]
+ and $1
+ jr nz, .asm_25246
+ ld a, [hl]
+ and $20
+ jr nz, .asm_25235
+ ret
+.asm_25235
+ ld a, $0
+ ld [$cf63], a
+ ret
+; 2523b (9:523b)
+
+INCBIN "baserom.gbc",$2523b,$25246 - $2523b
+.asm_25246
+ ld a, $6
+ ld [$cf63], a
+ ret
+
+; no known jump sources
+Function2524c: ; 2524c (9:524c)
+ call ClearSprites
+ ld hl, $c540
+ ld d, $6
+ call Function253b0
+ call WaitBGMap
+ ld de, $5ae3
+ ld hl, $9290
+ ld bc, $956
+ call Request2bpp
+ ld de, $6303
+ ld hl, $8000
+ ld bc, $92c
+ call Request2bpp
+ call Function2536c
+ call Function251ab
+ ret
+
+; no known jump sources
+Function25279: ; 25279 (9:5279)
+ ld hl, $54c9
+ call Function25438
+ ld hl, $ffa9
+ ld a, [hl]
+ and $20
+ jr nz, .asm_2528d
+ ld a, [hl]
+ and $10
+ jr nz, .asm_25293
+ ret
+.asm_2528d
+ ld a, $2
+ ld [$cf63], a
+ ret
+.asm_25293
+ ld a, $0
+ ld [$cf63], a
+ ret
+
+; known jump sources: 25169 (9:5169)
+Function25299: ; 25299 (9:5299)
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld d, $5
+ call Function253b0
+ ld hl, $c4ca
+ ld de, $52ec
+ call PlaceString
+ ld hl, $c4f2
+ ld de, $52f9
+ call Function253a8
+ ld hl, $c4cf
+ ld de, PlayerName ; $d47d
+ call PlaceString
+ ld hl, $c4f5
+ ld de, PlayerID ; $d47b
+ ld bc, $8205
+ call PrintNum
+ ld hl, $c51f
+ ld de, Money ; $d84e
+ ld bc, $2306
+ call PrintNum
+ ld hl, $c4dd
+ ld de, $52fc
+ call Function253a8
+ ld hl, $c4c2
+ ld bc, $507
+ xor a
+ ld [$FF00+$ad], a
+ ld a, $13
+ call Predef
+ ret
+; 252ec (9:52ec)
+
+INCBIN "baserom.gbc",$252ec,$2530a - $252ec
+
+; known jump sources: 251d0 (9:51d0)
+Function2530a: ; 2530a (9:530a)
+ ld hl, $c56a
+ ld de, $534c
+ call PlaceString
+ ld hl, $c5d6
+ ld de, $535c
+ call PlaceString
+ ld hl, PokedexCaught ; $de99
+ ld b, $20
+ call CountSetBits
+ ld de, $d265
+ ld hl, $c577
+ ld bc, $103
+ call PrintNum
+ call Function25415
+ ld hl, $c542
+ ld de, $5366
+ call Function253a8
+ ld a, [StatusFlags] ; $d84c
+ bit 0, a
+ ret nz
+ ld hl, $c555
+ ld bc, $211
+ call ClearBox
+ ret
+; 2534c (9:534c)
+
+INCBIN "baserom.gbc",$2534c,$2536c - $2534c
+
+; known jump sources: 2521a (9:521a), 25272 (9:5272)
+Function2536c: ; 2536c (9:536c)
+ ld hl, $c542
+ ld de, $53a2
+ call Function253a8
+ ld hl, $c56a
+ ld a, $29
+ ld c, $4
+.asm_2537c
+ call Function253f4
+ inc hl
+ inc hl
+ inc hl
+ inc hl
+ dec c
+ jr nz, .asm_2537c
+ ld hl, $c5a6
+ ld a, $51
+ ld c, $4
+.asm_2538d
+ call Function253f4
+ inc hl
+ inc hl
+ inc hl
+ inc hl
+ dec c
+ jr nz, .asm_2538d
+ xor a
+ ld [$cf64], a
+ ld hl, $54c9
+ call Function25448
+ ret
+; 253a2 (9:53a2)
+
+INCBIN "baserom.gbc",$253a2,$253a8 - $253a2
+
+; known jump sources: 252b0 (9:52b0), 252da (9:52da), 25339 (9:5339), 25372 (9:5372), 253ae (9:53ae)
+Function253a8: ; 253a8 (9:53a8)
+ ld a, [de]
+ cp $ff
+ ret z
+ ld [hli], a
+ inc de
+ jr Function253a8
+
+; known jump sources: 25171 (9:5171), 251be (9:51be), 251fc (9:51fc), 25254 (9:5254), 2529e (9:529e)
+Function253b0: ; 253b0 (9:53b0)
+ ld e, $14
+.asm_253b2
+ ld a, $23
+ ld [hli], a
+ dec e
+ jr nz, .asm_253b2
+ ld a, $23
+ ld [hli], a
+ ld e, $11
+ ld a, $7f
+.asm_253bf
+ ld [hli], a
+ dec e
+ jr nz, .asm_253bf
+ ld a, $1c
+ ld [hli], a
+ ld a, $23
+ ld [hli], a
+.asm_253c9
+ ld a, $23
+ ld [hli], a
+ ld e, $12
+ ld a, $7f
+.asm_253d0
+ ld [hli], a
+ dec e
+ jr nz, .asm_253d0
+ ld a, $23
+ ld [hli], a
+ dec d
+ jr nz, .asm_253c9
+ ld a, $23
+ ld [hli], a
+ ld a, $24
+ ld [hli], a
+ ld e, $11
+ ld a, $7f
+.asm_253e4
+ ld [hli], a
+ dec e
+ jr nz, .asm_253e4
+ ld a, $23
+ ld [hli], a
+ ld e, $14
+.asm_253ed
+ ld a, $23
+ ld [hli], a
+ dec e
+ jr nz, .asm_253ed
+ ret
+
+; known jump sources: 2537c (9:537c), 2538d (9:538d)
+Function253f4: ; 253f4 (9:53f4)
+ push de
+ push hl
+ ld [hli], a
+ inc a
+ ld [hli], a
+ inc a
+ ld [hli], a
+ inc a
+ ld [hli], a
+ inc a
+ ld de, $11
+ add hl, de
+ ld [hli], a
+ inc a
+ ld [hli], a
+ inc a
+ ld [hli], a
+ inc a
+ ld de, $11
+ add hl, de
+ ld [hli], a
+ inc a
+ ld [hli], a
+ inc a
+ ld [hli], a
+ inc a
+ pop hl
+ pop de
+ ret
+
+; known jump sources: 251d7 (9:51d7), 25330 (9:5330)
+Function25415: ; 25415 (9:5415)
+ ld hl, $c59b
+ ld de, GameTimeHours ; $d4c4
+ ld bc, $204
+ call PrintNum
+ inc hl
+ ld de, GameTimeMinutes ; $d4c6
+ ld bc, $8102
+ call PrintNum
+ ld a, [$FF00+$9b]
+ and $1f
+ ret nz
+ ld hl, $c59f
+ ld a, [hl]
+ xor $51
+ ld [hl], a
+ ret
+
+; known jump sources: 25224 (9:5224), 2527c (9:527c)
+Function25438: ; 25438 (9:5438)
+ ld a, [$FF00+$9b]
+ and $7
+ ret nz
+ ld a, [$cf64]
+ inc a
+ and $7
+ ld [$cf64], a
+ jr Function25448
+
+; known jump sources: 2539e (9:539e), 25446 (9:5446)
+Function25448: ; 25448 (9:5448)
+ ld a, [hli]
+ ld e, a
+ ld a, [hli]
+ ld d, a
+ ld a, [de]
+ ld c, a
+ ld de, Sprites ; $c400
+ ld b, $8
+.asm_25453
+ srl c
+ push bc
+ jr nc, .asm_25472
+ push hl
+ ld a, [hli]
+ ld b, a
+ ld a, [hli]
+ ld c, a
+ ld a, [hli]
+ ld [$cf66], a
+ ld a, [$cf64]
+ add l
+ ld l, a
+ ld a, $0
+ adc h
+ ld h, a
+ ld a, [hl]
+ ld [$cf65], a
+ call Function2547b
+ pop hl
+.asm_25472
+ ld bc, $b
+ add hl, bc
+ pop bc
+ dec b
+ jr nz, .asm_25453
+ ret
+
+; known jump sources: 2546e (9:546e)
+Function2547b: ; 2547b (9:547b)
+ ld a, [$cf65]
+ and $80
+ jr nz, .asm_25487
+ ld hl, $54a7
+ jr .asm_2548a
+.asm_25487
+ ld hl, $54b8
+.asm_2548a
+ ld a, [hli]
+ cp $ff
+ ret z
+ add b
+ ld [de], a
+ inc de
+ ld a, [hli]
+ add c
+ ld [de], a
+ inc de
+ ld a, [$cf65]
+ and $7f
+ add [hl]
+ ld [de], a
+ inc hl
+ inc de
+ ld a, [$cf66]
+ add [hl]
+ ld [de], a
+ inc hl
+ inc de
+ jr .asm_2548a
+; 254a7 (9:54a7)
+
+INCBIN "baserom.gbc",$254a7,$265d3 - $254a7
+
+
ProfOaksPC: ; 0x265d3
ld hl, OakPCText1
call Function1d4f
@@ -30511,8 +35175,15 @@
TX_FAR _OakPCText4
db "@"
-INCBIN "baserom.gbc", $26751, $2675c - $26751
+; no known jump sources
+Function26751: ; 26751 (9:6751)
+ ld a, $2
+ ld [$dc0f], a
+ ld a, $10
+ ld [$dc12], a
+ ret
+
_KrisDecorationMenu: ; 0x2675c
ld a, [$cf76]
push af
@@ -30544,7 +35215,7 @@
ret
; 0x2679a
-INCBIN "baserom.gbc", $2679a, $269dd - $2679a
+INCBIN "baserom.gbc",$2679a,$269dd - $2679a
Function269dd: ; 269dd
@@ -30563,7 +35234,7 @@
ret
; 269f3
-INCBIN "baserom.gbc", $269f3, $26a30 - $269f3
+INCBIN "baserom.gbc",$269f3,$26a30 - $269f3
Function26a30: ; 26a30
@@ -30594,7 +35265,7 @@
ret
; 26a4f
-INCBIN "baserom.gbc", $26a4f, $26b8d - $26a4f
+INCBIN "baserom.gbc",$26a4f,$26b8d - $26a4f
DecorationNames: ; 26b8d
@@ -30723,7 +35394,7 @@
ret
; 26ce3
-INCBIN "baserom.gbc", $26ce3, $26eea - $26ce3
+INCBIN "baserom.gbc",$26ce3,$26eea - $26ce3
Function26eea: ; 26eea
@@ -30739,9 +35410,18 @@
jp Function26a3b
; 26ef5
-INCBIN "baserom.gbc", $26ef5, $26f02 - $26ef5
+; no known jump sources
+Function26ef5: ; 26ef5 (9:6ef5)
+ ld a, c
+ call Function26f0c
+ ld hl, StringBuffer1 ; $d073
+ push hl
+ call Function269e7
+ pop de
+ ret
+
Function26f02: ; 26f02
ld a, c
call Function26f0c
@@ -30763,7 +35443,7 @@
ret
; 26f19
-INCBIN "baserom.gbc", $26f19, $26f59 - $26f19
+INCBIN "baserom.gbc",$26f19,$26f59 - $26f19
Function26f59: ; 26f59
@@ -30800,7 +35480,7 @@
ret
; 26f84
-INCBIN "baserom.gbc", $26f84, $26fb9 - $26f84
+INCBIN "baserom.gbc",$26f84,$26fb9 - $26f84
Function26fb9: ; 26fb9
@@ -30824,7 +35504,7 @@
ret
; 26fd5
-INCBIN "baserom.gbc", $26fd5, $26fdd - $26fd5
+INCBIN "baserom.gbc",$26fd5,$26fdd - $26fd5
Function26fdd: ; 26fdd
@@ -30833,7 +35513,7 @@
ret
; 26fe3
-INCBIN "baserom.gbc", $26fe3, $26feb - $26fe3
+INCBIN "baserom.gbc",$26fe3,$26feb - $26fe3
Function26feb: ; 26feb
ld de, $0004
@@ -31048,7 +35728,7 @@
ret
; 271de
-INCBIN "baserom.gbc", $271de, $271f4 - $271de
+INCBIN "baserom.gbc",$271de,$271f4 - $271de
MoveEffectsPointers: ; 271f4
INCLUDE "battle/moves/move_effects_pointers.asm"
@@ -31569,7 +36249,7 @@
ret
; 283ed
-INCBIN "baserom.gbc", $283ed, $283f2 - $283ed
+INCBIN "baserom.gbc",$283ed,$283f2 - $283ed
Function283f2: ; 283f2
ld a, $1
@@ -31605,7 +36285,7 @@
ret
; 28419
-INCBIN "baserom.gbc", $28419, $28426 - $28419
+INCBIN "baserom.gbc",$28419,$28426 - $28419
Function28426: ; 28426
ld hl, OverworldMap
@@ -32172,7 +36852,7 @@
ret
; 28785
-INCBIN "baserom.gbc", $28785, $2879e - $28785
+INCBIN "baserom.gbc",$28785,$2879e - $28785
Function2879e: ; 2879e
.asm_2879e
@@ -32556,7 +37236,7 @@
jp Function287e3
; 28aaf
-INCBIN "baserom.gbc", $28aaf, $28ac9 - $28aaf
+INCBIN "baserom.gbc",$28aaf,$28ac9 - $28aaf
Function28ac9: ; 28ac9
ld a, [$cfa9]
@@ -32625,7 +37305,7 @@
ret
; 28b42
-INCBIN "baserom.gbc", $28b42, $28b68 - $28b42
+INCBIN "baserom.gbc",$28b42,$28b68 - $28b42
Function28b68: ; 28b68
ld a, [$cf51]
@@ -32998,7 +37678,7 @@
jp Function287e3
; 28eab
-INCBIN "baserom.gbc", $28eab, $28eef - $28eab
+INCBIN "baserom.gbc",$28eab,$28eef - $28eab
Function28eef: ; 28eef
ld d, h
@@ -33018,7 +37698,7 @@
ret
; 28f09
-INCBIN "baserom.gbc", $28f09, $28f24 - $28f09
+INCBIN "baserom.gbc",$28f09,$28f24 - $28f09
Function28f24: ; 28f24
xor a
@@ -33252,7 +37932,7 @@
jp [hl]
; 290af
-INCBIN "baserom.gbc", $290af, $29491 - $290af
+INCBIN "baserom.gbc",$290af,$29491 - $290af
Function29491: ; 29491
push de
@@ -33280,8 +37960,129 @@
ret
; 294bb
-INCBIN "baserom.gbc", $294bb, $297ed - $294bb
+INCBIN "baserom.gbc",$294bb,$29676 - $294bb
+; no known jump sources
+Function29676: ; 29676 (a:5676)
+ ld hl, $b
+ add hl, bc
+ ld e, [hl]
+ ld d, $0
+ ld hl, $5686
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
+
+; no known jump sources
+Jumptable_29686: ; 29686 (a:5686)
+ dw Function2969a
+ dw Function296a4
+ dw Function296af
+ dw Function296bd
+ dw Function296cf
+ dw Function296dd
+ dw Function296f2
+
+
+; known jump sources: 2969a (a:569a), 296ac (a:56ac), 296ba (a:56ba), 296da (a:56da), 296e8 (a:56e8)
+Function29694: ; 29694 (a:5694)
+ ld hl, $b
+ add hl, bc
+ inc [hl]
+ ret
+
+; no known jump sources
+Function2969a: ; 2969a (a:569a)
+ call Function29694
+ ld hl, $c
+ add hl, bc
+ ld [hl], $80
+ ret
+
+; no known jump sources
+Function296a4: ; 296a4 (a:56a4)
+ ld hl, $c
+ add hl, bc
+ ld a, [hl]
+ dec [hl]
+ and a
+ ret nz
+ call Function29694
+
+; no known jump sources
+Function296af: ; 296af (a:56af)
+ ld hl, $4
+ add hl, bc
+ ld a, [hl]
+ cp $94
+ jr nc, .asm_296ba
+ inc [hl]
+ ret
+.asm_296ba
+ call Function29694
+
+; no known jump sources
+Function296bd: ; 296bd (a:56bd)
+ ld hl, $5
+ add hl, bc
+ ld a, [hl]
+ cp $4c
+ jr nc, .asm_296c8
+ inc [hl]
+ ret
+.asm_296c8
+ ld hl, $0
+ add hl, bc
+ ld [hl], $0
+ ret
+
+; no known jump sources
+Function296cf: ; 296cf (a:56cf)
+ ld hl, $5
+ add hl, bc
+ ld a, [hl]
+ cp $2c
+ jr z, .asm_296da
+ dec [hl]
+ ret
+.asm_296da
+ call Function29694
+
+; no known jump sources
+Function296dd: ; 296dd (a:56dd)
+ ld hl, $4
+ add hl, bc
+ ld a, [hl]
+ cp $58
+ jr z, .asm_296e8
+ dec [hl]
+ ret
+.asm_296e8
+ call Function29694
+ ld hl, $c
+ add hl, bc
+ ld [hl], $80
+ ret
+
+; no known jump sources
+Function296f2: ; 296f2 (a:56f2)
+ ld hl, $c
+ add hl, bc
+ ld a, [hl]
+ dec [hl]
+ and a
+ ret nz
+ ld hl, $0
+ add hl, bc
+ ld [hl], $0
+ ret
+; 29701 (a:5701)
+
+INCBIN "baserom.gbc",$29701,$297ed - $29701
+
Function297ed: ; 297ed
ld a, [hSGB]
and a
@@ -33316,7 +38117,7 @@
ret
; 2981d
-INCBIN "baserom.gbc", $2981d, $2982b - $2981d
+INCBIN "baserom.gbc",$2981d,$2982b - $2981d
Function2982b: ; 2982b
call DelayFrame
@@ -33339,7 +38140,7 @@
ret
; 2985a
-INCBIN "baserom.gbc", $2985a, $29bfb - $2985a
+INCBIN "baserom.gbc",$2985a,$29bfb - $2985a
Function29bfb: ; 29bfb
ld hl, PartySpecies
@@ -33871,7 +38672,31 @@
ret
; 29f54
-INCBIN "baserom.gbc", $29f54, $2a01f - $29f54
+INCBIN "baserom.gbc",$29f54,$29ff8 - $29f54
+ call Function2a205
+ jr c, .asm_2a006
+ ld hl, $d25a
+ xor a
+ ld [hli], a
+ ld [hli], a
+ ld [hl], a
+ jr .asm_2a011
+.asm_2a006
+ inc hl
+ inc hl
+ ld de, $d25a
+ ld bc, $3
+ call CopyBytes
+.asm_2a011
+ call Function2a21d
+ ld a, $0
+ jr nc, .asm_2a01b
+ inc hl
+ inc hl
+ ld a, [hl]
+.asm_2a01b
+ ld [$d25d], a
+ ret
Function2a01f: ; 2a01f
ld hl, TileMap
@@ -34201,7 +39026,7 @@
; 2a1cb
-INCBIN "baserom.gbc", $2a1cb, $2a1df - $2a1cb
+INCBIN "baserom.gbc",$2a1cb,$2a1df - $2a1cb
Function2a1df: ; 2a1df
@@ -34237,29 +39062,31 @@
Function2a200: ; 2a200
call Function1852
- jr z, .asm_2a21d
+ jr z, Function2a21d
+
+Function2a205: ; 2a205
ld hl, WildMons5
ld bc, $002f
- call .asm_2a23d
+ call asm_2a23d
ret c
ld hl, WildMons1
ld de, WildMons3
- call .asm_2a235
+ call asm_2a235
ld bc, $002f
- jr .asm_2a27a
+ jr asm_2a27a
-.asm_2a21d
+Function2a21d: ; 2a21d
ld hl, WildMons6
ld bc, $0009
- call .asm_2a23d
+ call asm_2a23d
ret c
ld hl, WildMons2
ld de, WildMons4
- call .asm_2a235
+ call asm_2a235
ld bc, $0009
- jr .asm_2a27a
+ jr asm_2a27a
-.asm_2a235
+asm_2a235
call IsInJohto
and a
ret z
@@ -34267,7 +39094,7 @@
ld l, e
ret
-.asm_2a23d
+asm_2a23d
call Function2a27f
push hl
ld hl, $dc20
@@ -34281,7 +39108,7 @@
cp e
jr nz, .asm_2a25c
call Function2a288
- jr nc, .asm_2a278
+ jr nc, asm_2a278
scf
ret
@@ -34290,23 +39117,23 @@
ld hl, $dc20
bit 3, [hl]
pop hl
- jr z, .asm_2a278
+ jr z, asm_2a278
ld a, [$dc5a]
cp d
- jr nz, .asm_2a278
+ jr nz, asm_2a278
ld a, [$dc5b]
cp e
- jr nz, .asm_2a278
+ jr nz, asm_2a278
call Function2a288
- jr nc, .asm_2a278
+ jr nc, asm_2a278
scf
ret
-.asm_2a278
+asm_2a278
and a
ret
-.asm_2a27a
+asm_2a27a
call Function2a27f
jr Function2a288
; 2a27f
@@ -34613,7 +39440,7 @@
ret
; 2a40f
-INCBIN "baserom.gbc", $2a40f, $2a4a0 - $2a40f
+INCBIN "baserom.gbc",$2a40f,$2a4a0 - $2a40f
Function2a4a0: ; 2a4a0
and a
@@ -34693,7 +39520,7 @@
ret
; 2a51a
-INCBIN "baserom.gbc", $2a51a, $2a51f - $2a51a
+INCBIN "baserom.gbc",$2a51a,$2a51f - $2a51a
Function2a51f: ; 2a51f
callba Function90439
@@ -35254,7 +40081,7 @@
ret
; 2c172
-INCBIN "baserom.gbc", $2c172, $2c1b2 - $2c172
+INCBIN "baserom.gbc",$2c172,$2c1b2 - $2c172
Function2c1b2: ; 2c1b2
@@ -35356,8 +40183,120 @@
db "MYSTICALMAN@"
-INCBIN "baserom.gbc", $2c41a, $2c547 - $2c41a
+; no known jump sources
+Function2c41a: ; 2c41a (b:441a)
+ ld a, c
+ ld de, $3
+ ld hl, $442c
+ call IsInArray
+ jp nc, Function2c545
+ inc hl
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
+; 2c42c (b:442c)
+
+INCBIN "baserom.gbc",$2c42c,$2c487 - $2c42c
+ ld a, [EnemyScreens] ; $c700
+ bit 3, a
+ ret
+ ld a, [EnemySubStatus4] ; $c670
+ bit 1, a
+ ret
+ ld a, [EnemySubStatus4] ; $c670
+ bit 2, a
+ ret
+ ld a, [PlayerSubStatus3] ; $c66a
+ bit 7, a
+ ret nz
+ ld a, [PlayerScreens] ; $c6ff
+ bit 2, a
+ ret
+ ld a, [EnemySubStatus5] ; $c671
+ bit 3, a
+ ret
+ ld a, [EnemyScreens] ; $c700
+ bit 4, a
+ ret
+; 2c4b1 (b:44b1)
+
+INCBIN "baserom.gbc",$2c4b1,$2c4b7 - $2c4b1
+ ld a, [PlayerSubStatus4] ; $c66b
+ bit 7, a
+ ret
+ ld a, [PlayerDisableCount] ; $c675
+ and a
+ ret
+ ld a, [PlayerSubStatus5] ; $c66c
+ bit 4, a
+ ret
+ ld a, [EnemyMonStatus] ; $d214
+ and $7
+ jr z, .asm_2c541
+ jr Function2c545
+ ld a, [EnemySubStatus5] ; $c671
+ bit 7, a
+ ret
+; 2c4d7 (b:44d7)
+
+INCBIN "baserom.gbc",$2c4d7,$2c4e3 - $2c4d7
+ ld a, [PlayerScreens] ; $c6ff
+ bit 0, a
+ ret
+ ld a, [PlayerSubStatus1] ; $c668
+ bit 3, a
+ ret
+ ld a, [PlayerSubStatus1] ; $c668
+ bit 4, a
+ ret
+ ld a, [Weather] ; $c70a
+ cp $3
+ jr z, .asm_2c541
+ jr Function2c545
+ ld a, $d
+ ld hl, $77f5
+ rst $8
+ jr c, .asm_2c541
+ ld a, [PlayerSubStatus1] ; $c668
+ bit 7, a
+ ret
+ ld a, [EnemyScreens] ; $c700
+ bit 2, a
+ ret
+ ld a, [Weather] ; $c70a
+ cp $1
+ jr z, .asm_2c541
+ jr Function2c545
+ ld a, [Weather] ; $c70a
+ cp $2
+ jr z, .asm_2c541
+ jr Function2c545
+ ld a, [BattleMonStatus] ; $c63a
+ and $7
+ jr z, .asm_2c541
+ jr Function2c545
+ ld a, [PlayerSubStatus3] ; $c66a
+ bit 7, a
+ ret
+ ld a, [EnemyScreens] ; $c700
+ bit 5, a
+ ret
+ ld a, $e
+ ld hl, $5251
+ rst $8
+ jr nc, Function2c545
+.asm_2c541
+ ld a, $1
+ and a
+ ret
+
+; known jump sources: 2c424 (b:4424), 2c4cf (b:44cf), 2c4fc (b:44fc), 2c519 (b:4519), 2c522 (b:4522), 2c52b (b:452b), 2c53f (b:453f)
+Function2c545: ; 2c545 (b:4545)
+ xor a
+ ret
+
Function2c547: ; 2c547
ld hl, $45ef
call PrintText
@@ -35420,7 +40359,7 @@
ret
; 2c5d1
-INCBIN "baserom.gbc", $2c5d1, $2c5f9 - $2c5d1
+INCBIN "baserom.gbc",$2c5d1,$2c5f9 - $2c5d1
Function2c5f9: ; 2c5f9
ld a, b
@@ -35480,9 +40419,238 @@
ret
; 2c642
-INCBIN "baserom.gbc", $2c642, $2c7fb - $2c642
+; no known jump sources
+Function2c642: ; 2c642 (b:4642)
+ ld de, OverworldMap ; $c800
+ ld a, $1
+ ld [de], a
+ inc de
+ ld a, $1
+ call GetSRAMBank
+ ld hl, $a009
+ ld a, [hli]
+ ld [de], a
+ ld b, a
+ inc de
+ ld a, [hl]
+ ld [de], a
+ ld c, a
+ inc de
+ push bc
+ ld hl, $a00b
+ ld bc, $b
+ call CopyBytes
+ push de
+ ld hl, $aa27
+ ld b, $20
+ call CountSetBits
+ pop de
+ pop bc
+ ld a, [$d265]
+ ld [de], a
+ inc de
+ call CloseSRAM
+ call Random
+ and $1
+ ld [de], a
+ inc de
+ call Function2c6ac
+ ld [de], a
+ inc de
+ ld a, c
+ ld c, b
+ ld b, a
+ call Function2c6ac
+ ld [de], a
+ inc de
+ ld a, $0
+ call GetSRAMBank
+ ld a, [$abe4]
+ ld [de], a
+ inc de
+ ld a, [$abe5]
+ ld [de], a
+ ld a, $14
+ ld [$ca00], a
+ call CloseSRAM
+ ld hl, OverworldMap ; $c800
+ ld de, $c950
+ ld bc, $14
+ jp CopyBytes
+; known jump sources: 2c67d (b:467d), 2c685 (b:4685)
+Function2c6ac: ; 2c6ac (b:46ac)
+ push de
+ call Random
+ cp $19
+ jr c, .asm_2c6cc
+ call Random
+ and $7
+ ld d, a
+ rl d
+ ld e, $80
+.asm_2c6be
+ rlc e
+ dec a
+ jr nz, .asm_2c6be
+ ld a, e
+ and c
+ jr z, .asm_2c6c9
+ ld a, $1
+.asm_2c6c9
+ add d
+ jr .asm_2c706
+.asm_2c6cc
+ call Random
+ cp $32
+ jr c, .asm_2c6ed
+ call Random
+ and $3
+ ld d, a
+ rl d
+ ld e, $80
+.asm_2c6dd
+ rlc e
+ dec a
+ jr nz, .asm_2c6dd
+ ld a, e
+ and b
+ jr z, .asm_2c6e8
+ ld a, $1
+.asm_2c6e8
+ add d
+ add $10
+ jr .asm_2c706
+.asm_2c6ed
+ call Random
+ cp $32
+ jr c, .asm_2c6fd
+ ld a, b
+ swap a
+ and $7
+ add $18
+ jr .asm_2c706
+.asm_2c6fd
+ ld a, b
+ and $80
+ ld a, $20
+ jr z, .asm_2c706
+ ld a, $21
+.asm_2c706
+ pop de
+ ret
+
+; no known jump sources
+Function2c708: ; 2c708 (b:4708)
+ ld a, c
+ cp $25
+ jr nc, asm_2c722
+ ld hl, $4725
+ ld b, $0
+ add hl, bc
+ ld c, [hl]
+ ret
+
+; no known jump sources
+Function2c715: ; 2c715 (b:4715)
+ ld a, c
+ cp $25
+ jr nc, asm_2c722
+ ld hl, $474a
+ ld b, $0
+ add hl, bc
+ ld c, [hl]
+ ret
+
+; known jump sources: 2c70b (b:470b), 2c718 (b:4718)
+asm_2c722: ; 2c722 (b:4722)
+ ld c, $4
+ ret
+; 2c725 (b:4725)
+
+INCBIN "baserom.gbc",$2c725,$2c76f - $2c725
+
+; no known jump sources
+Function2c76f: ; 2c76f (b:476f)
+ ld a, $1
+ ld [$FF00+$aa], a
+ call Function2c8d3
+ ld a, $0
+ ld [$FF00+$aa], a
+ ret nc
+ call Function1bee
+ call WaitBGMap
+ ld a, [CurItem] ; $d106
+ dec a
+ ld [$d107], a
+ ld hl, TMsHMs ; $d859
+ ld c, a
+ ld b, $0
+ add hl, bc
+ ld a, [hl]
+ ld [$d10d], a
+ call Function2c798
+ scf
+ ret
+
+; known jump sources: 2c793 (b:4793)
+Function2c798: ; 2c798 (b:4798)
+ ld a, [CurItem] ; $d106
+ ld c, a
+ ld hl, GetNumberedTMHM
+ ld a, BANK(GetNumberedTMHM)
+ rst $8 ; ; indirect jump to GetNumberedTMHM (d417 (3:5417))
+ ld a, c
+ ld [CurItem], a ; $d106
+ ret
+
+; known jump sources: 2c7b6 (b:47b6), 2cb0c (b:4b0c)
+Function2c7a7: ; 2c7a7 (b:47a7)
+ ld a, [CurItem] ; $d106
+ ld c, a
+ ld hl, GetTMHMNumber
+ ld a, BANK(GetTMHMNumber)
+ rst $8 ; ; indirect jump to GetTMHMNumber (d407 (3:5407))
+ ld a, c
+ ld [$d265], a
+ ret
+
+; known jump sources: 2c7cd (b:47cd)
+Function2c7b6: ; 2c7b6 (b:47b6)
+ call Function2c7a7
+ ld a, $f
+ call Predef
+ ret
+ ld hl, Options ; $cfcc
+ ld a, [hl]
+ push af
+ res 4, [hl]
+ ld a, [CurItem] ; $d106
+ cp $bf
+ jr c, .asm_2c7f5
+ call Function2c7b6
+ ld a, [$d265]
+ ld [$d262], a
+ call GetMoveName
+ call CopyName1
+ ld hl, $48bf
+ ld a, [CurItem] ; $d106
+ cp $f3
+ jr c, .asm_2c7e9
+ ld hl, $48c4
+.asm_2c7e9
+ call PrintText
+ ld hl, $48c9
+ call PrintText
+ call Function1dcf
+.asm_2c7f5
+ pop bc
+ ld a, b
+ ld [Options], a ; $cfcc
+ ret
+
+
Function2c7fb: ; 2c7fb
ld hl, StringBuffer2
ld de, $d066
@@ -35536,9 +40704,404 @@
; 2c867
-INCBIN "baserom.gbc", $2c867, $2cb3e - $2c867
+ ld a, $e
+ call Predef
+ push bc
+ ld a, [CurPartyMon] ; $d109
+ ld hl, PartyMonNicknames ; $de41 (aliases: PartyMon1Nickname)
+ call GetNick
+ pop bc
+ ld a, c
+ and a
+ jr nz, .asm_2c88b
+ push de
+ ld de, $19
+ call StartSFX
+ pop de
+ ld hl, $48ce
+ call PrintText
+ jr .asm_2c8b6
+.asm_2c88b
+ ld hl, $79ea
+ ld a, $3
+ rst $8
+ jr c, .asm_2c8b6
+ ld a, $0
+ call Predef
+ ld a, b
+ and a
+ jr z, .asm_2c8b6
+ ld a, $41
+ ld hl, $6049
+ rst $8
+ ld a, [CurItem] ; $d106
+ call IsHM
+ ret c
+ ld c, $5
+ ld hl, $71c2
+ ld a, $1
+ rst $8
+ call Function2cb0c
+ jr .asm_2c8bd
+.asm_2c8b6
+ and a
+ ret
+; 2c8b8 (b:48b8)
+INCBIN "baserom.gbc",$2c8b8,$2c8bd - $2c8b8
+.asm_2c8bd
+ scf
+ ret
+; 2c8bf (b:48bf)
+INCBIN "baserom.gbc",$2c8bf,$2c8d3 - $2c8bf
+
+; known jump sources: 2c773 (b:4773)
+Function2c8d3: ; 2c8d3 (b:48d3)
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call Function2c9e2
+ ld a, $2
+ ld [$cfa1], a
+ ld a, $7
+ ld [$cfa2], a
+ ld a, $1
+ ld [$cfa4], a
+ ld a, $5
+ sub d
+ inc a
+ cp $6
+ jr nz, .asm_2c8f1
+ dec a
+.asm_2c8f1
+ ld [$cfa3], a
+ ld a, $c
+ ld [$cfa5], a
+ xor a
+ ld [$cfa6], a
+ ld a, $20
+ ld [$cfa7], a
+ ld a, $f3
+ ld [$cfa8], a
+ ld a, [$d0dc]
+ inc a
+ ld [$cfa9], a
+ ld a, $1
+ ld [$cfaa], a
+ jr Function2c946
+
+; known jump sources: 2c95b (b:495b), 2c971 (b:4971), 2c9bb (b:49bb), 2c9ce (b:49ce)
+Function2c915: ; 2c915 (b:4915)
+ call Function2c9e2
+ call Function1bc9
+ ld b, a
+ ld a, [$cfa9]
+ dec a
+ ld [$d0dc], a
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ ld a, [$cfa6]
+ bit 7, a
+ jp nz, Function2c9b1
+ ld a, b
+ ld [$cf73], a
+ bit 0, a
+ jp nz, Function2c974
+ bit 1, a
+ jp nz, Function2c9a5
+ bit 4, a
+ jp nz, Function2c9af
+ bit 5, a
+ jp nz, Function2c9af
+
+; known jump sources: 2c913 (b:4913), 2c9c2 (b:49c2), 2c9df (b:49df)
+Function2c946: ; 2c946 (b:4946)
+ call Function2c98a
+ jp nc, Function2c9af
+ ld hl, $c590
+ ld b, $4
+ ld c, $12
+ call TextBox
+ ld a, [CurItem] ; $d106
+ cp $3a
+ jr nc, Function2c915
+ ld [$d265], a
+ ld a, $f
+ call Predef
+ ld a, [$d265]
+ ld [CurSpecies], a ; $cf60
+ ld hl, $c5b9
+ call PrintMoveDesc
+ jp Function2c915
+
+; known jump sources: 2c934 (b:4934)
+Function2c974: ; 2c974 (b:4974)
+ call Function2cad6
+ call Function2cb2a
+ ld a, [$cfa9]
+ dec a
+ ld b, a
+ ld a, [$d0e2]
+ add b
+ ld b, a
+ ld a, [$d265]
+ cp b
+ jr z, asm_2c9a8
+
+; known jump sources: 2c946 (b:4946)
+Function2c98a: ; 2c98a (b:498a)
+ call Function2cab5
+ ld a, [$cfa9]
+ ld b, a
+.asm_2c991
+ inc c
+ ld a, c
+ cp $3a
+ jr nc, .asm_2c99f
+ ld a, [hli]
+ and a
+ jr z, .asm_2c991
+ dec b
+ jr nz, .asm_2c991
+ ld a, c
+.asm_2c99f
+ ld [CurItem], a ; $d106
+ cp $ff
+ ret
+
+; known jump sources: 2c939 (b:4939)
+Function2c9a5: ; 2c9a5 (b:49a5)
+ call Function2cad6
+
+; known jump sources: 2c988 (b:4988)
+asm_2c9a8: ; 2c9a8 (b:49a8)
+ ld a, $2
+ ld [$cf73], a
+ and a
+ ret
+
+; known jump sources: 2c93e (b:493e), 2c943 (b:4943), 2c949 (b:4949)
+Function2c9af: ; 2c9af (b:49af)
+ and a
+ ret
+
+; known jump sources: 2c92b (b:492b)
+Function2c9b1: ; 2c9b1 (b:49b1)
+ ld a, b
+ bit 7, a
+ jr nz, .asm_2c9c5
+ ld hl, $d0e2
+ ld a, [hl]
+ and a
+ jp z, Function2c915
+ dec [hl]
+ call Function2c9e2
+ jp Function2c946
+.asm_2c9c5
+ call Function2cab5
+ ld b, $5
+.asm_2c9ca
+ inc c
+ ld a, c
+ cp $3a
+ jp nc, Function2c915
+ ld a, [hli]
+ and a
+ jr z, .asm_2c9ca
+ dec b
+ jr nz, .asm_2c9ca
+ ld hl, $d0e2
+ inc [hl]
+ call Function2c9e2
+ jp Function2c946
+
+; known jump sources: 2c8d6 (b:48d6), 2c915 (b:4915), 2c9bf (b:49bf), 2c9dc (b:49dc)
+Function2c9e2: ; 2c9e2 (b:49e2)
+ ld a, [BattleType] ; $d230
+ cp $3
+ jp z, Function2caca
+ ld hl, $c4cd
+ ld bc, $a0f
+ ld a, $7f
+ call ClearBox
+ call Function2cab5
+ ld d, $5
+.asm_2c9fa
+ inc c
+ ld a, c
+ cp $3a
+ jr nc, .asm_2ca77
+ ld a, [hli]
+ and a
+ jr z, .asm_2c9fa
+ ld b, a
+ ld a, c
+ ld [$d265], a
+ push hl
+ push de
+ push bc
+ call Function2ca86
+ push hl
+ ld a, [$d265]
+ cp $33
+ jr nc, .asm_2ca22
+ ld de, $d265
+ ld bc, $8102
+ call PrintNum
+ jr .asm_2ca38
+.asm_2ca22
+ push af
+ sub $32
+ ld [$d265], a
+ ld [hl], $87
+ inc hl
+ ld de, $d265
+ ld bc, $4102
+ call PrintNum
+ pop af
+ ld [$d265], a
+.asm_2ca38
+ ld a, $f
+ call Predef
+ ld a, [$d265]
+ ld [$d262], a
+ call GetMoveName
+ pop hl
+ ld bc, $3
+ add hl, bc
+ push hl
+ call PlaceString
+ pop hl
+ pop bc
+ ld a, c
+ push bc
+ cp $33
+ jr nc, .asm_2ca6f
+ ld bc, $1d
+ add hl, bc
+ ld [hl], $f1
+ inc hl
+ ld a, $f6
+ pop bc
+ push bc
+ ld a, b
+ ld [$d265], a
+ ld de, $d265
+ ld bc, $102
+ call PrintNum
+.asm_2ca6f
+ pop bc
+ pop de
+ pop hl
+ dec d
+ jr nz, .asm_2c9fa
+ jr .asm_2ca85
+.asm_2ca77
+ call Function2ca86
+ inc hl
+ inc hl
+ inc hl
+ push de
+ ld de, $4aae
+ call PlaceString
+ pop de
+.asm_2ca85
+ ret
+
+; known jump sources: 2ca0c (b:4a0c), 2ca77 (b:4a77)
+Function2ca86: ; 2ca86 (b:4a86)
+ ld hl, $c4a5
+ ld bc, $28
+ ld a, $6
+ sub d
+ ld e, a
+.asm_2ca90
+ add hl, bc
+ dec e
+ jr nz, .asm_2ca90
+ ret
+; 2ca95 (b:4a95)
+
+INCBIN "baserom.gbc",$2ca95,$2cab5 - $2ca95
+
+; known jump sources: 2c98a (b:498a), 2c9c5 (b:49c5), 2c9f5 (b:49f5)
+Function2cab5: ; 2cab5 (b:4ab5)
+ ld hl, TMsHMs ; $d859
+ ld a, [$d0e2]
+ ld b, a
+ inc b
+ ld c, $0
+.asm_2cabf
+ inc c
+ ld a, [hli]
+ and a
+ jr z, .asm_2cabf
+ dec b
+ jr nz, .asm_2cabf
+ dec hl
+ dec c
+ ret
+
+; known jump sources: 2c9e7 (b:49e7)
+Function2caca: ; 2caca (b:4aca)
+ ld hl, $c4e5
+ push de
+ ld de, $4aae
+ call PlaceString
+ pop de
+ ret
+
+; known jump sources: 2c974 (b:4974), 2c9a5 (b:49a5)
+Function2cad6: ; 2cad6 (b:4ad6)
+ push de
+ ld de, $8
+ call StartSFX
+ pop de
+ ret
+; 2cadf (b:4adf)
+
+INCBIN "baserom.gbc",$2cadf,$2cb0c - $2cadf
+
+; known jump sources: 2c8b1 (b:48b1)
+Function2cb0c: ; 2cb0c (b:4b0c)
+ call Function2c7a7
+ ld a, [$d265]
+ dec a
+ ld hl, TMsHMs ; $d859
+ ld b, $0
+ ld c, a
+ add hl, bc
+ ld a, [hl]
+ and a
+ ret z
+ dec a
+ ld [hl], a
+ ret nz
+ ld a, [$d0e2]
+ and a
+ ret z
+ dec a
+ ld [$d0e2], a
+ ret
+
+; known jump sources: 2c977 (b:4977)
+Function2cb2a: ; 2cb2a (b:4b2a)
+ ld b, $0
+ ld c, $39
+ ld hl, TMsHMs ; $d859
+.asm_2cb31
+ ld a, [hli]
+ and a
+ jr z, .asm_2cb36
+ inc b
+.asm_2cb36
+ dec c
+ jr nz, .asm_2cb31
+ ld a, b
+ ld [$d265], a
+ ret
+
+
PrintMoveDesc: ; 2cb3e
push hl
ld hl, MoveDescriptions
@@ -35993,7 +41556,7 @@
INCLUDE "tilesets/data_4.asm"
-INCBIN "baserom.gbc", $329f0, $333f0 - $329f0
+INCBIN "baserom.gbc",$329f0,$333f0 - $329f0
SECTION "bankD",ROMX,BANK[$D]
@@ -36202,7 +41765,27 @@
jp [hl]
; 3814a
-INCBIN "baserom.gbc", $3814a, $38170 - $3814a
+ pop de
+ pop hl
+ inc hl
+ inc hl
+ jr c, .asm_3812c
+ xor a
+ ld [de], a
+ inc a
+ ld [$c70f], a
+ ld hl, EnemySubStatus3 ; $c66f
+ res 0, [hl]
+ xor a
+ ld [EnemyFuryCutterCount], a ; $c680
+ ld [$c681], a
+ ld [$c72c], a
+ ld hl, EnemySubStatus4 ; $c670
+ res 6, [hl]
+ xor a
+ ld [LastPlayerCounterMove], a ; $c6f9
+ scf
+ ret
Function38170: ; 38170
@@ -36235,9 +41818,160 @@
ret
; 38196
-INCBIN "baserom.gbc", $38196, $38387 - $38196
+INCBIN "baserom.gbc",$38196,$381be - $38196
+ call Function381ca
+ jp c, Function38383
+ call Function383a3
+ jp Function38385
+; known jump sources: 381be (e:41be), 38214 (e:4214)
+Function381ca: ; 381ca (e:41ca)
+ ld a, [EnemyMonStatus] ; $d214
+ and a
+ jp z, Function38383
+ ld a, [bc]
+ bit 6, a
+ jr nz, .asm_381e7
+ ld a, [bc]
+ bit 4, a
+ jp nz, Function38385
+ call Random
+ cp $32
+ jp c, Function38385
+ jp Function38383
+.asm_381e7
+ ld a, [EnemySubStatus5] ; $c671
+ bit 0, a
+ jr z, .asm_381fd
+ ld a, [$c67c]
+ cp $4
+ jr c, .asm_381fd
+ call Random
+ cp $80
+ jp c, Function38385
+.asm_381fd
+ ld a, [EnemyMonStatus] ; $d214
+ and $27
+ jp z, Function38383
+ jp Function38385
+ call Function3822c
+ jp nc, Function3821a
+ ld a, [bc]
+ bit 6, a
+ jp z, Function38383
+ call Function381ca
+ jp c, Function38383
+; known jump sources: 3820b (e:420b)
+Function3821a: ; 3821a (e:421a)
+ call Function383b5
+ jp Function38385
+ call Function3822c
+ jp c, Function38383
+ call Function383ae
+ jp Function38385
+
+; known jump sources: 38208 (e:4208), 38220 (e:4220), 38284 (e:4284)
+Function3822c: ; 3822c (e:422c)
+ ld a, [bc]
+ bit 6, a
+ jr nz, asm_38267
+ ld hl, AICheckEnemyHalfHP
+ ld a, BANK(AICheckEnemyHalfHP)
+ rst $8 ; ; indirect jump to AICheckEnemyHalfHP (39281 (e:5281))
+ jp c, Function38383
+ ld a, [bc]
+ bit 5, a
+ jp nz, Function38254
+ ld hl, AICheckEnemyQuarterHP
+ ld a, BANK(AICheckEnemyQuarterHP)
+ rst $8 ; ; indirect jump to AICheckEnemyQuarterHP (39298 (e:5298))
+ jp nc, Function38281
+ call Random
+ cp $80
+ jp c, Function38281
+ jp Function38383
+
+; known jump sources: 3823d (e:423d)
+Function38254: ; 38254 (e:4254)
+ ld hl, AICheckEnemyQuarterHP
+ ld a, BANK(AICheckEnemyQuarterHP)
+ rst $8 ; ; indirect jump to AICheckEnemyQuarterHP (39298 (e:5298))
+ jp c, Function38383
+ call Random
+ cp $32
+ jp c, Function38383
+ jr Function38281
+asm_38267: ; 38267 (e:4267)
+ ld hl, AICheckEnemyHalfHP
+ ld a, BANK(AICheckEnemyHalfHP)
+ rst $8 ; ; indirect jump to AICheckEnemyHalfHP (39281 (e:5281))
+ jp c, Function38383
+ ld hl, AICheckEnemyQuarterHP
+ ld a, BANK(AICheckEnemyQuarterHP)
+ rst $8 ; ; indirect jump to AICheckEnemyQuarterHP (39298 (e:5298))
+ jp nc, Function38281
+ call Random
+ cp $32
+ jp nc, Function38383
+
+; known jump sources: 38246 (e:4246), 3824e (e:424e), 38265 (e:4265), 38276 (e:4276)
+Function38281: ; 38281 (e:4281)
+ jp Function38385
+ call Function3822c
+ jp c, Function38383
+ ld b, $c8
+ call Function383f4
+ jp Function38385
+; 38292 (e:4292)
+
+INCBIN "baserom.gbc",$38292,$38311 - $38292
+ call Function3834d
+ jp c, Function38383
+ call Function38511
+ jp Function38385
+; 3831d (e:431d)
+
+INCBIN "baserom.gbc",$3831d,$3834d - $3831d
+
+; known jump sources: 38311 (e:4311)
+Function3834d: ; 3834d (e:434d)
+ ld a, [EnemyTurnsTaken] ; $c6dc
+ and a
+ jr nz, .asm_38372
+ ld a, [bc]
+ bit 4, a
+ jp nz, Function38385
+ call Random
+ cp $80
+ jp c, Function38383
+ ld a, [bc]
+ bit 6, a
+ jp nz, Function38385
+ call Random
+ cp $80
+ jp c, Function38383
+ jp Function38385
+.asm_38372
+ ld a, [bc]
+ bit 4, a
+ jp z, Function38383
+ call Random
+ cp $32
+ jp nc, Function38383
+ jp Function38385
+
+; known jump sources: 381c1 (e:41c1), 381ce (e:41ce), 381e4 (e:41e4), 38202 (e:4202), 38211 (e:4211), 38217 (e:4217), 38223 (e:4223), 38237 (e:4237), 38251 (e:4251), 3825a (e:425a), 38262 (e:4262), 3826d (e:426d), 3827e (e:427e), 38287 (e:4287), 38314 (e:4314), 3835e (e:435e), 3836c (e:436c), 38375 (e:4375), 3837d (e:437d)
+Function38383: ; 38383 (e:4383)
+ scf
+ ret
+
+; known jump sources: 381c7 (e:41c7), 381d9 (e:41d9), 381e1 (e:41e1), 381fa (e:41fa), 38205 (e:4205), 3821d (e:421d), 38229 (e:4229), 38281 (e:4281), 3828f (e:428f), 3831a (e:431a), 38356 (e:4356), 38364 (e:4364), 3836f (e:436f), 38380 (e:4380)
+Function38385: ; 38385 (e:4385)
+ and a
+ ret
+
+
Function38387: ; 38387
call UpdateEnemyMonInParty
callba Function3e036
@@ -36257,9 +41991,105 @@
ret
; 383a3
-INCBIN "baserom.gbc", $383a3, $3844b - $383a3
+; known jump sources: 381c4 (e:41c4)
+Function383a3: ; 383a3 (e:43a3)
+ call Function3839a
+ call Function384e0
+ ld a, $26
+ jp Function38568
+; known jump sources: 38226 (e:4226)
+Function383ae: ; 383ae (e:43ae)
+ ld a, $f
+ ld [$d1f1], a
+ jr asm_383c6
+
+; known jump sources: 3821a (e:421a)
+Function383b5: ; 383b5 (e:43b5)
+ call Function384e0
+ ld a, $e
+ ld [$d1f1], a
+ ld hl, EnemySubStatus3 ; $c66f
+ res 7, [hl]
+ xor a
+ ld [EnemyConfuseCount], a ; $c67b
+asm_383c6: ; 383c6 (e:43c6)
+ ld de, $d1ec
+ ld hl, EnemyMonHPLo ; $d217
+ ld a, [hld]
+ ld [de], a
+ inc de
+ ld a, [hl]
+ ld [de], a
+ inc de
+ ld hl, EnemyMonMaxHPLo ; $d219
+ ld a, [hld]
+ ld [de], a
+ inc de
+ ld [Buffer1], a ; $d1ea (aliases: MagikarpLength)
+ ld [EnemyMonHPLo], a ; $d217
+ ld a, [hl]
+ ld [de], a
+ ld [Buffer2], a ; $d1eb (aliases: MovementType)
+ ld [EnemyMonHPHi], a ; $d216 (aliases: EnemyMonHP)
+ jr asm_38436
+; 383e8 (e:43e8)
+
+INCBIN "baserom.gbc",$383e8,$383f4 - $383e8
+
+; known jump sources: 3828c (e:428c)
+Function383f4: ; 383f4 (e:43f4)
+ ld a, $10
+ ld b, $c8
+ ld [$d1f1], a
+ ld hl, EnemyMonHPLo ; $d217
+ ld a, [hl]
+ ld [$d1ec], a
+ add b
+ ld [hld], a
+ ld [$d1ee], a
+ ld a, [hl]
+ ld [$d1ed], a
+ ld [$d1ef], a
+ jr nc, .asm_38415
+ inc a
+ ld [hl], a
+ ld [$d1ef], a
+.asm_38415
+ inc hl
+ ld a, [hld]
+ ld b, a
+ ld de, EnemyMonMaxHPLo ; $d219
+ ld a, [de]
+ dec de
+ ld [Buffer1], a ; $d1ea (aliases: MagikarpLength)
+ sub b
+ ld a, [hli]
+ ld b, a
+ ld a, [de]
+ ld [Buffer2], a ; $d1eb (aliases: MovementType)
+ sbc b
+ jr nc, asm_38436
+ inc de
+ ld a, [de]
+ dec de
+ ld [hld], a
+ ld [$d1ee], a
+ ld a, [de]
+ ld [hl], a
+ ld [$d1ef], a
+asm_38436: ; 38436 (e:4436)
+ call Function38571
+ ld hl, $c4ca
+ xor a
+ ld [$d10a], a
+ call Function3839a
+ ld a, $b
+ call Predef
+ jp Function38387
+
+
Function3844b: ; 3844b
ld a, [OTPartyCount]
ld c, a
@@ -36540,7 +42370,7 @@
; 3959c
-INCBIN "baserom.gbc", $3959c, $39771 - $3959c
+INCBIN "baserom.gbc",$3959c,$39771 - $3959c
Function39771: ; 39771
@@ -36622,7 +42452,23 @@
jr .asm_397d0
; 397e3
-INCBIN "baserom.gbc", $397e3, $39806 - $397e3
+INCBIN "baserom.gbc",$397e3,$397eb - $397e3
+ ld h, d
+ ld l, e
+.asm_397ed
+ ld a, [hli]
+ cp $ff
+ ret z
+ ld [CurPartyLevel], a ; $d143
+ ld a, [hli]
+ ld [CurPartySpecies], a ; $d108
+ ld a, $1
+ ld [MonType], a ; $cf5f
+ push hl
+ ld a, $6
+ call Predef
+ pop hl
+ jr .asm_397ed
Function39806: ; 39806
@@ -36694,9 +42540,57 @@
jr .asm_39808
; 39871
-INCBIN "baserom.gbc", $39871, $39939 - $39871
+ ld h, d
+ ld l, e
+.asm_39873
+ ld a, [hli]
+ cp $ff
+ ret z
+ ld [CurPartyLevel], a ; $d143
+ ld a, [hli]
+ ld [CurPartySpecies], a ; $d108
+ ld a, $1
+ ld [MonType], a ; $cf5f
+ push hl
+ ld a, $6
+ call Predef
+ ld a, [OTPartyCount] ; $d280
+ dec a
+ ld hl, OTPartyMon1Item ; $d289
+ ld bc, $30
+ call AddNTimes
+ ld d, h
+ ld e, l
+ pop hl
+ ld a, [hli]
+ ld [de], a
+ jr .asm_39873
+; 3989d (e:589d)
+INCBIN "baserom.gbc",$3989d,$3991b - $3989d
+; known jump sources: 397d0 (e:57d0)
+Function3991b: ; 3991b (e:591b)
+ ld hl, hPastLeadingZeroes ; $ffb3 (aliases: hDividend, hProduct)
+ xor a
+ ld [hli], a
+ ld [hli], a
+ ld [hli], a
+ ld a, [$c652]
+ ld [hli], a
+ ld a, [CurPartyLevel] ; $d143
+ ld [hl], a
+ call Multiply
+ ld hl, $c686
+ xor a
+ ld [hli], a
+ ld a, [$FF00+$b5]
+ ld [hli], a
+ ld a, [$FF00+$b6]
+ ld [hl], a
+ ret
+
+
Function39939: ; 39939
ld a, [$cfc0]
bit 0, a
@@ -45054,11 +50948,12 @@
ld a, [PlayerSubStatus4]
bit 4, a
ld hl, $4640
- jr nz, .asm_3f46f
+ jr nz, asm_3f46f
+Function3f447: ; 3f447
ld a, [$c6fe]
and a
ld hl, Function3c6cf
- jr nz, .asm_3f46f
+ jr nz, asm_3f46f
ld a, [CurPartySpecies]
push af
ld a, [BattleMonSpecies]
@@ -45073,7 +50968,7 @@
ld [CurPartySpecies], a
ret
-.asm_3f46f
+asm_3f46f
ld a, [hBattleTurn]
push af
xor a
@@ -45089,11 +50984,12 @@
ld a, [EnemySubStatus4]
bit 4, a
ld hl, $4640
- jr nz, .asm_3f4b4
+ jr nz, asm_3f4b4
+Function3f486: ; 3f486
ld a, [$c6fa]
and a
ld hl, Function3c6cf
- jr nz, .asm_3f4b4
+ jr nz, asm_3f4b4
ld a, [CurPartySpecies]
push af
ld a, [EnemyMonSpecies]
@@ -45110,7 +51006,7 @@
ld [CurPartySpecies], a
ret
-.asm_3f4b4
+asm_3f4b4
ld a, [hBattleTurn]
push af
call SetEnemyTurn
@@ -46501,8 +52397,730 @@
jp [hl]
; 40115
-INCBIN "baserom.gbc", $40115, $40741 - $40115
+; no known jump sources
+Jumptable_40115: ; 40115 (10:4115)
+ dw Function4013c
+ dw Function401ae
+ dw Function40217
+ dw Function40258
+ dw Function402aa
+ dw Function40443
+ dw Function40471
+ dw Function4039d
+ dw Function403be
+ dw Function4050a
+ dw Function40562
+ dw Function405bd
+ dw Function405df
+ dw Function40136
+
+
+; known jump sources: 401aa (10:41aa), 40254 (10:4254), 4026f (10:426f), 403ba (10:43ba), 4046d (10:446d), 4055e (10:455e), 405db (10:45db)
+Function40131: ; 40131 (10:4131)
+ ld hl, $cf63
+ inc [hl]
+ ret
+
+; no known jump sources
+Function40136: ; 40136 (10:4136)
+ ld hl, $cf63
+ set 7, [hl]
+ ret
+
+; no known jump sources
+Function4013c: ; 4013c (10:413c)
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call ClearSprites
+ xor a
+ ld hl, AttrMap ; $cdd9
+ ld bc, $168
+ call ByteFill
+ ld a, BANK(Function1de171)
+ ld hl, Function1de171
+ rst $8 ; ; indirect jump to Function1de171 (1de171 (77:6171))
+ ld hl, $c5f4
+ ld de, $47f2
+ call Function40acd
+ ld a, $7
+ ld [$c7d3], a
+ call Function40b0f
+ call Function41aeb
+ call Function41af7
+ call Function4074c
+ ld a, $5
+ ld [hSCX], a ; $ff00+$cf
+ ld a, [$c7d4]
+ cp $1
+ ld a, $4a
+ jr z, .asm_4017b
+ ld a, $47
+.asm_4017b
+ ld [hWX], a ; $ff00+$d1
+ xor a
+ ld [hWY], a ; $ff00+$d2
+ call WaitBGMap
+ call Function41af7
+ ld a, $ff
+ ld [CurPartySpecies], a ; $d108
+ ld a, $4
+ call Function41423
+ call Function41148
+ ld a, BANK(Function1de171)
+ ld hl, Function1de171
+ rst $8 ; ; indirect jump to Function1de171 (1de171 (77:6171))
+ ld hl, $c5f4
+ ld de, $47f2
+ call Function40acd
+ ld a, $7
+ ld [$c7d3], a
+ call Function40b0f
+ call Function40131
+ ret
+
+; no known jump sources
+Function401ae: ; 401ae (10:41ae)
+ ld hl, hJoyPressed ; $ffa7
+ ld a, [hl]
+ and $2
+ jr nz, .asm_40211
+ ld a, [hl]
+ and $1
+ jr nz, .asm_401d9
+ ld a, [hl]
+ and $4
+ jr nz, .asm_401eb
+ ld a, [hl]
+ and $8
+ jr nz, .asm_401fe
+ call Function406c5
+ ret nc
+ call Function41148
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call Function40b0f
+ call Function41ad7
+ call Function41af7
+ ret
+.asm_401d9
+ call Function40bb1
+ call Function40bd0
+ ret z
+ ld a, $2
+ ld [$cf63], a
+ ld a, $0
+ ld [$cf64], a
+ ret
+.asm_401eb
+ call Function41401
+ ld a, $7
+ ld [$cf63], a
+ xor a
+ ld [hSCX], a ; $ff00+$cf
+ ld a, $a7
+ ld [hWX], a ; $ff00+$d1
+ call DelayFrame
+ ret
+.asm_401fe
+ call Function41401
+ ld a, $5
+ ld [$cf63], a
+ xor a
+ ld [hSCX], a ; $ff00+$cf
+ ld a, $a7
+ ld [hWX], a ; $ff00+$d1
+ call DelayFrame
+ ret
+.asm_40211
+ ld a, $d
+ ld [$cf63], a
+ ret
+
+; no known jump sources
+Function40217: ; 40217 (10:4217)
+ call LowVolume
+ xor a
+ ld [$cf65], a
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call ClearSprites
+ call Function41478
+ call Function407fd
+ call Function4134f
+ call Function40bb1
+ ld [$c2d6], a
+ ld a, BANK(Function4424d)
+ ld hl, Function4424d
+ rst $8 ; ; indirect jump to Function4424d (4424d (11:424d))
+ call Function40ba0
+ call WaitBGMap
+ ld a, $a7
+ ld [hWX], a ; $ff00+$d1
+ call Function40bb1
+ ld [CurPartySpecies], a ; $d108
+ ld a, $4
+ call Function41423
+ ld a, [CurPartySpecies] ; $d108
+ call Function37ce
+ call Function40131
+ ret
+
+; no known jump sources
+Function40258: ; 40258 (10:4258)
+ ld de, $42e8
+ call Function4135a
+ ld hl, hJoyPressed ; $ffa7
+ ld a, [hl]
+ and $2
+ jr nz, .asm_4027d
+ ld a, [hl]
+ and $1
+ jr nz, .asm_40273
+ call Function4066c
+ ret nc
+ call Function40131
+ ret
+.asm_40273
+ ld a, [$c7d8]
+ ld hl, $42f2
+ call Function41432
+ jp [hl]
+.asm_4027d
+ ld a, [LastVolume] ; $c2b4
+ and a
+ jr z, .asm_40288
+ ld a, $77
+ ld [LastVolume], a ; $c2b4
+.asm_40288
+ call MaxVolume
+ ld a, [$cf64]
+ ld [$cf63], a
+ ret
+; 40292 (10:4292)
+
+INCBIN "baserom.gbc",$40292,$402aa - $40292
+
+; no known jump sources
+Function402aa: ; 402aa (10:42aa)
+ call Function41401
+ xor a
+ ld [$cf65], a
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call Function407fd
+ call Function4134f
+ call Function41478
+ call Function40bb1
+ ld [$c2d6], a
+ ld a, BANK(Function4424d)
+ ld hl, Function4424d
+ rst $8 ; ; indirect jump to Function4424d (4424d (11:424d))
+ call Function40ba0
+ call Function4143b
+ call WaitBGMap
+ call Function40bb1
+ ld [CurPartySpecies], a ; $d108
+ ld a, $4
+ call Function41423
+ ld a, [CurPartySpecies] ; $d108
+ call Function37ce
+ ld hl, $cf63
+ dec [hl]
+ ret
+; 402e8 (10:42e8)
+
+INCBIN "baserom.gbc",$402e8,$4039d - $402e8
+
+; no known jump sources
+Function4039d: ; 4039d (10:439d)
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call ClearSprites
+ call Function4087c
+ call Function4134f
+ ld a, [$c7d4]
+ ld [$c7d8], a
+ call Function40e5b
+ call WaitBGMap
+ ld a, $10
+ call Function41423
+ call Function40131
+ ret
+
+; no known jump sources
+Function403be: ; 403be (10:43be)
+ ld a, [$c7dc]
+ and a
+ jr nz, .asm_403c9
+ ld de, $43f3
+ jr .asm_403cc
+.asm_403c9
+ ld de, $43fb
+.asm_403cc
+ call Function4135a
+ call c, Function40e5b
+ ld hl, hJoyPressed ; $ffa7
+ ld a, [hl]
+ and $6
+ jr nz, .asm_403ea
+ ld a, [hl]
+ and $1
+ jr nz, .asm_403e0
+ ret
+.asm_403e0
+ ld a, [$c7d8]
+ ld hl, $4405
+ call Function41432
+ jp [hl]
+.asm_403ea
+ call Function41401
+ ld a, $0
+ ld [$cf63], a
+ ret
+; 403f3 (10:43f3)
+
+INCBIN "baserom.gbc",$403f3,$40405 - $403f3
+
+; no known jump sources
+Jumptable_40405: ; 40405 (10:4405)
+ dw Function4040d
+ dw Function40411
+ dw Function40415
+ dw Function4043a
+
+
+; no known jump sources
+Function4040d: ; 4040d (10:440d)
+ ld b, $0
+ jr asm_40417
+
+; no known jump sources
+Function40411: ; 40411 (10:4411)
+ ld b, $1
+ jr asm_40417
+
+; no known jump sources
+Function40415: ; 40415 (10:4415)
+ ld b, $2
+asm_40417: ; 40417 (10:4417)
+ ld a, [$c7d4]
+ cp b
+ jr z, .asm_40431
+ ld a, b
+ ld [$c7d4], a
+ call Function40bdc
+ call Function40f08
+ xor a
+ ld [$c7d0], a
+ ld [$c7d1], a
+ call Function400b4
+.asm_40431
+ call Function41401
+ ld a, $0
+ ld [$cf63], a
+ ret
+
+; no known jump sources
+Function4043a: ; 4043a (10:443a)
+ call Function41401
+ ld a, $b
+ ld [$cf63], a
+ ret
+
+; no known jump sources
+Function40443: ; 40443 (10:4443)
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call ClearSprites
+ call Function408f0
+ call Function4134f
+ ld a, $1
+ ld [$c7d5], a
+ xor a
+ ld [$c7d6], a
+ call Function40fa8
+ xor a
+ ld [$c7db], a
+ ld a, BANK(Function44207)
+ ld hl, Function44207
+ rst $8 ; ; indirect jump to Function44207 (44207 (11:4207))
+ call WaitBGMap
+ ld a, $10
+ call Function41423
+ call Function40131
+ ret
+
+; no known jump sources
+Function40471: ; 40471 (10:4471)
+ ld de, $449e
+ call Function4135a
+ call Function40f4f
+ call c, Function40fa8
+ ld hl, hJoyPressed ; $ffa7
+ ld a, [hl]
+ and $a
+ jr nz, .asm_40495
+ ld a, [hl]
+ and $1
+ jr nz, .asm_4048b
+ ret
+.asm_4048b
+ ld a, [$c7d8]
+ ld hl, $44a8
+ call Function41432
+ jp [hl]
+.asm_40495
+ call Function41401
+ ld a, $0
+ ld [$cf63], a
+ ret
+; 4049e (10:449e)
+
+INCBIN "baserom.gbc",$4049e,$4050a - $4049e
+
+; no known jump sources
+Function4050a: ; 4050a (10:450a)
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ xor a
+ ld hl, AttrMap ; $cdd9
+ ld bc, $168
+ call ByteFill
+ call Function41ae1
+ call Function41af7
+ ld a, BANK(Function1de1d1)
+ ld hl, Function1de1d1
+ rst $8 ; ; indirect jump to Function1de1d1 (1de1d1 (77:61d1))
+ call Function409cf
+ ld a, $4
+ ld [$c7d3], a
+ call Function40b0f
+ call Function41ad7
+ call Function41af7
+ call Function40962
+ ld a, $5
+ ld [hSCX], a ; $ff00+$cf
+ ld a, $4a
+ ld [hWX], a ; $ff00+$d1
+ xor a
+ ld [hWY], a ; $ff00+$d2
+ call WaitBGMap
+ call Function41af7
+ ld a, BANK(Function1de1d1)
+ ld hl, Function1de1d1
+ rst $8 ; ; indirect jump to Function1de1d1 (1de1d1 (77:61d1))
+ call Function409cf
+ call Function41281
+ ld a, $ff
+ ld [CurPartySpecies], a ; $d108
+ ld a, $4
+ call Function41423
+ call Function40131
+ ret
+
+; no known jump sources
+Function40562: ; 40562 (10:4562)
+ ld hl, hJoyPressed ; $ffa7
+ ld a, [hl]
+ and $2
+ jr nz, .asm_40595
+ ld a, [hl]
+ and $1
+ jr nz, .asm_40583
+ call Function406c5
+ ret nc
+ call Function41281
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call Function40b0f
+ call Function41ad7
+ call Function41af7
+ ret
+.asm_40583
+ call Function40bb1
+ call Function40bd0
+ ret z
+ ld a, $2
+ ld [$cf63], a
+ ld a, $9
+ ld [$cf64], a
+ ret
+.asm_40595
+ ld a, [$c7e0]
+ ld [$c7d0], a
+ ld a, [$c7e1]
+ ld [$c7d1], a
+ ld a, [$cf65]
+ ld [$c2d6], a
+ call Function41401
+ call ClearSprites
+ call Function40bdc
+ ld a, $5
+ ld [$cf63], a
+ xor a
+ ld [hSCX], a ; $ff00+$cf
+ ld a, $a7
+ ld [hWX], a ; $ff00+$d1
+ ret
+
+; no known jump sources
+Function405bd: ; 405bd (10:45bd)
+ call Function41a2c
+ call Function409f1
+ xor a
+ ld [$c7dd], a
+ call Function41a58
+ call Function40658
+ ld a, BANK(Functionfba2e)
+ ld hl, Functionfba2e
+ rst $8 ; ; indirect jump to Functionfba2e (fba2e (3e:7a2e))
+ call WaitBGMap
+ ld a, $16
+ call Function41423
+ call Function40131
+ ret
+
+; no known jump sources
+Function405df: ; 405df (10:45df)
+ ld hl, hJoyPressed ; $ffa7
+ ld a, [hl]
+ and $3
+ jr nz, .asm_405eb
+ call Function40610
+ ret
+.asm_405eb
+ call Function41401
+ ld a, $7
+ ld [$cf63], a
+ call DelayFrame
+ call Function41a24
+ jr nz, .asm_40603
+ ld a, BANK(Function1ddf26)
+ ld hl, Function1ddf26
+ rst $8 ; ; indirect jump to Function1ddf26 (1ddf26 (77:5f26))
+ jr .asm_4060f
+.asm_40603
+ ld hl, $550e
+ ld de, $9310
+ ld bc, $103a
+ call Functione73
+.asm_4060f
+ ret
+
+; known jump sources: 405e7 (10:45e7)
+Function40610: ; 40610 (10:4610)
+ ld hl, $ffa9
+ ld a, [hl]
+ and $10
+ jr nz, .asm_4061e
+ ld a, [hl]
+ and $20
+ jr nz, .asm_4062d
+ ret
+.asm_4061e
+ ld a, [$c7de]
+ ld e, a
+ ld hl, $c7dd
+ ld a, [hl]
+ inc a
+ cp e
+ ret nc
+ ld a, [hl]
+ inc [hl]
+ jr .asm_40635
+.asm_4062d
+ ld hl, $c7dd
+ ld a, [hl]
+ and a
+ ret z
+ ld a, [hl]
+ dec [hl]
+.asm_40635
+ push af
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ pop af
+ call Function40654
+ call Function41a58
+ call Function40658
+ ld a, BANK(Functionfba2e)
+ ld hl, Functionfba2e
+ rst $8 ; ; indirect jump to Functionfba2e (fba2e (3e:7a2e))
+ ld a, $1
+ ld [hBGMapMode], a ; $ff00+$d4
+ call DelayFrame
+ call DelayFrame
+ ret
+
+; known jump sources: 4063a (10:463a)
+Function40654: ; 40654 (10:4654)
+ ld c, $7f
+ jr asm_4065d
+
+; known jump sources: 405ca (10:45ca), 40640 (10:4640)
+Function40658: ; 40658 (10:4658)
+ ld a, [$c7dd]
+ ld c, $5a
+asm_4065d: ; 4065d (10:465d)
+ ld e, a
+ ld d, $0
+ ld hl, $4a40
+ add hl, de
+ add hl, de
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld [hl], c
+ ret
+
+; known jump sources: 4026b (10:426b)
+Function4066c: ; 4066c (10:466c)
+ ld a, [$c7d1]
+ ld [$c7e2], a
+ ld a, [$c7d0]
+ ld [$c7e3], a
+ ld hl, $ffa9
+ ld a, [hl]
+ and $40
+ jr nz, .asm_40687
+ ld a, [hl]
+ and $80
+ jr nz, .asm_4069e
+ and a
+ ret
+.asm_40687
+ ld a, [$c7d3]
+ ld d, a
+ ld a, [$c7d2]
+ ld e, a
+ call Function406ea
+ jr nc, .asm_406b7
+ call Function40bb1
+ call Function40bd0
+ jr nz, .asm_406b5
+ jr .asm_40687
+.asm_4069e
+ ld a, [$c7d3]
+ ld d, a
+ ld a, [$c7d2]
+ ld e, a
+ call Function406fe
+ jr nc, .asm_406b7
+ call Function40bb1
+ call Function40bd0
+ jr nz, .asm_406b5
+ jr .asm_4069e
+.asm_406b5
+ scf
+ ret
+.asm_406b7
+ ld a, [$c7e2]
+ ld [$c7d1], a
+ ld a, [$c7e3]
+ ld [$c7d0], a
+ and a
+ ret
+
+; known jump sources: 401c5 (10:41c5), 4056f (10:456f)
+Function406c5: ; 406c5 (10:46c5)
+ ld a, [$c7d3]
+ ld d, a
+ ld a, [$c7d2]
+ ld e, a
+ ld hl, $ffa9
+ ld a, [hl]
+ and $40
+ jr nz, Function406ea
+ ld a, [hl]
+ and $80
+ jr nz, Function406fe
+ ld a, d
+ cp e
+ jr nc, asm_4073d
+ ld a, [hl]
+ and $20
+ jr nz, asm_40716
+ ld a, [hl]
+ and $10
+ jr nz, asm_40728
+ jr asm_4073d
+
+; known jump sources: 4068f (10:468f), 406d3 (10:46d3)
+Function406ea: ; 406ea (10:46ea)
+ ld hl, $c7d1
+ ld a, [hl]
+ and a
+ jr z, .asm_406f4
+ dec [hl]
+ jr asm_4073f
+.asm_406f4
+ ld hl, $c7d0
+ ld a, [hl]
+ and a
+ jr z, asm_4073d
+ dec [hl]
+ jr asm_4073f
+
+; known jump sources: 406a6 (10:46a6), 406d8 (10:46d8)
+Function406fe: ; 406fe (10:46fe)
+ ld hl, $c7d1
+ ld a, [hl]
+ inc a
+ cp e
+ jr nc, asm_4073d
+ cp d
+ jr nc, .asm_4070c
+ inc [hl]
+ jr asm_4073f
+.asm_4070c
+ ld hl, $c7d0
+ add [hl]
+ cp e
+ jr nc, asm_4073d
+ inc [hl]
+ jr asm_4073f
+asm_40716: ; 40716 (10:4716)
+ ld hl, $c7d0
+ ld a, [hl]
+ and a
+ jr z, asm_4073d
+ cp d
+ jr nc, .asm_40724
+ xor a
+ ld [hl], a
+ jr asm_4073f
+.asm_40724
+ sub d
+ ld [hl], a
+ jr asm_4073f
+asm_40728: ; 40728 (10:4728)
+ ld hl, $c7d0
+ ld a, d
+ add a
+ add [hl]
+ jr c, .asm_40733
+ cp e
+ jr c, .asm_40738
+.asm_40733
+ ld a, e
+ sub d
+ ld [hl], a
+ jr asm_4073f
+.asm_40738
+ ld a, [hl]
+ add d
+ ld [hl], a
+ jr asm_4073f
+asm_4073d: ; 4073d (10:473d)
+ and a
+ ret
+asm_4073f: ; 4073f (10:473f)
+ scf
+ ret
+
Function40741: ; 40741
push de
ld de, $0014
@@ -46515,8 +53133,67 @@
ret
; 4074c
-INCBIN "baserom.gbc", $4074c, $407fd - $4074c
+; known jump sources: 40169 (10:4169)
+Function4074c: ; 4074c (10:474c)
+ ld hl, $c5f4
+ ld de, $47f2
+ call Function40acd
+ ld a, $32
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld bc, $168
+ call ByteFill
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld bc, $707
+ call Function40ad5
+ ld hl, $c554
+ ld bc, $607
+ call Function40ad5
+ ld hl, $c57d
+ ld de, $47e1
+ call Function40acd
+ ld hl, PokedexSeen ; $deb9 (aliases: EndPokedexSeen)
+ ld b, $20
+ call CountSetBits
+ ld de, $d265
+ ld hl, $c595
+ ld bc, $103
+ call PrintNum
+ ld hl, $c5b9
+ ld de, $47e6
+ call Function40acd
+ ld hl, PokedexCaught ; $de99
+ ld b, $20
+ call CountSetBits
+ ld de, $d265
+ ld hl, $c5d1
+ ld bc, $103
+ call PrintNum
+ ld hl, $c5f5
+ ld de, $47ea
+ call Function40acd
+ ld hl, $c4bc
+ ld b, $7
+ ld a, $5a
+ call Function40741
+ ld hl, $c570
+ ld b, $6
+ ld a, $5a
+ call Function40741
+ ld hl, $c4a8
+ ld [hl], $59
+ ld hl, $c548
+ ld [hl], $53
+ ld hl, $c55c
+ ld [hl], $54
+ ld hl, $c5e8
+ ld [hl], $5b
+ call Function40ab2
+ ret
+; 407e1 (10:47e1)
+
+INCBIN "baserom.gbc",$407e1,$407fd - $407e1
+
Function407fd: ; 407fd
call Function40aa6
ld hl, TileMap
@@ -46550,8 +53227,161 @@
ret
; 4084f
-INCBIN "baserom.gbc", $4084f, $40aa6 - $4084f
+INCBIN "baserom.gbc",$4084f,$4087c - $4084f
+; known jump sources: 403a3 (10:43a3)
+Function4087c: ; 4087c (10:487c)
+ call Function40aa6
+ ld hl, $c4c8
+ ld bc, $812
+ call Function40ad5
+ ld hl, $c590
+ ld bc, $412
+ call Function40ad5
+ ld hl, $c4b4
+ ld de, $48b2
+ call Function40acd
+ ld hl, $c4f3
+ ld de, $48bd
+ call PlaceString
+ ld a, [$c7dc]
+ and a
+ ret z
+ ld hl, $c56b
+ ld de, $48e5
+ call PlaceString
+ ret
+; 408b2 (10:48b2)
+
+INCBIN "baserom.gbc",$408b2,$408f0 - $408b2
+
+; known jump sources: 40449 (10:4449)
+Function408f0: ; 408f0 (10:48f0)
+ call Function40aa6
+ ld hl, $c4c8
+ ld bc, $e12
+ call Function40ad5
+ ld hl, $c4b4
+ ld de, $492a
+ call Function40acd
+ ld hl, $c4f8
+ ld de, $4935
+ call Function40acd
+ ld hl, $c520
+ ld de, $4935
+ call Function40acd
+ ld hl, $c4f3
+ ld de, $4940
+ call PlaceString
+ ld hl, $c5a7
+ ld de, $494c
+ call PlaceString
+ ret
+; 4092a (10:492a)
+
+INCBIN "baserom.gbc",$4092a,$40962 - $4092a
+
+; known jump sources: 40534 (10:4534)
+Function40962: ; 40962 (10:4962)
+ call Function40aa6
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld bc, $707
+ call Function40ad5
+ ld hl, $c57c
+ ld bc, $512
+ call Function40ad5
+ ld hl, $c591
+ ld de, $49ae
+ call PlaceString
+ ld de, $c7d7
+ ld hl, $c5e1
+ ld bc, $103
+ call PrintNum
+ ld hl, $c4a8
+ ld [hl], $59
+ ld hl, $c4bc
+ ld b, $7
+ ld a, $5a
+ call Function40741
+ ld hl, $c548
+ ld [hl], $53
+ ld hl, $c55c
+ ld [hl], $69
+ ld hl, $c570
+ ld [hl], $6a
+ call Function40ab2
+ ret
+; 409ae (10:49ae)
+
+INCBIN "baserom.gbc",$409ae,$409cf - $409ae
+
+; known jump sources: 40523 (10:4523), 4054e (10:454e)
+Function409cf: ; 409cf (10:49cf)
+ ld a, [$c7d5]
+ ld hl, $c5b8
+ call Function40fcd
+ ld a, [$c7d5]
+ ld b, a
+ ld a, [$c7d6]
+ and a
+ jr z, .asm_409f0
+ cp b
+ jr z, .asm_409f0
+ ld hl, $c5ce
+ call Function40fcd
+ ld hl, $c5cd
+ ld [hl], $f3
+.asm_409f0
+ ret
+
+; known jump sources: 405c0 (10:45c0)
+Function409f1: ; 409f1 (10:49f1)
+ call Function40aa6
+ ld hl, $c4b6
+ ld bc, $a0d
+ call Function40ad5
+ ld hl, $c5ba
+ ld bc, $10d
+ call Function40ad5
+ ld hl, $c5ce
+ ld [hl], $3d
+ ld hl, $c5dc
+ ld [hl], $3e
+ ld hl, $c50a
+ call Function40ab5
+ ld de, $0
+ ld b, $0
+ ld c, $1a
+.asm_40a1d
+ ld hl, EndPokedexSeen ; $ded9 (aliases: UnownDex)
+ add hl, de
+ ld a, [hl]
+ and a
+ jr z, .asm_40a39
+ push af
+ ld hl, $4a3e
+ add hl, de
+ add hl, de
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ pop af
+ add $3f
+ ld [hl], a
+ inc de
+ inc b
+ dec c
+ jr nz, .asm_40a1d
+.asm_40a39
+ ld a, b
+ ld [$c7de], a
+ ret
+; 40a3e (10:4a3e)
+
+INCBIN "baserom.gbc",$40a3e,$40aa6 - $40a3e
+
Function40aa6: ; 40aa6
ld hl, TileMap
ld a, $32
@@ -46562,6 +53392,7 @@
Function40ab2: ; 40ab2
ld hl, $c4b5
+Function40ab5: ; 40ab5
xor a
ld b, $7
.asm_40ab8
@@ -46639,8 +53470,105 @@
jr .asm_40b07
; 40b0f
-INCBIN "baserom.gbc", $40b0f, $40ba0 - $40b0f
+; known jump sources: 40160 (10:4160), 401a7 (10:41a7), 401cf (10:41cf), 4052b (10:452b), 40579 (10:4579)
+Function40b0f: ; 40b0f (10:4b0f)
+ ld a, [$c7d4]
+ cp $1
+ jr z, .asm_40b1a
+ ld c, $b
+ jr .asm_40b1c
+.asm_40b1a
+ ld c, $b
+.asm_40b1c
+ ld hl, $c4b4
+ ld a, [$c7d3]
+ add a
+ inc a
+ ld b, a
+ ld a, $7f
+ call Function413fe
+ ld a, [$c7d0]
+ ld e, a
+ ld d, $0
+ ld hl, PlayerSDefLevel ; $c6d0
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, $c4c8
+ ld a, [$c7d3]
+.asm_40b3c
+ push af
+ ld a, [de]
+ ld [$d265], a
+ push de
+ push hl
+ call Function40b55
+ pop hl
+ ld de, $28
+ add hl, de
+ pop de
+ inc de
+ pop af
+ dec a
+ jr nz, .asm_40b3c
+ call Function4143b
+ ret
+
+; known jump sources: 40b43 (10:4b43)
+Function40b55: ; 40b55 (10:4b55)
+ and a
+ ret z
+ call Function40b6a
+ call Function40b8d
+ ret c
+ call Function40b82
+ push hl
+ call GetPokemonName
+ pop hl
+ call PlaceString
+ ret
+
+; known jump sources: 40b57 (10:4b57)
+Function40b6a: ; 40b6a (10:4b6a)
+ ld a, [$c7d4]
+ cp $1
+ jr z, .asm_40b72
+ ret
+.asm_40b72
+ push hl
+ ld de, $ffec
+ add hl, de
+ ld de, $d265
+ ld bc, $8103
+ call PrintNum
+ pop hl
+ ret
+
+; known jump sources: 40b5e (10:4b5e)
+Function40b82: ; 40b82 (10:4b82)
+ call Function40bc4
+ jr nz, .asm_40b89
+ inc hl
+ ret
+.asm_40b89
+ ld a, $4f
+ ld [hli], a
+ ret
+
+; known jump sources: 40b5a (10:4b5a)
+Function40b8d: ; 40b8d (10:4b8d)
+ call Function40bd0
+ ret nz
+ inc hl
+ ld de, $4b9a
+ call PlaceString
+ scf
+ ret
+; 40b9a (10:4b9a)
+
+INCBIN "baserom.gbc",$40b9a,$40ba0 - $40b9a
+
Function40ba0: ; 40ba0
ld hl, $c4c6
ld a, $62
@@ -46669,9 +53597,19 @@
ret
; 40bc4
-INCBIN "baserom.gbc", $40bc4, $40bd0 - $40bc4
+; known jump sources: 40b82 (10:4b82)
+Function40bc4: ; 40bc4 (10:4bc4)
+ push de
+ push hl
+ ld a, [$d265]
+ dec a
+ call CheckCaughtMon
+ pop hl
+ pop de
+ ret
+
Function40bd0: ; 40bd0
push de
push hl
@@ -46696,8 +53634,59 @@
jp [hl]
; 40bf0
-INCBIN "baserom.gbc", $40bf0, $40c30 - $40bf0
+; no known jump sources
+Jumptable_40bf0: ; 40bf0 (10:4bf0)
+ dw Function40bf6
+ dw Function40c08
+ dw Function40c30
+
+
+; no known jump sources
+Function40bf6: ; 40bf6 (10:4bf6)
+ ld de, $4d60
+ ld hl, PlayerSDefLevel ; $c6d0
+ ld c, $fb
+.asm_40bfe
+ ld a, [de]
+ inc de
+ ld [hli], a
+ dec c
+ jr nz, .asm_40bfe
+ call Function40c18
+ ret
+
+; no known jump sources
+Function40c08: ; 40c08 (10:4c08)
+ ld hl, PlayerSDefLevel ; $c6d0
+ ld a, $1
+ ld c, $fb
+.asm_40c0f
+ ld [hli], a
+ inc a
+ dec c
+ jr nz, .asm_40c0f
+ call Function40c18
+ ret
+
+; known jump sources: 40c04 (10:4c04), 40c14 (10:4c14)
+Function40c18: ; 40c18 (10:4c18)
+ ld hl, $c7ca
+ ld d, $fb
+ ld e, d
+.asm_40c1e
+ ld a, [hld]
+ ld [$d265], a
+ call Function40bd0
+ jr nz, .asm_40c2b
+ dec d
+ dec e
+ jr nz, .asm_40c1e
+.asm_40c2b
+ ld a, d
+ ld [$c7d2], a
+ ret
+
Function40c30: ; 40c30
xor a
ld [$c7d2], a
@@ -46759,8 +53748,395 @@
ret
; 40e7d
-INCBIN "baserom.gbc", $40e7d, $41423 - $40e7d
+INCBIN "baserom.gbc",$40e7d,$40f08 - $40e7d
+; known jump sources: 40424 (10:4424)
+Function40f08: ; 40f08 (10:4f08)
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ ld hl, $c590
+ ld bc, $412
+ call Function40ad5
+ ld de, $4f32
+ ld hl, $c5b9
+ call PlaceString
+ ld a, $1
+ ld [hBGMapMode], a ; $ff00+$d4
+ ld c, $40
+ call DelayFrames
+ ld de, $15
+ call StartSFX
+ ld c, $40
+ call DelayFrames
+ ret
+; 40f32 (10:4f32)
+
+INCBIN "baserom.gbc",$40f32,$40f4f - $40f32
+
+; known jump sources: 40477 (10:4477)
+Function40f4f: ; 40f4f (10:4f4f)
+ ld a, [$c7d8]
+ cp $2
+ jr nc, .asm_40f63
+ ld hl, $ffa9
+ ld a, [hl]
+ and $20
+ jr nz, .asm_40f65
+ ld a, [hl]
+ and $10
+ jr nz, .asm_40f84
+.asm_40f63
+ and a
+ ret
+.asm_40f65
+ ld a, [$c7d8]
+ and a
+ jr nz, .asm_40f76
+ ld hl, $c7d5
+ ld a, [hl]
+ cp $1
+ jr z, .asm_40f80
+ dec [hl]
+ jr .asm_40f82
+.asm_40f76
+ ld hl, $c7d6
+ ld a, [hl]
+ and a
+ jr z, .asm_40f80
+ dec [hl]
+ jr .asm_40f82
+.asm_40f80
+ ld [hl], $11
+.asm_40f82
+ scf
+ ret
+.asm_40f84
+ ld a, [$c7d8]
+ and a
+ jr nz, .asm_40f99
+ ld hl, $c7d5
+ ld a, [hl]
+ cp $11
+ jr nc, .asm_40f95
+ inc [hl]
+ jr .asm_40fa6
+.asm_40f95
+ ld [hl], $1
+ jr .asm_40fa6
+.asm_40f99
+ ld hl, $c7d6
+ ld a, [hl]
+ cp $11
+ jr nc, .asm_40fa4
+ inc [hl]
+ jr .asm_40fa6
+.asm_40fa4
+ ld [hl], $0
+.asm_40fa6
+ scf
+ ret
+
+; known jump sources: 40458 (10:4458), 4047a (10:447a)
+Function40fa8: ; 40fa8 (10:4fa8)
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ ld hl, $c4e5
+ ld bc, $408
+ ld a, $7f
+ call Function413fe
+ ld a, [$c7d5]
+ ld hl, $c4f9
+ call Function40fcd
+ ld a, [$c7d6]
+ ld hl, $c521
+ call Function40fcd
+ ld a, $1
+ ld [hBGMapMode], a ; $ff00+$d4
+ ret
+
+; known jump sources: 409d5 (10:49d5), 409e8 (10:49e8), 40fbc (10:4fbc), 40fc5 (10:4fc5)
+Function40fcd: ; 40fcd (10:4fcd)
+ push hl
+ ld e, a
+ ld d, $0
+ ld hl, $4fe4
+ add hl, de
+ add hl, de
+ add hl, de
+ add hl, de
+ add hl, de
+ add hl, de
+ add hl, de
+ add hl, de
+ add hl, de
+ ld e, l
+ ld d, h
+ pop hl
+ call PlaceString
+ ret
+; 40fe4 (10:4fe4)
+
+INCBIN "baserom.gbc",$40fe4,$41148 - $40fe4
+
+; known jump sources: 40190 (10:4190), 401c9 (10:41c9)
+Function41148: ; 41148 (10:5148)
+ ld a, [$c7d4]
+ cp $1
+ jp z, Function41157
+ call Function41229
+ call Function4130e
+ ret
+
+; known jump sources: 4114d (10:514d), 41286 (10:5286)
+Function41157: ; 41157 (10:5157)
+ ld hl, $5167
+ ld a, [$c7d1]
+ or a
+ jr nz, .asm_41163
+ ld hl, $51c8
+.asm_41163
+ call Function412f1
+ ret
+; 41167 (10:5167)
+
+INCBIN "baserom.gbc",$41167,$41229 - $41167
+
+; known jump sources: 41150 (10:5150)
+Function41229: ; 41229 (10:5229)
+ ld hl, $5230
+ call Function412f1
+ ret
+; 41230 (10:5230)
+
+INCBIN "baserom.gbc",$41230,$41281 - $41230
+
+; known jump sources: 40551 (10:4551), 40573 (10:4573)
+Function41281: ; 41281 (10:5281)
+ ld a, [$c7d4]
+ cp $1
+ jp z, Function41157
+ ld hl, $5290
+ call Function412f1
+ ret
+; 41290 (10:5290)
+
+INCBIN "baserom.gbc",$41290,$412f1 - $41290
+
+; known jump sources: 41163 (10:5163), 4122c (10:522c), 4128c (10:528c)
+Function412f1: ; 412f1 (10:52f1)
+ ld de, Sprites ; $c400
+.asm_412f4
+ ld a, [hl]
+ cp $ff
+ ret z
+ ld a, [$c7d1]
+ and $7
+ swap a
+ add [hl]
+ inc hl
+ ld [de], a
+ inc de
+ ld a, [hli]
+ ld [de], a
+ inc de
+ ld a, [hli]
+ ld [de], a
+ inc de
+ ld a, [hli]
+ ld [de], a
+ inc de
+ jr .asm_412f4
+
+; known jump sources: 41153 (10:5153)
+Function4130e: ; 4130e (10:530e)
+ push de
+ ld a, [$c7d2]
+ dec a
+ ld e, a
+ ld a, [$c7d1]
+ ld hl, $c7d0
+ add [hl]
+ cp e
+ jr z, .asm_4133f
+ ld hl, $0
+ ld bc, $79
+ call AddNTimes
+ ld e, l
+ ld d, h
+ ld b, $0
+ ld a, d
+ or e
+ jr z, .asm_41341
+ ld a, [$c7d2]
+ ld c, a
+.asm_41333
+ ld a, e
+ sub c
+ ld e, a
+ ld a, d
+ sbc $0
+ ld d, a
+ jr c, .asm_41341
+ inc b
+ jr .asm_41333
+.asm_4133f
+ ld b, $79
+.asm_41341
+ ld a, $14
+ add b
+ pop hl
+ ld [hli], a
+ ld a, $a1
+ ld [hli], a
+ ld a, $f
+ ld [hli], a
+ ld [hl], $0
+ ret
+
+; known jump sources: 4022a (10:422a), 402b7 (10:42b7), 403a6 (10:43a6), 4044c (10:444c)
+Function4134f: ; 4134f (10:534f)
+ xor a
+ ld [$c7d8], a
+ ld [$c7d9], a
+ ld [$c7da], a
+ ret
+
+; known jump sources: 4025b (10:425b), 403cc (10:43cc), 40474 (10:4474)
+Function4135a: ; 4135a (10:535a)
+ ld a, [de]
+ ld b, a
+ inc de
+ ld a, [de]
+ dec a
+ ld c, a
+ inc de
+ call Function413e0
+ ld hl, hJoyPressed ; $ffa7
+ ld a, [hl]
+ and $60
+ and b
+ jr nz, .asm_4138f
+ ld a, [hl]
+ and $90
+ and b
+ jr nz, .asm_413a0
+ ld a, [hl]
+ and $4
+ and b
+ jr nz, .asm_413c1
+ call Function413f5
+ jr c, .asm_413bf
+ ld hl, $ffa9
+ ld a, [hl]
+ and $60
+ and b
+ jr nz, .asm_4138f
+ ld a, [hl]
+ and $90
+ and b
+ jr nz, .asm_413a0
+ jr .asm_413bf
+.asm_4138f
+ ld a, [$c7d8]
+ and a
+ jr z, .asm_413bf
+ call Function413d4
+ ld [hl], $7f
+ ld hl, $c7d8
+ dec [hl]
+ jr .asm_413af
+.asm_413a0
+ ld a, [$c7d8]
+ cp c
+ jr nc, .asm_413bf
+ call Function413d4
+ ld [hl], $7f
+ ld hl, $c7d8
+ inc [hl]
+.asm_413af
+ call Function413d4
+ ld [hl], $ed
+ ld a, $c
+ ld [$c7d9], a
+ xor a
+ ld [$c7da], a
+ scf
+ ret
+.asm_413bf
+ and a
+ ret
+.asm_413c1
+ call Function413d4
+ ld [hl], $7f
+ ld a, [$c7d8]
+ cp c
+ jr c, .asm_413ce
+ ld a, $ff
+.asm_413ce
+ inc a
+ ld [$c7d8], a
+ jr .asm_413af
+
+; known jump sources: 41395 (10:5395), 413a6 (10:53a6), 413af (10:53af), 413c1 (10:53c1), 413e9 (10:53e9), 413ef (10:53ef)
+Function413d4: ; 413d4 (10:53d4)
+ ld a, [$c7d8]
+ add a
+ ld l, a
+ ld h, $0
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ret
+
+; known jump sources: 41361 (10:5361)
+Function413e0: ; 413e0 (10:53e0)
+ ld hl, $c7da
+ ld a, [hl]
+ inc [hl]
+ and $8
+ jr z, .asm_413ef
+ call Function413d4
+ ld [hl], $7f
+ ret
+.asm_413ef
+ call Function413d4
+ ld [hl], $ed
+ ret
+
+; known jump sources: 41379 (10:5379)
+Function413f5: ; 413f5 (10:53f5)
+ ld hl, $c7d9
+ ld a, [hl]
+ and a
+ ret z
+ dec [hl]
+ scf
+ ret
+
+; known jump sources: 40b27 (10:4b27), 40fb3 (10:4fb3)
+Function413fe: ; 413fe (10:53fe)
+ jp Functionfb8
+
+; known jump sources: 401eb (10:41eb), 401fe (10:41fe), 402aa (10:42aa), 403ea (10:43ea), 40431 (10:4431), 4043a (10:443a), 40495 (10:4495), 405a7 (10:45a7), 405eb (10:45eb)
+Function41401: ; 41401 (10:5401)
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $5
+ ld [rSVBK], a ; $ff00+$70
+ ld hl, Unkn1Pals ; $d000
+ ld bc, $40
+ xor a
+ call ByteFill
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ ld a, $ff
+ call DmgToCgbBGPals
+ ld a, $ff
+ call Functioncf8
+ call DelayFrame
+ ret
+
Function41423: ; 41423
ld b, a
call GetSGBLayout
@@ -46813,8 +54189,11 @@
ret
; 41478
-INCBIN "baserom.gbc", $41478, $4147b - $41478
+; known jump sources: 40224 (10:4224), 402ba (10:42ba)
+Function41478: ; 41478 (10:5478)
+ call Function40bb1
+
Function4147b: ; 4147b
ld a, [$d265]
dec a
@@ -46899,7 +54278,7 @@
ret
; 4150e
-INCBIN "baserom.gbc", $4150e, $41a24 - $4150e
+INCBIN "baserom.gbc",$4150e,$41a24 - $4150e
Function41a24: ; 41a24
@@ -46930,8 +54309,28 @@
ret
; 41a58
-INCBIN "baserom.gbc", $41a58, $41a7f - $41a58
+; known jump sources: 405c7 (10:45c7), 4063d (10:463d)
+Function41a58: ; 41a58 (10:5a58)
+ ld a, [UnownLetter] ; $d234
+ push af
+ ld a, [$c7dd]
+ ld e, a
+ ld d, $0
+ ld hl, EndPokedexSeen ; $ded9 (aliases: UnownDex)
+ add hl, de
+ ld a, [hl]
+ ld [UnownLetter], a ; $d234
+ ld a, $c9
+ ld [CurPartySpecies], a ; $d108
+ call GetBaseData
+ ld de, $9000
+ ld a, $3c
+ call Predef
+ pop af
+ ld [UnownLetter], a ; $d234
+ ret
+
Function41a7f: ; 41a7f
xor a
ld [hBGMapMode], a
@@ -46966,9 +54365,34 @@
ret
; 41ad7
-INCBIN "baserom.gbc", $41ad7, $41af7 - $41ad7
+; known jump sources: 401d2 (10:41d2), 4052e (10:452e), 4057c (10:457c), 41af3 (10:5af3)
+Function41ad7: ; 41ad7 (10:5ad7)
+ ld a, $3
+ ld [hBGMapMode], a ; $ff00+$d4
+ ld c, $4
+ call DelayFrames
+ ret
+; known jump sources: 40517 (10:4517), 41af0 (10:5af0)
+Function41ae1: ; 41ae1 (10:5ae1)
+ ld a, $4
+ ld [hBGMapMode], a ; $ff00+$d4
+ ld c, $4
+ call DelayFrames
+ ret
+
+; known jump sources: 40163 (10:4163)
+Function41aeb: ; 41aeb (10:5aeb)
+ ld a, [hCGB] ; $ff00+$e6
+ and a
+ jr z, .asm_41af3
+ call Function41ae1
+.asm_41af3
+ call Function41ad7
+ ret
+
+
Function41af7: ; 41af7
xor a
ld [hBGMapMode], a
@@ -47265,7 +54689,7 @@
jp $6230
; 423fe
-INCBIN "baserom.gbc", $423fe, $423ff - $423fe
+INCBIN "baserom.gbc",$423fe,$423ff - $423fe
Function423ff: ; 423ff
@@ -47336,7 +54760,7 @@
ret
; 42473
-INCBIN "baserom.gbc", $42473, $42487 - $42473
+INCBIN "baserom.gbc",$42473,$42487 - $42473
Function42487: ; 42487
@@ -47833,7 +55257,7 @@
ret
; 441fc
-INCBIN "baserom.gbc", $441fc, $44207 - $441fc
+INCBIN "baserom.gbc",$441fc,$44207 - $441fc
Function44207: ; 44207
@@ -47863,7 +55287,7 @@
jr .asm_44210
; 44228
-INCBIN "baserom.gbc", $44228, $4424d - $44228
+INCBIN "baserom.gbc",$44228,$4424d - $44228
Function4424d: ; 4424d
call GetPokemonName
@@ -47993,7 +55417,7 @@
ret
; 44331
-INCBIN "baserom.gbc", $44331, $44333 - $44331
+INCBIN "baserom.gbc",$44331,$44333 - $44331
Function44333: ; 44333
push hl
@@ -48021,7 +55445,7 @@
ret
; 44351
-INCBIN "baserom.gbc", $44351, $44378 - $44351
+INCBIN "baserom.gbc",$44351,$44378 - $44351
PokedexDataPointerTable: ; 0x44378
@@ -48071,7 +55495,7 @@
ret
; 445c0
-INCBIN "baserom.gbc", $445c0, $44648 - $445c0
+INCBIN "baserom.gbc",$445c0,$44648 - $445c0
Function44648: ; 44648
@@ -48218,8 +55642,38 @@
jp CloseSRAM
; 44745
-INCBIN "baserom.gbc", $44745, $447a0 - $44745
+; no known jump sources
+Function44745: ; 44745 (11:4745)
+ ld a, $0
+ call GetSRAMBank
+ ld hl, $a71a
+ ld de, $a600
+ ld bc, $11a
+ call CopyBytes
+ ld hl, $aa0b
+ ld de, $a834
+ ld bc, $1d7
+ call CopyBytes
+ jp CloseSRAM
+
+; no known jump sources
+Function44765: ; 44765 (11:4765)
+ ld a, $0
+ call GetSRAMBank
+ xor a
+ ld hl, $a600
+ ld bc, $11a
+ call ByteFill
+ xor a
+ ld hl, $a834
+ ld bc, $1d7
+ call ByteFill
+ jp CloseSRAM
+; 44781 (11:4781)
+
+INCBIN "baserom.gbc",$44781,$447a0 - $44781
+
_KrisMailBoxMenu: ; 0x447a0
call InitMail
jr z, .nomail
@@ -48519,8 +55973,1420 @@
ret
; 4802f
-INCBIN "baserom.gbc", $4802f, $48c63 - $4802f
+; known jump sources: 4a0e8 (12:60e8)
+Function4802f: ; 4802f (12:402f)
+ xor a
+ set 6, a
+ ld [DefaultFlypoint], a ; $d002
+ ld hl, $d003
+ set 0, [hl]
+ ld a, c
+ and a
+ call z, Function48000
+ call WhiteBGMap
+ call Function48d3d
+ ld a, [$d479]
+ bit 1, a
+ jr z, .asm_4805a
+ ld a, [$d003]
+ set 0, a
+ set 1, a
+ set 2, a
+ set 3, a
+ ld [$d003], a
+.asm_4805a
+ call Function486bf
+ call Functione5f
+ ld de, $48c3
+ ld hl, $9100
+ ld bc, $1201
+ call Request1bpp
+ ld de, $48cb
+ ld hl, $9110
+ ld bc, $1201
+ call Request1bpp
+ call Function4a3a7
+ call WhiteBGMap
+ ld a, [DefaultFlypoint] ; $d002
+ bit 6, a
+ jr z, .asm_4808a
+ call Function48689
+ jr .asm_480d7
+.asm_4808a
+ ld a, $5
+ ld [MusicFade], a ; $c2a7
+ ld a, $5e
+ ld [MusicFadeIDLo], a ; $c2a9
+ ld a, $0
+ ld [MusicFadeIDHi], a ; $c2aa
+ ld c, $14
+ call DelayFrames
+ ld b, $1
+ call Function4930f
+ call WhiteBGMap
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld b, $2
+ ld c, $14
+ call ClearBox
+ ld hl, $c4b4
+ ld a, $c
+ ld [hl], a
+ ld bc, $13
+ add hl, bc
+ ld [hl], a
+ ld de, $4471
+ ld hl, $c4b5
+ call PlaceString
+ ld hl, $c4c8
+ ld b, $a
+ ld c, $12
+ call Function48cdc
+ ld hl, $c4f2
+ ld de, $4482
+ call PlaceString
+.asm_480d7
+ ld hl, $c51a
+ ld de, $4489
+ call PlaceString
+ ld hl, $c542
+ ld de, $448d
+ call PlaceString
+ ld hl, $c56a
+ ld de, $4495
+ call PlaceString
+ ld hl, $c592
+ ld de, $449e
+ call PlaceString
+ ld a, [DefaultFlypoint] ; $d002
+ bit 6, a
+ jr nz, .asm_48113
+ ld a, [PlayerGender] ; $d472
+ ld hl, $44fb
+ call GetNthString
+ ld d, h
+ ld e, l
+ ld hl, $c4fb
+ call PlaceString
+.asm_48113
+ ld hl, $c523
+ call Function487ec
+ ld a, [$d474]
+ dec a
+ ld hl, $455b
+ call GetNthString
+ ld d, h
+ ld e, l
+ ld hl, $c54b
+ call PlaceString
+ ld hl, $c573
+ call Function489ea
+ ld hl, $c5b8
+ ld b, $2
+ ld c, $12
+ call TextBox
+ ld hl, $c5e1
+ ld de, $4275
+ call PlaceString
+ call Function48187
+ call Function3200
+ call Function32f9
+ call Function1bc9
+ ld hl, $cfa9
+ ld b, [hl]
+ push bc
+ jr asm_4815f
+
+; known jump sources: 48434 (12:4434), 48441 (12:4441)
+Function48157: ; 48157 (12:4157)
+ call Function1bd3
+ ld hl, $cfa9
+ ld b, [hl]
+ push bc
+
+; known jump sources: 48155 (12:4155)
+asm_4815f: ; 4815f (12:415f)
+ bit 0, a
+ jp nz, Function4820d
+ ld b, a
+ ld a, [DefaultFlypoint] ; $d002
+ bit 6, a
+ jr z, .asm_48177
+ ld hl, $d479
+ bit 1, [hl]
+ jr z, .asm_48177
+ bit 1, b
+ jr nz, .asm_4817a
+.asm_48177
+ jp Function48272
+.asm_4817a
+ call WhiteBGMap
+ call Function48d30
+ pop bc
+ call ClearTileMap
+ ld a, $ff
+ ret
+
+; known jump sources: 48144 (12:4144), 48377 (12:4377), 4840c (12:440c)
+Function48187: ; 48187 (12:4187)
+ ld a, [$d479]
+ bit 1, a
+ jr nz, .asm_481f1
+ ld a, [$d003]
+ ld d, a
+ call Function48725
+ jr c, .asm_481a2
+ ld bc, $104
+ ld hl, $c592
+ call ClearBox
+ jr .asm_481ad
+.asm_481a2
+ push de
+ ld hl, $c592
+ ld de, $449e
+ call PlaceString
+ pop de
+.asm_481ad
+ ld a, [DefaultFlypoint] ; $d002
+ bit 6, a
+ jr nz, .asm_481c1
+ bit 0, d
+ jr nz, .asm_481c1
+ ld bc, $108
+ ld hl, $c4fb
+ call ClearBox
+.asm_481c1
+ bit 1, d
+ jr nz, .asm_481ce
+ ld bc, $108
+ ld hl, $c523
+ call ClearBox
+.asm_481ce
+ bit 2, d
+ jr nz, .asm_481db
+ ld bc, $208
+ ld hl, $c537
+ call ClearBox
+.asm_481db
+ bit 3, d
+ jr nz, .asm_481f1
+ ld a, [$d479]
+ bit 0, a
+ jr nz, .asm_481f8
+ ld bc, $108
+ ld hl, $c573
+ call ClearBox
+ jr .asm_48201
+.asm_481f1
+ ld a, [$d479]
+ bit 0, a
+ jr nz, .asm_48201
+.asm_481f8
+ ld hl, $c573
+ ld de, $4202
+ call PlaceString
+.asm_48201
+ ret
+; 48202 (12:4202)
+
+INCBIN "baserom.gbc",$48202,$4820d - $48202
+
+; known jump sources: 48161 (12:4161)
+Function4820d: ; 4820d (12:420d)
+ call Function1bee
+ ld hl, $cfa9
+ ld a, [hl]
+ push af
+ ld a, [DefaultFlypoint] ; $d002
+ bit 6, a
+ jr z, .asm_4821f
+ pop af
+ inc a
+ push af
+.asm_4821f
+ pop af
+ cp $1
+ jr z, asm_4828d
+ cp $2
+ jp z, Function4876f
+ cp $3
+ jp z, Function48304
+ cp $4
+ jp z, Function488d3
+ ld a, $2
+ call Function1ff8
+ ld a, [DefaultFlypoint] ; $d002
+ bit 6, a
+ jr z, .asm_4825c
+ jr .asm_4825c
+; 48241 (12:4241)
+
+INCBIN "baserom.gbc",$48241,$4825c - $48241
+.asm_4825c
+ call WhiteBGMap
+ call Function48d30
+ pop bc
+ call ClearTileMap
+ ld b, $8
+ call GetSGBLayout
+ ld hl, $d479
+ set 1, [hl]
+ xor a
+ ret
+
+; known jump sources: 48177 (12:4177)
+Function48272: ; 48272 (12:4272)
+ jp Function4840c
+; 48275 (12:4275)
+
+INCBIN "baserom.gbc",$48275,$48283 - $48275
+
+; known jump sources: 4828d (12:428d), 48304 (12:4304), 4840f (12:440f), 4876f (12:476f), 488d3 (12:48d3)
+Function48283: ; 48283 (12:4283)
+ ld bc, $212
+ ld hl, $c5cd
+ call ClearBox
+ ret
+
+; known jump sources: 48222 (12:4222)
+asm_4828d: ; 4828d (12:428d)
+ call Function48283
+ ld hl, $c5e1
+ ld de, $44b1
+ call PlaceString
+ ld hl, $44f1
+ call LoadMenuDataHeader
+ call Function4873c
+ ld hl, $c4d3
+ ld b, $4
+ ld c, $7
+ call Function48cdc
+ ld hl, $c4fd
+ ld de, $44fb
+ call PlaceString
+ ld hl, $c525
+ ld de, $44ff
+ call PlaceString
+ call WaitBGMap
+ ld a, [PlayerGender] ; $d472
+ inc a
+ ld [$cf88], a
+ call Function1bc9
+ call PlayClickSFX
+ call Function1c07
+ bit 0, a
+ jp z, Function4840c
+ ld hl, $cfa9
+ ld a, [hl]
+ ld hl, $44fb
+ cp $1
+ jr z, .asm_482ed
+.asm_482e1
+ ld a, [hli]
+ cp $50
+ jr nz, .asm_482e1
+ ld a, $1
+ ld [PlayerGender], a ; $d472
+ jr .asm_482f1
+.asm_482ed
+ xor a
+ ld [PlayerGender], a ; $d472
+.asm_482f1
+ ld d, h
+ ld e, l
+ ld hl, $c4fb
+ call PlaceString
+ ld a, [$d003]
+ set 0, a
+ ld [$d003], a
+ jp Function4840c
+
+; known jump sources: 4822b (12:422b)
+Function48304: ; 48304 (12:4304)
+ call Function48283
+ ld hl, $c5e1
+ ld de, $44cf
+ call PlaceString
+ ld hl, $4504
+ call LoadMenuDataHeader
+ ld hl, $4513
+ call LoadMenuDataHeader
+ ld hl, $c4aa
+ ld b, $c
+ ld c, $8
+ call Function48cdc
+ ld a, [$cf88]
+ ld b, a
+ ld a, [$d0e4]
+ ld c, a
+ push bc
+ ld a, [$d474]
+ dec a
+ cp $29
+ jr c, .asm_4833f
+ sub $29
+ inc a
+ ld [$cf88], a
+ ld a, $29
+.asm_4833f
+ ld [$d0e4], a
+ ld a, BANK(Function104148)
+ ld hl, Function104148
+ rst $8 ; ; indirect jump to Function104148 (104148 (41:4148))
+.asm_48348
+ call Function350c
+ ld de, $629
+ call Function48383
+ jr c, .asm_48348
+ ld d, a
+ pop bc
+ ld a, b
+ ld [$cf88], a
+ ld a, c
+ ld [$d0e4], a
+ ld a, d
+ push af
+ call Function1c07
+ call Function1c07
+ pop af
+ ld a, [hJoyPressed] ; $ff00+$a7
+ bit 0, a
+ jr z, .asm_48377
+ call Function483bb
+ ld a, [$d003]
+ set 2, a
+ ld [$d003], a
+.asm_48377
+ call Function48187
+ ld a, BANK(Function104148)
+ ld hl, Function104148
+ rst $8 ; ; indirect jump to Function104148 (104148 (41:4148))
+ jp Function4840c
+
+; known jump sources: 4834e (12:434e)
+Function48383: ; 48383 (12:4383)
+ push bc
+ push af
+ bit 5, a
+ jr nz, .asm_48390
+ bit 4, a
+ jr nz, .asm_4839f
+ and a
+ jr .asm_483b7
+.asm_48390
+ ld a, [$d0e4]
+ sub d
+ ld [$d0e4], a
+ jr nc, .asm_483af
+ xor a
+ ld [$d0e4], a
+ jr .asm_483af
+.asm_4839f
+ ld a, [$d0e4]
+ add d
+ ld [$d0e4], a
+ cp e
+ jr c, .asm_483af
+ ld a, e
+ ld [$d0e4], a
+ jr .asm_483af
+.asm_483af
+ ld hl, $cfa9
+ ld a, [hl]
+ ld [$cf88], a
+ scf
+.asm_483b7
+ pop bc
+ ld a, b
+ pop bc
+ ret
+
+; known jump sources: 4836c (12:436c)
+Function483bb: ; 483bb (12:43bb)
+ ld hl, $cf77
+ ld a, [hl]
+ inc a
+ ld [$d474], a
+ dec a
+ ld b, a
+ ld hl, $455b
+.asm_483c8
+ and a
+ jr z, .asm_483d5
+.asm_483cb
+ ld a, [hli]
+ cp $50
+ jr nz, .asm_483cb
+ ld a, b
+ dec a
+ ld b, a
+ jr .asm_483c8
+.asm_483d5
+ ld d, h
+ ld e, l
+ ld b, $2
+ ld c, $8
+ ld hl, $c537
+ call ClearBox
+ ld hl, $c54b
+ call PlaceString
+ ret
+; 483e8 (12:43e8)
+
+INCBIN "baserom.gbc",$483e8,$4840c - $483e8
+
+; known jump sources: 48272 (12:4272), 482d3 (12:42d3), 48301 (12:4301), 48380 (12:4380), 487e9 (12:47e9), 488e2 (12:48e2), 489e7 (12:49e7)
+Function4840c: ; 4840c (12:440c)
+ call Function48187
+ call Function48283
+ ld hl, $c5e1
+ ld de, $4275
+ call PlaceString
+ call Function486bf
+ pop bc
+ ld hl, $cfa9
+ ld [hl], b
+ ld a, [DefaultFlypoint] ; $d002
+ bit 6, a
+ jr nz, .asm_48437
+ ld b, $9
+ ld c, $1
+ ld hl, $c4f1
+ call ClearBox
+ jp Function48157
+.asm_48437
+ ld b, $7
+ ld c, $1
+ ld hl, $c519
+ call ClearBox
+ jp Function48157
+
+; known jump sources: 489f0 (12:49f0), 489fb (12:49fb), 48a04 (12:4a04), 48a16 (12:4a16), 48a1f (12:4a1f), 48a2a (12:4a2a), 48a33 (12:4a33)
+Function48444: ; 48444 (12:4444)
+ push bc
+ push af
+ push de
+ push hl
+ ld hl, $445d
+.asm_4844b
+ and a
+ jr z, .asm_48453
+ inc hl
+ inc hl
+ dec a
+ jr .asm_4844b
+.asm_48453
+ ld d, h
+ ld e, l
+ pop hl
+ call PlaceString
+ pop de
+ pop af
+ pop bc
+ ret
+; 4845d (12:445d)
+
+INCBIN "baserom.gbc",$4845d,$48689 - $4845d
+
+; known jump sources: 48085 (12:4085)
+Function48689: ; 48689 (12:4689)
+ ld c, $7
+ call DelayFrames
+ ld b, $1
+ call Function4930f
+ call WhiteBGMap
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld b, $4
+ ld c, $14
+ call ClearBox
+ ld hl, $c4c8
+ ld a, $c
+ ld [hl], a
+ ld bc, $13
+ add hl, bc
+ ld [hl], a
+ ld de, $4471
+ ld hl, $c4c9
+ call PlaceString
+ ld hl, $c4f0
+ ld b, $8
+ ld c, $12
+ call Function48cdc
+ ret
+
+; known jump sources: 4805a (12:405a), 4841b (12:441b)
+Function486bf: ; 486bf (12:46bf)
+ ld hl, $cfa1
+ ld a, [DefaultFlypoint] ; $d002
+ bit 6, a
+ jr nz, .asm_486ce
+ ld a, $4
+ ld [hli], a
+ jr .asm_486d1
+.asm_486ce
+ ld a, $6
+ ld [hli], a
+.asm_486d1
+ ld a, $1
+ ld [hli], a
+ ld a, [DefaultFlypoint] ; $d002
+ bit 6, a
+ jr nz, .asm_486e7
+ call Function48725
+ ld a, $4
+ jr nc, .asm_486e4
+ ld a, $5
+.asm_486e4
+ ld [hli], a
+ jr .asm_486fb
+.asm_486e7
+ ld a, [$d479]
+ bit 1, a
+ jr nz, .asm_486f8
+ call Function48725
+ jr c, .asm_486f8
+ ld a, $3
+ ld [hli], a
+ jr .asm_486fb
+.asm_486f8
+ ld a, $4
+ ld [hli], a
+.asm_486fb
+ ld a, $1
+ ld [hli], a
+ ld [hl], $0
+ set 5, [hl]
+ inc hl
+ xor a
+ ld [hli], a
+ ld a, $20
+ ld [hli], a
+ ld a, $1
+ add $40
+ add $80
+ push af
+ ld a, [DefaultFlypoint] ; $d002
+ bit 6, a
+ jr z, .asm_4871a
+ pop af
+ add $2
+ push af
+.asm_4871a
+ pop af
+ ld [hli], a
+ ld a, $1
+ ld [hli], a
+ ld [hli], a
+ xor a
+ ld [hli], a
+ ld [hli], a
+ ld [hli], a
+ ret
+
+; known jump sources: 48192 (12:4192), 486db (12:46db), 486ee (12:46ee)
+Function48725: ; 48725 (12:4725)
+ ld a, [$d003]
+ bit 0, a
+ jr z, .asm_4873a
+ bit 1, a
+ jr z, .asm_4873a
+ bit 2, a
+ jr z, .asm_4873a
+ bit 3, a
+ jr z, .asm_4873a
+ scf
+ ret
+.asm_4873a
+ and a
+ ret
+
+; known jump sources: 4829f (12:429f), 48a40 (12:4a40)
+Function4873c: ; 4873c (12:473c)
+ ld hl, $cfa1
+ ld a, $4
+ ld [hli], a
+ ld a, $c
+ ld [hli], a
+ ld a, $2
+ ld [hli], a
+ ld a, $1
+ ld [hli], a
+ ld [hl], $0
+ set 5, [hl]
+ inc hl
+ xor a
+ ld [hli], a
+ ld a, $20
+ ld [hli], a
+ ld a, $1
+ add $2
+ ld [hli], a
+ ld a, [PlayerGender] ; $d472
+ and a
+ jr z, .asm_48764
+ ld a, $2
+ jr .asm_48766
+.asm_48764
+ ld a, $1
+.asm_48766
+ ld [hli], a
+ ld a, $1
+ ld [hli], a
+ xor a
+ ld [hli], a
+ ld [hli], a
+ ld [hli], a
+ ret
+
+; known jump sources: 48226 (12:4226)
+Function4876f: ; 4876f (12:476f)
+ call Function48283
+ ld hl, $c5e1
+ ld de, $44be
+ call PlaceString
+ ld hl, $4509
+ call LoadMenuDataHeader
+ ld a, [$FF00+$aa]
+ push af
+ ld a, $1
+ ld [$FF00+$aa], a
+ ld hl, $c50e
+ ld b, $1
+ ld c, $8
+ call Function48cdc
+ call WaitBGMap
+ ld a, [$d473]
+ and a
+ jr z, .asm_487ab
+ cp $64
+ jr z, .asm_487b2
+ ld hl, $c510
+ ld [hl], $10
+ ld hl, $c538
+ ld [hl], $11
+ jr .asm_487b7
+.asm_487ab
+ ld hl, $c510
+ ld [hl], $10
+ jr .asm_487b7
+.asm_487b2
+ ld hl, $c538
+ ld [hl], $11
+.asm_487b7
+ ld hl, $c523
+ call Function487ec
+ ld c, $a
+ call DelayFrames
+ ld a, [$d473]
+ push af
+.asm_487c6
+ call Functiona57
+ call Function4880e
+ jr nc, .asm_487c6
+ ld a, $1
+ call Function1ff8
+ pop bc
+ jr nz, .asm_487da
+ ld a, b
+ ld [$d473], a
+.asm_487da
+ ld a, [$d473]
+ call Function1c07
+ ld hl, $c523
+ call Function487ec
+ pop af
+ ld [$FF00+$aa], a
+ jp Function4840c
+
+; known jump sources: 48116 (12:4116), 487ba (12:47ba), 487e3 (12:47e3), 488aa (12:48aa)
+Function487ec: ; 487ec (12:47ec)
+ push hl
+ ld de, $d473
+ call Function487ff
+ pop hl
+ inc hl
+ inc hl
+ inc hl
+ inc hl
+ ld de, $480d
+ call PlaceString
+ ret
+
+; known jump sources: 487f0 (12:47f0)
+Function487ff: ; 487ff (12:47ff)
+ push hl
+ ld a, $7f
+ ld [hli], a
+ ld [hl], a
+ pop hl
+ ld b, $81
+ ld c, $3
+ call PrintNum
+ ret
+; 4880d (12:480d)
+
+INCBIN "baserom.gbc",$4880d,$4880e - $4880d
+
+; known jump sources: 487c9 (12:47c9)
+Function4880e: ; 4880e (12:480e)
+ ld a, [hJoyPressed] ; $ff00+$a7
+ and $1
+ jp nz, Function488b9
+ ld a, [hJoyPressed] ; $ff00+$a7
+ and $2
+ jp nz, Function488b4
+ ld hl, $ffa9
+ ld a, [hl]
+ and $40
+ jr nz, .asm_48843
+ ld a, [hl]
+ and $80
+ jr nz, .asm_48838
+ ld a, [hl]
+ and $20
+ jr nz, .asm_4884f
+ ld a, [hl]
+ and $10
+ jr nz, .asm_4885f
+ call DelayFrame
+ and a
+ ret
+.asm_48838
+ ld hl, $d473
+ ld a, [hl]
+ and a
+ jr z, .asm_48840
+ dec a
+.asm_48840
+ ld [hl], a
+ jr .asm_4886f
+.asm_48843
+ ld hl, $d473
+ ld a, [hl]
+ cp $64
+ jr nc, .asm_4884c
+ inc a
+.asm_4884c
+ ld [hl], a
+ jr .asm_4886f
+.asm_4884f
+ ld a, [$d473]
+ cp $5b
+ jr c, .asm_48858
+ ld a, $5a
+.asm_48858
+ add $a
+ ld [$d473], a
+ jr .asm_4886f
+.asm_4885f
+ ld a, [$d473]
+ cp $a
+ jr nc, .asm_48868
+ ld a, $a
+.asm_48868
+ sub $a
+ ld [$d473], a
+ jr .asm_4886f
+.asm_4886f
+ ld a, [$d473]
+ and a
+ jr z, .asm_48887
+ cp $64
+ jr z, .asm_48898
+ jr z, .asm_488a7
+ ld hl, $c510
+ ld [hl], $10
+ ld hl, $c538
+ ld [hl], $11
+ jr .asm_488a7
+.asm_48887
+ ld hl, $c50e
+ ld b, $1
+ ld c, $8
+ call Function48cdc
+ ld hl, $c510
+ ld [hl], $10
+ jr .asm_488a7
+.asm_48898
+ ld hl, $c50e
+ ld b, $1
+ ld c, $8
+ call Function48cdc
+ ld hl, $c538
+ ld [hl], $11
+.asm_488a7
+ ld hl, $c523
+ call Function487ec
+ call WaitBGMap
+ ld a, $1
+ and a
+ ret
+
+; known jump sources: 48819 (12:4819)
+Function488b4: ; 488b4 (12:48b4)
+ ld a, $0
+ and a
+ scf
+ ret
+
+; known jump sources: 48812 (12:4812)
+Function488b9: ; 488b9 (12:48b9)
+ ld a, [$d003]
+ set 1, a
+ ld [$d003], a
+ scf
+ ret
+; 488c3 (12:48c3)
+
+INCBIN "baserom.gbc",$488c3,$488d3 - $488c3
+
+; known jump sources: 48230 (12:4230)
+Function488d3: ; 488d3 (12:48d3)
+ call Function48283
+ ld hl, $c5e1
+ ld de, $44e2
+ call PlaceString
+ call Function48a3a
+ jp c, Function4840c
+ ld hl, $450e
+ call LoadMenuDataHeader
+ ld a, [$FF00+$aa]
+ push af
+ ld a, $1
+ ld [$FF00+$aa], a
+ ld hl, $c55e
+ ld b, $1
+ ld c, $8
+ call Function48cdc
+ ld a, [$d475]
+ and $f
+ ld d, $0
+ ld hl, $c573
+ call Function489ea
+ call WaitBGMap
+ ld a, [$d475]
+ ld b, a
+ ld a, [$d476]
+ ld c, a
+ ld a, [$d477]
+ ld d, a
+ ld a, [$d478]
+ ld e, a
+ push de
+ push bc
+ ld d, $0
+ ld b, $0
+
+; known jump sources: 48999 (12:4999)
+asm_48922: ; 48922 (12:4922)
+ push bc
+ call Functiona57
+ ld a, [hJoyDown] ; $ff00+$a8
+ and a
+ jp z, Function4896e
+ bit 0, a
+ jp nz, Function4896e
+ bit 1, a
+ jp nz, Function4896e
+ ld a, [DefaultFlypoint] ; $d002
+ and $cf
+ res 7, a
+ ld [DefaultFlypoint], a ; $d002
+ pop bc
+ inc b
+ ld a, b
+ cp $5
+ push bc
+ jr c, .asm_4894c
+ pop bc
+ ld b, $4
+ push bc
+.asm_4894c
+ pop bc
+ push bc
+ ld a, b
+ cp $4
+ jr nz, asm_48972
+ ld c, $a
+ call DelayFrames
+ jr asm_48972
+; 4895a (12:495a)
+
+INCBIN "baserom.gbc",$4895a,$4896e - $4895a
+
+; known jump sources: 48929 (12:4929), 4892e (12:492e), 48933 (12:4933)
+Function4896e: ; 4896e (12:496e)
+ pop bc
+ ld b, $0
+ push bc
+
+; known jump sources: 48951 (12:4951), 48958 (12:4958)
+asm_48972: ; 48972 (12:4972)
+ call Function48ab5
+ push af
+ cp $f0
+ jr z, .asm_48994
+ cp $f
+ jr nz, .asm_48988
+ ld a, [DefaultFlypoint] ; $d002
+ set 7, a
+ and $cf
+ ld [DefaultFlypoint], a ; $d002
+.asm_48988
+ ld hl, $c573
+ ld b, $0
+ ld c, d
+ add hl, bc
+ ld b, $3
+ call Function48c11
+.asm_48994
+ call WaitBGMap
+ pop af
+ pop bc
+ jr nc, asm_48922
+ jr nz, .asm_489b1
+ pop bc
+ ld a, b
+ ld [$d475], a
+ ld a, c
+ ld [$d476], a
+ pop bc
+ ld a, b
+ ld [$d477], a
+ ld a, c
+ ld [$d478], a
+ jr .asm_489c5
+.asm_489b1
+ push af
+ ld a, [$d479]
+ set 0, a
+ ld [$d479], a
+ ld a, [$d003]
+ set 3, a
+ ld [$d003], a
+ pop af
+ pop bc
+ pop bc
+.asm_489c5
+ push af
+ push bc
+ push de
+ push hl
+ ld a, $1
+ call Function1ff8
+ pop hl
+ pop de
+ pop bc
+ pop af
+ call Function1c07
+ ld hl, $c573
+ call Function489ea
+ ld hl, $c55f
+ ld bc, $108
+ call ClearBox
+ pop af
+ ld [$FF00+$aa], a
+ jp Function4840c
+
+; known jump sources: 4812e (12:412e), 48906 (12:4906), 489d8 (12:49d8), 48b47 (12:4b47), 48c04 (12:4c04)
+Function489ea: ; 489ea (12:49ea)
+ push de
+ ld a, [$d475]
+ and $f
+ call Function48444
+ ld a, [$d476]
+ and $f0
+ swap a
+ inc hl
+ call Function48444
+ ld a, [$d476]
+ and $f
+ inc hl
+ call Function48444
+ inc hl
+ ld de, $4a38
+ call PlaceString
+ ld a, [$d477]
+ and $f0
+ swap a
+ inc hl
+ call Function48444
+ ld a, [$d477]
+ and $f
+ inc hl
+ call Function48444
+ ld a, [$d478]
+ and $f0
+ swap a
+ inc hl
+ call Function48444
+ ld a, [$d478]
+ and $f
+ inc hl
+ call Function48444
+ pop de
+ ret
+; 48a38 (12:4a38)
+
+INCBIN "baserom.gbc",$48a38,$48a3a - $48a38
+
+; known jump sources: 488df (12:48df)
+Function48a3a: ; 48a3a (12:4a3a)
+ ld hl, $4a9c
+ call LoadMenuDataHeader
+ call Function4873c
+ ld a, $a
+ ld [$cfa1], a
+ ld a, $b
+ ld [$cfa2], a
+ ld a, $1
+ ld [$cfa9], a
+ ld hl, $c54a
+ ld b, $4
+ ld c, $8
+ call Function48cdc
+ ld hl, $c574
+ ld de, $4aa1
+ call PlaceString
+ call Function1bc9
+ push af
+ call PlayClickSFX
+ call Function1c07
+ pop af
+ bit 1, a
+ jp nz, Function48a9a
+ ld a, [$cfa9]
+ cp $1
+ jr z, .asm_48a98
+ ld a, [$d003]
+ set 3, a
+ ld [$d003], a
+ ld a, [$d479]
+ res 0, a
+ ld [$d479], a
+ xor a
+ ld bc, $4
+ ld hl, $d475
+ call ByteFill
+ jr Function48a9a
+.asm_48a98
+ and a
+ ret
+
+; known jump sources: 48a72 (12:4a72), 48a96 (12:4a96)
+Function48a9a: ; 48a9a (12:4a9a)
+ scf
+ ret
+; 48a9c (12:4a9c)
+
+INCBIN "baserom.gbc",$48a9c,$48ab5 - $48a9c
+
+; known jump sources: 48972 (12:4972)
+Function48ab5: ; 48ab5 (12:4ab5)
+ ld a, [hJoyPressed] ; $ff00+$a7
+ and $1
+ jp nz, Function48c0f
+ ld a, [hJoyPressed] ; $ff00+$a7
+ and $2
+ jp nz, Function48c0d
+ ld a, d
+ and a
+ jr z, .asm_48adf
+ cp $1
+ jr z, .asm_48ae7
+ cp $2
+ jr z, .asm_48af1
+ cp $3
+ jr z, .asm_48af9
+ cp $4
+ jr z, .asm_48b03
+ cp $5
+ jr z, .asm_48b0b
+ cp $6
+ jr .asm_48b15
+.asm_48adf
+ ld hl, $d475
+ ld a, [hl]
+ and $f
+ jr .asm_48b1d
+.asm_48ae7
+ ld hl, $d476
+ ld a, [hl]
+ swap a
+ or $f0
+ jr .asm_48b1d
+.asm_48af1
+ ld hl, $d476
+ ld a, [hl]
+ and $f
+ jr .asm_48b1d
+.asm_48af9
+ ld hl, $d477
+ ld a, [hl]
+ swap a
+ or $f0
+ jr .asm_48b1d
+.asm_48b03
+ ld hl, $d477
+ ld a, [hl]
+ and $f
+ jr .asm_48b1d
+.asm_48b0b
+ ld hl, $d478
+ ld a, [hl]
+ swap a
+ or $f0
+ jr .asm_48b1d
+.asm_48b15
+ ld hl, $d478
+ ld a, [hl]
+ and $f
+ jr .asm_48b1d
+.asm_48b1d
+ push hl
+ push af
+ ld e, $0
+ ld hl, $c573
+ ld a, d
+.asm_48b25
+ and a
+ jr z, .asm_48b2c
+ inc e
+ dec a
+ jr .asm_48b25
+.asm_48b2c
+ ld hl, $ffa9
+ ld a, [hl]
+ and $40
+ jr nz, .asm_48b8d
+ ld a, [hl]
+ and $80
+ jr nz, .asm_48b55
+ ld a, [hl]
+ and $20
+ jp nz, Function48bd7
+ ld a, [hl]
+ and $10
+ jr nz, .asm_48b9d
+ ld hl, $c573
+ call Function489ea
+ ld a, [DefaultFlypoint] ; $d002
+ bit 7, a
+ jr nz, .asm_48b51
+.asm_48b51
+ pop bc
+ pop bc
+ and a
+ ret
+.asm_48b55
+ pop af
+ ld b, a
+ and $f
+ and a
+ ld a, b
+ jr nz, .asm_48b61
+ and $f0
+ add $a
+.asm_48b61
+ dec a
+.asm_48b62
+ push de
+ push af
+ ld hl, $c55e
+ ld b, $1
+ ld c, $8
+ call Function48cdc
+ pop af
+ pop de
+ ld hl, $c573
+ ld b, a
+ ld a, d
+ cp $3
+ jr c, .asm_48b7a
+ inc hl
+.asm_48b7a
+ ld a, b
+ pop hl
+ bit 7, a
+ jr z, .asm_48b85
+ call Function48c4d
+ jr .asm_48b88
+.asm_48b85
+ call Function48c5a
+.asm_48b88
+ ld a, $f0
+ jp Function48c00
+.asm_48b8d
+ pop af
+ ld b, a
+ and $f
+ cp $9
+ ld a, b
+ jr c, .asm_48b9a
+ and $f0
+ add $ff
+.asm_48b9a
+ inc a
+ jr .asm_48b62
+.asm_48b9d
+ push de
+ ld hl, $c55e
+ ld b, $1
+ ld c, $8
+ call Function48cdc
+ pop de
+ ld a, d
+ cp $6
+ jr nc, .asm_48baf
+ inc d
+.asm_48baf
+ pop af
+ pop hl
+ ld b, a
+ ld a, d
+ cp $6
+ ld a, b
+ jr z, .asm_48bc4
+ bit 7, a
+ jr nz, .asm_48bc4
+ inc hl
+ ld a, [hl]
+ swap a
+ and $f
+ jr asm_48bc7
+.asm_48bc4
+ ld a, [hl]
+ and $f
+
+; known jump sources: 48bc2 (12:4bc2), 48bf6 (12:4bf6), 48bfe (12:4bfe)
+asm_48bc7: ; 48bc7 (12:4bc7)
+ ld hl, $c573
+ push af
+ ld a, d
+ cp $3
+ pop bc
+ ld a, b
+ jr c, .asm_48bd3
+ inc hl
+.asm_48bd3
+ ld a, $f
+ jr Function48c00
+
+; known jump sources: 48b3c (12:4b3c)
+Function48bd7: ; 48bd7 (12:4bd7)
+ push de
+ ld hl, $c55e
+ ld b, $1
+ ld c, $8
+ call Function48cdc
+ pop de
+ ld a, d
+ and a
+ pop af
+ pop hl
+ ld b, a
+ ld a, d
+ and a
+ ld a, b
+ jr z, .asm_48bf3
+ bit 7, a
+ jr z, .asm_48bf8
+ dec d
+ dec hl
+.asm_48bf3
+ ld a, [hl]
+ and $f
+ jr asm_48bc7
+.asm_48bf8
+ dec d
+ ld a, [hl]
+ swap a
+ and $f
+ jr asm_48bc7
+
+; known jump sources: 48b8a (12:4b8a), 48bd5 (12:4bd5)
+Function48c00: ; 48c00 (12:4c00)
+ push af
+ ld hl, $c573
+ call Function489ea
+ ld a, $1
+ and a
+ pop bc
+ ld a, b
+ ret
+
+; known jump sources: 48ac0 (12:4ac0)
+Function48c0d: ; 48c0d (12:4c0d)
+ xor a
+ and a
+
+; known jump sources: 48ab9 (12:4ab9)
+Function48c0f: ; 48c0f (12:4c0f)
+ scf
+ ret
+
+; known jump sources: 48991 (12:4991)
+Function48c11: ; 48c11 (12:4c11)
+ ld a, [DefaultFlypoint] ; $d002
+ bit 7, a
+ jr z, .asm_48c20
+ ld a, d
+ cp $3
+ jr c, .asm_48c1e
+ inc hl
+.asm_48c1e
+ ld [hl], $7f
+.asm_48c20
+ ld a, [DefaultFlypoint] ; $d002
+ swap a
+ and $3
+ inc a
+ cp b
+ jr nz, .asm_48c40
+ ld a, [DefaultFlypoint] ; $d002
+ bit 7, a
+ jr z, .asm_48c3a
+ res 7, a
+ ld [DefaultFlypoint], a ; $d002
+ xor a
+ jr .asm_48c40
+.asm_48c3a
+ set 7, a
+ ld [DefaultFlypoint], a ; $d002
+ xor a
+.asm_48c40
+ swap a
+ ld b, a
+ ld a, [DefaultFlypoint] ; $d002
+ and $cf
+ or b
+ ld [DefaultFlypoint], a ; $d002
+ ret
+
+; known jump sources: 48b80 (12:4b80)
+Function48c4d: ; 48c4d (12:4c4d)
+ swap a
+ and $f0
+ push af
+ ld a, [hl]
+ and $f
+ ld [hl], a
+ pop af
+ or [hl]
+ ld [hl], a
+ ret
+
+; known jump sources: 48b85 (12:4b85)
+Function48c5a: ; 48c5a (12:4c5a)
+ push af
+ ld a, [hl]
+ and $f0
+ ld [hl], a
+ pop af
+ or [hl]
+ ld [hl], a
+ ret
+
Function48c63: ; 48c63
ld a, $50
ld [de], a
@@ -48558,9 +57424,256 @@
ret
; 48c8e
-INCBIN "baserom.gbc", $48c8e, $48e81 - $48c8e
+INCBIN "baserom.gbc",$48c8e,$48cda - $48c8e
+; no known jump sources
+Function48cda: ; 48cda (12:4cda)
+ ld h, d
+ ld l, e
+; known jump sources: 480cb (12:40cb), 482a9 (12:42a9), 48323 (12:4323), 486bb (12:46bb), 4878f (12:478f), 4888e (12:488e), 4889f (12:489f), 488f9 (12:48f9), 48a59 (12:4a59), 48b6b (12:4b6b), 48ba5 (12:4ba5), 48bdf (12:4bdf), 49f25 (12:5f25), 4a150 (12:6150), 4a2b3 (12:62b3), 4a4df (12:64df)
+Function48cdc: ; 48cdc (12:4cdc)
+ push bc
+ push hl
+ call Function48cfd
+ pop hl
+ pop bc
+ ld de, $939
+ add hl, de
+ inc b
+ inc b
+ inc c
+ inc c
+ ld a, $0
+.asm_48ced
+ push bc
+ push hl
+.asm_48cef
+ ld [hli], a
+ dec c
+ jr nz, .asm_48cef
+ pop hl
+ ld de, $14
+ add hl, de
+ pop bc
+ dec b
+ jr nz, .asm_48ced
+ ret
+
+; known jump sources: 48cde (12:4cde)
+Function48cfd: ; 48cfd (12:4cfd)
+ push hl
+ ld a, $4
+ ld [hli], a
+ inc a
+ call Function48d2a
+ inc a
+ ld [hl], a
+ pop hl
+ ld de, $14
+ add hl, de
+.asm_48d0c
+ push hl
+ ld a, $7
+ ld [hli], a
+ ld a, $7f
+ call Function48d2a
+ ld [hl], $8
+ pop hl
+ ld de, $14
+ add hl, de
+ dec b
+ jr nz, .asm_48d0c
+ ld a, $9
+ ld [hli], a
+ ld a, $a
+ call Function48d2a
+ ld [hl], $b
+ ret
+
+; known jump sources: 48d02 (12:4d02), 48d12 (12:4d12), 48d24 (12:4d24)
+Function48d2a: ; 48d2a (12:4d2a)
+ ld d, c
+.asm_48d2b
+ ld [hli], a
+ dec d
+ jr nz, .asm_48d2b
+ ret
+
+; known jump sources: 4817d (12:417d), 4825f (12:425f)
+Function48d30: ; 48d30 (12:4d30)
+ ld hl, $d475
+ call Function48d4a
+ ld hl, $d477
+ call Function48d4a
+ ret
+
+; known jump sources: 48042 (12:4042)
+Function48d3d: ; 48d3d (12:4d3d)
+ ld hl, $d475
+ call Function48d94
+ ld hl, $d477
+ call Function48d94
+ ret
+
+; known jump sources: 48d33 (12:4d33), 48d39 (12:4d39)
+Function48d4a: ; 48d4a (12:4d4a)
+ inc hl
+ ld a, [hl]
+ ld b, a
+ and $f
+ ld c, a
+ srl b
+ srl b
+ srl b
+ srl b
+ push bc
+ ld c, $a
+ ld a, b
+ call SimpleMultiply
+ pop bc
+ add c
+ ld [hld], a
+ xor a
+ ld [hQuotient], a ; $ff00+$b4 (aliases: hMultiplicand)
+ ld [$FF00+$b5], a
+ ld a, [hl]
+ srl a
+ srl a
+ srl a
+ srl a
+ ld c, $a
+ call SimpleMultiply
+ ld b, a
+ ld a, [hli]
+ and $f
+ add b
+ ld [$FF00+$b6], a
+ ld a, $64
+ ld [hDivisor], a ; $ff00+$b7 (aliases: hMultiplier)
+ call Multiply
+ ld a, [$FF00+$b5]
+ ld b, a
+ ld a, [$FF00+$b6]
+ ld c, a
+ ld e, [hl]
+ add e
+ ld c, a
+ ld a, b
+ adc $0
+ ld b, a
+ ld a, c
+ ld [hld], a
+ ld [hl], b
+ ret
+
+; known jump sources: 48d40 (12:4d40), 48d46 (12:4d46)
+Function48d94: ; 48d94 (12:4d94)
+ xor a
+ ld [hPastLeadingZeroes], a ; $ff00+$b3 (aliases: hDividend, hProduct)
+ ld [hQuotient], a ; $ff00+$b4 (aliases: hMultiplicand)
+ ld a, [hli]
+ ld [hPastLeadingZeroes], a ; $ff00+$b3 (aliases: hDividend, hProduct)
+ ld a, [hl]
+ ld [hQuotient], a ; $ff00+$b4 (aliases: hMultiplicand)
+ ld a, $64
+ ld [hDivisor], a ; $ff00+$b7 (aliases: hMultiplier)
+ ld b, $2
+ call Divide
+ ld a, [hDivisor] ; $ff00+$b7 (aliases: hMultiplier)
+ ld c, $a
+ call SimpleDivide
+ sla b
+ sla b
+ sla b
+ sla b
+ or b
+ ld [hld], a
+ ld a, [$FF00+$b6]
+ ld c, $a
+ call SimpleDivide
+ sla b
+ sla b
+ sla b
+ sla b
+ or b
+ ld [hl], a
+ ret
+
+; no known jump sources
+Function48dcb: ; 48dcb (12:4dcb)
+ call Function48e14
+ call Function48e47
+ call Function48e64
+ call Function3200
+ call Function32f9
+ ld hl, $4e0f
+ call PrintText
+ ld hl, $4dfc
+ call LoadMenuDataHeader
+ call Function3200
+ call Function1d81
+ call Function1c17
+ ld a, [$cfa9]
+ dec a
+ ld [PlayerGender], a ; $d472
+ ld c, $a
+ call DelayFrames
+ ret
+; 48dfc (12:4dfc)
+
+INCBIN "baserom.gbc",$48dfc,$48e14 - $48dfc
+
+; known jump sources: 48dcb (12:4dcb)
+Function48e14: ; 48e14 (12:4e14)
+ ld a, $10
+ ld [MusicFade], a ; $c2a7
+ ld a, $0
+ ld [MusicFadeIDLo], a ; $c2a9
+ ld a, $0
+ ld [MusicFadeIDHi], a ; $c2aa
+ ld c, $8
+ call DelayFrames
+ call WhiteBGMap
+ call Function48000
+ call Functione5f
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld bc, $168
+ ld a, $0
+ call ByteFill
+ ld hl, AttrMap ; $cdd9
+ ld bc, $168
+ xor a
+ call ByteFill
+ ret
+
+; known jump sources: 48dce (12:4dce)
+Function48e47: ; 48e47 (12:4e47)
+ ld hl, $4e5c
+ ld de, Unkn1Pals ; $d000
+ ld bc, $8
+ ld a, $5
+ call FarCopyWRAM
+ ld a, BANK(Function96a4)
+ ld hl, Function96a4
+ rst $8 ; ; indirect jump to Function96a4 (96a4 (2:56a4))
+ ret
+; 48e5c (12:4e5c)
+
+INCBIN "baserom.gbc",$48e5c,$48e64 - $48e5c
+
+; known jump sources: 48dd1 (12:4dd1)
+Function48e64: ; 48e64 (12:4e64)
+ ld de, $4e71
+ ld hl, $9000
+ ld bc, $1201
+ call Get2bpp
+ ret
+; 48e71 (12:4e71)
+
+INCBIN "baserom.gbc",$48e71,$48e81 - $48e71
+
+
Function48e81: ; 48e81
ld hl, $4e93
add hl, de
@@ -48574,7 +57687,7 @@
ret
; 48e93
-INCBIN "baserom.gbc", $48e93, $48e9b - $48e93
+INCBIN "baserom.gbc",$48e93,$48e9b - $48e93
PackFGFX:
INCBIN "gfx/misc/pack_f.2bpp"
@@ -48686,8 +57799,36 @@
ret
; 4930a
-INCBIN "baserom.gbc", $4930a, $49336 - $4930a
+INCBIN "baserom.gbc",$4930a,$4930f - $4930a
+; known jump sources: 480a0 (12:40a0), 48690 (12:4690)
+Function4930f: ; 4930f (12:530f)
+ ld a, b
+ cp $ff
+ jr nz, .asm_49317
+ ld a, [SGBPredef] ; $cd98
+.asm_49317
+ push af
+ ld a, BANK(Function9673)
+ ld hl, Function9673
+ rst $8 ; ; indirect jump to Function9673 (9673 (2:5673))
+ pop af
+ ld l, a
+ ld h, $0
+ add hl, hl
+ ld de, $5330
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld de, $532f
+ push de
+ jp [hl]
+ ret
+; 49330 (12:5330)
+
+INCBIN "baserom.gbc",$49330,$49336 - $49330
+
Function49336: ; 49336
.asm_49336
push bc
@@ -48705,9 +57846,84 @@
ret
; 49346
-INCBIN "baserom.gbc", $49346, $49409 - $49346
+; known jump sources: 49371 (12:5371)
+Function49346: ; 49346 (12:5346)
+ ld hl, AttrMap ; $cdd9
+ ld bc, $168
+ xor a
+ call ByteFill
+ ret
+; known jump sources: 4936e (12:536e), 4a0af (12:60af)
+Function49351: ; 49351 (12:5351)
+ ld de, Unkn1Pals ; $d000
+ ld hl, $53e1
+ ld bc, $28
+ ld a, $5
+ call FarCopyWRAM
+ ld de, $d038
+ ld hl, $5418
+ ld bc, $8
+ ld a, $5
+ call FarCopyWRAM
+ ret
+
+; known jump sources: 4a492 (12:6492)
+Function4936e: ; 4936e (12:536e)
+ call Function49351
+ call Function49346
+ call Function49384
+ ld a, BANK(Function96b3)
+ ld hl, Function96b3
+ rst $8 ; ; indirect jump to Function96b3 (96b3 (2:56b3))
+ ld a, BANK(Function96a4)
+ ld hl, Function96a4
+ rst $8 ; ; indirect jump to Function96a4 (96a4 (2:56a4))
+ ret
+
+; known jump sources: 49374 (12:5374)
+Function49384: ; 49384 (12:5384)
+ ld hl, AttrMap ; $cdd9
+ ld bc, $401
+ ld a, $1
+ call Function49336
+ ld bc, $201
+ ld a, $2
+ call Function49336
+ ld bc, $601
+ ld a, $3
+ call Function49336
+ ld hl, $cdda
+ ld a, $1
+ ld bc, $312
+ call Function49336
+ ld bc, $212
+ ld a, $2
+ call Function49336
+ ld bc, $c12
+ ld a, $3
+ call Function49336
+ ld hl, $cdec
+ ld bc, $401
+ ld a, $1
+ call Function49336
+ ld bc, $201
+ ld a, $2
+ call Function49336
+ ld bc, $601
+ ld a, $3
+ call Function49336
+ ld hl, $cec9
+ ld bc, $78
+ ld a, $7
+ call ByteFill
+ ret
+; 493e1 (12:53e1)
+
+INCBIN "baserom.gbc",$493e1,$49409 - $493e1
+
+
Function49409: ; 49409
ld hl, $5418
ld de, $d038
@@ -48717,8 +57933,20 @@
ret
; 49418
-INCBIN "baserom.gbc", $49418, $494ac - $49418
+INCBIN "baserom.gbc",$49418,$49420 - $49418
+; no known jump sources
+Function49420: ; 49420 (12:5420)
+ ld hl, $56bd
+ ld de, $d030
+ ld bc, $8
+ ld a, $5
+ call FarCopyWRAM
+ ret
+; 4942f (12:542f)
+
+INCBIN "baserom.gbc",$4942f,$494ac - $4942f
+
Function494ac: ; 494ac
ld a, [$d199]
cp $15
@@ -48783,7 +58011,7 @@
ret
; 49501
-INCBIN "baserom.gbc", $49501, $49541 - $49501
+INCBIN "baserom.gbc",$49501,$49541 - $49501
Function49541: ; 49541
ld a, $5
@@ -48794,7 +58022,7 @@
ret
; 49550
-INCBIN "baserom.gbc", $49550, $49590 - $49550
+INCBIN "baserom.gbc",$49550,$49590 - $49550
Function49590: ; 49590
ld a, $5
@@ -48805,7 +58033,7 @@
ret
; 4959f
-INCBIN "baserom.gbc", $4959f, $495df - $4959f
+INCBIN "baserom.gbc",$4959f,$495df - $4959f
Function495df: ; 495df
ld a, $5
@@ -48816,7 +58044,7 @@
ret
; 495ee
-INCBIN "baserom.gbc", $495ee, $4962e - $495ee
+INCBIN "baserom.gbc",$495ee,$4962e - $495ee
Function4962e: ; 4962e
ld a, $5
@@ -48827,7 +58055,7 @@
ret
; 4963d
-INCBIN "baserom.gbc", $4963d, $496c5 - $4963d
+INCBIN "baserom.gbc",$4963d,$496c5 - $4963d
Function496c5: ; 496c5
ld a, $5
@@ -48853,7 +58081,7 @@
ret
; 496fe
-INCBIN "baserom.gbc", $496fe, $49797 - $496fe
+INCBIN "baserom.gbc",$496fe,$49797 - $496fe
Function49797: ; 49797
ld hl, AttrMap
@@ -48917,7 +58145,7 @@
ret
; 49826
-INCBIN "baserom.gbc", $49826, $49856 - $49826
+INCBIN "baserom.gbc",$49826,$49856 - $49826
Function49856: ; 49856
call Function49797
@@ -48924,7 +58152,7 @@
ret
; 4985a
-INCBIN "baserom.gbc", $4985a, $4989a - $4985a
+INCBIN "baserom.gbc",$4985a,$4989a - $4985a
Function4989a: ; 4989a
call DelayFrame
@@ -49023,7 +58251,7 @@
ret
; 49944
-INCBIN "baserom.gbc", $49944, $49962 - $49944
+INCBIN "baserom.gbc",$49944,$49962 - $49944
SpecialCelebiGFX:
INCBIN "gfx/special/celebi/leaf.2bpp"
@@ -49032,8 +58260,151 @@
INCBIN "gfx/special/celebi/3.2bpp"
INCBIN "gfx/special/celebi/4.2bpp"
-INCBIN "baserom.gbc", $49aa2, $49bae - $49aa2
+; no known jump sources
+Function49aa2: ; 49aa2 (12:5aa2)
+ ld hl, $6
+ add hl, bc
+ ld a, [hl]
+ push af
+ ld hl, $5
+ add hl, bc
+ ld a, [hl]
+ cp $52
+ jp nc, Function49b30
+ ld hl, $5
+ add hl, bc
+ inc [hl]
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ ld d, a
+ cp $3a
+ jr c, .asm_49ac6
+ jr z, .asm_49ac6
+ sub $3
+ ld [hl], a
+.asm_49ac6
+ ld hl, $e
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ call Function49b3b
+ ld hl, $6
+ add hl, bc
+ ld [hl], a
+ ld d, a
+ ld hl, $4
+ add hl, bc
+ add [hl]
+ cp $5c
+ jr nc, .asm_49ae2
+ cp $44
+ jr nc, .asm_49b0d
+.asm_49ae2
+ pop af
+ push af
+ cp d
+ jr nc, .asm_49af2
+ ld hl, $4
+ add hl, bc
+ add [hl]
+ cp $50
+ jr c, .asm_49b05
+ jr .asm_49afb
+.asm_49af2
+ ld hl, $4
+ add hl, bc
+ add [hl]
+ cp $50
+ jr nc, .asm_49b05
+.asm_49afb
+ ld hl, $5
+ add hl, bc
+ ld a, [hl]
+ sub $2
+ ld [hl], a
+ jr .asm_49b0d
+.asm_49b05
+ ld hl, $5
+ add hl, bc
+ ld a, [hl]
+ add $1
+ ld [hl], a
+.asm_49b0d
+ pop af
+ ld hl, $4
+ add hl, bc
+ add [hl]
+ cp $50
+ jr c, .asm_49b26
+ cp $e6
+ jr nc, .asm_49b26
+ ld hl, $1
+ add hl, bc
+ ld a, $41
+ call Function3b3c
+ jr .asm_49b2f
+.asm_49b26
+ ld hl, $1
+ add hl, bc
+ ld a, $40
+ call Function3b3c
+.asm_49b2f
+ ret
+
+; known jump sources: 49aaf (12:5aaf)
+Function49b30: ; 49b30 (12:5b30)
+ pop af
+ ld hl, $1
+ add hl, bc
+ ld a, $40
+ call Function3b3c
+ ret
+
+; known jump sources: 49acc (12:5acc)
+Function49b3b: ; 49b3b (12:5b3b)
+ add $10
+ and $3f
+ cp $20
+ jr nc, .asm_49b48
+ call Function49b52
+ ld a, h
+ ret
+.asm_49b48
+ and $1f
+ call Function49b52
+ ld a, h
+ xor $ff
+ inc a
+ ret
+
+; known jump sources: 49b43 (12:5b43), 49b4a (12:5b4a)
+Function49b52: ; 49b52 (12:5b52)
+ ld e, a
+ ld a, d
+ ld d, $0
+ ld hl, $5b6e
+ add hl, de
+ add hl, de
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ ld hl, $0
+.asm_49b61
+ srl a
+ jr nc, .asm_49b66
+ add hl, de
+.asm_49b66
+ sla e
+ rl d
+ and a
+ jr nz, .asm_49b61
+ ret
+; 49b6e (12:5b6e)
+
+INCBIN "baserom.gbc",$49b6e,$49bae - $49b6e
+
Function49bae: ; 49bae
push hl
push bc
@@ -49120,7 +58491,7 @@
ret
; 49c0c
-INCBIN "baserom.gbc", $49c0c, $49cdc - $49c0c
+INCBIN "baserom.gbc",$49c0c,$49cdc - $49c0c
MainMenu: ; 49cdc
xor a
@@ -49486,10 +58857,12 @@
ld [CurMusic], a
ld de, MUSIC_MOBILE_ADAPTER_MENU
call $66c5
+Function49f0a: ; 49f0a
call WhiteBGMap
call $63a7
call $6492
call WhiteBGMap
+Function49f16: ; 49f16
call $6071
ld c, $c
call DelayFrames
@@ -49619,9 +58992,461 @@
; 4a071
-INCBIN "baserom.gbc", $4a071, $4a496 - $4a071
+; known jump sources: 49f16 (12:5f16), 49fb7 (12:5fb7)
+Function4a071: ; 4a071 (12:6071)
+ ld hl, $cfa1
+ ld a, $2
+ ld [hli], a
+ ld a, $5
+ ld [hli], a
+ ld a, $5
+ ld [hli], a
+ ld a, $1
+ ld [hli], a
+ ld [hl], $0
+ set 5, [hl]
+ inc hl
+ xor a
+ ld [hli], a
+ ld a, $20
+ ld [hli], a
+ ld a, $1
+ add $40
+ add $80
+ add $2
+ ld [hli], a
+ ld a, $1
+ ld [hli], a
+ ld [hli], a
+ ret
+; known jump sources: 49f6d (12:5f6d)
+Function4a098: ; 4a098 (12:6098)
+ ld a, $2
+ call Function1ff8
+ call Function1bee
+ call WaitBGMap
+ call Function1d6e
+ ld a, BANK(Function89de0)
+ ld hl, Function89de0
+ rst $8 ; ; indirect jump to Function89de0 (89de0 (22:5de0))
+ call Function1d7d
+ call Function49351
+ call Function4a485
+ pop bc
+ jp Function49f16
+
+; known jump sources: 49f72 (12:5f72)
+Function4a0b9: ; 4a0b9 (12:60b9)
+ ld a, $2
+ call Function1ff8
+ pop bc
+ jp Function4a4c4
+
+; known jump sources: 49f77 (12:5f77)
+Function4a0c2: ; 4a0c2 (12:60c2)
+ ld a, $2
+ call Function1ff8
+ ld a, $1
+ call GetSRAMBank
+ ld hl, $a00b
+ ld de, PlayerName ; $d47d
+ ld bc, $6
+ call CopyBytes
+ call CloseSRAM
+ ld a, BANK(Function150b9)
+ ld hl, Function150b9
+ rst $8 ; ; indirect jump to Function150b9 (150b9 (5:50b9))
+ ld c, $2
+ call DelayFrames
+ ld c, $1
+ call Function4802f
+ push af
+ call WhiteBGMap
+ pop af
+ and a
+ jr nz, .asm_4a0f9
+ ld a, BANK(Function1509a)
+ ld hl, Function1509a
+ rst $8 ; ; indirect jump to Function1509a (1509a (5:509a))
+.asm_4a0f9
+ ld c, $5
+ call DelayFrames
+ jr asm_4a111
+
+; known jump sources: 49f7c (12:5f7c)
+Function4a100: ; 4a100 (12:6100)
+ ld a, $2
+ call Function1ff8
+ call WhiteBGMap
+ call Function4a13b
+ call WhiteBGMap
+ call ClearTileMap
+
+; known jump sources: 4a0fe (12:60fe)
+asm_4a111: ; 4a111 (12:6111)
+ pop bc
+ call Functione5f
+ jp Function49f0a
+
+; known jump sources: 4a2c5 (12:62c5)
+Function4a118: ; 4a118 (12:6118)
+ ld hl, $cfa1
+ ld a, $1
+ ld [hli], a
+ ld a, $d
+ ld [hli], a
+ ld a, $3
+ ld [hli], a
+ ld a, $1
+ ld [hli], a
+ ld [hl], $0
+ set 5, [hl]
+ inc hl
+ xor a
+ ld [hli], a
+ ld a, $20
+ ld [hli], a
+ ld a, $1
+ add $2
+ ld [hli], a
+ ld a, $1
+ ld [hli], a
+ ld [hli], a
+ ret
+
+; known jump sources: 4a108 (12:6108), 4a23a (12:623a)
+Function4a13b: ; 4a13b (12:613b)
+ call Function4a3a7
+ call Function4a492
+ call Function4a373
+ ld c, $a
+ call DelayFrames
+
+; known jump sources: 4a236 (12:6236)
+Function4a149: ; 4a149 (12:6149)
+ ld hl, $c4c9
+ ld b, $6
+ ld c, $10
+ call Function48cdc
+ ld hl, $c4f3
+ ld de, $61ef
+ call PlaceString
+ ld hl, $c590
+ ld b, $4
+ ld c, $12
+ call TextBox
+ ld a, [$cfa9]
+ dec a
+ ld hl, $623d
+ call GetNthString
+ ld d, h
+ ld e, l
+ ld hl, $c5a5
+ ld b, $4
+ ld c, $12
+ call ClearBox
+ ld hl, $c5b9
+ call PlaceString
+ ld a, BANK(Function104148)
+ ld hl, Function104148
+ rst $8 ; ; indirect jump to Function104148 (104148 (41:4148))
+ call Function32f9
+ call Function1bc9
+ ld hl, $cfa9
+ ld b, [hl]
+ push bc
+ jr asm_4a19d
+
+; known jump sources: 4a1ec (12:61ec)
+Function4a195: ; 4a195 (12:6195)
+ call Function1bd3
+ ld hl, $cfa9
+ ld b, [hl]
+ push bc
+
+; known jump sources: 4a193 (12:6193)
+asm_4a19d: ; 4a19d (12:619d)
+ bit 0, a
+ jr nz, .asm_4a1a7
+ bit 1, a
+ jr nz, .asm_4a1ba
+ jr .asm_4a1bc
+.asm_4a1a7
+ ld hl, $cfa9
+ ld a, [hl]
+ cp $1
+ jp z, Function4a20e
+ cp $2
+ jp z, Function4a221
+ ld a, $1
+ call Function1ff8
+.asm_4a1ba
+ pop bc
+ ret
+.asm_4a1bc
+ ld hl, $cfa9
+ ld a, [hl]
+ dec a
+ ld hl, $623d
+ call GetNthString
+ ld d, h
+ ld e, l
+ ld hl, $c5a5
+ ld b, $4
+ ld c, $12
+ call ClearBox
+ ld hl, $c5b9
+ call PlaceString
+ jr .asm_4a1db
+.asm_4a1db
+ call Function4a373
+ pop bc
+ ld hl, $cfa9
+ ld [hl], b
+ ld bc, $601
+ ld hl, $c4de
+ call ClearBox
+ jp Function4a195
+; 4a1ef (12:61ef)
+
+INCBIN "baserom.gbc",$4a1ef,$4a20e - $4a1ef
+
+; known jump sources: 4a1ad (12:61ad)
+Function4a20e: ; 4a20e (12:620e)
+ ld a, $1
+ call Function1ff8
+ ld a, BANK(Function1719c8)
+ ld hl, Function1719c8
+ rst $8 ; ; indirect jump to Function1719c8 (1719c8 (5c:59c8))
+ call WhiteBGMap
+ call DelayFrame
+ jr asm_4a239
+
+; known jump sources: 4a1b2 (12:61b2)
+Function4a221: ; 4a221 (12:6221)
+ ld a, $1
+ call Function1ff8
+ call Function4a28a
+ jr c, asm_4a239
+ call Function4a373
+ ld a, $2
+ ld [$cfa9], a
+ jr .asm_4a235
+.asm_4a235
+ pop bc
+ jp Function4a149
+
+; known jump sources: 4a21f (12:621f), 4a229 (12:6229)
+asm_4a239: ; 4a239 (12:6239)
+ pop bc
+ jp Function4a13b
+; 4a23d (12:623d)
+
+INCBIN "baserom.gbc",$4a23d,$4a28a - $4a23d
+
+; known jump sources: 4a226 (12:6226)
+Function4a28a: ; 4a28a (12:628a)
+ ld hl, $c4de
+ ld bc, $601
+ ld a, $7f
+ call Function4a6d8
+ call Function1bee
+ call WaitBGMap
+ call Function1d6e
+ ld a, $5
+ call GetSRAMBank
+ ld a, [$aa4b]
+ call CloseSRAM
+ and a
+ jr z, .asm_4a2df
+ ld hl, $c4ac
+ ld b, $5
+ ld c, $6
+ call Function48cdc
+ ld hl, $c4c2
+ ld de, $634b
+ call PlaceString
+ ld a, BANK(Function104148)
+ ld hl, Function104148
+ rst $8 ; ; indirect jump to Function104148 (104148 (41:4148))
+ call Function4a118
+ call Function1bd3
+ push af
+ call PlayClickSFX
+ pop af
+ bit 1, a
+ jr nz, .asm_4a33b
+ ld a, [$cfa9]
+ cp $2
+ jr z, .asm_4a2f0
+ cp $3
+ jr z, .asm_4a33b
+.asm_4a2df
+ ld a, BANK(Function11765d)
+ ld hl, Function11765d
+ rst $8 ; ; indirect jump to Function11765d (11765d (45:765d))
+ call WhiteBGMap
+ call Function1d7d
+ call Functione5f
+ scf
+ ret
+.asm_4a2f0
+ call Function1bee
+ ld hl, $6358
+ call PrintText
+ ld hl, $c53a
+ ld b, $3
+ ld c, $4
+ call TextBox
+ ld a, BANK(Function104148)
+ ld hl, Function104148
+ rst $8 ; ; indirect jump to Function104148 (104148 (41:4148))
+ ld hl, $6362
+ call LoadMenuDataHeader
+ call Function1d81
+ bit 1, a
+ jr nz, .asm_4a338
+ ld a, [$cfa9]
+ cp $2
+ jr z, .asm_4a338
+ ld a, $5
+ call GetSRAMBank
+ ld hl, $aa4b
+ xor a
+ ld bc, $11
+ call ByteFill
+ call CloseSRAM
+ ld hl, $635d
+ call PrintText
+ call Functiona36
+.asm_4a338
+ call Function1c07
+.asm_4a33b
+ call Function1d7d
+ ld a, BANK(Function104148)
+ ld hl, Function104148
+ rst $8 ; ; indirect jump to Function104148 (104148 (41:4148))
+ xor a
+ ret
+; 4a346 (12:6346)
+
+INCBIN "baserom.gbc",$4a346,$4a373 - $4a346
+
+; known jump sources: 4a141 (12:6141), 4a1db (12:61db), 4a22b (12:622b)
+Function4a373: ; 4a373 (12:6373)
+ ld hl, $cfa1
+ ld a, $4
+ ld [hli], a
+ ld a, $2
+ ld [hli], a
+ ld a, $3
+ ld [hli], a
+ ld a, $1
+ ld [hli], a
+ ld [hl], $0
+ set 5, [hl]
+ inc hl
+ xor a
+ ld [hli], a
+ ld a, $20
+ ld [hli], a
+ ld a, $1
+ add $40
+ add $80
+ add $2
+ ld [hli], a
+ ld a, $1
+ ld [hli], a
+ ld [hli], a
+ ret
+; 4a39a (12:639a)
+
+INCBIN "baserom.gbc",$4a39a,$4a3a7 - $4a39a
+
+; known jump sources: 48078 (12:4078), 49f0d (12:5f0d), 4a13b (12:613b), 4a4c7 (12:64c7)
+Function4a3a7: ; 4a3a7 (12:63a7)
+ call Function4a485
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld bc, $301
+ xor a
+ call Function4a6d8
+ ld bc, $101
+ ld a, $1
+ call Function4a6d8
+ ld bc, $101
+ xor a
+ call Function4a6d8
+ ld bc, $101
+ ld a, $1
+ call Function4a6d8
+ ld bc, $401
+ ld a, $2
+ call Function4a6d8
+ ld bc, $101
+ ld a, $3
+ call Function4a6d8
+ ld bc, $101
+ ld a, $7f
+ call Function4a6d8
+ ld hl, $c4a1
+ ld a, $1
+ ld bc, $312
+ call Function4a6d8
+ ld bc, $112
+ ld a, $0
+ call Function4a6d8
+ ld bc, $112
+ ld a, $1
+ call Function4a6d8
+ ld bc, $112
+ ld a, $2
+ call Function4a6d8
+ ld bc, $b12
+ ld a, $7f
+ call Function4a6d8
+ ld hl, $c4b3
+ ld bc, $301
+ ld a, $0
+ call Function4a6d8
+ ld bc, $101
+ ld a, $1
+ call Function4a6d8
+ ld bc, $101
+ xor a
+ call Function4a6d8
+ ld bc, $101
+ ld a, $1
+ call Function4a6d8
+ ld bc, $401
+ ld a, $2
+ call Function4a6d8
+ ld bc, $101
+ ld a, $3
+ call Function4a6d8
+ ld bc, $101
+ ld a, $7f
+ call Function4a6d8
+ ret
+; 4a449 (12:6449)
+
+INCBIN "baserom.gbc",$4a449,$4a485 - $4a449
+
+; known jump sources: 4a0b2 (12:60b2), 4a3a7 (12:63a7)
+Function4a485: ; 4a485 (12:6485)
+ ld de, $5c0c
+ ld hl, $9000
+ ld bc, $120d
+ call Get2bpp
+ ret
+
+; known jump sources: 49f10 (12:5f10), 4a13e (12:613e), 4a4ca (12:64ca)
+Function4a492: ; 4a492 (12:6492)
+ call Function4936e
+ ret
+
+
MainMenu_MobileStudium: ; 4a496
ld a, [StartDay]
ld b, a
@@ -49649,9 +59474,208 @@
; 4a4c4
-INCBIN "baserom.gbc", $4a4c4, $4a6e8 - $4a4c4
+; known jump sources: 4a0bf (12:60bf), 4a6c2 (12:66c2)
+Function4a4c4: ; 4a4c4 (12:64c4)
+ call WhiteBGMap
+ call Function4a3a7
+ call Function4a492
+ call Function4a680
+ call WhiteBGMap
+ ld c, $14
+ call DelayFrames
+ ld hl, $c4a2
+ ld b, $a
+ ld c, $e
+ call Function48cdc
+ ld hl, $c4cc
+ ld de, $65c5
+ call PlaceString
+ ld hl, $c4f4
+ ld de, $65cd
+ call PlaceString
+ ld hl, $c51c
+ ld de, $65da
+ call PlaceString
+ ld hl, $c544
+ ld de, $65e6
+ call PlaceString
+ ld hl, $c56c
+ ld de, $65f2
+ call PlaceString
+ ld hl, $c590
+ ld b, $4
+ ld c, $12
+ call TextBox
+ xor a
+ ld hl, $65f6
+ ld d, h
+ ld e, l
+ ld hl, $c5b9
+ call PlaceString
+ ld a, $1
+ ld hl, $65f6
+ call GetNthString
+ ld d, h
+ ld e, l
+ ld hl, $c5e1
+ call PlaceString
+ call Function3200
+ call Function32f9
+ call Function1bc9
+ ld hl, $cfa9
+ ld b, [hl]
+ push bc
+ jr asm_4a54d
+; known jump sources: 4a5c2 (12:65c2)
+Function4a545: ; 4a545 (12:6545)
+ call Function1bd3
+ ld hl, $cfa9
+ ld b, [hl]
+ push bc
+
+; known jump sources: 4a543 (12:6543)
+asm_4a54d: ; 4a54d (12:654d)
+ bit 0, a
+ jr nz, .asm_4a557
+ bit 1, a
+ jr nz, .asm_4a574
+ jr .asm_4a57e
+.asm_4a557
+ ld hl, $cfa9
+ ld a, [hl]
+ cp $1
+ jp z, Function4a6ab
+ cp $2
+ jp z, Function4a6ab
+ cp $3
+ jp z, Function4a6ab
+ cp $4
+ jp z, Function4a6ab
+ ld a, $1
+ call Function1ff8
+.asm_4a574
+ pop bc
+ call WhiteBGMap
+ call ClearTileMap
+ jp Function49f0a
+.asm_4a57e
+ ld hl, $cfa9
+ ld a, [hl]
+ dec a
+ add a
+ push af
+ ld hl, $65f6
+ call GetNthString
+ ld d, h
+ ld e, l
+ ld hl, $c5a5
+ ld b, $4
+ ld c, $12
+ call ClearBox
+ ld hl, $c5b9
+ call PlaceString
+ pop af
+ inc a
+ ld hl, $65f6
+ call GetNthString
+ ld d, h
+ ld e, l
+ ld hl, $c5e1
+ call PlaceString
+ jp Function4a5b0
+
+; known jump sources: 4a5ad (12:65ad)
+Function4a5b0: ; 4a5b0 (12:65b0)
+ call Function4a680
+ pop bc
+ ld hl, $cfa9
+ ld [hl], b
+ ld b, $a
+ ld c, $1
+ ld hl, $c4b7
+ call ClearBox
+ jp Function4a545
+; 4a5c5 (12:65c5)
+
+INCBIN "baserom.gbc",$4a5c5,$4a680 - $4a5c5
+
+; known jump sources: 4a4cd (12:64cd), 4a5b0 (12:65b0)
+Function4a680: ; 4a680 (12:6680)
+ ld hl, $cfa1
+ ld a, $2
+ ld [hli], a
+ ld a, $3
+ ld [hli], a
+ ld a, $5
+ ld [hli], a
+ ld a, $1
+ ld [hli], a
+ ld [hl], $0
+ set 5, [hl]
+ inc hl
+ xor a
+ ld [hli], a
+ ld a, $20
+ ld [hli], a
+ ld a, $1
+ add $40
+ add $80
+ add $2
+ ld [hli], a
+ ld a, $1
+ ld [hli], a
+ ld [hli], a
+ xor a
+ ld [hli], a
+ ld [hli], a
+ ld [hli], a
+ ret
+
+; known jump sources: 4a55d (12:655d), 4a562 (12:6562), 4a567 (12:6567), 4a56c (12:656c)
+Function4a6ab: ; 4a6ab (12:66ab)
+ ld a, $2
+ call Function1ff8
+ call WhiteBGMap
+ ld b, $8
+ call GetSGBLayout
+ ld a, BANK(Function11c1ab)
+ ld hl, Function11c1ab
+ rst $8 ; ; indirect jump to Function11c1ab (11c1ab (47:41ab))
+ pop bc
+ call Functione5f
+ jp Function4a4c4
+
+; known jump sources: 49f07 (12:5f07), 49f93 (12:5f93)
+Function4a6c5: ; 4a6c5 (12:66c5)
+ ld a, $5
+ ld [MusicFade], a ; $c2a7
+ ld a, e
+ ld [MusicFadeIDLo], a ; $c2a9
+ ld a, d
+ ld [MusicFadeIDHi], a ; $c2aa
+ ld c, $16
+ call DelayFrames
+ ret
+
+; known jump sources: 4a292 (12:6292), 4a3b1 (12:63b1), 4a3b9 (12:63b9), 4a3c0 (12:63c0), 4a3c8 (12:63c8), 4a3d0 (12:63d0), 4a3d8 (12:63d8), 4a3e0 (12:63e0), 4a3eb (12:63eb), 4a3f3 (12:63f3), 4a3fb (12:63fb), 4a403 (12:6403), 4a40b (12:640b), 4a416 (12:6416), 4a41e (12:641e), 4a425 (12:6425), 4a42d (12:642d), 4a435 (12:6435), 4a43d (12:643d), 4a445 (12:6445), 4a6e5 (12:66e5)
+Function4a6d8: ; 4a6d8 (12:66d8)
+ push bc
+ push hl
+.asm_4a6da
+ ld [hli], a
+ dec c
+ jr nz, .asm_4a6da
+ pop hl
+ ld bc, $14
+ add hl, bc
+ pop bc
+ dec b
+ jr nz, Function4a6d8
+ ret
+
+
SpecialBeastsCheck: ; 0x4a6e8
; Check if the player owns all three legendary beasts.
; They must exist in either party or PC, and have the player's OT and ID.
@@ -49898,7 +59922,7 @@
ret
; 0x4a810
-INCBIN "baserom.gbc", $4a810, $4a83a - $4a810
+INCBIN "baserom.gbc",$4a810,$4a83a - $4a810
UpdateOTPointer: ; 0x4a83a
push hl
@@ -49910,7 +59934,7 @@
ret
; 0x4a843
-INCBIN "baserom.gbc", $4a843, $4a927 - $4a843
+INCBIN "baserom.gbc",$4a843,$4a927 - $4a843
Function4a927: ; 4a927
ld a, [ScriptVar]
@@ -49996,7 +60020,7 @@
jr .asm_4a974
; 4a9be
-INCBIN "baserom.gbc", $4a9be, $4a9c3 - $4a9be
+INCBIN "baserom.gbc",$4a9be,$4a9c3 - $4a9be
Function4a9c3: ; 4a9c3
ld hl, DefaultFlypoint
@@ -50048,7 +60072,7 @@
ret
; 4aa1d
-INCBIN "baserom.gbc", $4aa1d, $4aa22 - $4aa1d
+INCBIN "baserom.gbc",$4aa1d,$4aa22 - $4aa1d
Function4aa22: ; 4aa22
call WhiteBGMap
@@ -50086,7 +60110,7 @@
ret
; 4aa6e
-INCBIN "baserom.gbc", $4aa6e, $4aa7a - $4aa6e
+INCBIN "baserom.gbc",$4aa6e,$4aa7a - $4aa6e
Function4aa7a: ; 4aa7a
ld hl, DefaultFlypoint
@@ -50447,7 +60471,7 @@
ret
; 4aca2
-INCBIN "baserom.gbc", $4aca2, $4acaa - $4aca2
+INCBIN "baserom.gbc",$4aca2,$4acaa - $4aca2
Function4acaa: ; 4acaa
.asm_4acaa
@@ -50560,7 +60584,7 @@
ret
; 4ad67
-INCBIN "baserom.gbc", $4ad67, $4ad68 - $4ad67
+INCBIN "baserom.gbc",$4ad67,$4ad68 - $4ad67
Function4ad68: ; 4ad68
ld hl, $c59d
@@ -50581,7 +60605,7 @@
ret
; 4ad88
-INCBIN "baserom.gbc", $4ad88, $4adb2 - $4ad88
+INCBIN "baserom.gbc",$4ad88,$4adb2 - $4ad88
Function4adb2: ; 4adb2
ld hl, DefaultFlypoint
@@ -50799,7 +60823,7 @@
INCLUDE "tilesets/palette_maps.asm"
-INCBIN "baserom.gbc", $4ce05, $4ce1f - $4ce05
+INCBIN "baserom.gbc",$4ce05,$4ce1f - $4ce05
TileCollisionTable: ; 4ce1f
; 00 land
@@ -50867,9 +60891,160 @@
ret
; 4cf45
-INCBIN "baserom.gbc", $4cf45, $4cffe - $4cf45
+; no known jump sources
+Function4cf45: ; 4cf45 (13:4f45)
+ ld a, [hCGB] ; $ff00+$e6
+ and a
+ jp z, WaitBGMap
+ ld a, [hBGMapMode] ; $ff00+$d4
+ push af
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ ld a, [$FF00+$de]
+ push af
+ xor a
+ ld [$FF00+$de], a
+.asm_4cf57
+ ld a, [rLY] ; $ff00+$44
+ cp $60
+ jr c, .asm_4cf57
+ di
+ ld a, $1
+ ld [rVBK], a ; $ff00+$4f
+ ld hl, AttrMap ; $cdd9
+ call Function4cf80
+ ld a, $0
+ ld [rVBK], a ; $ff00+$4f
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ call Function4cf80
+.asm_4cf72
+ ld a, [rLY] ; $ff00+$44
+ cp $60
+ jr c, .asm_4cf72
+ ei
+ pop af
+ ld [$FF00+$de], a
+ pop af
+ ld [hBGMapMode], a ; $ff00+$d4
+ ret
+; known jump sources: 4cf65 (13:4f65), 4cf6f (13:4f6f)
+Function4cf80: ; 4cf80 (13:4f80)
+ ld [hSPBuffer], sp ; $ffd9
+ ld sp, hl
+ ld a, [$FF00+$d7]
+ ld h, a
+ ld l, $0
+ ld a, $12
+ ld [$FF00+$d3], a
+ ld b, $2
+ ld c, $41
+.asm_4cf91
+ pop de
+.asm_4cf92
+ ld a, [$ff00+c]
+ and b
+ jr nz, .asm_4cf92
+ ld [hl], e
+ inc l
+ ld [hl], d
+ inc l
+ pop de
+.asm_4cf9b
+ ld a, [$ff00+c]
+ and b
+ jr nz, .asm_4cf9b
+ ld [hl], e
+ inc l
+ ld [hl], d
+ inc l
+ pop de
+.asm_4cfa4
+ ld a, [$ff00+c]
+ and b
+ jr nz, .asm_4cfa4
+ ld [hl], e
+ inc l
+ ld [hl], d
+ inc l
+ pop de
+.asm_4cfad
+ ld a, [$ff00+c]
+ and b
+ jr nz, .asm_4cfad
+ ld [hl], e
+ inc l
+ ld [hl], d
+ inc l
+ pop de
+.asm_4cfb6
+ ld a, [$ff00+c]
+ and b
+ jr nz, .asm_4cfb6
+ ld [hl], e
+ inc l
+ ld [hl], d
+ inc l
+ pop de
+.asm_4cfbf
+ ld a, [$ff00+c]
+ and b
+ jr nz, .asm_4cfbf
+ ld [hl], e
+ inc l
+ ld [hl], d
+ inc l
+ pop de
+.asm_4cfc8
+ ld a, [$ff00+c]
+ and b
+ jr nz, .asm_4cfc8
+ ld [hl], e
+ inc l
+ ld [hl], d
+ inc l
+ pop de
+.asm_4cfd1
+ ld a, [$ff00+c]
+ and b
+ jr nz, .asm_4cfd1
+ ld [hl], e
+ inc l
+ ld [hl], d
+ inc l
+ pop de
+.asm_4cfda
+ ld a, [$ff00+c]
+ and b
+ jr nz, .asm_4cfda
+ ld [hl], e
+ inc l
+ ld [hl], d
+ inc l
+ pop de
+.asm_4cfe3
+ ld a, [$ff00+c]
+ and b
+ jr nz, .asm_4cfe3
+ ld [hl], e
+ inc l
+ ld [hl], d
+ inc l
+ ld de, $c
+ add hl, de
+ ld a, [$FF00+$d3]
+ dec a
+ ld [$FF00+$d3], a
+ jr nz, .asm_4cf91
+ ld a, [hSPBuffer] ; $ff00+$d9
+ ld l, a
+ ld a, [$FF00+$da]
+ ld h, a
+ ld sp, hl
+ ret
+
+
Function4cffe: ; 4cffe
ld a, $1
call GetSRAMBank
@@ -50892,7 +61067,7 @@
ret
; 4d01e
-INCBIN "baserom.gbc", $4d01e, $4d15b - $4d01e
+INCBIN "baserom.gbc",$4d01e,$4d15b - $4d01e
Function4d15b: ; 4d15b
@@ -51088,7 +61263,7 @@
ret
; 4d249
-INCBIN "baserom.gbc", $4d249, $4d319 - $4d249
+INCBIN "baserom.gbc",$4d249,$4d319 - $4d249
Function4d319: ; 4d319
ld a, [$cfa9]
@@ -51225,7 +61400,7 @@
ret
; 4d3fe
-INCBIN "baserom.gbc", $4d3fe, $4d41e - $4d3fe
+INCBIN "baserom.gbc",$4d3fe,$4d41e - $4d3fe
Function4d41e: ; 4d41e
call Function4d50f
@@ -51271,7 +61446,7 @@
ret
; 4d463
-INCBIN "baserom.gbc", $4d463, $4d468 - $4d463
+INCBIN "baserom.gbc",$4d463,$4d468 - $4d463
Function4d468: ; 4d468
ld hl, $c5da
@@ -51458,7 +61633,7 @@
ret
; 4d580
-INCBIN "baserom.gbc", $4d580, $4d596 - $4d580
+INCBIN "baserom.gbc",$4d580,$4d596 - $4d580
Tilesets:
INCLUDE "tilesets/tileset_headers.asm"
@@ -51554,7 +61729,7 @@
ret
; 4d81e
-INCBIN "baserom.gbc", $4d81e, $4d860 - $4d81e
+INCBIN "baserom.gbc",$4d81e,$4d860 - $4d81e
CheckPokerus: ; 4d860
; Return carry if a monster in your party has Pokerus
@@ -51775,7 +61950,7 @@
ret
; 4d99f
-INCBIN "baserom.gbc", $4d99f, $4d9d3 - $4d99f
+INCBIN "baserom.gbc",$4d99f,$4d9d3 - $4d99f
Function4d9d3: ; 4d9d3
ld hl, StringBuffer3
@@ -51950,7 +62125,7 @@
jp Function1dcf
; 4db44
-INCBIN "baserom.gbc", $4db44, $4db49 - $4db44
+INCBIN "baserom.gbc",$4db44,$4db49 - $4db44
Function4db49: ; 4db49
@@ -51958,6 +62133,7 @@
dec a
ld hl, PartyMon1CaughtLevel
call GetPartyLocation
+Function4db53: ; 4db53
ld a, [TimeOfDay]
inc a
rrca
@@ -52026,8 +62202,21 @@
ret
; 4dbb8
-INCBIN "baserom.gbc", $4dbb8, $4dbd2 - $4dbb8
+; no known jump sources
+Function4dbb8: ; 4dbb8 (13:5bb8)
+ ld a, [CurPartyMon] ; $d109
+ ld hl, PartyMon1CaughtLevel ; $dcfc
+ call GetPartyLocation
+ ld a, [CurPartyLevel] ; $d143
+ push af
+ ld a, $1
+ ld [CurPartyLevel], a ; $d143
+ call Function4db53
+ pop af
+ ld [CurPartyLevel], a ; $d143
+ ret
+
Function4dbd2: ; 4dbd2
ld hl, PartyMon1Level
call Function4dc31
@@ -52165,14 +62354,24 @@
jr .asm_4dc6c
; 4dc7b
-INCBIN "baserom.gbc", $4dc7b, $4dc8a - $4dc7b
+; no known jump sources
+Function4dc7b: ; 4dc7b (13:5c7b)
+ ld a, [InLinkBattle] ; $c2dc
+ cp $4
+ jr nz, StatsScreenInit
+ ld a, [IsInBattle] ; $d22d (aliases: EnemyMonEnd)
+ and a
+ jr z, StatsScreenInit
+ jr asm_4dc8f
+
StatsScreenInit: ; 4dc8a
ld hl, StatsScreenMain
- jr .gotaddress
+ jr StatsScreenInit_gotaddress
+asm_4dc8f:
ld hl, $5cf7
- jr .gotaddress
-.gotaddress
+ jr StatsScreenInit_gotaddress
+StatsScreenInit_gotaddress
ld a, [$ffde]
push af
xor a
@@ -52228,7 +62427,7 @@
ret
; 0x4dcf7
-INCBIN "baserom.gbc", $4dcf7, $4dd2a - $4dcf7
+INCBIN "baserom.gbc",$4dcf7,$4dd2a - $4dcf7
StatsScreenPointerTable: ; 4dd2a
dw $5d72 ; regular pokémon
@@ -52242,8 +62441,69 @@
; 4dd3a
-INCBIN "baserom.gbc", $4dd3a, $4dda1 - $4dd3a
+; known jump sources: 4dcec (13:5cec)
+Function4dd3a: ; 4dd3a (13:5d3a)
+ ld hl, $cf64
+ bit 6, [hl]
+ jr nz, .asm_4dd49
+ bit 5, [hl]
+ jr nz, .asm_4dd56
+ call DelayFrame
+ ret
+.asm_4dd49
+ ld a, $34
+ ld hl, $40b4
+ rst $8
+ jr nc, .asm_4dd56
+ ld hl, $cf64
+ res 6, [hl]
+.asm_4dd56
+ ld hl, $cf64
+ res 5, [hl]
+ ld a, BANK(Function10402d)
+ ld hl, Function10402d
+ rst $8 ; ; indirect jump to Function10402d (10402d (41:402d))
+ ret
+
+; known jump sources: 4dd97 (13:5d97), 4dd9d (13:5d9d), 4ddb3 (13:5db3), 4ddc2 (13:5dc2), 4dddd (13:5ddd), 4deda (13:5eda), 4dee0 (13:5ee0), 4dee6 (13:5ee6)
+Function4dd62: ; 4dd62 (13:5d62)
+ ld a, [$cf63]
+ and $80
+ or h
+ ld [$cf63], a
+ ret
+
+; no known jump sources
+Function4dd6c: ; 4dd6c (13:5d6c)
+ ld hl, $cf63
+ set 7, [hl]
+ ret
+
+; no known jump sources
+Function4dd72: ; 4dd72 (13:5d72)
+ ld hl, $cf64
+ res 6, [hl]
+ call WhiteBGMap
+ call ClearTileMap
+ ld a, BANK(Function10402d)
+ ld hl, Function10402d
+ rst $8 ; ; indirect jump to Function10402d (10402d (41:402d))
+ call Function4ddf2
+ ld a, [CurPartySpecies] ; $d108
+ cp $fd
+ jr z, .asm_4dd9b
+ call Function4deea
+ ld hl, $cf64
+ set 4, [hl]
+ ld h, $4
+ call Function4dd62
+ ret
+.asm_4dd9b
+ ld h, $1
+ call Function4dd62
+ ret
+
EggStatsInit: ; 4dda1
call EggStatsScreen
ld a, [$cf63]
@@ -52252,8 +62512,607 @@
ret
; 0x4ddac
-INCBIN "baserom.gbc", $4ddac, $4e21e - $4ddac
+; no known jump sources
+Function4ddac: ; 4ddac (13:5dac)
+ call Function4de2c
+ jr nc, .asm_4ddb7
+ ld h, $0
+ call Function4dd62
+ ret
+.asm_4ddb7
+ bit 0, a
+ jr nz, .asm_4ddc0
+ and $c3
+ jp Function4de54
+.asm_4ddc0
+ ld h, $7
+ call Function4dd62
+ ret
+
+; no known jump sources
+Function4ddc6: ; 4ddc6 (13:5dc6)
+ call Function4dfb6
+ ld hl, $cf64
+ res 4, [hl]
+ ld a, [$cf63]
+ inc a
+ ld [$cf63], a
+ ret
+
+; no known jump sources
+Function4ddd6: ; 4ddd6 (13:5dd6)
+ call Function4de2c
+ jr nc, .asm_4dde1
+ ld h, $0
+ call Function4dd62
+ ret
+.asm_4dde1
+ and $f3
+ jp Function4de54
+
+; no known jump sources
+Function4dde6: ; 4dde6 (13:5de6)
+ call Function3c74
+ ret nc
+ ld a, [$cf63]
+ inc a
+ ld [$cf63], a
+ ret
+
+; known jump sources: 4dd83 (13:5d83)
+Function4ddf2: ; 4ddf2 (13:5df2)
+ ld a, [MonType] ; $cf5f
+ cp $3
+ jr nz, .asm_4de10
+ ld a, [$d018]
+ ld [CurSpecies], a ; $cf60
+ call GetBaseData
+ ld hl, $d018
+ ld de, TempMonSpecies ; $d10e (aliases: TempMon)
+ ld bc, $30
+ call CopyBytes
+ jr .asm_4de2a
+.asm_4de10
+ ld a, BANK(Function5084a)
+ ld hl, Function5084a
+ rst $8 ; ; indirect jump to Function5084a (5084a (14:484a))
+ ld a, [CurPartySpecies] ; $d108
+ cp $fd
+ jr z, .asm_4de2a
+ ld a, [MonType] ; $cf5f
+ cp $2
+ jr c, .asm_4de2a
+ ld a, BANK(Function50890)
+ ld hl, Function50890
+ rst $8 ; ; indirect jump to Function50890 (50890 (14:4890))
+.asm_4de2a
+ and a
+ ret
+
+; known jump sources: 4ddac (13:5dac), 4ddd6 (13:5dd6)
+Function4de2c: ; 4de2c (13:5e2c)
+ call GetJoypadPublic
+ ld a, [MonType] ; $cf5f
+ cp $3
+ jr nz, .asm_4de4e
+ push hl
+ push de
+ push bc
+ ld a, BANK(Functione2f95)
+ ld hl, Functione2f95
+ rst $8 ; ; indirect jump to Functione2f95 (e2f95 (38:6f95))
+ pop bc
+ pop de
+ pop hl
+ ld a, [$cf73]
+ and $c0
+ jr nz, .asm_4de52
+ ld a, [$cf73]
+ jr .asm_4de50
+.asm_4de4e
+ ld a, [hJoyPressed] ; $ff00+$a7
+.asm_4de50
+ and a
+ ret
+.asm_4de52
+ scf
+ ret
+
+; known jump sources: 4ddbd (13:5dbd), 4dde3 (13:5de3)
+Function4de54: ; 4de54 (13:5e54)
+ push af
+ ld a, [$cf64]
+ and $3
+ ld c, a
+ pop af
+ bit 1, a
+ jp nz, Function4dee4
+ bit 5, a
+ jr nz, .asm_4dec7
+ bit 4, a
+ jr nz, .asm_4debd
+ bit 0, a
+ jr nz, .asm_4deb8
+ bit 6, a
+ jr nz, .asm_4dea0
+ bit 7, a
+ jr nz, .asm_4de77
+ jr .asm_4dece
+.asm_4de77
+ ld a, [MonType] ; $cf5f
+ cp $2
+ jr nc, .asm_4dece
+ and a
+ ld a, [PartyCount] ; $dcd7
+ jr z, .asm_4de87
+ ld a, [OTPartyCount] ; $d280
+.asm_4de87
+ ld b, a
+ ld a, [CurPartyMon] ; $d109
+ inc a
+ cp b
+ jr z, .asm_4dece
+ ld [CurPartyMon], a ; $d109
+ ld b, a
+ ld a, [MonType] ; $cf5f
+ and a
+ jr nz, .asm_4dede
+ ld a, b
+ inc a
+ ld [$d0d8], a
+ jr .asm_4dede
+.asm_4dea0
+ ld a, [CurPartyMon] ; $d109
+ and a
+ jr z, .asm_4dece
+ dec a
+ ld [CurPartyMon], a ; $d109
+ ld b, a
+ ld a, [MonType] ; $cf5f
+ and a
+ jr nz, .asm_4dede
+ ld a, b
+ inc a
+ ld [$d0d8], a
+ jr .asm_4dede
+.asm_4deb8
+ ld a, c
+ cp $3
+ jr z, Function4dee4
+.asm_4debd
+ inc c
+ ld a, $3
+ cp c
+ jr nc, .asm_4decf
+ ld c, $1
+ jr .asm_4decf
+.asm_4dec7
+ dec c
+ jr nz, .asm_4decf
+ ld c, $3
+ jr .asm_4decf
+.asm_4dece
+ ret
+.asm_4decf
+ ld a, [$cf64]
+ and $fc
+ or c
+ ld [$cf64], a
+ ld h, $4
+ call Function4dd62
+ ret
+.asm_4dede
+ ld h, $0
+ call Function4dd62
+ ret
+
+; known jump sources: 4de5e (13:5e5e), 4debb (13:5ebb)
+Function4dee4: ; 4dee4 (13:5ee4)
+ ld h, $7
+ call Function4dd62
+ ret
+
+; known jump sources: 4dd8d (13:5d8d)
+Function4deea: ; 4deea (13:5eea)
+ call Function4df45
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ ld a, [CurBaseData] ; $d236 (aliases: BaseDexNo)
+ ld [$d265], a
+ ld [CurSpecies], a ; $cf60
+ ld hl, $c4a8
+ ld [hl], $74
+ inc hl
+ ld [hl], $e8
+ inc hl
+ ld hl, $c4aa
+ ld bc, $8103
+ ld de, $d265
+ call PrintNum
+ ld hl, $c4ae
+ call PrintLevel
+ ld hl, $5f77
+ call Function4e528
+ call Function4e505
+ ld hl, $c4d0
+ call PlaceString
+ ld hl, $c4b2
+ call Function4df66
+ ld hl, $c4f9
+ ld a, $f3
+ ld [hli], a
+ ld a, [CurBaseData] ; $d236 (aliases: BaseDexNo)
+ ld [$d265], a
+ call GetPokemonName
+ call PlaceString
+ call Function4df8f
+ call Function4df9b
+ call Function4dfa6
+ ret
+
+; known jump sources: 4deea (13:5eea)
+Function4df45: ; 4df45 (13:5f45)
+ ld hl, TempMonCurHP ; $d130
+ ld a, [hli]
+ ld b, a
+ ld c, [hl]
+ ld hl, TempMonMaxHP ; $d132
+ ld a, [hli]
+ ld d, a
+ ld e, [hl]
+ ld a, BANK(Functionc699)
+ ld hl, Functionc699
+ rst $8 ; ; indirect jump to Functionc699 (c699 (3:4699))
+ ld hl, $cda1
+ call SetHPPal
+ ld b, $3
+ call GetSGBLayout
+ call DelayFrame
+ ret
+
+; known jump sources: 4df26 (13:5f26)
+Function4df66: ; 4df66 (13:5f66)
+ push hl
+ ld a, BANK(GetGender)
+ ld hl, GetGender
+ rst $8 ; ; indirect jump to GetGender (50bdd (14:4bdd))
+ pop hl
+ ret c
+ ld a, $ef
+ jr nz, .asm_4df75
+ ld a, $f5
+.asm_4df75
+ ld [hl], a
+ ret
+; 4df77 (13:5f77)
+
+INCBIN "baserom.gbc",$4df77,$4df8f - $4df77
+
+; known jump sources: 4df3b (13:5f3b), 4e348 (13:6348)
+Function4df8f: ; 4df8f (13:5f8f)
+ ld hl, $c52c
+ ld b, $14
+ ld a, $62
+.asm_4df96
+ ld [hli], a
+ dec b
+ jr nz, .asm_4df96
+ ret
+
+; known jump sources: 4df3e (13:5f3e)
+Function4df9b: ; 4df9b (13:5f9b)
+ ld hl, $c524
+ ld [hl], $71
+ ld hl, $c52b
+ ld [hl], $ed
+ ret
+
+; known jump sources: 4df41 (13:5f41)
+Function4dfa6: ; 4dfa6 (13:5fa6)
+ ld bc, TempMonDVs ; $d123
+ ld a, BANK(CheckShininess)
+ ld hl, CheckShininess
+ rst $8 ; ; indirect jump to CheckShininess (8a68 (2:4a68))
+ ret nc
+ ld hl, $c4b3
+ ld [hl], $3f
+ ret
+
+; known jump sources: 4ddc6 (13:5dc6)
+Function4dfb6: ; 4dfb6 (13:5fb6)
+ ld a, [CurBaseData] ; $d236 (aliases: BaseDexNo)
+ ld [$d265], a
+ ld [CurSpecies], a ; $cf60
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call Function4dfda
+ call Function4e002
+ call Function4dfed
+ ld hl, $cf64
+ bit 4, [hl]
+ jr nz, .asm_4dfd6
+ call Function32f9
+ ret
+.asm_4dfd6
+ call Function4e226
+ ret
+
+; known jump sources: 4dfc2 (13:5fc2)
+Function4dfda: ; 4dfda (13:5fda)
+ ld a, [$cf64]
+ and $3
+ ld c, a
+ call Function4e4cd
+ ld hl, $c540
+ ld bc, $a14
+ call ClearBox
+ ret
+
+; known jump sources: 4dfc8 (13:5fc8)
+Function4dfed: ; 4dfed (13:5fed)
+ ld a, [$cf64]
+ and $3
+ ld c, a
+ ld a, BANK(Function8c8a)
+ ld hl, Function8c8a
+ rst $8 ; ; indirect jump to Function8c8a (8c8a (2:4c8a))
+ call DelayFrame
+ ld hl, $cf64
+ set 5, [hl]
+ ret
+
+; known jump sources: 4dfc5 (13:5fc5)
+Function4e002: ; 4e002 (13:6002)
+ ld a, [$cf64]
+ and $3
+ dec a
+ ld hl, $600d
+ rst $28
+ ret
+
+; no known jump sources
+Jumptable_4e00d: ; 4e00d (13:600d)
+ dw Function4e013
+ dw Function4e147
+ dw Function4e1ae
+
+
+; no known jump sources
+Function4e013: ; 4e013 (13:6013)
+ ld hl, $c554
+ ld b, $0
+ ld a, $26
+ call Predef
+ ld hl, $c55c
+ ld [hl], $41
+ ld de, $6119
+ ld hl, $c590
+ call PlaceString
+ ld a, [$d12a]
+ ld b, a
+ and $f
+ jr nz, .asm_4e055
+ ld a, b
+ and $f0
+ jr z, .asm_4e03d
+ ld hl, $c548
+ ld [hl], $e8
+.asm_4e03d
+ ld a, [MonType] ; $cf5f
+ cp $2
+ jr z, .asm_4e060
+ ld hl, $c5aa
+ push hl
+ ld de, TempMonStatus ; $d12e
+ ld a, $45
+ call Predef
+ pop hl
+ jr nz, .asm_4e066
+ jr .asm_4e060
+.asm_4e055
+ ld de, $6142
+ ld hl, $c5a5
+ call PlaceString
+ jr .asm_4e066
+.asm_4e060
+ ld de, $6127
+ call PlaceString
+.asm_4e066
+ ld hl, $c5cd
+ ld a, $2c
+ call Predef
+ ld hl, $c549
+ ld de, $14
+ ld b, $a
+ ld a, $31
+.asm_4e078
+ ld [hl], a
+ add hl, de
+ dec b
+ jr nz, .asm_4e078
+ ld de, $612b
+ ld hl, $c55e
+ call PlaceString
+ ld hl, $c5c9
+ call Function4e0d3
+ ld hl, $c575
+ ld bc, $307
+ ld de, TempMonExp ; $d116
+ call PrintNum
+ call Function4e0e7
+ ld hl, $c5b1
+ ld bc, $307
+ ld de, Buffer1 ; $d1ea (aliases: MagikarpLength)
+ call PrintNum
+ ld de, $6136
+ ld hl, $c59a
+ call PlaceString
+ ld de, $613f
+ ld hl, $c5c6
+ call PlaceString
+ ld hl, $c5eb
+ ld a, [TempMonLevel] ; $d12d
+ ld b, a
+ ld de, $d118
+ ld a, $17
+ call Predef
+ ld hl, $c5ea
+ ld [hl], $40
+ ld hl, $c5f3
+ ld [hl], $41
+ ret
+
+; known jump sources: 4e089 (13:6089)
+Function4e0d3: ; 4e0d3 (13:60d3)
+ ld a, [TempMonLevel] ; $d12d
+ push af
+ cp $64
+ jr z, .asm_4e0df
+ inc a
+ ld [TempMonLevel], a ; $d12d
+.asm_4e0df
+ call PrintLevel
+ pop af
+ ld [TempMonLevel], a ; $d12d
+ ret
+
+; known jump sources: 4e098 (13:6098)
+Function4e0e7: ; 4e0e7 (13:60e7)
+ ld a, [TempMonLevel] ; $d12d
+ cp $64
+ jr z, .asm_4e111
+ inc a
+ ld d, a
+ ld a, BANK(Function50e47)
+ ld hl, Function50e47
+ rst $8 ; ; indirect jump to Function50e47 (50e47 (14:4e47))
+ ld hl, $d118
+ ld hl, $d118
+ ld a, [$FF00+$b6]
+ sub [hl]
+ dec hl
+ ld [$d1ec], a
+ ld a, [$FF00+$b5]
+ sbc [hl]
+ dec hl
+ ld [Buffer2], a ; $d1eb (aliases: MovementType)
+ ld a, [hQuotient] ; $ff00+$b4 (aliases: hMultiplicand)
+ sbc [hl]
+ ld [Buffer1], a ; $d1ea (aliases: MagikarpLength)
+ ret
+.asm_4e111
+ ld hl, Buffer1 ; $d1ea (aliases: MagikarpLength)
+ xor a
+ ld [hli], a
+ ld [hli], a
+ ld [hl], a
+ ret
+; 4e119 (13:6119)
+
+INCBIN "baserom.gbc",$4e119,$4e147 - $4e119
+
+; no known jump sources
+Function4e147: ; 4e147 (13:6147)
+ ld de, $61a0
+ ld hl, $c540
+ call PlaceString
+ call Function4e189
+ ld hl, $c548
+ call PlaceString
+ ld de, $61a9
+ ld hl, $c568
+ call PlaceString
+ ld hl, TempMonMoves ; $d110 (aliases: TempMonMove1)
+ ld de, $d25e
+ ld bc, $4
+ call CopyBytes
+ ld hl, $c570
+ ld a, $28
+ ld [Buffer1], a ; $d1ea (aliases: MagikarpLength)
+ ld a, $20
+ call Predef
+ ld hl, $c588
+ ld a, $28
+ ld [Buffer1], a ; $d1ea (aliases: MagikarpLength)
+ ld a, $23
+ call Predef
+ ret
+
+; known jump sources: 4e150 (13:6150)
+Function4e189: ; 4e189 (13:6189)
+ ld de, $61a5
+ ld a, [TempMonItem] ; $d10f
+ and a
+ ret z
+ ld b, a
+ ld a, BANK(Function28771)
+ ld hl, Function28771
+ rst $8 ; ; indirect jump to Function28771 (28771 (a:4771))
+ ld a, b
+ ld [$d265], a
+ call GetItemName
+ ret
+; 4e1a0 (13:61a0)
+
+INCBIN "baserom.gbc",$4e1a0,$4e1ae - $4e1a0
+
+; no known jump sources
+Function4e1ae: ; 4e1ae (13:61ae)
+ call Function4e1cc
+ ld hl, $c54a
+ ld de, $14
+ ld b, $a
+ ld a, $31
+.asm_4e1bb
+ ld [hl], a
+ add hl, de
+ dec b
+ jr nz, .asm_4e1bb
+ ld hl, $c54b
+ ld bc, $6
+ ld a, $28
+ call Predef
+ ret
+
+; known jump sources: 4e1ae (13:61ae)
+Function4e1cc: ; 4e1cc (13:61cc)
+ ld de, $621e
+ ld hl, $c554
+ call PlaceString
+ ld de, $6222
+ ld hl, $c590
+ call PlaceString
+ ld hl, $c56a
+ ld bc, $8205
+ ld de, TempMonID ; $d114
+ call PrintNum
+ ld hl, $6216
+ call Function4e528
+ call Function4e505
+ ld a, BANK(CheckNickErrors)
+ ld hl, CheckNickErrors
+ rst $8 ; ; indirect jump to CheckNickErrors (669f (1:669f))
+ ld hl, $c5a6
+ call PlaceString
+ ld a, [$d12c]
+ and a
+ jr z, .asm_4e215
+ cp $7f
+ jr z, .asm_4e215
+ and $80
+ ld a, $ef
+ jr z, .asm_4e211
+ ld a, $f5
+.asm_4e211
+ ld hl, $c5ad
+ ld [hl], a
+.asm_4e215
+ ret
+; 4e216 (13:6216)
+
+INCBIN "baserom.gbc",$4e216,$4e21e - $4e216
+
IDNoString: ; 4e21e
db $73, "№.@"
@@ -52261,8 +63120,182 @@
db "OT/@"
; 4e226
-INCBIN "baserom.gbc", $4e226, $4e33a - $4e226
+; known jump sources: 4dfd6 (13:5fd6)
+Function4e226: ; 4e226 (13:6226)
+ ld hl, TempMonDVs ; $d123
+ ld a, $2d
+ call Predef
+ call Function4e2ad
+ jr c, .asm_4e238
+ and a
+ jr z, .asm_4e23f
+ jr .asm_4e246
+.asm_4e238
+ call Function4e271
+ call Function32f9
+ ret
+.asm_4e23f
+ call Function4e253
+ call Function32f9
+ ret
+.asm_4e246
+ call Function32f9
+ call Function4e253
+ ld a, [CurPartySpecies] ; $d108
+ call Function37d5
+ ret
+
+; known jump sources: 4e23f (13:623f), 4e249 (13:6249)
+Function4e253: ; 4e253 (13:6253)
+ ld hl, $cf64
+ set 5, [hl]
+ ld a, [CurPartySpecies] ; $d108
+ cp $c9
+ jr z, .asm_4e266
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ call Function3786
+ ret
+.asm_4e266
+ xor a
+ ld [$c2c6], a
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ call Function378b
+ ret
+
+; known jump sources: 4e238 (13:6238)
+Function4e271: ; 4e271 (13:6271)
+ ld a, [CurPartySpecies] ; $d108
+ cp $c9
+ jr z, .asm_4e281
+ ld a, $1
+ ld [$c2c6], a
+ call Function4e289
+ ret
+.asm_4e281
+ xor a
+ ld [$c2c6], a
+ call Function4e289
+ ret
+
+; known jump sources: 4e27d (13:627d), 4e285 (13:6285)
+Function4e289: ; 4e289 (13:6289)
+ ld a, [CurPartySpecies] ; $d108
+ call IsAPokemon
+ ret c
+ call Function4e307
+ ld de, $9000
+ ld a, $3e
+ call Predef
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld d, $0
+ ld e, $2
+ ld a, $46
+ call Predef
+ ld hl, $cf64
+ set 6, [hl]
+ ret
+
+; known jump sources: 4e22e (13:622e), 4e497 (13:6497)
+Function4e2ad: ; 4e2ad (13:62ad)
+ ld a, [MonType] ; $cf5f
+ ld hl, $62b5
+ rst $28
+ ret
+
+; no known jump sources
+Jumptable_4e2b5: ; 4e2b5 (13:62b5)
+ dw Function4e2bf
+ dw Function4e2cf
+ dw Function4e2d1
+ dw Function4e2ed
+ dw Function4e301
+
+
+; no known jump sources
+Function4e2bf: ; 4e2bf (13:62bf)
+ ld a, [CurPartyMon] ; $d109
+ ld hl, PartyMons ; $dcdf (aliases: PartyMon1, PartyMon1Species)
+ ld bc, $30
+ call AddNTimes
+ ld b, h
+ ld c, l
+ jr Function4e2f2
+
+; no known jump sources
+Function4e2cf: ; 4e2cf (13:62cf)
+ xor a
+ ret
+
+; no known jump sources
+Function4e2d1: ; 4e2d1 (13:62d1)
+ ld hl, $ad26
+ ld bc, $30
+ ld a, [CurPartyMon] ; $d109
+ call AddNTimes
+ ld b, h
+ ld c, l
+ ld a, $1
+ call GetSRAMBank
+ call Function4e2f2
+ push af
+ call CloseSRAM
+ pop af
+ ret
+
+; no known jump sources
+Function4e2ed: ; 4e2ed (13:62ed)
+ ld bc, TempMonSpecies ; $d10e (aliases: TempMon)
+ jr Function4e2f2
+
+; known jump sources: 4e2cd (13:62cd), 4e2e4 (13:62e4), 4e2f0 (13:62f0)
+Function4e2f2: ; 4e2f2 (13:62f2)
+ ld a, [CurPartySpecies] ; $d108
+ cp $fd
+ jr z, .asm_4e2fe
+ call Function4e53f
+ jr c, asm_4e305
+.asm_4e2fe
+ xor a
+ scf
+ ret
+
+; no known jump sources
+Function4e301: ; 4e301 (13:6301)
+ ld a, $1
+ and a
+ ret
+asm_4e305: ; 4e305 (13:6305)
+ xor a
+ ret
+
+; known jump sources: 4e290 (13:6290), 4e4b1 (13:64b1)
+Function4e307: ; 4e307 (13:6307)
+ nop
+ push hl
+ push de
+ push bc
+ push af
+ call DelayFrame
+ ld a, [rVBK] ; $ff00+$4f
+ push af
+ ld a, $1
+ ld [rVBK], a ; $ff00+$4f
+ ld de, $5204
+ ld bc, $3e01
+ ld hl, $97f0
+ call Get2bpp
+ pop af
+ ld [rVBK], a ; $ff00+$4f
+ pop af
+ pop bc
+ pop de
+ pop hl
+ ret
+; 4e32a (13:632a)
+
+INCBIN "baserom.gbc",$4e32a,$4e33a - $4e32a
+
EggStatsScreen: ; 4e33a
xor a
ld [hBGMapMode], a
@@ -52339,9 +63372,110 @@
; 0x4e497
-INCBIN "baserom.gbc", $4e497, $4e53f - $4e497
+; known jump sources: 4e3b0 (13:63b0)
+Function4e497: ; 4e497 (13:6497)
+ call Function4e2ad
+ ret nc
+ ld a, [TempMonHappiness] ; $d129
+ ld e, $7
+ cp $6
+ jr c, .asm_4e4ab
+ ld e, $8
+ cp $b
+ jr c, .asm_4e4ab
+ ret
+.asm_4e4ab
+ push de
+ ld a, $1
+ ld [$c2c6], a
+ call Function4e307
+ ld de, $9000
+ ld a, $3e
+ call Predef
+ pop de
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld d, $0
+ ld a, $46
+ call Predef
+ ld hl, $cf64
+ set 6, [hl]
+ ret
+; known jump sources: 4dfe0 (13:5fe0)
+Function4e4cd: ; 4e4cd (13:64cd)
+ ld hl, $c511
+ ld a, $36
+ call Function4e4f7
+ ld hl, $c513
+ ld a, $36
+ call Function4e4f7
+ ld hl, $c515
+ ld a, $36
+ call Function4e4f7
+ ld a, c
+ cp $2
+ ld a, $3a
+ ld hl, $c511
+ jr c, Function4e4f7
+ ld hl, $c513
+ jr z, Function4e4f7
+ ld hl, $c515
+
+; known jump sources: 4e4d2 (13:64d2), 4e4da (13:64da), 4e4e2 (13:64e2), 4e4ed (13:64ed), 4e4f2 (13:64f2)
+Function4e4f7: ; 4e4f7 (13:64f7)
+ push bc
+ ld [hli], a
+ inc a
+ ld [hld], a
+ ld bc, $14
+ add hl, bc
+ inc a
+ ld [hli], a
+ inc a
+ ld [hl], a
+ pop bc
+ ret
+
+; known jump sources: 4df1a (13:5f1a), 4e1f0 (13:61f0)
+Function4e505: ; 4e505 (13:6505)
+ ld de, StringBuffer1 ; $d073
+ ld bc, $b
+ jr .asm_4e50d
+.asm_4e50d
+ ld a, [MonType] ; $cf5f
+ cp $2
+ jr nz, .asm_4e522
+ ld a, $1
+ call GetSRAMBank
+ push de
+ call CopyBytes
+ pop de
+ call CloseSRAM
+ ret
+.asm_4e522
+ push de
+ call CopyBytes
+ pop de
+ ret
+
+; known jump sources: 4df17 (13:5f17), 4e1ed (13:61ed)
+Function4e528: ; 4e528 (13:6528)
+ ld a, [MonType] ; $cf5f
+ add a
+ ld c, a
+ ld b, $0
+ add hl, bc
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld a, [MonType] ; $cf5f
+ cp $3
+ ret z
+ ld a, [CurPartyMon] ; $d109
+ jp SkipNames
+
+
Function4e53f: ; 4e53f
ld hl, $0022
add hl, bc
@@ -52375,9 +63509,75 @@
jp [hl]
; 4e564
-INCBIN "baserom.gbc", $4e564, $4e5e1 - $4e564
+; no known jump sources
+Jumptable_4e564: ; 4e564 (13:6564)
+ dw Function4e56a
+ dw Function4e56a
+ dw Function4e56a
+
+; no known jump sources
+Function4e56a: ; 4e56a (13:656a)
+ ld hl, PlayerName ; $d47d
+ ld de, MomsName ; $d488
+ ld bc, $b
+ call CopyBytes
+ ld hl, $65da
+ ld de, PlayerName ; $d47d
+ ld bc, $b
+ call CopyBytes
+ call Function4e5b7
+ xor a
+ ld [hJoyDown], a ; $ff00+$a8
+ ld [hJoyPressed], a ; $ff00+$a7
+ ld a, [Options] ; $cfcc
+ push af
+ and $f8
+ add $3
+ ld [Options], a ; $cfcc
+ ld hl, $65df
+ ld a, $13
+ call StartAutoInput
+ ld hl, StartBattle
+ ld a, BANK(StartBattle)
+ rst $8 ; ; indirect jump to StartBattle (3f4c1 (f:74c1))
+ call StopAutoInput
+ pop af
+ ld [Options], a ; $cfcc
+ ld hl, MomsName ; $d488
+ ld de, PlayerName ; $d47d
+ ld bc, $b
+ call CopyBytes
+ ret
+
+; known jump sources: 4e582 (13:6582)
+Function4e5b7: ; 4e5b7 (13:65b7)
+ ld hl, OTPartyMon1Species ; $d288 (aliases: OTPartyMon1)
+ ld [hl], $1
+ inc hl
+ ld [hl], $12
+ inc hl
+ ld [hl], $1
+ inc hl
+ ld [hl], $ff
+ ld hl, $d292
+ ld [hl], $0
+ inc hl
+ ld [hl], $ff
+ ld hl, $d2a6
+ ld a, $1
+ ld [hli], a
+ ld a, $5
+ ld [hli], a
+ ld [hli], a
+ ld [hl], $ff
+ ret
+; 4e5da (13:65da)
+
+INCBIN "baserom.gbc",$4e5da,$4e5e1 - $4e5da
+
+
Function4e5e1: ; 4e5e1
push hl
push de
@@ -52754,7 +63954,7 @@
ret
; 4e8bd
-INCBIN "baserom.gbc", $4e8bd, $4e8c2 - $4e8bd
+INCBIN "baserom.gbc",$4e8bd,$4e8c2 - $4e8bd
Function4e8c2: ; 4e8c2
@@ -52854,7 +64054,7 @@
ret
; 4e95d
-INCBIN "baserom.gbc", $4e95d, $4e980 - $4e95d
+INCBIN "baserom.gbc",$4e95d,$4e980 - $4e95d
Function4e980: ; 4e980
@@ -53148,7 +64348,7 @@
ret
; 4eb38
-INCBIN "baserom.gbc", $4eb38, $4f0bc - $4eb38
+INCBIN "baserom.gbc",$4eb38,$4f0bc - $4eb38
Function4f0bc: ; 4f0bc
ld a, $0
@@ -53309,7 +64509,7 @@
ret
; 4f1c1
-INCBIN "baserom.gbc", $4f1c1, $4f1c5 - $4f1c1
+INCBIN "baserom.gbc",$4f1c1,$4f1c5 - $4f1c1
Function4f1c5: ; 4f1c5
ld a, [$d03b]
@@ -53333,7 +64533,7 @@
ret
; 4f1e6
-INCBIN "baserom.gbc", $4f1e6, $4f1f8 - $4f1e6
+INCBIN "baserom.gbc",$4f1e6,$4f1f8 - $4f1e6
Function4f1f8: ; 4f1f8
ld hl, $7202
@@ -53342,7 +64542,7 @@
ret
; 4f202
-INCBIN "baserom.gbc", $4f202, $4f20a - $4f202
+INCBIN "baserom.gbc",$4f202,$4f20a - $4f202
Function4f20a: ; 4f20a
ld a, [$d03c]
@@ -53399,7 +64599,7 @@
ret
; 4f26b
-INCBIN "baserom.gbc", $4f26b, $4f26d - $4f26b
+INCBIN "baserom.gbc",$4f26b,$4f26d - $4f26b
Function4f26d: ; 4f26d
ld e, a
@@ -53414,7 +64614,7 @@
ret
; 4f27c
-INCBIN "baserom.gbc", $4f27c, $4f2b4 - $4f27c
+INCBIN "baserom.gbc",$4f27c,$4f2b4 - $4f27c
Function4f2b4: ; 4f2b4
ld a, $1f
@@ -53442,7 +64642,7 @@
ret
; 4f2d6
-INCBIN "baserom.gbc", $4f2d6, $4f301 - $4f2d6
+INCBIN "baserom.gbc",$4f2d6,$4f301 - $4f2d6
Function4f301: ; 4f301
@@ -53595,7 +64795,7 @@
ret
; 500c8
-INCBIN "baserom.gbc", $500c8, $500cf - $500c8
+INCBIN "baserom.gbc",$500c8,$500cf - $500c8
Function500cf: ; 500cf
@@ -53835,7 +65035,7 @@
ret
; 50221
-INCBIN "baserom.gbc", $50221, $5022f - $50221
+INCBIN "baserom.gbc",$50221,$5022f - $50221
Function5022f: ; 5022f
@@ -53914,7 +65114,7 @@
ret
; 502a3
-INCBIN "baserom.gbc", $502a3, $502b1 - $502a3
+INCBIN "baserom.gbc",$502a3,$502b1 - $502a3
Function502b1: ; 502b1
@@ -53957,7 +65157,7 @@
ret
; 502ee
-INCBIN "baserom.gbc", $502ee, $50307 - $502ee
+INCBIN "baserom.gbc",$502ee,$50307 - $502ee
Function50307: ; 50307
@@ -54029,7 +65229,7 @@
jr .asm_5033b
; 5036b
-INCBIN "baserom.gbc", $5036b, $50389 - $5036b
+INCBIN "baserom.gbc",$5036b,$50389 - $5036b
Function50389: ; 50389
@@ -54065,7 +65265,7 @@
ret
; 503b2
-INCBIN "baserom.gbc", $503b2, $503e0 - $503b2
+INCBIN "baserom.gbc",$503b2,$503e0 - $503b2
Function503e0: ; 503e0
@@ -54121,7 +65321,7 @@
ret
; 5042d
-INCBIN "baserom.gbc", $5042d, $50457 - $5042d
+INCBIN "baserom.gbc",$5042d,$50457 - $5042d
PartyMenuSelect: ; 0x50457
; sets carry if exitted menu.
@@ -54238,7 +65438,7 @@
ret
; 5057b
-INCBIN "baserom.gbc", $5057b, $505c1 - $5057b
+INCBIN "baserom.gbc",$5057b,$505c1 - $5057b
Function505c1: ; 505c1
@@ -55061,7 +66261,7 @@
ret
; 50bb5
-INCBIN "baserom.gbc", $50bb5, $50bdd - $50bb5
+INCBIN "baserom.gbc",$50bb5,$50bdd - $50bb5
GetGender: ; 50bdd
@@ -55274,7 +66474,7 @@
ret
; 50cd0
-INCBIN "baserom.gbc", $50cd0, $50cdb - $50cd0
+INCBIN "baserom.gbc",$50cd0,$50cdb - $50cd0
Function50cdb: ; 50cdb
push hl
@@ -55370,7 +66570,7 @@
ret
; 50d5b
-INCBIN "baserom.gbc", $50d5b, $50d6f - $50d5b
+INCBIN "baserom.gbc",$50d5b,$50d6f - $50d5b
Function50d6f: ; 50d6f
ld de, $d25e
@@ -55636,7 +66836,7 @@
; 50efa
-INCBIN "baserom.gbc", $50efa, $51040 - $50efa
+INCBIN "baserom.gbc",$50efa,$51040 - $50efa
GetUnownLetter: ; 51040
@@ -55907,7 +67107,7 @@
ret
; 511d4
-INCBIN "baserom.gbc", $511d4, $5120d - $511d4
+INCBIN "baserom.gbc",$511d4,$5120d - $511d4
Function5120d: ; 5120d
@@ -56153,7 +67353,7 @@
jp CloseSRAM
; 5138b
-INCBIN "baserom.gbc", $5138b, $513cb - $5138b
+INCBIN "baserom.gbc",$5138b,$513cb - $5138b
Function513cb: ; 513cb
inc [hl]
@@ -56232,7 +67432,7 @@
PokemonNames:
INCLUDE "stats/pokemon_names.asm"
-INCBIN "baserom.gbc", $53D84, $53e2e - $53D84
+INCBIN "baserom.gbc",$53d84,$53e2e - $53d84
SECTION "bank15",ROMX,BANK[$15]
@@ -57388,17 +68588,70 @@
; 80648
-INCBIN "baserom.gbc", $80648, $80730-$80648
+; no known jump sources
+Function80648: ; 80648 (20:4648)
+ ld a, c
+ cp $1b
+ jr c, .asm_8064e
+ xor a
+.asm_8064e
+ ld c, a
+ ld b, $0
+ ld hl, $4671
+ add hl, bc
+ add hl, bc
+ add hl, bc
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ inc hl
+ ld b, [hl]
+ ld a, b
+ and $80
+ jr nz, .asm_80668
+ ld a, b
+ and $40
+ ret nz
+ ld a, [de]
+ jr Function8066c
+.asm_80668
+ call _de_
+ ret
+
+; known jump sources: 80666 (20:4666), 806ec (20:46ec), 806f6 (20:46f6), 806fc (20:46fc)
+Function8066c: ; 8066c (20:466c)
+ ld de, StringBuffer2 ; $d086
+ ld [de], a
+ ret
+; 80671 (20:4671)
+
+INCBIN "baserom.gbc",$80671,$806e1 - $80671
+ ld hl, JohtoBadges ; $d857
+ ld b, $2
+ call CountSetBits
+ ld a, [$d265]
+ jp Function8066c
+ ld a, [PlayerDirection] ; $d4de
+ and $c
+ rrca
+ rrca
+ jp Function8066c
+ call GetWeekday
+ jp Function8066c
+; 806ff (20:46ff)
+
+INCBIN "baserom.gbc",$806ff,$80730 - $806ff
+
BattleText:
INCLUDE "text/battle.asm"
-INCBIN "baserom.gbc", $818ac, $81fe3-$818ac
+INCBIN "baserom.gbc",$818ac,$81fe3 - $818ac
DebugColorTestGFX:
INCBIN "gfx/debug/color_test.2bpp"
-INCBIN "baserom.gbc", $82153, $823c8-$82153
+INCBIN "baserom.gbc",$82153,$823c8 - $82153
SECTION "bank21",ROMX,BANK[$21]
@@ -57434,8 +68687,402 @@
jp [hl]
; 84031
-INCBIN "baserom.gbc", $84031, $842ab - $84031
+; no known jump sources
+Jumptable_84031: ; 84031 (21:4031)
+ dw Function84077
+ dw Function84143
+ dw Function84120
+ dw Function84099
+ dw Function84180
+ dw Function8412e
+ dw Function840c5
+ dw Function84180
+ dw Function84120
+ dw Function840de
+ dw Function84180
+ dw Function84120
+ dw Function841a1
+ dw Function84063
+ dw Function8406d
+ dw Function84120
+ dw Function84103
+ dw Function84071
+ dw Function841b0
+ dw Function841b3
+
+
+; known jump sources: 8406d (21:406d), 8408d (21:408d), 840b9 (21:40b9), 840d7 (21:40d7), 840f7 (21:40f7), 84119 (21:4119), 8412a (21:412a), 8416e (21:416e), 84193 (21:4193), 841ac (21:41ac), 841b0 (21:41b0)
+Function84059: ; 84059 (21:4059)
+ ld hl, $cf63
+ inc [hl]
+ ret
+
+; known jump sources: 8413c (21:413c), 8413f (21:413f), 84197 (21:4197)
+Function8405e: ; 8405e (21:405e)
+ ld hl, $cf63
+ dec [hl]
+ ret
+
+; no known jump sources
+Function84063: ; 84063 (21:4063)
+ xor a
+ ld [$ca89], a
+ ld hl, $cf63
+ set 7, [hl]
+ ret
+
+; no known jump sources
+Function8406d: ; 8406d (21:406d)
+ call Function84059
+ ret
+
+; no known jump sources
+Function84071: ; 84071 (21:4071)
+ ld a, $1
+ ld [$cf63], a
+ ret
+
+; no known jump sources
+Function84077: ; 84077 (21:4077)
+ call Function841fb
+ ld hl, $42b7
+ call Function841e2
+ xor a
+ ld [$ca8e], a
+ ld [$ca8f], a
+ ld a, [$cf65]
+ ld [$ca81], a
+ call Function84059
+ call Function841c3
+ ld a, $1
+ ld [$cbf8], a
+ ret
+
+; no known jump sources
+Function84099: ; 84099 (21:4099)
+ call Function841fb
+ ld hl, $ca81
+ ld a, [hl]
+ and a
+ jr z, Function840c5
+ ld hl, $42c3
+ call Function841e2
+ call Function84260
+ ld a, $80
+ ld [$ca8e], a
+ ld a, $2
+ ld [$ca8f], a
+ call Function84219
+ call Function84059
+ call Function841c3
+ ld a, $2
+ ld [$cbf8], a
+ ret
+
+; known jump sources: 840a1 (21:40a1)
+Function840c5: ; 840c5 (21:40c5)
+ ld a, $6
+ ld [$cf63], a
+ ld hl, $42c9
+ call Function841e2
+ xor a
+ ld [$ca8e], a
+ ld [$ca8f], a
+ call Function84059
+ call Function841c3
+ ret
+
+; no known jump sources
+Function840de: ; 840de (21:40de)
+ call Function841fb
+ ld hl, $42bd
+ call Function841e2
+ call Function84249
+ ld a, $4
+ ld [$ca8e], a
+ ld a, $0
+ ld [$ca8f], a
+ call Function84219
+ call Function84059
+ call Function841c3
+ ld a, $3
+ ld [$cbf8], a
+ ret
+
+; no known jump sources
+Function84103: ; 84103 (21:4103)
+ call Function841fb
+ ld hl, $42b7
+ call Function841e2
+ xor a
+ ld [$ca8e], a
+ ld [$ca8f], a
+ ld a, [$cf65]
+ ld [$ca81], a
+ call Function84059
+ call Function841c3
+ ret
+
+; no known jump sources
+Function84120: ; 84120 (21:4120)
+ ld hl, $ca8b
+ inc [hl]
+ ld a, [hl]
+ cp $6
+ ret c
+ xor a
+ ld [hl], a
+ call Function84059
+ ret
+
+; no known jump sources
+Function8412e: ; 8412e (21:412e)
+ ld hl, $ca8b
+ inc [hl]
+ ld a, [hl]
+ cp $6
+ ret c
+ xor a
+ ld [hl], a
+ ld hl, $ca81
+ dec [hl]
+ call Function8405e
+ call Function8405e
+ ret
+
+; no known jump sources
+Function84143: ; 84143 (21:4143)
+ ld a, [$c2d5]
+ and a
+ ret nz
+ ld a, [$ca88]
+ cp $ff
+ jr nz, .asm_84156
+ ld a, [$ca89]
+ cp $ff
+ jr z, .asm_84172
+.asm_84156
+ ld a, [$ca88]
+ cp $81
+ jr nz, .asm_84172
+ ld a, [$ca89]
+ cp $0
+ jr nz, .asm_84172
+ ld hl, $c2d4
+ set 1, [hl]
+ ld a, $5
+ ld [$ca8a], a
+ call Function84059
+ ret
+.asm_84172
+ ld a, $ff
+ ld [$ca88], a
+ ld [$ca89], a
+ ld a, $e
+ ld [$cf63], a
+ ret
+
+; no known jump sources
+Function84180: ; 84180 (21:4180)
+ ld a, [$c2d5]
+ and a
+ ret nz
+ ld a, [$ca89]
+ and $f0
+ jr nz, .asm_8419b
+ ld a, [$ca89]
+ and $1
+ jr nz, .asm_84197
+ call Function84059
+ ret
+.asm_84197
+ call Function8405e
+ ret
+.asm_8419b
+ ld a, $12
+ ld [$cf63], a
+ ret
+
+; no known jump sources
+Function841a1: ; 841a1 (21:41a1)
+ ld a, [$c2d5]
+ and a
+ ret nz
+ ld a, [$ca89]
+ and $f3
+ ret nz
+ call Function84059
+ ret
+
+; no known jump sources
+Function841b0: ; 841b0 (21:41b0)
+ call Function84059
+
+; no known jump sources
+Function841b3: ; 841b3 (21:41b3)
+ ld a, [$c2d5]
+ and a
+ ret nz
+ ld a, [$ca89]
+ and $f0
+ ret nz
+ xor a
+ ld [$cf63], a
+ ret
+
+; known jump sources: 84090 (21:4090), 840bc (21:40bc), 840da (21:40da), 840fa (21:40fa), 8411c (21:411c), 841c7 (21:41c7)
+Function841c3: ; 841c3 (21:41c3)
+ ld a, [$c2d5]
+ and a
+ jr nz, Function841c3
+ xor a
+ ld [$ca8c], a
+ ld [$ca8d], a
+ ld a, $1
+ ld [$c2d5], a
+ ld a, $88
+ ld [rSB], a ; $ff00+$1
+ ld a, $1
+ ld [rSC], a ; $ff00+$2
+ ld a, $81
+ ld [rSC], a ; $ff00+$2
+ ret
+
+; known jump sources: 8407d (21:407d), 840a6 (21:40a6), 840cd (21:40cd), 840e4 (21:40e4), 84109 (21:4109)
+Function841e2: ; 841e2 (21:41e2)
+ ld a, [hli]
+ ld [$ca82], a
+ ld a, [hli]
+ ld [$ca83], a
+ ld a, [hli]
+ ld [$ca84], a
+ ld a, [hli]
+ ld [$ca85], a
+ ld a, [hli]
+ ld [$ca86], a
+ ld a, [hl]
+ ld [$ca87], a
+ ret
+
+; known jump sources: 84077 (21:4077), 84099 (21:4099), 840de (21:40de), 84103 (21:4103)
+Function841fb: ; 841fb (21:41fb)
+ xor a
+ ld hl, $ca82
+ ld [hli], a
+ ld [hli], a
+ ld [hli], a
+ ld [hl], a
+ ld hl, $ca86
+ ld [hli], a
+ ld [hl], a
+ xor a
+ ld [$ca8e], a
+ ld [$ca8f], a
+ ld hl, OverworldMap ; $c800
+ ld bc, $280
+ call Function842ab
+ ret
+
+; known jump sources: 840b6 (21:40b6), 840f4 (21:40f4)
+Function84219: ; 84219 (21:4219)
+ ld hl, $0
+ ld bc, $4
+ ld de, $ca82
+ call Function8423c
+ ld a, [$ca8e]
+ ld c, a
+ ld a, [$ca8f]
+ ld b, a
+ ld de, OverworldMap ; $c800
+ call Function8423c
+ ld a, l
+ ld [$ca86], a
+ ld a, h
+ ld [$ca87], a
+ ret
+
+; known jump sources: 84222 (21:4222), 84230 (21:4230), 84246 (21:4246)
+Function8423c: ; 8423c (21:423c)
+ ld a, [de]
+ inc de
+ add l
+ jr nc, .asm_84242
+ inc h
+.asm_84242
+ ld l, a
+ dec bc
+ ld a, c
+ or b
+ jr nz, Function8423c
+ ret
+
+; known jump sources: 840e7 (21:40e7)
+Function84249: ; 84249 (21:4249)
+ ld a, $1
+ ld [OverworldMap], a ; $c800
+ ld a, [$cbfa]
+ ld [$c801], a
+ ld a, $e4
+ ld [$c802], a
+ ld a, [$cbfb]
+ ld [$c803], a
+ ret
+
+; known jump sources: 840a9 (21:40a9)
+Function84260: ; 84260 (21:4260)
+ ld a, [$ca81]
+ xor $ff
+ ld d, a
+ ld a, [$cf65]
+ inc a
+ add d
+ ld hl, $ca90
+ ld de, $28
+.asm_84271
+ and a
+ jr z, .asm_84278
+ add hl, de
+ dec a
+ jr .asm_84271
+.asm_84278
+ ld e, l
+ ld d, h
+ ld hl, OverworldMap ; $c800
+ ld c, $28
+.asm_8427f
+ ld a, [de]
+ inc de
+ push bc
+ push de
+ push hl
+ swap a
+ ld d, a
+ and $f0
+ ld e, a
+ ld a, d
+ and $f
+ ld d, a
+ and $8
+ ld a, d
+ jr nz, .asm_84297
+ or $90
+ jr .asm_84299
+.asm_84297
+ or $80
+.asm_84299
+ ld d, a
+ ld bc, $2101
+ call Request2bpp
+ pop hl
+ ld de, $10
+ add hl, de
+ pop de
+ pop bc
+ dec c
+ jr nz, .asm_8427f
+ ret
+
Function842ab: ; 842ab
push de
ld e, a
@@ -57451,7 +69098,7 @@
ret
; 842b7
-INCBIN "baserom.gbc", $842b7, $842db - $842b7
+INCBIN "baserom.gbc",$842b7,$842db - $842b7
Function842db: ; 842db
@@ -57467,8 +69114,193 @@
jp [hl]
; 842ea
-INCBIN "baserom.gbc", $842ea, $843f0 - $842ea
+; no known jump sources
+Jumptable_842ea: ; 842ea (21:42ea)
+ dw Function8432f
+ dw Function84330
+ dw Function84339
+ dw Function84343
+ dw Function8434d
+ dw Function84357
+ dw Function84361
+ dw Function8438b
+ dw Function84395
+ dw Function8439f
+ dw Function843a8
+ dw Function843b6
+ dw Function84330
+ dw Function843c0
+ dw Function843c9
+ dw Function843c9
+ dw Function843c9
+ dw Function843c0
+ dw Function843c9
+ dw Function8439f
+ dw Function843a8
+ dw Function843e6
+ dw Function84330
+ dw Function843d2
+ dw Function843c9
+ dw Function843c9
+ dw Function843c9
+ dw Function843d2
+ dw Function843c9
+ dw Function8439f
+ dw Function843a8
+ dw Function843b6
+
+
+; known jump sources: 84335 (21:4335), 8433f (21:433f), 84349 (21:4349), 84353 (21:4353), 8435d (21:435d), 84388 (21:4388), 84391 (21:4391), 8439b (21:439b), 843a4 (21:43a4), 843b2 (21:43b2), 843c5 (21:43c5), 843ce (21:43ce), 843d7 (21:43d7)
+Function8432a: ; 8432a (21:432a)
+ ld hl, $c2d5
+ inc [hl]
+ ret
+
+; no known jump sources
+Function8432f: ; 8432f (21:432f)
+ ret
+
+; no known jump sources
+Function84330: ; 84330 (21:4330)
+ ld a, $33
+ call Function843db
+ call Function8432a
+ ret
+
+; no known jump sources
+Function84339: ; 84339 (21:4339)
+ ld a, [$ca82]
+ call Function843db
+ call Function8432a
+ ret
+
+; no known jump sources
+Function84343: ; 84343 (21:4343)
+ ld a, [$ca83]
+ call Function843db
+ call Function8432a
+ ret
+
+; no known jump sources
+Function8434d: ; 8434d (21:434d)
+ ld a, [$ca84]
+ call Function843db
+ call Function8432a
+ ret
+
+; no known jump sources
+Function84357: ; 84357 (21:4357)
+ ld a, [$ca85]
+ call Function843db
+ call Function8432a
+ ret
+
+; no known jump sources
+Function84361: ; 84361 (21:4361)
+ ld hl, $ca8e
+ ld a, [hli]
+ ld d, [hl]
+ ld e, a
+ or d
+ jr z, .asm_84388
+ dec de
+ ld [hl], d
+ dec hl
+ ld [hl], e
+ ld a, [$ca8c]
+ ld e, a
+ ld a, [$ca8d]
+ ld d, a
+ ld hl, OverworldMap ; $c800
+ add hl, de
+ inc de
+ ld a, e
+ ld [$ca8c], a
+ ld a, d
+ ld [$ca8d], a
+ ld a, [hl]
+ call Function843db
+ ret
+.asm_84388
+ call Function8432a
+
+; no known jump sources
+Function8438b: ; 8438b (21:438b)
+ ld a, [$ca86]
+ call Function843db
+ call Function8432a
+ ret
+
+; no known jump sources
+Function84395: ; 84395 (21:4395)
+ ld a, [$ca87]
+ call Function843db
+ call Function8432a
+ ret
+
+; no known jump sources
+Function8439f: ; 8439f (21:439f)
+ ld a, $0
+ call Function843db
+ call Function8432a
+ ret
+
+; no known jump sources
+Function843a8: ; 843a8 (21:43a8)
+ ld a, [rSB] ; $ff00+$1
+ ld [$ca88], a
+ ld a, $0
+ call Function843db
+ call Function8432a
+ ret
+
+; no known jump sources
+Function843b6: ; 843b6 (21:43b6)
+ ld a, [rSB] ; $ff00+$1
+ ld [$ca89], a
+ xor a
+ ld [$c2d5], a
+ ret
+
+; no known jump sources
+Function843c0: ; 843c0 (21:43c0)
+ ld a, $f
+ call Function843db
+ call Function8432a
+ ret
+
+; no known jump sources
+Function843c9: ; 843c9 (21:43c9)
+ ld a, $0
+ call Function843db
+ call Function8432a
+ ret
+
+; no known jump sources
+Function843d2: ; 843d2 (21:43d2)
+ ld a, $8
+ call Function843db
+ call Function8432a
+ ret
+
+; known jump sources: 84332 (21:4332), 8433c (21:433c), 84346 (21:4346), 84350 (21:4350), 8435a (21:435a), 84384 (21:4384), 8438e (21:438e), 84398 (21:4398), 843a1 (21:43a1), 843af (21:43af), 843c2 (21:43c2), 843cb (21:43cb), 843d4 (21:43d4)
+Function843db: ; 843db (21:43db)
+ ld [rSB], a ; $ff00+$1
+ ld a, $1
+ ld [rSC], a ; $ff00+$2
+ ld a, $81
+ ld [rSC], a ; $ff00+$2
+ ret
+
+; no known jump sources
+Function843e6: ; 843e6 (21:43e6)
+ ld a, [rSB] ; $ff00+$1
+ ld [$ca89], a
+ xor a
+ ld [$c2d5], a
+ ret
+
Function843f0: ; 843f0
.asm_843f0
call Functiona57
@@ -57514,8 +69346,91 @@
ret
; 8442c
-INCBIN "baserom.gbc", $8442c, $84560 - $8442c
+INCBIN "baserom.gbc",$8442c,$844bc - $8442c
+; no known jump sources
+Function844bc: ; 844bc (21:44bc)
+ ld a, [$cf65]
+ push af
+ ld a, $9
+ ld [$cf65], a
+ ld a, e
+ ld [$d004], a
+ ld a, d
+ ld [StartFlypoint], a ; $d005
+ ld a, b
+ ld [EndFlypoint], a ; $d006
+ ld a, c
+ ld [MovementBuffer], a ; $d007
+ xor a
+ ld [$FF00+$ac], a
+ ld [$d003], a
+ call Function8474c
+ ld a, [rIE] ; $ff00+$ff
+ push af
+ xor a
+ ld [rIF], a ; $ff00+$f
+ ld a, $9
+ ld [rIE], a ; $ff00+$ff
+ ld hl, $ff9e
+ ld a, [hl]
+ push af
+ ld [hl], $4
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call Function84817
+ ld a, $10
+ call Function84419
+ call Function84559
+ jr c, .asm_84545
+ call Function84411
+ ld c, $c
+ call DelayFrames
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call Function8486f
+ ld a, $0
+ call Function84419
+ call Function84559
+ jr c, .asm_84545
+ call Function84411
+ ld c, $c
+ call DelayFrames
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call Function84893
+ ld a, $0
+ call Function84419
+ call Function84559
+ jr c, .asm_84545
+ call Function84411
+ ld c, $c
+ call DelayFrames
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call Function848b7
+ ld a, $3
+ call Function84419
+ call Function84559
+.asm_84545
+ pop af
+ ld [$FF00+$9e], a
+ call Function84411
+ xor a
+ ld [rIF], a ; $ff00+$f
+ pop af
+ ld [rIE], a ; $ff00+$ff
+ call Function84425
+ pop af
+ ld [$cf65], a
+ ret
+
+; known jump sources: 844fa (21:44fa), 84512 (21:4512), 8452a (21:452a), 84542 (21:4542)
+Function84559: ; 84559 (21:4559)
+ call Function84742
+ call Function843f0
+ ret
+
Function84560: ; 84560
ld a, [$cf65]
push af
@@ -57863,8 +69778,314 @@
ret
; 847bd
-INCBIN "baserom.gbc", $847bd, $84a2e - $847bd
+INCBIN "baserom.gbc",$847bd,$84817 - $847bd
+; known jump sources: 844f2 (21:44f2)
+Function84817: ; 84817 (21:4817)
+ xor a
+ ld [DefaultFlypoint], a ; $d002
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld bc, $168
+ ld a, $7f
+ call ByteFill
+ call Function84a0e
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld bc, $b4
+ ld a, $7f
+ call ByteFill
+ call Function849e9
+ call Function849d7
+ ld hl, $c4e0
+ ld de, $4865
+ call PlaceString
+ ld a, [MovementBuffer] ; $d007
+ ld bc, $9
+ ld hl, Box1Name ; $db75
+ call AddNTimes
+ ld d, h
+ ld e, l
+ ld hl, $c50a
+ call PlaceString
+ ld a, $1
+ call Function849c6
+ ld hl, $c556
+ ld c, $3
+ call Function848e7
+ ret
+; 84865 (21:4865)
+
+INCBIN "baserom.gbc",$84865,$8486f - $84865
+
+; known jump sources: 8450a (21:450a)
+Function8486f: ; 8486f (21:486f)
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld bc, $168
+ ld a, $7f
+ call ByteFill
+ call Function84a0e
+ call Function849e9
+ ld a, [$d003]
+ and a
+ ret nz
+ ld a, $4
+ call Function849c6
+ ld hl, $c4a2
+ ld c, $6
+ call Function848e7
+ ret
+
+; known jump sources: 84522 (21:4522)
+Function84893: ; 84893 (21:4893)
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld bc, $168
+ ld a, $7f
+ call ByteFill
+ call Function84a0e
+ call Function849e9
+ ld a, [$d003]
+ and a
+ ret nz
+ ld a, $a
+ call Function849c6
+ ld hl, $c4a2
+ ld c, $6
+ call Function848e7
+ ret
+
+; known jump sources: 8453a (21:453a)
+Function848b7: ; 848b7 (21:48b7)
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld bc, $168
+ ld a, $7f
+ call ByteFill
+ call Function84a0e
+ ld hl, $c5cd
+ ld bc, $212
+ call ClearBox
+ call Function849e9
+ call Function849fc
+ ld a, [$d003]
+ and a
+ ret nz
+ ld a, $10
+ call Function849c6
+ ld hl, $c4a2
+ ld c, $5
+ call Function848e7
+ ret
+
+; known jump sources: 84861 (21:4861), 8488f (21:488f), 848b3 (21:48b3), 848e3 (21:48e3)
+Function848e7: ; 848e7 (21:48e7)
+ ld a, [EndFlypoint] ; $d006
+ call GetSRAMBank
+
+; known jump sources: 8497e (21:497e)
+Function848ed: ; 848ed (21:48ed)
+ ld a, c
+ and a
+ jp z, Function84986
+ dec c
+ ld a, [de]
+ cp $ff
+ jp z, Function84981
+ ld [$d265], a
+ ld [CurPartySpecies], a ; $d108
+ push bc
+ push hl
+ push de
+ push hl
+ ld bc, $10
+ ld a, $7f
+ call ByteFill
+ pop hl
+ push hl
+ call GetBasePokemonName
+ pop hl
+ push hl
+ call PlaceString
+ ld a, [CurPartySpecies] ; $d108
+ cp $fd
+ pop hl
+ jr z, .asm_84972
+ ld bc, $b
+ add hl, bc
+ call Function8498a
+ ld bc, $9
+ add hl, bc
+ ld a, $f3
+ ld [hli], a
+ push hl
+ ld bc, $e
+ ld a, $7f
+ call ByteFill
+ pop hl
+ push hl
+ ld a, [$d004]
+ ld l, a
+ ld a, [StartFlypoint] ; $d005
+ ld h, a
+ ld bc, $372
+ add hl, bc
+ ld bc, $b
+ ld a, [DefaultFlypoint] ; $d002
+ call AddNTimes
+ ld e, l
+ ld d, h
+ pop hl
+ push hl
+ call PlaceString
+ pop hl
+ ld bc, $b
+ add hl, bc
+ push hl
+ ld a, [$d004]
+ ld l, a
+ ld a, [StartFlypoint] ; $d005
+ ld h, a
+ ld bc, $35
+ add hl, bc
+ ld bc, $20
+ ld a, [DefaultFlypoint] ; $d002
+ call AddNTimes
+ ld a, [hl]
+ pop hl
+ call Function383d
+.asm_84972
+ ld hl, DefaultFlypoint ; $d002
+ inc [hl]
+ pop de
+ pop hl
+ ld bc, $3c
+ add hl, bc
+ pop bc
+ inc de
+ jp Function848ed
+
+; known jump sources: 848f6 (21:48f6)
+Function84981: ; 84981 (21:4981)
+ ld a, $1
+ ld [$d003], a
+
+; known jump sources: 848ef (21:48ef)
+Function84986: ; 84986 (21:4986)
+ call CloseSRAM
+ ret
+
+; known jump sources: 84921 (21:4921)
+Function8498a: ; 8498a (21:498a)
+ push hl
+ ld a, [$d004]
+ ld l, a
+ ld a, [StartFlypoint] ; $d005
+ ld h, a
+ ld bc, $2b
+ add hl, bc
+ ld bc, $20
+ ld a, [DefaultFlypoint] ; $d002
+ call AddNTimes
+ ld de, TempMonDVs ; $d123
+ ld a, [hli]
+ ld [de], a
+ inc de
+ ld a, [hli]
+ ld [de], a
+ ld a, [DefaultFlypoint] ; $d002
+ ld [CurPartyMon], a ; $d109
+ ld a, $3
+ ld [MonType], a ; $cf5f
+ ld a, BANK(GetGender)
+ ld hl, GetGender
+ rst $8 ; ; indirect jump to GetGender (50bdd (14:4bdd))
+ ld a, $7f
+ jr c, .asm_849c3
+ ld a, $ef
+ jr nz, .asm_849c3
+ ld a, $f5
+.asm_849c3
+ pop hl
+ ld [hli], a
+ ret
+
+; known jump sources: 84859 (21:4859), 84887 (21:4887), 848ab (21:48ab), 848db (21:48db)
+Function849c6: ; 849c6 (21:49c6)
+ push hl
+ ld e, a
+ ld d, $0
+ ld a, [$d004]
+ ld l, a
+ ld a, [StartFlypoint] ; $d005
+ ld h, a
+ add hl, de
+ ld e, l
+ ld d, h
+ pop hl
+ ret
+
+; known jump sources: 84837 (21:4837)
+Function849d7: ; 849d7 (21:49d7)
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld a, $79
+ ld [hli], a
+ ld a, $7a
+ ld c, $12
+.asm_849e1
+ ld [hli], a
+ dec c
+ jr nz, .asm_849e1
+ ld a, $7b
+ ld [hl], a
+ ret
+
+; known jump sources: 84834 (21:4834), 8487d (21:487d), 848a1 (21:48a1), 848ce (21:48ce)
+Function849e9: ; 849e9 (21:49e9)
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld de, $13
+ ld c, $12
+.asm_849f1
+ ld a, $7c
+ ld [hl], a
+ add hl, de
+ ld a, $7c
+ ld [hli], a
+ dec c
+ jr nz, .asm_849f1
+ ret
+
+; known jump sources: 848d1 (21:48d1)
+Function849fc: ; 849fc (21:49fc)
+ ld hl, $c5f4
+ ld a, $7d
+ ld [hli], a
+ ld a, $7a
+ ld c, $12
+.asm_84a06
+ ld [hli], a
+ dec c
+ jr nz, .asm_84a06
+ ld a, $7e
+ ld [hl], a
+ ret
+
+; known jump sources: 84826 (21:4826), 8487a (21:487a), 8489e (21:489e), 848c2 (21:48c2)
+Function84a0e: ; 84a0e (21:4a0e)
+ ld hl, $c4a2
+ ld c, $6
+.asm_84a13
+ push bc
+ push hl
+ ld de, $4a25
+ call PlaceString
+ pop hl
+ ld bc, $3c
+ add hl, bc
+ pop bc
+ dec c
+ jr nz, .asm_84a13
+ ret
+; 84a25 (21:4a25)
+
+INCBIN "baserom.gbc",$84a25,$84a2e - $84a25
+
FX00GFX:
FX01GFX: ; 84a2e
INCBIN "gfx/fx/001.lz"
@@ -58176,7 +70397,7 @@
ret
; 8652c
-INCBIN "baserom.gbc", $8652c, $8653f - $8652c
+INCBIN "baserom.gbc",$8652c,$8653f - $8652c
Function8653f: ; 8653f
@@ -58341,7 +70562,7 @@
jr .asm_86643
; 86650
-INCBIN "baserom.gbc", $86650, $8671c - $86650
+INCBIN "baserom.gbc",$86650,$8671c - $86650
Function8671c: ; 8671c
@@ -58561,7 +70782,7 @@
ret
; 88007
-INCBIN "baserom.gbc", $88007, $8800c - $88007
+INCBIN "baserom.gbc",$88007,$8800c - $88007
Function8800c: ; 8800c
ld hl, $4013
@@ -58569,7 +70790,7 @@
ret
; 88013
-INCBIN "baserom.gbc", $88013, $88018 - $88013
+INCBIN "baserom.gbc",$88013,$88018 - $88013
Function88018: ; 88018
call Function1d6e
@@ -58632,7 +70853,7 @@
ret
; 88086
-INCBIN "baserom.gbc", $88086, $880c2 - $88086
+INCBIN "baserom.gbc",$88086,$880c2 - $88086
Function880c2: ; 880c2
ld a, [CurItem]
@@ -58670,7 +70891,7 @@
ret
; 8810d
-INCBIN "baserom.gbc", $8810d, $88116 - $8810d
+INCBIN "baserom.gbc",$8810d,$88116 - $8810d
Function88116: ; 88116
call Function1cfd
@@ -58906,7 +71127,7 @@
ret
; 88248
-INCBIN "baserom.gbc", $88248, $88258 - $88248
+INCBIN "baserom.gbc",$88248,$88258 - $88248
MovePlayerPicRight: ; 88258
hlcoord 6, 4
@@ -59013,7 +71234,7 @@
db " NAME @" ; title
; 88318
-INCBIN "baserom.gbc", $88318, $8832c - $88318
+INCBIN "baserom.gbc",$88318,$8832c - $88318
GetPlayerIcon: ; 8832c
; Get the player icon corresponding to gender
@@ -59035,9 +71256,27 @@
; 8833e
-INCBIN "baserom.gbc", $8833e, $88825 - $8833e
+ ld hl, $4365
+ ld a, [PlayerGender] ; $d472
+ bit 0, a
+ jr z, .asm_8834b
+ ld hl, $4595
+.asm_8834b
+ ld de, $9000
+ ld bc, $230
+ ld a, $22
+ call FarCopyBytes
+ ld hl, $47c5
+ ld de, $9230
+ ld bc, $60
+ ld a, $22
+ call FarCopyBytes
+ ret
+; 88365 (22:4365)
+INCBIN "baserom.gbc",$88365,$88825 - $88365
+
GetPlayerBackpic: ; 88825
ld a, [PlayerGender]
bit 0, a
@@ -59124,11 +71363,11 @@
ChrisPic: ; 888a9
-INCBIN "baserom.gbc", $888a9, $88bb9 - $888a9
+INCBIN "baserom.gbc",$888a9,$88bb9 - $888a9
; 88bb9
KrisPic: ; 88bb9
-INCBIN "baserom.gbc", $88bb9, $88ec9 - $88bb9
+INCBIN "baserom.gbc",$88bb9,$88ec9 - $88bb9
; 88ec9
@@ -59142,11 +71381,11 @@
; 88ed6
KrisBackpic: ; 88ed6
-INCBIN "baserom.gbc", $88ed6, $89116 - $88ed6
+INCBIN "baserom.gbc",$88ed6,$89116 - $88ed6
; 89116
-INCBIN "baserom.gbc", $89116, $89160 - $89116
+INCBIN "baserom.gbc",$89116,$89160 - $89116
Function89160: ; 89160
push af
@@ -59156,8 +71395,50 @@
ret
; 89168
-INCBIN "baserom.gbc", $89168, $89193 - $89168
+; known jump sources: 89e63 (22:5e63), 8a166 (22:6166), 8a2e5 (22:62e5)
+Function89168: ; 89168 (22:5168)
+ ld hl, GameTimerPause ; $cfbc
+ set 7, [hl]
+ ret
+
+; known jump sources: 8a13b (22:613b)
+Function8916e: ; 8916e (22:516e)
+ ld hl, GameTimerPause ; $cfbc
+ res 7, [hl]
+ ret
+
+; known jump sources: 8a140 (22:6140)
+Function89174: ; 89174 (22:5174)
+ ld hl, GameTimerPause ; $cfbc
+ bit 7, [hl]
+ ret
+
+; known jump sources: 89e00 (22:5e00)
+Function8917a: ; 8917a (22:517a)
+ ld hl, DefaultFlypoint ; $d002
+ ld bc, $32
+ xor a
+ call ByteFill
+ ret
+
+; known jump sources: 8a772 (22:6772), 8a782 (22:6782), 8aacc (22:6acc), 8ab1c (22:6b1c), 8b3aa (22:73aa)
+Function89185: ; 89185 (22:5185)
+ push de
+ push hl
+.asm_89187
+ ld a, [de]
+ inc de
+ cp [hl]
+ jr nz, .asm_89190
+ inc hl
+ dec c
+ jr nz, .asm_89187
+.asm_89190
+ pop hl
+ pop de
+ ret
+
Function89193: ; 89193
push de
push hl
@@ -59172,8 +71453,21 @@
ret
; 8919e
-INCBIN "baserom.gbc", $8919e, $891ab - $8919e
+; known jump sources: 8a46f (22:646f)
+Function8919e: ; 8919e (22:519e)
+ ld a, c
+ and a
+ ret z
+.asm_891a1
+ ld a, [de]
+ inc de
+ cp $50
+ jr nz, .asm_891a1
+ dec c
+ jr nz, .asm_891a1
+ ret
+
Function891ab: ; 891ab
call Function89240
callba Function104061
@@ -59191,8 +71485,24 @@
ret
; 891ca
-INCBIN "baserom.gbc", $891ca, $891de - $891ca
+; known jump sources: 891d4 (22:51d4)
+Function891ca: ; 891ca (22:51ca)
+ push bc
+ call Function891b8
+ call WaitBGMap
+ pop bc
+ ret
+
+; known jump sources: 8a748 (22:6748)
+Function891d3: ; 891d3 (22:51d3)
+ push bc
+ call Function891ca
+ ld c, $10
+ call DelayFrames
+ pop bc
+ ret
+
Function891de: ; 891de
call Function8923c
call ClearPalettes
@@ -59240,8 +71550,35 @@
ret
; 8921f
-INCBIN "baserom.gbc", $8921f, $8923c - $8921f
+; known jump sources: 89a2a (22:5a2a)
+Function8921f: ; 8921f (22:521f)
+ push de
+ ld de, $14
+ add hl, de
+ inc hl
+ ld a, $7f
+.asm_89227
+ push bc
+ push hl
+.asm_89229
+ ld [hli], a
+ dec c
+ jr nz, .asm_89229
+ pop hl
+ add hl, de
+ pop bc
+ dec b
+ jr nz, .asm_89227
+ pop de
+ ret
+
+; known jump sources: 8a037 (22:6037), 8ab0c (22:6b0c)
+Function89235: ; 89235 (22:5235)
+ call Functiona36
+ call PlayClickSFX
+ ret
+
Function8923c: ; 8923c
xor a
ld [hBGMapMode], a
@@ -59254,8 +71591,24 @@
ret
; 89245
-INCBIN "baserom.gbc", $89245, $89259 - $89245
+; known jump sources: 89e72 (22:5e72), 8a163 (22:6163), 8a2e2 (22:62e2)
+Function89245: ; 89245 (22:5245)
+ ld a, BANK(Function14ea5)
+ ld hl, Function14ea5
+ rst $8 ; ; indirect jump to Function14ea5 (14ea5 (5:4ea5))
+ ret c
+ ld a, BANK(Function150b9)
+ ld hl, Function150b9
+ rst $8 ; ; indirect jump to Function150b9 (150b9 (5:50b9))
+ and a
+ ret
+
+; known jump sources: 8a73a (22:673a), 8a8ba (22:68ba), 8a8ec (22:68ec), 8ab32 (22:6b32)
+Function89254: ; 89254 (22:5254)
+ ld bc, $d07
+ jr Function89261
+
Function89259: ; 89259
ld bc, $0e07
jr Function89261
@@ -59304,8 +71657,12 @@
ret
; 892a3
-INCBIN "baserom.gbc", $892a3, $892b7 - $892a3
+INCBIN "baserom.gbc",$892a3,$892b4 - $892a3
+; known jump sources: 89313 (22:5313), 8a8f4 (22:68f4), 8b9ff (22:79ff)
+Function892b4: ; 892b4 (22:52b4)
+ call Function8931b
+
Function892b7: ; 892b7
ld d, b
ld e, c
@@ -59355,8 +71712,23 @@
ret
; 89305
-INCBIN "baserom.gbc", $89305, $8931b - $89305
+; known jump sources: 8a301 (22:6301)
+Function89305: ; 89305 (22:5305)
+ xor a
+ ld [MenuSelection], a ; $cf74
+ ld c, $28
+.asm_8930b
+ ld a, [MenuSelection] ; $cf74
+ inc a
+ ld [MenuSelection], a ; $cf74
+ push bc
+ call Function892b4
+ pop bc
+ dec c
+ jr nz, .asm_8930b
+ ret
+
Function8931b: ; 8931b
push hl
ld hl, $a03b
@@ -59398,11 +71770,17 @@
ret
; 89346
-INCBIN "baserom.gbc", $89346, $8934a - $89346
+; known jump sources: 899b5 (22:59b5)
+Function89346: ; 89346 (22:5346)
+ ld h, b
+ ld l, c
+ jr asm_8934e
+
Function8934a: ; 8934a
ld hl, $0006
add hl, bc
+asm_8934e:
push bc
ld c, $5
.asm_89351
@@ -59491,8 +71869,19 @@
ret
; 893b3
-INCBIN "baserom.gbc", $893b3, $893cc - $893b3
+; known jump sources: 893e5 (22:53e5)
+Function893b3: ; 893b3 (22:53b3)
+ call DisableLCD
+ call ClearSprites
+ call Functione51
+ call Functione5f
+ call Function893ef
+ call Function8942b
+ call Function89455
+ call EnableLCD
+ ret
+
Function893cc: ; 893cc
call DisableLCD
call ClearSprites
@@ -59504,8 +71893,15 @@
ret
; 893e2
-INCBIN "baserom.gbc", $893e2, $893ef - $893e2
+; known jump sources: 89b2e (22:5b2e), 89e60 (22:5e60), 89ee4 (22:5ee4), 8a160 (22:6160), 8a265 (22:6265)
+Function893e2: ; 893e2 (22:53e2)
+ call Function89b1e
+ call Function893b3
+ call Function8a5b6
+ call Function8949c
+ ret
+
Function893ef: ; 893ef
ld de, VTiles0
ld hl, $540b
@@ -59515,8 +71911,44 @@
ret
; 893fe
-INCBIN "baserom.gbc", $893fe, $89464 - $893fe
+INCBIN "baserom.gbc",$893fe,$8942b - $893fe
+; known jump sources: 893c2 (22:53c2)
+Function8942b: ; 8942b (22:542b)
+ ld de, $8020
+ ld hl, $61bf
+ ld bc, $80
+ ld a, $5e
+ call FarCopyBytes
+ ld de, $80a0
+ ld hl, $664f
+ ld bc, $40
+ ld a, $5e
+ call FarCopyBytes
+ ret
+
+; known jump sources: 89b9c (22:5b9c), 89c4a (22:5c4a), 89fe1 (22:5fe1), 8a36a (22:636a), 8a370 (22:6370), 8a6b8 (22:66b8), 8a70a (22:670a), 8a726 (22:6726), 8a745 (22:6745), 8a90f (22:690f), 8aa52 (22:6a52), 8aa61 (22:6a61), 8aa69 (22:6a69), 8b563 (22:7563), 8b595 (22:7595), 8b5b8 (22:75b8), 8b5c9 (22:75c9), 8b610 (22:7610), 8b63d (22:763d)
+Function89448: ; 89448 (22:5448)
+ push af
+ ld hl, Sprites ; $c400
+ ld d, $60
+ xor a
+.asm_8944f
+ ld [hli], a
+ dec d
+ jr nz, .asm_8944f
+ pop af
+ ret
+
+; known jump sources: 893c5 (22:53c5)
+Function89455: ; 89455 (22:5455)
+ ld hl, $61bf
+ ld de, $90c0
+ ld bc, $490
+ ld a, $5e
+ call FarCopyBytes
+ ret
+
Function89464: ; 89464
ld hl, $59ef
ld de, VTiles2
@@ -59544,8 +71976,16 @@
ret
; 89492
-INCBIN "baserom.gbc", $89492, $8949c - $89492
+; known jump sources: 8a002 (22:6002), 8aa34 (22:6a34), 8aaa9 (22:6aa9), 8ab47 (22:6b47)
+Function89492: ; 89492 (22:5492)
+ ld d, $0
+ ld a, [PlayerGender] ; $d472
+ bit 0, a
+ ret z
+ inc d
+ ret
+
Function8949c: ; 8949c
ld a, [rSVBK]
push af
@@ -59560,7 +72000,7 @@
ret
; 894b3
-INCBIN "baserom.gbc", $894b3, $894bb - $894b3
+INCBIN "baserom.gbc",$894b3,$894bb - $894b3
Function894bb: ; 894bb
call Function894dc
@@ -59572,8 +72012,18 @@
ret
; 894ca
-INCBIN "baserom.gbc", $894ca, $894dc - $894ca
+; known jump sources: 8a005 (22:6005), 8aa37 (22:6a37), 8aaac (22:6aac), 8ab4a (22:6b4a)
+Function894ca: ; 894ca (22:54ca)
+ push bc
+ call Function894dc
+ call Function895c7
+ call Function8949c
+ call Function8a60d
+ call Function32f9
+ pop bc
+ ret
+
Function894dc: ; 894dc
push bc
ld a, [rSVBK]
@@ -59601,7 +72051,7 @@
ret
; 89509
-INCBIN "baserom.gbc", $89509, $8956f - $89509
+INCBIN "baserom.gbc",$89509,$8956f - $89509
Function8956f: ; 8956f
push bc
@@ -59658,8 +72108,24 @@
ret
; 895c7
-INCBIN "baserom.gbc", $895c7, $895f2 - $895c7
+; known jump sources: 894ce (22:54ce)
+Function895c7: ; 895c7 (22:55c7)
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $5
+ ld [rSVBK], a ; $ff00+$70
+ ld hl, $55de
+ ld de, $d030
+ ld bc, $8
+ call CopyBytes
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ ret
+; 895de (22:55de)
+
+INCBIN "baserom.gbc",$895de,$895f2 - $895de
+
Function895f2: ; 895f2
push bc
xor a
@@ -59758,8 +72224,17 @@
ret
; 8967a
-INCBIN "baserom.gbc", $8967a, $89688 - $8967a
+; known jump sources: 89885 (22:5885)
+Function8967a: ; 8967a (22:567a)
+ push bc
+ call Function89688
+ ld hl, $c4a2
+ ld c, $c
+ call Function896f5
+ pop bc
+ ret
+
Function89688: ; 89688
ld hl, TileMap
ld a, $1
@@ -60067,8 +72542,47 @@
ret
; 89807
-INCBIN "baserom.gbc", $89807, $89844 - $89807
+; known jump sources: 89fff (22:5fff), 8aa31 (22:6a31), 8aaa6 (22:6aa6), 8ab44 (22:6b44)
+Function89807: ; 89807 (22:5807)
+ ld hl, $5bef
+ ld a, [PlayerGender] ; $d472
+ bit 0, a
+ jr z, .asm_89814
+ ld hl, $5e1f
+.asm_89814
+ call DisableLCD
+ ld de, $9370
+ ld bc, $230
+ ld a, $5e
+ call FarCopyBytes
+ call EnableLCD
+ call DelayFrame
+ ret
+
+; known jump sources: 89894 (22:5894)
+Function89829: ; 89829 (22:5829)
+ push bc
+ ld bc, $705
+ ld de, $14
+ ld a, $37
+.asm_89832
+ push bc
+ push hl
+.asm_89834
+ ld [hli], a
+ inc a
+ dec c
+ jr nz, .asm_89834
+ pop hl
+ add hl, de
+ pop bc
+ dec b
+ jr nz, .asm_89832
+ call Function8963d
+ pop bc
+ ret
+
Function89844: ; 89844
call Function89481
call Function894bb
@@ -60100,8 +72614,25 @@
ret
; 8987f
-INCBIN "baserom.gbc", $8987f, $898aa - $8987f
+; known jump sources: 8a022 (22:6022), 8aa3a (22:6a3a), 8ab5c (22:6b5c)
+Function8987f: ; 8987f (22:587f)
+ call Function891b8
+ call Function895f2
+ call Function8967a
+ call Function899d3
+ ld hl, $c4b9
+ call Function8999c
+ ld hl, $c4e9
+ call Function89829
+ call Function899b2
+ ld hl, $c509
+ call Function899c9
+ ld bc, $d008
+ ld hl, $c56a
+ call Function89975
+ ret
+
Function898aa: ; 898aa
ld a, [MenuSelection]
and a
@@ -60212,7 +72743,7 @@
ret
; 89942
-INCBIN "baserom.gbc", $89942, $8994e - $89942
+INCBIN "baserom.gbc",$89942,$8994e - $89942
Function8994e: ; 8994e
push hl
@@ -60287,8 +72818,42 @@
ret
; 8999c
-INCBIN "baserom.gbc", $8999c, $899d3 - $8999c
+; known jump sources: 8988e (22:588e)
+Function8999c: ; 8999c (22:599c)
+ ld de, PlayerName ; $d47d
+ call PlaceString
+ inc bc
+ ld h, b
+ ld l, c
+ ld de, $59ac
+ call PlaceString
+ ret
+; 899ac (22:59ac)
+
+INCBIN "baserom.gbc",$899ac,$899b2 - $899ac
+
+; known jump sources: 89897 (22:5897)
+Function899b2: ; 899b2 (22:59b2)
+ ld bc, PlayerName ; $d47d
+ call Function89346
+ jr c, .asm_899bf
+ ld de, PlayerName ; $d47d
+ jr .asm_899c2
+.asm_899bf
+ ld de, $5116
+.asm_899c2
+ ld hl, $c4f6
+ call PlaceString
+ ret
+
+; known jump sources: 8989d (22:589d)
+Function899c9: ; 899c9 (22:59c9)
+ ld de, PlayerID ; $d47b
+ ld bc, $8205
+ call PrintNum
+ ret
+
Function899d3: ; 899d3
ld hl, $c4f1
call Function89753
@@ -60336,8 +72901,33 @@
ret
; 89a23
-INCBIN "baserom.gbc", $89a23, $89a57 - $89a23
+; known jump sources: 8a729 (22:6729), 8a818 (22:6818), 8a8ac (22:68ac), 8a8fa (22:68fa), 8aab6 (22:6ab6), 8ab24 (22:6b24)
+Function89a23: ; 89a23 (22:5a23)
+ ld hl, $c57c
+ ld b, $4
+ ld c, $12
+ call Function8921f
+ ret
+
+; known jump sources: 8a6ee (22:66ee), 8a80d (22:680d), 8aa3d (22:6a3d)
+Function89a2e: ; 89a2e (22:5a2e)
+ ld hl, $c59b
+ ld b, $2
+ ld c, $6
+ call TextBox
+ ld hl, $c5b1
+ ld de, $5a4e
+ call PlaceString
+ ld hl, $c5c5
+ ld de, $5a53
+ call PlaceString
+ call Function89655
+ ret
+; 89a4e (22:5a4e)
+
+INCBIN "baserom.gbc",$89a4e,$89a57 - $89a4e
+
Function89a57: ; 89a57
call Function354b
bit 6, c
@@ -60473,8 +73063,43 @@
ret
; 89b00
-INCBIN "baserom.gbc", $89b00, $89b45 - $89b00
+; known jump sources: 89b24 (22:5b24)
+Function89b00: ; 89b00 (22:5b00)
+ ld a, BANK(Function49351)
+ ld hl, Function49351
+ rst $8 ; ; indirect jump to Function49351 (49351 (12:5351))
+ ret
+; 89b07 (22:5b07)
+
+INCBIN "baserom.gbc",$89b07,$89b1e - $89b07
+
+; known jump sources: 893e2 (22:53e2)
+Function89b1e: ; 89b1e (22:5b1e)
+ ld a, BANK(Function4a485)
+ ld hl, Function4a485
+ rst $8 ; ; indirect jump to Function4a485 (4a485 (12:6485))
+ call Function89b00
+ ret
+
+; known jump sources: 8a24f (22:624f), 8a66d (22:666d), 8a9b5 (22:69b5), 8aba5 (22:6ba5)
+Function89b28: ; 89b28 (22:5b28)
+ call Function891de
+ call WhiteBGMap
+ call Function893e2
+ call Function1d7d
+ call Function891ab
+ call Function32f9
+ ret
+
+; known jump sources: 8a182 (22:6182), 8a3c6 (22:63c6), 8a3d5 (22:63d5), 8a9d6 (22:69d6), 8b4bd (22:74bd)
+Function89b3b: ; 89b3b (22:5b3b)
+ call Function8923c
+ ld a, BANK(Function48cda)
+ ld hl, Function48cda
+ rst $8 ; ; indirect jump to Function48cda (48cda (12:4cda))
+ ret
+
Function89b45: ; 89b45
push hl
push bc
@@ -60523,8 +73148,1418 @@
ret
; 89b78
-INCBIN "baserom.gbc", $89b78, $8a60d - $89b78
+; known jump sources: 8b47a (22:747a)
+Function89b78: ; 89b78 (22:5b78)
+ push bc
+ ld a, [$d010]
+ cp $10
+ jr c, .asm_89b8c
+ ld a, e
+ and a
+ jr z, .asm_89b89
+ ld c, e
+.asm_89b85
+ inc hl
+ dec c
+ jr nz, .asm_89b85
+.asm_89b89
+ ld a, $7f
+ ld [hl], a
+.asm_89b8c
+ ld a, [$d010]
+ inc a
+ and $1f
+ ld [$d010], a
+ pop bc
+ ret
+
+; known jump sources: 8a6fb (22:66fb), 8aa43 (22:6a43)
+Function89b97: ; 89b97 (22:5b97)
+ call Function89c34
+ jr c, .asm_89ba0
+ call Function89448
+ ret
+.asm_89ba0
+ ld a, [$d011]
+ ld hl, $5bd8
+ and a
+ jr z, .asm_89bae
+.asm_89ba9
+ inc hl
+ inc hl
+ dec a
+ jr nz, .asm_89ba9
+.asm_89bae
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld de, Sprites ; $c400
+.asm_89bb4
+ ld a, [hli]
+ cp $ff
+ ret z
+ ld c, a
+ ld b, $0
+.asm_89bbb
+ push hl
+ ld a, [hli]
+ ld [de], a
+ inc de
+ ld a, [hli]
+ add b
+ ld [de], a
+ inc de
+ ld a, $8
+ add b
+ ld b, a
+ ld a, [hli]
+ ld [de], a
+ inc de
+ ld a, [hli]
+ ld [de], a
+ inc de
+ pop hl
+ dec c
+ jr nz, .asm_89bbb
+ ld b, $0
+ ld c, $4
+ add hl, bc
+ jr .asm_89bb4
+; 89bd8 (22:5bd8)
+
+INCBIN "baserom.gbc",$89bd8,$89c34 - $89bd8
+
+; known jump sources: 89b97 (22:5b97), 89c44 (22:5c44)
+Function89c34: ; 89c34 (22:5c34)
+ push bc
+ ld a, [$d012]
+ ld c, a
+ inc a
+ and $f
+ ld [$d012], a
+ ld a, c
+ cp $8
+ pop bc
+ ret
+
+; known jump sources: 8b481 (22:7481), 8b54e (22:754e), 8b5ff (22:75ff)
+Function89c44: ; 89c44 (22:5c44)
+ call Function89c34
+ jr c, .asm_89c4f
+ push de
+ call Function89448
+ pop de
+ ret
+.asm_89c4f
+ ld hl, Sprites ; $c400
+ push de
+ ld a, b
+ ld [hli], a
+ ld d, $8
+ ld a, e
+ and a
+ ld a, c
+ jr z, .asm_89c60
+.asm_89c5c
+ add d
+ dec e
+ jr nz, .asm_89c5c
+.asm_89c60
+ pop de
+ ld [hli], a
+ ld a, d
+ ld [hli], a
+ xor a
+ ld [hli], a
+ ret
+
+; known jump sources: 8a6fe (22:66fe), 8aa46 (22:6a46)
+Function89c67: ; 89c67 (22:5c67)
+ call Function354b
+ ld b, $0
+ bit 0, c
+ jr z, .asm_89c74
+ ld b, $1
+ and a
+ ret
+.asm_89c74
+ bit 1, c
+ jr z, .asm_89c7a
+ scf
+ ret
+.asm_89c7a
+ xor a
+ bit 6, c
+ jr z, .asm_89c81
+ ld a, $1
+.asm_89c81
+ bit 7, c
+ jr z, .asm_89c87
+ ld a, $2
+.asm_89c87
+ bit 5, c
+ jr z, .asm_89c8d
+ ld a, $3
+.asm_89c8d
+ bit 4, c
+ jr z, .asm_89c93
+ ld a, $4
+.asm_89c93
+ and a
+ ret z
+ dec a
+ ld c, a
+ ld d, $0
+ ld hl, $5cbf
+ ld a, [$d02f]
+ and a
+ jr z, .asm_89ca5
+ ld hl, $5ccf
+.asm_89ca5
+ ld a, [$d011]
+ and a
+ jr z, .asm_89cb1
+ ld e, $4
+.asm_89cad
+ add hl, de
+ dec a
+ jr nz, .asm_89cad
+.asm_89cb1
+ ld e, c
+ add hl, de
+ ld a, [hl]
+ and a
+ ret z
+ dec a
+ ld [$d011], a
+ xor a
+ ld [$d012], a
+ ret
+; 89cbf (22:5cbf)
+
+INCBIN "baserom.gbc",$89cbf,$89cdf - $89cbf
+
+; known jump sources: 8a50e (22:650e)
+Function89cdf: ; 89cdf (22:5cdf)
+ ld a, $10
+ add b
+ ld b, a
+ ld a, $8
+ add c
+ ld c, a
+ ld e, $2
+ ld a, $2
+ ld hl, Sprites ; $c400
+.asm_89cee
+ push af
+ push bc
+ ld d, $4
+.asm_89cf2
+ ld a, b
+ ld [hli], a
+ ld a, c
+ ld [hli], a
+ ld a, e
+ ld [hli], a
+ ld a, $1
+ ld [hli], a
+ ld a, $8
+ add c
+ ld c, a
+ inc e
+ dec d
+ jr nz, .asm_89cf2
+ pop bc
+ ld a, $8
+ add b
+ ld b, a
+ pop af
+ dec a
+ jr nz, .asm_89cee
+ ret
+
+; known jump sources: 8a6c8 (22:66c8), 8ab89 (22:6b89)
+Function89d0d: ; 89d0d (22:5d0d)
+ call Function8923c
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $5
+ ld [rSVBK], a ; $ff00+$70
+ ld c, $8
+ ld de, Unkn1Pals ; $d000
+.asm_89d1c
+ push bc
+ ld hl, $5d4e
+ ld bc, $8
+ call CopyBytes
+ pop bc
+ dec c
+ jr nz, .asm_89d1c
+ ld hl, $5d56
+ ld de, $d010
+ ld bc, $8
+ call CopyBytes
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ call Function32f9
+ ld a, BANK(Function845db)
+ ld hl, Function845db
+ rst $8 ; ; indirect jump to Function845db (845db (21:45db))
+ call Function89240
+ ld c, $18
+ call DelayFrames
+ call Function3d47
+ ret
+; 89d4e (22:5d4e)
+
+INCBIN "baserom.gbc",$89d4e,$89d5e - $89d4e
+
+; known jump sources: 8a18b (22:618b), 8a9de (22:69de), 8b989 (22:7989)
+Function89d5e: ; 89d5e (22:5d5e)
+ push af
+ call Function1d3c
+ pop af
+ ld [$cf88], a
+ call Function8923c
+ call Function1c89
+ call Function1c10
+ ld hl, $cfa5
+ set 7, [hl]
+ ret
+
+; known jump sources: 8a191 (22:6191)
+Function89d75: ; 89d75 (22:5d75)
+ push hl
+ call Function8923c
+ call _hl_
+ ld a, BANK(Function104148)
+ ld hl, Function104148
+ rst $8 ; ; indirect jump to Function104148 (104148 (41:4148))
+ pop hl
+ jr asm_89d90
+
+; known jump sources: 8a9e4 (22:69e4), 8b98f (22:798f)
+Function89d85: ; 89d85 (22:5d85)
+ push hl
+ call Function8923c
+ call _hl_
+ call Function3238
+ pop hl
+
+; known jump sources: 89d83 (22:5d83), 89da5 (22:5da5)
+asm_89d90: ; 89d90 (22:5d90)
+ call Function8923c
+ push hl
+ call _hl_
+ call Function89dab
+ ld a, [$cfa9]
+ push af
+ call Function891ab
+ pop af
+ pop hl
+ jr c, .asm_89da9
+ jr z, asm_89d90
+ scf
+ ret
+.asm_89da9
+ and a
+ ret
+
+; known jump sources: 89d97 (22:5d97)
+Function89dab: ; 89dab (22:5dab)
+ call Function8923c
+ ld a, BANK(Function241ba)
+ ld hl, Function241ba
+ rst $8 ; ; indirect jump to Function241ba (241ba (9:41ba))
+ call Function8923c
+ ld a, c
+ ld hl, $cfa8
+ and [hl]
+ ret z
+ bit 0, a
+ jr nz, .asm_89dc7
+ bit 1, a
+ jr nz, .asm_89dd9
+ xor a
+ ret
+.asm_89dc7
+ call PlayClickSFX
+ ld a, [$cfa3]
+ ld c, a
+ ld a, [$cfa9]
+ cp c
+ jr z, .asm_89dd9
+ call Function1bee
+ scf
+ ret
+.asm_89dd9
+ call PlayClickSFX
+ ld a, $1
+ and a
+ ret
+
+; no known jump sources
+Function89de0: ; 89de0 (22:5de0)
+ call ClearSprites
+ call Function89e0a
+ jr c, .asm_89e00
+ ld c, $1
+.asm_89dea
+ call Function8a31c
+ jr z, .asm_89dfd
+ ld a, [$cfa9]
+ ld c, a
+ push bc
+ ld hl, $5e04
+ ld a, e
+ dec a
+ rst $28
+ pop bc
+ jr .asm_89dea
+.asm_89dfd
+ call Function891fe
+.asm_89e00
+ call Function8917a
+ ret
+
+; no known jump sources
+Jumptable_89e04: ; 89e04 (22:5e04)
+ dw Function8a62c
+ dw Function8a999
+ dw Function8ab93
+
+
+; known jump sources: 89de3 (22:5de3)
+Function89e0a: ; 89e0a (22:5e0a)
+ call Function89160
+ call Function8b3b0
+ call CloseSRAM
+ ld hl, $5e18
+ rst $28
+ ret
+
+; no known jump sources
+Jumptable_89e18: ; 89e18 (22:5e18)
+ dw Function89e1e
+ dw Function8a116
+ dw Function8a2aa
+
+
+; no known jump sources
+Function89e1e: ; 89e1e (22:5e1e)
+ call Function89160
+ ld bc, $a037
+ call Function8b36c
+ call CloseSRAM
+ xor a
+ ld [$d02d], a
+
+; known jump sources: 89e3a (22:5e3a)
+asm_89e2e: ; 89e2e (22:5e2e)
+ ld a, [$d02d]
+ ld hl, $5e3c
+ rst $28
+ ret
+
+; known jump sources: 89e97 (22:5e97), 89ede (22:5ede), 89f67 (22:5f67), 89fea (22:5fea), 89ff3 (22:5ff3), 8a03a (22:603a), 8a049 (22:6049), 8a052 (22:6052), 8a09e (22:609e), 8a0e9 (22:60e9), 8a0f2 (22:60f2), 8a0ff (22:60ff)
+Function89e36: ; 89e36 (22:5e36)
+ ld hl, $d02d
+ inc [hl]
+ jr asm_89e2e
+
+; no known jump sources
+Jumptable_89e3c: ; 89e3c (22:5e3c)
+ dw Function89e6f
+ dw Function89fed
+ dw Function89ff6
+ dw Function8a03d
+ dw Function89eb9
+ dw Function89efd
+ dw Function89fce
+ dw Function8a04c
+ dw Function8a055
+ dw Function8a0e6
+ dw Function8a0ec
+ dw Function8a0f5
+ dw Function89e58
+ dw Function89e68
+
+
+; no known jump sources
+Function89e58: ; 89e58 (22:5e58)
+ ld a, $1
+ call Function8a2fe
+ call Function891fe
+ call Function893e2
+ call Function89168
+ and a
+ ret
+
+; no known jump sources
+Function89e68: ; 89e68 (22:5e68)
+ call Function891fe
+ ld a, $1
+ scf
+ ret
+
+; no known jump sources
+Function89e6f: ; 89e6f (22:5e6f)
+ call Function891de
+ call Function89245
+ call Function89ee1
+ call Function89e9a
+ ld hl, $c4f7
+ call Function8a58d
+ ld a, $5
+ ld hl, $ce30
+ call Function8a5a3
+ ld a, $6
+ ld hl, $ce33
+ call Function8a5a3
+ call Function891ab
+ call Function32f9
+ jp Function89e36
+
+; known jump sources: 89e78 (22:5e78), 89ebf (22:5ebf)
+Function89e9a: ; 89e9a (22:5e9a)
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $5
+ ld [rSVBK], a ; $ff00+$70
+ ld hl, $5eb1
+ ld de, $d028
+ ld bc, $8
+ call CopyBytes
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ ret
+; 89eb1 (22:5eb1)
+
+INCBIN "baserom.gbc",$89eb1,$89eb9 - $89eb1
+
+; no known jump sources
+Function89eb9: ; 89eb9 (22:5eb9)
+ call Function891fe
+ call Function89ee1
+ call Function89e9a
+ ld hl, $c4f7
+ call Function8a58d
+ ld a, $5
+ ld hl, $ce30
+ call Function8a5a3
+ ld a, $6
+ ld hl, $ce33
+ call Function8a5a3
+ call Function891ab
+ call Function32f9
+ jp Function89e36
+
+; known jump sources: 89e75 (22:5e75), 89ebc (22:5ebc)
+Function89ee1: ; 89ee1 (22:5ee1)
+ call WhiteBGMap
+ call Function893e2
+ call Function8923c
+ ld a, BANK(Function4a3a7)
+ ld hl, Function4a3a7
+ rst $8 ; ; indirect jump to Function4a3a7 (4a3a7 (12:63a7))
+ ld a, BANK(Function49384)
+ ld hl, Function49384
+ rst $8 ; ; indirect jump to Function49384 (49384 (12:5384))
+ ld hl, $c4a1
+ call Function8a53d
+ ret
+
+; no known jump sources
+Function89efd: ; 89efd (22:5efd)
+ ld hl, $d012
+ ld a, $ff
+ ld [hli], a
+ xor a
+ ld [hli], a
+ ld [hli], a
+ ld [hli], a
+ ld [hli], a
+ ld [hl], a
+.asm_89f09
+ ld hl, $d012
+ inc [hl]
+ ld a, [hli]
+ and $3
+ jr nz, .asm_89f2e
+ ld a, [hl]
+ cp $4
+ jr nc, .asm_89f2e
+ ld b, $32
+ inc [hl]
+ ld a, [hl]
+ dec a
+ jr z, .asm_89f26
+ ld c, a
+.asm_89f1f
+ ld a, $b
+ add b
+ ld b, a
+ dec c
+ jr nz, .asm_89f1f
+.asm_89f26
+ ld c, $e8
+ ld a, [$d013]
+ call Function89fa5
+.asm_89f2e
+ ld a, [$d013]
+ and a
+ jr z, .asm_89f58
+.asm_89f34
+ call Function89f6a
+ ld e, a
+ ld a, c
+ cp $a8
+ jr nc, .asm_89f4d
+ cp $46
+ jr c, .asm_89f4d
+ ld d, $0
+ dec e
+ ld hl, $d014
+ add hl, de
+ set 0, [hl]
+ inc e
+ jr .asm_89f51
+.asm_89f4d
+ ld a, $2
+ add c
+ ld c, a
+.asm_89f51
+ ld a, e
+ call Function89f77
+ dec a
+ jr nz, .asm_89f34
+.asm_89f58
+ call DelayFrame
+ ld hl, $d014
+ ld c, $4
+.asm_89f60
+ ld a, [hli]
+ and a
+ jr z, .asm_89f09
+ dec c
+ jr nz, .asm_89f60
+ jp Function89e36
+
+; known jump sources: 89f34 (22:5f34)
+Function89f6a: ; 89f6a (22:5f6a)
+ push af
+ ld de, $10
+ call Function89f9a
+ ld a, [hli]
+ ld b, a
+ ld a, [hl]
+ ld c, a
+ pop af
+ ret
+
+; known jump sources: 89f52 (22:5f52)
+Function89f77: ; 89f77 (22:5f77)
+ push af
+ ld de, $10
+ call Function89f9a
+ ld d, $2
+.asm_89f80
+ push bc
+ ld e, $2
+.asm_89f83
+ ld a, b
+ ld [hli], a
+ ld a, c
+ ld [hli], a
+ inc hl
+ inc hl
+ ld a, $8
+ add c
+ ld c, a
+ dec e
+ jr nz, .asm_89f83
+ pop bc
+ ld a, $8
+ add b
+ ld b, a
+ dec d
+ jr nz, .asm_89f80
+ pop af
+ ret
+
+; known jump sources: 89f6e (22:5f6e), 89f7b (22:5f7b), 89fa8 (22:5fa8)
+Function89f9a: ; 89f9a (22:5f9a)
+ dec a
+ ld hl, Sprites ; $c400
+ and a
+ ret z
+.asm_89fa0
+ add hl, de
+ dec a
+ jr nz, .asm_89fa0
+ ret
+
+; known jump sources: 89f2b (22:5f2b)
+Function89fa5: ; 89fa5 (22:5fa5)
+ ld de, $10
+ call Function89f9a
+ ld e, $2
+ ld d, $a
+.asm_89faf
+ push bc
+ ld a, $2
+.asm_89fb2
+ push af
+ ld a, b
+ ld [hli], a
+ ld a, c
+ ld [hli], a
+ ld a, d
+ inc d
+ ld [hli], a
+ ld a, $1
+ ld [hli], a
+ ld a, $8
+ add c
+ ld c, a
+ pop af
+ dec a
+ jr nz, .asm_89fb2
+ pop bc
+ ld a, $8
+ add b
+ ld b, a
+ dec e
+ jr nz, .asm_89faf
+ ret
+
+; no known jump sources
+Function89fce: ; 89fce (22:5fce)
+ call Function8a5b6
+ ld a, $5
+ ld hl, $ce30
+ call Function8a5a3
+ ld a, $6
+ ld hl, $ce33
+ call Function8a5a3
+ call Function89448
+ call Function32f9
+ call Function891ab
+ jp Function89e36
+
+; no known jump sources
+Function89fed: ; 89fed (22:5fed)
+ ld hl, $6102
+ call PrintText
+ jp Function89e36
+
+; no known jump sources
+Function89ff6: ; 89ff6 (22:5ff6)
+ call Function891fe
+ call WhiteBGMap
+ call Function893cc
+ call Function89807
+ call Function89492
+ call Function894ca
+ call Function89160
+ ld hl, $a603
+ ld a, $ff
+ ld bc, $8
+ call ByteFill
+ ld hl, $a603
+ ld de, $d008
+ call Function89381
+ call CloseSRAM
+ call Function8987f
+ call Function89160
+ ld hl, $c5a5
+ ld bc, $a007
+ call Function89a0c
+ call CloseSRAM
+ call Function891ab
+ call Function89235
+ jp Function89e36
+
+; no known jump sources
+Function8a03d: ; 8a03d (22:603d)
+ ld hl, $6107
+ call Function89209
+ call PrintText
+ call Function8920f
+ jp Function89e36
+
+; no known jump sources
+Function8a04c: ; 8a04c (22:604c)
+ ld hl, $610c
+ call PrintText
+ jp Function89e36
+
+; no known jump sources
+Function8a055: ; 8a055 (22:6055)
+ ld c, $7
+ ld b, $4
+.asm_8a059
+ call Function8a0a1
+ inc c
+ call Function8a0c9
+ push bc
+ call Function8a58d
+ pop bc
+ call Function8a0de
+ push bc
+ push hl
+ ld a, $5
+ call Function8a5a3
+ pop hl
+ inc hl
+ inc hl
+ inc hl
+ ld a, $6
+ call Function8a5a3
+ call Function3238
+ pop bc
+ ld a, c
+ cp $b
+ jr nz, .asm_8a059
+ call Function8a0a1
+ ld hl, $c4fc
+ call Function8a58d
+ ld a, $5
+ ld hl, $ce35
+ call Function8a5a3
+ pop hl
+ ld a, $6
+ ld hl, $ce38
+ call Function8a5a3
+ call Function3238
+ jp Function89e36
+
+; known jump sources: 8a059 (22:6059), 8a081 (22:6081)
+Function8a0a1: ; 8a0a1 (22:60a1)
+ call Function8923c
+ push bc
+ call Function8a0c9
+ ld e, $6
+.asm_8a0aa
+ push hl
+ ld bc, $6
+ add hl, bc
+ ld d, [hl]
+ call Function8a0c1
+ pop hl
+ ld [hl], d
+ call Function89215
+ ld bc, $14
+ add hl, bc
+ dec e
+ jr nz, .asm_8a0aa
+ pop bc
+ ret
+
+; known jump sources: 8a0b0 (22:60b0)
+Function8a0c1: ; 8a0c1 (22:60c1)
+ push hl
+ ld bc, $939
+ add hl, bc
+ ld a, [hl]
+ pop hl
+ ret
+
+; known jump sources: 8a05d (22:605d), 8a0a5 (22:60a5), 8a0de (22:60de)
+Function8a0c9: ; 8a0c9 (22:60c9)
+ push bc
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld de, $14
+ ld a, b
+ and a
+ jr z, .asm_8a0d8
+.asm_8a0d4
+ add hl, de
+ dec b
+ jr nz, .asm_8a0d4
+.asm_8a0d8
+ ld d, $0
+ ld e, c
+ add hl, de
+ pop bc
+ ret
+
+; known jump sources: 8a065 (22:6065)
+Function8a0de: ; 8a0de (22:60de)
+ call Function8a0c9
+ ld de, $939
+ add hl, de
+ ret
+
+; no known jump sources
+Function8a0e6: ; 8a0e6 (22:60e6)
+ call Function8b539
+ jp Function89e36
+
+; no known jump sources
+Function8a0ec: ; 8a0ec (22:60ec)
+ ld hl, $6111
+ call PrintText
+ jp Function89e36
+
+; no known jump sources
+Function8a0f5: ; 8a0f5 (22:60f5)
+ call Function8b555
+ jp nc, Function8a0ff
+ ld hl, $d02d
+ inc [hl]
+
+; known jump sources: 8a0f8 (22:60f8)
+Function8a0ff: ; 8a0ff (22:60ff)
+ jp Function89e36
+; 8a102 (22:6102)
+
+INCBIN "baserom.gbc",$8a102,$8a116 - $8a102
+
+; no known jump sources
+Function8a116: ; 8a116 (22:6116)
+ ld a, $1
+ ld [$d030], a
+ ld hl, $6176
+ call LoadMenuDataHeader
+.asm_8a121
+ call Function8923c
+ call Function8a17b
+ jr c, .asm_8a16b
+ ld a, [$cfa9]
+ ld [$d030], a
+ dec d
+ jr z, .asm_8a140
+ call Function8a20d
+ jr c, .asm_8a121
+ xor a
+ call Function8a2fe
+ call Function8916e
+ jr .asm_8a16b
+.asm_8a140
+ call Function89174
+ jr nz, .asm_8a14c
+ call Function8a241
+ jr c, .asm_8a121
+ jr .asm_8a15a
+.asm_8a14c
+ call WaitSFX
+ ld de, $ce
+ call StartSFX
+ ld c, $10
+ call DelayFrames
+.asm_8a15a
+ call Function1c07
+ call Function891de
+ call Function893e2
+ call Function89245
+ call Function89168
+ and a
+ ret
+.asm_8a16b
+ call Function89209
+ call Function1c17
+ call Function8920f
+ scf
+ ret
+; 8a176 (22:6176)
+
+INCBIN "baserom.gbc",$8a176,$8a17b - $8a176
+
+; known jump sources: 8a124 (22:6124)
+Function8a17b: ; 8a17b (22:617b)
+ ld de, $c4ae
+ ld b, $5
+ ld c, $4
+ call Function89b3b
+ ld hl, $619a
+ ld a, [$d030]
+ call Function89d5e
+ ld hl, $61b0
+ call Function89d75
+ jr nc, .asm_8a198
+ ld a, $0
+.asm_8a198
+ ld d, a
+ ret
+; 8a19a (22:619a)
+
+INCBIN "baserom.gbc",$8a19a,$8a20d - $8a19a
+
+; known jump sources: 8a132 (22:6132), 8a2ca (22:62ca)
+Function8a20d: ; 8a20d (22:620d)
+ ld hl, $6232
+ call PrintText
+ ld a, $2
+ call Function89259
+ ret c
+ ld hl, $6237
+ call PrintText
+ ld a, $2
+ call Function89259
+ ret c
+ xor a
+ call Function8a2fe
+ ld hl, $623c
+ call PrintText
+ xor a
+ and a
+ ret
+; 8a232 (22:6232)
+
+INCBIN "baserom.gbc",$8a232,$8a241 - $8a232
+
+; known jump sources: 8a145 (22:6145), 8a2d2 (22:62d2)
+Function8a241: ; 8a241 (22:6241)
+ call Function1d6e
+ call Function891fe
+ call Function8a262
+ jr nc, .asm_8a254
+ call Function891fe
+ call Function89b28
+ scf
+ ret
+.asm_8a254
+ call Function891de
+ call WhiteBGMap
+ call Function1d7d
+ call Function891de
+ and a
+ ret
+
+; known jump sources: 8a247 (22:6247)
+Function8a262: ; 8a262 (22:6262)
+ call WhiteBGMap
+ call Function893e2
+ call Function8923c
+ ld a, BANK(Function4a3a7)
+ ld hl, Function4a3a7
+ rst $8 ; ; indirect jump to Function4a3a7 (4a3a7 (12:63a7))
+ ld a, BANK(Function49384)
+ ld hl, Function49384
+ rst $8 ; ; indirect jump to Function49384 (49384 (12:5384))
+ ld hl, $c4a1
+ call Function8a53d
+ ld hl, $c4fc
+ call Function8a58d
+ ld a, $5
+ ld hl, $ce35
+ call Function8a5a3
+ ld a, $6
+ ld hl, $ce38
+ call Function8a5a3
+ xor a
+ ld [$d02e], a
+ ld bc, $d013
+ call Function8b36c
+ call Function8b493
+ call Function891ab
+ call Function32f9
+ call Function8b5e7
+ ret
+
+; no known jump sources
+Function8a2aa: ; 8a2aa (22:62aa)
+ ld hl, $62ef
+ call LoadMenuDataHeader
+ ld hl, $62f4
+ call PrintText
+ ld a, $1
+ call Function89259
+ jr nc, .asm_8a2cf
+ ld hl, $62f9
+ call PrintText
+ ld a, $2
+ call Function89259
+ jr c, .asm_8a2ea
+ call Function8a20d
+ jr .asm_8a2ea
+.asm_8a2cf
+ call Function1c07
+ call Function8a241
+ jr c, .asm_8a2ed
+ ld a, $1
+ call Function8a313
+ call CloseSRAM
+ call Function891de
+ call Function89245
+ call Function89168
+ and a
+ ret
+.asm_8a2ea
+ call Function1c17
+.asm_8a2ed
+ scf
+ ret
+; 8a2ef (22:62ef)
+
+INCBIN "baserom.gbc",$8a2ef,$8a2fe - $8a2ef
+
+; known jump sources: 89e5a (22:5e5a), 8a138 (22:6138), 8a226 (22:6226)
+Function8a2fe: ; 8a2fe (22:62fe)
+ call Function8a313
+ call Function89305
+ ld hl, $a603
+ ld bc, $8
+ ld a, $ff
+ call ByteFill
+ call CloseSRAM
+ ret
+
+; known jump sources: 8a2d9 (22:62d9), 8a2fe (22:62fe)
+Function8a313: ; 8a313 (22:6313)
+ ld c, a
+ call Function89160
+ ld a, c
+ ld [$a60b], a
+ ret
+
+; known jump sources: 89dea (22:5dea)
+Function8a31c: ; 8a31c (22:631c)
+ push bc
+ call Function8923c
+ ld a, BANK(Function4a3a7)
+ ld hl, Function4a3a7
+ rst $8 ; ; indirect jump to Function4a3a7 (4a3a7 (12:63a7))
+ ld a, BANK(Function49384)
+ ld hl, Function49384
+ rst $8 ; ; indirect jump to Function49384 (49384 (12:5384))
+ ld hl, $c4a1
+ call Function8a53d
+ ld hl, $c4fc
+ call Function8a58d
+ call Function8a3b2
+ pop bc
+ ld a, c
+ ld [$cf88], a
+ ld [MenuSelection], a ; $cf74
+ call Function1c89
+ call Function1c10
+ ld hl, $cfa5
+ set 7, [hl]
+.asm_8a34e
+ call Function8a3a2
+ call Function8923c
+ call Function8a453
+ call Function8a4d3
+ call Function8a4fc
+ call Function891ab
+ call Function32f9
+ call Function8a383
+ jr c, .asm_8a370
+ jr z, .asm_8a34e
+.asm_8a36a
+ call Function89448
+ xor a
+ ld e, a
+ ret
+.asm_8a370
+ call Function89448
+ call Function1bee
+ call Function8a3a2
+ ld a, [MenuSelection] ; $cf74
+ cp $ff
+ jr z, .asm_8a36a
+ ld e, a
+ and a
+ ret
+
+; known jump sources: 8a363 (22:6363)
+Function8a383: ; 8a383 (22:6383)
+ ld a, BANK(Function241ba)
+ ld hl, Function241ba
+ rst $8 ; ; indirect jump to Function241ba (241ba (9:41ba))
+ ld a, c
+ ld hl, $cfa8
+ and [hl]
+ ret z
+ bit 0, a
+ jr nz, .asm_8a399
+ bit 1, a
+ jr nz, .asm_8a39e
+ xor a
+ ret
+.asm_8a399
+ call PlayClickSFX
+ scf
+ ret
+.asm_8a39e
+ call PlayClickSFX
+ ret
+
+; known jump sources: 8a34e (22:634e), 8a376 (22:6376)
+Function8a3a2: ; 8a3a2 (22:63a2)
+ ld a, [$cfa9]
+ dec a
+ ld hl, DefaultFlypoint ; $d002
+ ld e, a
+ ld d, $0
+ add hl, de
+ ld a, [hl]
+ ld [MenuSelection], a ; $cf74
+ ret
+
+; known jump sources: 8a338 (22:6338)
+Function8a3b2: ; 8a3b2 (22:63b2)
+ ld a, $1
+ ld [MenuSelection], a ; $cf74
+ call Function8a4fc
+ call Function8a3df
+ jr nc, .asm_8a3ce
+ ld de, $c4c8
+ ld b, $6
+ ld c, $9
+ call Function89b3b
+ ld hl, $6435
+ jr .asm_8a3db
+.asm_8a3ce
+ ld de, $c4c8
+ ld b, $8
+ ld c, $9
+ call Function89b3b
+ ld hl, $640f
+.asm_8a3db
+ call Function1d3c
+ ret
+
+; known jump sources: 8a3ba (22:63ba)
+Function8a3df: ; 8a3df (22:63df)
+ call Function89160
+ ld hl, $a603
+ call Function89b45
+ call CloseSRAM
+ ld hl, DefaultFlypoint ; $d002
+ jr c, .asm_8a3f8
+ ld de, $6408
+ call Function8a400
+ scf
+ ret
+.asm_8a3f8
+ ld de, $640b
+ call Function8a400
+ and a
+ ret
+
+; known jump sources: 8a3f3 (22:63f3), 8a3fb (22:63fb), 8a405 (22:6405)
+Function8a400: ; 8a400 (22:6400)
+ ld a, [de]
+ inc de
+ ld [hli], a
+ cp $ff
+ jr nz, Function8a400
+ ret
+; 8a408 (22:6408)
+
+INCBIN "baserom.gbc",$8a408,$8a453 - $8a408
+
+; known jump sources: 8a354 (22:6354)
+Function8a453: ; 8a453 (22:6453)
+ ld hl, $c590
+ ld b, $4
+ ld c, $12
+ call TextBox
+ ld hl, $c5b9
+ ld de, $6476
+ ld a, [MenuSelection] ; $cf74
+ cp $ff
+ jr z, .asm_8a472
+ ld de, $6483
+ dec a
+ ld c, a
+ call Function8919e
+.asm_8a472
+ call PlaceString
+ ret
+; 8a476 (22:6476)
+
+INCBIN "baserom.gbc",$8a476,$8a4d3 - $8a476
+
+; known jump sources: 8a357 (22:6357)
+Function8a4d3: ; 8a4d3 (22:64d3)
+ ld a, [MenuSelection] ; $cf74
+ cp $1
+ jr nz, .asm_8a4eb
+ ld a, $5
+ ld hl, $ce35
+ call Function8a5a3
+ ld a, $7
+ ld hl, $ce38
+ call Function8a5a3
+ ret
+.asm_8a4eb
+ ld a, $7
+ ld hl, $ce35
+ call Function8a5a3
+ ld a, $6
+ ld hl, $ce38
+ call Function8a5a3
+ ret
+
+; known jump sources: 8a35a (22:635a), 8a3b7 (22:63b7)
+Function8a4fc: ; 8a4fc (22:64fc)
+ ld a, [MenuSelection] ; $cf74
+ cp $3
+ jr nz, asm_8a529
+ ld hl, $d012
+ ld a, [hli]
+ ld b, a
+ ld a, [hld]
+ add b
+ ld [hl], a
+ ld b, a
+ ld c, $80
+ call Function89cdf
+ call Function8a515
+ ret
+
+; known jump sources: 8a511 (22:6511)
+Function8a515: ; 8a515 (22:6515)
+ ld hl, $d012
+ ld a, [hl]
+ cp $38
+ jr c, .asm_8a520
+ cp $3c
+ ret c
+.asm_8a520
+ ld a, [$d013]
+ cpl
+ inc a
+ ld [$d013], a
+ ret
+
+; known jump sources: 8a501 (22:6501)
+asm_8a529: ; 8a529 (22:6529)
+ ld hl, $d012
+ ld a, $3c
+ ld [hli], a
+ ld a, $ff
+ ld [hli], a
+ ld hl, Sprites ; $c400
+ xor a
+ ld bc, $20
+ call ByteFill
+ ret
+
+; known jump sources: 89ef9 (22:5ef9), 8a27a (22:627a), 8a32f (22:632f)
+Function8a53d: ; 8a53d (22:653d)
+ push hl
+ ld a, $15
+ ld c, $8
+ ld de, $14
+ call Function8a573
+ ld a, $1d
+ ld c, $9
+ call Function8a57c
+ inc a
+ ld [hl], a
+ call Function8a584
+ pop hl
+ add hl, de
+ ld a, $1f
+ ld c, $8
+ call Function8a573
+ dec hl
+ ld a, $51
+ ld [hli], a
+ ld a, $26
+ ld c, $1
+ call Function8a57c
+ ld a, $52
+ ld c, $3
+ call Function8a573
+ ld a, $27
+ ld c, $6
+
+; known jump sources: 8a545 (22:6545), 8a55a (22:655a), 8a56c (22:656c), 8a579 (22:6579)
+Function8a573: ; 8a573 (22:6573)
+ ld [hl], a
+ call Function8a584
+ inc a
+ dec c
+ jr nz, Function8a573
+ ret
+
+; known jump sources: 8a54c (22:654c), 8a565 (22:6565), 8a581 (22:6581)
+Function8a57c: ; 8a57c (22:657c)
+ ld [hl], a
+ call Function8a584
+ dec c
+ jr nz, Function8a57c
+ ret
+
+; known jump sources: 8a551 (22:6551), 8a574 (22:6574), 8a57d (22:657d)
+Function8a584: ; 8a584 (22:6584)
+ push af
+ ld a, $4
+ call Function89215
+ inc hl
+ pop af
+ ret
+
+; known jump sources: 89e7e (22:5e7e), 89ec5 (22:5ec5), 8a061 (22:6061), 8a087 (22:6087), 8a280 (22:6280), 8a335 (22:6335)
+Function8a58d: ; 8a58d (22:658d)
+ ld a, $2d
+ ld bc, $606
+ ld de, $14
+.asm_8a595
+ push bc
+ push hl
+.asm_8a597
+ ld [hli], a
+ inc a
+ dec c
+ jr nz, .asm_8a597
+ pop hl
+ add hl, de
+ pop bc
+ dec b
+ jr nz, .asm_8a595
+ ret
+
+; known jump sources: 89e86 (22:5e86), 89e8e (22:5e8e), 89ecd (22:5ecd), 89ed5 (22:5ed5), 89fd6 (22:5fd6), 89fde (22:5fde), 8a06c (22:606c), 8a075 (22:6075), 8a08f (22:608f), 8a098 (22:6098), 8a288 (22:6288), 8a290 (22:6290), 8a4df (22:64df), 8a4e7 (22:64e7), 8a4f0 (22:64f0), 8a4f8 (22:64f8)
+Function8a5a3: ; 8a5a3 (22:65a3)
+ ld bc, $603
+ ld de, $14
+.asm_8a5a9
+ push bc
+ push hl
+.asm_8a5ab
+ ld [hli], a
+ dec c
+ jr nz, .asm_8a5ab
+ pop hl
+ add hl, de
+ pop bc
+ dec b
+ jr nz, .asm_8a5a9
+ ret
+
+; known jump sources: 893e8 (22:53e8), 89fce (22:5fce)
+Function8a5b6: ; 8a5b6 (22:65b6)
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $5
+ ld [rSVBK], a ; $ff00+$70
+ ld hl, $65e5
+ ld de, $d020
+ ld bc, $18
+ call CopyBytes
+ ld hl, $65fd
+ ld de, MartPointer ; $d040 (aliases: Unkn2Pals)
+ ld bc, $8
+ call CopyBytes
+ ld hl, $6605
+ ld de, $d048
+ ld bc, $8
+ call CopyBytes
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ ret
+; 8a5e5 (22:65e5)
+
+INCBIN "baserom.gbc",$8a5e5,$8a60d - $8a5e5
+
Function8a60d: ; 8a60d
ld a, [rSVBK]
push af
@@ -60539,8 +74574,705 @@
ret
; 8a624
-INCBIN "baserom.gbc", $8a624, $8ac4e - $8a624
+INCBIN "baserom.gbc",$8a624,$8a62c - $8a624
+; no known jump sources
+Function8a62c: ; 8a62c (22:662c)
+ call Function1d6e
+ call Function891fe
+ xor a
+ call Function8b94a
+ call Function8b677
+.asm_8a639
+ xor a
+ ld [$d033], a
+ ld [$d032], a
+ ld [$d0e3], a
+ call Function8b7bd
+ ld a, c
+ and a
+ jr z, .asm_8a66a
+ ld [MenuSelection], a ; $cf74
+ ld b, a
+ ld a, [$cf77]
+ inc a
+ ld [$d034], a
+ push bc
+ call Function8b960
+ ld a, c
+ pop bc
+ jr z, .asm_8a639
+ ld c, a
+ ld hl, $6671
+ ld a, b
+ ld [MenuSelection], a ; $cf74
+ ld a, c
+ dec a
+ rst $28
+ jr .asm_8a639
+.asm_8a66a
+ call Function891fe
+ call Function89b28
+ ret
+
+; no known jump sources
+Jumptable_8a671: ; 8a671 (22:6671)
+ dw Function8a679
+ dw Function8a6cd
+ dw Function8a8c3
+ dw Function8a930
+
+
+; known jump sources: 8a6a9 (22:66a9), 8a6b0 (22:66b0)
+Function8a679: ; 8a679 (22:6679)
+ call Function891de
+ call WhiteBGMap
+ call Function893cc
+ call Function89160
+ call Function8931b
+ call Function89844
+ call CloseSRAM
+ call Function89160
+ call Function8939a
+ call Function89856
+ ld hl, $c5a5
+ call Function899fe
+ call Function891ab
+ call CloseSRAM
+.asm_8a6a3
+ call Function89a57
+ jr c, .asm_8a6a3
+ and a
+ jr z, Function8a679
+ ld hl, $66bc
+ dec a
+ rst $28
+ jr c, Function8a679
+ call Function891fe
+ call Function8b677
+ call Function89448
+ ret
+
+; no known jump sources
+Jumptable_8a6bc: ; 8a6bc (22:66bc)
+ dw Function8a6c0
+ dw Function8a6c5
+
+
+; no known jump sources
+Function8a6c0: ; 8a6c0 (22:66c0)
+ call PlayClickSFX
+ and a
+ ret
+
+; no known jump sources
+Function8a6c5: ; 8a6c5 (22:66c5)
+ call PlayClickSFX
+ call Function89d0d
+ scf
+ ret
+
+; no known jump sources
+Function8a6cd: ; 8a6cd (22:66cd)
+ call Function891de
+ call WhiteBGMap
+ call Function893cc
+ call Function89160
+ call Function8931b
+ call Function89844
+ call Function8a757
+ call CloseSRAM
+.asm_8a6e5
+ call Function89160
+ call Function8931b
+ call Function89856
+ call Function89a2e
+ call Function891ab
+ xor a
+ ld [$d02f], a
+ call CloseSRAM
+.asm_8a6fb
+ call Function89b97
+ call Function89c67
+ jr c, .asm_8a718
+ ld a, b
+ and a
+ jr z, .asm_8a6fb
+ call PlayClickSFX
+ call Function89448
+ ld a, [$d011]
+ ld hl, $674f
+ rst $28
+ jr nc, .asm_8a6e5
+ jr .asm_8a742
+.asm_8a718
+ call Function89160
+ call Function8a765
+ call CloseSRAM
+ jr nc, .asm_8a73f
+ call Function8923c
+ call Function89448
+ call Function89a23
+ ld hl, $c5a5
+ ld de, $5135
+ call PlaceString
+ call WaitBGMap
+ ld a, $2
+ call Function89254
+ jr c, .asm_8a6e5
+.asm_8a73f
+ call CloseSRAM
+.asm_8a742
+ call WhiteBGMap
+ call Function89448
+ call Function891d3
+ call Function8b677
+ ret
+
+; no known jump sources
+Jumptable_8a74f: ; 8a74f (22:674f)
+ dw Function8a78c
+ dw Function8a7cb
+ dw Function8a818
+ dw Function8a8a1
+
+
+; known jump sources: 8a6df (22:66df)
+Function8a757: ; 8a757 (22:6757)
+ call Function8939a
+ xor a
+ ld [$d010], a
+ ld [$d011], a
+ ld [$d012], a
+ ret
+
+; known jump sources: 8a71b (22:671b), 8a82e (22:682e), 8a8a4 (22:68a4)
+Function8a765: ; 8a765 (22:6765)
+ call Function8931b
+ push bc
+ ld hl, $0
+ add hl, bc
+ ld de, DefaultFlypoint ; $d002
+ ld c, $6
+ call Function89185
+ pop bc
+ jr nz, .asm_8a78a
+ push bc
+ ld hl, $11
+ add hl, bc
+ ld de, $d008
+ ld c, $8
+ call Function89185
+ pop bc
+ jr nz, .asm_8a78a
+ and a
+ ret
+.asm_8a78a
+ scf
+ ret
+
+; no known jump sources
+Function8a78c: ; 8a78c (22:678c)
+ call Function891fe
+ ld de, DefaultFlypoint ; $d002
+ ld b, $5
+ ld a, BANK(Function116c1)
+ ld hl, Function116c1
+ rst $8 ; ; indirect jump to Function116c1 (116c1 (4:56c1))
+ call Function89160
+ call Function8931b
+ push bc
+ ld hl, $0
+ add hl, bc
+ ld d, h
+ ld e, l
+ ld hl, DefaultFlypoint ; $d002
+ call InitName
+ call CloseSRAM
+ call DelayFrame
+ call Functiona57
+ call Function891de
+ call WhiteBGMap
+ call Function893cc
+ call Function89160
+ pop bc
+ call Function89844
+ call CloseSRAM
+ and a
+ ret
+
+; no known jump sources
+Function8a7cb: ; 8a7cb (22:67cb)
+ ld a, [MenuSelection] ; $cf74
+ push af
+ call Function891de
+ ld de, $d008
+ ld c, $0
+ ld a, BANK(Function17a68f)
+ ld hl, Function17a68f
+ rst $8 ; ; indirect jump to Function17a68f (17a68f (5e:668f))
+ jr c, .asm_8a7f4
+ ld hl, $d008
+ ld a, $ff
+ ld bc, $8
+ call ByteFill
+ ld h, d
+ ld l, e
+ ld de, $d008
+ ld c, $8
+ call Function89193
+.asm_8a7f4
+ pop af
+ ld [MenuSelection], a ; $cf74
+ call Function891de
+ call WhiteBGMap
+ call Function893cc
+ call Function89160
+ call Function8931b
+ call Function89844
+ call Function89856
+ call Function89a2e
+ call Function891ab
+ call CloseSRAM
+ and a
+ ret
+
+; no known jump sources
+Function8a818: ; 8a818 (22:6818)
+ call Function89a23
+ ld hl, DefaultFlypoint ; $d002
+ call Function89331
+ jr c, .asm_8a875
+ ld hl, $d008
+ call Function89b45
+ jr nc, .asm_8a87a
+ call Function89160
+ call Function8a765
+ jr nc, .asm_8a863
+ call Function8931b
+ push bc
+ ld hl, $0
+ add hl, bc
+ ld d, h
+ ld e, l
+ ld hl, DefaultFlypoint ; $d002
+ ld c, $6
+ call Function89193
+ pop bc
+ ld hl, $11
+ add hl, bc
+ ld d, h
+ ld e, l
+ ld hl, $d008
+ ld c, $8
+ call Function89193
+ ld hl, $c5a5
+ ld de, $6868
+ call PlaceString
+ call WaitBGMap
+ call Functiona36
+.asm_8a863
+ call CloseSRAM
+ scf
+ ret
+; 8a868 (22:6868)
+
+INCBIN "baserom.gbc",$8a868,$8a875 - $8a868
+.asm_8a875
+ ld de, $688b
+ jr .asm_8a87d
+.asm_8a87a
+ ld de, $511c
+.asm_8a87d
+ ld hl, $c5a5
+ call PlaceString
+ call WaitBGMap
+ call Functiona36
+ and a
+ ret
+; 8a88b (22:688b)
+
+INCBIN "baserom.gbc",$8a88b,$8a8a1 - $8a88b
+
+; no known jump sources
+Function8a8a1: ; 8a8a1 (22:68a1)
+ call Function89160
+ call Function8a765
+ call CloseSRAM
+ jr nc, .asm_8a8bf
+ call Function89a23
+ ld hl, $c5a5
+ ld de, $5135
+ call PlaceString
+ ld a, $2
+ call Function89254
+ jr c, .asm_8a8c1
+.asm_8a8bf
+ scf
+ ret
+.asm_8a8c1
+ and a
+ ret
+
+; no known jump sources
+Function8a8c3: ; 8a8c3 (22:68c3)
+ call Function891de
+ call WhiteBGMap
+ call Function893cc
+ call Function89160
+ call Function8931b
+ call Function89844
+ call Function8939a
+ call Function89856
+ call CloseSRAM
+ call Function891ab
+ ld hl, $c5a5
+ ld de, $6919
+ call PlaceString
+ ld a, $2
+ call Function89254
+ jr c, .asm_8a90f
+ call Function89160
+ call Function892b4
+ call CloseSRAM
+ call Function89a23
+ call Function8923c
+ ld hl, $c5a5
+ ld de, $6926
+ call PlaceString
+ call WaitBGMap
+ call Functiona36
+.asm_8a90f
+ call Function89448
+ call Function891fe
+ call Function8b677
+ ret
+; 8a919 (22:6919)
+
+INCBIN "baserom.gbc",$8a919,$8a930 - $8a919
+
+; no known jump sources
+Function8a930: ; 8a930 (22:6930)
+ ld a, [MenuSelection] ; $cf74
+ push af
+ xor a
+ ld [$d032], a
+ ld a, $1
+ ld [$d033], a
+ ld a, [$d034]
+ ld [$d0e3], a
+.asm_8a943
+ call Function8b7bd
+ ld a, [$cf73]
+ and $1
+ jr nz, .asm_8a953
+ ld a, c
+ and a
+ jr nz, .asm_8a943
+ pop af
+ ret
+.asm_8a953
+ call Function89160
+ pop af
+ cp c
+ jr z, .asm_8a995
+ push bc
+ ld [MenuSelection], a ; $cf74
+ call Function8931b
+ push bc
+ ld h, b
+ ld l, c
+ ld de, DefaultFlypoint ; $d002
+ ld bc, $25
+ call CopyBytes
+ pop de
+ pop bc
+ ld a, c
+ ld [MenuSelection], a ; $cf74
+ call Function8931b
+ push bc
+ ld h, b
+ ld l, c
+ ld bc, $25
+ call CopyBytes
+ pop de
+ ld hl, DefaultFlypoint ; $d002
+ ld bc, $25
+ call CopyBytes
+ ld de, $20
+ call WaitPlaySFX
+ ld de, $20
+ call WaitPlaySFX
+.asm_8a995
+ call CloseSRAM
+ ret
+
+; no known jump sources
+Function8a999: ; 8a999 (22:6999)
+ ld hl, $69c9
+ call LoadMenuDataHeader
+ ld c, $1
+.asm_8a9a1
+ call Function8a9ce
+ jr c, .asm_8a9bb
+ push bc
+ push de
+ call Function1d6e
+ pop de
+ dec e
+ ld a, e
+ ld hl, $69c5
+ rst $28
+ call Function891fe
+ call Function89b28
+ pop bc
+ jr .asm_8a9a1
+.asm_8a9bb
+ call Function89209
+ call Function1c17
+ call Function8920f
+ ret
+
+; no known jump sources
+Jumptable_8a9c5: ; 8a9c5 (22:69c5)
+ dw Function8aa0a
+ dw Function8ab3b
+
+; 8a9c9 (22:69c9)
+
+INCBIN "baserom.gbc",$8a9c9,$8a9ce - $8a9c9
+
+; known jump sources: 8a9a1 (22:69a1)
+Function8a9ce: ; 8a9ce (22:69ce)
+ push bc
+ ld de, $c4fb
+ ld b, $6
+ ld c, $6
+ call Function89b3b
+ pop bc
+ ld a, c
+ ld hl, $69f2
+ call Function89d5e
+ ld hl, $6a09
+ call Function89d85
+ jr c, .asm_8a9ed
+ ld c, a
+ ld e, a
+ and a
+ ret
+.asm_8a9ed
+ ld c, a
+ ld e, $0
+ scf
+ ret
+; 8a9f2 (22:69f2)
+
+INCBIN "baserom.gbc",$8a9f2,$8aa0a - $8a9f2
+
+; no known jump sources
+Function8aa0a: ; 8aa0a (22:6a0a)
+ ld a, $1
+ ld [$d02f], a
+ ld [$d011], a
+ xor a
+ ld [$d010], a
+ ld [$d012], a
+ call Function89160
+ ld hl, $a603
+ ld de, $d008
+ call Function89381
+ call CloseSRAM
+ call Function891fe
+ call WhiteBGMap
+ call Function893cc
+ call Function89807
+ call Function89492
+ call Function894ca
+.asm_8aa3a
+ call Function8987f
+ call Function89a2e
+ call Function891ab
+.asm_8aa43
+ call Function89b97
+ call Function89c67
+ jr c, .asm_8aa61
+ ld a, b
+ and a
+ jr z, .asm_8aa43
+ call PlayClickSFX
+ call Function89448
+ ld a, [$d011]
+ dec a
+ ld hl, $6a6d
+ rst $28
+ jr nc, .asm_8aa3a
+ jr .asm_8aa69
+.asm_8aa61
+ call Function89448
+ call Function8ab11
+ jr nc, .asm_8aa3a
+.asm_8aa69
+ call Function89448
+ ret
+
+; no known jump sources
+Jumptable_8aa6d: ; 8aa6d (22:6a6d)
+ dw Function8aa73
+ dw Function8aab6
+ dw Function8ab11
+
+
+; no known jump sources
+Function8aa73: ; 8aa73 (22:6a73)
+ ld a, [MenuSelection] ; $cf74
+ ld e, a
+ push de
+ call Function891de
+ ld de, $d008
+ ld c, $0
+ ld a, BANK(Function17a68f)
+ ld hl, Function17a68f
+ rst $8 ; ; indirect jump to Function17a68f (17a68f (5e:668f))
+ jr c, .asm_8aa9d
+ ld hl, $d008
+ ld a, $ff
+ ld bc, $8
+ call ByteFill
+ ld h, d
+ ld l, e
+ ld de, $d008
+ ld c, $8
+ call Function89193
+.asm_8aa9d
+ call Function891fe
+ call WhiteBGMap
+ call Function893cc
+ call Function89807
+ call Function89492
+ call Function894ca
+ pop de
+ ld a, e
+ ld [MenuSelection], a ; $cf74
+ and a
+ ret
+
+; no known jump sources
+Function8aab6: ; 8aab6 (22:6ab6)
+ call Function89a23
+ ld hl, $d008
+ call Function89b45
+ jr nc, .asm_8ab00
+ call Function89160
+ ld de, $d008
+ ld hl, $a603
+ ld c, $8
+ call Function89185
+ jr z, .asm_8aaeb
+ ld hl, $d008
+ ld de, $a603
+ ld c, $8
+ call Function89193
+ ld hl, $c5a5
+ ld de, $6af0
+ call PlaceString
+ call WaitBGMap
+ call Functiona36
+.asm_8aaeb
+ call CloseSRAM
+ scf
+ ret
+; 8aaf0 (22:6af0)
+
+INCBIN "baserom.gbc",$8aaf0,$8ab00 - $8aaf0
+.asm_8ab00
+ ld de, $511c
+ ld hl, $c5a5
+ call PlaceString
+ call WaitBGMap
+ call Function89235
+ and a
+ ret
+
+; known jump sources: 8aa64 (22:6a64)
+Function8ab11: ; 8ab11 (22:6b11)
+ call Function89160
+ ld hl, $a603
+ ld de, $d008
+ ld c, $8
+ call Function89185
+ call CloseSRAM
+ jr z, .asm_8ab37
+ call Function89a23
+ ld hl, $c5a5
+ ld de, $5135
+ call PlaceString
+ ld a, $2
+ call Function89254
+ jr c, .asm_8ab39
+.asm_8ab37
+ scf
+ ret
+.asm_8ab39
+ and a
+ ret
+
+; known jump sources: 8ab74 (22:6b74)
+Function8ab3b: ; 8ab3b (22:6b3b)
+ call Function891fe
+ call WhiteBGMap
+ call Function893cc
+ call Function89807
+ call Function89492
+ call Function894ca
+ call Function89160
+ ld hl, $a603
+ ld de, $d008
+ call Function89381
+ call CloseSRAM
+ call Function8987f
+ call Function89160
+ ld hl, $c5a5
+ ld bc, $a007
+ call Function89a0c
+ call CloseSRAM
+ call Function891ab
+ call Function8ab77
+ jr c, Function8ab3b
+ ret
+
+; known jump sources: 8ab71 (22:6b71), 8ab84 (22:6b84)
+Function8ab77: ; 8ab77 (22:6b77)
+ call Function354b
+ bit 0, c
+ jr nz, .asm_8ab8e
+ bit 1, c
+ jr nz, .asm_8ab8e
+ bit 3, c
+ jr z, Function8ab77
+ call PlayClickSFX
+ call Function89d0d
+ scf
+ ret
+.asm_8ab8e
+ call PlayClickSFX
+ and a
+ ret
+
+; no known jump sources
+Function8ab93: ; 8ab93 (22:6b93)
+ call WhiteBGMap
+ call Function1d6e
+ ld a, BANK(Function105688)
+ ld hl, Function105688
+ rst $8 ; ; indirect jump to Function105688 (105688 (41:5688))
+ call ClearSprites
+ call Function891fe
+ call Function89b28
+ ret
+; 8aba9 (22:6ba9)
+
+INCBIN "baserom.gbc",$8aba9,$8ac4e - $8aba9
+
Function8ac4e: ; 8ac4e
xor a
ld [MenuSelection], a
@@ -60644,7 +75376,7 @@
ret
; 8ad06
-INCBIN "baserom.gbc", $8ad06, $8ad0b - $8ad06
+INCBIN "baserom.gbc",$8ad06,$8ad0b - $8ad06
Function8ad0b: ; 8ad0b
.asm_8ad0b
@@ -60710,7 +75442,7 @@
ret
; 8ad89
-INCBIN "baserom.gbc", $8ad89, $8addb - $8ad89
+INCBIN "baserom.gbc",$8ad89,$8addb - $8ad89
SpecialHoOhChamber: ; 0x8addb
ld hl, PartySpecies
@@ -60867,7 +75599,7 @@
ret
; 8aebc
-INCBIN "baserom.gbc", $8aebc, $8aee9 - $8aebc
+INCBIN "baserom.gbc",$8aebc,$8aee9 - $8aebc
Function8aee9: ; 8aee9
.asm_8aee9
@@ -61011,7 +75743,7 @@
ret
; 8afa9
-INCBIN "baserom.gbc", $8afa9, $8afd4 - $8afa9
+INCBIN "baserom.gbc",$8afa9,$8afd4 - $8afa9
Function8afd4: ; 8afd4
xor a
@@ -61095,7 +75827,7 @@
ret
; 8b072
-INCBIN "baserom.gbc", $8b072, $8b090 - $8b072
+INCBIN "baserom.gbc",$8b072,$8b090 - $8b072
Function8b090: ; 8b090
ld hl, $70d1
@@ -61134,7 +75866,7 @@
ret
; 8b0ca
-INCBIN "baserom.gbc", $8b0ca, $8b0d6 - $8b0ca
+INCBIN "baserom.gbc",$8b0ca,$8b0d6 - $8b0ca
Function8b0d6: ; 8b0d6
ld hl, $70dd
@@ -61142,7 +75874,7 @@
ret
; 8b0dd
-INCBIN "baserom.gbc", $8b0dd, $8b0e2 - $8b0dd
+INCBIN "baserom.gbc",$8b0dd,$8b0e2 - $8b0dd
Function8b0e2: ; 8b0e2
ld hl, $7113
@@ -61171,7 +75903,7 @@
ret
; 8b113
-INCBIN "baserom.gbc", $8b113, $8b154 - $8b113
+INCBIN "baserom.gbc",$8b113,$8b154 - $8b113
Function8b154: ; 8b154
dec a
@@ -61183,7 +75915,7 @@
ret
; 8b15e
-INCBIN "baserom.gbc", $8b15e, $8b170 - $8b15e
+INCBIN "baserom.gbc",$8b15e,$8b170 - $8b15e
INCLUDE "event/dratini.asm"
@@ -61196,7 +75928,7 @@
ret
; 8b1ed
-INCBIN "baserom.gbc", $8b1ed, $8b201 - $8b1ed
+INCBIN "baserom.gbc",$8b1ed,$8b201 - $8b1ed
Function8b201: ; 8b201
ld hl, StringBuffer2
@@ -61211,7 +75943,7 @@
ret
; 8b215
-INCBIN "baserom.gbc", $8b215, $8b231 - $8b215
+INCBIN "baserom.gbc",$8b215,$8b231 - $8b215
Function8b231: ; 8b231
ld hl, $7238
@@ -61219,7 +75951,7 @@
ret
; 8b238
-INCBIN "baserom.gbc", $8b238, $8b25b - $8b238
+INCBIN "baserom.gbc",$8b238,$8b25b - $8b238
Function8b25b: ; 8b25b
ld bc, $0000
@@ -61316,7 +76048,7 @@
ret
; 8b2bb
-INCBIN "baserom.gbc", $8b2bb, $8b342 - $8b2bb
+INCBIN "baserom.gbc",$8b2bb,$8b342 - $8b2bb
Function8b342: ; 8b342
@@ -61354,8 +76086,489 @@
ret
; 8b35d
-INCBIN "baserom.gbc", $8b35d, $8b677 - $8b35d
+INCBIN "baserom.gbc",$8b35d,$8b36c - $8b35d
+; known jump sources: 89e24 (22:5e24), 8a29a (22:629a), 8b3c2 (22:73c2), 8b45c (22:745c), 8b53c (22:753c), 8b5ea (22:75ea), 8b630 (22:7630)
+Function8b36c: ; 8b36c (22:736c)
+ push bc
+ ld h, b
+ ld l, c
+ ld bc, $4
+ ld a, $ff
+ call ByteFill
+ pop bc
+ ret
+
+; known jump sources: 8b429 (22:7429), 8b443 (22:7443)
+Function8b379: ; 8b379 (22:7379)
+ push bc
+ ld a, c
+ add e
+ ld c, a
+ ld a, $0
+ adc b
+ ld b, a
+ ld a, [bc]
+ ld d, a
+ pop bc
+ ret
+
+; known jump sources: 8b3ff (22:73ff), 8b417 (22:7417), 8b420 (22:7420), 8b43b (22:743b), 8b454 (22:7454), 8b46b (22:746b)
+Function8b385: ; 8b385 (22:7385)
+ push bc
+ ld a, c
+ add e
+ ld c, a
+ ld a, $0
+ adc b
+ ld b, a
+ ld a, d
+ ld [bc], a
+ pop bc
+ ret
+
+; known jump sources: 8b3bd (22:73bd), 8b466 (22:7466)
+Function8b391: ; 8b391 (22:7391)
+ push bc
+ ld e, $0
+ ld d, $4
+.asm_8b396
+ ld a, [bc]
+ inc bc
+ cp $ff
+ jr z, .asm_8b3a2
+ inc e
+ dec d
+ jr nz, .asm_8b396
+ dec e
+ scf
+.asm_8b3a2
+ pop bc
+ ret
+
+; known jump sources: 8b590 (22:7590), 8b61f (22:761f)
+Function8b3a4: ; 8b3a4 (22:73a4)
+ push de
+ push bc
+ ld d, b
+ ld e, c
+ ld c, $4
+ call Function89185
+ pop bc
+ pop de
+ ret
+
+; known jump sources: 89e0d (22:5e0d)
+Function8b3b0: ; 8b3b0 (22:73b0)
+ ld bc, $a037
+ ld a, [$a60b]
+ and a
+ jr z, .asm_8b3c2
+ cp $3
+ jr nc, .asm_8b3c2
+ call Function8b391
+ jr c, .asm_8b3c9
+.asm_8b3c2
+ call Function8b36c
+ xor a
+ ld [$a60b], a
+.asm_8b3c9
+ ld a, [$a60b]
+ ret
+
+; known jump sources: 8b4b4 (22:74b4), 8b4c8 (22:74c8)
+Function8b3cd: ; 8b3cd (22:73cd)
+ push de
+ push bc
+ ld e, $4
+.asm_8b3d1
+ ld a, [bc]
+ inc bc
+ call Function8998b
+ inc hl
+ dec e
+ jr nz, .asm_8b3d1
+ pop bc
+ pop de
+ ret
+
+; known jump sources: 8b489 (22:7489)
+Function8b3dd: ; 8b3dd (22:73dd)
+ push de
+ push bc
+ call Function354b
+ ld a, c
+ pop bc
+ pop de
+ bit 0, a
+ jr nz, .asm_8b3f7
+ bit 1, a
+ jr nz, .asm_8b40e
+ bit 6, a
+ jr nz, .asm_8b429
+ bit 7, a
+ jr nz, .asm_8b443
+ and a
+ ret
+.asm_8b3f7
+ ld a, e
+ cp $3
+ jr z, .asm_8b407
+ inc e
+ ld d, $0
+ call Function8b385
+ xor a
+ ld [$d010], a
+ ret
+.asm_8b407
+ call PlayClickSFX
+ ld d, $0
+ scf
+ ret
+.asm_8b40e
+ ld a, e
+ and a
+ jr nz, .asm_8b41e
+ call PlayClickSFX
+ ld d, $ff
+ call Function8b385
+ ld d, $1
+ scf
+ ret
+.asm_8b41e
+ ld d, $ff
+ call Function8b385
+ dec e
+ xor a
+ ld [$d010], a
+ ret
+.asm_8b429
+ call Function8b379
+ ld a, d
+ cp $a
+ jr c, .asm_8b433
+ ld d, $9
+.asm_8b433
+ inc d
+ ld a, d
+ cp $a
+ jr c, .asm_8b43b
+ ld d, $0
+.asm_8b43b
+ call Function8b385
+ xor a
+ ld [$d010], a
+ ret
+.asm_8b443
+ call Function8b379
+ ld a, d
+ cp $a
+ jr c, .asm_8b44d
+ ld d, $0
+.asm_8b44d
+ ld a, d
+ dec d
+ and a
+ jr nz, .asm_8b454
+ ld d, $9
+.asm_8b454
+ call Function8b385
+ xor a
+ ld [$d010], a
+ ret
+
+; known jump sources: 8b55e (22:755e), 8b585 (22:7585), 8b60b (22:760b)
+Function8b45c: ; 8b45c (22:745c)
+ call Function8b36c
+ xor a
+ ld [$d010], a
+ ld [$d012], a
+ call Function8b391
+ ld d, $0
+ call Function8b385
+.asm_8b46e
+ call Function8923c
+ call Function8b493
+ call Function8b4cc
+ call Function8b518
+ call Function89b78
+ push bc
+ call Function8b4fd
+ call Function89c44
+ ld a, $1
+ ld [hBGMapMode], a ; $ff00+$d4
+ pop bc
+ call Function8b3dd
+ jr nc, .asm_8b46e
+ ld a, d
+ and a
+ ret z
+ scf
+ ret
+
+; known jump sources: 8a29d (22:629d), 8b471 (22:7471), 8b546 (22:7546), 8b569 (22:7569), 8b59b (22:759b), 8b5be (22:75be), 8b5f4 (22:75f4), 8b616 (22:7616)
+Function8b493: ; 8b493 (22:7493)
+ push bc
+ call Function8923c
+ call Function8b521
+ ld hl, $74a0
+ pop bc
+ rst $28
+ ret
+
+; no known jump sources
+Jumptable_8b4a0: ; 8b4a0 (22:74a0)
+ dw Function8b4a4
+ dw Function8b4b8
+
+
+; no known jump sources
+Function8b4a4: ; 8b4a4 (22:74a4)
+ push bc
+ push de
+ call Function8b4d8
+ call TextBox
+ pop de
+ pop bc
+ call Function8b4cc
+ call Function8b518
+ call Function8b3cd
+ ret
+
+; no known jump sources
+Function8b4b8: ; 8b4b8 (22:74b8)
+ push bc
+ push de
+ call Function8b4ea
+ call Function89b3b
+ pop de
+ pop bc
+ call Function8b4cc
+ call Function8b518
+ call Function8b3cd
+ ret
+
+; known jump sources: 8b474 (22:7474), 8b4ae (22:74ae), 8b4c2 (22:74c2)
+Function8b4cc: ; 8b4cc (22:74cc)
+ push bc
+ ld hl, $7529
+ call Function8b50a
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ pop bc
+ ret
+
+; known jump sources: 8b4a6 (22:74a6)
+Function8b4d8: ; 8b4d8 (22:74d8)
+ ld hl, $7529
+ call Function8b50a
+ push hl
+ inc hl
+ inc hl
+ ld a, [hli]
+ ld b, a
+ ld a, [hl]
+ ld c, a
+ pop hl
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ret
+
+; known jump sources: 8b4ba (22:74ba)
+Function8b4ea: ; 8b4ea (22:74ea)
+ ld hl, $7529
+ call Function8b50a
+ push hl
+ inc hl
+ inc hl
+ ld a, [hli]
+ ld b, a
+ ld a, [hl]
+ ld c, a
+ pop hl
+ ld a, [hli]
+ ld e, a
+ ld a, [hl]
+ ld d, a
+ ret
+
+; known jump sources: 8b47e (22:747e), 8b549 (22:7549), 8b5fa (22:75fa)
+Function8b4fd: ; 8b4fd (22:74fd)
+ ld hl, $752d
+ call Function8b50a
+ ld a, [hli]
+ ld c, a
+ ld a, [hli]
+ ld b, a
+ ld a, [hli]
+ ld d, a
+ ret
+
+; known jump sources: 8b4d0 (22:74d0), 8b4db (22:74db), 8b4ed (22:74ed), 8b500 (22:7500), 8b524 (22:7524)
+Function8b50a: ; 8b50a (22:750a)
+ ld a, [$d02e]
+ and a
+ ret z
+ ld b, $0
+ ld c, $8
+.asm_8b513
+ add hl, bc
+ dec a
+ jr nz, .asm_8b513
+ ret
+
+; known jump sources: 8b477 (22:7477), 8b4b1 (22:74b1), 8b4c5 (22:74c5)
+Function8b518: ; 8b518 (22:7518)
+ push de
+ ld d, $0
+ ld e, $14
+ add hl, de
+ inc hl
+ pop de
+ ret
+
+; known jump sources: 8b497 (22:7497)
+Function8b521: ; 8b521 (22:7521)
+ ld hl, $7530
+ call Function8b50a
+ ld a, [hl]
+ ret
+; 8b529 (22:7529)
+
+INCBIN "baserom.gbc",$8b529,$8b539 - $8b529
+
+; known jump sources: 8a0e6 (22:60e6)
+Function8b539: ; 8b539 (22:7539)
+ ld bc, $d017
+ call Function8b36c
+ xor a
+ ld [$d012], a
+ ld [$d02e], a
+ call Function8b493
+ call Function8b4fd
+ ld e, $0
+ call Function89c44
+ call Function3238
+ ret
+
+; known jump sources: 8a0f5 (22:60f5), 8b57a (22:757a), 8b588 (22:7588)
+Function8b555: ; 8b555 (22:7555)
+ ld hl, $75ce
+ call PrintText
+ ld bc, $d017
+ call Function8b45c
+ jr c, .asm_8b5c8
+ call Function89448
+ ld bc, $d017
+ call Function8b493
+ ld bc, $d017
+ call Function8b664
+ jr nz, .asm_8b57c
+ ld hl, $75e2
+ call PrintText
+ jr Function8b555
+.asm_8b57c
+ ld hl, $75d3
+ call PrintText
+ ld bc, $d013
+ call Function8b45c
+ jr c, Function8b555
+ ld bc, $d017
+ ld hl, $d013
+ call Function8b3a4
+ jr z, .asm_8b5a6
+ call Function89448
+ ld bc, $d013
+ call Function8b493
+ ld hl, $75d8
+ call PrintText
+ jr .asm_8b57c
+.asm_8b5a6
+ call Function89160
+ ld hl, $d013
+ ld de, $a037
+ ld bc, $4
+ call CopyBytes
+ call CloseSRAM
+ call Function89448
+ ld bc, $d013
+ call Function8b493
+ ld hl, $75dd
+ call PrintText
+ and a
+.asm_8b5c8
+ push af
+ call Function89448
+ pop af
+ ret
+; 8b5ce (22:75ce)
+
+INCBIN "baserom.gbc",$8b5ce,$8b5e7 - $8b5ce
+
+; known jump sources: 8a2a6 (22:62a6)
+Function8b5e7: ; 8b5e7 (22:75e7)
+ ld bc, $d013
+ call Function8b36c
+ xor a
+ ld [$d012], a
+ ld [$d02e], a
+ call Function8b493
+ call Function891ab
+ call Function8b4fd
+ ld e, $0
+ call Function89c44
+.asm_8b602
+ ld hl, $7642
+ call PrintText
+ ld bc, $d013
+ call Function8b45c
+ jr c, .asm_8b63c
+ call Function89448
+ ld bc, $d013
+ call Function8b493
+ call Function89160
+ ld hl, $a037
+ call Function8b3a4
+ call CloseSRAM
+ jr z, .asm_8b635
+ ld hl, $7647
+ call PrintText
+ ld bc, $d013
+ call Function8b36c
+ jr .asm_8b602
+.asm_8b635
+ ld hl, $764c
+ call PrintText
+ and a
+.asm_8b63c
+ push af
+ call Function89448
+ pop af
+ ret
+; 8b642 (22:7642)
+
+INCBIN "baserom.gbc",$8b642,$8b664 - $8b642
+
+; known jump sources: 8b56f (22:756f)
+Function8b664: ; 8b664 (22:7664)
+ push bc
+ ld de, $4
+.asm_8b668
+ ld a, [bc]
+ cp $0
+ jr nz, .asm_8b66e
+ inc d
+.asm_8b66e
+ inc bc
+ dec e
+ jr nz, .asm_8b668
+ pop bc
+ ld a, d
+ cp $4
+ ret
+
Function8b677: ; 8b677
call WhiteBGMap
call DisableLCD
@@ -61402,7 +76615,7 @@
ret
; 8b6d5
-INCBIN "baserom.gbc", $8b6d5, $8b6ed - $8b6d5
+INCBIN "baserom.gbc",$8b6d5,$8b6ed - $8b6d5
Function8b6ed: ; 8b6ed
ld hl, AttrMap
@@ -61669,7 +76882,7 @@
ret
; 8b867
-INCBIN "baserom.gbc", $8b867, $8b94a - $8b867
+INCBIN "baserom.gbc",$8b867,$8b94a - $8b867
Function8b94a: ; 8b94a
ld [$d033], a
@@ -61683,9 +76896,91 @@
ret
; 8b960
-INCBIN "baserom.gbc", $8b960, $8ba24 - $8b960
+; known jump sources: 8a656 (22:6656)
+Function8b960: ; 8b960 (22:7960)
+ ld hl, $79ac
+ call LoadMenuDataHeader
+ call Function8b9e9
+ jr c, .asm_8b97a
+ ld hl, $c4ab
+ ld b, $6
+ ld c, $7
+ call Function8b703
+ ld hl, $79b1
+ jr .asm_8b987
+.asm_8b97a
+ ld hl, $c4ab
+ ld b, $a
+ ld c, $7
+ call Function8b703
+ ld hl, $79ca
+.asm_8b987
+ ld a, $1
+ call Function89d5e
+ ld hl, $79ab
+ call Function89d85
+ call Function1c07
+ jr c, .asm_8b99c
+ call Function8b99f
+ jr nz, .asm_8b99d
+.asm_8b99c
+ xor a
+.asm_8b99d
+ ld c, a
+ ret
+; known jump sources: 8b997 (22:7997)
+Function8b99f: ; 8b99f (22:799f)
+ ld hl, DefaultFlypoint ; $d002
+ dec a
+ ld c, a
+ ld b, $0
+ add hl, bc
+ ld a, [hl]
+ cp $ff
+ ret
+; 8b9ab (22:79ab)
+
+INCBIN "baserom.gbc",$8b9ab,$8b9e9 - $8b9ab
+
+; known jump sources: 8b966 (22:7966)
+Function8b9e9: ; 8b9e9 (22:79e9)
+ call Function89160
+ call Function8931b
+ call Function8932d
+ jr nc, .asm_8b9f6
+ jr .asm_8b9ff
+.asm_8b9f6
+ ld hl, $11
+ add hl, bc
+ call Function89b45
+ jr c, .asm_8ba08
+.asm_8b9ff
+ call Function892b4
+ and a
+ ld de, $7a1c
+ jr .asm_8ba0c
+.asm_8ba08
+ ld de, $7a1f
+ scf
+.asm_8ba0c
+ push af
+ ld hl, DefaultFlypoint ; $d002
+.asm_8ba10
+ ld a, [de]
+ inc de
+ ld [hli], a
+ cp $ff
+ jr nz, .asm_8ba10
+ call CloseSRAM
+ pop af
+ ret
+; 8ba1c (22:7a1c)
+
+INCBIN "baserom.gbc",$8ba1c,$8ba24 - $8ba1c
+
+
SECTION "bank23",ROMX,BANK[$23]
Function8c000: ; 8c000
@@ -61892,8 +77187,34 @@
ret
; 8c0e5
-INCBIN "baserom.gbc", $8c0e5, $8c117 - $8c0e5
+ ld hl, $410f
+ ld a, [$c2d0]
+ cp $4
+ jr z, .asm_8c0fc
+ and $7
+ add l
+ ld l, a
+ ld a, $0
+ adc h
+ ld h, a
+ ld a, [hl]
+ ld [$d847], a
+ ret
+.asm_8c0fc
+ ld a, [StatusFlags] ; $d84c
+ bit 2, a
+ jr nz, .asm_8c109
+ ld a, $ff
+ ld [$d847], a
+ ret
+.asm_8c109
+ ld a, $aa
+ ld [$d847], a
+ ret
+; 8c10f (23:410f)
+INCBIN "baserom.gbc",$8c10f,$8c117 - $8c10f
+
GetTimePalette: ; 8c117
; get time of day
ld a, [TimeOfDay]
@@ -62312,7 +77633,7 @@
ret
; 8c2f4
-INCBIN "baserom.gbc", $8c2f4, $8c314 - $8c2f4
+INCBIN "baserom.gbc",$8c2f4,$8c314 - $8c2f4
Function8c314: ; 8c314
ld a, [$cf63]
@@ -62327,8 +77648,493 @@
jp [hl]
; 8c323
-INCBIN "baserom.gbc", $8c323, $8c6d8 - $8c323
+; no known jump sources
+Jumptable_8c323: ; 8c323 (23:4323)
+ dw Function8c365
+ dw Function8c5dc
+ dw Function8c3a1
+ dw Function8c3ab
+ dw Function8c3ab
+ dw Function8c3ab
+ dw Function8c39c
+ dw Function8c3e8
+ dw Function8c408
+ dw Function8c5dc
+ dw Function8c3a1
+ dw Function8c3ab
+ dw Function8c3ab
+ dw Function8c3ab
+ dw Function8c39c
+ dw Function8c768
+ dw Function8c5dc
+ dw Function8c3a1
+ dw Function8c3ab
+ dw Function8c3ab
+ dw Function8c3ab
+ dw Function8c39c
+ dw Function8c43d
+ dw Function8c44f
+ dw Function8c5dc
+ dw Function8c3a1
+ dw Function8c3ab
+ dw Function8c3ab
+ dw Function8c3ab
+ dw Function8c39c
+ dw Function8c578
+ dw Function8c58f
+ dw Function8c393
+
+
+; no known jump sources
+Function8c365: ; 8c365 (23:4365)
+ ld de, $0
+ ld a, [BattleMonLevel] ; $c639
+ add $3
+ ld hl, EnemyMonLevel ; $d213
+ cp [hl]
+ jr nc, .asm_8c375
+ set 0, e
+.asm_8c375
+ ld a, [$d19a]
+ cp $4
+ jr z, .asm_8c386
+ cp $5
+ jr z, .asm_8c386
+ cp $7
+ jr z, .asm_8c386
+ set 1, e
+.asm_8c386
+ ld hl, $438f
+ add hl, de
+ ld a, [hl]
+ ld [$cf63], a
+ ret
+; 8c38f (23:438f)
+
+INCBIN "baserom.gbc",$8c38f,$8c393 - $8c38f
+
+; no known jump sources
+Function8c393: ; 8c393 (23:4393)
+ call ClearSprites
+ ld a, $80
+ ld [$cf63], a
+ ret
+
+; known jump sources: 8c3a1 (23:43a1), 8c3af (23:43af), 8c3f2 (23:43f2), 8c447 (23:4447), 8c582 (23:4582), 8c673 (23:4673)
+Function8c39c: ; 8c39c (23:439c)
+ ld hl, $cf63
+ inc [hl]
+ ret
+
+; no known jump sources
+Function8c3a1: ; 8c3a1 (23:43a1)
+ call Function8c39c
+ xor a
+ ld [$cf64], a
+ ld [hBGMapMode], a ; $ff00+$d4
+ ret
+
+; no known jump sources
+Function8c3ab: ; 8c3ab (23:43ab)
+ call Function8c3b3
+ ret nc
+ call Function8c39c
+ ret
+
+; known jump sources: 8c3ab (23:43ab)
+Function8c3b3: ; 8c3b3 (23:43b3)
+ ld a, [$d847]
+ cp $ff
+ jr z, .asm_8c3d5
+ ld hl, $cf64
+ ld a, [hl]
+ inc [hl]
+ srl a
+ ld e, a
+ ld d, $0
+ ld hl, $43db
+ add hl, de
+ ld a, [hl]
+ cp $1
+ jr z, .asm_8c3d5
+ ld [$cfc7], a
+ call DmgToCgbBGPals
+ and a
+ ret
+.asm_8c3d5
+ xor a
+ ld [$cf64], a
+ scf
+ ret
+; 8c3db (23:43db)
+
+INCBIN "baserom.gbc",$8c3db,$8c3e8 - $8c3db
+
+; no known jump sources
+Function8c3e8: ; 8c3e8 (23:43e8)
+ ld a, BANK(Function5602)
+ ld hl, Function5602
+ rst $8 ; ; indirect jump to Function5602 (5602 (1:5602))
+ ld a, $5
+ ld [rSVBK], a ; $ff00+$70
+ call Function8c39c
+ ld a, $43
+ ld [hLCDStatCustom], a ; $ff00+$c6
+ xor a
+ ld [$FF00+$c7], a
+ ld a, $90
+ ld [$FF00+$c8], a
+ xor a
+ ld [$cf64], a
+ ld [$cf65], a
+ ret
+
+; no known jump sources
+Function8c408: ; 8c408 (23:4408)
+ ld a, [$cf64]
+ cp $60
+ jr nc, .asm_8c413
+ call Function8c419
+ ret
+.asm_8c413
+ ld a, $20
+ ld [$cf63], a
+ ret
+
+; known jump sources: 8c40f (23:440f)
+Function8c419: ; 8c419 (23:4419)
+ ld hl, $cf65
+ ld a, [hl]
+ inc [hl]
+ ld hl, $cf64
+ ld d, [hl]
+ add [hl]
+ ld [hl], a
+ ld a, $90
+ ld bc, CurMartEnd ; $d100 (aliases: LYOverrides)
+ ld e, $0
+.asm_8c42b
+ push af
+ push de
+ ld a, e
+ call Function8c6f7
+ ld [bc], a
+ inc bc
+ pop de
+ ld a, e
+ add $2
+ ld e, a
+ pop af
+ dec a
+ jr nz, .asm_8c42b
+ ret
+
+; no known jump sources
+Function8c43d: ; 8c43d (23:443d)
+ ld a, BANK(Function5602)
+ ld hl, Function5602
+ rst $8 ; ; indirect jump to Function5602 (5602 (1:5602))
+ ld a, $5
+ ld [rSVBK], a ; $ff00+$70
+ call Function8c39c
+ xor a
+ ld [$cf64], a
+ ret
+
+; no known jump sources
+Function8c44f: ; 8c44f (23:444f)
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ ld a, [$cf64]
+ ld e, a
+ ld d, $0
+ ld hl, $4490
+ add hl, de
+ add hl, de
+ add hl, de
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ cp $ff
+ jr z, .asm_8c47a
+ ld [$cf65], a
+ call Function8c4f5
+ ld a, $1
+ ld [hBGMapMode], a ; $ff00+$d4
+ call DelayFrame
+ call DelayFrame
+ ld hl, $cf64
+ inc [hl]
+ ret
+.asm_8c47a
+ ld a, $1
+ ld [hBGMapMode], a ; $ff00+$d4
+ call DelayFrame
+ call DelayFrame
+ call DelayFrame
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ ld a, $20
+ ld [$cf63], a
+ ret
+; 8c490 (23:4490)
+
+INCBIN "baserom.gbc",$8c490,$8c4f5 - $8c490
+
+; known jump sources: 8c468 (23:4468)
+Function8c4f5: ; 8c4f5 (23:44f5)
+ ld a, [hli]
+ ld e, a
+ ld a, [hli]
+ ld d, a
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+.asm_8c4fc
+ push hl
+ ld a, [de]
+ ld c, a
+ inc de
+.asm_8c500
+ ld [hl], $ff
+ ld a, [$cf65]
+ bit 0, a
+ jr z, .asm_8c50c
+ inc hl
+ jr .asm_8c50d
+.asm_8c50c
+ dec hl
+.asm_8c50d
+ dec c
+ jr nz, .asm_8c500
+ pop hl
+ ld a, [$cf65]
+ bit 1, a
+ ld bc, $14
+ jr z, .asm_8c51e
+ ld bc, $ffec
+.asm_8c51e
+ add hl, bc
+ ld a, [de]
+ inc de
+ cp $ff
+ ret z
+ and a
+ jr z, .asm_8c4fc
+ ld c, a
+.asm_8c528
+ ld a, [$cf65]
+ bit 0, a
+ jr z, .asm_8c532
+ dec hl
+ jr .asm_8c533
+.asm_8c532
+ inc hl
+.asm_8c533
+ dec c
+ jr nz, .asm_8c528
+ jr .asm_8c4fc
+; 8c538 (23:4538)
+
+INCBIN "baserom.gbc",$8c538,$8c578 - $8c538
+
+; no known jump sources
+Function8c578: ; 8c578 (23:4578)
+ ld a, BANK(Function5602)
+ ld hl, Function5602
+ rst $8 ; ; indirect jump to Function5602 (5602 (1:5602))
+ ld a, $5
+ ld [rSVBK], a ; $ff00+$70
+ call Function8c39c
+ ld a, $10
+ ld [$cf64], a
+ ld a, $1
+ ld [hBGMapMode], a ; $ff00+$d4
+ ret
+
+; no known jump sources
+Function8c58f: ; 8c58f (23:458f)
+ ld hl, $cf64
+ ld a, [hl]
+ and a
+ jr z, .asm_8c5a2
+ dec [hl]
+ ld c, $c
+.asm_8c599
+ push bc
+ call Function8c5b8
+ pop bc
+ dec c
+ jr nz, .asm_8c599
+ ret
+.asm_8c5a2
+ ld a, $1
+ ld [hBGMapMode], a ; $ff00+$d4
+ call DelayFrame
+ call DelayFrame
+ call DelayFrame
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ ld a, $20
+ ld [$cf63], a
+ ret
+
+; known jump sources: 8c59a (23:459a), 8c5bd (23:45bd), 8c5d7 (23:45d7)
+Function8c5b8: ; 8c5b8 (23:45b8)
+ call Random
+ cp $12
+ jr nc, Function8c5b8
+ ld b, a
+.asm_8c5c0
+ call Random
+ cp $14
+ jr nc, .asm_8c5c0
+ ld c, a
+ ld hl, $c48c
+ ld de, $14
+ inc b
+.asm_8c5cf
+ add hl, de
+ dec b
+ jr nz, .asm_8c5cf
+ add hl, bc
+ ld a, [hl]
+ cp $ff
+ jr z, Function8c5b8
+ ld [hl], $ff
+ ret
+
+; no known jump sources
+Function8c5dc: ; 8c5dc (23:45dc)
+ ld a, [OtherTrainerClass] ; $d22f
+ and a
+ jp z, Function8c673
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ ld hl, AttrMap ; $cdd9
+ ld bc, $168
+ inc b
+ inc c
+ jr .asm_8c5f4
+.asm_8c5f0
+ ld a, [hl]
+ or $7
+ ld [hli], a
+.asm_8c5f4
+ dec c
+ jr nz, .asm_8c5f0
+ dec b
+ jr nz, .asm_8c5f0
+ call Function8c6b1
+ ld hl, $c4b6
+ ld b, $10
+.asm_8c602
+ push hl
+ ld c, $2
+.asm_8c605
+ push hl
+ ld a, [de]
+ inc de
+.asm_8c608
+ and a
+ jr z, .asm_8c614
+ sla a
+ jr nc, .asm_8c611
+ ld [hl], $fe
+.asm_8c611
+ inc hl
+ jr .asm_8c608
+.asm_8c614
+ pop hl
+ push bc
+ ld bc, $8
+ add hl, bc
+ pop bc
+ dec c
+ jr nz, .asm_8c605
+ pop hl
+ push bc
+ ld bc, $14
+ add hl, bc
+ pop bc
+ dec b
+ jr nz, .asm_8c602
+ ld a, [hCGB] ; $ff00+$e6
+ and a
+ jr nz, .asm_8c639
+ ld a, $1
+ ld [hBGMapMode], a ; $ff00+$d4
+ call DelayFrame
+ call DelayFrame
+ jr Function8c673
+.asm_8c639
+ ld hl, $46a1
+ ld a, [TimeOfDayPal] ; $d841
+ and $3
+ cp $3
+ jr nz, .asm_8c648
+ ld hl, $46a9
+.asm_8c648
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $5
+ ld [rSVBK], a ; $ff00+$70
+ call Function8c677
+ push hl
+ ld de, $d038
+ ld bc, $8
+ call CopyBytes
+ pop hl
+ ld de, $d0b8
+ ld bc, $8
+ call CopyBytes
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ ld a, $1
+ ld [hCGBPalUpdate], a ; $ff00+$e5
+ call DelayFrame
+ call Function8cf4f
+
+; known jump sources: 8c5e0 (23:45e0), 8c637 (23:4637)
+Function8c673: ; 8c673 (23:4673)
+ call Function8c39c
+ ret
+
+; known jump sources: 8c64f (23:464f)
+Function8c677: ; 8c677 (23:4677)
+ ld de, $d038
+ call Function8c698
+ ld de, $d0b8
+ call Function8c698
+ ld de, $d070
+ call Function8c698
+ ld de, CurMart ; $d0f0
+ call Function8c698
+ ld de, $d078
+ call Function8c698
+ ld de, $d0f8
+
+; known jump sources: 8c67a (23:467a), 8c680 (23:4680), 8c686 (23:4686), 8c68c (23:468c), 8c692 (23:4692)
+Function8c698: ; 8c698 (23:4698)
+ push hl
+ ld bc, $8
+ call CopyBytes
+ pop hl
+ ret
+; 8c6a1 (23:46a1)
+
+INCBIN "baserom.gbc",$8c6a1,$8c6b1 - $8c6a1
+
+; known jump sources: 8c5fa (23:45fa)
+Function8c6b1: ; 8c6b1 (23:46b1)
+ ld a, [OtherTrainerClass] ; $d22f
+ ld de, $46b8
+ ret
+; 8c6b8 (23:46b8)
+
+INCBIN "baserom.gbc",$8c6b8,$8c6d8 - $8c6b8
+
Function8c6d8: ; 8c6d8
ld a, [rSVBK]
push af
@@ -62353,8 +78159,104 @@
ret
; 8c6f7
-INCBIN "baserom.gbc", $8c6f7, $8c7d4 - $8c6f7
+; known jump sources: 8c42e (23:442e)
+Function8c6f7: ; 8c6f7 (23:46f7)
+ and $3f
+ cp $20
+ jr nc, .asm_8c702
+ call Function8c70c
+ ld a, h
+ ret
+.asm_8c702
+ and $1f
+ call Function8c70c
+ ld a, h
+ xor $ff
+ inc a
+ ret
+
+; known jump sources: 8c6fd (23:46fd), 8c704 (23:4704)
+Function8c70c: ; 8c70c (23:470c)
+ ld e, a
+ ld a, d
+ ld d, $0
+ ld hl, $4728
+ add hl, de
+ add hl, de
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ ld hl, $0
+.asm_8c71b
+ srl a
+ jr nc, .asm_8c720
+ add hl, de
+.asm_8c720
+ sla e
+ rl d
+ and a
+ jr nz, .asm_8c71b
+ ret
+; 8c728 (23:4728)
+
+INCBIN "baserom.gbc",$8c728,$8c768 - $8c728
+
+; no known jump sources
+Function8c768: ; 8c768 (23:4768)
+ ld a, BANK(Function5602)
+ ld hl, Function5602
+ rst $8 ; ; indirect jump to Function5602 (5602 (1:5602))
+ ld de, $4792
+.asm_8c771
+ ld a, [de]
+ cp $ff
+ jr z, .asm_8c78c
+ inc de
+ ld c, a
+ ld a, [de]
+ inc de
+ ld b, a
+ ld a, [de]
+ inc de
+ ld l, a
+ ld a, [de]
+ inc de
+ ld h, a
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call Function8c7b7
+ call WaitBGMap
+ jr .asm_8c771
+.asm_8c78c
+ ld a, $20
+ ld [$cf63], a
+ ret
+; 8c792 (23:4792)
+
+INCBIN "baserom.gbc",$8c792,$8c7b7 - $8c792
+
+; known jump sources: 8c784 (23:4784)
+Function8c7b7: ; 8c7b7 (23:47b7)
+ ld a, $ff
+.asm_8c7b9
+ push bc
+ push hl
+.asm_8c7bb
+ ld [hli], a
+ dec c
+ jr nz, .asm_8c7bb
+ pop hl
+ ld bc, $14
+ add hl, bc
+ pop bc
+ dec b
+ jr nz, .asm_8c7b9
+ ret
+; 8c7c9 (23:47c9)
+
+INCBIN "baserom.gbc",$8c7c9,$8c7d4 - $8c7c9
+
Function8c7d4: ; 8c7d4
call WaitSFX
ld de, $0053
@@ -62363,7 +78265,7 @@
ret
; 8c7e1
-INCBIN "baserom.gbc", $8c7e1, $8c940 - $8c7e1
+INCBIN "baserom.gbc",$8c7e1,$8c940 - $8c7e1
Function8c940: ; 8c940
ld a, e
@@ -62405,7 +78307,7 @@
ret
; 8c98c
-INCBIN "baserom.gbc", $8c98c, $8ca0c - $8c98c
+INCBIN "baserom.gbc",$8c98c,$8ca0c - $8c98c
Function8ca0c: ; 8ca0c
ld a, [$cf63]
@@ -62420,8 +78322,284 @@
jp [hl]
; 8ca1b
-INCBIN "baserom.gbc", $8ca1b, $8cc04 - $8ca1b
+; no known jump sources
+Jumptable_8ca1b: ; 8ca1b (23:4a1b)
+ dw Function8ca23
+ dw Function8ca3c
+ dw Function8ca5c
+ dw Function8ca64
+
+
+; no known jump sources
+Function8ca23: ; 8ca23 (23:4a23)
+ call Function8cad3
+ ld a, $17
+ call Function3b2a
+ ld hl, $3
+ add hl, bc
+ ld [hl], $84
+ ld a, $20
+ ld [$cf64], a
+ ld hl, $cf63
+ inc [hl]
+ inc [hl]
+ ret
+
+; no known jump sources
+Function8ca3c: ; 8ca3c (23:4a3c)
+ call Function8ca8e
+ xor a
+ call Function8ca73
+ ld a, $10
+ call Function8ca73
+ ld a, $20
+ call Function8ca73
+ ld a, $30
+ call Function8ca73
+ ld a, $20
+ ld [$cf64], a
+ ld hl, $cf63
+ inc [hl]
+ ret
+
+; no known jump sources
+Function8ca5c: ; 8ca5c (23:4a5c)
+ ld a, $1
+ ld [hBGMapMode], a ; $ff00+$d4
+ ld hl, $cf63
+ inc [hl]
+
+; no known jump sources
+Function8ca64: ; 8ca64 (23:4a64)
+ ld hl, $cf64
+ ld a, [hl]
+ and a
+ jr z, .asm_8ca6d
+ dec [hl]
+ ret
+.asm_8ca6d
+ ld hl, $cf63
+ set 7, [hl]
+ ret
+
+; known jump sources: 8ca40 (23:4a40), 8ca45 (23:4a45), 8ca4a (23:4a4a), 8ca4f (23:4a4f)
+Function8ca73: ; 8ca73 (23:4a73)
+ push de
+ push af
+ ld a, $16
+ call Function3b2a
+ ld hl, $3
+ add hl, bc
+ ld [hl], $80
+ ld hl, $e
+ add hl, bc
+ ld [hl], $4
+ pop af
+ ld hl, $c
+ add hl, bc
+ ld [hl], a
+ pop de
+ ret
+
+; known jump sources: 8ca3c (23:4a3c)
+Function8ca8e: ; 8ca8e (23:4a8e)
+ ld de, $0
+ ld a, [$d197]
+ bit 0, a
+ jr z, .asm_8ca9a
+ set 0, e
+.asm_8ca9a
+ ld a, [$d196]
+ bit 0, a
+ jr z, .asm_8caa3
+ set 1, e
+.asm_8caa3
+ ld a, [PlayerDirection] ; $d4de
+ and $c
+ add e
+ ld e, a
+ ld hl, $4ab3
+ add hl, de
+ add hl, de
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ ret
+; 8cab3 (23:4ab3)
+
+INCBIN "baserom.gbc",$8cab3,$8cad3 - $8cab3
+
+; known jump sources: 8ca23 (23:4a23)
+Function8cad3: ; 8cad3 (23:4ad3)
+ ld a, [PlayerDirection] ; $d4de
+ and $c
+ srl a
+ ld e, a
+ ld d, $0
+ ld hl, $4ae5
+ add hl, de
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ ret
+; 8cae5 (23:4ae5)
+
+INCBIN "baserom.gbc",$8cae5,$8caed - $8cae5
+ call DelayFrame
+ ld a, [VramState] ; $d0ed
+ push af
+ xor a
+ ld [VramState], a ; $d0ed
+ call Function8cb9b
+ ld de, $5450
+ ld a, $a
+ call Function3b2a
+ ld hl, $3
+ add hl, bc
+ ld [hl], $84
+ ld hl, $2
+ add hl, bc
+ ld [hl], $16
+ ld a, $80
+ ld [$cf64], a
+.asm_8cb14
+ ld a, [$cf63]
+ bit 7, a
+ jr nz, .asm_8cb2e
+ ld a, $0
+ ld [$c3b5], a
+ ld hl, Function8cf7a
+ ld a, BANK(Function8cf7a)
+ rst $8 ; ; indirect jump to Function8cf7a (8cf7a (23:4f7a))
+ call Function8cbc8
+ call DelayFrame
+ jr .asm_8cb14
+.asm_8cb2e
+ pop af
+ ld [VramState], a ; $d0ed
+ ret
+ call DelayFrame
+ ld a, [VramState] ; $d0ed
+ push af
+ xor a
+ ld [VramState], a ; $d0ed
+ call Function8cb9b
+ ld de, $fc50
+ ld a, $a
+ call Function3b2a
+ ld hl, $3
+ add hl, bc
+ ld [hl], $84
+ ld hl, $2
+ add hl, bc
+ ld [hl], $18
+ ld hl, $f
+ add hl, bc
+ ld [hl], $58
+ ld a, $40
+ ld [$cf64], a
+.asm_8cb60
+ ld a, [$cf63]
+ bit 7, a
+ jr nz, .asm_8cb7a
+ ld a, $0
+ ld [$c3b5], a
+ ld hl, Function8cf7a
+ ld a, BANK(Function8cf7a)
+ rst $8 ; ; indirect jump to Function8cf7a (8cf7a (23:4f7a))
+ call Function8cbc8
+ call DelayFrame
+ jr .asm_8cb60
+.asm_8cb7a
+ pop af
+ ld [VramState], a ; $d0ed
+ call Function8cb82
+ ret
+
+; known jump sources: 8cb7e (23:4b7e)
+Function8cb82: ; 8cb82 (23:4b82)
+ ld hl, $c402
+ xor a
+ ld c, $4
+.asm_8cb88
+ ld [hli], a
+ inc hl
+ inc hl
+ inc hl
+ inc a
+ dec c
+ jr nz, .asm_8cb88
+ ld hl, $c410
+ ld bc, $90
+ xor a
+ call ByteFill
+ ret
+
+; known jump sources: 8caf8 (23:4af8), 8cb3e (23:4b3e)
+Function8cb9b: ; 8cb9b (23:4b9b)
+ ld hl, Function8cf53
+ ld a, BANK(Function8cf53)
+ rst $8 ; ; indirect jump to Function8cf53 (8cf53 (23:4f53))
+ ld de, $49cc
+ ld hl, $8800
+ ld bc, $2304
+ call Request2bpp
+ ld a, [CurPartyMon] ; $d109
+ ld hl, PartySpecies ; $dcd8
+ ld e, a
+ ld d, $0
+ add hl, de
+ ld a, [hl]
+ ld [$d265], a
+ ld e, $84
+ ld a, BANK(Function8e9bc)
+ ld hl, Function8e9bc
+ rst $8 ; ; indirect jump to Function8e9bc (8e9bc (23:69bc))
+ xor a
+ ld [$cf63], a
+ ret
+
+; known jump sources: 8cb26 (23:4b26), 8cb72 (23:4b72)
+Function8cbc8: ; 8cbc8 (23:4bc8)
+ call Function8cbe6
+ ld hl, $cf64
+ ld a, [hl]
+ and a
+ jr z, .asm_8cbe0
+ dec [hl]
+ cp $40
+ ret c
+ and $7
+ ret nz
+ ld de, $18
+ call StartSFX
+ ret
+.asm_8cbe0
+ ld hl, $cf63
+ set 7, [hl]
+ ret
+
+; known jump sources: 8cbc8 (23:4bc8)
+Function8cbe6: ; 8cbe6 (23:4be6)
+ ld hl, $cf65
+ ld a, [hl]
+ inc [hl]
+ and $7
+ ret nz
+ ld a, [hl]
+ and $18
+ sla a
+ add $40
+ ld d, a
+ ld e, $0
+ ld a, $18
+ call Function3b2a
+ ld hl, $3
+ add hl, bc
+ ld [hl], $80
+ ret
+
Function8cc04: ; 8cc04
ld a, [ScriptVar]
and a
@@ -62644,7 +78822,7 @@
ret
; 8cd82
-INCBIN "baserom.gbc", $8cd82, $8cda6 - $8cd82
+INCBIN "baserom.gbc",$8cd82,$8cda6 - $8cd82
Function8cda6: ; 8cda6
ld hl, LYOverrides
@@ -62697,7 +78875,7 @@
jp [hl]
; 8ce06
-INCBIN "baserom.gbc", $8ce06, $8ceae - $8ce06
+INCBIN "baserom.gbc",$8ce06,$8ceae - $8ce06
Function8ceae: ; 8ceae
callba Function8cf69
@@ -62736,7 +78914,7 @@
ret
; 8ceff
-INCBIN "baserom.gbc", $8ceff, $8cf4f - $8ceff
+INCBIN "baserom.gbc",$8ceff,$8cf4f - $8ceff
Function8cf4f: ; 8cf4f
call Function3238
@@ -62817,7 +78995,7 @@
ret
; 8cfa8
-INCBIN "baserom.gbc", $8cfa8, $8cfd6 - $8cfa8
+INCBIN "baserom.gbc",$8cfa8,$8cfd6 - $8cfa8
Function8cfd6: ; 8cfd6
@@ -62906,9 +79084,21 @@
ret
; 8d03d
-INCBIN "baserom.gbc", $8d03d, $8d04c - $8d03d
+; no known jump sources
+Function8d03d: ; 8d03d (23:503d)
+ ld hl, $c314
+ ld bc, $10
+ ld e, $a
+ xor a
+.asm_8d046
+ ld [hl], a
+ add hl, bc
+ dec e
+ jr nz, .asm_8d046
+ ret
+
Function8d04c: ; 8d04c
call Function8d0ec
call Function8d132
@@ -63184,7 +79374,7 @@
ret
; 8d1ac
-INCBIN "baserom.gbc", $8d1ac, $8d24b - $8d1ac
+INCBIN "baserom.gbc",$8d1ac,$8d24b - $8d1ac
Function8d24b: ; 8d24b
@@ -63201,11 +79391,702 @@
jp [hl]
; 8d25b
-INCBIN "baserom.gbc", $8d25b, $8e72a - $8d25b
+; no known jump sources
+Jumptable_8d25b: ; 8d25b (23:525b)
+ dw Function8d2a1
+ dw Function8d2a2
+ dw Function8d2b9
+ dw Function8d2ea
+ dw Function8d302
+ dw Function8d36c
+ dw Function8d37a
+ dw Function8d381
+ dw Function8d3c3
+ dw Function8d422
+ dw Function8d429
+ dw Function8d43e
+ dw Function8d373
+ dw Function8d46e
+ dw Function8d47c
+ dw Function8d475
+ dw Function8d483
+ dw Function8d52a
+ dw Function8d543
+ dw Function8d54a
+ dw Function8d578
+ dw Function8d57f
+ dw Function8d5b0
+ dw Function8d5e2
+ dw Function8d607
+ dw Function8d35a
+ dw Function8d6b7
+ dw Function8d630
+ dw Function8d637
+ dw Function8d63e
+ dw Function8d666
+ dw Function8d6be
+ dw Function8d680
+ dw Function8d6a2
+ dw Function8d6ae
+
+; no known jump sources
+Function8d2a1: ; 8d2a1 (23:52a1)
+ ret
+
+; no known jump sources
+Function8d2a2: ; 8d2a2 (23:52a2)
+ ld a, [$cfa9]
+ ld hl, $0
+ add hl, bc
+ cp [hl]
+ jr z, Function8d2b9
+ ld hl, $4
+ add hl, bc
+ ld [hl], $10
+ ld hl, $7
+ add hl, bc
+ ld [hl], $0
+ ret
+
+; known jump sources: 8d2aa (23:52aa)
+Function8d2b9: ; 8d2b9 (23:52b9)
+ ld hl, $4
+ add hl, bc
+ ld [hl], $18
+ ld hl, $c
+ add hl, bc
+ ld a, [hl]
+ ld d, a
+ inc [hl]
+ and $f
+ ret nz
+ ld hl, $d
+ add hl, bc
+ ld e, [hl]
+ ld hl, $7
+ add hl, bc
+ ld a, d
+ and $10
+ jr z, .asm_8d2df
+ ld a, e
+ and a
+ jr z, .asm_8d2e6
+ cp $1
+ jr z, .asm_8d2e2
+.asm_8d2df
+ xor a
+ ld [hl], a
+ ret
+.asm_8d2e2
+ ld a, $ff
+ ld [hl], a
+ ret
+.asm_8d2e6
+ ld a, $fe
+ ld [hl], a
+ ret
+
+; no known jump sources
+Function8d2ea: ; 8d2ea (23:52ea)
+ ld a, [$cfa9]
+ ld hl, $0
+ add hl, bc
+ cp [hl]
+ jr z, .asm_8d2fb
+ ld hl, $4
+ add hl, bc
+ ld [hl], $10
+ ret
+.asm_8d2fb
+ ld hl, $4
+ add hl, bc
+ ld [hl], $18
+ ret
+
+; no known jump sources
+Function8d302: ; 8d302 (23:5302)
+ call Function8d6c5
+ jp [hl]
+; 8d306 (23:5306)
+
+INCBIN "baserom.gbc",$8d306,$8d35a - $8d306
+
+; no known jump sources
+Function8d35a: ; 8d35a (23:535a)
+ ld hl, $c
+ add hl, bc
+ ld a, [hl]
+ inc a
+ ld [hl], a
+ ld d, $2
+ call Function8d6de
+ ld hl, $7
+ add hl, bc
+ ld [hl], a
+ ret
+
+; no known jump sources
+Function8d36c: ; 8d36c (23:536c)
+ ld hl, Function11a3b
+ ld a, BANK(Function11a3b)
+ rst $8 ; ; indirect jump to Function11a3b (11a3b (4:5a3b))
+ ret
+
+; no known jump sources
+Function8d373: ; 8d373 (23:5373)
+ ld hl, Function120c1
+ ld a, BANK(Function120c1)
+ rst $8 ; ; indirect jump to Function120c1 (120c1 (4:60c1))
+ ret
+
+; no known jump sources
+Function8d37a: ; 8d37a (23:537a)
+ ld hl, Functione46ed
+ ld a, BANK(Functione46ed)
+ rst $8 ; ; indirect jump to Functione46ed (e46ed (39:46ed))
+ ret
+
+; no known jump sources
+Function8d381: ; 8d381 (23:5381)
+ ld hl, $c
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_8d3ba
+ dec [hl]
+ dec [hl]
+ ld d, a
+ and $1f
+ jr nz, .asm_8d395
+ ld hl, $d
+ add hl, bc
+ dec [hl]
+.asm_8d395
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ push af
+ push de
+ call Function8d6de
+ ld hl, $7
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Function8d6e2
+ ld hl, $6
+ add hl, bc
+ ld [hl], a
+ ld hl, $d
+ add hl, bc
+ ld a, [hl]
+ ld hl, $b
+ add hl, bc
+ add [hl]
+ ld [hl], a
+ ret
+.asm_8d3ba
+ ld a, $1
+ ld [$cf64], a
+ call Function8d036
+ ret
+
+; no known jump sources
+Function8d3c3: ; 8d3c3 (23:53c3)
+ ld hl, $c
+ add hl, bc
+ ld a, [hli]
+ or [hl]
+ jr z, .asm_8d41e
+ ld hl, $f
+ add hl, bc
+ ld d, [hl]
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ push af
+ push de
+ call Function8d6de
+ ld hl, $7
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Function8d6e2
+ ld hl, $6
+ add hl, bc
+ ld [hl], a
+ ld hl, $c
+ add hl, bc
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ ld hl, $e
+ add hl, bc
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, $e
+ add hl, bc
+ ld [hl], e
+ inc hl
+ ld [hl], d
+ ld hl, $c
+ add hl, bc
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld de, $fff0
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, $c
+ add hl, bc
+ ld [hl], e
+ inc hl
+ ld [hl], d
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ xor $20
+ ld [hl], a
+ ret
+.asm_8d41e
+ call Function8d036
+ ret
+
+; no known jump sources
+Function8d422: ; 8d422 (23:5422)
+ ld hl, Function9321d
+ ld a, BANK(Function9321d)
+ rst $8 ; ; indirect jump to Function9321d (9321d (24:721d))
+ ret
+
+; no known jump sources
+Function8d429: ; 8d429 (23:5429)
+ ld hl, Function932ac
+ ld a, BANK(Function932ac)
+ rst $8 ; ; indirect jump to Function932ac (932ac (24:72ac))
+ ld hl, $cf64
+ ld a, [hl]
+ cp $2
+ ret nz
+ ld [hl], $3
+ ld a, $f
+ call Function8d120
+ ret
+
+; no known jump sources
+Function8d43e: ; 8d43e (23:543e)
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ dec [hl]
+ ld e, a
+ and $1
+ jr z, .asm_8d462
+ ld hl, $4
+ add hl, bc
+ ld a, [hl]
+ cp $78
+ jr c, .asm_8d461
+ call Function8d036
+ ld a, $4
+ ld [$cf64], a
+ ld de, $1e
+ call StartSFX
+ ret
+.asm_8d461
+ inc [hl]
+.asm_8d462
+ ld a, e
+ ld d, $20
+ call Function8d6de
+ ld hl, $7
+ add hl, bc
+ ld [hl], a
+ ret
+
+; no known jump sources
+Function8d46e: ; 8d46e (23:546e)
+ ld hl, Functione00ed
+ ld a, BANK(Functione00ed)
+ rst $8 ; ; indirect jump to Functione00ed (e00ed (38:40ed))
+ ret
+
+; no known jump sources
+Function8d475: ; 8d475 (23:5475)
+ ld hl, Function90d41
+ ld a, BANK(Function90d41)
+ rst $8 ; ; indirect jump to Function90d41 (90d41 (24:4d41))
+ ret
+
+; no known jump sources
+Function8d47c: ; 8d47c (23:547c)
+ ld hl, Functione21a1
+ ld a, BANK(Functione21a1)
+ rst $8 ; ; indirect jump to Functione21a1 (e21a1 (38:61a1))
+ ret
+
+; no known jump sources
+Function8d483: ; 8d483 (23:5483)
+ call Function8d6c5
+ jp [hl]
+; 8d487 (23:5487)
+
+INCBIN "baserom.gbc",$8d487,$8d52a - $8d487
+
+; no known jump sources
+Function8d52a: ; 8d52a (23:552a)
+ ld hl, $4
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ inc [hl]
+ cp $b0
+ jr nc, .asm_8d53f
+ and $3
+ ret nz
+ ld de, $3
+ call StartSFX
+ ret
+.asm_8d53f
+ call Function8d036
+ ret
+
+; no known jump sources
+Function8d543: ; 8d543 (23:5543)
+ ld hl, Function29676
+ ld a, BANK(Function29676)
+ rst $8 ; ; indirect jump to Function29676 (29676 (a:5676))
+ ret
+
+; no known jump sources
+Function8d54a: ; 8d54a (23:554a)
+ ld hl, $c
+ add hl, bc
+ ld a, [hl]
+ cp $80
+ jr nc, .asm_8d574
+ ld d, a
+ add $8
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ xor $20
+ ld [hl], a
+ push af
+ push de
+ call Function8d6de
+ ld hl, $7
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Function8d6e2
+ ld hl, $6
+ add hl, bc
+ ld [hl], a
+ ret
+.asm_8d574
+ call Function8d036
+ ret
+
+; no known jump sources
+Function8d578: ; 8d578 (23:5578)
+ ld hl, Function91640
+ ld a, BANK(Function91640)
+ rst $8 ; ; indirect jump to Function91640 (91640 (24:5640))
+ ret
+
+; no known jump sources
+Function8d57f: ; 8d57f (23:557f)
+ ld hl, $d
+ add hl, bc
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ ld hl, $80
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, $d
+ add hl, bc
+ ld [hl], e
+ inc hl
+ ld [hl], d
+ ld hl, $c
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ inc [hl]
+ inc [hl]
+ push af
+ push de
+ call Function8d6de
+ ld hl, $7
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Function8d6e2
+ ld hl, $6
+ add hl, bc
+ ld [hl], a
+ ret
+
+; no known jump sources
+Function8d5b0: ; 8d5b0 (23:55b0)
+ ld hl, $5
+ add hl, bc
+ ld a, [hl]
+ and a
+ ret z
+ ld hl, $d
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ cp $40
+ ret c
+ ld hl, $5
+ add hl, bc
+ dec [hl]
+ dec [hl]
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ ld d, a
+ cp $40
+ jr nc, .asm_8d5d3
+ add $8
+ ld [hl], a
+.asm_8d5d3
+ ld hl, $e
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ call Function8d6e2
+ ld hl, $6
+ add hl, bc
+ ld [hl], a
+ ret
+
+; no known jump sources
+Function8d5e2: ; 8d5e2 (23:55e2)
+ ld hl, $4
+ add hl, bc
+ ld a, [hl]
+ cp $b8
+ jr nc, .asm_8d603
+ inc [hl]
+ inc [hl]
+ ld hl, $5
+ add hl, bc
+ dec [hl]
+ ld d, $40
+ ld hl, $c
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ call Function8d6e2
+ ld hl, $6
+ add hl, bc
+ ld [hl], a
+ ret
+.asm_8d603
+ call Function8d036
+ ret
+
+; no known jump sources
+Function8d607: ; 8d607 (23:5607)
+ ld hl, $5
+ add hl, bc
+ ld a, [hl]
+ cp $54
+ ret z
+ ld hl, $5
+ add hl, bc
+ inc [hl]
+ inc [hl]
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ ld d, a
+ and a
+ jr z, .asm_8d621
+ sub $2
+ ld [hl], a
+.asm_8d621
+ ld hl, $e
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ call Function8d6e2
+ ld hl, $6
+ add hl, bc
+ ld [hl], a
+ ret
+
+; no known jump sources
+Function8d630: ; 8d630 (23:5630)
+ ld a, BANK(Function108bc7)
+ ld hl, Function108bc7
+ rst $8 ; ; indirect jump to Function108bc7 (108bc7 (42:4bc7))
+ ret
+
+; no known jump sources
+Function8d637: ; 8d637 (23:5637)
+ ld a, BANK(Function108be0)
+ ld hl, Function108be0
+ rst $8 ; ; indirect jump to Function108be0 (108be0 (42:4be0))
+ ret
+
+; no known jump sources
+Function8d63e: ; 8d63e (23:563e)
+ ld a, [$cf65]
+ and a
+ jr nz, .asm_8d645
+ ret
+.asm_8d645
+ ld hl, $7
+ add hl, bc
+ ld [hl], $0
+ ld hl, $d
+ add hl, bc
+ ld a, [hl]
+ add $2
+ ld [hl], a
+ xor $ff
+ inc a
+ ld d, $20
+ call Function8d6de
+ ld hl, $7
+ add hl, bc
+ ld [hl], a
+ ld a, $36
+ call Function8d120
+ ret
+
+; no known jump sources
+Function8d666: ; 8d666 (23:5666)
+ ld hl, $c
+ add hl, bc
+ ld a, [hl]
+ cp $14
+ jr nc, .asm_8d67f
+ add $2
+ ld [hl], a
+ xor $ff
+ inc a
+ ld d, $20
+ call Function8d6de
+ ld hl, $7
+ add hl, bc
+ ld [hl], a
+.asm_8d67f
+ ret
+
+; no known jump sources
+Function8d680: ; 8d680 (23:5680)
+ ld hl, $b
+ add hl, bc
+ ld d, [hl]
+ inc [hl]
+ inc [hl]
+ inc [hl]
+ ld hl, $c
+ add hl, bc
+ ld a, [hl]
+ push af
+ push de
+ call Function8d6de
+ ld hl, $7
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Function8d6e2
+ ld hl, $6
+ add hl, bc
+ ld [hl], a
+ ret
+
+; no known jump sources
+Function8d6a2: ; 8d6a2 (23:56a2)
+ ld a, [$cf64]
+ cp $40
+ ret nz
+ ld a, $3d
+ call Function8d120
+ ret
+
+; no known jump sources
+Function8d6ae: ; 8d6ae (23:56ae)
+ ld hl, $5
+ add hl, bc
+ ld a, [hl]
+ add $10
+ ld [hl], a
+ ret
+
+; no known jump sources
+Function8d6b7: ; 8d6b7 (23:56b7)
+ ld a, BANK(Function11d0b6)
+ ld hl, Function11d0b6
+ rst $8 ; ; indirect jump to Function11d0b6 (11d0b6 (47:50b6))
+ ret
+
+; no known jump sources
+Function8d6be: ; 8d6be (23:56be)
+ ld a, BANK(Function49aa2)
+ ld hl, Function49aa2
+ rst $8 ; ; indirect jump to Function49aa2 (49aa2 (12:5aa2))
+ ret
+
+; known jump sources: 8d302 (23:5302), 8d483 (23:5483)
+Function8d6c5: ; 8d6c5 (23:56c5)
+ ld hl, [sp+$0]
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ inc de
+ ld hl, $b
+ add hl, bc
+ ld l, [hl]
+ ld h, $0
+ add hl, hl
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ret
+; 8d6d8 (23:56d8)
+
+INCBIN "baserom.gbc",$8d6d8,$8d6de - $8d6d8
+
+; known jump sources: 8d363 (23:5363), 8d39c (23:539c), 8d3d7 (23:53d7), 8d465 (23:5465), 8d561 (23:5561), 8d59d (23:559d), 8d658 (23:5658), 8d677 (23:5677), 8d68f (23:568f)
+Function8d6de: ; 8d6de (23:56de)
+ call Function8e72c
+ ret
+
+; known jump sources: 8d3a6 (23:53a6), 8d3e1 (23:53e1), 8d56b (23:556b), 8d5a7 (23:55a7), 8d5d9 (23:55d9), 8d5fa (23:55fa), 8d627 (23:5627), 8d699 (23:5699)
+Function8d6e2: ; 8d6e2 (23:56e2)
+ call Function8e72a
+ ret
+; 8d6e6 (23:56e6)
+
+INCBIN "baserom.gbc",$8d6e6,$8e72a - $8d6e6
+
+
Function8e72a: ; 8e72a
add $10
+Function8e72c: ; 8e72c
and $3f
cp $20
jr nc, .asm_8e737
@@ -63246,7 +80127,7 @@
ret
; 8e75d
-INCBIN "baserom.gbc", $8e75d, $8e79d - $8e75d
+INCBIN "baserom.gbc",$8e75d,$8e79d - $8e75d
Function8e79d: ; 8e79d
@@ -63310,7 +80191,7 @@
jr .asm_8e7cb
; 8e7f4
-INCBIN "baserom.gbc", $8e7f4, $8e814 - $8e7f4
+INCBIN "baserom.gbc",$8e7f4,$8e814 - $8e7f4
Function8e814: ; 8e814
@@ -63372,8 +80253,237 @@
jp [hl]
; 8e854
-INCBIN "baserom.gbc", $8e854, $8e9ac - $8e854
+; no known jump sources
+Jumptable_8e854: ; 8e854 (23:6854)
+ dw Function8e8d5
+ dw Function8e961
+ dw Function8e97d
+ dw Function8e99a
+ dw Function8e898
+ dw Function8e8b1
+ dw Function8e862
+
+
+; no known jump sources
+Function8e862: ; 8e862 (23:6862)
+ call Function8e908
+ call Function8e86c
+ call Function8e936
+ ret
+
+; known jump sources: 8e865 (23:6865)
+Function8e86c: ; 8e86c (23:686c)
+ push bc
+ ld a, [hConnectedMapWidth] ; $ff00+$b0
+ ld hl, PartyMon1Item ; $dce0
+ ld bc, $30
+ call AddNTimes
+ pop bc
+ ld a, [hl]
+ and a
+ jr z, .asm_8e890
+ push hl
+ push bc
+ ld d, a
+ ld hl, ItemIsMail
+ ld a, BANK(ItemIsMail)
+ rst $8 ; ; indirect jump to ItemIsMail (b9e76 (2e:5e76))
+ pop bc
+ pop hl
+ jr c, .asm_8e88e
+ ld a, $6
+ jr .asm_8e892
+.asm_8e88e
+ ld a, $5
+.asm_8e890
+ ld a, $4
+.asm_8e892
+ ld hl, $1
+ add hl, bc
+ ld [hl], a
+ ret
+
+; no known jump sources
+Function8e898: ; 8e898 (23:6898)
+ call Function8e8d5
+ ld hl, $2
+ add hl, bc
+ ld a, $0
+ ld [hl], a
+ ld hl, $4
+ add hl, bc
+ ld a, $48
+ ld [hl], a
+ ld hl, $5
+ add hl, bc
+ ld a, $48
+ ld [hl], a
+ ret
+
+; no known jump sources
+Function8e8b1: ; 8e8b1 (23:68b1)
+ call Function8e908
+ call Function8e936
+ ld hl, $2
+ add hl, bc
+ ld a, $0
+ ld [hl], a
+ ld hl, $4
+ add hl, bc
+ ld a, $18
+ ld [hl], a
+ ld hl, $5
+ add hl, bc
+ ld a, $60
+ ld [hl], a
+ ld a, c
+ ld [EnemyMoveAnimation], a ; $c608 (aliases: EnemyMoveStruct)
+ ld a, b
+ ld [EnemyMoveEffect], a ; $c609
+ ret
+
+; known jump sources: 8e898 (23:6898)
+Function8e8d5: ; 8e8d5 (23:68d5)
+ call Function8e908
+ call Function8e8df
+ call Function8e936
+ ret
+
+; known jump sources: 8e8d8 (23:68d8)
+Function8e8df: ; 8e8df (23:68df)
+ push bc
+ ld a, [hConnectedMapWidth] ; $ff00+$b0
+ ld hl, PartyMon1Item ; $dce0
+ ld bc, $30
+ call AddNTimes
+ pop bc
+ ld a, [hl]
+ and a
+ ret z
+ push hl
+ push bc
+ ld d, a
+ ld hl, ItemIsMail
+ ld a, BANK(ItemIsMail)
+ rst $8 ; ; indirect jump to ItemIsMail (b9e76 (2e:5e76))
+ pop bc
+ pop hl
+ jr c, .asm_8e900
+ ld a, $3
+ jr .asm_8e902
+.asm_8e900
+ ld a, $2
+.asm_8e902
+ ld hl, $1
+ add hl, bc
+ ld [hl], a
+ ret
+
+; known jump sources: 8e862 (23:6862), 8e8b1 (23:68b1), 8e8d5 (23:68d5)
+Function8e908: ; 8e908 (23:6908)
+ ld a, [$c3b7]
+ push af
+ ld a, [hConnectedMapWidth] ; $ff00+$b0
+ ld hl, PartySpecies ; $dcd8
+ ld e, a
+ ld d, $0
+ add hl, de
+ ld a, [hl]
+ call ReadMonMenuIcon
+ ld [CurIcon], a ; $c3b6
+ call Function8e9db
+ ld a, [hConnectedMapWidth] ; $ff00+$b0
+ add a
+ add a
+ add a
+ add a
+ add $1c
+ ld d, a
+ ld e, $10
+ ld a, $0
+ call Function8cfd6
+ pop af
+ ld hl, $3
+ add hl, bc
+ ld [hl], a
+ ret
+
+; known jump sources: 8e868 (23:6868), 8e8b4 (23:68b4), 8e8db (23:68db)
+Function8e936: ; 8e936 (23:6936)
+ push bc
+ ld a, [hConnectedMapWidth] ; $ff00+$b0
+ ld b, a
+ call Function8e94c
+ ld a, b
+ pop bc
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ rlca
+ rlca
+ ld hl, $d
+ add hl, bc
+ ld [hl], a
+ ret
+
+; known jump sources: 8e93a (23:693a)
+Function8e94c: ; 8e94c (23:694c)
+ ld a, BANK(Function50117)
+ ld hl, Function50117
+ rst $8 ; ; indirect jump to Function50117 (50117 (14:4117))
+ call GetHPPal
+ ld e, d
+ ld d, $0
+ ld hl, $695e
+ add hl, de
+ ld b, [hl]
+ ret
+; 8e95e (23:695e)
+
+INCBIN "baserom.gbc",$8e95e,$8e961 - $8e95e
+
+; no known jump sources
+Function8e961: ; 8e961 (23:6961)
+ ld a, [$d265]
+ call ReadMonMenuIcon
+ ld [CurIcon], a ; $c3b6
+ xor a
+ call GetIconGFX
+ ld de, $2420
+ ld a, $0
+ call Function8cfd6
+ ld hl, $2
+ add hl, bc
+ ld [hl], $0
+ ret
+
+; no known jump sources
+Function8e97d: ; 8e97d (23:697d)
+ ld a, [$d265]
+ call ReadMonMenuIcon
+ ld [CurIcon], a ; $c3b6
+ xor a
+ call GetIconGFX
+ ld d, $1a
+ ld e, $24
+ ld a, $0
+ call Function8cfd6
+ ld hl, $2
+ add hl, bc
+ ld [hl], $0
+ ret
+
+; no known jump sources
+Function8e99a: ; 8e99a (23:699a)
+ ld a, [$d265]
+ call ReadMonMenuIcon
+ ld [CurIcon], a ; $c3b6
+ ld a, $62
+ ld [$c3b7], a
+ call Function8e9db
+ ret
+
GetSpeciesIcon: ; 8e9ac
; Load species icon into VRAM at tile a
push de
@@ -63386,8 +80496,25 @@
ret
; 8e9bc
-INCBIN "baserom.gbc", $8e9bc, $8e9de - $8e9bc
+; no known jump sources
+Function8e9bc: ; 8e9bc (23:69bc)
+ push de
+ ld a, [$d265]
+ call ReadMonMenuIcon
+ ld [CurIcon], a ; $c3b6
+ pop de
+ ld a, e
+ call GetIcon_a
+ ret
+; 8e9cc (23:69cc)
+
+INCBIN "baserom.gbc",$8e9cc,$8e9db - $8e9cc
+
+; known jump sources: 8e91c (23:691c), 8e9a8 (23:69a8)
+Function8e9db: ; 8e9db (23:69db)
+ ld a, [$c3b7]
+
GetIconGFX: ; 8e9de
call GetIcon_a
ld de, $80 ; 8 tiles
@@ -63490,9 +80617,30 @@
ret
; 8ea71
-INCBIN "baserom.gbc", $8ea71, $8eab3 - $8ea71
+ ld hl, $c314
+ ld e, $6
+.asm_8ea76
+ ld a, [hl]
+ and a
+ jr z, .asm_8ea84
+ push hl
+ ld c, l
+ ld b, h
+ ld hl, $2
+ add hl, bc
+ ld [hl], $1
+ pop hl
+.asm_8ea84
+ ld bc, $10
+ add hl, bc
+ dec e
+ jr nz, .asm_8ea76
+ ret
+; 8ea8c (23:6a8c)
+INCBIN "baserom.gbc",$8ea8c,$8eab3 - $8ea8c
+
INCLUDE "menu/mon_icons.asm"
@@ -63598,7 +80746,7 @@
ret
; 90066
-INCBIN "baserom.gbc", $90066, $90069 - $90066
+INCBIN "baserom.gbc",$90066,$90069 - $90066
Function90069: ; 90069
@@ -63614,9 +80762,314 @@
ret
; 90074
-INCBIN "baserom.gbc", $90074, $9029a - $90074
+; no known jump sources
+Function90074: ; 90074 (24:4074)
+ call CheckStandingOnEntrance
+ jr z, .asm_900a4
+ call Function900a6
+ nop
+ jr nc, .asm_900a4
+ call Random
+ ld b, a
+ and $7f
+ cp b
+ jr nz, .asm_900a4
+ call Function2d05
+ and a
+ jr nz, .asm_900a4
+ call Function900de
+ call Function900bf
+ jr nc, .asm_900a4
+ ld e, a
+ call Function9020d
+ ld a, $24
+ ld hl, $4241
+ call CallScript
+ scf
+ ret
+.asm_900a4
+ xor a
+ ret
+; known jump sources: 90079 (24:4079)
+Function900a6: ; 900a6 (24:40a6)
+ ld a, BANK(Function11401)
+ ld hl, Function11401
+ rst $8 ; ; indirect jump to Function11401 (11401 (4:5401))
+ ret
+
+; known jump sources: 901b9 (24:41b9)
+Function900ad: ; 900ad (24:40ad)
+ push hl
+ push bc
+ push de
+ push af
+ ld a, BANK(Functionc000)
+ ld hl, Functionc000
+ rst $8 ; ; indirect jump to Functionc000 (c000 (3:4000))
+ pop af
+ and $7
+ and c
+ pop de
+ pop bc
+ pop hl
+ ret
+
+; known jump sources: 90091 (24:4091)
+Function900bf: ; 900bf (24:40bf)
+ ld a, [MartPointer] ; $d040 (aliases: Unkn2Pals)
+ and a
+ jr z, .asm_900dc
+ ld c, a
+ call Random
+ ld a, [hRandomAdd] ; $ff00+$e1
+ swap a
+ and $1f
+ call SimpleDivide
+ ld c, a
+ ld b, $0
+ ld hl, $d041
+ add hl, bc
+ ld a, [hl]
+ scf
+ ret
+.asm_900dc
+ xor a
+ ret
+
+; known jump sources: 9008e (24:408e)
+Function900de: ; 900de (24:40de)
+ ld a, BANK(Functionc000)
+ ld hl, Functionc000
+ rst $8 ; ; indirect jump to Functionc000 (c000 (3:4000))
+ ld a, c
+ ld [EngineBuffer1], a ; $d03e (aliases: MenuItemsList, CurFruitTree, CurInput)
+ ld hl, MartPointer ; $d040 (aliases: Unkn2Pals)
+ ld bc, $b
+ xor a
+ call ByteFill
+ ld de, $dc7c
+ ld a, $a
+.asm_900f7
+ ld [CurFruit], a ; $d03f
+ ld a, [de]
+ and a
+ jr z, .asm_9012e
+ ld hl, $4467
+ ld bc, $c
+ call AddNTimes
+ ld a, [EngineBuffer1] ; $d03e (aliases: MenuItemsList, CurFruitTree, CurInput)
+ and [hl]
+ jr z, .asm_9012e
+ ld bc, $fffa
+ add hl, bc
+ ld a, [MapGroup] ; $dcb5
+ cp [hl]
+ jr nz, .asm_9011e
+ inc hl
+ ld a, [MapNumber] ; $dcb6
+ cp [hl]
+ jr z, .asm_9012e
+.asm_9011e
+ ld a, [MartPointer] ; $d040 (aliases: Unkn2Pals)
+ ld c, a
+ ld b, $0
+ inc a
+ ld [MartPointer], a ; $d040 (aliases: Unkn2Pals)
+ ld hl, $d041
+ add hl, bc
+ ld a, [de]
+ ld [hl], a
+.asm_9012e
+ inc de
+ ld a, [CurFruit] ; $d03f
+ dec a
+ jr nz, .asm_900f7
+ ret
+
+; no known jump sources
+Function90136: ; 90136 (24:4136)
+ ld a, [$dc31]
+ and a
+ jr z, .asm_90171
+ dec a
+ ld c, a
+ ld b, $0
+ ld hl, $4627
+ ld a, $6
+ call AddNTimes
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ call _hl_
+ jr nc, .asm_90171
+ call Function90178
+ inc hl
+ inc hl
+ ld a, [hli]
+ ld e, a
+ push hl
+ call Function9020d
+ pop hl
+ ld de, $d048
+ ld a, [hli]
+ ld [de], a
+ inc de
+ ld a, [hli]
+ ld [de], a
+ inc de
+ ld a, [hli]
+ ld [de], a
+ ld a, $24
+ ld hl, $4173
+ call CallScript
+ scf
+ ret
+.asm_90171
+ xor a
+ ret
+; 90173 (24:4173)
+
+INCBIN "baserom.gbc",$90173,$90178 - $90173
+
+; known jump sources: 90150 (24:4150)
+Function90178: ; 90178 (24:4178)
+ ld a, [$dc31]
+ dec a
+ ld c, a
+ ld b, $0
+ ld hl, $4627
+ ld a, $6
+ call AddNTimes
+ ret
+ ld a, [$d19a]
+ cp $1
+ jr z, .asm_90195
+ cp $2
+ jr z, .asm_90195
+ xor a
+ ret
+.asm_90195
+ scf
+ ret
+ scf
+ ret
+
+; known jump sources: 9121b (24:521b)
+Function90199: ; 90199 (24:4199)
+ ld a, [InLinkBattle] ; $c2dc
+ and a
+ jr nz, .asm_901e7
+ call Function2d05
+ and a
+ jr nz, .asm_901e7
+ ld a, b
+ ld [$dbf9], a
+ ld hl, $445f
+ ld bc, $c
+ call AddNTimes
+ ld d, h
+ ld e, l
+ ld hl, $4
+ add hl, de
+ ld a, [hl]
+ call Function900ad
+ jr z, .asm_901e7
+ ld hl, $2
+ add hl, de
+ ld a, [MapGroup] ; $dcb5
+ cp [hl]
+ jr nz, .asm_901d9
+ ld hl, $3
+ add hl, de
+ ld a, [MapNumber] ; $dcb6
+ cp [hl]
+ jr nz, .asm_901d9
+ ld b, $24
+ ld hl, $4660
+ jr .asm_901f0
+.asm_901d9
+ ld hl, $5
+ add hl, de
+ ld b, [hl]
+ ld hl, $6
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jr .asm_901f0
+.asm_901e7
+ ld b, $24
+ ld de, $4209
+ call Function2674
+ ret
+.asm_901f0
+ ld a, b
+ ld [DefaultFlypoint], a ; $d002
+ ld a, l
+ ld [$d003], a
+ ld a, h
+ ld [$d004], a
+ ld b, $24
+ ld de, $4205
+ call Function2674
+ ret
+; 90205 (24:4205)
+
+INCBIN "baserom.gbc",$90205,$9020d - $90205
+
+; known jump sources: 90097 (24:4097), 90158 (24:4158)
+Function9020d: ; 9020d (24:420d)
+ nop
+ nop
+ ld a, e
+ ld [$dbf9], a
+ and a
+ jr nz, .asm_9021d
+ ld a, $24
+ ld hl, $4233
+ jr .asm_90229
+.asm_9021d
+ ld hl, $445f
+ ld bc, $c
+ ld a, e
+ call AddNTimes
+ ld a, $24
+.asm_90229
+ ld de, CurFruit ; $d03f
+ ld bc, $c
+ call FarCopyBytes
+ ret
+; 90233 (24:4233)
+
+INCBIN "baserom.gbc",$90233,$9026f - $90233
+ call Function9027c
+ call Function9027c
+ ld a, $41
+ ld hl, $60d3
+ rst $8
+ ret
+
+; known jump sources: 9026f (24:426f), 90272 (24:4272)
+Function9027c: ; 9027c (24:427c)
+ call Function9033f
+ call Function90357
+ call Function90292
+ call Function90357
+ call Function90375
+ call Function90357
+ call Function90292
+ ret
+
+; known jump sources: 90282 (24:4282), 9028e (24:428e)
+Function90292: ; 90292 (24:4292)
+ ld a, [$dbf9]
+ ld b, a
+ call Function90363
+ ret
+
+
Function9029a: ; 9029a
ld a, b
ld [DefaultFlypoint], a
@@ -63659,12 +81112,18 @@
ret
; 902e3
-INCBIN "baserom.gbc", $902e3, $902eb - $902e3
+; no known jump sources
+Function902e3: ; 902e3 (24:42e3)
+ ld de, $6c
+ call StartSFX
+ jr asm_902f1
+
Function902eb: ; 902eb
call Function9031d
call Function90355
+asm_902f1:
call Function9032f
call Function90355
call Function9033b
@@ -63680,7 +81139,7 @@
ret
; 90316
-INCBIN "baserom.gbc", $90316, $9031d - $90316
+INCBIN "baserom.gbc",$90316,$9031d - $90316
Function9031d: ; 9031d
@@ -63727,9 +81186,9 @@
; 90355
Function90355: ; 90355
- jr .asm_90357
+ jr Function90357
-.asm_90357
+Function90357
ld c, $14
call DelayFrames
ld a, $13
@@ -63738,9 +81197,22 @@
ret
; 90363
-INCBIN "baserom.gbc", $90363, $90375 - $90363
+; known jump sources: 90296 (24:4296)
+Function90363: ; 90363 (24:4363)
+ push bc
+ call Function90375
+ ld hl, $c4b5
+ ld [hl], $62
+ inc hl
+ inc hl
+ ld d, h
+ ld e, l
+ pop bc
+ call Function90380
+ ret
+
Function90375: ; 90375
ld hl, TileMap
ld b, $2
@@ -63749,8 +81221,30 @@
ret
; 90380
-INCBIN "baserom.gbc", $90380, $9039a - $90380
+; known jump sources: 90371 (24:4371), 9130b (24:530b)
+Function90380: ; 90380 (24:4380)
+ ld h, d
+ ld l, e
+ ld a, b
+ call Function9039a
+ call Function903a9
+ ret
+
+; no known jump sources
+Function9038a: ; 9038a (24:438a)
+ ld a, c
+ call Function9039a
+ ld a, c
+ ret nz
+ ld a, b
+ cp $1
+ ret z
+ cp $4
+ ret z
+ ld c, $1
+ ret
+
Function9039a: ; 9039a
push hl
ld hl, $445f
@@ -63763,8 +81257,64 @@
ret
; 903a9
-INCBIN "baserom.gbc", $903a9, $90439 - $903a9
+; known jump sources: 90386 (24:4386)
+Function903a9: ; 903a9 (24:43a9)
+ ld a, c
+ and a
+ jr z, .asm_903c5
+ call Function90423
+ push hl
+ push bc
+ call PlaceString
+ ld a, $9c
+ ld [bc], a
+ pop bc
+ pop hl
+ ld de, $17
+ add hl, de
+ call Function9042e
+ call PlaceString
+ ret
+.asm_903c5
+ push hl
+ ld c, b
+ ld b, $0
+ ld hl, $43d6
+ add hl, bc
+ add hl, bc
+ ld a, [hli]
+ ld e, a
+ ld d, [hl]
+ pop hl
+ call PlaceString
+ ret
+; 903d6 (24:43d6)
+
+INCBIN "baserom.gbc",$903d6,$90423 - $903d6
+
+; known jump sources: 903ad (24:43ad)
+Function90423: ; 90423 (24:4423)
+ push hl
+ push bc
+ ld a, BANK(Function3994c)
+ ld hl, Function3994c
+ rst $8 ; ; indirect jump to Function3994c (3994c (e:594c))
+ pop bc
+ pop hl
+ ret
+
+; known jump sources: 903be (24:43be)
+Function9042e: ; 9042e (24:442e)
+ push hl
+ push bc
+ ld a, BANK(Function3952d)
+ ld hl, Function3952d
+ rst $8 ; ; indirect jump to Function3952d (3952d (e:552d))
+ pop bc
+ pop hl
+ ret
+
Function90439: ; 90439
ld a, [$dbf9]
call Function9039a
@@ -63787,8 +81337,311 @@
ret
; 9045f
-INCBIN "baserom.gbc", $9045f, $90913 - $9045f
+INCBIN "baserom.gbc",$9045f,$90672 - $9045f
+; no known jump sources
+Function90672: ; 90672 (24:4672)
+ ld a, [$FF00+$aa]
+ push af
+ ld a, $1
+ ld [$FF00+$aa], a
+ ld a, $0
+ ld [$c2ce], a
+ ld a, $10
+ ld [MusicFade], a ; $c2a7
+ ld a, $0
+ ld [MusicFadeIDLo], a ; $c2a9
+ ld a, $0
+ ld [MusicFadeIDHi], a ; $c2aa
+ ld c, $8
+ call DelayFrames
+ call Function4dd
+ call ClearTileMap
+ call ClearSprites
+ ld b, $8
+ call GetSGBLayout
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call Functione51
+ ld de, $48fb
+ ld hl, $9000
+ ld bc, $2401
+ call Request1bpp
+ ld de, $4903
+ ld hl, $9010
+ ld bc, $2401
+ call Request1bpp
+ ld de, $490b
+ ld hl, $9020
+ ld bc, $2401
+ call Request1bpp
+ call Function90783
+ call WaitBGMap
+ call Function4a3
+ ld hl, $4874
+ call PrintText
+ ld hl, EnemyMoveAnimation ; $c608 (aliases: EnemyMoveStruct)
+ ld bc, $32
+ xor a
+ call ByteFill
+ ld a, $a
+ ld [$c61c], a
+.asm_906e8
+ ld hl, $4879
+ call PrintText
+ ld hl, $c52f
+ ld b, $2
+ ld c, $f
+ call TextBox
+ ld hl, $c537
+ ld [hl], $1
+ ld hl, $c573
+ ld [hl], $2
+ ld hl, $c558
+ call Function907de
+ ld c, $a
+ call DelayFrames
+.asm_9070d
+ call Functiona57
+ call Function90795
+ jr nc, .asm_9070d
+ ld a, [$c61c]
+ ld [$d087], a
+ call Function90783
+ ld hl, $4886
+ call PrintText
+ call Function1dcf
+ jr nc, .asm_9072e
+ call Function90783
+ jr .asm_906e8
+.asm_9072e
+ ld hl, $489a
+ call PrintText
+ ld hl, $c537
+ ld bc, $207
+ call TextBox
+ ld hl, $c53b
+ ld [hl], $1
+ ld hl, $c577
+ ld [hl], $2
+ ld hl, $c560
+ call Function90859
+ ld c, $a
+ call DelayFrames
+.asm_90752
+ call Functiona57
+ call Function90810
+ jr nc, .asm_90752
+ ld a, [$c626]
+ ld [$d088], a
+ call Function90783
+ ld hl, $48a4
+ call PrintText
+ call Function1dcf
+ jr nc, .asm_90773
+ call Function90783
+ jr .asm_9072e
+.asm_90773
+ call Function658
+ ld hl, $48b8
+ call PrintText
+ call Functiona80
+ pop af
+ ld [$FF00+$aa], a
+ ret
+
+; known jump sources: 906ca (24:46ca), 9071b (24:471b), 90729 (24:4729), 90760 (24:4760), 9076e (24:476e)
+Function90783: ; 90783 (24:4783)
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld bc, $168
+ xor a
+ call ByteFill
+ ld a, $1
+ ld [hBGMapMode], a ; $ff00+$d4
+ ret
+
+; known jump sources: 90710 (24:4710)
+Function90795: ; 90795 (24:4795)
+ ld a, [hJoyPressed] ; $ff00+$a7
+ and $1
+ jr nz, .asm_907dc
+ ld hl, $ffa9
+ ld a, [hl]
+ and $40
+ jr nz, .asm_907ba
+ ld a, [hl]
+ and $80
+ jr nz, .asm_907ad
+ call DelayFrame
+ and a
+ ret
+.asm_907ad
+ ld hl, $c61c
+ ld a, [hl]
+ and a
+ jr nz, .asm_907b6
+ ld a, $18
+.asm_907b6
+ dec a
+ ld [hl], a
+ jr .asm_907c6
+.asm_907ba
+ ld hl, $c61c
+ ld a, [hl]
+ cp $17
+ jr c, .asm_907c4
+ ld a, $ff
+.asm_907c4
+ inc a
+ ld [hl], a
+.asm_907c6
+ ld hl, $c558
+ ld a, $7f
+ ld bc, $f
+ call ByteFill
+ ld hl, $c558
+ call Function907de
+ call WaitBGMap
+ and a
+ ret
+.asm_907dc
+ scf
+ ret
+
+; known jump sources: 90705 (24:4705), 907d4 (24:47d4), 9088e (24:488e)
+Function907de: ; 907de (24:47de)
+ push hl
+ ld a, [$c61c]
+ ld c, a
+ ld e, l
+ ld d, h
+ call Function90b3e
+ inc hl
+ ld de, $487e
+ call PlaceString
+ pop hl
+ ret
+; 907f1 (24:47f1)
+
+INCBIN "baserom.gbc",$907f1,$90810 - $907f1
+
+; known jump sources: 90755 (24:4755)
+Function90810: ; 90810 (24:4810)
+ ld a, [hJoyPressed] ; $ff00+$a7
+ and $1
+ jr nz, .asm_90857
+ ld hl, $ffa9
+ ld a, [hl]
+ and $40
+ jr nz, .asm_90835
+ ld a, [hl]
+ and $80
+ jr nz, .asm_90828
+ call DelayFrame
+ and a
+ ret
+.asm_90828
+ ld hl, $c626
+ ld a, [hl]
+ and a
+ jr nz, .asm_90831
+ ld a, $3c
+.asm_90831
+ dec a
+ ld [hl], a
+ jr .asm_90841
+.asm_90835
+ ld hl, $c626
+ ld a, [hl]
+ cp $3b
+ jr c, .asm_9083f
+ ld a, $ff
+.asm_9083f
+ inc a
+ ld [hl], a
+.asm_90841
+ ld hl, $c560
+ ld a, $7f
+ ld bc, $7
+ call ByteFill
+ ld hl, $c560
+ call Function90859
+ call WaitBGMap
+ and a
+ ret
+.asm_90857
+ scf
+ ret
+
+; known jump sources: 9074a (24:474a), 9084f (24:484f), 908ac (24:48ac)
+Function90859: ; 90859 (24:4859)
+ ld de, $c626
+ call Function90867
+ inc hl
+ ld de, $489f
+ call PlaceString
+ ret
+
+; known jump sources: 9085c (24:485c), 90b54 (24:4b54)
+Function90867: ; 90867 (24:4867)
+ push hl
+ ld a, $7f
+ ld [hli], a
+ ld [hl], a
+ pop hl
+ ld bc, $4102
+ call PrintNum
+ ret
+; 90874 (24:4874)
+
+INCBIN "baserom.gbc",$90874,$9088b - $90874
+ ld hl, $c5e1
+ call Function907de
+ ld hl, $4895
+ ret
+; 90895 (24:4895)
+
+INCBIN "baserom.gbc",$90895,$908a9 - $90895
+ ld hl, $c5bf
+ call Function90859
+ ld hl, $48b3
+ ret
+; 908b3 (24:48b3)
+
+INCBIN "baserom.gbc",$908b3,$908b9 - $908b3
+ ld de, $c5b9
+ ld a, [$c61c]
+ ld c, a
+ call Function90b3e
+ ld [hl], $9c
+ inc hl
+ ld de, $c626
+ ld bc, $8102
+ call PrintNum
+ ld b, h
+ ld c, l
+ ld a, [$c61c]
+ cp $4
+ jr c, .asm_908e0
+ cp $b
+ jr c, .asm_908e4
+ cp $12
+ jr c, .asm_908e8
+.asm_908e0
+ ld hl, $48f6
+ ret
+.asm_908e4
+ ld hl, $48ec
+ ret
+.asm_908e8
+ ld hl, $48f1
+ ret
+; 908ec (24:48ec)
+
+INCBIN "baserom.gbc",$908ec,$90913 - $908ec
+
Function90913: ; 90913
ld a, [$ffaa]
push af
@@ -63940,8 +81793,15 @@
db "SATURDAY@"
-INCBIN "baserom.gbc", $90a3f, $90a54 - $90a3f
+INCBIN "baserom.gbc",$90a3f,$90a45 - $90a3f
+ ld hl, $c5b9
+ call Function909de
+ ld hl, $4a4f
+ ret
+; 90a4f (24:4a4f)
+INCBIN "baserom.gbc",$90a4f,$90a54 - $90a4f
+
Function90a54: ; 90a54
ld a, [$d4c2]
set 7, a
@@ -63954,8 +81814,22 @@
ret
; 90a6c
-INCBIN "baserom.gbc", $90a6c, $90a88 - $90a6c
+INCBIN "baserom.gbc",$90a6c,$90a6d - $90a6c
+ call UpdateTime
+ ld a, [hHours] ; $ff00+$94
+ ld b, a
+ ld a, [hMinutes] ; $ff00+$96
+ ld c, a
+ ld de, $c5b9
+ ld a, $77
+ ld hl, $56bb
+ rst $8
+ ld hl, $4a83
+ ret
+; 90a83 (24:4a83)
+INCBIN "baserom.gbc",$90a83,$90a88 - $90a83
+
Function90a88: ; 90a88
ld a, [$d4c2]
res 7, a
@@ -63968,8 +81842,150 @@
ret
; 90aa0
-INCBIN "baserom.gbc", $90aa0, $90c4e - $90aa0
+INCBIN "baserom.gbc",$90aa0,$90b3e - $90aa0
+; known jump sources: 907e5 (24:47e5), 908c0 (24:48c0)
+Function90b3e: ; 90b3e (24:4b3e)
+ ld l, e
+ ld h, d
+ push bc
+ call Function90b58
+ call PlaceString
+ ld l, c
+ ld h, b
+ inc hl
+ pop bc
+ call Function90b7f
+ ld [$d265], a
+ ld de, $d265
+ call Function90867
+ ret
+
+; known jump sources: 90b41 (24:4b41)
+Function90b58: ; 90b58 (24:4b58)
+ ld a, c
+ cp $4
+ jr c, .asm_90b65
+ cp $a
+ jr c, .asm_90b69
+ cp $12
+ jr c, .asm_90b6d
+.asm_90b65
+ ld de, $4b71
+ ret
+.asm_90b69
+ ld de, $4b76
+ ret
+.asm_90b6d
+ ld de, $4b7b
+ ret
+; 90b71 (24:4b71)
+
+INCBIN "baserom.gbc",$90b71,$90b7f - $90b71
+
+; known jump sources: 90b4b (24:4b4b)
+Function90b7f: ; 90b7f (24:4b7f)
+ ld a, c
+ or a
+ jr z, .asm_90b8a
+ cp $c
+ ret c
+ ret z
+ sub $c
+ ret
+.asm_90b8a
+ ld a, $c
+ ret
+ ld hl, Options ; $cfcc
+ ld a, [hl]
+ push af
+ set 4, [hl]
+ ld a, [$FF00+$aa]
+ push af
+ ld a, $1
+ ld [$FF00+$aa], a
+ ld a, [VramState] ; $d0ed
+ push af
+ xor a
+ ld [VramState], a ; $d0ed
+ call Function90bea
+ call DelayFrame
+.asm_90ba9
+ call UpdateTime
+ call Functiona57
+ ld a, [$cf63]
+ bit 7, a
+ jr nz, .asm_90bc4
+ call Function90f04
+ ld a, BANK(Function8cf69)
+ ld hl, Function8cf69
+ rst $8 ; ; indirect jump to Function8cf69 (8cf69 (23:4f69))
+ call DelayFrame
+ jr .asm_90ba9
+.asm_90bc4
+ ld de, $8
+ call StartSFX
+ call WaitSFX
+ pop af
+ ld [VramState], a ; $d0ed
+ pop af
+ ld [$FF00+$aa], a
+ pop af
+ ld [Options], a ; $cfcc
+ call WhiteBGMap
+ xor a
+ ld [hBGMapAddress], a ; $ff00+$d6
+ ld a, $98
+ ld [$FF00+$d7], a
+ ld a, $90
+ ld [hWY], a ; $ff00+$d2
+ call Function91492
+ ret
+
+; known jump sources: 90ba3 (24:4ba3)
+Function90bea: ; 90bea (24:4bea)
+ call WhiteBGMap
+ call ClearTileMap
+ call ClearSprites
+ call DisableLCD
+ xor a
+ ld [hSCY], a ; $ff00+$d0
+ ld [hSCX], a ; $ff00+$cf
+ ld a, $7
+ ld [hWX], a ; $ff00+$d1
+ call Function90c4e
+ ld a, $23
+ ld hl, $4f53
+ rst $8
+ call Function90d32
+ ld a, $8
+ call Function3cb4
+ ld a, $e3
+ ld [rLCDC], a ; $ff00+$40
+ call Function90d70
+ xor a
+ ld [$cf63], a
+ ld [$cf64], a
+ ld [$cf65], a
+ ld [$cf66], a
+ ld [PlayerEvaLevel], a ; $c6d2
+ ld [PlayerAccLevel], a ; $c6d1
+ ld [$c6d3], a
+ ld [EnemyAccLevel], a ; $c6d9
+ ld [EnemyEvaLevel], a ; $c6da
+ ld [$c6db], a
+ call Function90d9e
+ call Function90da8
+ ld b, $2
+ call GetSGBLayout
+ call Function32f9
+ ld a, [hCGB] ; $ff00+$e6
+ and a
+ ret z
+ ld a, $e4
+ call Functioncf8
+ ret
+
Function90c4e: ; 90c4e
call Functiond79
ld hl, $4ba0
@@ -64017,8 +82033,34 @@
ret
; 90cb2
-INCBIN "baserom.gbc", $90cb2, $90d56 - $90cb2
+INCBIN "baserom.gbc",$90cb2,$90d32 - $90cb2
+; known jump sources: 90c08 (24:4c08)
+Function90d32: ; 90d32 (24:4d32)
+ ld de, $2410
+ ld a, $d
+ call Function3b2a
+ ld hl, $3
+ add hl, bc
+ ld [hl], $0
+ ret
+
+; no known jump sources
+Function90d41: ; 90d41 (24:4d41)
+ ld hl, $cf64
+ ld e, [hl]
+ ld d, $0
+ ld hl, $4d52
+ add hl, de
+ ld a, [hl]
+ ld hl, $6
+ add hl, bc
+ ld [hl], a
+ ret
+; 90d52 (24:4d52)
+
+INCBIN "baserom.gbc",$90d52,$90d56 - $90d52
+
Function90d56: ; 90d56
ld a, [MapGroup]
ld b, a
@@ -64035,8 +82077,462 @@
ret
; 90d70
-INCBIN "baserom.gbc", $90d70, $9106a - $90d70
+; known jump sources: 90c14 (24:4c14)
+Function90d70: ; 90d70 (24:4d70)
+ ld a, [MapGroup] ; $dcb5
+ ld b, a
+ ld a, [MapNumber] ; $dcb6
+ ld c, a
+ call GetWorldMapLocation
+ cp $5f
+ jr z, .asm_90d95
+ cp $0
+ jr nz, .asm_90d8e
+ ld a, [BackupMapGroup] ; $dcad
+ ld b, a
+ ld a, [BackupMapNumber] ; $dcae
+ ld c, a
+ call GetWorldMapLocation
+.asm_90d8e
+ ld [EnemySDefLevel], a ; $c6d8
+ ld [EnemySAtkLevel], a ; $c6d7
+ ret
+.asm_90d95
+ ld [EnemySDefLevel], a ; $c6d8
+ ld a, $1
+ ld [EnemySAtkLevel], a ; $c6d7
+ ret
+
+; known jump sources: 90c36 (24:4c36)
+Function90d9e: ; 90d9e (24:4d9e)
+ ld a, $0
+ ld [$cf63], a
+ xor a
+ ld [$cf64], a
+ ret
+
+; known jump sources: 90c39 (24:4c39), 90f2d (24:4f2d), 90fcd (24:4fcd), 910f9 (24:50f9), 91164 (24:5164)
+Function90da8: ; 90da8 (24:4da8)
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld bc, $168
+ ld a, $4f
+ call ByteFill
+ ld a, [$cf64]
+ and $3
+ add a
+ ld e, a
+ ld d, $0
+ ld hl, $4e12
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld de, $4dcb
+ push de
+ jp [hl]
+ call Function90eb0
+ ld a, $24
+ ld hl, $5f13
+ rst $8
+ ld a, [$cf65]
+ and a
+ jr nz, .asm_90de8
+ xor a
+ ld [hBGMapAddress], a ; $ff00+$d6
+ ld a, $98
+ ld [$FF00+$d7], a
+ call Function90e00
+ ld a, $90
+ jr .asm_90df3
+.asm_90de8
+ xor a
+ ld [hBGMapAddress], a ; $ff00+$d6
+ ld a, $9c
+ ld [$FF00+$d7], a
+ call Function90e00
+ xor a
+.asm_90df3
+ ld [hWY], a ; $ff00+$d2
+ ld a, [$cf65]
+ and $1
+ xor $1
+ ld [$cf65], a
+ ret
+
+; known jump sources: 90de1 (24:4de1), 90def (24:4def)
+Function90e00: ; 90e00 (24:4e00)
+ ld a, [hCGB] ; $ff00+$e6
+ and a
+ jr z, .asm_90e0e
+ ld a, $2
+ ld [hBGMapMode], a ; $ff00+$d4
+ ld c, $3
+ call DelayFrames
+.asm_90e0e
+ call WaitBGMap
+ ret
+; 90e12 (24:4e12)
+
+INCBIN "baserom.gbc",$90e12,$90e1a - $90e12
+ ld de, $55db
+ call Function914bb
+ ld hl, $c4c0
+ ld de, $4e36
+ call PlaceString
+ ld hl, $c590
+ ld bc, $412
+ call TextBox
+ call Function90f86
+ ret
+; 90e36 (24:4e36)
+
+INCBIN "baserom.gbc",$90e36,$90e3f - $90e36
+ ld a, [EnemySDefLevel] ; $c6d8
+ cp $5f
+ jr z, .asm_90e4a
+ cp $2f
+ jr nc, .asm_90e4e
+.asm_90e4a
+ ld e, $0
+ jr .asm_90e50
+.asm_90e4e
+ ld e, $1
+.asm_90e50
+ ld a, BANK(Function91ae1)
+ ld hl, Function91ae1
+ rst $8 ; ; indirect jump to Function91ae1 (91ae1 (24:5ae1))
+ ld a, $7
+ ld bc, $12
+ ld hl, $c4c9
+ call ByteFill
+ ld hl, $c4c8
+ ld [hl], $6
+ ld hl, $c4db
+ ld [hl], $17
+ ld a, [EnemySAtkLevel] ; $c6d7
+ call Function910b4
+ ret
+ ld de, $550d
+ call Function914bb
+ ld hl, $c590
+ ld bc, $412
+ call TextBox
+ ret
+ ld de, $558a
+ call Function914bb
+ ld hl, $c590
+ ld bc, $412
+ call TextBox
+ call Function90e98
+ call Function912d8
+ ret
+
+; known jump sources: 90e91 (24:4e91)
+Function90e98: ; 90e98 (24:4e98)
+ ld hl, $c4c5
+ ld a, $3c
+ ld [hli], a
+ inc a
+ ld [hl], a
+ ld hl, $c4d9
+ inc a
+ ld [hli], a
+ call Function2d05
+ and a
+ ret nz
+ ld hl, $c4da
+ ld [hl], $3f
+ ret
+
+; known jump sources: 90dcb (24:4dcb)
+Function90eb0: ; 90eb0 (24:4eb0)
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld bc, $8
+ ld a, $4f
+ call ByteFill
+ ld hl, $c4b4
+ ld bc, $8
+ ld a, $4f
+ call ByteFill
+ ld de, $d957
+ ld a, [de]
+ bit 0, a
+ call nz, Function90ee4
+ ld a, [de]
+ bit 2, a
+ call nz, Function90eeb
+ ld a, [de]
+ bit 1, a
+ call nz, Function90ef2
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld a, $46
+ call Function90ef7
+ ret
+
+; known jump sources: 90ecc (24:4ecc)
+Function90ee4: ; 90ee4 (24:4ee4)
+ ld hl, $c4a2
+ ld a, $40
+ jr Function90ef7
+
+; known jump sources: 90ed2 (24:4ed2)
+Function90eeb: ; 90eeb (24:4eeb)
+ ld hl, $c4a4
+ ld a, $44
+ jr Function90ef7
+
+; known jump sources: 90ed8 (24:4ed8)
+Function90ef2: ; 90ef2 (24:4ef2)
+ ld hl, $c4a6
+ ld a, $42
+
+; known jump sources: 90ee0 (24:4ee0), 90ee9 (24:4ee9), 90ef0 (24:4ef0)
+Function90ef7: ; 90ef7 (24:4ef7)
+ ld [hli], a
+ inc a
+ ld [hld], a
+ ld bc, $14
+ add hl, bc
+ add $f
+ ld [hli], a
+ inc a
+ ld [hld], a
+ ret
+
+; known jump sources: 90bb6 (24:4bb6)
+Function90f04: ; 90f04 (24:4f04)
+ ld a, [$cf63]
+ ld e, a
+ ld d, $0
+ ld hl, $4f13
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
+
+; no known jump sources
+Jumptable_90f13: ; 90f13 (24:4f13)
+ dw Function90f2d
+ dw Function90f3e
+ dw Function90fb4
+ dw Function90fcd
+ dw Function90fee
+ dw Function90fcd
+ dw Function90fe9
+ dw Function91156
+ dw Function91171
+ dw Function911eb
+ dw Function91256
+ dw Function910f9
+ dw Function91112
+
+
+; no known jump sources
+Function90f2d: ; 90f2d (24:4f2d)
+ call Function90da8
+ ld hl, $54d3
+ call PrintText
+ ld hl, $cf63
+ inc [hl]
+ call Function91492
+ ret
+
+; no known jump sources
+Function90f3e: ; 90f3e (24:4f3e)
+ call Function90f7b
+ ld hl, $ffa9
+ ld a, [hl]
+ and $f
+ jr nz, .asm_90f75
+ ld a, [hl]
+ and $10
+ ret z
+ ld a, [$d957]
+ bit 0, a
+ jr z, .asm_90f5a
+ ld c, $2
+ ld b, $1
+ jr .asm_90f71
+.asm_90f5a
+ ld a, [$d957]
+ bit 2, a
+ jr z, .asm_90f67
+ ld c, $7
+ ld b, $2
+ jr .asm_90f71
+.asm_90f67
+ ld a, [$d957]
+ bit 1, a
+ ret z
+ ld c, $b
+ ld b, $3
+.asm_90f71
+ call Function91480
+ ret
+.asm_90f75
+ ld hl, $cf63
+ set 7, [hl]
+ ret
+
+; known jump sources: 90f3e (24:4f3e)
+Function90f7b: ; 90f7b (24:4f7b)
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call Function90f86
+ ld a, $1
+ ld [hBGMapMode], a ; $ff00+$d4
+ ret
+
+; known jump sources: 90e32 (24:4e32), 90f7e (24:4f7e)
+Function90f86: ; 90f86 (24:4f86)
+ ld hl, $c507
+ ld bc, $50e
+ call ClearBox
+ ld a, [hHours] ; $ff00+$94
+ ld b, a
+ ld a, [hMinutes] ; $ff00+$96
+ ld c, a
+ ld de, $c546
+ ld a, BANK(Function1dd6bb)
+ ld hl, Function1dd6bb
+ rst $8 ; ; indirect jump to Function1dd6bb (1dd6bb (77:56bb))
+ ld hl, $4faf
+ ld bc, $c51e
+ call Function13e5
+ ret
+; 90fa8 (24:4fa8)
+
+INCBIN "baserom.gbc",$90fa8,$90fb4 - $90fa8
+
+; no known jump sources
+Function90fb4: ; 90fb4 (24:4fb4)
+ ld a, [EnemySDefLevel] ; $c6d8
+ cp $5f
+ jr z, .asm_90fbf
+ cp $2f
+ jr nc, .asm_90fc4
+.asm_90fbf
+ ld a, $3
+ jr .asm_90fc6
+; 90fc3 (24:4fc3)
+
+INCBIN "baserom.gbc",$90fc3,$90fc4 - $90fc3
+.asm_90fc4
+ ld a, $5
+.asm_90fc6
+ ld [$cf63], a
+ call Function91492
+ ret
+
+; no known jump sources
+Function90fcd: ; 90fcd (24:4fcd)
+ call Function90da8
+ ld a, [EnemySDefLevel] ; $c6d8
+ call Function9106a
+ ld a, [EnemySAtkLevel] ; $c6d7
+ call Function91098
+ ld a, c
+ ld [EnemyDefLevel], a ; $c6d5
+ ld a, b
+ ld [$c6d6], a
+ ld hl, $cf63
+ inc [hl]
+ ret
+
+; no known jump sources
+Function90fe9: ; 90fe9 (24:4fe9)
+ call Function910e8
+ jr asm_90ff2
+
+; no known jump sources
+Function90fee: ; 90fee (24:4fee)
+ ld d, $2e
+ ld e, $1
+asm_90ff2: ; 90ff2 (24:4ff2)
+ ld hl, $ffa9
+ ld a, [hl]
+ and $2
+ jr nz, .asm_91029
+ ld a, [hl]
+ and $10
+ jr nz, .asm_91008
+ ld a, [hl]
+ and $20
+ jr nz, .asm_91021
+ call Function9102f
+ ret
+.asm_91008
+ ld a, [$d957]
+ bit 2, a
+ jr z, .asm_91015
+ ld c, $7
+ ld b, $2
+ jr .asm_91025
+.asm_91015
+ ld a, [$d957]
+ bit 1, a
+ ret z
+ ld c, $b
+ ld b, $3
+ jr .asm_91025
+.asm_91021
+ ld c, $0
+ ld b, $0
+.asm_91025
+ call Function91480
+ ret
+.asm_91029
+ ld hl, $cf63
+ set 7, [hl]
+ ret
+
+; known jump sources: 91004 (24:5004)
+Function9102f: ; 9102f (24:502f)
+ ld hl, $ffa9
+ ld a, [hl]
+ and $40
+ jr nz, .asm_9103d
+ ld a, [hl]
+ and $80
+ jr nz, .asm_9104a
+ ret
+.asm_9103d
+ ld hl, EnemySAtkLevel ; $c6d7
+ ld a, [hl]
+ cp d
+ jr c, .asm_91047
+ ld a, e
+ dec a
+ ld [hl], a
+.asm_91047
+ inc [hl]
+ jr .asm_91055
+.asm_9104a
+ ld hl, EnemySAtkLevel ; $c6d7
+ ld a, [hl]
+ cp e
+ jr nz, .asm_91054
+ ld a, d
+ inc a
+ ld [hl], a
+.asm_91054
+ dec [hl]
+.asm_91055
+ ld a, [EnemySAtkLevel] ; $c6d7
+ call Function910b4
+ ld a, [EnemyDefLevel] ; $c6d5
+ ld c, a
+ ld a, [$c6d6]
+ ld b, a
+ ld a, [EnemySAtkLevel] ; $c6d7
+ call Function910d4
+ ret
+
Function9106a: ; 9106a
push af
ld de, $0000
@@ -64128,8 +82624,483 @@
ret
; 910f9
-INCBIN "baserom.gbc", $910f9, $91492 - $910f9
+; no known jump sources
+Function910f9: ; 910f9 (24:50f9)
+ call Function90da8
+ ld de, $2454
+ ld a, $14
+ call Function3b2a
+ ld hl, $3
+ add hl, bc
+ ld [hl], $8
+ call Function9163e
+ ld hl, $cf63
+ inc [hl]
+ ret
+
+; no known jump sources
+Function91112: ; 91112 (24:5112)
+ ld hl, $ffa9
+ ld a, [hl]
+ and $2
+ jr nz, .asm_91150
+ ld a, [hl]
+ and $20
+ jr nz, .asm_9112e
+ ld a, [EnemyEvaLevel] ; $c6da
+ ld l, a
+ ld a, [$c6db]
+ ld h, a
+ ld a, [EnemyAccLevel] ; $c6d9
+ and a
+ ret z
+ rst $8
+ ret
+.asm_9112e
+ ld a, [$d957]
+ bit 2, a
+ jr z, .asm_9113b
+ ld c, $7
+ ld b, $2
+ jr .asm_9114c
+.asm_9113b
+ ld a, [$d957]
+ bit 0, a
+ jr z, .asm_91148
+ ld c, $2
+ ld b, $1
+ jr .asm_9114c
+.asm_91148
+ ld c, $0
+ ld b, $0
+.asm_9114c
+ call Function91480
+ ret
+.asm_91150
+ ld hl, $cf63
+ set 7, [hl]
+ ret
+
+; no known jump sources
+Function91156: ; 91156 (24:5156)
+ ld hl, $cf63
+ inc [hl]
+ xor a
+ ld [PlayerEvaLevel], a ; $c6d2
+ ld [PlayerAccLevel], a ; $c6d1
+ ld [$c6d3], a
+ call Function90da8
+ call Function91492
+ ld hl, $54ce
+ call PrintText
+ ret
+
+; no known jump sources
+Function91171: ; 91171 (24:5171)
+ ld hl, hJoyPressed ; $ffa7
+ ld a, [hl]
+ and $2
+ jr nz, .asm_911b0
+ ld a, [hl]
+ and $1
+ jr nz, .asm_911b6
+ ld hl, $ffa9
+ ld a, [hl]
+ and $20
+ jr nz, .asm_9118f
+ ld a, [hl]
+ and $10
+ jr nz, .asm_911a2
+ call Function9126d
+ ret
+.asm_9118f
+ ld a, [$d957]
+ bit 0, a
+ jr z, .asm_9119c
+ ld c, $2
+ ld b, $1
+ jr .asm_911ac
+.asm_9119c
+ ld c, $0
+ ld b, $0
+ jr .asm_911ac
+.asm_911a2
+ ld a, [$d957]
+ bit 1, a
+ ret z
+ ld c, $b
+ ld b, $3
+.asm_911ac
+ call Function91480
+ ret
+.asm_911b0
+ ld hl, $cf63
+ set 7, [hl]
+ ret
+.asm_911b6
+ ld hl, $dc7c
+ ld a, [PlayerEvaLevel] ; $c6d2
+ ld e, a
+ ld d, $0
+ add hl, de
+ ld a, [PlayerAccLevel] ; $c6d1
+ ld e, a
+ ld d, $0
+ add hl, de
+ ld a, [hl]
+ and a
+ ret z
+ ld [$c6d3], a
+ ld hl, $c4f1
+ ld a, [PlayerAccLevel] ; $c6d1
+ ld bc, $28
+ call AddNTimes
+ ld [hl], $ec
+ call Function91342
+ jr c, .asm_911e5
+ ld hl, $cf63
+ inc [hl]
+ ret
+.asm_911e5
+ ld a, $8
+ ld [$cf63], a
+ ret
+
+; no known jump sources
+Function911eb: ; 911eb (24:51eb)
+ call Function2d05
+ and a
+ jr nz, .asm_91234
+ ld hl, Options ; $cfcc
+ res 4, [hl]
+ xor a
+ ld [$FF00+$aa], a
+ ld de, $6a
+ call StartSFX
+ ld hl, $524c
+ call PrintText
+ call WaitSFX
+ ld de, $6a
+ call StartSFX
+ ld hl, $524c
+ call PrintText
+ call WaitSFX
+ ld a, [$c6d3]
+ ld b, a
+ call Function90199
+ ld c, $a
+ call DelayFrames
+ ld hl, Options ; $cfcc
+ set 4, [hl]
+ ld a, $1
+ ld [$FF00+$aa], a
+ call Function912b7
+ ld hl, $cf63
+ inc [hl]
+ ret
+.asm_91234
+ ld a, BANK(Function902e3)
+ ld hl, Function902e3
+ rst $8 ; ; indirect jump to Function902e3 (902e3 (24:42e3))
+ ld hl, $5251
+ call PrintText
+ ld a, $8
+ ld [$cf63], a
+ ld hl, $54ce
+ call PrintText
+ ret
+; 9124c (24:524c)
+
+INCBIN "baserom.gbc",$9124c,$91256 - $9124c
+
+; no known jump sources
+Function91256: ; 91256 (24:5256)
+ ld a, [hJoyPressed] ; $ff00+$a7
+ and $3
+ ret z
+ ld a, BANK(Function902eb)
+ ld hl, Function902eb
+ rst $8 ; ; indirect jump to Function902eb (902eb (24:42eb))
+ ld a, $8
+ ld [$cf63], a
+ ld hl, $54ce
+ call PrintText
+ ret
+
+; known jump sources: 9118b (24:518b)
+Function9126d: ; 9126d (24:526d)
+ ld hl, $ffa9
+ ld a, [hl]
+ and $40
+ jr nz, .asm_9127b
+ ld a, [hl]
+ and $80
+ jr nz, .asm_9128e
+ ret
+.asm_9127b
+ ld hl, PlayerAccLevel ; $c6d1
+ ld a, [hl]
+ and a
+ jr z, .asm_91285
+ dec [hl]
+ jr .asm_912a3
+.asm_91285
+ ld hl, PlayerEvaLevel ; $c6d2
+ ld a, [hl]
+ and a
+ ret z
+ dec [hl]
+ jr .asm_912ad
+.asm_9128e
+ ld hl, PlayerAccLevel ; $c6d1
+ ld a, [hl]
+ cp $3
+ jr nc, .asm_91299
+ inc [hl]
+ jr .asm_912a3
+.asm_91299
+ ld hl, PlayerEvaLevel ; $c6d2
+ ld a, [hl]
+ cp $6
+ ret nc
+ inc [hl]
+ jr .asm_912ad
+.asm_912a3
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call Function912b7
+ call WaitBGMap
+ ret
+.asm_912ad
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call Function912d8
+ call WaitBGMap
+ ret
+
+; known jump sources: 9122c (24:522c), 912a6 (24:52a6), 9131a (24:531a)
+Function912b7: ; 912b7 (24:52b7)
+ ld a, $7f
+ ld hl, $c4f1
+ ld [hl], a
+ ld hl, $c519
+ ld [hl], a
+ ld hl, $c541
+ ld [hl], a
+ ld hl, $c569
+ ld [hl], a
+ ld hl, $c4f1
+ ld a, [PlayerAccLevel] ; $c6d1
+ ld bc, $28
+ call AddNTimes
+ ld [hl], $ed
+ ret
+
+; known jump sources: 90e94 (24:4e94), 912b0 (24:52b0), 913d7 (24:53d7)
+Function912d8: ; 912d8 (24:52d8)
+ ld hl, $c4dd
+ ld b, $9
+ ld a, $7f
+.asm_912df
+ ld c, $12
+.asm_912e1
+ ld [hli], a
+ dec c
+ jr nz, .asm_912e1
+ inc hl
+ inc hl
+ dec b
+ jr nz, .asm_912df
+ ld a, [PlayerEvaLevel] ; $c6d2
+ ld e, a
+ ld d, $0
+ ld hl, $dc7c
+ add hl, de
+ xor a
+ ld [PlayerSDefLevel], a ; $c6d0
+.asm_912f8
+ ld a, [hli]
+ push hl
+ push af
+ ld hl, $c4f2
+ ld a, [PlayerSDefLevel] ; $c6d0
+ ld bc, $28
+ call AddNTimes
+ ld d, h
+ ld e, l
+ pop af
+ ld b, a
+ call Function90380
+ pop hl
+ ld a, [PlayerSDefLevel] ; $c6d0
+ inc a
+ ld [PlayerSDefLevel], a ; $c6d0
+ cp $4
+ jr c, .asm_912f8
+ call Function912b7
+ ret
+; 9131e (24:531e)
+
+INCBIN "baserom.gbc",$9131e,$91342 - $9131e
+
+; known jump sources: 911db (24:51db)
+Function91342: ; 91342 (24:5342)
+ ld hl, $dc7c
+ ld a, [PlayerEvaLevel] ; $c6d2
+ ld e, a
+ ld d, $0
+ add hl, de
+ ld a, [PlayerAccLevel] ; $c6d1
+ ld e, a
+ ld d, $0
+ add hl, de
+ ld c, [hl]
+ ld a, BANK(Function9038a)
+ ld hl, Function9038a
+ rst $8 ; ; indirect jump to Function9038a (9038a (24:438a))
+ ld a, c
+ and a
+ jr z, .asm_91366
+ ld hl, $5455
+ ld de, $543f
+ jr .asm_9136c
+.asm_91366
+ ld hl, $546a
+ ld de, $545b
+.asm_9136c
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ push hl
+ push de
+ ld a, [de]
+ ld l, a
+ inc de
+ ld a, [de]
+ ld h, a
+ inc de
+ push hl
+ ld bc, $ffd7
+ add hl, bc
+ ld a, [de]
+ inc de
+ sla a
+ ld b, a
+ ld c, $8
+ push de
+ call TextBox
+ pop de
+ pop hl
+ inc hl
+ call PlaceString
+ pop de
+ xor a
+ ld [EnemyAtkLevel], a ; $c6d4 (aliases: EnemyStatLevels, PlayerStatLevelsEnd)
+ call Function9141d
+ call WaitBGMap
+.asm_91398
+ push de
+ call Functiona57
+ pop de
+ ld hl, hJoyPressed ; $ffa7
+ ld a, [hl]
+ and $40
+ jr nz, .asm_913b4
+ ld a, [hl]
+ and $80
+ jr nz, .asm_913c1
+ ld a, [hl]
+ and $3
+ jr nz, .asm_913d4
+ call DelayFrame
+ jr .asm_91398
+.asm_913b4
+ ld hl, EnemyAtkLevel ; $c6d4 (aliases: EnemyStatLevels, PlayerStatLevelsEnd)
+ ld a, [hl]
+ and a
+ jr z, .asm_91398
+ dec [hl]
+ call Function9141d
+ jr .asm_91398
+.asm_913c1
+ ld hl, $2
+ add hl, de
+ ld a, [EnemyAtkLevel] ; $c6d4 (aliases: EnemyStatLevels, PlayerStatLevelsEnd)
+ inc a
+ cp [hl]
+ jr nc, .asm_91398
+ ld [EnemyAtkLevel], a ; $c6d4 (aliases: EnemyStatLevels, PlayerStatLevelsEnd)
+ call Function9141d
+ jr .asm_91398
+.asm_913d4
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call Function912d8
+ ld a, $1
+ ld [hBGMapMode], a ; $ff00+$d4
+ pop hl
+ ld a, [hJoyPressed] ; $ff00+$a7
+ and $2
+ jr nz, .asm_913f1
+ ld a, [EnemyAtkLevel] ; $c6d4 (aliases: EnemyStatLevels, PlayerStatLevelsEnd)
+ ld e, a
+ ld d, $0
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
+.asm_913f1
+ ld hl, $54ce
+ call PrintText
+ scf
+ ret
+; 913f9 (24:53f9)
+
+INCBIN "baserom.gbc",$913f9,$9141d - $913f9
+
+; known jump sources: 91392 (24:5392), 913bc (24:53bc), 913cf (24:53cf)
+Function9141d: ; 9141d (24:541d)
+ push de
+ ld a, [de]
+ inc de
+ ld l, a
+ ld a, [de]
+ inc de
+ ld h, a
+ ld a, [de]
+ ld c, a
+ push hl
+ ld a, $7f
+ ld de, $28
+.asm_9142c
+ ld [hl], a
+ add hl, de
+ dec c
+ jr nz, .asm_9142c
+ pop hl
+ ld a, [EnemyAtkLevel] ; $c6d4 (aliases: EnemyStatLevels, PlayerStatLevelsEnd)
+ ld bc, $28
+ call AddNTimes
+ ld [hl], $ed
+ pop de
+ ret
+; 9143f (24:543f)
+
+INCBIN "baserom.gbc",$9143f,$91480 - $9143f
+
+; known jump sources: 90f71 (24:4f71), 91025 (24:5025), 9114c (24:514c), 911ac (24:51ac)
+Function91480: ; 91480 (24:5480)
+ ld de, $8
+ call StartSFX
+ ld a, c
+ ld [$cf63], a
+ ld a, b
+ ld [$cf64], a
+ call Function914ab
+ ret
+
Function91492: ; 91492
ld a, [EnemyTurnsTaken]
cp $fe
@@ -64147,14 +83118,385 @@
ret
; 914ab
-INCBIN "baserom.gbc", $914ab, $914dd - $914ab
+; known jump sources: 9148e (24:548e)
+Function914ab: ; 914ab (24:54ab)
+ ld hl, $c324
+ ld bc, $90
+ xor a
+ call ByteFill
+ ld a, $2
+ ld [$c3b4], a
+ ret
+
+; known jump sources: 90e1d (24:4e1d), 90e75 (24:4e75), 90e85 (24:4e85)
+Function914bb: ; 914bb (24:54bb)
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+.asm_914be
+ ld a, [de]
+ cp $ff
+ ret z
+ ld b, a
+ inc de
+ ld a, [de]
+ ld c, a
+ inc de
+ ld a, b
+.asm_914c8
+ ld [hli], a
+ dec c
+ jr nz, .asm_914c8
+ jr .asm_914be
+; 914ce (24:54ce)
+
+INCBIN "baserom.gbc",$914ce,$914dd - $914ce
+
PokegearSpritesGFX: ; 914dd
INCBIN "gfx/misc/pokegear_sprites.lz"
; 91508
-INCBIN "baserom.gbc", $91508, $918bf - $91508
+INCBIN "baserom.gbc",$91508,$9163e - $91508
+; known jump sources: 9110a (24:510a)
+Function9163e: ; 9163e (24:563e)
+ jr asm_9166f
+
+; no known jump sources
+Function91640: ; 91640 (24:5640)
+ push bc
+ call Function9164e
+ pop bc
+ ld a, [$d958]
+ ld hl, $6
+ add hl, bc
+ ld [hl], a
+ ret
+
+; known jump sources: 91641 (24:5641)
+Function9164e: ; 9164e (24:564e)
+ ld hl, $ffa9
+ ld a, [hl]
+ and $80
+ jr nz, .asm_9165c
+ ld a, [hl]
+ and $40
+ jr nz, .asm_91666
+ ret
+.asm_9165c
+ ld hl, $d958
+ ld a, [hl]
+ and a
+ ret z
+ dec [hl]
+ dec [hl]
+ jr asm_9166f
+.asm_91666
+ ld hl, $d958
+ ld a, [hl]
+ cp $50
+ ret nc
+ inc [hl]
+ inc [hl]
+asm_9166f: ; 9166f (24:566f)
+ ld hl, $d958
+ ld d, [hl]
+ ld hl, $56ad
+.asm_91676
+ ld a, [hli]
+ cp $ff
+ jr z, .asm_91682
+ cp d
+ jr z, .asm_91686
+ inc hl
+ inc hl
+ jr .asm_91676
+.asm_91682
+ call Function91888
+ ret
+.asm_91686
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld de, $568e
+ push de
+ jp [hl]
+ ld a, [EnemyAccLevel] ; $c6d9
+ and a
+ ret z
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ ld hl, $c556
+ call PlaceString
+ ld a, $1
+ ld [hBGMapMode], a ; $ff00+$d4
+ ret
+; 916a1 (24:56a1)
+
+INCBIN "baserom.gbc",$916a1,$916c9 - $916a1
+ call Function91744
+ jr nc, .asm_91740
+ ld a, [TimeOfDay] ; $d269
+ and a
+ jp z, Function91766
+ jp Function91753
+ call Function91744
+ jr nc, .asm_91740
+ jp Function9177b
+ call Function91744
+ jr nc, .asm_91740
+ jp Function91790
+ call Function91744
+ jr nc, .asm_91740
+ jp Function917a5
+ ld a, [EnemySDefLevel] ; $c6d8
+ cp $9
+ jr nz, .asm_91740
+ jp Function917d5
+ call Function91744
+ jr c, .asm_91740
+ ld a, [$d957]
+ bit 3, a
+ jr z, .asm_91740
+ jp Function917ea
+ call Function91744
+ jr c, .asm_91740
+ ld a, [$d957]
+ bit 3, a
+ jr z, .asm_91740
+ jp Function917ff
+ call Function91744
+ jr c, .asm_91740
+ ld a, [$d957]
+ bit 3, a
+ jr z, .asm_91740
+ jp Function91829
+ ld a, [StatusFlags] ; $d84c
+ bit 4, a
+ jr z, .asm_91740
+ ld a, [EnemySDefLevel] ; $c6d8
+ cp $24
+ jr z, .asm_9173d
+ cp $25
+ jr z, .asm_9173d
+ cp $26
+ jr nz, .asm_91740
+.asm_9173d
+ jp Function9183e
+.asm_91740
+ call Function91888
+ ret
+
+; known jump sources: 916c9 (24:56c9), 916d8 (24:56d8), 916e0 (24:56e0), 916e8 (24:56e8), 916fa (24:56fa), 91709 (24:5709), 91718 (24:5718)
+Function91744: ; 91744 (24:5744)
+ ld a, [EnemySDefLevel] ; $c6d8
+ cp $5f
+ jr z, .asm_91751
+ cp $2f
+ jr c, .asm_91751
+ and a
+ ret
+.asm_91751
+ scf
+ ret
+
+; known jump sources: 916d5 (24:56d5)
+Function91753: ; 91753 (24:5753)
+ xor a
+ ld [DefaultFlypoint], a ; $d002
+ ld [StartFlypoint], a ; $d005
+ ld a, $2e
+ ld hl, $4612
+ call Function9187c
+ ld de, $58bf
+ ret
+
+; known jump sources: 916d2 (24:56d2)
+Function91766: ; 91766 (24:5766)
+ ld a, $1
+ ld [DefaultFlypoint], a ; $d002
+ xor a
+ ld [StartFlypoint], a ; $d005
+ ld a, $2e
+ ld hl, $4612
+ call Function9187c
+ ld de, $58cc
+ ret
+
+; known jump sources: 916dd (24:56dd)
+Function9177b: ; 9177b (24:577b)
+ ld a, $2
+ ld [DefaultFlypoint], a ; $d002
+ xor a
+ ld [StartFlypoint], a ; $d005
+ ld a, $2e
+ ld hl, $4612
+ call Function9187c
+ ld de, $58d6
+ ret
+
+; known jump sources: 916e5 (24:56e5)
+Function91790: ; 91790 (24:5790)
+ ld a, $3
+ ld [DefaultFlypoint], a ; $d002
+ xor a
+ ld [StartFlypoint], a ; $d005
+ ld a, $2e
+ ld hl, $4612
+ call Function9187c
+ ld de, $58e1
+ ret
+
+; known jump sources: 916ed (24:56ed)
+Function917a5: ; 917a5 (24:57a5)
+ ld a, $4
+ ld [DefaultFlypoint], a ; $d002
+ xor a
+ ld [StartFlypoint], a ; $d005
+ ld a, $2e
+ ld hl, $4612
+ call Function9187c
+ ld de, $57d4
+ ld a, [StatusFlags2] ; $d84d
+ bit 0, a
+ ret z
+ ld de, $57c3
+ ret
+; 917c3 (24:57c3)
+
+INCBIN "baserom.gbc",$917c3,$917d5 - $917c3
+
+; known jump sources: 916f7 (24:56f7)
+Function917d5: ; 917d5 (24:57d5)
+ ld a, $9
+ ld [DefaultFlypoint], a ; $d002
+ xor a
+ ld [StartFlypoint], a ; $d005
+ ld a, $2e
+ ld hl, $4612
+ call Function9187c
+ ld de, $58ef
+ ret
+
+; known jump sources: 91706 (24:5706)
+Function917ea: ; 917ea (24:57ea)
+ ld a, $5
+ ld [DefaultFlypoint], a ; $d002
+ xor a
+ ld [StartFlypoint], a ; $d005
+ ld a, $2e
+ ld hl, $4612
+ call Function9187c
+ ld de, $58f5
+ ret
+
+; known jump sources: 91715 (24:5715)
+Function917ff: ; 917ff (24:57ff)
+ ld a, $6
+ ld [DefaultFlypoint], a ; $d002
+ xor a
+ ld [StartFlypoint], a ; $d005
+ ld a, $2e
+ ld hl, $4612
+ call Function9187c
+ ld de, $5905
+ ret
+; 91814 (24:5814)
+
+INCBIN "baserom.gbc",$91814,$91829 - $91814
+
+; known jump sources: 91724 (24:5724)
+Function91829: ; 91829 (24:5829)
+ ld a, $8
+ ld [DefaultFlypoint], a ; $d002
+ xor a
+ ld [StartFlypoint], a ; $d005
+ ld a, $2e
+ ld hl, $4612
+ call Function9187c
+ ld de, $5914
+ ret
+
+; known jump sources: 9173d (24:573d)
+Function9183e: ; 9183e (24:583e)
+ ld a, $a
+ ld [DefaultFlypoint], a ; $d002
+ xor a
+ ld [StartFlypoint], a ; $d005
+ ld a, $2e
+ ld hl, $4612
+ call Function9187c
+ ld de, $58ef
+ ret
+; 91853 (24:5853)
+
+INCBIN "baserom.gbc",$91853,$91854 - $91853
+
+; no known jump sources
+Function91854: ; 91854 (24:5854)
+ push de
+ ld a, e
+ ld [EnemyTurnsTaken], a ; $c6dc
+ ld de, $0
+ call StartMusic
+ pop de
+ ld a, e
+ ld [CurMusic], a ; $c2c0
+ call StartMusic
+ ret
+
+; no known jump sources
+Function91868: ; 91868 (24:5868)
+ push de
+ ld a, $fe
+ ld [EnemyTurnsTaken], a ; $c6dc
+ ld de, $0
+ call StartMusic
+ pop de
+ ld de, $3f
+ call StartMusic
+ ret
+
+; known jump sources: 9175f (24:575f), 91774 (24:5774), 91789 (24:5789), 9179e (24:579e), 917b3 (24:57b3), 917e3 (24:57e3), 917f8 (24:57f8), 9180d (24:580d), 91837 (24:5837), 9184c (24:584c)
+Function9187c: ; 9187c (24:587c)
+ ld [EnemyAccLevel], a ; $c6d9
+ ld a, l
+ ld [EnemyEvaLevel], a ; $c6da
+ ld a, h
+ ld [$c6db], a
+ ret
+
+; known jump sources: 91682 (24:5682), 91740 (24:5740)
+Function91888: ; 91888 (24:5888)
+ call Function9189d
+ call Function918a9
+ xor a
+ ld [EnemyAccLevel], a ; $c6d9
+ ld [EnemyEvaLevel], a ; $c6da
+ ld [$c6db], a
+ ld a, $1
+ ld [hBGMapMode], a ; $ff00+$d4
+ ret
+
+; known jump sources: 91888 (24:5888)
+Function9189d: ; 9189d (24:589d)
+ ld de, $0
+ call StartMusic
+ ld a, $ff
+ ld [EnemyTurnsTaken], a ; $c6dc
+ ret
+
+; known jump sources: 9188b (24:588b)
+Function918a9: ; 918a9 (24:58a9)
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ ld hl, $c541
+ ld bc, $312
+ call ClearBox
+ ld hl, $c590
+ ld bc, $412
+ call TextBox
+ ret
+
RadioChannels: ; 918bf
; Buena's Password is at 0x917c3
db "OAK's ", $e1, $e2, " Talk@"
@@ -64383,7 +83725,7 @@
jp [hl]
; 91a9b
-INCBIN "baserom.gbc", $91a9b, $91ae1 - $91a9b
+INCBIN "baserom.gbc",$91a9b,$91ae1 - $91a9b
Function91ae1: ; 91ae1
ld a, e
@@ -64674,7 +84016,7 @@
; 91c8e
-INCBIN "baserom.gbc", $91c8e, $91c8f - $91c8e
+INCBIN "baserom.gbc",$91c8e,$91c8f - $91c8e
Function91c8f: ; 91c8f
ret
@@ -64940,7 +84282,7 @@
ret
; 91e16
-INCBIN "baserom.gbc", $91e16, $91e1e - $91e16
+INCBIN "baserom.gbc",$91e16,$91e1e - $91e16
Function91e1e: ; 91e1e
ld [$d003], a
@@ -65025,7 +84367,7 @@
ret
; 91e9c
-INCBIN "baserom.gbc", $91e9c, $91ea9 - $91e9c
+INCBIN "baserom.gbc",$91e9c,$91ea9 - $91e9c
Function91ea9: ; 91ea9
ld a, [DefaultFlypoint]
@@ -65284,15 +84626,214 @@
; 922d1
-INCBIN "baserom.gbc", $922d1, $92402 - $922d1
+INCBIN "baserom.gbc",$922d1,$92402 - $922d1
INCLUDE "stats/wild/fish.asm"
-INCBIN "baserom.gbc", $926c7, $93a31 - $926c7
+INCBIN "baserom.gbc",$926c7,$9321d - $926c7
+; no known jump sources
+Function9321d: ; 9321d (24:721d)
+ ld hl, $b
+ add hl, bc
+ ld e, [hl]
+ ld d, $0
+ ld hl, $722d
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
+; no known jump sources
+Jumptable_9322d: ; 9322d (24:722d)
+ dw Function93233
+ dw Function93259
+ dw Function93289
+
+
+; no known jump sources
+Function93233: ; 93233 (24:7233)
+ ld hl, $e
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr nz, .asm_93247
+ ld a, $2
+ ld [$cf64], a
+ ld hl, $0
+ add hl, bc
+ ld [hl], $0
+ ret
+.asm_93247
+ dec [hl]
+ ld hl, $b
+ add hl, bc
+ inc [hl]
+ ld hl, $c
+ add hl, bc
+ ld [hl], $30
+ ld hl, $6
+ add hl, bc
+ ld [hl], $0
+
+; no known jump sources
+Function93259: ; 93259 (24:7259)
+ ld hl, $c
+ add hl, bc
+ ld a, [hl]
+ cp $20
+ jr c, .asm_93273
+ dec [hl]
+ ld e, a
+ ld d, $70
+ ld a, BANK(Functionce765)
+ ld hl, Functionce765
+ rst $8 ; ; indirect jump to Functionce765 (ce765 (33:6765))
+ ld a, e
+ ld hl, $7
+ add hl, bc
+ ld [hl], a
+ ret
+.asm_93273
+ ld hl, $b
+ add hl, bc
+ inc [hl]
+ ld hl, $d
+ add hl, bc
+ ld [hl], $2
+ ld a, $1
+ ld [$cf64], a
+ ld a, $1e
+ call Function9331e
+ ret
+
+; no known jump sources
+Function93289: ; 93289 (24:7289)
+ ld hl, $6
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ inc [hl]
+ cp $48
+ jr nc, .asm_932a3
+ and $3
+ ret nz
+ ld hl, $d
+ add hl, bc
+ ld a, [hl]
+ xor $ff
+ inc a
+ ld [hl], a
+ ld [hSCY], a ; $ff00+$d0
+ ret
+.asm_932a3
+ ld hl, $b
+ add hl, bc
+ xor a
+ ld [hl], a
+ ld [hSCY], a ; $ff00+$d0
+ ret
+
+; no known jump sources
+Function932ac: ; 932ac (24:72ac)
+ ld hl, $b
+ add hl, bc
+ ld e, [hl]
+ ld d, $0
+ ld hl, $72bc
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
+
+; no known jump sources
+Jumptable_932bc: ; 932bc (24:72bc)
+ dw Function932c2
+ dw Function932e0
+ dw Function932fc
+
+
+; no known jump sources
+Function932c2: ; 932c2 (24:72c2)
+ ld hl, $4
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ cp $68
+ jr z, .asm_932d6
+ and $f
+ ret nz
+ ld de, $16
+ call StartSFX
+ ret
+.asm_932d6
+ ld hl, $b
+ add hl, bc
+ inc [hl]
+ ld a, $1
+ ld [$cf64], a
+
+; no known jump sources
+Function932e0: ; 932e0 (24:72e0)
+ ld a, [$cf64]
+ cp $2
+ jr z, .asm_932f1
+ cp $5
+ ret nz
+ ld hl, $0
+ add hl, bc
+ ld [hl], $0
+ ret
+.asm_932f1
+ ld hl, $b
+ add hl, bc
+ inc [hl]
+ ld hl, $c
+ add hl, bc
+ ld [hl], $8
+
+; no known jump sources
+Function932fc: ; 932fc (24:72fc)
+ ld hl, $c
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_93306
+ dec [hl]
+ ret
+.asm_93306
+ ld hl, $b
+ add hl, bc
+ dec [hl]
+ push bc
+ ld de, $606c
+ ld a, $8
+ call Function3b2a
+ pop bc
+ ret
+; 93316 (24:7316)
+
+INCBIN "baserom.gbc",$93316,$9331e - $93316
+
+; known jump sources: 93285 (24:7285)
+Function9331e: ; 9331e (24:731e)
+ push de
+ ld e, a
+ ld d, $0
+ call StartSFX
+ pop de
+ ret
+; 93327 (24:7327)
+
+INCBIN "baserom.gbc",$93327,$93a31 - $93327
+
+
SECTION "bank25",ROMX,BANK[$25]
MapGroupPointers: ; 0x94000
@@ -67236,7 +86777,7 @@
SECTION "bank28",ROMX,BANK[$28]
-INCBIN "baserom.gbc", $a0000, $a1eca - $a0000
+INCBIN "baserom.gbc",$a0000,$a1eca - $a0000
SECTION "bank29",ROMX,BANK[$29]
@@ -67362,9 +86903,38 @@
ret
; b8098
-INCBIN "baserom.gbc", $b8098, $b80c6 - $b8098
+; no known jump sources
+Functionb8098: ; b8098 (2e:4098)
+ ld hl, $c2da
+ ld a, [hl]
+ and a
+ jr z, .asm_b80bc
+ dec [hl]
+ cp $3c
+ ret z
+ cp $3b
+ jr nz, .asm_b80b3
+ call Functionb80d3
+ call Functionb80e1
+ ld a, BANK(Function104303)
+ ld hl, Function104303
+ rst $8 ; ; indirect jump to Function104303 (104303 (41:4303))
+.asm_b80b3
+ ld a, $80
+ ld a, $70
+ ld [rWY], a ; $ff00+$4a
+ ld [hWY], a ; $ff00+$d2
+ ret
+.asm_b80bc
+ ld a, $90
+ ld [rWY], a ; $ff00+$4a
+ ld [hWY], a ; $ff00+$d2
+ xor a
+ ld [hLCDStatCustom], a ; $ff00+$c6
+ ret
+
Functionb80c6: ; b80c6
ld de, $5344
ld hl, $9600
@@ -67382,9 +86952,44 @@
ret
; b80e1
-INCBIN "baserom.gbc", $b80e1, $b8115 - $b80e1
+; known jump sources: b80aa (2e:40aa)
+Functionb80e1: ; b80e1 (2e:40e1)
+ ld a, [$c2d9]
+ ld e, a
+ ld a, BANK(GetLandmarkName)
+ ld hl, GetLandmarkName
+ rst $8 ; ; indirect jump to GetLandmarkName (1ca8a5 (72:68a5))
+ call Functionb8101
+ ld a, $14
+ sub c
+ srl a
+ ld b, $0
+ ld c, a
+ ld hl, $c4c8
+ add hl, bc
+ ld de, StringBuffer1 ; $d073
+ call PlaceString
+ ret
+; known jump sources: b80eb (2e:40eb)
+Functionb8101: ; b8101 (2e:4101)
+ ld c, $0
+ push hl
+ ld hl, StringBuffer1 ; $d073
+.asm_b8107
+ ld a, [hli]
+ cp $50
+ jr z, .asm_b8113
+ cp $25
+ jr z, .asm_b8107
+ inc c
+ jr .asm_b8107
+.asm_b8113
+ pop hl
+ ret
+
+
Functionb8115: ; b8115
ld de, $0939
add hl, de
@@ -67537,7 +87142,7 @@
ret
; b81ea
-INCBIN "baserom.gbc", $b81ea, $b8219 - $b81ea
+INCBIN "baserom.gbc",$b81ea,$b8219 - $b81ea
Functionb8219: ; b8219
; get a RockMon encounter
@@ -67601,7 +87206,7 @@
ret
; b825e
-INCBIN "baserom.gbc", $B825E, $b82c5 - $b825e
+INCBIN "baserom.gbc",$b825e,$b82c5 - $b825e
RockMonMaps: ; b82c5
db GROUP_CIANWOOD_CITY, MAP_CIANWOOD_CITY, 7
@@ -67977,15 +87582,1131 @@
; b84f2
FishingGFX: ; b84f2
-INCBIN "baserom.gbc", $b84f2, $b8582 - $b84f2
+INCBIN "baserom.gbc",$b84f2,$b8582 - $b84f2
; b8582
KrisFishingGFX: ; b8582
-INCBIN "baserom.gbc", $b8582, $b8612 - $b8582
+INCBIN "baserom.gbc",$b8582,$b8612 - $b8582
; b8612
-INCBIN "baserom.gbc", $b8612, $b8f8f - $b8612
+ ld a, [DefaultFlypoint] ; $d002
+ cp $8
+ jr nc, .asm_b862b
+ ld a, [StatusFlags2] ; $d84d
+ bit 0, a
+ jr z, .asm_b862b
+ call IsInJohto
+ and a
+ jr nz, .asm_b862b
+ ld a, $7
+ ld [DefaultFlypoint], a ; $d002
+.asm_b862b
+ ld a, [DefaultFlypoint] ; $d002
+ ld e, a
+ ld d, $0
+ ld hl, $463a
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
+; no known jump sources
+Jumptable_b863a: ; b863a (2e:463a)
+ dw Functionb8742
+ dw Functionb8a46
+ dw Functionb8b35
+ dw Functionb8bdc
+ dw Functionb8f12
+ dw Functionb8cbf
+ dw Functionb8b50
+ dw Functionb8e72
+ dw Functionb8ef7
+ dw Functionb8f00
+ dw Functionb8f09
+ dw Functionb8752
+ dw Functionb875a
+ dw Functionb8762
+ dw Functionb8810
+ dw Functionb8818
+ dw Functionb883e
+ dw Functionb8854
+ dw Functionb88d9
+ dw Functionb8a6c
+ dw Functionb8aa4
+ dw Functionb8aac
+ dw Functionb8ab4
+ dw Functionb8b40
+ dw Functionb8b48
+ dw Functionb8b63
+ dw Functionb8b6b
+ dw Functionb8b7d
+ dw Functionb8b8f
+ dw Functionb8b5b
+ dw Functionb8bf5
+ dw Functionb8bfd
+ dw Functionb8c05
+ dw Functionb8c0d
+ dw Functionb8c15
+ dw Functionb8c1d
+ dw Functionb8c25
+ dw Functionb8c3e
+ dw Functionb8c46
+ dw Functionb8c4e
+ dw Functionb8c56
+ dw Functionb8c5e
+ dw Functionb8c6e
+ dw Functionb8c76
+ dw Functionb8cca
+ dw Functionb8cd2
+ dw Functionb8cf2
+ dw Functionb8d56
+ dw Functionb8ded
+ dw Functionb8e28
+ dw Functionb8e7d
+ dw Functionb8e85
+ dw Functionb8e8d
+ dw Functionb8e95
+ dw Functionb8e9d
+ dw Functionb8ea5
+ dw Functionb8ead
+ dw Functionb8eb5
+ dw Functionb8ebd
+ dw Functionb896e
+ dw Functionb8994
+ dw Functionb89a9
+ dw Functionb89c6
+ dw Functionb89d7
+ dw Functionb8f3f
+ dw Functionb8f47
+ dw Functionb8f55
+ dw Functionb909c
+ dw Functionb90a4
+ dw Functionb90ac
+ dw Functionb90c5
+ dw Functionb90d2
+ dw Functionb90da
+ dw Functionb90e2
+ dw Functionb90ea
+ dw Functionb90f2
+ dw Functionb90fa
+ dw Functionb9102
+ dw Functionb910a
+ dw Functionb9112
+ dw Functionb911a
+ dw Functionb9122
+ dw Functionb912a
+ dw Functionb9152
+ dw Functionb8728
+ dw Functionb8abc
+ dw Functionb8ac4
+ dw Functionb8acc
+
+
+; known jump sources: b87e9 (2e:47e9), b87ef (2e:47ef), b8aa1 (2e:4aa1), b8aa9 (2e:4aa9), b8ab1 (2e:4ab1), b8ab9 (2e:4ab9), b8ac1 (2e:4ac1), b8ac9 (2e:4ac9), b8ad1 (2e:4ad1), b8e4f (2e:4e4f), b9226 (2e:5226)
+Functionb86ea: ; b86ea (2e:46ea)
+ ld [$d003], a
+ ld hl, $d00c
+ ld a, [StartFlypoint] ; $d005
+ cp $2
+ jr nc, .asm_b870a
+ inc hl
+ ld [hl], $0
+ inc a
+ ld [StartFlypoint], a ; $d005
+ cp $2
+ jr nz, .asm_b870a
+ ld bc, $c5e1
+ call Function13e5
+ jr .asm_b870d
+.asm_b870a
+ call PrintTextBoxText
+.asm_b870d
+ ld a, $54
+ ld [DefaultFlypoint], a ; $d002
+ ld a, $64
+ ld [$d004], a
+ ret
+; b8718 (2e:4718)
+
+INCBIN "baserom.gbc",$b8718,$b8728 - $b8718
+
+; no known jump sources
+Functionb8728: ; b8728 (2e:4728)
+ ld hl, $d004
+ ld a, [hl]
+ and a
+ jr z, .asm_b8731
+ dec [hl]
+ ret
+.asm_b8731
+ ld a, [$d003]
+ ld [DefaultFlypoint], a ; $d002
+ ld a, [StartFlypoint] ; $d005
+ cp $1
+ call nz, Functionb8a0b
+ jp Functionb8a17
+
+; no known jump sources
+Functionb8742: ; b8742 (2e:4742)
+ ld a, $5
+ ld [EndFlypoint], a ; $d006
+ call Functionb91eb
+ ld hl, $4820
+ ld a, $b
+ jp Functionb9221
+
+; no known jump sources
+Functionb8752: ; b8752 (2e:4752)
+ ld hl, $4825
+ ld a, $c
+ jp Functionb9221
+
+; no known jump sources
+Functionb875a: ; b875a (2e:475a)
+ ld hl, $482a
+ ld a, $d
+ jp Functionb9221
+
+; known jump sources: b8769 (2e:4769)
+Functionb8762: ; b8762 (2e:4762)
+ call Random
+ and $1f
+ cp $f
+ jr nc, Functionb8762
+ ld hl, $47f2
+ ld c, a
+ ld b, $0
+ add hl, bc
+ add hl, bc
+ ld b, [hl]
+ inc hl
+ ld c, [hl]
+ push bc
+ ld hl, $65e9
+.asm_b877a
+ ld a, $a
+ call GetFarByte
+ cp $ff
+ jr z, .asm_b87ec
+ inc hl
+ cp b
+ jr nz, .asm_b878f
+ ld a, $a
+ call GetFarByte
+ cp c
+ jr z, .asm_b8796
+.asm_b878f
+ dec hl
+ ld de, $2f
+ add hl, de
+ jr .asm_b877a
+.asm_b8796
+ inc hl
+ inc hl
+ inc hl
+ inc hl
+.asm_b879a
+ call Random
+ and $3
+ cp $3
+ jr z, .asm_b879a
+ ld bc, $e
+ call AddNTimes
+.asm_b87a9
+ call Random
+ and $7
+ cp $2
+ jr c, .asm_b87a9
+ cp $5
+ jr nc, .asm_b87a9
+ ld e, a
+ ld d, $0
+ add hl, de
+ add hl, de
+ inc hl
+ ld a, $a
+ call GetFarByte
+ ld [$d265], a
+ ld [CurPartySpecies], a ; $d108
+ call GetPokemonName
+ ld hl, StringBuffer1 ; $d073
+ ld de, $d050
+ ld bc, $b
+ call CopyBytes
+ pop bc
+ call GetWorldMapLocation
+ ld e, a
+ ld a, BANK(GetLandmarkName)
+ ld hl, GetLandmarkName
+ rst $8 ; ; indirect jump to GetLandmarkName (1ca8a5 (72:68a5))
+ ld hl, $482f
+ call Functionb91dc
+ ld a, $e
+ jp Functionb86ea
+.asm_b87ec
+ pop bc
+ ld a, $0
+ jp Functionb86ea
+; b87f2 (2e:47f2)
+
+INCBIN "baserom.gbc",$b87f2,$b8810 - $b87f2
+
+; no known jump sources
+Functionb8810: ; b8810 (2e:4810)
+ ld hl, $4834
+ ld a, $f
+ jp Functionb9221
+
+; no known jump sources
+Functionb8818: ; b8818 (2e:4818)
+ ld hl, $4839
+ ld a, $10
+ jp Functionb9221
+; b8820 (2e:4820)
+
+INCBIN "baserom.gbc",$b8820,$b883e - $b8820
+
+; no known jump sources
+Functionb883e: ; b883e (2e:483e)
+ ld a, [CurPartySpecies] ; $d108
+ ld [$d265], a
+ call GetPokemonName
+ ld hl, $484f
+ ld a, $11
+ jp Functionb9221
+; b884f (2e:484f)
+
+INCBIN "baserom.gbc",$b884f,$b8854 - $b884f
+
+; no known jump sources
+Functionb8854: ; b8854 (2e:4854)
+ call Random
+ and $f
+ ld e, a
+ ld d, $0
+ ld hl, $4869
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld a, $12
+ jp Functionb9221
+; b8869 (2e:4869)
+
+INCBIN "baserom.gbc",$b8869,$b88d9 - $b8869
+
+; no known jump sources
+Functionb88d9: ; b88d9 (2e:48d9)
+ call Random
+ and $f
+ ld e, a
+ ld d, $0
+ ld hl, $48fe
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld a, [EndFlypoint] ; $d006
+ dec a
+ ld [EndFlypoint], a ; $d006
+ ld a, $d
+ jr nz, .asm_b88fb
+ ld a, $5
+ ld [EndFlypoint], a ; $d006
+ ld a, $3b
+.asm_b88fb
+ jp Functionb9221
+; b88fe (2e:48fe)
+
+INCBIN "baserom.gbc",$b88fe,$b896e - $b88fe
+
+; no known jump sources
+Functionb896e: ; b896e (2e:496e)
+ ld a, BANK(Function91868)
+ ld hl, Function91868
+ rst $8 ; ; indirect jump to Function91868 (91868 (24:5868))
+ ld hl, $4993
+ call PrintText
+ call WaitBGMap
+ ld hl, $498e
+ call PrintText
+ ld a, $3c
+ ld [DefaultFlypoint], a ; $d002
+ ld a, $64
+ ld [$d004], a
+ ret
+; b898e (2e:498e)
+
+INCBIN "baserom.gbc",$b898e,$b8994 - $b898e
+
+; no known jump sources
+Functionb8994: ; b8994 (2e:4994)
+ ld hl, $d004
+ dec [hl]
+ ret nz
+ ld hl, $c5c1
+ ld de, $49a4
+ ld a, $3d
+ jp Functionb8a00
+; b89a4 (2e:49a4)
+
+INCBIN "baserom.gbc",$b89a4,$b89a9 - $b89a4
+
+; no known jump sources
+Functionb89a9: ; b89a9 (2e:49a9)
+ ld hl, $d004
+ dec [hl]
+ ret nz
+ ld hl, $c5e1
+ ld de, $49b9
+ ld a, $3e
+ jp Functionb8a00
+; b89b9 (2e:49b9)
+
+INCBIN "baserom.gbc",$b89b9,$b89c6 - $b89b9
+
+; no known jump sources
+Functionb89c6: ; b89c6 (2e:49c6)
+ ld hl, $d004
+ dec [hl]
+ ret nz
+ ld hl, $c5ec
+ ld de, $49d6
+ ld a, $3f
+ jp Functionb8a00
+; b89d6 (2e:49d6)
+
+INCBIN "baserom.gbc",$b89d6,$b89d7 - $b89d6
+
+; no known jump sources
+Functionb89d7: ; b89d7 (2e:49d7)
+ ld hl, $d004
+ dec [hl]
+ ret nz
+ ld de, $1d
+ ld hl, Function91854
+ ld a, BANK(Function91854)
+ rst $8 ; ; indirect jump to Function91854 (91854 (24:5854))
+ ld hl, $49ff
+ call PrintText
+ ld a, $d
+ ld [$d003], a
+ xor a
+ ld [StartFlypoint], a ; $d005
+ ld a, $54
+ ld [DefaultFlypoint], a ; $d002
+ ld a, $a
+ ld [$d004], a
+ ret
+; b89ff (2e:49ff)
+
+INCBIN "baserom.gbc",$b89ff,$b8a00 - $b89ff
+
+; known jump sources: b89a1 (2e:49a1), b89b6 (2e:49b6), b89d3 (2e:49d3)
+Functionb8a00: ; b8a00 (2e:4a00)
+ ld [DefaultFlypoint], a ; $d002
+ ld a, $64
+ ld [$d004], a
+ jp PlaceString
+
+; known jump sources: b873c (2e:473c)
+Functionb8a0b: ; b8a0b (2e:4a0b)
+ ld hl, $c5cc
+ ld de, $c5a4
+ ld bc, $28
+ jp CopyBytes
+
+; known jump sources: b873f (2e:473f)
+Functionb8a17: ; b8a17 (2e:4a17)
+ ld hl, $c5cd
+ ld bc, $12
+ ld a, $7f
+ call ByteFill
+ ld hl, $c5e1
+ ld bc, $12
+ ld a, $7f
+ jp ByteFill
+
+; known jump sources: b8a7d (2e:4a7d)
+Functionb8a2d: ; b8a2d (2e:4a2d)
+ push hl
+ push de
+ ld a, [CurPartySpecies] ; $d108
+ dec a
+ rlca
+ rlca
+ and $3
+ ld hl, $4a42
+ ld d, $0
+ ld e, a
+ add hl, de
+ ld a, [hl]
+ pop de
+ pop hl
+ ret
+; b8a42 (2e:4a42)
+
+INCBIN "baserom.gbc",$b8a42,$b8a46 - $b8a42
+
+; no known jump sources
+Functionb8a46: ; b8a46 (2e:4a46)
+ call Functionb91eb
+.asm_b8a49
+ call Random
+ cp $fb
+ jr nc, .asm_b8a49
+ ld c, a
+ push bc
+ ld a, c
+ call CheckCaughtMon
+ pop bc
+ jr z, .asm_b8a49
+ inc c
+ ld a, c
+ ld [CurPartySpecies], a ; $d108
+ ld [$d265], a
+ call GetPokemonName
+ ld hl, $4b30
+ ld a, $13
+ jp Functionb9221
+
+; no known jump sources
+Functionb8a6c: ; b8a6c (2e:4a6c)
+ ld a, [CurPartySpecies] ; $d108
+ dec a
+ ld hl, $4378
+ ld c, a
+ ld b, $0
+ add hl, bc
+ add hl, bc
+ ld a, $11
+ call GetFarHalfword
+ call Functionb8a2d
+ push af
+ push hl
+ call Functionb8af3
+ dec hl
+ ld [hl], $57
+ ld hl, $d26b
+ call Functionb91dc
+ pop hl
+ pop af
+ call Functionb8b11
+ inc hl
+ inc hl
+ inc hl
+ inc hl
+ ld a, l
+ ld [$d26b], a
+ ld a, h
+ ld [$d26c], a
+ ld a, $14
+ jp Functionb86ea
+
+; no known jump sources
+Functionb8aa4: ; b8aa4 (2e:4aa4)
+ call Functionb8ad4
+ ld a, $15
+ jp Functionb86ea
+
+; no known jump sources
+Functionb8aac: ; b8aac (2e:4aac)
+ call Functionb8ad4
+ ld a, $16
+ jp Functionb86ea
+
+; no known jump sources
+Functionb8ab4: ; b8ab4 (2e:4ab4)
+ call Functionb8ad4
+ ld a, $55
+ jp Functionb86ea
+
+; no known jump sources
+Functionb8abc: ; b8abc (2e:4abc)
+ call Functionb8ad4
+ ld a, $56
+ jp Functionb86ea
+
+; no known jump sources
+Functionb8ac4: ; b8ac4 (2e:4ac4)
+ call Functionb8ad4
+ ld a, $57
+ jp Functionb86ea
+
+; no known jump sources
+Functionb8acc: ; b8acc (2e:4acc)
+ call Functionb8ad4
+ ld a, $1
+ jp Functionb86ea
+
+; known jump sources: b8aa4 (2e:4aa4), b8aac (2e:4aac), b8ab4 (2e:4ab4), b8abc (2e:4abc), b8ac4 (2e:4ac4), b8acc (2e:4acc)
+Functionb8ad4: ; b8ad4 (2e:4ad4)
+ ld a, [$d26b]
+ ld l, a
+ ld a, [$d26c]
+ ld h, a
+ ld a, [$d26d]
+ push af
+ push hl
+ call Functionb8af3
+ dec hl
+ ld [hl], $57
+ ld hl, $d26b
+ call Functionb91dc
+ pop hl
+ pop af
+ call Functionb8b11
+ ret
+
+; known jump sources: b8a82 (2e:4a82), b8ae1 (2e:4ae1)
+Functionb8af3: ; b8af3 (2e:4af3)
+ ld de, $d26d
+ ld bc, $13
+ call FarCopyBytes
+ ld hl, $d26b
+ ld [hl], $0
+ inc hl
+ ld [hl], $4f
+ inc hl
+.asm_b8b05
+ ld a, [hli]
+ cp $50
+ ret z
+ cp $4e
+ ret z
+ cp $5f
+ ret z
+ jr .asm_b8b05
+
+; known jump sources: b8a90 (2e:4a90), b8aef (2e:4aef)
+Functionb8b11: ; b8b11 (2e:4b11)
+ ld d, a
+.asm_b8b12
+ ld a, d
+ call GetFarByte
+ inc hl
+ cp $50
+ jr z, .asm_b8b23
+ cp $4e
+ jr z, .asm_b8b23
+ cp $5f
+ jr nz, .asm_b8b12
+.asm_b8b23
+ ld a, l
+ ld [$d26b], a
+ ld a, h
+ ld [$d26c], a
+ ld a, d
+ ld [$d26d], a
+ ret
+; b8b30 (2e:4b30)
+
+INCBIN "baserom.gbc",$b8b30,$b8b35 - $b8b30
+
+; no known jump sources
+Functionb8b35: ; b8b35 (2e:4b35)
+ call Functionb8b90
+ ld hl, $4baa
+ ld a, $17
+ jp Functionb9221
+
+; no known jump sources
+Functionb8b40: ; b8b40 (2e:4b40)
+ ld hl, $4baf
+ ld a, $18
+ jp Functionb9221
+
+; no known jump sources
+Functionb8b48: ; b8b48 (2e:4b48)
+ ld hl, $4bb4
+ ld a, $19
+ jp Functionb9221
+
+; no known jump sources
+Functionb8b50: ; b8b50 (2e:4b50)
+ call Functionb8b90
+ ld hl, $4bb9
+ ld a, $1d
+ jp Functionb9221
+
+; no known jump sources
+Functionb8b5b: ; b8b5b (2e:4b5b)
+ ld hl, $4bbe
+ ld a, $19
+ jp Functionb9221
+
+; no known jump sources
+Functionb8b63: ; b8b63 (2e:4b63)
+ ld hl, $4bc3
+ ld a, $1a
+ jp Functionb9221
+
+; no known jump sources
+Functionb8b6b: ; b8b6b (2e:4b6b)
+ call GetWeekday
+ and $1
+ ld hl, $4bc8
+ jr z, .asm_b8b78
+ ld hl, $4bcd
+.asm_b8b78
+ ld a, $1b
+ jp Functionb9221
+
+; no known jump sources
+Functionb8b7d: ; b8b7d (2e:4b7d)
+ call GetWeekday
+ and $1
+ ld hl, $4bd2
+ jr z, .asm_b8b8a
+ ld hl, $4bd7
+.asm_b8b8a
+ ld a, $1c
+ jp Functionb9221
+
+; no known jump sources
+Functionb8b8f: ; b8b8f (2e:4b8f)
+ ret
+
+; known jump sources: b8b35 (2e:4b35), b8b50 (2e:4b50)
+Functionb8b90: ; b8b90 (2e:4b90)
+ call Function1052
+ call PrintText
+ ld de, $51
+ call GetWeekday
+ and $1
+ jr z, .asm_b8ba3
+ ld de, $50
+.asm_b8ba3
+ ld hl, Function91854
+ ld a, BANK(Function91854)
+ rst $8 ; ; indirect jump to Function91854 (91854 (24:5854))
+ ret
+; b8baa (2e:4baa)
+
+INCBIN "baserom.gbc",$b8baa,$b8bdc - $b8baa
+
+; no known jump sources
+Functionb8bdc: ; b8bdc (2e:4bdc)
+ call Functionb91eb
+ ld hl, Functionc434
+ ld a, BANK(Functionc434)
+ rst $8 ; ; indirect jump to Functionc434 (c434 (3:4434))
+ jr nc, .asm_b8bed
+ ld hl, Functionc422
+ ld a, BANK(Functionc422)
+ rst $8 ; ; indirect jump to Functionc422 (c422 (3:4422))
+.asm_b8bed
+ ld hl, $4c7e
+ ld a, $1e
+ jp Functionb9221
+
+; no known jump sources
+Functionb8bf5: ; b8bf5 (2e:4bf5)
+ ld hl, $4c83
+ ld a, $1f
+ jp Functionb9221
+
+; no known jump sources
+Functionb8bfd: ; b8bfd (2e:4bfd)
+ ld hl, $4c88
+ ld a, $20
+ jp Functionb9221
+
+; no known jump sources
+Functionb8c05: ; b8c05 (2e:4c05)
+ ld hl, $4c8d
+ ld a, $21
+ jp Functionb9221
+
+; no known jump sources
+Functionb8c0d: ; b8c0d (2e:4c0d)
+ ld hl, $4c92
+ ld a, $22
+ jp Functionb9221
+
+; no known jump sources
+Functionb8c15: ; b8c15 (2e:4c15)
+ ld hl, $4c97
+ ld a, $23
+ jp Functionb9221
+
+; no known jump sources
+Functionb8c1d: ; b8c1d (2e:4c1d)
+ ld hl, $4c9c
+ ld a, $24
+ jp Functionb9221
+
+; no known jump sources
+Functionb8c25: ; b8c25 (2e:4c25)
+ ld hl, StringBuffer1 ; $d073
+ ld de, $dc9f
+ ld bc, $8205
+ call PrintNum
+ ld a, $50
+ ld [$d078], a
+ ld hl, $4ca1
+ ld a, $25
+ jp Functionb9221
+
+; no known jump sources
+Functionb8c3e: ; b8c3e (2e:4c3e)
+ ld hl, $4ca6
+ ld a, $26
+ jp Functionb9221
+
+; no known jump sources
+Functionb8c46: ; b8c46 (2e:4c46)
+ ld hl, $4c9c
+ ld a, $27
+ jp Functionb9221
+
+; no known jump sources
+Functionb8c4e: ; b8c4e (2e:4c4e)
+ ld hl, $4ca1
+ ld a, $28
+ jp Functionb9221
+
+; no known jump sources
+Functionb8c56: ; b8c56 (2e:4c56)
+ ld hl, $4cab
+ ld a, $29
+ jp Functionb9221
+
+; no known jump sources
+Functionb8c5e: ; b8c5e (2e:4c5e)
+ ld hl, $4cb0
+ call Random
+ and a
+ ld a, $3
+ jr nz, .asm_b8c6b
+ ld a, $2a
+.asm_b8c6b
+ jp Functionb9221
+
+; no known jump sources
+Functionb8c6e: ; b8c6e (2e:4c6e)
+ ld hl, $4cb5
+ ld a, $2b
+ jp Functionb9221
+
+; no known jump sources
+Functionb8c76: ; b8c76 (2e:4c76)
+ ld hl, $4cba
+ ld a, $3
+ jp Functionb9221
+; b8c7e (2e:4c7e)
+
+INCBIN "baserom.gbc",$b8c7e,$b8cbf - $b8c7e
+
+; no known jump sources
+Functionb8cbf: ; b8cbf (2e:4cbf)
+ call Functionb91eb
+ ld hl, $4ce3
+ ld a, $2c
+ jp Functionb9221
+
+; no known jump sources
+Functionb8cca: ; b8cca (2e:4cca)
+ ld hl, $4ce8
+ ld a, $2d
+ jp Functionb9221
+
+; no known jump sources
+Functionb8cd2: ; b8cd2 (2e:4cd2)
+ ld hl, $4ced
+ call Random
+ cp $7b
+ ld a, $2e
+ jr c, .asm_b8ce0
+ ld a, $30
+.asm_b8ce0
+ jp Functionb9221
+; b8ce3 (2e:4ce3)
+
+INCBIN "baserom.gbc",$b8ce3,$b8cf2 - $b8ce3
+
+; known jump sources: b8cfa (2e:4cfa), b8d1e (2e:4d1e)
+Functionb8cf2: ; b8cf2 (2e:4cf2)
+ call Random
+ and $7f
+ inc a
+ cp $43
+ jr nc, Functionb8cf2
+ push af
+ ld hl, $4d3e
+ ld a, [StatusFlags] ; $d84c
+ bit 6, a
+ jr z, .asm_b8d14
+ ld hl, $4d43
+ ld a, [KantoBadges] ; $d858
+ cp $ff
+ jr nz, .asm_b8d14
+ ld hl, $4d4b
+.asm_b8d14
+ pop af
+ ld c, a
+ ld de, $1
+ push bc
+ call IsInArray
+ pop bc
+ jr c, Functionb8cf2
+ push bc
+ ld hl, Function3952d
+ ld a, BANK(Function3952d)
+ rst $8 ; ; indirect jump to Function3952d (3952d (e:552d))
+ ld de, StringBuffer1 ; $d073
+ call CopyName1
+ pop bc
+ ld b, $1
+ ld hl, Function3994c
+ ld a, BANK(Function3994c)
+ rst $8 ; ; indirect jump to Function3994c (3994c (e:594c))
+ ld hl, $4d51
+ ld a, $2f
+ jp Functionb9221
+; b8d3e (2e:4d3e)
+
+INCBIN "baserom.gbc",$b8d3e,$b8d56 - $b8d3e
+
+; no known jump sources
+Functionb8d56: ; b8d56 (2e:4d56)
+ call Random
+ and $f
+ ld e, a
+ ld d, $0
+ ld hl, $4d7d
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ call Random
+ cp $a
+ ld a, $5
+ jr c, .asm_b8d7a
+ call Random
+ cp $7b
+ ld a, $2e
+ jr c, .asm_b8d7a
+ ld a, $30
+.asm_b8d7a
+ jp Functionb9221
+; b8d7d (2e:4d7d)
+
+INCBIN "baserom.gbc",$b8d7d,$b8ded - $b8d7d
+
+; known jump sources: b8df2 (2e:4df2)
+Functionb8ded: ; b8ded (2e:4ded)
+ call Random
+ cp $9
+ jr nc, Functionb8ded
+ ld hl, $4e11
+ ld c, a
+ ld b, $0
+ add hl, bc
+ add hl, bc
+ ld b, [hl]
+ inc hl
+ ld c, [hl]
+ call GetWorldMapLocation
+ ld e, a
+ ld a, BANK(GetLandmarkName)
+ ld hl, GetLandmarkName
+ rst $8 ; ; indirect jump to GetLandmarkName (1ca8a5 (72:68a5))
+ ld hl, $4e23
+ ld a, $31
+ jp Functionb9221
+; b8e11 (2e:4e11)
+
+INCBIN "baserom.gbc",$b8e11,$b8e28 - $b8e11
+
+; no known jump sources
+Functionb8e28: ; b8e28 (2e:4e28)
+ call Random
+ and $f
+ ld e, a
+ ld d, $0
+ ld hl, $4e52
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ call Functionb91dc
+ call Random
+ cp $a
+ ld a, $5
+ jr c, .asm_b8e4f
+ call Random
+ cp $7b
+ ld a, $2e
+ jr c, .asm_b8e4f
+ ld a, $30
+.asm_b8e4f
+ jp Functionb86ea
+; b8e52 (2e:4e52)
+
+INCBIN "baserom.gbc",$b8e52,$b8e72 - $b8e52
+
+; no known jump sources
+Functionb8e72: ; b8e72 (2e:4e72)
+ call Functionb91eb
+ ld hl, $4ec5
+ ld a, $32
+ jp Functionb9221
+
+; no known jump sources
+Functionb8e7d: ; b8e7d (2e:4e7d)
+ ld hl, $4eca
+ ld a, $33
+ jp Functionb9221
+
+; no known jump sources
+Functionb8e85: ; b8e85 (2e:4e85)
+ ld hl, $4ecf
+ ld a, $34
+ jp Functionb9221
+
+; no known jump sources
+Functionb8e8d: ; b8e8d (2e:4e8d)
+ ld hl, $4ed4
+ ld a, $35
+ jp Functionb9221
+
+; no known jump sources
+Functionb8e95: ; b8e95 (2e:4e95)
+ ld hl, $4ed9
+ ld a, $36
+ jp Functionb9221
+
+; no known jump sources
+Functionb8e9d: ; b8e9d (2e:4e9d)
+ ld hl, $4ede
+ ld a, $37
+ jp Functionb9221
+
+; no known jump sources
+Functionb8ea5: ; b8ea5 (2e:4ea5)
+ ld hl, $4ee3
+ ld a, $38
+ jp Functionb9221
+
+; no known jump sources
+Functionb8ead: ; b8ead (2e:4ead)
+ ld hl, $4ee8
+ ld a, $39
+ jp Functionb9221
+
+; no known jump sources
+Functionb8eb5: ; b8eb5 (2e:4eb5)
+ ld hl, $4eed
+ ld a, $3a
+ jp Functionb9221
+
+; no known jump sources
+Functionb8ebd: ; b8ebd (2e:4ebd)
+ ld hl, $4ef2
+ ld a, $7
+ jp Functionb9221
+; b8ec5 (2e:4ec5)
+
+INCBIN "baserom.gbc",$b8ec5,$b8ef7 - $b8ec5
+
+; no known jump sources
+Functionb8ef7: ; b8ef7 (2e:4ef7)
+ call Functionb91eb
+ ld a, $1
+ ld [StartFlypoint], a ; $d005
+ ret
+
+; no known jump sources
+Functionb8f00: ; b8f00 (2e:4f00)
+ call Functionb91eb
+ ld a, $1
+ ld [StartFlypoint], a ; $d005
+ ret
+
+; no known jump sources
+Functionb8f09: ; b8f09 (2e:4f09)
+ call Functionb91eb
+ ld a, $1
+ ld [StartFlypoint], a ; $d005
+ ret
+
+; known jump sources: b915e (2e:515e)
+Functionb8f12: ; b8f12 (2e:4f12)
+ call Functionb9169
+ jp nc, Functionb8f22
+ ld a, [StartFlypoint] ; $d005
+ and a
+ jp z, Functionb912a
+ jp Functionb90c5
+
+; known jump sources: b8f15 (2e:4f15)
+Functionb8f22: ; b8f22 (2e:4f22)
+ call Functionb91eb
+ ld a, [hBGMapMode] ; $ff00+$d4
+ push af
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ ld de, $5171
+ ld hl, $c556
+ call PlaceString
+ pop af
+ ld [hBGMapMode], a ; $ff00+$d4
+ ld hl, $5182
+ ld a, $40
+ jp Functionb9221
+
+; no known jump sources
+Functionb8f3f: ; b8f3f (2e:4f3f)
+ ld hl, $5187
+ ld a, $41
+ jp Functionb9221
+
+; no known jump sources
+Functionb8f47: ; b8f47 (2e:4f47)
+ call Functionb9169
+ ld hl, $518c
+ jp c, Functionb90b9
+ ld a, $42
+ jp Functionb9221
+
+; no known jump sources
+Functionb8f55: ; b8f55 (2e:4f55)
+ call Functionb9169
+ jp c, Functionb90c5
+ ld a, [$dc4a]
+ ld hl, $dc1f
+ bit 7, [hl]
+ jr nz, .asm_b8f83
+.asm_b8f65
+ call Random
+ and $f
+ cp $b
+ jr nc, .asm_b8f65
+ swap a
+ ld e, a
+.asm_b8f71
+ call Random
+ and $3
+ cp $3
+ jr nc, .asm_b8f71
+ add e
+ ld [$dc4a], a
+ ld hl, $dc1f
+ set 7, [hl]
+.asm_b8f83
+ ld c, a
+ call Functionb8f8f
+ ld hl, $5191
+ ld a, $43
+ jp Functionb9221
+
Functionb8f8f: ; b8f8f
ld a, c
swap a
@@ -68020,8 +88741,255 @@
ret
; b8fb8
-INCBIN "baserom.gbc", $b8fb8, $b9229 - $b8fb8
+; no known jump sources
+Jumptable_b8fb8: ; b8fb8 (2e:4fb8)
+ dw Functionb8fc0
+ dw Functionb8fc7
+ dw Functionb8fce
+ dw Functionb8fde
+
+
+; no known jump sources
+Functionb8fc0: ; b8fc0 (2e:4fc0)
+ call Functionb8fd5
+ call GetPokemonName
+ ret
+
+; no known jump sources
+Functionb8fc7: ; b8fc7 (2e:4fc7)
+ call Functionb8fd5
+ call GetItemName
+ ret
+
+; no known jump sources
+Functionb8fce: ; b8fce (2e:4fce)
+ call Functionb8fd5
+ call GetMoveName
+ ret
+
+; known jump sources: b8fc0 (2e:4fc0), b8fc7 (2e:4fc7), b8fce (2e:4fce)
+Functionb8fd5: ; b8fd5 (2e:4fd5)
+ ld h, $0
+ ld l, c
+ add hl, de
+ ld a, [hl]
+ ld [$d265], a
+ ret
+
+; no known jump sources
+Functionb8fde: ; b8fde (2e:4fde)
+ ld a, c
+ and a
+ jr z, .asm_b8feb
+.asm_b8fe2
+ ld a, [de]
+ inc de
+ cp $50
+ jr nz, .asm_b8fe2
+ dec c
+ jr nz, .asm_b8fe2
+.asm_b8feb
+ ld hl, StringBuffer1 ; $d073
+.asm_b8fee
+ ld a, [de]
+ inc de
+ ld [hli], a
+ cp $50
+ jr nz, .asm_b8fee
+ ld de, StringBuffer1 ; $d073
+ ret
+; b8ff9 (2e:4ff9)
+
+INCBIN "baserom.gbc",$b8ff9,$b909c - $b8ff9
+
+; no known jump sources
+Functionb909c: ; b909c (2e:509c)
+ ld hl, $5196
+ ld a, $44
+ jp Functionb9221
+
+; no known jump sources
+Functionb90a4: ; b90a4 (2e:50a4)
+ ld hl, $519b
+ ld a, $45
+ jp Functionb9221
+
+; no known jump sources
+Functionb90ac: ; b90ac (2e:50ac)
+ call Functionb9169
+ ld hl, $51a0
+ jr c, Functionb90b9
+ ld a, $4
+ jp Functionb9221
+
+; known jump sources: b8f4d (2e:4f4d), b90b2 (2e:50b2)
+Functionb90b9: ; b90b9 (2e:50b9)
+ push hl
+ ld hl, $dc1f
+ res 7, [hl]
+ pop hl
+ ld a, $46
+ jp Functionb9221
+
+; known jump sources: b8f1f (2e:4f1f), b8f58 (2e:4f58)
+Functionb90c5: ; b90c5 (2e:50c5)
+ ld hl, $dc1f
+ res 7, [hl]
+ ld hl, $51d2
+ ld a, $47
+ jp Functionb9221
+
+; no known jump sources
+Functionb90d2: ; b90d2 (2e:50d2)
+ ld hl, $51a5
+ ld a, $48
+ jp Functionb9221
+
+; no known jump sources
+Functionb90da: ; b90da (2e:50da)
+ ld hl, $51aa
+ ld a, $49
+ jp Functionb9221
+
+; no known jump sources
+Functionb90e2: ; b90e2 (2e:50e2)
+ ld hl, $51af
+ ld a, $4a
+ jp Functionb9221
+
+; no known jump sources
+Functionb90ea: ; b90ea (2e:50ea)
+ ld hl, $51b4
+ ld a, $4b
+ jp Functionb9221
+
+; no known jump sources
+Functionb90f2: ; b90f2 (2e:50f2)
+ ld hl, $51b9
+ ld a, $4c
+ jp Functionb9221
+
+; no known jump sources
+Functionb90fa: ; b90fa (2e:50fa)
+ ld hl, $51be
+ ld a, $4d
+ jp Functionb9221
+
+; no known jump sources
+Functionb9102: ; b9102 (2e:5102)
+ ld hl, $51c3
+ ld a, $4e
+ jp Functionb9221
+
+; no known jump sources
+Functionb910a: ; b910a (2e:510a)
+ ld hl, $51c8
+ ld a, $4f
+ jp Functionb9221
+
+; no known jump sources
+Functionb9112: ; b9112 (2e:5112)
+ ld hl, $51cd
+ ld a, $50
+ jp Functionb9221
+
+; no known jump sources
+Functionb911a: ; b911a (2e:511a)
+ ld hl, $51d2
+ ld a, $51
+ jp Functionb9221
+
+; no known jump sources
+Functionb9122: ; b9122 (2e:5122)
+ ld hl, $51d2
+ ld a, $52
+ jp Functionb9221
+
+; known jump sources: b8f1c (2e:4f1c)
+Functionb912a: ; b912a (2e:512a)
+ ld a, [hBGMapMode] ; $ff00+$d4
+ push af
+ ld a, BANK(Function9189d)
+ ld hl, Function9189d
+ rst $8 ; ; indirect jump to Function9189d (9189d (24:589d))
+ ld a, BANK(Function918a9)
+ ld hl, Function918a9
+ rst $8 ; ; indirect jump to Function918a9 (918a9 (24:58a9))
+ pop af
+ ld [hBGMapMode], a ; $ff00+$d4
+ ld hl, $dc1f
+ res 7, [hl]
+ ld a, $4
+ ld [DefaultFlypoint], a ; $d002
+ xor a
+ ld [StartFlypoint], a ; $d005
+ ld hl, $51d7
+ ld a, $53
+ jp Functionb9221
+
+; no known jump sources
+Functionb9152: ; b9152 (2e:5152)
+ ld a, $4
+ ld [DefaultFlypoint], a ; $d002
+ xor a
+ ld [StartFlypoint], a ; $d005
+ call Functionb9169
+ jp nc, Functionb8f12
+ ld hl, $51d7
+ ld a, $53
+ jp Functionb9221
+
+; known jump sources: b8f12 (2e:4f12), b8f47 (2e:4f47), b8f55 (2e:4f55), b90ac (2e:50ac), b915b (2e:515b)
+Functionb9169: ; b9169 (2e:5169)
+ call UpdateTime
+ ld a, [hHours] ; $ff00+$94
+ cp $12
+ ret
+; b9171 (2e:5171)
+
+INCBIN "baserom.gbc",$b9171,$b91dc - $b9171
+
+; known jump sources: b87e4 (2e:47e4), b8a8b (2e:4a8b), b8aea (2e:4aea), b8e38 (2e:4e38), b9222 (2e:5222)
+Functionb91dc: ; b91dc (2e:51dc)
+ ld a, [hl]
+ cp $16
+ jp z, Function3a90
+ ld de, $d00c
+ ld bc, $28
+ jp CopyBytes
+
+; known jump sources: b8747 (2e:4747), b8a46 (2e:4a46), b8bdc (2e:4bdc), b8cbf (2e:4cbf), b8e72 (2e:4e72), b8ef7 (2e:4ef7), b8f00 (2e:4f00), b8f09 (2e:4f09), b8f22 (2e:4f22)
+Functionb91eb: ; b91eb (2e:51eb)
+ ld a, [StartFlypoint] ; $d005
+ and a
+ ret nz
+ call Function1052
+ call PrintText
+ ld hl, $520b
+ ld a, [DefaultFlypoint] ; $d002
+ ld c, a
+ ld b, $0
+ add hl, bc
+ add hl, bc
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ ld hl, Function91854
+ ld a, BANK(Function91854)
+ rst $8 ; ; indirect jump to Function91854 (91854 (24:5854))
+ ret
+; b920b (2e:520b)
+
+INCBIN "baserom.gbc",$b920b,$b9221 - $b920b
+
+; known jump sources: b874f (2e:474f), b8757 (2e:4757), b875f (2e:475f), b8815 (2e:4815), b881d (2e:481d), b884c (2e:484c), b8866 (2e:4866), b88fb (2e:48fb), b8a69 (2e:4a69), b8b3d (2e:4b3d), b8b45 (2e:4b45), b8b4d (2e:4b4d), b8b58 (2e:4b58), b8b60 (2e:4b60), b8b68 (2e:4b68), b8b7a (2e:4b7a), b8b8c (2e:4b8c), b8bf2 (2e:4bf2), b8bfa (2e:4bfa), b8c02 (2e:4c02), b8c0a (2e:4c0a), b8c12 (2e:4c12), b8c1a (2e:4c1a), b8c22 (2e:4c22), b8c3b (2e:4c3b), b8c43 (2e:4c43), b8c4b (2e:4c4b), b8c53 (2e:4c53), b8c5b (2e:4c5b), b8c6b (2e:4c6b), b8c73 (2e:4c73), b8c7b (2e:4c7b), b8cc7 (2e:4cc7), b8ccf (2e:4ccf), b8ce0 (2e:4ce0), b8d3b (2e:4d3b), b8d7a (2e:4d7a), b8e0e (2e:4e0e), b8e7a (2e:4e7a), b8e82 (2e:4e82), b8e8a (2e:4e8a), b8e92 (2e:4e92), b8e9a (2e:4e9a), b8ea2 (2e:4ea2), b8eaa (2e:4eaa), b8eb2 (2e:4eb2), b8eba (2e:4eba), b8ec2 (2e:4ec2), b8f3c (2e:4f3c), b8f44 (2e:4f44), b8f52 (2e:4f52), b8f8c (2e:4f8c), b90a1 (2e:50a1), b90a9 (2e:50a9), b90b6 (2e:50b6), b90c2 (2e:50c2), b90cf (2e:50cf), b90d7 (2e:50d7), b90df (2e:50df), b90e7 (2e:50e7), b90ef (2e:50ef), b90f7 (2e:50f7), b90ff (2e:50ff), b9107 (2e:5107), b910f (2e:510f), b9117 (2e:5117), b911f (2e:511f), b9127 (2e:5127), b914f (2e:514f), b9166 (2e:5166)
+Functionb9221: ; b9221 (2e:5221)
+ push af
+ call Functionb91dc
+ pop af
+ jp Functionb86ea
+
Functionb9229: ; b9229
ld a, [CurPartyMon]
ld hl, $a600
@@ -68141,7 +89109,7 @@
jp [hl]
; b92f7
-INCBIN "baserom.gbc", $b92f7, $b9e76 - $b92f7
+INCBIN "baserom.gbc",$b92f7,$b9e76 - $b92f7
ItemIsMail: ; b9e76
@@ -68170,7 +89138,7 @@
INCLUDE "engine/std_scripts.asm"
-INCBIN "baserom.gbc", $bd0d0, $be66a - $bd0d0
+INCBIN "baserom.gbc",$bd0d0,$be66a - $bd0d0
UnknownScript_0xbe66a: ; 0xbe66a
faceplayer
@@ -68216,8 +89184,2940 @@
SECTION "bank32",ROMX,BANK[$32]
-INCBIN "baserom.gbc", $c8000, $cbcdd - $c8000
+; no known jump sources
+Functionc8000: ; c8000 (32:4000)
+ ld hl, $d3fa
+ ld e, $5
+.asm_c8005
+ ld a, [hl]
+ and a
+ jr z, .asm_c8012
+ ld c, l
+ ld b, h
+ push hl
+ push de
+ call Functionc804a
+ pop de
+ pop hl
+.asm_c8012
+ ld bc, $4
+ add hl, bc
+ dec e
+ jr nz, .asm_c8005
+ ret
+
+; no known jump sources
+Functionc801a: ; c801a (32:401a)
+ ld hl, $d3fa
+ ld e, $5
+.asm_c801f
+ ld a, [hl]
+ and a
+ jr z, .asm_c802c
+ ld bc, $4
+ add hl, bc
+ dec e
+ jr nz, .asm_c801f
+ scf
+ ret
+.asm_c802c
+ ld c, l
+ ld b, h
+ ld hl, $0
+ add hl, bc
+ ld a, [$d419]
+ ld [hli], a
+ ld a, [$d41a]
+ ld [hli], a
+ ld a, [$d41b]
+ ld [hli], a
+ ld a, [$d41c]
+ ld [hl], a
+ ret
+
+; known jump sources: c80c6 (32:40c6), c811c (32:411c), c8139 (32:4139), c814d (32:414d), c8164 (32:4164), c81e6 (32:41e6), c81ef (32:41ef), c822c (32:422c), c827d (32:427d), c8299 (32:4299), c82ea (32:42ea), c8377 (32:4377), c8437 (32:4437), c85ca (32:45ca), c85ff (32:45ff), c8d13 (32:4d13), c8dd0 (32:4dd0), c8e26 (32:4e26), c8e4e (32:4e4e), c8f15 (32:4f15)
+Functionc8043: ; c8043 (32:4043)
+ ld hl, $0
+ add hl, bc
+ ld [hl], $0
+ ret
+
+; known jump sources: c800d (32:400d)
+Functionc804a: ; c804a (32:404a)
+ ld hl, $0
+ add hl, bc
+ ld e, [hl]
+ ld d, $0
+ ld hl, $405a
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
+
+; no known jump sources
+Jumptable_c805a: ; c805a (32:405a)
+ dw Functionc80c6
+ dw Functionc80eb
+ dw Functionc80f3
+ dw Functionc812d
+ dw Functionc8141
+ dw Functionc8155
+ dw Functionc8171
+ dw Functionc818b
+ dw Functionc81a5
+ dw Functionc81b3
+ dw Functionc81ea
+ dw Functionc837b
+ dw Functionc83a8
+ dw Functionc8545
+ dw Functionc8599
+ dw Functionc863f
+ dw Functionc8662
+ dw Functionc8214
+ dw Functionc8281
+ dw Functionc8689
+ dw Functionc8709
+ dw Functionc8be8
+ dw Functionc8bf2
+ dw Functionc8bfd
+ dw Functionc8c08
+ dw Functionc8c14
+ dw Functionc8c20
+ dw Functionc8c30
+ dw Functionc8b00
+ dw Functionc8c3c
+ dw Functionc8c55
+ dw Functionc8cf9
+ dw Functionc8d02
+ dw Functionc8761
+ dw Functionc89ee
+ dw Functionc87a7
+ dw Functionc8805
+ dw Functionc8837
+ dw Functionc892a
+ dw Functionc82f5
+ dw Functionc89b5
+ dw Functionc8607
+ dw Functionc8a3a
+ dw Functionc8acc
+ dw Functionc8964
+ dw Functionc88e7
+ dw Functionc8ce1
+ dw Functionc8919
+ dw Functionc85c2
+ dw Functionc85ce
+ dw Functionc8603
+ dw Functionc8c61
+ dw Functionc8ca2
+ dw Functionc8d3a
+
+
+; no known jump sources
+Functionc80c6: ; c80c6 (32:40c6)
+ call Functionc8043
+ ret
+
+; known jump sources: c8b7d (32:4b7d), c8d80 (32:4d80), c8dd8 (32:4dd8)
+Functionc80ca: ; c80ca (32:40ca)
+ ld hl, $1
+ add hl, bc
+ ld l, [hl]
+ ld h, $0
+ add hl, hl
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ret
+
+; known jump sources: c81b3 (32:41b3), c8214 (32:4214), c8281 (32:4281), c82f5 (32:42f5), c83ed (32:43ed), c8545 (32:4545), c8599 (32:4599), c8607 (32:4607), c863f (32:463f), c8662 (32:4662), c8689 (32:4689), c8709 (32:4709), c8761 (32:4761), c87a7 (32:47a7), c8805 (32:4805), c8837 (32:4837), c88e7 (32:48e7), c8919 (32:4919), c892a (32:492a), c8964 (32:4964), c89b5 (32:49b5), c89ee (32:49ee), c8a3a (32:4a3a), c8acc (32:4acc), c8b05 (32:4b05), c8c61 (32:4c61), c8ca2 (32:4ca2)
+Functionc80d7: ; c80d7 (32:40d7)
+ pop de
+ ld hl, $1
+ add hl, bc
+ ld l, [hl]
+ ld h, $0
+ add hl, hl
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
+
+; known jump sources: c81c0 (32:41c0), c8230 (32:4230), c825a (32:425a), c829d (32:429d), c82c7 (32:42c7), c8302 (32:4302), c835c (32:435c), c841d (32:441d), c854e (32:454e), c85a2 (32:45a2), c8610 (32:4610), c8648 (32:4648), c866b (32:466b), c8698 (32:4698), c86cb (32:46cb), c8712 (32:4712), c876a (32:476a), c87b2 (32:47b2), c87db (32:47db), c8810 (32:4810), c8842 (32:4842), c8876 (32:4876), c8890 (32:4890), c88f6 (32:48f6), c8933 (32:4933), c896d (32:496d), c89be (32:49be), c89f7 (32:49f7), c8a49 (32:4a49), c8a84 (32:4a84), c8a96 (32:4a96), c8ad3 (32:4ad3), c8b0e (32:4b0e), c8c68 (32:4c68), c8cab (32:4cab), c8d8b (32:4d8b), c8dec (32:4dec), c8def (32:4def), c8df2 (32:4df2)
+Functionc80e5: ; c80e5 (32:40e5)
+ ld hl, $1
+ add hl, bc
+ inc [hl]
+ ret
+
+; no known jump sources
+Functionc80eb: ; c80eb (32:40eb)
+ ld de, $40f1
+ jp Functionc80fb
+; c80f1 (32:40f1)
+
+INCBIN "baserom.gbc",$c80f1,$c80f3 - $c80f1
+
+; no known jump sources
+Functionc80f3: ; c80f3 (32:40f3)
+ ld de, $40f9
+ jp Functionc80fb
+; c80f9 (32:40f9)
+
+INCBIN "baserom.gbc",$c80f9,$c80fb - $c80f9
+
+; known jump sources: c80ee (32:40ee), c80f6 (32:40f6)
+Functionc80fb: ; c80fb (32:40fb)
+ ld a, $1
+ ld [$d419], a
+ ld hl, $1
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_c810a
+ dec [hl]
+ ret
+.asm_c810a
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ ld hl, $1
+ add hl, bc
+ ld [hl], a
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr nz, .asm_c8120
+ call Functionc8043
+ ret
+.asm_c8120
+ dec a
+ ld [hl], a
+ and $1
+ ld l, a
+ ld h, $0
+ add hl, de
+ ld a, [hl]
+ ld [$cfc7], a
+ ret
+
+; no known jump sources
+Functionc812d: ; c812d (32:412d)
+ ld de, $413d
+ call Functionc8d57
+ jr c, .asm_c8139
+ ld [$cfc7], a
+ ret
+.asm_c8139
+ call Functionc8043
+ ret
+; c813d (32:413d)
+
+INCBIN "baserom.gbc",$c813d,$c8141 - $c813d
+
+; no known jump sources
+Functionc8141: ; c8141 (32:4141)
+ ld de, $4151
+ call Functionc8d57
+ jr c, .asm_c814d
+ ld [$cfc7], a
+ ret
+.asm_c814d
+ call Functionc8043
+ ret
+; c8151 (32:4151)
+
+INCBIN "baserom.gbc",$c8151,$c8155 - $c8151
+
+; no known jump sources
+Functionc8155: ; c8155 (32:4155)
+ ld de, $4168
+ call Functionc8d57
+ jr c, .asm_c8164
+ ld [$cfc7], a
+ ld [$cfc9], a
+ ret
+.asm_c8164
+ call Functionc8043
+ ret
+; c8168 (32:4168)
+
+INCBIN "baserom.gbc",$c8168,$c8171 - $c8168
+
+; no known jump sources
+Functionc8171: ; c8171 (32:4171)
+ call Functionc9059
+ jr nz, .asm_c817b
+ ld de, $4185
+ jr .asm_c817e
+.asm_c817b
+ ld de, $4188
+.asm_c817e
+ call Functionc8d57
+ ld [$cfc8], a
+ ret
+; c8185 (32:4185)
+
+INCBIN "baserom.gbc",$c8185,$c818b - $c8185
+
+; no known jump sources
+Functionc818b: ; c818b (32:418b)
+ call Functionc9059
+ jr nz, .asm_c8195
+ ld de, $419f
+ jr .asm_c8198
+.asm_c8195
+ ld de, $41a2
+.asm_c8198
+ call Functionc8d57
+ ld [$cfc8], a
+ ret
+; c819f (32:419f)
+
+INCBIN "baserom.gbc",$c819f,$c81a5 - $c819f
+
+; no known jump sources
+Functionc81a5: ; c81a5 (32:41a5)
+ ld de, $41af
+ call Functionc8d57
+ ld [$cfc7], a
+ ret
+; c81af (32:41af)
+
+INCBIN "baserom.gbc",$c81af,$c81b3 - $c81af
+
+; no known jump sources
+Functionc81b3: ; c81b3 (32:41b3)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c81b6: ; c81b6 (32:41b6)
+ dw Functionc81c0
+ dw Functionc80e5
+ dw Functionc80e5
+ dw Functionc80e5
+ dw Functionc81e3
+
+
+; no known jump sources
+Functionc81c0: ; c81c0 (32:41c0)
+ call Functionc80e5
+ push bc
+ call Functionc9038
+ jr nz, .asm_c81d1
+ ld hl, $c4ac
+ ld bc, $707
+ jr .asm_c81d7
+.asm_c81d1
+ ld hl, $c51a
+ ld bc, $606
+.asm_c81d7
+ call ClearBox
+ pop bc
+ xor a
+ ld [hBGMapThird], a ; $ff00+$d5
+ ld a, $1
+ ld [hBGMapMode], a ; $ff00+$d4
+ ret
+
+; no known jump sources
+Functionc81e3: ; c81e3 (32:41e3)
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call Functionc8043
+ ret
+
+; no known jump sources
+Functionc81ea: ; c81ea (32:41ea)
+ call Functionc9042
+ jr z, .asm_c81f3
+ call Functionc8043
+ ret
+.asm_c81f3
+ call Functionc9038
+ jr nz, .asm_c81fd
+ ld de, $4210
+ jr .asm_c8200
+.asm_c81fd
+ ld de, $420c
+.asm_c8200
+ ld a, e
+ ld [$d41a], a
+ ld a, d
+ ld [$d41b], a
+ call Functionc83ed
+ ret
+; c820c (32:420c)
+
+INCBIN "baserom.gbc",$c820c,$c8214 - $c820c
+
+; no known jump sources
+Functionc8214: ; c8214 (32:4214)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c8217: ; c8217 (32:4217)
+ dw Functionc8223
+ dw Functionc825a
+ dw Functionc80e5
+ dw Functionc80e5
+ dw Functionc80e5
+ dw Functionc827a
+
+
+; no known jump sources
+Functionc8223: ; c8223 (32:4223)
+ call Functionc9042
+ jr z, .asm_c8230
+ ld hl, $d40e
+ inc [hl]
+ call Functionc8043
+ ret
+.asm_c8230
+ call Functionc80e5
+ push bc
+ call Functionc9038
+ jr nz, .asm_c8242
+ ld a, $b8
+ ld [$d419], a
+ ld a, $84
+ jr .asm_c8249
+.asm_c8242
+ ld a, $b9
+ ld [$d419], a
+ ld a, $30
+.asm_c8249
+ ld [$d41a], a
+ ld a, $40
+ ld [$d41b], a
+ xor a
+ ld [$d41c], a
+ call Functionc82ee
+ pop bc
+ ret
+
+; no known jump sources
+Functionc825a: ; c825a (32:425a)
+ call Functionc80e5
+ push bc
+ call Functionc9038
+ jr nz, .asm_c826b
+ ld hl, $c524
+ ld bc, $107
+ jr .asm_c8271
+.asm_c826b
+ ld hl, $c51a
+ ld bc, $106
+.asm_c8271
+ call ClearBox
+ ld a, $1
+ ld [hBGMapMode], a ; $ff00+$d4
+ pop bc
+ ret
+
+; no known jump sources
+Functionc827a: ; c827a (32:427a)
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call Functionc8043
+ ret
+
+; no known jump sources
+Functionc8281: ; c8281 (32:4281)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c8284: ; c8284 (32:4284)
+ dw Functionc8290
+ dw Functionc82c7
+ dw Functionc80e5
+ dw Functionc80e5
+ dw Functionc80e5
+ dw Functionc82e7
+
+
+; no known jump sources
+Functionc8290: ; c8290 (32:4290)
+ call Functionc9042
+ jr z, .asm_c829d
+ ld hl, $d40e
+ inc [hl]
+ call Functionc8043
+ ret
+.asm_c829d
+ call Functionc80e5
+ push bc
+ call Functionc9038
+ jr nz, .asm_c82af
+ ld a, $ba
+ ld [$d419], a
+ ld a, $84
+ jr .asm_c82b6
+.asm_c82af
+ ld a, $bb
+ ld [$d419], a
+ ld a, $30
+.asm_c82b6
+ ld [$d41a], a
+ ld a, $40
+ ld [$d41b], a
+ xor a
+ ld [$d41c], a
+ call Functionc82ee
+ pop bc
+ ret
+
+; no known jump sources
+Functionc82c7: ; c82c7 (32:42c7)
+ call Functionc80e5
+ push bc
+ call Functionc9038
+ jr nz, .asm_c82d8
+ ld hl, $c510
+ ld bc, $207
+ jr .asm_c82de
+.asm_c82d8
+ ld hl, $c51a
+ ld bc, $206
+.asm_c82de
+ call ClearBox
+ ld a, $1
+ ld [hBGMapMode], a ; $ff00+$d4
+ pop bc
+ ret
+
+; no known jump sources
+Functionc82e7: ; c82e7 (32:42e7)
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call Functionc8043
+ ret
+
+; known jump sources: c8255 (32:4255), c82c2 (32:42c2)
+Functionc82ee: ; c82ee (32:42ee)
+ ld hl, Functioncc9a1
+ ld a, BANK(Functioncc9a1)
+ rst $8 ; ; indirect jump to Functioncc9a1 (cc9a1 (33:49a1))
+ ret
+
+; no known jump sources
+Functionc82f5: ; c82f5 (32:42f5)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c82f8: ; c82f8 (32:42f8)
+ dw Functionc8302
+ dw Functionc831d
+ dw Functionc80e5
+ dw Functionc80e5
+ dw Functionc8365
+
+
+; no known jump sources
+Functionc8302: ; c8302 (32:4302)
+ call Functionc80e5
+ call Functionc9038
+ ld [hl], a
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_c8315
+ ld a, $9
+ jr .asm_c8317
+.asm_c8315
+ ld a, $8
+.asm_c8317
+ ld hl, $3
+ add hl, bc
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionc831d: ; c831d (32:431d)
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_c833e
+ ld hl, $c518
+ ld de, $806
+.asm_c832b
+ push de
+ push hl
+.asm_c832d
+ inc hl
+ ld a, [hld]
+ ld [hli], a
+ dec d
+ jr nz, .asm_c832d
+ pop hl
+ ld de, $14
+ add hl, de
+ pop de
+ dec e
+ jr nz, .asm_c832b
+ jr .asm_c8355
+.asm_c833e
+ ld hl, $c4b3
+ ld de, $807
+.asm_c8344
+ push de
+ push hl
+.asm_c8346
+ dec hl
+ ld a, [hli]
+ ld [hld], a
+ dec d
+ jr nz, .asm_c8346
+ pop hl
+ ld de, $14
+ add hl, de
+ pop de
+ dec e
+ jr nz, .asm_c8344
+.asm_c8355
+ xor a
+ ld [hBGMapThird], a ; $ff00+$d5
+ ld a, $1
+ ld [hBGMapMode], a ; $ff00+$d4
+ call Functionc80e5
+ ld hl, $3
+ add hl, bc
+ dec [hl]
+ ret
+
+; no known jump sources
+Functionc8365: ; c8365 (32:4365)
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_c8377
+ ld hl, $1
+ add hl, bc
+ ld [hl], $1
+ ret
+.asm_c8377
+ call Functionc8043
+ ret
+
+; no known jump sources
+Functionc837b: ; c837b (32:437b)
+ call Functionc9038
+ jr nz, .asm_c8385
+ ld de, $439e
+ jr .asm_c8388
+.asm_c8385
+ ld de, $4394
+.asm_c8388
+ ld a, e
+ ld [$d41a], a
+ ld a, d
+ ld [$d41b], a
+ call Functionc83ed
+ ret
+; c8394 (32:4394)
+
+INCBIN "baserom.gbc",$c8394,$c83a8 - $c8394
+
+; no known jump sources
+Functionc83a8: ; c83a8 (32:43a8)
+ call Functionc9038
+ jr nz, .asm_c83b2
+ ld de, $43d7
+ jr .asm_c83b5
+.asm_c83b2
+ ld de, $43c1
+.asm_c83b5
+ ld a, e
+ ld [$d41a], a
+ ld a, d
+ ld [$d41b], a
+ call Functionc83ed
+ ret
+; c83c1 (32:43c1)
+
+INCBIN "baserom.gbc",$c83c1,$c83ed - $c83c1
+
+; known jump sources: c8208 (32:4208), c8390 (32:4390), c83bd (32:43bd)
+Functionc83ed: ; c83ed (32:43ed)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c83f0: ; c83f0 (32:43f0)
+ dw Functionc83fa
+ dw Functionc80e5
+ dw Functionc80e5
+ dw Functionc842a
+ dw Functionc8434
+
+
+; known jump sources: c8428 (32:4428)
+Functionc83fa: ; c83fa (32:43fa)
+ ld hl, $3
+ add hl, bc
+ ld e, [hl]
+ ld d, $0
+ inc [hl]
+ ld a, [$d41a]
+ ld l, a
+ ld a, [$d41b]
+ ld h, a
+ add hl, de
+ add hl, de
+ add hl, de
+ ld a, [hl]
+ cp $ff
+ jr z, Functionc8434
+ cp $fe
+ jr z, .asm_c8425
+ cp $fd
+ jr z, .asm_c841d
+ call Functionc8458
+.asm_c841d
+ call Functionc80e5
+ ld a, $1
+ ld [hBGMapMode], a ; $ff00+$d4
+ ret
+.asm_c8425
+ call Functionc843b
+ jr Functionc83fa
+
+; no known jump sources
+Functionc842a: ; c842a (32:442a)
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ ld hl, $1
+ add hl, bc
+ ld [hl], $0
+ ret
+
+; known jump sources: c8410 (32:4410)
+Functionc8434: ; c8434 (32:4434)
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call Functionc8043
+ ret
+
+; known jump sources: c8425 (32:4425)
+Functionc843b: ; c843b (32:443b)
+ push bc
+ inc hl
+ ld a, [hli]
+ ld b, a
+ and $f
+ ld c, a
+ ld a, b
+ swap a
+ and $f
+ ld b, a
+ ld e, [hl]
+ ld d, $0
+ ld hl, $449c
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ call ClearBox
+ pop bc
+ ret
+
+; known jump sources: c841a (32:441a)
+Functionc8458: ; c8458 (32:4458)
+ push bc
+ push hl
+ ld e, [hl]
+ ld d, $0
+ ld hl, $44a8
+ add hl, de
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld b, a
+ and $f
+ ld c, a
+ ld a, b
+ swap a
+ and $f
+ ld b, a
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ pop hl
+ inc hl
+ ld a, [hli]
+ ld [$d419], a
+ push de
+ ld e, [hl]
+ ld d, $0
+ ld hl, $449c
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ pop de
+.asm_c8484
+ push bc
+ push hl
+ ld a, [$d419]
+ ld b, a
+.asm_c848a
+ ld a, [de]
+ add b
+ ld [hli], a
+ inc de
+ dec c
+ jr nz, .asm_c848a
+ pop hl
+ ld bc, $14
+ add hl, bc
+ pop bc
+ dec b
+ jr nz, .asm_c8484
+ pop bc
+ ret
+; c849c (32:449c)
+
+INCBIN "baserom.gbc",$c849c,$c8545 - $c849c
+
+; no known jump sources
+Functionc8545: ; c8545 (32:4545)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c8548: ; c8548 (32:4548)
+ dw Functionc854e
+ dw Functionc8557
+ dw Functionc8561
+
+
+; no known jump sources
+Functionc854e: ; c854e (32:454e)
+ call Functionc80e5
+ ld de, $202
+ call Functionc8f69
+
+; no known jump sources
+Functionc8557: ; c8557 (32:4557)
+ ld a, [hLCDStatCustom] ; $ff00+$c6
+ and a
+ ret z
+ push bc
+ call Functionc8565
+ pop bc
+ ret
+
+; no known jump sources
+Functionc8561: ; c8561 (32:4561)
+ call Functionc8f0a
+ ret
+
+; known jump sources: c855c (32:455c)
+Functionc8565: ; c8565 (32:4565)
+ ld hl, $d422
+ ld de, $d423
+ ld c, $3f
+ ld a, [hl]
+ push af
+.asm_c856f
+ ld a, [de]
+ inc de
+ ld [hli], a
+ dec c
+ jr nz, .asm_c856f
+ pop af
+ ld [hl], a
+ ld de, $d200
+ ld hl, $d422
+ ld bc, $0
+.asm_c8580
+ ld a, [$FF00+$c7]
+ cp e
+ jr nc, .asm_c858b
+ push hl
+ add hl, bc
+ ld a, [hl]
+ pop hl
+ jr .asm_c858c
+.asm_c858b
+ xor a
+.asm_c858c
+ ld [de], a
+ ld a, c
+ inc a
+ and $3f
+ ld c, a
+ inc de
+ ld a, e
+ cp $5f
+ jr c, .asm_c8580
+ ret
+
+; no known jump sources
+Functionc8599: ; c8599 (32:4599)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c859c: ; c859c (32:459c)
+ dw Functionc85a2
+ dw Functionc85ba
+ dw Functionc85be
+
+
+; no known jump sources
+Functionc85a2: ; c85a2 (32:45a2)
+ call Functionc80e5
+ call Functionc8eca
+ ld a, $42
+ ld [hLCDStatCustom], a ; $ff00+$c6
+ xor a
+ ld [$FF00+$c7], a
+ ld a, $5e
+ ld [$FF00+$c8], a
+ ld de, $202
+ call Functionc8f2e
+ ret
+
+; no known jump sources
+Functionc85ba: ; c85ba (32:45ba)
+ call Functionc8fef
+ ret
+
+; no known jump sources
+Functionc85be: ; c85be (32:45be)
+ call Functionc8f0a
+ ret
+
+; no known jump sources
+Functionc85c2: ; c85c2 (32:45c2)
+ call Functionc8eca
+ ld a, $42
+ call Functionc8ede
+ call Functionc8043
+ ret
+
+; no known jump sources
+Functionc85ce: ; c85ce (32:45ce)
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ ld e, a
+ add $4
+ ld [hl], a
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ and $f0
+ swap a
+ xor $ff
+ add $4
+ ld d, a
+ ld hl, $1
+ add hl, bc
+ ld a, [hl]
+ ld [$d419], a
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ cp $20
+ jr nc, .asm_c85fc
+ inc [hl]
+ inc [hl]
+ call Functionc8f9a
+ ret
+.asm_c85fc
+ call Functionc8eca
+ call Functionc8043
+ ret
+
+; no known jump sources
+Functionc8603: ; c8603 (32:4603)
+ call Functionc8f0a
+ ret
+
+; no known jump sources
+Functionc8607: ; c8607 (32:4607)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c860a: ; c860a (32:460a)
+ dw Functionc8610
+ dw Functionc862e
+ dw Functionc863b
+
+
+; no known jump sources
+Functionc8610: ; c8610 (32:4610)
+ call Functionc80e5
+ call Functionc8eca
+ ld a, $43
+ ld [hLCDStatCustom], a ; $ff00+$c6
+ xor a
+ ld [$FF00+$c7], a
+ ld a, $5f
+ ld [$FF00+$c8], a
+ ld de, $605
+ call Functionc8f2e
+ ld hl, $3
+ add hl, bc
+ ld [hl], $0
+ ret
+
+; no known jump sources
+Functionc862e: ; c862e (32:462e)
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ and $3
+ ret nz
+ call Functionc8fef
+ ret
+
+; no known jump sources
+Functionc863b: ; c863b (32:463b)
+ call Functionc8f0a
+ ret
+
+; no known jump sources
+Functionc863f: ; c863f (32:463f)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c8642: ; c8642 (32:4642)
+ dw Functionc8648
+ dw Functionc865a
+ dw Functionc865e
+
+
+; no known jump sources
+Functionc8648: ; c8648 (32:4648)
+ call Functionc80e5
+ call Functionc8eca
+ ld a, $43
+ call Functionc8ede
+ ld de, $605
+ call Functionc8f2e
+ ret
+
+; no known jump sources
+Functionc865a: ; c865a (32:465a)
+ call Functionc8fef
+ ret
+
+; no known jump sources
+Functionc865e: ; c865e (32:465e)
+ call Functionc8f0a
+ ret
+
+; no known jump sources
+Functionc8662: ; c8662 (32:4662)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c8665: ; c8665 (32:4665)
+ dw Functionc866b
+ dw Functionc8681
+ dw Functionc8685
+
+
+; no known jump sources
+Functionc866b: ; c866b (32:466b)
+ call Functionc80e5
+ call Functionc8eca
+ ld a, $42
+ call Functionc8ede
+ ld hl, $3
+ add hl, bc
+ ld e, [hl]
+ ld d, $2
+ call Functionc8f2e
+ ret
+
+; no known jump sources
+Functionc8681: ; c8681 (32:4681)
+ call Functionc8fef
+ ret
+
+; no known jump sources
+Functionc8685: ; c8685 (32:4685)
+ call Functionc8f0a
+ ret
+
+; no known jump sources
+Functionc8689: ; c8689 (32:4689)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c868c: ; c868c (32:468c)
+ dw Functionc8698
+ dw Functionc86af
+ dw Functionc86cf
+ dw Functionc86bd
+ dw Functionc86e9
+ dw Functionc8705
+
+
+; no known jump sources
+Functionc8698: ; c8698 (32:4698)
+ call Functionc80e5
+ call Functionc8eca
+ ld a, $43
+ call Functionc8ede
+ ld a, [$FF00+$c8]
+ inc a
+ ld [$FF00+$c8], a
+ ld hl, $2
+ add hl, bc
+ ld [hl], $0
+ ret
+
+; no known jump sources
+Functionc86af: ; c86af (32:46af)
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ cp $10
+ jr nc, asm_c86cb
+ inc [hl]
+ call Functionc86ea
+ ret
+
+; no known jump sources
+Functionc86bd: ; c86bd (32:46bd)
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ cp $ff
+ jr z, asm_c86cb
+ dec [hl]
+ call Functionc86ea
+ ret
+asm_c86cb: ; c86cb (32:46cb)
+ call Functionc80e5
+ ret
+
+; no known jump sources
+Functionc86cf: ; c86cf (32:46cf)
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ ld d, $2
+ call Functionc905d
+ ld hl, $3
+ add hl, bc
+ add [hl]
+ call Functionc86ea
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ add $4
+ ld [hl], a
+
+; no known jump sources
+Functionc86e9: ; c86e9 (32:46e9)
+ ret
+
+; known jump sources: c86b9 (32:46b9), c86c7 (32:46c7), c86de (32:46de)
+Functionc86ea: ; c86ea (32:46ea)
+ ld e, a
+ xor $ff
+ inc a
+ ld d, a
+ ld h, $d2
+ ld a, [$FF00+$c7]
+ ld l, a
+ ld a, [$FF00+$c8]
+ sub l
+ srl a
+ push af
+.asm_c86fa
+ ld [hl], e
+ inc hl
+ ld [hl], d
+ inc hl
+ dec a
+ jr nz, .asm_c86fa
+ pop af
+ ret nc
+ ld [hl], e
+ ret
+
+; no known jump sources
+Functionc8705: ; c8705 (32:4705)
+ call Functionc8f0a
+ ret
+
+; no known jump sources
+Functionc8709: ; c8709 (32:4709)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c870c: ; c870c (32:470c)
+ dw Functionc8712
+ dw Functionc8732
+ dw Functionc875d
+
+
+; no known jump sources
+Functionc8712: ; c8712 (32:4712)
+ call Functionc80e5
+ call Functionc8eca
+ ld a, $42
+ call Functionc8ede
+ ld hl, $3
+ add hl, bc
+ ld e, [hl]
+ ld d, $2
+ call Functionc8f2e
+ ld h, $d2
+ ld a, [$FF00+$c8]
+ ld l, a
+ ld [hl], $0
+ dec l
+ ld [hl], $0
+ ret
+
+; no known jump sources
+Functionc8732: ; c8732 (32:4732)
+ ld a, [$FF00+$c8]
+ ld l, a
+ ld h, $d2
+ ld e, l
+ ld d, h
+ dec de
+.asm_c873a
+ ld a, [de]
+ dec de
+ ld [hld], a
+ ld a, [$FF00+$c7]
+ cp l
+ jr nz, .asm_c873a
+ ld [hl], $90
+ ld a, [$FF00+$c8]
+ ld l, a
+ ld a, [hl]
+ cp $1
+ jr c, .asm_c8752
+ cp $90
+ jr z, .asm_c8752
+ ld [hl], $0
+.asm_c8752
+ dec l
+ ld a, [hl]
+ cp $2
+ ret c
+ cp $90
+ ret z
+ ld [hl], $0
+ ret
+
+; no known jump sources
+Functionc875d: ; c875d (32:475d)
+ call Functionc8f0a
+ ret
+
+; no known jump sources
+Functionc8761: ; c8761 (32:4761)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c8764: ; c8764 (32:4764)
+ dw Functionc876a
+ dw Functionc8781
+ dw Functionc87a3
+
+
+; no known jump sources
+Functionc876a: ; c876a (32:476a)
+ call Functionc80e5
+ call Functionc8eca
+ ld a, $42
+ call Functionc8ede
+ ld a, [$FF00+$c8]
+ inc a
+ ld [$FF00+$c8], a
+ ld hl, $2
+ add hl, bc
+ ld [hl], $1
+ ret
+
+; no known jump sources
+Functionc8781: ; c8781 (32:4781)
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ and $3f
+ ld d, a
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ cp d
+ ret nc
+ call Functionc901b
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ rlca
+ rlca
+ and $3
+ ld hl, $2
+ add hl, bc
+ add [hl]
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionc87a3: ; c87a3 (32:47a3)
+ call Functionc8f0a
+ ret
+
+; no known jump sources
+Functionc87a7: ; c87a7 (32:47a7)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c87aa: ; c87aa (32:47aa)
+ dw Functionc87b2
+ dw Functionc87cf
+ dw Functionc87de
+ dw Functionc8801
+
+
+; no known jump sources
+Functionc87b2: ; c87b2 (32:47b2)
+ call Functionc80e5
+ call Functionc8eca
+ ld a, $42
+ call Functionc8ede
+ ld a, [$FF00+$c8]
+ inc a
+ ld [$FF00+$c8], a
+ ld hl, $2
+ add hl, bc
+ ld [hl], $2
+ ld hl, $3
+ add hl, bc
+ ld [hl], $0
+ ret
+
+; no known jump sources
+Functionc87cf: ; c87cf (32:47cf)
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_c87d9
+ dec [hl]
+ ret
+.asm_c87d9
+ ld [hl], $10
+ call Functionc80e5
+
+; no known jump sources
+Functionc87de: ; c87de (32:47de)
+ ld a, [$FF00+$c7]
+ ld l, a
+ ld a, [$FF00+$c8]
+ sub l
+ dec a
+ ld hl, $2
+ add hl, bc
+ cp [hl]
+ ret c
+ ld a, [hl]
+ push af
+ and $7
+ jr nz, .asm_c87f6
+ ld hl, $1
+ add hl, bc
+ dec [hl]
+.asm_c87f6
+ pop af
+ call Functionc901b
+ ld hl, $2
+ add hl, bc
+ inc [hl]
+ inc [hl]
+ ret
+
+; no known jump sources
+Functionc8801: ; c8801 (32:4801)
+ call Functionc8f0a
+ ret
+
+; no known jump sources
+Functionc8805: ; c8805 (32:4805)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c8808: ; c8808 (32:4808)
+ dw Functionc8810
+ dw Functionc8869
+ dw Functionc8888
+ dw Functionc8833
+
+
+; no known jump sources
+Functionc8810: ; c8810 (32:4810)
+ call Functionc80e5
+ call Functionc8eca
+ ld a, $43
+ call Functionc8ede
+ ld a, [$FF00+$c8]
+ inc a
+ ld [$FF00+$c8], a
+ ld hl, $3
+ add hl, bc
+ ld [hl], $0
+ call Functionc9038
+ jr nz, .asm_c882f
+ ld a, $2
+ jr .asm_c8831
+.asm_c882f
+ ld a, $fe
+.asm_c8831
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionc8833: ; c8833 (32:4833)
+ call Functionc8f0a
+ ret
+
+; no known jump sources
+Functionc8837: ; c8837 (32:4837)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c883a: ; c883a (32:483a)
+ dw Functionc8842
+ dw Functionc8869
+ dw Functionc8888
+ dw Functionc8865
+
+
+; no known jump sources
+Functionc8842: ; c8842 (32:4842)
+ call Functionc80e5
+ call Functionc8eca
+ ld a, $43
+ call Functionc8ef4
+ ld a, [$FF00+$c8]
+ inc a
+ ld [$FF00+$c8], a
+ ld hl, $3
+ add hl, bc
+ ld [hl], $0
+ call Functionc9038
+ jr nz, .asm_c8861
+ ld a, $2
+ jr .asm_c8863
+.asm_c8861
+ ld a, $fe
+.asm_c8863
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionc8865: ; c8865 (32:4865)
+ call Functionc8f0a
+ ret
+
+; no known jump sources
+Functionc8869: ; c8869 (32:4869)
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ cp $f8
+ jr z, .asm_c8876
+ cp $8
+ jr nz, .asm_c8879
+.asm_c8876
+ call Functionc80e5
+.asm_c8879
+ call Functionc88a5
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ ld hl, $3
+ add hl, bc
+ add [hl]
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionc8888: ; c8888 (32:4888)
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr nz, .asm_c8893
+ call Functionc80e5
+.asm_c8893
+ call Functionc88a5
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ xor $ff
+ inc a
+ ld hl, $3
+ add hl, bc
+ add [hl]
+ ld [hl], a
+ ret
+
+; known jump sources: c8879 (32:4879), c8893 (32:4893)
+Functionc88a5: ; c88a5 (32:48a5)
+ push af
+ ld a, [FXAnimIDHi] ; $cfc3
+ or a
+ jr nz, .asm_c88b3
+ ld a, [FXAnimIDLo] ; $cfc2
+ cp $cd
+ jr z, .asm_c88b7
+.asm_c88b3
+ pop af
+ jp Functionc900b
+.asm_c88b7
+ ld a, [$FF00+$c7]
+ ld d, a
+ ld a, [$FF00+$c8]
+ sub d
+ ld d, a
+ ld h, $d2
+ ld a, [hSCY] ; $ff00+$d0
+ or a
+ jr nz, .asm_c88d0
+ ld a, [$FF00+$c7]
+ or a
+ jr z, .asm_c88d6
+ dec a
+ ld l, a
+ ld [hl], $0
+ jr .asm_c88d6
+.asm_c88d0
+ ld a, [$FF00+$c8]
+ dec a
+ ld l, a
+ ld [hl], $0
+.asm_c88d6
+ ld a, [hSCY] ; $ff00+$d0
+ ld l, a
+ ld a, [$FF00+$c7]
+ sub l
+ jr nc, .asm_c88e0
+ xor a
+ dec d
+.asm_c88e0
+ ld l, a
+ pop af
+.asm_c88e2
+ ld [hli], a
+ dec d
+ jr nz, .asm_c88e2
+ ret
+
+; no known jump sources
+Functionc88e7: ; c88e7 (32:48e7)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c88ea: ; c88ea (32:48ea)
+ dw Functionc88f6
+ dw Functionc8869
+ dw Functionc8888
+ dw Functionc88f2
+
+
+; no known jump sources
+Functionc88f2: ; c88f2 (32:48f2)
+ call Functionc8f0a
+ ret
+
+; no known jump sources
+Functionc88f6: ; c88f6 (32:48f6)
+ call Functionc80e5
+ call Functionc8eca
+ ld a, $43
+ call Functionc8ede
+ ld a, [$FF00+$c8]
+ inc a
+ ld [$FF00+$c8], a
+ ld hl, $3
+ add hl, bc
+ ld [hl], $0
+ call Functionc9038
+ jr nz, .asm_c8915
+ ld a, $fe
+ jr .asm_c8917
+.asm_c8915
+ ld a, $2
+.asm_c8917
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionc8919: ; c8919 (32:4919)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c891c: ; c891c (32:491c)
+ dw Functionc88f6
+ dw Functionc8869
+ dw Functionc8929
+ dw Functionc8888
+ dw Functionc8926
+
+
+; no known jump sources
+Functionc8926: ; c8926 (32:4926)
+ call Functionc8f0a
+
+; no known jump sources
+Functionc8929: ; c8929 (32:4929)
+ ret
+
+; no known jump sources
+Functionc892a: ; c892a (32:492a)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c892d: ; c892d (32:492d)
+ dw Functionc8933
+ dw Functionc894a
+ dw Functionc8960
+
+
+; no known jump sources
+Functionc8933: ; c8933 (32:4933)
+ call Functionc80e5
+ call Functionc8eca
+ ld a, $43
+ call Functionc8ede
+ ld a, [$FF00+$c8]
+ inc a
+ ld [$FF00+$c8], a
+ ld hl, $3
+ add hl, bc
+ ld [hl], $0
+ ret
+
+; no known jump sources
+Functionc894a: ; c894a (32:494a)
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ ld d, $8
+ call Functionc905d
+ call Functionc900b
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ add $4
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionc8960: ; c8960 (32:4960)
+ call Functionc8f0a
+ ret
+
+; no known jump sources
+Functionc8964: ; c8964 (32:4964)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c8967: ; c8967 (32:4967)
+ dw Functionc896d
+ dw Functionc8985
+ dw Functionc89b1
+
+
+; no known jump sources
+Functionc896d: ; c896d (32:496d)
+ call Functionc80e5
+ call Functionc8eca
+ ld a, $43
+ call Functionc8ede
+ ld a, [$FF00+$c8]
+ inc a
+ ld [$FF00+$c8], a
+ xor a
+ ld hl, $2
+ add hl, bc
+ ld [hli], a
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionc8985: ; c8985 (32:4985)
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ ld d, $6
+ call Functionc905d
+ push af
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ ld d, $2
+ call Functionc905d
+ ld e, a
+ pop af
+ add e
+ call Functionc900b
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ add $8
+ ld [hl], a
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ add $2
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionc89b1: ; c89b1 (32:49b1)
+ call Functionc8f0a
+ ret
+
+; no known jump sources
+Functionc89b5: ; c89b5 (32:49b5)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c89b8: ; c89b8 (32:49b8)
+ dw Functionc89be
+ dw Functionc89ca
+ dw Functionc89da
+
+
+; no known jump sources
+Functionc89be: ; c89be (32:49be)
+ call Functionc80e5
+ call Functionc8eca
+ ld a, $43
+ call Functionc8ede
+ ret
+
+; no known jump sources
+Functionc89ca: ; c89ca (32:49ca)
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ cp $20
+ ret nc
+ inc [hl]
+ ld d, a
+ ld e, $4
+ call Functionc8f2e
+ ret
+
+; no known jump sources
+Functionc89da: ; c89da (32:49da)
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_c89ea
+ dec [hl]
+ ld d, a
+ ld e, $4
+ call Functionc8f2e
+ ret
+.asm_c89ea
+ call Functionc8f0a
+ ret
+
+; no known jump sources
+Functionc89ee: ; c89ee (32:49ee)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c89f1: ; c89f1 (32:49f1)
+ dw Functionc89f7
+ dw Functionc8a14
+ dw Functionc8a36
+
+
+; no known jump sources
+Functionc89f7: ; c89f7 (32:49f7)
+ call Functionc80e5
+ call Functionc8eca
+ ld a, $42
+ call Functionc8ef4
+ ld a, [$FF00+$c8]
+ inc a
+ ld [$FF00+$c8], a
+ ld hl, $2
+ add hl, bc
+ ld [hl], $1
+ ld hl, $3
+ add hl, bc
+ ld [hl], $20
+ ret
+
+; no known jump sources
+Functionc8a14: ; c8a14 (32:4a14)
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ cp $38
+ ret nc
+ push af
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ ld d, $10
+ call Functionc9066
+ add $10
+ ld d, a
+ pop af
+ add d
+ call Functionc901b
+ ld hl, $3
+ add hl, bc
+ inc [hl]
+ inc [hl]
+ ret
+
+; no known jump sources
+Functionc8a36: ; c8a36 (32:4a36)
+ call Functionc8f0a
+ ret
+
+; no known jump sources
+Functionc8a3a: ; c8a3a (32:4a3a)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c8a3d: ; c8a3d (32:4a3d)
+ dw Functionc8a49
+ dw Functionc8a6f
+ dw Functionc8a70
+ dw Functionc8a88
+ dw Functionc8a6f
+ dw Functionc8aac
+
+
+; no known jump sources
+Functionc8a49: ; c8a49 (32:4a49)
+ call Functionc80e5
+ ld a, $e4
+ call Functionc8ecb
+ ld a, $47
+ call Functionc8ede
+ ld a, [$FF00+$c8]
+ inc a
+ ld [$FF00+$c8], a
+ ld a, [$FF00+$c7]
+ ld l, a
+ ld h, $d2
+.asm_c8a60
+ ld a, [$FF00+$c8]
+ cp l
+ jr z, .asm_c8a69
+ xor a
+ ld [hli], a
+ jr .asm_c8a60
+.asm_c8a69
+ ld hl, $3
+ add hl, bc
+ ld [hl], $0
+
+; no known jump sources
+Functionc8a6f: ; c8a6f (32:4a6f)
+ ret
+
+; no known jump sources
+Functionc8a70: ; c8a70 (32:4a70)
+ call Functionc8ab0
+ jr nc, .asm_c8a79
+ call Functionc8a9a
+ ret
+.asm_c8a79
+ ld hl, $3
+ add hl, bc
+ ld [hl], $0
+ ld a, [$FF00+$c7]
+ inc a
+ ld [$FF00+$c7], a
+ call Functionc80e5
+ ret
+
+; no known jump sources
+Functionc8a88: ; c8a88 (32:4a88)
+ call Functionc8ab0
+ jr nc, .asm_c8a96
+ call Functionc8a9a
+ ld a, [$FF00+$c8]
+ dec a
+ ld l, a
+ ld [hl], e
+ ret
+.asm_c8a96
+ call Functionc80e5
+ ret
+
+; known jump sources: c8a75 (32:4a75), c8a8d (32:4a8d)
+Functionc8a9a: ; c8a9a (32:4a9a)
+ ld e, a
+ ld a, [$FF00+$c7]
+ ld l, a
+ ld a, [$FF00+$c8]
+ sub l
+ srl a
+ ld h, $d2
+.asm_c8aa5
+ ld [hl], e
+ inc hl
+ inc hl
+ dec a
+ jr nz, .asm_c8aa5
+ ret
+
+; no known jump sources
+Functionc8aac: ; c8aac (32:4aac)
+ call Functionc8f19
+ ret
+
+; known jump sources: c8a70 (32:4a70), c8a88 (32:4a88)
+Functionc8ab0: ; c8ab0 (32:4ab0)
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ srl a
+ srl a
+ srl a
+ ld e, a
+ ld d, $0
+ ld hl, $4ac7
+ add hl, de
+ ld a, [hl]
+ cp $ff
+ ret
+; c8ac7 (32:4ac7)
+
+INCBIN "baserom.gbc",$c8ac7,$c8acc - $c8ac7
+
+; no known jump sources
+Functionc8acc: ; c8acc (32:4acc)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c8acf: ; c8acf (32:4acf)
+ dw Functionc8ad3
+ dw Functionc8ae5
+
+
+; no known jump sources
+Functionc8ad3: ; c8ad3 (32:4ad3)
+ call Functionc80e5
+ call Functionc8eca
+ ld a, $43
+ call Functionc8ede
+ ld hl, $2
+ add hl, bc
+ ld [hl], $40
+ ret
+
+; no known jump sources
+Functionc8ae5: ; c8ae5 (32:4ae5)
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_c8afc
+ dec [hl]
+ srl a
+ srl a
+ srl a
+ and $f
+ ld d, a
+ ld e, a
+ call Functionc8f2e
+ ret
+.asm_c8afc
+ call Functionc8f0a
+ ret
+
+; no known jump sources
+Functionc8b00: ; c8b00 (32:4b00)
+ ld a, [hCGB] ; $ff00+$e6
+ and a
+ jr nz, asm_c8b7a
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c8b08: ; c8b08 (32:4b08)
+ dw Functionc8b0e
+ dw Functionc8b22
+ dw Functionc8b60
+
+
+; no known jump sources
+Functionc8b0e: ; c8b0e (32:4b0e)
+ call Functionc80e5
+ ld a, $e4
+ call Functionc8ecb
+ ld a, $47
+ ld [hLCDStatCustom], a ; $ff00+$c6
+ xor a
+ ld [$FF00+$c7], a
+ ld a, $60
+ ld [$FF00+$c8], a
+ ret
+
+; no known jump sources
+Functionc8b22: ; c8b22 (32:4b22)
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ ld e, a
+ and $7
+ ret nz
+ ld a, e
+ and $18
+ sla a
+ swap a
+ sla a
+ ld e, a
+ ld d, $0
+ push bc
+ call Functionc9038
+ jr nz, .asm_c8b4d
+ ld hl, $4bd8
+ add hl, de
+ ld a, [hli]
+ ld [$cfc9], a
+ ld d, a
+ ld e, [hl]
+ ld bc, $2f30
+ jr .asm_c8b5b
+.asm_c8b4d
+ ld hl, $4be0
+ add hl, de
+ ld d, [hl]
+ inc hl
+ ld a, [hl]
+ ld [$cfc9], a
+ ld e, a
+ ld bc, $3728
+.asm_c8b5b
+ call Functionc8b6c
+ pop bc
+ ret
+
+; no known jump sources
+Functionc8b60: ; c8b60 (32:4b60)
+ call Functionc8f19
+ ld a, $e4
+ ld [$cfc7], a
+ ld [$cfc9], a
+ ret
+
+; known jump sources: c8b5b (32:4b5b)
+Functionc8b6c: ; c8b6c (32:4b6c)
+ ld hl, $d200
+.asm_c8b6f
+ ld [hl], d
+ inc hl
+ dec b
+ jr nz, .asm_c8b6f
+.asm_c8b74
+ ld [hl], e
+ inc hl
+ dec c
+ jr nz, .asm_c8b74
+ ret
+asm_c8b7a: ; c8b7a (32:4b7a)
+ ld de, $4b81
+ call Functionc80ca
+ jp [hl]
+; c8b81 (32:4b81)
+
+INCBIN "baserom.gbc",$c8b81,$c8be8 - $c8b81
+
+; no known jump sources
+Functionc8be8: ; c8be8 (32:4be8)
+ ld de, $4bef
+ call Functionc8d77
+ ret
+; c8bef (32:4bef)
+
+INCBIN "baserom.gbc",$c8bef,$c8bf2 - $c8bef
+
+; no known jump sources
+Functionc8bf2: ; c8bf2 (32:4bf2)
+ ld de, $4bf9
+ call Functionc8d77
+ ret
+; c8bf9 (32:4bf9)
+
+INCBIN "baserom.gbc",$c8bf9,$c8bfd - $c8bf9
+
+; no known jump sources
+Functionc8bfd: ; c8bfd (32:4bfd)
+ ld de, $4c04
+ call Functionc8d77
+ ret
+; c8c04 (32:4c04)
+
+INCBIN "baserom.gbc",$c8c04,$c8c08 - $c8c04
+
+; no known jump sources
+Functionc8c08: ; c8c08 (32:4c08)
+ ld de, $4c0f
+ call Functionc8d77
+ ret
+; c8c0f (32:4c0f)
+
+INCBIN "baserom.gbc",$c8c0f,$c8c14 - $c8c0f
+
+; no known jump sources
+Functionc8c14: ; c8c14 (32:4c14)
+ ld de, $4c1b
+ call Functionc8d77
+ ret
+; c8c1b (32:4c1b)
+
+INCBIN "baserom.gbc",$c8c1b,$c8c20 - $c8c1b
+
+; no known jump sources
+Functionc8c20: ; c8c20 (32:4c20)
+ ld de, $4c27
+ call Functionc8d77
+ ret
+; c8c27 (32:4c27)
+
+INCBIN "baserom.gbc",$c8c27,$c8c30 - $c8c27
+
+; no known jump sources
+Functionc8c30: ; c8c30 (32:4c30)
+ ld de, $4c37
+ call Functionc8d77
+ ret
+; c8c37 (32:4c37)
+
+INCBIN "baserom.gbc",$c8c37,$c8c3c - $c8c37
+
+; no known jump sources
+Functionc8c3c: ; c8c3c (32:4c3c)
+ ld de, $4c43
+ call Functionc8d77
+ ret
+; c8c43 (32:4c43)
+
+INCBIN "baserom.gbc",$c8c43,$c8c55 - $c8c43
+
+; no known jump sources
+Functionc8c55: ; c8c55 (32:4c55)
+ ld de, $4c5c
+ call Functionc8d77
+ ret
+; c8c5c (32:4c5c)
+
+INCBIN "baserom.gbc",$c8c5c,$c8c61 - $c8c5c
+
+; no known jump sources
+Functionc8c61: ; c8c61 (32:4c61)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c8c64: ; c8c64 (32:4c64)
+ dw Functionc8c68
+ dw Functionc8c85
+
+
+; no known jump sources
+Functionc8c68: ; c8c68 (32:4c68)
+ call Functionc80e5
+ call Functionc8eca
+ ld a, $43
+ call Functionc8ede
+ ld a, [$FF00+$c8]
+ inc a
+ ld [$FF00+$c8], a
+ ld hl, $2
+ add hl, bc
+ ld [hl], $1
+ ld hl, $3
+ add hl, bc
+ ld [hl], $20
+ ret
+
+; no known jump sources
+Functionc8c85: ; c8c85 (32:4c85)
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_c8c9e
+ dec [hl]
+ and $1
+ ret nz
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ xor $ff
+ inc a
+ ld [hl], a
+ call Functionc900b
+ ret
+.asm_c8c9e
+ call Functionc8f0a
+ ret
+
+; no known jump sources
+Functionc8ca2: ; c8ca2 (32:4ca2)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c8ca5: ; c8ca5 (32:4ca5)
+ dw Functionc8cab
+ dw Functionc8cc3
+ dw Functionc8cdd
+
+
+; no known jump sources
+Functionc8cab: ; c8cab (32:4cab)
+ call Functionc80e5
+ call Functionc8eca
+ ld a, $43
+ ld [hLCDStatCustom], a ; $ff00+$c6
+ xor a
+ ld [$FF00+$c7], a
+ ld a, $37
+ ld [$FF00+$c8], a
+ ld hl, $3
+ add hl, bc
+ ld [hl], $0
+ ret
+
+; no known jump sources
+Functionc8cc3: ; c8cc3 (32:4cc3)
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ cp $40
+ jr nc, Functionc8cdd
+ ld d, $6
+ call Functionc905d
+ call Functionc900b
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ add $2
+ ld [hl], a
+ ret
+
+; known jump sources: c8cca (32:4cca)
+Functionc8cdd: ; c8cdd (32:4cdd)
+ call Functionc8f0a
+ ret
+
+; no known jump sources
+Functionc8ce1: ; c8ce1 (32:4ce1)
+ call Functionc8d0b
+ jr c, .asm_c8cea
+ bit 7, a
+ jr z, .asm_c8ceb
+.asm_c8cea
+ xor a
+.asm_c8ceb
+ push af
+ call DelayFrame
+ pop af
+ ld [hSCY], a ; $ff00+$d0
+ xor $ff
+ inc a
+ ld [$d314], a
+ ret
+
+; no known jump sources
+Functionc8cf9: ; c8cf9 (32:4cf9)
+ call Functionc8d0b
+ jr nc, .asm_c8cff
+ xor a
+.asm_c8cff
+ ld [hSCX], a ; $ff00+$cf
+ ret
+
+; no known jump sources
+Functionc8d02: ; c8d02 (32:4d02)
+ call Functionc8d0b
+ jr nc, .asm_c8d08
+ xor a
+.asm_c8d08
+ ld [hSCY], a ; $ff00+$d0
+ ret
+
+; known jump sources: c8ce1 (32:4ce1), c8cf9 (32:4cf9), c8d02 (32:4d02)
+Functionc8d0b: ; c8d0b (32:4d0b)
+ ld hl, $1
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr nz, .asm_c8d18
+ call Functionc8043
+ scf
+ ret
+.asm_c8d18
+ dec [hl]
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ and $f
+ jr z, .asm_c8d2a
+ dec [hl]
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ and a
+ ret
+.asm_c8d2a
+ ld a, [hl]
+ swap a
+ or [hl]
+ ld [hl], a
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ xor $ff
+ inc a
+ ld [hl], a
+ and a
+ ret
+
+; no known jump sources
+Functionc8d3a: ; c8d3a (32:4d3a)
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ cp $40
+ jr nc, .asm_c8d53
+ ld d, $6
+ call Functionc905d
+ ld [hSCX], a ; $ff00+$cf
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ add $2
+ ld [hl], a
+ ret
+.asm_c8d53
+ xor a
+ ld [hSCX], a ; $ff00+$cf
+ ret
+
+; known jump sources: c8130 (32:4130), c8144 (32:4144), c8158 (32:4158), c817e (32:417e), c8198 (32:4198), c81a8 (32:41a8)
+Functionc8d57: ; c8d57 (32:4d57)
+ ld hl, $1
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_c8d69
+ dec [hl]
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ call Functionc8eb2
+ ret
+.asm_c8d69
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ ld hl, $1
+ add hl, bc
+ ld [hl], a
+ call Functionc8eac
+ ret
+
+; known jump sources: c8beb (32:4beb), c8bf5 (32:4bf5), c8c00 (32:4c00), c8c0b (32:4c0b), c8c17 (32:4c17), c8c23 (32:4c23), c8c33 (32:4c33), c8c3f (32:4c3f), c8c58 (32:4c58)
+Functionc8d77: ; c8d77 (32:4d77)
+ ld a, [hCGB] ; $ff00+$e6
+ and a
+ jr nz, asm_c8dd4
+ push de
+ ld de, $4d85
+ call Functionc80ca
+ pop de
+ jp [hl]
+
+; no known jump sources
+Jumptable_c8d85: ; c8d85 (32:4d85)
+ dw Functionc8d8b
+ dw Functionc8daa
+ dw Functionc8dc9
+
+
+; no known jump sources
+Functionc8d8b: ; c8d8b (32:4d8b)
+ call Functionc80e5
+ ld a, $e4
+ call Functionc8ecb
+ ld a, $47
+ call Functionc8ede
+ ld a, [$FF00+$c8]
+ inc a
+ ld [$FF00+$c8], a
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ ld [hl], $0
+ ld hl, $2
+ add hl, bc
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionc8daa: ; c8daa (32:4daa)
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ and $f
+ jr z, .asm_c8db5
+ dec [hl]
+ ret
+.asm_c8db5
+ ld a, [hl]
+ swap a
+ or [hl]
+ ld [hl], a
+ call Functionc8eac
+ jr c, .asm_c8dc3
+ call Functionc900b
+ ret
+.asm_c8dc3
+ ld hl, $3
+ add hl, bc
+ dec [hl]
+ ret
+
+; no known jump sources
+Functionc8dc9: ; c8dc9 (32:4dc9)
+ call Functionc8f19
+ ld a, $e4
+ ld [rBGP], a ; $ff00+$47
+ call Functionc8043
+ ret
+asm_c8dd4: ; c8dd4 (32:4dd4)
+ push de
+ ld de, $4ddd
+ call Functionc80ca
+ pop de
+ jp [hl]
+
+; no known jump sources
+Jumptable_c8ddd: ; c8ddd (32:4ddd)
+ dw Functionc8de7
+ dw Functionc8e02
+ dw Functionc8e21
+ dw Functionc8e2a
+ dw Functionc8e49
+
+
+; no known jump sources
+Functionc8de7: ; c8de7 (32:4de7)
+ call Functionc9038
+ jr nz, .asm_c8df2
+ call Functionc80e5
+ call Functionc80e5
+.asm_c8df2
+ call Functionc80e5
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ ld [hl], $0
+ ld hl, $2
+ add hl, bc
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionc8e02: ; c8e02 (32:4e02)
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ and $f
+ jr z, .asm_c8e0d
+ dec [hl]
+ ret
+.asm_c8e0d
+ ld a, [hl]
+ swap a
+ or [hl]
+ ld [hl], a
+ call Functionc8eac
+ jr c, .asm_c8e1b
+ call Functionc8e52
+ ret
+.asm_c8e1b
+ ld hl, $3
+ add hl, bc
+ dec [hl]
+ ret
+
+; no known jump sources
+Functionc8e21: ; c8e21 (32:4e21)
+ ld a, $e4
+ call Functionc8e52
+ call Functionc8043
+ ret
+
+; no known jump sources
+Functionc8e2a: ; c8e2a (32:4e2a)
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ and $f
+ jr z, .asm_c8e35
+ dec [hl]
+ ret
+.asm_c8e35
+ ld a, [hl]
+ swap a
+ or [hl]
+ ld [hl], a
+ call Functionc8eac
+ jr c, .asm_c8e43
+ call Functionc8e7f
+ ret
+.asm_c8e43
+ ld hl, $3
+ add hl, bc
+ dec [hl]
+ ret
+
+; no known jump sources
+Functionc8e49: ; c8e49 (32:4e49)
+ ld a, $e4
+ call Functionc8e7f
+ call Functionc8043
+ ret
+
+; known jump sources: c8e17 (32:4e17), c8e23 (32:4e23)
+Functionc8e52: ; c8e52 (32:4e52)
+ ld h, a
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $5
+ ld [rSVBK], a ; $ff00+$70
+ ld a, h
+ push bc
+ push af
+ ld hl, BGPals ; $d080
+ ld de, Unkn1Pals ; $d000
+ ld b, a
+ ld c, $1
+ call CopyPals
+ ld hl, $d0c8
+ ld de, $d048
+ pop af
+ ld b, a
+ ld c, $1
+ call CopyPals
+ pop bc
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ ld a, $1
+ ld [hCGBPalUpdate], a ; $ff00+$e5
+ ret
+
+; known jump sources: c8e3f (32:4e3f), c8e4b (32:4e4b)
+Functionc8e7f: ; c8e7f (32:4e7f)
+ ld h, a
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $5
+ ld [rSVBK], a ; $ff00+$70
+ ld a, h
+ push bc
+ push af
+ ld hl, $d088
+ ld de, $d008
+ ld b, a
+ ld c, $1
+ call CopyPals
+ ld hl, OBPals ; $d0c0
+ ld de, MartPointer ; $d040 (aliases: Unkn2Pals)
+ pop af
+ ld b, a
+ ld c, $1
+ call CopyPals
+ pop bc
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ ld a, $1
+ ld [hCGBPalUpdate], a ; $ff00+$e5
+ ret
+
+; known jump sources: c8d73 (32:4d73), c8dba (32:4dba), c8e12 (32:4e12), c8e3a (32:4e3a)
+Functionc8eac: ; c8eac (32:4eac)
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+
+; known jump sources: c8d65 (32:4d65)
+Functionc8eb2: ; c8eb2 (32:4eb2)
+ ld l, a
+ ld h, $0
+ add hl, de
+ ld a, [hl]
+ cp $ff
+ jr z, .asm_c8ec8
+ cp $fe
+ jr nz, .asm_c8ec6
+ ld a, [de]
+ ld hl, $3
+ add hl, bc
+ ld [hl], $0
+.asm_c8ec6
+ and a
+ ret
+.asm_c8ec8
+ scf
+ ret
+
+; known jump sources: c85a5 (32:45a5), c85c2 (32:45c2), c85fc (32:45fc), c8613 (32:4613), c864b (32:464b), c866e (32:466e), c869b (32:469b), c8715 (32:4715), c876d (32:476d), c87b5 (32:47b5), c8813 (32:4813), c8845 (32:4845), c88f9 (32:48f9), c8936 (32:4936), c8970 (32:4970), c89c1 (32:49c1), c89fa (32:49fa), c8ad6 (32:4ad6), c8c6b (32:4c6b), c8cae (32:4cae), c8f0f (32:4f0f), c8f2a (32:4f2a)
+Functionc8eca: ; c8eca (32:4eca)
+ xor a
+
+; known jump sources: c8a4e (32:4a4e), c8b13 (32:4b13), c8d90 (32:4d90)
+Functionc8ecb: ; c8ecb (32:4ecb)
+ ld hl, CurMartEnd ; $d100 (aliases: LYOverrides)
+ ld e, $99
+.asm_c8ed0
+ ld [hli], a
+ dec e
+ jr nz, .asm_c8ed0
+ ld hl, $d200
+ ld e, $91
+.asm_c8ed9
+ ld [hli], a
+ dec e
+ jr nz, .asm_c8ed9
+ ret
+
+; known jump sources: c85c7 (32:45c7), c8650 (32:4650), c8673 (32:4673), c86a0 (32:46a0), c871a (32:471a), c8772 (32:4772), c87ba (32:47ba), c8818 (32:4818), c88fe (32:48fe), c893b (32:493b), c8975 (32:4975), c89c6 (32:49c6), c8a53 (32:4a53), c8adb (32:4adb), c8c70 (32:4c70), c8d95 (32:4d95)
+Functionc8ede: ; c8ede (32:4ede)
+ ld [hLCDStatCustom], a ; $ff00+$c6
+ call Functionc9038
+ jr nz, .asm_c8eea
+ ld de, $36
+ jr .asm_c8eed
+.asm_c8eea
+ ld de, $2f5e
+.asm_c8eed
+ ld a, d
+ ld [$FF00+$c7], a
+ ld a, e
+ ld [$FF00+$c8], a
+ ret
+
+; known jump sources: c884a (32:484a), c89ff (32:49ff)
+Functionc8ef4: ; c8ef4 (32:4ef4)
+ ld [hLCDStatCustom], a ; $ff00+$c6
+ call Functionc9038
+ jr nz, .asm_c8f00
+ ld de, $36
+ jr .asm_c8f03
+.asm_c8f00
+ ld de, $2d5e
+.asm_c8f03
+ ld a, d
+ ld [$FF00+$c7], a
+ ld a, e
+ ld [$FF00+$c8], a
+ ret
+
+; known jump sources: c8561 (32:4561), c85be (32:45be), c8603 (32:4603), c863b (32:463b), c865e (32:465e), c8685 (32:4685), c8705 (32:4705), c875d (32:475d), c87a3 (32:47a3), c8801 (32:4801), c8833 (32:4833), c8865 (32:4865), c88f2 (32:48f2), c8926 (32:4926), c8960 (32:4960), c89b1 (32:49b1), c89ea (32:49ea), c8a36 (32:4a36), c8afc (32:4afc), c8c9e (32:4c9e), c8cdd (32:4cdd)
+Functionc8f0a: ; c8f0a (32:4f0a)
+ xor a
+ ld [$FF00+$c7], a
+ ld [$FF00+$c8], a
+ call Functionc8eca
+ xor a
+ ld [hLCDStatCustom], a ; $ff00+$c6
+ call Functionc8043
+ ret
+
+; known jump sources: c8aac (32:4aac), c8b60 (32:4b60), c8dc9 (32:4dc9)
+Functionc8f19: ; c8f19 (32:4f19)
+ xor a
+ ld [hLCDStatCustom], a ; $ff00+$c6
+ ld a, $e4
+ ld [rBGP], a ; $ff00+$47
+ ld [$cfc7], a
+ ld [$cfc9], a
+ ld [$FF00+$c7], a
+ ld [$FF00+$c8], a
+ call Functionc8eca
+ ret
+
+; known jump sources: c85b6 (32:45b6), c8624 (32:4624), c8656 (32:4656), c867d (32:467d), c8724 (32:4724), c89d6 (32:49d6), c89e6 (32:49e6), c8af8 (32:4af8)
+Functionc8f2e: ; c8f2e (32:4f2e)
+ push bc
+ xor a
+ ld [$d419], a
+ ld a, e
+ ld [$d41a], a
+ ld a, d
+ ld [$d41b], a
+ ld a, $80
+ ld [$d41c], a
+ ld bc, $d200
+.asm_c8f43
+ ld a, [$FF00+$c7]
+ cp c
+ jr nc, .asm_c8f58
+ ld a, [$FF00+$c8]
+ cp c
+ jr c, .asm_c8f58
+ ld a, [$d41b]
+ ld d, a
+ ld a, [$d419]
+ call Functionc905d
+ ld [bc], a
+.asm_c8f58
+ inc bc
+ ld a, [$d41a]
+ ld hl, $d419
+ add [hl]
+ ld [hl], a
+ ld hl, $d41c
+ dec [hl]
+ jr nz, .asm_c8f43
+ pop bc
+ ret
+
+; known jump sources: c8554 (32:4554)
+Functionc8f69: ; c8f69 (32:4f69)
+ push bc
+ xor a
+ ld [$d419], a
+ ld a, e
+ ld [$d41a], a
+ ld a, d
+ ld [$d41b], a
+ ld a, $40
+ ld [$d41c], a
+ ld bc, $d422
+.asm_c8f7e
+ ld a, [$d41b]
+ ld d, a
+ ld a, [$d419]
+ call Functionc905d
+ ld [bc], a
+ inc bc
+ ld a, [$d41a]
+ ld hl, $d419
+ add [hl]
+ ld [hl], a
+ ld hl, $d41c
+ dec [hl]
+ jr nz, .asm_c8f7e
+ pop bc
+ ret
+
+; known jump sources: c85f8 (32:45f8)
+Functionc8f9a: ; c8f9a (32:4f9a)
+ push bc
+ ld [$d41c], a
+ ld a, e
+ ld [$d41a], a
+ ld a, d
+ ld [$d41b], a
+ call Functionc8fe4
+ ld hl, $d200
+ add hl, de
+ ld c, l
+ ld b, h
+.asm_c8faf
+ ld a, [$d41c]
+ and a
+ jr z, .asm_c8fe1
+ dec a
+ ld [$d41c], a
+ push af
+ ld a, [$d41b]
+ ld d, a
+ ld a, [$d41a]
+ push hl
+ call Functionc905d
+ ld e, a
+ pop hl
+ ld a, [$FF00+$c8]
+ cp c
+ jr c, .asm_c8fcf
+ ld a, e
+ ld [bc], a
+ inc bc
+.asm_c8fcf
+ ld a, [$FF00+$c7]
+ cp l
+ jr nc, .asm_c8fd6
+ ld [hl], e
+ dec hl
+.asm_c8fd6
+ ld a, [$d41a]
+ add $4
+ ld [$d41a], a
+ pop af
+ jr .asm_c8faf
+.asm_c8fe1
+ pop bc
+ and a
+ ret
+
+; known jump sources: c8fa6 (32:4fa6)
+Functionc8fe4: ; c8fe4 (32:4fe4)
+ ld a, [$FF00+$c7]
+ ld e, a
+ ld a, [$d419]
+ add e
+ ld e, a
+ ld d, $0
+ ret
+
+; known jump sources: c85ba (32:45ba), c8637 (32:4637), c865a (32:465a), c8681 (32:4681)
+Functionc8fef: ; c8fef (32:4fef)
+ push bc
+ ld a, [$FF00+$c7]
+ ld l, a
+ inc a
+ ld e, a
+ ld h, $d2
+ ld d, h
+ ld a, [$FF00+$c8]
+ sub l
+ and a
+ jr z, .asm_c9009
+ ld c, a
+ ld a, [hl]
+ push af
+.asm_c9001
+ ld a, [de]
+ inc de
+ ld [hli], a
+ dec c
+ jr nz, .asm_c9001
+ pop af
+ ld [hl], a
+.asm_c9009
+ pop bc
+ ret
+
+; known jump sources: c88b4 (32:48b4), c8954 (32:4954), c899d (32:499d), c8c9a (32:4c9a), c8cd1 (32:4cd1), c8dbf (32:4dbf)
+Functionc900b: ; c900b (32:500b)
+ push af
+ ld h, $d2
+ ld a, [$FF00+$c7]
+ ld l, a
+ ld a, [$FF00+$c8]
+ sub l
+ ld d, a
+ pop af
+.asm_c9016
+ ld [hli], a
+ dec d
+ jr nz, .asm_c9016
+ ret
+
+; known jump sources: c8790 (32:4790), c87f7 (32:47f7), c8a2c (32:4a2c)
+Functionc901b: ; c901b (32:501b)
+ push af
+ ld e, a
+ ld a, [$FF00+$c7]
+ ld l, a
+ ld a, [$FF00+$c8]
+ sub l
+ sub e
+ ld d, a
+ ld h, $d2
+ ld a, [$FF00+$c7]
+ ld l, a
+ ld a, $90
+.asm_c902c
+ ld [hli], a
+ dec e
+ jr nz, .asm_c902c
+ pop af
+ xor $ff
+.asm_c9033
+ ld [hli], a
+ dec d
+ jr nz, .asm_c9033
+ ret
+
+; known jump sources: c81c4 (32:41c4), c81f3 (32:41f3), c8234 (32:4234), c825e (32:425e), c82a1 (32:42a1), c82cb (32:42cb), c8305 (32:4305), c837b (32:437b), c83a8 (32:43a8), c8826 (32:4826), c8858 (32:4858), c890c (32:490c), c8b39 (32:4b39), c8de7 (32:4de7), c8ee0 (32:4ee0), c8ef6 (32:4ef6)
+Functionc9038: ; c9038 (32:5038)
+ ld hl, $2
+ add hl, bc
+ ld a, [hBattleTurn] ; $ff00+$e4
+ and $1
+ xor [hl]
+ ret
+
+; known jump sources: c81ea (32:41ea), c8223 (32:4223), c8290 (32:4290)
+Functionc9042: ; c9042 (32:5042)
+ ld hl, $2
+ add hl, bc
+ ld a, [hBattleTurn] ; $ff00+$e4
+ and $1
+ xor [hl]
+ jr nz, .asm_c9053
+ ld a, [EnemySubStatus3] ; $c66f
+ and $60
+ ret
+.asm_c9053
+ ld a, [PlayerSubStatus3] ; $c66a
+ and $60
+ ret
+
+; known jump sources: c8171 (32:4171), c818b (32:418b)
+Functionc9059: ; c9059 (32:5059)
+ ld a, [hSGB] ; $ff00+$e7
+ and a
+ ret
+
+; known jump sources: c86d6 (32:46d6), c8951 (32:4951), c898c (32:498c), c8997 (32:4997), c8cce (32:4cce), c8d45 (32:4d45), c8f54 (32:4f54), c8f85 (32:4f85), c8fc2 (32:4fc2)
+Functionc905d: ; c905d (32:505d)
+ ld e, a
+ ld hl, Functionce765
+ ld a, BANK(Functionce765)
+ rst $8 ; ; indirect jump to Functionce765 (ce765 (33:6765))
+ ld a, e
+ ret
+
+; known jump sources: c8a24 (32:4a24)
+Functionc9066: ; c9066 (32:5066)
+ ld e, a
+ ld hl, Functionce76b
+ ld a, BANK(Functionce76b)
+ rst $8 ; ; indirect jump to Functionce76b (ce76b (33:676b))
+ ld a, e
+ ret
+; c906f (32:506f)
+
+INCBIN "baserom.gbc",$c906f,$cbcdd - $c906f
+
Functioncbcdd: ; cbcdd
call Functioncbce5
ld a, [hCGB]
@@ -68268,7 +92168,7 @@
ret
; cbd2e
-INCBIN "baserom.gbc", $cbd2e, $cbe2b - $cbd2e
+INCBIN "baserom.gbc",$cbd2e,$cbe2b - $cbd2e
SECTION "bank33",ROMX,BANK[$33]
@@ -68339,7 +92239,7 @@
ret
; cc0a7
-INCBIN "baserom.gbc", $cc0a7, $cc0c7 - $cc0a7
+INCBIN "baserom.gbc",$cc0a7,$cc0c7 - $cc0a7
Functioncc0c7: ; cc0c7
@@ -68348,7 +92248,7 @@
jp PrintText
; cc0d0
-INCBIN "baserom.gbc", $cc0d0, $cc0d5 - $cc0d0
+INCBIN "baserom.gbc",$cc0d0,$cc0d5 - $cc0d0
Functioncc0d5: ; cc0d5
ret
@@ -68550,7 +92450,7 @@
ret
; cc220
-INCBIN "baserom.gbc", $cc220, $cc23d - $cc220
+INCBIN "baserom.gbc",$cc220,$cc23d - $cc220
Functioncc23d: ; cc23d
@@ -68638,9 +92538,970 @@
jp [hl]
; cc2a4
-INCBIN "baserom.gbc", $cc2a4, $cc881 - $cc2a4
+; no known jump sources
+Jumptable_cc2a4: ; cc2a4 (33:42a4)
+ dw Functioncc41f
+ dw Functioncc485
+ dw Functioncc485
+ dw Functioncc485
+ dw Functioncc485
+ dw Functioncc485
+ dw Functioncc4c0
+ dw Functioncc506
+ dw Functioncc4e3
+ dw Functioncc52c
+ dw Functioncc57e
+ dw Functioncc5d0
+ dw Functioncc5dc
+ dw Functioncc640
+ dw Functioncc750
+ dw Functioncc46c
+ dw Functioncc7cd
+ dw Functioncc807
+ dw Functioncc6cf
+ dw Functioncc7bb
+ dw Functioncc7bf
+ dw Functioncc479
+ dw Functioncc776
+ dw Functioncc5db
+ dw Functioncc622
+ dw Functioncc735
+ dw Functioncc304
+ dw Functioncc304
+ dw Functioncc304
+ dw Functioncc304
+ dw Functioncc3fa
+ dw Functioncc383
+ dw Functioncc43b
+ dw Functioncc457
+ dw Functioncc45e
+ dw Functioncc465
+ dw Functioncc7c4
+ dw Functioncc7ca
+ dw Functioncc7cb
+ dw Functioncc7cc
+ dw Functioncc3d6
+ dw Functioncc3a6
+ dw Functioncc3ad
+ dw Functioncc3b2
+ dw Functioncc339
+ dw Functioncc348
+ dw Functioncc317
+ dw Functioncc305
+
+; no known jump sources
+Functioncc304: ; cc304 (33:4304)
+ ret
+
+; no known jump sources
+Functioncc305: ; cc305 (33:4305)
+ ld hl, $d40f
+ res 1, [hl]
+ ld hl, $d413
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ ld hl, $d410
+ ld [hl], e
+ inc hl
+ ld [hl], d
+ ret
+
+; no known jump sources
+Functioncc317: ; cc317 (33:4317)
+ call Function3af0
+ ld e, a
+ call Function3af0
+ ld d, a
+ push de
+ ld hl, $d410
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ ld hl, $d413
+ ld [hl], e
+ inc hl
+ ld [hl], d
+ pop de
+ ld hl, $d410
+ ld [hl], e
+ inc hl
+ ld [hl], d
+ ld hl, $d40f
+ set 1, [hl]
+ ret
+
+; no known jump sources
+Functioncc339: ; cc339 (33:4339)
+ call Function3af0
+ ld e, a
+ call Function3af0
+ ld d, a
+ ld hl, $d410
+ ld [hl], e
+ inc hl
+ ld [hl], d
+ ret
+
+; no known jump sources
+Functioncc348: ; cc348 (33:4348)
+ call Function3af0
+ ld hl, $d40f
+ bit 2, [hl]
+ jr nz, .asm_cc35b
+ and a
+ jr z, .asm_cc363
+ dec a
+ set 2, [hl]
+ ld [$d415], a
+.asm_cc35b
+ ld hl, $d415
+ ld a, [hl]
+ and a
+ jr z, .asm_cc372
+ dec [hl]
+.asm_cc363
+ call Function3af0
+ ld e, a
+ call Function3af0
+ ld d, a
+ ld hl, $d410
+ ld [hl], e
+ inc hl
+ ld [hl], d
+ ret
+.asm_cc372
+ ld hl, $d40f
+ res 2, [hl]
+ ld hl, $d410
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ inc de
+ inc de
+ ld [hl], d
+ dec hl
+ ld [hl], e
+ ret
+
+; no known jump sources
+Functioncc383: ; cc383 (33:4383)
+ ld hl, $c689
+ ld a, [hl]
+ and a
+ jr z, .asm_cc39a
+ dec [hl]
+ call Function3af0
+ ld e, a
+ call Function3af0
+ ld d, a
+ ld hl, $d410
+ ld [hl], e
+ inc hl
+ ld [hl], d
+ ret
+.asm_cc39a
+ ld hl, $d410
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ inc de
+ inc de
+ ld [hl], d
+ dec hl
+ ld [hl], e
+ ret
+
+; no known jump sources
+Functioncc3a6: ; cc3a6 (33:43a6)
+ call Function3af0
+ ld [$d416], a
+ ret
+
+; no known jump sources
+Functioncc3ad: ; cc3ad (33:43ad)
+ ld hl, $d416
+ inc [hl]
+ ret
+
+; no known jump sources
+Functioncc3b2: ; cc3b2 (33:43b2)
+ call Function3af0
+ ld hl, $d416
+ cp [hl]
+ jr z, .asm_cc3c7
+ ld hl, $d410
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ inc de
+ inc de
+ ld [hl], d
+ dec hl
+ ld [hl], e
+ ret
+.asm_cc3c7
+ call Function3af0
+ ld e, a
+ call Function3af0
+ ld d, a
+ ld hl, $d410
+ ld [hl], e
+ inc hl
+ ld [hl], d
+ ret
+
+; no known jump sources
+Functioncc3d6: ; cc3d6 (33:43d6)
+ call Function3af0
+ ld hl, $c689
+ cp [hl]
+ jr z, .asm_cc3eb
+ ld hl, $d410
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ inc de
+ inc de
+ ld [hl], d
+ dec hl
+ ld [hl], e
+ ret
+.asm_cc3eb
+ call Function3af0
+ ld e, a
+ call Function3af0
+ ld d, a
+ ld hl, $d410
+ ld [hl], e
+ inc hl
+ ld [hl], d
+ ret
+
+; no known jump sources
+Functioncc3fa: ; cc3fa (33:43fa)
+ call Function3af0
+ ld e, a
+ ld a, [$c689]
+ and e
+ jr nz, .asm_cc410
+ ld hl, $d410
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ inc de
+ inc de
+ ld [hl], d
+ dec hl
+ ld [hl], e
+ ret
+.asm_cc410
+ call Function3af0
+ ld e, a
+ call Function3af0
+ ld d, a
+ ld hl, $d410
+ ld [hl], e
+ inc hl
+ ld [hl], d
+ ret
+
+; no known jump sources
+Functioncc41f: ; cc41f (33:441f)
+ call Function3af0
+ ld [$d419], a
+ call Function3af0
+ ld [$d41a], a
+ call Function3af0
+ ld [$d41b], a
+ call Function3af0
+ ld [$d41c], a
+ call Functioncc9a1
+ ret
+
+; no known jump sources
+Functioncc43b: ; cc43b (33:443b)
+ call Function3af0
+ ld [$d419], a
+ call Function3af0
+ ld [$d41a], a
+ call Function3af0
+ ld [$d41b], a
+ call Function3af0
+ ld [$d41c], a
+ call Functionccb4f
+ ret
+
+; no known jump sources
+Functioncc457: ; cc457 (33:4457)
+ call Function3af0
+ ld [$cfc7], a
+ ret
+
+; no known jump sources
+Functioncc45e: ; cc45e (33:445e)
+ call Function3af0
+ ld [$cfc8], a
+ ret
+
+; no known jump sources
+Functioncc465: ; cc465 (33:4465)
+ call Function3af0
+ ld [$cfc9], a
+ ret
+
+; no known jump sources
+Functioncc46c: ; cc46c (33:446c)
+ ld a, [hSGB] ; $ff00+$e7
+ and a
+ ld a, $e0
+ jr z, .asm_cc475
+ ld a, $f0
+.asm_cc475
+ ld [$cfc8], a
+ ret
+
+; no known jump sources
+Functioncc479: ; cc479 (33:4479)
+ ld hl, $d30a
+ ld a, $a0
+.asm_cc47e
+ ld [hl], $0
+ inc hl
+ dec a
+ jr nz, .asm_cc47e
+ ret
+
+; no known jump sources
+Functioncc485: ; cc485 (33:4485)
+ ld a, [$d417]
+ and $f
+ ld c, a
+ ld hl, $d300
+ xor a
+ ld [$d419], a
+.asm_cc492
+ ld a, [$d419]
+ cp $4f
+ ret nc
+ call Function3af0
+ ld [hli], a
+ ld a, [$d419]
+ ld [hli], a
+ push bc
+ push hl
+ ld l, a
+ ld h, $0
+ add hl, hl
+ add hl, hl
+ add hl, hl
+ add hl, hl
+ ld de, $8310
+ add hl, de
+ ld a, [$d417]
+ call Functionce846
+ ld a, [$d419]
+ add c
+ ld [$d419], a
+ pop hl
+ pop bc
+ dec c
+ jr nz, .asm_cc492
+ ret
+
+; no known jump sources
+Functioncc4c0: ; cc4c0 (33:44c0)
+ call Function3af0
+ ld e, $a
+ ld bc, $d30a
+.asm_cc4c8
+ ld hl, $0
+ add hl, bc
+ ld d, [hl]
+ ld a, [$d417]
+ cp d
+ jr z, .asm_cc4dd
+ ld hl, $18
+ add hl, bc
+ ld c, l
+ ld b, h
+ dec e
+ jr nz, .asm_cc4c8
+ ret
+.asm_cc4dd
+ ld hl, $e
+ add hl, bc
+ inc [hl]
+ ret
+
+; no known jump sources
+Functioncc4e3: ; cc4e3 (33:44e3)
+ call Function3af0
+ ld e, $5
+ ld bc, $d3fa
+.asm_cc4eb
+ ld hl, $0
+ add hl, bc
+ ld d, [hl]
+ ld a, [$d417]
+ cp d
+ jr z, .asm_cc500
+ ld hl, $4
+ add hl, bc
+ ld c, l
+ ld b, h
+ dec e
+ jr nz, .asm_cc4eb
+ ret
+.asm_cc500
+ ld hl, $1
+ add hl, bc
+ inc [hl]
+ ret
+
+; no known jump sources
+Functioncc506: ; cc506 (33:4506)
+ call Function3af0
+ ld e, $a
+ ld bc, $d30a
+.asm_cc50e
+ ld hl, $0
+ add hl, bc
+ ld d, [hl]
+ ld a, [$d417]
+ cp d
+ jr z, .asm_cc523
+ ld hl, $18
+ add hl, bc
+ ld c, l
+ ld b, h
+ dec e
+ jr nz, .asm_cc50e
+ ret
+.asm_cc523
+ call Function3af0
+ ld hl, $e
+ add hl, bc
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functioncc52c: ; cc52c (33:452c)
+ ld hl, $d300
+.asm_cc52f
+ ld a, [hl]
+ and a
+ jr z, .asm_cc537
+ inc hl
+ inc hl
+ jr .asm_cc52f
+.asm_cc537
+ ld a, $28
+ ld [hli], a
+ ld a, $42
+ ld [hli], a
+ ld a, $29
+ ld [hli], a
+ ld a, $49
+ ld [hl], a
+ ld hl, $8730
+ ld de, $9060
+ ld a, $70
+ ld [$d419], a
+ ld a, $7
+ call Functioncc561
+ ld de, $9310
+ ld a, $60
+ ld [$d419], a
+ ld a, $6
+ call Functioncc561
+ ret
+
+; known jump sources: cc550 (33:4550), cc55d (33:455d), cc57b (33:457b)
+Functioncc561: ; cc561 (33:4561)
+ push af
+ push hl
+ push de
+ ld bc, $3301
+ call Request2bpp
+ pop de
+ ld a, [$d419]
+ ld l, a
+ ld h, $0
+ add hl, de
+ ld e, l
+ ld d, h
+ pop hl
+ ld bc, $10
+ add hl, bc
+ pop af
+ dec a
+ jr nz, Functioncc561
+ ret
+
+; no known jump sources
+Functioncc57e: ; cc57e (33:457e)
+ ld hl, $d300
+.asm_cc581
+ ld a, [hl]
+ and a
+ jr z, .asm_cc589
+ inc hl
+ inc hl
+ jr .asm_cc581
+.asm_cc589
+ ld a, $28
+ ld [hli], a
+ ld a, $35
+ ld [hli], a
+ ld a, $29
+ ld [hli], a
+ ld a, $43
+ ld [hl], a
+ ld hl, $8660
+ ld de, $9050
+ ld a, $70
+ ld [$d419], a
+ ld a, $7
+ call Functioncc5b3
+ ld de, $9310
+ ld a, $60
+ ld [$d419], a
+ ld a, $6
+ call Functioncc5b3
+ ret
+
+; known jump sources: cc5a2 (33:45a2), cc5af (33:45af), cc5cd (33:45cd)
+Functioncc5b3: ; cc5b3 (33:45b3)
+ push af
+ push hl
+ push de
+ ld bc, $3302
+ call Request2bpp
+ pop de
+ ld a, [$d419]
+ ld l, a
+ ld h, $0
+ add hl, de
+ ld e, l
+ ld d, h
+ pop hl
+ ld bc, $20
+ add hl, bc
+ pop af
+ dec a
+ jr nz, Functioncc5b3
+ ret
+
+; no known jump sources
+Functioncc5d0: ; cc5d0 (33:45d0)
+ ld hl, Functionf971
+ ld a, BANK(Functionf971)
+ rst $8 ; ; indirect jump to Functionf971 (f971 (3:7971))
+ ld a, c
+ ld [$d416], a
+ ret
+
+; no known jump sources
+Functioncc5db: ; cc5db (33:45db)
+ ret
+
+; no known jump sources
+Functioncc5dc: ; cc5dc (33:45dc)
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $1
+ ld [rSVBK], a ; $ff00+$70
+ ld a, [CurPartySpecies] ; $d108
+ push af
+ ld a, [hBattleTurn] ; $ff00+$e4
+ and a
+ jr z, .asm_cc604
+ ld a, [TempBattleMonSpecies] ; $d205
+ ld [CurPartySpecies], a ; $d108
+ ld hl, BattleMonDVs ; $c632 (aliases: BattleMonAtkDefDV)
+ ld a, $2d
+ call Predef
+ ld de, $8000
+ ld a, $3c
+ call Predef
+ jr .asm_cc61a
+.asm_cc604
+ ld a, [TempEnemyMonSpecies] ; $d204
+ ld [CurPartySpecies], a ; $d108
+ ld hl, EnemyMonAtkDefDV ; $d20c (aliases: EnemyMonDVs, EnemyMonMovesEnd)
+ ld a, $2d
+ call Predef
+ ld de, $8000
+ ld a, $3d
+ call Predef
+.asm_cc61a
+ pop af
+ ld [CurPartySpecies], a ; $d108
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ ret
+
+; no known jump sources
+Functioncc622: ; cc622 (33:4622)
+ ld de, $8000
+ ld a, [hBattleTurn] ; $ff00+$e4
+ and a
+ jr z, .asm_cc635
+ ld hl, $9000
+ ld b, $0
+ ld c, $31
+ call Request2bpp
+ ret
+.asm_cc635
+ ld hl, $9310
+ ld b, $0
+ ld c, $24
+ call Request2bpp
+ ret
+
+; no known jump sources
+Functioncc640: ; cc640 (33:4640)
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $1
+ ld [rSVBK], a ; $ff00+$70
+ xor a
+ call GetSRAMBank
+ ld hl, $a000
+ ld bc, $310
+.asm_cc651
+ xor a
+ ld [hli], a
+ dec bc
+ ld a, c
+ or b
+ jr nz, .asm_cc651
+ ld a, [hBattleTurn] ; $ff00+$e4
+ and a
+ jr z, .asm_cc68f
+ ld hl, $6a80
+ ld de, $a130
+ call Functioncc6c6
+ ld hl, $6a90
+ ld de, $a1a0
+ call Functioncc6c6
+ ld hl, $6aa0
+ ld de, $a140
+ call Functioncc6c6
+ ld hl, $6ab0
+ ld de, $a1b0
+ call Functioncc6c6
+ ld hl, $9000
+ ld de, $a000
+ ld bc, $3331
+ call Request2bpp
+ jr .asm_cc6bf
+.asm_cc68f
+ ld hl, $6ac0
+ ld de, $a100
+ call Functioncc6c6
+ ld hl, $6ad0
+ ld de, $a160
+ call Functioncc6c6
+ ld hl, $6ae0
+ ld de, $a110
+ call Functioncc6c6
+ ld hl, $6af0
+ ld de, $a170
+ call Functioncc6c6
+ ld hl, $9310
+ ld de, $a000
+ ld bc, $3324
+ call Request2bpp
+.asm_cc6bf
+ call CloseSRAM
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ ret
+
+; known jump sources: cc663 (33:4663), cc66c (33:466c), cc675 (33:4675), cc67e (33:467e), cc695 (33:4695), cc69e (33:469e), cc6a7 (33:46a7), cc6b0 (33:46b0)
+Functioncc6c6: ; cc6c6 (33:46c6)
+ ld bc, $10
+ ld a, $31
+ call FarCopyBytes
+ ret
+
+; no known jump sources
+Functioncc6cf: ; cc6cf (33:46cf)
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $1
+ ld [rSVBK], a ; $ff00+$70
+ xor a
+ call GetSRAMBank
+ call Functioncc6e7
+ call Request2bpp
+ call CloseSRAM
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ ret
+
+; known jump sources: cc6da (33:46da), cc740 (33:4740)
+Functioncc6e7: ; cc6e7 (33:46e7)
+ ld hl, $a000
+ ld bc, $310
+.asm_cc6ed
+ xor a
+ ld [hli], a
+ dec bc
+ ld a, c
+ or b
+ jr nz, .asm_cc6ed
+ ld a, [hBattleTurn] ; $ff00+$e4
+ and a
+ jr z, .asm_cc709
+ ld de, $a1a0
+ call Functioncc719
+ ld hl, $9000
+ ld de, $a000
+ ld bc, $3331
+ ret
+.asm_cc709
+ ld de, $a160
+ call Functioncc719
+ ld hl, $9310
+ ld de, $a000
+ ld bc, $3324
+ ret
+
+; known jump sources: cc6fc (33:46fc), cc70c (33:470c)
+Functioncc719: ; cc719 (33:4719)
+ ld hl, $4725
+ ld bc, $10
+ ld a, $33
+ call FarCopyBytes
+ ret
+; cc725 (33:4725)
+
+INCBIN "baserom.gbc",$cc725,$cc735 - $cc725
+
+; no known jump sources
+Functioncc735: ; cc735 (33:4735)
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $1
+ ld [rSVBK], a ; $ff00+$70
+ xor a
+ call GetSRAMBank
+ call Functioncc6e7
+ ld hl, $8000
+ call Request2bpp
+ call CloseSRAM
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ ret
+
+; no known jump sources
+Functioncc750: ; cc750 (33:4750)
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $1
+ ld [rSVBK], a ; $ff00+$70
+ ld a, [CurPartySpecies] ; $d108
+ push af
+ ld a, [hBattleTurn] ; $ff00+$e4
+ and a
+ jr z, .asm_cc768
+ ld hl, Function3f486
+ ld a, BANK(Function3f486)
+ rst $8 ; ; indirect jump to Function3f486 (3f486 (f:7486))
+ jr .asm_cc76e
+.asm_cc768
+ ld hl, Function3f447
+ ld a, BANK(Function3f447)
+ rst $8 ; ; indirect jump to Function3f447 (3f447 (f:7447))
+.asm_cc76e
+ pop af
+ ld [CurPartySpecies], a ; $d108
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ ret
+
+; no known jump sources
+Functioncc776: ; cc776 (33:4776)
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $1
+ ld [rSVBK], a ; $ff00+$70
+ ld a, [CurPartySpecies] ; $d108
+ push af
+ ld a, [$c689]
+ ld [CurPartySpecies], a ; $d108
+ ld a, [hBattleTurn] ; $ff00+$e4
+ and a
+ jr z, .asm_cc79e
+ ld hl, BattleMonDVs ; $c632 (aliases: BattleMonAtkDefDV)
+ ld a, $2d
+ call Predef
+ ld de, $9000
+ ld a, $3c
+ call Predef
+ jr .asm_cc7ae
+.asm_cc79e
+ ld hl, EnemyMonAtkDefDV ; $d20c (aliases: EnemyMonDVs, EnemyMonMovesEnd)
+ ld a, $2d
+ call Predef
+ ld de, $9310
+ ld a, $3d
+ call Predef
+.asm_cc7ae
+ pop af
+ ld [CurPartySpecies], a ; $d108
+ ld b, $1
+ call GetSGBLayout
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ ret
+
+; no known jump sources
+Functioncc7bb: ; cc7bb (33:47bb)
+ xor a
+ ld [hOAMUpdate], a ; $ff00+$d8
+ ret
+
+; no known jump sources
+Functioncc7bf: ; cc7bf (33:47bf)
+ ld a, $1
+ ld [hOAMUpdate], a ; $ff00+$d8
+ ret
+
+; no known jump sources
+Functioncc7c4: ; cc7c4 (33:47c4)
+ ld hl, $d40f
+ set 3, [hl]
+ ret
+
+; no known jump sources
+Functioncc7ca: ; cc7ca (33:47ca)
+ ret
+
+; no known jump sources
+Functioncc7cb: ; cc7cb (33:47cb)
+ ret
+
+; no known jump sources
+Functioncc7cc: ; cc7cc (33:47cc)
+ ret
+
+; no known jump sources
+Functioncc7cd: ; cc7cd (33:47cd)
+ call Function3af0
+ ld e, a
+ srl a
+ srl a
+ ld [$c2be], a
+ call Functioncc7fc
+ and $3
+ ld [CryTracks], a ; $c2bd
+ ld e, a
+ ld d, $0
+ ld hl, $47f8
+ add hl, de
+ ld a, [hl]
+ ld [$c2bc], a
+ call Function3af0
+ ld e, a
+ ld d, $0
+ ld hl, PlaySFX
+ ld a, BANK(PlaySFX)
+ rst $8 ; ; indirect jump to PlaySFX (e8ca6 (3a:4ca6))
+ ret
+; cc7f8 (33:47f8)
+
+INCBIN "baserom.gbc",$cc7f8,$cc7fc - $cc7f8
+
+; known jump sources: cc7d8 (33:47d8)
+Functioncc7fc: ; cc7fc (33:47fc)
+ ld a, [hBattleTurn] ; $ff00+$e4
+ and a
+ jr nz, .asm_cc803
+ ld a, e
+ ret
+.asm_cc803
+ ld a, e
+ xor $1
+ ret
+
+; no known jump sources
+Functioncc807: ; cc807 (33:4807)
+ call Function3af0
+ and $3
+ ld e, a
+ ld d, $0
+ ld hl, $4871
+ add hl, de
+ add hl, de
+ add hl, de
+ add hl, de
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $1
+ ld [rSVBK], a ; $ff00+$70
+ ld a, [hBattleTurn] ; $ff00+$e4
+ and a
+ jr nz, .asm_cc82c
+ ld a, $f0
+ ld [CryTracks], a ; $c2bd
+ ld a, [BattleMonSpecies] ; $c62c
+ jr .asm_cc834
+.asm_cc82c
+ ld a, $f
+ ld [CryTracks], a ; $c2bd
+ ld a, [EnemyMon] ; $d206 (aliases: EnemyMonSpecies)
+.asm_cc834
+ push hl
+ call Function37f3
+ pop hl
+ jr c, .asm_cc86d
+ ld a, [hli]
+ ld c, a
+ ld a, [hli]
+ ld b, a
+ push hl
+ ld hl, CryPitch ; $c2b0
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ add hl, bc
+ ld a, l
+ ld [CryPitch], a ; $c2b0
+ ld a, h
+ ld [CryEcho], a ; $c2b1
+ pop hl
+ ld a, [hli]
+ ld c, a
+ ld b, [hl]
+ ld hl, CryLength ; $c2b2
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ add hl, bc
+ ld a, l
+ ld [CryLength], a ; $c2b2
+ ld a, h
+ ld [$c2b3], a
+ ld a, $1
+ ld [$c2bc], a
+ ld hl, PlayCry
+ ld a, BANK(PlayCry)
+ rst $8 ; ; indirect jump to PlayCry (e8b79 (3a:4b79))
+.asm_cc86d
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ ret
+; cc871 (33:4871)
+
+INCBIN "baserom.gbc",$cc871,$cc881 - $cc871
+
+
Functioncc881: ; cc881
ld a, [$cfca]
cp $1
@@ -68822,9 +93683,30 @@
ret
; cc9a1
-INCBIN "baserom.gbc", $cc9a1, $cc9bd - $cc9a1
+; known jump sources: cc437 (33:4437)
+Functioncc9a1: ; cc9a1 (33:49a1)
+ ld hl, $d30a
+ ld e, $a
+.asm_cc9a6
+ ld a, [hl]
+ and a
+ jr z, .asm_cc9b3
+ ld bc, $18
+ add hl, bc
+ dec e
+ jr nz, .asm_cc9a6
+ scf
+ ret
+.asm_cc9b3
+ ld c, l
+ ld b, h
+ ld hl, $d40e
+ inc [hl]
+ call Functioncc9c4
+ ret
+
Functioncc9bd: ; cc9bd
ld hl, $0000
add hl, bc
@@ -68832,9 +93714,63 @@
ret
; cc9c4
-INCBIN "baserom.gbc", $cc9c4, $cca09 - $cc9c4
+; known jump sources: cc9b9 (33:49b9)
+Functioncc9c4: ; cc9c4 (33:49c4)
+ ld a, [$d419]
+ ld e, a
+ ld d, $0
+ ld hl, $4b56
+ add hl, de
+ add hl, de
+ add hl, de
+ add hl, de
+ add hl, de
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, $0
+ add hl, bc
+ ld a, [$d40e]
+ ld [hli], a
+ ld a, [de]
+ inc de
+ ld [hli], a
+ ld a, [de]
+ inc de
+ ld [hli], a
+ ld a, [de]
+ inc de
+ ld [hli], a
+ ld a, [de]
+ inc de
+ ld [hli], a
+ ld a, [de]
+ inc de
+ ld [hli], a
+ ld a, [de]
+ call Functionccb31
+ ld [hli], a
+ ld a, [$d41a]
+ ld [hli], a
+ ld a, [$d41b]
+ ld [hli], a
+ xor a
+ ld [hli], a
+ ld [hli], a
+ ld a, [$d41c]
+ ld [hli], a
+ xor a
+ ld [hli], a
+ dec a
+ ld [hli], a
+ xor a
+ ld [hli], a
+ ld [hli], a
+ ld [hl], a
+ ret
+
Functioncca09: ; cca09
call Functionccaaa
call Functionce7d1
@@ -69031,9 +93967,31 @@
ret
; ccb31
-INCBIN "baserom.gbc", $ccb31, $ccb48 - $ccb31
+; known jump sources: cc9ed (33:49ed)
+Functionccb31: ; ccb31 (33:4b31)
+ push hl
+ push bc
+ ld hl, $d300
+ ld b, a
+ ld c, $5
+.asm_ccb39
+ ld a, [hli]
+ cp b
+ jr z, .asm_ccb44
+ inc hl
+ dec c
+ jr nz, .asm_ccb39
+ xor a
+ jr .asm_ccb45
+.asm_ccb44
+ ld a, [hl]
+.asm_ccb45
+ pop bc
+ pop hl
+ ret
+
Functionccb48: ; ccb48
ld hl, Functioncc000
ld a, $32
@@ -69041,9 +93999,18 @@
ret
; ccb4f
-INCBIN "baserom.gbc", $ccb4f, $ccfbe - $ccb4f
+; known jump sources: cc453 (33:4453)
+Functionccb4f: ; ccb4f (33:4b4f)
+ ld hl, Functionc801a
+ ld a, BANK(Functionc801a)
+ rst $8 ; ; indirect jump to Functionc801a (c801a (32:401a))
+ ret
+; ccb56 (33:4b56)
+INCBIN "baserom.gbc",$ccb56,$ccfbe - $ccb56
+
+
Functionccfbe: ; ccfbe
ld hl, $0004
add hl, bc
@@ -69058,9 +94025,4583 @@
jp [hl]
; ccfce
-INCBIN "baserom.gbc", $ccfce, $ce7d1 - $ccfce
+; no known jump sources
+Jumptable_ccfce: ; ccfce (33:4fce)
+ dw Functioncd06e
+ dw Functioncd12a
+ dw Functioncd146
+ dw Functioncd0e3
+ dw Functioncd0a6
+ dw Functioncd081
+ dw Functioncd079
+ dw Functioncd2be
+ dw Functioncd306
+ dw Functioncd3ae
+ dw Functioncd3f2
+ dw Functioncd478
+ dw Functioncd5e9
+ dw Functioncd66a
+ dw Functioncd6e3
+ dw Functioncd71a
+ dw Functioncd284
+ dw Functioncd777
+ dw Functioncd15c
+ dw Functioncd212
+ dw Functioncd7a4
+ dw Functioncd80c
+ dw Functioncd824
+ dw Functioncd89a
+ dw Functioncd900
+ dw Functioncd954
+ dw Functioncdafa
+ dw Functioncdb06
+ dw Functioncda0a
+ dw Functioncdb80
+ dw Functioncdca6
+ dw Functioncda31
+ dw Functioncda4d
+ dw Functioncdcc3
+ dw Functioncdd2a
+ dw Functioncdd90
+ dw Functioncddf9
+ dw Functioncde28
+ dw Functioncde54
+ dw Functioncde6b
+ dw Functioncde89
+ dw Functioncdedd
+ dw Functioncdf59
+ dw Functionce063
+ dw Functionce0c5
+ dw Functioncdf1b
+ dw Functionce10e
+ dw Functionce15c
+ dw Functionce1e7
+ dw Functionce226
+ dw Functionce255
+ dw Functionce2cc
+ dw Functioncdf8c
+ dw Functionce00b
+ dw Functionce2fd
+ dw Functionce35f
+ dw Functionce389
+ dw Functionce3b4
+ dw Functionce3d2
+ dw Functionce3ff
+ dw Functioncdfcb
+ dw Functionce416
+ dw Functionce43a
+ dw Functioncdad6
+ dw Functionce49c
+ dw Functionce4dc
+ dw Functionce1b0
+ dw Functionce508
+ dw Functionce532
+ dw Functionce55b
+ dw Functionce593
+ dw Functionce5b4
+ dw Functionce5dc
+ dw Functionce5ee
+ dw Functionce62f
+ dw Functionce688
+ dw Functionce6b3
+ dw Functionce6d2
+ dw Functioncd58a
+ dw Functionce6bf
+
+; no known jump sources
+Functioncd06e: ; cd06e (33:506e)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd071: ; cd071 (33:5071)
+ dw Functioncd078
+ dw Functioncd075
+
+
+; no known jump sources
+Functioncd075: ; cd075 (33:5075)
+ call Functioncc9bd
+
+; no known jump sources
+Functioncd078: ; cd078 (33:5078)
+ ret
+
+; no known jump sources
+Functioncd079: ; cd079 (33:5079)
+ call Functioncd081
+ ret c
+ call Functioncc9bd
+ ret
+
+; known jump sources: cd079 (33:5079), cd17e (33:517e), cd22b (33:522b)
+Functioncd081: ; cd081 (33:5081)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $88
+ ret nc
+ add $2
+ ld [hl], a
+ ld hl, $8
+ add hl, bc
+ dec [hl]
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ dec [hl]
+ ld hl, $b
+ add hl, bc
+ ld d, [hl]
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ scf
+ ret
+
+; no known jump sources
+Functioncd0a6: ; cd0a6 (33:50a6)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $88
+ jr c, .asm_cd0b3
+ call Functioncc9bd
+ ret
+.asm_cd0b3
+ add $2
+ ld [hl], a
+ ld hl, $8
+ add hl, bc
+ dec [hl]
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ inc [hl]
+ inc [hl]
+ inc [hl]
+ ld d, $10
+ push af
+ push de
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ sra a
+ sra a
+ sra a
+ sra a
+ ld [hl], a
+ ret
+
+; known jump sources: cdafa (33:5afa)
+Functioncd0e3: ; cd0e3 (33:50e3)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd0e6: ; cd0e6 (33:50e6)
+ dw Functioncd0ea
+ dw Functioncd106
+
+
+; no known jump sources
+Functioncd0ea: ; cd0ea (33:50ea)
+ call Functionce72c
+ ld hl, $b
+ add hl, bc
+ bit 7, [hl]
+ ld a, $0
+ jr z, .asm_cd0f9
+ ld a, $20
+.asm_cd0f9
+ ld hl, $f
+ add hl, bc
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $7f
+ ld [hl], a
+
+; no known jump sources
+Functioncd106: ; cd106 (33:5106)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ ld hl, $b
+ add hl, bc
+ ld d, [hl]
+ push af
+ push de
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $f
+ add hl, bc
+ inc [hl]
+ ret
+
+; no known jump sources
+Functioncd12a: ; cd12a (33:512a)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd12d: ; cd12d (33:512d)
+ dw Functioncd135
+ dw Functioncd131
+
+
+; no known jump sources
+Functioncd131: ; cd131 (33:5131)
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functioncd135: ; cd135 (33:5135)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $84
+ ret nc
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ call Functionce70a
+ ret
+
+; no known jump sources
+Functioncd146: ; cd146 (33:5146)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $84
+ jr nc, .asm_cd158
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ call Functionce70a
+ ret
+.asm_cd158
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functioncd15c: ; cd15c (33:515c)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd15f: ; cd15f (33:515f)
+ dw Functioncd177
+ dw Functioncd17e
+ dw Functioncd1dc
+ dw Functioncd196
+ dw Functioncd1a7
+ dw Functioncd1dc
+ dw Functioncd1d2
+ dw Functioncd1dd
+ dw Functioncd1ee
+ dw Functioncd1dc
+ dw Functioncd1ee
+ dw Functioncd20e
+
+
+; no known jump sources
+Functioncd177: ; cd177 (33:5177)
+ call Functioncd249
+ call Functionce72c
+ ret
+
+; no known jump sources
+Functioncd17e: ; cd17e (33:517e)
+ call Functioncd081
+ ret c
+ ld hl, $a
+ add hl, bc
+ ld a, [hl]
+ ld hl, $8
+ add hl, bc
+ add [hl]
+ ld [hl], a
+ ld a, $b
+ call Functionce7bf
+ call Functionce72c
+ ret
+
+; no known jump sources
+Functioncd196: ; cd196 (33:5196)
+ call Functionce72c
+ ld a, $9
+ call Functionce7bf
+ ld hl, $f
+ add hl, bc
+ ld [hl], $0
+ inc hl
+ ld [hl], $10
+
+; no known jump sources
+Functioncd1a7: ; cd1a7 (33:51a7)
+ ld hl, $f
+ add hl, bc
+ ld a, [hli]
+ ld d, [hl]
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ dec a
+ ld [hl], a
+ and $1f
+ ret nz
+ ld [hl], a
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ sub $4
+ ld [hl], a
+ ret nz
+ ld a, $c
+ call Functionce7bf
+ call Functionce72c
+ ret
+
+; no known jump sources
+Functioncd1d2: ; cd1d2 (33:51d2)
+ ld a, $d
+ call Functionce7bf
+ ld hl, $e
+ add hl, bc
+ dec [hl]
+
+; no known jump sources
+Functioncd1dc: ; cd1dc (33:51dc)
+ ret
+
+; no known jump sources
+Functioncd1dd: ; cd1dd (33:51dd)
+ call Functioncd249
+ ld a, $a
+ call Functionce7bf
+ call Functionce72c
+ ld hl, $10
+ add hl, bc
+ ld [hl], $20
+
+; no known jump sources
+Functioncd1ee: ; cd1ee (33:51ee)
+ ld hl, $f
+ add hl, bc
+ ld a, [hli]
+ ld d, [hl]
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ dec a
+ ld [hl], a
+ and $1f
+ jr z, Functioncd20e
+ and $f
+ ret nz
+ call Functionce72c
+ ret
+
+; known jump sources: cd205 (33:5205)
+Functioncd20e: ; cd20e (33:520e)
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functioncd212: ; cd212 (33:5212)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd215: ; cd215 (33:5215)
+ dw Functioncd21b
+ dw Functioncd222
+ dw Functioncd232
+
+
+; no known jump sources
+Functioncd21b: ; cd21b (33:521b)
+ call Functioncd249
+ call Functionce72c
+ ret
+
+; no known jump sources
+Functioncd222: ; cd222 (33:5222)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $70
+ jr nc, .asm_cd22f
+ call Functioncd081
+ ret
+.asm_cd22f
+ call Functionce72c
+
+; no known jump sources
+Functioncd232: ; cd232 (33:5232)
+ ld hl, $8
+ add hl, bc
+ ld a, [hl]
+ cp $80
+ jr nc, .asm_cd245
+ add $4
+ ld [hl], a
+ ld hl, $7
+ add hl, bc
+ dec [hl]
+ dec [hl]
+ ret
+.asm_cd245
+ call Functioncc9bd
+ ret
+
+; known jump sources: cd177 (33:5177), cd1dd (33:51dd), cd21b (33:521b)
+Functioncd249: ; cd249 (33:5249)
+ ld hl, $526c
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $1
+ ld [rSVBK], a ; $ff00+$70
+ ld a, [CurItem] ; $d106
+ ld e, a
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+.asm_cd25a
+ ld a, [hli]
+ cp $ff
+ jr z, .asm_cd265
+ cp e
+ jr z, .asm_cd265
+ inc hl
+ jr .asm_cd25a
+.asm_cd265
+ ld a, [hl]
+ ld hl, $5
+ add hl, bc
+ ld [hl], a
+ ret
+; cd26c (33:526c)
+
+INCBIN "baserom.gbc",$cd26c,$cd284 - $cd26c
+
+; no known jump sources
+Functioncd284: ; cd284 (33:5284)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd287: ; cd287 (33:5287)
+ dw Functioncd291
+ dw Functioncd2a0
+ dw Functioncd2b1
+ dw Functioncd2b5
+ dw Functioncd2bd
+
+
+; no known jump sources
+Functioncd291: ; cd291 (33:5291)
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ swap a
+ and $f
+ ld hl, $e
+ add hl, bc
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functioncd2a0: ; cd2a0 (33:52a0)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $88
+ ret nc
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ call Functionce70a
+ ret
+
+; no known jump sources
+Functioncd2b1: ; cd2b1 (33:52b1)
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functioncd2b5: ; cd2b5 (33:52b5)
+ call Functionce72c
+ ld a, $f
+ call Functionce7bf
+
+; no known jump sources
+Functioncd2bd: ; cd2bd (33:52bd)
+ ret
+
+; no known jump sources
+Functioncd2be: ; cd2be (33:52be)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd2c1: ; cd2c1 (33:52c1)
+ dw Functioncd2c5
+ dw Functioncd2d1
+
+
+; no known jump sources
+Functioncd2c5: ; cd2c5 (33:52c5)
+ call Functionce72c
+ ld hl, $f
+ add hl, bc
+ ld [hl], $30
+ inc hl
+ ld [hl], $48
+
+; no known jump sources
+Functioncd2d1: ; cd2d1 (33:52d1)
+ ld hl, $f
+ add hl, bc
+ ld a, [hli]
+ ld d, [hl]
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ ld hl, $f
+ add hl, bc
+ inc [hl]
+ ld a, [hl]
+ and $3f
+ ret nz
+ ld hl, $f
+ add hl, bc
+ ld [hl], $20
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ ld hl, $b
+ add hl, bc
+ sub [hl]
+ jr z, .asm_cd302
+ jr c, .asm_cd302
+ ld hl, $10
+ add hl, bc
+ ld [hl], a
+ ret
+.asm_cd302
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functioncd306: ; cd306 (33:5306)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd309: ; cd309 (33:5309)
+ dw Functioncd311
+ dw Functioncd321
+ dw Functioncd32a
+ dw Functioncd37d
+
+
+; no known jump sources
+Functioncd311: ; cd311 (33:5311)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $80
+ jr nc, .asm_cd31e
+ call Functioncd38e
+ ret
+.asm_cd31e
+ call Functionce72c
+
+; no known jump sources
+Functioncd321: ; cd321 (33:5321)
+ call Functionce72c
+ ld hl, $f
+ add hl, bc
+ ld [hl], $0
+
+; no known jump sources
+Functioncd32a: ; cd32a (33:532a)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ cp $40
+ jr nc, .asm_cd363
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ ld d, $18
+ call Functionce732
+ sub $18
+ sra a
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ ld d, $18
+ call Functionce734
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $f
+ ld hl, $f
+ add hl, bc
+ add [hl]
+ ld [hl], a
+ ret
+.asm_cd363
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $f0
+ jr z, .asm_cd37a
+ sub $10
+ ld d, a
+ ld a, [hl]
+ and $f
+ or d
+ ld [hl], a
+ ld hl, $e
+ add hl, bc
+ dec [hl]
+ ret
+.asm_cd37a
+ call Functionce72c
+
+; no known jump sources
+Functioncd37d: ; cd37d (33:537d)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $b0
+ jr c, .asm_cd38a
+ call Functioncc9bd
+ ret
+.asm_cd38a
+ call Functioncd38e
+ ret
+
+; known jump sources: cd31a (33:531a), cd38a (33:538a)
+Functioncd38e: ; cd38e (33:538e)
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $f
+ ld hl, $7
+ add hl, bc
+ add [hl]
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $f
+ ld e, a
+ srl e
+ ld hl, $8
+ add hl, bc
+.asm_cd3a9
+ dec [hl]
+ dec e
+ jr nz, .asm_cd3a9
+ ret
+
+; no known jump sources
+Functioncd3ae: ; cd3ae (33:53ae)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd3b1: ; cd3b1 (33:53b1)
+ dw Functioncd3b7
+ dw Functioncd3cc
+ dw Functioncd3ee
+
+
+; no known jump sources
+Functioncd3b7: ; cd3b7 (33:53b7)
+ call Functionce72c
+ ld hl, $f
+ add hl, bc
+ ld [hl], $0
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $f
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+
+; no known jump sources
+Functioncd3cc: ; cd3cc (33:53cc)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_cd3d6
+ dec [hl]
+ ret
+.asm_cd3d6
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ swap a
+ and $f
+ ld hl, $f
+ add hl, bc
+ ld [hl], a
+ ld hl, $9
+ add hl, bc
+ ld a, [hl]
+ xor $ff
+ inc a
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functioncd3ee: ; cd3ee (33:53ee)
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functioncd3f2: ; cd3f2 (33:53f2)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd3f5: ; cd3f5 (33:53f5)
+ dw Functioncd409
+ dw Functioncd45c
+ dw Functioncd467
+ dw Functioncd472
+ dw Functioncd462
+ dw Functioncd46d
+ dw Functioncd477
+ dw Functioncd41d
+ dw Functioncd437
+ dw Functioncd458
+
+
+; no known jump sources
+Functioncd409: ; cd409 (33:5409)
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ ld hl, $e
+ add hl, bc
+ ld [hl], a
+ cp $7
+ jr z, Functioncd41d
+ ld a, $11
+ call Functionce7bf
+ ret
+
+; known jump sources: cd415 (33:5415)
+Functioncd41d: ; cd41d (33:541d)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $88
+ jr nc, .asm_cd42f
+ add $2
+ ld [hl], a
+ ld hl, $8
+ add hl, bc
+ dec [hl]
+ ret
+.asm_cd42f
+ call Functionce72c
+ ld a, $10
+ call Functionce7bf
+
+; no known jump sources
+Functioncd437: ; cd437 (33:5437)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ ld d, $10
+ push af
+ push de
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $f
+ add hl, bc
+ inc [hl]
+ ret
+
+; no known jump sources
+Functioncd458: ; cd458 (33:5458)
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functioncd45c: ; cd45c (33:545c)
+ ld hl, $a
+ add hl, bc
+ dec [hl]
+ ret
+
+; no known jump sources
+Functioncd462: ; cd462 (33:5462)
+ ld hl, $a
+ add hl, bc
+ inc [hl]
+
+; no known jump sources
+Functioncd467: ; cd467 (33:5467)
+ ld hl, $9
+ add hl, bc
+ dec [hl]
+ ret
+
+; no known jump sources
+Functioncd46d: ; cd46d (33:546d)
+ ld hl, $a
+ add hl, bc
+ inc [hl]
+
+; no known jump sources
+Functioncd472: ; cd472 (33:5472)
+ ld hl, $9
+ add hl, bc
+ inc [hl]
+
+; no known jump sources
+Functioncd477: ; cd477 (33:5477)
+ ret
+
+; no known jump sources
+Functioncd478: ; cd478 (33:5478)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd47b: ; cd47b (33:547b)
+ dw Functioncd48d
+ dw Functioncd496
+ dw Functioncd4ee
+ dw Functioncd53a
+ dw Functioncd545
+ dw Functioncd545
+ dw Functioncd545
+ dw Functioncd545
+ dw Functioncd549
+
+
+; no known jump sources
+Functioncd48d: ; cd48d (33:548d)
+ call Functionce72c
+ ld hl, $f
+ add hl, bc
+ ld [hl], $40
+
+; no known jump sources
+Functioncd496: ; cd496 (33:5496)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ cp $30
+ jr nc, .asm_cd4bc
+ call Functionce72c
+ xor a
+ ld hl, $f
+ add hl, bc
+ ld [hli], a
+ ld [hl], a
+ ld a, $17
+ call Functionce7bf
+ ld hl, $b
+ add hl, bc
+ bit 6, [hl]
+ ret z
+ ld hl, $d
+ add hl, bc
+ ld [hl], $5
+ ret
+.asm_cd4bc
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $3f
+ ld d, a
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ dec [hl]
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ call Functioncd557
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ ld hl, $7
+ add hl, bc
+ ld h, [hl]
+ ld l, a
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, $7
+ add hl, bc
+ ld [hl], d
+ ld hl, $10
+ add hl, bc
+ ld [hl], e
+ ret
+
+; no known jump sources
+Functioncd4ee: ; cd4ee (33:54ee)
+ ld hl, $a
+ add hl, bc
+ ld a, [hl]
+ cp $20
+ jr nz, .asm_cd4fb
+ call Functioncc9bd
+ ret
+.asm_cd4fb
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ ld d, $10
+ call Functionce734
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ bit 6, [hl]
+ jr nz, .asm_cd519
+ ld hl, $f
+ add hl, bc
+ inc [hl]
+ jr .asm_cd51e
+.asm_cd519
+ ld hl, $f
+ add hl, bc
+ dec [hl]
+.asm_cd51e
+ ld de, $80
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ ld hl, $a
+ add hl, bc
+ ld h, [hl]
+ ld l, a
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, $a
+ add hl, bc
+ ld [hl], d
+ ld hl, $10
+ add hl, bc
+ ld [hl], e
+ ret
+
+; no known jump sources
+Functioncd53a: ; cd53a (33:553a)
+ ld a, $16
+ call Functionce7bf
+ ld hl, $1
+ add hl, bc
+ res 5, [hl]
+
+; no known jump sources
+Functioncd545: ; cd545 (33:5545)
+ call Functionce72c
+ ret
+
+; no known jump sources
+Functioncd549: ; cd549 (33:5549)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $c0
+ ret nc
+ ld a, $8
+ call Functionce70a
+ ret
+
+; known jump sources: cd4d2 (33:54d2), cd5cd (33:55cd)
+Functioncd557: ; cd557 (33:5557)
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ bit 7, a
+ jr nz, .asm_cd574
+ cp $20
+ jr nc, .asm_cd570
+ cp $18
+ jr nc, .asm_cd56c
+ ld de, $200
+ ret
+.asm_cd56c
+ ld de, $180
+ ret
+.asm_cd570
+ ld de, $100
+ ret
+.asm_cd574
+ and $3f
+ cp $20
+ jr nc, .asm_cd586
+ cp $18
+ jr nc, .asm_cd582
+ ld de, $fe00
+ ret
+.asm_cd582
+ ld de, $fe80
+ ret
+.asm_cd586
+ ld de, rJOYP ; $ff00
+ ret
+
+; no known jump sources
+Functioncd58a: ; cd58a (33:558a)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd58d: ; cd58d (33:558d)
+ dw Functioncd591
+ dw Functioncd5aa
+
+
+; no known jump sources
+Functioncd591: ; cd591 (33:5591)
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $40
+ rlca
+ rlca
+ add $19
+ ld hl, $3
+ add hl, bc
+ ld [hl], a
+ call Functionce72c
+ ld hl, $f
+ add hl, bc
+ ld [hl], $40
+
+; no known jump sources
+Functioncd5aa: ; cd5aa (33:55aa)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ cp $30
+ jr nc, .asm_cd5b7
+ call Functioncc9bd
+ ret
+.asm_cd5b7
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $3f
+ ld d, a
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ dec [hl]
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ call Functioncd557
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ ld hl, $7
+ add hl, bc
+ ld h, [hl]
+ ld l, a
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, $7
+ add hl, bc
+ ld [hl], d
+ ld hl, $10
+ add hl, bc
+ ld [hl], e
+ ret
+
+; no known jump sources
+Functioncd5e9: ; cd5e9 (33:55e9)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd5ec: ; cd5ec (33:55ec)
+ dw Functioncd5f2
+ dw Functioncd5fb
+ dw Functioncd61b
+
+
+; no known jump sources
+Functioncd5f2: ; cd5f2 (33:55f2)
+ call Functionce72c
+ ld hl, $f
+ add hl, bc
+ ld [hl], $c
+
+; no known jump sources
+Functioncd5fb: ; cd5fb (33:55fb)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_cd60d
+ dec [hl]
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ call Functionce70a
+ ret
+.asm_cd60d
+ call Functionce72c
+ ld hl, $f
+ add hl, bc
+ ld [hl], $0
+ ld a, $22
+ call Functionce7bf
+
+; no known jump sources
+Functioncd61b: ; cd61b (33:561b)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $98
+ jr nc, .asm_cd63f
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ ld hl, $7
+ add hl, bc
+ ld h, [hl]
+ ld l, a
+ ld de, $60
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, $f
+ add hl, bc
+ ld [hl], e
+ ld hl, $7
+ add hl, bc
+ ld [hl], d
+.asm_cd63f
+ ld hl, $8
+ add hl, bc
+ ld a, [hl]
+ cp $20
+ ret c
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $f0
+ ld e, a
+ ld d, $ff
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ ld hl, $8
+ add hl, bc
+ ld h, [hl]
+ ld l, a
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, $10
+ add hl, bc
+ ld [hl], e
+ ld hl, $8
+ add hl, bc
+ ld [hl], d
+ ret
+
+; no known jump sources
+Functioncd66a: ; cd66a (33:566a)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd66d: ; cd66d (33:566d)
+ dw Functioncd677
+ dw Functioncd687
+ dw Functioncd6c5
+ dw Functioncd6c6
+ dw Functioncd6d6
+
+
+; no known jump sources
+Functioncd677: ; cd677 (33:5677)
+ call Functionce72c
+ ld a, $42
+ ld [hLCDStatCustom], a ; $ff00+$c6
+ ld a, $58
+ ld [$FF00+$c7], a
+ ld a, $5e
+ ld [$FF00+$c8], a
+ ret
+
+; no known jump sources
+Functioncd687: ; cd687 (33:5687)
+ ld hl, $b
+ add hl, bc
+ ld e, [hl]
+ ld hl, $8
+ add hl, bc
+ ld a, [hl]
+ cp e
+ jr nc, .asm_cd69b
+ call Functionce72c
+ xor a
+ ld [$FF00+$c7], a
+ ret
+.asm_cd69b
+ dec a
+ ld [hl], a
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ ld d, $10
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ ld hl, $8
+ add hl, bc
+ add [hl]
+ sub $10
+ ret c
+ ld [$FF00+$c7], a
+ ld hl, $9
+ add hl, bc
+ ld a, [hl]
+ inc a
+ and $7
+ ld [hl], a
+ ld hl, $f
+ add hl, bc
+ inc [hl]
+ inc [hl]
+
+; no known jump sources
+Functioncd6c5: ; cd6c5 (33:56c5)
+ ret
+
+; no known jump sources
+Functioncd6c6: ; cd6c6 (33:56c6)
+ ld hl, $8
+ add hl, bc
+ ld a, [hl]
+ cp $70
+ jr c, asm_cd6da
+ xor a
+ ld [hLCDStatCustom], a ; $ff00+$c6
+ ld [$FF00+$c7], a
+ ld [$FF00+$c8], a
+
+; no known jump sources
+Functioncd6d6: ; cd6d6 (33:56d6)
+ call Functioncc9bd
+ ret
+asm_cd6da: ; cd6da (33:56da)
+ inc a
+ inc a
+ ld [hl], a
+ sub $10
+ ret c
+ ld [$FF00+$c7], a
+ ret
+
+; no known jump sources
+Functioncd6e3: ; cd6e3 (33:56e3)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd6e6: ; cd6e6 (33:56e6)
+ dw Functioncd6ea
+ dw Functioncd6f7
+
+
+; no known jump sources
+Functioncd6ea: ; cd6ea (33:56ea)
+ call Functionce72c
+ ld hl, $b
+ add hl, bc
+ ld a, $24
+ add [hl]
+ call Functionce7bf
+
+; no known jump sources
+Functioncd6f7: ; cd6f7 (33:56f7)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $b8
+ jr c, .asm_cd704
+ call Functioncc9bd
+ ret
+.asm_cd704
+ ld a, $2
+ call Functionce70a
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ dec [hl]
+ ld d, $8
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functioncd71a: ; cd71a (33:571a)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd71d: ; cd71d (33:571d)
+ dw Functioncd725
+ dw Functioncd728
+ dw Functioncd763
+ dw Functioncd776
+
+
+; no known jump sources
+Functioncd725: ; cd725 (33:5725)
+ call Functionce72c
+
+; no known jump sources
+Functioncd728: ; cd728 (33:5728)
+ ld hl, $8
+ add hl, bc
+ ld a, [hl]
+ cp $30
+ jr c, .asm_cd747
+ ld a, $2
+ call Functionce70a
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ dec [hl]
+ ld d, $8
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ ret
+.asm_cd747
+ call Functionce72c
+ ld a, $28
+ call Functionce7bf
+ ld hl, $a
+ add hl, bc
+ ld [hl], $0
+ ld hl, $8
+ add hl, bc
+ ld [hl], $30
+ ld hl, $1
+ add hl, bc
+ ld a, [hl]
+ and $1
+ ld [hl], a
+
+; no known jump sources
+Functioncd763: ; cd763 (33:5763)
+ ld hl, $a
+ add hl, bc
+ ld a, [hl]
+ cp $18
+ jr nc, .asm_cd76e
+ inc [hl]
+ ret
+.asm_cd76e
+ call Functionce72c
+ ld a, $29
+ call Functionce7bf
+
+; no known jump sources
+Functioncd776: ; cd776 (33:5776)
+ ret
+
+; no known jump sources
+Functioncd777: ; cd777 (33:5777)
+ ld hl, $a
+ add hl, bc
+ ld a, [hl]
+ cp $38
+ jr c, .asm_cd784
+ call Functioncc9bd
+ ret
+.asm_cd784
+ ld a, [hl]
+ ld hl, $f
+ add hl, bc
+ ld l, [hl]
+ ld h, a
+ ld de, $80
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, $f
+ add hl, bc
+ ld [hl], e
+ ld hl, $a
+ add hl, bc
+ ld [hl], d
+ ld hl, $9
+ add hl, bc
+ ld a, [hl]
+ xor $10
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functioncd7a4: ; cd7a4 (33:57a4)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd7a7: ; cd7a7 (33:57a7)
+ dw Functioncd7ab
+ dw Functioncd7d2
+
+
+; no known jump sources
+Functioncd7ab: ; cd7ab (33:57ab)
+ call Functionce72c
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $f0
+ ld hl, $10
+ add hl, bc
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $f
+ sla a
+ sla a
+ sla a
+ ld hl, $f
+ add hl, bc
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ ld [hl], $1
+
+; no known jump sources
+Functioncd7d2: ; cd7d2 (33:57d2)
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr nz, .asm_cd7de
+ call Functioncc9bd
+ ret
+.asm_cd7de
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ ld hl, $10
+ add hl, bc
+ ld d, [hl]
+ push af
+ push de
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ xor $1
+ ld [hl], a
+ ret z
+ ld hl, $10
+ add hl, bc
+ dec [hl]
+ ret
+
+; no known jump sources
+Functioncd80c: ; cd80c (33:580c)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd80f: ; cd80f (33:580f)
+ dw Functioncd81f
+ dw Functioncd817
+ dw Functioncd81f
+ dw Functioncd820
+
+
+; no known jump sources
+Functioncd817: ; cd817 (33:5817)
+ call Functionce72c
+ ld a, $35
+ call Functionce7bf
+
+; no known jump sources
+Functioncd81f: ; cd81f (33:581f)
+ ret
+
+; no known jump sources
+Functioncd820: ; cd820 (33:5820)
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functioncd824: ; cd824 (33:5824)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd827: ; cd827 (33:5827)
+ dw Functioncd835
+ dw Functioncd860
+ dw Functioncd88f
+ dw Functioncd88f
+ dw Functioncd88f
+ dw Functioncd88f
+ dw Functioncd893
+
+
+; no known jump sources
+Functioncd835: ; cd835 (33:5835)
+ call Functionce72c
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ ld hl, $10
+ add hl, bc
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ bit 7, [hl]
+ jr nz, .asm_cd852
+ ld hl, $f
+ add hl, bc
+ ld [hl], $10
+ jr .asm_cd858
+.asm_cd852
+ ld hl, $f
+ add hl, bc
+ ld [hl], $30
+.asm_cd858
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $7f
+ ld [hl], a
+
+; no known jump sources
+Functioncd860: ; cd860 (33:5860)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ ld hl, $b
+ add hl, bc
+ ld d, [hl]
+ call Functionce734
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ bit 7, a
+ jr nz, .asm_cd87e
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ inc a
+ jr .asm_cd883
+.asm_cd87e
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+.asm_cd883
+ call Functionce7bf
+ ld hl, $f
+ add hl, bc
+ inc [hl]
+ ld a, [hl]
+ and $1f
+ ret nz
+
+; no known jump sources
+Functioncd88f: ; cd88f (33:588f)
+ call Functionce72c
+ ret
+
+; no known jump sources
+Functioncd893: ; cd893 (33:5893)
+ ld hl, $e
+ add hl, bc
+ ld [hl], $1
+ ret
+
+; no known jump sources
+Functioncd89a: ; cd89a (33:589a)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd89d: ; cd89d (33:589d)
+ dw Functioncd8ab
+ dw Functioncd8cc
+ dw Functioncd8f5
+ dw Functioncd8f5
+ dw Functioncd8f5
+ dw Functioncd8f5
+ dw Functioncd8f9
+
+
+; no known jump sources
+Functioncd8ab: ; cd8ab (33:58ab)
+ call Functionce72c
+ ld hl, $b
+ add hl, bc
+ bit 7, [hl]
+ jr nz, .asm_cd8be
+ ld hl, $f
+ add hl, bc
+ ld [hl], $10
+ jr .asm_cd8c4
+.asm_cd8be
+ ld hl, $f
+ add hl, bc
+ ld [hl], $30
+.asm_cd8c4
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $7f
+ ld [hl], a
+
+; no known jump sources
+Functioncd8cc: ; cd8cc (33:58cc)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ ld hl, $b
+ add hl, bc
+ ld d, [hl]
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ bit 7, a
+ jr nz, .asm_cd8e6
+ ld a, $3d
+ jr .asm_cd8e8
+.asm_cd8e6
+ ld a, $3c
+.asm_cd8e8
+ call Functionce7bf
+ ld hl, $f
+ add hl, bc
+ inc [hl]
+ inc [hl]
+ ld a, [hl]
+ and $1f
+ ret nz
+
+; no known jump sources
+Functioncd8f5: ; cd8f5 (33:58f5)
+ call Functionce72c
+ ret
+
+; no known jump sources
+Functioncd8f9: ; cd8f9 (33:58f9)
+ ld hl, $e
+ add hl, bc
+ ld [hl], $1
+ ret
+
+; no known jump sources
+Functioncd900: ; cd900 (33:5900)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd903: ; cd903 (33:5903)
+ dw Functioncd907
+ dw Functioncd913
+
+
+; no known jump sources
+Functioncd907: ; cd907 (33:5907)
+ call Functionce72c
+ ld hl, $f
+ add hl, bc
+ ld [hl], $28
+ inc hl
+ ld [hl], $0
+
+; no known jump sources
+Functioncd913: ; cd913 (33:5913)
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ ld hl, $f
+ add hl, bc
+ ld d, [hl]
+ push af
+ push de
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_cd950
+ ld d, a
+ ld hl, $10
+ add hl, bc
+ ld e, [hl]
+ ld hl, hPushOAM ; $ff80
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, $10
+ add hl, bc
+ ld [hl], e
+ ld hl, $f
+ add hl, bc
+ ld [hl], d
+ ret
+.asm_cd950
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functioncd954: ; cd954 (33:5954)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd957: ; cd957 (33:5957)
+ dw Functioncd961
+ dw Functioncd96a
+ dw Functioncd96e
+ dw Functioncd96a
+ dw Functioncd97b
+
+
+; no known jump sources
+Functioncd961: ; cd961 (33:5961)
+ call Functionce72c
+ ld hl, $b
+ add hl, bc
+ ld [hl], $0
+
+; no known jump sources
+Functioncd96a: ; cd96a (33:596a)
+ call Functioncd99a
+ ret
+
+; no known jump sources
+Functioncd96e: ; cd96e (33:596e)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $88
+ jr c, asm_cd988
+ call Functionce72c
+ ret
+
+; no known jump sources
+Functioncd97b: ; cd97b (33:597b)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $b8
+ jr c, asm_cd988
+ call Functioncc9bd
+ ret
+
+; known jump sources: cd975 (33:5975), cd982 (33:5982)
+asm_cd988: ; cd988 (33:5988)
+ call Functioncd99a
+ ld hl, $7
+ add hl, bc
+ inc [hl]
+ ld a, [hl]
+ and $1
+ ret nz
+ ld hl, $8
+ add hl, bc
+ dec [hl]
+ ret
+
+; known jump sources: cd96a (33:596a), cd988 (33:5988)
+Functioncd99a: ; cd99a (33:599a)
+ call Functioncd9f4
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ push af
+ push de
+ call Functionce734
+ sra a
+ sra a
+ sra a
+ sra a
+ ld hl, $b
+ add hl, bc
+ add [hl]
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ sub $8
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_cd9d7
+ cp $c2
+ jr c, .asm_cd9e2
+.asm_cd9d7
+ dec a
+ ld [hl], a
+ and $7
+ ret nz
+ ld hl, $10
+ add hl, bc
+ inc [hl]
+ ret
+.asm_cd9e2
+ xor a
+ ld hl, $10
+ add hl, bc
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ ld [hl], a
+ ld hl, $9
+ add hl, bc
+ ld [hli], a
+ ld [hl], a
+ ret
+
+; known jump sources: cd99a (33:599a)
+Functioncd9f4: ; cd9f4 (33:59f4)
+ ld hl, $10
+ add hl, bc
+ ld e, [hl]
+ ld d, $0
+ ld hl, $5a01
+ add hl, de
+ ld d, [hl]
+ ret
+; cda01 (33:5a01)
+
+INCBIN "baserom.gbc",$cda01,$cda0a - $cda01
+
+; no known jump sources
+Functioncda0a: ; cda0a (33:5a0a)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $30
+ jr nc, .asm_cda17
+ call Functioncc9bd
+ ret
+.asm_cda17
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $f
+ ld e, a
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ sub e
+ ld [hl], a
+ srl e
+ ld hl, $8
+ add hl, bc
+.asm_cda2c
+ inc [hl]
+ dec e
+ jr nz, .asm_cda2c
+ ret
+
+; no known jump sources
+Functioncda31: ; cda31 (33:5a31)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cda34: ; cda34 (33:5a34)
+ dw Functioncda4c
+ dw Functioncda3a
+ dw Functioncda4c
+
+
+; no known jump sources
+Functioncda3a: ; cda3a (33:5a3a)
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ inc a
+ call Functionce7bf
+ call Functionce72c
+ ld hl, $f
+ add hl, bc
+ ld [hl], $8
+
+; no known jump sources
+Functioncda4c: ; cda4c (33:5a4c)
+ ret
+
+; no known jump sources
+Functioncda4d: ; cda4d (33:5a4d)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cda50: ; cda50 (33:5a50)
+ dw Functioncda58
+ dw Functioncda62
+ dw Functioncda7a
+ dw Functioncda8c
+
+
+; no known jump sources
+Functioncda58: ; cda58 (33:5a58)
+ call Functionce72c
+ ld hl, $10
+ add hl, bc
+ ld [hl], $40
+ ret
+
+; no known jump sources
+Functioncda62: ; cda62 (33:5a62)
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ cp $20
+ jr c, .asm_cda6f
+ call Functioncda8d
+ ret
+.asm_cda6f
+ ld [hl], $40
+ ld a, $57
+ call Functionce7bf
+ call Functionce72c
+ ret
+
+; no known jump sources
+Functioncda7a: ; cda7a (33:5a7a)
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_cda84
+ dec [hl]
+ ret
+.asm_cda84
+ call Functionce72c
+ ld a, $58
+ call Functionce7bf
+
+; no known jump sources
+Functioncda8c: ; cda8c (33:5a8c)
+ ret
+
+; known jump sources: cda6b (33:5a6b), cdaf2 (33:5af2)
+Functioncda8d: ; cda8d (33:5a8d)
+ dec [hl]
+ ld d, $20
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ add $2
+ ld [hl], a
+ ld hl, $f
+ add hl, bc
+ ld e, [hl]
+ ld hl, $7
+ add hl, bc
+ ld d, [hl]
+ ld hl, $b
+ add hl, bc
+ ld h, [hl]
+ ld a, h
+ and $f
+ swap a
+ ld l, a
+ ld a, h
+ and $f0
+ swap a
+ ld h, a
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, $f
+ add hl, bc
+ ld [hl], e
+ ld hl, $7
+ add hl, bc
+ ld [hl], d
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ and $1
+ ret nz
+ ld hl, $8
+ add hl, bc
+ dec [hl]
+ ret
+
+; no known jump sources
+Functioncdad6: ; cdad6 (33:5ad6)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cdad9: ; cdad9 (33:5ad9)
+ dw Functioncdadf
+ dw Functioncdae9
+ dw Functioncdaf9
+
+
+; no known jump sources
+Functioncdadf: ; cdadf (33:5adf)
+ call Functionce72c
+ ld hl, $10
+ add hl, bc
+ ld [hl], $40
+ ret
+
+; no known jump sources
+Functioncdae9: ; cdae9 (33:5ae9)
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ cp $20
+ jr c, .asm_cdaf6
+ call Functioncda8d
+ ret
+.asm_cdaf6
+ call Functionce72c
+
+; no known jump sources
+Functioncdaf9: ; cdaf9 (33:5af9)
+ ret
+
+; no known jump sources
+Functioncdafa: ; cdafa (33:5afa)
+ call Functioncd0e3
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ add $f
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functioncdb06: ; cdb06 (33:5b06)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cdb09: ; cdb09 (33:5b09)
+ dw Functioncdb13
+ dw Functioncdb14
+ dw Functioncdb28
+ dw Functioncdb50
+ dw Functioncdb65
+
+
+; no known jump sources
+Functioncdb13: ; cdb13 (33:5b13)
+ ret
+
+; no known jump sources
+Functioncdb14: ; cdb14 (33:5b14)
+ ld hl, $8
+ add hl, bc
+ ld a, [hl]
+ cp $30
+ jr c, .asm_cdb24
+ ld hl, $e
+ add hl, bc
+ ld [hl], $0
+ ret
+.asm_cdb24
+ add $4
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functioncdb28: ; cdb28 (33:5b28)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $98
+ ret nc
+ inc [hl]
+ inc [hl]
+ ld hl, $1
+ add hl, bc
+ set 0, [hl]
+ ld hl, $2
+ add hl, bc
+ ld [hl], $90
+ ld hl, $d
+ add hl, bc
+ ld [hl], $0
+ ld hl, $c
+ add hl, bc
+ ld [hl], $2
+ ld hl, $8
+ add hl, bc
+ dec [hl]
+ ret
+
+; no known jump sources
+Functioncdb50: ; cdb50 (33:5b50)
+ call Functionce72c
+ ld hl, $f
+ add hl, bc
+ ld [hl], $2c
+ ld hl, $d
+ add hl, bc
+ ld [hl], $0
+ ld hl, $c
+ add hl, bc
+ ld [hl], $80
+
+; no known jump sources
+Functioncdb65: ; cdb65 (33:5b65)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $98
+ ret nc
+ inc [hl]
+ inc [hl]
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ ld d, $8
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functioncdb80: ; cdb80 (33:5b80)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cdb83: ; cdb83 (33:5b83)
+ dw Functioncdb9f
+ dw Functioncdbb3
+ dw Functioncdbcf
+ dw Functioncdbeb
+ dw Functioncdc74
+ dw Functioncdc1a
+ dw Functioncdbc1
+ dw Functioncdc1e
+ dw Functioncdc27
+ dw Functioncdc39
+ dw Functioncdc74
+ dw Functioncdc48
+ dw Functioncdc57
+ dw Functioncdc74
+
+
+; no known jump sources
+Functioncdb9f: ; cdb9f (33:5b9f)
+ ld hl, $f
+ add hl, bc
+ ld [hl], $28
+ inc hl
+ ld [hl], $10
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ ld hl, $e
+ add hl, bc
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functioncdbb3: ; cdbb3 (33:5bb3)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $40
+ jr nc, .asm_cdbbd
+ inc [hl]
+.asm_cdbbd
+ call Functioncdc75
+ ret
+
+; no known jump sources
+Functioncdbc1: ; cdbc1 (33:5bc1)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $4b
+ jr nc, .asm_cdbcb
+ inc [hl]
+.asm_cdbcb
+ call Functioncdc75
+ ret
+
+; no known jump sources
+Functioncdbcf: ; cdbcf (33:5bcf)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $88
+ jr nc, .asm_cdbe6
+ and $f
+ jr nz, asm_cdbfa
+ ld hl, $10
+ add hl, bc
+ ld [hl], $10
+ call Functionce72c
+ ret
+.asm_cdbe6
+ call Functionce72c
+ inc [hl]
+ ret
+
+; no known jump sources
+Functioncdbeb: ; cdbeb (33:5beb)
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_cdbf5
+ dec [hl]
+ ret
+.asm_cdbf5
+ ld hl, $e
+ add hl, bc
+ dec [hl]
+asm_cdbfa: ; cdbfa (33:5bfa)
+ ld hl, $7
+ add hl, bc
+ inc [hl]
+ ld hl, $8
+ add hl, bc
+ ld d, [hl]
+ ld hl, $f
+ add hl, bc
+ ld e, [hl]
+ ld hl, hPushOAM ; $ff80
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, $8
+ add hl, bc
+ ld [hl], d
+ ld hl, $f
+ add hl, bc
+ ld [hl], e
+ ret
+
+; no known jump sources
+Functioncdc1a: ; cdc1a (33:5c1a)
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functioncdc1e: ; cdc1e (33:5c1e)
+ ld a, $4e
+ call Functionce7bf
+ call Functionce72c
+ ret
+
+; no known jump sources
+Functioncdc27: ; cdc27 (33:5c27)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ inc [hl]
+ ld d, $2
+ call Functionce734
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functioncdc39: ; cdc39 (33:5c39)
+ ld a, $50
+ call Functionce7bf
+ ld hl, $a
+ add hl, bc
+ ld [hl], $4
+ call Functionce72c
+ ret
+
+; no known jump sources
+Functioncdc48: ; cdc48 (33:5c48)
+ ld a, $4f
+ call Functionce7bf
+ call Functionce72c
+ ld hl, $f
+ add hl, bc
+ ld [hl], $40
+ ret
+
+; no known jump sources
+Functioncdc57: ; cdc57 (33:5c57)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ ld d, $20
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ cp $30
+ jr c, .asm_cdc71
+ dec [hl]
+ ret
+.asm_cdc71
+ call Functionce72c
+
+; no known jump sources
+Functioncdc74: ; cdc74 (33:5c74)
+ ret
+
+; known jump sources: cdbbd (33:5bbd), cdbcb (33:5bcb)
+Functioncdc75: ; cdc75 (33:5c75)
+ ld hl, $f
+ add hl, bc
+ ld a, [hli]
+ ld d, [hl]
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ ld hl, $f
+ add hl, bc
+ inc [hl]
+ ld a, [hl]
+ and $3f
+ ret nz
+ ld hl, $f
+ add hl, bc
+ ld [hl], $20
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ sub $8
+ ld [hl], a
+ ret nz
+ xor a
+ ld hl, $f
+ add hl, bc
+ ld [hli], a
+ ld [hl], a
+ call Functionce72c
+ ret
+
+; no known jump sources
+Functioncdca6: ; cdca6 (33:5ca6)
+ ld hl, $a
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_cdcb6
+ cp $d8
+ jr nc, .asm_cdcb6
+ call Functioncc9bd
+ ret
+.asm_cdcb6
+ ld hl, $b
+ add hl, bc
+ ld d, [hl]
+ ld hl, $a
+ add hl, bc
+ ld a, [hl]
+ sub d
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functioncdcc3: ; cdcc3 (33:5cc3)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cdcc6: ; cdcc6 (33:5cc6)
+ dw Functioncdcca
+ dw Functioncdced
+
+
+; no known jump sources
+Functioncdcca: ; cdcca (33:5cca)
+ ld a, [hBattleTurn] ; $ff00+$e4
+ and a
+ jr z, .asm_cdcd9
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ xor $ff
+ add $3
+ ld [hl], a
+.asm_cdcd9
+ call Functionce72c
+ ld hl, $f
+ add hl, bc
+ ld [hl], $8
+ ld hl, $b
+ add hl, bc
+ ld a, $59
+ add [hl]
+ call Functionce7bf
+ ret
+
+; no known jump sources
+Functioncdced: ; cdced (33:5ced)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_cdcfa
+ dec [hl]
+ call Functioncdcfe
+ ret
+.asm_cdcfa
+ call Functioncc9bd
+ ret
+
+; known jump sources: cdcf6 (33:5cf6)
+Functioncdcfe: ; cdcfe (33:5cfe)
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ inc [hl]
+ ld d, $10
+ call Functionce734
+ ld d, a
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_cdd20
+ dec a
+ ret z
+ ld hl, $a
+ add hl, bc
+ ld [hl], d
+ ret
+.asm_cdd20
+ ld hl, $a
+ add hl, bc
+ ld a, d
+ xor $ff
+ inc a
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functioncdd2a: ; cdd2a (33:5d2a)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cdd2d: ; cdd2d (33:5d2d)
+ dw Functioncdd31
+ dw Functioncdd4f
+
+
+; no known jump sources
+Functioncdd31: ; cdd31 (33:5d31)
+ call Functionce72c
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $3f
+ ld hl, $10
+ add hl, bc
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $80
+ rlca
+ ld [hl], a
+ add $5d
+ call Functionce7bf
+ ret
+
+; no known jump sources
+Functioncdd4f: ; cdd4f (33:5d4f)
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ swap a
+ ld d, a
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ push af
+ push de
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $80
+ ret nc
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ and $3
+ jr nz, .asm_cdd87
+ ld hl, $8
+ add hl, bc
+ dec [hl]
+.asm_cdd87
+ and $1
+ ret nz
+ ld hl, $7
+ add hl, bc
+ inc [hl]
+ ret
+
+; no known jump sources
+Functioncdd90: ; cdd90 (33:5d90)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cdd93: ; cdd93 (33:5d93)
+ dw Functioncdd97
+ dw Functioncddbc
+
+
+; no known jump sources
+Functioncdd97: ; cdd97 (33:5d97)
+ call Functionce72c
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ ld hl, $f
+ add hl, bc
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $80
+ rlca
+ ld hl, $f
+ add hl, bc
+ add [hl]
+ call Functionce7bf
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $7f
+ ld [hl], a
+
+; no known jump sources
+Functioncddbc: ; cddbc (33:5dbc)
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ ld d, $10
+ push af
+ push de
+ call Functionce734
+ sra a
+ sra a
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ and $3f
+ jr z, .asm_cddf0
+ and $1f
+ ret nz
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ inc a
+ jr .asm_cddf5
+.asm_cddf0
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+.asm_cddf5
+ call Functionce7bf
+ ret
+
+; no known jump sources
+Functioncddf9: ; cddf9 (33:5df9)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cddfc: ; cddfc (33:5dfc)
+ dw Functioncde02
+ dw Functioncde20
+ dw Functioncde21
+
+
+; no known jump sources
+Functioncde02: ; cde02 (33:5e02)
+ call Functionce72c
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ add $63
+ call Functionce7bf
+ ld hl, $b
+ add hl, bc
+ ld e, [hl]
+ ld d, $0
+ ld hl, $5e25
+ add hl, de
+ ld a, [hl]
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+
+; no known jump sources
+Functioncde20: ; cde20 (33:5e20)
+ ret
+
+; no known jump sources
+Functioncde21: ; cde21 (33:5e21)
+ call Functioncc9bd
+ ret
+; cde25 (33:5e25)
+
+INCBIN "baserom.gbc",$cde25,$cde28 - $cde25
+
+; no known jump sources
+Functioncde28: ; cde28 (33:5e28)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ inc [hl]
+ ld d, $4
+ call Functionce734
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $a
+ add hl, bc
+ ld d, [hl]
+ ld hl, $10
+ add hl, bc
+ ld e, [hl]
+ ld hl, $ffa0
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, $a
+ add hl, bc
+ ld [hl], d
+ ld hl, $10
+ add hl, bc
+ ld [hl], e
+ ret
+
+; no known jump sources
+Functioncde54: ; cde54 (33:5e54)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ dec [hl]
+ dec [hl]
+ ld d, $10
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ ld hl, $7
+ add hl, bc
+ inc [hl]
+ ret
+
+; no known jump sources
+Functioncde6b: ; cde6b (33:5e6b)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cde6e: ; cde6e (33:5e6e)
+ dw Functioncde72
+ dw Functioncde88
+
+
+; no known jump sources
+Functioncde72: ; cde72 (33:5e72)
+ call Functionce72c
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr nz, .asm_cde83
+ ld hl, $1
+ add hl, bc
+ set 6, [hl]
+.asm_cde83
+ add $6a
+ call Functionce7bf
+
+; no known jump sources
+Functioncde88: ; cde88 (33:5e88)
+ ret
+
+; no known jump sources
+Functioncde89: ; cde89 (33:5e89)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cde8c: ; cde8c (33:5e8c)
+ dw Functioncde90
+ dw Functioncdebf
+
+
+; no known jump sources
+Functioncde90: ; cde90 (33:5e90)
+ call Functionce72c
+ ld hl, $f
+ add hl, bc
+ ld [hl], $0
+ ld hl, $b
+ add hl, bc
+ ld e, [hl]
+ ld a, e
+ and $70
+ swap a
+ ld [hl], a
+ ld hl, $9
+ add hl, bc
+ ld a, e
+ and $80
+ jr nz, .asm_cdeb2
+ ld a, e
+ and $f
+ ld [hl], a
+ ret
+.asm_cdeb2
+ ld a, e
+ and $f
+ xor $ff
+ inc a
+ ld [hl], a
+ ld a, $6e
+ call Functionce7bf
+ ret
+
+; no known jump sources
+Functioncdebf: ; cdebf (33:5ebf)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_cdec9
+ dec [hl]
+ ret
+.asm_cdec9
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ ld hl, $f
+ add hl, bc
+ ld [hl], a
+ ld hl, $9
+ add hl, bc
+ ld a, [hl]
+ xor $ff
+ inc a
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functioncdedd: ; cdedd (33:5edd)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ ld d, $18
+ push af
+ push de
+ call Functionce734
+ sra a
+ sra a
+ sra a
+ ld hl, $10
+ add hl, bc
+ add [hl]
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $f
+ add hl, bc
+ inc [hl]
+ ld a, [hl]
+ and $7
+ ret nz
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ cp $28
+ jr nc, .asm_cdf17
+ inc [hl]
+ ret
+.asm_cdf17
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functioncdf1b: ; cdf1b (33:5f1b)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ ld d, $18
+ push af
+ push de
+ call Functionce734
+ sra a
+ sra a
+ sra a
+ ld hl, $10
+ add hl, bc
+ add [hl]
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $f
+ add hl, bc
+ inc [hl]
+ ld a, [hl]
+ and $3
+ ret nz
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ cp $28
+ jr nc, .asm_cdf55
+ inc [hl]
+ ret
+.asm_cdf55
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functioncdf59: ; cdf59 (33:5f59)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cdf5c: ; cdf5c (33:5f5c)
+ dw Functioncdf60
+ dw Functioncdedd
+
+
+; no known jump sources
+Functioncdf60: ; cdf60 (33:5f60)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $84
+ jr nc, .asm_cdf88
+ inc [hl]
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ ld d, $18
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ and $1
+ ret nz
+ ld hl, $8
+ add hl, bc
+ dec [hl]
+ ret
+.asm_cdf88
+ call Functionce72c
+ ret
+
+; no known jump sources
+Functioncdf8c: ; cdf8c (33:5f8c)
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ ld d, $18
+ push af
+ push de
+ call Functionce734
+ sra a
+ sra a
+ sra a
+ ld hl, $10
+ add hl, bc
+ add [hl]
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ inc [hl]
+ inc [hl]
+ ld a, [hl]
+ and $7
+ ret nz
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ cp $e8
+ jr z, .asm_cdfc7
+ dec [hl]
+ ret
+.asm_cdfc7
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functioncdfcb: ; cdfcb (33:5fcb)
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ ld d, $18
+ push af
+ push de
+ call Functionce734
+ sra a
+ sra a
+ sra a
+ ld hl, $10
+ add hl, bc
+ add [hl]
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ inc [hl]
+ inc [hl]
+ ld a, [hl]
+ and $3
+ ret nz
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ cp $d0
+ jr z, .asm_ce007
+ dec [hl]
+ dec [hl]
+ ret
+.asm_ce007
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functionce00b: ; ce00b (33:600b)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_ce00e: ; ce00e (33:600e)
+ dw Functionce014
+ dw Functionce023
+ dw Functionce05f
+
+
+; no known jump sources
+Functionce014: ; ce014 (33:6014)
+ call Functionce72c
+ ld hl, $f
+ add hl, bc
+ ld [hl], $34
+ ld hl, $10
+ add hl, bc
+ ld [hl], $10
+
+; no known jump sources
+Functionce023: ; ce023 (33:6023)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $6c
+ jr c, .asm_ce02d
+ ret
+.asm_ce02d
+ ld a, $2
+ call Functionce70a
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ ld hl, $10
+ add hl, bc
+ ld d, [hl]
+ call Functionce734
+ bit 7, a
+ jr nz, .asm_ce046
+ xor $ff
+ inc a
+.asm_ce046
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ sub $4
+ ld [hl], a
+ and $1f
+ cp $20
+ ret nz
+ ld hl, $10
+ add hl, bc
+ srl [hl]
+ ret
+
+; no known jump sources
+Functionce05f: ; ce05f (33:605f)
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functionce063: ; ce063 (33:6063)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_ce066: ; ce066 (33:6066)
+ dw Functionce06e
+ dw Functionce083
+ dw Functionce091
+ dw Functionce09e
+
+
+; no known jump sources
+Functionce06e: ; ce06e (33:606e)
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ ld hl, $e
+ add hl, bc
+ ld [hl], a
+ ld hl, $8
+ add hl, bc
+ ld a, [hl]
+ ld hl, $f
+ add hl, bc
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionce083: ; ce083 (33:6083)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $58
+ ret nc
+ ld a, $2
+ call Functionce70a
+ ret
+
+; no known jump sources
+Functionce091: ; ce091 (33:6091)
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ cp $20
+ jr c, Functionce09e
+ call Functioncc9bd
+ ret
+
+; known jump sources: ce098 (33:6098)
+Functionce09e: ; ce09e (33:609e)
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ ld d, $8
+ call Functionce734
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ sra a
+ xor $ff
+ inc a
+ ld hl, $f
+ add hl, bc
+ add [hl]
+ ld hl, $8
+ add hl, bc
+ ld [hl], a
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ add $8
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionce0c5: ; ce0c5 (33:60c5)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_ce0c8: ; ce0c8 (33:60c8)
+ dw Functionce0ce
+ dw Functionce0f8
+ dw Functionce0dd
+
+
+; no known jump sources
+Functionce0ce: ; ce0ce (33:60ce)
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $f0
+ swap a
+ ld hl, $e
+ add hl, bc
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionce0dd: ; ce0dd (33:60dd)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ ld d, $10
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ bit 7, a
+ jr z, .asm_ce0f0
+ ld [hl], a
+.asm_ce0f0
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ sub $4
+ ld [hl], a
+
+; no known jump sources
+Functionce0f8: ; ce0f8 (33:60f8)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $84
+ jr c, .asm_ce105
+ call Functioncc9bd
+ ret
+.asm_ce105
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ call Functionce70a
+ ret
+
+; no known jump sources
+Functionce10e: ; ce10e (33:610e)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_ce111: ; ce111 (33:6111)
+ dw Functionce115
+ dw Functionce12a
+
+
+; no known jump sources
+Functionce115: ; ce115 (33:6115)
+ call Functionce72c
+ ld hl, $f
+ add hl, bc
+ ld [hl], $28
+ ld hl, $8
+ add hl, bc
+ ld a, [hl]
+ sub $28
+ ld hl, $10
+ add hl, bc
+ ld [hl], a
+
+; no known jump sources
+Functionce12a: ; ce12a (33:612a)
+ ld hl, $f
+ add hl, bc
+ ld a, [hli]
+ ld d, [hl]
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ ld hl, $b
+ add hl, bc
+ and [hl]
+ jr nz, .asm_ce149
+ ld hl, $7
+ add hl, bc
+ dec [hl]
+.asm_ce149
+ ld hl, $f
+ add hl, bc
+ inc [hl]
+ ld a, [hl]
+ and $3f
+ ret nz
+ ld hl, $f
+ add hl, bc
+ ld [hl], $20
+ inc hl
+ srl [hl]
+ ret
+
+; no known jump sources
+Functionce15c: ; ce15c (33:615c)
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ ld hl, $f
+ add hl, bc
+ ld d, [hl]
+ push af
+ push de
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ inc [hl]
+ ld a, [hl]
+ and $1
+ jr nz, .asm_ce189
+ ld hl, $7
+ add hl, bc
+ dec [hl]
+.asm_ce189
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $3
+ jr nz, .asm_ce197
+ ld hl, $8
+ add hl, bc
+ inc [hl]
+.asm_ce197
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ ld hl, $f
+ add hl, bc
+ cp $5a
+ jr nc, .asm_ce1aa
+ ld a, [hl]
+ and a
+ jr z, .asm_ce1ac
+ dec [hl]
+ ret
+.asm_ce1aa
+ inc [hl]
+ ret
+.asm_ce1ac
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functionce1b0: ; ce1b0 (33:61b0)
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ ld hl, $f
+ add hl, bc
+ ld d, [hl]
+ push af
+ push de
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ ld hl, $f
+ add hl, bc
+ cp $40
+ jr nc, .asm_ce1df
+ inc [hl]
+ ret
+.asm_ce1df
+ ld a, [hl]
+ dec [hl]
+ and a
+ ret nz
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functionce1e7: ; ce1e7 (33:61e7)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_ce1ea: ; ce1ea (33:61ea)
+ dw Functionce1ee
+ dw Functionce1fb
+
+
+; no known jump sources
+Functionce1ee: ; ce1ee (33:61ee)
+ call Functionce72c
+ ld hl, $8
+ add hl, bc
+ ld a, [hl]
+ ld hl, $10
+ add hl, bc
+ ld [hl], a
+
+; no known jump sources
+Functionce1fb: ; ce1fb (33:61fb)
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ ld d, $30
+ call Functionce734
+ ld hl, $10
+ add hl, bc
+ add [hl]
+ ld hl, $8
+ add hl, bc
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ add $8
+ ld d, $30
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ inc [hl]
+ ret
+
+; no known jump sources
+Functionce226: ; ce226 (33:6226)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_ce229: ; ce229 (33:6229)
+ dw Functionce22d
+ dw Functionce254
+
+
+; no known jump sources
+Functionce22d: ; ce22d (33:622d)
+ call Functionce72c
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ ld d, $10
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ ld d, $10
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $10
+ add hl, bc
+ ld [hl], $f
+
+; no known jump sources
+Functionce254: ; ce254 (33:6254)
+ ret
+
+; no known jump sources
+Functionce255: ; ce255 (33:6255)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_ce258: ; ce258 (33:6258)
+ dw Functionce260
+ dw Functionce274
+ dw Functionce278
+ dw Functionce289
+
+
+; no known jump sources
+Functionce260: ; ce260 (33:6260)
+ call Functionce72c
+ ld a, [hBattleTurn] ; $ff00+$e4
+ and a
+ jr nz, .asm_ce26c
+ ld a, $f0
+ jr .asm_ce26e
+.asm_ce26c
+ ld a, $cc
+.asm_ce26e
+ ld hl, $f
+ add hl, bc
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionce274: ; ce274 (33:6274)
+ call Functionce29f
+ ret
+
+; no known jump sources
+Functionce278: ; ce278 (33:6278)
+ call Functionce29f
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $84
+ ret nc
+ ld a, $4
+ call Functionce70a
+ ret
+
+; no known jump sources
+Functionce289: ; ce289 (33:6289)
+ call Functionce29f
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $d0
+ jr nc, .asm_ce29b
+ ld a, $4
+ call Functionce70a
+ ret
+.asm_ce29b
+ call Functioncc9bd
+ ret
+
+; known jump sources: ce274 (33:6274), ce278 (33:6278), ce289 (33:6289)
+Functionce29f: ; ce29f (33:629f)
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ and $7
+ inc [hl]
+ srl a
+ ld e, a
+ ld d, $0
+ ld a, [hSGB] ; $ff00+$e7
+ and a
+ jr nz, .asm_ce2b6
+ ld hl, $62c4
+ jr .asm_ce2b9
+.asm_ce2b6
+ ld hl, $62c8
+.asm_ce2b9
+ add hl, de
+ ld a, [hl]
+ ld hl, $f
+ add hl, bc
+ and [hl]
+ ld [$cfc8], a
+ ret
+; ce2c4 (33:62c4)
+
+INCBIN "baserom.gbc",$ce2c4,$ce2cc - $ce2c4
+
+; no known jump sources
+Functionce2cc: ; ce2cc (33:62cc)
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ ld d, $18
+ call Functionce734
+ sra a
+ sra a
+ sra a
+ ld hl, $10
+ add hl, bc
+ add [hl]
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ ld d, $18
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $10
+ add hl, bc
+ dec [hl]
+ dec [hl]
+ ret
+
+; no known jump sources
+Functionce2fd: ; ce2fd (33:62fd)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_ce300: ; ce300 (33:6300)
+ dw Functionce306
+ dw Functionce330
+ dw Functionce34c
+
+
+; no known jump sources
+Functionce306: ; ce306 (33:6306)
+ ld hl, $a
+ add hl, bc
+ ld a, [hl]
+ cp $e0
+ jr nz, .asm_ce319
+ call Functionce72c
+ ld hl, $f
+ add hl, bc
+ ld [hl], $2
+ ret
+.asm_ce319
+ ld d, a
+ ld hl, $f
+ add hl, bc
+ ld e, [hl]
+ ld hl, hPushOAM ; $ff80
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, $a
+ add hl, bc
+ ld [hl], d
+ ld hl, $f
+ add hl, bc
+ ld [hl], e
+ ret
+
+; no known jump sources
+Functionce330: ; ce330 (33:6330)
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_ce33a
+ dec [hl]
+ ret
+.asm_ce33a
+ ld [hl], $4
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ xor $ff
+ inc a
+ ld [hl], a
+ ld hl, $a
+ add hl, bc
+ add [hl]
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionce34c: ; ce34c (33:634c)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $84
+ jr nc, .asm_ce35b
+ ld a, $4
+ call Functionce70a
+ ret
+.asm_ce35b
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functionce35f: ; ce35f (33:635f)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_ce362: ; ce362 (33:6362)
+ dw Functionce366
+ dw Functionce375
+
+
+; no known jump sources
+Functionce366: ; ce366 (33:6366)
+ call Functionce72c
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $7f
+ add $81
+ call Functionce7bf
+
+; no known jump sources
+Functionce375: ; ce375 (33:6375)
+ ld hl, $b
+ add hl, bc
+ bit 7, [hl]
+ jr nz, .asm_ce383
+ ld hl, $9
+ add hl, bc
+ inc [hl]
+ ret
+.asm_ce383
+ ld hl, $9
+ add hl, bc
+ dec [hl]
+ ret
+
+; no known jump sources
+Functionce389: ; ce389 (33:6389)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_ce38c: ; ce38c (33:638c)
+ dw Functionce392
+ dw Functionce39c
+ dw Functionce3ae
+
+
+; no known jump sources
+Functionce392: ; ce392 (33:6392)
+ call Functionce72c
+ ld hl, $f
+ add hl, bc
+ ld [hl], $c
+ ret
+
+; no known jump sources
+Functionce39c: ; ce39c (33:639c)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_ce3a6
+ dec [hl]
+ ret
+.asm_ce3a6
+ call Functionce72c
+ ld a, $20
+ call Functionce7bf
+
+; no known jump sources
+Functionce3ae: ; ce3ae (33:63ae)
+ ld hl, $a
+ add hl, bc
+ dec [hl]
+ ret
+
+; no known jump sources
+Functionce3b4: ; ce3b4 (33:63b4)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ inc [hl]
+ push af
+ ld d, $2
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ pop af
+ ld d, $8
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionce3d2: ; ce3d2 (33:63d2)
+ ld hl, $a
+ add hl, bc
+ ld a, [hl]
+ cp $20
+ jr c, .asm_ce3df
+ call Functioncc9bd
+ ret
+.asm_ce3df
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ ld d, $8
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ add $2
+ ld [hl], a
+ and $7
+ ret nz
+ ld hl, $a
+ add hl, bc
+ inc [hl]
+ ret
+
+; no known jump sources
+Functionce3ff: ; ce3ff (33:63ff)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_ce402: ; ce402 (33:6402)
+ dw Functionce406
+ dw Functionce412
+
+
+; no known jump sources
+Functionce406: ; ce406 (33:6406)
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ ld hl, $7
+ add hl, bc
+ add [hl]
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionce412: ; ce412 (33:6412)
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functionce416: ; ce416 (33:6416)
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ ld d, $18
+ push af
+ push de
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ sra a
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ ret
+
+; no known jump sources
+Functionce43a: ; ce43a (33:643a)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_ce43d: ; ce43d (33:643d)
+ dw Functionce443
+ dw Functionce465
+ dw Functionce490
+
+
+; no known jump sources
+Functionce443: ; ce443 (33:6443)
+ call Functionce72c
+ ld hl, $f
+ add hl, bc
+ ld [hl], $28
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $f
+ ld hl, $3
+ add hl, bc
+ add [hl]
+ call Functionce7bf
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $f0
+ or $8
+ ld [hl], a
+
+; no known jump sources
+Functionce465: ; ce465 (33:6465)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_ce48b
+ dec [hl]
+ add $8
+ ld d, a
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ push af
+ push de
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ret
+.asm_ce48b
+ ld [hl], $10
+ call Functionce72c
+
+; no known jump sources
+Functionce490: ; ce490 (33:6490)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ dec [hl]
+ and a
+ ret nz
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functionce49c: ; ce49c (33:649c)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_ce49f: ; ce49f (33:649f)
+ dw Functionce4a3
+ dw Functionce4b0
+
+
+; no known jump sources
+Functionce4a3: ; ce4a3 (33:64a3)
+ call Functionce72c
+ ld hl, $b
+ add hl, bc
+ ld a, $24
+ add [hl]
+ call Functionce7bf
+
+; no known jump sources
+Functionce4b0: ; ce4b0 (33:64b0)
+ ld hl, $a
+ add hl, bc
+ ld a, [hl]
+ cp $38
+ jr nc, .asm_ce4d8
+ inc [hl]
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ ld d, $18
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $8
+ add hl, bc
+ ld a, [hl]
+ and $1
+ ret nz
+ ld hl, $7
+ add hl, bc
+ dec [hl]
+ ret
+.asm_ce4d8
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functionce4dc: ; ce4dc (33:64dc)
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and a
+ ret z
+ ld d, a
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ call Functionce734
+ bit 7, a
+ jr nz, .asm_ce4f4
+ xor $ff
+ inc a
+.asm_ce4f4
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ and $1f
+ ret nz
+ ld hl, $b
+ add hl, bc
+ srl [hl]
+ ret
+
+; no known jump sources
+Functionce508: ; ce508 (33:6508)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ cp $10
+ jr nc, .asm_ce52e
+ inc [hl]
+ inc [hl]
+ ld d, a
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ push af
+ push de
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ret
+.asm_ce52e
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functionce532: ; ce532 (33:6532)
+ ld hl, $b
+ add hl, bc
+ ld e, [hl]
+ ld hl, $f
+ add hl, bc
+ ld d, [hl]
+ ld a, e
+ and $c0
+ rlca
+ rlca
+ add [hl]
+ ld [hl], a
+ ld a, e
+ and $3f
+ push af
+ push de
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionce55b: ; ce55b (33:655b)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_ce55e: ; ce55e (33:655e)
+ dw Functionce564
+ dw Functionce56e
+ dw Functionce577
+
+
+; no known jump sources
+Functionce564: ; ce564 (33:6564)
+ ld d, $18
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ jr asm_ce58f
+
+; no known jump sources
+Functionce56e: ; ce56e (33:656e)
+ call Functionce72c
+ ld hl, $f
+ add hl, bc
+ ld [hl], $18
+
+; no known jump sources
+Functionce577: ; ce577 (33:6577)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ cp $80
+ jr nc, .asm_ce58b
+ ld d, a
+ add $8
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ jr asm_ce58f
+.asm_ce58b
+ call Functioncc9bd
+ ret
+asm_ce58f: ; ce58f (33:658f)
+ call Functionce6f1
+ ret
+
+; no known jump sources
+Functionce593: ; ce593 (33:6593)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_ce596: ; ce596 (33:6596)
+ dw Functionce5b3
+ dw Functionce59a
+
+
+; no known jump sources
+Functionce59a: ; ce59a (33:659a)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $30
+ jr c, .asm_ce5b0
+ ld hl, $7
+ add hl, bc
+ dec [hl]
+ dec [hl]
+ ld hl, $8
+ add hl, bc
+ inc [hl]
+ inc [hl]
+ ret
+.asm_ce5b0
+ call Functioncc9bd
+
+; no known jump sources
+Functionce5b3: ; ce5b3 (33:65b3)
+ ret
+
+; no known jump sources
+Functionce5b4: ; ce5b4 (33:65b4)
+ ld d, $50
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ inc [hl]
+ push af
+ push de
+ call Functionce734
+ sra a
+ sra a
+ ld hl, $f
+ add hl, bc
+ add [hl]
+ inc [hl]
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionce5dc: ; ce5dc (33:65dc)
+ ld hl, $a
+ add hl, bc
+ ld a, [hl]
+ cp $d0
+ jr z, .asm_ce5ea
+ dec [hl]
+ dec [hl]
+ dec [hl]
+ dec [hl]
+ ret
+.asm_ce5ea
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functionce5ee: ; ce5ee (33:65ee)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_ce5f1: ; ce5f1 (33:65f1)
+ dw Functionce5f9
+ dw Functionce60a
+ dw Functionce622
+ dw Functionce618
+
+
+; no known jump sources
+Functionce5f9: ; ce5f9 (33:65f9)
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr nz, asm_ce61c
+ call Functionce72c
+ ld hl, $a
+ add hl, bc
+ ld [hl], $ec
+
+; no known jump sources
+Functionce60a: ; ce60a (33:660a)
+ ld hl, $a
+ add hl, bc
+ ld a, [hl]
+ cp $4
+ jr z, Functionce618
+ inc [hl]
+ inc [hl]
+ inc [hl]
+ inc [hl]
+ ret
+
+; known jump sources: ce611 (33:6611)
+Functionce618: ; ce618 (33:6618)
+ call Functioncc9bd
+ ret
+asm_ce61c: ; ce61c (33:661c)
+ call Functionce72c
+ call Functionce72c
+
+; no known jump sources
+Functionce622: ; ce622 (33:6622)
+ ld hl, $a
+ add hl, bc
+ ld a, [hl]
+ cp $d8
+ ret z
+ dec [hl]
+ dec [hl]
+ dec [hl]
+ dec [hl]
+ ret
+
+; no known jump sources
+Functionce62f: ; ce62f (33:662f)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_ce632: ; ce632 (33:6632)
+ dw Functionce63a
+ dw Functionce648
+ dw Functionce65c
+ dw Functionce672
+
+
+; no known jump sources
+Functionce63a: ; ce63a (33:663a)
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ ld hl, $e
+ add hl, bc
+ ld [hl], a
+ call Functionce72c
+ ret
+
+; no known jump sources
+Functionce648: ; ce648 (33:6648)
+ ld hl, $a
+ add hl, bc
+ ld a, [hl]
+ add $4
+ cp $70
+ jr c, .asm_ce654
+ xor a
+.asm_ce654
+ ld [hl], a
+ ld hl, $9
+ add hl, bc
+ inc [hl]
+ inc [hl]
+ ret
+
+; no known jump sources
+Functionce65c: ; ce65c (33:665c)
+ ld hl, $a
+ add hl, bc
+ ld a, [hl]
+ add $4
+ cp $70
+ jr c, .asm_ce668
+ xor a
+.asm_ce668
+ ld [hl], a
+ ld hl, $9
+ add hl, bc
+ ld a, [hl]
+ add $8
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionce672: ; ce672 (33:6672)
+ ld hl, $a
+ add hl, bc
+ ld a, [hl]
+ add $4
+ cp $70
+ jr c, .asm_ce67e
+ xor a
+.asm_ce67e
+ ld [hl], a
+ ld hl, $9
+ add hl, bc
+ ld a, [hl]
+ add $4
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionce688: ; ce688 (33:6688)
+ ld hl, $7
+ add hl, bc
+ ld d, [hl]
+ ld hl, $f
+ add hl, bc
+ ld e, [hl]
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ ld l, a
+ and $f0
+ ld h, a
+ swap a
+ or h
+ ld h, a
+ ld a, l
+ and $f
+ swap a
+ ld l, a
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, $7
+ add hl, bc
+ ld [hl], d
+ ld hl, $f
+ add hl, bc
+ ld [hl], e
+ ret
+
+; no known jump sources
+Functionce6b3: ; ce6b3 (33:66b3)
+ ld d, $18
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ call Functionce6f1
+ ret
+
+; no known jump sources
+Functionce6bf: ; ce6bf (33:66bf)
+ ld d, $18
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ srl a
+ ld hl, $b
+ add hl, bc
+ add [hl]
+ call Functionce6f1
+ ret
+
+; no known jump sources
+Functionce6d2: ; ce6d2 (33:66d2)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ cp $20
+ jr nc, .asm_ce6ed
+ inc [hl]
+ ld hl, $b
+ add hl, bc
+ ld d, [hl]
+ call Functionce734
+ xor $ff
+ inc a
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ ret
+.asm_ce6ed
+ call Functioncc9bd
+ ret
+
+; known jump sources: ce58f (33:658f), ce6bb (33:66bb), ce6ce (33:66ce)
+Functionce6f1: ; ce6f1 (33:66f1)
+ push af
+ push de
+ call Functionce734
+ sra a
+ sra a
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ret
+
+; known jump sources: cd142 (33:5142), cd154 (33:5154), cd2ad (33:52ad), cd553 (33:5553), cd609 (33:5609), cd706 (33:5706), cd733 (33:5733), ce02f (33:602f), ce08d (33:608d), ce10a (33:610a), ce285 (33:6285), ce297 (33:6297), ce357 (33:6357)
+Functionce70a: ; ce70a (33:670a)
+ and $f
+ ld e, a
+ ld hl, $7
+ add hl, bc
+ add [hl]
+ ld [hl], a
+ srl e
+ ld hl, $8
+ add hl, bc
+.asm_ce719
+ dec [hl]
+ dec e
+ jr nz, .asm_ce719
+ ret
+
+; known jump sources: cd06e (33:506e), cd0e3 (33:50e3), cd12a (33:512a), cd15c (33:515c), cd212 (33:5212), cd284 (33:5284), cd2be (33:52be), cd306 (33:5306), cd3ae (33:53ae), cd3f2 (33:53f2), cd478 (33:5478), cd58a (33:558a), cd5e9 (33:55e9), cd66a (33:566a), cd6e3 (33:56e3), cd71a (33:571a), cd7a4 (33:57a4), cd80c (33:580c), cd824 (33:5824), cd89a (33:589a), cd900 (33:5900), cd954 (33:5954), cda31 (33:5a31), cda4d (33:5a4d), cdad6 (33:5ad6), cdb06 (33:5b06), cdb80 (33:5b80), cdcc3 (33:5cc3), cdd2a (33:5d2a), cdd90 (33:5d90), cddf9 (33:5df9), cde6b (33:5e6b), cde89 (33:5e89), cdf59 (33:5f59), ce00b (33:600b), ce063 (33:6063), ce0c5 (33:60c5), ce10e (33:610e), ce1e7 (33:61e7), ce226 (33:6226), ce255 (33:6255), ce2fd (33:62fd), ce35f (33:635f), ce389 (33:6389), ce3ff (33:63ff), ce43a (33:643a), ce49c (33:649c), ce55b (33:655b), ce593 (33:6593), ce5ee (33:65ee), ce62f (33:662f)
+Functionce71e: ; ce71e (33:671e)
+ pop de
+ ld hl, $e
+ add hl, bc
+ ld l, [hl]
+ ld h, $0
+ add hl, hl
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
+
+; known jump sources: cd0ea (33:50ea), cd17a (33:517a), cd192 (33:5192), cd196 (33:5196), cd1ce (33:51ce), cd1e5 (33:51e5), cd20a (33:520a), cd21e (33:521e), cd22f (33:522f), cd2b5 (33:52b5), cd2c5 (33:52c5), cd31e (33:531e), cd321 (33:5321), cd37a (33:537a), cd3b7 (33:53b7), cd42f (33:542f), cd48d (33:548d), cd49f (33:549f), cd545 (33:5545), cd5a1 (33:55a1), cd5f2 (33:55f2), cd60d (33:560d), cd677 (33:5677), cd694 (33:5694), cd6ea (33:56ea), cd725 (33:5725), cd747 (33:5747), cd76e (33:576e), cd7ab (33:57ab), cd817 (33:5817), cd835 (33:5835), cd88f (33:588f), cd8ab (33:58ab), cd8f5 (33:58f5), cd907 (33:5907), cd961 (33:5961), cd977 (33:5977), cda43 (33:5a43), cda58 (33:5a58), cda76 (33:5a76), cda84 (33:5a84), cdadf (33:5adf), cdaf6 (33:5af6), cdb50 (33:5b50), cdbe2 (33:5be2), cdbe6 (33:5be6), cdc23 (33:5c23), cdc44 (33:5c44), cdc4d (33:5c4d), cdc71 (33:5c71), cdca2 (33:5ca2), cdcd9 (33:5cd9), cdd31 (33:5d31), cdd97 (33:5d97), cde02 (33:5e02), cde72 (33:5e72), cde90 (33:5e90), cdf88 (33:5f88), ce014 (33:6014), ce115 (33:6115), ce1ee (33:61ee), ce22d (33:622d), ce260 (33:6260), ce30f (33:630f), ce366 (33:6366), ce392 (33:6392), ce3a6 (33:63a6), ce443 (33:6443), ce48d (33:648d), ce4a3 (33:64a3), ce56e (33:656e), ce601 (33:6601), ce61c (33:661c), ce61f (33:661f), ce644 (33:6644)
+Functionce72c: ; ce72c (33:672c)
+ ld hl, $e
+ add hl, bc
+ inc [hl]
+ ret
+
+; known jump sources: cd0d2 (33:50d2), cd11c (33:511c), cd33a (33:533a), cd44a (33:544a), cd7f5 (33:57f5), cd929 (33:5929), cd9bb (33:59bb), cdd69 (33:5d69), cddd3 (33:5dd3), cdefb (33:5efb), cdf39 (33:5f39), cdf72 (33:5f72), cdfaa (33:5faa), cdfe9 (33:5fe9), ce172 (33:6172), ce1c7 (33:61c7), ce218 (33:6218), ce246 (33:6246), ce2ee (33:62ee), ce3c9 (33:63c9), ce3e6 (33:63e6), ce429 (33:6429), ce482 (33:6482), ce4c2 (33:64c2), ce525 (33:6525), ce552 (33:6552), ce5d3 (33:65d3), ce701 (33:6701), ce76c (33:676c)
+Functionce732: ; ce732 (33:6732)
+ add $10
+
+; known jump sources: cd09c (33:509c), cd0c8 (33:50c8), cd112 (33:5112), cd1ad (33:51ad), cd1f4 (33:51f4), cd2d7 (33:52d7), cd34d (33:534d), cd440 (33:5440), cd4ca (33:54ca), cd502 (33:5502), cd5c5 (33:55c5), cd6a4 (33:56a4), cd711 (33:5711), cd73e (33:573e), cd7eb (33:57eb), cd86a (33:586a), cd8d6 (33:58d6), cd91f (33:591f), cd9a4 (33:59a4), cda90 (33:5a90), cdb77 (33:5b77), cdc30 (33:5c30), cdc5e (33:5c5e), cdc7b (33:5c7b), cdd07 (33:5d07), cdd5f (33:5d5f), cddc5 (33:5dc5), cde31 (33:5e31), cde5d (33:5e5d), cdee6 (33:5ee6), cdf24 (33:5f24), cdf95 (33:5f95), cdfd4 (33:5fd4), ce03c (33:603c), ce0a5 (33:60a5), ce0e4 (33:60e4), ce130 (33:6130), ce168 (33:6168), ce1bd (33:61bd), ce202 (33:6202), ce237 (33:6237), ce2d3 (33:62d3), ce3be (33:63be), ce41f (33:641f), ce478 (33:6478), ce4ea (33:64ea), ce51b (33:651b), ce548 (33:6548), ce5bf (33:65bf), ce6e1 (33:66e1), ce6f3 (33:66f3), ce766 (33:6766)
+Functionce734: ; ce734 (33:6734)
+ and $3f
+ cp $20
+ jr nc, .asm_ce73f
+ call Functionce749
+ ld a, h
+ ret
+.asm_ce73f
+ and $1f
+ call Functionce749
+ ld a, h
+ xor $ff
+ inc a
+ ret
+
+; known jump sources: ce73a (33:673a), ce741 (33:6741)
+Functionce749: ; ce749 (33:6749)
+ ld e, a
+ ld a, d
+ ld d, $0
+ ld hl, $677f
+ add hl, de
+ add hl, de
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ ld hl, $0
+.asm_ce758
+ srl a
+ jr nc, .asm_ce75d
+ add hl, de
+.asm_ce75d
+ sla e
+ rl d
+ and a
+ jr nz, .asm_ce758
+ ret
+
+; no known jump sources
+Functionce765: ; ce765 (33:6765)
+ ld a, e
+ call Functionce734
+ ld e, a
+ ret
+
+; no known jump sources
+Functionce76b: ; ce76b (33:676b)
+ ld a, e
+ call Functionce732
+ ld e, a
+ ret
+; ce771 (33:6771)
+
+INCBIN "baserom.gbc",$ce771,$ce7bf - $ce771
+
+; known jump sources: cd18f (33:518f), cd19b (33:519b), cd1cb (33:51cb), cd1d4 (33:51d4), cd1e2 (33:51e2), cd2ba (33:52ba), cd419 (33:5419), cd434 (33:5434), cd4ab (33:54ab), cd53c (33:553c), cd618 (33:5618), cd6f4 (33:56f4), cd74c (33:574c), cd773 (33:5773), cd81c (33:581c), cd883 (33:5883), cd8e8 (33:58e8), cda40 (33:5a40), cda73 (33:5a73), cda89 (33:5a89), cdc20 (33:5c20), cdc3b (33:5c3b), cdc4a (33:5c4a), cdce9 (33:5ce9), cdd4b (33:5d4b), cddb1 (33:5db1), cddf5 (33:5df5), cde0c (33:5e0c), cde85 (33:5e85), cdebb (33:5ebb), ce372 (33:6372), ce3ab (33:63ab), ce458 (33:6458), ce4ad (33:64ad)
+Functionce7bf: ; ce7bf (33:67bf)
+ ld hl, $3
+ add hl, bc
+ ld [hl], a
+ ld hl, $c
+ add hl, bc
+ ld [hl], $0
+ ld hl, $d
+ add hl, bc
+ ld [hl], $ff
+ ret
+
+
Functionce7d1: ; ce7d1
.asm_ce7d1
ld hl, $000c
@@ -69154,8 +98695,32 @@
ret
; ce846
-INCBIN "baserom.gbc", $ce846, $cfd9e - $ce846
+; known jump sources: cc4b0 (33:44b0)
+Functionce846: ; ce846 (33:6846)
+ push hl
+ ld l, a
+ ld h, $0
+ add hl, hl
+ add hl, hl
+ ld de, $7cf6
+ add hl, de
+ ld c, [hl]
+ inc hl
+ ld b, [hl]
+ inc hl
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ pop de
+ push bc
+ call Functione73
+ pop bc
+ ret
+; ce85e (33:685e)
+
+INCBIN "baserom.gbc",$ce85e,$cfd9e - $ce85e
+
; Songs iii
Music_PostCredits: INCLUDE "audio/music/postcredits.asm"
@@ -69184,7 +98749,7 @@
ret
; d001a
-INCBIN "baserom.gbc", $d001a, $d008e - $d001a
+INCBIN "baserom.gbc",$d001a,$d008e - $d001a
Functiond008e: ; d008e
call Functiond01c6
@@ -69662,7 +99227,7 @@
ret
; d0368
-INCBIN "baserom.gbc", $d0368, $d036b - $d0368
+INCBIN "baserom.gbc",$d0368,$d036b - $d0368
Functiond036b: ; d036b
xor a
@@ -69767,7 +99332,7 @@
ret
; d03f4
-INCBIN "baserom.gbc", $d03f4, $d03f7 - $d03f4
+INCBIN "baserom.gbc",$d03f4,$d03f7 - $d03f4
Functiond03f7: ; d03f7
push af
@@ -69818,7 +99383,7 @@
ret
; d042f
-INCBIN "baserom.gbc", $d042f, $d046c - $d042f
+INCBIN "baserom.gbc",$d042f,$d046c - $d042f
Functiond046c: ; d046c
ld hl, $d16f
@@ -70359,8 +99924,15 @@
ret
; e008b
-INCBIN "baserom.gbc", $e008b, $e1190 - $e008b
+INCBIN "baserom.gbc",$e008b,$e00ed - $e008b
+; no known jump sources
+Functione00ed: ; e00ed (38:40ed)
+ ret
+; e00ee (38:40ee)
+
+INCBIN "baserom.gbc",$e00ee,$e1190 - $e00ee
+
Functione1190: ; e1190
ld a, [$ffaa]
push af
@@ -70473,7 +100045,7 @@
ret
; e126d
-INCBIN "baserom.gbc", $e126d, $e127d - $e126d
+INCBIN "baserom.gbc",$e126d,$e127d - $e126d
Functione127d: ; e127d
call Functione128d
@@ -70532,7 +100104,7 @@
jp [hl]
; e12d9
-INCBIN "baserom.gbc", $e12d9, $e13ee - $e12d9
+INCBIN "baserom.gbc",$e12d9,$e13ee - $e12d9
Functione13ee: ; e13ee
ld de, $0014
@@ -70668,7 +100240,7 @@
ret
; e148f
-INCBIN "baserom.gbc", $e148f, $e14d9 - $e148f
+INCBIN "baserom.gbc",$e148f,$e14d9 - $e148f
Functione14d9: ; e14d9
call Functione1481
@@ -70711,7 +100283,7 @@
jr .asm_e14f8
; e150f
-INCBIN "baserom.gbc", $e150f, $e1631 - $e150f
+INCBIN "baserom.gbc",$e150f,$e1631 - $e150f
Functione1631: ; e1631
ld hl, VTiles2
@@ -70819,7 +100391,7 @@
ret
; e16b7
-INCBIN "baserom.gbc", $e16b7, $e16c7 - $e16b7
+INCBIN "baserom.gbc",$e16b7,$e16c7 - $e16b7
Functione16c7: ; e16c7
ld hl, $5703
@@ -70875,7 +100447,7 @@
ret
; e1703
-INCBIN "baserom.gbc", $e1703, $e17a3 - $e1703
+INCBIN "baserom.gbc",$e1703,$e17a3 - $e1703
Functione17a3: ; e17a3
ld a, [ScriptVar]
@@ -70894,9 +100466,1918 @@
ret
; e17bd
-INCBIN "baserom.gbc", $e17bd, $e37f9 - $e17bd
+INCBIN "baserom.gbc",$e17bd,$e21a1 - $e17bd
+; no known jump sources
+Functione21a1: ; e21a1 (38:61a1)
+ ld a, [$cf63]
+ cp $7
+ jr nc, .asm_e21c8
+ call Functiona57
+ ld hl, hJoypadPressed ; $ffa3
+ ld a, [hl]
+ and $1
+ jr nz, .asm_e21cf
+ ld a, [hl]
+ and $20
+ jr nz, .asm_e21d9
+ ld a, [hl]
+ and $10
+ jr nz, .asm_e21e9
+ ld a, [hl]
+ and $40
+ jr nz, .asm_e21fa
+ ld a, [hl]
+ and $80
+ jr nz, .asm_e220d
+ ret
+.asm_e21c8
+ ld hl, $0
+ add hl, bc
+ ld [hl], $0
+ ret
+.asm_e21cf
+ ld hl, $c
+ add hl, bc
+ ld a, [hl]
+ inc a
+ ld [$cf64], a
+ ret
+.asm_e21d9
+ ld hl, $6
+ add hl, bc
+ ld a, [hl]
+ and a
+ ret z
+ sub $10
+ ld [hl], a
+ ld hl, $c
+ add hl, bc
+ dec [hl]
+ ret
+.asm_e21e9
+ ld hl, $6
+ add hl, bc
+ ld a, [hl]
+ cp $80
+ ret z
+ add $10
+ ld [hl], a
+ ld hl, $c
+ add hl, bc
+ inc [hl]
+ ret
+.asm_e21fa
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ and a
+ ret z
+ sub $10
+ ld [hl], a
+ ld hl, $c
+ add hl, bc
+ ld a, [hl]
+ sub $9
+ ld [hl], a
+ ret
+.asm_e220d
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $40
+ ret z
+ add $10
+ ld [hl], a
+ ld hl, $c
+ add hl, bc
+ ld a, [hl]
+ add $9
+ ld [hl], a
+ ret
+; e2221 (38:6221)
+INCBIN "baserom.gbc",$e2221,$e2391 - $e2221
+
+; no known jump sources
+Functione2391: ; e2391 (38:6391)
+ ld hl, Options ; $cfcc
+ ld a, [hl]
+ push af
+ set 4, [hl]
+ ld a, [VramState] ; $d0ed
+ push af
+ xor a
+ ld [VramState], a ; $d0ed
+ ld a, [$FF00+$aa]
+ push af
+ ld a, $1
+ ld [$FF00+$aa], a
+ xor a
+ ld [$FF00+$de], a
+ call Functione2963
+ xor a
+ ld [$cb2e], a
+ call DelayFrame
+.asm_e23b4
+ call Functiona57
+ ld a, [$cf63]
+ bit 7, a
+ jr nz, .asm_e23c6
+ call Functione23d5
+ call DelayFrame
+ jr .asm_e23b4
+.asm_e23c6
+ call ClearSprites
+ pop af
+ ld [$FF00+$aa], a
+ pop af
+ ld [VramState], a ; $d0ed
+ pop af
+ ld [Options], a ; $cfcc
+ ret
+
+; known jump sources: e23be (38:63be)
+Functione23d5: ; e23d5 (38:63d5)
+ ld a, [$cf63]
+ ld hl, $63df
+ call Functione33df
+ jp [hl]
+
+; no known jump sources
+Jumptable_e23df: ; e23df (38:63df)
+ dw Functione23e9
+ dw Functione241a
+ dw Functione245d
+ dw Functione247d
+ dw Functione2992
+
+
+; no known jump sources
+Functione23e9: ; e23e9 (38:63e9)
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call ClearSprites
+ call Functione2d30
+ call Functione2a8e
+ ld de, $74dd
+ call Functione2a6e
+ ld a, $5
+ ld [$cb2d], a
+ call Functione2c2c
+ call Functione2ac6
+ ld a, $ff
+ ld [CurPartySpecies], a ; $d108
+ ld a, $17
+ call Functione33d0
+ call WaitBGMap
+ call Functione2e01
+ call Functione298d
+ ret
+
+; no known jump sources
+Functione241a: ; e241a (38:641a)
+ ld hl, hJoyPressed ; $ffa7
+ ld a, [hl]
+ and $2
+ jr nz, .asm_e2457
+ ld a, [hl]
+ and $1
+ jr nz, .asm_e2443
+ call Functione29b5
+ and a
+ ret z
+ call Functione2e01
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call Functione2c2c
+ call Functione2ac6
+ ld a, $1
+ ld [hBGMapMode], a ; $ff00+$d4
+ call DelayFrame
+ call DelayFrame
+ ret
+.asm_e2443
+ call Functione2def
+ and a
+ ret z
+ cp $ff
+ jr z, .asm_e2457
+ ld a, $2
+ ld [$cf63], a
+ ret
+; e2452 (38:6452)
+
+INCBIN "baserom.gbc",$e2452,$e2457 - $e2452
+.asm_e2457
+ ld a, $4
+ ld [$cf63], a
+ ret
+
+; no known jump sources
+Functione245d: ; e245d (38:645d)
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call ClearSprites
+ call Functione2def
+ ld [CurPartySpecies], a ; $d108
+ ld a, $17
+ call Functione33d0
+ ld de, $74ea
+ call Functione2a6e
+ ld a, $1
+ ld [$cfa9], a
+ call Functione298d
+ ret
+
+; no known jump sources
+Functione247d: ; e247d (38:647d)
+ ld hl, $653d
+ call Function1d3c
+ ld a, [$cfa9]
+ call Function1d4b
+ call Function1d81
+ jp c, Functione2537
+ ld a, [$cfa9]
+ dec a
+ and $3
+ ld e, a
+ ld d, $0
+ ld hl, $64a1
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
+
+; no known jump sources
+Jumptable_e24a1: ; e24a1 (38:64a1)
+ dw Functione24a9
+ dw Functione24c8
+ dw Functione24e0
+ dw Functione2537
+
+
+; no known jump sources
+Functione24a9: ; e24a9 (38:64a9)
+ call Functione2f18
+ jp c, Functione2537
+ call Functione307c
+ jr c, .asm_e24c1
+ ld a, $0
+ ld [$cf63], a
+ xor a
+ ld [$cb2b], a
+ ld [$cb2a], a
+ ret
+.asm_e24c1
+ ld de, $74ea
+ call Functione2a6e
+ ret
+
+; no known jump sources
+Functione24c8: ; e24c8 (38:64c8)
+ call Function1d6e
+ call Functione2f7e
+ call Function1c07
+ call Functione2ac6
+ call Functione2def
+ ld [CurPartySpecies], a ; $d108
+ ld a, $17
+ call Functione33d0
+ ret
+
+; no known jump sources
+Functione24e0: ; e24e0 (38:64e0)
+ call Functione2f18
+ jr c, Functione2537
+ call Functione2f5f
+ jr c, Functione2537
+ ld a, [$cfa9]
+ push af
+ ld de, $74f4
+ call Functione2a6e
+ call Function1d6e
+ ld bc, $e0b
+ call Function1dd2
+ ld a, [$cfa9]
+ dec a
+ call Function1c07
+ and a
+ jr nz, .asm_e252c
+ ld a, [$cb2b]
+ ld hl, $cb2a
+ add [hl]
+ ld [CurPartyMon], a ; $d109
+ xor a
+ ld [$d10b], a
+ ld a, BANK(Functione039)
+ ld hl, Functione039
+ rst $8 ; ; indirect jump to Functione039 (e039 (3:6039))
+ call Functione3180
+ ld a, $0
+ ld [$cf63], a
+ xor a
+ ld [$cb2b], a
+ ld [$cb2a], a
+ pop af
+ ret
+.asm_e252c
+ ld de, $74ea
+ call Functione2a6e
+ pop af
+ ld [$cfa9], a
+ ret
+
+; known jump sources: e248c (38:648c), e24ac (38:64ac), e24e3 (38:64e3), e24e8 (38:64e8)
+Functione2537: ; e2537 (38:6537)
+ ld a, $0
+ ld [$cf63], a
+ ret
+; e253d (38:653d)
+
+INCBIN "baserom.gbc",$e253d,$e2583 - $e253d
+
+; no known jump sources
+Functione2583: ; e2583 (38:6583)
+ ld hl, Options ; $cfcc
+ ld a, [hl]
+ push af
+ set 4, [hl]
+ ld a, [VramState] ; $d0ed
+ push af
+ xor a
+ ld [VramState], a ; $d0ed
+ ld a, [$FF00+$aa]
+ push af
+ ld a, $1
+ ld [$FF00+$aa], a
+ xor a
+ ld [$FF00+$de], a
+ call Functione2963
+ ld a, $f
+ ld [$cb2e], a
+ call DelayFrame
+.asm_e25a7
+ call Functiona57
+ ld a, [$cf63]
+ bit 7, a
+ jr nz, .asm_e25b9
+ call Functione25c8
+ call DelayFrame
+ jr .asm_e25a7
+.asm_e25b9
+ call ClearSprites
+ pop af
+ ld [$FF00+$aa], a
+ pop af
+ ld [VramState], a ; $d0ed
+ pop af
+ ld [Options], a ; $cfcc
+ ret
+
+; known jump sources: e25b1 (38:65b1)
+Functione25c8: ; e25c8 (38:65c8)
+ ld a, [$cf63]
+ ld hl, $65d2
+ call Functione33df
+ jp [hl]
+
+; no known jump sources
+Jumptable_e25d2: ; e25d2 (38:65d2)
+ dw Functione25dc
+ dw Functione2612
+ dw Functione2655
+ dw Functione2675
+ dw Functione2992
+
+
+; no known jump sources
+Functione25dc: ; e25dc (38:65dc)
+ ld a, $f
+ ld [$cb2e], a
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call ClearSprites
+ call Functione2d30
+ call Functione2a8e
+ ld de, $74dd
+ call Functione2a6e
+ ld a, $5
+ ld [$cb2d], a
+ call Functione2c2c
+ call Functione2ac6
+ ld a, $ff
+ ld [CurPartySpecies], a ; $d108
+ ld a, $17
+ call Functione33d0
+ call WaitBGMap
+ call Functione2e01
+ call Functione298d
+ ret
+
+; no known jump sources
+Functione2612: ; e2612 (38:6612)
+ ld hl, hJoyPressed ; $ffa7
+ ld a, [hl]
+ and $2
+ jr nz, .asm_e264f
+ ld a, [hl]
+ and $1
+ jr nz, .asm_e263b
+ call Functione29b5
+ and a
+ ret z
+ call Functione2e01
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call Functione2c2c
+ call Functione2ac6
+ ld a, $1
+ ld [hBGMapMode], a ; $ff00+$d4
+ call DelayFrame
+ call DelayFrame
+ ret
+.asm_e263b
+ call Functione2def
+ and a
+ ret z
+ cp $ff
+ jr z, .asm_e264f
+ ld a, $2
+ ld [$cf63], a
+ ret
+; e264a (38:664a)
+
+INCBIN "baserom.gbc",$e264a,$e264f - $e264a
+.asm_e264f
+ ld a, $4
+ ld [$cf63], a
+ ret
+
+; no known jump sources
+Functione2655: ; e2655 (38:6655)
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call ClearSprites
+ call Functione2def
+ ld [CurPartySpecies], a ; $d108
+ ld a, $17
+ call Functione33d0
+ ld de, $74ea
+ call Functione2a6e
+ ld a, $1
+ ld [$cfa9], a
+ call Functione298d
+ ret
+
+; no known jump sources
+Functione2675: ; e2675 (38:6675)
+ ld hl, $6731
+ call Function1d3c
+ ld a, [$cfa9]
+ call Function1d4b
+ call Function1d81
+ jp c, Functione272b
+ ld a, [$cfa9]
+ dec a
+ and $3
+ ld e, a
+ ld d, $0
+ ld hl, $6699
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
+
+; no known jump sources
+Jumptable_e2699: ; e2699 (38:6699)
+ dw Functione26a1
+ dw Functione26c0
+ dw Functione26d8
+ dw Functione272b
+
+
+; no known jump sources
+Functione26a1: ; e26a1 (38:66a1)
+ call Functione2f18
+ jp c, Functione272b
+ call Functione30fa
+ jr c, .asm_e26b9
+ ld a, $0
+ ld [$cf63], a
+ xor a
+ ld [$cb2b], a
+ ld [$cb2a], a
+ ret
+.asm_e26b9
+ ld de, $74ea
+ call Functione2a6e
+ ret
+
+; no known jump sources
+Functione26c0: ; e26c0 (38:66c0)
+ call Function1d6e
+ call Functione2f7e
+ call Function1c07
+ call Functione2ac6
+ call Functione2def
+ ld [CurPartySpecies], a ; $d108
+ ld a, $17
+ call Functione33d0
+ ret
+
+; no known jump sources
+Functione26d8: ; e26d8 (38:66d8)
+ ld a, [$cfa9]
+ push af
+ call Functione2f5f
+ jr c, .asm_e2720
+ ld de, $74f4
+ call Functione2a6e
+ call Function1d6e
+ ld bc, $e0b
+ call Function1dd2
+ ld a, [$cfa9]
+ dec a
+ call Function1c07
+ and a
+ jr nz, .asm_e2720
+ ld a, [$cb2b]
+ ld hl, $cb2a
+ add [hl]
+ ld [CurPartyMon], a ; $d109
+ ld a, $1
+ ld [$d10b], a
+ ld a, BANK(Functione039)
+ ld hl, Functione039
+ rst $8 ; ; indirect jump to Functione039 (e039 (3:6039))
+ call Functione3180
+ ld a, $0
+ ld [$cf63], a
+ xor a
+ ld [$cb2b], a
+ ld [$cb2a], a
+ pop af
+ ret
+.asm_e2720
+ ld de, $74ea
+ call Functione2a6e
+ pop af
+ ld [$cfa9], a
+ ret
+
+; known jump sources: e2684 (38:6684), e26a4 (38:66a4)
+Functione272b: ; e272b (38:672b)
+ ld a, $0
+ ld [$cf63], a
+ ret
+; e2731 (38:6731)
+
+INCBIN "baserom.gbc",$e2731,$e2963 - $e2731
+
+; known jump sources: e23aa (38:63aa), e259c (38:659c)
+Functione2963: ; e2963 (38:6963)
+ call WhiteBGMap
+ call ClearSprites
+ call ClearTileMap
+ call Functione33e8
+ ld hl, OverworldMap ; $c800
+ ld bc, $338
+ xor a
+ call ByteFill
+ xor a
+ ld [$cf63], a
+ ld [$cf64], a
+ ld [$cf65], a
+ ld [$cf66], a
+ ld [$cb2b], a
+ ld [$cb2a], a
+ ret
+
+; known jump sources: e2416 (38:6416), e2479 (38:6479), e260e (38:660e), e2671 (38:6671)
+Functione298d: ; e298d (38:698d)
+ ld hl, $cf63
+ inc [hl]
+ ret
+
+; no known jump sources
+Functione2992: ; e2992 (38:6992)
+ ld hl, $cf63
+ set 7, [hl]
+ ret
+
+; known jump sources: e2faa (38:6faa)
+Functione2998: ; e2998 (38:6998)
+ ld a, [$cb2d]
+ ld d, a
+ ld a, [$cb2c]
+ and a
+ jr z, .asm_e29b2
+ dec a
+ cp $1
+ jr z, .asm_e29b2
+ ld e, a
+ ld a, [hl]
+ and $40
+ jr nz, asm_e2a18
+ ld a, [hl]
+ and $80
+ jr nz, asm_e2a2c
+.asm_e29b2
+ jp Functione2a65
+
+; known jump sources: e2427 (38:6427), e261f (38:661f)
+Functione29b5: ; e29b5 (38:69b5)
+ ld hl, $ffa9
+ ld a, [$cb2d]
+ ld d, a
+ ld a, [$cb2c]
+ ld e, a
+ and a
+ jr z, .asm_e29cd
+ ld a, [hl]
+ and $40
+ jr nz, asm_e2a18
+ ld a, [hl]
+ and $80
+ jr nz, asm_e2a2c
+.asm_e29cd
+ jp Functione2a65
+; e29d0 (38:69d0)
+
+INCBIN "baserom.gbc",$e29d0,$e2a18 - $e29d0
+asm_e2a18: ; e2a18 (38:6a18)
+ ld hl, $cb2b
+ ld a, [hl]
+ and a
+ jr z, .asm_e2a22
+ dec [hl]
+ jr asm_e2a68
+.asm_e2a22
+ ld hl, $cb2a
+ ld a, [hl]
+ and a
+ jr z, Functione2a65
+ dec [hl]
+ jr asm_e2a68
+asm_e2a2c: ; e2a2c (38:6a2c)
+ ld a, [$cb2b]
+ ld hl, $cb2a
+ add [hl]
+ inc a
+ cp e
+ jr nc, Functione2a65
+ ld hl, $cb2b
+ ld a, [hl]
+ inc a
+ cp d
+ jr nc, .asm_e2a42
+ inc [hl]
+ jr asm_e2a68
+.asm_e2a42
+ ld hl, $cb2a
+ inc [hl]
+ jr asm_e2a68
+; e2a48 (38:6a48)
+
+INCBIN "baserom.gbc",$e2a48,$e2a65 - $e2a48
+
+; known jump sources: e29b2 (38:69b2), e29cd (38:69cd), e2a27 (38:6a27), e2a35 (38:6a35)
+Functione2a65: ; e2a65 (38:6a65)
+ xor a
+ and a
+ ret
+
+; known jump sources: e2a20 (38:6a20), e2a2a (38:6a2a), e2a40 (38:6a40), e2a46 (38:6a46)
+asm_e2a68: ; e2a68 (38:6a68)
+ ld a, $1
+ and a
+ ret
+; e2a6c (38:6a6c)
+
+INCBIN "baserom.gbc",$e2a6c,$e2a6e - $e2a6c
+
+; known jump sources: e23f8 (38:63f8), e2471 (38:6471), e24c4 (38:64c4), e24f1 (38:64f1), e252f (38:652f), e25f0 (38:65f0), e2669 (38:6669), e26bc (38:66bc), e26e4 (38:66e4), e2723 (38:6723), e2f4c (38:6f4c), e2f6b (38:6f6b), e30e7 (38:70e7), e316d (38:716d)
+Functione2a6e: ; e2a6e (38:6a6e)
+ push de
+ ld hl, $c5cc
+ ld bc, $112
+ call TextBox
+ pop de
+ ld hl, $c5e1
+ call PlaceString
+ ret
+; e2a80 (38:6a80)
+
+INCBIN "baserom.gbc",$e2a80,$e2a8e - $e2a80
+
+; known jump sources: e23f2 (38:63f2), e25ea (38:65ea)
+Functione2a8e: ; e2a8e (38:6a8e)
+ ld hl, $c4a8
+ ld bc, $10a
+ call TextBox
+ ld a, [$cb2e]
+ and a
+ jr z, .asm_e2ab3
+ cp $f
+ jr nz, .asm_e2aa5
+ ld a, [$db72]
+ inc a
+.asm_e2aa5
+ dec a
+ ld hl, Box1Name ; $db75
+ ld bc, $9
+ call AddNTimes
+ ld e, l
+ ld d, h
+ jr .asm_e2ab6
+.asm_e2ab3
+ ld de, $6abd
+.asm_e2ab6
+ ld hl, $c4be
+ call PlaceString
+ ret
+; e2abd (38:6abd)
+
+INCBIN "baserom.gbc",$e2abd,$e2ac6 - $e2abd
+
+; known jump sources: e2403 (38:6403), e2435 (38:6435), e24d1 (38:64d1), e25fb (38:65fb), e262d (38:662d), e26c9 (38:66c9)
+Functione2ac6: ; e2ac6 (38:6ac6)
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld bc, $f08
+ call ClearBox
+ ld hl, $c5c0
+ ld bc, $103
+ call ClearBox
+ call Functione2def
+ and a
+ ret z
+ cp $ff
+ ret z
+ ld [$d265], a
+ ld hl, $c4f1
+ xor a
+ ld b, $7
+.asm_e2ae9
+ ld c, $7
+ push af
+ push hl
+.asm_e2aed
+ ld [hli], a
+ add $7
+ dec c
+ jr nz, .asm_e2aed
+ pop hl
+ ld de, $14
+ add hl, de
+ pop af
+ inc a
+ dec b
+ jr nz, .asm_e2ae9
+ call Functione2b6d
+ ld a, [$d265]
+ ld [CurPartySpecies], a ; $d108
+ ld [CurSpecies], a ; $cf60
+ ld hl, TempMonDVs ; $d123
+ ld a, $2d
+ call Predef
+ call GetBaseData
+ ld de, $9000
+ ld a, $3c
+ call Predef
+ xor a
+ ld [$cb32], a
+ ld a, [CurPartySpecies] ; $d108
+ ld [$d265], a
+ cp $fd
+ ret z
+ call GetBasePokemonName
+ ld hl, $c5b9
+ call PlaceString
+ ld hl, $c591
+ call PrintLevel
+ ld a, $3
+ ld [MonType], a ; $cf5f
+ ld a, BANK(GetGender)
+ ld hl, GetGender
+ rst $8 ; ; indirect jump to GetGender (50bdd (14:4bdd))
+ jr c, .asm_e2b4f
+ ld a, $ef
+ jr nz, .asm_e2b4b
+ ld a, $f5
+.asm_e2b4b
+ ld hl, $c595
+ ld [hl], a
+.asm_e2b4f
+ ld a, [TempMonItem] ; $d10f
+ and a
+ ret z
+ ld d, a
+ ld hl, ItemIsMail
+ ld a, BANK(ItemIsMail)
+ rst $8 ; ; indirect jump to ItemIsMail (b9e76 (2e:5e76))
+ jr c, .asm_e2b61
+ ld a, $5d
+ jr .asm_e2b68
+.asm_e2b61
+ ld a, $1
+ ld [$cb32], a
+ ld a, $5c
+.asm_e2b68
+ ld hl, $c597
+ ld [hl], a
+ ret
+
+; known jump sources: e2afd (38:6afd), e2fb6 (38:6fb6)
+Functione2b6d: ; e2b6d (38:6b6d)
+ ld a, [$cb2b]
+ ld hl, $cb2a
+ add [hl]
+ ld e, a
+ ld d, $0
+ ld hl, $c801
+ add hl, de
+ add hl, de
+ add hl, de
+ ld a, [hl]
+ and a
+ jr z, .asm_e2bc6
+ cp $f
+ jr z, .asm_e2bf5
+ ld b, a
+ call Functione3396
+ ld a, b
+ call GetSRAMBank
+ push hl
+ ld bc, $35
+ add hl, bc
+ ld bc, $20
+ ld a, e
+ call AddNTimes
+ ld a, [hl]
+ ld [TempMonLevel], a ; $d12d
+ pop hl
+ push hl
+ ld bc, $17
+ add hl, bc
+ ld bc, $20
+ ld a, e
+ call AddNTimes
+ ld a, [hl]
+ ld [TempMonItem], a ; $d10f
+ pop hl
+ ld bc, $2b
+ add hl, bc
+ ld bc, $20
+ ld a, e
+ call AddNTimes
+ ld de, TempMonDVs ; $d123
+ ld a, [hli]
+ ld [de], a
+ inc de
+ ld a, [hl]
+ ld [de], a
+ call CloseSRAM
+ ret
+.asm_e2bc6
+ ld hl, PartyMon1Level ; $dcfe
+ ld bc, $30
+ ld a, e
+ call AddNTimes
+ ld a, [hl]
+ ld [TempMonLevel], a ; $d12d
+ ld hl, PartyMon1Item ; $dce0
+ ld bc, $30
+ ld a, e
+ call AddNTimes
+ ld a, [hl]
+ ld [TempMonItem], a ; $d10f
+ ld hl, PartyMon1DVs ; $dcf4
+ ld bc, $30
+ ld a, e
+ call AddNTimes
+ ld de, TempMonDVs ; $d123
+ ld a, [hli]
+ ld [de], a
+ inc de
+ ld a, [hl]
+ ld [de], a
+ ret
+.asm_e2bf5
+ ld a, $1
+ call GetSRAMBank
+ ld hl, $ad45
+ ld bc, $20
+ ld a, e
+ call AddNTimes
+ ld a, [hl]
+ ld [TempMonLevel], a ; $d12d
+ ld hl, $ad27
+ ld bc, $20
+ ld a, e
+ call AddNTimes
+ ld a, [hl]
+ ld [TempMonItem], a ; $d10f
+ ld hl, $ad3b
+ ld bc, $20
+ ld a, e
+ call AddNTimes
+ ld de, TempMonDVs ; $d123
+ ld a, [hli]
+ ld [de], a
+ inc de
+ ld a, [hl]
+ ld [de], a
+ call CloseSRAM
+ ret
+
+; known jump sources: e2400 (38:6400), e2432 (38:6432), e25f8 (38:65f8), e262a (38:662a)
+Functione2c2c: ; e2c2c (38:6c2c)
+ ld hl, $c4d0
+ ld bc, $a0a
+ call TextBox
+ ld hl, $c4d0
+ ld [hl], $7d
+ ld hl, $c4db
+ ld [hl], $7e
+ ld a, [$cb2a]
+ ld e, a
+ ld d, $0
+ ld hl, OverworldMap ; $c800
+ add hl, de
+ add hl, de
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, $c4f9
+ ld a, [$cb2d]
+.asm_e2c53
+ push af
+ push de
+ push hl
+ call Functione2c6e
+ pop hl
+ ld de, $28
+ add hl, de
+ pop de
+ inc de
+ inc de
+ inc de
+ pop af
+ dec a
+ jr nz, .asm_e2c53
+ ret
+; e2c67 (38:6c67)
+
+INCBIN "baserom.gbc",$e2c67,$e2c6e - $e2c67
+
+; known jump sources: e2c56 (38:6c56)
+Functione2c6e: ; e2c6e (38:6c6e)
+ ld a, [de]
+ and a
+ ret z
+ cp $ff
+ jr nz, .asm_e2c7c
+ ld de, $6c67
+ call PlaceString
+ ret
+.asm_e2c7c
+ inc de
+ ld a, [de]
+ ld b, a
+ inc de
+ ld a, [de]
+ ld e, a
+ ld a, b
+ and a
+ jr z, .asm_e2cc8
+ cp $f
+ jr z, .asm_e2cf1
+ push hl
+ call Functione3396
+ ld a, b
+ call GetSRAMBank
+ push hl
+ ld bc, $16
+ add hl, bc
+ ld bc, $20
+ ld a, e
+ call AddNTimes
+ ld a, [hl]
+ pop hl
+ and a
+ jr z, .asm_e2cc2
+ ld bc, $372
+ add hl, bc
+ ld bc, $b
+ ld a, e
+ call AddNTimes
+ ld de, StringBuffer1 ; $d073
+ ld bc, $b
+ call CopyBytes
+ call CloseSRAM
+ pop hl
+ ld de, StringBuffer1 ; $d073
+ call PlaceString
+ ret
+.asm_e2cc2
+ call CloseSRAM
+ pop hl
+ jr .asm_e2d23
+.asm_e2cc8
+ push hl
+ ld hl, PartySpecies ; $dcd8
+ ld d, $0
+ add hl, de
+ ld a, [hl]
+ and a
+ jr z, .asm_e2cee
+ ld hl, PartyMonNicknames ; $de41 (aliases: PartyMon1Nickname)
+ ld bc, $b
+ ld a, e
+ call AddNTimes
+ ld de, StringBuffer1 ; $d073
+ ld bc, $b
+ call CopyBytes
+ pop hl
+ ld de, StringBuffer1 ; $d073
+ call PlaceString
+ ret
+.asm_e2cee
+ pop hl
+ jr .asm_e2d23
+.asm_e2cf1
+ push hl
+ ld a, $1
+ call GetSRAMBank
+ ld hl, $ad11
+ ld d, $0
+ add hl, de
+ ld a, [hl]
+ and a
+ jr z, .asm_e2d1f
+ ld hl, $b082
+ ld bc, $b
+ ld a, e
+ call AddNTimes
+ ld de, StringBuffer1 ; $d073
+ ld bc, $b
+ call CopyBytes
+ call CloseSRAM
+ pop hl
+ ld de, StringBuffer1 ; $d073
+ call PlaceString
+ ret
+.asm_e2d1f
+ call CloseSRAM
+ pop hl
+.asm_e2d23
+ ld de, $6d2a
+ call PlaceString
+ ret
+; e2d2a (38:6d2a)
+
+INCBIN "baserom.gbc",$e2d2a,$e2d30 - $e2d2a
+
+; known jump sources: e23ef (38:63ef), e25e7 (38:65e7)
+Functione2d30: ; e2d30 (38:6d30)
+ xor a
+ ld hl, OverworldMap ; $c800
+ ld bc, $5a
+ call ByteFill
+ ld de, OverworldMap ; $c800
+ xor a
+ ld [$d003], a
+ ld [$d004], a
+ ld a, [$cb2e]
+ and a
+ jr z, .asm_e2d87
+ cp $f
+ jr z, .asm_e2db7
+ ld b, a
+ call Functione3396
+ ld a, b
+ call GetSRAMBank
+ inc hl
+.asm_e2d57
+ ld a, [hl]
+ cp $ff
+ jr z, .asm_e2d79
+ and a
+ jr z, .asm_e2d79
+ ld [de], a
+ inc de
+ ld a, [$cb2e]
+ ld [de], a
+ inc de
+ ld a, [$d003]
+ ld [de], a
+ inc a
+ ld [$d003], a
+ inc de
+ inc hl
+ ld a, [$d004]
+ inc a
+ ld [$d004], a
+ jr .asm_e2d57
+.asm_e2d79
+ call CloseSRAM
+ ld a, $ff
+ ld [de], a
+ ld a, [$d004]
+ inc a
+ ld [$cb2c], a
+ ret
+.asm_e2d87
+ ld hl, PartySpecies ; $dcd8
+.asm_e2d8a
+ ld a, [hl]
+ cp $ff
+ jr z, .asm_e2dac
+ and a
+ jr z, .asm_e2dac
+ ld [de], a
+ inc de
+ ld a, [$cb2e]
+ ld [de], a
+ inc de
+ ld a, [$d003]
+ ld [de], a
+ inc a
+ ld [$d003], a
+ inc de
+ inc hl
+ ld a, [$d004]
+ inc a
+ ld [$d004], a
+ jr .asm_e2d8a
+.asm_e2dac
+ ld a, $ff
+ ld [de], a
+ ld a, [$d004]
+ inc a
+ ld [$cb2c], a
+ ret
+.asm_e2db7
+ ld a, $1
+ call GetSRAMBank
+ ld hl, $ad11
+.asm_e2dbf
+ ld a, [hl]
+ cp $ff
+ jr z, .asm_e2de1
+ and a
+ jr z, .asm_e2de1
+ ld [de], a
+ inc de
+ ld a, [$cb2e]
+ ld [de], a
+ inc de
+ ld a, [$d003]
+ ld [de], a
+ inc a
+ ld [$d003], a
+ inc de
+ inc hl
+ ld a, [$d004]
+ inc a
+ ld [$d004], a
+ jr .asm_e2dbf
+.asm_e2de1
+ call CloseSRAM
+ ld a, $ff
+ ld [de], a
+ ld a, [$d004]
+ inc a
+ ld [$cb2c], a
+ ret
+
+; known jump sources: e2443 (38:6443), e2463 (38:6463), e24d4 (38:64d4), e263b (38:663b), e265b (38:665b), e26cc (38:66cc), e2ad8 (38:6ad8), e2fb0 (38:6fb0)
+Functione2def: ; e2def (38:6def)
+ ld a, [$cb2b]
+ ld hl, $cb2a
+ add [hl]
+ ld e, a
+ ld d, $0
+ ld hl, OverworldMap ; $c800
+ add hl, de
+ add hl, de
+ add hl, de
+ ld a, [hl]
+ ret
+
+; known jump sources: e2413 (38:6413), e242c (38:642c), e260b (38:660b), e2624 (38:6624)
+Functione2e01: ; e2e01 (38:6e01)
+ ld a, [$cb2c]
+ and a
+ jr nz, .asm_e2e0b
+ call ClearSprites
+ ret
+.asm_e2e0b
+ ld hl, $6e2b
+ ld de, Sprites ; $c400
+.asm_e2e11
+ ld a, [hl]
+ cp $ff
+ ret z
+ ld a, [$cb2b]
+ and $7
+ swap a
+ add [hl]
+ inc hl
+ ld [de], a
+ inc de
+ ld a, [hli]
+ ld [de], a
+ inc de
+ ld a, [hli]
+ ld [de], a
+ inc de
+ ld a, [hli]
+ ld [de], a
+ inc de
+ jr .asm_e2e11
+; e2e2b (38:6e2b)
+
+INCBIN "baserom.gbc",$e2e2b,$e2f18 - $e2e2b
+
+; known jump sources: e24a9 (38:64a9), e24e0 (38:64e0), e26a1 (38:66a1)
+Functione2f18: ; e2f18 (38:6f18)
+ ld a, [$cb2e]
+ and a
+ jr nz, .asm_e2f3d
+ ld a, [$cb2c]
+ cp $3
+ jr c, .asm_e2f49
+ ld a, [$cb2b]
+ ld hl, $cb2a
+ add [hl]
+ ld [CurPartyMon], a ; $d109
+ ld a, BANK(Functione538)
+ ld hl, Functione538
+ rst $8 ; ; indirect jump to Functione538 (e538 (3:6538))
+ jr c, .asm_e2f44
+ ld a, [$cb32]
+ and a
+ jr nz, .asm_e2f3f
+.asm_e2f3d
+ and a
+ ret
+.asm_e2f3f
+ ld de, $7544
+ jr .asm_e2f4c
+.asm_e2f44
+ ld de, $7531
+ jr .asm_e2f4c
+.asm_e2f49
+ ld de, $750f
+.asm_e2f4c
+ call Functione2a6e
+ ld de, $19
+ call WaitPlaySFX
+ call WaitSFX
+ ld c, $32
+ call DelayFrames
+ scf
+ ret
+
+; known jump sources: e24e5 (38:64e5), e26dc (38:66dc)
+Functione2f5f: ; e2f5f (38:6f5f)
+ ld a, [CurPartySpecies] ; $d108
+ cp $fd
+ jr z, .asm_e2f68
+ and a
+ ret
+.asm_e2f68
+ ld de, $7597
+ call Functione2a6e
+ ld de, $19
+ call WaitPlaySFX
+ call WaitSFX
+ ld c, $32
+ call DelayFrames
+ scf
+ ret
+
+; known jump sources: e24cb (38:64cb), e26c3 (38:66c3)
+Functione2f7e: ; e2f7e (38:6f7e)
+ call LowVolume
+ call Functione2fd6
+ ld a, $3
+ ld [MonType], a ; $cf5f
+ ld a, $25
+ call Predef
+ call Functione33e8
+ call MaxVolume
+ ret
+
+; no known jump sources
+Functione2f95: ; e2f95 (38:6f95)
+ ld hl, hJoyPressed ; $ffa7
+ ld a, [hl]
+ and $33
+ ld [$cf73], a
+ jr nz, .asm_e2fd0
+ ld a, [hl]
+ and $c0
+ ld [$cf73], a
+ jr nz, .asm_e2faa
+ jr .asm_e2fd0
+.asm_e2faa
+ call Functione2998
+ and a
+ jr z, .asm_e2fd1
+ call Functione2def
+ ld [$d265], a
+ call Functione2b6d
+ ld a, [$d265]
+ ld [CurPartySpecies], a ; $d108
+ ld [CurSpecies], a ; $cf60
+ ld hl, TempMonDVs ; $d123
+ ld a, $2d
+ call Predef
+ call GetBaseData
+ call Functione2fd6
+.asm_e2fd0
+ ret
+.asm_e2fd1
+ xor a
+ ld [$cf73], a
+ ret
+
+; known jump sources: e2f81 (38:6f81), e2fcd (38:6fcd)
+Functione2fd6: ; e2fd6 (38:6fd6)
+ ld a, [$cb2b]
+ ld hl, $cb2a
+ add [hl]
+ ld [CurPartyMon], a ; $d109
+ ld a, [$cb2e]
+ and a
+ jr z, .asm_e3020
+ cp $f
+ jr nz, .asm_e3048
+ ld a, $1
+ call GetSRAMBank
+ ld hl, $ad11
+ call Functione3357
+ ld hl, $b082
+ call Functione3363
+ ld hl, $afa6
+ call Functione3376
+ ld hl, $ad26
+ ld bc, $20
+ ld a, [CurPartyMon] ; $d109
+ call AddNTimes
+ ld de, $d018
+ ld bc, $30
+ call CopyBytes
+ call CloseSRAM
+ ld a, BANK(Function5088b)
+ ld hl, Function5088b
+ rst $8 ; ; indirect jump to Function5088b (5088b (14:488b))
+ ret
+.asm_e3020
+ ld hl, PartySpecies ; $dcd8
+ call Functione3357
+ ld hl, PartyMonNicknames ; $de41 (aliases: PartyMon1Nickname)
+ call Functione3363
+ ld hl, PartyMonOT ; $ddff (aliases: PartyMon1OT)
+ call Functione3376
+ ld hl, PartyMons ; $dcdf (aliases: PartyMon1, PartyMon1Species)
+ ld bc, $30
+ ld a, [CurPartyMon] ; $d109
+ call AddNTimes
+ ld de, $d018
+ ld bc, $30
+ call CopyBytes
+ ret
+.asm_e3048
+ ld b, a
+ call Functione3396
+ ld a, b
+ call GetSRAMBank
+ push hl
+ inc hl
+ call Functione3357
+ pop hl
+ push hl
+ ld bc, $372
+ add hl, bc
+ call Functione3363
+ pop hl
+ push hl
+ ld bc, $296
+ add hl, bc
+ call Functione3376
+ pop hl
+ ld bc, $16
+ add hl, bc
+ ld bc, $20
+ call Functione3389
+ call CloseSRAM
+ ld a, BANK(Function5088b)
+ ld hl, Function5088b
+ rst $8 ; ; indirect jump to Function5088b (5088b (14:488b))
+ ret
+
+; known jump sources: e24af (38:64af)
+Functione307c: ; e307c (38:707c)
+ ld a, [$cb2b]
+ ld hl, $cb2a
+ add [hl]
+ ld [CurPartyMon], a ; $d109
+ ld hl, PartyMonNicknames ; $de41 (aliases: PartyMon1Nickname)
+ ld a, [CurPartyMon] ; $d109
+ call GetNick
+ ld a, $1
+ ld [$d10b], a
+ ld a, $8
+ call Predef
+ jr c, .asm_e30e4
+ xor a
+ ld [$d10b], a
+ ld a, BANK(Functione039)
+ ld hl, Functione039
+ rst $8 ; ; indirect jump to Functione039 (e039 (3:6039))
+ ld a, [CurPartySpecies] ; $d108
+ call Function37ce
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld bc, $f08
+ call ClearBox
+ ld hl, $c5c0
+ ld bc, $103
+ call ClearBox
+ ld hl, $c5cc
+ ld bc, $112
+ call TextBox
+ call WaitBGMap
+ ld hl, $c5e1
+ ld de, $7563
+ call PlaceString
+ ld l, c
+ ld h, b
+ ld de, StringBuffer1 ; $d073
+ call PlaceString
+ ld a, $e7
+ ld [bc], a
+ ld c, $32
+ call DelayFrames
+ and a
+ ret
+.asm_e30e4
+ ld de, $7575
+ call Functione2a6e
+ ld de, $19
+ call WaitPlaySFX
+ call WaitSFX
+ ld c, $32
+ call DelayFrames
+ scf
+ ret
+
+; known jump sources: e26a7 (38:66a7)
+Functione30fa: ; e30fa (38:70fa)
+ ld a, [$cb2b]
+ ld hl, $cb2a
+ add [hl]
+ ld [CurPartyMon], a ; $d109
+ ld a, $1
+ call GetSRAMBank
+ ld a, [CurPartyMon] ; $d109
+ ld hl, $b082
+ call GetNick
+ call CloseSRAM
+ xor a
+ ld [$d10b], a
+ ld a, $8
+ call Predef
+ jr c, .asm_e316a
+ ld a, $1
+ ld [$d10b], a
+ ld a, BANK(Functione039)
+ ld hl, Functione039
+ rst $8 ; ; indirect jump to Functione039 (e039 (3:6039))
+ ld a, [CurPartySpecies] ; $d108
+ call Function37ce
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld bc, $f08
+ call ClearBox
+ ld hl, $c5c0
+ ld bc, $103
+ call ClearBox
+ ld hl, $c5cc
+ ld bc, $112
+ call TextBox
+ call WaitBGMap
+ ld hl, $c5e1
+ ld de, $756b
+ call PlaceString
+ ld l, c
+ ld h, b
+ ld de, StringBuffer1 ; $d073
+ call PlaceString
+ ld a, $e7
+ ld [bc], a
+ ld c, $32
+ call DelayFrames
+ and a
+ ret
+.asm_e316a
+ ld de, $7586
+ call Functione2a6e
+ ld de, $19
+ call WaitPlaySFX
+ call WaitSFX
+ ld c, $32
+ call DelayFrames
+ scf
+ ret
+
+; known jump sources: e251b (38:651b), e270f (38:670f)
+Functione3180: ; e3180 (38:7180)
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld bc, $f08
+ call ClearBox
+ ld hl, $c5c0
+ ld bc, $103
+ call ClearBox
+ ld hl, $c5cc
+ ld bc, $112
+ call TextBox
+ call WaitBGMap
+ ld a, [CurPartySpecies] ; $d108
+ call Function381e
+ jr c, .asm_e31ab
+ ld e, c
+ ld d, b
+ call PlayCryHeader
+.asm_e31ab
+ ld a, [CurPartySpecies] ; $d108
+ ld [$d265], a
+ call GetPokemonName
+ ld hl, $c5e1
+ ld de, $7551
+ call PlaceString
+ ld c, $50
+ call DelayFrames
+ ld hl, $c5cc
+ ld bc, $112
+ call TextBox
+ ld hl, $c5e1
+ ld de, $755e
+ call PlaceString
+ ld l, c
+ ld h, b
+ inc hl
+ ld de, StringBuffer1 ; $d073
+ call PlaceString
+ ld l, c
+ ld h, b
+ ld [hl], $e7
+ ld c, $32
+ call DelayFrames
+ ret
+; e31e7 (38:71e7)
+
+INCBIN "baserom.gbc",$e31e7,$e3357 - $e31e7
+
+; known jump sources: e2ff2 (38:6ff2), e3023 (38:7023), e3052 (38:7052)
+Functione3357: ; e3357 (38:7357)
+ ld a, [CurPartyMon] ; $d109
+ ld c, a
+ ld b, $0
+ add hl, bc
+ ld a, [hl]
+ ld [CurPartySpecies], a ; $d108
+ ret
+
+; known jump sources: e2ff8 (38:6ff8), e3029 (38:7029), e305b (38:705b)
+Functione3363: ; e3363 (38:7363)
+ ld bc, $b
+ ld a, [CurPartyMon] ; $d109
+ call AddNTimes
+ ld de, DefaultFlypoint ; $d002
+ ld bc, $b
+ call CopyBytes
+ ret
+
+; known jump sources: e2ffe (38:6ffe), e302f (38:702f), e3064 (38:7064)
+Functione3376: ; e3376 (38:7376)
+ ld bc, $b
+ ld a, [CurPartyMon] ; $d109
+ call AddNTimes
+ ld de, $d00d
+ ld bc, $b
+ call CopyBytes
+ ret
+
+; known jump sources: e306f (38:706f)
+Functione3389: ; e3389 (38:7389)
+ ld a, [CurPartyMon] ; $d109
+ call AddNTimes
+ ld de, $d018
+ call CopyBytes
+ ret
+
+; known jump sources: e2b86 (38:6b86), e2c8b (38:6c8b), e2d4f (38:6d4f), e3049 (38:7049)
+Functione3396: ; e3396 (38:7396)
+ dec b
+ ld c, b
+ ld b, $0
+ ld hl, $73a6
+ add hl, bc
+ add hl, bc
+ add hl, bc
+ ld a, [hli]
+ ld b, a
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ret
+; e33a6 (38:73a6)
+
+INCBIN "baserom.gbc",$e33a6,$e33d0 - $e33a6
+
+; known jump sources: e240d (38:640d), e246b (38:646b), e24dc (38:64dc), e2605 (38:6605), e2663 (38:6663), e26d4 (38:66d4)
+Functione33d0: ; e33d0 (38:73d0)
+ ld b, a
+ call GetSGBLayout
+ ld a, $e4
+ call DmgToCgbBGPals
+ ld a, $fc
+ call Functioncf8
+ ret
+
+; known jump sources: e23db (38:63db), e25ce (38:65ce)
+Functione33df: ; e33df (38:73df)
+ ld e, a
+ ld d, $0
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ret
+
+; known jump sources: e296c (38:696c), e2f8e (38:6f8e)
+Functione33e8: ; e33e8 (38:73e8)
+ call DisableLCD
+ ld hl, $9000
+ ld bc, $310
+ xor a
+ call ByteFill
+ call Functione51
+ call Functione58
+ ld hl, $749d
+ ld de, $95c0
+ ld bc, $40
+ call CopyBytes
+ ld hl, $7419
+ ld de, $8000
+ call Decompress
+ ld a, $6
+ call Function3cb4
+ call EnableLCD
+ ret
+; e3419 (38:7419)
+
+INCBIN "baserom.gbc",$e3419,$e35aa - $e3419
+
+; no known jump sources
+Functione35aa: ; e35aa (38:75aa)
+ call Function1d6e
+ call Functione35e2
+.asm_e35b0
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call Functione36cf
+ call Functione379c
+ ld hl, $75f1
+ call Function1d3c
+ xor a
+ ld [$d0e4], a
+ ld hl, $c4f0
+ ld bc, $809
+ call TextBox
+ call Function350c
+ ld a, [$cf73]
+ cp $2
+ jr z, .asm_e35de
+ call Functione37af
+ call Functione36f9
+ jr .asm_e35b0
+.asm_e35de
+ call Function1c17
+ ret
+
+; known jump sources: e35ad (38:75ad), e372a (38:772a)
+Functione35e2: ; e35e2 (38:75e2)
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld bc, $168
+ ld a, $7f
+ call ByteFill
+ ret
+; e35f1 (38:75f1)
+
+INCBIN "baserom.gbc",$e35f1,$e3626 - $e35f1
+
+; known jump sources: e36e7 (38:76e7), e375d (38:775d), e376e (38:776e)
+Functione3626: ; e3626 (38:7626)
+ ld bc, $9
+ ld hl, Box1Name ; $db75
+ call AddNTimes
+ ld d, h
+ ld e, l
+ ret
+; e3632 (38:7632)
+
+INCBIN "baserom.gbc",$e3632,$e366c - $e3632
+
+; known jump sources: e3717 (38:7717)
+Functione366c: ; e366c (38:766c)
+ ld a, [$db72]
+ ld c, a
+ ld a, [MenuSelection] ; $cf74
+ dec a
+ cp c
+ jr z, .asm_e3697
+ ld c, a
+ ld b, $0
+ ld hl, $76a5
+ add hl, bc
+ add hl, bc
+ add hl, bc
+ ld a, [hli]
+ ld b, a
+ call GetSRAMBank
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld a, [hl]
+ call CloseSRAM
+ ld c, a
+ ld a, [$d4b4]
+ and a
+ jr z, .asm_e3695
+ ld a, c
+ ret
+.asm_e3695
+ xor a
+ ret
+.asm_e3697
+ ld a, $1
+ ld b, a
+ call GetSRAMBank
+ ld hl, $ad10
+ ld a, [hl]
+ call CloseSRAM
+ ret
+; e36a5 (38:76a5)
+
+INCBIN "baserom.gbc",$e36a5,$e36cf - $e36a5
+
+; known jump sources: e35b3 (38:75b3)
+Functione36cf: ; e36cf (38:76cf)
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld b, $2
+ ld c, $12
+ call TextBox
+ ld hl, $c4c9
+ ld de, $76f1
+ call PlaceString
+ ld a, [$db72]
+ and $f
+ call Functione3626
+ ld hl, $c4d3
+ call PlaceString
+ ret
+; e36f1 (38:76f1)
+
+INCBIN "baserom.gbc",$e36f1,$e36f9 - $e36f1
+
+; known jump sources: e35d9 (38:75d9)
+Functione36f9: ; e36f9 (38:76f9)
+ ld hl, $777b
+ call LoadMenuDataHeader
+ call Function1d81
+ call Function1c07
+ ret c
+ ld a, [$cfa9]
+ cp $1
+ jr z, .asm_e3734
+ cp $2
+ jr z, .asm_e3745
+ cp $3
+ jr z, .asm_e3717
+ and a
+ ret
+.asm_e3717
+ call Functione366c
+ and a
+ jr z, .asm_e372f
+ ld e, l
+ ld d, h
+ ld a, [MenuSelection] ; $cf74
+ dec a
+ ld c, a
+ ld a, BANK(Function844bc)
+ ld hl, Function844bc
+ rst $8 ; ; indirect jump to Function844bc (844bc (21:44bc))
+ call Functione35e2
+ and a
+ ret
+.asm_e372f
+ call Functione37be
+ and a
+ ret
+.asm_e3734
+ ld a, [MenuSelection] ; $cf74
+ dec a
+ ld e, a
+ ld a, [$db72]
+ cp e
+ ret z
+ ld a, BANK(Function14a83)
+ ld hl, Function14a83
+ rst $8 ; ; indirect jump to Function14a83 (14a83 (5:4a83))
+ ret
+.asm_e3745
+ ld b, $4
+ ld de, DefaultFlypoint ; $d002
+ ld a, BANK(Function116c1)
+ ld hl, Function116c1
+ rst $8 ; ; indirect jump to Function116c1 (116c1 (4:56c1))
+ call ClearTileMap
+ call Functione51
+ call Functione58
+ ld a, [MenuSelection] ; $cf74
+ dec a
+ call Functione3626
+ ld e, l
+ ld d, h
+ ld hl, DefaultFlypoint ; $d002
+ ld c, $8
+ call InitString
+ ld a, [MenuSelection] ; $cf74
+ dec a
+ call Functione3626
+ ld de, DefaultFlypoint ; $d002
+ call CopyName2
+ ret
+; e3778 (38:7778)
+
+INCBIN "baserom.gbc",$e3778,$e379c - $e3778
+
+; known jump sources: e35b6 (38:75b6)
+Functione379c: ; e379c (38:779c)
+ ld de, $77a1
+ jr Functione37e3
+; e37a1 (38:77a1)
+
+INCBIN "baserom.gbc",$e37a1,$e37af - $e37a1
+
+; known jump sources: e35d6 (38:75d6)
+Functione37af: ; e37af (38:77af)
+ ld de, $77b4
+ jr Functione37e3
+; e37b4 (38:77b4)
+
+INCBIN "baserom.gbc",$e37b4,$e37be - $e37b4
+
+; known jump sources: e372f (38:772f)
+Functione37be: ; e37be (38:77be)
+ ld de, $77d3
+ call Functione37e3
+ ld de, $19
+ call WaitPlaySFX
+ call WaitSFX
+ ld c, $32
+ call DelayFrames
+ ret
+; e37d3 (38:77d3)
+
+INCBIN "baserom.gbc",$e37d3,$e37e3 - $e37d3
+
+; known jump sources: e379f (38:779f), e37b2 (38:77b2), e37c1 (38:77c1)
+Functione37e3: ; e37e3 (38:77e3)
+ push de
+ ld hl, $c5b8
+ ld bc, $212
+ call TextBox
+ pop de
+ ld hl, $c5e1
+ call PlaceString
+ ld a, $1
+ ld [hBGMapMode], a ; $ff00+$d4
+ ret
+
+
SECTION "bank39",ROMX,BANK[$39]
CopyrightGFX: ; e4000
@@ -71699,9 +103180,147 @@
; e46ed
-INCBIN "baserom.gbc", $e46ed, $e48ac - $e46ed
+; no known jump sources
+Functione46ed: ; e46ed (39:46ed)
+ ld hl, $b
+ add hl, bc
+ ld e, [hl]
+ ld d, $0
+ ld hl, $46fd
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
+; no known jump sources
+Jumptable_e46fd: ; e46fd (39:46fd)
+ dw Functione4707
+ dw Functione470d
+ dw Functione4759
+ dw Functione4776
+ dw Functione47ab
+
+
+; no known jump sources
+Functione4707: ; e4707 (39:4707)
+ ld hl, $b
+ add hl, bc
+ inc [hl]
+ ret
+
+; no known jump sources
+Functione470d: ; e470d (39:470d)
+ ld hl, $c
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_e4747
+ ld d, a
+ ld hl, $d
+ add hl, bc
+ ld a, [hl]
+ and $3f
+ cp $20
+ jr nc, .asm_e4723
+ add $20
+.asm_e4723
+ ld e, a
+ ld a, BANK(Functionce765)
+ ld hl, Functionce765
+ rst $8 ; ; indirect jump to Functionce765 (ce765 (33:6765))
+ ld hl, $7
+ add hl, bc
+ ld [hl], e
+ ld hl, $d
+ add hl, bc
+ ld a, [hl]
+ dec [hl]
+ and $1f
+ ret nz
+ ld hl, $c
+ add hl, bc
+ ld a, [hl]
+ sub $30
+ ld [hl], a
+ ld de, $c7
+ call StartSFX
+ ret
+.asm_e4747
+ ld hl, $b
+ add hl, bc
+ inc [hl]
+ ld hl, $d
+ add hl, bc
+ ld [hl], $0
+ ld de, $c1
+ call StartSFX
+ ret
+
+; no known jump sources
+Functione4759: ; e4759 (39:4759)
+ ld hl, $d
+ add hl, bc
+ ld a, [hl]
+ cp $20
+ jr nc, .asm_e4764
+ inc [hl]
+ ret
+.asm_e4764
+ ld hl, $b
+ add hl, bc
+ inc [hl]
+ ld hl, $d
+ add hl, bc
+ ld [hl], $0
+ ld de, $c2
+ call StartSFX
+ ret
+
+; no known jump sources
+Functione4776: ; e4776 (39:4776)
+ ld hl, $d
+ add hl, bc
+ ld a, [hl]
+ cp $40
+ jr z, .asm_e47a3
+ inc [hl]
+ srl a
+ srl a
+ ld e, a
+ ld d, $0
+ ld hl, $47ac
+ add hl, de
+ add hl, de
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $5
+ ld [rSVBK], a ; $ff00+$70
+ ld a, [hli]
+ ld [$d0cc], a
+ ld a, [hli]
+ ld [$d0cd], a
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ ld a, $1
+ ld [hCGBPalUpdate], a ; $ff00+$e5
+ ret
+.asm_e47a3
+ ld hl, $b
+ add hl, bc
+ inc [hl]
+ call Functione4687
+
+; no known jump sources
+Functione47ab: ; e47ab (39:47ab)
+ ret
+; e47ac (39:47ac)
+
+INCBIN "baserom.gbc",$e47ac,$e48ac - $e47ac
+
+
Functione48ac: ; e48ac
ld a, [rSVBK]
push af
@@ -71774,163 +103393,1690 @@
jp [hl]
; e491e
-INCBIN "baserom.gbc", $e491e, $e555d - $e491e
+; no known jump sources
+Jumptable_e491e: ; e491e (39:491e)
+ dw Functione495b
+ dw Functione49d6
+ dw Functione49fd
+ dw Functione4a69
+ dw Functione4a7a
+ dw Functione4af7
+ dw Functione4b3f
+ dw Functione4bd3
+ dw Functione4c04
+ dw Functione4c4f
+ dw Functione4c86
+ dw Functione4cfa
+ dw Functione4d6d
+ dw Functione4dfa
+ dw Functione4e40
+ dw Functione4edc
+ dw Functione4ef5
+ dw Functione4f67
+ dw Functione4f7e
+ dw Functione5019
+ dw Functione505d
+ dw Functione5072
+ dw Functione5086
+ dw Functione508e
+ dw Functione50ad
+ dw Functione50bb
+ dw Functione512d
+ dw Functione5152
+
+
+; known jump sources: e49d2 (39:49d2), e49f9 (39:49f9), e4a65 (39:4a65), e4a76 (39:4a76), e4af3 (39:4af3), e4b3b (39:4b3b), e4bcf (39:4bcf), e4c00 (39:4c00), e4c4b (39:4c4b), e4c82 (39:4c82), e4cf6 (39:4cf6), e4d32 (39:4d32), e4df6 (39:4df6), e4e3c (39:4e3c), e4ed8 (39:4ed8), e4ef1 (39:4ef1), e4f63 (39:4f63), e4f7a (39:4f7a), e5015 (39:5015), e5059 (39:5059), e506e (39:506e), e5082 (39:5082), e508a (39:508a), e50a9 (39:50a9), e50b7 (39:50b7), e5129 (39:5129), e5149 (39:5149)
+Functione4956: ; e4956 (39:4956)
+ ld hl, $cf63
+ inc [hl]
+ ret
+
+; no known jump sources
+Functione495b: ; e495b (39:495b)
+ call Functione54a3
+ call ClearSprites
+ call ClearTileMap
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ ld a, $1
+ ld [rVBK], a ; $ff00+$4f
+ ld hl, $641d
+ ld de, $9800
+ call Functione54fa
+ ld a, $0
+ ld [rVBK], a ; $ff00+$4f
+ ld hl, $5f5d
+ ld de, $9000
+ call Functione54c2
+ ld hl, $634d
+ ld de, $8000
+ call Functione54c2
+ ld hl, $63dd
+ ld de, $9800
+ call Functione54fa
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $5
+ ld [rSVBK], a ; $ff00+$70
+ ld hl, $65ad
+ ld de, Unkn1Pals ; $d000
+ ld bc, $80
+ call CopyBytes
+ ld hl, $65ad
+ ld de, BGPals ; $d080
+ ld bc, $80
+ call CopyBytes
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ xor a
+ ld [hSCX], a ; $ff00+$cf
+ ld [hSCY], a ; $ff00+$d0
+ ld a, $7
+ ld [hWX], a ; $ff00+$d1
+ ld a, $90
+ ld [hWY], a ; $ff00+$d2
+ ld a, BANK(Function8cf53)
+ ld hl, Function8cf53
+ rst $8 ; ; indirect jump to Function8cf53 (8cf53 (23:4f53))
+ call Functione549e
+ xor a
+ ld [$cf64], a
+ ld [$cf65], a
+ call Functione4956
+ ret
+
+; no known jump sources
+Functione49d6: ; e49d6 (39:49d6)
+ ld hl, $cf64
+ ld a, [hl]
+ inc [hl]
+ cp $80
+ jr nc, .asm_e49f9
+ cp $60
+ jr nz, .asm_e49f1
+ push af
+ ld de, $5858
+ call Functione51dc
+ ld de, $be
+ call StartSFX
+ pop af
+.asm_e49f1
+ ld [$cf65], a
+ xor a
+ call Functione5223
+ ret
+.asm_e49f9
+ call Functione4956
+ ret
+
+; no known jump sources
+Functione49fd: ; e49fd (39:49fd)
+ call Functione54a3
+ call ClearSprites
+ call ClearTileMap
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ ld a, $1
+ ld [rVBK], a ; $ff00+$4f
+ ld hl, $5ecd
+ ld de, $9800
+ call Functione54fa
+ ld a, $0
+ ld [rVBK], a ; $ff00+$4f
+ ld hl, $5c7d
+ ld de, $9000
+ call Functione54c2
+ ld hl, $5e6d
+ ld de, $9800
+ call Functione54fa
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $5
+ ld [rSVBK], a ; $ff00+$70
+ ld hl, $5edd
+ ld de, Unkn1Pals ; $d000
+ ld bc, $80
+ call CopyBytes
+ ld hl, $5edd
+ ld de, BGPals ; $d080
+ ld bc, $80
+ call CopyBytes
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ xor a
+ ld [hSCX], a ; $ff00+$cf
+ ld [hSCY], a ; $ff00+$d0
+ ld a, $7
+ ld [hWX], a ; $ff00+$d1
+ ld a, $90
+ ld [hWY], a ; $ff00+$d2
+ call Functione5516
+ call Functione549e
+ xor a
+ ld [$cf64], a
+ call Functione4956
+ ret
+
+; no known jump sources
+Functione4a69: ; e4a69 (39:4a69)
+ call Functione552f
+ ld hl, $cf64
+ ld a, [hl]
+ cp $80
+ jr z, .asm_e4a76
+ inc [hl]
+ ret
+.asm_e4a76
+ call Functione4956
+ ret
+
+; no known jump sources
+Functione4a7a: ; e4a7a (39:4a7a)
+ call Functione54a3
+ call ClearSprites
+ call ClearTileMap
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ ld [hLCDStatCustom], a ; $ff00+$c6
+ ld a, $1
+ ld [rVBK], a ; $ff00+$4f
+ ld hl, $647d
+ ld de, $9800
+ call Functione54fa
+ ld a, $0
+ ld [rVBK], a ; $ff00+$4f
+ ld hl, $5f5d
+ ld de, $9000
+ call Functione54c2
+ ld hl, $634d
+ ld de, $8000
+ call Functione54c2
+ ld hl, $642d
+ ld de, $9800
+ call Functione54fa
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $5
+ ld [rSVBK], a ; $ff00+$70
+ ld hl, $65ad
+ ld de, Unkn1Pals ; $d000
+ ld bc, $80
+ call CopyBytes
+ ld hl, $65ad
+ ld de, BGPals ; $d080
+ ld bc, $80
+ call CopyBytes
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ xor a
+ ld [hSCX], a ; $ff00+$cf
+ ld [hSCY], a ; $ff00+$d0
+ ld a, $7
+ ld [hWX], a ; $ff00+$d1
+ ld a, $90
+ ld [hWY], a ; $ff00+$d2
+ ld a, BANK(Function8cf53)
+ ld hl, Function8cf53
+ rst $8 ; ; indirect jump to Function8cf53 (8cf53 (23:4f53))
+ call Functione549e
+ xor a
+ ld [$cf64], a
+ ld [$cf65], a
+ call Functione4956
+ ret
+
+; no known jump sources
+Functione4af7: ; e4af7 (39:4af7)
+ ld hl, $cf64
+ ld a, [hl]
+ inc [hl]
+ cp $80
+ jr nc, .asm_e4b3b
+ cp $60
+ jr z, .asm_e4b24
+ cp $40
+ jr nc, .asm_e4b32
+ cp $20
+ jr z, .asm_e4b0e
+ jr .asm_e4b1c
+.asm_e4b0e
+ push af
+ ld de, $3878
+ call Functione51dc
+ ld de, $bf
+ call StartSFX
+ pop af
+.asm_e4b1c
+ ld [$cf65], a
+ xor a
+ call Functione5223
+ ret
+.asm_e4b24
+ push af
+ ld de, $7030
+ call Functione51dc
+ ld de, $be
+ call StartSFX
+ pop af
+.asm_e4b32
+ ld [$cf65], a
+ ld a, $1
+ call Functione5223
+ ret
+.asm_e4b3b
+ call Functione4956
+ ret
+
+; no known jump sources
+Functione4b3f: ; e4b3f (39:4b3f)
+ call Functione54a3
+ call ClearSprites
+ call ClearTileMap
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ ld a, $1
+ ld [rVBK], a ; $ff00+$4f
+ ld hl, $5ecd
+ ld de, $9800
+ call Functione54fa
+ ld hl, $592d
+ ld de, $8000
+ call Functione54c2
+ ld a, $0
+ ld [rVBK], a ; $ff00+$4f
+ ld hl, $555d
+ ld de, $8000
+ call Functione54de
+ ld hl, $5c7d
+ ld de, $9000
+ call Functione54c2
+ ld hl, $5e6d
+ ld de, $9800
+ call Functione54fa
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $5
+ ld [rSVBK], a ; $ff00+$70
+ ld hl, $5edd
+ ld de, Unkn1Pals ; $d000
+ ld bc, $80
+ call CopyBytes
+ ld hl, $5edd
+ ld de, BGPals ; $d080
+ ld bc, $80
+ call CopyBytes
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ xor a
+ ld [hSCX], a ; $ff00+$cf
+ ld [hSCY], a ; $ff00+$d0
+ ld a, $7
+ ld [hWX], a ; $ff00+$d1
+ ld a, $90
+ ld [hWY], a ; $ff00+$d2
+ call Functione5516
+ ld a, BANK(Function8cf53)
+ ld hl, Function8cf53
+ rst $8 ; ; indirect jump to Function8cf53 (8cf53 (23:4f53))
+ ld de, $6cd8
+ ld a, $26
+ call Function3b2a
+ ld a, $f0
+ ld [$c3c0], a
+ call Functione549e
+ xor a
+ ld [$cf64], a
+ ld [$cf65], a
+ call Functione4956
+ ret
+
+; no known jump sources
+Functione4bd3: ; e4bd3 (39:4bd3)
+ ld hl, $cf64
+ ld a, [hl]
+ inc [hl]
+ cp $40
+ jr z, .asm_e4be2
+ jr nc, .asm_e4be8
+ call Functione552f
+ ret
+.asm_e4be2
+ ld de, $c6
+ call StartSFX
+.asm_e4be8
+ ld a, [$c3c0]
+ and a
+ jr z, .asm_e4bf4
+ sub $8
+ ld [$c3c0], a
+ ret
+.asm_e4bf4
+ ld de, $c5
+ call StartSFX
+ ld a, BANK(Function8d03d)
+ ld hl, Function8d03d
+ rst $8 ; ; indirect jump to Function8d03d (8d03d (23:503d))
+ call Functione4956
+ ret
+
+; no known jump sources
+Functione4c04: ; e4c04 (39:4c04)
+ xor a
+ ld [hLCDStatCustom], a ; $ff00+$c6
+ call ClearSprites
+ ld hl, AttrMap ; $cdd9
+ ld bc, $f0
+ ld a, $1
+ call ByteFill
+ ld bc, $3c
+ ld a, $2
+ call ByteFill
+ ld bc, $3c
+ ld a, $3
+ call ByteFill
+ ld a, $2
+ ld [hBGMapMode], a ; $ff00+$d4
+ call DelayFrame
+ call DelayFrame
+ call DelayFrame
+ ld a, $c
+ ld [hBGMapAddress], a ; $ff00+$d6
+ call DelayFrame
+ call DelayFrame
+ call DelayFrame
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ ld [hBGMapAddress], a ; $ff00+$d6
+ ld [$c3c0], a
+ xor a
+ ld [$cf64], a
+ call Functione4956
+ ret
+
+; no known jump sources
+Functione4c4f: ; e4c4f (39:4c4f)
+ call Functione546d
+ ld hl, $cf64
+ ld a, [hl]
+ inc [hl]
+ cp $c0
+ jr z, .asm_e4c82
+ cp $20
+ jr z, .asm_e4c73
+ cp $40
+ jr z, .asm_e4c64
+ ret
+.asm_e4c64
+ ld de, $a980
+ ld a, $27
+ call Function3b2a
+ ld de, $c4
+ call StartSFX
+ ret
+.asm_e4c73
+ ld de, $b030
+ ld a, $28
+ call Function3b2a
+ ld de, $c4
+ call StartSFX
+ ret
+.asm_e4c82
+ call Functione4956
+ ret
+
+; no known jump sources
+Functione4c86: ; e4c86 (39:4c86)
+ call Functione54a3
+ call ClearSprites
+ call ClearTileMap
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ ld [hLCDStatCustom], a ; $ff00+$c6
+ ld a, $1
+ ld [rVBK], a ; $ff00+$4f
+ ld hl, $655d
+ ld de, $9800
+ call Functione54fa
+ ld a, $0
+ ld [rVBK], a ; $ff00+$4f
+ ld hl, $5f5d
+ ld de, $9000
+ call Functione54c2
+ ld hl, $649d
+ ld de, $9800
+ call Functione54fa
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $5
+ ld [rSVBK], a ; $ff00+$70
+ ld hl, $65ad
+ ld de, Unkn1Pals ; $d000
+ ld bc, $80
+ call CopyBytes
+ ld hl, $65ad
+ ld de, BGPals ; $d080
+ ld bc, $80
+ call CopyBytes
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ xor a
+ ld [hSCX], a ; $ff00+$cf
+ ld [hSCY], a ; $ff00+$d0
+ ld a, $7
+ ld [hWX], a ; $ff00+$d1
+ ld a, $90
+ ld [hWY], a ; $ff00+$d2
+ ld a, BANK(Function8cf53)
+ ld hl, Function8cf53
+ rst $8 ; ; indirect jump to Function8cf53 (8cf53 (23:4f53))
+ call Functione549e
+ xor a
+ ld [$cf64], a
+ ld [$cf65], a
+ call Functione4956
+ ret
+
+; no known jump sources
+Functione4cfa: ; e4cfa (39:4cfa)
+ call Functione4d36
+ ld hl, $cf64
+ ld a, [hl]
+ inc [hl]
+ cp $c0
+ jr nc, .asm_e4d32
+ cp $80
+ jr nc, .asm_e4d1d
+ ld c, a
+ and $1f
+ sla a
+ ld [$cf65], a
+ ld a, c
+ and $e0
+ srl a
+ swap a
+ call Functione5223
+ ret
+.asm_e4d1d
+ ld c, a
+ and $f
+ sla a
+ sla a
+ ld [$cf65], a
+ ld a, c
+ and $70
+ or $40
+ swap a
+ call Functione5223
+ ret
+.asm_e4d32
+ call Functione4956
+ ret
+
+; known jump sources: e4cfa (39:4cfa)
+Functione4d36: ; e4d36 (39:4d36)
+ ld a, [$cf64]
+ ld c, a
+ ld hl, $4d54
+.asm_e4d3d
+ ld a, [hli]
+ cp $ff
+ ret z
+ cp c
+ jr z, .asm_e4d48
+ inc hl
+ inc hl
+ jr .asm_e4d3d
+.asm_e4d48
+ ld a, [hli]
+ ld d, [hl]
+ ld e, a
+ push de
+ call SFXChannelsOff
+ pop de
+ call StartSFX
+ ret
+; e4d54 (39:4d54)
+
+INCBIN "baserom.gbc",$e4d54,$e4d6d - $e4d54
+
+; no known jump sources
+Functione4d6d: ; e4d6d (39:4d6d)
+ call Functione54a3
+ call ClearSprites
+ call ClearTileMap
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ ld a, $1
+ ld [rVBK], a ; $ff00+$4f
+ ld hl, $5ecd
+ ld de, $9800
+ call Functione54fa
+ ld a, $0
+ ld [rVBK], a ; $ff00+$4f
+ ld hl, $555d
+ ld de, $8000
+ call Functione54de
+ ld hl, $5c7d
+ ld de, $9000
+ call Functione54c2
+ ld hl, $5e6d
+ ld de, $9800
+ call Functione54fa
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $5
+ ld [rSVBK], a ; $ff00+$70
+ ld hl, $5edd
+ ld de, Unkn1Pals ; $d000
+ ld bc, $80
+ call CopyBytes
+ ld hl, $5edd
+ ld de, BGPals ; $d080
+ ld bc, $80
+ call CopyBytes
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ xor a
+ ld [hSCX], a ; $ff00+$cf
+ ld [hSCY], a ; $ff00+$d0
+ ld a, $7
+ ld [hWX], a ; $ff00+$d1
+ ld a, $90
+ ld [hWY], a ; $ff00+$d2
+ ld a, BANK(Function8cf53)
+ ld hl, Function8cf53
+ rst $8 ; ; indirect jump to Function8cf53 (8cf53 (23:4f53))
+ ld de, $6c58
+ ld a, $26
+ call Function3b2a
+ ld de, $62
+ call StartMusic
+ xor a
+ ld [$c3c0], a
+ call Functione549e
+ xor a
+ ld [$cf64], a
+ ld [$cf65], a
+ call Functione4956
+ ret
+
+; no known jump sources
+Functione4dfa: ; e4dfa (39:4dfa)
+ ld a, [hSCX] ; $ff00+$cf
+ sub $a
+ ld [hSCX], a ; $ff00+$cf
+ ld hl, $cf64
+ ld a, [hl]
+ inc [hl]
+ cp $80
+ jr z, .asm_e4e3c
+ cp $60
+ jr z, .asm_e4e14
+ jr nc, .asm_e4e1a
+ cp $40
+ jr nc, .asm_e4e33
+ ret
+.asm_e4e14
+ ld de, $c8
+ call StartSFX
+.asm_e4e1a
+ ld a, $1
+ ld [$cf65], a
+ ld a, [$c3c0]
+ cp $88
+ jr c, .asm_e4e2c
+ sub $8
+ ld [$c3c0], a
+ ret
+.asm_e4e2c
+ ld a, BANK(Function8d03d)
+ ld hl, Function8d03d
+ rst $8 ; ; indirect jump to Function8d03d (8d03d (23:503d))
+ ret
+.asm_e4e33
+ ld a, [$c3c0]
+ sub $2
+ ld [$c3c0], a
+ ret
+.asm_e4e3c
+ call Functione4956
+ ret
+
+; no known jump sources
+Functione4e40: ; e4e40 (39:4e40)
+ call Functione54a3
+ call ClearSprites
+ call ClearTileMap
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ ld a, $1
+ ld [rVBK], a ; $ff00+$4f
+ ld hl, $76ad
+ ld de, $9800
+ call Functione54fa
+ ld a, $0
+ ld [rVBK], a ; $ff00+$4f
+ ld hl, $6ded
+ ld de, $9000
+ call Functione54c2
+ ld hl, $785d
+ ld de, $8000
+ call Functione54c2
+ ld de, $7a5d
+ ld hl, $8800
+ ld bc, $3901
+ call Request2bpp
+ ld hl, $764d
+ ld de, $9800
+ call Functione54fa
+ call Functione541b
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $5
+ ld [rSVBK], a ; $ff00+$70
+ ld hl, $77dd
+ ld de, Unkn1Pals ; $d000
+ ld bc, $80
+ call CopyBytes
+ ld hl, $77dd
+ ld de, BGPals ; $d080
+ ld bc, $80
+ call CopyBytes
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ xor a
+ ld [hSCX], a ; $ff00+$cf
+ ld a, $90
+ ld [hSCY], a ; $ff00+$d0
+ ld a, $7
+ ld [hWX], a ; $ff00+$d1
+ ld a, $90
+ ld [hWY], a ; $ff00+$d2
+ ld a, BANK(Function8cf53)
+ ld hl, Function8cf53
+ rst $8 ; ; indirect jump to Function8cf53 (8cf53 (23:4f53))
+ call Functione549e
+ ld de, $4028
+ ld a, $2a
+ call Function3b2a
+ ld de, $6000
+ ld a, $2b
+ call Function3b2a
+ xor a
+ ld [$cf64], a
+ ld [$cf65], a
+ call Functione4956
+ ret
+
+; no known jump sources
+Functione4edc: ; e4edc (39:4edc)
+ ld hl, $cf64
+ ld a, [hl]
+ inc [hl]
+ cp $80
+ jr nc, .asm_e4ef1
+ call Functione5441
+ ld a, [hSCY] ; $ff00+$d0
+ and a
+ ret z
+ add $8
+ ld [hSCY], a ; $ff00+$d0
+ ret
+.asm_e4ef1
+ call Functione4956
+ ret
+
+; no known jump sources
+Functione4ef5: ; e4ef5 (39:4ef5)
+ call Functione54a3
+ call ClearSprites
+ call ClearTileMap
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ ld a, $1
+ ld [rVBK], a ; $ff00+$4f
+ ld hl, $6d0d
+ ld de, $9800
+ call Functione54fa
+ ld a, $0
+ ld [rVBK], a ; $ff00+$4f
+ ld hl, $681d
+ ld de, $8800
+ call Functione54de
+ ld hl, $6c3d
+ ld de, $9800
+ call Functione54fa
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $5
+ ld [rSVBK], a ; $ff00+$70
+ ld hl, $6d6d
+ ld de, Unkn1Pals ; $d000
+ ld bc, $80
+ call CopyBytes
+ ld hl, $6d6d
+ ld de, BGPals ; $d080
+ ld bc, $80
+ call CopyBytes
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ xor a
+ ld [hSCX], a ; $ff00+$cf
+ ld [hSCY], a ; $ff00+$d0
+ ld a, $7
+ ld [hWX], a ; $ff00+$d1
+ ld a, $90
+ ld [hWY], a ; $ff00+$d2
+ ld a, BANK(Function8cf53)
+ ld hl, Function8cf53
+ rst $8 ; ; indirect jump to Function8cf53 (8cf53 (23:4f53))
+ call Functione549e
+ xor a
+ ld [$cf64], a
+ ld [$cf65], a
+ call Functione4956
+ ret
+
+; no known jump sources
+Functione4f67: ; e4f67 (39:4f67)
+ ld hl, $cf64
+ ld a, [hl]
+ inc [hl]
+ cp $60
+ jr nc, .asm_e4f7a
+ ld a, [hSCX] ; $ff00+$cf
+ cp $60
+ ret z
+ add $8
+ ld [hSCX], a ; $ff00+$cf
+ ret
+.asm_e4f7a
+ call Functione4956
+ ret
+
+; no known jump sources
+Functione4f7e: ; e4f7e (39:4f7e)
+ call Functione54a3
+ call ClearSprites
+ call ClearTileMap
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ ld a, $1
+ ld [rVBK], a ; $ff00+$4f
+ ld hl, $778d
+ ld de, $9800
+ call Functione54fa
+ ld a, $0
+ ld [rVBK], a ; $ff00+$4f
+ ld hl, $72ad
+ ld de, $9000
+ call Functione54c2
+ ld hl, $5f5d
+ ld de, $8800
+ call Functione54c2
+ ld de, $7a5d
+ ld hl, $8ff0
+ ld bc, $3901
+ call Request2bpp
+ ld hl, $76bd
+ ld de, $9800
+ call Functione54fa
+ call Functione541b
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $5
+ ld [rSVBK], a ; $ff00+$70
+ ld hl, $77dd
+ ld de, Unkn1Pals ; $d000
+ ld bc, $80
+ call CopyBytes
+ ld hl, $77dd
+ ld de, BGPals ; $d080
+ ld bc, $80
+ call CopyBytes
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ xor a
+ ld [hSCX], a ; $ff00+$cf
+ ld a, $d8
+ ld [hSCY], a ; $ff00+$d0
+ ld a, $7
+ ld [hWX], a ; $ff00+$d1
+ ld a, $90
+ ld [hWY], a ; $ff00+$d2
+ ld a, BANK(Function8cf53)
+ ld hl, Function8cf53
+ rst $8 ; ; indirect jump to Function8cf53 (8cf53 (23:4f53))
+ ld hl, $c300
+ xor a
+ ld [hli], a
+ ld [hl], $7f
+ call Functione549e
+ ld de, $6000
+ ld a, $2b
+ call Function3b2a
+ xor a
+ ld [$cf64], a
+ ld [$cf65], a
+ call Functione4956
+ ret
+
+; no known jump sources
+Functione5019: ; e5019 (39:5019)
+ ld hl, $cf64
+ ld a, [hl]
+ inc [hl]
+ cp $98
+ jr nc, .asm_e5059
+ cp $58
+ ret nc
+ cp $40
+ jr nc, .asm_e5032
+ cp $28
+ ret nc
+ ld a, [hSCY] ; $ff00+$d0
+ inc a
+ ld [hSCY], a ; $ff00+$d0
+ ret
+.asm_e5032
+ sub $18
+ ld c, a
+ and $3
+ cp $3
+ ret nz
+ ld a, c
+ and $1c
+ srl a
+ srl a
+ ld [$cf65], a
+ xor a
+ call Functione5348
+ ret
+; e5049 (39:5049)
+
+INCBIN "baserom.gbc",$e5049,$e5059 - $e5049
+.asm_e5059
+ call Functione4956
+ ret
+
+; no known jump sources
+Functione505d: ; e505d (39:505d)
+ call Functione5451
+ ld c, $3
+ call DelayFrames
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ ld [$cf64], a
+ ld [$cf65], a
+ call Functione4956
+ ret
+
+; no known jump sources
+Functione5072: ; e5072 (39:5072)
+ ld hl, $cf64
+ ld a, [hl]
+ inc [hl]
+ cp $8
+ jr nc, .asm_e507c
+ ret
+.asm_e507c
+ ld a, BANK(Function8d03d)
+ ld hl, Function8d03d
+ rst $8 ; ; indirect jump to Function8d03d (8d03d (23:503d))
+ call Functione4956
+ ret
+
+; no known jump sources
+Functione5086: ; e5086 (39:5086)
+ xor a
+ ld [$cf64], a
+ call Functione4956
+ ret
+
+; no known jump sources
+Functione508e: ; e508e (39:508e)
+ ld hl, $cf64
+ ld a, [hl]
+ inc [hl]
+ cp $20
+ jr nc, .asm_e50a4
+ ld c, a
+ and $3
+ ret nz
+ ld a, c
+ and $1c
+ sla a
+ call Functione5172
+ ret
+.asm_e50a4
+ ld a, $40
+ ld [$cf64], a
+ call Functione4956
+ ret
+
+; no known jump sources
+Functione50ad: ; e50ad (39:50ad)
+ ld a, [$cf64]
+ dec a
+ jr z, .asm_e50b7
+ ld [$cf64], a
+ ret
+.asm_e50b7
+ call Functione4956
+ ret
+
+; no known jump sources
+Functione50bb: ; e50bb (39:50bb)
+ call WhiteBGMap
+ call ClearSprites
+ call ClearTileMap
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ ld a, $1
+ ld [rVBK], a ; $ff00+$4f
+ ld hl, $676d
+ ld de, $9800
+ call Functione54fa
+ ld a, $0
+ ld [rVBK], a ; $ff00+$4f
+ ld hl, $662d
+ ld de, $9000
+ call Functione54c2
+ ld hl, $672d
+ ld de, $9800
+ call Functione54fa
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $5
+ ld [rSVBK], a ; $ff00+$70
+ ld hl, $679d
+ ld de, Unkn1Pals ; $d000
+ ld bc, $80
+ call CopyBytes
+ ld hl, $679d
+ ld de, BGPals ; $d080
+ ld bc, $80
+ call CopyBytes
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ xor a
+ ld [hSCX], a ; $ff00+$cf
+ ld [hSCY], a ; $ff00+$d0
+ ld a, $7
+ ld [hWX], a ; $ff00+$d1
+ ld a, $90
+ ld [hWY], a ; $ff00+$d2
+ ld a, BANK(Function8cf53)
+ ld hl, Function8cf53
+ rst $8 ; ; indirect jump to Function8cf53 (8cf53 (23:4f53))
+ call Functione549e
+ xor a
+ ld [$cf64], a
+ ld [$cf65], a
+ call Functione4956
+ ret
+
+; no known jump sources
+Functione512d: ; e512d (39:512d)
+ ld hl, $cf65
+ inc [hl]
+ ld hl, $cf64
+ ld a, [hl]
+ inc [hl]
+ cp $80
+ jr nc, .asm_e5149
+ ld c, a
+ and $f
+ ld [$cf65], a
+ ld a, c
+ and $70
+ swap a
+ call Functione539d
+ ret
+.asm_e5149
+ call Functione4956
+ ld a, $80
+ ld [$cf64], a
+ ret
+
+; no known jump sources
+Functione5152: ; e5152 (39:5152)
+ ld hl, $cf64
+ ld a, [hl]
+ and a
+ jr z, .asm_e516c
+ dec [hl]
+ cp $18
+ jr z, .asm_e5168
+ cp $8
+ ret nz
+ ld de, $cb
+ call StartSFX
+ ret
+.asm_e5168
+ call WhiteBGMap
+ ret
+.asm_e516c
+ ld hl, $cf63
+ set 7, [hl]
+ ret
+
+; known jump sources: e50a0 (39:50a0)
+Functione5172: ; e5172 (39:5172)
+ ld hl, $519c
+ add l
+ ld l, a
+ ld a, $0
+ adc h
+ ld h, a
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $5
+ ld [rSVBK], a ; $ff00+$70
+ ld de, BGPals ; $d080
+ ld b, $8
+.asm_e5187
+ push hl
+ ld c, $8
+.asm_e518a
+ ld a, [hli]
+ ld [de], a
+ inc de
+ dec c
+ jr nz, .asm_e518a
+ pop hl
+ dec b
+ jr nz, .asm_e5187
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ ld a, $1
+ ld [hCGBPalUpdate], a ; $ff00+$e5
+ ret
+; e519c (39:519c)
+
+INCBIN "baserom.gbc",$e519c,$e51dc - $e519c
+
+; known jump sources: e49e7 (39:49e7), e4b12 (39:4b12), e4b28 (39:4b28)
+Functione51dc: ; e51dc (39:51dc)
+ push de
+ ld a, $29
+ call Function3b2a
+ ld hl, $c
+ add hl, bc
+ ld [hl], $8
+ ld a, $3c
+ call Function3b3c
+ pop de
+ push de
+ ld a, $29
+ call Function3b2a
+ ld hl, $c
+ add hl, bc
+ ld [hl], $18
+ ld a, $3b
+ call Function3b3c
+ pop de
+ push de
+ ld a, $29
+ call Function3b2a
+ ld hl, $c
+ add hl, bc
+ ld [hl], $28
+ ld a, $39
+ call Function3b3c
+ pop de
+ ld a, $29
+ call Function3b2a
+ ld hl, $c
+ add hl, bc
+ ld [hl], $38
+ ld a, $3a
+ call Function3b3c
+ ret
+
+; known jump sources: e49f5 (39:49f5), e4b20 (39:4b20), e4b37 (39:4b37), e4d19 (39:4d19), e4d2e (39:4d2e)
+Functione5223: ; e5223 (39:5223)
+ add a
+ add a
+ add a
+ ld e, a
+ ld d, $0
+ ld hl, BGPals ; $d080
+ add hl, de
+ inc hl
+ inc hl
+ ld a, [$cf65]
+ and $3f
+ cp $1f
+ jr z, .asm_e523e
+ jr c, .asm_e523e
+ ld c, a
+ ld a, $3f
+ sub c
+.asm_e523e
+ ld c, a
+ ld b, $0
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $5
+ ld [rSVBK], a ; $ff00+$70
+ push hl
+ push bc
+ ld hl, BGPals ; $d080
+ ld bc, $40
+ xor a
+ call ByteFill
+ pop bc
+ pop hl
+ push hl
+ ld hl, $5288
+ add hl, bc
+ add hl, bc
+ ld a, [hli]
+ ld d, [hl]
+ ld e, a
+ pop hl
+ ld a, e
+ ld [hli], a
+ ld a, d
+ ld [hli], a
+ push hl
+ ld hl, $52c8
+ add hl, bc
+ add hl, bc
+ ld a, [hli]
+ ld d, [hl]
+ ld e, a
+ pop hl
+ ld a, e
+ ld [hli], a
+ ld a, d
+ ld [hli], a
+ push hl
+ ld hl, $5308
+ add hl, bc
+ add hl, bc
+ ld a, [hli]
+ ld d, [hl]
+ ld e, a
+ pop hl
+ ld a, e
+ ld [hli], a
+ ld a, d
+ ld [hli], a
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ ld a, $1
+ ld [hCGBPalUpdate], a ; $ff00+$e5
+ ret
+; e5288 (39:5288)
+
+INCBIN "baserom.gbc",$e5288,$e5348 - $e5288
+
+; known jump sources: e5045 (39:5045)
+Functione5348: ; e5348 (39:5348)
+ and a
+ jr nz, .asm_e5350
+ ld hl, $538d
+ jr .asm_e5353
+.asm_e5350
+ ld hl, $5395
+.asm_e5353
+ ld a, [$cf65]
+ and $7
+ add a
+ add a
+ add a
+ ld c, a
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $5
+ ld [rSVBK], a ; $ff00+$70
+ push bc
+ ld de, BGPals ; $d080
+ ld a, c
+ add e
+ ld e, a
+ ld a, $0
+ adc d
+ ld d, a
+ ld bc, $8
+ call CopyBytes
+ pop bc
+ ld de, Unkn1Pals ; $d000
+ ld a, c
+ add e
+ ld e, a
+ ld a, $0
+ adc d
+ ld d, a
+ ld bc, $8
+ call CopyBytes
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ ld a, $1
+ ld [hCGBPalUpdate], a ; $ff00+$e5
+ ret
+; e538d (39:538d)
+
+INCBIN "baserom.gbc",$e538d,$e539d - $e538d
+
+; known jump sources: e5145 (39:5145)
+Functione539d: ; e539d (39:539d)
+ add a
+ add a
+ add a
+ ld e, a
+ ld d, $0
+ ld hl, BGPals ; $d080
+ add hl, de
+ inc hl
+ inc hl
+ inc hl
+ inc hl
+ ld a, [$cf65]
+ add a
+ ld c, a
+ ld b, $0
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $5
+ ld [rSVBK], a ; $ff00+$70
+ push hl
+ ld hl, $53db
+ add hl, bc
+ ld a, [hli]
+ ld d, [hl]
+ ld e, a
+ pop hl
+ ld a, e
+ ld [hli], a
+ ld a, d
+ ld [hli], a
+ push hl
+ ld hl, $53fb
+ add hl, bc
+ ld a, [hli]
+ ld d, [hl]
+ ld e, a
+ pop hl
+ ld a, e
+ ld [hli], a
+ ld a, d
+ ld [hli], a
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ ld a, $1
+ ld [hCGBPalUpdate], a ; $ff00+$e5
+ ret
+; e53db (39:53db)
+
+INCBIN "baserom.gbc",$e53db,$e541b - $e53db
+
+; known jump sources: e4e84 (39:4e84), e4fc2 (39:4fc2)
+Functione541b: ; e541b (39:541b)
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $6
+ ld [rSVBK], a ; $ff00+$70
+ ld hl, Unkn1Pals ; $d000
+ ld de, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld b, $12
+.asm_e542a
+ ld c, $14
+.asm_e542c
+ ld a, [hli]
+ ld [de], a
+ inc de
+ dec c
+ jr nz, .asm_e542c
+ ld a, $c
+ add l
+ ld l, a
+ ld a, $0
+ adc h
+ ld h, a
+ dec b
+ jr nz, .asm_e542a
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ ret
+
+; known jump sources: e4ee5 (39:4ee5)
+Functione5441: ; e5441 (39:5441)
+ ld a, [$cf64]
+ and $3
+ jr z, Functione5451
+ cp $3
+ jr z, .asm_e544d
+ ret
+.asm_e544d
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ ret
+
+; known jump sources: e505d (39:505d), e5446 (39:5446)
+Functione5451: ; e5451 (39:5451)
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld bc, $168
+.asm_e5457
+ ld a, [hl]
+ and a
+ jr z, .asm_e5462
+ cp $80
+ jr nc, .asm_e5462
+ xor $8
+ ld [hl], a
+.asm_e5462
+ inc hl
+ dec bc
+ ld a, c
+ or b
+ jr nz, .asm_e5457
+ ld a, $1
+ ld [hBGMapMode], a ; $ff00+$d4
+ ret
+
+; known jump sources: e4c4f (39:4c4f)
+Functione546d: ; e546d (39:546d)
+ ld a, [$cf64]
+ cp $24
+ ret nc
+ and $c
+ srl a
+ ld e, a
+ ld d, $0
+ ld hl, $5496
+ add hl, de
+ ld a, [hli]
+ ld [$cf68], a
+ ld a, [hli]
+ ld [$cf69], a
+ ld a, $90
+ ld [$cf6a], a
+ ld a, $90
+ ld [$cf6b], a
+ ld a, $4
+ ld [$cf67], a
+ ret
+; e5496 (39:5496)
+
+INCBIN "baserom.gbc",$e5496,$e549e - $e5496
+
+; known jump sources: e49c8 (39:49c8), e4a5e (39:4a5e), e4ae9 (39:4ae9), e4bc5 (39:4bc5), e4cec (39:4cec), e4dec (39:4dec), e4ebe (39:4ebe), e4f59 (39:4f59), e5003 (39:5003), e511f (39:511f)
+Functione549e: ; e549e (39:549e)
+ ld a, $1
+ ld [hCGBPalUpdate], a ; $ff00+$e5
+ ret
+
+; known jump sources: e495b (39:495b), e49fd (39:49fd), e4a7a (39:4a7a), e4b3f (39:4b3f), e4c86 (39:4c86), e4d6d (39:4d6d), e4e40 (39:4e40), e4ef5 (39:4ef5), e4f7e (39:4f7e)
+Functione54a3: ; e54a3 (39:54a3)
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $5
+ ld [rSVBK], a ; $ff00+$70
+ ld hl, BGPals ; $d080
+ ld bc, $80
+ xor a
+ call ByteFill
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ ld a, $1
+ ld [hCGBPalUpdate], a ; $ff00+$e5
+ call DelayFrame
+ call DelayFrame
+ ret
+
+; known jump sources: e497e (39:497e), e4987 (39:4987), e4a20 (39:4a20), e4a9f (39:4a9f), e4aa8 (39:4aa8), e4b5e (39:4b5e), e4b74 (39:4b74), e4cab (39:4cab), e4d99 (39:4d99), e4e63 (39:4e63), e4e6c (39:4e6c), e4fa1 (39:4fa1), e4faa (39:4faa), e50de (39:50de)
+Functione54c2: ; e54c2 (39:54c2)
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $6
+ ld [rSVBK], a ; $ff00+$70
+ push de
+ ld de, Unkn1Pals ; $d000
+ call Decompress
+ pop hl
+ ld de, Unkn1Pals ; $d000
+ ld bc, $180
+ call Request2bpp
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ ret
+
+; known jump sources: e4b6b (39:4b6b), e4d90 (39:4d90), e4f18 (39:4f18)
+Functione54de: ; e54de (39:54de)
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $6
+ ld [rSVBK], a ; $ff00+$70
+ push de
+ ld de, Unkn1Pals ; $d000
+ call Decompress
+ pop hl
+ ld de, Unkn1Pals ; $d000
+ ld bc, $1ff
+ call Request2bpp
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ ret
+
+; known jump sources: e4971 (39:4971), e4990 (39:4990), e4a13 (39:4a13), e4a29 (39:4a29), e4a92 (39:4a92), e4ab1 (39:4ab1), e4b55 (39:4b55), e4b7d (39:4b7d), e4c9e (39:4c9e), e4cb4 (39:4cb4), e4d83 (39:4d83), e4da2 (39:4da2), e4e56 (39:4e56), e4e81 (39:4e81), e4f0b (39:4f0b), e4f21 (39:4f21), e4f94 (39:4f94), e4fbf (39:4fbf), e50d1 (39:50d1), e50e7 (39:50e7)
+Functione54fa: ; e54fa (39:54fa)
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $6
+ ld [rSVBK], a ; $ff00+$70
+ push de
+ ld de, Unkn1Pals ; $d000
+ call Decompress
+ pop hl
+ ld de, Unkn1Pals ; $d000
+ ld bc, $140
+ call Request2bpp
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ ret
+
+; known jump sources: e4a5b (39:4a5b), e4baf (39:4baf)
+Functione5516: ; e5516 (39:5516)
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $5
+ ld [rSVBK], a ; $ff00+$70
+ ld hl, CurMartEnd ; $d100 (aliases: LYOverrides)
+ ld bc, $90
+ xor a
+ call ByteFill
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ ld a, $43
+ ld [hLCDStatCustom], a ; $ff00+$c6
+ ret
+
+; known jump sources: e4a69 (39:4a69), e4bde (39:4bde)
+Functione552f: ; e552f (39:552f)
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $5
+ ld [rSVBK], a ; $ff00+$70
+ ld a, [$cf64]
+ and $1
+ jr z, .asm_e5548
+ ld hl, CurMartEnd ; $d100 (aliases: LYOverrides)
+ ld a, [hl]
+ inc a
+ ld bc, $5f
+ call ByteFill
+.asm_e5548
+ ld hl, $d15f
+ ld a, [hl]
+ inc a
+ inc a
+ ld bc, $31
+ call ByteFill
+ ld a, [CurMartEnd] ; $d100 (aliases: LYOverrides)
+ ld [hSCX], a ; $ff00+$cf
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ ret
+
IntroSuicuneRunGFX: ; e555d
INCBIN "gfx/intro/suicune_run.lz"
; e592b
-INCBIN "baserom.gbc", $e592b, $e592d - $e592b
+INCBIN "baserom.gbc",$e592b,$e592d - $e592b
IntroPichuWooperGFX: ; e592d
INCBIN "gfx/intro/pichu_wooper.lz"
; e5c70
-INCBIN "baserom.gbc", $e5c70, $e5c7d - $e5c70
+INCBIN "baserom.gbc",$e5c70,$e5c7d - $e5c70
IntroBackgroundGFX: ; e5c7d
INCBIN "gfx/intro/background.lz"
; e5e69
-INCBIN "baserom.gbc", $e5e69, $e5e6d - $e5e69
+INCBIN "baserom.gbc",$e5e69,$e5e6d - $e5e69
IntroTilemap004: ; e5e6d
INCBIN "gfx/intro/004.lz"
; e5ec5
-INCBIN "baserom.gbc", $e5ec5, $e5ecd - $e5ec5
+INCBIN "baserom.gbc",$e5ec5,$e5ecd - $e5ec5
IntroTilemap003: ; e5ecd
INCBIN "gfx/intro/003.lz"
; e5ed9
-INCBIN "baserom.gbc", $e5ed9, $e5f5d - $e5ed9
+INCBIN "baserom.gbc",$e5ed9,$e5f5d - $e5ed9
IntroUnownsGFX: ; e5f5d
INCBIN "gfx/intro/unowns.lz"
; e6348
-INCBIN "baserom.gbc", $e6348, $e634d - $e6348
+INCBIN "baserom.gbc",$e6348,$e634d - $e6348
IntroPulseGFX: ; e634d
INCBIN "gfx/intro/pulse.lz"
; e63d4
-INCBIN "baserom.gbc", $e63d4, $e63dd - $e63d4
+INCBIN "baserom.gbc",$e63d4,$e63dd - $e63d4
IntroTilemap002: ; e63dd
INCBIN "gfx/intro/002.lz"
; e6418
-INCBIN "baserom.gbc", $e6418, $e641d - $e6418
+INCBIN "baserom.gbc",$e6418,$e641d - $e6418
IntroTilemap001: ; e641d
INCBIN "gfx/intro/001.lz"
; e6429
-INCBIN "baserom.gbc", $e6429, $e642d - $e6429
+INCBIN "baserom.gbc",$e6429,$e642d - $e6429
IntroTilemap006: ; e642d
INCBIN "gfx/intro/006.lz"
; e6472
-INCBIN "baserom.gbc", $e6472, $e647d - $e6472
+INCBIN "baserom.gbc",$e6472,$e647d - $e6472
IntroTilemap005: ; e647d
INCBIN "gfx/intro/005.lz"
; e6498
-INCBIN "baserom.gbc", $e6498, $e649d - $e6498
+INCBIN "baserom.gbc",$e6498,$e649d - $e6498
IntroTilemap008: ; e649d
INCBIN "gfx/intro/008.lz"
; e6550
-INCBIN "baserom.gbc", $e6550, $e655d - $e6550
+INCBIN "baserom.gbc",$e6550,$e655d - $e6550
IntroTilemap007: ; e655d
INCBIN "gfx/intro/007.lz"
; e65a4
-INCBIN "baserom.gbc", $e65a4, $e662d - $e65a4
+INCBIN "baserom.gbc",$e65a4,$e662d - $e65a4
IntroCrystalUnownsGFX: ; e662d
INCBIN "gfx/intro/crystal_unowns.lz"
; e6720
-INCBIN "baserom.gbc", $e6720, $e672d - $e6720
+INCBIN "baserom.gbc",$e6720,$e672d - $e6720
IntroTilemap017: ; e672d
INCBIN "gfx/intro/017.lz"
; e6761
-INCBIN "baserom.gbc", $e6761, $e676d - $e6761
+INCBIN "baserom.gbc",$e6761,$e676d - $e6761
IntroTilemap015: ; e676d
INCBIN "gfx/intro/015.lz"
; e6794
-INCBIN "baserom.gbc", $e6794, $e681d - $e6794
+INCBIN "baserom.gbc",$e6794,$e681d - $e6794
IntroSuicuneCloseGFX: ; e681d
INCBIN "gfx/intro/suicune_close.lz"
; e6c37
-INCBIN "baserom.gbc", $e6c37, $e6c3d - $e6c37
+INCBIN "baserom.gbc",$e6c37,$e6c3d - $e6c37
IntroTilemap012: ; e6c3d
INCBIN "gfx/intro/012.lz"
; e6d0a
-INCBIN "baserom.gbc", $e6d0a, $e6d0d - $e6d0a
+INCBIN "baserom.gbc",$e6d0a,$e6d0d - $e6d0a
IntroTilemap011: ; e6d0d
INCBIN "gfx/intro/011.lz"
; e6d65
-INCBIN "baserom.gbc", $e6d65, $e6ded - $e6d65
+INCBIN "baserom.gbc",$e6d65,$e6ded - $e6d65
IntroSuicuneJumpGFX: ; e6ded
INCBIN "gfx/intro/suicune_jump.lz"
; e72a7
-INCBIN "baserom.gbc", $e72a7, $e72ad - $e72a7
+INCBIN "baserom.gbc",$e72a7,$e72ad - $e72a7
IntroSuicuneBackGFX: ; e72ad
INCBIN "gfx/intro/suicune_back.lz"
; e7648
-INCBIN "baserom.gbc", $e7648, $e764d - $e7648
+INCBIN "baserom.gbc",$e7648,$e764d - $e7648
IntroTilemap010: ; e764d
INCBIN "gfx/intro/010.lz"
; e76a0
-INCBIN "baserom.gbc", $e76a0, $e76ad - $e76a0
+INCBIN "baserom.gbc",$e76a0,$e76ad - $e76a0
IntroTilemap009: ; e76ad
INCBIN "gfx/intro/009.lz"
; e76bb
-INCBIN "baserom.gbc", $e76bb, $e76bd - $e76bb
+INCBIN "baserom.gbc",$e76bb,$e76bd - $e76bb
IntroTilemap014: ; e76bd
INCBIN "gfx/intro/014.lz"
; e778b
-INCBIN "baserom.gbc", $e778b, $e778d - $e778b
+INCBIN "baserom.gbc",$e778b,$e778d - $e778b
IntroTilemap013: ; e778d
INCBIN "gfx/intro/013.lz"
; e77d9
-INCBIN "baserom.gbc", $e77d9, $e785d - $e77d9
+INCBIN "baserom.gbc",$e77d9,$e785d - $e77d9
IntroUnownBackGFX: ; e785d
INCBIN "gfx/intro/unown_back.lz"
; e799a
-INCBIN "baserom.gbc", $e799a, $e7a70 - $e799a
+INCBIN "baserom.gbc",$e799a,$e7a70 - $e799a
; ================================================================
@@ -72024,12 +105170,12 @@
Music_Evolution: INCLUDE "audio/music/evolution.asm"
Music_Printer: INCLUDE "audio/music/printer.asm"
-INCBIN "baserom.gbc", $f0941, $f2787 - $f0941
+INCBIN "baserom.gbc",$f0941,$f2787 - $f0941
CryHeaders:
INCLUDE "audio/cry_headers.asm"
-INCBIN "baserom.gbc", $f2d69, $f3fb6 - $f2d69
+INCBIN "baserom.gbc",$f2d69,$f3fb6 - $f2d69
SECTION "bank3D",ROMX,BANK[$3D]
@@ -72097,13 +105243,13 @@
INCBIN "gfx/frames/9.1bpp"
; f89b0
-INCBIN "baserom.gbc", $f89b0, $f8ba0 - $f89b0
+INCBIN "baserom.gbc",$f89b0,$f8ba0 - $f89b0
TownMapGFX: ; f8ba0
INCBIN "gfx/misc/town_map.lz"
; f8ea3
-INCBIN "baserom.gbc", $f8ea3, $fb449 - $f8ea3
+INCBIN "baserom.gbc",$f8ea3,$fb449 - $f8ea3
Functionfb449: ; fb449
@@ -72380,7 +105526,7 @@
jr .asm_fb636
; fb656
-INCBIN "baserom.gbc", $fb656, $fb6ed - $fb656
+INCBIN "baserom.gbc",$fb656,$fb6ed - $fb656
INCLUDE "event/name_rater.asm"
@@ -72505,7 +105651,7 @@
ret
; fb91c
-INCBIN "baserom.gbc", $fb91c, $fba18 - $fb91c
+INCBIN "baserom.gbc",$fb91c,$fba18 - $fb91c
Functionfba18: ; fba18
@@ -72529,8 +105675,39 @@
ret
; fba2e
-INCBIN "baserom.gbc", $fba2e, $fbb32 - $fba2e
+; no known jump sources
+Functionfba2e: ; fba2e (3e:7a2e)
+ ld hl, $c5d0
+ ld bc, $c
+ ld a, $7f
+ call ByteFill
+ ld a, [$c7dd]
+ ld e, a
+ ld d, $0
+ ld hl, EndPokedexSeen ; $ded9 (aliases: UnownDex)
+ add hl, de
+ ld a, [hl]
+ ld e, a
+ ld d, $0
+ ld hl, $7a5a
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld e, a
+ ld d, [hl]
+ ld hl, $c5d0
+.asm_fba52
+ ld a, [de]
+ cp $ff
+ ret z
+ inc de
+ ld [hli], a
+ jr .asm_fba52
+; fba5a (3e:7a5a)
+
+INCBIN "baserom.gbc",$fba5a,$fbb32 - $fba5a
+
Functionfbb32: ; fbb32
callba Function50000
jr c, .asm_fbb9e
@@ -72593,7 +105770,7 @@
ret
; fbba9
-INCBIN "baserom.gbc", $fbba9, $fbbae - $fbba9
+INCBIN "baserom.gbc",$fbba9,$fbbae - $fbba9
Functionfbbae: ; fbbae
ld hl, $96e0
@@ -72603,7 +105780,7 @@
ret
; fbbbb
-INCBIN "baserom.gbc", $fbbbb, $fbbdb - $fbbbb
+INCBIN "baserom.gbc",$fbbbb,$fbbdb - $fbbbb
Functionfbbdb: ; fbbdb
call Functionfbbae
@@ -72624,7 +105801,7 @@
INCLUDE "battle/magikarp_length.asm"
-INCBIN "baserom.gbc", $fbccf, $fbcd2 - $fbccf
+INCBIN "baserom.gbc",$fbccf,$fbcd2 - $fbccf
Functionfbcd2: ; fbcd2
ld a, [$dfe8]
@@ -72637,13 +105814,71 @@
ret
; fbce8
-INCBIN "baserom.gbc", $fbce8, $fbced - $fbce8
+INCBIN "baserom.gbc",$fbce8,$fbced - $fbce8
INCLUDE "battle/hidden_power.asm"
-INCBIN "baserom.gbc", $fbd54, $fbda4 - $fbd54
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ ld a, [hBattleTurn] ; $ff00+$e4
+ and a
+ jr z, .asm_fbd61
+ call Functionfbd96
+ jr .asm_fbd64
+.asm_fbd61
+ call Functionfbd9d
+.asm_fbd64
+ call ClearBox
+ jr asm_fbd91
+; no known jump sources
+Functionfbd69: ; fbd69 (3e:7d69)
+ ld a, BANK(BattleCommanda6)
+ ld hl, BattleCommanda6
+ rst $8 ; ; indirect jump to BattleCommanda6 (365af (d:65af))
+ jr asm_fbd77
+; no known jump sources
+Functionfbd71: ; fbd71 (3e:7d71)
+ ld a, BANK(BattleCommanda7)
+ ld hl, BattleCommanda7
+ rst $8 ; ; indirect jump to BattleCommanda7 (365c3 (d:65c3))
+
+; known jump sources: fbd6f (3e:7d6f)
+asm_fbd77: ; fbd77 (3e:7d77)
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ ld a, [hBattleTurn] ; $ff00+$e4
+ and a
+ jr z, .asm_fbd85
+ call Functionfbd96
+ xor a
+ jr .asm_fbd8a
+.asm_fbd85
+ call Functionfbd9d
+ ld a, $31
+.asm_fbd8a
+ ld [$FF00+$ad], a
+ ld a, $13
+ call Predef
+asm_fbd91: ; fbd91 (3e:7d91)
+ ld a, $1
+ ld [hBGMapMode], a ; $ff00+$d4
+ ret
+
+; known jump sources: fbd5c (3e:7d5c), fbd7f (3e:7d7f)
+Functionfbd96: ; fbd96 (3e:7d96)
+ ld hl, $c4ac
+ ld bc, $707
+ ret
+
+; known jump sources: fbd61 (3e:7d61), fbd85 (3e:7d85)
+Functionfbd9d: ; fbd9d (3e:7d9d)
+ ld hl, $c51a
+ ld bc, $606
+ ret
+
+
DoWeatherModifiers: ; fbda4
ld de, .WeatherTypeModifiers
@@ -72955,7 +106190,7 @@
dw $0000, DoneTileAnimation
; 0xfc0d7
-INCBIN "baserom.gbc", $fc0d7, $fc12f-$fc0d7
+INCBIN "baserom.gbc",$fc0d7,$fc12f - $fc0d7
Tileset09Anim: ; 0xfc12f
; param, function
@@ -72985,7 +106220,7 @@
dw $0000, DoneTileAnimation
; 0xfc17f
-INCBIN "baserom.gbc", $fc17f, $fc1e7-$fc17f
+INCBIN "baserom.gbc",$fc17f,$fc1e7 - $fc17f
Tileset24Anim: ; 0xfc1e7
Tileset30Anim: ; 0xfc1e7
@@ -73054,7 +106289,7 @@
dw $0000, DoneTileAnimation
; 0xfc2bf
-INCBIN "baserom.gbc", $fc2bf, $fc2e7-$fc2bf
+INCBIN "baserom.gbc",$fc2bf,$fc2e7 - $fc2bf
Tileset04Anim: ; 0xfc2e7
Tileset05Anim: ; 0xfc2e7
@@ -73298,7 +106533,7 @@
WaterTileFrames: ; fc41c
; Frames 0-3
; INCBIN "gfx/tilesets/water.2bpp"
-INCBIN "baserom.gbc", $fc41c, $fc45c - $fc41c
+INCBIN "baserom.gbc",$fc41c,$fc45c - $fc41c
; fc45c
@@ -73509,7 +106744,7 @@
; frame 1 dmg
; frame 1 sgb
; INCBIN "gfx/tilesets/flower.2bpp"
-INCBIN "baserom.gbc", $fc58c, $fc5cc - $fc58c
+INCBIN "baserom.gbc",$fc58c,$fc5cc - $fc58c
; fc5cc
@@ -73878,7 +107113,7 @@
; fca98
-INCBIN "baserom.gbc", $fca98, $fcba8 - $fca98
+INCBIN "baserom.gbc",$fca98,$fcba8 - $fca98
Functionfcba8: ; fcba8
@@ -74188,7 +107423,7 @@
ret
; fcdfb
-INCBIN "baserom.gbc", $fcdfb, $fce0f - $fcdfb
+INCBIN "baserom.gbc",$fcdfb,$fce0f - $fcdfb
Functionfce0f: ; fce0f
@@ -74285,7 +107520,7 @@
ret
; fcf53
-INCBIN "baserom.gbc", $fcf53, $fcfec - $fcf53
+INCBIN "baserom.gbc",$fcf53,$fcfec - $fcf53
Functionfcfec: ; fcfec
@@ -74308,7 +107543,32 @@
ret
; fd00f
-INCBIN "baserom.gbc", $fd00f, $fd044 - $fd00f
+INCBIN "baserom.gbc",$fd00f,$fd017 - $fd00f
+ call Functionfd0a6
+ call Functionfd0eb
+ ld a, [$dc18]
+ and a
+ jr nz, .asm_fd027
+ ld hl, $dc17
+ inc [hl]
+.asm_fd027
+ ld a, $1
+ ld [$dbf9], a
+ ld bc, CurFruit ; $d03f
+ ld hl, $0
+ add hl, bc
+ ld [hl], $0
+ inc hl
+ ld [hl], $1
+ ld hl, $9
+ add hl, bc
+ ld a, $3f
+ ld [hli], a
+ ld a, e
+ ld [hli], a
+ ld a, d
+ ld [hl], a
+ ret
Functionfd044: ; fd044
@@ -74377,9 +107637,26 @@
ret
; fd0a6
-INCBIN "baserom.gbc", $fd0a6, $fd0c3 - $fd0a6
+; known jump sources: fd017 (3f:5017)
+Functionfd0a6: ; fd0a6 (3f:50a6)
+ call Functionfd117
+ ld de, $3
+ add hl, de
+ ld a, [hli]
+ ld [$FF00+$c3], a
+ ld a, [hli]
+ ld [$FF00+$c4], a
+ ld a, [hli]
+ ld [$FF00+$c5], a
+ ld de, $d851
+ ld bc, $ffc3
+ ld a, $5
+ ld hl, $5ffa
+ rst $8
+ ret
+
Functionfd0c3: ; fd0c3
call Functionfd117
ld de, $0006
@@ -74406,9 +107683,23 @@
ret
; fd0eb
-INCBIN "baserom.gbc", $fd0eb, $fd117 - $fd0eb
+; known jump sources: fd01a (3f:501a)
+Functionfd0eb: ; fd0eb (3f:50eb)
+ call Functionfd117
+ ld de, $6
+ add hl, de
+ ld a, [hli]
+ ld de, $50fd
+ cp $1
+ ret z
+ ld de, $510a
+ ret
+; fd0fd (3f:50fd)
+INCBIN "baserom.gbc",$fd0fd,$fd117 - $fd0fd
+
+
Functionfd117: ; fd117
ld a, [$dc18]
and a
@@ -74436,13 +107727,13 @@
ret
; fd136
-INCBIN "baserom.gbc", $fd136, $fd1d0 - $fd136
+INCBIN "baserom.gbc",$fd136,$fd1d0 - $fd136
Functionfd1d0: ; fd1d0
ret
; fd1d1
-INCBIN "baserom.gbc", $fd1d1, $fd1d2 - $fd1d1
+INCBIN "baserom.gbc",$fd1d1,$fd1d2 - $fd1d1
SECTION "bank40",ROMX,BANK[$40]
@@ -74514,7 +107805,7 @@
ret
; 100082
-INCBIN "baserom.gbc", $100082, $1000a4 - $100082
+INCBIN "baserom.gbc",$100082,$1000a4 - $100082
Function1000a4: ; 1000a4
di
@@ -74867,7 +108158,7 @@
ret
; 100327
-INCBIN "baserom.gbc", $100327, $10032e - $100327
+INCBIN "baserom.gbc",$100327,$10032e - $100327
Function10032e: ; 10032e
@@ -74969,7 +108260,7 @@
ret
; 1003ab
-INCBIN "baserom.gbc", $1003ab, $1003ba - $1003ab
+INCBIN "baserom.gbc",$1003ab,$1003ba - $1003ab
Function1003ba: ; 1003ba
@@ -75081,9 +108372,26 @@
ret
; 10044e
-INCBIN "baserom.gbc", $10044e, $10046a - $10044e
+; no known jump sources
+Jumptable_10044e: ; 10044e (40:444e)
+ dw Function10046a
+ dw Function10047c
+ dw Function100493
+ dw Function1004ba
+ dw Function1004f4
+ dw Function1004ce
+ dw Function1004de
+ dw Function1004a4
+ dw Function100495
+ dw Function1004ce
+ dw Function1004de
+ dw Function1004e9
+ dw Function1004f4
+ dw Function1004a4
+
+
Function10046a: ; 10046a
ld hl, BGMapPalBuffer
inc [hl]
@@ -75115,11 +108423,12 @@
; 100493
Function100493: ; 100493
- jr .asm_100497
+ jr asm_100497
- jr .asm_100497
+Function100495: ; 100495
+ jr asm_100497
-.asm_100497
+asm_100497
call Function100337
ret c
ret z
@@ -75208,7 +108517,7 @@
ret
; 100513
-INCBIN "baserom.gbc", $100513, $10062d - $100513
+INCBIN "baserom.gbc",$100513,$10062d - $100513
Function10062d: ; 10062d
@@ -75236,7 +108545,7 @@
ret
; 10064c
-INCBIN "baserom.gbc", $10064c, $10064e - $10064c
+INCBIN "baserom.gbc",$10064c,$10064e - $10064c
Function10064e: ; 10064e
@@ -75263,7 +108572,7 @@
ret
; 100665
-INCBIN "baserom.gbc", $100665, $100675 - $100665
+INCBIN "baserom.gbc",$100665,$100675 - $100665
Function100675: ; 100675
ld hl, $cd2a
@@ -75388,7 +108697,7 @@
ret
; 100720
-INCBIN "baserom.gbc", $100720, $10079c - $100720
+INCBIN "baserom.gbc",$100720,$10079c - $100720
Function10079c: ; 10079c
@@ -75497,7 +108806,7 @@
ret
; 100846
-INCBIN "baserom.gbc", $100846, $1008a6 - $100846
+INCBIN "baserom.gbc",$100846,$1008a6 - $100846
Function1008a6: ; 1008a6
ld a, $4
@@ -75858,7 +109167,7 @@
ret
; 100b0a
-INCBIN "baserom.gbc", $100b0a, $100b12 - $100b0a
+INCBIN "baserom.gbc",$100b0a,$100b12 - $100b0a
Function100b12: ; 100b12
@@ -76069,7 +109378,7 @@
ret
; 100cad
-INCBIN "baserom.gbc", $100cad, $100cb5 - $100cad
+INCBIN "baserom.gbc",$100cad,$100cb5 - $100cad
Function100cb5: ; 100cb5
@@ -76186,7 +109495,7 @@
ret
; 100d88
-INCBIN "baserom.gbc", $100d88, $100da5 - $100d88
+INCBIN "baserom.gbc",$100d88,$100da5 - $100d88
Function100da5: ; 100da5
@@ -76353,18 +109662,41 @@
ret
; 100e8c
-INCBIN "baserom.gbc", $100e8c, $100eae - $100e8c
+; no known jump sources
+Jumptable_100e8c: ; 100e8c (40:4e8c)
+ dw Function100ea2
+ dw Function100eae
+ dw Function100eb4
+ dw Function100eae
+ dw Function100eb4
+ dw Function100eae
+ dw Function100eb4
+ dw Function100eae
+ dw Function100eb4
+ dw Function100eae
+ dw Function100ec4
+
+; no known jump sources
+Function100ea2: ; 100ea2 (40:4ea2)
+ call Function100dc0
+ ret nc
+ ld hl, $cd29
+ set 0, [hl]
+ call Function100ec5
+
+
Function100eae: ; 100eae
scf
call Function100eca
- jr .asm_100eb8
+ jr asm_100eb8
+Function100eb4: ; 100eb4
and a
call Function100eca
-.asm_100eb8
+asm_100eb8
ld hl, $cd68
inc [hl]
ld a, [hl]
@@ -76371,11 +109703,12 @@
cp $2
ret c
ld [hl], $0
- jr .asm_100ec5
+ jr Function100ec5
+Function100ec4: ; 100ec4
ret
-.asm_100ec5
+Function100ec5
ld hl, $cd67
inc [hl]
ret
@@ -76396,7 +109729,7 @@
ret
; 100edf
-INCBIN "baserom.gbc", $100edf, $1011f1 - $100edf
+INCBIN "baserom.gbc",$100edf,$1011f1 - $100edf
Function1011f1: ; 1011f1
ld a, $4
@@ -76512,7 +109845,7 @@
ret
; 101297
-INCBIN "baserom.gbc", $101297, $1013aa - $101297
+INCBIN "baserom.gbc",$101297,$1013aa - $101297
Function1013aa: ; 1013aa
call WhiteBGMap
@@ -76524,7 +109857,7 @@
ret
; 1013c0
-INCBIN "baserom.gbc", $1013c0, $1013d6 - $1013c0
+INCBIN "baserom.gbc",$1013c0,$1013d6 - $1013c0
Function1013d6: ; 1013d6
callba Function104000
@@ -76531,7 +109864,7 @@
ret
; 1013dd
-INCBIN "baserom.gbc", $1013dd, $10142c - $1013dd
+INCBIN "baserom.gbc",$1013dd,$10142c - $1013dd
Function10142c: ; 10142c
ld a, $1
@@ -76540,7 +109873,7 @@
ret
; 101438
-INCBIN "baserom.gbc", $101438, $101ee4 - $101438
+INCBIN "baserom.gbc",$101438,$101ee4 - $101438
Function101ee4: ; 101ee4
ld d, $0
@@ -76554,7 +109887,7 @@
ret
; 101ef5
-INCBIN "baserom.gbc", $101ef5, $10202c - $101ef5
+INCBIN "baserom.gbc",$101ef5,$10202c - $101ef5
Function10202c: ; 10202c
callba Function115d99
@@ -76569,7 +109902,7 @@
ret
; 102048
-INCBIN "baserom.gbc", $102048, $10209c - $102048
+INCBIN "baserom.gbc",$102048,$10209c - $102048
Function10209c: ; 10209c
ld a, $ff
@@ -76579,7 +109912,7 @@
ret
; 1020a8
-INCBIN "baserom.gbc", $1020a8, $1020ea - $1020a8
+INCBIN "baserom.gbc",$1020a8,$1020ea - $1020a8
Function1020ea: ; 1020ea
ld hl, $dc41
@@ -76712,7 +110045,7 @@
ret
; 1021d1
-INCBIN "baserom.gbc", $1021d1, $1021e0 - $1021d1
+INCBIN "baserom.gbc",$1021d1,$1021e0 - $1021d1
Function1021e0: ; 1021e0
call Function1d4f
@@ -76721,7 +110054,7 @@
ret
; 1021ea
-INCBIN "baserom.gbc", $1021ea, $103612 - $1021ea
+INCBIN "baserom.gbc",$1021ea,$103612 - $1021ea
Function103612: ; 103612
ld hl, $7640
@@ -76750,7 +110083,7 @@
ret
; 103640
-INCBIN "baserom.gbc", $103640, $10366e - $103640
+INCBIN "baserom.gbc",$103640,$10366e - $103640
Function10366e: ; 10366e
callba Function10632f
@@ -76877,7 +110210,7 @@
ret
; 103747
-INCBIN "baserom.gbc", $103747, $103780 - $103747
+INCBIN "baserom.gbc",$103747,$103780 - $103747
Function103780: ; 103780
ld a, [$d265]
@@ -76942,7 +110275,7 @@
ret
; 1037e6
-INCBIN "baserom.gbc", $1037e6, $1037eb - $1037e6
+INCBIN "baserom.gbc",$1037e6,$1037eb - $1037e6
Function1037eb: ; 1037eb
call Function103823
@@ -76971,7 +110304,7 @@
ret
; 103819
-INCBIN "baserom.gbc", $103819, $103823 - $103819
+INCBIN "baserom.gbc",$103819,$103823 - $103819
Function103823: ; 103823
callba Function10632f
@@ -77019,7 +110352,7 @@
ret
; 103876
-INCBIN "baserom.gbc", $103876, $10387b - $103876
+INCBIN "baserom.gbc",$103876,$10387b - $103876
Function10387b: ; 10387b
callba Function10632f
@@ -77034,7 +110367,7 @@
ret
; 103898
-INCBIN "baserom.gbc", $103898, $10389d - $103898
+INCBIN "baserom.gbc",$103898,$10389d - $103898
SECTION "bank41",ROMX,BANK[$41]
@@ -77044,7 +110377,7 @@
jp Function104177
; 104006
-INCBIN "baserom.gbc", $104006, $10402d - $104006
+INCBIN "baserom.gbc",$104006,$10402d - $104006
Function10402d: ; 10402d
@@ -77052,7 +110385,14 @@
jp Function104177
; 104033
-INCBIN "baserom.gbc", $104033, $104047 - $104033
+ ld de, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld hl, Unkn1Pals ; $d000
+ call Function10425f
+ ld a, $0
+ ld [rVBK], a ; $ff00+$4f
+ ld hl, Unkn1Pals ; $d000
+ call Function10419d
+ ret
Function104047: ; 104047
ld hl, $404d
@@ -77059,7 +110399,14 @@
jp Function104177
; 10404d
-INCBIN "baserom.gbc", $10404d, $104061 - $10404d
+ ld de, AttrMap ; $cdd9
+ ld hl, $d400
+ call Function104263
+ ld a, $1
+ ld [rVBK], a ; $ff00+$4f
+ ld hl, $d400
+ call Function10419d
+ ret
Function104061: ; 104061
@@ -77067,7 +110414,28 @@
jp Function104177
; 104067
-INCBIN "baserom.gbc", $104067, $104099 - $104067
+ ld de, AttrMap ; $cdd9
+ ld hl, $d400
+ call Function104263
+ ld de, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld hl, Unkn1Pals ; $d000
+ call Function10425f
+ call DelayFrame
+ di
+ ld a, [rVBK] ; $ff00+$4f
+ push af
+ ld a, $1
+ ld [rVBK], a ; $ff00+$4f
+ ld hl, $d400
+ call Function1041ad
+ ld a, $0
+ ld [rVBK], a ; $ff00+$4f
+ ld hl, Unkn1Pals ; $d000
+ call Function1041ad
+ pop af
+ ld [rVBK], a ; $ff00+$4f
+ ei
+ ret
Function104099: ; 104099
ld hl, Function104061
@@ -77075,7 +110443,7 @@
jp Function104177
; 1040a2
-INCBIN "baserom.gbc", $1040a2, $104110 - $1040a2
+INCBIN "baserom.gbc",$1040a2,$104110 - $1040a2
Function104110: ; 104110
@@ -77083,9 +110451,38 @@
jp Function104177
; 104116
-INCBIN "baserom.gbc", $104116, $104177 - $104116
+ ld de, AttrMap ; $cdd9
+ ld hl, $d400
+ call Function104263
+ ld de, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld hl, Unkn1Pals ; $d000
+ call Function10425f
+ call DelayFrame
+ di
+ ld a, [rVBK] ; $ff00+$4f
+ push af
+ ld a, $1
+ ld [rVBK], a ; $ff00+$4f
+ ld hl, $d400
+ call Function1041b7
+ ld a, $0
+ ld [rVBK], a ; $ff00+$4f
+ ld hl, Unkn1Pals ; $d000
+ call Function1041b7
+ pop af
+ ld [rVBK], a ; $ff00+$4f
+ ei
+ ret
+; no known jump sources
+Function104148: ; 104148 (41:4148)
+ ld hl, $414e
+ jp Function104177
+; 10414e (41:414e)
+INCBIN "baserom.gbc",$10414e,$104177 - $10414e
+
+
Function104177: ; 104177
ld a, [hBGMapMode]
push af
@@ -77116,11 +110513,47 @@
jp [hl]
; 10419d
-INCBIN "baserom.gbc", $10419d, $104209 - $10419d
+; known jump sources: 104043 (41:4043), 10405d (41:405d)
+Function10419d: ; 10419d (41:419d)
+ call Function10424e
+ ld a, $23
+ ld [hDMATransfer], a ; $ff00+$e8
+.asm_1041a4
+ call DelayFrame
+ ld a, [hDMATransfer] ; $ff00+$e8
+ and a
+ jr nz, .asm_1041a4
+ ret
+; known jump sources: 104087 (41:4087), 104091 (41:4091)
+Function1041ad: ; 1041ad (41:41ad)
+ ld a, [$FF00+$d7]
+ ld d, a
+ ld a, [hBGMapAddress] ; $ff00+$d6
+ ld e, a
+ ld c, $24
+ jr Function104209
+
+; known jump sources: 104136 (41:4136), 104140 (41:4140)
+Function1041b7: ; 1041b7 (41:41b7)
+ ld a, [$FF00+$d7]
+ ld d, a
+ ld a, [hBGMapAddress] ; $ff00+$d6
+ ld e, a
+ ld c, $24
+ jr .asm_104205
+; 1041c1 (41:41c1)
+
+INCBIN "baserom.gbc",$1041c1,$104205 - $1041c1
+.asm_104205
+ ld b, $7b
+ jr asm_10420b
+
+
Function104209: ; 104209
ld b, $7f
+asm_10420b:
ld a, h
ld [rHDMA1], a
ld a, l
@@ -77169,9 +110602,57 @@
ret
; 10424e
-INCBIN "baserom.gbc", $10424e, $104284 - $10424e
+; known jump sources: 10419d (41:419d)
+Function10424e: ; 10424e (41:424e)
+ ld a, h
+ ld [rHDMA1], a ; $ff00+$51
+ ld a, l
+ ld [rHDMA2], a ; $ff00+$52
+ ld a, [$FF00+$d7]
+ and $1f
+ ld [rHDMA3], a ; $ff00+$53
+ ld a, [hBGMapAddress] ; $ff00+$d6
+ ld [rHDMA4], a ; $ff00+$54
+ ret
+; known jump sources: 104039 (41:4039), 104076 (41:4076), 104125 (41:4125)
+Function10425f: ; 10425f (41:425f)
+ ld c, $7f
+ jr asm_104265
+
+; known jump sources: 104053 (41:4053), 10406d (41:406d), 10411c (41:411c)
+Function104263: ; 104263 (41:4263)
+ ld c, $0
+
+; known jump sources: 104261 (41:4261)
+asm_104265: ; 104265 (41:4265)
+ ld a, [hConnectionStripLength] ; $ff00+$af
+ push af
+ ld a, c
+ ld [hConnectionStripLength], a ; $ff00+$af
+ ld c, $12
+.asm_10426d
+ ld b, $14
+.asm_10426f
+ ld a, [de]
+ inc de
+ ld [hli], a
+ dec b
+ jr nz, .asm_10426f
+ ld a, [hConnectionStripLength] ; $ff00+$af
+ ld b, $c
+.asm_104279
+ ld [hli], a
+ dec b
+ jr nz, .asm_104279
+ dec c
+ jr nz, .asm_10426d
+ pop af
+ ld [hConnectionStripLength], a ; $ff00+$af
+ ret
+
+
Function104284: ; 104284
ld a, [rSVBK]
push af
@@ -77270,12 +110751,65 @@
jp Function104177
; 104309
-INCBIN "baserom.gbc", $104309, $104350 - $104309
+ ld hl, Unkn1Pals ; $d000
+ ld de, TileMap ; $c4a0 (aliases: SpritesEnd)
+ call Function10433a
+ ld hl, BGPals ; $d080
+ ld de, AttrMap ; $cdd9
+ call Function10433a
+ ld a, $1
+ ld [rVBK], a ; $ff00+$4f
+ ld c, $8
+ ld hl, BGPals ; $d080
+ ld de, $9c00
+ call Function104209
+ ld a, $0
+ ld [rVBK], a ; $ff00+$4f
+ ld c, $8
+ ld hl, Unkn1Pals ; $d000
+ ld de, $9c00
+ call Function104209
+ ret
+; known jump sources: 10430f (41:430f), 104318 (41:4318)
+Function10433a: ; 10433a (41:433a)
+ ld b, $4
+.asm_10433c
+ ld c, $14
+.asm_10433e
+ ld a, [de]
+ ld [hli], a
+ inc de
+ dec c
+ jr nz, .asm_10433e
+ ld a, l
+ add $c
+ ld l, a
+ ld a, h
+ adc $0
+ ld h, a
+ dec b
+ jr nz, .asm_10433c
+ ret
+
INCBIN "gfx/ow/misc.2bpp"
-INCBIN "baserom.gbc", $1045b0, $1045d6 - $1045b0
+ call Function210f
+ call Function2e50
+ call Function2e5d
+ call Function212a
+ call Function2e56
+ ld a, $5
+ call Function263b
+ ld a, $25
+ ld hl, $7df9
+ rst $8
+ ld a, $3
+ call Function263b
+ call Function2cff
+ ld [$c2d0], a
+ ret
EnterMapConnection: ; 1045d6
@@ -77426,16 +110960,245 @@
; 1046c6
-INCBIN "baserom.gbc", $1046c6, $1047eb - $1046c6
+ call Function1046df
+ call Function104718
+ ld a, [$d146]
+ ld [WarpNumber], a ; $dcb4
+ ld a, [$d147]
+ ld [MapGroup], a ; $dcb5
+ ld a, [$d148]
+ ld [MapNumber], a ; $dcb6
+ ret
+; known jump sources: 1046c6 (41:46c6)
+Function1046df: ; 1046df (41:46df)
+ call GetMapPermission
+ call CheckOutdoorMap
+ ret nz
+ ld a, [$d147]
+ ld b, a
+ ld a, [$d148]
+ ld c, a
+ call Function2c99
+ call CheckIndoorMap
+ ret nz
+ ld a, [$d14a]
+ cp $f
+ jr nz, .asm_104705
+ ld a, [$d14b]
+ cp $a
+ ret z
+ cp $c
+ ret z
+.asm_104705
+ ld a, [$d149]
+ ld [$dca9], a
+ ld a, [$d14a]
+ ld [$dcaa], a
+ ld a, [$d14b]
+ ld [$dcab], a
+ ret
+
+; known jump sources: 1046c9 (41:46c9)
+Function104718: ; 104718 (41:4718)
+ call GetMapPermission
+ call CheckOutdoorMap
+ ret nz
+ ld a, [$d147]
+ ld b, a
+ ld a, [$d148]
+ ld c, a
+ call Function2c99
+ call CheckIndoorMap
+ ret nz
+ ld a, [$d147]
+ ld b, a
+ ld a, [$d148]
+ ld c, a
+ call Function2ca7
+ ld a, c
+ cp $7
+ jr z, .asm_104743
+ cp $15
+ jr z, .asm_104743
+ ret
+.asm_104743
+ ld a, [$d14a]
+ ld [$dcb2], a
+ ld a, [$d14b]
+ ld [$dcb3], a
+ ret
+ ld hl, VramState ; $d0ed
+ res 6, [hl]
+ ld a, $1
+ ld [$c2ce], a
+ ld a, $23
+ ld hl, $40e5
+ rst $8
+ ld a, $23
+ ld hl, $4001
+ rst $8
+ call Function2173
+ call Function104770
+ call Function1047a3
+ ret
+
+; known jump sources: 104769 (41:4769)
+Function104770: ; 104770 (41:4770)
+ ld a, $98
+ ld [$d153], a
+ xor a
+ ld [$d152], a
+ ld [hSCY], a ; $ff00+$d0
+ ld [hSCX], a ; $ff00+$cf
+ ld a, $1
+ ld hl, $5958
+ rst $8
+ ld a, [rVBK] ; $ff00+$4f
+ push af
+ ld a, $1
+ ld [rVBK], a ; $ff00+$4f
+ xor a
+ ld bc, $400
+ ld hl, $9800
+ call ByteFill
+ pop af
+ ld [rVBK], a ; $ff00+$4f
+ ld a, $60
+ ld bc, $400
+ ld hl, $9800
+ call ByteFill
+ ret
+
+; known jump sources: 10476c (41:476c)
+Function1047a3: ; 1047a3 (41:47a3)
+ ld de, TileMap ; $c4a0 (aliases: SpritesEnd)
+ call Function1047b4
+ ld a, [hCGB] ; $ff00+$e6
+ and a
+ ret z
+ ld de, AttrMap ; $cdd9
+ ld a, $1
+ ld [rVBK], a ; $ff00+$4f
+
+; known jump sources: 1047a6 (41:47a6)
+Function1047b4: ; 1047b4 (41:47b4)
+ ld hl, $9800
+ ld c, $14
+ ld b, $12
+.asm_1047bb
+ push bc
+.asm_1047bc
+ ld a, [de]
+ inc de
+ ld [hli], a
+ dec c
+ jr nz, .asm_1047bc
+ ld bc, $c
+ add hl, bc
+ pop bc
+ dec b
+ jr nz, .asm_1047bb
+ ld a, $0
+ ld [rVBK], a ; $ff00+$4f
+ ret
+ call Function2d27
+ call Function2821
+ xor a
+ ld [$FF00+$de], a
+ xor a
+ ld [hTileAnimFrame], a ; $ff00+$df
+ ld a, $5
+ ld hl, $4168
+ rst $8
+ call Functione5f
+ ld a, $41
+ ld hl, $6594
+ rst $8
+ ret
+
Function1047eb: ; 1047eb
ld b, $9
jp GetSGBLayout
; 1047f0
-INCBIN "baserom.gbc", $1047f0, $10486d - $1047f0
+ call ClearSprites
+ ld a, $2e
+ ld hl, $4000
+ rst $8
+ call Function2914
+ ld a, $1
+ ld hl, $579d
+ rst $8
+ ld a, $5
+ ld hl, $54f7
+ rst $8
+ ld hl, $d45b
+ bit 6, [hl]
+ jr nz, .asm_104817
+ ld hl, VramState ; $d0ed
+ set 0, [hl]
+ call Function2e31
+.asm_104817
+ ld a, [$d45b]
+ and $1c
+ ld [$d45b], a
+ ret
+; no known jump sources
+Function104820: ; 104820 (41:4820)
+ ld a, [$d151]
+ cp $ff
+ ret z
+ and a
+ jr z, .asm_104837
+ cp $1
+ jr z, .asm_104846
+ cp $2
+ jr z, .asm_104851
+ cp $3
+ jr z, .asm_10485c
+ and a
+ ret
+.asm_104837
+ ld a, [MapY] ; $d4e7
+ sub $4
+ ld b, a
+ ld a, [$d19e]
+ add a
+ cp b
+ jr z, .asm_10486b
+ and a
+ ret
+.asm_104846
+ ld a, [MapY] ; $d4e7
+ sub $4
+ cp $ff
+ jr z, .asm_10486b
+ and a
+ ret
+.asm_104851
+ ld a, [MapX] ; $d4e6
+ sub $4
+ cp $ff
+ jr z, .asm_10486b
+ and a
+ ret
+.asm_10485c
+ ld a, [MapX] ; $d4e6
+ sub $4
+ ld b, a
+ ld a, [$d19f]
+ add a
+ cp b
+ jr z, .asm_10486b
+ and a
+ ret
+.asm_10486b
+ scf
+ ret
+
Function10486d: ; 10486d
ld hl, OverworldMap
ld a, [XCoord]
@@ -77483,8 +111246,1177 @@
ret
; 1048ba
-INCBIN "baserom.gbc", $1048ba, $1050b9 - $1048ba
+; known jump sources: 1049ba (41:49ba)
+Function1048ba: ; 1048ba (41:48ba)
+ call ClearTileMap
+ call ClearSprites
+ call WaitBGMap
+ call Function105153
+ ld hl, $c543
+ ld de, $49cd
+ call PlaceString
+ call WaitBGMap
+ ld a, BANK(Function2c642)
+ ld hl, Function2c642
+ rst $8 ; ; indirect jump to Function2c642 (2c642 (b:4642))
+ call Function1050fb
+ ld a, $2
+ ld [$ca01], a
+ ld a, $14
+ ld [$ca02], a
+ ld a, [rIE] ; $ff00+$ff
+ push af
+ call Function104a95
+ ld d, a
+ xor a
+ ld [rIF], a ; $ff00+$f
+ pop af
+ ld [rIE], a ; $ff00+$ff
+ push de
+ call ClearTileMap
+ call EnableLCD
+ call WaitBGMap
+ ld b, $8
+ call GetSGBLayout
+ call Function32f9
+ pop de
+ ld hl, $c542
+ ld a, d
+ ld de, $49fd
+ cp $10
+ jp z, Function1049af
+ cp $6c
+ jp nz, Function1049b4
+ ld a, [$c900]
+ cp $3
+ jr z, .asm_10492f
+ call Function104a25
+ ld hl, $4a11
+ jp nc, Function1049c5
+ call Function104a30
+ ld hl, $4a16
+ jp c, Function1049c5
+.asm_10492f
+ ld a, [$c962]
+ and a
+ jp nz, Function1049bd
+ ld a, [$c912]
+ and a
+ jp nz, Function1049c2
+ ld a, [$c900]
+ cp $3
+ jr z, .asm_104963
+ call Function104a56
+ ld a, [$c900]
+ cp $4
+ jr z, .asm_104963
+ call Function104a71
+ ld a, BANK(Function10619d)
+ ld hl, Function10619d
+ rst $8 ; ; indirect jump to Function10619d (10619d (41:619d))
+ ld a, BANK(Function1060a9)
+ ld hl, Function1060a9
+ rst $8 ; ; indirect jump to Function1060a9 (1060a9 (41:60a9))
+ ld a, BANK(Function106187)
+ ld hl, Function106187
+ rst $8 ; ; indirect jump to Function106187 (106187 (41:6187))
+.asm_104963
+ ld a, [$c90f]
+ and a
+ jr z, .asm_104990
+ ld a, [$c911]
+ ld c, a
+ ld a, BANK(Function2c715)
+ ld hl, Function2c715
+ rst $8 ; ; indirect jump to Function2c715 (2c715 (b:4715))
+ push bc
+ call Function105069
+ pop bc
+ jr nz, .asm_104990
+ ld hl, Function26ef5
+ ld a, BANK(Function26ef5)
+ rst $8 ; ; indirect jump to Function26ef5 (26ef5 (9:6ef5))
+ ld h, d
+ ld l, e
+ ld de, StringBuffer1 ; $d073
+ ld bc, $d
+ call CopyBytes
+ ld hl, $4a20
+ jr Function1049c5
+.asm_104990
+ call Function105106
+ ld a, [$c910]
+ ld c, a
+ ld a, BANK(Function2c708)
+ ld hl, Function2c708
+ rst $8 ; ; indirect jump to Function2c708 (2c708 (b:4708))
+ ld a, c
+ ld [$abe4], a
+ ld [$d265], a
+ call CloseSRAM
+ call GetItemName
+ ld hl, $4a1b
+ jr Function1049c5
+
+; known jump sources: 10490e (41:490e)
+Function1049af: ; 1049af (41:49af)
+ ld hl, $49fd
+ jr Function1049c5
+
+; known jump sources: 104913 (41:4913)
+Function1049b4: ; 1049b4 (41:49b4)
+ ld hl, $4a02
+ call PrintText
+ jp Function1048ba
+
+; known jump sources: 104933 (41:4933)
+Function1049bd: ; 1049bd (41:49bd)
+ ld hl, $4a07
+ jr Function1049c5
+
+; known jump sources: 10493a (41:493a)
+Function1049c2: ; 1049c2 (41:49c2)
+ ld hl, $4a0c
+
+; known jump sources: 104923 (41:4923), 10492c (41:492c), 10498e (41:498e), 1049ad (41:49ad), 1049b2 (41:49b2), 1049c0 (41:49c0)
+Function1049c5: ; 1049c5 (41:49c5)
+ call PrintText
+ ld a, $e3
+ ld [rLCDC], a ; $ff00+$40
+ ret
+; 1049cd (41:49cd)
+
+INCBIN "baserom.gbc",$1049cd,$104a25 - $1049cd
+
+; known jump sources: 10491d (41:491d)
+Function104a25: ; 104a25 (41:4a25)
+ call Function105106
+ ld a, [$abe5]
+ cp $5
+ jp CloseSRAM
+
+; known jump sources: 104926 (41:4926)
+Function104a30: ; 104a30 (41:4a30)
+ call Function105106
+ ld a, [$c901]
+ ld b, a
+ ld a, [$c902]
+ ld c, a
+ ld a, [$abe5]
+ ld d, a
+ ld hl, $abe6
+.asm_104a42
+ ld a, d
+ and a
+ jr z, .asm_104a53
+ ld a, [hli]
+ cp b
+ jr nz, .asm_104a4e
+ ld a, [hl]
+ cp c
+ jr z, .asm_104a52
+.asm_104a4e
+ inc hl
+ dec d
+ jr .asm_104a42
+.asm_104a52
+ scf
+.asm_104a53
+ jp CloseSRAM
+
+; known jump sources: 104944 (41:4944)
+Function104a56: ; 104a56 (41:4a56)
+ call Function105106
+ ld hl, $abe5
+ ld a, [hl]
+ inc [hl]
+ ld hl, $abe6
+ ld e, a
+ ld d, $0
+ add hl, de
+ add hl, de
+ ld a, [$c901]
+ ld [hli], a
+ ld a, [$c902]
+ ld [hl], a
+ jp CloseSRAM
+
+; known jump sources: 10494e (41:494e)
+Function104a71: ; 104a71 (41:4a71)
+ call Function105106
+ ld a, $1
+ ld [$abfd], a
+ ld hl, $c903
+ ld de, $abfe
+ ld bc, $b
+ call CopyBytes
+ ld a, $1
+ ld [de], a
+ inc de
+ ld hl, $c850
+ ld bc, $26
+ call CopyBytes
+ jp CloseSRAM
+
+; known jump sources: 1048e8 (41:48e8)
+Function104a95: ; 104a95 (41:4a95)
+ di
+ ld a, BANK(ClearChannels)
+ ld hl, ClearChannels
+ rst $8 ; ; indirect jump to ClearChannels (e8fe9 (3a:4fe9))
+ call Function104d5e
+.asm_104a9f
+ call Function104d96
+ call Function104ddd
+ ld a, [$FF00+$bc]
+ cp $10
+ jp z, Function104bd0
+ cp $6c
+ jr nz, .asm_104a9f
+ ld a, [$FF00+$bb]
+ cp $2
+ jr z, Function104b22
+ ld hl, hPastLeadingZeroes ; $ffb3 (aliases: hDividend, hProduct)
+ ld b, $1
+ call Function104d56
+ jr nz, .asm_104ac8
+ call Function104b49
+ jp nz, Function104bd0
+ jr asm_104b0a
+.asm_104ac8
+ ld a, [rLY] ; $ff00+$44
+ cp $90
+ jr c, .asm_104ac8
+ ld c, $56
+ ld a, $c0
+ ld [$ff00+c], a
+ ld b, $f0
+.asm_104ad5
+ push bc
+ call Function105038
+ ld b, $2
+ ld c, $56
+.asm_104add
+ ld a, [$ff00+c]
+ and b
+ ld b, a
+ ld a, [rLY] ; $ff00+$44
+ cp $90
+ jr nc, .asm_104add
+.asm_104ae6
+ ld a, [$ff00+c]
+ and b
+ ld b, a
+ ld a, [rLY] ; $ff00+$44
+ cp $90
+ jr c, .asm_104ae6
+ ld a, b
+ pop bc
+ dec b
+ jr z, .asm_104a9f
+ or a
+ jr nz, .asm_104a9f
+ ld a, [$FF00+$c4]
+ bit 1, a
+ jr z, .asm_104ad5
+ ld a, $10
+ ld [$FF00+$bc], a
+ jp Function104bd0
+
+; known jump sources: 104c0d (41:4c0d)
+Function104b04: ; 104b04 (41:4b04)
+ call Function104b40
+ jp nz, Function104bd0
+
+; known jump sources: 104ac6 (41:4ac6)
+asm_104b0a: ; 104b0a (41:4b0a)
+ call Function104d38
+ jp nz, Function104bd0
+ call Function104b88
+ jp nz, Function104bd0
+ call Function104d43
+ jp nz, Function104bd0
+ call Function105033
+ jp Function104bd0
+
+; known jump sources: 104ab4 (41:4ab4), 104c15 (41:4c15)
+Function104b22: ; 104b22 (41:4b22)
+ call Function104b88
+ jp nz, Function104bd0
+ call Function104d43
+ jp nz, Function104bd0
+ call Function104b40
+ jp nz, Function104bd0
+ call Function104d38
+ jp nz, Function104bd0
+ call Function10502e
+ jp Function104bd0
+
+; known jump sources: 104b04 (41:4b04), 104b2e (41:4b2e)
+Function104b40: ; 104b40 (41:4b40)
+ ld hl, hPastLeadingZeroes ; $ffb3 (aliases: hDividend, hProduct)
+ ld b, $1
+ call Function104d56
+ ret nz
+
+; known jump sources: 104ac0 (41:4ac0)
+Function104b49: ; 104b49 (41:4b49)
+ call Function105033
+ ld a, [$FF00+$bc]
+ cp $6c
+ ret nz
+ ld a, [hPastLeadingZeroes] ; $ff00+$b3 (aliases: hDividend, hProduct)
+ cp $96
+ jp nz, Function104d32
+ ld a, $90
+ ld [hPastLeadingZeroes], a ; $ff00+$b3 (aliases: hDividend, hProduct)
+ call Function104d38
+ ret nz
+ ld hl, hPastLeadingZeroes ; $ffb3 (aliases: hDividend, hProduct)
+ ld b, $1
+ call Function104d4e
+ ret nz
+ call Function10502e
+ ld a, [$FF00+$bc]
+ cp $6c
+ ret nz
+ call Function104d43
+ ret nz
+ ld hl, $c850
+ ld a, [$ca02]
+ ld b, a
+ call Function104d56
+ ret nz
+ call Function105033
+ ld a, [$FF00+$bc]
+ cp $6c
+ ret
+
+; known jump sources: 104b10 (41:4b10), 104b22 (41:4b22)
+Function104b88: ; 104b88 (41:4b88)
+ ld a, $96
+ ld [hPastLeadingZeroes], a ; $ff00+$b3 (aliases: hDividend, hProduct)
+ ld hl, hPastLeadingZeroes ; $ffb3 (aliases: hDividend, hProduct)
+ ld b, $1
+ call Function104d4e
+ ret nz
+ call Function10502e
+ ld a, [$FF00+$bc]
+ cp $6c
+ ret nz
+ call Function104d43
+ ret nz
+ ld hl, hPastLeadingZeroes ; $ffb3 (aliases: hDividend, hProduct)
+ ld b, $1
+ call Function104d56
+ ret nz
+ call Function105033
+ ld a, [$FF00+$bc]
+ cp $6c
+ ret nz
+ ld a, [hPastLeadingZeroes] ; $ff00+$b3 (aliases: hDividend, hProduct)
+ cp $90
+ jp nz, Function104d32
+ call Function104d38
+ ret nz
+ ld hl, OverworldMap ; $c800
+ ld a, [$ca02]
+ ld b, a
+ call Function104d4e
+ ret nz
+ call Function10502e
+ ld a, [$FF00+$bc]
+ cp $6c
+ ret
+
+; known jump sources: 104aa9 (41:4aa9), 104ac3 (41:4ac3), 104b01 (41:4b01), 104b07 (41:4b07), 104b0d (41:4b0d), 104b13 (41:4b13), 104b19 (41:4b19), 104b1f (41:4b1f), 104b25 (41:4b25), 104b2b (41:4b2b), 104b31 (41:4b31), 104b37 (41:4b37), 104b3d (41:4b3d), 104c0b (41:4c0b), 104c13 (41:4c13)
+Function104bd0: ; 104bd0 (41:4bd0)
+ nop
+ ld a, [$FF00+$bc]
+ cp $10
+ jr z, .asm_104c18
+ cp $6c
+ jr nz, .asm_104c18
+ ld hl, $ca01
+ dec [hl]
+ jr z, .asm_104c18
+ ld hl, $c850
+ ld de, $c900
+ ld bc, $14
+ call CopyBytes
+ ld a, [$c850]
+ cp $3
+ jr nc, .asm_104c18
+ ld a, BANK(Function10510b)
+ ld hl, Function10510b
+ rst $8 ; ; indirect jump to Function10510b (10510b (41:510b))
+ call Function1050fb
+ ld a, $26
+ ld [$ca02], a
+ ld a, [$FF00+$bb]
+ cp $2
+ jr z, .asm_104c10
+ call Function104d43
+ jr nz, Function104bd0
+ jp Function104b04
+.asm_104c10
+ call Function104d38
+ jr nz, Function104bd0
+ jp Function104b22
+.asm_104c18
+ ld a, [$FF00+$bc]
+ push af
+ call Function104da0
+ xor a
+ ld [rIF], a ; $ff00+$f
+ ld a, [rIE] ; $ff00+$ff
+ or $1
+ ld [rIE], a ; $ff00+$ff
+ ei
+ call DelayFrame
+ pop af
+ ret
+
+; known jump sources: 1056ae (41:56ae)
+Function104c2d: ; 104c2d (41:4c2d)
+ di
+ ld a, BANK(ClearChannels)
+ ld hl, ClearChannels
+ rst $8 ; ; indirect jump to ClearChannels (e8fe9 (3a:4fe9))
+ call Function104d5e
+.asm_104c37
+ call Function104d96
+ call Function104ddd
+ ld a, [$FF00+$bc]
+ cp $10
+ jp z, Function104d1c
+ cp $6c
+ jr nz, .asm_104c37
+ ld a, [$FF00+$bb]
+ cp $2
+ jr z, .asm_104c6c
+ call Function104c8a
+ jp nz, Function104d1c
+ call Function104d38
+ jp nz, Function104d1c
+ call Function104cd2
+ jp nz, Function104d1c
+ call Function104d43
+ jp nz, Function104d1c
+ call Function105033
+ jp Function104d1c
+.asm_104c6c
+ call Function104cd2
+ jp nz, Function104d1c
+ call Function104d43
+ jp nz, Function104d1c
+ call Function104c8a
+ jp nz, Function104d1c
+ call Function104d38
+ jp nz, Function104d1c
+ call Function10502e
+ jp Function104d1c
+
+; known jump sources: 104c4e (41:4c4e), 104c78 (41:4c78)
+Function104c8a: ; 104c8a (41:4c8a)
+ ld hl, hPastLeadingZeroes ; $ffb3 (aliases: hDividend, hProduct)
+ ld b, $1
+ call Function104d56
+ ret nz
+ call Function105033
+ ld a, [$FF00+$bc]
+ cp $6c
+ ret nz
+ ld a, [hPastLeadingZeroes] ; $ff00+$b3 (aliases: hDividend, hProduct)
+ cp $3c
+ jp nz, Function104d32
+ swap a
+ ld [hPastLeadingZeroes], a ; $ff00+$b3 (aliases: hDividend, hProduct)
+ call Function104d38
+ ret nz
+ ld hl, hPastLeadingZeroes ; $ffb3 (aliases: hDividend, hProduct)
+ ld b, $1
+ call Function104d4e
+ ret nz
+ call Function10502e
+ ld a, [$FF00+$bc]
+ cp $6c
+ ret nz
+ call Function104d43
+ ret nz
+ ld hl, $c850
+ ld a, [$ca02]
+ ld b, a
+ call Function104d56
+ ret nz
+ call Function105033
+ ld a, [$FF00+$bc]
+ cp $6c
+ ret
+
+; known jump sources: 104c5a (41:4c5a), 104c6c (41:4c6c)
+Function104cd2: ; 104cd2 (41:4cd2)
+ ld a, $3c
+ ld [hPastLeadingZeroes], a ; $ff00+$b3 (aliases: hDividend, hProduct)
+ ld hl, hPastLeadingZeroes ; $ffb3 (aliases: hDividend, hProduct)
+ ld b, $1
+ call Function104d4e
+ ret nz
+ call Function10502e
+ ld a, [$FF00+$bc]
+ cp $6c
+ ret nz
+ call Function104d43
+ ret nz
+ ld hl, hPastLeadingZeroes ; $ffb3 (aliases: hDividend, hProduct)
+ ld b, $1
+ call Function104d56
+ ret nz
+ call Function105033
+ ld a, [$FF00+$bc]
+ cp $6c
+ ret nz
+ ld a, [hPastLeadingZeroes] ; $ff00+$b3 (aliases: hDividend, hProduct)
+ swap a
+ cp $3c
+ jp nz, Function104d32
+ call Function104d38
+ ret nz
+ ld hl, OverworldMap ; $c800
+ ld a, [$ca02]
+ ld b, a
+ call Function104d4e
+ ret nz
+ call Function10502e
+ ld a, [$FF00+$bc]
+ cp $6c
+ ret
+
+; known jump sources: 104c41 (41:4c41), 104c51 (41:4c51), 104c57 (41:4c57), 104c5d (41:4c5d), 104c63 (41:4c63), 104c69 (41:4c69), 104c6f (41:4c6f), 104c75 (41:4c75), 104c7b (41:4c7b), 104c81 (41:4c81), 104c87 (41:4c87)
+Function104d1c: ; 104d1c (41:4d1c)
+ nop
+ ld a, [$FF00+$bc]
+ push af
+ call Function104da0
+ xor a
+ ld [rIF], a ; $ff00+$f
+ ld a, [rIE] ; $ff00+$ff
+ or $1
+ ld [rIE], a ; $ff00+$ff
+ ei
+ call DelayFrame
+ pop af
+ ret
+
+; known jump sources: 104b55 (41:4b55), 104bb6 (41:4bb6), 104c9f (41:4c9f), 104d02 (41:4d02)
+Function104d32: ; 104d32 (41:4d32)
+ ld a, $80
+ ld [$FF00+$bc], a
+ and a
+ ret
+
+; known jump sources: 104b0a (41:4b0a), 104b34 (41:4b34), 104b5c (41:4b5c), 104bb9 (41:4bb9), 104c10 (41:4c10), 104c54 (41:4c54), 104c7e (41:4c7e), 104ca6 (41:4ca6), 104d05 (41:4d05)
+Function104d38: ; 104d38 (41:4d38)
+ call Function104d96
+ call Function104e46
+ ld a, [$FF00+$bc]
+ cp $6c
+ ret
+
+; known jump sources: 104b16 (41:4b16), 104b28 (41:4b28), 104b71 (41:4b71), 104b9d (41:4b9d), 104c08 (41:4c08), 104c60 (41:4c60), 104c72 (41:4c72), 104cbb (41:4cbb), 104ce7 (41:4ce7)
+Function104d43: ; 104d43 (41:4d43)
+ call Function104d96
+ call Function104dfe
+ ld a, [$FF00+$bc]
+ cp $6c
+ ret
+
+; known jump sources: 104b65 (41:4b65), 104b91 (41:4b91), 104bc4 (41:4bc4), 104caf (41:4caf), 104cdb (41:4cdb), 104d10 (41:4d10)
+Function104d4e: ; 104d4e (41:4d4e)
+ call Function104e93
+ ld a, [$FF00+$bc]
+ cp $6c
+ ret
+
+; known jump sources: 104abb (41:4abb), 104b45 (41:4b45), 104b7c (41:4b7c), 104ba6 (41:4ba6), 104c8f (41:4c8f), 104cc6 (41:4cc6), 104cf0 (41:4cf0)
+Function104d56: ; 104d56 (41:4d56)
+ call Function104f57
+ ld a, [$FF00+$bc]
+ cp $6c
+ ret
+
+; known jump sources: 104a9c (41:4a9c), 104c34 (41:4c34)
+Function104d5e: ; 104d5e (41:4d5e)
+ call Function104d74
+ ld a, $4
+ ld [rIE], a ; $ff00+$ff
+ xor a
+ ld [rIF], a ; $ff00+$f
+ call Function104d96
+ xor a
+ ld b, a
+.asm_104d6d
+ inc a
+ jr nz, .asm_104d6d
+ inc b
+ jr nz, .asm_104d6d
+ ret
+
+; known jump sources: 104d5e (41:4d5e), 10501a (41:501a)
+Function104d74: ; 104d74 (41:4d74)
+ xor a
+ ld [rTAC], a ; $ff00+$7
+ ld a, $fe
+ ld [rTMA], a ; $ff00+$6
+ ld [rTIMA], a ; $ff00+$5
+ ld a, $2
+ ld [rTAC], a ; $ff00+$7
+ or $4
+ ld [rTAC], a ; $ff00+$7
+ ret
+
+; known jump sources: 104fcf (41:4fcf)
+Function104d86: ; 104d86 (41:4d86)
+ xor a
+ ld [rTAC], a ; $ff00+$7
+ ld [rTMA], a ; $ff00+$6
+ ld [rTIMA], a ; $ff00+$5
+ ld a, $2
+ ld [rTAC], a ; $ff00+$7
+ or $4
+ ld [rTAC], a ; $ff00+$7
+ ret
+
+; known jump sources: 104a9f (41:4a9f), 104c37 (41:4c37), 104d38 (41:4d38), 104d43 (41:4d43), 104d68 (41:4d68)
+Function104d96: ; 104d96 (41:4d96)
+ ld a, $c0
+ call Function104e8c
+ ld a, $1
+ ld [$FF00+$bb], a
+ ret
+
+; known jump sources: 104c1b (41:4c1b), 104d20 (41:4d20)
+Function104da0: ; 104da0 (41:4da0)
+ xor a
+ call Function104e8c
+ ld a, $2
+ ld [rTAC], a ; $ff00+$7
+ ret
+
+; known jump sources: 104db3 (41:4db3), 104e0a (41:4e0a), 104e16 (41:4e16), 104e70 (41:4e70), 104e7c (41:4e7c), 104fbb (41:4fbb), 105022 (41:5022)
+Function104da9: ; 104da9 (41:4da9)
+ inc d
+ ret z
+ xor a
+ ld [rIF], a ; $ff00+$f
+ db $76 ;halt (prevents rgbasm from putting in an extra nop)
+ nop
+ ld a, [$ff00+c]
+ bit 1, a
+ jr z, Function104da9
+ or a
+ ret
+
+; known jump sources: 104dc1 (41:4dc1), 104e03 (41:4e03), 104e10 (41:4e10), 104e69 (41:4e69), 104e76 (41:4e76), 104fb3 (41:4fb3), 104fc3 (41:4fc3)
+Function104db7: ; 104db7 (41:4db7)
+ inc d
+ ret z
+ xor a
+ ld [rIF], a ; $ff00+$f
+ db $76 ;halt (prevents rgbasm from putting in an extra nop)
+ nop
+ ld a, [$ff00+c]
+ bit 1, a
+ jr nz, Function104db7
+ or a
+ ret
+
+; known jump sources: 104e27 (41:4e27), 104e31 (41:4e31), 104e56 (41:4e56), 104e60 (41:4e60), 104edf (41:4edf), 104f39 (41:4f39)
+Function104dc5: ; 104dc5 (41:4dc5)
+ ld a, $c1
+ ld [$ff00+c], a
+.asm_104dc8
+ dec d
+ ret z
+ xor a
+ ld [rIF], a ; $ff00+$f
+ db $76 ;halt (prevents rgbasm from putting in an extra nop)
+ nop
+ jr .asm_104dc8
+
+; known jump sources: 104e22 (41:4e22), 104e2c (41:4e2c), 104e36 (41:4e36), 104e51 (41:4e51), 104e5b (41:4e5b), 104e65 (41:4e65), 104e84 (41:4e84), 104e9e (41:4e9e), 104eda (41:4eda), 104ee4 (41:4ee4), 104f3e (41:4f3e), 104f9b (41:4f9b), 10502a (41:502a)
+Function104dd1: ; 104dd1 (41:4dd1)
+ ld a, $c0
+ ld [$ff00+c], a
+.asm_104dd4
+ dec d
+ ret z
+ xor a
+ ld [rIF], a ; $ff00+$f
+ db $76 ;halt (prevents rgbasm from putting in an extra nop)
+ nop
+ jr .asm_104dd4
+
+; known jump sources: 104aa2 (41:4aa2), 104c3a (41:4c3a)
+Function104ddd: ; 104ddd (41:4ddd)
+ ld d, $0
+ ld e, d
+ ld a, $1
+ ld [$FF00+$bb], a
+.asm_104de4
+ call Function105038
+ ld b, $2
+ ld c, $56
+ ld a, [$FF00+$c4]
+ bit 1, a
+ jr z, .asm_104df6
+ ld a, $10
+ ld [$FF00+$bc], a
+ ret
+.asm_104df6
+ bit 0, a
+ jr nz, asm_104e3a
+ ld a, [$ff00+c]
+ and b
+ jr nz, .asm_104de4
+
+; known jump sources: 104d46 (41:4d46)
+Function104dfe: ; 104dfe (41:4dfe)
+ ld c, $56
+ ld d, $0
+ ld e, d
+ call Function104db7
+ jp z, Function104f42
+ ld d, e
+ call Function104da9
+ jp z, Function104f42
+ call Function104db7
+ jp z, Function104f42
+ call Function104da9
+ jp z, Function104f42
+ ld a, $6c
+ ld [$FF00+$bc], a
+ ld d, $3d
+ call Function104dd1
+ ld d, $5
+ call Function104dc5
+ ld d, $15
+ call Function104dd1
+ ld d, $5
+ call Function104dc5
+ ld d, $5
+ call Function104dd1
+ ret
+
+; known jump sources: 104df8 (41:4df8)
+asm_104e3a: ; 104e3a (41:4e3a)
+ call Random
+ ld e, a
+ and $f
+ ld d, a
+.asm_104e41
+ dec de
+ ld a, d
+ or e
+ jr nz, .asm_104e41
+
+; known jump sources: 104d3b (41:4d3b)
+Function104e46: ; 104e46 (41:4e46)
+ ld a, $2
+ ld [$FF00+$bb], a
+ ld c, $56
+ ld d, $0
+ ld e, d
+ ld d, $3d
+ call Function104dd1
+ ld d, $5
+ call Function104dc5
+ ld d, $15
+ call Function104dd1
+ ld d, $5
+ call Function104dc5
+ ld d, $5
+ call Function104dd1
+ ld d, e
+ call Function104db7
+ jp z, Function104f42
+ ld d, e
+ call Function104da9
+ jp z, Function104f42
+ call Function104db7
+ jp z, Function104f42
+ call Function104da9
+ jp z, Function104f42
+ ld d, $3d
+ call Function104dd1
+ ld a, $6c
+ ld [$FF00+$bc], a
+ ret
+
+; known jump sources: 104d98 (41:4d98), 104da1 (41:4da1)
+Function104e8c: ; 104e8c (41:4e8c)
+ ld [rRP], a ; $ff00+$56
+ ld a, $ff
+ ld [$FF00+$bc], a
+ ret
+
+; known jump sources: 104d4e (41:4d4e), 105030 (41:5030)
+Function104e93: ; 104e93 (41:4e93)
+ xor a
+ ld [hDivisor], a ; $ff00+$b7 (aliases: hMultiplier)
+ ld [hMathBuffer], a ; $ff00+$b8
+ push hl
+ push bc
+ ld c, $56
+ ld d, $3d
+ call Function104dd1
+ ld hl, hQuotient ; $ffb4 (aliases: hMultiplicand)
+ ld a, $5a
+ ld [hli], a
+ ld [hl], b
+ dec hl
+ ld b, $2
+ call Function104ed6
+ pop bc
+ pop hl
+ call Function104ed6
+ ld a, [hDivisor] ; $ff00+$b7 (aliases: hMultiplier)
+ ld [hQuotient], a ; $ff00+$b4 (aliases: hMultiplicand)
+ ld a, [hMathBuffer] ; $ff00+$b8
+ ld [$FF00+$b5], a
+ push hl
+ ld hl, hQuotient ; $ffb4 (aliases: hMultiplicand)
+ ld b, $2
+ call Function104ed6
+ ld hl, $ffbc
+ ld b, $1
+ call Function104faf
+ ld a, [hQuotient] ; $ff00+$b4 (aliases: hMultiplicand)
+ ld [hDivisor], a ; $ff00+$b7 (aliases: hMultiplier)
+ ld a, [$FF00+$b5]
+ ld [hMathBuffer], a ; $ff00+$b8
+ pop hl
+ ret
+
+; known jump sources: 104eab (41:4eab), 104eb0 (41:4eb0), 104ec1 (41:4ec1), 104fa3 (41:4fa3)
+Function104ed6: ; 104ed6 (41:4ed6)
+ ld c, $56
+ ld d, $5
+ call Function104dd1
+ ld d, $5
+ call Function104dc5
+ ld d, $15
+ call Function104dd1
+ ld a, b
+ cpl
+ ld b, a
+ ld a, $f4
+ ld [rTMA], a ; $ff00+$6
+.asm_104eee
+ inc b
+ jr z, .asm_104f2e
+ ld a, $8
+ ld [$FF00+$b6], a
+ ld a, [hli]
+ ld e, a
+ ld a, [hDivisor] ; $ff00+$b7 (aliases: hMultiplier)
+ add e
+ ld [hDivisor], a ; $ff00+$b7 (aliases: hMultiplier)
+ ld a, [hMathBuffer] ; $ff00+$b8
+ adc $0
+ ld [hMathBuffer], a ; $ff00+$b8
+.asm_104f02
+ xor a
+ ld [rIF], a ; $ff00+$f
+ db $76 ;halt (prevents rgbasm from putting in an extra nop)
+ nop
+ ld a, $c1
+ ld [rRP], a ; $ff00+$56
+ ld d, $1
+ ld a, e
+ rlca
+ ld e, a
+ jr nc, .asm_104f13
+ inc d
+.asm_104f13
+ ld a, [rTIMA] ; $ff00+$5
+ cp $f8
+ jr c, .asm_104f13
+ ld a, $c0
+ ld [rRP], a ; $ff00+$56
+ dec d
+ jr z, .asm_104f25
+ xor a
+ ld [rIF], a ; $ff00+$f
+ db $76 ;halt (prevents rgbasm from putting in an extra nop)
+ nop
+.asm_104f25
+ ld a, [$FF00+$b6]
+ dec a
+ jr z, .asm_104eee
+ ld [$FF00+$b6], a
+ jr .asm_104f02
+.asm_104f2e
+ ld a, $fe
+ ld [rTMA], a ; $ff00+$6
+ xor a
+ ld [rIF], a ; $ff00+$f
+ db $76 ;halt (prevents rgbasm from putting in an extra nop)
+ nop
+ ld d, $5
+ call Function104dc5
+ ld d, $11
+ call Function104dd1
+ ret
+
+; known jump sources: 104e06 (41:4e06), 104e0d (41:4e0d), 104e13 (41:4e13), 104e19 (41:4e19), 104e6c (41:4e6c), 104e73 (41:4e73), 104e79 (41:4e79), 104e7f (41:4e7f), 104fb6 (41:4fb6), 104fbe (41:4fbe), 104fc6 (41:4fc6), 105025 (41:5025)
+Function104f42: ; 104f42 (41:4f42)
+ ld a, [$FF00+$bc]
+ or $2
+ ld [$FF00+$bc], a
+ ret
+
+; known jump sources: 104f95 (41:4f95)
+Function104f49: ; 104f49 (41:4f49)
+ ld a, [$FF00+$bc]
+ or $1
+ ld [$FF00+$bc], a
+ ret
+
+; known jump sources: 104f6e (41:4f6e), 104f75 (41:4f75)
+Function104f50: ; 104f50 (41:4f50)
+ ld a, [$FF00+$bc]
+ or $80
+ ld [$FF00+$bc], a
+ ret
+
+; known jump sources: 104d56 (41:4d56), 105035 (41:5035)
+Function104f57: ; 104f57 (41:4f57)
+ xor a
+ ld [hDivisor], a ; $ff00+$b7 (aliases: hMultiplier)
+ ld [hMathBuffer], a ; $ff00+$b8
+ push bc
+ push hl
+ ld hl, hQuotient ; $ffb4 (aliases: hMultiplicand)
+ ld b, $2
+ call Function104faf
+ ld a, [$FF00+$b5]
+ ld [$FF00+$ba], a
+ ld b, a
+ pop hl
+ pop af
+ cp b
+ jp c, Function104f50
+ ld a, [hQuotient] ; $ff00+$b4 (aliases: hMultiplicand)
+ cp $5a
+ jp nz, Function104f50
+ call Function104faf
+ ld a, [hDivisor] ; $ff00+$b7 (aliases: hMultiplier)
+ ld d, a
+ ld a, [hMathBuffer] ; $ff00+$b8
+ ld e, a
+ push hl
+ push de
+ ld hl, hQuotient ; $ffb4 (aliases: hMultiplicand)
+ ld b, $2
+ call Function104faf
+ pop de
+ ld hl, hQuotient ; $ffb4 (aliases: hMultiplicand)
+ ld a, [hli]
+ xor d
+ ld b, a
+ ld a, [hl]
+ xor e
+ or b
+ call nz, Function104f49
+ push de
+ ld d, $3d
+ call Function104dd1
+ ld hl, $ffbc
+ ld b, $1
+ call Function104ed6
+ pop de
+ pop hl
+ ld a, d
+ ld [hDivisor], a ; $ff00+$b7 (aliases: hMultiplier)
+ ld a, e
+ ld [hMathBuffer], a ; $ff00+$b8
+ ret
+
+; known jump sources: 104ec9 (41:4ec9), 104f63 (41:4f63), 104f78 (41:4f78), 104f88 (41:4f88)
+Function104faf: ; 104faf (41:4faf)
+ ld c, $56
+ ld d, $0
+ call Function104db7
+ jp z, Function104f42
+ ld d, $0
+ call Function104da9
+ jp z, Function104f42
+ ld d, $0
+ call Function104db7
+ jp z, Function104f42
+ ld a, b
+ cpl
+ ld b, a
+ xor a
+ ld [$FF00+$c5], a
+ call Function104d86
+.asm_104fd2
+ inc b
+ jr z, .asm_10501a
+ ld a, $8
+ ld [$FF00+$b6], a
+.asm_104fd9
+ ld d, $0
+.asm_104fdb
+ inc d
+ jr z, .asm_104fe5
+ ld a, [$ff00+c]
+ bit 1, a
+ jr z, .asm_104fdb
+ ld d, $0
+.asm_104fe5
+ inc d
+ jr z, .asm_104fed
+ ld a, [$ff00+c]
+ bit 1, a
+ jr nz, .asm_104fe5
+.asm_104fed
+ ld a, [$FF00+$c5]
+ ld d, a
+ ld a, [rTIMA] ; $ff00+$5
+ ld [$FF00+$c5], a
+ sub d
+ cp $12
+ jr c, .asm_104ffd
+ set 0, e
+ jr .asm_104fff
+.asm_104ffd
+ res 0, e
+.asm_104fff
+ ld a, [$FF00+$b6]
+ dec a
+ ld [$FF00+$b6], a
+ jr z, .asm_10500b
+ ld a, e
+ rlca
+ ld e, a
+ jr .asm_104fd9
+.asm_10500b
+ ld a, e
+ ld [hli], a
+ ld a, [hDivisor] ; $ff00+$b7 (aliases: hMultiplier)
+ add e
+ ld [hDivisor], a ; $ff00+$b7 (aliases: hMultiplier)
+ ld a, [hMathBuffer] ; $ff00+$b8
+ adc $0
+ ld [hMathBuffer], a ; $ff00+$b8
+ jr .asm_104fd2
+.asm_10501a
+ call Function104d74
+ xor a
+ ld [rIF], a ; $ff00+$f
+ ld d, $0
+ call Function104da9
+ jp z, Function104f42
+ ld d, $10
+ call Function104dd1
+ ret
+
+; known jump sources: 104b3a (41:4b3a), 104b69 (41:4b69), 104b95 (41:4b95), 104bc8 (41:4bc8), 104c84 (41:4c84), 104cb3 (41:4cb3), 104cdf (41:4cdf), 104d14 (41:4d14)
+Function10502e: ; 10502e (41:502e)
+ ld b, $0
+ jp Function104e93
+
+; known jump sources: 104b1c (41:4b1c), 104b49 (41:4b49), 104b80 (41:4b80), 104baa (41:4baa), 104c66 (41:4c66), 104c93 (41:4c93), 104cca (41:4cca), 104cf4 (41:4cf4)
+Function105033: ; 105033 (41:5033)
+ ld b, $0
+ jp Function104f57
+
+; known jump sources: 104ad6 (41:4ad6), 104de4 (41:4de4)
+Function105038: ; 105038 (41:5038)
+ ld a, $20
+ ld [rJOYP], a ; $ff00+$0
+ ld a, [rJOYP] ; $ff00+$0
+ ld a, [rJOYP] ; $ff00+$0
+ cpl
+ and $f
+ swap a
+ ld b, a
+ ld a, $10
+ ld [rJOYP], a ; $ff00+$0
+ ld a, [rJOYP] ; $ff00+$0
+ ld a, [rJOYP] ; $ff00+$0
+ ld a, [rJOYP] ; $ff00+$0
+ ld a, [rJOYP] ; $ff00+$0
+ ld a, [rJOYP] ; $ff00+$0
+ ld a, [rJOYP] ; $ff00+$0
+ cpl
+ and $f
+ or b
+ ld c, a
+ ld a, [$FF00+$c3]
+ xor c
+ and c
+ ld [$FF00+$c4], a
+ ld a, c
+ ld [$FF00+$c3], a
+ ld a, $30
+ ld [rJOYP], a ; $ff00+$0
+ ret
+
+; known jump sources: 104974 (41:4974)
+Function105069: ; 105069 (41:5069)
+ call Function105106
+ ld d, $0
+ ld b, $2
+ ld hl, $abf0
+ ld a, $3
+ push hl
+ push bc
+ call Predef
+ call CloseSRAM
+ ld a, c
+ and a
+ pop bc
+ pop hl
+ ret nz
+ call Function105106
+ ld b, $1
+ ld a, $3
+ call Predef
+ call CloseSRAM
+ xor a
+ ret
+
+; no known jump sources
+Function105091: ; 105091 (41:5091)
+ call Function105106
+ ld c, $0
+.asm_105096
+ push bc
+ ld d, $0
+ ld b, $2
+ ld hl, $abf0
+ ld a, $3
+ call Predef
+ ld a, c
+ and a
+ pop bc
+ jr z, .asm_1050b0
+ push bc
+ ld hl, Function26f02
+ ld a, BANK(Function26f02)
+ rst $8 ; ; indirect jump to Function26f02 (26f02 (9:6f02))
+ pop bc
+.asm_1050b0
+ inc c
+ ld a, c
+ cp $2b
+ jr c, .asm_105096
+ jp CloseSRAM
+
Function1050b9: ; 1050b9
call Function105106
ld hl, $abe3
@@ -77523,21 +112455,526 @@
jp CloseSRAM
; 1050ea
-INCBIN "baserom.gbc", $1050ea, $105106 - $1050ea
+; no known jump sources
+Function1050ea: ; 1050ea (41:50ea)
+ call Function105106
+ ld hl, $abe4
+ ld de, $abe2
+ ld a, [hli]
+ ld [de], a
+ inc de
+ ld a, [hl]
+ ld [de], a
+ jp CloseSRAM
+; known jump sources: 1048d8 (41:48d8), 104bfa (41:4bfa), 1056a3 (41:56a3)
+Function1050fb: ; 1050fb (41:50fb)
+ ld hl, $c850
+ xor a
+ ld b, $26
+.asm_105101
+ ld [hli], a
+ dec b
+ jr nz, .asm_105101
+ ret
+
+
Function105106: ; 105106
ld a, $0
jp GetSRAMBank
; 10510b
-INCBIN "baserom.gbc", $10510b, $105258 - $10510b
+; no known jump sources
+Function10510b: ; 10510b (41:510b)
+ ld a, $1
+ call GetSRAMBank
+ ld de, OverworldMap ; $c800
+ ld bc, $a86d
+ ld hl, $a866
+.asm_105119
+ ld a, [hli]
+ cp $ff
+ jr z, .asm_105148
+ cp $fd
+ jr z, .asm_10513e
+ push hl
+ ld hl, $1f
+ add hl, bc
+ ld a, [hl]
+ ld [de], a
+ inc de
+ ld hl, $0
+ add hl, bc
+ ld a, [hl]
+ ld [de], a
+ inc de
+ ld hl, $2
+ add hl, bc
+ push bc
+ ld bc, $4
+ call CopyBytes
+ pop bc
+ pop hl
+.asm_10513e
+ push hl
+ ld hl, $30
+ add hl, bc
+ ld b, h
+ ld c, l
+ pop hl
+ jr .asm_105119
+.asm_105148
+ ld a, $ff
+ ld [de], a
+ ld a, $26
+ ld [$ca00], a
+ jp CloseSRAM
+
+; known jump sources: 1048c3 (41:48c3)
+Function105153: ; 105153 (41:5153)
+ call WhiteBGMap
+ call DisableLCD
+ ld hl, $5258
+ ld de, $9000
+ ld a, $41
+ ld bc, $430
+ call FarCopyBytes
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld a, $42
+ ld bc, $168
+ call ByteFill
+ ld hl, $c52f
+ ld bc, $90f
+ call ClearBox
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld a, $0
+ ld [hli], a
+ inc a
+ ld [hl], a
+ ld hl, $c4b4
+ inc a
+ ld [hli], a
+ inc a
+ ld [hl], a
+ ld hl, $c4bb
+ ld a, $12
+ call Function10522e
+ ld hl, $c4ca
+ ld a, $17
+ call Function105236
+ ld hl, $c4de
+ ld a, $27
+ call Function105236
+ ld hl, $c4f9
+ ld a, $37
+ ld [hli], a
+ inc a
+ ld [hl], a
+ ld hl, $c4c9
+ ld [hl], $4
+ ld hl, $c4dd
+ ld a, $5
+ call Function105246
+ ld a, $9
+ ld hl, $c516
+ call Function105242
+ ld hl, $c506
+ ld a, $b
+ call Function105251
+ ld hl, $c5e2
+ ld a, $7
+ call Function105251
+ ld hl, $c506
+ ld a, $d
+ call Function10522e
+ ld hl, $c50b
+ ld [hl], $c
+ ld hl, $c516
+ ld [hl], $a
+ ld hl, $c5f2
+ ld [hl], $8
+ ld hl, $c5e1
+ ld [hl], $6
+ ld hl, $c51a
+ ld a, $3a
+ call Function105251
+ ld hl, $c5ce
+ ld a, $40
+ call Function105251
+ ld hl, $c51a
+ ld a, $3c
+ call Function10523e
+ ld hl, $c529
+ ld a, $3e
+ call Function10523e
+ ld hl, $c51a
+ ld [hl], $39
+ ld hl, $c529
+ ld [hl], $3b
+ ld hl, $c5ce
+ ld [hl], $3f
+ ld hl, $c5dd
+ ld [hl], $41
+ call EnableLCD
+ call WaitBGMap
+ ld b, $1d
+ call GetSGBLayout
+ call Function32f9
+ ret
+
+; known jump sources: 10518f (41:518f), 1051d4 (41:51d4)
+Function10522e: ; 10522e (41:522e)
+ ld b, $5
+ jr asm_105238
+; 105232 (41:5232)
+
+INCBIN "baserom.gbc",$105232,$105236 - $105232
+
+; known jump sources: 105197 (41:5197), 10519f (41:519f)
+Function105236: ; 105236 (41:5236)
+ ld b, $10
+
+; known jump sources: 105230 (41:5230), 10523b (41:523b)
+asm_105238: ; 105238 (41:5238)
+ ld [hli], a
+ inc a
+ dec b
+ jr nz, asm_105238
+ ret
+
+; known jump sources: 105200 (41:5200), 105208 (41:5208)
+Function10523e: ; 10523e (41:523e)
+ ld b, $9
+ jr asm_105248
+
+; known jump sources: 1051bc (41:51bc)
+Function105242: ; 105242 (41:5242)
+ ld b, $b
+ jr asm_105248
+
+; known jump sources: 1051b4 (41:51b4)
+Function105246: ; 105246 (41:5246)
+ ld b, $e
+
+; known jump sources: 105240 (41:5240), 105244 (41:5244), 10524e (41:524e)
+asm_105248: ; 105248 (41:5248)
+ ld [hl], a
+ ld de, $14
+ add hl, de
+ dec b
+ jr nz, asm_105248
+ ret
+
+; known jump sources: 1051c4 (41:51c4), 1051cc (41:51cc), 1051f0 (41:51f0), 1051f8 (41:51f8)
+Function105251: ; 105251 (41:5251)
+ ld b, $10
+.asm_105253
+ ld [hli], a
+ dec b
+ jr nz, .asm_105253
+ ret
+
MysteryGiftGFX:
INCBIN "gfx/misc/mystery_gift.2bpp"
-INCBIN "baserom.gbc", $105688, $105930 - $105688
+; known jump sources: 105723 (41:5723)
+Function105688: ; 105688 (41:5688)
+ call ClearTileMap
+ call ClearSprites
+ call WaitBGMap
+ call Function1057d7
+ ld hl, $c543
+ ld de, $572e
+ call PlaceString
+ call WaitBGMap
+ call Function10578c
+ call Function1050fb
+ ld a, $24
+ ld [$ca02], a
+ ld a, [rIE] ; $ff00+$ff
+ push af
+ call Function104c2d
+ ld d, a
+ xor a
+ ld [rIF], a ; $ff00+$f
+ pop af
+ ld [rIE], a ; $ff00+$ff
+ ld a, d
+ cp $10
+ jp z, Function105712
+ cp $6c
+ jp nz, Function10571a
+ call Function1056eb
+ ld c, $3c
+ call DelayFrames
+ call Function105777
+ ld hl, $575e
+ call PrintText
+ ld de, $c850
+ ld a, BANK(Function8ac70)
+ ld hl, Function8ac70
+ rst $8 ; ; indirect jump to Function8ac70 (8ac70 (22:6c70))
+ ld a, c
+ ld [$d265], a
+ ld hl, $5768
+ jr c, asm_105726
+ ld hl, $5763
+ jr asm_105726
+
+; known jump sources: 1056c3 (41:56c3)
+Function1056eb: ; 1056eb (41:56eb)
+ ld c, $10
+.asm_1056ed
+ ld hl, Sprites ; $c400
+ ld b, $8
+.asm_1056f2
+ dec [hl]
+ inc hl
+ inc hl
+ inc hl
+ inc hl
+ dec b
+ jr nz, .asm_1056f2
+ ld hl, $c420
+ ld b, $8
+.asm_1056ff
+ inc [hl]
+ inc hl
+ inc hl
+ inc hl
+ inc hl
+ dec b
+ jr nz, .asm_1056ff
+ dec c
+ ret z
+ push bc
+ ld c, $4
+ call DelayFrames
+ pop bc
+ jr .asm_1056ed
+
+; known jump sources: 1056bb (41:56bb)
+Function105712: ; 105712 (41:5712)
+ call Function105777
+ ld hl, $576d
+ jr asm_105726
+
+; known jump sources: 1056c0 (41:56c0)
+Function10571a: ; 10571a (41:571a)
+ call Function105777
+ ld hl, $5772
+ call PrintText
+ jp Function105688
+
+; known jump sources: 1056e4 (41:56e4), 1056e9 (41:56e9), 105718 (41:5718)
+asm_105726: ; 105726 (41:5726)
+ call PrintText
+ ld a, $e3
+ ld [rLCDC], a ; $ff00+$40
+ ret
+; 10572e (41:572e)
+
+INCBIN "baserom.gbc",$10572e,$105777 - $10572e
+
+; known jump sources: 1056cb (41:56cb), 105712 (41:5712), 10571a (41:571a)
+Function105777: ; 105777 (41:5777)
+ call ClearSprites
+ call ClearTileMap
+ call EnableLCD
+ call WaitBGMap
+ ld b, $8
+ call GetSGBLayout
+ call Function32f9
+ ret
+
+; known jump sources: 1056a0 (41:56a0)
+Function10578c: ; 10578c (41:578c)
+ ld de, OverworldMap ; $c800
+ ld a, $1
+ call GetSRAMBank
+ ld hl, $a00b
+ ld bc, $b
+ call CopyBytes
+ ld hl, $a009
+ ld bc, $2
+ call CopyBytes
+ ld hl, $a3d8
+ ld bc, $2
+ call CopyBytes
+ call CloseSRAM
+ ld a, $1
+ call GetSRAMBank
+ ld a, [$be3d]
+ ld [de], a
+ inc de
+ ld a, $4
+ call GetSRAMBank
+ ld hl, $a603
+ ld bc, $8
+ call CopyBytes
+ ld hl, $a007
+ ld bc, $c
+ call CopyBytes
+ call CloseSRAM
+ ret
+
+; known jump sources: 105691 (41:5691)
+Function1057d7: ; 1057d7 (41:57d7)
+ call WhiteBGMap
+ call DisableLCD
+ ld hl, $5930
+ ld de, $9000
+ ld a, $41
+ ld bc, $400
+ call FarCopyBytes
+ ld hl, $5d30
+ ld de, $8000
+ ld a, $41
+ ld bc, $80
+ call FarCopyBytes
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld a, $3f
+ ld bc, $168
+ call ByteFill
+ ld hl, $c52f
+ ld bc, $90f
+ call ClearBox
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld a, $0
+ ld [hli], a
+ inc a
+ ld [hl], a
+ ld hl, $c4b4
+ inc a
+ ld [hli], a
+ inc a
+ ld [hl], a
+ ld hl, $c4cc
+ ld a, $13
+ call Function1058ca
+ ld hl, $c4e0
+ ld a, $1e
+ call Function1058ce
+ ld hl, $c4f4
+ ld a, $2a
+ call Function1058ce
+ ld hl, $c4c9
+ ld [hl], $4
+ ld hl, $c4dd
+ ld a, $5
+ call Function1058de
+ ld a, $9
+ ld hl, $c516
+ call Function1058da
+ ld hl, $c506
+ ld a, $b
+ call Function1058e9
+ ld hl, $c5e2
+ ld a, $7
+ call Function1058e9
+ ld hl, $c506
+ ld a, $d
+ call Function1058c6
+ ld hl, $c50c
+ ld [hl], $c
+ ld hl, $c516
+ ld [hl], $a
+ ld hl, $c5f2
+ ld [hl], $8
+ ld hl, $c5e1
+ ld [hl], $6
+ ld hl, $c51a
+ ld a, $37
+ call Function1058e9
+ ld hl, $c5ce
+ ld a, $3d
+ call Function1058e9
+ ld hl, $c51a
+ ld a, $39
+ call Function1058d6
+ ld hl, $c529
+ ld a, $3b
+ call Function1058d6
+ ld hl, $c51a
+ ld [hl], $36
+ ld hl, $c529
+ ld [hl], $38
+ ld hl, $c5ce
+ ld [hl], $3c
+ ld hl, $c5dd
+ ld [hl], $3e
+ ld de, Sprites ; $c400
+ ld hl, $58f0
+ ld bc, $40
+ call CopyBytes
+ call EnableLCD
+ call WaitBGMap
+ ld b, $2
+ ld a, BANK(Function4930f)
+ ld hl, Function4930f
+ rst $8 ; ; indirect jump to Function4930f (4930f (12:530f))
+ jp Function32f9
+
+; known jump sources: 10585e (41:585e)
+Function1058c6: ; 1058c6 (41:58c6)
+ ld b, $6
+ jr asm_1058d0
+
+; known jump sources: 105821 (41:5821)
+Function1058ca: ; 1058ca (41:58ca)
+ ld b, $b
+ jr asm_1058d0
+
+; known jump sources: 105829 (41:5829), 105831 (41:5831)
+Function1058ce: ; 1058ce (41:58ce)
+ ld b, $c
+
+; known jump sources: 1058c8 (41:58c8), 1058cc (41:58cc), 1058d3 (41:58d3)
+asm_1058d0: ; 1058d0 (41:58d0)
+ ld [hli], a
+ inc a
+ dec b
+ jr nz, asm_1058d0
+ ret
+
+; known jump sources: 10588a (41:588a), 105892 (41:5892)
+Function1058d6: ; 1058d6 (41:58d6)
+ ld b, $9
+ jr asm_1058e0
+
+; known jump sources: 105846 (41:5846)
+Function1058da: ; 1058da (41:58da)
+ ld b, $b
+ jr asm_1058e0
+
+; known jump sources: 10583e (41:583e)
+Function1058de: ; 1058de (41:58de)
+ ld b, $e
+
+; known jump sources: 1058d8 (41:58d8), 1058dc (41:58dc), 1058e6 (41:58e6)
+asm_1058e0: ; 1058e0 (41:58e0)
+ ld [hl], a
+ ld de, $14
+ add hl, de
+ dec b
+ jr nz, asm_1058e0
+ ret
+
+; known jump sources: 10584e (41:584e), 105856 (41:5856), 10587a (41:587a), 105882 (41:5882)
+Function1058e9: ; 1058e9 (41:58e9)
+ ld b, $10
+.asm_1058eb
+ ld [hli], a
+ dec b
+ jr nz, .asm_1058eb
+ ret
+; 1058f0 (41:58f0)
+
+INCBIN "baserom.gbc",$1058f0,$105930 - $1058f0
+
; japanese mystery gift gfx
INCBIN "gfx/misc/mystery_gift_jp.2bpp"
@@ -78153,9 +113590,19 @@
ret
; 10602e
-INCBIN "baserom.gbc", $10602e, $106050 - $10602e
+; no known jump sources
+Function10602e: ; 10602e (41:602e)
+ ret
+; 10602f (41:602f)
+INCBIN "baserom.gbc",$10602f,$106049 - $10602f
+ ret
+; 10604a (41:604a)
+
+INCBIN "baserom.gbc",$10604a,$106050 - $10604a
+
+
Function106050: ; 106050
ret
; 106051
@@ -78191,7 +113638,7 @@
jp Function10611d
; 106071
-INCBIN "baserom.gbc", $106071, $106078 - $106071
+INCBIN "baserom.gbc",$106071,$106078 - $106071
Mobile_HallOfFame: ; 0x106078
ret
@@ -78201,9 +113648,15 @@
jp Function10611d
; 10607f
-INCBIN "baserom.gbc", $10607f, $106086 - $10607f
+; no known jump sources
+Function10607f: ; 10607f (41:607f)
+ ret
+; 106080 (41:6080)
+INCBIN "baserom.gbc",$106080,$106086 - $106080
+
+
Function106086: ; 106086
ret
; 106087
@@ -78213,9 +113666,15 @@
jp Function10611d
; 10608d
-INCBIN "baserom.gbc", $10608d, $106094 - $10608d
+; no known jump sources
+Function10608d: ; 10608d (41:608d)
+ ret
+; 10608e (41:608e)
+INCBIN "baserom.gbc",$10608e,$106094 - $10608e
+
+
Function106094: ; 106094
ret
; 106095
@@ -78225,8 +113684,11 @@
jp Function10611d
; 10609b
-INCBIN "baserom.gbc", $10609b, $1060a2 - $10609b
+ ret
+; 10609c (41:609c)
+INCBIN "baserom.gbc",$10609c,$1060a2 - $10609c
+
Function1060a2: ; 1060a2
ret
; 1060a3
@@ -78236,37 +113698,47 @@
jp Function10611d
; 1060a9
-INCBIN "baserom.gbc", $1060a9, $1060af - $1060a9
+; no known jump sources
+Function1060a9: ; 1060a9 (41:60a9)
+ ret
+; 1060aa (41:60aa)
+
+INCBIN "baserom.gbc",$1060aa,$1060af - $1060aa
+
Function1060af: ; 1060af
ret
; 1060b0
-INCBIN "baserom.gbc", $1060b0, $1060b5 - $1060b0
+INCBIN "baserom.gbc",$1060b0,$1060b5 - $1060b0
Function1060b5: ; 1060b5
ret
; 1060b6
-INCBIN "baserom.gbc", $1060b6, $1060bb - $1060b6
+INCBIN "baserom.gbc",$1060b6,$1060bb - $1060b6
Function1060bb: ; 1060bb
ret
; 1060bc
-INCBIN "baserom.gbc", $1060bc, $1060c1 - $1060bc
+INCBIN "baserom.gbc",$1060bc,$1060c1 - $1060bc
Function1060c1: ; 1060c1
ret
; 1060c2
-INCBIN "baserom.gbc", $1060c2, $1060cd - $1060c2
+INCBIN "baserom.gbc",$1060c2,$1060c7 - $1060c2
+ ret
+; 1060c8 (41:60c8)
+INCBIN "baserom.gbc",$1060c8,$1060cd - $1060c8
+
Function1060cd: ; 1060cd
ret
; 1060ce
-INCBIN "baserom.gbc", $1060ce, $1060d3 - $1060ce
+INCBIN "baserom.gbc",$1060ce,$1060d3 - $1060ce
Function1060d3: ; 1060d3
@@ -78273,7 +113745,7 @@
ret
; 1060d4
-INCBIN "baserom.gbc", $1060d4, $1060df - $1060d4
+INCBIN "baserom.gbc",$1060d4,$1060df - $1060d4
Function1060df: ; 1060df
@@ -78280,7 +113752,7 @@
ret
; 1060e0
-INCBIN "baserom.gbc", $1060e0, $1060fb - $1060e0
+INCBIN "baserom.gbc",$1060e0,$1060fb - $1060e0
Function1060fb: ; 1060fb
@@ -78287,7 +113759,7 @@
ret
; 1060fc
-INCBIN "baserom.gbc", $1060fc, $106101 - $1060fc
+INCBIN "baserom.gbc",$1060fc,$106101 - $1060fc
Function106101: ; 106101
@@ -78378,7 +113850,7 @@
ret
; 106155
-INCBIN "baserom.gbc", $106155, $106162 - $106155
+INCBIN "baserom.gbc",$106155,$106162 - $106155
Function106162: ; 106162
push de
@@ -78428,9 +113900,36 @@
ret
; 10619d
-INCBIN "baserom.gbc", $10619d, $1061ef - $10619d
+; no known jump sources
+Function10619d: ; 10619d (41:619d)
+ ld a, $1
+ call GetSRAMBank
+ ld a, [$be44]
+ push af
+ ld a, $1
+ call GetSRAMBank
+ pop af
+ ld [$be3c], a
+ call CloseSRAM
+ ret
+; 1061b3 (41:61b3)
+INCBIN "baserom.gbc",$1061b3,$1061c0 - $1061b3
+
+; no known jump sources
+Function1061c0: ; 1061c0 (41:61c0)
+ ld a, $1
+ call GetSRAMBank
+ xor a
+ ld [$be3c], a
+ call CloseSRAM
+ ret
+; 1061cd (41:61cd)
+
+INCBIN "baserom.gbc",$1061cd,$1061ef - $1061cd
+
+
Function1061ef: ; 1061ef
push bc
xor a
@@ -78546,7 +114045,7 @@
ret
; 106292
-INCBIN "baserom.gbc", $106292, $1062b2 - $106292
+INCBIN "baserom.gbc",$106292,$1062b2 - $106292
Function1062b2: ; 1062b2
@@ -78629,7 +114128,7 @@
ret
; 106314
-INCBIN "baserom.gbc", $106314, $10632f - $106314
+INCBIN "baserom.gbc",$106314,$10632f - $106314
Function10632f: ; 10632f
or a
@@ -78636,13 +114135,13 @@
ret
; 106331
-INCBIN "baserom.gbc", $106331, $106462 - $106331
+INCBIN "baserom.gbc",$106331,$106462 - $106331
Function106462: ; 106462
ret
; 106463
-INCBIN "baserom.gbc", $106463, $106464 - $106463
+INCBIN "baserom.gbc",$106463,$106464 - $106463
Function106464: ; 106464
ld de, $5214
@@ -78666,7 +114165,7 @@
ret
; 10649b
-INCBIN "baserom.gbc", $10649b, $106594 - $10649b
+INCBIN "baserom.gbc",$10649b,$106594 - $10649b
Function106594: ; 106594
@@ -78681,12 +114180,12 @@
ret
; 1065ad
-INCBIN "baserom.gbc", $1065ad, $106dbc - $1065ad
+INCBIN "baserom.gbc",$1065ad,$106dbc - $1065ad
SECTION "bank42",ROMX,BANK[$42]
-INCBIN "baserom.gbc", $108000, $108016 - $108000
+INCBIN "baserom.gbc",$108000,$108016 - $108000
Function108016: ; 108016
ld a, $0
@@ -78695,7 +114194,7 @@
jp Function108089
; 108021
-INCBIN "baserom.gbc", $108021, $108089 - $108021
+INCBIN "baserom.gbc",$108021,$108089 - $108021
Function108089: ; 108089
ld hl, BattleEnded
@@ -78727,7 +114226,7 @@
ret
; 1080b7
-INCBIN "baserom.gbc", $1080b7, $108157 - $1080b7
+INCBIN "baserom.gbc",$1080b7,$108157 - $1080b7
Function108157: ; 108157
xor a
@@ -78798,7 +114297,7 @@
ret
; 1081e9
-INCBIN "baserom.gbc", $1081e9, $108239 - $1081e9
+INCBIN "baserom.gbc",$1081e9,$108239 - $1081e9
Function108239: ; 108239
push de
@@ -78849,7 +114348,7 @@
jp [hl]
; 10828a
-INCBIN "baserom.gbc", $10828a, $108af4 - $10828a
+INCBIN "baserom.gbc",$10828a,$108af4 - $10828a
Function108af4: ; 108af4
ld a, [rSVBK]
@@ -78890,7 +114389,7 @@
ret
; 108b45
-INCBIN "baserom.gbc", $108b45, $108b98 - $108b45
+INCBIN "baserom.gbc",$108b45,$108b98 - $108b45
Function108b98: ; 108b98
ld d, a
@@ -78917,13 +114416,46 @@
ret
; 108bbd
-INCBIN "baserom.gbc", $108bbd, $109407 - $108bbd
+INCBIN "baserom.gbc",$108bbd,$108bc7 - $108bbd
+; no known jump sources
+Function108bc7: ; 108bc7 (42:4bc7)
+ ld a, [$cf64]
+ and a
+ ret z
+ ld hl, $5
+ add hl, bc
+ ld a, [hl]
+ cp $f2
+ jr z, .asm_108bd9
+ sub $8
+ ld [hl], a
+ ret
+.asm_108bd9
+ ld a, BANK(Function8d036)
+ ld hl, Function8d036
+ rst $8 ; ; indirect jump to Function8d036 (8d036 (23:5036))
+ ret
+
+; no known jump sources
+Function108be0: ; 108be0 (42:4be0)
+ ld hl, $5
+ add hl, bc
+ ld a, [hl]
+ cp $4a
+ ret z
+ add $8
+ ld [hl], a
+ ret
+; 108bec (42:4bec)
+
+INCBIN "baserom.gbc",$108bec,$109407 - $108bec
+
IntroLogoGFX: ; 109407
INCBIN "gfx/intro/logo.lz"
; 10983f
-INCBIN "baserom.gbc", $10983f, $109847 - $10983f
+INCBIN "baserom.gbc",$10983f,$109847 - $10983f
Function109847: ; 109847
@@ -79062,8 +114594,89 @@
jp [hl]
; 109937
-INCBIN "baserom.gbc", $109937, $1099aa - $109937
+; no known jump sources
+Jumptable_109937: ; 109937 (42:5937)
+ dw ParseCredits
+ dw Function109951
+ dw Function109951
+ dw Function10995e
+ dw Function109964
+ dw Function10997b
+ dw Function109986
+ dw Function109951
+ dw Function109951
+ dw Function109951
+ dw Function109964
+ dw Function10997b
+ dw Function109956
+
+
+; known jump sources: 109961 (42:5961), 109983 (42:5983), 1099a0 (42:59a0), 109a62 (42:5a62)
+Function109951: ; 109951 (42:5951)
+ ld hl, $cf63
+ inc [hl]
+ ret
+
+; no known jump sources
+Function109956: ; 109956 (42:5956)
+ ld hl, $cf63
+ ld a, [hl]
+ and $f0
+ ld [hl], a
+ ret
+
+; no known jump sources
+Function10995e: ; 10995e (42:595e)
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ jp Function109951
+
+; no known jump sources
+Function109964: ; 109964 (42:5964)
+ call Function109bca
+ ld a, l
+ ld [$cf68], a
+ ld a, h
+ ld [$cf69], a
+ ld a, $0
+ ld [$cf6a], a
+ ld a, $90
+ ld [$cf6b], a
+ jr Function10997b
+
+; known jump sources: 109979 (42:5979)
+Function10997b: ; 10997b (42:597b)
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ ld a, $8
+ ld [$cf67], a
+ jp Function109951
+
+; known jump sources: 10998a (42:598a)
+Function109986: ; 109986 (42:5986)
+ ld a, [rLY] ; $ff00+$44
+ cp $30
+ jr c, Function109986
+ ld a, [$cf66]
+ dec a
+ dec a
+ ld [$cf66], a
+ ld hl, $d11f
+ call Function1099a3
+ ld hl, $d187
+ call Function1099a3
+ jp Function109951
+
+; known jump sources: 109997 (42:5997), 10999d (42:599d)
+Function1099a3: ; 1099a3 (42:59a3)
+ ld c, $8
+.asm_1099a5
+ ld [hli], a
+ dec c
+ jr nz, .asm_1099a5
+ ret
+
; Credits
INCLUDE "engine/credits.asm"
@@ -79070,7 +114683,7 @@
SECTION "bank43",ROMX,BANK[$43]
-INCBIN "baserom.gbc", $10c000, $10ed67 - $10c000
+INCBIN "baserom.gbc",$10c000,$10ed67 - $10c000
INCLUDE "engine/title.asm"
@@ -79082,7 +114695,7 @@
SECTION "bank45",ROMX,BANK[$45]
-INCBIN "baserom.gbc", $114000, $114243 - $114000
+INCBIN "baserom.gbc",$114000,$114243 - $114000
Function114243: ; 114243
ld a, $a
@@ -79103,7 +114716,7 @@
jp [hl]
; 11425c
-INCBIN "baserom.gbc", $11425c, $115d99 - $11425c
+INCBIN "baserom.gbc",$11425c,$115d99 - $11425c
Function115d99: ; 115d99
ld de, $601a
@@ -79124,7 +114737,7 @@
ret
; 115dc3
-INCBIN "baserom.gbc", $115dc3, $115dd3 - $115dc3
+INCBIN "baserom.gbc",$115dc3,$115dd3 - $115dc3
Function115dd3: ; 115dd3
ld a, [$c305]
@@ -79222,7 +114835,7 @@
ret
; 115e59
-INCBIN "baserom.gbc", $115e59, $11615a - $115e59
+INCBIN "baserom.gbc",$115e59,$11615a - $115e59
Function11615a: ; 11615a
xor a
@@ -79282,7 +114895,7 @@
jp [hl]
; 1161c7
-INCBIN "baserom.gbc", $1161c7, $117656 - $1161c7
+INCBIN "baserom.gbc",$1161c7,$117656 - $1161c7
Function117656: ; 117656
callba GiveOddEgg
@@ -79289,9 +114902,499 @@
ret
; 11765d
-INCBIN "baserom.gbc", $11765d, $117a7f - $11765d
+; no known jump sources
+Function11765d: ; 11765d (45:765d)
+ ld a, [$FF00+$aa]
+ push af
+ ld a, $1
+ ld [$FF00+$aa], a
+ call Function11766b
+ pop af
+ ld [$FF00+$aa], a
+ ret
+; known jump sources: 117664 (45:7664)
+Function11766b: ; 11766b (45:766b)
+ call Function117699
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $5
+ ld [rSVBK], a ; $ff00+$70
+ call Function1176ee
+ ld a, $5
+ call GetSRAMBank
+ ld hl, $b1f3
+ ld de, $cd49
+ ld bc, $8
+ call CopyBytes
+ ld de, $c708
+ ld bc, $11
+ call CopyBytes
+ call CloseSRAM
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ ret
+
+; known jump sources: 11766b (45:766b)
+Function117699: ; 117699 (45:7699)
+ ld a, $5
+ call GetSRAMBank
+ ld hl, $cd49
+ ld de, $b1f3
+ ld bc, $8
+ call CopyBytes
+ ld hl, $c708
+ ld bc, $11
+ call CopyBytes
+ call CloseSRAM
+ xor a
+ ld [$cd49], a
+ ld [$cd4a], a
+ ld [$cd4b], a
+ ld [$cd4c], a
+ ld [$cd4d], a
+ ld [$cd4e], a
+ ld [$cd4f], a
+ ld hl, $c708
+ ld bc, $11
+ call ByteFill
+ call WhiteBGMap
+ call ClearSprites
+ ld a, BANK(Function171c87)
+ ld hl, Function171c87
+ rst $8 ; ; indirect jump to Function171c87 (171c87 (5c:5c87))
+ ld a, BANK(Function104061)
+ ld hl, Function104061
+ rst $8 ; ; indirect jump to Function104061 (104061 (41:4061))
+ ld a, BANK(Function8cf53)
+ ld hl, Function8cf53
+ rst $8 ; ; indirect jump to Function8cf53 (8cf53 (23:4f53))
+ ret
+
+; known jump sources: 117675 (45:7675), 117707 (45:7707)
+Function1176ee: ; 1176ee (45:76ee)
+ call Functiona57
+ ld a, [$cd49]
+ bit 7, a
+ jr nz, .asm_117709
+ call Function117719
+ ld a, BANK(Function8cf69)
+ ld hl, Function8cf69
+ rst $8 ; ; indirect jump to Function8cf69 (8cf69 (23:4f69))
+ ld a, BANK(Function104061)
+ ld hl, Function104061
+ rst $8 ; ; indirect jump to Function104061 (104061 (41:4061))
+ jr Function1176ee
+.asm_117709
+ ld a, BANK(Function8cf53)
+ ld hl, Function8cf53
+ rst $8 ; ; indirect jump to Function8cf53 (8cf53 (23:4f53))
+ call WhiteBGMap
+ call Functionfdb
+ call ClearSprites
+ ret
+
+; known jump sources: 1176f8 (45:76f8)
+Function117719: ; 117719 (45:7719)
+ ld a, [$cd49]
+ ld e, a
+ ld d, $0
+ ld hl, $7728
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
+
+; no known jump sources
+Jumptable_117728: ; 117728 (45:7728)
+ dw Function117738
+ dw Function117764
+ dw Function1178aa
+ dw Function1178e8
+ dw Function117942
+ dw Function117976
+ dw Function117984
+ dw Function1179a7
+
+
+; no known jump sources
+Function117738: ; 117738 (45:7738)
+ ld a, BANK(Function171ccd)
+ ld hl, Function171ccd
+ rst $8 ; ; indirect jump to Function171ccd (171ccd (5c:5ccd))
+ ld de, $3018
+ ld a, $1d
+ call Function3b2a
+ ld hl, $c
+ add hl, bc
+ ld a, $6
+ ld [hl], a
+ ld de, $4820
+ ld a, $1d
+ call Function3b2a
+ ld hl, $c
+ add hl, bc
+ ld a, $7
+ ld [hl], a
+ ld a, $3
+ ld [$cd23], a
+ jp Function117a0a
+
+; no known jump sources
+Function117764: ; 117764 (45:7764)
+ ld a, [$cd4a]
+ cp $10
+ jr nz, .asm_11776f
+ ld a, $1
+ jr .asm_117770
+.asm_11776f
+ xor a
+.asm_117770
+ ld [$cd24], a
+ ld hl, hJoyPressed ; $ffa7
+ ld a, [hl]
+ and $4
+ jr nz, Function1177a5
+ ld a, [hl]
+ and $8
+ jr nz, Function1177ac
+ ld a, [hl]
+ and $1
+ jp nz, Function11784c
+ ld a, [hl]
+ and $2
+ jr nz, asm_1177d6
+ ld hl, $ffa9
+ ld a, [hl]
+ and $40
+ jr nz, asm_1177f1
+ ld a, [hl]
+ and $80
+ jr nz, asm_11780a
+ ld a, [hl]
+ and $20
+ jp nz, Function11782d
+ ld a, [hl]
+ and $10
+ jp nz, Function117837
+ ret
+
+; known jump sources: 117779 (45:7779), 117863 (45:7863)
+Function1177a5: ; 1177a5 (45:77a5)
+ ld a, BANK(Function171cf0)
+ ld hl, Function171cf0
+ rst $8 ; ; indirect jump to Function171cf0 (171cf0 (5c:5cf0))
+ ret
+
+; known jump sources: 11777e (45:777e), 11786c (45:786c), 1178a7 (45:78a7)
+Function1177ac: ; 1177ac (45:77ac)
+ ld a, $2
+ ld [$cd4c], a
+ ld a, $4
+ ld [$cd4d], a
+ ret
+
+; known jump sources: 11785b (45:785b)
+Function1177b7: ; 1177b7 (45:77b7)
+ ld a, $3
+ ld [$cd24], a
+ ld a, [$cd4a]
+ and a
+ jr z, .asm_1177c5
+ jp Function117a0a
+.asm_1177c5
+ ld a, $6
+ ld [$cd49], a
+ ret
+
+; known jump sources: 117860 (45:7860)
+Function1177cb: ; 1177cb (45:77cb)
+ ld a, $80
+ ld [$cd49], a
+ ld [ScriptVar], a ; $c2dd
+ jp Function117a0a
+asm_1177d6: ; 1177d6 (45:77d6)
+ call PlayClickSFX
+ ld a, [$cd4a]
+ and a
+ ret z
+ dec a
+ ld [$cd4a], a
+ ld e, a
+ ld d, $0
+ ld hl, $c708
+ add hl, de
+ xor a
+ ld [hl], a
+ ld hl, $c4f2
+ add hl, de
+ ld [hl], a
+ ret
+asm_1177f1: ; 1177f1 (45:77f1)
+ ld a, [$cd4d]
+ and a
+ ret z
+ dec a
+ ld [$cd4d], a
+ cp $3
+ ret nz
+ ld a, [$cd4c]
+ ld e, a
+ sla a
+ sla a
+ add e
+asm_117806: ; 117806 (45:7806)
+ ld [$cd4c], a
+ ret
+asm_11780a: ; 11780a (45:780a)
+ ld a, [$cd4d]
+ cp $4
+ ret z
+ inc a
+ ld [$cd4d], a
+ cp $4
+ ret nz
+ ld a, [$cd4c]
+ cp $a
+ jr nc, .asm_117825
+ cp $5
+ jr nc, .asm_117829
+ xor a
+ jr asm_117806
+.asm_117825
+ ld a, $2
+ jr asm_117806
+.asm_117829
+ ld a, $1
+ jr asm_117806
+
+; known jump sources: 11779b (45:779b)
+Function11782d: ; 11782d (45:782d)
+ ld a, [$cd4c]
+ and a
+ ret z
+ dec a
+ ld [$cd4c], a
+ ret
+
+; known jump sources: 1177a1 (45:77a1)
+Function117837: ; 117837 (45:7837)
+ ld e, $d
+ ld a, [$cd4d]
+ cp $4
+ jr nz, .asm_117842
+ ld e, $2
+.asm_117842
+ ld a, [$cd4c]
+ cp e
+ ret z
+ inc a
+ ld [$cd4c], a
+ ret
+
+; known jump sources: 117783 (45:7783)
+Function11784c: ; 11784c (45:784c)
+ call PlayClickSFX
+ ld a, [$cd4d]
+ cp $4
+ jr nz, .asm_117866
+ ld a, [$cd4c]
+ cp $2
+ jp z, Function1177b7
+ cp $1
+ jp z, Function1177cb
+ jp Function1177a5
+.asm_117866
+ ld a, [$cd4a]
+ ld e, a
+ cp $10
+ jp z, Function1177ac
+ inc a
+ ld [$cd4a], a
+ ld d, $0
+ ld a, [$cd4b]
+ and a
+ jr nz, .asm_117880
+ ld hl, $7a0f
+ jr .asm_117883
+.asm_117880
+ ld hl, $7a47
+.asm_117883
+ push de
+ ld a, [$cd4c]
+ ld b, a
+ ld a, [$cd4d]
+ ld c, $e
+ call SimpleMultiply
+ add b
+ ld c, a
+ ld b, $0
+ add hl, bc
+ ld a, [hl]
+ ld hl, $c708
+ add hl, de
+ ld [hl], a
+ pop de
+ ld hl, $c4f2
+ add hl, de
+ sub $20
+ ld [hl], a
+ ld a, e
+ cp $f
+ ret nz
+ jp Function1177ac
+
+; no known jump sources
+Function1178aa: ; 1178aa (45:78aa)
+ ld hl, $79b5
+ call LoadMenuDataHeader
+ call Function1cbb
+ call Function1cfd
+ ld hl, $79bd
+ call LoadMenuDataHeader
+ call Function1cbb
+ call Function1cfd
+ ld a, BANK(Function104061)
+ ld hl, Function104061
+ rst $8 ; ; indirect jump to Function104061 (104061 (41:4061))
+ ld hl, $c550
+ ld de, $79c5
+ call PlaceString
+ ld hl, $c577
+ ld a, $ed
+ ld [hl], a
+ ld hl, $c5b9
+ ld de, $79cc
+ call PlaceString
+ ld a, $1
+ ld [$cd4e], a
+ jp Function117a0a
+
+; no known jump sources
+Function1178e8: ; 1178e8 (45:78e8)
+ ld a, [hJoyPressed] ; $ff00+$a7
+ cp $2
+ jr z, .asm_117939
+ cp $1
+ jr z, .asm_117925
+ cp $80
+ jr z, .asm_11790f
+ cp $40
+ ret nz
+ ld a, [$cd4e]
+ and a
+ ret z
+ dec a
+ ld [$cd4e], a
+ ld hl, $c54f
+ ld a, $ed
+ ld [hl], a
+ ld hl, $c577
+ ld a, $7f
+ ld [hl], a
+ ret
+.asm_11790f
+ ld a, [$cd4e]
+ and a
+ ret nz
+ inc a
+ ld [$cd4e], a
+ ld hl, $c54f
+ ld a, $7f
+ ld [hl], a
+ ld hl, $c577
+ ld a, $ed
+ ld [hl], a
+ ret
+.asm_117925
+ call PlayClickSFX
+ ld a, [$cd4e]
+ and a
+ jr nz, .asm_117939
+ call Function1c07
+ ld a, $1
+ ld [$cd4f], a
+ jp Function117a0a
+.asm_117939
+ call Function1c07
+ call Function1c07
+ jp Function117a0a
+
+; no known jump sources
+Function117942: ; 117942 (45:7942)
+ call SpeechTextBox
+ ld hl, $c5b9
+ ld de, $79f7
+ call PlaceString
+ ld a, $1e
+ ld [$cd4e], a
+ ld a, $5
+ call GetSRAMBank
+ ld a, [$cd4f]
+ ld [$aa4b], a
+ ld hl, $c708
+ ld de, $aa4c
+ ld bc, $11
+ call CopyBytes
+ call CloseSRAM
+ ld a, [$cd4f]
+ and a
+ jr z, asm_11797e
+ call Function117a0a
+
+; no known jump sources
+Function117976: ; 117976 (45:7976)
+ ld hl, $cd4e
+ dec [hl]
+ ret nz
+ call Function1c07
+asm_11797e: ; 11797e (45:797e)
+ ld a, $80
+ ld [$cd49], a
+ ret
+
+; no known jump sources
+Function117984: ; 117984 (45:7984)
+ ld hl, $79b5
+ call LoadMenuDataHeader
+ call Function1cbb
+ call Function1cfd
+ ld a, BANK(Function104061)
+ ld hl, Function104061
+ rst $8 ; ; indirect jump to Function104061 (104061 (41:4061))
+ ld hl, $c5b9
+ ld de, $79e1
+ call PlaceString
+ ld a, $1e
+ ld [$cd4e], a
+ call Function117a0a
+
+; no known jump sources
+Function1179a7: ; 1179a7 (45:79a7)
+ ld hl, $cd4e
+ dec [hl]
+ ret nz
+ call Function1c07
+ ld a, $1
+ ld [$cd49], a
+ ret
+; 1179b5 (45:79b5)
+
+INCBIN "baserom.gbc",$1179b5,$117a0a - $1179b5
+
+; known jump sources: 117761 (45:7761), 1177c2 (45:77c2), 1177d3 (45:77d3), 1178e5 (45:78e5), 117936 (45:7936), 11793f (45:793f), 117973 (45:7973), 1179a4 (45:79a4)
+Function117a0a: ; 117a0a (45:7a0a)
+ ld hl, $cd49
+ inc [hl]
+ ret
+; 117a0f (45:7a0f)
+
+INCBIN "baserom.gbc",$117a0f,$117a7f - $117a0f
+
+
; everything from here to the end of the bank is related to the
; Mobile Stadium option from the continue/newgame menu.
; XXX better function names
@@ -79727,7 +115830,7 @@
ret
; 1180b8
-INCBIN "baserom.gbc", $1180b8, $11811a - $1180b8
+INCBIN "baserom.gbc",$1180b8,$11811a - $1180b8
Function11811a: ; 11811a
ld a, 1
@@ -79861,7 +115964,7 @@
ret
; 118233
-INCBIN "baserom.gbc", $118233, $1183cb - $118233
+INCBIN "baserom.gbc",$118233,$1183cb - $118233
Function1183cb: ; 1183cb
di
@@ -79908,7 +116011,7 @@
ret
; 118440
-INCBIN "baserom.gbc", $118440, $118452 - $118440
+INCBIN "baserom.gbc",$118440,$118452 - $118440
Function118452: ; 118452
di
@@ -79973,7 +116076,7 @@
jp [hl]
; 1184b4
-INCBIN "baserom.gbc", $1184b4, $11854d - $1184b4
+INCBIN "baserom.gbc",$1184b4,$11854d - $1184b4
Function11854d: ; 11854d
ld a, [$cf66]
@@ -79988,7 +116091,7 @@
jp [hl]
; 11855c
-INCBIN "baserom.gbc", $11855c, $11857c - $11855c
+INCBIN "baserom.gbc",$11855c,$11857c - $11855c
Function11857c: ; 11857c
ld a, [$cf66]
@@ -80003,7 +116106,7 @@
jp [hl]
; 11858b
-INCBIN "baserom.gbc", $11858b, $1185c3 - $11858b
+INCBIN "baserom.gbc",$11858b,$1185c3 - $11858b
Function1185c3: ; 1185c3
ld a, [$cf66]
@@ -80018,7 +116121,7 @@
jp [hl]
; 1185d2
-INCBIN "baserom.gbc", $1185d2, $118ba5 - $1185d2
+INCBIN "baserom.gbc",$1185d2,$118ba5 - $1185d2
ExchangeDownloadURL: ; 0x118ba5
ascii "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/exchange/index.txt"
@@ -80045,8 +116148,110 @@
db $0
-INCBIN "baserom.gbc", $118d35, $11a8fa - $118d35
+INCBIN "baserom.gbc",$118d35,$119d93 - $118d35
+; no known jump sources
+Function119d93: ; 119d93 (46:5d93)
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $1
+ ld [rSVBK], a ; $ff00+$70
+ ld a, [$cd4f]
+ ld c, $a
+ call SimpleMultiply
+ ld hl, $cd50
+ ld [hl], a
+ ld bc, $30
+ ld de, PartyMon1Level ; $dcfe
+ ld a, [PartyCount] ; $dcd7
+.asm_119daf
+ push af
+ ld a, [de]
+ push hl
+ push de
+ pop hl
+ add hl, bc
+ push hl
+ pop de
+ pop hl
+ cp [hl]
+ jr z, .asm_119dbd
+ jr nc, .asm_119dc6
+.asm_119dbd
+ pop af
+ dec a
+ jr nz, .asm_119daf
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ and a
+ ret
+.asm_119dc6
+ pop af
+ ld a, $4
+ ld [$cf66], a
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ scf
+ ret
+
+; no known jump sources
+Function119dd1: ; 119dd1 (46:5dd1)
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, [$cd4f]
+ cp $7
+ jr nc, .asm_119e08
+ ld a, $1
+ ld [rSVBK], a ; $ff00+$70
+ ld hl, PartyMon1Level ; $dcfe
+ ld bc, $30
+ ld de, PartySpecies ; $dcd8
+ ld a, [PartyCount] ; $dcd7
+.asm_119deb
+ push af
+ ld a, [de]
+ cp $96
+ jr z, .asm_119dfd
+ cp $97
+ jr z, .asm_119dfd
+ cp $f9
+ jr c, .asm_119e02
+ cp $fc
+ jr nc, .asm_119e02
+.asm_119dfd
+ ld a, [hl]
+ cp $46
+ jr c, .asm_119e0d
+.asm_119e02
+ add hl, bc
+ inc de
+ pop af
+ dec a
+ jr nz, .asm_119deb
+.asm_119e08
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ and a
+ ret
+.asm_119e0d
+ pop af
+ ld a, [de]
+ ld [$d265], a
+ call GetPokemonName
+ ld hl, StringBuffer1 ; $d073
+ ld de, $cd49
+ ld bc, $b
+ call CopyBytes
+ ld a, $a
+ ld [$cf66], a
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ scf
+ ret
+; 119e2b (46:5e2b)
+
+INCBIN "baserom.gbc",$119e2b,$11a8fa - $119e2b
+
Function11a8fa: ; 11a8fa
ld a, [$c31a]
ld e, a
@@ -80060,7 +116265,7 @@
jp [hl]
; 11a909
-INCBIN "baserom.gbc", $11a909, $11aa13 - $11a909
+INCBIN "baserom.gbc",$11a909,$11aa13 - $11a909
UnknownText_0x11aa13: ; 0x11aa13
db $0, "SAVE FILE will be", $4f
@@ -80314,7 +116519,7 @@
jp [hl]
; 11ad78
-INCBIN "baserom.gbc", $11ad78, $11b239 - $11ad78
+INCBIN "baserom.gbc",$11ad78,$11b239 - $11ad78
Function11b239: ; 11b239
ld e, a
@@ -80327,7 +116532,7 @@
ret
; 11b242
-INCBIN "baserom.gbc", $11b242, $11b314 - $11b242
+INCBIN "baserom.gbc",$11b242,$11b314 - $11b242
Function11b314: ; 11b314
call Function11b31b
@@ -80367,7 +116572,7 @@
ret
; 11b350
-INCBIN "baserom.gbc", $11b350, $11b397 - $11b350
+INCBIN "baserom.gbc",$11b350,$11b397 - $11b350
Function11b397: ; 11b397
ld de, Sprites
@@ -80395,7 +116600,7 @@
jr .asm_11b39a
; 11b3b6
-INCBIN "baserom.gbc", $11b3b6, $11b3d9 - $11b3b6
+INCBIN "baserom.gbc",$11b3b6,$11b3d9 - $11b3b6
Function11b3d9: ; 11b3d9
ld de, $c470
@@ -80510,7 +116715,7 @@
jp [hl]
; 11b479
-INCBIN "baserom.gbc", $11b479, $11b5e8 - $11b479
+INCBIN "baserom.gbc",$11b479,$11b5e8 - $11b479
Function11b5e8: ; 11b5e8
ld a, $0
@@ -80573,7 +116778,7 @@
jp [hl]
; 11b669
-INCBIN "baserom.gbc", $11b669, $11b7e5 - $11b669
+INCBIN "baserom.gbc",$11b669,$11b7e5 - $11b669
Function11b7e5: ; 11b7e5
ld a, [EnemyMovePP]
@@ -80881,7 +117086,7 @@
ret
; 11ba44
-INCBIN "baserom.gbc", $11ba44, $11bc9e - $11ba44
+INCBIN "baserom.gbc",$11ba44,$11bc9e - $11ba44
SECTION "bank47",ROMX,BANK[$47]
@@ -80989,7 +117194,7 @@
ret
; 11c082
-INCBIN "baserom.gbc", $11c082, $11c08f - $11c082
+INCBIN "baserom.gbc",$11c082,$11c08f - $11c082
Function11c08f: ; 11c08f
ld l, e
@@ -81293,8 +117498,15 @@
ret
; 11c277
-INCBIN "baserom.gbc", $11c277, $11c283 - $11c277
+; known jump sources: 11c3c2 (47:43c2), 11c52c (47:452c), 11c658 (47:4658), 11cd20 (47:4d20), 11ce0b (47:4e0b)
+Function11c277: ; 11c277 (47:4277)
+ ld a, $7f
+ ld hl, $c518
+ ld bc, $f0
+ call ByteFill
+ ret
+
Function11c283: ; 11c283
.asm_11c283
call Functiona57
@@ -81327,8 +117539,2068 @@
jp [hl]
; 11c2bb
-INCBIN "baserom.gbc", $11c2bb, $11d323 - $11c2bb
+; no known jump sources
+Jumptable_11c2bb: ; 11c2bb (47:42bb)
+ dw Function11c2e9
+ dw Function11c346
+ dw Function11c35f
+ dw Function11c373
+ dw Function11c3c2
+ dw Function11c3ed
+ dw Function11c52c
+ dw Function11c53d
+ dw Function11c658
+ dw Function11c675
+ dw Function11c9bd
+ dw Function11c9c3
+ dw Function11caad
+ dw Function11cab3
+ dw Function11cb52
+ dw Function11cb66
+ dw Function11cbf5
+ dw Function11ccef
+ dw Function11cd04
+ dw Function11cd20
+ dw Function11cd54
+ dw Function11ce0b
+ dw Function11ce2b
+
+
+; no known jump sources
+Function11c2e9: ; 11c2e9 (47:42e9)
+ ld de, $1a0d
+ ld a, $1d
+ call Function3b2a
+ ld de, $420d
+ ld a, $1d
+ call Function3b2a
+ ld hl, $c
+ add hl, bc
+ ld a, $1
+ ld [hl], a
+ ld de, $4a10
+ ld a, $1d
+ call Function3b2a
+ ld hl, $c
+ add hl, bc
+ ld a, $3
+ ld [hl], a
+ ld de, $5080
+ ld a, $1d
+ call Function3b2a
+ ld hl, $c
+ add hl, bc
+ ld a, $4
+ ld [hl], a
+ ld de, $5020
+ ld a, $1d
+ call Function3b2a
+ ld hl, $c
+ add hl, bc
+ ld a, $5
+ ld [hl], a
+ ld de, $5010
+ ld a, $1d
+ call Function3b2a
+ ld hl, $c
+ add hl, bc
+ ld a, $2
+ ld [hl], a
+ ld hl, $cd23
+ set 1, [hl]
+ set 2, [hl]
+ jp Function11cfb5
+
+; no known jump sources
+Function11c346: ; 11c346 (47:4346)
+ ld a, $9
+ ld [$cd2d], a
+ ld a, $2
+ ld [$cd2e], a
+ ld [$cd2f], a
+ ld [$cd30], a
+ ld de, $cd2d
+ call Function11cfce
+ jp Function11cfb5
+
+; no known jump sources
+Function11c35f: ; 11c35f (47:435f)
+ ld hl, $cd2f
+ inc [hl]
+ inc [hl]
+ dec hl
+ dec hl
+ dec [hl]
+ push af
+ ld de, $cd2d
+ call Function11cfce
+ pop af
+ ret nz
+ jp Function11cfb5
+
+; no known jump sources
+Function11c373: ; 11c373 (47:4373)
+ ld hl, $cd30
+ inc [hl]
+ inc [hl]
+ dec hl
+ dec hl
+ dec [hl]
+ push af
+ ld de, $cd2d
+ call Function11cfce
+ pop af
+ ret nz
+ call Function11c38a
+ jp Function11cfb5
+
+; known jump sources: 11c384 (47:4384), 11cbdd (47:4bdd)
+Function11c38a: ; 11c38a (47:438a)
+ ld hl, $4986
+ ld bc, $cd36
+ ld a, $6
+.asm_11c392
+ push af
+ ld a, [hli]
+ ld e, a
+ ld a, [hli]
+ ld d, a
+ push hl
+ push de
+ pop hl
+ ld a, [bc]
+ inc bc
+ ld e, a
+ ld a, [bc]
+ inc bc
+ ld d, a
+ push bc
+ or e
+ jr z, .asm_11c3af
+ ld a, e
+ and d
+ cp $ff
+ jr z, .asm_11c3af
+ call Function11c05d
+ jr .asm_11c3b5
+.asm_11c3af
+ ld de, $43bc
+ call PlaceString
+.asm_11c3b5
+ pop bc
+ pop hl
+ pop af
+ dec a
+ jr nz, .asm_11c392
+ ret
+; 11c3bc (47:43bc)
+
+INCBIN "baserom.gbc",$11c3bc,$11c3c2 - $11c3bc
+
+; no known jump sources
+Function11c3c2: ; 11c3c2 (47:43c2)
+ call Function11c277
+ ld de, $4fbe
+ call Function11d035
+ ld hl, $c52d
+ ld de, $44db
+ call PlaceString
+ ld hl, $c5e1
+ ld de, $451b
+ call PlaceString
+ call Function11c4be
+ ld hl, $cd23
+ set 0, [hl]
+ ld hl, $cd24
+ res 0, [hl]
+ call Function11cfb5
+
+; no known jump sources
+Function11c3ed: ; 11c3ed (47:43ed)
+ ld hl, BGMapBuffer ; $cd20 (aliases: CreditsPos)
+ ld de, hJoypadPressed ; $ffa3
+ ld a, [de]
+ and $8
+ jr nz, .asm_11c426
+ ld a, [de]
+ and $2
+ jr nz, .asm_11c41a
+ ld a, [de]
+ and $1
+ jr nz, .asm_11c42c
+ ld de, $ffa9
+ ld a, [de]
+ and $40
+ jr nz, .asm_11c47c
+ ld a, [de]
+ and $80
+ jr nz, .asm_11c484
+ ld a, [de]
+ and $20
+ jr nz, .asm_11c48c
+ ld a, [de]
+ and $10
+ jr nz, .asm_11c498
+ ret
+.asm_11c41a
+ call PlayClickSFX
+.asm_11c41d
+ ld hl, $cd24
+ set 0, [hl]
+ ld a, $c
+ jr .asm_11c475
+.asm_11c426
+ ld a, $8
+ ld [BGMapBuffer], a ; $cd20 (aliases: CreditsPos)
+ ret
+.asm_11c42c
+ ld a, [BGMapBuffer] ; $cd20 (aliases: CreditsPos)
+ cp $6
+ jr c, .asm_11c472
+ sub $6
+ jr z, .asm_11c469
+ dec a
+ jr z, .asm_11c41d
+ ld hl, $cd36
+ ld c, $c
+ xor a
+.asm_11c440
+ or [hl]
+ inc hl
+ dec c
+ jr nz, .asm_11c440
+ and a
+ jr z, .asm_11c460
+ ld de, $4fba
+ call Function11cfce
+ ld de, $c4c9
+ ld bc, $cd36
+ call Function11c08f
+ ld hl, $cd24
+ set 0, [hl]
+ ld a, $e
+ jr .asm_11c475
+.asm_11c460
+ ld hl, $cd24
+ set 0, [hl]
+ ld a, $11
+ jr .asm_11c475
+.asm_11c469
+ ld hl, $cd24
+ set 0, [hl]
+ ld a, $a
+ jr .asm_11c475
+.asm_11c472
+ call Function11c4a5
+.asm_11c475
+ ld [$cf63], a
+ call PlayClickSFX
+ ret
+.asm_11c47c
+ ld a, [hl]
+ cp $3
+ ret c
+ sub $3
+ jr .asm_11c4a3
+.asm_11c484
+ ld a, [hl]
+ cp $6
+ ret nc
+ add $3
+ jr .asm_11c4a3
+.asm_11c48c
+ ld a, [hl]
+ and a
+ ret z
+ cp $3
+ ret z
+ cp $6
+ ret z
+ dec a
+ jr .asm_11c4a3
+.asm_11c498
+ ld a, [hl]
+ cp $2
+ ret z
+ cp $5
+ ret z
+ cp $8
+ ret z
+ inc a
+.asm_11c4a3
+ ld [hl], a
+ ret
+
+; known jump sources: 11c472 (47:4472)
+Function11c4a5: ; 11c4a5 (47:44a5)
+ ld hl, $cd23
+ res 0, [hl]
+ ld a, [$cd2b]
+ and a
+ jr nz, .asm_11c4b7
+ xor a
+ ld [$cd21], a
+ ld a, $6
+ ret
+.asm_11c4b7
+ xor a
+ ld [CreditsTimer], a ; $cd22
+ ld a, $15
+ ret
+
+; known jump sources: 11c3dd (47:43dd)
+Function11c4be: ; 11c4be (47:44be)
+ ld a, $1
+ ld hl, $ce51
+ ld bc, $a0
+ call ByteFill
+ ld a, $7
+ ld hl, $cef1
+ ld bc, $28
+ call ByteFill
+ ld a, BANK(Function104061)
+ ld hl, Function104061
+ rst $8 ; ; indirect jump to Function104061 (104061 (41:4061))
+ ret
+; 11c4db (47:44db)
+
+INCBIN "baserom.gbc",$11c4db,$11c52c - $11c4db
+
+; no known jump sources
+Function11c52c: ; 11c52c (47:452c)
+ call Function11c277
+ call Function11c5f0
+ call Function11c618
+ ld hl, $cd24
+ res 1, [hl]
+ call Function11cfb5
+
+; no known jump sources
+Function11c53d: ; 11c53d (47:453d)
+ ld hl, $cd21
+ ld de, hJoypadPressed ; $ffa3
+ ld a, [de]
+ and $8
+ jr nz, .asm_11c57f
+ ld a, [de]
+ and $4
+ jr nz, .asm_11c58d
+ ld a, [de]
+ and $2
+ jr nz, .asm_11c589
+ ld a, [de]
+ and $1
+ jr nz, .asm_11c56f
+ ld de, $ffa9
+ ld a, [de]
+ and $40
+ jr nz, .asm_11c5b5
+ ld a, [de]
+ and $80
+ jr nz, .asm_11c5bd
+ ld a, [de]
+ and $20
+ jr nz, .asm_11c5c5
+ ld a, [de]
+ and $10
+ jr nz, .asm_11c5da
+ ret
+.asm_11c56f
+ ld a, [$cd21]
+ cp $f
+ jr c, .asm_11c59d
+ sub $f
+ jr z, .asm_11c5ab
+ dec a
+ jr z, .asm_11c599
+ jr .asm_11c589
+.asm_11c57f
+ ld hl, $cd24
+ set 0, [hl]
+ ld a, $8
+ ld [BGMapBuffer], a ; $cd20 (aliases: CreditsPos)
+.asm_11c589
+ ld a, $4
+ jr .asm_11c59f
+.asm_11c58d
+ ld a, [$cd2b]
+ xor $1
+ ld [$cd2b], a
+ ld a, $15
+ jr .asm_11c59f
+.asm_11c599
+ ld a, $13
+ jr .asm_11c59f
+.asm_11c59d
+ ld a, $8
+.asm_11c59f
+ ld hl, $cd24
+ set 1, [hl]
+ ld [$cf63], a
+ call PlayClickSFX
+ ret
+.asm_11c5ab
+ ld a, [BGMapBuffer] ; $cd20 (aliases: CreditsPos)
+ call Function11ca6a
+ call PlayClickSFX
+ ret
+.asm_11c5b5
+ ld a, [hl]
+ cp $3
+ ret c
+ sub $3
+ jr .asm_11c5ee
+.asm_11c5bd
+ ld a, [hl]
+ cp $f
+ ret nc
+ add $3
+ jr .asm_11c5ee
+.asm_11c5c5
+ ld a, [hl]
+ and a
+ ret z
+ cp $3
+ ret z
+ cp $6
+ ret z
+ cp $9
+ ret z
+ cp $c
+ ret z
+ cp $f
+ ret z
+ dec a
+ jr .asm_11c5ee
+.asm_11c5da
+ ld a, [hl]
+ cp $2
+ ret z
+ cp $5
+ ret z
+ cp $8
+ ret z
+ cp $b
+ ret z
+ cp $e
+ ret z
+ cp $11
+ ret z
+ inc a
+.asm_11c5ee
+ ld [hl], a
+ ret
+
+; known jump sources: 11c52f (47:452f)
+Function11c5f0: ; 11c5f0 (47:45f0)
+ ld de, $5a52
+ ld bc, $463a
+ ld a, $f
+.asm_11c5f8
+ push af
+ ld a, [bc]
+ inc bc
+ ld l, a
+ ld a, [bc]
+ inc bc
+ ld h, a
+ push bc
+ call PlaceString
+.asm_11c603
+ inc de
+ ld a, [de]
+ cp $50
+ jr z, .asm_11c603
+ pop bc
+ pop af
+ dec a
+ jr nz, .asm_11c5f8
+ ld hl, $c5f5
+ ld de, $462a
+ call PlaceString
+ ret
+
+; known jump sources: 11c532 (47:4532), 11ce20 (47:4e20)
+Function11c618: ; 11c618 (47:4618)
+ ld a, $2
+ ld hl, $ce51
+ ld bc, $c8
+ call ByteFill
+ ld a, BANK(Function104061)
+ ld hl, Function104061
+ rst $8 ; ; indirect jump to Function104061 (104061 (41:4061))
+ ret
+; 11c62a (47:462a)
+
+INCBIN "baserom.gbc",$11c62a,$11c658 - $11c62a
+
+; no known jump sources
+Function11c658: ; 11c658 (47:4658)
+ call Function11c277
+ call Function11c770
+ ld de, $4fc2
+ call Function11d035
+ call Function11c9ab
+ call Function11c7bc
+ call Function11c86e
+ ld hl, $cd24
+ res 3, [hl]
+ call Function11cfb5
+
+; no known jump sources
+Function11c675: ; 11c675 (47:4675)
+ ld hl, $cd25
+ ld de, hJoypadPressed ; $ffa3
+ ld a, [de]
+ and $1
+ jr nz, .asm_11c6e6
+ ld a, [de]
+ and $2
+ jr nz, .asm_11c6f0
+ ld a, [de]
+ and $8
+ jr nz, .asm_11c69e
+ ld a, [de]
+ and $4
+ jr z, .asm_11c6ce
+ ld a, [$cd26]
+ and a
+ ret z
+ sub $c
+ jr nc, .asm_11c699
+ xor a
+.asm_11c699
+ ld [$cd26], a
+ jr .asm_11c6c4
+.asm_11c69e
+ ld hl, $cd28
+ ld a, [$cd26]
+ add $c
+ cp [hl]
+ ret nc
+ ld [$cd26], a
+ ld a, [hl]
+ ld b, a
+ ld hl, $cd25
+ ld a, [$cd26]
+ add [hl]
+ jr c, .asm_11c6b9
+ cp b
+ jr c, .asm_11c6c4
+.asm_11c6b9
+ ld a, [$cd28]
+ ld hl, $cd26
+ sub [hl]
+ dec a
+ ld [$cd25], a
+.asm_11c6c4
+ call Function11c992
+ call Function11c7bc
+ call Function11c86e
+ ret
+.asm_11c6ce
+ ld de, $ffa9
+ ld a, [de]
+ and $40
+ jr nz, .asm_11c708
+ ld a, [de]
+ and $80
+ jr nz, .asm_11c731
+ ld a, [de]
+ and $20
+ jr nz, .asm_11c746
+ ld a, [de]
+ and $10
+ jr nz, .asm_11c755
+ ret
+.asm_11c6e6
+ call Function11c8f6
+ ld a, $4
+ ld [$cd35], a
+ jr .asm_11c6fc
+.asm_11c6f0
+ ld a, [$cd2b]
+ and a
+ jr nz, .asm_11c6fa
+ ld a, $6
+ jr .asm_11c6fc
+.asm_11c6fa
+ ld a, $15
+.asm_11c6fc
+ ld [$cf63], a
+ ld hl, $cd24
+ set 3, [hl]
+ call PlayClickSFX
+ ret
+.asm_11c708
+ ld a, [hl]
+ cp $3
+ jr c, .asm_11c711
+ sub $3
+ jr .asm_11c76e
+.asm_11c711
+ ld a, [$cd26]
+ sub $3
+ ret c
+ ld [$cd26], a
+ jr .asm_11c6c4
+.asm_11c71c
+ ld hl, $cd28
+ ld a, [$cd26]
+ add $c
+ ret c
+ cp [hl]
+ ret nc
+ ld a, [$cd26]
+ add $3
+ ld [$cd26], a
+ jr .asm_11c6c4
+.asm_11c731
+ ld a, [$cd28]
+ ld b, a
+ ld a, [$cd26]
+ add [hl]
+ add $3
+ cp b
+ ret nc
+ ld a, [hl]
+ cp $9
+ jr nc, .asm_11c71c
+ add $3
+ jr .asm_11c76e
+.asm_11c746
+ ld a, [hl]
+ and a
+ ret z
+ cp $3
+ ret z
+ cp $6
+ ret z
+ cp $9
+ ret z
+ dec a
+ jr .asm_11c76e
+.asm_11c755
+ ld a, [$cd28]
+ ld b, a
+ ld a, [$cd26]
+ add [hl]
+ inc a
+ cp b
+ ret nc
+ ld a, [hl]
+ cp $2
+ ret z
+ cp $5
+ ret z
+ cp $8
+ ret z
+ cp $b
+ ret z
+ inc a
+.asm_11c76e
+ ld [hl], a
+ ret
+
+; known jump sources: 11c65b (47:465b)
+Function11c770: ; 11c770 (47:4770)
+ xor a
+ ld [$cd25], a
+ ld [$cd26], a
+ ld [$cd27], a
+ ld a, [$cd2b]
+ and a
+ jr nz, .asm_11c7ab
+ ld a, [$cd21]
+ and a
+ jr z, .asm_11c799
+ dec a
+ sla a
+ ld hl, $7220
+ ld c, a
+ ld b, $0
+ add hl, bc
+ ld a, [hli]
+ ld [$cd28], a
+ ld a, [hl]
+.asm_11c795
+ ld [$cd29], a
+ ret
+.asm_11c799
+ ld a, [$c7d2]
+ ld [$cd28], a
+.asm_11c79f
+ ld c, $c
+ call SimpleDivide
+ and a
+ jr nz, .asm_11c7a8
+ dec b
+.asm_11c7a8
+ ld a, b
+ jr .asm_11c795
+.asm_11c7ab
+ ld hl, $c6a8
+ ld a, [CreditsTimer] ; $cd22
+ ld c, a
+ ld b, $0
+ add hl, bc
+ add hl, bc
+ ld a, [hl]
+ ld [$cd28], a
+ jr .asm_11c79f
+
+; known jump sources: 11c667 (47:4667), 11c6c7 (47:46c7)
+Function11c7bc: ; 11c7bc (47:47bc)
+ ld bc, $4854
+ ld a, [$cd2b]
+ and a
+ jr nz, .asm_11c814
+ ld a, [$cd21]
+ ld d, a
+ and a
+ jr z, .asm_11c7e9
+ ld a, [$cd26]
+ ld e, a
+.asm_11c7d0
+ ld a, [bc]
+ ld l, a
+ inc bc
+ ld a, [bc]
+ ld h, a
+ inc bc
+ and l
+ cp $ff
+ ret z
+ push bc
+ push de
+ call Function11c05d
+ pop de
+ pop bc
+ inc e
+ ld a, [$cd28]
+ cp e
+ jr nz, .asm_11c7d0
+ ret
+.asm_11c7e9
+ ld hl, CurMartEnd ; $d100 (aliases: LYOverrides)
+ ld a, [$cd26]
+ ld e, a
+ add hl, de
+.asm_11c7f1
+ push de
+ ld a, [hli]
+ ld e, a
+ ld d, $0
+ push hl
+ ld a, [bc]
+ ld l, a
+ inc bc
+ ld a, [bc]
+ ld h, a
+ inc bc
+ and l
+ cp $ff
+ jr z, .asm_11c811
+ push bc
+ call Function11c05d
+ pop bc
+ pop hl
+ pop de
+ inc e
+ ld a, [$cd28]
+ cp e
+ jr nz, .asm_11c7f1
+ ret
+.asm_11c811
+ pop hl
+ pop de
+ ret
+.asm_11c814
+ ld hl, BattleMonSpclDef ; $c648
+ ld a, [CreditsTimer] ; $cd22
+ ld e, a
+ ld d, $0
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld e, a
+ ld a, [hl]
+ ld d, a
+ push de
+ pop hl
+ ld a, [$cd26]
+ ld e, a
+ ld d, $0
+ add hl, de
+ add hl, de
+ ld a, [$cd26]
+ ld e, a
+.asm_11c831
+ push de
+ ld a, [hli]
+ ld e, a
+ ld a, [hli]
+ ld d, a
+ push hl
+ ld a, [bc]
+ ld l, a
+ inc bc
+ ld a, [bc]
+ ld h, a
+ inc bc
+ and l
+ cp $ff
+ jr z, .asm_11c851
+ push bc
+ call Function11c05d
+ pop bc
+ pop hl
+ pop de
+ inc e
+ ld a, [$cd28]
+ cp e
+ jr nz, .asm_11c831
+ ret
+.asm_11c851
+ pop hl
+ pop de
+ ret
+; 11c854 (47:4854)
+
+INCBIN "baserom.gbc",$11c854,$11c86e - $11c854
+
+; known jump sources: 11c66a (47:466a), 11c6ca (47:46ca)
+Function11c86e: ; 11c86e (47:486e)
+ ld a, [$cd26]
+ and a
+ jr z, .asm_11c88a
+ ld hl, $c5f6
+ ld de, $48f0
+ call PlaceString
+ ld hl, $c5fa
+ ld c, $3
+ xor a
+.asm_11c883
+ ld [hli], a
+ inc a
+ dec c
+ jr nz, .asm_11c883
+ jr .asm_11c895
+.asm_11c88a
+ ld hl, $c5f6
+ ld c, $7
+ ld a, $7f
+.asm_11c891
+ ld [hli], a
+ dec c
+ jr nz, .asm_11c891
+.asm_11c895
+ ld hl, $cd28
+ ld a, [$cd26]
+ add $c
+ jr c, .asm_11c8b7
+ cp [hl]
+ jr nc, .asm_11c8b7
+ ld hl, $c604
+ ld de, $48f3
+ call PlaceString
+ ld hl, $c5ff
+ ld a, $3
+ ld c, a
+.asm_11c8b1
+ ld [hli], a
+ inc a
+ dec c
+ jr nz, .asm_11c8b1
+ ret
+.asm_11c8b7
+ ld hl, $c5f1
+ ld a, $7f
+ ld [hl], a
+ ld hl, $c5ff
+ ld c, $7
+.asm_11c8c2
+ ld [hli], a
+ dec c
+ jr nz, .asm_11c8c2
+ ret
+; 11c8c7 (47:48c7)
+
+INCBIN "baserom.gbc",$11c8c7,$11c8f6 - $11c8c7
+
+; known jump sources: 11c6e6 (47:46e6)
+Function11c8f6: ; 11c8f6 (47:48f6)
+ ld a, [BGMapBuffer] ; $cd20 (aliases: CreditsPos)
+ call Function11c95d
+ push hl
+ ld a, [$cd2b]
+ and a
+ jr nz, .asm_11c938
+ ld a, [$cd21]
+ ld d, a
+ and a
+ jr z, .asm_11c927
+ ld hl, $cd26
+ ld a, [$cd25]
+ add [hl]
+.asm_11c911
+ ld e, a
+.asm_11c912
+ pop hl
+ push de
+ call Function11c05d
+ pop de
+ ld a, [BGMapBuffer] ; $cd20 (aliases: CreditsPos)
+ ld c, a
+ ld b, $0
+ ld hl, $cd36
+ add hl, bc
+ add hl, bc
+ ld [hl], e
+ inc hl
+ ld [hl], d
+ ret
+.asm_11c927
+ ld hl, $cd26
+ ld a, [$cd25]
+ add [hl]
+ ld c, a
+ ld b, $0
+ ld hl, CurMartEnd ; $d100 (aliases: LYOverrides)
+ add hl, bc
+ ld a, [hl]
+ jr .asm_11c911
+.asm_11c938
+ ld hl, BattleMonSpclDef ; $c648
+ ld a, [CreditsTimer] ; $cd22
+ ld e, a
+ ld d, $0
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld e, a
+ ld a, [hl]
+ ld d, a
+ push de
+ pop hl
+ ld a, [$cd26]
+ ld e, a
+ ld d, $0
+ add hl, de
+ add hl, de
+ ld a, [$cd25]
+ ld e, a
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld e, a
+ ld a, [hl]
+ ld d, a
+ jr .asm_11c912
+
+; known jump sources: 11c8f9 (47:48f9), 11ca75 (47:4a75)
+Function11c95d: ; 11c95d (47:495d)
+ sla a
+ ld c, a
+ ld b, $0
+ ld hl, $4986
+ add hl, bc
+ ld a, [hli]
+ ld c, a
+ ld a, [hl]
+ ld b, a
+ push bc
+ push bc
+ pop hl
+ ld a, $5
+ ld c, a
+ ld a, $7f
+.asm_11c972
+ ld [hli], a
+ dec c
+ jr nz, .asm_11c972
+ dec hl
+ ld bc, $ffec
+ add hl, bc
+ ld a, $5
+ ld c, a
+ ld a, $7f
+.asm_11c980
+ ld [hld], a
+ dec c
+ jr nz, .asm_11c980
+ pop hl
+ ret
+; 11c986 (47:4986)
+
+INCBIN "baserom.gbc",$11c986,$11c992 - $11c986
+
+; known jump sources: 11c6c4 (47:46c4)
+Function11c992: ; 11c992 (47:4992)
+ ld a, $8
+ ld hl, $c52e
+.asm_11c997
+ push af
+ ld a, $7f
+ push hl
+ ld bc, $11
+ call ByteFill
+ pop hl
+ ld bc, $14
+ add hl, bc
+ pop af
+ dec a
+ jr nz, .asm_11c997
+ ret
+
+; known jump sources: 11c664 (47:4664)
+Function11c9ab: ; 11c9ab (47:49ab)
+ ld a, $7
+ ld hl, $ce51
+ ld bc, $c8
+ call ByteFill
+ ld a, BANK(Function104061)
+ ld hl, Function104061
+ rst $8 ; ; indirect jump to Function104061 (104061 (41:4061))
+ ret
+
+; no known jump sources
+Function11c9bd: ; 11c9bd (47:49bd)
+ ld de, $4a38
+ call Function11ca7f
+
+; no known jump sources
+Function11c9c3: ; 11c9c3 (47:49c3)
+ ld hl, $cd2a
+ ld de, hJoypadPressed ; $ffa3
+ ld a, [de]
+ and $1
+ jr nz, .asm_11c9de
+ ld a, [de]
+ and $2
+ jr nz, .asm_11c9e9
+ ld a, [de]
+ and $40
+ jr nz, .asm_11c9f7
+ ld a, [de]
+ and $80
+ jr nz, .asm_11c9fc
+ ret
+.asm_11c9de
+ ld a, [hl]
+ and a
+ jr nz, .asm_11c9e9
+ call Function11ca5e
+ xor a
+ ld [BGMapBuffer], a ; $cd20 (aliases: CreditsPos)
+.asm_11c9e9
+ ld hl, $cd24
+ set 4, [hl]
+ ld a, $4
+ ld [$cf63], a
+ call PlayClickSFX
+ ret
+.asm_11c9f7
+ ld a, [hl]
+ and a
+ ret z
+ dec [hl]
+ ret
+.asm_11c9fc
+ ld a, [hl]
+ and a
+ ret nz
+ inc [hl]
+ ret
+
+; known jump sources: 11ca9c (47:4a9c)
+Function11ca01: ; 11ca01 (47:4a01)
+ ld hl, $ce73
+ ld de, $14
+ ld a, $5
+ ld c, a
+.asm_11ca0a
+ push hl
+ ld a, $6
+ ld b, a
+ ld a, $7
+.asm_11ca10
+ ld [hli], a
+ dec b
+ jr nz, .asm_11ca10
+ pop hl
+ add hl, de
+ dec c
+ jr nz, .asm_11ca0a
+
+; known jump sources: 11ccfe (47:4cfe)
+Function11ca19: ; 11ca19 (47:4a19)
+ ld hl, $cec9
+ ld de, $14
+ ld a, $6
+ ld c, a
+.asm_11ca22
+ push hl
+ ld a, $14
+ ld b, a
+ ld a, $7
+.asm_11ca28
+ ld [hli], a
+ dec b
+ jr nz, .asm_11ca28
+ pop hl
+ add hl, de
+ dec c
+ jr nz, .asm_11ca22
+ ld a, BANK(Function104061)
+ ld hl, Function104061
+ rst $8 ; ; indirect jump to Function104061 (104061 (41:4061))
+ ret
+; 11ca38 (47:4a38)
+
+INCBIN "baserom.gbc",$11ca38,$11ca5e - $11ca38
+
+; known jump sources: 11c9e2 (47:49e2)
+Function11ca5e: ; 11ca5e (47:4a5e)
+ xor a
+.asm_11ca5f
+ push af
+ call Function11ca6a
+ pop af
+ inc a
+ cp $6
+ jr nz, .asm_11ca5f
+ ret
+
+; known jump sources: 11c5ae (47:45ae), 11ca60 (47:4a60), 11cea7 (47:4ea7)
+Function11ca6a: ; 11ca6a (47:4a6a)
+ ld hl, $cd36
+ ld c, a
+ ld b, $0
+ add hl, bc
+ add hl, bc
+ ld [hl], b
+ inc hl
+ ld [hl], b
+ call Function11c95d
+ ld de, $43bc
+ call PlaceString
+ ret
+
+; known jump sources: 11c9c0 (47:49c0), 11cab0 (47:4ab0), 11cb63 (47:4b63)
+Function11ca7f: ; 11ca7f (47:4a7f)
+ push de
+ ld de, $4fc6
+ call Function11cfce
+ ld de, $4fca
+ call Function11cfce
+ ld hl, $c5b9
+ pop de
+ call PlaceString
+ ld hl, $c550
+ ld de, $4a57
+ call PlaceString
+ call Function11ca01
+ ld a, $1
+ ld [$cd2a], a
+ ld hl, $cd24
+ res 4, [hl]
+ call Function11cfb5
+ ret
+
+; no known jump sources
+Function11caad: ; 11caad (47:4aad)
+ ld de, $4b1c
+ call Function11ca7f
+
+; no known jump sources
+Function11cab3: ; 11cab3 (47:4ab3)
+ ld hl, $cd2a
+ ld de, hJoypadPressed ; $ffa3
+ ld a, [de]
+ and $1
+ jr nz, .asm_11cace
+ ld a, [de]
+ and $2
+ jr nz, .asm_11caf9
+ ld a, [de]
+ and $40
+ jr nz, .asm_11cb12
+ ld a, [de]
+ and $80
+ jr nz, .asm_11cb17
+ ret
+.asm_11cace
+ call PlayClickSFX
+ ld a, [hl]
+ and a
+ jr nz, .asm_11cafc
+ ld a, [$cd35]
+ and a
+ jr z, .asm_11caf3
+ cp $ff
+ jr z, .asm_11caf3
+ ld a, $ff
+ ld [$cd35], a
+ ld hl, $c5b9
+ ld de, $4b31
+ call PlaceString
+ ld a, $1
+ ld [$cd2a], a
+ ret
+.asm_11caf3
+ ld hl, $cf63
+ set 7, [hl]
+ ret
+.asm_11caf9
+ call PlayClickSFX
+.asm_11cafc
+ ld hl, $cd24
+ set 4, [hl]
+ ld a, $4
+ ld [$cf63], a
+ ld a, [$cd35]
+ cp $ff
+ ret nz
+ ld a, $1
+ ld [$cd35], a
+ ret
+.asm_11cb12
+ ld a, [hl]
+ and a
+ ret z
+ dec [hl]
+ ret
+.asm_11cb17
+ ld a, [hl]
+ and a
+ ret nz
+ inc [hl]
+ ret
+; 11cb1c (47:4b1c)
+
+INCBIN "baserom.gbc",$11cb1c,$11cb52 - $11cb1c
+
+; no known jump sources
+Function11cb52: ; 11cb52 (47:4b52)
+ ld hl, $4c01
+ ld a, [$cfa9]
+.asm_11cb58
+ dec a
+ jr z, .asm_11cb5f
+ inc hl
+ inc hl
+ jr .asm_11cb58
+.asm_11cb5f
+ ld a, [hli]
+ ld e, a
+ ld a, [hl]
+ ld d, a
+ call Function11ca7f
+
+; no known jump sources
+Function11cb66: ; 11cb66 (47:4b66)
+ ld hl, $cd2a
+ ld de, hJoypadPressed ; $ffa3
+ ld a, [de]
+ and $1
+ jr nz, .asm_11cb81
+ ld a, [de]
+ and $2
+ jr nz, .asm_11cbd7
+ ld a, [de]
+ and $40
+ jr nz, .asm_11cbeb
+ ld a, [de]
+ and $80
+ jr nz, .asm_11cbf0
+ ret
+.asm_11cb81
+ ld a, [hl]
+ and a
+ jr nz, .asm_11cbd4
+ ld a, $4
+ call GetSRAMBank
+ ld hl, $a007
+ ld a, [$cfa9]
+ dec a
+ sla a
+ sla a
+ ld c, a
+ sla a
+ add c
+ ld c, a
+ ld b, $0
+ add hl, bc
+ ld de, $cd36
+ ld c, $c
+.asm_11cba2
+ ld a, [de]
+ ld [hli], a
+ inc de
+ dec c
+ jr nz, .asm_11cba2
+ call CloseSRAM
+ call PlayClickSFX
+ ld de, $4fc6
+ call Function11cfce
+ ld hl, $4c7e
+ ld a, [$cfa9]
+.asm_11cbba
+ dec a
+ jr z, .asm_11cbc1
+ inc hl
+ inc hl
+ jr .asm_11cbba
+.asm_11cbc1
+ ld a, [hli]
+ ld e, a
+ ld a, [hl]
+ ld d, a
+ ld hl, $c5b9
+ call PlaceString
+ ld hl, $cf63
+ inc [hl]
+ inc hl
+ ld a, $10
+ ld [hl], a
+ ret
+.asm_11cbd4
+ call PlayClickSFX
+.asm_11cbd7
+ ld de, $4fba
+ call Function11cfce
+ call Function11c38a
+ ld hl, $cd24
+ set 4, [hl]
+ ld a, $4
+ ld [$cf63], a
+ ret
+.asm_11cbeb
+ ld a, [hl]
+ and a
+ ret z
+ dec [hl]
+ ret
+.asm_11cbf0
+ ld a, [hl]
+ and a
+ ret nz
+ inc [hl]
+ ret
+
+; no known jump sources
+Function11cbf5: ; 11cbf5 (47:4bf5)
+ call WaitSFX
+ ld hl, $cf64
+ dec [hl]
+ ret nz
+ dec hl
+ set 7, [hl]
+ ret
+; 11cc01 (47:4c01)
+
+INCBIN "baserom.gbc",$11cc01,$11ccef - $11cc01
+
+; no known jump sources
+Function11ccef: ; 11ccef (47:4cef)
+ ld de, $4fc6
+ call Function11cfce
+ ld hl, $c5b9
+ ld de, $4d10
+ call PlaceString
+ call Function11ca19
+ call Function11cfb5
+
+; no known jump sources
+Function11cd04: ; 11cd04 (47:4d04)
+ ld de, hJoypadPressed ; $ffa3
+ ld a, [de]
+ and a
+ ret z
+ ld a, $4
+ ld [$cf63], a
+ ret
+; 11cd10 (47:4d10)
+
+INCBIN "baserom.gbc",$11cd10,$11cd20 - $11cd10
+
+; no known jump sources
+Function11cd20: ; 11cd20 (47:4d20)
+ call Function11c277
+ ld de, $4fc6
+ call Function11cfce
+ ld hl, $c5b9
+ ld a, [$cd2b]
+ ld [$cd2c], a
+ and a
+ jr nz, .asm_11cd3a
+ ld de, $4dc7
+ jr .asm_11cd3d
+.asm_11cd3a
+ ld de, $4dd9
+.asm_11cd3d
+ call PlaceString
+ ld hl, $c544
+ ld de, $4df5
+ call PlaceString
+ call Function11cdaa
+ ld hl, $cd24
+ res 5, [hl]
+ call Function11cfb5
+
+; no known jump sources
+Function11cd54: ; 11cd54 (47:4d54)
+ ld hl, $cd2c
+ ld de, hJoypadPressed ; $ffa3
+ ld a, [de]
+ and $1
+ jr nz, .asm_11cd6f
+ ld a, [de]
+ and $2
+ jr nz, .asm_11cd73
+ ld a, [de]
+ and $40
+ jr nz, .asm_11cd8b
+ ld a, [de]
+ and $80
+ jr nz, .asm_11cd94
+ ret
+.asm_11cd6f
+ ld a, [hl]
+ ld [$cd2b], a
+.asm_11cd73
+ ld a, [$cd2b]
+ and a
+ jr nz, .asm_11cd7d
+ ld a, $6
+ jr .asm_11cd7f
+.asm_11cd7d
+ ld a, $15
+.asm_11cd7f
+ ld [$cf63], a
+ ld hl, $cd24
+ set 5, [hl]
+ call PlayClickSFX
+ ret
+.asm_11cd8b
+ ld a, [hl]
+ and a
+ ret z
+ dec [hl]
+ ld de, $4dc7
+ jr .asm_11cd9b
+.asm_11cd94
+ ld a, [hl]
+ and a
+ ret nz
+ inc [hl]
+ ld de, $4dd9
+.asm_11cd9b
+ push de
+ ld de, $4fc6
+ call Function11cfce
+ pop de
+ ld hl, $c5b9
+ call PlaceString
+ ret
+
+; known jump sources: 11cd49 (47:4d49)
+Function11cdaa: ; 11cdaa (47:4daa)
+ ld a, $2
+ ld hl, $ce51
+ ld bc, $78
+ call ByteFill
+ ld a, $7
+ ld hl, $cec9
+ ld bc, $50
+ call ByteFill
+ ld a, BANK(Function104061)
+ ld hl, Function104061
+ rst $8 ; ; indirect jump to Function104061 (104061 (41:4061))
+ ret
+; 11cdc7 (47:4dc7)
+
+INCBIN "baserom.gbc",$11cdc7,$11ce0b - $11cdc7
+
+; no known jump sources
+Function11ce0b: ; 11ce0b (47:4e0b)
+ call Function11c277
+ ld hl, $c52d
+ ld de, $4f79
+ call PlaceString
+ ld hl, $c5f5
+ ld de, $462a
+ call PlaceString
+ call Function11c618
+ ld hl, $cd24
+ res 2, [hl]
+ call Function11cfb5
+
+; no known jump sources
+Function11ce2b: ; 11ce2b (47:4e2b)
+ ld a, [CreditsTimer] ; $cd22
+ sla a
+ sla a
+ ld c, a
+ ld b, $0
+ ld hl, $4eb9
+ add hl, bc
+ ld de, hJoypadPressed ; $ffa3
+ ld a, [de]
+ and $8
+ jr nz, .asm_11ce78
+ ld a, [de]
+ and $4
+ jr nz, .asm_11ce86
+ ld a, [de]
+ and $1
+ jr nz, .asm_11ce68
+ ld a, [de]
+ and $2
+ jr nz, .asm_11ce82
+ ld de, $ffa9
+ ld a, [de]
+ and $40
+ jr nz, .asm_11ceb1
+ ld a, [de]
+ and $80
+ jr nz, .asm_11ceaf
+ ld a, [de]
+ and $20
+ jr nz, .asm_11ceae
+ ld a, [de]
+ and $10
+ jr nz, .asm_11ceb0
+ ret
+.asm_11ce68
+ ld a, [CreditsTimer] ; $cd22
+ cp $2d
+ jr c, .asm_11ce92
+ sub $2d
+ jr z, .asm_11cea4
+ dec a
+ jr z, .asm_11ce96
+ jr .asm_11ce82
+.asm_11ce78
+ ld hl, $cd24
+ set 0, [hl]
+ ld a, $8
+ ld [BGMapBuffer], a ; $cd20 (aliases: CreditsPos)
+.asm_11ce82
+ ld a, $4
+ jr .asm_11ce98
+.asm_11ce86
+ ld a, [$cd2b]
+ xor $1
+ ld [$cd2b], a
+ ld a, $6
+ jr .asm_11ce98
+.asm_11ce92
+ ld a, $8
+ jr .asm_11ce98
+.asm_11ce96
+ ld a, $13
+.asm_11ce98
+ ld [$cf63], a
+ ld hl, $cd24
+ set 2, [hl]
+ call PlayClickSFX
+ ret
+.asm_11cea4
+ ld a, [BGMapBuffer] ; $cd20 (aliases: CreditsPos)
+ call Function11ca6a
+ call PlayClickSFX
+ ret
+.asm_11ceae
+ inc hl
+.asm_11ceaf
+ inc hl
+.asm_11ceb0
+ inc hl
+.asm_11ceb1
+ ld a, [hl]
+ cp $ff
+ ret z
+ ld [CreditsTimer], a ; $cd22
+ ret
+; 11ceb9 (47:4eb9)
+
+INCBIN "baserom.gbc",$11ceb9,$11cfb5 - $11ceb9
+
+; known jump sources: 11c343 (47:4343), 11c35c (47:435c), 11c370 (47:4370), 11c387 (47:4387), 11c3ea (47:43ea), 11c53a (47:453a), 11c672 (47:4672), 11caa9 (47:4aa9), 11cd01 (47:4d01), 11cd51 (47:4d51), 11ce28 (47:4e28)
+Function11cfb5: ; 11cfb5 (47:4fb5)
+ ld hl, $cf63
+ inc [hl]
+ ret
+; 11cfba (47:4fba)
+
+INCBIN "baserom.gbc",$11cfba,$11cfce - $11cfba
+
+; known jump sources: 11c359 (47:4359), 11c36b (47:436b), 11c37f (47:437f), 11c44b (47:444b), 11ca83 (47:4a83), 11ca89 (47:4a89), 11cbb1 (47:4bb1), 11cbda (47:4bda), 11ccf2 (47:4cf2), 11cd26 (47:4d26), 11cd9f (47:4d9f)
+Function11cfce: ; 11cfce (47:4fce)
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld bc, $14
+ ld a, [de]
+ inc de
+ push af
+ ld a, [de]
+ inc de
+ and a
+.asm_11cfda
+ jr z, .asm_11cfe0
+ add hl, bc
+ dec a
+ jr .asm_11cfda
+.asm_11cfe0
+ pop af
+ ld c, a
+ ld b, $0
+ add hl, bc
+ push hl
+ ld a, $79
+ ld [hli], a
+ ld a, [de]
+ inc de
+ dec a
+ dec a
+ jr z, .asm_11cff6
+ ld c, a
+ ld a, $7a
+.asm_11cff2
+ ld [hli], a
+ dec c
+ jr nz, .asm_11cff2
+.asm_11cff6
+ ld a, $7b
+ ld [hl], a
+ pop hl
+ ld bc, $14
+ add hl, bc
+ ld a, [de]
+ dec de
+ dec a
+ dec a
+ jr z, .asm_11d022
+ ld b, a
+.asm_11d005
+ push hl
+ ld a, $7c
+ ld [hli], a
+ ld a, [de]
+ dec a
+ dec a
+ jr z, .asm_11d015
+ ld c, a
+ ld a, $7f
+.asm_11d011
+ ld [hli], a
+ dec c
+ jr nz, .asm_11d011
+.asm_11d015
+ ld a, $7c
+ ld [hl], a
+ pop hl
+ push bc
+ ld bc, $14
+ add hl, bc
+ pop bc
+ dec b
+ jr nz, .asm_11d005
+.asm_11d022
+ ld a, $7d
+ ld [hli], a
+ ld a, [de]
+ dec a
+ dec a
+ jr z, .asm_11d031
+ ld c, a
+ ld a, $7a
+.asm_11d02d
+ ld [hli], a
+ dec c
+ jr nz, .asm_11d02d
+.asm_11d031
+ ld a, $7e
+ ld [hl], a
+ ret
+
+; known jump sources: 11c3c8 (47:43c8), 11c661 (47:4661)
+Function11d035: ; 11d035 (47:5035)
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld bc, $14
+ ld a, [de]
+ inc de
+ push af
+ ld a, [de]
+ inc de
+ and a
+.asm_11d041
+ jr z, .asm_11d047
+ add hl, bc
+ dec a
+ jr .asm_11d041
+.asm_11d047
+ pop af
+ ld c, a
+ ld b, $0
+ add hl, bc
+ push hl
+ ld a, $79
+ ld [hl], a
+ pop hl
+ push hl
+ ld a, [de]
+ dec a
+ inc de
+ ld c, a
+ add hl, bc
+ ld a, $7b
+ ld [hl], a
+ call Function11d0ac
+ ld a, $7e
+ ld [hl], a
+ pop hl
+ push hl
+ call Function11d0ac
+ ld a, $7d
+ ld [hl], a
+ pop hl
+ push hl
+ inc hl
+ push hl
+ call Function11d0ac
+ pop bc
+ dec de
+ ld a, [de]
+ cp $2
+ jr z, .asm_11d082
+ dec a
+ dec a
+.asm_11d078
+ push af
+ ld a, $7a
+ ld [hli], a
+ ld [bc], a
+ inc bc
+ pop af
+ dec a
+ jr nz, .asm_11d078
+.asm_11d082
+ pop hl
+ ld bc, $14
+ add hl, bc
+ push hl
+ ld a, [de]
+ dec a
+ ld c, a
+ ld b, $0
+ add hl, bc
+ pop bc
+ inc de
+ ld a, [de]
+ cp $2
+ ret z
+ push bc
+ dec a
+ dec a
+ ld c, a
+ ld b, a
+ ld de, $14
+.asm_11d09c
+ ld a, $7c
+ ld [hl], a
+ add hl, de
+ dec c
+ jr nz, .asm_11d09c
+ pop hl
+.asm_11d0a4
+ ld a, $7c
+ ld [hl], a
+ add hl, de
+ dec b
+ jr nz, .asm_11d0a4
+ ret
+
+; known jump sources: 11d05a (47:505a), 11d062 (47:5062), 11d06c (47:506c)
+Function11d0ac: ; 11d0ac (47:50ac)
+ ld a, [de]
+ dec a
+ ld bc, $14
+.asm_11d0b1
+ add hl, bc
+ dec a
+ jr nz, .asm_11d0b1
+ ret
+
+; no known jump sources
+Function11d0b6: ; 11d0b6 (47:50b6)
+ ld hl, $c
+ add hl, bc
+ ld a, [hl]
+ ld e, a
+ ld d, $0
+ ld hl, $50c7
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
+
+; no known jump sources
+Jumptable_11d0c7: ; 11d0c7 (47:50c7)
+ dw Function11d0dd
+ dw Function11d0e9
+ dw Function11d0f5
+ dw Function11d10f
+ dw Function11d134
+ dw Function11d145
+ dw Function11d156
+ dw Function11d175
+ dw Function11d1d7
+ dw Function11d1d1
+ dw Function11d1fc
+
+
+; no known jump sources
+Function11d0dd: ; 11d0dd (47:50dd)
+ ld a, [BGMapBuffer] ; $cd20 (aliases: CreditsPos)
+ sla a
+ ld hl, $5208
+ ld e, $1
+ jr asm_11d11e
+
+; no known jump sources
+Function11d0e9: ; 11d0e9 (47:50e9)
+ ld a, [$cd21]
+ sla a
+ ld hl, $521a
+ ld e, $2
+ jr asm_11d11e
+
+; no known jump sources
+Function11d0f5: ; 11d0f5 (47:50f5)
+ ld hl, $52be
+ ld a, [CreditsTimer] ; $cd22
+ ld e, a
+ ld d, $0
+ add hl, de
+ ld a, [hl]
+ call Function3b3c
+ ld a, [CreditsTimer] ; $cd22
+ sla a
+ ld hl, $523e
+ ld e, $4
+ jr asm_11d11e
+
+; no known jump sources
+Function11d10f: ; 11d10f (47:510f)
+ ld a, $27
+ call Function3b3c
+ ld a, [$cd25]
+ sla a
+ ld hl, $529e
+ ld e, $8
+
+; known jump sources: 11d0e7 (47:50e7), 11d0f3 (47:50f3), 11d10d (47:510d), 11d143 (47:5143), 11d154 (47:5154)
+asm_11d11e: ; 11d11e (47:511e)
+ push de
+ ld e, a
+ ld d, $0
+ add hl, de
+ push hl
+ pop de
+ ld hl, $4
+ add hl, bc
+ ld a, [de]
+ inc de
+ ld [hli], a
+ ld a, [de]
+ ld [hl], a
+ pop de
+ ld a, e
+ call Function11d2ee
+ ret
+
+; no known jump sources
+Function11d134: ; 11d134 (47:5134)
+ ld a, $27
+ call Function3b3c
+ ld a, [$cd2a]
+ sla a
+ ld hl, $52b6
+ ld e, $10
+ jr asm_11d11e
+
+; no known jump sources
+Function11d145: ; 11d145 (47:5145)
+ ld a, $27
+ call Function3b3c
+ ld a, [$cd2c]
+ sla a
+ ld hl, $52ba
+ ld e, $20
+ jr asm_11d11e
+
+; no known jump sources
+Function11d156: ; 11d156 (47:5156)
+ ld a, $2a
+ call Function3b3c
+ ld a, [$cd4a]
+ sla a
+ sla a
+ sla a
+ add $18
+ ld hl, $4
+ add hl, bc
+ ld [hli], a
+ ld a, $30
+ ld [hl], a
+ ld a, $1
+ ld e, a
+ call Function11d2ee
+ ret
+
+; no known jump sources
+Function11d175: ; 11d175 (47:5175)
+ ld a, [$cd4d]
+ cp $4
+ jr z, .asm_11d180
+ ld a, $28
+ jr .asm_11d182
+.asm_11d180
+ ld a, $26
+.asm_11d182
+ call Function3b3c
+ ld a, [$cd4d]
+ cp $4
+ jr z, .asm_11d1b1
+ ld a, [$cd4c]
+ sla a
+ sla a
+ sla a
+ add $20
+ ld hl, $4
+ add hl, bc
+ ld [hli], a
+ ld a, [$cd4d]
+ sla a
+ sla a
+ sla a
+ sla a
+ add $48
+ ld [hl], a
+ ld a, $2
+ ld e, a
+ call Function11d2ee
+ ret
+.asm_11d1b1
+ ld a, [$cd4c]
+ sla a
+ sla a
+ sla a
+ ld e, a
+ sla a
+ sla a
+ add e
+ add $18
+ ld hl, $4
+ add hl, bc
+ ld [hli], a
+ ld a, $8a
+ ld [hl], a
+ ld a, $2
+ ld e, a
+ call Function11d2ee
+ ret
+
+; no known jump sources
+Function11d1d1: ; 11d1d1 (47:51d1)
+ ld d, $98
+ ld a, $2c
+ jr asm_11d1db
+
+; no known jump sources
+Function11d1d7: ; 11d1d7 (47:51d7)
+ ld d, $10
+ ld a, $2b
+
+; known jump sources: 11d1d5 (47:51d5)
+asm_11d1db: ; 11d1db (47:51db)
+ push de
+ call Function3b3c
+ ld a, [$cd4a]
+ sla a
+ sla a
+ sla a
+ ld e, a
+ sla a
+ add e
+ add $40
+ ld hl, $5
+ add hl, bc
+ ld [hld], a
+ pop af
+ ld [hl], a
+ ld a, $4
+ ld e, a
+ call Function11d2ee
+ ret
+
+; no known jump sources
+Function11d1fc: ; 11d1fc (47:51fc)
+ ld a, $26
+ call Function3b3c
+ ld a, $8
+ ld e, a
+ call Function11d2ee
+ ret
+; 11d208 (47:5208)
+
+INCBIN "baserom.gbc",$11d208,$11d2ee - $11d208
+
+; known jump sources: 11d130 (47:5130), 11d171 (47:5171), 11d1ad (47:51ad), 11d1cd (47:51cd), 11d1f8 (47:51f8), 11d204 (47:5204)
+Function11d2ee: ; 11d2ee (47:52ee)
+ ld hl, $cd24
+ and [hl]
+ jr nz, .asm_11d316
+ ld a, e
+ ld hl, $cd23
+ and [hl]
+ jr z, .asm_11d30f
+ ld hl, $e
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_11d305
+ dec [hl]
+ ret
+.asm_11d305
+ ld a, $0
+ ld [hld], a
+ ld a, $1
+ xor [hl]
+ ld [hl], a
+ and a
+ jr nz, .asm_11d316
+.asm_11d30f
+ ld hl, $7
+ add hl, bc
+ xor a
+ ld [hl], a
+ ret
+.asm_11d316
+ ld hl, $5
+ add hl, bc
+ ld a, $b0
+ sub [hl]
+ ld hl, $7
+ add hl, bc
+ ld [hl], a
+ ret
+
Function11d323: ; 11d323
ld a, [rSVBK]
push af
@@ -81343,7 +119615,7 @@
ret
; 11d33a
-INCBIN "baserom.gbc", $11d33a, $11d3ba - $11d33a
+INCBIN "baserom.gbc",$11d33a,$11d3ba - $11d33a
Function11d3ba: ; 11d3ba
ld a, [rSVBK]
@@ -81567,7 +119839,7 @@
ret
; 11d4fe
-INCBIN "baserom.gbc", $11d4fe, $11f686 - $11d4fe
+INCBIN "baserom.gbc",$11d4fe,$11f686 - $11d4fe
SECTION "bank48",ROMX,BANK[$48]
@@ -82394,7 +120666,7 @@
SECTION "bank5B",ROMX,BANK[$5B]
-INCBIN "baserom.gbc", $16c000, $16d421 - $16c000
+INCBIN "baserom.gbc",$16c000,$16d421 - $16c000
Function16d421: ; 16d421
ld de, $4fc1
@@ -82412,7 +120684,7 @@
ret
; 16d43b
-INCBIN "baserom.gbc", $16d43b, $16d61d - $16d43b
+INCBIN "baserom.gbc",$16d43b,$16d61d - $16d43b
Function16d61d: ; 16d61d
ld h, d
@@ -82496,7 +120768,7 @@
ret
; 16d68f
-INCBIN "baserom.gbc", $16d68f, $16d696 - $16d68f
+INCBIN "baserom.gbc",$16d68f,$16d696 - $16d68f
Function16d696: ; 16d696
call Function16d421
@@ -82559,7 +120831,7 @@
jp DelayFrames
; 16d701
-INCBIN "baserom.gbc", $16d701, $16d70c - $16d701
+INCBIN "baserom.gbc",$16d701,$16d70c - $16d701
Function16d70c: ; 16d70c
call Function16d725
@@ -82737,7 +121009,7 @@
SECTION "bank5C",ROMX,BANK[$5C]
-INCBIN "baserom.gbc", $170000, $1700b0 - $170000
+INCBIN "baserom.gbc",$170000,$1700b0 - $170000
Function1700b0: ; 1700b0
call Function17021e
@@ -82751,7 +121023,7 @@
ret
; 1700c4
-INCBIN "baserom.gbc", $1700c4, $170114 - $1700c4
+INCBIN "baserom.gbc",$1700c4,$170114 - $1700c4
Function170114: ; 170114
call Function17021e
@@ -82772,7 +121044,7 @@
ret
; 170139
-INCBIN "baserom.gbc", $170139, $170215 - $170139
+INCBIN "baserom.gbc",$170139,$170215 - $170139
Function170215: ; 170215
xor a
@@ -82817,7 +121089,7 @@
jp [hl]
; 170249
-INCBIN "baserom.gbc", $170249, $1704e1 - $170249
+INCBIN "baserom.gbc",$170249,$1704e1 - $170249
Function1704e1: ; 1704e1
call SpeechTextBox
@@ -82858,7 +121130,7 @@
jp [hl]
; 17051f
-INCBIN "baserom.gbc", $17051f, $170687 - $17051f
+INCBIN "baserom.gbc",$17051f,$170687 - $17051f
Function170687: ; 170687
ld a, [ScriptVar]
@@ -82873,8 +121145,318 @@
jp [hl]
; 170696
-INCBIN "baserom.gbc", $170696, $17089a - $170696
+; no known jump sources
+Jumptable_170696: ; 170696 (5c:4696)
+ dw Function17075f
+ dw Function170788
+ dw Function170778
+ dw Function170799
+ dw Function17079d
+ dw Function1707ac
+ dw Function1707f4
+ dw Function170868
+ dw Function170881
+ dw Function17089a
+ dw Function1708b1
+ dw Function1708b9
+ dw Function1708c8
+ dw Function1708f0
+ dw Function17093c
+ dw Function1709aa
+ dw Function1709bb
+ dw Function170a9c
+ dw Function170aa0
+ dw Function170aaf
+ dw Function170abe
+ dw Function170ad7
+ dw Function170807
+ dw Function17081d
+ dw Function170ae8
+ dw Function170b16
+ dw Function1706d6
+ dw Function1706ee
+ dw Function17071b
+ dw Function170729
+ dw Function17073e
+ dw Function170737
+
+
+; no known jump sources
+Function1706d6: ; 1706d6 (5c:46d6)
+ ld a, $1
+ call GetSRAMBank
+ ld a, $ff
+ ld hl, $be48
+ ld bc, $7
+ call ByteFill
+ xor a
+ ld [$be46], a
+ call CloseSRAM
+ ret
+
+; no known jump sources
+Function1706ee: ; 1706ee (5c:46ee)
+ ld a, $1
+ call GetSRAMBank
+ ld a, [$be50]
+ call CloseSRAM
+ ld [ScriptVar], a ; $c2dd
+ ld hl, NumItems ; $d892 (aliases: TMsHMsEnd)
+ ld a, [hli]
+ cp $14
+ ret c
+ ld b, $14
+ ld a, [ScriptVar] ; $c2dd
+ ld c, a
+.asm_170709
+ ld a, [hli]
+ cp c
+ jr nz, .asm_170711
+ ld a, [hl]
+ cp $5f
+ ret c
+.asm_170711
+ inc hl
+ dec b
+ jr nz, .asm_170709
+ ld a, $12
+ ld [ScriptVar], a ; $c2dd
+ ret
+
+; no known jump sources
+Function17071b: ; 17071b (5c:471b)
+ ld a, $1
+ call GetSRAMBank
+ ld a, $3
+ ld [$be45], a
+ call CloseSRAM
+ ret
+
+; no known jump sources
+Function170729: ; 170729 (5c:4729)
+ ld a, $1
+ call GetSRAMBank
+ ld a, $4
+ ld [$be45], a
+ call CloseSRAM
+ ret
+
+; no known jump sources
+Function170737: ; 170737 (5c:4737)
+ ld a, BANK(Function14dbb)
+ ld hl, Function14dbb
+ rst $8 ; ; indirect jump to Function14dbb (14dbb (5:4dbb))
+ ret
+
+; known jump sources: 17074f (5c:474f)
+Function17073e: ; 17073e (5c:473e)
+ call Random
+ ld a, [hRandomAdd] ; $ff00+$e1
+ and $7
+ cp $6
+ jr c, .asm_17074b
+ sub $6
+.asm_17074b
+ add $1a
+ cp $1e
+ jr z, Function17073e
+ push af
+ ld a, $1
+ call GetSRAMBank
+ pop af
+ ld [$be50], a
+ call CloseSRAM
+ ret
+
+; no known jump sources
+Function17075f: ; 17075f (5c:475f)
+ call Function17089a
+ ld a, [ScriptVar] ; $c2dd
+ and a
+ ret z
+ ld a, $1
+ call GetSRAMBank
+ ld a, [$be4f]
+ and $2
+ ld [ScriptVar], a ; $c2dd
+ call CloseSRAM
+ ret
+
+; no known jump sources
+Function170778: ; 170778 (5c:4778)
+ ld hl, $be45
+ ld a, $1
+ call GetSRAMBank
+ ld a, [hl]
+ ld [ScriptVar], a ; $c2dd
+ call CloseSRAM
+ ret
+
+; no known jump sources
+Function170788: ; 170788 (5c:4788)
+ ld a, $1
+ call GetSRAMBank
+ ld a, [$be4f]
+ or $2
+ ld [$be4f], a
+ call CloseSRAM
+ ret
+
+; no known jump sources
+Function170799: ; 170799 (5c:4799)
+ ld c, $1
+ jr asm_17079f
+
+; no known jump sources
+Function17079d: ; 17079d (5c:479d)
+ ld c, $0
+asm_17079f: ; 17079f (5c:479f)
+ ld a, $1
+ call GetSRAMBank
+ ld a, c
+ ld [$be45], a
+ call CloseSRAM
+ ret
+
+; no known jump sources
+Function1707ac: ; 1707ac (5c:47ac)
+ ld a, $5
+ call GetSRAMBank
+ ld a, [$aa8c]
+ ld b, a
+ ld a, [$be46]
+ ld [ScriptVar], a ; $c2dd
+ call CloseSRAM
+ and a
+ ret z
+ ld a, b
+ cp $2
+ jr nc, .asm_1707ef
+ push bc
+ call UpdateTime
+ pop bc
+ ld a, $5
+ call GetSRAMBank
+ ld a, [$aa8b]
+ call CloseSRAM
+ ld c, a
+ ld a, [CurDay] ; $d4cb
+ sub c
+ jr c, .asm_1707e5
+ cp $8
+ jr nc, .asm_1707ef
+ ld a, b
+ and a
+ jr nz, .asm_1707ef
+ ret
+.asm_1707e5
+ ld hl, CurDay ; $d4cb
+ ld a, $8c
+ sub c
+ add [hl]
+ cp $8
+ ret c
+.asm_1707ef
+ ld a, $8
+ ld [ScriptVar], a ; $c2dd
+
+; no known jump sources
+Function1707f4: ; 1707f4 (5c:47f4)
+ ld a, $5
+ call GetSRAMBank
+ xor a
+ ld [$be46], a
+ ld [$aa8b], a
+ ld [$aa8c], a
+ call CloseSRAM
+ ret
+
+; no known jump sources
+Function170807: ; 170807 (5c:4807)
+ call UpdateTime
+ ld a, $5
+ call GetSRAMBank
+ ld a, [CurDay] ; $d4cb
+ ld [$b2f9], a
+ xor a
+ ld [$b2fa], a
+ call CloseSRAM
+ ret
+
+; no known jump sources
+Function17081d: ; 17081d (5c:481d)
+ xor a
+ ld [ScriptVar], a ; $c2dd
+ ld a, $5
+ call GetSRAMBank
+ ld a, [$b2f9]
+ ld c, a
+ ld a, [$b2fa]
+ ld b, a
+ call CloseSRAM
+ cp $2
+ jr nc, .asm_170853
+ push bc
+ call UpdateTime
+ pop bc
+ ld a, [CurDay] ; $d4cb
+ sub c
+ jr c, .asm_170849
+ cp $b
+ jr nc, .asm_170853
+ ld a, b
+ and a
+ jr nz, .asm_170853
+ ret
+.asm_170849
+ ld hl, CurDay ; $d4cb
+ ld a, $8c
+ sub c
+ add [hl]
+ cp $b
+ ret c
+.asm_170853
+ ld a, $1
+ ld [ScriptVar], a ; $c2dd
+ ld a, $5
+ call GetSRAMBank
+ xor a
+ ld [$b2f9], a
+ ld [$b2fa], a
+ call CloseSRAM
+ ret
+
+; no known jump sources
+Function170868: ; 170868 (5c:4868)
+ ld a, $1
+ call GetSRAMBank
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $3
+ ld [rSVBK], a ; $ff00+$70
+ ld a, [$d800]
+ ld [$be47], a
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ call CloseSRAM
+ ret
+
+; no known jump sources
+Function170881: ; 170881 (5c:4881)
+ ld a, $1
+ call GetSRAMBank
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $3
+ ld [rSVBK], a ; $ff00+$70
+ ld a, [$be47]
+ ld [$d800], a
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ call CloseSRAM
+ ret
+
Function17089a: ; 17089a
ld a, [$cfcd]
and a
@@ -82892,9 +121474,71 @@
ret
; 1708b1
-INCBIN "baserom.gbc", $1708b1, $170923 - $1708b1
+; no known jump sources
+Function1708b1: ; 1708b1 (5c:48b1)
+ xor a
+ ld [MusicFade], a ; $c2a7
+ call MaxVolume
+ ret
+; no known jump sources
+Function1708b9: ; 1708b9 (5c:48b9)
+ ld a, $1
+ call GetSRAMBank
+ ld a, [$be3c]
+ ld [ScriptVar], a ; $c2dd
+ call CloseSRAM
+ ret
+
+; no known jump sources
+Function1708c8: ; 1708c8 (5c:48c8)
+ call UpdateTime
+ ld a, $5
+ call GetSRAMBank
+ ld a, [CurDay] ; $d4cb
+ ld [$aa8b], a
+ xor a
+ ld [$aa8c], a
+ ld a, [$aa5d]
+ cp $2
+ jr nc, .asm_1708ec
+ ld a, [CurDay] ; $d4cb
+ ld [$aa48], a
+ ld a, $1
+ ld [$aa47], a
+.asm_1708ec
+ call CloseSRAM
+ ret
+
+; no known jump sources
+Function1708f0: ; 1708f0 (5c:48f0)
+ xor a
+ ld [ScriptVar], a ; $c2dd
+ call UpdateTime
+ ld a, $5
+ call GetSRAMBank
+ ld a, [$aa48]
+ ld c, a
+ ld a, [$aa47]
+ call CloseSRAM
+ and a
+ ret z
+ ld hl, CurDay ; $d4cb
+ ld a, c
+ cp [hl]
+ jr nz, Function170923
+ ld a, $5
+ call GetSRAMBank
+ ld a, [$aa5d]
+ call CloseSRAM
+ cp $5
+ ret c
+ ld a, $1
+ ld [ScriptVar], a ; $c2dd
+ ret
+
+
Function170923: ; 170923
ld a, $5
call GetSRAMBank
@@ -82908,8 +121552,215 @@
ret
; 17093c
-INCBIN "baserom.gbc", $17093c, $170b44 - $17093c
+; no known jump sources
+Function17093c: ; 17093c (5c:493c)
+ xor a
+ ld [ScriptVar], a ; $c2dd
+ ld a, $81
+ ld [CurItem], a ; $d106
+ ld hl, NumItems ; $d892 (aliases: TMsHMsEnd)
+ call CheckItem
+ ret nc
+ ld a, [PartyCount] ; $dcd7
+ ld b, $0
+ ld c, a
+ ld hl, PartySpecies ; $dcd8
+.asm_170955
+ ld a, [hli]
+ cp $fd
+ jr nz, .asm_17099f
+ push hl
+ ld hl, PartyMonOT ; $ddff (aliases: PartyMon1OT)
+ ld de, $6
+ ld a, b
+ and a
+ jr z, .asm_170969
+.asm_170965
+ add hl, de
+ dec a
+ jr nz, .asm_170965
+.asm_170969
+ ld de, $49a4
+ ld a, $6
+.asm_17096e
+ push af
+ ld a, [de]
+ inc de
+ cp [hl]
+ inc hl
+ jr nz, .asm_17099d
+ pop af
+ dec a
+ jr nz, .asm_17096e
+ dec hl
+ dec hl
+ dec hl
+ dec hl
+ ld a, $50
+ ld [hli], a
+ ld [hli], a
+ pop hl
+ ld a, $81
+ ld [CurItem], a ; $d106
+ ld a, $1
+ ld [$d10c], a
+ ld a, $ff
+ ld [$d107], a
+ ld hl, NumItems ; $d892 (aliases: TMsHMsEnd)
+ call TossItem
+ ld a, $1
+ ld [ScriptVar], a ; $c2dd
+ ret
+.asm_17099d
+ pop af
+ pop hl
+.asm_17099f
+ inc b
+ dec c
+ jr nz, .asm_170955
+ ret
+; 1709a4 (5c:49a4)
+
+INCBIN "baserom.gbc",$1709a4,$1709aa - $1709a4
+
+; no known jump sources
+Function1709aa: ; 1709aa (5c:49aa)
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $3
+ ld [rSVBK], a ; $ff00+$70
+ ld a, [$d090]
+ ld [ScriptVar], a ; $c2dd
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ ret
+
+; no known jump sources
+Function1709bb: ; 1709bb (5c:49bb)
+ xor a
+ ld [ScriptVar], a ; $c2dd
+ ld a, $5
+ call GetSRAMBank
+ ld a, [$a800]
+ call CloseSRAM
+ cp $6
+ jr nc, .asm_1709da
+ ld e, a
+ ld d, $0
+ ld hl, $49e7
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
+.asm_1709da
+ ld a, $5
+ call GetSRAMBank
+ xor a
+ ld [$a800], a
+ call CloseSRAM
+ ret
+; 1709e7 (5c:49e7)
+
+INCBIN "baserom.gbc",$1709e7,$170a9c - $1709e7
+
+; no known jump sources
+Function170a9c: ; 170a9c (5c:4a9c)
+ ld c, $0
+ jr asm_170aa2
+
+; no known jump sources
+Function170aa0: ; 170aa0 (5c:4aa0)
+ ld c, $1
+asm_170aa2: ; 170aa2 (5c:4aa2)
+ ld a, $5
+ call GetSRAMBank
+ ld a, c
+ ld [$aa8d], a
+ call CloseSRAM
+ ret
+
+; no known jump sources
+Function170aaf: ; 170aaf (5c:4aaf)
+ ld a, $5
+ call GetSRAMBank
+ ld a, [$aa8d]
+ ld [ScriptVar], a ; $c2dd
+ call CloseSRAM
+ ret
+
+; no known jump sources
+Function170abe: ; 170abe (5c:4abe)
+ call Function17089a
+ ld a, [ScriptVar] ; $c2dd
+ and a
+ ret z
+ ld a, $1
+ call GetSRAMBank
+ ld a, [$be4f]
+ and $1
+ ld [ScriptVar], a ; $c2dd
+ call CloseSRAM
+ ret
+
+; no known jump sources
+Function170ad7: ; 170ad7 (5c:4ad7)
+ ld a, $1
+ call GetSRAMBank
+ ld a, [$be4f]
+ or $1
+ ld [$be4f], a
+ call CloseSRAM
+ ret
+
+; no known jump sources
+Function170ae8: ; 170ae8 (5c:4ae8)
+ ld a, $5
+ call GetSRAMBank
+ ld a, [$b2fb]
+ call CloseSRAM
+ ld c, $a
+ call SimpleDivide
+ ld a, b
+ ld [$cd4f], a
+ xor a
+ ld [ScriptVar], a ; $c2dd
+ ld a, BANK(Function119d93)
+ ld hl, Function119d93
+ rst $8 ; ; indirect jump to Function119d93 (119d93 (46:5d93))
+ ret nc
+ ld a, $5
+ call GetSRAMBank
+ ld a, [$b2fb]
+ call CloseSRAM
+ ld [ScriptVar], a ; $c2dd
+ ret
+
+; no known jump sources
+Function170b16: ; 170b16 (5c:4b16)
+ ld a, $5
+ call GetSRAMBank
+ ld a, [$b2fb]
+ call CloseSRAM
+ ld c, $a
+ call SimpleDivide
+ ld a, b
+ ld [$cd4f], a
+ xor a
+ ld [ScriptVar], a ; $c2dd
+ ld a, BANK(Function119dd1)
+ ld hl, Function119dd1
+ rst $8 ; ; indirect jump to Function119dd1 (119dd1 (46:5dd1))
+ ret nc
+ ld a, $5
+ call GetSRAMBank
+ ld a, [$b2fb]
+ call CloseSRAM
+ ld [ScriptVar], a ; $c2dd
+ ret
+
Function170b44: ; 170b44
callba Function1f8000
ld a, [rSVBK]
@@ -82952,7 +121803,7 @@
ret
; 170b90
-INCBIN "baserom.gbc", $170b90, $170bd2 - $170b90
+INCBIN "baserom.gbc",$170b90,$170bd2 - $170b90
Function170bd2: ; 170bd2
ret
@@ -82972,7 +121823,7 @@
ret
; 170be4
-INCBIN "baserom.gbc", $170be4, $170c8b - $170be4
+INCBIN "baserom.gbc",$170be4,$170c8b - $170be4
Function170c8b: ; 170c8b
ld hl, LastPlayerCounterMove
@@ -82986,9 +121837,539 @@
ret
; 170c98
-INCBIN "baserom.gbc", $170c98, $17367f - $170c98
+INCBIN "baserom.gbc",$170c98,$1719c8 - $170c98
+; no known jump sources
+Function1719c8: ; 1719c8 (5c:59c8)
+ ld a, [$FF00+$aa]
+ push af
+ ld a, $1
+ ld [$FF00+$aa], a
+ call Function1719d6
+ pop af
+ ld [$FF00+$aa], a
+ ret
+; known jump sources: 1719cf (5c:59cf)
+Function1719d6: ; 1719d6 (5c:59d6)
+ ld a, BANK(Function1183cb)
+ ld hl, Function1183cb
+ rst $8 ; ; indirect jump to Function1183cb (1183cb (46:43cb))
+ call Function1719ed
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $5
+ ld [rSVBK], a ; $ff00+$70
+ call Function171a11
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ ret
+
+; known jump sources: 1719dc (5c:59dc)
+Function1719ed: ; 1719ed (5c:59ed)
+ xor a
+ ld [$cd49], a
+ ld [$cd4a], a
+ dec a
+ ld [$cd4b], a
+ call WhiteBGMap
+ call ClearSprites
+ ld a, BANK(Function171d2b)
+ ld hl, Function171d2b
+ rst $8 ; ; indirect jump to Function171d2b (171d2b (5c:5d2b))
+ ld a, BANK(Function104061)
+ ld hl, Function104061
+ rst $8 ; ; indirect jump to Function104061 (104061 (41:4061))
+ ld a, BANK(Function8cf53)
+ ld hl, Function8cf53
+ rst $8 ; ; indirect jump to Function8cf53 (8cf53 (23:4f53))
+ ret
+
+; known jump sources: 1719e6 (5c:59e6), 171a2a (5c:5a2a)
+Function171a11: ; 171a11 (5c:5a11)
+ call Functiona57
+ ld a, [$cd49]
+ bit 7, a
+ jr nz, .asm_171a2c
+ call Function171a36
+ ld a, BANK(Function8cf69)
+ ld hl, Function8cf69
+ rst $8 ; ; indirect jump to Function8cf69 (8cf69 (23:4f69))
+ ld a, BANK(Function104061)
+ ld hl, Function104061
+ rst $8 ; ; indirect jump to Function104061 (104061 (41:4061))
+ jr Function171a11
+.asm_171a2c
+ ld a, BANK(Function8cf53)
+ ld hl, Function8cf53
+ rst $8 ; ; indirect jump to Function8cf53 (8cf53 (23:4f53))
+ call ClearSprites
+ ret
+
+; known jump sources: 171a1b (5c:5a1b)
+Function171a36: ; 171a36 (5c:5a36)
+ ld a, [$cd49]
+ ld e, a
+ ld d, $0
+ ld hl, $5a45
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
+
+; no known jump sources
+Jumptable_171a45: ; 171a45 (5c:5a45)
+ dw Function171a95
+ dw Function171ac9
+ dw Function171a5d
+ dw Function171ad7
+ dw Function171a5d
+ dw Function171aec
+ dw Function171b4b
+ dw Function171b85
+ dw Function171bcc
+ dw Function171c2c
+ dw Function171c39
+ dw Function171c41
+
+
+; no known jump sources
+Function171a5d: ; 171a5d (5c:5a5d)
+ ld a, [$c821]
+ bit 1, a
+ jr nz, .asm_171a6a
+ bit 0, a
+ ret nz
+ jp Function171c66
+.asm_171a6a
+ ld a, $0
+ call Function3e32
+ ld [$c300], a
+ ld a, l
+ ld [$c301], a
+ ld a, h
+ ld [$c302], a
+ ld a, $a
+ call Function3e32
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $1
+ ld [rSVBK], a ; $ff00+$70
+ ld a, BANK(Function118452)
+ ld hl, Function118452
+ rst $8 ; ; indirect jump to Function118452 (118452 (46:4452))
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ ld a, $a
+ ld [$cd49], a
+ ret
+
+; no known jump sources
+Function171a95: ; 171a95 (5c:5a95)
+ ld a, BANK(Function171ccd)
+ ld hl, Function171ccd
+ rst $8 ; ; indirect jump to Function171ccd (171ccd (5c:5ccd))
+ ld hl, $c542
+ ld de, $5aa7
+ call PlaceString
+ jp Function171c66
+; 171aa7 (5c:5aa7)
+
+INCBIN "baserom.gbc",$171aa7,$171ac9 - $171aa7
+
+; no known jump sources
+Function171ac9: ; 171ac9 (5c:5ac9)
+ ld de, $cd81
+ ld hl, $5c
+ ld a, $2
+ call Function3e32
+ jp Function171c66
+
+; no known jump sources
+Function171ad7: ; 171ad7 (5c:5ad7)
+ xor a
+ ld hl, EnemyMoveAnimation ; $c608 (aliases: EnemyMoveStruct)
+ ld bc, $66
+ call ByteFill
+ ld de, EnemyMoveAnimation ; $c608 (aliases: EnemyMoveStruct)
+ ld a, $c
+ call Function3e32
+ jp Function171c66
+
+; no known jump sources
+Function171aec: ; 171aec (5c:5aec)
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $1
+ ld [rSVBK], a ; $ff00+$70
+ ld a, BANK(Function118452)
+ ld hl, Function118452
+ rst $8 ; ; indirect jump to Function118452 (118452 (46:4452))
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ ld hl, $c51a
+ ld a, $8
+.asm_171b01
+ push af
+ push hl
+ xor a
+ ld bc, $10
+ call ByteFill
+ pop hl
+ ld de, $14
+ add hl, de
+ pop af
+ dec a
+ jr nz, .asm_171b01
+ ld hl, $c52e
+ ld a, $3
+ ld de, EnemyMoveAnimation ; $c608 (aliases: EnemyMoveStruct)
+.asm_171b1b
+ push af
+ push hl
+ ld a, [de]
+ and a
+ jr z, .asm_171b34
+ ld a, [$cd4b]
+ inc a
+ ld [$cd4b], a
+ push hl
+ call Function171b42
+ pop hl
+ ld bc, $ffec
+ add hl, bc
+ call Function171b42
+.asm_171b34
+ pop hl
+ ld bc, $14
+ add hl, bc
+ add hl, bc
+ add hl, bc
+ pop af
+ dec a
+ jr nz, .asm_171b1b
+ jp Function171c66
+
+; known jump sources: 171b29 (5c:5b29), 171b31 (5c:5b31), 171b49 (5c:5b49)
+Function171b42: ; 171b42 (5c:5b42)
+ ld a, [de]
+ inc de
+ and a
+ ret z
+ sub $20
+ ld [hli], a
+ jr Function171b42
+
+; no known jump sources
+Function171b4b: ; 171b4b (5c:5b4b)
+ ld de, $4010
+ ld a, $1d
+ call Function3b2a
+ ld hl, $c
+ add hl, bc
+ ld a, $8
+ ld [hl], a
+ ld de, $4098
+ ld a, $1d
+ call Function3b2a
+ ld hl, $c
+ add hl, bc
+ ld a, $9
+ ld [hl], a
+ ld de, $8a70
+ ld a, $1d
+ call Function3b2a
+ ld hl, $c
+ add hl, bc
+ ld a, $a
+ ld [hl], a
+ ld a, $4
+ ld [$cd23], a
+ ld a, $8
+ ld [$cd24], a
+ jp Function171c66
+
+; no known jump sources
+Function171b85: ; 171b85 (5c:5b85)
+ ld hl, hJoyPressed ; $ffa7
+ ld a, [hl]
+ and $2
+ jp nz, Function171b9f
+ ld a, [hl]
+ and $1
+ jp nz, Function171bbd
+ ld a, [hl]
+ and $40
+ jr nz, asm_171ba5
+ ld a, [hl]
+ and $80
+ jr nz, asm_171baf
+ ret
+
+; known jump sources: 171b8b (5c:5b8b)
+Function171b9f: ; 171b9f (5c:5b9f)
+ ld a, $80
+ ld [$cd49], a
+ ret
+asm_171ba5: ; 171ba5 (5c:5ba5)
+ ld a, [$cd4a]
+ and a
+ ret z
+ dec a
+ ld [$cd4a], a
+ ret
+asm_171baf: ; 171baf (5c:5baf)
+ ld a, [$cd4b]
+ ld c, a
+ ld a, [$cd4a]
+ cp c
+ ret z
+ inc a
+ ld [$cd4a], a
+ ret
+
+; known jump sources: 171b91 (5c:5b91)
+Function171bbd: ; 171bbd (5c:5bbd)
+ call PlayClickSFX
+ ld a, $8
+ ld [$cd23], a
+ xor a
+ ld [$cd24], a
+ jp Function171c66
+
+; no known jump sources
+Function171bcc: ; 171bcc (5c:5bcc)
+ ld hl, hJoyPressed ; $ffa7
+ ld a, [hl]
+ and $2
+ jp nz, Function171bdc
+ ld a, [hl]
+ and $1
+ jp nz, Function171beb
+ ret
+
+; known jump sources: 171bd2 (5c:5bd2)
+Function171bdc: ; 171bdc (5c:5bdc)
+ ld a, $4
+ ld [$cd23], a
+ ld a, $8
+ ld [$cd24], a
+ ld hl, $cd49
+ dec [hl]
+ ret
+
+; known jump sources: 171bd8 (5c:5bd8)
+Function171beb: ; 171beb (5c:5beb)
+ ld a, $5
+ call GetSRAMBank
+ ld a, [$cd4a]
+ ld [$aa4a], a
+ call CloseSRAM
+ ld hl, $5c6b
+ call LoadMenuDataHeader
+ call Function1cbb
+ call Function1cfd
+ ld a, BANK(Function104061)
+ ld hl, Function104061
+ rst $8 ; ; indirect jump to Function104061 (104061 (41:4061))
+ ld hl, $c5b9
+ ld de, $5c73
+ call PlaceString
+ ld a, [$cd4a]
+ cp $2
+ jr z, .asm_171c1f
+ ld a, $8
+ jr .asm_171c21
+.asm_171c1f
+ ld a, $c
+.asm_171c21
+ ld [$cd24], a
+ ld a, $1e
+ ld [$cd4c], a
+ call Function171c66
+
+; no known jump sources
+Function171c2c: ; 171c2c (5c:5c2c)
+ ld hl, $cd4c
+ dec [hl]
+ ret nz
+ call Function1c07
+ call WhiteBGMap
+ jr asm_171c60
+
+; no known jump sources
+Function171c39: ; 171c39 (5c:5c39)
+ ld a, $28
+ ld [$cd4c], a
+ call Function171c66
+
+; no known jump sources
+Function171c41: ; 171c41 (5c:5c41)
+ ld hl, $cd4c
+ dec [hl]
+ ret nz
+ call WhiteBGMap
+ ld a, BANK(Function106462)
+ ld hl, Function106462
+ rst $8 ; ; indirect jump to Function106462 (106462 (41:6462))
+ ld a, BANK(Function106464)
+ ld hl, Function106464
+ rst $8 ; ; indirect jump to Function106464 (106464 (41:6464))
+ ld a, $2
+ ld [$c303], a
+ ld a, BANK(Function17f555)
+ ld hl, Function17f555
+ rst $8 ; ; indirect jump to Function17f555 (17f555 (5f:7555))
+asm_171c60: ; 171c60 (5c:5c60)
+ ld a, $80
+ ld [$cd49], a
+ ret
+
+; known jump sources: 171a67 (5c:5a67), 171aa4 (5c:5aa4), 171ad4 (5c:5ad4), 171ae9 (5c:5ae9), 171b3f (5c:5b3f), 171b82 (5c:5b82), 171bc9 (5c:5bc9), 171c29 (5c:5c29), 171c3e (5c:5c3e)
+Function171c66: ; 171c66 (5c:5c66)
+ ld hl, $cd49
+ inc [hl]
+ ret
+; 171c6b (5c:5c6b)
+
+INCBIN "baserom.gbc",$171c6b,$171c87 - $171c6b
+
+; no known jump sources
+Function171c87: ; 171c87 (5c:5c87)
+ call DisableLCD
+ ld hl, $5db1
+ ld de, $9000
+ ld bc, $6e0
+ call CopyBytes
+ ld hl, $6abd
+ ld de, $8000
+ call Decompress
+ call EnableLCD
+ ld hl, $6491
+ ld de, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld bc, $168
+ call CopyBytes
+ ld hl, $67ed
+ ld de, AttrMap ; $cdd9
+ ld bc, $168
+ call CopyBytes
+ ld hl, $c4cb
+ ld de, $6e31
+ call PlaceString
+ ld hl, $c5e3
+ ld de, $6e3f
+ call PlaceString
+ ret
+
+; no known jump sources
+Function171ccd: ; 171ccd (5c:5ccd)
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $5
+ ld [rSVBK], a ; $ff00+$70
+ ld hl, $5d71
+ ld de, Unkn1Pals ; $d000
+ ld bc, $40
+ call CopyBytes
+ ld hl, MovementAnimation ; $d042
+ ld a, $ff
+ ld [hli], a
+ ld a, $7f
+ ld [hl], a
+ call Function32f9
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ ret
+
+; no known jump sources
+Function171cf0: ; 171cf0 (5c:5cf0)
+ xor a
+ ld hl, $c5d0
+ ld [hli], a
+ ld [hli], a
+ ld a, [$cd4b]
+ xor $1
+ ld [$cd4b], a
+ and a
+ jr nz, .asm_171d16
+ ld hl, $651d
+ ld de, $c52c
+ ld bc, $8c
+ call CopyBytes
+ ld hl, $c5e3
+ ld de, $6e3f
+ jp PlaceString
+.asm_171d16
+ ld hl, $65f9
+ ld de, $c52c
+ ld bc, $8c
+ call CopyBytes
+ ld hl, $c5e3
+ ld de, $6e4e
+ jp PlaceString
+
+; no known jump sources
+Function171d2b: ; 171d2b (5c:5d2b)
+ call DisableLCD
+ ld hl, $5db1
+ ld de, $9000
+ ld bc, $6e0
+ call CopyBytes
+ ld hl, $6abd
+ ld de, $8000
+ call Decompress
+ call EnableLCD
+ ld hl, $6685
+ ld de, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld bc, $168
+ call CopyBytes
+ ld hl, $6955
+ ld de, AttrMap ; $cdd9
+ ld bc, $168
+ call CopyBytes
+ ld hl, $c4ca
+ ld de, $6e5d
+ call PlaceString
+ ld hl, $c5ee
+ ld de, $6e58
+ call PlaceString
+ ret
+; 171d71 (5c:5d71)
+
+INCBIN "baserom.gbc",$171d71,$172e78 - $171d71
+
+; no known jump sources
+Function172e78: ; 172e78 (5c:6e78)
+ ld a, $7f
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld bc, $168
+ call ByteFill
+ ld a, $7
+ ld hl, AttrMap ; $cdd9
+ ld bc, $168
+ call ByteFill
+ call DisableLCD
+ ld hl, $6f1f
+ ld de, $9000
+ ld bc, $610
+ call CopyBytes
+ call EnableLCD
+ ld hl, $73af
+ ld de, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld bc, $168
+ call CopyBytes
+ ld hl, $7517
+ ld de, AttrMap ; $cdd9
+ ld bc, $168
+ call CopyBytes
+ ret
+; 172eb9 (5c:6eb9)
+
+INCBIN "baserom.gbc",$172eb9,$17367f - $172eb9
+
+
SECTION "bank5D",ROMX,BANK[$5D]
INCLUDE "text/phone/extra3.asm"
@@ -82996,7 +122377,7 @@
SECTION "bank5E",ROMX,BANK[$5E]
-INCBIN "baserom.gbc", $178000, $1f
+INCBIN "baserom.gbc",$178000,$17801f - $178000
; Songs V
@@ -83009,14 +122390,839 @@
Music_BattleTowerLobby: INCLUDE "audio/music/battletowerlobby.asm"
Music_MobileCenter: INCLUDE "audio/music/mobilecenter.asm"
-INCBIN "baserom.gbc", $17982d, $1799ef - $17982d
+INCBIN "baserom.gbc",$17982d,$1799ef - $17982d
MobileAdapterGFX:
INCBIN "gfx/misc/mobile_adapter.2bpp"
-INCBIN "baserom.gbc", $17a68f, $17b629 - $17a68f
+; no known jump sources
+Function17a68f: ; 17a68f (5e:668f)
+ call Function17a6a8
+ call Function17a751
+ ld hl, $d088
+ bit 5, [hl]
+ jr z, .asm_17a6a6
+ ld de, StringBuffer1 ; $d073
+ push de
+ call Function17a721
+ pop de
+ xor a
+ ret
+.asm_17a6a6
+ scf
+ ret
+; known jump sources: 17a68f (5e:668f)
+Function17a6a8: ; 17a6a8 (5e:66a8)
+ push de
+ push bc
+ ld hl, StringBuffer2 ; $d086
+ ld bc, $a
+ xor a
+ call ByteFill
+ ld hl, Buffer1 ; $d1ea (aliases: MagikarpLength)
+ ld bc, $10
+ ld a, $ff
+ call ByteFill
+ pop bc
+ ld a, c
+ and a
+ jr z, .asm_17a6c9
+ ld hl, $d088
+ set 4, [hl]
+.asm_17a6c9
+ pop de
+ call Function17a6f5
+ call Function17aba0
+ ld a, BANK(Function106464)
+ ld hl, Function106464
+ rst $8 ; ; indirect jump to Function106464 (106464 (41:6464))
+ call Function17ac0c
+ ld a, BANK(Function104000)
+ ld hl, Function104000
+ rst $8 ; ; indirect jump to Function104000 (104000 (41:4000))
+ call Function17abcf
+ ld a, BANK(Function49409)
+ ld hl, Function49409
+ rst $8 ; ; indirect jump to Function49409 (49409 (12:5409))
+ ld a, BANK(Function49420)
+ ld hl, Function49420
+ rst $8 ; ; indirect jump to Function49420 (49420 (12:5420))
+ call Function32f9
+ call DelayFrame
+ ret
+
+; known jump sources: 17a6ca (5e:66ca)
+Function17a6f5: ; 17a6f5 (5e:66f5)
+ ld hl, Buffer1 ; $d1ea (aliases: MagikarpLength)
+ ld c, $0
+ ld b, $8
+.asm_17a6fc
+ ld a, [de]
+ call Function17a713
+ jr c, .asm_17a70e
+ ld a, [de]
+ swap a
+ call Function17a713
+ jr c, .asm_17a70e
+ inc de
+ dec b
+ jr nz, .asm_17a6fc
+.asm_17a70e
+ ld a, c
+ ld [$d08c], a
+ ret
+
+; known jump sources: 17a6fd (5e:66fd), 17a705 (5e:6705)
+Function17a713: ; 17a713 (5e:6713)
+ and $f
+ cp $a
+ jr nc, .asm_17a71d
+ ld [hli], a
+ inc c
+ and a
+ ret
+.asm_17a71d
+ ld [hl], $ff
+ scf
+ ret
+
+; known jump sources: 17a6a0 (5e:66a0)
+Function17a721: ; 17a721 (5e:6721)
+ push de
+ ld h, d
+ ld l, e
+ ld bc, $8
+ ld a, $ff
+ call ByteFill
+ pop de
+ ld hl, Buffer1 ; $d1ea (aliases: MagikarpLength)
+ ld b, $8
+.asm_17a732
+ ld c, $0
+ ld a, [hli]
+ cp $a
+ jr nc, .asm_17a748
+ ld c, a
+ ld a, [hli]
+ cp $a
+ jr nc, .asm_17a74c
+ swap a
+ or c
+ ld [de], a
+ inc de
+ dec b
+ jr nz, .asm_17a732
+ ret
+.asm_17a748
+ ld a, $ff
+ ld [de], a
+ ret
+.asm_17a74c
+ ld a, $f0
+ or c
+ ld [de], a
+ ret
+
+; known jump sources: 17a692 (5e:6692)
+Function17a751: ; 17a751 (5e:6751)
+ xor a
+ ld [$d087], a
+.asm_17a755
+ call Function17a781
+ call Function17a7ae
+ call Function17a97b
+ call Function17a770
+ call Function17a78f
+ ld hl, $d08f
+ inc [hl]
+ ld a, [$d087]
+ bit 7, a
+ jr z, .asm_17a755
+ ret
+
+; known jump sources: 17a75e (5e:675e)
+Function17a770: ; 17a770 (5e:6770)
+ ld a, [hOAMUpdate] ; $ff00+$d8
+ push af
+ ld a, $1
+ ld [hOAMUpdate], a ; $ff00+$d8
+ call HideSprites
+ call Function17a9cb
+ pop af
+ ld [hOAMUpdate], a ; $ff00+$d8
+ ret
+
+; known jump sources: 17a755 (5e:6755)
+Function17a781: ; 17a781 (5e:6781)
+ ld a, [$FF00+$aa]
+ push af
+ ld a, $1
+ ld [$FF00+$aa], a
+ call Functiona57
+ pop af
+ ld [$FF00+$aa], a
+ ret
+
+; known jump sources: 17a761 (5e:6761)
+Function17a78f: ; 17a78f (5e:678f)
+ ld hl, $d088
+ bit 7, [hl]
+ res 7, [hl]
+ jr nz, .asm_17a79f
+ ld a, BANK(Function10402d)
+ ld hl, Function10402d
+ rst $8 ; ; indirect jump to Function10402d (10402d (41:402d))
+ ret
+.asm_17a79f
+ ld a, BANK(Function104061)
+ ld hl, Function104061
+ rst $8 ; ; indirect jump to Function104061 (104061 (41:4061))
+ ret
+; 17a7a6 (5e:67a6)
+
+INCBIN "baserom.gbc",$17a7a6,$17a7ae - $17a7a6
+
+; known jump sources: 17a758 (5e:6758)
+Function17a7ae: ; 17a7ae (5e:67ae)
+ ld a, [$d087]
+ ld hl, $67b6
+ rst $28
+ ret
+
+; no known jump sources
+Jumptable_17a7b6: ; 17a7b6 (5e:67b6)
+ dw Function17a7c2
+ dw Function17a7cd
+ dw Function17a7d8
+ dw Function17a7ff
+ dw Function17a81a
+ dw Function17a7f4
+
+
+; no known jump sources
+Function17a7c2: ; 17a7c2 (5e:67c2)
+ ld a, $4
+ call Function17aad3
+ ld a, $1
+ ld [$d087], a
+ ret
+
+; no known jump sources
+Function17a7cd: ; 17a7cd (5e:67cd)
+ call Function17a83c
+ call Function17a8ae
+ ret c
+ call Function17a848
+ ret
+
+; no known jump sources
+Function17a7d8: ; 17a7d8 (5e:67d8)
+ call Function17a83c
+ call Function17a848
+ ld hl, $d08b
+ dec [hl]
+ ret nz
+ call Function17ac1d
+ call Function17ac2a
+ ld hl, $d088
+ set 7, [hl]
+ ld a, $1
+ ld [$d087], a
+ ret
+
+; no known jump sources
+Function17a7f4: ; 17a7f4 (5e:67f4)
+ ld hl, $d08b
+ dec [hl]
+ ret nz
+ ld hl, $d087
+ set 7, [hl]
+ ret
+
+; no known jump sources
+Function17a7ff: ; 17a7ff (5e:67ff)
+ ld hl, $d08b
+ dec [hl]
+ ret nz
+ call Function17ac1d
+ call Function17ac2a
+ ld hl, $d088
+ set 7, [hl]
+ ld hl, $d088
+ set 5, [hl]
+ ld hl, $d087
+ set 7, [hl]
+ ret
+
+; no known jump sources
+Function17a81a: ; 17a81a (5e:681a)
+ call Function3c74
+ ret nc
+ ld a, [hJoyPressed] ; $ff00+$a7
+ and $3
+ ret z
+ call Function1c07
+ call Function17ac1d
+ call Function17ac2a
+ ld hl, $d088
+ set 7, [hl]
+ ld hl, $d088
+ res 6, [hl]
+ ld a, $1
+ ld [$d087], a
+ ret
+
+; known jump sources: 17a7cd (5e:67cd), 17a7d8 (5e:67d8)
+Function17a83c: ; 17a83c (5e:683c)
+ ld a, [$FF00+$a9]
+ and $f0
+ ld c, a
+ ld a, [hJoyPressed] ; $ff00+$a7
+ and $b
+ or c
+ ld c, a
+ ret
+
+; known jump sources: 17a7d4 (5e:67d4), 17a7db (5e:67db)
+Function17a848: ; 17a848 (5e:6848)
+ ld a, c
+ and $60
+ cp $60
+ jr z, .asm_17a876
+ ld a, c
+ and $50
+ cp $50
+ jr z, .asm_17a87d
+ ld a, c
+ and $a0
+ cp $a0
+ jr z, .asm_17a884
+ ld a, c
+ and $90
+ cp $90
+ jr z, .asm_17a88b
+ bit 6, c
+ jr nz, .asm_17a892
+ bit 7, c
+ jr nz, .asm_17a899
+ bit 5, c
+ jr nz, .asm_17a8a0
+ bit 4, c
+ jr nz, .asm_17a8a7
+ xor a
+ ret
+.asm_17a876
+ ld a, $9
+ call Function17aad0
+ scf
+ ret
+.asm_17a87d
+ ld a, $a
+ call Function17aad0
+ scf
+ ret
+.asm_17a884
+ ld a, $b
+ call Function17aad0
+ scf
+ ret
+.asm_17a88b
+ ld a, $c
+ call Function17aad0
+ scf
+ ret
+.asm_17a892
+ ld a, $5
+ call Function17aad0
+ scf
+ ret
+.asm_17a899
+ ld a, $6
+ call Function17aad0
+ scf
+ ret
+.asm_17a8a0
+ ld a, $7
+ call Function17aad0
+ scf
+ ret
+.asm_17a8a7
+ ld a, $8
+ call Function17aad0
+ scf
+ ret
+
+; known jump sources: 17a7d0 (5e:67d0)
+Function17a8ae: ; 17a8ae (5e:68ae)
+ bit 1, c
+ jr nz, .asm_17a8bc
+ bit 0, c
+ jr nz, .asm_17a8cc
+ bit 3, c
+ jr nz, .asm_17a8d7
+ xor a
+ ret
+.asm_17a8bc
+ ld a, $b
+ ld [$d08a], a
+ call Function17aa98
+ call Function17a943
+ call Function17aa88
+ scf
+ ret
+.asm_17a8cc
+ call Function17aad7
+ call Function17aa98
+ call Function17a8de
+ scf
+ ret
+.asm_17a8d7
+ ld a, $c
+ call Function17aad3
+ scf
+ ret
+
+; known jump sources: 17a8d2 (5e:68d2)
+Function17a8de: ; 17a8de (5e:68de)
+ ld a, $2
+ call Function17aae0
+ ld a, [hl]
+ cp $f1
+ jr z, .asm_17a8fd
+ cp $f0
+ jr z, .asm_17a904
+ cp $f2
+ jr z, .asm_17a911
+ ld e, a
+ call Function17a964
+ ld a, $2
+ ld [$d087], a
+ call Function17aa88
+ ret
+.asm_17a8fd
+ call Function17a943
+ call Function17aa88
+ ret
+.asm_17a904
+ call Function17aad7
+ call Function17aa98
+ call Function17a91e
+ call Function17aa88
+ ret
+.asm_17a911
+ call Function17aa98
+ ld a, $5
+ ld [$d087], a
+ xor a
+ call Function17aa88
+ ret
+
+; known jump sources: 17a90a (5e:690a)
+Function17a91e: ; 17a91e (5e:691e)
+ ld a, [$d08c]
+ cp $7
+ jr c, .asm_17a92c
+ ld a, $3
+ ld [$d087], a
+ xor a
+ ret
+.asm_17a92c
+ call Function1d6e
+ call Function17a99e
+ ld hl, $d088
+ set 7, [hl]
+ ld hl, $d088
+ set 6, [hl]
+ ld a, $4
+ ld [$d087], a
+ scf
+ ret
+
+; known jump sources: 17a8c4 (5e:68c4), 17a8fd (5e:68fd)
+Function17a943: ; 17a943 (5e:6943)
+ ld a, [$d08c]
+ and a
+ jr z, .asm_17a95d
+ dec a
+ ld [$d08c], a
+ ld c, a
+ ld b, $0
+ ld hl, Buffer1 ; $d1ea (aliases: MagikarpLength)
+ add hl, bc
+ ld [hl], $ff
+ ld a, $2
+ ld [$d087], a
+ and a
+ ret
+.asm_17a95d
+ ld a, $5
+ ld [$d087], a
+ xor a
+ ret
+
+; known jump sources: 17a8f1 (5e:68f1)
+Function17a964: ; 17a964 (5e:6964)
+ ld a, [$d08c]
+ cp $10
+ jr nc, .asm_17a979
+ ld c, a
+ ld b, $0
+ inc a
+ ld [$d08c], a
+ ld hl, Buffer1 ; $d1ea (aliases: MagikarpLength)
+ add hl, bc
+ ld [hl], e
+ and a
+ ret
+.asm_17a979
+ scf
+ ret
+
+; known jump sources: 17a75b (5e:675b)
+Function17a97b: ; 17a97b (5e:697b)
+ ld hl, $c4b5
+ ld bc, $212
+ call ClearBox
+ ld hl, $c4cb
+ ld de, Buffer1 ; $d1ea (aliases: MagikarpLength)
+ ld a, [$d08c]
+ and a
+ ret z
+ ld c, a
+.asm_17a990
+ ld a, [de]
+ inc de
+ cp $a
+ jr nc, .asm_17a99d
+ add $f6
+ ld [hli], a
+ dec c
+ jr nz, .asm_17a990
+ ret
+.asm_17a99d
+ ret
+
+; known jump sources: 17a92f (5e:692f)
+Function17a99e: ; 17a99e (5e:699e)
+ ld hl, $c590
+ ld b, $4
+ ld c, $12
+ call Function17ac46
+ ld hl, $c5ba
+ ld de, $69b2
+ call PlaceString
+ ret
+; 17a9b2 (5e:69b2)
+
+INCBIN "baserom.gbc",$17a9b2,$17a9cb - $17a9b2
+
+; known jump sources: 17a77a (5e:677a)
+Function17a9cb: ; 17a9cb (5e:69cb)
+ ld de, Sprites ; $c400
+ ld hl, $d088
+ bit 6, [hl]
+ jr nz, .asm_17a9df
+ call Function17a9e3
+ call Function17aa22
+ call Function17a9f5
+ ret
+.asm_17a9df
+ call Function17a9e3
+ ret
+
+; known jump sources: 17a9d5 (5e:69d5), 17a9df (5e:69df)
+Function17a9e3: ; 17a9e3 (5e:69e3)
+ ld a, $3
+ ld [$d08e], a
+ ld hl, $6a77
+ ld b, $8
+ ld c, $8
+ ld a, $5
+ call Function17aa4a
+ ret
+
+; known jump sources: 17a9db (5e:69db)
+Function17a9f5: ; 17a9f5 (5e:69f5)
+ ld a, [$d08c]
+ cp $10
+ ret nc
+ ld a, [$d08f]
+ swap a
+ and $1
+ add $1
+ ld [$d08e], a
+ ld a, [$d08c]
+ cp $10
+ jr c, .asm_17aa0f
+ dec a
+.asm_17aa0f
+ ld c, $8
+ call SimpleMultiply
+ add $18
+ ld b, a
+ ld c, $11
+ ld hl, $6a72
+ ld a, $4
+ call Function17aa4a
+ ret
+
+; known jump sources: 17a9d8 (5e:69d8)
+Function17aa22: ; 17aa22 (5e:6a22)
+ ld a, $0
+ ld [$d08e], a
+ push de
+ ld a, $3
+ call Function17aae0
+ add a
+ add a
+ add a
+ add $0
+ push af
+ ld a, $4
+ call Function17aae0
+ add a
+ add a
+ add a
+ add $8
+ ld c, a
+ pop af
+ ld b, a
+ pop de
+ ld a, $0
+ ld hl, $6a77
+ call Function17aa4a
+ ret
+
+; known jump sources: 17a9f1 (5e:69f1), 17aa1e (5e:6a1e), 17aa46 (5e:6a46)
+Function17aa4a: ; 17aa4a (5e:6a4a)
+ ld [$d08d], a
+ ld a, b
+ add $8
+ ld b, a
+ ld a, c
+ add $10
+ ld c, a
+ ld a, [hli]
+.asm_17aa56
+ push af
+ ld a, [hli]
+ add c
+ ld [de], a
+ inc de
+ ld a, [hli]
+ add b
+ ld [de], a
+ inc de
+ ld a, [$d08d]
+ add [hl]
+ inc hl
+ ld [de], a
+ inc de
+ ld a, [$d08e]
+ or [hl]
+ inc hl
+ ld [de], a
+ inc de
+ pop af
+ dec a
+ jr nz, .asm_17aa56
+ ret
+; 17aa72 (5e:6a72)
+
+INCBIN "baserom.gbc",$17aa72,$17aa88 - $17aa72
+
+; known jump sources: 17a8c7 (5e:68c7), 17a8f9 (5e:68f9), 17a900 (5e:6900), 17a90d (5e:690d), 17a91a (5e:691a)
+Function17aa88: ; 17aa88 (5e:6a88)
+ jr c, asm_17aa91
+ ld de, $20
+ call StartSFX
+ ret
+
+; known jump sources: 17aa88 (5e:6a88)
+asm_17aa91: ; 17aa91 (5e:6a91)
+ ld de, $19
+ call StartSFX
+ ret
+
+; known jump sources: 17a8c1 (5e:68c1), 17a8cf (5e:68cf), 17a907 (5e:6907), 17a911 (5e:6911)
+Function17aa98: ; 17aa98 (5e:6a98)
+ ld a, $5
+ ld [$d08b], a
+ call Function17aaa9
+ call Function17aac3
+ ld hl, $d088
+ set 7, [hl]
+ ret
+
+; known jump sources: 17aa9d (5e:6a9d)
+Function17aaa9: ; 17aaa9 (5e:6aa9)
+ ld a, $3
+ call Function17aae3
+ ld c, a
+ ld b, $0
+ ld hl, AttrMap ; $cdd9
+ add hl, bc
+ push hl
+ ld a, $4
+ call Function17aae3
+ ld bc, $14
+ pop hl
+ call AddNTimes
+ ret
+
+; known jump sources: 17aaa0 (5e:6aa0)
+Function17aac3: ; 17aac3 (5e:6ac3)
+ ld a, $b
+ push hl
+ ld [hli], a
+ ld [hli], a
+ pop hl
+ ld de, $14
+ add hl, de
+ ld [hli], a
+ ld [hli], a
+ ret
+
+; known jump sources: 17a878 (5e:6878), 17a87f (5e:687f), 17a886 (5e:6886), 17a88d (5e:688d), 17a894 (5e:6894), 17a89b (5e:689b), 17a8a2 (5e:68a2), 17a8a9 (5e:68a9)
+Function17aad0: ; 17aad0 (5e:6ad0)
+ call Function17aae0
+
+; known jump sources: 17a7c4 (5e:67c4), 17a8d9 (5e:68d9)
+Function17aad3: ; 17aad3 (5e:6ad3)
+ ld [$d089], a
+ ret
+
+; known jump sources: 17a8cc (5e:68cc), 17a904 (5e:6904), 17aae0 (5e:6ae0)
+Function17aad7: ; 17aad7 (5e:6ad7)
+ push af
+ ld a, [$d089]
+ ld [$d08a], a
+ pop af
+ ret
+
+; known jump sources: 17a8e0 (5e:68e0), 17aa2a (5e:6a2a), 17aa35 (5e:6a35), 17aad0 (5e:6ad0)
+Function17aae0: ; 17aae0 (5e:6ae0)
+ call Function17aad7
+
+; known jump sources: 17aaab (5e:6aab), 17aab8 (5e:6ab8)
+Function17aae3: ; 17aae3 (5e:6ae3)
+ push af
+ ld a, [$d08a]
+ ld bc, $d
+ ld hl, $6af7
+ call AddNTimes
+ pop af
+ ld c, a
+ ld b, $0
+ add hl, bc
+ ld a, [hl]
+ ret
+; 17aaf7 (5e:6af7)
+
+INCBIN "baserom.gbc",$17aaf7,$17aba0 - $17aaf7
+
+; known jump sources: 17a6cd (5e:66cd)
+Function17aba0: ; 17aba0 (5e:6ba0)
+ ld a, [rVBK] ; $ff00+$4f
+ push af
+ ld a, $1
+ ld [rVBK], a ; $ff00+$4f
+ ld hl, $9000
+ ld de, $6fa5
+ ld bc, $5e80
+ call Get2bpp
+ pop af
+ ld [rVBK], a ; $ff00+$4f
+ ld hl, $8000
+ ld de, $7465
+ ld bc, $5e05
+ call Get2bpp
+ ld hl, $8050
+ ld de, $601a
+ ld bc, $4504
+ call Get2bpp
+ ret
+
+; known jump sources: 17a6df (5e:66df)
+Function17abcf: ; 17abcf (5e:6bcf)
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $5
+ ld [rSVBK], a ; $ff00+$70
+ ld hl, $6c55
+ ld de, Unkn1Pals ; $d000
+ ld bc, $30
+ call CopyBytes
+ ld hl, $6c95
+ ld de, MartPointer ; $d040 (aliases: Unkn2Pals)
+ ld bc, $40
+ call CopyBytes
+ ld hl, $74b5
+ ld de, $d048
+ ld bc, $10
+ call CopyBytes
+ ld hl, $7471
+ ld de, $d058
+ ld bc, $8
+ ld a, $2
+ call FarCopyBytes
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ ret
+
+; known jump sources: 17a6d6 (5e:66d6)
+Function17ac0c: ; 17ac0c (5e:6c0c)
+ call Function17ac1d
+ call Function17ac2a
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld b, $2
+ ld c, $12
+ call Function17ac46
+ ret
+
+; known jump sources: 17a7e3 (5e:67e3), 17a804 (5e:6804), 17a826 (5e:6826), 17ac0c (5e:6c0c)
+Function17ac1d: ; 17ac1d (5e:6c1d)
+ ld hl, $6cd5
+ ld de, $c4f0
+ ld bc, $118
+ call CopyBytes
+ ret
+
+; known jump sources: 17a7e6 (5e:67e6), 17a807 (5e:6807), 17a829 (5e:6829), 17ac0f (5e:6c0f)
+Function17ac2a: ; 17ac2a (5e:6c2a)
+ ld hl, $6e3d
+ ld de, $ce29
+ ld bc, $118
+ call CopyBytes
+ ld hl, $ce29
+ ld bc, $118
+.asm_17ac3c
+ ld a, [hl]
+ or $8
+ ld [hli], a
+ dec bc
+ ld a, b
+ or c
+ jr nz, .asm_17ac3c
+ ret
+
+; known jump sources: 17a9a5 (5e:69a5), 17ac19 (5e:6c19)
+Function17ac46: ; 17ac46 (5e:6c46)
+ ld a, [$d088]
+ bit 4, a
+ jr nz, .asm_17ac51
+ call TextBox
+ ret
+.asm_17ac51
+ call Function3eea
+ ret
+; 17ac55 (5e:6c55)
+
+INCBIN "baserom.gbc",$17ac55,$17b629 - $17ac55
+
+
SECTION "bank5F",ROMX,BANK[$5F]
Function17c000: ; 17c000
@@ -83087,7 +123293,7 @@
ret
; 17c083
-INCBIN "baserom.gbc", $17c083, $17d0b3 - $17c083
+INCBIN "baserom.gbc",$17c083,$17d0b3 - $17c083
Function17d0b3: ; 17d0b3
.asm_17d0b3
@@ -83133,7 +123339,7 @@
ret
; 17d0f3
-INCBIN "baserom.gbc", $17d0f3, $17d1e1 - $17d0f3
+INCBIN "baserom.gbc",$17d0f3,$17d1e1 - $17d0f3
Function17d1e1: ; 17d1e1
.asm_17d1e1
@@ -83227,7 +123433,7 @@
ret
; 17d26a
-INCBIN "baserom.gbc", $17d26a, $17d2b6 - $17d26a
+INCBIN "baserom.gbc",$17d26a,$17d2b6 - $17d26a
Function17d2b6: ; 17d2b6
call Function17d2c0
@@ -83385,7 +123591,7 @@
ret
; 17d3f6
-INCBIN "baserom.gbc", $17d3f6, $17d45a - $17d3f6
+INCBIN "baserom.gbc",$17d3f6,$17d45a - $17d3f6
Function17d45a: ; 17d45a
.asm_17d45a
@@ -83416,7 +123622,7 @@
jp [hl]
; 17d483
-INCBIN "baserom.gbc", $17d483, $17d60b - $17d483
+INCBIN "baserom.gbc",$17d483,$17d60b - $17d483
Function17d60b: ; 17d60b
ld a, $5
@@ -83507,7 +123713,7 @@
ret
; 17d6a1
-INCBIN "baserom.gbc", $17d6a1, $17f036 - $17d6a1
+INCBIN "baserom.gbc",$17d6a1,$17f036 - $17d6a1
Function17f036: ; 17f036
@@ -83926,7 +124132,7 @@
ret
; 17f26e
-INCBIN "baserom.gbc", $17f26e, $17f27b - $17f26e
+INCBIN "baserom.gbc",$17f26e,$17f27b - $17f26e
Function17f27b: ; 17f27b
pop hl
@@ -84637,7 +124843,7 @@
ret
; 17f699
-INCBIN "baserom.gbc", $17f699, $17f6b7 - $17f699
+INCBIN "baserom.gbc",$17f699,$17f6b7 - $17f699
Function17f6b7: ; 17f6b7
ld a, [$c300]
@@ -84665,7 +124871,7 @@
ret
; 17f6dc
-INCBIN "baserom.gbc", $17f6dc, $17ff23 - $17f6dc
+INCBIN "baserom.gbc",$17f6dc,$17ff23 - $17f6dc
Function17ff23: ; 17ff23
ld a, [hJoyPressed]
@@ -84705,7 +124911,7 @@
ret
; 17ff68
-INCBIN "baserom.gbc", $17ff68, $17ff6c - $17ff68
+INCBIN "baserom.gbc",$17ff68,$17ff6c - $17ff68
SECTION "bank60",ROMX,BANK[$60]
@@ -85106,7 +125312,7 @@
INCBIN "gfx/misc/unown_font.2bpp"
; 1dc1b0
-INCBIN "baserom.gbc", $1dc1b0, $1dc381 - $1dc1b0
+INCBIN "baserom.gbc",$1dc1b0,$1dc381 - $1dc1b0
Function1dc381: ; 1dc381
call WhiteBGMap
@@ -85306,12 +125512,60 @@
ret
; 1dc550
-INCBIN "baserom.gbc", $1dc550, $1dc5a1 - $1dc550
+INCBIN "baserom.gbc",$1dc550,$1dc5a1 - $1dc550
INCLUDE "tilesets/data_7.asm"
-INCBIN "baserom.gbc", $1dd6a9, $1dd702 - $1dd6a9
+INCBIN "baserom.gbc",$1dd6a9,$1dd6bb - $1dd6a9
+; no known jump sources
+Function1dd6bb: ; 1dd6bb (77:56bb)
+ ld a, b
+ cp $c
+ push af
+ jr c, .asm_1dd6c7
+ jr z, .asm_1dd6cc
+ sub $c
+ jr .asm_1dd6cc
+.asm_1dd6c7
+ or a
+ jr nz, .asm_1dd6cc
+ ld a, $c
+.asm_1dd6cc
+ ld b, a
+ push bc
+ ld hl, [sp+$1]
+ push de
+ push hl
+ pop de
+ pop hl
+ ld [hl], $7f
+ ld bc, $102
+ call PrintNum
+ ld [hl], $9c
+ inc hl
+ ld d, h
+ ld e, l
+ ld hl, [sp+$0]
+ push de
+ push hl
+ pop de
+ pop hl
+ ld bc, $8102
+ call PrintNum
+ pop bc
+ ld de, $56fc
+ pop af
+ jr c, .asm_1dd6f7
+ ld de, $56ff
+.asm_1dd6f7
+ inc hl
+ call PlaceString
+ ret
+; 1dd6fc (77:56fc)
+
+INCBIN "baserom.gbc",$1dd6fc,$1dd702 - $1dd6fc
+
Function1dd702: ; 1dd702
call Function1dd709
call Functiona80
@@ -85351,7 +125605,7 @@
ret
; 1dd760
-INCBIN "baserom.gbc", $1dd760, $1dd7ae - $1dd760
+INCBIN "baserom.gbc",$1dd760,$1dd7ae - $1dd760
Function1dd7ae: ; 1dd7ae
ld hl, TileMap
@@ -85380,7 +125634,7 @@
ret
; 1dd7f0
-INCBIN "baserom.gbc", $1dd7f0, $1ddf1c - $1dd7f0
+INCBIN "baserom.gbc",$1dd7f0,$1ddf1c - $1dd7f0
Function1ddf1c: ; 1ddf1c
@@ -85390,9 +125644,19 @@
ret
; 1ddf26
-INCBIN "baserom.gbc", $1ddf26, $1de0d7 - $1ddf26
+; no known jump sources
+Function1ddf26: ; 1ddf26 (77:5f26)
+ ld hl, $5f33
+ ld de, $9310
+ ld bc, $773a
+ call Functione73
+ ret
+; 1ddf33 (77:5f33)
+INCBIN "baserom.gbc",$1ddf33,$1de0d7 - $1ddf33
+
+
Function1de0d7: ; 1de0d7
ld hl, $60e1
ld de, $a000
@@ -85400,9 +125664,99 @@
ret
; 1de0e1
-INCBIN "baserom.gbc", $1de0e1, $1de247 - $1de0e1
+INCBIN "baserom.gbc",$1de0e1,$1de171 - $1de0e1
+; no known jump sources
+Function1de171: ; 1de171 (77:6171)
+ ld a, $32
+ ld hl, $c5f4
+ ld bc, $c
+ call ByteFill
+ ld hl, $c4b4
+ ld bc, $f0b
+ call ClearBox
+ ld a, $34
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld bc, $b
+ call ByteFill
+ ld a, $39
+ ld hl, $c5e0
+ ld bc, $b
+ call ByteFill
+ ld hl, $c4a5
+ ld [hl], $3f
+ ld hl, $c5e5
+ ld [hl], $40
+ ld a, [$c7d4]
+ cp $1
+ jr z, .asm_1de1bf
+ ld hl, $c4ab
+ ld [hl], $50
+ ld a, $51
+ ld hl, $c4bf
+ ld b, $f
+ call Function1de27f
+ ld [hl], $52
+ jr .asm_1de1d0
+.asm_1de1bf
+ ld hl, $c4ab
+ ld [hl], $66
+ ld a, $67
+ ld hl, $c4bf
+ ld b, $f
+ call Function1de27f
+ ld [hl], $68
+.asm_1de1d0
+ ret
+; no known jump sources
+Function1de1d1: ; 1de1d1 (77:61d1)
+ ld a, $34
+ ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld bc, $b
+ call ByteFill
+ ld a, $39
+ ld hl, $c568
+ ld bc, $b
+ call ByteFill
+ ld hl, $c4a5
+ ld [hl], $3f
+ ld hl, $c56d
+ ld [hl], $40
+ ld hl, $c4ab
+ ld [hl], $66
+ ld a, $67
+ ld hl, $c4bf
+ ld b, $9
+ call Function1de27f
+ ld [hl], $68
+ ld a, $34
+ ld hl, $c57c
+ ld bc, $b
+ call ByteFill
+ ld a, $39
+ ld hl, $c5f4
+ ld bc, $b
+ call ByteFill
+ ld hl, $c587
+ ld [hl], $66
+ ld a, $67
+ ld hl, $c59b
+ ld b, $5
+ call Function1de27f
+ ld [hl], $68
+ ld hl, $c590
+ ld bc, $50b
+ call ClearBox
+ ld de, $623c
+ ld hl, $c590
+ call PlaceString
+ ret
+; 1de23c (77:623c)
+
+INCBIN "baserom.gbc",$1de23c,$1de247 - $1de23c
+
+
Function1de247: ; 1de247
ld a, [hBGMapAddress]
ld l, a
@@ -85528,7 +125882,7 @@
INCBIN "gfx/misc/pokegear.lz"
; 1de5c7
-INCBIN "baserom.gbc", $1de5c7, $1de5c8 - $1de5c7
+INCBIN "baserom.gbc",$1de5c7,$1de5c8 - $1de5c7
Function1de5c8: ; 1de5c8
ld c, $0
@@ -85554,7 +125908,7 @@
ret
; 1de5e6
-INCBIN "baserom.gbc", $1de5e6, $1df1e6 - $1de5e6
+INCBIN "baserom.gbc",$1de5e6,$1df1e6 - $1de5e6
Function1df1e6: ; 1df1e6
ld b, $21
@@ -85653,12 +126007,12 @@
SECTION "bank7C",ROMX,BANK[$7C]
-INCBIN "baserom.gbc", $1f0000, $1f09d8 - $1f0000
+INCBIN "baserom.gbc",$1f0000,$1f09d8 - $1f0000
SECTION "bank7D",ROMX,BANK[$7D]
-INCBIN "baserom.gbc", $1f4000, $1f4003 - $1f4000
+INCBIN "baserom.gbc",$1f4000,$1f4003 - $1f4000
Function1f4003: ; 1f4003
ld a, $6
@@ -85671,7 +126025,7 @@
ret
; 1f4018
-INCBIN "baserom.gbc", $1f4018, $1f636a - $1f4018
+INCBIN "baserom.gbc",$1f4018,$1f636a - $1f4018
SECTION "bank7E",ROMX,BANK[$7E]
@@ -85683,5 +126037,5 @@
SECTION "bank7F",ROMX,BANK[$7F]
SECTION "stadium2",ROMX[$8000-$220],BANK[$7F]
-INCBIN "baserom.gbc", $1ffde0, $220
+INCBIN "baserom.gbc",$1ffde0,$200000 - $1ffde0