From 46f771bc3ffa686e4affa97b2e9d5b76b087ae64 Mon Sep 17 00:00:00 2001 From: David Benepe Date: Wed, 9 Jun 2021 11:34:09 -0500 Subject: [PATCH] Added bss for unknown_06B2B0, _071730, _072E50 --- .../unknown_071730/func_80071278.s | 4 +- .../unknown_071730/func_80071478.s | 4 +- .../unknown_071730/func_80071538.s | 4 +- .../unknown_071730/func_8007164C.s | 4 +- .../unknown_071730/func_80071A24.s | 4 +- bss.txt | 68 --------------- src/unknown_06B2B0.c | 85 +++++++++++-------- src/unknown_071730.c | 20 +++-- src/unknown_072E50.c | 14 ++- src/unknown_0777A0.c | 4 + undefined_syms.txt | 66 +------------- 11 files changed, 94 insertions(+), 183 deletions(-) diff --git a/asm/non_matchings/unknown_071730/func_80071278.s b/asm/non_matchings/unknown_071730/func_80071278.s index 8dd66386..33867484 100644 --- a/asm/non_matchings/unknown_071730/func_80071278.s +++ b/asm/non_matchings/unknown_071730/func_80071278.s @@ -4,10 +4,10 @@ glabel func_80071278 /* 071E80 80071280 0C01C57B */ jal func_800715EC /* 071E84 80071284 AFA40020 */ sw $a0, 0x20($sp) /* 071E88 80071288 00027100 */ sll $t6, $v0, 4 -/* 071E8C 8007128C 3C038012 */ lui $v1, %hi(D_80123588) # $v1, 0x8012 +/* 071E8C 8007128C 3C038012 */ lui $v1, %hi(D_80123580+8) # $v1, 0x8012 /* 071E90 80071290 006E1821 */ addu $v1, $v1, $t6 /* 071E94 80071294 8FA40020 */ lw $a0, 0x20($sp) -/* 071E98 80071298 8C633588 */ lw $v1, %lo(D_80123588)($v1) +/* 071E98 80071298 8C633588 */ lw $v1, %lo(D_80123580+8)($v1) /* 071E9C 8007129C AFA20018 */ sw $v0, 0x18($sp) /* 071EA0 800712A0 00002825 */ move $a1, $zero /* 071EA4 800712A4 2407FFFF */ li $a3, -1 diff --git a/asm/non_matchings/unknown_071730/func_80071478.s b/asm/non_matchings/unknown_071730/func_80071478.s index 2fd0193d..db6fb9ea 100644 --- a/asm/non_matchings/unknown_071730/func_80071478.s +++ b/asm/non_matchings/unknown_071730/func_80071478.s @@ -8,9 +8,9 @@ glabel func_80071478 /* 072090 80071490 0C01C57B */ jal func_800715EC /* 072094 80071494 02002025 */ move $a0, $s0 /* 072098 80071498 00027100 */ sll $t6, $v0, 4 -/* 07209C 8007149C 3C048012 */ lui $a0, %hi(D_80123588) # $a0, 0x8012 +/* 07209C 8007149C 3C048012 */ lui $a0, %hi(D_80123580+8) # $a0, 0x8012 /* 0720A0 800714A0 008E2021 */ addu $a0, $a0, $t6 -/* 0720A4 800714A4 8C843588 */ lw $a0, %lo(D_80123588)($a0) +/* 0720A4 800714A4 8C843588 */ lw $a0, %lo(D_80123580+8)($a0) /* 0720A8 800714A8 00001825 */ move $v1, $zero /* 0720AC 800714AC 2409FFFF */ li $t1, -1 /* 0720B0 800714B0 24080004 */ li $t0, 4 diff --git a/asm/non_matchings/unknown_071730/func_80071538.s b/asm/non_matchings/unknown_071730/func_80071538.s index a5e2e0d1..ac75cf2b 100644 --- a/asm/non_matchings/unknown_071730/func_80071538.s +++ b/asm/non_matchings/unknown_071730/func_80071538.s @@ -7,10 +7,10 @@ glabel func_80071538 /* 07214C 8007154C 0C01C57B */ jal func_800715EC /* 072150 80071550 AFA20018 */ sw $v0, 0x18($sp) /* 072154 80071554 00027100 */ sll $t6, $v0, 4 -/* 072158 80071558 3C048012 */ lui $a0, %hi(D_80123588) # $a0, 0x8012 +/* 072158 80071558 3C048012 */ lui $a0, %hi(D_80123580+8) # $a0, 0x8012 /* 07215C 8007155C 008E2021 */ addu $a0, $a0, $t6 /* 072160 80071560 8FA70028 */ lw $a3, 0x28($sp) -/* 072164 80071564 8C843588 */ lw $a0, %lo(D_80123588)($a0) +/* 072164 80071564 8C843588 */ lw $a0, %lo(D_80123580+8)($a0) /* 072168 80071568 00001825 */ move $v1, $zero /* 07216C 8007156C 2406FFFF */ li $a2, -1 /* 072170 80071570 24050014 */ li $a1, 20 diff --git a/asm/non_matchings/unknown_071730/func_8007164C.s b/asm/non_matchings/unknown_071730/func_8007164C.s index e3b1ba33..30aa83a6 100644 --- a/asm/non_matchings/unknown_071730/func_8007164C.s +++ b/asm/non_matchings/unknown_071730/func_8007164C.s @@ -79,9 +79,9 @@ glabel func_8007164C /* 072370 80071770 00000000 */ nop /* 072374 80071774 00047100 */ sll $t6, $a0, 4 -/* 072378 80071778 3C028012 */ lui $v0, %hi(D_80123588) # $v0, 0x8012 +/* 072378 80071778 3C028012 */ lui $v0, %hi(D_80123580+8) # $v0, 0x8012 /* 07237C 8007177C 004E1021 */ addu $v0, $v0, $t6 -/* 072380 80071780 8C423588 */ lw $v0, %lo(D_80123588)($v0) +/* 072380 80071780 8C423588 */ lw $v0, %lo(D_80123580+8)($v0) /* 072384 80071784 03E00008 */ jr $ra /* 072388 80071788 00000000 */ nop diff --git a/asm/non_matchings/unknown_071730/func_80071A24.s b/asm/non_matchings/unknown_071730/func_80071A24.s index a7042aa7..3db3c795 100644 --- a/asm/non_matchings/unknown_071730/func_80071A24.s +++ b/asm/non_matchings/unknown_071730/func_80071A24.s @@ -26,8 +26,8 @@ glabel D_800E7584 .text glabel func_80071A24 -/* 072624 80071A24 3C028012 */ lui $v0, %hi(D_80123588) # $v0, 0x8012 -/* 072628 80071A28 8C423588 */ lw $v0, %lo(D_80123588)($v0) +/* 072624 80071A24 3C028012 */ lui $v0, %hi(D_80123580+8) # $v0, 0x8012 +/* 072628 80071A28 8C423588 */ lw $v0, %lo(D_80123580+8)($v0) /* 07262C 80071A2C 00001825 */ move $v1, $zero /* 072630 80071A30 00002825 */ move $a1, $zero /* 072634 80071A34 24060640 */ li $a2, 1600 diff --git a/bss.txt b/bss.txt index d2152b1a..b88d4b4b 100644 --- a/bss.txt +++ b/bss.txt @@ -27,78 +27,10 @@ unknown_0667D0 unknown_066AA0 unknown_06B2B0 -D_801211C0; -D_801211C8; -D_801211F0; -D_801211F8; -D_80121200; -D_80121204; -D_80121208; -D_80121210; -D_80121214; -D_80121218; -D_80121220; -D_80121224; -D_80121228; -D_80121250; -D_80121260; -D_801234E8; -D_801234EC; -D_801234F0; -D_801234F4; -D_801234F8; -D_801234FC; -D_80123500; -D_80123504; -D_80123508; -D_8012350C; -gSettingsPtr; -D_80123514; -gIsPaused; -D_80123516; -D_80123518; -D_8012351C; -D_80123520; -D_80123524; -D_80123525; -D_80123526; -D_80123528; -D_8012352C; -D_80123530; -D_80123534; -D_80123538; -D_80123544; -D_80123548; -D_80123560; - unknown_071730 -D_80123580; -D_80123588; -D_801235C0; -D_801235C8; -D_80123DC8; -D_80123DCC; -D_80123DD0; -D_80123ED0; -D_80123FD0; -D_80123FF0; - unknown_072E50 -D_80124010; -D_80124018; -D_801241B8; -D_801241E0; -D_801241E4; -D_801241E5; -D_801241E6; -D_801241E7; -D_801241E8; -D_801241EC; -D_801241F0; -D_801241F4; - unknown_0777A0 D_80124200; diff --git a/src/unknown_06B2B0.c b/src/unknown_06B2B0.c index 94e2caaa..62d45cb4 100644 --- a/src/unknown_06B2B0.c +++ b/src/unknown_06B2B0.c @@ -134,37 +134,54 @@ typedef struct unk80121178 { s8 pad3[3]; } unk80121178; unk80121178 *D_80121178[2]; -s32 D_80121180; +s32 D_80121180[16]; -extern s32 D_801211C0[2]; -extern s16 D_801211C8[8]; -extern Gfx *D_801211F0[3]; -extern Gfx *D_801211F8; -extern s32 D_80121208; -extern s32 D_80121218; -extern s32 D_80121228; -extern s8 D_80121250[16]; -extern s32 D_801234E8; -extern s32 D_801234EC; -extern s32 D_801234F0; -extern s32 D_801234F4; -extern s32 D_801234F8; -extern s32 D_801234FC; -extern s32 D_80123500; -extern s32 D_80123504; -extern s32 D_80123508; -extern Settings *gSettingsPtr; -extern s8 D_80123514; -extern s8 gIsPaused; -extern s8 D_80123516; -extern s32 D_80123518; -extern s32 D_8012351C; -extern s32 D_80123520; -extern u8 D_80123524; -extern u8 D_80123525; -extern u8 D_80123526; -extern s32* D_80123548; // This is actually an OSMesgQueue pointer. -extern s32 D_80123560; +s32 D_801211C0[2]; +s16 D_801211C8[20]; +Gfx *D_801211F0[2]; +Gfx *D_801211F8; +s32 D_801211FC; +s32 D_80121200; +s32 D_80121204; +s32 D_80121208[2]; +s32 D_80121210; +s32 D_80121214; +s32 D_80121218[2]; +s32 D_80121220; +s32 D_80121224; +s32 D_80121228[10]; +s8 D_80121250[16]; +s32 D_80121260[2210]; +s32 D_801234E8; +s32 D_801234EC; +s32 D_801234F0; +s32 D_801234F4; +s32 D_801234F8; +s32 D_801234FC; +s32 D_80123500; +s32 D_80123504; +s32 D_80123508; +s32 D_8012350C; +Settings *gSettingsPtr; +s8 D_80123514; +s8 gIsPaused; +s8 D_80123516; +s32 D_80123518; +s32 D_8012351C; +s32 D_80123520; +u8 D_80123524; +u8 D_80123525; +u8 D_80123526; +s32 D_80123528; +s32 D_8012352C; +s32 D_80123530; +s32 D_80123534; +s32 D_80123538[3]; +s32 D_80123544; +s32* D_80123548; // This is actually an OSMesgQueue pointer. +s32 D_8012354C; +s32 D_80123550[4]; +s32 D_80123560[8]; /******************************/ @@ -757,7 +774,7 @@ void func_8006C3E0(void) { func_800C7350(); osCreateMesgQueue(&D_80123548, &D_80123544, 1); osScAddClient(&D_80121260, &D_80123538, &D_80123548, 3); - D_80123560 = 0; + D_80123560[0] = 0; D_80123504 = 0; D_80123508 = 0; D_801234E8 = 0; @@ -1059,10 +1076,10 @@ s8 func_8006EAB0(void) { } s32 func_8006EAC0(void) { - if (D_80123560 == 0) { - D_80123560 = (s32) ((osRecvMesg(&D_80123548, NULL, 0) + 1) != 0); + if (D_80123560[0] == 0) { + D_80123560[0] = (s32) ((osRecvMesg(&D_80123548, NULL, 0) + 1) != 0); } - return D_80123560; + return D_80123560[0]; } s32 func_8006EB14(void) { diff --git a/src/unknown_071730.c b/src/unknown_071730.c index 792db3b9..5b9a6504 100644 --- a/src/unknown_071730.c +++ b/src/unknown_071730.c @@ -34,6 +34,8 @@ const char D_800E751C[] = "ORANGE %d\n\n"; /*********************************/ +/************ .bss ************/ + /* Size: 0x8 bytes */ typedef struct unk80070BE4_8_0 { s16 unk0; @@ -60,13 +62,14 @@ typedef struct unk80070BE4 { s32 size; } unk80070BE4; -extern unk80070BE4 D_80123580[12]; // unknown number of entries +unk80070BE4 D_80123580[4]; #ifndef _ALIGN16 #define _ALIGN16(val) ((val) & 0xFFFFFFF0) + 0x10 #endif -extern s32 D_801235C0; +s32 D_801235C0; +s32 D_801235C4; /* Size: 0x8 bytes */ typedef struct unk801235C8 { @@ -75,12 +78,19 @@ typedef struct unk801235C8 { u8 pad5[3]; } unk801235C8; -extern unk801235C8 D_801235C8[8]; +unk801235C8 D_801235C8[256]; + +s32 D_80123DC8; +s32 D_80123DCC; +s32 D_80123DD0[64]; +s32 D_80123ED0[64]; +s32 D_80123FD0[8]; +s32 D_80123FF0[8]; -extern s32 D_80123DC8; -extern s32 D_80123DCC; extern unk80070BE4_8 D_8012D3F0; +/******************************/ + /* Unknown size */ typedef struct unk800B7D10 { u8 pad0[0x14]; diff --git a/src/unknown_072E50.c b/src/unknown_072E50.c index 3aab02a8..ff4e2601 100644 --- a/src/unknown_072E50.c +++ b/src/unknown_072E50.c @@ -55,7 +55,19 @@ const char D_800E7750[] = "warning: corrupt ghost\n"; /************ .bss ************/ -extern s32 D_80124010; +s32 D_80124010; +s32 D_80124014; +s32 D_80124018[104]; +s32 D_801241B8[10]; +s32 D_801241E0; +s8 D_801241E4; +s8 D_801241E5; +s8 D_801241E6; +s8 D_801241E7; +s32 D_801241E8; +s32 D_801241EC; +s32 D_801241F0; +s32 D_801241F4; /*******************************/ diff --git a/src/unknown_0777A0.c b/src/unknown_0777A0.c index d958a466..e1faf75e 100644 --- a/src/unknown_0777A0.c +++ b/src/unknown_0777A0.c @@ -6,6 +6,8 @@ #include "types.h" #include "macros.h" +/************ .bss ************/ + extern s32 *D_80124200; extern s32 D_80124218; extern s32 D_80124220; @@ -13,6 +15,8 @@ extern s32 D_80124238; extern s32 D_80124278; extern s32 *D_80124290; +/*******************************/ + // These are both defined in the generated dkr.ld file. extern u8 __ASSETS_LUT_START, __ASSETS_LUT_END; // __ASSETS_LUT_START = 0xECB60, _END = 0xECC30 diff --git a/undefined_syms.txt b/undefined_syms.txt index b806f1ac..70093605 100755 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -25,77 +25,13 @@ osAppNMIBuffer = 0x8000031C; D_800E0001 = 0x800E0001; eqpower = 0x800E37A0; -D_801211C0 = 0x801211C0; -D_801211C8 = 0x801211C8; -D_801211F0 = 0x801211F0; -D_801211F8 = 0x801211F8; -D_80121200 = 0x80121200; -D_80121204 = 0x80121204; -D_80121208 = 0x80121208; -D_80121210 = 0x80121210; -D_80121214 = 0x80121214; -D_80121218 = 0x80121218; -D_80121220 = 0x80121220; -D_80121224 = 0x80121224; -D_80121228 = 0x80121228; -D_80121250 = 0x80121250; -D_80121260 = 0x80121260; -D_801234E8 = 0x801234E8; -D_801234EC = 0x801234EC; -D_801234F0 = 0x801234F0; -D_801234F4 = 0x801234F4; -D_801234F8 = 0x801234F8; -D_801234FC = 0x801234FC; -D_80123500 = 0x80123500; -D_80123504 = 0x80123504; -D_80123508 = 0x80123508; -D_8012350C = 0x8012350C; -gSettingsPtr = 0x80123510; -D_80123514 = 0x80123514; -gIsPaused = 0x80123515; -D_80123516 = 0x80123516; -D_80123518 = 0x80123518; -D_8012351C = 0x8012351C; -D_80123520 = 0x80123520; -D_80123524 = 0x80123524; -D_80123525 = 0x80123525; -D_80123526 = 0x80123526; -D_80123528 = 0x80123528; -D_8012352C = 0x8012352C; -D_80123530 = 0x80123530; -D_80123534 = 0x80123534; -D_80123538 = 0x80123538; -D_80123544 = 0x80123544; -D_80123548 = 0x80123548; -D_80123560 = 0x80123560; -D_80123580 = 0x80123580; -D_80123588 = 0x80123588; -D_801235C0 = 0x801235C0; -D_801235C8 = 0x801235C8; -D_80123DC8 = 0x80123DC8; -D_80123DCC = 0x80123DCC; -D_80123DD0 = 0x80123DD0; -D_80123ED0 = 0x80123ED0; -D_80123FD0 = 0x80123FD0; -D_80123FF0 = 0x80123FF0; -D_80124010 = 0x80124010; -D_80124018 = 0x80124018; -D_801241B8 = 0x801241B8; -D_801241E0 = 0x801241E0; -D_801241E4 = 0x801241E4; -D_801241E5 = 0x801241E5; -D_801241E6 = 0x801241E6; -D_801241E7 = 0x801241E7; -D_801241E8 = 0x801241E8; -D_801241EC = 0x801241EC; -D_801241F0 = 0x801241F0; -D_801241F4 = 0x801241F4; D_80124200 = 0x80124200; D_80124218 = 0x80124218; D_80124220 = 0x80124220; D_80124238 = 0x80124238; D_80124278 = 0x80124278; D_80124290 = 0x80124290; + D_801242A0 = 0x801242A0; D_801246A0 = 0x801246A0; D_80125EA0 = 0x80125EA0;