From 9d7401bf281ff9b2f18394b51568efe7ed0f9b8b Mon Sep 17 00:00:00 2001 From: David Benepe Date: Sun, 30 May 2021 21:13:46 -0500 Subject: [PATCH] Moved .rodata in unknown_066AA0 from asm to C. --- data/unknown_066AA0.rodata.s | 120 ------------------- data/unknown_09F8F0.rodata.s | 224 ----------------------------------- src/unknown_066AA0.c | 94 ++++++++++++--- 3 files changed, 80 insertions(+), 358 deletions(-) delete mode 100644 data/unknown_066AA0.rodata.s delete mode 100644 data/unknown_09F8F0.rodata.s diff --git a/data/unknown_066AA0.rodata.s b/data/unknown_066AA0.rodata.s deleted file mode 100644 index 51a76b17..00000000 --- a/data/unknown_066AA0.rodata.s +++ /dev/null @@ -1,120 +0,0 @@ -.include "macros.inc" - -.macro .aligned_text ascii - .asciz "\ascii" - .balign 4 -.endm - -.section .rodata - -.aligned_text "Camera Error: Illegal mode!\n" -.aligned_text "Camera Error: Illegal player no!\n" -.aligned_text "cameraPushSprMtx: model stack overflow!!\n" -.aligned_text "\nCam do 2D sprite called with NULL pointer!" -.aligned_text "CamDo2DSprite FrameNo Overflow !!!\n" -.aligned_text "cameraPushModelMtx: model stack overflow!!\n" -.aligned_text "camPushModelMtx: bsp stack overflow!!\n" -.aligned_text "camPopModelMtx: model stack negative overflow!!\n" -.aligned_text "camPopModelMtx: bsp stack negative overflow!!\n" - -glabel D_800E7078 -.aligned_text "%x." - -glabel D_800E707C -.aligned_text "%x " - -glabel D_800E7084 -.aligned_text "\n" - -glabel D_800E7088 -.aligned_text "\n" - -glabel D_800E708C -.aligned_text "%f " - -glabel D_800E7094 -.aligned_text "\n" - -glabel D_800E7098 -.aligned_text "\n" - -glabel D_800E709C -.word 0x466A6000 - -glabel D_800E70A0 -.word 0x466A6000 - -glabel D_800E70A4 -.word 0x466A6000 -.word 0x00000000 -.word 0x00000000 - -.aligned_text "LOADLEVEL Error: Level out of range\n" -.aligned_text "BossLev problem\n" -.aligned_text "AITABLE Error: Table out of range\n" -.aligned_text "1.1605" -.aligned_text "02/10/97 16:03" -.aligned_text "pmountain" - -glabel D_800E7134 -.aligned_text "BBB\n" - -.aligned_text "CAR" -.aligned_text "HOV" -.aligned_text "PLN" -.aligned_text "Swapping\n" - -glabel D_800E7154 -.word 0x8006CF68 -.word 0x8006CF5C -.word 0x8006D024 -.word 0x8006CF80 -.word 0x8006CF9C -.word 0x8006D024 -.word 0x8006D024 -.word 0x8006CFB0 -.word 0x8006CFC4 -.word 0x8006CFD8 -.word 0x8006CFEC -.word 0x8006D000 -.word 0x8006D014 - -glabel D_800E7188 -.word 0x8006D0B8 -.word 0x8006D0C4 -.word 0x8006D108 -.word 0x8006D19C -.word 0x8006D14C -.word 0x8006D17C -.word 0x8006D188 -.word 0x8006D1C0 -.word 0x8006D1C0 -.word 0x8006D1C0 -.word 0x8006D1C0 -.word 0x8006D164 - -glabel D_800E71B8 -.word 0x8006D5FC -.word 0x8006D614 -.word 0x8006D62C -.word 0x8006D644 -.word 0x8006D65C -.word 0x8006D674 -.word 0x8006D6D4 -.word 0x8006D6F4 -.word 0x8006DF70 -.word 0x8006E00C -.word 0x8006E054 -.word 0x8006E0E0 - -glabel D_800E71D8 -.word 0x8006DEE8 -.word 0x8006E0E0 -.word 0x8006E0E0 -.word 0x8006E0E0 -.word 0x8006E0E0 -.word 0x8006E0E0 -.word 0x8006E0E0 -.word 0x8006E0E0 -.word 0x8006E0E0 -.word 0x8006DF00 diff --git a/data/unknown_09F8F0.rodata.s b/data/unknown_09F8F0.rodata.s deleted file mode 100644 index 0172cdaa..00000000 --- a/data/unknown_09F8F0.rodata.s +++ /dev/null @@ -1,224 +0,0 @@ -.include "macros.inc" - -.macro .aligned_text ascii - .asciz "\ascii" - .balign 4 -.endm - -.section .rodata - -# glabel D_800E8640 -# .aligned_text "CAN'T" -# -# glabel D_800E8648 -# .aligned_text "SAVE" -# -# glabel D_800E8650 -# .aligned_text "GHOST" -# -# glabel D_800E8658 -# .aligned_text " CONTROLLER" -# -# glabel D_800E8664 -# .aligned_text "PAK" -# -# glabel D_800E8668 -# .aligned_text "FULL" -# -# glabel D_800E8670 -# .aligned_text " CONTROLLER" -# -# glabel D_800E867C -# .aligned_text "PAK" -# -# glabel D_800E8680 -# .aligned_text "DAMAGED" -# -# glabel D_800E8688 -# .aligned_text "RACE" -# -# glabel D_800E8690 -# .aligned_text "LAP" -# -# glabel D_800E8694 -# .aligned_text "DID NOT FINISH" -# -# .word 0x00000000 -# -# glabel D_800E86A8 -# .word 0x3FE33333 -# -# glabel D_800E86AC -# .word 0x33333333 -# .word 0x3FF33333 -# .word 0x33333333 -# -# glabel D_800E86B8 -# .word 0x43838000 -# -# glabel D_800E86BC -# .word 0x43818000 -# -# glabel D_800E86C0 -# .word 0x43848000 # 265.0f -# .word 0x00000000 -# .word 0x3FF33333 # 1.2 -# .word 0x33333333 -# .word 0x3FE33333 # 0.6 -# .word 0x33333333 -# .word 0x3FF33333 # 1.2 -# .word 0x33333333 -# .word 0x3FE33333 # 0.6 -# .word 0x33333333 -# -# glabel D_800E86E8 -# .word 0x3FF33333 # 1.2 -# -# glabel D_800E86EC -# .word 0x33333333 -# -# glabel D_800E86F0 -# .word 0x3FE33333 # 0.6 -# -# glabel D_800E86F4 -# .word 0x33333333 -# -# glabel D_800E86F8 -# .word 0x800A0F28 -# .word 0x800A0F38 -# .word 0x800A0F48 -# .word 0x800A0F58 -# .word 0x800A0F6C -# .word 0x800A0F80 -# .word 0x800A0F94 -# .word 0x800A0FAC -# -# glabel D_800E8718 -# .word 0x43898000 # 275.0f -# .word 0x00000000 -# -# glabel D_800E8720 -# .word 0x40508000 # 66.0 -# -# glabel D_800E8724 -# .word 0x00000000 -# -# glabel D_800E8728 -# .word 0x40508000 # 66.0 -# -# glabel D_800E872C -# .word 0x00000000 -# -# glabel D_800E8730 -# .word 0x40508000 # 66.0 -# -# glabel D_800E8734 -# .word 0x00000000 -# -# glabel D_800E8738 -# .word 0x3FF33333 # 1.2 -# -# glabel D_800E873C -# .word 0x33333333 -# -# glabel D_800E8740 -# .word 0x46C92000 # 25744.0f -# -# glabel D_800E8744 -# .word 0x800A63D8 -# .word 0x800A691C -# .word 0x800A6BCC -# .word 0x800A6CA4 -# .word 0x800A6D68 -# -# glabel D_800E8758 -# .word 0x3FF19999 # 1.1 -# -# glabel D_800E875C -# .word 0x9999999A -# -# glabel D_800E8760 -# .word 0x3FF19999 # 1.1 -# -# glabel D_800E8764 -# .word 0x9999999A -# -# glabel D_800E8768 -# .word 0x800A6E70 -# .word 0x800A6F3C -# .word 0x800A7014 -# .word 0x800A70D4 -# .word 0x800A7158 -# .word 0x00000000 -# -# glabel D_800E8780 -# .word 0x3FA7FF58 # 0.04687 -# -# glabel D_800E8784 -# .word 0x3A53B8E5 -# -# glabel D_800E8788 -# .word 0x40855544 # 682.6583 -# -# glabel D_800E878C -# .word 0x32CA57A8 -# -# glabel D_800E8790 -# .word 0x3FC70A3D # 0.18 -# -# glabel D_800E8794 -# .word 0x70A3D70A -# -# glabel D_800E8798 -# .word 0x3FA7FF58 # 0.04687 -# -# glabel D_800E879C -# .word 0x3A53B8E5 -# -# glabel D_800E87A0 -# .word 0x3FF19999 # 1.1 -# -# glabel D_800E87A4 -# .word 0x9999999A -# -# glabel D_800E87A8 -# .word 0x43358000 # 181.5f -# .word 0x00000000 -# .word 0x40508000 # 66.0 -# .word 0x00000000 -# -# glabel D_800E87B8 -# .word 0x40508000 # 66.0 -# -# glabel D_800E87BC -# .word 0x00000000 -# -# glabel D_800E87C0 -# .word 0x3FF19999 # 1.1 -# -# glabel D_800E87C4 -# .word 0x9999999A -# -# glabel D_800E87C8 -# .word 0x3FF33333 # 1.2 -# -# glabel D_800E87CC -# .word 0x33333333 -# -# glabel D_800E87D0 -# .word 0x3F4CCCCD # 0.8f -# -# glabel D_800E87D4 -# .word 0x3F99999A # 1.2f -# -# glabel D_800E87D8 -# .word 0x3F8CCCCD # 1.1f -# .word 0x00000000 -# -# glabel D_800E87E0 -# .word 0x3FF19999 # 1.1 -# -# glabel D_800E87E4 -# .word 0x9999999A -# .word 0x00000000 -# .word 0x00000000 diff --git a/src/unknown_066AA0.c b/src/unknown_066AA0.c index b5de06be..a216afb4 100644 --- a/src/unknown_066AA0.c +++ b/src/unknown_066AA0.c @@ -8,6 +8,78 @@ extern u32 osTvType; +/************ .rodata ************/ + +const char D_800E6F00[] = "Camera Error: Illegal mode!\n"; +const char D_800E6F20[] = "Camera Error: Illegal player no!\n"; +const char D_800E6F34[] = "cameraPushSprMtx: model stack overflow!!\n"; +const char D_800E6F70[] = "\nCam do 2D sprite called with NULL pointer!"; +const char D_800E6F9C[] = "CamDo2DSprite FrameNo Overflow !!!\n"; +const char D_800E6FC0[] = "cameraPushModelMtx: model stack overflow!!\n"; +const char D_800E6FEC[] = "camPushModelMtx: bsp stack overflow!!\n"; +const char D_800E7010[] = "camPopModelMtx: model stack negative overflow!!\n"; +const char D_800E7048[] = "camPopModelMtx: bsp stack negative overflow!!\n"; + +const char D_800E7078[] = "%x."; +const char D_800E707C[] = "%x "; +const char D_800E7084[] = "\n"; +const char D_800E7088[] = "\n"; +const char D_800E708C[] = "%f "; +const char D_800E7094[] = "\n"; +const char D_800E7098[] = "\n"; + +const FloatLiteral D_800E709C = { 15000.0f }; +const FloatLiteral D_800E70A0 = { 15000.0f }; +const FloatLiteral D_800E70A4 = { 15000.0f }; + +// This is probably a file boundary. +const DoubleLiteral D_800E70A8 = { 0.0 }; + +const char D_800E70B0[] = "LOADLEVEL Error: Level out of range\n"; +const char D_800E70D8[] = "BossLev problem\n"; +const char D_800E70EC[] = "AITABLE Error: Table out of range\n"; +const char D_800E7110[] = "1.1605"; +const char D_800E7118[] = "02/10/97 16:03"; +const char D_800E7128[] = "pmountain"; + +const char D_800E7134[] = "BBB\n"; +const char D_800E713C[] = "CAR"; +const char D_800E7140[] = "HOV"; +const char D_800E7144[] = "PLN"; +const char D_800E7148[] = "Swapping\n"; + +// Jump table in func_8006CCF0 +const u32 D_800E7154[] = { + 0x8006CF68, 0x8006CF5C, 0x8006D024, 0x8006CF80, + 0x8006CF9C, 0x8006D024, 0x8006D024, 0x8006CFB0, + 0x8006CFC4, 0x8006CFD8, 0x8006CFEC, 0x8006D000, + 0x8006D014 +}; + +// Jump table in func_8006CCF0 +const u32 D_800E7188[] = { + 0x8006D0B8, 0x8006D0C4, 0x8006D108, 0x8006D19C, + 0x8006D14C, 0x8006D17C, 0x8006D188, 0x8006D1C0, + 0x8006D1C0, 0x8006D1C0, 0x8006D1C0, 0x8006D164 +}; + +// Jump table in func_8006CCF0 +const u32 D_800E71B8[] = { + 0x8006D5FC, 0x8006D614, 0x8006D62C, 0x8006D644, + 0x8006D65C, 0x8006D674, 0x8006D6D4, 0x8006D6F4, + 0x8006DF70, 0x8006E00C, 0x8006E054, 0x8006E0E0 +}; + +// Jump table in func_8006DCF8 +const u32 D_800E71D8[] = { + 0x8006DEE8, 0x8006E0E0, 0x8006E0E0, 0x8006E0E0, + 0x8006E0E0, 0x8006E0E0, 0x8006E0E0, 0x8006E0E0, + 0x8006E0E0, 0x8006DF00 +}; + + +/*********************************/ + /************ .data ************/ s32 D_800DD060 = 0; // Currently unknown, might be a different type. @@ -145,10 +217,10 @@ s16 D_800DD32C = 0; s8 D_800DD330 = 0; -// Unused? Unsure on pointer type -s32 *D_800DD334[6] = { +// Unused? +char *D_800DD334[6] = { NULL, NULL, NULL, // These also could just be regular zeroes and not pointers. - 0x800E7110, 0x800E7118, 0x800E7128 + D_800E7110, D_800E7118, D_800E7128 }; // Unused? @@ -195,9 +267,9 @@ s32 D_800DD404 = 12; s32 D_800DD408 = 0x00FFFFFF; s32 D_800DD40C = 0x001EFFFF; // Unused? -// Unused? Unsure on pointer type -s32 *D_800DD410[3] = { - 0x800E713C, 0x800E7140, 0x800E7144 +// Unused? +char *D_800DD410[3] = { + D_800E713C, D_800E7140, D_800E7144 }; // Not sure if this is an array or a struct. @@ -208,16 +280,10 @@ s32 D_800DD41C[2] = { s32 D_800DD424[2] = { 0, 0x0104FFFF }; - -/*******************************/ - extern s32 D_800DFD94; /*******************************/ -extern f32 D_800E70A0; -extern f32 D_800E70A4; - /* Size: 0x44 bytes */ typedef struct unk80120AC0 { s16 unk0; @@ -375,13 +441,13 @@ f32 func_800660DC(void) { void func_800660EC(f32 arg0) { if (0.0f < arg0 && arg0 < 90.0f && arg0 != D_80120D10) { D_80120D10 = arg0; - guPerspectiveF(&D_80120EE0, &D_80120D6C, arg0, 1.33333333f, 10.0f, D_800E70A0, 1.0f); + guPerspectiveF(&D_80120EE0, &D_80120D6C, arg0, 1.33333333f, 10.0f, D_800E70A0.floatLiteral, 1.0f); func_8006F870(&D_80120EE0, &D_80120FE0); } } void func_80066194(void) { - guPerspectiveF(&D_80120EE0, &D_80120D6C, 60.0f, 1.33333333f, 10.0f, D_800E70A4, 1.0f); + guPerspectiveF(&D_80120EE0, &D_80120D6C, 60.0f, 1.33333333f, 10.0f, D_800E70A4.floatLiteral, 1.0f); func_8006F870(&D_80120EE0, &D_80120FE0); }