diff options
author | Cameron Hall <cameronghall@cox.net> | 2018-01-17 16:46:54 -0600 |
---|---|---|
committer | Cameron Hall <cameronghall@cox.net> | 2018-01-17 16:46:54 -0600 |
commit | c3534e7b0e2df48fe989deb74c26f98e1fe759b8 (patch) | |
tree | f29c7c7cdaec3138e66198a5d2689e1ac22496ce /src/engine/cable_club.c | |
parent | 6efb614f3f3bf1b1b381bdfe220391e152fc8ebe (diff) |
add more debug code
Diffstat (limited to 'src/engine/cable_club.c')
-rw-r--r-- | src/engine/cable_club.c | 436 |
1 files changed, 435 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 |