diff options
Diffstat (limited to 'misc')
-rw-r--r-- | misc/mobile_40.asm | 8080 | ||||
-rw-r--r-- | misc/mobile_42.asm | 1947 | ||||
-rw-r--r-- | misc/mobile_45.asm | 24075 | ||||
-rw-r--r-- | misc/mobile_5f.asm | 5234 | ||||
-rw-r--r-- | misc/unused_title.asm | 559 |
5 files changed, 39895 insertions, 0 deletions
diff --git a/misc/mobile_40.asm b/misc/mobile_40.asm new file mode 100644 index 000000000..12cbd326c --- /dev/null +++ b/misc/mobile_40.asm @@ -0,0 +1,8080 @@ + +SECTION "bank40", ROMX, BANK[$40] + +Function100000: ; 100000 + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + call Function100022 + call Function1000ba + call Function100675 + call Function100057 + call Function10016f + call Function100276 + push bc + call Function100301 + pop bc + pop af + ld [rSVBK], a + ret +; 100022 + +Function100022: ; 100022 + push de + push bc + call Function100063 + pop bc + pop de + ld a, d + ld [wcd21], a + ld a, e + ld [CreditsTimer], a + ld a, c + ld [wcd23], a + ld a, b + ld [wcd24], a + callba Function10127e + callba Function106462 + callba Function106464 + callba Function11615a + ld hl, VramState + set 1, [hl] + ret +; 100057 + +Function100057: ; 100057 + call Function1000a4 + call Function222a + ld hl, VramState + res 1, [hl] + ret +; 100063 + +Function100063: ; 100063 + xor a + ld hl, BGMapBuffer + ld bc, $0065 + call ByteFill + xor a + ld hl, wc300 + ld bc, $100 + call ByteFill + ld a, [rIE] + ld [BGMapBuffer], a + xor a + ld [$ffde], a + ld [hLCDStatCustom], a + ret +; 100082 + +Function100082: ; 100082 + xor a + ld hl, OverworldMap + ld bc, 1300 + call ByteFill + di + call DoubleSpeed + xor a + ld [rIF], a + ld a, 1 << VBLANK + 1 << LCD_STAT + 1 << TIMER + 1 << SERIAL + ld [rIE], a + xor a + ld [$ffde], a + ld [hLCDStatCustom], a + ld a, $1 + ld [$ffc9], a + ld [$ffe9], a + ei + ret +; 0x1000a4 + +Function1000a4: ; 1000a4 + di + xor a + ld [$ffc9], a + ld [$ffe9], a + xor a + ld [hVBlank], a + call NormalSpeed + xor a + ld [rIF], a + ld a, [BGMapBuffer] + ld [rIE], a + ei + ret +; 1000ba + +Function1000ba: ; 1000ba +.asm_1000ba + ld hl, wcd23 + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [wcd25] + ld e, a + ld d, $0 + add hl, de + add hl, de + ld a, [CreditsTimer] + call GetFarHalfword + ld a, [CreditsTimer] + rst FarCall + call Function1000e8 + call Function1000fa + call Function100144 + call Function100163 + ld a, [wcd2b] + and a + jr z, .asm_1000ba + call DelayFrame + ret +; 1000e8 + +Function1000e8: ; 1000e8 + ld hl, wcd29 + bit 7, [hl] + ret z + callba Function115dd3 + ld hl, wcd29 + set 6, [hl] + ret +; 1000fa + +Function1000fa: ; 1000fa + ld a, [wc30d] + and a + ret z + ld hl, wcd29 + bit 4, [hl] + ret z + ld a, [wcd2b] + and a + jr nz, .asm_100117 + callba Function11619d + ld hl, wcd29 + set 6, [hl] + ret + +.asm_100117 + di + xor a + ld [rIF], a + ld a, [rIE] + and $13 + ld [rIE], a + xor a + ld [$ffc9], a + ld [$ffe9], a + ei + ld a, [InLinkBattle] + push af + xor a + ld [InLinkBattle], a + ld a, $4 + ld [wc319], a + callba Function11619d + ld hl, wcd29 + set 6, [hl] + pop af + ld [InLinkBattle], a + ret +; 100144 + +Function100144: ; 100144 + ld hl, wcd29 + bit 5, [hl] + jr z, .asm_100155 + res 5, [hl] + res 2, [hl] + res 6, [hl] + call Function100320 + ret + +.asm_100155 + bit 2, [hl] + ret z + res 2, [hl] + res 6, [hl] + callba Function10402d + ret +; 100163 + +Function100163: ; 100163 + ld hl, wcd29 + bit 6, [hl] + ret z + res 6, [hl] + call DelayFrame + ret +; 10016f + +Function10016f: ; 10016f + ld a, [wcd2b] + cp $1 + ret z + cp $2 + ret z + cp $ff + jp z, .asm_1001f5 + cp $fe + jr z, .asm_1001c4 + cp $f5 + jr z, .asm_1001e7 + cp $f6 + jr z, .asm_1001b6 + cp $fa + jp z, .asm_1001bd + cp $f7 + jp z, .asm_1001ee + cp $f4 + jr z, .asm_1001d2 + cp $f3 + jr z, .asm_1001cb + cp $f1 + jr z, .asm_1001c4 + cp $f2 + jr z, .asm_1001c4 + cp $fc + jr z, .asm_1001e6 + cp $fb + jr z, .asm_1001af + cp $f8 + ret z + ret + +.asm_1001af + ld a, $d7 + ld de, $0000 + jr .asm_1001d7 + +.asm_1001b6 + ld a, $d5 + ld de, $0000 + jr .asm_1001d7 + +.asm_1001bd + ld a, $d6 + ld de, $0000 + jr .asm_1001d7 + +.asm_1001c4 + ld a, $d2 + ld de, $0002 + jr .asm_1001d7 + +.asm_1001cb + ld a, $d1 + ld de, $0001 + jr .asm_1001d7 + +.asm_1001d2 + ld a, $d0 + ld de, $0000 + +.asm_1001d7 + ld [wc300], a + ld a, d + ld [wc302], a + ld a, e + ld [wc301], a + call Function10020b + ret + +.asm_1001e6 + ret + +.asm_1001e7 + ld de, String10025e + call Function100232 + ret + +.asm_1001ee + ld de, String10024d + call Function100232 + ret + +.asm_1001f5 + ld a, [wcd2c] + ld [wc300], a + ld a, [wcd2d] + ld [wc302], a + ld a, [wcd2d] + ld [wc301], a + call Function10020b + ret +; 10020b + +Function10020b: ; 10020b + xor a + ld [wc303], a + callba Function8c084 + callba Function106464 + call HideSprites + call DelayFrame + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + callba Function17f555 + pop af + ld [rSVBK], a + ret +; 100232 + +Function100232: ; 100232 + push de + callba Function106464 + call Function3f20 + call Function1ad2 + hlcoord 1, 2 + pop de + call PlaceString + call Function100320 + call Functiona36 + ret +; 10024d + +String10024d: ; 10024d + db "つうしんを キャンセル しました@" +; 10025e + +String10025e: ; 10025e + db "おともだちと えらんだ へやが" + next "ちがうようです@" +; 100276 + +Function100276: ; 100276 + ld a, [wcd2b] + cp $1 + jr z, .asm_10029f + cp $2 + jr z, .asm_100296 + cp $f5 + jr z, .asm_1002a5 + cp $f6 + jr z, .asm_1002a5 + cp $f7 + jr z, .asm_100293 + cp $f8 + jr z, .asm_1002b1 + jr .asm_1002c0 + +.asm_100293 + ld c, $2 + ret + +.asm_100296 + callba Script_reloadmappart + ld c, $4 + ret + +.asm_10029f + call Function1002dc + ld c, $0 + ret + +.asm_1002a5 + callba Script_reloadmappart + call Function1002ed + ld c, $3 + ret + +.asm_1002b1 + call Function1002c9 + call Function1002dc + ld de, String10024d + call Function100232 + ld c, $2 + ret + +.asm_1002c0 + call Function1002c9 + call Function1002dc + ld c, $1 + ret +; 1002c9 + +Function1002c9: ; 1002c9 + ld hl, wcd2a + bit 0, [hl] + ret z + callba Function3f6d0 + callba Function1500c + ret +; 1002dc + +Function1002dc: ; 1002dc + ld a, $f8 + ld [$ff9f], a + callba RunMapSetupScript + xor a + ld [$ff9f], a + call Functione51 + ret +; 1002ed + +Function1002ed: ; 1002ed + callba Function49409 + callba Function96a4 + ld a, $1 + ld [hCGBPalUpdate], a + call DelayFrame + ret +; 100301 + +Function100301: ; 100301 + ld hl, wcd2a + bit 1, [hl] + ret z + callba Function106464 + callba Function10202c + callba Function115dd3 + call Function100320 + call Functiona36 + ret +; 100320 + +Function100320: ; 100320 + callba Function104099 + ret +; 100327 + +Function100327: ; 100327 + callba Function10402d + ret +; 100327 + + +Function10032e: ; 10032e + call Function10034d + ld e, a + ret nc + ld [wcd2b], a + ret +; 100337 + +Function100337: ; 100337 + call Function10032e + ret c + ld a, [wc821] + bit 4, a + jr z, .asm_100345 + ld a, e + and a + ret + +.asm_100345 + ld a, $f9 + ld e, a + ld [wcd2b], a + scf + ret +; 10034d + +Function10034d: ; 10034d + ld a, [wc821] + bit 1, a + jr nz, .asm_10036a + bit 2, a + jr nz, .asm_10037e + bit 3, a + jr nz, .asm_100366 + bit 0, a + jr nz, .asm_100364 + ld a, $1 + and a + ret + +.asm_100364 + xor a + ret + +.asm_100366 + ld a, $2 + and a + ret + +.asm_10036a + ld a, $0 + call Function3e32 + ld [wcd2c], a + ld a, h + ld [wcd2d], a + ld a, l + ld [wcd2e], a + ld a, $ff + scf + ret + +.asm_10037e + ld a, $fe + scf + ret +; 100382 + +Function100382: ; 100382 + ld a, [wcd27] + ld hl, Jumptable_10044e + rst JumpTable + ret +; 10038a + +Function10038a: ; 10038a + ld hl, wccb4 + ld a, $2e + call Function3e32 + ret +; 100393 + +Function100393: ; 100393 + ld hl, wcc60 + ld a, $3a + call Function3e32 + ret +; 10039c + +Function10039c: ; 10039c + ld hl, wcc60 + ld de, wd000 + ld bc, $0054 + ld a, $3 + call FarCopyWRAM + ret +; 1003ab + +Function1003ab: ; 1003ab + ld hl, wd000 + ld de, wcc60 + ld bc, $0054 + ld a, $3 + call FarCopyWRAM + ret +; 1003ba + +Function1003ba: ; 1003ba + ld hl, wccb4 + ld de, $d080 + ld bc, $0054 + ld a, $3 + call FarCopyWRAM + ret +; 1003c9 + +Function1003c9: ; 1003c9 + ld hl, $d080 + ld de, wccb4 + ld bc, $0054 + ld a, $3 + call FarCopyWRAM + ret +; 1003d8 + +Function1003d8: ; 1003d8 + ld hl, wccb4 + ld a, [hli] + ld c, a + ld b, $0 + push hl + add hl, bc + ld a, [BGMapPalBuffer] + ld [hl], a + pop hl + inc bc + call Function10043a + add hl, bc + ld [hl], e + inc hl + ld [hl], d + ld a, c + add $2 + ld [wccb4], a + ret +; 1003f5 + +Function1003f5: ; 1003f5 + ld a, [wcc60] + sub $3 + ld [wcc60], a + ld a, [wccb4] + sub $3 + ld [wccb4], a + ret +; 100406 + +Function100406: ; 100406 + ld a, [wcc60] + sub $2 + ld c, a + ld b, $0 + ld hl, wcc61 + call Function10043a + add hl, bc + ld a, [hli] + cp e + jr nz, .asm_100426 + ld a, [hld] + cp d + jr nz, .asm_100426 + dec hl + ld a, [BGMapPalBuffer] + cp [hl] + jr nz, .asm_10042d + xor a + ret + +.asm_100426 + ld a, $f4 + ld [wcd2b], a + jr .asm_100432 + +.asm_10042d + ld a, $f3 + ld [wcd2b], a + +.asm_100432 + push hl + ld hl, wcd7c + inc [hl] + pop hl + scf + ret +; 10043a + +Function10043a: ; 10043a + push hl + push bc + ld de, $0000 +.asm_10043f + ld a, [hli] + add e + ld e, a + ld a, d + adc $0 + ld d, a + dec bc + ld a, b + or c + jr nz, .asm_10043f + pop bc + pop hl + ret +; 10044e + + +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] + call Function1003d8 + call Function1003ba + ld a, [wcd27] + inc a + ld [wcd27], a + ret +; 10047c + +Function10047c: ; 10047c + call Function100337 + ret c + ret z + cp $2 + jr z, .asm_100487 + jr .asm_10048d + +.asm_100487 + ld a, $8 + ld [wcd27], a + ret + +.asm_10048d + ld a, $2 + ld [wcd27], a + ret +; 100493 + +Function100493: ; 100493 + jr asm_100497 + +Function100495: ; 100495 + jr asm_100497 + +asm_100497 + call Function100337 + ret c + ret z + ld a, [wcd27] + inc a + ld [wcd27], a + ret +; 1004a4 + +Function1004a4: ; 1004a4 + call Function100406 + jr c, .asm_1004b8 + call Function1003c9 + call Function1003f5 + ld a, [wcd27] + set 7, a + ld [wcd27], a + ret + +.asm_1004b8 + scf + ret +; 1004ba + +Function1004ba: ; 1004ba + call Function10038a + and a + jr nz, .asm_1004c8 + ld a, [wcd27] + inc a + ld [wcd27], a + ret + +.asm_1004c8 + ld a, $8 + ld [wcd27], a + ret +; 1004ce + +Function1004ce: ; 1004ce + call Function100337 + ret c + ret z + cp $2 + ret nz + ld a, [wcd27] + inc a + ld [wcd27], a + ret +; 1004de + +Function1004de: ; 1004de + call Function100393 + ld a, [wcd27] + inc a + ld [wcd27], a + ret +; 1004e9 + +Function1004e9: ; 1004e9 + call Function10038a + ld a, [wcd27] + inc a + ld [wcd27], a + ret +; 1004f4 + +Function1004f4: ; 1004f4 + call Function100337 + ret c + ret z + ld a, [wcd27] + inc a + ld [wcd27], a + call Function10039c + ret +; 100504 + +Function100504: ; 100504 + push de + call Function3f20 + call Function1ad2 + pop de + hlcoord 4, 2 + call PlaceString + ret +; 100513 + +Function100513: ; 100513 + call Function3f7c + call Function1c89 + call Function1c10 + ld hl, wcfa5 + set 7, [hl] + ret +; 100522 + +Function100522: ; 100522 + ld a, [wcd28] + ld hl, Jumptable_10052a + rst JumpTable + ret +; 10052a + +Jumptable_10052a: ; 10052a + dw Function100534 + dw Function100545 + dw Function100545 + dw Function100545 + dw Function10054d +; 100534 + +Function100534: ; 100534 + call Function100513 + call Function1ad2 + call Function321c + ld a, [wcd28] + inc a + ld [wcd28], a + ret +; 100545 + +Function100545: ; 100545 + ld a, [wcd28] + inc a + ld [wcd28], a + ret +; 10054d + +Function10054d: ; 10054d + callba Function241ba + ld a, c + ld hl, wcfa8 + and [hl] + ret z + call Function1ff8 + bit 0, a + jr nz, .asm_100565 + bit 1, a + jr nz, .asm_10056f + ret + +.asm_100565 + ld a, [wcd28] + set 7, a + ld [wcd28], a + and a + ret + +.asm_10056f + ld a, [wcd28] + set 7, a + ld [wcd28], a + scf + ret +; 100579 + +Function100579: ; 100579 + ld a, [wcd26] + ld hl, Jumptable_100581 + rst JumpTable + ret +; 100581 + +Jumptable_100581: ; 100581 + dw Function100585 + dw Function100597 +; 100585 + +Function100585: ; 100585 + ld hl, MenuDataHeader_1005b2 + call LoadMenuDataHeader + ld a, $0 + ld [wcd28], a + ld a, [wcd26] + inc a + ld [wcd26], a + +Function100597: ; 100597 + call Function100522 + ld a, [wcd28] + bit 7, a + ret z + jr nc, .asm_1005a6 + xor a + ld [wcfa9], a + +.asm_1005a6 + call Function1c07 + ld a, [wcd26] + set 7, a + ld [wcd26], a + ret +; 1005b2 + +MenuDataHeader_1005b2: ; 1005b2 + db $40 ; flags + db 6, 14 + db 10, 19 + dw MenuData2_1005ba + db 1 ; default option + +MenuData2_1005ba: + db $c0 ; flags + db 2 + db "はい@" + db "いいえ@" +; 1005c3 + +Function1005c3: ; 1005c3 + ld a, [wcd26] + ld hl, Jumptable_1005cb + rst JumpTable + ret +; 1005cb + +Jumptable_1005cb: ; 1005cb + dw Function1005cf + dw Function1005e1 +; 1005cf + +Function1005cf: ; 1005cf + ld hl, MenuDataHeader_1005fc + call LoadMenuDataHeader + ld a, $0 + ld [wcd28], a + ld a, [wcd26] + inc a + ld [wcd26], a + +Function1005e1: ; 1005e1 + call Function100522 + ld a, [wcd28] + bit 7, a + ret z + jr nc, .asm_1005f0 + xor a + ld [wcfa9], a +.asm_1005f0 + call Function1c07 + ld a, [wcd26] + set 7, a + ld [wcd26], a + ret +; 1005fc + +MenuDataHeader_1005fc: ; 1005fc + db $40 ; flags + db 6, 14 + db 10, 19 + dw MenuData2_100604 + db 1 ; default option + +MenuData2_100604: ; 100604 + db $c0 ; flags + db 2 + db "かける@" + db "まつ@" +; 10060d + +Function10060d: ; 10060d + hlcoord 3, 10 + ld b, $1 + ld c, $b + call Function3eea + ld de, String_100621 + hlcoord 4, 11 + call PlaceString + ret +; 100621 + +String_100621: ; 100621 + db "つうしんたいきちゅう!@" +; 10062d + +Function10062d: ; 10062d + push bc + call Function10064e + pop bc + ld a, [wcd44] + cp b + jr nc, .asm_10063a + and a + ret + +.asm_10063a + ld a, $fa + ld [wcd2b], a + scf + ret +; 100641 + +Function100641: ; 100641 + xor a + ld [wcd44], a + ld [wcd45], a + ld [wcd46], a + ret +; 10064c + +Function10064c: ; 10064c + ld c, 1 + +Function10064e: ; 10064e + ld hl, wcd46 + ld a, [hl] + add c + cp $3c + jr c, .asm_100658 + xor a + +.asm_100658 + ld [hld], a + ret c + ld a, [hl] + inc a + cp $3c + jr c, .asm_100661 + xor a + +.asm_100661 + ld [hld], a + ret c + inc [hl] + ret +; 100665 + +Function100665: ; 100665 + call UpdateTime + ld hl, wcd36 + ld a, [hHours] + ld [hli], a + ld a, [hMinutes] + ld [hli], a + ld a, [hSeconds] + ld [hl], a + ret +; 100675 + +Function100675: ; 100675 + ld hl, wcd2a + bit 2, [hl] + set 2, [hl] + ret nz + call Function1006d3 + ret +; 100681 + +Function100681: ; 100681 + push hl + ld hl, wcd2a + bit 2, [hl] + ld hl, wcd2a + set 2, [hl] + pop hl + jr nz, .asm_100694 + push hl + call Function1006d3 + pop hl +.asm_100694 + ld de, wcd32 + +Function100697: ; 100697 + ld a, [de] + and a + jr nz, .asm_1006bb + inc de + push de + call .asm_1006b4 + ld de, String1006c2 + call PlaceString + ld h, b + ld l, c + pop de + inc de + call .asm_1006b4 + ld de, String1006c6 + call PlaceString + ret + +.asm_1006b4 + ld bc, $8102 + call PrintNum + ret + +.asm_1006bb + ld de, String1006ca + call PlaceString + ret +; 1006c2 + +String1006c2: ; 1006c2 + db "ふん @" +String1006c6: ; 1006c6 + db "びょう@" +String1006ca: ; 1006ca + db "1じかんいじょう@" +; 1006d3 + +Function1006d3: ; 1006d3 + call UpdateTime + ld de, wcd34 + ld hl, wcd38 + +Function1006dc: ; 1006dc + ld a, [hld] + ld c, a + ld a, [hSeconds] + sub c + jr nc, .asm_1006e5 + add $3c + +.asm_1006e5 + ld [de], a + dec de + ld a, [hld] + ld c, a + ld a, [hMinutes] + sbc c + jr nc, .asm_1006f0 + add $3c + +.asm_1006f0 + ld [de], a + dec de + ld a, [hl] + ld c, a + ld a, [hHours] + sbc c + jr nc, .asm_1006fb + add $18 + +.asm_1006fb + ld [de], a + ret +; 1006fd + +Function1006fd: ; 1006fd + ld a, $4 + ld hl, $a800 + call GetSRAMBank + xor a + ld [hli], a + ld [hli], a + ld [hli], a + call CloseSRAM + ret +; 10070d + +Function10070d: ; 10070d + ld a, $4 + ld hl, $a800 + call GetSRAMBank + xor a + ld [hli], a + ld a, $a + ld [hli], a + xor a + ld [hli], a + call CloseSRAM + ret +; 100720 + +Function100720: ; 100720 + xor a + ld [wcd6a], a + call UpdateTime + ld a, [hHours] + ld [wcd72], a + ld a, [hMinutes] + ld [wcd73], a + ld a, [hSeconds] + ld [wcd74], a + ld a, $4 + ld hl, $a800 + call GetSRAMBank + ld a, [hli] + ld [wcd6c], a + ld a, [hli] + ld [wcd6d], a + ld a, [hli] + ld [wcd6e], a + call CloseSRAM + ld a, [wcd6d] + ld [wcd6b], a + ret +; 100754 + +Function100754: ; 100754 + call UpdateTime + ld a, [hHours] + ld [wcd72], a + ld a, [hMinutes] + ld [wcd73], a + ld a, [hSeconds] + ld [wcd74], a + ld a, [wcd6d] + ld [wcd6b], a + ld hl, wcd2a + res 6, [hl] + ret +; 100772 + +Function100772: ; 100772 + push de + ld hl, wcd6c + ld a, [de] + cp [hl] + jr c, .asm_10079a + jr nz, .asm_10078c + inc hl + inc de + ld a, [de] + cp [hl] + jr c, .asm_10079a + jr nz, .asm_10078c + inc hl + inc de + ld a, [de] + cp [hl] + jr c, .asm_10079a + jr z, .asm_10079a + +.asm_10078c + pop hl + ld a, [hli] + ld [wcd6c], a + ld a, [hli] + ld [wcd6d], a + ld a, [hli] + ld [wcd6e], a + ret + +.asm_10079a + pop de + ret +; 10079c + + +Function10079c: ; 10079c + ld a, [wcd21] + cp $1 + jr nz, .asm_1007f4 + ld hl, wcd2a + bit 5, [hl] + jr nz, .asm_1007f4 + ld hl, wcd2a + bit 6, [hl] + jr nz, .asm_1007f4 + ld a, [wcd6a] + add c + cp $3c + jr nc, .asm_1007be + ld [wcd6a], a + and a + ret + +.asm_1007be + sub $3c + ld [wcd6a], a + ld d, b + push de + call Function1007f6 + pop de + jr c, .asm_1007e5 + ld a, c + and a + jr nz, .asm_1007e5 + ld a, b + cp $a + jr nc, .asm_1007e5 + ld a, d + and a + ret z + ld a, [wcd6b] + cp b + ret z + ld a, b + ld [wcd6b], a + call Function1008e0 + and a + ret + +.asm_1007e5 + call Function1008e0 + ld hl, wcd2a + set 4, [hl] + ld a, $fc + ld [wcd2b], a + scf + ret + +.asm_1007f4 + and a + ret +; 1007f6 + +Function1007f6: ; 1007f6 + call UpdateTime + ld hl, wcd74 + ld de, wcd71 + call Function1006dc + ld a, $4 + call GetSRAMBank + ld hl, $a802 + call Function100826 + call CloseSRAM + ld hl, wcd6e + call Function100826 + ld a, [hHours] + ld [wcd72], a + ld a, [hMinutes] + ld [wcd73], a + ld a, [hSeconds] + ld [wcd74], a + ret +; 100826 + +Function100826: ; 100826 + ld a, [wcd71] + add [hl] + sub $3c + jr nc, .asm_100830 + add $3c + +.asm_100830 + ld [hld], a + ccf + ld a, [BGMapBufferPtrs] + adc [hl] + sub $3c + jr nc, .asm_10083c + add $3c + +.asm_10083c + ld [hld], a + ld b, a + ccf + ld a, [wcd6f] + adc [hl] + ld [hl], a + ld c, a + ret +; 100846 + +Function100846: ; 100846 + ld hl, wcd2a + bit 5, [hl] + jr nz, .asm_10087c + ld a, [wcd6e] + ld c, a + ld a, $0 + sub c + jr nc, .asm_100858 + add $3c + +.asm_100858 + ld [StringBuffer2 + 2], a + ld a, [wcd6d] + ld c, a + ld a, $a + sbc c + ld [StringBuffer2 + 1], a + xor a + ld [StringBuffer2], a + ld de, String_10088e + hlcoord 1, 14 + call PlaceString + ld de, StringBuffer2 + hlcoord 4, 16 + call Function100697 + ret + +.asm_10087c + ld de, String_10088e + hlcoord 1, 14 + call PlaceString + ld h, b + ld l, c + ld de, String_10089f + call PlaceString + ret +; 10088e + +String_10088e: ; 10088e + db "モバイルたいせん できる" + next "じかん@" +; 10089f + +String_10089f: ; 10089f + db " むせいげん@" +; 1008a6 + +Function1008a6: ; 1008a6 + ld a, $4 + ld hl, $a800 + call GetSRAMBank + ld a, [hli] + ld [StringBuffer2], a + ld a, [hli] + ld [StringBuffer2 + 1], a + ld a, [hli] + ld [StringBuffer2 + 2], a + call CloseSRAM + ld a, [StringBuffer2 + 2] + ld b, a + ld a, $0 + sub b + jr nc, .asm_1008c8 + add $3c + +.asm_1008c8 + ld b, a + ld a, [StringBuffer2 + 1] + ld c, a + ld a, $a + sbc c + ld c, a + jr c, .asm_1008da + ld a, [StringBuffer2] + and a + jr nz, .asm_1008da + ret + +.asm_1008da + call Function10070d + ld c, $0 + ret +; 1008e0 + + +Function1008e0: ; 1008e0 + ld a, [hBGMapMode] + ld b, a + ld a, [hVBlank] + ld c, a + push bc + xor a + ld [hBGMapMode], a + ld a, $3 + ld [hVBlank], a + call Function100970 + call Function100902 + call Function100989 + call DelayFrame + pop bc + ld a, c + ld [hVBlank], a + ld a, b + ld [hBGMapMode], a + ret +; 100902 + +Function100902: ; 100902 + hlcoord 3, 10 + ld b, $1 + ld c, $b + call TextBox + ld a, [wcd6d] + ld c, a + ld a, $a + sub c + ld [StringBuffer2], a + jr z, .asm_10093f + ld de, .string_100966 + hlcoord 4, 11 + call PlaceString + hlcoord 8, 11 + ld bc, $0102 + ld de, StringBuffer2 + call PrintNum + ld de, SFX_TWO_PC_BEEPS + call PlaySFX + callba Function104061 + ld c, $3c + call DelayFrames + ret + +.asm_10093f + ld de, .string_10095a + hlcoord 4, 11 + call PlaceString + ld de, SFX_4_NOTE_DITTY + call PlaySFX + callba Function104061 + ld c, $78 + call DelayFrames + ret +; 10095a + +.string_10095a ; 10095a + db "たいせん しゅうりょう@" +.string_100966 ; 100966 + db "のこり ふん", $e7, "@" +; 100970 + + +Function100970: ; 100970 + ld hl, TileMap + ld de, wdc00 + call Function1009a5 + ld hl, AttrMap + ld de, $dd68 + call Function1009a5 + call Function1009d2 + call Function1009ae + ret +; 100989 + +Function100989: ; 100989 + ld hl, wdc00 + ld de, TileMap + call Function1009a5 + call Function1009ae + callba Function104061 + ld hl, $dd68 + ld de, AttrMap + call Function1009a5 + ret +; 1009a5 + +Function1009a5: ; 1009a5 + ld bc, $0168 + ld a, $3 + call FarCopyWRAM + ret +; 1009ae + +Function1009ae: ; 1009ae + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a + ld hl, $d800 + ld de, AttrMap + ld c, $14 + ld b, $12 +.asm_1009bf + push bc +.asm_1009c0 + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .asm_1009c0 + ld bc, $000c + add hl, bc + pop bc + dec b + jr nz, .asm_1009bf + pop af + ld [rSVBK], a + ret +; 1009d2 + +Function1009d2: ; 1009d2 + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a + ld a, [rVBK] + push af + ld a, $1 + ld [rVBK], a + ld hl, $d800 + ld de, VBGMap0 + lb bc, $3, $24 + call Get2bpp + pop af + ld [rVBK], a + pop af + ld [rSVBK], a + ret +; 1009f3 + +Function1009f3: ; 1009f3 + ld a, [hJoyDown] + and SELECT + A_BUTTON + cp SELECT + A_BUTTON + jr nz, .asm_100a07 + ld hl, wcd2a + set 4, [hl] + ld a, $f8 + ld [wcd2b], a + scf + ret + +.asm_100a07 + xor a + ret +; 100a09 + +Function100a09: ; 100a09 + call Function100a2e + ld [wd431], a + callba Function4000 + ld a, [InLinkBattle] + cp $4 + jr nz, .asm_100a2a + call Function100a87 + call Function100da5 + callba Function3ee27 + jr .asm_100a2d + +.asm_100a2a + call Function100a53 + +.asm_100a2d + ret +; 100a2e + +Function100a2e: ; 100a2e + ld a, [wd0ec] + and a + jr nz, .asm_100a48 + ld a, [CurPlayerMove] + ld b, $e + cp STRUGGLE + jr z, .asm_100a4f + ld b, $d + cp $ff + jr z, .asm_100a4f + ld a, [CurMoveNum] + jr .asm_100a50 + +.asm_100a48 + ld a, [CurPartyMon] + add $4 + jr .asm_100a50 + +.asm_100a4f + ld a, b + +.asm_100a50 + and $f + ret +; 100a53 + +Function100a53: ; 100a53 + ld a, [wd431] + ld [wcf56], a + ld a, $ff + ld [wcf52], a +.asm_100a5e + call Function8c1 + call DelayFrame + ld a, [wcf52] + inc a + jr z, .asm_100a5e + ld b, $a +.asm_100a6c + call DelayFrame + call Function8c1 + dec b + jr nz, .asm_100a6c + ld b, $a +.asm_100a77 + call DelayFrame + call Function908 + dec b + jr nz, .asm_100a77 + ld a, [wcf52] + ld [wd430], a + ret +; 100a87 + +Function100a87: ; 100a87 + call Function100acf + call Function100641 + ld a, $0 + ld [wcd27], a +.asm_100a92 + call DelayFrame + call GetJoypad + callba Function100382 + ld c, $1 + ld b, $3 + push bc + call Function10062d + pop bc + jr c, .asm_100ac7 + ld b, $1 + call Function10079c + jr c, .asm_100ac7 + call Function1009f3 + jr c, .asm_100ac7 + ld a, [wcd2b] + and a + jr nz, .asm_100ac7 + ld a, [wcd27] + bit 7, a + jr z, .asm_100a92 + call Function100ae7 + jr .asm_100ace + +.asm_100ac7 + ld a, $f + ld [wd430], a + jr .asm_100ace + +.asm_100ace + ret +; 100acf + +Function100acf: ; 100acf + ld de, Unknown_100b0a + ld hl, wccb5 + ld a, [wd431] + ld [hli], a + ld c, $1 +.asm_100adb + ld a, [de] + inc de + ld [hli], a + inc c + and a + jr nz, .asm_100adb + ld a, c + ld [wccb4], a + ret +; 100ae7 + +Function100ae7: ; 100ae7 + ld de, Unknown_100b0a + ld hl, wcc62 +.asm_100aed + ld a, [de] + inc de + and a + jr z, .asm_100af8 + cp [hl] + jr nz, .asm_100aff + inc hl + jr .asm_100aed + +.asm_100af8 + ld a, [wcc61] + ld [wd430], a + ret + +.asm_100aff + ld a, $f + ld [wd430], a + ld a, $f1 + ld [wcd2b], a + ret +; 100b0a + + +SECTION "tetsuji", ROMX, BANK[$40] + + charmap " ", $20 ; revert to ascii + +Unknown_100b0a: ; 100b0a + db "tetsuji", 0 +; 100b12 + + +SECTION "bank40_2", ROMX, BANK[$40] + +Function100b12: ; 100b12 + call Function100dd8 + ret c + ld hl, BattleMenuDataHeader + ld a, BANK(BattleMenuDataHeader) + ld de, LoadMenuDataHeader + call FarCall_de + ld a, BANK(BattleMenuDataHeader) + ld [wcf94], a + ld a, [wd0d2] + ld [wcf88], a + call Function100e72 + call Function100b45 + callba Function8e85 + call Function100ed4 + ld a, [wcf88] + ld [wd0d2], a + call Function1c07 + ret +; 100b45 + +Function100b45: ; 100b45 + call Function100b7a +.asm_100b48 + call Function100dd2 + callba Function241ba + push bc + callba Function10402d + call Function100e2d + pop bc + jr c, .asm_100b6b + ld a, [wcfa8] + and c + jr z, .asm_100b48 + callba Function24098 + ret + +.asm_100b6b + ld a, [wcfa4] + ld c, a + ld a, [wcfa3] + call SimpleMultiply + ld [wcf88], a + and a + ret +; 100b7a + +Function100b7a: ; 100b7a + ld hl, Function1c66 + ld a, [wcf94] + rst FarCall + callba Function24085 + callba MobileTextBorder + call Function1ad2 + call Function321c + callba Function2411a + ld hl, wcfa5 + set 7, [hl] + ret +; 100b9f + +Function100b9f: ; 100b9f + xor a + ld [wd0e3], a + callba Function3e786 + ret z + call Function100dd8 + jp c, Function2ec8 + call Function100e72 + call Function100bc2 + push af + callba Function8e85 + call Function100ed4 + pop af + ret +; 100bc2 + +Function100bc2: ; 100bc2 + xor a + ld [hBGMapMode], a + call Function100c74 + call Function100c98 +.asm_100bcb + callba MoveInfoBox +.asm_100bd1 + call Function100dd2 + callba Function241ba + push bc + callba Function10402d + call Function100e2d + pop bc + jr c, .asm_100c25 + ld a, [wcfa8] + and c + bit 6, a + jp nz, .asm_100bff + bit 7, a + jp nz, .asm_100c10 + bit 0, a + jr nz, .asm_100c30 + bit 1, a + jr nz, .asm_100c25 + jr .asm_100bd1 + +.asm_100bff + ld a, [wcfa9] + and a + jp nz, .asm_100bcb + ld a, [wd0eb] + inc a + ld [wcfa9], a + jp .asm_100bcb + +.asm_100c10 + ld a, [wcfa9] + ld b, a + ld a, [wd0eb] + inc a + inc a + cp b + jp nz, .asm_100bcb + ld a, $1 + ld [wcfa9], a + jp .asm_100bcb + +.asm_100c25 + ld a, [wcfa9] + dec a + ld [CurMoveNum], a + ld a, $1 + and a + ret + +.asm_100c30 + ld a, [wcfa9] + dec a + ld [CurMoveNum], a + ld a, [wcfa9] + dec a + ld c, a + ld b, 0 + ld hl, BattleMonPP + add hl, bc + ld a, [hl] + and $3f + jr z, .asm_100c68 + ld a, [PlayerDisableCount] + swap a + and $f + dec a + cp c + jr z, .asm_100c63 + ld a, [wcfa9] + dec a + ld c, a + ld b, 0 + ld hl, BattleMonMoves + add hl, bc + ld a, [hl] + ld [CurPlayerMove], a + xor a + ret + +.asm_100c63 + ld hl, BattleText_0x80c5b + jr .asm_100c6b + +.asm_100c68 + ld hl, BattleText_0x80c39 + +.asm_100c6b + call StdBattleTextBox + call Function30b4 + jp Function100bc2 +; 100c74 + +Function100c74: ; 100c74 + hlcoord 0, 8 + ld b, 8 + ld c, 8 + call TextBox + ld hl, BattleMonMoves + ld de, wd25e + ld bc, NUM_MOVES + call CopyBytes + ld a, SCREEN_WIDTH * 2 + ld [Buffer1], a + hlcoord 2, 10 + predef ListMoves + ret +; 100c98 + +Function100c98: ; 100c98 + ld de, Unknown_100cad + call Function1bb1 + ld a, [wd0eb] + inc a + ld [wcfa3], a + ld a, [CurMoveNum] + inc a + ld [wcfa9], a + ret +; 100cad + +Unknown_100cad: ; 100cad +INCBIN "baserom.gbc",$100cad,$100cb5 - $100cad + + +Function100cb5: ; 100cb5 + call Function100dd8 + ret c + ld hl, wcfa5 + set 7, [hl] + res 6, [hl] +.asm_100cc0 + call Function100dd2 + callba Function241ba + push bc + callba Function8cf69 + callba Function10402d + call Function100dfd + pop bc + jr c, .asm_100d17 + ld a, [wcfa8] + and c + jr z, .asm_100cc0 + call Function1bee + ld a, [PartyCount] + inc a + ld b, a + ld a, [wcfa9] + cp b + jr z, .asm_100d17 + ld [wd0d8], a + ld a, [$ffa9] + ld b, a + bit 1, b + jr nz, .asm_100d17 + ld a, [wcfa9] + dec a + ld [CurPartyMon], a + ld c, a + ld b, $0 + ld hl, PartySpecies + add hl, bc + ld a, [hl] + ld [CurPartySpecies], a + ld de, SFX_READ_TEXT_2 + call PlaySFX + call WaitSFX + and a + ret + +.asm_100d17 + ld de, SFX_READ_TEXT_2 + call PlaySFX + call WaitSFX + scf + ret +; 100d22 + +Function100d22: ; 100d22 + call Function100dd8 + ret c + call Function100d67 + ld hl, wcfa5 + set 7, [hl] + res 6, [hl] +.asm_100d30 + call Function100dd2 + callba Function241ba + push bc + callba Function8cf69 + callba Function10402d + call Function100dfd + pop bc + jr c, .asm_100d54 + ld a, [wcfa8] + and c + jr nz, .asm_100d56 + jr .asm_100d30 + +.asm_100d54 + scf + ret + +.asm_100d56 + push af + ld de, SFX_READ_TEXT_2 + call PlaySFX + pop af + bit 1, a + jr z, .asm_100d65 + ret z + scf + ret + +.asm_100d65 + and a + ret +; 100d67 + +Function100d67: ; 100d67 + ld hl, MenuDataHeader_100d88 + call Function1d3c + xor a + ld [hBGMapMode], a + call Function1cbb + call Function1ad2 + call Function1c89 + call WaitBGMap + call Function1c66 + call Function1c10 + ld hl, wcfa5 + set 6, [hl] + ret +; 100d88 + +MenuDataHeader_100d88: ; 100d88 + db 0 ; flags + db 11, 11 ; start coords + db 17, 19 ; end coords + dw MenuData2_100d90 + db 1 ; default option + +MenuData2_100d90: ; 100d90 + db $c0 ; flags + db 3 + db "いれかえる@" + db "つよさをみる@" + db "キャンセル@" +; 100da5 + +Function100da5: ; 100da5 + ld hl, wcd2a + res 3, [hl] + ld hl, wcd29 + res 0, [hl] + ret +; 100db0 + +Function100db0: ; 100db0 + ld hl, wcd2a + bit 3, [hl] + jr nz, .asm_100dbe + ld hl, wcd2a + set 3, [hl] + scf + ret + +.asm_100dbe + xor a + ret +; 100dc0 + + + +Function100dc0: ; 100dc0 + ld a, [InLinkBattle] + cp $4 + jr nz, .asm_100dd0 + ld hl, wcd2a + bit 3, [hl] + jr z, .asm_100dd0 + scf + ret + +.asm_100dd0 + xor a + ret +; 100dd2 + +Function100dd2: ; 100dd2 + ld a, 30 + ld [OverworldDelay], a + ret +; 100dd8 + +Function100dd8: ; 100dd8 + ld c, $1 + ld b, $3 + callba Function10062d + jr c, .asm_100dfb + ld c, $3c + ld b, $1 + call Function10079c + jr c, .asm_100dfb + callba Function10032e + ld a, [wcd2b] + and a + jr nz, .asm_100dfb + xor a + ret + +.asm_100dfb + scf + ret +; 100dfd + +Function100dfd: ; 100dfd + ld a, [OverworldDelay] + ld c, a + ld a, 30 + sub c + ld c, a + ld b, 3 + push bc + callba Function10062d + pop bc + jr c, .asm_100e2b + ld b, 1 + call Function10079c + jr c, .asm_100e2b + call Function1009f3 + jr c, .asm_100e2b + callba Function10032e + ld a, [wcd2b] + and a + jr nz, .asm_100e2b + xor a + ret + +.asm_100e2b + scf + ret +; 100e2d + +Function100e2d: ; 100e2d + ld a, [OverworldDelay] + ld c, a + ld a, 30 + sub c + ld c, a + ld b, 3 + push bc + callba Function10062d + pop bc + jr c, .asm_100e61 + ld b, 1 + call Function10079c + jr c, .asm_100e61 + call Function1009f3 + jr c, .asm_100e61 + callba Function10032e + ld a, [wcd2b] + and a + jr nz, .asm_100e61 + call Function100e63 + call Function100e84 + xor a + ret + +.asm_100e61 + scf + ret +; 100e63 + +Function100e63: ; 100e63 + ld a, e + cp $2 + ret nz + call Function100db0 + ret nc + ld de, SFX_ELEVATOR_END + call PlaySFX + ret +; 100e72 + +Function100e72: ; 100e72 + xor a + ld hl, wcd29 + bit 0, [hl] + jr z, .asm_100e7c + ld a, $a + +.asm_100e7c + ld [wcd67], a + xor a + ld [wcd68], a + ret +; 100e84 + +Function100e84: ; 100e84 + ld a, [wcd67] + ld hl, Jumptable_100e8c + rst JumpTable + ret +; 100e8c + + +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 + + +Function100ea2: ; 100ea2 (40:4ea2) + call Function100dc0 + ret nc + ld hl, wcd29 + set 0, [hl] + call Function100ec5 + + +Function100eae: ; 100eae + scf + call Function100eca + jr asm_100eb8 + +Function100eb4: ; 100eb4 + and a + call Function100eca + +asm_100eb8 + ld hl, wcd68 + inc [hl] + ld a, [hl] + cp $2 + ret c + ld [hl], $0 + jr Function100ec5 + +Function100ec4: ; 100ec4 + ret + +Function100ec5 + ld hl, wcd67 + inc [hl] + ret +; 100eca + +Function100eca: ; 100eca + callba Function8e8b + call Function100ed4 + ret +; 100ed4 + +Function100ed4: ; 100ed4 + callba Function96a4 + ld a, $1 + ld [hCGBPalUpdate], a + ret +; 100edf + +Function100edf: ; 100edf + ld hl, Unknown_100fc0 + ld c, 1 + jr asm_100f02 + +Function100ee6: ; 100ee6 + ld hl, Unknown_100fc0 + ld c, 2 + jr asm_100f02 + +Function100eed: ; 100eed + ld hl, Unknown_100feb + ld c, 1 + jr asm_100f02 + +Function100ef4: ; 100ef4 + ld hl, Unknown_100ff3 + ld c, 1 + jr asm_100f02 + +Function100efb: ; 100efb + ld hl, Unknown_10102c + ld c, 1 + jr asm_100f02 + +asm_100f02: + ld a, c + ld [StringBuffer2], a + ld a, e + ld [StringBuffer2 + 1], a + ld a, d + ld [StringBuffer2 + 2], a + xor a + ld [StringBuffer2 + 4], a + ld [StringBuffer2 + 5], a +.asm_100f15 + ld a, [hl] + cp $ff + jr z, .asm_100f34 + ld [StringBuffer2 + 3], a + push hl + inc hl + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [hli] + ld h, [hl] + ld l, a + call Function100f3d + pop hl + ld de, $0007 + add hl, de + jr .asm_100f15 + +.asm_100f34 + ld a, [StringBuffer2 + 4] + ld c, a + ld a, [StringBuffer2 + 5] + ld b, a + ret +; 100f3d + +Function100f3d: ; 100f3d + ld a, [StringBuffer2] + cp $2 + jr z, .asm_100f61 + cp $1 + jr z, .asm_100f77 + cp $3 + jr z, .asm_100f4d + ret + +.asm_100f4d + ld a, [StringBuffer2 + 1] + ld l, a + ld a, [StringBuffer2 + 2] + ld h, a + call Function100f8d + ld a, l + ld [StringBuffer2 + 1], a + ld a, h + ld [StringBuffer2 + 2], a + ret + +.asm_100f61 + ld d, h + ld e, l + ld a, [StringBuffer2 + 1] + ld l, a + ld a, [StringBuffer2 + 2] + ld h, a + call Function100f8d + ld a, l + ld [StringBuffer2 + 1], a + ld a, h + ld [StringBuffer2 + 2], a + ret + +.asm_100f77 + ld h, d + ld l, e + ld a, [StringBuffer2 + 1] + ld e, a + ld a, [StringBuffer2 + 2] + ld d, a + call Function100f8d + ld a, e + ld [StringBuffer2 + 1], a + ld a, d + ld [StringBuffer2 + 2], a + ret +; 100f8d + +Function100f8d: ; 100f8d + push hl + ld a, [StringBuffer2 + 4] + ld l, a + ld a, [StringBuffer2 + 5] + ld h, a + add hl, bc + ld a, l + ld [StringBuffer2 + 4], a + ld a, h + ld [StringBuffer2 + 5], a + pop hl + ld a, [StringBuffer2 + 3] + bit 7, a + res 7, a + jr z, .asm_100fb6 + and a + jr nz, .asm_100fb0 + call CopyBytes + ret + +.asm_100fb0 + and $7f + call FarCopyWRAM + ret + +.asm_100fb6 + call GetSRAMBank + call CopyBytes + call CloseSRAM + ret +; 100fc0 + +Unknown_100fc0: ; 100fc0 + dbwww $80, PlayerName, NAME_LENGTH, wd26b + dbwww $80, PartyCount, 1 + PARTY_LENGTH + 1, OTPartyCount + dbwww $80, PlayerID, 2, wd276 + dbwww $80, PartyMons, $30 * PARTY_LENGTH, OTPartyMons + dbwww $80, PartyMonOT, NAME_LENGTH * PARTY_LENGTH, OTPartyMonOT + dbwww $80, PartyMonNicknames, PKMN_NAME_LENGTH * PARTY_LENGTH, OTPartyMonNicknames + db -1 + +Unknown_100feb: ; 100feb + dbwww $00, $a600, $2f * PARTY_LENGTH, NULL + db -1 + +Unknown_100ff3: ; 100ff3 + dbwww $80, wdc41, 1, NULL + dbwww $80, PlayerName, NAME_LENGTH, NULL + dbwww $80, PlayerName, NAME_LENGTH, NULL + dbwww $80, PlayerID, 2, NULL + dbwww $80, wd84a, 2, NULL + dbwww $80, PlayerGender, 1, NULL + dbwww $04, $a603, 8, NULL + dbwww $04, $a007, $30, NULL + db -1 + +Unknown_10102c: ; 10102c + dbwww $80, wd26b, 11, NULL + dbwww $80, wd276, 2, NULL + dbwww $80, OTPartyMonNicknames, PKMN_NAME_LENGTH * PARTY_LENGTH, NULL + dbwww $80, OTPartyMonOT, NAME_LENGTH * PARTY_LENGTH, NULL + dbwww $80, OTPartyMons, $30 * PARTY_LENGTH, NULL + db -1 +; 10104f + +Function101050: ; 101050 + call Function10107d + ld a, [OTPartyCount] + ld hl, $c608 + ld hl, $c608 + ld bc, $01b3 + call Function1010de + ld hl, wc7bb + ld [hl], e + inc hl + ld [hl], d + ld a, $7 + call GetSRAMBank + ld hl, $c608 + ld de, $a001 + ld bc, $01b5 + call CopyBytes + call CloseSRAM + ret +; 10107d + +Function10107d: ; 10107d + xor a + ld hl, $c608 + ld bc, $01b5 + call ByteFill + ld hl, wd26b + ld de, $c608 + ld bc, $000b + call CopyBytes + ld hl, wd271 + ld a, [hli] + ld [$c608 + 11], a + ld a, [hl] + ld [$c608 + 12], a + ld hl, OTPartyMonNicknames + ld de, $c608 + 13 + ld bc, $000b + call Function1010cd + ld hl, OTPartyMonOT + ld de, $c656 + 1 + ld bc, $000b + call Function1010cd + ld hl, OTPartyMon1Species + ld de, $c68a + 15 + ld bc, $0030 + call Function1010cd + ld a, $50 + ld [wc7b9], a + ld a, $33 + ld [wc7ba], a + ret +; 1010cd + +Function1010cd: ; 1010cd + push hl + ld hl, 0 + ld a, [OTPartyCount] + call AddNTimes + ld b, h + ld c, l + pop hl + call CopyBytes + ret +; 1010de + +Function1010de: ; 1010de + push hl + push bc + ld de, 0 +.asm_1010e3 + ld a, [hli] + add e + ld e, a + ld a, d + adc 0 + ld d, a + dec bc + ld a, b + or c + jr nz, .asm_1010e3 + pop bc + pop hl + ret +; 1010f2 + +Function1010f2: ; 1010f2 + xor a + ld hl, StringBuffer2 + ld bc, $0009 + call ByteFill + ld hl, wdc5c + ld de, PartyCount + call Function101145 + ld hl, wdc5c + ld de, PartyMon1Species + call Function10117c + ld hl, wdc5c + ld de, PartyMonOT + call Function101181 + ld hl, wdc5c + ld de, PartyMonNicknames + call Function101181 + ld hl, wcd75 + ld de, OTPartyCount + call Function101145 + ld hl, wcd75 + ld de, OTPartyMon1Species + call Function10117c + ld hl, wcd75 + ld de, OTPartyMonOT + call Function101181 + ld hl, wcd75 + ld de, OTPartyMonNicknames + call Function101181 + ret +; 101145 + +Function101145: ; 101145 + push de + ld bc, StringBuffer2 + 6 + xor a +.asm_10114a + push af + call Function101168 + ld [bc], a + inc bc + pop af + inc a + cp $3 + jr nz, .asm_10114a + pop de + ld a, $3 + ld [de], a + inc de + ld hl, StringBuffer2 + 6 + ld bc, $0003 + call CopyBytes + ld a, $ff + ld [de], a + ret +; 101168 + +Function101168: ; 101168 + push hl + add l + ld l, a + ld a, h + adc $0 + ld h, a + ld a, [hl] + pop hl + push de + inc de + add e + ld e, a + ld a, d + adc $0 + ld d, a + ld a, [de] + pop de + ret +; 10117c + +Function10117c: ; 10117c + ld bc, $0030 + jr asm_101184 + +Function101181: ; 101181 + ld bc, $000b + +asm_101184: + ld a, $c608 % $100 + ld [StringBuffer2], a + ld a, $c608 / $100 + ld [StringBuffer2 + 1], a + ld a, c + ld [StringBuffer2 + 2], a + ld a, b + ld [StringBuffer2 + 3], a + ld a, e + ld [StringBuffer2 + 4], a + ld a, d + ld [StringBuffer2 + 5], a + ld a, $3 +.asm_1011a0 + push af + ld a, [hli] + push hl + push af + call Function1011df + call Function1011e8 + pop af + call AddNTimes + ld a, [StringBuffer2] + ld e, a + ld a, [StringBuffer2 + 1] + ld d, a + call CopyBytes + ld a, e + ld [StringBuffer2], a + ld a, d + ld [StringBuffer2 + 1], a + pop hl + pop af + dec a + jr nz, .asm_1011a0 + call Function1011e8 + ld a, 3 + ld hl, 0 + call AddNTimes + ld b, h + ld c, l + call Function1011df + ld d, h + ld e, l + ld hl, $c608 + call CopyBytes + ret +; 1011df + +Function1011df: ; 1011df + ld a, [StringBuffer2 + 4] + ld l, a + ld a, [StringBuffer2 + 5] + ld h, a + ret +; 1011e8 + +Function1011e8: ; 1011e8 + ld a, [StringBuffer2 + 2] + ld c, a + ld a, [StringBuffer2 + 3] + ld b, a + ret +; 1011f1 + +Function1011f1: ; 1011f1 + ld a, $4 + call GetSRAMBank + ld a, [$a60c] + ld [wdc41], a + call CloseSRAM + ld hl, wdc41 + res 4, [hl] + ld hl, GameTimerPause + bit 7, [hl] + jr z, .asm_101210 + ld hl, wdc41 + set 4, [hl] + +.asm_101210 + call Function10209c + xor a + ld [wdc5f], a + ld [wdc60], a + ld a, $4 + ld [InLinkBattle], a + ret +; 101220 + +Function101220: ; 101220 + xor a + ld [InLinkBattle], a + ret +; 101225 + +Function101225: ; 101225 + ld d, 1 + ld e, BANK(Jumptable_101297) + ld bc, Jumptable_101297 + call Function100000 + jr Function10123d + +Function101231: ; 101231 + ld d, 2 + ld e, BANK(Jumptable_101297) + ld bc, Jumptable_101297 + call Function100000 + jr Function10123d + +Function10123d: ; 10123d + xor a + ld [ScriptVar], a + ld a, c + ld hl, Jumptable_101247 + rst JumpTable + ret +; 101247 + +Jumptable_101247: ; 101247 + dw Function101251 + dw Function10127d + dw Function10127c + dw Function10126c + dw Function101265 +; 101251 + +Function101251: ; 101251 + call Function1ad2 + call ResetWindow + ld hl, UnknownText_0x1021f4 + call Function1021e0 + call Function1020ea + ret c + call Function102142 + ret +; 101265 + +Function101265: ; 101265 + ld hl, UnknownText_0x1021ef + call Function1021e0 + ret +; 10126c + +Function10126c: ; 10126c + call Function1ad2 + callba Script_reloadmappart + ld hl, UnknownText_0x1021f4 + call Function1021e0 + ret +; 10127c + +Function10127c: ; 10127c + ret +; 10127d + +Function10127d: ; 10127d + ret +; 10127e + +Function10127e: ; 10127e + ld a, [wdc5f] + and a + jr z, .asm_101290 + cp $1 + ld c, $27 + jr z, .asm_101292 + cp $2 + ld c, $37 + jr z, .asm_101292 + +.asm_101290 + ld c, $0 + +.asm_101292 + ld a, c + ld [wcd25], a + ret +; 101297 + +Jumptable_101297: ; 101297 + dw Function101a97 + dw Function101ab4 + dw Function101475 + dw Function101b0f + dw Function101438 + dw Function101b2b + dw Function101b59 + dw Function101475 + dw Function101b70 + dw Function101438 + dw Function101b8f + dw Function101d7b + dw Function101d95 + dw Function101475 + dw Function101db2 + dw Function101e4f + dw Function101475 + dw Function101e64 + dw Function101e4f + dw Function101475 + dw Function101e64 + dw Function101d95 + dw Function101475 + dw Function101db2 + dw Function101dd0 + dw Function101de3 + dw Function101e39 + dw Function101e09 + dw Function101e4f + dw Function101475 + dw Function101e64 + dw Function101d95 + dw Function101475 + dw Function101db2 + dw Function101e09 + dw Function101e31 + dw Function101bc8 + dw Function101438 + dw Function101be5 + dw Function101ac6 + dw Function101ab4 + dw Function101475 + dw Function101c11 + dw Function1014f4 + dw Function101cc8 + dw Function1014e2 + dw Function1014e2 + dw Function101d10 + dw Function101d2a + dw Function101d2a + dw Function101507 + dw Function10156d + dw Function101557 + dw Function10158a + dw Function101c42 + dw Function101aed + dw Function101ab4 + dw Function101475 + dw Function101c2b + dw Function1014f4 + dw Function101cdf + dw Function1014e2 + dw Function1014e2 + dw Function101d1e + dw Function101d2a + dw Function101d2a + dw Function101507 + dw Function10156d + dw Function101544 + dw Function10158a + dw Function101c42 + dw Function101c50 + dw Function1014ce + dw Function101cf6 + dw Function101826 + dw Function1017e4 + dw Function1017f1 + dw Function1018a8 + dw Function1018d6 + dw Function1017e4 + dw Function1017f1 + dw Function1018e1 + dw Function1015df + dw Function10167d + dw Function10168a + dw Function10162a + dw Function1015be + dw Function10167d + dw Function10168a + dw Function10161f + dw Function10159d + dw Function10167d + dw Function10168a + dw Function101600 + dw Function101d03 + dw Function101d6b + dw Function10159d + dw Function1014ce + dw Function10168e + dw Function101600 + dw Function101913 + dw Function10194b + dw Function10196d + dw Function1017e4 + dw Function1017f5 + dw Function1019ab + dw Function101537 + dw Function101571 + dw Function101c92 + dw Function10152a + dw Function101571 + dw Function101a4f + dw Function101cbc + dw Function101c62 + dw Function101537 + dw Function101571 + dw Function101c92 + dw Function10152a + dw Function101571 + dw Function101ca0 + dw Function101475 + dw Function101cbc +; 10138b + +Function10138b: ; 10138b + callba Function8adcc + ld c, $0 + jr c, .asm_101396 + inc c + +.asm_101396 + sla c + ld a, [wcd2f] + and a + jr z, .asm_10139f + inc c + +.asm_10139f + sla c + ld a, [wcd21] + cp $1 + jr z, .asm_1013a9 + inc c + +.asm_1013a9 + ret +; 1013aa + +Function1013aa: ; 1013aa + call WhiteBGMap + call Function1d7d + call Function2bae + callba Function106464 + call Function1ad2 + call Function2b5c + ret +; 1013c0 + +Function1013c0: ; 1013c0 + callba Function8000 + callba Function106462 + callba Function106464 + call Function2b5c + ret +; 1013d6 + +Function1013d6: ; 1013d6 + callba Function104000 + ret +; 1013dd + +Function1013dd: ; 1013dd + call Function3238 + ret +; 1013e1 + +Function1013e1: ; 1013e1 ; unreferenced + push de + inc de + ld b, a + ld c, $0 +.asm_1013e6 + inc c + ld a, [hli] + ld [de], a + inc de + and a + jr z, .asm_1013f1 + dec b + jr nz, .asm_1013e6 + scf + +.asm_1013f1 + pop de + ld a, c + ld [de], a + ret +; 1013f5 + +Function1013f5: ; 1013f5 + ld a, [hli] + ld [de], a + inc de + ld c, a +.asm_1013f9 + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .asm_1013f9 + ret +; 101400 + +Function101400: ; 101400 ; unreferenced + ld a, [de] + inc de + cp [hl] + jr nz, asm_101416 + inc hl + +Function101406: ; 101406 + ld c, a + ld b, $0 +.asm_101409 + ld a, [de] + inc de + cp [hl] + jr nz, asm_101416 + inc hl + dec bc + ld a, b + or c + jr nz, .asm_101409 + and a + ret + +asm_101416 + scf + ret +; 101418 + +Function101418: ; 101418 + call GetJoypad + ld a, [hJoyDown] + and SELECT + A_BUTTON + cp SELECT + A_BUTTON + jr z, .asm_101425 + xor a + ret + +.asm_101425 + ld a, $f7 + ld [wcd2b], a + scf + ret +; 10142c + +Function10142c: ; 10142c + ld a, $1 + ld [wc305], a + callba Function115e18 + ret +; 101438 + +Function101438: ; 101438 + ld hl, wcd29 + set 6, [hl] + ld a, [wcd26] + ld hl, Jumptable_101457 + rst JumpTable + ld a, [wcd26] + bit 7, a + ret z + ld a, $0 + ld [wcd26], a + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101457 + +Jumptable_101457: ; 101457 + dw Function10145b + dw Function101467 +; 10145b + +Function10145b: ; 10145b + ld a, $3c + ld [wcd42], a + ld a, [wcd26] + inc a + ld [wcd26], a + +Function101467: ; 101467 + ld hl, wcd42 + dec [hl] + ret nz + ld a, [wcd26] + set 7, a + ld [wcd26], a + ret +; 101475 + +Function101475: ; 101475 + ld hl, wcd29 + set 6, [hl] + ld a, [wcd26] + ld hl, Jumptable_101494 + rst JumpTable + ld a, [wcd26] + bit 7, a + ret z + ld a, $0 + ld [wcd26], a + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101494 + +Jumptable_101494: ; 101494 + dw Function10149a + dw Function1014a6 + dw Function1014b7 +; 10149a + +Function10149a: ; 10149a + ld a, $28 + ld [wcd42], a + ld a, [wcd26] + inc a + ld [wcd26], a + +Function1014a6: ; 1014a6 + ld hl, wcd42 + dec [hl] + ret nz + ld a, $50 + ld [wcd42], a + ld a, [wcd26] + inc a + ld [wcd26], a + +Function1014b7: ; 1014b7 + call GetJoypad + ld a, [hJoyPressed] + and $3 + jr nz, .asm_1014c5 + ld hl, wcd42 + dec [hl] + ret nz + +.asm_1014c5 + ld a, [wcd26] + set 7, a + ld [wcd26], a + ret +; 1014ce + +Function1014ce: ; 1014ce + callba Function100720 + callba Function100641 + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 1014e2 + +Function1014e2: ; 1014e2 + ld hl, wcd29 + set 6, [hl] + ld a, $0 + ld [wcd26], a + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 1014f4 + +Function1014f4: ; 1014f4 + callba Function100082 + ld hl, wcd29 + set 6, [hl] + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101507 + +Function101507: ; 101507 + ld de, wcd30 + ld hl, $0040 + ld bc, $0040 + ld a, $2 + call Function3e32 + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 10151d + +Function10151d: ; 10151d ; unreferenced + ld a, $34 + call Function3e32 + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 10152a + +Function10152a: ; 10152a + ld a, $36 + call Function3e32 + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101537 + +Function101537: ; 101537 + ld a, $a + call Function3e32 + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101544 + +Function101544: ; 101544 + callba Function100641 + ld a, $12 + call Function3e32 + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101557 + +Function101557: ; 101557 + callba Function100641 + ld hl, wcd53 + ld a, $8 + call Function3e32 + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 10156d + +Function10156d: ; 10156d + call Function101418 + ret c + +Function101571: ; 101571 + callba Function10032e + ret c + ret z + ld a, e + cp $1 + jr z, .asm_101582 + ld [wcd2b], a + ret + +.asm_101582 + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 10158a + +Function10158a: ; 10158a + callba Function10064c + ld a, [wcd44] + cp $a + jr c, Function10156d + ld a, $fb + ld [wcd2b], a + ret +; 10159d + +Function10159d: ; 10159d + ld de, $c608 + callba Function100edf + ld de, $c608 + ld a, $5 + ld hl, $d800 + call Function10174c + ld a, $0 + ld [wcd26], a + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 1015be + +Function1015be: ; 1015be + ld de, $c608 + callba Function100eed + ld de, $c608 + ld a, $5 + ld hl, $d800 + call Function10174c + ld a, $0 + ld [wcd26], a + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 1015df + +Function1015df: ; 1015df + ld de, $c608 + callba Function100ef4 + ld de, $c608 + ld a, $5 + ld hl, $d800 + call Function10174c + ld a, $0 + ld [wcd26], a + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101600 + +Function101600: ; 101600 + ld hl, $d800 + ld de, $c608 + ld bc, $01e0 + ld a, $5 + call FarCopyWRAM + ld de, $c608 + callba Function100ee6 + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 10161f + +Function10161f: ; 10161f + call Function101649 + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 10162a + +Function10162a: ; 10162a + call Function101663 + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101635 + +Function101635: ; 101635 + ld de, $c608 + ld bc, $01e0 + call FarCopyWRAM + ret +; 10163f + +Function10163f: ; 10163f + ld hl, $c608 + ld bc, $01e0 + call FarCopyWRAM + ret +; 101649 + +Function101649: ; 101649 + ld a, $5 + ld hl, $d800 + call Function101635 + ld a, $5 + ld de, wda00 + call Function10163f + ret +; 10165a + +Function10165a: ; 10165a + ld a, $5 + ld hl, wda00 + call Function101635 + ret +; 101663 + +Function101663: ; 101663 + ld a, $5 + ld hl, $d800 + call Function101635 + ld a, $5 + ld de, wdc00 + call Function10163f + ret +; 101674 + +Function101674: ; 101674 ; unreferenced + ld a, $5 + ld hl, wdc00 + call Function101635 + ret +; 10167d + +Function10167d: ; 10167d + ld a, $0 + ld [wcd26], a + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 10168a + +Function10168a: ; 10168a + call Function101418 + ret c + +Function10168e: ; 10168e + ld b, $0 + ld c, $1 + callba Function10079c + ret c + ld c, $1 + ld b, $3 + callba Function10062d + ret c + ld a, [wcd26] + ld hl, Jumptable_1016c3 + rst JumpTable + ld hl, wcd29 + set 6, [hl] + ld a, [wcd26] + bit 7, a + ret z + ld a, $0 + ld [wcd26], a + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 1016c3 + +Jumptable_1016c3: ; 1016c3 + dw Function1016cf + dw Function1016de + dw Function1016f8 + dw Function101705 + dw Function101719 + dw Function101724 +; 1016cf + +Function1016cf: ; 1016cf + ld hl, wcd3a + inc [hl] + call Function10176f + ld a, [wcd26] + inc a + ld [wcd26], a + ret +; 1016de + +Function1016de: ; 1016de + call Function10177b + jr nc, .asm_1016eb + ld a, [wcd26] + inc a + ld [wcd26], a + ret + +.asm_1016eb + ld a, $ff + ld [wcd39], a + ld a, [wcd26] + inc a + ld [wcd26], a + ret +; 1016f8 + +Function1016f8: ; 1016f8 + ld a, $0 + ld [wcd27], a + ld a, [wcd26] + inc a + ld [wcd26], a + ret +; 101705 + +Function101705: ; 101705 + callba Function100382 + ld a, [wcd27] + bit 7, a + ret z + ld a, [wcd26] + inc a + ld [wcd26], a + ret +; 101719 + +Function101719: ; 101719 + call Function1017c7 + ld a, [wcd26] + inc a + ld [wcd26], a + ret +; 101724 + +Function101724: ; 101724 + ld a, [wcd39] + cp $ff + jr z, .asm_101731 + ld a, $0 + ld [wcd26], a + ret + +.asm_101731 + ld a, [wcd26] + set 7, a + ld [wcd26], a + ret +; 10173a + +Unknown_10173a: + db $50 + +Function10173b: ; 10173b + push bc + push af + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [Unknown_10173a] + ld c, a + ld b, $0 + pop af + call AddNTimes + pop bc + ret +; 10174c + +Function10174c: ; 10174c + ld [wcd3d], a + ld a, l + ld [wcd3e], a + ld a, h + ld [wcd3f], a + ld a, e + ld [wcd3b], a + ld a, d + ld [wcd3c], a + ld a, c + ld [wcd40], a + ld a, b + ld [wcd41], a + xor a + ld [wcd39], a + ld [wcd3a], a + ret +; 10176f + +Function10176f: ; 10176f + ld hl, wccb4 + ld bc, $0054 + ld a, $11 + call ByteFill + ret +; 10177b + +Function10177b: ; 10177b + ld a, [Unknown_10173a] + ld c, a + ld b, $0 + ld a, [wcd3a] + ld hl, $0000 + call AddNTimes + ld e, l + ld d, h + ld hl, wcd40 + ld a, [hli] + ld h, [hl] + ld l, a + ld a, l + sub e + ld l, a + ld a, h + sbc d + ld h, a + jr c, .asm_1017a0 + add hl, bc + call Function1017b0 + scf + ret + +.asm_1017a0 + ld a, $ff + ld [wcd39], a + add hl, bc + ld a, h + or l + ret z + ld c, l + ld b, h + call Function1017b0 + xor a + ret +; 1017b0 + +Function1017b0: ; 1017b0 + ld a, c + ld [wccb4], a + push bc + ld a, [wcd3a] + dec a + ld hl, wcd3b + call Function10173b + pop bc + ld de, wccb5 + call CopyBytes + ret +; 1017c7 + +Function1017c7: ; 1017c7 + ld a, [wcc60] + ld c, a + ld b, $0 + ld a, [wcd3a] + dec a + ld hl, wcd3e + call Function10173b + ld e, l + ld d, h + ld hl, wcc61 + ld a, [wcd3d] + call FarCopyWRAM + and a + ret +; 1017e4 + +Function1017e4: ; 1017e4 + ld a, $0 + ld [wcd27], a + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 1017f1 + +Function1017f1: ; 1017f1 + call Function101418 + ret c + +Function1017f5: ; 1017f5 + ld b, $0 + ld c, $1 + callba Function10079c + ret c + ld c, $1 + ld b, $3 + callba Function10062d + ret c + callba Function100382 + ld a, [wcd27] + bit 7, a + jr nz, .asm_10181e + ld hl, wcd29 + set 6, [hl] + ret + +.asm_10181e + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101826 + +Function101826: ; 101826 + ld a, [wcd21] + cp $2 + jr z, .asm_101833 + cp $1 + jr z, .asm_101844 + jr .asm_101869 + +.asm_101833 + ld hl, Unknown_10186f + ld de, wccb4 + call Function1013f5 + ld a, [wcd25] + inc a + ld [wcd25], a + ret + +.asm_101844 + callba Function103654 + ld a, c + ld hl, Unknown_101882 + cp $1 + jr z, .asm_10185b + ld hl, Unknown_101895 + cp $2 + jr z, .asm_10185b + jr .asm_101869 + +.asm_10185b + ld de, wccb4 + call Function1013f5 + ld a, [wcd25] + inc a + ld [wcd25], a + ret + +.asm_101869 + ld a, $fe + ld [wcd2b], a + ret +; 10186f + + +SECTION "ascii 10186f", ROMX, BANK[$40] + + charmap " ", $20 ; revert to ascii + +Unknown_10186f: + db .end - @ + db $19, $73, $09, $13, "trade_crystal" +.end db 0 + +Unknown_101882: + db .end - @ + db $19, $67, $10, $01, "free__crystal" +.end db 0 + +Unknown_101895: + db .end - @ + db $19, $67, $10, $01, "limit_crystal" +.end db 0 +; 1018a8 + + +SECTION "bank40_3", ROMX, BANK[$40] + +Function1018a8: ; 1018a8 + ld hl, wccb5 + ld de, wcc61 + ld a, $4 + call Function101406 + jr c, .asm_1018d0 + ld hl, wccb9 + ld de, wcc65 + ld a, $6 + call Function101406 + jr c, .asm_1018ca + ld a, [wcd25] + inc a + ld [wcd25], a + ret + +.asm_1018ca + ld a, $f6 + ld [wcd2b], a + ret + +.asm_1018d0 + ld a, $f5 + ld [wcd2b], a + ret +; 1018d6 + +Function1018d6: ; 1018d6 + call Function1018ec + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 1018e1 + +Function1018e1: ; 1018e1 + call Function1018fb + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 1018ec + +Function1018ec: ; 1018ec + ld a, $a + ld hl, wccb4 + ld [hli], a + ld c, a +.asm_1018f3 + call Random + ld [hli], a + dec c + jr nz, .asm_1018f3 + ret +; 1018fb + +Function1018fb: ; 1018fb + ld a, [wcd2f] + and a + jr z, .asm_101906 + ld hl, wcc61 + jr .asm_101909 + +.asm_101906 + ld hl, wccb5 + +.asm_101909 + ld de, LinkBattleRNs + ld bc, $000a + call CopyBytes + ret +; 101913 + +Function101913: ; 101913 + ld hl, wcd2a + set 0, [hl] + xor a + ld [wc30d], a + ld hl, wcd29 + res 4, [hl] + xor a + ld [wc305], a + ld hl, wcd29 + res 7, [hl] + ld a, $90 + ld [hWY], a + ld a, [wcd21] + cp $1 + jr z, .asm_10193f + cp $2 + jr z, .asm_101945 + ld a, $71 + ld [wcd25], a + ret + +.asm_10193f + ld a, $66 + ld [wcd25], a + ret + +.asm_101945 + ld a, $65 + ld [wcd25], a + ret +; 10194b + +Function10194b: ; 10194b + call Function2ed3 + call ClearSprites + callba Function1021f9 + ld hl, wcd29 + bit 3, [hl] + jr nz, .asm_101967 + call Function1013c0 + ld a, $71 + ld [wcd25], a + ret + +.asm_101967 + ld a, $60 + ld [wcd25], a + ret +; 10196d + +Function10196d: ; 10196d + callba Function8000 + callba Function10060d + ld hl, wcd29 + set 5, [hl] + ld hl, wcd2a + set 6, [hl] + ld a, $6 + ld [wccb4], a + ld hl, wdc5c + ld de, wccb5 + ld bc, $0003 + call CopyBytes + ld hl, wcd6c + ld a, [hli] + ld [wccb8], a + ld a, [hli] + ld [wccb9], a + ld a, [hl] + ld [wccba], a + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 1019ab + +Function1019ab: ; 1019ab + call Function101a75 + callba Function100754 + xor a + ld [wdc5f], a + ld [wdc60], a + callba Function8000 + call SpeechTextBox + callba Function100846 + ld c, $78 + call DelayFrames + callba ClearTileMap + call Function1019ee + call Function101a21 + ld a, [wcd2b] + cp $fc + jr nz, .asm_1019e6 + xor a + ld [wcd2b], a + +.asm_1019e6 + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 1019ee + +Function1019ee: ; 1019ee + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld bc, wdc0d + ld de, wdc11 + callba Function4e929 + pop af + ld [rSVBK], a + ld a, c + ld [OtherTrainerClass], a + ld hl, wd26b + ld de, $c656 + ld bc, $000b + call CopyBytes + ld a, [wcd2f] + and a + ld a, $2 + jr z, .asm_101a1e + ld a, $1 + +.asm_101a1e + ld [$ffcb], a + ret +; 101a21 + +Function101a21: ; 101a21 + ld hl, Options + ld a, [hl] + push af + and $20 + or $1 + ld [hl], a + ld a, $1 + ld [wc2d7], a + callba Function3f4dd + callba Function3c000 + callba Function3f759 + xor a + ld [wc2d7], a + ld a, $ff + ld [$ffcb], a + pop af + ld [Options], a + ret +; 101a4f + +Function101a4f: ; 101a4f + ld a, $1 + ld [wc2d7], a + callba Function3f77c + xor a + ld [wc2d7], a + callba Function3f6d0 + callba Function1500c + call Function1013c0 + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101a75 + +Function101a75: ; 101a75 + ld hl, wcc61 + ld de, wcd75 + ld bc, $0003 + call CopyBytes + ld de, wcc64 + callba Function100772 + callba Function101050 + callba Function1010f2 + ret +; 101a97 + +Function101a97: ; 101a97 + callba Function115d99 + ld hl, wcd29 + set 7, [hl] + ld c, $2 + call Function10142c + ld hl, wcd29 + set 6, [hl] + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101ab4 + +Function101ab4: ; 101ab4 + ld e, $1 + call Function101ee4 + ld hl, wcd29 + set 5, [hl] + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101ac6 + +Function101ac6: ; 101ac6 + callba Function115d99 + ld hl, wcd29 + set 7, [hl] + ld c, $2 + call Function10142c + ld hl, wcd29 + set 6, [hl] + xor a + ld [wcd2f], a + ld de, wdc42 + call Function102068 + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101aed + +Function101aed: ; 101aed + callba Function115d99 + ld hl, wcd29 + set 7, [hl] + ld c, $2 + call Function10142c + ld hl, wcd29 + set 6, [hl] + ld a, $1 + ld [wcd2f], a + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101b0f + +Function101b0f: ; 101b0f + ld c, $0 + call Function10142c + ld e, $3 + call Function101ee4 + ld hl, wcd29 + set 5, [hl] + ld a, [wcd25] + inc a + ld [wcd25], a + ld a, $0 + ld [wcd26], a + ret +; 101b2b + +Function101b2b: ; 101b2b + callba Function100579 + ld hl, wcd29 + set 2, [hl] + ld a, [wcd26] + bit 7, a + ret z + call Function1013dd + ld a, $0 + ld [wcd26], a + ld a, [wcfa9] + cp $1 + jr z, .asm_101b51 + ld a, $2 + ld [wcd2b], a + ret + +.asm_101b51 + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101b59 + +Function101b59: ; 101b59 + ld c, $2 + call Function10142c + ld e, $2 + call Function101ee4 + ld hl, wcd29 + set 5, [hl] + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101b70 + +Function101b70: ; 101b70 + ld c, $2 + call Function10142c + ld e, $4 + call Function101ee4 + ld hl, wcd29 + set 5, [hl] + call Function1ad2 + ld a, [wcd25] + inc a + ld [wcd25], a + ld a, $0 + ld [wcd26], a + ret +; 101b8f + +Function101b8f: ; 101b8f + callba Function1005c3 + ld hl, wcd29 + set 2, [hl] + ld a, [wcd26] + bit 7, a + ret z + call Function1013dd + ld a, $0 + ld [wcd26], a + ld a, [wcfa9] + cp $1 + jr z, .asm_101bbc + ld a, $1 + ld [wcd2f], a + ld a, [wcd25] + inc a + ld [wcd25], a + ret + +.asm_101bbc + xor a + ld [wcd2f], a + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101bc8 + +Function101bc8: ; 101bc8 + ld c, $2 + call Function10142c + ld e, $8 + call Function101ee4 + call Function102048 + call Function1013dd + ld a, $0 + ld [wcd26], a + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101be5 + +Function101be5: ; 101be5 + callba Function100579 + ld hl, wcd29 + set 2, [hl] + ld a, [wcd26] + bit 7, a + ret z + call Function1013dd + ld a, $0 + ld [wcd26], a + ld a, [wcfa9] + cp $1 + jr nz, .asm_101c0b + ld a, $2a + ld [wcd25], a + ret + +.asm_101c0b + ld a, $2 + ld [wcd2b], a + ret +; 101c11 + +Function101c11: ; 101c11 + ld a, $1 + ld [wdc5f], a + ld e, $9 + call Function101ee4 + call Function102048 + ld hl, wcd29 + set 5, [hl] + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101c2b + +Function101c2b: ; 101c2b + ld a, $2 + ld [wdc5f], a + ld e, $7 + call Function101ee4 + ld hl, wcd29 + set 5, [hl] + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101c42 + +Function101c42: ; 101c42 + ld hl, wcd2a + set 1, [hl] + call Function100665 + ld a, $47 + ld [wcd25], a + ret +; 101c50 + +Function101c50: ; 101c50 + ld e, $a + call Function101ee4 + ld hl, wcd29 + set 2, [hl] + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101c62 + +Function101c62: ; 101c62 + callba Function115d99 + ld hl, wcd29 + set 7, [hl] + ld c, $1 + call Function10142c + xor a + ld [wc30d], a + ld hl, wcd29 + res 4, [hl] + ld e, $b + call Function101ee4 + ld hl, wcd29 + set 5, [hl] + ld a, [wcd25] + inc a + ld [wcd25], a + ld a, $0 + ld [wcd26], a + ret +; 101c92 + +Function101c92: ; 101c92 + callba Function100675 + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101ca0 + +Function101ca0: ; 101ca0 + ld c, $2 + call Function10142c + ld e, $c + call Function101ee4 + ld hl, wcd29 + set 5, [hl] + ld a, [wcd25] + inc a + ld [wcd25], a + ld a, $0 + ld [wcd26], a + ret +; 101cbc + +Function101cbc: ; 101cbc + ld a, $1 + ld [wcd2b], a + ret +; 101cc2 + +Function101cc2: ; 101cc2 ; unreferenced + ld a, $2 + ld [wcd2b], a + ret +; 101cc8 + +Function101cc8: ; 101cc8 + ld a, $1 + ld [wc314], a + ld a, $1 + ld [wc30d], a + ld hl, wcd29 + set 4, [hl] + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101cdf + +Function101cdf: ; 101cdf + ld a, $6 + ld [wc314], a + ld a, $1 + ld [wc30d], a + ld hl, wcd29 + set 4, [hl] + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101cf6 + +Function101cf6: ; 101cf6 + ld a, $b + ld [wc315], a + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101d03 + +Function101d03: ; 101d03 + ld a, $e + ld [wc315], a + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101d10 + +Function101d10: ; 101d10 + ld c, $1 + call Function10142c + ld a, [wcd25] + inc a + ld [wcd25], a + jr Function101d2a + +Function101d1e: ; 101d1e + ld c, $3 + call Function10142c + ld a, [wcd25] + inc a + ld [wcd25], a + +Function101d2a: ; 101d2a + call Function101418 + ret c + ld hl, wcd29 + set 6, [hl] + ld a, [wcd26] + ld hl, Jumptable_101d4d + rst JumpTable + ld a, [wcd26] + bit 7, a + ret z + ld a, $0 + ld [wcd26], a + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101d4d + +Jumptable_101d4d: ; 101d4d + dw Function101d51 + dw Function101d5d +; 101d51 + +Function101d51: ; 101d51 + ld a, $3c + ld [wcd42], a + ld a, [wcd26] + inc a + ld [wcd26], a + +Function101d5d: ; 101d5d + ld hl, wcd42 + dec [hl] + ret nz + ld a, [wcd26] + set 7, a + ld [wcd26], a + ret +; 101d6b + +Function101d6b: ; 101d6b + ld a, [wc30d] + and a + ret nz + ld hl, wcd29 + res 4, [hl] + ld a, $64 + ld [wcd25], a + ret +; 101d7b + +Function101d7b: ; 101d7b + callba Function10138b + ld b, 0 + ld hl, Unknown_101d8d + add hl, bc + ld c, [hl] + ld a, c + ld [wcd25], a + ret +; 101d8d + +Unknown_101d8d: ; 101d8d + db $15, $15, $1f, $1f, $0c, $12, $3a, $3a +; 101d95 + +Function101d95: ; 101d95 + call Function101ee2 + call Function1d6e + ld e, $e + call Function101ee4 + ld hl, wcd29 + set 5, [hl] + ld a, [wcd25] + inc a + ld [wcd25], a + ld a, $0 + ld [wcd26], a + ret +; 101db2 + +Function101db2: ; 101db2 + callba Function103302 + call Function1c07 + ld hl, wcd29 + set 5, [hl] + jr c, .asm_101dca + ld a, [wcd25] + inc a + ld [wcd25], a + ret + +.asm_101dca + ld a, $2 + ld [wcd2b], a + ret +; 101dd0 + +Function101dd0: ; 101dd0 + ld hl, wdc41 + bit 1, [hl] + jr nz, .asm_101ddd + ld a, $19 + ld [wcd25], a + ret + +.asm_101ddd + ld a, $1b + ld [wcd25], a + ret +; 101de3 + +Function101de3: ; 101de3 + call Function101ecc + call Function101ead + jr c, .asm_101df3 + ld a, [wcd25] + inc a + ld [wcd25], a + ret + +.asm_101df3 + call Function101e98 + jr c, .asm_101e00 + ld a, [wcd25] + inc a + ld [wcd25], a + ret + +.asm_101e00 + call Function101ed3 + ld a, $2 + ld [wcd2b], a + ret +; 101e09 + +Function101e09: ; 101e09 + call Function101ead + jr c, .asm_101e16 + ld a, [wcd25] + inc a + ld [wcd25], a + ret + +.asm_101e16 + call Function101ecc + call Function101e98 + push af + call Function101ed3 + pop af + jr c, .asm_101e2b + ld a, [wcd25] + inc a + ld [wcd25], a + ret + +.asm_101e2b + ld a, $2 + ld [wcd2b], a + ret +; 101e31 + +Function101e31: ; 101e31 + ld a, $3a + ld [wcd25], a + jp Function101c2b +; 101e39 + +Function101e39: ; 101e39 + call Function1020bf + push af + call Function101ed3 + pop af + jr c, .asm_101e49 + ld a, $2a + ld [wcd25], a + ret + +.asm_101e49 + ld a, $2 + ld [wcd2b], a + ret +; 101e4f + +Function101e4f: ; 101e4f + ld e, $6 + call Function101ee4 + call Function1013d6 + ld a, [wcd25] + inc a + ld [wcd25], a + ld a, $0 + ld [wcd26], a + ret +; 101e64 + +Function101e64: ; 101e64 + call Function101ecc + call Function1020a8 + push af + call Function101ed3 + pop af + jr c, .asm_101e77 + ld a, $24 + ld [wcd25], a + ret + +.asm_101e77 + ld hl, wcd29 + set 5, [hl] + ld a, $2 + ld [wcd2b], a + ret +; 101e82 + +Function101e82: ; 101e82 ; unreferenced + call Function101ecc + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101e8d + +Function101e8d: ; 101e8d ; unreferenced + call Function101ed3 + ld a, [wcd25] + inc a + ld [wcd25], a + ret +; 101e98 + +Function101e98: ; 101e98 + call ClearSprites + callba Function8adb3 + ret c + ld hl, GameTimerPause + set 7, [hl] + ld hl, wdc41 + set 4, [hl] + ret +; 101ead + +Function101ead: ; 101ead + ld hl, GameTimerPause + bit 7, [hl] + jr nz, .asm_101ec8 + ld hl, wdc41 + bit 2, [hl] + jr z, .asm_101eca + ld a, [wcd2f] + and a + jr nz, .asm_101ec8 + ld hl, wdc41 + bit 1, [hl] + jr z, .asm_101eca + +.asm_101ec8 + xor a + ret + +.asm_101eca + scf + ret +; 101ecc + +Function101ecc: ; 101ecc + call Function101ee2 + call FadeToMenu + ret +; 101ed3 + +Function101ed3: ; 101ed3 + call Function1013aa + callba Function115d99 + ld hl, wcd29 + set 7, [hl] + ret +; 101ee2 + +Function101ee2: ; 101ee2 + ld e, 0 + +Function101ee4: ; 101ee4 + ld d, 0 + ld hl, Unknown_101ef5 + add hl, de + add hl, de + ld a, [hli] + ld d, [hl] + ld e, a + callba Function100504 + ret +; 101ef5 + +Unknown_101ef5: ; 101ef5 + dw String_101f13 + dw String_101f14 + dw String_101f32 + dw String_101f4f + dw String_101f69 + dw String_101f81 + dw String_101f93 + dw String_101faa + dw String_101fc5 + dw String_101fd2 + dw String_101fe1 + dw String_101fef + dw String_102000 + dw String_10200c + dw String_102014 + +String_101f13: ; 101f13 + db "@" + +String_101f14: ; 101f14 + db "モバイルアダプタを つかって" + next "おともだちと つうしんします@" + +String_101f32: ; 101f32 + db "でんわを かけるひとには" + next "つうわりょうきんが かかります@" + +String_101f4f: ; 101f4f + db "モバイルアダプタの じゅんびは" + next "できて いますか?@" + +String_101f69: ; 101f69 + db "あなたが おともだちに" + next "でんわを かけますか?@" + +String_101f81: ; 101f81 + db "めいしフ,ルダーを" + next "つかいますか?@" + +String_101f93: ; 101f93 + db "でんわばんごうを にゅうりょく" + next "してください@" + +String_101faa: ; 101faa + db "それでは おともだちからの" + next "でんわを おまちします…@" + +String_101fc5: ; 101fc5 + next "に でんわを かけます@" + +String_101fd2: ; 101fd2 + next "に でんわを かけています@" + +String_101fe1: ; 101fe1 + db "でんわが つながりました!@" + +String_101fef: ; 101fef + db "つうわを" + next "しゅうりょう します…@" + +String_102000: ; 102000 + db "つうしん しゅうりょう@" + +String_10200c: ; 10200c + db "つうわ じかん@" + +String_102014: ; 102014 + db "それでは つうしんの" + next "せっていを してください@" +; 10202c + +Function10202c: ; 10202c + callba Function115d99 + ld hl, wcd29 + set 7, [hl] + ld c, $2 + call Function10142c + ld e, $d + call Function101ee4 + hlcoord 4, 4 + call Function100681 + ret +; 102048 + +Function102048: ; 102048 + call Function10204c + ret +; 10204c + +Function10204c: ; 10204c + hlcoord 3, 2 + ld c, $10 + ld de, wcd53 +.asm_102054 + ld a, [de] + inc de + and a + jr z, .asm_102067 + sub $30 + jr c, .asm_102067 + cp $a + jr nc, .asm_102067 + add $f6 + ld [hli], a + dec c + jr nz, .asm_102054 + +.asm_102067 + ret +; 102068 + +Function102068: ; 102068 + ld hl, wcd53 + ld c, $8 +.asm_10206d + ld a, [de] + call Function102080 + jr c, .asm_10207f + ld a, [de] + swap a + call Function102080 + jr c, .asm_10207f + inc de + dec c + jr nz, .asm_10206d + +.asm_10207f + ret +; 102080 + +Function102080: ; 102080 + and $f + cp $f + jr z, .asm_10208a + add $30 + ld [hli], a + ret + +.asm_10208a + ld [hl], $0 + scf + ret +; 10208e + +Function10208e: ; 10208e + push de + ld h, d + ld l, e + ld de, wdc42 + ld bc, $0008 + call CopyBytes + pop de + ret +; 10209c + +Function10209c: ; 10209c + ld a, $ff + ld hl, wdc42 + ld bc, $0008 + call ByteFill + ret +; 1020a8 + +Function1020a8: ; 1020a8 + call Function10209c + ld c, $1 + ld de, wdc42 + callba Function17a68f + ret c + call Function10208e + call Function102068 + xor a + ret +; 1020bf + +Function1020bf: ; 1020bf + call ClearSprites + callba Function8aba9 + ld a, c + and a + jr z, .asm_1020e8 + dec a + ld hl, $a04c + ld bc, $0025 + call AddNTimes + ld d, h + ld e, l + ld a, $4 + call GetSRAMBank + call Function10208e + call Function102068 + call CloseSRAM + xor a + ret + +.asm_1020e8 + scf + ret +; 1020ea + +Function1020ea: ; 1020ea + ld hl, wdc41 + bit 4, [hl] + jr z, .asm_102110 + ld hl, wdc41 + bit 2, [hl] + jr nz, .asm_102110 + call Function10218d + ld hl, $c608 + bit 4, [hl] + jr z, .asm_102110 + ld hl, $c608 + bit 2, [hl] + jr nz, .asm_102110 + call Function102112 + jr z, .asm_102110 + and a + ret + +.asm_102110 + scf + ret +; 102112 + +Function102112: ; 102112 + ld a, $4 + call GetSRAMBank + ld hl, $a041 + ld c, $28 +.asm_10211c + push hl + ld de, $c60f + ld b, $1f +.asm_102122 + ld a, [de] + cp [hl] + jr nz, .asm_10212f + inc de + inc hl + dec b + jr nz, .asm_102122 + pop hl + xor a + jr .asm_10213c + +.asm_10212f + pop hl + ld de, $0025 + add hl, de + dec c + jr nz, .asm_10211c + ld a, $1 + and a + jr .asm_10213c + +.asm_10213c + push af + call CloseSRAM + pop af + ret +; 102142 + +Function102142: ; 102142 + call Function10218d + call Function102180 + ld hl, UnknownText_0x1021d1 + call Function1d4f + ld de, SFX_LEVEL_UP + call PlaySFX + call Functiona36 + call Function1c07 + call Function10219f + ld hl, UnknownText_0x1021d6 + call Function1d4f + call YesNoBox + call Function1c07 + jr c, .asm_10217c + call Function1021b8 + jr c, .asm_10217c + call Function10218d + call Function102180 + ld hl, UnknownText_0x1021db + call PrintText + +.asm_10217c + call Function1013d6 + ret +; 102180 + +Function102180: ; 102180 + ld hl, $c608 + 1 + ld de, StringBuffer2 + ld bc, $000b + call CopyBytes + ret +; 10218d + +Function10218d: ; 10218d + ld hl, wdc00 + ld de, $c608 + ld bc, $0026 + ld a, $5 + call FarCopyWRAM + ld de, $c608 + 1 + ret +; 10219f + +Function10219f: ; 10219f + call FadeToMenu + call Function10218d + ld de, $c608 + 1 + callba Function8ac4e + call Functiona36 + call PlayClickSFX + call Function1013aa + ret +; 1021b8 + +Function1021b8: ; 1021b8 + call FadeToMenu + call Function10218d + ld de, $c60f + callba Function8ac70 + ld a, c + ld [StringBuffer1], a + push af + call Function1013aa + pop af + ret +; 1021d1 + +UnknownText_0x1021d1: ; 1021d1 + text_jump UnknownText_0x1bd19a + db "@" + +UnknownText_0x1021d6: ; 1021d1 + text_jump UnknownText_0x1bd1ba + db "@" + +UnknownText_0x1021db: ; 1021d1 + text_jump UnknownText_0x1bd1dd + db "@" +; 1021e0 + +Function1021e0: ; 1021e0 + call Function1d4f + call Functiona36 + call Function1c07 + ret +; 1021ea + +UnknownText_0x1021ea: ; 1021ea + text_jump UnknownText_0x1bd201 + db "@" + +UnknownText_0x1021ef: + text_jump UnknownText_0x1bd211 + db "@" + +UnknownText_0x1021f4: + text_jump UnknownText_0x1bd223 + db "@" +; 1021f9 + +Function1021f9: ; 1021f9 + call Function102233 + ld a, $0 + ld [wcd49], a + ld hl, wcd29 + bit 3, [hl] + res 3, [hl] + jr z, .asm_10220f + ld a, $1 + ld [wcd49], a + +.asm_10220f + call Function1022ca + ld a, [wcd49] + ld hl, Jumptable_1022f5 + rst JumpTable + call Function102241 + call Function1022d0 + jr c, .asm_102231 + ld a, [wcd49] + bit 7, a + jr z, .asm_10220f + xor a + ld hl, wcd29 + bit 3, [hl] + ret z + scf + ret + +.asm_102231 + xor a + ret +; 102233 + +Function102233: ; 102233 + ld hl, wcd49 + ld bc, $000a + xor a + call ByteFill + call Function10304f + ret +; 102241 + +Function102241: ; 102241 + call Function10226a + call Function102274 + call Function10224b + ret +; 10224b + +Function10224b: ; 10224b + ld hl, wcd4b + bit 1, [hl] + jr nz, .asm_10225e + bit 2, [hl] + jr nz, .asm_10225e + call DelayFrame + call DelayFrame + xor a + ret + +.asm_10225e + res 1, [hl] + res 2, [hl] + callba Function104099 + scf + ret +; 10226a + +Function10226a: ; 10226a + ld hl, wcd4b + bit 0, [hl] + ret z + call Function10305d + ret +; 102274 + +Function102274: ; 102274 + ld hl, wcd4b + bit 3, [hl] + ret z + res 3, [hl] + ld de, $0008 + call PlaySFX + ret +; 102283 + +Function102283: ; 102283 + ld a, $1 + ld [AttrMapEnd], a + ld hl, wcd4b + set 0, [hl] + ret +; 10228e + +Function10228e: ; 10228e + xor a + ld [AttrMapEnd], a + ld hl, wcd4b + res 0, [hl] + ret +; 102298 + +Function102298: ; 102298 + ld a, e + cp $2 + ret nz + ld hl, wcd4b + bit 6, [hl] + jr z, .asm_1022b6 + ld hl, wcd4b + bit 7, [hl] + ld hl, wcd4b + set 7, [hl] + ret nz + ld de, SFX_ELEVATOR_END + call PlaySFX + jr .asm_1022c1 + +.asm_1022b6 + ld hl, wcd4b + bit 7, [hl] + ld hl, wcd4b + res 7, [hl] + ret z + +.asm_1022c1 + call Function10304f + ld a, $1 + ld [AttrMapEnd], a + ret +; 1022ca + +Function1022ca: ; 1022ca + ld a, 30 + ld [OverworldDelay], a + ret +; 1022d0 + +Function1022d0: ; 1022d0 + callba Function10032e + ld a, [wcd2b] + and a + jr nz, .asm_1022f3 + call Function102298 + ld a, [OverworldDelay] + ld c, a + ld a, 30 + sub c + ld c, a + ld b, $3 + callba Function10062d + jr c, .asm_1022f3 + xor a + ret + +.asm_1022f3 + scf + ret +; 1022f5 + +Jumptable_1022f5: ; 1022f5 + dw Function10234b + dw Function102361 + dw Function10236e + dw Function102387 + dw Function1023a1 + dw Function1025c7 + dw Function1025dc + dw Function1024f6 + dw Function10250c + dw Function1024a8 + dw Function102591 + dw Function1024a8 + dw Function1025b0 + dw Function1025bd + dw Function102814 + dw Function10283c + dw Function102862 + dw Function10286f + dw Function1024a8 + dw Function1028a5 + dw Function1028ab + dw Function1023b5 + dw Function1023c6 + dw Function1024af + dw Function102416 + dw Function102423 + dw Function10244b + dw Function1024af + dw Function10246a + dw Function102652 + dw Function10266b + dw Function1025e9 + dw Function1025ff + dw Function102738 + dw Function102754 + dw Function1026b7 + dw Function1026c8 + dw Function1028bf + dw Function1028c6 + dw Function1028d3 + dw Function1028da + dw Function1024a8 + dw Function10248d +; 10234b + +Function10234b: ; 10234b + call Function102d9a + call Function102dd3 + call Function102dec + ld hl, wcd4b + set 1, [hl] + ld a, [wcd49] + inc a + ld [wcd49], a + ret +; 102361 + +Function102361: ; 102361 + ld a, $cc + call Function1028e8 + ld a, [wcd49] + inc a + ld [wcd49], a + ret +; 10236e + +Function10236e: ; 10236e + call Function1028fc + ret nc + ld a, [wcd51] + cp $cc + jr z, .asm_10237f + ld a, $f2 + ld [wcd2b], a + ret + +.asm_10237f + ld a, [wcd49] + inc a + ld [wcd49], a + ret +; 102387 + +Function102387: ; 102387 + ld hl, wcd4b + set 6, [hl] + xor a + ld [wdc5f], a + ld de, MUSIC_ROUTE_30 + call PlayMusic + call Function102d9a + call Function102dd3 + ld a, $1 + ld [wcfa9], a + +Function1023a1: ; 1023a1 + call Function102283 + call Function102db7 + call Function102dec + ld hl, wcd4b + set 1, [hl] + ld a, $1d + ld [wcd49], a + ret +; 1023b5 + +Function1023b5: ; 1023b5 + call Function10228e + call Function102a3b + call Function102b12 + ld a, [wcd49] + inc a + ld [wcd49], a + ret +; 1023c6 + +Function1023c6: ; 1023c6 + call Function102c48 + call Function102c87 + ld a, [wcd4c] + dec a + ld [CurPartyMon], a + xor a + ld [wd10b], a + callba Functione039 + ld hl, PartyCount + inc [hl] + ld a, [hli] + ld c, a + ld b, $0 + add hl, bc + ld [hl], $ff + ld a, [PartyCount] + ld [wcd4c], a + call Function102c07 + call Function102d48 + call Function102b32 + call Function102f50 + ld hl, wcd4b + set 1, [hl] + ld a, $14 + ld [wcd4e], a + ld a, $0 + ld [wcd4f], a + ld a, $0 + ld [wcd4a], a + ld a, [wcd49] + inc a + ld [wcd49], a + ret +; 102416 + +Function102416: ; 102416 + ld a, $aa + call Function1028e8 + ld a, [wcd49] + inc a + ld [wcd49], a + ret +; 102423 + +Function102423: ; 102423 + call Function102921 + ret nc + callba Function14a58 + callba Function1060af + callba Function106187 + ld hl, wcd4b + set 1, [hl] + ld a, $0 + ld [wcd4a], a + ld a, [wcd49] + inc a + ld [wcd49], a + ret +; 10244b + +Function10244b: ; 10244b + call Function102f32 + ld hl, wcd4b + set 1, [hl] + ld a, $19 + ld [wcd4e], a + ld a, $0 + ld [wcd4f], a + ld a, $0 + ld [wcd4a], a + ld a, [wcd49] + inc a + ld [wcd49], a + ret +; 10246a + +Function10246a: ; 10246a + call Function102d9a + ld hl, wcd29 + set 3, [hl] + call Function102e07 + ld hl, wcd4b + set 1, [hl] + ld a, $2a + ld [wcd49], a + ret +; 102480 + +Function102480: ; 102480 + ld c, $32 + call DelayFrames + ld a, [wcd49] + inc a + ld [wcd49], a + ret +; 10248d + +Function10248d: ; 10248d + ld a, [wcd49] + set 7, a + ld [wcd49], a + ret +; 102496 + +Function102496: ; 102496 + ld hl, wcd4e + dec [hl] + ret nz + ld a, $0 + ld [wcd4a], a + ld a, [wcd49] + inc a + ld [wcd49], a + ret +; 1024a8 + +Function1024a8: ; 1024a8 + callba Function1009f3 + ret c + +Function1024af: ; 1024af + call GetJoypad + ld a, [wcd4a] + ld hl, Jumptable_1024ba + rst JumpTable + ret +; 1024ba + +Jumptable_1024ba: ; 1024ba + dw Function1024c0 + dw Function1024cb + dw Function1024de +; 1024c0 + +Function1024c0: ; 1024c0 + ld hl, wcd4e + inc [hl] + ld a, [wcd4a] + inc a + ld [wcd4a], a + +Function1024cb: ; 1024cb + ld hl, wcd4e + dec [hl] + ret nz + ld a, [wcd4f] + inc a + ld [wcd4e], a + ld a, [wcd4a] + inc a + ld [wcd4a], a + +Function1024de: ; 1024de + ld hl, wcd4e + dec [hl] + jr z, .asm_1024e9 + ld a, [hJoyPressed] + and A_BUTTON | B_BUTTON + ret z + +.asm_1024e9 + ld a, $0 + ld [wcd4a], a + ld a, [wcd49] + inc a + ld [wcd49], a + ret +; 1024f6 + +Function1024f6: ; 1024f6 + call Function1bee + ld hl, wcd4b + set 1, [hl] + ld a, [wcd4c] + call Function1028e8 + ld a, [wcd49] + inc a + ld [wcd49], a + ret +; 10250c + +Function10250c: ; 10250c + call Function1028fc + ret nc + ld a, [wcd51] + cp $f + jr z, .asm_10254b + and a + jr z, .asm_102572 + cp $aa + jr z, .asm_102572 + cp $7 + jr nc, .asm_102572 + ld [wcd4d], a + dec a + ld [wd003], a + ld a, [wcd4c] + dec a + ld [DefaultFlypoint], a + call Function102b9c + call Function102bdc + jr c, .asm_10256d + callba Functionfb5dd + jr c, .asm_102568 + ld hl, wcd4b + set 1, [hl] + ld a, $e + ld [wcd49], a + ret + +.asm_10254b + call Function103021 + ld hl, wcd4b + set 1, [hl] + ld a, $0 + ld [wcd4a], a + ld a, $1e + ld [wcd4e], a + ld a, $1e + ld [wcd4f], a + ld a, $29 + ld [wcd49], a + ret + +.asm_102568 + call Function102ff5 + jr .asm_102577 + +.asm_10256d + call Function102f85 + jr .asm_102577 + +.asm_102572 + call Function102fce + jr .asm_102577 + +.asm_102577 + ld hl, wcd4b + set 1, [hl] + ld a, $0 + ld [wcd4a], a + ld a, $1e + ld [wcd4e], a + ld a, $3c + ld [wcd4f], a + ld a, $9 + ld [wcd49], a + ret +; 102591 + +Function102591: ; 102591 + call Function102ee7 + ld hl, wcd4b + set 1, [hl] + ld a, $0 + ld [wcd4a], a + ld a, $1e + ld [wcd4e], a + ld a, $3c + ld [wcd4f], a + ld a, [wcd49] + inc a + ld [wcd49], a + ret +; 1025b0 + +Function1025b0: ; 1025b0 + ld a, $9 + call Function1028e8 + ld a, [wcd49] + inc a + ld [wcd49], a + ret +; 1025bd + +Function1025bd: ; 1025bd + call Function1028fc + ret nc + ld a, $4 + ld [wcd49], a + ret +; 1025c7 + +Function1025c7: ; 1025c7 + call Function102f6d + ld hl, wcd4b + set 1, [hl] + ld a, $f + call Function1028e8 + ld a, [wcd49] + inc a + ld [wcd49], a + ret +; 1025dc + +Function1025dc: ; 1025dc + call Function1028fc + ret nc + ld a, [wcd49] + set 7, a + ld [wcd49], a + ret +; 1025e9 + +Function1025e9: ; 1025e9 + nop + ld hl, wcd4b + set 6, [hl] + call Function102b4e + ld hl, wcd4b + set 1, [hl] + ld a, [wcd49] + inc a + ld [wcd49], a + ret +; 1025ff + +Function1025ff: ; 1025ff + ld hl, wcd4b + set 2, [hl] + callba Function1009f3 + ret c + callba Function241ba + ld a, [wcfa8] + and c + ret z + bit 0, c + jr nz, .asm_102623 + bit 6, c + jr nz, .asm_10262e + bit 7, c + jr nz, .asm_102646 + ret + +.asm_102623 + ld hl, wcd4b + set 3, [hl] + ld a, $27 + ld [wcd49], a + ret + +.asm_10262e + ld a, [wcfa9] + ld b, a + ld a, [OTPartyCount] + cp b + ret nz + call Function1bf7 + ld a, [PartyCount] + ld [wcfa9], a + ld a, $1d + ld [wcd49], a + ret + +.asm_102646 + ld a, [wcfa9] + cp $1 + ret nz + ld a, $23 + ld [wcd49], a + ret +; 102652 + +Function102652: ; 102652 + nop + ld hl, wcd4b + set 6, [hl] + nop + call Function102b7b + nop + ld hl, wcd4b + set 1, [hl] + nop + ld a, [wcd49] + inc a + ld [wcd49], a + ret +; 10266b + +Function10266b: ; 10266b + ld hl, wcd4b + set 2, [hl] + callba Function1009f3 + ret c + callba Function241ba + ld a, [wcfa8] + and c + ret z + bit 0, c + jr nz, .asm_10268f + bit 7, c + jr nz, .asm_10269a + bit 6, c + jr nz, .asm_1026a8 + ret + +.asm_10268f + ld hl, wcd4b + set 3, [hl] + ld a, $21 + ld [wcd49], a + ret + +.asm_10269a + ld a, [wcfa9] + dec a + ret nz + call Function1bf7 + ld a, $1f + ld [wcd49], a + ret + +.asm_1026a8 + ld a, [wcfa9] + ld b, a + ld a, [PartyCount] + cp b + ret nz + ld a, $23 + ld [wcd49], a + ret +; 1026b7 + +Function1026b7: ; 1026b7 + ld hl, wcd4b + set 6, [hl] + ld a, [wcd49] + inc a + ld [wcd49], a + ld a, $0 + ld [wcd4a], a + +Function1026c8: ; 1026c8 + call GetJoypad + callba Function1009f3 + ret c + ld a, [wcd4a] + ld hl, Jumptable_1026da + rst JumpTable + ret +; 1026da + +Jumptable_1026da: ; 1026da + dw Function1026de + dw Function1026f3 +; 1026de + +Function1026de: ; 1026de + call Function1bf7 + hlcoord 9, 17 + ld [hl], $ed + ld a, [wcd4a] + inc a + ld [wcd4a], a + ld hl, wcd4b + set 1, [hl] + ret +; 1026f3 + +Function1026f3: ; 1026f3 + ld a, [hJoyPressed] + bit 0, a + jr nz, .asm_102723 + bit 6, a + jr nz, .asm_102712 + bit 7, a + jr nz, .asm_102702 + ret + +.asm_102702 + hlcoord 9, 17 + ld [hl], $7f + ld a, $1 + ld [wcfa9], a + ld a, $1d + ld [wcd49], a + ret + +.asm_102712 + hlcoord 9, 17 + ld [hl], $7f + ld a, [OTPartyCount] + ld [wcfa9], a + ld a, $1f + ld [wcd49], a + ret + +.asm_102723 + hlcoord 9, 17 + ld [hl], $ec + ld hl, wcd4b + set 3, [hl] + ld hl, wcd4b + set 2, [hl] + ld a, $5 + ld [wcd49], a + ret +; 102738 + +Function102738: ; 102738 + ld hl, wcd4b + set 6, [hl] + call Function1bee + call Function1027eb + ld hl, wcd4b + set 1, [hl] + ld a, [wcd49] + inc a + ld [wcd49], a + ld a, $0 + ld [wcd4a], a + +Function102754: ; 102754 + call GetJoypad + callba Function1009f3 + ret c + ld a, [wcd4a] + ld hl, Jumptable_102766 + rst JumpTable + ret +; 102766 + +Jumptable_102766: ; 102766 + dw Function102770 + dw Function102775 + dw Function10278c + dw Function1027a0 + dw Function1027b7 +; 102770 + +Function102770: ; 102770 + ld a, $1 + ld [wcd4a], a + +Function102775: ; 102775 + hlcoord 1, 16 + ld [hl], $ed + hlcoord 11, 16 + ld [hl], $7f + ld hl, wcd4b + set 2, [hl] + ld a, [wcd4a] + inc a + ld [wcd4a], a + ret +; 10278c + +Function10278c: ; 10278c + ld a, [hJoyPressed] + bit 0, a + jr nz, asm_1027c6 + bit 1, a + jr nz, asm_1027e2 + bit 4, a + jr nz, .asm_10279b + ret + +.asm_10279b + ld a, $3 + ld [wcd4a], a + +Function1027a0: ; 1027a0 + hlcoord 1, 16 + ld [hl], $7f + hlcoord 11, 16 + ld [hl], $ed + ld hl, wcd4b + set 2, [hl] + ld a, [wcd4a] + inc a + ld [wcd4a], a + ret + +Function1027b7: ; 1027b7 + ld a, [hJoyPressed] + bit 0, a + jr nz, asm_1027d1 + bit 1, a + jr nz, asm_1027e2 + bit 5, a + jr nz, Function102770 + ret + +asm_1027c6: + ld hl, wcd4b + set 3, [hl] + ld a, $25 + ld [wcd49], a + ret + +asm_1027d1: + ld hl, wcd4b + set 3, [hl] + ld a, [wcfa9] + ld [wcd4c], a + ld a, $7 + ld [wcd49], a + ret + +asm_1027e2: + call Function102db7 + ld a, $1d + ld [wcd49], a + ret +; 1027eb + +Function1027eb: ; 1027eb + hlcoord 0, 14 + ld b, $2 + ld c, $12 + ld d, h + ld e, l + callba Function16d61d + ld de, String_102804 + hlcoord 2, 16 + call PlaceString + ret +; 102804 + +String_102804: ; 102804 + db "STATS TRADE@" +; 102814 + +Function102814: ; 102814 + ld a, [wcfa9] + ld [wcd52], a + ld a, [wcd4c] + dec a + ld [DefaultFlypoint], a + ld a, [wcd4d] + dec a + ld [wd003], a + call Function102ea8 + ld a, [wcd49] + inc a + ld [wcd49], a + ld a, $0 + ld [wcd4a], a + ld hl, wcd4b + set 1, [hl] + +Function10283c: ; 10283c + ld hl, wcd4b + set 2, [hl] + call Function1029c3 + ret z + jr c, .asm_102852 + ld a, $10 + ld [wcd49], a + ld hl, wcd4b + set 1, [hl] + ret + +.asm_102852 + ld a, $14 + ld [wcd49], a + ld hl, wcd4b + set 3, [hl] + ld hl, wcd4b + set 1, [hl] + ret +; 102862 + +Function102862: ; 102862 + ld a, $8 + call Function1028e8 + ld a, [wcd49] + inc a + ld [wcd49], a + ret +; 10286f + +Function10286f: ; 10286f + call Function1028fc + ret nc + ld a, [wcd52] + ld [wcfa9], a + ld a, [wcd51] + cp $8 + jr nz, .asm_102886 + ld a, $15 + ld [wcd49], a + ret + +.asm_102886 + call Function102ee7 + ld hl, wcd4b + set 1, [hl] + ld a, $1e + ld [wcd4e], a + ld a, $3c + ld [wcd4f], a + ld a, $0 + ld [wcd4a], a + ld a, [wcd49] + inc a + ld [wcd49], a + ret +; 1028a5 + +Function1028a5: ; 1028a5 + ld a, $4 + ld [wcd49], a + ret +; 1028ab + +Function1028ab: ; 1028ab + ld a, [wcd52] + ld [wcfa9], a + call Function102f15 + ld hl, wcd4b + set 1, [hl] + ld a, $c + ld [wcd49], a + ret +; 1028bf + +Function1028bf: ; 1028bf + ld a, [wcd49] + inc a + ld [wcd49], a + +Function1028c6: ; 1028c6 + xor a + ld [MonType], a + call Function102bac + ld a, $1d + ld [wcd49], a + ret +; 1028d3 + +Function1028d3: ; 1028d3 + ld a, [wcd49] + inc a + ld [wcd49], a + +Function1028da: ; 1028da + ld a, $1 + ld [MonType], a + call Function102bac + ld a, $1f + ld [wcd49], a + ret +; 1028e8 + +Function1028e8: ; 1028e8 + ld hl, wcd4b + res 6, [hl] + ld [wcd50], a + callba Function100641 + ld a, $0 + ld [wcd4a], a + ret +; 1028fc + +Function1028fc: ; 1028fc + call GetJoypad + callba Function1009f3 + jr nc, .asm_102909 + and a + ret + +.asm_102909 + ld a, [wcd4a] + ld hl, Jumptable_102917 + rst JumpTable + ret nc + ld a, $0 + ld [wcd4a], a + ret +; 102917 + +Jumptable_102917: ; 102917 + dw Function102933 + dw Function10294f + dw Function10295d + dw Function10296e + dw Function102996 +; 102921 + +Function102921: ; 102921 + ld a, [wcd4a] + ld hl, Jumptable_10292f + rst JumpTable + ret nc + ld a, $0 + ld [wcd4a], a + ret +; 10292f + +Jumptable_10292f: ; 10292f + dw Function10295d + dw Function102984 +; 102933 + +Function102933: ; 102933 + ld hl, MenuDataHeader_1029bb + call LoadMenuDataHeader + call Function102e07 + ld a, $32 + ld [TextDelayFrames], a + ld hl, wcd4b + set 1, [hl] + ld a, [wcd4a] + inc a + ld [wcd4a], a + and a + ret +; 10294f + +Function10294f: ; 10294f + ld a, [TextDelayFrames] + and a + ret nz + ld a, [wcd4a] + inc a + ld [wcd4a], a + and a + ret +; 10295d + +Function10295d: ; 10295d + call Function10299e + ld a, $0 + ld [wcd27], a + ld a, [wcd4a] + inc a + ld [wcd4a], a + and a + ret +; 10296e + +Function10296e: ; 10296e + callba Function100382 + and a + ld a, [wcd27] + bit 7, a + ret z + ld a, [wcd4a] + inc a + ld [wcd4a], a + and a + ret +; 102984 + +Function102984: ; 102984 + callba Function100382 + and a + ld a, [wcd27] + bit 7, a + ret z + call Function1029af + scf + ret +; 102996 + +Function102996: ; 102996 + call Function1029af + call Function1c07 + scf + ret +; 10299e + +Function10299e: ; 10299e + ld a, $1 + ld [wccb4], a + ld a, [wcd50] + ld [wccb5], a + ld a, $aa + ld [wcd51], a + ret +; 1029af + +Function1029af: ; 1029af + ld hl, wcd4b + res 7, [hl] + ld a, [wcc61] + ld [wcd51], a + ret +; 1029bb + +MenuDataHeader_1029bb: ; 1029bb + db $40 ; flags + db 10, 3 ; start coords + db 12, 15 ; end coords + dw NULL + db 1 ; default option +; 1029c3 + +Function1029c3: ; 1029c3 + ld a, [wcd4a] + ld hl, Jumptable_1029cb + rst JumpTable + ret +; 1029cb + +Jumptable_1029cb: ; 1029cb + dw Function1029cf + dw Function1029fe +; 1029cf + +Function1029cf: ; 1029cf + call Function1d6e + hlcoord 10, 7 + ld b, $3 + ld c, $8 + ld d, h + ld e, l + callba Function16d61d + ld de, String_102a26 + hlcoord 12, 8 + call PlaceString + ld hl, wcd4b + set 1, [hl] + ld de, Unknown_102a33 + call Function1bb1 + ld a, [wcd4a] + inc a + ld [wcd4a], a + xor a + ret +; 1029fe + +Function1029fe: ; 1029fe + callba Function1009f3 + ret c + callba Function241ba + ld a, c + ld hl, wcfa8 + and [hl] + ret z + push af + call Function1c07 + pop af + ld a, [wcfa9] + cp $1 + jr nz, .asm_102a21 + ld a, $1 + and a + ret + +.asm_102a21 + ld a, $1 + and a + scf + ret +; 102a26 + +String_102a26: ; 102a26 + db "TRADE" + next "CANCEL" + db "@" +; 102a33 + +Unknown_102a33: +INCBIN "baserom.gbc", $102a33, $102a3b - $102a33 + +Function102a3b: ; 102a3b + ld a, [wcd30] + ld [wc74e], a + ld hl, PlayerName + ld de, $c6e7 + ld bc, $000b + call CopyBytes + ld a, [wcd4c] + dec a + ld c, a + ld b, $0 + ld hl, PartySpecies + add hl, bc + ld a, [hl] + ld [$c6d0], a + ld a, [wcd4c] + dec a + ld hl, PartyMonOT + call SkipNames + ld de, $c6f2 + ld bc, $000b + call CopyBytes + ld a, [wcd4c] + dec a + ld hl, PartyMon1ID + call GetPartyLocation + ld a, [hli] + ld [$c6ff], a + ld a, [hl] + ld [wc700], a + ld a, [wcd4c] + dec a + ld hl, PartyMon1DVs + call GetPartyLocation + ld a, [hli] + ld [$c6fd], a + ld a, [hl] + ld [$c6fe], a + ld a, [wcd4c] + dec a + ld hl, PartyMon1Species + call GetPartyLocation + ld b, h + ld c, l + callba GetCaughtGender + ld a, c + ld [wc701], a + ld hl, wd26b + ld de, wc719 + ld bc, $000b + call CopyBytes + ld a, [wcd4d] + dec a + ld c, a + ld b, $0 + ld hl, OTPartySpecies + add hl, bc + ld a, [hl] + ld [wc702], a + ld a, [wcd4d] + dec a + ld hl, OTPartyMonOT + call SkipNames + ld de, wc724 + ld bc, $000b + call CopyBytes + ld a, [wcd4d] + dec a + ld hl, OTPartyMon1ID + call GetPartyLocation + ld a, [hli] + ld [wc731], a + ld a, [hl] + ld [wc732], a + ld a, [wcd4d] + dec a + ld hl, OTPartyMon1DVs + call GetPartyLocation + ld a, [hli] + ld [wc72f], a + ld a, [hl] + ld [wc730], a + ld a, [wcd4d] + dec a + ld hl, OTPartyMon1Species + call GetPartyLocation + ld b, h + ld c, l + callba GetCaughtGender + ld a, c + ld [wc733], a + ret +; 102b12 + +Function102b12: ; 102b12 + ld c, $64 + call DelayFrames + call Function102d9a + call Functione58 + ld a, [wcd2f] + and a + jr nz, .asm_102b2b + callba Function108026 + jr .asm_102b31 + +.asm_102b2b + callba Function10802a + +.asm_102b31 + ret +; 102b32 + +Function102b32: ; 102b32 + ld a, [wcd4c] + dec a + ld [CurPartyMon], a + ld a, $1 + ld [wd1e9], a + callba Function421d8 + call Function102d9a + call Function102dd3 + call Function102dec + ret +; 102b4e + +Function102b4e: ; 102b4e + ld a, $1 + ld [MonType], a + ld a, [wcfa9] + push af + ld de, Unknown_102b73 + call Function1bb1 + pop af + ld [wcfa9], a + ld a, [OTPartyCount] + ld [wcfa3], a + ret +; 102b68 + +Function102b68: ; 102b68 ; unreferenced + xor a + ld hl, wcf71 + ld bc, $0010 + call ByteFill + ret +; 102b73 + +Unknown_102b73: +INCBIN "baserom.gbc", $102b73, $102b7b - $102b73 + +Function102b7b: ; 102b7b + xor a + ld [MonType], a + ld a, [wcfa9] + push af + ld de, Unknown_102b94 + call Function1bb1 + pop af + ld [wcfa9], a + ld a, [PartyCount] + ld [wcfa3], a + ret +; 102b94 + +Unknown_102b94: +INCBIN "baserom.gbc", $102b94, $102b9c - $102b94 + +Function102b9c: ; 102b9c + ld a, [wcd4d] + dec a + hlcoord 6, 9 + ld bc, $0014 + call AddNTimes + ld [hl], $ec + ret +; 102bac + +Function102bac: ; 102bac + ld a, [wcfa9] + dec a + ld [CurPartyMon], a + call LowVolume + call ClearSprites + callba Function4dc8f + ld a, [CurPartyMon] + inc a + ld [wcfa9], a + call Function102d9a + call ClearPalettes + call DelayFrame + call MaxVolume + call Function102dd3 + call Function102dec + call Function102db7 + ret +; 102bdc + +Function102bdc: ; 102bdc + ld a, [wcd4d] + dec a + ld hl, OTPartyMon1Species + call GetPartyLocation + push hl + ld a, [wcd4d] + ld c, a + ld b, $0 + ld hl, OTPartyCount + add hl, bc + ld a, [hl] + pop hl + cp EGG + jr z, .asm_102bfa + cp [hl] + jr nz, .asm_102c05 + +.asm_102bfa + ld bc, OTPartyMon1Level - OTPartyMon1 + add hl, bc + ld a, [hl] + cp MAX_LEVEL + 1 + jr nc, .asm_102c05 + and a + ret + +.asm_102c05 + scf + ret +; 102c07 + +Function102c07: ; 102c07 + call Function102c14 + call Function102c3b + call Function102c21 + call Function102c2e + ret +; 102c14 + +Function102c14: ; 102c14 + ld hl, PartySpecies + ld de, OTPartySpecies + ld bc, $0001 + call Function102c71 + ret +; 102c21 + +Function102c21: ; 102c21 + ld hl, PartyMonNicknames + ld de, OTPartyMonNicknames + ld bc, $000b + call Function102c71 + ret +; 102c2e + +Function102c2e: ; 102c2e + ld hl, PartyMonOT + ld de, OTPartyMonOT + ld bc, $000b + call Function102c71 + ret +; 102c3b + +Function102c3b: ; 102c3b + ld hl, PartyMon1 + ld de, OTPartyMon1 + ld bc, $0030 + call Function102c71 + ret +; 102c48 + +Function102c48: ; 102c48 + callba Function10165a + ld a, $0 + call GetSRAMBank + ld hl, $a600 + ld de, $c608 + ld bc, $002f + call Function102c71 + call CloseSRAM + ld hl, $c608 + ld de, wda00 + ld bc, $01e0 + ld a, $5 + call FarCopyWRAM + ret +; 102c71 + +Function102c71: ; 102c71 + ld a, [wcd4c] + dec a + call AddNTimes + push hl + ld h, d + ld l, e + ld a, [wcd4d] + dec a + call AddNTimes + pop de + call SwapBytes + ret +; 102c87 + +Function102c87: ; 102c87 + ld a, [wcf63] + push af + ld a, [wcf64] + push af + ld a, [wcd4c] + ld [wcf63], a + ld a, [PartyCount] + ld [wcf64], a + ld a, $0 + ld hl, $a600 + ld de, $c608 + ld bc, $011a + call Function102d3e + call Function102cee + ld a, $0 + ld hl, $c608 + ld de, $a600 + ld bc, $011a + call Function102d3e + ld a, [wcd4d] + ld [wcf63], a + ld a, [OTPartyCount] + ld [wcf64], a + ld a, $5 + ld hl, wda00 + ld de, $c608 + ld bc, $011a + call FarCopyWRAM + call Function102cee + ld a, $5 + ld hl, $c608 + ld de, wda00 + ld bc, $011a + call FarCopyWRAM + pop af + ld [wcf64], a + pop af + ld [wcf63], a + ret +; 102cee + +Function102cee: ; 102cee + ld a, [wcf63] + dec a + call Function102d34 + ld de, DefaultFlypoint + ld bc, $002f + call CopyBytes + ld a, [wcf63] + ld c, a + ld a, $6 + sub c + ret z + ld bc, $002f + ld hl, $0000 + call AddNTimes + push hl + ld a, [wcf63] + dec a + call Function102d34 + ld d, h + ld e, l + ld hl, $002f + add hl, de + pop bc + call CopyBytes + ld a, [wcf64] + dec a + call Function102d34 + ld d, h + ld e, l + ld hl, DefaultFlypoint + ld bc, $002f + call CopyBytes + ret +; 102d34 + +Function102d34: ; 102d34 + ld hl, $c608 + ld bc, $002f + call AddNTimes + ret +; 102d3e + +Function102d3e: ; 102d3e + call GetSRAMBank + call CopyBytes + call CloseSRAM + ret +; 102d48 + +Function102d48: ; 102d48 + ld a, [wcd4c] + ld e, a + ld d, 0 + ld hl, PartyCount + add hl, de + ld a, [hl] + ld [wd265], a + cp EGG + jr z, .asm_102d6d + dec a + call SetSeenAndCaughtMon + ld a, [wcd4c] + dec a + ld bc, PartyMon2 - PartyMon1 + ld hl, PartyMon1Happiness + call AddNTimes + ld [hl], BASE_HAPPINESS + +.asm_102d6d + ld a, [wd265] + cp UNOWN + jr nz, .asm_102d98 + ld a, [wcd4c] + dec a + ld bc, PartyMon2 - PartyMon1 + ld hl, PartyMon1DVs + call AddNTimes + predef GetUnownLetter + callba Functionfba18 + ld a, [wdef4] + and a + jr nz, .asm_102d98 + ld a, [UnownLetter] + ld [wdef4], a + +.asm_102d98 + and a + ret +; 102d9a + +Function102d9a: ; 102d9a + ld a, $7f + ld hl, SpritesEnd + ld bc, $0168 + call ByteFill + ld a, $7 + ld hl, AttrMap + ld bc, $0168 + call ByteFill + callba Function104000 + ret +; 102db7 + +Function102db7: ; 102db7 + call Function102e4f + call Function102e3e + ld hl, wcd4b + set 1, [hl] + ret +; 102dc3 + +Function102dc3: ; 102dc3 + hlcoord 0, 12 + ld b, $4 + ld c, $12 + ld d, h + ld e, l + callba Function16d61d + ret +; 102dd3 + +Function102dd3: ; 102dd3 + call DisableLCD + ld de, GFX_1032a2 + ld hl, VTiles0 + lb bc, BANK(GFX_1032a2), 4 + call Get2bpp + callba Function16d421 + call EnableLCD + ret +; 102dec + +Function102dec: ; 102dec + ld hl, Unknown_1032e2 + ld de, Unkn2Pals + ld bc, $0020 + ld a, $5 + call FarCopyWRAM + callba Function49742 + call Function32f9 + call DelayFrame + ret +; 102e07 + +Function102e07: ; 102e07 + hlcoord 3, 10 + ld b, $1 + ld c, $b + ld a, [IsInBattle] + and a + jr z, .asm_102e19 + call TextBox + jr .asm_102e28 + +.asm_102e19 + hlcoord 3, 10 + ld b, $1 + ld c, $b + ld d, h + ld e, l + callba Function16d61d + +.asm_102e28 + ld de, String_102e32 + hlcoord 4, 11 + call PlaceString + ret +; 102e32 + +String_102e32: ; 102e32 + db "Waiting...!@" +; 102e3e + +Function102e3e: ; 102e3e + ld de, String_102e48 + hlcoord 10, 17 + call PlaceString + ret +; 102e48 + +String_102e48: ; 102e48 + db "CANCEL@" +; 102e4f + +Function102e4f: ; 102e4f + callba Function16d42e + callba Function49797 + ld de, PlayerName + hlcoord 4, 0 + call PlaceString + ld a, $14 + ld [bc], a + ld de, wd26b + hlcoord 4, 8 + call PlaceString + ld a, $14 + ld [bc], a + hlcoord 7, 1 + ld de, PartySpecies + call Function102e86 + hlcoord 7, 9 + ld de, OTPartySpecies + call Function102e86 + ret +; 102e86 + +Function102e86: ; 102e86 + ld c, $0 +.asm_102e88 + ld a, [de] + cp $ff + ret z + ld [wd265], a + push bc + push hl + push de + push hl + ld a, c + ld [hDividend], a + call GetPokemonName + pop hl + call PlaceString + pop de + inc de + pop hl + ld bc, $0014 + add hl, bc + pop bc + inc c + jr .asm_102e88 +; 102ea8 + +Function102ea8: ; 102ea8 + call Function102dc3 + ld a, [wcd4c] + dec a + ld c, a + ld b, $0 + ld hl, PartySpecies + add hl, bc + ld a, [hl] + ld [wd265], a + call GetPokemonName + ld hl, StringBuffer1 + ld de, StringBuffer2 + ld bc, $000b + call CopyBytes + ld a, [wcd4d] + dec a + ld c, a + ld b, $0 + ld hl, OTPartySpecies + add hl, bc + ld a, [hl] + ld [wd265], a + call GetPokemonName + ld hl, UnknownText_0x102ee2 + call PrintTextBoxText + ret +; 102ee2 + +UnknownText_0x102ee2: ; 102ee2 + text_jump UnknownText_0x1bd286 + db "@" + +Function102ee7: ; 102ee7 + call Function102dc3 + ld de, String_102ef4 + hlcoord 1, 14 + call PlaceString + ret +; 102ef4 + +String_102ef4: ; 102ef4 + db "Too bad! The trade" + next "was canceled!" + db "@" +; 102f15 + +Function102f15: ; 102f15 + call Function102dc3 + ld de, String_102f22 + hlcoord 1, 14 + call PlaceString + ret +; 102f22 + +String_102f22: ; 102f22 + db "こうかんを キャンセルしました@" +; 102f32 + +Function102f32: ; 102f32 + call Function102dc3 + ld de, String_102f3f + hlcoord 1, 14 + call PlaceString + ret +; 102f3f + +String_102f3f: ; 102f3f + db "Trade completed!@" +; 102f50 + +Function102f50: ; 102f50 + call Function102dc3 + ld de, String_102f5d + hlcoord 1, 14 + call PlaceString + ret +; 102f5d + +String_102f5d: ; 102f5d + db "しょうしょう おまち ください@" +; 102f6d + +Function102f6d: ; 102f6d + call Function102dc3 + ld de, String_102f7a + hlcoord 1, 14 + call PlaceString + ret +; 102f7a + +String_102f7a: ; 102f7a + db "しゅうりょう します@" +; 102f85 + +Function102f85: ; 102f85 + ld a, [wd003] + ld c, a + ld b, $0 + ld hl, OTPartySpecies + add hl, bc + ld a, [hl] + ld [wd265], a + call GetPokemonName + call Function102dc3 + ld de, String_102fb2 + hlcoord 1, 14 + call PlaceString + ld de, StringBuffer1 + hlcoord 13, 14 + call PlaceString + ld de, String_102fcc + call PlaceString + ret +; 102fb2 + +String_102fb2: ; 102fb2 + db "あいてがわ", $4a, "えらんだ " + next "いじょう", $4a, "あるようです!!" + db "@" +; 102fcc + +String_102fcc: ; 102fcc + db "に@" +; 102fce + +Function102fce: ; 102fce + call Function102dc3 + ld de, String_102fdb + hlcoord 1, 14 + call PlaceString + ret +; 102fdb + +String_102fdb: ; 102fdb + db "あいてがわ", $25, "せんたくに" + next "いじょう", $4a, "あるようです!!" + done +; 102ff5 + +Function102ff5: ; 102ff5 + call Function102dc3 + ld de, String_103002 + hlcoord 1, 14 + call PlaceString + ret +; 103002 + +String_103002: ; 103002 + db "その#を こうかんすると" + next "せんとう できなく なっちゃうよ!" + db "@" +; 103021 + +Function103021: ; 103021 + call Function102dc3 + ld de, String_10302e + hlcoord 1, 14 + call PlaceString + ret +; 10302e + +String_10302e: ; 10302e + db "あいてが ちゅうしを えらんだので" + next "こうかんを ちゅうし します" + db "@" +; 10304f + +Function10304f: ; 10304f + xor a + ld [AttrMapEnd], a + ld [wcf42], a + ld [wcf44], a + ld [wcf45], a + ret +; 10305d + +Function10305d: ; 10305d + nop + ld a, [AttrMapEnd] + and a + ret z + call Function10307f + ret c + call Function103094 + call Function10306e + ret +; 10306e + +Function10306e: ; 10306e + ld a, $1 + ld [hOAMUpdate], a + call ClearSprites + ld de, Sprites + call Function1030cd + xor a + ld [hOAMUpdate], a + ret +; 10307f + +Function10307f: ; 10307f + ld c, $2 + ld hl, wcd4b + bit 7, [hl] + jr z, .asm_10308a + ld c, $1 + +.asm_10308a + ld hl, wcf45 + inc [hl] + ld a, [hl] + cp c + ret c + xor a + ld [hl], a + ret +; 103094 + +Function103094: ; 103094 + ld hl, wcd4b + bit 7, [hl] + jr nz, .asm_1030c0 + ld a, [wcf42] + bit 7, a + jr nz, .asm_1030b2 + ld a, [wcf44] + inc a + ld [wcf44], a + cp $2c + ret nz + ld hl, wcf42 + set 7, [hl] + ret + +.asm_1030b2 + ld a, [wcf44] + dec a + ld [wcf44], a + ret nz + ld hl, wcf42 + res 7, [hl] + ret + +.asm_1030c0 + ld hl, wcf44 + ld a, [hl] + and a + jr z, .asm_1030ca + dec a + ld [hl], a + ret nz + +.asm_1030ca + ld [hl], $2c + ret +; 1030cd + +Function1030cd: ; 1030cd + ld a, [wcf44] + ld l, a + ld h, 0 + add hl, hl + add hl, hl + add hl, hl + ld bc, Unknown_103112 + add hl, bc + ld b, $30 + ld c, $8 +.asm_1030de + push hl + ld hl, wcd4b + bit 7, [hl] + pop hl + ld a, $0 + jr z, .asm_1030eb + ld a, $5 +.asm_1030eb + + add [hl] + inc hl + push hl + + add a + add a + + add Unknown_10327a % $100 + ld l, a + ld a, Unknown_10327a / $100 + adc 0 + ld h, a + + ld a, b + add [hl] + inc hl + ld [de], a + inc de + ld a, $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 + pop hl + ld a, b + add $8 + ld b, a + dec c + jr nz, .asm_1030de + ret +; 103112 + +Unknown_103112: ; 103112 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $01, $00, $00, $00, $00, $00, $00, $00 + db $02, $01, $00, $00, $00, $00, $00, $00 + db $03, $02, $01, $00, $00, $00, $00, $00 + db $04, $03, $02, $01, $00, $00, $00, $00 + db $04, $04, $03, $02, $01, $00, $00, $00 + db $04, $04, $04, $03, $02, $01, $00, $00 + db $04, $04, $04, $04, $03, $02, $01, $00 + db $04, $04, $04, $04, $04, $03, $02, $01 + db $04, $04, $04, $04, $04, $04, $03, $02 + db $04, $04, $04, $04, $04, $04, $04, $03 + db $04, $04, $04, $04, $04, $04, $04, $04 + db $04, $04, $04, $04, $04, $04, $04, $04 + db $04, $04, $04, $04, $04, $04, $04, $04 + db $04, $04, $04, $04, $04, $04, $04, $04 + db $04, $04, $04, $04, $04, $04, $04, $04 + db $04, $04, $04, $04, $04, $04, $04, $04 + db $04, $04, $04, $04, $04, $04, $04, $04 + db $04, $04, $04, $04, $04, $04, $04, $04 + db $03, $04, $04, $04, $04, $04, $04, $04 + db $02, $03, $04, $04, $04, $04, $04, $04 + db $01, $02, $03, $04, $04, $04, $04, $04 + db $00, $01, $02, $03, $04, $04, $04, $04 + db $00, $00, $01, $02, $03, $04, $04, $04 + db $00, $00, $00, $01, $02, $03, $04, $04 + db $00, $00, $00, $00, $01, $02, $03, $04 + db $00, $00, $00, $00, $00, $01, $02, $03 + db $00, $00, $00, $00, $00, $00, $01, $02 + db $00, $00, $00, $00, $00, $00, $00, $01 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00 +; 10327a + +Unknown_10327a: ; 10327a + db $00, $00, $00, $00 + db $00, $00, $01, $00 + db $00, $00, $02, $00 + db $00, $00, $03, $00 + db $00, $00, $01, $01 + db $00, $00, $00, $00 + db $00, $00, $01, $02 + db $00, $00, $02, $02 + db $00, $00, $03, $02 + db $00, $00, $01, $03 + +GFX_1032a2: +INCBIN "gfx/unknown/1032a2.2bpp" + +Unknown_1032e2: + db $00, $00, $ff, $1f + db $f4, $1b, $8d, $42 + db $00, $00, $67, $45 + db $00, $00, $00, $00 + db $00, $00, $1f, $13 + db $99, $01, $ff, $10 + db $00, $00, $19, $00 + db $00, $00, $00, $00 +; 103302 + +Function103302: ; 103302 + call Function103309 + call Function103362 + ret +; 103309 + +Function103309: ; 103309 + xor a + ld [hBGMapMode], a + ld hl, Buffer1 + ld bc, $000a + xor a + call ByteFill + ld a, $4 + call GetSRAMBank + ld a, [wdc41] + ld [$a60c], a + ld [Buffer1], a + call CloseSRAM + call Function1035c6 + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [hli] + ld [wd1ef], a + ld a, [hli] + ld [wd1ec], a + ld a, [hli] + ld [wd1ed], a + ld h, d + ld l, e + call Function3eea + ld hl, wd1ec + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [hl] + ld [wd1ee], a + call Function1034be + call Function1ad2 + callba Function104000 + ld a, $1 + ld [wd1f0], a + call Function10339a + ret +; 103362 + +Function103362: ; 103362 +.asm_103362 + ld a, [wd1f0] + ld [wd1f1], a + call Function1033af + call Function10339a + call Function10342c + callba Function10402d + ld a, [Buffer2] + bit 7, a + jr z, .asm_103362 + ld hl, Buffer2 + bit 6, [hl] + jr z, .asm_103398 + ld a, $4 + call GetSRAMBank + ld a, [Buffer1] + ld [$a60c], a + ld [wdc41], a + call CloseSRAM + xor a + ret + +.asm_103398 + scf + ret +; 10339a + +Function10339a: ; 10339a + ld a, [wd1f0] + ld [wd1f2], a + ld c, a + ld b, $0 + ld hl, wd1ec + ld a, [hli] + ld h, [hl] + ld l, a + add hl, bc + ld a, [hl] + ld [wd1f3], a + ret +; 1033af + +Function1033af: ; 1033af + call GetJoypad + ld a, [hJoyPressed] + bit 5, a + jr nz, .left + bit 4, a + jr nz, .right + bit 1, a + jr nz, .b + bit 0, a + jr nz, .a + bit 6, a + jr nz, .up + bit 7, a + jr nz, .down + ret + +.up + ld a, [wd1f0] + dec a + ld [wd1f0], a + cp $1 + ret nc + ld a, [wd1ee] + ld [wd1f0], a + ret + +.down + ld a, [wd1f0] + inc a + ld [wd1f0], a + ld c, a + ld a, [wd1ee] + cp c + ret nc + ld a, $1 + ld [wd1f0], a + ret + +.b + call PlayClickSFX + ld hl, Buffer2 + set 7, [hl] + ret + +.a + ld a, [wd1f3] + cp $3 + jr nz, .asm_103412 + ld de, SFX_TRANSACTION + call PlaySFX + ld hl, Buffer2 + set 7, [hl] + ld hl, Buffer2 + set 6, [hl] + ret + +.left +.right +.asm_103412 + ld a, [wd1f3] + cp $3 + ret z + ld de, SFX_PUSH_BUTTON + call PlaySFX + ld bc, $0008 + call Function10350f + ld a, [Buffer1] + xor e + ld [Buffer1], a + ret +; 10342c + +Function10342c: ; 10342c + ld a, [wd1f0] + ld [wd1f2], a + call Function103490 + call Function10343c + call Function1034a7 + ret +; 10343c + +Function10343c: ; 10343c + ld a, [wd1f3] + cp $2 + jr nz, .asm_103452 + ld bc, $0001 + call Function1034f7 + ld c, $12 + ld b, $1 + call Function1034e0 + jr .asm_10345f + +.asm_103452 + ld bc, $ffed + call Function1034f7 + ld c, $12 + ld b, $2 + call Function1034e0 + +.asm_10345f + ld bc, $0000 + call Function10350f + ld bc, $0001 + call Function103487 + ld bc, $0008 + call Function10350f + ld a, [Buffer1] + and e + ld bc, $0002 + jr z, .asm_10347d + ld bc, $0004 + +.asm_10347d + call Function10350f + ld bc, $000b + call Function103487 + ret +; 103487 + +Function103487: ; 103487 + push de + call Function1034f7 + pop de + call PlaceString + ret +; 103490 + +Function103490: ; 103490 + hlcoord 0, 15 + ld c, $14 + ld b, $3 + call Function1034e0 + ld bc, $0006 + call Function10350f + hlcoord 1, 16 + call PlaceString + ret +; 1034a7 + +Function1034a7: ; 1034a7 + ld a, [wd1f1] + ld [wd1f2], a + ld bc, $000a + call Function1034f7 + ld [hl], $7f + ld bc, $000a + call Function1034f1 + ld [hl], $ed + ret +; 1034be + +Function1034be: ; 1034be + ld a, $1 + ld [wd1f2], a + ld hl, wd1ec + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [hli] +.asm_1034ca + push af + ld a, [hli] + push hl + ld [wd1f3], a + call Function10343c + ld hl, wd1f2 + inc [hl] + pop hl + pop af + dec a + jr nz, .asm_1034ca + call Function103490 + ret +; 1034e0 + +Function1034e0: ; 1034e0 + push bc + push hl + call ClearBox + pop hl + ld bc, AttrMap - TileMap + add hl, bc + pop bc + ld a, $6 + call Functionfb8 + ret +; 1034f1 + +Function1034f1: ; 1034f1 + ld a, [wd1f0] + ld [wd1f2], a + +Function1034f7: ; 10134f7 + ld hl, TileMap + add hl, bc + ld a, [wd1ef] + ld bc, SCREEN_WIDTH + call AddNTimes + ld a, [wd1f2] + dec a + ld bc, 40 + call AddNTimes + ret +; 10350f + +Function10350f: ; 10350f + ld a, [wd1f3] + push bc + ld hl, Unknown_103522 + ld bc, $0009 + call AddNTimes + pop bc + add hl, bc + ld a, [hli] + ld d, [hl] + ld e, a + ret +; 103522 + +Unknown_103522: ; 103522 + dw String_103546 + dw String_103598 + dw String_1035a0 + dw String_10355f + db $1 + dw String_10354f + dw String_1035a8 + dw String_1035b1 + dw String_103571 + db $2 + dw String_103557 + dw String_1035ba + dw String_1035bd + dw String_103585 + db $4 + dw String_103545 + dw String_1035c1 + dw String_1035c1 + dw String_103545 + +String_103545: db "@" +String_103546: db "せんとう アニメ@" +String_10354f: db "でんわばんごう@" +String_103557: db "めいしこうかん@" +String_10355f: db "でんわを かけるひとが きめられる@" +String_103571: db "でんわばんごうの にゅうりょくのしかた@" +String_103585: db "あたらしいめいしが あれば こうかん@" +String_103598: db "とばして みる@" +String_1035a0: db "じっくり みる@" +String_1035a8: db "めいしからえらぶ@" +String_1035b1: db "すうじで いれる@" +String_1035ba: db "する@" +String_1035bd: db "しない@" +String_1035c1: db "けってい@" +; 1035c6 + +Function1035c6: ; 1035c6 + callba Function10138b + ld b, 0 + ld hl, Unknown_1035d7 + add hl, bc + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ret +; 1035d7 + +Unknown_1035d7: ; 1035d7 + dw Unknown_1035e7 + dw Unknown_1035f3 + dw Unknown_103608 + dw Unknown_103608 + dw Unknown_1035fe + + dw Function103612 + dw Function103612 + dw Function103612 + +Unknown_1035e7: ; 1035e7 + dwcoord 0, 6 + db $12, $07, $07 + dw .this +.this + db 4, 2, 1, 0, 3 + +Unknown_1035f3: ; 1035f3 + dwcoord 0, 7 + db $12, $06, $09 + dw .this +.this + db 3, 2, 1, 3 + +Unknown_1035fe: ; 1035fe + dwcoord 0, 9 + db $12, $04, $0b + dw .this +.this + db 2, 0, 3 + +Unknown_103608: ; 103608 + dwcoord 0, 9 + db $12, $04, $0b + dw .this +.this + db 2, 2, 3 +; 103612 + +Function103612: ; 103612 + ld hl, MenuDataHeader_103640 + call LoadMenuDataHeader + ld a, [wdc40] + and $f + jr z, .asm_103622 + ld [wcf88], a + +.asm_103622 + call Function1d81 + call Function1c17 + jr c, .asm_10363b + ld a, [wcfa9] + ld [ScriptVar], a + ld c, a + ld a, [wdc40] + and $f0 + or c + ld [wdc40], a + ret + +.asm_10363b + xor a + ld [ScriptVar], a + ret +; 103640 + +MenuDataHeader_103640: ; 103640 + db $40 ; flags + db 6, 13 ; start coords + db 11, 19 ; end coords + dw MenuData2_103648 + db 1 ; default option + +MenuData2_103648: ; 103648 + db $80 ; flags + db 2 + db "モバイル@" + db "ケーブル@" +; 103654 + +Function103654: ; 103654 + callba Function10632f + bit 7, c + jr nz, .asm_103666 + ld hl, wcd2a + res 5, [hl] + ld c, $2 + ret + +.asm_103666 + ld hl, wcd2a + set 5, [hl] + ld c, $1 + ret +; 10366e + +Function10366e: ; 10366e + callba Function10632f + bit 7, c + jr z, .asm_10369b + ld hl, UnknownText_0x10375d + call PrintText + call YesNoBox + jr c, .asm_103696 + callba Function8b1e1 + jr nc, .asm_103690 + call Functiona36 + jr .asm_103696 + +.asm_103690 + ld a, $1 + ld [ScriptVar], a + ret + +.asm_103696 + xor a + ld [ScriptVar], a + ret + +.asm_10369b + ld hl, wdc40 + bit 7, [hl] + set 7, [hl] + jr nz, .asm_1036b5 + ld hl, UnknownText_0x103762 + call PrintText + call YesNoBox + jr c, .asm_1036b5 + call Function1036f9 + call Functiona36 + +.asm_1036b5 + call Function103700 + jr c, .asm_1036f4 + ld hl, MenuDataHeader_103747 + call LoadMenuDataHeader + call Function1d81 + call Function1c07 + jr c, .asm_1036f4 + ld a, [wcfa9] + cp $1 + jr z, .asm_1036d9 + cp $2 + jr z, .asm_1036f4 + cp $3 + jr z, .asm_1036ec + jr .asm_1036b5 + +.asm_1036d9 + callba Function8b1e1 + jr nc, .asm_1036e6 + call Functiona36 + jr .asm_1036f4 + +.asm_1036e6 + ld a, $1 + ld [ScriptVar], a + ret + +.asm_1036ec + call Function1036f9 + call Functiona36 + jr .asm_1036b5 + +.asm_1036f4 + xor a + ld [ScriptVar], a + ret +; 1036f9 + +Function1036f9: ; 1036f9 + ld hl, UnknownText_0x103767 + call PrintText + ret +; 103700 + +Function103700: ; 103700 + ld c, $a + ld hl, wdc20 + bit 4, [hl] + jr z, .asm_10370f + callba Function1008a6 + +.asm_10370f + ld a, c + ld [StringBuffer2], a + ld a, [StringBuffer2] + cp $5 + jr nc, .asm_103724 + cp $2 + jr nc, .asm_10372c + cp $1 + jr nc, .asm_103734 + jr .asm_10373c + +.asm_103724 + ld hl, UnknownText_0x10376c + call PrintText + and a + ret + +.asm_10372c + ld hl, UnknownText_0x103771 + call PrintText + and a + ret + +.asm_103734 + ld hl, UnknownText_0x103776 + call PrintText + and a + ret + +.asm_10373c + ld hl, UnknownText_0x10377b + call PrintText + call Functiona36 + scf + ret +; 103747 + +MenuDataHeader_103747: ; 103747 + db $40 ; flags + db 5, 13 ; start coords + db 11, 19 ; end coords + dw MenuData2_10374f + db 1 ; default option + +MenuData2_10374f: ; 10374f + db $c0 ; flags + db 3 + db "はい@" + db "やめる@" + db "せつめい@" +; 10375d + +UnknownText_0x10375d: ; 0x10375d + text_jump UnknownText_0x1c422a + db "@" +; 0x103762 +UnknownText_0x103762: ; 0x103762 + text_jump UnknownText_0x1c4275 + db "@" +; 0x103767 +UnknownText_0x103767: ; 0x103767 + text_jump UnknownText_0x1c4298 + db "@" +; 0x10376c +UnknownText_0x10376c: ; 0x10376c + text_jump UnknownText_0x1c439c + db "@" +; 0x103771 +UnknownText_0x103771: ; 0x103771 + text_jump UnknownText_0x1c43dc + db "@" +; 0x103776 +UnknownText_0x103776: ; 0x103776 + text_jump UnknownText_0x1c4419 + db "@" +; 0x10377b +UnknownText_0x10377b: ; 0x10377b + text_jump UnknownText_0x1c445a + db "@" +; 0x103780 + +Function103780: ; 103780 + ld a, [wd265] + push af + call Function10378c + pop af + ld [wd265], a + ret +; 10378c + +Function10378c: ; 10378c + ld c, $0 + ld hl, wdc20 + bit 4, [hl] + jr nz, .asm_10379c + ld c, $1 + ld hl, wdc20 + set 4, [hl] + +.asm_10379c + push bc + callba Function14ab2 + pop bc + jr c, .asm_1037b5 + ld a, $1 + ld [ScriptVar], a + ld a, c + and a + ret z + callba Function1006fd + ret + +.asm_1037b5 + xor a + ld [ScriptVar], a + ld a, c + and a + ret z + ld hl, wdc20 + res 4, [hl] + ret +; 1037c2 + +Function1037c2: ; 1037c2 + call Function103823 + jr c, .asm_1037de + ld a, [wdc5f] + and a + jr z, .asm_1037de + ld hl, UnknownText_0x1037e6 + call PrintText + call YesNoBox + jr c, .asm_1037de + ld a, $1 + ld [ScriptVar], a + ret + +.asm_1037de + xor a + ld [wdc5f], a + ld [ScriptVar], a + ret +; 1037e6 + +UnknownText_0x1037e6: ; 0x1037e6 + text_jump UnknownText_0x1c449c + db "@" +; 0x1037eb + +Function1037eb: ; 1037eb + call Function103823 + jr nc, .asm_103807 + ld hl, UnknownText_0x103819 + call PrintText + call Functiona36 + ld hl, UnknownText_0x10381e + call PrintText + call Functiona36 + xor a + ld [ScriptVar], a + ret + +.asm_103807 + ld a, [wdc60] + and a + jr nz, .asm_103813 + ld a, $1 + ld [ScriptVar], a + ret + +.asm_103813 + ld a, $2 + ld [ScriptVar], a + ret +; 103819 + +UnknownText_0x103819: ; 0x103819 + text_jump UnknownText_0x1c44c0 + db "@" +; 0x10381e + +UnknownText_0x10381e: ; 0x10381e + text_jump UnknownText_0x1c44e7 + db "@" +; 0x103823 + +Function103823: ; 103823 + callba Function10632f + bit 7, c + jr nz, .asm_103838 + callba Function1008a6 + ld a, c + cp $1 + jr c, .asm_10383a + +.asm_103838 + xor a + ret + +.asm_10383a + scf + ret +; 10383c + +Function10383c: ; 10383c + ld a, $1 + ld [wdc60], a + xor a + ld hl, wdc5c + ld [hli], a + ld [hli], a + ld [hl], a + ld hl, UnknownText_0x103876 + call PrintText + call Functiona36 + callba Script_reloadmappart + callba Function4a94e + jr c, .asm_103870 + ld hl, DefaultFlypoint + ld de, wdc5c + ld bc, $0003 + call CopyBytes + xor a + ld [ScriptVar], a + ret + +.asm_103870 + ld a, $1 + ld [ScriptVar], a + ret +; 103876 + +UnknownText_0x103876: ; 0x103876 + text_jump UnknownText_0x1c4508 + db "@" +; 0x10387b + +Function10387b: ; 10387b + callba Function10632f + bit 7, c + ret nz + callba Function1008a6 + ld a, c + ld [StringBuffer2], a + ld hl, UnknownText_0x103898 + call PrintText + call Functiona36 + ret +; 103898 + +UnknownText_0x103898: ; 0x103898 + text_jump UnknownText_0x1c4525 + db "@" +; 0x10389d + + diff --git a/misc/mobile_42.asm b/misc/mobile_42.asm new file mode 100644 index 000000000..310ceb622 --- /dev/null +++ b/misc/mobile_42.asm @@ -0,0 +1,1947 @@ + +SECTION "bank42", ROMX, BANK[$42] + +Function108000: ; 108000 + ld a, $80 + ld [wcf65], a + ld de, Unknown_10800b + jp Function108089 +; 10800b + +Unknown_10800b: +INCBIN "baserom.gbc", $10800b, $108012 - $10800b + +Function108012: + ld a, $80 + jr asm_108018 + +Function108016: ; 108016 + ld a, $0 +asm_108018: + ld [wcf65], a + ld de, Unknown_108021 + jp Function108089 +; 108021 + +Unknown_108021: +INCBIN "baserom.gbc", $108021, $108026 - $108021 + +Function108026: ; 108026 + ld a, $0 + jr asm_10802c + +Function10802a: ; 10802a + ld a, $1 + +asm_10802c: + ld [wcf65], a + ld de, Unknown_108035 + jp Function10805b +; 108035 + +Unknown_108035: +INCBIN "baserom.gbc", $108035, $10803d - $108035 + +Function10803d: ; 10803d + ld a, $0 + ld [wcf65], a + ld de, Unknown_108048 + jp Function108089 +; 108048 + +Unknown_108048: +INCBIN "baserom.gbc", $108048, $10804d - $108048 + +Function10804d: ; 10804d + ld a, $0 + ld [wcf65], a + ld de, Unknown_108058 + jp Function108089 +; 108058 + +Unknown_108058: +INCBIN "baserom.gbc", $108058, $10805b - $108058 + +Function10805b: ; 10805b + ld hl, wc734 + ld [hl], e + inc hl + ld [hl], d + ld a, [$ffde] + push af + xor a + ld [$ffde], a + ld hl, VramState + ld a, [hl] + push af + res 0, [hl] + ld hl, Options + ld a, [hl] + push af + set 4, [hl] + call Function1080b7 +.asm_108078 + call Function10824b + jr nc, .asm_108078 + pop af + ld [Options], a + pop af + ld [VramState], a + pop af + ld [$ffde], a + ret +; 108089 + +Function108089: ; 108089 + ld hl, BattleEnded + ld [hl], e + inc hl + ld [hl], d + ld a, [$ffde] + push af + xor a + ld [$ffde], a + ld hl, VramState + ld a, [hl] + push af + res 0, [hl] + ld hl, Options + ld a, [hl] + push af + set 4, [hl] + call Function108157 +.asm_1080a6 + call Function10824b + jr nc, .asm_1080a6 + pop af + ld [Options], a + pop af + ld [VramState], a + pop af + ld [$ffde], a + ret +; 1080b7 + +Function1080b7: ; 1080b7 + xor a + ld [wcf63], a + call WhiteBGMap + call ClearSprites + call ClearTileMap + call DisableLCD + call Function1081ad + call Function1081ca + call Functione51 + call Functione58 + ld a, $1 + ld [rVBK], a + ld hl, LZ_108da7 + ld de, VTiles2 + call Decompress + ld a, $0 + ld [rVBK], a + ld hl, LZ_108d27 + ld de, $8200 + call Decompress + call EnableLCD + xor a + ld [hSCX], a + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $90 + ld [hWY], a + callba Function8cf53 + call DelayFrame + ld de, TradeBallGFX + ld hl, VTiles0 + lb bc, BANK(TradeBallGFX), $06 + call Request2bpp + ld de, TradePoofGFX + ld hl, $8060 + lb bc, BANK(TradePoofGFX), $0c + call Request2bpp + xor a + ld hl, wc300 + ld [hli], a + ld [hl], $0 + ld a, [$c6d0] + ld hl, $c6fd + ld de, $8300 + call Function1081e9 + ld a, [wc702] + ld hl, wc72f + ld de, $9310 + call Function1081e9 + ld a, [$c6d0] + ld de, $c6d1 + call Function108239 + ld a, [wc702] + ld de, wc703 + call Function108239 + xor a + call Function108b98 + call Function108af4 + ret +; 108157 + +Function108157: ; 108157 + xor a + ld [wcf63], a + call WhiteBGMap + call ClearSprites + call ClearTileMap + call DisableLCD + call Function1081ad + call Function1081ca + call Functione51 + call Functione58 + call EnableLCD + xor a + ld [hSCX], a + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $90 + ld [hWY], a + callba Function8cf53 + xor a + ld hl, wc300 + ld [hli], a + ld [hl], $0 + call DelayFrame + ld a, [$c6d0] + ld de, $c6d1 + call Function108239 + ld a, [wc702] + ld de, wc703 + call Function108239 + xor a + call Function108b98 + call Function108af4 + ret +; 1081ad + +Function1081ad: ; 1081ad + ld a, $1 + ld [rVBK], a + ld hl, VTiles0 + ld bc, $1800 + xor a + call ByteFill + ld a, $0 + ld [rVBK], a + ld hl, VTiles0 + ld bc, $1800 + xor a + call ByteFill + ret +; 1081ca + +Function1081ca: ; 1081ca + ld a, $1 + ld [rVBK], a + ld hl, VBGMap0 + ld bc, $0800 + ld a, $0 + call ByteFill + ld a, $0 + ld [rVBK], a + ld hl, VBGMap0 + ld bc, $0800 + ld a, $7f + call ByteFill + ret +; 1081e9 + +Function1081e9: ; 1081e9 + push de + push af + predef GetUnownLetter + pop af + ld [CurPartySpecies], a + ld [CurSpecies], a + call GetBaseData + pop de + predef GetFrontpic + ret +; 108201 + +Function108201: ; 108201 + push de + push af + predef GetUnownLetter + pop af + ld [CurPartySpecies], a + ld [CurSpecies], a + call GetBaseData + pop de + predef Function5108b + ret +; 108219 + +Function108219: ; 108219 + ld [CurPartySpecies], a + hlcoord 7, 2 + ld d, $0 + ld e, $3 + predef Functiond008e + ret +; 108229 + +Function108229: ; 108229 + ld [CurPartySpecies], a + hlcoord 7, 2 + ld d, $0 + ld e, $3 + predef Functiond00a3 + ret +; 108239 + +Function108239: ; 108239 + push de + ld [wd265], a + call GetPokemonName + ld hl, StringBuffer1 + pop de + ld bc, $000b + call CopyBytes + ret +; 10824b + +Function10824b: ; 10824b + ld a, [wcf63] + bit 7, a + jr nz, .asm_10825a + call Function10827b + call DelayFrame + and a + ret + +.asm_10825a + xor a + ld [hSCX], a + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $90 + ld [hWY], a + call Functione51 + call Functione58 + callba Function106462 + callba Function106464 + scf + ret +; 10827b + +Function10827b: ; 10827b + ld a, [wcf63] + ld e, a + ld d, 0 + ld hl, Jumptable_10828a + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 10828a + +Jumptable_10828a: ; 10828a + dw Function1082b7 + dw Function10830e + dw Function108638 + dw Function108763 + dw Function1087cf + dw Function108811 + dw Function108838 + dw Function10884c + dw Function108863 + dw Function108894 + dw Function10890a + dw Function10839b + dw Function1082c6 + dw Function10842c + dw Function1084d7 + dw Function108919 + dw Function108689 + dw Function1086f4 + dw Function10893d + dw Function108589 +; 1082b2 + +Function1082b2: ; 1082b2 + ld hl, wcf63 + inc [hl] + ret +; 1082b7 + +Function1082b7: ; 1082b7 + ld hl, wc734 + ld e, [hl] + inc hl + ld d, [hl] + ld a, [de] + ld [wcf63], a + inc de + ld [hl], d + dec hl + ld [hl], e + ret +; 1082c6 + +Function1082c6: ; 1082c6 + ld hl, wcf63 + set 7, [hl] + ret +; 1082cc + +Function1082cc: ; 1082cc +.asm_1082cc + push bc + callba Function8cf69 + pop bc + call DelayFrame + dec c + jr nz, .asm_1082cc + ret +; 1082db + +Function1082db: ; 1082db +.asm_1082db + callba Function8cf69 + callba Functiond00b4 + callba Function10402d + jr nc, .asm_1082db + ret +; 1082f0 + +Function1082f0: ; 1082f0 +.asm_1082f0 + call Function108b78 + call DelayFrame + dec c + jr nz, .asm_1082f0 + ret +; 1082fa + +Function1082fa: ; 1082fa +.asm_1082fa + call Function108b78 + push hl + push bc + callba Function8cf69 + pop bc + pop hl + call DelayFrame + dec c + jr nz, .asm_1082fa + ret +; 10830e + +Function10830e: ; 10830e + ld de, MUSIC_EVOLUTION + call PlayMusic2 + ld a, $80 + ld [hSCX], a + xor a + ld [hSCY], a + ld a, $87 + ld [hWX], a + ld a, $50 + ld [hWY], a + call Function1089a8 + ld a, [$c6d0] + ld [CurPartySpecies], a + call Function10895e + ld a, [$c6fd] + ld [TempMonDVs], a + ld a, [$c6fe] + ld [TempMonDVs + 1], a + ld b, $1a + call GetSGBLayout + ld a, $e4 + call DmgToCgbBGPals + call WaitBGMap +.asm_108348 + ld a, [hWX] + cp $7 + jr z, .asm_10835d + sub $4 + ld [hWX], a + ld a, [hSCX] + sub $4 + ld [hSCX], a + call DelayFrame + jr .asm_108348 + +.asm_10835d + ld a, $7 + ld [hWX], a + xor a + ld [hSCX], a + ld a, [$c6d0] + call GetCryIndex + jr c, .asm_108371 + ld e, c + ld d, b + call PlayCryHeader + +.asm_108371 + ld c, $50 + call DelayFrames + call Function108bec + lb de, $54, $58 + ld a, $20 + call Function3b2a + ld de, SFX_BALL_POOF + call PlaySFX + ld hl, TileMap + ld bc, $00f0 + ld a, $7f + call ByteFill + ld c, $50 + call Function1082cc + call Function1082b7 + ret +; 10839b + +Function10839b: ; 10839b + call WhiteBGMap + call ClearSprites + call ClearTileMap + call DisableLCD + call Function1081ca + ld a, [wc702] + ld [CurPartySpecies], a + ld hl, wc72f + ld de, VTiles2 + call Function108201 + call EnableLCD + callba Function8d03d + xor a + ld [hSCX], a + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $90 + ld [hWY], a + lb de, $54, $58 + ld a, $21 + call Function3b2a + call Function108b45 + ld a, $1 + call Function108b98 + call Function108af4 + ld c, $30 + call Function1082cc + ld de, SFX_BALL_POOF + call PlaySFX + call Function1089d2 + xor a + ld [hSCX], a + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $50 + ld [hWY], a + ld a, [wc702] + ld [CurPartySpecies], a + ld a, [wc72f] + ld [TempMonDVs], a + ld a, [wc730] + ld [TempMonDVs + 1], a + ld b, $1a + call GetSGBLayout + ld a, $e4 + call DmgToCgbBGPals + call Function108963 + ld a, [wc702] + call Function108229 + call Function1082db + call Function108c16 + call Function1082b7 + ret +; 10842c + +Function10842c: ; 10842c + ld de, MUSIC_EVOLUTION + call PlayMusic2 + ld a, $80 + ld [hSCX], a + xor a + ld [hSCY], a + ld a, $87 + ld [hWX], a + ld a, $50 + ld [hWY], a + call Function1089a8 + ld a, [$c6d0] + ld [CurPartySpecies], a + ld hl, $c6fd + call Function10898a + call DelayFrame + ld de, TradeBallGFX + ld hl, VTiles0 + lb bc, BANK(TradeBallGFX), $06 + call Request2bpp + ld de, TradePoofGFX + ld hl, $8060 + lb bc, BANK(TradePoofGFX), $0c + call Request2bpp + ld a, [$c6fd] + ld [TempMonDVs], a + ld a, [$c6fe] + ld [TempMonDVs + 1], a + ld b, $1a + call GetSGBLayout + ld a, $e4 + call DmgToCgbBGPals + call WaitBGMap +.asm_108484 + ld a, [hWX] + cp $7 + jr z, .asm_108499 + sub $4 + ld [hWX], a + ld a, [hSCX] + sub $4 + ld [hSCX], a + call DelayFrame + jr .asm_108484 + +.asm_108499 + ld a, $7 + ld [hWX], a + xor a + ld [hSCX], a + ld a, [$c6d0] + call GetCryIndex + jr c, .asm_1084ad + ld e, c + ld d, b + call PlayCryHeader + +.asm_1084ad + ld c, $50 + call DelayFrames + call Function108c2b + lb de, $54, $58 + ld a, $20 + call Function3b2a + ld de, SFX_BALL_POOF + call PlaySFX + ld hl, TileMap + ld bc, $00f0 + ld a, $7f + call ByteFill + ld c, $50 + call Function1082cc + call Function1082b7 + ret +; 1084d7 + +Function1084d7: ; 1084d7 + call WhiteBGMap + call ClearSprites + call ClearTileMap + call DisableLCD + call Function1081ca + ld a, [wc702] + ld [CurPartySpecies], a + ld hl, wc72f + ld de, VTiles2 + call Function108201 + call EnableLCD + callba Function8d03d + call DelayFrame + ld de, TradeBallGFX + ld hl, VTiles0 + lb bc, BANK(TradeBallGFX), $06 + call Request2bpp + ld de, TradePoofGFX + ld hl, $8060 + lb bc, BANK(TradePoofGFX), $0c + call Request2bpp + xor a + ld [hSCX], a + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $90 + ld [hWY], a + lb de, $54, $58 + ld a, $21 + call Function3b2a + call Function108b45 + ld a, $1 + call Function108b98 + call Function108af4 + ld c, $30 + call Function1082cc + ld de, SFX_BALL_POOF + call PlaySFX + call Function1089d2 + xor a + ld [hSCX], a + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $50 + ld [hWY], a + ld a, [wc702] + ld [CurPartySpecies], a + ld a, [wc72f] + ld [TempMonDVs], a + ld a, [wc730] + ld [TempMonDVs + 1], a + ld b, $1a + call GetSGBLayout + ld a, $e4 + call DmgToCgbBGPals + ld a, [wc702] + ld hl, wc72f + call Function10898a + ld a, [wc702] + call Function108229 + call Function1082db + call Function108c40 + call Function1082b7 + ret +; 108589 + +Function108589: ; 108589 + call WhiteBGMap + call ClearSprites + call ClearTileMap + call DisableLCD + call Function1081ca + ld a, [wc702] + ld [CurPartySpecies], a + ld hl, wc72f + ld de, VTiles2 + call Function108201 + call EnableLCD + callba Function8d03d + call DelayFrame + ld de, TradeBallGFX + ld hl, VTiles0 + lb bc, BANK(TradeBallGFX), $06 + call Request2bpp + ld de, TradePoofGFX + ld hl, $8060 + lb bc, BANK(TradePoofGFX), $0c + call Request2bpp + xor a + ld [hSCX], a + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $90 + ld [hWY], a + lb de, $54, $58 + ld a, $21 + call Function3b2a + call Function108b45 + ld a, $1 + call Function108b98 + call Function108af4 + ld c, $30 + call Function1082cc + ld de, SFX_BALL_POOF + call PlaySFX + call Function108a33 + xor a + ld [hSCX], a + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $50 + ld [hWY], a + ld a, [wc702] + ld [CurPartySpecies], a + ld a, [wc72f] + ld [TempMonDVs], a + ld a, [wc730] + ld [TempMonDVs + 1], a + ld b, $1a + call GetSGBLayout + ld a, $e4 + call DmgToCgbBGPals + ld a, [wc702] + ld hl, wc72f + call Function10898a + ld a, [wc702] + call Function108229 + call Function1082db + call Function1082b7 + ret +; 108638 + +Function108638: ; 108638 + callba Function8d03d + call WhiteBGMap + call ClearSprites + call ClearTileMap + xor a + ld [hBGMapMode], a + call DisableLCD + call Function1081ca + call Function108c80 + call Function108c6d + call EnableLCD + ld a, $c + ld [hSCX], a + ld a, $78 + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $90 + ld [hWY], a + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, Palette_109107 + ld de, Unkn1Pals + ld bc, $0040 + call CopyBytes + pop af + ld [rSVBK], a + call Function108d07 + call Function108af4 + call Function1082b7 + ret +; 108689 + +Function108689: ; 108689 + callba Function8d03d + call WhiteBGMap + call ClearSprites + call ClearTileMap + xor a + ld [hBGMapMode], a + call DisableLCD + call Function1081ca + ld a, $1 + ld [rVBK], a + ld hl, LZ_108da7 + ld de, VTiles2 + call Decompress + ld a, $0 + ld [rVBK], a + ld hl, LZ_108d27 + ld de, $8200 + call Decompress + call Function108c80 + call Function108c6d + call EnableLCD + ld a, $c + ld [hSCX], a + ld a, $78 + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $90 + ld [hWY], a + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, Palette_109107 + ld de, Unkn1Pals + ld bc, $0040 + call CopyBytes + pop af + ld [rSVBK], a + call Function108d07 + call Function108af4 + call Function1082b7 + ret +; 1086f4 + +Function1086f4: ; 1086f4 + call WhiteBGMap + call ClearSprites + call ClearTileMap + xor a + ld [hBGMapMode], a + call DisableLCD + ld a, $1 + ld [rVBK], a + ld hl, LZ_108da7 + ld de, VTiles2 + call Decompress + ld a, $0 + ld [rVBK], a + ld hl, LZ_108d27 + ld de, $8200 + call Decompress + call Function108c80 + call Function108c6d + call EnableLCD + ld a, $80 + ld [hSCX], a + ld a, $90 + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $90 + ld [hWY], a + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, Palette_109107 + ld de, Unkn1Pals + ld bc, $0040 + call CopyBytes + pop af + ld [rSVBK], a + call Function108d07 + call Function108af4 + call Function108b5a + ld a, $e0 + ld [hSCX], a + ld de, MUSIC_EVOLUTION + call PlayMusic2 + call Function1082b7 + ret +; 108763 + +Function108763: ; 108763 + ld de, SFX_GIVE_TRADEMON + call PlaySFX + ld c, $28 + ld hl, $d0b0 + call Function1082f0 + call Function108af4 +.asm_108774 + ld a, [hSCX] + cp $e0 + jr z, .asm_108791 + dec a + dec a + ld [hSCX], a + cp $f8 + jr nz, .asm_10878a + lb de, $54, $58 + ld a, $22 + call Function3b2a + +.asm_10878a + ld c, $1 + call Function1082cc + jr .asm_108774 + +.asm_108791 + ld a, [hSCY] + cp $f8 + jr z, .asm_1087cb + dec a + dec a + ld [hSCY], a + cp $40 + jr z, .asm_1087a9 + cp $30 + jr z, .asm_1087b7 + cp $68 + jr z, .asm_1087bc + jr .asm_1087c4 + +.asm_1087a9 + lb de, $54, $58 + ld a, $22 + call Function3b2a + xor a + call Function108ad4 + jr .asm_1087c4 + +.asm_1087b7 + call Function108bbd + jr .asm_1087c4 + +.asm_1087bc + call Function108bbd + ld a, $1 + call Function108ad4 + +.asm_1087c4 + ld c, $1 + call Function1082cc + jr .asm_108791 + +.asm_1087cb + call Function1082b2 + ret +; 1087cf + +Function1087cf: ; 1087cf + ld c, $28 + ld hl, StringBuffer2 + 2 + call Function1082f0 + call Function108af4 + call Function108b5a + lb de, $4a, $50 + ld a, $25 + call Function3b2a + ld de, SFX_FORESIGHT + call PlaySFX + ld c, $a + call Function1082cc + xor a + ld [wcf64], a + lb de, $4a, $50 + ld a, $23 + call Function3b2a +.asm_1087fc + ld a, [hSCY] + cp $90 + jr z, .asm_10880d + sub $8 + ld [hSCY], a + ld c, $1 + call Function1082cc + jr .asm_1087fc + +.asm_10880d + call Function1082b7 + ret +; 108811 + +Function108811: ; 108811 + ld c, $28 + call Function1082cc + ld a, $1 + ld [wcf64], a + ld de, SFX_SHARPEN + call PlaySFX + ld c, $3c + call Function1082cc + lb de, $f2, $50 + ld a, $24 + call Function3b2a + call Function1082b7 + ld de, SFX_THROW_BALL + call PlaySFX + ret +; 108838 + +Function108838: ; 108838 + ld c, $28 + call Function1082cc + ld a, $1 + ld [wcf64], a + ld de, SFX_SHARPEN + call PlaySFX + call Function1082b7 + ret +; 10884c + +Function10884c: ; 10884c + ld c, $50 + call DelayFrames + lb de, $f2, $50 + ld a, $24 + call Function3b2a + call Function1082b7 + ld de, SFX_THROW_BALL + call PlaySFX + ret +; 108863 + +Function108863: ; 108863 + ld c, $28 + call Function1082cc +.asm_108868 + ld a, [hSCY] + cp $f8 + jr z, .asm_108879 + add $8 + ld [hSCY], a + ld c, $1 + call Function1082cc + jr .asm_108868 + +.asm_108879 + callba Function8d03d + lb de, $4a, $50 + ld a, $25 + call Function3b2a + ld de, SFX_GLASS_TING_2 + call PlaySFX + call Function108af4 + call Function1082b2 + ret +; 108894 + +Function108894: ; 108894 + ld c, $14 + ld hl, StringBuffer2 + 2 + call Function1082fa + ld de, SFX_GIVE_TRADEMON + call PlaySFX + ld c, $14 + ld hl, StringBuffer2 + 2 + call Function1082fa + call Function108af4 +.asm_1088ad + ld a, [hSCY] + cp $78 + jr z, .asm_1088ee + inc a + inc a + ld [hSCY], a + cp $30 + jr z, .asm_1088c5 + cp $40 + jr z, .asm_1088dd + cp $68 + jr z, .asm_1088cf + jr .asm_1088e7 + +.asm_1088c5 + lb de, $54, $58 + ld a, $22 + call Function3b2a + jr .asm_1088e7 + +.asm_1088cf + lb de, $54, $58 + ld a, $22 + call Function3b2a + xor a + call Function108ad4 + jr .asm_1088e7 + +.asm_1088dd + call Function108bbd + ld a, $1 + call Function108ad4 + jr .asm_1088e7 + +.asm_1088e7 + ld c, $1 + call Function1082cc + jr .asm_1088ad + +.asm_1088ee + ld a, [hSCX] + cp $c + jr z, .asm_108906 + inc a + inc a + ld [hSCX], a + cp $f8 + jr nz, .asm_1088e7 + call Function108bbd + ld c, $1 + call Function1082cc + jr .asm_1088ee + +.asm_108906 + call Function1082b2 + ret +; 10890a + +Function10890a: ; 10890a + ld c, $28 + ld hl, $d0b0 + call Function1082f0 + call Function108af4 + call Function1082b7 + ret +; 108919 + +Function108919: ; 108919 + ld c, $28 + call Function1082cc + callba Function8d03d + call WhiteBGMap + call ClearSprites + call ClearTileMap + call DisableLCD + call Function1081ad + call Function1081ca + call EnableLCD + call Function1082b7 + ret +; 10893d + +Function10893d: ; 10893d +.asm_10893d + ld a, [rBGP] + and a + jr z, .asm_108953 + sla a + sla a + call DmgToCgbBGPals + call Functioncf8 + ld c, $4 + call DelayFrames + jr .asm_10893d + +.asm_108953 + xor a + call DmgToCgbBGPals + call Functioncf8 + call Function1082b7 + ret +; 10895e + +Function10895e: ; 10895e + ld de, $8300 + jr asm_108966 + +Function108963: + ld de, $9310 + +asm_108966 + call DelayFrame + ld hl, VTiles2 + lb bc, $0a, $31 + call Request2bpp + call WaitTop + call Function108ac8 + hlcoord 7, 2 + xor a + ld [$ffad], a + ld bc, $0707 + predef FillBox + call WaitBGMap + ret +; 10898a + +Function10898a: ; 10898a + ld de, VTiles2 + call Function1081e9 + call WaitTop + call Function108ac8 + hlcoord 7, 2 + xor a + ld [$ffad], a + ld bc, $0707 + predef FillBox + call WaitBGMap + ret +; 1089a8 + +Function1089a8: ; 1089a8 + ld de, $c6d0 + ld a, [de] + cp $fd + jr z, asm_1089fc + call Function108a5b + ld de, $c6d0 + call Function108a92 + ld de, $c6d1 + call Function108a9c + ld a, [wc701] + ld de, $c6f2 + call Function108aa3 + ld de, $c6ff + call Function108abe + call Function108a87 + ret + +Function1089d2: + ld de, wc702 + ld a, [de] + cp $fd + jr z, asm_1089fc + call Function108a5b + ld de, wc702 + call Function108a92 + ld de, wc703 + call Function108a9c + ld a, [wc733] + ld de, wc724 + call Function108aa3 + ld de, wc731 + call Function108abe + call Function108a87 + ret + +asm_1089fc + call WaitTop + call Function108ac8 + ld a, $9c + ld [$ffd7], a + hlcoord 5, 0 + ld b, $6 + ld c, $9 + call TextBox + hlcoord 6, 2 + ld de, String_108a1d + call PlaceString + call Function108a87 + ret +; 108a1d + +String_108a1d: ; 108a1d + db "タマゴ" + next "おや/?????" + next $73, "№", $f2, "?????" + db "@" +; 108a33 + +Function108a33: ; 108a33 + call WaitTop + call Function108ac8 + ld a, $9c + ld [$ffd7], a + hlcoord 5, 0 + ld b, $6 + ld c, $9 + call TextBox + hlcoord 7, 4 + ld de, String_108a54 + call PlaceString + call Function108a87 + ret +; 108a54 + +String_108a54: ; 108a54 + db "なぞのタマゴ@" +; 108a5b + +Function108a5b: ; 108a5b + call WaitTop + call Function108ac8 + ld a, $9c + ld [$ffd7], a + hlcoord 4, 0 + ld b, $6 + ld c, $a + call TextBox + hlcoord 5, 0 + ld de, String_108a79 + call PlaceString + ret +; 108a79 + +String_108a79: ; 108a79 + db "─ №", $f2 + next "" + next "おや/" + next $73, "№", $f2, "" + db "@" +; 108a87 + +Function108a87: ; 108a87 + call WaitBGMap + call WaitTop + ld a, $98 + ld [$ffd7], a + ret +; 108a92 + +Function108a92: ; 108a92 + hlcoord 9, 0 + ld bc, $8103 + call PrintNum + ret +; 108a9c + +Function108a9c: ; 108a9c + hlcoord 5, 2 + call PlaceString + ret +; 108aa3 + +Function108aa3: ; 108aa3 + cp $3 + jr c, .asm_108aa8 + xor a + +.asm_108aa8 + push af + hlcoord 8, 4 + call PlaceString + inc bc + pop af + ld hl, Unknown_108abb + ld d, 0 + ld e, a + add hl, de + ld a, [hl] + ld [bc], a + ret +; 108abb + +Unknown_108abb: ; 108abb + db " ", "♂", "♀" +; 108abe + +Function108abe: ; 108abe + hlcoord 8, 6 + ld bc, $8205 + call PrintNum + ret +; 108ac8 + +Function108ac8: ; 108ac8 + ld hl, TileMap + ld bc, $0168 + ld a, $7f + call ByteFill + ret +; 108ad4 + +Function108ad4: ; 108ad4 + and a + jr z, .asm_108adc + ld de, GFX_1092c7 + jr .asm_108adf + +.asm_108adc + ld de, GFX_1091c7 + +.asm_108adf + ld a, $1 + ld [rVBK], a + ld hl, $94a0 + lb bc, $42, $10 + call Functiondc9 + call DelayFrame + ld a, $0 + ld [rVBK], a + ret +; 108af4 + +Function108af4: ; 108af4 + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld a, [wcf65] + and $1 + jr z, .asm_108b1c + ld hl, Palette_109187 + ld de, Unkn2Pals + ld bc, $0040 + call CopyBytes + ld hl, Palette_109187 + ld de, OBPals + ld bc, $0040 + call CopyBytes + jr .asm_108b34 + +.asm_108b1c + ld hl, Palette_109147 + ld de, Unkn2Pals + ld bc, $0040 + call CopyBytes + ld hl, Palette_109147 + ld de, OBPals + ld bc, $0040 + call CopyBytes + +.asm_108b34 + pop af + ld [rSVBK], a + ld a, $e4 + call Functioncf8 + ld a, $e4 + call DmgToCgbBGPals + call DelayFrame + ret +; 108b45 + +Function108b45: ; 108b45 + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld de, $7fff + ld hl, Unkn1Pals + ld a, e + ld [hli], a + ld d, a + ld [hli], a + pop af + ld [rSVBK], a + ret +; 108b5a + +Function108b5a: ; 108b5a + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld de, $3ff2 + ld hl, $d0a0 + ld c, $10 +.asm_108b69 + ld a, e + ld [hli], a + ld a, d + ld [hli], a + dec c + jr nz, .asm_108b69 + pop af + ld [rSVBK], a + ld a, $1 + ld [hCGBPalUpdate], a + ret +; 108b78 + +Function108b78: ; 108b78 + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld a, c + and $2 + jr z, .asm_108b89 + ld de, $7fff + jr .asm_108b8c + +.asm_108b89 + ld de, $05ff + +.asm_108b8c + ld a, e + ld [hli], a + ld a, d + ld [hld], a + pop af + ld [rSVBK], a + ld a, $1 + ld [hCGBPalUpdate], a + ret +; 108b98 + +Palette_108b98: +; removed + +Function108b98: ; 108b98 + ld d, a + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld a, [wcf65] + and $1 + xor d + jr z, .asm_108bad + ld hl, Palette_108b98 + 8 + jr .asm_108bb0 + +.asm_108bad + ld hl, Palette_108b98 + +.asm_108bb0 + ld de, Unkn1Pals + 8 * 7 + ld bc, $0040 + call CopyBytes + pop af + ld [rSVBK], a + ret +; 108bbd + +Function108bbd: ; 108bbd + callba Function8d03d + call ClearSprites + ret +; 108bc7 + +Function108bc7: ; 108bc7 (42:4bc7) + ld a, [wcf64] + 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 + callba Function8d036 + ret + +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) + +Function108bec: ; 108bec + ld a, $90 + ld [hWY], a + ld hl, UnknownText_0x108c07 + call PrintText + ld c, $50 + call DelayFrames + ld hl, UnknownText_0x108c0c + call PrintText + ld c, $50 + call DelayFrames + ret +; 108c07 + +UnknownText_0x108c07: ; 0x108c07 + text_jump UnknownText_0x1bc787 + db "@" +; 0x108c0c + +UnknownText_0x108c0c: ; 0x108c0c + text_jump UnknownText_0x1bc79d + db "@" +; 0x108c11 + +UnknownText_0x108c11: ; 0x108c11 + text_jump UnknownText_0x1bc7b0 + db "@" +; 0x108c16 + +Function108c16: ; 108c16 + ld a, $90 + ld [hWY], a + ld hl, UnknownText_0x108c26 + call PrintText + ld c, $50 + call DelayFrames + ret +; 108c26 + +UnknownText_0x108c26: ; 0x108c26 + text_jump UnknownText_0x1bc7c3 + db "@" +; 0x108c2b + +Function108c2b: ; 108c2b + ld a, $90 + ld [hWY], a + ld hl, UnknownText_0x108c3b + call PrintText + ld c, $50 + call DelayFrames + ret +; 108c3b + +UnknownText_0x108c3b: ; 0x108c3b + text_jump UnknownText_0x1bc7dd + db $50 +; 0x108c40 + +Function108c40: ; 108c40 + ld a, $90 + ld [hWY], a + ld a, [wcf65] + and $80 + jr z, .asm_108c57 + ld hl, UnknownText_0x108c68 + call PrintText + ld c, $50 + call DelayFrames + ret + +.asm_108c57 + ld hl, UnknownText_0x108c63 + call PrintText + ld c, $50 + call DelayFrames + ret +; 108c63 + +UnknownText_0x108c63: ; 0x108c63 + text_jump UnknownText_0x1bc7f0 + db "@" +; 0x108c68 + +UnknownText_0x108c68: ; 0x108c68 + text_jump UnknownText_0x1bc80a + db "@" +; 0x108c6d + +Function108c6d: ; 108c6d + ld hl, LZ_108fe7 + ld de, VBGMap0 + call Decompress + ld hl, LZ_108fe7 + ld de, VBGMap1 + call Decompress + ret +; 108c80 + +Function108c80: ; 108c80 + ld a, $1 + ld [rVBK], a + ld hl, LZ_1090a7 + ld de, VBGMap0 + call Decompress + ld hl, LZ_1090a7 + ld de, VBGMap1 + call Decompress + ld a, $0 + ld [rVBK], a + ret +; 108c9b + +Function108c9b: ; 108c9b +; localization error: $b should be 6 here + + ld hl, Unknown_108ce9 + ld a, [hli] + ld [$c6d0], a + + ld de, $c6e7 + ld c, $b +.asm_108ca7 + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .asm_108ca7 + + ld de, $c6ff + ld c, $2 +.asm_108cb2 + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .asm_108cb2 + + ld de, $c6f2 + ld c, $b +.asm_108cbd + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .asm_108cbd + + ld a, [hli] + ld [wc702], a + + ld de, wc719 + ld c, $b +.asm_108ccc + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .asm_108ccc + + ld de, wc731 + ld c, $2 +.asm_108cd7 + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .asm_108cd7 + + ld de, wc724 + ld c, $b +.asm_108ce2 + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .asm_108ce2 + + ret +; 108ce9 + +Unknown_108ce9: + db 3 + db "ゲーフり@@" + db $23, $01 + db "かびーん@@" + db 6 + db "クりーチャ@" + db $56, $04 + db "マツミヤ@@" +; 108d07 + +Function108d07: ; 108d07 + ld a, [wc74e] + and $7f + cp $8 + jr c, .asm_108d12 + ld a, $7 + +.asm_108d12 + ld bc, $0008 + ld hl, Palette_1093c7 + call AddNTimes + ld a, $5 + ld de, wd020 + ld bc, $0008 + call FarCopyWRAM + ret +; 108d27 + +LZ_108d27: +INCBIN "gfx/unknown/108d27.2bpp.lz" + +LZ_108da7: +INCBIN "gfx/unknown/108da7.2bpp.lz" + +LZ_108fe7: +INCBIN "gfx/unknown/108fe7.tilemap.lz" + +LZ_1090a7: +INCBIN "gfx/unknown/1090a7.tilemap.lz" + +Palette_1090f7: + RGB 31, 31, 31 + RGB 0, 0, 0 + RGB 31, 0, 25 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 0, 0, 0 + RGB 9, 19, 31 + RGB 0, 0, 0 + +Palette_109107: + RGB 18, 31, 15 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + RGB 31, 15, 1 + RGB 14, 14, 31 + RGB 12, 9, 31 + RGB 0, 0, 0 + RGB 18, 31, 15 + RGB 14, 14, 31 + RGB 12, 9, 31 + RGB 0, 0, 0 + RGB 18, 31, 15 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + RGB 18, 31, 15 + RGB 31, 7, 9 + RGB 18, 0, 1 + RGB 0, 0, 0 + RGB 18, 31, 15 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + RGB 31, 15, 1 + RGB 18, 0, 30 + RGB 9, 0, 17 + RGB 0, 0, 0 + RGB 18, 31, 15 + RGB 18, 0, 30 + RGB 9, 0, 17 + RGB 0, 0, 0 + +Palette_109147: + RGB 31, 31, 31 + RGB 31, 31, 12 + RGB 31, 13, 12 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 23, 15 + RGB 31, 18, 7 + RGB 31, 15, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 0, 25 + RGB 31, 0, 25 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 9, 19, 31 + RGB 9, 19, 31 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + +Palette_109187: + RGB 31, 31, 31 + RGB 31, 31, 12 + RGB 31, 13, 12 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 23, 15 + RGB 31, 18, 7 + RGB 31, 15, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 9, 19, 31 + RGB 9, 19, 31 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 0, 25 + RGB 31, 0, 25 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + +GFX_1091c7: +INCBIN "gfx/unknown/1091c7.2bpp" +GFX_1092c7: +INCBIN "gfx/unknown/1092c7.2bpp" + +Palette_1093c7: + RGB 18, 31, 15 + RGB 4, 13, 31 + RGB 0, 0, 31 + RGB 0, 0, 0 + RGB 18, 31, 15 + RGB 31, 31, 0 + RGB 31, 15, 0 + RGB 0, 0, 0 + RGB 18, 31, 15 + RGB 9, 24, 0 + RGB 2, 16, 0 + RGB 0, 0, 0 + RGB 18, 31, 15 + RGB 31, 7, 9 + RGB 18, 0, 1 + RGB 0, 0, 0 + RGB 18, 31, 15 + RGB 28, 5, 31 + RGB 17, 0, 17 + RGB 0, 0, 0 + RGB 18, 31, 15 + RGB 9, 9, 9 + RGB 4, 4, 4 + RGB 0, 0, 0 + RGB 18, 31, 15 + RGB 31, 13, 21 + RGB 27, 7, 12 + RGB 0, 0, 0 + RGB 18, 31, 15 + RGB 21, 20, 20 + RGB 14, 14, 31 + RGB 0, 0, 0 + diff --git a/misc/mobile_45.asm b/misc/mobile_45.asm new file mode 100644 index 000000000..ed301ae6b --- /dev/null +++ b/misc/mobile_45.asm @@ -0,0 +1,24075 @@ + +SECTION "bank45", ROMX, BANK[$45] + + charmap " ", $20 ; revert to ascii + +String_114000: + db "---", 0 +String_114004: + db "CGB-AAAA-00", 0, 0 + +Unknown_114011: ; 114011 + dw String_114033 + dw String_11403a + dw String_114043 + dw String_11404e + dw String_114053 + dw String_114058 + dw String_114062 + dw String_114074 + dw String_11408d + dw String_11409f + dw String_1140b8 + dw String_1140e6 + dw String_114110 + dw String_11413f + dw String_114160 + dw String_114160 + dw String_114163 + +String_114033: ; 114033 + db "From: ", 0 +String_11403a: ; 11403a + db "Sender: ", 0 +String_114043: ; 114043 + db "Reply-To: ", 0 +String_11404e: ; 11404e + db "To: ", 0 +String_114053: ; 114053 + db "Cc: ", 0 +String_114058: ; 114058 + db "Subject: ", 0 +String_114062: ; 114062 + db "MIME-Version: 1.0", 0 +String_114074: ; 114074 + db "X-Game-title: XXXXXXXXXX", 0 +String_11408d: ; 11408d + db "X-Game-code: CGB-", 0 +String_11409f: ; 11409f + db "X-GBmail-type: exclusive", 0 +String_1140b8: ; 1140b8 + db "Content-Type: text/plain; charset=iso-2022-jp", 0 +String_1140e6: ; 1140e6 + db "Content-Type: multipart/mixed; boundary=\"", 0 +String_114110: ; 114110 + db "Content-Type: Application/Octet-Stream; name=\"", 0 +String_11413f: ; 11413f + db "Content-Transfer-Encoding:Base64", 0 +String_114160: ; 114160 + db "--", 0 +String_114163: ; 114163 + db ".", 0 +; 114165 + +Jumptable_114165: ; 114165 + dw Function114268 + dw Function114269 + dw Function11433c + dw Function1143b7 + dw Function1144d1 + dw Function114b55 + dw Function114bbc + dw Function114cd9 + dw Function114e62 + dw Function1152b8 + dw Function1154d4 + dw Function1156cc + dw Function1159fb +; 11417f + +Unknown_11417f: ; 11417f + dw String_114199 + dw String_11419f + dw String_1141a7 + dw String_1141b1 + dw String_1141b5 + dw String_1141b9 + dw String_1141c2 + dw String_1141c8 + dw String_1141d6 + dw String_1141e4 + dw String_1141ee + dw String_1141fc + dw String_114209 + +String_114199: ; 114199 + db "FROM:", 0 +String_11419f: ; 11419f + db "SENDER:", 0 +String_1141a7: ; 1141a7 + db "REPLY-TO:", 0 +String_1141b1: ; 1141b1 + db "TO:", 0 +String_1141b5: ; 1141b5 + db "CC:", 0 +String_1141b9: ; 1141b9 + db "SUBJECT:", 0 +String_1141c2: ; 1141c2 + db "DATE:", 0 +String_1141c8: ; 1141c8 + db "CONTENT-TYPE:", 0 +String_1141d6: ; 1141d6 + db "MIME-VERSION:", 0 +String_1141e4: ; 1141e4 + db "X-MAILER:", 0 +String_1141ee: ; 1141ee + db "X-GAME-TITLE:", 0 +String_1141fc: ; 1141fc + db "X-GAME-CODE:", 0 +String_114209: ; 114209 + db "X-GBMAIL-TYPE:", 0 +; 114218 + +String_114218: ; 114218 + db "NAME=", 0 +String_11421e: ; 11421e + db "MULTIPART", 0 +String_114228: ; 114228 + db "BOUNDARY=", 0 +String_114232: ; 114232 + db "=?ISO-2022-JP?B?", 0 +; 114243 + +Function114243:: ; 114243 + ld a, $a + ld [MBC3SRamEnable], a + ld a, [$ff8c] + push af + push de + ld a, [wdc02] + add a + ld e, a + ld d, 0 + ld hl, Jumptable_114165 + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + pop de + jp [hl] +; 11425c + +Function11425c: ; 11425c + ld [wdc02], a + pop af + ld [$ff8c], a + ld [$ff8c], a + ld [$4000], a + ret +; 114268 + +Function114268: ; 114268 + ret +; 114269 + +Function114269: ; 114269 + ld h, d + ld l, e + xor a + ld [wdc02], a + ld [wdc03], a + ld a, [hli] + ld [wdc00], a + ld [$ff8c], a + ld [$4000], a + ld e, [hl] + inc hl + ld d, [hl] + inc hl + ld c, [hl] + inc hl + ld b, [hl] +.asm_114282 + ld a, [de] + and a + jr z, .asm_1142a4 + ld h, a + ld a, [wdc03] + and a + jr nz, .asm_114292 + ld a, h + cp $80 + jr nc, .asm_1142ae + +.asm_114292 + ld a, h + cp $d + jr z, .asm_1142bb + xor a + ld [wdc02], a +.asm_11429b + inc e + call z, Function114333 + dec bc + ld a, b + or c + jr nz, .asm_114282 + +.asm_1142a4 + ld a, [wdc03] + and a + jr nz, .asm_114303 + ld b, $80 + jr .asm_1142b0 + +.asm_1142ae + ld b, $81 + +.asm_1142b0 + ld a, [wdc00] + ld c, a + ld a, $1 + ld h, d + ld l, e + jp Function11425c + +.asm_1142bb + and a + jr z, .asm_1142a4 + inc e + call z, Function114333 + dec bc + ld a, b + or c + jr z, .asm_1142a4 + ld a, [de] + ld h, a + ld a, [wdc03] + and a + jr nz, .asm_1142d4 + ld a, h + cp $80 + jr nc, .asm_1142ae + +.asm_1142d4 + ld a, h + cp $a + jr nz, .asm_1142ae + ld a, [wdc03] + and a + jr nz, .asm_11430d + ld a, [wdc02] + and a + jr nz, .asm_114309 + ld a, $1 + ld [wdc02], a + inc e + call z, Function114333 + dec bc + ld a, b + or c + jr z, .asm_1142a4 + ld a, [de] + cp $20 + jr z, .asm_11429b + cp $9 + jr z, .asm_11429b + jr .asm_114282 + +.asm_1142fe + xor a + ld b, a + jp Function11425c + +.asm_114303 + xor a + ld b, $1 + jp Function11425c + +.asm_114309 + xor a + ld [wdc02], a + +.asm_11430d + ld a, [wdc02] + and a + jr nz, .asm_1142fe + ld a, $1 + ld [wdc03], a + inc e + call z, Function114333 + dec bc + ld a, b + or c + jr z, .asm_1142a4 + ld a, [de] + and a + jp z, .asm_1142a4 + cp $2e + jp nz, .asm_114282 + ld a, $1 + ld [wdc02], a + jp .asm_11429b +; 114333 + +Function114333: ; 114333 + push bc + ld bc, wdc00 + call Function115d80 + pop bc + ret +; 11433c + +Function11433c: ; 11433c + push de + ld h, d + ld l, e + ld c, [hl] + inc hl + ld e, [hl] + inc hl + ld d, [hl] + ld b, $b + call Function1143f3 + cp $2 + jr z, .asm_114358 + and a + jr z, .asm_114360 + pop hl +.asm_114351 + xor a + ld b, $3 + jp Function11425c + +.asm_114357 + pop hl + +.asm_114358 + pop hl + ld a, $1 + ld b, $82 + jp Function11425c + +.asm_114360 + ld a, h + ld [wdc03], a + pop hl + push bc + push de + ld c, [hl] + inc hl + ld e, [hl] + inc hl + ld d, [hl] + inc hl + ld b, $c + call Function1143f3 + cp $2 + jr z, .asm_114357 + and a + jr z, .asm_114381 + xor a + ld b, $2 + pop hl + pop hl + jp Function11425c + +.asm_114381 + pop de + pop bc + ld a, [wdc03] + ld [wdc00], a + ld [$ff8c], a + ld [$4000], a + call Function114c0b + ld hl, String_114004 +.asm_114394 + ld de, wdc24 +.asm_114397 + ld a, [hli] + and a + jr z, .asm_1143ad + ld b, a + ld a, [de] + inc de + cp b + jr z, .asm_114397 +.asm_1143a1 + ld a, [hli] + and a + jr nz, .asm_1143a1 + ld a, [hl] + and a + jr nz, .asm_114394 + ld b, a + jp Function11425c + +.asm_1143ad + ld a, [de] + and a + jr nz, .asm_114351 + xor a + ld b, $1 + jp Function11425c +; 1143b7 + +Function1143b7: ; 1143b7 + ld a, [de] + ld b, a + inc de + ld a, [de] + ld c, a + inc de + ld a, [de] + ld h, a + inc de + ld a, [de] + inc de + push de + ld d, a + ld e, h + call Function1143f3 + cp $2 + jr z, .asm_1143eb + and a + jr nz, .asm_1143ed + ld a, h + pop hl + push af + ld a, [hli] + ld [wdc01], a + ld [$ff8c], a + ld [$4000], a + ld a, [hli] + ld h, [hl] + ld l, a + pop af + ld [hli], a + ld a, e + ld [hli], a + ld a, d + ld [hli], a + ld a, c + ld [hli], a + ld [hl], b + xor a + jp Function11425c + +.asm_1143eb + ld b, $82 + +.asm_1143ed + ld a, $1 + pop hl + jp Function11425c +; 1143f3 + +Function1143f3: ; 1143f3 + call Function114412 + and a + jr nz, .asm_11440d + ld a, $4 + cp b + jr c, .asm_114407 + jr z, .asm_114402 +.asm_114400 + xor a + ret + +.asm_114402 + ld a, $0 + cp c + jr nc, .asm_114400 + +.asm_114407 + ld bc, VBlank5 + ld a, $2 + ret + +.asm_11440d + ld a, $1 + ld b, $84 + ret +; 114412 + +Function114412: ; 114412 + ld a, c + ld [wdc00], a + ld [$ff8c], a + ld [$4000], a + ld hl, Unknown_11417f + ld a, b + add a + ld c, a + ld b, $0 + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld c, $0 + jr .asm_11444a + +.asm_11442b + ld a, [de] + and a + jp z, .asm_1144c2 + inc e + call z, Function1144c8 + cp $d + jr nz, .asm_11442b + ld a, [de] + inc e + call z, Function1144c8 + cp $a + jr nz, .asm_11442b + ld a, [de] + cp $2e + jr z, .asm_1144ae + cp $d + jr z, .asm_1144b8 + +.asm_11444a + ld a, [wdc00] + ld [wdc02], a + ld a, [de] + and a + jr z, .asm_1144c2 + inc e + call z, Function1144c8 + cp $61 + jr c, .asm_114462 + cp $7b + jr nc, .asm_114462 + sub $20 + +.asm_114462 + ld b, a + ld a, [hl] + and a + jr z, .asm_114476 + cp b + jr nz, .asm_11446e + inc c + inc hl + jr .asm_11444a + +.asm_11446e + ld a, c + and a + jr z, .asm_11442b + dec c + dec hl + jr .asm_11446e + +.asm_114476 + ld a, $20 + cp b + jr z, .asm_114481 + ld a, $a + cp b + jr z, .asm_114481 + dec de + +.asm_114481 + ld h, d + ld l, e + ld bc, NULL +.asm_114486 + ld a, [de] + and a + jr z, .asm_1144c2 + inc bc + inc e + call z, Function1144c8 + cp $d + jr nz, .asm_114486 + ld a, [de] + inc bc + inc e + call z, Function1144c8 + cp $a + jr nz, .asm_114486 + ld a, [de] + cp $20 + jr z, .asm_114486 + cp $9 + jr z, .asm_114486 + ld d, h + ld e, l + ld a, [wdc02] + ld h, a + xor a + ret + +.asm_1144ae + inc e + call z, Function1144c8 + ld a, [de] + cp $d + jp nz, .asm_11442b + +.asm_1144b8 + inc e + call z, Function1144c8 + ld a, [de] + cp $a + jp nz, .asm_11442b + +.asm_1144c2 + ld a, $0 + ld [hl], a + ld a, $1 + ret +; 1144c8 + +Function1144c8: ; 1144c8 + push bc + ld bc, wdc00 + call Function115d80 + pop bc + ret +; 1144d1 + +Function1144d1: ; 1144d1 + call Function114561 + dec de + dec de + push de + inc de + inc de + inc de + inc hl + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc hl + ld a, [de] + ld [hld], a + dec de + ld a, [de] + ld [hl], a + xor a + ld [BigDoll], a + ld [wdc17], a + ld a, $2 + ld [wdc0e], a + ld hl, wdc03 + ld c, [hl] + inc hl + ld e, [hl] + inc hl + ld d, [hl] + call Function114576 + cp $2 + jr z, .asm_11455b + and a + jr z, .asm_114511 + ld a, $1 + ld [wdc0d], a + call Function1146fa + and a + jr nz, .asm_11455b + jr .asm_11451c + +.asm_114511 + call Function1146a4 + and a + jr nz, .asm_11455b + ld a, $2 + ld [wdc0d], a + +.asm_11451c + pop hl + ld a, [hli] + ld [wdc01], a + ld [$ff8c], a + ld [$4000], a + ld e, [hl] + inc hl + ld d, [hl] + ld a, [wdc0d] + ld [de], a + ld b, $0 + ld a, [BigDoll] + and a + jr z, .asm_114537 + ld b, $1 + +.asm_114537 + ld hl, wdc06 + ld a, [hl] + ld [wdc01], a + ld [$ff8c], a + ld [$4000], a + ld hl, wdc09 + ld e, [hl] + inc hl + ld d, [hl] + dec de + ld a, d + or e + jr z, .asm_114559 + ld hl, wdc07 + ld e, [hl] + inc hl + ld d, [hl] + xor a + ld [de], a + jp Function11425c + +.asm_114559 + ld b, $83 + +.asm_11455b + pop hl + ld a, $1 + jp Function11425c +; 114561 + +Function114561: ; 114561 + ld hl, wdc03 + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hl], a + ret +; 114576 + +Function114576: ; 114576 + xor a + ld [Bed], a + ld b, $7 + call Function1143f3 + cp $2 + jr z, .asm_1145b6 + and a + jr nz, .asm_1145b4 + ld a, h + ld [wdc00], a + ld [$ff8c], a + ld [$4000], a + push hl + push de + push bc + ld hl, wdc24 + call Function115d53 + call Function1145c5 + pop bc + pop de + pop hl + and a + jr z, .asm_1145bf + ld a, b + and a + jr nz, .asm_1145ba + ld a, h + ld [wdc00], a + ld [$ff8c], a + ld [$4000], a + ld hl, String_114218 + call Function114acf + +.asm_1145b4 + xor a + ret + +.asm_1145b6 + ld b, $82 + jr .asm_1145bc + +.asm_1145ba + ld b, $81 + +.asm_1145bc + ld a, $2 + ret + +.asm_1145bf + ld a, $1 + ld [Bed], a + ret +; 1145c5 + +Function1145c5: ; 1145c5 + ld hl, wdc24 + ld de, String_11421e + ld c, $0 +.asm_1145cd + ld a, [hli] + and a + jr z, .asm_1145ef + cp $20 + jr z, .asm_1145cd + cp $d + jr z, .asm_1145f8 + cp $61 + jr c, .asm_1145e3 + cp $7b + jr nc, .asm_1145e3 + sub $20 + +.asm_1145e3 + ld b, a + ld a, [de] + and a + jr z, .asm_11460e + inc de + cp b + jr z, .asm_1145cd + dec de + jr .asm_1145cd + +.asm_1145ef + ld b, $0 + jr .asm_1145f5 + +.asm_1145f3 + ld b, $81 + +.asm_1145f5 + ld a, $1 + ret + +.asm_1145f8 + ld a, [hli] + and a + jr z, .asm_1145f3 + cp $a + jr nz, .asm_1145f3 + ld a, [hli] + and a + jr z, .asm_1145f3 + cp $20 + jr z, .asm_1145cd + cp $9 + jr z, .asm_1145cd + jr .asm_1145f3 + +.asm_11460e + ld a, c + and a + jr nz, .asm_114619 + ld c, $1 + ld de, String_114228 + jr .asm_1145cd + +.asm_114619 + dec hl + ld a, [hl] + cp $22 + jr nz, .asm_114620 + inc hl + +.asm_114620 + ld de, $ddc8 + ld b, $0 + ld c, $40 +.asm_114627 + ld a, [hli] + cp $22 + jr z, .asm_114636 + cp $d + jr z, .asm_114636 + ld [de], a + inc de + inc b + dec c + jr nz, .asm_114627 + +.asm_114636 + ld a, b + ld [PartyMon5Defense], a + xor a + ret +; 11463c + +Function11463c: ; 11463c + ld a, [wdc00] + push af + push de + ld hl, $ddc8 + ld a, [PartyMon5Defense] + ld b, a +.asm_114648 + ld a, [de] + ld c, a + ld a, [hli] + cp c + jr nz, .asm_11468a + inc e + call z, Function11469b + dec b + jr nz, .asm_114648 + ld a, [de] + cp $2d + jr z, .asm_114673 + cp $d + jr nz, .asm_11468a + xor a + ld [Carpet], a +.asm_114662 + inc e + call z, Function11469b + ld a, [de] + cp $a + jr nz, .asm_11468a + inc e + call z, Function11469b + xor a + pop hl + pop hl + ret + +.asm_114673 + inc e + call z, Function11469b + ld a, [de] + cp $2d + jr nz, .asm_11468a + inc e + call z, Function11469b + ld a, $1 + ld [Carpet], a + ld a, [de] + cp $d + jr z, .asm_114662 + +.asm_11468a + pop de + pop af + ld [wdc00], a + ld [$ff8c], a + ld [$4000], a + xor a + ld [Carpet], a + ld a, $1 + ret +; 11469b + +Function11469b: ; 11469b + push bc + ld bc, wdc00 + call Function115d80 + pop bc + ret +; 1146a4 + +Function1146a4: ; 1146a4 + call Function114867 + and a + jr nz, .asm_1146e4 + ld hl, wdc03 + ld a, [hli] + ld [wdc00], a + ld [$ff8c], a + ld [$4000], a + ld e, [hl] + inc hl + ld d, [hl] + call Function114a18 + and a + jr nz, .asm_1146e8 + call Function1148c2 + and a + jr nz, .asm_1146e4 + ld hl, wdc03 + ld a, [hli] + ld [wdc00], a + ld [$ff8c], a + ld [$4000], a + ld e, [hl] + inc hl + ld d, [hl] + call Function114a7a + and a + jr nz, .asm_1146e8 +.asm_1146da + dec bc + dec bc + call Function1149cc + and a + jr nz, .asm_1146e4 + xor a + ret + +.asm_1146e4 + ld b, $83 + jr .asm_1146f7 + +.asm_1146e8 + ld a, [wdc17] + and a + jr z, .asm_1146f5 + ld a, $1 + ld [BigDoll], a + jr .asm_1146da + +.asm_1146f5 + ld b, $81 + +.asm_1146f7 + ld a, $1 + ret +; 1146fa + +Function1146fa: ; 1146fa + call Function114867 + and a + jp nz, .asm_11478a + ld hl, wdc03 + ld a, [hli] + ld [wdc00], a + ld [$ff8c], a + ld [$4000], a + ld e, [hl] + inc hl + ld d, [hl] + call Function114a18 + and a + jp nz, .asm_11478e + call Function1149cc + and a + jp nz, .asm_11478a + ld a, $1 + ld [wdc0e], a + ld a, [wdc00] + ld [$ff8c], a + ld [$4000], a + ld a, $1 + ld [RightOrnament], a + call Function1147cd + and a + jp nz, .asm_1147b7 +.asm_114737 + call Function114843 + cp $1 + jr nz, .asm_114749 + ld a, [wdc17] + and a + jr z, .asm_114794 + ld a, $1 + ld [BigDoll], a + +.asm_114749 + call Function11494d + and a + jr nz, .asm_11478a + ld a, [BigDoll] + and a + jr nz, .asm_114786 + ld hl, wdc03 + ld a, [hli] + ld [wdc00], a + ld [$ff8c], a + ld [$4000], a + ld e, [hl] + inc hl + ld d, [hl] + call Function1147cd + and a + jr nz, .asm_1147b7 + ld a, [wdc0e] + cp $3 + jr nz, .asm_114773 + dec bc + dec bc + +.asm_114773 + call Function1149cc + and a + jr nz, .asm_11478a + ld a, [wdc0d] + inc a + ld [wdc0d], a + ld a, [BigDoll] + and a + jr z, .asm_114799 + +.asm_114786 + ld b, $1 + jr .asm_1147cb + +.asm_11478a + ld b, $83 + jr .asm_114796 + +.asm_11478e + ld a, [wdc17] + and a + jr nz, .asm_114796 + +.asm_114794 + ld b, $81 + +.asm_114796 + ld a, $1 + ret + +.asm_114799 + ld a, [Carpet] + and a + jr z, .asm_114737 + jr .asm_1147cb + + ld hl, wdc03 + ld a, [hli] + ld [wdc00], a + ld [$ff8c], a + ld [$4000], a + call Function114a7a + and a + jr z, .asm_1147cb + xor a + ld [BigDoll], a + +.asm_1147b7 + ld a, [wdc17] + and a + jr z, .asm_114794 + ld a, $1 + ld [BigDoll], a + ld a, [wdc0d] + cp $1 + jr nz, .asm_114773 + ld b, $1 + +.asm_1147cb + xor a + ret +; 1147cd + +Function1147cd: ; 1147cd + ld bc, NULL + ld a, [RightOrnament] + and a + jr nz, .asm_11480c +.asm_1147d6 + ld a, [de] + and a + jr z, .asm_11482f + inc e + call z, Function11483a + inc bc + cp $d + jr nz, .asm_1147d6 + ld a, [de] + cp $a + jr nz, .asm_11482f +.asm_1147e8 + inc bc + inc e + call z, Function11483a + ld a, [de] + cp $20 + jr z, .asm_114827 + cp $9 + jr z, .asm_114827 + cp $d + jr nz, .asm_11482b + inc e + call z, Function11483a + ld a, [de] + cp $a + jr nz, .asm_11482f + inc e + call z, Function11483a + ld a, h + and a + jr z, .asm_11480c + dec bc + +.asm_11480c + ld a, [de] + cp $2d + jr nz, .asm_1147d6 + inc e + call z, Function11483a + ld a, [de] + cp $2d + jr nz, .asm_1147d6 + inc e + call z, Function11483a + push bc + call Function11463c + pop bc + and a + jr nz, .asm_1147d6 + ret + +.asm_114827 + ld h, $1 + jr .asm_1147e8 + +.asm_11482b + ld h, $0 + jr .asm_11480c + +.asm_11482f + and a + jr nz, .asm_114837 + ld a, $1 + ld [wdc17], a + +.asm_114837 + ld a, $1 + ret +; 11483a + +Function11483a: ; 11483a + push bc + ld bc, wdc00 + call Function115d80 + pop bc + ret +; 114843 + +Function114843: ; 114843 + ld a, [wdc00] + push af + push de + ld [$ff8c], a + ld [$4000], a + call Function114a18 + and a + jr nz, .asm_11485f + pop de + pop af + ld [wdc00], a + ld hl, String_114218 + call Function114acf + ret + +.asm_11485f + pop de + pop af + ld [wdc00], a + ld a, $1 + ret +; 114867 + +Function114867: ; 114867 + ld hl, wdc06 + ld a, [hli] + ld [wdc01], a + ld [$ff8c], a + ld [$4000], a + ld e, [hl] + inc hl + ld d, [hl] + ld a, $2 + ld [de], a + inc e + call z, Function1148b9 + ld a, $1 + ld [de], a + inc e + call z, Function1148b9 + ld hl, wdc03 + ld a, [hli] + ld [de], a + inc e + call z, Function1148b9 + ld a, [hli] + ld [de], a + inc e + call z, Function1148b9 + ld a, [hli] + ld [de], a + inc e + call z, Function1148b9 + ld hl, wdc06 + ld a, [wdc01] + ld [hli], a + ld [hl], e + inc hl + ld [hl], d + inc hl + ld c, [hl] + inc hl + ld b, [hl] + ld d, $5 +.asm_1148a9 + dec bc + ld a, b + or c + jr z, .asm_1148b6 + dec d + jr nz, .asm_1148a9 + ld [hl], b + dec hl + ld [hl], c + xor a + ret + +.asm_1148b6 + ld a, $1 + ret +; 1148b9 + +Function1148b9: ; 1148b9 + push bc + ld bc, wdc01 + call Function115d80 + pop bc + ret +; 1148c2 + +Function1148c2: ; 1148c2 + ld hl, wdc06 + ld a, [hli] + ld [wdc01], a + ld [$ff8c], a + ld [$4000], a + ld e, [hl] + inc hl + ld d, [hl] + ld a, c + ld [de], a + inc e + call z, Function114944 + ld a, b + ld [de], a + inc e + call z, Function114944 + ld a, [wdc0e] + ld [de], a + inc e + call z, Function114944 + cp $3 + jr nz, .asm_114904 + ld hl, Plant + ld a, [hli] + ld [de], a + inc e + call z, Function114944 + ld a, [hli] + ld [de], a + inc e + call z, Function114944 + ld a, [hli] + ld [de], a + inc e + call z, Function114944 + ld a, [hli] + ld [de], a + inc e + call z, Function114944 + +.asm_114904 + ld hl, wdc03 + ld a, [hli] + ld [de], a + inc e + call z, Function114944 + ld a, [hli] + ld [de], a + inc e + call z, Function114944 + ld a, [hli] + ld [de], a + inc e + call z, Function114944 + ld hl, wdc06 + ld a, [wdc01] + ld [hli], a + ld [hl], e + inc hl + ld [hl], d + inc hl + ld c, [hl] + inc hl + ld b, [hl] + ld a, [wdc0e] + cp $3 + jr z, .asm_114932 + ld d, $6 + jr .asm_114934 + +.asm_114932 + ld d, $a + +.asm_114934 + dec bc + ld a, b + or c + jr z, .asm_114941 + dec d + jr nz, .asm_114934 + ld [hl], b + dec hl + ld [hl], c + xor a + ret + +.asm_114941 + ld a, $1 + ret +; 114944 + +Function114944: ; 114944 + push bc + ld bc, wdc01 + call Function115d80 + pop bc + ret +; 11494d + +Function11494d: ; 11494d + ld hl, wdc06 + ld a, [hli] + ld [wdc01], a + ld [$ff8c], a + ld [$4000], a + ld e, [hl] + inc hl + ld d, [hl] + ld a, [wdc0e] + ld [de], a + inc e + call z, Function1149c3 + cp $3 + jr nz, .asm_114983 + ld hl, Plant + ld a, [hli] + ld [de], a + inc e + call z, Function1149c3 + ld a, [hli] + ld [de], a + inc e + call z, Function1149c3 + ld a, [hli] + ld [de], a + inc e + call z, Function1149c3 + ld a, [hli] + ld [de], a + inc e + call z, Function1149c3 + +.asm_114983 + ld hl, wdc03 + ld a, [hli] + ld [de], a + inc e + call z, Function1149c3 + ld a, [hli] + ld [de], a + inc e + call z, Function1149c3 + ld a, [hli] + ld [de], a + inc e + call z, Function1149c3 + ld hl, wdc06 + ld a, [wdc01] + ld [hli], a + ld [hl], e + inc hl + ld [hl], d + inc hl + ld c, [hl] + inc hl + ld b, [hl] + ld a, [wdc0e] + cp $3 + jr z, .asm_1149b1 + ld d, $4 + jr .asm_1149b3 + +.asm_1149b1 + ld d, $8 + +.asm_1149b3 + dec bc + ld a, b + or c + jr z, .asm_1149c0 + dec d + jr nz, .asm_1149b3 + ld [hl], b + dec hl + ld [hl], c + xor a + ret + +.asm_1149c0 + ld a, $1 + ret +; 1149c3 + +Function1149c3: ; 1149c3 + push bc + ld bc, wdc01 + call Function115d80 + pop bc + ret +; 1149cc + +Function1149cc: ; 1149cc + ld hl, wdc06 + ld a, [hl] + ld [wdc01], a + ld [$ff8c], a + ld [$4000], a + push de + ld hl, wdc09 + ld e, [hl] + inc hl + ld d, [hl] + dec de + ld a, d + or e + jr z, .asm_114a0b + dec de + ld a, d + or e + jr z, .asm_114a0b + ld [hl], d + dec hl + ld [hl], e + ld hl, wdc07 + ld e, [hl] + inc hl + ld d, [hl] + ld a, c + ld [de], a + inc e + call z, Function114a0f + ld a, b + ld [de], a + inc e + call z, Function114a0f + ld hl, wdc06 + ld a, [wdc01] + ld [hli], a + ld [hl], e + inc hl + ld [hl], d + pop de + xor a + ret + +.asm_114a0b + pop de + ld a, $1 + ret +; 114a0f + +Function114a0f: ; 114a0f + push bc + ld bc, wdc01 + call Function115d80 + pop bc + ret +; 114a18 + +Function114a18: ; 114a18 + ld bc, NULL + ld h, b +.asm_114a1c + inc bc + ld a, [de] + and a + jr z, .asm_114a66 + inc e + call z, Function114a71 + cp $d + jr nz, .asm_114a1c + ld a, [de] + cp $a + jr nz, .asm_114a66 +.asm_114a2e + inc bc + inc e + call z, Function114a71 + ld a, [de] + cp $20 + jr z, .asm_114a5e + cp $9 + jr z, .asm_114a5e + cp $d + jr nz, .asm_114a62 + inc e + call z, Function114a71 + ld a, [de] + cp $a + jr nz, .asm_114a66 + inc e + call z, Function114a71 + ld a, h + and a + jr z, .asm_114a52 + dec bc + +.asm_114a52 + ld hl, wdc03 + ld a, [wdc00] + ld [hli], a + ld [hl], e + inc hl + ld [hl], d + xor a + ret + +.asm_114a5e + ld h, $1 + jr .asm_114a2e + +.asm_114a62 + ld h, $0 + jr .asm_114a1c + +.asm_114a66 + and a + jr nz, .asm_114a6e + ld a, $1 + ld [wdc17], a + +.asm_114a6e + ld a, $1 + ret +; 114a71 + +Function114a71: ; 114a71 + push bc + ld bc, wdc00 + call Function115d80 + pop bc + ret +; 114a7a + +Function114a7a: ; 114a7a + ld bc, NULL +.asm_114a7d + inc bc + ld a, [de] + and a + jr z, .asm_114abb + inc e + call z, Function114ac6 + cp $d + jr nz, .asm_114a7d + ld a, [de] + cp $a + jr nz, .asm_114abb + inc e + call z, Function114ac6 + inc bc + ld a, [de] + cp $2e + jr nz, .asm_114a7d + inc e + call z, Function114ac6 + ld a, [de] + cp $d + jr nz, .asm_114a7d + inc e + call z, Function114ac6 + ld a, [de] + cp $a + jr nz, .asm_114abb + inc e + call z, Function114ac6 + ld hl, wdc03 + ld a, [wdc00] + ld [hli], a + ld [hl], e + inc hl + ld [hl], d + xor a + ret + +.asm_114abb + and a + jr nz, .asm_114ac3 + ld a, $1 + ld [wdc17], a + +.asm_114ac3 + ld a, $1 + ret +; 114ac6 + +Function114ac6: ; 114ac6 + push bc + ld bc, wdc00 + call Function115d80 + pop bc + ret +; 114acf + +Function114acf: ; 114acf +.asm_114acf + push hl + push bc +.asm_114ad1 + ld a, [hl] + ld b, a + ld a, [de] + inc e + call z, Function114b4c + cp $61 + jr c, .asm_114ae2 + cp $7b + jr nc, .asm_114ae2 + sub $20 + +.asm_114ae2 + cp b + jr z, .asm_114af4 + pop bc + dec bc + push bc + ld a, b + or c + jr nz, .asm_114ad1 +.asm_114aec + ld a, $2 + ld [wdc0e], a + pop bc + pop hl + ret + +.asm_114af4 + inc hl +.asm_114af5 + ld a, [hli] + and a + jr z, .asm_114b19 + ld b, a + ld a, [de] + inc e + call z, Function114b4c + cp $61 + jr c, .asm_114b09 + cp $7b + jr nc, .asm_114b09 + sub $20 + +.asm_114b09 + cp b + jr nz, .asm_114b15 + pop bc + dec bc + push bc + ld a, b + or c + jr nz, .asm_114af5 + jr .asm_114aec + +.asm_114b15 + pop bc + pop hl + jr .asm_114acf + +.asm_114b19 + ld b, $0 + ld c, $40 + ld a, [de] + cp $22 + jr nz, .asm_114b26 + inc e + call z, Function114b4c + +.asm_114b26 + ld hl, Plant + ld a, [wdc00] + ld [hli], a + ld [hl], e + inc hl + ld [hl], d + inc hl +.asm_114b31 + ld a, [de] + cp $22 + jr z, .asm_114b42 + cp $d + jr z, .asm_114b42 + inc e + call z, Function114b4c + inc b + dec c + jr nz, .asm_114b31 + +.asm_114b42 + ld [hl], b + pop bc + pop hl + ld a, $3 + ld [wdc0e], a + xor a + ret +; 114b4c + +Function114b4c: ; 114b4c + push bc + ld bc, wdc00 + call Function115d80 + pop bc + ret +; 114b55 + +Function114b55: ; 114b55 + call Function114561 + ld b, $0 + ld hl, wdc03 + ld c, [hl] + inc hl + ld e, [hl] + inc hl + ld d, [hl] + ld hl, wdc24 +.asm_114b65 + push de + push bc + push hl + call Function1143f3 + cp $2 + jr z, .asm_114bb2 + and a + jr nz, .asm_114b8c + ld a, h + pop hl + inc hl + ld [hld], a + ld a, $1 + ld [hli], a + inc hl + ld [hl], e + inc hl + ld [hl], d + inc hl + ld [hl], c + inc hl + ld [hl], b + inc hl +.asm_114b82 + pop bc + pop de + inc b + ld a, b + cp $d + jr z, .asm_114b96 + jr .asm_114b65 + +.asm_114b8c + pop hl + xor a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + jr .asm_114b82 + +.asm_114b96 + ld hl, wdc06 + ld a, [hli] + ld [wdc01], a + ld [$ff8c], a + ld [$4000], a + ld e, [hl] + inc hl + ld d, [hl] + inc hl + ld bc, $004e + ld hl, wdc24 + call Function115d6a + jp Function11425c + +.asm_114bb2 + ld a, $1 + pop bc + pop bc + pop bc + ld b, $82 + jp Function11425c +; 114bbc + +Function114bbc: ; 114bbc + ld h, d + ld l, e + ld a, [hli] + ld b, a + ld a, [hli] + ld c, a + ld a, [hli] + ld e, a + ld d, [hl] + inc hl + push hl + call Function1143f3 + cp $2 + jr z, .asm_114c03 + and a + jr nz, .asm_114bff + ld a, h + ld [wdc00], a + ld [$ff8c], a + ld [$4000], a + call Function114c0b + ld hl, wdc24 + call Function114c5e + ld a, b + or c + jr z, .asm_114bff + pop hl + ld a, [hli] + ld [wdc01], a + ld [$ff8c], a + ld [$4000], a + ld a, [hli] + ld e, a + ld d, [hl] + ld hl, wdc24 + push bc + call Function115d6a + pop hl + jp Function11425c + +.asm_114bff + ld b, $84 + jr .asm_114c05 + +.asm_114c03 + ld b, $82 + +.asm_114c05 + ld a, $1 + pop hl + jp Function11425c +; 114c0b + +Function114c0b: ; 114c0b + ld hl, wdc24 + push bc + call Function115d53 + pop bc + ld hl, wdc24 + ld d, h + ld e, l +.asm_114c18 + ld a, [hli] + cp $d + jr z, .asm_114c34 + ld [de], a + inc de + dec bc + ld a, b + or c + jr nz, .asm_114c18 +.asm_114c24 + xor a + ld [de], a + ld hl, wdc24 + ld bc, NULL +.asm_114c2c + ld a, [hli] + inc bc + and a + jr nz, .asm_114c2c + dec bc + xor a + ret + +.asm_114c34 + dec bc + ld a, b + or c + jr z, .asm_114c24 + ld a, [hli] + cp $a + jr nz, .asm_114c18 + dec bc + ld a, b + or c + jr z, .asm_114c24 + ld a, [hli] + cp $20 + jr z, .asm_114c4e + cp $9 + jr z, .asm_114c4e + jr .asm_114c24 + +.asm_114c4e + dec bc + ld a, b + or c + jr z, .asm_114c24 + jr .asm_114c18 +; 114c55 + +Function114c55: ; 114c55 + push bc + ld bc, wdc00 + call Function115d80 + pop bc + ret +; 114c5e + +Function114c5e: ; 114c5e + ld de, PartyMon5Defense + push hl +.asm_114c62 + ld a, [hli] + ld [de], a + inc de + and a + jr z, .asm_114cc6 + cp $3d + jr nz, .asm_114c62 + ld a, [hli] + ld [de], a + inc de + cp $3f + jr nz, .asm_114c62 + dec de + dec de +.asm_114c75 + ld a, [hli] + cp $3f + jr nz, .asm_114c75 + ld a, [hli] + cp $42 + jr nz, .asm_114cb8 + inc hl + ld bc, NULL + push hl +.asm_114c84 + inc bc + ld a, [hli] + cp $3f + jr nz, .asm_114c84 + inc bc + ld a, [hli] + cp $3d + jr nz, .asm_114c84 + dec bc + dec bc + ld a, l + ld [wdc03], a + ld a, h + ld [wdc04], a + pop hl + push de + call Function115c49 + pop de + ld h, d + ld l, e + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a +.asm_114ca6 + ld a, [hli] + ld [de], a + inc de + dec bc + ld a, b + or c + jr nz, .asm_114ca6 + ld a, [wdc03] + ld l, a + ld a, [wdc04] + ld h, a + jr .asm_114c62 + +.asm_114cb8 + ld a, $3d + ld [de], a + inc de + ld a, $3f + ld [de], a + inc de +.asm_114cc0 + ld a, [hli] + ld [de], a + inc de + and a + jr nz, .asm_114cc0 + +.asm_114cc6 + ld [de], a + pop hl + ld de, PartyMon5Defense + ld bc, NULL +.asm_114cce + inc bc + ld a, [de] + ld [hli], a + inc de + and a + jr z, .asm_114cd7 + jr .asm_114cce + +.asm_114cd7 + dec bc + ret +; 114cd9 + +Function114cd9: ; 114cd9 + ld h, d + ld l, e + ld b, [hl] + inc hl + ld c, [hl] + inc hl + ld e, [hl] + inc hl + ld d, [hl] + inc hl + push hl + call Function1143f3 + and a + jr nz, .asm_114d33 + ld [wdc03], a + ld [wdc04], a + ld a, h + ld [wdc00], a + ld [$ff8c], a + ld [$4000], a + ld hl, wdc24 + call Function114d39 + ld hl, wdc24 + call Function114d99 + pop hl + push hl + inc hl + inc hl + inc hl + inc hl + ld a, [hld] + cp b + jr c, .asm_114d2d + jr z, .asm_114d29 +.asm_114d11 + pop hl + ld a, [hli] + ld [wdc01], a + ld [$ff8c], a + ld [$4000], a + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld hl, PartyMon5Defense + call Function115d6a + xor a + jp Function11425c + +.asm_114d29 + ld a, [hli] + cp c + jr nc, .asm_114d11 + +.asm_114d2d + ld b, $83 + jr .asm_114d33 + + ld b, $82 + +.asm_114d33 + pop hl + ld a, $1 + jp Function11425c +; 114d39 + +Function114d39: ; 114d39 +.asm_114d39 + ld a, [wdc04] + and a + jr nz, .asm_114d4a + ld a, [de] + cp $28 + jr z, .asm_114d55 + cp $22 + jr z, .asm_114d55 + jr .asm_114d7f + +.asm_114d4a + ld a, [de] + cp $29 + jr z, .asm_114d5f + cp $22 + jr z, .asm_114d6f + jr .asm_114d84 + +.asm_114d55 + ld [wdc03], a + ld a, $1 + ld [wdc04], a + jr .asm_114d84 + +.asm_114d5f + ld a, [wdc03] + cp $28 + jr nz, .asm_114d84 + xor a + ld [wdc03], a + ld [wdc04], a + jr .asm_114d84 + +.asm_114d6f + ld a, [wdc03] + cp $22 + jr nz, .asm_114d84 + xor a + ld [wdc03], a + ld [wdc04], a + jr .asm_114d84 + +.asm_114d7f + cp $20 + jr z, .asm_114d84 + ld [hli], a + +.asm_114d84 + dec bc + ld a, b + or c + jr z, .asm_114d96 + inc e + jr nz, .asm_114d39 + push bc + ld bc, wdc00 + call Function115d80 + pop bc + jr .asm_114d39 + +.asm_114d96 + xor a + ld [hli], a + ret +; 114d99 + +Function114d99: ; 114d99 + ld de, PartyMon5Defense + xor a + ld [de], a +.asm_114d9e + ld a, [hli] + call Function114df1 + and a + jr z, .asm_114dde + cp $40 + jr nz, .asm_114d9e + dec hl +.asm_114daa + dec hl + ld a, [hl] + call Function114e2d + and a + jr z, .asm_114daa + inc hl + push hl + ld b, $0 +.asm_114db6 + ld a, [hli] + cp $40 + jr z, .asm_114dc1 + call Function114e2d + and a + jr nz, .asm_114dc4 + +.asm_114dc1 + inc b + jr .asm_114db6 + +.asm_114dc4 + pop hl + ld a, [PartyMon5Defense] + and a + jr z, .asm_114dd2 + ld a, $2c + inc de + ld [de], a + ld a, [PartyMon5Defense] + +.asm_114dd2 + inc a + ld [PartyMon5Defense], a +.asm_114dd6 + inc de + ld a, [hli] + ld [de], a + dec b + jr nz, .asm_114dd6 + jr .asm_114d9e + +.asm_114dde + inc de + xor a + ld [de], a + ld a, $dd + cpl + ld h, a + ld a, $c8 + cpl + ld l, a + inc hl + add hl, de + ld b, h + ld c, l + inc bc + inc bc + xor a + ret +; 114df1 + +Function114df1: ; 114df1 + cp $1b + ret nz + ld a, [hli] + and a + jr z, .asm_114e2b + cp $24 + jr nz, .asm_114e09 + ld a, [hli] + and a + jr z, .asm_114e2b + cp $42 + jr z, .asm_114e0b + cp $40 + jr z, .asm_114e0b + dec hl + +.asm_114e09 + dec hl + ret + +.asm_114e0b + ld a, [hli] + and a + jr z, .asm_114e2b + cp $1b + jr nz, .asm_114e0b + ld a, [hli] + and a + jr z, .asm_114e2b + cp $28 + jr nz, .asm_114e0b + ld a, [hli] + and a + jr z, .asm_114e2b + cp $42 + jr z, .asm_114e29 + cp $4a + jr z, .asm_114e29 + jr .asm_114e0b + +.asm_114e29 + ld a, [hli] + ret + +.asm_114e2b + xor a + ret +; 114e2d + +Function114e2d: ; 114e2d + cp $30 + jr c, .asm_114e45 + cp $40 + jr c, .asm_114e58 + cp $41 + jr c, .asm_114e45 + cp $5b + jr c, .asm_114e58 + cp $61 + jr c, .asm_114e45 + cp $7b + jr c, .asm_114e58 + +.asm_114e45 + cp $20 + jr z, .asm_114e58 + cp $2d + jr z, .asm_114e58 + cp $2e + jr z, .asm_114e58 + cp $5f + jr z, .asm_114e58 +.asm_114e55 + ld a, $1 + ret + +.asm_114e58 + cp $3c + jr z, .asm_114e55 + cp $3e + jr z, .asm_114e55 + xor a + ret +; 114e62 + +Function114e62: ; 114e62 + ld a, c + and a + jr nz, .asm_114e6f + ld a, [wdc23] + and a + jp z, Function11425c + jr .asm_114e76 + +.asm_114e6f + xor a + ld [wdc23], a + call Function114ee9 + +.asm_114e76 + call Function114f0a + cp $ff + jp z, Function11425c + and a + jr nz, .asm_114e99 + call Function114ea0 + and a + jr nz, .asm_114e99 + ld hl, wdc09 + ld a, [hli] + cpl + ld e, a + ld a, [hli] + cpl + ld d, a + inc de + ld a, [hli] + ld h, [hl] + ld l, a + add hl, de + xor a + jp Function11425c + +.asm_114e99 + ld a, $1 + ld b, $83 + jp Function11425c +; 114ea0 + +Function114ea0: ; 114ea0 + ld hl, wdc06 + ld a, [hli] + ld [wdc01], a + ld [$ff8c], a + ld [$4000], a + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, $d + ld [de], a + dec bc + ld a, b + or c + jr z, .asm_114edb + inc e + call z, Function114ee0 + ld a, $a + ld [de], a + dec bc + inc e + call z, Function114ee0 + ld hl, wdc06 + ld a, [wdc01] + ld [hli], a + ld a, e + ld [hli], a + ld a, d + ld [hli], a + ld a, c + ld [hli], a + ld [hl], b + xor a + ld [wdc23], a + ret + +.asm_114edb + ld a, $1 + ld b, $83 + ret +; 114ee0 + +Function114ee0: ; 114ee0 + push bc + ld bc, wdc01 + call Function115d80 + pop bc + ret +; 114ee9 + +Function114ee9: ; 114ee9 + ld hl, wdc03 + ld a, b + ld [hli], a + ld a, c + ld [hli], a + ld [hli], a + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld c, a + ld [hli], a + inc de + ld a, [de] + ld b, a + ld [hli], a + inc de + ld a, c + ld [hli], a + ld a, b + ld [hli], a + ld a, e + ld [hli], a + ld [hl], d + ret +; 114f0a + +Function114f0a: ; 114f0a + call Function114f39 + and a + jr nz, .asm_114f26 + ld a, [wdc03] + cp $6 + jr c, .asm_114f21 + cp $c + jr z, .asm_114f23 + call Function114f59 + and a + jr nz, .asm_114f23 + +.asm_114f21 + xor a + ret + +.asm_114f23 + ld a, $1 + ret + +.asm_114f26 + call Function114f59 + and a + jr nz, .asm_114f23 + ld hl, wdc0d + ld e, [hl] + inc hl + ld d, [hl] + ld a, [de] + and a + jr z, .asm_114f21 + ld a, $ff + ret +; 114f39 + +Function114f39: ; 114f39 + ld hl, wdc0d + ld e, [hl] + inc hl + ld d, [hl] + inc hl + ld a, [de] + and a + jr z, .asm_114f58 + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld hl, wdc0d + ld [hl], e + inc hl + ld [hl], d + ld a, $1 + ret + +.asm_114f58 + ret +; 114f59 + +Function114f59: ; 114f59 + ld a, [wdc23] + and a + jr nz, .asm_114f7c + ld a, [wdc03] + cp $11 + jr z, .asm_114fa7 + add a + ld e, a + ld d, 0 + ld hl, Unknown_114011 + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + call Function115020 + and a + jr nz, .asm_114fe7 + ld a, $1 + ld [wdc23], a + +.asm_114f7c + ld a, [wdc03] + cp $5 + jr c, .asm_114fc9 + jr z, .asm_114fec + cp $8 + jr c, .asm_114fa5 + jr z, .asm_114ff4 + cp $b + jr c, .asm_114fa5 + jr z, .asm_114ffc + cp $c + jr z, .asm_115007 + cp $d + jr z, .asm_114fa5 + cp $10 + jr c, .asm_115015 + jr z, .asm_114fa5 + cp $12 + jr c, .asm_114fa5 + jr .asm_114fe7 + +.asm_114fa5 + xor a + ret + +.asm_114fa7 + ld hl, Bed + ld c, [hl] + inc hl + ld a, [hli] + ld [wdc00], a + ld [$ff8c], a + ld [$4000], a + ld e, [hl] + inc hl + ld d, [hl] + ld hl, wdc24 + call Function115d53 + ld hl, wdc24 + call Function115020 + and a + jr nz, .asm_114fe7 + jr .asm_11501e + +.asm_114fc9 + call Function115062 + and a + jr nz, .asm_114fe7 + ld a, [wdc04] + dec a + ld [wdc04], a + and a + jr z, .asm_114fdf + call Function114f39 + and a + jr nz, .asm_114fc9 + +.asm_114fdf + ld a, [wdc05] + ld [wdc04], a + jr .asm_11501e + +.asm_114fe7 + ld a, $1 + ld b, $83 + ret + +.asm_114fec + call Function115062 + and a + jr nz, .asm_114fe7 + jr .asm_11501e + +.asm_114ff4 + call Function115179 + and a + jr nz, .asm_114fe7 + jr .asm_11501e + +.asm_114ffc + ld hl, String_114000 + call Function115217 + and a + jr nz, .asm_114fe7 + jr .asm_11501e + +.asm_115007 + call Function11528f + ld hl, wdc24 + call Function115217 + and a + jr nz, .asm_114fe7 + jr .asm_11501e + +.asm_115015 + ld hl, String_114000 + call Function115217 + and a + jr nz, .asm_114fe7 + +.asm_11501e + xor a + ret +; 115020 + +Function115020: ; 115020 + push hl + ld hl, wdc06 + ld a, [hli] + ld [wdc01], a + ld [$ff8c], a + ld [$4000], a + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + pop hl +.asm_115036 + ld a, [hli] + and a + jr z, .asm_115046 + ld [de], a + dec bc + ld a, b + or c + jr z, .asm_115056 + inc e + call z, Function115059 + jr .asm_115036 + +.asm_115046 + ld hl, wdc06 + ld a, [wdc01] + ld [hli], a + ld a, e + ld [hli], a + ld a, d + ld [hli], a + ld a, c + ld [hli], a + ld [hl], b + xor a + ret + +.asm_115056 + ld a, $1 + ret +; 115059 + +Function115059: ; 115059 + push bc + ld bc, wdc01 + call Function115d80 + pop bc + ret +; 115062 + +Function115062: ; 115062 + ld hl, Bed + ld a, [hli] + and a + jr z, .asm_1150ae + ld c, a + ld a, [hli] + ld [wdc00], a + ld [$ff8c], a + ld [$4000], a + ld e, [hl] + inc hl + ld d, [hl] + ld b, $0 + ld hl, wdc24 + ld a, [wdc23] + cp $1 + jr z, .asm_11509b + cp $2 + jr z, .asm_115098 + cp $3 + jr nz, .asm_1150b2 + ld a, $2c + ld [hli], a + ld a, $d + ld [hli], a + ld a, $a + ld [hli], a + ld a, $9 + ld [hli], a + jr .asm_11509b + +.asm_115098 + ld a, $2c + ld [hli], a + +.asm_11509b + call Function115d53 + call Function1150b3 + call Function115136 + ld a, [wdc23] + inc a + cp $4 + jr nz, .asm_1150ae + ld a, $2 + +.asm_1150ae + ld [wdc23], a + xor a + +.asm_1150b2 + ret +; 1150b3 + +Function1150b3: ; 1150b3 + ld hl, wdc24 + ld de, PartyMon5Defense + ld b, $0 +.asm_1150bb + ld c, $0 + ld a, [hli] + cp $1b + jr z, .asm_1150c9 + ld [de], a + inc de + and a + jr z, .asm_115133 + jr .asm_1150bb + +.asm_1150c9 + inc c + ld a, [hl] + cp $24 + jr nz, .asm_1150bb + inc hl + inc c + ld a, [hl] + cp $42 + jr z, .asm_1150dc + cp $40 + jr z, .asm_1150dc + jr .asm_1150bb + +.asm_1150dc + push hl +.asm_1150dd + inc c + ld a, [hli] + and a + jr z, .asm_115133 + cp $1b + jr nz, .asm_1150dd + inc c + ld a, [hli] + cp $28 + jr nz, .asm_1150dd + inc c + ld a, [hli] + cp $42 + jr z, .asm_1150f8 + cp $4a + jr z, .asm_1150f8 + jr .asm_1150dd + +.asm_1150f8 + ld a, l + ld [Console], a + ld a, h + ld [LeftOrnament], a + ld hl, String_114232 +.asm_115103 + ld a, [hli] + and a + jr z, .asm_11510b + ld [de], a + inc de + jr .asm_115103 + +.asm_11510b + pop hl + dec hl + dec hl + push de + call Function1158c2 + pop de + ld h, d + ld l, e + ld c, [hl] + inc hl + ld b, [hl] + inc hl +.asm_115119 + ld a, [hli] + ld [de], a + inc de + dec bc + ld a, b + or c + jr nz, .asm_115119 + ld a, $3f + ld [de], a + inc de + ld a, $3d + ld [de], a + inc de + ld a, [Console] + ld l, a + ld a, [LeftOrnament] + ld h, a + jr .asm_1150bb + +.asm_115133 + xor a + ld [de], a + ret +; 115136 + +Function115136: ; 115136 + ld hl, wdc06 + ld a, [hli] + ld [wdc01], a + ld [$ff8c], a + ld [$4000], a + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld hl, PartyMon5Defense +.asm_11514d + ld a, [hli] + and a + jr z, .asm_11515d + ld [de], a + dec bc + ld a, b + or c + jr z, .asm_11516d + inc e + call z, Function115170 + jr .asm_11514d + +.asm_11515d + ld hl, wdc06 + ld a, [wdc01] + ld [hli], a + ld a, e + ld [hli], a + ld a, d + ld [hli], a + ld a, c + ld [hli], a + ld [hl], b + xor a + ret + +.asm_11516d + ld a, $1 + ret +; 115170 + +Function115170: ; 115170 + push bc + ld bc, wdc01 + call Function115d80 + pop bc + ret +; 115179 + +Function115179: ; 115179 + ld hl, wdc06 + ld a, [hli] + ld [wdc01], a + ld [$ff8c], a + ld [$4000], a + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld hl, $013f + ld a, [hli] + ld [de], a + dec bc + ld a, b + or c + jr z, .asm_1151ef + inc e + call z, Function11520e + ld a, [hli] + ld [de], a + dec bc + ld a, b + or c + jr z, .asm_1151ef + inc e + call z, Function11520e + ld a, [hli] + ld [de], a + dec bc + ld a, b + or c + jr z, .asm_1151ef + inc e + call z, Function11520e + ld a, [hli] + ld [de], a + dec bc + ld a, b + or c + jr z, .asm_1151ef + inc e + call z, Function11520e + ld a, $2d + ld [de], a + dec bc + ld a, b + or c + jr z, .asm_1151ef + inc e + call z, Function11520e + ld a, [$014c] + ld h, a + and $f0 + swap a + cp $a + jr nc, .asm_1151d8 + add $30 + jr .asm_1151da + +.asm_1151d8 + add $37 + +.asm_1151da + ld [de], a + dec bc + ld a, b + or c + jr z, .asm_1151ef + inc e + call z, Function11520e + ld a, h + and $f + cp $a + jr nc, .asm_1151f2 + add $30 + jr .asm_1151f4 + +.asm_1151ef + ld a, $1 + ret + +.asm_1151f2 + add $37 + +.asm_1151f4 + ld [de], a + dec bc + ld a, b + or c + jr z, .asm_1151ef + inc e + call z, Function11520e + ld hl, wdc06 + ld a, [wdc01] + ld [hli], a + ld a, e + ld [hli], a + ld a, d + ld [hli], a + ld a, c + ld [hli], a + ld [hl], b + xor a + ret +; 11520e + +Function11520e: ; 11520e + push bc + ld bc, wdc01 + call Function115d80 + pop bc + ret +; 115217 + +Function115217: ; 115217 + push hl + ld hl, wdc06 + ld a, [hli] + ld [wdc01], a + ld [$ff8c], a + ld [$4000], a + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + pop hl +.asm_11522d + ld a, [hli] + and a + jr z, .asm_11523d + ld [de], a + dec bc + ld a, b + or c + jr z, .asm_115262 + inc e + call z, Function115286 + jr .asm_11522d + +.asm_11523d + ld a, [wdc03] + cp $b + jr z, .asm_115278 + cp $c + jr z, .asm_115278 + cp $e + jr z, .asm_115252 + cp $f + jr z, .asm_115265 + jr .asm_115262 + +.asm_115252 + ld hl, wdc06 + ld a, [wdc01] + ld [hli], a + ld a, e + ld [hli], a + ld a, d + ld [hli], a + ld a, c + ld [hli], a + ld [hl], b + xor a + ret + +.asm_115262 + ld a, $1 + ret + +.asm_115265 + ld h, $2 +.asm_115267 + ld a, $2d + ld [de], a + dec bc + ld a, b + or c + jr z, .asm_115262 + inc e + call z, Function115286 + dec h + jr nz, .asm_115267 + jr .asm_115252 + +.asm_115278 + ld a, $22 + ld [de], a + dec bc + ld a, b + or c + jr z, .asm_115262 + inc e + call z, Function115286 + jr .asm_115252 +; 115286 + +Function115286: ; 115286 + push bc + ld bc, wdc01 + call Function115d80 + pop bc + ret +; 11528f + +Function11528f: ; 11528f + ld hl, Bed + ld c, [hl] + inc hl + ld a, [hli] + ld [wdc00], a + ld [$ff8c], a + ld [$4000], a + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld hl, wdc24 +.asm_1152a4 + ld a, [de] + ld [hli], a + inc e + call z, Function1152af + dec c + jr nz, .asm_1152a4 + ld [hl], c + ret +; 1152af + +Function1152af: ; 1152af + push bc + ld bc, wdc00 + call Function115d80 + pop bc + ret +; 1152b8 + +Function1152b8: ; 1152b8 + push bc + call Function11537d + push de + ld h, d + ld l, e + ld a, [hli] + ld b, a + ld c, $1 + call Function1153d2 + pop de + and a + jr nz, .asm_1152f9 +.asm_1152ca + ld hl, wdc0d + ld e, [hl] + inc hl + ld d, [hl] +.asm_1152d0 + ld a, [wdc03] + cp $3 + jr nz, .asm_1152d8 + push de + +.asm_1152d8 + cp $5 + jr nz, .asm_1152e7 + pop hl + ld a, [hli] + ld b, a + ld c, $3 + call Function1153d2 + and a + jr nz, .asm_1152f9 + +.asm_1152e7 + ld a, [de] + inc de + and a + jr nz, .asm_115301 + ld a, [wdc03] + cp $6 + jr z, .asm_115335 + inc a + ld [wdc03], a + jr .asm_1152d0 + +.asm_1152f9 + pop hl + ld a, $1 + ld b, $83 + jp Function11425c + +.asm_115301 + ld hl, wdc0d + ld [hl], e + inc hl + ld [hl], d +.asm_115307 + ld [wdc05], a + ld a, $1 + ld [wdc04], a + call Function1153b5 + call Function114f59 + and a + jr nz, .asm_1152f9 + ld a, [wdc05] + dec a + jr nz, .asm_115307 + ld a, [wdc03] + inc a + ld [wdc03], a + call Function114ea0 + and a + jr nz, .asm_1152f9 + ld [wdc23], a + ld a, [wdc03] + cp $6 + jr nz, .asm_1152ca + +.asm_115335 + call Function1153b5 + xor a + ld [wdc23], a + call Function114f59 + and a + jr nz, .asm_1152f9 + call Function114ea0 + and a + jr nz, .asm_1152f9 + ld a, [wdc03] + inc a + ld [wdc03], a + cp $9 + jr nz, .asm_115335 + pop bc + ld a, b + and a + jr z, .asm_11536b + call Function1153b5 + xor a + ld [wdc23], a + call Function114f59 + and a + jr nz, .asm_1152f9 + call Function114ea0 + and a + jr nz, .asm_1152f9 + +.asm_11536b + ld hl, wdc09 + ld a, [hli] + cpl + ld e, a + ld a, [hli] + cpl + ld d, a + inc de + ld a, [hli] + ld h, [hl] + ld l, a + add hl, de + xor a + jp Function11425c +; 11537d + +Function11537d: ; 11537d + ld hl, wdc06 + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + ld b, a + inc de + ld a, [de] + ld [hli], a + inc hl + ld a, [de] + ld [hld], a + ld a, b + ld [hli], a + inc de + ld hl, RightOrnament + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld hl, wdc0d + ld [hl], e + inc hl + ld [hl], d + xor a + ld [wdc03], a + ld [wdc23], a + ret +; 1153b5 + +Function1153b5: ; 1153b5 + ld hl, wdc0d + ld e, [hl] + inc hl + ld d, [hl] + inc hl + inc hl + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hl], a + inc de + ld a, [de] + ld [Bed], a + inc de + ld hl, wdc0d + ld [hl], e + inc hl + ld [hl], d + ret +; 1153d2 + +Function1153d2: ; 1153d2 + ld a, [wdc03] + ld d, a + ld a, [wdc04] + ld e, a + push de + xor a + ld [wdc03], a + ld [wdc04], a + ld a, $24 + ld [Console], a + ld a, $dc + ld [LeftOrnament], a + push bc + jr .asm_1153f4 + +.asm_1153ef + ld a, [hli] + and a + jr z, .asm_115426 + ld b, a + +.asm_1153f4 + push bc +.asm_1153f5 + ld a, [hli] + ld [wdc00], a + ld [$ff8c], a + ld [$4000], a + ld e, [hl] + inc hl + ld d, [hl] + inc hl + ld c, [hl] + inc hl + push hl + ld a, [Console] + ld l, a + ld a, [LeftOrnament] + ld h, a + push bc + ld b, $0 + call Function115d53 + inc hl + ld [hl], a + pop bc + ld a, l + ld e, a + ld [Console], a + ld a, h + ld d, a + ld [LeftOrnament], a + dec b + jr z, .asm_11542b + pop hl + jr .asm_1153f5 + +.asm_115426 + dec c + jr nz, .asm_1153ef + jr .asm_115430 + +.asm_11542b + pop hl + pop bc + dec c + jr nz, .asm_1153ef + +.asm_115430 + ld a, l + ld [Console], a + ld a, h + ld [LeftOrnament], a + xor a + ld [de], a + ld hl, wdc24 +.asm_11543d + ld a, [hli] + and a + jr nz, .asm_11543d + ld a, [hl] + and a + jr z, .asm_115457 + dec hl + ld a, $2c + ld [hli], a + jr .asm_11543d + +.asm_11544b + pop hl + ld a, h + ld [wdc03], a + ld a, l + ld [wdc04], a + ld a, $1 + ret + +.asm_115457 + ld hl, wdc24 + call Function114d99 + ld hl, $ddc8 +.asm_115460 + ld a, [hli] + and a + jr z, .asm_11546d + cp $2c + jr nz, .asm_115460 + dec hl + xor a + ld [hli], a + jr .asm_115460 + +.asm_11546d + pop de + ld a, e + cp $1 + jr z, .asm_115477 + xor a + ld [hli], a + jr .asm_115478 + +.asm_115477 + dec bc + +.asm_115478 + ld hl, $dc18 + ld a, [hli] + ld h, [hl] + ld l, a + ld a, b + cp h + jr c, .asm_11548c + jr nz, .asm_11544b + ld a, c + cp l + jr c, .asm_11548c + jr z, .asm_11548c + jr .asm_11544b + +.asm_11548c + ld hl, $dc18 + ld a, c + cpl + ld e, a + ld a, b + cpl + ld d, a + inc de + ld a, [hli] + ld h, [hl] + ld l, a + add hl, de + ld de, $dc18 + ld a, l + ld [de], a + inc de + ld a, h + ld [de], a + ld hl, RightOrnament + ld a, [hli] + ld [wdc01], a + ld [$ff8c], a + ld [$4000], a + ld e, [hl] + inc hl + ld d, [hl] + ld hl, $ddc8 + call Function115d6a + ld hl, RightOrnament + ld a, [wdc01] + ld [hli], a + ld [hl], e + inc hl + ld [hl], d + ld a, [Console] + ld e, a + ld a, [LeftOrnament] + ld d, a + pop hl + ld a, h + ld [wdc03], a + ld a, l + ld [wdc04], a + xor a + ret +; 1154d4 + +Function1154d4: ; 1154d4 + xor a + ld [wdc23], a + call Function1155af + call Function11560a + and a + jr nz, .asm_11552c + call Function1155d1 + ld a, [RightOrnament] + dec a + ld [RightOrnament], a + and a + jp z, .asm_115577 + cp $1 + jr nz, .asm_115531 + xor a + ld [wdc1c], a +.asm_1154f7 + ld a, [BigDoll] + cp $2 + jr z, .asm_115502 + cp $3 + jr z, .asm_11550f + +.asm_115502 + ld a, $a + ld [wdc03], a + call Function114f59 + and a + jr z, .asm_11551a + jr .asm_11552c + +.asm_11550f + ld a, $c + ld [wdc03], a + call Function114f59 + and a + jr nz, .asm_11552c + +.asm_11551a + call Function114ea0 + and a + jr nz, .asm_11552c + call Function114ea0 + and a + jr nz, .asm_11552c + call Function11560a + and a + jr z, .asm_1155a0 + +.asm_11552c + ld a, $1 + jp Function11425c + +.asm_115531 + ld a, $1 + ld [wdc1c], a + ld a, $b + ld [wdc03], a + call Function114f59 + and a + jr nz, .asm_11552c + call Function114ea0 + and a + jr nz, .asm_11552c +.asm_115547 + call Function114ea0 + and a + jr nz, .asm_11552c + ld a, $e + ld [wdc03], a + call Function114f59 + and a + jr nz, .asm_11552c + call Function114ea0 + and a + jr nz, .asm_11552c + jr .asm_1154f7 + +.asm_115560 + call Function114ea0 + and a + jr nz, .asm_11552c + ld a, [wdc1c] + and a + jr z, .asm_11557d + ld a, $f + ld [wdc03], a + call Function114f59 + and a + jr nz, .asm_11552c + +.asm_115577 + call Function114ea0 + and a + jr nz, .asm_11552c + +.asm_11557d + ld a, $10 + ld [wdc03], a + call Function114f59 + and a + jr nz, .asm_11552c + call Function114ea0 + and a + jr nz, .asm_11552c + ld hl, wdc09 + ld a, [hli] + cpl + ld e, a + ld a, [hli] + cpl + ld d, a + inc de + ld a, [hli] + ld h, [hl] + ld l, a + add hl, de + xor a + jp Function11425c + +.asm_1155a0 + ld a, [RightOrnament] + dec a + ld [RightOrnament], a + and a + jr z, .asm_115560 + call Function1155d1 + jr .asm_115547 +; 1155af + +Function1155af: ; 1155af + ld hl, wdc06 + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + ld b, a + inc de + ld a, [de] + ld [hli], a + ld [hl], b + inc hl + ld [hli], a + inc de + ld a, [de] + ld [RightOrnament], a + inc de + ld a, e + ld [hli], a + ld [hl], d + call Function1155d1 + ret +; 1155d1 + +Function1155d1: ; 1155d1 + ld a, [wdc0d] + ld l, a + ld a, [wdc0e] + ld h, a + ld a, [hli] + ld [BigDoll], a + cp $3 + jr nz, .asm_1155f0 + ld de, Carpet + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + ld a, [hli] + ld [Bed], a + +.asm_1155f0 + ld de, wdc17 + ld a, [hli] + 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 + ld a, [hli] + ld [de], a + ld a, l + ld [wdc0d], a + ld a, h + ld [wdc0e], a + ret +; 11560a + +Function11560a: ; 11560a + ld a, [wdc06] + ld [wdc01], a + ld a, [wdc17] + ld [wdc00], a + ld [$ff8c], a + ld [$4000], a + ld hl, wdc1a + ld c, [hl] + inc hl + ld b, [hl] + ld a, [wdc0a] + cp b + jp c, .asm_1156b1 + jr nz, .asm_115631 + ld a, [wdc09] + cp c + jp c, .asm_1156b1 + +.asm_115631 + ld a, b + or c + jr z, .asm_1156a9 + ld a, [wdc09] + ld l, a + ld a, [wdc0a] + ld h, a + ld a, c + cpl + ld e, a + ld a, b + cpl + ld d, a + inc de + add hl, de + ld a, l + ld [wdc09], a + ld a, h + ld [wdc0a], a +.asm_11564d + ld a, $3 + cp b + jr c, .asm_1156b6 + jr nz, .asm_115659 + ld a, $db + cp c + jr c, .asm_1156b6 + +.asm_115659 + ld a, [wdc1a] + ld e, a + ld a, [wdc1b] + ld d, a + ld a, c + cpl + ld l, a + ld a, b + cpl + ld h, a + inc hl + add hl, de + ld a, l + ld [wdc1a], a + ld a, h + ld [wdc1b], a + push bc + ld hl, $dc18 + ld e, [hl] + inc hl + ld d, [hl] + ld hl, wdc24 + call Function115d53 + ld hl, $dc18 + ld [hl], e + inc hl + ld [hl], d + pop bc + ld a, [wdc01] + ld [$ff8c], a + ld [$4000], a + ld hl, wdc07 + ld e, [hl] + inc hl + ld d, [hl] + ld hl, wdc24 + call Function115d6a + ld hl, wdc07 + ld [hl], e + inc hl + ld [hl], d + ld hl, wdc1a + ld c, [hl] + inc hl + ld b, [hl] + ld a, b + or c + jr nz, .asm_11564d + +.asm_1156a9 + ld a, [wdc01] + ld [wdc06], a + xor a + ret + +.asm_1156b1 + ld a, $1 + ld b, $83 + ret + +.asm_1156b6 + ld a, $3 + cpl + ld h, a + ld a, $db + cpl + ld l, a + add hl, bc + ld de, wdc1a + ld a, l + ld [de], a + inc de + ld a, h + ld [de], a + ld bc, $03db + jr .asm_115659 +; 1156cc + +Function1156cc: ; 1156cc + ld a, [wdc23] + and a + jp z, Function11425c + cp $2 + jr z, .asm_1156fa + cp $3 + jr z, .asm_1156fd + cp $4 + jr z, .asm_1156fd + cp $5 + jr z, .asm_115716 + cp $ff + jr z, .asm_11572b + cp $1 + jp nz, Function11425c + call Function115732 + call Function11575c + ld a, h + ld [Poster], a + ld a, l + ld [Plant], a + +.asm_1156fa + call Function1157d0 + +.asm_1156fd + call Function11581e + and a + jr nz, .asm_11572b + ld a, [wdc23] + cp $5 + jr z, .asm_115716 + ld a, [Poster] + ld h, a + ld a, [Plant] + ld l, a + xor a + jp Function11425c + +.asm_115716 + ld hl, wdc0a + ld a, [hli] + cpl + ld e, a + ld a, [hli] + cpl + ld d, a + inc de + ld a, [hli] + ld h, [hl] + ld l, a + add hl, de + xor a + ld [wdc23], a + jp Function11425c + +.asm_11572b + ld a, $1 + ld b, $83 + jp Function11425c +; 115732 + +Function115732: ; 115732 + ld hl, wdc02 + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + dec de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + ld a, c + ld [hli], a + ld [hl], b + ret +; 11575c + +Function11575c: ; 11575c + ld hl, wdc05 + ld a, [hli] + ld h, [hl] + ld l, a + ld e, $10 + ld b, $0 + ld c, b + ld d, b + ld a, $3 +.asm_11576a + rl l + rl h + rl d + cp d + jr c, .asm_11577c + rl c + rl b + dec e + jr nz, .asm_11576a + jr .asm_11578a + +.asm_11577c + ld a, d + sub $3 + ld d, a + ld a, $3 + scf + rl c + rl b + dec e + jr nz, .asm_11576a + +.asm_11578a + ld a, d + and a + jr z, .asm_11578f + inc bc + +.asm_11578f + sla c + rl b + sla c + rl b + ld h, b + ld l, c + push hl + ld e, $10 + ld b, $0 + ld c, b + ld d, b + ld a, $40 +.asm_1157a2 + rl l + rl h + rl d + cp d + jr c, .asm_1157b4 + rl c + rl b + dec e + jr nz, .asm_1157a2 + jr .asm_1157c3 + +.asm_1157b4 + ld a, d + sub $40 + ld d, a + ld a, $40 + scf + rl c + rl b + dec e + jr nz, .asm_1157a2 + inc bc + +.asm_1157c3 + and a + sla c + rl b + pop hl + add hl, bc + ld a, $2 + ld [wdc23], a + ret +; 1157d0 + +Function1157d0: ; 1157d0 + ld hl, wdc05 + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [wdc0e] + ld c, a + ld a, [Bed] + ld b, a + cp h + jr c, .asm_1157eb + jr nz, .asm_1157e9 + ld a, c + cp l + jr c, .asm_1157eb + jr z, .asm_1157eb + +.asm_1157e9 + ld b, h + ld c, l + +.asm_1157eb + push bc + ld a, b + cpl + ld b, a + ld a, c + cpl + ld c, a + inc bc + add hl, bc + ld a, l + ld [wdc05], a + ld a, h + ld [wdc06], a + ld a, h + or l + jr nz, .asm_11580f + pop bc + ld a, c + ld [wdc0e], a + ld a, b + ld [Bed], a + ld a, $4 + ld [wdc23], a + ret + +.asm_11580f + pop bc + ld a, c + ld [wdc0e], a + ld a, b + ld [Bed], a + ld a, $3 + ld [wdc23], a + ret +; 11581e + +Function11581e: ; 11581e + ld a, [wdc23] + and a + ret z + ld a, [wdc0e] + ld c, a + ld a, [Bed] + ld b, a + ld hl, wdc02 + ld a, [hli] + ld [wdc00], a + ld [$ff8c], a + ld [$4000], a + ld e, [hl] + inc hl + ld d, [hl] + ld hl, wdc24 + push bc + call Function115d53 + pop bc + ld hl, wdc02 + ld a, [wdc00] + ld [hli], a + ld [hl], e + inc hl + ld [hl], d + ld hl, wdc24 + ld de, PartyMon5Defense + call Function1158c2 + ld hl, PartyMon5Defense + ld c, [hl] + inc hl + ld b, [hl] + inc hl + push hl + ld a, [wdc0a] + ld l, a + ld a, [wdc0b] + ld h, a + cp b + jr c, .asm_1158bb + jr nz, .asm_11586e + ld a, l + cp c + jr c, .asm_1158bb + +.asm_11586e + push bc + ld a, b + cpl + ld b, a + ld a, c + cpl + ld c, a + inc bc + add hl, bc + ld a, l + ld [wdc0a], a + ld a, h + ld [wdc0b], a + pop bc + pop hl + ld hl, wdc07 + ld a, [hli] + ld [wdc01], a + ld [$ff8c], a + ld [$4000], a + ld e, [hl] + inc hl + ld d, [hl] + ld hl, PartyMon5Speed + call Function115d6a + ld hl, wdc07 + ld a, [wdc01] + ld [hli], a + ld a, e + ld [hli], a + ld [hl], d + ld a, [wdc23] + cp $3 + jr z, .asm_1158b4 + cp $4 + jr z, .asm_1158ad + jr .asm_1158bc + +.asm_1158ad + ld a, $5 + ld [wdc23], a + jr .asm_1158b9 + +.asm_1158b4 + ld a, $2 + ld [wdc23], a + +.asm_1158b9 + xor a + ret + +.asm_1158bb + pop hl + +.asm_1158bc + ld a, $ff + ld [wdc23], a + ret +; 1158c2 + +Function1158c2: ; 1158c2 + ld a, e + ld [wdc20], a + ld a, d + ld [wdc21], a + xor a + ld [wdc22], a + xor a + ld [de], a + inc de + ld [de], a + inc de + ld a, c + ld [wdc19], a + ld a, b + ld [wdc1a], a + ld c, e + ld b, d + ld e, l + ld d, h + ld l, c + ld h, b + xor a + ld [wdc1f], a + +.asm_1158e5 + ld b, $3 + push hl + ld hl, wdc1b +.asm_1158eb + ld a, [de] + inc de + ld [hli], a + dec b + jr nz, .asm_1158eb + ld a, [wdc19] + ld c, a + ld a, [wdc1a] + ld b, a + xor a + or b + jr nz, .asm_115914 + ld a, $2 + cp c + jr c, .asm_115914 + push hl + dec hl + ld a, c + ld [wdc1f], a +.asm_115908 + xor a + ld [hld], a + inc c + ld a, $3 + cp c + jr nz, .asm_115908 + pop hl + ld bc, $0003 + +.asm_115914 + dec bc + dec bc + dec bc + ld a, c + ld [wdc19], a + ld a, b + ld [wdc1a], a + push de + push hl + ld hl, wdc20 + ld a, [hli] + ld h, [hl] + ld l, a + ld e, [hl] + inc hl + ld d, [hl] + inc de + inc de + inc de + inc de + ld [hl], d + dec hl + ld [hl], e + pop hl + dec hl + ld c, [hl] + dec hl + ld b, [hl] + dec hl + ld a, [hl] + ld d, a + srl a + srl a + ld [hli], a + ld a, $3 + and d + ld d, a + ld a, $f0 + and b + or d + swap a + ld [hli], a + ld a, $f + and b + ld d, a + ld a, c + and $c0 + or d + rlca + rlca + ld [hli], a + ld a, $3f + and c + ld [hld], a + dec hl + dec hl + pop de + ld b, h + ld c, l + pop hl + ld a, [bc] + inc bc + call Function1159dc + ld [hli], a + ld a, [bc] + inc bc + call Function1159dc + ld [hli], a + ld a, [bc] + inc bc + call Function1159dc + ld [hli], a + ld a, [bc] + inc bc + call Function1159dc + ld [hli], a + ld a, [wdc22] + inc a + cp $10 + jr nz, .asm_1159b1 + push af + push bc + ld a, [wdc19] + ld b, a + ld a, [wdc1a] + or b + jr nz, .asm_115998 + ld a, [wdc05] + ld b, a + ld a, [wdc06] + or b + jr nz, .asm_115998 + pop bc + pop af + jr .asm_1159c4 + +.asm_115998 + pop bc + pop af + ld a, $d + ld [hli], a + ld a, $a + ld [hli], a + push hl + ld hl, wdc20 + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [hli] + ld c, a + ld b, [hl] + inc bc + inc bc + ld a, b + ld [hld], a + ld [hl], c + pop hl + xor a + +.asm_1159b1 + ld [wdc22], a + ld a, [wdc19] + cp $0 + jp nz, .asm_1158e5 + ld a, [wdc1a] + cp $0 + jp nz, .asm_1158e5 + +.asm_1159c4 + ld a, [wdc1f] + cp $0 + jr z, .asm_1159d8 + push hl + dec hl + ld b, a +.asm_1159ce + ld a, $3d + ld [hld], a + inc b + ld a, $3 + cp b + jr nz, .asm_1159ce + pop hl + +.asm_1159d8 + ld a, $0 + ld [hl], a + ret +; 1159dc + +Function1159dc: ; 1159dc + cp $1a + jr c, .asm_1159ef + cp $34 + jr c, .asm_1159f2 + cp $3e + jr c, .asm_1159f5 + cp $3e + jr z, .asm_1159f8 + ld a, $2f + ret + +.asm_1159ef + add $41 + ret + +.asm_1159f2 + add $47 + ret + +.asm_1159f5 + sub $4 + ret + +.asm_1159f8 + ld a, $2b + ret +; 1159fb + +Function1159fb: ; 1159fb + ld a, [wdc23] + and a + jp z, Function11425c + cp $2 + jr z, .asm_115a29 + cp $3 + jr z, .asm_115a2c + cp $4 + jr z, .asm_115a2c + cp $5 + jr z, .asm_115a45 + cp $ff + jr z, .asm_115a5a + cp $1 + jp nz, Function11425c + call Function115732 + call Function115a5f + ld a, h + ld [Plant], a + ld a, l + ld [Poster], a + +.asm_115a29 + call Function115ab0 + +.asm_115a2c + call Function115b00 + and a + jr nz, .asm_115a5a + ld a, [wdc23] + cp $5 + jr z, .asm_115a45 + ld a, [Poster] + ld h, a + ld a, [Plant] + ld l, a + xor a + jp Function11425c + +.asm_115a45 + ld hl, wdc0a + ld a, [hli] + cpl + ld e, a + ld a, [hli] + cpl + ld d, a + inc de + ld a, [hli] + ld h, [hl] + ld l, a + add hl, de + xor a + ld [wdc23], a + jp Function11425c + +.asm_115a5a + ld a, $1 + jp Function11425c +; 115a5f + +Function115a5f: ; 115a5f + ld hl, wdc05 + ld a, [hli] + ld h, [hl] + ld l, a + push hl + ld e, $10 + ld b, $0 + ld c, b + ld d, b + ld a, $42 +.asm_115a6e + rl l + rl h + rl d + cp d + jr c, .asm_115a80 + rl c + rl b + dec e + jr nz, .asm_115a6e + jr .asm_115a8e + +.asm_115a80 + ld a, d + sub $42 + ld d, a + ld a, $42 + scf + rl c + rl b + dec e + jr nz, .asm_115a6e + +.asm_115a8e + sla c + rl b + pop hl + ld a, b + cpl + ld b, a + ld a, c + cpl + ld c, a + inc bc + add hl, bc + srl h + rr l + srl h + rr l + ld b, h + ld c, l + sla c + rl b + add hl, bc + ld a, $2 + ld [wdc23], a + ret +; 115ab0 + +Function115ab0: ; 115ab0 + ld hl, wdc05 + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [wdc0e] + ld c, a + ld a, [Bed] + ld b, a + cp h + jr c, .asm_115acb + jr nz, .asm_115ac9 + ld a, c + cp l + jr c, .asm_115acb + jr z, .asm_115acb + +.asm_115ac9 + ld b, h + ld c, l + +.asm_115acb + push bc + ld a, b + cpl + ld b, a + ld a, c + cpl + ld c, a + inc bc + add hl, bc + ld a, l + ld [wdc05], a + ld a, h + ld [wdc06], a + ld a, h + or l + jr nz, .asm_115af0 + pop bc + ld a, c + ld [wdc0e], a + ld a, b + ld [Bed], a + ld a, $4 + ld [wdc23], a + xor a + ret + +.asm_115af0 + pop bc + ld a, c + ld [wdc0e], a + ld a, b + ld [Bed], a + ld a, $3 + ld [wdc23], a + xor a + ret +; 115b00 + +Function115b00: ; 115b00 + ld a, [wdc23] + and a + ret z + ld a, [wdc0e] + ld c, a + ld a, [Bed] + ld b, a + ld hl, wdc02 + ld a, [hli] + ld [wdc00], a + ld [$ff8c], a + ld [$4000], a + ld e, [hl] + inc hl + ld d, [hl] + ld hl, PartyMon5Defense + push bc + call Function115bc8 + pop hl + and a + jr z, .asm_115b43 + cp $2 + jr z, .asm_115b3b + ld a, [wdc23] + cp $4 + jr z, .asm_115b43 + inc hl + inc hl + jr .asm_115b43 + +.asm_115b36 + pop hl + ld b, $83 + jr .asm_115b3d + +.asm_115b3b + ld b, $81 + +.asm_115b3d + ld a, $ff + ld [wdc23], a + ret + +.asm_115b43 + ld a, [Carpet] + add a + cpl + ld c, a + ld b, $ff + inc bc + add hl, bc + ld b, h + ld c, l + ld hl, wdc02 + ld a, [wdc00] + ld [hli], a + ld [hl], e + inc hl + ld [hl], d + ld hl, PartyMon5Defense + ld de, wdc24 + call Function115c49 + ld hl, wdc24 + ld c, [hl] + inc hl + ld b, [hl] + inc hl + push hl + ld a, [wdc0a] + ld l, a + ld a, [wdc0b] + ld h, a + cp b + jr c, .asm_115b36 + jr nz, .asm_115b7b + ld a, l + cp c + jr c, .asm_115b36 + +.asm_115b7b + push bc + ld a, b + cpl + ld b, a + ld a, c + cpl + ld c, a + inc bc + add hl, bc + ld a, l + ld [wdc0a], a + ld a, h + ld [wdc0b], a + pop bc + pop hl + ld hl, wdc07 + ld a, [hli] + ld [wdc01], a + ld [$ff8c], a + ld [$4000], a + ld e, [hl] + inc hl + ld d, [hl] + ld hl, wdc26 + call Function115d6a + ld hl, wdc07 + ld a, [wdc01] + ld [hli], a + ld a, e + ld [hli], a + ld [hl], d + ld a, [wdc23] + cp $3 + jr z, .asm_115bc1 + cp $4 + jr z, .asm_115bba + jr .asm_115b3b + +.asm_115bba + ld a, $5 + ld [wdc23], a + jr .asm_115bc6 + +.asm_115bc1 + ld a, $2 + ld [wdc23], a + +.asm_115bc6 + xor a + ret +; 115bc8 + +Function115bc8: ; 115bc8 + xor a + ld [Carpet], a +.asm_115bcc + ld a, [de] + ld [hli], a + inc e + call z, .Function115c3d + dec bc + ld a, b + or c + jr z, .asm_115c46 + ld a, [de] + ld [hli], a + inc e + call z, .Function115c3d + dec bc + ld a, b + or c + jr z, .asm_115c1b + ld a, [de] + ld [hli], a + inc e + call z, .Function115c3d + dec bc + ld a, b + or c + jr z, .asm_115c46 + ld a, [de] + ld [hli], a + inc e + call z, .Function115c3d + dec bc + ld a, b + or c + jr z, .asm_115c3a + ld a, [de] + cp $d + jr nz, .asm_115bcc + inc e + call z, .Function115c3d + ld a, [de] + cp $a + jr nz, .asm_115c46 + inc e + call z, .Function115c3d + dec bc + ld a, b + or c + jr z, .asm_115c46 + ld a, [Carpet] + inc a + ld [Carpet], a + dec bc + ld a, b + or c + jr nz, .asm_115bcc + +.asm_115c1b + ld a, [wdc23] + cp $4 + jr z, .asm_115c33 + ld a, [de] + ld [hli], a + inc e + call z, .Function115c3d + ld a, [de] + ld [hli], a + inc e + call z, .Function115c3d + xor a + ld [hl], a + ld a, $1 + ret + +.asm_115c33 + dec hl + dec hl + xor a + ld [hl], a + ld a, $1 + ret + +.asm_115c3a + xor a + ld [hl], a + ret + +.Function115c3d: + push bc + ld bc, wdc00 + call Function115d80 + pop bc + ret + +.asm_115c46 + ld a, $2 + ret +; 115c49 + +Function115c49: ; 115c49 + ld a, e + ld [wdc1f], a + ld a, d + ld [wdc20], a + xor a + ld [de], a + inc de + ld [de], a + inc de + + ld a, c + ld [wdc19], a + ld a, b + ld [wdc1a], a + ld c, e + ld b, d + ld e, l + ld d, h + ld l, c + ld h, b + +.asm_115c64 + ld a, [wdc1a] + or a + jr nz, .asm_115c71 + ld a, [wdc19] + cp $4 + jr c, .asm_115c99 + +.asm_115c71 + ld b, $4 + push hl + ld hl, wdc1b +.asm_115c77 + ld a, [de] + inc de + call Function115cfd + ld [hli], a + dec b + jr nz, .asm_115c77 + ld a, [wdc19] + ld c, a + ld a, [wdc1a] + ld b, a + dec bc + dec bc + dec bc + dec bc +.asm_115c8c + ld a, [de] + cp $d + jr z, .asm_115c95 + cp $a + jr nz, .asm_115c9f + +.asm_115c95 + inc de + dec bc + jr .asm_115c8c + +.asm_115c99 + ld a, $ff + ld [wdc23], a + ret + +.asm_115c9f + ld a, c + ld [wdc19], a + ld a, b + ld [wdc1a], a + push de + push hl + ld hl, wdc1f + ld a, [hli] + ld h, [hl] + ld l, a + ld e, [hl] + inc hl + ld d, [hl] + inc de + inc de + inc de + ld [hl], d + dec hl + ld [hl], e + pop hl + dec hl + ld d, [hl] + dec hl + ld c, [hl] + dec hl + ld b, [hl] + dec hl + ld a, [hl] + sla b + sla b + sla b + rla + sla b + rla + ld [hli], a + ld [hl], b + inc hl + rrc c + rrc c + ld [hl], c + dec hl + ld a, $f + and c + or [hl] + ld [hli], a + ld a, [hli] + and $c0 + or [hl] + dec hl + ld [hld], a + dec hl + pop de + ld b, h + ld c, l + pop hl + ld a, [bc] + ld [hli], a + inc bc + ld a, [bc] + ld [hli], a + inc bc + ld a, [bc] + ld [hli], a + ld a, [wdc19] + cp $0 + jp nz, .asm_115c64 + ld a, [wdc1a] + cp $0 + jp nz, .asm_115c64 + ret +; 115cfd + +Function115cfd: ; 115cfd + cp $2b + jr c, .asm_115d27 + jr z, .asm_115d2f + cp $2f + jr c, .asm_115d27 + jr z, .asm_115d32 + cp $30 + jr c, .asm_115d27 + cp $3a + jr c, .asm_115d35 + cp $3d + jr c, .asm_115d27 + jr z, .asm_115d38 + cp $41 + jr c, .asm_115d27 + cp $5b + jr c, .asm_115d4d + cp $61 + jr c, .asm_115d27 + cp $7b + jr c, .asm_115d50 + +.asm_115d27 + pop hl + pop hl + ld a, $ff + ld [wdc23], a + ret + +.asm_115d2f + ld a, $3e + ret + +.asm_115d32 + ld a, $3f + ret + +.asm_115d35 + add $4 + ret + +.asm_115d38 + push de + push hl + ld a, [wdc1f] + ld l, a + ld a, [wdc20] + ld h, a + ld e, [hl] + inc hl + ld d, [hl] + dec de + ld [hl], d + dec hl + ld [hl], e + pop hl + pop de + xor a + ret + +.asm_115d4d + sub $41 + ret + +.asm_115d50 + sub $47 + ret +; 115d53 + +Function115d53: ; 115d53 +.asm_115d53 + ld a, [de] + ld [hli], a + inc e + call z, Function115d61 + dec bc + ld a, b + or c + jr nz, .asm_115d53 + xor a + ld [hl], a + ret +; 115d61 + +Function115d61: ; 115d61 + push bc + ld bc, wdc00 + call Function115d80 + pop bc + ret +; 115d6a + +Function115d6a: ; 115d6a +.asm_115d6a + ld a, [hli] + ld [de], a + inc e + call z, Function115d77 + dec bc + ld a, b + or c + jr nz, .asm_115d6a + xor a + ret +; 115d77 + +Function115d77: ; 115d77 + push bc + ld bc, wdc01 + call Function115d80 + pop bc + ret +; 115d80 + +Function115d80: ; 115d80 + ld e, a + ld a, d + cp $bf + jr z, .asm_115d8b + inc d + ld a, e + ld e, $0 + ret + +.asm_115d8b + ld a, [bc] + inc a + ld [bc], a + ld [$ff8c], a + ld [$4000], a + ld a, e + ld d, $a0 + ld e, $0 + ret +; 115d99 + +Function115d99: ; 115d99 + ld de, GFX_11601a + ld hl, $8600 + lb bc, BANK(GFX_11601a), $14 + call Get2bpp + xor a + ld [wc305], a + ld [wc306], a + ld [wc309], a + ld [wc30a], a + ld [wc30b], a + ld [wc30c], a + ld a, $10 + ld [wc307], a + ld a, $18 + ld [wc308], a + ret +; 115dc3 + +Function115dc3: ; 115dc3 + xor a + ld [wc305], a + ld a, $a0 + ld hl, Sprites + $7c + ld bc, $0020 + call ByteFill + ret +; 115dd3 + +Function115dd3: ; 115dd3 + ld a, [wc305] + and a + ret z + ld a, $a0 + ld hl, Sprites + $7c + ld bc, $0020 + call ByteFill + call Function115e22 + ld a, [wc309] + sla a + ld c, a + ld b, 0 + ld hl, Unknown_115e86 + add hl, bc + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + push de + pop hl + ld de, Sprites + $7c + ld a, [wc307] + ld c, a + ld a, [wc308] + ld b, a + ld a, [hli] +.asm_115e04 + push af + ld a, [hli] + add b + ld [de], a + inc de + ld a, [hli] + add c + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + pop af + dec a + jr nz, .asm_115e04 + ret +; 115e18 + +Function115e18: ; 115e18 + ld a, c + ld [wc30a], a + xor a + ld [wc30b], a + jr Function115e2b +; 115e22 + +Function115e22: ; 115e22 + ld hl, wc30c + dec [hl] + ret nz + ld hl, wc30b + inc [hl] + +Function115e2b: ; 115e2b + ld a, [wc30a] + sla a + ld c, a + ld b, 0 + ld hl, Unknown_115e59 + add hl, bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + push de + pop hl + ld a, [wc30b] + sla a + ld c, a + ld b, $0 + add hl, bc + ld a, [hli] + cp $ff + jr nz, .asm_115e51 + xor a + ld [wc30b], a + jr Function115e2b + +.asm_115e51 + ld [wc309], a + ld a, [hl] + ld [wc30c], a + ret +; 115e59 + +Unknown_115e59: + dw Unknown_115e61 + dw Unknown_115e6c + dw Unknown_115e76 + dw Unknown_115e79 + +Unknown_115e61: ; 115e61 + db $4, $8 + db $5, $8 + db $6, $8 + db $7, $8 + db $8, $8 + db $ff + +Unknown_115e6c: ; 115e6c + db $1, $8 + db $2, $8 + db $3, $8 + db $9, $8 + db $a, $8 + +Unknown_115e76: ; 115e76 + db $0, $8 + db $ff + +Unknown_115e79: ; 115e79 + db $b, $8 + db $c, $8 + db $d, $8 + db $e, $8 + db $f, $8 + db $0, $8 + db $ff +; 115e86 + +Unknown_115e86: + dw Unknown_115ea6 + dw Unknown_115eb7 + dw Unknown_115ecc + dw Unknown_115ee1 + dw Unknown_115ef6 + dw Unknown_115f13 + dw Unknown_115f30 + dw Unknown_115f4d + dw Unknown_115f6a + dw Unknown_115f87 + dw Unknown_115f9c + dw Unknown_115fb1 + dw Unknown_115fc6 + dw Unknown_115fdb + dw Unknown_115ff0 + dw Unknown_116005 + +Unknown_115ea6: ; 115ea6 + db $4 + db $8, $0, $60, $1 + db $8, $8, $61, $1 + db $10, $0, $62, $1 + db $10, $8, $63, $1 + +Unknown_115eb7: ; 115eb7 + db $5 + db $0, $8, $64, $0 + db $8, $0, $60, $1 + db $8, $8, $61, $1 + db $10, $0, $62, $1 + db $10, $8, $63, $1 + +Unknown_115ecc: ; 115ecc + db $5 + db $0, $8, $65, $0 + db $8, $0, $60, $1 + db $8, $8, $61, $1 + db $10, $0, $62, $1 + db $10, $8, $63, $1 + +Unknown_115ee1: ; 115ee1 + db $5 + db $0, $8, $66, $0 + db $8, $0, $60, $1 + db $8, $8, $61, $1 + db $10, $0, $62, $1 + db $10, $8, $63, $1 + +Unknown_115ef6: ; 115ef6 + db $7 + db $0, $0, $67, $1 + db $8, $0, $68, $1 + db $10, $0, $6d, $0 + db $10, $8, $69, $0 + db $10, $10, $6a, $0 + db $18, $8, $6b, $0 + db $18, $10, $6c, $0 + +Unknown_115f13: ; 115f13 + db $7 + db $0, $0, $67, $1 + db $8, $0, $68, $1 + db $10, $0, $6e, $0 + db $10, $8, $69, $0 + db $10, $10, $6a, $0 + db $18, $8, $6b, $0 + db $18, $10, $6c, $0 + +Unknown_115f30: ; 115f30 + db $7 + db $0, $0, $67, $1 + db $8, $0, $68, $1 + db $10, $0, $6f, $0 + db $10, $8, $69, $0 + db $10, $10, $6a, $0 + db $18, $8, $6b, $0 + db $18, $10, $6c, $0 + +Unknown_115f4d: ; 115f4d + db $7 + db $0, $0, $67, $1 + db $8, $0, $68, $1 + db $10, $0, $70, $0 + db $10, $8, $69, $0 + db $10, $10, $6a, $0 + db $18, $8, $6b, $0 + db $18, $10, $6c, $0 + +Unknown_115f6a: ; 115f6a + db $7 + db $0, $0, $67, $1 + db $8, $0, $68, $1 + db $10, $0, $71, $0 + db $10, $8, $69, $0 + db $10, $10, $6a, $0 + db $18, $8, $6b, $0 + db $18, $10, $6c, $0 + +Unknown_115f87: ; 115f87 + db $5 + db $0, $8, $72, $0 + db $8, $0, $60, $1 + db $8, $8, $61, $1 + db $10, $0, $62, $1 + db $10, $8, $63, $1 + +Unknown_115f9c: ; 115f9c + db $5 + db $0, $8, $73, $0 + db $8, $0, $60, $1 + db $8, $8, $61, $1 + db $10, $0, $62, $1 + db $10, $8, $63, $1 + +Unknown_115fb1: ; 115fb1 + db $5 + db $1, $8, $64, $60 + db $8, $0, $60, $1 + db $8, $8, $61, $1 + db $10, $0, $62, $1 + db $10, $8, $63, $1 + +Unknown_115fc6: ; 115fc6 + db $5 + db $1, $8, $65, $60 + db $8, $0, $60, $1 + db $8, $8, $61, $1 + db $10, $0, $62, $1 + db $10, $8, $63, $1 + +Unknown_115fdb: ; 115fdb + db $5 + db $1, $8, $66, $60 + db $8, $0, $60, $1 + db $8, $8, $61, $1 + db $10, $0, $62, $1 + db $10, $8, $63, $1 + +Unknown_115ff0: ; 115ff0 + db $5 + db $1, $8, $72, $60 + db $8, $0, $60, $1 + db $8, $8, $61, $1 + db $10, $0, $62, $1 + db $10, $8, $63, $1 + +Unknown_116005: ; 116005 + db $5 + db $1, $8, $73, $60 + db $8, $0, $60, $1 + db $8, $8, $61, $1 + db $10, $0, $62, $1 + db $10, $8, $63, $1 +; 11601a + +GFX_11601a:: ; 11601a +INCBIN "gfx/unknown/11601a.2bpp" + +Function11615a: ; 11615a + xor a + ld [wc30d], a + ld [wc319], a + ld [wc310], a + ld [wc311], a + ld [wc312], a + ld [wc313], a + ld [wc314], a + ld [wc315], a + ld [wc318], a + ld [wc3f6], a + ld [wc3f8], a + ld [wc3f2], a + ld [wc3f4], a + ld a, $24 + ld [wc3f5], a + ld a, $7 + ld [wc3f7], a + ld a, $b0 + ld [wc30e], a + ld [wc3f1], a + ld a, $48 + ld [wc30f], a + ld [wc3f3], a + ret +; 11619d + +Function11619d: ; 11619d + ld a, [wc30d] + and a + ret z + ld a, [wc319] + cp $2 + jr c, .asm_1161b4 + ld a, $a0 + ld hl, Sprites + ld bc, $0064 + call ByteFill + +.asm_1161b4 + call Function1161b8 + ret +; 1161b8 + +Function1161b8: ; 1161b8 + ld a, [wc319] + ld e, a + ld d, 0 + ld hl, Jumptable_1161c7 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 1161c7 + +Jumptable_1161c7: ; 1161c7 + dw Function1161d5 + dw Function116294 + dw Function1162cb + dw Function1162f2 + dw Function1163c0 + dw Function11636e + dw Function116441 +; 1161d5 + +Function1161d5: ; 1161d5 + ld a, [rSVBK] + push af + ld a, $6 + ld [rSVBK], a + ld hl, Unknown_117356 + ld de, w6_d000 + ld bc, $0300 + call CopyBytes + di +.asm_1161e9 + ld a, [rLY] + cp $91 + jr nz, .asm_1161e9 + ld a, $d0 + ld [rHDMA1], a + ld a, $0 + ld [rHDMA2], a + ld a, $1c + ld [rHDMA3], a + xor a + ld [rHDMA4], a + ld a, $8 + ld [rHDMA5], a + ld a, $d0 + ld [rHDMA1], a + ld a, $80 + ld [rHDMA2], a + ld a, $1c + ld [rHDMA3], a + ld a, $80 + ld [rHDMA4], a + ld a, $8 + ld [rHDMA5], a + ld a, $d1 + ld [rHDMA1], a + ld a, $0 + ld [rHDMA2], a + ld a, $1d + ld [rHDMA3], a + xor a + ld [rHDMA4], a + ld a, $8 + ld [rHDMA5], a + ld a, $1 + ld [rVBK], a + ld a, $d1 + ld [rHDMA1], a + ld a, $80 + ld [rHDMA2], a + ld a, $1c + ld [rHDMA3], a + xor a + ld [rHDMA4], a + ld a, $8 + ld [rHDMA5], a + ld a, $d2 + ld [rHDMA1], a + ld a, $0 + ld [rHDMA2], a + ld a, $1c + ld [rHDMA3], a + ld a, $80 + ld [rHDMA4], a + ld a, $8 + ld [rHDMA5], a + ld a, $d2 + ld [rHDMA1], a + ld a, $80 + ld [rHDMA2], a + ld a, $1d + ld [rHDMA3], a + xor a + ld [rHDMA4], a + ld a, $8 + ld [rHDMA5], a + xor a + ld [rVBK], a + ei + pop af + ld [rSVBK], a + callba Function104061 + ld a, $8 + ld [MusicFade], a + ld de, MUSIC_MOBILE_ADAPTER + ld a, e + ld [wc2a9], a + ld a, d + ld [wc2aa], a + ld a, [wc319] + inc a + ld [wc319], a + ret +; 11628c + +MenuDataHeader_11628c: ; 11628c + db $40 ; flags + db 6, 0 ; start coords + db 17, 19 ; end coords + dw NULL + db 0 ; default option +; 116294 + +Function116294: ; 116294 + callba Function170d02 + ld a, [wc319] + inc a + ld [wc319], a + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, wd030 + ld de, wc320 + ld bc, $0010 + call CopyBytes + ld hl, Palette_11734e + ld de, Unkn1Pals + 8 * 7 + ld bc, $0008 + call CopyBytes + call Function32f9 + pop af + ld [rSVBK], a + ld a, $30 + ld [hWY], a + ret +; 1162cb + +Function1162cb: ; 1162cb + callba Function170cc6 + ld a, [wc319] + inc a + ld [wc319], a + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, Palette_11730e + ld de, wd050 + ld bc, $0030 + call CopyBytes + call Function32f9 + pop af + ld [rSVBK], a + ret +; 1162f2 + +Function1162f2: ; 1162f2 + call Function11659d + call Function116758 + call Function1167a6 + ld a, [wc310] + cp $fd + ret z + sla a + ld c, a + ld b, 0 + ld hl, Unknown_1168c5 + add hl, bc + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + push de + pop hl + ld a, [wc30e] + ld c, a + ld a, [wc30f] + ld b, a + ld a, [wc318] + ld e, a + ld a, [hli] + sub e + ld de, Sprites + $24 +.asm_116321 + push af + ld a, [hli] + add b + ld [de], a + inc de + ld a, [hli] + add c + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + pop af + dec a + jr nz, .asm_116321 + call Function116468 + ld a, [wc3f5] + sla a + ld c, a + ld b, 0 + ld hl, Unknown_1168c5 + add hl, bc + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + push de + pop hl + ld a, [wc3f1] + ld c, a + ld a, [wc3f3] + ld b, a + ld a, [wc3f8] + ld e, a + ld a, [hli] + sub e + ld de, Sprites +.asm_11635a + push af + ld a, [hli] + add b + ld [de], a + inc de + ld a, [hli] + add c + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + pop af + dec a + jr nz, .asm_11635a + ret +; 11636e + +Function11636e: ; 11636e + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, BGPals + ld de, Unkn1Pals + ld bc, $0040 + call CopyBytes + pop af + ld [rSVBK], a + call Function32f9 + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld a, $a0 + ld hl, Sprites + ld bc, $0040 + call ByteFill + ld a, $90 + ld [hWY], a + call Function1ad2 + pop af + ld [rSVBK], a + callba Function104061 + ld a, $8 + ld [MusicFade], a + ld a, [wc2c0] + ld [wc2a9], a + xor a + ld [wc2aa], a + xor a + ld [wc319], a + ld [wc30d], a + ret +; 1163c0 + +Function1163c0: ; 1163c0 + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld a, $a0 + ld hl, Sprites + ld bc, $0040 + call ByteFill + call DelayFrame + callba Function14146 + ld b, $9 + call GetSGBLayout + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, wc320 + ld de, wd030 + ld bc, $0010 + call CopyBytes + pop af + ld [rSVBK], a + call Function32f9 + call DelayFrame + ld a, $90 + ld [hWY], a + call Function1ad2 + callba Function14157 + pop af + ld [rSVBK], a + callba Function104061 + ld a, [InLinkBattle] + cp $4 + jr z, .asm_11642a + ld a, $8 + ld [MusicFade], a + ld a, [wc2c0] + ld [wc2a9], a + xor a + ld [wc2aa], a + jr .asm_116439 + +.asm_11642a + ld a, $8 + ld [MusicFade], a + ld a, $0 + ld [wc2a9], a + ld a, $0 + ld [wc2aa], a + +.asm_116439 + xor a + ld [wc319], a + ld [wc30d], a + ret +; 116441 + +Function116441: ; 116441 + callba Function17d405 + ld a, $90 + ld [hWY], a + callba Function104061 + ld a, $8 + ld [MusicFade], a + ld a, [wc2c0] + ld [wc2a9], a + xor a + ld [wc2aa], a + xor a + ld [wc319], a + ld [wc30d], a + ret +; 116468 + +Function116468: ; 116468 + call Function116567 + ld a, [wc314] + cp $d + jr nz, .asm_1164a8 + ld hl, wc30e + ld a, [hl] + cp $50 + jr nc, .asm_116484 + ld a, $50 + sub [hl] + add $50 + ld [wc3f1], a + jr .asm_11648d + +.asm_116484 + sub $50 + ld c, a + ld a, $50 + sub c + ld [wc3f1], a + +.asm_11648d + ld hl, wc30f + ld a, [hl] + cp $60 + jr nc, .asm_11649e + ld a, $60 + sub [hl] + add $60 + ld [wc3f3], a + ret + +.asm_11649e + sub $60 + ld c, a + ld a, $60 + sub c + ld [wc3f3], a + ret + +.asm_1164a8 + ld hl, wc30e + ld a, $b0 + cp [hl] + jr nc, .asm_1164b8 + ld a, [wc3f1] + and a + jr z, .asm_11650b + jr .asm_1164f2 + +.asm_1164b8 + ld a, [wc3f1] + sub [hl] + jr nc, .asm_1164c1 + xor $ff + inc a + +.asm_1164c1 + ld b, a + ld c, $0 + ld a, $5 +.asm_1164c6 + srl b + rr c + dec a + jr nz, .asm_1164c6 + ld a, c + ld [wc3fa], a + ld a, b + ld [wc3f9], a + ld a, [wc3f1] + sub [hl] + jr c, .asm_1164f2 + ld c, $0 + ld a, [wc3fa] + xor $ff + add $1 + rl c + ld [wc3fa], a + ld a, [wc3f9] + xor $ff + add c + ld [wc3f9], a + +.asm_1164f2 + ld a, [wc3f2] + ld l, a + ld a, [wc3f1] + ld h, a + ld a, [wc3fa] + ld e, a + ld a, [wc3f9] + ld d, a + add hl, de + ld a, l + ld [wc3f2], a + ld a, h + ld [wc3f1], a + +.asm_11650b + ld hl, wc30f + ld a, $b0 + cp [hl] + jr c, .asm_11654d + ld a, [wc3f3] + sub [hl] + jr nc, .asm_11651c + xor $ff + inc a + +.asm_11651c + ld b, a + ld c, $0 + ld a, $5 +.asm_116521 + srl b + rr c + dec a + jr nz, .asm_116521 + ld a, c + ld [wc3fc], a + ld a, b + ld [wc3fb], a + ld a, [wc3f3] + sub [hl] + jr c, .asm_11654d + ld c, $0 + ld a, [wc3fc] + xor $ff + add $1 + rl c + ld [wc3fc], a + ld a, [wc3fb] + xor $ff + add c + ld [wc3fb], a + +.asm_11654d + ld a, [wc3f4] + ld l, a + ld a, [wc3f3] + ld h, a + ld a, [wc3fc] + ld e, a + ld a, [wc3fb] + ld d, a + add hl, de + ld a, l + ld [wc3f4], a + ld a, h + ld [wc3f3], a + ret +; 116567 + +Function116567: ; 116567 + ld hl, wc3f7 + dec [hl] + ret nz + ld hl, wc3f6 + inc [hl] +.asm_116570 + ld a, $7 + sla a + ld c, a + ld b, 0 + ld hl, Unknown_1167eb + add hl, bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + push de + pop hl + ld a, [wc3f6] + sla a + ld c, a + ld b, $0 + add hl, bc + ld a, [hli] + cp $fe + jr nz, .asm_116595 + xor a + ld [wc3f6], a + jr .asm_116570 + +.asm_116595 + ld [wc3f5], a + ld a, [hl] + ld [wc3f7], a + ret +; 11659d + +Function11659d: ; 11659d + ld a, [wc314] + cp $12 + ret nc + ld e, a + ld d, 0 + ld hl, Jumptable_1165af + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 1165af + +Jumptable_1165af: ; 1165af + dw Function11677e + dw Function1165d5 + dw Function1165d8 + dw Function1165e3 + dw Function1165f5 + dw Function116600 + dw Function116615 + dw Function116618 + dw Function116623 + dw Function116635 + dw Function116640 + dw Function116655 + dw Function11665c + dw Function11668d + dw Function11669f + dw Function1166a2 + dw Function1166c4 + dw Function1166d6 + dw Function1166d6 +; 1165d5 + +Function1165d5: ; 1165d5 + call Function11678e + +Function1165d8: + ld a, $0 + ld c, a + ld a, $ff + ld b, a + ld a, $a8 + call Function1166f4 + +Function1165e3: + call Function116747 + ld a, [wc30e] + cp $e8 + ret nz + ld a, $1 + call Function116780 + ret c + jp Function116797 +; 1165f5 + +Function1165f5: ; 1165f5 + ld a, $1 + ld c, a + ld a, $1 + ld b, a + ld a, $e8 + call Function1166f4 + +Function116600: + call Function116747 + ld a, [wc30e] + cp $a8 + ret nz + ld a, $1 + call Function116780 + ret c + ld a, $2 + ld [wc314], a + ret +; 116615 + +Function116615: ; 116615 + call Function11678e + +Function116618: + ld a, $3 + ld c, a + ld a, $1 + ld b, a + ld a, $28 + call Function11671f + +Function116623: + call Function116747 + ld a, [wc30f] + cp $a0 + ret nz + ld a, $6 + call Function116780 + ret c + jp Function116797 +; 116635 + +Function116635: ; 116635 + ld a, $2 + ld c, a + ld a, $ff + ld b, a + ld a, $a0 + call Function11671f + +Function116640: + call Function116747 + ld a, [wc30f] + cp $28 + ret nz + ld a, $6 + call Function116780 + ret c + ld a, $7 + ld [wc314], a + ret +; 116655 + +Function116655: ; 116655 + xor a + ld [wc317], a + call Function11678e + +Function11665c: + ld hl, wc317 + ld a, $1 + xor [hl] + ld [hl], a + add $4 + ld c, a + call Function11679c + ld a, [wc317] + and a + jr nz, .asm_116673 + ld a, $48 + jr .asm_116675 + +.asm_116673 + ld a, $78 + +.asm_116675 + ld [wc30f], a + call Random + ld a, [hRandomAdd] + and $7 + sla a + sla a + sla a + add $30 + ld [wc30e], a + call Function116797 + +Function11668d: + ld a, [wc311] + cp $ff + ret nz + ld a, $b + call Function116780 + ret c + ld a, $c + ld [wc314], a + ret +; 11669f + +Function11669f: ; 11669f + call Function11678e + +Function1166a2: + ld a, $a8 + ld [wc30e], a + ld [wc3f1], a + ld a, $60 + ld [wc30f], a + ld [wc3f3], a + ld a, $ff + ld [wc316], a + xor a + ld [wc317], a + ld a, $0 + ld c, a + call Function11679c + call Function116797 + +Function1166c4: + call Function116747 + ld a, [wc30e] + cp $58 + ret nz + ld a, $6 + ld c, a + call Function11679c + call Function116797 + +Function1166d6: + call Function116747 + ld a, [wc30e] + cp $48 + jr nz, .asm_1166e4 + xor a + ld [wc316], a + +.asm_1166e4 + ld a, [wc311] + cp $ff + ret nz + ld a, $4 + ld [wc319], a + xor a + ld [wc314], a + ret +; 1166f4 + +Function1166f4: ; 1166f4 + ld [wc30e], a + ld a, b + ld [wc316], a + xor a + ld [wc317], a + ld hl, wc30f +.asm_116702 + call Random + ld a, [hRandomAdd] + and $7 + jr z, .asm_11670c + dec a + +.asm_11670c + sla a + sla a + sla a + add $48 + cp [hl] + jr z, .asm_116702 + ld [hl], a + call Function11679c + call Function116797 + ret +; 11671f + +Function11671f: ; 11671f + ld [wc30f], a + ld a, b + ld [wc317], a + xor a + ld [wc316], a + ld hl, wc30e +.asm_11672d + call Random + ld a, [hRandomAdd] + and $7 + sla a + sla a + sla a + add $30 + cp [hl] + jr z, .asm_11672d + ld [hl], a + call Function11679c + call Function116797 + ret +; 116747 + +Function116747: ; 116747 + ld hl, wc30e + ld a, [wc316] + add [hl] + ld [hl], a + ld hl, wc30f + ld a, [wc317] + add [hl] + ld [hl], a + ret +; 116758 + +Function116758: ; 116758 + ld a, [wc30f] + cp $30 + jr c, .asm_116770 + jr z, .asm_116770 + cp $38 + jr c, .asm_116774 + jr z, .asm_116774 + cp $40 + jr c, .asm_116778 + jr z, .asm_116778 + xor a + jr .asm_11677a + +.asm_116770 + ld a, $c + jr .asm_11677a + +.asm_116774 + ld a, $8 + jr .asm_11677a + +.asm_116778 + ld a, $4 + +.asm_11677a + ld [wc318], a + ret +; 11677e + +Function11677e: ; 11677e + ld a, $0 + +Function116780: + ld hl, wc315 + cp [hl] + jr z, .asm_11678c + ld a, [hl] + ld [wc314], a + scf + ret + +.asm_11678c + and a + ret +; 11678e + +Function11678e: ; 11678e + ld hl, wc314 + ld a, [hl] + ld [wc315], a + inc [hl] + ret +; 116797 + +Function116797: ; 116797 + ld hl, wc314 + inc [hl] + ret +; 11679c + +Function11679c: + ld a, c + ld [wc311], a + xor a + ld [wc312], a + jr asm_1167af + +Function1167a6: ; 1167a6 + ld hl, wc313 + dec [hl] + ret nz + ld hl, wc312 + inc [hl] + +asm_1167af +.asm_1167af + ld a, [wc311] + cp $ff + ret z + sla a + ld c, a + ld b, 0 + ld hl, Unknown_1167eb + add hl, bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + push de + pop hl + ld a, [wc312] + sla a + ld c, a + ld b, $0 + add hl, bc + ld a, [hli] + cp $ff + jr z, .asm_1167dc + cp $fe + jr nz, .asm_1167e3 + xor a + ld [wc312], a + jr .asm_1167af + +.asm_1167dc + ld a, $ff + ld [wc311], a + ld a, $fd + +.asm_1167e3 + ld [wc310], a + ld a, [hl] + ld [wc313], a + ret +; 1167eb + +Unknown_1167eb: + dw Unknown_1167fb + dw Unknown_116808 + dw Unknown_116867 + dw Unknown_116870 + dw Unknown_116815 + dw Unknown_11683e + dw Unknown_116881 + dw Unknown_1168ae + +Unknown_1167fb: ; 1167fb + db $0, $6 + db $1, $4 + db $2, $4 + db $3, $6 + db $2, $4 + db $1, $4 + db $fe + +Unknown_116808: ; 116808 + db $4, $6 + db $5, $4 + db $6, $4 + db $7, $6 + db $6, $4 + db $5, $4 + db $fe + +Unknown_116815: ; 116815 + db $fd, $20 + db $8, $c + db $9, $24 + db $a, $4 + db $b, $8 + db $a, $4 + db $9, $6 + db $c, $4 + db $d, $8 + db $c, $5 + db $9, $24 + db $a, $4 + db $b, $8 + db $a, $4 + db $9, $6 + db $c, $4 + db $d, $8 + db $c, $5 + db $9, $8 + db $8, $4 + db $ff + +Unknown_11683e: ; 11683e + db $fd, $20 + db $e, $c + db $f, $24 + db $10, $4 + db $11, $8 + db $10, $4 + db $f, $6 + db $12, $4 + db $13, $8 + db $12, $5 + db $f, $24 + db $10, $4 + db $11, $8 + db $10, $4 + db $f, $6 + db $12, $4 + db $13, $8 + db $12, $5 + db $f, $8 + db $e, $4 + db $ff + +Unknown_116867: ; 116867 + db $14, $8 + db $15, $8 + db $16, $8 + db $15, $8 + db $fe + +Unknown_116870: ; 116870 + db $17, $5 + db $18, $5 + db $19, $5 + db $1a, $5 + db $1b, $5 + db $1a, $5 + db $19, $5 + db $18, $5 + db $fe + +Unknown_116881: ; 116881 + db $1c, $7 + db $1d, $7 + db $1e, $a + db $1f, $a + db $20, $5 + db $21, $5 + db $20, $5 + db $21, $5 + db $20, $18 + db $22, $4 + db $23, $2 + db $22, $2 + db $23, $2 + db $22, $1 + db $23, $1 + db $22, $1 + db $23, $4 + db $fd, $1 + db $23, $1 + db $fd, $2 + db $23, $2 + db $fd, $40 + db $ff + +Unknown_1168ae: ; 1168ae + db $24, $4 + db $25, $4 + db $26, $4 + db $27, $4 + db $28, $4 + db $29, $4 + db $2a, $4 + db $2b, $4 + db $2c, $4 + db $2d, $4 + db $2e, $4 + db $fe +; 1168c5 + +Unknown_1168c5: + dw Unknown_116923 + dw Unknown_116960 + dw Unknown_1169a1 + dw Unknown_1169de + dw Unknown_116a1b + dw Unknown_116a58 + dw Unknown_116a99 + dw Unknown_116ad6 + dw Unknown_116d1b + dw Unknown_116d4c + dw Unknown_116d85 + dw Unknown_116dbe + dw Unknown_116df7 + dw Unknown_116e30 + dw Unknown_116e69 + dw Unknown_116e9a + dw Unknown_116ed3 + dw Unknown_116f0c + dw Unknown_116f45 + dw Unknown_116f7e + dw Unknown_116b13 + dw Unknown_116b54 + dw Unknown_116b95 + dw Unknown_116bd6 + dw Unknown_116c17 + dw Unknown_116c58 + dw Unknown_116c99 + dw Unknown_116cda + dw Unknown_116fb7 + dw Unknown_116fec + dw Unknown_117025 + dw Unknown_117056 + dw Unknown_117083 + dw Unknown_1170c0 + dw Unknown_1170fd + dw Unknown_11713a + dw Unknown_117177 + dw Unknown_11719c + dw Unknown_1171c1 + dw Unknown_1171e6 + dw Unknown_11720b + dw Unknown_117230 + dw Unknown_117255 + dw Unknown_11727a + dw Unknown_11729f + dw Unknown_1172c4 + dw Unknown_1172e9 + +Unknown_116923: ; 116923 + db $f + db $0, $0, $1, $a + db $0, $8, $2, $d + db $0, $10, $3, $d + db $0, $18, $4, $d + db $8, $0, $11, $a + db $8, $8, $12, $a + db $8, $10, $13, $a + db $8, $18, $14, $d + db $10, $0, $21, $a + db $10, $8, $22, $a + db $10, $10, $23, $a + db $10, $18, $24, $a + db $18, $0, $31, $a + db $18, $8, $32, $a + db $18, $10, $33, $a + +Unknown_116960: ; 116960 + db $10 + db $1, $0, $1, $a + db $1, $8, $2, $d + db $1, $10, $3, $d + db $1, $18, $4, $d + db $9, $0, $11, $a + db $9, $8, $12, $a + db $9, $10, $13, $a + db $9, $18, $14, $d + db $11, $0, $5, $a + db $11, $8, $6, $a + db $11, $10, $7, $a + db $11, $18, $34, $a + db $19, $0, $15, $a + db $19, $8, $16, $a + db $19, $10, $17, $a + db $19, $18, $35, $a + +Unknown_1169a1: ; 1169a1 + db $f + db $1, $0, $1, $a + db $1, $8, $2, $d + db $1, $10, $3, $d + db $1, $18, $4, $d + db $9, $0, $11, $a + db $9, $8, $12, $a + db $9, $10, $13, $a + db $9, $18, $14, $d + db $11, $0, $25, $a + db $11, $8, $26, $a + db $11, $10, $27, $a + db $11, $18, $34, $a + db $19, $8, $36, $a + db $19, $10, $37, $a + db $19, $18, $35, $a + +Unknown_1169de: ; 1169de + db $f + db $0, $0, $1, $a + db $0, $8, $2, $d + db $0, $10, $3, $d + db $0, $18, $4, $d + db $8, $0, $11, $a + db $8, $8, $12, $a + db $8, $10, $13, $a + db $8, $18, $14, $d + db $10, $0, $10, $a + db $10, $8, $20, $a + db $10, $10, $30, $a + db $10, $18, $24, $a + db $18, $0, $31, $a + db $18, $8, $32, $a + db $18, $10, $33, $a + +Unknown_116a1b: ; 116a1b + db $f + db $0, $0, $4, $2d + db $0, $8, $3, $2d + db $0, $10, $2, $2d + db $0, $18, $1, $2a + db $8, $0, $14, $2d + db $8, $8, $13, $2a + db $8, $10, $12, $2a + db $8, $18, $11, $2a + db $10, $0, $24, $2a + db $10, $8, $23, $2a + db $10, $10, $22, $2a + db $10, $18, $21, $2a + db $18, $8, $33, $2a + db $18, $10, $32, $2a + db $18, $18, $31, $2a + +Unknown_116a58: ; 116a58 + db $10 + db $1, $0, $4, $2d + db $1, $8, $3, $2d + db $1, $10, $2, $2d + db $1, $18, $1, $2a + db $9, $0, $14, $2d + db $9, $8, $13, $2a + db $9, $10, $12, $2a + db $9, $18, $11, $2a + db $11, $0, $34, $2a + db $11, $8, $7, $2a + db $11, $10, $6, $2a + db $11, $18, $5, $2a + db $19, $0, $35, $2a + db $19, $8, $17, $2a + db $19, $10, $16, $2a + db $19, $18, $15, $2a + +Unknown_116a99: ; 116a99 + db $f + db $1, $0, $4, $2d + db $1, $8, $3, $2d + db $1, $10, $2, $2d + db $1, $18, $1, $2a + db $9, $0, $14, $2d + db $9, $8, $13, $2a + db $9, $10, $12, $2a + db $9, $18, $11, $2a + db $11, $0, $34, $2a + db $11, $8, $27, $2a + db $11, $10, $26, $2a + db $11, $18, $25, $2a + db $19, $0, $35, $2a + db $19, $8, $37, $2a + db $19, $10, $36, $2a + +Unknown_116ad6: ; 116ad6 + db $f + db $0, $0, $4, $2d + db $0, $8, $3, $2d + db $0, $10, $2, $2d + db $0, $18, $1, $2a + db $8, $0, $14, $2d + db $8, $8, $13, $2a + db $8, $10, $12, $2a + db $8, $18, $11, $2a + db $10, $0, $24, $2a + db $10, $8, $30, $2a + db $10, $10, $20, $2a + db $10, $18, $10, $2a + db $18, $8, $33, $2a + db $18, $10, $32, $2a + db $18, $18, $31, $2a + +Unknown_116b13: ; 116b13 + db $10 + db $18, $0, $0, $b + db $18, $8, $8, $b + db $18, $10, $5c, $b + db $18, $18, $0, $b + db $10, $0, $0, $b + db $10, $8, $5d, $b + db $10, $10, $5e, $b + db $10, $18, $0, $b + db $8, $0, $50, $b + db $8, $8, $51, $b + db $8, $10, $52, $b + db $8, $18, $50, $2b + db $0, $0, $43, $b + db $0, $8, $44, $b + db $0, $10, $44, $2b + db $0, $18, $43, $2b + +Unknown_116b54: ; 116b54 + db $10 + db $19, $0, $0, $b + db $19, $8, $18, $b + db $19, $10, $c, $b + db $19, $18, $0, $b + db $11, $0, $42, $b + db $11, $8, $3a, $b + db $11, $10, $3a, $2b + db $11, $18, $42, $2b + db $9, $0, $58, $b + db $9, $8, $45, $b + db $9, $10, $45, $2b + db $9, $18, $58, $2b + db $1, $0, $d, $b + db $1, $8, $44, $b + db $1, $10, $44, $2b + db $1, $18, $d, $2b + +Unknown_116b95: ; 116b95 + db $10 + db $18, $0, $0, $b + db $18, $8, $5c, $2b + db $18, $10, $8, $2b + db $18, $18, $0, $b + db $10, $0, $0, $b + db $10, $8, $5e, $2b + db $10, $10, $5d, $2b + db $10, $18, $0, $b + db $8, $0, $50, $b + db $8, $8, $52, $2b + db $8, $10, $51, $2b + db $8, $18, $50, $2b + db $0, $0, $43, $b + db $0, $8, $44, $b + db $0, $10, $44, $2b + db $0, $18, $43, $2b + +Unknown_116bd6: ; 116bd6 + db $10 + db $18, $0, $0, $a + db $18, $8, $56, $a + db $18, $10, $57, $a + db $18, $18, $0, $a + db $10, $0, $64, $a + db $10, $8, $4a, $a + db $10, $10, $4b, $a + db $10, $18, $71, $a + db $8, $0, $54, $a + db $8, $8, $55, $a + db $8, $10, $55, $2a + db $8, $18, $54, $2a + db $0, $0, $48, $a + db $0, $8, $49, $a + db $0, $10, $49, $2a + db $0, $18, $48, $2a + +Unknown_116c17: ; 116c17 + db $10 + db $19, $0, $0, $a + db $19, $8, $76, $a + db $19, $10, $77, $a + db $19, $18, $0, $a + db $11, $0, $64, $a + db $11, $8, $69, $a + db $11, $10, $6a, $a + db $11, $18, $6b, $a + db $9, $0, $6f, $a + db $9, $8, $70, $a + db $9, $10, $70, $2a + db $9, $18, $6f, $2a + db $1, $0, $63, $a + db $1, $8, $19, $a + db $1, $10, $19, $2a + db $1, $18, $63, $2a + +Unknown_116c58: ; 116c58 + db $10 + db $1a, $0, $6c, $a + db $1a, $8, $6d, $a + db $1a, $10, $6e, $a + db $1a, $18, $0, $a + db $12, $0, $5f, $a + db $12, $8, $60, $a + db $12, $10, $61, $a + db $12, $18, $62, $a + db $a, $0, $53, $a + db $a, $8, $55, $a + db $a, $10, $55, $2a + db $a, $18, $53, $2a + db $2, $0, $46, $a + db $2, $8, $47, $a + db $2, $10, $47, $2a + db $2, $18, $46, $2a + +Unknown_116c99: ; 116c99 + db $10 + db $19, $0, $0, $2a + db $19, $8, $77, $2a + db $19, $10, $76, $2a + db $19, $18, $0, $2a + db $11, $0, $6b, $2a + db $11, $8, $6a, $2a + db $11, $10, $69, $2a + db $11, $18, $64, $2a + db $9, $0, $6f, $a + db $9, $8, $70, $a + db $9, $10, $70, $2a + db $9, $18, $6f, $2a + db $1, $0, $63, $a + db $1, $8, $19, $a + db $1, $10, $19, $2a + db $1, $18, $63, $2a + +Unknown_116cda: ; 116cda + db $10 + db $18, $0, $0, $a + db $18, $8, $57, $2a + db $18, $10, $56, $2a + db $18, $18, $0, $a + db $10, $0, $71, $2a + db $10, $8, $4b, $2a + db $10, $10, $4a, $2a + db $10, $18, $64, $2a + db $8, $0, $54, $a + db $8, $8, $55, $a + db $8, $10, $55, $2a + db $8, $18, $54, $2a + db $0, $0, $48, $a + db $0, $8, $49, $a + db $0, $10, $49, $2a + db $0, $18, $48, $2a + +Unknown_116d1b: ; 116d1b + db $c + db $0, $0, $38, $4a + db $0, $8, $39, $4a + db $0, $10, $39, $6a + db $0, $18, $38, $6a + db $8, $0, $28, $4a + db $8, $8, $29, $4a + db $8, $10, $29, $6a + db $8, $18, $28, $6a + db $10, $0, $9, $4d + db $10, $8, $19, $4a + db $10, $10, $19, $6a + db $10, $18, $9, $6d + +Unknown_116d4c: ; 116d4c + db $e + db $0, $8, $3b, $4a + db $0, $10, $3b, $6a + db $8, $0, $2a, $4a + db $8, $8, $2b, $4a + db $8, $10, $2b, $6a + db $8, $18, $2a, $6a + db $10, $0, $1a, $4a + db $10, $8, $1b, $4a + db $10, $10, $1b, $6a + db $10, $18, $1a, $6a + db $18, $0, $a, $4a + db $18, $8, $b, $4a + db $18, $10, $b, $6a + db $18, $18, $a, $6a + +Unknown_116d85: ; 116d85 + db $e + db $0, $0, $35, $2a + db $0, $8, $3c, $4a + db $0, $10, $3d, $4a + db $0, $18, $3e, $4a + db $8, $0, $2c, $4a + db $8, $8, $2d, $4a + db $8, $10, $2e, $4a + db $8, $18, $2f, $4a + db $10, $0, $1c, $4a + db $10, $8, $1d, $4a + db $10, $10, $1e, $4d + db $10, $18, $1f, $4d + db $18, $10, $e, $4d + db $18, $18, $f, $4a + +Unknown_116dbe: ; 116dbe + db $e + db $0, $0, $65, $4a + db $0, $8, $66, $4a + db $0, $10, $67, $4a + db $0, $18, $68, $4a + db $8, $8, $59, $4a + db $8, $10, $5a, $4a + db $8, $18, $5b, $4a + db $10, $0, $4c, $4a + db $10, $8, $4d, $4d + db $10, $10, $4e, $4d + db $10, $18, $4f, $4a + db $18, $0, $3f, $4d + db $18, $8, $40, $4d + db $18, $10, $41, $4d + +Unknown_116df7: ; 116df7 + db $e + db $0, $0, $3e, $6a + db $0, $8, $3d, $6a + db $0, $10, $3c, $6a + db $0, $18, $35, $a + db $8, $0, $2f, $6a + db $8, $8, $2e, $6a + db $8, $10, $2d, $6a + db $8, $18, $2c, $6a + db $10, $0, $1f, $6d + db $10, $8, $1e, $6d + db $10, $10, $1d, $6a + db $10, $18, $1c, $6a + db $18, $0, $f, $6a + db $18, $8, $e, $6d + +Unknown_116e30: ; 116e30 + db $e + db $0, $0, $68, $6a + db $0, $8, $67, $6a + db $0, $10, $66, $6a + db $0, $18, $65, $6a + db $8, $0, $5b, $6a + db $8, $8, $5a, $6a + db $8, $10, $59, $6a + db $10, $0, $4f, $6a + db $10, $8, $4e, $6d + db $10, $10, $4d, $6d + db $10, $18, $4c, $6a + db $18, $8, $41, $6d + db $18, $10, $40, $6d + db $18, $18, $3f, $6d + +Unknown_116e69: ; 116e69 + db $c + db $8, $0, $9, $d + db $8, $8, $19, $a + db $8, $10, $19, $2a + db $8, $18, $9, $2d + db $10, $0, $28, $a + db $10, $8, $29, $a + db $10, $10, $29, $2a + db $10, $18, $28, $2a + db $18, $0, $38, $a + db $18, $8, $39, $a + db $18, $10, $39, $2a + db $18, $18, $38, $2a + +Unknown_116e9a: ; 116e9a + db $e + db $0, $0, $a, $a + db $0, $8, $b, $a + db $0, $10, $b, $2a + db $0, $18, $a, $2a + db $8, $0, $1a, $a + db $8, $8, $1b, $a + db $8, $10, $1b, $2a + db $8, $18, $1a, $2a + db $10, $0, $2a, $a + db $10, $8, $2b, $a + db $10, $10, $2b, $2a + db $10, $18, $2a, $2a + db $18, $8, $3b, $a + db $18, $10, $3b, $2a + +Unknown_116ed3: ; 116ed3 + db $e + db $0, $10, $e, $d + db $0, $18, $f, $a + db $8, $0, $1c, $a + db $8, $8, $1d, $a + db $8, $10, $1e, $d + db $8, $18, $1f, $d + db $10, $0, $2c, $a + db $10, $8, $2d, $a + db $10, $10, $2e, $a + db $10, $18, $2f, $a + db $18, $0, $35, $6a + db $18, $8, $3c, $a + db $18, $10, $3d, $a + db $18, $18, $3e, $a + +Unknown_116f0c: ; 116f0c + db $e + db $0, $0, $3f, $d + db $0, $8, $40, $d + db $0, $10, $41, $d + db $8, $0, $4c, $a + db $8, $8, $4d, $d + db $8, $10, $4e, $d + db $8, $18, $4f, $a + db $10, $8, $59, $a + db $10, $10, $5a, $a + db $10, $18, $5b, $a + db $18, $0, $65, $a + db $18, $8, $66, $a + db $18, $10, $67, $a + db $18, $18, $68, $a + +Unknown_116f45: ; 116f45 + db $e + db $0, $0, $f, $2a + db $0, $8, $e, $2d + db $8, $0, $1f, $2d + db $8, $8, $1e, $2d + db $8, $10, $1d, $2a + db $8, $18, $1c, $2a + db $10, $0, $2f, $2a + db $10, $8, $2e, $2a + db $10, $10, $2d, $2a + db $10, $18, $2c, $2a + db $18, $0, $3e, $2a + db $18, $8, $3d, $2a + db $18, $10, $3c, $2a + db $18, $18, $35, $4a + +Unknown_116f7e: ; 116f7e + db $e + db $0, $8, $41, $2d + db $0, $10, $40, $2d + db $0, $18, $3f, $2d + db $8, $0, $4f, $2a + db $8, $8, $4e, $2d + db $8, $10, $4d, $2d + db $8, $18, $4c, $2a + db $10, $0, $5b, $2a + db $10, $8, $5a, $2a + db $10, $10, $59, $2a + db $18, $0, $68, $2a + db $18, $8, $67, $2a + db $18, $10, $66, $2a + db $18, $18, $65, $2a + +Unknown_116fb7: ; 116fb7 + db $d + db $fa, $0, $72, $a + db $fa, $8, $73, $d + db $fa, $10, $74, $d + db $fa, $18, $75, $d + db $2, $0, $81, $a + db $2, $8, $82, $a + db $2, $10, $83, $a + db $2, $18, $84, $a + db $a, $0, $91, $a + db $a, $8, $92, $a + db $a, $10, $93, $a + db $a, $18, $94, $a + db $12, $10, $a3, $a + +Unknown_116fec: ; 116fec + db $e + db $fd, $0, $85, $d + db $fd, $8, $86, $d + db $5, $0, $95, $d + db $5, $8, $96, $a + db $5, $10, $97, $a + db $5, $18, $98, $a + db $d, $0, $a5, $a + db $d, $8, $a6, $a + db $d, $10, $a7, $a + db $d, $18, $a8, $a + db $15, $0, $b3, $a + db $15, $8, $b4, $a + db $15, $10, $b5, $a + db $15, $18, $b6, $a + +Unknown_117025: ; 117025 + db $c + db $8, $0, $79, $d + db $8, $8, $7a, $d + db $8, $10, $7b, $a + db $8, $18, $7c, $a + db $10, $0, $89, $d + db $10, $8, $8a, $a + db $10, $10, $8b, $a + db $10, $18, $8c, $a + db $18, $0, $99, $a + db $18, $8, $9a, $a + db $18, $10, $9b, $a + db $18, $18, $9c, $a + +Unknown_117056: ; 117056 + db $b + db $8, $0, $7d, $a + db $8, $8, $7e, $d + db $8, $10, $7f, $d + db $8, $18, $80, $a + db $10, $0, $8d, $a + db $10, $8, $8e, $a + db $10, $10, $8f, $a + db $10, $18, $90, $a + db $18, $8, $9e, $a + db $18, $10, $9f, $a + db $18, $18, $a0, $a + +Unknown_117083: ; 117083 + db $f + db $0, $0, $a1, $a + db $0, $8, $a2, $a + db $0, $10, $a2, $2a + db $0, $18, $a1, $2a + db $8, $0, $b1, $a + db $8, $8, $b2, $d + db $8, $10, $b2, $2d + db $8, $18, $b1, $2a + db $10, $0, $ab, $a + db $10, $8, $ac, $a + db $10, $10, $ac, $2a + db $10, $18, $ab, $2a + db $18, $8, $a4, $a + db $18, $10, $87, $a + db $18, $18, $88, $a + +Unknown_1170c0: ; 1170c0 + db $f + db $0, $0, $a1, $a + db $0, $8, $a2, $d + db $0, $10, $a2, $2a + db $0, $18, $a1, $2a + db $8, $0, $b1, $a + db $8, $8, $78, $d + db $8, $10, $78, $2d + db $8, $18, $b1, $2a + db $10, $0, $ab, $a + db $10, $8, $ac, $a + db $10, $10, $ac, $2a + db $10, $18, $ab, $2a + db $18, $8, $a4, $a + db $18, $10, $87, $a + db $18, $18, $88, $a + +Unknown_1170fd: ; 1170fd + db $f + db $0, $0, $a9, $a + db $0, $8, $aa, $a + db $0, $10, $aa, $2a + db $0, $18, $a9, $2a + db $8, $0, $b7, $a + db $8, $8, $b8, $a + db $8, $10, $b8, $2a + db $8, $18, $b7, $2a + db $10, $0, $ab, $a + db $10, $8, $ac, $a + db $10, $10, $ac, $2a + db $10, $18, $ad, $a + db $18, $8, $a4, $a + db $18, $10, $ba, $a + db $18, $18, $bb, $a + +Unknown_11713a: ; 11713a + db $f + db $0, $0, $ae, $c + db $0, $8, $af, $c + db $0, $10, $af, $2c + db $0, $18, $ae, $2c + db $8, $0, $bc, $c + db $8, $8, $bd, $c + db $8, $10, $bd, $2c + db $8, $18, $bc, $2c + db $10, $0, $bf, $c + db $10, $8, $9d, $c + db $10, $10, $9d, $2c + db $10, $18, $b0, $c + db $18, $8, $b9, $c + db $18, $10, $c0, $c + db $18, $18, $be, $c + +Unknown_117177: ; 117177 + db $9 + db $14, $0, $1f, $6 + db $14, $8, $20, $6 + db $14, $10, $21, $6 + db $c, $0, $10, $6 + db $c, $8, $11, $6 + db $c, $10, $12, $6 + db $4, $0, $1, $6 + db $4, $8, $2, $6 + db $4, $10, $3, $6 + +Unknown_11719c: ; 11719c + db $9 + db $14, $0, $22, $6 + db $14, $8, $23, $6 + db $14, $10, $24, $6 + db $c, $0, $13, $6 + db $c, $8, $14, $6 + db $c, $10, $15, $6 + db $4, $0, $4, $6 + db $4, $8, $5, $6 + db $4, $10, $6, $6 + +Unknown_1171c1: ; 1171c1 + db $9 + db $14, $0, $25, $6 + db $14, $8, $26, $6 + db $14, $10, $27, $6 + db $c, $0, $16, $6 + db $c, $8, $17, $6 + db $c, $10, $18, $6 + db $4, $0, $7, $6 + db $4, $8, $8, $6 + db $4, $10, $9, $6 + +Unknown_1171e6: ; 1171e6 + db $9 + db $14, $0, $28, $6 + db $14, $8, $29, $6 + db $14, $10, $2a, $6 + db $c, $0, $19, $6 + db $c, $8, $1a, $6 + db $c, $10, $1b, $6 + db $4, $0, $a, $6 + db $4, $8, $b, $6 + db $4, $10, $c, $6 + +Unknown_11720b: ; 11720b + db $9 + db $14, $0, $2b, $6 + db $14, $8, $2c, $6 + db $14, $10, $2d, $6 + db $c, $0, $1c, $6 + db $c, $8, $1d, $6 + db $c, $10, $1e, $6 + db $4, $0, $d, $6 + db $4, $8, $e, $6 + db $4, $10, $f, $6 + +Unknown_117230: ; 117230 + db $9 + db $14, $0, $47, $6 + db $14, $8, $48, $6 + db $14, $10, $49, $6 + db $c, $0, $3b, $6 + db $c, $8, $3c, $6 + db $c, $10, $3b, $26 + db $4, $0, $2e, $6 + db $4, $8, $2f, $6 + db $4, $10, $30, $6 + +Unknown_117255: ; 117255 + db $9 + db $14, $0, $35, $6 + db $14, $8, $4a, $6 + db $14, $10, $35, $6 + db $c, $0, $3d, $6 + db $c, $8, $35, $6 + db $c, $10, $3d, $26 + db $4, $0, $31, $6 + db $4, $8, $32, $6 + db $4, $10, $31, $26 + +Unknown_11727a: ; 11727a + db $9 + db $14, $0, $4b, $6 + db $14, $8, $4c, $6 + db $14, $10, $4d, $6 + db $c, $0, $3e, $6 + db $c, $8, $3f, $6 + db $c, $10, $40, $6 + db $4, $0, $33, $6 + db $4, $8, $34, $6 + db $4, $10, $35, $6 + +Unknown_11729f: ; 11729f + db $9 + db $14, $0, $4e, $6 + db $14, $8, $4f, $6 + db $14, $10, $50, $6 + db $c, $0, $41, $6 + db $c, $8, $42, $6 + db $c, $10, $43, $6 + db $4, $0, $35, $6 + db $4, $8, $36, $6 + db $4, $10, $37, $6 + +Unknown_1172c4: ; 1172c4 + db $9 + db $14, $0, $51, $6 + db $14, $8, $52, $6 + db $14, $10, $35, $6 + db $c, $0, $44, $6 + db $c, $8, $45, $6 + db $c, $10, $46, $6 + db $4, $0, $38, $6 + db $4, $8, $39, $6 + db $4, $10, $3a, $6 + +Unknown_1172e9: ; 1172e9 + db $9 + db $10, $0, $0, $2 + db $10, $8, $0, $2 + db $10, $10, $0, $2 + db $8, $0, $0, $2 + db $8, $8, $0, $2 + db $c, $10, $1f, $6 + db $0, $0, $0, $2 + db $0, $8, $0, $2 + db $4, $10, $10, $6 +; 11730e + +Palette_11730e: + RGB 31, 31, 31 + RGB 7, 5, 4 + RGB 31, 28, 4 + RGB 31, 5, 5 + RGB 31, 31, 31 + RGB 7, 5, 4 + RGB 31, 23, 0 + RGB 31, 28, 4 + RGB 31, 31, 31 + RGB 16, 19, 31 + RGB 17, 31, 31 + RGB 31, 31, 31 + RGB 5, 5, 5 + RGB 7, 5, 4 + RGB 31, 28, 4 + RGB 19, 11, 6 + RGB 31, 31, 31 + RGB 3, 15, 31 + RGB 4, 25, 25 + RGB 0, 7, 12 + RGB 31, 31, 31 + RGB 0, 16, 0 + RGB 0, 16, 0 + RGB 0, 16, 0 + RGB 4, 11, 22 + RGB 0, 16, 0 + RGB 0, 16, 0 + RGB 0, 16, 0 + RGB 22, 11, 8 + RGB 0, 16, 0 + RGB 0, 16, 0 + RGB 0, 16, 0 + +Palette_11734e: + RGB 31, 30, 30 + RGB 2, 0, 0 + RGB 10, 9, 9 + RGB 15, 14, 14 + +Unknown_117356: +INCBIN "baserom.gbc", $117356, $117656 - $117356 + + +SECTION "Mobile Stadium", ROMX, BANK[$45] + +Function117656: ; 117656 + callba GiveOddEgg + ret +; 11765d + +Function11765d: ; 11765d (45:765d) + ld a, [$ffaa] + push af + ld a, $1 + ld [$ffaa], a + call Function11766b + pop af + ld [$ffaa], a + ret + +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, wcd49 + ld bc, $8 + call CopyBytes + ld de, wc708 + ld bc, $11 + call CopyBytes + call CloseSRAM + pop af + ld [rSVBK], a ; $ff00+$70 + ret + +Function117699: ; 117699 (45:7699) + ld a, $5 + call GetSRAMBank + ld hl, wcd49 + ld de, $b1f3 + ld bc, $8 + call CopyBytes + ld hl, wc708 + ld bc, $11 + call CopyBytes + call CloseSRAM + xor a + ld [wcd49], a + ld [wcd4a], a + ld [wcd4b], a + ld [wcd4c], a + ld [wcd4d], a + ld [wcd4e], a + ld [wcd4f], a + ld hl, wc708 + ld bc, $11 + call ByteFill + call WhiteBGMap + call ClearSprites + callba Function171c87 + callba Function104061 + callba Function8cf53 + ret + +Function1176ee: ; 1176ee (45:76ee) + call Functiona57 + ld a, [wcd49] + bit 7, a + jr nz, .asm_117709 + call Function117719 + callba Function8cf69 + callba Function104061 + jr Function1176ee +.asm_117709 + callba Function8cf53 + call WhiteBGMap + call ClearScreen + call ClearSprites + ret + +Function117719: ; 117719 (45:7719) + ld a, [wcd49] + ld e, a + ld d, 0 + ld hl, Jumptable_117728 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] + +Jumptable_117728: ; 117728 (45:7728) + dw Function117738 + dw Function117764 + dw Function1178aa + dw Function1178e8 + dw Function117942 + dw Function117976 + dw Function117984 + dw Function1179a7 + + +Function117738: ; 117738 (45:7738) + callba Function171ccd + lb de, $30, $18 + ld a, $1d + call Function3b2a + ld hl, $c + add hl, bc + ld a, $6 + ld [hl], a + lb de, $48, $20 + ld a, $1d + call Function3b2a + ld hl, $c + add hl, bc + ld a, $7 + ld [hl], a + ld a, $3 + ld [wcd23], a + jp Function117a0a + +Function117764: ; 117764 (45:7764) + ld a, [wcd4a] + cp $10 + jr nz, .asm_11776f + ld a, $1 + jr .asm_117770 +.asm_11776f + xor a +.asm_117770 + ld [wcd24], 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 + +Function1177a5: ; 1177a5 (45:77a5) + callba Function171cf0 + ret + +Function1177ac: ; 1177ac (45:77ac) + ld a, $2 + ld [wcd4c], a + ld a, $4 + ld [wcd4d], a + ret + +Function1177b7: ; 1177b7 (45:77b7) + ld a, $3 + ld [wcd24], a + ld a, [wcd4a] + and a + jr z, .asm_1177c5 + jp Function117a0a +.asm_1177c5 + ld a, $6 + ld [wcd49], a + ret + +Function1177cb: ; 1177cb (45:77cb) + ld a, $80 + ld [wcd49], a + ld [ScriptVar], a + jp Function117a0a +asm_1177d6: ; 1177d6 (45:77d6) + call PlayClickSFX + ld a, [wcd4a] + and a + ret z + dec a + ld [wcd4a], a + ld e, a + ld d, $0 + ld hl, wc708 + add hl, de + xor a + ld [hl], a + hlcoord 2, 4 + add hl, de + ld [hl], a + ret +asm_1177f1: ; 1177f1 (45:77f1) + ld a, [wcd4d] + and a + ret z + dec a + ld [wcd4d], a + cp $3 + ret nz + ld a, [wcd4c] + ld e, a + sla a + sla a + add e +asm_117806: ; 117806 (45:7806) + ld [wcd4c], a + ret +asm_11780a: ; 11780a (45:780a) + ld a, [wcd4d] + cp $4 + ret z + inc a + ld [wcd4d], a + cp $4 + ret nz + ld a, [wcd4c] + 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 + +Function11782d: ; 11782d (45:782d) + ld a, [wcd4c] + and a + ret z + dec a + ld [wcd4c], a + ret + +Function117837: ; 117837 (45:7837) + ld e, $d + ld a, [wcd4d] + cp $4 + jr nz, .asm_117842 + ld e, $2 +.asm_117842 + ld a, [wcd4c] + cp e + ret z + inc a + ld [wcd4c], a + ret + +Function11784c: ; 11784c (45:784c) + call PlayClickSFX + ld a, [wcd4d] + cp $4 + jr nz, .asm_117866 + ld a, [wcd4c] + cp $2 + jp z, Function1177b7 + cp $1 + jp z, Function1177cb + jp Function1177a5 +.asm_117866 + ld a, [wcd4a] + ld e, a + cp $10 + jp z, Function1177ac + inc a + ld [wcd4a], a + ld d, $0 + ld a, [wcd4b] + and a + jr nz, .asm_117880 + ld hl, Unknown_117a0f + jr .asm_117883 +.asm_117880 + ld hl, Unknown_117a47 +.asm_117883 + push de + ld a, [wcd4c] + ld b, a + ld a, [wcd4d] + ld c, $e + call SimpleMultiply + add b + ld c, a + ld b, $0 + add hl, bc + ld a, [hl] + ld hl, wc708 + add hl, de + ld [hl], a + pop de + hlcoord 2, 4 + add hl, de + sub $20 + ld [hl], a + ld a, e + cp $f + ret nz + jp Function1177ac + +Function1178aa: ; 1178aa (45:78aa) + ld hl, MenuDataHeader_1179b5 + call LoadMenuDataHeader + call Function1cbb + call Function1cfd + ld hl, MenuDataHeader_1179bd + call LoadMenuDataHeader + call Function1cbb + call Function1cfd + callba Function104061 + hlcoord 16, 8 + ld de, String_1179c5 + call PlaceString + hlcoord 15, 10 + ld a, $ed + ld [hl], a + hlcoord 1, 14 + ld de, String_1179cc + call PlaceString + ld a, $1 + ld [wcd4e], a + jp Function117a0a + +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, [wcd4e] + and a + ret z + dec a + ld [wcd4e], a + hlcoord 15, 8 + ld a, $ed + ld [hl], a + hlcoord 15, 10 + ld a, $7f + ld [hl], a + ret +.asm_11790f + ld a, [wcd4e] + and a + ret nz + inc a + ld [wcd4e], a + hlcoord 15, 8 + ld a, $7f + ld [hl], a + hlcoord 15, 10 + ld a, $ed + ld [hl], a + ret +.asm_117925 + call PlayClickSFX + ld a, [wcd4e] + and a + jr nz, .asm_117939 + call Function1c07 + ld a, $1 + ld [wcd4f], a + jp Function117a0a +.asm_117939 + call Function1c07 + call Function1c07 + jp Function117a0a + +Function117942: ; 117942 (45:7942) + call SpeechTextBox + hlcoord 1, 14 + ld de, String_1179f7 + call PlaceString + ld a, $1e + ld [wcd4e], a + ld a, $5 + call GetSRAMBank + ld a, [wcd4f] + ld [$aa4b], a + ld hl, wc708 + ld de, $aa4c + ld bc, $11 + call CopyBytes + call CloseSRAM + ld a, [wcd4f] + and a + jr z, asm_11797e + call Function117a0a + +Function117976: ; 117976 (45:7976) + ld hl, wcd4e + dec [hl] + ret nz + call Function1c07 +asm_11797e: ; 11797e (45:797e) + ld a, $80 + ld [wcd49], a + ret + +Function117984: ; 117984 (45:7984) + ld hl, MenuDataHeader_1179b5 + call LoadMenuDataHeader + call Function1cbb + call Function1cfd + callba Function104061 + hlcoord 1, 14 + ld de, String_1179e1 + call PlaceString + ld a, $1e + ld [wcd4e], a + call Function117a0a + +Function1179a7: ; 1179a7 (45:79a7) + ld hl, wcd4e + dec [hl] + ret nz + call Function1c07 + ld a, $1 + ld [wcd49], a + ret +; 1179b5 (45:79b5) + +MenuDataHeader_1179b5: ; 1179b5 + db $40 ; flags + db 12, 0 ; start coords + db 17, 19 ; end coords + dw NULL + db 0 ; default option +; 1179bd + +MenuDataHeader_1179bd: ; 1179bd + db $40 ; flags + db 7, 14 ; start coords + db 11, 19 ; end coords + dw NULL + db 0 ; default option +; 1179c5 + + +String_1179c5: ; 1179c5 + db "はい" + next "いいえ@" +; 1179cc + +String_1179cc: ; 1179cc + db "こ", $25, "パスワード", $1f, "ほぞんして" + line "おきますか?@" +; 1179e1 + +String_1179e1: ; 1179e1 + db "パスワード", $4a, "にゅうりょく" + line "されていません!@" +; 1179f7 + +String_1179f7: ; 1179f7 + db "ログインパスワード", $1f, "ほぞん" + line "しました@" +; 117a0a + +Function117a0a: ; 117a0a (45:7a0a) + ld hl, wcd49 + inc [hl] + ret +; 117a0f (45:7a0f) + +Unknown_117a0f: +INCBIN "data/mobile/ascii-alpha.txt" + +Unknown_117a47: +INCBIN "data/mobile/ascii-sym.txt" +; 117a7f + + +; 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 +MobileStudium: ; 0x117a7f + ld a, [$ffaa] + push af + ld a, $1 + ld [$ffaa], a + call Function117a8d + pop af + ld [$ffaa], a + ret +; 0x117a8d + +Function117a8d: ; 0x117a8d + call Function117a94 + call Function117acd + ret +; 0x117a94 + +Function117a94: ; 0x117a94 + xor a + ld [wcf63], a + ld [wcf64], a + ld [wcf65], a + ld [wcf66], a + call WhiteBGMap + call ClearSprites + callba Function172e78 + callba Function104000 + ret +; 0x117ab4 + +Function117ab4: ; 0x117ab4 + call WhiteBGMap + call ClearSprites + callba Function172e78 + callba Function172eb9 + callba Function104061 + ret +; 0x117acd + +Function117acd: ; 0x117acd + call Functiona57 + ld a, [wcf63] + bit 7, a + jr nz, .asm_117ae2 ; 0x117ad5 $b + call Function117ae9 + callba Function104000 + jr Function117acd +.asm_117ae2 + call WhiteBGMap + call ClearSprites + ret + +Function117ae9: ; 0x117ae9 + ld a, [wcf63] + ld e, a + ld d, $0 + ld hl, Pointers117af8 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] + +Pointers117af8: ; 0x117af8 + dw Function117b06 + dw Function117b14 + dw Function117b28 + dw Function117b31 + dw Function117b4f + dw Function117bb6 + dw Function117c4a + +Function117b06: + callba Function172eb9 + ld a, $10 + ld [wcf64], a + jp Function117cdd + +Function117b14: + ld hl, wcf64 + dec [hl] + ret nz + ld hl, Data117cbc + call LoadMenuDataHeader + call Function1cbb + call Function1cfd + jp Function117cdd + +Function117b28: + ld hl, MobileStadiumEntryText + call PrintText + jp Function117cdd + +Function117b31: + ld hl, Data117cc4 + call LoadMenuDataHeader + call Function1cbb + call Function1cfd + hlcoord 16, 8 + ld de, YesNo117ccc + call PlaceString + hlcoord 15, 8 + ld a, "▶" + ld [hl], a + jp Function117cdd + +Function117b4f: + ld a, [hJoyPressed] + cp $2 + jr z, .asm_117ba4 ; 0x117b53 $4f + cp $1 + jr z, .asm_117b8c ; 0x117b57 $33 + cp $80 + jr z, .asm_117b76 ; 0x117b5b $19 + cp $40 + ret nz + ld a, [wcf64] + and a + ret z + dec a + ld [wcf64], a + hlcoord 15, 8 + ld a, "▶" + ld [hl], a + hlcoord 15, 10 + ld a, " " + ld [hl], a + ret +.asm_117b76 + ld a, [wcf64] + and a + ret nz + inc a + ld [wcf64], a + hlcoord 15, 8 + ld a, " " + ld [hl], a + hlcoord 15, 10 + ld a, "▶" + ld [hl], a + ret +.asm_117b8c + call PlayClickSFX + ld a, [wcf64] + and a + jr nz, .asm_117ba4 ; 0x117b93 $f + call Function1c07 + call Function1c07 + callba Function104061 + jp Function117cdd +.asm_117ba4 + call Function1c07 + call Function1c07 + callba Function104061 + ld a, $80 + ld [wcf63], a + ret + +Function117bb6: + call Function117c89 + ld a, $1 + ld [hBGMapMode], a + callba Function118284 + call ClearSprites + ld a, [wc300] + and a + jr z, .asm_117be7 ; 0x117bca $1b + cp $a + jr z, .asm_117be1 ; 0x117bce $11 +.asm_117bd0 + ld a, $2 + ld [wc303], a + callba Function17f555 + ld a, $80 + ld [wcf63], a + ret +.asm_117be1 + ld a, $80 + ld [wcf63], a + ret +.asm_117be7 + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a + ld a, [wcd89] + and $1 + jr nz, .asm_117c16 ; 0x117bf3 $21 + ld a, [wd000] + cp $fe + jr nz, .asm_117c16 ; 0x117bfa $1a + ld a, [wd001] + cp $f + jr nz, .asm_117c16 ; 0x117c01 $13 + ld hl, wdfec + ld de, wcd69 + ld c, $10 +.asm_117c0b + ld a, [de] + inc de + cp [hl] + jr nz, .asm_117c16 ; 0x117c0e $6 + inc hl + dec c + jr nz, .asm_117c0b ; 0x117c12 $f7 + jr .asm_117c20 ; 0x117c14 $a +.asm_117c16 + pop af + ld [rSVBK], a + ld a, $d3 + ld [wc300], a + jr .asm_117bd0 ; 0x117c1e $b0 +.asm_117c20 + pop af + ld [rSVBK], a + callba Function172eb9 + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a + ld a, $7 + call GetSRAMBank + ld hl, DefaultFlypoint + ld de, $b000 + ld bc, $1000 + call CopyBytes + call CloseSRAM + pop af + ld [rSVBK], a + jp Function117cdd + +Function117c4a: + ld hl, Data117cbc + call LoadMenuDataHeader + call Function1cbb + call Function1cfd + callba Function104061 + ld hl, MobileStadiumSuccessText + call PrintText + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, wd000 + ld de, $0008 + ld c, $8 +.asm_117c71 + push hl + ld a, $ff + ld [hli], a + ld a, " " + ld [hl], a + pop hl + add hl, de + dec c + jr nz, .asm_117c71 ; 0x117c7b $f4 + call Function4b6 + pop af + ld [rSVBK], a + ld a, $80 + ld [wcf63], a + ret + +Function117c89: + ld a, $7 + call GetSRAMBank + ld l, $0 + ld h, l + ld de, $b000 + ld bc, $0ffc +.asm_117c97 + push bc + ld a, [de] + inc de + ld c, a + ld b, $0 + add hl, bc + pop bc + dec bc + ld a, b + or c + jr nz, .asm_117c97 ; 0x117ca2 $f3 + ld a, l + ld [wcd83], a + ld a, h + ld [wcd84], a + ld hl, $bfea + ld de, wcd69 + ld bc, $0010 + call CopyBytes + call CloseSRAM + ret + +Data117cbc: ; 0x117cbc + db $40, $0c, $00, $11, $13, $00, $00, $00 + +Data117cc4: ; 0x117cc4 + db $40, $07, $0e, $0b, $13, $00, $00, $00 ; XXX what is this + +YesNo117ccc: ; 0x117ccc + db "はい" + next "いいえ" + db "@" + +MobileStadiumEntryText: ; 0x117cd3 + TX_FAR _MobileStadiumEntryText + db "@" + +MobileStadiumSuccessText: ; 0x117cd8 + TX_FAR _MobileStadiumSuccessText + db "@" + +Function117cdd: ; 0x117cdd + ld hl, wcf63 + inc [hl] + ret + + +SECTION "bank46", ROMX, BANK[$46] + +Function118000: ; 118000 + ld a, $1 + ld [wcd38], a + jr asm_11800b + +Function118007: ; 118007 + xor a + ld [wcd38], a + +asm_11800b + call Function1183cb + ld a, $18 + ld [wcd33], a + ld a, $19 + ld [wcd34], a + ld a, $4 + ld [wc3f0], a + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a +.asm_118024 + call Functiona57 + call Function118473 + ld a, [wcf66] + cp $1b + jr c, .asm_118037 + ld a, [wcd34] + ld [wcf66], a + +.asm_118037 + call Function1184a5 + call Function11a8fa + callba Function115dd3 + callba Function11619d + call DelayFrame + ld a, [wcf66] + ld hl, wcd33 + cp [hl] + jr nz, .asm_118024 + pop af + ld [rSVBK], a + call Function118452 + call Function222a +Function11805e: ; 11805e (46:405e) + ret +; 11805f + +Function11805f: ; 11805f + ld a, $1 + ld [wcd38], a + call Function1183cb + ld a, $18 + ld [wcd33], a + ld a, $19 + ld [wcd34], a + ld a, $4 + ld [wc3f0], a + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a +.asm_11807d + call Functiona57 + call Function118473 + ld a, [wcf66] + cp $1b + jr c, .asm_118090 + ld a, [wcd34] + ld [wcf66], a + +.asm_118090 + call Function11857c + call Function11a8fa + callba Function115dd3 + callba Function11619d + call DelayFrame + ld a, [wcf66] + ld hl, wcd33 + cp [hl] + jr nz, .asm_11807d + pop af + ld [rSVBK], a + call Function118452 + call Function222a + ret +; 1180b8 + +Function1180b8: ; 1180b8 + call Function1183cb + ld a, $22 + ld [wcd33], a + ld a, $23 + ld [wcd34], a + ld a, $4 + ld [wc3f0], a + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a +.asm_1180d1 + call Functiona57 + call Function118473 + ld a, [wcf66] + cp $28 + jr c, .asm_1180e4 + ld a, [wcd34] + ld [wcf66], a + +.asm_1180e4 + ld a, [wcf66] + cp $10 + jr c, .asm_1180f2 + cp $16 + jr nc, .asm_1180f2 + call Function11884c + +.asm_1180f2 + call Function1184ec + call Function11a8fa + callba Function115dd3 + callba Function11619d + call DelayFrame + ld a, [wcf66] + ld hl, wcd33 + cp [hl] + jr nz, .asm_1180d1 + pop af + ld [rSVBK], a + call Function118452 + call Function222a + ret +; 11811a + +Function11811a: ; 11811a + ld a, 1 + ld [wcd38], a + jr Function118125 + +Function118121: ; 118121 + xor a + ld [wcd38], a + +Function118125: ; 118125 + call Function1183cb + ld a, $3 + ld [wcd33], a + ld a, $d + ld [wcd34], a + ld a, $4 + ld [wc3f0], a + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a +.asm_11813e + call Functiona57 + call Function118473 + ld a, [wcf66] + cp $f + jr c, .asm_118151 + ld a, [wcd34] + ld [wcf66], a + +.asm_118151 + call Function11854d + call Function11a8fa + callba Function115dd3 + callba Function11619d + call DelayFrame + ld a, [wcf66] + ld hl, wcd33 + cp [hl] + jr nz, .asm_11813e + xor a + ld [Unkn1Pals], a + pop af + ld [rSVBK], a + call Function118452 + call Function118180 + call Function222a + ret +; 118180 + +Function118180: ; 118180 + ld a, [ScriptVar] + and a + ret nz + ld a, [wcd38] + and a + ret z + ld a, $5 + call GetSRAMBank + ld hl, wcd69 + ld de, $a89c + ld bc, $0016 + call CopyBytes + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a + ld de, $d202 + ld c, $96 + callba Function17d0b3 + jr c, .asm_1181d0 + ld de, $d202 + ld bc, $0196 + callba Function17d1e1 + jr c, .asm_1181d0 + ld hl, $d202 + ld de, $a8b2 + ld bc, $0096 + call CopyBytes +.asm_1181c9 + pop af + ld [rSVBK], a + call CloseSRAM + ret + +.asm_1181d0 + ld a, $d3 + ld [wc300], a + ld [ScriptVar], a + jr .asm_1181c9 +; 1181da + +Function1181da: ; 1181da + call Function1183cb + ld a, $2 + ld [wcd38], a + ld a, $21 + ld [wcd33], a + ld a, $22 + ld [wcd34], a + ld a, $4 + ld [wc3f0], a + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a +.asm_1181f8 + call Functiona57 + call Function118473 + ld a, [wcf66] + cp $28 + jr c, .asm_11820b + ld a, [wcd34] + ld [wcf66], a + +.asm_11820b + call Function1185c3 + call Function11a8fa + callba Function115dd3 + callba Function11619d + call DelayFrame + ld a, [wcf66] + ld hl, wcd33 + cp [hl] + jr nz, .asm_1181f8 + pop af + ld [rSVBK], a + call Function118452 + call Function222a + ret +; 118233 + +Function118233: ; 118233 + call Function1183cb + ld a, $1b + ld [wcd33], a + ld a, $1c + ld [wcd34], a + ld a, $6 + ld [wc3f0], a + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a +.asm_11824c + call Functiona57 + call Function118473 + ld a, [wcf66] + cp $1e + jr c, .asm_11825f + ld a, [wcd34] + ld [wcf66], a + +.asm_11825f + call Function118624 + call Function11a8fa + callba Function115dd3 + callba Function11619d + call DelayFrame + ld a, [wcf66] + ld hl, wcd33 + cp [hl] + jr nz, .asm_11824c + pop af + ld [rSVBK], a + call Function118452 + ret +; 118284 + +Function118284: ; 118284 + call Function1183cb + ld a, $19 + ld [wcd33], a + ld a, $1e + ld [wcd34], a + ld a, $5 + ld [wc3f0], a + ld a, [rSVBK] ; $ff00+$70 + push af + ld a, $3 + ld [rSVBK], a ; $ff00+$70 +.asm_11829d + call Functiona57 + call Function118473 + ld a, [wcf66] + cp $20 + jr c, .asm_1182b0 + ld a, [wcd34] + ld [wcf66], a +.asm_1182b0 + call Function1186f5 + call Function11a8fa + callba Function115dd3 + callba Function11619d + call DelayFrame + ld a, [wcf66] + ld hl, wcd33 + cp [hl] + jr nz, .asm_11829d + pop af + ld [rSVBK], a ; $ff00+$70 + call Function118452 + ret +; 1182d5 (46:42d5) + + +Function1182d5: ; 1182d5 + call Function1183cb + ld a, $18 + ld [wcd33], a + ld a, $19 + ld [wcd34], a + ld a, $4 + ld [wc3f0], a + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a +.asm_1182ee + call Functiona57 + call Function118473 + ld a, [wcf66] + cp $1b + jr c, .asm_118301 + ld a, [wcd34] + ld [wcf66], a + +.asm_118301 + call Function118746 + call Function11a8fa + callba Function115dd3 + callba Function11619d + call DelayFrame + ld a, [wcf66] + ld hl, wcd33 + cp [hl] + jr nz, .asm_1182ee + pop af + ld [rSVBK], a + call Function118452 + call Function222a + ret +; 118329 + +Function118329: ; 118329 + call Function1183cb + ld a, $15 + ld [wcd33], a + ld a, $16 + ld [wcd34], a + ld a, $6 + ld [wc3f0], a + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a +.asm_118342 + call Functiona57 + call Function118473 + ld a, [wcf66] + cp $18 + jr c, .asm_118355 + ld a, [wcd34] + ld [wcf66], a + +.asm_118355 + call Function118671 + call Function11a8fa + callba Function115dd3 + callba Function11619d + call DelayFrame + ld a, [wcf66] + ld hl, wcd33 + cp [hl] + jr nz, .asm_118342 + pop af + ld [rSVBK], a + call Function118452 + ret +; 11837a + +Function11837a: ; 11837a + call Function1183cb + ld a, $16 + ld [wcd33], a + ld a, $17 + ld [wcd34], a + ld a, $6 + ld [wc3f0], a + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a +.asm_118393 + call Functiona57 + call Function118473 + ld a, [wcf66] + cp $19 + jr c, .asm_1183a6 + ld a, [wcd34] + ld [wcf66], a + +.asm_1183a6 + call Function1186b2 + call Function11a8fa + callba Function115dd3 + callba Function11619d + call DelayFrame + ld a, [wcf66] + ld hl, wcd33 + cp [hl] + jr nz, .asm_118393 + pop af + ld [rSVBK], a + call Function118452 + ret +; 1183cb + +Function1183cb: ; 1183cb + di + ld a, [rIE] + ld [wcd32], a + call DoubleSpeed + xor a + ld [rIF], a + ld [wc300], a + ld [wc301], a + ld [wc302], a + ld [wcd80], a + ld [wcd65], a + ld [wcd66], a + ld [wcd67], a + ld [wcd68], a + ld [wc31a], a + ld [wcd89], a + ld [wcd8a], a + ld [wcd8b], a + ld [wc3ec], a + ld [wc3ed], a + ld [wc3ee], a + ld [wc3ef], a + ld hl, VramState + ld a, [hl] + ld [wcd7f], a + set 1, [hl] + ld a, $f + ld [rIE], a + ld a, $1 + ld [$ffc9], a + ld [$ffe9], a + ei + callba Function106462 + callba Function106464 + callba Function115d99 + callba Function11615a + ld a, $5 + call GetSRAMBank + xor a + ld [$bfff], a + call CloseSRAM + ret +; 118440 + +Function118440: ; 118440 + push af + ld a, $5 + call GetSRAMBank + ld a, [$bfff] + inc a + ld [$bfff], a + call CloseSRAM + pop af + ret +; 118452 + +Function118452: ; 118452 + di + xor a + ld [$ffc9], a + ld [$ffe9], a + ld [hVBlank], a + call NormalSpeed + xor a + ld [rIF], a + ld a, [wcd32] + ld [rIE], a + ei + ld a, [wcd7f] + ld [VramState], a + ld a, [wc300] + ld [ScriptVar], a + ret +; 118473 + +Function118473: ; 118473 + ld a, [wcd65] + and a + ret z + ld a, [wcd66] + inc a + ld [wcd66], a + cp $3c + ret nz + xor a + ld [wcd66], a + ld a, [wcd67] + inc a + ld [wcd67], a + cp $3c + ret nz + ld a, [wcd68] + inc a + ld [wcd68], a + cp $63 + jr z, .asm_1184a0 + xor a + ld [wcd67], a + ret + +.asm_1184a0 + xor a + ld [wcd65], a + ret +; 1184a5 + +Function1184a5: ; 1184a5 + ld a, [wcf66] + ld e, a + ld d, 0 + ld hl, Jumptable_1184b4 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 1184b4 + +Jumptable_1184b4: ; 1184b4 + dw Function11886e + dw Function118880 + dw Function11878d + dw Function1188b0 + dw Function11878d + dw Function1188b8 + dw Function11878d + dw Function1188c0 + dw Function11878d + dw Function1188c8 + dw Function11878d + dw Function118903 + dw Function118a8f + dw Function11878d + dw Function118d80 + dw Function118d9b + dw Function11878d + dw Function118ded + dw Function118e6d + dw Function11878d + dw Function11984e + dw Function118e76 + dw Function118e7e + dw Function11878d + dw Function11805e + dw Function118e76 + dw Function118e87 + dw Function118e76 +; 1184ec + +Function1184ec: ; 1184ec + ld a, [wcf66] + ld e, a + ld d, 0 + ld hl, Jumptable_1184fb + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 1184fb + +Jumptable_1184fb: ; 1184fb + dw Function11886e + dw Function118880 + dw Function11878d + dw Function1188b0 + dw Function11878d + dw Function1188b8 + dw Function11878d + dw Function1188c0 + dw Function11878d + dw Function1188c8 + dw Function11878d + dw Function118903 + dw Function119954 + dw Function11878d + dw Function119973 + dw Function11878d + dw Function119987 + dw Function11878d + dw Function1199b4 + dw Function1199ca + dw Function11878d + dw Function1199e2 + dw Function119b0d + dw Function11878d + dw Function119b6b + dw Function119b3b + dw Function11878d + dw Function119b52 + dw Function11878d + dw Function118e6d + dw Function11878d + dw Function118e76 + dw Function118e7e + dw Function11878d + dw Function11805e + dw Function118e76 + dw Function118e87 + dw Function119b45 + dw Function11878d + dw Function119ac9 + dw Function118e76 +; 11854d + +Function11854d: ; 11854d + ld a, [wcf66] + ld e, a + ld d, 0 + ld hl, Jumptable_11855c + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 11855c + +Jumptable_11855c: ; 11855c + dw Function118922 + dw Function118936 + dw Function118982 + dw Function11805e + dw Function119ca2 + dw Function119cab + dw Function119cb8 + dw Function119cc3 + dw Function119cdf + dw Function119cec + dw Function119c97 + dw Function119cab + dw Function119cb8 + dw Function118e76 + dw Function118e87 + dw Function118e76 +; 11857c + +Function11857c: ; 11857c + ld a, [wcf66] + ld e, a + ld d, 0 + ld hl, Jumptable_11858b + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 11858b + +Jumptable_11858b: ; 11858b + dw Function11886e + dw Function118880 + dw Function11878d + dw Function1188b0 + dw Function11878d + dw Function1188b8 + dw Function11878d + dw Function1188c0 + dw Function11878d + dw Function1188c8 + dw Function11878d + dw Function118903 + dw Function118a7a + dw Function11878d + dw Function11891c + dw Function1198ee + dw Function1198f7 + dw Function11878d + dw Function119937 + dw Function118e6d + dw Function11878d + dw Function118e76 + dw Function118e7e + dw Function11878d + dw Function11805e + dw Function118e76 + dw Function118e87 + dw Function118e76 +; 1185c3 + +Function1185c3: ; 1185c3 + ld a, [wcf66] + ld e, a + ld d, 0 + ld hl, Jumptable_1185d2 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 1185d2 + +Jumptable_1185d2: ; 1185d2 + dw Function11886e + dw Function118880 + dw Function11878d + dw Function1188b0 + dw Function11878d + dw Function1188b8 + dw Function11878d + dw Function1188c0 + dw Function11878d + dw Function1188c8 + dw Function11878d + dw Function118903 + dw Function118aa4 + dw Function11878d + dw Function118e92 + dw Function11878d + dw Function118eb0 + dw Function118ec6 + dw Function118f0d + dw Function118f14 + dw Function118f5e + dw Function11878d + dw Function118fc0 + dw Function11878d + dw Function119054 + dw Function1190d0 + dw Function11878d + dw Function1190ec + dw Function118e6d + dw Function11878d + dw Function118e76 + dw Function118e7e + dw Function11878d + dw Function11805e + dw Function118e76 + dw Function118e87 + dw Function119cc3 + dw Function119cdf + dw Function119cec + dw Function11914e + dw Function118e76 +; 118624 + +Function118624: ; 118624 + ld a, [wcf66] + ld e, a + ld d, 0 + ld hl, Jumptable_118633 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 118633 + +Jumptable_118633: ; 118633 + dw Function118866 + dw Function118880 + dw Function11878d + dw Function1188b0 + dw Function11878d + dw Function1188b8 + dw Function11878d + dw Function1188c0 + dw Function11878d + dw Function1188c8 + dw Function11878d + dw Function118903 + dw Function118aa4 + dw Function11878d + dw Function118e92 + dw Function11878d + dw Function11915d + dw Function118f68 + dw Function11878d + dw Function119009 + dw Function11878d + dw Function119054 + dw Function118e6d + dw Function11878d + dw Function118e76 + dw Function118e7e + dw Function11878d + dw Function11805e + dw Function118e76 + dw Function118e87 + dw Function118e76 +; 118671 + +Function118671: ; 118671 + ld a, [wcf66] + ld e, a + ld d, 0 + ld hl, Jumptable_118680 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 118680 + +Jumptable_118680: ; 118680 + dw Function118866 + dw Function118880 + dw Function11878d + dw Function1188b0 + dw Function11878d + dw Function1188b8 + dw Function11878d + dw Function1188c0 + dw Function11878d + dw Function1188c8 + dw Function11878d + dw Function118903 + dw Function119380 + dw Function119388 + dw Function1193a0 + dw Function11878d + dw Function118e6d + dw Function11878d + dw Function118e76 + dw Function118e7e + dw Function11878d + dw Function11805e + dw Function118e76 + dw Function118e87 + dw Function118e76 +; 1186b2 + +Function1186b2: ; 1186b2 + ld a, [wcf66] + ld e, a + ld d, 0 + ld hl, Jumptable_1186c1 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 1186c1 + +Jumptable_1186c1: ; 1186c1 + dw Function118866 + dw Function118880 + dw Function11878d + dw Function1188b0 + dw Function11878d + dw Function1188b8 + dw Function11878d + dw Function1188c0 + dw Function11878d + dw Function1188c8 + dw Function11878d + dw Function118903 + dw Function119380 + dw Function1193e3 + dw Function1193fb + dw Function11878d + dw Function119413 + dw Function118e6d + dw Function11878d + dw Function118e76 + dw Function118e7e + dw Function11878d + dw Function11805e + dw Function118e76 + dw Function118e87 + dw Function118e76 +; 1186f5 + +Function1186f5: ; 1186f5 (46:46f5) + ld a, [wcf66] + ld e, a + ld d, 0 + ld hl, Jumptable_118704 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 118704 (46:4704) + +Jumptable_118704: ; 118704 (46:4704) + dw Function11886a + dw Function118880 + dw Function11878d + dw Function1188b0 + dw Function11878d + dw Function1188b8 + dw Function11878d + dw Function1188c0 + dw Function11878d + dw Function1188c8 + dw Function11878d + dw Function118903 + dw Function118abc + dw Function11878d + dw Function119451 + dw Function1195f8 + dw Function119612 + dw Function119629 + dw Function119648 + dw Function11878d + dw Function118e6d + dw Function11878d + dw Function118e76 + dw Function118e7e + dw Function11878d + dw Function11805e + dw Function11967d + dw Function119685 + dw Function119665 + dw Function11966d + dw Function118e76 + dw Function118e87 + dw Function118e76 +; 118746 (46:4746) + +Function118746: ; 118746 + ld a, [wcf66] + ld e, a + ld d, 0 + ld hl, Jumptable_118755 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 118755 + +Jumptable_118755: ; 118755 + dw Function11886e + dw Function118880 + dw Function11878d + dw Function1188b0 + dw Function11878d + dw Function1188b8 + dw Function11878d + dw Function1188c0 + dw Function11878d + dw Function1188c8 + dw Function11878d + dw Function118903 + dw Function118ad0 + dw Function11878d + dw Function1196f2 + dw Function1197c9 + dw Function1197dc + dw Function11878d + dw Function118e6d + dw Function11878d + dw Function119800 + dw Function118e76 + dw Function118e7e + dw Function11878d + dw Function11805e + dw Function118e76 + dw Function118e87 + dw Function118e76 +; 11878d + +Function11878d: ; 11878d (46:478d) + ld a, [wc821] + bit 1, a + jr nz, .asm_1187af + bit 2, a + jr nz, .asm_1187d1 + bit 0, a + jr nz, .asm_1187aa + ld a, [wcd89] + and $1 + jr z, .asm_1187a7 + ld a, $3 + ld [rSVBK], a ; $ff00+$70 +.asm_1187a7 + jp Function119e2e +.asm_1187aa + call Function118821 + ret c + ret +.asm_1187af + ld a, $0 + call Function3e32 + ld [wc300], a + ld a, l + ld [wc301], a + ld a, h + ld [wc302], a + ld a, $a + call Function3e32 + ld a, [wc3f0] + ld [wc319], a + ld a, [wcd34] + ld [wcf66], a + ret +.asm_1187d1 + ld hl, wcd89 + bit 0, [hl] + jr nz, .asm_118803 + set 0, [hl] + ld a, $6 + ld [rSVBK], a ; $ff00+$70 + ld de, Unkn1Pals + ld bc, $1000 + ld a, [hl] + sla a + jr c, .asm_1187f9 + sla a + jr c, .asm_1187fd + sla a + jr c, .asm_1187f5 + ld a, $24 + jr .asm_1187ff +.asm_1187f5 + ld a, $28 + jr .asm_1187ff +.asm_1187f9 + ld a, $2a + jr .asm_1187ff +.asm_1187fd + ld a, $2c +.asm_1187ff + call Function3e32 + ret +.asm_118803 + ld a, $d3 + +Function118805: ; 118805 (46:4805) + ld [wc300], a + xor a + ld [wc301], a + ld [wc302], a + ld a, $a + call Function3e32 + ld a, [wc3f0] + ld [wc319], a + ld a, [wcd34] + ld [wcf66], a + ret + +Function118821: ; 118821 (46:4821) + ld a, [wc319] + cp $3 + jr c, .asm_11884a + cp $4 + jr z, .asm_11884a + ld a, [hJoyDown] ; $ff00+$a8 + cp $5 + jr nz, .asm_11884a + ld a, $a + call Function3e32 + ld a, $a + ld [wc300], a + ld a, [wc3f0] + ld [wc319], a + ld a, [wcd34] + ld [wcf66], a + scf + ret +.asm_11884a + and a + ret +; 11884c (46:484c) + +Function11884c: ; 11884c + ld a, [hJoyDown] + cp $5 + jr nz, .asm_118864 + ld a, $a + call Function3e32 + ld a, $a + ld [wc300], a + ld a, [wcd34] + ld [wcf66], a + scf + ret + +.asm_118864 + and a + ret +; 118866 + +Function118866: + ld a, 2 + jr asm_11886f + +Function11886a: ; 11886a (46:486a) + ld a, 1 + jr asm_11886f +; 11886e (46:486e) + +Function11886e: + xor a + +asm_11886f + ld [BGMapPalBuffer], a + ld a, $0 + ld [wcd3c], a + call Function119e2e + ld a, [wcd33] + ld [wcd45], a + +Function118880: ; 118880 (46:4880) + call Function119ed8 + ret c + xor a + ld [wcf64], a + ld [wc807], a + ld de, wcd81 + ld hl, $46 + ld a, $2 + jp Function119e2b +; 118896 (46:4896) + +Function118896: ; 118896 + ld a, [wc821] + bit 1, a + jr nz, .asm_1188a5 + bit 2, a + jr nz, .asm_1188a5 + bit 0, a + jr z, .asm_1188aa + +.asm_1188a5 + ld a, $34 + jp Function119e2b + +.asm_1188aa + call Function119e2e + jp Function119e2e +; 1188b0 + +Function1188b0: ; 1188b0 (46:48b0) + ld de, wc346 + ld a, $c + jp Function119e2b + +Function1188b8: ; 1188b8 (46:48b8) + ld de, wc3ac + ld a, $e + jp Function119e2b + +Function1188c0: ; 1188c0 (46:48c0) + ld de, wc3cd + ld a, $10 + jp Function119e2b + +Function1188c8: ; 1188c8 (46:48c8) + ld a, $1 + ld [wcd65], a + call Function1188e7 + ld hl, wc708 +.asm_1188d3 + ld a, [de] + inc de + ld [hli], a + and a + jr nz, .asm_1188d3 + call Function119eb4 + call Function119ec2 + ld hl, wc708 + ld a, $6 + jp Function119e2b + +Function1188e7: ; 1188e7 (46:48e7) + ld de, wc346 + ld a, $5 + call GetSRAMBank + ld a, [$aa4a] + call CloseSRAM + and a + ret z + sla a + ld c, a +.asm_1188fa + ld a, [de] + inc de + and a + jr nz, .asm_1188fa + dec c + jr nz, .asm_1188fa + ret + +Function118903: ; 118903 (46:4903) + ld a, [wc3f0] + ld [wc319], a + ld c, $1 + callba Function115e18 + ld a, $8 + ld [wcd3c], a + call Function119ed8 + jp Function119e2e +; 11891c (46:491c) + +Function11891c: ; 11891c + call Function118b42 + jp Function119e2e +; 118922 + +Function118922: ; 118922 + ld a, [wcd38] + and a + jr nz, .asm_11892d + ld hl, UnknownText_0x11aba5 + jr .asm_118930 + +.asm_11892d + ld hl, UnknownText_0x11abcb + +.asm_118930 + call Function11a9c0 + call Function119e2e + +Function118936: + ld a, [wc31a] + and a + ret nz + ld hl, MenuDataHeader_119cf7 + call LoadMenuDataHeader + call Function1cbb + call Function1cfd + call Function321c + hlcoord 16, 8, AttrMap + ld a, $40 + or [hl] + ld [hl], a + call Function3200 + ld a, $1 + ld [wcd4f], a + ld a, $1 + ld [rSVBK], a + ld a, [StatusFlags] + bit 6, a + jr nz, .asm_11896b + ld hl, Strings_119d64 + ld a, $5 + jr .asm_118970 + +.asm_11896b + ld hl, Strings_119d0c + ld a, $b + +.asm_118970 + ld [wcd4a], a + ld a, l + ld [wcd4b], a + ld a, h + ld [wcd4c], a + ld a, $3 + ld [rSVBK], a + call Function119e2e + +Function118982: + hlcoord 13, 8 + ld de, String_119d07 + call PlaceString + hlcoord 13, 10 + ld de, String_119d07 + call PlaceString + ld a, [wcd4b] + ld l, a + ld a, [wcd4c] + ld h, a + ld d, $0 + ld a, [wcd4f] + dec a + rlca + rlca + rlca + ld e, a + add hl, de + ld a, l + ld e, a + ld a, h + ld d, a + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld bc, StringBuffer3 +.asm_1189b5 + ld a, [hli] + cp $50 + jr z, .asm_1189c4 + cp $7f + jr z, .asm_1189c2 + ld [bc], a + inc bc + jr .asm_1189b5 + +.asm_1189c2 + ld a, $50 + +.asm_1189c4 + ld [bc], a + pop af + ld [rSVBK], a + hlcoord 13, 9 + call PlaceString + ld hl, hJoyPressed + ld a, [hl] + and $2 + jr nz, .asm_118a39 + ld a, [hl] + and $1 + jr nz, .asm_118a01 + ld a, [hl] + and $80 + jr nz, .asm_1189e6 + ld a, [hl] + and $40 + jr nz, .asm_1189f2 +.asm_1189e5 + ret + +.asm_1189e6 + ld hl, wcd4f + dec [hl] + jr nz, .asm_1189e5 + ld a, [wcd4a] + ld [hl], a + jr .asm_1189e5 + +.asm_1189f2 + ld a, [wcd4a] + ld hl, wcd4f + inc [hl] + cp [hl] + jr nc, .asm_1189e5 + ld a, $1 + ld [hl], a + jr .asm_1189e5 + +.asm_118a01 + call PlayClickSFX + ld a, [wcd4f] + ld hl, wcd4a + cp [hl] + jr z, .asm_118a3c + dec a + and $fe + srl a + ld [wcf65], a + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + call Function1c17 + pop af + ld [rSVBK], a + ld a, [wcd38] + and a + jr nz, .asm_118a30 + call Function119d93 + ret c + call Function119dd1 + ret c + +.asm_118a30 + ld a, [wcd4f] + ld [wd000 + $800], a + jp Function119e2e + +.asm_118a39 + call PlayClickSFX + +.asm_118a3c + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + call Function1c17 + pop af + ld [rSVBK], a + ld a, $7 + ld [wcf66], a + ld a, $0 + ld [wcd46], a + ret +; 118a54 + +Function118a54: ; 118a54 + ld a, [wcd55] + ld l, a + ld a, [wcd56] + ld h, a + ld de, wc3ec + ld bc, $0004 + jp Function118ae4 +; 118a65 + +Function118a65: ; 118a65 + ld hl, BattleDownloadURL + ld de, wcc60 + ld bc, $80 + call CopyBytes + ld de, Unkn1Pals + ld bc, $1000 + jp Function118b10 +; 118a7a + +Function118a7a: ; 118a7a + ld hl, BattleDownloadURL + ld de, wcc60 + ld bc, $80 + call CopyBytes + ld de, Unkn1Pals + ld bc, $1000 + jp Function118b10 +; 118a8f + +Function118a8f: ; 118a8f + ld hl, ExchangeDownloadURL + ld de, wcc60 + ld bc, $80 + call CopyBytes + ld de, Unkn1Pals + ld bc, $1000 + jp Function118b10 +; 118aa4 + +Function118aa4: ; 118aa4 + ld hl, NewsDownloadURL + ld de, wcc60 + ld bc, $80 + call CopyBytes + ld a, $5 + ld [rSVBK], a + ld de, LYOverrides + ld bc, $e00 + jr Function118b10 +; 118abc + +Function118abc: ; 118abc (46:4abc) + ld hl, MenuDownloadURL + ld de, wcc60 + ld bc, $80 + call CopyBytes + ld de, Unkn1Pals + ld bc, $1000 + jr Function118b10 +; 118ad0 (46:4ad0) + +Function118ad0: + ld hl, IndexDownloadURL + ld de, wcc60 + ld bc, $80 + call CopyBytes + ld de, Unkn1Pals + ld bc, $1000 + jr Function118b10 + +Function118ae4: + push bc + push de + push hl + ld a, $8 + ld [wcd3c], a + call Function119ed8 + pop hl + ld c, $0 + ld de, wcc60 +.asm_118af5 + ld a, [hli] + ld [de], a + inc de + and a + jr z, .asm_118b06 + inc c + ld a, c + cp $a6 + jr c, .asm_118af5 + ld a, $da + jp Function118805 + +.asm_118b06 + call Function118b24 + pop de + pop bc + ld a, $2a + jp Function119e2b +; 118b10 + +Function118b10: + push de + push bc + ld a, $8 + ld [wcd3c], a + call Function119ed8 + call Function118b24 + pop bc + pop de + ld a, $2a + jp Function119e2b + +Function118b24: ; 118b24 (46:4b24) + ld hl, wc346 + ld a, $8 + ld [hli], a + ld a, $c7 + ld [hli], a + ld a, $60 + ld [hli], a + ld a, $cc + ld [hli], a + call Function119eb4 + call Function119ec2 + ld a, $80 + ld [wcd89], a + ld hl, wc346 + ret +; 118b42 (46:4b42) + +Function118b42: ; 118b42 + ld hl, DefaultFlypoint + ld a, l + ld [wcd51], a + ld a, h + ld [wcd52], a + call Function118b8c + ld a, l + ld [wcd55], a + ld [wcd59], a + ld a, h + ld [wcd56], a + ld [wcd5a], a + call Function118b8c + ld a, l + ld [wcd53], a + ld [wcd5d], a + ld a, h + ld [wcd54], a + ld [wcd5e], a + call Function118b8c + ld a, l + ld [wcd57], a + ld [wcd5b], a + ld a, h + ld [wcd58], a + ld [wcd5c], a + call Function118b8c + ld a, l + ld [wcd5f], a + ld a, h + ld [wcd60], a + ret +; 118b8c + +Function118b8c: ; 118b8c +.asm_118b8c + call Function118b9a + ret nc + ld a, [hli] + cp $d + jr nz, .asm_118b8c + dec hl + xor a + ld [hli], a + ld [hli], a + ret +; 118b9a + +Function118b9a: ; 118b9a + ld a, h + cp $e0 + ret c + ld a, $d3 + call Function118805 + and a + ret +; 118ba5 + + + charmap " ", $20 ; revert to ascii + +ExchangeDownloadURL: ; 0x118ba5 + db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/exchange/index.txt", 0 + +BattleDownloadURL: ; 0x118bf7 + db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/battle/index.txt", 0 + +NewsDownloadURL: ; 0x118c47 + db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/news/index.txt", 0 + +MenuDownloadURL: ; 0x118c95 + db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/POKESTA/menu.cgb", 0 + +IndexDownloadURL: ; 0x118ce5 + db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/tamago/index.txt", 0 + + +Function118d35: ; 118d35 + ld hl, LYOverridesBackup + ld a, [wcd38] + and a + jr nz, .asm_118d6e + ld a, [hli] + cp $94 + jr nz, .asm_118d7b + ld a, [hl] + cp $5 + jr nz, .asm_118d7b + ld a, [wcd4f] + sla a + ld b, a + sla a + sla a + add b + ld b, a + ld a, $5 + call GetSRAMBank + ld a, b + ld [$b2fb], a + call CloseSRAM + callba Function170be4 + callba Function1700c4 + jr .asm_118d78 + +.asm_118d6e + ld a, [hli] + cp $96 + jr nz, .asm_118d7b + ld a, [hl] + cp $0 + jr nz, .asm_118d7b + +.asm_118d78 + jp Function119e2e + +.asm_118d7b + ld a, $d3 + jp Function118805 +; 118d80 + +Function118d80: ; 118d80 + call Function118e06 + ld a, [wcd38] + and a + jr z, .asm_118d8e + call Function119e2e + jr asm_118d9f + +.asm_118d8e + ld a, $9 + ld [wcd3c], a + ld a, $12 + ld [wcd45], a + call Function119e2e + +Function118d9b: + call Function119ed8 + ret c + +asm_118d9f + ld hl, $c608 + call Function119940 + ld a, [wcd38] + and a + jr nz, .asm_118db2 + ld a, $8f + ld [wcd3b], a + jr .asm_118db7 + +.asm_118db2 + ld a, $26 + ld [wcd3b], a + +.asm_118db7 + ld hl, $d800 + ld a, $8 + ld [hli], a + ld a, $c6 + ld [hli], a + ld a, [wcd3b] + ld [hli], a + xor a + ld [hli], a + ld a, $8 + ld [hli], a + ld a, $c7 + ld [hli], a + ld a, [wcd39] + ld [hli], a + ld a, [wcd3a] + ld [hli], a + call Function119eb4 + call Function119ec2 + ld a, $40 + ld [wcd89], a + ld hl, $d800 + ld de, $de00 + ld bc, $0200 + ld a, $2c + jp Function119e2b +; 118ded + +Function118ded: ; 118ded + ld a, [wcd38] + and a + jr z, .asm_118e03 + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + callba Function11b93b + pop af + ld [rSVBK], a + +.asm_118e03 + jp Function119e2e +; 118e06 + +Function118e06: ; 118e06 + ld hl, DefaultFlypoint + ld a, [wcd38] + and a + jr z, .asm_118e1d +.asm_118e0f + call Function118b9a + ret nc + ld a, [hli] + cp $d + jr nz, .asm_118e0f + ld a, [hli] + cp $a + jr nz, .asm_118e0f + +.asm_118e1d + ld a, l + ld [wcd39], a + ld a, h + ld [wcd3a], a +.asm_118e25 + call Function118b9a + ret nc + ld a, [hli] + cp $d + jr nz, .asm_118e25 + ld a, [hli] + cp $a + jr nz, .asm_118e25 + dec hl + xor a + ld [hld], a + ld [hl], a + jr asm_118e3e + +Function118e39: ; 118e39 (46:4e39) +.asm_118e39 + ld a, [hli] + and a + jr nz, .asm_118e39 + dec hl +asm_118e3e +.asm_118e3e + ld a, [hld] + cp $2f + jr nz, .asm_118e3e + inc hl + inc hl + ld de, wcd85 + ld c, $4 +.asm_118e4a + ld a, [hli] + cp $2e + jr z, .asm_118e63 + cp $30 + jr c, .asm_118e67 + cp $3a + jr nc, .asm_118e67 + sub $30 + add $f6 + ld [de], a + inc de + dec c + jr nz, .asm_118e4a + ld de, wcd85 +.asm_118e63 + ld a, $50 + ld [de], a + ret +.asm_118e67 + ld a, $f3 + ld [de], a + inc de + jr .asm_118e63 + +Function118e6d: ; 118e6d (46:4e6d) + xor a + ld [wcd65], a + ld a, $a + jp Function119e2b + +Function118e76: ; 118e76 (46:4e76) + ld a, $c + ld [wcd3c], a + jp Function119e2e + +Function118e7e: ; 118e7e (46:4e7e) + call Function119ed8 + ret c + ld a, $36 + jp Function119e2b + +Function118e87: ; 118e87 (46:4e87) + call Function119ed8 + ret c + ld a, [wcd33] + ld [wcf66], a + ret +; 118e92 (46:4e92) + +Function118e92: ; 118e92 + call Function118440 + call Function1191d3 + ld a, [wcd53] + ld l, a + ld a, [wcd54] + ld h, a + ld de, wcc60 + call Function1191ad + ret c + ld de, $d800 + ld bc, $0800 + jp Function118b10 +; 118eb0 + +Function118eb0: ; 118eb0 + call Function118440 + ld hl, $d802 + ld de, BGMapBuffer + ld bc, $000c + call CopyBytes + call Function1192cc + ret c + jp Function119e2e +; 118ec6 + +Function118ec6: ; 118ec6 + call Function118440 + call SpeechTextBox + ld hl, $d80e + ld de, wc320 + ld bc, $0026 + call CopyBytes + xor a + ld [wc31f], a + ld a, $20 + ld [wc31b], a + ld a, $c3 + ld [wc31c], a + hlcoord 1, 14 + ld a, l + ld [wc31d], a + ld a, h + ld [wc31e], a + ld a, $2 + ld [wc31a], a + ld a, $1d + ld [wcd3c], a + ld a, $24 + ld [wcd45], a + ld a, $11 + ld [wcd46], a + ld a, $1c + ld [wcd47], a + jp Function119e2e +; 118f0d + +Function118f0d: ; 118f0d + call Function119ed8 + ret c + call Function118440 + +Function118f14: + call Function118440 + ld a, [wcd51] + ld l, a + ld a, [wcd52] + ld h, a + ld de, wcc60 + call Function1191ad + ret c + ld a, [wcc60] + and a + jr z, .asm_118f32 + ld hl, UnknownText_0x11aa13 + call Function11a9c0 + +.asm_118f32 + ld a, [wcd57] + ld l, a + ld a, [wcd58] + ld h, a + ld de, wcc60 + call Function1191ad + ret c + ld hl, wcc60 + call Function118e39 + ld a, $9 + ld [wcd3c], a + ld a, $24 + ld [wcd45], a + ld a, $13 + ld [wcd46], a + ld a, $1c + ld [wcd47], a + jp Function119e2e +; 118f5e + +Function118f5e: ; 118f5e + call Function119ed8 + ret c + call Function118440 + call DelayFrame + +Function118f68: + call Function119223 + ret c + call Function118440 + ld a, [wcd51] + ld l, a + ld a, [wcd52] + ld h, a + ld de, wcc60 + call Function1191ad + ret c + ld a, [wcc60] + and a + jr z, .asm_118fba + ld hl, wc346 + ld a, $c608 % $100 + ld [hli], a + ld a, $c608 / $100 + ld [hli], a + ld a, [wcd4b] + ld [hli], a + ld a, [wcd4c] + ld [hli], a + ld a, wc708 % $100 + ld [hli], a + ld a, wc708 / $100 + ld [hli], a + ld a, $60 + ld [hli], a + ld a, $cc + ld [hli], a + call Function119eb4 + call Function119ec2 + ld a, $40 + ld [wcd89], a + ld hl, wc346 + ld de, $de00 + ld bc, $0200 + ld a, $2c + jp Function119e2b + +.asm_118fba + call Function119e2e + jp Function119e2e +; 118fc0 + +Function118fc0: ; 118fc0 + call Function118440 + ld a, [wcd55] + ld l, a + ld a, [wcd56] + ld h, a + ld de, wcc60 + call Function1191ad + ret c + ld a, [wcc60] + and a + jr z, .asm_118ffa + ld a, [wcd51] + ld l, a + ld a, [wcd52] + ld h, a + ld de, wcc60 + call Function1191ad + ret c + ld a, [wcc60] + and a + jr z, .asm_118ff2 + ld hl, UnknownText_0x11aa2c + jr .asm_118ff5 + +.asm_118ff2 + ld hl, UnknownText_0x11aa4b + +.asm_118ff5 + call Function11a9c0 + jr Function119009 + +.asm_118ffa + ld hl, UnknownText_0x11aa4b + call Function11a9c0 + call Function119e2e + call Function119e2e + jp Function119e2e + +Function119009: + call Function118440 + call Function119300 + ld a, [wcd55] + ld l, a + ld a, [wcd56] + ld h, a + ld de, wcc60 + call Function1191ad + ret c + ld hl, wc346 + ld a, $8 + ld [hli], a + ld a, $c6 + ld [hli], a + ld a, [wcd4b] + ld [hli], a + ld a, [wcd4c] + ld [hli], a + ld a, $8 + ld [hli], a + ld a, $c7 + ld [hli], a + ld a, $60 + ld [hli], a + ld a, $cc + ld [hli], a + call Function119eb4 + call Function119ec2 + ld a, $40 + ld [wcd89], a + ld hl, wc346 + ld de, Unkn1Pals + ld bc, $1000 + ld a, $2c + jp Function119e2b +; 119054 + +Function119054: ; 119054 + ld a, $6 + call GetSRAMBank + ld hl, DefaultFlypoint + ld a, [wcd4f] + ld e, a + ld a, [wcd50] + ld d, a + ld a, [Unkn1Pals] + ld c, a + ld a, [wd001] + ld b, a + call Function119192 + ret c + ld a, [wcd89] + and $1 + jr z, .asm_11908a + ld a, $6 + ld [rSVBK], a + ld hl, DefaultFlypoint + ld a, [Unkn1Pals] + ld c, a + ld a, [wd001] + ld b, a + call Function119192 + ret c + +.asm_11908a + call CloseSRAM + ld a, $3 + ld [rSVBK], a + ld a, $5 + call GetSRAMBank + ld a, [wcd4f] + ld [$b1b3], a + ld a, [wcd50] + ld [$b1b4], a + ld hl, BGMapBuffer + ld de, $aa7f + ld bc, $000c + call CopyBytes + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld a, [wd474] + ld [$b2f3], a + ld hl, wd475 + ld de, $b2f4 + ld bc, $0004 + call CopyBytes + pop af + ld [rSVBK], a + call CloseSRAM + jp Function119e2e +; 1190d0 + +Function1190d0: ; 1190d0 + ld a, $3 + ld [rSVBK], a + ld a, [wcd57] + ld l, a + ld a, [wcd58] + ld h, a + ld de, wcc60 + call Function1191ad + ret c + ld de, Unkn1Pals + ld bc, $1000 + jp Function118b10 +; 1190ec + +Function1190ec: ; 1190ec + ld a, $5 + call GetSRAMBank + ld hl, BGMapBuffer + ld de, $aa73 + ld bc, $000c + call CopyBytes + call CloseSRAM + ld a, $5 + call GetSRAMBank + ld a, $1 + ld [$aa72], a + call CloseSRAM + ld a, $6 + call GetSRAMBank + ld a, [Unkn1Pals] + ld c, a + ld a, [wd001] + ld b, a + ld hl, DefaultFlypoint + ld de, $a000 + call Function119192 + ret c + ld a, [wcd89] + and $1 + jr z, .asm_11913e + ld a, $6 + ld [rSVBK], a + ld a, [Unkn1Pals] + ld c, a + ld a, [wd001] + ld b, a + ld hl, DefaultFlypoint + call Function119192 + ret c + +.asm_11913e + ld a, $3 + ld [rSVBK], a + call CloseSRAM + ld hl, UnknownText_0x11aa5a + call Function11a9c0 + jp Function119e2e +; 11914e + +Function11914e: ; 11914e + call Function119ed8 + ret c + ld a, $1c + ld [wcf66], a + ld a, $a + ld [wc300], a + ret +; 11915d + +Function11915d: ; 11915d + ld hl, $d802 + ld de, BGMapBuffer + ld bc, $000c + call CopyBytes + ld a, $5 + call GetSRAMBank + ld hl, BGMapBuffer + ld de, $aa7f + ld c, $c +.asm_119176 + ld a, [de] + inc de + cp [hl] + jr nz, .asm_119184 + inc hl + dec c + jr nz, .asm_119176 + call Function119e2e + jr .asm_11918e + +.asm_119184 + ld a, $16 + ld [wcf66], a + ld a, $b + ld [wc300], a + +.asm_11918e + call CloseSRAM + ret +; 119192 + +Function119192: ; 119192 + inc b + inc c + jr .asm_11919e + +.asm_119196 + ld a, [hli] + ld [de], a + inc de + ld a, $bf + cp d + jr c, .asm_1191a6 + +.asm_11919e + dec c + jr nz, .asm_119196 + dec b + jr nz, .asm_119196 + and a + ret + +.asm_1191a6 + ld a, $d3 + call Function118805 + scf + ret +; 1191ad + +Function1191ad: ; 1191ad + push bc + ld c, $0 + ld a, $5 + ld [rSVBK], a +.asm_1191b4 + ld a, [hli] + ld [de], a + inc de + and a + jr z, .asm_1191cc + inc c + ld a, c + cp $a6 + jr c, .asm_1191b4 + ld a, $da + call Function118805 + ld a, $3 + ld [rSVBK], a + pop bc + scf + ret + +.asm_1191cc + ld a, $3 + ld [rSVBK], a + pop bc + and a + ret +; 1191d3 + +Function1191d3: ; 1191d3 + ld hl, wd102 + ld a, l + ld [wcd53], a + ld a, h + ld [wcd54], a + call Function11920f + ld a, l + ld [wcd51], a + ld a, [wcd4a] + ld a, h + ld [wcd52], a + call Function11920f + ld a, l + ld [wcd55], a + ld a, [wcd4a] + ld a, h + ld [wcd56], a + call Function11920f + ld a, [wcd49] + ld a, l + ld [wcd57], a + ld a, [wcd4a] + ld a, h + ld [wcd58], a + call Function11920f + ret +; 11920f + +Function11920f: ; 11920f +.asm_11920f + call Function118b9a + ret nc + ld a, [hli] + cp $d + jr nz, .asm_11920f + ld a, [hli] + cp $a + jr nz, .asm_11920f + dec hl + xor a + ld [hld], a + ld [hli], a + inc hl + ret +; 119223 + +Function119223: ; 119223 + xor a + ld [wcd4b], a + ld [wcd4c], a + ld a, $5 + call GetSRAMBank + ld hl, wc3cd + ld de, $b092 + ld bc, $001f + call CopyBytes + dec de + xor a + ld [de], a + ld hl, $d810 +.asm_119241 + ld a, [hli] + cp $50 + jr nz, .asm_119241 + ld a, [hli] + ld [wcd4f], a + ld a, [hli] + ld [wcd50], a + ld a, [hli] + ld [$b1b1], a + ld c, a + ld a, [hli] + ld [$b1b2], a + ld b, a + ld de, $b1d3 + call CopyBytes + call CloseSRAM + ld e, l + ld d, h + ld hl, $c608 +.asm_119266 + ld a, [de] + inc de + cp $ff + jr z, .asm_1192c2 + cp $fe + jr z, .asm_1192a5 + call GetSRAMBank + ld a, [de] + inc de + ld c, a + ld a, [de] + inc de + ld b, a + ld a, [de] + inc de + push de + push af + ld a, [wcd4b] + ld e, a + ld a, [wcd4c] + ld d, a + pop af +.asm_119286 + push af + ld a, [bc] + inc bc + ld [hli], a + inc de + pop af + dec a + jr nz, .asm_119286 + call CloseSRAM + ld a, e + ld [wcd4b], a + ld a, d + ld [wcd4c], a + pop de +.asm_11929b + and a + jr z, .asm_119266 + ld a, $d3 + call Function118805 + scf + ret + +.asm_1192a5 + ld a, [wcd4b] + ld c, a + ld a, [wcd4c] + ld b, a + ld a, [de] + inc de +.asm_1192af + push af + ld a, [de] + inc de + ld [hli], a + inc bc + pop af + dec a + jr nz, .asm_1192af + ld a, c + ld [wcd4b], a + ld a, b + ld [wcd4c], a + jr .asm_11929b + +.asm_1192c2 + ld a, e + ld [wcd4d], a + ld a, d + ld [wcd4e], a + and a + ret +; 1192cc + +Function1192cc: ; 1192cc + ld a, $5 + call GetSRAMBank + ld hl, $aa73 + ld de, $c608 + ld bc, $000c + call CopyBytes + call CloseSRAM + ld hl, $c608 + ld de, BGMapBuffer + ld c, $c +.asm_1192e8 + ld a, [de] + inc de + ld b, a + ld a, [hli] + cp b + jr nz, .asm_1192fe + dec c + jr nz, .asm_1192e8 + ld a, $1f + ld [wcd3c], a + ld a, $27 + ld [wcf66], a + scf + ret + +.asm_1192fe + and a + ret +; 119300 + +Function119300: ; 119300 + xor a + ld [wcd4b], a + ld [wcd4c], a + ld a, [wcd4d] + ld e, a + ld a, [wcd4e] + ld d, a + ld hl, $c608 + ld a, [wcd4b] + ld c, a + ld a, [wcd4c] + ld b, a +.asm_11931a + ld a, [de] + inc de + cp $50 + jr z, .asm_119324 + ld [hli], a + inc bc + jr .asm_11931a + +.asm_119324 + ld a, $3d + ld [hli], a + inc bc + ld a, c + ld [wcd4b], a + ld a, b + ld [wcd4c], a + ld a, [de] + inc de + call GetSRAMBank + ld a, [de] + inc de + ld c, a + ld a, [de] + inc de + ld b, a + ld a, [de] + inc de + push de + push af + ld a, [wcd4b] + ld e, a + ld a, [wcd4c] + ld d, a + pop af +.asm_119348 + push af + ld a, [bc] + and $f0 + swap a + call Function1197bf + ld [hli], a + inc de + ld a, [bc] + inc bc + and $f + call Function1197bf + ld [hli], a + inc de + pop af + dec a + jr nz, .asm_119348 + call CloseSRAM + ld a, e + ld [wcd4b], a + ld a, d + ld [wcd4c], a + pop de + ld a, [de] + cp $50 + jr z, .asm_11937f + ld a, [wcd4b] + ld c, a + ld a, [wcd4c] + ld b, a + ld a, $26 + ld [hli], a + inc bc + jr .asm_11931a + +.asm_11937f + ret +; 119380 + +Function119380: ; 119380 + ld a, $80 + ld [wcd49], a + jp Function119e2e +; 119388 + +Function119388: ; 119388 + ld hl, wcd49 + dec [hl] + ret nz + ld hl, wcc60 + call Function118e39 + ld a, $9 + ld [wcd3c], a + ld a, $10 + ld [wcd45], a + call Function119e2e + +Function1193a0: + call Function119ed8 + ret c + call DelayFrame + ld a, $8 + ld [wcd3c], a + call Function119ed8 + ld hl, wc346 + ld a, wd000 % $100 + ld [hli], a + ld a, wd000 / $100 + ld [hli], a + ld a, [wcd3b] + ld [hli], a + xor a + ld [hli], a + ld a, wc708 % $100 + ld [hli], a + ld a, wc708 / $100 + ld [hli], a + ld a, $60 + ld [hli], a + ld a, $cc + ld [hli], a + call Function119eb4 + call Function119ec2 + ld a, $40 + ld [wcd89], a + ld hl, wc346 + ld de, $de00 + ld bc, $0200 + ld a, $2c + jp Function119e2b +; 1193e3 + +Function1193e3: ; 1193e3 + ld hl, wcd49 + dec [hl] + ret nz + ld hl, wcc60 + call Function118e39 + ld a, $9 + ld [wcd3c], a + ld a, $11 + ld [wcd45], a + call Function119e2e + +Function1193fb: + call Function119ed8 + ret c + call DelayFrame + ld a, $8 + ld [wcd3c], a + call Function119ed8 + ld de, Unkn1Pals + ld bc, $1000 + jp Function118b10 +; 119413 + +Function119413: ; 119413 + ld a, $6 + call GetSRAMBank + ld a, [Unkn1Pals] + ld c, a + ld a, [wd001] + ld b, a + dec bc + dec bc + ld hl, wd002 + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + call Function119192 + ret c + ld a, [wcd89] + and $1 + jr z, .asm_119447 + ld a, $6 + ld [rSVBK], a + ld a, [wd000] + ld c, a + ld a, [wd001] + ld b, a + ld hl, wd002 + call Function119192 + ret c + +.asm_119447 + ld a, $3 + ld [rSVBK], a + call CloseSRAM + jp Function119e2e +; 119451 + +Function119451: ; 119451 (46:5451) + ld a, [wcd89] + and $1 + jr z, .asm_11945d + ld a, $d3 + jp Function118805 +.asm_11945d + xor a + ld [wcd50], a + call Function119694 + ld a, b + ld [wcd49], a + call Function1196cd + ld a, [DefaultFlypoint] + ld hl, wd003 + +Function119471: ; 119471 (46:5471) + push af + ld a, [hli] + ld [$c608], a + ld a, [hli] + ld [$c608 + 3], a + ld a, [hli] + ld [$c608 + 1], a + ld a, [hli] + ld [$c608 + 2], a + ld a, [hli] + ld [$c608 + 4], a + ld a, [hli] + ld [$c608 + 5], a ; $c608 + 5 + push hl + ld a, [$c608] + cp $ff + jr z, .asm_1194a7 + ld a, [$c608 + 2] + cp $ff + jr z, .asm_1194a7 + ld a, [$c608 + 1] + cp $ff + jr nz, .asm_1194a7 + call Function119584 + jr c, .asm_11950c + jr .asm_1194f0 +.asm_1194a7 + ld hl, $c608 + ld de, $c608 + 3 + ld c, $3 +.asm_1194af + ld a, [de] + inc de + cp [hl] + inc hl + jr c, .asm_1194f3 + jr z, .asm_1194b9 + jr nc, .asm_1194bc +.asm_1194b9 + dec c + jr nz, .asm_1194af +.asm_1194bc + ld c, $3 + ld hl, wcd49 + ld de, $c608 +.asm_1194c4 + ld a, [de] + inc de + cp $ff + jr z, .asm_1194d1 + cp [hl] + jr z, .asm_1194d1 + jr c, .asm_1194d5 + jr nc, .asm_1194f0 +.asm_1194d1 + inc hl + dec c + jr nz, .asm_1194c4 +.asm_1194d5 + ld c, $3 + ld hl, wcd49 + ld de, $c608 + 3 +.asm_1194dd + ld a, [de] + inc de + cp $ff + jr z, .asm_1194ea + cp [hl] + jr c, .asm_1194f0 + jr z, .asm_1194ea + jr nc, .asm_11950c +.asm_1194ea + inc hl + dec c + jr nz, .asm_1194dd + jr .asm_11950c +.asm_1194f0 + pop hl + jr .asm_119557 +.asm_1194f3 + ld c, $3 + ld hl, wcd49 + ld de, $c608 +.asm_1194fb + ld a, [de] + inc de + cp $ff + jr z, .asm_119508 + cp [hl] + jr c, .asm_11950c + jr z, .asm_119508 + jr nc, .asm_1194d5 +.asm_119508 + inc hl + dec c + jr nz, .asm_1194fb +.asm_11950c + pop hl + ld a, $1 + ld [wcd50], a + ld a, l + ld [$c608], a + ld a, h + ld [$c608 + 1], a + ld de, wcd69 + ld c, $10 + ld b, $0 +.asm_119521 + ld a, [de] + inc de + cp [hl] + inc hl + jr nz, .asm_119528 + inc b +.asm_119528 + dec c + jr nz, .asm_119521 + ld a, $10 + cp b + jr z, .asm_119536 + inc hl + inc hl + inc hl + inc hl + jr .asm_11957a +.asm_119536 + ld a, [hli] + cp $50 + jr nz, .asm_119552 + ld a, [hli] + cp $33 + jr nz, .asm_119553 + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [wcd83] + cp c + jr nz, .asm_119576 + ld a, [wcd84] + cp b + jr nz, .asm_119576 + jr .asm_11955b +.asm_119552 + inc hl +.asm_119553 + inc hl + inc hl + jr .asm_11955b +.asm_119557 + ld de, $14 + add hl, de +.asm_11955b + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + add hl, de + pop af + dec a + jp nz, Function119471 + ld a, [wcd50] + and a + jr z, .asm_119571 + ld a, $1a + ld [wcf66], a + ret +.asm_119571 + ld a, $d8 + jp Function118805 +.asm_119576 + ld a, $10 + jr .asm_11957c +.asm_11957a + ld a, $f +.asm_11957c + ld [wcf66], a + pop af + call Function1195c4 + ret + +Function119584: ; 119584 (46:5584) + ld a, [$c608] + ld b, a + ld a, [$c608 + 3] + ld c, a + cp b + jr c, .asm_11959c + ld a, [wcd49] + cp b + jr c, .asm_1195c2 +.asm_119595 + cp c + jr c, .asm_1195a2 + jr z, .asm_1195a2 + jr .asm_1195c2 +.asm_11959c + ld a, [wcd49] + cp b + jr c, .asm_119595 +.asm_1195a2 + ld a, [$c608 + 2] + ld b, a + ld a, [$c608 + 5] ; $c608 + 5 + ld c, a + cp b + jr c, .asm_1195ba + ld a, [wcd4b] + cp b + jr c, .asm_1195c2 +.asm_1195b3 + cp c + jr c, .asm_1195c0 + jr z, .asm_1195c0 + jr .asm_1195c2 +.asm_1195ba + ld a, [wcd4b] + cp b + jr c, .asm_1195b3 +.asm_1195c0 + scf + ret +.asm_1195c2 + and a + ret + +Function1195c4: ; 1195c4 (46:55c4) + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld de, $a5 + ld a, b + cp d + jr c, .asm_1195d9 + jr z, .asm_1195d3 + jr nc, .asm_1195f3 +.asm_1195d3 + ld a, c + cp e + jr z, .asm_1195d9 + jr nc, .asm_1195f3 +.asm_1195d9 + ld de, wcc60 + call CopyBytes + xor a + ld [de], a + ld a, [$c608] + ld l, a + ld a, [$c608 + 1] + ld h, a + ld de, wcd69 + ld bc, $10 + call CopyBytes + ret +.asm_1195f3 + ld a, $d8 + jp Function118805 + +Function1195f8: ; 1195f8 (46:55f8) + ld a, $11 + ld [wcd3c], a + ld a, $1c + ld [wcd45], a + ld a, $f + ld [wcd46], a + ld a, $14 + ld [wcd47], a + call Function119e2e + jp Function119e2e + +Function119612: ; 119612 (46:5612) + ld a, $14 + ld [wcd3c], a + ld a, $1c + ld [wcd45], a + ld a, $10 + ld [wcd46], a + ld a, $14 + ld [wcd47], a + jp Function119e2e + +Function119629: ; 119629 (46:5629) + call Function119ed8 + ret c + ld a, $60 + ld l, a + ld a, $cc + ld h, a + call Function118e39 + ld a, $9 + ld [wcd3c], a + ld a, $1c + ld [wcd45], a + ld a, $14 + ld [wcd47], a + call Function119e2e + +Function119648: ; 119648 (46:5648) + call Function119ed8 + ret c + call DelayFrame + ld a, $8 + ld [wcd3c], a + call Function119ed8 + call Function118b24 + ld de, Unkn1Pals + ld bc, $1000 + ld a, $2a + jp Function119e2b + +Function119665: ; 119665 (46:5665) + ld a, $1a + ld [wcd3c], a + call Function119e2e + +Function11966d: ; 11966d (46:566d) + call Function119ed8 + ret c + ld a, [wcd47] + ld [wcf66], a + ld a, $a + ld [wc300], a + ret + +Function11967d: ; 11967d (46:567d) + ld a, $18 + ld [wcd3c], a + call Function119e2e + +Function119685: ; 119685 (46:5685) + call Function119ed8 + ret c + ld a, $14 + ld [wcf66], a + ld a, $a + ld [wc300], a + ret + +Function119694: ; 119694 (46:5694) + ld b, 0 + ld hl, Unknown_1196b8 +.asm_119699 + ld de, wc708 + ld a, [de] + inc de + cp [hl] + inc hl + jr nz, .asm_1196af + ld a, [de] + inc de + cp [hl] + inc hl + jr nz, .asm_1196b0 + ld a, [de] + inc de + cp [hl] + inc hl + jr nz, .asm_1196b1 + ret +.asm_1196af + inc hl +.asm_1196b0 + inc hl +.asm_1196b1 + inc b + ld a, b + cp $7 + jr nz, .asm_119699 + ret +; 1196b8 (46:56b8) + +Unknown_1196b8: ; 1196b8 + db "Mon" + db "Tue" + db "Wed" + db "Thu" + db "Fri" + db "Sat" + db "Sun" +; 1196cd + +SECTION "bank46_2", ROMX, BANK[$46] +; A hack to use ascii above. + +Function1196cd: ; 1196cd (46:56cd) + ld de, wc719 + call Function1196de + ld [wcd4a], a + inc de + call Function1196de + ld [wcd4b], a + ret + +Function1196de: ; 1196de (46:56de) + ld a, [de] + inc de + sub $30 + sla a + ld b, a + sla a + sla a + add b + ld c, a + add hl, bc + ld a, [de] + inc de + sub $30 + add c + ret +; 1196f2 (46:56f2) + +Function1196f2: ; 1196f2 + ld hl, DefaultFlypoint +.asm_1196f5 + call Function118b9a + ret nc + ld a, [hli] + cp $d + jr nz, .asm_1196f5 + ld a, [hl] + cp $a + jr nz, .asm_1196f5 + xor a + ld [hld], a + ld [hli], a + ld a, l + ld [wcd5b], a + ld a, h + ld [wcd5c], a + inc hl + ld e, l + ld d, h + ld a, [de] + inc de + cp $d + jr nz, .asm_119722 + ld a, [de] + inc de + cp $a + jr nz, .asm_119722 + ld a, $b + jp Function118805 + +.asm_119722 + call Random + ld c, $0 + ld b, c +.asm_119728 + call Function119798 + ld a, d + cp $ff + jr nz, .asm_119735 + ld a, e + cp $ff + jr z, .asm_11974c + +.asm_119735 + ld a, [hRandomSub] + cp d + jr c, .asm_11974c + jr z, .asm_11973e + jr .asm_119745 + +.asm_11973e + ld a, [hRandomAdd] + cp e + jr c, .asm_11974c + jr z, .asm_11974c + +.asm_119745 + inc bc + ld a, c + or b + jr z, .asm_119770 + jr .asm_119728 + +.asm_11974c + ld a, [wcd5b] + ld l, a + ld a, [wcd5c] + ld h, a +.asm_119754 + ld a, [hld] + cp $58 + jr nz, .asm_119754 + ld d, $0 +.asm_11975b + inc d + ld a, [hld] + cp $58 + jr z, .asm_11975b + inc hl + inc hl + ld a, d + dec a + jr z, .asm_11978e + dec a + jr z, .asm_119785 + dec a + jr z, .asm_11977e + dec a + jr z, .asm_119775 + +.asm_119770 + ld a, $d3 + jp Function118805 + +.asm_119775 + ld a, b + and $f0 + swap a + call Function1197bf + ld [hli], a + +.asm_11977e + ld a, b + and $f + call Function1197bf + ld [hli], a + +.asm_119785 + ld a, c + and $f0 + swap a + call Function1197bf + ld [hli], a + +.asm_11978e + ld a, c + and $f + call Function1197bf + ld [hli], a + jp Function119e2e +; 119798 + +Function119798: ; 119798 + ld d, $0 + ld e, d + call Function1197b4 + swap a + or d + ld d, a + call Function1197b4 + or d + ld d, a + call Function1197b4 + swap a + or e + ld e, a + call Function1197b4 + or e + ld e, a + ret +; 1197b4 + +Function1197b4: ; 1197b4 + ld a, [hli] + cp $61 + jr nc, .asm_1197bc + sub $30 + ret + +.asm_1197bc + sub $57 + ret +; 1197bf + +Function1197bf: ; 1197bf + cp $a + jr nc, .asm_1197c6 + add $30 + ret + +.asm_1197c6 + add $57 + ret +; 1197c9 + +Function1197c9: ; 1197c9 + ld hl, DefaultFlypoint + call Function118e39 + ld a, $9 + ld [wcd3c], a + ld a, $12 + ld [wcd45], a + call Function119e2e + +Function1197dc: + call Function119ed8 + ret c + call DelayFrame + ld hl, DefaultFlypoint + ld de, wcc60 + ld bc, $0080 + call CopyBytes + dec de + xor a + ld [de], a + call Function118b24 + ld de, Unkn1Pals + ld bc, $1000 + ld a, $2a + jp Function119e2b +; 119800 + +Function119800: ; 119800 + ld a, $fd + ld [$c6d0], a + ld [wc702], a + ld a, [wcd81] + ld [wc74e], a + ld a, [wcf63] + push af + ld a, [wcf64] + push af + ld a, [wcf65] + push af + ld a, [wcf66] + push af + ld a, $1 + ld [rSVBK], a + call FadeToMenu + callba Function10803d + call Function11a9ce + call RestartMapMusic + ld a, $3 + ld [rSVBK], a + pop af + ld [wcf66], a + pop af + ld [wcf65], a + pop af + ld [wcf64], a + pop af + ld [wcf63], a + callba Function115dc3 + jp Function119e2e +; 11984e + +Function11984e: ; 11984e + ld a, [wcd80] + and a + jr nz, .asm_1198a0 + ld a, [wcd38] + and a + jr nz, .asm_1198a8 + callba Function170000 + ld a, [wcf63] + push af + ld a, [wcf64] + push af + ld a, [wcf65] + push af + ld a, [wcf66] + push af + ld a, $1 + ld [rSVBK], a + call FadeToMenu + callba Function108000 + call Function11a9ce + call RestartMapMusic + ld a, $3 + ld [rSVBK], a + pop af + ld [wcf66], a + pop af + ld [wcf65], a + pop af + ld [wcf64], a + pop af + ld [wcf63], a + callba Function115dc3 + jp Function119e2e + +.asm_1198a0 + ld a, $a + ld [wc300], a + jp Function119e2e + +.asm_1198a8 + callba Function17005a + ld a, [wcf63] + push af + ld a, [wcf64] + push af + ld a, [wcf65] + push af + ld a, [wcf66] + push af + ld a, $1 + ld [rSVBK], a + call FadeToMenu + callba Function108012 + call Function11a9ce + call RestartMapMusic + ld a, $3 + ld [rSVBK], a + pop af + ld [wcf66], a + pop af + ld [wcf65], a + pop af + ld [wcf64], a + pop af + ld [wcf63], a + callba Function115dc3 + jp Function119e2e +; 1198ee + +Function1198ee: ; 1198ee + ld hl, UnknownText_0x11aab2 + call Function11a9c0 + call Function119e2e + +Function1198f7: + ld a, [wc31a] + and a + ret nz + ld hl, $c608 + 2 + call Function119940 + ld hl, $d800 + ld a, $c608 % $100 + ld [hli], a + ld a, $c608 / $100 + ld [hli], a + ld a, $f6 + ld [hli], a + xor a + ld [hli], a + ld a, wc708 % $100 + ld [hli], a + ld a, wc708 / $100 + ld [hli], a + ld a, [wcd51] + ld [hli], a + ld a, [wcd52] + ld [hli], a + call Function119eb4 + call Function119ec2 + ld a, $40 + ld [wcd89], a + ld hl, $d800 + ld de, $de00 + ld bc, $0200 + ld a, $2c + jp Function119e2b +; 119937 + +Function119937: ; 119937 + callba Function1707f4 + jp Function119e2e +; 119940 + +Function119940: ; 119940 + ld de, wc3cd + ld c, $1e +.asm_119945 + ld a, [de] + inc de + ld [hli], a + dec c + jr z, .asm_119953 + and a + jr nz, .asm_119945 + xor a +.asm_11994f + ld [hli], a + dec c + jr nz, .asm_11994f + +.asm_119953 + ret +; 119954 + +Function119954: ; 119954 + ld a, $1c + ld [wcd3c], a + call Function119ed8 + ld hl, $c608 + ld de, wc3cd +.asm_119962 + ld a, [de] + inc de + ld [hli], a + and a + jr nz, .asm_119962 + call Function119ec2 + ld hl, $c608 + ld a, $1e + jp Function119e2b +; 119973 + +Function119973: ; 119973 + ld a, $1 + ld [wcf64], a + xor a + ld [wcf65], a + ld [StringBuffer2 + 10], a + ld de, Unkn1Pals + ld a, $20 + jp Function119e2b +; 119987 + +Function119987: ; 119987 + ld hl, wd001 + ld a, [Unkn1Pals] + or [hl] + jr z, .asm_1199a0 + ld a, [wcf64] + ld l, a + ld a, [wcf65] + ld h, a + ld de, BGPals + ld a, $22 + jp Function119e2b + +.asm_1199a0 + ld a, [StringBuffer2 + 10] + and a + jr z, .asm_1199ae + ld a, $16 + ld [wcf66], a + jp Function119b0d + +.asm_1199ae + ld a, $1b + ld [wcf66], a + ret +; 1199b4 + +Function1199b4: ; 1199b4 + ld a, [wd000 + 130] + and a + jr nz, .asm_1199c7 + ld a, [wd000 + 129] + cp $7 + jr nc, .asm_1199c7 + call Function119e2e + jp Function1199ca + +.asm_1199c7 + jp Function119ac9 +; 1199ca + +Function1199ca: ; 1199ca + ld a, $20 + ld [wcd89], a + ld a, [wcf64] + ld l, a + ld a, [wcf65] + ld h, a + ld de, LYOverrides + ld bc, $0700 + ld a, $28 + jp Function119e2b +; 1199e2 + +Function1199e2: ; 1199e2 + ld c, $c + ld de, Unknown_119e33 + call Function119e4f + jp c, Function119ac9 + ld a, c + cp $1 + jp nz, Function119ac9 + ld hl, $d880 + ld bc, Unknown_119af1 +.asm_1199f9 + ld a, [bc] + and a + jr z, .asm_119a05 + cp [hl] + jp nz, Function119ac9 + inc bc + inc hl + jr .asm_1199f9 + +.asm_119a05 + ld c, $17 + ld de, Unknown_119e40 + call Function119e4f + jp c, .asm_119aa7 + ld a, c + cp $1 + jp nz, .asm_119aa7 + ld a, [wd000 + $880] + cp $31 + jp nz, .asm_119aa7 + ld a, [wd000 + $881] + cp $20 + jp nz, .asm_119aa7 + ld a, [wd000 + $88a] + cp $20 + jp nz, .asm_119aa7 + ld a, [wd000 + $894] + cp $20 + jp nz, .asm_119aa7 + xor a + ld [wd000 + $8a0], a + ld [wd000 + $8a1], a + ld [wd000 + $8a2], a + ld [wd000 + $8a3], a + ld hl, $d8a0 + ld bc, $d889 + call Function119e98 + call Function119e98 + ld hl, $d8a0 + ld a, [wcd2d] + cp [hl] + jr nz, Function119ac9 + inc hl + ld a, [wcd2c] + cp [hl] + jr nz, Function119ac9 + inc hl + ld a, [wcd2b] + cp [hl] + jr nz, Function119ac9 + inc hl + ld a, [wcd2a] + cp [hl] + jr nz, Function119ac9 + xor a + ld [wd000 + $8a0], a + ld [wd000 + $8a1], a + ld [wd000 + $8a2], a + ld [wd000 + $8a3], a + ld hl, $d8a0 + ld bc, $d88e + call Function119e98 + ld bc, $d893 + call Function119e98 + ld hl, $d8a0 + ld a, [wcd2f] + cp [hl] + jr nz, .asm_119aa7 + inc hl + ld a, [wcd2e] + cp [hl] + jr nz, .asm_119aa7 + inc hl + ld a, [wcd31] + cp [hl] + jr nz, .asm_119aa7 + inc hl + ld a, [wcd30] + cp [hl] + jr z, .asm_119aaf + +.asm_119aa7 + ld a, $25 + ld [wcf66], a + jp Function119b45 + +.asm_119aaf + ld a, [StringBuffer2 + 10] + and a + jr nz, .asm_119aa7 + ld a, [wd000 + $895] + sub $30 + ld [StringBuffer2 + 10], a + ld a, [wcf64] + ld [StringBuffer2 + 11], a + ld a, [wcf65] + ld [StringBuffer2 + 12], a + +Function119ac9: + ld a, [Unkn1Pals] + ld l, a + ld a, [wd001] + ld h, a + dec hl + ld a, l + ld [Unkn1Pals], a + ld a, h + ld [wd001], a + ld a, [wcf64] + ld l, a + ld a, [wcf65] + ld h, a + inc hl + ld a, l + ld [wcf64], a + ld a, h + ld [wcf65], a + ld a, $10 + ld [wcf66], a + ret +; 119af1 + +Unknown_119af1: + INCBIN "data/mobile/x-game-code.txt" + INCBIN "data/mobile/x-game-result.txt" +; 119b0d + +Function119b0d: ; 119b0d + ld a, $8 + ld [wcd3c], a + call Function119ed8 + ld a, [StringBuffer2 + 10] + cp $1 + jr z, .asm_119b23 + ld a, $19 + ld [wcf66], a + jr Function119b3b + +.asm_119b23 + ld a, $10 + ld [wcd89], a + ld a, [StringBuffer2 + 11] + ld l, a + ld a, [StringBuffer2 + 12] + ld h, a + ld de, LYOverrides + ld bc, $0700 + ld a, $24 + jp Function119e2b + +Function119b3b: + ld a, [StringBuffer2 + 11] + ld l, a + ld a, [StringBuffer2 + 12] + ld h, a + jr asm_119b4d + +Function119b45: + ld a, [wcf64] + ld l, a + ld a, [wcf65] + ld h, a + +asm_119b4d + ld a, $26 + jp Function119e2b +; 119b52 + +Function119b52: ; 119b52 + ld a, [StringBuffer2 + 10] + cp $1 + jr nz, .asm_119b66 + ld a, $5 + call GetSRAMBank + ld a, $4 + ld [$a800], a + call CloseSRAM + +.asm_119b66 + ld a, $1c + jp Function119e2b +; 119b6b + +Function119b6b: ; 119b6b + ld a, [StringBuffer2 + 10] + cp $1 + jr z, .asm_119b75 + jp Function119e2e + +.asm_119b75 + ld a, [LYOverrides] + ld b, a + ld a, [wd101] + or b + jr z, .asm_119be3 + ld hl, $d800 + ld de, wd102 +.asm_119b85 + ld a, [de] + inc de + cp $d + jr nz, .asm_119b85 + inc de + ld a, [de] + cp $d + jr nz, .asm_119b85 + inc de + inc de +.asm_119b93 + ld a, [de] + inc de + cp $d + jr z, .asm_119bfa + call Function119c3e + ret c + ld [hli], a + ld a, [de] + inc de + call Function119c3e + ret c + ld [hli], a + ld a, [de] + inc de + call Function119c3e + ret c + ld [hli], a + ld a, [de] + inc de + call Function119c3e + ret c + ld [hl], a + push de + ld d, [hl] + dec hl + ld c, [hl] + dec hl + ld b, [hl] + dec hl + ld a, [hl] + sla b + sla b + sla b + rla + sla b + rla + ld [hli], a + ld [hl], b + inc hl + rrc c + rrc c + ld [hl], c + dec hl + ld a, $f + and c + or [hl] + ld [hli], a + ld a, [hli] + and $c0 + or [hl] + dec hl + ld [hld], a + dec hl + pop de + inc hl + inc hl + inc hl + ld a, h + cp $e0 + jr c, .asm_119b93 + +.asm_119be3 + ld a, $19 + ld [wcf66], a + ld a, $5 + call GetSRAMBank + ld a, $1 + ld [$a800], a + call CloseSRAM + xor a + ld [StringBuffer2 + 10], a + ret + +.asm_119bfa + inc de + ld a, [de] + cp $d + jr nz, .asm_119b93 + ld a, l + cp (wd000 + $800 + $69) % $100 + jr nz, .asm_119be3 + ld a, h + cp (wd000 + $800 + $69) / $100 + jr nz, .asm_119be3 + ld a, $5 + call GetSRAMBank + ld a, [wcf64] + ld [$b090], a + ld a, [wcf65] + ld [$b091], a + ld hl, $d800 + ld de, $b023 + ld bc, $0069 + call CopyBytes + ld a, $3 + ld [$a800], a + call CloseSRAM + ld hl, $d800 + ld de, $c608 + ld bc, $0069 + call CopyBytes + jp Function119e2e +; 119c3e + +Function119c3e: ; 119c3e + cp $2b + jr c, .asm_119c68 + jr z, .asm_119c80 + cp $2f + jr c, .asm_119c68 + jr z, .asm_119c84 + cp $30 + jr c, .asm_119c68 + cp $3a + jr c, .asm_119c88 + cp $3d + jr c, .asm_119c68 + jr z, .asm_119c8c + cp $41 + jr c, .asm_119c68 + cp $5b + jr c, .asm_119c8f + cp $61 + jr c, .asm_119c68 + cp $7b + jr c, .asm_119c93 + +.asm_119c68 + ld a, $19 + ld [wcf66], a + ld a, $5 + call GetSRAMBank + ld a, $1 + ld [$a800], a + call CloseSRAM + xor a + ld [StringBuffer2 + 10], a + scf + ret + +.asm_119c80 + ld a, $3e + and a + ret + +.asm_119c84 + ld a, $3f + and a + ret + +.asm_119c88 + add $4 + and a + ret + +.asm_119c8c + xor a + and a + ret + +.asm_119c8f + sub $41 + and a + ret + +.asm_119c93 + sub $47 + and a + ret +; 119c97 + +Function119c97: ; 119c97 + ld hl, UnknownText_0x11ab0f + call Function11a9c0 + call Function119e2e + jr Function119cab + +Function119ca2: + ld hl, UnknownText_0x11aaf0 + call Function11a9c0 + call Function119e2e + +Function119cab: + ld a, [wc31a] + and a + ret nz + ld a, $80 + ld [wcd50], a + call Function119e2e + +Function119cb8: + ld hl, wcd50 + dec [hl] + ret nz + ld a, $0 + ld [wcf66], a + ret +; 119cc3 + +Function119cc3: ; 119cc3 + ld a, [wcd38] + and a + jr z, .asm_119cd1 + dec a + jr z, .asm_119cd6 + ld hl, UnknownText_0x11aa6a + jr .asm_119cd9 + +.asm_119cd1 + ld hl, UnknownText_0x11ab4a + jr .asm_119cd9 + +.asm_119cd6 + ld hl, UnknownText_0x11ab6e + +.asm_119cd9 + call Function11a9c0 + call Function119e2e + +Function119cdf: + ld a, [wc31a] + and a + ret nz + ld a, $f + ld [wcd3c], a + call Function119e2e + +Function119cec: + call Function119ed8 + ret c + ld a, [wcd46] + ld [wcf66], a + ret +; 119cf7 + +MenuDataHeader_119cf7: ; 119cf7 + db $40 ; flags + db 7, 12 ; start coords + db 11, 19 ; end coords + dw NULL + db 0 ; default option +; 119cff + +MenuData_119cff: ; 119cff + db $40 ; flags + db 7, 15 ; start coords + db 11, 19 ; end coords + dw NULL + db 0 ; default option +; 119d07 + +String_119d07: + db " ▼@" + +Strings_119d0c: + db " L:10 @@" + db " L:20 @@" + db " L:30 @@" + db " L:40 @@" + db " L:50 @@" + db " L:60 @@" + db " L:70 @@" + db " L:80 @@" + db " L:90 @@" + db " L:100@@" + db "CANCEL@@" + +Strings_119d64: + db " L:10 @@" + db " L:20 @@" + db " L:30 @@" + db " L:40 @@" + db "CANCEL@@" + +String_119d8c: + db "CANCEL@" +; 119d93 + +Function119d93: ; 119d93 (46:5d93) + ld a, [rSVBK] ; $ff00+$70 + push af + ld a, $1 + ld [rSVBK], a ; $ff00+$70 + ld a, [wcd4f] + ld c, 10 + call SimpleMultiply + ld hl, wcd50 + ld [hl], a + ld bc, PartyMon2 - PartyMon1 + ld de, PartyMon1Level + ld a, [PartyCount] +.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 [wcf66], a + pop af + ld [rSVBK], a ; $ff00+$70 + scf + ret + +Function119dd1: ; 119dd1 (46:5dd1) + ld a, [rSVBK] ; $ff00+$70 + push af + ld a, [wcd4f] + cp 70 / 10 + jr nc, .asm_119e08 + ld a, $1 + ld [rSVBK], a ; $ff00+$70 + ld hl, PartyMon1Level + ld bc, PartyMon2 - PartyMon1 + ld de, PartySpecies + ld a, [PartyCount] +.asm_119deb + push af + ld a, [de] + cp MEWTWO + jr z, .asm_119dfd + cp MEW + jr z, .asm_119dfd + cp LUGIA + jr c, .asm_119e02 + cp NUM_POKEMON + 1 + jr nc, .asm_119e02 +.asm_119dfd + ld a, [hl] + cp 70 + 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 [wd265], a + call GetPokemonName + ld hl, StringBuffer1 + ld de, wcd49 + ld bc, PKMN_NAME_LENGTH + call CopyBytes + ld a, $a + ld [wcf66], a + pop af + ld [rSVBK], a ; $ff00+$70 + scf + ret +; 119e2b (46:5e2b) + +Function119e2b: ; 119e2b (46:5e2b) + call Function3e32 + +Function119e2e: ; 119e2e (46:5e2e) + ld hl, wcf66 + inc [hl] + ret +; 119e33 (46:5e33) + +Unknown_119e33: ; 119e33 + INCBIN "data/mobile/x-game-code-prefix.txt" +Unknown_119e40: + INCBIN "data/mobile/x-game-result-prefix.txt" +; 119e4f + +Function119e4f: ; 119e4f + push bc + ld hl, LYOverrides + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a +.asm_119e57 + ld a, [de] + cp [hl] + jr z, .asm_119e64 +.asm_119e5b + inc hl + dec bc + ld a, b + or c + jr nz, .asm_119e57 +.asm_119e61 + pop bc + scf + ret + +.asm_119e64 + push de +.asm_119e65 + ld a, [de] + inc de + cp "\n" + jr z, .asm_119e7a + cp [hl] + jr nz, .asm_119e77 + inc hl + dec bc + ld a, b + or c + jr nz, .asm_119e65 + pop de + jr .asm_119e61 + +.asm_119e77 + pop de + jr .asm_119e5b + +.asm_119e7a + pop de + pop bc + inc hl + ld de, $d880 +.asm_119e80 + ld a, [hli] + ld [de], a + inc de + cp $d + jr z, .asm_119e8c + dec c + jr nz, .asm_119e80 + scf + ret + +.asm_119e8c + and a + ret +; 119e8e + +Function119e8e: ; 119e8e + cp $60 + jr c, .asm_119e95 + sub $57 + ret + +.asm_119e95 + sub $30 + ret +; 119e98 + +Function119e98: ; 119e98 + ld a, $2 +.asm_119e9a + push af + ld a, [bc] + dec bc + call Function119e8e + or [hl] + ld [hl], a + ld a, [bc] + dec bc + call Function119e8e + rlca + rlca + rlca + rlca + or [hl] + ld [hl], a + inc hl + pop af + dec a + and a + jr nz, .asm_119e9a + ret +; 119eb4 + +Function119eb4: ; 119eb4 (46:5eb4) + xor a + ld [wc3cc], a + ld de, wc3ac +.asm_119ebb + ld a, [de] + inc de + ld [hli], a + and a + jr nz, .asm_119ebb + ret + +Function119ec2: ; 119ec2 (46:5ec2) + ld a, $5 + call GetSRAMBank + xor a + ld [$aa5c], a + ld de, $aa4c +.asm_119ece + ld a, [de] + inc de + ld [hli], a + and a + jr nz, .asm_119ece + call CloseSRAM + ret + +Function119ed8: ; 119ed8 (46:5ed8) + ld a, [rSVBK] ; $ff00+$70 + ld [wcd8c], a + ld a, $1 + ld [rSVBK], a ; $ff00+$70 + call Function119eee + ld a, [wcd8c] + ld [rSVBK], a ; $ff00+$70 + ld a, $1 + ld [hBGMapMode], a ; $ff00+$d4 + ret + +Function119eee: ; 119eee (46:5eee) + ld a, [wcd3c] + ld e, a + ld d, 0 + ld hl, Jumptable_119efd + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 119efd (46:5efd) + +Jumptable_119efd: ; 119efd + dw Function119f3f + dw Function119f45 + dw Function119f56 + dw Function119f76 + dw Function119f98 + dw Function11a113 + dw Function11a129 + dw Function11a131 + dw Function11a13d + dw Function11a14b + dw Function11a16d + dw Function11a192 + dw Function11a2e6 + dw Function11a302 + dw Function11a33a + dw Function11a207 + dw Function11a235 + dw Function11a357 + dw Function11a36b + dw Function11a38d + dw Function11a3c5 + dw Function11a3d9 + dw Function11a3f9 + dw Function11a41b + dw Function11a452 + dw Function11a47a + dw Function11a488 + dw Function11a49e + dw Function11a4db + dw Function11a4e8 + dw Function11a4fe + dw Function11a466 + dw Function11a47a +; 119f3f + +Function119f3f: ; 119f3f + call Function11a5b9 + jp Function11a5b0 +; 119f45 + +Function119f45: ; 119f45 + hlcoord 4, 2 + ld de, String_11a661 + call PlaceString + ld a, $80 + ld [wcd44], a + jp Function11a5b0 +; 119f56 + +Function119f56: ; 119f56 + ld a, [wcd44] + and a + jr z, .asm_119f62 + dec a + ld [wcd44], a + scf + ret + +.asm_119f62 + call Function11a63c + hlcoord 4, 2 + ld de, String_11a6aa + call PlaceString + ld a, $80 + ld [wcd44], a + jp Function11a5b0 +; 119f76 + +Function119f76: ; 119f76 + ld a, [wcd44] + and a + jr z, .asm_119f82 + dec a + ld [wcd44], a + scf + ret + +.asm_119f82 + call Function11a63c + hlcoord 4, 2 + ld de, String_11a679 + call PlaceString + call Function11a5f5 + xor a + ld [wcd44], a + jp Function11a5b0 +; 119f98 + +Function119f98: ; 119f98 + call Function11a536 + ret c + call PlayClickSFX + ld a, [wcd44] + and a + jr nz, .asm_119fef + call Function1c07 + call Function11a63c + xor a + ld [ScriptVar], a + call Function11a00e + ld a, [ScriptVar] + and a + jr z, .asm_119fd4 + call Function1c07 + callba Function104061 + callba Function115dc3 + ld a, [wcd33] + ld [wcf66], a + ld a, $a + ld [wc300], a + scf + ret + +.asm_119fd4 + hlcoord 4, 2 + ld de, String_11a692 + call PlaceString + ld a, $1 + ld [wc30d], a + ld a, $1 + ld [wc314], a + callba Function104061 + and a + ret + +.asm_119fef + call Function1c07 + call Function1c07 + callba Function104061 + ld a, [wcd45] + ld [wcf66], a + callba Function115dc3 + ld a, $a + ld [wc300], a + scf + ret +; 11a00e + +Function11a00e: ; 11a00e + ld a, $5 + call GetSRAMBank + ld a, [$aa4b] + and a + jr z, .asm_11a02a + ld a, [$aa4c] + call CloseSRAM + and a + ret nz + ld a, $5 + call GetSRAMBank + xor a + ld [$aa4b], a + +.asm_11a02a + call CloseSRAM + ld a, [BGMapPalBuffer] + and a + jr z, .asm_11a039 + dec a + jr z, .asm_11a081 + jp Function11a0ca + +.asm_11a039 + ld a, $3 + ld [rSVBK], a + ld hl, $c608 + ld de, $d800 + ld bc, $00f6 + call CopyBytes + ld a, $1 + ld [rSVBK], a + call FadeToMenu + callba Function11765d + call Function11a9ce + ld a, $3 + ld [rSVBK], a + ld hl, $d800 + ld de, $c608 + ld bc, $00f6 + call CopyBytes + ld a, $1 + ld [rSVBK], a + callba Function115d99 + ld c, $0 + callba Function115e18 + ld a, $1 + ld [wc305], a + ret + +.asm_11a081 + xor a + ld [wcf83], a + ld [wcf82], a + ld a, $13 + ld [wcf85], a + ld a, $5 + ld [wcf84], a + call Function1c00 + callba Function11765d + callba Function117ab4 + callba Function106462 + callba Function106464 + call Function1c07 + callba Function104061 + callba Function115d99 + ld c, $0 + callba Function115e18 + ld a, $1 + ld [wc305], a + ret +; 11a0ca + +Function11a0ca: ; 11a0ca + xor a + ld [wcf83], a + ld [wcf82], a + ld a, $13 + ld [wcf85], a + ld a, $11 + ld [wcf84], a + call Function1c00 + callba Function11765d + callba Function17d3f6 + callba Function106462 + callba Function106464 + call Function1c07 + callba Function104061 + callba Function115d99 + ld c, $0 + callba Function115e18 + ld a, $1 + ld [wc305], a + ret +; 11a113 + +Function11a113: ; 11a113 + call Function11a63c + ld c, $1 + callba Function115e18 + hlcoord 4, 2 + ld de, String_11a6c8 + call PlaceString + and a + ret +; 11a129 + +Function11a129: ; 11a129 + ld a, $80 + ld [wcd44], a + jp Function11a5b0 +; 11a131 + +Function11a131: ; 11a131 + ld hl, wcd44 + dec [hl] + ret nz + ld a, [wcd3c] + inc a + ld [wcd3c], a + +Function11a13d: + call Function11a63c + hlcoord 4, 2 + ld de, String_11a6d2 + call PlaceString + and a + ret +; 11a14b + +Function11a14b: ; 11a14b + ld hl, wcd85 + ld a, [hl] + cp $f3 + jr nz, .asm_11a155 + and a + ret + +.asm_11a155 + call Function11a1d6 + ret c + call Function11a63c + hlcoord 4, 2 + ld de, String_11a6f1 + call PlaceString + ld a, $80 + ld [wcd44], a + jp Function11a5b0 +; 11a16d + +Function11a16d: ; 11a16d + ld a, [wcd44] + and a + jr z, .asm_11a179 + dec a + ld [wcd44], a + scf + ret + +.asm_11a179 + call Function11a63c + call Function11a1e6 + hlcoord 4, 2 + ld de, wc346 + call PlaceString + call Function11a5f5 + xor a + ld [wcd44], a + jp Function11a5b0 +; 11a192 + +Function11a192: ; 11a192 + call Function11a536 + ret c + call PlayClickSFX + ld a, [wcd44] + and a + jr nz, .asm_11a1b6 + call Function1c07 + callba Function104061 + call Function11a63c + hlcoord 4, 2 + ld de, String_11a6d2 + call PlaceString + and a + ret + +.asm_11a1b6 + call Function1c07 + callba Function104061 + ld a, [wcd45] + ld [wcf66], a + ld [wcd80], a + call Function11a63c + hlcoord 4, 2 + ld de, String_11a6d2 + call PlaceString + scf + ret +; 11a1d6 + +Function11a1d6: ; 11a1d6 + ld a, [wcd85] + cp $50 + jr nz, .asm_11a1e4 + ld a, $d3 + call Function118805 + scf + ret + +.asm_11a1e4 + and a + ret +; 11a1e6 + +Function11a1e6: ; 11a1e6 + ld hl, String_11a706 + ld de, wc346 + call Function11a1ff + ld hl, wcd85 + call Function11a1ff + ld hl, String_11a70b + call Function11a1ff + ld a, $50 + ld [de], a + ret +; 11a1ff + +Function11a1ff: ; 11a1ff +.asm_11a1ff + ld a, [hli] + cp $50 + ret z + ld [de], a + inc de + jr .asm_11a1ff +; 11a207 + +Function11a207: ; 11a207 + ld hl, MenuDataHeader_11a2de + call LoadMenuDataHeader + call Function1cbb + call Function1cfd + call Function321c + hlcoord 16, 8 + ld de, String_11a2cf + call PlaceString + hlcoord 16, 10 + ld de, String_11a2d3 + call PlaceString + hlcoord 15, 8 + ld a, $ed + ld [hl], a + xor a + ld [wcd44], a + jp Function11a5b0 +; 11a235 + +Function11a235: ; 11a235 + ld hl, hJoyPressed + ld a, [hl] + and A_BUTTON + jr nz, .asm_11a28f + ld a, [hl] + and B_BUTTON + jr nz, .asm_11a2c1 + ld a, [hl] + and D_UP + jr nz, .asm_11a251 + ld a, [hl] + and D_DOWN + jr nz, .asm_11a270 +.asm_11a24c + call Function11a9f0 + scf + ret + +.asm_11a251 + xor a + ld [wcd8a], a + ld [wcd8b], a + ld a, [wcd44] + and a + jr z, .asm_11a24c + xor a + ld [wcd44], a + hlcoord 15, 8 + ld a, $ed + ld [hl], a + hlcoord 15, 10 + ld a, $7f + ld [hl], a + jr .asm_11a24c + +.asm_11a270 + xor a + ld [wcd8a], a + ld [wcd8b], a + ld a, [wcd44] + and a + jr nz, .asm_11a24c + inc a + ld [wcd44], a + hlcoord 15, 8 + ld a, $7f + ld [hl], a + hlcoord 15, 10 + ld a, $ed + ld [hl], a + jr .asm_11a24c + +.asm_11a28f + xor a + ld [wcd8a], a + ld [wcd8b], a + call PlayClickSFX + ld a, [wcd44] + and a + jr nz, .asm_11a2c4 + call Function1c07 + callba Function104061 + ld a, [wcd46] + cp $0 + jr z, .asm_11a2b4 + ld a, [wcd47] + jr .asm_11a2b7 + +.asm_11a2b4 + ld a, [wcd33] + +.asm_11a2b7 + ld [wcf66], a + ld a, $a + ld [wc300], a + scf + ret + +.asm_11a2c1 + call PlayClickSFX + +.asm_11a2c4 + call Function1c07 + callba Function104061 + and a + ret +; 11a2cf + +String_11a2cf: ; 11a2cf + db "YES@" +; 11a2d3 + +String_11a2d3: ; 11a2d3 + db "NO@" +; 11a2d6 + +MenuDataHeader_11a2d6: ; 11a2d6 + db $40 ; flags + db 6, 14 ; start coords + db 10, 19 ; end coords + dw NULL + db 0 ; default option +; 11a2de + +MenuDataHeader_11a2de: ; 11a2de + db $40 ; flags + db 7, 14 ; start coords + db 11, 19 ; end coords + dw NULL + db 0 ; default option +; 11a2e6 + +Function11a2e6: ; 11a2e6 + call Function11a63c + ld c, $2 + callba Function115e18 + hlcoord 4, 2 + ld de, String_11a71e + call PlaceString + ld a, $80 + ld [wcd44], a + jp Function11a5b0 +; 11a302 + +Function11a302: ; 11a302 + ld a, [wcd44] + and a + jr z, .asm_11a30e + dec a + ld [wcd44], a + scf + ret + +.asm_11a30e + call Function11a63c + hlcoord 4, 2 + ld de, String_11a72a + call PlaceString + hlcoord 9, 4 + ld de, wcd68 + ld bc, $8102 + call PrintNum + hlcoord 14, 4 + ld de, wcd67 + ld bc, $8102 + call PrintNum + ld a, $80 + ld [wcd44], a + jp Function11a5b0 +; 11a33a + +Function11a33a: ; 11a33a + ld a, [wcd44] + and a + jr z, .asm_11a346 + dec a + ld [wcd44], a + scf + ret + +.asm_11a346 + call Function1c07 + callba Function104061 + callba Function115dc3 + and a + ret +; 11a357 + +Function11a357: ; 11a357 + call Function11a63c + hlcoord 4, 2 + ld de, String_11a743 + call PlaceString + ld a, $80 + ld [wcd44], a + jp Function11a5b0 +; 11a36b + +Function11a36b: ; 11a36b + ld a, [wcd44] + and a + jr z, .asm_11a377 + dec a + ld [wcd44], a + scf + ret + +.asm_11a377 + call Function11a63c + hlcoord 4, 2 + ld de, String_11a755 + call PlaceString + call Function11a5f5 + xor a + ld [wcd44], a + jp Function11a5b0 +; 11a38d + +Function11a38d: ; 11a38d + call Function11a536 + ret c + call PlayClickSFX + ld a, [wcd44] + and a + jr nz, .asm_11a3b1 + call Function1c07 + callba Function104061 + call Function11a63c + hlcoord 4, 2 + ld de, String_11a6d2 + call PlaceString + and a + ret + +.asm_11a3b1 + call Function1c07 + callba Function104061 + ld a, [wcd45] + ld [wcf66], a + ld [wcd80], a + scf + ret +; 11a3c5 + +Function11a3c5: ; 11a3c5 + call Function11a63c + hlcoord 4, 2 + ld de, String_11a762 + call PlaceString + ld a, $80 + ld [wcd44], a + jp Function11a5b0 +; 11a3d9 + +Function11a3d9: ; 11a3d9 + ld a, [wcd44] + and a + jr z, .asm_11a3e5 + dec a + ld [wcd44], a + scf + ret + +.asm_11a3e5 + call Function11a63c + hlcoord 4, 2 + ld de, String_11a779 + call PlaceString + ld a, $80 + ld [wcd44], a + jp Function11a5b0 +; 11a3f9 + +Function11a3f9: ; 11a3f9 + ld a, [wcd44] + and a + jr z, .asm_11a405 + dec a + ld [wcd44], a + scf + ret + +.asm_11a405 + call Function11a63c + hlcoord 4, 2 + ld de, String_11a755 + call PlaceString + call Function11a5f5 + xor a + ld [wcd44], a + jp Function11a5b0 +; 11a41b + +Function11a41b: ; 11a41b + call Function11a536 + ret c + call PlayClickSFX + ld a, [wcd44] + and a + jr nz, .asm_11a43f + call Function1c07 + callba Function104061 + call Function11a63c + hlcoord 4, 2 + ld de, String_11a6d2 + call PlaceString + and a + ret + +.asm_11a43f + call Function1c07 + callba Function104061 + ld a, $1c + ld [wcf66], a + ld [wcd80], a + scf + ret +; 11a452 + +Function11a452: ; 11a452 + call Function11a63c + hlcoord 4, 2 + ld de, String_11a791 + call PlaceString + ld a, $80 + ld [wcd44], a + jp Function11a5b0 +; 11a466 + +Function11a466: ; 11a466 + call Function11a63c + hlcoord 4, 2 + ld de, String_11a7c1 + call PlaceString + ld a, $80 + ld [wcd44], a + jp Function11a5b0 +; 11a47a + +Function11a47a: ; 11a47a + ld a, [wcd44] + and a + jr z, .asm_11a486 + dec a + ld [wcd44], a + scf + ret + +.asm_11a486 + and a + ret +; 11a488 + +Function11a488: ; 11a488 + call Function11a63c + hlcoord 4, 2 + ld de, String_11a7ac + call PlaceString + call Function11a5f5 + xor a + ld [wcd44], a + jp Function11a5b0 +; 11a49e + +Function11a49e: ; 11a49e + call Function11a536 + ret c + call PlayClickSFX + ld a, [wcd44] + and a + jr nz, .asm_11a4c7 + call Function1c07 + callba Function104061 + call Function11a63c + hlcoord 4, 2 + ld de, String_11a6d2 + call PlaceString + ld a, $14 + ld [wcf66], a + and a + ret + +.asm_11a4c7 + call Function1c07 + callba Function104061 + ld a, [wcd46] + ld [wcf66], a + ld [wcd80], a + scf + ret +; 11a4db + +Function11a4db: ; 11a4db + call Function11a63c + ld de, String_11a6db + hlcoord 4, 2 + call PlaceString + ret +; 11a4e8 + +Function11a4e8: ; 11a4e8 + call Function11a63c + hlcoord 4, 2 + ld de, String_11a7d7 + call PlaceString + call Function11a5f5 + xor a + ld [wcd44], a + jp Function11a5b0 +; 11a4fe + +Function11a4fe: ; 11a4fe + call Function11a536 + ret c + call PlayClickSFX + ld a, [wcd44] + and a + jr nz, .asm_11a522 + call Function1c07 + callba Function104061 + call Function11a63c + hlcoord 4, 2 + ld de, String_11a6d2 + call PlaceString + and a + ret + +.asm_11a522 + call Function1c07 + callba Function104061 + ld a, [wcd45] + ld [wcf66], a + ld [wcd80], a + scf + ret +; 11a536 + +Function11a536: ; 11a536 + ld hl, hJoyPressed + ld a, [hl] + and $1 + jr nz, .asm_11a5a7 + ld a, [hl] + and $2 + jr nz, .asm_11a5a2 + ld a, [hl] + and $40 + jr nz, .asm_11a564 + ld a, [hl] + and $80 + jr nz, .asm_11a583 +.asm_11a54d + ld a, [wcd3c] + cp $4 + jr z, .asm_11a562 + call Function11a9f0 + jr nz, .asm_11a562 + call Function1c07 + callba Function104061 + +.asm_11a562 + scf + ret + +.asm_11a564 + xor a + ld [wcd8a], a + ld [wcd8b], a + ld a, [wcd44] + and a + jr z, .asm_11a54d + xor a + ld [wcd44], a + hlcoord 15, 7 + ld a, $ed + ld [hl], a + hlcoord 15, 9 + ld a, $7f + ld [hl], a + jr .asm_11a54d + +.asm_11a583 + xor a + ld [wcd8a], a + ld [wcd8b], a + ld a, [wcd44] + and a + jr nz, .asm_11a54d + inc a + ld [wcd44], a + hlcoord 15, 7 + ld a, $7f + ld [hl], a + hlcoord 15, 9 + ld a, $ed + ld [hl], a + jr .asm_11a54d + +.asm_11a5a2 + ld a, $1 + ld [wcd44], a + +.asm_11a5a7 + xor a + ld [wcd8a], a + ld [wcd8b], a + and a + ret +; 11a5b0 + +Function11a5b0: ; 11a5b0 + ld a, [wcd3c] + inc a + ld [wcd3c], a + scf + ret +; 11a5b9 + +Function11a5b9: ; 11a5b9 + xor a + ld [wcf83], a + ld [wcf82], a + ld a, $13 + ld [wcf85], a + ld a, $5 + ld [wcf84], a + call Function1c00 + ld hl, AttrMap + ld b, $6 + ld c, $14 + ld hl, TileMap + ld b, $4 + ld c, $12 + call Function3eea + callba Function104061 + call Function1ad2 + ld c, $0 + callba Function115e18 + ld a, $1 + ld [wc305], a + ret +; 11a5f5 + +Function11a5f5: ; 11a5f5 + ld a, $e + ld [wcf83], a + ld a, $13 + ld [wcf85], a + ld a, $6 + ld [wcf82], a + ld a, $a + ld [wcf84], a + call Function1c00 + hlcoord 14, 6, AttrMap + ld b, $5 + ld c, $6 + hlcoord 14, 6 + ld b, $3 + ld c, $4 + call Function3eea + hlcoord 16, 7 + ld de, String_11a2cf + call PlaceString + hlcoord 16, 9 + ld de, String_11a2d3 + call PlaceString + hlcoord 15, 7 + ld a, $ed + ld [hl], a + callba Function104061 + ret +; 11a63c + +Function11a63c: ; 11a63c + hlcoord 4, 1 + ld de, String_11a7f4 + call PlaceString + hlcoord 4, 2 + ld de, String_11a7f4 + call PlaceString + hlcoord 4, 3 + ld de, String_11a7f4 + call PlaceString + hlcoord 4, 4 + ld de, String_11a7f4 + call PlaceString + ret +; 11a661 + +String_11a661: ; 11a661 + db "これから モバイルセンターに" + next "でんわ", $1f, "かけます@" +; 11a679 + +String_11a679: ; 11a679 + db "モバイルアダプタ", $25, "じゅんびは" + next "できて いますか?@" +; 11a692 + +String_11a692: ; 11a692 + db "でんわ", $1f, "かけています" + next "しばらく おまちください@" +; 11a6aa + +String_11a6aa: ; 11a6aa + db "でんわをかけると つうわりょう" + next "せつぞくりょう", $4a, "かかります@" +; 11a6c8 + +String_11a6c8: ; 11a6c8 + db "せつぞく しました@" +; 11a6d2 + +String_11a6d2: ; 11a6d2 + db "つうしん ちゅう@" +; 11a6db + +String_11a6db: ; 11a6db + db "つうしん ちゅう" + next "セレクト エーでちゅうし@" +; 11a6f1 + +String_11a6f1: ; 11a6f1 + db "この サービスには" + next "つうわりょう", $25, "ほかに@" +; 11a706 + +String_11a706: ; 11a706 + db "おかね", $4a, "@" +; 11a70b + +String_11a70b: ; 11a70b + db "えん" + next "かかります よろしい ですか?@" +; 11a71e + +String_11a71e: ; 11a71e + db "つうしん しゅうりょう@" +; 11a72a + +String_11a72a: ; 11a72a + db "つないだ じかん" + next " やく ふん びょう@" +; 11a743 + +String_11a743: ; 11a743 + db "もっていない データが" + next "あります!@" +; 11a755 + +String_11a755: ; 11a755 + db "データ", $1f, "よみこみますか?@" +; 11a762 + +String_11a762: ; 11a762 + db "おなじ データ", $1f, "よみこんだ" + next "こと", $4a, "ありますが@" +; 11a779 + +String_11a779: ; 11a779 + db "そのデータ", $24, "なくなっているか" + next "こわれて います@" +; 11a791 + +String_11a791: ; 11a791 + db "もっている データと" + next "おなじデータしか ありません!@" +; 11a7ac + +String_11a7ac: ; 11a7ac + db "データ", $25, "よみこみを" + next "ちゅうし しますか?@" +; 11a7c1 + +String_11a7c1: ; 11a7c1 + db "あたらしい ニュースは" + next "ありません でした@" +; 11a7d7 + +String_11a7d7: ; 11a7d7 + db "あたらしいニュース", $4a, "あります" + next "ニュース", $1f, "よみこみますか?@" +; 11a7f4 + +String_11a7f4: ; 11a7f4 + db " @" +; 11a804 + +MenuDataHeader_11a804: ; 11a804 + db $40 ; flags + db 0, 0 ; start coords + db 5, 19 ; end coords + dw NULL + db 0 ; default option +; 11a80c + +Function11a80c: ; 11a80c + ld de, hDivisor + ld bc, hDividend + ld hl, Unknown_11a89a + call Function11a88c + ld bc, hQuotient + ld hl, Unknown_11a8ba + call Function11a88c + ld bc, $ffb5 + ld hl, Unknown_11a8da + call Function11a88c + xor a + ld b, a + ld a, [hDivisor] + and $f + ld e, a + ld a, [$ffb9] + and $f + call Function11a884 + ld e, a + ld a, [$ffbb] + and $f + call Function11a884 + ld [wcd62], a + ld e, b + xor a + ld b, a + ld a, [hDivisor] + and $f0 + swap a + call Function11a884 + ld e, a + ld a, [$ffb9] + and $f0 + swap a + call Function11a884 + ld e, a + ld a, [$ffbb] + and $f0 + swap a + call Function11a884 + ld [wcd63], a + ld e, b + xor a + ld b, a + ld a, [hMathBuffer] + and $f + call Function11a884 + ld e, a + ld a, [$ffba] + and $f + call Function11a884 + ld e, a + ld a, [$ffbc] + and $f + call Function11a884 + ld [wcd64], a + ret +; 11a884 + +Function11a884: ; 11a884 + add e + cp $a + ret c + sub $a + inc b + ret +; 11a88c + +Function11a88c: ; 11a88c + ld a, [bc] + sla a + ld c, a + xor a + ld b, a + add hl, bc + ld a, [hli] + ld [de], a + inc de + ld a, [hl] + ld [de], a + inc de + ret +; 11a89a + +Unknown_11a89a: ; 11a89a +x = 0 +rept 16 + bcd x % 100, x / 100 +x = x + 1 +endr + +Unknown_11a8ba: ; 11a8ba +x = 0 +rept 16 + bcd x % 100, x / 100 +x = x + 16 +endr + +Unknown_11a8da: ; 11a8da +x = 0 +rept 16 + bcd x % 100, x / 100 +x = x + 256 +endr +; 11a8fa + +Function11a8fa: ; 11a8fa + ld a, [wc31a] + ld e, a + ld d, 0 + ld hl, Jumptable_11a909 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 11a909 + +Jumptable_11a909: ; 11a909 + dw Function11a970 + dw Function11a90f + dw Function11a971 +; 11a90f + +Function11a90f: ; 11a90f + ld a, $1 + ld [rSVBK], a + call SpeechTextBox + ld a, $50 + ld hl, wc320 + ld bc, $008c + call ByteFill + ld a, [wc31b] + ld l, a + ld a, [wc31c] + ld h, a + ld de, wc320 +.asm_11a92c + ld a, [hli] + cp $57 + jr z, .asm_11a94f + cp $0 + jr z, .asm_11a92c + cp $50 + jr z, .asm_11a92c + cp $1 + jr z, .asm_11a941 + ld [de], a + inc de + jr .asm_11a92c + +.asm_11a941 + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a +.asm_11a945 + ld a, [bc] + inc bc + cp $50 + jr z, .asm_11a92c + ld [de], a + inc de + jr .asm_11a945 + +.asm_11a94f + xor a + ld [wc31f], a + ld a, $20 + ld [wc31b], a + ld a, $c3 + ld [wc31c], a + hlcoord 1, 14 + ld a, l + ld [wc31d], a + ld a, h + ld [wc31e], a + ld hl, wc31a + inc [hl] + ld a, $3 + ld [rSVBK], a + +Function11a970: + ret +; 11a971 + +Function11a971: ; 11a971 + ld hl, wc31f + ld a, [hJoyDown] + and a + jr nz, .asm_11a97f + ld a, [hl] + and a + jr z, .asm_11a97f + dec [hl] + ret + +.asm_11a97f + ld a, [Options] + and $7 + ld [hl], a + ld hl, wcd8d + ld a, [wc31b] + ld e, a + ld a, [wc31c] + ld d, a + ld a, [de] + inc de + ld [hli], a + ld a, e + ld [wc31b], a + ld a, d + ld [wc31c], a + ld a, $50 + ld [hl], a + ld a, [wc31d] + ld l, a + ld a, [wc31e] + ld h, a + ld de, wcd8d + call PlaceString + ld a, c + ld [wc31d], a + ld a, b + ld [wc31e], a + ld a, [wcd8d] + cp $50 + jr nz, .asm_11a9bf + xor a + ld [wc31a], a + +.asm_11a9bf + ret +; 11a9c0 + +Function11a9c0: ; 11a9c0 + ld a, l + ld [wc31b], a + ld a, h + ld [wc31c], a + ld a, $1 + ld [wc31a], a + ret +; 11a9ce + +Function11a9ce: ; 11a9ce + call WhiteBGMap + call Function2bae + call Function1d7d + callba Function106462 + callba Function106464 + call Functiond90 + callba Function2b5c + call Function1ad2 + ret +; 11a9f0 + +Function11a9f0: ; 11a9f0 + ld a, $1 + and a + ret +; 11a9f4 + +Function11a9f4: ; 11a9f4 + ld a, [wcd8a] + ld l, a + ld a, [wcd8b] + ld h, a + inc hl + ld a, l + ld [wcd8a], a + ld a, h + ld [wcd8b], a + ld de, $d5d0 + add hl, de + bit 7, h + ret nz + ld a, $d6 + call Function118805 + and a + ret +; 11aa13 + +UnknownText_0x11aa13: ; 0x11aa13 + text "SAVE FILE will be" + line "sent." + done +; 0x11aa2c + +UnknownText_0x11aa2c: ; 0x11aa2c + text "Sent SAVE FILE." + line "Reading NEWS…" + done +; 0x11aa4b + +UnknownText_0x11aa4b: ; 0x11aa4b + text "Reading NEWS…" + done +; 0x11aa5a + +UnknownText_0x11aa5a: ; 0x11aa5a + text "Received NEWS!" + done +; 0x11aa6a + +UnknownText_0x11aa6a: ; 0x11aa6a + text "Quit reading NEWS?" + done +; 0x11aa7e + +UnknownText_0x11aa7e: ; 0x11aa7e + text "Canceled sending" + line "SAVE FILE." + done +; 0x11aa9b + +UnknownText_0x11aa9b: ; 0x11aa9b + text "ODD EGG" + line "was received!" + done +; 0x11aab2 + +UnknownText_0x11aab2: ; 0x11aab2 + text "Registering your" + line "record…" + done +; 0x11aacc + +UnknownText_0x11aacc: ; 0x11aacc + text "One visit per day" + line "per BATTLE ROOM!" + done +; 0x11aaf0 + +UnknownText_0x11aaf0: ; 0x11aaf0 + text "A party #MON" + line "tops this level." + done +; 0x11ab0f + +UnknownText_0x11ab0f: ; 0x11ab0f + text_from_ram wcd49 + text " may go" + line "only to BATTLE" + + para "ROOMS that are" + line "Lv.70 or higher." + done +; 0x11ab4a + +UnknownText_0x11ab4a: ; 0x11ab4a + text "Cancel your BATTLE" + line "ROOM challenge?" + done +; 0x11ab6e + +UnknownText_0x11ab6e: ; 0x11ab6e + text "Exit GYM LEADER" + line "HONOR ROLL?" + done +; 0x11ab8b + +UnknownText_0x11ab8b: ; 0x11ab8b + text "Linking with the" + line "CENTER…" + done +; 0x11aba5 + +UnknownText_0x11aba5: ; 0x11aba5 + text "What level do you" + line "want to challenge?" + done +; 0x11abcb + +UnknownText_0x11abcb: ; 0x11abcb + text "Check BATTLE ROOM" + line "list by max level?" + done +; 0x11abf1 + +UnknownText_0x11abf1: ; 0x11abf1 + text "Enter which" + line "BATTLE ROOM?" + done +; 0x11ac0b + +UnknownText_0x11ac0b: ; 0x11ac0b + text "Which BATTLE ROOM?" + done +; 0x11ac1f + +UnknownText_0x11ac1f: ; 0x11ac1f + text_from_ram StringBuffer3 + text "'s ROOM" + line "@" + text_from_ram StringBuffer4 + text "?" + cont "Please wait…" + done +; 0x11ac3e + +Function11ac3e: ; 11ac3e + call SpeechTextBox + call FadeToMenu + callab Function8e814 + call Function11ac51 + call Function2b3c + ret +; 11ac51 + +Function11ac51: ; 11ac51 + xor a + ld [hBGMapMode], a + ld hl, Options + ld a, [hl] + push af + set 4, [hl] + ld a, [VramState] + push af + xor a + ld [VramState], a + ld a, [$ffaa] + push af + ld a, $1 + ld [$ffaa], a + xor a + ld [$ffde], a + ld [wcd49], a + ld [wcd4a], a + ld [wcd4c], a + ld [wcd4d], a + ld [wcd4e], a + call Function11ad1b + call DelayFrame +.asm_11ac82 + call Functiona57 + ld a, [wcf63] + bit 7, a + jr nz, .asm_11aca8 + call Function11b314 + call Function11acb7 + call Function11ad6e + ld a, $78 + ld [wc3b5], a + callba Function8cf7a + callba Function104061 + jr .asm_11ac82 + +.asm_11aca8 + call ClearSprites + pop af + ld [$ffaa], a + pop af + ld [VramState], a + pop af + ld [Options], a + ret +; 11acb7 + +Function11acb7: ; 11acb7 + ld hl, Unknown_11ba44 + ld a, [wcd49] + ld c, a + ld b, $0 + sla c + rl b + sla c + rl b + sla c + rl b + add hl, bc + decoord 6, 6 + ld a, [hli] + ld [de], a + decoord 0, 7 + ld bc, $0007 + call CopyBytes + ld a, [wcd49] + inc a + ld [wcd49], a + ld a, [hl] + cp $ff + jr nz, .asm_11aceb + xor a + ld [wcd49], a + +.asm_11aceb + ld hl, Unknown_11bb7d + ld a, [wcd4a] + ld c, a + ld b, $0 + sla c + rl b + sla c + rl b + sla c + rl b + add hl, bc + decoord 3, 9 + ld bc, $0007 + call CopyBytes + ld a, [wcd4a] + inc a + ld [wcd4a], a + inc hl + ld a, [hl] + cp $ff + ret nz + xor a + ld [wcd4a], a + ret +; 11ad1b + +Function11ad1b: ; 11ad1b + call WhiteBGMap + call ClearSprites + call ClearTileMap + callba Function17c000 + ld a, [wcfa9] + ld [wcd82], a + dec a + ld [$ffb0], a + ld a, $10 + ld [wc3b7], a + ld hl, Function8e83f + ld a, BANK(Function8e83f) + ld e, $4 + rst FarCall + ld hl, Function8e83f + ld a, BANK(Function8e83f) + ld e, $5 + rst FarCall + ld hl, $c6d0 + ld bc, $0115 + xor a + call ByteFill + xor a + ld [wcf63], a + ld [wcf64], a + ld [wcf65], a + ld [wcf66], a + ld [wcd30], a + ld a, $2 + ld [wc7d4], a + callba Function40bdc + ret +; 11ad6e + +Function11ad6e: ; 11ad6e + ld a, [wcf63] + ld hl, Jumptable_11ad78 + call Function11b239 + jp [hl] +; 11ad78 + +Jumptable_11ad78: ; 11ad78 + dw Function11b082 + dw Function11b0ff + dw Function11ad95 + dw Function11adc4 + dw Function11ae4e + dw Function11ae98 + dw Function11ad8f + dw Function11af04 + dw Function11af4e +; 11ad8a + +Function11ad8a: ; 11ad8a + ld hl, wcf63 + inc [hl] + ret +; 11ad8f + +Function11ad8f: ; 11ad8f + ld hl, wcf63 + set 7, [hl] + ret +; 11ad95 + +Function11ad95: ; 11ad95 + ld hl, MenuDataHeader_11ae38 + call LoadMenuDataHeader + call Function1cbb + hlcoord 12, 12 + ld de, String_11ae40 + call PlaceString + hlcoord 10, 10, AttrMap + ld bc, $0808 + call Function11afd6 + callba Function104061 + call Function11ad8a + ld a, $1 + ld [wcfa9], a + ld hl, Unknown_11afcc + call Function11afb7 + +Function11adc4: + ld hl, hJoyPressed + ld a, [hl] + and a + ret z + ld a, [hl] + and $40 + jr nz, .asm_11ade6 + ld a, [hl] + and $80 + jr nz, .asm_11aded + ld a, [hl] + and $1 + jr nz, .asm_11ae06 + ld a, [hl] + and $2 + ret z + call PlayClickSFX + xor a + ld [wcf63], a + jr .asm_11ae2e + +.asm_11ade6 + ld a, [wcfa9] + dec a + ret z + jr .asm_11adf4 + +.asm_11aded + ld a, [wcfa9] + inc a + cp $4 + ret z + +.asm_11adf4 + push af + ld hl, Unknown_11afcc + call Function11afbb + pop af + ld [wcfa9], a + ld hl, Unknown_11afcc + call Function11afb7 + ret + +.asm_11ae06 + call PlayClickSFX + ld a, [wcfa9] + dec a + ld hl, wcd30 + ld [hl], a + and a + jr z, .asm_11ae28 + hlcoord 2, 14 + ld a, [wcfa9] + cp $2 + jr z, .asm_11ae23 + call Function11b272 + jr .asm_11ae2b + +.asm_11ae23 + call Function11b267 + jr .asm_11ae2b + +.asm_11ae28 + ld a, $3 + ld [hl], a + +.asm_11ae2b + call Function11ad8a + +.asm_11ae2e + call Function1c07 + callba Function104061 + ret +; 11ae38 + +MenuDataHeader_11ae38: ; 11ae38 + db $40 ; flags + db 10, 10 ; start coords + db 17, 17 ; end coords + dw NULL + db 0 ; default option +; 11ae40 + +String_11ae40: ; 11ae40 + db "どちらでも" + next "♂ォス" + next "♀メス" + db "@" +; 11ae4e + +Function11ae4e: ; 11ae4e + ld hl, MenuDataHeader_11afe8 + call LoadMenuDataHeader + call Function1cbb + hlcoord 10, 14 + ld de, String_11aff0 + call PlaceString + ld hl, MenuDataHeader_11b013 + call LoadMenuDataHeader + call Function1cbb + hlcoord 16, 8 + ld de, String_11b01b + call PlaceString + hlcoord 14, 7, AttrMap + lb bc, 5, 6 + call Function11afd6 + hlcoord 9, 12, AttrMap + lb bc, 6, 11 + call Function11afd6 + callba Function104061 + call Function11ad8a + ld a, $1 + ld [wcfa9], a + ld hl, Unknown_11afd2 + call Function11afb7 + +Function11ae98: + ld hl, hJoyPressed + ld a, [hl] + and a + ret z + ld a, [hl] + and D_UP + jr nz, .asm_11aec1 + ld a, [hl] + and D_DOWN + jr nz, .asm_11aec8 + ld a, [hl] + and A_BUTTON + jr nz, .asm_11aee1 + ld a, [hl] + and B_BUTTON + ret z + call PlayClickSFX +.asm_11aeb4 + hlcoord 2, 14 + ld a, $7f + ld [hl], a + ld a, $1 + ld [wcf63], a + jr .asm_11aef7 + +.asm_11aec1 + ld a, [wcfa9] + dec a + ret z + jr .asm_11aecf + +.asm_11aec8 + ld a, [wcfa9] + inc a + cp $3 + ret z + +.asm_11aecf + push af + ld hl, Unknown_11afd2 + call Function11afbb + pop af + ld [wcfa9], a + ld hl, Unknown_11afd2 + call Function11afb7 + ret + +.asm_11aee1 + call PlayClickSFX + ld a, [wcfa9] + cp $2 + jr z, .asm_11aeb4 + ld a, [wcd4b] + ld [ScriptVar], a + call Function11b022 + call Function11ad8a + +.asm_11aef7 + call Function1c07 + call Function1c07 + callba Function104061 + ret +; 11af04 + +Function11af04: ; 11af04 + ld hl, MenuDataHeader_11afe8 + call LoadMenuDataHeader + call Function1cbb + hlcoord 10, 14 + ld de, String_11b003 + call PlaceString + ld hl, MenuDataHeader_11b013 + call LoadMenuDataHeader + call Function1cbb + hlcoord 16, 8 + ld de, String_11b01b + call PlaceString + hlcoord 14, 7, AttrMap + lb bc, 5, 6 + call Function11afd6 + hlcoord 9, 12, AttrMap + lb bc, 6, 11 + call Function11afd6 + callba Function104061 + call Function11ad8a + ld a, $2 + ld [wcfa9], a + ld hl, Unknown_11afd2 + call Function11afb7 + +Function11af4e: + ld hl, hJoyPressed + ld a, [hl] + and a + ret z + ld a, [hl] + and D_UP + jr nz, .asm_11af77 + ld a, [hl] + and D_DOWN + jr nz, .asm_11af7e + ld a, [hl] + and A_BUTTON + jr nz, .asm_11af97 + ld a, [hl] + and B_BUTTON + ret z + call PlayClickSFX +.asm_11af6a + hlcoord 2, 14 + ld a, $7f + ld [hl], a + ld a, $1 + ld [wcf63], a + jr .asm_11afaa + +.asm_11af77 + ld a, [wcfa9] + dec a + ret z + jr .asm_11af85 + +.asm_11af7e + ld a, [wcfa9] + inc a + cp $3 + ret z + +.asm_11af85 + push af + ld hl, Unknown_11afd2 + call Function11afbb + pop af + ld [wcfa9], a + ld hl, Unknown_11afd2 + call Function11afb7 + ret + +.asm_11af97 + call PlayClickSFX + ld a, [wcfa9] + cp $2 + jr z, .asm_11af6a + ld a, $6 + ld [wcf63], a + xor a + ld [ScriptVar], a + +.asm_11afaa + call Function1c07 + call Function1c07 + callba Function104061 + ret +; 11afb7 + +Function11afb7: ; 11afb7 + ld e, $ed + jr asm_11afbd + +Function11afbb: + ld e, $7f + +asm_11afbd: + ld a, [wcfa9] + dec a + ld c, a + ld b, 0 + add hl, bc + add hl, bc + ld a, e + ld e, [hl] + inc hl + ld d, [hl] + ld [de], a + ret +; 11afcc + +Unknown_11afcc: + dwcoord 11, 12 + dwcoord 11, 14 + dwcoord 11, 16 + +Unknown_11afd2: + dwcoord 15, 8 + dwcoord 15, 10 +; 11afd6 + +Function11afd6: ; 11afd6 + ld de, $0014 + ld a, $3 +.asm_11afdb + push bc + push hl +.asm_11afdd + ld [hli], a + dec c + jr nz, .asm_11afdd + pop hl + add hl, de + pop bc + dec b + jr nz, .asm_11afdb + ret +; 11afe8 + +MenuDataHeader_11afe8: ; 11afe8 + db $40 ; flags + db 12, 9 ; start coords + db 17, 19 ; end coords + dw NULL + db 0 ; default option +; 11aff0 + +String_11aff0: ; 11aff0 + db "この じょうけんで" + next "よろしいですか?@" +; 11b003 + +String_11b003: ; 11b003 + db "こうかんを" + next "ちゅうししますか?@" +; 11b013 + +MenuDataHeader_11b013: ; 11b013 + db $40 ; flags + db 7, 14 ; start coords + db 11, 19 ; end coords + dw NULL + db 1 ; default option +; 11b01b + +String_11b01b: + db "はい" + next "いいえ@" +; 11b022 + +Function11b022: ; 11b022 + ld a, [wcd2e] + and a + jr z, .asm_11b02e + ld hl, StringBuffer3 + call Function11b03d + +.asm_11b02e + ld a, [wcd30] + and a + ret z + cp $3 + ret z + ld hl, StringBuffer4 + call Function11b03d + ret +; 11b03d + +Function11b03d: ; 11b03d + push hl + push af + ld c, $1 +.asm_11b041 + ld a, [hli] + cp $ef + jr z, .asm_11b051 + cp $f5 + jr z, .asm_11b051 + cp $50 + jr z, .asm_11b055 + inc c + jr .asm_11b041 + +.asm_11b051 + dec hl + ld a, $50 + ld [hli], a + +.asm_11b055 + dec hl + push hl + ld e, $4 + ld d, $0 + add hl, de + ld e, l + ld d, h + pop hl +.asm_11b05f + ld a, [hld] + ld [de], a + dec de + dec c + jr nz, .asm_11b05f + pop af + pop de + cp $1 + jr nz, .asm_11b070 + ld hl, String_11b07a + jr .asm_11b073 + +.asm_11b070 + ld hl, String_11b07e + +.asm_11b073 + ld bc, 4 + call CopyBytes + ret +; 11b07a + +String_11b07a: db "ォスの " +String_11b07e: db "メスの " + +Function11b082: ; 11b082 + call Function11b242 + ld a, $7 + ld [wc7d3], a + call Function11b099 + call Function11b295 + call Function11b275 + call Function32f9 + jp Function11ad8a +; 11b099 + +Function11b099: ; 11b099 + ld c, $6 + hlcoord 11, 1 + ld a, [wc7d3] + add a + ld b, a + xor a + call Function11b236 + ld a, [wc7d0] + ld e, a + ld d, $0 + ld hl, $c6d0 + add hl, de + ld e, l + ld d, h + hlcoord 11, 2 + ld a, [wc7d3] +.asm_11b0b9 + push af + ld a, [de] + ld [wd265], a + push de + push hl + call Function11b0cf + pop hl + ld de, $0028 + add hl, de + pop de + inc de + pop af + dec a + jr nz, .asm_11b0b9 + ret +; 11b0cf + +Function11b0cf: ; 11b0cf + and a + ret z + call Function11b0ec + ret c + call Function11b0e1 + push hl + call GetPokemonName + pop hl + call PlaceString + ret +; 11b0e1 + +Function11b0e1: ; 11b0e1 + call Function11b21e + jr nz, .asm_11b0e8 + inc hl + ret + +.asm_11b0e8 + ld a, $1 + ld [hli], a + ret +; 11b0ec + +Function11b0ec: ; 11b0ec + call Function11b22a + ret nz + inc hl + ld de, String_11b0f9 + call PlaceString + scf + ret +; 11b0f9 + +String_11b0f9: ; 11b0f9 + db "ーーーーー@" +; 11b0ff + +Function11b0ff: ; 11b0ff + ld hl, hJoyPressed + ld a, [hl] + and $2 + jr nz, .asm_11b141 + ld a, [hl] + and $1 + jr nz, .asm_11b131 + call Function11b175 + jr nc, .asm_11b125 + ld a, [wcd4c] + inc a + and $3 + ld [wcd4c], a + xor a + ld [hBGMapMode], a + call Function11b099 + ld a, $1 + ld [hBGMapMode], a + ret + +.asm_11b125 + ld a, [wcd4c] + and a + ret z + inc a + and $3 + ld [wcd4c], a + ret + +.asm_11b131 + call Function11b20b + call Function11b22a + jr z, .asm_11b13d + ld a, $1 + jr .asm_11b148 + +.asm_11b13d + ld a, $2 + jr .asm_11b148 + +.asm_11b141 + ld hl, wcf63 + ld a, $7 + ld [hl], a + ret + +.asm_11b148 + call PlayClickSFX + ld [wcd4b], a + and a + jr z, .asm_11b16c + ld a, [wcf65] + cp $0 + jr z, .asm_11b163 + cp $fe + jr z, .asm_11b167 + cp $ff + jr z, .asm_11b16b + jp Function11ad8a + +.asm_11b163 + ld a, $1 + jr .asm_11b16c + +.asm_11b167 + ld a, $2 + jr .asm_11b16c + +.asm_11b16b + xor a + +.asm_11b16c + ld [wcd30], a + ld a, $4 + ld [wcf63], a + ret +; 11b175 + +Function11b175: ; 11b175 + ld a, [wc7d3] + ld d, a + ld a, [wc7d2] + ld e, a + ld hl, $ffa9 + ld a, [hl] + and $40 + jr nz, .asm_11b19a + ld a, [hl] + and $80 + jr nz, .asm_11b1ae + ld a, d + cp e + jr nc, .asm_11b1ed + ld a, [hl] + and $20 + jr nz, .asm_11b1c6 + ld a, [hl] + and $10 + jr nz, .asm_11b1d8 + jr .asm_11b1ed + +.asm_11b19a + ld hl, wc7d1 + ld a, [hl] + and a + jr z, .asm_11b1a4 + dec [hl] + jr .asm_11b1ef + +.asm_11b1a4 + ld hl, wc7d0 + ld a, [hl] + and a + jr z, .asm_11b1ed + dec [hl] + jr .asm_11b1ef + +.asm_11b1ae + ld hl, wc7d1 + ld a, [hl] + inc a + cp e + jr nc, .asm_11b1ed + cp d + jr nc, .asm_11b1bc + inc [hl] + jr .asm_11b1ef + +.asm_11b1bc + ld hl, wc7d0 + add [hl] + cp e + jr nc, .asm_11b1ed + inc [hl] + jr .asm_11b1ef + +.asm_11b1c6 + ld hl, wc7d0 + ld a, [hl] + and a + jr z, .asm_11b1ed + cp d + jr nc, .asm_11b1d4 + xor a + ld [hl], a + jr .asm_11b1ef + +.asm_11b1d4 + sub d + ld [hl], a + jr .asm_11b1ef + +.asm_11b1d8 + ld hl, wc7d0 + ld a, d + add a + add [hl] + jr c, .asm_11b1e3 + cp e + jr c, .asm_11b1e8 + +.asm_11b1e3 + ld a, e + sub d + ld [hl], a + jr .asm_11b1ef + +.asm_11b1e8 + ld a, [hl] + add d + ld [hl], a + jr .asm_11b1ef + +.asm_11b1ed + and a + ret + +.asm_11b1ef + call Function11b295 + call Function11b275 + scf + ret +; 11b1f7 + +Function11b1f7: ; 11b1f7 + ld hl, TileMap + ld a, $32 + ld bc, $0168 + call ByteFill + ret +; 11b203 + +Function11b203: ; 11b203 +.asm_11b203 + ld a, [de] + cp $ff + ret z + inc de + ld [hli], a + jr .asm_11b203 +; 11b20b + +Function11b20b: ; 11b20b + ld a, [wc7d1] + ld hl, wc7d0 + add [hl] + ld e, a + ld d, $0 + ld hl, $c6d0 + add hl, de + ld a, [hl] + ld [wd265], a + ret +; 11b21e + +Function11b21e: ; 11b21e + push de + push hl + ld a, [wd265] + dec a + call CheckCaughtMon + pop hl + pop de + ret +; 11b22a + +Function11b22a: ; 11b22a + push de + push hl + ld a, [wd265] + dec a + call CheckSeenMon + pop hl + pop de + ret +; 11b236 + +Function11b236: ; 11b236 + jp Functionfb8 +; 11b239 + +Function11b239: ; 11b239 + ld e, a + ld d, 0 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + ret +; 11b242 + +Function11b242: ; 11b242 + hlcoord 3, 4 + ld de, StringBuffer3 + call PlaceString + xor a + ld [MonType], a + callba GetGender + hlcoord 1, 4 + ld a, [CurPartySpecies] + ld bc, wcd2f + ld [bc], a + dec bc + jr c, asm_11b26a + jr z, asm_11b26f + ld a, $1 + ld [bc], a + +Function11b267: + ld [hl], $ef + ret + +asm_11b26a + xor a + ld [bc], a + ld [hl], $7f + ret + +asm_11b26f + ld a, $2 + ld [bc], a + +Function11b272: + ld [hl], $f5 + ret +; 11b275 + +Function11b275: ; 11b275 + call Function11b279 + ret +; 11b279 + +Function11b279: ; 11b279 + ld a, [wd265] + ld [CurSpecies], a + call Function11b22a + jr z, .asm_11b28f + call GetBaseData + ld a, [BaseGender] + ld [wcf65], a + jr .asm_11b294 + +.asm_11b28f + ld a, $ff + ld [wcf65], a + +.asm_11b294 + ret +; 11b295 + +Function11b295: ; 11b295 + hlcoord 4, 13 + ld de, String_11b308 + call PlaceString + hlcoord 4, 14 + ld de, String_11b308 + call PlaceString + call Function11b20b + call Function11b22a + jr z, .asm_11b2d1 + ld a, [$c608] + ld c, a + ld a, [$c608 + 1] + ld b, a + ld hl, $0007 + add hl, bc + xor a + ld [hl], a + ld hl, $0003 + add hl, bc + ld e, [hl] + callba Function8e9bc + hlcoord 4, 14 + push hl + call GetPokemonName + jr .asm_11b2e7 + +.asm_11b2d1 + ld a, [$c608] + ld c, a + ld a, [$c608 + 1] + ld b, a + ld hl, $0007 + add hl, bc + ld a, $50 + ld [hl], a + hlcoord 4, 13 + push hl + ld de, String_11b30e + +.asm_11b2e7 + ld a, $6 + ld bc, StringBuffer4 +.asm_11b2ec + push af + ld a, [de] + ld [bc], a + inc de + inc bc + pop af + dec a + and a + jr nz, .asm_11b2ec + pop hl + ld de, StringBuffer4 + call PlaceString + ret +; 11b2fe + +String_11b2fe: ; 11b2fe + db "あげる#@" +; 11b303 + +String_11b303: ; 11b303 + db "ほしい#@" +; 11b308 + +String_11b308: ; 11b308 + db " @" +; 11b30e + +String_11b30e: ; 11b30e + db "みはっけん@" +; 11b314 + +Function11b314: ; 11b314 + call Function11b31b + call Function11b3d9 + ret +; 11b31b + +Function11b31b: ; 11b31b + ld hl, Unknown_11b350 + ld a, [wcf63] + cp $2 + jr c, .asm_11b349 + ld a, [wc7d1] + cp $4 + jr nc, .asm_11b344 + cp $3 + jr c, .asm_11b349 + ld a, [wcf63] + cp $2 + jr z, .asm_11b349 + cp $3 + jr z, .asm_11b349 + cp $6 + jr z, .asm_11b349 + + ld bc, Unknown_11b37b + jr .asm_11b34c + +.asm_11b344 + ld bc, Unknown_11b389 + jr .asm_11b34c + +.asm_11b349 + ld bc, Unknown_11b36d + +.asm_11b34c + call Function11b397 + ret +; 11b350 + +Unknown_11b350: +INCBIN "baserom.gbc",$11b350,$11b36d - $11b350 + +Unknown_11b36d: +INCBIN "baserom.gbc",$11b36d,$11b37b - $11b36d +Unknown_11b37b: +INCBIN "baserom.gbc",$11b37b,$11b389 - $11b37b +Unknown_11b389: +INCBIN "baserom.gbc",$11b389,$11b397 - $11b389 + +Function11b397: ; 11b397 + ld de, Sprites +.asm_11b39a + ld a, [hl] + cp $ff + ret z + ld a, [wc7d1] + and $7 + swap a + add [hl] + inc hl + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [bc] + inc bc + ld [de], a + inc de + ld a, $5 + ld [de], a + inc de + jr .asm_11b39a +; 11b3b6 + +Function11b3b6: ; 11b3b6 +.asm_11b3b6 + ld a, [hl] + cp $ff + ret z + ld a, [wcd4d] + and $7 + swap a + add [hl] + inc hl + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + push hl + ld l, c + ld h, b + ld a, [wcd4e] + add [hl] + inc bc + ld [de], a + inc de + pop hl + ld a, $5 + ld [de], a + inc de + jr .asm_11b3b6 +; 11b3d9 + +Function11b3d9: ; 11b3d9 + ld de, Sprites + $70 + push de + ld a, [wc7d2] + dec a + ld e, a + ld a, [wc7d1] + ld hl, wc7d0 + add [hl] + cp e + jr z, .asm_11b40d + ld hl, $0000 + ld bc, $0070 + call AddNTimes + ld e, l + ld d, h + ld b, $0 + ld a, d + or e + jr z, .asm_11b40f + ld a, [wc7d2] + ld c, a +.asm_11b401 + ld a, e + sub c + ld e, a + ld a, d + sbc $0 + ld d, a + jr c, .asm_11b40f + inc b + jr .asm_11b401 + +.asm_11b40d + ld b, $70 + +.asm_11b40f + ld a, $15 + add b + pop hl + ld [hli], a + cp $41 + jr c, .asm_11b42b + ld a, [wcf63] + cp $4 + jr z, .asm_11b43b + cp $5 + jr z, .asm_11b43b + cp $7 + jr z, .asm_11b43b + cp $8 + jr z, .asm_11b43b + +.asm_11b42b + ld a, $9b + ld [hli], a + ld a, [wcd4c] + add $3c + ld [hli], a + ld a, [wcd4c] + add $1 + ld [hl], a + ret + +.asm_11b43b + ld a, $9b + ld [hli], a + ld a, $39 + ld [hli], a + xor a + ld [hl], a + ret +; 11b444 + +Function11b444: ; 11b444 + call Function11b44b + call Function11b45c + ret +; 11b44b + +Function11b44b: ; 11b44b + xor a + ld [wcf63], a + ld [wcf64], a + ld [wcf65], a + ld [wcf66], a + call UpdateTime + ret +; 11b45c + +Function11b45c: ; 11b45c +.asm_11b45c + call Function11b46a + call DelayFrame + ld a, [wcf63] + cp $4 + jr nz, .asm_11b45c + ret +; 11b46a + +Function11b46a: ; 11b46a + ld a, [wcf63] + ld e, a + ld d, 0 + ld hl, Jumptable_11b479 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 11b479 + +Jumptable_11b479: ; 11b479 + dw Function11b483 + dw Function11b570 + dw Function11b5c0 + dw Function11b5e0 + dw Function11b5e7 +; 11b483 + +Function11b483: ; 11b483 + call Function11b538 + ld hl, PlayerName + ld a, $5 +.asm_11b48b + push af + ld a, [hli] + ld [bc], a + inc bc + pop af + dec a + and a + jr nz, .asm_11b48b + ld de, $0030 + ld hl, PartyMon1Species + ld a, [wcd82] + dec a + push af +.asm_11b49f + and a + jr z, .asm_11b4a6 + add hl, de + dec a + jr .asm_11b49f + +.asm_11b4a6 + push bc + ld a, $30 +.asm_11b4a9 + push af + ld a, [hli] + ld [bc], a + inc bc + pop af + dec a + and a + jr nz, .asm_11b4a9 + pop de + push bc + ld a, [de] + ld [CurSpecies], a + call GetBaseData + ld hl, $001f + add hl, de + ld a, [hl] + ld [CurPartyLevel], a + ld hl, $0024 + add hl, de + push hl + ld hl, $000a + add hl, de + pop de + push de + ld b, $1 + predef Functione167 + pop de + ld h, d + ld l, e + dec hl + dec hl + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hl], a + pop bc + ld de, $000b + ld hl, PartyMonOT + pop af + push af +.asm_11b4e8 + and a + jr z, .asm_11b4ef + add hl, de + dec a + jr .asm_11b4e8 + +.asm_11b4ef + ld a, $a +.asm_11b4f1 + push af + ld a, [hli] + ld [bc], a + inc bc + pop af + dec a + and a + jr nz, .asm_11b4f1 + ld de, $000b + ld hl, PartyMonNicknames + pop af + push af +.asm_11b502 + and a + jr z, .asm_11b509 + add hl, de + dec a + jr .asm_11b502 + +.asm_11b509 + ld a, $a +.asm_11b50b + push af + ld a, [hli] + ld [bc], a + inc bc + pop af + dec a + and a + jr nz, .asm_11b50b + ld de, $002f + ld hl, $a600 + pop af +.asm_11b51b + and a + jr z, .asm_11b522 + add hl, de + dec a + jr .asm_11b51b + +.asm_11b522 + ld a, $0 + call GetSRAMBank + ld a, $2f +.asm_11b529 + push af + ld a, [hli] + ld [bc], a + inc bc + pop af + dec a + and a + jr nz, .asm_11b529 + call CloseSRAM + jp Function11ad8a +; 11b538 + +Function11b538: ; 11b538 + ld bc, BattleMonNick + 5 + ld a, [PlayerID] + ld [wcd2a], a + ld [bc], a + inc bc + ld a, [PlayerID + 1] + ld [wcd2b], a + ld [bc], a + inc bc + ld a, [wd84a] + ld [wcd2c], a + ld [bc], a + inc bc + ld a, [wd84b] + ld [wcd2d], a + ld [bc], a + inc bc + ld a, [wcd2e] + ld [bc], a + inc bc + ld a, [wcd2f] + ld [bc], a + inc bc + ld a, [wcd30] + ld [bc], a + inc bc + ld a, [wd265] + ld [bc], a + inc bc + ret +; 11b570 + +Function11b570: ; 11b570 + call Function118007 + ld a, [ScriptVar] + and a + jr nz, .asm_11b57f + call Function11b585 + jp Function11ad8a + +.asm_11b57f + ld a, $4 + ld [wcf63], a + ret +; 11b585 + +Function11b585: ; 11b585 + ld a, $3 + ld [rSVBK], a + ld hl, $d800 + ld de, $c608 + ld bc, $008f + call CopyBytes + ld a, $1 + ld [rSVBK], a + ld a, $5 + call GetSRAMBank + ld de, $a800 + ld a, $1 + ld [de], a + inc de + ld hl, $c608 + ld bc, $008f + call CopyBytes + push de + pop hl + ld a, [hRTCMinutes] + ld [hli], a + ld a, [hRTCHours] + ld [hli], a + ld a, [hRTCDayLo] + ld [hli], a + ld a, [hRTCDayHi] + ld [hl], a + call CloseSRAM + ret +; 11b5c0 + +Function11b5c0: ; 11b5c0 + ld a, [wcd82] + dec a + ld [CurPartyMon], a + xor a + ld [wd10b], a + callba Functione039 + callba Function170807 + callba Function14a58 + jp Function11ad8a +; 11b5e0 + +Function11b5e0: ; 11b5e0 + xor a + ld [ScriptVar], a + jp Function11ad8a +; 11b5e7 + +Function11b5e7: ; 11b5e7 + ret +; 11b5e8 + +Function11b5e8: ; 11b5e8 + ld a, $0 + call GetSRAMBank + ld hl, wRTC + ld de, $c608 + ld bc, $0004 + call CopyBytes + call CloseSRAM + ld a, $5 + call GetSRAMBank + ld hl, $c608 + ld de, $b08c + ld bc, $0004 + call CopyBytes + ld a, $2 + ld [$a800], a + ld a, [$a81f] + ld [wcd2a], a + ld a, [$a820] + ld [wcd2b], a + ld a, [$a821] + ld [wcd2c], a + ld a, [$a822] + ld [wcd2d], a + ld a, [$a823] + ld [wcd2e], a + ld a, [$a824] + ld [wcd2f], a + ld a, [$a825] + ld [wcd30], a + ld a, [$a826] + ld [wcd31], a + call CloseSRAM + call Function11b44b + call Function11b64c + ret +; 11b64c + +Function11b64c: ; 11b64c +.asm_11b64c + call Function11b65a + call DelayFrame + ld a, [wcf63] + cp $1 + jr nz, .asm_11b64c + ret +; 11b65a + +Function11b65a: ; 11b65a + ld a, [wcf63] + ld e, a + ld d, 0 + ld hl, Jumptable_11b669 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 11b669 + +Jumptable_11b669: ; 11b669 + dw Function11b66d + dw Function11b6b3 +; 11b66d + +Function11b66d: ; 11b66d + call Function1180b8 + ld a, [ScriptVar] + and a + jr nz, .asm_11b6b0 + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a + ld a, [StringBuffer2 + 10] + ld b, a + pop af + ld [rSVBK], a + ld a, b + and a + jr z, .asm_11b691 + cp $1 + jr nz, .asm_11b6b0 + call Function11b6b4 + jr .asm_11b6b0 + +.asm_11b691 + callba Function17081d + ld a, [ScriptVar] + and a + jr z, .asm_11b6b0 + xor a + ld [ScriptVar], a + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a + ld a, $2 + ld [StringBuffer2 + 10], a + pop af + ld [rSVBK], a + +.asm_11b6b0 + jp Function11ad8a +; 11b6b3 + +Function11b6b3: ; 11b6b3 + ret +; 11b6b4 + +Function11b6b4: ; 11b6b4 + ld a, $5 + call GetSRAMBank + ld a, [wcd30] + ld [wc708], a + ld a, [wcd31] + ld [wc709], a + ld a, $8 + ld [BGMapBuffer], a + ld a, $c7 + ld [wcd21], a + ld a, $d + ld [CreditsTimer], a + ld a, $c6 + ld [wcd23], a + ld a, $3d + ld [wcd24], a + ld a, $c6 + ld [wcd25], a + ld a, $42 + ld [wcd26], a + ld a, $c6 + ld [wcd27], a + ld a, $47 + ld [wcd28], a + ld a, $c6 + ld [wcd29], a + ld a, $46 + ld [$c628], a + ld de, $c63d + ld c, $5 + callba Function17d073 + jr nc, .asm_11b70f + callba Function17d187 + +.asm_11b70f + ld de, $c63d + ld bc, $0105 + callba Function17d1e1 + jr nc, .asm_11b723 + callba Function17d187 + +.asm_11b723 + ld de, $c642 + ld c, $5 + callba Function17d073 + jr nc, .asm_11b736 + callba Function17d199 + +.asm_11b736 + ld de, $c642 + ld bc, $0105 + callba Function17d1e1 + jr nc, .asm_11b74a + callba Function17d199 + +.asm_11b74a + ld de, $c647 + ld c, $21 + callba Function17d073 + jr nc, .asm_11b75d + callba Function17d1ab + +.asm_11b75d + ld de, $c647 + ld bc, $0221 + callba Function17d1e1 + jr c, .asm_11b770 + ld a, b + cp $2 + jr nz, .asm_11b776 + +.asm_11b770 + callba Function17d1ab + +.asm_11b776 + ld de, $c668 + ld c, $5 + callba Function17d073 + jr nc, .asm_11b789 + callba Function17d1c9 + +.asm_11b789 + ld de, $c668 + ld bc, $0105 + callba Function17d1e1 + jr nc, .asm_11b79d + callba Function17d1c9 + +.asm_11b79d + ld a, [$c608 + 6] + cp $ff + jr nz, .asm_11b7a8 + xor a + ld [$c608 + 6], a + +.asm_11b7a8 + ld a, [wcd31] + ld [$c608 + 5], a + ld [CurSpecies], a + call GetBaseData + + ld hl, $c62c + ld a, [hl] + cp MIN_LEVEL + ld a, MIN_LEVEL + jr c, .asm_11b7c5 + ld a, [hl] + cp MAX_LEVEL + jr c, .asm_11b7c6 + ld a, MAX_LEVEL +.asm_11b7c5 + ld [hl], a +.asm_11b7c6 + ld [CurPartyLevel], a + + ld hl, $c616 + 1 + ld de, $c62c + 5 + ld b, $1 + predef Functione167 + ld de, $c62c + 5 + ld hl, $c62c + 3 + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hl], a + call Function11b98f + ret +; 11b7e5 + +Function11b7e5: ; 11b7e5 + ld a, [$c608 + 5] + ld [wc702], a + ld [CurPartySpecies], a + ld a, [wcd81] + ld [wc74e], a + ld hl, $c63d + ld de, wc724 + ld bc, $0005 + call CopyBytes + ld a, $50 + ld [de], a + ld a, [$c608 + 11] + ld [wc731], a + ld a, [$c608 + 12] + ld [wc732], a + ld hl, $c608 + 26 + ld a, [hli] + ld [wc72f], a + ld a, [hl] + ld [wc730], a + ld bc, $c608 + 5 + callba GetCaughtGender + ld a, c + ld [wc733], a + call SpeechTextBox + call FadeToMenu + callba Function108016 + callba Function17d1f1 + ld a, $1 + ld [wd1e9], a + ld a, $2 + ld [InLinkBattle], a + callba Function421d8 + xor a + ld [InLinkBattle], a + callba Function14a58 + ld a, $5 + call GetSRAMBank + ld a, $5 + ld [$a800], a + call CloseSRAM + ld a, [MapGroup] + ld b, a + ld a, [MapNumber] + ld c, a + call GetMapTrigger + ld a, d + or e + jr z, .asm_11b872 + ld a, $1 + ld [de], a + +.asm_11b872 + call Function2b3c + call RestartMapMusic + ret +; 11b879 + +Function11b879: ; 11b879 + callba Function17089a + ld a, [ScriptVar] + and a + ret z + ld a, $5 + call GetSRAMBank + ld a, [$a800] + ld [ScriptVar], a + ld a, [$a890] + ld [wcd49], a + ld a, [$a891] + ld [wcd4a], a + ld a, [$a892] + ld [wcd4b], a + ld a, [$a893] + ld [wcd4c], a + call CloseSRAM + ld a, [ScriptVar] + and a + ret z + ld hl, wcd4c + ld a, [hRTCDayHi] + cp [hl] + ret nz + dec hl + ld a, [hRTCDayLo] + cp [hl] + ret nz + ld hl, wcd4a + ld a, [hRTCHours] + cp [hl] + jr nc, .asm_11b8d8 + ld a, $18 + sub [hl] + ld hl, hRTCHours + add [hl] + ld [wcd4c], a + ld a, [hRTCMinutes] + ld [wcd4b], a + xor a + ld [wcd4a], a + jr .asm_11b8e2 + +.asm_11b8d8 + ld a, [hRTCMinutes] + ld [wcd4b], a + ld a, [hRTCHours] + ld [wcd4c], a + +.asm_11b8e2 + xor a + ld l, a + ld h, a + ld b, a + ld d, a + ld a, [wcd4b] + ld e, a + ld a, [wcd4c] + ld c, $3c + call AddNTimes + add hl, de + push hl + xor a + ld l, a + ld h, a + ld b, a + ld d, a + ld a, [wcd49] + ld e, a + ld a, [wcd4a] + ld c, $3c + call AddNTimes + add hl, de + ld a, l + cpl + add $1 + ld e, a + ld a, h + cpl + adc $0 + ld d, a + pop hl + add hl, de + ld de, $ff88 + add hl, de + bit 7, h + ret z + ld a, $2 + ld [ScriptVar], a + ret +; 11b920 + +Function11b920: ; 11b920 + call Function11b44b + ld a, $5 + call GetSRAMBank + ld hl, $a81f + ld de, BattleMonNick + 5 + ld bc, $0008 + call CopyBytes + call CloseSRAM + call Function118000 + ret +; 11b93b + +Function11b93b: ; 11b93b + ld a, $5 + call GetSRAMBank + xor a + ld [$a800], a + ld hl, $a823 + ld de, $c608 + ld bc, $008f + call CopyBytes + call CloseSRAM + ld a, $8 + ld [BGMapBuffer], a + ld a, $c6 + ld [wcd21], a + ld a, $11 + ld [CreditsTimer], a + ld a, $c6 + ld [wcd23], a + ld a, $41 + ld [wcd24], a + ld a, $c6 + ld [wcd25], a + ld a, $46 + ld [wcd26], a + ld a, $c6 + ld [wcd27], a + ld a, $4b + ld [wcd28], a + ld a, $c6 + ld [wcd29], a + call Function11b98f + callba Function14a58 + ret +; 11b98f + +Function11b98f: ; 11b98f + ld hl, PartyCount + ld a, [hl] + ld e, a + inc [hl] + ld a, [BGMapBuffer] + ld l, a + ld a, [wcd21] + ld h, a + inc hl + ld bc, PartySpecies + ld d, e +.asm_11b9a2 + inc bc + dec d + jr nz, .asm_11b9a2 + ld a, e + ld [CurPartyMon], a + ld a, [hl] + ld [bc], a + inc bc + ld a, $ff + ld [bc], a + ld hl, PartyMon1Species + ld bc, PartyMon2 - PartyMon1 + ld a, e + ld [wcd2a], a +.asm_11b9ba + add hl, bc + dec a + and a + jr nz, .asm_11b9ba + ld e, l + ld d, h + ld a, [CreditsTimer] + ld l, a + ld a, [wcd23] + ld h, a + ld bc, PartyMon2 - PartyMon1 + call CopyBytes + ld hl, PartyMonOT + ld bc, $000b + ld a, [wcd2a] +.asm_11b9d8 + add hl, bc + dec a + and a + jr nz, .asm_11b9d8 + ld e, l + ld d, h + ld a, [wcd24] + ld l, a + ld a, [wcd25] + ld h, a + ld bc, $000a + call CopyBytes + ld a, $50 + ld [de], a + ld hl, PartyMonNicknames + ld bc, $000b + ld a, [wcd2a] +.asm_11b9f9 + add hl, bc + dec a + and a + jr nz, .asm_11b9f9 + ld e, l + ld d, h + ld a, [wcd26] + ld l, a + ld a, [wcd27] + ld h, a + ld bc, $000a + call CopyBytes + ld a, $50 + ld [de], a + ld hl, $a600 + ld bc, $002f + ld a, [wcd2a] +.asm_11ba1a + add hl, bc + dec a + and a + jr nz, .asm_11ba1a + ld a, $0 + call GetSRAMBank + ld e, l + ld d, h + ld a, [wcd28] + ld l, a + ld a, [wcd29] + ld h, a + ld bc, $002f + call CopyBytes + call CloseSRAM + ret +; 11ba38 + +Function11ba38: ; 11ba38 + callba Functione538 + ret c + xor a + ld [ScriptVar], a + ret +; 11ba44 + +Unknown_11ba44: +INCBIN "baserom.gbc",$11ba44,$11bb7d - $11ba44 + +Unknown_11bb7d: +INCBIN "baserom.gbc",$11bb7d,$11bc9e - $11bb7d + + +SECTION "bank47", ROMX, BANK[$47] + +Function11c000:: ; 11c000 + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a + ld hl, wd105 + ld a, [hl] + dec a + ld e, a + ld d, 0 + ld hl, Unknown_11f2f0 + add hl, de + ld a, [hl] + and a + jr nz, .asm_11c026 + ld a, [hRandomAdd] + and $1f + cp $19 + jr c, .asm_11c021 + sub $19 + +.asm_11c021 + ld hl, Unknown_11f332 + jr .asm_11c033 + +.asm_11c026 + ld a, [hRandomAdd] + and $f + cp $f + jr c, .asm_11c030 + sub $f + +.asm_11c030 + ld hl, Unknown_11f3ce + +.asm_11c033 + ld b, 0 + dec c + jr nz, .asm_11c03d + ld [wd000 + $200], a + jr .asm_11c040 + +.asm_11c03d + ld a, [wd000 + $200] + +.asm_11c040 + push af + add hl, bc + add hl, bc + ld a, [hli] + ld c, a + ld a, [hl] + ld h, a + ld l, c + pop af + ld c, a + ld b, 0 + add hl, bc + add hl, bc + ld a, [hli] + ld c, a + ld a, [hl] + ld l, c + ld h, a + bccoord 1, 14 + pop af + ld [rSVBK], a + call Function13e5 + ret +; 11c05d + +Function11c05d: ; 11c05d + ld a, e + or d + jr z, .asm_11c071 + ld a, e + and d + cp $ff + jr z, .asm_11c071 + push hl + call Function11c156 + pop hl + call PlaceString + and a + ret + +.asm_11c071 + ld c, l + ld b, h + scf + ret +; 11c075 + +Function11c075: ; 11c075 + push de + ld a, c + call Function11c254 + pop de + ld bc, wcd36 + call Function11c08f + ret +; 11c082 + +Function11c082: ; 11c082 + push de + ld a, c + call Function11c254 + pop de + ld bc, wcd36 + call Function11c0c6 + ret +; 11c08f + +Function11c08f: ; 11c08f + ld l, e + ld h, d + push hl + ld a, $3 +.asm_11c094 + push af + ld a, [bc] + ld e, a + inc bc + ld a, [bc] + ld d, a + inc bc + push bc + call Function11c05d + jr c, .asm_11c0a2 + inc bc + +.asm_11c0a2 + ld l, c + ld h, b + pop bc + pop af + dec a + jr nz, .asm_11c094 + pop hl + ld de, $0028 + add hl, de + ld a, $3 +.asm_11c0b0 + push af + ld a, [bc] + ld e, a + inc bc + ld a, [bc] + ld d, a + inc bc + push bc + call Function11c05d + jr c, .asm_11c0be + inc bc + +.asm_11c0be + ld l, c + ld h, b + pop bc + pop af + dec a + jr nz, .asm_11c0b0 + ret +; 11c0c6 + + +Function11c0c6: ; 11c0c6 + ld a, [wcf63] + ld l, a + ld a, [wcf64] + ld h, a + push hl + ld hl, $c608 + 16 + ld a, $0 + ld [hli], a + push de + xor a + ld [wcf63], a + ld a, $12 + ld [wcf64], a + ld a, $6 +.asm_11c0e1 + push af + ld a, [bc] + ld e, a + inc bc + ld a, [bc] + ld d, a + inc bc + or e + jr z, .asm_11c133 + push hl + push bc + call Function11c156 + call Function11c14a + ld e, c + pop bc + pop hl + ld a, e + or a + jr z, .asm_11c133 +.asm_11c0fa + ld a, [wcf64] + cp $12 + jr z, .asm_11c102 + inc e + +.asm_11c102 + cp e + jr nc, .asm_11c11c + ld a, [wcf63] + inc a + ld [wcf63], a + ld [hl], $4e + rra + jr c, .asm_11c113 + ld [hl], $55 + +.asm_11c113 + inc hl + ld a, $12 + ld [wcf64], a + dec e + jr .asm_11c0fa + +.asm_11c11c + cp $12 + jr z, .asm_11c123 + ld [hl], $7f + inc hl + +.asm_11c123 + sub e + ld [wcf64], a + ld de, $c608 +.asm_11c12a + ld a, [de] + cp $50 + jr z, .asm_11c133 + inc de + ld [hli], a + jr .asm_11c12a + +.asm_11c133 + pop af + dec a + jr nz, .asm_11c0e1 + ld [hl], $57 + pop bc + ld hl, $c608 + 16 + call Function13e5 + pop hl + ld a, l + ld [wcf63], a + ld a, h + ld [wcf64], a + ret +; 11c14a + +Function11c14a: ; 11c14a + ld c, $0 + ld hl, $c608 +.asm_11c14f + ld a, [hli] + cp $50 + ret z + inc c + jr .asm_11c14f +; 11c156 + +Function11c156: ; 11c156 + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld a, $50 + ld hl, $c608 + ld bc, $000b + call ByteFill + ld a, d + and a + jr z, .asm_11c19c + ld hl, Unknown_11daac + dec d + sla d + ld c, d + ld b, $0 + add hl, bc + ld a, [hli] + ld c, a + ld a, [hl] + ld b, a + push bc + pop hl + ld c, e + ld b, $0 + sla c + rl b + sla c + rl b + sla c + rl b + add hl, bc + ld bc, $0005 +.asm_11c18f + ld de, $c608 + call CopyBytes + ld de, $c608 + pop af + ld [rSVBK], a + ret + +.asm_11c19c + ld a, e + ld [wd265], a + call GetPokemonName + ld hl, StringBuffer1 + ld bc, $000a + jr .asm_11c18f +; 11c1ab + +Function11c1ab: ; 11c1ab + ld a, [$ffaa] + push af + ld a, $1 + ld [$ffaa], a + call Function11c1b9 + pop af + ld [$ffaa], a + ret +; 11c1b9 + +Function11c1b9: ; 11c1b9 + call Function11c1ca + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + call Function11c283 + pop af + ld [rSVBK], a + ret +; 11c1ca + +Function11c1ca: ; 11c1ca + xor a + ld [wcf63], a + ld [wcf64], a + ld [wcf65], a + ld [wcf66], a + ld [wcd23], a + ld [BGMapBuffer], a + ld [wcd21], a + ld [CreditsTimer], a + ld [wcd35], a + ld [wcd2b], a + ld a, $ff + ld [wcd24], a + ld a, [wcfa9] + dec a + call Function11c254 + call WhiteBGMap + call ClearSprites + call ClearScreen + call Function11d323 + call Function32f9 + call DisableLCD + ld hl, GFX_11d67e + ld de, VTiles2 + ld bc, $60 + call CopyBytes + ld hl, LZ_11d6de + ld de, VTiles0 + call Decompress + call EnableLCD + callba Function104061 + callba Function8cf53 + callba Function1500c + callba Function40c30 + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, $c6d0 + ld de, LYOverrides + ld bc, $100 + call CopyBytes + pop af + ld [rSVBK], a + call Function11d4aa + call Function11d3ba + ret +; 11c254 + +Function11c254: ; 11c254 + push af + ld a, $4 + call GetSRAMBank + ld hl, $a007 + pop af + sla a + sla a + ld c, a + sla a + add c + ld c, a + ld b, $0 + add hl, bc + ld de, wcd36 + ld bc, $000c + call CopyBytes + call CloseSRAM + ret +; 11c277 + + +Function11c277: ; 11c277 (47:4277) + ld a, $7f + hlcoord 0, 6 + ld bc, $f0 + call ByteFill + ret + +Function11c283: ; 11c283 +.asm_11c283 + call Functiona57 + ld a, [hJoyPressed] + ld [hJoypadPressed], a + ld a, [wcf63] + bit 7, a + jr nz, .asm_11c2a2 + call Function11c2ac + callba Function8cf69 + callba Function104061 + jr .asm_11c283 + +.asm_11c2a2 + callba Function8cf53 + call ClearSprites + ret +; 11c2ac + +Function11c2ac: ; 11c2ac + ld a, [wcf63] + ld e, a + ld d, 0 + ld hl, Jumptable_11c2bb + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 11c2bb + + +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 + + +Function11c2e9: ; 11c2e9 (47:42e9) + lb de, $1a, $0d + ld a, $1d + call Function3b2a + lb de, $42, $0d + ld a, $1d + call Function3b2a + ld hl, $c + add hl, bc + ld a, $1 + ld [hl], a + lb de, $4a, $10 + ld a, $1d + call Function3b2a + ld hl, $c + add hl, bc + ld a, $3 + ld [hl], a + lb de, $50, $80 + ld a, $1d + call Function3b2a + ld hl, $c + add hl, bc + ld a, $4 + ld [hl], a + lb de, $50, $20 + ld a, $1d + call Function3b2a + ld hl, $c + add hl, bc + ld a, $5 + ld [hl], a + lb de, $50, $10 + ld a, $1d + call Function3b2a + ld hl, $c + add hl, bc + ld a, $2 + ld [hl], a + ld hl, wcd23 + set 1, [hl] + set 2, [hl] + jp Function11cfb5 + +Function11c346: ; 11c346 (47:4346) + ld a, $9 + ld [wcd2d], a + ld a, $2 + ld [wcd2e], a + ld [wcd2f], a + ld [wcd30], a + ld de, wcd2d + call Function11cfce + jp Function11cfb5 + +Function11c35f: ; 11c35f (47:435f) + ld hl, wcd2f + inc [hl] + inc [hl] + dec hl + dec hl + dec [hl] + push af + ld de, wcd2d + call Function11cfce + pop af + ret nz + jp Function11cfb5 + +Function11c373: ; 11c373 (47:4373) + ld hl, wcd30 + inc [hl] + inc [hl] + dec hl + dec hl + dec [hl] + push af + ld de, wcd2d + call Function11cfce + pop af + ret nz + call Function11c38a + jp Function11cfb5 + +Function11c38a: ; 11c38a (47:438a) + ld hl, Unknown_11c986 + ld bc, wcd36 + 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, String_11c3bc + call PlaceString +.asm_11c3b5 + pop bc + pop hl + pop af + dec a + jr nz, .asm_11c392 + ret +; 11c3bc (47:43bc) + +String_11c3bc: ; 11c3bc + db "ーーーーー@" +; 11c3c2 + +Function11c3c2: ; 11c3c2 (47:43c2) + call Function11c277 + ld de, Unknown_11cfbe + call Function11d035 + hlcoord 1, 7 + ld de, String_11c4db + call PlaceString + hlcoord 1, 16 + ld de, String_11c51b + call PlaceString + call Function11c4be + ld hl, wcd23 + set 0, [hl] + ld hl, wcd24 + res 0, [hl] + call Function11cfb5 + +Function11c3ed: ; 11c3ed (47:43ed) + ld hl, BGMapBuffer ; wcd20 (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, wcd24 + set 0, [hl] + ld a, $c + jr .asm_11c475 +.asm_11c426 + ld a, $8 + ld [BGMapBuffer], a ; wcd20 (aliases: CreditsPos) + ret +.asm_11c42c + ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos) + cp $6 + jr c, .asm_11c472 + sub $6 + jr z, .asm_11c469 + dec a + jr z, .asm_11c41d + ld hl, wcd36 + 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, Unknown_11cfba + call Function11cfce + decoord 1, 2 + ld bc, wcd36 + call Function11c08f + ld hl, wcd24 + set 0, [hl] + ld a, $e + jr .asm_11c475 +.asm_11c460 + ld hl, wcd24 + set 0, [hl] + ld a, $11 + jr .asm_11c475 +.asm_11c469 + ld hl, wcd24 + set 0, [hl] + ld a, $a + jr .asm_11c475 +.asm_11c472 + call Function11c4a5 +.asm_11c475 + ld [wcf63], 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 + +Function11c4a5: ; 11c4a5 (47:44a5) + ld hl, wcd23 + res 0, [hl] + ld a, [wcd2b] + and a + jr nz, .asm_11c4b7 + xor a + ld [wcd21], a + ld a, $6 + ret +.asm_11c4b7 + xor a + ld [CreditsTimer], a + ld a, $15 + ret + +Function11c4be: ; 11c4be (47:44be) + ld a, $1 + hlcoord 0, 6, AttrMap + ld bc, $a0 + call ByteFill + ld a, $7 + hlcoord 0, 14, AttrMap + ld bc, $28 + call ByteFill + callba Function104061 + ret +; 11c4db (47:44db) + +String_11c4db: ; 11c4db + db "6つのことば", $1f, "くみあわせます" + next "かえたいところ", $1f, "えらぶと でてくる" + next "ことばのグループから いれかえたい" + next "たんご", $1f, "えらんでください" + db "@" +; 11c51b + +String_11c51b: ; 11c51b + db "ぜんぶけす やめる けってい@" +; 11c52c + +Function11c52c: ; 11c52c (47:452c) + call Function11c277 + call Function11c5f0 + call Function11c618 + ld hl, wcd24 + res 1, [hl] + call Function11cfb5 + +Function11c53d: ; 11c53d (47:453d) + ld hl, wcd21 + ld de, hJoypadPressed ; $ffa3 + + ld a, [de] + and START + jr nz, .start + + ld a, [de] + and SELECT + jr nz, .select + + ld a, [de] + and B_BUTTON + jr nz, .b + + ld a, [de] + and A_BUTTON + jr nz, .a + + ld de, $ffa9 + + ld a, [de] + and D_UP + jr nz, .up + + ld a, [de] + and D_DOWN + jr nz, .down + + ld a, [de] + and D_LEFT + jr nz, .left + + ld a, [de] + and D_RIGHT + jr nz, .right + + ret + +.a + ld a, [wcd21] + cp $f + jr c, .asm_11c59d + sub $f + jr z, .asm_11c5ab + dec a + jr z, .asm_11c599 + jr .b + +.start + ld hl, wcd24 + set 0, [hl] + ld a, $8 + ld [BGMapBuffer], a ; wcd20 (aliases: CreditsPos) + +.b + ld a, $4 + jr .asm_11c59f + +.select + ld a, [wcd2b] + xor $1 + ld [wcd2b], a + ld a, $15 + jr .asm_11c59f + +.asm_11c599 + ld a, $13 + jr .asm_11c59f + +.asm_11c59d + ld a, $8 + +.asm_11c59f + ld hl, wcd24 + set 1, [hl] + ld [wcf63], a + call PlayClickSFX + ret + +.asm_11c5ab + ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos) + call Function11ca6a + call PlayClickSFX + ret + +.up + ld a, [hl] + cp $3 + ret c + sub $3 + jr .asm_11c5ee + +.down + ld a, [hl] + cp $f + ret nc + add $3 + jr .asm_11c5ee + +.left + 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 + +.right + 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 +; 11c5f0 + +Function11c5f0: ; 11c5f0 (47:45f0) + ld de, Strings_11da52 + ld bc, Unknown_11c63a + 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 + hlcoord 1, 17 + ld de, String_11c62a + call PlaceString + ret + +Function11c618: ; 11c618 (47:4618) + ld a, $2 + hlcoord 0, 6, AttrMap + ld bc, $c8 + call ByteFill + callba Function104061 + ret +; 11c62a (47:462a) + +String_11c62a: ; 11c62a + db "けす モード やめる@" +; 11c63a + +Unknown_11c63a: ; 11c63a + dwcoord 1, 7 + dwcoord 7, 7 + dwcoord 13, 7 + dwcoord 1, 9 + dwcoord 7, 9 + dwcoord 13, 9 + dwcoord 1, 11 + dwcoord 7, 11 + dwcoord 13, 11 + dwcoord 1, 13 + dwcoord 7, 13 + dwcoord 13, 13 + dwcoord 1, 15 + dwcoord 7, 15 + dwcoord 13, 15 +; 11c658 + +Function11c658: ; 11c658 (47:4658) + call Function11c277 + call Function11c770 + ld de, Unknown_11cfc2 + call Function11d035 + call Function11c9ab + call Function11c7bc + call Function11c86e + ld hl, wcd24 + res 3, [hl] + call Function11cfb5 + +Function11c675: ; 11c675 (47:4675) + ld hl, wcd25 + ld de, hJoypadPressed ; $ffa3 + ld a, [de] + and A_BUTTON + jr nz, .a + ld a, [de] + and B_BUTTON + jr nz, .b + ld a, [de] + and START + jr nz, .start + ld a, [de] + and SELECT + jr z, .select + + ld a, [wcd26] + and a + ret z + sub $c + jr nc, .asm_11c699 + xor a +.asm_11c699 + ld [wcd26], a + jr .asm_11c6c4 + +.start + ld hl, wcd28 + ld a, [wcd26] + add $c + cp [hl] + ret nc + ld [wcd26], a + ld a, [hl] + ld b, a + ld hl, wcd25 + ld a, [wcd26] + add [hl] + jr c, .asm_11c6b9 + cp b + jr c, .asm_11c6c4 +.asm_11c6b9 + ld a, [wcd28] + ld hl, wcd26 + sub [hl] + dec a + ld [wcd25], a +.asm_11c6c4 + call Function11c992 + call Function11c7bc + call Function11c86e + ret + +.select + ld de, $ffa9 + ld a, [de] + and D_UP + jr nz, .asm_11c708 + ld a, [de] + and D_DOWN + jr nz, .asm_11c731 + ld a, [de] + and D_LEFT + jr nz, .asm_11c746 + ld a, [de] + and D_RIGHT + jr nz, .asm_11c755 + ret + +.a + call Function11c8f6 + ld a, $4 + ld [wcd35], a + jr .asm_11c6fc +.b + ld a, [wcd2b] + and a + jr nz, .asm_11c6fa + ld a, $6 + jr .asm_11c6fc +.asm_11c6fa + ld a, $15 +.asm_11c6fc + ld [wcf63], a + ld hl, wcd24 + 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, [wcd26] + sub $3 + ret c + ld [wcd26], a + jr .asm_11c6c4 +.asm_11c71c + ld hl, wcd28 + ld a, [wcd26] + add $c + ret c + cp [hl] + ret nc + ld a, [wcd26] + add $3 + ld [wcd26], a + jr .asm_11c6c4 +.asm_11c731 + ld a, [wcd28] + ld b, a + ld a, [wcd26] + 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, [wcd28] + ld b, a + ld a, [wcd26] + 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 + +Function11c770: ; 11c770 (47:4770) + xor a + ld [wcd25], a + ld [wcd26], a + ld [wcd27], a + ld a, [wcd2b] + and a + jr nz, .asm_11c7ab + ld a, [wcd21] + and a + jr z, .asm_11c799 + dec a + sla a + ld hl, Unknown_11f220 + ld c, a + ld b, 0 + add hl, bc + ld a, [hli] + ld [wcd28], a + ld a, [hl] +.asm_11c795 + ld [wcd29], a + ret +.asm_11c799 + ld a, [wc7d2] + ld [wcd28], 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, $c68a + 30 + ld a, [CreditsTimer] + ld c, a + ld b, 0 + add hl, bc + add hl, bc + ld a, [hl] + ld [wcd28], a + jr .asm_11c79f + +Function11c7bc: ; 11c7bc (47:47bc) + ld bc, Unknown_11c854 + ld a, [wcd2b] + and a + jr nz, .asm_11c814 + ld a, [wcd21] + ld d, a + and a + jr z, .asm_11c7e9 + ld a, [wcd26] + 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, [wcd28] + cp e + jr nz, .asm_11c7d0 + ret +.asm_11c7e9 + ld hl, wd100 + ld a, [wcd26] + 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, [wcd28] + cp e + jr nz, .asm_11c7f1 + ret +.asm_11c811 + pop hl + pop de + ret +.asm_11c814 + ld hl, $c648 + ld a, [wcd22] + 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, [wcd26] + ld e, a + ld d, $0 + add hl, de + add hl, de + ld a, [wcd26] + 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, [wcd28] + cp e + jr nz, .asm_11c831 + ret +.asm_11c851 + pop hl + pop de + ret +; 11c854 (47:4854) + +Unknown_11c854: ; 11c854 + dwcoord 2, 8 + dwcoord 8, 8 + dwcoord 14, 8 + dwcoord 2, 10 + dwcoord 8, 10 + dwcoord 14, 10 + dwcoord 2, 12 + dwcoord 8, 12 + dwcoord 14, 12 + dwcoord 2, 14 + dwcoord 8, 14 + dwcoord 14, 14 + dw -1 +; 11c86e + +Function11c86e: ; 11c86e (47:486e) + ld a, [wcd26] + and a + jr z, .asm_11c88a + hlcoord 2, 17 + ld de, String_11c8f0 + call PlaceString + hlcoord 6, 17 + ld c, $3 + xor a +.asm_11c883 + ld [hli], a + inc a + dec c + jr nz, .asm_11c883 + jr .asm_11c895 +.asm_11c88a + hlcoord 2, 17 + ld c, $7 + ld a, $7f +.asm_11c891 + ld [hli], a + dec c + jr nz, .asm_11c891 +.asm_11c895 + ld hl, wcd28 + ld a, [wcd26] + add $c + jr c, .asm_11c8b7 + cp [hl] + jr nc, .asm_11c8b7 + hlcoord 16, 17 + ld de, String_11c8f3 + call PlaceString + hlcoord 11, 17 + ld a, $3 + ld c, a +.asm_11c8b1 + ld [hli], a + inc a + dec c + jr nz, .asm_11c8b1 + ret +.asm_11c8b7 + hlcoord 17, 16 + ld a, $7f + ld [hl], a + hlcoord 11, 17 + ld c, $7 +.asm_11c8c2 + ld [hli], a + dec c + jr nz, .asm_11c8c2 + ret +; 11c8c7 (47:48c7) + +Function11c8c7: ; 11c8c7 + inc a + push af + and $f + ld [hDividend], a + pop af + and $f0 + swap a + ld [hQuotient], a + xor a + ld [$ffb5], a + push hl + callba Function11a80c + pop hl + ld a, [wcd63] + add $f6 + ld [hli], a + ld a, [wcd62] + add $f6 + ld [hli], a + ret +; 11c8ec + +String_11c8ec: ; 11c8ec + db "ぺージ@" +; 11c8f0 + +String_11c8f0: ; 11c8f0 + db "まえ@" +; 11c8f3 + +String_11c8f3: ; 11c8f3 + db "つぎ@" +; 11c8f6 + +Function11c8f6: ; 11c8f6 (47:48f6) + ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos) + call Function11c95d + push hl + ld a, [wcd2b] + and a + jr nz, .asm_11c938 + ld a, [wcd21] + ld d, a + and a + jr z, .asm_11c927 + ld hl, wcd26 + ld a, [wcd25] + add [hl] +.asm_11c911 + ld e, a +.asm_11c912 + pop hl + push de + call Function11c05d + pop de + ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos) + ld c, a + ld b, $0 + ld hl, wcd36 + add hl, bc + add hl, bc + ld [hl], e + inc hl + ld [hl], d + ret +.asm_11c927 + ld hl, wcd26 + ld a, [wcd25] + add [hl] + ld c, a + ld b, $0 + ld hl, wd100 + add hl, bc + ld a, [hl] + jr .asm_11c911 +.asm_11c938 + ld hl, $c648 + ld a, [wcd22] + 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, [wcd26] + ld e, a + ld d, $0 + add hl, de + add hl, de + ld a, [wcd25] + ld e, a + add hl, de + add hl, de + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + jr .asm_11c912 + +Function11c95d: ; 11c95d (47:495d) + sla a + ld c, a + ld b, 0 + ld hl, Unknown_11c986 + 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, -20 + 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) + +Unknown_11c986: + dwcoord 1, 2 + dwcoord 7, 2 + dwcoord 13, 2 + dwcoord 1, 4 + dwcoord 7, 4 + dwcoord 13, 4 +; 11c992 + +Function11c992: ; 11c992 (47:4992) + ld a, $8 + hlcoord 2, 7 +.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 + +Function11c9ab: ; 11c9ab (47:49ab) + ld a, $7 + hlcoord 0, 6, AttrMap + ld bc, $c8 + call ByteFill + callba Function104061 + ret + +Function11c9bd: ; 11c9bd (47:49bd) + ld de, String_11ca38 + call Function11ca7f + +Function11c9c3: ; 11c9c3 (47:49c3) + ld hl, wcd2a + 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 ; wcd20 (aliases: CreditsPos) +.asm_11c9e9 + ld hl, wcd24 + set 4, [hl] + ld a, $4 + ld [wcf63], 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 + +Function11ca01: ; 11ca01 (47:4a01) + hlcoord 14, 7, AttrMap + 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 + +Function11ca19: ; 11ca19 (47:4a19) + hlcoord 0, 12, AttrMap + 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 + callba Function104061 + ret +; 11ca38 (47:4a38) + +String_11ca38: ; 11ca38 + db "とうろくちゅう", $25, "あいさつ", $1f, "ぜんぶ" + next "けしても よろしいですか?@" +; 11ca57 + +String_11ca57: ; 11ca57 + db "はい" + next "いいえ@" +; 11ca5e + +Function11ca5e: ; 11ca5e (47:4a5e) + xor a +.asm_11ca5f + push af + call Function11ca6a + pop af + inc a + cp $6 + jr nz, .asm_11ca5f + ret + +Function11ca6a: ; 11ca6a (47:4a6a) + ld hl, wcd36 + ld c, a + ld b, $0 + add hl, bc + add hl, bc + ld [hl], b + inc hl + ld [hl], b + call Function11c95d + ld de, String_11c3bc + call PlaceString + ret + +Function11ca7f: ; 11ca7f (47:4a7f) + push de + ld de, Unknown_11cfc6 + call Function11cfce + ld de, Unknown_11cfca + call Function11cfce + hlcoord 1, 14 + pop de + call PlaceString + hlcoord 16, 8 + ld de, String_11ca57 + call PlaceString + call Function11ca01 + ld a, $1 + ld [wcd2a], a + ld hl, wcd24 + res 4, [hl] + call Function11cfb5 + ret + +Function11caad: ; 11caad (47:4aad) + ld de, String_11cb1c + call Function11ca7f + +Function11cab3: ; 11cab3 (47:4ab3) + ld hl, wcd2a + 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, [wcd35] + and a + jr z, .asm_11caf3 + cp $ff + jr z, .asm_11caf3 + ld a, $ff + ld [wcd35], a + hlcoord 1, 14 + ld de, String_11cb31 + call PlaceString + ld a, $1 + ld [wcd2a], a + ret +.asm_11caf3 + ld hl, wcf63 + set 7, [hl] + ret +.asm_11caf9 + call PlayClickSFX +.asm_11cafc + ld hl, wcd24 + set 4, [hl] + ld a, $4 + ld [wcf63], a + ld a, [wcd35] + cp $ff + ret nz + ld a, $1 + ld [wcd35], 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) + +String_11cb1c: ; 11cb1c + db "あいさつ", $25, "とうろく", $1f, "ちゅうし" + next "しますか?@" +; 11cb31 + +String_11cb31: ; 11cb31 + db "とうろくちゅう", $25, "あいさつ", $24, "ほぞん" + next "されません", $4a, "よろしい ですか?@" +; 11cb52 + +Function11cb52: ; 11cb52 (47:4b52) + ld hl, Unknown_11cc01 + ld a, [wcfa9] +.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 + +Function11cb66: ; 11cb66 (47:4b66) + ld hl, wcd2a + 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, [wcfa9] + dec a + sla a + sla a + ld c, a + sla a + add c + ld c, a + ld b, $0 + add hl, bc + ld de, wcd36 + 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, Unknown_11cfc6 + call Function11cfce + ld hl, Unknown_11cc7e + ld a, [wcfa9] +.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 + hlcoord 1, 14 + call PlaceString + ld hl, wcf63 + inc [hl] + inc hl + ld a, $10 + ld [hl], a + ret +.asm_11cbd4 + call PlayClickSFX +.asm_11cbd7 + ld de, Unknown_11cfba + call Function11cfce + call Function11c38a + ld hl, wcd24 + set 4, [hl] + ld a, $4 + ld [wcf63], 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 + +Function11cbf5: ; 11cbf5 (47:4bf5) + call WaitSFX + ld hl, wcf64 + dec [hl] + ret nz + dec hl + set 7, [hl] + ret +; 11cc01 (47:4c01) + +Unknown_11cc01: ; 11cc01 + dw String_11cc09 + dw String_11cc23 + dw String_11cc42 + dw String_11cc60 + +String_11cc09: ; 11cc09 + db "じこしょうかい は" + next "この あいさつで いいですか?@" + +String_11cc23: ; 11cc23 + db "たいせん ", $4a, "はじまるとき は" + next "この あいさつで いいですか?@" + +String_11cc42: ; 11cc42 + db "たいせん ", $1d, "かったとき は" + next "この あいさつで いいですか?@" + +String_11cc60: ; 11cc60 + db "たいせん ", $1d, "まけたとき は" + next "この あいさつで いいですか?@" +; 11cc7e + +Unknown_11cc7e: ; 11cc7e + dw String_11cc86 + dw String_11cc9d + dw String_11ccb9 + dw String_11ccd4 + +String_11cc86: ; 11cc86 + db "じこしょうかい の" + next "あいさつ", $1f, "とうろくした!@" + +String_11cc9d: ; 11cc9d + db "たいせん ", $4a, "はじまるとき の" + next "あいさつ", $1f, "とうろくした!@" + +String_11ccb9: ; 11ccb9 + db "たいせん ", $1d, "かったとき の" + next "あいさつ", $1f, "とうろくした!@" + +String_11ccd4: ; 11ccd4 + db "たいせん ", $1d, "まけたとき の" + next "あいさつ", $1f, "とうろくした!@" +; 11ccef + +Function11ccef: ; 11ccef (47:4cef) + ld de, Unknown_11cfc6 + call Function11cfce + hlcoord 1, 14 + ld de, String_11cd10 + call PlaceString + call Function11ca19 + call Function11cfb5 + +Function11cd04: ; 11cd04 (47:4d04) + ld de, hJoypadPressed ; $ffa3 + ld a, [de] + and a + ret z + ld a, $4 + ld [wcf63], a + ret +; 11cd10 (47:4d10) + +String_11cd10: ; 11cd10 + db "なにか ことば", $1f, "いれてください@" +; 11cd20 + +Function11cd20: ; 11cd20 (47:4d20) + call Function11c277 + ld de, Unknown_11cfc6 + call Function11cfce + hlcoord 1, 14 + ld a, [wcd2b] + ld [wcd2c], a + and a + jr nz, .asm_11cd3a + ld de, String_11cdc7 + jr .asm_11cd3d +.asm_11cd3a + ld de, String_11cdd9 +.asm_11cd3d + call PlaceString + hlcoord 4, 8 + ld de, String_11cdf5 + call PlaceString + call Function11cdaa + ld hl, wcd24 + res 5, [hl] + call Function11cfb5 + +Function11cd54: ; 11cd54 (47:4d54) + ld hl, wcd2c + ld de, hJoypadPressed ; $ffa3 + ld a, [de] + and A_BUTTON + jr nz, .asm_11cd6f + ld a, [de] + and B_BUTTON + jr nz, .asm_11cd73 + ld a, [de] + and D_UP + jr nz, .asm_11cd8b + ld a, [de] + and D_DOWN + jr nz, .asm_11cd94 + ret + +.asm_11cd6f + ld a, [hl] + ld [wcd2b], a +.asm_11cd73 + ld a, [wcd2b] + and a + jr nz, .asm_11cd7d + ld a, $6 + jr .asm_11cd7f + +.asm_11cd7d + ld a, $15 +.asm_11cd7f + ld [wcf63], a + ld hl, wcd24 + set 5, [hl] + call PlayClickSFX + ret + +.asm_11cd8b + ld a, [hl] + and a + ret z + dec [hl] + ld de, String_11cdc7 + jr .asm_11cd9b + +.asm_11cd94 + ld a, [hl] + and a + ret nz + inc [hl] + ld de, String_11cdd9 +.asm_11cd9b + push de + ld de, Unknown_11cfc6 + call Function11cfce + pop de + hlcoord 1, 14 + call PlaceString + ret + +Function11cdaa: ; 11cdaa (47:4daa) + ld a, $2 + hlcoord 0, 6, AttrMap + ld bc, $78 + call ByteFill + ld a, $7 + hlcoord 0, 12, AttrMap + ld bc, $50 + call ByteFill + callba Function104061 + ret +; 11cdc7 (47:4dc7) + +String_11cdc7: ; 11cdc7 + db "ことば", $1f, "しゅるいべつに" + next "えらべます@" +; 11cdd9 + +String_11cdd9: ; 11cdd9 + db "ことば", $1f, "アイウエォ の" + next "じゅんばんで ひょうじ します@" +; 11cdf5 + +String_11cdf5: ; 11cdf5 + db "しゅるいべつ モード" + next "アイウエォ モード@" +; 11ce0b + +Function11ce0b: ; 11ce0b (47:4e0b) + call Function11c277 + hlcoord 1, 7 + ld de, String_11cf79 + call PlaceString + hlcoord 1, 17 + ld de, String_11c62a + call PlaceString + call Function11c618 + ld hl, wcd24 + res 2, [hl] + call Function11cfb5 + +Function11ce2b: ; 11ce2b (47:4e2b) + ld a, [CreditsTimer] + sla a + sla a + ld c, a + ld b, 0 + ld hl, Unknown_11ceb9 + add hl, bc + + ld de, hJoypadPressed ; $ffa3 + ld a, [de] + and START + jr nz, .start + ld a, [de] + and SELECT + jr nz, .select + ld a, [de] + and A_BUTTON + jr nz, .a + ld a, [de] + and B_BUTTON + jr nz, .b + + ld de, $ffa9 + ld a, [de] + and D_UP + jr nz, .up + ld a, [de] + and D_DOWN + jr nz, .down + ld a, [de] + and D_LEFT + jr nz, .left + ld a, [de] + and D_RIGHT + jr nz, .right + + ret + +.a + ld a, [CreditsTimer] + cp $2d + jr c, .asm_11ce92 + sub $2d + jr z, .asm_11cea4 + dec a + jr z, .asm_11ce96 + jr .b + +.start + ld hl, wcd24 + set 0, [hl] + ld a, $8 + ld [BGMapBuffer], a ; wcd20 (aliases: CreditsPos) +.b + ld a, $4 + jr .asm_11ce98 +.select + ld a, [wcd2b] + xor $1 + ld [wcd2b], a + ld a, $6 + jr .asm_11ce98 + +.asm_11ce92 + ld a, $8 + jr .asm_11ce98 + +.asm_11ce96 + ld a, $13 +.asm_11ce98 + ld [wcf63], a + ld hl, wcd24 + set 2, [hl] + call PlayClickSFX + ret +.asm_11cea4 + ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos) + call Function11ca6a + call PlayClickSFX + ret + +.left + inc hl +.down + inc hl +.right + inc hl +.up + ld a, [hl] + cp $ff + ret z + ld [CreditsTimer], a + ret +; 11ceb9 (47:4eb9) + +Unknown_11ceb9: ; 11ceb9 + ; up left down right + db $ff, $01, $05, $ff + db $ff, $02, $06, $00 + db $ff, $03, $07, $01 + db $ff, $04, $08, $02 + db $ff, $14, $09, $03 + db $00, $06, $0a, $ff + db $01, $07, $0b, $05 + db $02, $08, $0c, $06 + db $03, $09, $0d, $07 + db $04, $19, $0e, $08 + db $05, $0b, $0f, $ff + db $06, $0c, $10, $0a + db $07, $0d, $11, $0b + db $08, $0e, $12, $0c + db $09, $1e, $13, $0d + db $0a, $10, $2d, $ff + db $0b, $11, $2d, $0f + db $0c, $12, $2d, $10 + db $0d, $13, $2d, $11 + db $0e, $26, $2d, $12 + db $ff, $15, $19, $04 + db $ff, $16, $1a, $14 + db $ff, $17, $1b, $15 + db $ff, $18, $1c, $16 + db $ff, $23, $1d, $17 + db $14, $1a, $1e, $09 + db $15, $1b, $1f, $19 + db $16, $1c, $20, $1a + db $17, $1d, $21, $1b + db $18, $2b, $22, $1c + db $19, $1f, $26, $0e + db $1a, $20, $27, $1e + db $1b, $21, $28, $1f + db $1c, $22, $29, $20 + db $1d, $2c, $2a, $21 + db $ff, $24, $2b, $18 + db $ff, $25, $2b, $23 + db $ff, $ff, $2b, $24 + db $1e, $27, $2e, $13 + db $1f, $28, $2e, $26 + db $20, $29, $2e, $27 + db $21, $2a, $2e, $28 + db $22, $ff, $2e, $29 + db $23, $ff, $2c, $1d + db $2b, $ff, $2f, $22 + db $0f, $2e, $ff, $ff + db $26, $2f, $ff, $2d + db $2c, $ff, $ff, $2e +; 11cf79 + +String_11cf79: ; 11cf79 + db "あいうえお なにぬねの や ゆ よ" + next "かきくけこ はひふへほ わ" + next "さしすせそ まみむめも そのた" + next "たちつてと らりるれろ" + db "@" +; 11cfb5 + +Function11cfb5: ; 11cfb5 (47:4fb5) + ld hl, wcf63 + inc [hl] + ret +; 11cfba (47:4fba) + +Unknown_11cfba: + db 0, 0 ; start coords + db 20, 6 ; end coords + +Unknown_11cfbe: + db 0, 14 ; start coords + db 20, 4 ; end coords + +Unknown_11cfc2: + db 0, 6 ; start coords + db 20, 10 ; end coords + +Unknown_11cfc6: + db 0, 12 ; start coords + db 20, 6 ; end coords + +Unknown_11cfca: + db 14, 7 ; start coords + db 6, 5 ; end coords +; 11cfce + +Function11cfce: ; 11cfce (47:4fce) + ld hl, TileMap + 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 + +Function11d035: ; 11d035 (47:5035) + ld hl, TileMap + 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 + +Function11d0ac: ; 11d0ac (47:50ac) + ld a, [de] + dec a + ld bc, $14 +.asm_11d0b1 + add hl, bc + dec a + jr nz, .asm_11d0b1 + ret + +Function11d0b6: ; 11d0b6 (47:50b6) + ld hl, $c + add hl, bc + ld a, [hl] + ld e, a + ld d, 0 + ld hl, Jumptable_11d0c7 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] + +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 + + +Function11d0dd: ; 11d0dd (47:50dd) + ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos) + sla a + ld hl, Unknown_11d208 + ld e, $1 + jr asm_11d11e + +Function11d0e9: ; 11d0e9 (47:50e9) + ld a, [wcd21] + sla a + ld hl, Unknown_11d21a + ld e, $2 + jr asm_11d11e + +Function11d0f5: ; 11d0f5 (47:50f5) + ld hl, Unknown_11d2be + ld a, [CreditsTimer] + ld e, a + ld d, $0 + add hl, de + ld a, [hl] + call Function3b3c + ld a, [CreditsTimer] + sla a + ld hl, Unknown_11d23e + ld e, $4 + jr asm_11d11e + +Function11d10f: ; 11d10f (47:510f) + ld a, $27 + call Function3b3c + ld a, [wcd25] + sla a + ld hl, Unknown_11d29e + ld e, $8 + +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 + +Function11d134: ; 11d134 (47:5134) + ld a, $27 + call Function3b3c + ld a, [wcd2a] + sla a + ld hl, Unknown_11d2b6 + ld e, $10 + jr asm_11d11e + +Function11d145: ; 11d145 (47:5145) + ld a, $27 + call Function3b3c + ld a, [wcd2c] + sla a + ld hl, Unknown_11d2ba + ld e, $20 + jr asm_11d11e + +Function11d156: ; 11d156 (47:5156) + ld a, $2a + call Function3b3c + ld a, [wcd4a] + 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 + +Function11d175: ; 11d175 (47:5175) + ld a, [wcd4d] + cp $4 + jr z, .asm_11d180 + ld a, $28 + jr .asm_11d182 +.asm_11d180 + ld a, $26 +.asm_11d182 + call Function3b3c + ld a, [wcd4d] + cp $4 + jr z, .asm_11d1b1 + ld a, [wcd4c] + sla a + sla a + sla a + add $20 + ld hl, $4 + add hl, bc + ld [hli], a + ld a, [wcd4d] + 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, [wcd4c] + 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 + +Function11d1d1: ; 11d1d1 (47:51d1) + ld d, $98 + ld a, $2c + jr asm_11d1db + +Function11d1d7: ; 11d1d7 (47:51d7) + ld d, $10 + ld a, $2b + +asm_11d1db: ; 11d1db (47:51db) + push de + call Function3b3c + ld a, [wcd4a] + 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 + +Function11d1fc: ; 11d1fc (47:51fc) + ld a, $26 + call Function3b3c + ld a, $8 + ld e, a + call Function11d2ee + ret +; 11d208 (47:5208) + +Unknown_11d208: ; 11d208 +INCBIN "baserom.gbc",$11d208,$11d21a - $11d208 +Unknown_11d21a: ; 11d21a +INCBIN "baserom.gbc",$11d21a,$11d23e - $11d21a +Unknown_11d23e: ; 11d23e +INCBIN "baserom.gbc",$11d23e,$11d29e - $11d23e +Unknown_11d29e: ; 11d29e +INCBIN "baserom.gbc",$11d29e,$11d2b6 - $11d29e +Unknown_11d2b6: ; 11d2b6 +INCBIN "baserom.gbc",$11d2b6,$11d2ba - $11d2b6 +Unknown_11d2ba: ; 11d2ba +INCBIN "baserom.gbc",$11d2ba,$11d2be - $11d2ba +Unknown_11d2be: ; 11d2be +INCBIN "baserom.gbc",$11d2be,$11d2ee - $11d2be + +Function11d2ee: ; 11d2ee (47:52ee) + ld hl, wcd24 + and [hl] + jr nz, .asm_11d316 + ld a, e + ld hl, wcd23 + 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 + ld a, $5 + ld [rSVBK], a + ld hl, Palette_11d33a + ld de, Unkn1Pals + ld bc, $0080 + call CopyBytes + pop af + ld [rSVBK], a + ret +; 11d33a + +Palette_11d33a: + RGB 31, 31, 31 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 31, 16, 31 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 23, 17, 31 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 +; 11d3ba + +Function11d3ba: ; 11d3ba + ld a, [rSVBK] + push af + ld hl, BattleMonSpclDef + ld a, $0 + ld [wcd2d], a + ld [hli], a + ld a, $d8 + ld [wcd2e], a + ld [hl], a + ld a, $fe + ld [wcd2f], a + ld a, $54 + ld [wcd30], a + ld a, $a8 + ld [wcd31], a + ld a, $c6 + ld [wcd32], a + ld a, $4a + ld [wcd33], a + ld a, $c6 + ld [wcd34], a + ld hl, Unknown_11f23c + ld a, $2d + +Function11d3ef: ; 11d3ef + push af + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + push hl + ld hl, Unkn1Pals + add hl, de + ld a, [wcd2d] + ld e, a + ld a, [wcd2e] + ld d, a + push bc +.asm_11d406 + ld a, $3 + ld [rSVBK], a + ld a, [hli] + push af + ld a, $5 + ld [rSVBK], a + pop af + ld [de], a + inc de + ld a, $3 + ld [rSVBK], a + ld a, [hli] + push af + ld a, $5 + ld [rSVBK], a + pop af + ld [de], a + inc de + dec bc + ld a, c + or b + jr nz, .asm_11d406 + ld a, [wcd2f] + ld l, a + ld a, [wcd30] + ld h, a + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, l + ld [wcd2f], a + ld a, h + ld [wcd30], a + push bc + pop hl + ld c, $0 +.asm_11d43d + ld a, [hl] + cp $ff + jr z, .asm_11d453 + call Function11d493 + jr nz, .asm_11d44a + inc hl + jr .asm_11d43d + +.asm_11d44a + ld a, [hli] + ld [de], a + inc de + xor a + ld [de], a + inc de + inc c + jr .asm_11d43d + +.asm_11d453 + pop hl + ld b, $0 + add hl, bc + push hl + pop bc + ld a, [wcd31] + ld l, a + ld a, [wcd32] + ld h, a + ld a, c + ld [hli], a + ld a, b + ld [hli], a + ld a, l + ld [wcd31], a + ld a, h + ld [wcd32], a + ld a, [wcd33] + ld l, a + ld a, [wcd34] + ld h, a + ld a, e + ld [wcd2d], a + ld [hli], a + ld a, d + ld [wcd2e], a + ld [hli], a + ld a, l + ld [wcd33], a + ld a, h + ld [wcd34], a + pop hl + pop af + dec a + jr z, .asm_11d48f + jp Function11d3ef + +.asm_11d48f + pop af + ld [rSVBK], a + ret +; 11d493 + +Function11d493: ; 11d493 + push hl + push bc + push de + dec a + ld hl, rSVBK + ld e, $1 + ld [hl], e + call CheckSeenMon + ld hl, rSVBK + ld e, $5 + ld [hl], e + pop de + pop bc + pop hl + ret +; 11d4aa + +Function11d4aa: ; 11d4aa + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a + ld hl, Unknown_11daac + ld bc, Unknown_11f220 + xor a + ld [wcd2d], a + inc a + ld [wcd2e], a + ld a, $e +.asm_11d4c1 + push af + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + push hl + ld hl, $0005 + add hl, de + ld a, [bc] + inc bc + inc bc + push bc +.asm_11d4cf + push af + push hl + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + ld hl, wd000 + add hl, de + ld a, [wcd2d] + ld [hli], a + inc a + ld [wcd2d], a + ld a, [wcd2e] + ld [hl], a + pop hl + ld de, $0008 + add hl, de + pop af + dec a + jr nz, .asm_11d4cf + ld hl, wcd2d + xor a + ld [hli], a + inc [hl] + pop bc + pop hl + pop af + dec a + jr nz, .asm_11d4c1 + pop af + ld [rSVBK], a + ret +; 11d4fe + + +Unknown_11d4fe: +; Pokemon sorted by kana. +; Notably, Rhydon is missing. + + dw Unknown_11d558 + dw Unknown_11d55f + dw Unknown_11d565 + dw Unknown_11d56c + dw Unknown_11d574 + dw Unknown_11d57f + dw Unknown_11d58e + dw Unknown_11d598 + dw Unknown_11d59f + dw Unknown_11d5a3 + dw Unknown_11d5b2 + dw Unknown_11d5bb + dw Unknown_11d5c0 + dw Unknown_11d5c8 + dw Unknown_11d5cb + dw Unknown_11d5cd + dw Unknown_11d5d1 + dw Unknown_11d5d4 + dw Unknown_11d5d6 + dw Unknown_11d5dc + dw Unknown_11d5e7 + dw Unknown_11d5ea + dw Unknown_11d5f7 + dw Unknown_11d5f9 + dw Unknown_11d5fc + dw Unknown_11d5fe + dw Unknown_11d60e + dw Unknown_11d61d + dw Unknown_11d62e + dw Unknown_11d636 + dw Unknown_11d63e + dw Unknown_11d649 + dw Unknown_11d64e + dw Unknown_11d651 + dw Unknown_11d656 + dw Unknown_11d65a + dw Unknown_11d660 + dw Unknown_11d662 + dw Unknown_11d665 + dw Unknown_11d66d + dw Unknown_11d671 + dw Unknown_11d674 + dw Unknown_11d678 + dw Unknown_11d67a + dw Unknown_11d67d + +Unknown_11d558: db EKANS, ARBOK, SEAKING, ARIADOS, CROCONAW, UNOWN, $ff +Unknown_11d55f: db EEVEE, GEODUDE, SPINARAK, PILOSWINE, ONIX, $ff +Unknown_11d565: db ARCANINE, SUDOWOODO, WEEPINBELL, VICTREEBEL, WOOPER, SWINUB, $ff +Unknown_11d56c: db SKARMORY, AIPOM, ESPEON, HITMONCHAN, ELEKID, ELECTABUZZ, ENTEI, $ff +Unknown_11d574: db FERALIGATR, FURRET, OCTILLERY, PRIMEAPE, SENTRET, STANTLER, SPEAROW, FEAROW, OMASTAR, OMANYTE, $ff +Unknown_11d57f: db GROWLITHE, MACHAMP, DRAGONITE, PINSIR, SNORLAX, KABUTO, KABUTOPS, HITMONTOP, WARTORTLE, BLASTOISE, FARFETCH_D, CUBONE, MAROWAK, KANGASKHAN, $ff +Unknown_11d58e: db SUNFLORA, CATERPIE, GYARADOS, RAPIDASH, NINETALES, GIRAFARIG, BELLOSSOM, KINGDRA, KINGLER, $ff +Unknown_11d598: db GLOOM, PINECO, GLIGAR, KRABBY, GRANBULL, CROBAT, $ff +Unknown_11d59f: db ABRA, GENGAR, TAUROS, $ff +Unknown_11d5a3: db MAGIKARP, MAGNEMITE, GASTLY, HAUNTER, MACHOKE, KAKUNA, PSYDUCK, PHANPY, RATTATA, GOLDUCK, GOLBAT, GOLEM, GRAVELER, VENONAT, $ff +Unknown_11d5b2: db RHYHORN, PUPITAR, CORSOLA, HITMONLEE, ZAPDOS, JOLTEON, SANDSHREW, SANDSLASH, $ff +Unknown_11d5bb: db SEADRA, SHELLDER, VAPOREON, DEWGONG, $ff +Unknown_11d5c0: db SUICUNE, STARMIE, SCYTHER, ZUBAT, BEEDRILL, HYPNO, DROWZEE, $ff +Unknown_11d5c8: db SQUIRTLE, CELEBI, $ff +Unknown_11d5cb: db WOBBUFFET, $ff +Unknown_11d5cd: db DUGTRIO, HORSEA, EXEGGCUTE, $ff +Unknown_11d5d1: db CHIKORITA, CHINCHOU, $ff +Unknown_11d5d4: db SHUCKLE, $ff +Unknown_11d5d6: db DIGLETT, REMORAID, DELIBIRD, HOUNDOUR, AMPHAROS, $ff +Unknown_11d5dc: db DODUO, DODRIO, SMEARGLE, KOFFING, TENTACRUEL, TOGETIC, TOGEPI, GOLDEEN, METAPOD, DONPHAN, $ff +Unknown_11d5e7: db ODDISH, EXEGGUTOR, $ff +Unknown_11d5ea: db NIDOKING, NIDOQUEEN, NIDORAN_M, NIDORAN_F, NIDORINA, NIDORINO, MEOWTH, SNEASEL, POLIWHIRL, POLITOED, POLIWRATH, POLIWAG, $ff +Unknown_11d5f7: db QUAGSIRE, $ff +Unknown_11d5f9: db NATU, XATU, $ff +Unknown_11d5fc: db DUNSPARCE, $ff +Unknown_11d5fe: db SEEL, STEELIX, TYPHLOSION, DRAGONAIR, BUTTERFREE, SCIZOR, HOPPIP, BLISSEY, PARAS, PARASECT, QWILFISH, MR__MIME, TYROGUE, CLOYSTER, TYRANITAR, $ff +Unknown_11d60e: db CLEFFA, WEEDLE, PIKACHU, CLEFABLE, PIDGEOT, PIDGEOTTO, PICHU, CLEFAIRY, CHARMANDER, STARYU, CYNDAQUIL, SUNKERN, TEDDIURSA, VOLTORB, $ff +Unknown_11d61d: db MOLTRES, FLAREON, ALAKAZAM, MAGMAR, FORRETRESS, WIGGLYTUFF, IVYSAUR, BULBASAUR, VENUSAUR, AERODACTYL, MAGBY, IGGLYBUFF, UMBREON, ARTICUNO, JIGGLYPUFF, SNUBBULL, $ff +Unknown_11d62e: db BAYLEEF, GRIMER, MUK, HERACROSS, HOUNDOOM, PERSIAN, LICKITUNG, $ff +Unknown_11d636: db HO_OH, HOOTHOOT, PIDGEY, PONYTA, SKIPLOOM, PORYGON, PORYGON2, $ff +Unknown_11d63e: db MAGCARGO, SLUGMA, QUILAVA, BELLSPROUT, WEEZING, MARILL, AZUMARILL, ELECTRODE, MANKEY, MANTINE, $ff +Unknown_11d649: db DRATINI, MEW, MEWTWO, MILTANK, $ff +Unknown_11d64e: db MISDREAVUS, SMOOCHUM, $ff +Unknown_11d651: db MEGANIUM, DITTO, TENTACOOL, MAREEP, $ff +Unknown_11d656: db FLAAFFY, VENOMOTH, TANGELA, $ff +Unknown_11d65a: db SLOWKING, SLOWBRO, SLOWPOKE, MURKROW, YANMA, $ff +Unknown_11d660: db KADABRA, $ff +Unknown_11d662: db LARVITAR, NOCTOWL, $ff +Unknown_11d665: db RAIKOU, RAICHU, CHANSEY, RATICATE, LAPRAS, VILEPLUME, LANTURN, $ff +Unknown_11d66d: db CHARMELEON, CHARIZARD, URSARING, $ff +Unknown_11d671: db JYNX, LUGIA, $ff +Unknown_11d674: db MAGNETON, LEDIAN, LEDYBA, $ff +Unknown_11d678: db VULPIX, $ff +Unknown_11d67a: db JUMPLUFF, TOTODILE, MACHOP +Unknown_11d67d: db $ff +; 11d67e + +GFX_11d67e: +INCBIN "gfx/pokedex/select_start.2bpp" +; 11d6de + +LZ_11d6de: +INCBIN "gfx/pokedex/slowpoke.2bpp.lz" +; 11da52 + +Strings_11da52: ; 11da52 + db "ポケモン@@" + db "タイプ@@@" + db "あいさつ@@" + db "ひと@@@@" + db "バトル@@@" + db "こえ@@@@" + db "かいわ@@@" + db "きもち@@@" + db "じょうたい@" + db "せいかつ@@" + db "しゅみ@@@" + db "こうどう@@" + db "じかん@@@" + db "むすび@@@" + db "あれこれ@@" +; 11daac + +Unknown_11daac: ; 11daac + dw Unknown_11dac8 + dw Unknown_11db58 + dw Unknown_11dc78 + dw Unknown_11dea0 + dw Unknown_11e0c8 + dw Unknown_11e2d8 + dw Unknown_11e4e8 + dw Unknown_11e710 + dw Unknown_11e920 + dw Unknown_11ea58 + dw Unknown_11eb90 + dw Unknown_11edb8 + dw Unknown_11eef0 + dw Unknown_11f100 + +Unknown_11dac8: ; 11dac8 + db "あく@@@", $26, $0, $0 + db "いわ@@@", $aa, $0, $0 + db "エスパー@", $da, $0, $0 + db "かくとう@", $4e, $1, $0 + db "くさ@@@", $ba, $1, $0 + db "ゴースト@", $e4, $1, $0 + db "こおり@@", $e6, $1, $0 + db "じめん@@", $68, $2, $0 + db "タイプ@@", $e8, $2, $0 + db "でんき@@", $8e, $3, $0 + db "どく@@@", $ae, $3, $0 + db "ドラゴン@", $bc, $3, $0 + db "ノーマル@", $22, $4, $0 + db "はがね@@", $36, $4, $0 + db "ひこう@@", $5e, $4, $0 + db "ほのお@@", $b2, $4, $0 + db "みず@@@", $f4, $4, $0 + db "むし@@@", $12, $5, $0 + +Unknown_11db58: ; 11db58 + db "ありがと@", $58, $0, $0 + db "ありがとう", $5a, $0, $0 + db "いくぜ!@", $80, $0, $0 + db "いくよ!@", $82, $0, $0 + db "いくわよ!", $84, $0, $0 + db "いやー@@", $a6, $0, $0 + db "おっす@@", $a, $1, $0 + db "おはつです", $22, $1, $0 + db "おめでとう", $2a, $1, $0 + db "ごめん@@", $f8, $1, $0 + db "ごめんよ@", $fa, $1, $0 + db "こらっ@@", $fc, $1, $0 + db "こんちは!", $a, $2, $0 + db "こんにちは", $10, $2, $0 + db "さようなら", $28, $2, $0 + db "サンキュー", $2e, $2, $0 + db "さんじょう", $30, $2, $0 + db "しっけい@", $48, $2, $0 + db "しつれい@", $4c, $2, $0 + db "じゃーね@", $6c, $2, $0 + db "すいません", $8c, $2, $0 + db "それじゃ@", $ca, $2, $0 + db "どうも@@", $a6, $3, $0 + db "なんじゃ@", $ee, $3, $0 + db "ハーイ@@", $2c, $4, $0 + db "はいはい@", $32, $4, $0 + db "バイバイ@", $34, $4, $0 + db "へイ@@@", $8a, $4, $0 + db "またね@@", $de, $4, $0 + db "もしもし@", $32, $5, $0 + db "やあ@@@", $3e, $5, $0 + db "やっほー@", $4e, $5, $0 + db "よう@@@", $62, $5, $0 + db "ようこそ@", $64, $5, $0 + db "よろしく@", $80, $5, $0 + db "らっしゃい", $94, $5, $0 + +Unknown_11dc78: ; 11dc78 + db "あいて@@", $1c, $0, $0 + db "あたし@@", $36, $0, $0 + db "あなた@@", $40, $0, $0 + db "あなたが@", $42, $0, $0 + db "あなたに@", $44, $0, $0 + db "あなたの@", $46, $0, $0 + db "あなたは@", $48, $0, $0 + db "あなたを@", $4a, $0, $0 + db "おかあさん", $e8, $0, $0 + db "おじいさん", $fc, $0, $0 + db "おじさん@", $2, $1, $0 + db "おとうさん", $e, $1, $0 + db "おとこのこ", $10, $1, $0 + db "おとな@@", $14, $1, $0 + db "おにいさん", $16, $1, $0 + db "おねえさん", $18, $1, $0 + db "おばあさん", $1c, $1, $0 + db "おばさん@", $20, $1, $0 + db "おれさま@", $34, $1, $0 + db "おんなのこ", $3a, $1, $0 + db "ガール@@", $40, $1, $0 + db "かぞく@@", $52, $1, $0 + db "かのじょ@", $72, $1, $0 + db "かれ@@@", $7c, $1, $0 + db "きみ@@@", $9a, $1, $0 + db "きみが@@", $9c, $1, $0 + db "きみに@@", $9e, $1, $0 + db "きみの@@", $a0, $1, $0 + db "きみは@@", $a2, $1, $0 + db "きみを@@", $a4, $1, $0 + db "ギャル@@", $ae, $1, $0 + db "きょうだい", $b2, $1, $0 + db "こども@@", $f0, $1, $0 + db "じぶん@@", $54, $2, $0 + db "じぶんが@", $56, $2, $0 + db "じぶんに@", $58, $2, $0 + db "じぶんの@", $5a, $2, $0 + db "じぶんは@", $5c, $2, $0 + db "じぶんを@", $5e, $2, $0 + db "だれ@@@", $18, $3, $0 + db "だれか@@", $1a, $3, $0 + db "だれが@@", $1c, $3, $0 + db "だれに@@", $1e, $3, $0 + db "だれの@@", $20, $3, $0 + db "だれも@@", $22, $3, $0 + db "だれを@@", $24, $3, $0 + db "ちゃん@@", $38, $3, $0 + db "ともだち@", $b8, $3, $0 + db "なかま@@", $d4, $3, $0 + db "ひと@@@", $62, $4, $0 + db "ボーイ@@", $98, $4, $0 + db "ボク@@@", $a0, $4, $0 + db "ボクが@@", $a2, $4, $0 + db "ボクに@@", $a4, $4, $0 + db "ボクの@@", $a6, $4, $0 + db "ボクは@@", $a8, $4, $0 + db "ボクを@@", $aa, $4, $0 + db "みんな@@", $4, $5, $0 + db "みんなが@", $6, $5, $0 + db "みんなに@", $8, $5, $0 + db "みんなの@", $a, $5, $0 + db "みんなは@", $c, $5, $0 + db "ライバル@", $8a, $5, $0 + db "わたし@@", $c2, $5, $0 + db "わたしが@", $c4, $5, $0 + db "わたしに@", $c6, $5, $0 + db "わたしの@", $c8, $5, $0 + db "わたしは@", $ca, $5, $0 + db "わたしを@", $cc, $5, $0 + +Unknown_11dea0: ; 11dea0 + db "あいしょう", $18, $0, $0 + db "いけ!@@", $88, $0, $0 + db "いちばん@", $96, $0, $0 + db "かくご@@", $4c, $1, $0 + db "かたせて@", $54, $1, $0 + db "かち@@@", $56, $1, $0 + db "かつ@@@", $58, $1, $0 + db "かった@@", $60, $1, $0 + db "かったら@", $62, $1, $0 + db "かって@@", $64, $1, $0 + db "かてない@", $66, $1, $0 + db "かてる@@", $68, $1, $0 + db "かなわない", $70, $1, $0 + db "きあい@@", $84, $1, $0 + db "きめた@@", $a8, $1, $0 + db "きりふだ@", $b6, $1, $0 + db "くらえ@@", $c2, $1, $0 + db "こい!@@", $da, $1, $0 + db "こうげき@", $e0, $1, $0 + db "こうさん@", $e2, $1, $0 + db "こんじょう", $8, $2, $0 + db "さいのう@", $16, $2, $0 + db "さくせん@", $1a, $2, $0 + db "さばき@@", $22, $2, $0 + db "しょうぶ@", $7e, $2, $0 + db "しょうり@", $80, $2, $0 + db "せめ@@@", $b4, $2, $0 + db "センス@@", $b6, $2, $0 + db "たいせん@", $e6, $2, $0 + db "たたかい@", $f6, $2, $0 + db "ちから@@", $32, $3, $0 + db "チャレンジ", $36, $3, $0 + db "つよい@@", $58, $3, $0 + db "つよすぎ@", $5a, $3, $0 + db "つらい@@", $5c, $3, $0 + db "つらかった", $5e, $3, $0 + db "てかげん@", $6c, $3, $0 + db "てき@@@", $6e, $3, $0 + db "てんさい@", $90, $3, $0 + db "でんせつ@", $94, $3, $0 + db "トレーナー", $c6, $3, $0 + db "にげ@@@", $4, $4, $0 + db "ぬるい@@", $10, $4, $0 + db "ねらう@@", $16, $4, $0 + db "バトル@@", $4a, $4, $0 + db "ファイト@", $72, $4, $0 + db "ふっかつ@", $78, $4, $0 + db "ポイント@", $94, $4, $0 + db "ポケモン@", $ac, $4, $0 + db "ほんき@@", $bc, $4, $0 + db "まいった!", $c4, $4, $0 + db "まけ@@@", $c8, $4, $0 + db "まけたら@", $ca, $4, $0 + db "まけて@@", $cc, $4, $0 + db "まける@@", $ce, $4, $0 + db "まもり@@", $ea, $4, $0 + db "みかた@@", $f2, $4, $0 + db "みとめない", $fe, $4, $0 + db "みとめる@", $0, $5, $0 + db "むてき@@", $16, $5, $0 + db "もらった!", $3c, $5, $0 + db "よゆう@@", $7a, $5, $0 + db "よわい@@", $82, $5, $0 + db "よわすぎ@", $84, $5, $0 + db "らくしょう", $8e, $5, $0 + db "りーダー@", $9e, $5, $0 + db "ルール@@", $a0, $5, $0 + db "レべル@@", $a6, $5, $0 + db "わざ@@@", $be, $5, $0 + +Unknown_11e0c8: ; 11e0c8 + db "!@@@@", $0, $0, $0 + db "!!@@@", $2, $0, $0 + db "!?@@@", $4, $0, $0 + db "?@@@@", $6, $0, $0 + db "…@@@@", $8, $0, $0 + db "…!@@@", $a, $0, $0 + db "………@@", $c, $0, $0 + db "ー@@@@", $e, $0, $0 + db "ーーー@@", $10, $0, $0 + db "あーあ@@", $14, $0, $0 + db "あーん@@", $16, $0, $0 + db "あははー@", $52, $0, $0 + db "あら@@@", $54, $0, $0 + db "いえ@@@", $72, $0, $0 + db "イエス@@", $74, $0, $0 + db "うう@@@", $ac, $0, $0 + db "うーん@@", $ae, $0, $0 + db "うおー!@", $b0, $0, $0 + db "うおりゃー", $b2, $0, $0 + db "うひょー@", $bc, $0, $0 + db "うふふ@@", $be, $0, $0 + db "うわー@@", $ca, $0, $0 + db "うわーん@", $cc, $0, $0 + db "ええ@@@", $d2, $0, $0 + db "えー@@@", $d4, $0, $0 + db "えーん@@", $d6, $0, $0 + db "えへへ@@", $dc, $0, $0 + db "おいおい@", $e0, $0, $0 + db "おお@@@", $e2, $0, $0 + db "おっと@@", $c, $1, $0 + db "がーん@@", $42, $1, $0 + db "キャー@@", $aa, $1, $0 + db "ギャー@@", $ac, $1, $0 + db "ぐふふふふ", $bc, $1, $0 + db "げっ@@@", $ce, $1, $0 + db "しくしく@", $3e, $2, $0 + db "ちえっ@@", $2e, $3, $0 + db "てへ@@@", $86, $3, $0 + db "ノー@@@", $20, $4, $0 + db "はあー@@", $2a, $4, $0 + db "はい@@@", $30, $4, $0 + db "はっはっは", $48, $4, $0 + db "ひいー@@", $56, $4, $0 + db "ひゃあ@@", $6a, $4, $0 + db "ふっふっふ", $7c, $4, $0 + db "ふにゃ@@", $7e, $4, $0 + db "ププ@@@", $80, $4, $0 + db "ふふん@@", $82, $4, $0 + db "ふん@@@", $88, $4, $0 + db "へっへっへ", $8e, $4, $0 + db "へへー@@", $90, $4, $0 + db "ほーほほほ", $9c, $4, $0 + db "ほら@@@", $b6, $4, $0 + db "まあ@@@", $c0, $4, $0 + db "むきー!!", $10, $5, $0 + db "むふー@@", $18, $5, $0 + db "むふふ@@", $1a, $5, $0 + db "むむ@@@", $1c, $5, $0 + db "よーし@@", $6a, $5, $0 + db "よし!@@", $72, $5, $0 + db "ラララ@@", $98, $5, $0 + db "わーい@@", $ac, $5, $0 + db "わーん!!", $b0, $5, $0 + db "ワォ@@@", $b2, $5, $0 + db "わっ!!@", $ce, $5, $0 + db "わははは!", $d0, $5, $0 + +Unknown_11e2d8: ; 11e2d8 + db "あのね@@", $50, $0, $0 + db "あんまり@", $6e, $0, $0 + db "いじわる@", $8e, $0, $0 + db "うそ@@@", $b6, $0, $0 + db "うむ@@@", $c4, $0, $0 + db "おーい@@", $e4, $0, $0 + db "おすすめ@", $6, $1, $0 + db "おばかさん", $1e, $1, $0 + db "かなり@@", $6e, $1, $0 + db "から@@@", $7a, $1, $0 + db "きぶん@@", $98, $1, $0 + db "けど@@@", $d6, $1, $0 + db "こそ@@@", $ea, $1, $0 + db "こと@@@", $ee, $1, $0 + db "さあ@@@", $12, $2, $0 + db "さっぱり@", $1e, $2, $0 + db "さて@@@", $20, $2, $0 + db "じゅうぶん", $72, $2, $0 + db "すぐ@@@", $94, $2, $0 + db "すごく@@", $98, $2, $0 + db "すこしは@", $9a, $2, $0 + db "すっっごい", $a0, $2, $0 + db "ぜーんぜん", $b0, $2, $0 + db "ぜったい@", $b2, $2, $0 + db "それで@@", $ce, $2, $0 + db "だけ@@@", $f2, $2, $0 + db "だって@@", $fc, $2, $0 + db "たぶん@@", $6, $3, $0 + db "たら@@@", $14, $3, $0 + db "ちょー@@", $3a, $3, $0 + db "ちょっと@", $3c, $3, $0 + db "ったら@@", $4e, $3, $0 + db "って@@@", $50, $3, $0 + db "ていうか@", $62, $3, $0 + db "でも@@@", $88, $3, $0 + db "どうしても", $9c, $3, $0 + db "とうぜん@", $a0, $3, $0 + db "どうぞ@@", $a2, $3, $0 + db "とりあえず", $be, $3, $0 + db "なあ@@@", $cc, $3, $0 + db "なんて@@", $f4, $3, $0 + db "なんでも@", $fc, $3, $0 + db "なんとか@", $fe, $3, $0 + db "には@@@", $8, $4, $0 + db "バッチり@", $46, $4, $0 + db "ばりばり@", $52, $4, $0 + db "ほど@@@", $b0, $4, $0 + db "ほんと@@", $be, $4, $0 + db "まさに@@", $d0, $4, $0 + db "マジ@@@", $d2, $4, $0 + db "マジで@@", $d4, $4, $0 + db "まったく@", $e4, $4, $0 + db "まで@@@", $e6, $4, $0 + db "まるで@@", $ec, $4, $0 + db "ムード@@", $e, $5, $0 + db "むしろ@@", $14, $5, $0 + db "めちゃ@@", $24, $5, $0 + db "めっぽう@", $28, $5, $0 + db "もう@@@", $2c, $5, $0 + db "モード@@", $2e, $5, $0 + db "もっと@@", $36, $5, $0 + db "もはや@@", $38, $5, $0 + db "やっと@@", $4a, $5, $0 + db "やっぱり@", $4c, $5, $0 + db "より@@@", $7c, $5, $0 + db "れば@@@", $a4, $5, $0 + +Unknown_11e4e8: ; 11e4e8 + db "あいたい@", $1a, $0, $0 + db "あそびたい", $32, $0, $0 + db "いきたい@", $7c, $0, $0 + db "うかれて@", $b4, $0, $0 + db "うれしい@", $c6, $0, $0 + db "うれしさ@", $c8, $0, $0 + db "エキサイト", $d8, $0, $0 + db "えらい@@", $de, $0, $0 + db "おかしい@", $ec, $0, $0 + db "ォッケー@", $8, $1, $0 + db "かえりたい", $48, $1, $0 + db "がっくし@", $5a, $1, $0 + db "かなしい@", $6c, $1, $0 + db "がんばって", $80, $1, $0 + db "きがしない", $86, $1, $0 + db "きがする@", $88, $1, $0 + db "ききたい@", $8a, $1, $0 + db "きになる@", $90, $1, $0 + db "きのせい@", $96, $1, $0 + db "きらい@@", $b4, $1, $0 + db "くやしい@", $be, $1, $0 + db "くやしさ@", $c0, $1, $0 + db "さみしい@", $24, $2, $0 + db "ざんねん@", $32, $2, $0 + db "しあわせ@", $36, $2, $0 + db "したい@@", $44, $2, $0 + db "したくない", $46, $2, $0 + db "しまった@", $64, $2, $0 + db "しょんぼり", $82, $2, $0 + db "すき@@@", $92, $2, $0 + db "だいきらい", $da, $2, $0 + db "たいくつ@", $dc, $2, $0 + db "だいじ@@", $de, $2, $0 + db "だいすき@", $e4, $2, $0 + db "たいへん@", $ea, $2, $0 + db "たのしい@", $0, $3, $0 + db "たのしすぎ", $2, $3, $0 + db "たべたい@", $8, $3, $0 + db "ダメダメ@", $e, $3, $0 + db "たりない@", $16, $3, $0 + db "ちくしょー", $34, $3, $0 + db "どうしよう", $9e, $3, $0 + db "ドキドキ@", $ac, $3, $0 + db "ナイス@@", $d0, $3, $0 + db "のみたい@", $26, $4, $0 + db "びっくり@", $60, $4, $0 + db "ふあん@@", $74, $4, $0 + db "ふらふら@", $86, $4, $0 + db "ほしい@@", $ae, $4, $0 + db "ボロボロ@", $b8, $4, $0 + db "まだまだ@", $e0, $4, $0 + db "まてない@", $e8, $4, $0 + db "まんぞく@", $f0, $4, $0 + db "みたい@@", $f8, $4, $0 + db "めずらしい", $22, $5, $0 + db "メラメラ@", $2a, $5, $0 + db "やだ@@@", $46, $5, $0 + db "やったー@", $48, $5, $0 + db "やばい@@", $50, $5, $0 + db "やばすぎる", $52, $5, $0 + db "やられた@", $54, $5, $0 + db "やられて@", $56, $5, $0 + db "よかった@", $6e, $5, $0 + db "ラブラブ@", $96, $5, $0 + db "ロマン@@", $a8, $5, $0 + db "ろんがい@", $aa, $5, $0 + db "わから@@", $b4, $5, $0 + db "わかり@@", $b6, $5, $0 + db "わくわく@", $ba, $5, $0 + +Unknown_11e710: ; 11e710 + db "あつい@@", $38, $0, $0 + db "あった@@", $3a, $0, $0 + db "あり@@@", $56, $0, $0 + db "ある@@@", $5e, $0, $0 + db "あわてて@", $6a, $0, $0 + db "いい@@@", $70, $0, $0 + db "いか@@@", $76, $0, $0 + db "イカス@@", $78, $0, $0 + db "いきおい@", $7a, $0, $0 + db "いける@@", $8a, $0, $0 + db "いじょう@", $8c, $0, $0 + db "いそがしい", $90, $0, $0 + db "いっしょに", $9a, $0, $0 + db "いっぱい@", $9c, $0, $0 + db "いない@@", $a0, $0, $0 + db "いや@@@", $a4, $0, $0 + db "いる@@@", $a8, $0, $0 + db "うまい@@", $c0, $0, $0 + db "うまく@@", $c2, $0, $0 + db "おおきい@", $e6, $0, $0 + db "おくれ@@", $f2, $0, $0 + db "おしい@@", $fa, $0, $0 + db "おもしろい", $2c, $1, $0 + db "おもしろく", $2e, $1, $0 + db "かっこいい", $5c, $1, $0 + db "かわいい@", $7e, $1, $0 + db "かんぺき@", $82, $1, $0 + db "けっこう@", $d0, $1, $0 + db "げんき@@", $d8, $1, $0 + db "こわい@@", $6, $2, $0 + db "さいこう@", $14, $2, $0 + db "さむい@@", $26, $2, $0 + db "さわやか@", $2c, $2, $0 + db "しかたない", $38, $2, $0 + db "すごい@@", $96, $2, $0 + db "すごすぎ@", $9c, $2, $0 + db "すてき@@", $a4, $2, $0 + db "たいした@", $e0, $2, $0 + db "だいじょぶ", $e2, $2, $0 + db "たかい@@", $ec, $2, $0 + db "ただしい@", $f8, $2, $0 + db "だめ@@@", $c, $3, $0 + db "ちいさい@", $2c, $3, $0 + db "ちがう@@", $30, $3, $0 + db "つかれ@@", $48, $3, $0 + db "とくい@@", $b0, $3, $0 + db "とまらない", $b6, $3, $0 + db "ない@@@", $ce, $3, $0 + db "なかった@", $d2, $3, $0 + db "なし@@@", $d8, $3, $0 + db "なって@@", $dc, $3, $0 + db "はやい@@", $50, $4, $0 + db "ひかる@@", $5a, $4, $0 + db "ひくい@@", $5c, $4, $0 + db "ひどい@@", $64, $4, $0 + db "ひとりで@", $66, $4, $0 + db "ひま@@@", $68, $4, $0 + db "ふそく@@", $76, $4, $0 + db "へた@@@", $8c, $4, $0 + db "まちがって", $e2, $4, $0 + db "やさしい@", $42, $5, $0 + db "よく@@@", $70, $5, $0 + db "よわって@", $86, $5, $0 + db "らく@@@", $8c, $5, $0 + db "らしい@@", $90, $5, $0 + db "わるい@@", $d4, $5, $0 + +Unknown_11e920: ; 11e920 + db "アルバイト", $64, $0, $0 + db "うち@@@", $ba, $0, $0 + db "おかね@@", $ee, $0, $0 + db "おこづかい", $f4, $0, $0 + db "おふろ@@", $24, $1, $0 + db "がっこう@", $5e, $1, $0 + db "きねん@@", $92, $1, $0 + db "グループ@", $c6, $1, $0 + db "ゲット@@", $d2, $1, $0 + db "こうかん@", $de, $1, $0 + db "しごと@@", $40, $2, $0 + db "しゅぎょう", $74, $2, $0 + db "じゅぎょう", $76, $2, $0 + db "じゅく@@", $78, $2, $0 + db "しんか@@", $88, $2, $0 + db "ずかん@@", $90, $2, $0 + db "せいかつ@", $ae, $2, $0 + db "せんせい@", $b8, $2, $0 + db "センター@", $ba, $2, $0 + db "タワー@@", $28, $3, $0 + db "つうしん@", $40, $3, $0 + db "テスト@@", $7e, $3, $0 + db "テレビ@@", $8c, $3, $0 + db "でんわ@@", $96, $3, $0 + db "どうぐ@@", $9a, $3, $0 + db "トレード@", $c4, $3, $0 + db "なまえ@@", $e8, $3, $0 + db "ニュース@", $a, $4, $0 + db "にんき@@", $c, $4, $0 + db "パーティー", $2e, $4, $0 + db "べんきょう", $92, $4, $0 + db "マシン@@", $d6, $4, $0 + db "めいし@@", $1e, $5, $0 + db "メッセージ", $26, $5, $0 + db "もようがえ", $3a, $5, $0 + db "ゆめ@@@", $5a, $5, $0 + db "ようちえん", $66, $5, $0 + db "ラジォ@@", $92, $5, $0 + db "ワールド@", $ae, $5, $0 + +Unknown_11ea58: ; 11ea58 + db "アイドル@", $1e, $0, $0 + db "アニメ@@", $4c, $0, $0 + db "うた@@@", $b8, $0, $0 + db "えいが@@", $d0, $0, $0 + db "おかし@@", $ea, $0, $0 + db "おしゃべり", $4, $1, $0 + db "おままごと", $28, $1, $0 + db "おもちゃ@", $30, $1, $0 + db "おんがく@", $38, $1, $0 + db "カード@@", $3e, $1, $0 + db "かいもの@", $46, $1, $0 + db "グルメ@@", $c8, $1, $0 + db "ゲーム@@", $cc, $1, $0 + db "ざっし@@", $1c, $2, $0 + db "さんぽ@@", $34, $2, $0 + db "じてんしゃ", $50, $2, $0 + db "しゅみ@@", $7a, $2, $0 + db "スポーツ@", $a8, $2, $0 + db "ダイエット", $d8, $2, $0 + db "たからもの", $f0, $2, $0 + db "たび@@@", $4, $3, $0 + db "ダンス@@", $2a, $3, $0 + db "つり@@@", $60, $3, $0 + db "デート@@", $6a, $3, $0 + db "でんしゃ@", $92, $3, $0 + db "ぬいぐるみ", $e, $4, $0 + db "パソコン@", $3e, $4, $0 + db "はな@@@", $4c, $4, $0 + db "ヒーロー@", $58, $4, $0 + db "ひるね@@", $6e, $4, $0 + db "ヒロイン@", $70, $4, $0 + db "ぼうけん@", $96, $4, $0 + db "ボード@@", $9a, $4, $0 + db "ボール@@", $9e, $4, $0 + db "ほん@@@", $ba, $4, $0 + db "マンガ@@", $ee, $4, $0 + db "やくそく@", $40, $5, $0 + db "やすみ@@", $44, $5, $0 + db "よてい@@", $74, $5, $0 + +Unknown_11eb90: ; 11eb90 + db "あう@@@", $20, $0, $0 + db "あきらめ@", $24, $0, $0 + db "あげる@@", $28, $0, $0 + db "あせる@@", $2e, $0, $0 + db "あそび@@", $30, $0, $0 + db "あそぶ@@", $34, $0, $0 + db "あつめ@@", $3e, $0, $0 + db "あるき@@", $60, $0, $0 + db "あるく@@", $62, $0, $0 + db "いく@@@", $7e, $0, $0 + db "いけ@@@", $86, $0, $0 + db "おき@@@", $f0, $0, $0 + db "おこり@@", $f6, $0, $0 + db "おこる@@", $f8, $0, $0 + db "おしえ@@", $fe, $0, $0 + db "おしえて@", $0, $1, $0 + db "おねがい@", $1a, $1, $0 + db "おぼえ@@", $26, $1, $0 + db "かえる@@", $4a, $1, $0 + db "がまん@@", $74, $1, $0 + db "きく@@@", $8c, $1, $0 + db "きたえ@@", $8e, $1, $0 + db "きめ@@@", $a6, $1, $0 + db "くる@@@", $c4, $1, $0 + db "さがし@@", $18, $2, $0 + db "さわぎ@@", $2a, $2, $0 + db "した@@@", $42, $2, $0 + db "しって@@", $4a, $2, $0 + db "して@@@", $4e, $2, $0 + db "しない@@", $52, $2, $0 + db "しまう@@", $60, $2, $0 + db "じまん@@", $66, $2, $0 + db "しらない@", $84, $2, $0 + db "しる@@@", $86, $2, $0 + db "しんじて@", $8a, $2, $0 + db "する@@@", $aa, $2, $0 + db "たべる@@", $a, $3, $0 + db "つかう@@", $42, $3, $0 + db "つかえ@@", $44, $3, $0 + db "つかって@", $46, $3, $0 + db "できない@", $70, $3, $0 + db "できる@@", $72, $3, $0 + db "でない@@", $84, $3, $0 + db "でる@@@", $8a, $3, $0 + db "なげる@@", $d6, $3, $0 + db "なやみ@@", $ea, $3, $0 + db "ねられ@@", $18, $4, $0 + db "ねる@@@", $1a, $4, $0 + db "のがし@@", $24, $4, $0 + db "のむ@@@", $28, $4, $0 + db "はしり@@", $3a, $4, $0 + db "はしる@@", $3c, $4, $0 + db "はたらき@", $40, $4, $0 + db "はたらく@", $42, $4, $0 + db "はまって@", $4e, $4, $0 + db "ぶつけ@@", $7a, $4, $0 + db "ほめ@@@", $b4, $4, $0 + db "みせて@@", $f6, $4, $0 + db "みて@@@", $fc, $4, $0 + db "みる@@@", $2, $5, $0 + db "めざす@@", $20, $5, $0 + db "もって@@", $34, $5, $0 + db "ゆずる@@", $58, $5, $0 + db "ゆるす@@", $5c, $5, $0 + db "ゆるせ@@", $5e, $5, $0 + db "られない@", $9a, $5, $0 + db "られる@@", $9c, $5, $0 + db "わかる@@", $b8, $5, $0 + db "わすれ@@", $c0, $5, $0 + +Unknown_11edb8: ; 11edb8 + db "あき@@@", $22, $0, $0 + db "あさ@@@", $2a, $0, $0 + db "あした@@", $2c, $0, $0 + db "いちにち@", $94, $0, $0 + db "いつか@@", $98, $0, $0 + db "いつも@@", $9e, $0, $0 + db "いま@@@", $a2, $0, $0 + db "えいえん@", $ce, $0, $0 + db "おととい@", $12, $1, $0 + db "おわり@@", $36, $1, $0 + db "かようび@", $78, $1, $0 + db "きのう@@", $94, $1, $0 + db "きょう@@", $b0, $1, $0 + db "きんようび", $b8, $1, $0 + db "げつようび", $d4, $1, $0 + db "このあと@", $f4, $1, $0 + db "このまえ@", $f6, $1, $0 + db "こんど@@", $c, $2, $0 + db "じかん@@", $3c, $2, $0 + db "じゅうねん", $70, $2, $0 + db "すいようび", $8e, $2, $0 + db "スタート@", $9e, $2, $0 + db "ずっと@@", $a2, $2, $0 + db "ストップ@", $a6, $2, $0 + db "そのうち@", $c4, $2, $0 + db "ついに@@", $3e, $3, $0 + db "つぎ@@@", $4a, $3, $0 + db "どようび@", $ba, $3, $0 + db "なつ@@@", $da, $3, $0 + db "にちようび", $6, $4, $0 + db "はじめ@@", $38, $4, $0 + db "はる@@@", $54, $4, $0 + db "ひる@@@", $6c, $4, $0 + db "ふゆ@@@", $84, $4, $0 + db "まいにち@", $c6, $4, $0 + db "もくようび", $30, $5, $0 + db "よなか@@", $76, $5, $0 + db "よる@@@", $7e, $5, $0 + db "らいしゅう", $88, $5, $0 + +Unknown_11eef0: ; 11eef0 + db "いたします", $92, $0, $0 + db "おります@", $32, $1, $0 + db "か!?@@", $3c, $1, $0 + db "かい?@@", $44, $1, $0 + db "かしら?@", $50, $1, $0 + db "かな?@@", $6a, $1, $0 + db "かも@@@", $76, $1, $0 + db "くれ@@@", $ca, $1, $0 + db "ございます", $e8, $1, $0 + db "しがち@@", $3a, $2, $0 + db "します@@", $62, $2, $0 + db "じゃ@@@", $6a, $2, $0 + db "じゃん@@", $6e, $2, $0 + db "しよう@@", $7c, $2, $0 + db "ぜ!@@@", $ac, $2, $0 + db "ぞ!@@@", $bc, $2, $0 + db "た@@@@", $d4, $2, $0 + db "だ@@@@", $d6, $2, $0 + db "だからね@", $ee, $2, $0 + db "だぜ@@@", $f4, $2, $0 + db "だった@@", $fa, $2, $0 + db "だね@@@", $fe, $2, $0 + db "だよ@@@", $10, $3, $0 + db "だよねー!", $12, $3, $0 + db "だわ@@@", $26, $3, $0 + db "ッス@@@", $4c, $3, $0 + db "ってかんじ", $52, $3, $0 + db "っぱなし@", $54, $3, $0 + db "つもり@@", $56, $3, $0 + db "ていない@", $64, $3, $0 + db "ている@@", $66, $3, $0 + db "でーす!@", $68, $3, $0 + db "でした@@", $74, $3, $0 + db "でしょ?@", $76, $3, $0 + db "でしょー!", $78, $3, $0 + db "です@@@", $7a, $3, $0 + db "ですか?@", $7c, $3, $0 + db "ですよ@@", $80, $3, $0 + db "ですわ@@", $82, $3, $0 + db "どうなの?", $a4, $3, $0 + db "どうよ?@", $a8, $3, $0 + db "とかいって", $aa, $3, $0 + db "なの@@@", $e0, $3, $0 + db "なのか@@", $e2, $3, $0 + db "なのだ@@", $e4, $3, $0 + db "なのよ@@", $e6, $3, $0 + db "なんだね@", $f2, $3, $0 + db "なんです@", $f8, $3, $0 + db "なんてね@", $fa, $3, $0 + db "ね@@@@", $12, $4, $0 + db "ねー@@@", $14, $4, $0 + db "の@@@@", $1c, $4, $0 + db "の?@@@", $1e, $4, $0 + db "ばっかり@", $44, $4, $0 + db "まーす!@", $c2, $4, $0 + db "ます@@@", $d8, $4, $0 + db "ますわ@@", $da, $4, $0 + db "ません@@", $dc, $4, $0 + db "みたいな@", $fa, $4, $0 + db "よ!@@@", $60, $5, $0 + db "よー@@@", $68, $5, $0 + db "よーん@@", $6c, $5, $0 + db "よね@@@", $78, $5, $0 + db "るよ@@@", $a2, $5, $0 + db "わけ@@@", $bc, $5, $0 + db "わよ!@@", $d2, $5, $0 + +Unknown_11f100: ; 11f100 + db "ああ@@@", $12, $0, $0 + db "あっち@@", $3c, $0, $0 + db "あの@@@", $4e, $0, $0 + db "ありゃ@@", $5c, $0, $0 + db "あれ@@@", $66, $0, $0 + db "あれは@@", $68, $0, $0 + db "あんな@@", $6c, $0, $0 + db "こう@@@", $dc, $1, $0 + db "こっち@@", $ec, $1, $0 + db "この@@@", $f2, $1, $0 + db "こりゃ@@", $fe, $1, $0 + db "これ@@@", $0, $2, $0 + db "これだ!@", $2, $2, $0 + db "これは@@", $4, $2, $0 + db "こんな@@", $e, $2, $0 + db "そう@@@", $be, $2, $0 + db "そっち@@", $c0, $2, $0 + db "その@@@", $c2, $2, $0 + db "そりゃ@@", $c6, $2, $0 + db "それ@@@", $c8, $2, $0 + db "それだ!@", $cc, $2, $0 + db "それは@@", $d0, $2, $0 + db "そんな@@", $d2, $2, $0 + db "どう@@@", $98, $3, $0 + db "どっち@@", $b2, $3, $0 + db "どの@@@", $b4, $3, $0 + db "どりゃ@@", $c0, $3, $0 + db "どれ@@@", $c2, $3, $0 + db "どれを@@", $c8, $3, $0 + db "どんな@@", $ca, $3, $0 + db "なに@@@", $de, $3, $0 + db "なんか@@", $ec, $3, $0 + db "なんだ@@", $f0, $3, $0 + db "なんで@@", $f6, $3, $0 + db "なんなんだ", $0, $4, $0 + db "なんの@@", $2, $4, $0 +; 11f220 + +Unknown_11f220: +INCBIN "baserom.gbc",$11f220,$11f23c - $11f220 + +Unknown_11f23c: +INCBIN "baserom.gbc",$11f23c,$11f2f0 - $11f23c + +Unknown_11f2f0: +INCBIN "baserom.gbc",$11f2f0,$11f332 - $11f2f0 + +Unknown_11f332: +INCBIN "baserom.gbc",$11f332,$11f3ce - $11f332 + +Unknown_11f3ce: +INCBIN "baserom.gbc",$11f3ce,$11f686 - $11f3ce + + + +SECTION "bank5B", ROMX, BANK[$5B] + +Function16c000: ; 16c000 + ld a, [hCGB] + and a + ret z + ld a, [$ffea] + and a + ret z + ld a, [wcfbe] + push af + set 7, a + ld [wcfbe], a + call Function16c108 + callba Function100063 + callba Function100082 + call Function16c031 + callba Function1000a4 + xor a + ld [$ffea], a + pop af + ld [wcfbe], a + ret +; 16c031 + +Function16c031: ; 16c031 + xor a + ld [wcf63], a + ld [wcf64], a + ld [DefaultFlypoint], a + ld [wd003], a +.asm_16c03e + call DelayFrame + callba Function10635c + ld a, [DefaultFlypoint] + ld hl, Jumptable_16c05c + rst JumpTable + call Function16cb2e + call Function16cbae + ld a, [DefaultFlypoint] + cp $ff + jr nz, .asm_16c03e + ret +; 16c05c + +Jumptable_16c05c: ; 16c05c + dw Function16c074 + dw Function16c0ba + dw Function16c089 + dw Function16c09e + dw Function16c0a8 + dw Function16c0dc + dw Function16c0ec + dw Function16c0ba + dw Function16c0ca + dw Function16c0dc + dw Function16c0ec + dw Function16c081 +; 16c074 + +Function16c074: ; 16c074 + ld a, [wcf64] + and a + ret z + ld [DefaultFlypoint], a + xor a + ld [wd003], a + ret +; 16c081 + +Function16c081: ; 16c081 + push af + ld a, $ff + ld [DefaultFlypoint], a + pop af + ret +; 16c089 + +Function16c089: ; 16c089 + ld a, $1 + ld [Buffer2], a + ld [wd1f1], a + xor a + ld [hWY], a + call Function16c0fa + ld a, [DefaultFlypoint] + ld [wcf64], a + ret +; 16c09e + +Function16c09e: ; 16c09e + ld a, [wcf64] + cp $4 + ret nz + call Function16c0fa + ret +; 16c0a8 + +Function16c0a8: ; 16c0a8 + xor a + ld [Buffer2], a + ld [wd1f1], a + call ClearSprites + ld a, $90 + ld [hWY], a + call Function16c0fa + ret +; 16c0ba + +Function16c0ba: ; 16c0ba + call Function16c943 + push af + ld a, [wd003] + inc a + ld [wd003], a + pop af + call c, Function16c0fa + ret +; 16c0ca + +Function16c0ca: ; 16c0ca + ld a, [wd003] + cp $28 + push af + ld a, [wd003] + inc a + ld [wd003], a + pop af + call z, Function16c0fa + ret +; 16c0dc + +Function16c0dc: ; 16c0dc + call Function16ca11 + push af + ld a, [wd003] + inc a + ld [wd003], a + pop af + call c, Function16c0fa + ret +; 16c0ec + +Function16c0ec: ; 16c0ec + call WhiteBGMap + call ClearScreen + push af + ld a, $ff + ld [DefaultFlypoint], a + pop af + ret +; 16c0fa + +Function16c0fa: ; 16c0fa + push af + ld a, [DefaultFlypoint] + inc a + ld [DefaultFlypoint], a + xor a + ld [wd003], a + pop af + ret +; 16c108 + +Function16c108: ; 16c108 + call DisableLCD + ld hl, VTiles2 + ld de, GFX_16c173 + lb bc, BANK(GFX_16c173), $68 + call Get2bpp + call Function16c130 + call Function16c145 + call Function16c15c + ld hl, VBGMap0 + call Function16cc73 + call Function16cc02 + xor a + ld [hBGMapMode], a + call EnableLCD + ret +; 16c130 + +Function16c130: ; 16c130 + ld de, Unkn1Pals + ld hl, Unknown_16c903 + ld bc, 8 + ld a, $5 + call FarCopyWRAM + callba Function96a4 + ret +; 16c145 + +Function16c145: ; 16c145 + ld hl, TileMap + ld bc, 20 + xor a + call ByteFill + ld hl, Tilemap_16c633 + decoord 0, 1 + ld bc, $0154 + call CopyBytes + ret +; 16c15c + +Function16c15c: ; 16c15c + ld hl, AttrMap + ld bc, $0014 + xor a + call ByteFill + ld hl, Tilemap_16c79b + decoord 0, 1, AttrMap + ld bc, $0154 + call CopyBytes + ret +; 16c173 + +GFX_16c173: +INCBIN "gfx/unknown/16c173.2bpp" + +Tilemap_16c633: +INCBIN "gfx/unknown/16c633.tilemap" + +Tilemap_16c79b: +INCBIN "gfx/unknown/16c79b.tilemap" + +Unknown_16c903: + RGB 31, 31, 31 + RGB 04, 10, 20 + RGB 16, 19, 25 + RGB 25, 27, 29 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 +; 16c943 + +Function16c943: ; 16c943 + ld a, [wd003] + and a + jr nz, .asm_16c95e + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld a, $ff + ld bc, $0008 + ld hl, Unkn1Pals + call ByteFill + pop af + ld [rSVBK], a + +.asm_16c95e + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld e, $0 + ld a, $0 +.asm_16c969 + ld hl, Unknown_16c903 + call Function16cab6 + call Function16cabb + ld d, a + ld hl, Unkn1Pals + call Function16cab6 + call Function16cabb + cp d + jr z, .asm_16c991 + ld b, $1 +.asm_16c981 + dec a + cp d + jr z, .asm_16c988 + dec b + jr nz, .asm_16c981 + +.asm_16c988 + ld hl, Unkn1Pals + call Function16cab6 + call Function16cadc + +.asm_16c991 + ld hl, Unknown_16c903 + call Function16cab6 + call Function16cad8 + ld d, a + ld hl, Unkn1Pals + call Function16cab6 + call Function16cad8 + cp d + jr z, .asm_16c9b9 + ld b, $1 +.asm_16c9a9 + dec a + cp d + jr z, .asm_16c9b0 + dec b + jr nz, .asm_16c9a9 + +.asm_16c9b0 + ld hl, Unkn1Pals + call Function16cab6 + call Function16cb08 + +.asm_16c9b9 + ld hl, Unknown_16c903 + call Function16cab6 + call Function16cac4 + ld d, a + ld hl, Unkn1Pals + call Function16cab6 + call Function16cac4 + cp d + jr z, .asm_16c9e1 + ld b, $1 +.asm_16c9d1 + dec a + cp d + jr z, .asm_16c9d8 + dec b + jr nz, .asm_16c9d1 + +.asm_16c9d8 + ld hl, Unkn1Pals + call Function16cab6 + call Function16cae8 + +.asm_16c9e1 + inc e + inc e + ld a, e + cp $8 + jr nz, .asm_16c969 + callba Function96a4 + call Function32f9 + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld a, [wd003] + cp $1f + jr z, .asm_16ca09 + pop af + ld [rSVBK], a + ld e, $0 + pop af + ld [rSVBK], a + and a + ret + +.asm_16ca09 + pop af + ld [rSVBK], a + pop af + ld [rSVBK], a + scf + ret +; 16ca11 + +Function16ca11: ; 16ca11 + ld a, [wd003] + and a + jr nz, .asm_16ca1d + callba Function96a4 + +.asm_16ca1d + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld e, $0 + ld a, $0 +.asm_16ca28 + ld hl, Unkn1Pals + call Function16cab6 + call Function16cabb + cp $1f + jr z, .asm_16ca48 + ld b, $1 +.asm_16ca37 + inc a + cp $1f + jr z, .asm_16ca3f + dec b + jr nz, .asm_16ca37 + +.asm_16ca3f + ld hl, Unkn1Pals + call Function16cab6 + call Function16cadc + +.asm_16ca48 + ld hl, Unkn1Pals + call Function16cab6 + call Function16cad8 + cp $1f + jr z, .asm_16ca68 + ld b, $1 +.asm_16ca57 + inc a + cp $1f + jr z, .asm_16ca5f + dec b + jr nz, .asm_16ca57 + +.asm_16ca5f + ld hl, Unkn1Pals + call Function16cab6 + call Function16cb08 + +.asm_16ca68 + ld hl, Unkn1Pals + call Function16cab6 + call Function16cac4 + cp $1f + jr z, .asm_16ca88 + ld b, $1 +.asm_16ca77 + inc a + cp $1f + jr z, .asm_16ca7f + dec b + jr nz, .asm_16ca77 + +.asm_16ca7f + ld hl, Unkn1Pals + call Function16cab6 + call Function16cae8 + +.asm_16ca88 + inc e + inc e + ld a, e + cp $8 + jr nz, .asm_16ca28 + callba Function96a4 + call Function32f9 + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld a, [wd003] + cp $1f + jr z, .asm_16caae + pop af + ld [rSVBK], a + pop af + ld [rSVBK], a + and a + ret + +.asm_16caae + pop af + ld [rSVBK], a + pop af + ld [rSVBK], a + scf + ret +; 16cab6 + +Function16cab6: ; 16cab6 + ld b, $0 + ld c, e + add hl, bc + ret +; 16cabb + +Function16cabb: ; 16cabb + inc hl + ld a, [hl] + srl a + srl a + and $1f + ret +; 16cac4 + +Function16cac4: ; 16cac4 + inc hl + ld a, [hld] + and $3 + ld b, a + ld a, [hl] + sla a + rl b + sla a + rl b + sla a + rl b + ld a, b + ret +; 16cad8 + +Function16cad8: ; 16cad8 + ld a, [hl] + and $1f + ret +; 16cadc + +Function16cadc: ; 16cadc + sla a + sla a + ld b, a + inc hl + ld a, [hl] + and $83 + or b + ld [hl], a + ret +; 16cae8 + +Function16cae8: ; 16cae8 + ld c, a + srl a + srl a + srl a + ld b, a + inc hl + ld a, [hl] + and $fc + or b + ld [hld], a + ld a, c + sla a + sla a + sla a + sla a + sla a + ld b, a + ld a, [hl] + and $1f + or b + ld [hl], a + ret +; 16cb08 + +Function16cb08: ; 16cb08 + ld b, a + ld a, [hl] + and $e0 + or b + ld [hl], a + ret +; 16cb0f + +Function16cb0f: ; 16cb0f + xor a + ld [Buffer1], a + ld [Buffer2], a + xor a + ld [wd1ec], a + ld a, $70 + ld [wd1ee], a + ld a, $4 + ld [wd1ed], a + ld a, $a0 + ld [wd1ef], a + xor a + ld [wd1f0], a + ret +; 16cb2e + +Function16cb2e: ; 16cb2e + ld a, [Buffer2] + and a + ret z + call Function16cb40 + ld hl, Unknown_16cb86 + ld de, Sprites + call Function16cb5d + ret +; 16cb40 + +Function16cb40: ; 16cb40 + ld hl, wd1ec + inc [hl] + ld a, [hl] + cp $18 + ret c + xor a + ld [hl], a + ld a, [wd1ef] + cp $a0 + jr nz, .asm_16cb57 + ld a, $a7 + ld [wd1ef], a + ret + +.asm_16cb57 + ld a, $a0 + ld [wd1ef], a + ret +; 16cb5d + +Function16cb5d: ; 16cb5d + ld a, [hli] + and a + ret z +.asm_16cb60 + push af + ld a, [wd1ee] + add [hl] + add $10 + ld [de], a + inc hl + inc de + ld a, [wd1ed] + add [hl] + add $8 + ld [de], a + inc hl + inc de + ld a, [wd1ef] + add [hl] + ld [de], a + inc hl + inc de + ld a, [wd1f0] + or [hl] + ld [de], a + inc hl + inc de + pop af + dec a + jr nz, .asm_16cb60 + ret +; 16cb86 + +Unknown_16cb86: + db 7 + db 0, 0, 0, 1 + db 8, 0, 1, 1 + db 8, 8, 2, 0 + db 8, 16, 3, 0 + db 16, 0, 4, 1 + db 16, 8, 5, 0 + db 16, 16, 6, 0 +; 16cba3 + +Function16cba3: ; 16cba3 + xor a + ld [wd1f1], a + ld [wd1f2], a + ld [wd1f3], a + ret +; 16cbae + +Function16cbae: ; 16cbae + ld a, [wd1f1] + and a + ret z + call Function16cbba + call Function16cbd1 + ret +; 16cbba + +Function16cbba: ; 16cbba + ld hl, wd1f2 + inc [hl] + ld a, [hl] + cp $c + ret c + xor a + ld [hl], a + ld a, [wd1f3] + inc a + cp $4 + jr c, .asm_16cbcd + xor a + +.asm_16cbcd + ld [wd1f3], a + ret +; 16cbd1 + +Function16cbd1: ; 16cbd1 + ld a, [wd1f3] + ld c, a + ld b, 0 + ld hl, Unknown_16cbfb + add hl, bc + ld a, [hl] + ld bc, $0002 + ld hl, Unknown_16cfa3 + call AddNTimes + ld de, wd00c + ld bc, $0002 + ld a, $5 + call FarCopyWRAM + callba Function96a4 + ld a, $1 + ld [hCGBPalUpdate], a + ret +; 16cbfb + +Unknown_16cbfb: + db 0, 1, 2, 1, 0, 1, 2 +; 16cc02 + +Function16cc02: ; 16cc02 + call Function16cc18 + call Function16cc49 + call Function16cc62 + call Function16cc25 + call Function16cc6e + call Function16cb0f + call Function16cba3 + ret +; 16cc18 + +Function16cc18: ; 16cc18 + ld hl, VTiles1 + ld de, GFX_16cca3 + lb bc, BANK(GFX_16cca3), $2e + call Get2bpp + ret +; 16cc25 + +Function16cc25: ; 16cc25 + ld hl, Unknown_16cfa9 + ld de, wd008 + call Function16cc41 + ld hl, Unknown_16cfb1 + ld de, Unkn2Pals + call Function16cc41 + ld hl, Unknown_16cfb9 + ld de, wd048 + call Function16cc41 + ret +; 16cc41 + +Function16cc41: ; 16cc41 + ld bc, $0008 + ld a, $5 + jp FarCopyWRAM +; 16cc49 + +Function16cc49: ; 16cc49 + hlcoord 4, 15 + ld a, $80 + call Function16cc5a + hlcoord 4, 16 + ld a, $90 + call Function16cc5a + ret +; 16cc5a + +Function16cc5a: ; 16cc5a + ld c, $10 +.asm_16cc5c + ld [hli], a + inc a + dec c + jr nz, .asm_16cc5c + ret +; 16cc62 + +Function16cc62: ; 16cc62 + hlcoord 0, 15, AttrMap + ld bc, $0028 + ld a, $1 + call ByteFill + ret +; 16cc6e + +Function16cc6e: ; 16cc6e + ld hl, VBGMap1 + jr Function16cc73 + +Function16cc73: + ld a, [rVBK] + push af + ld a, $0 + ld [rVBK], a + push hl + ld de, TileMap + call Function16cc90 + pop hl + ld a, $1 + ld [rVBK], a + ld de, AttrMap + call Function16cc90 + pop af + ld [rVBK], a + ret +; 16cc90 + +Function16cc90: ; 16cc90 + ld bc, $1214 +.asm_16cc93 + push bc +.asm_16cc94 + ld a, [de] + inc de + ld [hli], a + dec c + jr nz, .asm_16cc94 + ld bc, $000c + add hl, bc + pop bc + dec b + jr nz, .asm_16cc93 + ret +; 16cca3 + +GFX_16cca3: +INCBIN "gfx/unknown/16cca3.2bpp" + +Unknown_16cfa3: + RGB 31, 31, 31 + RGB 25, 27, 29 + RGB 16, 19, 25 + +Unknown_16cfa9: + RGB 31, 31, 31 + RGB 25, 27, 29 + RGB 31, 31, 31 + RGB 07, 07, 07 + +Unknown_16cfb1: + RGB 31, 31, 31 + RGB 13, 09, 18 + RGB 26, 21, 16 + RGB 07, 07, 07 + +Unknown_16cfb9: + RGB 31, 31, 31 + RGB 18, 05, 02 + RGB 27, 11, 12 + RGB 07, 07, 07 +; 16cfc1 + +GFX_16cfc1: +INCBIN "gfx/unknown/16cfc1.2bpp" + +Function16d421: ; 16d421 + ld de, GFX_16cfc1 + ld hl, VTiles2 + lb bc, BANK(GFX_16cfc1), $46 + call Get2bpp + ret +; 16d42e + +Function16d42e: ; 16d42e + ld hl, Tilemap_16d465 + ld de, TileMap + ld bc, $0168 + call CopyBytes + ret +; 16d43b + +Function16d43b: ; 16d43b + call Function1d6e + call WhiteBGMap + call ClearTileMap + call ClearSprites + callba Function16d421 + callba Function16d42e + ld b, $8 + call GetSGBLayout + call Function32f9 + call WaitBGMap + call Functiona36 + call Function1d7d + ret +; 16d465 + +Tilemap_16d465: +INCBIN "gfx/unknown/16d465.tilemap" + +Tilemap_16d5cd: +INCBIN "gfx/unknown/16d5cd.tilemap" + +Tilemap_16d5f5: +INCBIN "gfx/unknown/16d5f5.tilemap" + +Function16d61d: ; 16d61d + ld h, d + ld l, e + push bc + push hl + call Function16d640 + pop hl + pop bc + ld de, AttrMap - TileMap + add hl, de + inc b + inc b + inc c + inc c + ld a, $7 +.asm_16d630 + push bc + push hl +.asm_16d632 + ld [hli], a + dec c + jr nz, .asm_16d632 + pop hl + ld de, $0014 + add hl, de + pop bc + dec b + jr nz, .asm_16d630 + ret +; 16d640 + +Function16d640: ; 16d640 + push hl + ld a, $30 + ld [hli], a + inc a + call Function16d66d + inc a + ld [hl], a + pop hl + ld de, $0014 + add hl, de +.asm_16d64f + push hl + ld a, $33 + ld [hli], a + ld a, $7f + call Function16d66d + ld [hl], $34 + pop hl + ld de, $0014 + add hl, de + dec b + jr nz, .asm_16d64f + ld a, $35 + ld [hli], a + ld a, $36 + call Function16d66d + ld [hl], $37 + ret +; 16d66d + +Function16d66d: ; 16d66d + ld d, c +.asm_16d66e + ld [hli], a + dec d + jr nz, .asm_16d66e + ret +; 16d673 + +Function16d673: ; 16d673 + call Function16d696 + call Function16d6ae + callba Function49856 + callba Functionfb60d + hlcoord 10, 17 + ld de, String_16d68f + call PlaceString + ret +; 16d68f + +String_16d68f: ; 16d68f + db "CANCEL@" +; 16d696 + +Function16d696: ; 16d696 + call Function16d421 + ret +; 16d69a + + +Function16d69a: ; 16d69a + ld de, GFX_16cfc1 + $300 + ld hl, $9760 + lb bc, BANK(GFX_16cfc1), 8 + call Get2bpp + ret +; 16d6a7 + +Function16d6a7: ; 16d6a7 + callba Function49811 + ret +; 16d6ae + +Function16d6ae: ; 16d6ae + call Function16d42e + ld hl, Tilemap_16d5cd + ld de, TileMap + ld bc, $0028 + call CopyBytes + ld hl, Tilemap_16d5f5 + decoord 0, 16 + ld bc, $0028 + call CopyBytes + ret +; 16d6ca + +Function16d6ca: ; 16d6ca + call Function16d61d + ret +; 16d6ce + +Function16d6ce: ; 16d6ce + call Function1d6e + call Function16d6e1 + callba Function87d + call Function1d7d + call Function3200 + ret +; 16d6e1 + +Function16d6e1: ; 16d6e1 + hlcoord 4, 10 + ld b, $1 + ld c, $a + predef Function28eef + hlcoord 5, 11 + ld de, String_16d701 + call PlaceString + call WaitBGMap + call Function3200 + ld c, $32 + jp DelayFrames +; 16d701 + +String_16d701: ; 16d701 + db "WAITING..!@" +; 16d70c + +Function16d70c: ; 16d70c + call Function16d725 + call Function16d713 + ret +; 16d713 + +Function16d713: ; 16d713 + push bc + push af + ld a, [$ffa9] + and $f0 + ld b, a + ld a, [hJoyPressed] + and $f + or b + ld b, a + pop af + ld a, b + pop bc + ld d, a + ret +; 16d725 + +Function16d725: ; 16d725 + ld hl, wcfa6 + res 7, [hl] + ld a, [hBGMapMode] + push af + call Function16d734 + pop af + ld [hBGMapMode], a + ret +; 16d734 + +Function16d734: ; 16d734 +.asm_16d734 + call Function16d77a + call Function16d759 + call Function16d76a + jr nc, .asm_16d758 + callba Function24270 + jr c, .asm_16d758 + ld a, [wcfa5] + bit 7, a + jr nz, .asm_16d758 + call Function16d713 + ld b, a + ld a, [wcfa8] + and b + jr z, .asm_16d734 + +.asm_16d758 + ret +; 16d759 + +Function16d759: ; 16d759 + ld a, [hOAMUpdate] + push af + ld a, $1 + ld [hOAMUpdate], a + call WaitBGMap + pop af + ld [hOAMUpdate], a + xor a + ld [hBGMapMode], a + ret +; 16d76a + +Function16d76a: ; 16d76a +.asm_16d76a + call RTC + call Function16d7e7 + ret c + ld a, [wcfa5] + bit 7, a + jr z, .asm_16d76a + and a + ret +; 16d77a + +Function16d77a: ; 16d77a + ld hl, wcfac + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [hl] + cp $1f + jr nz, .asm_16d792 + ld a, [wcfab] + ld [hl], a + push hl + push bc + ld bc, $000b + add hl, bc + ld [hl], a + pop bc + pop hl + +.asm_16d792 + ld a, [wcfa1] + ld b, a + ld a, [wcfa2] + ld c, a + call GetTileCoord + ld a, [wcfa7] + swap a + and $f + ld c, a + ld a, [wcfa9] + ld b, a + xor a + dec b + jr z, .asm_16d7b1 +.asm_16d7ad + add c + dec b + jr nz, .asm_16d7ad + +.asm_16d7b1 + ld c, $14 + call AddNTimes + ld a, [wcfa7] + and $f + ld c, a + ld a, [wcfaa] + ld b, a + xor a + dec b + jr z, .asm_16d7c8 +.asm_16d7c4 + add c + dec b + jr nz, .asm_16d7c4 + +.asm_16d7c8 + ld c, a + add hl, bc + ld a, [hl] + cp $1f + jr z, .asm_16d7de + ld [wcfab], a + ld [hl], $1f + push hl + push bc + ld bc, $000b + add hl, bc + ld [hl], $1f + pop bc + pop hl + +.asm_16d7de + ld a, l + ld [wcfac], a + ld a, h + ld [wcfad], a + ret +; 16d7e7 + +Function16d7e7: ; 16d7e7 + ld a, [wcfa5] + bit 6, a + jr z, .asm_16d7f4 + callba Function8cf62 + +.asm_16d7f4 + call Functiona57 + call Function16d713 + and a + ret z + scf + ret +; 16d7fe + + +SECTION "bank5C", ROMX, BANK[$5C] + +Function170000: ; 170000 + ld a, [$c62b] + ld [$c6d0], a + ld hl, $c62e + ld de, $c6e7 + ld bc, $0005 + call CopyBytes + ld a, $50 + ld [de], a + ld hl, $c663 + ld de, $c6f2 + ld bc, $0005 + call CopyBytes + ld a, $50 + ld [de], a + ld hl, $c648 + ld a, [hli] + ld [$c6fd], a + ld a, [hl] + ld [$c6fe], a + ld hl, $c639 + ld a, [hli] + ld [$c6ff], a + ld a, [hl] + ld [wc700], a + ld bc, $c633 + callba GetCaughtGender + ld a, c + ld [wc701], a + ld a, [wcd81] + ld [wc74e], a + ld hl, $c608 + ld de, $d800 + ld bc, $008f + call CopyBytes + ret +; 17005a + +Function17005a: ; 17005a + ld a, $5 + call GetSRAMBank + ld a, [$a824] + ld [wc702], a + ld hl, $a827 + ld de, wc719 + ld bc, $0005 + call CopyBytes + ld a, $50 + ld [de], a + ld hl, $a85c + ld de, wc724 + ld bc, $0005 + call CopyBytes + ld a, $50 + ld [de], a + ld hl, $a841 + ld a, [hli] + ld [wc72f], a + ld a, [hl] + ld [wc730], a + ld hl, $a832 + ld a, [hli] + ld [wc731], a + ld a, [hl] + ld [wc732], a + ld bc, $a82c + callba GetCaughtGender + ld a, c + ld [wc733], a + ld a, [wcd81] + ld [wc74e], a + call CloseSRAM + ret +; 1700b0 + +Function1700b0: ; 1700b0 + call Function17021e + callba Function118121 + ret +; 1700ba + +Function1700ba: ; 1700ba + call Function17021e + callba Function11811a + ret +; 1700c4 + +Function1700c4: ; 1700c4 + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a + call Function17042c + ld a, $5 + call GetSRAMBank + ld a, $1 + ld [$be45], a + xor a + ld [$be46], a + ld hl, $dffc + ld de, $aa41 + ld bc, $0004 + call CopyBytes + ld hl, $d202 + ld de, $aa8e + ld bc, $0594 + call CopyBytes + ld hl, $aa5d + ld a, [hl] + inc [hl] + inc hl + sla a + sla a + ld e, a + ld d, $0 + add hl, de + ld e, l + ld d, h + ld hl, $dffc + ld bc, $0004 + call CopyBytes + call CloseSRAM + pop af + ld [rSVBK], a + ret +; 170114 + +Function170114: ; 170114 + call Function17021e + call Function170121 + callba Function11805f + ret +; 170121 + +Function170121: ; 170121 + ld a, $5 + call GetSRAMBank + ld hl, $a948 + ld de, $c608 + ld bc, $00f6 + call CopyBytes + call CloseSRAM + call Function170c8b + ret +; 170139 + +Function170139: ; 170139 + ld a, $5 + call GetSRAMBank + ld de, $aa41 + ld h, $0 + ld l, h + ld bc, $03e8 + call Function17020c + ld bc, $0064 + call Function17020c + ld bc, $000a + call Function17020c + ld a, [de] + ld c, a + ld b, $0 + add hl, bc + call CloseSRAM + ld a, h + ld [$c608], a + ld a, l + ld [$c608 + 1], a + ld hl, $c628 + ld a, [PlayerID] + ld [hli], a + ld a, [PlayerID + 1] + ld [hli], a + ld a, [wd84a] + ld [hli], a + ld a, [wd84b] + ld [hli], a + ld e, l + ld d, h + ld hl, PlayerName + ld bc, $0005 + call CopyBytes + ld bc, PlayerID + ld de, PlayerGender + callba Function4e929 + ld de, $c62c + 5 + ld a, c + ld [de], a + inc de + ld a, $df + ld [wcd49], a + ld a, $dc + ld [wcd4a], a + ld a, $41 + ld [wcd4b], a + ld a, $de + ld [wcd4c], a + ld a, $3 +.asm_1701ac + push af + ld a, [wcd49] + ld l, a + ld a, [wcd4a] + ld h, a + ld bc, $0030 + call CopyBytes + ld a, l + ld [wcd49], a + ld a, h + ld [wcd4a], a + ld a, [wcd4b] + ld l, a + ld a, [wcd4c] + ld h, a + ld bc, $0006 + call CopyBytes + ld a, l + ld [wcd4b], a + ld a, h + ld [wcd4c], a + pop af + dec a + jr nz, .asm_1701ac + ld a, $4 + call GetSRAMBank + ld hl, $a013 + ld bc, $0024 + call CopyBytes + call CloseSRAM + ld a, $5 + call GetSRAMBank + ld hl, $a894 + ld bc, $0006 + call CopyBytes + ld hl, $c608 + ld de, $a948 + ld bc, $00f6 + call CopyBytes + call CloseSRAM + ret +; 17020c + +Function17020c: ; 17020c + ld a, [de] + inc de + and a + ret z +.asm_170210 + add hl, bc + dec a + jr nz, .asm_170210 + ret +; 170215 + +Function170215: ; 170215 + xor a + ld [wcf63], a + call Function17022c + ret +; 17021d + +Function17021d: ; 17021d + ret +; 17021e + +Function17021e: ; 17021e + xor a + ld [wcf63], a + ld [wcf64], a + ld [wcf65], a + ld [wcf66], a + ret +; 17022c + +Function17022c: ; 17022c +.asm_17022c + call Function17023a + call DelayFrame + ld a, [wcf63] + cp $1 + jr nz, .asm_17022c + ret +; 17023a + +Function17023a: ; 17023a + ld a, [wcf63] + ld e, a + ld d, 0 + ld hl, Jumptable_170249 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 170249 + +Jumptable_170249: ; 170249 + dw Function17024d + dw Function1704c9 +; 17024d + +Function17024d: ; 17024d + ld a, [Options] + push af + ld hl, Options + set 6, [hl] + ld a, [wcfc0] + push af + or $1 + ld [wcfc0], a + xor a + ld [InLinkBattle], a + callba Function1060a2 + callba Functionc658 + call Function1702b7 + call Function170bf7 + predef StartBattle + callba Function1500c + callba Functionc658 + ld a, [wd0ee] + ld [ScriptVar], a + and a + jr nz, .asm_1702a9 + ld a, $1 + call GetSRAMBank + ld a, [$be46] + ld [wcf64], a + call CloseSRAM + ld hl, StringBuffer3 + ld a, [wcf64] + add $f7 + ld [hli], a + ld a, $50 + ld [hl], a + +.asm_1702a9 + pop af + ld [wcfc0], a + pop af + ld [Options], a + ld a, $1 + ld [wcf63], a + ret +; 1702b7 + +Function1702b7: ; 1702b7 + call Function1704a2 + ld de, $c643 + ld c, $b + callba Function17d073 + jr nc, .asm_1702db + ld a, [$c608 + 11] + ld [wd265], a + call GetPokemonName + ld l, e + ld h, d + ld de, $c643 + ld bc, $000b + call CopyBytes + +.asm_1702db + ld de, $c67e + ld c, $b + callba Function17d073 + jr nc, .asm_1702fc + ld a, [$c64e] + ld [wd265], a + call GetPokemonName + ld l, e + ld h, d + ld de, $c67e + ld bc, $000b + call CopyBytes + +.asm_1702fc + ld de, $c686 + 51 + ld c, $b + callba Function17d073 + jr nc, .asm_17031d + ld a, [$c689] + ld [wd265], a + call GetPokemonName + ld l, e + ld h, d + ld de, $c686 + 51 + ld bc, $000b + call CopyBytes + +.asm_17031d + ld a, $50 + ld [$c64d], a + ld [$c688], a + ld [$c68a + 57], a + call Function170c98 + ld de, $c608 + ld c, $a + callba Function17d073 + jr nc, .asm_17033d + ld hl, String_170426 + jr .asm_170340 + +.asm_17033d + ld hl, $c608 + +.asm_170340 + ld de, wd26b + ld bc, $000a + call CopyBytes + ld a, $50 + ld [de], a + ld hl, $c608 + 10 + ld a, [hli] + ld [OtherTrainerClass], a + ld a, $ea + ld [BGMapBuffer], a + ld a, $d3 + ld [wcd21], a + ld de, OTPartyMon1Species + ld bc, OTPartyCount + ld a, $3 + ld [bc], a + inc bc +.asm_170367 + push af + ld a, [hl] + ld [bc], a + inc bc + push bc + ld bc, $0030 + call CopyBytes + push de + ld a, [BGMapBuffer] + ld e, a + ld a, [wcd21] + ld d, a + ld bc, $000b + call CopyBytes + ld a, e + ld [BGMapBuffer], a + ld a, d + ld [wcd21], a + pop de + pop bc + pop af + dec a + and a + jr nz, .asm_170367 + ld a, $ff + ld [bc], a + ret +; 170394 + +Function170394: ; 170394 + ld hl, $c608 + 11 + ld d, $3 +.asm_170399 + push de + push hl + ld b, h + ld c, l + ld a, [hl] + and a + jr z, .asm_1703b1 + cp $ff + jr z, .asm_1703b1 + cp $fe + jr z, .asm_1703b1 + cp $fd + jr z, .asm_1703b1 + cp $fc + jr nz, .asm_1703b4 + +.asm_1703b1 + ld a, $eb + ld [hl], a + +.asm_1703b4 + ld [CurSpecies], a + call GetBaseData + ld a, $5 + call GetSRAMBank + ld a, [$b2fb] + call CloseSRAM + ld e, a + ld hl, $001f + add hl, bc + ld a, [hl] + cp $2 + ld a, $2 + jr c, .asm_1703d6 + ld a, [hl] + cp e + jr c, .asm_1703d7 + ld a, e + +.asm_1703d6 + ld [hl], a + +.asm_1703d7 + ld [CurPartyLevel], a + ld hl, $0002 + add hl, bc + ld d, $3 + ld a, [hli] + and a + jr z, .asm_1703ea + cp $fc + jr nc, .asm_1703ea + jr .asm_1703f4 + +.asm_1703ea + dec hl + ld a, $1 + ld [hli], a + xor a + ld [hli], a + ld [hli], a + ld [hl], a + jr .asm_1703ff + +.asm_1703f4 + ld a, [hl] + cp $fc + jr c, .asm_1703fb + ld [hl], $0 + +.asm_1703fb + inc hl + dec d + jr nz, .asm_1703f4 + +.asm_1703ff + ld hl, $0024 + add hl, bc + ld d, h + ld e, l + push hl + push de + ld hl, $000a + add hl, bc + ld b, $1 + predef Functione167 + pop de + pop hl + dec de + dec de + ld a, [hli] + ld [de], a + inc de + ld a, [hl] + ld [de], a + pop hl + ld bc, $003b + add hl, bc + pop de + dec d + jp nz, .asm_170399 + ret +; 170426 + +String_170426: ; 170426 + db "CHRIS@" +; 17042c + +Function17042c: ; 17042c + ld hl, OTPartyMon2ID + ld a, $7 +.asm_170431 + push af + push hl + ld c, $12 +.asm_170435 + ld a, [hli] + ld b, a + ld a, [hli] + and a + jr z, .asm_170451 + cp $f + jr nc, .asm_17045b + push hl + ld hl, Unknown_170470 + dec a + ld e, a + ld d, 0 + add hl, de + ld a, [hl] + pop hl + cp b + jr c, .asm_17045b + jr z, .asm_17045b + jr .asm_170456 + +.asm_170451 + ld a, b + cp $fc + jr nc, .asm_17045b + +.asm_170456 + dec c + jr nz, .asm_170435 + jr .asm_170466 + +.asm_17045b + pop de + push de + ld hl, Unknown_17047e + ld bc, $0024 + call CopyBytes + +.asm_170466 + pop hl + ld de, $00e0 + add hl, de + pop af + dec a + jr nz, .asm_170431 + ret +; 170470 + +Unknown_170470: + db $12, $24, $45, $45, $42, $42, $45, $42, $27, $27, $45, $27, $42, $24 + +Unknown_17047e: + db $03, $04, $05, $08 + db $03, $05, $0e, $06 + db $03, $02, $00, $00 + db $39, $07, $07, $04 + db $00, $05, $04, $07 + db $01, $05, $00, $00 + db $0f, $05, $14, $07 + db $05, $05, $11, $0c + db $0c, $06, $06, $04 +; 1704a2 + +Function1704a2: ; 1704a2 + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a + ld hl, LYOverrides + ld de, $c608 + ld bc, $00e0 + call CopyBytes + pop af + ld [rSVBK], a + ld a, $1 + call GetSRAMBank + ld a, $2 + ld [$be45], a + ld hl, $be46 + inc [hl] + call CloseSRAM +Function1704c9: + ret +; 1704ca + +Function1704ca: ; 1704ca + ld a, [$be46] + cp $7 + jr c, .asm_1704d3 + ld a, $6 + +.asm_1704d3 + ld hl, $afce + ld de, -$e0 +.asm_1704d9 + and a + jr z, .asm_1704e0 + add hl, de + dec a + jr .asm_1704d9 + +.asm_1704e0 + ret +; 1704e1 + +Function1704e1: ; 1704e1 + call SpeechTextBox + call FadeToMenu + call Function17021e + call Function1704f1 + call Function2b3c + ret +; 1704f1 + +Function1704f1: ; 1704f1 + call WhiteBGMap + call ClearSprites + call ClearScreen +.asm_1704fa + call Functiona57 + ld a, [wcf63] + bit 7, a + jr nz, .asm_17050f + call Function170510 + callba Function104061 + jr .asm_1704fa + +.asm_17050f + ret +; 170510 + +Function170510: ; 170510 + ld a, [wcf63] + ld e, a + ld d, 0 + ld hl, Jumptable_17051f + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 17051f + +Jumptable_17051f: ; 17051f + dw Function170525 + dw Function170571 + dw Function170577 +; 170525 + +Function170525: ; 170525 + ld a, $5 + call GetSRAMBank + ld hl, $a89c + ld de, StringBuffer3 + ld bc, $0016 + call CopyBytes + ld hl, $a8b2 + ld de, $c608 + ld bc, $0096 + call CopyBytes + call CloseSRAM + hlcoord 1, 1 + ld de, StringBuffer3 + call PlaceString + hlcoord 1, 3 + ld de, String_170676 + call PlaceString + hlcoord 4, 3 + ld de, StringBuffer4 + call PlaceString + hlcoord 8, 3 + ld de, String_17067a + call PlaceString + call Function1705b7 + call Function1705f0 + jr Function1705b2 + +Function170571: + call Function32f9 + call Function1705b2 + +Function170577: + ld hl, hJoyPressed + ld a, [hl] + and $1 + jr nz, .asm_1705ac + ld a, [hl] + and $2 + jr nz, .asm_1705ac + ld a, [hl] + and $40 + jr nz, .asm_17058f + ld a, [hl] + and $80 + jr nz, .asm_17059d + ret + +.asm_17058f + ld a, [wcf64] + and a + ret z + sub $f + ld [wcf64], a + call Function1705f0 + ret + +.asm_17059d + ld a, [wcf64] + cp $3c + ret z + add $f + ld [wcf64], a + call Function1705f0 + ret + +.asm_1705ac + ld hl, wcf63 + set 7, [hl] + ret + +Function1705b2: + ld hl, wcf63 + inc [hl] + ret +; 1705b7 + +Function1705b7: ; 1705b7 + hlcoord 0, 4 + ld a, $79 + ld [hli], a + ld c, $12 +.asm_1705bf + ld a, $7a + ld [hli], a + dec c + jr nz, .asm_1705bf + ld a, $7b + ld [hli], a + ld de, $0014 + ld c, $c +.asm_1705cd + ld a, $7c + ld [hl], a + add hl, de + dec c + jr nz, .asm_1705cd + ld a, $7d + ld [hli], a + ld c, $12 +.asm_1705d9 + ld a, $7a + ld [hli], a + dec c + jr nz, .asm_1705d9 + ld a, $7e + ld [hl], a + ld de, $ffec + add hl, de + ld c, $c +.asm_1705e8 + ld a, $7c + ld [hl], a + add hl, de + dec c + jr nz, .asm_1705e8 + ret +; 1705f0 + +Function1705f0: ; 1705f0 + call Function17064b + call Function17065d + ld a, $50 + ld [wcd4e], a + ld hl, $c608 + ld a, [wcf64] + ld c, a + xor a + ld b, a + add hl, bc + push hl + pop bc + hlcoord 1, 6 + ld a, $6 +.asm_17060c + push af + push hl + ld a, $3 +.asm_170610 + push af + ld de, wcd49 + ld a, [bc] + and a + jr z, .asm_170625 + ld a, $5 +.asm_17061a + push af + ld a, [bc] + ld [de], a + inc bc + inc de + pop af + dec a + jr nz, .asm_17061a + jr .asm_170631 + +.asm_170625 + ld a, $5 +.asm_170627 + push af + ld a, $e3 + ld [de], a + inc de + inc bc + pop af + dec a + jr nz, .asm_170627 + +.asm_170631 + ld de, wcd49 + push bc + call PlaceString + ld de, $0006 + add hl, de + pop bc + pop af + dec a + jr nz, .asm_170610 + pop hl + ld de, $0028 + add hl, de + pop af + dec a + jr nz, .asm_17060c + ret +; 17064b + +Function17064b: ; 17064b + hlcoord 1, 5 + xor a + ld b, $c +.asm_170651 + ld c, $12 +.asm_170653 + ld [hli], a + dec c + jr nz, .asm_170653 + inc hl + inc hl + dec b + jr nz, .asm_170651 + ret +; 17065d + +Function17065d: ; 17065d + ld a, [wcf64] + and a + jr z, .asm_170669 + hlcoord 18, 5 + ld a, $61 + ld [hl], a + +.asm_170669 + ld a, [wcf64] + cp $3c + ret z + hlcoord 18, 16 + ld a, $ee + ld [hl], a + ret +; 170676 + +String_170676: ; 170676 + db "ルーム@" +; 17067a + +String_17067a: ; 17067a + db "れきだいりーダーいちらん@" +; 170687 + +Function170687: ; 170687 + ld a, [ScriptVar] + ld e, a + ld d, 0 + ld hl, Jumptable_170696 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 170696 + + +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 + + +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 + +Function1706ee: ; 1706ee (5c:46ee) + ld a, $1 + call GetSRAMBank + ld a, [$be50] + call CloseSRAM + ld [ScriptVar], a + ld hl, NumItems + ld a, [hli] + cp $14 + ret c + ld b, $14 + ld a, [ScriptVar] + 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 + ret + +Function17071b: ; 17071b (5c:471b) + ld a, $1 + call GetSRAMBank + ld a, $3 + ld [$be45], a + call CloseSRAM + ret + +Function170729: ; 170729 (5c:4729) + ld a, $1 + call GetSRAMBank + ld a, $4 + ld [$be45], a + call CloseSRAM + ret + +Function170737: ; 170737 (5c:4737) + callba Function14dbb + ret + +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 + +Function17075f: ; 17075f (5c:475f) + call Function17089a + ld a, [ScriptVar] + and a + ret z + ld a, $1 + call GetSRAMBank + ld a, [$be4f] + and $2 + ld [ScriptVar], a + call CloseSRAM + ret + +Function170778: ; 170778 (5c:4778) + ld hl, $be45 + ld a, $1 + call GetSRAMBank + ld a, [hl] + ld [ScriptVar], a + call CloseSRAM + ret + +Function170788: ; 170788 (5c:4788) + ld a, $1 + call GetSRAMBank + ld a, [$be4f] + or $2 + ld [$be4f], a + call CloseSRAM + ret + +Function170799: ; 170799 (5c:4799) + ld c, $1 + jr asm_17079f + +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 + +Function1707ac: ; 1707ac (5c:47ac) + ld a, $5 + call GetSRAMBank + ld a, [$aa8c] + ld b, a + ld a, [$be46] + ld [ScriptVar], a + 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] + 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 + ld a, $8c + sub c + add [hl] + cp $8 + ret c +.asm_1707ef + ld a, $8 + ld [ScriptVar], a + +Function1707f4: ; 1707f4 (5c:47f4) + ld a, $5 + call GetSRAMBank + xor a + ld [$be46], a + ld [$aa8b], a + ld [$aa8c], a + call CloseSRAM + ret + +Function170807: ; 170807 (5c:4807) + call UpdateTime + ld a, $5 + call GetSRAMBank + ld a, [CurDay] + ld [$b2f9], a + xor a + ld [$b2fa], a + call CloseSRAM + ret + +Function17081d: ; 17081d (5c:481d) + xor a + ld [ScriptVar], a + 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] + 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 + ld a, $8c + sub c + add [hl] + cp $b + ret c +.asm_170853 + ld a, $1 + ld [ScriptVar], a + ld a, $5 + call GetSRAMBank + xor a + ld [$b2f9], a + ld [$b2fa], a + call CloseSRAM + ret + +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, [wd000 + $800] + ld [$be47], a + pop af + ld [rSVBK], a ; $ff00+$70 + call CloseSRAM + ret + +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 [wd000 + $800], a + pop af + ld [rSVBK], a ; $ff00+$70 + call CloseSRAM + ret + +Function17089a: ; 17089a + ld a, [wcfcd] + and a + jr z, .asm_1708ad + callba Function14bcb + jr z, .asm_1708ab + xor a + jr .asm_1708ad + +.asm_1708ab + ld a, $1 + +.asm_1708ad + ld [ScriptVar], a + ret +; 1708b1 + + +Function1708b1: ; 1708b1 (5c:48b1) + xor a + ld [MusicFade], a + call MaxVolume + ret + +Function1708b9: ; 1708b9 (5c:48b9) + ld a, $1 + call GetSRAMBank + ld a, [$be3c] + ld [ScriptVar], a + call CloseSRAM + ret + +Function1708c8: ; 1708c8 (5c:48c8) + call UpdateTime + ld a, $5 + call GetSRAMBank + ld a, [CurDay] + ld [$aa8b], a + xor a + ld [$aa8c], a + ld a, [$aa5d] + cp $2 + jr nc, .asm_1708ec + ld a, [CurDay] + ld [$aa48], a + ld a, $1 + ld [$aa47], a +.asm_1708ec + call CloseSRAM + ret + +Function1708f0: ; 1708f0 (5c:48f0) + xor a + ld [ScriptVar], a + 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 + 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 + ret + + +Function170923: ; 170923 + ld a, $5 + call GetSRAMBank + xor a + ld [$aa48], a + ld [$aa47], a + ld hl, $aa5d + ld bc, $0011 + call ByteFill + call CloseSRAM + ret +; 17093c + + +Function17093c: ; 17093c (5c:493c) + xor a + ld [ScriptVar], a + ld a, EGG_TICKET + ld [CurItem], a + ld hl, NumItems + call CheckItem + ret nc + ld a, [PartyCount] + ld b, 0 + ld c, a + ld hl, PartySpecies +.asm_170955 + ld a, [hli] + cp EGG + jr nz, .asm_17099f + push hl + ld hl, PartyMonOT ; wddff (aliases: PartyMonOT) + 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, String_1709a4 + 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, EGG_TICKET + ld [CurItem], a + ld a, $1 + ld [wd10c], a + ld a, $ff + ld [wd107], a + ld hl, NumItems + call TossItem + ld a, $1 + ld [ScriptVar], a + ret + +.asm_17099d + pop af + pop hl +.asm_17099f + inc b + dec c + jr nz, .asm_170955 + ret +; 1709a4 (5c:49a4) + +String_1709a4: ; 1709a4 + db "なぞナゾ@@" + +Function1709aa: ; 1709aa (5c:49aa) + ld a, [rSVBK] ; $ff00+$70 + push af + ld a, $3 + ld [rSVBK], a ; $ff00+$70 + ld a, [StringBuffer2 + 10] + ld [ScriptVar], a + pop af + ld [rSVBK], a ; $ff00+$70 + ret + +Function1709bb: ; 1709bb (5c:49bb) + xor a + ld [ScriptVar], a + ld a, $5 + call GetSRAMBank + ld a, [$a800] + call CloseSRAM + cp 6 + jr nc, .asm_1709da + ld e, a + ld d, 0 + ld hl, Jumptable_1709e7 + 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) + +Jumptable_1709e7: ; 1709e7 + dw Function170a00 + dw Function170a00 + dw Function1709f3 + dw Function1709f3 + dw Function170a01 + dw Function170a33 +; 1709f3 + +Function1709f3: ; 1709f3 + ld a, $5 + call GetSRAMBank + ld a, $1 + ld [$a800], a + call CloseSRAM + +Function170a00: ; 170a00 + ret +; 170a01 + +Function170a01: ; 170a01 + ld a, $5 + call GetSRAMBank + ld hl, $b023 + ld de, $c608 + ld bc, $0069 + call CopyBytes + ld a, [$a825] + ld [wcd30], a + ld a, [$a826] + ld [wcd31], a + call CloseSRAM + callba Function11b6b4 + callba Function17d0f3 + ld a, $1 + ld [ScriptVar], a + ret +; 170a33 + +Function170a33: ; 170a33 + ld a, $0 + call GetSRAMBank + ld hl, wRTC + ld de, $c608 + ld bc, $0004 + call CopyBytes + call CloseSRAM + ld a, $5 + call GetSRAMBank + ld hl, $b08c + ld de, $c608 + ld c, $4 +.asm_170a54 + ld a, [de] + inc de + cp [hl] + jr nz, .asm_170a78 + inc hl + dec c + jr nz, .asm_170a54 + call CloseSRAM + ld a, [MapGroup] + ld b, a + ld a, [MapNumber] + ld c, a + call GetMapTrigger + ld a, d + or e + jr z, .asm_170a72 + ld a, [de] + and a + ret nz + +.asm_170a72 + ld a, $1 + ld [ScriptVar], a + ret + +.asm_170a78 + call CloseSRAM + ld a, $5 + call GetSRAMBank + xor a + ld [$a800], a + call CloseSRAM + ld [ScriptVar], a + ld a, [MapGroup] + ld b, a + ld a, [MapNumber] + ld c, a + call GetMapTrigger + ld a, d + or e + jr z, .asm_170a9b + xor a + ld [de], a + +.asm_170a9b + ret +; 170a9c + +Function170a9c: ; 170a9c (5c:4a9c) + ld c, $0 + jr asm_170aa2 + +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 + +Function170aaf: ; 170aaf (5c:4aaf) + ld a, $5 + call GetSRAMBank + ld a, [$aa8d] + ld [ScriptVar], a + call CloseSRAM + ret + +Function170abe: ; 170abe (5c:4abe) + call Function17089a + ld a, [ScriptVar] + and a + ret z + ld a, $1 + call GetSRAMBank + ld a, [$be4f] + and $1 + ld [ScriptVar], a + call CloseSRAM + ret + +Function170ad7: ; 170ad7 (5c:4ad7) + ld a, $1 + call GetSRAMBank + ld a, [$be4f] + or $1 + ld [$be4f], a + call CloseSRAM + ret + +Function170ae8: ; 170ae8 (5c:4ae8) + ld a, $5 + call GetSRAMBank + ld a, [$b2fb] + call CloseSRAM + ld c, $a + call SimpleDivide + ld a, b + ld [wcd4f], a + xor a + ld [ScriptVar], a + callba Function119d93 + ret nc + ld a, $5 + call GetSRAMBank + ld a, [$b2fb] + call CloseSRAM + ld [ScriptVar], a + ret + +Function170b16: ; 170b16 (5c:4b16) + ld a, $5 + call GetSRAMBank + ld a, [$b2fb] + call CloseSRAM + ld c, 10 + call SimpleDivide + ld a, b + ld [wcd4f], a + xor a + ld [ScriptVar], a + callba Function119dd1 + ret nc + ld a, $5 + call GetSRAMBank + ld a, [$b2fb] + call CloseSRAM + ld [ScriptVar], a + ret + +Function170b44: ; 170b44 + callba Function1f8000 + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a + ld hl, wd10a + ld a, [hl] + dec a + ld c, a + ld b, $0 + pop af + ld [rSVBK], a + ld hl, Unknown_170b90 + add hl, bc + ld a, [hl] + ld [wcd49], a + ld a, [ScriptVar] + dec a + sla a + ld e, a + sla a + sla a + sla a + ld c, a + ld b, $0 + ld d, $0 + ld hl, MapObjects + add hl, bc + inc hl + ld a, [wcd49] + ld [hl], a + ld hl, UsedSprites + add hl, de + ld [hli], a + ld [$ffbd], a + ld a, [hl] + ld [$ffbe], a + callba Function143c8 + ret +; 170b90 + +Unknown_170b90: +INCBIN "baserom.gbc",$170b90,$170bd2 - $170b90 + +Function170bd2: ; 170bd2 + ret +; 170bd3 + +Function170bd3: ; 170bd3 + callba Function8b201 + jr c, .asm_170bde + xor a + jr .asm_170be0 + +.asm_170bde + ld a, $1 + +.asm_170be0 + ld [ScriptVar], a + ret +; 170be4 + +Function170be4: ; 170be4 + ld a, $5 + call GetSRAMBank + xor a + ld hl, $a894 + ld bc, $0008 + call ByteFill + call CloseSRAM + ret +; 170bf7 + +Function170bf7: ; 170bf7 + ld a, $5 + call GetSRAMBank + ld hl, $a89a + xor a + ld [hli], a + ld [hl], a + call CloseSRAM + ret +; 170c06 + +Function170c06: ; 170c06 + ld a, $5 + call GetSRAMBank + ld hl, $a894 + ld a, [wd0ee] + and a + jr nz, .asm_170c15 + inc [hl] + +.asm_170c15 + inc hl + inc hl + ld a, [$a89b] + add [hl] + ld [hld], a + ld a, [$a89a] + adc [hl] + ld [hli], a + jr nc, .asm_170c27 + ld a, $ff + ld [hld], a + ld [hli], a + +.asm_170c27 + inc hl + push hl + ld de, 0 + xor a + ld [wd265], a +.asm_170c30 + ld hl, PartyMon1HP + ld a, [wd265] + call GetPartyLocation + ld a, [hli] + ld b, a + ld c, [hl] + inc hl + inc hl + ld a, [hld] + sub c + ld c, a + ld a, [hl] + sbc b + ld b, a + push de + pop hl + add hl, bc + push hl + pop de + jr c, .asm_170c58 + ld a, [wd265] + inc a + ld [wd265], a + cp $3 + jr c, .asm_170c30 + jr .asm_170c5b + +.asm_170c58 + ld de, -1 + +.asm_170c5b + pop hl + inc hl + ld a, e + add [hl] + ld [hld], a + ld a, d + adc [hl] + ld [hli], a + jr nc, .asm_170c69 + ld a, $ff + ld [hld], a + ld [hli], a + +.asm_170c69 + inc hl + push hl + ld b, $0 + ld c, $0 +.asm_170c6f + ld hl, PartyMon1HP + ld a, b + push bc + call GetPartyLocation + pop bc + ld a, [hli] + or [hl] + jr nz, .asm_170c7d + inc c + +.asm_170c7d + inc b + ld a, b + cp $3 + jr c, .asm_170c6f + pop hl + ld a, [hl] + add c + ld [hl], a + call CloseSRAM + ret +; 170c8b + +Function170c8b: ; 170c8b + ld hl, LastPlayerCounterMove + ld b, $5 +.asm_170c90 + ld a, [hl] + xor $ff + ld [hli], a + dec b + jr nz, .asm_170c90 + ret +; 170c98 + +Function170c98: ; 170c98 + ld c, $3 + ld hl, $c608 + 13 +.asm_170c9d + push hl + ld a, [hl] + cp $fc + jr c, .asm_170ca6 + ld a, $1 + ld [hl], a + +.asm_170ca6 + inc hl + ld b, $3 +.asm_170ca9 + ld a, [hl] + and a + jr z, .asm_170cb1 + cp $fc + jr c, .asm_170cb9 + +.asm_170cb1 + xor a + ld [hl], a + inc hl + dec b + jr nz, .asm_170cb1 + jr .asm_170cbd + +.asm_170cb9 + inc hl + dec b + jr nz, .asm_170ca9 + +.asm_170cbd + pop hl + ld de, $003b + add hl, de + dec c + jr nz, .asm_170c9d + ret +; 170cc6 + +Function170cc6: ; 170cc6 + ld a, [rSVBK] + push af + ld a, $6 + ld [rSVBK], a + ld hl, LZ_170d16 + ld de, wd000 + call Decompress + ld a, $1 + ld [rVBK], a + ld de, wd000 + ld hl, VTiles0 + lb bc, $6, $c1 + call Get2bpp + xor a + ld [rVBK], a + ld hl, LZ_1715a4 + ld de, wd000 + call Decompress + ld de, Unkn1Pals + ld hl, VTiles0 + lb bc, $6, $53 + call Get2bpp + pop af + ld [rSVBK], a + ret +; 170d02 + +Function170d02: ; 170d02 + ld a, $1 + ld [rVBK], a + ld de, GFX_171848 + ld hl, $8c10 + lb bc, BANK(GFX_171848), $18 + call Get2bpp + xor a + ld [rVBK], a + ret +; 170d16 + +LZ_170d16: +INCBIN "gfx/unknown/170d16.2bpp.lz" + +LZ_1715a4: +INCBIN "gfx/unknown/1715a4.2bpp.lz" + +GFX_171848: +INCBIN "gfx/unknown/171848.2bpp" + +Function1719c8: ; 1719c8 (5c:59c8) + ld a, [$ffaa] + push af + ld a, $1 + ld [$ffaa], a + call Function1719d6 + pop af + ld [$ffaa], a + ret + +Function1719d6: ; 1719d6 (5c:59d6) + callba Function1183cb + 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 + +Function1719ed: ; 1719ed (5c:59ed) + xor a + ld [wcd49], a + ld [wcd4a], a + dec a + ld [wcd4b], a + call WhiteBGMap + call ClearSprites + callba Function171d2b + callba Function104061 + callba Function8cf53 + ret + +Function171a11: ; 171a11 (5c:5a11) + call Functiona57 + ld a, [wcd49] + bit 7, a + jr nz, .asm_171a2c + call Function171a36 + callba Function8cf69 + callba Function104061 + jr Function171a11 +.asm_171a2c + callba Function8cf53 + call ClearSprites + ret + +Function171a36: ; 171a36 (5c:5a36) + ld a, [wcd49] + ld e, a + ld d, 0 + ld hl, Jumptable_171a45 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] + +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 + + +Function171a5d: ; 171a5d (5c:5a5d) + ld a, [wc821] + bit 1, a + jr nz, .asm_171a6a + bit 0, a + ret nz + jp Function171c66 +.asm_171a6a + ld a, $0 + call Function3e32 + ld [wc300], a + ld a, l + ld [wc301], a + ld a, h + ld [wc302], a + ld a, $a + call Function3e32 + ld a, [rSVBK] ; $ff00+$70 + push af + ld a, $1 + ld [rSVBK], a ; $ff00+$70 + callba Function118452 + pop af + ld [rSVBK], a ; $ff00+$70 + ld a, $a + ld [wcd49], a + ret + +Function171a95: ; 171a95 (5c:5a95) + callba Function171ccd + hlcoord 2, 8 + ld de, String_171aa7 + call PlaceString + jp Function171c66 +; 171aa7 (5c:5aa7) + +String_171aa7: ; 171aa7 + db "モバイルアダプタに" + next "せつぞく しています" + next "しばらく おまちください" + db "@" +; 171ac9 + +Function171ac9: ; 171ac9 (5c:5ac9) + ld de, wcd81 + ld hl, $5c + ld a, $2 + call Function3e32 + jp Function171c66 + +Function171ad7: ; 171ad7 (5c:5ad7) + xor a + ld hl, $c608 + ld bc, $66 + call ByteFill + ld de, $c608 + ld a, $c + call Function3e32 + jp Function171c66 + +Function171aec: ; 171aec (5c:5aec) + ld a, [rSVBK] ; $ff00+$70 + push af + ld a, $1 + ld [rSVBK], a ; $ff00+$70 + callba Function118452 + pop af + ld [rSVBK], a ; $ff00+$70 + hlcoord 2, 6 + 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 + hlcoord 2, 7 + ld a, $3 + ld de, $c608 +.asm_171b1b + push af + push hl + ld a, [de] + and a + jr z, .asm_171b34 + ld a, [wcd4b] + inc a + ld [wcd4b], 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 + +Function171b42: ; 171b42 (5c:5b42) + ld a, [de] + inc de + and a + ret z + sub $20 + ld [hli], a + jr Function171b42 + +Function171b4b: ; 171b4b (5c:5b4b) + lb de, $40, $10 + ld a, $1d + call Function3b2a + ld hl, $c + add hl, bc + ld a, $8 + ld [hl], a + lb de, $40, $98 + ld a, $1d + call Function3b2a + ld hl, $c + add hl, bc + ld a, $9 + ld [hl], a + lb de, $8a, $70 + ld a, $1d + call Function3b2a + ld hl, $c + add hl, bc + ld a, $a + ld [hl], a + ld a, $4 + ld [wcd23], a + ld a, $8 + ld [wcd24], a + jp Function171c66 + +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 + +Function171b9f: ; 171b9f (5c:5b9f) + ld a, $80 + ld [wcd49], a + ret +asm_171ba5: ; 171ba5 (5c:5ba5) + ld a, [wcd4a] + and a + ret z + dec a + ld [wcd4a], a + ret +asm_171baf: ; 171baf (5c:5baf) + ld a, [wcd4b] + ld c, a + ld a, [wcd4a] + cp c + ret z + inc a + ld [wcd4a], a + ret + +Function171bbd: ; 171bbd (5c:5bbd) + call PlayClickSFX + ld a, $8 + ld [wcd23], a + xor a + ld [wcd24], a + jp Function171c66 + +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 + +Function171bdc: ; 171bdc (5c:5bdc) + ld a, $4 + ld [wcd23], a + ld a, $8 + ld [wcd24], a + ld hl, wcd49 + dec [hl] + ret + +Function171beb: ; 171beb (5c:5beb) + ld a, $5 + call GetSRAMBank + ld a, [wcd4a] + ld [$aa4a], a + call CloseSRAM + ld hl, MenuDataHeader_171c6b + call LoadMenuDataHeader + call Function1cbb + call Function1cfd + callba Function104061 + hlcoord 1, 14 + ld de, String_171c73 + call PlaceString + ld a, [wcd4a] + cp $2 + jr z, .asm_171c1f + ld a, $8 + jr .asm_171c21 +.asm_171c1f + ld a, $c +.asm_171c21 + ld [wcd24], a + ld a, $1e + ld [wcd4c], a + call Function171c66 + +Function171c2c: ; 171c2c (5c:5c2c) + ld hl, wcd4c + dec [hl] + ret nz + call Function1c07 + call WhiteBGMap + jr asm_171c60 + +Function171c39: ; 171c39 (5c:5c39) + ld a, $28 + ld [wcd4c], a + call Function171c66 + +Function171c41: ; 171c41 (5c:5c41) + ld hl, wcd4c + dec [hl] + ret nz + call WhiteBGMap + callba Function106462 + callba Function106464 + ld a, $2 + ld [wc303], a + callba Function17f555 +asm_171c60: ; 171c60 (5c:5c60) + ld a, $80 + ld [wcd49], a + ret + +Function171c66: ; 171c66 (5c:5c66) + ld hl, wcd49 + inc [hl] + ret +; 171c6b (5c:5c6b) + +MenuDataHeader_171c6b: ; 171c6b + db $40 ; flags + db 12, 0 ; start coords + db 17, 19 ; end coords + dw NULL + db 0 ; default option +; 171c73 + +String_171c73: ; 171c73 + db "モバイルセンターを けってい" + next "しました@" +; 171c87 + +Function171c87: ; 171c87 (5c:5c87) + call DisableLCD + ld hl, GFX_171db1 + ld de, $9000 + ld bc, $6e0 + call CopyBytes + ld hl, LZ_172abd + ld de, $8000 + call Decompress + call EnableLCD + ld hl, Tilemap_172491 + ld de, TileMap + ld bc, $168 + call CopyBytes + ld hl, Attrmap_1727ed + ld de, AttrMap + ld bc, $168 + call CopyBytes + hlcoord 3, 2 + ld de, String_172e31 + call PlaceString + hlcoord 3, 16 + ld de, String_172e3f + call PlaceString + ret + +Function171ccd: ; 171ccd (5c:5ccd) + ld a, [rSVBK] ; $ff00+$70 + push af + ld a, $5 + ld [rSVBK], a ; $ff00+$70 + ld hl, Palette_171d71 + ld de, Unkn1Pals + ld bc, $40 + call CopyBytes + ld hl, MovementAnimation + ld a, $ff + ld [hli], a + ld a, $7f + ld [hl], a + call Function32f9 + pop af + ld [rSVBK], a ; $ff00+$70 + ret + +Function171cf0: ; 171cf0 (5c:5cf0) + xor a + hlcoord 4, 15 + ld [hli], a + ld [hli], a + ld a, [wcd4b] + xor $1 + ld [wcd4b], a + and a + jr nz, .asm_171d16 + ld hl, Tilemap_17251d + decoord 0, 7 + ld bc, $8c + call CopyBytes + hlcoord 3, 16 + ld de, String_172e3f + jp PlaceString +.asm_171d16 + ld hl, Tilemap_1725f9 + decoord 0, 7 + ld bc, $8c + call CopyBytes + hlcoord 3, 16 + ld de, String_172e4e + jp PlaceString + +Function171d2b: ; 171d2b (5c:5d2b) + call DisableLCD + ld hl, GFX_171db1 + ld de, $9000 + ld bc, $6e0 + call CopyBytes + ld hl, LZ_172abd + ld de, $8000 + call Decompress + call EnableLCD + ld hl, Tilemap_172685 + ld de, TileMap + ld bc, $168 + call CopyBytes + ld hl, Attrmap_172955 + ld de, AttrMap + ld bc, $168 + call CopyBytes + hlcoord 2, 2 + ld de, String_172e5d + call PlaceString + hlcoord 14, 16 + ld de, String_172e58 + call PlaceString + ret +; 171d71 (5c:5d71) + +Palette_171d71: + RGB 0, 0, 0 + RGB 3, 0, 0 + RGB 5, 0, 0 + RGB 31, 31, 29 + RGB 0, 2, 10 + RGB 2, 10, 21 + RGB 0, 0, 0 + RGB 10, 26, 31 + RGB 0, 0, 0 + RGB 0, 7, 8 + RGB 31, 8, 0 + RGB 1, 17, 15 + RGB 31, 16, 0 + RGB 31, 22, 0 + RGB 31, 27, 0 + RGB 31, 31, 0 + RGB 31, 18, 6 + RGB 0, 3, 0 + RGB 0, 9, 0 + RGB 0, 12, 0 + RGB 0, 16, 0 + RGB 0, 22, 0 + RGB 0, 25, 0 + RGB 0, 27, 0 + RGB 5, 5, 16 + RGB 8, 19, 28 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 31, 29 + RGB 21, 21, 20 + RGB 11, 11, 10 + RGB 0, 0, 0 +GFX_171db1: +INCBIN "gfx/unknown/171db1.2bpp" +Tilemap_172491: +INCBIN "gfx/unknown/172491.tilemap" +Tilemap_17251d: +INCBIN "gfx/unknown/17251d.tilemap" +Tilemap_1725f9: +INCBIN "gfx/unknown/1725f9.tilemap" +Tilemap_172685: +INCBIN "gfx/unknown/172685.tilemap" +Attrmap_1727ed: +INCBIN "gfx/unknown/1727ed.attrmap" +Attrmap_172955: +INCBIN "gfx/unknown/172955.attrmap" +LZ_172abd: +INCBIN "gfx/pokedex/slowpoke.2bpp.lz" + +String_172e31: ; 172e31 + db "パスワード", $1f, "いれてください@" +String_172e3f: ; 172e3f + db "きりかえ やめる けってい@" +String_172e4e: ; 172e4e + db "きりかえ やめる " +String_172e58: + db "けってい@" +String_172e5d: ; 172e5d + db "せつぞくする モバイルセンターを" + next "えらんで ください@" +; 172e78 + + +Function172e78: ; 172e78 (5c:6e78) + ld a, $7f + ld hl, TileMap + ld bc, $168 + call ByteFill + ld a, $7 + ld hl, AttrMap + ld bc, $168 + call ByteFill + call DisableLCD + ld hl, GFX_172f1f + ld de, $9000 + ld bc, $610 + call CopyBytes + call EnableLCD + ld hl, Tilemap_1733af + ld de, TileMap + ld bc, $168 + call CopyBytes + ld hl, Attrmap_173517 + ld de, AttrMap + ld bc, $168 + call CopyBytes + ret +; 172eb9 (5c:6eb9) + +Function172eb9: + ld a, [rSVBK] ; $ff00+$70 + push af + ld a, $5 + ld [rSVBK], a ; $ff00+$70 + ld hl, Palette_172edf + ld de, Unkn1Pals + ld bc, $40 + call CopyBytes + ld hl, Palette_172edf + ld de, BGPals + ld bc, $40 + call CopyBytes + call Function32f9 + pop af + ld [rSVBK], a ; $ff00+$70 + ret +; 172edf (5c:6edf) + +Palette_172edf: + RGB 5, 12, 17 + RGB 31, 31, 31 + RGB 18, 25, 28 + RGB 10, 17, 21 + RGB 6, 13, 18 + RGB 31, 31, 31 + RGB 20, 26, 28 + RGB 12, 19, 23 + RGB 3, 10, 16 + RGB 31, 31, 31 + RGB 6, 13, 18 + RGB 20, 26, 28 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 5, 5, 16 + RGB 8, 19, 28 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + +GFX_172f1f: +INCBIN "gfx/unknown/172f1f.2bpp" + +Tilemap_1733af: +INCBIN "gfx/unknown/1733af.tilemap" + +Attrmap_173517: +INCBIN "gfx/unknown/173517.attrmap" + + diff --git a/misc/mobile_5f.asm b/misc/mobile_5f.asm new file mode 100644 index 000000000..375701a2c --- /dev/null +++ b/misc/mobile_5f.asm @@ -0,0 +1,5234 @@ + +SECTION "bank5F", ROMX, BANK[$5F] + +Function17c000: ; 17c000 + + call DisableLCD + + ld hl, VTiles2 + ld bc, $310 + xor a + call ByteFill + + call Functione51 + call Functione5f + + ld hl, HaveWantMap + ld de, TileMap + ld bc, AttrMap + + ld a, SCREEN_HEIGHT +.y + push af + ld a, SCREEN_WIDTH + + push hl +.x + push af + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [bc], a + inc bc + pop af + dec a + jr nz, .x + pop hl + + push bc + ld bc, BG_MAP_WIDTH * 2 + add hl, bc + pop bc + + pop af + dec a + jr nz, .y + + ld a, [rSVBK] + push af + + ld a, 5 ; BANK(Unkn1Pals) + ld [rSVBK], a + + ld hl, HaveWantPals + ld de, Unkn1Pals + ld bc, $80 + call CopyBytes + + pop af + ld [rSVBK], a + + ld hl, MobileSelectGFX + ld de, $8300 + ld bc, $200 + call CopyBytes + + ld a, 1 + ld [rVBK], a + + ld hl, HaveWantGFX + ld de, VTiles2 + ld bc, $800 + call CopyBytes + + ld hl, HaveWantGFX + $800 + ld de, VTiles1 + ld bc, $100 + call CopyBytes + + xor a + ld [rVBK], a + + call EnableLCD + callba Function104061 + ret +; 17c083 + +HaveWantGFX: ; 17c083 +INCBIN "gfx/mobile/havewant.2bpp" + +MobileSelectGFX: ; 17c983 +INCBIN "gfx/mobile/select.2bpp" + +HaveWantMap: ; 17cb83 +; Interleaved tile/palette map. +INCBIN "baserom.gbc", $17cb83, $17cff3 - $17cb83 + +HaveWantPals: ; 17cff3 +; BG and OBJ palettes. +INCBIN "baserom.gbc", $17cff3, $17d073 - $17cff3 + + +Function17d073: ; 17d073 +.asm_17d073 + ld a, [de] + inc de + and a + jr z, .asm_17d0ae + cp $60 + jr nc, .asm_17d0ae + cp $4e + jr z, .asm_17d0ae + cp $50 + jr z, .asm_17d0b1 + cp $5 + jr c, .asm_17d0ac + cp $14 + jr c, .asm_17d0ae + cp $19 + jr c, .asm_17d0ac + cp $1d + jr c, .asm_17d0ae + cp $26 + jr c, .asm_17d0ac + cp $35 + jr c, .asm_17d0ae + cp $3a + jr c, .asm_17d0ac + cp $3f + jr c, .asm_17d0ae + cp $40 + jr c, .asm_17d0ac + cp $49 + jr c, .asm_17d0ae + +.asm_17d0ac + scf + ret + +.asm_17d0ae + dec c + jr nz, .asm_17d073 + +.asm_17d0b1 + and a + ret +; 17d0b3 + +Function17d0b3: ; 17d0b3 +.asm_17d0b3 + ld a, [de] + inc de + and a + jr z, .asm_17d0ee + cp $60 + jr nc, .asm_17d0ee + cp $4e + jr z, .asm_17d0ee + cp $50 + jr z, .asm_17d0ee + cp $5 + jr c, .asm_17d0ec + cp $14 + jr c, .asm_17d0ee + cp $19 + jr c, .asm_17d0ec + cp $1d + jr c, .asm_17d0ee + cp $26 + jr c, .asm_17d0ec + cp $35 + jr c, .asm_17d0ee + cp $3a + jr c, .asm_17d0ec + cp $3f + jr c, .asm_17d0ee + cp $40 + jr c, .asm_17d0ec + cp $49 + jr c, .asm_17d0ee + +.asm_17d0ec + scf + ret + +.asm_17d0ee + dec c + jr nz, .asm_17d0b3 + and a + ret +; 17d0f3 + +Function17d0f3: ; 17d0f3 + ld a, [$c608 + 5] + ld [wc702], a + ld [CurPartySpecies], a + ld a, [wcd81] + ld [wc74e], a + ld hl, $c63d + ld de, wc724 + ld bc, $0005 + call CopyBytes + ld a, $50 + ld [de], a + ld a, [$c608 + 11] + ld [wc731], a + ld a, [$c608 + 12] + ld [wc732], a + ld hl, $c608 + 26 + ld a, [hli] + ld [wc72f], a + ld a, [hl] + ld [wc730], a + ld bc, $c608 + 5 + callba GetCaughtGender + ld a, c + ld [wc733], a + call SpeechTextBox + call FadeToMenu + callba Function10804d + callba Function17d1f1 + ld a, $1 + ld [wd1e9], a + ld a, $2 + ld [InLinkBattle], a + callba Function421d8 + xor a + ld [InLinkBattle], a + callba Function14a58 + ld a, $5 + call GetSRAMBank + ld a, $5 + ld [$a800], a + call CloseSRAM + ld a, [MapGroup] + ld b, a + ld a, [MapNumber] + ld c, a + call GetMapTrigger + ld a, d + or e + jr z, .asm_17d180 + ld a, $1 + ld [de], a + +.asm_17d180 + call Function2b3c + call RestartMapMusic + ret +; 17d187 + +Function17d187: ; 17d187 + ld hl, Unknown_17d194 + ld de, $c63d + ld bc, $0005 + call CopyBytes + ret +; 17d194 + +Unknown_17d194: +INCBIN "baserom.gbc", $17d194, $17d199 - $17d194 + +Function17d199: ; 17d199 + ld hl, Unknown_17d1a6 + ld de, $c642 + ld bc, $0005 + call CopyBytes + ret +; 17d1a6 + +Unknown_17d1a6: +INCBIN "baserom.gbc", $17d1a6, $17d1ab - $17d1a6 + +Function17d1ab: ; 17d1ab + ld a, $50 + ld hl, $c647 + ld bc, $0021 + call ByteFill + ld hl, Unknown_17d1c3 + ld de, $c647 + ld bc, $0006 + call CopyBytes + ret +; 17d1c3 + +Unknown_17d1c3: +INCBIN "baserom.gbc", $17d1c3, $17d1c9 - $17d1c3 + +Function17d1c9: ; 17d1c9 + ld a, $50 + ld de, $c668 + ld bc, $0005 + call ByteFill + ld hl, Unknown_17d194 + ld de, $c668 + ld bc, $0005 + call CopyBytes + ret +; 17d1e1 + +Function17d1e1: ; 17d1e1 +.asm_17d1e1 + ld a, [de] + inc de + cp $4e + jr nz, .asm_17d1ea + dec b + jr z, .asm_17d1ef + +.asm_17d1ea + dec c + jr nz, .asm_17d1e1 + and a + ret + +.asm_17d1ef + scf + ret +; 17d1f1 + +Function17d1f1: ; 17d1f1 + ld a, [CurPartySpecies] + dec a + call SetSeenAndCaughtMon + + ld a, [CurPartySpecies] + cp UNOWN + jr nz, .asm_17d223 + + ld hl, PartyMon1DVs + ld a, [PartyCount] + dec a + ld bc, PartyMon2 - PartyMon1 + call AddNTimes + predef GetUnownLetter + callab Functionfba18 + ld a, [wdef4] + and a + jr nz, .asm_17d223 + + ld a, [UnownLetter] + ld [wdef4], a + +.asm_17d223 + ret +; 17d224 + +Function17d224: ; 17d224 + ld a, [ScriptVar] + and a + jr nz, .asm_17d234 + ld a, $4 + ld [ScriptVar], a + ld hl, MenuDataHeader_17d26a + jr .asm_17d23c + +.asm_17d234 + ld a, $4 + ld [ScriptVar], a + ld hl, MenuDataHeader_17d28f + +.asm_17d23c + call LoadMenuDataHeader + call Function17d246 + call Function1c17 + ret +; 17d246 + +Function17d246: ; 17d246 + call Function1d81 + jr c, .asm_17d264 + ld a, [ScriptVar] + cp $5 + jr nz, .asm_17d25d + ld a, [wcfa9] + cp $3 + ret z + jr c, .asm_17d25d + dec a + jr .asm_17d260 + +.asm_17d25d + ld a, [wcfa9] + +.asm_17d260 + ld [ScriptVar], a + ret + +.asm_17d264 + ld a, $4 + ld [ScriptVar], a + ret +; 17d26a + +MenuDataHeader_17d26a: ; 17d26a + db $40 ; flags + db 0, 0 ; start coords + db 9, 14 ; end coords + dw MenuData2_17d272 + db 1 ; default option + +MenuData2_17d272: ; 17d272 + db $a0 ; flags + db 4 + db "ニュース", $1f, "よみこむ@" + db "ニュース", $1f, "みる@" + db "せつめい@" + db "やめる@" +; 17d28f + +MenuDataHeader_17d28f: ; 17d28f + db $40 ; flags + db 0, 0 ; start coords + db 7, 14 ; end coords + dw MenuData2_17d297 + db 1 ; default option + +MenuData2_17d297: ; 17d297 + db $a0 ; flags + db 3 + db "Challenge@" + db "Explanation@" + db "Cancel@" +; 17d2b6 + +Function17d2b6: ; 17d2b6 + call Function17d2c0 + callba Function1181da + ret +; 17d2c0 + +Function17d2c0: ; 17d2c0 + xor a + ld [wcf63], a + ld [wcf64], a + ld [wcf65], a + ld [wcf66], a + ret +; 17d2ce + +Function17d2ce: ; 17d2ce + ld a, $5 + call GetSRAMBank + ld a, [$aa72] + call CloseSRAM + and a + jr nz, .asm_17d2e2 + ld a, $1 + ld [ScriptVar], a + ret + +.asm_17d2e2 + call Function17d314 + ret c + call SpeechTextBox + call FadeToMenu + ld a, [rSVBK] + push af + ld a, $4 + ld [rSVBK], a + call Function17d370 + call Function17d45a + pop af + ld [rSVBK], a + ld de, MUSIC_MOBILE_CENTER + ld a, e + ld [wMapMusic], a + ld [MusicFadeIDLo], a + ld a, d + ld [MusicFadeIDHi], a + call PlayMusic + call Function222a + call Function2b3c + ret +; 17d314 + +Function17d314: ; 17d314 + ld a, $5 + call GetSRAMBank + ld a, [$b1b1] + call CloseSRAM + cp $21 + jr nc, .asm_17d354 + ld a, $6 + call GetSRAMBank + ld l, $0 + ld h, l + ld de, $a006 + ld a, [$a004] + ld c, a + ld a, [$a005] + ld b, a +.asm_17d336 + push bc + ld a, [de] + inc de + ld c, a + ld b, $0 + add hl, bc + pop bc + dec bc + ld a, b + or c + jr nz, .asm_17d336 + ld a, [$a002] + cp l + jr nz, .asm_17d354 + ld a, [$a003] + cp h + jr nz, .asm_17d354 + call CloseSRAM + and a + ret + +.asm_17d354 + call CloseSRAM + ld a, $5 + call GetSRAMBank + xor a + ld hl, $aa73 + ld bc, $000c + call ByteFill + call CloseSRAM + ld a, $2 + ld [ScriptVar], a + scf + ret +; 17d370 + +Function17d370: ; 17d370 + xor a + ld [wcd77], a + ld [wcd78], a + ld [wcd79], a + dec a + ld [wcd6c], a + call WhiteBGMap + call ClearSprites + call ClearScreen + callba Function104061 + call DisableLCD + ld hl, $8ee0 + ld de, $c608 + ld bc, $0010 + call CopyBytes + ld a, $1 + ld [rVBK], a + ld hl, PokemonNewsGFX + ld de, VTiles1 + ld bc, $0480 + call CopyBytes + xor a + ld hl, $97f0 + ld bc, $0010 + call ByteFill + ld hl, $c608 + ld de, $8ee0 + ld bc, $0010 + call CopyBytes + xor a + ld [rVBK], a + ld hl, GFX_17eb7e + ld de, $9600 + ld bc, $0010 + call CopyBytes + call EnableLCD + call Function17d60b + ld a, $0 + ld [BGMapBuffer], a + ld a, $d0 + ld [wcd21], a + ld a, $6 + call GetSRAMBank + ld hl, $a006 + ld de, Unkn1Pals + ld bc, $1000 + call CopyBytes + call CloseSRAM + ret +; 17d3f6 + +Function17d3f6: ; 17d3f6 + call WhiteBGMap + call ClearSprites + call ClearScreen + callba Function104061 + +Function17d405: + call DisableLCD + ld hl, $8ee0 + ld de, $c608 + ld bc, $0010 + call CopyBytes + ld a, $1 + ld [rVBK], a + ld hl, PokemonNewsGFX + ld de, VTiles1 + ld bc, $0480 + call CopyBytes + xor a + ld hl, $97f0 + ld bc, $0010 + call ByteFill + ld hl, $c608 + ld de, $8ee0 + ld bc, $0010 + call CopyBytes + xor a + ld [rVBK], a + call EnableLCD + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, Palette_17eff6 + ld de, Unkn1Pals + ld bc, $0040 + call CopyBytes + call Function32f9 + pop af + ld [rSVBK], a + ret +; 17d45a + +Function17d45a: ; 17d45a +.asm_17d45a + call Functiona57 + ld a, [wcd77] + bit 7, a + jr nz, .asm_17d46f + call Function17d474 + callba Function104061 + jr .asm_17d45a + +.asm_17d46f + xor a + ld [ScriptVar], a + ret +; 17d474 + +Function17d474: ; 17d474 + ld a, [wcd77] + ld e, a + ld d, 0 + ld hl, Jumptable_17d483 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 17d483 + +Jumptable_17d483: ; 17d483 + dw Function17d48d + dw Function17d5be + dw Function17d5c4 + dw Function17d6fd + dw Function17e427 +; 17d48d + +Function17d48d: ; 17d48d + ld hl, Palette_17eff6 + ld de, $c608 + ld bc, $0040 + call CopyBytes + ld hl, TileAttrmap_17eb8e + ld de, TileMap + ld bc, AttrMap + ld a, $12 +.asm_17d4a4 + push af + ld a, $14 + push hl +.asm_17d4a8 + push af + ld a, [hli] + cp $7f + jr z, .asm_17d4b0 + add $80 + +.asm_17d4b0 + ld [de], a + inc de + ld a, [hli] + ld [bc], a + inc bc + pop af + dec a + jr nz, .asm_17d4a8 + pop hl + push bc + ld bc, $0040 + add hl, bc + pop bc + pop af + dec a + jr nz, .asm_17d4a4 + ld a, [BGMapBuffer] + ld l, a + ld a, [wcd21] + ld h, a + ld a, [hli] + ld e, a + ld a, [wcd6c] + cp e + jr z, .asm_17d4e0 + ld a, e + ld [wcd6c], a + ld [wc2c0], a + ld d, $0 + call PlayMusic2 + +.asm_17d4e0 + ld a, [hli] + ld de, $c608 + ld c, $8 +.asm_17d4e6 + srl a + jr nc, .asm_17d4f6 + ld b, $8 + push af +.asm_17d4ed + ld a, [hli] + ld [de], a + inc de + dec b + jr nz, .asm_17d4ed + pop af + jr .asm_17d4fc + +.asm_17d4f6 + push af + ld a, e + add $8 + ld e, a + pop af + +.asm_17d4fc + dec c + jr nz, .asm_17d4e6 + push hl + call Function17d5f6 + pop hl + ld a, [hli] + and a + jr z, .asm_17d539 +.asm_17d508 + push af + ld a, [hli] + ld [wcd4f], a + ld a, [hli] + ld [wcd50], a + ld a, [hli] + ld [wcd51], a + ld a, [hli] + ld [wcd52], a + ld a, [hli] + sla a + sla a + sla a + add $98 + ld [wcd53], a + ld de, wcd4f + call Function17e613 + ld a, [hli] + ld [wcd53], a + ld de, wcd4f + call Function17e691 + pop af + dec a + jr nz, .asm_17d508 + +.asm_17d539 + ld a, [hli] +.asm_17d53a + push af + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + push hl + pop de + ld hl, TileMap + add hl, bc + call PlaceString + push de + pop hl + inc hl + pop af + dec a + jr nz, .asm_17d53a + ld de, CreditsTimer + ld bc, $000c + call CopyBytes + xor a + ld [wcd2e], a + ld [wcd2f], a + inc a + ld [wcd30], a + ld [wcd31], a + ld de, wcd32 + ld bc, $0010 + call CopyBytes + ld a, [hli] + ld [wcd42], a + ld a, [hli] + ld [wcd43], a + ld a, [hli] + ld [wcd44], a + ld a, [hli] + ld [wcd45], a + ld a, [hli] + ld [wcd46], a + ld a, [hli] + and a + jr z, .asm_17d58a + call Function17d6a1 + +.asm_17d58a + ld a, l + ld [wcd49], a + ld a, h + ld [wcd4a], a + ld a, [wcd42] + ld c, a + ld b, $0 + add hl, bc + add hl, bc + ld a, l + ld [wcd4b], a + ld a, h + ld [wcd4c], a + add hl, bc + add hl, bc + ld a, l + ld [wcd4d], a + ld a, h + ld [wcd4e], a + call Function17e451 + call Function17e55b + call Function17e5af + callba Function104061 + jp Function17e438 +; 17d5be + +Function17d5be: ; 17d5be + call Function32f9 + call Function17e438 + +Function17d5c4: + ld a, [hJoyPressed] + and a + ret z + ld c, $0 + ld b, c + ld hl, wcd32 +.asm_17d5ce + srl a + jr c, .asm_17d5d6 + inc c + inc c + jr .asm_17d5ce + +.asm_17d5d6 + add hl, bc + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + and c + cp $ff + ret z + ld a, [BGMapBuffer] + ld l, a + ld a, [wcd21] + ld h, a + add hl, bc + ld a, l + ld [wcd78], a + ld a, h + ld [wcd79], a + ld a, $3 + ld [wcd77], a + ret +; 17d5f6 + +Function17d5f6: ; 17d5f6 + ld a, $5 + ld [rSVBK], a + ld hl, $c608 + ld de, Unkn1Pals + ld bc, $0040 + call CopyBytes + ld a, $4 + ld [rSVBK], a + ret +; 17d60b + +Function17d60b: ; 17d60b + ld a, $5 + call GetSRAMBank + ld hl, $b1d3 + ld de, $c608 + ld bc, $0020 + call CopyBytes + ld a, [$b1b1] + ld c, a + ld a, [$b1b2] + ld b, a + ld a, [$b1b3] + ld l, a + ld a, [$b1b4] + ld h, a + call CloseSRAM + ld a, $6 + call GetSRAMBank + ld de, wc708 + ld a, c + and a + jr z, .asm_17d684 +.asm_17d63b + push bc + ld a, l + ld [de], a + inc de + ld a, h + ld [de], a + inc de + ld bc, $000a + add hl, bc + pop bc + ld a, [hli] + ld [wcd4a], a + ld a, [hli] + ld [wcd49], a + push hl + push de + ld hl, $c608 + ld e, b + ld d, $0 + add hl, de + ld a, [hli] + ld [wcd4b], a + ld a, [hl] + ld [wcd4c], a + pop de + pop hl + inc b + inc b + dec c + dec c + jr z, .asm_17d684 + push bc + push de + ld a, [wcd49] + ld c, a + ld a, [wcd4a] + ld b, a + ld a, [wcd4b] + ld e, a + ld a, [wcd4c] + ld d, a +.asm_17d67a + add hl, de + dec bc + ld a, c + or b + jr nz, .asm_17d67a + pop de + pop bc + jr .asm_17d63b + +.asm_17d684 + call CloseSRAM + ld a, $5 + call GetSRAMBank + ld hl, wc708 + ld de, $b1b3 + ld a, [$b1b1] + ld c, a + ld a, [$b1b2] + ld b, a + call CopyBytes + call CloseSRAM + ret +; 17d6a1 + + +Function17d6a1: ; 17d6a1 + push hl + ld a, [wcd6e] + ld c, a + ld b, $0 + ld a, $5 + call GetSRAMBank + ld hl, $b1d3 + add hl, bc + add hl, bc + ld a, [hli] + ld [wcd47], a + ld a, [hl] + ld [BGMapPalBuffer], a + ld hl, $b1b3 + add hl, bc + add hl, bc + ld a, [hli] + ld c, a + ld a, [hl] + ld h, a + ld l, c + call CloseSRAM + ld a, $6 + call GetSRAMBank + ld a, l + ld [wcd5e], a + ld a, h + ld [wcd5f], a + ld de, wcd60 + ld bc, $0004 + call CopyBytes + inc hl + inc hl + ld de, wcd64 + ld bc, $0004 + call CopyBytes + ld a, [hli] + ld [wcd69], a + ld a, [hli] + ld [wcd68], a + ld a, l + ld [wcd6a], a + ld a, h + ld [wcd6b], a + call CloseSRAM + pop hl + ret +; 17d6fd + +Function17d6fd: ; 17d6fd + ld a, [wcd77] + bit 7, a + jr nz, asm_17d721 + ld a, [wcd78] + ld l, a + ld a, [wcd79] + ld h, a + ld a, [hl] + cp $ff + jr z, asm_17d721 + +Function17d711: +.asm_17d711 + cp $31 + jr nc, .asm_17d711 + ld e, a + ld d, 0 + ld hl, Jumptable_17d72a + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] + +asm_17d721 + call Function17e5af + ld a, $2 + ld [wcd77], a + ret +; 17d72a + +Jumptable_17d72a: ; 17d72a + dw Function17d78c + dw Function17d78d + dw Function17d7b4 + dw Function17d7c2 + dw Function17d7d3 + dw Function17d7e5 + dw Function17d818 + dw Function17d833 + dw Function17d85d + dw Function17d902 + dw Function17d93a + dw Function17d98b + dw Function17d9e3 + dw Function17da31 + dw Function17da9c + dw Function17dadc + dw Function17db2d + dw Function17db56 + dw Function17db77 + dw Function17dbe9 + dw Function17dc1f + dw Function17dc9f + dw Function17dca9 + dw Function17dccf + dw Function17dd13 + dw Function17dd30 + dw Function17dd49 + dw Function17ddcd + dw Function17de32 + dw Function17de91 + dw Function17ded9 + dw Function17e0fd + dw Function17e133 + dw Function17e165 + dw Function17e1a1 + dw Function17e254 + dw Function17e261 + dw Function17e270 + dw Function17e27f + dw Function17e293 + dw Function17e2a7 + dw Function17e367 + dw Function17e37e + dw Function17e395 + dw Function17e3ac + dw Function17e3c3 + dw Function17e3e0 + dw Function17e3f0 + dw Function17e409 +; 17d78c + +Function17d78c: ; 17d78c + ret +; 17d78d + +Function17d78d: ; 17d78d + call Function17e415 + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + call Function17e41e + ld a, $6 + call GetSRAMBank + ld hl, $a006 + add hl, bc + ld de, Unkn1Pals + ld bc, $1000 + call CopyBytes + call CloseSRAM + xor a + ld [wcd77], a + call WhiteBGMap + ret +; 17d7b4 + +Function17d7b4: ; 17d7b4 + call Function17e415 + ld a, [hli] + ld e, a + ld d, $0 + call PlayMusic2 + call Function17e41e + ret +; 17d7c2 + +Function17d7c2: ; 17d7c2 + call Function17e415 + ld a, [hli] + ld e, a + ld d, $0 + call PlaySFX + call WaitSFX + call Function17e41e + ret +; 17d7d3 + +Function17d7d3: ; 17d7d3 + call Function17e415 + ld a, [hli] + dec a + ld e, a + ld d, $0 + call PlayCryHeader + call WaitSFX + call Function17e41e + ret +; 17d7e5 + +Function17d7e5: ; 17d7e5 + call Function17e415 + ld a, [hli] + ld [wcd4f], a + ld a, [hli] + ld [wcd50], a + ld a, [hli] + ld [wcd51], a + ld a, [hli] + ld [wcd52], a + ld a, [hli] + sla a + sla a + sla a + add $98 + ld [wcd53], a + ld de, wcd4f + call Function17e613 + ld a, [hli] + ld [wcd53], a + ld de, wcd4f + call Function17e691 + call Function17e41e + ret +; 17d818 + +Function17d818: ; 17d818 + call Function17e415 + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + call Function17e41e + call Function17e447 + ld e, l + ld d, h + ld hl, TileMap + add hl, bc + call PlaceString + ret +; 17d833 + +Function17d833: ; 17d833 + call Function17e415 + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + call Function17e41e + push de + push bc + call Function17e32b + pop bc + pop de + call Function17e43d + ld c, l + ld b, h + ld hl, TileMap + add hl, de + ld e, l + ld d, h + callba Function11c08f + call Function17e349 + ret +; 17d85d + +Function17d85d: ; 17d85d + call Function17e415 + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + push hl + ld hl, Unkn1Pals + add hl, de + ld de, wcc60 +.asm_17d86c + ld a, [hli] + ld [de], a + inc de + and a + jr nz, .asm_17d86c + pop hl + ld de, $c608 + ld c, $0 +.asm_17d878 + ld a, [hli] + cp $ff + jr z, .asm_17d8c7 + ld [wcd4f], a + ld a, [hli] + ld [wcd50], a + ld a, [hli] + ld [wcd51], a + ld a, [hli] + ld [wcd52], a + ld a, [wcd51] + push af + cp $c0 + jr c, .asm_17d89b + ld a, [wcd4f] + ld [rSVBK], a + jr .asm_17d8a1 + +.asm_17d89b + ld a, [wcd4f] + call GetSRAMBank + +.asm_17d8a1 + push hl + ld a, [wcd50] + ld l, a + ld a, [wcd51] + ld h, a + ld a, [wcd52] +.asm_17d8ad + push af + ld a, [hli] + ld [de], a + inc de + inc c + pop af + dec a + jr nz, .asm_17d8ad + pop hl + pop af + cp $c0 + jr c, .asm_17d8c2 + ld a, $4 + ld [rSVBK], a + jr .asm_17d878 + +.asm_17d8c2 + call CloseSRAM + jr .asm_17d878 + +.asm_17d8c7 + call Function17e41e + push bc + ld a, $3 + ld [rSVBK], a + ld hl, $c608 + ld de, Unkn1Pals + ld b, $0 + call CopyBytes + ld a, $4 + ld [rSVBK], a + call Function17e32b + pop bc + ld a, c + ld [wcd3b], a + xor a + ld [wcf66], a + callba Function118329 + ld a, [wc300] + and a + jr z, .asm_17d8fe + cp $a + jr z, .asm_17d8fe + call Function17e309 + ret + +.asm_17d8fe + call Function17e349 + ret +; 17d902 + +Function17d902: ; 17d902 + call Function17e415 + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + push de + call Function17e41e + call Function17e32b + pop de + ld hl, Unkn1Pals + add hl, de + ld de, wcc60 +.asm_17d918 + ld a, [hli] + ld [de], a + inc de + and a + jr nz, .asm_17d918 + xor a + ld [wcf66], a + callba Function11837a + ld a, [wc300] + and a + jr z, .asm_17d936 + cp $a + jr z, .asm_17d936 + call Function17e309 + ret + +.asm_17d936 + call Function17e349 + ret +; 17d93a + +Function17d93a: ; 17d93a + call Function17e415 + ld de, wc708 + ld bc, $0005 + call CopyBytes + call Function17e41e + call Function17e32b + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld a, [wc70c] + call Function17e6de + ld a, [wc70a] + ld [CurPartySpecies], a + ld a, [wc70c] + ld e, a + callba Function8bc6 + call Function32f9 + ld a, [wc708] + ld l, a + ld a, [wc709] + ld h, a + ld a, [wc70b] + ld c, a + ld de, TileMap + add hl, de + ld e, l + ld d, h + callba Functiond066e + pop af + ld [rSVBK], a + call Function17e349 + ret +; 17d98b + +Function17d98b: ; 17d98b + call Function17e415 + ld de, wc708 + ld bc, $0004 + call CopyBytes + call Function17e41e + call Function17e32b + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld a, [wc70b] + call Function17e6de + ld a, [wc70a] + ld [TrainerClass], a + ld a, [wc70b] + ld e, a + callba Function8bbd + call Function32f9 + ld a, [wc708] + ld e, a + ld a, [wc709] + ld d, a + push de + ld de, VTiles2 + callba GetTrainerPic + pop hl + ld de, TileMap + add hl, de + ld bc, $0707 + predef FillBox + pop af + ld [rSVBK], a + call Function17e349 + ret +; 17d9e3 + +Function17d9e3: ; 17d9e3 + call Function17e415 + ld de, wc708 + ld bc, $0007 + call CopyBytes + call Function17e41e + ld a, [wc70b] + push af + cp $c0 + jr c, .asm_17da01 + ld a, [wc70c] + ld [rSVBK], a + jr .asm_17da07 + +.asm_17da01 + ld a, [wc70c] + call GetSRAMBank + +.asm_17da07 + ld a, [wc708] + ld l, a + ld a, [wc709] + ld h, a + ld a, [wc70a] + ld e, a + ld a, [wc70b] + ld d, a + ld a, [wc70d] + ld c, a + ld a, [wc70e] + ld b, a + call CopyBytes + pop af + cp $c0 + jr c, .asm_17da2d + ld a, $4 + ld [rSVBK], a + jr .asm_17da30 + +.asm_17da2d + call CloseSRAM + +.asm_17da30 + ret +; 17da31 + +Function17da31: ; 17da31 + call Function17e415 + ld de, wc708 + ld bc, $0004 + call CopyBytes + call Function17e41e + ld a, [wc709] + push af + cp $c0 + jr c, .asm_17da4f + ld a, [wc70a] + ld [rSVBK], a + jr .asm_17da55 + +.asm_17da4f + ld a, [wc70a] + call GetSRAMBank + +.asm_17da55 + ld a, [wc708] + ld e, a + ld a, [wc709] + ld d, a + ld a, [wc70b] + ld c, a + bit 7, c + jr nz, .asm_17da70 + ld hl, Unknown_17da8c + ld b, $0 + add hl, bc + ld a, [de] + or [hl] + ld [de], a + jr .asm_17da7d + +.asm_17da70 + ld hl, Unknown_17da94 + ld a, c + and $7f + ld c, a + ld b, $0 + add hl, bc + ld a, [de] + and [hl] + ld [de], a + +.asm_17da7d + pop af + cp $c0 + jr c, .asm_17da88 + ld a, $4 + ld [rSVBK], a + jr .asm_17da8b + +.asm_17da88 + call CloseSRAM + +.asm_17da8b + ret +; 17da8c + +Unknown_17da8c: +x = 0 + rept 8 + db 1 << x +x = x + 1 + endr + +Unknown_17da94: +x = 0 + rept 8 + db (1 << x) ^ $ff +x = x + 1 + endr +; 17da9c + +Function17da9c: ; 17da9c + ld a, [wcd31] + dec a + jr z, .asm_17dabd + push af + call Function17e566 + pop af + ld [wcd31], a + ld hl, wcd24 + ld a, [wcd2e] + sub [hl] + ld [wcd2e], a + call Function17e55b + call Function17e5af +.asm_17daba + jp Function17e415 + +.asm_17dabd + ld a, [wcd2f] + and a + jr z, .asm_17daba + ld hl, wcd24 + sub [hl] + ld [wcd2f], a + ld a, [wcd2e] + sub [hl] + ld [wcd2e], a + call Function17e451 + call Function17e55b + call Function17e5af + jr .asm_17daba +; 17dadc + +Function17dadc: ; 17dadc + ld a, [wcd2e] + ld hl, wcd24 + add [hl] + ld hl, wcd42 + cp [hl] + jr z, .asm_17db0e + jr nc, .asm_17db0e + ld hl, wcd31 + ld a, [wcd2b] + cp [hl] + jr z, .asm_17db11 + call Function17e566 + ld a, [wcd31] + inc a + ld [wcd31], a + ld hl, wcd24 + ld a, [wcd2e] + add [hl] + ld [wcd2e], a + call Function17e55b + call Function17e5af + +.asm_17db0e + jp Function17e415 + +.asm_17db11 + ld hl, wcd24 + ld a, [wcd2f] + add [hl] + ld [wcd2f], a + ld a, [wcd2e] + add [hl] + ld [wcd2e], a + call Function17e451 + call Function17e55b + call Function17e5af + jr .asm_17db0e +; 17db2d + +Function17db2d: ; 17db2d + ld a, [wcd30] + ld hl, wcd24 + cp [hl] + jr z, .asm_17db53 + ld hl, wcd42 + ld a, [wcd2e] + inc a + cp [hl] + jr z, .asm_17db53 + ld [wcd2e], a + call Function17e566 + ld a, [wcd30] + inc a + ld [wcd30], a + call Function17e55b + call Function17e5af + +.asm_17db53 + jp Function17e415 +; 17db56 + +Function17db56: ; 17db56 + ld a, [wcd30] + cp $1 + jr z, .asm_17db74 + call Function17e566 + ld a, [wcd30] + dec a + ld [wcd30], a + ld a, [wcd2e] + dec a + ld [wcd2e], a + call Function17e55b + call Function17e5af + +.asm_17db74 + jp Function17e415 +; 17db77 + +Function17db77: ; 17db77 + ld hl, wcd2d + ld a, [wcd2f] + add [hl] + ld hl, wcd42 + cp [hl] + jr z, .asm_17dbae + jr nc, .asm_17dbae + call Function17e566 + ld hl, wcd2d + ld a, [wcd2f] + add [hl] + ld [wcd2f], a + ld a, [wcd2e] + add [hl] + ld hl, wcd42 + cp [hl] + jr c, .asm_17db9f + ld a, [hl] + dec a + +.asm_17db9f + ld [wcd2e], a + call Function17dbb1 + call Function17e451 + call Function17e55b + call Function17e5af + +.asm_17dbae + jp Function17e415 +; 17dbb1 + +Function17dbb1: ; 17dbb1 + ld hl, wcd2f + ld a, [wcd42] + sub [hl] + ld hl, wcd2d + cp [hl] + ret nc + ld a, $1 + ld [wcd30], a + ld [wcd31], a + ld a, [wcd24] + ld c, a + ld a, [wcd24] + ld b, a + ld a, [wcd2e] + ld hl, wcd2f + sub [hl] +.asm_17dbd4 + and a + ret z + push af + ld hl, wcd30 + ld a, b + cp [hl] + jr nz, .asm_17dbe4 + ld a, $1 + ld [hl], a + ld hl, wcd31 + +.asm_17dbe4 + inc [hl] + pop af + dec a + jr .asm_17dbd4 +; 17dbe9 + +Function17dbe9: ; 17dbe9 + ld hl, wcd2d + ld a, [wcd2f] + sub [hl] + bit 7, a + jr z, .asm_17dbf5 + xor a + +.asm_17dbf5 + ld [wcd2f], a + ld a, [wcd30] + dec a + ld c, a + ld a, [wcd31] + ld b, a + xor a + ld hl, wcd24 +.asm_17dc05 + dec b + jr z, .asm_17dc0b + add [hl] + jr .asm_17dc05 + +.asm_17dc0b + add c + ld hl, wcd2f + add [hl] + ld [wcd2e], a + call Function17e451 + call Function17e55b + call Function17e5af + jp Function17e415 +; 17dc1f + +Function17dc1f: ; 17dc1f + call Function17e415 + ld de, $c688 + ld bc, $0006 + call CopyBytes + call Function17e32b + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld hl, $c688 + ld a, $40 + ld [wc708], a + ld a, [hli] + ld [wc70a], a + add $5 + ld [wc70c], a + ld a, [hli] + ld [wc709], a + add $4 + ld [wc70b], a + ld a, $96 + ld [wc70d], a + ld a, $5c + ld [wc70e], a + ld a, $1 + ld [wc70f], a + ld hl, wc708 + call LoadMenuDataHeader + call Function1d81 + jr nc, .asm_17dc6e + ld a, $2 + ld [wcfa9], a + +.asm_17dc6e + call Function1c17 + pop af + ld [rSVBK], a + ld a, [wcfa9] + cp $1 + jr nz, .asm_17dc85 + ld a, [$c68a] + ld l, a + ld a, [$c68a + 1] + ld h, a + jr .asm_17dc8d + +.asm_17dc85 + ld a, [$c68a + 2] + ld l, a + ld a, [$c68a + 3] + ld h, a + +.asm_17dc8d + push hl + call Function17e349 + pop hl + call Function17e40f + ret +; 17dc96 + +MenuData2_17dc96: + db $e0 ; flags + db 2 + db "はい@" + db "いいえ@" +; 17dc9f + +Function17dc9f: ; 17dc9f + call Function17e415 + call Function17e41e + call Function4dd + ret +; 17dca9 + +Function17dca9: ; 17dca9 + call Function17e415 + call Function17e41e + +Function17dcaf: + ld a, $5 + ld [rSVBK], a + ld hl, Unkn1Pals + ld de, $0008 + ld c, $8 +.asm_17dcbb + push hl + ld a, $ff + ld [hli], a + ld a, $7f + ld [hl], a + pop hl + add hl, de + dec c + jr nz, .asm_17dcbb + call Function4b6 + ld a, $4 + ld [rSVBK], a + ret +; 17dccf + +Function17dccf: ; 17dccf + call Function17e415 + push hl + ld a, [wcd4b] + ld l, a + ld a, [wcd4c] + ld h, a + ld a, [wcd2e] + ld c, a + ld b, $0 + add hl, bc + add hl, bc + ld a, [hli] + ld c, a + ld a, [hl] + ld b, a + call Function17e43d + call Function17e41e +.asm_17dced + ld a, [wcd78] + ld l, a + ld a, [wcd79] + ld h, a + ld a, [hl] + cp $ff + jr z, .asm_17dd0d +.asm_17dcfa + cp $31 + jr nc, .asm_17dcfa + call Function17d711 + ld a, [wcd77] + bit 7, a + jr nz, .asm_17dd0d + and a + jr z, .asm_17dd11 + jr .asm_17dced + +.asm_17dd0d + pop hl + jp Function17e41e + +.asm_17dd11 + pop hl + ret +; 17dd13 + +Function17dd13: ; 17dd13 + call Function17e415 + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + call Function17e41e + call Function17e447 + push hl + ld hl, TileMap + add hl, bc + push hl + pop bc + pop hl + call Function13e5 + ret +; 17dd30 + +Function17dd30: ; 17dd30 + call Function17e415 + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld c, a + ld b, $0 + ld a, [hli] + push af + call Function17e41e + pop af + ld hl, TileMap + add hl, de + call Function17e600 + ret +; 17dd49 + +Function17dd49: ; 17dd49 + call Function17e415 + ld de, wc708 + ld bc, $000a + call CopyBytes + ld a, [wc711] + ld c, a + ld b, $0 + call CopyBytes + ld a, [wc70a] + cp $c0 + jr c, .asm_17dd6c + ld a, [wc708] + ld [rSVBK], a + jr .asm_17dd72 + +.asm_17dd6c + ld a, [wc708] + call GetSRAMBank + +.asm_17dd72 + ld a, [wc709] + ld l, a + ld a, [wc70a] + ld h, a + ld de, $c688 + ld a, [wc711] + ld c, a + ld b, $0 + call CopyBytes + ld a, [wc70a] + cp $c0 + jr c, .asm_17dd93 + ld a, $4 + ld [rSVBK], a + jr .asm_17dd96 + +.asm_17dd93 + call CloseSRAM + +.asm_17dd96 + ld a, [wc711] + ld c, a + ld hl, wc712 + ld de, $c688 +.asm_17dda0 + ld a, [de] + inc de + cp [hl] + inc hl + jr z, .asm_17ddaa + jr c, .asm_17ddc1 + jr .asm_17ddb7 + +.asm_17ddaa + dec c + jr nz, .asm_17dda0 + ld a, [wc70d] + ld l, a + ld a, [wc70e] + ld h, a + jr .asm_17ddc9 + +.asm_17ddb7 + ld a, [wc70f] + ld l, a + ld a, [wc710] + ld h, a + jr .asm_17ddc9 + +.asm_17ddc1 + ld a, [wc70b] + ld l, a + ld a, [wc70c] + ld h, a + +.asm_17ddc9 + call Function17e40f + ret +; 17ddcd + +Function17ddcd: ; 17ddcd + call Function17e415 + ld de, wc708 + ld bc, $0008 + call CopyBytes + ld a, [wc70a] + cp $c0 + jr c, .asm_17dde7 + ld a, [wc708] + ld [rSVBK], a + jr .asm_17dded + +.asm_17dde7 + ld a, [wc708] + call GetSRAMBank + +.asm_17dded + ld a, [wc709] + ld e, a + ld a, [wc70a] + ld d, a + ld a, [de] + ld [wc710], a + ld a, [wc70b] + ld c, a + ld b, $0 + ld a, [wc70a] + cp $c0 + jr c, .asm_17de0c + ld a, $4 + ld [rSVBK], a + jr .asm_17de0f + +.asm_17de0c + call CloseSRAM + +.asm_17de0f + push hl + ld hl, Unknown_17da8c + add hl, bc + ld a, [hl] + ld hl, wc710 + and [hl] + pop hl + jr nz, .asm_17de26 + ld a, [wc70e] + ld l, a + ld a, [wc70f] + ld h, a + jr .asm_17de2e + +.asm_17de26 + ld a, [wc70c] + ld l, a + ld a, [wc70d] + ld h, a + +.asm_17de2e + call Function17e40f + ret +; 17de32 + +Function17de32: ; 17de32 + call Function17e415 + ld de, wc708 + ld bc, $0009 + call CopyBytes + ld a, [wc710] + ld c, a + ld b, $0 + call CopyBytes + ld a, $6 + call GetSRAMBank + call Function17f4f6 + ld a, [wc708] + ld e, a + ld a, [wc709] + ld d, a + add hl, de + ld e, l + ld d, h + ld a, [wc710] + ld c, a + ld hl, wc711 +.asm_17de61 + ld a, [de] + inc de + cp [hl] + inc hl + jr z, .asm_17de6b + jr c, .asm_17de82 + jr .asm_17de78 + +.asm_17de6b + dec c + jr nz, .asm_17de61 + ld a, [wc70c] + ld l, a + ld a, [wc70d] + ld h, a + jr .asm_17de8a + +.asm_17de78 + ld a, [wc70e] + ld l, a + ld a, [wc70f] + ld h, a + jr .asm_17de8a + +.asm_17de82 + ld a, [wc70a] + ld l, a + ld a, [wc70b] + ld h, a + +.asm_17de8a + call CloseSRAM + call Function17e40f + ret +; 17de91 + +Function17de91: ; 17de91 + call Function17e415 + ld de, wc708 + ld bc, $0007 + call CopyBytes + ld a, $6 + call GetSRAMBank + call Function17f4f6 + ld a, [wc708] + ld e, a + ld a, [wc709] + ld d, a + add hl, de + ld e, l + ld d, h + ld a, [wc70a] + ld c, a + ld b, $0 + ld hl, Unknown_17da8c + add hl, bc + ld a, [hl] + ld l, e + ld h, d + and [hl] + jr nz, .asm_17deca + ld a, [wc70d] + ld l, a + ld a, [wc70e] + ld h, a + jr .asm_17ded2 + +.asm_17deca + ld a, [wc70b] + ld l, a + ld a, [wc70c] + ld h, a + +.asm_17ded2 + call CloseSRAM + call Function17e40f + ret +; 17ded9 + +Function17ded9: ; 17ded9 + call Function17e415 + ld de, wc708 + ld bc, $001f + call CopyBytes + call Function17e32b + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld hl, wc708 + ld a, [hli] + ld [CurPartySpecies], a + ld [TempEnemyMonSpecies], a + ld a, [hli] + ld [CurPartyLevel], a + ld a, [hli] + ld b, a + ld a, [PartyCount] + cp $6 + jp nc, Function17e026 + xor a + ld [MonType], a + push hl + push bc + predef Functiond88c + callba Function4db49 + pop bc + pop hl + bit 1, b + jr z, .asm_17df33 + push bc + push hl + ld a, [PartyCount] + dec a + ld hl, PartyMonNicknames + call SkipNames + ld d, h + ld e, l + pop hl + call CopyBytes + pop bc + jr .asm_17df37 + +.asm_17df33 + ld de, $0006 + add hl, de + +.asm_17df37 + bit 2, b + jr z, .asm_17df5a + push bc + push hl + ld a, [PartyCount] + dec a + ld hl, PartyMonOT + call SkipNames + ld d, h + ld e, l + pop hl + call CopyBytes + ld a, [hli] + ld b, a + push hl + callba Function4dba3 + pop hl + pop bc + jr .asm_17df5e + +.asm_17df5a + ld de, $0007 + add hl, de + +.asm_17df5e + bit 3, b + jr z, .asm_17df79 + push bc + push hl + ld a, [PartyCount] + dec a + ld hl, PartyMon1ID + call GetPartyLocation + ld d, h + ld e, l + pop hl + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + pop bc + jr .asm_17df7b + +.asm_17df79 + inc hl + inc hl + +.asm_17df7b + bit 4, b + jr z, .asm_17dfd0 + push bc + push hl + ld a, [PartyCount] + dec a + ld hl, PartyMon1DVs + call GetPartyLocation + ld d, h + ld e, l + pop hl + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + push hl + ld a, [PartyCount] + dec a + ld hl, PartyMon1Species + call GetPartyLocation + ld a, [hl] + ld [CurSpecies], a + call GetBaseData + ld a, [PartyCount] + dec a + ld hl, PartyMon1MaxHP + call GetPartyLocation + ld d, h + ld e, l + push hl + ld b, $0 + callba Functione167 + ld a, [PartyCount] + dec a + ld hl, PartyMon1HP + call GetPartyLocation + ld d, h + ld e, l + pop hl + ld a, [hli] + ld [de], a + inc de + ld a, [hl] + ld [de], a + pop hl + pop bc + jr .asm_17dfd2 + +.asm_17dfd0 + inc hl + inc hl + +.asm_17dfd2 + bit 5, b + jr z, .asm_17dfea + push bc + push hl + ld a, [PartyCount] + dec a + ld hl, PartyMon1Item + call GetPartyLocation + ld d, h + ld e, l + pop hl + ld a, [hli] + ld [de], a + pop bc + jr .asm_17dfeb + +.asm_17dfea + inc hl + +.asm_17dfeb + bit 6, b + jr z, .asm_17e01f + push bc + push hl + ld a, [PartyCount] + dec a + ld hl, PartyMon1Moves + call GetPartyLocation + ld d, h + ld e, l + pop hl + push de + ld bc, $0004 + call CopyBytes + pop de + push hl + push de + ld a, [PartyCount] + dec a + ld hl, PartyMon1PP + call GetPartyLocation + ld d, h + ld e, l + pop hl + predef FillPP + pop hl + pop bc + jp asm_17e0ee + +.asm_17e01f + ld de, $0004 + add hl, de + jp asm_17e0ee +; 17e026 + +Function17e026: ; 17e026 + ld a, $1 + call GetSRAMBank + ld a, [sBoxCount] + call CloseSRAM + cp $14 + jp nc, .asm_17e0ea + bit 0, b + jp z, .asm_17e0ea + push bc + push hl + callba LoadEnemyMon + callba Functionde6e + callba Function4db83 + pop hl + pop bc + ld a, $1 + call GetSRAMBank + bit 1, b + jr z, .asm_17e067 + push bc + ld bc, $000b + ld de, sBoxMonNicknames + call CopyBytes + pop bc + jr .asm_17e06b + +.asm_17e067 + ld de, $0006 + add hl, de + +.asm_17e06b + bit 2, b + jr z, .asm_17e08e + push bc + ld bc, $0006 + ld de, sBoxMonOT + call CopyBytes + ld a, [hli] + ld b, a + push hl + call CloseSRAM + callba Function4db92 + ld a, $1 + call GetSRAMBank + pop hl + pop bc + jr .asm_17e092 + +.asm_17e08e + ld de, $0007 + add hl, de + +.asm_17e092 + bit 3, b + jr z, .asm_17e0a2 + push bc + ld de, sBoxMon1ID + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + pop bc + jr .asm_17e0a4 + +.asm_17e0a2 + inc hl + inc hl + +.asm_17e0a4 + bit 4, b + jr z, .asm_17e0b4 + push bc + ld de, sBoxMon1DVs + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + pop bc + jr .asm_17e0b6 + +.asm_17e0b4 + inc hl + inc hl + +.asm_17e0b6 + bit 5, b + ld a, [hli] + jr z, .asm_17e0be + ld [sBoxMon1Item], a + +.asm_17e0be + bit 6, b + jr z, .asm_17e0e1 + push bc + ld de, sBoxMon1Moves + ld bc, $0004 + call CopyBytes + push hl + ld hl, sBoxMon1Moves + ld de, sBoxMon1PP + predef FillPP + call CloseSRAM + pop hl + pop bc + inc hl + inc hl + jr asm_17e0ee + +.asm_17e0e1 + call CloseSRAM + ld de, $0006 + add hl, de + jr asm_17e0ee + +.asm_17e0ea + ld bc, $001a + add hl, bc + +asm_17e0ee + ld a, [hli] + ld h, [hl] + ld l, a + pop af + ld [rSVBK], a + push hl + call Function17e349 + pop hl + call Function17e40f + ret +; 17e0fd + +Function17e0fd: ; 17e0fd + call Function17e415 + ld de, wc708 + ld bc, $0006 + call CopyBytes + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld hl, wc708 + ld a, [hli] + ld [CurItem], a + ld a, [hli] + ld [wd10c], a + push hl + ld hl, NumItems + call ReceiveItem + pop hl + jr c, .asm_17e127 + inc hl + inc hl + +.asm_17e127 + ld a, [hli] + ld b, a + ld a, [hl] + ld h, a + ld l, b + pop af + ld [rSVBK], a + call Function17e40f + ret +; 17e133 + +Function17e133: ; 17e133 + call Function17e415 + ld de, wc708 + ld bc, $0005 + call CopyBytes + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld hl, wc708 + ld a, [hli] + ld [ScriptVar], a + push hl + callba Function4a843 + pop hl + jr c, .asm_17e159 + inc hl + inc hl + +.asm_17e159 + ld a, [hli] + ld b, a + ld a, [hl] + ld h, a + ld l, b + pop af + ld [rSVBK], a + call Function17e40f + ret +; 17e165 + +Function17e165: ; 17e165 + call Function17e415 + ld de, wc708 + ld bc, $0005 + call CopyBytes + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld hl, wc708 + ld a, [hli] + ld [CurItem], a + push hl + ld hl, NumItems + call CheckItem + pop hl + jr c, .asm_17e195 + push hl + ld hl, PCItems + call CheckItem + pop hl + jr c, .asm_17e195 + inc hl + inc hl + +.asm_17e195 + ld a, [hli] + ld b, a + ld a, [hl] + ld h, a + ld l, b + pop af + ld [rSVBK], a + call Function17e40f + ret +; 17e1a1 + +Function17e1a1: ; 17e1a1 + call Function17e415 + ld de, wc708 + ld bc, $000d + call CopyBytes + ld a, [wc70a] + cp $c0 + jr c, .asm_17e1bb + ld a, [wc708] + ld [rSVBK], a + jr .asm_17e1c1 + +.asm_17e1bb + ld a, [wc708] + call GetSRAMBank + +.asm_17e1c1 + ld a, [wc709] + ld l, a + ld a, [wc70a] + ld h, a + ld de, $c608 + ld a, [wc70b] + ld c, a + ld b, $0 + call CopyBytes + ld a, [wc70a] + cp $c0 + jr c, .asm_17e1e2 + ld a, $4 + ld [rSVBK], a + jr .asm_17e1e5 + +.asm_17e1e2 + call CloseSRAM + +.asm_17e1e5 + ld a, [wc70e] + cp $c0 + jr c, .asm_17e1f3 + ld a, [wc70c] + ld [rSVBK], a + jr .asm_17e1f9 + +.asm_17e1f3 + ld a, [wc70c] + call GetSRAMBank + +.asm_17e1f9 + ld a, [wc70d] + ld l, a + ld a, [wc70e] + ld h, a + ld de, $c688 + ld a, [wc70b] + ld c, a + ld b, $0 + call CopyBytes + ld a, [wc70e] + cp $c0 + jr c, .asm_17e21a + ld a, $4 + ld [rSVBK], a + jr .asm_17e21d + +.asm_17e21a + call CloseSRAM + +.asm_17e21d + ld a, [wc70b] + ld c, a + ld hl, $c688 + ld de, $c608 +.asm_17e227 + ld a, [de] + inc de + cp [hl] + inc hl + jr z, .asm_17e231 + jr c, .asm_17e23e + jr .asm_17e248 + +.asm_17e231 + dec c + jr nz, .asm_17e227 + ld a, [wc711] + ld l, a + ld a, [wc712] + ld h, a + jr .asm_17e250 + +.asm_17e23e + ld a, [wc70f] + ld l, a + ld a, [wc710] + ld h, a + jr .asm_17e250 + +.asm_17e248 + ld a, [wc712 + 1] + ld l, a + ld a, [wc712 + 2] + ld h, a + +.asm_17e250 + call Function17e40f + ret +; 17e254 + +Function17e254: ; 17e254 + call Function17e415 + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld [de], a + call Function17e41e + ret +; 17e261 + +Function17e261: ; 17e261 + call Function17e415 + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [de] + add [hl] + ld [de], a + inc hl + call Function17e41e + ret +; 17e270 + +Function17e270: ; 17e270 + call Function17e415 + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [de] + sub [hl] + ld [de], a + inc hl + call Function17e41e + ret +; 17e27f + +Function17e27f: ; 17e27f + call Function17e415 + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + call Function17e41e + ld l, c + ld h, b + ld a, [de] + add [hl] + ld [de], a + ret +; 17e293 + +Function17e293: ; 17e293 + call Function17e415 + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + call Function17e41e + ld l, c + ld h, b + ld a, [de] + sub [hl] + ld [de], a + ret +; 17e2a7 + +Function17e2a7: ; 17e2a7 + call Function17e415 + call Function17e41e + call Function17e32b + xor a + ld [wcf66], a + callba Function118233 + ld de, GFX_17eb7e + ld hl, $9600 + lb bc, BANK(GFX_17eb7e), 1 + call Get2bpp + ld a, [wc300] + and a + jr z, .asm_17e2d8 + cp $a + jr z, .asm_17e2f7 + cp $b + jr z, .asm_17e300 + call Function17e309 + ret + +.asm_17e2d8 + call Function17d60b + call Function17e349 + xor a + ld [wcd7a], a + ld a, $5 + call GetSRAMBank + ld hl, $aa73 + ld de, $aa7f + ld bc, $000c + call CopyBytes + call CloseSRAM + ret + +.asm_17e2f7 + call Function17e349 + ld a, $1 + ld [wcd7a], a + ret + +.asm_17e300 + call Function17e349 + ld a, $2 + ld [wcd7a], a + ret +; 17e309 + +Function17e309: ; 17e309 + ld a, $2 + ld [wc303], a + call Function17dcaf + call ClearScreen + call Function17e349 + call Function17d5f6 + callba Function17f555 + call Function17e349 + call Function17dcaf + xor a + ld [wcd77], a + ret +; 17e32b + +Function17e32b: ; 17e32b + ld a, $5 + call GetSRAMBank + ld hl, $c608 + ld de, $b0b1 + ld bc, $0040 + call CopyBytes + ld hl, BGMapBuffer + ld bc, $005b + call CopyBytes + call CloseSRAM + ret +; 17e349 + +Function17e349: ; 17e349 + ld a, $5 + call GetSRAMBank + ld hl, $b0b1 + ld de, $c608 + ld bc, $0040 + call CopyBytes + ld de, BGMapBuffer + ld bc, $005b + call CopyBytes + call CloseSRAM + ret +; 17e367 + +Function17e367: ; 17e367 + call Function17e415 + call Function17e41e + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + callba Function14c10 + pop af + ld [rSVBK], a + ret +; 17e37e + +Function17e37e: ; 17e37e + call Function17e415 + call Function17e41e + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + callba Function14a58 + pop af + ld [rSVBK], a + ret +; 17e395 + +Function17e395: ; 17e395 + call Function17e415 + call Function17e41e + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + callba Function14e0c + pop af + ld [rSVBK], a + ret +; 17e3ac + +Function17e3ac: ; 17e3ac + call Function17e415 + call Function17e41e + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + callba Function14e13 + pop af + ld [rSVBK], a + ret +; 17e3c3 + +Function17e3c3: ; 17e3c3 + call Function17e415 + call Function17e41e + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + callba Function106155 + callba Function106187 + pop af + ld [rSVBK], a + ret +; 17e3e0 + +Function17e3e0: ; 17e3e0 + call Function17e415 + ld a, [hli] + ld c, a + call Function17e41e + ld a, $1 + ld [hBGMapMode], a + call DelayFrames + ret +; 17e3f0 + +Function17e3f0: ; 17e3f0 + call Function17e415 + call Function17e41e +.asm_17e3f6 + call Functiona57 + ld hl, hJoyPressed + ld a, [hl] + and $1 + ret nz + ld a, [hl] + and $2 + ret nz + call WaitBGMap + jr .asm_17e3f6 +; 17e409 + +Function17e409: ; 17e409 + ld hl, wcd77 + set 7, [hl] + ret +; 17e40f + +Function17e40f: ; 17e40f + ld de, Unkn1Pals + add hl, de + jr Function17e41e + +Function17e415: + ld a, [wcd78] + ld l, a + ld a, [wcd79] + ld h, a + inc hl + +Function17e41e: + ld a, l + ld [wcd78], a + ld a, h + ld [wcd79], a + ret +; 17e427 + +Function17e427: ; 17e427 + ld hl, hJoyPressed + ld a, [hl] + and $1 + jr nz, .asm_17e432 + and $2 + ret z + +.asm_17e432 + ld a, $3 + ld [wcd77], a + ret +; 17e438 + +Function17e438: ; 17e438 + ld hl, wcd77 + inc [hl] + ret +; 17e43d + +Function17e43d: ; 17e43d + ld a, [BGMapBuffer] + ld l, a + ld a, [wcd21] + ld h, a + add hl, bc + ret +; 17e447 + +Function17e447: ; 17e447 + ld a, [BGMapBuffer] + ld l, a + ld a, [wcd21] + ld h, a + add hl, de + ret +; 17e451 + +Function17e451: ; 17e451 + ld a, [wcd42] + and a + ret z + call Function17e51b + call Function17e4dd + ld a, [wcd2e] + push af + ld a, [wcd49] + ld l, a + ld a, [wcd4a] + ld h, a + ld a, [wcd2f] + ld [wcd2e], a + ld c, a + ld b, $0 + add hl, bc + add hl, bc + push hl + ld hl, TileMap + ld bc, $0014 + ld a, [wcd23] + call AddNTimes + ld a, [CreditsTimer] + ld c, a + ld b, $0 + add hl, bc + pop bc + ld a, [wcd25] +.asm_17e48b + push af + push hl + ld a, [wcd24] +.asm_17e490 + push af + push hl + ld a, [bc] + inc bc + ld e, a + ld a, [bc] + inc bc + ld d, a + push bc + push hl + ld a, [BGMapBuffer] + ld l, a + ld a, [wcd21] + ld h, a + add hl, de + push hl + pop de + pop hl + call PlaceString + pop bc + pop hl + ld a, [wcd26] + ld e, a + ld d, $0 + add hl, de + ld a, [wcd2e] + inc a + ld [wcd2e], a + ld e, a + ld a, [wcd42] + cp e + jr z, .asm_17e4d5 + pop af + dec a + jr nz, .asm_17e490 + pop hl + ld a, [wcd27] + ld de, $0014 +.asm_17e4cb + add hl, de + dec a + jr nz, .asm_17e4cb + pop af + dec a + jr nz, .asm_17e48b + jr .asm_17e4d8 + +.asm_17e4d5 + pop af + pop hl + pop af + +.asm_17e4d8 + pop af + ld [wcd2e], a + ret +; 17e4dd + +Function17e4dd: ; 17e4dd + ld a, [wcd2c] + and $1 + ret z + ld a, [wcd29] + ld hl, TileMap + ld bc, $0014 + call AddNTimes + ld a, [wcd28] + ld c, a + ld b, $0 + add hl, bc + ld a, [wcd2f] + and a + jr z, .asm_17e4ff + ld a, $61 + ld [hl], a + +.asm_17e4ff + ld a, [wcd2a] + ld bc, $0014 + call AddNTimes + ld a, [wcd42] + ld c, a + ld a, [wcd2e] + ld b, a + ld a, [wcd24] + add b + cp c + ret z + ret nc + ld a, $ee + ld [hl], a + ret +; 17e51b + +Function17e51b: ; 17e51b + ld a, [wcd28] + ld hl, CreditsTimer + sub [hl] + inc a + ld [wcd4f], a + ld hl, TileMap + ld bc, $0014 + ld a, [wcd23] + dec a + call AddNTimes + ld a, [CreditsTimer] + ld c, a + ld b, $0 + add hl, bc + ld a, [wcd25] + ld c, a + ld a, [wcd27] + call SimpleMultiply +.asm_17e544 + push af + push hl + ld a, [wcd4f] + ld c, a + ld b, $0 + ld a, $7f + call ByteFill + pop hl + ld bc, $0014 + add hl, bc + pop af + dec a + jr nz, .asm_17e544 + ret +; 17e55b + +Function17e55b: ; 17e55b + ld a, [wcd42] + and a + ret z + ld a, $ed + call Function17e571 + ret +; 17e566 + +Function17e566: ; 17e566 + ld a, [wcd42] + and a + ret z + ld a, $7f + call Function17e571 + ret +; 17e571 + +Function17e571: ; 17e571 + push af + ld hl, TileMap + ld bc, $0014 + ld a, [wcd23] + call AddNTimes + ld a, [CreditsTimer] + ld c, a + ld b, $0 + add hl, bc + dec hl + push hl + ld a, [wcd31] + dec a + ld c, a + ld a, [wcd27] + call SimpleMultiply + ld l, $0 + ld h, l + ld bc, $0014 + call AddNTimes + ld a, [wcd30] + dec a + ld c, a + ld a, [wcd26] + call SimpleMultiply + ld c, a + ld b, $0 + add hl, bc + pop bc + add hl, bc + pop af + ld [hl], a + ret +; 17e5af + +Function17e5af: ; 17e5af + ld a, [wcd2c] + and $2 + ret z + ld a, [wcd43] + ld l, a + ld a, [wcd44] + ld h, a + ld bc, TileMap + add hl, bc + ld bc, $ffec + add hl, bc + ld a, [wcd45] + ld c, a + ld b, $0 + ld a, [wcd46] + call Function17e600 + ld a, [wcd2e] + ld c, a + ld b, $0 + ld a, [wcd4d] + ld l, a + ld a, [wcd4e] + ld h, a + add hl, bc + add hl, bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [BGMapBuffer] + ld l, a + ld a, [wcd21] + ld h, a + add hl, de + push hl + pop de + ld a, [wcd43] + ld l, a + ld a, [wcd44] + ld h, a + ld bc, TileMap + add hl, bc + call PlaceString + ret +; 17e600 + +Function17e600: ; 17e600 +.asm_17e600 + push af + push hl + push bc + ld a, $7f + call ByteFill + pop bc + pop hl + ld de, $0014 + add hl, de + pop af + dec a + jr nz, .asm_17e600 + ret +; 17e613 + +Function17e613: ; 17e613 + push hl + ld hl, TileMap + ld bc, $0014 + ld a, [de] + inc de + push af + ld a, [de] + inc de + and a +.asm_17e620 + jr z, .asm_17e626 + add hl, bc + dec a + jr .asm_17e620 + +.asm_17e626 + pop af + ld c, a + ld b, $0 + add hl, bc + push hl + ld a, [wcd53] + ld [hli], a + ld a, [de] + inc de + dec a + dec a + jr z, .asm_17e63f + ld c, a + ld a, [wcd53] + inc a +.asm_17e63b + ld [hli], a + dec c + jr nz, .asm_17e63b + +.asm_17e63f + ld a, [wcd53] + add $2 + ld [hl], a + pop hl + ld bc, $0014 + add hl, bc + ld a, [de] + dec de + dec a + dec a + jr z, .asm_17e674 + ld b, a +.asm_17e651 + push hl + ld a, [wcd53] + add $3 + ld [hli], a + ld a, [de] + dec a + dec a + jr z, .asm_17e664 + ld c, a + ld a, $7f +.asm_17e660 + ld [hli], a + dec c + jr nz, .asm_17e660 + +.asm_17e664 + ld a, [wcd53] + add $4 + ld [hl], a + pop hl + push bc + ld bc, $0014 + add hl, bc + pop bc + dec b + jr nz, .asm_17e651 + +.asm_17e674 + ld a, [wcd53] + add $5 + ld [hli], a + ld a, [de] + dec a + dec a + jr z, .asm_17e689 + ld c, a + ld a, [wcd53] + add $6 +.asm_17e685 + ld [hli], a + dec c + jr nz, .asm_17e685 + +.asm_17e689 + ld a, [wcd53] + add $7 + ld [hl], a + pop hl + ret +; 17e691 + +Function17e691: ; 17e691 + push hl + ld hl, NULL + ld bc, $0014 + ld a, [de] + inc de + push af + ld a, [de] + inc de + inc de + and a +.asm_17e69f + jr z, .asm_17e6a5 + add hl, bc + dec a + jr .asm_17e69f + +.asm_17e6a5 + pop af + ld c, a + ld b, $0 + add hl, bc + ld a, [de] + dec de +.asm_17e6ac + push af + push hl + ld a, [de] +.asm_17e6af + push af + push hl + push hl + ld bc, TileMap + add hl, bc + ld a, [hl] + cp $7f + jr z, .asm_17e6c2 + ld a, [wcd53] + add $8 + jr .asm_17e6c7 + +.asm_17e6c2 + ld a, [wcd53] + jr .asm_17e6c7 + +.asm_17e6c7 + pop hl + ld bc, AttrMap + add hl, bc + ld [hl], a + pop hl + inc hl + pop af + dec a + jr nz, .asm_17e6af + pop hl + ld bc, $0014 + add hl, bc + pop af + dec a + jr nz, .asm_17e6ac + pop hl + ret +; 17e6de + +Function17e6de: ; 17e6de + push af + ld a, [wc708] + ld l, a + ld a, [wc709] + ld h, a + ld de, AttrMap + add hl, de + pop af + ld b, $7 +.asm_17e6ee + push hl + ld c, $7 +.asm_17e6f1 + ld [hli], a + dec c + jr nz, .asm_17e6f1 + pop hl + ld de, $0014 + add hl, de + dec b + jr nz, .asm_17e6ee + ret +; 17e6fe + + +PokemonNewsGFX: ; 17e6fe +INCBIN "gfx/mobile/pokemon_news.2bpp" + +GFX_17eb7e: +INCBIN "gfx/unknown/17eb7e.2bpp" + +TileAttrmap_17eb8e: +INCBIN "gfx/unknown/17eb8e.attrmap" + +Palette_17eff6: + RGB 24, 9, 8 + RGB 4, 9, 18 + RGB 18, 18, 12 + RGB 0, 0, 0 + RGB 24, 24, 18 + RGB 18, 18, 12 + RGB 4, 9, 18 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 23, 11, 10 + RGB 13, 6, 5 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 15, 25, 5 + RGB 10, 20, 0 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 28, 20 + RGB 10, 18, 15 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 22, 22, 12 + RGB 17, 12, 5 + RGB 0, 0, 0 + RGB 5, 5, 16 + RGB 8, 19, 28 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 27, 24, 0 + RGB 24, 16, 3 + RGB 0, 0, 0 + + +Function17f036:: ; 17f036 + ld a, $6 + call GetSRAMBank + inc de +.asm_17f03c + call Function17f047 + jr c, .asm_17f043 + jr .asm_17f03c + +.asm_17f043 + call CloseSRAM + ret +; 17f047 + +Function17f047: ; 17f047 + ld a, [de] + inc de + cp $50 + jr z, .asm_17f05f + cp $10 + jr nc, .asm_17f05f + dec a + push de + ld e, a + ld d, 0 + ld hl, Jumptable_17f061 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] + +.asm_17f05f + scf + ret +; 17f061 + +Jumptable_17f061: ; 17f061 + dw Function17f081 + dw Function17f0f8 + dw Function17f154 + dw Function17f181 + dw Function17f1d0 + dw Function17f220 + dw Function17f27b + dw Function17f2cb + dw Function17f2ff + dw Function17f334 + dw Function17f382 + dw Function17f3c9 + dw Function17f3f0 + dw Function17f41d + dw Function17f44f + dw Function17f44f +; 17f081 + +Function17f081: ; 17f081 + pop hl + call Function17f524 + jr c, .asm_17f09f + ld de, $0004 + add hl, de + ld a, [hli] + inc hl + inc hl + ld e, l + ld d, h + ld l, c + ld h, b + ld c, a + ld b, $0 + add hl, bc + ld a, [de] + cp $50 + jr z, .asm_17f09d + and a + ret + +.asm_17f09d + scf + ret + +.asm_17f09f + push bc + ld de, wcd54 + ld bc, $0007 + call CopyBytes + pop bc + push hl + push bc + call Function17f4f6 + pop bc + ld a, [wcd54] + ld e, a + ld a, [wcd55] + ld d, a + add hl, de + ld e, l + ld d, h + ld l, c + ld h, b + push hl + ld a, [wcd56] + ld b, a + ld a, [wcd57] + ld c, a + call Function31a4 + ld a, l + ld [wcd52], a + ld a, h + ld [wcd53], a + ld a, [wcd59] + and a + jr z, .asm_17f0ee + ld c, a + ld a, [wcd57] + inc a + ld b, a + ld e, l + ld d, h + dec de +.asm_17f0e0 + ld a, c + cp b + jr z, .asm_17f0ea + ld a, [de] + dec de + ld [hld], a + dec b + jr .asm_17f0e0 + +.asm_17f0ea + ld a, [wcd5a] + ld [hl], a + +.asm_17f0ee + pop hl + ld a, [wcd58] + call Function17f50f + pop de + and a + ret +; 17f0f8 + +Function17f0f8: ; 17f0f8 + pop hl + call Function17f524 + jr c, .asm_17f114 + ld de, $0003 + add hl, de + ld a, [hli] + ld e, l + ld d, h + ld l, c + ld h, b + ld c, a + ld b, $0 + add hl, bc + ld a, [de] + cp $50 + jr z, .asm_17f112 + and a + ret + +.asm_17f112 + scf + ret + +.asm_17f114 + push bc + ld de, wcd54 + ld bc, $0004 + call CopyBytes + pop bc + push hl + push bc + call Function17f4f6 + ld a, [wcd54] + ld e, a + ld a, [wcd55] + ld d, a + add hl, de + ld de, $c608 + ld a, [wcd56] + ld c, a + ld b, $0 + call CopyBytes + ld a, $50 + ld [de], a + pop hl + ld de, $c608 + call PlaceString + ld a, c + ld [wcd52], a + ld a, b + ld [wcd53], a + ld a, [wcd57] + call Function17f50f + pop de + and a + ret +; 17f154 + +Function17f154: ; 17f154 + pop hl + call Function17f524 + jr c, .asm_17f167 + inc hl + inc hl + ld e, l + ld d, h + ld a, [de] + cp $50 + jr z, .asm_17f165 + and a + ret + +.asm_17f165 + scf + ret + +.asm_17f167 + push bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + pop bc + push hl + push bc + call Function17f4f6 + add hl, de + ld c, l + ld b, h + pop de + callba Function11c08f + ld c, l + ld b, h + pop de + and a + ret +; 17f181 + +Function17f181: ; 17f181 + pop hl + call Function17f524 + jr c, .asm_17f19d + ld de, $0002 + add hl, de + ld a, [hli] + ld e, l + ld d, h + ld l, c + ld h, b + ld c, a + ld b, $0 + add hl, bc + ld a, [de] + cp $50 + jr z, .asm_17f19b + and a + ret + +.asm_17f19b + scf + ret + +.asm_17f19d + push bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld [wcd54], a + pop bc + push hl + push bc + call Function17f4f6 + add hl, de + ld a, [hl] + ld c, a + ld de, $c608 + callba Function48c63 + pop hl + ld de, $c608 + call PlaceString + ld a, c + ld [wcd52], a + ld a, b + ld [wcd53], a + ld a, [wcd54] + call Function17f50f + pop de + and a + ret +; 17f1d0 + +Function17f1d0: ; 17f1d0 + pop hl + call Function17f524 + jr c, .asm_17f1ec + ld de, $0002 + add hl, de + ld a, [hli] + ld e, l + ld d, h + ld l, c + ld h, b + ld c, a + ld b, $0 + add hl, bc + ld a, [de] + cp $50 + jr z, .asm_17f1ea + and a + ret + +.asm_17f1ea + scf + ret + +.asm_17f1ec + push bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld [wcd54], a + pop bc + push hl + push bc + call Function17f4f6 + add hl, de + ld a, [hl] + ld a, $1 + ld [rSVBK], a + ld [wd265], a + call GetPokemonName + pop hl + call PlaceString + ld a, c + ld [wcd52], a + ld a, b + ld [wcd53], a + ld a, $4 + ld [rSVBK], a + ld a, [wcd54] + call Function17f50f + pop de + and a + ret +; 17f220 + +Function17f220: ; 17f220 + pop hl + call Function17f524 + jr c, .asm_17f23c + ld de, $0002 + add hl, de + ld a, [hli] + ld e, l + ld d, h + ld l, c + ld h, b + ld c, a + ld b, $0 + add hl, bc + ld a, [de] + cp $50 + jr z, .asm_17f23a + and a + ret + +.asm_17f23a + scf + ret + +.asm_17f23c + push bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld [wcd54], a + pop bc + push hl + push bc + call Function17f4f6 + add hl, de + ld a, [hl] + ld e, a + ld d, 0 + ld hl, .Genders + add hl, de + add hl, de + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + pop hl + call PlaceString + ld a, c + ld [wcd52], a + ld a, b + ld [wcd53], a + ld a, [wcd54] + call Function17f50f + pop de + and a + ret +; 17f26e + +.Genders: dw .Boy, .Girl +.Boy: db "Boy@" +.Girl: db "Girl@" + +Function17f27b: ; 17f27b + pop hl + call Function17f524 + jr c, .asm_17f297 + ld de, $0002 + add hl, de + ld a, [hli] + ld e, l + ld d, h + ld l, c + ld h, b + ld c, a + ld b, $0 + add hl, bc + ld a, [de] + cp $50 + jr z, .asm_17f295 + and a + ret + +.asm_17f295 + scf + ret + +.asm_17f297 + push bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld [wcd54], a + pop bc + push hl + push bc + call Function17f4f6 + add hl, de + ld a, [hl] + ld a, $1 + ld [rSVBK], a + ld [wd265], a + call GetItemName + pop hl + call PlaceString + ld a, c + ld [wcd52], a + ld a, b + ld [wcd53], a + ld a, $4 + ld [rSVBK], a + ld a, [wcd54] + call Function17f50f + pop de + and a + ret +; 17f2cb + +Function17f2cb: ; 17f2cb + pop hl + push bc + ld a, [hli] + ld [wcd54], a + ld a, [hli] + ld [wcd55], a + ld a, [wcd2e] + inc a + ld [wcd56], a + pop bc + push hl + ld l, c + ld h, b + push hl + ld de, wcd56 + ld b, $1 + ld a, [wcd54] + ld c, a + call Function31a4 + ld a, l + ld [wcd52], a + ld a, h + ld [wcd53], a + pop hl + ld a, [wcd55] + call Function17f50f + pop de + and a + ret +; 17f2ff + +Function17f2ff: ; 17f2ff + pop hl + push bc + ld a, [hli] + ld [wcd54], a + pop bc + push hl + push bc + ld a, $1 + ld [rSVBK], a + ld hl, PlayerName + ld de, $c608 + ld bc, $0006 + call CopyBytes + ld a, $4 + ld [rSVBK], a + pop hl + ld de, $c608 + call PlaceString + ld a, c + ld [wcd52], a + ld a, b + ld [wcd53], a + ld a, [wcd54] + call Function17f50f + pop de + and a + ret +; 17f334 + +Function17f334: ; 17f334 + pop hl + push bc + ld a, [hli] + ld [wcd55], a + and $f + ld [wcd54], a + pop bc + push hl + ld l, c + ld h, b + push hl + ld a, [wcd55] + bit 7, a + jr nz, .asm_17f355 + ld a, $1 + call GetSRAMBank + ld a, [$be3f] + jr .asm_17f35d + +.asm_17f355 + ld a, $5 + call GetSRAMBank + ld a, [$b2f3] + +.asm_17f35d + ld c, a + call CloseSRAM + ld de, $c608 + callba Function48c63 + pop hl + ld de, $c608 + call PlaceString + ld a, c + ld [wcd52], a + ld a, b + ld [wcd53], a + ld a, [wcd54] + call Function17f50f + pop de + and a + ret +; 17f382 + +Function17f382: ; 17f382 + pop hl + push bc + ld a, [hli] + ld [wcd55], a + and $f + ld [wcd54], a + pop bc + push hl + push bc + ld l, c + ld h, b + ld a, [wcd55] + bit 7, a + jr nz, .asm_17f3a3 + ld a, $1 + call GetSRAMBank + ld de, $be40 + jr .asm_17f3ab + +.asm_17f3a3 + ld a, $5 + call GetSRAMBank + ld de, $b2f4 + +.asm_17f3ab + ld a, $82 + ld b, a + ld a, $3 + ld c, a + call PrintNum + call CloseSRAM + ld a, l + ld [wcd52], a + ld a, h + ld [wcd53], a + pop hl + ld a, [wcd54] + call Function17f50f + pop de + and a + ret +; 17f3c9 + +Function17f3c9: ; 17f3c9 + push bc + ld hl, wcd36 + ld de, wc708 + ld bc, $000c + call CopyBytes + pop de + ld c, $0 + callba Function11c075 + push hl + ld hl, wc708 + ld de, wcd36 + ld bc, $000c + call CopyBytes + pop bc + pop de + and a + ret +; 17f3f0 + +Function17f3f0: ; 17f3f0 + pop hl + push hl + ld a, [hli] + push af + push bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [de] + ld c, a + ld b, $0 + add hl, bc + add hl, bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld hl, Unkn1Pals + add hl, de + ld e, l + ld d, h + pop hl + call PlaceString + pop af + ld e, a + ld d, $0 + pop hl + add hl, de + add hl, de + inc hl + inc hl + inc hl + ld e, l + ld d, h + ld l, c + ld h, b + scf + ret +; 17f41d + +Function17f41d: ; 17f41d + pop hl + ld a, [hli] + push hl + push af + ld l, c + ld h, b + ld bc, -TileMap + $10000 + add hl, bc + ld de, -SCREEN_WIDTH + ld c, $1 +.asm_17f42c + ld a, h + and a + jr nz, .asm_17f435 + ld a, l + cp SCREEN_WIDTH + jr c, .asm_17f439 + +.asm_17f435 + add hl, de + inc c + jr .asm_17f42c + +.asm_17f439 + ld hl, TileMap + ld de, SCREEN_WIDTH + ld a, c +.asm_17f440 + and a + jr z, .asm_17f447 + add hl, de + dec a + jr .asm_17f440 + +.asm_17f447 + pop af + ld e, a + ld d, 0 + add hl, de + pop de + and a + ret +; 17f44f + +Function17f44f: ; 17f44f + pop hl + call Function17f524 + jr c, .asm_17f46d + ld de, $0005 + add hl, de + ld a, [hli] + inc hl + inc hl + ld e, l + ld d, h + ld l, c + ld h, b + ld c, a + ld b, 0 + add hl, bc + ld a, [de] + cp $50 + jr z, .asm_17f46b + and a + ret + +.asm_17f46b + scf + ret + +.asm_17f46d + push bc + ld de, wcd54 + ld bc, $0008 + call CopyBytes + pop bc + push hl + push bc + ld a, [wcd56] + cp $c0 + jr c, .asm_17f488 + ld a, [wcd54] + ld [rSVBK], a + jr .asm_17f48e + +.asm_17f488 + ld a, [wcd54] + call GetSRAMBank + +.asm_17f48e + ld a, [wcd55] + ld l, a + ld a, [wcd56] + ld h, a + ld de, $c608 + ld a, [wcd57] + ld c, a + ld b, $0 + call CopyBytes + ld a, [wcd56] + cp $c0 + jr c, .asm_17f4af + ld a, $4 + ld [rSVBK], a + jr .asm_17f4b7 + +.asm_17f4af + call CloseSRAM + ld a, $6 + call GetSRAMBank + +.asm_17f4b7 + ld de, $c608 + pop hl + push hl + ld a, [wcd57] + ld b, a + ld a, [wcd58] + ld c, a + call Function31a4 + ld a, l + ld [wcd52], a + ld a, h + ld [wcd53], a + ld a, [wcd5a] + and a + jr z, .asm_17f4ec + ld c, a + ld a, [wcd58] + inc a + ld b, a + ld e, l + ld d, h + dec de +.asm_17f4de + ld a, c + cp b + jr z, .asm_17f4e8 + ld a, [de] + dec de + ld [hld], a + dec b + jr .asm_17f4de + +.asm_17f4e8 + ld a, [wcd5b] + ld [hl], a + +.asm_17f4ec + pop hl + ld a, [wcd59] + call Function17f50f + pop de + and a + ret +; 17f4f6 + +Function17f4f6: ; 17f4f6 + ld a, [wcd6a] + ld l, a + ld a, [wcd6b] + ld h, a + ld a, [wcd47] + ld c, a + ld a, [BGMapPalBuffer] + ld b, a + ld a, [wcd2e] +.asm_17f509 + and a + ret z + dec a + add hl, bc + jr .asm_17f509 +; 17f50f + +Function17f50f: ; 17f50f + and a + jr z, .asm_17f519 + ld c, a + ld b, $0 + add hl, bc + ld c, l + ld b, h + ret + +.asm_17f519 + ld a, [wcd52] + ld c, a + ld l, a + ld a, [wcd53] + ld b, a + ld h, a + ret +; 17f524 + +Function17f524: ; 17f524 + push hl + push bc + push de + ld a, [wcd42] + dec a + ld b, a + ld a, [wcd2e] + cp b + jr z, .asm_17f53a + ld hl, wcd68 + cp [hl] +.asm_17f536 + pop de + pop bc + pop hl + ret + +.asm_17f53a + scf + jr .asm_17f536 +; 17f53d + +Function17f53d: ; 17f53d + call FadeToMenu + xor a + ld [wc303], a + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + call Function17f555 + pop af + ld [rSVBK], a + call Function2b4d + ret +; 17f555 + +Function17f555: ; 17f555 +.asm_17f555 + call Functiona57 + call Function17f5ae + ld a, [wc303] + bit 7, a + jr nz, .asm_17f56a + callba Function104000 + jr .asm_17f555 + +.asm_17f56a + call Function17f56e + ret +; 17f56e + +Function17f56e: ; 17f56e + ld a, [wc300] + cp $22 + jr z, .asm_17f597 + cp $31 + jr z, .asm_17f58a + cp $33 + ret nz + ld a, [wc301] + cp $1 + ret nz + ld a, [wc302] + cp $2 + ret nz + jr .asm_17f5a1 + +.asm_17f58a + ld a, [wc301] + cp $3 + ret nz + ld a, [wc302] + and a + ret nz + jr .asm_17f5a1 + +.asm_17f597 + ld a, [wc301] + and a + ret nz + ld a, [wc302] + and a + ret nz + +.asm_17f5a1 + ld a, $5 + call GetSRAMBank + xor a + ld [$aa4b], a + call CloseSRAM + ret +; 17f5ae + +Function17f5ae: ; 17f5ae + ld a, [wc303] + ld e, a + ld d, 0 + ld hl, Table17f5bd + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 17f5bd + +Table17f5bd: ; 17f5bd + dw Function17f5c3 + dw Function17ff23 + dw Function17f5d2 +; 17f5c3 + +Function17f5c3: ; 17f5c3 + call Function17f5e4 + callba Function2b5c + ld a, $1 + ld [wc303], a + ret +; 17f5d2 + +Function17f5d2: ; 17f5d2 + call Function17f5e4 + callba Function104000 + call Function32f9 + ld a, $1 + ld [wc303], a + ret +; 17f5e4 + +Function17f5e4: ; 17f5e4 + ld a, $8 + ld [MusicFade], a + ld de, MUSIC_NONE + ld a, e + ld [MusicFadeIDLo], a + ld a, d + ld [MusicFadeIDHi], a + ld a, " " + ld hl, TileMap + ld bc, $0168 + call ByteFill + ld a, $6 + ld hl, AttrMap + ld bc, $0168 + call ByteFill + hlcoord 2, 1 + ld b, $1 + ld c, $e + call Function3eea + hlcoord 1, 4 + ld b, $c + ld c, $10 + call Function3eea + hlcoord 3, 2 + ld de, String_17f6dc + call PlaceString + call Function17ff3c + jr nc, .asm_17f632 + hlcoord 11, 2 + call Function17f6b7 + +.asm_17f632 + ld a, [wc300] + cp $d0 + jr nc, .asm_17f684 + cp $10 + jr c, .asm_17f679 + sub $10 + cp $24 + jr nc, .asm_17f679 + ld e, a + ld d, $0 + ld hl, Table_17f706 + add hl, de + add hl, de + ld a, [wc301] + ld e, a + ld a, [wc302] + ld d, a + ld a, [hli] + ld c, a + ld a, [hl] + ld h, a + ld l, c + ld a, [hli] + and a + jr z, .asm_17f679 + ld c, a +.asm_17f65d + ld a, [hli] + ld b, a + ld a, [hli] + cp $ff + jr nz, .asm_17f667 + cp b + jr z, .asm_17f66e + +.asm_17f667 + xor d + jr nz, .asm_17f674 + ld a, b + xor e + jr nz, .asm_17f674 + +.asm_17f66e + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + jr .asm_17f67d + +.asm_17f674 + inc hl + inc hl + dec c + jr nz, .asm_17f65d + +.asm_17f679 + ld a, $d9 + jr .asm_17f684 + +.asm_17f67d + hlcoord 2, 6 + call PlaceString + ret + +.asm_17f684 + sub $d0 + ld e, a + ld d, 0 + ld hl, Table_17f699 + add hl, de + add hl, de + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + hlcoord 2, 6 + call PlaceString + ret +; 17f699 + +Table_17f699: ; 17f699 + dw String_17fedf + dw String_17fdd9 + dw String_17fdd9 + dw String_17fe03 + dw String_17fd84 + dw String_17fe63 + dw String_17fdb2 + dw String_17fe4b + dw String_17fe03 + dw String_17fe03 + dw String_17fe03 +; 17f6af + +Palette_17f6af: ; 17f6af + RGB 5, 5, 16 + RGB 8, 19, 28 + RGB 0, 0, 0 + RGB 31, 31, 31 +; 17f6b7 + +Function17f6b7: ; 17f6b7 + ld a, [wc300] + call Function17f6cd + inc hl + ld a, [wc302] + and $f + call Function17f6d8 + ld a, [wc301] + call Function17f6cd + ret +; 17f6cd + +Function17f6cd: ; 17f6cd + ld c, a + and $f0 + swap a + call Function17f6d8 + ld a, c + and $f + +Function17f6d8: ; 17f6d8 + add $f6 + ld [hli], a + ret +; 17f6dc + +String_17f6dc: ; 17f6dc + db "つうしんエラー ー@" +; 17f6e8 + +String_17f6e8: ; 17f6e8 + db "みていぎ", $25, "エラーです" + next "プログラム", $1f + next "かくにん してください" + db "@" +; 17f706 + +Table_17f706: + dw Unknown_17f74e + dw Unknown_17f753 + dw Unknown_17f758 + dw Unknown_17f75d + dw Unknown_17f762 + dw Unknown_17f767 + dw Unknown_17f778 + dw Unknown_17f77d + dw Unknown_17f782 + dw Unknown_17f782 + dw Unknown_17f782 + dw Unknown_17f782 + dw Unknown_17f782 + dw Unknown_17f782 + dw Unknown_17f782 + dw Unknown_17f782 + dw Unknown_17f782 + dw Unknown_17f787 + dw Unknown_17f78c + dw Unknown_17f791 + dw Unknown_17f796 + dw Unknown_17f79b + dw Unknown_17f7a0 + dw Unknown_17f7a5 + dw Unknown_17f7a5 + dw Unknown_17f7a5 + dw Unknown_17f7a5 + dw Unknown_17f7a5 + dw Unknown_17f7a5 + dw Unknown_17f7a5 + dw Unknown_17f7a5 + dw Unknown_17f7a5 + dw Unknown_17f7a5 + dw Unknown_17f7ea + dw Unknown_17f7ff + dw Unknown_17f844 + +Unknown_17f74e: db 1 + dbbw $0, $0, String_17f891 + +Unknown_17f753: db 1 + dbbw $0, $0, String_17f8d1 + +Unknown_17f758: db 1 + dbbw $0, $0, String_17f913 + +Unknown_17f75d: db 1 + dbbw $0, $0, String_17f8d1 + +Unknown_17f762: db 1 + dbbw $0, $0, String_17fa71 + +Unknown_17f767: db 4 + dbbw $0, $0, String_17f946 + dbbw $1, $0, String_17f946 + dbbw $2, $0, String_17f946 + dbbw $3, $0, String_17f946 + +Unknown_17f778: db 1 + dbbw $0, $0, String_17f98e + +Unknown_17f77d: db 1 + dbbw $0, $0, String_17f98e + +Unknown_17f782: db 1 + dbbw $0, $0, String_17f98e + +Unknown_17f787: db 1 + dbbw $0, $0, String_17f98e + +Unknown_17f78c: db 1 + dbbw $0, $0, String_17f9d0 + +Unknown_17f791: db 1 + dbbw $0, $0, String_17fa14 + +Unknown_17f796: db 1 + dbbw $0, $0, String_17fcbf + +Unknown_17f79b: db 1 + dbbw $0, $0, String_17fa71 + +Unknown_17f7a0: db 1 + dbbw $0, $0, String_17fbfe + +Unknown_17f7a5: db 17 + dbbw $0, $0, String_17f98e + dbbw $21, $2, String_17fcbf + dbbw $21, $4, String_17fcbf + dbbw $50, $4, String_17faf9 + dbbw $51, $4, String_17fcbf + dbbw $52, $4, String_17fcbf + dbbw $0, $5, String_17f98e + dbbw $1, $5, String_17f98e + dbbw $2, $5, String_17f98e + dbbw $3, $5, String_17f98e + dbbw $4, $5, String_17f98e + dbbw $50, $5, String_17faf9 + dbbw $51, $5, String_17faf9 + dbbw $52, $5, String_17fcbf + dbbw $53, $5, String_17faf9 + dbbw $54, $5, String_17fcbf + dbbw $ff, $ff, String_17fcbf + +Unknown_17f7ea: db 5 + dbbw $0, $0, String_17f98e + dbbw $2, $0, String_17fb2a + dbbw $3, $0, String_17fb6e + dbbw $4, $0, String_17f98e + dbbw $ff, $ff, String_17fcbf + +Unknown_17f7ff: db 17 + dbbw $0, $0, String_17f98e + dbbw $1, $3, String_17f98e + dbbw $2, $3, String_17f98e + dbbw $0, $4, String_17f98e + dbbw $1, $4, String_17f98e + dbbw $3, $4, String_17fbb6 + dbbw $4, $4, String_17fbb6 + dbbw $5, $4, String_17f98e + dbbw $6, $4, String_17f98e + dbbw $7, $4, String_17f98e + dbbw $8, $4, String_17fbfe + dbbw $0, $5, String_17fa49 + dbbw $1, $5, String_17f98e + dbbw $2, $5, String_17fa49 + dbbw $3, $5, String_17fab0 + dbbw $4, $5, String_17fa49 + dbbw $ff, $ff, String_17fa49 + +Unknown_17f844: db 19 + dbbw $1, $1, String_17fc3e + dbbw $2, $1, String_17fc88 + dbbw $3, $1, String_17fcff + dbbw $4, $1, String_17fd84 + dbbw $5, $1, String_17fd84 + dbbw $6, $1, String_17fd47 + dbbw $1, $2, String_17fb6e + dbbw $2, $2, String_17f98e + dbbw $3, $2, String_17fd84 + dbbw $4, $2, String_17f98e + dbbw $5, $2, String_17fa49 + dbbw $6, $2, String_17fd84 + dbbw $99, $2, String_17fc88 + dbbw $1, $3, String_17fa49 + dbbw $1, $4, String_17fa49 + dbbw $2, $4, String_17fa49 + dbbw $3, $4, String_17fa49 + dbbw $4, $4, String_17fa49 + dbbw $ff, $ff, String_17fa49 + +String_17f891: ; 17f891 + db "モバイルアダプタが ただしく" + next "さしこまれていません" + next "とりあつかいせつめいしょを" + next "ごらんのうえ しっかりと" + next "さしこんで ください" + db "@" + +String_17f8d1: ; 17f8d1 + db "でんわが うまく かけられないか" + next "でんわかいせんが こんでいるので" + next "つうしん できません" + next "しばらく まって" + next "かけなおして ください" + db "@" + +String_17f913: ; 17f913 + db "でんわかいせんが こんでいるため" + next "でんわが かけられません" + next "しばらく まって" + next "かけなおして ください" + db "@" + +String_17f946: ; 17f946 + db "モバイルアダプタの エラーです" + next "しばらく まって" + next "かけなおして ください" + next "なおらない ときは" + next "モバイルサポートセンターへ" + next "おといあわせください" + db "@" + +String_17f98e: ; 17f98e + db "つうしんエラーです" + next "しばらく まって" + next "かけなおして ください" + next "なおらない ときは" + next "モバイルサポートセンターへ" + next "おといあわせください" + db "@" + +String_17f9d0: ; 17f9d0 + db "ログインパスワードか" + next "ログイン アイディーに" + next "まちがいがあります" + next "パスワードを かくにんして" + next "しばらく まって" + next "かけなおして ください" + db "@" + +String_17fa14: ; 17fa14 + db "でんわが きれました" + next "とりあつかいせつめいしょを" + next "ごらんのうえ" + next "しばらく まって" + next "かけなおして ください" + db "@" + +String_17fa49: ; 17fa49 + db "モバイルセンターの" + next "つうしんエラーです" + next "しばらくまって" + next "かけなおして ください" + db "@" + +String_17fa71: ; 17fa71 + db "モバイルアダプタに" + next "とうろくされた じょうほうが" + next "ただしく ありません" + next "モバイルトレーナーで" + next "しょきとうろくを してください" + db "@" + +String_17fab0: ; 17fab0 + db "モバイルセンターが" + next "こんでいて つながりません" + next "しばらくまって" + next "かけなおして ください" + next "くわしくは とりあつかい" + next "せつめいしょを ごらんください" + db "@" + +String_17faf9: ; 17faf9 + db "あてさき メールアドレスに" + next "まちがいがあります" + next "ただしい メールアドレスを" + next "いれなおしてください" + db "@" + +String_17fb2a: ; 17fb2a + db "メールアドレスに" + next "まちがいが あります" + next "とりあつかいせつめいしょを" + next "ごらんのうえ" + next "モバイルトレーナーで" + next "しょきとうろくを してください" + db "@" + +String_17fb6e: ; 17fb6e + db "ログインパスワードに" + next "まちがいが あるか" + next "モバイルセンターの エラーです" + next "パスワードを かくにんして" + next "しばらく まって" + next "かけなおして ください" + db "@" + +String_17fbb6: ; 17fbb6 + db "データの よみこみが できません" + next "しばらくまって" + next "かけなおして ください" + next "なおらない ときは" + next "モバイルサポートセンターへ" + next "おといあわせください" + db "@" + +String_17fbfe: ; 17fbfe + db "じかんぎれです" + next "でんわが きれました" + next "でんわを かけなおしてください" + next "くわしくは とりあつかい" + next "せつめいしょを ごらんください" + db "@" + +String_17fc3e: ; 17fc3e + db "ごりよう りょうきんの " + next "おしはらいが おくれたばあいには" + next "ごりようが できなくなります" + next "くわしくは とりあつかい" + next "せつめいしょを ごらんください" + db "@" + +String_17fc88: ; 17fc88 + db "おきゃくさまの ごつごうにより" + next "ごりようできません" + next "くわしくは とりあつかい" + next "せつめいしょを ごらんください" + db "@" + +String_17fcbf: ; 17fcbf + db "でんわかいせんが こんでいるか" + next "モバイルセンターの エラーで" + next "つうしんが できません" + next "しばらく まって" + next "かけなおして ください" + db "@" + +String_17fcff: ; 17fcff + db "ごりよう りょうきんが" + next "じょうげんを こえているため" + next "こんげつは ごりようできません" + next "くわしくは とりあつかい" + next "せつめいしょを ごらんください" + db "@" + +String_17fd47: ; 17fd47 + db "げんざい モバイルセンターの" + next "てんけんを しているので" + next "つうしんが できません" + next "しばらく まって" + next "かけなおして ください" + db "@" + +String_17fd84: ; 17fd84 + db "データの よみこみが できません" + next "くわしくは とりあつかい" + next "せつめいしょを ごらんください" + db "@" + + +String_17fdb2: ; 17fdb2 + db "3ぷん いじょう なにも" + next "にゅうりょく しなかったので" + next "でんわが きれました" + db "@" + +String_17fdd9: ; 17fdd9 + db "つうしんが うまく" + next "できませんでした" + next "もういちど はじめから" + next "やりなおしてください" + db "@" + +String_17fe03: ; 17fe03 + db "データの よみこみが できません" + next "しばらくまって" + next "かけなおして ください" + next "なおらない ときは" + next "モバイルサポートセンターへ" + next "おといあわせください" + db "@" + +String_17fe4b: ; 17fe4b + db "まちじかんが ながいので" + next "でんわが きれました" + db "@" + +String_17fe63: ; 17fe63 + db "あいての モバイルアダプタと" + next "タイプが ちがいます" + next "くわしくは とりあつかい" + next "せつめいしょを ごらんください" + db "@" + +String_17fe9a: ; 17fe9a ; unreferenced + db "ポケモンニュースが" + next "あたらしくなっているので" + next "レポートを おくれません" + next "あたらしい ポケモンニュースの" + next "よみこみを さきに してください" + db "@" + +String_17fedf: ; 17fedf + db "つうしんの じょうきょうが" + next "よくないか かけるあいてが" + next "まちがっています" + next "もういちど かくにんをして" + next "でんわを かけなおして ください" + db "@" +; 17ff23 + +Function17ff23: ; 17ff23 + ld a, [hJoyPressed] + and a + ret z + ld a, $8 + ld [MusicFade], a + ld a, [wMapMusic] + ld [MusicFadeIDLo], a + xor a + ld [MusicFadeIDHi], a + ld hl, wc303 + set 7, [hl] + ret +; 17ff3c + +Function17ff3c: ; 17ff3c + nop + ld a, [wc300] + cp $d0 + ret c + hlcoord 10, 2 + ld de, String_17ff68 + call PlaceString + ld a, [wc300] + push af + sub $d0 + inc a + ld [wc300], a + hlcoord 14, 2 + ld de, wc300 + ld bc, $8103 + call PrintNum + pop af + ld [wc300], a + and a + ret +; 17ff68 + +String_17ff68: ; 17ff68 + db "101@" +; 17ff6c + diff --git a/misc/unused_title.asm b/misc/unused_title.asm new file mode 100644 index 000000000..4364f19a2 --- /dev/null +++ b/misc/unused_title.asm @@ -0,0 +1,559 @@ + +SECTION "bank43", ROMX, BANK[$43] + +UnusedTitleScreen: ; 10c000 + + call WhiteBGMap + call ClearTileMap + call DisableLCD + xor a + ld [hBGMapMode], a + + ld hl, wcf63 + ld [hli], a + ld [hli], a + ld [hli], a + ld [hl], a + + ld hl, UnusedTitleBG_GFX + ld de, VTiles2 + ld bc, $800 + call CopyBytes + + ld hl, UnusedTitleBG_GFX + $800 + ld de, VTiles1 + ld bc, $800 + call CopyBytes + + ld hl, UnusedTitleFG_GFX + ld de, VTiles0 + ld bc, $800 + call CopyBytes + + ld hl, UnusedTitleBG_Tilemap + ld de, VBGMap0 + ld bc, 32 * 32 +.copy + ld a, 0 + ld [rVBK], a + ld a, [hli] + ld [de], a + ld a, 1 + ld [rVBK], a + ld a, [hli] + ld [de], a + inc de + dec bc + ld a, b + or c + jr nz, .copy + + ld hl, UnusedTitleFG_OAM + ld de, Sprites + ld bc, $a0 + call CopyBytes + + call EnableLCD + ld a, [rLCDC] + set 1, a + set 2, a + ld [rLCDC], a + + call DelayFrame + + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + + ld hl, UnsuedTitleBG_Palettes + ld de, Unkn1Pals + ld bc, $40 + call CopyBytes + + ld hl, UnsuedTitleFG_Palettes + ld de, Unkn2Pals + ld bc, $40 + call CopyBytes + + ld hl, UnsuedTitleBG_Palettes + ld de, BGPals + ld bc, $40 + call CopyBytes + + ld hl, UnsuedTitleFG_Palettes + ld de, OBPals + ld bc, $40 + call CopyBytes + + pop af + ld [rSVBK], a + + ld a, $1 + ld [hCGBPalUpdate], a + + ld de, MUSIC_TITLE + call PlayMusic + + ret +; 10c0b1 + +UnusedTitleBG_GFX: ; 10c0b1 +INCBIN "gfx/title/old_bg.2bpp" +; 10d0b1 + +UnusedTitleBG_Tilemap: ; 10d0b1 +; 32x32 (tile, attributes) + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $01,$00, $02,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $03,$00, $04,$00, $05,$01, $06,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $07,$05, $08,$05, $09,$05, $0a,$05, $0b,$00, $0c,$00, $0d,$00, $0e,$00, $0f,$01, $10,$01, $11,$01, $12,$01, $13,$05, $14,$05, $15,$05, $16,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $17,$04, $18,$04, $19,$04, $1a,$04, $1b,$00, $1c,$00, $1d,$02, $1e,$02, $1f,$07, $20,$07, $21,$01, $22,$01, $23,$04, $24,$04, $25,$04, $26,$04, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $27,$04, $28,$04, $29,$04, $2a,$04, $2b,$00, $2c,$00, $2d,$03, $2e,$01, $2f,$01, $30,$01, $31,$01, $32,$01, $33,$04, $34,$04, $35,$04, $36,$04, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $37,$04, $38,$04, $39,$04, $3a,$04, $3b,$00, $3c,$00, $3d,$01, $00,$00, $00,$00, $3e,$07, $3f,$01, $40,$01, $41,$04, $42,$04, $43,$04, $44,$04, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $45,$04, $46,$04, $47,$04, $48,$04, $49,$00, $3c,$00, $4a,$01, $00,$00, $00,$00, $4b,$07, $3f,$01, $4c,$01, $4d,$06, $4e,$06, $4f,$06, $50,$06, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $51,$04, $52,$06, $53,$06, $54,$06, $55,$00, $3c,$00, $56,$01, $00,$00, $00,$00, $57,$07, $58,$01, $59,$01, $5a,$06, $5b,$06, $5c,$06, $5d,$06, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $5e,$06, $5f,$06, $60,$06, $61,$06, $62,$00, $63,$00, $64,$03, $65,$01, $66,$01, $67,$07, $68,$01, $69,$01, $26,$04, $6a,$06, $26,$04, $26,$04, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $6b,$00, $6c,$05, $6d,$05, $6e,$05, $6f,$00, $70,$02, $71,$02, $72,$01, $73,$00, $74,$02, $75,$01, $76,$01, $77,$05, $78,$05, $79,$05, $6b,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $7a,$00, $7b,$00, $7c,$00, $7d,$00, $0f,$01, $7e,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $a2,$00, $80,$00, $81,$00, $82,$00, $83,$00, $84,$07, $85,$01, $86,$01, $87,$01, $88,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $89,$00, $8a,$00, $8b,$00, $8c,$07, $8d,$01, $8e,$01, $8f,$01, $90,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $91,$01, $92,$01, $93,$01, $94,$01, $95,$01, $00,$00, $00,$00, $00,$00, $96,$05, $97,$05, $98,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $99,$05, $9a,$05, $9b,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $9c,$05, $9d,$05, $9e,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $9f,$05, $a0,$05, $a1,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $6b,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 +; 10d8b1 + +UnsuedTitleBG_Palettes: ; 10d8b1 + RGB 00, 00, 00 + RGB 25, 15, 28 + RGB 22, 11, 28 + RGB 19, 08, 26 + + RGB 00, 00, 00 + RGB 17, 07, 22 + RGB 13, 07, 16 + RGB 19, 08, 26 + + RGB 25, 15, 28 + RGB 22, 11, 28 + RGB 19, 08, 26 + RGB 17, 07, 22 + + RGB 22, 11, 28 + RGB 19, 08, 26 + RGB 17, 07, 22 + RGB 13, 07, 16 + + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 16, 16, 24 + RGB 02, 13, 21 + + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 12, 12, 12 + + RGB 00, 00, 00 + RGB 01, 11, 23 + RGB 16, 16, 24 + RGB 02, 13, 21 + + RGB 00, 00, 00 + RGB 22, 10, 31 + RGB 19, 08, 26 + RGB 17, 07, 22 + + + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + + RGB 31, 31, 31 + RGB 20, 04, 20 + RGB 16, 08, 16 + RGB 24, 00, 24 + + rept 54 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + endr +; 10dab1 + +UnusedTitleFG_GFX: ; 10dab1 +INCBIN "gfx/title/old_fg.2bpp" +; 10eab1 + +UnsuedTitleFG_Palettes: ; 10eab1 + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 16, 16, 24 + RGB 02, 13, 21 + + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 12, 12, 12 + + RGB 00, 00, 00 + RGB 01, 11, 23 + RGB 16, 16, 24 + RGB 02, 13, 21 + + RGB 00, 00, 00 + RGB 31, 22, 00 + RGB 31, 27, 00 + RGB 31, 31, 00 + + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 16, 16, 24 + RGB 02, 13, 21 + + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 12, 12, 12 + + RGB 00, 00, 00 + RGB 01, 11, 23 + RGB 16, 16, 24 + RGB 02, 13, 21 + + RGB 16, 31, 00 + RGB 22, 31, 00 + RGB 27, 31, 00 + RGB 31, 31, 00 + + + RGB 31, 00, 18 + RGB 31, 31, 31 + RGB 16, 16, 24 + RGB 02, 13, 21 + + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 12, 12, 12 + + RGB 00, 00, 00 + RGB 01, 11, 23 + RGB 16, 16, 24 + RGB 02, 13, 21 + + RGB 16, 31, 00 + RGB 22, 31, 00 + RGB 27, 31, 00 + RGB 31, 31, 00 + + RGB 24, 18, 31 + RGB 31, 31, 00 + RGB 31, 31, 01 + RGB 31, 31, 03 + + RGB 31, 31, 05 + RGB 31, 31, 08 + RGB 31, 31, 10 + RGB 31, 31, 12 + + RGB 31, 31, 14 + RGB 31, 31, 16 + RGB 31, 31, 18 + RGB 31, 31, 20 + + RGB 31, 31, 22 + RGB 31, 31, 25 + RGB 31, 31, 27 + RGB 31, 31, 29 + + RGB 24, 06, 06 + RGB 01, 01, 01 + RGB 03, 03, 03 + RGB 05, 05, 05 + + RGB 08, 08, 08 + RGB 10, 10, 10 + RGB 12, 12, 12 + RGB 14, 14, 14 + + RGB 16, 16, 16 + RGB 18, 18, 18 + RGB 20, 20, 20 + RGB 22, 22, 22 + + RGB 25, 25, 25 + RGB 27, 27, 27 + RGB 29, 29, 29 + RGB 31, 31, 31 + + RGB 18, 24, 18 + RGB 31, 29, 01 + RGB 31, 27, 03 + RGB 31, 25, 05 + + RGB 31, 22, 08 + RGB 31, 20, 10 + RGB 31, 18, 12 + RGB 31, 16, 14 + + RGB 31, 14, 16 + RGB 31, 12, 18 + RGB 31, 10, 20 + RGB 31, 08, 22 + + RGB 31, 05, 25 + RGB 31, 03, 27 + RGB 31, 01, 29 + RGB 31, 00, 31 + + RGB 18, 06, 31 + RGB 00, 31, 31 + RGB 00, 31, 29 + RGB 00, 31, 27 + + RGB 00, 31, 25 + RGB 00, 31, 22 + RGB 00, 31, 20 + RGB 00, 31, 18 + + RGB 00, 31, 16 + RGB 00, 31, 14 + RGB 00, 31, 12 + RGB 00, 31, 10 + + RGB 00, 31, 08 + RGB 00, 31, 05 + RGB 00, 31, 03 + RGB 00, 31, 01 + + RGB 12, 31, 06 + RGB 00, 00, 31 + RGB 00, 01, 31 + RGB 00, 03, 31 + + RGB 00, 05, 31 + RGB 00, 08, 31 + RGB 00, 10, 31 + RGB 00, 12, 31 + + RGB 00, 14, 31 + RGB 00, 16, 31 + RGB 00, 18, 31 + RGB 00, 20, 31 + + RGB 00, 22, 31 + RGB 00, 25, 31 + RGB 00, 27, 31 + RGB 00, 29, 31 + + RGB 00, 00, 00 + RGB 06, 00, 04 + RGB 19, 02, 09 + RGB 28, 04, 11 + + RGB 31, 07, 16 + RGB 31, 17, 23 + RGB 31, 26, 30 + RGB 07, 05, 10 + + RGB 14, 10, 18 + RGB 20, 20, 25 + RGB 25, 27, 31 + RGB 09, 05, 06 + + RGB 23, 16, 13 + RGB 30, 23, 22 + RGB 31, 28, 28 + RGB 31, 31, 31 + + RGB 06, 31, 31 + RGB 04, 00, 04 + RGB 11, 02, 04 + RGB 17, 02, 04 + + RGB 24, 05, 04 + RGB 28, 07, 04 + RGB 31, 11, 04 + RGB 02, 01, 15 + + RGB 04, 11, 22 + RGB 12, 25, 25 + RGB 20, 31, 31 + RGB 09, 04, 03 + + RGB 22, 11, 08 + RGB 27, 19, 16 + RGB 30, 28, 26 + RGB 31, 31, 31 + + RGB 06, 18, 06 + RGB 04, 04, 02 + RGB 07, 07, 02 + RGB 18, 18, 04 + + RGB 24, 24, 06 + RGB 27, 27, 11 + RGB 31, 31, 20 + RGB 02, 03, 10 + + RGB 04, 05, 13 + RGB 06, 10, 25 + RGB 08, 15, 31 + RGB 04, 00, 06 + + RGB 11, 07, 14 + RGB 21, 16, 23 + RGB 29, 26, 31 + RGB 31, 31, 31 + + RGB 06, 00, 18 + RGB 00, 04, 03 + RGB 02, 09, 05 + RGB 11, 19, 07 + + RGB 16, 24, 08 + RGB 22, 31, 09 + RGB 24, 31, 18 + RGB 03, 01, 03 + + RGB 10, 04, 10 + RGB 20, 08, 20 + RGB 31, 17, 31 + RGB 01, 03, 06 + + RGB 05, 09, 10 + RGB 15, 21, 21 + RGB 23, 25, 25 + RGB 31, 31, 31 + + RGB 00, 18, 31 + RGB 00, 05, 07 + RGB 00, 08, 13 + RGB 00, 12, 17 + + RGB 01, 20, 24 + RGB 04, 27, 31 + RGB 14, 31, 31 + RGB 04, 02, 02 + + RGB 15, 01, 03 + RGB 26, 04, 07 + RGB 31, 13, 16 + RGB 00, 05, 02 + + RGB 01, 11, 03 + RGB 06, 21, 06 + RGB 13, 31, 16 + RGB 31, 31, 31 + + RGB 00, 06, 06 + RGB 00, 01, 08 + RGB 00, 05, 14 + RGB 00, 08, 19 + + RGB 02, 14, 26 + RGB 04, 21, 31 + RGB 06, 26, 31 + RGB 13, 00, 00 + + RGB 27, 07, 00 + RGB 31, 17, 05 + RGB 31, 25, 16 + RGB 02, 04, 00 + + RGB 07, 11, 03 + RGB 17, 19, 05 + RGB 27, 31, 16 + RGB 31, 31, 31 + + RGB 02, 00, 00 + RGB 04, 01, 06 + RGB 11, 03, 14 + RGB 16, 04, 19 + + RGB 20, 07, 22 + RGB 26, 12, 27 + RGB 26, 20, 31 + RGB 04, 07, 00 + + RGB 16, 20, 07 + RGB 24, 28, 15 + RGB 29, 31, 24 + RGB 05, 02, 02 + + RGB 15, 04, 02 + RGB 24, 11, 10 + RGB 31, 22, 20 + RGB 31, 31, 31 + + RGB 00, 00, 14 + RGB 12, 00, 00 + RGB 27, 05, 00 + RGB 31, 15, 05 + + RGB 31, 26, 13 + RGB 31, 30, 21 + RGB 05, 07, 16 + RGB 04, 16, 20 + + RGB 04, 24, 26 + RGB 08, 31, 31 + RGB 23, 31, 31 + RGB 00, 00, 00 + + RGB 05, 05, 05 + RGB 17, 17, 15 + RGB 28, 28, 24 + RGB 31, 31, 31 +; 10ecb1 + +UnusedTitleFG_OAM: ; 10ecb1 + db $18, $38, $00, $01, $18, $40, $02, $01, $18, $48, $04, $01, $18, $50, $06, $01 + db $18, $58, $08, $01, $18, $60, $0a, $01, $18, $68, $0c, $01, $18, $70, $0e, $01 + + db $28, $38, $10, $00, $28, $40, $12, $00, $28, $48, $14, $00, $28, $50, $16, $00 + db $28, $58, $18, $00, $28, $60, $1a, $00, $28, $68, $1c, $00, $28, $70, $1e, $00 + + db $38, $38, $20, $00, $38, $40, $22, $00, $38, $48, $24, $00, $38, $50, $26, $00 + db $38, $58, $28, $00, $38, $60, $2a, $00, $38, $68, $2c, $00, $38, $70, $2e, $00 + + db $48, $38, $30, $02, $48, $40, $32, $02, $48, $48, $34, $02, $48, $50, $36, $02 + db $48, $58, $38, $02, $48, $60, $3a, $02, $48, $68, $3c, $02, $48, $70, $3e, $02 + + db $58, $38, $40, $01, $58, $40, $42, $01, $58, $48, $44, $01, $58, $50, $46, $01 + db $58, $58, $48, $01, $58, $60, $4a, $01, $58, $68, $4c, $01, $58, $70, $4e, $01 +; 10ed51 + + +Function10ed51: ; 10ed51 + call _TitleScreen +.loop + call Functiona57 + ld a, [$ffa9] + ld b, a + and 1 + jr nz, .done + call Function10eea7 + call DelayFrame + jr .loop +.done + ret +; 10ed67 |