diff options
Diffstat (limited to 'misc')
-rw-r--r-- | misc/crystal_misc.asm | 102 | ||||
-rw-r--r-- | misc/mobile_22.asm | 4435 | ||||
-rw-r--r-- | misc/mobile_22_2.asm | 1155 | ||||
-rw-r--r-- | misc/mobile_40.asm | 84 | ||||
-rw-r--r-- | misc/mobile_42.asm | 60 | ||||
-rw-r--r-- | misc/mobile_45.asm | 436 | ||||
-rw-r--r-- | misc/mobile_5f.asm | 32 | ||||
-rw-r--r-- | misc/unused_title.asm | 14 |
8 files changed, 5978 insertions, 340 deletions
diff --git a/misc/crystal_misc.asm b/misc/crystal_misc.asm index 45eda5c7f..4844c826c 100644 --- a/misc/crystal_misc.asm +++ b/misc/crystal_misc.asm @@ -19,6 +19,7 @@ Function17a68f:: ; 17a68f (5e:668f) pop de xor a ret + .asm_17a6a6 scf ret @@ -82,6 +83,7 @@ Function17a713: ; 17a713 (5e:6713) inc c and a ret + .asm_17a71d ld [hl], $ff scf @@ -113,10 +115,12 @@ Function17a721: ; 17a721 (5e:6721) dec b jr nz, .asm_17a732 ret + .asm_17a748 ld a, $ff ld [de], a ret + .asm_17a74c ld a, $f0 or c @@ -151,13 +155,13 @@ Function17a770: ; 17a770 (5e:6770) ret Function17a781: ; 17a781 (5e:6781) - ld a, [$ffaa] + ld a, [hInMenu] push af ld a, $1 - ld [$ffaa], a - call Functiona57 + ld [hInMenu], a + call JoyTextDelay pop af - ld [$ffaa], a + ld [hInMenu], a ret Function17a78f: ; 17a78f (5e:678f) @@ -167,6 +171,7 @@ Function17a78f: ; 17a78f (5e:678f) jr nz, .asm_17a79f callba Function10402d ret + .asm_17a79f callba Function104061 ret @@ -261,7 +266,7 @@ Function17a81a: ; 17a81a (5e:681a) ret Function17a83c: ; 17a83c (5e:683c) - ld a, [$ffa9] + ld a, [hJoyLast] and $f0 ld c, a ld a, [hJoyPressed] ; $ff00+$a7 @@ -297,41 +302,49 @@ Function17a848: ; 17a848 (5e:6848) jr nz, .asm_17a8a7 xor a ret + .asm_17a876 ld a, $9 call Function17aad0 scf ret + .asm_17a87d ld a, $a call Function17aad0 scf ret + .asm_17a884 ld a, $b call Function17aad0 scf ret + .asm_17a88b ld a, $c call Function17aad0 scf ret + .asm_17a892 ld a, $5 call Function17aad0 scf ret + .asm_17a899 ld a, $6 call Function17aad0 scf ret + .asm_17a8a0 ld a, $7 call Function17aad0 scf ret + .asm_17a8a7 ld a, $8 call Function17aad0 @@ -347,6 +360,7 @@ Function17a8ae: ; 17a8ae (5e:68ae) jr nz, .asm_17a8d7 xor a ret + .asm_17a8bc ld a, $b ld [$d08a], a @@ -355,12 +369,14 @@ Function17a8ae: ; 17a8ae (5e:68ae) call Function17aa88 scf ret + .asm_17a8cc call Function17aad7 call Function17aa98 call Function17a8de scf ret + .asm_17a8d7 ld a, $c call Function17aad3 @@ -383,16 +399,19 @@ Function17a8de: ; 17a8de (5e:68de) ld [$d087], a call Function17aa88 ret + .asm_17a8fd call Function17a943 call Function17aa88 ret + .asm_17a904 call Function17aad7 call Function17aa98 call Function17a91e call Function17aa88 ret + .asm_17a911 call Function17aa98 ld a, $5 @@ -409,6 +428,7 @@ Function17a91e: ; 17a91e (5e:691e) ld [$d087], a xor a ret + .asm_17a92c call LoadMenuDataHeader_0x1d75 call Function17a99e @@ -436,6 +456,7 @@ Function17a943: ; 17a943 (5e:6943) ld [$d087], a and a ret + .asm_17a95d ld a, $5 ld [$d087], a @@ -455,6 +476,7 @@ Function17a964: ; 17a964 (5e:6964) ld [hl], e and a ret + .asm_17a979 scf ret @@ -479,6 +501,7 @@ Function17a97b: ; 17a97b (5e:697b) dec c jr nz, .asm_17a990 ret + .asm_17a99d ret @@ -503,12 +526,13 @@ Function17a9cb: ; 17a9cb (5e:69cb) ld de, Sprites ; $c400 ld hl, $d088 bit 6, [hl] - jr nz, .asm_17a9df + jr nz, .bit_6_set call Function17a9e3 call Function17aa22 call Function17a9f5 ret -.asm_17a9df + +.bit_6_set call Function17a9e3 ret @@ -533,9 +557,9 @@ Function17a9f5: ; 17a9f5 (5e:69f5) ld [$d08e], a ld a, [$d08c] cp $10 - jr c, .asm_17aa0f + jr c, .okay dec a -.asm_17aa0f +.okay ld c, $8 call SimpleMultiply add $18 @@ -581,7 +605,7 @@ Function17aa4a: ; 17aa4a (5e:6a4a) add $10 ld c, a ld a, [hli] -.asm_17aa56 +.loop push af ld a, [hli] add c @@ -603,7 +627,7 @@ Function17aa4a: ; 17aa4a (5e:6a4a) inc de pop af dec a - jr nz, .asm_17aa56 + jr nz, .loop ret ; 17aa72 (5e:6a72) @@ -662,7 +686,7 @@ rept 2 ld [hli], a endr pop hl - ld de, $14 + ld de, SCREEN_WIDTH add hl, de rept 2 ld [hli], a @@ -721,17 +745,21 @@ Function17aba0: ; 17aba0 (5e:6ba0) push af ld a, $1 ld [rVBK], a ; $ff00+$4f - ld hl, $9000 + + ld hl, VTiles5 tile $00 ld de, GFX_17afa5 lb bc, BANK(GFX_17afa5), $80 call Get2bpp + pop af ld [rVBK], a ; $ff00+$4f - ld hl, $8000 + + ld hl, VTiles0 tile $00 ld de, GFX_17afa5 + $4c0 lb bc, BANK(GFX_17afa5), 5 call Get2bpp - ld hl, $8050 + + ld hl, VTiles0 tile $05 ld de, GFX_11601a lb bc, BANK(GFX_11601a), 4 call Get2bpp @@ -740,25 +768,30 @@ Function17aba0: ; 17aba0 (5e:6ba0) Function17abcf: ; 17abcf (5e:6bcf) ld a, [rSVBK] ; $ff00+$70 push af - ld a, $5 + ld a, BANK(Unkn1Pals) ld [rSVBK], a ; $ff00+$70 + ld hl, Palette_17ac55 ld de, Unkn1Pals ; $d000 ld bc, $30 call CopyBytes + ld hl, Palette_17ac95 ld de, Unkn2Pals ld bc, $40 call CopyBytes + ld hl, GFX_17afa5 + $510 - ld de, $d048 + ld de, Unkn2Pals + 2 * 4 ld bc, $10 call CopyBytes + ld hl, MapObjectPals + 8 - ld de, $d058 + ld de, Unkn2Pals + 6 * 4 ld bc, $8 ld a, BANK(MapObjectPals) call FarCopyBytes + pop af ld [rSVBK], a ; $ff00+$70 ret @@ -767,42 +800,43 @@ Function17ac0c: ; 17ac0c (5e:6c0c) call Function17ac1d call Function17ac2a hlcoord 0, 0 - ld b, $2 - ld c, $12 + ld b, 2 + ld c, SCREEN_WIDTH - 2 call Function17ac46 ret Function17ac1d: ; 17ac1d (5e:6c1d) ld hl, Tilemap_17acd5 decoord 0, 4 - ld bc, $118 + ld bc, (SCREEN_HEIGHT - 4) * SCREEN_WIDTH call CopyBytes ret Function17ac2a: ; 17ac2a (5e:6c2a) ld hl, Tilemap_17ae3d decoord 0, 4, AttrMap - ld bc, $118 + ld bc, (SCREEN_HEIGHT - 4) * SCREEN_WIDTH call CopyBytes hlcoord 0, 4, AttrMap - ld bc, $118 -.asm_17ac3c + ld bc, (SCREEN_HEIGHT - 4) * SCREEN_WIDTH +.loop ld a, [hl] or $8 ld [hli], a dec bc ld a, b or c - jr nz, .asm_17ac3c + jr nz, .loop ret Function17ac46: ; 17ac46 (5e:6c46) ld a, [$d088] bit 4, a - jr nz, .asm_17ac51 + jr nz, .bit_4_set call TextBox ret -.asm_17ac51 + +.bit_4_set call Function3eea ret ; 17ac55 (5e:6c55) @@ -812,30 +846,37 @@ Palette_17ac55: ; 17ac55 RGB 9, 10, 25 RGB 16, 19, 31 RGB 31, 31, 31 + RGB 5, 11, 9 RGB 7, 14, 12 RGB 17, 24, 22 RGB 28, 31, 31 + RGB 0, 0, 0 RGB 3, 0, 10 RGB 3, 3, 16 RGB 6, 8, 25 + RGB 5, 11, 9 RGB 28, 31, 31 RGB 7, 14, 12 RGB 17, 24, 22 + RGB 0, 0, 0 RGB 5, 2, 16 RGB 8, 8, 26 RGB 13, 9, 17 + 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 @@ -846,30 +887,37 @@ Palette_17ac95: ; 17ac95 RGB 4, 3, 3 RGB 31, 13, 0 RGB 31, 31, 31 + RGB 31, 31, 31 RGB 0, 0, 0 RGB 31, 31, 31 RGB 31, 31, 31 + RGB 31, 0, 0 RGB 16, 3, 0 RGB 28, 19, 11 RGB 31, 31, 31 + RGB 31, 16, 0 RGB 9, 6, 4 RGB 31, 16, 0 RGB 31, 24, 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 0, 31, 0 RGB 3, 31, 0 RGB 8, 31, 0 RGB 14, 31, 0 + RGB 16, 31, 0 RGB 22, 31, 0 RGB 27, 31, 0 diff --git a/misc/mobile_22.asm b/misc/mobile_22.asm new file mode 100644 index 000000000..1f883a944 --- /dev/null +++ b/misc/mobile_22.asm @@ -0,0 +1,4435 @@ + +String_8911c: ; 8911c + db "でんわばんごうが ただしく" ; Phone number is not + next "はいって いません!@" ; entered correctly! +; 89135 + +String_89135: ; 89135 + db "データが かわって いますが" ; The data has changed. + next "かきかえないで やめますか?@" ; Quit anyway? +; 89153 + +String_89153: ; 89153 + db "メッセージは ありません@" ; No message +; 89160 + +OpenSRAMBank4: ; 89160 + push af + ld a, $4 + call GetSRAMBank + pop af + ret +; 89168 + + +Function89168: ; 89168 (22:5168) + ld hl, GameTimerPause + set 7, [hl] + ret + +Function8916e: ; 8916e (22:516e) + ld hl, GameTimerPause + res 7, [hl] + ret + +Function89174: ; 89174 (22:5174) + ld hl, GameTimerPause + bit 7, [hl] + ret + +Function8917a: ; 8917a (22:517a) + ld hl, DefaultFlypoint + ld bc, $32 + xor a + call ByteFill + ret + +Function89185: ; 89185 (22:5185) +; Compares c bytes starting at de and hl and incrementing together until a match is found. + push de + push hl +.loop + ld a, [de] + inc de + cp [hl] + jr nz, .done + inc hl + dec c + jr nz, .loop +.done + pop hl + pop de + ret + +Function89193: ; 89193 +; Copies c bytes from hl to de. + push de + push hl +.loop + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .loop + pop hl + pop de + ret +; 8919e + + +Function8919e: ; 8919e (22:519e) +; Searches for the c'th string starting at de. Returns the pointer in de. + ld a, c + and a + ret z +.loop + ld a, [de] + inc de + cp "@" + jr nz, .loop + dec c + jr nz, .loop + ret + +Function891ab: ; 891ab + call Function89240 + callba Function104061 + call Function8923c + ret +; 891b8 + +Function891b8: ; 891b8 + call Function8923c + hlcoord 0, 0 + ld a, " " + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + call ByteFill + call DelayFrame + ret +; 891ca + + +Function891ca: ; 891ca (22:51ca) + push bc + call Function891b8 + call WaitBGMap + pop bc + ret + +Function891d3: ; 891d3 (22:51d3) + push bc + call Function891ca + ld c, $10 + call DelayFrames + pop bc + ret + +Function891de: ; 891de + call Function8923c + call ClearPalettes + hlcoord 0, 0, AttrMap + ld a, $7 + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + call ByteFill + hlcoord 0, 0 + ld a, " " + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + call ByteFill + call Function891ab + ret +; 891fe + +Function891fe: ; 891fe + push bc + call Function891de + ld c, $10 + call DelayFrames + pop bc + ret +; 89209 + +Function89209: ; 89209 + ld a, 1 + ld [wc2ce], a + ret +; 8920f + +Function8920f: ; 8920f + ld a, 0 + ld [wc2ce], a + ret +; 89215 + +Function89215: ; 89215 + push hl + push bc + ld bc, AttrMap - TileMap + add hl, bc + ld [hl], a + pop bc + pop hl + ret +; 8921f + + +Function8921f: ; 8921f (22:521f) + push de + ld de, SCREEN_WIDTH + add hl, de + inc hl + ld a, $7f +.loop + push bc + push hl +.asm_89229 + ld [hli], a + dec c + jr nz, .asm_89229 + pop hl + add hl, de + pop bc + dec b + jr nz, .loop + pop de + ret + +Function89235: ; 89235 (22:5235) + call JoyWaitAorB + call PlayClickSFX + ret + +Function8923c: ; 8923c + xor a + ld [hBGMapMode], a + ret +; 89240 + +Function89240: ; 89240 + ld a, $1 + ld [hBGMapMode], a + ret +; 89245 + + +Function89245: ; 89245 (22:5245) + callba TryLoadSaveFile + ret c + callba Function150b9 + and a + ret + +Function89254: ; 89254 (22:5254) + ld bc, $d07 + jr Function89261 + +Function89259: ; 89259 + ld bc, $0e07 + jr Function89261 + +Function8925e: ; 8925e + ld bc, $0e0c + +Function89261: ; 89261 + push af + push bc + ld hl, MenuDataHeader_0x892a3 + call CopyMenuDataHeader + pop bc + ld hl, wMenuBorderTopCoord + ld a, c + ld [hli], a + ld a, b + ld [hli], a + ld a, c + add $4 + ld [hli], a + ld a, b + add $5 + ld [hl], a + pop af + ld [wPocketCursorBuffer], a + call BackUpTiles + call Function8923c + call Function89209 + call InterpretMenu2 + push af + ld c, $a + call DelayFrames + call WriteBackup + call Function8920f + pop af + jr c, .done + ld a, [wcfa9] + cp $2 + jr z, .done + and a + ret + +.done + scf + ret +; 892a3 + +MenuDataHeader_0x892a3: ; 0x892a3 + db $40 ; flags + db 05, 10 ; start coords + db 09, 15 ; end coords + dw MenuData2_0x892ab + db 1 ; default option +; 0x892ab + +MenuData2_0x892ab: ; 0x892ab + db $c0 ; flags + db 2 ; items + db "はい@" + db "いいえ@" +; 0x892b4 + +Function892b4: ; 892b4 (22:52b4) + call Function8931b + +Function892b7: ; 892b7 + ld d, b + ld e, c + ld hl, 0 + add hl, bc + ld a, "@" + ld bc, 6 + call ByteFill + ld b, d + ld c, e + ld hl, 6 + add hl, bc + ld a, "@" + ld bc, 6 + call ByteFill + ld b, d + ld c, e + ld hl, 12 + add hl, bc + xor a + ld [hli], a + ld [hl], a + ld hl, 14 + add hl, bc + ld [hli], a + ld [hl], a + ld hl, 16 + add hl, bc + ld [hl], a + ld hl, 17 + add hl, bc + ld a, -1 + ld bc, 8 + call ByteFill + ld b, d + ld c, e + ld e, 6 + ld hl, 25 + add hl, bc +.loop + ld a, -1 + ld [hli], a + ld a, -1 + ld [hli], a + dec e + jr nz, .loop + ret +; 89305 + + +Function89305: ; 89305 (22:5305) + xor a + ld [MenuSelection], a + ld c, 40 +.loop + ld a, [MenuSelection] + inc a + ld [MenuSelection], a + push bc + call Function892b4 + pop bc + dec c + jr nz, .loop + ret + +Function8931b: ; 8931b + push hl + ld hl, $a03b + ld a, [MenuSelection] + dec a + ld bc, $0025 + call AddNTimes + ld b, h + ld c, l + pop hl + ret +; 8932d + +Function8932d: ; 8932d + ld hl, 0 + add hl, bc + +Function89331: ; 89331 +; Scans up to 5 characters starting at hl, looking for a nonspace character up to the next terminator. Sets carry if it does not find a nonspace character. Returns the location of the following character in hl. + push bc + ld c, 5 +.loop + ld a, [hli] + cp "@" + jr z, .terminator + cp " " + jr nz, .nonspace + dec c + jr nz, .loop + +.terminator + scf + jr .done + +.nonspace + and a + +.done + pop bc + ret +; 89346 + + +Function89346: ; 89346 (22:5346) + ld h, b + ld l, c + jr _incave + +Function8934a: ; 8934a + ld hl, 6 + add hl, bc +_incave: +; Scans up to 5 characters starting at hl, looking for a nonspace character up to the next terminator. Sets carry if it does not find a nonspace character. Returns the location of the following character in hl. + push bc + ld c, 5 +.loop + ld a, [hli] + cp "@" + jr z, .terminator + cp " " + jr nz, .nonspace + dec c + jr nz, .loop + +.terminator + scf + jr .done + +.nonspace + and a + +.done + pop bc + ret +; 89363 + +Function89363: ; 89363 +; Scans six byte pairs starting at bc to find $ff. Sets carry if it does not find a $ff. Returns the location of the byte after the first $ff found in hl. + ld h, b + ld l, c + jr ._incave + + ld hl, 25 + add hl, bc + +._incave + push de + ld e, 6 +.loop + ld a, [hli] + cp -1 + jr nz, .ok + ld a, [hli] + cp -1 + jr nz, .ok + dec e + jr nz, .loop + scf + jr .done + +.ok + and a + +.done + pop de + ret +; 89381 + +Function89381: ; 89381 + push bc + push de + call Function89b45 + jr c, .ok + push hl + ld a, -1 + ld bc, 8 + call ByteFill + pop hl + +.ok + pop de + ld c, 8 + call Function89193 + pop bc + ret +; 8939a + +Function8939a: ; 8939a + push bc + ld hl, 0 + add hl, bc + ld de, DefaultFlypoint + ld c, 6 + call Function89193 + pop bc + ld hl, 17 + add hl, bc + ld de, wd008 + call Function89381 + ret +; 893b3 + + +Function893b3: ; 893b3 (22:53b3) + call DisableLCD + call ClearSprites + call Functione51 + call Functione5f + call Function893ef + call Function8942b + call Function89455 + call EnableLCD + ret + +Function893cc: ; 893cc + call DisableLCD + call ClearSprites + call Functione51 + call Functione5f + call Function893ef + call Function89464 + call EnableLCD + ret +; 893e2 + + +Function893e2: ; 893e2 (22:53e2) + call Function89b1e + call Function893b3 + call Function8a5b6 + call Function8949c + ret + +Function893ef: ; 893ef + ld de, VTiles0 + ld hl, GFX_8940b + ld bc, $20 + ld a, BANK(GFX_8940b) + call FarCopyBytes + ret +; 893fe + +Function893fe: ; 893fe + call DisableLCD + call Function893ef + call EnableLCD + call DelayFrame + ret +; 8940b + +GFX_8940b: ; 8940b +INCBIN "gfx/unknown/08940b.2bpp" +; 8942b + +Function8942b: ; 8942b (22:542b) + ld de, VTiles0 tile $02 + ld hl, MobileAdapterGFX + $7d0 + ld bc, $80 + ld a, BANK(MobileAdapterGFX) + call FarCopyBytes + ld de, VTiles0 tile $0a + ld hl, MobileAdapterGFX + $c60 + ld bc, $40 + ld a, BANK(MobileAdapterGFX) + call FarCopyBytes + ret + +Function89448: ; 89448 (22:5448) +; Clears the Sprites array + push af + ld hl, Sprites + ld d, $10 * 6 + xor a +.loop + ld [hli], a + dec d + jr nz, .loop + pop af + ret + +Function89455: ; 89455 (22:5455) + ld hl, MobileAdapterGFX + $7d0 + ld de, VTiles2 tile $0c + ld bc, $490 + ld a, BANK(MobileAdapterGFX) + call FarCopyBytes + ret + +Function89464: ; 89464 + ld hl, MobileAdapterGFX + ld de, VTiles2 + ld bc, $200 + ld a, BANK(MobileAdapterGFX) + call FarCopyBytes + ld hl, MobileAdapterGFX + $660 + ld de, VTiles2 tile $20 + ld bc, $170 + ld a, BANK(MobileAdapterGFX) + call FarCopyBytes + ret +; 89481 + +Function89481: ; 89481 + ld d, 2 + call Function8934a + ret c + ld d, 0 + ld hl, 16 + add hl, bc + bit 0, [hl] + ret z + inc d + ret +; 89492 + + +Function89492: ; 89492 (22:5492) + ld d, 0 + ld a, [PlayerGender] + bit 0, a + ret z + inc d + ret + +Function8949c: ; 8949c + ld a, [rSVBK] + push af + ld a, 5 + ld [rSVBK], a + ld hl, Palette_894b3 + ld de, Unkn1Pals + 8 * 7 + ld bc, 8 + call CopyBytes + pop af + ld [rSVBK], a + ret +; 894b3 + +Palette_894b3: ; 894b3 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 00, 00, 00 +; 894bb + +Function894bb: ; 894bb + call Function894dc + push bc + call Function8956f + call Function8949c + call Function8a60d + pop bc + ret +; 894ca + + +Function894ca: ; 894ca (22:54ca) + push bc + call Function894dc + call Function895c7 + call Function8949c + call Function8a60d + call SetPalettes + pop bc + ret + +Function894dc: ; 894dc + push bc + ld a, [rSVBK] + push af + ld a, 5 + ld [rSVBK], a + ld c, d + ld b, 0 + ld hl, Unknown_89509 +rept 2 + add hl, bc +endr + ld a, [hli] + ld h, [hl] + ld l, a + ld de, Unkn1Pals + ld bc, 24 + call CopyBytes + ld hl, Palette_89557 + ld de, wd018 + ld bc, 24 + call CopyBytes + pop af + ld [rSVBK], a + pop bc + ret +; 89509 + +Unknown_89509: ; 89509 + dw Palette_8950f + dw Palette_89527 + dw Palette_8953f +; 8950f + +Palette_8950f: ; 8950f + RGB 31, 31, 31 + RGB 10, 17, 13 + RGB 10, 08, 22 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 16, 20, 31 + RGB 10, 08, 22 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 16, 20, 31 + RGB 10, 17, 13 + RGB 00, 00, 00 + +Palette_89527: ; 89527 + RGB 31, 31, 31 + RGB 30, 22, 11 + RGB 31, 08, 15 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 16, 20, 31 + RGB 31, 08, 15 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 16, 20, 31 + RGB 30, 22, 11 + RGB 00, 00, 00 + +Palette_8953f: ; 8953f + RGB 31, 31, 31 + RGB 15, 20, 26 + RGB 25, 07, 20 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 16, 20, 31 + RGB 25, 07, 20 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 16, 20, 31 + RGB 15, 20, 26 + RGB 00, 00, 00 + +Palette_89557: ; 89557 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 13, 00 + RGB 14, 08, 00 + + RGB 31, 31, 31 + RGB 16, 16, 31 + RGB 00, 00, 31 + RGB 00, 00, 00 + + RGB 19, 31, 11 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 +; 8956f + +Function8956f: ; 8956f + push bc + ld hl, 16 + add hl, bc + ld d, h + ld e, l + ld hl, $000c + add hl, bc + ld b, h + ld c, l + callba Function4e929 + ld a, c + ld [TrainerClass], a + ld a, [rSVBK] + push af + ld a, 5 + ld [rSVBK], a + ld hl, wd030 + ld a, -1 + ld [hli], a + ld a, " " + ld [hl], a + pop af + ld [rSVBK], a + ld a, [TrainerClass] + ld h, 0 + ld l, a +rept 2 + add hl, hl +endr + ld de, TrainerPalettes + add hl, de + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld de, wd032 + ld c, 4 +.loop + ld a, BANK(TrainerPalettes) + call GetFarByte + ld [de], a + inc de + inc hl + dec c + jr nz, .loop + ld hl, wd036 + xor a + ld [hli], a + ld [hl], a + pop af + ld [rSVBK], a + pop bc + ret +; 895c7 + + +Function895c7: ; 895c7 (22:55c7) + ld a, [rSVBK] ; $ff00+$70 + push af + ld a, 5 + ld [rSVBK], a ; $ff00+$70 + ld hl, Palette_895de + ld de, wd030 + ld bc, 8 + call CopyBytes + pop af + ld [rSVBK], a ; $ff00+$70 + ret +; 895de (22:55de) + +Palette_895de: ; 895de + RGB 31, 31, 31 + RGB 07, 07, 06 + RGB 07, 07, 06 + RGB 00, 00, 00 +; 895e6 + +Function895e6: ; 895e6 + ld a, 7 + hlcoord 0, 0, AttrMap + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + call ByteFill + ret +; 895f2 + +Function895f2: ; 895f2 + push bc + xor a + hlcoord 0, 0, AttrMap + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + call ByteFill + call Function89605 + call Function89655 + pop bc + ret +; 89605 + +Function89605: ; 89605 + hlcoord 19, 2, AttrMap + ld a, 1 + ld de, SCREEN_WIDTH + ld c, 14 +.loop + ld [hl], a + dec c + jr z, .done + add hl, de + inc a + ld [hl], a + dec a + add hl, de + dec c + jr nz, .loop + +.done + hlcoord 0, 16, AttrMap + ld c, 10 + ld a, 2 +.loop2 + ld [hli], a + dec a + ld [hli], a + inc a + dec c + jr nz, .loop2 + hlcoord 1, 11, AttrMap + ld a, 4 + ld bc, 4 + call ByteFill + ld a, 5 + ld bc, 14 + call ByteFill + ret +; 8963d + +Function8963d: ; 8963d + hlcoord 12, 3, AttrMap + ld a, 6 + ld de, SCREEN_WIDTH + lb bc, 7, 7 +.loop + push hl + ld c, 7 +.next + ld [hli], a + dec c + jr nz, .next + pop hl + add hl, de + dec b + jr nz, .loop + ret +; 89655 + +Function89655: ; 89655 + hlcoord 1, 12, AttrMap + ld de, SCREEN_WIDTH + ld a, 5 + ld b, 4 +.loop + ld c, 18 + push hl +.next + ld [hli], a + dec c + jr nz, .next + pop hl + add hl, de + dec b + jr nz, .loop + ret +; 8966c + +Function8966c: ; 8966c + push bc + call Function89688 + hlcoord 4, 0 + ld c, 8 + call Function896f5 + pop bc + ret +; 8967a + + +Function8967a: ; 8967a (22:567a) + push bc + call Function89688 + hlcoord 2, 0 + ld c, 12 + call Function896f5 + pop bc + ret + +Function89688: ; 89688 + hlcoord 0, 0 + ld a, 1 + ld e, SCREEN_WIDTH + call Function896e1 + ld a, 2 + ld e, SCREEN_WIDTH + call Function896eb + ld a, 3 + ld [hli], a + ld a, 4 + ld e, SCREEN_HEIGHT + call Function896e1 + ld a, 6 + ld [hli], a + push bc + ld c, 13 +.loop + call Function896cb + dec c + jr z, .done + call Function896d6 + dec c + jr nz, .loop + +.done + pop bc + ld a, 25 + ld [hli], a + ld a, 26 + ld e, SCREEN_HEIGHT + call Function896e1 + ld a, 28 + ld [hli], a + ld a, 2 + ld e, SCREEN_WIDTH + call Function896eb + ret +; 896cb + +Function896cb: ; 896cb + ld de, SCREEN_WIDTH - 1 + ld a, 7 + ld [hl], a + add hl, de + ld a, 9 + ld [hli], a + ret +; 896d6 + +Function896d6: ; 896d6 + ld de, SCREEN_WIDTH - 1 + ld a, 10 + ld [hl], a + add hl, de + ld a, 11 + ld [hli], a + ret +; 896e1 + +Function896e1: ; 896e1 +.loop + ld [hli], a + inc a + dec e + ret z + ld [hli], a + dec a + dec e + jr nz, .loop + ret +; 896eb + +Function896eb: ; 896eb +.loop + ld [hli], a + dec a + dec e + ret z + ld [hli], a + inc a + dec e + jr nz, .loop + ret +; 896f5 + +Function896f5: ; 896f5 + call Function8971f + call Function89736 +rept 2 + inc hl +endr + ld b, 2 + +ClearScreenArea: ; 0x896ff +; clears an area of the screen +; INPUT: +; hl = address of upper left corner of the area +; b = height +; c = width + + ld a, " " ; blank tile + ld de, 20 ; screen width +.loop + push bc + push hl +.innerLoop + ld [hli], a + dec c + jr nz, .innerLoop + pop hl + pop bc + add hl, de + dec b + jr nz, .loop + + dec hl +rept 2 + inc c +endr +.asm_89713 + ld a, $36 + ld [hli], a + dec c + ret z + ld a, $18 + ld [hli], a + dec c + jr nz, .asm_89713 ; 0x8971c $f5 + ret +; 0x8971f + +Function8971f: ; 8971f + ld a, $2c + ld [hli], a + ld a, $2d + ld [hld], a + push hl + ld de, SCREEN_WIDTH + add hl, de + ld a, $31 + ld [hli], a + ld a, $32 + ld [hld], a + add hl, de + ld a, $35 + ld [hl], a + pop hl + ret +; 89736 + +Function89736: ; 89736 + push hl +rept 2 + inc hl +endr + ld e, c + ld d, $0 + add hl, de + ld a, $2f + ld [hli], a + ld a, $30 + ld [hld], a + ld de, SCREEN_WIDTH + add hl, de + ld a, $33 + ld [hli], a + ld a, $34 + ld [hl], a + add hl, de + ld a, $1f + ld [hl], a + pop hl + ret +; 89753 + +Function89753: ; 89753 + ld a, $c + ld [hl], a + xor a + call Function89215 + ret +; 8975b + +Function8975b: ; 8975b + ld a, $1d + ld [hli], a + inc a + ld [hli], a + ld a, $d + ld [hl], a +rept 2 + dec hl +endr + ld a, $4 + ld e, $3 +.asm_89769 + call Function89215 + inc hl + dec e + jr nz, .asm_89769 + ret +; 89771 + +Function89771: ; 89771 + ld a, $12 + ld [hl], a + ld a, $3 + call Function89215 + ret +; 8977a + +Function8977a: ; 8977a + ld e, $4 + ld d, $13 +.asm_8977e + ld a, d + ld [hl], a + ld a, $4 + call Function89215 + inc hl + inc d + dec e + jr nz, .asm_8977e + ld e, $e +.asm_8978c + ld a, d + ld [hl], a + xor a + call Function89215 + inc hl + dec e + jr nz, .asm_8978c + ret +; 89797 + +Function89797: ; 89797 + push bc + ld a, $e + ld [hl], a + ld bc, SCREEN_WIDTH + add hl, bc + ld a, $11 + ld [hli], a + ld a, $10 + ld c, $8 +.asm_897a6 + ld [hli], a + dec c + jr nz, .asm_897a6 + ld a, $f + ld [hl], a + pop bc + ret +; 897af + +Function897af: ; 897af + push bc + ld hl, $0010 + add hl, bc + ld d, h + ld e, l + ld hl, $000c + add hl, bc + ld b, h + ld c, l + callba Function4e929 + ld a, c + ld [TrainerClass], a + xor a + ld [CurPartySpecies], a + ld de, VTiles2 tile $37 + callba GetTrainerPic + pop bc + ret +; 897d5 + +Function897d5: ; 897d5 + push bc + call Function8934a + jr nc, .asm_897f3 + hlcoord 12, 3, AttrMap + xor a + ld de, SCREEN_WIDTH + lb bc, 7, 7 +.asm_897e5 + push hl + ld c, $7 +.asm_897e8 + ld [hli], a + dec c + jr nz, .asm_897e8 + pop hl + add hl, de + dec b + jr nz, .asm_897e5 + pop bc + ret + +.asm_897f3 + ld a, $37 + ld [$ffad], a + hlcoord 12, 3 + lb bc, 7, 7 + predef FillBox + call Function8963d + pop bc + ret +; 89807 + + +Function89807: ; 89807 (22:5807) + ld hl, MobileAdapterGFX + $200 + ld a, [PlayerGender] + bit 0, a + jr z, .asm_89814 + ld hl, MobileAdapterGFX + $200 + $230 +.asm_89814 + call DisableLCD + ld de, VTiles2 tile $37 + ld bc, $230 + ld a, BANK(MobileAdapterGFX) + call FarCopyBytes + call EnableLCD + call DelayFrame + ret + +Function89829: ; 89829 (22:5829) + push bc + ld bc, $705 + ld de, $14 + ld a, $37 +.asm_89832 + push bc + push hl +.asm_89834 + ld [hli], a + inc a + dec c + jr nz, .asm_89834 + pop hl + add hl, de + pop bc + dec b + jr nz, .asm_89832 + call Function8963d + pop bc + ret + +Function89844: ; 89844 + call Function89481 + call Function894bb + call Function897af + push bc + call Function3200 + call SetPalettes + pop bc + ret +; 89856 + +Function89856: ; 89856 + push bc + call Function891b8 + pop bc + call Function895f2 + call Function8966c + call Function899d3 + call Function898aa + call Function898be + call Function898dc + call Function898f3 + push bc + ld bc, wd008 + hlcoord 2, 10 + call Function89975 + pop bc + call Function897d5 + ret +; 8987f + + +Function8987f: ; 8987f (22:587f) + call Function891b8 + call Function895f2 + call Function8967a + call Function899d3 + hlcoord 5, 1 + call Function8999c + hlcoord 13, 3 + call Function89829 + call Function899b2 + hlcoord 5, 5 + call Function899c9 + ld bc, wd008 + hlcoord 2, 10 + call Function89975 + ret + +Function898aa: ; 898aa + ld a, [MenuSelection] + and a + ret z + push bc + hlcoord 6, 1 + ld de, MenuSelection + lb bc, PRINTNUM_LEADINGZEROS | 1, 2 + call PrintNum + pop bc + ret +; 898be + +Function898be: ; 898be + push bc + ld de, DefaultFlypoint + ld hl, DefaultFlypoint + call Function89331 + jr nc, .asm_898cd + ld de, String_89116 + +.asm_898cd + hlcoord 9, 1 + ld a, [MenuSelection] + and a + jr nz, .asm_898d7 + dec hl + +.asm_898d7 + call PlaceString + pop bc + ret +; 898dc + +Function898dc: ; 898dc + ld hl, $0006 + add hl, bc + push bc + ld d, h + ld e, l + call Function8934a + jr nc, .asm_898eb + ld de, String_89116 + +.asm_898eb + hlcoord 6, 4 + call PlaceString + pop bc + ret +; 898f3 + +Function898f3: ; 898f3 + push bc + ld hl, $000c + add hl, bc + ld d, h + ld e, l + call Function8934a + jr c, .asm_8990a + hlcoord 5, 5 + lb bc, PRINTNUM_LEADINGZEROS | 2, 5 + call PrintNum + jr .asm_89913 + +.asm_8990a + hlcoord 5, 5 + ld de, String_89116 + call PlaceString + +.asm_89913 + pop bc + ret +; 89915 + +Function89915: ; 89915 + push bc + push hl + ld de, Unknown_89942 + ld c, $8 +.asm_8991c + ld a, [de] + ld [hl], a + ld a, $4 + call Function89215 + inc hl + inc de + dec c + jr nz, .asm_8991c + pop hl + ld b, $4 + ld c, $2b + ld a, $8 + ld de, Unknown_8994a +.asm_89932 + push af + ld a, [de] + cp [hl] + jr nz, .asm_8993b + call Function8994e + inc de + +.asm_8993b + inc hl + pop af + dec a + jr nz, .asm_89932 + pop bc + ret +; 89942 + +Unknown_89942: ; 89942 + db $24, $25, $26, " ", $27, $28, $29, $2a +Unknown_8994a: ; 8994a + db $24, $27, $29, $ff +; 8994e + +Function8994e: ; 8994e + push hl + push de + ld de, SCREEN_WIDTH + ld a, l + sub e + ld l, a + ld a, h + sbc d + ld h, a + ld a, c + ld [hl], a + ld a, b + call Function89215 + pop de + pop hl + ret +; 89962 + +Function89962: ; 89962 + push bc + ld c, $4 + ld b, $20 +.asm_89967 + ld a, b + ld [hl], a + ld a, $4 + call Function89215 + inc hl + inc b + dec c + jr nz, .asm_89967 + pop bc + ret +; 89975 + +Function89975: ; 89975 + push bc + ld e, $8 +.asm_89978 + ld a, [bc] + ld d, a + call Function8998b + swap d + inc hl + ld a, d + call Function8998b + inc bc + inc hl + dec e + jr nz, .asm_89978 + pop bc + ret +; 8998b + +Function8998b: ; 8998b + push bc + and $f + cp $a + jr nc, .asm_89997 + ld c, $f6 + add c + jr .asm_89999 + +.asm_89997 + ld a, $7f + +.asm_89999 + ld [hl], a + pop bc + ret +; 8999c + + +Function8999c: ; 8999c (22:599c) + ld de, PlayerName + call PlaceString + inc bc + ld h, b + ld l, c + ld de, String_899ac + call PlaceString + ret +; 899ac (22:59ac) + +String_899ac: ; 899ac + db "の めいし@" +; 899b2 + +Function899b2: ; 899b2 (22:59b2) + ld bc, PlayerName + call Function89346 + jr c, .asm_899bf + ld de, PlayerName + jr .asm_899c2 +.asm_899bf + ld de, String_89116 +.asm_899c2 + hlcoord 6, 4 + call PlaceString + ret + +Function899c9: ; 899c9 (22:59c9) + ld de, PlayerID + lb bc, PRINTNUM_LEADINGZEROS | 2, 5 + call PrintNum + ret + +Function899d3: ; 899d3 + hlcoord 1, 4 + call Function89753 + hlcoord 2, 5 + call Function8975b + hlcoord 1, 9 + call Function89771 + hlcoord 1, 11 + call Function8977a + hlcoord 1, 5 + call Function89797 + hlcoord 2, 4 + call Function89962 + hlcoord 2, 9 + call Function89915 + ret +; 899fe + +Function899fe: ; 899fe + push bc + push hl + ld hl, $0019 + add hl, bc + ld b, h + ld c, l + pop hl + call Function89a0c + pop bc + ret +; 89a0c + +Function89a0c: ; 89a0c + push hl + call Function89363 + pop hl + jr c, .asm_89a1c + ld d, h + ld e, l + callba Function11c08f + ret + +.asm_89a1c + ld de, String_89153 + call PlaceString + ret +; 89a23 + + +Function89a23: ; 89a23 (22:5a23) + hlcoord 0, 11 + ld b, $4 + ld c, $12 + call Function8921f + ret + +Function89a2e: ; 89a2e (22:5a2e) + hlcoord 11, 12 + ld b, $2 + ld c, $6 + call TextBox + hlcoord 13, 13 + ld de, String_89a4e + call PlaceString + hlcoord 13, 14 + ld de, String_89a53 + call PlaceString + call Function89655 + ret +; 89a4e (22:5a4e) + +String_89a4e: ; 89a4e + db "けってい@" +; 89a53 + +String_89a53: ; 89a53 + db "やめる@" +; 89a57 + +Function89a57: ; 89a57 + call Function354b + bit 6, c + jr nz, .asm_89a78 + bit 7, c + jr nz, .asm_89a81 + bit 0, c + jr nz, .asm_89a70 + bit 1, c + jr nz, .asm_89a70 + bit 3, c + jr nz, .asm_89a74 + scf + ret + +.asm_89a70 + ld a, $1 + and a + ret + +.asm_89a74 + ld a, $2 + and a + ret + +.asm_89a78 + call Function89a9b + call nc, Function89a8a + ld a, $0 + ret + +.asm_89a81 + call Function89a93 + call nc, Function89a8a + ld a, $0 + ret +; 89a8a + +Function89a8a: ; 89a8a + push af + ld de, SFX_UNKNOWN_62 + call PlaySFX + pop af + ret +; 89a93 + +Function89a93: ; 89a93 + ld d, $28 + ld e, $1 + call Function89aa3 + ret +; 89a9b + +Function89a9b: ; 89a9b + ld d, $1 + ld e, $ff + call Function89aa3 + ret +; 89aa3 + +Function89aa3: ; 89aa3 + ld a, [MenuSelection] + ld c, a + push bc +.asm_89aa8 + ld a, [MenuSelection] + cp d + jr z, .asm_89ac0 + add e + jr nz, .asm_89ab2 + inc a + +.asm_89ab2 + ld [MenuSelection], a + call Function89ac7 + jr nc, .asm_89aa8 + call Function89ae6 + pop bc + and a + ret + +.asm_89ac0 + pop bc + ld a, c + ld [MenuSelection], a + scf + ret +; 89ac7 + +Function89ac7: ; 89ac7 + call OpenSRAMBank4 + call Function8931b + call Function89ad4 + call CloseSRAM + ret +; 89ad4 + +Function89ad4: ; 89ad4 + push de + call Function8932d + jr c, .asm_89ae3 + ld hl, $0011 + add hl, bc + call Function89b45 + jr c, .asm_89ae4 + +.asm_89ae3 + and a + +.asm_89ae4 + pop de + ret +; 89ae6 + +Function89ae6: ; 89ae6 + ld hl, wd031 + xor a + ld [hl], a + ld a, [MenuSelection] +.asm_89aee + cp $6 + jr c, .asm_89afc + sub $5 + ld c, a + ld a, [hl] + add $5 + ld [hl], a + ld a, c + jr .asm_89aee + +.asm_89afc + ld [wd030], a + ret +; 89b00 + + +Function89b00: ; 89b00 (22:5b00) + callba Function49351 + ret +; 89b07 (22:5b07) + +Function89b07: ; 89b07 + call Function8923c + call DelayFrame + callba Function4a3a7 + ret +; 89b14 + +Function89b14: ; 89b14 + call WhiteBGMap + call Function89b07 + call Function89b00 + ret +; 89b1e + +Function89b1e: ; 89b1e (22:5b1e) + callba Function4a485 + call Function89b00 + ret + +Function89b28: ; 89b28 (22:5b28) + call Function891de + call WhiteBGMap + call Function893e2 + call Call_ExitMenu + call Function891ab + call SetPalettes + ret + +Function89b3b: ; 89b3b (22:5b3b) + call Function8923c + callba Function48cda + ret + +Function89b45: ; 89b45 + push hl + push bc + ld c, $10 + ld e, $0 +.asm_89b4b + ld a, [hli] + ld b, a + and $f + cp $a + jr c, .asm_89b5a + ld a, c + cp $b + jr nc, .asm_89b74 + jr .asm_89b71 + +.asm_89b5a + dec c + swap b + inc e + ld a, b + and $f + cp $a + jr c, .asm_89b6c + ld a, c + cp $b + jr nc, .asm_89b74 + jr .asm_89b71 + +.asm_89b6c + inc e + dec c + jr nz, .asm_89b4b + dec e + +.asm_89b71 + scf + jr .asm_89b75 + +.asm_89b74 + and a + +.asm_89b75 + pop bc + pop hl + ret +; 89b78 + + +Function89b78: ; 89b78 (22:5b78) + push bc + ld a, [wd010] + cp $10 + jr c, .asm_89b8c + ld a, e + and a + jr z, .asm_89b89 + ld c, e +.asm_89b85 + inc hl + dec c + jr nz, .asm_89b85 +.asm_89b89 + ld a, $7f + ld [hl], a +.asm_89b8c + ld a, [wd010] + inc a + and $1f + ld [wd010], a + pop bc + ret + +Function89b97: ; 89b97 (22:5b97) + call Function89c34 + jr c, .asm_89ba0 + call Function89448 + ret +.asm_89ba0 + ld a, [wd011] + ld hl, Unknown_89bd8 + and a + jr z, .asm_89bae +.asm_89ba9 +rept 2 + inc hl +endr + dec a + jr nz, .asm_89ba9 +.asm_89bae + ld a, [hli] + ld h, [hl] + ld l, a + ld de, Sprites +.asm_89bb4 + ld a, [hli] + cp $ff + ret z + ld c, a + ld b, $0 +.asm_89bbb + push hl + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + add b + ld [de], a + inc de + ld a, $8 + add b + ld b, a + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + pop hl + dec c + jr nz, .asm_89bbb + ld b, $0 + ld c, $4 + add hl, bc + jr .asm_89bb4 +; 89bd8 (22:5bd8) + +Unknown_89bd8: ; 89bd8 + dw Unknown_89be0 + dw Unknown_89bf5 + dw Unknown_89c0a + dw Unknown_89c1f +; 89be0 + +Unknown_89be0: ; 89be0 + db $01, $12, $4e, $01, $00 + db $01, $19, $4e, $01, $40 + db $01, $12, $72, $01, $20 + db $01, $19, $72, $01, $60 + db $ff + +Unknown_89bf5: ; 89bf5 + db $01, $60, $16, $01, $00 + db $01, $62, $16, $01, $40 + db $01, $60, $92, $01, $20 + db $01, $62, $92, $01, $60 + db $ff + +Unknown_89c0a: ; 89c0a + db $01, $78, $66, $01, $00 + db $01, $78, $66, $01, $40 + db $01, $78, $92, $01, $20 + db $01, $78, $92, $01, $60 + db $ff + +Unknown_89c1f: ; 89c1f + db $01, $80, $66, $01, $00 + db $01, $80, $66, $01, $40 + db $01, $80, $92, $01, $20 + db $01, $80, $92, $01, $60 + db $ff +; 89c34 + +Function89c34: ; 89c34 (22:5c34) + push bc + ld a, [wd012] + ld c, a + inc a + and $f + ld [wd012], a + ld a, c + cp $8 + pop bc + ret + +Function89c44: ; 89c44 (22:5c44) + call Function89c34 + jr c, .asm_89c4f + push de + call Function89448 + pop de + ret +.asm_89c4f + ld hl, Sprites + push de + ld a, b + ld [hli], a + ld d, $8 + ld a, e + and a + ld a, c + jr z, .asm_89c60 +.asm_89c5c + add d + dec e + jr nz, .asm_89c5c +.asm_89c60 + pop de + ld [hli], a + ld a, d + ld [hli], a + xor a + ld [hli], a + ret + +Function89c67: ; 89c67 (22:5c67) + call Function354b + ld b, $0 + bit 0, c + jr z, .asm_89c74 + ld b, $1 + and a + ret +.asm_89c74 + bit 1, c + jr z, .asm_89c7a + scf + ret +.asm_89c7a + xor a + bit 6, c + jr z, .asm_89c81 + ld a, $1 +.asm_89c81 + bit 7, c + jr z, .asm_89c87 + ld a, $2 +.asm_89c87 + bit 5, c + jr z, .asm_89c8d + ld a, $3 +.asm_89c8d + bit 4, c + jr z, .asm_89c93 + ld a, $4 +.asm_89c93 + and a + ret z + dec a + ld c, a + ld d, $0 + ld hl, Unknown_89cbf + ld a, [wd02f] + and a + jr z, .asm_89ca5 + ld hl, Unknown_89ccf +.asm_89ca5 + ld a, [wd011] + and a + jr z, .asm_89cb1 + ld e, $4 +.asm_89cad + add hl, de + dec a + jr nz, .asm_89cad +.asm_89cb1 + ld e, c + add hl, de + ld a, [hl] + and a + ret z + dec a + ld [wd011], a + xor a + ld [wd012], a + ret +; 89cbf (22:5cbf) + +Unknown_89cbf: ; 89cbf + db 0, 2, 0, 0 + db 1, 3, 0, 0 + db 2, 4, 0, 0 + db 3, 0, 0, 0 + +Unknown_89ccf: ; 89ccf + db 0, 0, 0, 0 + db 0, 3, 0, 0 + db 2, 4, 0, 0 + db 3, 0, 0, 0 +; 89cdf + +Function89cdf: ; 89cdf (22:5cdf) + ld a, $10 + add b + ld b, a + ld a, $8 + add c + ld c, a + ld e, $2 + ld a, $2 + ld hl, Sprites +.asm_89cee + push af + push bc + ld d, $4 +.asm_89cf2 + ld a, b + ld [hli], a + ld a, c + ld [hli], a + ld a, e + ld [hli], a + ld a, $1 + ld [hli], a + ld a, $8 + add c + ld c, a + inc e + dec d + jr nz, .asm_89cf2 + pop bc + ld a, $8 + add b + ld b, a + pop af + dec a + jr nz, .asm_89cee + ret + +Function89d0d: ; 89d0d (22:5d0d) + call Function8923c + ld a, [rSVBK] ; $ff00+$70 + push af + ld a, $5 + ld [rSVBK], a ; $ff00+$70 + ld c, $8 + ld de, Unkn1Pals +.asm_89d1c + push bc + ld hl, Palette_89d4e + ld bc, $8 + call CopyBytes + pop bc + dec c + jr nz, .asm_89d1c + ld hl, Palette_89d56 + ld de, wd010 + ld bc, $8 + call CopyBytes + pop af + ld [rSVBK], a ; $ff00+$70 + call SetPalettes + callba Function845db + call Function89240 + ld c, $18 + call DelayFrames + call RestartMapMusic + ret +; 89d4e (22:5d4e) + +Palette_89d4e: ; 89d4e + RGB 31, 31, 31 + RGB 19, 19, 19 + RGB 15, 15, 15 + RGB 00, 00, 00 +; 89d56 + +Palette_89d56: ; 89d56 + RGB 31, 31, 31 + RGB 19, 19, 19 + RGB 19, 19, 19 + RGB 00, 00, 00 +; 89d5e + +Function89d5e: ; 89d5e (22:5d5e) + push af + call CopyMenuDataHeader + pop af + ld [wPocketCursorBuffer], a + call Function8923c + call Function1c89 + call Function1c10 + ld hl, wcfa5 + set 7, [hl] + ret + +Function89d75: ; 89d75 (22:5d75) + push hl + call Function8923c + call _hl_ + callba Function104148 + pop hl + jr asm_89d90 + +Function89d85: ; 89d85 (22:5d85) + push hl + call Function8923c + call _hl_ + call Function3238 + pop hl + +asm_89d90: ; 89d90 (22:5d90) + call Function8923c + push hl + call _hl_ + call Function89dab + ld a, [wcfa9] + push af + call Function891ab + pop af + pop hl + jr c, .asm_89da9 + jr z, asm_89d90 + scf + ret +.asm_89da9 + and a + ret + +Function89dab: ; 89dab (22:5dab) + call Function8923c + callba Function241ba + call Function8923c + ld a, c + ld hl, wcfa8 + and [hl] + ret z + bit 0, a + jr nz, .asm_89dc7 + bit 1, a + jr nz, .asm_89dd9 + xor a + ret +.asm_89dc7 + call PlayClickSFX + ld a, [wcfa3] + ld c, a + ld a, [wcfa9] + cp c + jr z, .asm_89dd9 + call Function1bee + scf + ret +.asm_89dd9 + call PlayClickSFX + ld a, $1 + and a + ret + +Function89de0: ; 89de0 (22:5de0) + call ClearSprites + call Function89e0a + jr c, .asm_89e00 + ld c, $1 +.asm_89dea + call Function8a31c + jr z, .asm_89dfd + ld a, [wcfa9] + ld c, a + push bc + ld hl, Jumptable_89e04 + ld a, e + dec a + rst JumpTable + pop bc + jr .asm_89dea +.asm_89dfd + call Function891fe +.asm_89e00 + call Function8917a + ret + +Jumptable_89e04: ; 89e04 (22:5e04) + dw Function8a62c + dw Function8a999 + dw Function8ab93 + + +Function89e0a: ; 89e0a (22:5e0a) + call OpenSRAMBank4 + call Function8b3b0 + call CloseSRAM + ld hl, Jumptable_89e18 + rst JumpTable + ret + +Jumptable_89e18: ; 89e18 (22:5e18) + dw Function89e1e + dw Function8a116 + dw Function8a2aa + + +Function89e1e: ; 89e1e (22:5e1e) + call OpenSRAMBank4 + ld bc, $a037 + call Function8b36c + call CloseSRAM + xor a + ld [wd02d], a + +asm_89e2e: ; 89e2e (22:5e2e) + ld a, [wd02d] + ld hl, Jumptable_89e3c + rst JumpTable + ret + +Function89e36: ; 89e36 (22:5e36) + ld hl, wd02d + inc [hl] + jr asm_89e2e + +Jumptable_89e3c: ; 89e3c (22:5e3c) + dw Function89e6f + dw Function89fed + dw Function89ff6 + dw Function8a03d + dw Function89eb9 + dw Function89efd + dw Function89fce + dw Function8a04c + dw Function8a055 + dw Function8a0e6 + dw Function8a0ec + dw Function8a0f5 + dw Function89e58 + dw Function89e68 + + +Function89e58: ; 89e58 (22:5e58) + ld a, $1 + call Function8a2fe + call Function891fe + call Function893e2 + call Function89168 + and a + ret + +Function89e68: ; 89e68 (22:5e68) + call Function891fe + ld a, $1 + scf + ret + +Function89e6f: ; 89e6f (22:5e6f) + call Function891de + call Function89245 + call Function89ee1 + call Function89e9a + hlcoord 7, 4 + call Function8a58d + ld a, $5 + hlcoord 7, 4, AttrMap + call Function8a5a3 + ld a, $6 + hlcoord 10, 4, AttrMap + call Function8a5a3 + call Function891ab + call SetPalettes + jp Function89e36 + +Function89e9a: ; 89e9a (22:5e9a) + ld a, [rSVBK] ; $ff00+$70 + push af + ld a, $5 + ld [rSVBK], a ; $ff00+$70 + ld hl, Palette_89eb1 + ld de, wd028 + ld bc, $8 + call CopyBytes + pop af + ld [rSVBK], a ; $ff00+$70 + ret +; 89eb1 (22:5eb1) + +Palette_89eb1: ; 89eb1 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 27, 19, 00 + RGB 00, 00, 00 +; 89eb9 + +Function89eb9: ; 89eb9 (22:5eb9) + call Function891fe + call Function89ee1 + call Function89e9a + hlcoord 7, 4 + call Function8a58d + ld a, $5 + hlcoord 7, 4, AttrMap + call Function8a5a3 + ld a, $6 + hlcoord 10, 4, AttrMap + call Function8a5a3 + call Function891ab + call SetPalettes + jp Function89e36 + +Function89ee1: ; 89ee1 (22:5ee1) + call WhiteBGMap + call Function893e2 + call Function8923c + callba Function4a3a7 + callba Function49384 + hlcoord 1, 0 + call Function8a53d + ret + +Function89efd: ; 89efd (22:5efd) + ld hl, wd012 + ld a, $ff + ld [hli], a + xor a +rept 4 + ld [hli], a +endr + ld [hl], a +.asm_89f09 + ld hl, wd012 + inc [hl] + ld a, [hli] + and $3 + jr nz, .asm_89f2e + ld a, [hl] + cp $4 + jr nc, .asm_89f2e + ld b, $32 + inc [hl] + ld a, [hl] + dec a + jr z, .asm_89f26 + ld c, a +.asm_89f1f + ld a, $b + add b + ld b, a + dec c + jr nz, .asm_89f1f +.asm_89f26 + ld c, $e8 + ld a, [wd013] + call Function89fa5 +.asm_89f2e + ld a, [wd013] + and a + jr z, .asm_89f58 +.asm_89f34 + call Function89f6a + ld e, a + ld a, c + cp $a8 + jr nc, .asm_89f4d + cp $46 + jr c, .asm_89f4d + ld d, $0 + dec e + ld hl, wd014 + add hl, de + set 0, [hl] + inc e + jr .asm_89f51 +.asm_89f4d + ld a, $2 + add c + ld c, a +.asm_89f51 + ld a, e + call Function89f77 + dec a + jr nz, .asm_89f34 +.asm_89f58 + call DelayFrame + ld hl, wd014 + ld c, $4 +.asm_89f60 + ld a, [hli] + and a + jr z, .asm_89f09 + dec c + jr nz, .asm_89f60 + jp Function89e36 + +Function89f6a: ; 89f6a (22:5f6a) + push af + ld de, $10 + call Function89f9a + ld a, [hli] + ld b, a + ld a, [hl] + ld c, a + pop af + ret + +Function89f77: ; 89f77 (22:5f77) + push af + ld de, $10 + call Function89f9a + ld d, $2 +.asm_89f80 + push bc + ld e, $2 +.asm_89f83 + ld a, b + ld [hli], a + ld a, c + ld [hli], a +rept 2 + inc hl +endr + ld a, $8 + add c + ld c, a + dec e + jr nz, .asm_89f83 + pop bc + ld a, $8 + add b + ld b, a + dec d + jr nz, .asm_89f80 + pop af + ret + +Function89f9a: ; 89f9a (22:5f9a) + dec a + ld hl, Sprites + and a + ret z +.asm_89fa0 + add hl, de + dec a + jr nz, .asm_89fa0 + ret + +Function89fa5: ; 89fa5 (22:5fa5) + ld de, $10 + call Function89f9a + ld e, $2 + ld d, $a +.asm_89faf + push bc + ld a, $2 +.asm_89fb2 + push af + ld a, b + ld [hli], a + ld a, c + ld [hli], a + ld a, d + inc d + ld [hli], a + ld a, $1 + ld [hli], a + ld a, $8 + add c + ld c, a + pop af + dec a + jr nz, .asm_89fb2 + pop bc + ld a, $8 + add b + ld b, a + dec e + jr nz, .asm_89faf + ret + +Function89fce: ; 89fce (22:5fce) + call Function8a5b6 + ld a, $5 + hlcoord 7, 4, AttrMap + call Function8a5a3 + ld a, $6 + hlcoord 10, 4, AttrMap + call Function8a5a3 + call Function89448 + call SetPalettes + call Function891ab + jp Function89e36 + +Function89fed: ; 89fed (22:5fed) + ld hl, UnknownText_0x8a102 + call PrintText + jp Function89e36 + +Function89ff6: ; 89ff6 (22:5ff6) + call Function891fe + call WhiteBGMap + call Function893cc + call Function89807 + call Function89492 + call Function894ca + call OpenSRAMBank4 + ld hl, $a603 + ld a, -1 + ld bc, 8 + call ByteFill + ld hl, $a603 + ld de, wd008 + call Function89381 + call CloseSRAM + call Function8987f + call OpenSRAMBank4 + hlcoord 1, 13 + ld bc, $a007 + call Function89a0c + call CloseSRAM + call Function891ab + call Function89235 + jp Function89e36 + +Function8a03d: ; 8a03d (22:603d) + ld hl, UnknownText_0x8a107 + call Function89209 + call PrintText + call Function8920f + jp Function89e36 + +Function8a04c: ; 8a04c (22:604c) + ld hl, UnknownText_0x8a10c + call PrintText + jp Function89e36 + +Function8a055: ; 8a055 (22:6055) + ld c, $7 + ld b, $4 +.asm_8a059 + call Function8a0a1 + inc c + call Function8a0c9 + push bc + call Function8a58d + pop bc + call Function8a0de + push bc + push hl + ld a, $5 + call Function8a5a3 + pop hl +rept 3 + inc hl +endr + ld a, $6 + call Function8a5a3 + call Function3238 + pop bc + ld a, c + cp $b + jr nz, .asm_8a059 + call Function8a0a1 + hlcoord 12, 4 + call Function8a58d + ld a, $5 + hlcoord 12, 4, AttrMap + call Function8a5a3 + pop hl + ld a, $6 + hlcoord 15, 4, AttrMap + call Function8a5a3 + call Function3238 + jp Function89e36 + +Function8a0a1: ; 8a0a1 (22:60a1) + call Function8923c + push bc + call Function8a0c9 + ld e, $6 +.asm_8a0aa + push hl + ld bc, $6 + add hl, bc + ld d, [hl] + call Function8a0c1 + pop hl + ld [hl], d + call Function89215 + ld bc, $14 + add hl, bc + dec e + jr nz, .asm_8a0aa + pop bc + ret + +Function8a0c1: ; 8a0c1 (22:60c1) + push hl + ld bc, AttrMap - TileMap + add hl, bc + ld a, [hl] + pop hl + ret + +Function8a0c9: ; 8a0c9 (22:60c9) + push bc + hlcoord 0, 0 + ld de, $14 + ld a, b + and a + jr z, .asm_8a0d8 +.asm_8a0d4 + add hl, de + dec b + jr nz, .asm_8a0d4 +.asm_8a0d8 + ld d, $0 + ld e, c + add hl, de + pop bc + ret + +Function8a0de: ; 8a0de (22:60de) + call Function8a0c9 + ld de, AttrMap - TileMap + add hl, de + ret + +Function8a0e6: ; 8a0e6 (22:60e6) + call Function8b539 + jp Function89e36 + +Function8a0ec: ; 8a0ec (22:60ec) + ld hl, UnknownText_0x8a111 + call PrintText + jp Function89e36 + +Function8a0f5: ; 8a0f5 (22:60f5) + call Function8b555 + jp nc, Function8a0ff + ld hl, wd02d + inc [hl] + +Function8a0ff: ; 8a0ff (22:60ff) + jp Function89e36 +; 8a102 (22:6102) + +UnknownText_0x8a102: ; 0x8a102 + ; The CARD FOLDER stores your and your friends' CARDS. A CARD contains information like the person's name, phone number and profile. + text_jump UnknownText_0x1c5238 + db "@" +; 0x8a107 + +UnknownText_0x8a107: ; 0x8a107 + ; This is your CARD. Once you've entered your phone number, you can trade CARDS with your friends. + text_jump UnknownText_0x1c52bc + db "@" +; 0x8a10c + +UnknownText_0x8a10c: ; 0x8a10c + ; If you have your friend's CARD, you can use it to make a call from a mobile phone on the 2nd floor of a #MON CENTER. + text_jump UnknownText_0x1c531e + db "@" +; 0x8a111 + +UnknownText_0x8a111: ; 0x8a111 + ; To safely store your collection of CARDS, you must set a PASSCODE for your CARD FOLDER. + text_jump UnknownText_0x1c5394 + db "@" +; 0x8a116 + +Function8a116: ; 8a116 (22:6116) + ld a, $1 + ld [wd030], a + ld hl, MenuDataHeader_0x8a176 + call LoadMenuDataHeader +.asm_8a121 + call Function8923c + call Function8a17b + jr c, .asm_8a16b + ld a, [wcfa9] + ld [wd030], a + dec d + jr z, .asm_8a140 + call Function8a20d + jr c, .asm_8a121 + xor a + call Function8a2fe + call Function8916e + jr .asm_8a16b +.asm_8a140 + call Function89174 + jr nz, .asm_8a14c + call Function8a241 + jr c, .asm_8a121 + jr .asm_8a15a +.asm_8a14c + call WaitSFX + ld de, SFX_TWINKLE + call PlaySFX + ld c, $10 + call DelayFrames +.asm_8a15a + call ExitMenu + call Function891de + call Function893e2 + call Function89245 + call Function89168 + and a + ret +.asm_8a16b + call Function89209 + call WriteBackup + call Function8920f + scf + ret +; 8a176 (22:6176) + +MenuDataHeader_0x8a176: ; 0x8a176 + db $40 ; flags + db 00, 14 ; start coords + db 06, 19 ; end coords +; 8a17b + +Function8a17b: ; 8a17b (22:617b) + decoord 14, 0 + ld b, $5 + ld c, $4 + call Function89b3b + ld hl, MenuDataHeader_0x8a19a + ld a, [wd030] + call Function89d5e + ld hl, Function8a1b0 + call Function89d75 + jr nc, .asm_8a198 + ld a, $0 +.asm_8a198 + ld d, a + ret +; 8a19a (22:619a) + +MenuDataHeader_0x8a19a: ; 0x8a19a + db $40 ; flags + db 00, 14 ; start coords + db 06, 19 ; end coords + dw MenuData2_0x8a1a2 + db 1 ; default option +; 0x8a1a2 + +MenuData2_0x8a1a2: ; 0x8a1a2 + db $e0 ; flags + db 3 ; items + db "ひらく@" + db "すてる@" + db "もどる@" +; 0x8a1b0 + +Function8a1b0: ; 8a1b0 + hlcoord 0, 12 + ld b, $4 + ld c, $12 + call TextBox + hlcoord 1, 14 + ld a, [wcfa9] + ld de, Strings_8a1cc + dec a + ld c, a + call Function8919e + call PlaceString + ret +; 8a1cc + +Strings_8a1cc: ; 8a1cc + db "めいし", $25, "せいりと へんしゅうを" + next "おこないます" + db "@" + + db "めいしフ,ルダー", $25, "めいしと" + next "あんしょうばんごう", $1f, "けします" + db "@" + + db "まえ", $25, "がめん", $1d, "もどります" + db "@" +; 8a20d + + +Function8a20d: ; 8a20d (22:620d) + ld hl, UnknownText_0x8a232 + call PrintText + ld a, $2 + call Function89259 + ret c + ld hl, UnknownText_0x8a237 + call PrintText + ld a, $2 + call Function89259 + ret c + xor a + call Function8a2fe + ld hl, UnknownText_0x8a23c + call PrintText + xor a + and a + ret +; 8a232 (22:6232) + +UnknownText_0x8a232: ; 0x8a232 + ; If the CARD FOLDER is deleted, all its CARDS and the PASSCODE will also be deleted. Beware--a deleted CARD FOLDER can't be restored. Want to delete your CARD FOLDER? + text_jump UnknownText_0x1c53ee + db "@" +; 0x8a237 + +UnknownText_0x8a237: ; 0x8a237 + ; Are you sure you want to delete it? + text_jump UnknownText_0x1c5494 + db "@" +; 0x8a23c + +UnknownText_0x8a23c: ; 0x8a23c + ; The CARD FOLDER has been deleted. + text_jump UnknownText_0x1c54b9 + db "@" +; 0x8a241 + +Function8a241: ; 8a241 (22:6241) + call LoadMenuDataHeader_0x1d75 + call Function891fe + call Function8a262 + jr nc, .asm_8a254 + call Function891fe + call Function89b28 + scf + ret +.asm_8a254 + call Function891de + call WhiteBGMap + call Call_ExitMenu + call Function891de + and a + ret + +Function8a262: ; 8a262 (22:6262) + call WhiteBGMap + call Function893e2 + call Function8923c + callba Function4a3a7 + callba Function49384 + hlcoord 1, 0 + call Function8a53d + hlcoord 12, 4 + call Function8a58d + ld a, $5 + hlcoord 12, 4, AttrMap + call Function8a5a3 + ld a, $6 + hlcoord 15, 4, AttrMap + call Function8a5a3 + xor a + ld [wd02e], a + ld bc, wd013 + call Function8b36c + call Function8b493 + call Function891ab + call SetPalettes + call Function8b5e7 + ret + +Function8a2aa: ; 8a2aa (22:62aa) + ld hl, MenuDataHeader_0x8a2ef + call LoadMenuDataHeader + ld hl, UnknownText_0x8a2f4 + call PrintText + ld a, $1 + call Function89259 + jr nc, .asm_8a2cf + ld hl, UnknownText_0x8a2f9 + call PrintText + ld a, $2 + call Function89259 + jr c, .asm_8a2ea + call Function8a20d + jr .asm_8a2ea +.asm_8a2cf + call ExitMenu + call Function8a241 + jr c, .asm_8a2ed + ld a, $1 + call Function8a313 + call CloseSRAM + call Function891de + call Function89245 + call Function89168 + and a + ret +.asm_8a2ea + call WriteBackup +.asm_8a2ed + scf + ret +; 8a2ef (22:62ef) + +MenuDataHeader_0x8a2ef: ; 0x8a2ef + db $40 ; flags + db 12, 00 ; start coords + db 17, 19 ; end coords +; 8a2f4 + +UnknownText_0x8a2f4: ; 0x8a2f4 + ; There is an older CARD FOLDER from a previous journey. Do you want to open it? + text_jump UnknownText_0x1c54dd + db "@" +; 0x8a2f9 + +UnknownText_0x8a2f9: ; 0x8a2f9 + ; Delete the old CARD FOLDER? + text_jump UnknownText_0x1c552d + db "@" +; 0x8a2fe + +Function8a2fe: ; 8a2fe (22:62fe) + call Function8a313 + call Function89305 + ld hl, $a603 + ld bc, $8 + ld a, -1 + call ByteFill + call CloseSRAM + ret + +Function8a313: ; 8a313 (22:6313) + ld c, a + call OpenSRAMBank4 + ld a, c + ld [$a60b], a + ret + +Function8a31c: ; 8a31c (22:631c) + push bc + call Function8923c + callba Function4a3a7 + callba Function49384 + hlcoord 1, 0 + call Function8a53d + hlcoord 12, 4 + call Function8a58d + call Function8a3b2 + pop bc + ld a, c + ld [wPocketCursorBuffer], a + ld [MenuSelection], a + call Function1c89 + call Function1c10 + ld hl, wcfa5 + set 7, [hl] +.asm_8a34e + call Function8a3a2 + call Function8923c + call Function8a453 + call Function8a4d3 + call Function8a4fc + call Function891ab + call SetPalettes + call Function8a383 + jr c, .asm_8a370 + jr z, .asm_8a34e +.asm_8a36a + call Function89448 + xor a + ld e, a + ret +.asm_8a370 + call Function89448 + call Function1bee + call Function8a3a2 + ld a, [MenuSelection] + cp $ff + jr z, .asm_8a36a + ld e, a + and a + ret + +Function8a383: ; 8a383 (22:6383) + callba Function241ba + ld a, c + ld hl, wcfa8 + and [hl] + ret z + bit 0, a + jr nz, .asm_8a399 + bit 1, a + jr nz, .asm_8a39e + xor a + ret +.asm_8a399 + call PlayClickSFX + scf + ret +.asm_8a39e + call PlayClickSFX + ret + +Function8a3a2: ; 8a3a2 (22:63a2) + ld a, [wcfa9] + dec a + ld hl, DefaultFlypoint + ld e, a + ld d, $0 + add hl, de + ld a, [hl] + ld [MenuSelection], a + ret + +Function8a3b2: ; 8a3b2 (22:63b2) + ld a, $1 + ld [MenuSelection], a + call Function8a4fc + call Function8a3df + jr nc, .asm_8a3ce + decoord 0, 2 + ld b, $6 + ld c, $9 + call Function89b3b + ld hl, MenuDataHeader_0x8a435 + jr .asm_8a3db +.asm_8a3ce + decoord 0, 2 + ld b, $8 + ld c, $9 + call Function89b3b + ld hl, MenuDataHeader_0x8a40f +.asm_8a3db + call CopyMenuDataHeader + ret + +Function8a3df: ; 8a3df (22:63df) + call OpenSRAMBank4 + ld hl, $a603 + call Function89b45 + call CloseSRAM + ld hl, DefaultFlypoint + jr c, .asm_8a3f8 + ld de, Unknown_8a408 + call Function8a400 + scf + ret +.asm_8a3f8 + ld de, Unknown_8a40b + call Function8a400 + and a + ret + +Function8a400: ; 8a400 (22:6400) + ld a, [de] + inc de + ld [hli], a + cp $ff + jr nz, Function8a400 + ret +; 8a408 (22:6408) + +Unknown_8a408: db 1, 2, -1 +Unknown_8a40b: db 1, 2, 3, -1 + +MenuDataHeader_0x8a40f: ; 0x8a40f + db $40 ; flags + db 02, 00 ; start coords + db 11, 10 ; end coords + dw MenuData2_0x8a417 + db 1 ; default option +; 0x8a417 + +MenuData2_0x8a417: ; 0x8a417 + db $a0 ; flags + db 4 ; items + db "めいしりスト@" + db "じぶんの めいし@" + db "めいしこうかん@" + db "やめる@" +; 0x8a435 + +MenuDataHeader_0x8a435: ; 0x8a435 + db $40 ; flags + db 02, 00 ; start coords + db 09, 10 ; end coords + dw MenuData2_0x8a43d + db 1 ; default option +; 0x8a43d + +MenuData2_0x8a43d: ; 0x8a43d + db $a0 ; flags + db 3 ; items + db "めいしりスト@" + db "じぶんの めいし@" + db "やめる@" +; 0x8a453 + +Function8a453: ; 8a453 (22:6453) + hlcoord 0, 12 + ld b, $4 + ld c, $12 + call TextBox + hlcoord 1, 14 + ld de, String_8a476 + ld a, [MenuSelection] + cp $ff + jr z, .asm_8a472 + ld de, Strings_8a483 + dec a + ld c, a + call Function8919e +.asm_8a472 + call PlaceString + ret +; 8a476 (22:6476) + +String_8a476: ; 8a476 + db "まえ", $25, "がめん", $1d, "もどります@" +; 8a483 + +Strings_8a483: ; 8a483 + db "おともだち", $25, "めいしは" + next "ここ", $1d, "いれておきます@" + + db "でんわばんごう", $1f, "いれると" + next "めいしこうかん", $4a, "できます@" + + db "ともだちと じぶん", $25, "めいしを" + next "せきがいせんで こうかん します@" +; 8a4d3 + +Function8a4d3: ; 8a4d3 (22:64d3) + ld a, [MenuSelection] + cp $1 + jr nz, .asm_8a4eb + ld a, $5 + hlcoord 12, 4, AttrMap + call Function8a5a3 + ld a, $7 + hlcoord 15, 4, AttrMap + call Function8a5a3 + ret +.asm_8a4eb + ld a, $7 + hlcoord 12, 4, AttrMap + call Function8a5a3 + ld a, $6 + hlcoord 15, 4, AttrMap + call Function8a5a3 + ret + +Function8a4fc: ; 8a4fc (22:64fc) + ld a, [MenuSelection] + cp $3 + jr nz, asm_8a529 + ld hl, wd012 + ld a, [hli] + ld b, a + ld a, [hld] + add b + ld [hl], a + ld b, a + ld c, $80 + call Function89cdf + call Function8a515 + ret + +Function8a515: ; 8a515 (22:6515) + ld hl, wd012 + ld a, [hl] + cp $38 + jr c, .asm_8a520 + cp $3c + ret c +.asm_8a520 + ld a, [wd013] + cpl + inc a + ld [wd013], a + ret + +asm_8a529: ; 8a529 (22:6529) + ld hl, wd012 + ld a, $3c + ld [hli], a + ld a, $ff + ld [hli], a + ld hl, Sprites + xor a + ld bc, $20 + call ByteFill + ret + +Function8a53d: ; 8a53d (22:653d) + push hl + ld a, $15 + ld c, $8 + ld de, $14 + call Function8a573 + ld a, $1d + ld c, $9 + call Function8a57c + inc a + ld [hl], a + call Function8a584 + pop hl + add hl, de + ld a, $1f + ld c, $8 + call Function8a573 + dec hl + ld a, $51 + ld [hli], a + ld a, $26 + ld c, $1 + call Function8a57c + ld a, $52 + ld c, $3 + call Function8a573 + ld a, $27 + ld c, $6 + +Function8a573: ; 8a573 (22:6573) + ld [hl], a + call Function8a584 + inc a + dec c + jr nz, Function8a573 + ret + +Function8a57c: ; 8a57c (22:657c) + ld [hl], a + call Function8a584 + dec c + jr nz, Function8a57c + ret + +Function8a584: ; 8a584 (22:6584) + push af + ld a, $4 + call Function89215 + inc hl + pop af + ret + +Function8a58d: ; 8a58d (22:658d) + ld a, $2d + ld bc, $606 + ld de, $14 +.asm_8a595 + push bc + push hl +.asm_8a597 + ld [hli], a + inc a + dec c + jr nz, .asm_8a597 + pop hl + add hl, de + pop bc + dec b + jr nz, .asm_8a595 + ret + +Function8a5a3: ; 8a5a3 (22:65a3) + ld bc, $603 + ld de, $14 +.asm_8a5a9 + push bc + push hl +.asm_8a5ab + ld [hli], a + dec c + jr nz, .asm_8a5ab + pop hl + add hl, de + pop bc + dec b + jr nz, .asm_8a5a9 + ret + +Function8a5b6: ; 8a5b6 (22:65b6) + ld a, [rSVBK] ; $ff00+$70 + push af + ld a, $5 + ld [rSVBK], a ; $ff00+$70 + ld hl, Palette_8a5e5 + ld de, wd020 + ld bc, $18 + call CopyBytes + ld hl, Palette_8a5fd + ld de, Unkn2Pals + ld bc, $8 + call CopyBytes + ld hl, Palette_8a605 + ld de, wd048 + ld bc, $8 + call CopyBytes + pop af + ld [rSVBK], a ; $ff00+$70 + ret +; 8a5e5 (22:65e5) + +Palette_8a5e5: ; 8a5e5 + RGB 31, 31, 31 + RGB 27, 19, 00 + RGB 07, 11, 22 + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 16, 16, 31 + RGB 27, 19, 00 + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 31, 00, 00 + RGB 27, 19, 00 + RGB 00, 00, 00 +; 8a5fd + +Palette_8a5fd: ; 8a5fd + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 31, 31, 31 +; 8a605 + +Palette_8a605: ; 8a605 + RGB 00, 00, 00 + RGB 14, 18, 31 + RGB 16, 16, 31 + RGB 31, 31, 31 +; 8a60d + +Function8a60d: ; 8a60d + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, Palette_8a624 + ld de, Unkn2Pals + ld bc, $0008 + call CopyBytes + pop af + ld [rSVBK], a + ret +; 8a624 + +Palette_8a624: ; 8a624 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 00, 00, 00 +; 8a62c + +Function8a62c: ; 8a62c (22:662c) + call LoadMenuDataHeader_0x1d75 + call Function891fe + xor a + call Function8b94a + call Function8b677 +.asm_8a639 + xor a + ld [wd033], a + ld [wd032], a + ld [wd0e3], a + call Function8b7bd + ld a, c + and a + jr z, .asm_8a66a + ld [MenuSelection], a + ld b, a + ld a, [wcf77] + inc a + ld [wd034], a + push bc + call Function8b960 + ld a, c + pop bc + jr z, .asm_8a639 + ld c, a + ld hl, Jumptable_8a671 + ld a, b + ld [MenuSelection], a + ld a, c + dec a + rst JumpTable + jr .asm_8a639 +.asm_8a66a + call Function891fe + call Function89b28 + ret + +Jumptable_8a671: ; 8a671 (22:6671) + dw Function8a679 + dw Function8a6cd + dw Function8a8c3 + dw Function8a930 + + +Function8a679: ; 8a679 (22:6679) + call Function891de + call WhiteBGMap + call Function893cc + call OpenSRAMBank4 + call Function8931b + call Function89844 + call CloseSRAM + call OpenSRAMBank4 + call Function8939a + call Function89856 + hlcoord 1, 13 + call Function899fe + call Function891ab + call CloseSRAM +.asm_8a6a3 + call Function89a57 + jr c, .asm_8a6a3 + and a + jr z, Function8a679 + ld hl, Jumptable_8a6bc + dec a + rst JumpTable + jr c, Function8a679 + call Function891fe + call Function8b677 + call Function89448 + ret + +Jumptable_8a6bc: ; 8a6bc (22:66bc) + dw Function8a6c0 + dw Function8a6c5 + + +Function8a6c0: ; 8a6c0 (22:66c0) + call PlayClickSFX + and a + ret + +Function8a6c5: ; 8a6c5 (22:66c5) + call PlayClickSFX + call Function89d0d + scf + ret + +Function8a6cd: ; 8a6cd (22:66cd) + call Function891de + call WhiteBGMap + call Function893cc + call OpenSRAMBank4 + call Function8931b + call Function89844 + call Function8a757 + call CloseSRAM +.asm_8a6e5 + call OpenSRAMBank4 + call Function8931b + call Function89856 + call Function89a2e + call Function891ab + xor a + ld [wd02f], a + call CloseSRAM +.asm_8a6fb + call Function89b97 + call Function89c67 + jr c, .asm_8a718 + ld a, b + and a + jr z, .asm_8a6fb + call PlayClickSFX + call Function89448 + ld a, [wd011] + ld hl, Jumptable_8a74f + rst JumpTable + jr nc, .asm_8a6e5 + jr .asm_8a742 +.asm_8a718 + call OpenSRAMBank4 + call Function8a765 + call CloseSRAM + jr nc, .asm_8a73f + call Function8923c + call Function89448 + call Function89a23 + hlcoord 1, 13 + ld de, String_89135 + call PlaceString + call WaitBGMap + ld a, $2 + call Function89254 + jr c, .asm_8a6e5 +.asm_8a73f + call CloseSRAM +.asm_8a742 + call WhiteBGMap + call Function89448 + call Function891d3 + call Function8b677 + ret + +Jumptable_8a74f: ; 8a74f (22:674f) + dw Function8a78c + dw Function8a7cb + dw Function8a818 + dw Function8a8a1 + + +Function8a757: ; 8a757 (22:6757) + call Function8939a + xor a + ld [wd010], a + ld [wd011], a + ld [wd012], a + ret + +Function8a765: ; 8a765 (22:6765) + call Function8931b + push bc + ld hl, $0 + add hl, bc + ld de, DefaultFlypoint + ld c, $6 + call Function89185 + pop bc + jr nz, .asm_8a78a + push bc + ld hl, $11 + add hl, bc + ld de, wd008 + ld c, $8 + call Function89185 + pop bc + jr nz, .asm_8a78a + and a + ret +.asm_8a78a + scf + ret + +Function8a78c: ; 8a78c (22:678c) + call Function891fe + ld de, DefaultFlypoint + ld b, $5 + callba Function116c1 + call OpenSRAMBank4 + call Function8931b + push bc + ld hl, $0 + add hl, bc + ld d, h + ld e, l + ld hl, DefaultFlypoint + call InitName + call CloseSRAM + call DelayFrame + call JoyTextDelay + call Function891de + call WhiteBGMap + call Function893cc + call OpenSRAMBank4 + pop bc + call Function89844 + call CloseSRAM + and a + ret + +Function8a7cb: ; 8a7cb (22:67cb) + ld a, [MenuSelection] + push af + call Function891de + ld de, wd008 + ld c, $0 + callba Function17a68f + jr c, .asm_8a7f4 + ld hl, wd008 + ld a, $ff + ld bc, $8 + call ByteFill + ld h, d + ld l, e + ld de, wd008 + ld c, $8 + call Function89193 +.asm_8a7f4 + pop af + ld [MenuSelection], a + call Function891de + call WhiteBGMap + call Function893cc + call OpenSRAMBank4 + call Function8931b + call Function89844 + call Function89856 + call Function89a2e + call Function891ab + call CloseSRAM + and a + ret + +Function8a818: ; 8a818 (22:6818) + call Function89a23 + ld hl, DefaultFlypoint + call Function89331 + jr c, .asm_8a875 + ld hl, wd008 + call Function89b45 + jr nc, .asm_8a87a + call OpenSRAMBank4 + call Function8a765 + jr nc, .asm_8a863 + call Function8931b + push bc + ld hl, $0 + add hl, bc + ld d, h + ld e, l + ld hl, DefaultFlypoint + ld c, $6 + call Function89193 + pop bc + ld hl, $11 + add hl, bc + ld d, h + ld e, l + ld hl, wd008 + ld c, $8 + call Function89193 + hlcoord 1, 13 + ld de, .string_8a868 + call PlaceString + call WaitBGMap + call JoyWaitAorB +.asm_8a863 + call CloseSRAM + scf + ret +; 8a868 (22:6868) + +.string_8a868 + db "めいし", $1f, "かきかえ まし", $22, "@" + +.asm_8a875 + ld de, String_8a88b + jr .asm_8a87d +.asm_8a87a + ld de, String_8911c +.asm_8a87d + hlcoord 1, 13 + call PlaceString + call WaitBGMap + call JoyWaitAorB + and a + ret +; 8a88b (22:688b) + +String_8a88b: ; 8a88b + db "おともだち", $25, "なまえが" + next "かかれて いません!@" +; 8a8a1 + +Function8a8a1: ; 8a8a1 (22:68a1) + call OpenSRAMBank4 + call Function8a765 + call CloseSRAM + jr nc, .asm_8a8bf + call Function89a23 + hlcoord 1, 13 + ld de, String_89135 + call PlaceString + ld a, $2 + call Function89254 + jr c, .asm_8a8c1 +.asm_8a8bf + scf + ret +.asm_8a8c1 + and a + ret + +Function8a8c3: ; 8a8c3 (22:68c3) + call Function891de + call WhiteBGMap + call Function893cc + call OpenSRAMBank4 + call Function8931b + call Function89844 + call Function8939a + call Function89856 + call CloseSRAM + call Function891ab + hlcoord 1, 13 + ld de, String_8a919 + call PlaceString + ld a, $2 + call Function89254 + jr c, .asm_8a90f + call OpenSRAMBank4 + call Function892b4 + call CloseSRAM + call Function89a23 + call Function8923c + hlcoord 1, 13 + ld de, String_8a926 + call PlaceString + call WaitBGMap + call JoyWaitAorB +.asm_8a90f + call Function89448 + call Function891fe + call Function8b677 + ret +; 8a919 (22:6919) + +String_8a919: ; 8a919 + db "このデータ", $1f, "けしますか?@" +; 8a926 + +String_8a926: ; 8a926 + db "データ", $1f, "けしまし", $22, "@" +; 8a930 + +Function8a930: ; 8a930 (22:6930) + ld a, [MenuSelection] + push af + xor a + ld [wd032], a + ld a, $1 + ld [wd033], a + ld a, [wd034] + ld [wd0e3], a +.asm_8a943 + call Function8b7bd + ld a, [wcf73] + and $1 + jr nz, .asm_8a953 + ld a, c + and a + jr nz, .asm_8a943 + pop af + ret +.asm_8a953 + call OpenSRAMBank4 + pop af + cp c + jr z, .asm_8a995 + push bc + ld [MenuSelection], a + call Function8931b + push bc + ld h, b + ld l, c + ld de, DefaultFlypoint + ld bc, $25 + call CopyBytes + pop de + pop bc + ld a, c + ld [MenuSelection], a + call Function8931b + push bc + ld h, b + ld l, c + ld bc, $25 + call CopyBytes + pop de + ld hl, DefaultFlypoint + ld bc, $25 + call CopyBytes + ld de, SFX_SWITCH_POKEMON + call WaitPlaySFX + ld de, SFX_SWITCH_POKEMON + call WaitPlaySFX +.asm_8a995 + call CloseSRAM + ret + +Function8a999: ; 8a999 (22:6999) + ld hl, MenuDataHeader_0x8a9c9 + call LoadMenuDataHeader + ld c, $1 +.asm_8a9a1 + call Function8a9ce + jr c, .asm_8a9bb + push bc + push de + call LoadMenuDataHeader_0x1d75 + pop de + dec e + ld a, e + ld hl, Jumptable_8a9c5 + rst JumpTable + call Function891fe + call Function89b28 + pop bc + jr .asm_8a9a1 +.asm_8a9bb + call Function89209 + call WriteBackup + call Function8920f + ret + +Jumptable_8a9c5: ; 8a9c5 (22:69c5) + dw Function8aa0a + dw Function8ab3b +; 8a9c9 (22:69c9) + +MenuDataHeader_0x8a9c9: ; 0x8a9c9 + db $40 ; flags + db 04, 11 ; start coords + db 11, 18 ; end coords +; 8a9ce + +Function8a9ce: ; 8a9ce (22:69ce) + push bc + decoord 11, 4 + ld b, $6 + ld c, $6 + call Function89b3b + pop bc + ld a, c + ld hl, MenuDataHeader_0x8a9f2 + call Function89d5e + ld hl, Function8aa09 + call Function89d85 + jr c, .asm_8a9ed + ld c, a + ld e, a + and a + ret +.asm_8a9ed + ld c, a + ld e, $0 + scf + ret +; 8a9f2 (22:69f2) + +MenuDataHeader_0x8a9f2: ; 0x8a9f2 + db $40 ; flags + db 04, 11 ; start coords + db 11, 18 ; end coords + dw MenuData2_0x8a9fa + db 1 ; default option +; 0x8a9fa + +MenuData2_0x8a9fa: ; 0x8a9fa + db $a0 ; flags + db 3 ; items + db "へんしゅう@" + db "みる@" + db "やめる@" +; 0x8aa09 + +Function8aa09: ; 8aa09 + ret +; 8aa0a + +Function8aa0a: ; 8aa0a (22:6a0a) + ld a, $1 + ld [wd02f], a + ld [wd011], a + xor a + ld [wd010], a + ld [wd012], a + call OpenSRAMBank4 + ld hl, $a603 + ld de, wd008 + call Function89381 + call CloseSRAM + call Function891fe + call WhiteBGMap + call Function893cc + call Function89807 + call Function89492 + call Function894ca +.asm_8aa3a + call Function8987f + call Function89a2e + call Function891ab +.asm_8aa43 + call Function89b97 + call Function89c67 + jr c, .asm_8aa61 + ld a, b + and a + jr z, .asm_8aa43 + call PlayClickSFX + call Function89448 + ld a, [wd011] + dec a + ld hl, Jumptable_8aa6d + rst JumpTable + jr nc, .asm_8aa3a + jr .asm_8aa69 +.asm_8aa61 + call Function89448 + call Function8ab11 + jr nc, .asm_8aa3a +.asm_8aa69 + call Function89448 + ret + +Jumptable_8aa6d: ; 8aa6d (22:6a6d) + dw Function8aa73 + dw Function8aab6 + dw Function8ab11 + + +Function8aa73: ; 8aa73 (22:6a73) + ld a, [MenuSelection] + ld e, a + push de + call Function891de + ld de, wd008 + ld c, $0 + callba Function17a68f + jr c, .asm_8aa9d + ld hl, wd008 + ld a, $ff + ld bc, $8 + call ByteFill + ld h, d + ld l, e + ld de, wd008 + ld c, $8 + call Function89193 +.asm_8aa9d + call Function891fe + call WhiteBGMap + call Function893cc + call Function89807 + call Function89492 + call Function894ca + pop de + ld a, e + ld [MenuSelection], a + and a + ret + +Function8aab6: ; 8aab6 (22:6ab6) + call Function89a23 + ld hl, wd008 + call Function89b45 + jr nc, Function8ab00 + call OpenSRAMBank4 + ld de, wd008 + ld hl, $a603 + ld c, $8 + call Function89185 + jr z, .asm_8aaeb + ld hl, wd008 + ld de, $a603 + ld c, $8 + call Function89193 + hlcoord 1, 13 + ld de, String_8aaf0 + call PlaceString + call WaitBGMap + call JoyWaitAorB +.asm_8aaeb + call CloseSRAM + scf + ret +; 8aaf0 (22:6af0) + +String_8aaf0: ; 8aaf0 + db "あたらしい めいし", $4a, "できまし", $22, "@" +; 8ab00 + +Function8ab00: ; 8ab00 + ld de, String_8911c + hlcoord 1, 13 + call PlaceString + call WaitBGMap + call Function89235 + and a + ret + +Function8ab11: ; 8ab11 (22:6b11) + call OpenSRAMBank4 + ld hl, $a603 + ld de, wd008 + ld c, $8 + call Function89185 + call CloseSRAM + jr z, .asm_8ab37 + call Function89a23 + hlcoord 1, 13 + ld de, String_89135 + call PlaceString + ld a, $2 + call Function89254 + jr c, .asm_8ab39 +.asm_8ab37 + scf + ret +.asm_8ab39 + and a + ret + +Function8ab3b: ; 8ab3b (22:6b3b) + call Function891fe + call WhiteBGMap + call Function893cc + call Function89807 + call Function89492 + call Function894ca + call OpenSRAMBank4 + ld hl, $a603 + ld de, wd008 + call Function89381 + call CloseSRAM + call Function8987f + call OpenSRAMBank4 + hlcoord 1, 13 + ld bc, $a007 + call Function89a0c + call CloseSRAM + call Function891ab + call Function8ab77 + jr c, Function8ab3b + ret + +Function8ab77: ; 8ab77 (22:6b77) + call Function354b + bit 0, c + jr nz, .asm_8ab8e + bit 1, c + jr nz, .asm_8ab8e + bit 3, c + jr z, Function8ab77 + call PlayClickSFX + call Function89d0d + scf + ret +.asm_8ab8e + call PlayClickSFX + and a + ret + +Function8ab93: ; 8ab93 (22:6b93) + call WhiteBGMap + call LoadMenuDataHeader_0x1d75 + callba Function105688 + call ClearSprites + call Function891fe + call Function89b28 + ret +; 8aba9 (22:6ba9) + +Function8aba9: ; 8aba9 + ld a, $2 + call Function8b94a + ld a, $1 + ld [wd032], a +.asm_8abb3 + call Function891fe + call Function8b677 +.asm_8abb9 + call Function8b7bd + jr z, .asm_8abdf + ld a, c + ld [MenuSelection], a + call OpenSRAMBank4 + call Function8931b + ld hl, $0011 + add hl, bc + call Function89b45 + call CloseSRAM + jr c, .asm_8abe2 + ld de, SFX_WRONG + call WaitPlaySFX + call CloseSRAM + jr .asm_8abb9 + +.asm_8abdf + xor a + ld c, a + ret + +.asm_8abe2 + call PlayClickSFX +.asm_8abe5 + call Function891de + call WhiteBGMap + call Function893cc + call OpenSRAMBank4 + call Function8931b + call Function89844 + call CloseSRAM + call OpenSRAMBank4 + call Function8939a + call Function89856 + hlcoord 1, 13 + call Function899fe + call CloseSRAM + call Function891ab +.asm_8ac0f + call Function89a57 + jr c, .asm_8ac0f + and a + jr z, .asm_8abe5 + cp $2 + jr z, .asm_8ac0f + hlcoord 0, 12 + ld b, $4 + ld c, $12 + call TextBox + hlcoord 1, 14 + ld de, String_8ac3b + call PlaceString + ld a, $1 + call Function8925e + jp c, .asm_8abb3 + ld a, [MenuSelection] + ld c, a + ret +; 8ac3b + +String_8ac3b: ; 8ac3b + db "こ", $25, "ともだち", $1d, "でんわを" + next "かけますか?@" +; 8ac4e + +Function8ac4e: ; 8ac4e + xor a + ld [MenuSelection], a + push de + call Function891de + call WhiteBGMap + call Function893cc + pop bc + call Function89844 + call Function8939a + call Function89856 + hlcoord 1, 13 + call Function899fe + call Function891ab + ret +; 8ac70 + +Function8ac70: ; 8ac70 + push de + ld a, $3 + call Function8b94a + +Function8ac76: ; 8ac76 + call Function891fe + call Function8b677 + +Function8ac7c: ; 8ac7c + call Function8b7bd + jr z, .asm_8acf0 + ld a, c + ld [wd02f], a + ld [MenuSelection], a + call OpenSRAMBank4 + call Function8931b + call Function8932d + call CloseSRAM + jr nc, .asm_8acb0 + call OpenSRAMBank4 + ld hl, $0011 + add hl, bc + call Function89b45 + call CloseSRAM + jr nc, .asm_8accc + call OpenSRAMBank4 + call Function892b7 + call CloseSRAM + jr .asm_8accc + +.asm_8acb0 + call Function8ad0b + jr c, Function8ac76 + and a + jr nz, .asm_8accc + call OpenSRAMBank4 + ld h, b + ld l, c + ld d, $0 + ld e, $6 + add hl, de + ld d, h + ld e, l + pop hl + ld c, $1f + call Function89193 + jr .asm_8ace4 + +.asm_8accc + pop hl + call OpenSRAMBank4 + ld d, b + ld e, c + ld c, $6 + call Function89193 + ld a, $6 + add e + ld e, a + ld a, $0 + adc d + ld d, a + ld c, $1f + call Function89193 + +.asm_8ace4 + call CloseSRAM + call Functione51 + ld a, [wd02f] + ld c, a + and a + ret + +.asm_8acf0 + ld hl, UnknownText_0x8ad06 + call PrintText + ld a, $2 + call Function89259 + jp c, Function8ac7c + call Functione51 + pop de + ld c, $0 + scf + ret +; 8ad06 + +UnknownText_0x8ad06: ; 0x8ad06 + ; Finish registering CARDS? + text_jump UnknownText_0x1c554a + db "@" +; 0x8ad0b + +Function8ad0b: ; 8ad0b +.asm_8ad0b + ld a, [MenuSelection] + ld [wd02f], a + call Function891de + call WhiteBGMap + call Function893cc + call OpenSRAMBank4 + call Function8931b + push bc + call Function89844 + call Function8939a + call Function89856 + hlcoord 1, 13 + call Function899fe + call CloseSRAM + call Function891ab + pop bc +.asm_8ad37 + push bc + call Function89a57 + pop bc + jr c, .asm_8ad37 + and a + jr z, .asm_8ad0b + cp $2 + jr z, .asm_8ad37 + call Function8923c + push bc + hlcoord 0, 12 + ld b, $4 + ld c, $12 + call TextBox + ld de, String_8ad89 + hlcoord 1, 14 + call PlaceString + ld a, $2 + call Function8925e + jr c, .asm_8ad87 + call Function8923c + hlcoord 0, 12 + ld b, $4 + ld c, $12 + call TextBox + ld de, String_8ad9c + hlcoord 1, 14 + call PlaceString + ld a, $1 + call Function8925e + jr c, .asm_8ad84 + ld a, $0 + jr .asm_8ad86 + +.asm_8ad84 + ld a, $1 + +.asm_8ad86 + and a + +.asm_8ad87 + pop bc + ret +; 8ad89 + +String_8ad89: ; 8ad89 + db "こ", $25, "めいし", $1f, "けして" + next "いれかえますか?@" +; 8ad9c + +String_8ad9c: ; 8ad9c + db "おともだち", $25, "なまえを" + next "のこして おきますか?@" +; 8adb3 + +Function8adb3: ; 8adb3 + call Function891de + call Function8a262 + push af + call Function891de + pop af + ret +; 8adbf + +Function8adbf: ; 8adbf + call OpenSRAMBank4 + ld hl, $a603 + call Function89b45 + call CloseSRAM + ret +; 8adcc + +Function8adcc: ; 8adcc + call OpenSRAMBank4 + call Function8b3b0 + call CloseSRAM + ret nc + cp $2 + ret z + scf + ret +; 8addb diff --git a/misc/mobile_22_2.asm b/misc/mobile_22_2.asm new file mode 100644 index 000000000..059672fad --- /dev/null +++ b/misc/mobile_22_2.asm @@ -0,0 +1,1155 @@ +Function8b342:: ; 8b342 +; Loads the secondary map header pointer, then runs through a +; jumptable with three dummy functions. Spends a lot of energy +; doing pretty much nothing. + call GetSecondaryMapHeaderPointer + ld d, h + ld e, l + +; Everything between here and "ret" is useless. + xor a +.loop + push af + ld hl, .jumptable + rst JumpTable + pop af + inc a + cp 3 + jr nz, .loop + ret +; 8b354 + +.jumptable: ; 8b354 + dw .zero + dw .one + dw .two +; 8b35a + +.zero: ; 8b35a + mobile +; 8b35b + +.one: ; 8b35b + mobile +; 8b35c + +.two: ; 8b35c + mobile +; 8b35d + +Function8b35d: ; 8b35d + ld a, h + cp d + ret nz + ld a, l + cp e + ret +; 8b363 + +Function8b363: ; 8b363 + push bc + callba Function10632f + pop bc + ret +; 8b36c + +Function8b36c: ; 8b36c (22:736c) + push bc + ld h, b + ld l, c + ld bc, $4 + ld a, -1 + call ByteFill + pop bc + ret + +Function8b379: ; 8b379 (22:7379) + push bc + ld a, c + add e + ld c, a + ld a, $0 + adc b + ld b, a + ld a, [bc] + ld d, a + pop bc + ret + +Function8b385: ; 8b385 (22:7385) + push bc + ld a, c + add e + ld c, a + ld a, $0 + adc b + ld b, a + ld a, d + ld [bc], a + pop bc + ret + +Function8b391: ; 8b391 (22:7391) + push bc + ld e, $0 + ld d, $4 +.asm_8b396 + ld a, [bc] + inc bc + cp $ff + jr z, .asm_8b3a2 + inc e + dec d + jr nz, .asm_8b396 + dec e + scf +.asm_8b3a2 + pop bc + ret + +Function8b3a4: ; 8b3a4 (22:73a4) + push de + push bc + ld d, b + ld e, c + ld c, $4 + call Function89185 + pop bc + pop de + ret + +Function8b3b0: ; 8b3b0 (22:73b0) + ld bc, $a037 + ld a, [$a60b] + and a + jr z, .asm_8b3c2 + cp $3 + jr nc, .asm_8b3c2 + call Function8b391 + jr c, .asm_8b3c9 +.asm_8b3c2 + call Function8b36c + xor a + ld [$a60b], a +.asm_8b3c9 + ld a, [$a60b] + ret + +Function8b3cd: ; 8b3cd (22:73cd) + push de + push bc + ld e, $4 +.asm_8b3d1 + ld a, [bc] + inc bc + call Function8998b + inc hl + dec e + jr nz, .asm_8b3d1 + pop bc + pop de + ret + +Function8b3dd: ; 8b3dd (22:73dd) + push de + push bc + call Function354b + ld a, c + pop bc + pop de + bit 0, a + jr nz, .asm_8b3f7 + bit 1, a + jr nz, .asm_8b40e + bit 6, a + jr nz, .asm_8b429 + bit 7, a + jr nz, .asm_8b443 + and a + ret +.asm_8b3f7 + ld a, e + cp $3 + jr z, .asm_8b407 + inc e + ld d, $0 + call Function8b385 + xor a + ld [wd010], a + ret +.asm_8b407 + call PlayClickSFX + ld d, $0 + scf + ret +.asm_8b40e + ld a, e + and a + jr nz, .asm_8b41e + call PlayClickSFX + ld d, $ff + call Function8b385 + ld d, $1 + scf + ret +.asm_8b41e + ld d, $ff + call Function8b385 + dec e + xor a + ld [wd010], a + ret +.asm_8b429 + call Function8b379 + ld a, d + cp $a + jr c, .asm_8b433 + ld d, $9 +.asm_8b433 + inc d + ld a, d + cp $a + jr c, .asm_8b43b + ld d, $0 +.asm_8b43b + call Function8b385 + xor a + ld [wd010], a + ret +.asm_8b443 + call Function8b379 + ld a, d + cp $a + jr c, .asm_8b44d + ld d, $0 +.asm_8b44d + ld a, d + dec d + and a + jr nz, .asm_8b454 + ld d, $9 +.asm_8b454 + call Function8b385 + xor a + ld [wd010], a + ret + +Function8b45c: ; 8b45c (22:745c) + call Function8b36c + xor a + ld [wd010], a + ld [wd012], a + call Function8b391 + ld d, $0 + call Function8b385 +.asm_8b46e + call Function8923c + call Function8b493 + call Function8b4cc + call Function8b518 + call Function89b78 + push bc + call Function8b4fd + call Function89c44 + ld a, $1 + ld [hBGMapMode], a ; $ff00+$d4 + pop bc + call Function8b3dd + jr nc, .asm_8b46e + ld a, d + and a + ret z + scf + ret + +Function8b493: ; 8b493 (22:7493) + push bc + call Function8923c + call Function8b521 + ld hl, Jumptable_8b4a0 + pop bc + rst JumpTable + ret + +Jumptable_8b4a0: ; 8b4a0 (22:74a0) + dw Function8b4a4 + dw Function8b4b8 + + +Function8b4a4: ; 8b4a4 (22:74a4) + push bc + push de + call Function8b4d8 + call TextBox + pop de + pop bc + call Function8b4cc + call Function8b518 + call Function8b3cd + ret + +Function8b4b8: ; 8b4b8 (22:74b8) + push bc + push de + call Function8b4ea + call Function89b3b + pop de + pop bc + call Function8b4cc + call Function8b518 + call Function8b3cd + ret + +Function8b4cc: ; 8b4cc (22:74cc) + push bc + ld hl, Unknown_8b529 + call Function8b50a + ld a, [hli] + ld h, [hl] + ld l, a + pop bc + ret + +Function8b4d8: ; 8b4d8 (22:74d8) + ld hl, Unknown_8b529 + call Function8b50a + push hl +rept 2 + inc hl +endr + ld a, [hli] + ld b, a + ld a, [hl] + ld c, a + pop hl + ld a, [hli] + ld h, [hl] + ld l, a + ret + +Function8b4ea: ; 8b4ea (22:74ea) + ld hl, Unknown_8b529 + call Function8b50a + push hl +rept 2 + inc hl +endr + ld a, [hli] + ld b, a + ld a, [hl] + ld c, a + pop hl + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + ret + +Function8b4fd: ; 8b4fd (22:74fd) + ld hl, Unknown_8b529 + 4 + call Function8b50a + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [hli] + ld d, a + ret + +Function8b50a: ; 8b50a (22:750a) + ld a, [wd02e] + and a + ret z + ld b, $0 + ld c, $8 +.asm_8b513 + add hl, bc + dec a + jr nz, .asm_8b513 + ret + +Function8b518: ; 8b518 (22:7518) + push de + ld d, $0 + ld e, $14 + add hl, de + inc hl + pop de + ret + +Function8b521: ; 8b521 (22:7521) + ld hl, Unknown_8b529 + 7 + call Function8b50a + ld a, [hl] + ret +; 8b529 (22:7529) + +Unknown_8b529: ; 8b529 + dwcoord 2, 5 + db 1, 4, $20, $49, 0, 1 + dwcoord 7, 4 + db 1, 4, $48, $41, 0, 0 +; 8b539 + +Function8b539: ; 8b539 (22:7539) + ld bc, wd017 + call Function8b36c + xor a + ld [wd012], a + ld [wd02e], a + call Function8b493 + call Function8b4fd + ld e, $0 + call Function89c44 + call Function3238 + ret + +Function8b555: ; 8b555 (22:7555) + ld hl, UnknownText_0x8b5ce + call PrintText + ld bc, wd017 + call Function8b45c + jr c, .asm_8b5c8 + call Function89448 + ld bc, wd017 + call Function8b493 + ld bc, wd017 + call Function8b664 + jr nz, .asm_8b57c + ld hl, UnknownText_0x8b5e2 + call PrintText + jr Function8b555 +.asm_8b57c + ld hl, UnknownText_0x8b5d3 + call PrintText + ld bc, wd013 + call Function8b45c + jr c, Function8b555 + ld bc, wd017 + ld hl, wd013 + call Function8b3a4 + jr z, .asm_8b5a6 + call Function89448 + ld bc, wd013 + call Function8b493 + ld hl, UnknownText_0x8b5d8 + call PrintText + jr .asm_8b57c +.asm_8b5a6 + call OpenSRAMBank4 + ld hl, wd013 + ld de, $a037 + ld bc, $4 + call CopyBytes + call CloseSRAM + call Function89448 + ld bc, wd013 + call Function8b493 + ld hl, UnknownText_0x8b5dd + call PrintText + and a +.asm_8b5c8 + push af + call Function89448 + pop af + ret +; 8b5ce (22:75ce) + +UnknownText_0x8b5ce: ; 0x8b5ce + ; Please enter any four-digit number. + text_jump UnknownText_0x1bc187 + db "@" +; 0x8b5d3 + +UnknownText_0x8b5d3: ; 0x8b5d3 + ; Enter the same number to confirm. + text_jump UnknownText_0x1bc1ac + db "@" +; 0x8b5d8 + +UnknownText_0x8b5d8: ; 0x8b5d8 + ; That's not the same number. + text_jump UnknownText_0x1bc1cf + db "@" +; 0x8b5dd + +UnknownText_0x8b5dd: ; 0x8b5dd + ; Your PASSCODE has been set. Enter this number next time to open the CARD FOLDER. + text_jump UnknownText_0x1bc1eb + db "@" +; 0x8b5e2 + +UnknownText_0x8b5e2: ; 0x8b5e2 + ; 0000 is invalid! + text_jump UnknownText_0x1bc23e + db "@" +; 0x8b5e7 + +Function8b5e7: ; 8b5e7 (22:75e7) + ld bc, wd013 + call Function8b36c + xor a + ld [wd012], a + ld [wd02e], a + call Function8b493 + call Function891ab + call Function8b4fd + ld e, $0 + call Function89c44 +.asm_8b602 + ld hl, UnknownText_0x8b642 + call PrintText + ld bc, wd013 + call Function8b45c + jr c, .asm_8b63c + call Function89448 + ld bc, wd013 + call Function8b493 + call OpenSRAMBank4 + ld hl, $a037 + call Function8b3a4 + call CloseSRAM + jr z, .asm_8b635 + ld hl, UnknownText_0x8b647 + call PrintText + ld bc, wd013 + call Function8b36c + jr .asm_8b602 +.asm_8b635 + ld hl, UnknownText_0x8b64c + call PrintText + and a +.asm_8b63c + push af + call Function89448 + pop af + ret +; 8b642 (22:7642) + +UnknownText_0x8b642: ; 0x8b642 + ; Enter the CARD FOLDER PASSCODE. + text_jump UnknownText_0x1bc251 + db "@" +; 0x8b647 + +UnknownText_0x8b647: ; 0x8b647 + ; Incorrect PASSCODE! + text_jump UnknownText_0x1bc272 + db "@" +; 0x8b64c + +UnknownText_0x8b64c: ; 0x8b64c + ; CARD FOLDER open.@ @ + text_jump UnknownText_0x1bc288 + start_asm +; 0x8b651 + +Function8b651: ; 8b651 + ld de, SFX_TWINKLE + call PlaySFX + call WaitSFX + ld c, $8 + call DelayFrames + ld hl, .string_8b663 + ret +.string_8b663 + db "@" +; 8b664 + +Function8b664: ; 8b664 (22:7664) + push bc + ld de, $4 +.asm_8b668 + ld a, [bc] + cp $0 + jr nz, .asm_8b66e + inc d +.asm_8b66e + inc bc + dec e + jr nz, .asm_8b668 + pop bc + ld a, d + cp $4 + ret + +Function8b677: ; 8b677 + call WhiteBGMap + call DisableLCD + call Function8b690 + call Function8b6bb + call Function8b6ed + call EnableLCD + call Function891ab + call SetPalettes + ret +; 8b690 + +Function8b690: ; 8b690 + ld hl, GFX_17afa5 + $514 + ld de, VTiles2 + ld bc, $160 + ld a, BANK(GFX_17afa5) + call FarCopyBytes + ld hl, GFX_17afa5 + $514 + $160 - $10 + ld de, VTiles2 tile $61 + ld bc, $10 + ld a, BANK(GFX_17afa5) + call FarCopyBytes + ld hl, GFX_17afa5 + $514 + $160 + ld de, VTiles1 tile $6e + ld bc, $10 + ld a, BANK(GFX_17afa5) + call FarCopyBytes + ret +; 8b6bb + +Function8b6bb: ; 8b6bb + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, Palette_8b6d5 + ld de, Unkn1Pals + ld bc, $0018 + call CopyBytes + pop af + ld [rSVBK], a + call Function8949c + ret +; 8b6d5 + +Palette_8b6d5: ; 8b6d5 + RGB 31, 31, 31 + RGB 31, 21, 00 + RGB 14, 07, 03 + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 31, 21, 00 + RGB 22, 09, 17 + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 31, 21, 00 + RGB 06, 24, 08 + RGB 00, 00, 00 +; 8b6ed + +Function8b6ed: ; 8b6ed + hlcoord 0, 0, AttrMap + ld bc, $012c + xor a + call ByteFill + hlcoord 0, 14, AttrMap + ld bc, $0050 + ld a, $7 + call ByteFill + ret +; 8b703 + +Function8b703: ; 8b703 + call Function8923c + push hl + ld a, $c + ld [hli], a + inc a + call Function8b73e + inc a + ld [hl], a + pop hl + push hl + push bc + ld de, SCREEN_WIDTH + add hl, de +.asm_8b717 + push hl + ld a, $f + ld [hli], a + ld a, $7f + call Function8b73e + ld a, $11 + ld [hl], a + pop hl + ld de, SCREEN_WIDTH + add hl, de + dec b + jr nz, .asm_8b717 + call Function8b732 + pop bc + pop hl + jr Function8b744 +; 8b732 + +Function8b732: ; 8b732 + ld a, $12 + ld [hli], a + ld a, $13 + call Function8b73e + ld a, $14 + ld [hl], a + ret +; 8b73e + +Function8b73e: ; 8b73e + ld d, c +.asm_8b73f + ld [hli], a + dec d + jr nz, .asm_8b73f + ret +; 8b744 + +Function8b744: ; 8b744 + ld de, AttrMap - TileMap + add hl, de +rept 2 + inc b +endr +rept 2 + inc c +endr + xor a +.asm_8b74d + push bc + push hl +.asm_8b74f + ld [hli], a + dec c + jr nz, .asm_8b74f + pop hl + ld de, SCREEN_WIDTH + add hl, de + pop bc + dec b + jr nz, .asm_8b74d + ret +; 8b75d + +Function8b75d: ; 8b75d + call Function8923c + hlcoord 0, 0 + ld a, $1 + ld bc, SCREEN_WIDTH + call ByteFill + hlcoord 0, 1 + ld a, $2 + ld [hl], a + hlcoord 9, 1 + ld c, $b + call Function8b788 + hlcoord 1, 1 + ld a, $4 + ld e, $8 +.asm_8b780 + ld [hli], a + inc a + dec e + jr nz, .asm_8b780 + jr Function8b79e +; 8b787 + +Function8b787: ; 8b787 + ret +; 8b788 + +Function8b788: ; 8b788 +.asm_8b788 + ld a, $2 + ld [hli], a + dec c + ret z + ld a, $1 + ld [hli], a + dec c + ret z + ld a, $3 + ld [hli], a + dec c + ret z + ld a, $1 + ld [hli], a + dec c + jr nz, .asm_8b788 + ret +; 8b79e + +Function8b79e: ; 8b79e + hlcoord 0, 1, AttrMap + ld a, $1 + ld [hli], a + hlcoord 9, 1, AttrMap + ld e, $b +.asm_8b7a9 + ld a, $2 + ld [hli], a + dec e + ret z + xor a + ld [hli], a + dec e + ret z + ld a, $1 + ld [hli], a + dec e + ret z + xor a + ld [hli], a + dec e + jr nz, .asm_8b7a9 + ret +; 8b7bd + +Function8b7bd: ; 8b7bd + call Function8b855 + ld hl, MenuDataHeader_0x8b867 + call CopyMenuDataHeader + ld a, [wd030] + ld [wPocketCursorBuffer], a + ld a, [wd031] + ld [wd0e4], a + ld a, [wd032] + and a + jr z, .asm_8b7e0 + ld a, [wcf81] + set 3, a + ld [wcf81], a + +.asm_8b7e0 + ld a, [wd0e3] + and a + jr z, .asm_8b7ea + dec a + ld [wcf77], a + +.asm_8b7ea + hlcoord 0, 2 + ld b, $b + ld c, $12 + call Function8b703 + call Function8b75d + call UpdateSprites + call Function89209 + call Function350c + call Function8920f + ld a, [wcf73] + cp $2 + jr z, .asm_8b823 + cp $20 + jr nz, .asm_8b813 + call Function8b832 + jr .asm_8b7ea + +.asm_8b813 + cp $10 + jr nz, .asm_8b81c + call Function8b83e + jr .asm_8b7ea + +.asm_8b81c + ld a, [MenuSelection] + cp $ff + jr nz, .asm_8b824 + +.asm_8b823 + xor a + +.asm_8b824 + ld c, a + ld a, [wcfa9] + ld [wd030], a + ld a, [wd0e4] + ld [wd031], a + ret +; 8b832 + +Function8b832: ; 8b832 + ld a, [wd0e4] + ld hl, wcf92 + sub [hl] + jr nc, Function8b84b + xor a + jr Function8b84b +; 8b83e + +Function8b83e: ; 8b83e + ld a, [wd0e4] + ld hl, wcf92 + add [hl] + cp $24 + jr c, Function8b84b + ld a, $24 + +Function8b84b: ; 8b84b + ld [wd0e4], a + ld a, [wcfa9] + ld [wPocketCursorBuffer], a + ret +; 8b855 + +Function8b855: ; 8b855 + ld a, $28 + ld hl, DefaultFlypoint + ld [hli], a + ld c, $28 + xor a +.asm_8b85e + inc a + ld [hli], a + dec c + jr nz, .asm_8b85e + ld a, $ff + ld [hl], a + ret +; 8b867 + +MenuDataHeader_0x8b867: ; 0x8b867 + db $40 ; flags + db 03, 01 ; start coords + db 13, 18 ; end coords + dw MenuData2_0x8b870 + db 1 ; default option +; 0x8b86f + + db 0 + +MenuData2_0x8b870: ; 0x8b870 + db $3c ; flags + db 5 ; items + db 3, 1 + dbw 0, wd002 + dbw BANK(Function8b880), Function8b880 + dbw BANK(Function8b88c), Function8b88c + dbw BANK(Function8b8c8), Function8b8c8 +; 8b880 + +Function8b880: ; 8b880 + ld h, d + ld l, e + ld de, MenuSelection + lb bc, PRINTNUM_LEADINGZEROS | 1, 2 + call PrintNum + ret +; 8b88c + +Function8b88c: ; 8b88c + call OpenSRAMBank4 + ld h, d + ld l, e + push hl + ld de, String_89116 + call Function8931b + call Function8932d + jr c, .asm_8b8a3 + ld hl, $0000 + add hl, bc + ld d, h + ld e, l + +.asm_8b8a3 + pop hl + push hl + call PlaceString + pop hl + ld d, $0 + ld e, $6 + add hl, de + push hl + ld de, String_89116 + call Function8931b + call Function8934a + jr c, .asm_8b8c0 + ld hl, $0006 + add hl, bc + ld d, h + ld e, l + +.asm_8b8c0 + pop hl + call PlaceString + call CloseSRAM + ret +; 8b8c8 + +Function8b8c8: ; 8b8c8 + hlcoord 0, 14 + ld b, $2 + ld c, $12 + call TextBox + ld a, [wd033] + ld b, 0 + ld c, a + ld hl, Unknown_8b903 +rept 2 + add hl, bc +endr + ld a, [hli] + ld h, [hl] + ld l, a + ld d, h + ld e, l + hlcoord 1, 16 + call PlaceString + hlcoord 0, 13 + ld a, $f + ld [hl], a + hlcoord 19, 13 + ld a, $11 + ld [hl], a + ld a, [wd0e4] + cp $24 + ret c + hlcoord 0, 13 + ld c, $12 + call Function8b732 + ret +; 8b903 + +Unknown_8b903: ; 8b903 + dw String_8b90b + dw String_8b919 + dw String_8b92a + dw String_8b938 + +String_8b90b: db "めいしを えらんでください@" ; Please select a noun. +String_8b919: db "どの めいしと いれかえますか?@" ; OK to swap with any noun? +String_8b92a: db "あいてを えらんでください@" ; Please select an opponent. +String_8b938: db "いれる ところを えらんでください@" ; Please select a location. +; 8b94a + +Function8b94a: ; 8b94a + ld [wd033], a + xor a + ld [wd0e4], a + ld [wd032], a + ld [wd0e3], a + ld [wd031], a + ld a, $1 + ld [wd030], a + ret +; 8b960 + + +Function8b960: ; 8b960 (22:7960) + ld hl, MenuDataHeader_0x8b9ac + call LoadMenuDataHeader + call Function8b9e9 + jr c, .asm_8b97a + hlcoord 11, 0 + ld b, $6 + ld c, $7 + call Function8b703 + ld hl, MenuDataHeader_0x8b9b1 + jr .asm_8b987 +.asm_8b97a + hlcoord 11, 0 + ld b, $a + ld c, $7 + call Function8b703 + ld hl, MenuDataHeader_0x8b9ca +.asm_8b987 + ld a, $1 + call Function89d5e + ld hl, Function8b9ab + call Function89d85 + call ExitMenu + jr c, .asm_8b99c + call Function8b99f + jr nz, .asm_8b99d +.asm_8b99c + xor a +.asm_8b99d + ld c, a + ret + +Function8b99f: ; 8b99f (22:799f) + ld hl, DefaultFlypoint + dec a + ld c, a + ld b, $0 + add hl, bc + ld a, [hl] + cp $ff + ret +; 8b9ab (22:79ab) + +Function8b9ab: ; 8b9ab + ret +; 8b9ac + +MenuDataHeader_0x8b9ac: ; 0x8b9ac + db $40 ; flags + db 00, 11 ; start coords + db 11, 19 ; end coords + +MenuDataHeader_0x8b9b1: ; 0x8b9b1 + db $40 ; flags + db 00, 11 ; start coords + db 07, 19 ; end coords + dw MenuData2_0x8b9b9 + db 1 ; default option +; 0x8b9b9 + +MenuData2_0x8b9b9: ; 0x8b9b9 + db $a0 ; flags + db 3 ; items + db "へんしゅう@" ; EDIT + db "いれかえ@" ; REPLACE + db "やめる@" ; QUIT +; 0x8b9ca + +MenuDataHeader_0x8b9ca: ; 0x8b9ca + db $40 ; flags + db 00, 11 ; start coords + db 11, 19 ; end coords + dw MenuData2_0x8b9d2 + db 1 ; default option +; 0x8b9d2 + +MenuData2_0x8b9d2: ; 0x8b9d2 + db $a0 ; flags + db 5 ; items + db "みる@" ; VIEW + db "へんしゅう@" ; EDIT + db "いれかえ@" ; REPLACE + db "けす@" ; ERASE + db "やめる@" ; QUIT +; 0x8b9e9 + +Function8b9e9: ; 8b9e9 (22:79e9) + call OpenSRAMBank4 + call Function8931b + call Function8932d + jr nc, .asm_8b9f6 + jr .asm_8b9ff +.asm_8b9f6 + ld hl, $11 + add hl, bc + call Function89b45 + jr c, .asm_8ba08 +.asm_8b9ff + call Function892b4 + and a + ld de, Unknown_8ba1c + jr .asm_8ba0c +.asm_8ba08 + ld de, Unknown_8ba1f + scf +.asm_8ba0c + push af + ld hl, DefaultFlypoint +.asm_8ba10 + ld a, [de] + inc de + ld [hli], a + cp $ff + jr nz, .asm_8ba10 + call CloseSRAM + pop af + ret +; 8ba1c (22:7a1c) + +Unknown_8ba1c: ; 8b1ac + db 2, 4, -1 + +Unknown_8ba1f: ; 8ba1f + db 1, 2, 4, 3, -1 +; 8ba24 diff --git a/misc/mobile_40.asm b/misc/mobile_40.asm index f1fbde29d..ebc303400 100644 --- a/misc/mobile_40.asm +++ b/misc/mobile_40.asm @@ -84,7 +84,7 @@ Function100082: ; 100082 ld [hLCDStatCustom], a ld a, $1 ld [$ffc9], a - ld [$ffe9], a + ld [hMobile], a ei ret ; 0x1000a4 @@ -93,7 +93,7 @@ Function1000a4: ; 1000a4 di xor a ld [$ffc9], a - ld [$ffe9], a + ld [hMobile], a xor a ld [hVBlank], a call NormalSpeed @@ -166,19 +166,19 @@ Function1000fa: ; 1000fa ld [rIE], a xor a ld [$ffc9], a - ld [$ffe9], a + ld [hMobile], a ei - ld a, [InLinkBattle] + ld a, [wLinkMode] push af xor a - ld [InLinkBattle], a + ld [wLinkMode], a ld a, $4 ld [wPartyMonMenuIconAnims + 5], a callba Function11619d ld hl, wcd29 set 6, [hl] pop af - ld [InLinkBattle], a + ld [wLinkMode], a ret ; 100144 @@ -332,7 +332,7 @@ Function100232: ; 100232 pop de call PlaceString call Function100320 - call Functiona36 + call JoyWaitAorB ret ; 10024d @@ -432,7 +432,7 @@ Function100301: ; 100301 callba Function10202c callba Function115dd3 call Function100320 - call Functiona36 + call JoyWaitAorB ret ; 100320 @@ -1612,7 +1612,7 @@ Function100a09: ; 100a09 call Function100a2e ld [wd431], a callba Function4000 - ld a, [InLinkBattle] + ld a, [wLinkMode] cp $4 jr nz, .asm_100a2a @@ -1787,12 +1787,12 @@ Function100b12: ; 100b12 ld a, BANK(BattleMenuDataHeader) ld [wcf94], a ld a, [wd0d2] - ld [wcf88], a + ld [wPocketCursorBuffer], a call Function100e72 call Function100b45 callba Function8e85 call Function100ed4 - ld a, [wcf88] + ld a, [wPocketCursorBuffer] ld [wd0d2], a call ExitMenu ret @@ -1819,7 +1819,7 @@ Function100b45: ; 100b45 ld c, a ld a, [wcfa3] call SimpleMultiply - ld [wcf88], a + ld [wPocketCursorBuffer], a and a ret ; 100b7a @@ -1960,7 +1960,7 @@ Function100c74: ; 100c74 ld c, 8 call TextBox ld hl, BattleMonMoves - ld de, wd25e + ld de, wListMoves_MoveIndicesBuffer ld bc, NUM_MOVES call CopyBytes ld a, SCREEN_WIDTH * 2 @@ -2011,7 +2011,7 @@ Function100cb5: ; 100cb5 cp b jr z, .asm_100d17 ld [wd0d8], a - ld a, [$ffa9] + ld a, [hJoyLast] ld b, a bit 1, b jr nz, .asm_100d17 @@ -2135,7 +2135,7 @@ Function100db0: ; 100db0 Function100dc0: ; 100dc0 - ld a, [InLinkBattle] + ld a, [wLinkMode] cp $4 jr nz, .asm_100dd0 ld hl, wcd2a @@ -2498,7 +2498,7 @@ Unknown_100ff3: ; 100ff3 dbwww $80, PlayerName, NAME_LENGTH, NULL dbwww $80, PlayerName, NAME_LENGTH, NULL dbwww $80, PlayerID, 2, NULL - dbwww $80, wd84a, 2, NULL + dbwww $80, wSecretID, 2, NULL dbwww $80, PlayerGender, 1, NULL dbwww $04, $a603, 8, NULL dbwww $04, $a007, $30, NULL @@ -2771,13 +2771,13 @@ Function1011f1: ; 1011f1 ld [wdc5f], a ld [wdc60], a ld a, $4 - ld [InLinkBattle], a + ld [wLinkMode], a ret ; 101220 Function101220: ; 101220 xor a - ld [InLinkBattle], a + ld [wLinkMode], a ret ; 101225 @@ -3912,7 +3912,7 @@ Function101913: ; 101913 ; 10194b Function10194b: ; 10194b - call Function2ed3 + call DisableSpriteUpdates call ClearSprites callba Function1021f9 ld hl, wcd29 @@ -4980,7 +4980,7 @@ Function102142: ; 102142 call MenuTextBox ld de, SFX_LEVEL_UP call PlaySFX - call Functiona36 + call JoyWaitAorB call ExitMenu call Function10219f ld hl, UnknownText_0x1021d6 @@ -5023,7 +5023,7 @@ Function10219f: ; 10219f call Function10218d ld de, $c608 + 1 callba Function8ac4e - call Functiona36 + call JoyWaitAorB call PlayClickSFX call Function1013aa ret @@ -5057,7 +5057,7 @@ UnknownText_0x1021db: ; 1021d1 Function1021e0: ; 1021e0 call MenuTextBox - call Functiona36 + call JoyWaitAorB call ExitMenu ret ; 1021ea @@ -5402,7 +5402,7 @@ Function102423: ; 102423 call Function102921 ret nc callba Function14a58 - callba Function1060af + callba MobileFn_1060af callba Function106187 ld hl, wcd4b set 1, [hl] @@ -6409,7 +6409,7 @@ Function102b12: ; 102b12 ld c, $64 call DelayFrames call Function102d9a - call Functione58 + call LoadFontsBattleExtra ld a, [wcd2f] and a jr nz, .asm_102b2b @@ -6613,12 +6613,12 @@ Function102c71: ; 102c71 ; 102c87 Function102c87: ; 102c87 - ld a, [wcf63] + ld a, [wJumptableIndex] push af ld a, [wcf64] push af ld a, [wcd4c] - ld [wcf63], a + ld [wJumptableIndex], a ld a, [PartyCount] ld [wcf64], a ld a, $0 @@ -6633,7 +6633,7 @@ Function102c87: ; 102c87 ld bc, $011a call Function102d3e ld a, [wcd4d] - ld [wcf63], a + ld [wJumptableIndex], a ld a, [OTPartyCount] ld [wcf64], a ld a, $5 @@ -6650,18 +6650,18 @@ Function102c87: ; 102c87 pop af ld [wcf64], a pop af - ld [wcf63], a + ld [wJumptableIndex], a ret ; 102cee Function102cee: ; 102cee - ld a, [wcf63] + ld a, [wJumptableIndex] dec a call Function102d34 ld de, DefaultFlypoint ld bc, $002f call CopyBytes - ld a, [wcf63] + ld a, [wJumptableIndex] ld c, a ld a, $6 sub c @@ -6670,7 +6670,7 @@ Function102cee: ; 102cee ld hl, $0000 call AddNTimes push hl - ld a, [wcf63] + ld a, [wJumptableIndex] dec a call Function102d34 ld d, h @@ -6803,7 +6803,7 @@ Function102e07: ; 102e07 hlcoord 3, 10 ld b, $1 ld c, $b - ld a, [IsInBattle] + ld a, [wBattleMode] and a jr z, .asm_102e19 call TextBox @@ -7689,7 +7689,7 @@ Function103612: ; 103612 ld a, [wdc40] and $f jr z, .asm_103622 - ld [wcf88], a + ld [wPocketCursorBuffer], a .asm_103622 call InterpretMenu2 @@ -7750,7 +7750,7 @@ Mobile_SelectThreeMons: ; 10366e jr c, .asm_103696 callba Function8b1e1 jr nc, .asm_103690 - call Functiona36 + call JoyWaitAorB jr .asm_103696 .asm_103690 @@ -7773,7 +7773,7 @@ Mobile_SelectThreeMons: ; 10366e call YesNoBox jr c, .asm_1036b5 call Function1036f9 - call Functiona36 + call JoyWaitAorB .asm_1036b5 call Function103700 @@ -7795,7 +7795,7 @@ Mobile_SelectThreeMons: ; 10366e .asm_1036d9 callba Function8b1e1 jr nc, .asm_1036e6 - call Functiona36 + call JoyWaitAorB jr .asm_1036f4 .asm_1036e6 @@ -7805,7 +7805,7 @@ Mobile_SelectThreeMons: ; 10366e .asm_1036ec call Function1036f9 - call Functiona36 + call JoyWaitAorB jr .asm_1036b5 .asm_1036f4 @@ -7860,7 +7860,7 @@ Function103700: ; 103700 .asm_10373c ld hl, UnknownText_0x10377b call PrintText - call Functiona36 + call JoyWaitAorB scf ret ; 103747 @@ -7982,10 +7982,10 @@ Function1037eb: ; 1037eb jr nc, .asm_103807 ld hl, UnknownText_0x103819 call PrintText - call Functiona36 + call JoyWaitAorB ld hl, UnknownText_0x10381e call PrintText - call Functiona36 + call JoyWaitAorB xor a ld [ScriptVar], a ret @@ -8043,7 +8043,7 @@ endr ld [hl], a ld hl, UnknownText_0x103876 call PrintText - call Functiona36 + call JoyWaitAorB callba Script_reloadmappart callba Function4a94e jr c, .asm_103870 @@ -8075,7 +8075,7 @@ Function10387b: ; 10387b ld [StringBuffer2], a ld hl, UnknownText_0x103898 call PrintText - call Functiona36 + call JoyWaitAorB ret ; 103898 diff --git a/misc/mobile_42.asm b/misc/mobile_42.asm index a66e375ea..e09899f48 100644 --- a/misc/mobile_42.asm +++ b/misc/mobile_42.asm @@ -124,7 +124,7 @@ Function108089: ; 108089 Function1080b7: ; 1080b7 xor a - ld [wcf63], a + ld [wJumptableIndex], a call WhiteBGMap call ClearSprites call ClearTileMap @@ -132,7 +132,7 @@ Function1080b7: ; 1080b7 call Function1081ad call Function1081ca call Functione51 - call Functione58 + call LoadFontsBattleExtra ld a, $1 ld [rVBK], a ld hl, LZ_108da7 @@ -141,7 +141,7 @@ Function1080b7: ; 1080b7 ld a, $0 ld [rVBK], a ld hl, LZ_108d27 - ld de, $8200 + ld de, VTiles0 tile $20 call Decompress call EnableLCD xor a @@ -158,7 +158,7 @@ Function1080b7: ; 1080b7 lb bc, BANK(TradeBallGFX), $06 call Request2bpp ld de, TradePoofGFX - ld hl, $8060 + ld hl, VTiles0 tile $06 lb bc, BANK(TradePoofGFX), $0c call Request2bpp xor a @@ -167,11 +167,11 @@ Function1080b7: ; 1080b7 ld [hl], $0 ld a, [$c6d0] ld hl, $c6fd - ld de, $8300 + ld de, VTiles0 tile $30 call Function1081e9 ld a, [wc702] ld hl, wc72f - ld de, $9310 + ld de, VTiles2 tile $31 call Function1081e9 ld a, [$c6d0] ld de, $c6d1 @@ -187,7 +187,7 @@ Function1080b7: ; 1080b7 Function108157: ; 108157 xor a - ld [wcf63], a + ld [wJumptableIndex], a call WhiteBGMap call ClearSprites call ClearTileMap @@ -195,7 +195,7 @@ Function108157: ; 108157 call Function1081ad call Function1081ca call Functione51 - call Functione58 + call LoadFontsBattleExtra call EnableLCD xor a ld [hSCX], a @@ -310,7 +310,7 @@ Function108239: ; 108239 ; 10824b Function10824b: ; 10824b - ld a, [wcf63] + ld a, [wJumptableIndex] bit 7, a jr nz, .asm_10825a call Function10827b @@ -327,7 +327,7 @@ Function10824b: ; 10824b ld a, $90 ld [hWY], a call Functione51 - call Functione58 + call LoadFontsBattleExtra callba Function106462 callba Function106464 scf @@ -335,7 +335,7 @@ Function10824b: ; 10824b ; 10827b Function10827b: ; 10827b - ld a, [wcf63] + ld a, [wJumptableIndex] ld e, a ld d, 0 ld hl, Jumptable_10828a @@ -372,7 +372,7 @@ Jumptable_10828a: ; 10828a ; 1082b2 Function1082b2: ; 1082b2 - ld hl, wcf63 + ld hl, wJumptableIndex inc [hl] ret ; 1082b7 @@ -383,7 +383,7 @@ Function1082b7: ; 1082b7 inc hl ld d, [hl] ld a, [de] - ld [wcf63], a + ld [wJumptableIndex], a inc de ld [hl], d dec hl @@ -392,7 +392,7 @@ Function1082b7: ; 1082b7 ; 1082c6 Function1082c6: ; 1082c6 - ld hl, wcf63 + ld hl, wJumptableIndex set 7, [hl] ret ; 1082cc @@ -587,7 +587,7 @@ Function10842c: ; 10842c lb bc, BANK(TradeBallGFX), $06 call Request2bpp ld de, TradePoofGFX - ld hl, $8060 + ld hl, VTiles0 tile $06 lb bc, BANK(TradePoofGFX), $0c call Request2bpp ld a, [$c6fd] @@ -661,7 +661,7 @@ Function1084d7: ; 1084d7 lb bc, BANK(TradeBallGFX), $06 call Request2bpp ld de, TradePoofGFX - ld hl, $8060 + ld hl, VTiles0 tile $06 lb bc, BANK(TradePoofGFX), $0c call Request2bpp xor a @@ -730,7 +730,7 @@ Function108589: ; 108589 lb bc, BANK(TradeBallGFX), $06 call Request2bpp ld de, TradePoofGFX - ld hl, $8060 + ld hl, VTiles0 tile $06 lb bc, BANK(TradePoofGFX), $0c call Request2bpp xor a @@ -832,7 +832,7 @@ Function108689: ; 108689 ld a, $0 ld [rVBK], a ld hl, LZ_108d27 - ld de, $8200 + ld de, VTiles0 tile $20 call Decompress call Function108c80 call Function108c6d @@ -876,7 +876,7 @@ Function1086f4: ; 1086f4 ld a, $0 ld [rVBK], a ld hl, LZ_108d27 - ld de, $8200 + ld de, VTiles0 tile $20 call Decompress call Function108c80 call Function108c6d @@ -1195,11 +1195,11 @@ Function10893d: ; 10893d ; 10895e Function10895e: ; 10895e - ld de, $8300 + ld de, VTiles0 tile $30 jr asm_108966 Function108963: - ld de, $9310 + ld de, VTiles2 tile $31 asm_108966 call DelayFrame @@ -1270,8 +1270,8 @@ Function1089d2: asm_1089fc call WaitTop call Function108ac8 - ld a, $9c - ld [$ffd7], a + ld a, VBGMap1 / $100 + ld [hBGMapAddress + 1], a hlcoord 5, 0 ld b, $6 ld c, $9 @@ -1293,8 +1293,8 @@ String_108a1d: ; 108a1d Function108a33: ; 108a33 call WaitTop call Function108ac8 - ld a, $9c - ld [$ffd7], a + ld a, VBGMap1 / $100 + ld [hBGMapAddress + 1], a hlcoord 5, 0 ld b, $6 ld c, $9 @@ -1313,8 +1313,8 @@ String_108a54: ; 108a54 Function108a5b: ; 108a5b call WaitTop call Function108ac8 - ld a, $9c - ld [$ffd7], a + ld a, VBGMap1 / $100 + ld [hBGMapAddress + 1], a hlcoord 4, 0 ld b, $6 ld c, $a @@ -1336,8 +1336,8 @@ String_108a79: ; 108a79 Function108a87: ; 108a87 call WaitBGMap call WaitTop - ld a, $98 - ld [$ffd7], a + ld a, VBGMap0 / $100 + ld [hBGMapAddress + 1], a ret ; 108a92 @@ -1405,7 +1405,7 @@ Function108ad4: ; 108ad4 .asm_108adf ld a, $1 ld [rVBK], a - ld hl, $94a0 + ld hl, VTiles2 tile $4a lb bc, $42, $10 call Functiondc9 call DelayFrame diff --git a/misc/mobile_45.asm b/misc/mobile_45.asm index 8c9073bcc..e0ea8d457 100644 --- a/misc/mobile_45.asm +++ b/misc/mobile_45.asm @@ -703,7 +703,7 @@ endr ld a, d or e jr z, .asm_114559 - ld hl, wdc07 + ld hl, wCurrMapTriggerCount ld e, [hl] inc hl ld d, [hl] @@ -1537,7 +1537,7 @@ Function1149cc: ; 1149cc ld [hl], d dec hl ld [hl], e - ld hl, wdc07 + ld hl, wCurrMapTriggerCount ld e, [hl] inc hl ld d, [hl] @@ -2416,14 +2416,14 @@ Function114e62: ; 114e62 ld a, c and a jr nz, .asm_114e6f - ld a, [wdc23] + ld a, [wStartDay] and a jp z, Function11425c jr .asm_114e76 .asm_114e6f xor a - ld [wdc23], a + ld [wStartDay], a call Function114ee9 .asm_114e76 @@ -2494,7 +2494,7 @@ Function114ea0: ; 114ea0 ld [hli], a ld [hl], b xor a - ld [wdc23], a + ld [wStartDay], a ret .asm_114edb @@ -2614,7 +2614,7 @@ Function114f39: ; 114f39 ; 114f59 Function114f59: ; 114f59 - ld a, [wdc23] + ld a, [wStartDay] and a jr nz, .asm_114f7c ld a, [wdc03] @@ -2632,7 +2632,7 @@ Function114f59: ; 114f59 and a jr nz, .asm_114fe7 ld a, $1 - ld [wdc23], a + ld [wStartDay], a .asm_114f7c ld a, [wdc03] @@ -2811,7 +2811,7 @@ Function115062: ; 115062 ld d, [hl] ld b, $0 ld hl, wdc24 - ld a, [wdc23] + ld a, [wStartDay] cp $1 jr z, .asm_11509b cp $2 @@ -2836,14 +2836,14 @@ Function115062: ; 115062 call Function115d53 call Function1150b3 call Function115136 - ld a, [wdc23] + ld a, [wStartDay] inc a cp $4 jr nz, .asm_1150ae ld a, $2 .asm_1150ae - ld [wdc23], a + ld [wStartDay], a xor a .asm_1150b2 @@ -3329,7 +3329,7 @@ Function1152b8: ; 1152b8 call Function114ea0 and a jr nz, .asm_1152f9 - ld [wdc23], a + ld [wStartDay], a ld a, [wdc03] cp $6 jr nz, .asm_1152ca @@ -3337,7 +3337,7 @@ Function1152b8: ; 1152b8 .asm_115335 call Function1153b5 xor a - ld [wdc23], a + ld [wStartDay], a call Function114f59 and a jr nz, .asm_1152f9 @@ -3355,7 +3355,7 @@ Function1152b8: ; 1152b8 jr z, .asm_11536b call Function1153b5 xor a - ld [wdc23], a + ld [wStartDay], a call Function114f59 and a jr nz, .asm_1152f9 @@ -3425,7 +3425,7 @@ Function11537d: ; 11537d ld [hl], d xor a ld [wdc03], a - ld [wdc23], a + ld [wStartDay], a ret ; 1153b5 @@ -3645,7 +3645,7 @@ Function1153d2: ; 1153d2 Function1154d4: ; 1154d4 xor a - ld [wdc23], a + ld [wStartDay], a call Function1155af call Function11560a and a @@ -3659,7 +3659,7 @@ Function1154d4: ; 1154d4 cp $1 jr nz, .asm_115531 xor a - ld [wdc1c], a + ld [wDailyResetTimer], a .asm_1154f7 ld a, [BigDoll] cp $2 @@ -3699,7 +3699,7 @@ Function1154d4: ; 1154d4 .asm_115531 ld a, $1 - ld [wdc1c], a + ld [wDailyResetTimer], a ld a, $b ld [wdc03], a call Function114f59 @@ -3726,7 +3726,7 @@ Function1154d4: ; 1154d4 call Function114ea0 and a jr nz, .asm_11552c - ld a, [wdc1c] + ld a, [wDailyResetTimer] and a jr z, .asm_11557d ld a, $f @@ -3860,7 +3860,7 @@ Function11560a: ; 11560a ld c, [hl] inc hl ld b, [hl] - ld a, [wdc0a] + ld a, [wCurrMapCallbackCount] cp b jp c, .asm_1156b1 jr nz, .asm_115631 @@ -3874,7 +3874,7 @@ Function11560a: ; 11560a jr z, .asm_1156a9 ld a, [wdc09] ld l, a - ld a, [wdc0a] + ld a, [wCurrMapCallbackCount] ld h, a ld a, c cpl @@ -3887,7 +3887,7 @@ Function11560a: ; 11560a ld a, l ld [wdc09], a ld a, h - ld [wdc0a], a + ld [wCurrMapCallbackCount], a .asm_11564d ld a, $3 cp b @@ -3929,13 +3929,13 @@ Function11560a: ; 11560a ld a, [wCurrentMapSignpostCount] ld [$ff8c], a ld [$4000], a - ld hl, wdc07 + ld hl, wCurrMapTriggerCount ld e, [hl] inc hl ld d, [hl] ld hl, wdc24 call Function115d6a - ld hl, wdc07 + ld hl, wCurrMapTriggerCount ld [hl], e inc hl ld [hl], d @@ -3977,7 +3977,7 @@ Function11560a: ; 11560a ; 1156cc Function1156cc: ; 1156cc - ld a, [wdc23] + ld a, [wStartDay] and a jp z, Function11425c cp $2 @@ -4006,7 +4006,7 @@ Function1156cc: ; 1156cc call Function11581e and a jr nz, .asm_11572b - ld a, [wdc23] + ld a, [wStartDay] cp $5 jr z, .asm_115716 ld a, [Poster] @@ -4017,7 +4017,7 @@ Function1156cc: ; 1156cc jp Function11425c .asm_115716 - ld hl, wdc0a + ld hl, wCurrMapCallbackCount ld a, [hli] cpl ld e, a @@ -4030,7 +4030,7 @@ Function1156cc: ; 1156cc ld l, a add hl, de xor a - ld [wdc23], a + ld [wStartDay], a jp Function11425c .asm_11572b @@ -4165,7 +4165,7 @@ Function11575c: ; 11575c pop hl add hl, bc ld a, $2 - ld [wdc23], a + ld [wStartDay], a ret ; 1157d0 @@ -4213,7 +4213,7 @@ Function1157d0: ; 1157d0 ld a, b ld [Bed], a ld a, $4 - ld [wdc23], a + ld [wStartDay], a ret .asm_11580f @@ -4223,12 +4223,12 @@ Function1157d0: ; 1157d0 ld a, b ld [Bed], a ld a, $3 - ld [wdc23], a + ld [wStartDay], a ret ; 11581e Function11581e: ; 11581e - ld a, [wdc23] + ld a, [wStartDay] and a ret z ld a, [wdc0e] @@ -4262,9 +4262,9 @@ Function11581e: ; 11581e ld b, [hl] inc hl push hl - ld a, [wdc0a] + ld a, [wCurrMapCallbackCount] ld l, a - ld a, [wdc0b] + ld a, [wCurrMapCallbackHeaderPointer] ld h, a cp b jr c, .asm_1158bb @@ -4284,12 +4284,12 @@ Function11581e: ; 11581e inc bc add hl, bc ld a, l - ld [wdc0a], a + ld [wCurrMapCallbackCount], a ld a, h - ld [wdc0b], a + ld [wCurrMapCallbackHeaderPointer], a pop bc pop hl - ld hl, wdc07 + ld hl, wCurrMapTriggerCount ld a, [hli] ld [wCurrentMapSignpostCount], a ld [$ff8c], a @@ -4299,13 +4299,13 @@ Function11581e: ; 11581e ld d, [hl] ld hl, PartyMon5Speed call Function115d6a - ld hl, wdc07 + ld hl, wCurrMapTriggerCount ld a, [wCurrentMapSignpostCount] ld [hli], a ld a, e ld [hli], a ld [hl], d - ld a, [wdc23] + ld a, [wStartDay] cp $3 jr z, .asm_1158b4 cp $4 @@ -4314,12 +4314,12 @@ Function11581e: ; 11581e .asm_1158ad ld a, $5 - ld [wdc23], a + ld [wStartDay], a jr .asm_1158b9 .asm_1158b4 ld a, $2 - ld [wdc23], a + ld [wStartDay], a .asm_1158b9 xor a @@ -4330,7 +4330,7 @@ Function11581e: ; 11581e .asm_1158bc ld a, $ff - ld [wdc23], a + ld [wStartDay], a ret ; 1158c2 @@ -4575,7 +4575,7 @@ Function1159dc: ; 1159dc ; 1159fb Function1159fb: ; 1159fb - ld a, [wdc23] + ld a, [wStartDay] and a jp z, Function11425c cp $2 @@ -4604,7 +4604,7 @@ Function1159fb: ; 1159fb call Function115b00 and a jr nz, .asm_115a5a - ld a, [wdc23] + ld a, [wStartDay] cp $5 jr z, .asm_115a45 ld a, [Poster] @@ -4615,7 +4615,7 @@ Function1159fb: ; 1159fb jp Function11425c .asm_115a45 - ld hl, wdc0a + ld hl, wCurrMapCallbackCount ld a, [hli] cpl ld e, a @@ -4628,7 +4628,7 @@ Function1159fb: ; 1159fb ld l, a add hl, de xor a - ld [wdc23], a + ld [wStartDay], a jp Function11425c .asm_115a5a @@ -4692,7 +4692,7 @@ Function115a5f: ; 115a5f rl b add hl, bc ld a, $2 - ld [wdc23], a + ld [wStartDay], a ret ; 115ab0 @@ -4740,7 +4740,7 @@ Function115ab0: ; 115ab0 ld a, b ld [Bed], a ld a, $4 - ld [wdc23], a + ld [wStartDay], a xor a ret @@ -4751,13 +4751,13 @@ Function115ab0: ; 115ab0 ld a, b ld [Bed], a ld a, $3 - ld [wdc23], a + ld [wStartDay], a xor a ret ; 115b00 Function115b00: ; 115b00 - ld a, [wdc23] + ld a, [wStartDay] and a ret z ld a, [wdc0e] @@ -4780,7 +4780,7 @@ Function115b00: ; 115b00 jr z, .asm_115b43 cp $2 jr z, .asm_115b3b - ld a, [wdc23] + ld a, [wStartDay] cp $4 jr z, .asm_115b43 rept 2 @@ -4798,7 +4798,7 @@ endr .asm_115b3d ld a, $ff - ld [wdc23], a + ld [wStartDay], a ret .asm_115b43 @@ -4826,9 +4826,9 @@ endr ld b, [hl] inc hl push hl - ld a, [wdc0a] + ld a, [wCurrMapCallbackCount] ld l, a - ld a, [wdc0b] + ld a, [wCurrMapCallbackHeaderPointer] ld h, a cp b jr c, .asm_115b36 @@ -4848,12 +4848,12 @@ endr inc bc add hl, bc ld a, l - ld [wdc0a], a + ld [wCurrMapCallbackCount], a ld a, h - ld [wdc0b], a + ld [wCurrMapCallbackHeaderPointer], a pop bc pop hl - ld hl, wdc07 + ld hl, wCurrMapTriggerCount ld a, [hli] ld [wCurrentMapSignpostCount], a ld [$ff8c], a @@ -4863,13 +4863,13 @@ endr ld d, [hl] ld hl, wdc26 call Function115d6a - ld hl, wdc07 + ld hl, wCurrMapTriggerCount ld a, [wCurrentMapSignpostCount] ld [hli], a ld a, e ld [hli], a ld [hl], d - ld a, [wdc23] + ld a, [wStartDay] cp $3 jr z, .asm_115bc1 cp $4 @@ -4878,12 +4878,12 @@ endr .asm_115bba ld a, $5 - ld [wdc23], a + ld [wStartDay], a jr .asm_115bc6 .asm_115bc1 ld a, $2 - ld [wdc23], a + ld [wStartDay], a .asm_115bc6 xor a @@ -4949,7 +4949,7 @@ Function115bc8: ; 115bc8 jr nz, .asm_115bcc .asm_115c1b - ld a, [wdc23] + ld a, [wStartDay] cp $4 jr z, .asm_115c33 ld a, [de] @@ -5053,7 +5053,7 @@ endr .asm_115c99 ld a, $ff - ld [wdc23], a + ld [wStartDay], a ret .asm_115c9f @@ -5156,7 +5156,7 @@ Function115cfd: ; 115cfd pop hl pop hl ld a, $ff - ld [wdc23], a + ld [wStartDay], a ret .asm_115d2f @@ -5268,7 +5268,7 @@ Function115d80: ; 115d80 Function115d99: ; 115d99 ld de, GFX_11601a - ld hl, $8600 + ld hl, VTiles0 tile $60 lb bc, BANK(GFX_11601a), $14 call Get2bpp xor a @@ -5976,7 +5976,7 @@ Function1163c0: ; 1163c0 pop af ld [rSVBK], a callba Function104061 - ld a, [InLinkBattle] + ld a, [wLinkMode] cp $4 jr z, .asm_11642a ld a, $8 @@ -7656,13 +7656,13 @@ Function117656: ; 117656 ; 11765d Function11765d: ; 11765d (45:765d) - ld a, [$ffaa] + ld a, [hInMenu] push af ld a, $1 - ld [$ffaa], a + ld [hInMenu], a call Function11766b pop af - ld [$ffaa], a + ld [hInMenu], a ret Function11766b: ; 11766b (45:766b) @@ -7716,7 +7716,7 @@ Function117699: ; 117699 (45:7699) ret Function1176ee: ; 1176ee (45:76ee) - call Functiona57 + call JoyTextDelay ld a, [wcd49] bit 7, a jr nz, .asm_117709 @@ -7798,7 +7798,7 @@ Function117764: ; 117764 (45:7764) ld a, [hl] and $2 jr nz, asm_1177d6 - ld hl, $ffa9 + ld hl, hJoyLast ld a, [hl] and $40 jr nz, asm_1177f1 @@ -7973,11 +7973,11 @@ Function1178aa: ; 1178aa (45:78aa) ld hl, MenuDataHeader_1179b5 call LoadMenuDataHeader call Function1cbb - call Function1cfd + call GetMemTileCoord ld hl, MenuDataHeader_1179bd call LoadMenuDataHeader call Function1cbb - call Function1cfd + call GetMemTileCoord callba Function104061 hlcoord 16, 8 ld de, String_1179c5 @@ -8076,7 +8076,7 @@ Function117984: ; 117984 (45:7984) ld hl, MenuDataHeader_1179b5 call LoadMenuDataHeader call Function1cbb - call Function1cfd + call GetMemTileCoord callba Function104061 hlcoord 1, 14 ld de, String_1179e1 @@ -8150,13 +8150,13 @@ INCBIN "data/mobile/ascii-sym.txt" ; Mobile Stadium option from the continue/newgame menu. ; XXX better function names MobileStudium: ; 0x117a7f - ld a, [$ffaa] + ld a, [hInMenu] push af ld a, $1 - ld [$ffaa], a + ld [hInMenu], a call Function117a8d pop af - ld [$ffaa], a + ld [hInMenu], a ret ; 0x117a8d @@ -8168,7 +8168,7 @@ Function117a8d: ; 0x117a8d Function117a94: ; 0x117a94 xor a - ld [wcf63], a + ld [wJumptableIndex], a ld [wcf64], a ld [wcf65], a ld [wcf66], a @@ -8189,8 +8189,8 @@ Function117ab4: ; 0x117ab4 ; 0x117acd Function117acd: ; 0x117acd - call Functiona57 - ld a, [wcf63] + call JoyTextDelay + ld a, [wJumptableIndex] bit 7, a jr nz, .asm_117ae2 ; 0x117ad5 $b call Function117ae9 @@ -8202,7 +8202,7 @@ Function117acd: ; 0x117acd ret Function117ae9: ; 0x117ae9 - ld a, [wcf63] + ld a, [wJumptableIndex] ld e, a ld d, $0 ld hl, Pointers117af8 @@ -8236,7 +8236,7 @@ Function117b14: ld hl, Data117cbc call LoadMenuDataHeader call Function1cbb - call Function1cfd + call GetMemTileCoord jp Function117cdd Function117b28: @@ -8248,7 +8248,7 @@ Function117b31: ld hl, Data117cc4 call LoadMenuDataHeader call Function1cbb - call Function1cfd + call GetMemTileCoord hlcoord 16, 8 ld de, YesNo117ccc call PlaceString @@ -8306,7 +8306,7 @@ Function117b4f: call ExitMenu callba Function104061 ld a, $80 - ld [wcf63], a + ld [wJumptableIndex], a ret Function117bb6: @@ -8325,11 +8325,11 @@ Function117bb6: ld [wc303], a callba Function17f555 ld a, $80 - ld [wcf63], a + ld [wJumptableIndex], a ret .asm_117be1 ld a, $80 - ld [wcf63], a + ld [wJumptableIndex], a ret .asm_117be7 ld a, [rSVBK] @@ -8386,7 +8386,7 @@ Function117c4a: ld hl, Data117cbc call LoadMenuDataHeader call Function1cbb - call Function1cfd + call GetMemTileCoord callba Function104061 ld hl, MobileStadiumSuccessText call PrintText @@ -8411,7 +8411,7 @@ Function117c4a: pop af ld [rSVBK], a ld a, $80 - ld [wcf63], a + ld [wJumptableIndex], a ret Function117c89: @@ -8464,7 +8464,7 @@ MobileStadiumSuccessText: ; 0x117cd8 db "@" Function117cdd: ; 0x117cdd - ld hl, wcf63 + ld hl, wJumptableIndex inc [hl] ret @@ -8493,7 +8493,7 @@ asm_11800b ld a, $3 ld [rSVBK], a .asm_118024 - call Functiona57 + call JoyTextDelay call Function118473 ld a, [wcf66] cp $1b @@ -8534,7 +8534,7 @@ Function11805f: ; 11805f ld a, $3 ld [rSVBK], a .asm_11807d - call Functiona57 + call JoyTextDelay call Function118473 ld a, [wcf66] cp $1b @@ -8572,7 +8572,7 @@ Function1180b8: ; 1180b8 ld a, $3 ld [rSVBK], a .asm_1180d1 - call Functiona57 + call JoyTextDelay call Function118473 ld a, [wcf66] cp $28 @@ -8627,7 +8627,7 @@ Function118125: ; 118125 ld a, $3 ld [rSVBK], a .asm_11813e - call Functiona57 + call JoyTextDelay call Function118473 ld a, [wcf66] cp $f @@ -8712,7 +8712,7 @@ Function1181da: ; 1181da ld a, $3 ld [rSVBK], a .asm_1181f8 - call Functiona57 + call JoyTextDelay call Function118473 ld a, [wcf66] cp $28 @@ -8750,7 +8750,7 @@ Function118233: ; 118233 ld a, $3 ld [rSVBK], a .asm_11824c - call Functiona57 + call JoyTextDelay call Function118473 ld a, [wcf66] cp $1e @@ -8787,7 +8787,7 @@ Function118284: ; 118284 ld a, $3 ld [rSVBK], a ; $ff00+$70 .asm_11829d - call Functiona57 + call JoyTextDelay call Function118473 ld a, [wcf66] cp $20 @@ -8824,7 +8824,7 @@ Function1182d5: ; 1182d5 ld a, $3 ld [rSVBK], a .asm_1182ee - call Functiona57 + call JoyTextDelay call Function118473 ld a, [wcf66] cp $1b @@ -8862,7 +8862,7 @@ Function118329: ; 118329 ld a, $3 ld [rSVBK], a .asm_118342 - call Functiona57 + call JoyTextDelay call Function118473 ld a, [wcf66] cp $18 @@ -8899,7 +8899,7 @@ Function11837a: ; 11837a ld a, $3 ld [rSVBK], a .asm_118393 - call Functiona57 + call JoyTextDelay call Function118473 ld a, [wcf66] cp $19 @@ -8954,7 +8954,7 @@ Function1183cb: ; 1183cb ld [rIE], a ld a, $1 ld [$ffc9], a - ld [$ffe9], a + ld [hMobile], a ei callba Function106462 callba Function106464 @@ -8984,7 +8984,7 @@ Function118452: ; 118452 di xor a ld [$ffc9], a - ld [$ffe9], a + ld [hMobile], a ld [hVBlank], a call NormalSpeed xor a @@ -9756,7 +9756,7 @@ Function118936: ld hl, MenuDataHeader_119cf7 call LoadMenuDataHeader call Function1cbb - call Function1cfd + call GetMemTileCoord call Function321c hlcoord 16, 8, AttrMap ld a, $40 @@ -11817,7 +11817,7 @@ Function119800: ; 119800 ld [wc702], a ld a, [wcd81] ld [wc74e], a - ld a, [wcf63] + ld a, [wJumptableIndex] push af ld a, [wcf64] push af @@ -11840,7 +11840,7 @@ Function119800: ; 119800 pop af ld [wcf64], a pop af - ld [wcf63], a + ld [wJumptableIndex], a callba Function115dc3 jp Function119e2e ; 11984e @@ -11853,7 +11853,7 @@ Function11984e: ; 11984e and a jr nz, .asm_1198a8 callba Function170000 - ld a, [wcf63] + ld a, [wJumptableIndex] push af ld a, [wcf64] push af @@ -11876,7 +11876,7 @@ Function11984e: ; 11984e pop af ld [wcf64], a pop af - ld [wcf63], a + ld [wJumptableIndex], a callba Function115dc3 jp Function119e2e @@ -11887,7 +11887,7 @@ Function11984e: ; 11984e .asm_1198a8 callba Function17005a - ld a, [wcf63] + ld a, [wJumptableIndex] push af ld a, [wcf64] push af @@ -11910,7 +11910,7 @@ Function11984e: ; 11984e pop af ld [wcf64], a pop af - ld [wcf63], a + ld [wJumptableIndex], a callba Function115dc3 jp Function119e2e ; 1198ee @@ -13021,13 +13021,13 @@ Function11a00e: ; 11a00e .asm_11a081 xor a - ld [wcf83], a - ld [wcf82], a + ld [wMenuBorderLeftCoord], a + ld [wMenuBorderTopCoord], a ld a, $13 - ld [wcf85], a + ld [wMenuBorderRightCoord], a ld a, $5 - ld [wcf84], a - call Function1c00 + ld [wMenuBorderBottomCoord], a + call BackUpTiles callba Function11765d callba Function117ab4 callba Function106462 @@ -13044,13 +13044,13 @@ Function11a00e: ; 11a00e Function11a0ca: ; 11a0ca xor a - ld [wcf83], a - ld [wcf82], a + ld [wMenuBorderLeftCoord], a + ld [wMenuBorderTopCoord], a ld a, $13 - ld [wcf85], a + ld [wMenuBorderRightCoord], a ld a, $11 - ld [wcf84], a - call Function1c00 + ld [wMenuBorderBottomCoord], a + call BackUpTiles callba Function11765d callba Function17d3f6 callba Function106462 @@ -13211,7 +13211,7 @@ Function11a207: ; 11a207 ld hl, MenuDataHeader_11a2de call LoadMenuDataHeader call Function1cbb - call Function1cfd + call GetMemTileCoord call Function321c hlcoord 16, 8 ld de, String_11a2cf @@ -13728,13 +13728,13 @@ Function11a5b0: ; 11a5b0 Function11a5b9: ; 11a5b9 xor a - ld [wcf83], a - ld [wcf82], a + ld [wMenuBorderLeftCoord], a + ld [wMenuBorderTopCoord], a ld a, $13 - ld [wcf85], a + ld [wMenuBorderRightCoord], a ld a, $5 - ld [wcf84], a - call Function1c00 + ld [wMenuBorderBottomCoord], a + call BackUpTiles hlcoord 0, 0, AttrMap ld b, $6 ld c, $14 @@ -13753,14 +13753,14 @@ Function11a5b9: ; 11a5b9 Function11a5f5: ; 11a5f5 ld a, $e - ld [wcf83], a + ld [wMenuBorderLeftCoord], a ld a, $13 - ld [wcf85], a + ld [wMenuBorderRightCoord], a ld a, $6 - ld [wcf82], a + ld [wMenuBorderTopCoord], a ld a, $a - ld [wcf84], a - call Function1c00 + ld [wMenuBorderBottomCoord], a + call BackUpTiles hlcoord 14, 6, AttrMap ld b, $5 ld c, $6 @@ -14311,7 +14311,7 @@ UnknownText_0x11ac1f: ; 0x11ac1f Function11ac3e: ; 11ac3e call SpeechTextBox call FadeToMenu - callab Function8e814 + callab InefficientlyClear121BytesAtwc300 call Function11ac51 call Function2b3c ret @@ -14328,10 +14328,10 @@ Function11ac51: ; 11ac51 push af xor a ld [VramState], a - ld a, [$ffaa] + ld a, [hInMenu] push af ld a, $1 - ld [$ffaa], a + ld [hInMenu], a xor a ld [$ffde], a ld [wcd49], a @@ -14342,8 +14342,8 @@ Function11ac51: ; 11ac51 call Function11ad1b call DelayFrame .asm_11ac82 - call Functiona57 - ld a, [wcf63] + call JoyTextDelay + ld a, [wJumptableIndex] bit 7, a jr nz, .asm_11aca8 call Function11b314 @@ -14358,7 +14358,7 @@ Function11ac51: ; 11ac51 .asm_11aca8 call ClearSprites pop af - ld [$ffaa], a + ld [hInMenu], a pop af ld [VramState], a pop af @@ -14428,7 +14428,7 @@ Function11ad1b: ; 11ad1b ld a, [wcfa9] ld [wcd82], a dec a - ld [$ffb0], a + ld [hConnectedMapWidth], a ld a, $10 ld [wc3b7], a ld hl, Function8e83f @@ -14444,7 +14444,7 @@ Function11ad1b: ; 11ad1b xor a call ByteFill xor a - ld [wcf63], a + ld [wJumptableIndex], a ld [wcf64], a ld [wcf65], a ld [wcf66], a @@ -14456,7 +14456,7 @@ Function11ad1b: ; 11ad1b ; 11ad6e Function11ad6e: ; 11ad6e - ld a, [wcf63] + ld a, [wJumptableIndex] ld hl, Jumptable_11ad78 call Function11b239 jp [hl] @@ -14475,13 +14475,13 @@ Jumptable_11ad78: ; 11ad78 ; 11ad8a Function11ad8a: ; 11ad8a - ld hl, wcf63 + ld hl, wJumptableIndex inc [hl] ret ; 11ad8f Function11ad8f: ; 11ad8f - ld hl, wcf63 + ld hl, wJumptableIndex set 7, [hl] ret ; 11ad95 @@ -14522,7 +14522,7 @@ Function11adc4: ret z call PlayClickSFX xor a - ld [wcf63], a + ld [wJumptableIndex], a jr .asm_11ae2e .asm_11ade6 @@ -14643,7 +14643,7 @@ Function11ae98: ld a, $7f ld [hl], a ld a, $1 - ld [wcf63], a + ld [wJumptableIndex], a jr .asm_11aef7 .asm_11aec1 @@ -14734,7 +14734,7 @@ Function11af4e: ld a, $7f ld [hl], a ld a, $1 - ld [wcf63], a + ld [wJumptableIndex], a jr .asm_11afaa .asm_11af77 @@ -14765,7 +14765,7 @@ Function11af4e: cp $2 jr z, .asm_11af6a ld a, $6 - ld [wcf63], a + ld [wJumptableIndex], a xor a ld [ScriptVar], a @@ -15057,7 +15057,7 @@ Function11b0ff: ; 11b0ff jr .asm_11b148 .asm_11b141 - ld hl, wcf63 + ld hl, wJumptableIndex ld a, $7 ld [hl], a ret @@ -15090,7 +15090,7 @@ Function11b0ff: ; 11b0ff .asm_11b16c ld [wcd30], a ld a, $4 - ld [wcf63], a + ld [wJumptableIndex], a ret ; 11b175 @@ -15099,7 +15099,7 @@ Function11b175: ; 11b175 ld d, a ld a, [wc7d2] ld e, a - ld hl, $ffa9 + ld hl, hJoyLast ld a, [hl] and $40 jr nz, .asm_11b19a @@ -15411,7 +15411,7 @@ Function11b314: ; 11b314 Function11b31b: ; 11b31b ld hl, Unknown_11b350 - ld a, [wcf63] + ld a, [wJumptableIndex] cp $2 jr c, .asm_11b349 ld a, [wc7d1] @@ -15419,7 +15419,7 @@ Function11b31b: ; 11b31b jr nc, .asm_11b344 cp $3 jr c, .asm_11b349 - ld a, [wcf63] + ld a, [wJumptableIndex] cp $2 jr z, .asm_11b349 cp $3 @@ -15553,7 +15553,7 @@ Function11b3d9: ; 11b3d9 ld [hli], a cp $41 jr c, .asm_11b42b - ld a, [wcf63] + ld a, [wJumptableIndex] cp $4 jr z, .asm_11b43b cp $5 @@ -15592,7 +15592,7 @@ Function11b444: ; 11b444 Function11b44b: ; 11b44b xor a - ld [wcf63], a + ld [wJumptableIndex], a ld [wcf64], a ld [wcf65], a ld [wcf66], a @@ -15604,14 +15604,14 @@ Function11b45c: ; 11b45c .asm_11b45c call Function11b46a call DelayFrame - ld a, [wcf63] + ld a, [wJumptableIndex] cp $4 jr nz, .asm_11b45c ret ; 11b46a Function11b46a: ; 11b46a - ld a, [wcf63] + ld a, [wJumptableIndex] ld e, a ld d, 0 ld hl, Jumptable_11b479 @@ -15780,11 +15780,11 @@ Function11b538: ; 11b538 ld [wcd2b], a ld [bc], a inc bc - ld a, [wd84a] + ld a, [wSecretID] ld [wcd2c], a ld [bc], a inc bc - ld a, [wd84b] + ld a, [wSecretID + 1] ld [wcd2d], a ld [bc], a inc bc @@ -15813,7 +15813,7 @@ Function11b570: ; 11b570 .asm_11b57f ld a, $4 - ld [wcf63], a + ld [wJumptableIndex], a ret ; 11b585 @@ -15913,14 +15913,14 @@ Function11b64c: ; 11b64c .asm_11b64c call Function11b65a call DelayFrame - ld a, [wcf63] + ld a, [wJumptableIndex] cp $1 jr nz, .asm_11b64c ret ; 11b65a Function11b65a: ; 11b65a - ld a, [wcf63] + ld a, [wJumptableIndex] ld e, a ld d, 0 ld hl, Jumptable_11b669 @@ -16146,10 +16146,10 @@ Function11b7e5: ; 11b7e5 ld a, $1 ld [wd1e9], a ld a, $2 - ld [InLinkBattle], a + ld [wLinkMode], a callba Function421d8 xor a - ld [InLinkBattle], a + ld [wLinkMode], a callba Function14a58 ld a, $5 call GetSRAMBank @@ -16677,7 +16677,7 @@ Function11c08f: ; 11c08f Function11c0c6: ; 11c0c6 - ld a, [wcf63] + ld a, [wJumptableIndex] ld l, a ld a, [wcf64] ld h, a @@ -16687,7 +16687,7 @@ Function11c0c6: ; 11c0c6 ld [hli], a push de xor a - ld [wcf63], a + ld [wJumptableIndex], a ld a, $12 ld [wcf64], a ld a, $6 @@ -16720,9 +16720,9 @@ Function11c0c6: ; 11c0c6 .asm_11c102 cp e jr nc, .asm_11c11c - ld a, [wcf63] + ld a, [wJumptableIndex] inc a - ld [wcf63], a + ld [wJumptableIndex], a ld [hl], $4e rra jr c, .asm_11c113 @@ -16763,7 +16763,7 @@ Function11c0c6: ; 11c0c6 call PlaceWholeStringInBoxAtOnce pop hl ld a, l - ld [wcf63], a + ld [wJumptableIndex], a ld a, h ld [wcf64], a ret @@ -16832,13 +16832,13 @@ Function11c156: ; 11c156 ; 11c1ab Function11c1ab: ; 11c1ab - ld a, [$ffaa] + ld a, [hInMenu] push af ld a, $1 - ld [$ffaa], a + ld [hInMenu], a call Function11c1b9 pop af - ld [$ffaa], a + ld [hInMenu], a ret ; 11c1b9 @@ -16856,7 +16856,7 @@ Function11c1b9: ; 11c1b9 Function11c1ca: ; 11c1ca xor a - ld [wcf63], a + ld [wJumptableIndex], a ld [wcf64], a ld [wcf65], a ld [wcf66], a @@ -16935,10 +16935,10 @@ Function11c277: ; 11c277 (47:4277) Function11c283: ; 11c283 .asm_11c283 - call Functiona57 + call JoyTextDelay ld a, [hJoyPressed] ld [hJoypadPressed], a - ld a, [wcf63] + ld a, [wJumptableIndex] bit 7, a jr nz, .asm_11c2a2 call Function11c2ac @@ -16953,7 +16953,7 @@ Function11c283: ; 11c283 ; 11c2ac Function11c2ac: ; 11c2ac - ld a, [wcf63] + ld a, [wJumptableIndex] ld e, a ld d, 0 ld hl, Jumptable_11c2bb @@ -17154,7 +17154,7 @@ Function11c3ed: ; 11c3ed (47:43ed) ld a, [de] and $1 jr nz, .asm_11c42c - ld de, $ffa9 + ld de, hJoyLast ld a, [de] and $40 jr nz, .asm_11c47c @@ -17219,7 +17219,7 @@ Function11c3ed: ; 11c3ed (47:43ed) .asm_11c472 call Function11c4a5 .asm_11c475 - ld [wcf63], a + ld [wJumptableIndex], a call PlayClickSFX ret .asm_11c47c @@ -17326,7 +17326,7 @@ Function11c53d: ; 11c53d (47:453d) and A_BUTTON jr nz, .a - ld de, $ffa9 + ld de, hJoyLast ld a, [de] and D_UP @@ -17383,7 +17383,7 @@ Function11c53d: ; 11c53d (47:453d) .asm_11c59f ld hl, wcd24 set 1, [hl] - ld [wcf63], a + ld [wJumptableIndex], a call PlayClickSFX ret @@ -17570,7 +17570,7 @@ Function11c675: ; 11c675 (47:4675) ret .select - ld de, $ffa9 + ld de, hJoyLast ld a, [de] and D_UP jr nz, .asm_11c708 @@ -17599,7 +17599,7 @@ Function11c675: ; 11c675 (47:4675) .asm_11c6fa ld a, $15 .asm_11c6fc - ld [wcf63], a + ld [wJumptableIndex], a ld hl, wcd24 set 3, [hl] call PlayClickSFX @@ -18119,7 +18119,7 @@ Function11c9c3: ; 11c9c3 (47:49c3) ld hl, wcd24 set 4, [hl] ld a, $4 - ld [wcf63], a + ld [wJumptableIndex], a call PlayClickSFX ret .asm_11c9f7 @@ -18271,7 +18271,7 @@ Function11cab3: ; 11cab3 (47:4ab3) ld [wcd2a], a ret .asm_11caf3 - ld hl, wcf63 + ld hl, wJumptableIndex set 7, [hl] ret .asm_11caf9 @@ -18280,7 +18280,7 @@ Function11cab3: ; 11cab3 (47:4ab3) ld hl, wcd24 set 4, [hl] ld a, $4 - ld [wcf63], a + ld [wJumptableIndex], a ld a, [wcd35] cp $ff ret nz @@ -18389,7 +18389,7 @@ endr ld d, a hlcoord 1, 14 call PlaceString - ld hl, wcf63 + ld hl, wJumptableIndex inc [hl] inc hl ld a, $10 @@ -18404,7 +18404,7 @@ endr ld hl, wcd24 set 4, [hl] ld a, $4 - ld [wcf63], a + ld [wJumptableIndex], a ret .asm_11cbeb ld a, [hl] @@ -18490,7 +18490,7 @@ Function11cd04: ; 11cd04 (47:4d04) and a ret z ld a, $4 - ld [wcf63], a + ld [wJumptableIndex], a ret ; 11cd10 (47:4d10) @@ -18551,7 +18551,7 @@ Function11cd54: ; 11cd54 (47:4d54) .asm_11cd7d ld a, $15 .asm_11cd7f - ld [wcf63], a + ld [wJumptableIndex], a ld hl, wcd24 set 5, [hl] call PlayClickSFX @@ -18644,7 +18644,7 @@ Function11ce2b: ; 11ce2b (47:4e2b) and B_BUTTON jr nz, .b - ld de, $ffa9 + ld de, hJoyLast ld a, [de] and D_UP jr nz, .up @@ -18692,7 +18692,7 @@ Function11ce2b: ; 11ce2b (47:4e2b) .asm_11ce96 ld a, $13 .asm_11ce98 - ld [wcf63], a + ld [wJumptableIndex], a ld hl, wcd24 set 2, [hl] call PlayClickSFX @@ -18778,7 +18778,7 @@ String_11cf79: ; 11cf79 ; 11cfb5 Function11cfb5: ; 11cfb5 (47:4fb5) - ld hl, wcf63 + ld hl, wJumptableIndex inc [hl] ret ; 11cfba (47:4fba) @@ -21327,7 +21327,7 @@ Function16c000: ; 16c000 Function16c031: ; 16c031 xor a - ld [wcf63], a + ld [wJumptableIndex], a ld [wcf64], a ld [DefaultFlypoint], a ld [wd003], a @@ -22187,7 +22187,7 @@ Function16d43b: ; 16d43b call GetSGBLayout call SetPalettes call WaitBGMap - call Functiona36 + call JoyWaitAorB call Call_ExitMenu ret ; 16d465 @@ -22297,7 +22297,7 @@ Function16d696: ; 16d696 Function16d69a: ; 16d69a ld de, GFX_16cfc1 + $300 - ld hl, $9760 + ld hl, VTiles2 tile $76 lb bc, BANK(GFX_16cfc1), 8 call Get2bpp ret @@ -22362,7 +22362,7 @@ Function16d70c: ; 16d70c Function16d713: ; 16d713 push bc push af - ld a, [$ffa9] + ld a, [hJoyLast] and $f0 ld b, a ld a, [hJoyPressed] @@ -22518,7 +22518,7 @@ Function16d7e7: ; 16d7e7 callba Function8cf62 .asm_16d7f4 - call Functiona57 + call JoyTextDelay call Function16d713 and a ret z @@ -22701,9 +22701,9 @@ Function170139: ; 170139 ld [hli], a ld a, [PlayerID + 1] ld [hli], a - ld a, [wd84a] + ld a, [wSecretID] ld [hli], a - ld a, [wd84b] + ld a, [wSecretID + 1] ld [hli], a ld e, l ld d, h @@ -22784,7 +22784,7 @@ Function17020c: ; 17020c Function170215: ; 170215 xor a - ld [wcf63], a + ld [wJumptableIndex], a call Function17022c ret ; 17021d @@ -22795,7 +22795,7 @@ Function17021d: ; 17021d Function17021e: ; 17021e xor a - ld [wcf63], a + ld [wJumptableIndex], a ld [wcf64], a ld [wcf65], a ld [wcf66], a @@ -22806,14 +22806,14 @@ Function17022c: ; 17022c .asm_17022c call Jumpto_BattleTowerBattleFunction call DelayFrame - ld a, [wcf63] + ld a, [wJumptableIndex] cp $1 jr nz, .asm_17022c ret ; 17023a Jumpto_BattleTowerBattleFunction: ; 17023a - ld a, [wcf63] + ld a, [wJumptableIndex] ld e, a ld d, 0 ld hl, Jumptable_BattleTowerBattleFunctions @@ -22841,7 +22841,7 @@ RunBattleTowerBattle: ; 17024d or $1 ld [InBattleTowerBattle], a xor a - ld [InLinkBattle], a + ld [wLinkMode], a callba Mobile_HealParty callba HealParty call Function1702b7 @@ -22849,7 +22849,7 @@ RunBattleTowerBattle: ; 17024d predef StartBattle callba LoadPokemonData callba HealParty - ld a, [wd0ee] + ld a, [wBattleResult] ld [ScriptVar], a and a jr nz, .asm_1702a9 @@ -22871,7 +22871,7 @@ RunBattleTowerBattle: ; 17024d pop af ld [Options], a ld a, $1 - ld [wcf63], a + ld [wJumptableIndex], a ret @@ -23228,8 +23228,8 @@ Function1704f1: ; 1704f1 call ClearSprites call ClearScreen .asm_1704fa - call Functiona57 - ld a, [wcf63] + call JoyTextDelay + ld a, [wJumptableIndex] bit 7, a jr nz, .asm_17050f call Function170510 @@ -23241,7 +23241,7 @@ Function1704f1: ; 1704f1 ; 170510 Function170510: ; 170510 - ld a, [wcf63] + ld a, [wJumptableIndex] ld e, a ld d, 0 ld hl, Jumptable_17051f @@ -23332,12 +23332,12 @@ Function170577: ret .asm_1705ac - ld hl, wcf63 + ld hl, wJumptableIndex set 7, [hl] ret Function1705b2: - ld hl, wcf63 + ld hl, wJumptableIndex inc [hl] ret ; 1705b7 @@ -24298,7 +24298,7 @@ Function170c06: ; 170c06 ld a, $5 call GetSRAMBank ld hl, $a894 - ld a, [wd0ee] + ld a, [wBattleResult] and a jr nz, .asm_170c15 inc [hl] @@ -24486,7 +24486,7 @@ Function170d02: ; 170d02 ld a, $1 ld [rVBK], a ld de, GFX_171848 - ld hl, $8c10 + ld hl, VTiles1 tile $41 lb bc, BANK(GFX_171848), $18 call Get2bpp xor a @@ -24504,13 +24504,13 @@ GFX_171848: INCBIN "gfx/unknown/171848.2bpp" Function1719c8: ; 1719c8 (5c:59c8) - ld a, [$ffaa] + ld a, [hInMenu] push af ld a, $1 - ld [$ffaa], a + ld [hInMenu], a call Function1719d6 pop af - ld [$ffaa], a + ld [hInMenu], a ret Function1719d6: ; 1719d6 (5c:59d6) @@ -24539,7 +24539,7 @@ Function1719ed: ; 1719ed (5c:59ed) ret Function171a11: ; 171a11 (5c:5a11) - call Functiona57 + call JoyTextDelay ld a, [wcd49] bit 7, a jr nz, .asm_171a2c @@ -24801,7 +24801,7 @@ Function171beb: ; 171beb (5c:5beb) ld hl, MenuDataHeader_171c6b call LoadMenuDataHeader call Function1cbb - call Function1cfd + call GetMemTileCoord callba Function104061 hlcoord 1, 14 ld de, String_171c73 @@ -24869,11 +24869,11 @@ String_171c73: ; 171c73 Function171c87: ; 171c87 (5c:5c87) call DisableLCD ld hl, GFX_171db1 - ld de, $9000 + ld de, VTiles2 tile $00 ld bc, $6e0 call CopyBytes ld hl, LZ_172abd - ld de, $8000 + ld de, VTiles0 tile $00 call Decompress call EnableLCD ld hl, Tilemap_172491 @@ -24941,11 +24941,11 @@ endr Function171d2b: ; 171d2b (5c:5d2b) call DisableLCD ld hl, GFX_171db1 - ld de, $9000 + ld de, VTiles2 tile $00 ld bc, $6e0 call CopyBytes ld hl, LZ_172abd - ld de, $8000 + ld de, VTiles0 tile $00 call Decompress call EnableLCD ld hl, Tilemap_172685 @@ -25040,7 +25040,7 @@ Function172e78: ; 172e78 (5c:6e78) call ByteFill call DisableLCD ld hl, GFX_172f1f - ld de, $9000 + ld de, VTiles2 tile $00 ld bc, $610 call CopyBytes call EnableLCD diff --git a/misc/mobile_5f.asm b/misc/mobile_5f.asm index 6608803cf..bb1814945 100644 --- a/misc/mobile_5f.asm +++ b/misc/mobile_5f.asm @@ -60,7 +60,7 @@ Function17c000: ; 17c000 ld [rSVBK], a ld hl, MobileSelectGFX - ld de, $8300 + ld de, VTiles0 tile $30 ld bc, $200 call CopyBytes @@ -300,10 +300,10 @@ Function17d0f3: ; 17d0f3 ld a, $1 ld [wd1e9], a ld a, $2 - ld [InLinkBattle], a + ld [wLinkMode], a callba Function421d8 xor a - ld [InLinkBattle], a + ld [wLinkMode], a callba Function14a58 ld a, $5 call GetSRAMBank @@ -521,7 +521,7 @@ Function17d2b6: ; 17d2b6 Function17d2c0: ; 17d2c0 xor a - ld [wcf63], a + ld [wJumptableIndex], a ld [wcf64], a ld [wcf65], a ld [wcf66], a @@ -629,7 +629,7 @@ Function17d370: ; 17d370 call ClearScreen callba Function104061 call DisableLCD - ld hl, $8ee0 + ld hl, VTiles1 tile $6e ld de, $c608 ld bc, $0010 call CopyBytes @@ -640,17 +640,17 @@ Function17d370: ; 17d370 ld bc, $0480 call CopyBytes xor a - ld hl, $97f0 + ld hl, VTiles2 tile $7f ld bc, $0010 call ByteFill ld hl, $c608 - ld de, $8ee0 + ld de, VTiles1 tile $6e ld bc, $0010 call CopyBytes xor a ld [rVBK], a ld hl, GFX_17eb7e - ld de, $9600 + ld de, VTiles2 tile $60 ld bc, $0010 call CopyBytes call EnableLCD @@ -677,7 +677,7 @@ Function17d3f6: ; 17d3f6 Function17d405: call DisableLCD - ld hl, $8ee0 + ld hl, VTiles1 tile $6e ld de, $c608 ld bc, $0010 call CopyBytes @@ -688,11 +688,11 @@ Function17d405: ld bc, $0480 call CopyBytes xor a - ld hl, $97f0 + ld hl, VTiles2 tile $7f ld bc, $0010 call ByteFill ld hl, $c608 - ld de, $8ee0 + ld de, VTiles1 tile $6e ld bc, $0010 call CopyBytes xor a @@ -714,7 +714,7 @@ Function17d405: Function17d45a: ; 17d45a .asm_17d45a - call Functiona57 + call JoyTextDelay ld a, [wcd77] bit 7, a jr nz, .asm_17d46f @@ -2980,7 +2980,7 @@ Function17e2a7: ; 17e2a7 ld [wcf66], a callba Function118233 ld de, GFX_17eb7e - ld hl, $9600 + ld hl, VTiles2 tile $60 lb bc, BANK(GFX_17eb7e), 1 call Get2bpp ld a, [wc300] @@ -3122,7 +3122,7 @@ Function17e3c3: ; 17e3c3 push af ld a, $1 ld [rSVBK], a - callba Function106155 + callba MobileFn_106155 callba Function106187 pop af ld [rSVBK], a @@ -3144,7 +3144,7 @@ Function17e3f0: ; 17e3f0 call Function17e415 call Function17e41e .asm_17e3f6 - call Functiona57 + call JoyTextDelay ld hl, hJoyPressed ld a, [hl] and $1 @@ -4678,7 +4678,7 @@ Function17f53d: ; 17f53d Function17f555: ; 17f555 .asm_17f555 - call Functiona57 + call JoyTextDelay call Function17f5ae ld a, [wc303] bit 7, a diff --git a/misc/unused_title.asm b/misc/unused_title.asm index 327eef45c..e151deb14 100644 --- a/misc/unused_title.asm +++ b/misc/unused_title.asm @@ -9,7 +9,7 @@ UnusedTitleScreen: ; 10c000 xor a ld [hBGMapMode], a - ld hl, wcf63 + ld hl, wJumptableIndex rept 3 ld [hli], a endr @@ -17,17 +17,17 @@ endr ld hl, UnusedTitleBG_GFX ld de, VTiles2 - ld bc, $800 + ld bc, VBGMap0 - VTiles2 call CopyBytes ld hl, UnusedTitleBG_GFX + $800 ld de, VTiles1 - ld bc, $800 + ld bc, VTiles2 - VTiles1 call CopyBytes ld hl, UnusedTitleFG_GFX ld de, VTiles0 - ld bc, $800 + ld bc, VTiles1 - VTiles0 call CopyBytes ld hl, UnusedTitleBG_Tilemap @@ -546,12 +546,12 @@ UnusedTitleFG_OAM: ; 10ecb1 Function10ed51: ; 10ed51 call _TitleScreen .loop - call Functiona57 - ld a, [$ffa9] + call JoyTextDelay + ld a, [hJoyLast] ld b, a and 1 jr nz, .done - call Function10eea7 + call SuicuneFrameIterator call DelayFrame jr .loop .done |