summaryrefslogtreecommitdiff
path: root/src/engine
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine')
-rw-r--r--src/engine/cable_club.c436
-rw-r--r--src/engine/mystery_event_menu.c460
-rw-r--r--src/engine/reset_rtc_screen.c316
3 files changed, 1211 insertions, 1 deletions
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