From 91cfb6a564f73f02eb57792f8a0f4aa82e1867d1 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Tue, 16 Jan 2018 22:25:35 -0600 Subject: add debug ifdefs --- src/engine/cable_club.c | 4 ++ src/engine/clock.c | 3 +- src/engine/link.c | 141 ++++++++++++++++++++++++++++++++++++++++++++++ src/engine/rtc.c | 29 ++++++++++ src/engine/save.c | 77 +++++++++++++++++++++++++ src/engine/sprite.c | 14 +++++ src/engine/task.c | 10 +++- src/engine/trainer_card.c | 97 ++++++++++++++++++++++++++++++- 8 files changed, 369 insertions(+), 6 deletions(-) (limited to 'src/engine') diff --git a/src/engine/cable_club.c b/src/engine/cable_club.c index 44d832e2b..03a64afc6 100644 --- a/src/engine/cable_club.c +++ b/src/engine/cable_club.c @@ -360,6 +360,10 @@ void sub_80831F8(u8 taskId) || sub_8082DF4(taskId) == TRUE) return; +#ifdef DEBUG + sub_8082D60(taskId, GetLinkPlayerCount_2()); +#endif + gSpecialVar_Result = sub_8082D9C(local1, local2); if (gSpecialVar_Result == 0) return; diff --git a/src/engine/clock.c b/src/engine/clock.c index 416aaa6bb..fceccdfcb 100644 --- a/src/engine/clock.c +++ b/src/engine/clock.c @@ -13,12 +13,11 @@ #include "tv.h" #include "wallclock.h" -static void InitTimeBasedEvents(void); static void UpdatePerDay(struct Time *time); static void UpdatePerMinute(struct Time *time); static void ReturnFromStartWallClock(void); -static void InitTimeBasedEvents(void) +void InitTimeBasedEvents(void) { FlagSet(FLAG_SYS_CLOCK_SET); RtcCalcLocalTime(); diff --git a/src/engine/link.c b/src/engine/link.c index 34016d607..502715116 100644 --- a/src/engine/link.c +++ b/src/engine/link.c @@ -1,4 +1,5 @@ #include "global.h" +#include "cable_club.h" #include "link.h" #include "battle.h" #include "berry.h" @@ -543,6 +544,9 @@ static void ProcessRecvCmds(u8 unusedParam) else { SetBlockReceivedFlag(i); +#ifdef DEBUG + debug_sub_808B838(i); +#endif } } break; @@ -975,6 +979,143 @@ static void PrintHex(u32 num, u8 x, u8 y, u8 maxDigits) } } +#ifdef DEBUG + +EWRAM_DATA u16 *debugCharacterBase = NULL; +EWRAM_DATA void *unk_20238C8 = NULL; +EWRAM_DATA u16 (*debugTileMap)[] = NULL; +EWRAM_DATA u32 unk_20238D0 = 0; + +void debug_sub_8008218(u16 *buffer, void *arg1, u16 (*arg2)[], u32 arg3) +{ + CpuSet(sLinkTestDigitTiles, buffer, 272); + debugCharacterBase = buffer; + unk_20238C8 = arg1; + debugTileMap = arg2; + unk_20238D0 = arg3; +} + +#ifdef NONMATCHING +void debug_sub_8008264(u32 value, int left, int top, int r3, int sp0) +{ + u32 buffer[8]; + u32 *ptr; + + u16 *dest; + + int i; + + if (unk_20238D0 != sp0) + return; + + r3 = max(r3, 8); + + ptr = &buffer[0]; + dest = &(*debugTileMap)[left + top * 32]; + + for (i = r3; i != 0; i--) + { + *(ptr++) = value & 0xF; + value = value >> 4; + } + + ptr = &buffer[8 - r3]; + for (i = r3; i != 0; i--) + { + int charOffset = (((uintptr_t) debugCharacterBase) - ((uintptr_t) unk_20238C8)) / 32; + *dest = *ptr + charOffset + 1; + ptr--; + dest++; + } +} +#else +__attribute__((naked)) +void debug_sub_8008264() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r8\n" + " push {r7}\n" + " add sp, sp, #0xffffffe0\n" + " add r5, r0, #0\n" + " add r6, r1, #0\n" + " add r4, r3, #0\n" + " ldr r0, [sp, #0x38]\n" + " ldr r1, ._347\n" + " ldr r1, [r1]\n" + " cmp r1, r0\n" + " bne ._345 @cond_branch\n" + " cmp r4, #0x8\n" + " ble ._342 @cond_branch\n" + " mov r4, #0x8\n" + "._342:\n" + " mov r3, sp\n" + " ldr r0, ._347 + 4\n" + " mov r8, r0\n" + " lsl r2, r2, #0x6\n" + " mov ip, r2\n" + " lsl r6, r6, #0x1\n" + " lsl r7, r4, #0x2\n" + " cmp r4, #0\n" + " ble ._343 @cond_branch\n" + " mov r1, #0xf\n" + " add r2, r4, #0\n" + "._344:\n" + " add r0, r5, #0\n" + " and r0, r0, r1\n" + " stmia r3!, {r0}\n" + " lsr r5, r5, #0x4\n" + " sub r2, r2, #0x1\n" + " cmp r2, #0\n" + " bne ._344 @cond_branch\n" + "._343:\n" + " mov r1, r8\n" + " ldr r0, [r1]\n" + " add r0, r0, ip\n" + " add r5, r0, r6\n" + " mov r1, sp\n" + " add r0, r1, r7\n" + " sub r3, r0, #4\n" + " cmp r4, #0\n" + " ble ._345 @cond_branch\n" + " ldr r7, ._347 + 8\n" + " ldr r6, ._347 + 12\n" + " add r2, r4, #0\n" + "._346:\n" + " ldr r1, [r7]\n" + " ldr r0, [r6]\n" + " sub r1, r1, r0\n" + " lsr r1, r1, #0x5\n" + " ldr r0, [r3]\n" + " add r0, r0, r1\n" + " add r0, r0, #0x1\n" + " strh r0, [r5]\n" + " sub r3, r3, #0x4\n" + " add r5, r5, #0x2\n" + " sub r2, r2, #0x1\n" + " cmp r2, #0\n" + " bne ._346 @cond_branch\n" + "._345:\n" + " add sp, sp, #0x20\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._348:\n" + " .align 2, 0\n" + "._347:\n" + " .word unk_20238D0\n" + " .word debugTileMap\n" + " .word debugCharacterBase\n" + " .word unk_20238C8\n" + "\n" + ); +} +#endif + +#endif + static void LinkCB_RequestPlayerDataExchange(void) { // Only one request needs to be sent, so only the master sends it. diff --git a/src/engine/rtc.c b/src/engine/rtc.c index d73f943d2..a56fcd44e 100644 --- a/src/engine/rtc.c +++ b/src/engine/rtc.c @@ -268,6 +268,28 @@ void FormatHexDate(u8 *dest, s32 year, s32 month, s32 day) *dest = EOS; } +#ifdef DEBUG + +void debug_sub_800987C(u8 *dest) +{ + FormatHexDate(dest, sRtc.year, sRtc.month, sRtc.day); +} + +void debug_sub_8009894(u8 *dest) +{ + u16 dayCount; + + dayCount = RtcGetDayCount(&sRtc); + ConvertIntToDecimalStringN(dest, dayCount, STR_CONV_MODE_RIGHT_ALIGN, 4); +} + +void debug_sub_80098B8(u8 *dest) +{ + ConvertIntToHexStringN(dest, sRtc.status, STR_CONV_MODE_LEADING_ZEROS, 2); +} + +#endif + void RtcCalcTimeDifference(struct SiiRtcInfo *rtc, struct Time *result, struct Time *t) { u16 days = RtcGetDayCount(rtc); @@ -347,3 +369,10 @@ u32 RtcGetMinuteCount() RtcGetInfo(&sRtc); return (24 * 60) * RtcGetDayCount(&sRtc) + 60 * sRtc.hour + sRtc.minute; } + +#ifdef DEBUG +void debug_sub_8009A60() +{ + RtcGetRawInfo(&sRtc); +} +#endif diff --git a/src/engine/save.c b/src/engine/save.c index d5de2e408..8b045eaaa 100644 --- a/src/engine/save.c +++ b/src/engine/save.c @@ -574,6 +574,83 @@ u16 CalculateChecksum(void *data, u16 size) return ((checksum >> 16) + checksum); } +#ifdef DEBUG +__attribute__((naked)) +void sub_813B79C() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " ldr r4, ._163\n" + " ldr r6, ._163 + 4\n" + " mov r5, #0x0\n" + "._161:\n" + " lsl r0, r5, #0x18\n" + " lsr r0, r0, #0x18\n" + " add r1, r4, #0\n" + " bl DoReadFlashWholeSection\n" + " ldr r1, ._163 + 8\n" + " add r0, r4, r1\n" + " ldrh r0, [r0]\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r6\n" + " ldrh r1, [r0, #0x4]\n" + " add r0, r4, #0\n" + " bl CalculateChecksum\n" + " ldr r2, ._163 + 12\n" + " add r1, r4, r2\n" + " strh r0, [r1]\n" + " add r0, r5, #0\n" + " add r1, r4, #0\n" + " bl gScriptFuncs_End+0x2f60\n" + " add r0, r5, #1\n" + " lsl r0, r0, #0x10\n" + " lsr r5, r0, #0x10\n" + " cmp r5, #0x1b\n" + " bls ._161 @cond_branch\n" + " ldr r6, ._163\n" + " ldr r7, ._163 + 16\n" + " mov r5, #0x0\n" + "._162:\n" + " add r4, r5, #0\n" + " add r4, r4, #0x1c\n" + " lsl r0, r4, #0x18\n" + " lsr r0, r0, #0x18\n" + " add r1, r6, #0\n" + " bl DoReadFlashWholeSection\n" + " lsl r0, r5, #0x3\n" + " add r0, r0, r7\n" + " ldrh r1, [r0, #0x4]\n" + " add r0, r6, #0\n" + " bl CalculateChecksum\n" + " ldr r2, ._163 + 8\n" + " add r1, r6, r2\n" + " strh r0, [r1]\n" + " lsl r4, r4, #0x10\n" + " lsr r4, r4, #0x10\n" + " add r0, r4, #0\n" + " add r1, r6, #0\n" + " bl gScriptFuncs_End+0x2f60\n" + " add r0, r5, #1\n" + " lsl r0, r0, #0x10\n" + " lsr r5, r0, #0x10\n" + " cmp r5, #0x1\n" + " bls ._162 @cond_branch\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._164:\n" + " .align 2, 0\n" + "._163:\n" + " .word +0x2000000\n" + " .word gSaveSectionLocations\n" + " .word 0xff4\n" + " .word 0xff6\n" + " .word gHallOfFameSaveSectionLocations\n" + "\n" + ); +} +#endif + u8 HandleSavingData(u8 saveType) { u8 i; diff --git a/src/engine/sprite.c b/src/engine/sprite.c index cf35e12a3..cec3d0b3a 100644 --- a/src/engine/sprite.c +++ b/src/engine/sprite.c @@ -1,8 +1,10 @@ #include "global.h" +#include "debug.h" #include "sprite.h" #include "main.h" #include "menu_cursor.h" #include "palette.h" +#include "sprite.h" #define MAX_SPRITE_COPY_REQUESTS 64 @@ -822,6 +824,12 @@ static void RequestSpriteFrameImageCopy(u16 index, u16 tileNum, const struct Spr gSpriteCopyRequests[gSpriteCopyRequestCount].size = images[index].size; gSpriteCopyRequestCount++; } +#ifdef DEBUG + else + { + unref_sub_80AB084(sDmaOverErrorMsg); + } +#endif } void RequestSpriteCopy(const void *src, u8 *dest, u16 size) @@ -833,6 +841,12 @@ void RequestSpriteCopy(const void *src, u8 *dest, u16 size) gSpriteCopyRequests[gSpriteCopyRequestCount].size = size; gSpriteCopyRequestCount++; } +#ifdef DEBUG + else + { + unref_sub_80AB084(sDmaOverErrorMsg); + } +#endif } // these two functions are unused. diff --git a/src/engine/task.c b/src/engine/task.c index 7bd2b5937..ed17d28bb 100644 --- a/src/engine/task.c +++ b/src/engine/task.c @@ -1,4 +1,5 @@ #include "global.h" +#include "debug.h" #include "task.h" #define ACTIVE_SENTINEL 0x10 @@ -11,8 +12,9 @@ struct Task gTasks[ACTIVE_SENTINEL]; static void InsertTask(u8 newTaskId); static u8 FindFirstActiveTask(); -// Unused string -const u8 sTaskOverString[] = _("TASK OVER\nタスクがオーバーしました"); +const u8 gError_NoTasksLeft[] = _( + "TASK OVER\n" + "タスクがオーバーしました"); void ResetTasks() { @@ -49,6 +51,10 @@ u8 CreateTask(TaskFunc func, u8 priority) } } +#ifdef DEBUG + unref_sub_80AB084(gError_NoTasksLeft); +#endif + return 0; } diff --git a/src/engine/trainer_card.c b/src/engine/trainer_card.c index 9d09575c8..daa513145 100644 --- a/src/engine/trainer_card.c +++ b/src/engine/trainer_card.c @@ -5,6 +5,7 @@ #include "field_effect.h" #include "graphics.h" #include "link.h" +#include "m4a.h" #include "main.h" #include "menu.h" #include "money.h" @@ -52,7 +53,6 @@ extern struct LinkPlayerMapObject gLinkPlayerMapObjects[]; EWRAM_DATA struct TrainerCard gTrainerCards[4] = {0}; -extern const u8 gBadgesTiles[]; extern const u16 gUnknown_083B5F0C[]; extern const u16 gBadgesPalette[]; extern const u16 gUnknown_083B5F4C[]; @@ -63,6 +63,34 @@ const u8 gBadgesTiles[] = INCBIN_U8("graphics/trainer_card/badges.4bpp"); // XXX: what is this? u8 *const ewram_ = gSharedMem; +#ifdef DEBUG +const struct TrainerCard gUnknown_Debug_083E0448 = +{ + .gender = FEMALE, + .stars = 4, + .hasPokedex = TRUE, + .var_3 = TRUE, + .var_4 = TRUE, + .firstHallOfFameA = 999, + .firstHallOfFameB = 99, + .firstHallOfFameC = 99, + .pokedexSeen = 411, + .trainerId = 12345, + .playTimeHours = 99, + .playTimeMinutes = 99, + .linkBattleWins = 9999, + .linkBattleLosses = 9999, + .battleTowerWins = 9999, + .battleTowerLosses = 9999, + .contestsWithFriends = 999, + .pokeblocksWithFriends = 0xFFFF, + .pokemonTrades = 0xFFFF, + .money = 99999, + .var_28 = {1, 2, 3, 4}, + .playerName = _("てすと"), +}; +#endif + bool8 TrainerCard_Init(struct Task *); bool8 TrainerCard_WaitForFadeInToFinish(struct Task *); bool8 TrainerCard_WaitForKeys(struct Task *); @@ -176,8 +204,15 @@ static void TrainerCard_Back_PrintPokemonTrades_Label(void); static void TrainerCard_Back_PrintPokemonTrades(void); void unref_sub_8094588(u16 left, u16 top); +#ifdef DEBUG +static u8 gDebug_03000748; +#endif + void TrainerCard_ShowPlayerCard(Callback arg1) { +#ifdef DEBUG + gDebug_03000748 = 0; +#endif TrainerCard_InitScreenForPlayer(arg1); SetMainCallback2(sub_8093174); ewram0_2.language = GAME_LANGUAGE; @@ -185,11 +220,41 @@ void TrainerCard_ShowPlayerCard(Callback arg1) void TrainerCard_ShowLinkCard(u8 playerIndex, Callback arg2) { +#ifdef DEBUG + gDebug_03000748 = 0; +#endif TrainerCard_InitScreenForLinkPlayer(playerIndex, arg2); SetMainCallback2(sub_8093174); ewram0_2.language = gLinkPlayers[gLinkPlayerMapObjects[playerIndex].linkPlayerId].language; } +#ifdef DEBUG +void debug_sub_80A0710(Callback callback) +{ + gDebug_03000748 = TRUE; + TrainerCard_InitScreenForPlayer(callback); + SetMainCallback2(sub_8093174); + ewram0_2.language = GAME_LANGUAGE; +} + +void debug_sub_80A073C(Callback callback) +{ + memcpy(&gTrainerCards[0], &gUnknown_Debug_083E0448, sizeof(struct TrainerCard)); + gDebug_03000748=TRUE; + TrainerCard_InitScreenForLinkPlayer(0, callback); + SetMainCallback2(sub_8093174); + ewram0_2.language = GAME_LANGUAGE; +} + +void debug_sub_80A0780() +{ + int i; + + for (i = 0; i < 4; i++) + memcpy(&gTrainerCards[i], &gUnknown_Debug_083E0448, sizeof(struct TrainerCard)); +} +#endif + static void sub_8093174(void) { switch (gMain.state) @@ -553,6 +618,19 @@ static void TrainerCard_FillFlags(void) } } } + +#ifdef DEBUG + if (gDebug_03000748 != 0) + { + ewram0_2.showHallOfFame = TRUE; + ewram0_2.showLinkBattleStatus = TRUE; + ewram0_2.showBattleTowerStatus = TRUE; + ewram0_2.showContestRecord = TRUE; + ewram0_2.showMixingRecord = TRUE; + ewram0_2.showTradingRecord = TRUE; + memset(ewram0_2.ownedBadges, TRUE, sizeof(ewram0_2.ownedBadges)); + } +#endif } void sub_80937A4() @@ -645,6 +723,17 @@ bool8 TrainerCard_WaitForKeys(struct Task *task) } return TRUE; } +#ifdef DEBUG + else if (gDebug_03000748 && gMain.newKeys & R_BUTTON) + { + ewram0_2.starCount++; + ewram0_2.starCount %= 5; + TrainerCard_LoadPalettes(); + if (ewram0_2.backSideShown == 0) + TrainerCard_DrawStars(); + } +#endif + return FALSE; } @@ -1372,7 +1461,11 @@ static void TrainerCard_Front_PrintPokedexCount(void) { u8 buffer[16]; - if (!ewram0_2.showPokedexCount) + if ( +#ifdef DEBUG + gDebug_03000748 == 0 && +#endif + !ewram0_2.showPokedexCount) { TrainerCard_ClearPokedexLabel(); } -- cgit v1.2.3 From bcf3fb87450883c9c26afec55f5f0ddc04864e84 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Wed, 17 Jan 2018 12:07:40 -0600 Subject: add more debug data --- src/engine/sprite.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/engine') diff --git a/src/engine/sprite.c b/src/engine/sprite.c index cec3d0b3a..ed143ae8e 100644 --- a/src/engine/sprite.c +++ b/src/engine/sprite.c @@ -815,7 +815,7 @@ void ProcessSpriteCopyRequests(void) } } -static void RequestSpriteFrameImageCopy(u16 index, u16 tileNum, const struct SpriteFrameImage *images) +/*static*/ void RequestSpriteFrameImageCopy(u16 index, u16 tileNum, const struct SpriteFrameImage *images) { if (gSpriteCopyRequestCount < MAX_SPRITE_COPY_REQUESTS) { @@ -824,7 +824,7 @@ static void RequestSpriteFrameImageCopy(u16 index, u16 tileNum, const struct Spr gSpriteCopyRequests[gSpriteCopyRequestCount].size = images[index].size; gSpriteCopyRequestCount++; } -#ifdef DEBUG +#if DEBUG else { unref_sub_80AB084(sDmaOverErrorMsg); -- cgit v1.2.3 From d79f440b8d4c5af26a98011719807b05745533e1 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Wed, 17 Jan 2018 12:10:41 -0600 Subject: use 'if DEBUG' instead of 'ifdef DEBUG' --- src/engine/cable_club.c | 2 +- src/engine/link.c | 4 ++-- src/engine/rtc.c | 4 ++-- src/engine/save.c | 2 +- src/engine/sprite.c | 2 +- src/engine/task.c | 2 +- src/engine/trainer_card.c | 16 ++++++++-------- 7 files changed, 16 insertions(+), 16 deletions(-) (limited to 'src/engine') diff --git a/src/engine/cable_club.c b/src/engine/cable_club.c index 03a64afc6..688560218 100644 --- a/src/engine/cable_club.c +++ b/src/engine/cable_club.c @@ -360,7 +360,7 @@ void sub_80831F8(u8 taskId) || sub_8082DF4(taskId) == TRUE) return; -#ifdef DEBUG +#if DEBUG sub_8082D60(taskId, GetLinkPlayerCount_2()); #endif diff --git a/src/engine/link.c b/src/engine/link.c index f93fb775f..5747915d7 100644 --- a/src/engine/link.c +++ b/src/engine/link.c @@ -544,7 +544,7 @@ static void ProcessRecvCmds(u8 unusedParam) else { SetBlockReceivedFlag(i); -#ifdef DEBUG +#if DEBUG debug_sub_808B838(i); #endif } @@ -979,7 +979,7 @@ static void PrintHex(u32 num, u8 x, u8 y, u8 maxDigits) } } -#ifdef DEBUG +#if DEBUG EWRAM_DATA u16 *debugCharacterBase = NULL; EWRAM_DATA void *unk_20238C8 = NULL; diff --git a/src/engine/rtc.c b/src/engine/rtc.c index a56fcd44e..5462298ed 100644 --- a/src/engine/rtc.c +++ b/src/engine/rtc.c @@ -268,7 +268,7 @@ void FormatHexDate(u8 *dest, s32 year, s32 month, s32 day) *dest = EOS; } -#ifdef DEBUG +#if DEBUG void debug_sub_800987C(u8 *dest) { @@ -370,7 +370,7 @@ u32 RtcGetMinuteCount() return (24 * 60) * RtcGetDayCount(&sRtc) + 60 * sRtc.hour + sRtc.minute; } -#ifdef DEBUG +#if DEBUG void debug_sub_8009A60() { RtcGetRawInfo(&sRtc); diff --git a/src/engine/save.c b/src/engine/save.c index d7df98e5f..5564a6ce3 100644 --- a/src/engine/save.c +++ b/src/engine/save.c @@ -663,7 +663,7 @@ static u16 CalculateChecksum(void *data, u16 size) return ((checksum >> 16) + checksum); } -#ifdef DEBUG +#if DEBUG __attribute__((naked)) void sub_813B79C() { diff --git a/src/engine/sprite.c b/src/engine/sprite.c index ed143ae8e..eaffedfdc 100644 --- a/src/engine/sprite.c +++ b/src/engine/sprite.c @@ -841,7 +841,7 @@ void RequestSpriteCopy(const void *src, u8 *dest, u16 size) gSpriteCopyRequests[gSpriteCopyRequestCount].size = size; gSpriteCopyRequestCount++; } -#ifdef DEBUG +#if DEBUG else { unref_sub_80AB084(sDmaOverErrorMsg); diff --git a/src/engine/task.c b/src/engine/task.c index ed17d28bb..d1f2cb5df 100644 --- a/src/engine/task.c +++ b/src/engine/task.c @@ -51,7 +51,7 @@ u8 CreateTask(TaskFunc func, u8 priority) } } -#ifdef DEBUG +#if DEBUG unref_sub_80AB084(gError_NoTasksLeft); #endif diff --git a/src/engine/trainer_card.c b/src/engine/trainer_card.c index daa513145..f9adc5777 100644 --- a/src/engine/trainer_card.c +++ b/src/engine/trainer_card.c @@ -63,7 +63,7 @@ const u8 gBadgesTiles[] = INCBIN_U8("graphics/trainer_card/badges.4bpp"); // XXX: what is this? u8 *const ewram_ = gSharedMem; -#ifdef DEBUG +#if DEBUG const struct TrainerCard gUnknown_Debug_083E0448 = { .gender = FEMALE, @@ -204,13 +204,13 @@ static void TrainerCard_Back_PrintPokemonTrades_Label(void); static void TrainerCard_Back_PrintPokemonTrades(void); void unref_sub_8094588(u16 left, u16 top); -#ifdef DEBUG +#if DEBUG static u8 gDebug_03000748; #endif void TrainerCard_ShowPlayerCard(Callback arg1) { -#ifdef DEBUG +#if DEBUG gDebug_03000748 = 0; #endif TrainerCard_InitScreenForPlayer(arg1); @@ -220,7 +220,7 @@ void TrainerCard_ShowPlayerCard(Callback arg1) void TrainerCard_ShowLinkCard(u8 playerIndex, Callback arg2) { -#ifdef DEBUG +#if DEBUG gDebug_03000748 = 0; #endif TrainerCard_InitScreenForLinkPlayer(playerIndex, arg2); @@ -228,7 +228,7 @@ void TrainerCard_ShowLinkCard(u8 playerIndex, Callback arg2) ewram0_2.language = gLinkPlayers[gLinkPlayerMapObjects[playerIndex].linkPlayerId].language; } -#ifdef DEBUG +#if DEBUG void debug_sub_80A0710(Callback callback) { gDebug_03000748 = TRUE; @@ -619,7 +619,7 @@ static void TrainerCard_FillFlags(void) } } -#ifdef DEBUG +#if DEBUG if (gDebug_03000748 != 0) { ewram0_2.showHallOfFame = TRUE; @@ -723,7 +723,7 @@ bool8 TrainerCard_WaitForKeys(struct Task *task) } return TRUE; } -#ifdef DEBUG +#if DEBUG else if (gDebug_03000748 && gMain.newKeys & R_BUTTON) { ewram0_2.starCount++; @@ -1462,7 +1462,7 @@ static void TrainerCard_Front_PrintPokedexCount(void) u8 buffer[16]; if ( -#ifdef DEBUG +#if DEBUG gDebug_03000748 == 0 && #endif !ewram0_2.showPokedexCount) -- cgit v1.2.3 From 6efb614f3f3bf1b1b381bdfe220391e152fc8ebe Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Wed, 17 Jan 2018 15:49:51 -0600 Subject: add more debug things --- src/engine/save.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/engine') diff --git a/src/engine/save.c b/src/engine/save.c index 5564a6ce3..e1fb47dcc 100644 --- a/src/engine/save.c +++ b/src/engine/save.c @@ -690,7 +690,7 @@ void sub_813B79C() " strh r0, [r1]\n" " add r0, r5, #0\n" " add r1, r4, #0\n" - " bl gScriptFuncs_End+0x2f60\n" + " bl gMysteryEventScriptCmdTableEnd+0x2f60\n" " add r0, r5, #1\n" " lsl r0, r0, #0x10\n" " lsr r5, r0, #0x10\n" @@ -718,7 +718,7 @@ void sub_813B79C() " lsr r4, r4, #0x10\n" " add r0, r4, #0\n" " add r1, r6, #0\n" - " bl gScriptFuncs_End+0x2f60\n" + " bl gMysteryEventScriptCmdTableEnd+0x2f60\n" " add r0, r5, #1\n" " lsl r0, r0, #0x10\n" " lsr r5, r0, #0x10\n" -- cgit v1.2.3 From c3534e7b0e2df48fe989deb74c26f98e1fe759b8 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Wed, 17 Jan 2018 16:46:54 -0600 Subject: add more debug code --- src/engine/cable_club.c | 436 ++++++++++++++++++++++++++++++++++++- src/engine/mystery_event_menu.c | 460 ++++++++++++++++++++++++++++++++++++++++ src/engine/reset_rtc_screen.c | 316 +++++++++++++++++++++++++++ 3 files changed, 1211 insertions(+), 1 deletion(-) (limited to 'src/engine') diff --git a/src/engine/cable_club.c b/src/engine/cable_club.c index 688560218..c0397f67b 100644 --- a/src/engine/cable_club.c +++ b/src/engine/cable_club.c @@ -95,6 +95,325 @@ const u8 *const gTrainerCardColorNames[] = TrainerCardColorName_Gold, }; +#if DEBUG + +__attribute__((naked)) +int debug_sub_808A4D0() +{ + asm("\ + push {lr}\n\ + add r1, r0, #0\n\ + ldr r0, ._3\n\ + cmp r1, r0\n\ + bne ._1 @cond_branch\n\ + mov r0, #0x1\n\ + b ._30\n\ +._4:\n\ + .align 2, 0\n\ +._3:\n\ + .word sub_8082F68+1\n\ +._1:\n\ + ldr r0, ._7\n\ + cmp r1, r0\n\ + bne ._5 @cond_branch\n\ + mov r0, #0x11\n\ + b ._30\n\ +._8:\n\ + .align 2, 0\n\ +._7:\n\ + .word sub_8082FEC+1\n\ +._5:\n\ + ldr r0, ._11\n\ + cmp r1, r0\n\ + bne ._9 @cond_branch\n\ + mov r0, #0x12\n\ + b ._30\n\ +._12:\n\ + .align 2, 0\n\ +._11:\n\ + .word sub_808303C+1\n\ +._9:\n\ + ldr r0, ._15\n\ + cmp r1, r0\n\ + bne ._13 @cond_branch\n\ + mov r0, #0x13\n\ + b ._30\n\ +._16:\n\ + .align 2, 0\n\ +._15:\n\ + .word sub_8083188+1\n\ +._13:\n\ + ldr r0, ._19\n\ + cmp r1, r0\n\ + bne ._17 @cond_branch\n\ + mov r0, #0x14\n\ + b ._30\n\ +._20:\n\ + .align 2, 0\n\ +._19:\n\ + .word sub_80830E4+1\n\ +._17:\n\ + ldr r0, ._23\n\ + cmp r1, r0\n\ + bne ._21 @cond_branch\n\ + mov r0, #0x21\n\ + b ._30\n\ +._24:\n\ + .align 2, 0\n\ +._23:\n\ + .word sub_80831F8+1\n\ +._21:\n\ + ldr r0, ._27\n\ + cmp r1, r0\n\ + bne ._25 @cond_branch\n\ + mov r0, #0x2\n\ + b ._30\n\ +._28:\n\ + .align 2, 0\n\ +._27:\n\ + .word sub_8083314+1\n\ +._25:\n\ + ldr r0, ._31\n\ + cmp r1, r0\n\ + beq ._29 @cond_branch\n\ + mov r0, #0x0\n\ + b ._30\n\ +._32:\n\ + .align 2, 0\n\ +._31:\n\ + .word sub_80833C4+1\n\ +._29:\n\ + mov r0, #0x3\n\ +._30:\n\ + pop {r1}\n\ + bx r1"); +} + +__attribute__((naked)) +void debug_sub_808A55C() +{ + asm("\ + push {r4, r5, r6, r7, lr}\n\ + mov r7, r8\n\ + push {r7}\n\ + lsl r0, r0, #0x18\n\ + lsr r7, r0, #0x18\n\ + ldr r2, ._37\n\ + lsl r0, r7, #0x2\n\ + add r0, r0, r7\n\ + lsl r0, r0, #0x3\n\ + add r4, r0, r2\n\ + mov r0, #0x8\n\ + ldsh r1, [r4, r0]\n\ + lsl r0, r1, #0x2\n\ + add r0, r0, r1\n\ + lsl r0, r0, #0x3\n\ + add r0, r0, r2\n\ + ldrb r0, [r0, #0x4]\n\ + cmp r0, #0\n\ + bne ._33 @cond_branch\n\ + mov r1, #0xa\n\ + ldsh r0, [r4, r1]\n\ + cmp r0, #0x5\n\ + bne ._34 @cond_branch\n\ + add r0, r7, #0\n\ + bl DestroyTask\n\ +._34:\n\ + ldrh r0, [r4, #0xa]\n\ + add r0, r0, #0x1\n\ + strh r0, [r4, #0xa]\n\ +._33:\n\ + ldr r0, ._37 + 4\n\ + ldrb r0, [r0]\n\ + mov r1, #0x2\n\ + mov r2, #0x0\n\ + mov r3, #0x2\n\ + bl PrintHex\n\ + ldr r0, ._37 + 8\n\ + ldrb r0, [r0]\n\ + mov r1, #0x16\n\ + mov r2, #0x5\n\ + mov r3, #0x4\n\ + bl PrintHex\n\ + mov r4, #0x0\n\ + lsl r3, r7, #0x2\n\ + mov r8, r3\n\ + mov r6, #0xc0\n\ + lsl r6, r6, #0x13\n\ + mov r5, #0xa0\n\ + lsl r5, r5, #0x13\n\ +._35:\n\ + ldr r0, ._37 + 12\n\ + add r0, r4, r0\n\ + ldrb r0, [r0]\n\ + lsr r1, r5, #0x18\n\ + mov r2, #0x0\n\ + mov r3, #0x1\n\ + bl PrintHex\n\ + ldr r1, ._37 + 16\n\ + lsl r0, r4, #0x8\n\ + add r0, r0, r1\n\ + ldrh r0, [r0]\n\ + lsr r2, r6, #0x18\n\ + mov r1, #0x16\n\ + mov r3, #0x4\n\ + bl PrintHex\n\ + mov r0, #0x80\n\ + lsl r0, r0, #0x11\n\ + add r6, r6, r0\n\ + mov r1, #0x80\n\ + lsl r1, r1, #0x12\n\ + add r5, r5, r1\n\ + add r4, r4, #0x1\n\ + cmp r4, #0x3\n\ + ble ._35 @cond_branch\n\ + ldr r4, ._37 + 20\n\ + ldr r0, [r4]\n\ + mov r1, #0xf\n\ + mov r2, #0x0\n\ + mov r3, #0x8\n\ + bl PrintHex\n\ + ldr r0, ._37 + 24\n\ + ldrb r0, [r0, #0x1]\n\ + mov r1, #0x2\n\ + mov r2, #0xa\n\ + mov r3, #0x2\n\ + bl PrintHex\n\ + bl GetMultiplayerId\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + mov r1, #0x7\n\ + mov r2, #0xc\n\ + mov r3, #0x2\n\ + bl PrintHex\n\ + bl GetBlockReceivedStatus\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + mov r1, #0x7\n\ + mov r2, #0xa\n\ + mov r3, #0x2\n\ + bl PrintHex\n\ + ldr r0, ._37 + 28\n\ + ldrb r0, [r0]\n\ + mov r1, #0x2\n\ + mov r2, #0xc\n\ + mov r3, #0x1\n\ + bl PrintHex\n\ + ldr r0, ._37 + 32\n\ + ldrh r0, [r0]\n\ + mov r1, #0xb\n\ + mov r2, #0x8\n\ + mov r3, #0x2\n\ + bl PrintHex\n\ + ldr r0, [r4]\n\ + mov r1, #0x1c\n\ + and r0, r0, r1\n\ + lsr r0, r0, #0x2\n\ + mov r1, #0xb\n\ + mov r2, #0xa\n\ + mov r3, #0x2\n\ + bl PrintHex\n\ + bl IsLinkConnectionEstablished\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + mov r1, #0xb\n\ + mov r2, #0xc\n\ + mov r3, #0x1\n\ + bl PrintHex\n\ + bl sub_8007ECC\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + mov r1, #0xf\n\ + mov r2, #0xa\n\ + mov r3, #0x1\n\ + bl PrintHex\n\ + ldr r2, ._37\n\ + mov r3, r8\n\ + add r0, r3, r7\n\ + lsl r0, r0, #0x3\n\ + add r0, r0, r2\n\ + mov r3, #0x8\n\ + ldsh r1, [r0, r3]\n\ + lsl r0, r1, #0x2\n\ + add r0, r0, r1\n\ + lsl r0, r0, #0x3\n\ + add r0, r0, r2\n\ + ldr r0, [r0]\n\ + bl debug_sub_808A4D0\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + mov r1, #0xf\n\ + mov r2, #0xc\n\ + mov r3, #0x2\n\ + bl PrintHex\n\ + ldr r0, ._37 + 36\n\ + ldr r0, [r0]\n\ + mov r1, #0x2\n\ + mov r2, #0xd\n\ + mov r3, #0x8\n\ + bl PrintHex\n\ + bl HasLinkErrorOccurred\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + mov r1, #0x2\n\ + mov r2, #0x2\n\ + mov r3, #0x1\n\ + bl PrintHex\n\ + ldr r0, ._37 + 40\n\ + mov r6, #0x80\n\ + lsl r6, r6, #0x12\n\ + add r5, r0, #0\n\ + add r5, r5, #0x14\n\ + mov r4, #0x3\n\ +._36:\n\ + ldr r0, [r5]\n\ + lsr r1, r6, #0x18\n\ + mov r2, #0x3\n\ + mov r3, #0x4\n\ + bl PrintHex\n\ + mov r0, #0xc0\n\ + lsl r0, r0, #0x13\n\ + add r6, r6, r0\n\ + add r5, r5, #0x1c\n\ + sub r4, r4, #0x1\n\ + cmp r4, #0\n\ + bge ._36 @cond_branch\n\ + ldr r0, ._37 + 44\n\ + ldrh r0, [r0]\n\ + mov r1, #0x2\n\ + mov r2, #0x6\n\ + mov r3, #0x4\n\ + bl PrintHex\n\ + bl debug_sub_808B850\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + mov r1, #0x19\n\ + mov r2, #0x3\n\ + mov r3, #0x1\n\ + bl PrintHex\n\ + pop {r3}\n\ + mov r8, r3\n\ + pop {r4, r5, r6, r7}\n\ + pop {r0}\n\ + bx r0\n\ +._38:\n\ + .align 2, 0\n\ +._37:\n\ + .word gTasks\n\ + .word gShouldAdvanceLinkState\n\ + .word gBlockSendBuffer\n\ + .word gLinkPlayerPending\n\ + .word gBlockRecvBuffer\n\ + .word gLinkStatus\n\ + .word gLink\n\ + .word gReceivedRemoteLinkPlayers\n\ + .word gScriptResult\n\ + .word gLinkCallback\n\ + .word gLinkPlayers\n\ + .word 0x4000128"); +} +#endif + static void sub_8082CD4(u8 arg0, u8 arg1) { if (FindTaskIdByFunc(sub_8082F20) == 0xFF) @@ -912,6 +1231,74 @@ void sub_8083C50(u8 taskId) DestroyTask(taskId); } +#if DEBUG + +__attribute__((naked)) +void debug_sub_808B778() +{ + asm("\ + push {r4, lr}\n\ + ldr r4, ._390\n\ + add r0, r4, #0\n\ + bl FuncIsActiveTask\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._389 @cond_branch\n\ + add r0, r4, #0\n\ + mov r1, #0x50\n\ + bl CreateTask\n\ +._389:\n\ + ldr r1, ._390 + 4\n\ + ldr r0, [r1]\n\ + add r0, r0, #0x1\n\ + str r0, [r1]\n\ + pop {r4}\n\ + pop {r0}\n\ + bx r0\n\ +._391:\n\ + .align 2, 0\n\ +._390:\n\ + .word debug_sub_808B7A8+1\n\ + .word unk_3004E98"); +} + +__attribute__((naked)) +void debug_sub_808B7A8() +{ + asm("\ + push {lr}\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + ldr r2, ._393\n\ + lsl r1, r0, #0x2\n\ + add r1, r1, r0\n\ + lsl r1, r1, #0x3\n\ + add r1, r1, r2\n\ + ldrh r0, [r1, #0x8]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1, #0x8]\n\ + lsl r0, r0, #0x10\n\ + asr r0, r0, #0x10\n\ + cmp r0, #0x1e\n\ + bne ._392 @cond_branch\n\ + mov r0, #0x0\n\ + strh r0, [r1, #0x8]\n\ + ldr r2, ._393 + 4\n\ + ldrh r0, [r2]\n\ + mov r1, #0x1\n\ + orr r0, r0, r1\n\ + strh r0, [r2]\n\ +._392:\n\ + pop {r0}\n\ + bx r0\n\ +._394:\n\ + .align 2, 0\n\ +._393:\n\ + .word gTasks\n\ + .word unk_3004E94"); +} +#endif + static void sub_8083CA4(u8 taskId) { if (!gReceivedRemoteLinkPlayers) @@ -925,4 +1312,51 @@ void unref_sub_8083CC8(u8 taskId) { sub_800832C(); gTasks[taskId].func = sub_8083CA4; -} \ No newline at end of file +} + +#if DEBUG + +void debug_sub_808B82C() +{ + asm("\ + ldr r1, ._400\n\ + mov r0, #0x0\n\ + strb r0, [r1]\n\ + bx lr\n\ +._401:\n\ + .align 2, 0\n\ +._400:\n\ + .word unk_2030220"); +} + +void debug_sub_808B838(u8 a) +{ + asm("\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + ldr r2, ._402\n\ + mov r1, #0x1\n\ + LSL r1, r0\n\ + ldrb r0, [r2]\n\ + orr r1, r1, r0\n\ + strb r1, [r2]\n\ + bx lr\n\ +._403:\n\ + .align 2, 0\n\ +._402:\n\ + .word unk_2030220"); +} + +int debug_sub_808B850() +{ + asm("\ + ldr r0, ._404\n\ + ldrb r0, [r0]\n\ + bx lr\n\ +._405:\n\ + .align 2, 0\n\ +._404:\n\ + .word unk_2030220"); +} + +#endif \ No newline at end of file diff --git a/src/engine/mystery_event_menu.c b/src/engine/mystery_event_menu.c index 8fad563e6..522a185c8 100644 --- a/src/engine/mystery_event_menu.c +++ b/src/engine/mystery_event_menu.c @@ -338,3 +338,463 @@ static void CB2_MysteryEventMenu(void) BuildOamBuffer(); UpdatePaletteFade(); } + +#if DEBUG + +void debug_sub_815D1D8(); + +__attribute__((naked)) +void debug_sub_815D04C() +{ + asm( + " push {r4, r5, r6, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " ldr r1, ._125\n" + " lsl r0, r5, #0x2\n" + " add r0, r0, r5\n" + " lsl r0, r0, #0x3\n" + " add r4, r0, r1\n" + " mov r1, #0x8\n" + " ldsh r0, [r4, r1]\n" + " cmp r0, #0\n" + " bne ._121 @cond_branch\n" + " mov r0, #0x4\n" + " mov r1, #0x4\n" + " mov r2, #0xd\n" + " mov r3, #0x7\n" + " bl MenuDrawTextWindow\n" + " ldr r1, ._125 + 4\n" + " mov r2, #0xa\n" + " ldsh r0, [r4, r2]\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r0, [r0]\n" + " mov r1, #0x5\n" + " mov r2, #0x5\n" + " bl MenuPrint\n" + " ldrh r0, [r4, #0x8]\n" + " add r0, r0, #0x1\n" + " strh r0, [r4, #0x8]\n" + "._121:\n" + " ldr r2, ._125 + 8\n" + " ldrh r1, [r2, #0x2e]\n" + " mov r0, #0x20\n" + " and r0, r0, r1\n" + " add r6, r2, #0\n" + " cmp r0, #0\n" + " beq ._122 @cond_branch\n" + " ldrh r1, [r4, #0xa]\n" + " mov r2, #0xa\n" + " ldsh r0, [r4, r2]\n" + " cmp r0, #0\n" + " bne ._123 @cond_branch\n" + " ldr r0, ._125 + 12\n" + " ldrb r0, [r0]\n" + " sub r0, r0, #0x1\n" + " b ._124\n" + "._126:\n" + " .align 2, 0\n" + "._125:\n" + " .word gTasks\n" + " .word gFlashSectors+0x9c\n" + " .word gMain\n" + " .word gFlashSectors+0x11c\n" + "._123:\n" + " sub r0, r1, #1\n" + "._124:\n" + " strh r0, [r4, #0xa]\n" + " ldr r0, ._130\n" + " lsl r1, r5, #0x2\n" + " add r1, r1, r5\n" + " lsl r1, r1, #0x3\n" + " add r1, r1, r0\n" + " mov r0, #0x0\n" + " strh r0, [r1, #0x8]\n" + "._122:\n" + " ldrh r1, [r6, #0x2e]\n" + " mov r0, #0x10\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._127 @cond_branch\n" + " ldr r1, ._130\n" + " lsl r2, r5, #0x2\n" + " add r0, r2, r5\n" + " lsl r0, r0, #0x3\n" + " add r4, r0, r1\n" + " mov r0, #0xa\n" + " ldsh r3, [r4, r0]\n" + " ldr r0, ._130 + 4\n" + " ldrb r0, [r0]\n" + " sub r0, r0, #0x1\n" + " cmp r3, r0\n" + " bne ._128 @cond_branch\n" + " mov r0, #0x0\n" + " b ._129\n" + "._131:\n" + " .align 2, 0\n" + "._130:\n" + " .word gTasks\n" + " .word gFlashSectors+0x11c\n" + "._128:\n" + " ldrh r0, [r4, #0xa]\n" + " add r0, r0, #0x1\n" + "._129:\n" + " strh r0, [r4, #0xa]\n" + " add r0, r2, r5\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " mov r1, #0x0\n" + " strh r1, [r0, #0x8]\n" + "._127:\n" + " ldrh r1, [r6, #0x2e]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._132 @cond_branch\n" + " ldr r1, ._133\n" + " lsl r0, r5, #0x2\n" + " add r0, r0, r5\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " mov r2, #0xa\n" + " ldsh r1, [r0, r2]\n" + " lsl r1, r1, #0x3\n" + " ldr r0, ._133 + 4\n" + " add r0, r0, #0x4\n" + " add r1, r1, r0\n" + " ldr r0, ._133 + 8\n" + " ldr r1, [r1]\n" + " bl gScriptFuncs_End+0x3cf8\n" + " ldr r0, ._133 + 12\n" + " add r1, r6, r0\n" + " ldrb r0, [r1]\n" + " add r0, r0, #0x1\n" + " strb r0, [r1]\n" + " add r0, r5, #0\n" + " bl DestroyTask\n" + "._132:\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._134:\n" + " .align 2, 0\n" + "._133:\n" + " .word gTasks\n" + " .word gFlashSectors+0x9c\n" + " .word +0x2004000\n" + " .word 0x43c\n" + "\n" + ); +} + +void debug_sub_815D15C(void) +{ + ResetSpriteData(); + FreeAllSpritePalettes(); + ResetTasks(); + SetVBlankCallback(VBlankCB); + Text_LoadWindowTemplate(&gWindowTemplate_81E6CE4); + InitMenuWindow(&gWindowTemplate_81E6CE4); + Menu_EraseScreen(); + REG_DISPCNT = DISPCNT_BG0_ON | DISPCNT_OBJ_1D_MAP | DISPCNT_MODE_0; + REG_BLDCNT = 0; + + CreateTask(Task_DestroySelf, 0); + StopMapMusic(); + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); + FillPalette(0, 0, 2); + SetMainCallback2(debug_sub_815D1D8); +} + +__attribute__((naked)) +void debug_sub_815D1D8() +{ + asm( + " push {r4, lr}\n" + " add sp, sp, #0xfffffffc\n" + " ldr r1, ._139\n" + " ldr r2, ._139 + 4\n" + " add r0, r1, r2\n" + " ldrb r0, [r0]\n" + " add r4, r1, #0\n" + " cmp r0, #0xb\n" + " bls ._137 @cond_branch\n" + " b ._196\n" + "._137:\n" + " lsl r0, r0, #0x2\n" + " ldr r1, ._139 + 8\n" + " add r0, r0, r1\n" + " ldr r0, [r0]\n" + " mov pc, r0\n" + "._140:\n" + " .align 2, 0\n" + "._139:\n" + " .word gMain\n" + " .word 0x43c\n" + " .word ._141\n" + "._141:\n" + " .word ._142\n" + " .word ._143\n" + " .word ._144\n" + " .word ._145\n" + " .word ._146\n" + " .word ._196\n" + " .word ._148\n" + " .word ._149\n" + " .word ._150\n" + " .word ._151\n" + " .word ._152\n" + " .word ._153\n" + "._142:\n" + " mov r0, #0x3\n" + " mov r1, #0xe\n" + " mov r2, #0x1b\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " mov r1, #0x0\n" + " str r1, [sp]\n" + " mov r2, #0x10\n" + " mov r3, #0x0\n" + " bl BeginNormalPaletteFade\n" + " ldr r1, ._155\n" + " ldr r0, ._155 + 4\n" + " add r1, r1, r0\n" + " b ._189\n" + "._156:\n" + " .align 2, 0\n" + "._155:\n" + " .word gMain\n" + " .word 0x43c\n" + "._143:\n" + " ldr r0, ._161\n" + " ldrb r1, [r0, #0x7]\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._157 @cond_branch\n" + " b ._196\n" + "._157:\n" + " ldrh r1, [r4, #0x2c]\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._159 @cond_branch\n" + " ldr r1, ._161 + 4\n" + " ldrb r0, [r1]\n" + " add r0, r0, #0x1\n" + " strb r0, [r1]\n" + "._159:\n" + " ldr r0, ._161 + 8\n" + " mov r1, #0x4\n" + " mov r2, #0xf\n" + " bl MenuPrintMessage\n" + " ldr r2, ._161 + 12\n" + " add r1, r4, r2\n" + " b ._189\n" + "._162:\n" + " .align 2, 0\n" + "._161:\n" + " .word gPaletteFade\n" + " .word gLinkTestBlockChecksums+0x8\n" + " .word gUnknown_0841192C+0x14\n" + " .word 0x43c\n" + "._144:\n" + " bl MenuUpdateWindowText\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " bne ._163 @cond_branch\n" + " b ._196\n" + "._163:\n" + " ldr r1, ._166\n" + " ldr r0, ._166 + 4\n" + " add r1, r1, r0\n" + " ldrb r0, [r1]\n" + " add r0, r0, #0x1\n" + " strb r0, [r1]\n" + " ldr r1, ._166 + 8\n" + " ldr r2, ._166 + 12\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " bl OpenLink\n" + " b ._196\n" + "._167:\n" + " .align 2, 0\n" + "._166:\n" + " .word gMain\n" + " .word 0x43c\n" + " .word gLinkType\n" + " .word 0x5501\n" + "._145:\n" + " ldr r0, ._171\n" + " ldrb r0, [r0]\n" + " cmp r0, #0\n" + " bne ._168 @cond_branch\n" + " b ._196\n" + "._168:\n" + " ldr r1, ._171 + 4\n" + " add r0, r4, r1\n" + " ldrb r1, [r0]\n" + " add r1, r1, #0x1\n" + " strb r1, [r0]\n" + " ldr r0, ._171 + 8\n" + " mov r1, #0x4\n" + " mov r2, #0xf\n" + " bl MenuPrintMessage\n" + " b ._196\n" + "._172:\n" + " .align 2, 0\n" + "._171:\n" + " .word gReceivedRemoteLinkPlayers\n" + " .word 0x43c\n" + " .word gUnknown_0841192C+0x28\n" + "._146:\n" + " bl MenuUpdateWindowText\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " bne ._173 @cond_branch\n" + " b ._196\n" + "._173:\n" + " ldr r0, ._176\n" + " mov r1, #0xa\n" + " bl CreateTask\n" + " ldr r1, ._176 + 4\n" + " ldr r2, ._176 + 8\n" + " add r1, r1, r2\n" + " b ._189\n" + "._177:\n" + " .align 2, 0\n" + "._176:\n" + " .word debug_sub_815D04C+1\n" + " .word gMain\n" + " .word 0x43c\n" + "._148:\n" + " ldr r0, ._179\n" + " mov r1, #0x4\n" + " mov r2, #0xf\n" + " bl MenuPrintMessage\n" + " ldr r1, ._179 + 4\n" + " ldr r2, ._179 + 8\n" + " mov r0, #0x0\n" + " bl SendBlock\n" + " ldr r1, ._179 + 12\n" + " ldr r0, ._179 + 16\n" + " add r1, r1, r0\n" + " b ._189\n" + "._180:\n" + " .align 2, 0\n" + "._179:\n" + " .word gUnknown_0841192C+0x3c\n" + " .word +0x2004000\n" + " .word 0x2004\n" + " .word gMain\n" + " .word 0x43c\n" + "._149:\n" + " bl MenuUpdateWindowText\n" + " bl sub_8007ECC\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " beq ._196 @cond_branch\n" + " ldr r1, ._183\n" + " ldr r2, ._183 + 4\n" + " add r1, r1, r2\n" + " b ._189\n" + "._184:\n" + " .align 2, 0\n" + "._183:\n" + " .word gMain\n" + " .word 0x43c\n" + "._150:\n" + " bl sub_800832C\n" + " ldr r1, ._186\n" + " ldr r0, ._186 + 4\n" + " add r1, r1, r0\n" + " b ._189\n" + "._187:\n" + " .align 2, 0\n" + "._186:\n" + " .word gMain\n" + " .word 0x43c\n" + "._151:\n" + " ldr r0, ._190\n" + " ldrb r0, [r0]\n" + " cmp r0, #0\n" + " bne ._196 @cond_branch\n" + " mov r0, #0x4\n" + " mov r1, #0xf\n" + " mov r2, #0x1a\n" + " mov r3, #0x12\n" + " bl MenuFillWindowRectWithBlankTile\n" + " ldr r0, ._190 + 4\n" + " mov r1, #0x4\n" + " mov r2, #0xf\n" + " bl MenuPrint\n" + " ldr r1, ._190 + 8\n" + " ldr r2, ._190 + 12\n" + " add r1, r1, r2\n" + " b ._189\n" + "._191:\n" + " .align 2, 0\n" + "._190:\n" + " .word gReceivedRemoteLinkPlayers\n" + " .word gUnknown_0841192C+0x47\n" + " .word gMain\n" + " .word 0x43c\n" + "._152:\n" + " ldrh r1, [r4, #0x2e]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._196 @cond_branch\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " mov r1, #0x0\n" + " str r1, [sp]\n" + " mov r2, #0x0\n" + " mov r3, #0x10\n" + " bl BeginNormalPaletteFade\n" + " ldr r0, ._194\n" + " add r1, r4, r0\n" + "._189:\n" + " ldrb r0, [r1]\n" + " add r0, r0, #0x1\n" + " strb r0, [r1]\n" + " b ._196\n" + "._195:\n" + " .align 2, 0\n" + "._194:\n" + " .word 0x43c\n" + "._153:\n" + " ldr r0, ._197\n" + " ldrb r1, [r0, #0x7]\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._196 @cond_branch\n" + " ldr r0, ._197 + 4\n" + " bl SetMainCallback2\n" + "._196:\n" + " bl RunTasks\n" + " bl AnimateSprites\n" + " bl BuildOamBuffer\n" + " bl UpdatePaletteFade\n" + " add sp, sp, #0x4\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._198:\n" + " .align 2, 0\n" + "._197:\n" + " .word gPaletteFade\n" + " .word CB2_InitTitleScreen+1\n" + "\n" + ); +} + +#endif diff --git a/src/engine/reset_rtc_screen.c b/src/engine/reset_rtc_screen.c index c7d45e929..a11e1b3e3 100644 --- a/src/engine/reset_rtc_screen.c +++ b/src/engine/reset_rtc_screen.c @@ -605,3 +605,319 @@ void Task_ResetRtcScreen(u8 taskId) } } } + +#if DEBUG + +__attribute__((naked)) +void debug_sub_806F8F8(void) +{ + asm("\ + push {lr}\n\ + ldr r0, ._131\n\ + bl SetMainCallback2\n\ + pop {r0}\n\ + bx r0\n\ +._132:\n\ + .align 2, 0\n\ +._131:\n\ + .word CB2_InitResetRtcScreen+1"); +} + +__attribute__((naked)) +void debug_sub_806F908(u8 a) +{ + asm("\ + push {r4, r5, lr}\n\ + lsl r0, r0, #0x18\n\ + lsr r5, r0, #0x18\n\ + lsl r0, r5, #0x2\n\ + add r0, r0, r5\n\ + lsl r0, r0, #0x3\n\ + ldr r2, ._136\n\ + add r4, r0, r2\n\ + mov r1, #0x0\n\ + ldsh r0, [r4, r1]\n\ + cmp r0, #0\n\ + beq ._133 @cond_branch\n\ + cmp r0, #0x1\n\ + beq ._134 @cond_branch\n\ + b ._141\n\ +._137:\n\ + .align 2, 0\n\ +._136:\n\ + .word gTasks+0x8\n\ +._133:\n\ + ldr r0, ._139\n\ + mov r1, #0x50\n\ + bl CreateTask\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + strh r0, [r4, #0x2]\n\ + ldrh r0, [r4]\n\ + add r0, r0, #0x1\n\ + strh r0, [r4]\n\ + b ._141\n\ +._140:\n\ + .align 2, 0\n\ +._139:\n\ + .word Task_ResetRtc_0+1\n\ +._134:\n\ + sub r2, r2, #0x8\n\ + mov r0, #0x2\n\ + ldsh r1, [r4, r0]\n\ + lsl r0, r1, #0x2\n\ + add r0, r0, r1\n\ + lsl r0, r0, #0x3\n\ + add r2, r0, r2\n\ + mov r1, #0x8\n\ + ldsh r0, [r2, r1]\n\ + cmp r0, #0\n\ + beq ._141 @cond_branch\n\ + mov r1, #0xa\n\ + ldsh r0, [r2, r1]\n\ + cmp r0, #0x1\n\ + bne ._142 @cond_branch\n\ + ldr r3, ._143\n\ + mov r1, #0x0\n\ + ldsh r0, [r3, r1]\n\ + mov r1, #0x2\n\ + ldsb r1, [r3, r1]\n\ + mov r2, #0x3\n\ + ldsb r2, [r3, r2]\n\ + ldrb r3, [r3, #0x4]\n\ + lsl r3, r3, #0x18\n\ + asr r3, r3, #0x18\n\ + bl RtcCalcLocalTimeOffset\n\ +._142:\n\ + ldrb r0, [r4, #0x2]\n\ + bl DestroyTask\n\ + bl MenuZeroFillScreen\n\ + bl ScriptContext2_Disable\n\ + add r0, r5, #0\n\ + bl DestroyTask\n\ +._141:\n\ + pop {r4, r5}\n\ + pop {r0}\n\ + bx r0\n\ +._144:\n\ + .align 2, 0\n\ +._143:\n\ + .word gLocalTime"); +} + +__attribute__((naked)) +void debug_sub_806F99C() +{ + asm("\ + push {lr}\n\ + bl RtcCalcLocalTime\n\ + ldr r0, ._145\n\ + mov r1, #0x50\n\ + bl CreateTask\n\ + bl ScriptContext2_Enable\n\ + pop {r0}\n\ + bx r0\n\ +._146:\n\ + .align 2, 0\n\ +._145:\n\ + .word debug_sub_806F908+1"); +} + +__attribute__((naked)) +void debug_sub_806F9B8() +{ + asm("\ + push {lr}\n\ + ldr r2, ._147\n\ + ldr r0, ._147 + 4\n\ + add r0, r0, #0xa0\n\ + ldr r1, [r0, #0x4]\n\ + ldr r0, [r0]\n\ + str r0, [r2]\n\ + str r1, [r2, #0x4]\n\ + ldr r0, ._147 + 8\n\ + mov r1, #0x50\n\ + bl CreateTask\n\ + bl ScriptContext2_Enable\n\ + pop {r0}\n\ + bx r0\n\ +._148:\n\ + .align 2, 0\n\ +._147:\n\ + .word gLocalTime\n\ + .word gSaveBlock2\n\ + .word debug_sub_806F908+1"); +} + +__attribute__((naked)) +void debug_sub_806F9E4() +{ + asm("\ + push {r4, r5, r6, r7, lr}\n\ + mov r7, sl\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5, r6, r7}\n\ + lsl r0, r0, #0x18\n\ + lsr r7, r0, #0x18\n\ + lsl r0, r7, #0x2\n\ + add r0, r0, r7\n\ + lsl r0, r0, #0x3\n\ + ldr r1, ._153\n\ + add r5, r0, r1\n\ + ldr r6, ._153 + 4\n\ + mov r1, #0x0\n\ + ldsh r0, [r5, r1]\n\ + cmp r0, #0x1\n\ + beq ._149 @cond_branch\n\ + cmp r0, #0x1\n\ + bgt ._150 @cond_branch\n\ + cmp r0, #0\n\ + beq ._151 @cond_branch\n\ + b ._165\n\ +._154:\n\ + .align 2, 0\n\ +._153:\n\ + .word gTasks+0x8\n\ + .word gStringVar4\n\ +._150:\n\ + cmp r0, #0x2\n\ + beq ._155 @cond_branch\n\ + b ._165\n\ +._149:\n\ + mov r0, #0x0\n\ + mov r1, #0x9\n\ + mov r2, #0x1d\n\ + mov r3, #0x13\n\ + bl MenuDrawTextWindow\n\ + add r4, r6, #0\n\ + add r4, r4, #0x50\n\ + bl RtcGetErrorStatus\n\ + add r1, r0, #0\n\ + lsl r1, r1, #0x10\n\ + lsr r1, r1, #0x10\n\ + add r0, r4, #0\n\ + mov r2, #0x2\n\ + mov r3, #0x4\n\ + bl ConvertIntToHexStringN\n\ + add r0, r4, #0\n\ + mov r1, #0x2\n\ + mov r2, #0xa\n\ + bl MenuPrint\n\ + ldr r0, ._158\n\ + mov r1, #0xc\n\ + mov r2, #0xc\n\ + bl MenuPrint\n\ + ldr r0, ._158 + 4\n\ + mov r1, #0x14\n\ + mov r2, #0xc\n\ + bl MenuPrint\n\ + ldr r0, ._158 + 8\n\ + mov r1, #0x1\n\ + mov r2, #0xe\n\ + bl MenuPrint\n\ + ldr r0, ._158 + 12\n\ + mov r1, #0x1\n\ + mov r2, #0x10\n\ + bl MenuPrint\n\ +._151:\n\ + ldrh r0, [r5]\n\ + add r0, r0, #0x1\n\ + strh r0, [r5]\n\ + b ._165\n\ +._159:\n\ + .align 2, 0\n\ +._158:\n\ + .word gUnknown_08376500+0x4\n\ + .word gUnknown_08376500+0x9\n\ + .word gUnknown_08376500+0x17\n\ + .word gUnknown_08376500+0xd\n\ +._155:\n\ + bl RtcCalcLocalTime\n\ + add r0, r6, #0\n\ + bl FormatHexRtcTime\n\ + mov r2, #0x14\n\ + add r2, r2, r6\n\ + mov r9, r2\n\ + mov r0, r9\n\ + bl debug_sub_8009894\n\ + mov r0, #0x28\n\ + add r0, r0, r6\n\ + mov sl, r0\n\ + ldr r4, ._163\n\ + mov r1, #0x2\n\ + ldsb r1, [r4, r1]\n\ + mov r2, #0x3\n\ + ldsb r2, [r4, r2]\n\ + mov r3, #0x4\n\ + ldsb r3, [r4, r3]\n\ + bl FormatDecimalTime\n\ + mov r1, #0x3c\n\ + add r1, r1, r6\n\ + mov r8, r1\n\ + mov r2, #0x0\n\ + ldsh r1, [r4, r2]\n\ + mov r0, r8\n\ + mov r2, #0x1\n\ + mov r3, #0x4\n\ + bl ConvertIntToDecimalStringN\n\ + ldr r0, ._163 + 4\n\ + ldrb r0, [r0, #0x12]\n\ + cmp r0, #0\n\ + bne ._160 @cond_branch\n\ + add r0, r6, #0\n\ + mov r1, #0x14\n\ + mov r2, #0xe\n\ + bl MenuPrint\n\ + mov r0, r9\n\ + mov r1, #0xc\n\ + mov r2, #0xe\n\ + bl MenuPrint\n\ + mov r0, sl\n\ + mov r1, #0x14\n\ + mov r2, #0x10\n\ + bl MenuPrint\n\ + mov r0, r8\n\ + mov r1, #0xc\n\ + mov r2, #0x10\n\ + bl MenuPrint\n\ +._160:\n\ + ldrh r1, [r5, #0x2]\n\ + mov r2, #0x2\n\ + ldsh r0, [r5, r2]\n\ + cmp r0, #0x13\n\ + ble ._161 @cond_branch\n\ + add r0, r1, #1\n\ + strh r0, [r5, #0x2]\n\ + b ._165\n\ +._164:\n\ + .align 2, 0\n\ +._163:\n\ + .word gLocalTime\n\ + .word gSaveBlock2\n\ +._161:\n\ + ldr r0, ._166\n\ + ldrh r1, [r0, #0x2e]\n\ + mov r0, #0x1\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._165 @cond_branch\n\ + bl MenuZeroFillScreen\n\ + add r0, r7, #0\n\ + bl DestroyTask\n\ + bl ScriptContext2_Disable\n\ +._165:\n\ + pop {r3, r4, r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov sl, r5\n\ + pop {r4, r5, r6, r7}\n\ + pop {r0}\n\ + bx r0\n\ +._167:\n\ + .align 2, 0\n\ +._166:\n\ + .word gMain"); +} + +#endif \ No newline at end of file -- cgit v1.2.3 From 233654746815b884d303cc3416c3fe6c377b4a73 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Wed, 17 Jan 2018 17:30:45 -0600 Subject: resolve more undefined references --- src/engine/mystery_event_menu.c | 24 ++++++++++++------------ src/engine/reset_rtc_screen.c | 20 ++++++++++---------- src/engine/save.c | 4 ++-- 3 files changed, 24 insertions(+), 24 deletions(-) (limited to 'src/engine') diff --git a/src/engine/mystery_event_menu.c b/src/engine/mystery_event_menu.c index 522a185c8..8f280dc18 100644 --- a/src/engine/mystery_event_menu.c +++ b/src/engine/mystery_event_menu.c @@ -363,7 +363,7 @@ void debug_sub_815D04C() " mov r1, #0x4\n" " mov r2, #0xd\n" " mov r3, #0x7\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r1, ._125 + 4\n" " mov r2, #0xa\n" " ldsh r0, [r4, r2]\n" @@ -372,7 +372,7 @@ void debug_sub_815D04C() " ldr r0, [r0]\n" " mov r1, #0x5\n" " mov r2, #0x5\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldrh r0, [r4, #0x8]\n" " add r0, r0, #0x1\n" " strh r0, [r4, #0x8]\n" @@ -397,9 +397,9 @@ void debug_sub_815D04C() " .align 2, 0\n" "._125:\n" " .word gTasks\n" - " .word gFlashSectors+0x9c\n" + " .word sUnusedFlashSectors+0x9c\n" " .word gMain\n" - " .word gFlashSectors+0x11c\n" + " .word sUnusedFlashSectors+0x11c\n" "._123:\n" " sub r0, r1, #1\n" "._124:\n" @@ -435,7 +435,7 @@ void debug_sub_815D04C() " .align 2, 0\n" "._130:\n" " .word gTasks\n" - " .word gFlashSectors+0x11c\n" + " .word sUnusedFlashSectors+0x11c\n" "._128:\n" " ldrh r0, [r4, #0xa]\n" " add r0, r0, #0x1\n" @@ -481,7 +481,7 @@ void debug_sub_815D04C() " .align 2, 0\n" "._133:\n" " .word gTasks\n" - " .word gFlashSectors+0x9c\n" + " .word sUnusedFlashSectors+0x9c\n" " .word +0x2004000\n" " .word 0x43c\n" "\n" @@ -554,7 +554,7 @@ void debug_sub_815D1D8() " mov r1, #0xe\n" " mov r2, #0x1b\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " mov r0, #0x1\n" " neg r0, r0\n" " mov r1, #0x0\n" @@ -606,7 +606,7 @@ void debug_sub_815D1D8() " .word gUnknown_0841192C+0x14\n" " .word 0x43c\n" "._144:\n" - " bl MenuUpdateWindowText\n" + " bl Menu_UpdateWindowText\n" " lsl r0, r0, #0x18\n" " cmp r0, #0\n" " bne ._163 @cond_branch\n" @@ -655,7 +655,7 @@ void debug_sub_815D1D8() " .word 0x43c\n" " .word gUnknown_0841192C+0x28\n" "._146:\n" - " bl MenuUpdateWindowText\n" + " bl Menu_UpdateWindowText\n" " lsl r0, r0, #0x18\n" " cmp r0, #0\n" " bne ._173 @cond_branch\n" @@ -696,7 +696,7 @@ void debug_sub_815D1D8() " .word gMain\n" " .word 0x43c\n" "._149:\n" - " bl MenuUpdateWindowText\n" + " bl Menu_UpdateWindowText\n" " bl sub_8007ECC\n" " lsl r0, r0, #0x18\n" " cmp r0, #0\n" @@ -730,11 +730,11 @@ void debug_sub_815D1D8() " mov r1, #0xf\n" " mov r2, #0x1a\n" " mov r3, #0x12\n" - " bl MenuFillWindowRectWithBlankTile\n" + " bl Menu_BlankWindowRect\n" " ldr r0, ._190 + 4\n" " mov r1, #0x4\n" " mov r2, #0xf\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r1, ._190 + 8\n" " ldr r2, ._190 + 12\n" " add r1, r1, r2\n" diff --git a/src/engine/reset_rtc_screen.c b/src/engine/reset_rtc_screen.c index a11e1b3e3..df4ab4f76 100644 --- a/src/engine/reset_rtc_screen.c +++ b/src/engine/reset_rtc_screen.c @@ -789,7 +789,7 @@ void debug_sub_806F9E4() mov r1, #0x9\n\ mov r2, #0x1d\n\ mov r3, #0x13\n\ - bl MenuDrawTextWindow\n\ + bl Menu_DrawStdWindowFrame\n\ add r4, r6, #0\n\ add r4, r4, #0x50\n\ bl RtcGetErrorStatus\n\ @@ -803,23 +803,23 @@ void debug_sub_806F9E4() add r0, r4, #0\n\ mov r1, #0x2\n\ mov r2, #0xa\n\ - bl MenuPrint\n\ + bl Menu_PrintText\n\ ldr r0, ._158\n\ mov r1, #0xc\n\ mov r2, #0xc\n\ - bl MenuPrint\n\ + bl Menu_PrintText\n\ ldr r0, ._158 + 4\n\ mov r1, #0x14\n\ mov r2, #0xc\n\ - bl MenuPrint\n\ + bl Menu_PrintText\n\ ldr r0, ._158 + 8\n\ mov r1, #0x1\n\ mov r2, #0xe\n\ - bl MenuPrint\n\ + bl Menu_PrintText\n\ ldr r0, ._158 + 12\n\ mov r1, #0x1\n\ mov r2, #0x10\n\ - bl MenuPrint\n\ + bl Menu_PrintText\n\ ._151:\n\ ldrh r0, [r5]\n\ add r0, r0, #0x1\n\ @@ -868,19 +868,19 @@ void debug_sub_806F9E4() add r0, r6, #0\n\ mov r1, #0x14\n\ mov r2, #0xe\n\ - bl MenuPrint\n\ + bl Menu_PrintText\n\ mov r0, r9\n\ mov r1, #0xc\n\ mov r2, #0xe\n\ - bl MenuPrint\n\ + bl Menu_PrintText\n\ mov r0, sl\n\ mov r1, #0x14\n\ mov r2, #0x10\n\ - bl MenuPrint\n\ + bl Menu_PrintText\n\ mov r0, r8\n\ mov r1, #0xc\n\ mov r2, #0x10\n\ - bl MenuPrint\n\ + bl Menu_PrintText\n\ ._160:\n\ ldrh r1, [r5, #0x2]\n\ mov r2, #0x2\n\ diff --git a/src/engine/save.c b/src/engine/save.c index e1fb47dcc..1245d0a62 100644 --- a/src/engine/save.c +++ b/src/engine/save.c @@ -731,7 +731,7 @@ void sub_813B79C() " .align 2, 0\n" "._163:\n" " .word +0x2000000\n" - " .word gSaveSectionLocations\n" + " .word sSaveBlockChunks\n" " .word 0xff4\n" " .word 0xff6\n" " .word gHallOfFameSaveSectionLocations\n" @@ -892,7 +892,7 @@ u8 Save_LoadGameData(u8 saveType) return result; } -static const u8 sUnusedFlashSectors[] = { 30, 31 }; +const u8 sUnusedFlashSectors[] = { 30, 31 }; bool8 unref_sub_8125F4C(struct UnkSaveSection *a1) { -- cgit v1.2.3 From 73392181fe47fd0fe5ac3702978307926a442ef4 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Wed, 17 Jan 2018 18:08:02 -0600 Subject: resolve more undefined references --- src/engine/cable_club.c | 2 +- src/engine/link.c | 4 ++-- src/engine/reset_rtc_screen.c | 4 ++-- src/engine/save.c | 2 +- src/engine/trade.c | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) (limited to 'src/engine') diff --git a/src/engine/cable_club.c b/src/engine/cable_club.c index c0397f67b..4063aee3a 100644 --- a/src/engine/cable_club.c +++ b/src/engine/cable_club.c @@ -407,7 +407,7 @@ void debug_sub_808A55C() .word gLinkStatus\n\ .word gLink\n\ .word gReceivedRemoteLinkPlayers\n\ - .word gScriptResult\n\ + .word gSpecialVar_Result\n\ .word gLinkCallback\n\ .word gLinkPlayers\n\ .word 0x4000128"); diff --git a/src/engine/link.c b/src/engine/link.c index 5747915d7..3bcacd12b 100644 --- a/src/engine/link.c +++ b/src/engine/link.c @@ -67,7 +67,7 @@ u32 sub_8007E40(void); static void SetBlockReceivedFlag(u8); static u16 LinkTestCalcBlockChecksum(void *, u16); static void PrintHexDigit(u8, u8, u8); -static void PrintHex(u32, u8, u8, u8); +void PrintHex(u32, u8, u8, u8); static void LinkCB_RequestPlayerDataExchange(void); static void Task_PrintTestData(u8); bool8 sub_8008224(void); @@ -961,7 +961,7 @@ static void PrintHexDigit(u8 tileNum, u8 x, u8 y) tilemap[(32 * y) + x] = (gLinkTestBGInfo.paletteNum << 12) | (tileNum + 1); } -static void PrintHex(u32 num, u8 x, u8 y, u8 maxDigits) +void PrintHex(u32 num, u8 x, u8 y, u8 maxDigits) { u8 buffer[16]; s32 i; diff --git a/src/engine/reset_rtc_screen.c b/src/engine/reset_rtc_screen.c index df4ab4f76..0cfa1e71a 100644 --- a/src/engine/reset_rtc_screen.c +++ b/src/engine/reset_rtc_screen.c @@ -691,7 +691,7 @@ void debug_sub_806F908(u8 a) ._142:\n\ ldrb r0, [r4, #0x2]\n\ bl DestroyTask\n\ - bl MenuZeroFillScreen\n\ + bl Menu_EraseScreen\n\ bl ScriptContext2_Disable\n\ add r0, r5, #0\n\ bl DestroyTask\n\ @@ -902,7 +902,7 @@ void debug_sub_806F9E4() and r0, r0, r1\n\ cmp r0, #0\n\ beq ._165 @cond_branch\n\ - bl MenuZeroFillScreen\n\ + bl Menu_EraseScreen\n\ add r0, r7, #0\n\ bl DestroyTask\n\ bl ScriptContext2_Disable\n\ diff --git a/src/engine/save.c b/src/engine/save.c index 1245d0a62..a9945a80d 100644 --- a/src/engine/save.c +++ b/src/engine/save.c @@ -734,7 +734,7 @@ void sub_813B79C() " .word sSaveBlockChunks\n" " .word 0xff4\n" " .word 0xff6\n" - " .word gHallOfFameSaveSectionLocations\n" + " .word sHallOfFameChunks\n" "\n" ); } diff --git a/src/engine/trade.c b/src/engine/trade.c index e49cde6cd..715cc0377 100644 --- a/src/engine/trade.c +++ b/src/engine/trade.c @@ -4514,8 +4514,8 @@ static __attribute__((naked)) void sub_804B41C(void) } #endif -static void sub_804B790(void) // In-game trade init +void sub_804B790(void) { u8 otName[11]; switch (gMain.state) -- cgit v1.2.3 From 8835353325d9c7eba7664bde5d5a2d4c40c4376d Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Wed, 17 Jan 2018 18:24:33 -0600 Subject: resolve more undefined references --- src/engine/mystery_event_menu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/engine') diff --git a/src/engine/mystery_event_menu.c b/src/engine/mystery_event_menu.c index 8f280dc18..656e774c5 100644 --- a/src/engine/mystery_event_menu.c +++ b/src/engine/mystery_event_menu.c @@ -465,7 +465,7 @@ void debug_sub_815D04C() " add r1, r1, r0\n" " ldr r0, ._133 + 8\n" " ldr r1, [r1]\n" - " bl gScriptFuncs_End+0x3cf8\n" + " bl gMysteryEventScriptCmdTableEnd+0x3cf8\n" " ldr r0, ._133 + 12\n" " add r1, r6, r0\n" " ldrb r0, [r1]\n" -- cgit v1.2.3 From 8a21a49a35d91ba9b07ac5027a0560ddf1f4ad25 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Wed, 17 Jan 2018 21:04:48 -0600 Subject: add some debug changes that I missed --- src/engine/link.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'src/engine') diff --git a/src/engine/link.c b/src/engine/link.c index 3bcacd12b..a716d5c2b 100644 --- a/src/engine/link.c +++ b/src/engine/link.c @@ -13,6 +13,7 @@ #include "constants/songs.h" #include "sound.h" #include "sprite.h" +#include "string_util.h" #include "strings2.h" #include "task.h" #include "text.h" @@ -1396,12 +1397,31 @@ void CB2_LinkError(void) static void CB2_PrintErrorMessage(void) { - u8 array[64] __attribute__((unused)); // unused + u8 array[32] __attribute__((unused)); // unused + u8 array2[32] __attribute__((unused)); // unused switch (gMain.state) { case 0: Menu_PrintTextPixelCoords(gMultiText_LinkError, 20, 56, 1); +#ifdef DEBUG + StringCopy(array, sColorCodes); + + ConvertIntToHexStringN(array2, sErrorLinkStatus, STR_CONV_MODE_LEADING_ZEROS, 8); + StringAppend(array, array2); + + StringAppend(array, sEmptyString); + + ConvertIntToHexStringN(array2, sErrorLastSendQueueCount, STR_CONV_MODE_LEADING_ZEROS, 2); + StringAppend(array, array2); + + StringAppend(array, sEmptyString); + + ConvertIntToHexStringN(array2, sErrorLastRecvQueueCount, STR_CONV_MODE_LEADING_ZEROS, 2); + StringAppend(array, array2); + + Menu_PrintText(array, 2, 15); +#endif break; case 30: case 60: -- cgit v1.2.3 From ec84ae801985ac7f83397979bde6a15508eb02ed Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Thu, 18 Jan 2018 11:54:49 -0600 Subject: add more debug code --- src/engine/cable_club.c | 65 +++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 63 insertions(+), 2 deletions(-) (limited to 'src/engine') diff --git a/src/engine/cable_club.c b/src/engine/cable_club.c index 4063aee3a..d40c31b1b 100644 --- a/src/engine/cable_club.c +++ b/src/engine/cable_club.c @@ -41,7 +41,7 @@ extern struct u8 field1; } gUnknown_020297D8; -static void sub_8082F20(u8 taskId); +/*static*/ void sub_8082F20(u8 taskId); static void sub_8082F68(u8 taskId); static void sub_8082FEC(u8 taskId); static void sub_808303C(u8 taskId); @@ -414,6 +414,63 @@ void debug_sub_808A55C() } #endif +#if DEBUG +__attribute__((naked)) +static void sub_8082CD4(u8 arg0, u8 arg1) +{ + asm("\ + push {r4, r5, r6, r7, lr}\n\ + lsl r0, r0, #0x18\n\ + lsr r7, r0, #0x18\n\ + lsl r1, r1, #0x18\n\ + lsr r6, r1, #0x18\n\ + mov r0, #0xc\n\ + mov r1, #0x0\n\ + mov r2, #0x1f\n\ + mov r3, #0x2\n\ + bl InitLinkTestBG_Unused\n\ + ldr r4, ._40\n\ + add r0, r4, #0\n\ + bl FindTaskIdByFunc\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + cmp r0, #0xff\n\ + bne ._39 @cond_branch\n\ + add r0, r4, #0\n\ + mov r1, #0x50\n\ + bl CreateTask\n\ + add r4, r0, #0\n\ + lsl r4, r4, #0x18\n\ + lsr r4, r4, #0x18\n\ + ldr r5, ._40 + 4\n\ + lsl r0, r4, #0x2\n\ + add r0, r0, r4\n\ + lsl r0, r0, #0x3\n\ + add r0, r0, r5\n\ + strh r7, [r0, #0xa]\n\ + strh r6, [r0, #0xc]\n\ + ldr r0, ._40 + 8\n\ + mov r1, #0x50\n\ + bl CreateTask\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + lsl r1, r0, #0x2\n\ + add r1, r1, r0\n\ + lsl r1, r1, #0x3\n\ + add r1, r1, r5\n\ + strh r4, [r1, #0x8]\n\ +._39:\n\ + pop {r4, r5, r6, r7}\n\ + pop {r0}\n\ + bx r0\n\ +._41:\n\ + .align 2, 0\n\ +._40:\n\ + .word sub_8082F20+1\n\ + .word gTasks\n\ + .word debug_sub_808A55C+1"); +} +#else static void sub_8082CD4(u8 arg0, u8 arg1) { if (FindTaskIdByFunc(sub_8082F20) == 0xFF) @@ -424,6 +481,7 @@ static void sub_8082CD4(u8 arg0, u8 arg1) gTasks[taskId].data[2] = arg1; } } +#endif static void sub_8082D18(u32 value) { @@ -526,7 +584,7 @@ void unref_sub_8082EEC(u8 taskId) } } -static void sub_8082F20(u8 taskId) +/*static*/ void sub_8082F20(u8 taskId) { s16 *data = gTasks[taskId].data; @@ -1316,6 +1374,7 @@ void unref_sub_8083CC8(u8 taskId) #if DEBUG +__attribute__((naked)) void debug_sub_808B82C() { asm("\ @@ -1329,6 +1388,7 @@ void debug_sub_808B82C() .word unk_2030220"); } +__attribute__((naked)) void debug_sub_808B838(u8 a) { asm("\ @@ -1347,6 +1407,7 @@ void debug_sub_808B838(u8 a) .word unk_2030220"); } +__attribute__((naked)) int debug_sub_808B850() { asm("\ -- cgit v1.2.3 From 8d14b68921bf5a355e71031a9311125af114cbfe Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Thu, 18 Jan 2018 14:30:07 -0600 Subject: add more debug code --- src/engine/save.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/engine') diff --git a/src/engine/save.c b/src/engine/save.c index a9945a80d..de5fd2846 100644 --- a/src/engine/save.c +++ b/src/engine/save.c @@ -783,13 +783,21 @@ u8 Save_WriteDataInternal(u8 saveType) return 0; } +#ifdef DEBUG +extern u32 gUnknown_Debug_03004BD0; +#endif + u8 Save_WriteData(u8 saveType) // TrySave { if (gFlashMemoryPresent != TRUE) return SAVE_STATUS_ERROR; Save_WriteDataInternal(saveType); - if (!gDamagedSaveSectors) + if (!gDamagedSaveSectors +#ifdef DEBUG + && gUnknown_Debug_03004BD0 == 0 +#endif + ) return SAVE_STATUS_OK; DoSaveFailedScreen(saveType); -- cgit v1.2.3 From bcbc9d040ba671df27183bff0b7356da3d9511f6 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Thu, 18 Jan 2018 15:19:31 -0600 Subject: finish adding all debug code --- src/engine/save_failed_screen.c | 192 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 188 insertions(+), 4 deletions(-) (limited to 'src/engine') diff --git a/src/engine/save_failed_screen.c b/src/engine/save_failed_screen.c index 74a1e9612..421cd0779 100644 --- a/src/engine/save_failed_screen.c +++ b/src/engine/save_failed_screen.c @@ -61,16 +61,18 @@ static const u8 sClockFrames[8][3] = static const u8 gSaveFailedClockPal[] = INCBIN_U8("graphics/misc/clock_small.gbapal"); static const u8 gSaveFailedClockGfx[] = INCBIN_U8("graphics/misc/clock_small.4bpp.lz"); +#define static + static void VBlankCB(void); static void CB2_SaveFailedScreen(void); static void CB2_WipeSave(void); -static void CB2_GameplayCannotBeContinued(void); +/*static*/ void CB2_GameplayCannotBeContinued(void); static void CB2_FadeAndReturnToTitleScreen(void); static void CB2_ReturnToTitleScreen(void); static void VBlankCB_UpdateClockGraphics(void); static bool8 VerifySectorWipe(u16 sector); static bool8 WipeSector(u16 sector); -static bool8 WipeSectors(u32 sectorBits); +/*static*/ bool8 WipeSectors(u32 sectorBits); void DoSaveFailedScreen(u8 saveType) { @@ -148,6 +150,151 @@ static void CB2_SaveFailedScreen(void) } } +#if DEBUG +__attribute__((naked)) +void CB2_WipeSave() +{ + asm( + " push {r4, r5, lr}\n" + " mov r4, #0x0\n" + " ldr r0, ._20\n" + " mov r2, #0x1\n" + " strh r2, [r0]\n" + " ldr r0, ._20 + 4\n" + " ldr r0, [r0]\n" + " ldr r1, ._20 + 8\n" + " cmp r0, #0\n" + " beq ._12 @cond_branch\n" + " str r2, [r1]\n" + "._12:\n" + " ldr r0, [r1]\n" + " cmp r0, #0\n" + " beq ._16 @cond_branch\n" + " add r5, r1, #0\n" + "._17:\n" + " ldr r0, [r5]\n" + " bl WipeSectors\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " bne ._14 @cond_branch\n" + " mov r0, #0x1\n" + " mov r1, #0xa\n" + " mov r2, #0x1c\n" + " mov r3, #0x13\n" + " bl Menu_DrawStdWindowFrame\n" + " ldr r0, ._20 + 12\n" + " mov r1, #0x2\n" + " mov r2, #0xb\n" + " bl Menu_PrintText\n" + " ldr r0, ._20 + 16\n" + " ldrb r0, [r0]\n" + " bl Save_WriteDataInternal\n" + " ldr r0, [r5]\n" + " cmp r0, #0\n" + " beq ._15 @cond_branch\n" + " mov r0, #0x1\n" + " mov r1, #0xa\n" + " mov r2, #0x1c\n" + " mov r3, #0x13\n" + " bl Menu_DrawStdWindowFrame\n" + " ldr r0, ._20 + 20\n" + " mov r1, #0x2\n" + " mov r2, #0xb\n" + " bl Menu_PrintText\n" + "._15:\n" + " add r0, r4, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " ldr r0, [r5]\n" + " cmp r0, #0\n" + " beq ._16 @cond_branch\n" + " cmp r4, #0x2\n" + " bls ._17 @cond_branch\n" + "._16:\n" + " cmp r4, #0x3\n" + " bne ._18 @cond_branch\n" + " mov r0, #0x1\n" + " mov r1, #0xa\n" + " mov r2, #0x1c\n" + " mov r3, #0x13\n" + " bl Menu_DrawStdWindowFrame\n" + " ldr r0, ._20 + 24\n" + " mov r1, #0x2\n" + " mov r2, #0xb\n" + " bl Menu_PrintText\n" + " ldr r0, ._20 + 28\n" + " bl SetMainCallback2\n" + " b ._23\n" + "._21:\n" + " .align 2, 0\n" + "._20:\n" + " .word gSaveFailedClockInfo\n" + " .word gUnknown_Debug_03004BD0\n" + " .word gDamagedSaveSectors\n" + " .word gSystemText_CheckCompleteSaveAttempt\n" + " .word gSaveFailedType\n" + " .word gSystemText_SaveFailedBackupCheck\n" + " .word gSystemText_BackupDamagedGameContinue\n" + " .word CB2_FadeAndReturnToTitleScreen+1\n" + "._18:\n" + " mov r0, #0x1\n" + " mov r1, #0xa\n" + " mov r2, #0x1c\n" + " mov r3, #0x13\n" + " bl Menu_DrawStdWindowFrame\n" + " ldr r0, ._24\n" + " ldr r0, [r0]\n" + " cmp r0, #0\n" + " bne ._22 @cond_branch\n" + " ldr r0, ._24 + 4\n" + " mov r1, #0x2\n" + " mov r2, #0xb\n" + " bl Menu_PrintText\n" + " b ._23\n" + "._25:\n" + " .align 2, 0\n" + "._24:\n" + " .word gGameContinueCallback\n" + " .word gSystemText_SaveCompletedGameEnd\n" + "._14:\n" + " mov r0, #0x1\n" + " mov r1, #0xa\n" + " mov r2, #0x1c\n" + " mov r3, #0x13\n" + " bl Menu_DrawStdWindowFrame\n" + " ldr r0, ._27\n" + " mov r1, #0x2\n" + " mov r2, #0xb\n" + " bl Menu_PrintText\n" + " ldr r0, ._27 + 4\n" + " bl SetMainCallback2\n" + " b ._26\n" + "._28:\n" + " .align 2, 0\n" + "._27:\n" + " .word gSystemText_BackupDamagedGameContinue\n" + " .word CB2_GameplayCannotBeContinued+1\n" + "._22:\n" + " ldr r0, ._29\n" + " mov r1, #0x2\n" + " mov r2, #0xb\n" + " bl Menu_PrintText\n" + "._23:\n" + " ldr r0, ._29 + 4\n" + " bl SetMainCallback2\n" + "._26:\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "._30:\n" + " .align 2, 0\n" + "._29:\n" + " .word gSystemText_SaveCompletedPressA\n" + " .word CB2_FadeAndReturnToTitleScreen+1\n" + "\n" + ); +} +#else static void CB2_WipeSave(void) { u8 wipeTries = 0; @@ -198,8 +345,9 @@ static void CB2_WipeSave(void) SetMainCallback2(CB2_FadeAndReturnToTitleScreen); } +#endif -static void CB2_GameplayCannotBeContinued(void) +/*static*/ void CB2_GameplayCannotBeContinued(void) { gSaveFailedClockInfo[0] = FALSE; @@ -264,6 +412,41 @@ static void VBlankCB_UpdateClockGraphics(void) gSaveFailedClockInfo[1]--; } +#if DEBUG +__attribute__((naked)) +bool8 VerifySectorWipe(u16 sector) +{ + asm( + " push {lr}\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " ldr r2, ._50\n" + " mov r3, #0x80\n" + " lsl r3, r3, #0x5\n" + " mov r1, #0x0\n" + " bl gMysteryEventScriptCmdTableEnd+0x2d64\n" + " mov r0, #0x0\n" + " ldr r1, ._50 + 4\n" + "._49:\n" + " add r0, r0, #0x1\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " cmp r0, r1\n" + " bls ._49 @cond_branch\n" + " ldr r0, ._50 + 8\n" + " ldrb r0, [r0]\n" + " pop {r1}\n" + " bx r1\n" + "._51:\n" + " .align 2, 0\n" + "._50:\n" + " .word +0x2000000\n" + " .word 0x3ff\n" + " .word gUnknown_Debug_03004BD0\n" + "\n" + ); +} +#else static bool8 VerifySectorWipe(u16 sector) { u32 *ptr = (u32 *)&gSharedMem; @@ -277,6 +460,7 @@ static bool8 VerifySectorWipe(u16 sector) return FALSE; } +#endif static bool8 WipeSector(u16 sector) { @@ -294,7 +478,7 @@ static bool8 WipeSector(u16 sector) return failed; } -static bool8 WipeSectors(u32 sectorBits) +/*static*/ bool8 WipeSectors(u32 sectorBits) { u16 i; -- cgit v1.2.3 From b85e23c15a5cbdd88d6c3111d2f54de0a2adac35 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Thu, 18 Jan 2018 17:07:11 -0600 Subject: add some debug data --- src/engine/menu_cursor.c | 9 +++++++++ src/engine/reset_rtc_screen.c | 7 +++++++ 2 files changed, 16 insertions(+) (limited to 'src/engine') diff --git a/src/engine/menu_cursor.c b/src/engine/menu_cursor.c index 35116d40b..ae4d5b14a 100644 --- a/src/engine/menu_cursor.c +++ b/src/engine/menu_cursor.c @@ -11,6 +11,15 @@ EWRAM_DATA static u8 gUnknown_0203A3D2 = 0; EWRAM_DATA static u8 gUnknown_0203A3D3 = 0; EWRAM_DATA static u8 gUnknown_0203A3D4 = 0; +#if DEBUG +//const u8 gEmptySpace_08459A8C[0x1C0] = {0}; +//const u8 gEmptySpace_08459A8C[0xE300-0xC700] = {0}; +asm(".section .rodata\n\ + .global gEmptySpace_08459A8C\n\ +gEmptySpace_08459A8C:\n\ + .incbin \"pokeruby_de_debug.gba\", 0x459A8C, 0x1C00"); +#endif + #if ENGLISH #include "../src/data/menu_cursor_en.h" #elif GERMAN diff --git a/src/engine/reset_rtc_screen.c b/src/engine/reset_rtc_screen.c index 0cfa1e71a..cda73f96b 100644 --- a/src/engine/reset_rtc_screen.c +++ b/src/engine/reset_rtc_screen.c @@ -147,6 +147,13 @@ const struct SpriteTemplate gSpriteTemplate_83764E8 = const u8 gUnknown_08376500[] = _(" : "); +#if DEBUG +const u8 gUnknown_Debug_0839AE94[] = _("にっすう"); +const u8 gUnknown_Debug_0839AE99[] = _("じかん"); +const u8 gUnknown_Debug_0839AE9D[] = _("ゲームない じかん"); +const u8 gUnknown_Debug_0839AEA7[] = _("RTC じかん"); +#endif + void SpriteCB_ResetRtcCusor0(struct Sprite *sprite) { int state = gTasks[sprite->data[0]].data[2]; -- cgit v1.2.3 From c9f2902f0ebce0cff90c9a06f9ae05b921b17448 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Fri, 19 Jan 2018 15:48:40 -0600 Subject: dump outline cursors for debug ROM --- src/engine/menu_cursor.c | 9 --------- 1 file changed, 9 deletions(-) (limited to 'src/engine') diff --git a/src/engine/menu_cursor.c b/src/engine/menu_cursor.c index ae4d5b14a..35116d40b 100644 --- a/src/engine/menu_cursor.c +++ b/src/engine/menu_cursor.c @@ -11,15 +11,6 @@ EWRAM_DATA static u8 gUnknown_0203A3D2 = 0; EWRAM_DATA static u8 gUnknown_0203A3D3 = 0; EWRAM_DATA static u8 gUnknown_0203A3D4 = 0; -#if DEBUG -//const u8 gEmptySpace_08459A8C[0x1C0] = {0}; -//const u8 gEmptySpace_08459A8C[0xE300-0xC700] = {0}; -asm(".section .rodata\n\ - .global gEmptySpace_08459A8C\n\ -gEmptySpace_08459A8C:\n\ - .incbin \"pokeruby_de_debug.gba\", 0x459A8C, 0x1C00"); -#endif - #if ENGLISH #include "../src/data/menu_cursor_en.h" #elif GERMAN -- cgit v1.2.3 From 608e06126acdc8b6d32a0aa71fdc57bc188b8d7b Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Sun, 21 Jan 2018 14:27:32 -0600 Subject: fix build of normal ROMs --- src/engine/link.c | 2 +- src/engine/save.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'src/engine') diff --git a/src/engine/link.c b/src/engine/link.c index a716d5c2b..f800f4aad 100644 --- a/src/engine/link.c +++ b/src/engine/link.c @@ -1404,7 +1404,7 @@ static void CB2_PrintErrorMessage(void) { case 0: Menu_PrintTextPixelCoords(gMultiText_LinkError, 20, 56, 1); -#ifdef DEBUG +#if DEBUG StringCopy(array, sColorCodes); ConvertIntToHexStringN(array2, sErrorLinkStatus, STR_CONV_MODE_LEADING_ZEROS, 8); diff --git a/src/engine/save.c b/src/engine/save.c index 8217652f9..d11eebaac 100644 --- a/src/engine/save.c +++ b/src/engine/save.c @@ -783,7 +783,7 @@ u8 Save_WriteDataInternal(u8 saveType) return 0; } -#ifdef DEBUG +#if DEBUG extern u32 gUnknown_Debug_03004BD0; #endif @@ -794,7 +794,7 @@ u8 Save_WriteData(u8 saveType) // TrySave Save_WriteDataInternal(saveType); if (!gDamagedSaveSectors -#ifdef DEBUG +#if DEBUG && gUnknown_Debug_03004BD0 == 0 #endif ) -- cgit v1.2.3 From ffb74a0211f750506650b66fe2bcdf7ddf770668 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Sun, 21 Jan 2018 18:14:47 -0600 Subject: match debug ROM --- src/engine/link.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'src/engine') diff --git a/src/engine/link.c b/src/engine/link.c index f800f4aad..5785a5a56 100644 --- a/src/engine/link.c +++ b/src/engine/link.c @@ -81,7 +81,7 @@ static void sub_80084C8(void); static void sub_80084F4(void); static void CheckErrorStatus(void); -static void CB2_PrintErrorMessage(void); +void CB2_PrintErrorMessage(void); static u8 IsSioMultiMaster(void); static void DisableSerial(void); static void EnableSerial(void); @@ -191,9 +191,19 @@ const struct BlockRequest sBlockRequestLookupTable[5] = static const u8 sTestString[] = _("テストな"); -ALIGNED(4) static const u8 sMagic[] = "GameFreak inc."; +// TODO: fix the alignment here -ALIGNED(4) static const u8 sEmptyString[] = _(""); +ALIGNED(4) const u8 sMagic[] = "GameFreak inc."; + +#if DEBUG +const u8 sEmptyString[] = _(" "); +#else +ALIGNED(4) const u8 sEmptyString[] = _(""); +#endif + +#if DEBUG +const u8 linkDebugFillerPleaseRemove[2] = {0}; +#endif void Task_DestroySelf(u8 taskId) { @@ -1395,7 +1405,7 @@ void CB2_LinkError(void) SetMainCallback2(CB2_PrintErrorMessage); } -static void CB2_PrintErrorMessage(void) +void CB2_PrintErrorMessage(void) { u8 array[32] __attribute__((unused)); // unused u8 array2[32] __attribute__((unused)); // unused -- cgit v1.2.3 From 0f09d2e7046a54c95e2ed4a7ff759d4cd1db87f7 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Mon, 22 Jan 2018 22:35:27 -0600 Subject: fix false gMysteryEventScriptCmdTableEnd offsets --- src/engine/mystery_event_menu.c | 2 +- src/engine/save.c | 4 ++-- src/engine/save_failed_screen.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) (limited to 'src/engine') diff --git a/src/engine/mystery_event_menu.c b/src/engine/mystery_event_menu.c index 656e774c5..da2973945 100644 --- a/src/engine/mystery_event_menu.c +++ b/src/engine/mystery_event_menu.c @@ -465,7 +465,7 @@ void debug_sub_815D04C() " add r1, r1, r0\n" " ldr r0, ._133 + 8\n" " ldr r1, [r1]\n" - " bl gMysteryEventScriptCmdTableEnd+0x3cf8\n" + " bl _call_via_r1\n" " ldr r0, ._133 + 12\n" " add r1, r6, r0\n" " ldrb r0, [r1]\n" diff --git a/src/engine/save.c b/src/engine/save.c index d11eebaac..0eb93eb1d 100644 --- a/src/engine/save.c +++ b/src/engine/save.c @@ -690,7 +690,7 @@ void sub_813B79C() " strh r0, [r1]\n" " add r0, r5, #0\n" " add r1, r4, #0\n" - " bl gMysteryEventScriptCmdTableEnd+0x2f60\n" + " bl ProgramFlashSectorAndVerify\n" " add r0, r5, #1\n" " lsl r0, r0, #0x10\n" " lsr r5, r0, #0x10\n" @@ -718,7 +718,7 @@ void sub_813B79C() " lsr r4, r4, #0x10\n" " add r0, r4, #0\n" " add r1, r6, #0\n" - " bl gMysteryEventScriptCmdTableEnd+0x2f60\n" + " bl ProgramFlashSectorAndVerify\n" " add r0, r5, #1\n" " lsl r0, r0, #0x10\n" " lsr r5, r0, #0x10\n" diff --git a/src/engine/save_failed_screen.c b/src/engine/save_failed_screen.c index 421cd0779..7902427e0 100644 --- a/src/engine/save_failed_screen.c +++ b/src/engine/save_failed_screen.c @@ -424,7 +424,7 @@ bool8 VerifySectorWipe(u16 sector) " mov r3, #0x80\n" " lsl r3, r3, #0x5\n" " mov r1, #0x0\n" - " bl gMysteryEventScriptCmdTableEnd+0x2d64\n" + " bl ReadFlash\n" " mov r0, #0x0\n" " ldr r1, ._50 + 4\n" "._49:\n" -- cgit v1.2.3 From 305f571fb55bedea92eb0afad0d908fafc60f5c6 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Tue, 23 Jan 2018 00:32:33 -0600 Subject: dump more baseroms and fix more false offsets --- src/engine/mystery_event_menu.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'src/engine') diff --git a/src/engine/mystery_event_menu.c b/src/engine/mystery_event_menu.c index da2973945..c80a8f3e9 100644 --- a/src/engine/mystery_event_menu.c +++ b/src/engine/mystery_event_menu.c @@ -397,9 +397,9 @@ void debug_sub_815D04C() " .align 2, 0\n" "._125:\n" " .word gTasks\n" - " .word sUnusedFlashSectors+0x9c\n" + " .word gUnknown_Debug_842E2D0\n" " .word gMain\n" - " .word sUnusedFlashSectors+0x11c\n" + " .word gUnknown_Debug_842E350\n" "._123:\n" " sub r0, r1, #1\n" "._124:\n" @@ -435,7 +435,7 @@ void debug_sub_815D04C() " .align 2, 0\n" "._130:\n" " .word gTasks\n" - " .word sUnusedFlashSectors+0x11c\n" + " .word gUnknown_Debug_842E350\n" "._128:\n" " ldrh r0, [r4, #0xa]\n" " add r0, r0, #0x1\n" @@ -481,7 +481,7 @@ void debug_sub_815D04C() " .align 2, 0\n" "._133:\n" " .word gTasks\n" - " .word sUnusedFlashSectors+0x9c\n" + " .word gUnknown_Debug_842E2D0\n" " .word +0x2004000\n" " .word 0x43c\n" "\n" @@ -603,7 +603,7 @@ void debug_sub_815D1D8() "._161:\n" " .word gPaletteFade\n" " .word gLinkTestBlockChecksums+0x8\n" - " .word gUnknown_0841192C+0x14\n" + " .word Str_843DA70\n" " .word 0x43c\n" "._144:\n" " bl Menu_UpdateWindowText\n" @@ -653,7 +653,7 @@ void debug_sub_815D1D8() "._171:\n" " .word gReceivedRemoteLinkPlayers\n" " .word 0x43c\n" - " .word gUnknown_0841192C+0x28\n" + " .word Str_843DA84\n" "._146:\n" " bl Menu_UpdateWindowText\n" " lsl r0, r0, #0x18\n" @@ -690,8 +690,8 @@ void debug_sub_815D1D8() "._180:\n" " .align 2, 0\n" "._179:\n" - " .word gUnknown_0841192C+0x3c\n" - " .word +0x2004000\n" + " .word Str_843DA98\n" + " .word 0x2004000\n" " .word 0x2004\n" " .word gMain\n" " .word 0x43c\n" @@ -743,7 +743,7 @@ void debug_sub_815D1D8() " .align 2, 0\n" "._190:\n" " .word gReceivedRemoteLinkPlayers\n" - " .word gUnknown_0841192C+0x47\n" + " .word Str_843DAA3\n" " .word gMain\n" " .word 0x43c\n" "._152:\n" -- cgit v1.2.3 From 960bc2dd01bfc5bada0cbd96318440c81cfc235d Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Tue, 23 Jan 2018 15:29:39 -0600 Subject: fix more false offsets --- src/engine/reset_rtc_screen.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/engine') diff --git a/src/engine/reset_rtc_screen.c b/src/engine/reset_rtc_screen.c index 45cde2cc0..9324ea1c1 100644 --- a/src/engine/reset_rtc_screen.c +++ b/src/engine/reset_rtc_screen.c @@ -817,10 +817,10 @@ void debug_sub_806F9E4() ._159:\n\ .align 2, 0\n\ ._158:\n\ - .word gUnknown_08376500+0x4\n\ - .word gUnknown_08376500+0x9\n\ - .word gUnknown_08376500+0x17\n\ - .word gUnknown_08376500+0xd\n\ + .word gUnknown_Debug_0839AE94\n\ + .word gUnknown_Debug_0839AE99\n\ + .word gUnknown_Debug_0839AEA7\n\ + .word gUnknown_Debug_0839AE9D\n\ ._155:\n\ bl RtcCalcLocalTime\n\ add r0, r6, #0\n\ -- cgit v1.2.3 From e03633d6bc1e1cd155bc258edbb7783020b4bdb7 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Tue, 23 Jan 2018 16:55:48 -0600 Subject: fix more false offsets --- src/engine/link.c | 13 ++++++++----- src/engine/mystery_event_menu.c | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) (limited to 'src/engine') diff --git a/src/engine/link.c b/src/engine/link.c index 5785a5a56..eb0ae4731 100644 --- a/src/engine/link.c +++ b/src/engine/link.c @@ -147,6 +147,9 @@ void (*gLinkCallback)(void); struct LinkPlayer gSavedLinkPlayers[MAX_LINK_PLAYERS]; u8 gShouldAdvanceLinkState; u16 gLinkTestBlockChecksums[MAX_LINK_PLAYERS]; +#if DEBUG +u8 gUnknown_Debug_30030E0; +#endif u8 gBlockRequestType; u8 gLastSendQueueCount; struct Link gLink; @@ -158,11 +161,11 @@ u8 deUnkValue1; u8 deUnkValue2; #endif -EWRAM_DATA bool8 gLinkTestDebugValuesEnabled = {0}; -EWRAM_DATA bool8 gLinkTestDummyBool = {0}; -EWRAM_DATA u32 gFiller_20238B8 = {0}; -EWRAM_DATA u32 dword_20238BC = {0}; -EWRAM_DATA bool8 gLinkOpen = {0}; +EWRAM_DATA bool8 gLinkTestDebugValuesEnabled = 0; +EWRAM_DATA bool8 gLinkTestDummyBool = 0; +EWRAM_DATA u32 gFiller_20238B8 = 0; +EWRAM_DATA u32 dword_20238BC = 0; +EWRAM_DATA bool8 gLinkOpen = 0; static const u16 sLinkTestDigitPalette[] = INCBIN_U16("graphics/interface/link_test_digits.gbapal"); static const u32 sLinkTestDigitTiles[] = INCBIN_U32("graphics/interface/link_test_digits.4bpp"); diff --git a/src/engine/mystery_event_menu.c b/src/engine/mystery_event_menu.c index c80a8f3e9..2e526bb4a 100644 --- a/src/engine/mystery_event_menu.c +++ b/src/engine/mystery_event_menu.c @@ -602,7 +602,7 @@ void debug_sub_815D1D8() " .align 2, 0\n" "._161:\n" " .word gPaletteFade\n" - " .word gLinkTestBlockChecksums+0x8\n" + " .word gUnknown_Debug_30030E0\n" " .word Str_843DA70\n" " .word 0x43c\n" "._144:\n" -- cgit v1.2.3 From dbcf1ce9cb124e303e6bed3fecede7a72b8000f2 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Wed, 24 Jan 2018 00:58:38 -0600 Subject: integrate some debug differences --- src/engine/cable_club.c | 42 ++++++------------------------------------ src/engine/link.c | 2 +- 2 files changed, 7 insertions(+), 37 deletions(-) (limited to 'src/engine') diff --git a/src/engine/cable_club.c b/src/engine/cable_club.c index ed6929638..8f79944de 100644 --- a/src/engine/cable_club.c +++ b/src/engine/cable_club.c @@ -23,6 +23,7 @@ #include "text.h" #include "trainer_card.h" +extern u8 unk_2030220; extern u16 gSpecialVar_Result; extern struct TrainerCard gTrainerCards[4]; extern u8 gUnknown_03004860; @@ -1374,50 +1375,19 @@ void unref_sub_8083CC8(u8 taskId) #if DEBUG -__attribute__((naked)) -void debug_sub_808B82C() +void debug_sub_808B82C(void) { - asm("\ - ldr r1, ._400\n\ - mov r0, #0x0\n\ - strb r0, [r1]\n\ - bx lr\n\ -._401:\n\ - .align 2, 0\n\ -._400:\n\ - .word unk_2030220"); + unk_2030220 = 0; } -__attribute__((naked)) void debug_sub_808B838(u8 a) { - asm("\ - lsl r0, r0, #0x18\n\ - lsr r0, r0, #0x18\n\ - ldr r2, ._402\n\ - mov r1, #0x1\n\ - LSL r1, r0\n\ - ldrb r0, [r2]\n\ - orr r1, r1, r0\n\ - strb r1, [r2]\n\ - bx lr\n\ -._403:\n\ - .align 2, 0\n\ -._402:\n\ - .word unk_2030220"); + unk_2030220 |= 1 << a; } -__attribute__((naked)) -int debug_sub_808B850() +int debug_sub_808B850(void) { - asm("\ - ldr r0, ._404\n\ - ldrb r0, [r0]\n\ - bx lr\n\ -._405:\n\ - .align 2, 0\n\ -._404:\n\ - .word unk_2030220"); + return unk_2030220; } #endif \ No newline at end of file diff --git a/src/engine/link.c b/src/engine/link.c index eb0ae4731..31311d345 100644 --- a/src/engine/link.c +++ b/src/engine/link.c @@ -1044,7 +1044,7 @@ void debug_sub_8008264(u32 value, int left, int top, int r3, int sp0) } #else __attribute__((naked)) -void debug_sub_8008264() +void debug_sub_8008264(u32 value, int left, int top, int r3, int sp0) { asm( " push {r4, r5, r6, r7, lr}\n" -- cgit v1.2.3 From 4c1e0b8b303320a173203b8ab94c2a695555ace3 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Thu, 25 Jan 2018 00:07:15 -0600 Subject: integrate debug functions in mail.c and decompile some debug code --- src/engine/sprite.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/engine') diff --git a/src/engine/sprite.c b/src/engine/sprite.c index df8c66750..a9d84e01a 100644 --- a/src/engine/sprite.c +++ b/src/engine/sprite.c @@ -815,7 +815,7 @@ void ProcessSpriteCopyRequests(void) } } -/*static*/ void RequestSpriteFrameImageCopy(u16 index, u16 tileNum, const struct SpriteFrameImage *images) +static void RequestSpriteFrameImageCopy(u16 index, u16 tileNum, const struct SpriteFrameImage *images) { if (gSpriteCopyRequestCount < MAX_SPRITE_COPY_REQUESTS) { -- cgit v1.2.3 From 9f7fa5781e8de8e23faea3785e8b3aebde79c8c6 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Thu, 25 Jan 2018 17:15:37 -0600 Subject: decompile sub_813B79C --- src/engine/save.c | 98 ++++++++++++++----------------------------------------- 1 file changed, 25 insertions(+), 73 deletions(-) (limited to 'src/engine') diff --git a/src/engine/save.c b/src/engine/save.c index 0eb93eb1d..0b7a3dd79 100644 --- a/src/engine/save.c +++ b/src/engine/save.c @@ -664,79 +664,31 @@ static u16 CalculateChecksum(void *data, u16 size) } #if DEBUG -__attribute__((naked)) -void sub_813B79C() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " ldr r4, ._163\n" - " ldr r6, ._163 + 4\n" - " mov r5, #0x0\n" - "._161:\n" - " lsl r0, r5, #0x18\n" - " lsr r0, r0, #0x18\n" - " add r1, r4, #0\n" - " bl DoReadFlashWholeSection\n" - " ldr r1, ._163 + 8\n" - " add r0, r4, r1\n" - " ldrh r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r6\n" - " ldrh r1, [r0, #0x4]\n" - " add r0, r4, #0\n" - " bl CalculateChecksum\n" - " ldr r2, ._163 + 12\n" - " add r1, r4, r2\n" - " strh r0, [r1]\n" - " add r0, r5, #0\n" - " add r1, r4, #0\n" - " bl ProgramFlashSectorAndVerify\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r5, r0, #0x10\n" - " cmp r5, #0x1b\n" - " bls ._161 @cond_branch\n" - " ldr r6, ._163\n" - " ldr r7, ._163 + 16\n" - " mov r5, #0x0\n" - "._162:\n" - " add r4, r5, #0\n" - " add r4, r4, #0x1c\n" - " lsl r0, r4, #0x18\n" - " lsr r0, r0, #0x18\n" - " add r1, r6, #0\n" - " bl DoReadFlashWholeSection\n" - " lsl r0, r5, #0x3\n" - " add r0, r0, r7\n" - " ldrh r1, [r0, #0x4]\n" - " add r0, r6, #0\n" - " bl CalculateChecksum\n" - " ldr r2, ._163 + 8\n" - " add r1, r6, r2\n" - " strh r0, [r1]\n" - " lsl r4, r4, #0x10\n" - " lsr r4, r4, #0x10\n" - " add r0, r4, #0\n" - " add r1, r6, #0\n" - " bl ProgramFlashSectorAndVerify\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r5, r0, #0x10\n" - " cmp r5, #0x1\n" - " bls ._162 @cond_branch\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._164:\n" - " .align 2, 0\n" - "._163:\n" - " .word +0x2000000\n" - " .word sSaveBlockChunks\n" - " .word 0xff4\n" - " .word 0xff6\n" - " .word sHallOfFameChunks\n" - "\n" - ); +void sub_813B79C(void) +{ + struct SaveSector *sbSector; + struct SaveSector *hofSector; + const struct SaveBlockChunk *sbChunks; + const struct SaveBlockChunk *hofChunks; + u16 i; + + sbSector = eSaveSection; + sbChunks = sSaveBlockChunks; + for (i = 0; i < NUM_SECTORS_PER_SAVE_SLOT * 2; i++) + { + DoReadFlashWholeSection(i, sbSector); + sbSector->checksum = CalculateChecksum(sbSector, sbChunks[sbSector->id].size); + ProgramFlashSectorAndVerify(i, sbSector->data); + } + + hofSector = eSaveSection; + hofChunks = sHallOfFameChunks; + for (i = 0; i < NUM_HALL_OF_FAME_SECTORS; i++) + { + DoReadFlashWholeSection(HALL_OF_FAME_SECTOR + i, hofSector); + hofSector->id = CalculateChecksum(hofSector, hofChunks[i].size); // why id? + ProgramFlashSectorAndVerify(HALL_OF_FAME_SECTOR + i, hofSector->data); + } } #endif -- cgit v1.2.3 From 2d5fdddf69bbbe524a32b6b6f104aeb60bb1cebd Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Sat, 27 Jan 2018 17:00:08 -0600 Subject: fix undefined references after merge --- src/engine/cable_club.c | 2 +- src/engine/mystery_event_menu.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'src/engine') diff --git a/src/engine/cable_club.c b/src/engine/cable_club.c index 8f79944de..c656b2203 100644 --- a/src/engine/cable_club.c +++ b/src/engine/cable_club.c @@ -321,7 +321,7 @@ void debug_sub_808A55C() mov r2, #0xc\n\ mov r3, #0x1\n\ bl PrintHex\n\ - bl sub_8007ECC\n\ + bl IsLinkTaskFinished\n\ lsl r0, r0, #0x18\n\ lsr r0, r0, #0x18\n\ mov r1, #0xf\n\ diff --git a/src/engine/mystery_event_menu.c b/src/engine/mystery_event_menu.c index 2e526bb4a..116b60477 100644 --- a/src/engine/mystery_event_menu.c +++ b/src/engine/mystery_event_menu.c @@ -697,7 +697,7 @@ void debug_sub_815D1D8() " .word 0x43c\n" "._149:\n" " bl Menu_UpdateWindowText\n" - " bl sub_8007ECC\n" + " bl IsLinkTaskFinished\n" " lsl r0, r0, #0x18\n" " cmp r0, #0\n" " beq ._196 @cond_branch\n" -- cgit v1.2.3 From fe400f60b6609d37d2b8a0c2aec75321adc3e95f Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Sat, 27 Jan 2018 17:03:40 -0600 Subject: add comments for pool loads in C files --- src/engine/cable_club.c | 56 ++++++++++++------------- src/engine/link.c | 8 ++-- src/engine/mystery_event_menu.c | 92 ++++++++++++++++++++--------------------- src/engine/reset_rtc_screen.c | 34 +++++++-------- src/engine/save_failed_screen.c | 34 +++++++-------- 5 files changed, 112 insertions(+), 112 deletions(-) (limited to 'src/engine') diff --git a/src/engine/cable_club.c b/src/engine/cable_club.c index c656b2203..ff73e638e 100644 --- a/src/engine/cable_club.c +++ b/src/engine/cable_club.c @@ -104,7 +104,7 @@ int debug_sub_808A4D0() asm("\ push {lr}\n\ add r1, r0, #0\n\ - ldr r0, ._3\n\ + ldr r0, ._3 @ sub_8082F68\n\ cmp r1, r0\n\ bne ._1 @cond_branch\n\ mov r0, #0x1\n\ @@ -114,7 +114,7 @@ int debug_sub_808A4D0() ._3:\n\ .word sub_8082F68+1\n\ ._1:\n\ - ldr r0, ._7\n\ + ldr r0, ._7 @ sub_8082FEC\n\ cmp r1, r0\n\ bne ._5 @cond_branch\n\ mov r0, #0x11\n\ @@ -124,7 +124,7 @@ int debug_sub_808A4D0() ._7:\n\ .word sub_8082FEC+1\n\ ._5:\n\ - ldr r0, ._11\n\ + ldr r0, ._11 @ sub_808303C\n\ cmp r1, r0\n\ bne ._9 @cond_branch\n\ mov r0, #0x12\n\ @@ -134,7 +134,7 @@ int debug_sub_808A4D0() ._11:\n\ .word sub_808303C+1\n\ ._9:\n\ - ldr r0, ._15\n\ + ldr r0, ._15 @ sub_8083188\n\ cmp r1, r0\n\ bne ._13 @cond_branch\n\ mov r0, #0x13\n\ @@ -144,7 +144,7 @@ int debug_sub_808A4D0() ._15:\n\ .word sub_8083188+1\n\ ._13:\n\ - ldr r0, ._19\n\ + ldr r0, ._19 @ sub_80830E4\n\ cmp r1, r0\n\ bne ._17 @cond_branch\n\ mov r0, #0x14\n\ @@ -154,7 +154,7 @@ int debug_sub_808A4D0() ._19:\n\ .word sub_80830E4+1\n\ ._17:\n\ - ldr r0, ._23\n\ + ldr r0, ._23 @ sub_80831F8\n\ cmp r1, r0\n\ bne ._21 @cond_branch\n\ mov r0, #0x21\n\ @@ -164,7 +164,7 @@ int debug_sub_808A4D0() ._23:\n\ .word sub_80831F8+1\n\ ._21:\n\ - ldr r0, ._27\n\ + ldr r0, ._27 @ sub_8083314\n\ cmp r1, r0\n\ bne ._25 @cond_branch\n\ mov r0, #0x2\n\ @@ -174,7 +174,7 @@ int debug_sub_808A4D0() ._27:\n\ .word sub_8083314+1\n\ ._25:\n\ - ldr r0, ._31\n\ + ldr r0, ._31 @ sub_80833C4\n\ cmp r1, r0\n\ beq ._29 @cond_branch\n\ mov r0, #0x0\n\ @@ -199,7 +199,7 @@ void debug_sub_808A55C() push {r7}\n\ lsl r0, r0, #0x18\n\ lsr r7, r0, #0x18\n\ - ldr r2, ._37\n\ + ldr r2, ._37 @ gTasks\n\ lsl r0, r7, #0x2\n\ add r0, r0, r7\n\ lsl r0, r0, #0x3\n\ @@ -224,13 +224,13 @@ void debug_sub_808A55C() add r0, r0, #0x1\n\ strh r0, [r4, #0xa]\n\ ._33:\n\ - ldr r0, ._37 + 4\n\ + ldr r0, ._37 + 4 @ gShouldAdvanceLinkState\n\ ldrb r0, [r0]\n\ mov r1, #0x2\n\ mov r2, #0x0\n\ mov r3, #0x2\n\ bl PrintHex\n\ - ldr r0, ._37 + 8\n\ + ldr r0, ._37 + 8 @ gBlockSendBuffer\n\ ldrb r0, [r0]\n\ mov r1, #0x16\n\ mov r2, #0x5\n\ @@ -244,14 +244,14 @@ void debug_sub_808A55C() mov r5, #0xa0\n\ lsl r5, r5, #0x13\n\ ._35:\n\ - ldr r0, ._37 + 12\n\ + ldr r0, ._37 + 12 @ gLinkPlayerPending\n\ add r0, r4, r0\n\ ldrb r0, [r0]\n\ lsr r1, r5, #0x18\n\ mov r2, #0x0\n\ mov r3, #0x1\n\ bl PrintHex\n\ - ldr r1, ._37 + 16\n\ + ldr r1, ._37 + 16 @ gBlockRecvBuffer\n\ lsl r0, r4, #0x8\n\ add r0, r0, r1\n\ ldrh r0, [r0]\n\ @@ -268,13 +268,13 @@ void debug_sub_808A55C() add r4, r4, #0x1\n\ cmp r4, #0x3\n\ ble ._35 @cond_branch\n\ - ldr r4, ._37 + 20\n\ + ldr r4, ._37 + 20 @ gLinkStatus\n\ ldr r0, [r4]\n\ mov r1, #0xf\n\ mov r2, #0x0\n\ mov r3, #0x8\n\ bl PrintHex\n\ - ldr r0, ._37 + 24\n\ + ldr r0, ._37 + 24 @ gLink\n\ ldrb r0, [r0, #0x1]\n\ mov r1, #0x2\n\ mov r2, #0xa\n\ @@ -294,13 +294,13 @@ void debug_sub_808A55C() mov r2, #0xa\n\ mov r3, #0x2\n\ bl PrintHex\n\ - ldr r0, ._37 + 28\n\ + ldr r0, ._37 + 28 @ gReceivedRemoteLinkPlayers\n\ ldrb r0, [r0]\n\ mov r1, #0x2\n\ mov r2, #0xc\n\ mov r3, #0x1\n\ bl PrintHex\n\ - ldr r0, ._37 + 32\n\ + ldr r0, ._37 + 32 @ gSpecialVar_Result\n\ ldrh r0, [r0]\n\ mov r1, #0xb\n\ mov r2, #0x8\n\ @@ -328,7 +328,7 @@ void debug_sub_808A55C() mov r2, #0xa\n\ mov r3, #0x1\n\ bl PrintHex\n\ - ldr r2, ._37\n\ + ldr r2, ._37 @ gTasks\n\ mov r3, r8\n\ add r0, r3, r7\n\ lsl r0, r0, #0x3\n\ @@ -347,7 +347,7 @@ void debug_sub_808A55C() mov r2, #0xc\n\ mov r3, #0x2\n\ bl PrintHex\n\ - ldr r0, ._37 + 36\n\ + ldr r0, ._37 + 36 @ gLinkCallback\n\ ldr r0, [r0]\n\ mov r1, #0x2\n\ mov r2, #0xd\n\ @@ -360,7 +360,7 @@ void debug_sub_808A55C() mov r2, #0x2\n\ mov r3, #0x1\n\ bl PrintHex\n\ - ldr r0, ._37 + 40\n\ + ldr r0, ._37 + 40 @ gLinkPlayers\n\ mov r6, #0x80\n\ lsl r6, r6, #0x12\n\ add r5, r0, #0\n\ @@ -379,7 +379,7 @@ void debug_sub_808A55C() sub r4, r4, #0x1\n\ cmp r4, #0\n\ bge ._36 @cond_branch\n\ - ldr r0, ._37 + 44\n\ + ldr r0, ._37 + 44 @ 0x4000128\n\ ldrh r0, [r0]\n\ mov r1, #0x2\n\ mov r2, #0x6\n\ @@ -430,7 +430,7 @@ static void sub_8082CD4(u8 arg0, u8 arg1) mov r2, #0x1f\n\ mov r3, #0x2\n\ bl InitLinkTestBG_Unused\n\ - ldr r4, ._40\n\ + ldr r4, ._40 @ sub_8082F20\n\ add r0, r4, #0\n\ bl FindTaskIdByFunc\n\ lsl r0, r0, #0x18\n\ @@ -443,14 +443,14 @@ static void sub_8082CD4(u8 arg0, u8 arg1) add r4, r0, #0\n\ lsl r4, r4, #0x18\n\ lsr r4, r4, #0x18\n\ - ldr r5, ._40 + 4\n\ + ldr r5, ._40 + 4 @ gTasks\n\ lsl r0, r4, #0x2\n\ add r0, r0, r4\n\ lsl r0, r0, #0x3\n\ add r0, r0, r5\n\ strh r7, [r0, #0xa]\n\ strh r6, [r0, #0xc]\n\ - ldr r0, ._40 + 8\n\ + ldr r0, ._40 + 8 @ debug_sub_808A55C\n\ mov r1, #0x50\n\ bl CreateTask\n\ lsl r0, r0, #0x18\n\ @@ -1297,7 +1297,7 @@ void debug_sub_808B778() { asm("\ push {r4, lr}\n\ - ldr r4, ._390\n\ + ldr r4, ._390 @ debug_sub_808B7A8\n\ add r0, r4, #0\n\ bl FuncIsActiveTask\n\ lsl r0, r0, #0x18\n\ @@ -1307,7 +1307,7 @@ void debug_sub_808B778() mov r1, #0x50\n\ bl CreateTask\n\ ._389:\n\ - ldr r1, ._390 + 4\n\ + ldr r1, ._390 + 4 @ unk_3004E98\n\ ldr r0, [r1]\n\ add r0, r0, #0x1\n\ str r0, [r1]\n\ @@ -1328,7 +1328,7 @@ void debug_sub_808B7A8() push {lr}\n\ lsl r0, r0, #0x18\n\ lsr r0, r0, #0x18\n\ - ldr r2, ._393\n\ + ldr r2, ._393 @ gTasks\n\ lsl r1, r0, #0x2\n\ add r1, r1, r0\n\ lsl r1, r1, #0x3\n\ @@ -1342,7 +1342,7 @@ void debug_sub_808B7A8() bne ._392 @cond_branch\n\ mov r0, #0x0\n\ strh r0, [r1, #0x8]\n\ - ldr r2, ._393 + 4\n\ + ldr r2, ._393 + 4 @ unk_3004E94\n\ ldrh r0, [r2]\n\ mov r1, #0x1\n\ orr r0, r0, r1\n\ diff --git a/src/engine/link.c b/src/engine/link.c index 8888f22f5..00c084069 100644 --- a/src/engine/link.c +++ b/src/engine/link.c @@ -1050,7 +1050,7 @@ void debug_sub_8008264(u32 value, int left, int top, int r3, int sp0) " add r6, r1, #0\n" " add r4, r3, #0\n" " ldr r0, [sp, #0x38]\n" - " ldr r1, ._347\n" + " ldr r1, ._347 @ unk_20238D0\n" " ldr r1, [r1]\n" " cmp r1, r0\n" " bne ._345 @cond_branch\n" @@ -1059,7 +1059,7 @@ void debug_sub_8008264(u32 value, int left, int top, int r3, int sp0) " mov r4, #0x8\n" "._342:\n" " mov r3, sp\n" - " ldr r0, ._347 + 4\n" + " ldr r0, ._347 + 4 @ debugTileMap\n" " mov r8, r0\n" " lsl r2, r2, #0x6\n" " mov ip, r2\n" @@ -1087,8 +1087,8 @@ void debug_sub_8008264(u32 value, int left, int top, int r3, int sp0) " sub r3, r0, #4\n" " cmp r4, #0\n" " ble ._345 @cond_branch\n" - " ldr r7, ._347 + 8\n" - " ldr r6, ._347 + 12\n" + " ldr r7, ._347 + 8 @ debugCharacterBase\n" + " ldr r6, ._347 + 12 @ unk_20238C8\n" " add r2, r4, #0\n" "._346:\n" " ldr r1, [r7]\n" diff --git a/src/engine/mystery_event_menu.c b/src/engine/mystery_event_menu.c index 116b60477..bc14c760d 100644 --- a/src/engine/mystery_event_menu.c +++ b/src/engine/mystery_event_menu.c @@ -350,7 +350,7 @@ void debug_sub_815D04C() " push {r4, r5, r6, lr}\n" " lsl r0, r0, #0x18\n" " lsr r5, r0, #0x18\n" - " ldr r1, ._125\n" + " ldr r1, ._125 @ gTasks\n" " lsl r0, r5, #0x2\n" " add r0, r0, r5\n" " lsl r0, r0, #0x3\n" @@ -364,7 +364,7 @@ void debug_sub_815D04C() " mov r2, #0xd\n" " mov r3, #0x7\n" " bl Menu_DrawStdWindowFrame\n" - " ldr r1, ._125 + 4\n" + " ldr r1, ._125 + 4 @ gUnknown_Debug_842E2D0\n" " mov r2, #0xa\n" " ldsh r0, [r4, r2]\n" " lsl r0, r0, #0x3\n" @@ -377,7 +377,7 @@ void debug_sub_815D04C() " add r0, r0, #0x1\n" " strh r0, [r4, #0x8]\n" "._121:\n" - " ldr r2, ._125 + 8\n" + " ldr r2, ._125 + 8 @ gMain\n" " ldrh r1, [r2, #0x2e]\n" " mov r0, #0x20\n" " and r0, r0, r1\n" @@ -389,7 +389,7 @@ void debug_sub_815D04C() " ldsh r0, [r4, r2]\n" " cmp r0, #0\n" " bne ._123 @cond_branch\n" - " ldr r0, ._125 + 12\n" + " ldr r0, ._125 + 12 @ gUnknown_Debug_842E350\n" " ldrb r0, [r0]\n" " sub r0, r0, #0x1\n" " b ._124\n" @@ -404,7 +404,7 @@ void debug_sub_815D04C() " sub r0, r1, #1\n" "._124:\n" " strh r0, [r4, #0xa]\n" - " ldr r0, ._130\n" + " ldr r0, ._130 @ gTasks\n" " lsl r1, r5, #0x2\n" " add r1, r1, r5\n" " lsl r1, r1, #0x3\n" @@ -417,14 +417,14 @@ void debug_sub_815D04C() " and r0, r0, r1\n" " cmp r0, #0\n" " beq ._127 @cond_branch\n" - " ldr r1, ._130\n" + " ldr r1, ._130 @ gTasks\n" " lsl r2, r5, #0x2\n" " add r0, r2, r5\n" " lsl r0, r0, #0x3\n" " add r4, r0, r1\n" " mov r0, #0xa\n" " ldsh r3, [r4, r0]\n" - " ldr r0, ._130 + 4\n" + " ldr r0, ._130 + 4 @ gUnknown_Debug_842E350\n" " ldrb r0, [r0]\n" " sub r0, r0, #0x1\n" " cmp r3, r0\n" @@ -452,7 +452,7 @@ void debug_sub_815D04C() " and r0, r0, r1\n" " cmp r0, #0\n" " beq ._132 @cond_branch\n" - " ldr r1, ._133\n" + " ldr r1, ._133 @ gTasks\n" " lsl r0, r5, #0x2\n" " add r0, r0, r5\n" " lsl r0, r0, #0x3\n" @@ -460,13 +460,13 @@ void debug_sub_815D04C() " mov r2, #0xa\n" " ldsh r1, [r0, r2]\n" " lsl r1, r1, #0x3\n" - " ldr r0, ._133 + 4\n" + " ldr r0, ._133 + 4 @ gUnknown_Debug_842E2D0\n" " add r0, r0, #0x4\n" " add r1, r1, r0\n" - " ldr r0, ._133 + 8\n" + " ldr r0, ._133 + 8 @ \n" " ldr r1, [r1]\n" " bl _call_via_r1\n" - " ldr r0, ._133 + 12\n" + " ldr r0, ._133 + 12 @ \n" " add r1, r6, r0\n" " ldrb r0, [r1]\n" " add r0, r0, #0x1\n" @@ -516,8 +516,8 @@ void debug_sub_815D1D8() asm( " push {r4, lr}\n" " add sp, sp, #0xfffffffc\n" - " ldr r1, ._139\n" - " ldr r2, ._139 + 4\n" + " ldr r1, ._139 @ gMain\n" + " ldr r2, ._139 + 4 @ 0x43c\n" " add r0, r1, r2\n" " ldrb r0, [r0]\n" " add r4, r1, #0\n" @@ -526,7 +526,7 @@ void debug_sub_815D1D8() " b ._196\n" "._137:\n" " lsl r0, r0, #0x2\n" - " ldr r1, ._139 + 8\n" + " ldr r1, ._139 + 8 @ \n" " add r0, r0, r1\n" " ldr r0, [r0]\n" " mov pc, r0\n" @@ -562,8 +562,8 @@ void debug_sub_815D1D8() " mov r2, #0x10\n" " mov r3, #0x0\n" " bl BeginNormalPaletteFade\n" - " ldr r1, ._155\n" - " ldr r0, ._155 + 4\n" + " ldr r1, ._155 @ gMain\n" + " ldr r0, ._155 + 4 @ 0x43c\n" " add r1, r1, r0\n" " b ._189\n" "._156:\n" @@ -572,7 +572,7 @@ void debug_sub_815D1D8() " .word gMain\n" " .word 0x43c\n" "._143:\n" - " ldr r0, ._161\n" + " ldr r0, ._161 @ gPaletteFade\n" " ldrb r1, [r0, #0x7]\n" " mov r0, #0x80\n" " and r0, r0, r1\n" @@ -586,16 +586,16 @@ void debug_sub_815D1D8() " and r0, r0, r1\n" " cmp r0, #0\n" " beq ._159 @cond_branch\n" - " ldr r1, ._161 + 4\n" + " ldr r1, ._161 + 4 @ gUnknown_Debug_30030E0\n" " ldrb r0, [r1]\n" " add r0, r0, #0x1\n" " strb r0, [r1]\n" "._159:\n" - " ldr r0, ._161 + 8\n" + " ldr r0, ._161 + 8 @ Str_843DA70\n" " mov r1, #0x4\n" " mov r2, #0xf\n" " bl MenuPrintMessage\n" - " ldr r2, ._161 + 12\n" + " ldr r2, ._161 + 12 @ 0x43c\n" " add r1, r4, r2\n" " b ._189\n" "._162:\n" @@ -612,14 +612,14 @@ void debug_sub_815D1D8() " bne ._163 @cond_branch\n" " b ._196\n" "._163:\n" - " ldr r1, ._166\n" - " ldr r0, ._166 + 4\n" + " ldr r1, ._166 @ gMain\n" + " ldr r0, ._166 + 4 @ 0x43c\n" " add r1, r1, r0\n" " ldrb r0, [r1]\n" " add r0, r0, #0x1\n" " strb r0, [r1]\n" - " ldr r1, ._166 + 8\n" - " ldr r2, ._166 + 12\n" + " ldr r1, ._166 + 8 @ gLinkType\n" + " ldr r2, ._166 + 12 @ 0x5501\n" " add r0, r2, #0\n" " strh r0, [r1]\n" " bl OpenLink\n" @@ -632,18 +632,18 @@ void debug_sub_815D1D8() " .word gLinkType\n" " .word 0x5501\n" "._145:\n" - " ldr r0, ._171\n" + " ldr r0, ._171 @ gReceivedRemoteLinkPlayers\n" " ldrb r0, [r0]\n" " cmp r0, #0\n" " bne ._168 @cond_branch\n" " b ._196\n" "._168:\n" - " ldr r1, ._171 + 4\n" + " ldr r1, ._171 + 4 @ 0x43c\n" " add r0, r4, r1\n" " ldrb r1, [r0]\n" " add r1, r1, #0x1\n" " strb r1, [r0]\n" - " ldr r0, ._171 + 8\n" + " ldr r0, ._171 + 8 @ Str_843DA84\n" " mov r1, #0x4\n" " mov r2, #0xf\n" " bl MenuPrintMessage\n" @@ -661,11 +661,11 @@ void debug_sub_815D1D8() " bne ._173 @cond_branch\n" " b ._196\n" "._173:\n" - " ldr r0, ._176\n" + " ldr r0, ._176 @ debug_sub_815D04C\n" " mov r1, #0xa\n" " bl CreateTask\n" - " ldr r1, ._176 + 4\n" - " ldr r2, ._176 + 8\n" + " ldr r1, ._176 + 4 @ gMain\n" + " ldr r2, ._176 + 8 @ 0x43c\n" " add r1, r1, r2\n" " b ._189\n" "._177:\n" @@ -675,16 +675,16 @@ void debug_sub_815D1D8() " .word gMain\n" " .word 0x43c\n" "._148:\n" - " ldr r0, ._179\n" + " ldr r0, ._179 @ Str_843DA98\n" " mov r1, #0x4\n" " mov r2, #0xf\n" " bl MenuPrintMessage\n" - " ldr r1, ._179 + 4\n" - " ldr r2, ._179 + 8\n" + " ldr r1, ._179 + 4 @ 0x2004000\n" + " ldr r2, ._179 + 8 @ 0x2004\n" " mov r0, #0x0\n" " bl SendBlock\n" - " ldr r1, ._179 + 12\n" - " ldr r0, ._179 + 16\n" + " ldr r1, ._179 + 12 @ gMain\n" + " ldr r0, ._179 + 16 @ 0x43c\n" " add r1, r1, r0\n" " b ._189\n" "._180:\n" @@ -701,8 +701,8 @@ void debug_sub_815D1D8() " lsl r0, r0, #0x18\n" " cmp r0, #0\n" " beq ._196 @cond_branch\n" - " ldr r1, ._183\n" - " ldr r2, ._183 + 4\n" + " ldr r1, ._183 @ gMain\n" + " ldr r2, ._183 + 4 @ 0x43c\n" " add r1, r1, r2\n" " b ._189\n" "._184:\n" @@ -712,8 +712,8 @@ void debug_sub_815D1D8() " .word 0x43c\n" "._150:\n" " bl sub_800832C\n" - " ldr r1, ._186\n" - " ldr r0, ._186 + 4\n" + " ldr r1, ._186 @ gMain\n" + " ldr r0, ._186 + 4 @ 0x43c\n" " add r1, r1, r0\n" " b ._189\n" "._187:\n" @@ -722,7 +722,7 @@ void debug_sub_815D1D8() " .word gMain\n" " .word 0x43c\n" "._151:\n" - " ldr r0, ._190\n" + " ldr r0, ._190 @ gReceivedRemoteLinkPlayers\n" " ldrb r0, [r0]\n" " cmp r0, #0\n" " bne ._196 @cond_branch\n" @@ -731,12 +731,12 @@ void debug_sub_815D1D8() " mov r2, #0x1a\n" " mov r3, #0x12\n" " bl Menu_BlankWindowRect\n" - " ldr r0, ._190 + 4\n" + " ldr r0, ._190 + 4 @ Str_843DAA3\n" " mov r1, #0x4\n" " mov r2, #0xf\n" " bl Menu_PrintText\n" - " ldr r1, ._190 + 8\n" - " ldr r2, ._190 + 12\n" + " ldr r1, ._190 + 8 @ gMain\n" + " ldr r2, ._190 + 12 @ 0x43c\n" " add r1, r1, r2\n" " b ._189\n" "._191:\n" @@ -759,7 +759,7 @@ void debug_sub_815D1D8() " mov r2, #0x0\n" " mov r3, #0x10\n" " bl BeginNormalPaletteFade\n" - " ldr r0, ._194\n" + " ldr r0, ._194 @ 0x43c\n" " add r1, r4, r0\n" "._189:\n" " ldrb r0, [r1]\n" @@ -771,13 +771,13 @@ void debug_sub_815D1D8() "._194:\n" " .word 0x43c\n" "._153:\n" - " ldr r0, ._197\n" + " ldr r0, ._197 @ gPaletteFade\n" " ldrb r1, [r0, #0x7]\n" " mov r0, #0x80\n" " and r0, r0, r1\n" " cmp r0, #0\n" " bne ._196 @cond_branch\n" - " ldr r0, ._197 + 4\n" + " ldr r0, ._197 + 4 @ CB2_InitTitleScreen\n" " bl SetMainCallback2\n" "._196:\n" " bl RunTasks\n" diff --git a/src/engine/reset_rtc_screen.c b/src/engine/reset_rtc_screen.c index 9324ea1c1..8b67f39a5 100644 --- a/src/engine/reset_rtc_screen.c +++ b/src/engine/reset_rtc_screen.c @@ -602,7 +602,7 @@ void debug_sub_806F8F8(void) { asm("\ push {lr}\n\ - ldr r0, ._131\n\ + ldr r0, ._131 @ CB2_InitResetRtcScreen\n\ bl SetMainCallback2\n\ pop {r0}\n\ bx r0\n\ @@ -622,7 +622,7 @@ void debug_sub_806F908(u8 a) lsl r0, r5, #0x2\n\ add r0, r0, r5\n\ lsl r0, r0, #0x3\n\ - ldr r2, ._136\n\ + ldr r2, ._136 @ gTasks\n\ add r4, r0, r2\n\ mov r1, #0x0\n\ ldsh r0, [r4, r1]\n\ @@ -636,7 +636,7 @@ void debug_sub_806F908(u8 a) ._136:\n\ .word gTasks+0x8\n\ ._133:\n\ - ldr r0, ._139\n\ + ldr r0, ._139 @ Task_ResetRtc_0\n\ mov r1, #0x50\n\ bl CreateTask\n\ lsl r0, r0, #0x18\n\ @@ -666,7 +666,7 @@ void debug_sub_806F908(u8 a) ldsh r0, [r2, r1]\n\ cmp r0, #0x1\n\ bne ._142 @cond_branch\n\ - ldr r3, ._143\n\ + ldr r3, ._143 @ gLocalTime\n\ mov r1, #0x0\n\ ldsh r0, [r3, r1]\n\ mov r1, #0x2\n\ @@ -700,7 +700,7 @@ void debug_sub_806F99C() asm("\ push {lr}\n\ bl RtcCalcLocalTime\n\ - ldr r0, ._145\n\ + ldr r0, ._145 @ debug_sub_806F908\n\ mov r1, #0x50\n\ bl CreateTask\n\ bl ScriptContext2_Enable\n\ @@ -717,14 +717,14 @@ void debug_sub_806F9B8() { asm("\ push {lr}\n\ - ldr r2, ._147\n\ - ldr r0, ._147 + 4\n\ + ldr r2, ._147 @ gLocalTime\n\ + ldr r0, ._147 + 4 @ gSaveBlock2\n\ add r0, r0, #0xa0\n\ ldr r1, [r0, #0x4]\n\ ldr r0, [r0]\n\ str r0, [r2]\n\ str r1, [r2, #0x4]\n\ - ldr r0, ._147 + 8\n\ + ldr r0, ._147 + 8 @ debug_sub_806F908\n\ mov r1, #0x50\n\ bl CreateTask\n\ bl ScriptContext2_Enable\n\ @@ -752,9 +752,9 @@ void debug_sub_806F9E4() lsl r0, r7, #0x2\n\ add r0, r0, r7\n\ lsl r0, r0, #0x3\n\ - ldr r1, ._153\n\ + ldr r1, ._153 @ gTasks\n\ add r5, r0, r1\n\ - ldr r6, ._153 + 4\n\ + ldr r6, ._153 + 4 @ gStringVar4\n\ mov r1, #0x0\n\ ldsh r0, [r5, r1]\n\ cmp r0, #0x1\n\ @@ -793,19 +793,19 @@ void debug_sub_806F9E4() mov r1, #0x2\n\ mov r2, #0xa\n\ bl Menu_PrintText\n\ - ldr r0, ._158\n\ + ldr r0, ._158 @ gUnknown_Debug_0839AE94\n\ mov r1, #0xc\n\ mov r2, #0xc\n\ bl Menu_PrintText\n\ - ldr r0, ._158 + 4\n\ + ldr r0, ._158 + 4 @ gUnknown_Debug_0839AE99\n\ mov r1, #0x14\n\ mov r2, #0xc\n\ bl Menu_PrintText\n\ - ldr r0, ._158 + 8\n\ + ldr r0, ._158 + 8 @ gUnknown_Debug_0839AEA7\n\ mov r1, #0x1\n\ mov r2, #0xe\n\ bl Menu_PrintText\n\ - ldr r0, ._158 + 12\n\ + ldr r0, ._158 + 12 @ gUnknown_Debug_0839AE9D\n\ mov r1, #0x1\n\ mov r2, #0x10\n\ bl Menu_PrintText\n\ @@ -833,7 +833,7 @@ void debug_sub_806F9E4() mov r0, #0x28\n\ add r0, r0, r6\n\ mov sl, r0\n\ - ldr r4, ._163\n\ + ldr r4, ._163 @ gLocalTime\n\ mov r1, #0x2\n\ ldsb r1, [r4, r1]\n\ mov r2, #0x3\n\ @@ -850,7 +850,7 @@ void debug_sub_806F9E4() mov r2, #0x1\n\ mov r3, #0x4\n\ bl ConvertIntToDecimalStringN\n\ - ldr r0, ._163 + 4\n\ + ldr r0, ._163 + 4 @ gSaveBlock2\n\ ldrb r0, [r0, #0x12]\n\ cmp r0, #0\n\ bne ._160 @cond_branch\n\ @@ -885,7 +885,7 @@ void debug_sub_806F9E4() .word gLocalTime\n\ .word gSaveBlock2\n\ ._161:\n\ - ldr r0, ._166\n\ + ldr r0, ._166 @ gMain\n\ ldrh r1, [r0, #0x2e]\n\ mov r0, #0x1\n\ and r0, r0, r1\n\ diff --git a/src/engine/save_failed_screen.c b/src/engine/save_failed_screen.c index 7902427e0..49cf166d4 100644 --- a/src/engine/save_failed_screen.c +++ b/src/engine/save_failed_screen.c @@ -157,12 +157,12 @@ void CB2_WipeSave() asm( " push {r4, r5, lr}\n" " mov r4, #0x0\n" - " ldr r0, ._20\n" + " ldr r0, ._20 @ gSaveFailedClockInfo\n" " mov r2, #0x1\n" " strh r2, [r0]\n" - " ldr r0, ._20 + 4\n" + " ldr r0, ._20 + 4 @ gUnknown_Debug_03004BD0\n" " ldr r0, [r0]\n" - " ldr r1, ._20 + 8\n" + " ldr r1, ._20 + 8 @ gDamagedSaveSectors\n" " cmp r0, #0\n" " beq ._12 @cond_branch\n" " str r2, [r1]\n" @@ -182,11 +182,11 @@ void CB2_WipeSave() " mov r2, #0x1c\n" " mov r3, #0x13\n" " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._20 + 12\n" + " ldr r0, ._20 + 12 @ gSystemText_CheckCompleteSaveAttempt\n" " mov r1, #0x2\n" " mov r2, #0xb\n" " bl Menu_PrintText\n" - " ldr r0, ._20 + 16\n" + " ldr r0, ._20 + 16 @ gSaveFailedType\n" " ldrb r0, [r0]\n" " bl Save_WriteDataInternal\n" " ldr r0, [r5]\n" @@ -197,7 +197,7 @@ void CB2_WipeSave() " mov r2, #0x1c\n" " mov r3, #0x13\n" " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._20 + 20\n" + " ldr r0, ._20 + 20 @ gSystemText_SaveFailedBackupCheck\n" " mov r1, #0x2\n" " mov r2, #0xb\n" " bl Menu_PrintText\n" @@ -218,11 +218,11 @@ void CB2_WipeSave() " mov r2, #0x1c\n" " mov r3, #0x13\n" " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._20 + 24\n" + " ldr r0, ._20 + 24 @ gSystemText_BackupDamagedGameContinue\n" " mov r1, #0x2\n" " mov r2, #0xb\n" " bl Menu_PrintText\n" - " ldr r0, ._20 + 28\n" + " ldr r0, ._20 + 28 @ CB2_FadeAndReturnToTitleScreen\n" " bl SetMainCallback2\n" " b ._23\n" "._21:\n" @@ -242,11 +242,11 @@ void CB2_WipeSave() " mov r2, #0x1c\n" " mov r3, #0x13\n" " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._24\n" + " ldr r0, ._24 @ gGameContinueCallback\n" " ldr r0, [r0]\n" " cmp r0, #0\n" " bne ._22 @cond_branch\n" - " ldr r0, ._24 + 4\n" + " ldr r0, ._24 + 4 @ gSystemText_SaveCompletedGameEnd\n" " mov r1, #0x2\n" " mov r2, #0xb\n" " bl Menu_PrintText\n" @@ -262,11 +262,11 @@ void CB2_WipeSave() " mov r2, #0x1c\n" " mov r3, #0x13\n" " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._27\n" + " ldr r0, ._27 @ gSystemText_BackupDamagedGameContinue\n" " mov r1, #0x2\n" " mov r2, #0xb\n" " bl Menu_PrintText\n" - " ldr r0, ._27 + 4\n" + " ldr r0, ._27 + 4 @ CB2_GameplayCannotBeContinued\n" " bl SetMainCallback2\n" " b ._26\n" "._28:\n" @@ -275,12 +275,12 @@ void CB2_WipeSave() " .word gSystemText_BackupDamagedGameContinue\n" " .word CB2_GameplayCannotBeContinued+1\n" "._22:\n" - " ldr r0, ._29\n" + " ldr r0, ._29 @ gSystemText_SaveCompletedPressA\n" " mov r1, #0x2\n" " mov r2, #0xb\n" " bl Menu_PrintText\n" "._23:\n" - " ldr r0, ._29 + 4\n" + " ldr r0, ._29 + 4 @ CB2_FadeAndReturnToTitleScreen\n" " bl SetMainCallback2\n" "._26:\n" " pop {r4, r5}\n" @@ -420,20 +420,20 @@ bool8 VerifySectorWipe(u16 sector) " push {lr}\n" " lsl r0, r0, #0x10\n" " lsr r0, r0, #0x10\n" - " ldr r2, ._50\n" + " ldr r2, ._50 @ \n" " mov r3, #0x80\n" " lsl r3, r3, #0x5\n" " mov r1, #0x0\n" " bl ReadFlash\n" " mov r0, #0x0\n" - " ldr r1, ._50 + 4\n" + " ldr r1, ._50 + 4 @ \n" "._49:\n" " add r0, r0, #0x1\n" " lsl r0, r0, #0x10\n" " lsr r0, r0, #0x10\n" " cmp r0, r1\n" " bls ._49 @cond_branch\n" - " ldr r0, ._50 + 8\n" + " ldr r0, ._50 + 8 @ \n" " ldrb r0, [r0]\n" " pop {r1}\n" " bx r1\n" -- cgit v1.2.3