From 38b906195ba90f245a712036410d6e12cab485fa Mon Sep 17 00:00:00 2001 From: Antonio Castelli Date: Sat, 5 Jun 2021 19:13:22 -0700 Subject: [PATCH] Moved symbols in unknown_066AA0 to header file. --- .../unknown_066AA0/func_80068158.s | 5 +- .../unknown_066AA0/func_800682AC.s | 5 +- .../unknown_066AA0/func_8006C60C.s | 5 +- include/unknown_066AA0.h | 115 ++++++++++++++++++ src/unknown_066AA0.c | 19 +-- undefined_syms.txt | 46 ------- 6 files changed, 126 insertions(+), 69 deletions(-) create mode 100644 include/unknown_066AA0.h diff --git a/asm/non_matchings/unknown_066AA0/func_80068158.s b/asm/non_matchings/unknown_066AA0/func_80068158.s index 504b091c..c674bf82 100644 --- a/asm/non_matchings/unknown_066AA0/func_80068158.s +++ b/asm/non_matchings/unknown_066AA0/func_80068158.s @@ -25,14 +25,15 @@ glabel func_80068158 /* 068DAC 800681AC 00053023 */ negu $a2, $a1 .L800681B0: /* 068DB0 800681B0 8CE50000 */ lw $a1, ($a3) -/* 068DB4 800681B4 3C19800E */ lui $t9, %hi(D_800DD094) # $t9, 0x800e +# Accessing D_800DD064[*].unk30. +/* 068DB4 800681B4 3C19800E */ lui $t9, %hi(D_800DD064) # $t9, 0x800e /* 068DB8 800681B8 0005C080 */ sll $t8, $a1, 2 /* 068DBC 800681BC 0305C023 */ subu $t8, $t8, $a1 /* 068DC0 800681C0 0018C080 */ sll $t8, $t8, 2 /* 068DC4 800681C4 0305C021 */ addu $t8, $t8, $a1 /* 068DC8 800681C8 0018C080 */ sll $t8, $t8, 2 /* 068DCC 800681CC 0338C821 */ addu $t9, $t9, $t8 -/* 068DD0 800681D0 8F39D094 */ lw $t9, %lo(D_800DD094)($t9) +/* 068DD0 800681D0 8F39D094 */ lw $t9, -0x2f6c($t9) /* 068DD4 800681D4 3C0A800E */ lui $t2, %hi(D_800DD148) # $t2, 0x800e /* 068DD8 800681D8 332B0001 */ andi $t3, $t9, 1 /* 068DDC 800681DC 1560001A */ bnez $t3, .L80068248 diff --git a/asm/non_matchings/unknown_066AA0/func_800682AC.s b/asm/non_matchings/unknown_066AA0/func_800682AC.s index 40eb5197..1e8715c7 100644 --- a/asm/non_matchings/unknown_066AA0/func_800682AC.s +++ b/asm/non_matchings/unknown_066AA0/func_800682AC.s @@ -8,14 +8,15 @@ glabel func_800682AC /* 068EC4 800682C4 AFA40020 */ sw $a0, 0x20($sp) /* 068EC8 800682C8 3C0F8012 */ lui $t7, %hi(D_80120CE4) # $t7, 0x8012 /* 068ECC 800682CC 8DEF0CE4 */ lw $t7, %lo(D_80120CE4)($t7) -/* 068ED0 800682D0 3C19800E */ lui $t9, %hi(D_800DD094) # $t9, 0x800e +# Accessing D_800DD064[*].unk30. +/* 068ED0 800682D0 3C19800E */ lui $t9, %hi(D_800DD064) # $t9, 0x800e /* 068ED4 800682D4 000FC080 */ sll $t8, $t7, 2 /* 068ED8 800682D8 030FC023 */ subu $t8, $t8, $t7 /* 068EDC 800682DC 0018C080 */ sll $t8, $t8, 2 /* 068EE0 800682E0 030FC021 */ addu $t8, $t8, $t7 /* 068EE4 800682E4 0018C080 */ sll $t8, $t8, 2 /* 068EE8 800682E8 0338C821 */ addu $t9, $t9, $t8 -/* 068EEC 800682EC 8F39D094 */ lw $t9, %lo(D_800DD094)($t9) +/* 068EEC 800682EC 8F39D094 */ lw $t9, -0x2f6c($t9) /* 068EF0 800682F0 8FA40020 */ lw $a0, 0x20($sp) /* 068EF4 800682F4 332A0001 */ andi $t2, $t9, 1 /* 068EF8 800682F8 00024402 */ srl $t0, $v0, 0x10 diff --git a/asm/non_matchings/unknown_066AA0/func_8006C60C.s b/asm/non_matchings/unknown_066AA0/func_8006C60C.s index b64f9a41..80292d59 100644 --- a/asm/non_matchings/unknown_066AA0/func_8006C60C.s +++ b/asm/non_matchings/unknown_066AA0/func_8006C60C.s @@ -202,8 +202,9 @@ glabel func_8006C60C /* 06D504 8006C904 0C02DDF5 */ jal func_800B77D4 /* 06D508 8006C908 00000000 */ nop .L8006C90C: -/* 06D50C 8006C90C 3C04800E */ lui $a0, %hi(D_800DD407) # $a0, 0x800e -/* 06D510 8006C910 9084D407 */ lbu $a0, %lo(D_800DD407)($a0) +# Casting D_800DD404 to u8. +/* 06D50C 8006C90C 3C04800E */ lui $a0, %hi(D_800DD404) # $a0, 0x800e +/* 06D510 8006C910 9084D407 */ lbu $a0, -0x2bf9($a0) /* 06D514 8006C914 0C000340 */ jal func_80000D00 /* 06D518 8006C918 00000000 */ nop /* 06D51C 8006C91C 3C048012 */ lui $a0, %hi(D_801211F8) # $a0, 0x8012 diff --git a/include/unknown_066AA0.h b/include/unknown_066AA0.h new file mode 100644 index 00000000..ec589c12 --- /dev/null +++ b/include/unknown_066AA0.h @@ -0,0 +1,115 @@ +#ifndef _UNKNOWN_066AA0_H_ +#define _UNKNOWN_066AA0_H_ + +#include "types.h" + +extern s32 D_800DD060; + +/* Size: 0x34 bytes. */ +typedef struct unk800DD064 { + s32 unk0; + s32 unk4; + s32 unk8; + s32 unkC; + s32 unk10; + s32 unk14; + s32 unk18; + s32 unk1C; + s32 unk20; + s32 unk24; + s32 unk28; + s32 unk2C; + s32 unk30; +} unk800DD064; + +extern unk800DD064 D_800DD064[4]; + +// Not sure about the typing here +extern s16 D_800DD134[10]; + +// Not sure about the typing here +extern u16 D_800DD148[160]; + +extern f32 D_800DD288[6]; + +extern f32 D_800DD2A0[6]; + +extern f32 D_800DD2B8[5]; + +extern f32 D_800DD2CC[11]; + +extern u8 D_800DD2F8[8]; + +extern s32 D_800DD300; + +extern s16 D_800DD304; + +// Remove this when unknown_066AA0 is split. +extern s32 __FILE_BOUNDARY_PADDING[2]; + +/** File boundary! The following variables belong to the next file when unknown_066AA0 is split **/ + +extern s8 D_800DD310; +extern s8 D_800DD314; +extern s8 D_800DD318; +extern s32 D_800DD31C; +extern s32 D_800DD320; +extern s32 D_800DD324; +extern s16 D_800DD328; +extern s16 D_800DD32C; + +extern s8 D_800DD330; + +// Unused? Unsure on pointer type +extern s32 *D_800DD334[6]; + +// Unused? +extern char gBuildString[40]; + +extern s8 D_800DD374; +extern s32 D_800DD378; +extern s32 D_800DD37C; +extern s32 D_800DD380; +extern s32 D_800DD384; +extern s32 D_800DD388; +extern s8 D_800DD38C; +extern u8 D_800DD390; +extern s16 D_800DD394; +extern u8 D_800DD398; +extern s32 D_800DD39C; +extern s8 D_800DD3A0; +extern s32 D_800DD3A4; +extern s32 D_800DD3A8; +extern s32 D_800DD3AC; +extern s32 D_800DD3B0; +extern s32 D_800DD3B4; +extern s32 D_800DD3B8; +extern s32 D_800DD3BC; +extern s32 D_800DD3C0; +extern s32 D_800DD3C4; +extern s32 D_800DD3C8; +extern s32 D_800DD3CC; +extern s32 D_800DD3D0; +extern s32 D_800DD3D4; +extern s32 D_800DD3D8; +extern s32 D_800DD3DC; +extern s32 D_800DD3E0; +extern s32 D_800DD3E4; +extern s32 D_800DD3E8; +extern s32 D_800DD3EC; + +extern s8 D_800DD3F0; +extern s16 D_800DD3F4[8]; +extern s32 D_800DD404; +extern s32 D_800DD408; +extern s32 D_800DD40C; + +// Unused? Unsure on pointer type +extern s32 *D_800DD410[3]; + +// Not sure if this is an array or a struct. +extern s32 D_800DD41C[2]; + +extern s32 D_800DD424[2]; + +#endif \ No newline at end of file diff --git a/src/unknown_066AA0.c b/src/unknown_066AA0.c index b5de06be..ac068eed 100644 --- a/src/unknown_066AA0.c +++ b/src/unknown_066AA0.c @@ -1,6 +1,8 @@ /* The comment below is needed for this file to be picked up by generate_ld */ /* RAM_POS: 0x80065EA0 */ +#include "unknown_066AA0.h" + #include "types.h" #include "macros.h" #include "structs.h" @@ -12,23 +14,6 @@ extern u32 osTvType; s32 D_800DD060 = 0; // Currently unknown, might be a different type. -/* Size: 0x34 bytes. */ -typedef struct unk800DD064 { - s32 unk0; - s32 unk4; - s32 unk8; - s32 unkC; - s32 unk10; - s32 unk14; - s32 unk18; - s32 unk1C; - s32 unk20; - s32 unk24; - s32 unk28; - s32 unk2C; - s32 unk30; -} unk800DD064; - unk800DD064 D_800DD064[4] = { { 0x00, 0x00, 0x140, 0xF0, diff --git a/undefined_syms.txt b/undefined_syms.txt index a9c739c0..e881049b 100755 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -67,52 +67,6 @@ D_800D84C0 = 0x800D84C0; D_800D8590 = 0x800D8590; D_800D9790 = 0x800D9790; D_800DA970 = 0x800DA970; -D_800DD060 = 0x800DD060; -D_800DD064 = 0x800DD064; -D_800DD094 = 0x800DD094; -D_800DD134 = 0x800DD134; -D_800DD148 = 0x800DD148; -D_800DD288 = 0x800DD288; -D_800DD2A0 = 0x800DD2A0; -D_800DD2B8 = 0x800DD2B8; -D_800DD2CC = 0x800DD2CC; -D_800DD2F8 = 0x800DD2F8; -D_800DD300 = 0x800DD300; -D_800DD304 = 0x800DD304; -D_800DD310 = 0x800DD310; -D_800DD314 = 0x800DD314; -D_800DD318 = 0x800DD318; -D_800DD31C = 0x800DD31C; -D_800DD320 = 0x800DD320; -D_800DD324 = 0x800DD324; -D_800DD328 = 0x800DD328; -D_800DD32C = 0x800DD32C; -D_800DD330 = 0x800DD330; -D_800DD374 = 0x800DD374; -D_800DD37C = 0x800DD37C; -D_800DD380 = 0x800DD380; -D_800DD384 = 0x800DD384; -D_800DD38C = 0x800DD38C; -D_800DD390 = 0x800DD390; -D_800DD394 = 0x800DD394; -D_800DD398 = 0x800DD398; -D_800DD39C = 0x800DD39C; -D_800DD3A0 = 0x800DD3A0; -D_800DD3B0 = 0x800DD3B0; -D_800DD3BC = 0x800DD3BC; -D_800DD3C0 = 0x800DD3C0; -D_800DD3CC = 0x800DD3CC; -D_800DD3D0 = 0x800DD3D0; -D_800DD3DC = 0x800DD3DC; -D_800DD3E0 = 0x800DD3E0; -D_800DD3EC = 0x800DD3EC; -D_800DD3F0 = 0x800DD3F0; -D_800DD3F4 = 0x800DD3F4; -D_800DD404 = 0x800DD404; -D_800DD407 = 0x800DD407; -D_800DD408 = 0x800DD408; -D_800DD41C = 0x800DD41C; -D_800DD424 = 0x800DD424; D_800DD430 = 0x800DD430; D_800DD434 = 0x800DD434; D_800DD438 = 0x800DD438;