diff options
Diffstat (limited to 'main.asm')
-rw-r--r-- | main.asm | 8042 |
1 files changed, 539 insertions, 7503 deletions
@@ -183,29 +183,29 @@ _ResetWRAM: ; 5bae call ByteFill ld a, [rLY] - ld [$ffe3], a + ld [hSecondsBackup], a call DelayFrame ld a, [hRandomSub] ld [PlayerID], a ld a, [rLY] - ld [$ffe3], a + ld [hSecondsBackup], a call DelayFrame ld a, [hRandomAdd] ld [PlayerID + 1], a call Random - ld [wd84a], a + ld [wSecretID], a call DelayFrame call Random - ld [wd84b], a + ld [wSecretID + 1], a ld hl, PartyCount call InitList xor a ld [wCurBox], a - ld [wd4b4], a + ld [wSavedAtLeastOnce], a call SetDefaultBoxNames @@ -648,7 +648,7 @@ MenuData2_0x5f03: ; 5f03 Function5f1c: ; 5f1c - call Function1cfd + call GetMemTileCoord push hl ld de, $005d add hl, de @@ -1154,7 +1154,7 @@ Function6292: ; 6292 ; unreferenced ld hl, LYOverrides + $5f ld a, [hl] dec a - ld bc, $0028 + ld bc, 2 * SCREEN_WIDTH call ByteFill ret ; 62a3 @@ -1463,7 +1463,7 @@ GameInit:: ; 642e call WhiteBGMap call ClearTileMap ld a, $98 - ld [$ffd7], a + ld [hBGMapAddress + 1], a xor a ld [hBGMapAddress], a ld [hJoyDown], a @@ -1527,7 +1527,7 @@ Function6473: ; 6473 ; 64b9 Function64b9: ; 64b9 - ld [$ffd7], a + ld [hBGMapAddress + 1], a xor a ld [hBGMapAddress], a ret @@ -1566,9 +1566,9 @@ Function64db: ; 64db ld [rHDMA1], a ld a, w6_d000 % $100 ld [rHDMA2], a - ld a, ($9800 % $8000) / $100 + ld a, (VBGMap0 % $8000) / $100 ld [rHDMA3], a - ld a, ($9800 % $8000) % $100 + ld a, (VBGMap0 % $8000) % $100 ld [rHDMA4], a ld a, $3f ld [hDMATransfer], a @@ -2422,7 +2422,7 @@ Function7041: ; 7041 ld bc, ObjectStructs xor a .loop - ld [$ffb0], a + ld [hConnectedMapWidth], a call GetObjectSprite jr z, .nope ld hl, OBJECT_04 @@ -2452,7 +2452,7 @@ Function7041: ; 7041 .ok2 ld a, [hConnectionStripLength] ld l, a - ld a, [$ffb0] + ld a, [hConnectedMapWidth] cp l jr nz, .setcarry @@ -2469,7 +2469,7 @@ Function7041: ; 7041 jr nz, .nope ld a, [hConnectionStripLength] ld l, a - ld a, [$ffb0] + ld a, [hConnectedMapWidth] cp l jr nz, .setcarry @@ -2478,7 +2478,7 @@ Function7041: ; 7041 add hl, bc ld b, h ld c, l - ld a, [$ffb0] + ld a, [hConnectedMapWidth] inc a cp NUM_OBJECT_STRUCTS jr nz, .loop @@ -2589,7 +2589,7 @@ Function7113: ; 7113 ld bc, ObjectStructs xor a .loop - ld [$ffb0], a + ld [hConnectedMapWidth], a call GetObjectSprite jr z, .asm_7160 ld hl, OBJECT_03 @@ -2612,7 +2612,7 @@ Function7113: ; 7113 ld a, [hl] cp d jr nz, .asm_714e - ld a, [$ffb0] + ld a, [hConnectedMapWidth] cp $0 jr z, .asm_7160 jr .asm_716f @@ -2635,7 +2635,7 @@ Function7113: ; 7113 add hl, bc ld b, h ld c, l - ld a, [$ffb0] + ld a, [hConnectedMapWidth] inc a cp NUM_OBJECT_STRUCTS jr nz, .loop @@ -3066,16 +3066,16 @@ SpecialReturnShuckle: ; 737e ret ; 73f7 -Function73f7: ; 73f7 +Special_BillsGrandfather: ; 73f7 callba SelectMonFromParty - jr c, .asm_740e + jr c, .cancel ld a, [CurPartySpecies] ld [ScriptVar], a - ld [wd265], a + ld [wNamedObjectIndexBuffer], a call GetPokemonName jp CopyPokemonName_Buffer1_Buffer3 -.asm_740e +.cancel xor a ld [ScriptVar], a ret @@ -3215,7 +3215,7 @@ GetSpawnCoord: ; 8029 ld [hConnectionStripLength], a ld bc, MapObjects ld a, $0 - ld [$ffb0], a + ld [hConnectedMapWidth], a ld de, ObjectStructs call Function8116 ld a, $0 @@ -3314,12 +3314,12 @@ CopyObjectStruct:: ; 80e7 ld a, 1 ld de, OBJECT_STRUCT_LENGTH .loop - ld [$ffb0], a + ld [hConnectedMapWidth], a ld a, [hl] and a jr z, .done add hl, de - ld a, [$ffb0] + ld a, [hConnectedMapWidth] inc a cp NUM_OBJECT_STRUCTS jr nz, .loop @@ -3346,7 +3346,7 @@ Function8116: ; 8116 ; 811d Function811d: ; 811d - ld a, [$ffb0] + ld a, [hConnectedMapWidth] ld hl, MAPOBJECT_OBJECT_STRUCT_ID add hl, bc ld [hl], a @@ -3833,7 +3833,7 @@ Function839e:: ; 839e ld hl, OBJECT_SPRITE_Y add hl, de ld [hl], a - ld a, [$ffb0] + ld a, [hConnectedMapWidth] ld hl, OBJECT_32 add hl, de ld [hl], a @@ -6062,7 +6062,7 @@ GetFacingObject: ; cf0d callba CheckFacingObject jr nc, .fail - ld a, [$ffb0] + ld a, [hConnectedMapWidth] call GetObjectStruct ld hl, OBJECT_MAP_OBJECT_INDEX add hl, bc @@ -6594,7 +6594,7 @@ UnknownText_0xd1d0: ; 0xd1d0 _ReceiveItem:: ; d1d5 - call CheckHLequTMsHMsEnd + call DoesHLEqualNumItems jp nz, PutItemInPocket push hl call CheckItemPocket @@ -6641,8 +6641,8 @@ _ReceiveItem:: ; d1d5 _TossItem:: ; d20d - call CheckHLequTMsHMsEnd - jr nz, .asm_d241 + call DoesHLEqualNumItems + jr nz, .remove push hl call CheckItemPocket pop de @@ -6684,13 +6684,13 @@ _TossItem:: ; d20d ld l, e ; d241 -.asm_d241 +.remove jp RemoveItemFromPocket ; d244 _CheckItem:: ; d244 - call CheckHLequTMsHMsEnd - jr nz, .asm_d278 + call DoesHLEqualNumItems + jr nz, .nope push hl call CheckItemPocket pop de @@ -6732,16 +6732,16 @@ _CheckItem:: ; d244 ld l, e ; d278 -.asm_d278 +.nope jp CheckTheItem ; d27b -CheckHLequTMsHMsEnd: ; d27b +DoesHLEqualNumItems: ; d27b ld a, l - cp TMsHMsEnd % $100 + cp NumItems % $100 ret nz ld a, h - cp TMsHMsEnd / $100 + cp NumItems / $100 ret ; d283 @@ -6749,21 +6749,21 @@ GetPocketCapacity: ; d283 ld c, MAX_ITEMS ld a, e cp NumItems % $100 - jr nz, .asm_d28e + jr nz, .not_bag ld a, d cp NumItems / $100 ret z -.asm_d28e +.not_bag ld c, MAX_PC_ITEMS ld a, e cp PCItems % $100 - jr nz, .asm_d299 + jr nz, .not_pc ld a, d cp PCItems / $100 ret z -.asm_d299 +.not_pc ld c, MAX_BALLS ret ; d29c @@ -10439,17 +10439,17 @@ Function116c1: ; 116c1 push af xor a ld [$ffde], a - ld a, [$ffaa] + ld a, [hInMenu] push af ld a, $1 - ld [$ffaa], a + ld [hInMenu], a call Function116f8 call DelayFrame .asm_116e5 call Function11915 jr nc, .asm_116e5 pop af - ld [$ffaa], a + ld [hInMenu], a pop af ld [$ffde], a pop af @@ -10994,7 +10994,7 @@ Unknown_11a82: ; 11a82 ; 11a8b Function11a8b: ; 11a8b (4:5a8b) - ld hl, $ffa9 + ld hl, hJoyLast ld a, [hl] and D_UP jr nz, .up @@ -11199,21 +11199,22 @@ Function11bd0: ; 11bd0 (4:5bd0) ; 11be0 Function11be0: ; 11be0 +; load $f2, ($eb * [wc6d3]), $50 into the dw address at wc6d0 ld hl, wc6d0 ld a, [hli] ld h, [hl] ld l, a - ld [hl], $f2 + ld [hl], "·" inc hl ld a, [wc6d3] dec a ld c, a - ld a, $eb -.asm_11bf0 + ld a, "→" +.loop ld [hli], a dec c - jr nz, .asm_11bf0 - ld [hl], $50 + jr nz, .loop + ld [hl], "@" ret ; 11bf7 @@ -11385,17 +11386,17 @@ Function11e75: ; 11e75 (4:5e75) push af xor a ld [$ffde], a - ld a, [$ffaa] + ld a, [hInMenu] push af ld a, $1 - ld [$ffaa], a + ld [hInMenu], a call Function11e9a call DelayFrame .asm_11e8e call Function11fc0 jr nc, .asm_11e8e pop af - ld [$ffaa], a + ld [hInMenu], a pop af ld [$ffde], a ret @@ -11427,9 +11428,9 @@ Function11e9a: ; 11e9a (4:5e9a) call GetSGBLayout call WaitBGMap call WaitTop - ld a, $e4 + ld a, %11100100 call DmgToCgbBGPals - ld a, $e4 + ld a, %11100100 call Functioncf8 call Function11be0 ld hl, wc6d0 @@ -11459,15 +11460,15 @@ String_11f7a: ; 11f7a Function11f84: ; 11f84 (4:5f84) call WaitTop hlcoord 0, 0 - ld bc, $78 + ld bc, 6 * SCREEN_WIDTH ld a, $60 call ByteFill hlcoord 0, 6 - ld bc, $f0 + ld bc, 12 * SCREEN_WIDTH ld a, " " call ByteFill hlcoord 1, 1 - ld bc, $412 + lb bc, 4, SCREEN_WIDTH - 2 call ClearBox ld de, String_121dd @@ -11688,7 +11689,7 @@ Unknown_12102: ; 12102 ; 1210c Function1210c: ; 1210c (4:610c) - ld hl, $ffa9 + ld hl, hJoyLast ld a, [hl] and D_UP jr nz, .up @@ -12762,8 +12763,8 @@ endr xor a ld hl, MenuItemsList ld [hli], a - ld a, $ff - ld bc, $000f + ld a, -1 + ld bc, MenuItemsListEnd - (MenuItemsList + 1) call ByteFill ld de, MenuItemsList + 1 ld c, 0 @@ -13970,12 +13971,12 @@ Function12fd5: ; 12fd5 jp .asm_12ff2 .asm_13018 - ld a, $7f + ld a, " " hlcoord 1, 11 - ld bc, $0005 + ld bc, 5 call ByteFill hlcoord 1, 12 - ld bc, $0512 + lb bc, 5, SCREEN_WIDTH - 2 call ClearBox hlcoord 1, 12 ld de, String_1316b @@ -13992,7 +13993,7 @@ Function12fd5: ; 12fd5 xor a ld [wd0e3], a hlcoord 1, 2 - ld bc, $0812 + lb bc, 8, SCREEN_WIDTH - 2 call ClearBox jp .asm_12fe8 ; 1305b @@ -18408,8 +18409,8 @@ MenuData15a08: ; 0x15a08 db 4, 8 ; rows/cols? db 2 ; horizontal spacing? dbw 0, PCItems - dbw BANK(Function24ab4), Function24ab4 - dbw BANK(Function24ac3), Function24ac3 + dbw BANK(PlaceMenuItemName), PlaceMenuItemName + dbw BANK(PlaceMenuItemQuantity), PlaceMenuItemQuantity dbw BANK(Function244c3), Function244c3 PC_DisplayText: ; 15a20 @@ -19096,7 +19097,7 @@ MenuData2_0x15e20: ; 0x15e20 db 4, 8 ; rows, columns db 1 ; horizontal spacing dbw 0, OBPals + 8 * 6 - dbw BANK(Function24ab4), Function24ab4 + dbw BANK(PlaceMenuItemName), PlaceMenuItemName dbw BANK(Function15e30), Function15e30 dbw BANK(Function244c3), Function244c3 ; 15e30 @@ -20428,10 +20429,10 @@ Function16be4: ; 16be4 and a ret z - ld a, [$ffaa] + ld a, [hInMenu] push af ld a, $1 - ld [$ffaa], a + ld [hInMenu], a ld a, [Options] push af set 4, a @@ -20516,17 +20517,17 @@ Function16be4: ; 16be4 pop af ld [Options], a pop af - ld [$ffaa], a + ld [hInMenu], a call Function222a ret ; 16ca0 Function16ca0: ; 16ca0 - ld a, [$ffa9] - and $10 + ld a, [hJoyLast] + and D_RIGHT jr nz, .asm_16cb9 - ld a, [$ffa9] - and $20 + ld a, [hJoyLast] + and D_LEFT jr nz, .asm_16cad ret @@ -20608,7 +20609,7 @@ Function16d20: ; 16d20 xor a call GetSRAMBank ld hl, sScratch - ld bc, $0310 + ld bc, $0310 ; 784 xor a call ByteFill ld hl, VTiles2 tile $31 @@ -20618,7 +20619,7 @@ Function16d20: ; 16d20 ld b, a call Get2bpp call CloseSRAM - ld c, $14 + ld c, 20 call DelayFrames ret ; 16d57 @@ -20649,7 +20650,7 @@ INCBIN "gfx/unknown/016da4.1bpp" Function16dac: ; 16dac hlcoord 0, 0 ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - ld a, $7f + ld a, " " call ByteFill hlcoord 7, 11 ld a, $31 @@ -21381,13 +21382,13 @@ Function17254: ; 17254 (5:7254) push hl push bc hlcoord 0, 0 - ld bc, $168 - ld a, $7f + ld bc, SCREEN_HEIGHT * SCREEN_WIDTH + ld a, " " call ByteFill pop bc pop hl ld a, b - ld [$ffd7], a + ld [hBGMapAddress + 1], a ld a, c ld [$ffad], a ld bc, $707 @@ -21590,7 +21591,7 @@ Function17418: ; 17418 (5:7418) jr nz, .asm_1741a ret -Function17421: ; 17421 +Special_DayCareMon1: ; 17421 ld hl, UnknownText_0x17467 call PrintText ld a, [wBreedMon1Species] @@ -21603,7 +21604,7 @@ Function17421: ; 17421 call Function1746c jp PrintText -Function17440: ; 17440 +Special_DayCareMon2: ; 17440 ld hl, UnknownText_0x17462 call PrintText ld a, [wBreedMon2Species] @@ -22592,7 +22593,7 @@ Function24374:: ; 24374 ld h, [hl] ld l, a set 0, [hl] - call Function1cfd + call GetMemTileCoord call Function243cd call Function1d19 call Function243cd @@ -22950,7 +22951,7 @@ Function245af:: ; 245af ld [wcf73], a ld [hBGMapMode], a inc a - ld [$ffaa], a + ld [hInMenu], a call Function2471a call Function24764 call Function247dd @@ -22963,21 +22964,21 @@ Function245af:: ; 245af Function245cb:: ; 245cb .loop - call Function24609 - jp c, Function245d6 - call z, Function245e1 + call MenuJoyAction + jp c, .exit + call z, .zero jr .loop ; 245d6 -Function245d6: ; 245d6 +.exit: ; 245d6 call Function1ff8 ld [wcf73], a ld a, 0 - ld [$ffaa], a + ld [hInMenu], a ret ; 245e1 -Function245e1: ; 245e1 +.zero: ; 245e1 call Function245f1 ld a, 1 ld [hBGMapMode], a @@ -23003,42 +23004,42 @@ Function245f1: ; 245f1 ret ; 24609 -Function24609: ; 24609 -.asm_24609 +MenuJoyAction: ; 24609 +.loop call Function1bd3 - ld a, [$ffa9] - and $f0 + ld a, [hJoyLast] + and D_PAD ld b, a ld a, [hJoyPressed] - and $f + and BUTTONS or b - bit 0, a - jp nz, Function24644 - bit 1, a - jp nz, Function2466f - bit 2, a - jp nz, Function24673 - bit 3, a - jp nz, Function24695 - bit 4, a - jp nz, Function246b5 - bit 5, a - jp nz, Function246a1 - bit 6, a - jp nz, Function246c9 - bit 7, a - jp nz, Function246df - jr .asm_24609 + bit 0, a ; A + jp nz, .a_button + bit 1, a ; B + jp nz, .b_button + bit 2, a ; Select + jp nz, .select + bit 3, a ; Start + jp nz, .start + bit 4, a ; Right + jp nz, .d_right + bit 5, a ; Left + jp nz, .d_left + bit 6, a ; Up + jp nz, .d_up + bit 7, a ; Down + jp nz, .d_down + jr .loop ; 24640 -Function24640: ; 24640 - ld a, $ff +.unreferenced: ; unreferenced + ld a, -1 and a ret ; 24644 -Function24644: ; 24644 +.a_button: ; 24644 call Function1bee ld a, [wcfa9] dec a @@ -23052,20 +23053,20 @@ Function24644: ; 24644 ld [wcf77], a ld [wd107], a ld a, [MenuSelection] - cp $ff - jr z, Function2466f - ld a, $1 + cp -1 + jr z, .b_button + ld a, A_BUTTON scf ret ; 2466f -Function2466f: ; 2466f - ld a, $2 +.b_button: ; 2466f + ld a, B_BUTTON scf ret ; 24673 -Function24673: ; 24673 +.select: ; 24673 ld a, [wcf91] bit 7, a jp z, xor_a_dec_a @@ -23073,65 +23074,65 @@ Function24673: ; 24673 dec a call Function248d5 ld a, [MenuSelection] - cp $ff + cp -1 jp z, xor_a_dec_a call Function246fc dec a ld [wcf77], a - ld a, $4 + ld a, SELECT scf ret ; 24695 -Function24695: ; 24695 +.start: ; 24695 ld a, [wcf91] bit 6, a jp z, xor_a_dec_a - ld a, $8 + ld a, START scf ret ; 246a1 -Function246a1: ; 246a1 +.d_left: ; 246a1 ld hl, wcfa6 bit 7, [hl] jp z, xor_a_dec_a ld a, [wcf91] bit 3, a jp z, xor_a_dec_a - ld a, $20 + ld a, D_LEFT scf ret ; 246b5 -Function246b5: ; 246b5 +.d_right: ; 246b5 ld hl, wcfa6 bit 7, [hl] jp z, xor_a_dec_a ld a, [wcf91] bit 2, a jp z, xor_a_dec_a - ld a, $10 + ld a, D_RIGHT scf ret ; 246c9 -Function246c9: ; 246c9 +.d_up: ; 246c9 ld hl, wcfa6 bit 7, [hl] jp z, xor_a ld hl, wd0e4 ld a, [hl] and a - jr z, .asm_246dc + jr z, .xor_dec_up dec [hl] jp xor_a -.asm_246dc +.xor_dec_up jp xor_a_dec_a ; 246df -Function246df: ; 246df +.d_down: ; 246df ld hl, wcfa6 bit 7, [hl] jp z, xor_a @@ -23141,11 +23142,11 @@ Function246df: ; 246df ld b, a ld a, [wd144] cp b - jr c, .asm_246f9 + jr c, .xor_dec_down inc [hl] jp xor_a -.asm_246f9 +.xor_dec_down jp xor_a_dec_a ; 246fc @@ -23159,7 +23160,7 @@ Function246fc: ; 246fc ; 24706 Function24706: ; 24706 (9:4706) - call Function1cfd + call GetMemTileCoord ld de, $14 add hl, de ld de, $28 @@ -23326,7 +23327,7 @@ Function247f0: ; 247f0 ld [hl], $61 .asm_2480d - call Function1cfd + call GetMemTileCoord ld bc, $0015 add hl, bc ld a, [wcf92] @@ -23759,17 +23760,17 @@ Function24aab: ; 24aab (9:4aab) jr nz, Function24aab ret -Function24ab4: ; 0x24ab4 +PlaceMenuItemName: ; 0x24ab4 push de ld a, [MenuSelection] - ld [wd265], a + ld [wNamedObjectIndexBuffer], a call GetItemName pop hl call PlaceString ret ; 0x24ac3 -Function24ac3: ; 0x24ac3 +PlaceMenuItemQuantity: ; 0x24ac3 push de ld a, [MenuSelection] ld [CurItem], a @@ -23780,7 +23781,7 @@ Function24ac3: ; 0x24ac3 jr nz, .done ld de, $0015 add hl, de - ld [hl], $f1 + ld [hl], "×" inc hl ld de, wcf75 lb bc, 1, 2 @@ -23807,7 +23808,7 @@ Function24af8: ; 24af8 Function24b01: ; 24b01 call Function1cbb - call Function1cfd + call GetMemTileCoord ld de, $0015 add hl, de ld de, Money @@ -23832,7 +23833,8 @@ MenuDataHeader_0x24b1d: ; 0x24b1d db 1 ; default option ; 0x24b25 -Function24b25: ; 24b25 +Special_DisplayCoinCaseBalance: ; 24b25 + ; Place a text box of size 1x7 at 11, 0. hlcoord 11, 0 ld b, 1 ld c, 7 @@ -23841,7 +23843,7 @@ Function24b25: ; 24b25 ld de, CoinString call PlaceString hlcoord 17, 1 - ld de, String24b8e + ld de, ShowMoney_TerminatorString call PlaceString ld de, Coins lb bc, 2, 4 @@ -23850,10 +23852,10 @@ Function24b25: ; 24b25 ret ; 24b4e -Function24b4e: ; 24b4e +Special_DisplayMoneyAndCoinBalance: ; 24b4e hlcoord 5, 0 - ld b, $3 - ld c, $d + ld b, 3 + ld c, 13 call TextBox hlcoord 6, 1 ld de, MoneyString @@ -23876,7 +23878,7 @@ MoneyString: ; 24b83 db "MONEY@" CoinString: ; 24b89 db "COIN@" -String24b8e: ; 24b8e +ShowMoney_TerminatorString: ; 24b8e db "@" ; 24b8f @@ -23980,34 +23982,35 @@ String24c5e: ; 24c5e ; 24c64 -Function24c64: ; 24c64 +FindApricornsInBag: ; 24c64 +; Checks the bag for Apricorns. ld hl, Buffer1 xor a ld [hli], a dec a - ld bc, $000a + ld bc, 10 call ByteFill - ld hl, ApricornBalls -.asm_24c73 + ld hl, .ApricornBalls +.loop ld a, [hl] - cp $ff - jr z, .asm_24c8d + cp -1 + jr z, .done push hl ld [CurItem], a ld hl, NumItems call CheckItem pop hl - jr nc, .asm_24c89 + jr nc, .nope ld a, [hl] - call Function24c94 -.asm_24c89 + call .addtobuffer +.nope rept 2 inc hl endr - jr .asm_24c73 + jr .loop -.asm_24c8d +.done ld a, [Buffer1] and a ret nz @@ -24015,7 +24018,7 @@ endr ret ; 24c94 -Function24c94: ; 24c94 +.addtobuffer: ; 24c94 push hl ld hl, Buffer1 inc [hl] @@ -24027,7 +24030,7 @@ Function24c94: ; 24c94 ret ; 24ca0 -ApricornBalls: ; 24ca0 +.ApricornBalls: ; 24ca0 db RED_APRICORN, LEVEL_BALL db BLU_APRICORN, LURE_BALL db YLW_APRICORN, MOON_BALL @@ -24035,7 +24038,7 @@ ApricornBalls: ; 24ca0 db WHT_APRICORN, FAST_BALL db BLK_APRICORN, HEAVY_BALL db PNK_APRICORN, LOVE_BALL - db $ff + db -1 ; 24caf @@ -24154,7 +24157,7 @@ MonMenuLoop: ; 24d59 ; 24d91 PopulateMonMenu: ; 24d91 - call Function1cfd + call GetMemTileCoord ld bc, $002a ; 42 add hl, bc ld de, Buffer2 @@ -24301,7 +24304,7 @@ Function24e68: ; 24e68 xor a ld [Buffer1], a ld hl, Buffer2 - ld bc, $0009 + ld bc, 9 call ByteFill ret ; 24e76 @@ -24312,7 +24315,7 @@ Function24e76: ; 24e76 ld d, $0 ld hl, Buffer2 add hl, de - ld [hl], $ff + ld [hl], -1 ret ; 24e83 @@ -24642,7 +24645,7 @@ Function2500e: ; 2500e Function25072: ; 25072 call Function1cbb - call Function1cfd + call GetMemTileCoord ld de, $0015 add hl, de ld [hl], $f1 @@ -24766,8 +24769,8 @@ Function25105: ; 25105 ld a, [wcf63] bit 7, a jr nz, .asm_25132 - ld a, [$ffa9] - and $2 + ld a, [hJoyLast] + and B_BUTTON jr nz, .asm_25132 call Function2518e call DelayFrame @@ -24862,9 +24865,9 @@ Function251b6: ; 251b6 (9:51b6) Function251d7: ; 251d7 (9:51d7) call Function25415 - ld hl, $ffa9 + ld hl, hJoyLast ld a, [hl] - and $11 + and D_RIGHT | A_BUTTON jr nz, .asm_251e3 ret .asm_251e3 @@ -24903,12 +24906,12 @@ Function251f4: ; 251f4 (9:51f4) Function25221: ; 25221 (9:5221) ld hl, Unknown_254c9 call Function25438 - ld hl, $ffa9 + ld hl, hJoyLast ld a, [hl] - and $1 + and A_BUTTON jr nz, Function25246 ld a, [hl] - and $20 + and D_LEFT jr nz, .asm_25235 ret .asm_25235 @@ -24952,12 +24955,12 @@ Function2524c: ; 2524c (9:524c) Function25279: ; 25279 (9:5279) ld hl, Unknown_254c9 call Function25438 - ld hl, $ffa9 + ld hl, hJoyLast ld a, [hl] - and $20 + and D_LEFT jr nz, .asm_2528d ld a, [hl] - and $10 + and D_RIGHT jr nz, .asm_25293 ret .asm_2528d @@ -25429,7 +25432,7 @@ ClearOakRatingBuffers: ; 0x26647 ClearOakRatingBuffer: ; 0x2665a push hl ld a, "@" - ld bc, $000d + ld bc, ITEM_NAME_LENGTH call ByteFill pop hl lb bc, PRINTNUM_RIGHTALIGN | 1, 3 @@ -25727,8 +25730,8 @@ Function26822: ; 26822 (9:6822) ld hl, StringBuffer2 xor a ld [hli], a - ld bc, $c - ld a, $ff + ld bc, ITEM_NAME_LENGTH - 1 + ld a, -1 call ByteFill ret @@ -28740,13 +28743,13 @@ Function28ade: ; 28ade ldcoord 9, 17 .asm_28ae3 call Functiona57 - ld a, [$ffa9] + ld a, [hJoyLast] and a jr z, .asm_28ae3 bit 0, a jr nz, .asm_28b0b push af - ld a, $7f + ld a, " " ldcoord 9, 17 pop af bit 6, a @@ -28790,12 +28793,12 @@ Function28b22: ; 28b22 Function28b42: ; 28b42 hlcoord 0, 16 - ld a, $7e - ld bc, $0028 + ld a, "┘" + ld bc, 2 * SCREEN_WIDTH call ByteFill hlcoord 1, 16 - ld a, $7f - ld bc, SCREEN_HEIGHT + ld a, " " + ld bc, SCREEN_WIDTH - 2 call ByteFill hlcoord 2, 16 ld de, String_28b61 @@ -29372,7 +29375,7 @@ Function28fdb: ; 28fdb ld a, $1 ld [rVBK], a ld hl, VTiles0 - ld bc, $2000 + ld bc, sScratch - VTiles0 xor a call ByteFill ld a, $0 @@ -29380,8 +29383,8 @@ Function28fdb: ; 28fdb .asm_2900b ld hl, VBGMap0 - ld bc, $0800 - ld a, $7f + ld bc, sScratch - VBGMap0 + ld a, " " call ByteFill ld hl, TradeGameBoyLZ ld de, VTiles2 tile $31 @@ -29689,8 +29692,8 @@ Function29229: ; 29229 call DisableLCD callab Function8cf53 ld hl, VBGMap0 - ld bc, $0800 - ld a, $7f + ld bc, sScratch - VBGMap0 + ld a, " " call ByteFill xor a ld [hSCX], a @@ -29814,11 +29817,11 @@ Function292f6: ; 292f6 call WhiteBGMap call WaitTop ld a, $9c - ld [$ffd7], a + ld [hBGMapAddress + 1], a call ClearTileMap hlcoord 0, 0 ld bc, SCREEN_WIDTH - ld a, $7a + ld a, "─" call ByteFill hlcoord 0, 1 ld de, wc736 @@ -29827,7 +29830,7 @@ Function292f6: ; 292f6 ld de, 0 .asm_2931e ld a, [hli] - cp $50 + cp "@" jr z, .asm_29326 dec de jr .asm_2931e @@ -29844,7 +29847,7 @@ Function292f6: ; 292f6 call WaitBGMap call WaitTop ld a, $98 - ld [$ffd7], a + ld [hBGMapAddress + 1], a call ClearTileMap ret ; 29348 @@ -29955,7 +29958,7 @@ Function293de: ; 293de Function293ea: ; 293ea call WaitTop ld a, $9c - ld [$ffd7], a + ld [hBGMapAddress + 1], a call WaitBGMap ld a, $7 ld [hWX], a @@ -29964,7 +29967,7 @@ Function293ea: ; 293ea call DelayFrame call WaitTop ld a, $98 - ld [$ffd7], a + ld [hBGMapAddress + 1], a call ClearTileMap call Function2910f ret @@ -29980,14 +29983,14 @@ Function2940c: ; 2940c .asm_29417 ld a, $9c - ld [$ffd7], a + ld [hBGMapAddress + 1], a call WaitBGMap ld a, $7 ld [hWX], a ld a, $90 ld [hWY], a ld a, $98 - ld [$ffd7], a + ld [hBGMapAddress + 1], a call Function29114 ret ; 2942e @@ -30174,7 +30177,7 @@ Function29573: ; 29573 call WaitTop call Function297cf ld a, $9c - ld [$ffd7], a + ld [hBGMapAddress + 1], a hlcoord 3, 0 ld b, $6 ld c, $d @@ -30196,7 +30199,7 @@ Function295a1: ; 295a1 call WaitTop call Function297cf ld a, $9c - ld [$ffd7], a + ld [hBGMapAddress + 1], a hlcoord 3, 0 ld b, $6 ld c, $d @@ -30218,7 +30221,7 @@ Function295d8: ; 295d8 call WaitBGMap call WaitTop ld a, $98 - ld [$ffd7], a + ld [hBGMapAddress + 1], a ret ; 295e3 @@ -30490,8 +30493,8 @@ UnknownText_0x29757: ; 0x29757 Function2975c: ; 2975c call WaitTop hlcoord 0, 10 - ld bc, $00a0 - ld a, $7f + ld bc, 8 * SCREEN_WIDTH + ld a, " " call ByteFill call WaitBGMap ld hl, UnknownText_0x2977a @@ -30566,7 +30569,7 @@ Function297c9: ; 297c9 Function297cf: ; 297cf hlcoord 0, 0 ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - ld a, $7f + ld a, " " call ByteFill ret ; 297db @@ -33335,10 +33338,10 @@ Unknown_2c74a: ; 2c74a Function2c76f: ; 2c76f (b:476f) ld a, $1 - ld [$ffaa], a + ld [hInMenu], a call Function2c8d3 ld a, $0 - ld [$ffaa], a + ld [hInMenu], a ret nc call Function1bee call WaitBGMap @@ -34878,7 +34881,7 @@ Function41a7f: ; 41a7f ld [hl], $3b inc hl ld bc, $0013 - ld a, $7f + ld a, " " call ByteFill callba Function4424d call EnableLCD @@ -36140,23 +36143,23 @@ Function4456e: ; 4456e call Function44648 cp $a jr nc, .asm_445be - ld bc, $002f + ld bc, PartyMon1StatsEnd - PartyMon1Item ld hl, s0_a834 + 1 call AddNTimes ld d, h ld e, l ld a, [CurPartyMon] - ld bc, $002f + ld bc, PartyMon1StatsEnd - PartyMon1Item ld hl, s0_a600 call AddNTimes push hl ld a, BANK(s0_a834) call GetSRAMBank - ld bc, $002f + ld bc, PartyMon1StatsEnd - PartyMon1Item call CopyBytes pop hl xor a - ld bc, $002f + ld bc, PartyMon1StatsEnd - PartyMon1Item call ByteFill ld a, PartyMon1Item - PartyMon1 call GetPartyParamLocation @@ -36178,7 +36181,7 @@ Function445c0: ; 445c0 (11:45c0) ld a, b push bc ld hl, s0_a834 + 1 - ld bc, $2f + ld bc, PartyMon1StatsEnd - PartyMon1Item call AddNTimes push hl add hl, bc @@ -36189,7 +36192,7 @@ Function445c0: ; 445c0 (11:45c0) cp $9 jr z, .asm_445e4 push bc - ld bc, $2f + ld bc, PartyMon1StatsEnd - PartyMon1Item call CopyBytes pop bc inc b @@ -36198,7 +36201,7 @@ Function445c0: ; 445c0 (11:45c0) ld h, d ld l, e xor a - ld bc, $2f + ld bc, PartyMon1StatsEnd - PartyMon1Item call ByteFill ld hl, s0_a834 dec [hl] @@ -36208,7 +36211,7 @@ Function445c0: ; 445c0 (11:45c0) Function445f4: ; 445f4 ld a, b ld hl, s0_a834 + 1 - ld bc, $2f + ld bc, PartyMon1StatsEnd - PartyMon1Item call AddNTimes ld d, h ld e, l @@ -36220,22 +36223,22 @@ Function44607: ; 44607 call GetSRAMBank push bc ld a, b - ld bc, $2f + ld bc, PartyMon1StatsEnd - PartyMon1Item ld hl, s0_a834 + 1 call AddNTimes push hl ld a, [CurPartyMon] - ld bc, $2f + ld bc, PartyMon1StatsEnd - PartyMon1Item ld hl, s0_a600 call AddNTimes ld d, h ld e, l pop hl push hl - ld bc, $2f + ld bc, PartyMon1StatsEnd - PartyMon1Item call CopyBytes pop hl - ld de, $2e + ld de, PartyMon1StatsEnd - PartyMon1Moves add hl, de ld d, [hl] ld a, [CurPartyMon] @@ -36274,7 +36277,7 @@ Function44654:: ; 44654 call GetSRAMBank ld a, [CurPartyMon] ld hl, s0_a600 - ld bc, $002f + ld bc, PartyMon1StatsEnd - PartyMon1Item call AddNTimes ld d, h ld e, l @@ -36288,7 +36291,7 @@ Function44654:: ; 44654 ld c, a ld a, b call GetFarByte - cp $50 + cp "@" jr z, .asm_446ab cp c ld a, $0 @@ -37556,10 +37559,10 @@ Function4876f: ; 4876f (12:476f) call PlaceString ld hl, MenuDataHeader_0x48509 call LoadMenuDataHeader - ld a, [$ffaa] + ld a, [hInMenu] push af ld a, $1 - ld [$ffaa], a + ld [hInMenu], a hlcoord 10, 5 ld b, $1 ld c, $8 @@ -37605,7 +37608,7 @@ Function4876f: ; 4876f (12:476f) hlcoord 11, 6 call Function487ec pop af - ld [$ffaa], a + ld [hInMenu], a jp Function4840c Function487ec: ; 487ec (12:47ec) @@ -37643,7 +37646,7 @@ Function4880e: ; 4880e (12:480e) ld a, [hJoyPressed] ; $ff00+$a7 and B_BUTTON jp nz, Function488b4 - ld hl, $ffa9 + ld hl, hJoyLast ld a, [hl] and D_UP jr nz, .asm_48843 @@ -37759,10 +37762,10 @@ Function488d3: ; 488d3 (12:48d3) jp c, Function4840c ld hl, MenuDataHeader_0x4850e call LoadMenuDataHeader - ld a, [$ffaa] + ld a, [hInMenu] push af ld a, $1 - ld [$ffaa], a + ld [hInMenu], a hlcoord 10, 9 ld b, $1 ld c, $8 @@ -37797,7 +37800,7 @@ asm_48922: ; 48922 (12:4922) bit 1, a jp nz, Function4896e ld a, [DefaultFlypoint] - and $cf + and %11001111 res 7, a ld [DefaultFlypoint], a pop bc @@ -37830,7 +37833,7 @@ Function4895a: ; 4895a jr asm_48972 .asm_48965 - ld a, [$ffa9] + ld a, [hJoyLast] and a jr z, asm_48972 @@ -37907,7 +37910,7 @@ asm_48972: ; 48972 (12:4972) ld bc, $108 call ClearBox pop af - ld [$ffaa], a + ld [hInMenu], a jp Function4840c Function489ea: ; 489ea (12:49ea) @@ -38084,18 +38087,18 @@ Function48ab5: ; 48ab5 (12:4ab5) dec a jr .asm_48b25 .asm_48b2c - ld hl, $ffa9 + ld hl, hJoyLast ld a, [hl] - and $40 + and D_UP jr nz, .asm_48b8d ld a, [hl] - and $80 + and D_DOWN jr nz, .asm_48b55 ld a, [hl] - and $20 + and D_LEFT jp nz, Function48bd7 ld a, [hl] - and $10 + and D_RIGHT jr nz, .asm_48b9d hlcoord 11, 10 call Function489ea @@ -38624,11 +38627,11 @@ Function48e14: ; 48e14 (12:4e14) call Function48000 call Functione5f hlcoord 0, 0 - ld bc, $168 + ld bc, SCREEN_HEIGHT * SCREEN_WIDTH ld a, $0 call ByteFill hlcoord 0, 0, AttrMap - ld bc, $168 + ld bc, SCREEN_HEIGHT * SCREEN_WIDTH xor a call ByteFill ret @@ -38847,7 +38850,7 @@ Function49336: ; 49336 Function49346: ; 49346 (12:5346) hlcoord 0, 0, AttrMap - ld bc, $168 + ld bc, SCREEN_HEIGHT * SCREEN_WIDTH xor a call ByteFill ret @@ -38905,7 +38908,7 @@ Function49384: ; 49384 (12:5384) ld a, $3 call Function49336 hlcoord 0, 12, AttrMap - ld bc, $78 + ld bc, 6 * SCREEN_WIDTH ld a, $7 call ByteFill ret @@ -38977,7 +38980,7 @@ Function4942f: ; 4942f xor a call ByteFill hlcoord 0, 14, AttrMap - ld bc, $0050 + ld bc, 4 * SCREEN_WIDTH ld a, $7 call ByteFill ld a, [DefaultFlypoint] @@ -39361,7 +39364,7 @@ endr ld [hl], a hlcoord 2, 17, AttrMap ld a, $3 - ld bc, $0006 + ld bc, 6 call ByteFill ret ; 49811 @@ -40745,17 +40748,17 @@ Function4a3aa: ; 4a3aa ; 4a449 (12:6449) Function4a449: ; 4a449 - ld bc, $003c + ld bc, 3 * SCREEN_WIDTH ld a, $0 hlcoord 0, 0 call ByteFill - ld bc, $0028 + ld bc, 2 * SCREEN_WIDTH ld a, $1 call ByteFill - ld bc, $0028 + ld bc, 2 * SCREEN_WIDTH ld a, $0 call ByteFill - ld bc, $0028 + ld bc, 2 * SCREEN_WIDTH ld a, $1 call ByteFill ld bc, SCREEN_WIDTH @@ -40765,7 +40768,7 @@ Function4a449: ; 4a449 ld a, $3 call ByteFill ld bc, SCREEN_WIDTH - ld a, $7f + ld a, " " call ByteFill ret ; 4a485 @@ -41489,9 +41492,9 @@ Function4a927: ; 4a927 Function4a94e: ; 4a94e call FadeToMenu - ld a, $ff + ld a, -1 ld hl, DefaultFlypoint - ld bc, $0003 + ld bc, 3 call ByteFill xor a ld [wd018], a @@ -41525,8 +41528,8 @@ Function4a94e: ; 4a94e .asm_4a990 call Function2b3c ld hl, DefaultFlypoint - ld a, $ff - ld bc, $0003 + ld a, -1 + ld bc, 3 call ByteFill scf jr .asm_4a9af @@ -41743,15 +41746,15 @@ Function4aad3: ; 4aad3 ld c, a xor a - ld [$ffb0], a + ld [hConnectedMapWidth], a .loop push bc push hl ld e, 0 callba Function8e83f - ld a, [$ffb0] + ld a, [hConnectedMapWidth] inc a - ld [$ffb0], a + ld [hConnectedMapWidth], a pop hl pop bc dec c @@ -42455,8 +42458,8 @@ Function4cf1f: ; 4cf1f Function4cf34: ; 4cf34 call GetSRAMBank - ld hl, $a000 - ld bc, $2000 + ld hl, sScratch + ld bc, StackBottom - sScratch xor a call ByteFill call CloseSRAM @@ -42503,7 +42506,7 @@ Function4cf45: ; 4cf45 (13:4f45) Function4cf80: ; 4cf80 (13:4f80) ld [hSPBuffer], sp ; $ffd9 ld sp, hl - ld a, [$ffd7] + ld a, [hBGMapAddress + 1] ld h, a ld l, $0 ld a, $12 @@ -42723,7 +42726,7 @@ Function4d188: ; 4d188 Function4d1cb: ; 4d1cb ld [hSPBuffer], sp ld sp, hl - ld a, [$ffd7] + ld a, [hBGMapAddress + 1] ld h, a ld l, $0 ld a, $12 @@ -43013,7 +43016,7 @@ Function4d41e: ; 4d41e call Function4d50f push de ld hl, StringBuffer2 - ld bc, $0005 + ld bc, 5 xor a call ByteFill ld a, $4 @@ -43024,12 +43027,12 @@ Function4d41e: ; 4d41e call Function4d468 .asm_4d43a call Functiona57 - ld a, [$ffa9] + ld a, [hJoyLast] ld b, a - and $1 + and A_BUTTON jr nz, .asm_4d453 ld a, b - and $f0 + and D_PAD jr z, .asm_4d43a call Function4d490 ld c, $3 @@ -43071,8 +43074,8 @@ Function4d468: ; 4d468 dec c jr nz, .asm_4d470 hlcoord 14, 16 - ld bc, $0005 - ld a, $7f + ld bc, 5 + ld a, " " call ByteFill hlcoord 14, 16 ld a, [StringBuffer2 + 5] @@ -43629,7 +43632,7 @@ endr db "@" ; 0x4d9d3 -Function4d9d3: ; 4d9d3 +Special_PrintTodaysLuckyNumber: ; 4d9d3 ld hl, StringBuffer3 ld de, wLuckyIDNumber lb bc, PRINTNUM_LEADINGZEROS | 2, 5 @@ -45520,7 +45523,7 @@ Function4e779: ; 4e779 call Functiona57 ld a, [hJoyDown] pop bc - and $2 + and B_BUTTON jr nz, .asm_4e78c .asm_4e787 dec c @@ -45654,8 +45657,8 @@ Function4e881: ; 4e881 call Functione51 call Functione58 ld hl, VBGMap0 - ld bc, $400 - ld a, $7f + ld bc, VBGMap1 - VBGMap0 + ld a, " " call ByteFill hlcoord 0, 0, AttrMap ld bc, SCREEN_WIDTH * SCREEN_HEIGHT @@ -45687,8 +45690,8 @@ Function4e8c2: ; 4e8c2 call Functione51 call Functione58 ld hl, VBGMap0 - ld bc, $400 - ld a, $7f + ld bc, VBGMap1 - VBGMap0 + ld a, " " call ByteFill hlcoord 0, 0, AttrMap ld bc, SCREEN_WIDTH * SCREEN_HEIGHT @@ -45697,9 +45700,9 @@ Function4e8c2: ; 4e8c2 ld hl, wd000 ld c, $40 .asm_4e8ee - ld a, $ff + ld a, -1 ld [hli], a - ld a, $7f + ld a, " " ld [hli], a dec c jr nz, .asm_4e8ee @@ -45718,8 +45721,8 @@ Function4e906: ; 4e906 ld a, $6 ld [rSVBK], a ld hl, w6_d000 - ld bc, $400 - ld a, $7f + ld bc, w6_d400 - w6_d000 + ld a, " " call ByteFill ld hl, VBGMap0 ld de, w6_d000 @@ -45902,7 +45905,7 @@ endr Function4e9e5: ; 4e9e5 ld hl, LYOverrides ld a, $90 - ld bc, $0090 + ld bc, SCREEN_HEIGHT_PX call ByteFill ret ; 4e9f1 @@ -46674,7 +46677,7 @@ Function503e0: ; 503e0 ret z ld c, a xor a - ld [$ffb0], a + ld [hConnectedMapWidth], a .asm_503ea push bc push hl @@ -46682,9 +46685,9 @@ Function503e0: ; 503e0 ld a, BANK(Function8e83f) ld e, $0 rst FarCall - ld a, [$ffb0] + ld a, [hConnectedMapWidth] inc a - ld [$ffb0], a + ld [hConnectedMapWidth], a pop hl pop bc dec c @@ -46764,7 +46767,7 @@ PartyMenuSelect: ; 0x50457 cp b jr z, .exitmenu ; CANCEL ld [wd0d8], a - ld a, [$ffa9] + ld a, [hJoyLast] ld b, a bit 1, b jr nz, .exitmenu ; B button? @@ -48401,10 +48404,10 @@ Function50f12: Function50f34: ; 50f34 (14:4f34) push af hlcoord 0, 1 - ld bc, $28 + ld bc, 2 * SCREEN_WIDTH call AddNTimes - ld bc, $28 - ld a, $7f + ld bc, 2 * SCREEN_WIDTH + ld a, " " call ByteFill pop af ld hl, Sprites @@ -49239,7 +49242,7 @@ GetMovementInput: ; 80017 ret z ld c, a - and $f0 + and D_PAD ret nz ld a, c @@ -49551,14 +49554,14 @@ TrySurfStep: ; 801c0 call CheckWaterPermissions ld [wd040], a - jr c, .asm_801f1 + jr c, .bump call IsNPCInFront ld [wd03f], a and a - jr z, .asm_801f1 + jr z, .bump cp 2 - jr z, .asm_801f1 + jr z, .bump ld a, [wd040] and a @@ -49578,7 +49581,7 @@ TrySurfStep: ; 801c0 scf ret -.asm_801f1 +.bump xor a ret ; 801f3 @@ -50315,10 +50318,10 @@ ColorTest: ; 818ac ret z .asm_818b5 - ld a, [$ffaa] + ld a, [hInMenu] push af ld a, $1 - ld [$ffaa], a + ld [hInMenu], a call DisableLCD call Function81948 call Function8197c @@ -50342,7 +50345,7 @@ ColorTest: ; 818ac .asm_818f0 pop af - ld [$ffaa], a + ld [hInMenu], a ret ; 818f4 @@ -50411,13 +50414,13 @@ Function81948: ; 81948 ld a, $1 ld [rVBK], a ld hl, VTiles0 - ld bc, $2000 + ld bc, sScratch - VTiles0 xor a call ByteFill ld a, $0 ld [rVBK], a ld hl, VTiles0 - ld bc, $2000 + ld bc, sScratch - VTiles0 xor a call ByteFill hlcoord 0, 0, AttrMap @@ -50593,12 +50596,12 @@ Function81a74: ; 81a74 ld a, [wcf63] cp $4 jr nc, .asm_81a8b - ld hl, $ffa9 + ld hl, hJoyLast ld a, [hl] - and $4 + and SELECT jr nz, .asm_81a9a ld a, [hl] - and $8 + and START jr nz, .asm_81aab .asm_81a8b @@ -50671,17 +50674,17 @@ Function81adb: ; 81adb ld a, $6f call ByteFill hlcoord 1, 3 - ld bc, $0712 + lb bc, 7, 18 ld a, $6c - call Function81efc + call Bank20_FillBoxWithByte hlcoord 11, 0 - ld bc, $0203 + lb bc, 2, 3 ld a, $6d - call Function81efc + call Bank20_FillBoxWithByte hlcoord 16, 0 - ld bc, $0203 + lb bc, 2, 3 ld a, $6e - call Function81efc + call Bank20_FillBoxWithByte call Function81bc0 call Function81bf4 ld a, [wcf66] @@ -50904,11 +50907,11 @@ Function81cbc: ; 81cbc ; 81cc2 Function81cc2: ; 81cc2 - ld a, [$ffa9] - and $2 + ld a, [hJoyLast] + and B_BUTTON jr nz, .asm_81cdf - ld a, [$ffa9] - and $1 + ld a, [hJoyLast] + and A_BUTTON jr nz, .asm_81ce5 ld a, [wcf64] and $3 @@ -50953,15 +50956,15 @@ Jumptable_81d02: ; 81d02 ; 81d0a Function81d0a: ; 81d0a - ld hl, $ffa9 + ld hl, hJoyLast ld a, [hl] - and $80 + and D_DOWN jr nz, Function81d89 ld a, [hl] - and $20 + and D_LEFT jr nz, .asm_81d1d ld a, [hl] - and $10 + and D_RIGHT jr nz, .asm_81d28 ret @@ -50980,40 +50983,40 @@ Function81d0a: ; 81d0a ret Function81d34: ; 81d34 - ld hl, $ffa9 + ld hl, hJoyLast ld a, [hl] - and $80 + and D_DOWN jr nz, Function81d89 ld a, [hl] - and $40 + and D_UP jr nz, Function81d84 ld hl, wc608 + 10 jr Function81d63 Function81d46: ; 81d46 - ld hl, $ffa9 + ld hl, hJoyLast ld a, [hl] - and $80 + and D_DOWN jr nz, Function81d89 ld a, [hl] - and $40 + and D_UP jr nz, Function81d84 ld hl, wc608 + 11 jr Function81d63 Function81d58: ; 81d58 - ld hl, $ffa9 + ld hl, hJoyLast ld a, [hl] - and $40 + and D_UP jr nz, Function81d84 ld hl, wc608 + 12 Function81d63: ; 81d63 - ld a, [$ffa9] - and $10 + ld a, [hJoyLast] + and D_RIGHT jr nz, Function81d70 - ld a, [$ffa9] - and $20 + ld a, [hJoyLast] + and D_LEFT jr nz, Function81d77 ret @@ -51066,7 +51069,7 @@ Function81d8e: ; 81d8e Function81daf: ; 81daf ld hl, hJoyPressed ld a, [hl] - and $2 + and B_BUTTON jr nz, .asm_81dbb call Function81dc7 ret @@ -51084,12 +51087,12 @@ Function81dc1: ; 81dc1 ; 81dc7 Function81dc7: ; 81dc7 - ld hl, $ffa9 + ld hl, hJoyLast ld a, [hl] - and $40 + and D_UP jr nz, .asm_81dd5 ld a, [hl] - and $80 + and D_DOWN jr nz, .asm_81de2 ret @@ -51284,20 +51287,21 @@ endr ret ; 81efc -Function81efc: ; 81efc -.asm_81efc +Bank20_FillBoxWithByte: ; 81efc +; For some reason, we have another copy of FillBoxWithByte here +.row push bc push hl -.asm_81efe +.col ld [hli], a dec c - jr nz, .asm_81efe + jr nz, .col pop hl ld bc, SCREEN_WIDTH add hl, bc pop bc dec b - jr nz, .asm_81efc + jr nz, .row ret ; 81f0c @@ -51382,7 +51386,7 @@ Function81f5e: ; 81f5e jr z, .asm_81f8d dec a hlcoord 1, 11 - ld bc, $0028 + ld bc, 2 * SCREEN_WIDTH call AddNTimes ld [hl], $ed @@ -51466,7 +51470,7 @@ TilesetColorTest: lb bc, BANK(DebugColorTestGFX), 1 call Request2bpp ld a, $9c - ld [$ffd7], a + ld [hBGMapAddress + 1], a hlcoord 0, 0 ld bc, SCREEN_WIDTH * SCREEN_HEIGHT ld a, $6f @@ -51532,7 +51536,7 @@ Function821f4: ; 821f4 Function82203: ; 82203 ld a, $6a ld [hli], a - ld bc, $000f + ld bc, $10 - 1 ld a, $6b call ByteFill ret @@ -51563,12 +51567,12 @@ endr Function82236: ; 82236 - ld hl, $ffa9 + ld hl, hJoyLast ld a, [hl] - and $4 + and SELECT jr nz, .loop7 ld a, [hl] - and $2 + and B_BUTTON jr nz, .asm_82299 call Function822f0 ret @@ -51660,7 +51664,7 @@ Function822f0: ; 822f0 and 3 ld e, a ld d, 0 - ld hl, Jumptable_82301 + ld hl, .jumptable rept 2 add hl, de endr @@ -51670,7 +51674,7 @@ endr jp [hl] ; 82301 -Jumptable_82301: ; 82301 +.jumptable: ; 82301 dw Function82309 dw Function82339 dw Function8234b @@ -51678,15 +51682,15 @@ Jumptable_82301: ; 82301 ; 82309 Function82309: ; 82309 - ld hl, $ffa9 + ld hl, hJoyLast ld a, [hl] - and $80 + and D_DOWN jr nz, Function8238c ld a, [hl] - and $20 + and D_LEFT jr nz, .asm_8231c ld a, [hl] - and $10 + and D_RIGHT jr nz, .asm_82322 ret @@ -51714,40 +51718,40 @@ endr ret Function82339: ; 82338 - ld hl, $ffa9 + ld hl, hJoyLast ld a, [hl] - and $80 + and D_DOWN jr nz, Function8238c ld a, [hl] - and $40 + and D_UP jr nz, Function82387 ld hl, wc608 + 10 jr Function82368 Function8234b: ; 8234b - ld hl, $ffa9 + ld hl, hJoyLast ld a, [hl] - and $80 + and D_DOWN jr nz, Function8238c ld a, [hl] - and $40 + and D_UP jr nz, Function82387 ld hl, wc608 + 11 jr Function82368 Function8235d: ; 8235d - ld hl, $ffa9 + ld hl, hJoyLast ld a, [hl] - and $40 + and D_UP jr nz, Function82387 ld hl, wc608 + 12 Function82368: ; 82368 - ld a, [$ffa9] - and $10 + ld a, [hJoyLast] + and D_RIGHT jr nz, .asm_82375 - ld a, [$ffa9] - and $20 + ld a, [hJoyLast] + and D_LEFT jr nz, .asm_8237c ret @@ -52836,7 +52840,7 @@ Function84688: ; 84688 Function846f6: ; 846f6 ld a, [hJoyDown] - and $2 + and B_BUTTON jr nz, .asm_846fe and a ret @@ -52890,7 +52894,7 @@ Function84742: ; 84742 ld [hJoyReleased], a ld [hJoyPressed], a ld [hJoyDown], a - ld [$ffa9], a + ld [hJoyLast], a ret ; 8474c @@ -53025,13 +53029,13 @@ Function84817: ; 84817 (21:4817) xor a ld [wd002], a hlcoord 0, 0 - ld bc, $168 - ld a, $7f + ld bc, SCREEN_HEIGHT * SCREEN_WIDTH + ld a, " " call ByteFill call Function84a0e hlcoord 0, 0 - ld bc, $b4 - ld a, $7f + ld bc, 9 * SCREEN_WIDTH + ld a, " " call ByteFill call Function849e9 call Function849d7 @@ -53060,8 +53064,8 @@ String_84865: Function8486f: ; 8486f (21:486f) hlcoord 0, 0 - ld bc, $168 - ld a, $7f + ld bc, SCREEN_HEIGHT * SCREEN_WIDTH + ld a, " " call ByteFill call Function84a0e call Function849e9 @@ -53077,8 +53081,8 @@ Function8486f: ; 8486f (21:486f) Function84893: ; 84893 (21:4893) hlcoord 0, 0 - ld bc, $168 - ld a, $7f + ld bc, SCREEN_HEIGHT * SCREEN_WIDTH + ld a, " " call ByteFill call Function84a0e call Function849e9 @@ -53094,8 +53098,8 @@ Function84893: ; 84893 (21:4893) Function848b7: ; 848b7 (21:48b7) hlcoord 0, 0 - ld bc, $168 - ld a, $7f + ld bc, SCREEN_HEIGHT * SCREEN_WIDTH + ld a, " " call ByteFill call Function84a0e hlcoord 1, 15 @@ -53132,7 +53136,7 @@ Function848ed: ; 848ed (21:48ed) push de push hl ld bc, $10 - ld a, $7f + ld a, " " call ByteFill pop hl push hl @@ -53153,7 +53157,7 @@ Function848ed: ; 848ed (21:48ed) ld [hli], a push hl ld bc, $e - ld a, $7f + ld a, " " call ByteFill pop hl push hl @@ -53474,7 +53478,7 @@ GetHallOfFameParty: ; 8653f ld c, 0 .next ld a, [hli] - cp $ff + cp -1 jr z, .done cp EGG jr nz, .mon @@ -53567,7 +53571,7 @@ endr predef GetUnownLetter hlcoord 0, 0 ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - ld a, $7f + ld a, " " call ByteFill ld de, VTiles2 tile $31 predef GetBackpic @@ -53591,7 +53595,7 @@ endr ld [wc2c6], a hlcoord 0, 0 ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - ld a, $7f + ld a, " " call ByteFill hlcoord 6, 5 call Function378b @@ -53649,15 +53653,15 @@ Function86665: ; 86665 jr c, .asm_86690 .asm_8666e call Functiona57 - ld hl, $ffa9 + ld hl, hJoyLast ld a, [hl] - and $2 + and B_BUTTON jr nz, .asm_8668e ld a, [hl] - and $1 + and A_BUTTON jr nz, .asm_86688 ld a, [hl] - and $8 + and START jr nz, .asm_86690 call DelayFrame jr .asm_8666e @@ -53787,19 +53791,19 @@ Function86748: ; 86748 ld a, [hli] ld [TempMonLevel], a ld de, StringBuffer2 - ld bc, $000a + ld bc, 10 call CopyBytes - ld a, $50 + ld a, "@" ld [StringBuffer2 + 10], a hlcoord 0, 0 ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - ld a, $7f + ld a, " " call ByteFill hlcoord 0, 0 - ld bc, $0312 + lb bc, 3, SCREEN_WIDTH - 2 call TextBox hlcoord 0, 12 - ld bc, $0412 + lb bc, 4, SCREEN_WIDTH - 2 call TextBox ld a, [TempMonSpecies] ld [CurPartySpecies], a @@ -53866,13 +53870,13 @@ Function86810: ; 86810 call Request2bpp hlcoord 0, 0 ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - ld a, $7f + ld a, " " call ByteFill callba GetPlayerBackpic ld a, $31 ld [$ffad], a hlcoord 6, 6 - ld bc, $0606 + lb bc, 6, 6 predef FillBox ld a, $d0 ld [hSCY], a @@ -53890,7 +53894,7 @@ Function86810: ; 86810 ld [wc2c6], a hlcoord 0, 0 ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - ld a, $7f + ld a, " " call ByteFill callba Function88840 xor a @@ -53950,417 +53954,16 @@ Function86810: ; 86810 SECTION "bank22", ROMX, BANK[$22] -Function88000: ; 88000 - ld hl, UnknownText_0x88007 - call PrintText - ret -; 88007 - -UnknownText_0x88007: ; 0x88007 - ; Which APRICORN should I use? - text_jump UnknownText_0x1bc06b - db "@" -; 0x8800c - -Function8800c: ; 8800c - ld hl, UnknownText_0x88013 - call PrintText - ret -; 88013 - -UnknownText_0x88013: ; 0x88013 - ; How many should I make? - text_jump UnknownText_0x1bc089 - db "@" -; 0x88018 - -Function88018: ; 88018 - call Function1d6e - ld c, $1 - xor a - ld [wd0e4], a - ld [wdca4], a -.asm_88024 - push bc - call Function88000 - pop bc - ld a, c - ld [MenuSelection], a - call Function88055 - ld a, c - ld [ScriptVar], a - and a - jr z, .asm_88051 - ld [CurItem], a - ld a, [wcfa9] - ld c, a - push bc - call Function8800c - call Function880c2 - pop bc - jr nc, .asm_88024 - ld a, [wd10c] - ld [wdca4], a - call Function88161 - -.asm_88051 - call Function1d7d - ret -; 88055 - -Function88055: ; 88055 - callba Function24c64 - jr c, .asm_88083 - ld hl, MenuDataHeader_0x88086 - call CopyMenuDataHeader - ld a, [MenuSelection] - ld [wcf88], a - xor a - ld [hBGMapMode], a - call Function352f - call UpdateSprites - call Function350c - ld a, [wcf73] - cp $2 - jr z, .asm_88083 - ld a, [MenuSelection] - cp $ff - jr nz, .asm_88084 - -.asm_88083 - xor a - -.asm_88084 - ld c, a - ret -; 88086 - -MenuDataHeader_0x88086: ; 0x88086 - db $40 ; flags - db 01, 01 ; start coords - db 10, 13 ; end coords - dw MenuData2_0x8808f - db 1 ; default option -; 0x8808e - - db 0 - -MenuData2_0x8808f: ; 0x8808f - db $10 ; flags - db 4, 7 - db 1 - dbw 0, wd1ea - dbw BANK(Function8809f), Function8809f - dbw BANK(Function880ab), Function880ab - dbw BANK(NULL), NULL - -Function8809f: ; 8809f - ld a, [MenuSelection] - and a - ret z - callba Function24ab4 - ret -; 880ab - -Function880ab: ; 880ab - ld a, [MenuSelection] - ld [CurItem], a - call Function88139 - ret z - ld a, [wd10c] - ld [wcf75], a - callba Function24ac3 - ret -; 880c2 - -Function880c2: ; 880c2 - ld a, [CurItem] - ld [MenuSelection], a - call Function88139 - jr z, .asm_88109 - ld a, [wd10c] - ld [wd10d], a - ld a, $1 - ld [wd10c], a - ld hl, MenuDataHeader_0x8810d - call LoadMenuDataHeader -.asm_880de - xor a - ld [hBGMapMode], a - call Function1cbb - call UpdateSprites - call Function88116 - call Function88126 - call Function321c - callba Function27a28 - jr nc, .asm_880de - push bc - call PlayClickSFX - pop bc - ld a, b - cp $ff - jr z, .asm_88109 - ld a, [wd10c] - ld [wd10c], a - scf - -.asm_88109 - call WriteBackup - ret -; 8810d - -MenuDataHeader_0x8810d: ; 0x8810d - db $40 ; flags - db 09, 06 ; start coords - db 12, 19 ; end coords - - db 0, 0, -1, 0 ; XXX - -Function88116: ; 88116 - call Function1cfd - ld de, $0015 - add hl, de - ld d, h - ld e, l - callba Function24ab4 - ret -; 88126 - -Function88126: ; 88126 - call Function1cfd - ld de, $0032 - add hl, de - ld [hl], $f1 - inc hl - ld de, wd10c - lb bc, PRINTNUM_LEADINGZEROS | 1, 2 - jp PrintNum -; 88139 - -Function88139: ; 88139 - push bc - ld hl, NumItems - ld a, [CurItem] - ld c, a - ld b, $0 -.asm_88143 - inc hl - ld a, [hli] - cp $ff - jr z, .asm_88153 - cp c - jr nz, .asm_88143 - ld a, [hl] - add b - ld b, a - jr nc, .asm_88143 - ld b, $ff - -.asm_88153 - ld a, b - sub $63 - jr c, .asm_8815a - ld b, $63 - -.asm_8815a - ld a, b - ld [wd10c], a - and a - pop bc - ret -; 88161 - -Function88161: ; 88161 - push de - push bc - ld hl, NumItems - ld a, [CurItem] - ld c, a - ld e, $0 - xor a - ld [wd107], a - ld a, $ff - ld [DefaultFlypoint], a -.asm_88175 - ld a, [wd107] - inc a - ld [wd107], a - inc hl - ld a, [hli] - cp $ff - jr z, .asm_88198 - cp c - jr nz, .asm_88175 - ld d, $0 - push hl - ld hl, DefaultFlypoint - add hl, de - inc e - ld a, [wd107] - dec a - ld [hli], a - ld a, $ff - ld [hl], a - pop hl - jr .asm_88175 - -.asm_88198 - ld a, e - and a - jr z, .asm_881fa - dec a - jr z, .asm_881d0 - ld hl, DefaultFlypoint -.asm_881a2 - ld a, [hl] - ld c, a - push hl -.asm_881a5 - inc hl - ld a, [hl] - cp $ff - jr z, .asm_881c9 - ld b, a - ld a, c - call Function88201 - ld e, a - ld a, b - call Function88201 - sub e - jr z, .asm_881bc - jr c, .asm_881c0 - jr .asm_881a5 - -.asm_881bc - ld a, c - sub b - jr nc, .asm_881a5 - -.asm_881c0 - ld a, c - ld c, b - ld [hl], a - ld a, c - pop hl - ld [hl], a - push hl - jr .asm_881a5 - -.asm_881c9 - pop hl - inc hl - ld a, [hl] - cp $ff - jr nz, .asm_881a2 - -.asm_881d0 - ld hl, DefaultFlypoint -.asm_881d3 - ld a, [hl] - cp $ff - jr z, .asm_881fa - push hl - ld [wd107], a - call Function88211 - pop hl - ld a, [wd10c] - and a - jr z, .asm_881fa - push hl - ld a, [hli] - ld c, a -.asm_881e9 - ld a, [hli] - cp $ff - jr z, .asm_881f6 - cp c - jr c, .asm_881e9 - dec a - dec hl - ld [hli], a - jr .asm_881e9 - -.asm_881f6 - pop hl - inc hl - jr .asm_881d3 - -.asm_881fa - ld a, [wd10c] - and a - pop bc - pop de - ret -; 88201 - -Function88201: ; 88201 - push hl - push bc - ld hl, NumItems - inc hl - ld c, a - ld b, $0 -rept 2 - add hl, bc -endr - inc hl - ld a, [hl] - pop bc - pop hl - ret -; 88211 - -Function88211: ; 88211 - push bc - ld hl, NumItems - ld a, [wd107] - ld c, a - ld b, $0 - inc hl -rept 2 - add hl, bc -endr - ld a, [CurItem] - ld c, a - ld a, [hli] - cp $ff - jr z, .asm_88243 - cp c - jr nz, .asm_88243 - ld a, [wd10c] - ld c, a - ld a, [hl] - sub c - ld b, c - jr nc, .asm_88235 - add c - ld b, a - -.asm_88235 - push bc - ld hl, NumItems - ld a, b - ld [wd10c], a - call TossItem - pop bc - ld a, c - sub b - -.asm_88243 - ld [wd10c], a - pop bc - ret -; 88248 - +INCLUDE "event/kurt.asm" Function88248: ; 88248 - ld c, $c + ld c, CAL ld a, [PlayerGender] bit 0, a - jr z, .asm_88253 - ld c, $e + jr z, .okay + ld c, KAREN -.asm_88253 +.okay ld a, c ld [TrainerClass], a ret @@ -54416,9 +54019,9 @@ ShowPlayerNamingChoices: ; 88297 ld hl, ChrisNameMenuHeader ld a, [PlayerGender] bit 0, a - jr z, .GotClass + jr z, .GotGender ld hl, KrisNameMenuHeader -.GotClass +.GotGender call LoadMenuDataHeader call InterpretMenu2 ld a, [wcfa9] @@ -54646,6587 +54249,18 @@ String_89116: db "-----@" ; 8911c -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 - -Function89160: ; 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, $7f - 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, $7f - 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 Functiona36 - 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, wcf82 - 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 [wcf88], a - call Function1c00 - 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 Function32f9 - 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 Function32f9 - 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 Function89160 - 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 Function1d7d - call Function891ab - call Function32f9 - 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 Function32f9 - 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 [wcf88], 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 Function89160 - 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 Function89160 - 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 Function32f9 - 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 Function32f9 - 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 Function32f9 - 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 Function89160 - ld hl, $a603 - ld a, $ff - ld bc, $8 - call ByteFill - ld hl, $a603 - ld de, wd008 - call Function89381 - call CloseSRAM - call Function8987f - call Function89160 - 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 Function1d6e - call Function891fe - call Function8a262 - jr nc, .asm_8a254 - call Function891fe - call Function89b28 - scf - ret -.asm_8a254 - call Function891de - call WhiteBGMap - call Function1d7d - call Function891de - and a - ret - -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 Function32f9 - 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, $ff - call ByteFill - call CloseSRAM - ret - -Function8a313: ; 8a313 (22:6313) - ld c, a - call Function89160 - 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 [wcf88], 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 Function32f9 - call Function8a383 - jr c, .asm_8a370 - jr z, .asm_8a34e -.asm_8a36a - call Function89448 - xor a - ld e, a - ret -.asm_8a370 - call Function89448 - call Function1bee - call Function8a3a2 - ld a, [MenuSelection] - 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 Function89160 - 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 Function1d6e - 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 Function89160 - call Function8931b - call Function89844 - call CloseSRAM - call Function89160 - 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 Function89160 - call Function8931b - call Function89844 - call Function8a757 - call CloseSRAM -.asm_8a6e5 - call Function89160 - 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 Function89160 - 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 Function89160 - 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 Functiona57 - call Function891de - call WhiteBGMap - call Function893cc - call Function89160 - 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 Function89160 - 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 Function89160 - call Function8a765 - jr nc, .asm_8a863 - call Function8931b - push bc - ld hl, $0 - add hl, bc - ld d, h - ld e, l - ld hl, DefaultFlypoint - 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 Functiona36 -.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 Functiona36 - and a - ret -; 8a88b (22:688b) - -String_8a88b: ; 8a88b - db "おともだち", $25, "なまえが" - next "かかれて いません!@" -; 8a8a1 - -Function8a8a1: ; 8a8a1 (22:68a1) - call Function89160 - 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 Function89160 - 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 Function89160 - call Function892b4 - call CloseSRAM - call Function89a23 - call Function8923c - hlcoord 1, 13 - ld de, String_8a926 - call PlaceString - call WaitBGMap - call Functiona36 -.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 Function89160 - 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 Function1d6e - 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 Function89160 - 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 Function89160 - 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 Functiona36 -.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 Function89160 - 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 Function89160 - ld hl, $a603 - ld de, wd008 - call Function89381 - call CloseSRAM - call Function8987f - call Function89160 - 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 Function1d6e - 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 Function89160 - 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 Function89160 - call Function8931b - call Function89844 - call CloseSRAM - call Function89160 - 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 Function89160 - call Function8931b - call Function8932d - call CloseSRAM - jr nc, .asm_8acb0 - call Function89160 - ld hl, $0011 - add hl, bc - call Function89b45 - call CloseSRAM - jr nc, .asm_8accc - call Function89160 - call Function892b7 - call CloseSRAM - jr .asm_8accc - -.asm_8acb0 - call Function8ad0b - jr c, Function8ac76 - and a - jr nz, .asm_8accc - call Function89160 - 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 Function89160 - 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 Function89160 - 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 Function89160 - ld hl, $a603 - call Function89b45 - call CloseSRAM - ret -; 8adcc - -Function8adcc: ; 8adcc - call Function89160 - call Function8b3b0 - call CloseSRAM - ret nc - cp $2 - ret z - scf - ret -; 8addb - - -SpecialHoOhChamber: ; 0x8addb - ld hl, PartySpecies - ld a, [hl] - cp HO_OH ; is Ho-oh the first Pokémon in the party? - jr nz, .done ; if not, we're done - call GetSecondaryMapHeaderPointer - ld de, EVENT_WALL_OPENED_IN_HO_OH_CHAMBER - ld b, SET_FLAG - call EventFlagAction -.done - ret -; 0x8adef - -SpecialOmanyteChamber: ; 8adef - call GetSecondaryMapHeaderPointer - ld de, EVENT_WALL_OPENED_IN_OMANYTE_CHAMBER - ld b, CHECK_FLAG - call EventFlagAction - ld a, c - and a - jr nz, .nope - - ld a, WATER_STONE - ld [CurItem], a - ld hl, NumItems - call CheckItem - jr c, .open - - ld a, [PartyCount] - ld b, a - inc b -.loop - dec b - jr z, .nope - ld a, b - dec a - ld [CurPartyMon], a - push bc - ld a, PartyMon1Item - PartyMon1 - call GetPartyParamLocation - pop bc - ld a, [hl] - cp WATER_STONE - jr nz, .loop - -.open - call GetSecondaryMapHeaderPointer - ld de, EVENT_WALL_OPENED_IN_OMANYTE_CHAMBER - ld b, SET_FLAG - call EventFlagAction - -.nope - ret -; 8ae30 - -SpecialAerodactylChamber: ; 8ae30 - push de - push bc - - call GetSecondaryMapHeaderPointer - ld a, h - cp RuinsofAlphAerodactylChamber_SecondMapHeader / $100 - jr nz, .nope - ld a, l - cp RuinsofAlphAerodactylChamber_SecondMapHeader % $100 - jr nz, .nope - - ld de, EVENT_WALL_OPENED_IN_AERODACTYL_CHAMBER - ld b, SET_FLAG - call EventFlagAction - - scf - jr .done - -.nope - and a - -.done - pop bc - pop de - ret -; 8ae4e - -SpecialKabutoChamber: ; 8ae4e - push hl - push de - - call GetSecondaryMapHeaderPointer - ld a, h - cp RuinsofAlphKabutoChamber_SecondMapHeader / $100 - jr nz, .done - ld a, l - cp RuinsofAlphKabutoChamber_SecondMapHeader % $100 - jr nz, .done - - ld de, EVENT_WALL_OPENED_IN_KABUTO_CHAMBER - ld b, SET_FLAG - call EventFlagAction - -.done - pop de - pop hl - ret -; 8ae68 - -Special_DisplayUnownWords: ; 8ae68 - ld a, [ScriptVar] - ld hl, MenuDataHeader_0x8aed5 - and a - jr z, .asm_8ae79 - - ld d, $0 - ld e, $5 -.asm_8ae75 - add hl, de - dec a - jr nz, .asm_8ae75 - -.asm_8ae79 - call LoadMenuDataHeader - xor a - ld [hBGMapMode], a - call Function1cbb - call UpdateSprites - call Function321c - call Function1cfd - inc hl - ld d, $0 - ld e, $14 -rept 2 - add hl, de -endr - ld a, [ScriptVar] - ld c, a - ld de, Unknown_8aebc - and a - jr z, .asm_8aea5 -.asm_8ae9c - ld a, [de] - inc de - cp $ff - jr nz, .asm_8ae9c - dec c - jr nz, .asm_8ae9c - -.asm_8aea5 - call Function8af09 - ld bc, AttrMap - TileMap - add hl, bc - call Function8aee9 - call Function3200 - call Functiona36 - call PlayClickSFX - call WriteBackup - ret -; 8aebc - -Unknown_8aebc: ; 8aebc - db $08, $44, $04, $00, $2e, $08, $ff - db $26, $20, $0c, $0e, $46, $ff - db $4c, $00, $46, $08, $42, $ff - db $0e, $2c, $64, $2c, $0e, $ff -; 8aed5 - -MenuDataHeader_0x8aed5: ; 0x8aed5 - db $40 ; flags - db 04, 03 ; start coords - db 09, 16 ; end coords - -MenuDataHeader_0x8aeda: ; 0x8aeda - db $40 ; flags - db 04, 04 ; start coords - db 09, 15 ; end coords - -MenuDataHeader_0x8aedf: ; 0x8aedf - db $40 ; flags - db 04, 04 ; start coords - db 09, 15 ; end coords - -MenuDataHeader_0x8aee4: ; 0x8aee4 - db $40 ; flags - db 04, 04 ; start coords - db 09, 15 ; end coords -; 8aee9 - -Function8aee9: ; 8aee9 -.asm_8aee9 - ld a, [de] - cp $ff - ret z - cp $60 - ld a, $d - jr c, .asm_8aef5 - ld a, $5 - -.asm_8aef5 - call Function8aefd -rept 2 - inc hl -endr - inc de - jr .asm_8aee9 -; 8aefd - -Function8aefd: ; 8aefd - push hl - ld [hli], a - ld [hld], a - ld b, $0 - ld c, $14 - add hl, bc - ld [hli], a - ld [hl], a - pop hl - ret -; 8af09 - -Function8af09: ; 8af09 - push hl - push de -.asm_8af0b - ld a, [de] - cp $ff - jr z, .asm_8af19 - ld c, a - call Function8af1c -rept 2 - inc hl -endr - inc de - jr .asm_8af0b - -.asm_8af19 - pop de - pop hl - ret -; 8af1c - -Function8af1c: ; 8af1c - push hl - ld a, c - cp $60 - jr z, .asm_8af3b - cp $62 - jr z, .asm_8af4b - cp $64 - jr z, .asm_8af5b - ld [hli], a - inc a - ld [hld], a - dec a - ld b, $0 - ld c, $14 - add hl, bc - ld c, $10 - add c - ld [hli], a - inc a - ld [hl], a - pop hl - ret - -.asm_8af3b - ld [hl], $5b - inc hl - ld [hl], $5c - ld bc, $0013 - add hl, bc - ld [hl], $4d - inc hl - ld [hl], $5d - pop hl - ret - -.asm_8af4b - ld [hl], $4e - inc hl - ld [hl], $4f - ld bc, $0013 - add hl, bc - ld [hl], $5e - inc hl - ld [hl], $5f - pop hl - ret - -.asm_8af5b - ld [hl], $2 - inc hl - ld [hl], $3 - ld bc, $0013 - add hl, bc - ld [hl], $3 - inc hl - ld [hl], $2 - pop hl - ret -; 8af6b - -SpecialBuenasPassword: ; 8af6b - xor a - ld [wcf76], a - ld hl, MenuDataHeader_0x8afa9 - call CopyMenuDataHeader - ld a, [wdc4a] - ld c, a - callba GetBuenasPassword - ld a, [wcf83] - add c - add $2 - ld [wcf85], a - call Function1c00 - call Function1e5d - callba Function4ae5e - ld b, $0 - ld a, [MenuSelection] - ld c, a - ld a, [wdc4a] - and $3 - cp c - jr nz, .asm_8afa4 - ld b, $1 - -.asm_8afa4 - ld a, b - ld [ScriptVar], a - ret -; 8afa9 - -MenuDataHeader_0x8afa9: ; 0x8afa9 - db $40 ; flags - db 00, 00 ; start coords - db 07, 10 ; end coords - dw MenuData2_0x8afb2 - db 1 ; default option -; 0x8afb1 - - db 0 - -MenuData2_0x8afb2: ; 0x8afb2 - db $81 ; flags - db 0 ; items - dw Unknown_8afb8 - dw Function8afbd -; 0x8afb4 - -Unknown_8afb8: ; 8afb8 - db 3 - db 0, 1, 2 - db -1 - -Function8afbd: ; 8afbd - push de - ld a, [wdc4a] - and $f0 - ld c, a - ld a, [MenuSelection] - add c - ld c, a - callba GetBuenasPassword - pop hl - call PlaceString - ret -; 8afd4 - -SpecialBuenaPrize: ; 8afd4 - xor a - ld [wd0e4], a - ld a, $1 - ld [MenuSelection], a - call Function8b0d6 - call Function8b090 - ld hl, UnknownText_0x8b072 - call PrintText - jr .asm_8aff1 - -.asm_8afeb - ld hl, UnknownText_0x8b072 - call Function105a - -.asm_8aff1 - call DelayFrame - call UpdateSprites - call Function8b097 - call Function8b0e2 - jr z, .asm_8b05f - ld [wcf75], a - call GetBuenaPrize - ld a, [hl] - ld [wd265], a - call GetItemName - ld hl, UnknownText_0x8b077 - call Function105a - call YesNoBox - jr c, .asm_8afeb - ld a, [wcf75] - call GetBuenaPrize - inc hl - ld a, [hld] - ld c, a - ld a, [wdc4b] - cp c - jr c, .asm_8b047 - ld a, [hli] - push hl - ld [CurItem], a - ld a, $1 - ld [wd10c], a - ld hl, NumItems - call ReceiveItem - pop hl - jr nc, .asm_8b04c - ld a, [hl] - ld c, a - ld a, [wdc4b] - sub c - ld [wdc4b], a - call Function8b097 - jr .asm_8b051 - -.asm_8b047 - ld hl, UnknownText_0x8b081 - jr .asm_8b05a - -.asm_8b04c - ld hl, UnknownText_0x8b086 - jr .asm_8b05a - -.asm_8b051 - ld de, SFX_TRANSACTION - call PlaySFX - ld hl, UnknownText_0x8b07c - -.asm_8b05a - call Function105a - jr .asm_8afeb - -.asm_8b05f - call WriteBackup - call WriteBackup - ld hl, UnknownText_0x8b08b - call PrintText - call Functiona36 - call PlayClickSFX - ret -; 8b072 - -UnknownText_0x8b072: ; 0x8b072 - ; Which prize would you like? - text_jump UnknownText_0x1c589f - db "@" -; 0x8b077 - -UnknownText_0x8b077: ; 0x8b077 - ; ? Is that right? - text_jump UnknownText_0x1c58bc - db "@" -; 0x8b07c - -UnknownText_0x8b07c: ; 0x8b07c - ; Here you go! - text_jump UnknownText_0x1c58d1 - db "@" -; 0x8b081 - -UnknownText_0x8b081: ; 0x8b081 - ; You don't have enough points. - text_jump UnknownText_0x1c58e0 - db "@" -; 0x8b086 - -UnknownText_0x8b086: ; 0x8b086 - ; You have no room for it. - text_jump UnknownText_0x1c58ff - db "@" -; 0x8b08b - -UnknownText_0x8b08b: ; 0x8b08b - ; Oh. Please come back again! - text_jump UnknownText_0x1c591a - db "@" -; 0x8b090 - -Function8b090: ; 8b090 - ld hl, MenuDataHeader_0x8b0d1 - call LoadMenuDataHeader - ret -; 8b097 - -Function8b097: ; 8b097 - ld de, wdc4b - call Function8b09e - ret -; 8b09e - -Function8b09e: ; 8b09e - push de - xor a - ld [hBGMapMode], a - ld hl, MenuDataHeader_0x8b0d1 - call CopyMenuDataHeader - call Function1cbb - call UpdateSprites - call Function1cfd - ld bc, $0015 - add hl, bc - ld de, String_8b0ca - call PlaceString - ld h, b - ld l, c - inc hl - ld a, $7f - ld [hli], a - ld [hld], a - pop de - lb bc, 1, 2 - call PrintNum - ret -; 8b0ca - -String_8b0ca: - db "Points@" -; 8b0d1 - -MenuDataHeader_0x8b0d1: ; 0x8b0d1 - db $40 ; flags - db 11, 00 ; start coords - db 13, 11 ; end coords -; 8b0d6 - -Function8b0d6: ; 8b0d6 - ld hl, MenuDataHeader_0x8b0dd - call LoadMenuDataHeader - ret -; 8b0dd - -MenuDataHeader_0x8b0dd: ; 0x8b0dd - db $40 ; flags - db 00, 00 ; start coords - db 11, 17 ; end coords -; 8b0e2 - -Function8b0e2: ; 8b0e2 - ld hl, MenuDataHeader_0x8b113 - call CopyMenuDataHeader - ld a, [MenuSelection] - ld [wcf88], a - xor a - ld [wcf76], a - ld [hBGMapMode], a - call Function352f - call UpdateSprites - call Function350c - ld a, [MenuSelection] - ld c, a - ld a, [wcfa9] - ld [MenuSelection], a - ld a, [wcf73] - cp $2 - jr z, .asm_8b111 - ld a, c - and a - ret nz - -.asm_8b111 - xor a - ret -; 8b113 - -MenuDataHeader_0x8b113: ; 0x8b113 - db $40 ; flags - db 01, 01 ; start coords - db 09, 16 ; end coords - dw MenuData2_0x8b11c - db 1 ; default option -; 0x8b11b - - db 0 - -MenuData2_0x8b11c: ; 0x8b11c - db $10 ; flags - db 4 ; items - db $d, $1 - dbw BANK(Unknown_8b129), Unknown_8b129 - dbw BANK(BuenaPrizeItem), BuenaPrizeItem - dbw BANK(BuenaPrizePoints), BuenaPrizePoints -; 8b129 - -Unknown_8b129: ; 8b129 - db 9 - db 1, 2, 3, 4, 5, 6, 7, 8, 9, $ff -; 8b134 - -BuenaPrizeItem: ; 8b134 - ld a, [MenuSelection] - call GetBuenaPrize - ld a, [hl] - push de - ld [wd265], a - call GetItemName - pop hl - call PlaceString - ret -; 8b147 - -BuenaPrizePoints: ; 8b147 - ld a, [MenuSelection] - call GetBuenaPrize - inc hl - ld a, [hl] - ld c, "0" - add c - ld [de], a - ret -; 8b154 - -GetBuenaPrize: ; 8b154 - dec a - ld hl, BuenaPrizes - ld b, 0 - ld c, a -rept 2 - add hl, bc -endr - ret -; 8b15e - -BuenaPrizes: ; 8b15e - db ULTRA_BALL, 2 - db FULL_RESTORE, 2 - db NUGGET, 3 - db RARE_CANDY, 3 - db PROTEIN, 5 - db IRON, 5 - db CARBOS, 5 - db CALCIUM, 5 - db HP_UP, 5 -; 8b170 - - +INCLUDE "misc/mobile_22.asm" +INCLUDE "event/unown.asm" +INCLUDE "event/buena.asm" INCLUDE "event/dratini.asm" - - -Function8b1e1: ; 8b1e1 - ld de, Unknown_8b1ed - call Function8b25b - ret z - call Function8b231 - scf - ret -; 8b1ed - -Unknown_8b1ed: ; 8b1ed - db 2 - dw Unknown_8b1f2 - dw Unknown_8b1f6 - -Unknown_8b1f2: ; 8b1f2 - dw Function8b2bb - dw Function8b2c1 -; 8b1f6 - -Unknown_8b1f6: ; 8b1f6 - dw UnknownText_0x8b1fc - dw UnknownText_0x8b23d - dw UnknownText_0x8b242 -; 8b1fc - -UnknownText_0x8b1fc: ; 0x8b1fc - ; Excuse me! - text_jump UnknownText_0x1c5937 - db "@" -; 0x8b201 - -CheckForBattleTowerRules: ; 8b201 - ld hl, StringBuffer2 - ld [hl], "3" - inc hl - ld [hl], "@" - ld de, CheckForBattleTowerRules_FunctionsText - call Function8b25b - ret z - call Function8b231 - scf - ret -; 8b215 - -CheckForBattleTowerRules_FunctionsText: ; 8b215 - db 4 - dw CheckForBattleTowerRules_Functions - dw CheckForBattleTowerRules_Text - -CheckForBattleTowerRules_Functions: ; 8b21a - dw Function_PartyCountEq3 - dw Function8b2e2 - dw Function8b32a - dw Function_HasPartyAnEgg -; 8b222 - -CheckForBattleTowerRules_Text: ; 8b222 - dw JumpText_ExcuseMeYoureNotReady - dw JumbText_OnlyThreePkmnMayBeEntered - dw JumpText_ThePkmnMustAllBeDifferentKinds - dw JumpText_ThePkmnMustNotHoldTheSameItems - dw JumpText_YouCantTakeAnEgg -; 8b22c - -JumpText_ExcuseMeYoureNotReady: ; 0x8b22c - ; Excuse me. You're not ready. - text_jump Text_ExcuseMeYoureNotReady - db "@" -; 0x8b231 - -Function8b231: ; 8b231 - ld hl, UnknownText_0x8b238 - call PrintText - ret -; 8b238 - -UnknownText_0x8b238: ; 0x8b238 - ; Please return when you're ready. - text_jump UnknownText_0x1c5962 - db "@" -; 0x8b23d - -UnknownText_0x8b23d: ; 0x8b23d - ; You need at least three #MON. - text_jump UnknownText_0x1c5983 - db "@" -; 0x8b242 - -UnknownText_0x8b242: ; 0x8b242 - ; Sorry, an EGG doesn't qualify. - text_jump UnknownText_0x1c59a3 - db "@" -; 0x8b247 - -JumbText_OnlyThreePkmnMayBeEntered: ; 0x8b247 - ; Only three #MON may be entered. - text_jump Text_OnlyThreePkmnMayBeEntered - db "@" -; 0x8b24c - -JumpText_ThePkmnMustAllBeDifferentKinds: ; 0x8b24c - ; The @ #MON must all be different kinds. - text_jump Text_ThePkmnMustAllBeDifferentKinds - db "@" -; 0x8b251 - -JumpText_ThePkmnMustNotHoldTheSameItems: ; 0x8b251 - ; The @ #MON must not hold the same items. - text_jump Text_ThePkmnMustNotHoldTheSameItems - db "@" -; 0x8b256 - -JumpText_YouCantTakeAnEgg: ; 0x8b256 - ; You can't take an EGG! - text_jump Text_YouCantTakeAnEgg - db "@" -; 0x8b25b - -Function8b25b: ; 8b25b - ld bc, $0000 -.asm_8b25e - call Function8b26c - call c, Function8b28e - call Function8b276 - jr nz, .asm_8b25e - ld a, b - and a - ret -; 8b26c - -Function8b26c: ; 8b26c - push de - push bc - call Function8b27a - ld a, c - rst JumpTable - pop bc - pop de - ret -; 8b276 - -Function8b276: ; 8b276 - inc c - ld a, [de] - cp c - ret -; 8b27a - -Function8b27a: ; 8b27a - inc de - ld a, [de] - ld l, a - inc de - ld a, [de] - ld h, a - ret -; 8b281 - -Function8b281: ; 8b281 -rept 3 - inc de -endr - ld a, [de] - ld l, a - inc de - ld a, [de] - ld h, a - ret -; 8b28a - -Function8b28a: ; 8b28a - ld a, [hli] - ld h, [hl] - ld l, a - ret -; 8b28e - -Function8b28e: ; 8b28e - push de - push bc - ld a, b - and a - call z, Function8b29d - pop bc - call Function8b2a9 - ld b, $1 - pop de - ret -; 8b29d - -Function8b29d: ; 8b29d - push de - call Function8b281 - call Function8b28a - call PrintText - pop de - ret -; 8b2a9 - -Function8b2a9: ; 8b2a9 - push bc - call Function8b281 -rept 2 - inc hl -endr - ld b, $0 -rept 2 - add hl, bc -endr - call Function8b28a - call PrintText - pop bc - ret -; 8b2bb - -Function8b2bb: ; 8b2bb - ld a, [PartyCount] - cp 3 - ret -; 8b2c1 - -Function8b2c1: ; 8b2c1 - ld hl, PartyCount - ld a, [hli] - ld b, $0 - ld c, a -.asm_8b2c8 - ld a, [hli] - cp EGG - jr z, .asm_8b2ce - inc b - -.asm_8b2ce - dec c - jr nz, .asm_8b2c8 - ld a, [PartyCount] - cp b - ret z - ld a, b - cp 3 - ret -; 8b2da - -Function_PartyCountEq3: ; 8b2da - ld a, [PartyCount] - cp 3 - ret z - scf - ret -; 8b2e2 - -Function8b2e2: ; 8b2e2 - ld hl, PartyMon1Species - call Function8b2e9 - ret -; 8b2e9 - -Function8b2e9: ; 8b2e9 - ld de, PartyCount - ld a, [de] - inc de - dec a - jr z, .asm_8b314 - ld b, a -.asm_8b2f2 - push hl - push de - ld c, b - call Function8b322 - jr z, .asm_8b30c - ld a, [hl] - and a - jr z, .asm_8b30c -.asm_8b2fe - call Function8b31a - call Function8b322 - jr z, .asm_8b309 - cp [hl] - jr z, .asm_8b316 - -.asm_8b309 - dec c - jr nz, .asm_8b2fe - -.asm_8b30c - pop de - pop hl - call Function8b31a - dec b - jr nz, .asm_8b2f2 - -.asm_8b314 - and a - ret - -.asm_8b316 - pop de - pop hl - scf - ret -; 8b31a - -Function8b31a: ; 8b31a - push bc - ld bc, PartyMon2 - PartyMon1 - add hl, bc - inc de - pop bc - ret -; 8b322 - -Function8b322: ; 8b322 - push bc - ld b, a - ld a, [de] - cp EGG - ld a, b - pop bc - ret -; 8b32a - -Function8b32a: ; 8b32a - ld hl, PartyMon1Item - call Function8b2e9 - ret -; 8b331 - -Function_HasPartyAnEgg: ; 8b331 - ld hl, PartyCount - ld a, [hli] - ld c, a -.asm_8b336 - ld a, [hli] - cp EGG - jr z, .asm_8b340 - dec c - jr nz, .asm_8b336 - and a - ret - -.asm_8b340 - scf - ret -; 8b342 - - -Function8b342:: ; 8b342 - call GetSecondaryMapHeaderPointer - ld d, h - ld e, l - xor a -.asm_8b348 - push af - ld hl, Jumptable_8b354 - rst JumpTable - pop af - inc a - cp 3 - jr nz, .asm_8b348 - ret -; 8b354 - -Jumptable_8b354: ; 8b354 - dw Function8b35a - dw Function8b35b - dw Function8b35c -; 8b35a - -Function8b35a: ; 8b35a - ret -; 8b35b - -Function8b35b: ; 8b35b - ret -; 8b35c - -Function8b35c: ; 8b35c - ret -; 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, $ff - 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 Function89160 - 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 Function89160 - 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 Function32f9 - 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 [wcf88], 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 [wcf88], 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 Function89160 - 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 Function89160 - call Function8931b - call Function8932d - jr nc, .asm_8b9f6 - jr .asm_8b9ff -.asm_8b9f6 - ld hl, $11 - add hl, bc - call Function89b45 - jr c, .asm_8ba08 -.asm_8b9ff - call Function892b4 - and a - ld de, 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 +INCLUDE "event/battle_tower.asm" +INCLUDE "misc/mobile_22_2.asm" SECTION "bank23", ROMX, BANK[$23] -Function8c000: ; 8c000 -Function8c000_2: +Predef35: ; 8c000 +Predef36: ret ; 8c001 @@ -61303,7 +54337,7 @@ _TimeOfDayPals:: ; 8c011 ; restore bg palette 8 - ld hl, wd03f ; last byte in Unkn1Pals + ld hl, Unkn2Pals - 1 ; last byte in Unkn1Pals ; save wram bank ld a, [rSVBK] @@ -62185,7 +55219,7 @@ Function8c5dc: ; 8c5dc (23:45dc) xor a ld [hBGMapMode], a ; $ff00+$d4 hlcoord 0, 0, AttrMap - ld bc, $168 + ld bc, SCREEN_HEIGHT * SCREEN_WIDTH inc b inc c jr .asm_8c5f4 @@ -66427,7 +59461,7 @@ Function8e862: ; 8e862 (23:6862) Function8e86c: ; 8e86c (23:686c) push bc - ld a, [$ffb0] + ld a, [hConnectedMapWidth] ld hl, PartyMon1Item ld bc, PartyMon2 - PartyMon1 call AddNTimes @@ -66499,7 +59533,7 @@ Function8e8d5: ; 8e8d5 (23:68d5) Function8e8df: ; 8e8df (23:68df) push bc - ld a, [$ffb0] + ld a, [hConnectedMapWidth] ld hl, PartyMon1Item ld bc, $30 call AddNTimes @@ -66527,7 +59561,7 @@ Function8e8df: ; 8e8df (23:68df) Function8e908: ; 8e908 (23:6908) ld a, [wc3b7] push af - ld a, [$ffb0] + ld a, [hConnectedMapWidth] ld hl, PartySpecies ld e, a ld d, $0 @@ -66536,7 +59570,7 @@ Function8e908: ; 8e908 (23:6908) call ReadMonMenuIcon ld [CurIcon], a call Function8e9db - ld a, [$ffb0] + ld a, [hConnectedMapWidth] rept 4 add a endr @@ -66553,7 +59587,7 @@ endr Function8e936: ; 8e936 (23:6936) push bc - ld a, [$ffb0] + ld a, [hConnectedMapWidth] ld b, a call Function8e94c ld a, b @@ -67685,10 +60719,10 @@ UnknownText_0x9066d: ; 0x9066d ; 0x90672 Function90672: ; 90672 (24:4672) - ld a, [$ffaa] + ld a, [hInMenu] push af ld a, $1 - ld [$ffaa], a + ld [hInMenu], a ld a, $0 ld [wc2ce], a ld a, $10 @@ -67791,14 +60825,14 @@ Function90672: ; 90672 (24:4672) call PrintText call Functiona80 pop af - ld [$ffaa], a + ld [hInMenu], a ret Function90783: ; 90783 (24:4783) xor a ld [hBGMapMode], a ; $ff00+$d4 hlcoord 0, 0 - ld bc, $168 + ld bc, SCREEN_HEIGHT * SCREEN_WIDTH xor a call ByteFill ld a, $1 @@ -67810,7 +60844,7 @@ Function90795: ; 90795 (24:4795) and A_BUTTON jr nz, .asm_907dc - ld hl, $ffa9 + ld hl, hJoyLast ld a, [hl] and D_UP jr nz, .up @@ -67901,9 +60935,9 @@ endr Function90810: ; 90810 (24:4810) ld a, [hJoyPressed] ; $ff00+$a7 - and $1 + and A_BUTTON jr nz, .asm_90857 - ld hl, $ffa9 + ld hl, hJoyLast ld a, [hl] and D_UP jr nz, .asm_90835 @@ -68082,10 +61116,10 @@ INCBIN "gfx/unknown/09090b.2bpp" ; 90913 Special_SetDayOfWeek: ; 90913 - ld a, [$ffaa] + ld a, [hInMenu] push af ld a, $1 - ld [$ffaa], a + ld [hInMenu], a ld de, GFX_90903 ld hl, VTiles1 tile $6f lb bc, BANK(GFX_90903), 1 @@ -68131,7 +61165,7 @@ Special_SetDayOfWeek: ; 90913 call Function663 call Functione51 pop af - ld [$ffaa], a + ld [hInMenu], a ret ; 90993 @@ -68143,7 +61177,7 @@ Function90993: ; 90993 ret .asm_9099b - ld hl, $ffa9 + ld hl, hJoyLast ld a, [hl] and D_UP jr nz, .asm_909ba @@ -68451,10 +61485,10 @@ Function90b8d: ; 90b8d (24:4b8d) ld a, [hl] push af set NO_TEXT_SCROLL, [hl] - ld a, [$ffaa] + ld a, [hInMenu] push af ld a, $1 - ld [$ffaa], a + ld [hInMenu], a ld a, [VramState] push af xor a @@ -68480,7 +61514,7 @@ Function90b8d: ; 90b8d (24:4b8d) pop af ld [VramState], a pop af - ld [$ffaa], a + ld [hInMenu], a pop af ld [Options], a call WhiteBGMap @@ -68915,7 +61949,7 @@ Function90f2d: ; 90f2d (24:4f2d) Function90f3e: ; 90f3e (24:4f3e) call Function90f7b - ld hl, $ffa9 + ld hl, hJoyLast ld a, [hl] and A_BUTTON + B_BUTTON + START + SELECT @@ -69030,7 +62064,7 @@ Function90fee: ; 90fee (24:4fee) ld d, $2e ld e, $1 Function90ff2: ; 90ff2 (24:4ff2) - ld hl, $ffa9 + ld hl, hJoyLast ld a, [hl] and B_BUTTON jr nz, .cancel @@ -69071,7 +62105,7 @@ Function90ff2: ; 90ff2 (24:4ff2) ret Function9102f: ; 9102f (24:502f) - ld hl, $ffa9 + ld hl, hJoyLast ld a, [hl] and D_UP jr nz, .up @@ -69219,7 +62253,7 @@ Function910f9: ; 910f9 (24:50f9) ret Function91112: ; 91112 (24:5112) - ld hl, $ffa9 + ld hl, hJoyLast ld a, [hl] and B_BUTTON jr nz, .cancel @@ -69285,7 +62319,7 @@ Function91171: ; 91171 (24:5171) ld a, [hl] and A_BUTTON jr nz, .a - ld hl, $ffa9 + ld hl, hJoyLast ld a, [hl] and D_LEFT jr nz, .left @@ -69361,7 +62395,7 @@ Function911eb: ; 911eb (24:51eb) ld hl, Options res NO_TEXT_SCROLL, [hl] xor a - ld [$ffaa], a + ld [hInMenu], a ld de, SFX_CALL call PlaySFX ld hl, UnknownText_0x9124c @@ -69380,7 +62414,7 @@ Function911eb: ; 911eb (24:51eb) ld hl, Options set NO_TEXT_SCROLL, [hl] ld a, $1 - ld [$ffaa], a + ld [hInMenu], a call Function912b7 ld hl, wcf63 inc [hl] @@ -69410,7 +62444,7 @@ OutOfServiceAreaText: ; 0x91251 Function91256: ; 91256 (24:5256) ld a, [hJoyPressed] ; $ff00+$a7 - and $3 + and A_BUTTON | B_BUTTON ret z callba HangUp ld a, $8 @@ -69420,7 +62454,7 @@ Function91256: ; 91256 (24:5256) ret Function9126d: ; 9126d (24:526d) - ld hl, $ffa9 + ld hl, hJoyLast ld a, [hl] and D_UP jr nz, .up @@ -69599,7 +62633,7 @@ Function91342: ; 91342 (24:5342) ld h, a inc de push hl - ld bc, $ffd7 + ld bc, hBGMapAddress + 1 add hl, bc ld a, [de] inc de @@ -69875,10 +62909,10 @@ Function9191c: ; 9191c ld a, [hl] push af set 4, [hl] - ld a, [$ffaa] + ld a, [hInMenu] push af ld a, $1 - ld [$ffaa], a + ld [hInMenu], a ld a, [VramState] push af xor a @@ -69935,7 +62969,7 @@ Function9191c: ; 9191c pop af ld [VramState], a pop af - ld [$ffaa], a + ld [hInMenu], a pop af ld [Options], a call WhiteBGMap @@ -69949,7 +62983,7 @@ Function919b0: ; 919b0 ld a, [hl] and B_BUTTON ret nz - ld hl, $ffa9 + ld hl, hJoyLast ld a, [hl] and D_UP jr nz, .asm_919d4 @@ -70148,7 +63182,7 @@ _FlyMap: ; 91af3 call WhiteBGMap call ClearTileMap call ClearSprites - ld hl, $ffaa + ld hl, hInMenu ld a, [hl] push af ld [hl], $1 @@ -70196,14 +63230,14 @@ _FlyMap: ; 91af3 .exit ld [DefaultFlypoint], a pop af - ld [$ffaa], a + ld [hInMenu], a call WhiteBGMap ld a, $90 ld [hWY], a xor a ld [hBGMapAddress], a ld a, $98 - ld [$ffd7], a + ld [hBGMapAddress + 1], a ld a, [DefaultFlypoint] ld e, a ret @@ -70214,7 +63248,7 @@ FlyMapScroll: ; 91b73 ld e, a ld a, [EndFlypoint] ld d, a - ld hl, $ffa9 + ld hl, hJoyLast ld a, [hl] and D_UP jr nz, .ScrollNext @@ -70564,7 +63598,7 @@ Function91d11: ; 91d11 xor a ld [hBGMapMode], a ld a, $1 - ld [$ffaa], a + ld [hInMenu], a ld de, GFX_922d1 ld hl, VTiles0 tile $7f lb bc, BANK(GFX_922d1), 1 @@ -70595,10 +63629,10 @@ Function91d11: ; 91d11 call Functiona57 ld hl, hJoyPressed ld a, [hl] - and $3 + and A_BUTTON | B_BUTTON jr nz, .asm_91d8f ld a, [hJoypadDown] - and $4 + and SELECT jr nz, .asm_91d87 call Function91d9b call Function91dcd @@ -70847,7 +63881,7 @@ TownMapBGUpdate: ; 91ee4 ld a, l ld [hBGMapAddress], a ld a, h - ld [$ffd7], a + ld [hBGMapAddress + 1], a ; Only update palettes on CGB ld a, [hCGB] @@ -71067,7 +64101,7 @@ Function92311: ; 92311 call WhiteBGMap call ClearTileMap call ClearSprites - ld hl, $ffaa + ld hl, hInMenu ld a, [hl] push af ld [hl], $1 @@ -71128,21 +64162,21 @@ Function92311: ; 92311 .asm_9239f ld [DefaultFlypoint], a pop af - ld [$ffaa], a + ld [hInMenu], a call WhiteBGMap ld a, $90 ld [hWY], a xor a ld [hBGMapAddress], a ld a, $98 - ld [$ffd7], a + ld [hBGMapAddress + 1], a ld a, [DefaultFlypoint] ld e, a ret ; 923b8 Function923b8: ; 923b8 - ld hl, $ffa9 + ld hl, hJoyLast ld a, [hl] and D_DOWN | D_RIGHT jr nz, .asm_923c6 @@ -71188,7 +64222,7 @@ Function923b8: ; 923b8 .asm_923f3 ld [hWY], a ld a, b - ld [$ffd7], a + ld [hBGMapAddress + 1], a call TownMapBubble call WaitBGMap xor a @@ -75861,8 +68895,8 @@ endr ld [wcf66], a .loop call Functiona57 - ld a, [$ffa9] - and $1 + ld a, [hJoyLast] + and A_BUTTON jr nz, .next ld de, SFX_KINESIS call PlaySFX @@ -75915,8 +68949,8 @@ endr call Functione0489 .betloop call Functiona57 - ld a, [$ffa9] - and $1 + ld a, [hJoyLast] + and A_BUTTON jr nz, .betdone call Functione089c call Functione0960 @@ -76203,7 +69237,7 @@ Functione04c1: ; e04c1 (38:44c1) xor a ld [hBGMapMode], a ; $ff00+$d4 hlcoord 0, 0 - ld bc, $168 + ld bc, SCREEN_HEIGHT * SCREEN_WIDTH ld a, $29 call ByteFill hlcoord 9, 0 @@ -76894,7 +69928,7 @@ Unknown_e0853: ; e0853 ; e089c Functione089c: ; e089c - ld hl, $ffa9 + ld hl, hJoyLast ld a, [hl] and D_LEFT jp nz, Functione08b8 @@ -77270,7 +70304,7 @@ Functione0c37: ; e0c37 (38:4c37) and a ret z hlcoord 0, 0, AttrMap - ld bc, $168 + ld bc, SCREEN_HEIGHT * SCREEN_WIDTH xor a call ByteFill hlcoord 12, 1, AttrMap @@ -77384,10 +70418,10 @@ Unknown_e110c: ; e110c ; e1190 Functione1190: ; e1190 - ld a, [$ffaa] + ld a, [hInMenu] push af ld a, $1 - ld [$ffaa], a + ld [hInMenu], a call WhiteBGMap call ClearTileMap call ClearSprites @@ -77463,7 +70497,7 @@ Functione1190: ; e1190 .asm_e123d pop af - ld [$ffaa], a + ld [hInMenu], a call WhiteBGMap call ClearTileMap call ClearSprites @@ -77566,23 +70600,23 @@ Jumptable_e12d9: ; e12d9 Functione12db: ; e12db ld a, [hJoyPressed] - and $8 + and START jp nz, Functione13de ld a, [hJoyPressed] and A_BUTTON jp nz, Functione1376 - ld hl, $ffa9 + ld hl, hJoyLast ld a, [hl] - and $40 + and D_UP jr nz, .asm_e1301 ld a, [hl] - and $80 + and D_DOWN jr nz, .asm_e130d ld a, [hl] - and $20 + and D_LEFT jr nz, .asm_e1325 ld a, [hl] - and $10 + and D_RIGHT jr nz, .asm_e1345 ret @@ -78262,7 +71296,7 @@ Functione1e67: ; e1e67 (38:5e67) ld [hli], a ld [hl], $0 hlcoord 0, 0 - ld bc, $168 + ld bc, SCREEN_HEIGHT * SCREEN_WIDTH xor a call ByteFill xor a @@ -78855,10 +71889,10 @@ Functione2391: ; e2391 (38:6391) 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 call Functione2963 @@ -78876,7 +71910,7 @@ Functione2391: ; e2391 (38:6391) .asm_e23c6 call ClearSprites pop af - ld [$ffaa], a + ld [hInMenu], a pop af ld [VramState], a pop af @@ -79117,10 +72151,10 @@ Functione2583: ; e2583 (38:6583) 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 call Functione2963 @@ -79138,7 +72172,7 @@ Functione2583: ; e2583 (38:6583) .asm_e25b9 call ClearSprites pop af - ld [$ffaa], a + ld [hInMenu], a pop af ld [VramState], a pop af @@ -79364,10 +72398,10 @@ Functione2759: ; e2759 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 call Functione2963 @@ -79388,7 +72422,7 @@ Functione2759: ; e2759 .asm_e2793 call ClearSprites pop af - ld [$ffaa], a + ld [hInMenu], a pop af ld [VramState], a pop af @@ -79698,7 +72732,7 @@ Functione2998: ; e2998 (38:6998) jp Functione2a65 Functione29b5: ; e29b5 (38:69b5) - ld hl, $ffa9 + ld hl, hJoyLast ld a, [wcb2d] ld d, a ld a, [wcb2c] @@ -79716,7 +72750,7 @@ Functione29b5: ; e29b5 (38:69b5) ; e29d0 (38:69d0) Functione29d0: ; e29d0 - ld hl, $ffa9 + ld hl, hJoyLast ld a, [wcb2d] ld d, a ld a, [wcb2c] @@ -79740,7 +72774,7 @@ Functione29d0: ; e29d0 jr Functione2a65 Functione29f4: ; e29f4 - ld hl, $ffa9 + ld hl, hJoyLast ld a, [wcb2d] ld d, a ld a, [wcb2c] @@ -81182,26 +74216,26 @@ PCString_NoReleasingEGGS: db "No releasing EGGS!@" Functione35aa: ; e35aa (38:75aa) call Function1d6e call Functione35e2 -.asm_e35b0 +.loop xor a ld [hBGMapMode], a ; $ff00+$d4 call Functione36cf call Functione379c - ld hl, MenuDataHeader_0xe35f1 + ld hl, Functione35aa_menudataheader call CopyMenuDataHeader xor a ld [wd0e4], a hlcoord 0, 4 - ld bc, $809 + lb bc, 8, 9 call TextBox call Function350c ld a, [wcf73] cp $2 - jr z, .asm_e35de + jr z, .done call Functione37af call Functione36f9 - jr .asm_e35b0 -.asm_e35de + jr .loop +.done call WriteBackup ret @@ -81209,37 +74243,37 @@ Functione35e2: ; e35e2 (38:75e2) xor a ld [hBGMapMode], a ; $ff00+$d4 hlcoord 0, 0 - ld bc, $168 - ld a, $7f + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + ld a, " " call ByteFill ret ; e35f1 (38:75f1) -MenuDataHeader_0xe35f1: ; 0xe35f1 +Functione35aa_menudataheader: ; 0xe35f1 db $40 ; flags db 05, 01 ; start coords db 12, 09 ; end coords - dw MenuData2_0xe35f9 + dw .menudata2 db 1 ; default option ; 0xe35f9 -MenuData2_0xe35f9: ; 0xe35f9 +.menudata2: ; 0xe35f9 db $22 ; flags db 4, 0 db 1 - dbw BANK(Unknown_e3609), Unknown_e3609 - dbw BANK(Functione3619), Functione3619 + dbw BANK(.boxes), .boxes + dbw BANK(.boxnames), .boxnames dbw BANK(NULL), NULL dbw BANK(Functione3632), Functione3632 ; e3609 -Unknown_e3609: ; e3609 +.boxes: ; e3609 db 14 db 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 db -1 ; e3619 -Functione3619: ; e3619 +.boxnames: ; e3619 push de ld a, [MenuSelection] dec a @@ -81260,15 +74294,15 @@ Functione3626: ; e3626 (38:7626) Functione3632: ; e3632 hlcoord 11, 7 - ld bc, $0507 + lb bc, 5, 7 call TextBox ld a, [MenuSelection] - cp $ff + cp -1 ret z hlcoord 12, 9 ld de, String_e3663 call PlaceString - call Functione366c + call GetBoxCount ld [wd265], a hlcoord 13, 11 ld de, wd265 @@ -81285,21 +74319,21 @@ String_e3663: ; e3663 String_e3668: ; e3668 db "/" - db "0" + MONS_PER_BOX / 10 - db "0" + MONS_PER_BOX % 10 + db "0" + MONS_PER_BOX / 10 ; "2" + db "0" + MONS_PER_BOX % 10 ; "0" db "@" ; e366c -Functione366c: ; e366c (38:766c) +GetBoxCount: ; e366c (38:766c) ld a, [wCurBox] ld c, a ld a, [MenuSelection] dec a cp c - jr z, .asm_e3697 + jr z, .activebox ld c, a ld b, 0 - ld hl, Unknown_e36a5 + ld hl, .boxbanks rept 3 add hl, bc endr @@ -81312,15 +74346,17 @@ endr ld a, [hl] call CloseSRAM ld c, a - ld a, [wd4b4] + ld a, [wSavedAtLeastOnce] and a - jr z, .asm_e3695 + jr z, .newfile ld a, c ret -.asm_e3695 + +.newfile xor a ret -.asm_e3697 + +.activebox ld a, BANK(sBoxCount) ld b, a call GetSRAMBank @@ -81330,7 +74366,7 @@ endr ret ; e36a5 (38:76a5) -Unknown_e36a5: ; e36a5 +.boxbanks: ; e36a5 dbw BANK(sBox1), sBox1 dbw BANK(sBox2), sBox2 dbw BANK(sBox3), sBox3 @@ -81384,7 +74420,7 @@ Functione36f9: ; e36f9 (38:76f9) ret .asm_e3717 - call Functione366c + call GetBoxCount and a jr z, .asm_e372f ld e, l @@ -81507,7 +74543,7 @@ INCBIN "gfx/misc/copyright.2bpp" ; e41d0 _OptionsMenu: ; e41d0 - ld hl, $ffaa + ld hl, hInMenu ld a, [hl] push af ld [hl], $1 @@ -81525,7 +74561,7 @@ _OptionsMenu: ; e41d0 .asm_e41f3 ;this next will display the settings of each option when the menu is opened push bc xor a - ld [$ffa9], a + ld [hJoyLast], a call GetOptionPointer pop bc ld hl, wcf63 @@ -81544,7 +74580,7 @@ _OptionsMenu: ; e41d0 .asm_e4217 call Functiona57 ld a, [hJoyPressed] - and $a + and START | B_BUTTON jr nz, .ExitOptions call OptionsControl jr c, .asm_e422a @@ -81562,7 +74598,7 @@ _OptionsMenu: ; e41d0 call PlaySFX call WaitSFX pop af - ld [$ffaa], a + ld [hInMenu], a ret ; e4241 @@ -82027,10 +75063,10 @@ Options_Cancel: ; e4520 OptionsControl: ; e452a ld hl, wcf63 - ld a, [$ffa9] - cp $80 + ld a, [hJoyLast] + cp D_DOWN jr z, .DownPressed - cp $40 + cp D_UP jr z, .UpPressed and a ret @@ -82096,7 +75132,7 @@ Functione4579: ; e4579 call WhiteBGMap call ClearTileMap ld a, $98 - ld [$ffd7], a + ld [hBGMapAddress + 1], a xor a ld [hBGMapAddress], a ld [hJoyDown], a @@ -82119,8 +75155,8 @@ Functione4579: ; e4579 call Functione45e8 .asm_e45c0 call Functiona57 - ld a, [$ffa9] - and $f + ld a, [hJoyLast] + and BUTTONS jr nz, .asm_e45de ld a, [wcf63] bit 7, a @@ -82458,17 +75494,17 @@ INCBIN "gfx/splash/logo.1bpp" CrystalIntro: ; e48ac ld a, [rSVBK] push af - ld a, $5 + ld a, 5 ld [rSVBK], a - ld a, [$ffaa] + ld a, [hInMenu] push af ld a, [hVBlank] push af call Functione4901 .loop: ; e48bc call Functiona57 - ld a, [$ffa9] - and $f + ld a, [hJoyLast] + and BUTTONS jr nz, .ShutOffMusic ld a, [wcf63] bit 7, a @@ -82496,7 +75532,7 @@ CrystalIntro: ; e48ac pop af ld [hVBlank], a pop af - ld [$ffaa], a + ld [hInMenu], a pop af ld [rSVBK], a ret @@ -82506,7 +75542,7 @@ Functione4901: ; e4901 xor a ld [hVBlank], a ld a, $1 - ld [$ffaa], a + ld [hInMenu], a xor a ld [$ffde], a ld [wcf63], a @@ -83991,7 +77027,7 @@ Functione5441: ; e5441 (39:5441) Functione5451: ; e5451 (39:5451) hlcoord 0, 0 - ld bc, $168 + ld bc, SCREEN_HEIGHT * SCREEN_WIDTH .asm_e5457 ld a, [hl] and a @@ -86691,7 +79727,7 @@ Function1040da: ; 1040da ld a, $3 ld [rSVBK], a ld de, $d800 - ld a, [$ffd7] + ld a, [hBGMapAddress + 1] ld [rHDMA1], a ld a, [hBGMapAddress] ld [rHDMA2], a @@ -86784,7 +79820,7 @@ Function104177: ; 104177 ld [$ffde], a ld a, [rSVBK] push af - ld a, $6 + ld a, 6 ld [rSVBK], a ld a, [rVBK] push af @@ -86819,7 +79855,7 @@ Function1041a4: ; 104a14 ret Function1041ad: ; 1041ad (41:41ad) - ld a, [$ffd7] + ld a, [hBGMapAddress + 1] ld d, a ld a, [hBGMapAddress] ; $ff00+$d6 ld e, a @@ -86827,7 +79863,7 @@ Function1041ad: ; 1041ad (41:41ad) jr Function104209 Function1041b7: ; 1041b7 (41:41b7) - ld a, [$ffd7] + ld a, [hBGMapAddress + 1] ld d, a ld a, [hBGMapAddress] ; $ff00+$d6 ld e, a @@ -86836,7 +79872,7 @@ Function1041b7: ; 1041b7 (41:41b7) ; 1041c1 (41:41c1) Function1041c1: ; 1041c1 - ld a, [$ffd7] + ld a, [hBGMapAddress + 1] ld d, a ld a, [hBGMapAddress] ld e, a @@ -86945,7 +79981,7 @@ Function10424e: ; 10424e (41:424e) ld [rHDMA1], a ; $ff00+$51 ld a, l ld [rHDMA2], a ; $ff00+$52 - ld a, [$ffd7] + ld a, [hBGMapAddress + 1] and $1f ld [rHDMA3], a ; $ff00+$53 ld a, [hBGMapAddress] ; $ff00+$d6 @@ -88824,7 +81860,7 @@ Function105153: ; 105153 (41:5153) call FarCopyBytes hlcoord 0, 0 ld a, $42 - ld bc, $168 + ld bc, SCREEN_HEIGHT * SCREEN_WIDTH call ByteFill hlcoord 3, 7 ld bc, $90f @@ -89093,7 +82129,7 @@ Function10578c: ; 10578c (41:578c) ld hl, sPlayerData + PlayerID - wPlayerData ld bc, 2 call CopyBytes - ld hl, sPlayerData + wd84a - wPlayerData + ld hl, sPlayerData + wSecretID - wPlayerData ld bc, 2 call CopyBytes call CloseSRAM @@ -89128,7 +82164,7 @@ Function1057d7: ; 1057d7 (41:57d7) call FarCopyBytes hlcoord 0, 0 ld a, $3f - ld bc, $168 + ld bc, SCREEN_HEIGHT * SCREEN_WIDTH call ByteFill hlcoord 3, 7 ld bc, $90f @@ -91388,14 +84424,14 @@ String_1de23c: ; 1de23c Function1de247: ; 1de247 ld a, [hBGMapAddress] ld l, a - ld a, [$ffd7] + ld a, [hBGMapAddress + 1] ld h, a push hl inc hl ld a, l ld [hBGMapAddress], a ld a, h - ld [$ffd7], a + ld [hBGMapAddress + 1], a hlcoord 19, 0 ld [hl], $66 hlcoord 19, 1 @@ -91414,7 +84450,7 @@ Function1de247: ; 1de247 ld a, l ld [hBGMapAddress], a ld a, h - ld [$ffd7], a + ld [hBGMapAddress + 1], a ret ; 1de27f |