diff options
Diffstat (limited to 'misc')
-rwxr-xr-x | misc/battle_tower_47.asm | 8 | ||||
-rwxr-xr-x | misc/battle_tower_5c.asm | 28 | ||||
-rw-r--r-- | misc/crystal_misc.asm | 18 | ||||
-rwxr-xr-x | misc/fixed_words.asm | 993 | ||||
-rwxr-xr-x | misc/gfx_41.asm | 224 | ||||
-rwxr-xr-x | misc/mobile_12.asm | 191 | ||||
-rwxr-xr-x | misc/mobile_12_2.asm | 7 | ||||
-rw-r--r-- | misc/mobile_22.asm | 373 | ||||
-rw-r--r-- | misc/mobile_22_2.asm | 128 | ||||
-rw-r--r-- | misc/mobile_40.asm | 899 | ||||
-rwxr-xr-x | misc/mobile_41.asm | 502 | ||||
-rw-r--r-- | misc/mobile_42.asm | 27 | ||||
-rw-r--r-- | misc/mobile_45.asm | 67 | ||||
-rwxr-xr-x | misc/mobile_45_sprite_engine.asm | 3 | ||||
-rwxr-xr-x | misc/mobile_46.asm | 162 | ||||
-rwxr-xr-x | misc/mobile_5b.asm | 120 | ||||
-rwxr-xr-x | misc/mobile_5c.asm | 25 | ||||
-rw-r--r-- | misc/mobile_5f.asm | 220 | ||||
-rwxr-xr-x | misc/mobile_menu.asm | 14 | ||||
-rwxr-xr-x | misc/printer_77.asm | 56 | ||||
-rw-r--r-- | misc/unused_title.asm | 4 |
21 files changed, 2096 insertions, 1973 deletions
diff --git a/misc/battle_tower_47.asm b/misc/battle_tower_47.asm index a11f61064..f9e2ac0ea 100755 --- a/misc/battle_tower_47.asm +++ b/misc/battle_tower_47.asm @@ -61,9 +61,8 @@ ENDC .okay2 push af -rept 2 add hl, bc -endr + add hl, bc ld a, [hli] ld c, a ld a, [hl] @@ -72,9 +71,8 @@ endr pop af ld c, a ld b, 0 -rept 2 add hl, bc -endr + add hl, bc ld a, [hli] ld c, a ld a, [hl] @@ -83,7 +81,7 @@ endr bccoord 1, 14 pop af ld [rSVBK], a - call PlaceWholeStringInBoxAtOnce + call PlaceHLTextAtBC ret ; 11c05d diff --git a/misc/battle_tower_5c.asm b/misc/battle_tower_5c.asm index fb441a3f8..09c827146 100755 --- a/misc/battle_tower_5c.asm +++ b/misc/battle_tower_5c.asm @@ -111,7 +111,7 @@ Function170139: ; 170139 call CopyBytes ld bc, PlayerID ld de, PlayerGender - callba Function4e929 + callba GetMobileOTTrainerClass ld de, wBT_OTTempPkmn1CaughtGender ld a, c ld [de], a @@ -217,9 +217,8 @@ _BattleTowerBattle: ; 17022c ld e, a ld d, 0 ld hl, .dw -rept 2 add hl, de -endr + add hl, de ld a, [hli] ld h, [hl] ld l, a @@ -244,7 +243,7 @@ RunBattleTowerTrainer: ; 17024d xor a ld [wLinkMode], a - callba Mobile_HealParty + callba TrainerRankings_Healings callba HealParty call ReadBTTrainerParty call Clears5_a89a @@ -459,9 +458,8 @@ endr ld a, POUND ld [hli], a xor a -rept 2 ld [hli], a -endr + ld [hli], a ld [hl], a jr .done_moves @@ -489,9 +487,8 @@ endr predef CalcPkmnStats pop de pop hl -rept 2 dec de -endr + dec de ld a, [hli] ld [de], a inc de @@ -690,9 +687,8 @@ Function1704e1: ; 1704e1 ld e, a ld d, 0 ld hl, .dw -rept 2 add hl, de -endr + add hl, de ld a, [hli] ld h, [hl] ld l, a @@ -908,9 +904,8 @@ endr ld [hli], a dec c jr nz, .clearbox_column -rept 2 inc hl -endr + inc hl dec b jr nz, .clearbox_row ret @@ -947,9 +942,8 @@ BattleTowerAction: ; 170687 ld e, a ld d, 0 ld hl, .dw -rept 2 add hl, de -endr + add hl, de ld a, [hli] ld h, [hl] ld l, a @@ -1393,9 +1387,8 @@ rept 4 dec hl endr ld a, "@" -rept 2 ld [hli], a -endr + ld [hli], a pop hl ld a, EGG_TICKET ld [CurItem], a @@ -1445,9 +1438,8 @@ Function1709bb: ; 1709bb (5c:49bb) BattleTowerAction $10 ld e, a ld d, 0 ld hl, Jumptable_1709e7 -rept 2 add hl, de -endr + add hl, de ld a, [hli] ld h, [hl] ld l, a diff --git a/misc/crystal_misc.asm b/misc/crystal_misc.asm index 01538a3d6..66f0a92ae 100644 --- a/misc/crystal_misc.asm +++ b/misc/crystal_misc.asm @@ -47,7 +47,7 @@ Function17a6a8: ; 17a6a8 (5e:66a8) call Function17aba0 callba Function106464 call Function17ac0c - callba Function104000 + callba HDMATransferAttrMapAndTileMapToWRAMBank3 call Function17abcf callba LoadOW_BGPal7 callba Function49420 @@ -169,7 +169,7 @@ Function17a78f: ; 17a78f (5e:678f) bit 7, [hl] res 7, [hl] jr nz, .asm_17a79f - callba Function10402d + callba HDMATransferTileMapToWRAMBank3 ret .asm_17a79f @@ -576,16 +576,16 @@ Function17aa22: ; 17aa22 (5e:6a22) push de ld a, $3 call Function17aae0 -rept 3 add a -endr + add a + add a add $0 push af ld a, $4 call Function17aae0 -rept 3 add a -endr + add a + add a add $8 ld c, a pop af @@ -682,15 +682,13 @@ Function17aaa9: ; 17aaa9 (5e:6aa9) Function17aac3: ; 17aac3 (5e:6ac3) ld a, $b push hl -rept 2 ld [hli], a -endr + ld [hli], a pop hl ld de, SCREEN_WIDTH add hl, de -rept 2 ld [hli], a -endr + ld [hli], a ret Function17aad0: ; 17aad0 (5e:6ad0) diff --git a/misc/fixed_words.asm b/misc/fixed_words.asm index ed4160351..14ef91e9d 100755 --- a/misc/fixed_words.asm +++ b/misc/fixed_words.asm @@ -4,24 +4,23 @@ Function11c05d: ; 11c05d ld a, e or d - jr z, .asm_11c071 + jr z, .error ld a, e and d cp $ff - jr z, .asm_11c071 + jr z, .error push hl - call Function11c156 + call CopyMobileEZChatToC608 pop hl call PlaceString and a ret -.asm_11c071 +.error ld c, l ld b, h scf ret - ; 11c075 Function11c075: ; 11c075 @@ -32,26 +31,25 @@ Function11c075: ; 11c075 ld bc, wcd36 call Function11c08f ret - ; 11c082 Function11c082: ; 11c082 +; XXX push de ld a, c call Function11c254 pop de ld bc, wcd36 - call Function11c0c6 + call PrintEZChatBattleMessage ret - ; 11c08f Function11c08f: ; 11c08f ld l, e ld h, d push hl - ld a, $3 -.asm_11c094 + ld a, 3 +.loop push af ld a, [bc] ld e, a @@ -61,21 +59,21 @@ Function11c08f: ; 11c08f inc bc push bc call Function11c05d - jr c, .asm_11c0a2 + jr c, .okay inc bc -.asm_11c0a2 +.okay ld l, c ld h, b pop bc pop af dec a - jr nz, .asm_11c094 + jr nz, .loop pop hl - ld de, $0028 + ld de, 2 * SCREEN_WIDTH add hl, de ld a, $3 -.asm_11c0b0 +.loop2 push af ld a, [bc] ld e, a @@ -85,139 +83,160 @@ Function11c08f: ; 11c08f inc bc push bc call Function11c05d - jr c, .asm_11c0be + jr c, .okay2 inc bc -.asm_11c0be +.okay2 ld l, c ld h, b pop bc pop af dec a - jr nz, .asm_11c0b0 + jr nz, .loop2 ret - ; 11c0c6 - -Function11c0c6: ; 11c0c6 +PrintEZChatBattleMessage: ; 11c0c6 +; Use up to 6 words from bc to print text starting at de. + ; Preserve $cf63, $cf64 ld a, [wJumptableIndex] ld l, a ld a, [wcf64] ld h, a push hl - ld hl, $c608 + 16 + ; reset value at c618 (not preserved) + ld hl, $c618 ld a, $0 ld [hli], a + ; preserve de push de + ; $cf63 keeps track of which line we're on (0, 1, or 2) + ; $cf64 keeps track of how much room we have left in the current line xor a ld [wJumptableIndex], a - ld a, $12 + ld a, 18 ld [wcf64], a - ld a, $6 -.asm_11c0e1 + ld a, $6 ; up to 6 times +.loop push af + ; load the 2-byte word data pointed to by bc ld a, [bc] ld e, a inc bc ld a, [bc] ld d, a inc bc + ; if $0000, we're done or e - jr z, .asm_11c133 + jr z, .done + ; preserving hl and bc, get the length of the word push hl push bc - call Function11c156 - call Function11c14a + call CopyMobileEZChatToC608 + call GetLengthOfWordAtC608 ld e, c pop bc pop hl + ; if the functions return 0, we're done ld a, e or a - jr z, .asm_11c133 -.asm_11c0fa + jr z, .done +.loop2 + ; e contains the length of the word + ; add 1 for the space, unless we're at the start of the line ld a, [wcf64] - cp $12 - jr z, .asm_11c102 + cp 18 + jr z, .skip_inc inc e -.asm_11c102 +.skip_inc + ; if the word fits, put it on the same line cp e - jr nc, .asm_11c11c + jr nc, .same_line + ; otherwise, go to the next line ld a, [wJumptableIndex] inc a ld [wJumptableIndex], a - ld [hl], $4e + ; if we're on line 2, insert "<NEXT>" + ld [hl], "<NEXT>" rra - jr c, .asm_11c113 - ld [hl], $55 + jr c, .got_line_terminator + ; else, insert "<CONT>" + ld [hl], "<CONT>" -.asm_11c113 +.got_line_terminator inc hl - ld a, $12 + ; init the next line, holding on to the same word + ld a, 18 ld [wcf64], a dec e - jr .asm_11c0fa + jr .loop2 -.asm_11c11c - cp $12 - jr z, .asm_11c123 - ld [hl], $7f +.same_line + ; add the space, unless we're at the start of the line + cp 18 + jr z, .skip_space + ld [hl], " " inc hl -.asm_11c123 +.skip_space + ; deduct the length of the word sub e ld [wcf64], a ld de, $c608 -.asm_11c12a +.place_string_loop + ; load the string from de to hl ld a, [de] - cp $50 - jr z, .asm_11c133 + cp "@" + jr z, .done inc de ld [hli], a - jr .asm_11c12a + jr .place_string_loop -.asm_11c133 +.done + ; next word? pop af dec a - jr nz, .asm_11c0e1 - ld [hl], $57 + jr nz, .loop + ; we're finished, place "<DONE>" + ld [hl], "<DONE>" + ; now, let's place the string from c618 to bc pop bc - ld hl, $c608 + 16 - call PlaceWholeStringInBoxAtOnce + ld hl, $c618 + call PlaceHLTextAtBC + ; restore the original values of $cf63 and $cf64 pop hl ld a, l ld [wJumptableIndex], a ld a, h ld [wcf64], a ret - ; 11c14a -Function11c14a: ; 11c14a +GetLengthOfWordAtC608: ; 11c14a ld c, $0 ld hl, $c608 -.asm_11c14f +.loop ld a, [hli] - cp $50 + cp "@" ret z inc c - jr .asm_11c14f + jr .loop ; 11c156 -Function11c156: ; 11c156 +CopyMobileEZChatToC608: ; 11c156 ld a, [rSVBK] push af ld a, $1 ld [rSVBK], a - ld a, $50 + ld a, "@" ld hl, $c608 - ld bc, $000b + ld bc, NAME_LENGTH call ByteFill ld a, d and a jr z, .get_name - ld hl, MobileFixedWordCategoryPointers + ld hl, MobileEZChatCategoryPointers dec d sla d ld c, d @@ -239,7 +258,7 @@ Function11c156: ; 11c156 rl b add hl, bc ld bc, 5 ; length of a string -.loop +.copy_string ld de, $c608 call CopyBytes ld de, $c608 @@ -253,7 +272,7 @@ Function11c156: ; 11c156 call GetPokemonName ld hl, StringBuffer1 ld bc, PKMN_NAME_LENGTH - 1 - jr .loop + jr .copy_string ; 11c1ab Function11c1ab: ; 11c1ab @@ -265,23 +284,21 @@ Function11c1ab: ; 11c1ab pop af ld [hInMenu], a ret - ; 11c1b9 Function11c1b9: ; 11c1b9 - call Function11c1ca + call .InitKanaMode ld a, [rSVBK] push af ld a, $5 ld [rSVBK], a - call Function11c283 + call EZChat_MasterLoop pop af ld [rSVBK], a ret - ; 11c1ca -Function11c1ca: ; 11c1ca +.InitKanaMode: ; 11c1ca xor a ld [wJumptableIndex], a ld [wcf64], a @@ -326,10 +343,9 @@ Function11c1ca: ; 11c1ca call CopyBytes pop af ld [rSVBK], a - call Function11d4aa - call Function11d3ba + call EZChat_GetCategoryWordsByKana + call EZChat_GetSeenPokemonByKana ret - ; 11c254 Function11c254: ; 11c254 @@ -347,22 +363,20 @@ Function11c254: ; 11c254 ld b, $0 add hl, bc ld de, wcd36 - ld bc, $000c + ld bc, 12 call CopyBytes call CloseSRAM ret - ; 11c277 - -Function11c277: ; 11c277 (47:4277) +EZChat_ClearBottom12Rows: ; 11c277 (47:4277) ld a, " " hlcoord 0, 6 ld bc, (SCREEN_HEIGHT - 6) * SCREEN_WIDTH call ByteFill ret -Function11c283: ; 11c283 +EZChat_MasterLoop: ; 11c283 .loop call JoyTextDelay ld a, [hJoyPressed] @@ -379,17 +393,15 @@ Function11c283: ; 11c283 callba ClearSpriteAnims call ClearSprites ret - ; 11c2ac .DoJumptableFunction: ; 11c2ac jumptable .Jumptable, wJumptableIndex ; 11c2bb - .Jumptable: ; 11c2bb (47:42bb) - dw Function11c2e9 ; 00 - dw Function11c346 ; 01 + dw .SpawnObjects ; 00 + dw .InitRAM ; 01 dw Function11c35f ; 02 dw Function11c373 ; 03 dw Function11c3c2 ; 04 @@ -412,52 +424,57 @@ Function11c283: ; 11c283 dw Function11ce0b ; 15 dw Function11ce2b ; 16 - -Function11c2e9: ; 11c2e9 (47:42e9) +.SpawnObjects: ; 11c2e9 (47:42e9) depixel 3, 1, 2, 5 ld a, SPRITE_ANIM_INDEX_1D call _InitSpriteAnimStruct depixel 8, 1, 2, 5 + ld a, SPRITE_ANIM_INDEX_1D call _InitSpriteAnimStruct - ld hl, $c + ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld a, $1 ld [hl], a + depixel 9, 2, 2, 0 ld a, SPRITE_ANIM_INDEX_1D call _InitSpriteAnimStruct - ld hl, $c + ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld a, $3 ld [hl], a + depixel 10, 16 ld a, SPRITE_ANIM_INDEX_1D call _InitSpriteAnimStruct - ld hl, $c + ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld a, $4 ld [hl], a + depixel 10, 4 ld a, SPRITE_ANIM_INDEX_1D call _InitSpriteAnimStruct - ld hl, $c + ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld a, $5 ld [hl], a + depixel 10, 2 ld a, SPRITE_ANIM_INDEX_1D call _InitSpriteAnimStruct - ld hl, $c + ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld a, $2 ld [hl], a + ld hl, wcd23 set 1, [hl] set 2, [hl] jp Function11cfb5 -Function11c346: ; 11c346 (47:4346) +.InitRAM: ; 11c346 (47:4346) ld a, $9 ld [wcd2d], a ld a, $2 @@ -535,7 +552,6 @@ Function11c38a: ; 11c38a (47:438a) dec a jr nz, .asm_11c392 ret - ; 11c3bc (47:43bc) String_11c3bc: ; 11c3bc @@ -543,7 +559,7 @@ String_11c3bc: ; 11c3bc ; 11c3c2 Function11c3c2: ; 11c3c2 (47:43c2) - call Function11c277 + call EZChat_ClearBottom12Rows ld de, Unknown_11cfbe call Function11d035 hlcoord 1, 7 @@ -560,7 +576,7 @@ Function11c3c2: ; 11c3c2 (47:43c2) call Function11cfb5 Function11c3ed: ; 11c3ed (47:43ed) - ld hl, wcd20 ; wcd20 (aliases: CreditsPos) + ld hl, wcd20 ; wcd20 ld de, hJoypadPressed ; $ffa3 ld a, [de] and $8 @@ -595,11 +611,11 @@ Function11c3ed: ; 11c3ed (47:43ed) jr .asm_11c475 .asm_11c426 ld a, $8 - ld [wcd20], a ; wcd20 (aliases: CreditsPos) + ld [wcd20], a ; wcd20 ret .asm_11c42c - ld a, [wcd20] ; wcd20 (aliases: CreditsPos) + ld a, [wcd20] ; wcd20 cp $6 jr c, .asm_11c472 sub $6 @@ -705,7 +721,6 @@ Function11c4be: ; 11c4be (47:44be) call ByteFill callba ReloadMapPart ret - ; 11c4db (47:44db) String_11c4db: ; 11c4db @@ -721,8 +736,8 @@ String_11c51b: ; 11c51b ; 11c52c Function11c52c: ; 11c52c (47:452c) - call Function11c277 - call Function11c5f0 + call EZChat_ClearBottom12Rows + call EZChat_PlaceCategoryNames call Function11c618 ld hl, wcd24 res 1, [hl] @@ -770,47 +785,47 @@ Function11c53d: ; 11c53d (47:453d) .a ld a, [wcd21] - cp $f - jr c, .asm_11c59d + cp 15 + jr c, .got_category sub $f - jr z, .asm_11c5ab + jr z, .done dec a - jr z, .asm_11c599 + jr z, .mode jr .b .start ld hl, wcd24 set 0, [hl] ld a, $8 - ld [wcd20], a ; wcd20 (aliases: CreditsPos) + ld [wcd20], a ; wcd20 .b ld a, $4 - jr .asm_11c59f + jr .go_to_function .select ld a, [wcd2b] xor $1 ld [wcd2b], a ld a, $15 - jr .asm_11c59f + jr .go_to_function -.asm_11c599 +.mode ld a, $13 - jr .asm_11c59f + jr .go_to_function -.asm_11c59d +.got_category ld a, $8 -.asm_11c59f +.go_to_function ld hl, wcd24 set 1, [hl] ld [wJumptableIndex], a call PlayClickSFX ret -.asm_11c5ab - ld a, [wcd20] ; wcd20 (aliases: CreditsPos) +.done + ld a, [wcd20] ; wcd20 call Function11ca6a call PlayClickSFX ret @@ -820,14 +835,14 @@ Function11c53d: ; 11c53d (47:453d) cp $3 ret c sub $3 - jr .asm_11c5ee + jr .finish_dpad .down ld a, [hl] cp $f ret nc add $3 - jr .asm_11c5ee + jr .finish_dpad .left ld a, [hl] @@ -844,7 +859,7 @@ Function11c53d: ; 11c53d (47:453d) cp $f ret z dec a - jr .asm_11c5ee + jr .finish_dpad .right ld a, [hl] @@ -862,17 +877,16 @@ Function11c53d: ; 11c53d (47:453d) ret z inc a -.asm_11c5ee +.finish_dpad ld [hl], a ret - ; 11c5f0 -Function11c5f0: ; 11c5f0 (47:45f0) - ld de, MobileFixedWordCategoryNames - ld bc, Unknown_11c63a - ld a, $f -.asm_11c5f8 +EZChat_PlaceCategoryNames: ; 11c5f0 (47:45f0) + ld de, MobileEZChatCategoryNames + ld bc, Coords_11c63a + ld a, 15 +.loop push af ld a, [bc] inc bc @@ -882,17 +896,20 @@ Function11c5f0: ; 11c5f0 (47:45f0) ld h, a push bc call PlaceString -.asm_11c603 + ; The category names are padded with "@". + ; To find the next category, the system must + ; find the first character at de that is not "@". +.find_next_string_loop inc de ld a, [de] - cp $50 - jr z, .asm_11c603 + cp "@" + jr z, .find_next_string_loop pop bc pop af dec a - jr nz, .asm_11c5f8 + jr nz, .loop hlcoord 1, 17 - ld de, String_11c62a + ld de, EZChatString_Stop_Mode_Cancel call PlaceString ret @@ -903,14 +920,13 @@ Function11c618: ; 11c618 (47:4618) call ByteFill callba ReloadMapPart ret - ; 11c62a (47:462a) -String_11c62a: ; 11c62a +EZChatString_Stop_Mode_Cancel: ; 11c62a db "けす モード やめる@" ; 11c63a -Unknown_11c63a: ; 11c63a +Coords_11c63a: ; 11c63a dwcoord 1, 7 dwcoord 7, 7 dwcoord 13, 7 @@ -929,7 +945,7 @@ Unknown_11c63a: ; 11c63a ; 11c658 Function11c658: ; 11c658 (47:4658) - call Function11c277 + call EZChat_ClearBottom12Rows call Function11c770 ld de, Unknown_11cfc2 call Function11d035 @@ -941,7 +957,7 @@ Function11c658: ; 11c658 (47:4658) call Function11cfb5 Function11c675: ; 11c675 (47:4675) - ld hl, wcd25 + ld hl, wMobileCommsJumptableIndex ld de, hJoypadPressed ; $ffa3 ld a, [de] and A_BUTTON @@ -975,7 +991,7 @@ Function11c675: ; 11c675 (47:4675) ld [wcd26], a ld a, [hl] ld b, a - ld hl, wcd25 + ld hl, wMobileCommsJumptableIndex ld a, [wcd26] add [hl] jr c, .asm_11c6b9 @@ -986,7 +1002,7 @@ Function11c675: ; 11c675 (47:4675) ld hl, wcd26 sub [hl] dec a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a .asm_11c6c4 call Function11c992 call Function11c7bc @@ -1101,42 +1117,46 @@ Function11c675: ; 11c675 (47:4675) Function11c770: ; 11c770 (47:4770) xor a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ld [wcd26], a ld [wcd27], a ld a, [wcd2b] and a - jr nz, .asm_11c7ab + jr nz, .cd2b_is_nonzero ld a, [wcd21] and a - jr z, .asm_11c799 + jr z, .cd21_is_zero + ; load from data array dec a sla a - ld hl, Unknown_11f220 + ld hl, MobileEZChatData_WordAndPageCounts ld c, a ld b, 0 add hl, bc ld a, [hli] ld [wcd28], a ld a, [hl] -.asm_11c795 +.load ld [wcd29], a ret -.asm_11c799 +.cd21_is_zero + ; compute from [wc7d2] ld a, [wc7d2] ld [wcd28], a -.asm_11c79f - ld c, $c +.div_12 + ld c, 12 call SimpleDivide and a - jr nz, .asm_11c7a8 + jr nz, .no_need_to_floor dec b -.asm_11c7a8 +.no_need_to_floor ld a, b - jr .asm_11c795 -.asm_11c7ab - ld hl, $c68a + 30 + jr .load + +.cd2b_is_nonzero + ; compute from [c6a8 + 2 * [cd22]] + ld hl, $c6a8 ; $c68a + 30 ld a, [wcd22] ld c, a ld b, 0 @@ -1144,7 +1164,7 @@ Function11c770: ; 11c770 (47:4770) add hl, bc ld a, [hl] ld [wcd28], a - jr .asm_11c79f + jr .div_12 Function11c7bc: ; 11c7bc (47:47bc) ld bc, Unknown_11c854 @@ -1179,7 +1199,7 @@ Function11c7bc: ; 11c7bc (47:47bc) ret .asm_11c7e9 - ld hl, wd100 + ld hl, wListPointer ld a, [wcd26] ld e, a add hl, de @@ -1265,7 +1285,6 @@ Function11c7bc: ; 11c7bc (47:47bc) pop hl pop de ret - ; 11c854 (47:4854) Unknown_11c854: ; 11c854 @@ -1339,7 +1358,6 @@ Function11c86e: ; 11c86e (47:486e) dec c jr nz, .asm_11c8c2 ret - ; 11c8c7 (47:48c7) BCD2String: ; 11c8c7 @@ -1363,7 +1381,6 @@ BCD2String: ; 11c8c7 add "0" ld [hli], a ret - ; 11c8ec MobileString_Page: ; 11c8ec @@ -1379,7 +1396,7 @@ MobileString_Next: ; 11c8f3 ; 11c8f6 Function11c8f6: ; 11c8f6 (47:48f6) - ld a, [wcd20] ; wcd20 (aliases: CreditsPos) + ld a, [wcd20] ; wcd20 call Function11c95d push hl ld a, [wcd2b] @@ -1390,7 +1407,7 @@ Function11c8f6: ; 11c8f6 (47:48f6) and a jr z, .asm_11c927 ld hl, wcd26 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] add [hl] .asm_11c911 ld e, a @@ -1399,7 +1416,7 @@ Function11c8f6: ; 11c8f6 (47:48f6) push de call Function11c05d pop de - ld a, [wcd20] ; wcd20 (aliases: CreditsPos) + ld a, [wcd20] ; wcd20 ld c, a ld b, $0 ld hl, wcd36 @@ -1412,11 +1429,11 @@ Function11c8f6: ; 11c8f6 (47:48f6) .asm_11c927 ld hl, wcd26 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] add [hl] ld c, a ld b, $0 - ld hl, wd100 + ld hl, wListPointer add hl, bc ld a, [hl] jr .asm_11c911 @@ -1438,7 +1455,7 @@ Function11c8f6: ; 11c8f6 (47:48f6) ld d, $0 add hl, de add hl, de - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] ld e, a add hl, de add hl, de @@ -1480,7 +1497,6 @@ Function11c95d: ; 11c95d (47:495d) jr nz, .asm_11c980 pop hl ret - ; 11c986 (47:4986) Unknown_11c986: @@ -1544,7 +1560,7 @@ Function11c9c3: ; 11c9c3 (47:49c3) jr nz, .asm_11c9e9 call Function11ca5e xor a - ld [wcd20], a ; wcd20 (aliases: CreditsPos) + ld [wcd20], a ; wcd20 .asm_11c9e9 ld hl, wcd24 set 4, [hl] @@ -1606,7 +1622,6 @@ Function11ca19: ; 11ca19 (47:4a19) jr nz, .asm_11ca22 callba ReloadMapPart ret - ; 11ca38 (47:4a38) String_11ca38: ; 11ca38 @@ -1621,13 +1636,13 @@ String_11ca57: ; 11ca57 Function11ca5e: ; 11ca5e (47:4a5e) xor a -.asm_11ca5f +.loop push af call Function11ca6a pop af inc a cp $6 - jr nz, .asm_11ca5f + jr nz, .loop ret Function11ca6a: ; 11ca6a (47:4a6a) @@ -1736,7 +1751,6 @@ Function11cab3: ; 11cab3 (47:4ab3) ret nz inc [hl] ret - ; 11cb1c (47:4b1c) String_11cb1c: ; 11cb1c @@ -1867,7 +1881,6 @@ Function11cbf5: ; 11cbf5 (47:4bf5) dec hl set 7, [hl] ret - ; 11cc01 (47:4c01) Unknown_11cc01: ; 11cc01 @@ -1933,7 +1946,6 @@ Function11cd04: ; 11cd04 (47:4d04) ld a, $4 ld [wJumptableIndex], a ret - ; 11cd10 (47:4d10) String_11cd10: ; 11cd10 @@ -1941,7 +1953,7 @@ String_11cd10: ; 11cd10 ; 11cd20 Function11cd20: ; 11cd20 (47:4d20) - call Function11c277 + call EZChat_ClearBottom12Rows ld de, Unknown_11cfc6 call Function11cfce hlcoord 1, 14 @@ -2033,7 +2045,6 @@ Function11cdaa: ; 11cdaa (47:4daa) call ByteFill callba ReloadMapPart ret - ; 11cdc7 (47:4dc7) String_11cdc7: ; 11cdc7 @@ -2054,12 +2065,12 @@ String_11cdf5: ; 11cdf5 ; 11ce0b Function11ce0b: ; 11ce0b (47:4e0b) - call Function11c277 + call EZChat_ClearBottom12Rows hlcoord 1, 7 ld de, String_11cf79 call PlaceString hlcoord 1, 17 - ld de, String_11c62a + ld de, EZChatString_Stop_Mode_Cancel call PlaceString call Function11c618 ld hl, wcd24 @@ -2110,16 +2121,16 @@ Function11ce2b: ; 11ce2b (47:4e2b) cp NUM_KANA jr c, .place sub NUM_KANA - jr z, .asm_11cea4 + jr z, .done dec a - jr z, .asm_11ce96 + jr z, .mode jr .b .start ld hl, wcd24 set 0, [hl] ld a, $8 - ld [wcd20], a ; wcd20 (aliases: CreditsPos) + ld [wcd20], a ; wcd20 .b ld a, $4 jr .load @@ -2135,7 +2146,7 @@ Function11ce2b: ; 11ce2b (47:4e2b) ld a, $8 jr .load -.asm_11ce96 +.mode ld a, $13 .load ld [wJumptableIndex], a @@ -2144,8 +2155,8 @@ Function11ce2b: ; 11ce2b (47:4e2b) call PlayClickSFX ret -.asm_11cea4 - ld a, [wcd20] ; wcd20 (aliases: CreditsPos) +.done + ld a, [wcd20] ; wcd20 call Function11ca6a call PlayClickSFX ret @@ -2162,7 +2173,6 @@ Function11ce2b: ; 11ce2b (47:4e2b) ret z ld [wcd22], a ret - ; 11ceb9 (47:4eb9) Unknown_11ceb9: ; 11ceb9 @@ -2278,7 +2288,6 @@ Function11cfb5: ; 11cfb5 (47:4fb5) ld hl, wJumptableIndex inc [hl] ret - ; 11cfba (47:4fba) Unknown_11cfba: @@ -2304,19 +2313,19 @@ Unknown_11cfca: Function11cfce: ; 11cfce (47:4fce) hlcoord 0, 0 - ld bc, $14 + ld bc, SCREEN_WIDTH ld a, [de] inc de push af ld a, [de] inc de and a -.asm_11cfda - jr z, .asm_11cfe0 +.add_n_times + jr z, .done_add_n_times add hl, bc dec a - jr .asm_11cfda -.asm_11cfe0 + jr .add_n_times +.done_add_n_times pop af ld c, a ld b, 0 @@ -2328,82 +2337,82 @@ Function11cfce: ; 11cfce (47:4fce) inc de dec a dec a - jr z, .asm_11cff6 + jr z, .skip_fill ld c, a ld a, $7a -.asm_11cff2 +.fill_loop ld [hli], a dec c - jr nz, .asm_11cff2 -.asm_11cff6 + jr nz, .fill_loop +.skip_fill ld a, $7b ld [hl], a pop hl - ld bc, $14 + ld bc, SCREEN_WIDTH add hl, bc ld a, [de] dec de dec a dec a - jr z, .asm_11d022 + jr z, .skip_section ld b, a -.asm_11d005 +.loop push hl ld a, $7c ld [hli], a ld a, [de] dec a dec a - jr z, .asm_11d015 + jr z, .skip_row ld c, a ld a, $7f -.asm_11d011 +.row_loop ld [hli], a dec c - jr nz, .asm_11d011 -.asm_11d015 + jr nz, .row_loop +.skip_row ld a, $7c ld [hl], a pop hl push bc - ld bc, $14 + ld bc, SCREEN_WIDTH add hl, bc pop bc dec b - jr nz, .asm_11d005 -.asm_11d022 + jr nz, .loop +.skip_section ld a, $7d ld [hli], a ld a, [de] dec a dec a - jr z, .asm_11d031 + jr z, .skip_remainder ld c, a ld a, $7a -.asm_11d02d +.final_loop ld [hli], a dec c - jr nz, .asm_11d02d -.asm_11d031 + jr nz, .final_loop +.skip_remainder ld a, $7e ld [hl], a ret Function11d035: ; 11d035 (47:5035) hlcoord 0, 0 - ld bc, $14 + ld bc, SCREEN_WIDTH ld a, [de] inc de push af ld a, [de] inc de and a -.asm_11d041 - jr z, .asm_11d047 +.add_n_times + jr z, .done_add_n_times add hl, bc dec a - jr .asm_11d041 -.asm_11d047 + jr .add_n_times +.done_add_n_times pop af ld c, a ld b, $0 @@ -2420,27 +2429,27 @@ Function11d035: ; 11d035 (47:5035) add hl, bc ld a, $7b ld [hl], a - call Function11d0ac + call .AddNMinusOneTimes ld a, $7e ld [hl], a pop hl push hl - call Function11d0ac + call .AddNMinusOneTimes ld a, $7d ld [hl], a pop hl push hl inc hl push hl - call Function11d0ac + call .AddNMinusOneTimes pop bc dec de ld a, [de] cp $2 - jr z, .asm_11d082 + jr z, .skip dec a dec a -.asm_11d078 +.loop push af ld a, $7a ld [hli], a @@ -2448,8 +2457,8 @@ Function11d035: ; 11d035 (47:5035) inc bc pop af dec a - jr nz, .asm_11d078 -.asm_11d082 + jr nz, .loop +.skip pop hl ld bc, $14 add hl, bc @@ -2470,32 +2479,32 @@ Function11d035: ; 11d035 (47:5035) ld c, a ld b, a ld de, $14 -.asm_11d09c +.loop2 ld a, $7c ld [hl], a add hl, de dec c - jr nz, .asm_11d09c + jr nz, .loop2 pop hl -.asm_11d0a4 +.loop3 ld a, $7c ld [hl], a add hl, de dec b - jr nz, .asm_11d0a4 + jr nz, .loop3 ret -Function11d0ac: ; 11d0ac (47:50ac) +.AddNMinusOneTimes: ; 11d0ac (47:50ac) ld a, [de] dec a - ld bc, $14 -.asm_11d0b1 + ld bc, SCREEN_WIDTH +.add_n_minus_one_times add hl, bc dec a - jr nz, .asm_11d0b1 + jr nz, .add_n_minus_one_times ret -Function11d0b6: ; 11d0b6 (47:50b6) +AnimateEZChatCursor: ; 11d0b6 (47:50b6) ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld a, [hl] @@ -2522,41 +2531,41 @@ Function11d0b6: ; 11d0b6 (47:50b6) dw .nine dw .ten - .zero ; 11d0dd (47:50dd) - ld a, [wcd20] ; wcd20 (aliases: CreditsPos) + ld a, [wcd20] ; wcd20 sla a - ld hl, Unknown_11d208 + ld hl, .Coords_Zero ld e, $1 jr .load .one ; 11d0e9 (47:50e9) ld a, [wcd21] sla a - ld hl, Unknown_11d21a + ld hl, .Coords_One ld e, $2 jr .load .two ; 11d0f5 (47:50f5) - ld hl, Unknown_11d2be + ld hl, .FramesetsIDs_Two ld a, [wcd22] ld e, a ld d, $0 add hl, de ld a, [hl] call ReinitSpriteAnimFrame + ld a, [wcd22] sla a - ld hl, Unknown_11d23e + ld hl, .Coords_Two ld e, $4 jr .load .three ; 11d10f (47:510f) ld a, SPRITE_ANIM_FRAMESET_27 call ReinitSpriteAnimFrame - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] sla a - ld hl, Unknown_11d29e + ld hl, .Coords_Three ld e, $8 .load ; 11d11e (47:511e) push de @@ -2574,7 +2583,7 @@ Function11d0b6: ; 11d0b6 (47:50b6) ld [hl], a pop de ld a, e - call Function11d2ee + call .UpdateObjectFlags ret .four ; 11d134 (47:5134) @@ -2582,7 +2591,7 @@ Function11d0b6: ; 11d0b6 (47:50b6) call ReinitSpriteAnimFrame ld a, [wcd2a] sla a - ld hl, Unknown_11d2b6 + ld hl, .Coords_Four ld e, $10 jr .load @@ -2591,42 +2600,47 @@ Function11d0b6: ; 11d0b6 (47:50b6) call ReinitSpriteAnimFrame ld a, [wcd2c] sla a - ld hl, Unknown_11d2ba + ld hl, .Coords_Five ld e, $20 jr .load .six ; 11d156 (47:5156) ld a, SPRITE_ANIM_FRAMESET_2A call ReinitSpriteAnimFrame + ; X = [wcd4a] * 8 + 24 ld a, [wcd4a] sla a sla a sla a add $18 - ld hl, $4 + ld hl, SPRITEANIMSTRUCT_XCOORD add hl, bc ld [hli], a + ; Y = 48 ld a, $30 ld [hl], a + ld a, $1 ld e, a - call Function11d2ee + call .UpdateObjectFlags ret .seven ; 11d175 (47:5175) - ld a, [wcd4d] + ld a, [wEZChatCursorYCoord] cp $4 - jr z, .asm_11d180 + jr z, .frameset_26 ld a, SPRITE_ANIM_FRAMESET_28 - jr .asm_11d182 -.asm_11d180 + jr .got_frameset + +.frameset_26 ld a, SPRITE_ANIM_FRAMESET_26 -.asm_11d182 +.got_frameset call ReinitSpriteAnimFrame - ld a, [wcd4d] + ld a, [wEZChatCursorYCoord] cp $4 jr z, .asm_11d1b1 - ld a, [wcd4c] + ; X = [wEZChatCursorXCoord] * 8 + 32 + ld a, [wEZChatCursorXCoord] sla a sla a sla a @@ -2634,7 +2648,8 @@ Function11d0b6: ; 11d0b6 (47:50b6) ld hl, SPRITEANIMSTRUCT_XCOORD add hl, bc ld [hli], a - ld a, [wcd4d] + ; Y = [wEZChatCursorYCoord] * 16 + 72 + ld a, [wEZChatCursorYCoord] sla a sla a sla a @@ -2643,11 +2658,12 @@ Function11d0b6: ; 11d0b6 (47:50b6) ld [hl], a ld a, $2 ld e, a - call Function11d2ee + call .UpdateObjectFlags ret .asm_11d1b1 - ld a, [wcd4c] + ; X = [wEZChatCursorXCoord] * 40 + 24 + ld a, [wEZChatCursorXCoord] sla a sla a sla a @@ -2659,11 +2675,12 @@ Function11d0b6: ; 11d0b6 (47:50b6) ld hl, SPRITEANIMSTRUCT_XCOORD add hl, bc ld [hli], a + ; Y = 138 ld a, $8a ld [hl], a ld a, $2 ld e, a - call Function11d2ee + call .UpdateObjectFlags ret .nine ; 11d1d1 (47:51d1) @@ -2692,7 +2709,7 @@ Function11d0b6: ; 11d0b6 (47:50b6) ld [hl], a ld a, $4 ld e, a - call Function11d2ee + call .UpdateObjectFlags ret .ten ; 11d1fc (47:51fc) @@ -2700,141 +2717,164 @@ Function11d0b6: ; 11d0b6 (47:50b6) call ReinitSpriteAnimFrame ld a, $8 ld e, a - call Function11d2ee + call .UpdateObjectFlags ret - ; 11d208 (47:5208) -Unknown_11d208: ; 11d208 - db $0d, $1a - db $3d, $1a - db $6d, $1a - db $0d, $2a - db $3d, $2a - db $6d, $2a - db $0d, $8a - db $3d, $8a - db $6d, $8a - -Unknown_11d21a: ; 11d21a - db $0d, $42 - db $3d, $42 - db $6d, $42 - db $0d, $52 - db $3d, $52 - db $6d, $52 - db $0d, $62 - db $3d, $62 - db $6d, $62 - db $0d, $72 - db $3d, $72 - db $6d, $72 - db $0d, $82 - db $3d, $82 - db $6d, $82 - db $0d, $92 - db $3d, $92 - db $6d, $92 - -Unknown_11d23e: ; 11d23e - db $10, $48 - db $18, $48 - db $20, $48 - db $28, $48 - db $30, $48 - db $10, $58 - db $18, $58 - db $20, $58 - db $28, $58 - db $30, $58 - db $10, $68 - db $18, $68 - db $20, $68 - db $28, $68 - db $30, $68 - db $10, $78 - db $18, $78 - db $20, $78 - db $28, $78 - db $30, $78 - db $40, $48 - db $48, $48 - db $50, $48 - db $58, $48 - db $60, $48 - db $40, $58 - db $48, $58 - db $50, $58 - db $58, $58 - db $60, $58 - db $40, $68 - db $48, $68 - db $50, $68 - db $58, $68 - db $60, $68 - db $70, $48 - db $80, $48 - db $90, $48 - db $40, $78 - db $48, $78 - db $50, $78 - db $58, $78 - db $60, $78 - db $70, $58 - db $70, $68 - db $0d, $92 - db $3d, $92 - db $6d, $92 - -Unknown_11d29e: ; 11d29e - db $10, $50 - db $40, $50 - db $70, $50 - db $10, $60 - db $40, $60 - db $70, $60 - db $10, $70 - db $40, $70 - db $70, $70 - db $10, $80 - db $40, $80 - db $70, $80 - -Unknown_11d2b6: ; 11d2b6 - db $80, $50 - db $80, $60 - -Unknown_11d2ba: ; 11d2ba - db $20, $50 - db $20, $60 - -Unknown_11d2be: ; 11d2be - db $28, $28 - db $28, $28 - db $28, $28 - db $28, $28 - db $28, $28 - db $28, $28 - db $28, $28 - db $28, $28 - db $28, $28 - db $28, $28 - db $28, $28 - db $28, $28 - db $28, $28 - db $28, $28 - db $28, $28 - db $28, $28 - db $28, $28 - db $28, $28 - db $28, $28 - db $28, $28 - db $28, $28 - db $28, $28 - db $29, $26 - db $26, $26 - -Function11d2ee: ; 11d2ee (47:52ee) +.Coords_Zero: ; 11d208 + dbpixel 1, 3, 5, 2 + dbpixel 7, 3, 5, 2 + dbpixel 13, 3, 5, 2 + dbpixel 1, 5, 5, 2 + dbpixel 7, 5, 5, 2 + dbpixel 13, 5, 5, 2 + dbpixel 1, 17, 5, 2 + dbpixel 7, 17, 5, 2 + dbpixel 13, 17, 5, 2 + +.Coords_One: ; 11d21a + dbpixel 1, 8, 5, 2 + dbpixel 7, 8, 5, 2 + dbpixel 13, 8, 5, 2 + dbpixel 1, 10, 5, 2 + dbpixel 7, 10, 5, 2 + dbpixel 13, 10, 5, 2 + dbpixel 1, 12, 5, 2 + dbpixel 7, 12, 5, 2 + dbpixel 13, 12, 5, 2 + dbpixel 1, 14, 5, 2 + dbpixel 7, 14, 5, 2 + dbpixel 13, 14, 5, 2 + dbpixel 1, 16, 5, 2 + dbpixel 7, 16, 5, 2 + dbpixel 13, 16, 5, 2 + dbpixel 1, 18, 5, 2 + dbpixel 7, 18, 5, 2 + dbpixel 13, 18, 5, 2 + +.Coords_Two: ; 11d23e + dbpixel 2, 9 ; 00 + dbpixel 3, 9 ; 01 + dbpixel 4, 9 ; 02 + dbpixel 5, 9 ; 03 + dbpixel 6, 9 ; 04 + dbpixel 2, 11 ; 05 + dbpixel 3, 11 ; 06 + dbpixel 4, 11 ; 07 + dbpixel 5, 11 ; 08 + dbpixel 6, 11 ; 09 + dbpixel 2, 13 ; 0a + dbpixel 3, 13 ; 0b + dbpixel 4, 13 ; 0c + dbpixel 5, 13 ; 0d + dbpixel 6, 13 ; 0e + dbpixel 2, 15 ; 0f + dbpixel 3, 15 ; 10 + dbpixel 4, 15 ; 11 + dbpixel 5, 15 ; 12 + dbpixel 6, 15 ; 13 + dbpixel 8, 9 ; 14 + dbpixel 9, 9 ; 15 + dbpixel 10, 9 ; 16 + dbpixel 11, 9 ; 17 + dbpixel 12, 9 ; 18 + dbpixel 8, 11 ; 19 + dbpixel 9, 11 ; 1a + dbpixel 10, 11 ; 1b + dbpixel 11, 11 ; 1c + dbpixel 12, 11 ; 1d + dbpixel 8, 13 ; 1e + dbpixel 9, 13 ; 1f + dbpixel 10, 13 ; 20 + dbpixel 11, 13 ; 21 + dbpixel 12, 13 ; 22 + dbpixel 14, 9 ; 23 + dbpixel 16, 9 ; 24 + dbpixel 18, 9 ; 25 + dbpixel 8, 15 ; 26 + dbpixel 9, 15 ; 27 + dbpixel 10, 15 ; 28 + dbpixel 11, 15 ; 29 + dbpixel 12, 15 ; 2a + dbpixel 14, 11 ; 2b + dbpixel 14, 13 ; 2c + dbpixel 1, 18, 5, 2 ; 2d + dbpixel 7, 18, 5, 2 ; 2e + dbpixel 13, 18, 5, 2 ; 2f + +.Coords_Three: ; 11d29e + dbpixel 2, 10 + dbpixel 8, 10 + dbpixel 14, 10 + dbpixel 2, 12 + dbpixel 8, 12 + dbpixel 14, 12 + dbpixel 2, 14 + dbpixel 8, 14 + dbpixel 14, 14 + dbpixel 2, 16 + dbpixel 8, 16 + dbpixel 14, 16 + +.Coords_Four: ; 11d2b6 + dbpixel 16, 10 + dbpixel 16, 12 + +.Coords_Five: ; 11d2ba + dbpixel 4, 10 + dbpixel 4, 12 + +.FramesetsIDs_Two: ; 11d2be + db SPRITE_ANIM_FRAMESET_28 ; 00 + db SPRITE_ANIM_FRAMESET_28 ; 01 + db SPRITE_ANIM_FRAMESET_28 ; 02 + db SPRITE_ANIM_FRAMESET_28 ; 03 + db SPRITE_ANIM_FRAMESET_28 ; 04 + db SPRITE_ANIM_FRAMESET_28 ; 05 + db SPRITE_ANIM_FRAMESET_28 ; 06 + db SPRITE_ANIM_FRAMESET_28 ; 07 + db SPRITE_ANIM_FRAMESET_28 ; 08 + db SPRITE_ANIM_FRAMESET_28 ; 09 + db SPRITE_ANIM_FRAMESET_28 ; 0a + db SPRITE_ANIM_FRAMESET_28 ; 0b + db SPRITE_ANIM_FRAMESET_28 ; 0c + db SPRITE_ANIM_FRAMESET_28 ; 0d + db SPRITE_ANIM_FRAMESET_28 ; 0e + db SPRITE_ANIM_FRAMESET_28 ; 0f + db SPRITE_ANIM_FRAMESET_28 ; 10 + db SPRITE_ANIM_FRAMESET_28 ; 11 + db SPRITE_ANIM_FRAMESET_28 ; 12 + db SPRITE_ANIM_FRAMESET_28 ; 13 + db SPRITE_ANIM_FRAMESET_28 ; 14 + db SPRITE_ANIM_FRAMESET_28 ; 15 + db SPRITE_ANIM_FRAMESET_28 ; 16 + db SPRITE_ANIM_FRAMESET_28 ; 17 + db SPRITE_ANIM_FRAMESET_28 ; 18 + db SPRITE_ANIM_FRAMESET_28 ; 19 + db SPRITE_ANIM_FRAMESET_28 ; 1a + db SPRITE_ANIM_FRAMESET_28 ; 1b + db SPRITE_ANIM_FRAMESET_28 ; 1c + db SPRITE_ANIM_FRAMESET_28 ; 1d + db SPRITE_ANIM_FRAMESET_28 ; 1e + db SPRITE_ANIM_FRAMESET_28 ; 1f + db SPRITE_ANIM_FRAMESET_28 ; 20 + db SPRITE_ANIM_FRAMESET_28 ; 21 + db SPRITE_ANIM_FRAMESET_28 ; 22 + db SPRITE_ANIM_FRAMESET_28 ; 23 + db SPRITE_ANIM_FRAMESET_28 ; 24 + db SPRITE_ANIM_FRAMESET_28 ; 25 + db SPRITE_ANIM_FRAMESET_28 ; 26 + db SPRITE_ANIM_FRAMESET_28 ; 27 + db SPRITE_ANIM_FRAMESET_28 ; 28 + db SPRITE_ANIM_FRAMESET_28 ; 29 + db SPRITE_ANIM_FRAMESET_28 ; 2a + db SPRITE_ANIM_FRAMESET_28 ; 2b + db SPRITE_ANIM_FRAMESET_29 ; 2c + db SPRITE_ANIM_FRAMESET_26 ; 2d + db SPRITE_ANIM_FRAMESET_26 ; 2e + db SPRITE_ANIM_FRAMESET_26 ; 2f + +.UpdateObjectFlags: ; 11d2ee (47:52ee) ld hl, wcd24 and [hl] jr nz, .update_y_offset @@ -2887,7 +2927,6 @@ Function11d323: ; 11d323 pop af ld [rSVBK], a ret - ; 11d33a Palette_11d33a: @@ -2970,10 +3009,9 @@ Palette_11d33a: RGB 00, 00, 00 RGB 00, 00, 00 RGB 00, 00, 00 - ; 11d3ba -Function11d3ba: ; 11d3ba +EZChat_GetSeenPokemonByKana: ; 11d3ba ld a, [rSVBK] push af ld hl, $c648 @@ -2999,23 +3037,25 @@ Function11d3ba: ; 11d3ba ld a, $c64a / $100 ld [wcd34], a - ld hl, Unknown_11f23c - ld a, (Unknown_11f23cEnd - Unknown_11f23c) / 4 + ld hl, EZChat_SortedWords + ld a, (EZChat_SortedWordsEnd - EZChat_SortedWords) / 4 .MasterLoop: ; 11d3ef push af ; read row +; offset ld a, [hli] ld e, a ld a, [hli] ld d, a +; size ld a, [hli] ld c, a ld a, [hli] ld b, a ; save the pointer to the next row push hl -; add de to hl +; add de to w3_d000 ld hl, w3_d000 add hl, de ; recover de from wcd2d (default: w5_d800) @@ -3052,6 +3092,7 @@ Function11d3ba: ; 11d3ba ld a, c or b jr nz, .loop1 + ; recover the pointer from wcd2f (default: SortedPokemon) ld a, [wcd2f] ld l, a @@ -3146,7 +3187,6 @@ Function11d3ba: ; 11d3ba pop af ld [rSVBK], a ret - ; 11d493 .CheckSeenMon: ; 11d493 @@ -3165,55 +3205,79 @@ Function11d3ba: ; 11d3ba pop bc pop hl ret - ; 11d4aa -Function11d4aa: ; 11d4aa +EZChat_GetCategoryWordsByKana: ; 11d4aa ld a, [rSVBK] push af ld a, $3 ld [rSVBK], a - ld hl, MobileFixedWordCategoryPointers - ld bc, Unknown_11f220 + + ; load pointers + ld hl, MobileEZChatCategoryPointers + ld bc, MobileEZChatData_WordAndPageCounts + + ; init WRAM registers xor a ld [wcd2d], a inc a ld [wcd2e], a - ld a, $e + + ; enter the first loop + ld a, 14 .loop1 push af + + ; load the pointer to the category ld a, [hli] ld e, a ld a, [hli] ld d, a push hl + + ; skip to the attributes ld hl, 5 ; length of a string add hl, de - ld a, [bc] + + ; get the number of words in the category + ld a, [bc] ; number of entries to copy inc bc inc bc push bc + .loop2 push af push hl + + ; load offset at [hl] ld a, [hli] ld e, a ld a, [hl] ld d, a + + ; add to w3_d000 ld hl, w3_d000 add hl, de + + ; copy from wcd2d and increment [wcd2d] in place ld a, [wcd2d] ld [hli], a inc a ld [wcd2d], a + + ; copy from wcd2e ld a, [wcd2e] ld [hl], a + + ; next entry pop hl ld de, 8 add hl, de pop af dec a jr nz, .loop2 + + ; reset and go to next category ld hl, wcd2d xor a ld [hli], a @@ -3226,10 +3290,8 @@ Function11d4aa: ; 11d4aa pop af ld [rSVBK], a ret - ; 11d4fe - SortedPokemon: ; Pokemon sorted by kana. ; Notably, Rhydon is missing. @@ -3377,7 +3439,7 @@ LZ_11d6de: INCBIN "gfx/pokedex/slowpoke.2bpp.lz" ; 11da52 -MobileFixedWordCategoryNames: ; 11da52 +MobileEZChatCategoryNames: ; 11da52 ; Fixed message categories db "ポケモン@@" ; 00 db "タイプ@@@" ; 01 @@ -3396,7 +3458,7 @@ MobileFixedWordCategoryNames: ; 11da52 db "あれこれ@@" ; 0e ; 11daac -MobileFixedWordCategoryPointers: ; 11daac +MobileEZChatCategoryPointers: ; 11daac dw .Types ; 01 dw .Greetings ; 02 dw .People ; 03 @@ -4188,72 +4250,87 @@ MobileFixedWordCategoryPointers: ; 11daac db "なんの@@", $2, $4, $0 ; 11f220 -Unknown_11f220: - db $12, $01 ; 01 - db $24, $02 ; 02 - db $45, $05 ; 03 - db $45, $05 ; 04 - db $42, $05 ; 05 - db $42, $05 ; 06 - db $45, $05 ; 07 - db $42, $05 ; 08 - db $27, $03 ; 09 - db $27, $03 ; 0a - db $45, $05 ; 0b - db $27, $03 ; 0c - db $42, $05 ; 0d - db $24, $02 ; 0e - -Unknown_11f23c: +MobileEZChatData_WordAndPageCounts: +macro_11f220: macro +; parameter: number of words + db \1 +; 12 words per page (0-based indexing) +x = \1 / 12 +if \1 % 12 == 0 +x = x +- 1 +endc + db x +endm + macro_11f220 18 ; 01: Types + macro_11f220 36 ; 02: Greetings + macro_11f220 69 ; 03: People + macro_11f220 69 ; 04: Battle + macro_11f220 66 ; 05: Exclamations + macro_11f220 66 ; 06: Conversation + macro_11f220 69 ; 07: Feelings + macro_11f220 66 ; 08: Conditions + macro_11f220 39 ; 09: Life + macro_11f220 39 ; 0a: Hobbies + macro_11f220 69 ; 0b: Actions + macro_11f220 39 ; 0c: Time + macro_11f220 66 ; 0d: Farewells + macro_11f220 36 ; 0e: ThisAndThat + +EZChat_SortedWords: +; Addresses in WRAM bank 3 where EZChat words beginning +; with the given kana are sorted in memory, and the pre- +; allocated size for each. +; These arrays are expanded dynamically to accomodate +; any Pokemon you've seen that starts with each kana.\ macro_11f23c: macro dw x - w3_d000, \1 x = x + 2 * \1 endm x = $d012 - macro_11f23c $2f - macro_11f23c $1e - macro_11f23c $11 - macro_11f23c $09 - macro_11f23c $2e - macro_11f23c $24 - macro_11f23c $1b - macro_11f23c $09 - macro_11f23c $07 - macro_11f23c $1c - macro_11f23c $12 - macro_11f23c $2b - macro_11f23c $10 - macro_11f23c $08 - macro_11f23c $0c - macro_11f23c $2c - macro_11f23c $09 - macro_11f23c $12 - macro_11f23c $1b - macro_11f23c $1a - macro_11f23c $1c - macro_11f23c $05 - macro_11f23c $02 - macro_11f23c $05 - macro_11f23c $07 - macro_11f23c $16 - macro_11f23c $0e - macro_11f23c $0c - macro_11f23c $05 - macro_11f23c $16 - macro_11f23c $19 - macro_11f23c $0e - macro_11f23c $08 - macro_11f23c $07 - macro_11f23c $09 - macro_11f23c $0d - macro_11f23c $04 - macro_11f23c $14 - macro_11f23c $0b - macro_11f23c $01 - macro_11f23c $02 - macro_11f23c $02 - macro_11f23c $02 - macro_11f23c $15 + macro_11f23c $2f ; a + macro_11f23c $1e ; i + macro_11f23c $11 ; u + macro_11f23c $09 ; e + macro_11f23c $2e ; o + macro_11f23c $24 ; ka_ga + macro_11f23c $1b ; ki_gi + macro_11f23c $09 ; ku_gu + macro_11f23c $07 ; ke_ge + macro_11f23c $1c ; ko_go + macro_11f23c $12 ; sa_za + macro_11f23c $2b ; shi_ji + macro_11f23c $10 ; su_zu + macro_11f23c $08 ; se_ze + macro_11f23c $0c ; so_zo + macro_11f23c $2c ; ta_da + macro_11f23c $09 ; chi_dhi + macro_11f23c $12 ; tsu_du + macro_11f23c $1b ; te_de + macro_11f23c $1a ; to_do + macro_11f23c $1c ; na + macro_11f23c $05 ; ni + macro_11f23c $02 ; nu + macro_11f23c $05 ; ne + macro_11f23c $07 ; no + macro_11f23c $16 ; ha_ba_pa + macro_11f23c $0e ; hi_bi_pi + macro_11f23c $0c ; fu_bu_pu + macro_11f23c $05 ; he_be_pe + macro_11f23c $16 ; ho_bo_po + macro_11f23c $19 ; ma + macro_11f23c $0e ; mi + macro_11f23c $08 ; mu + macro_11f23c $07 ; me + macro_11f23c $09 ; mo + macro_11f23c $0d ; ya + macro_11f23c $04 ; yu + macro_11f23c $14 ; yo + macro_11f23c $0b ; ra + macro_11f23c $01 ; ri + macro_11f23c $02 ; ru + macro_11f23c $02 ; re + macro_11f23c $02 ; ro + macro_11f23c $15 ; wa x = $d000 - macro_11f23c $09 -Unknown_11f23cEnd: + macro_11f23c $09 ; end +EZChat_SortedWordsEnd: diff --git a/misc/gfx_41.asm b/misc/gfx_41.asm index dc5110e2e..e3a1a0375 100755 --- a/misc/gfx_41.asm +++ b/misc/gfx_41.asm @@ -1,52 +1,52 @@ -Function104000:: ; 104000 +HDMATransferAttrMapAndTileMapToWRAMBank3:: ; 104000 ld hl, .Function jp CallInSafeGFXMode .Function: decoord 0, 0, AttrMap - ld hl, wBackupAttrMap + ld hl, wScratchAttrMap call CutAndPasteAttrMap decoord 0, 0 - ld hl, wDecompressScratch + ld hl, wScratchTileMap call CutAndPasteTilemap ld a, $0 ld [rVBK], a - ld hl, wDecompressScratch - call Function10419d + ld hl, wScratchTileMap + call HDMATransferToWRAMBank3 ld a, $1 ld [rVBK], a - ld hl, wBackupAttrMap - call Function10419d + ld hl, wScratchAttrMap + call HDMATransferToWRAMBank3 ret ; 10402d -Function10402d:: ; 10402d +HDMATransferTileMapToWRAMBank3:: ; 10402d ld hl, .Function jp CallInSafeGFXMode .Function: decoord 0, 0 - ld hl, wDecompressScratch + ld hl, wScratchTileMap call CutAndPasteTilemap ld a, $0 ld [rVBK], a - ld hl, wDecompressScratch - call Function10419d + ld hl, wScratchTileMap + call HDMATransferToWRAMBank3 ret ; 104047 -Function104047: ; 104047 +HDMATransferAttrMapToWRAMBank3: ; 104047 ld hl, .Function jp CallInSafeGFXMode .Function: decoord 0, 0, AttrMap - ld hl, wBackupAttrMap + ld hl, wScratchAttrMap call CutAndPasteAttrMap ld a, $1 ld [rVBK], a - ld hl, wBackupAttrMap - call Function10419d + ld hl, wScratchAttrMap + call HDMATransferToWRAMBank3 ret ; 104061 @@ -56,63 +56,67 @@ ReloadMapPart:: ; 104061 .Function: decoord 0, 0, AttrMap - ld hl, wBackupAttrMap + ld hl, wScratchAttrMap call CutAndPasteAttrMap decoord 0, 0 - ld hl, wDecompressScratch + ld hl, wScratchTileMap call CutAndPasteTilemap call DelayFrame + di ld a, [rVBK] push af ld a, $1 ld [rVBK], a - ld hl, wBackupAttrMap - call Function1041ad + ld hl, wScratchAttrMap + call HDMATransfer_Wait127Scanlines_toBGMap ld a, $0 ld [rVBK], a - ld hl, wDecompressScratch - call Function1041ad + ld hl, wScratchTileMap + call HDMATransfer_Wait127Scanlines_toBGMap pop af ld [rVBK], a ei + ret -Function104099: ; 104099 +Mobile_ReloadMapPart: ; 104099 ld hl, ReloadMapPart ; useless ld hl, .Function jp CallInSafeGFXMode .Function: decoord 0, 0, AttrMap - ld hl, wBackupAttrMap + ld hl, wScratchAttrMap call CutAndPasteAttrMap decoord 0, 0 - ld hl, wDecompressScratch + ld hl, wScratchTileMap call CutAndPasteTilemap call DelayFrame + di ld a, [rVBK] push af ld a, $1 ld [rVBK], a - ld hl, wBackupAttrMap - call Function1041c1 + ld hl, wScratchAttrMap + call HDMATransfer_NoDI ld a, $0 ld [rVBK], a - ld hl, wDecompressScratch - call Function1041c1 + ld hl, wScratchTileMap + call HDMATransfer_NoDI pop af ld [rVBK], a ei + ret ; 1040d4 -Function1040d4: ; 1040d4 - ld hl, .Function +; XXX + ld hl, .unreferenced_1040da jp CallInSafeGFXMode -.Function: +.unreferenced_1040da ld a, $1 ld [rVBK], a ld a, $3 @@ -132,31 +136,34 @@ Function1040d4: ; 1040d4 ret ; 1040fb -Function1040fb: ; 1040fb - ld hl, .Function +; XXX + ld hl, .unreferenced_104101 jp CallInSafeGFXMode -.Function: +.unreferenced_104101 ld a, $1 ld [rVBK], a ld a, $3 ld [rSVBK], a ld hl, w3_d800 - call Function10419d + call HDMATransferToWRAMBank3 ret ; 104110 -Function104110:: ; 104110 +OpenAndCloseMenu_HDMATransferTileMapAndAttrMap:: ; 104110 ; OpenText ld hl, .Function jp CallInSafeGFXMode .Function: + ; Transfer AttrMap and Tilemap to BGMap + ; Fill vBGAttrs with $00 + ; Fill vBGTiles with " " decoord 0, 0, AttrMap - ld hl, wBackupAttrMap + ld hl, wScratchAttrMap call CutAndPasteAttrMap decoord 0, 0 - ld hl, wDecompressScratch + ld hl, wScratchTileMap call CutAndPasteTilemap call DelayFrame @@ -165,38 +172,42 @@ Function104110:: ; 104110 push af ld a, $1 ld [rVBK], a - ld hl, wBackupAttrMap - call Function1041b7 + ld hl, wScratchAttrMap + call HDMATransfer_Wait123Scanlines_toBGMap ld a, $0 ld [rVBK], a - ld hl, wDecompressScratch - call Function1041b7 + ld hl, wScratchTileMap + call HDMATransfer_Wait123Scanlines_toBGMap pop af ld [rVBK], a ei ret ; 104148 -Function104148: ; 104148 (41:4148) +Mobile_OpenAndCloseMenu_HDMATransferTileMapAndAttrMap: ; 104148 (41:4148) ld hl, .Function jp CallInSafeGFXMode .Function: + ; Transfer AttrMap and Tilemap to BGMap + ; Fill vBGAttrs with $00 + ; Fill vBGTiles with $ff decoord 0, 0, AttrMap - ld hl, wBackupAttrMap + ld hl, wScratchAttrMap call CutAndPasteAttrMap ld c, $ff decoord 0, 0 - ld hl, wDecompressScratch + ld hl, wScratchTileMap call CutAndPasteMap + ld a, $1 ld [rVBK], a - ld hl, wBackupAttrMap - call Function1041ad + ld hl, wScratchAttrMap + call HDMATransfer_Wait127Scanlines_toBGMap ld a, $0 ld [rVBK], a - ld hl, wDecompressScratch - call Function1041ad + ld hl, wScratchTileMap + call HDMATransfer_Wait127Scanlines_toBGMap ret ; 104177 @@ -233,8 +244,8 @@ CallInSafeGFXMode: ; 104177 ; 10419d -Function10419d: ; 10419d (41:419d) - call Function10424e +HDMATransferToWRAMBank3: ; 10419d (41:419d) + call _LoadHDMAParameters ld a, $23 ld [hDMATransfer], a @@ -246,60 +257,76 @@ WaitDMATransfer: ; 104a14 jr nz, .loop ret -Function1041ad: ; 1041ad (41:41ad) +HDMATransfer_Wait127Scanlines_toBGMap: ; 1041ad (41:41ad) +; HDMA transfer from hl to [hBGMapAddress] +; hBGMapAddress -> de +; 2 * SCREEN_HEIGHT -> c ld a, [hBGMapAddress + 1] ld d, a ld a, [hBGMapAddress] ld e, a - ld c, $24 - jr Function104209 + ld c, 2 * SCREEN_HEIGHT + jr HDMATransfer_Wait127Scanlines -Function1041b7: ; 1041b7 (41:41b7) +HDMATransfer_Wait123Scanlines_toBGMap: ; 1041b7 (41:41b7) +; HDMA transfer from hl to [hBGMapAddress] ; hBGMapAddress -> de -; $24 -> c +; 2 * SCREEN_HEIGHT -> c ; $7b --> b ld a, [hBGMapAddress + 1] ld d, a ld a, [hBGMapAddress] ld e, a - ld c, $24 - jr asm_104205 + ld c, 2 * SCREEN_HEIGHT + jr HDMATransfer_Wait123Scanlines ; 1041c1 (41:41c1) -Function1041c1: ; 1041c1 +HDMATransfer_NoDI: ; 1041c1 +; HDMA transfer from hl to [hBGMapAddress] +; [hBGMapAddress] --> de +; 2 * SCREEN_HEIGHT --> c ld a, [hBGMapAddress + 1] ld d, a ld a, [hBGMapAddress] ld e, a - ld c, $24 + ld c, 2 * SCREEN_HEIGHT + + ; [rHDMA1, rHDMA2] = hl & $fff0 ld a, h ld [rHDMA1], a ld a, l and $f0 ld [rHDMA2], a + ; [rHDMA3, rHDMA4] = de & $1ff0 ld a, d and $1f ld [rHDMA3], a ld a, e and $f0 ld [rHDMA4], a + ; b = c | %10000000 ld a, c dec c or $80 ld b, a + ; d = $7f - c + 1 ld a, $7f sub c ld d, a + ; while [rLY] >= d: pass .loop1 ld a, [rLY] cp d jr nc, .loop1 + ; while not [rSTAT] & 3: pass .loop2 ld a, [rSTAT] and $3 jr z, .loop2 + ; load the 5th byte of HDMA ld a, b ld [rHDMA5], a + ; wait until rLY advances (c + 1) times ld a, [rLY] inc c ld hl, rLY @@ -314,49 +341,58 @@ Function1041c1: ; 1041c1 ret ; 104205 -asm_104205: +HDMATransfer_Wait123Scanlines: ld b, $7b - jr asm_10420b + jr _continue_HDMATransfer -Function104209: -; LY magic +HDMATransfer_Wait127Scanlines: ld b, $7f -asm_10420b: +_continue_HDMATransfer: +; a lot of waiting around for hardware registers + ; [rHDMA1, rHDMA2] = hl & $fff0 ld a, h ld [rHDMA1], a ld a, l and $f0 ; high nybble ld [rHDMA2], a + ; [rHDMA3, rHDMA4] = de & $1ff0 ld a, d and $1f ; lower 5 bits ld [rHDMA3], a ld a, e and $f0 ; high nybble ld [rHDMA4], a + ; e = c | %10000000 ld a, c dec c - or $80 ; set 7, a + or $80 ld e, a + ; d = b - c + 1 ld a, b sub c ld d, a + ; while [rLY] >= d: pass .ly_loop ld a, [rLY] cp d jr nc, .ly_loop di + ; while [rSTAT] & 3: pass .rstat_loop_1 ld a, [rSTAT] and $3 jr nz, .rstat_loop_1 + ; while not [rSTAT] & 3: pass .rstat_loop_2 ld a, [rSTAT] and $3 jr z, .rstat_loop_2 + ; load the 5th byte of HDMA ld a, e ld [rHDMA5], a + ; wait until rLY advances (c + 1) times ld a, [rLY] inc c ld hl, rLY @@ -374,7 +410,7 @@ asm_10420b: ; 10424e -Function10424e: ; 10424e (41:424e) +_LoadHDMAParameters: ; 10424e (41:424e) ld a, h ld [rHDMA1], a ld a, l @@ -415,7 +451,7 @@ CutAndPasteMap: ; 104265 (41:4265) ; load the original value of c into hl 12 times ld a, [hMapObjectIndexBuffer] - ld b, 12 + ld b, BG_MAP_WIDTH - SCREEN_WIDTH .loop3 ld [hli], a dec b @@ -441,18 +477,20 @@ _Get2bpp:: ; 104284 push bc push hl - ; Copy c tiles of the 2bpp from b:de to wDecompressScratch + ; Copy c tiles of the 2bpp from b:de to wScratchTileMap ld a, b ; bank ld l, c ; number of tiles ld h, $0 -rept 4 - add hl, hl ; multiply by 16 (16 bytes of a 2bpp = 8 x 8 tile) -endr + ; multiply by 16 (16 bytes of a 2bpp = 8 x 8 tile) + add hl, hl + add hl, hl + add hl, hl + add hl, hl ld b, h ld c, l ld h, d ; address ld l, e - ld de, wDecompressScratch + ld de, wScratchTileMap call FarCopyBytes pop hl @@ -464,8 +502,8 @@ endr ld d, h ld e, l - ld hl, wDecompressScratch - call Function104209 + ld hl, wScratchTileMap + call HDMATransfer_Wait127Scanlines ; restore the previous bank pop af @@ -512,14 +550,14 @@ _Get1bpp:: ; 1042b2 ld a, b ld l, c ld h, $0 -rept 3 add hl, hl ; multiply by 8 -endr + add hl, hl ; multiply by 8 + add hl, hl ; multiply by 8 ld c, l ld b, h ld h, d ld l, e - ld de, wDecompressScratch + ld de, wScratchTileMap call FarCopyBytesDouble_DoubleBankSwitch pop hl @@ -531,41 +569,41 @@ endr ld d, h ld e, l - ld hl, wDecompressScratch - call Function104209 + ld hl, wScratchTileMap + call HDMATransfer_Wait127Scanlines pop af ld [rSVBK], a ret ; 104303 -Function104303: ; 104303 - ld hl, Function104309 +HDMATransfer_OnlyTopFourRows: ; 104303 + ld hl, .Function jp CallInSafeGFXMode ; 104309 -Function104309: - ld hl, wDecompressScratch +.Function: + ld hl, wScratchTileMap decoord 0, 0 - call Function10433a - ld hl, wDecompressScratch + $80 + call .Copy + ld hl, wScratchTileMap + $80 decoord 0, 0, AttrMap - call Function10433a + call .Copy ld a, $1 ld [rVBK], a ld c, $8 - ld hl, wDecompressScratch + $80 + ld hl, wScratchTileMap + $80 debgcoord 0, 0, VBGMap1 - call Function104209 + call HDMATransfer_Wait127Scanlines ld a, $0 ld [rVBK], a ld c, $8 - ld hl, wDecompressScratch + ld hl, wScratchTileMap debgcoord 0, 0, VBGMap1 - call Function104209 + call HDMATransfer_Wait127Scanlines ret -Function10433a: ; 10433a (41:433a) +.Copy: ; 10433a (41:433a) ld b, 4 .outer_loop ld c, SCREEN_WIDTH @@ -576,7 +614,7 @@ Function10433a: ; 10433a (41:433a) dec c jr nz, .inner_loop ld a, l - add $20 - SCREEN_WIDTH + add BG_MAP_WIDTH - SCREEN_WIDTH ld l, a ld a, h adc $0 diff --git a/misc/mobile_12.asm b/misc/mobile_12.asm index dd0f63135..69a5551a7 100755 --- a/misc/mobile_12.asm +++ b/misc/mobile_12.asm @@ -11,14 +11,14 @@ InitMobileProfile: ; 4802f (12:402f) call Function48d3d ld a, [wd479] bit 1, a - jr z, .asm_4805a + jr z, .not_yet_initialized ld a, [wd003] set 0, a set 1, a set 2, a set 3, a ld [wd003], a -.asm_4805a +.not_yet_initialized call Function486bf call LoadFontsExtra ld de, GFX_488c3 @@ -125,22 +125,22 @@ Function48157: ; 48157 (12:4157) ld hl, wMenuCursorY ld b, [hl] push bc - asm_4815f: ; 4815f (12:415f) - bit 0, a + bit A_BUTTON_F, a jp nz, Function4820d ld b, a ld a, [wd002] bit 6, a - jr z, .asm_48177 + jr z, .dont_check_b_button ld hl, wd479 bit 1, [hl] - jr z, .asm_48177 - bit 1, b - jr nz, .asm_4817a -.asm_48177 + jr z, .dont_check_b_button + bit B_BUTTON_F, b + jr nz, .b_button +.dont_check_b_button jp Function48272 -.asm_4817a + +.b_button call ClearBGPalettes call Function48d30 pop bc @@ -258,7 +258,7 @@ Function4820d: ; 4820d (12:420d) call Function48d30 pop bc call ClearTileMap - ld b, SCGB_08 + ld b, SCGB_DIPLOMA call GetSGBLayout ld hl, wd479 set 1, [hl] @@ -359,7 +359,7 @@ Function48304: ; 48304 (12:4304) ld a, $29 .asm_4833f ld [wMenuScrollPosition], a - callba Function104148 + callba Mobile_OpenAndCloseMenu_HDMATransferTileMapAndAttrMap .asm_48348 call ScrollingMenu ld de, $629 @@ -385,7 +385,7 @@ Function48304: ; 48304 (12:4304) ld [wd003], a .asm_48377 call Function48187 - callba Function104148 + callba Mobile_OpenAndCloseMenu_HDMATransferTileMapAndAttrMap jp Function4840c Function48383: ; 48383 (12:4383) @@ -497,13 +497,14 @@ Function4840c: ; 4840c (12:440c) ld [hl], b ld a, [wd002] bit 6, a - jr nz, .asm_48437 + jr nz, .narrower_box ld b, 9 ld c, 1 hlcoord 1, 4 call ClearBox jp Function48157 -.asm_48437 + +.narrower_box ld b, 7 ld c, 1 hlcoord 1, 6 @@ -667,13 +668,13 @@ Function48689: ; 48689 (12:4689) call GetMysteryGift_MobileAdapterLayout call ClearBGPalettes hlcoord 0, 0 - ld b, $4 - ld c, $14 + ld b, 4 + ld c, SCREEN_WIDTH call ClearBox hlcoord 0, 2 ld a, $c ld [hl], a - ld bc, $13 + ld bc, SCREEN_WIDTH - 1 add hl, bc ld [hl], a ld de, MobileProfileString @@ -689,121 +690,139 @@ Function486bf: ; 486bf (12:46bf) ld hl, w2DMenuCursorInitY ld a, [wd002] bit 6, a - jr nz, .asm_486ce - ld a, $4 - ld [hli], a - jr .asm_486d1 -.asm_486ce - ld a, $6 + jr nz, .start_at_6 + ld a, 4 ld [hli], a -.asm_486d1 - ld a, $1 + jr .got_init_y + +.start_at_6 + ld a, 6 ld [hli], a +.got_init_y + ld a, 1 + ld [hli], a ; init x ld a, [wd002] bit 6, a - jr nz, .asm_486e7 + jr nz, .check_wd479 call Function48725 - ld a, $4 - jr nc, .asm_486e4 - ld a, $5 -.asm_486e4 + ld a, 4 + jr nc, .got_num_rows_1 + ld a, 5 +.got_num_rows_1 ld [hli], a - jr .asm_486fb -.asm_486e7 + jr .got_num_rows_2 + +.check_wd479 ld a, [wd479] bit 1, a - jr nz, .asm_486f8 + jr nz, .four_rows call Function48725 - jr c, .asm_486f8 - ld a, $3 - ld [hli], a - jr .asm_486fb -.asm_486f8 - ld a, $4 + jr c, .four_rows + ld a, 3 ld [hli], a -.asm_486fb - ld a, $1 + jr .got_num_rows_2 + +.four_rows + ld a, 4 ld [hli], a - ld [hl], $0 +.got_num_rows_2 + ld a, 1 + ld [hli], a ; num cols + ld [hl], $0 ; flags 1 set 5, [hl] inc hl xor a - ld [hli], a + ld [hli], a ; flags 2 ld a, $20 - ld [hli], a - ld a, $1 - add $40 - add $80 + ld [hli], a ; cursor offsets + ld a, A_BUTTON + add D_UP + add D_DOWN push af ld a, [wd002] bit 6, a - jr z, .asm_4871a + jr z, .got_joypad_mask pop af - add $2 + add B_BUTTON push af -.asm_4871a +.got_joypad_mask pop af ld [hli], a ld a, $1 - ld [hli], a - ld [hli], a + ld [hli], a ; cursor y + ld [hli], a ; cursor x xor a -rept 3 - ld [hli], a -endr + ld [hli], a ; off char + ld [hli], a ; cursor tile + ld [hli], a ; cursor tile + 1 ret Function48725: ; 48725 (12:4725) +; ld a, [wd003] +; and $f +; cp $f +; jr nz, .clear_carry +; scf +; ret +; .clear_carry +; and a +; ret + ld a, [wd003] bit 0, a - jr z, .asm_4873a + jr z, .clear_carry bit 1, a - jr z, .asm_4873a + jr z, .clear_carry bit 2, a - jr z, .asm_4873a + jr z, .clear_carry bit 3, a - jr z, .asm_4873a + jr z, .clear_carry scf ret -.asm_4873a + +.clear_carry and a ret Function4873c: ; 4873c (12:473c) ld hl, w2DMenuCursorInitY - ld a, $4 - ld [hli], a - ld a, $c - ld [hli], a - ld a, $2 - ld [hli], a - ld a, $1 + ld a, 4 ld [hli], a - ld [hl], $0 + ld a, 12 + ld [hli], a ; init x + ld a, 2 + ld [hli], a ; num rows + ld a, 1 + ld [hli], a ; num cols + ld [hl], $0 ; flags 1 set 5, [hl] inc hl xor a - ld [hli], a - ld a, $20 - ld [hli], a - ld a, $1 - add $2 - ld [hli], a + ld [hli], a ; flags 2 + ln a, 2, 0 + ld [hli], a ; cursor offsets + ld a, A_BUTTON + add B_BUTTON + ld [hli], a ; joypad filter + ; ld a, [PlayerGender] + ; xor 1 + ; inc a ld a, [PlayerGender] and a - jr z, .asm_48764 - ld a, $2 - jr .asm_48766 -.asm_48764 + jr z, .male + ld a, 2 + jr .okay_gender + +.male + ld a, 1 +.okay_gender + ld [hli], a ; cursor y ld a, $1 -.asm_48766 - ld [hli], a - ld a, $1 - ld [hli], a + ld [hli], a ; cursor x xor a -rept 3 - ld [hli], a -endr + ld [hli], a ; off char + ld [hli], a ; cursor tile + ld [hli], a ; cursor tile + 1 ret Function4876f: ; 4876f (12:476f) diff --git a/misc/mobile_12_2.asm b/misc/mobile_12_2.asm index 05e92cd55..2bdd6ddc3 100755 --- a/misc/mobile_12_2.asm +++ b/misc/mobile_12_2.asm @@ -53,9 +53,9 @@ MobileCheckOwnMonAnywhere: ; 4a843 jr z, .asm_4a8d1 ld hl, .BoxAddrs ld b, 0 -rept 3 add hl, bc -endr + add hl, bc + add hl, bc ld a, [hli] call GetSRAMBank ld a, [hli] @@ -616,9 +616,8 @@ Function4abc3: ; 4abc3 ld a, [wMenuCursorY] ld [wMenuCursorY], a ld a, [PartyCount] -rept 2 inc a -endr + inc a ld b, a ld a, [wMenuCursorY] cp b diff --git a/misc/mobile_22.asm b/misc/mobile_22.asm index c9a844b42..17b526586 100644 --- a/misc/mobile_22.asm +++ b/misc/mobile_22.asm @@ -45,7 +45,9 @@ Function8917a: ; 8917a (22:517a) ret Function89185: ; 89185 (22:5185) -; Compares c bytes starting at de and hl and incrementing together until a match is found. +; strcmp(hl, de, c) +; Compares c bytes starting at de and hl and incrementing together until a mismatch is found. +; Preserves hl and de. push de push hl .loop @@ -62,7 +64,9 @@ Function89185: ; 89185 (22:5185) ret Function89193: ; 89193 +; copy(hl, de, 4) ; Copies c bytes from hl to de. +; Preserves hl and de. push de push hl .loop @@ -92,14 +96,14 @@ Function8919e: ; 8919e (22:519e) ret Function891ab: ; 891ab - call Function89240 + call Mobile22_SetBGMapMode1 callba ReloadMapPart - call Function8923c + call Mobile22_SetBGMapMode0 ret ; 891b8 Function891b8: ; 891b8 - call Function8923c + call Mobile22_SetBGMapMode0 hlcoord 0, 0 ld a, " " ld bc, SCREEN_WIDTH * SCREEN_HEIGHT @@ -125,7 +129,7 @@ Function891d3: ; 891d3 (22:51d3) ret Function891de: ; 891de - call Function8923c + call Mobile22_SetBGMapMode0 call ClearPalettes hlcoord 0, 0, AttrMap ld a, $7 @@ -193,18 +197,18 @@ Function8921f: ; 8921f (22:521f) pop de ret -Function89235: ; 89235 (22:5235) +Mobile22_ButtonSound: ; 89235 (22:5235) call JoyWaitAorB call PlayClickSFX ret -Function8923c: ; 8923c +Mobile22_SetBGMapMode0: ; 8923c xor a ld [hBGMapMode], a ret ; 89240 -Function89240: ; 89240 +Mobile22_SetBGMapMode1: ; 89240 ld a, $1 ld [hBGMapMode], a ret @@ -249,7 +253,7 @@ Function89261: ; 89261 pop af ld [wMenuCursorBuffer], a call PushWindow - call Function8923c + call Mobile22_SetBGMapMode0 call Function89209 call VerticalMenu push af @@ -355,10 +359,10 @@ Function89305: ; 89305 (22:5305) Function8931b: ; 8931b push hl - ld hl, $a03b + ld hl, $a03b ; 4:a03b ld a, [MenuSelection] dec a - ld bc, $0025 + ld bc, 37 call AddNTimes ld b, h ld c, l @@ -371,7 +375,9 @@ Function8932d: ; 8932d 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. +; 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 @@ -669,9 +675,8 @@ Function894dc: ; 894dc ld c, d ld b, 0 ld hl, .PalettePointers -rept 2 add hl, bc -endr + add hl, bc ld a, [hli] ld h, [hl] ld l, a @@ -770,7 +775,7 @@ Function8956f: ; 8956f add hl, bc ld b, h ld c, l - callba Function4e929 + callba GetMobileOTTrainerClass ld a, c ld [TrainerClass], a ld a, [rSVBK] @@ -787,9 +792,8 @@ Function8956f: ; 8956f ld a, [TrainerClass] ld h, 0 ld l, a -rept 2 add hl, hl -endr + add hl, hl ld de, TrainerPalettes add hl, de ld a, [rSVBK] @@ -1043,9 +1047,8 @@ Function896eb: ; 896eb Function896f5: ; 896f5 call Function8971f call Function89736 -rept 2 inc hl -endr + inc hl ld b, 2 ClearScreenArea: ; 0x896ff @@ -1071,9 +1074,8 @@ ClearScreenArea: ; 0x896ff jr nz, .loop dec hl -rept 2 inc c -endr + inc c .asm_89713 ld a, $36 ld [hli], a @@ -1107,9 +1109,8 @@ Function8971f: ; 8971f Function89736: ; 89736 push hl -rept 2 inc hl -endr + inc hl ld e, c ld d, $0 add hl, de @@ -1145,9 +1146,8 @@ Function8975b: ; 8975b ld [hli], a ld a, $d ld [hl], a -rept 2 dec hl -endr + dec hl ld a, $4 ld e, $3 .asm_89769 @@ -1220,7 +1220,7 @@ Function897af: ; 897af add hl, bc ld b, h ld c, l - callba Function4e929 + callba GetMobileOTTrainerClass ld a, c ld [TrainerClass], a xor a @@ -1655,44 +1655,44 @@ String_89a53: ; 89a53 ; 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 + call JoyTextDelay_ForcehJoyDown ; joypad + bit D_UP_F, c + jr nz, .d_up + bit D_DOWN_F, c + jr nz, .d_down + bit A_BUTTON_F, c + jr nz, .a_b_button + bit B_BUTTON_F, c + jr nz, .a_b_button + bit START_F, c + jr nz, .start_button scf ret -.asm_89a70 +.a_b_button ld a, $1 and a ret -.asm_89a74 +.start_button ld a, $2 and a ret -.asm_89a78 - call Function89a9b - call nc, Function89a8a +.d_up + call .MoveCursorUp + call nc, .PlayPocketSwitchSFX ld a, $0 ret -.asm_89a81 - call Function89a93 - call nc, Function89a8a +.d_down + call .MoveCursorDown + call nc, .PlayPocketSwitchSFX ld a, $0 ret ; 89a8a -Function89a8a: ; 89a8a +.PlayPocketSwitchSFX: ; 89a8a push af ld de, SFX_SWITCH_POCKETS call PlaySFX @@ -1700,42 +1700,42 @@ Function89a8a: ; 89a8a ret ; 89a93 -Function89a93: ; 89a93 - ld d, $28 - ld e, $1 - call Function89aa3 +.MoveCursorDown: ; 89a93 + ld d, 40 + ld e, 1 + call .ApplyCursorMovement ret ; 89a9b -Function89a9b: ; 89a9b - ld d, $1 - ld e, $ff - call Function89aa3 +.MoveCursorUp: ; 89a9b + ld d, 1 + ld e, -1 + call .ApplyCursorMovement ret ; 89aa3 -Function89aa3: ; 89aa3 +.ApplyCursorMovement: ; 89aa3 ld a, [MenuSelection] ld c, a push bc -.asm_89aa8 +.loop ld a, [MenuSelection] cp d - jr z, .asm_89ac0 + jr z, .equal_to_d add e - jr nz, .asm_89ab2 + jr nz, .not_zero inc a -.asm_89ab2 +.not_zero ld [MenuSelection], a - call Function89ac7 - jr nc, .asm_89aa8 - call Function89ae6 + call .Function89ac7 ; BCD conversion of data in SRAM? + jr nc, .loop + call .Function89ae6 ; split [MenuSelection] into [wd030] + [wd031] where [wd030] <= 5 pop bc and a ret -.asm_89ac0 +.equal_to_d pop bc ld a, c ld [MenuSelection], a @@ -1743,48 +1743,48 @@ Function89aa3: ; 89aa3 ret ; 89ac7 -Function89ac7: ; 89ac7 +.Function89ac7: ; 89ac7 call OpenSRAMBank4 call Function8931b - call Function89ad4 + call .Function89ad4 call CloseSRAM ret ; 89ad4 -Function89ad4: ; 89ad4 +.Function89ad4: ; 89ad4 push de - call Function8932d - jr c, .asm_89ae3 - ld hl, $0011 + call Function8932d ; find a non-space character within 5 bytes of bc + jr c, .no_nonspace_character + ld hl, 17 add hl, bc call Function89b45 - jr c, .asm_89ae4 + jr c, .finish_decode -.asm_89ae3 +.no_nonspace_character and a -.asm_89ae4 +.finish_decode pop de ret ; 89ae6 -Function89ae6: ; 89ae6 +.Function89ae6: ; 89ae6 ld hl, wd031 xor a ld [hl], a ld a, [MenuSelection] -.asm_89aee - cp $6 - jr c, .asm_89afc - sub $5 +.loop2 + cp 6 + jr c, .load_and_ret + sub 5 ld c, a ld a, [hl] - add $5 + add 5 ld [hl], a ld a, c - jr .asm_89aee + jr .loop2 -.asm_89afc +.load_and_ret ld [wd030], a ret ; 89b00 @@ -1796,7 +1796,7 @@ Function89b00: ; 89b00 (22:5b00) ; 89b07 (22:5b07) Function89b07: ; 89b07 - call Function8923c + call Mobile22_SetBGMapMode0 call DelayFrame callba Function4a3a7 ret @@ -1824,53 +1824,55 @@ Function89b28: ; 89b28 (22:5b28) ret Function89b3b: ; 89b3b (22:5b3b) - call Function8923c + call Mobile22_SetBGMapMode0 callba Function48cda ret Function89b45: ; 89b45 + ; some sort of decoder? + ; BCD? push hl push bc ld c, $10 ld e, $0 -.asm_89b4b +.loop ld a, [hli] ld b, a and $f - cp $a - jr c, .asm_89b5a + cp 10 + jr c, .low_nybble_less_than_10 ld a, c cp $b - jr nc, .asm_89b74 - jr .asm_89b71 + jr nc, .clear_carry + jr .set_carry -.asm_89b5a +.low_nybble_less_than_10 dec c swap b inc e ld a, b and $f - cp $a - jr c, .asm_89b6c + cp 10 + jr c, .high_nybble_less_than_10 ld a, c cp $b - jr nc, .asm_89b74 - jr .asm_89b71 + jr nc, .clear_carry + jr .set_carry -.asm_89b6c +.high_nybble_less_than_10 inc e dec c - jr nz, .asm_89b4b + jr nz, .loop dec e -.asm_89b71 +.set_carry scf - jr .asm_89b75 + jr .finish -.asm_89b74 +.clear_carry and a -.asm_89b75 +.finish pop bc pop hl ret @@ -1912,9 +1914,8 @@ Function89b97: ; 89b97 (22:5b97) and a jr z, .asm_89bae .asm_89ba9 -rept 2 inc hl -endr + inc hl dec a jr nz, .asm_89ba9 .asm_89bae @@ -2034,56 +2035,59 @@ Function89c44: ; 89c44 (22:5c44) ret Function89c67: ; 89c67 (22:5c67) - call Function354b +; menu scrolling? + call JoyTextDelay_ForcehJoyDown ; joypad ld b, $0 - bit 0, c - jr z, .asm_89c74 + bit A_BUTTON_F, c + jr z, .not_a_button ld b, $1 and a ret -.asm_89c74 - bit 1, c - jr z, .asm_89c7a + +.not_a_button + bit B_BUTTON_F, c + jr z, .not_b_button scf ret -.asm_89c7a + +.not_b_button xor a - bit 6, c - jr z, .asm_89c81 + bit D_UP_F, c + jr z, .not_d_up ld a, $1 -.asm_89c81 - bit 7, c - jr z, .asm_89c87 +.not_d_up + bit D_DOWN_F, c + jr z, .not_d_down ld a, $2 -.asm_89c87 - bit 5, c - jr z, .asm_89c8d +.not_d_down + bit D_LEFT_F, c + jr z, .not_d_left ld a, $3 -.asm_89c8d - bit 4, c - jr z, .asm_89c93 +.not_d_left + bit D_RIGHT_F, c + jr z, .not_d_right ld a, $4 -.asm_89c93 +.not_d_right and a - ret z + ret z ; no dpad pressed dec a ld c, a ld d, $0 - ld hl, Unknown_89cbf + ld hl, .ScrollData0 ld a, [wd02f] and a - jr z, .asm_89ca5 - ld hl, Unknown_89ccf -.asm_89ca5 + jr z, .got_data + ld hl, .ScrollData1 +.got_data ld a, [wd011] and a - jr z, .asm_89cb1 + jr z, .got_row ld e, $4 -.asm_89cad +.add_n_times add hl, de dec a - jr nz, .asm_89cad -.asm_89cb1 + jr nz, .add_n_times +.got_row ld e, c add hl, de ld a, [hl] @@ -2096,13 +2100,13 @@ Function89c67: ; 89c67 (22:5c67) ret ; 89cbf (22:5cbf) -Unknown_89cbf: ; 89cbf +.ScrollData0: ; 89cbf db 0, 2, 0, 0 db 1, 3, 0, 0 db 2, 4, 0, 0 db 3, 0, 0, 0 -Unknown_89ccf: ; 89ccf +.ScrollData1: ; 89ccf db 0, 0, 0, 0 db 0, 3, 0, 0 db 2, 4, 0, 0 @@ -2148,44 +2152,48 @@ Function89cdf: ; 89cdf (22:5cdf) ret Function89d0d: ; 89d0d (22:5d0d) - call Function8923c + call Mobile22_SetBGMapMode0 ld a, [rSVBK] push af ld a, $5 ld [rSVBK], a - ld c, $8 + + ld c, 8 ld de, UnknBGPals -.asm_89d1c +.loop push bc - ld hl, Palette_89d4e - ld bc, $8 + ld hl, .Palette1 + ld bc, 1 palettes call CopyBytes pop bc dec c - jr nz, .asm_89d1c - ld hl, Palette_89d56 - ld de, wd010 - ld bc, $8 + jr nz, .loop + + ld hl, .Palette2 + ld de, UnknBGPals + 2 palettes + ld bc, 1 palettes call CopyBytes + pop af ld [rSVBK], a + call SetPalettes - callba Function845db - call Function89240 - ld c, $18 + callba PrintMail_ + call Mobile22_SetBGMapMode1 + ld c, 24 call DelayFrames call RestartMapMusic ret ; 89d4e (22:5d4e) -Palette_89d4e: ; 89d4e +.Palette1: ; 89d4e RGB 31, 31, 31 RGB 19, 19, 19 RGB 15, 15, 15 RGB 00, 00, 00 ; 89d56 -Palette_89d56: ; 89d56 +.Palette2: ; 89d56 RGB 31, 31, 31 RGB 19, 19, 19 RGB 19, 19, 19 @@ -2197,7 +2205,7 @@ Function89d5e: ; 89d5e (22:5d5e) call CopyMenuDataHeader pop af ld [wMenuCursorBuffer], a - call Function8923c + call Mobile22_SetBGMapMode0 call PlaceVerticalMenuItems call InitVerticalMenuCursor ld hl, w2DMenuFlags1 @@ -2206,21 +2214,21 @@ Function89d5e: ; 89d5e (22:5d5e) Function89d75: ; 89d75 (22:5d75) push hl - call Function8923c + call Mobile22_SetBGMapMode0 call _hl_ - callba Function104148 + callba Mobile_OpenAndCloseMenu_HDMATransferTileMapAndAttrMap pop hl jr asm_89d90 Function89d85: ; 89d85 (22:5d85) push hl - call Function8923c + call Mobile22_SetBGMapMode0 call _hl_ call CGBOnly_LoadEDTile pop hl asm_89d90: ; 89d90 (22:5d90) - call Function8923c + call Mobile22_SetBGMapMode0 push hl call _hl_ call Function89dab @@ -2238,9 +2246,9 @@ asm_89d90: ; 89d90 (22:5d90) ret Function89dab: ; 89dab (22:5dab) - call Function8923c + call Mobile22_SetBGMapMode0 callba MobileMenuJoypad - call Function8923c + call Mobile22_SetBGMapMode0 ld a, c ld hl, wMenuJoypadFilter and [hl] @@ -2312,7 +2320,7 @@ Jumptable_89e18: ; 89e18 (22:5e18) Function89e1e: ; 89e1e (22:5e1e) call OpenSRAMBank4 - ld bc, $a037 + ld bc, $a037 ; 4:a037 call Function8b36c call CloseSRAM xor a @@ -2418,7 +2426,7 @@ Function89eb9: ; 89eb9 (22:5eb9) Function89ee1: ; 89ee1 (22:5ee1) call ClearBGPalettes call Function893e2 - call Function8923c + call Mobile22_SetBGMapMode0 callba Function4a3a7 callba MG_Mobile_Layout_CreatePalBoxes hlcoord 1, 0 @@ -2523,9 +2531,8 @@ Function89f77: ; 89f77 (22:5f77) ld [hli], a ld a, c ld [hli], a -rept 2 inc hl -endr + inc hl ld a, $8 add c ld c, a @@ -2625,7 +2632,7 @@ Function89ff6: ; 89ff6 (22:5ff6) call Function89a0c call CloseSRAM call Function891ab - call Function89235 + call Mobile22_ButtonSound jp Function89e36 Function8a03d: ; 8a03d (22:603d) @@ -2656,9 +2663,9 @@ Function8a055: ; 8a055 (22:6055) ld a, $5 call Function8a5a3 pop hl -rept 3 inc hl -endr + inc hl + inc hl ld a, $6 call Function8a5a3 call CGBOnly_LoadEDTile @@ -2680,7 +2687,7 @@ endr jp Function89e36 Function8a0a1: ; 8a0a1 (22:60a1) - call Function8923c + call Mobile22_SetBGMapMode0 push bc call Function8a0c9 ld e, $6 @@ -2781,7 +2788,7 @@ Function8a116: ; 8a116 (22:6116) ld hl, MenuDataHeader_0x8a176 call LoadMenuDataHeader .asm_8a121 - call Function8923c + call Mobile22_SetBGMapMode0 call Function8a17b jr c, .asm_8a16b ld a, [wMenuCursorY] @@ -2948,7 +2955,7 @@ Function8a241: ; 8a241 (22:6241) Function8a262: ; 8a262 (22:6262) call ClearBGPalettes call Function893e2 - call Function8923c + call Mobile22_SetBGMapMode0 callba Function4a3a7 callba MG_Mobile_Layout_CreatePalBoxes hlcoord 1, 0 @@ -3042,7 +3049,7 @@ Function8a313: ; 8a313 (22:6313) Function8a31c: ; 8a31c (22:631c) push bc - call Function8923c + call Mobile22_SetBGMapMode0 callba Function4a3a7 callba MG_Mobile_Layout_CreatePalBoxes hlcoord 1, 0 @@ -3060,7 +3067,7 @@ Function8a31c: ; 8a31c (22:631c) set 7, [hl] .asm_8a34e call Function8a3a2 - call Function8923c + call Mobile22_SetBGMapMode0 call Function8a453 call Function8a4d3 call Function8a4fc @@ -3585,7 +3592,7 @@ Function8a6cd: ; 8a6cd (22:66cd) call Function8a765 call CloseSRAM jr nc, .asm_8a73f - call Function8923c + call Mobile22_SetBGMapMode0 call Function89448 call Function89a23 hlcoord 1, 13 @@ -3804,7 +3811,7 @@ Function8a8c3: ; 8a8c3 (22:68c3) call Function892b4 call CloseSRAM call Function89a23 - call Function8923c + call Mobile22_SetBGMapMode0 hlcoord 1, 13 ld de, String_8a926 call PlaceString @@ -4069,7 +4076,7 @@ Function8aab6: ; 8aab6 (22:6ab6) ; 8aaf0 (22:6af0) String_8aaf0: ; 8aaf0 - db "あたらしい めいし", $4a, "できまし", $22, "@" + db "あたらしい めいし<PKMN>できまし<LNBRK>@" ; 8ab00 Function8ab00: ; 8ab00 @@ -4077,7 +4084,7 @@ Function8ab00: ; 8ab00 hlcoord 1, 13 call PlaceString call WaitBGMap - call Function89235 + call Mobile22_ButtonSound and a ret @@ -4104,6 +4111,7 @@ Function8ab11: ; 8ab11 (22:6b11) ret Function8ab3b: ; 8ab3b (22:6b3b) +.pressed_start call Function891fe call ClearBGPalettes call Function893cc @@ -4122,23 +4130,24 @@ Function8ab3b: ; 8ab3b (22:6b3b) 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 .JoypadLoop + jr c, .pressed_start + ret + +.JoypadLoop: ; 8ab77 (22:6b77) + call JoyTextDelay_ForcehJoyDown + bit A_BUTTON_F, c + jr nz, .a_b_button + bit B_BUTTON_F, c + jr nz, .a_b_button + bit START_F, c + jr z, .JoypadLoop call PlayClickSFX call Function89d0d scf ret -.asm_8ab8e + +.a_b_button call PlayClickSFX and a ret @@ -4363,7 +4372,7 @@ Function8ad0b: ; 8ad0b jr z, .asm_8ad0b cp $2 jr z, .asm_8ad37 - call Function8923c + call Mobile22_SetBGMapMode0 push bc hlcoord 0, 12 ld b, $4 @@ -4375,7 +4384,7 @@ Function8ad0b: ; 8ad0b ld a, $2 call Function8925e jr c, .asm_8ad87 - call Function8923c + call Mobile22_SetBGMapMode0 hlcoord 0, 12 ld b, $4 ld c, $12 diff --git a/misc/mobile_22_2.asm b/misc/mobile_22_2.asm index 880ae460a..321998dc7 100644 --- a/misc/mobile_22_2.asm +++ b/misc/mobile_22_2.asm @@ -54,16 +54,18 @@ Function8b363: ; 8b363 ; 8b36c Function8b36c: ; 8b36c (22:736c) + ; [bc + (0:4)] = -1 push bc ld h, b ld l, c - ld bc, $4 + ld bc, 4 ld a, -1 call ByteFill pop bc ret Function8b379: ; 8b379 (22:7379) + ; d = [bc + e] push bc ld a, c add e @@ -77,6 +79,7 @@ Function8b379: ; 8b379 (22:7379) ret Function8b385: ; 8b385 (22:7385) + ; [bc + e] = d push bc ld a, c add e @@ -90,36 +93,39 @@ Function8b385: ; 8b385 (22:7385) ret Function8b391: ; 8b391 (22:7391) + ; find first e in range(4) such that [bc + e] == -1 + ; if none exist, return carry push bc - ld e, $0 - ld d, $4 -.asm_8b396 + ld e, 0 + ld d, 4 +.loop ld a, [bc] inc bc - cp $ff - jr z, .asm_8b3a2 + cp -1 + jr z, .done inc e dec d - jr nz, .asm_8b396 + jr nz, .loop dec e scf -.asm_8b3a2 +.done pop bc ret Function8b3a4: ; 8b3a4 (22:73a4) + ; strcmp(hl, bc, 4) push de push bc ld d, b ld e, c - ld c, $4 + ld c, 4 call Function89185 pop bc pop de ret Function8b3b0: ; 8b3b0 (22:73b0) - ld bc, $a037 + ld bc, $a037 ; 4:a037 ld a, [$a60b] and a jr z, .asm_8b3c2 @@ -153,82 +159,88 @@ Function8b3cd: ; 8b3cd (22:73cd) Function8b3dd: ; 8b3dd (22:73dd) push de push bc - call Function354b + call JoyTextDelay_ForcehJoyDown ; joypad 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 + bit A_BUTTON_F, a + jr nz, .a_button + bit B_BUTTON_F, a + jr nz, .b_button + bit D_UP_F, a + jr nz, .d_up + bit D_DOWN_F, a + jr nz, .d_down and a ret -.asm_8b3f7 + +.a_button ld a, e cp $3 - jr z, .asm_8b407 + jr z, .e_is_zero inc e - ld d, $0 + ld d, 0 call Function8b385 xor a ld [wd010], a ret -.asm_8b407 + +.e_is_zero call PlayClickSFX ld d, $0 scf ret -.asm_8b40e + +.b_button ld a, e and a - jr nz, .asm_8b41e + jr nz, .e_is_not_zero call PlayClickSFX - ld d, $ff + ld d, -1 call Function8b385 - ld d, $1 + ld d, 1 scf ret -.asm_8b41e - ld d, $ff + +.e_is_not_zero + ld d, -1 call Function8b385 dec e xor a ld [wd010], a ret -.asm_8b429 + +.d_up call Function8b379 ld a, d cp $a - jr c, .asm_8b433 + jr c, .less_than_10_up_1 ld d, $9 -.asm_8b433 +.less_than_10_up_1 inc d ld a, d cp $a - jr c, .asm_8b43b + jr c, .less_than_10_up_2 ld d, $0 -.asm_8b43b +.less_than_10_up_2 call Function8b385 xor a ld [wd010], a ret -.asm_8b443 + +.d_down call Function8b379 ld a, d cp $a - jr c, .asm_8b44d + jr c, .less_than_10_down ld d, $0 -.asm_8b44d +.less_than_10_down ld a, d dec d and a - jr nz, .asm_8b454 + jr nz, .nonzero_down ld d, $9 -.asm_8b454 +.nonzero_down call Function8b385 xor a ld [wd010], a @@ -243,7 +255,7 @@ Function8b45c: ; 8b45c (22:745c) ld d, $0 call Function8b385 .asm_8b46e - call Function8923c + call Mobile22_SetBGMapMode0 call Function8b493 call Function8b4cc call Function8b518 @@ -264,7 +276,7 @@ Function8b45c: ; 8b45c (22:745c) Function8b493: ; 8b493 (22:7493) push bc - call Function8923c + call Mobile22_SetBGMapMode0 call Function8b521 ld hl, Jumptable_8b4a0 pop bc @@ -314,9 +326,8 @@ Function8b4d8: ; 8b4d8 (22:74d8) ld hl, Unknown_8b529 call Function8b50a push hl -rept 2 inc hl -endr + inc hl ld a, [hli] ld b, a ld a, [hl] @@ -331,9 +342,8 @@ Function8b4ea: ; 8b4ea (22:74ea) ld hl, Unknown_8b529 call Function8b50a push hl -rept 2 inc hl -endr + inc hl ld a, [hli] ld b, a ld a, [hl] @@ -405,6 +415,7 @@ Function8b539: ; 8b539 (22:7539) ret Function8b555: ; 8b555 (22:7555) +.loop ld hl, UnknownText_0x8b5ce call PrintText ld bc, wd017 @@ -418,27 +429,29 @@ Function8b555: ; 8b555 (22:7555) jr nz, .asm_8b57c ld hl, UnknownText_0x8b5e2 call PrintText - jr Function8b555 + jr .loop + .asm_8b57c ld hl, UnknownText_0x8b5d3 call PrintText ld bc, wd013 call Function8b45c - jr c, Function8b555 + jr c, .loop ld bc, wd017 ld hl, wd013 call Function8b3a4 - jr z, .asm_8b5a6 + jr z, .strings_equal call Function89448 ld bc, wd013 call Function8b493 ld hl, UnknownText_0x8b5d8 call PrintText jr .asm_8b57c -.asm_8b5a6 + +.strings_equal call OpenSRAMBank4 ld hl, wd013 - ld de, $a037 + ld de, $a037 ; 4:a037 ld bc, $4 call CopyBytes call CloseSRAM @@ -506,7 +519,7 @@ Function8b5e7: ; 8b5e7 (22:75e7) ld bc, wd013 call Function8b493 call OpenSRAMBank4 - ld hl, $a037 + ld hl, $a037 ; 4:a037 call Function8b3a4 call CloseSRAM jr z, .asm_8b635 @@ -644,7 +657,7 @@ Function8b6ed: ; 8b6ed ; 8b703 Function8b703: ; 8b703 - call Function8923c + call Mobile22_SetBGMapMode0 push hl ld a, $c ld [hli], a @@ -698,12 +711,10 @@ Function8b73e: ; 8b73e Function8b744: ; 8b744 ld de, AttrMap - TileMap add hl, de -rept 2 inc b -endr -rept 2 + inc b + inc c inc c -endr xor a .asm_8b74d push bc @@ -722,7 +733,7 @@ endr ; 8b75d Function8b75d: ; 8b75d - call Function8923c + call Mobile22_SetBGMapMode0 hlcoord 0, 0 ld a, $1 ld bc, SCREEN_WIDTH @@ -975,9 +986,8 @@ Function8b8c8: ; 8b8c8 ld b, 0 ld c, a ld hl, Unknown_8b903 -rept 2 add hl, bc -endr + add hl, bc ld a, [hli] ld h, [hl] ld l, a diff --git a/misc/mobile_40.asm b/misc/mobile_40.asm index c2a6c20b9..3c7a34710 100644 --- a/misc/mobile_40.asm +++ b/misc/mobile_40.asm @@ -4,7 +4,7 @@ Function100000: ; 100000 ; bc: addr ld a, [rSVBK] push af - ld a, $01 + ld a, 1 ld [rSVBK], a call Function100022 @@ -26,7 +26,7 @@ Function100000: ; 100000 Function100022: ; 100022 push de push bc - call Function100063 + call SetRAMStateForMobile pop bc pop de ld a, d @@ -47,14 +47,14 @@ Function100022: ; 100022 ; 100057 Function100057: ; 100057 - call Function1000a4 + call DisableMobile call ReturnToMapFromSubmenu ld hl, VramState res 1, [hl] ret ; 100063 -Function100063: ; 100063 +SetRAMStateForMobile: ; 100063 xor a ld hl, BGMapBuffer ld bc, $65 @@ -67,15 +67,16 @@ Function100063: ; 100063 ld [BGMapBuffer], a xor a ld [hMapAnims], a - ld [hFFC6], a + ld [hLCDCPointer], a ret ; 100082 -Function100082: ; 100082 +EnableMobile: ; 100082 xor a ld hl, OverworldMap ld bc, OverworldMapEnd - OverworldMap call ByteFill + di call DoubleSpeed xor a @@ -84,15 +85,16 @@ Function100082: ; 100082 ld [rIE], a xor a ld [hMapAnims], a - ld [hFFC6], a + ld [hLCDCPointer], a ld a, $01 ld [hMobileReceive], a ld [hMobile], a ei + ret ; 0x1000a4 -Function1000a4: ; 1000a4 +DisableMobile: ; 1000a4 di xor a ld [hMobileReceive], a @@ -110,12 +112,12 @@ Function1000a4: ; 1000a4 Function1000ba: ; 1000ba .loop - ; call [wcd22]:([wcd23][wcd24] + [wcd25]) + ; call [wcd22]:([wcd23][wcd24] + [wMobileCommsJumptableIndex]) ld hl, wcd23 ld a, [hli] ld h, [hl] ld l, a - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] ld e, a ld d, 0 add hl, de @@ -202,7 +204,7 @@ Function100144: ; 100144 ret z res 2, [hl] res 6, [hl] - callba Function10402d + callba HDMATransferTileMapToWRAMBank3 ret ; 100163 @@ -445,12 +447,12 @@ Function100301: ; 100301 ; 100320 Function100320: ; 100320 - callba Function104099 + callba Mobile_ReloadMapPart ret ; 100327 Function100327: ; 100327 - callba Function10402d + callba HDMATransferTileMapToWRAMBank3 ret ; 100327 @@ -984,67 +986,66 @@ MenuData2_100604: ; 100604 db "まつ@" ; 10060d -Function10060d: ; 10060d +Mobile_CommunicationStandby: ; 10060d hlcoord 3, 10 - ld b, $01 - ld c, $0b + ld b, 1 + ld c, 11 call Function3eea - ld de, String_100621 + ld de, .String hlcoord 4, 11 call PlaceString ret ; 100621 -String_100621: ; 100621 +.String: ; 100621 db "つうしんたいきちゅう!@" ; 10062d -Function10062d: ; 10062d +AdvanceMobileInactivityTimerAndCheckExpired: ; 10062d push bc - call Function10064e + call IncrementMobileInactivityTimerByCFrames pop bc - ld a, [wcd44] + ld a, [wMobileInactivityTimerMinutes] cp b - jr nc, .asm_10063a + jr nc, .timed_out and a ret -.asm_10063a +.timed_out ld a, $fa ld [wcd2b], a scf ret ; 100641 -Function100641: ; 100641 +StartMobileInactivityTimer: ; 100641 xor a - ld [wcd44], a - ld [wcd45], a - ld [wcd46], a + ld [wMobileInactivityTimerMinutes], a + ld [wMobileInactivityTimerSeconds], a + ld [wMobileInactivityTimerFrames], a ret ; 10064c -Function10064c: ; 10064c +IncrementMobileInactivityTimerBy1Frame: ; 10064c ld c, 1 - -Function10064e: ; 10064e - ld hl, wcd46 +IncrementMobileInactivityTimerByCFrames: ; 10064e + ld hl, wMobileInactivityTimerFrames ; timer? ld a, [hl] add c - cp $3c - jr c, .asm_100658 + cp 60 + jr c, .seconds xor a -.asm_100658 +.seconds ld [hld], a ret c ld a, [hl] inc a - cp $3c - jr c, .asm_100661 + cp 60 + jr c, .minutes xor a -.asm_100661 +.minutes ld [hld], a ret c inc [hl] @@ -1166,9 +1167,9 @@ Function1006fd: ; 1006fd ld hl, $a800 call GetSRAMBank xor a -rept 3 ld [hli], a -endr + ld [hli], a + ld [hli], a call CloseSRAM ret ; 10070d @@ -1266,35 +1267,35 @@ Function100772: ; 100772 Function10079c: ; 10079c ld a, [wcd21] cp $01 - jr nz, .asm_1007f4 + jr nz, .dont_quit ld hl, wcd2a bit 5, [hl] - jr nz, .asm_1007f4 + jr nz, .dont_quit ld hl, wcd2a bit 6, [hl] - jr nz, .asm_1007f4 + jr nz, .dont_quit ld a, [wcd6a] add c - cp $3c - jr nc, .asm_1007be + cp 60 + jr nc, .overflow ld [wcd6a], a and a ret -.asm_1007be - sub $3c +.overflow + sub 60 ld [wcd6a], a ld d, b push de call Function1007f6 pop de - jr c, .asm_1007e5 + jr c, .quit ld a, c and a - jr nz, .asm_1007e5 + jr nz, .quit ld a, b - cp $0a - jr nc, .asm_1007e5 + cp 10 + jr nc, .quit ld a, d and a ret z @@ -1307,7 +1308,7 @@ Function10079c: ; 10079c and a ret -.asm_1007e5 +.quit call Function1008e0 ld hl, wcd2a set 4, [hl] @@ -1316,7 +1317,7 @@ Function10079c: ; 10079c scf ret -.asm_1007f4 +.dont_quit and a ret ; 1007f6 @@ -1702,7 +1703,7 @@ _LinkBattleSendReceiveAction: ; 100a09 .MobileBattle_SendReceiveAction: ; 100a87 call Function100acf - call Function100641 + call StartMobileInactivityTimer ld a, 0 ld [wcd27], a .asm_100a92 @@ -1712,7 +1713,7 @@ _LinkBattleSendReceiveAction: ; 100a09 ld c, $01 ld b, $03 push bc - call Function10062d + call AdvanceMobileInactivityTimerAndCheckExpired pop bc jr c, .asm_100ac7 ld b, $01 @@ -1821,7 +1822,7 @@ Function100b45: ; 100b45 call Mobile_SetOverworldDelay callba MobileMenuJoypad push bc - callba Function10402d + callba HDMATransferTileMapToWRAMBank3 call Function100e2d pop bc jr c, .asm_100b6b @@ -1882,7 +1883,7 @@ MobileMoveSelectionScreen: ; 100b9f call Mobile_SetOverworldDelay callba MobileMenuJoypad push bc - callba Function10402d + callba HDMATransferTileMapToWRAMBank3 call Function100e2d pop bc jr c, .b_button @@ -2016,8 +2017,8 @@ Mobile_PartyMenuSelect: ; 100cb5 callba MobileMenuJoypad push bc callba PlaySpriteAnimations - callba Function10402d - call Function100dfd + callba HDMATransferTileMapToWRAMBank3 + call MobileComms_CheckInactivityTimer pop bc jr c, .done ld a, [wMenuJoypadFilter] @@ -2070,8 +2071,8 @@ MobileBattleMonMenu: ; 100d22 callba MobileMenuJoypad push bc callba PlaySpriteAnimations - callba Function10402d - call Function100dfd + callba HDMATransferTileMapToWRAMBank3 + call MobileComms_CheckInactivityTimer pop bc jr c, .asm_100d54 ld a, [wMenuJoypadFilter] @@ -2178,7 +2179,7 @@ Mobile_SetOverworldDelay: ; 100dd2 Function100dd8: ; 100dd8 ld c, $01 ld b, $03 - callba Function10062d + callba AdvanceMobileInactivityTimerAndCheckExpired jr c, .asm_100dfb ld c, $3c ld b, $01 @@ -2196,7 +2197,7 @@ Function100dd8: ; 100dd8 ret ; 100dfd -Function100dfd: ; 100dfd +MobileComms_CheckInactivityTimer: ; 100dfd ld a, [OverworldDelay] ld c, a ld a, 30 @@ -2204,22 +2205,22 @@ Function100dfd: ; 100dfd ld c, a ld b, 3 push bc - callba Function10062d + callba AdvanceMobileInactivityTimerAndCheckExpired ; useless to farcall pop bc - jr c, .asm_100e2b + jr c, .quit ld b, 1 call Function10079c - jr c, .asm_100e2b + jr c, .quit call Function1009f3 - jr c, .asm_100e2b - callba Function10032e + jr c, .quit + callba Function10032e ; useless to farcall ld a, [wcd2b] and a - jr nz, .asm_100e2b + jr nz, .quit xor a ret -.asm_100e2b +.quit scf ret ; 100e2d @@ -2232,7 +2233,7 @@ Function100e2d: ; 100e2d ld c, a ld b, 3 push bc - callba Function10062d + callba AdvanceMobileInactivityTimerAndCheckExpired pop bc jr c, .asm_100e61 ld b, 1 @@ -2641,53 +2642,55 @@ Function1010de: ; 1010de ret ; 1010f2 -Function1010f2: ; 1010f2 +LoadSelectedPartiesForColosseum: ; 1010f2 xor a ld hl, StringBuffer2 ld bc, 9 call ByteFill - ld hl, wdc5c + ld hl, wPlayerMonSelection ld de, PartyCount - call Function101145 - ld hl, wdc5c + call .CopyThreeSpecies + ld hl, wPlayerMonSelection ld de, PartyMon1Species - call Function10117c - ld hl, wdc5c + call .CopyPartyStruct + ld hl, wPlayerMonSelection ld de, PartyMonOT - call Function101181 - ld hl, wdc5c + call .CopyName + ld hl, wPlayerMonSelection ld de, PartyMonNicknames - call Function101181 - ld hl, wcd75 + call .CopyName + ld hl, wOTMonSelection ld de, OTPartyCount - call Function101145 - ld hl, wcd75 + call .CopyThreeSpecies + ld hl, wOTMonSelection ld de, OTPartyMon1Species - call Function10117c - ld hl, wcd75 + call .CopyPartyStruct + ld hl, wOTMonSelection ld de, OTPartyMonOT - call Function101181 - ld hl, wcd75 + call .CopyName + ld hl, wOTMonSelection ld de, OTPartyMonNicknames - call Function101181 + call .CopyName ret ; 101145 -Function101145: ; 101145 +.CopyThreeSpecies: ; 101145 +; Load the 3 choices to the buffer push de ld bc, StringBuffer2 + 6 xor a -.asm_10114a +.party_loop push af - call Function101168 + call .GetNthSpecies ld [bc], a inc bc pop af inc a - cp $03 - jr nz, .asm_10114a + cp 3 + jr nz, .party_loop pop de - ld a, $03 +; Copy the 3 choices to the party + ld a, 3 ld [de], a inc de ld hl, StringBuffer2 + 6 @@ -2698,7 +2701,9 @@ Function101145: ; 101145 ret ; 101168 -Function101168: ; 101168 +.GetNthSpecies: ; 101168 +; Preserves hl and de +; Get the index of the Nth selection push hl add l ld l, a @@ -2707,6 +2712,7 @@ Function101168: ; 101168 ld h, a ld a, [hl] pop hl +; Get the corresponding species push de inc de add e @@ -2719,34 +2725,38 @@ Function101168: ; 101168 ret ; 10117c -Function10117c: ; 10117c - ld bc, $30 - jr asm_101184 +.CopyPartyStruct: ; 10117c + ld bc, PARTYMON_STRUCT_LENGTH + jr .ContinueCopy -Function101181: ; 101181 - ld bc, 11 +.CopyName: ; 101181 + ld bc, NAME_LENGTH -asm_101184: +.ContinueCopy: + ; Copy, via wc608... ld a, wc608 % $100 ld [StringBuffer2], a ld a, wc608 / $100 ld [StringBuffer2 + 1], a + ; ... bc bytes... ld a, c ld [StringBuffer2 + 2], a ld a, b ld [StringBuffer2 + 3], a + ; ... to de... ld a, e ld [StringBuffer2 + 4], a ld a, d ld [StringBuffer2 + 5], a - ld a, $03 -.asm_1011a0 + ; ... 3 times. + ld a, 3 +.big_copy_loop push af ld a, [hli] push hl push af - call Function1011df - call Function1011e8 + call .GetDestinationAddress + call .GetCopySize pop af call AddNTimes ld a, [StringBuffer2] @@ -2761,14 +2771,14 @@ asm_101184: pop hl pop af dec a - jr nz, .asm_1011a0 - call Function1011e8 + jr nz, .big_copy_loop + call .GetCopySize ld a, 3 ld hl, 0 call AddNTimes ld b, h ld c, l - call Function1011df + call .GetDestinationAddress ld d, h ld e, l ld hl, wc608 @@ -2776,7 +2786,7 @@ asm_101184: ret ; 1011df -Function1011df: ; 1011df +.GetDestinationAddress: ; 1011df ld a, [StringBuffer2 + 4] ld l, a ld a, [StringBuffer2 + 5] @@ -2784,7 +2794,7 @@ Function1011df: ; 1011df ret ; 1011e8 -Function1011e8: ; 1011e8 +.GetCopySize: ; 1011e8 ld a, [StringBuffer2 + 2] ld c, a ld a, [StringBuffer2 + 3] @@ -2889,146 +2899,144 @@ Function10127d: ; 10127d Function10127e: ; 10127e ld a, [wdc5f] and a - jr z, .asm_101290 - cp $01 + jr z, .zero + cp 1 ld c, $27 - jr z, .asm_101292 - cp $02 + jr z, .load + cp 2 ld c, $37 - jr z, .asm_101292 - -.asm_101290 + jr z, .load +.zero ld c, 0 - -.asm_101292 +.load ld a, c - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101297 Jumptable_101297: ; 101297 - dw Function101a97 - dw Function101ab4 - dw Function101475 - dw Function101b0f - dw Function101438 - dw Function101b2b - dw Function101b59 - dw Function101475 - dw Function101b70 - dw Function101438 - dw Function101b8f - dw Function101d7b - dw Function101d95 - dw Function101475 - dw Function101db2 - dw Function101e4f - dw Function101475 - dw Function101e64 - dw Function101e4f - dw Function101475 - dw Function101e64 - dw Function101d95 - dw Function101475 - dw Function101db2 - dw Function101dd0 - dw Function101de3 - dw Function101e39 - dw Function101e09 - dw Function101e4f - dw Function101475 - dw Function101e64 - dw Function101d95 - dw Function101475 - dw Function101db2 - dw Function101e09 - dw Function101e31 - dw Function101bc8 - dw Function101438 - dw Function101be5 - dw Function101ac6 - dw Function101ab4 - dw Function101475 - dw Function101c11 - dw Function1014f4 - dw Function101cc8 - dw Function1014e2 - dw Function1014e2 - dw Function101d10 - dw Function101d2a - dw Function101d2a - dw Function101507 - dw Function10156d - dw Function101557 - dw Function10158a - dw Function101c42 - dw Function101aed - dw Function101ab4 - dw Function101475 - dw Function101c2b - dw Function1014f4 - dw Function101cdf - dw Function1014e2 - dw Function1014e2 - dw Function101d1e - dw Function101d2a - dw Function101d2a - dw Function101507 - dw Function10156d - dw Function101544 - dw Function10158a - dw Function101c42 - dw Function101c50 - dw Function1014ce - dw Function101cf6 - dw Function101826 - dw Function1017e4 - dw Function1017f1 - dw Function1018a8 - dw Function1018d6 - dw Function1017e4 - dw Function1017f1 - dw Function1018e1 - dw Function1015df - dw Function10167d - dw Function10168a - dw Function10162a - dw Function1015be - dw Function10167d - dw Function10168a - dw Function10161f - dw Function10159d - dw Function10167d - dw Function10168a - dw Function101600 - dw Function101d03 - dw Function101d6b - dw Function10159d - dw Function1014ce - dw Function10168e - dw Function101600 - dw Function101913 - dw Function10194b - dw Function10196d - dw Function1017e4 - dw Function1017f5 - dw Function1019ab - dw Function101537 - dw Function101571 - dw Function101c92 - dw Function10152a - dw Function101571 - dw Function101a4f - dw Function101cbc - dw Function101c62 - dw Function101537 - dw Function101571 - dw Function101c92 - dw Function10152a - dw Function101571 - dw Function101ca0 - dw Function101475 - dw Function101cbc + dw Function101a97 ; 00 + dw Function101ab4 ; 01 + dw Function101475 ; 02 + dw Function101b0f ; 03 + dw Function101438 ; 04 + dw Function101b2b ; 05 + dw Function101b59 ; 06 + dw Function101475 ; 07 + dw Function101b70 ; 08 + dw Function101438 ; 09 + dw Function101b8f ; 0a + dw Function101d7b ; 0b + dw Function101d95 ; 0c + dw Function101475 ; 0d + dw Function101db2 ; 0e + dw Function101e4f ; 0f + dw Function101475 ; 10 + dw Function101e64 ; 11 + dw Function101e4f ; 12 + dw Function101475 ; 13 + dw Function101e64 ; 14 + dw Function101d95 ; 15 + dw Function101475 ; 16 + dw Function101db2 ; 17 + dw Function101dd0 ; 18 + dw Function101de3 ; 19 + dw Function101e39 ; 1a + dw Function101e09 ; 1b + dw Function101e4f ; 1c + dw Function101475 ; 1d + dw Function101e64 ; 1e + dw Function101d95 ; 1f + dw Function101475 ; 20 + dw Function101db2 ; 21 + dw Function101e09 ; 22 + dw Function101e31 ; 23 + dw Function101bc8 ; 24 + dw Function101438 ; 25 + dw Function101be5 ; 26 + dw Function101ac6 ; 27 + dw Function101ab4 ; 28 + dw Function101475 ; 29 + dw Function101c11 ; 2a + dw Function1014f4 ; 2b + dw Function101cc8 ; 2c + dw Function1014e2 ; 2d + dw Function1014e2 ; 2e + dw Function101d10 ; 2f + dw Function101d2a ; 30 + dw Function101d2a ; 31 + dw Function101507 ; 32 + dw Function10156d ; 33 + dw Function101557 ; 34 + dw Function10158a ; 35 + dw Function101c42 ; 36 + dw Function101aed ; 37 + dw Function101ab4 ; 38 + dw Function101475 ; 39 + dw Function101c2b ; 3a + dw Function1014f4 ; 3b + dw Function101cdf ; 3c + dw Function1014e2 ; 3d + dw Function1014e2 ; 3e + dw Function101d1e ; 3f + dw Function101d2a ; 40 + dw Function101d2a ; 41 + dw Function101507 ; 42 + dw Function10156d ; 43 + dw Function101544 ; 44 + dw Function10158a ; 45 + dw Function101c42 ; 46 + dw Function101c50 ; 47 + dw Function1014ce ; 48 + dw Function101cf6 ; 49 + dw Function101826 ; 4a + dw Function1017e4 ; 4b + dw Function1017f1 ; 4c + dw Function1018a8 ; 4d + dw Function1018d6 ; 4e + dw Function1017e4 ; 4f + dw Function1017f1 ; 50 + dw Function1018e1 ; 51 + dw Function1015df ; 52 + dw Function10167d ; 53 + dw Function10168a ; 54 + dw Function10162a ; 55 + dw Function1015be ; 56 + dw Function10167d ; 57 + dw Function10168a ; 58 + dw Function10161f ; 59 + dw Function10159d ; 5a + dw Function10167d ; 5b + dw Function10168a ; 5c + dw Function101600 ; 5d + dw Function101d03 ; 5e + dw Function101d6b ; 5f + dw Function10159d ; 60 + dw Function1014ce ; 61 + dw Function10168e ; 62 + dw Function101600 ; 63 + dw Function101913 ; 64 + dw Function10194b ; 65 + dw _SelectMonsForMobileBattle ; 66 + dw Function1017e4 ; 67 + dw Function1017f5 ; 68 + dw _StartMobileBattle ; 69 + dw Function101537 ; 6a + dw Function101571 ; 6b + dw Function101c92 ; 6c + dw Function10152a ; 6d + dw Function101571 ; 6e + dw Function101a4f ; 6f + dw Function101cbc ; 70 + dw Function101c62 ; 71 + dw Function101537 ; 72 + dw Function101571 ; 73 + dw Function101c92 ; 74 + dw Function10152a ; 75 + dw Function101571 ; 76 + dw Function101ca0 ; 77 + dw Function101475 ; 78 + dw Function101cbc ; 79 ; 10138b Function10138b: ; 10138b @@ -3074,7 +3082,7 @@ Function1013c0: ; 1013c0 ; 1013d6 Function1013d6: ; 1013d6 - callba Function104000 + callba HDMATransferAttrMapAndTileMapToWRAMBank3 ret ; 1013dd @@ -3182,9 +3190,9 @@ Function101438: ; 101438 ret z ld a, 0 ld [wcd26], a - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101457 @@ -3221,9 +3229,9 @@ Function101475: ; 101475 ret z ld a, 0 ld [wcd26], a - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101494 @@ -3268,10 +3276,10 @@ Function1014b7: ; 1014b7 Function1014ce: ; 1014ce callba Function100720 - callba Function100641 - ld a, [wcd25] + callba StartMobileInactivityTimer + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 1014e2 @@ -3280,19 +3288,19 @@ Function1014e2: ; 1014e2 set 6, [hl] ld a, 0 ld [wcd26], a - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 1014f4 Function1014f4: ; 1014f4 - callba Function100082 + callba EnableMobile ld hl, wcd29 set 6, [hl] - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101507 @@ -3302,57 +3310,57 @@ Function101507: ; 101507 ld bc, $40 ld a, $02 call Function3e32 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 10151d Function10151d: ; 10151d ; unreferenced ld a, $34 call Function3e32 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 10152a Function10152a: ; 10152a ld a, $36 call Function3e32 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101537 Function101537: ; 101537 ld a, $0a call Function3e32 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101544 Function101544: ; 101544 - callba Function100641 + callba StartMobileInactivityTimer ld a, $12 call Function3e32 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101557 Function101557: ; 101557 - callba Function100641 + callba StartMobileInactivityTimer ld hl, wcd53 ld a, $08 call Function3e32 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 10156d @@ -3371,15 +3379,15 @@ Function101571: ; 101571 ret .asm_101582 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 10158a Function10158a: ; 10158a - callba Function10064c - ld a, [wcd44] + callba IncrementMobileInactivityTimerBy1Frame + ld a, [wMobileInactivityTimerMinutes] cp $0a jr c, Function10156d ld a, $fb @@ -3396,9 +3404,9 @@ Function10159d: ; 10159d call Function10174c ld a, 0 ld [wcd26], a - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 1015be @@ -3411,9 +3419,9 @@ Function1015be: ; 1015be call Function10174c ld a, 0 ld [wcd26], a - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 1015df @@ -3426,9 +3434,9 @@ Function1015df: ; 1015df call Function10174c ld a, 0 ld [wcd26], a - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101600 @@ -3440,25 +3448,25 @@ Function101600: ; 101600 call FarCopyWRAM ld de, wc608 callba Function100ee6 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 10161f Function10161f: ; 10161f call Function101649 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 10162a Function10162a: ; 10162a call Function101663 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101635 @@ -3513,9 +3521,9 @@ Function101674: ; 101674 ; unreferenced Function10167d: ; 10167d ld a, 0 ld [wcd26], a - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 10168a @@ -3530,7 +3538,7 @@ Function10168e: ; 10168e ret c ld c, $01 ld b, $03 - callba Function10062d + callba AdvanceMobileInactivityTimerAndCheckExpired ret c ld a, [wcd26] ld hl, Jumptable_1016c3 @@ -3542,9 +3550,9 @@ Function10168e: ; 10168e ret z ld a, 0 ld [wcd26], a - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 1016c3 @@ -3746,9 +3754,9 @@ Function1017c7: ; 1017c7 Function1017e4: ; 1017e4 ld a, 0 ld [wcd27], a - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 1017f1 @@ -3763,20 +3771,20 @@ Function1017f5: ; 1017f5 ret c ld c, $01 ld b, $03 - callba Function10062d + callba AdvanceMobileInactivityTimerAndCheckExpired ret c callba Function100382 ld a, [wcd27] bit 7, a - jr nz, .asm_10181e + jr nz, .next ld hl, wcd29 set 6, [hl] ret -.asm_10181e - ld a, [wcd25] +.next + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101826 @@ -3792,9 +3800,9 @@ Function101826: ; 101826 ld hl, Unknown_10186f ld de, wccb4 call Function1013f5 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret .asm_101844 @@ -3811,9 +3819,9 @@ Function101826: ; 101826 .asm_10185b ld de, wccb4 call Function1013f5 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret .asm_101869 @@ -3857,9 +3865,9 @@ Function1018a8: ; 1018a8 ld a, $06 call Function101406 jr c, .asm_1018ca - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret .asm_1018ca @@ -3875,17 +3883,17 @@ Function1018a8: ; 1018a8 Function1018d6: ; 1018d6 call Function1018ec - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 1018e1 Function1018e1: ; 1018e1 call Function1018fb - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 1018ec @@ -3938,17 +3946,17 @@ Function101913: ; 101913 cp $02 jr z, .asm_101945 ld a, $71 - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret .asm_10193f ld a, $66 - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret .asm_101945 ld a, $65 - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 10194b @@ -3961,25 +3969,25 @@ Function10194b: ; 10194b jr nz, .asm_101967 call Function1013c0 ld a, $71 - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret .asm_101967 ld a, $60 - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 10196d -Function10196d: ; 10196d +_SelectMonsForMobileBattle: ; 10196d callba BlankScreen - callba Function10060d + callba Mobile_CommunicationStandby ld hl, wcd29 set 5, [hl] ld hl, wcd2a set 6, [hl] ld a, $06 ld [wccb4], a - ld hl, wdc5c + ld hl, wPlayerMonSelection ld de, wccb5 ld bc, 3 call CopyBytes @@ -3990,14 +3998,14 @@ Function10196d: ; 10196d ld [wccb9], a ld a, [hl] ld [wccba], a - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 1019ab -Function1019ab: ; 1019ab - call Function101a75 +_StartMobileBattle: ; 1019ab + call CopyOtherPlayersBattleMonSelection callba Function100754 xor a ld [wdc5f], a @@ -4005,33 +4013,32 @@ Function1019ab: ; 1019ab callba BlankScreen call SpeechTextBox callba Function100846 - ld c, $78 + ld c, 120 call DelayFrames callba ClearTileMap - call Function1019ee - call Function101a21 + call .CopyOTDetails + call StartMobileBattle ld a, [wcd2b] cp $fc jr nz, .asm_1019e6 xor a ld [wcd2b], a - .asm_1019e6 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 1019ee -Function1019ee: ; 1019ee +.CopyOTDetails: ; 1019ee ld a, [rSVBK] push af - ld a, $05 + ld a, 5 ld [rSVBK], a ld bc, w5_dc0d ld de, w5_dc11 - callba Function4e929 + callba GetMobileOTTrainerClass pop af ld [rSVBK], a @@ -4044,29 +4051,29 @@ Function1019ee: ; 1019ee call CopyBytes ld a, [wcd2f] and a - ld a, $02 - jr z, .asm_101a1e - ld a, $01 - -.asm_101a1e + ld a, 2 + jr z, .got_link_player_number + ld a, 1 +.got_link_player_number ld [hLinkPlayerNumber], a ret ; 101a21 -Function101a21: ; 101a21 +StartMobileBattle: ; 101a21 + ; force stereo and fast text speed ld hl, Options ld a, [hl] push af - and $20 - or $01 + and (1 << STEREO) + or 1 ; 1 frame per character i.e. fast text ld [hl], a - ld a, $01 - ld [wc2d7], a + ld a, 1 + ld [wDisableTextAcceleration], a callba BattleIntro callba DoBattle callba ShowLinkBattleParticipantsAfterEnd xor a - ld [wc2d7], a + ld [wDisableTextAcceleration], a ld a, $ff ld [hLinkPlayerNumber], a pop af @@ -4075,29 +4082,29 @@ Function101a21: ; 101a21 ; 101a4f Function101a4f: ; 101a4f - ld a, $01 - ld [wc2d7], a + ld a, 1 + ld [wDisableTextAcceleration], a callba DetermineMobileBattleResult xor a - ld [wc2d7], a + ld [wDisableTextAcceleration], a callba CleanUpBattleRAM callba LoadPokemonData call Function1013c0 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101a75 -Function101a75: ; 101a75 +CopyOtherPlayersBattleMonSelection: ; 101a75 ld hl, wcc61 - ld de, wcd75 + ld de, wOTMonSelection ld bc, 3 call CopyBytes ld de, wcc64 callba Function100772 callba Function101050 - callba Function1010f2 + callba LoadSelectedPartiesForColosseum ret ; 101a97 @@ -4109,9 +4116,9 @@ Function101a97: ; 101a97 call Function10142c ld hl, wcd29 set 6, [hl] - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101ab4 @@ -4120,9 +4127,9 @@ Function101ab4: ; 101ab4 call Function101ee4 ld hl, wcd29 set 5, [hl] - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101ac6 @@ -4138,9 +4145,9 @@ Function101ac6: ; 101ac6 ld [wcd2f], a ld de, wdc42 call Function102068 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101aed @@ -4154,9 +4161,9 @@ Function101aed: ; 101aed set 6, [hl] ld a, $01 ld [wcd2f], a - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101b0f @@ -4167,9 +4174,9 @@ Function101b0f: ; 101b0f call Function101ee4 ld hl, wcd29 set 5, [hl] - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ld a, 0 ld [wcd26], a ret @@ -4193,9 +4200,9 @@ Function101b2b: ; 101b2b ret .asm_101b51 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101b59 @@ -4206,9 +4213,9 @@ Function101b59: ; 101b59 call Function101ee4 ld hl, wcd29 set 5, [hl] - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101b70 @@ -4220,9 +4227,9 @@ Function101b70: ; 101b70 ld hl, wcd29 set 5, [hl] call UpdateSprites - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ld a, 0 ld [wcd26], a ret @@ -4243,17 +4250,17 @@ Function101b8f: ; 101b8f jr z, .asm_101bbc ld a, $01 ld [wcd2f], a - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret .asm_101bbc xor a ld [wcd2f], a - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101bc8 @@ -4266,9 +4273,9 @@ Function101bc8: ; 101bc8 call Function1013dd ld a, 0 ld [wcd26], a - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101be5 @@ -4286,7 +4293,7 @@ Function101be5: ; 101be5 cp $01 jr nz, .asm_101c0b ld a, $2a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret .asm_101c0b @@ -4303,9 +4310,9 @@ Function101c11: ; 101c11 call Function102048 ld hl, wcd29 set 5, [hl] - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101c2b @@ -4316,9 +4323,9 @@ Function101c2b: ; 101c2b call Function101ee4 ld hl, wcd29 set 5, [hl] - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101c42 @@ -4327,7 +4334,7 @@ Function101c42: ; 101c42 set 1, [hl] call Function100665 ld a, $47 - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101c50 @@ -4336,9 +4343,9 @@ Function101c50: ; 101c50 call Function101ee4 ld hl, wcd29 set 2, [hl] - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101c62 @@ -4356,9 +4363,9 @@ Function101c62: ; 101c62 call Function101ee4 ld hl, wcd29 set 5, [hl] - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ld a, 0 ld [wcd26], a ret @@ -4366,9 +4373,9 @@ Function101c62: ; 101c62 Function101c92: ; 101c92 callba Function100675 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101ca0 @@ -4379,9 +4386,9 @@ Function101ca0: ; 101ca0 call Function101ee4 ld hl, wcd29 set 5, [hl] - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ld a, 0 ld [wcd26], a ret @@ -4406,9 +4413,9 @@ Function101cc8: ; 101cc8 ld [wc30d], a ld hl, wcd29 set 4, [hl] - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101cdf @@ -4419,44 +4426,44 @@ Function101cdf: ; 101cdf ld [wc30d], a ld hl, wcd29 set 4, [hl] - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101cf6 Function101cf6: ; 101cf6 ld a, $0b ld [wc314 + 1], a - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101d03 Function101d03: ; 101d03 ld a, $0e ld [wc314 + 1], a - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101d10 Function101d10: ; 101d10 ld c, $01 call Function10142c - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a jr Function101d2a Function101d1e: ; 101d1e ld c, $03 call Function10142c - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a Function101d2a: ; 101d2a call Function101418 @@ -4471,9 +4478,9 @@ Function101d2a: ; 101d2a ret z ld a, 0 ld [wcd26], a - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101d4d @@ -4506,7 +4513,7 @@ Function101d6b: ; 101d6b ld hl, wcd29 res 4, [hl] ld a, $64 - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101d7b @@ -4517,7 +4524,7 @@ Function101d7b: ; 101d7b add hl, bc ld c, [hl] ld a, c - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101d8d @@ -4532,9 +4539,9 @@ Function101d95: ; 101d95 call Function101ee4 ld hl, wcd29 set 5, [hl] - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ld a, 0 ld [wcd26], a ret @@ -4546,9 +4553,9 @@ Function101db2: ; 101db2 ld hl, wcd29 set 5, [hl] jr c, .asm_101dca - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret .asm_101dca @@ -4562,12 +4569,12 @@ Function101dd0: ; 101dd0 bit 1, [hl] jr nz, .asm_101ddd ld a, $19 - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret .asm_101ddd ld a, $1b - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101de3 @@ -4575,17 +4582,17 @@ Function101de3: ; 101de3 call Function101ecc call Function101ead jr c, .asm_101df3 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret .asm_101df3 call Function101e98 jr c, .asm_101e00 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret .asm_101e00 @@ -4598,9 +4605,9 @@ Function101de3: ; 101de3 Function101e09: ; 101e09 call Function101ead jr c, .asm_101e16 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret .asm_101e16 @@ -4610,9 +4617,9 @@ Function101e09: ; 101e09 call Function101ed3 pop af jr c, .asm_101e2b - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret .asm_101e2b @@ -4623,7 +4630,7 @@ Function101e09: ; 101e09 Function101e31: ; 101e31 ld a, $3a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a jp Function101c2b ; 101e39 @@ -4634,7 +4641,7 @@ Function101e39: ; 101e39 pop af jr c, .asm_101e49 ld a, $2a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret .asm_101e49 @@ -4647,9 +4654,9 @@ Function101e4f: ; 101e4f ld e, $06 call Function101ee4 call Function1013d6 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ld a, 0 ld [wcd26], a ret @@ -4663,7 +4670,7 @@ Function101e64: ; 101e64 pop af jr c, .asm_101e77 ld a, $24 - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret .asm_101e77 @@ -4676,17 +4683,17 @@ Function101e64: ; 101e64 Function101e82: ; 101e82 ; unreferenced call Function101ecc - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101e8d Function101e8d: ; 101e8d ; unreferenced call Function101ed3 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101e98 @@ -5182,7 +5189,7 @@ Function10224b: ; 10224b .asm_10225e res 1, [hl] res 2, [hl] - callba Function104099 + callba Mobile_ReloadMapPart scf ret ; 10226a @@ -5269,7 +5276,7 @@ Function1022d0: ; 1022d0 sub c ld c, a ld b, $03 - callba Function10062d + callba AdvanceMobileInactivityTimerAndCheckExpired jr c, .asm_1022f3 xor a ret @@ -5444,8 +5451,8 @@ Function102416: ; 102416 Function102423: ; 102423 call Function102921 ret nc - callba Function14a58 - callba MobileFn_1060af + callba SaveAfterLinkTrade + callba TrainerRankings_Trades callba BackupMobileEventIndex ld hl, wcd4b set 1, [hl] @@ -6145,7 +6152,7 @@ Function1028e8: ; 1028e8 ld hl, wcd4b res 6, [hl] ld [wcd50], a - callba Function100641 + callba StartMobileInactivityTimer ld a, 0 ld [wcd4a], a ret @@ -6549,7 +6556,7 @@ Function102bac: ; 102bac ld [CurPartyMon], a call LowVolume call ClearSprites - callba _BattleStatsScreenInit + callba _MobileStatsScreenInit ld a, [CurPartyMon] inc a ld [wMenuCursorY], a @@ -6809,7 +6816,7 @@ Function102d9a: ; 102d9a hlcoord 0, 0, AttrMap ld bc, SCREEN_WIDTH * SCREEN_HEIGHT call ByteFill - callba Function104000 + callba HDMATransferAttrMapAndTileMapToWRAMBank3 ret ; 102db7 @@ -7204,9 +7211,9 @@ Function1030cd: ; 1030cd ld a, [wcf44] ld l, a ld h, 0 -rept 3 add hl, hl -endr + add hl, hl + add hl, hl ld bc, Unknown_103112 add hl, bc ld b, $30 @@ -7390,7 +7397,7 @@ Function103309: ; 103309 ld [wd1ee], a call Function1034be call UpdateSprites - callba Function104000 + callba HDMATransferAttrMapAndTileMapToWRAMBank3 ld a, $01 ld [wd1f0], a call Function10339a @@ -7404,7 +7411,7 @@ Function103362: ; 103362 call Function1033af call Function10339a call Function10342c - callba Function10402d + callba HDMATransferTileMapToWRAMBank3 ld a, [Buffer2] bit 7, a jr z, .asm_103362 @@ -7443,17 +7450,17 @@ Function10339a: ; 10339a Function1033af: ; 1033af call GetJoypad ld a, [hJoyPressed] - bit 5, a + bit D_LEFT_F, a jr nz, .left - bit 4, a + bit D_RIGHT_F, a jr nz, .right - bit 1, a + bit B_BUTTON_F, a jr nz, .b - bit 0, a + bit A_BUTTON_F, a jr nz, .a - bit 6, a + bit D_UP_F, a jr nz, .up - bit 7, a + bit D_DOWN_F, a jr nz, .down ret @@ -7461,7 +7468,7 @@ Function1033af: ; 1033af ld a, [wd1f0] dec a ld [wd1f0], a - cp $01 + cp 1 ret nc ld a, [wd1ee] ld [wd1f0], a @@ -7475,7 +7482,7 @@ Function1033af: ; 1033af ld a, [wd1ee] cp c ret nc - ld a, $01 + ld a, 1 ld [wd1f0], a ret @@ -7487,8 +7494,8 @@ Function1033af: ; 1033af .a ld a, [wd1f3] - cp $03 - jr nz, .asm_103412 + cp 3 + jr nz, .a_return ld de, SFX_TRANSACTION call PlaySFX ld hl, Buffer2 @@ -7499,9 +7506,9 @@ Function1033af: ; 1033af .left .right -.asm_103412 +.a_return ld a, [wd1f3] - cp $03 + cp 3 ret z ld de, SFX_PUSH_BUTTON call PlaySFX @@ -8101,7 +8108,7 @@ Function10383c: ; 10383c ld a, $01 ld [wdc60], a xor a - ld hl, wdc5c + ld hl, wPlayerMonSelection ld [hli], a ld [hli], a ld [hl], a @@ -8112,7 +8119,7 @@ Function10383c: ; 10383c callba Function4a94e jr c, .asm_103870 ld hl, wd002 - ld de, wdc5c + ld de, wPlayerMonSelection ld bc, 3 call CopyBytes xor a diff --git a/misc/mobile_41.asm b/misc/mobile_41.asm index 44db58602..331242d88 100755 --- a/misc/mobile_41.asm +++ b/misc/mobile_41.asm @@ -1,50 +1,63 @@ SECTION "bank41_2", ROMX, BANK[$41] -Mobile_HallOfFame2:: mobile ; 0x105ef6 +; These functions deal with miscellaneous statistics +; which were used for Trainer Rankings in Pokémon News. + +; Copies certain values at the time the player enters the Hall of Fame. +TrainerRankings_HallOfFame2:: mobile ; 0x105ef6 ld a, $5 call GetSRAMBank + ld hl, GameTimeHours - ld de, $a001 + ld de, sTrainerRankingGameTimeHOF ld bc, 4 call CopyBytes - ld hl, $a010 - ld de, $a005 + + ld hl, sTrainerRankingStepCount + ld de, sTrainerRankingStepCountHOF ld bc, 4 call CopyBytes - ld hl, $a039 - ld de, $a009 + + ; sTrainerRankingHealings is only a 3-byte value. + ; One extraneous byte is copied from sTrainerRankingMysteryGift. + ld hl, sTrainerRankingHealings + ld de, sTrainerRankingHealingsHOF ld bc, 4 call CopyBytes - ld hl, $a01b - ld de, $a00d + + ld hl, sTrainerRankingBattles + ld de, sTrainerRankingBattlesHOF ld bc, 3 call CopyBytes - call Function106162 + + call UpdateTrainerRankingsChecksum call CloseSRAM ret ; 105f33 -MagikarpLength_Mobile: mobile ; 105f33 +TrainerRankings_MagikarpLength: mobile ; 105f33 ld a, $5 call GetSRAMBank ld de, Buffer1 - ld hl, $a07b + ld hl, sTrainerRankingLongestMagikarp + + ; Is this Magikarp the longest measured? ld a, [de] cp [hl] - jr z, .asm_105f47 - jr nc, .asm_105f4f - jr .asm_105f55 + jr z, .isLowByteHigher + jr nc, .newRecordLongest + jr .checkShortest -.asm_105f47 +.isLowByteHigher inc hl inc de ld a, [de] cp [hl] dec hl dec de - jr c, .asm_105f55 + jr c, .checkShortest -.asm_105f4f +.newRecordLongest ld a, [de] inc de ld [hli], a @@ -52,150 +65,157 @@ MagikarpLength_Mobile: mobile ; 105f33 dec de ld [hl], a -.asm_105f55 - ld hl, $a07d +.checkShortest + ; First, check if the record for shortest Magikarp is 0. + ; This seems unnecessary, because the value is initialized to 100.0 cm. + ld hl, sTrainerRankingShortestMagikarp ld a, [hli] or [hl] dec hl - jr z, .asm_105f6d + jr z, .newRecordShortest + + ; Now check if this Magikarp is the shortest ld a, [de] cp [hl] - jr z, .asm_105f65 - jr c, .asm_105f6d - jr .asm_105f72 + jr z, .isLowByteLower + jr c, .newRecordShortest + jr .done -.asm_105f65 +.isLowByteLower inc hl inc de ld a, [de] cp [hl] - jr nc, .asm_105f72 + jr nc, .done dec hl dec de -.asm_105f6d +.newRecordShortest ld a, [de] inc de ld [hli], a ld a, [de] ld [hl], a -.asm_105f72 - call Function106162 +.done + call UpdateTrainerRankingsChecksum call CloseSRAM ret ; 105f79 -MobileFn_105f79: mobile ; 105f79 +TrainerRankings_BugContestScore: mobile ; 105f79 ld a, $5 call GetSRAMBank ld a, [hProduct] - ld hl, $a07f + ld hl, sTrainerRankingBugContestScore cp [hl] - jr z, .asm_105f8b - jr nc, .asm_105f92 - jr .asm_105f98 + jr z, .isLowByteHigher + jr nc, .newHighScore + jr .done -.asm_105f8b +.isLowByteHigher inc hl ld a, [hMultiplicand] cp [hl] - jr c, .asm_105f98 + jr c, .done dec hl -.asm_105f92 +.newHighScore ld a, [hProduct] ld [hli], a ld a, [hMultiplicand] ld [hl], a -.asm_105f98 - call Function106162 +.done + call UpdateTrainerRankingsChecksum call CloseSRAM ret ; 105f9f -MobileFn_105f9f: mobile ; 105f9f +TrainerRankings_AddToSlotsWinStreak: mobile ; 105f9f ld a, $5 call GetSRAMBank - ld hl, $a070 + + ; Increment the current streak + ld hl, sTrainerRankingCurrentSlotsStreak + 1 inc [hl] - jr nz, .asm_105fae + jr nz, .noCarry dec hl inc [hl] inc hl -.asm_105fae +.noCarry dec hl - ld a, [$a071] + ; Now check if this is a new record for longest streak + ld a, [sTrainerRankingLongestSlotsStreak] cp [hl] - jr z, .asm_105fb9 - jr c, .asm_105fc1 - jr .asm_105fc9 + jr z, .isLowByteHigher + jr c, .newRecordStreak + jr .done -.asm_105fb9 +.isLowByteHigher inc hl - ld a, [$a072] + ld a, [sTrainerRankingLongestSlotsStreak + 1] cp [hl] - jr nc, .asm_105fc9 + jr nc, .done dec hl -.asm_105fc1 +.newRecordStreak ld a, [hli] - ld [$a071], a + ld [sTrainerRankingLongestSlotsStreak], a ld a, [hl] - ld [$a072], a + ld [sTrainerRankingLongestSlotsStreak + 1], a -.asm_105fc9 - call Function106162 +.done + call UpdateTrainerRankingsChecksum call CloseSRAM ret ; 105fd0 -MobileFn_105fd0: mobile ; 105fd0 +TrainerRankings_EndSlotsWinStreak: mobile ; 105fd0 ld a, $5 call GetSRAMBank - ld hl, $a06f + ld hl, sTrainerRankingCurrentSlotsStreak xor a ld [hli], a ld [hl], a - call Function106162 + call UpdateTrainerRankingsChecksum call CloseSRAM ret ; 105fe3 -MobileFn_105fe3: mobile ; 105fe3 +TrainerRankings_AddToSlotsPayouts: mobile ; 105fe3 ld a, $5 call GetSRAMBank - ld hl, $a076 + ld hl, sTrainerRankingTotalSlotsPayouts + 3 ld a, e add [hl] ld [hld], a ld a, d adc [hl] ld [hld], a - jr nc, .asm_106001 + jr nc, .done inc [hl] - jr nz, .asm_106001 + jr nz, .done dec hl inc [hl] - jr nz, .asm_106001 + jr nz, .done ld a, $ff -rept 3 ld [hli], a -endr + ld [hli], a + ld [hli], a ld [hl], a -.asm_106001 - call Function106162 +.done + call UpdateTrainerRankingsChecksum call CloseSRAM ret ; 106008 -MobileFn_106008: mobile ; 106008 +TrainerRankings_AddToBattlePayouts: mobile ; 106008 ld a, $5 call GetSRAMBank - ld hl, $a07a + ld hl, sTrainerRankingTotalBattlePayouts + 3 ld a, [bc] dec bc add [hl] @@ -207,189 +227,195 @@ MobileFn_106008: mobile ; 106008 ld a, [bc] adc [hl] ld [hld], a - jr nc, .asm_106027 + jr nc, .done inc [hl] - jr nz, .asm_106027 + jr nz, .done ld a, $ff -rept 3 ld [hli], a -endr + ld [hli], a + ld [hli], a ld [hl], a -.asm_106027 - call Function106162 +.done + call UpdateTrainerRankingsChecksum call CloseSRAM ret ; 10602e -MobileFn_10602e: mobile ; 10602e (41:602e) - ld hl, $a010 - jp MobileFn_106117 +TrainerRankings_StepCount: mobile ; 10602e (41:602e) + ld hl, sTrainerRankingStepCount + jp TrainerRankings_Increment4Byte -MobileFn_106035: mobile ; 106035 +; Unreferenced in English version. +TrainerRankings_BattleTowerWins: mobile ; 106035 ld a, $5 call GetSRAMBank ld a, [$aa8d] and a call CloseSRAM ret nz - ld hl, $a014 - jp Function106123 + ld hl, sTrainerRankingBattleTowerWins + jp TrainerRankings_Increment2Byte -MobileFn_106049: mobile ; 106049 - ld hl, $a018 - jp Function10611d +TrainerRankings_TMsHMsTaught: mobile ; 106049 + ld hl, sTrainerRankingTMsHMsTaught + jp TrainerRankings_Increment3Byte -MobileFn_106050: mobile ; 106050 +TrainerRankings_Battles: mobile ; 106050 ld a, [BattleType] - cp BATTLETYPE_TUTORIAL + cp BATTLETYPE_TUTORIAL ; Exclude the Dude’s tutorial battle ret z - ld hl, $a01b - jp Function10611d + ld hl, sTrainerRankingBattles + jp TrainerRankings_Increment3Byte -MobileFn_10605d: mobile ; 10605d +TrainerRankings_WildBattles: mobile ; 10605d ld a, [BattleType] - cp BATTLETYPE_TUTORIAL + cp BATTLETYPE_TUTORIAL ; Exclude the Dude’s tutorial battle ret z - ld hl, $a01e - jp Function10611d + ld hl, sTrainerRankingWildBattles + jp TrainerRankings_Increment3Byte -MobileFn_10606a: mobile ; 10606a - ld hl, $a021 - jp Function10611d +TrainerRankings_TrainerBattles: mobile ; 10606a + ld hl, sTrainerRankingTrainerBattles + jp TrainerRankings_Increment3Byte -MobileFn_106071: mobile ; 106071 - ld hl, $a024 - jp Function10611d +TrainerRankings_Unused1: mobile ; 106071 + ld hl, sTrainerRankingUnused1 + jp TrainerRankings_Increment3Byte -Mobile_HallOfFame:: mobile ; 0x106078 - ld hl, $a027 - jp Function10611d +TrainerRankings_HallOfFame:: mobile ; 0x106078 + ld hl, sTrainerRankingHOFEntries + jp TrainerRankings_Increment3Byte -MobileFn_10607f: mobile ; 10607f (41:607f) - ld hl, $a02a - jp Function10611d +TrainerRankings_WildMonsCaught: mobile ; 10607f (41:607f) + ld hl, sTrainerRankingWildMonsCaught + jp TrainerRankings_Increment3Byte -MobileFn_106086: mobile ; 106086 - ld hl, $a02d - jp Function10611d +TrainerRankings_HookedEncounters: mobile ; 106086 + ld hl, sTrainerRankingHookedEncounters + jp TrainerRankings_Increment3Byte -MobileFn_10608d: mobile ; 10608d (41:608d) - ld hl, $a030 - jp Function10611d +TrainerRankings_EggsHatched: mobile ; 10608d (41:608d) + ld hl, sTrainerRankingEggsHatched + jp TrainerRankings_Increment3Byte -MobileFn_106094: mobile ; 106094 - ld hl, $a033 - jp Function10611d +TrainerRankings_MonsEvolved: mobile ; 106094 + ld hl, sTrainerRankingMonsEvolved + jp TrainerRankings_Increment3Byte -MobileFn_10609b: mobile ; 10609b - ld hl, $a036 - jp Function10611d +TrainerRankings_FruitPicked: mobile ; 10609b + ld hl, sTrainerRankingFruitPicked + jp TrainerRankings_Increment3Byte -Mobile_HealParty: mobile ; 1060a2 - ld hl, $a039 - jp Function10611d +TrainerRankings_Healings: mobile ; 1060a2 + ld hl, sTrainerRankingHealings + jp TrainerRankings_Increment3Byte -MobileFn_1060a9: mobile ; 1060a9 (41:60a9) - ld hl, $a03c - jr Function10611d +TrainerRankings_MysteryGift: mobile ; 1060a9 (41:60a9) + ld hl, sTrainerRankingMysteryGift + jr TrainerRankings_Increment3Byte -MobileFn_1060af: mobile ; 1060af - ld hl, $a03f - jr Function10611d +TrainerRankings_Trades: mobile ; 1060af + ld hl, sTrainerRankingTrades + jr TrainerRankings_Increment3Byte -MobileFn_1060b5: mobile ; 1060b5 - ld hl, $a042 - jr Function10611d +TrainerRankings_Fly: mobile ; 1060b5 + ld hl, sTrainerRankingFly + jr TrainerRankings_Increment3Byte -MobileFn_1060bb: mobile ; 1060bb - ld hl, $a045 - jr Function10611d +TrainerRankings_Surf: mobile ; 1060bb + ld hl, sTrainerRankingSurf + jr TrainerRankings_Increment3Byte -MobileFn_1060c1: mobile ; 1060c1 - ld hl, $a048 - jr Function10611d +TrainerRankings_Waterfall: mobile ; 1060c1 + ld hl, sTrainerRankingWaterfall + jr TrainerRankings_Increment3Byte -MobileFn_1060c7: mobile ; 1060c7 - ld hl, $a04b - jr Function10611d +TrainerRankings_WhiteOuts: mobile ; 1060c7 + ld hl, sTrainerRankingWhiteOuts + jr TrainerRankings_Increment3Byte -MobileFn_1060cd: mobile ; 1060cd - ld hl, $a04e - jr Function106123 +TrainerRankings_LuckyNumberShow: mobile ; 1060cd + ld hl, sTrainerRankingLuckyNumberShow + jr TrainerRankings_Increment2Byte -MobileFn_1060d3: mobile ; 1060d3 - ld hl, $a051 - jr Function10611d +TrainerRankings_PhoneCalls: mobile ; 1060d3 + ld hl, sTrainerRankingPhoneCalls + jr TrainerRankings_Increment3Byte -MobileFn_1060d9: mobile ; 1060df - ld hl, $a054 - jr Function10611d +TrainerRankings_Unused2: mobile ; 1060df + ld hl, sTrainerRankingUnused2 + jr TrainerRankings_Increment3Byte -MobileFn_1060df: mobile ; 1060df - ld hl, $a057 - jr Function10611d +TrainerRankings_LinkBattles: mobile ; 1060df + ld hl, sTrainerRankingLinkBattles + jr TrainerRankings_Increment3Byte -MobileFn_1060e5: mobile ; 1060e5 +TrainerRankings_Splash: mobile ; 1060e5 + ; Only counts if it’s the player’s turn ld a, [hBattleTurn] and a ret nz - ld hl, $a05a - jr Function10611d + ld hl, sTrainerRankingSplash + jr TrainerRankings_Increment3Byte -MobileFn_1060ef: mobile ; 1060ef - ld hl, $a05d - jr Function10611d +TrainerRankings_TreeEncounters: mobile ; 1060ef + ld hl, sTrainerRankingTreeEncounters + jr TrainerRankings_Increment3Byte -MobileFn_1060f5: mobile ; 1060f5 - ld hl, $a060 - jr Function10611d +TrainerRankings_Unused3: mobile ; 1060f5 + ld hl, sTrainerRankingUnused3 + jr TrainerRankings_Increment3Byte -MobileFn_SaveBattleResult_Win: mobile ; win - ld hl, $a063 - jr Function10611d +TrainerRankings_ColosseumWins: mobile ; win + ld hl, sTrainerRankingColosseumWins + jr TrainerRankings_Increment3Byte -MobileFn_SaveBattleResult_Lose: mobile ; lose - ld hl, $a066 - jr Function10611d +TrainerRankings_ColosseumLosses: mobile ; lose + ld hl, sTrainerRankingColosseumLosses + jr TrainerRankings_Increment3Byte ; 106107 -MobileFn_SaveBattleResult_Draw: mobile ; draw - ld hl, $a069 - jr Function10611d +TrainerRankings_ColosseumDraws: mobile ; draw + ld hl, sTrainerRankingColosseumDraws + jr TrainerRankings_Increment3Byte ; 10610d -MobileFn_10610d: mobile ; 10610d +; Counts uses of both SelfDestruct and Explosion. +TrainerRankings_SelfDestruct: mobile ; 10610d + ; Only counts if it’s the player’s turn ld a, [hBattleTurn] and a ret nz - ld hl, $a06c - jr Function10611d + ld hl, sTrainerRankingSelfDestruct + jr TrainerRankings_Increment3Byte ; 106117 -MobileFn_106117: ; 106117 +TrainerRankings_Increment4Byte: ; 106117 push bc ld bc, 3 - jr Function10612d + jr TrainerRankings_Increment ; 10611d -Function10611d: ; 10611d +TrainerRankings_Increment3Byte: ; 10611d push bc ld bc, 2 - jr Function10612d + jr TrainerRankings_Increment ; 106123 -Function106123: ; 106123 +TrainerRankings_Increment2Byte: ; 106123 push bc ld bc, 1 - jr Function10612d + jr TrainerRankings_Increment ; 106129 -Function106129: ; 106129 +; unused +TrainerRankings_Increment1Byte: ; 106129 push bc ld bc, 0 -Function10612d: ; 10612d +; Increments a big-endian value of bc + 1 bytes at hl +TrainerRankings_Increment: ; 10612d ld a, $5 call GetSRAMBank push hl @@ -419,24 +445,25 @@ Function10612d: ; 10612d jr .asm_106142 .asm_10614d - call Function106162 + call UpdateTrainerRankingsChecksum call CloseSRAM pop bc ret ; 106155 -MobileFn_106155: mobile ; 106155 +; Used when SRAM bank 5 isn’t already loaded — what’s the point of this? +UpdateTrainerRankingsChecksum2: mobile ; 106155 ld a, $5 call GetSRAMBank - call Function106162 + call UpdateTrainerRankingsChecksum call CloseSRAM ret ; 106162 -Function106162: ; 106162 +UpdateTrainerRankingsChecksum: ; 106162 push de - call Function10616e - ld hl, $a081 ; s5_a081 + call CalculateTrainerRankingsChecksum + ld hl, sTrainerRankingsChecksum ld [hl], d inc hl ld [hl], e @@ -444,10 +471,10 @@ Function106162: ; 106162 ret ; 10616e -Function10616e: ; 10616e +CalculateTrainerRankingsChecksum: ; 10616e push bc - ld hl, $a001 ; s5_a001 - ld bc, $80 + ld hl, sTrainerRankings + ld bc, sTrainerRankingsChecksum - sTrainerRankings xor a ld de, 0 .asm_106179 @@ -495,9 +522,10 @@ RestoreMobileEventIndex: ; 10619d (41:619d) ret ; 1061b3 (41:61b3) -Function1061b3: ; 1061b3 - call Function10616e - ld hl, $a081 ; s5_a081 +; Unreferenced in English version. +VerifyTrainerRankingsChecksum: ; 1061b3 + call CalculateTrainerRankingsChecksum + ld hl, sTrainerRankingsChecksum ld a, d cp [hl] ret nz @@ -516,19 +544,24 @@ DeleteMobileEventIndex: ; 1061c0 (41:61c0) ret ; 1061cd (41:61cd) -Function1061cd: ; unreferenced - ld hl, $a001 - ld bc, $82 +; Used in the Japanese version to initialize Trainer Rankings data +; for a new save file. Unreferenced in the English version. +InitializeTrainerRankings: + ld hl, sTrainerRankings + ld bc, sTrainerRankingsEnd - sTrainerRankings xor a call ByteFill - ld hl, $a07d + + ; Initialize the shortest Magikarp to 100.0 cm + ld hl, sTrainerRankingShortestMagikarp ld a, $3 ld [hli], a ld [hl], $e8 - call Function106162 - ld hl, $a001 - ld de, $a084 - ld bc, $82 + + call UpdateTrainerRankingsChecksum + ld hl, sTrainerRankings + ld de, sTrainerRankingsBackup + ld bc, sTrainerRankingsEnd - sTrainerRankings call CopyBytes ret ; 1061ef @@ -606,12 +639,11 @@ _MobilePrintNum:: ; 1061ef ld de, ._9 .three_to_nine_digits -rept 3 inc de -endr -rept 2 + inc de + inc de + dec a dec a -endr .digit_loop push af @@ -690,9 +722,9 @@ endr sbc b ld [hPrintNum6], a ld a, [de] -rept 3 inc de -endr + inc de + inc de ld b, a ld a, [hPrintNum1] sbc b @@ -807,17 +839,17 @@ Function106331: ; 106331 - called by Mobile_DummyReturnFalse in Crystal-J ; 10635c Function10635c: ; 10635c - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] bit 7, a ret nz - ld a, [wcd25] - ld hl, Jumptable_10636a + ld a, [wMobileCommsJumptableIndex] + ld hl, .Jumptable rst JumpTable ret ; 10636a -Jumptable_10636a: ; 10636a - dw Function10637c +.Jumptable: ; 10636a + dw .init dw Function106392 dw Function1063cc dw Function1063d8 @@ -828,15 +860,15 @@ Jumptable_10636a: ; 10636a dw Function106453 ; 10637c -Function10637c: ; 10637c +.init: ; 10637c ld de, wcd30 ld hl, $41 ld bc, $41 ld a, $40 call Function3e32 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 106392 @@ -858,39 +890,39 @@ Function106392: ; 106392 ld a, $b ld [wcf64], a ld a, $7 - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret .asm_1063b4 ld a, $7 ld [wcf64], a ld a, $7 - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret .asm_1063bf ld a, $1 ld [wcf64], a - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 1063cc Function1063cc: ; 1063cc ld a, $78 ld [wcd42], a - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a Function1063d8: ; 1063d8 ld hl, wcd42 dec [hl] ret nz - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 1063e5 @@ -898,9 +930,9 @@ Function1063e5: ; 1063e5 ld a, [wcf64] cp $3 ret nz - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 1063f3 @@ -908,9 +940,9 @@ Function1063f3: ; 1063f3 ld de, wcd31 ld a, $32 call Function3e32 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 106403 @@ -931,9 +963,9 @@ Function106403: ; 106403 inc a ld c, a call MobileFn_106314 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret .asm_106426 @@ -941,17 +973,17 @@ Function106403: ; 106403 ld a, c and a jr z, .asm_106435 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret .asm_106435 ld c, $0 call MobileFn_106314 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 106442 @@ -961,14 +993,14 @@ Function106442: ; 106442 xor a ld [hMobile], a ld [hMobileReceive], a - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a Function106453: ; 106453 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] set 7, a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a nop ld a, $4 ld [wcf64], a @@ -984,9 +1016,9 @@ Function106464:: ; 106464 ld hl, VTiles2 tile $60 lb bc, BANK(MobilePhoneTilesGFX), 1 call Get2bpp - ld de, GFX_f9424 + ld de, FontsExtra2_UpArrowGFX ld hl, VTiles2 tile $61 - lb bc, BANK(GFX_f9424), 1 + lb bc, BANK(FontsExtra2_UpArrowGFX), 1 call Get2bpp ld de, GFX_106514 ld hl, VTiles2 tile $62 diff --git a/misc/mobile_42.asm b/misc/mobile_42.asm index a24efd10c..60f9e6d66 100644 --- a/misc/mobile_42.asm +++ b/misc/mobile_42.asm @@ -372,9 +372,8 @@ MobileTradeAnim_JumptableLoop: ; 10824b ld e, a ld d, 0 ld hl, .Jumptable -rept 2 add hl, de -endr + add hl, de ld a, [hli] ld h, [hl] ld l, a @@ -446,7 +445,7 @@ Function1082db: ; 1082db .loop callba PlaySpriteAnimations callba SetUpPokeAnim - callba Function10402d + callba HDMATransferTileMapToWRAMBank3 jr nc, .loop ret ; 1082f0 @@ -493,7 +492,7 @@ MobileTradeAnim_ShowPlayerMonToBeSent: ; 10830e ld [TempMonDVs], a ld a, [wPlayerTrademonDVs + 1] ld [TempMonDVs + 1], a - ld b, SCGB_1A + ld b, SCGB_PLAYER_OR_MON_FRONTPIC_PALS call GetSGBLayout ld a, %11100100 ; 3,2,1,0 call DmgToCgbBGPals @@ -586,7 +585,7 @@ MobileTradeAnim_ShowOTMonFromTrade: ; 10839b ld [TempMonDVs], a ld a, [wOTTrademonDVs + 1] ld [TempMonDVs + 1], a - ld b, SCGB_1A + ld b, SCGB_PLAYER_OR_MON_FRONTPIC_PALS call GetSGBLayout ld a, %11100100 ; 3,2,1,0 call DmgToCgbBGPals @@ -628,7 +627,7 @@ MobileTradeAnim_ShowPlayerMonForGTS: ; 10842c ld [TempMonDVs], a ld a, [wPlayerTrademonDVs + 1] ld [TempMonDVs + 1], a - ld b, SCGB_1A + ld b, SCGB_PLAYER_OR_MON_FRONTPIC_PALS call GetSGBLayout ld a, %11100100 ; 3,2,1,0 call DmgToCgbBGPals @@ -730,7 +729,7 @@ MobileTradeAnim_ShowOTMonFromGTS: ; 1084d7 ld [TempMonDVs], a ld a, [wOTTrademonDVs + 1] ld [TempMonDVs + 1], a - ld b, SCGB_1A + ld b, SCGB_PLAYER_OR_MON_FRONTPIC_PALS call GetSGBLayout ld a, %11100100 ; 3,2,1,0 call DmgToCgbBGPals @@ -799,7 +798,7 @@ MobileTradeAnim_GetOddEgg: ; 108589 ld [TempMonDVs], a ld a, [wOTTrademonDVs + 1] ld [TempMonDVs + 1], a - ld b, SCGB_1A + ld b, SCGB_PLAYER_OR_MON_FRONTPIC_PALS call GetSGBLayout ld a, %11100100 ; 3,2,1,0 call DmgToCgbBGPals @@ -955,9 +954,8 @@ MobileTradeAnim_GiveTrademon1: ; 108763 ld a, [hSCX] cp $e0 jr z, .loop2 -rept 2 dec a -endr + dec a ld [hSCX], a cp $f8 jr nz, .next @@ -974,9 +972,8 @@ endr ld a, [hSCY] cp $f8 jr z, .done -rept 2 dec a -endr + dec a ld [hSCY], a cp $40 jr z, .init @@ -1125,9 +1122,8 @@ MobileTradeAnim_GetTrademon2: ; 108894 ld a, [hSCY] cp $78 jr z, .asm_1088ee -rept 2 inc a -endr + inc a ld [hSCY], a cp $30 jr z, .asm_1088c5 @@ -1166,9 +1162,8 @@ endr ld a, [hSCX] cp $c jr z, .asm_108906 -rept 2 inc a -endr + inc a ld [hSCX], a cp -8 jr nz, .asm_1088e7 diff --git a/misc/mobile_45.asm b/misc/mobile_45.asm index 39d1f46ed..10242b77e 100644 --- a/misc/mobile_45.asm +++ b/misc/mobile_45.asm @@ -153,9 +153,8 @@ Function114243:: ; 114243 Function11425c: ; 11425c ld [$dc02], a pop af -rept 2 ld [hFF8C], a -endr + ld [hFF8C], a ld [MBC3SRamBank], a ret @@ -632,13 +631,12 @@ Function1144c8: ; 1144c8 Function1144d1: ; 1144d1 call Function114561 -rept 2 dec de -endr + dec de push de -rept 3 inc de -endr + inc de + inc de inc hl ld a, [de] ld [hli], a @@ -1006,9 +1004,8 @@ Function1146a4: ; 1146a4 and a jr nz, .asm_1146e8 .asm_1146da -rept 2 dec bc -endr + dec bc call Function1149cc and a jr nz, .asm_1146e4 @@ -1095,9 +1092,8 @@ Function1146fa: ; 1146fa ld a, [$dc0e] cp $3 jr nz, .asm_114773 -rept 2 dec bc -endr + dec bc .asm_114773 call Function1149cc @@ -2069,9 +2065,8 @@ Function114c5e: ; 114c5e inc de cp $3f jr nz, .asm_114c62 -rept 2 dec de -endr + dec de .asm_114c75 ld a, [hli] cp $3f @@ -2091,9 +2086,8 @@ endr ld a, [hli] cp $3d jr nz, .asm_114c84 -rept 2 dec bc -endr + dec bc ld a, l ld [$dc03], a ld a, h @@ -2360,9 +2354,8 @@ Function114d99: ; 114d99 add hl, de ld b, h ld c, l -rept 2 inc bc -endr + inc bc xor a ret @@ -2563,9 +2556,8 @@ Function114ee9: ; 114ee9 ld a, b ld [hli], a ld a, c -rept 2 ld [hli], a -endr + ld [hli], a ld a, [de] ld [hli], a inc de @@ -2970,9 +2962,8 @@ Function1150b3: ; 1150b3 .asm_11510b pop hl -rept 2 dec hl -endr + dec hl push de call Function1158c2 pop de @@ -3499,9 +3490,8 @@ Function1153b5: ; 1153b5 ld e, [hl] inc hl ld d, [hl] -rept 2 inc hl -endr + inc hl ld a, [de] ld [hli], a inc de @@ -4470,9 +4460,9 @@ Function1158c2: ; 1158c2 ld bc, $0003 .asm_115914 -rept 3 dec bc -endr + dec bc + dec bc ld a, c ld [$dc19], a ld a, b @@ -4523,9 +4513,8 @@ endr ld a, $3f and c ld [hld], a -rept 2 dec hl -endr + dec hl pop de ld b, h ld c, l @@ -4581,9 +4570,8 @@ endr ld a, [hli] ld c, a ld b, [hl] -rept 2 inc bc -endr + inc bc ld a, b ld [hld], a ld [hl], c @@ -4864,9 +4852,8 @@ Function115b00: ; 115b00 ld a, [wStartDay] cp $4 jr z, .asm_115b43 -rept 2 inc hl -endr + inc hl jr .asm_115b43 .asm_115b36 @@ -5048,9 +5035,8 @@ Function115bc8: ; 115bc8 ret .asm_115c33 -rept 2 dec hl -endr + dec hl xor a ld [hl], a ld a, $1 @@ -5153,9 +5139,9 @@ endr ld e, [hl] inc hl ld d, [hl] -rept 3 inc de -endr + inc de + inc de ld [hl], d dec hl ld [hl], e @@ -5406,9 +5392,8 @@ Function11659d: ; 11659d ld e, a ld d, 0 ld hl, Jumptable_1165af -rept 2 add hl, de -endr + add hl, de ld a, [hli] ld h, [hl] ld l, a @@ -6941,9 +6926,8 @@ Function117719: ; 117719 (45:7719) ld e, a ld d, 0 ld hl, Jumptable_117728 -rept 2 add hl, de -endr + add hl, de ld a, [hli] ld h, [hl] ld l, a @@ -7396,7 +7380,7 @@ Function117a94: ; 0x117a94 call ClearBGPalettes call ClearSprites callba Function172e78 - callba Function104000 + callba HDMATransferAttrMapAndTileMapToWRAMBank3 ret ; 0x117ab4 @@ -7417,7 +7401,7 @@ Function117acd: ; 0x117acd bit 7, a jr nz, .asm_117ae2 call Function117ae9 - callba Function104000 + callba HDMATransferAttrMapAndTileMapToWRAMBank3 jr Function117acd .asm_117ae2 @@ -7430,9 +7414,8 @@ Function117ae9: ; 0x117ae9 ld e, a ld d, $0 ld hl, .Jumptable -rept 2 add hl, de -endr + add hl, de ld a, [hli] ld h, [hl] ld l, a diff --git a/misc/mobile_45_sprite_engine.asm b/misc/mobile_45_sprite_engine.asm index ab31a9bb9..d0183b2ca 100755 --- a/misc/mobile_45_sprite_engine.asm +++ b/misc/mobile_45_sprite_engine.asm @@ -375,9 +375,8 @@ Function1161b8: ; 1161b8 ld e, a ld d, 0 ld hl, .Jumptable -rept 2 add hl, de -endr + add hl, de ld a, [hli] ld h, [hl] ld l, a diff --git a/misc/mobile_46.asm b/misc/mobile_46.asm index a7feeea28..644989872 100755 --- a/misc/mobile_46.asm +++ b/misc/mobile_46.asm @@ -1067,7 +1067,7 @@ asm_11886f ld [wcd3c], a call Function119e2e ld a, [wcd33] - ld [wcd45], a + ld [wMobileInactivityTimerSeconds], a Function118880: ; 118880 (46:4880) call Function119ed8 @@ -1344,7 +1344,7 @@ Function118982: ld a, $7 ld [wcf66], a ld a, $0 - ld [wcd46], a + ld [wMobileInactivityTimerFrames], a ret @@ -1615,7 +1615,7 @@ Function118d80: ; 118d80 ld a, $9 ld [wcd3c], a ld a, $12 - ld [wcd45], a + ld [wMobileInactivityTimerSeconds], a call Function119e2e Function118d9b: @@ -1830,9 +1830,9 @@ Function118ec6: ; 118ec6 ld a, $1d ld [wcd3c], a ld a, $24 - ld [wcd45], a + ld [wMobileInactivityTimerSeconds], a ld a, $11 - ld [wcd46], a + ld [wMobileInactivityTimerFrames], a ld a, $1c ld [wcd47], a jp Function119e2e @@ -1871,9 +1871,9 @@ Function118f14: ld a, $9 ld [wcd3c], a ld a, $24 - ld [wcd45], a + ld [wMobileInactivityTimerSeconds], a ld a, $13 - ld [wcd46], a + ld [wMobileInactivityTimerFrames], a ld a, $1c ld [wcd47], a jp Function119e2e @@ -2518,7 +2518,7 @@ Function119388: ; 119388 ld a, $9 ld [wcd3c], a ld a, $10 - ld [wcd45], a + ld [wMobileInactivityTimerSeconds], a call Function119e2e Function1193a0: @@ -2565,7 +2565,7 @@ Function1193e3: ; 1193e3 ld a, $9 ld [wcd3c], a ld a, $11 - ld [wcd45], a + ld [wMobileInactivityTimerSeconds], a call Function119e2e Function1193fb: @@ -2895,9 +2895,9 @@ Function1195f8: ; 1195f8 (46:55f8) ld a, $11 ld [wcd3c], a ld a, $1c - ld [wcd45], a + ld [wMobileInactivityTimerSeconds], a ld a, $f - ld [wcd46], a + ld [wMobileInactivityTimerFrames], a ld a, $14 ld [wcd47], a call Function119e2e @@ -2907,9 +2907,9 @@ Function119612: ; 119612 (46:5612) ld a, $14 ld [wcd3c], a ld a, $1c - ld [wcd45], a + ld [wMobileInactivityTimerSeconds], a ld a, $10 - ld [wcd46], a + ld [wMobileInactivityTimerFrames], a ld a, $14 ld [wcd47], a jp Function119e2e @@ -2925,7 +2925,7 @@ Function119629: ; 119629 (46:5629) ld a, $9 ld [wcd3c], a ld a, $1c - ld [wcd45], a + ld [wMobileInactivityTimerSeconds], a ld a, $14 ld [wcd47], a call Function119e2e @@ -3219,7 +3219,7 @@ Function1197c9: ; 1197c9 ld a, $9 ld [wcd3c], a ld a, $12 - ld [wcd45], a + ld [wMobileInactivityTimerSeconds], a call Function119e2e Function1197dc: @@ -3767,9 +3767,9 @@ Function119b6b: ; 119b6b ld [hld], a dec hl pop de -rept 3 inc hl -endr + inc hl + inc hl ld a, h cp $e0 jr c, .asm_119b93 @@ -3943,7 +3943,7 @@ Function119cdf: Function119cec: call Function119ed8 ret c - ld a, [wcd46] + ld a, [wMobileInactivityTimerFrames] ld [wcf66], a ret ; 119cf7 @@ -4301,16 +4301,16 @@ Function119f45: ; 119f45 ld de, String_11a661 call PlaceString ld a, $80 - ld [wcd44], a + ld [wMobileInactivityTimerMinutes], a jp Function11a5b0 ; 119f56 Function119f56: ; 119f56 - ld a, [wcd44] + ld a, [wMobileInactivityTimerMinutes] and a jr z, .asm_119f62 dec a - ld [wcd44], a + ld [wMobileInactivityTimerMinutes], a scf ret @@ -4320,16 +4320,16 @@ Function119f56: ; 119f56 ld de, String_11a6aa call PlaceString ld a, $80 - ld [wcd44], a + ld [wMobileInactivityTimerMinutes], a jp Function11a5b0 ; 119f76 Function119f76: ; 119f76 - ld a, [wcd44] + ld a, [wMobileInactivityTimerMinutes] and a jr z, .asm_119f82 dec a - ld [wcd44], a + ld [wMobileInactivityTimerMinutes], a scf ret @@ -4340,7 +4340,7 @@ Function119f76: ; 119f76 call PlaceString call Function11a5f5 xor a - ld [wcd44], a + ld [wMobileInactivityTimerMinutes], a jp Function11a5b0 ; 119f98 @@ -4348,7 +4348,7 @@ Function119f98: ; 119f98 call Function11a536 ret c call PlayClickSFX - ld a, [wcd44] + ld a, [wMobileInactivityTimerMinutes] and a jr nz, .asm_119fef call ExitMenu @@ -4385,7 +4385,7 @@ Function119f98: ; 119f98 call ExitMenu call ExitMenu callba ReloadMapPart - ld a, [wcd45] + ld a, [wMobileInactivityTimerSeconds] ld [wcf66], a callba Function115dc3 ld a, $a @@ -4504,12 +4504,12 @@ Function11a113: ; 11a113 Function11a129: ; 11a129 ld a, $80 - ld [wcd44], a + ld [wMobileInactivityTimerMinutes], a jp Function11a5b0 ; 11a131 Function11a131: ; 11a131 - ld hl, wcd44 + ld hl, wMobileInactivityTimerMinutes dec [hl] ret nz ld a, [wcd3c] @@ -4541,16 +4541,16 @@ Function11a14b: ; 11a14b ld de, String_11a6f1 call PlaceString ld a, $80 - ld [wcd44], a + ld [wMobileInactivityTimerMinutes], a jp Function11a5b0 ; 11a16d Function11a16d: ; 11a16d - ld a, [wcd44] + ld a, [wMobileInactivityTimerMinutes] and a jr z, .asm_11a179 dec a - ld [wcd44], a + ld [wMobileInactivityTimerMinutes], a scf ret @@ -4562,7 +4562,7 @@ Function11a16d: ; 11a16d call PlaceString call Function11a5f5 xor a - ld [wcd44], a + ld [wMobileInactivityTimerMinutes], a jp Function11a5b0 ; 11a192 @@ -4570,7 +4570,7 @@ Function11a192: ; 11a192 call Function11a536 ret c call PlayClickSFX - ld a, [wcd44] + ld a, [wMobileInactivityTimerMinutes] and a jr nz, .asm_11a1b6 call ExitMenu @@ -4585,7 +4585,7 @@ Function11a192: ; 11a192 .asm_11a1b6 call ExitMenu callba ReloadMapPart - ld a, [wcd45] + ld a, [wMobileInactivityTimerSeconds] ld [wcf66], a ld [wcd80], a call Function11a63c @@ -4649,7 +4649,7 @@ Function11a207: ; 11a207 ld a, $ed ld [hl], a xor a - ld [wcd44], a + ld [wMobileInactivityTimerMinutes], a jp Function11a5b0 ; 11a235 @@ -4676,11 +4676,11 @@ Function11a235: ; 11a235 xor a ld [wcd8a], a ld [wcd8b], a - ld a, [wcd44] + ld a, [wMobileInactivityTimerMinutes] and a jr z, .asm_11a24c xor a - ld [wcd44], a + ld [wMobileInactivityTimerMinutes], a hlcoord 15, 8 ld a, $ed ld [hl], a @@ -4693,11 +4693,11 @@ Function11a235: ; 11a235 xor a ld [wcd8a], a ld [wcd8b], a - ld a, [wcd44] + ld a, [wMobileInactivityTimerMinutes] and a jr nz, .asm_11a24c inc a - ld [wcd44], a + ld [wMobileInactivityTimerMinutes], a hlcoord 15, 8 ld a, $7f ld [hl], a @@ -4711,12 +4711,12 @@ Function11a235: ; 11a235 ld [wcd8a], a ld [wcd8b], a call PlayClickSFX - ld a, [wcd44] + ld a, [wMobileInactivityTimerMinutes] and a jr nz, .asm_11a2c4 call ExitMenu callba ReloadMapPart - ld a, [wcd46] + ld a, [wMobileInactivityTimerFrames] cp $0 jr z, .asm_11a2b4 ld a, [wcd47] @@ -4774,16 +4774,16 @@ Function11a2e6: ; 11a2e6 ld de, String_11a71e call PlaceString ld a, $80 - ld [wcd44], a + ld [wMobileInactivityTimerMinutes], a jp Function11a5b0 ; 11a302 Function11a302: ; 11a302 - ld a, [wcd44] + ld a, [wMobileInactivityTimerMinutes] and a jr z, .asm_11a30e dec a - ld [wcd44], a + ld [wMobileInactivityTimerMinutes], a scf ret @@ -4801,16 +4801,16 @@ Function11a302: ; 11a302 lb bc, PRINTNUM_LEADINGZEROS | 1, 2 call PrintNum ld a, $80 - ld [wcd44], a + ld [wMobileInactivityTimerMinutes], a jp Function11a5b0 ; 11a33a Function11a33a: ; 11a33a - ld a, [wcd44] + ld a, [wMobileInactivityTimerMinutes] and a jr z, .asm_11a346 dec a - ld [wcd44], a + ld [wMobileInactivityTimerMinutes], a scf ret @@ -4828,16 +4828,16 @@ Function11a357: ; 11a357 ld de, String_11a743 call PlaceString ld a, $80 - ld [wcd44], a + ld [wMobileInactivityTimerMinutes], a jp Function11a5b0 ; 11a36b Function11a36b: ; 11a36b - ld a, [wcd44] + ld a, [wMobileInactivityTimerMinutes] and a jr z, .asm_11a377 dec a - ld [wcd44], a + ld [wMobileInactivityTimerMinutes], a scf ret @@ -4848,7 +4848,7 @@ Function11a36b: ; 11a36b call PlaceString call Function11a5f5 xor a - ld [wcd44], a + ld [wMobileInactivityTimerMinutes], a jp Function11a5b0 ; 11a38d @@ -4856,7 +4856,7 @@ Function11a38d: ; 11a38d call Function11a536 ret c call PlayClickSFX - ld a, [wcd44] + ld a, [wMobileInactivityTimerMinutes] and a jr nz, .asm_11a3b1 call ExitMenu @@ -4871,7 +4871,7 @@ Function11a38d: ; 11a38d .asm_11a3b1 call ExitMenu callba ReloadMapPart - ld a, [wcd45] + ld a, [wMobileInactivityTimerSeconds] ld [wcf66], a ld [wcd80], a scf @@ -4884,16 +4884,16 @@ Function11a3c5: ; 11a3c5 ld de, String_11a762 call PlaceString ld a, $80 - ld [wcd44], a + ld [wMobileInactivityTimerMinutes], a jp Function11a5b0 ; 11a3d9 Function11a3d9: ; 11a3d9 - ld a, [wcd44] + ld a, [wMobileInactivityTimerMinutes] and a jr z, .asm_11a3e5 dec a - ld [wcd44], a + ld [wMobileInactivityTimerMinutes], a scf ret @@ -4903,16 +4903,16 @@ Function11a3d9: ; 11a3d9 ld de, String_11a779 call PlaceString ld a, $80 - ld [wcd44], a + ld [wMobileInactivityTimerMinutes], a jp Function11a5b0 ; 11a3f9 Function11a3f9: ; 11a3f9 - ld a, [wcd44] + ld a, [wMobileInactivityTimerMinutes] and a jr z, .asm_11a405 dec a - ld [wcd44], a + ld [wMobileInactivityTimerMinutes], a scf ret @@ -4923,7 +4923,7 @@ Function11a3f9: ; 11a3f9 call PlaceString call Function11a5f5 xor a - ld [wcd44], a + ld [wMobileInactivityTimerMinutes], a jp Function11a5b0 ; 11a41b @@ -4931,7 +4931,7 @@ Function11a41b: ; 11a41b call Function11a536 ret c call PlayClickSFX - ld a, [wcd44] + ld a, [wMobileInactivityTimerMinutes] and a jr nz, .asm_11a43f call ExitMenu @@ -4959,7 +4959,7 @@ Function11a452: ; 11a452 ld de, String_11a791 call PlaceString ld a, $80 - ld [wcd44], a + ld [wMobileInactivityTimerMinutes], a jp Function11a5b0 ; 11a466 @@ -4969,16 +4969,16 @@ Function11a466: ; 11a466 ld de, String_11a7c1 call PlaceString ld a, $80 - ld [wcd44], a + ld [wMobileInactivityTimerMinutes], a jp Function11a5b0 ; 11a47a Function11a47a: ; 11a47a - ld a, [wcd44] + ld a, [wMobileInactivityTimerMinutes] and a jr z, .asm_11a486 dec a - ld [wcd44], a + ld [wMobileInactivityTimerMinutes], a scf ret @@ -4994,7 +4994,7 @@ Function11a488: ; 11a488 call PlaceString call Function11a5f5 xor a - ld [wcd44], a + ld [wMobileInactivityTimerMinutes], a jp Function11a5b0 ; 11a49e @@ -5002,7 +5002,7 @@ Function11a49e: ; 11a49e call Function11a536 ret c call PlayClickSFX - ld a, [wcd44] + ld a, [wMobileInactivityTimerMinutes] and a jr nz, .asm_11a4c7 call ExitMenu @@ -5019,7 +5019,7 @@ Function11a49e: ; 11a49e .asm_11a4c7 call ExitMenu callba ReloadMapPart - ld a, [wcd46] + ld a, [wMobileInactivityTimerFrames] ld [wcf66], a ld [wcd80], a scf @@ -5041,7 +5041,7 @@ Function11a4e8: ; 11a4e8 call PlaceString call Function11a5f5 xor a - ld [wcd44], a + ld [wMobileInactivityTimerMinutes], a jp Function11a5b0 ; 11a4fe @@ -5049,7 +5049,7 @@ Function11a4fe: ; 11a4fe call Function11a536 ret c call PlayClickSFX - ld a, [wcd44] + ld a, [wMobileInactivityTimerMinutes] and a jr nz, .asm_11a522 call ExitMenu @@ -5064,7 +5064,7 @@ Function11a4fe: ; 11a4fe .asm_11a522 call ExitMenu callba ReloadMapPart - ld a, [wcd45] + ld a, [wMobileInactivityTimerSeconds] ld [wcf66], a ld [wcd80], a scf @@ -5102,11 +5102,11 @@ Function11a536: ; 11a536 xor a ld [wcd8a], a ld [wcd8b], a - ld a, [wcd44] + ld a, [wMobileInactivityTimerMinutes] and a jr z, .asm_11a54d xor a - ld [wcd44], a + ld [wMobileInactivityTimerMinutes], a hlcoord 15, 7 ld a, $ed ld [hl], a @@ -5119,11 +5119,11 @@ Function11a536: ; 11a536 xor a ld [wcd8a], a ld [wcd8b], a - ld a, [wcd44] + ld a, [wMobileInactivityTimerMinutes] and a jr nz, .asm_11a54d inc a - ld [wcd44], a + ld [wMobileInactivityTimerMinutes], a hlcoord 15, 7 ld a, $7f ld [hl], a @@ -5134,7 +5134,7 @@ Function11a536: ; 11a536 .asm_11a5a2 ld a, $1 - ld [wcd44], a + ld [wMobileInactivityTimerMinutes], a .asm_11a5a7 xor a @@ -5308,7 +5308,7 @@ String_11a7ac: ; 11a7ac next "ちゅうし しますか?@" ; 11a7c1 -String_11a7c1: ; 11a7c1 +String_11a7c1: ; 11a7c1 ; new news? db "あたらしい ニュースは" next "ありません でした@" ; 11a7d7 @@ -7331,7 +7331,7 @@ Function11b5c0: ; 11b5c0 ld [wPokemonWithdrawDepositParameter], a callba RemoveMonFromPartyOrBox callba Function170807 - callba Function14a58 + callba SaveAfterLinkTrade jp Function11ad8a ; 11b5e0 @@ -7616,7 +7616,7 @@ Function11b7e5: ; 11b7e5 callba EvolvePokemon xor a ld [wLinkMode], a - callba Function14a58 + callba SaveAfterLinkTrade ld a, $5 call GetSRAMBank ld a, $5 @@ -7781,7 +7781,7 @@ Function11b93b: ; 11b93b ld a, $c64b / $100 ld [wMobileMonMailPointerBuffer + 1], a call AddMobileMonToParty - callba Function14a58 + callba SaveAfterLinkTrade ret ; 11b98f diff --git a/misc/mobile_5b.asm b/misc/mobile_5b.asm index 24f2f9189..d317f2af3 100755 --- a/misc/mobile_5b.asm +++ b/misc/mobile_5b.asm @@ -1,48 +1,56 @@ Function16c000: ; 16c000 +; unreferenced + ; Only for CGB ld a, [hCGB] and a ret z + ; Only do this once per boot cycle ld a, [hFFEA] and a ret z + ; Set some flag, preserving the old state ld a, [wcfbe] push af set 7, a ld [wcfbe], a - call Function16c108 - callba Function100063 - callba Function100082 - call Function16c031 - callba Function1000a4 + ; Do stuff + call MobileSystemSplashScreen_InitGFX ; Load GFX + callba SetRAMStateForMobile + callba EnableMobile + call .RunJumptable + callba DisableMobile + ; Prevent this routine from running again + ; until the next time the syatem is turned on xor a ld [hFFEA], a + ; Restore the flag state pop af ld [wcfbe], a ret ; 16c031 -Function16c031: ; 16c031 +.RunJumptable: ; 16c031 xor a ld [wJumptableIndex], a ld [wcf64], a ld [wd002], a ld [wd003], a -.asm_16c03e +.loop call DelayFrame callba Function10635c ld a, [wd002] - ld hl, Jumptable_16c05c + ld hl, .Jumptable rst JumpTable call Function16cb2e call Function16cbae ld a, [wd002] cp $ff - jr nz, .asm_16c03e + jr nz, .loop ret ; 16c05c -Jumptable_16c05c: ; 16c05c - dw Function16c074 +.Jumptable: ; 16c05c + dw .init dw Function16c0ba dw Function16c089 dw Function16c09e @@ -53,10 +61,10 @@ Jumptable_16c05c: ; 16c05c dw Function16c0ca dw Function16c0dc dw Function16c0ec - dw Function16c081 + dw .quit ; 16c074 -Function16c074: ; 16c074 +.init ; 16c074 ld a, [wcf64] and a ret z @@ -66,7 +74,7 @@ Function16c074: ; 16c074 ret ; 16c081 -Function16c081: ; 16c081 +.quit ; 16c081 push af ld a, $ff ld [wd002], a @@ -160,15 +168,15 @@ Function16c0fa: ; 16c0fa ret ; 16c108 -Function16c108: ; 16c108 +MobileSystemSplashScreen_InitGFX: ; 16c108 call DisableLCD ld hl, VTiles2 - ld de, GFX_16c173 - lb bc, BANK(GFX_16c173), $68 + ld de, .Tiles + lb bc, BANK(.Tiles), $68 call Get2bpp - call Function16c130 - call Function16c145 - call Function16c15c + call .LoadPals + call .LoadTileMap + call .LoadAttrMap hlbgcoord 0, 0 call Function16cc73 call Function16cc02 @@ -178,9 +186,9 @@ Function16c108: ; 16c108 ret ; 16c130 -Function16c130: ; 16c130 +.LoadPals: ; 16c130 ld de, UnknBGPals - ld hl, Unknown_16c903 + ld hl, UnknownMobilePalettes_16c903 ld bc, 8 ld a, $5 call FarCopyWRAM @@ -188,79 +196,41 @@ Function16c130: ; 16c130 ret ; 16c145 -Function16c145: ; 16c145 +.LoadTileMap: ; 16c145 hlcoord 0, 0 ld bc, 20 xor a call ByteFill - ld hl, Tilemap_16c633 + ld hl, .TileMap decoord 0, 1 ld bc, $0154 call CopyBytes ret ; 16c15c -Function16c15c: ; 16c15c +.LoadAttrMap: ; 16c15c hlcoord 0, 0, AttrMap ld bc, SCREEN_WIDTH xor a call ByteFill - ld hl, Tilemap_16c79b + ld hl, .AttrMap decoord 0, 1, AttrMap ld bc, 17 * SCREEN_WIDTH call CopyBytes ret ; 16c173 -GFX_16c173: +.Tiles: INCBIN "gfx/unknown/16c173.2bpp" -Tilemap_16c633: +.TileMap: INCBIN "gfx/unknown/16c633.tilemap" -Tilemap_16c79b: +.AttrMap: INCBIN "gfx/unknown/16c79b.tilemap" -Unknown_16c903: - RGB 31, 31, 31 - RGB 04, 10, 20 - RGB 16, 19, 25 - RGB 25, 27, 29 - - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 +UnknownMobilePalettes_16c903: ; 16c903 +INCLUDE "gfx/unknown/16c903.pal" ; 16c943 @@ -287,7 +257,7 @@ Function16c943: ; 16c943 ld e, $0 ld a, $0 .asm_16c969 - ld hl, Unknown_16c903 + ld hl, UnknownMobilePalettes_16c903 call Function16cab6 call Function16cabb ld d, a @@ -310,7 +280,7 @@ Function16c943: ; 16c943 call Function16cadc .asm_16c991 - ld hl, Unknown_16c903 + ld hl, UnknownMobilePalettes_16c903 call Function16cab6 call Function16cad8 ld d, a @@ -333,7 +303,7 @@ Function16c943: ; 16c943 call Function16cb08 .asm_16c9b9 - ld hl, Unknown_16c903 + ld hl, UnknownMobilePalettes_16c903 call Function16cab6 call Function16cac4 ld d, a @@ -356,9 +326,8 @@ Function16c943: ; 16c943 call Function16cae8 .asm_16c9e1 -rept 2 inc e -endr + inc e ld a, e cp $8 jr nz, .asm_16c969 @@ -459,9 +428,8 @@ Function16ca11: ; 16ca11 call Function16cae8 .asm_16ca88 -rept 2 inc e -endr + inc e ld a, e cp $8 jr nz, .asm_16ca28 diff --git a/misc/mobile_5c.asm b/misc/mobile_5c.asm index 8ecd35edf..5f72f32c7 100755 --- a/misc/mobile_5c.asm +++ b/misc/mobile_5c.asm @@ -111,9 +111,8 @@ Function170c06: ; 170c06 inc [hl] .asm_170c15 -rept 2 inc hl -endr + inc hl ld a, [$a89b] add [hl] ld [hld], a @@ -138,9 +137,8 @@ endr ld a, [hli] ld b, a ld c, [hl] -rept 2 inc hl -endr + inc hl ld a, [hld] sub c ld c, a @@ -370,9 +368,8 @@ Function171a36: ; 171a36 (5c:5a36) ld e, a ld d, 0 ld hl, Jumptable_171a45 -rept 2 add hl, de -endr + add hl, de ld a, [hli] ld h, [hl] ld l, a @@ -498,9 +495,9 @@ Function171aec: ; 171aec (5c:5aec) .asm_171b34 pop hl ld bc, $14 -rept 3 add hl, bc -endr + add hl, bc + add hl, bc pop af dec a jr nz, .asm_171b1b @@ -519,24 +516,27 @@ Function171b4b: ; 171b4b (5c:5b4b) depixel 8, 2 ld a, SPRITE_ANIM_INDEX_1D call _InitSpriteAnimStruct - ld hl, $c + ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld a, $8 ld [hl], a + depixel 8, 19 ld a, SPRITE_ANIM_INDEX_1D call _InitSpriteAnimStruct - ld hl, $c + ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld a, $9 ld [hl], a + depixel 17, 14, 2, 0 ld a, SPRITE_ANIM_INDEX_1D call _InitSpriteAnimStruct - ld hl, $c + ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld a, $a ld [hl], a + ld a, $4 ld [wcd23], a ld a, $8 @@ -732,9 +732,8 @@ Function171ccd: ; 171ccd (5c:5ccd) Function171cf0: ; 171cf0 (5c:5cf0) xor a hlcoord 4, 15 -rept 2 ld [hli], a -endr + ld [hli], a ld a, [wcd4b] xor $1 ld [wcd4b], a diff --git a/misc/mobile_5f.asm b/misc/mobile_5f.asm index 415ff7e38..2ce71049f 100644 --- a/misc/mobile_5f.asm +++ b/misc/mobile_5f.asm @@ -180,7 +180,7 @@ HaveWantPals: ; 17cff3 CheckStringForErrors: ; 17d073 ; Valid character ranges: -; $00, $05 - $13, $19 - $1c, $26 - $34, $3a - $3e, $40 - $48, $60 - $ff +; $0, $5 - $13, $19 - $1c, $26 - $34, $3a - $3e, $40 - $48, $60 - $ff .loop ld a, [de] inc de @@ -308,7 +308,7 @@ Function17d0f3: ; 17d0f3 callba EvolvePokemon xor a ld [wLinkMode], a - callba Function14a58 + callba SaveAfterLinkTrade ld a, $5 call GetSRAMBank ld a, $5 @@ -612,7 +612,7 @@ Function17d314: ; 17d314 call GetSRAMBank xor a ld hl, $aa73 - ld bc, $000c + ld bc, $c call ByteFill call CloseSRAM ld a, $2 @@ -747,7 +747,7 @@ Jumptable_17d483: ; 17d483 Function17d48d: ; 17d48d ld hl, Palette_17eff6 ld de, $c608 - ld bc, $0040 + ld bc, $40 call CopyBytes ld hl, TileAttrmap_17eb8e decoord 0, 0 @@ -775,7 +775,7 @@ Function17d48d: ; 17d48d jr nz, .asm_17d4a8 pop hl push bc - ld bc, $0040 + ld bc, $40 add hl, bc pop bc pop af @@ -876,7 +876,7 @@ Function17d48d: ; 17d48d dec a jr nz, .asm_17d53a ld de, CreditsTimer - ld bc, $000c + ld bc, $c call CopyBytes xor a ld [wcd2e], a @@ -885,18 +885,18 @@ Function17d48d: ; 17d48d ld [wcd30], a ld [wcd31], a ld de, wcd32 - ld bc, $0010 + ld bc, $10 call CopyBytes ld a, [hli] ld [wcd42], a ld a, [hli] ld [wcd43], a ld a, [hli] - ld [wcd44], a + ld [wMobileInactivityTimerMinutes], a ld a, [hli] - ld [wcd45], a + ld [wMobileInactivityTimerSeconds], a ld a, [hli] - ld [wcd46], a + ld [wMobileInactivityTimerFrames], a ld a, [hli] and a jr z, .asm_17d58a @@ -987,7 +987,7 @@ Function17d60b: ; 17d60b call GetSRAMBank ld hl, $b1d3 ld de, $c608 - ld bc, $0020 + ld bc, $20 call CopyBytes ld a, [$b1b1] ld c, a @@ -1012,7 +1012,7 @@ Function17d60b: ; 17d60b ld a, h ld [de], a inc de - ld bc, $000a + ld bc, $a add hl, bc pop bc ld a, [hli] @@ -1102,12 +1102,12 @@ Function17d6a1: ; 17d6a1 ld a, h ld [wcd5f], a ld de, wcd60 - ld bc, $0004 + ld bc, $4 call CopyBytes inc hl inc hl ld de, wcd64 - ld bc, $0004 + ld bc, $4 call CopyBytes ld a, [hli] ld [wcd69], a @@ -1478,7 +1478,7 @@ Function17d902: ; 17d902 Function17d93a: ; 17d93a call Function17e415 ld de, $c708 - ld bc, $0005 + ld bc, $5 call CopyBytes call Function17e41e call Function17e32b @@ -1492,7 +1492,7 @@ Function17d93a: ; 17d93a ld [CurPartySpecies], a ld a, [$c70c] ld e, a - callba Function8bc6 + callba LoadMonPaletteAsNthBGPal call SetPalettes ld a, [$c708] ld l, a @@ -1514,7 +1514,7 @@ Function17d93a: ; 17d93a Function17d98b: ; 17d98b call Function17e415 ld de, $c708 - ld bc, $0004 + ld bc, $4 call CopyBytes call Function17e41e call Function17e32b @@ -1528,7 +1528,7 @@ Function17d98b: ; 17d98b ld [TrainerClass], a ld a, [$c70b] ld e, a - callba Function8bbd + callba LoadTrainerClassPaletteAsNthBGPal call SetPalettes ld a, [$c708] ld e, a @@ -1540,7 +1540,7 @@ Function17d98b: ; 17d98b pop hl decoord 0, 0 add hl, de - ld bc, $0707 + ld bc, $707 predef PlaceGraphic pop af ld [rSVBK], a @@ -1551,7 +1551,7 @@ Function17d98b: ; 17d98b Function17d9e3: ; 17d9e3 call Function17e415 ld de, $c708 - ld bc, $0007 + ld bc, $7 call CopyBytes call Function17e41e ld a, [$c70b] @@ -1597,7 +1597,7 @@ Function17d9e3: ; 17d9e3 Function17da31: ; 17da31 call Function17e415 ld de, $c708 - ld bc, $0004 + ld bc, $4 call CopyBytes call Function17e41e ld a, [$c709] @@ -1888,7 +1888,7 @@ Function17dbe9: ; 17dbe9 Function17dc1f: ; 17dc1f call Function17e415 ld de, $c688 - ld bc, $0006 + ld bc, $6 call CopyBytes call Function17e32b ld a, [rSVBK] @@ -1968,7 +1968,7 @@ Function17dcaf: ld a, $5 ld [rSVBK], a ld hl, UnknBGPals - ld de, $0008 + ld de, $8 ld c, $8 .asm_17dcbb push hl @@ -2050,7 +2050,7 @@ Function17dd13: ; 17dd13 push hl pop bc pop hl - call PlaceWholeStringInBoxAtOnce + call PlaceHLTextAtBC ret ; 17dd30 @@ -2076,7 +2076,7 @@ Function17dd30: ; 17dd30 Function17dd49: ; 17dd49 call Function17e415 ld de, $c708 - ld bc, $000a + ld bc, $a call CopyBytes ld a, [$c711] ld c, a @@ -2157,7 +2157,7 @@ Function17dd49: ; 17dd49 Function17ddcd: ; 17ddcd call Function17e415 ld de, $c708 - ld bc, $0008 + ld bc, $8 call CopyBytes ld a, [$c70a] cp $c0 @@ -2219,7 +2219,7 @@ Function17ddcd: ; 17ddcd Function17de32: ; 17de32 call Function17e415 ld de, $c708 - ld bc, $0009 + ld bc, $9 call CopyBytes ld a, [$c710] ld c, a @@ -2278,7 +2278,7 @@ Function17de32: ; 17de32 Function17de91: ; 17de91 call Function17e415 ld de, $c708 - ld bc, $0007 + ld bc, $7 call CopyBytes ld a, $6 call GetSRAMBank @@ -2321,7 +2321,7 @@ Function17de91: ; 17de91 Function17ded9: ; 17ded9 call Function17e415 ld de, $c708 - ld bc, $001f + ld bc, $1f call CopyBytes call Function17e32b ld a, [rSVBK] @@ -2363,7 +2363,7 @@ Function17ded9: ; 17ded9 jr .asm_17df37 .asm_17df33 - ld de, $0006 + ld de, $6 add hl, de .asm_17df37 @@ -2388,7 +2388,7 @@ Function17ded9: ; 17ded9 jr .asm_17df5e .asm_17df5a - ld de, $0007 + ld de, $7 add hl, de .asm_17df5e @@ -2502,7 +2502,7 @@ Function17ded9: ; 17ded9 ld e, l pop hl push de - ld bc, $0004 + ld bc, $4 call CopyBytes pop de push hl @@ -2520,7 +2520,7 @@ Function17ded9: ; 17ded9 jp asm_17e0ee .asm_17e01f - ld de, $0004 + ld de, $4 add hl, de jp asm_17e0ee ; 17e026 @@ -2546,21 +2546,21 @@ Function17e026: ; 17e026 bit 1, b jr z, .asm_17e067 push bc - ld bc, $000b + ld bc, $b ld de, sBoxMonNicknames call CopyBytes pop bc jr .asm_17e06b .asm_17e067 - ld de, $0006 + ld de, $6 add hl, de .asm_17e06b bit 2, b jr z, .asm_17e08e push bc - ld bc, $0006 + ld bc, $6 ld de, sBoxMonOT call CopyBytes ld a, [hli] @@ -2575,7 +2575,7 @@ Function17e026: ; 17e026 jr .asm_17e092 .asm_17e08e - ld de, $0007 + ld de, $7 add hl, de .asm_17e092 @@ -2623,7 +2623,7 @@ Function17e026: ; 17e026 jr z, .asm_17e0e1 push bc ld de, sBoxMon1Moves - ld bc, $0004 + ld bc, $4 call CopyBytes push hl ld hl, sBoxMon1Moves @@ -2638,12 +2638,12 @@ Function17e026: ; 17e026 .asm_17e0e1 call CloseSRAM - ld de, $0006 + ld de, $6 add hl, de jr asm_17e0ee .asm_17e0ea - ld bc, $001a + ld bc, $1a add hl, bc asm_17e0ee @@ -2662,7 +2662,7 @@ asm_17e0ee Function17e0fd: ; 17e0fd call Function17e415 ld de, $c708 - ld bc, $0006 + ld bc, $6 call CopyBytes ld a, [rSVBK] push af @@ -2696,7 +2696,7 @@ Function17e0fd: ; 17e0fd Function17e133: ; 17e133 call Function17e415 ld de, $c708 - ld bc, $0005 + ld bc, $5 call CopyBytes ld a, [rSVBK] push af @@ -2727,7 +2727,7 @@ Function17e133: ; 17e133 Function17e165: ; 17e165 call Function17e415 ld de, $c708 - ld bc, $0005 + ld bc, $5 call CopyBytes ld a, [rSVBK] push af @@ -2764,7 +2764,7 @@ Function17e165: ; 17e165 Function17e1a1: ; 17e1a1 call Function17e415 ld de, $c708 - ld bc, $000d + ld bc, $d call CopyBytes ld a, [$c70a] cp $c0 @@ -2978,7 +2978,7 @@ Function17e2a7: ; 17e2a7 call GetSRAMBank ld hl, $aa73 ld de, $aa7f - ld bc, $000c + ld bc, $c call CopyBytes call CloseSRAM ret @@ -3016,10 +3016,10 @@ Function17e32b: ; 17e32b call GetSRAMBank ld hl, $c608 ld de, $b0b1 - ld bc, $0040 + ld bc, $40 call CopyBytes ld hl, BGMapBuffer - ld bc, $005b + ld bc, $5b call CopyBytes call CloseSRAM ret @@ -3030,10 +3030,10 @@ Function17e349: ; 17e349 call GetSRAMBank ld hl, $b0b1 ld de, $c608 - ld bc, $0040 + ld bc, $40 call CopyBytes ld de, BGMapBuffer - ld bc, $005b + ld bc, $5b call CopyBytes call CloseSRAM ret @@ -3059,7 +3059,7 @@ Function17e37e: ; 17e37e push af ld a, $1 ld [rSVBK], a - callba Function14a58 + callba SaveAfterLinkTrade pop af ld [rSVBK], a ret @@ -3098,7 +3098,7 @@ Function17e3c3: ; 17e3c3 push af ld a, $1 ld [rSVBK], a - callba MobileFn_106155 + callba UpdateTrainerRankingsChecksum2 callba BackupMobileEventIndex pop af ld [rSVBK], a @@ -3216,7 +3216,7 @@ Function17e451: ; 17e451 add hl, bc push hl hlcoord 0, 0 - ld bc, $0014 + ld bc, $14 ld a, [wcd23] call AddNTimes ld a, [CreditsTimer] @@ -3224,7 +3224,7 @@ Function17e451: ; 17e451 ld b, $0 add hl, bc pop bc - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] .asm_17e48b push af push hl @@ -3267,7 +3267,7 @@ Function17e451: ; 17e451 jr nz, .asm_17e490 pop hl ld a, [wcd27] - ld de, $0014 + ld de, $14 .asm_17e4cb add hl, de dec a @@ -3294,7 +3294,7 @@ Function17e4dd: ; 17e4dd ret z ld a, [wcd29] hlcoord 0, 0 - ld bc, $0014 + ld bc, $14 call AddNTimes ld a, [wcd28] ld c, a @@ -3308,7 +3308,7 @@ Function17e4dd: ; 17e4dd .asm_17e4ff ld a, [wcd2a] - ld bc, $0014 + ld bc, $14 call AddNTimes ld a, [wcd42] ld c, a @@ -3331,7 +3331,7 @@ Function17e51b: ; 17e51b inc a ld [wcd4f], a hlcoord 0, 0 - ld bc, $0014 + ld bc, $14 ld a, [wcd23] dec a call AddNTimes @@ -3339,7 +3339,7 @@ Function17e51b: ; 17e51b ld c, a ld b, $0 add hl, bc - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] ld c, a ld a, [wcd27] call SimpleMultiply @@ -3352,7 +3352,7 @@ Function17e51b: ; 17e51b ld a, $7f call ByteFill pop hl - ld bc, $0014 + ld bc, $14 add hl, bc pop af dec a @@ -3381,7 +3381,7 @@ Function17e566: ; 17e566 Function17e571: ; 17e571 push af hlcoord 0, 0 - ld bc, $0014 + ld bc, $14 ld a, [wcd23] call AddNTimes ld a, [CreditsTimer] @@ -3397,7 +3397,7 @@ Function17e571: ; 17e571 call SimpleMultiply ld l, $0 ld h, l - ld bc, $0014 + ld bc, $14 call AddNTimes ld a, [wcd30] dec a @@ -3420,16 +3420,16 @@ Function17e5af: ; 17e5af ret z ld a, [wcd43] ld l, a - ld a, [wcd44] + ld a, [wMobileInactivityTimerMinutes] ld h, a bccoord 0, 0 add hl, bc ld bc, $ffec add hl, bc - ld a, [wcd45] + ld a, [wMobileInactivityTimerSeconds] ld c, a ld b, $0 - ld a, [wcd46] + ld a, [wMobileInactivityTimerFrames] call Function17e600 ld a, [wcd2e] ld c, a @@ -3453,7 +3453,7 @@ Function17e5af: ; 17e5af pop de ld a, [wcd43] ld l, a - ld a, [wcd44] + ld a, [wMobileInactivityTimerMinutes] ld h, a bccoord 0, 0 add hl, bc @@ -3470,7 +3470,7 @@ Function17e600: ; 17e600 call ByteFill pop bc pop hl - ld de, $0014 + ld de, $14 add hl, de pop af dec a @@ -3481,7 +3481,7 @@ Function17e600: ; 17e600 Function17e613: ; 17e613 push hl hlcoord 0, 0 - ld bc, $0014 + ld bc, $14 ld a, [de] inc de push af @@ -3520,7 +3520,7 @@ Function17e613: ; 17e613 add $2 ld [hl], a pop hl - ld bc, $0014 + ld bc, $14 add hl, bc ld a, [de] dec de @@ -3550,7 +3550,7 @@ Function17e613: ; 17e613 ld [hl], a pop hl push bc - ld bc, $0014 + ld bc, $14 add hl, bc pop bc dec b @@ -3583,7 +3583,7 @@ Function17e613: ; 17e613 Function17e691: ; 17e691 push hl ld hl, NULL - ld bc, $0014 + ld bc, $14 ld a, [de] inc de push af @@ -3636,7 +3636,7 @@ Function17e691: ; 17e691 dec a jr nz, .asm_17e6af pop hl - ld bc, $0014 + ld bc, $14 add hl, bc pop af dec a @@ -3663,7 +3663,7 @@ Function17e6de: ; 17e6de dec c jr nz, .asm_17e6f1 pop hl - ld de, $0014 + ld de, $14 add hl, de dec b jr nz, .asm_17e6ee @@ -3733,14 +3733,14 @@ Function17f047: ; 17f047 ld a, [de] inc de cp $50 - jr z, .asm_17f05f + jr z, .finished cp $10 - jr nc, .asm_17f05f + jr nc, .finished dec a push de ld e, a ld d, 0 - ld hl, Jumptable_17f061 + ld hl, .Jumptable add hl, de add hl, de ld a, [hli] @@ -3748,35 +3748,35 @@ Function17f047: ; 17f047 ld l, a jp [hl] -.asm_17f05f +.finished scf ret ; 17f061 -Jumptable_17f061: ; 17f061 - dw Function17f081 - dw Function17f0f8 - dw Function17f154 - dw Function17f181 - dw Function17f1d0 - dw Function17f220 - dw Function17f27b - dw Function17f2cb - dw Function17f2ff - dw Function17f334 - dw Function17f382 - dw Function17f3c9 - dw Function17f3f0 - dw Function17f41d - dw Function17f44f - dw Function17f44f +.Jumptable: ; 17f061 + dw Function17f081 ; 0 + dw Function17f0f8 ; 1 + dw Function17f154 ; 2 + dw Function17f181 ; 3 + dw Function17f1d0 ; 4 + dw Function17f220 ; 5 + dw Function17f27b ; 6 + dw Function17f2cb ; 7 + dw Function17f2ff ; 8 + dw Function17f334 ; 9 + dw Function17f382 ; a + dw Function17f3c9 ; b + dw Function17f3f0 ; c + dw Function17f41d ; d + dw Function17f44f ; e + dw Function17f44f ; f ; 17f081 Function17f081: ; 17f081 pop hl call Function17f524 jr c, .asm_17f09f - ld de, $0004 + ld de, 4 add hl, de ld a, [hli] inc hl @@ -3801,7 +3801,7 @@ Function17f081: ; 17f081 .asm_17f09f push bc ld de, wcd54 - ld bc, $0007 + ld bc, 7 call CopyBytes pop bc push hl @@ -3864,7 +3864,7 @@ Function17f0f8: ; 17f0f8 pop hl call Function17f524 jr c, .asm_17f114 - ld de, $0003 + ld de, $3 add hl, de ld a, [hli] ld e, l @@ -3887,7 +3887,7 @@ Function17f0f8: ; 17f0f8 .asm_17f114 push bc ld de, wcd54 - ld bc, $0004 + ld bc, $4 call CopyBytes pop bc push hl @@ -3963,7 +3963,7 @@ Function17f181: ; 17f181 pop hl call Function17f524 jr c, .asm_17f19d - ld de, $0002 + ld de, $2 add hl, de ld a, [hli] ld e, l @@ -4018,7 +4018,7 @@ Function17f1d0: ; 17f1d0 pop hl call Function17f524 jr c, .asm_17f1ec - ld de, $0002 + ld de, $2 add hl, de ld a, [hli] ld e, l @@ -4075,7 +4075,7 @@ Function17f220: ; 17f220 pop hl call Function17f524 jr c, .asm_17f23c - ld de, $0002 + ld de, $2 add hl, de ld a, [hli] ld e, l @@ -4139,7 +4139,7 @@ Function17f27b: ; 17f27b pop hl call Function17f524 jr c, .asm_17f297 - ld de, $0002 + ld de, $2 add hl, de ld a, [hli] ld e, l @@ -4236,7 +4236,7 @@ Function17f2ff: ; 17f2ff ld [rSVBK], a ld hl, PlayerName ld de, $c608 - ld bc, $0006 + ld bc, $6 call CopyBytes ld a, $4 ld [rSVBK], a @@ -4346,7 +4346,7 @@ Function17f3c9: ; 17f3c9 push bc ld hl, wcd36 ld de, $c708 - ld bc, $000c + ld bc, 12 call CopyBytes pop de ld c, $0 @@ -4354,7 +4354,7 @@ Function17f3c9: ; 17f3c9 push hl ld hl, $c708 ld de, wcd36 - ld bc, $000c + ld bc, $c call CopyBytes pop bc pop de @@ -4393,9 +4393,9 @@ Function17f3f0: ; 17f3f0 pop hl add hl, de add hl, de -rept 3 inc hl -endr + inc hl + inc hl ld e, l ld d, h ld l, c @@ -4453,7 +4453,7 @@ Function17f44f: ; 17f44f pop hl call Function17f524 jr c, .asm_17f46d - ld de, $0005 + ld de, $5 add hl, de ld a, [hli] inc hl @@ -4478,7 +4478,7 @@ Function17f44f: ; 17f44f .asm_17f46d push bc ld de, wcd54 - ld bc, $0008 + ld bc, $8 call CopyBytes pop bc push hl @@ -4647,7 +4647,7 @@ Function17f555: ; 17f555 ld a, [wc303] bit 7, a jr nz, .quit - callba Function104000 + callba HDMATransferAttrMapAndTileMapToWRAMBank3 jr .loop .quit @@ -4716,7 +4716,7 @@ Function17f5c3: ; 17f5c3 Function17f5d2: ; 17f5d2 call Function17f5e4 - callba Function104000 + callba HDMATransferAttrMapAndTileMapToWRAMBank3 call SetPalettes ld a, $1 ld [wc303], a diff --git a/misc/mobile_menu.asm b/misc/mobile_menu.asm index d9fd3dd34..84e592fcc 100755 --- a/misc/mobile_menu.asm +++ b/misc/mobile_menu.asm @@ -280,7 +280,7 @@ Function4a149: ; 4a149 (12:6149) call ClearBox hlcoord 1, 14 call PlaceString - callba Function104148 + callba Mobile_OpenAndCloseMenu_HDMATransferTileMapAndAttrMap call SetPalettes call StaticMenuJoypad ld hl, wMenuCursorY @@ -403,7 +403,7 @@ Function4a28a: ; 4a28a (12:628a) hlcoord 14, 1 ld de, String_4a34b call PlaceString - callba Function104148 + callba Mobile_OpenAndCloseMenu_HDMATransferTileMapAndAttrMap call Function4a118 call ScrollingMenuJoypad push af @@ -432,7 +432,7 @@ Function4a28a: ; 4a28a (12:628a) ld b, 3 ld c, 4 call TextBox - callba Function104148 + callba Mobile_OpenAndCloseMenu_HDMATransferTileMapAndAttrMap ld hl, DeletePassword_YesNo_MenuDataHeader call LoadMenuDataHeader call VerticalMenu @@ -455,7 +455,7 @@ Function4a28a: ; 4a28a (12:628a) call ExitMenu .quit call Call_ExitMenu - callba Function104148 + callba Mobile_OpenAndCloseMenu_HDMATransferTileMapAndAttrMap xor a ret ; 4a346 (12:6346) @@ -836,16 +836,16 @@ Function4a680: ; 4a680 (12:6680) ld [hli], a ld [hli], a xor a -rept 3 ld [hli], a -endr + ld [hli], a + ld [hli], a ret Function4a6ab: ; 4a6ab (12:66ab) ld a, $2 call MenuClickSound call ClearBGPalettes - ld b, SCGB_08 + ld b, SCGB_DIPLOMA call GetSGBLayout callba Function11c1ab pop bc diff --git a/misc/printer_77.asm b/misc/printer_77.asm index 32f5c734f..c36c21463 100755 --- a/misc/printer_77.asm +++ b/misc/printer_77.asm @@ -1,27 +1,27 @@ PrintPage1: ; 1dc1b0 hlcoord 0, 0 - ld de, wca90 + decoord 0, 0, wPrinterTileMapBuffer ld bc, 17 * SCREEN_WIDTH call CopyBytes - ld hl, wcab5 + hlcoord 17, 1, wPrinterTileMapBuffer ld a, $62 ld [hli], a inc a ld [hl], a - ld hl, wcac9 + hlcoord 17, 2, wPrinterTileMapBuffer ld a, $64 ld [hli], a inc a ld [hl], a - ld hl, wcb45 + hlcoord 1, 9, wPrinterTileMapBuffer ld a, " " ld [hli], a ld [hl], a - ld hl, wcb59 + hlcoord 1, 10, wPrinterTileMapBuffer ld a, $61 ld [hli], a ld [hl], a - ld hl, wcb6e + hlcoord 2, 11, wPrinterTileMapBuffer lb bc, 5, 18 call ClearBox ld a, [wd265] @@ -34,9 +34,9 @@ PrintPage1: ; 1dc1b0 callba GetDexEntryPagePointer pop af ld a, b - ld hl, wcb6d + hlcoord 1, 11, wPrinterTileMapBuffer call nz, FarString - ld hl, wcaa3 + hlcoord 19, 0, wPrinterTileMapBuffer ld [hl], $35 ld de, SCREEN_WIDTH add hl, de @@ -51,26 +51,26 @@ PrintPage1: ; 1dc1b0 ; 1dc213 PrintPage2: ; 1dc213 - ld hl, wca90 - ld bc, $a0 + hlcoord 0, 0, wPrinterTileMapBuffer + ld bc, 8 * SCREEN_WIDTH ld a, " " call ByteFill - ld hl, wca90 + hlcoord 0, 0, wPrinterTileMapBuffer ld a, $36 - ld b, $6 + ld b, 6 call .FillColumn - ld hl, wcaa3 + hlcoord 19, 0, wPrinterTileMapBuffer ld a, $37 - ld b, $6 + ld b, 6 call .FillColumn - ld hl, wcb08 + hlcoord 0, 6, wPrinterTileMapBuffer ld [hl], $38 inc hl ld a, $39 ld bc, SCREEN_HEIGHT call ByteFill ld [hl], $3a - ld hl, wcb1c + hlcoord 0, 7, wPrinterTileMapBuffer ld bc, SCREEN_WIDTH ld a, $32 call ByteFill @@ -83,7 +83,7 @@ PrintPage2: ; 1dc213 ld c, 2 ; get page 2 callba GetDexEntryPagePointer pop af - ld hl, wcaa5 + hlcoord 1, 1, wPrinterTileMapBuffer ld a, b call nz, FarString ret @@ -102,29 +102,29 @@ PrintPage2: ; 1dc213 ; 1dc275 GBPrinterStrings: -String_1dc275: db "@" -String_1dc276: next " CHECKING LINK...@" -String_1dc289: next " TRANSMITTING...@" -String_1dc29c: next " PRINTING...@" -String_1dc2ad: +GBPrinterString_Null: db "@" +GBPrinterString_CheckingLink: next " CHECKING LINK...@" +GBPrinterString_Transmitting: next " TRANSMITTING...@" +GBPrinterString_Printing: next " PRINTING...@" +GBPrinterString_PrinterError1: db " Printer Error 1" next "" next "Check the Game Boy" next "Printer Manual." db "@" -String_1dc2e2: +GBPrinterString_PrinterError2: db " Printer Error 2" next "" next "Check the Game Boy" next "Printer Manual." db "@" -String_1dc317: +GBPrinterString_PrinterError3: db " Printer Error 3" next "" next "Check the Game Boy" next "Printer Manual." db "@" -String_1dc34c: +GBPrinterString_PrinterError4: db " Printer Error 4" next "" next "Check the Game Boy" @@ -132,7 +132,7 @@ String_1dc34c: db "@" ; 1dc381 -Function1dc381: ; 1dc381 +PrintPartyMonPage1: ; 1dc381 call ClearBGPalettes call ClearTileMap call ClearSprites @@ -164,7 +164,7 @@ Function1dc381: ; 1dc381 call TextBox hlcoord 8, 2 ld a, [TempMonLevel] - call Function383d + call PrintLevel_Force3Digits hlcoord 12, 2 ld [hl], "◀" ; Filled left triangle inc hl @@ -232,7 +232,7 @@ Function1dc381: ; 1dc381 ret ; 1dc47b -Function1dc47b: ; 1dc47b +PrintPartyMonPage2: ; 1dc47b call ClearBGPalettes call ClearTileMap call ClearSprites diff --git a/misc/unused_title.asm b/misc/unused_title.asm index a74a376a3..0f25e8a52 100644 --- a/misc/unused_title.asm +++ b/misc/unused_title.asm @@ -10,9 +10,9 @@ UnusedTitleScreen: ; 10c000 ld [hBGMapMode], a ld hl, wJumptableIndex -rept 3 ld [hli], a -endr + ld [hli], a + ld [hli], a ld [hl], a ld hl, UnusedTitleBG_GFX |