diff options
author | Cameron Hall <cameronghall@cox.net> | 2018-01-17 18:56:16 -0600 |
---|---|---|
committer | Cameron Hall <cameronghall@cox.net> | 2018-01-17 18:56:16 -0600 |
commit | a02a85f477cbf44aa0370de8f40bd8ced77513c2 (patch) | |
tree | 7e2366157f2433011b82f53b74dce75d21b8ef7f | |
parent | 8835353325d9c7eba7664bde5d5a2d4c40c4376d (diff) |
get nonmatching debug rom to build
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | common_syms/debug/watanabe_debug_menu.txt | 1 | ||||
-rw-r--r-- | common_syms/field/field_map_obj.txt | 1 | ||||
-rw-r--r-- | src/field/field_map_obj.c | 3 | ||||
-rw-r--r-- | src/field/item_menu.c | 18 | ||||
-rw-r--r-- | src/field/mauville_man.c | 197 | ||||
-rw-r--r-- | src/pokemon/mail.c | 205 | ||||
-rw-r--r-- | sym_bss.txt | 1 | ||||
-rw-r--r-- | sym_common.txt | 19 | ||||
-rw-r--r-- | sym_ewram.txt | 14 |
10 files changed, 259 insertions, 202 deletions
@@ -105,7 +105,7 @@ tidy: $(RM) $(ALL_BUILDS:%=poke%{.gba,.elf,.map}) $(RM) -r build -$(BUILD_NAME).gba: $(BUILD_NAME).elf +%.gba: %.elf $(OBJCOPY) -O binary --gap-fill 0xFF --pad-to 0x9000000 $< $@ %.elf: $(LD_SCRIPT) $(ALL_OBJECTS) diff --git a/common_syms/debug/watanabe_debug_menu.txt b/common_syms/debug/watanabe_debug_menu.txt new file mode 100644 index 000000000..9b2626a86 --- /dev/null +++ b/common_syms/debug/watanabe_debug_menu.txt @@ -0,0 +1 @@ +byte_3005E30 diff --git a/common_syms/field/field_map_obj.txt b/common_syms/field/field_map_obj.txt index 32d8b1915..93dd77dde 100644 --- a/common_syms/field/field_map_obj.txt +++ b/common_syms/field/field_map_obj.txt @@ -1 +1,2 @@ gMapObjects +gUnknown_Debug_03004BC0 diff --git a/src/field/field_map_obj.c b/src/field/field_map_obj.c index 1c0cefacb..c255d3013 100644 --- a/src/field/field_map_obj.c +++ b/src/field/field_map_obj.c @@ -1907,6 +1907,9 @@ static u8 gUnknown_030005A4; static u16 gUnknown_030005A6; struct MapObject gMapObjects[16]; +#if DEBUG +u8 gUnknown_Debug_03004BC0[4]; // unknown type +#endif void npc_clear_ids_and_state(struct MapObject *mapObj) { diff --git a/src/field/item_menu.c b/src/field/item_menu.c index 61774f816..7922bf69d 100644 --- a/src/field/item_menu.c +++ b/src/field/item_menu.c @@ -289,6 +289,24 @@ static void sub_80A6618(u8); const struct YesNoFuncTable gUnknown_083C16FC = {sub_80A65AC, sub_80A6618}; +#if DEBUG +const struct {u16 item; u8 unk;} gUnknown_Debug_083EBC68[12+48] = +{ + {ITEM_POKE_BALL, 10}, + {ITEM_ULTRA_BALL, 15}, + {ITEM_GREAT_BALL, 20}, + {ITEM_MASTER_BALL, 25}, + {ITEM_ACRO_BIKE, 1 }, + {ITEM_OLD_ROD, 1 }, + {ITEM_GOOD_ROD, 1 }, + {ITEM_SUPER_ROD, 1 }, + {ITEM_POKEBLOCK_CASE, 1 }, + {ITEM_WAILMER_PAIL, 1 }, + {ITEM_ITEMFINDER, 1 }, + {ITEM_NONE, 1 }, +}; +#endif + void sub_80A34E8(void); static bool8 LoadBagGraphicsMultistep(void); static void sub_80A362C(void); diff --git a/src/field/mauville_man.c b/src/field/mauville_man.c index 51bd9bb35..144c0235a 100644 --- a/src/field/mauville_man.c +++ b/src/field/mauville_man.c @@ -1313,7 +1313,7 @@ static void PrintStoryList(void) Menu_PrintText(gPCText_Cancel, 1, 2 + i * 2); } -u8 gUnknown_03000748; +static u8 gUnknown_03000748; static void Task_StoryListMenu(u8 taskId) { @@ -1392,3 +1392,198 @@ bool8 ScrSpecial_StorytellerInitializeRandomStat(void) { return StorytellerInitializeRandomStat(); } + +#if DEBUG +__attribute__((naked)) +void This_is_not_HandleReadMail() +{ + asm( + " push {r4, r5, r6, lr}\n" + " add sp, sp, #0xfffffffc\n" + " add r4, r0, #0\n" + " add r6, r1, #0\n" + " lsl r2, r2, #0x18\n" + " lsr r5, r2, #0x18\n" + " ldr r0, .__3\n" + " ldrb r3, [r0]\n" + " cmp r3, #0\n" + " beq .__1 @cond_branch\n" + " ldr r2, .__3 + 4\n" + " add r1, r2, #0\n" + " add r1, r1, #0xff\n" + " mov r0, #0x5\n" + " strb r0, [r1]\n" + " ldr r0, .__3 + 8\n" + " ldrh r1, [r0]\n" + " mov r3, #0x80\n" + " lsl r3, r3, #0x1\n" + " add r0, r2, r3\n" + " strb r1, [r0]\n" + " mov r0, #0x82\n" + " lsl r0, r0, #0x1\n" + " add r1, r2, r0\n" + " ldr r0, .__3 + 12\n" + " str r0, [r1]\n" + " add r3, r3, #0x8\n" + " add r1, r2, r3\n" + " ldr r0, .__3 + 16\n" + " str r0, [r1]\n" + " ldr r0, .__3 + 20\n" + " ldrh r1, [r0]\n" + " b .__2\n" + ".__4:\n" + " .align 2, 0\n" + ".__3:\n" + " .word gUnknown_03000748+0x4\n" + " .word +0x2000000\n" + " .word gSpecialVar_0x8004\n" + " .word EasyChat_GetWordText+1\n" + " .word ConvertEasyChatWordsToString+1\n" + " .word gSpecialVar_0x8006\n" + ".__1:\n" + " ldr r2, .__7\n" + " add r1, r2, #0\n" + " add r1, r1, #0xff\n" + " mov r0, #0x5\n" + " strb r0, [r1]\n" + " add r0, r0, #0xfb\n" + " add r1, r2, r0\n" + " mov r0, #0x1\n" + " strb r0, [r1]\n" + " mov r0, #0x82\n" + " lsl r0, r0, #0x1\n" + " add r1, r2, r0\n" + " ldr r0, .__7 + 4\n" + " str r0, [r1]\n" + " mov r0, #0x84\n" + " lsl r0, r0, #0x1\n" + " add r1, r2, r0\n" + " ldr r0, .__7 + 8\n" + " str r0, [r1]\n" + " ldrh r1, [r4, #0x20]\n" + " add r0, r1, #0\n" + " sub r0, r0, #0x79\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " cmp r0, #0xb\n" + " bhi .__5 @cond_branch\n" + " sub r1, r1, #0x79\n" + ".__2:\n" + " add r0, r2, #0\n" + " add r0, r0, #0xfa\n" + " strb r1, [r0]\n" + " b .__6\n" + ".__8:\n" + " .align 2, 0\n" + ".__7:\n" + " .word +0x2000000\n" + " .word EasyChat_GetWordText+1\n" + " .word ConvertEasyChatWordsToString+1\n" + ".__5:\n" + " add r0, r2, #0\n" + " add r0, r0, #0xfa\n" + " strb r3, [r0]\n" + " mov r5, #0x0\n" + ".__6:\n" + " ldr r1, .__12\n" + " mov r2, #0x80\n" + " lsl r2, r2, #0x1\n" + " add r0, r1, r2\n" + " ldrb r0, [r0]\n" + " cmp r0, #0\n" + " beq .__9 @cond_branch\n" + " cmp r0, #0x1\n" + " beq .__10 @cond_branch\n" + ".__9:\n" + " mov r3, #0x86\n" + " lsl r3, r3, #0x1\n" + " add r2, r1, r3\n" + " add r0, r1, #0\n" + " add r0, r0, #0xfa\n" + " ldrb r0, [r0]\n" + " lsl r0, r0, #0x3\n" + " ldr r1, .__12 + 4\n" + " b .__11\n" + ".__13:\n" + " .align 2, 0\n" + ".__12:\n" + " .word +0x2000000\n" + " .word gUnknown_083E5730\n" + ".__10:\n" + " mov r0, #0x86\n" + " lsl r0, r0, #0x1\n" + " add r2, r1, r0\n" + " add r0, r1, #0\n" + " add r0, r0, #0xfa\n" + " ldrb r0, [r0]\n" + " lsl r0, r0, #0x3\n" + " ldr r1, .__18\n" + ".__11:\n" + " add r0, r0, r1\n" + " str r0, [r2]\n" + " ldrh r0, [r4, #0x1e]\n" + " mov r1, sp\n" + " bl MailSpeciesToSpecies\n" + " lsl r0, r0, #0x10\n" + " ldr r1, .__18 + 4\n" + " add r0, r0, r1\n" + " mov r1, #0xcd\n" + " lsl r1, r1, #0x11\n" + " cmp r0, r1\n" + " bhi .__14 @cond_branch\n" + " ldr r0, .__18 + 8\n" + " add r1, r0, #0\n" + " add r1, r1, #0xfa\n" + " ldrb r2, [r1]\n" + " add r1, r0, #0\n" + " cmp r2, #0x6\n" + " beq .__15 @cond_branch\n" + " cmp r2, #0x9\n" + " beq .__16 @cond_branch\n" + " b .__17\n" + ".__19:\n" + " .align 2, 0\n" + ".__18:\n" + " .word gUnknown_083E57A4\n" + " .word 0xffff0000\n" + " .word +0x2000000\n" + ".__15:\n" + " add r2, r1, #0\n" + " add r2, r2, #0xfb\n" + " mov r0, #0x1\n" + " b .__21\n" + ".__16:\n" + " add r2, r1, #0\n" + " add r2, r2, #0xfb\n" + " mov r0, #0x2\n" + " b .__21\n" + ".__14:\n" + " ldr r1, .__22\n" + ".__17:\n" + " add r2, r1, #0\n" + " add r2, r2, #0xfb\n" + " mov r0, #0x0\n" + ".__21:\n" + " strb r0, [r2]\n" + " add r0, r1, #0\n" + " add r0, r0, #0xf4\n" + " str r4, [r0]\n" + " sub r0, r0, #0x8\n" + " str r6, [r0]\n" + " add r0, r0, #0xc\n" + " strb r5, [r0]\n" + " ldr r0, .__22 + 4\n" + " bl SetMainCallback2\n" + " add sp, sp, #0x4\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + ".__23:\n" + " .align 2, 0\n" + ".__22:\n" + " .word +0x2000000\n" + " .word sub_80F8D50+1\n" + "\n" + ); +} +#endif diff --git a/src/pokemon/mail.c b/src/pokemon/mail.c index 565a9861b..6e03958e6 100644 --- a/src/pokemon/mail.c +++ b/src/pokemon/mail.c @@ -68,6 +68,11 @@ struct MailGraphics u16 color12; }; +#if DEBUG +// should be static +__attribute__((section(".bss"))) u8 unk_debug_bss_2; +#endif + const u16 gUnknown_083E562C[][2] = { {0x6ACD, 0x51A5}, @@ -322,205 +327,6 @@ static void sub_80F8F58(void); static void sub_80F8F78(void); static void sub_80F8FB4(void); - -#if DEBUG - -// should be static -__attribute__((section(".bss"))) u8 unk_debug_bss_2; - -__attribute__((naked)) -void HandleReadMail(struct MailStruct *aStruct, MainCallback callback, bool8 bool81) -{ - asm( - " push {r4, r5, r6, lr}\n" - " add sp, sp, #0xfffffffc\n" - " add r4, r0, #0\n" - " add r6, r1, #0\n" - " lsl r2, r2, #0x18\n" - " lsr r5, r2, #0x18\n" - " ldr r0, ._3\n" - " ldrb r3, [r0]\n" - " cmp r3, #0\n" - " beq ._1 @cond_branch\n" - " ldr r2, ._3 + 4\n" - " add r1, r2, #0\n" - " add r1, r1, #0xff\n" - " mov r0, #0x5\n" - " strb r0, [r1]\n" - " ldr r0, ._3 + 8\n" - " ldrh r1, [r0]\n" - " mov r3, #0x80\n" - " lsl r3, r3, #0x1\n" - " add r0, r2, r3\n" - " strb r1, [r0]\n" - " mov r0, #0x82\n" - " lsl r0, r0, #0x1\n" - " add r1, r2, r0\n" - " ldr r0, ._3 + 12\n" - " str r0, [r1]\n" - " add r3, r3, #0x8\n" - " add r1, r2, r3\n" - " ldr r0, ._3 + 16\n" - " str r0, [r1]\n" - " ldr r0, ._3 + 20\n" - " ldrh r1, [r0]\n" - " b ._2\n" - "._4:\n" - " .align 2, 0\n" - "._3:\n" - " .word gUnknown_03000748+0x4\n" - " .word +0x2000000\n" - " .word gSpecialVar_0x8004\n" - " .word EasyChat_GetWordText+1\n" - " .word ConvertEasyChatWordsToString+1\n" - " .word gSpecialVar_0x8006\n" - "._1:\n" - " ldr r2, ._7\n" - " add r1, r2, #0\n" - " add r1, r1, #0xff\n" - " mov r0, #0x5\n" - " strb r0, [r1]\n" - " add r0, r0, #0xfb\n" - " add r1, r2, r0\n" - " mov r0, #0x1\n" - " strb r0, [r1]\n" - " mov r0, #0x82\n" - " lsl r0, r0, #0x1\n" - " add r1, r2, r0\n" - " ldr r0, ._7 + 4\n" - " str r0, [r1]\n" - " mov r0, #0x84\n" - " lsl r0, r0, #0x1\n" - " add r1, r2, r0\n" - " ldr r0, ._7 + 8\n" - " str r0, [r1]\n" - " ldrh r1, [r4, #0x20]\n" - " add r0, r1, #0\n" - " sub r0, r0, #0x79\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " cmp r0, #0xb\n" - " bhi ._5 @cond_branch\n" - " sub r1, r1, #0x79\n" - "._2:\n" - " add r0, r2, #0\n" - " add r0, r0, #0xfa\n" - " strb r1, [r0]\n" - " b ._6\n" - "._8:\n" - " .align 2, 0\n" - "._7:\n" - " .word +0x2000000\n" - " .word EasyChat_GetWordText+1\n" - " .word ConvertEasyChatWordsToString+1\n" - "._5:\n" - " add r0, r2, #0\n" - " add r0, r0, #0xfa\n" - " strb r3, [r0]\n" - " mov r5, #0x0\n" - "._6:\n" - " ldr r1, ._12\n" - " mov r2, #0x80\n" - " lsl r2, r2, #0x1\n" - " add r0, r1, r2\n" - " ldrb r0, [r0]\n" - " cmp r0, #0\n" - " beq ._9 @cond_branch\n" - " cmp r0, #0x1\n" - " beq ._10 @cond_branch\n" - "._9:\n" - " mov r3, #0x86\n" - " lsl r3, r3, #0x1\n" - " add r2, r1, r3\n" - " add r0, r1, #0\n" - " add r0, r0, #0xfa\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " ldr r1, ._12 + 4\n" - " b ._11\n" - "._13:\n" - " .align 2, 0\n" - "._12:\n" - " .word +0x2000000\n" - " .word gUnknown_083E5730\n" - "._10:\n" - " mov r0, #0x86\n" - " lsl r0, r0, #0x1\n" - " add r2, r1, r0\n" - " add r0, r1, #0\n" - " add r0, r0, #0xfa\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " ldr r1, ._18\n" - "._11:\n" - " add r0, r0, r1\n" - " str r0, [r2]\n" - " ldrh r0, [r4, #0x1e]\n" - " mov r1, sp\n" - " bl MailSpeciesToSpecies\n" - " lsl r0, r0, #0x10\n" - " ldr r1, ._18 + 4\n" - " add r0, r0, r1\n" - " mov r1, #0xcd\n" - " lsl r1, r1, #0x11\n" - " cmp r0, r1\n" - " bhi ._14 @cond_branch\n" - " ldr r0, ._18 + 8\n" - " add r1, r0, #0\n" - " add r1, r1, #0xfa\n" - " ldrb r2, [r1]\n" - " add r1, r0, #0\n" - " cmp r2, #0x6\n" - " beq ._15 @cond_branch\n" - " cmp r2, #0x9\n" - " beq ._16 @cond_branch\n" - " b ._17\n" - "._19:\n" - " .align 2, 0\n" - "._18:\n" - " .word gUnknown_083E57A4\n" - " .word 0xffff0000\n" - " .word +0x2000000\n" - "._15:\n" - " add r2, r1, #0\n" - " add r2, r2, #0xfb\n" - " mov r0, #0x1\n" - " b ._21\n" - "._16:\n" - " add r2, r1, #0\n" - " add r2, r2, #0xfb\n" - " mov r0, #0x2\n" - " b ._21\n" - "._14:\n" - " ldr r1, ._22\n" - "._17:\n" - " add r2, r1, #0\n" - " add r2, r2, #0xfb\n" - " mov r0, #0x0\n" - "._21:\n" - " strb r0, [r2]\n" - " add r0, r1, #0\n" - " add r0, r0, #0xf4\n" - " str r4, [r0]\n" - " sub r0, r0, #0x8\n" - " str r6, [r0]\n" - " add r0, r0, #0xc\n" - " strb r5, [r0]\n" - " ldr r0, ._22 + 4\n" - " bl SetMainCallback2\n" - " add sp, sp, #0x4\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._23:\n" - " .align 2, 0\n" - "._22:\n" - " .word +0x2000000\n" - " .word sub_80F8D50+1\n" - "\n" - ); -} -#else void HandleReadMail(struct MailStruct *arg0, MainCallback arg1, bool8 arg2) { u16 mailDesign; @@ -584,7 +390,6 @@ void HandleReadMail(struct MailStruct *arg0, MainCallback arg1, bool8 arg2) SetMainCallback2(sub_80F8D50); } -#endif #define RETURN_UP_STATE break #define RETURN_SKIP_STATE return FALSE diff --git a/sym_bss.txt b/sym_bss.txt index bc2ae107c..d09270756 100644 --- a/sym_bss.txt +++ b/sym_bss.txt @@ -36,6 +36,7 @@ unk_debug_bss_3: .include "src/easy_chat_2.o" .include "src/pokenav_before.o" .include "src/field/mauville_man.o" + .include "src/pokemon/mail.o" .include "src/field/menu_helpers.o" .include "src/field/slot_machine.o" .include "src/scene/contest_painting.o" diff --git a/sym_common.txt b/sym_common.txt index e31dd104b..7844c799b 100644 --- a/sym_common.txt +++ b/sym_common.txt @@ -150,9 +150,23 @@ gUnknown_03004AE4: @ 3004AE4 .space 0x4 .include "field/start_menu.o" + +@ debug start menu +gUnknown_Debug_03004BD0: + .space 0x4 + .include "engine/sound.o" .include "battle/battle_anim.o" .include "engine/task.o" + +@ debug stuff (possibly part of mori_debug_menu?) +unk_debug_common_1: + .space 0x4 +unk_3004E94: + .space 0x4 +unk_3004E98: + .space 0x8 + .include "debug/mori_debug_menu.o" @ unknown_task @@ -184,6 +198,11 @@ gCurrentBagPocketItemSlots: @ 3005D24 gUnknown_03005D28: @ 3005D28 .space 0x4 +@ debug stuff +unk_debug_common_0: + .space 0x4 + .include "debug/watanabe_debug_menu.o" + .include "engine/record_mixing.o" .include "debug/sound_check_menu.o" .include "field/tv.o" diff --git a/sym_ewram.txt b/sym_ewram.txt index e3ccb6283..ab59fe5a7 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -32,6 +32,12 @@ gUnknown_02023A04: @ 2023A04 gUnknown_02023A14: @ 2023A14 .space 0x4C +@ debug stuff - probably not correct and should be part of gBattleBufferA +gUnknown_02023A14_4C: + .space 0x4 +gUnknown_02023A14_50: + .space 0x290 + gBattleBufferA: @ 2023A60 .space 0x2 @@ -362,6 +368,14 @@ gUnknown_0203847F: @ 203847F gUnknown_02038480: @ 2038480 .space 0x64 +@ debug stuff +unk_2038790: + .space 0x4 +unk_2038794: + .space 0x4 +unk_2038798: + .space 0x4 + gUnknown_020384E4: @ 20384E4 .space 0x1 |