From 4fa3e8e3fb2eca5c06050669580d33e0bb9cad49 Mon Sep 17 00:00:00 2001 From: David Benepe Date: Sat, 29 May 2021 18:29:03 -0500 Subject: [PATCH 01/27] Moved .rodata in unknown_005740 from asm to C. --- data/unknown_005740.rodata.s | 234 ----------------------------------- src/unknown_005740.c | 62 ++++++++++ 2 files changed, 62 insertions(+), 234 deletions(-) delete mode 100644 data/unknown_005740.rodata.s diff --git a/data/unknown_005740.rodata.s b/data/unknown_005740.rodata.s deleted file mode 100644 index c54f28c9..00000000 --- a/data/unknown_005740.rodata.s +++ /dev/null @@ -1,234 +0,0 @@ -.include "macros.inc" - -.macro .aligned_text ascii - .asciz "\ascii" - .balign 4 -.endm - -.section .rodata - -glabel D_800E4BF0 -.word 0x461C4000 -.word 0x00000000 - -glabel D_800E4BF8 -.word 0x3FD99999 - -glabel D_800E4BFC -.word 0x9999999A - -glabel D_800E4C00 -.word 0x461C4000 -.word 0x00000000 - -glabel D_800E4C08 -.word 0x3FA99999 - -glabel D_800E4C0C -.word 0x9999999A - -glabel D_800E4C10 -.word 0x3FEE6666 - -glabel D_800E4C14 -.word 0x66666666 - -glabel D_800E4C18 -.word 0x3FC0A3D7 - -glabel D_800E4C1C -.word 0x0A3D70A4 - -glabel D_800E4C20 -.word 0x3FD33333 - -glabel D_800E4C24 -.word 0x33333333 - -glabel D_800E4C28 -.word 0x3F947AE1 - -glabel D_800E4C2C -.word 0x47AE147B - -glabel D_800E4C30 -.word 0x3F847AE1 - -glabel D_800E4C34 -.word 0x47AE147B - -glabel D_800E4C38 -.word 0x3ECCCCCD -.word 0x00000000 - -glabel D_800E4C40 -.word 0x3F747AE1 - -glabel D_800E4C44 -.word 0x47AE147B - -glabel D_800E4C48 -.word 0xBFB99999 - -glabel D_800E4C4C -.word 0x9999999A - -glabel D_800E4C50 -.word 0x3FA99999 - -glabel D_800E4C54 -.word 0x9999999A - -glabel D_800E4C58 -.word 0x3FEE6666 - -glabel D_800E4C5C -.word 0x66666666 - -glabel D_800E4C60 -.word 0x3FD33333 - -glabel D_800E4C64 -.word 0x33333333 - -glabel D_800E4C68 -.word 0x401A36AE - -glabel D_800E4C6C -.word 0x7D566CF4 - -glabel D_800E4C70 -.word 0x40D1B574 - -glabel D_800E4C74 -.word 0x461C4000 - -glabel D_800E4C78 -.word 0x461C4000 -.word 0x00000000 - -glabel D_800E4C80 -.word 0x3FA99999 - -glabel D_800E4C84 -.word 0x9999999A - -glabel D_800E4C88 -.word 0x3FEE6666 - -glabel D_800E4C8C -.word 0x66666666 - -glabel D_800E4C90 -.word 0x401A36AE - -glabel D_800E4C94 -.word 0x7D566CF4 - -glabel D_800E4C98 -.word 0x40D1B574 -.word 0x00000000 - -glabel D_800E4CA0 -.word 0x409B0CEF - -glabel D_800E4CA4 -.word 0xA82E87D3 - -glabel D_800E4CA8 -.word 0x3FE99999 - -glabel D_800E4CAC -.word 0x9999999A - -glabel D_800E4CB0 -.word 0x3F4CCCCD -.word 0x00000000 - -glabel D_800E4CB8 -.word 0xBFE99999 - -glabel D_800E4CBC -.word 0x9999999A - -glabel D_800E4CC0 -.word 0xBF4CCCCD - -glabel D_800E4CC4 -.word 0x4A095440 - -glabel D_800E4CC8 -.word 0x3FA99999 - -glabel D_800E4CCC -.word 0x9999999A - -glabel D_800E4CD0 -.word 0x44BB8000 - -glabel D_800E4CD4 -.word 0x3D4CCCCD - -glabel D_800E4CD8 -.word 0x3FA99999 - -glabel D_800E4CDC -.word 0x9999999A - -glabel D_800E4CE0 -.word 0x4A095440 -.word 0x00000000 - -glabel D_800E4CE8 -.word 0x3FE99999 - -glabel D_800E4CEC -.word 0x9999999A - -glabel D_800E4CF0 -.word 0x44BB8000 - -glabel D_800E4CF4 -.word 0x3D4CCCCD - -glabel D_800E4CF8 -.word 0x3F50624D - -glabel D_800E4CFC -.word 0xD2F1A9FC - -.aligned_text "OUT OF AUDIO POINTS\n" -.aligned_text "amAudioLineAddVertex: Exceeded maximum number of lines (%d)\n" -.aligned_text "amAudioLineAddVertex: Exceeded maximum number of line vertices (%d)\n" -.aligned_text "amReverbLineAddVertex: Exceeded maximum number of lines (%d)\n" -.aligned_text "amReverbLineAddVertex: Exceeded maximum number of line vertices (%d)\n" -.aligned_text "Audio line definition error (less than 2 vertices on line %d)\n" -.aligned_text "Audio line definition error (line=%d, vertex=%d)\n" -.aligned_text "Reverb line definition error (less than 2 vertices on line %d)\n" -.aligned_text "Reverb line definition error (line=%d, vertex=%d)\n" - -glabel D_800E4F10 -.word 0xC7C35000 - -glabel D_800E4F14 -.word 0x497423F0 - -glabel D_800E4F18 -.word 0xC0F86A00 - -glabel D_800E4F1C -.word 0x00000000 - -glabel D_800E4F20 -.word 0xC0F86A00 - -glabel D_800E4F24 -.word 0x00000000 -.word 0x00000000 -.word 0x00000000 - -.aligned_text "Exceeded voice limit of %d (%d)\n" - -.word 0x00000000 -.word 0x00000000 -.word 0x00000000 diff --git a/src/unknown_005740.c b/src/unknown_005740.c index 94aecce3..d9026334 100644 --- a/src/unknown_005740.c +++ b/src/unknown_005740.c @@ -14,6 +14,68 @@ s32 D_800DC6E0 = 0; // Currently unknown, might be a different type. /*******************************/ +/************ .rodata ************/ + +const FloatLiteral D_800E4BF0 = { 10000.0f }; +const DoubleLiteral D_800E4BF8 = { 0.4 }; +const FloatLiteral D_800E4C00 = { 10000.0f }; +const DoubleLiteral D_800E4C08 = { 0.05 }; +const DoubleLiteral D_800E4C10 = { 0.95 }; +const DoubleLiteral D_800E4C18 = { 0.13 }; +const DoubleLiteral D_800E4C20 = { 0.3 }; +const DoubleLiteral D_800E4C28 = { 0.02 }; +const DoubleLiteral D_800E4C30 = { 0.01 }; +const FloatLiteral D_800E4C38 = { 0.4f }; +const DoubleLiteral D_800E4C40 = { 0.005 }; +const DoubleLiteral D_800E4C48 = { -0.1 }; +const DoubleLiteral D_800E4C50 = { 0.05 }; +const DoubleLiteral D_800E4C58 = { 0.95 }; +const DoubleLiteral D_800E4C60 = { 0.3 }; +const DoubleLiteral D_800E4C68 = { 6.5534 }; +const FloatLiteral D_800E4C70 = { 6.5534f }; +const FloatLiteral D_800E4C74 = { 10000.0f }; +const FloatLiteral D_800E4C78 = { 10000.0f }; +const DoubleLiteral D_800E4C80 = { 0.05 }; +const DoubleLiteral D_800E4C88 = { 0.95 }; +const DoubleLiteral D_800E4C90 = { 6.5534 }; +const FloatLiteral D_800E4C98 = { 6.5534f }; +const DoubleLiteral D_800E4CA0 = { 1731.23404 }; +const DoubleLiteral D_800E4CA8 = { 0.8 }; +const FloatLiteral D_800E4CB0 = { 0.8f }; +const DoubleLiteral D_800E4CB8 = { -0.8 }; +const FloatLiteral D_800E4CC0 = { -0.8f }; +const FloatLiteral D_800E4CC4 = { 2250000.0f }; +const DoubleLiteral D_800E4CC8 = { 0.05 }; +const FloatLiteral D_800E4CD0 = { 1500.0f }; +const FloatLiteral D_800E4CD4 = { 0.05f }; +const DoubleLiteral D_800E4CD8 = { 0.05 }; +const FloatLiteral D_800E4CE0 = { 2250000.0f }; +const DoubleLiteral D_800E4CE8 = { 0.8 }; +const FloatLiteral D_800E4CF0 = { 1500.0f }; +const FloatLiteral D_800E4CF4 = { 0.05f }; +const DoubleLiteral D_800E4CF8 = { 0.001 }; + +const char D_800E4D00[] = "OUT OF AUDIO POINTS\n"; +const char D_800E4D18[] = "amAudioLineAddVertex: Exceeded maximum number of lines (%d)\n"; +const char D_800E4D58[] = "amAudioLineAddVertex: Exceeded maximum number of line vertices (%d)\n"; +const char D_800E4DA0[] = "amReverbLineAddVertex: Exceeded maximum number of lines (%d)\n"; +const char D_800E4DE0[] = "amReverbLineAddVertex: Exceeded maximum number of line vertices (%d)\n"; +const char D_800E4E28[] = "Audio line definition error (less than 2 vertices on line %d)\n"; +const char D_800E4E68[] = "Audio line definition error (line=%d, vertex=%d)\n"; +const char D_800E4E9C[] = "Reverb line definition error (less than 2 vertices on line %d)\n"; +const char D_800E4EDC[] = "Reverb line definition error (line=%d, vertex=%d)\n"; + +const FloatLiteral D_800E4F10 = { -100000.0f }; +const FloatLiteral D_800E4F14 = { 999999.0f }; +const DoubleLiteral D_800E4F18 = { -100000.0 }; +const DoubleLiteral D_800E4F20 = { -100000.0 }; + +const u32 filePadding[2] = { 0, 0 }; // unknown_005740 needs to be split. + +const char D_800E4F30[] = "Exceeded voice limit of %d (%d)\n"; + +/*******************************/ + /************ .bss ************/ extern s8 D_8011AC18; From 9e9019e21a40db8f8831899aa31eb3738f542849 Mon Sep 17 00:00:00 2001 From: David Benepe Date: Sat, 29 May 2021 20:41:43 -0500 Subject: [PATCH 02/27] Moved .rodata in unknown_00BC20 from asm to C. --- data/unknown_00BC20.rodata.s | 1028 ---------------------------------- src/unknown_00BC20.c | 307 +++++++++- 2 files changed, 304 insertions(+), 1031 deletions(-) delete mode 100644 data/unknown_00BC20.rodata.s diff --git a/data/unknown_00BC20.rodata.s b/data/unknown_00BC20.rodata.s deleted file mode 100644 index f5350d75..00000000 --- a/data/unknown_00BC20.rodata.s +++ /dev/null @@ -1,1028 +0,0 @@ -.include "macros.inc" - -.macro .aligned_text ascii - .asciz "\ascii" - .balign 4 -.endm - -.section .rodata - -.aligned_text "Objects out of ram(1) !!\n" -.aligned_text "Door numbering error %d!!\n" -.aligned_text "objGetScope: Unknown scope for object %d\n" -.aligned_text "ObjList (Part) Overflow %d!!!\n" -.aligned_text "ObjSetupObject(1) Memory fail!!\n" -.aligned_text "ObjSetupObject(2) Memory fail!!\n" -.aligned_text "ObjSetupObject(5) Memory fail!!\n" -.aligned_text "ObjSetupObject(6) Memory fail!!\n" -.aligned_text "ObjSetupObject(3) Memory fail!!\n" -.aligned_text "ObjList Overflow %d!!!\n" -.aligned_text "ObjSetupObject(4) Memory fail!!\n" - -glabel D_800E50D4 -.aligned_text "Error: Multiple checkpoint no: %d !!\n" -.aligned_text "ERROR Channel %d\n" -.aligned_text "RO error %d!!\n" -.aligned_text "ARGHHHHHHHHH\n" - -glabel D_800E5130 -.word 0x3F8B851F - -glabel D_800E5134 -.word 0x3F970A3D - -glabel D_800E5138 -.word 0x3F99999A - -glabel D_800E513C -.word 0x4019999A - -glabel D_800E5140 -.word 0x4099999A - -glabel D_800E5144 -.word 0x3D4CCCCD - -glabel D_800E5148 -.word 0x3DCCCCCD - -glabel D_800E514C -.word 0x3F2B851F - -glabel D_800E5150 -.word 0x3EA8F5C3 - -glabel D_800E5154 -.word 0x8000D974 -.word 0x8000D974 -.word 0x8000D974 -.word 0x8000D974 -.word 0x8000D974 -.word 0x8000D98C -.word 0x8000D974 -.word 0x8000D974 -.word 0x8000D974 - -glabel D_800E5178 -.word 0x3C23D70A - -glabel D_800E517C -.word 0x3C23D70A - -glabel D_800E5180 -.word 0x3FB33333 - -glabel D_800E5184 -.word 0x3F36C8B4 - -glabel D_800E5188 -.word 0x8000E104 -.word 0x8000E0E4 -.word 0x8000E0F4 -.word 0x8000E0F4 -.word 0x8000E0FC -.word 0x8000E104 -.word 0x8000E0FC -.word 0x8000E0EC -.word 0x8000E104 - -glabel D_800E51AC -.word 0x3FB33333 - -glabel D_800E51B0 -.word 0x3F36C8B4 - -glabel D_800E51B4 -.word 0x8000ECD8 -.word 0x8000EDE0 -.word 0x8000EDE0 -.word 0x8000EDE0 -.word 0x8000EDE0 -.word 0x8000EDE0 -.word 0x8000EDE0 -.word 0x8000EDE0 -.word 0x8000EDE0 -.word 0x8000EDE0 -.word 0x8000EDE0 -.word 0x8000EDE0 -.word 0x8000EDE0 -.word 0x8000EDE0 -.word 0x8000EDE0 -.word 0x8000ED98 -.word 0x8000EDE0 -.word 0x8000EDE0 -.word 0x8000EDE0 -.word 0x8000EDE0 -.word 0x8000EDE0 -.word 0x8000EDE0 -.word 0x8000EDE0 -.word 0x8000EDE0 -.word 0x8000ECF4 -.word 0x8000EDE0 -.word 0x8000EDE0 -.word 0x8000EDE0 -.word 0x8000EDE0 -.word 0x8000ED10 -.word 0x8000EDE0 -.word 0x8000EDE0 -.word 0x8000EDE0 -.word 0x8000ED40 -.word 0x8000EDE0 -.word 0x8000EDE0 -.word 0x8000EDE0 -.word 0x8000EDE0 -.word 0x8000ED54 - -glabel D_800E5250 -.word 0x80010374 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x80010400 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x80010400 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800104C0 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105A8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105D0 -.word 0x800105E4 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800104D8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800104AC -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105A8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x80010508 -.word 0x800105F8 -.word 0x80010374 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x8001047C -.word 0x8001047C -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x8001047C -.word 0x8001047C -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x800105F8 -.word 0x8001044C - -glabel D_800E5420 -.word 0x8001063C -.word 0x8001063C -.word 0x80010664 -.word 0x8001063C -.word 0x8001063C -.word 0x80010664 -.word 0x8001063C -.word 0x80010664 -.word 0x80010664 -.word 0x80010664 -.word 0x80010664 -.word 0x80010664 -.word 0x80010664 -.word 0x80010664 -.word 0x80010664 -.word 0x80010664 -.word 0x80010664 -.word 0x80010664 -.word 0x80010664 -.word 0x80010664 -.word 0x8001063C -.word 0x80010664 -.word 0x8001063C -.word 0x80010664 -.word 0x80010664 -.word 0x80010664 -.word 0x80010664 -.word 0x80010664 -.word 0x80010664 -.word 0x80010664 -.word 0x8001063C -.word 0x8001063C -.word 0x80010664 -.word 0x80010664 -.word 0x8001063C -.word 0x8001063C -.word 0x8001063C -.word 0x80010664 -.word 0x80010664 -.word 0x80010664 -.word 0x80010664 -.word 0x80010664 -.word 0x80010664 -.word 0x80010664 -.word 0x80010664 -.word 0x80010664 -.word 0x8001063C -.word 0x8001063C -.word 0x80010664 -.word 0x80010664 -.word 0x80010664 -.word 0x8001063C -.word 0x8001063C -.word 0x8001063C -.word 0x8001063C -.word 0x80010664 -.word 0x80010664 -.word 0x80010664 -.word 0x80010664 -.word 0x80010664 -.word 0x80010664 -.word 0x80010664 -.word 0x80010664 -.word 0x8001063C -.word 0x80010664 -.word 0x8001063C -.word 0x80010664 -.word 0x80010664 -.word 0x80010664 -.word 0x8001063C - -glabel D_800E5538 -.word 0x408F4000 - -glabel D_800E553C -.word 0x00000000 - -glabel D_800E5540 -.word 0x40A77000 - -glabel D_800E5544 -.word 0x00000000 - -glabel D_800E5548 -.word 0x407F4000 - -glabel D_800E554C -.word 0x00000000 - -glabel D_800E5550 -.word 0x3C23D70A - -glabel D_800E5554 -.word 0x3E4CCCCD - -glabel D_800E5558 -.word 0x3D4CCCCD - -glabel D_800E555C -.word 0x455AC000 - -glabel D_800E5560 -.word 0x4528C000 - -glabel D_800E5564 -.word 0x3F19999A - -glabel D_800E5568 -.word 0x3F933333 - -glabel D_800E556C -.word 0x3D4CCCCD - -glabel D_800E5570 -.word 0x3F733333 -.word 0x00000000 - -glabel D_800E5578 -.word 0x3FB99999 - -glabel D_800E557C -.word 0x9999999A - -glabel D_800E5580 -.word 0x3CA3D70A - -glabel D_800E5584 -.word 0x3F7AE148 - -glabel D_800E5588 -.word 0x80014B80 -.word 0x80014CCC -.word 0x80014E18 -.word 0x80015340 -.word 0x80015340 -.word 0x80015340 -.word 0x80015340 -.word 0x80015340 -.word 0x80014F64 -.word 0x800150B0 -.word 0x800151FC -.word 0x00000000 - -glabel D_800E55B8 -.word 0x3FD33333 - -glabel D_800E55BC -.word 0x33333333 - -glabel D_800E55C0 -.word 0x3FD33333 - -glabel D_800E55C4 -.word 0x33333333 - -glabel D_800E55C8 -.word 0x3FE99999 - -glabel D_800E55CC -.word 0x9999999A - -glabel D_800E55D0 -.word 0x3FB99999 - -glabel D_800E55D4 -.word 0x9999999A - -glabel D_800E55D8 -.word 0x3FB99999 - -glabel D_800E55DC -.word 0x9999999A - -glabel D_800E55E0 -.word 0x3FD33333 - -glabel D_800E55E4 -.word 0x33333333 - -glabel D_800E55E8 -.word 0x3FD33333 - -glabel D_800E55EC -.word 0x33333333 - -glabel D_800E55F0 -.word 0x3FB99999 - -glabel D_800E55F4 -.word 0x9999999A - -glabel D_800E55F8 -.word 0x3FD33333 - -glabel D_800E55FC -.word 0x33333333 - -glabel D_800E5600 -.word 0x3FB99999 - -glabel D_800E5604 -.word 0x9999999A - -glabel D_800E5608 -.word 0xBFB99999 - -glabel D_800E560C -.word 0x9999999A - -glabel D_800E5610 -.word 0xBFB99999 - -glabel D_800E5614 -.word 0x9999999A - -glabel D_800E5618 -.word 0x3FE69FBE - -glabel D_800E561C -.word 0x76C8B439 - -glabel D_800E5620 -.word 0xBFD33333 - -glabel D_800E5624 -.word 0x33333333 - -glabel D_800E5628 -.word 0x3FF4CCCC - -glabel D_800E562C -.word 0xCCCCCCCD - -glabel D_800E5630 -.word 0x407F4000 - -glabel D_800E5634 -.word 0x00000000 - -glabel D_800E5638 -.word 0xC69C4000 - -glabel D_800E563C -.word 0xC61C4000 - -glabel D_800E5640 -.word 0xC69C4000 - -glabel D_800E5644 -.word 0x47435000 - -glabel D_800E5648 -.word 0x3FF33333 - -glabel D_800E564C -.word 0x33333333 - -glabel D_800E5650 -.word 0x3C23D70A -.word 0x00000000 - -glabel D_800E5658 -.word 0x406FE000 - -glabel D_800E565C -.word 0x00000000 - -glabel D_800E5660 -.word 0x3FFEB852 -.word 0x00000000 - -glabel D_800E5668 -.word 0x3FB99999 - -glabel D_800E566C -.word 0x9999999A - -glabel D_800E5670 -.word 0x3FF33333 - -glabel D_800E5674 -.word 0x33333333 - -glabel D_800E5678 -.word 0x3C23D70A -.word 0x00000000 - -glabel D_800E5680 -.word 0x3FB99999 - -glabel D_800E5684 -.word 0x9999999A - -glabel D_800E5688 -.word 0x80023614 -.word 0x800238A8 -.word 0x80023808 -.word 0x80023650 -.word 0x800236DC -.word 0x800238A8 -.word 0x8002363C -.word 0x80023664 -.word 0x80023678 -.word 0x800238A8 -.word 0x800238A8 -.word 0x80023790 -.word 0x800238A8 -.word 0x80023628 -.word 0x800238A8 -.word 0x8002368C -.word 0x800236F0 -.word 0x800236DC -.word 0x80023678 -.word 0x800238A8 -.word 0x800238A8 -.word 0x800238A8 -.word 0x800238A8 -.word 0x800238A8 -.word 0x800238A8 -.word 0x800238A8 -.word 0x800236B4 -.word 0x800238A8 -.word 0x800236C8 -.word 0x800236A0 -.word 0x80023754 -.word 0x80023704 -.word 0x800238A8 -.word 0x800238A8 -.word 0x800238A8 -.word 0x800238A8 -.word 0x800238A8 -.word 0x80023718 -.word 0x800238A8 -.word 0x8002372C -.word 0x800236A0 -.word 0x800238A8 -.word 0x800238A8 -.word 0x800238A8 -.word 0x80023740 -.word 0x800238A8 -.word 0x80023830 -.word 0x800238A8 -.word 0x800238A8 -.word 0x80023790 -.word 0x80023790 -.word 0x800238A8 -.word 0x80023790 -.word 0x80023790 -.word 0x800236A0 -.word 0x80023790 -.word 0x800238A8 -.word 0x800238A8 -.word 0x800238A8 -.word 0x800238A8 -.word 0x800237E0 -.word 0x80023754 -.word 0x800238A8 -.word 0x800238A8 -.word 0x800238A8 -.word 0x800238A8 -.word 0x800238A8 -.word 0x800238A8 -.word 0x800238A8 -.word 0x80023790 -.word 0x800237A4 -.word 0x80023790 -.word 0x800238A8 -.word 0x8002386C -.word 0x800238A8 -.word 0x800238A8 -.word 0x80023754 -.word 0x800238A8 -.word 0x80023768 -.word 0x80023790 -.word 0x80023790 -.word 0x800238A8 -.word 0x8002377C -.word 0x80023790 -.word 0x80023790 -.word 0x80023790 -.word 0x800238A8 -.word 0x800238A8 -.word 0x800238A8 -.word 0x800238A8 -.word 0x800238A8 -.word 0x800238A8 -.word 0x800238A8 -.word 0x80023858 -.word 0x800238A8 -.word 0x80023790 -.word 0x80023790 -.word 0x800238A8 -.word 0x800238A8 -.word 0x800238A8 -.word 0x80023790 -.word 0x80023790 -.word 0x80023790 -.word 0x80023790 -.word 0x800238A8 -.word 0x800238A8 -.word 0x800238A8 -.word 0x800238A8 -.word 0x80023880 -.word 0x800238A8 -.word 0x80023628 -.word 0x800237B8 -.word 0x80023790 -.word 0x800238A8 -.word 0x80023790 -.word 0x80023894 -.word 0x800238A8 -.word 0x800237CC -.word 0x80023790 - -glabel D_800E5864 -.word 0x80023908 -.word 0x80023918 -.word 0x80023928 -.word 0x80023938 -.word 0x80023A78 -.word 0x80023948 -.word 0x80023978 -.word 0x80023988 -.word 0x80023998 -.word 0x800239B8 -.word 0x800239C8 -.word 0x800239D8 -.word 0x800239E8 -.word 0x80023A18 -.word 0x80023A38 -.word 0x80023A48 -.word 0x80023A58 -.word 0x80023A78 -.word 0x80023998 -.word 0x80023E20 -.word 0x80023E20 -.word 0x80023968 -.word 0x80023A68 -.word 0x80023E20 -.word 0x80023958 -.word 0x80023A88 -.word 0x800239A8 -.word 0x80023A98 -.word 0x80023AA8 -.word 0x800239F8 -.word 0x80023AB8 -.word 0x80023AC8 -.word 0x80023AD8 -.word 0x80023E20 -.word 0x80023E20 -.word 0x80023AE8 -.word 0x80023B08 -.word 0x80023B18 -.word 0x80023B28 -.word 0x80023B38 -.word 0x80023A08 -.word 0x80023E20 -.word 0x80023B48 -.word 0x80023B58 -.word 0x80023B68 -.word 0x80023B78 -.word 0x80023B88 -.word 0x80023E20 -.word 0x80023B98 -.word 0x80023E20 -.word 0x80023E20 -.word 0x80023BA8 -.word 0x80023E20 -.word 0x80023E20 -.word 0x80023BB8 -.word 0x80023E20 -.word 0x80023BC8 -.word 0x80023BD8 -.word 0x80023BE8 -.word 0x80023E20 -.word 0x80023BF8 -.word 0x80023C08 -.word 0x80023E20 -.word 0x80023C18 -.word 0x80023C28 -.word 0x80023C38 -.word 0x80023AF8 -.word 0x80023C48 -.word 0x80023C58 -.word 0x80023C68 -.word 0x80023CA8 -.word 0x80023C78 -.word 0x80023CD8 -.word 0x80023CE8 -.word 0x80023CF8 -.word 0x80023D08 -.word 0x80023D18 -.word 0x80023D28 -.word 0x80023D38 -.word 0x80023E20 -.word 0x80023E20 -.word 0x80023D48 -.word 0x80023D58 -.word 0x80023D68 -.word 0x80023E20 -.word 0x80023E20 -.word 0x80023E20 -.word 0x80023D88 -.word 0x80023D78 -.word 0x80023D98 -.word 0x80023E20 -.word 0x80023E20 -.word 0x80023BC8 -.word 0x80023DA8 -.word 0x80023C78 -.word 0x80023C88 -.word 0x80023C98 -.word 0x80023DB8 -.word 0x80023DC8 -.word 0x80023DC8 -.word 0x80023C88 -.word 0x80023C98 -.word 0x80023C68 -.word 0x80023C78 -.word 0x80023DD8 -.word 0x80023E20 -.word 0x80023E20 -.word 0x80023DE8 -.word 0x80023DF8 -.word 0x80023E08 -.word 0x80023A28 -.word 0x80023CB8 -.word 0x80023E20 -.word 0x80023E20 -.word 0x80023E20 -.word 0x80023DE8 -.word 0x80023E18 -.word 0x80023CC8 - -glabel D_800E5A3C -.word 0x80023E5C -.word 0x80023E64 -.word 0x80023F40 -.word 0x80023F40 -.word 0x80023E6C -.word 0x80023F40 -.word 0x80023F14 -.word 0x80023F40 -.word 0x80023F40 -.word 0x80023F40 -.word 0x80023F40 -.word 0x80023E74 -.word 0x80023F14 -.word 0x80023E7C -.word 0x80023F40 -.word 0x80023F40 -.word 0x80023E84 -.word 0x80023F14 -.word 0x80023F40 -.word 0x80023F40 -.word 0x80023F40 -.word 0x80023F40 -.word 0x80023F40 -.word 0x80023E9C -.word 0x80023F40 -.word 0x80023F14 -.word 0x80023F40 -.word 0x80023F40 -.word 0x80023F40 -.word 0x80023F14 -.word 0x80023EA4 -.word 0x80023EAC -.word 0x80023F40 -.word 0x80023F40 -.word 0x80023F40 -.word 0x80023F14 -.word 0x80023F40 -.word 0x80023EBC -.word 0x80023EC4 -.word 0x80023ECC -.word 0x80023F14 -.word 0x80023F40 -.word 0x80023F40 -.word 0x80023F40 -.word 0x80023ED4 -.word 0x80023F40 -.word 0x80023F40 -.word 0x80023EDC -.word 0x80023F24 -.word 0x80023EEC -.word 0x80023F24 -.word 0x80023F14 -.word 0x80023F40 -.word 0x80023EF4 -.word 0x80023F14 -.word 0x80023EEC -.word 0x80023F14 -.word 0x80023F40 -.word 0x80023F40 -.word 0x80023F40 -.word 0x80023F24 -.word 0x80023F2C -.word 0x80023EE4 -.word 0x80023EAC -.word 0x80023F40 -.word 0x80023F40 -.word 0x80023EB4 -.word 0x80023F14 -.word 0x80023F40 -.word 0x80023E8C -.word 0x80023F40 -.word 0x80023E8C -.word 0x80023F40 -.word 0x80023EFC -.word 0x80023F40 -.word 0x80023F40 -.word 0x80023E84 -.word 0x80023F14 -.word 0x80023F14 -.word 0x80023EEC -.word 0x80023F0C -.word 0x80023F1C -.word 0x80023F40 -.word 0x80023EEC -.word 0x80023F40 -.word 0x80023EEC -.word 0x80023F40 -.word 0x80023EAC -.word 0x80023F40 -.word 0x80023F40 -.word 0x80023F04 -.word 0x80023F40 -.word 0x80023F14 -.word 0x80023F40 -.word 0x80023EFC -.word 0x80023E8C -.word 0x80023E8C -.word 0x80023F14 -.word 0x80023EFC -.word 0x80023EFC -.word 0x80023E94 -.word 0x80023E94 -.word 0x80023E94 -.word 0x80023E94 -.word 0x80023F40 -.word 0x80023F40 -.word 0x80023F40 -.word 0x80023F14 -.word 0x80023F34 -.word 0x80023EAC -.word 0x80023E7C -.word 0x80023F40 -.word 0x80023F40 -.word 0x80023F3C -.word 0x80023EEC -.word 0x80023F14 - -glabel D_800E5C0C -.word 0x80023FA4 -.word 0x80023FB8 -.word 0x80023FCC -.word 0x80024108 -.word 0x80023FE0 -.word 0x8002401C -.word 0x80024570 -.word 0x80024570 -.word 0x80024030 -.word 0x80024044 -.word 0x80024058 -.word 0x8002406C -.word 0x800240A8 -.word 0x800240BC -.word 0x800240CC -.word 0x800240E0 -.word 0x80024108 -.word 0x80024570 -.word 0x80024570 -.word 0x80024570 -.word 0x80024008 -.word 0x800240F4 -.word 0x80024570 -.word 0x80023FF4 -.word 0x8002411C -.word 0x80024570 -.word 0x80024130 -.word 0x80024144 -.word 0x80024080 -.word 0x80024158 -.word 0x8002416C -.word 0x80024570 -.word 0x80024570 -.word 0x80024570 -.word 0x80024180 -.word 0x800241A8 -.word 0x800241BC -.word 0x800241D0 -.word 0x800241E4 -.word 0x80024094 -.word 0x80024570 -.word 0x80024570 -.word 0x80024570 -.word 0x800241F8 -.word 0x8002420C -.word 0x80024220 -.word 0x80024570 -.word 0x80024570 -.word 0x80024234 -.word 0x8002425C -.word 0x80024270 -.word 0x80024284 -.word 0x80024298 -.word 0x800242AC -.word 0x800242C0 -.word 0x800242D4 -.word 0x800242E8 -.word 0x80024570 -.word 0x800242FC -.word 0x8002430C -.word 0x80024320 -.word 0x80024570 -.word 0x80024334 -.word 0x80024348 -.word 0x8002435C -.word 0x80024194 -.word 0x80024370 -.word 0x80024384 -.word 0x80024398 -.word 0x80024570 -.word 0x80024398 -.word 0x800243C0 -.word 0x800243D4 -.word 0x800243E8 -.word 0x800243FC -.word 0x80024410 -.word 0x80024424 -.word 0x80024438 -.word 0x8002444C -.word 0x80024234 -.word 0x80024460 -.word 0x80024570 -.word 0x80024474 -.word 0x80024234 -.word 0x80024234 -.word 0x80024570 -.word 0x80024488 -.word 0x80024570 -.word 0x8002449C -.word 0x80024570 -.word 0x80024570 -.word 0x800242D4 -.word 0x800244B0 -.word 0x80024570 -.word 0x800243AC -.word 0x800243AC -.word 0x800244C4 -.word 0x80024570 -.word 0x800244EC -.word 0x800243AC -.word 0x800243AC -.word 0x80024398 -.word 0x80024398 -.word 0x800244D8 -.word 0x80024570 -.word 0x80024570 -.word 0x80024500 -.word 0x80024514 -.word 0x80024488 -.word 0x80024528 -.word 0x80024570 -.word 0x8002453C -.word 0x80024570 -.word 0x80024550 -.word 0x80024500 -.word 0x80024564 -.word 0x80024570 -.word 0x80024248 -.word 0x00000000 -.word 0x00000000 -.word 0x00000000 diff --git a/src/unknown_00BC20.c b/src/unknown_00BC20.c index 71c775ed..4322bf11 100644 --- a/src/unknown_00BC20.c +++ b/src/unknown_00BC20.c @@ -101,8 +101,309 @@ u16 D_800DC864 = 0x0028; /************ .rodata ************/ -extern f32 D_800E514C; -extern f32 D_800E5150; +const char D_800E4F60[] = "Objects out of ram(1) !!\n"; +const char D_800E4F7C[] = "Door numbering error %d!!\n"; +const char D_800E4F98[] = "objGetScope: Unknown scope for object %d\n"; +const char D_800E4FC4[] = "ObjList (Part) Overflow %d!!!\n"; +const char D_800E4FE4[] = "ObjSetupObject(1) Memory fail!!\n"; +const char D_800E5008[] = "ObjSetupObject(2) Memory fail!!\n"; +const char D_800E502C[] = "ObjSetupObject(5) Memory fail!!\n"; +const char D_800E5050[] = "ObjSetupObject(6) Memory fail!!\n"; +const char D_800E5074[] = "ObjSetupObject(3) Memory fail!!\n"; +const char D_800E5098[] = "ObjList Overflow %d!!!\n"; +const char D_800E50B0[] = "ObjSetupObject(4) Memory fail!!\n"; +const char D_800E50D4[] = "Error: Multiple checkpoint no: %d !!\n"; +const char D_800E50FC[] = "ERROR Channel %d\n"; +const char D_800E5110[] = "RO error %d!!\n"; +const char D_800E5120[] = "ARGHHHHHHHHH\n"; + +const FloatLiteral D_800E5130 = { 1.09f }; +const FloatLiteral D_800E5134 = { 1.18f }; +const FloatLiteral D_800E5138 = { 1.2f }; +const FloatLiteral D_800E513C = { 2.4f }; +const FloatLiteral D_800E5140 = { 4.8f }; +const FloatLiteral D_800E5144 = { 0.05f }; +const FloatLiteral D_800E5148 = { 0.1f }; +const FloatLiteral D_800E514C = { 0.67f }; +const FloatLiteral D_800E5150 = { 0.33f }; + +// Jump table in func_8000CC7C +const u32 D_800E5154[] = { + 0x8000D974, 0x8000D974, 0x8000D974, 0x8000D974, + 0x8000D974, 0x8000D98C, 0x8000D974, 0x8000D974, + 0x8000D974 +}; + +const FloatLiteral D_800E5178 = { 0.0099999999f }; +const FloatLiteral D_800E517C = { 0.0099999999f }; +const FloatLiteral D_800E5180 = { 1.4f }; +const FloatLiteral D_800E5184 = { 0.714f }; + +// Jump table in func_8000E0B0 +const u32 D_800E5188[] = { + 0x8000E104, 0x8000E0E4, 0x8000E0F4, 0x8000E0F4, + 0x8000E0FC, 0x8000E104, 0x8000E0FC, 0x8000E0EC, + 0x8000E104 +}; + +const FloatLiteral D_800E51AC = { 1.4f }; +const FloatLiteral D_800E51B0 = { 0.714f }; + +// Jump table in func_8000EA54 +const u32 D_800E51B4[] = { + 0x8000ECD8, 0x8000EDE0, 0x8000EDE0, 0x8000EDE0, + 0x8000EDE0, 0x8000EDE0, 0x8000EDE0, 0x8000EDE0, + 0x8000EDE0, 0x8000EDE0, 0x8000EDE0, 0x8000EDE0, + 0x8000EDE0, 0x8000EDE0, 0x8000EDE0, 0x8000ED98, + 0x8000EDE0, 0x8000EDE0, 0x8000EDE0, 0x8000EDE0, + 0x8000EDE0, 0x8000EDE0, 0x8000EDE0, 0x8000EDE0, + 0x8000ECF4, 0x8000EDE0, 0x8000EDE0, 0x8000EDE0, + 0x8000EDE0, 0x8000ED10, 0x8000EDE0, 0x8000EDE0, + 0x8000EDE0, 0x8000ED40, 0x8000EDE0, 0x8000EDE0, + 0x8000EDE0, 0x8000EDE0, 0x8000ED54 +}; + +// Jump table in func_800101AC +const u32 D_800E5250[] = { + 0x80010374, 0x800105F8, 0x800105F8, 0x800105F8, + 0x80010400, 0x800105F8, 0x800105F8, 0x800105F8, + 0x800105F8, 0x800105F8, 0x800105F8, 0x800105F8, + 0x800105F8, 0x800105F8, 0x800105F8, 0x800105F8, + 0x800105F8, 0x80010400, 0x800105F8, 0x800105F8, + 0x800105F8, 0x800105F8, 0x800105F8, 0x800105F8, + 0x800105F8, 0x800105F8, 0x800105F8, 0x800105F8, + 0x800105F8, 0x800105F8, 0x800105F8, 0x800105F8, + 0x800104C0, 0x800105F8, 0x800105F8, 0x800105A8, + 0x800105F8, 0x800105F8, 0x800105F8, 0x800105F8, + 0x800105F8, 0x800105F8, 0x800105D0, 0x800105E4, + 0x800105F8, 0x800105F8, 0x800105F8, 0x800105F8, + 0x800104D8, 0x800105F8, 0x800105F8, 0x800105F8, + 0x800105F8, 0x800105F8, 0x800105F8, 0x800105F8, + 0x800105F8, 0x800105F8, 0x800104AC, 0x800105F8, + 0x800105F8, 0x800105F8, 0x800105F8, 0x800105F8, + 0x800105F8, 0x800105F8, 0x800105A8, 0x800105F8, + 0x800105F8, 0x800105F8, 0x800105F8, 0x800105F8, + 0x800105F8, 0x800105F8, 0x800105F8, 0x800105F8, + 0x800105F8, 0x800105F8, 0x800105F8, 0x800105F8, + 0x800105F8, 0x800105F8, 0x80010508, 0x800105F8, + 0x80010374, 0x800105F8, 0x800105F8, 0x800105F8, + 0x800105F8, 0x800105F8, 0x800105F8, 0x800105F8, + 0x800105F8, 0x800105F8, 0x800105F8, 0x8001047C, + 0x8001047C, 0x800105F8, 0x800105F8, 0x800105F8, + 0x8001047C, 0x8001047C, 0x800105F8, 0x800105F8, + 0x800105F8, 0x800105F8, 0x800105F8, 0x800105F8, + 0x800105F8, 0x800105F8, 0x800105F8, 0x800105F8, + 0x800105F8, 0x800105F8, 0x800105F8, 0x8001044C +}; + +// Jump table in func_800101AC +const u32 D_800E5420[] = { + 0x8001063C, 0x8001063C, 0x80010664, 0x8001063C, + 0x8001063C, 0x80010664, 0x8001063C, 0x80010664, + 0x80010664, 0x80010664, 0x80010664, 0x80010664, + 0x80010664, 0x80010664, 0x80010664, 0x80010664, + 0x80010664, 0x80010664, 0x80010664, 0x80010664, + 0x8001063C, 0x80010664, 0x8001063C, 0x80010664, + 0x80010664, 0x80010664, 0x80010664, 0x80010664, + 0x80010664, 0x80010664, 0x8001063C, 0x8001063C, + 0x80010664, 0x80010664, 0x8001063C, 0x8001063C, + 0x8001063C, 0x80010664, 0x80010664, 0x80010664, + 0x80010664, 0x80010664, 0x80010664, 0x80010664, + 0x80010664, 0x80010664, 0x8001063C, 0x8001063C, + 0x80010664, 0x80010664, 0x80010664, 0x8001063C, + 0x8001063C, 0x8001063C, 0x8001063C, 0x80010664, + 0x80010664, 0x80010664, 0x80010664, 0x80010664, + 0x80010664, 0x80010664, 0x80010664, 0x8001063C, + 0x80010664, 0x8001063C, 0x80010664, 0x80010664, + 0x80010664, 0x8001063C +}; + +const DoubleLiteral D_800E5538 = { 1000.0 }; +const DoubleLiteral D_800E5540 = { 3000.0 }; +const DoubleLiteral D_800E5548 = { 500.0 }; +const FloatLiteral D_800E5550 = { 0.01f }; +const FloatLiteral D_800E5554 = { 0.2f }; +const FloatLiteral D_800E5558 = { 0.05f }; +const FloatLiteral D_800E555C = { 3500.0f }; +const FloatLiteral D_800E5560 = { 2700.0f }; +const FloatLiteral D_800E5564 = { 0.6f }; +const FloatLiteral D_800E5568 = { 1.15f }; +const FloatLiteral D_800E556C = { 0.05f }; +const FloatLiteral D_800E5570 = { 0.95f }; +const DoubleLiteral D_800E5578 = { 0.1 }; +const FloatLiteral D_800E5580 = { 0.02f }; +const FloatLiteral D_800E5584 = { 0.98f }; + +// Jump table in func_80014B50 +const u32 D_800E5588[] = { + 0x80014B80, 0x80014CCC, 0x80014E18, 0x80015340, + 0x80015340, 0x80015340, 0x80015340, 0x80015340, + 0x80014F64, 0x800150B0, 0x800151FC +}; + +const DoubleLiteral D_800E55B8 = { 0.3 }; +const DoubleLiteral D_800E55C0 = { 0.3 }; +const DoubleLiteral D_800E55C8 = { 0.8 }; +const DoubleLiteral D_800E55D0 = { 0.1 }; +const DoubleLiteral D_800E55D8 = { 0.1 }; +const DoubleLiteral D_800E55E0 = { 0.3 }; +const DoubleLiteral D_800E55E8 = { 0.3 }; +const DoubleLiteral D_800E55F0 = { 0.1 }; +const DoubleLiteral D_800E55F8 = { 0.3 }; +const DoubleLiteral D_800E5600 = { 0.1 }; +const DoubleLiteral D_800E5608 = { -0.1 }; +const DoubleLiteral D_800E5610 = { -0.1 }; +const DoubleLiteral D_800E5618 = { 0.707 }; +const DoubleLiteral D_800E5620 = { -0.3 }; +const DoubleLiteral D_800E5628 = { 1.3 }; +const DoubleLiteral D_800E5630 = { 500.0 }; +const FloatLiteral D_800E5638 = { -20000.0f }; +const FloatLiteral D_800E563C = { -10000.0f }; +const FloatLiteral D_800E5644 = { -20000.0f }; +const FloatLiteral D_800E5648 = { 50000.0f }; +const DoubleLiteral D_800E564C = { 1.2 }; +const FloatLiteral D_800E5650 = { 0.01f }; +const DoubleLiteral D_800E5658 = { 255.0 }; +const FloatLiteral D_800E5660 = { 1.99f }; +const DoubleLiteral D_800E5668 = { 0.1 }; +const DoubleLiteral D_800E5670 = { 1.2 }; +const FloatLiteral D_800E5678 = { 0.01f }; +const DoubleLiteral D_800E5680 = { 0.1 }; + +// Jump table in func_800235DC +const u32 D_800E5688[] = { + 0x80023614, 0x800238A8, 0x80023808, 0x80023650, + 0x800236DC, 0x800238A8, 0x8002363C, 0x80023664, + 0x80023678, 0x800238A8, 0x800238A8, 0x80023790, + 0x800238A8, 0x80023628, 0x800238A8, 0x8002368C, + 0x800236F0, 0x800236DC, 0x80023678, 0x800238A8, + 0x800238A8, 0x800238A8, 0x800238A8, 0x800238A8, + 0x800238A8, 0x800238A8, 0x800236B4, 0x800238A8, + 0x800236C8, 0x800236A0, 0x80023754, 0x80023704, + 0x800238A8, 0x800238A8, 0x800238A8, 0x800238A8, + 0x800238A8, 0x80023718, 0x800238A8, 0x8002372C, + 0x800236A0, 0x800238A8, 0x800238A8, 0x800238A8, + 0x80023740, 0x800238A8, 0x80023830, 0x800238A8, + 0x800238A8, 0x80023790, 0x80023790, 0x800238A8, + 0x80023790, 0x80023790, 0x800236A0, 0x80023790, + 0x800238A8, 0x800238A8, 0x800238A8, 0x800238A8, + 0x800237E0, 0x80023754, 0x800238A8, 0x800238A8, + 0x800238A8, 0x800238A8, 0x800238A8, 0x800238A8, + 0x800238A8, 0x80023790, 0x800237A4, 0x80023790, + 0x800238A8, 0x8002386C, 0x800238A8, 0x800238A8, + 0x80023754, 0x800238A8, 0x80023768, 0x80023790, + 0x80023790, 0x800238A8, 0x8002377C, 0x80023790, + 0x80023790, 0x80023790, 0x800238A8, 0x800238A8, + 0x800238A8, 0x800238A8, 0x800238A8, 0x800238A8, + 0x800238A8, 0x80023858, 0x800238A8, 0x80023790, + 0x80023790, 0x800238A8, 0x800238A8, 0x800238A8, + 0x80023790, 0x80023790, 0x80023790, 0x80023790, + 0x800238A8, 0x800238A8, 0x800238A8, 0x800238A8, + 0x80023880, 0x800238A8, 0x80023628, 0x800237B8, + 0x80023790, 0x800238A8, 0x80023790, 0x80023894, + 0x800238A8, 0x800237CC, 0x80023790 +}; + +// Jump table in func_800238BC +const u32 D_800E5864[] = { + 0x80023908, 0x80023918, 0x80023928, 0x80023938, + 0x80023A78, 0x80023948, 0x80023978, 0x80023988, + 0x80023998, 0x800239B8, 0x800239C8, 0x800239D8, + 0x800239E8, 0x80023A18, 0x80023A38, 0x80023A48, + 0x80023A58, 0x80023A78, 0x80023998, 0x80023E20, + 0x80023E20, 0x80023968, 0x80023A68, 0x80023E20, + 0x80023958, 0x80023A88, 0x800239A8, 0x80023A98, + 0x80023AA8, 0x800239F8, 0x80023AB8, 0x80023AC8, + 0x80023AD8, 0x80023E20, 0x80023E20, 0x80023AE8, + 0x80023B08, 0x80023B18, 0x80023B28, 0x80023B38, + 0x80023A08, 0x80023E20, 0x80023B48, 0x80023B58, + 0x80023B68, 0x80023B78, 0x80023B88, 0x80023E20, + 0x80023B98, 0x80023E20, 0x80023E20, 0x80023BA8, + 0x80023E20, 0x80023E20, 0x80023BB8, 0x80023E20, + 0x80023BC8, 0x80023BD8, 0x80023BE8, 0x80023E20, + 0x80023BF8, 0x80023C08, 0x80023E20, 0x80023C18, + 0x80023C28, 0x80023C38, 0x80023AF8, 0x80023C48, + 0x80023C58, 0x80023C68, 0x80023CA8, 0x80023C78, + 0x80023CD8, 0x80023CE8, 0x80023CF8, 0x80023D08, + 0x80023D18, 0x80023D28, 0x80023D38, 0x80023E20, + 0x80023E20, 0x80023D48, 0x80023D58, 0x80023D68, + 0x80023E20, 0x80023E20, 0x80023E20, 0x80023D88, + 0x80023D78, 0x80023D98, 0x80023E20, 0x80023E20, + 0x80023BC8, 0x80023DA8, 0x80023C78, 0x80023C88, + 0x80023C98, 0x80023DB8, 0x80023DC8, 0x80023DC8, + 0x80023C88, 0x80023C98, 0x80023C68, 0x80023C78, + 0x80023DD8, 0x80023E20, 0x80023E20, 0x80023DE8, + 0x80023DF8, 0x80023E08, 0x80023A28, 0x80023CB8, + 0x80023E20, 0x80023E20, 0x80023E20, 0x80023DE8, + 0x80023E18, 0x80023CC8 +}; + +// Jump table in func_80023E30 +const u32 D_800E5A3C[] = { + 0x80023E5C, 0x80023E64, 0x80023F40, 0x80023F40, + 0x80023E6C, 0x80023F40, 0x80023F14, 0x80023F40, + 0x80023F40, 0x80023F40, 0x80023F40, 0x80023E74, + 0x80023F14, 0x80023E7C, 0x80023F40, 0x80023F40, + 0x80023E84, 0x80023F14, 0x80023F40, 0x80023F40, + 0x80023F40, 0x80023F40, 0x80023F40, 0x80023E9C, + 0x80023F40, 0x80023F14, 0x80023F40, 0x80023F40, + 0x80023F40, 0x80023F14, 0x80023EA4, 0x80023EAC, + 0x80023F40, 0x80023F40, 0x80023F40, 0x80023F14, + 0x80023F40, 0x80023EBC, 0x80023EC4, 0x80023ECC, + 0x80023F14, 0x80023F40, 0x80023F40, 0x80023F40, + 0x80023ED4, 0x80023F40, 0x80023F40, 0x80023EDC, + 0x80023F24, 0x80023EEC, 0x80023F24, 0x80023F14, + 0x80023F40, 0x80023EF4, 0x80023F14, 0x80023EEC, + 0x80023F14, 0x80023F40, 0x80023F40, 0x80023F40, + 0x80023F24, 0x80023F2C, 0x80023EE4, 0x80023EAC, + 0x80023F40, 0x80023F40, 0x80023EB4, 0x80023F14, + 0x80023F40, 0x80023E8C, 0x80023F40, 0x80023E8C, + 0x80023F40, 0x80023EFC, 0x80023F40, 0x80023F40, + 0x80023E84, 0x80023F14, 0x80023F14, 0x80023EEC, + 0x80023F0C, 0x80023F1C, 0x80023F40, 0x80023EEC, + 0x80023F40, 0x80023EEC, 0x80023F40, 0x80023EAC, + 0x80023F40, 0x80023F40, 0x80023F04, 0x80023F40, + 0x80023F14, 0x80023F40, 0x80023EFC, 0x80023E8C, + 0x80023E8C, 0x80023F14, 0x80023EFC, 0x80023EFC, + 0x80023E94, 0x80023E94, 0x80023E94, 0x80023E94, + 0x80023F40, 0x80023F40, 0x80023F40, 0x80023F14, + 0x80023F34, 0x80023EAC, 0x80023E7C, 0x80023F40, + 0x80023F40, 0x80023F3C, 0x80023EEC, 0x80023F14 +}; + +// Jump table in func_80023F48 +const u32 D_800E5C0C[] = { + 0x80023FA4, 0x80023FB8, 0x80023FCC, 0x80024108, + 0x80023FE0, 0x8002401C, 0x80024570, 0x80024570, + 0x80024030, 0x80024044, 0x80024058, 0x8002406C, + 0x800240A8, 0x800240BC, 0x800240CC, 0x800240E0, + 0x80024108, 0x80024570, 0x80024570, 0x80024570, + 0x80024008, 0x800240F4, 0x80024570, 0x80023FF4, + 0x8002411C, 0x80024570, 0x80024130, 0x80024144, + 0x80024080, 0x80024158, 0x8002416C, 0x80024570, + 0x80024570, 0x80024570, 0x80024180, 0x800241A8, + 0x800241BC, 0x800241D0, 0x800241E4, 0x80024094, + 0x80024570, 0x80024570, 0x80024570, 0x800241F8, + 0x8002420C, 0x80024220, 0x80024570, 0x80024570, + 0x80024234, 0x8002425C, 0x80024270, 0x80024284, + 0x80024298, 0x800242AC, 0x800242C0, 0x800242D4, + 0x800242E8, 0x80024570, 0x800242FC, 0x8002430C, + 0x80024320, 0x80024570, 0x80024334, 0x80024348, + 0x8002435C, 0x80024194, 0x80024370, 0x80024384, + 0x80024398, 0x80024570, 0x80024398, 0x800243C0, + 0x800243D4, 0x800243E8, 0x800243FC, 0x80024410, + 0x80024424, 0x80024438, 0x8002444C, 0x80024234, + 0x80024460, 0x80024570, 0x80024474, 0x80024234, + 0x80024234, 0x80024570, 0x80024488, 0x80024570, + 0x8002449C, 0x80024570, 0x80024570, 0x800242D4, + 0x800244B0, 0x80024570, 0x800243AC, 0x800243AC, + 0x800244C4, 0x80024570, 0x800244EC, 0x800243AC, + 0x800243AC, 0x80024398, 0x80024398, 0x800244D8, + 0x80024570, 0x80024570, 0x80024500, 0x80024514, + 0x80024488, 0x80024528, 0x80024570, 0x8002453C, + 0x80024570, 0x80024550, 0x80024500, 0x80024564, + 0x80024570, 0x80024248 +}; /*********************************/ @@ -304,7 +605,7 @@ void func_8000C2D8(u8 *arg0, s32 length); void func_8000BF8C(void) { s32 i; - func_8001D258(D_800E514C, D_800E5150, 0, -0x2000, 0); + func_8001D258(D_800E514C.floatLiteral, D_800E5150.floatLiteral, 0, -0x2000, 0); D_8011AE68 = (s32*)func_80070B78(0x15800, 0x200); particlePtrList = (Player **)func_80070C9C(0x320, 0xFFFF); D_8011AE6C = (s32*)func_80070C9C(0x50, 0xFFFF); From 9a7b8411948d69859ca661046349400189306948 Mon Sep 17 00:00:00 2001 From: David Benepe Date: Sat, 29 May 2021 21:18:37 -0500 Subject: [PATCH 03/27] Moved .rodata in unknown_0255E0 & unknown_031D30 from asm to C. --- asm/unknown_031D30.s | 22 ++++++ data/unknown_0255E0.rodata.s | 149 ----------------------------------- data/unknown_031D30.rodata.s | 36 --------- data/unknown_032760.rodata.s | 10 +++ src/unknown_0255E0.c | 42 ++++++++++ 5 files changed, 74 insertions(+), 185 deletions(-) delete mode 100644 data/unknown_0255E0.rodata.s delete mode 100644 data/unknown_031D30.rodata.s diff --git a/asm/unknown_031D30.s b/asm/unknown_031D30.s index 4f13b63e..33bfd6b9 100644 --- a/asm/unknown_031D30.s +++ b/asm/unknown_031D30.s @@ -8,6 +8,28 @@ .set noreorder # dont insert nops after branches .set gp=64 # 64-bit instructions are used +.section .text + .include "asm/unknown_031D30/func_80031130.s" .include "asm/unknown_031D30/func_800314DC.s" .include "asm/unknown_031D30/func_80031600.s" + +.section .rodata + +glabel D_800E5F60 +.float -0.1 + +glabel D_800E5F64 +.float -0.1 + +glabel D_800E5F68 +.float 0.707 + +glabel D_800E5F6C +.float 0.45 + +glabel D_800E5F70 +.float -0.1 + + + diff --git a/data/unknown_0255E0.rodata.s b/data/unknown_0255E0.rodata.s deleted file mode 100644 index 8113c88d..00000000 --- a/data/unknown_0255E0.rodata.s +++ /dev/null @@ -1,149 +0,0 @@ -.include "macros.inc" - -.macro .aligned_text ascii - .asciz "\ascii" - .balign 4 -.endm - -.section .rodata - -glabel D_800E5DF0 -.aligned_text "TT CAM" - -.aligned_text "Solid Clipping x0=x1 Error!!!\n" -.aligned_text "TrackGetHeight() - Overflow!!!\n" - -glabel D_800E5E38 -.aligned_text "ERROR!! TrackMem overflow .. %d\n" - -.word 0x00000000 - -glabel D_800E5E60 -.word 0x406F4000 - -glabel D_800E5E64 -.word 0x00000000 - -glabel D_800E5E68 -.word 0xC072C000 - -glabel D_800E5E6C -.word 0x00000000 - -glabel D_800E5E70 -.word 0x4072C000 - -glabel D_800E5E74 -.word 0x00000000 - -glabel D_800E5E78 -.word 0x4072C000 - -glabel D_800E5E7C -.word 0x00000000 - -glabel D_800E5E80 -.word 0xC072C000 - -glabel D_800E5E84 -.word 0x00000000 - -glabel D_800E5E88 -.word 0xC072C000 - -glabel D_800E5E8C -.word 0x00000000 - -glabel D_800E5E90 -.word 0xBFB99999 - -glabel D_800E5E94 -.word 0x9999999A - -glabel D_800E5E98 -.word 0xBFB99999 - -glabel D_800E5E9C -.word 0x9999999A - -glabel D_800E5EA0 -.word 0x408F4000 - -glabel D_800E5EA4 -.word 0x00000000 - -glabel D_800E5EA8 -.word 0x408F4000 - -glabel D_800E5EAC -.word 0x00000000 - -glabel D_800E5EB0 -.word 0x3FE99999 - -glabel D_800E5EB4 -.word 0x9999999A - -glabel D_800E5EB8 -.word 0x406FE000 - -glabel D_800E5EBC -.word 0x00000000 - -glabel D_800E5EC0 -.word 0x8002AB40 -.word 0x8002AB40 -.word 0x8002AB54 -.word 0x8002AB40 -.word 0x8002AB40 -.word 0x8002AB54 -.word 0x8002AB40 -.word 0x8002AB54 -.word 0x8002AB2C -.word 0x8002AB54 -.word 0x8002AB54 -.word 0x8002AB54 -.word 0x8002AB58 -.word 0x8002AB54 -.word 0x8002AB54 -.word 0x8002AB54 -.word 0x8002AB54 -.word 0x8002AB54 -.word 0x8002AB54 -.word 0x8002AB54 -.word 0x8002AB40 -.word 0x8002AB54 -.word 0x8002AB40 -.word 0x8002AB54 -.word 0x8002AB54 -.word 0x8002AB54 -.word 0x8002AB54 -.word 0x8002AB58 -.word 0x8002AB54 -.word 0x8002AB54 -.word 0x8002AB58 -.word 0x8002AB40 - -glabel D_800E5F40 -.word 0x3FC99999 - -glabel D_800E5F44 -.word 0x9999999A - -glabel D_800E5F48 -.word 0x3FB33333 - -glabel D_800E5F4C -.word 0x3F36C8B4 - -glabel D_800E5F50 -.word 0x3BA3D70A - -glabel D_800E5F54 -.word 0x3FB50481 - -glabel D_800E5F58 -.word 0x3BA3D70A - -glabel D_800E5F5C -.word 0x3F7D70A4 diff --git a/data/unknown_031D30.rodata.s b/data/unknown_031D30.rodata.s deleted file mode 100644 index 16850414..00000000 --- a/data/unknown_031D30.rodata.s +++ /dev/null @@ -1,36 +0,0 @@ -.include "macros.inc" - -.macro .aligned_text ascii - .asciz "\ascii" - .balign 4 -.endm - -.section .rodata - -glabel D_800E5F60 -.word 0xBDCCCCCD - -glabel D_800E5F64 -.word 0xBDCCCCCD - -glabel D_800E5F68 -.word 0x3F34FDF4 - -glabel D_800E5F6C -.word 0x3EE66666 - -glabel D_800E5F70 -.word 0xBDCCCCCD -.word 0x00000000 -.word 0x00000000 -.word 0x00000000 - -glabel D_800E5F80 -.word 0x80033A70 -.word 0x80033AA4 -.word 0x80033AE4 -.word 0x80033B48 -.word 0x80033BB4 -.word 0x00000000 -.word 0x00000000 -.word 0x00000000 diff --git a/data/unknown_032760.rodata.s b/data/unknown_032760.rodata.s index 807f8d77..fad48228 100644 --- a/data/unknown_032760.rodata.s +++ b/data/unknown_032760.rodata.s @@ -7,6 +7,16 @@ .section .rodata +glabel D_800E5F80 +.word 0x80033A70 +.word 0x80033AA4 +.word 0x80033AE4 +.word 0x80033B48 +.word 0x80033BB4 +.word 0x00000000 +.word 0x00000000 +.word 0x00000000 + glabel D_800E5FA0 .aligned_text "Illegal door no!!!\n" diff --git a/src/unknown_0255E0.c b/src/unknown_0255E0.c index 20efb5c5..4695fa7d 100644 --- a/src/unknown_0255E0.c +++ b/src/unknown_0255E0.c @@ -124,6 +124,48 @@ s8 D_800DC92C[24] = { /*******************************/ +/************ .rodata ************/ + +const char D_800E5DF0[] = "TT CAM"; +const char D_800E5DF8[] = "Solid Clipping x0=x1 Error!!!\n"; +const char D_800E5E10[] = "TrackGetHeight() - Overflow!!!\n"; +const char D_800E5E38[] = "ERROR!! TrackMem overflow .. %d\n"; + +const DoubleLiteral D_800E5E60 = { 250.0 }; +const DoubleLiteral D_800E5E68 = { -300.0 }; +const DoubleLiteral D_800E5E70 = { 300.0 }; +const DoubleLiteral D_800E5E78 = { 300.0 }; +const DoubleLiteral D_800E5E80 = { -300.0 }; +const DoubleLiteral D_800E5E88 = { -300.0 }; +const DoubleLiteral D_800E5E90 = { -0.1 }; +const DoubleLiteral D_800E5E98 = { -0.1 }; +const DoubleLiteral D_800E5EA0 = { 1000.0 }; +const DoubleLiteral D_800E5EA8 = { 1000.0 }; +const DoubleLiteral D_800E5EB0 = { 0.8 }; +const DoubleLiteral D_800E5EB8 = { 255.0 }; + +// Jump table in func_8002A900 +const u32 D_800E5EC0[] = { + 0x8002AB40, 0x8002AB40, 0x8002AB54, 0x8002AB40, + 0x8002AB40, 0x8002AB54, 0x8002AB40, 0x8002AB54, + 0x8002AB2C, 0x8002AB54, 0x8002AB54, 0x8002AB54, + 0x8002AB58, 0x8002AB54, 0x8002AB54, 0x8002AB54, + 0x8002AB54, 0x8002AB54, 0x8002AB54, 0x8002AB54, + 0x8002AB40, 0x8002AB54, 0x8002AB40, 0x8002AB54, + 0x8002AB54, 0x8002AB54, 0x8002AB54, 0x8002AB58, + 0x8002AB54, 0x8002AB54, 0x8002AB58, 0x8002AB40 +}; + +const DoubleLiteral D_800E5F40 = { 0.2 }; +const FloatLiteral D_800E5F48 = { 1.4f }; +const FloatLiteral D_800E5F4C = { 0.714f }; +const FloatLiteral D_800E5F50 = { 0.005f }; +const FloatLiteral D_800E5F54 = { 1.4142f }; +const FloatLiteral D_800E5F58 = { 0.005f }; +const FloatLiteral D_800E5F5C = { 0.99f }; + +/*********************************/ + /************ .bss ************/ extern s32 D_8011D37C; From 47e6de7646d48823c53f6fa420c55c9be5103224 Mon Sep 17 00:00:00 2001 From: David Benepe Date: Sat, 29 May 2021 22:11:24 -0500 Subject: [PATCH 04/27] Moved .rodata in unknown_032760 from asm to C. --- data/unknown_032760.rodata.s | 379 ----------------------------------- src/unknown_032760.c | 120 +++++++++++ 2 files changed, 120 insertions(+), 379 deletions(-) delete mode 100644 data/unknown_032760.rodata.s diff --git a/data/unknown_032760.rodata.s b/data/unknown_032760.rodata.s deleted file mode 100644 index fad48228..00000000 --- a/data/unknown_032760.rodata.s +++ /dev/null @@ -1,379 +0,0 @@ -.include "macros.inc" - -.macro .aligned_text ascii - .asciz "\ascii" - .balign 4 -.endm - -.section .rodata - -glabel D_800E5F80 -.word 0x80033A70 -.word 0x80033AA4 -.word 0x80033AE4 -.word 0x80033B48 -.word 0x80033BB4 -.word 0x00000000 -.word 0x00000000 -.word 0x00000000 - -glabel D_800E5FA0 -.aligned_text "Illegal door no!!!\n" - -glabel D_800E5FB4 -.aligned_text "Illegal door no!!!\n" - -glabel D_800E5FC8 -.aligned_text "Illegal door no!!!\n" - -.word 0x00000000 - -glabel D_800E5FE0 -.word 0x3FF33333 - -glabel D_800E5FE4 -.word 0x33333333 - -glabel D_800E5FE8 -.word 0x3FB99999 - -glabel D_800E5FEC -.word 0x9999999A - -glabel D_800E5FF0 -.word 0x3FECCCCC - -glabel D_800E5FF4 -.word 0xCCCCCCCD - -glabel D_800E5FF8 -.word 0x3FF33333 - -glabel D_800E5FFC -.word 0x33333333 - -glabel D_800E6000 -.word 0x3E4CCCCD - -glabel D_800E6004 -.word 0x3F1CAC08 - -glabel D_800E6008 -.word 0x3F0D4FDF -.word 0x00000000 - -glabel D_800E6010 -.word 0x3FF33333 - -glabel D_800E6014 -.word 0x33333333 - -glabel D_800E6018 -.word 0x3FEF5C28 - -glabel D_800E601C -.word 0xF5C28F5C - -glabel D_800E6020 -.word 0x3FEE6666 - -glabel D_800E6024 -.word 0x66666666 - -glabel D_800E6028 -.word 0x3FF33333 - -glabel D_800E602C -.word 0x33333333 - -glabel D_800E6030 -.word 0x4072C000 - -glabel D_800E6034 -.word 0x00000000 - -glabel D_800E6038 -.word 0x3FA99999 - -glabel D_800E603C -.word 0x9999999A - -glabel D_800E6040 -.word 0x3FA99999 - -glabel D_800E6044 -.word 0x9999999A - -glabel D_800E6048 -.word 0x3C23D70A -.word 0x00000000 - -glabel D_800E6050 -.word 0x3FF33333 - -glabel D_800E6054 -.word 0x33333333 - -glabel D_800E6058 -.word 0x3FF33333 - -glabel D_800E605C -.word 0x33333333 - -glabel D_800E6060 -.word 0x3FF33333 - -glabel D_800E6064 -.word 0x33333333 - -glabel D_800E6068 -.word 0x4072C000 - -glabel D_800E606C -.word 0x00000000 - -glabel D_800E6070 -.word 0x80039758 -.word 0x80039758 -.word 0x80039758 -.word 0x80039758 -.word 0x80039768 -.word 0x80039768 -.word 0x80039758 -.word 0x80039768 -.word 0x80039768 -.word 0x80039758 -.word 0x80039758 -.word 0x80039768 -.word 0x80039768 -.word 0x80039768 -.word 0x80039758 -.word 0x80039768 -.word 0x80039768 -.word 0x80039768 -.word 0x80039768 -.word 0x80039758 -.word 0x80039758 - -glabel D_800E60C4 -.word 0x800397BC -.word 0x80039978 -.word 0x80039AE0 -.word 0x80039BB8 -.word 0x80039DC4 -.word 0x80039ED8 -.word 0x80039FDC -.word 0x80039FDC -.word 0x8003A5AC -.word 0x8003A0CC -.word 0x8003A1E8 -.word 0x8003A5AC -.word 0x8003A5AC -.word 0x8003A5AC -.word 0x8003A268 -.word 0x8003A5AC -.word 0x8003A5AC -.word 0x8003A5AC -.word 0x8003A5AC -.word 0x8003A3FC -.word 0x8003A4F4 -.word 0x8003A5AC -.word 0x8003A5AC -.word 0x8003A5AC -.word 0x8003A5AC -.word 0x8003A5AC -.word 0x8003A5AC -.word 0x8003A5AC -.word 0x8003A5AC -.word 0x8003A574 -.word 0x00000000 - -glabel D_800E6140 -.word 0x40534000 - -glabel D_800E6144 -.word 0x00000000 - -glabel D_800E6148 -.word 0x3DCCCCCD -.word 0x00000000 - -glabel D_800E6150 -.word 0x3FF19999 - -glabel D_800E6154 -.word 0x9999999A - -glabel D_800E6158 -.word 0x40019999 - -glabel D_800E615C -.word 0x9999999A - -glabel D_800E6160 -.word 0x3FF33333 - -glabel D_800E6164 -.word 0x33333333 - -glabel D_800E6168 -.word 0x3FF33333 - -glabel D_800E616C -.word 0x33333333 - -glabel D_800E6170 -.word 0x40604000 - -glabel D_800E6174 -.word 0x00000000 - -glabel D_800E6178 -.word 0x3FF33333 - -glabel D_800E617C -.word 0x33333333 - -glabel D_800E6180 -.word 0x4745C100 -.word 0x00000000 - -glabel D_800E6188 -.word 0x3FF33333 - -glabel D_800E618C -.word 0x33333333 - -glabel D_800E6190 -.word 0x3FF33333 - -glabel D_800E6194 -.word 0x33333333 - -glabel D_800E6198 -.word 0x3FEE6666 - -glabel D_800E619C -.word 0x66666666 - -glabel D_800E61A0 -.word 0xC61C4000 -.word 0x00000000 - -glabel D_800E61A8 -.word 0x3F50624D - -glabel D_800E61AC -.word 0xD2F1A9FC - -glabel D_800E61B0 -.word 0x3A83126F -.word 0x00000000 - -glabel D_800E61B8 -.word 0x3FB99999 - -glabel D_800E61BC -.word 0x9999999A - -glabel D_800E61C0; -.word 0x8003E66C -.word 0x8003E66C -.word 0x8003E67C -.word 0x8003E67C -.word 0x8003E684 -.word 0x8003E684 -.word 0x8003E684 -.word 0x8003E684 -.word 0x8003E684 -.word 0x8003E684 -.word 0x8003E67C -.word 0x8003E67C - -glabel D_800E61F0 -.word 0x3FF33333 - -glabel D_800E61F4 -.word 0x33333333 - -glabel D_800E61F8 -.word 0x40C38800 - -glabel D_800E61FC -.word 0x00000000 - -glabel D_800E6200 -.word 0x3FF33333 - -glabel D_800E6204 -.word 0x33333333 - -glabel D_800E6208 -.word 0xC61C4000 - -glabel D_800E620C -.word 0x3F19999A - -glabel D_800E6210 -.word 0x3F19999A - -glabel D_800E6214 -.word 0x3D99999A - -glabel D_800E6218 -.word 0x3C23D70A - -glabel D_800E621C -.word 0x3DCCCCCD - -glabel D_800E6220 -.word 0x3FCCCCCD - -glabel D_800E6224 -.word 0x3FCCCCCD - -glabel D_800E6228; -.word 0x80040D30 -.word 0x80040E54 -.word 0x80040E54 -.word 0x800411E4 -.word 0x8004153C - -glabel D_800E623C -.word 0x46AFC800 - -glabel D_800E6240 -.word 0x3F99999A - -glabel D_800E6244 -.word 0x3FCCCCCD - -glabel D_800E6248 -.word 0x3FCCCCCD -.word 0x00000000 - -glabel D_800E6250 -.word 0x3FF33333 - -glabel D_800E6254 -.word 0x33333333 - -glabel D_800E6258 -.word 0x80042378 -.word 0x800426B8 -.word 0x80042898 -.word 0x800428E8 -.word 0x8004292C - -glabel D_800E626C -.word 0x3FAB851F - -glabel D_800E6270 -.word 0x3D4CCCCD - -glabel D_800E6274 -.word 0x3E19999A - -glabel D_800E6278 -.word 0x3E19999A -.word 0x00000000 diff --git a/src/unknown_032760.c b/src/unknown_032760.c index 8b09eb9b..2b9d05b3 100644 --- a/src/unknown_032760.c +++ b/src/unknown_032760.c @@ -108,6 +108,126 @@ u16 D_800DCB28[20] = { /*******************************/ +/************ .rodata ************/ + +// Jump table in func_80033A14 +const u32 D_800E5F80[] = { + 0x80033A70, 0x80033AA4, 0x80033AE4, 0x80033B48, + 0x80033BB4 +}; + +// Not sure if these are actually strings. Might just be padding. +const char D_800E5F94[] = ""; +const char D_800E5F98[] = ""; +const char D_800E5F9C[] = ""; + +const char D_800E5FA0[] = "Illegal door no!!!\n"; +const char D_800E5FB4[] = "Illegal door no!!!\n"; +const char D_800E5FC8[] = "Illegal door no!!!\n"; + +const DoubleLiteral D_800E5FE0 = { 1.2 }; +const DoubleLiteral D_800E5FE8 = { 0.1 }; +const DoubleLiteral D_800E5FF0 = { 0.9 }; +const DoubleLiteral D_800E5FF8 = { 1.2 }; +const FloatLiteral D_800E6000 = { 0.2f }; +const FloatLiteral D_800E6004 = { 0.612f }; +const FloatLiteral D_800E6008 = { 0.552f }; +const DoubleLiteral D_800E6010 = { 1.2 }; +const DoubleLiteral D_800E6018 = { 0.98 }; +const DoubleLiteral D_800E6020 = { 0.95 }; +const DoubleLiteral D_800E6028 = { 1.2 }; +const DoubleLiteral D_800E6030 = { 300.0 }; +const DoubleLiteral D_800E6038 = { 0.05 }; +const DoubleLiteral D_800E6040 = { 0.05 }; +const FloatLiteral D_800E6048 = { 0.01f }; +const DoubleLiteral D_800E6050 = { 1.2 }; +const DoubleLiteral D_800E6058 = { 1.2 }; +const DoubleLiteral D_800E6060 = { 1.2 }; +const DoubleLiteral D_800E6068 = { 300.0 }; + +// Jump table in func_80039330 +const u32 D_800E6070[] = { + 0x80039758, 0x80039758, 0x80039758, 0x80039758, + 0x80039768, 0x80039768, 0x80039758, 0x80039768, + 0x80039768, 0x80039758, 0x80039758, 0x80039768, + 0x80039768, 0x80039768, 0x80039758, 0x80039768, + 0x80039768, 0x80039768, 0x80039768, 0x80039758, + 0x80039758 +}; + +// Jump table in func_80039330 +const u32 D_800E60C4[] = { + 0x800397BC, 0x80039978, 0x80039AE0, 0x80039BB8, + 0x80039DC4, 0x80039ED8, 0x80039FDC, 0x80039FDC, + 0x8003A5AC, 0x8003A0CC, 0x8003A1E8, 0x8003A5AC, + 0x8003A5AC, 0x8003A5AC, 0x8003A268, 0x8003A5AC, + 0x8003A5AC, 0x8003A5AC, 0x8003A5AC, 0x8003A3FC, + 0x8003A4F4, 0x8003A5AC, 0x8003A5AC, 0x8003A5AC, + 0x8003A5AC, 0x8003A5AC, 0x8003A5AC, 0x8003A5AC, + 0x8003A5AC, 0x8003A574 +}; + +const DoubleLiteral D_800E6140 = { 77.0 }; +const FloatLiteral D_800E6148 = { 0.1f }; +const DoubleLiteral D_800E6150 = { 1.1 }; +const DoubleLiteral D_800E6158 = { 2.2 }; +const DoubleLiteral D_800E6160 = { 1.2 }; +const DoubleLiteral D_800E6168 = { 1.2 }; +const DoubleLiteral D_800E6170 = { 130.0 }; +const DoubleLiteral D_800E6178 = { 1.2 }; +const FloatLiteral D_800E6180 = { 50625.0f }; +const DoubleLiteral D_800E6188 = { 1.2 }; +const DoubleLiteral D_800E6190 = { 1.2 }; +const DoubleLiteral D_800E6198 = { 0.95 }; +const FloatLiteral D_800E61A0 = { -10000.0f }; +const DoubleLiteral D_800E61A8 = { 0.001 }; +const FloatLiteral D_800E61B0 = { 0.001f }; +const DoubleLiteral D_800E61B8 = { 0.1 }; + +// Jump table in func_8003E630 +const u32 D_800E61C0[] = { + 0x8003E66C, 0x8003E66C, 0x8003E67C, 0x8003E67C, + 0x8003E684, 0x8003E684, 0x8003E684, 0x8003E684, + 0x8003E684, 0x8003E684, 0x8003E67C, 0x8003E67C +}; + +const DoubleLiteral D_800E61F0 = { 1.2 }; +const DoubleLiteral D_800E61F8 = { 10000.0 }; +const DoubleLiteral D_800E6200 = { 1.2 }; +const FloatLiteral D_800E6208 = { -10000.0f }; +const FloatLiteral D_800E620C = { 0.6f }; +const FloatLiteral D_800E6210 = { 0.6f }; +const FloatLiteral D_800E6214 = { 0.075f }; +const FloatLiteral D_800E6218 = { 0.01f }; +const FloatLiteral D_800E621C = { 0.1f }; +const FloatLiteral D_800E6220 = { 1.6f }; +const FloatLiteral D_800E6224 = { 1.6f }; + +// Jump table in func_80040C54 +const u32 D_800E6228[] = { + 0x80040D30, 0x80040E54, 0x80040E54, 0x800411E4, + 0x8004153C +}; + +const FloatLiteral D_800E623C = { 22500.0f }; +const FloatLiteral D_800E6240 = { 1.2f }; +const FloatLiteral D_800E6244 = { 1.6f }; +const FloatLiteral D_800E6248 = { 1.6f }; +const DoubleLiteral D_800E6250 = { 1.2 }; + +// Jump table in func_800422F0 +const u32 D_800E6258[] = { + 0x80042378, 0x800426B8, 0x80042898, 0x800428E8, + 0x8004292C +}; + +const FloatLiteral D_800E626C = { 1.34f }; +const FloatLiteral D_800E6270 = { 0.05f }; +const FloatLiteral D_800E6274 = { 0.15f }; +const FloatLiteral D_800E6278 = { 0.15f }; + +/*********************************/ + /************ .bss ************/ extern f32 D_8011D4D0; From db78c062303b3e999ff81a82fceae57d24331803 Mon Sep 17 00:00:00 2001 From: David Benepe Date: Sat, 29 May 2021 22:14:53 -0500 Subject: [PATCH 05/27] Moved .rodata in unknown_080240 from asm to C. --- data/unknown_080240.rodata.s | 13 ------------- src/unknown_080240.c | 4 +--- 2 files changed, 1 insertion(+), 16 deletions(-) delete mode 100644 data/unknown_080240.rodata.s diff --git a/data/unknown_080240.rodata.s b/data/unknown_080240.rodata.s deleted file mode 100644 index e29848b2..00000000 --- a/data/unknown_080240.rodata.s +++ /dev/null @@ -1,13 +0,0 @@ -.include "macros.inc" - -.macro .aligned_text ascii - .asciz "\ascii" - .balign 4 -.endm - -.section .rodata - -glabel D_800E7C90 -.aligned_text "SCREEN: No out of range!!\n" - -.word 0x00000000 diff --git a/src/unknown_080240.c b/src/unknown_080240.c index c9262c71..510b4b4a 100644 --- a/src/unknown_080240.c +++ b/src/unknown_080240.c @@ -15,8 +15,6 @@ Gfx D_800DF440[] = { /*******************************/ -extern s32 D_800E7C90; - u32 func_8007F640(s32 arg0) { u32 someAddr; s32 count, start, size; @@ -37,7 +35,7 @@ u32 func_8007F640(s32 arg0) { return 0x80100000; } else { if (arg0 < 0 || arg0 >= count) { - func_800C9D54(&D_800E7C90); + func_800C9D54("SCREEN: No out of range!!\n"); arg0 = 0; } From b99479f17fcda9fc6c3147cc9647afc16a9c8856 Mon Sep 17 00:00:00 2001 From: David Benepe Date: Sat, 29 May 2021 22:17:54 -0500 Subject: [PATCH 06/27] Moved .rodata in unknown_065D30 from asm to C. --- data/unknown_065D30.rodata.s | 16 ---------------- src/unknown_065D30.c | 7 +++++++ 2 files changed, 7 insertions(+), 16 deletions(-) delete mode 100644 data/unknown_065D30.rodata.s diff --git a/data/unknown_065D30.rodata.s b/data/unknown_065D30.rodata.s deleted file mode 100644 index 8039fb69..00000000 --- a/data/unknown_065D30.rodata.s +++ /dev/null @@ -1,16 +0,0 @@ -.include "macros.inc" - -.macro .aligned_text ascii - .asciz "\ascii" - .balign 4 -.endm - -.section .rodata - -glabel D_800E6EC0 -.word 0x412E8480 - -glabel D_800E6EC4 -.word 0x00000000 -.word 0x00000000 -.word 0x00000000 diff --git a/src/unknown_065D30.c b/src/unknown_065D30.c index 7d56eca1..2d897500 100644 --- a/src/unknown_065D30.c +++ b/src/unknown_065D30.c @@ -4,6 +4,13 @@ #include "types.h" #include "macros.h" +/************ .rodata ************/ + +// In __timeToSamplesNoRound +const DoubleLiteral D_800E6EC0 = { 1000000.0 }; + +/*********************************/ + GLOBAL_ASM("asm/non_matchings/unknown_065D30/alSynNew.s") GLOBAL_ASM("asm/non_matchings/unknown_065D30/alAudioFrame.s") GLOBAL_ASM("asm/non_matchings/unknown_065D30/__allocParam.s") From 6ed98a11a5b1a1f151cfb4104ec32ed9a706c37b Mon Sep 17 00:00:00 2001 From: David Benepe Date: Sat, 29 May 2021 22:20:38 -0500 Subject: [PATCH 07/27] Moved .rodata in unknown_0CA730 from asm to C. --- data/unknown_0CA730.rodata.s | 16 ---------------- lib/src/unknown_0CA730.c | 8 ++++++++ 2 files changed, 8 insertions(+), 16 deletions(-) delete mode 100644 data/unknown_0CA730.rodata.s diff --git a/data/unknown_0CA730.rodata.s b/data/unknown_0CA730.rodata.s deleted file mode 100644 index 07e5356a..00000000 --- a/data/unknown_0CA730.rodata.s +++ /dev/null @@ -1,16 +0,0 @@ -.include "macros.inc" - -.macro .aligned_text ascii - .asciz "\ascii" - .balign 4 -.endm - -.section .rodata - -glabel D_800E9550 -.word 0x80000000 -.word 0x00000000 - -glabel D_800E9558 -.word 0x80000000 -.word 0x00000000 diff --git a/lib/src/unknown_0CA730.c b/lib/src/unknown_0CA730.c index 1d48aaaa..8a7aee72 100644 --- a/lib/src/unknown_0CA730.c +++ b/lib/src/unknown_0CA730.c @@ -4,6 +4,14 @@ #include "types.h" #include "macros.h" +/************ .rodata ************/ + +// In __f_to_ll +const DoubleLiteral D_800E9550 = { -0.0 }; +const DoubleLiteral D_800E9558 = { -0.0 }; + +/*********************************/ + GLOBAL_ASM("lib/asm/non_matchings/unknown_0CA730/__d_to_ll.s") GLOBAL_ASM("lib/asm/non_matchings/unknown_0CA730/__f_to_ll.s") GLOBAL_ASM("lib/asm/non_matchings/unknown_0CA730/__ll_to_f.s") From 12d379c2070902d7db11181a7b933e4aad76cd62 Mon Sep 17 00:00:00 2001 From: David Benepe Date: Sat, 29 May 2021 22:31:14 -0500 Subject: [PATCH 08/27] Moved .rodata in unknown_05F0C0, unknown_0667D0, and unknown_0CA530 from asm to C. --- data/unknown_05F0C0.rodata.s | 20 -------------------- data/unknown_0667D0.rodata.s | 14 -------------- data/unknown_0CA530.rodata.s | 24 ------------------------ lib/src/unknown_0CA530.c | 9 +++++++++ src/unknown_05F0C0.c | 8 ++++++++ src/unknown_0667D0.c | 8 ++++++++ 6 files changed, 25 insertions(+), 58 deletions(-) delete mode 100644 data/unknown_05F0C0.rodata.s delete mode 100644 data/unknown_0667D0.rodata.s delete mode 100644 data/unknown_0CA530.rodata.s diff --git a/data/unknown_05F0C0.rodata.s b/data/unknown_05F0C0.rodata.s deleted file mode 100644 index 250d8cd2..00000000 --- a/data/unknown_05F0C0.rodata.s +++ /dev/null @@ -1,20 +0,0 @@ -.include "macros.inc" - -.macro .aligned_text ascii - .asciz "\ascii" - .balign 4 -.endm - -.section .rodata - -glabel D_800E6AA0 -.word 0x3FD33333 - -glabel D_800E6AA4 -.word 0x33333333 - -glabel D_800E6AA8 -.word 0x4085E000 - -glabel D_800E6AAC -.word 0x00000000 diff --git a/data/unknown_0667D0.rodata.s b/data/unknown_0667D0.rodata.s deleted file mode 100644 index 53fb67c7..00000000 --- a/data/unknown_0667D0.rodata.s +++ /dev/null @@ -1,14 +0,0 @@ -.include "macros.inc" - -.macro .aligned_text ascii - .asciz "\ascii" - .balign 4 -.endm - -.section .rodata - -glabel D_800E6ED0 -.aligned_text "WARNING: Stack overflow/underflow!!!\n" - -.word 0x00000000 -.word 0x00000000 diff --git a/data/unknown_0CA530.rodata.s b/data/unknown_0CA530.rodata.s deleted file mode 100644 index 989b95d2..00000000 --- a/data/unknown_0CA530.rodata.s +++ /dev/null @@ -1,24 +0,0 @@ -.include "macros.inc" - -.macro .aligned_text ascii - .asciz "\ascii" - .balign 4 -.endm - -.section .rodata - -glabel D_800E94B0 -.word 0x412E8480 -.word 0x00000000 - -glabel D_800E94B8 -.word 0x412E8480 -.word 0x00000000 - -glabel D_800E94C0 -.word 0x3F8012EF - -glabel D_800E94C4 -.word 0x3F7FDA28 -.word 0x00000000 -.word 0x00000000 diff --git a/lib/src/unknown_0CA530.c b/lib/src/unknown_0CA530.c index 0c6bbb03..839d1f1b 100644 --- a/lib/src/unknown_0CA530.c +++ b/lib/src/unknown_0CA530.c @@ -4,6 +4,15 @@ #include "types.h" #include "macros.h" +/************ .rodata ************/ + +const DoubleLiteral D_800E94B0 = { 1000000.0 }; +const DoubleLiteral D_800E94B8 = { 1000000.0 }; +const FloatLiteral D_800E94C0 = { 1.0005778075f }; +const FloatLiteral D_800E94C4 = { 0.999422551f }; + +/*********************************/ + GLOBAL_ASM("lib/asm/non_matchings/unknown_0CA530/alSynFreeVoice.s") GLOBAL_ASM("lib/asm/non_matchings/unknown_0CA530/alCents2Ratio.s") GLOBAL_ASM("lib/asm/non_matchings/unknown_0CA530/osSetIntMask.s") diff --git a/src/unknown_05F0C0.c b/src/unknown_05F0C0.c index 09ce122c..1e3f3db7 100644 --- a/src/unknown_05F0C0.c +++ b/src/unknown_05F0C0.c @@ -15,4 +15,12 @@ s16 D_800DCE40[16] = { /*******************************/ +/************ .rodata ************/ + +// In func_8005E4C0 +const DoubleLiteral D_800E6AA0 = { 0.3 }; +const DoubleLiteral D_800E6AA8 = { 700.0 }; + +/*********************************/ + GLOBAL_ASM("asm/non_matchings/unknown_05F0C0/func_8005E4C0.s") diff --git a/src/unknown_0667D0.c b/src/unknown_0667D0.c index bc589714..799b38e4 100644 --- a/src/unknown_0667D0.c +++ b/src/unknown_0667D0.c @@ -12,6 +12,14 @@ s16 D_800DD050 = 0; extern s32* D_80065D98; +/************ .rodata ************/ + +// In func_80065E30 +const char D_800E6ED0[] = "WARNING: Stack overflow/underflow!!!\n"; + +/*********************************/ + + /************ .bss ************/ extern s32* D_8011D750; From a6d38d8aa7c135d21ef186853fdaebe9d90a806c Mon Sep 17 00:00:00 2001 From: David Benepe Date: Sun, 30 May 2021 14:26:39 -0500 Subject: [PATCH 09/27] Moved .rodata in unknown_05DCD0 & unknown_05CEF0 from asm to C. --- data/unknown_05CEF0.rodata.s | 32 -------------- data/unknown_05DCD0.rodata.s | 82 ------------------------------------ src/unknown_05CEF0.c | 9 ++++ src/unknown_05DCD0.c | 23 ++++++++++ 4 files changed, 32 insertions(+), 114 deletions(-) delete mode 100644 data/unknown_05CEF0.rodata.s delete mode 100644 data/unknown_05DCD0.rodata.s diff --git a/data/unknown_05CEF0.rodata.s b/data/unknown_05CEF0.rodata.s deleted file mode 100644 index eb3a3cd2..00000000 --- a/data/unknown_05CEF0.rodata.s +++ /dev/null @@ -1,32 +0,0 @@ -.include "macros.inc" - -.macro .aligned_text ascii - .asciz "\ascii" - .balign 4 -.endm - -.section .rodata - -glabel D_800E6A10 -.word 0x3FD33333 - -glabel D_800E6A14 -.word 0x33333333 - -glabel D_800E6A18 -.word 0xBFB99999 - -glabel D_800E6A1C -.word 0x9999999A - -glabel D_800E6A20 -.word 0x3FB99999 - -glabel D_800E6A24 -.word 0x9999999A - -glabel D_800E6A28 -.word 0x4085E000 - -glabel D_800E6A2C -.word 0x00000000 diff --git a/data/unknown_05DCD0.rodata.s b/data/unknown_05DCD0.rodata.s deleted file mode 100644 index 838ae7dc..00000000 --- a/data/unknown_05DCD0.rodata.s +++ /dev/null @@ -1,82 +0,0 @@ -.include "macros.inc" - -.macro .aligned_text ascii - .asciz "\ascii" - .balign 4 -.endm - -.section .rodata - -glabel D_800E6A30 -.word 0x3FD33333 - -glabel D_800E6A34 -.word 0x33333333 - -glabel D_800E6A38 -.word 0xBFB99999 - -glabel D_800E6A3C -.word 0x9999999A - -glabel D_800E6A40 -.word 0x3FB99999 - -glabel D_800E6A44 -.word 0x9999999A - -glabel D_800E6A48 -.word 0x4085E000 - -glabel D_800E6A4C -.word 0x00000000 - -glabel D_800E6A50 -.word 0x3FD33333 - -glabel D_800E6A54 -.word 0x33333333 - -glabel D_800E6A58 -.word 0xBFD33333 - -glabel D_800E6A5C -.word 0x33333333 - -glabel D_800E6A60 -.word 0x3FD147AE - -glabel D_800E6A64 -.word 0x147AE148 - -glabel D_800E6A68 -.word 0x3FDCCCCC - -glabel D_800E6A6C -.word 0xCCCCCCCD - -glabel D_800E6A70 -.word 0x8005DBEC -.word 0x8005DC10 -.word 0x8005DC48 -.word 0x8005DC64 -.word 0x8005DCBC -.word 0x8005DCE8 - -glabel D_800E6A88 -.word 0xBFB99999 - -glabel D_800E6A8C -.word 0x9999999A - -glabel D_800E6A90 -.word 0x3FB99999 - -glabel D_800E6A94 -.word 0x9999999A - -glabel D_800E6A98 -.word 0x4085E000 - -glabel D_800E6A9C -.word 0x00000000 diff --git a/src/unknown_05CEF0.c b/src/unknown_05CEF0.c index d9f998b9..71f76806 100644 --- a/src/unknown_05CEF0.c +++ b/src/unknown_05CEF0.c @@ -15,6 +15,15 @@ s16 D_800DCDE0[16] = { /*******************************/ +/************ .rodata ************/ + +const DoubleLiteral D_800E6A10 = { 0.3 }; +const DoubleLiteral D_800E6A18 = { -0.1 }; +const DoubleLiteral D_800E6A20 = { 0.1 }; +const DoubleLiteral D_800E6A28 = { 700.0 }; + +/*********************************/ + GLOBAL_ASM("asm/non_matchings/unknown_05CEF0/func_8005C2F0.s") GLOBAL_ASM("asm/non_matchings/unknown_05CEF0/func_8005C364.s") GLOBAL_ASM("asm/non_matchings/unknown_05CEF0/func_8005CA78.s") diff --git a/src/unknown_05DCD0.c b/src/unknown_05DCD0.c index 64c60118..5836dd7f 100644 --- a/src/unknown_05DCD0.c +++ b/src/unknown_05DCD0.c @@ -22,6 +22,29 @@ s16 D_800DCE20[16] = { /*******************************/ +/************ .rodata ************/ + +const DoubleLiteral D_800E6A30 = { 0.3 }; +const DoubleLiteral D_800E6A38 = { -0.1 }; +const DoubleLiteral D_800E6A40 = { 0.1 }; +const DoubleLiteral D_800E6A48 = { 700.0 }; +const DoubleLiteral D_800E6A50 = { 0.3 }; +const DoubleLiteral D_800E6A58 = { -0.3 }; +const DoubleLiteral D_800E6A60 = { 0.27 }; +const DoubleLiteral D_800E6A68 = { 0.45 }; + +// Jump table in func_8005D820 +const u32 D_800E6A70[] = { + 0x8005DBEC, 0x8005DC10, 0x8005DC48, 0x8005DC64, + 0x8005DCBC, 0x8005DCE8 +}; + +const DoubleLiteral D_800E6A88 = { -0.1 }; +const DoubleLiteral D_800E6A90 = { 0.1 }; +const DoubleLiteral D_800E6A98 = { 700.0 }; + +/*********************************/ + GLOBAL_ASM("asm/non_matchings/unknown_05DCD0/func_8005D0D0.s") GLOBAL_ASM("asm/non_matchings/unknown_05DCD0/func_8005D820.s") GLOBAL_ASM("asm/non_matchings/unknown_05DCD0/func_8005E204.s") From ed6db75b4837a2aaf8e6d28a352c091b0523244c Mon Sep 17 00:00:00 2001 From: David Benepe Date: Sun, 30 May 2021 14:36:36 -0500 Subject: [PATCH 10/27] Moved .rodata in unknown_079F50 from asm to C. --- data/unknown_079F50.rodata.s | 41 ------------------------------------ src/unknown_079F50.c | 32 ++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 41 deletions(-) delete mode 100644 data/unknown_079F50.rodata.s diff --git a/data/unknown_079F50.rodata.s b/data/unknown_079F50.rodata.s deleted file mode 100644 index d7828698..00000000 --- a/data/unknown_079F50.rodata.s +++ /dev/null @@ -1,41 +0,0 @@ -.include "macros.inc" - -.macro .aligned_text ascii - .asciz "\ascii" - .balign 4 -.endm - -.section .rodata - -.aligned_text "(Audio task)" -.aligned_text "(Game task)" -.aligned_text "(DI task)\n" -.aligned_text "(DI benchmark test)\n" -.aligned_text "(Unknown task type %d)\n" -.aligned_text "\nRCP TASK INFO\n" -.aligned_text "-------------\n" -.aligned_text "\ttype\t\t= %u\n" -.aligned_text "\tflags\t\t= %u\n" -.aligned_text "\tucode_boot\t\t= %p\n" -.aligned_text "\tucode_boot_size\t\t= %u\n" -.aligned_text "\tucode\t\t= %p\n" -.aligned_text "\tucode_size\t\t= %u\n" -.aligned_text "\tucode_data\t\t= %p\n" -.aligned_text "\tucode_data_size\t\t= %u\n" -.aligned_text "\toutput_buff\t\t= %p\n" -.aligned_text "\toutput_buff_size\t\t= %u\n" -.aligned_text "\tdata_ptr\t\t= %p\n" -.aligned_text "\tdata_size\t\t= %u\n" - -glabel D_800E796C -.word 0x48E4E1C0 - -glabel D_800E7970 -.word 0x8007A2A4 -.word 0x8007A248 -.word 0x8007A1BC -.word 0x8007A2A4 -.word 0x8007A2A4 -.word 0x8007A248 -.word 0x8007A248 -.word 0x00000000 diff --git a/src/unknown_079F50.c b/src/unknown_079F50.c index 30663b6f..ae78025d 100644 --- a/src/unknown_079F50.c +++ b/src/unknown_079F50.c @@ -83,6 +83,38 @@ s32 D_800DE764 = 0; // Currently unknown, might be a different type. /*******************************/ +/************ .rodata ************/ + +const char D_800E7800[] = "(Audio task)"; +const char D_800E7810[] = "(Game task)"; +const char D_800E781C[] = "(DI task)\n"; +const char D_800E7828[] = "(DI benchmark test)\n"; +const char D_800E7840[] = "(Unknown task type %d)\n"; +const char D_800E7858[] = "\nRCP TASK INFO\n"; +const char D_800E7868[] = "-------------\n"; +const char D_800E7878[] = "\ttype\t\t= %u\n"; +const char D_800E7888[] = "\tflags\t\t= %u\n"; +const char D_800E7898[] = "\tucode_boot\t\t= %p\n"; +const char D_800E78AC[] = "\tucode_boot_size\t\t= %u\n"; +const char D_800E78C4[] = "\tucode\t\t= %p\n"; +const char D_800E78D4[] = "\tucode_size\t\t= %u\n"; +const char D_800E78E8[] = "\tucode_data\t\t= %p\n"; +const char D_800E78FC[] = "\tucode_data_size\t\t= %u\n"; +const char D_800E7914[] = "\toutput_buff\t\t= %p\n"; +const char D_800E7928[] = "\toutput_buff_size\t\t= %u\n"; +const char D_800E7944[] = "\tdata_ptr\t\t= %p\n"; +const char D_800E7958[] = "\tdata_size\t\t= %u\n"; + +const FloatLiteral D_800E796C = { 468750.0f }; + +// Jump table in __scSchedule +const u32 D_800E7970[] = { + 0x8007A2A4, 0x8007A248, 0x8007A1BC, 0x8007A2A4, + 0x8007A2A4, 0x8007A248, 0x8007A248 +}; + +/*********************************/ + extern OSViMode D_800E3900[];//osViModeTable; extern s32 D_80126120; From 214d0923a4074cb66d9ebf13095f29c555e29f0a Mon Sep 17 00:00:00 2001 From: David Benepe Date: Sun, 30 May 2021 14:49:29 -0500 Subject: [PATCH 11/27] Moved .rodata in unknown_05F690 from asm to C. --- data/unknown_05F690.rodata.s | 74 ------------------------------------ src/unknown_05F690.c | 26 +++++++++++++ 2 files changed, 26 insertions(+), 74 deletions(-) delete mode 100644 data/unknown_05F690.rodata.s diff --git a/data/unknown_05F690.rodata.s b/data/unknown_05F690.rodata.s deleted file mode 100644 index be4ca171..00000000 --- a/data/unknown_05F690.rodata.s +++ /dev/null @@ -1,74 +0,0 @@ -.include "macros.inc" - -.macro .aligned_text ascii - .asciz "\ascii" - .balign 4 -.endm - -.section .rodata - -glabel D_800E6AB0 -.word 0x3FD33333 - -glabel D_800E6AB4 -.word 0x33333333 - -glabel D_800E6AB8 -.word 0xBFD33333 - -glabel D_800E6ABC -.word 0x33333333 - -glabel D_800E6AC0 -.word 0x3FD99999 - -glabel D_800E6AC4 -.word 0x9999999A - -glabel D_800E6AC8 -.word 0x3FDCCCCC - -glabel D_800E6ACC -.word 0xCCCCCCCD - -glabel D_800E6AD0 -.word 0x8005EE9C -.word 0x8005EEC0 -.word 0x8005EEF8 -.word 0x8005EF14 -.word 0x8005EF6C -.word 0x8005EF98 - -glabel D_800E6AE8 -.word 0xBFB99999 - -glabel D_800E6AEC -.word 0x9999999A - -glabel D_800E6AF0 -.word 0x3FB99999 - -glabel D_800E6AF4 -.word 0x9999999A -.word 0x00000000 -.word 0x00000000 - -glabel D_800E6B00 -.word 0x3FD33333 - -glabel D_800E6B04 -.word 0x33333333 - -glabel D_800E6B08 -.word 0xBFD33333 - -glabel D_800E6B0C -.word 0x33333333 - -glabel D_800E6B10 -.word 0x3FD99999 - -glabel D_800E6B14 -.word 0x9999999A -.word 0x00000000 -.word 0x00000000 diff --git a/src/unknown_05F690.c b/src/unknown_05F690.c index 5d67e307..a01b4021 100644 --- a/src/unknown_05F690.c +++ b/src/unknown_05F690.c @@ -26,6 +26,32 @@ s32 D_800DCEA4 = 1980; /*******************************/ +/************ .rodata ************/ + +const DoubleLiteral D_800E6AB0 = { 0.3 }; +const DoubleLiteral D_800E6AB8 = { -0.3 }; +const DoubleLiteral D_800E6AC0 = { 0.4 }; +const DoubleLiteral D_800E6AC8 = { 0.45 }; + +// Jump table in func_8005EA90 +const u32 D_800E6AD0[] = { + 0x8005EE9C, 0x8005EEC0, 0x8005EEF8, 0x8005EF14, + 0x8005EF6C, 0x8005EF98 +}; + +const DoubleLiteral D_800E6AE8 = { -0.1 }; +const DoubleLiteral D_800E6AF0 = { 0.1 }; + +// This is probably just file boundary padding. +const DoubleLiteral D_800E6AF8 = { 0.0 }; + +const DoubleLiteral D_800E6B00 = { 0.3 }; +const DoubleLiteral D_800E6B08 = { -0.3 }; +const DoubleLiteral D_800E6B10 = { 0.4 }; + + +/*********************************/ + GLOBAL_ASM("asm/non_matchings/unknown_05F690/func_8005EA90.s") GLOBAL_ASM("asm/non_matchings/unknown_05F690/func_8005F310.s") GLOBAL_ASM("asm/non_matchings/unknown_05F690/func_8005F850.s") From 0907b49b92975142f1d8d177e96a20f2e519d80d Mon Sep 17 00:00:00 2001 From: David Benepe Date: Sun, 30 May 2021 15:01:34 -0500 Subject: [PATCH 12/27] Moved .rodata in unknown_07AF10 from asm to C. --- data/unknown_07AF10.rodata.s | 40 -------------------------- src/unknown_07AF10.c | 55 +++++++++++++++++++++++++++--------- 2 files changed, 42 insertions(+), 53 deletions(-) delete mode 100644 data/unknown_07AF10.rodata.s diff --git a/data/unknown_07AF10.rodata.s b/data/unknown_07AF10.rodata.s deleted file mode 100644 index 5b2b47ef..00000000 --- a/data/unknown_07AF10.rodata.s +++ /dev/null @@ -1,40 +0,0 @@ -.include "macros.inc" - -.macro .aligned_text ascii - .asciz "\ascii" - .balign 4 -.endm - -.section .rodata - -.aligned_text "320 by 240 Point sampled, Non interlaced.\n" -.aligned_text "320 by 240 Anti-aliased, Non interlaced.\n" -.aligned_text "640 by 240 Point sampled, Non interlaced.\n" -.aligned_text "640 by 240 Anti-aliased, Non interlaced.\n" -.aligned_text "640 by 480 Point sampled, Interlaced.\n" -.aligned_text "640 by 480 Anti-aliased, Interlaced.\n" -.aligned_text "640 by 480 Point sampled, Interlaced, De-flickered.\n" -.aligned_text "640 by 480 Anti-aliased, Interlaced, De-flickered.\n" - -glabel D_800E7AFC -.word 0x3F9B26CA - -glabel D_800E7B00 -.word 0x3F8CCCCD - -glabel D_800E7B04 -.word 0x3FAAAAAB - -glabel D_800E7B08 -.word 0x3FAAAAAB - -glabel D_800E7B0C -.word 0x8007A5AC -.word 0x8007A5D0 -.word 0x8007A658 -.word 0x8007A6C0 -.word 0x8007A728 -.word 0x8007A750 -.word 0x8007A778 -.word 0x8007A7A0 -.word 0x00000000 diff --git a/src/unknown_07AF10.c b/src/unknown_07AF10.c index bf69b37b..3a109177 100644 --- a/src/unknown_07AF10.c +++ b/src/unknown_07AF10.c @@ -12,25 +12,52 @@ s8 D_800DE778 = 2; /* Size: 0x08 bytes */ typedef struct unk800DE77C { - /* 0x00 */ s32 unk0; - /* 0x04 */ s32 unk4; + /* 0x00 */ s32 width; + /* 0x04 */ s32 height; } unk800DE77C; -extern unk800DE77C D_800DE77C[8] = { - { 0x140, 0xF0 }, - { 0x140, 0xF0 }, - { 0x280, 0xF0 }, - { 0x280, 0xF0 }, - { 0x280, 0x1E0 }, - { 0x280, 0x1E0 }, - { 0x280, 0x1E0 }, - { 0x280, 0x1E0 } +// Video mode resolutions +unk800DE77C D_800DE77C[8] = { + { 320, 240 }, + { 320, 240 }, + { 640, 240 }, + { 640, 240 }, + { 640, 480 }, + { 640, 480 }, + { 640, 480 }, + { 640, 480 } }; s32 D_800DE7BC = 0; // Currently unknown, might be a different type. /*******************************/ +/************ .rodata ************/ + +const char D_800E7990[] = "320 by 240 Point sampled, Non interlaced.\n"; +const char D_800E79BC[] = "320 by 240 Anti-aliased, Non interlaced.\n"; +const char D_800E79EC[] = "640 by 240 Point sampled, Non interlaced.\n"; +const char D_800E7A10[] = "640 by 240 Anti-aliased, Non interlaced.\n"; +const char D_800E7A40[] = "640 by 480 Point sampled, Interlaced.\n"; +const char D_800E7A68[] = "640 by 480 Anti-aliased, Interlaced.\n"; +const char D_800E7A90[] = "640 by 480 Point sampled, Interlaced, De-flickered.\n"; +const char D_800E7AC8[] = "640 by 480 Anti-aliased, Interlaced, De-flickered.\n"; + +const FloatLiteral D_800E7AFC = { 1.21212125f }; +const FloatLiteral D_800E7B00 = { 1.1f }; +const FloatLiteral D_800E7B04 = { 1.33333333f }; +const FloatLiteral D_800E7B08 = { 1.33333333f }; + +// Jump table in func_8007A550 +const u32 D_800E7B0C[] = { + 0x8007A5AC, 0x8007A5D0, 0x8007A658, 0x8007A6C0, + 0x8007A728, 0x8007A750, 0x8007A778, 0x8007A7A0 +}; + +/*********************************/ + +/************ .bss ************/ + extern s32 D_801262B0[2]; extern s32 D_801262B8[2]; extern s32 D_801262C8; @@ -38,6 +65,8 @@ extern s32 D_801262CC; extern s8 D_80126308; extern s8 D_80126309; +/******************************/ + GLOBAL_ASM("asm/non_matchings/unknown_07AF10/func_8007A310.s") void func_8007A4C0(s32 arg0) { @@ -51,8 +80,8 @@ s32 func_8007A4CC(void) { /* Unused? */ void func_8007A4DC(s32 arg0) { - D_801262B0[arg0] = D_800DE77C[D_801262CC & 0x07].unk0; - D_801262B8[arg0] = D_800DE77C[D_801262CC & 0x07].unk4; + D_801262B0[arg0] = D_800DE77C[D_801262CC & 0x07].width; + D_801262B8[arg0] = D_800DE77C[D_801262CC & 0x07].height; } s32 func_8007A520(void) { From c91759a97a6fb0d0372d8870086bfe0bdd8e14d1 Mon Sep 17 00:00:00 2001 From: David Benepe Date: Sun, 30 May 2021 15:31:15 -0500 Subject: [PATCH 13/27] Moved .rodata in unknown_0D3160 from asm to C. --- data/unknown_0D3160.rodata.s | 48 ------------------------------- lib/asm/exception/__osException.s | 25 ++++++++++++++++ lib/src/unknown_0D3160.c | 13 +++++++++ 3 files changed, 38 insertions(+), 48 deletions(-) delete mode 100644 data/unknown_0D3160.rodata.s diff --git a/data/unknown_0D3160.rodata.s b/data/unknown_0D3160.rodata.s deleted file mode 100644 index b698a160..00000000 --- a/data/unknown_0D3160.rodata.s +++ /dev/null @@ -1,48 +0,0 @@ -.include "macros.inc" - -.macro .aligned_text ascii - .asciz "\ascii" - .balign 4 -.endm - -.section .rodata - -glabel D_800E9640 -.word 0x3F91DF46 -.word 0x9D353918 -.word 0x00000000 -.word 0x00000000 - -glabel D_800E9650 -.word 0x800D2A70 -.word 0x800D2964 -.word 0x800D29A4 -.word 0x800D2A90 -.word 0x800D2A90 -.word 0x800D29E0 -.word 0x800D2A28 -.word 0x00000000 - -glabel D_800E9670 -.word 0x00141818 -.word 0x1C1C1C1C -.word 0x20202020 -.word 0x20202020 -.word 0x00040808 -.word 0x0C0C0C0C -.word 0x10101010 -.word 0x10101010 - -glabel D_800E9690 -.word 0x800D3168 -.word 0x800D3130 -.word 0x800D3110 -.word 0x800D2F74 -.word 0x800D2F20 -.word 0x800D30B4 -.word 0x800D2EE8 -.word 0x800D2EF4 -.word 0x800D2F00 -.word 0x00000000 -.word 0x00000000 -.word 0x00000000 diff --git a/lib/asm/exception/__osException.s b/lib/asm/exception/__osException.s index b49a8d69..a6c15414 100644 --- a/lib/asm/exception/__osException.s +++ b/lib/asm/exception/__osException.s @@ -1,3 +1,28 @@ +.section .rodata + +glabel D_800E9670 +.word 0x00141818 +.word 0x1C1C1C1C +.word 0x20202020 +.word 0x20202020 +.word 0x00040808 +.word 0x0C0C0C0C +.word 0x10101010 +.word 0x10101010 + +glabel D_800E9690 +.word 0x800D3168 +.word 0x800D3130 +.word 0x800D3110 +.word 0x800D2F74 +.word 0x800D2F20 +.word 0x800D30B4 +.word 0x800D2EE8 +.word 0x800D2EF4 +.word 0x800D2F00 + +.section .text + glabel __osException /* 0D38C0 800D2CC0 3C1A8013 */ lui $k0, %hi(D_8012D240) # $k0, 0x8013 /* 0D38C4 800D2CC4 275AD240 */ addiu $k0, %lo(D_8012D240) # addiu $k0, $k0, -0x2dc0 diff --git a/lib/src/unknown_0D3160.c b/lib/src/unknown_0D3160.c index 3804eb00..3d95cfc6 100644 --- a/lib/src/unknown_0D3160.c +++ b/lib/src/unknown_0D3160.c @@ -6,6 +6,19 @@ #include "libultra_internal.h" #include "hardware.h" +/************ .rodata ************/ + +const DoubleLiteral D_800E9640 = { 0.017453292222222222 }; +const DoubleLiteral D_800E9648 = { 0.0 }; // This is probably a file boundary. This file needs to be split. + +// Jump table in __osDevMgrMain +const u32 D_800E9650[] = { + 0x800D2A70, 0x800D2964, 0x800D29A4, 0x800D2A90, + 0x800D2A90, 0x800D29E0, 0x800D2A28 +}; + +/*********************************/ + GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3160/__osDisableInt.s") GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3160/__osRestoreInt.s") From a074165247198a90d4b95111e708746618e2f921 Mon Sep 17 00:00:00 2001 From: David Benepe Date: Sun, 30 May 2021 15:40:00 -0500 Subject: [PATCH 14/27] Moved .rodata in unknown_07B870 from asm to C. --- data/unknown_07B870.rodata.s | 20 -------------------- src/unknown_07B870.c | 15 +++++++++++++++ 2 files changed, 15 insertions(+), 20 deletions(-) delete mode 100644 data/unknown_07B870.rodata.s diff --git a/data/unknown_07B870.rodata.s b/data/unknown_07B870.rodata.s deleted file mode 100644 index cd3977cc..00000000 --- a/data/unknown_07B870.rodata.s +++ /dev/null @@ -1,20 +0,0 @@ -.include "macros.inc" - -.macro .aligned_text ascii - .asciz "\ascii" - .balign 4 -.endm - -.section .rodata - -.aligned_text "Error: Texture no %x out of range on load. !!\n" -.aligned_text "TEX Error: Palette memory overflow!!\n" -.aligned_text "TEX Error: TexTab overflow!!\n" -.aligned_text "texFreeTexture: NULL tex!!\n" -.aligned_text "TEX Error: Tryed to deallocate non-existent texture!!\n" -.aligned_text "SRPBUF overflow!!\n" -.aligned_text "Error: Sprite table overflow!!\n" -.aligned_text "texFreeSprite: NULL sprite!!\n" -.aligned_text "TEXSPR Error: Tryed to deallocate non-existent sprite!!\n" - -.word 0x00000000 diff --git a/src/unknown_07B870.c b/src/unknown_07B870.c index 1a9c1428..c304859e 100644 --- a/src/unknown_07B870.c +++ b/src/unknown_07B870.c @@ -466,6 +466,21 @@ u32 D_800DF410[] = { /*******************************/ + +/************ .rodata ************/ + +const char D_800E7B30[] = "Error: Texture no %x out of range on load. !!\n"; +const char D_800E7B60[] = "TEX Error: Palette memory overflow!!\n"; +const char D_800E7B88[] = "TEX Error: TexTab overflow!!\n"; +const char D_800E7BA8[] = "texFreeTexture: NULL tex!!\n"; +const char D_800E7BC4[] = "TEX Error: Tryed to deallocate non-existent texture!!\n"; +const char D_800E7BFC[] = "SRPBUF overflow!!\n"; +const char D_800E7C10[] = "Error: Sprite table overflow!!\n"; +const char D_800E7C30[] = "texFreeSprite: NULL sprite!!\n"; +const char D_800E7C50[] = "TEXSPR Error: Tryed to deallocate non-existent sprite!!\n"; + +/*********************************/ + /************ .bss ************/ extern s32 D_80126338; From 515065c717e32db4020a34296145f6380d78dd82 Mon Sep 17 00:00:00 2001 From: David Benepe Date: Sun, 30 May 2021 15:52:11 -0500 Subject: [PATCH 15/27] Moved .rodata in unknown_062930 from asm to unknown_05F690.c. --- data/unknown_062930.rodata.s | 20 -------------------- src/unknown_05F690.c | 11 +++++++++++ 2 files changed, 11 insertions(+), 20 deletions(-) delete mode 100644 data/unknown_062930.rodata.s diff --git a/data/unknown_062930.rodata.s b/data/unknown_062930.rodata.s deleted file mode 100644 index fa69915c..00000000 --- a/data/unknown_062930.rodata.s +++ /dev/null @@ -1,20 +0,0 @@ -.include "macros.inc" - -.macro .aligned_text ascii - .asciz "\ascii" - .balign 4 -.endm - -.section .rodata - -# I am not sure if this is in the correct file. It is hard to tell without any glabels. - -.aligned_text "Error: Model no. out of range on load. !!\n" -.aligned_text "TEXTURE ERROR!!\n%d,%d\n" -.aligned_text "Error: Model table overflow!!\n" -.aligned_text "WARNING :: createModelInstance called with NULL pointer\n" -.aligned_text "ModFreeModel : NULL mod_inst!!\n" -.aligned_text "MOD Error: Tryed to deallocate non-existent model!!\n" - -.word 0x00000000 -.word 0x00000000 diff --git a/src/unknown_05F690.c b/src/unknown_05F690.c index a01b4021..c09fcd4a 100644 --- a/src/unknown_05F690.c +++ b/src/unknown_05F690.c @@ -49,6 +49,17 @@ const DoubleLiteral D_800E6B00 = { 0.3 }; const DoubleLiteral D_800E6B08 = { -0.3 }; const DoubleLiteral D_800E6B10 = { 0.4 }; +// This is another file boundary. +const DoubleLiteral D_800E6B18 = { 0.0 }; + +// I am not sure where these go. It is hard to tell without any glabels. +// Need to figure out which file handles creating models. +const char D_800E6B20[] = "Error: Model no. out of range on load. !!\n"; +const char D_800E6B4C[] = "TEXTURE ERROR!!\n%d,%d\n"; +const char D_800E6B64[] = "Error: Model table overflow!!\n"; +const char D_800E6B84[] = "WARNING :: createModelInstance called with NULL pointer\n"; +const char D_800E6BC0[] = "ModFreeModel : NULL mod_inst!!\n"; +const char D_800E6BE0[] = "MOD Error: Tryed to deallocate non-existent model!!\n"; /*********************************/ From c95fd196a8a9c353d5497724eb91378f3b47a5d0 Mon Sep 17 00:00:00 2001 From: David Benepe Date: Sun, 30 May 2021 16:02:34 -0500 Subject: [PATCH 16/27] Moved .rodata in unknown_061D30 from asm to C. --- data/unknown_061D30.rodata.s | 161 ----------------------------------- src/unknown_061D30.c | 54 ++++++++++++ tools/python/generate_ld.py | 1 + 3 files changed, 55 insertions(+), 161 deletions(-) delete mode 100644 data/unknown_061D30.rodata.s diff --git a/data/unknown_061D30.rodata.s b/data/unknown_061D30.rodata.s deleted file mode 100644 index 7a937001..00000000 --- a/data/unknown_061D30.rodata.s +++ /dev/null @@ -1,161 +0,0 @@ -.include "macros.inc" - -.macro .aligned_text ascii - .asciz "\ascii" - .balign 4 -.endm - -.section .rodata - -.aligned_text "CSP: oh oh \n" - -glabel D_800E6C30 -.word 0x8006247C -.word 0x80062978 -.word 0x800626F8 -.word 0x80062978 -.word 0x80062978 -.word 0x800624AC -.word 0x800624FC -.word 0x8006270C -.word 0x80062978 -.word 0x8006248C -.word 0x80062720 -.word 0x80062978 -.word 0x80062924 -.word 0x80062944 -.word 0x80062968 -.word 0x80062788 -.word 0x800627AC -.word 0x80062880 -.word 0x80062978 -.word 0x80062978 -.word 0x80062978 -.word 0x800626F8 -.word 0x80062564 -.word 0x80062668 - -glabel D_800E6C90 -.word 0x80062A90 -.word 0x80062AF0 -.word 0x80062AA8 -.word 0x80062AC0 -.word 0x80062AF0 -.word 0x80062AF0 -.word 0x80062AF0 -.word 0x80062AF0 -.word 0x80062AF0 -.word 0x80062AF0 -.word 0x80062AF0 -.word 0x80062AF0 -.word 0x80062AF0 -.word 0x80062AF0 -.word 0x80062AF0 -.word 0x80062AF0 -.word 0x80062AF0 -.word 0x80062AE8 -.word 0x80062AE8 -.word 0x80062AE8 - -glabel D_800E6CE0 -.word 0x80063068 -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x80062C38 -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800630C0 -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x8006319C -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800636E0 -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x80063124 -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x800637CC -.word 0x80063714 -.word 0x00000000 -.word 0x00000000 -.word 0x00000000 - diff --git a/src/unknown_061D30.c b/src/unknown_061D30.c index 2268bc29..095e4eb7 100644 --- a/src/unknown_061D30.c +++ b/src/unknown_061D30.c @@ -4,6 +4,60 @@ #include "types.h" #include "macros.h" +/************ .rodata ************/ + +const char D_800E6C20[] = "CSP: oh oh \n"; + +// Jump table in __CSPVoiceHandler +const u32 D_800E6C30[] = { + 0x8006247C, 0x80062978, 0x800626F8, 0x80062978, + 0x80062978, 0x800624AC, 0x800624FC, 0x8006270C, + 0x80062978, 0x8006248C, 0x80062720, 0x80062978, + 0x80062924, 0x80062944, 0x80062968, 0x80062788, + 0x800627AC, 0x80062880, 0x80062978, 0x80062978, + 0x80062978, 0x800626F8, 0x80062564, 0x80062668 +}; + +// Jump table in __CSPHandleNextSeqEvent +const u32 D_800E6C90[] = { + 0x80062A90, 0x80062AF0, 0x80062AA8, 0x80062AC0, + 0x80062AF0, 0x80062AF0, 0x80062AF0, 0x80062AF0, + 0x80062AF0, 0x80062AF0, 0x80062AF0, 0x80062AF0, + 0x80062AF0, 0x80062AF0, 0x80062AF0, 0x80062AF0, + 0x80062AF0, 0x80062AE8, 0x80062AE8, 0x80062AE8 +}; + +// Jump table in __CSPHandleMIDIMsg +const u32 D_800E6CE0[] = { + 0x80063068, 0x800637CC, 0x800637CC, 0x800637CC, + 0x800637CC, 0x800637CC, 0x800637CC, 0x800637CC, + 0x800637CC, 0x800637CC, 0x800637CC, 0x800637CC, + 0x800637CC, 0x800637CC, 0x800637CC, 0x800637CC, + 0x80062C38, 0x800637CC, 0x800637CC, 0x800637CC, + 0x800637CC, 0x800637CC, 0x800637CC, 0x800637CC, + 0x800637CC, 0x800637CC, 0x800637CC, 0x800637CC, + 0x800637CC, 0x800637CC, 0x800637CC, 0x800637CC, + 0x800630C0, 0x800637CC, 0x800637CC, 0x800637CC, + 0x800637CC, 0x800637CC, 0x800637CC, 0x800637CC, + 0x800637CC, 0x800637CC, 0x800637CC, 0x800637CC, + 0x800637CC, 0x800637CC, 0x800637CC, 0x800637CC, + 0x8006319C, 0x800637CC, 0x800637CC, 0x800637CC, + 0x800637CC, 0x800637CC, 0x800637CC, 0x800637CC, + 0x800637CC, 0x800637CC, 0x800637CC, 0x800637CC, + 0x800637CC, 0x800637CC, 0x800637CC, 0x800637CC, + 0x800636E0, 0x800637CC, 0x800637CC, 0x800637CC, + 0x800637CC, 0x800637CC, 0x800637CC, 0x800637CC, + 0x800637CC, 0x800637CC, 0x800637CC, 0x800637CC, + 0x800637CC, 0x800637CC, 0x800637CC, 0x800637CC, + 0x80063124, 0x800637CC, 0x800637CC, 0x800637CC, + 0x800637CC, 0x800637CC, 0x800637CC, 0x800637CC, + 0x800637CC, 0x800637CC, 0x800637CC, 0x800637CC, + 0x800637CC, 0x800637CC, 0x800637CC, 0x800637CC, + 0x80063714 +}; + +/*********************************/ + GLOBAL_ASM("asm/non_matchings/unknown_061D30/alCSPNew.s") GLOBAL_ASM("asm/non_matchings/unknown_061D30/__CSPVoiceHandler.s") GLOBAL_ASM("asm/non_matchings/unknown_061D30/__CSPPostNextSeqEvent.s") diff --git a/tools/python/generate_ld.py b/tools/python/generate_ld.py index cdf75cea..9e32a4c0 100644 --- a/tools/python/generate_ld.py +++ b/tools/python/generate_ld.py @@ -34,6 +34,7 @@ class GenerateLD: self.indentLevel = 0 self.file = file self.gen_comment('linker script generated by generate_ld.py') + self.gen_comment('If you want to make any changes, then edit the generate_ld.py script!') self.gen_newline() self.gen_line('OUTPUT_ARCH (mips)') self.gen_newline() From 9eecfad9022b52c2ef78d15165a89394fa5eb113 Mon Sep 17 00:00:00 2001 From: David Benepe Date: Sun, 30 May 2021 16:11:43 -0500 Subject: [PATCH 17/27] Moved .rodata in unknown_064830 from asm to C. --- data/unknown_064830.rodata.s | 40 ------------------------------------ src/unknown_064830.c | 25 +++++++++++++++++++++- 2 files changed, 24 insertions(+), 41 deletions(-) delete mode 100644 data/unknown_064830.rodata.s diff --git a/data/unknown_064830.rodata.s b/data/unknown_064830.rodata.s deleted file mode 100644 index 21f4a364..00000000 --- a/data/unknown_064830.rodata.s +++ /dev/null @@ -1,40 +0,0 @@ -.include "macros.inc" - -.macro .aligned_text ascii - .asciz "\ascii" - .balign 4 -.endm - -.section .rodata - -glabel D_800E6E70 -.word 0x80063FE8 -.word 0x8006401C -.word 0x8006407C -.word 0x80064050 -.word 0x800640A8 -.word 0x800640D4 -.word 0x80064144 -.word 0x800641C4 - -glabel D_800E6E90 -.word 0x4105221B - -glabel D_800E6E94 -.word 0x3D3FB61B -.word 0x00000000 -.word 0x00000000 - -glabel D_800E6EA0 -.word 0x80064AD8 -.word 0x80064AE4 -.word 0x80064AFC -.word 0x80064B08 -.word 0x80064AF0 -.word 0x80064B14 - -glabel D_800E6EB8 -.word 0x4105221B - -glabel D_800E6EBC -.word 0x3D3FB61B diff --git a/src/unknown_064830.c b/src/unknown_064830.c index fe1d2ab4..c8101ab5 100644 --- a/src/unknown_064830.c +++ b/src/unknown_064830.c @@ -87,9 +87,32 @@ s32 D_800DD028[10] = { 0x00000000, 0x00000000 }; - /*******************************/ +/************ .rodata ************/ + +// Jump table in alFxParamHdl +const u32 D_800E6E70[] = { + 0x80063FE8, 0x8006401C, 0x8006407C, 0x80064050, + 0x800640A8, 0x800640D4, 0x80064144, 0x800641C4 +}; + +const FloatLiteral D_800E6E90 = { 8.320827f }; +const FloatLiteral D_800E6E94 = { 0.04680453f }; + +const DoubleLiteral D_800E6E98 = { 0.0f }; // Probably a file boundary. + +// Jump table in alFxNew +const u32 D_800E6EA0[] = { + 0x80064AD8, 0x80064AE4, 0x80064AFC, 0x80064B08, + 0x80064AF0, 0x80064B14 +}; + +const FloatLiteral D_800E6EB8 = { 8.320827f }; +const FloatLiteral D_800E6EBC = { 0.04680453f }; + +/*********************************/ + extern s32 alAuxBusPull; extern s32 alAuxBusParam; extern s32 alEnvMixerPull; From 40aa93ed3c1f64db5ac0738c97b60b8595b03138 Mon Sep 17 00:00:00 2001 From: David Benepe Date: Sun, 30 May 2021 16:18:09 -0500 Subject: [PATCH 18/27] Moved .rodata in unknown_0CA6E0 from asm to C. --- data/unknown_0CA6E0.rodata.s | 42 ------------------------------------ lib/src/unknown_0CA6E0.c | 16 ++++++++++++++ 2 files changed, 16 insertions(+), 42 deletions(-) delete mode 100644 data/unknown_0CA6E0.rodata.s diff --git a/data/unknown_0CA6E0.rodata.s b/data/unknown_0CA6E0.rodata.s deleted file mode 100644 index df27739b..00000000 --- a/data/unknown_0CA6E0.rodata.s +++ /dev/null @@ -1,42 +0,0 @@ -.include "macros.inc" - -.macro .aligned_text ascii - .asciz "\ascii" - .balign 4 -.endm - -.section .rodata - -glabel D_800E94D0 -.word 0x05550556 -.word 0x0559055A -.word 0x05650566 -.word 0x0569056A -.word 0x05950596 -.word 0x0599059A -.word 0x05A505A6 -.word 0x05A905AA -.word 0x06550656 -.word 0x0659065A -.word 0x06650666 -.word 0x0669066A -.word 0x06950696 -.word 0x0699069A -.word 0x06A506A6 -.word 0x06A906AA -.word 0x09550956 -.word 0x0959095A -.word 0x09650966 -.word 0x0969096A -.word 0x09950996 -.word 0x0999099A -.word 0x09A509A6 -.word 0x09A909AA -.word 0x0A550A56 -.word 0x0A590A5A -.word 0x0A650A66 -.word 0x0A690A6A -.word 0x0A950A96 -.word 0x0A990A9A -.word 0x0AA50AA6 -.word 0x0AA90AAA diff --git a/lib/src/unknown_0CA6E0.c b/lib/src/unknown_0CA6E0.c index 443a8058..daadab2a 100644 --- a/lib/src/unknown_0CA6E0.c +++ b/lib/src/unknown_0CA6E0.c @@ -4,4 +4,20 @@ #include "types.h" #include "macros.h" +/************ .rodata ************/ + +// Not sure where this belongs. +const u16 D_800E94D0[] = { + 0x0555, 0x0556, 0x0559, 0x055A, 0x0565, 0x0566, 0x0569, 0x056A, + 0x0595, 0x0596, 0x0599, 0x059A, 0x05A5, 0x05A6, 0x05A9, 0x05AA, + 0x0655, 0x0656, 0x0659, 0x065A, 0x0665, 0x0666, 0x0669, 0x066A, + 0x0695, 0x0696, 0x0699, 0x069A, 0x06A5, 0x06A6, 0x06A9, 0x06AA, + 0x0955, 0x0956, 0x0959, 0x095A, 0x0965, 0x0966, 0x0969, 0x096A, + 0x0995, 0x0996, 0x0999, 0x099A, 0x09A5, 0x09A6, 0x09A9, 0x09AA, + 0x0A55, 0x0A56, 0x0A59, 0x0A5A, 0x0A65, 0x0A66, 0x0A69, 0x0A6A, + 0x0A95, 0x0A96, 0x0A99, 0x0A9A, 0x0AA5, 0x0AA6, 0x0AA9, 0x0AAA +}; + +/*********************************/ + GLOBAL_ASM("lib/asm/non_matchings/unknown_0CA6E0/alSynSetPriority.s") From d447556e907fcb2a8aeb8424060c484dea02280b Mon Sep 17 00:00:00 2001 From: David Benepe Date: Sun, 30 May 2021 16:34:04 -0500 Subject: [PATCH 19/27] Moved .rodata in unknown_072E50 from asm to C. --- data/unknown_072E50.rodata.s | 117 ----------------------------------- src/unknown_072E50.c | 47 ++++++++++++++ 2 files changed, 47 insertions(+), 117 deletions(-) delete mode 100644 data/unknown_072E50.rodata.s diff --git a/data/unknown_072E50.rodata.s b/data/unknown_072E50.rodata.s deleted file mode 100644 index e4ac95b7..00000000 --- a/data/unknown_072E50.rodata.s +++ /dev/null @@ -1,117 +0,0 @@ -.include "macros.inc" - -.macro .aligned_text ascii - .asciz "\ascii" - .balign 4 -.endm - -.section .rodata - -.aligned_text "Region = %d loc = %x size = %x\t" -.aligned_text "FREE" -.aligned_text "ALLOCATED" -.aligned_text "ALLOCATED,FIXED" -.aligned_text "\n" -.aligned_text "\n" -.aligned_text "Region number = %d\t" -.aligned_text "maxSlots = %d\t" -.aligned_text "slotsUsed = %d\t" -.aligned_text "loc = %x\t" -.aligned_text "size = %x\n" -.aligned_text "\n" - -glabel D_800E7630 -.aligned_text "DKRACING-ADV" - -glabel D_800E7640 -.aligned_text "DKRACING-ADV" - -glabel D_800E7650 -.aligned_text "DKRACING-TIMES" - -glabel D_800E7660 -.aligned_text "DKRACING-TIMES" - -glabel D_800E7670 -.aligned_text "DKRACING-ADV" - -glabel D_800E7680 -.aligned_text "DKRACING-ADV" - -glabel D_800E7690 -.aligned_text "DKRACING-TIMES" - -glabel D_800E76A0 -.aligned_text "DKRACING-TIMES" - -.aligned_text "WARNING : No Eprom\n" -.aligned_text "WARNING : No Eprom\n" -.aligned_text "WARNING : No Eprom\n" -.aligned_text "WARNING : No Eprom\n" -.aligned_text "WARNING : No Eprom\n" -.aligned_text "WARNING : No Eprom\n" -.aligned_text "WARNING : No Eprom\n" - -glabel D_800E773C -.aligned_text "DKRACING-GHOSTS" - -glabel D_800E774C -.word 0x00000000 - -.aligned_text "warning: corrupt ghost\n" - -glabel D_800E7768 -.aligned_text "DKRACING-GHOSTS" - -glabel D_800E7778 -.word 0x00000000 - -glabel D_800E777C -.aligned_text "DKRACING-GHOSTS" - -glabel D_800E778C -.word 0x00000000 - -glabel D_800E7790 -.aligned_text "DKRACING-GHOSTS" - -glabel D_800E77A0 -.word 0x00000000 - -glabel D_800E77A4 -.aligned_text "DKRACING-GHOSTS" - -glabel D_800E77B4 -.word 0x00000000 - -glabel D_800E77B8 -.aligned_text "DKRACING-GHOSTS" - -glabel D_800E77C8 -.word 0x00000000 - -glabel D_800E77CC -.aligned_text "DKRACING-GHOSTS" - -glabel D_800E77DC -.word 0x00000000 - -glabel D_800E77E0 -.word 0x3FB99999 - -glabel D_800E77E4 -.word 0x9999999A - -glabel D_800E77E8 -.word 0x400CCCCC - -glabel D_800E77EC -.word 0xCCCCCCCD - -glabel D_800E77F0 -.word 0x407EA000 - -glabel D_800E77F4 -.word 0x00000000 -.word 0x00000000 -.word 0x00000000 diff --git a/src/unknown_072E50.c b/src/unknown_072E50.c index f6ad31ab..585fced0 100644 --- a/src/unknown_072E50.c +++ b/src/unknown_072E50.c @@ -13,6 +13,53 @@ s32 D_800DE48C = 0; /*******************************/ +/************ .rodata ************/ + +const char D_800E7590[] = "Region = %d loc = %x size = %x\t"; +const char D_800E75B4[] = "FREE"; +const char D_800E75BC[] = "ALLOCATED"; +const char D_800E75C8[] = "ALLOCATED,FIXED"; +const char D_800E75D8[] = "\n"; +const char D_800E75DC[] = "\n"; +const char D_800E75E0[] = "Region number = %d\t"; +const char D_800E75F4[] = "maxSlots = %d\t"; +const char D_800E7604[] = "slotsUsed = %d\t"; +const char D_800E7614[] = "loc = %x\t"; +const char D_800E7620[] = "size = %x\n"; +const char D_800E762C[] = "\n"; + +const char D_800E7630[] = "DKRACING-ADV"; +const char D_800E7640[] = "DKRACING-ADV"; +const char D_800E7650[] = "DKRACING-TIMES"; +const char D_800E7660[] = "DKRACING-TIMES"; +const char D_800E7670[] = "DKRACING-ADV"; +const char D_800E7680[] = "DKRACING-ADV"; +const char D_800E7690[] = "DKRACING-TIMES"; +const char D_800E76A0[] = "DKRACING-TIMES"; + +const char D_800E76B0[] = "WARNING : No Eprom\n"; +const char D_800E76C4[] = "WARNING : No Eprom\n"; +const char D_800E76D8[] = "WARNING : No Eprom\n"; +const char D_800E76EC[] = "WARNING : No Eprom\n"; +const char D_800E7700[] = "WARNING : No Eprom\n"; +const char D_800E7714[] = "WARNING : No Eprom\n"; +const char D_800E7728[] = "WARNING : No Eprom\n"; + +const char D_800E773C[] = "DKRACING-GHOSTS\0"; +const char D_800E7750[] = "warning: corrupt ghost\n"; +const char D_800E7768[] = "DKRACING-GHOSTS\0"; +const char D_800E777C[] = "DKRACING-GHOSTS\0"; +const char D_800E7790[] = "DKRACING-GHOSTS\0"; +const char D_800E77A4[] = "DKRACING-GHOSTS\0"; +const char D_800E77B8[] = "DKRACING-GHOSTS\0"; +const char D_800E77CC[] = "DKRACING-GHOSTS\0"; + +const DoubleLiteral D_800E77E0 = { 0.1 }; +const DoubleLiteral D_800E77E8 = { 3.6 }; +const DoubleLiteral D_800E77F0 = { 490.0 }; + +/*********************************/ + /************ .bss ************/ extern s32 D_80124010; From 60bc0581b9701799096cf35c7613ebff5060b366 Mon Sep 17 00:00:00 2001 From: David Benepe Date: Sun, 30 May 2021 17:05:58 -0500 Subject: [PATCH 20/27] Moved .rodata in unknown_071730 from asm to C. --- data/unknown_071730.rodata.s | 51 ------------------------------------ src/unknown_071730.c | 37 ++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 51 deletions(-) delete mode 100644 data/unknown_071730.rodata.s diff --git a/data/unknown_071730.rodata.s b/data/unknown_071730.rodata.s deleted file mode 100644 index 6d83d171..00000000 --- a/data/unknown_071730.rodata.s +++ /dev/null @@ -1,51 +0,0 @@ -.include "macros.inc" - -.macro .aligned_text ascii - .asciz "\ascii" - .balign 4 -.endm - -.section .rodata - -.aligned_text "*** mmAlloc: size = 0 ***\n" -.aligned_text "*** mm Error *** ---> No more slots available.\n" -.aligned_text "\n*** mm Error *** ---> No suitble block found for allocation.\n" -.aligned_text "*** mmAllocAtAddr: size = 0 ***\n" -.aligned_text "\n*** mm Error *** ---> No more slots available.\n" -.aligned_text "\n*** mm Error *** ---> Can't allocate memory at desired address.\n" -.aligned_text "\n*** mm Error *** ---> Can't free ram at this location: %x\n" -.aligned_text "\n*** mm Error *** ---> No match found for mmFree.\n" -.aligned_text "*** Slots still in use in region ***\n" -.aligned_text "\n*** mm Error *** ---> stbf stack too deep!\n" -.aligned_text "\n*** mm Error *** ---> Can't fix the specified block.\n" -.aligned_text "\n*** mm Error *** ---> Can't unfix the specified block.\n" -.aligned_text "Colour %x >> %d\n" -.aligned_text "Unable to record %d slots, colours overflowed table.\n" -.aligned_text "RED %d\n" -.aligned_text "GREEN %d\n" -.aligned_text "BLUE %d\n" -.aligned_text "YELLOW %d\n" -.aligned_text "MAGENTA %d\n" -.aligned_text "CYAN %d\n" -.aligned_text "WHITE %d\n" -.aligned_text "GREY %d\n" -.aligned_text "ORANGE %d\n\n" - -glabel D_800E7528 -.aligned_text "RED %d\n" -glabel D_800E7530 -.aligned_text "GREEN %d\n" -glabel D_800E753C -.aligned_text "BLUE %d\n" -glabel D_800E7548 -.aligned_text "YELLOW %d\n" -glabel D_800E7554 -.aligned_text "MAGENTA %d\n" -glabel D_800E7560 -.aligned_text "CYAN %d\n" -glabel D_800E756C -.aligned_text "WHITE %d\n" -glabel D_800E7578 -.aligned_text "GREY %d\n" -glabel D_800E7584 -.aligned_text "ORANGE %d\n\n" diff --git a/src/unknown_071730.c b/src/unknown_071730.c index 3e1952b5..4c194240 100644 --- a/src/unknown_071730.c +++ b/src/unknown_071730.c @@ -4,6 +4,43 @@ #include "types.h" #include "macros.h" +/************ .rodata ************/ + +const char D_800E7210[] = "*** mmAlloc: size = 0 ***\n"; +const char D_800E722C[] = "*** mm Error *** ---> No more slots available.\n"; +const char D_800E725C[] = "\n*** mm Error *** ---> No suitble block found for allocation.\n"; +const char D_800E729C[] = "*** mmAllocAtAddr: size = 0 ***\n"; +const char D_800E72C0[] = "\n*** mm Error *** ---> No more slots available.\n"; +const char D_800E72F4[] = "\n*** mm Error *** ---> Can't allocate memory at desired address.\n"; +const char D_800E7338[] = "\n*** mm Error *** ---> Can't free ram at this location: %x\n"; +const char D_800E7374[] = "\n*** mm Error *** ---> No match found for mmFree.\n"; +const char D_800E73A8[] = "*** Slots still in use in region ***\n"; +const char D_800E73D0[] = "\n*** mm Error *** ---> stbf stack too deep!\n"; +const char D_800E7400[] = "\n*** mm Error *** ---> Can't fix the specified block.\n"; +const char D_800E7438[] = "\n*** mm Error *** ---> Can't unfix the specified block.\n"; +const char D_800E7474[] = "Colour %x >> %d\n"; +const char D_800E7488[] = "Unable to record %d slots, colours overflowed table.\n"; +const char D_800E74C0[] = "RED %d\n"; +const char D_800E74C8[] = "GREEN %d\n"; +const char D_800E74D4[] = "BLUE %d\n"; +const char D_800E74E0[] = "YELLOW %d\n"; +const char D_800E74EC[] = "MAGENTA %d\n"; +const char D_800E74F8[] = "CYAN %d\n"; +const char D_800E7504[] = "WHITE %d\n"; +const char D_800E7510[] = "GREY %d\n"; +const char D_800E751C[] = "ORANGE %d\n\n"; +const char D_800E7528[] = "RED %d\n"; +const char D_800E7530[] = "GREEN %d\n"; +const char D_800E753C[] = "BLUE %d\n"; +const char D_800E7548[] = "YELLOW %d\n"; +const char D_800E7554[] = "MAGENTA %d\n"; +const char D_800E7560[] = "CYAN %d\n"; +const char D_800E756C[] = "WHITE %d\n"; +const char D_800E7578[] = "GREY %d\n"; +const char D_800E7584[] = "ORANGE %d\n\n"; + +/*********************************/ + /* Size: 0x8 bytes */ typedef struct unk80070BE4_8_0 { s16 unk0; From be11b5f14aa9e0914d9243a6bf1d0217be7370d9 Mon Sep 17 00:00:00 2001 From: David Benepe Date: Sun, 30 May 2021 20:37:07 -0500 Subject: [PATCH 21/27] Moved .rodata in unknown_09F8F0 & unknown_0B8920 from asm to C. --- data/unknown_09F8F0.rodata.s | 430 +++++++++++++++++------------------ data/unknown_0B8920.rodata.s | 122 ---------- src/unknown_09F8F0.c | 72 ++++++ src/unknown_0B8920.c | 68 ++++++ 4 files changed, 355 insertions(+), 337 deletions(-) delete mode 100644 data/unknown_0B8920.rodata.s diff --git a/data/unknown_09F8F0.rodata.s b/data/unknown_09F8F0.rodata.s index 4d5df9f0..0172cdaa 100644 --- a/data/unknown_09F8F0.rodata.s +++ b/data/unknown_09F8F0.rodata.s @@ -7,218 +7,218 @@ .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 -.word 0x00000000 -.word 0x3FF33333 -.word 0x33333333 -.word 0x3FE33333 -.word 0x33333333 -.word 0x3FF33333 -.word 0x33333333 -.word 0x3FE33333 -.word 0x33333333 - -glabel D_800E86E8 -.word 0x3FF33333 - -glabel D_800E86EC -.word 0x33333333 - -glabel D_800E86F0 -.word 0x3FE33333 - -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 -.word 0x00000000 - -glabel D_800E8720 -.word 0x40508000 - -glabel D_800E8724 -.word 0x00000000 - -glabel D_800E8728 -.word 0x40508000 - -glabel D_800E872C -.word 0x00000000 - -glabel D_800E8730 -.word 0x40508000 - -glabel D_800E8734 -.word 0x00000000 - -glabel D_800E8738 -.word 0x3FF33333 - -glabel D_800E873C -.word 0x33333333 - -glabel D_800E8740 -.word 0x46C92000 - -glabel D_800E8744 -.word 0x800A63D8 -.word 0x800A691C -.word 0x800A6BCC -.word 0x800A6CA4 -.word 0x800A6D68 - -glabel D_800E8758 -.word 0x3FF19999 - -glabel D_800E875C -.word 0x9999999A - -glabel D_800E8760 -.word 0x3FF19999 - -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 - -glabel D_800E8784 -.word 0x3A53B8E5 - -glabel D_800E8788 -.word 0x40855544 - -glabel D_800E878C -.word 0x32CA57A8 - -glabel D_800E8790 -.word 0x3FC70A3D - -glabel D_800E8794 -.word 0x70A3D70A - -glabel D_800E8798 -.word 0x3FA7FF58 - -glabel D_800E879C -.word 0x3A53B8E5 - -glabel D_800E87A0 -.word 0x3FF19999 - -glabel D_800E87A4 -.word 0x9999999A - -glabel D_800E87A8 -.word 0x43358000 -.word 0x00000000 -.word 0x40508000 -.word 0x00000000 - -glabel D_800E87B8 -.word 0x40508000 - -glabel D_800E87BC -.word 0x00000000 - -glabel D_800E87C0 -.word 0x3FF19999 - -glabel D_800E87C4 -.word 0x9999999A - -glabel D_800E87C8 -.word 0x3FF33333 - -glabel D_800E87CC -.word 0x33333333 - -glabel D_800E87D0 -.word 0x3F4CCCCD - -glabel D_800E87D4 -.word 0x3F99999A - -glabel D_800E87D8 -.word 0x3F8CCCCD -.word 0x00000000 - -glabel D_800E87E0 -.word 0x3FF19999 - -glabel D_800E87E4 -.word 0x9999999A -.word 0x00000000 -.word 0x00000000 +# 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/data/unknown_0B8920.rodata.s b/data/unknown_0B8920.rodata.s deleted file mode 100644 index bfa884c6..00000000 --- a/data/unknown_0B8920.rodata.s +++ /dev/null @@ -1,122 +0,0 @@ -.include "macros.inc" - -.macro .aligned_text ascii - .asciz "\ascii" - .balign 4 -.endm - -.section .rodata - -.aligned_text "\nCouldn't find a block to pick wave details from.\nUsing block 0 as default." -.aligned_text "\n\nBlock may be specified using 'P' on water group node." -.aligned_text "\nError :: can not remove a wave swell object which doesn't exist !" -.aligned_text "\nError :: more than eight swells overlap on column %d." -.aligned_text "\nError :: can not add another wave swell, reached limit of %d." - -glabel D_800E92A0 -.word 0x461C4000 - -glabel D_800E92A4 -.word 0xC61C4000 - -glabel D_800E92A8 -.word 0x40D47AE1 - -glabel D_800E92AC -.word 0x47AE147B - -glabel D_800E92B0 -.word 0x40D11111 - -glabel D_800E92B4 -.word 0x47AE147B - -glabel D_800E92B8 -.word 0x40D47AE1 - -glabel D_800E92BC -.word 0x47AE147B - -glabel D_800E92C0 -.word 0x40D11111 - -glabel D_800E92C4 -.word 0x47AE147B -.word 0x00000000 -.word 0x00000000 - -glabel D_800E92D0 -.word 0x800C0310 -.word 0x800C0320 -.word 0x800C0370 -.word 0x800C03C0 -.word 0x800C03D0 -.word 0x800C0420 -.word 0x800C0470 - -glabel D_800E92EC -.word 0x800C056C -.word 0x800C0580 -.word 0x800C0580 -.word 0x800C0594 -.word 0x800C0580 -.word 0x800C0580 -.word 0x800C05A8 - -glabel D_800E9308 -.word 0x3FB33333 - -glabel D_800E930C -.word 0x3F99999A - -glabel D_800E9310 -.word 0x800C0680 -.word 0x800C0694 -.word 0x800C06A8 -.word 0x800C06BC -.word 0x800C06D0 -.word 0x800C06E4 -.word 0x800C06F8 - -glabel D_800E932C -.word 0x3F99999A - -glabel D_800E9330 -.word 0x800C3958 -.word 0x800C3984 -.word 0x800C3A30 -.word 0x800C3AA8 -.word 0x800C3ADC -.word 0x800C3B00 -.word 0x800C3B2C -.word 0x800C3B50 -.word 0x800C3B88 -.word 0x800C3BA0 -.word 0x00000000 -.word 0x00000000 - -glabel D_800E9360 -.word 0x800C4A88 -.word 0x800C4A78 -.word 0x800C4AD0 -.word 0x800C4AE8 -.word 0x800C4ADC -.word 0x800C4AE8 -.word 0x800C4AE8 -.word 0x800C4AE8 -.word 0x800C4AE8 -.word 0x800C4AE8 -.word 0x800C4AE8 -.word 0x800C4AE8 -.word 0x800C4AE8 -.word 0x800C4AE8 -.word 0x800C4AE8 -.word 0x800C4AE8 -.word 0x800C4AE8 -.word 0x800C4AE8 -.word 0x800C4AE8 -.word 0x800C4AE8 -.word 0x800C4AE8 -.word 0x800C4AE8 -.word 0x800C4AE8 -.word 0x800C4A6C diff --git a/src/unknown_09F8F0.c b/src/unknown_09F8F0.c index 416ec7a0..906fb16d 100644 --- a/src/unknown_09F8F0.c +++ b/src/unknown_09F8F0.c @@ -367,6 +367,78 @@ s16 D_800E2C98[4] = { /*******************************/ +/************ .rodata ************/ + +const char D_800E8640[] = "CAN'T"; +const char D_800E8648[] = "SAVE"; +const char D_800E8650[] = "GHOST"; +const char D_800E8658[] = " CONTROLLER"; +const char D_800E8664[] = "PAK"; +const char D_800E8668[] = "FULL"; +const char D_800E8670[] = " CONTROLLER"; +const char D_800E867C[] = "PAK"; +const char D_800E8680[] = "DAMAGED"; +const char D_800E8688[] = "RACE"; +const char D_800E8690[] = "LAP"; +const char D_800E8694[] = "DID NOT FINISH"; + +const DoubleLiteral D_800E86A8 = { 0.6 }; +const DoubleLiteral D_800E86B0 = { 1.2 }; +const FloatLiteral D_800E86B8 = { 263.0f }; +const FloatLiteral D_800E86BC = { 259.0f }; +const FloatLiteral D_800E86C0 = { 265.0f }; +const DoubleLiteral D_800E86C8 = { 1.2 }; +const DoubleLiteral D_800E86D0 = { 0.6 }; +const DoubleLiteral D_800E86D8 = { 1.2 }; +const DoubleLiteral D_800E86E0 = { 0.6 }; +const DoubleLiteral D_800E86E8 = { 1.2 }; +const DoubleLiteral D_800E86F0 = { 0.6 }; + +// Jump table in func_800A0EB4 +const u32 D_800E86F8[] = { + 0x800A0F28, 0x800A0F38, 0x800A0F48, 0x800A0F58, + 0x800A0F6C, 0x800A0F80, 0x800A0F94, 0x800A0FAC +}; + +const FloatLiteral D_800E8718 = { 275.0f }; +const DoubleLiteral D_800E8720 = { 66.0 }; +const DoubleLiteral D_800E8728 = { 66.0 }; +const DoubleLiteral D_800E8730 = { 66.0 }; +const DoubleLiteral D_800E8738 = { 1.2 }; +const FloatLiteral D_800E8740 = { 25744.0f }; + +// Jump table in func_800A6254 +const u32 D_800E8744[] = { + 0x800A63D8, 0x800A691C, 0x800A6BCC, 0x800A6CA4, + 0x800A6D68 +}; + +const DoubleLiteral D_800E8758 = { 1.1 }; +const DoubleLiteral D_800E8760 = { 1.1 }; + +// Jump table in func_800A6E30 +const u32 D_800E8768[] = { + 0x800A6E70, 0x800A6F3C, 0x800A7014, 0x800A70D4, + 0x800A7158 +}; + +const DoubleLiteral D_800E8780 = { 0.04687 }; +const DoubleLiteral D_800E8788 = { 682.6583 }; +const DoubleLiteral D_800E8790 = { 0.18 }; +const DoubleLiteral D_800E8798 = { 0.04687 }; +const DoubleLiteral D_800E87A0 = { 1.1 }; +const FloatLiteral D_800E87A8 = { 181.5f }; +const DoubleLiteral D_800E87B0 = { 66.0 }; +const DoubleLiteral D_800E87B8 = { 66.0 }; +const DoubleLiteral D_800E87C0 = { 1.1 }; +const DoubleLiteral D_800E87C8 = { 1.2 }; +const FloatLiteral D_800E87D0 = { 0.8f }; +const FloatLiteral D_800E87D8 = { 1.2f }; +const FloatLiteral D_800E87E0 = { 1.1f }; +const DoubleLiteral D_800E87E8 = { 1.1 }; + +/*********************************/ + /************ .bss ************/ extern u8 D_80126CD0; diff --git a/src/unknown_0B8920.c b/src/unknown_0B8920.c index 4f5131d5..945947a4 100644 --- a/src/unknown_0B8920.c +++ b/src/unknown_0B8920.c @@ -330,6 +330,74 @@ u8* gzip_inflate_output = NULL; /*******************************/ +/************ .rodata ************/ + +const char D_800E9160[] = "\nCouldn't find a block to pick wave details from.\nUsing block 0 as default."; +const char D_800E91AC[] = "\n\nBlock may be specified using 'P' on water group node."; +const char D_800E91E4[] = "\nError :: can not remove a wave swell object which doesn't exist !"; +const char D_800E9228[] = "\nError :: more than eight swells overlap on column %d."; +const char D_800E9260[] = "\nError :: can not add another wave swell, reached limit of %d."; + +const FloatLiteral D_800E92A0 = { 10000.0f }; +const FloatLiteral D_800E92A4 = { -10000.0f }; +const FloatLiteral D_800E92A8 = { 6.64f }; +const FloatLiteral D_800E92AC = { 89128.961f }; +const FloatLiteral D_800E92B0 = { 6.5333333f }; +const FloatLiteral D_800E92B4 = { 89128.961f}; +const FloatLiteral D_800E92B8 = { 6.64f }; +const FloatLiteral D_800E92BC = { 89128.961f }; +const FloatLiteral D_800E92C0 = { 6.5333333f }; +const FloatLiteral D_800E92C4 = { 89128.961f }; + +// This is probably a file boundary. +const DoubleLiteral D_800E92C8 = { 0.0 }; + +// Jump table in func_800C01D8 +const u32 D_800E92D0[] = { + 0x800C0310, 0x800C0320, 0x800C0370, 0x800C03C0, + 0x800C03D0, 0x800C0420, 0x800C0470 +}; + +// Jump table in func_800C0494 +const u32 D_800E92EC[] = { + 0x800C056C, 0x800C0580, 0x800C0580, 0x800C0594, + 0x800C0580, 0x800C0580, 0x800C05A8 +}; + +const FloatLiteral D_800E9308 = { 1.4f }; +const FloatLiteral D_800E930C = { 1.2f }; + +// Jump table in func_800C05C8 +const u32 D_800E9310[] = { + 0x800C0680, 0x800C0694, 0x800C06A8, 0x800C06BC, + 0x800C06D0, 0x800C06E4, 0x800C06F8 +}; + +const FloatLiteral D_800E932C = { 1.2f }; + +// Jump table in func_800C38B4 +const u32 D_800E9330[] = { + 0x800C3958, 0x800C3984, 0x800C3A30, 0x800C3AA8, + 0x800C3ADC, 0x800C3B00, 0x800C3B2C, 0x800C3B50, + 0x800C3B88, 0x800C3BA0 +}; + +// This is probably a file boundary. +const DoubleLiteral D_800E9358 = { 0.0 }; + +// Jump table in func_800C45A4 +const u32 D_800E9360[] = { + 0x800C4A88, 0x800C4A78, 0x800C4AD0, 0x800C4AE8, + 0x800C4ADC, 0x800C4AE8, 0x800C4AE8, 0x800C4AE8, + 0x800C4AE8, 0x800C4AE8, 0x800C4AE8, 0x800C4AE8, + 0x800C4AE8, 0x800C4AE8, 0x800C4AE8, 0x800C4AE8, + 0x800C4AE8, 0x800C4AE8, 0x800C4AE8, 0x800C4AE8, + 0x800C4AE8, 0x800C4AE8, 0x800C4AE8, 0x800C4A6C +}; + + +/*********************************/ + /************ .bss ************/ extern s32 D_8012A0D8; From 9d7401bf281ff9b2f18394b51568efe7ed0f9b8b Mon Sep 17 00:00:00 2001 From: David Benepe Date: Sun, 30 May 2021 21:13:46 -0500 Subject: [PATCH 22/27] 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); } From 3e4c4359603ab89288d8a8c647ee5511e35a0a8b Mon Sep 17 00:00:00 2001 From: David Benepe Date: Mon, 31 May 2021 13:49:08 -0500 Subject: [PATCH 23/27] Moved .rodata in unknown_0AEE70 from asm to C. --- data/unknown_0AEE70.rodata.s | 363 ----------------------------------- src/unknown_0AEE70.c | 153 +++++++++++++++ 2 files changed, 153 insertions(+), 363 deletions(-) delete mode 100644 data/unknown_0AEE70.rodata.s diff --git a/data/unknown_0AEE70.rodata.s b/data/unknown_0AEE70.rodata.s deleted file mode 100644 index 0da13905..00000000 --- a/data/unknown_0AEE70.rodata.s +++ /dev/null @@ -1,363 +0,0 @@ -.include "macros.inc" - -.macro .aligned_text ascii - .asciz "\ascii" - .balign 4 -.endm - -.section .rodata - -.aligned_text "\nMaximum limit of %d lens flare switches, per level, has been exceeded." - -.word 0x00000000 -.word 0x00000000 - -.aligned_text "\n\nUnknown trigger type in initParticleTrigger %d, Max %d.\n\n" -.aligned_text "\n\nUnknown particle type in initParticleTrigger %d, Max %d.\n\n" -.aligned_text "\n\nUnknown trigger type in initParticleTrigger %d, Max %d.\n\n" -.aligned_text "Sprite Particle buffer is full.\n" -.aligned_text "Triangle Particle buffer is full.\n" -.aligned_text "Rectangle Particle buffer is full.\n" -.aligned_text "Line Particle buffer is full.\n" -.aligned_text "Point Particle buffer is full.\n" -.aligned_text "\n\nCan't allocate space for unknown particle type." -.aligned_text "\n\nParticle has been freed twice, this is Super Safe, Honest!\n" -.aligned_text "\n\nSprite Particle Buffer is empty.\n\n" -.aligned_text "\n\nTriangle Particle Buffer is empty.\n\n" -.aligned_text "\n\nRectangle Particle Buffer is empty.\n\n" -.aligned_text "\n\nLine Particle buffer is empty.\n\n" -.aligned_text "\n\nPoint Particle buffer is empty.\n\n" -.aligned_text "\n\nCan't deallocate space for unknown particle type.\n\n" -.aligned_text "\nError :: trigger %x has no reference to point %x" -.aligned_text "\nError :: particle %x is not indexed correctly in trigger list %x (%d >> %p)" - -.word 0x00000000 - -glabel D_800E8B98 -.word 0x3EEFFFFF - -glabel D_800E8B9C -.word 0xFFE97B64 - -glabel D_800E8BA0 -.word 0x3EEFFFFF - -glabel D_800E8BA4 -.word 0xFFE97B64 - -glabel D_800E8BA8 -.word 0x3EEFFFFF - -glabel D_800E8BAC -.word 0xFFE97B64 - -glabel D_800E8BB0 -.word 0x3EEFFFFF - -glabel D_800E8BB4 -.word 0xFFE97B64 - -glabel D_800E8BB8 -.word 0x3EEFFFFF - -glabel D_800E8BBC -.word 0xFFE97B64 - -glabel D_800E8BC0 -.word 0x3EEFFFFF - -glabel D_800E8BC4 -.word 0xFFE97B64 - -glabel D_800E8BC8 -.word 0x3EEFFFFF - -glabel D_800E8BCC -.word 0xFFE97B64 - -glabel D_800E8BD0 -.word 0x3EEFFFFF - -glabel D_800E8BD4 -.word 0xFFE97B64 - -glabel D_800E8BD8 -.word 0x3DCCCCCD - -glabel D_800E8BDC -.word 0x800B2250 -.word 0x800B20E0 -.word 0x800B2138 -.word 0x800B2190 -.word 0x800B21E8 - -glabel D_800E8BF0 -.word 0x3DCCCCCD - -glabel D_800E8BF4 -.word 0x3C23D70A -.word 0x00000000 -.word 0x00000000 - -glabel D_800E8C00 -.aligned_text "0123456789abcdefghijklmnopqrstuvwxyz" - -glabel D_800E8C28 -.aligned_text "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" - -glabel D_800E8C50 -.word 0x00000000 - -glabel D_800E8C54 -.aligned_text "(null)" - -glabel D_800E8C5C -.aligned_text "(nil)" - -.aligned_text "*** diPrintf Error *** ---> Out of string space. (Print less text!)\n" - -glabel D_800E8CAC -.word 0x800B4BA4 -.word 0x800B4BC8 -.word 0x800B4BC8 -.word 0x800B4BBC -.word 0x800B4BC8 -.word 0x800B4BC8 -.word 0x800B4BC8 -.word 0x800B4BC8 -.word 0x800B4BC8 -.word 0x800B4BC8 -.word 0x800B4BC8 -.word 0x800B4BAC -.word 0x800B4BC8 -.word 0x800B4BB4 -.word 0x800B4BC8 -.word 0x800B4BC8 -.word 0x800B4BC4 - -glabel D_800E8CF0 -.word 0x800B4DB0 -.word 0x800B4DC4 -.word 0x800B4DC4 -.word 0x800B4DC4 -.word 0x800B4DC4 -.word 0x800B4DC4 -.word 0x800B4DC4 -.word 0x800B4DC4 -.word 0x800B4DC4 -.word 0x800B4DC4 -.word 0x800B4DC4 -.word 0x800B4DC4 -.word 0x800B4DC4 -.word 0x800B4DC4 -.word 0x800B4DB8 -.word 0x800B4DC4 -.word 0x800B4DC4 -.word 0x800B4DC4 -.word 0x800B4DC4 -.word 0x800B4DC4 -.word 0x800B4DC4 -.word 0x800B4DC4 -.word 0x800B4DC4 -.word 0x800B4DC4 -.word 0x800B4DC4 -.word 0x800B4DC4 -.word 0x800B4DC4 -.word 0x800B4DC4 -.word 0x800B4D90 -.word 0x800B4DC4 -.word 0x800B4DC4 -.word 0x800B4DC4 -.word 0x800B4D98 -.word 0x800B4DC4 -.word 0x800B4DC4 -.word 0x800B4DC4 -.word 0x800B4DC4 -.word 0x800B4DC0 - -glabel D_800E8D88 -.word 0x800B52C4 -.word 0x800B5E0C -.word 0x800B5794 -.word 0x800B5E0C -.word 0x800B5E0C -.word 0x800B5E0C -.word 0x800B5E0C -.word 0x800B5E0C -.word 0x800B5E0C -.word 0x800B5E0C -.word 0x800B5E0C -.word 0x800B5E0C -.word 0x800B5E0C -.word 0x800B5E0C -.word 0x800B5E0C -.word 0x800B5E0C -.word 0x800B5E0C -.word 0x800B5E0C -.word 0x800B5E0C -.word 0x800B4F84 -.word 0x800B5E0C -.word 0x800B5E0C -.word 0x800B5E0C -.word 0x800B5E0C -.word 0x800B5E0C -.word 0x800B5E0C -.word 0x800B5E0C -.word 0x800B5E0C -.word 0x800B5E0C -.word 0x800B5E0C -.word 0x800B5AC4 -.word 0x800B4E38 -.word 0x800B52C4 -.word 0x800B57A4 -.word 0x800B5794 -.word 0x800B5E0C -.word 0x800B4E38 -.word 0x800B5E0C -.word 0x800B5E0C -.word 0x800B5E0C -.word 0x800B5E0C -.word 0x800B5D78 -.word 0x800B4F64 -.word 0x800B5C8C -.word 0x800B5E0C -.word 0x800B5E0C -.word 0x800B5B48 -.word 0x800B5E0C -.word 0x800B4F44 -.word 0x800B5E0C -.word 0x800B5E0C -.word 0x800B4FA4 - -glabel D_800E8E58 -.word 0x800B6658 -.word 0x800B6740 -.word 0x800B6614 -.word 0x800B6634 -.word 0x800B66CC - -.word 0x00000000 - -.aligned_text "\nAssertion failed: '%s' in file %s, line %d\n" -.aligned_text "\nAssertion failed: '%s' in file %s, line %d\n" -.aligned_text ">fault< " - -glabel D_800E8EDC -.aligned_text "CORE" - -glabel D_800E8EE4 -.word 0x00000000 - -glabel D_800E8EE8 -.aligned_text "CORE" - -glabel D_800E8EF0 -.word 0x00000000 - -glabel D_800E8EF4 -.aligned_text "CORE" - -glabel D_800E8EFC -.word 0x00000000 - -.aligned_text "setup" -.aligned_text "control" -.aligned_text "print" - -# EPC (Error program counter?) Lockup display strings, see: https://tcrf.net/Diddy_Kong_Racing#Crash_Debugger -glabel D_800E8F18 -.aligned_text " epc\t\t0x%08x\n" - -glabel D_800E8F28 -.aligned_text " cause\t\tmmAlloc(%d,0x%8x)\n" - -glabel D_800E8F44 -.aligned_text " object\t\t" - -glabel D_800E8F50 -.aligned_text "%s %d " - -glabel D_800E8F58 -.aligned_text "\n" - -glabel D_800E8F5C -.aligned_text "\n\n\n\n\n\n\n\n\n\n\n\n\n\n" - -glabel D_800E8F6C -.aligned_text " Fault in thread %d\n" - -glabel D_800E8F84 -.aligned_text " epc\t\t0x%08x\n" - -glabel D_800E8F94 -.aligned_text " cause\t\t0x%08x\n" - -glabel D_800E8FA4 -.aligned_text " sr\t\t0x%08x\n" - -glabel D_800E8FB4 -.aligned_text " badvaddr\t0x%08x\n" - -glabel D_800E8FC8 -.aligned_text " object\t\t" - -glabel D_800E8FD4 -.aligned_text "%s %d " - -glabel D_800E8FDC -.aligned_text "\n" - -glabel D_800E8FE0 -.aligned_text " at 0x%08x v0 0x%08x v1 0x%08x\n" - -glabel D_800E9000 -.aligned_text " a0 0x%08x a1 0x%08x a2 0x%08x\n" - -glabel D_800E9020 -.aligned_text " a3 0x%08x t0 0x%08x t1 0x%08x\n" - -glabel D_800E9040 -.aligned_text " t2 0x%08x t3 0x%08x t4 0x%08x\n" - -glabel D_800E9060 -.aligned_text " t5 0x%08x t6 0x%08x t7 0x%08x\n" - -glabel D_800E9080 -.aligned_text " s0 0x%08x s1 0x%08x s2 0x%08x\n" - -glabel D_800E90A0 -.aligned_text " s3 0x%08x s4 0x%08x s5 0x%08x\n" - -glabel D_800E90C0 -.aligned_text " s6 0x%08x s7 0x%08x t8 0x%08x\n" - -glabel D_800E90E0 -.aligned_text " t9 0x%08x gp 0x%08x sp 0x%08x\n" - -glabel D_800E9100 -.aligned_text " s8 0x%08x ra 0x%08x\n\n" -glabel D_800E9118 -.aligned_text " %08x %08x %08x\n" - -glabel D_800E912C -.aligned_text " " - -glabel D_800E9130 -.aligned_text "%04x " - -glabel D_800E9138 -.aligned_text "\n" - -### End of EPC lockup strings ### - -glabel D_800E913C -.word 0x800B7898 -.word 0x800B7C18 -.word 0x800B7C18 -.word 0x800B7C18 -.word 0x800B7C70 -.word 0x800B7CE4 - -.word 0x00000000 -.word 0x00000000 -.word 0x00000000 diff --git a/src/unknown_0AEE70.c b/src/unknown_0AEE70.c index 4af88825..9d468239 100644 --- a/src/unknown_0AEE70.c +++ b/src/unknown_0AEE70.c @@ -172,6 +172,159 @@ s32 *D_800E302C[3] = { }; /*******************************/ +/************ .rodata ************/ + +const char D_800E87F0[] = "\nMaximum limit of %d lens flare switches, per level, has been exceeded."; + +// This is probably a file boundary. +const DoubleLiteral D_800E8838 = { 0.0 }; + +const char D_800E8840[] = "\n\nUnknown trigger type in initParticleTrigger %d, Max %d.\n\n"; +const char D_800E887C[] = "\n\nUnknown particle type in initParticleTrigger %d, Max %d.\n\n"; +const char D_800E88BC[] = "\n\nUnknown trigger type in initParticleTrigger %d, Max %d.\n\n"; +const char D_800E88F8[] = "Sprite Particle buffer is full.\n"; +const char D_800E891C[] = "Triangle Particle buffer is full.\n"; +const char D_800E8940[] = "Rectangle Particle buffer is full.\n"; +const char D_800E8964[] = "Line Particle buffer is full.\n"; +const char D_800E8980[] = "Point Particle buffer is full.\n"; +const char D_800E89A4[] = "\n\nCan't allocate space for unknown particle type."; +const char D_800E89D8[] = "\n\nParticle has been freed twice, this is Super Safe, Honest!\n"; +const char D_800E8A18[] = "\n\nSprite Particle Buffer is empty.\n\n"; +const char D_800E8A40[] = "\n\nTriangle Particle Buffer is empty.\n\n"; +const char D_800E8A68[] = "\n\nRectangle Particle Buffer is empty.\n\n"; +const char D_800E8A90[] = "\n\nLine Particle buffer is empty.\n\n"; +const char D_800E8AB4[] = "\n\nPoint Particle buffer is empty.\n\n"; +const char D_800E8AD8[] = "\n\nCan't deallocate space for unknown particle type.\n\n"; +const char D_800E8B10[] = "\nError :: trigger %x has no reference to point %x"; +const char D_800E8B44[] = "\nError :: particle %x is not indexed correctly in trigger list %x (%d >> %p)"; + +const DoubleLiteral D_800E8B98 = { 0.00001525878906 }; +const DoubleLiteral D_800E8BA0 = { 0.00001525878906 }; +const DoubleLiteral D_800E8BA8 = { 0.00001525878906 }; +const DoubleLiteral D_800E8BB0 = { 0.00001525878906 }; +const DoubleLiteral D_800E8BB8 = { 0.00001525878906 }; +const DoubleLiteral D_800E8BC0 = { 0.00001525878906 }; +const DoubleLiteral D_800E8BC8 = { 0.00001525878906 }; +const DoubleLiteral D_800E8BD0 = { 0.00001525878906 }; +const FloatLiteral D_800E8BD8 = { 0.1f }; + +// Jump table in func_800B2040 +const u32 D_800E8BDC[] = { + 0x800B2250, 0x800B20E0, 0x800B2138, 0x800B2190, + 0x800B21E8 +}; + +const FloatLiteral D_800E8BF0 = { 0.1f }; +const FloatLiteral D_800E8BF4 = { 0.01f }; + +// This is probably another file boundary. +const DoubleLiteral D_800E8BF8 = { 0.0 }; + +const char D_800E8C00[] = "0123456789abcdefghijklmnopqrstuvwxyz"; +const char D_800E8C28[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; +const char D_800E8C50[] = ""; +const char D_800E8C54[] = "(null)"; +const char D_800E8C5C[] = "(nil)"; +const char D_800E8C64[] = "*** diPrintf Error *** ---> Out of string space. (Print less text!)\n"; + +// Jump table in func_800B4A40 +const u32 D_800E8CAC[] = { + 0x800B4BA4, 0x800B4BC8, 0x800B4BC8, 0x800B4BBC, + 0x800B4BC8, 0x800B4BC8, 0x800B4BC8, 0x800B4BC8, + 0x800B4BC8, 0x800B4BC8, 0x800B4BC8, 0x800B4BAC, + 0x800B4BC8, 0x800B4BB4, 0x800B4BC8, 0x800B4BC8, + 0x800B4BC4 +}; + +// Jump table in func_800B4A40 +const u32 D_800E8CF0[] = { + 0x800B4DB0, 0x800B4DC4, 0x800B4DC4, 0x800B4DC4, + 0x800B4DC4, 0x800B4DC4, 0x800B4DC4, 0x800B4DC4, + 0x800B4DC4, 0x800B4DC4, 0x800B4DC4, 0x800B4DC4, + 0x800B4DC4, 0x800B4DC4, 0x800B4DB8, 0x800B4DC4, + 0x800B4DC4, 0x800B4DC4, 0x800B4DC4, 0x800B4DC4, + 0x800B4DC4, 0x800B4DC4, 0x800B4DC4, 0x800B4DC4, + 0x800B4DC4, 0x800B4DC4, 0x800B4DC4, 0x800B4DC4, + 0x800B4D90, 0x800B4DC4, 0x800B4DC4, 0x800B4DC4, + 0x800B4D98, 0x800B4DC4, 0x800B4DC4, 0x800B4DC4, + 0x800B4DC4, 0x800B4DC0 +}; + +// Jump table in func_800B4A40 +const u32 D_800E8D88[] = { + 0x800B52C4, 0x800B5E0C, 0x800B5794, 0x800B5E0C, + 0x800B5E0C, 0x800B5E0C, 0x800B5E0C, 0x800B5E0C, + 0x800B5E0C, 0x800B5E0C, 0x800B5E0C, 0x800B5E0C, + 0x800B5E0C, 0x800B5E0C, 0x800B5E0C, 0x800B5E0C, + 0x800B5E0C, 0x800B5E0C, 0x800B5E0C, 0x800B4F84, + 0x800B5E0C, 0x800B5E0C, 0x800B5E0C, 0x800B5E0C, + 0x800B5E0C, 0x800B5E0C, 0x800B5E0C, 0x800B5E0C, + 0x800B5E0C, 0x800B5E0C, 0x800B5AC4, 0x800B4E38, + 0x800B52C4, 0x800B57A4, 0x800B5794, 0x800B5E0C, + 0x800B4E38, 0x800B5E0C, 0x800B5E0C, 0x800B5E0C, + 0x800B5E0C, 0x800B5D78, 0x800B4F64, 0x800B5C8C, + 0x800B5E0C, 0x800B5E0C, 0x800B5B48, 0x800B5E0C, + 0x800B4F44, 0x800B5E0C, 0x800B5E0C, 0x800B4FA4 +}; + +// Jump table in func_800B653C +const u32 D_800E8E58[] = { + 0x800B6658, 0x800B6740, 0x800B6614, 0x800B6634, + 0x800B66CC +}; + +// This is probably another file boundary. +const FloatLiteral D_800E8E6C = { 0.0f }; + +const char D_800E8E70[] = "\nAssertion failed: '%s' in file %s, line %d\n"; +const char D_800E8EA0[] = "\nAssertion failed: '%s' in file %s, line %d\n"; +const char D_800E8ED0[] = ">fault< "; +const char D_800E8EDC[] = "CORE\0\0\0\0"; +const char D_800E8EE8[] = "CORE\0\0\0\0"; +const char D_800E8EF4[] = "CORE\0\0\0\0"; + +const char D_800E8F00[] = "setup"; +const char D_800E8F08[] = "control"; +const char D_800E8F10[] = "print"; + +// EPC (Error program counter?) Lockup display strings, see: https://tcrf.net/Diddy_Kong_Racing#Crash_Debugger +const char D_800E8F18[] = " epc\t\t0x%08x\n"; +const char D_800E8F28[] = " cause\t\tmmAlloc(%d,0x%8x)\n"; +const char D_800E8F44[] = " object\t\t"; +const char D_800E8F50[] = "%s %d "; +const char D_800E8F58[] = "\n"; +const char D_800E8F5C[] = "\n\n\n\n\n\n\n\n\n\n\n\n\n\n"; +const char D_800E8F6C[] = " Fault in thread %d\n"; +const char D_800E8F84[] = " epc\t\t0x%08x\n"; +const char D_800E8F94[] = " cause\t\t0x%08x\n"; +const char D_800E8FA4[] = " sr\t\t0x%08x\n"; +const char D_800E8FB4[] = " badvaddr\t0x%08x\n"; +const char D_800E8FC8[] = " object\t\t"; +const char D_800E8FD4[] = "%s %d "; +const char D_800E8FDC[] = "\n"; +const char D_800E8FE0[] = " at 0x%08x v0 0x%08x v1 0x%08x\n"; +const char D_800E9000[] = " a0 0x%08x a1 0x%08x a2 0x%08x\n"; +const char D_800E9020[] = " a3 0x%08x t0 0x%08x t1 0x%08x\n"; +const char D_800E9040[] = " t2 0x%08x t3 0x%08x t4 0x%08x\n"; +const char D_800E9060[] = " t5 0x%08x t6 0x%08x t7 0x%08x\n"; +const char D_800E9080[] = " s0 0x%08x s1 0x%08x s2 0x%08x\n"; +const char D_800E90A0[] = " s3 0x%08x s4 0x%08x s5 0x%08x\n"; +const char D_800E90C0[] = " s6 0x%08x s7 0x%08x t8 0x%08x\n"; +const char D_800E90E0[] = " t9 0x%08x gp 0x%08x sp 0x%08x\n"; +const char D_800E9100[] = " s8 0x%08x ra 0x%08x\n\n"; +const char D_800E9118[] = " %08x %08x %08x\n"; +const char D_800E912C[] = " "; +const char D_800E9130[] = "%04x "; +const char D_800E9138[] = "\n"; +// End of EPC lockup strings + +// Jump table in func_800B7810 +const u32 D_800E913C[] = { + 0x800B7898, 0x800B7C18, 0x800B7C18, 0x800B7C18, + 0x800B7C70, 0x800B7CE4 +}; + +/*********************************/ void func_800AE2D8(void); void func_800AE374(void); From e1675f4cc0ac5189ec9d36aed26cc7c5333add3d Mon Sep 17 00:00:00 2001 From: David Benepe Date: Mon, 31 May 2021 18:43:02 -0500 Subject: [PATCH 24/27] Moved .rodata in unknown_043920 from asm to C. --- data/unknown_043920.rodata.s | 1185 ---------------------------------- src/unknown_043920.c | 300 ++++++++- 2 files changed, 290 insertions(+), 1195 deletions(-) delete mode 100644 data/unknown_043920.rodata.s diff --git a/data/unknown_043920.rodata.s b/data/unknown_043920.rodata.s deleted file mode 100644 index 7623e2fb..00000000 --- a/data/unknown_043920.rodata.s +++ /dev/null @@ -1,1185 +0,0 @@ -.include "macros.inc" - -.macro .aligned_text ascii - .asciz "\ascii" - .balign 4 -.endm - -.section .rodata - -glabel D_800E6280 -.aligned_text "%.1f,%.1f,%.1f\n" # Used with the Print Coordinates cheat? -.aligned_text "Chk ovflow!!\n" -.aligned_text "Back\n" - -glabel D_800E62A8 -.word 0xC0A38800 - -glabel D_800E62AC -.word 0x00000000 - -glabel D_800E62B0 -.word 0x3F999999 - -glabel D_800E62B4 -.word 0x9999999A - -glabel D_800E62B8 -.word 0x3FE1F3B6 - -glabel D_800E62BC -.word 0x45A1CAC1 - -glabel D_800E62C0 -.word 0x3F70624D - -glabel D_800E62C4 -.word 0xD2F1A9FC - -glabel D_800E62C8 -.word 0x3F999999 - -glabel D_800E62CC -.word 0x9999999A - -glabel D_800E62D0 -.word 0x3FE1F3B6 - -glabel D_800E62D4 -.word 0x45A1CAC1 - -glabel D_800E62D8 -.word 0x3F70624D - -glabel D_800E62DC -.word 0xD2F1A9FC - -glabel D_800E62E0 -.word 0x3FC99999 - -glabel D_800E62E4 -.word 0x9999999A - -glabel D_800E62E8 -.word 0x3F70624D - -glabel D_800E62EC -.word 0xD2F1A9FC - -glabel D_800E62F0 -.word 0x3FE30A3D - -glabel D_800E62F4 -.word 0x70A3D70A - -glabel D_800E62F8 -.word 0x3F999999 - -glabel D_800E62FC -.word 0x9999999A - -glabel D_800E6300 -.word 0x407F4000 - -glabel D_800E6304 -.word 0x00000000 - -glabel D_800E6308 -.word 0x40845000 - -glabel D_800E630C -.word 0x00000000 - -glabel D_800E6310 -.word 0xBFD33333 - -glabel D_800E6314 -.word 0x33333333 - -glabel D_800E6318 -.word 0x800446AC -.word 0x80044A04 -.word 0x80044A04 -.word 0x80044A04 -.word 0x80044A04 -.word 0x80044F54 -.word 0x80044A04 - -glabel D_800E6334 -.word 0x80044A2C -.word 0x80044A44 -.word 0x80044A60 -.word 0x80044A94 -.word 0x80044ADC -.word 0x80044AC8 -.word 0x00000000 - -glabel D_800E6350 -.word 0x4072C000 - -glabel D_800E6354 -.word 0x00000000 - -glabel D_800E6358 -.word 0x800456A0 -.word 0x800456A8 -.word 0x800456B0 -.word 0x800456BC -.word 0x800456CC -.word 0x800456D4 -.word 0x800456B0 -.word 0x800456DC - -glabel D_800E6378 -.word 0x49742400 - -glabel D_800E637C -.word 0x80045ADC -.word 0x80045AF8 -.word 0x80045B30 -.word 0x80045B30 -.word 0x80045B58 -.word 0x80045B70 -.word 0x80045BB8 -.word 0x80045ADC -.word 0x00000000 - -glabel D_800E63A0 -.word 0x407F4000 - -glabel D_800E63A4 -.word 0x00000000 - -glabel D_800E63A8 -.word 0x3FF26666 - -glabel D_800E63AC -.word 0x66666666 - -glabel D_800E63B0 -.word 0x3F90624D - -glabel D_800E63B4 -.word 0xD2F1A9FC - -glabel D_800E63B8 -.word 0x3F90624D - -glabel D_800E63BC -.word 0xD2F1A9FC - -glabel D_800E63C0 -.word 0x3FF33333 - -glabel D_800E63C4 -.word 0x33333333 - -glabel D_800E63C8 -.word 0x3FA78D4F - -glabel D_800E63CC -.word 0xDF3B645A - -glabel D_800E63D0 -.word 0x3FF33333 - -glabel D_800E63D4 -.word 0x33333333 - -glabel D_800E63D8 -.word 0x3F99999A -.word 0x00000000 - -glabel D_800E63E0 -.word 0x3FA78D4F - -glabel D_800E63E4 -.word 0xDF3B645A - -glabel D_800E63E8 -.word 0x3FD33333 - -glabel D_800E63EC -.word 0x33333333 - -glabel D_800E63F0 -.word 0x3B83126F -.word 0x00000000 - -glabel D_800E63F8 -.word 0x3F999999 - -glabel D_800E63FC -.word 0x9999999A - -glabel D_800E6400 -.word 0x4072C000 - -glabel D_800E6404 -.word 0x00000000 - -glabel D_800E6408 -.word 0x3F947AE1 - -glabel D_800E640C -.word 0x47AE147B - -glabel D_800E6410 -.word 0x3FFB3333 - -glabel D_800E6414 -.word 0x33333333 - -glabel D_800E6418 -.word 0x3FD66666 - -glabel D_800E641C -.word 0x66666666 - -glabel D_800E6420 -.word 0x3FC99999 - -glabel D_800E6424 -.word 0x9999999A - -glabel D_800E6428 -.word 0x3FB1EB85 - -glabel D_800E642C -.word 0x1EB851EC - -glabel D_800E6430 -.word 0x3FE99999 - -glabel D_800E6434 -.word 0x9999999A - -glabel D_800E6438 -.word 0x3FE4CCCC - -glabel D_800E643C -.word 0xCCCCCCCD - -glabel D_800E6440 -.word 0x3FE4CCCC - -glabel D_800E6444 -.word 0xCCCCCCCD - -glabel D_800E6448 -.word 0x40418000 - -glabel D_800E644C -.word 0x00000000 - -glabel D_800E6450 -.word 0xC61C4000 -.word 0x00000000 - -glabel D_800E6458 -.word 0x3FE99999 - -glabel D_800E645C -.word 0x9999999A - -glabel D_800E6460 -.word 0x3FA99999 - -glabel D_800E6464 -.word 0x9999999A - -glabel D_800E6468 -.word 0x3DE147AE - -glabel D_800E646C -.word 0x80048D40 -.word 0x80048D40 -.word 0x80048E50 -.word 0x80048DAC -.word 0x80048E18 -.word 0x80048DB8 -.word 0x00000000 - -glabel D_800E6488 -.word 0x3FE66666 - -glabel D_800E648C -.word 0x66666666 - -glabel D_800E6490 -.word 0x40348000 - -glabel D_800E6494 -.word 0x00000000 - -glabel D_800E6498 -.word 0x40504000 - -glabel D_800E649C -.word 0x00000000 - -glabel D_800E64A0 -.word 0x3FC55555 - -glabel D_800E64A4 -.word 0x55555555 - -glabel D_800E64A8 -.word 0x3FF170A3 - -glabel D_800E64AC -.word 0xD70A3D71 - -glabel D_800E64B0 -.word 0x3FD99999 - -glabel D_800E64B4 -.word 0x9999999A - -glabel D_800E64B8 -.word 0x3F847AE1 - -glabel D_800E64BC -.word 0x47AE147B - -glabel D_800E64C0 -.word 0x3F847AE1 - -glabel D_800E64C4 -.word 0x47AE147B - -glabel D_800E64C8 -.word 0x3F90624D - -glabel D_800E64CC -.word 0xD2F1A9FC - -glabel D_800E64D0 -.word 0x3FF33333 - -glabel D_800E64D4 -.word 0x33333333 - -glabel D_800E64D8 -.word 0x3F99999A -.word 0x00000000 - -glabel D_800E64E0 -.word 0x3F90624D - -glabel D_800E64E4 -.word 0xD2F1A9FC - -glabel D_800E64E8 -.word 0x3FB33333 - -glabel D_800E64EC -.word 0x3C23D70A - -glabel D_800E64F0 -.word 0x3CA3D70A - -glabel D_800E64F4 -.word 0x3B83126F - -glabel D_800E64F8 -.word 0x3FE33333 - -glabel D_800E64FC -.word 0x33333333 - -glabel D_800E6500 -.word 0x3FD33333 - -glabel D_800E6504 -.word 0x33333333 - -glabel D_800E6508 -.word 0x3F99999A -.word 0x00000000 - -glabel D_800E6510 -.word 0x3F23A92A - -glabel D_800E6514 -.word 0x30553261 - -glabel D_800E6518 -.word 0x3FFCCCCC - -glabel D_800E651C -.word 0xCCCCCCCD - -glabel D_800E6520 -.word 0x3FD99999 - -glabel D_800E6524 -.word 0x9999999A - -glabel D_800E6528 -.word 0x3ECCCCCD -.word 0x00000000 - -glabel D_800E6530 -.word 0x3FAE1E1E - -glabel D_800E6534 -.word 0x1E1E1E1E - -glabel D_800E6538 -.word 0x3FA99999 - -glabel D_800E653C -.word 0x9999999A - -glabel D_800E6540 -.word 0x3FE4CCCC - -glabel D_800E6544 -.word 0xCCCCCCCD - -glabel D_800E6548 -.word 0x3FE4CCCC - -glabel D_800E654C -.word 0xCCCCCCCD - -glabel D_800E6550 -.word 0x3FE66666 - -glabel D_800E6554 -.word 0x66666666 - -glabel D_800E6558 -.word 0x3FD99999 - -glabel D_800E655C -.word 0x9999999A - -glabel D_800E6560 -.word 0x3F76C16C - -glabel D_800E6564 -.word 0x16C16C17 - -glabel D_800E6568 -.word 0x3ECCCCCD -.word 0x00000000 - -glabel D_800E6570 -.word 0x40504000 - -glabel D_800E6574 -.word 0x00000000 - -glabel D_800E6578 -.word 0x3FC99999 - -glabel D_800E657C -.word 0x9999999A - -glabel D_800E6580 -.word 0x3FA66666 - -glabel D_800E6584 -.word 0x3DCCCCCD - -glabel D_800E6588 -.word 0x3B03126F - -glabel D_800E658C -.word 0x3C23D70A - -glabel D_800E6590 -.word 0x3FF33333 - -glabel D_800E6594 -.word 0x33333333 - -glabel D_800E6598 -.word 0x3FDCCCCC - -glabel D_800E659C -.word 0xCCCCCCCD - -glabel D_800E65A0 -.word 0xBCA3D70A - -glabel D_800E65A4 -.word 0x3F5EB852 - -glabel D_800E65A8 -.word 0x3F666666 - -glabel D_800E65AC -.word 0xC61C4000 - -glabel D_800E65B0 -.word 0x8004EB84 -.word 0x8004EBBC -.word 0x8004EBD8 -.word 0x8004EBF4 -.word 0x8004EBA0 -.word 0x8004EC10 -.word 0x8004EC50 -.word 0x8004EC90 -.word 0x8004EC90 -.word 0x8004ED88 -.word 0x8004EBF4 -.word 0x8004ECD0 -.word 0x8004ED10 -.word 0x8004ED50 - -glabel D_800E65E8 -.word 0x3F8F5C29 - -glabel D_800E65EC -.word 0x3CA3D70A - -glabel D_800E65F0 -.word 0xBCA3D70A - -glabel D_800E65F4 -.word 0x43848000 - -glabel D_800E65F8 -.word 0x40977000 - -glabel D_800E65FC -.word 0x00000000 - -glabel D_800E6600 -.word 0x3FB0A3D7 - -glabel D_800E6604 -.word 0x0A3D70A4 - -glabel D_800E6608 -.word 0x3FD33333 - -glabel D_800E660C -.word 0x33333333 - -glabel D_800E6610 -.word 0x3FB99999 - -glabel D_800E6614 -.word 0x9999999A - -glabel D_800E6618 -.word 0x3FD33333 - -glabel D_800E661C -.word 0x33333333 - -glabel D_800E6620 -.word 0x3FB99999 - -glabel D_800E6624 -.word 0x9999999A - -glabel D_800E6628 -.word 0x3F70624D - -glabel D_800E662C -.word 0xD2F1A9FC - -glabel D_800E6630 -.word 0x3FE4CCCC - -glabel D_800E6634 -.word 0xCCCCCCCD - -glabel D_800E6638 -.word 0x3F999999 - -glabel D_800E663C -.word 0x99999999 - -glabel D_800E6640 -.word 0x3FD99999 - -glabel D_800E6644 -.word 0x9999999A - -glabel D_800E6648 -.word 0x3FF19999 - -glabel D_800E664C -.word 0x9999999A - -glabel D_800E6650 -.word 0xBFD33333 - -glabel D_800E6654 -.word 0x33333333 - -glabel D_800E6658 -.word 0x3FD33333 - -glabel D_800E665C -.word 0x33333333 - -glabel D_800E6660 -.word 0x3CA3D70A -.word 0x00000000 - -glabel D_800E6668 -.word 0x3FECCCCC - -glabel D_800E666C -.word 0xCCCCCCCD - -glabel D_800E6670 -.word 0x3FE66666 - -glabel D_800E6674 -.word 0x66666666 - -glabel D_800E6678 -.word 0x3FFB3333 - -glabel D_800E667C -.word 0x33333333 - -glabel D_800E6680 -.word 0x3FC33333 - -glabel D_800E6684 -.word 0x33333333 - -glabel D_800E6688 -.word 0x3FD33333 - -glabel D_800E668C -.word 0x33333333 - -glabel D_800E6690 -.word 0x3FD47AE1 - -glabel D_800E6694 -.word 0x47AE147B - -glabel D_800E6698 -.word 0xBFA47AE1 - -glabel D_800E669C -.word 0x47AE147B - -glabel D_800E66A0 -.word 0x3FA47AE1 - -glabel D_800E66A4 -.word 0x47AE147B - -glabel D_800E66A8 -.word 0x3FECCCCC - -glabel D_800E66AC -.word 0xCCCCCCCD - -glabel D_800E66B0 -.word 0x3FD33333 - -glabel D_800E66B4 -.word 0x33333333 - -glabel D_800E66B8 -.word 0x3FB99999 - -glabel D_800E66BC -.word 0x9999999A - -glabel D_800E66C0 -.word 0x3DCCCCCD -.word 0x00000000 - -glabel D_800E66C8 -.word 0x3FA99999 - -glabel D_800E66CC -.word 0x9999999A - -glabel D_800E66D0 -.word 0x80052678 -.word 0x80052978 -.word 0x80052978 -.word 0x800527AC -.word 0x8005280C -.word 0x80052858 -.word 0x800528A4 -.word 0x80052910 - -glabel D_800E66F0 -.word 0x3FEF0A3D - -glabel D_800E66F4 -.word 0x70A3D70A - -glabel D_800E66F8 -.word 0x3FEBD70A - -glabel D_800E66FC -.word 0x3D70A3D7 - -glabel D_800E6700 -.word 0x3FECCCCC - -glabel D_800E6704 -.word 0xCCCCCCCD - -glabel D_800E6708 -.word 0x3FD33333 - -glabel D_800E670C -.word 0x33333333 - -glabel D_800E6710 -.word 0x3FF99999 - -glabel D_800E6714 -.word 0x9999999A - -glabel D_800E6718 -.word 0x3F999999 - -glabel D_800E671C -.word 0x9999999A - -glabel D_800E6720 -.word 0x3EE66666 -.word 0x00000000 - -glabel D_800E6728 -.word 0x3FEF0A3D - -glabel D_800E672C -.word 0x70A3D70A - -glabel D_800E6730 -.word 0x3FC99999 - -glabel D_800E6734 -.word 0x9999999A - -glabel D_800E6738 -.word 0x3FC99999 - -glabel D_800E673C -.word 0x9999999A - -glabel D_800E6740 -.word 0x3FF547AE - -glabel D_800E6744 -.word 0x147AE148 - -glabel D_800E6748 -.word 0x3FE0F5C2 - -glabel D_800E674C -.word 0x8F5C28F6 - -glabel D_800E6750 -.word 0x3FFCCCCC - -glabel D_800E6754 -.word 0xCCCCCCCD - -glabel D_800E6758 -.word 0x3FE66666 -.word 0x00000000 - -glabel D_800E6760 -.word 0x3FC99999 - -glabel D_800E6764 -.word 0x9999999A - -glabel D_800E6768 -.word 0x3FB99999 - -glabel D_800E676C -.word 0x9999999A - -glabel D_800E6770 -.word 0x3FC99999 -.word 0x9999999A - -glabel D_800E6778 -.word 0x3FA99999 -.word 0x9999999A - -glabel D_800E6780 -.word 0x3FB99999 - -glabel D_800E6784 -.word 0x9999999A - -glabel D_800E6788 -.word 0x3FD99999 - -glabel D_800E678C -.word 0x9999999A - -glabel D_800E6790 -.word 0x3FB99999 - -glabel D_800E6794 -.word 0x9999999A - -glabel D_800E6798 -.word 0x3FF66666 - -glabel D_800E679C -.word 0x66666666 - -glabel D_800E67A0 -.word 0x3DCCCCCD - -glabel D_800E67A4 -.word 0x80053FF0 -.word 0x8005406C -.word 0x800540FC -.word 0x8005408C -.word 0x800540C4 -.word 0x80054098 -.word 0x00000000 - -glabel D_800E67C0 -.word 0x40348000 - -glabel D_800E67C4 -.word 0x00000000 - -glabel D_800E67C8 -.word 0x3FD33333 - -glabel D_800E67CC -.word 0x33333333 - -glabel D_800E67D0 -.word 0x3FB99999 - -glabel D_800E67D4 -.word 0x9999999A - -glabel D_800E67D8 -.word 0x3FD33333 - -glabel D_800E67DC -.word 0x33333333 - -glabel D_800E67E0 -.word 0x3FB99999 - -glabel D_800E67E4 -.word 0x9999999A - -glabel D_800E67E8 -.word 0xBFD33333 - -glabel D_800E67EC -.word 0x33333333 - -glabel D_800E67F0 -.word 0x3FD33333 - -glabel D_800E67F4 -.word 0x33333333 - -glabel D_800E67F8 -.word 0x3FECCCCC - -glabel D_800E67FC -.word 0xCCCCCCCD - -glabel D_800E6800 -.word 0x3CA3D70A -.word 0x00000000 - -glabel D_800E6808 -.word 0x3FFB3333 - -glabel D_800E680C -.word 0x33333333 - -glabel D_800E6810 -.word 0x3FC33333 - -glabel D_800E6814 -.word 0x33333333 - -glabel D_800E6818 -.word 0x3FD47AE1 - -glabel D_800E681C -.word 0x47AE147B - -glabel D_800E6820 -.word 0xBFA47AE1 - -glabel D_800E6824 -.word 0x47AE147B - -glabel D_800E6828 -.word 0x3FA47AE1 - -glabel D_800E682C -.word 0x47AE147B - -glabel D_800E6830 -.word 0x3FECCCCC - -glabel D_800E6834 -.word 0xCCCCCCCD - -glabel D_800E6838 -.word 0x3FF13333 - -glabel D_800E683C -.word 0x33333333 - -glabel D_800E6840 -.word 0x3FC33333 - -glabel D_800E6844 -.word 0x33333333 - -glabel D_800E6848 -.word 0x3FE66666 - -glabel D_800E684C -.word 0x66666666 - -glabel D_800E6850 -.word 0x44BB8000 - -glabel D_800E6854 -.word 0x8005635C -.word 0x80056370 -.word 0x80056380 -.word 0x8005639C -.word 0x800563EC -.word 0x80056508 -.word 0x8005655C -.word 0x80056508 -.word 0x800563EC -.word 0x80056620 -.word 0x800563CC -.word 0x80056380 -.word 0x800565C0 -.word 0x800565E0 -.word 0x80056600 -.word 0x800563EC -.word 0x80056828 - -glabel D_800E6894 -.word 0x80056834 -.word 0x80056840 -.word 0x8005684C -.word 0x80056884 -.word 0x80056884 -.word 0x80056884 -.word 0x80056884 -.word 0x80056884 -.word 0x80056884 -.word 0x80056874 -.word 0x80056880 - -glabel D_800E68C4 -.word 0x461C4000 - -glabel D_800E68C8 -.word 0x461C4000 - -glabel D_800E68CC -.word 0x3CCCCCCD - -glabel D_800E68D0 -.word 0x80057BBC -.word 0x80057BE4 -.word 0x80057CD0 -.word 0x80057C0C -.word 0x80057C34 -.word 0x80057C5C -.word 0x80057C84 -.word 0x80057CAC - -glabel D_800E68F0 -.word 0x4056F000 - -glabel D_800E68F4 -.word 0x00000000 - -glabel D_800E68F8 -.word 0x40568000 - -glabel D_800E68FC -.word 0x00000000 - -glabel D_800E6900 -.word 0x40484000 - -glabel D_800E6904 -.word 0x00000000 - -glabel D_800E6908 -.word 0x3FEE6666 - -glabel D_800E690C -.word 0x66666666 - -glabel D_800E6910 -.word 0x40504000 - -glabel D_800E6914 -.word 0x00000000 - -glabel D_800E6918 -.word 0x3FF4CCCC - -glabel D_800E691C -.word 0xCCCCCCCD - -glabel D_800E6920 -.word 0xBFC99999 - -glabel D_800E6924 -.word 0x9999999A - -glabel D_800E6928 -.word 0x3FF33333 - -glabel D_800E692C -.word 0x33333333 - -glabel D_800E6930 -.word 0x3FF33333 - -glabel D_800E6934 -.word 0x33333333 - -glabel D_800E6938 -.word 0x3FE99999 - -glabel D_800E693C -.word 0x9999999A - -glabel D_800E6940 -.word 0x3FDCCCCC - -glabel D_800E6944 -.word 0xCCCCCCCD - -glabel D_800E6948 -.word 0xBCA3D70A - -glabel D_800E694C -.word 0x49742400 - -glabel D_800E6950 -.word 0x41038800 - -glabel D_800E6954 -.word 0x00000000 - -glabel D_800E6958 -.word 0x3F4CCCCD -.word 0x00000000 - -glabel D_800E6960 -.word 0x41038800 - -glabel D_800E6964 -.word 0x00000000 - -glabel D_800E6968 -.word 0x8005AF80 -.word 0x8005AFD8 -.word 0x8005B004 -.word 0x8005B030 -.word 0x8005AFAC -.word 0x8005B05C -.word 0x8005B094 -.word 0x8005B0CC -.word 0x8005B0CC -.word 0x8005B1B0 -.word 0x8005B030 -.word 0x8005B10C -.word 0x8005B144 -.word 0x8005B17C - -glabel D_800E69A0 -.word 0x3FECCCCC - -glabel D_800E69A4 -.word 0xCCCCCCCD - -glabel D_800E69A8 -.word 0x3CA3D70A - -glabel D_800E69AC -.word 0xBCA3D70A - -glabel D_800E69B0 -.word 0x43848000 -.word 0x00000000 - -glabel D_800E69B8 -.word 0x40977000 - -glabel D_800E69BC -.word 0x00000000 - -glabel D_800E69C0 -.word 0x3F999999 - -glabel D_800E69C4 -.word 0x9999999A - -glabel D_800E69C8 -.word 0x3FE30A3D - -glabel D_800E69CC -.word 0x70A3D70A - -glabel D_800E69D0 -.word 0x3F70624D - -glabel D_800E69D4 -.word 0xD2F1A9FC - -glabel D_800E69D8 -.word 0x3FF4CCCC - -glabel D_800E69DC -.word 0xCCCCCCCD - -glabel D_800E69E0 -.word 0x4062C000 - -glabel D_800E69E4 -.word 0x00000000 - -glabel D_800E69E8 -.word 0x3C23D70A -.word 0x00000000 - -glabel D_800E69F0 -.word 0x3F847AE1 - -glabel D_800E69F4 -.word 0x47AE147B - -glabel D_800E69F8 -.word 0x40418000 - -glabel D_800E69FC -.word 0x00000000 - -glabel D_800E6A00 -.word 0x3D4CCCCD -.word 0x00000000 -.word 0x00000000 -.word 0x00000000 diff --git a/src/unknown_043920.c b/src/unknown_043920.c index 38febf2c..b412ff4f 100644 --- a/src/unknown_043920.c +++ b/src/unknown_043920.c @@ -116,11 +116,291 @@ s16 D_800DCDD4[4] = { /************ .rodata ************/ -extern f64 D_800E6768; -extern f64 D_800E6770; -extern f64 D_800E6778; -extern f64 D_800E6780; -extern f32 D_800E6A00; +const char D_800E6280[] = "%.1f,%.1f,%.1f\n"; +const char D_800E6290[] = "Chk ovflow!!\n"; +const char D_800E62A0[] = "Back\n"; + +const DoubleLiteral D_800E62A8 = { -2500.0 }; +const DoubleLiteral D_800E62B0 = { 0.025 }; +const DoubleLiteral D_800E62B8 = { 0.561 }; +const DoubleLiteral D_800E62C0 = { 0.004 }; +const DoubleLiteral D_800E62C8 = { 0.025 }; +const DoubleLiteral D_800E62D0 = { 0.561 }; +const DoubleLiteral D_800E62D8 = { 0.004 }; +const DoubleLiteral D_800E62E0 = { 0.2 }; +const DoubleLiteral D_800E62E8 = { 0.004 }; +const DoubleLiteral D_800E62F0 = { 0.595 }; +const DoubleLiteral D_800E62F8 = { 0.025 }; +const DoubleLiteral D_800E6300 = { 500.0 }; +const DoubleLiteral D_800E6308 = { 650.0 }; +const DoubleLiteral D_800E6310 = { -0.3 }; + +// Jump table in func_8004447C +const u32 D_800E6318[] = { + 0x800446AC, 0x80044A04, 0x80044A04, 0x80044A04, + 0x80044A04, 0x80044F54, 0x80044A04 +}; + +// Jump table in func_8004447C +const u32 D_800E6334[] = { + 0x80044A2C, 0x80044A44, 0x80044A60, 0x80044A94, + 0x80044ADC, 0x80044AC8 +}; + +const DoubleLiteral D_800E6350 = { 300.0 }; + +// Jump table in func_800452A0 +const u32 D_800E6358[] = { + 0x800456A0, 0x800456A8, 0x800456B0, 0x800456BC, + 0x800456CC, 0x800456D4, 0x800456B0, 0x800456DC +}; + +const FloatLiteral D_800E6378 = { 1000000.0f }; + +// Jump table in +const u32 D_800E637C[] = { + 0x80045ADC, 0x80045AF8, 0x80045B30, 0x80045B30, + 0x80045B58, 0x80045B70, 0x80045BB8, 0x80045ADC +}; + +const DoubleLiteral D_800E63A0 = { 500.0 }; +const DoubleLiteral D_800E63A8 = { 1.15 }; +const DoubleLiteral D_800E63B0 = { 0.016 }; +const DoubleLiteral D_800E63B8 = { 0.016 }; +const DoubleLiteral D_800E63C0 = { 1.2 }; +const DoubleLiteral D_800E63C8 = { 0.046 }; +const DoubleLiteral D_800E63D0 = { 1.2 }; +const FloatLiteral D_800E63D8 = { 1.2f }; +const DoubleLiteral D_800E63E0 = { 0.046 }; +const DoubleLiteral D_800E63E8 = { 0.3 }; +const FloatLiteral D_800E63F0 = { 0.004f }; +const DoubleLiteral D_800E63F8 = { 0.025 }; +const DoubleLiteral D_800E6400 = { 300.0 }; +const DoubleLiteral D_800E6408 = { 0.02 }; +const DoubleLiteral D_800E6410 = { 1.7 }; +const DoubleLiteral D_800E6418 = { 0.35 }; +const DoubleLiteral D_800E6420 = { 0.2 }; +const DoubleLiteral D_800E6428 = { 0.07 }; +const DoubleLiteral D_800E6430 = { 0.8 }; +const DoubleLiteral D_800E6438 = { 0.65 }; +const DoubleLiteral D_800E6440 = { 0.65 }; +const DoubleLiteral D_800E6448 = { 35.0 }; +const FloatLiteral D_800E6450 = { -10000.0f }; +const DoubleLiteral D_800E6458 = { 0.8 }; +const DoubleLiteral D_800E6460 = { 0.05 }; +const FloatLiteral D_800E6468 = { 0.11f }; + +// Jump table in func_80048C7C +const u32 D_800E646C[] = { + 0x80048D40, 0x80048D40, 0x80048E50, 0x80048DAC, + 0x80048E18, 0x80048DB8 +}; + +const DoubleLiteral D_800E6488 = { 0.7 }; +const DoubleLiteral D_800E6490 = { 20.5 }; +const DoubleLiteral D_800E6498 = { 65.0 }; +const DoubleLiteral D_800E64A0 = { 0.16666666666666666 }; +const DoubleLiteral D_800E64A8 = { 1.09 }; +const DoubleLiteral D_800E64B0 = { 0.4 }; +const DoubleLiteral D_800E64B8 = { 0.01 }; +const DoubleLiteral D_800E64C0 = { 0.01 }; +const DoubleLiteral D_800E64C8 = { 0.016 }; +const DoubleLiteral D_800E64D0 = { 1.2 }; +const FloatLiteral D_800E64D8 = { 1.2f }; +const DoubleLiteral D_800E64E0 = { 0.016 }; +const FloatLiteral D_800E64E8 = { 1.4f }; +const FloatLiteral D_800E64EC = { 0.01f }; +const FloatLiteral D_800E64F0 = { 0.02f }; +const FloatLiteral D_800E64F4 = { 0.004f }; +const DoubleLiteral D_800E64F8 = { 0.6 }; +const DoubleLiteral D_800E6500 = { 0.3 }; +const FloatLiteral D_800E6508 = { 1.2f }; +const DoubleLiteral D_800E6510 = { 0.00015 }; +const DoubleLiteral D_800E6518 = { 1.8 }; +const DoubleLiteral D_800E6520 = { 0.4 }; +const FloatLiteral D_800E6528 = { 0.4f }; +const DoubleLiteral D_800E6530 = { 0.058823529411764705 }; +const DoubleLiteral D_800E6538 = { 0.05 }; +const DoubleLiteral D_800E6540 = { 0.65 }; +const DoubleLiteral D_800E6548 = { 0.65 }; +const DoubleLiteral D_800E6550 = { 0.7 }; +const DoubleLiteral D_800E6558 = { 0.4 }; +const DoubleLiteral D_800E6560 = { 0.005555555555555556 }; +const FloatLiteral D_800E6568 = { 0.4f }; +const DoubleLiteral D_800E6570 = { 65.0 }; +const DoubleLiteral D_800E6578 = { 0.2 }; +const FloatLiteral D_800E6580 = { 1.3f }; +const FloatLiteral D_800E6584 = { 0.1f }; +const FloatLiteral D_800E6588 = { 0.002f }; +const FloatLiteral D_800E658C = { 0.01f }; +const DoubleLiteral D_800E6590 = { 1.2 }; +const DoubleLiteral D_800E6598 = { 0.45 }; +const FloatLiteral D_800E65A0 = { -0.02f }; +const FloatLiteral D_800E65A4 = { 0.87f }; +const FloatLiteral D_800E65A8 = { 0.9f }; +const FloatLiteral D_800E65AC = { -10000.0f }; + +// Jump table in func_8004DE38 +const u32 D_800E65B0[] = { + 0x8004EB84, 0x8004EBBC, 0x8004EBD8, 0x8004EBF4, + 0x8004EBA0, 0x8004EC10, 0x8004EC50, 0x8004EC90, + 0x8004EC90, 0x8004ED88, 0x8004EBF4, 0x8004ECD0, + 0x8004ED10, 0x8004ED50 +}; + +const FloatLiteral D_800E65E8 = { 1.12f }; +const FloatLiteral D_800E65EC = { 0.02f }; +const FloatLiteral D_800E65F0 = { -0.02f }; +const FloatLiteral D_800E65F4 = { 265.0f }; +const DoubleLiteral D_800E65F8 = { 1500.0 }; +const DoubleLiteral D_800E6600 = { 0.065 }; +const DoubleLiteral D_800E6608 = { 0.3 }; +const DoubleLiteral D_800E6610 = { 0.1 }; +const DoubleLiteral D_800E6618 = { 0.3 }; +const DoubleLiteral D_800E6620 = { 0.1 }; +const DoubleLiteral D_800E6628 = { 0.004 }; +const DoubleLiteral D_800E6630 = { 0.65 }; +const DoubleLiteral D_800E6638 = { 0.024999999999999998 }; +const DoubleLiteral D_800E6640 = { 0.4 }; +const DoubleLiteral D_800E6648 = { 1.1 }; +const DoubleLiteral D_800E6650 = { -0.3 }; +const DoubleLiteral D_800E6658 = { 0.3 }; +const FloatLiteral D_800E6660 = { 0.02f }; +const DoubleLiteral D_800E6668 = { 0.9 }; +const DoubleLiteral D_800E6670 = { 0.7 }; +const DoubleLiteral D_800E6678 = { 1.7 }; +const DoubleLiteral D_800E6680 = { 0.15 }; +const DoubleLiteral D_800E6688 = { 0.3 }; +const DoubleLiteral D_800E6690 = { 0.32 }; +const DoubleLiteral D_800E6698 = { -0.04 }; +const DoubleLiteral D_800E66A0 = { 0.04 }; +const DoubleLiteral D_800E66A8 = { 0.9 }; +const DoubleLiteral D_800E66B0 = { 0.3 }; +const DoubleLiteral D_800E66B8 = { 0.1 }; +const FloatLiteral D_800E66C0 = { 0.1f }; +const DoubleLiteral D_800E66C8 = { 0.05 }; + +// Jump table in func_8005250C +const u32 D_800E66D0[] = { + 0x80052678, 0x80052978, 0x80052978, 0x800527AC, + 0x8005280C, 0x80052858, 0x800528A4, 0x80052910 +}; + +const DoubleLiteral D_800E66F0 = { 0.97 }; +const DoubleLiteral D_800E66F8 = { 0.87 }; +const DoubleLiteral D_800E6700 = { 0.9 }; +const DoubleLiteral D_800E6708 = { 0.3 }; +const DoubleLiteral D_800E6710 = { 1.6 }; +const DoubleLiteral D_800E6718 = { 0.025 }; +const FloatLiteral D_800E6720 = { 0.45f }; +const DoubleLiteral D_800E6728 = { 0.97 }; +const DoubleLiteral D_800E6730 = { 0.2 }; +const DoubleLiteral D_800E6738 = { 0.2 }; +const DoubleLiteral D_800E6740 = { 1.33 }; +const DoubleLiteral D_800E6748 = { 0.53 }; +const DoubleLiteral D_800E6750 = { 1.8 }; +const FloatLiteral D_800E6758 = { 1.8f }; +const DoubleLiteral D_800E6760 = { 0.2 }; +const DoubleLiteral D_800E6768 = { 0.1 }; +const DoubleLiteral D_800E6770 = { 0.2 }; +const DoubleLiteral D_800E6778 = { 0.05 }; +const DoubleLiteral D_800E6780 = { 0.1 }; +const DoubleLiteral D_800E6788 = { 0.4 }; +const DoubleLiteral D_800E6790 = { 0.1 }; +const DoubleLiteral D_800E6798 = { 1.4 }; +const FloatLiteral D_800E67A0 = { 0.1f }; + +// Jump table in func_80053E9C +const u32 D_800E67A4[] = { + 0x80053FF0, 0x8005406C, 0x800540FC, 0x8005408C, + 0x800540C4, 0x80054098 +}; + +const DoubleLiteral D_800E67C0 = { 20.5 }; +const DoubleLiteral D_800E67C8 = { 0.3 }; +const DoubleLiteral D_800E67D0 = { 0.1 }; +const DoubleLiteral D_800E67D8 = { 0.3 }; +const DoubleLiteral D_800E67E0 = { 0.1 }; +const DoubleLiteral D_800E67E8 = { -0.3 }; +const DoubleLiteral D_800E67F0 = { 0.3 }; +const DoubleLiteral D_800E67F8 = { 0.9 }; +const FloatLiteral D_800E6800 = { 0.02f }; +const DoubleLiteral D_800E6808 = { 1.7 }; +const DoubleLiteral D_800E6810 = { 0.15 }; +const DoubleLiteral D_800E6818 = { 0.32 }; +const DoubleLiteral D_800E6820 = { -0.04 }; +const DoubleLiteral D_800E6828 = { 0.04 }; +const DoubleLiteral D_800E6830 = { 0.9 }; +const DoubleLiteral D_800E6838 = { 1.075 }; +const DoubleLiteral D_800E6840 = { 0.15 }; +const DoubleLiteral D_800E6848 = { 0.7 }; +const FloatLiteral D_800E6850 = { 1500.0f }; + +// Jump table in func_80055EC0 +const u32 D_800E6854[] = { + 0x8005635C, 0x80056370, 0x80056380, 0x8005639C, + 0x800563EC, 0x80056508, 0x8005655C, 0x80056508, + 0x800563EC, 0x80056620, 0x800563CC, 0x80056380, + 0x800565C0, 0x800565E0, 0x80056600, 0x800563EC, + 0x80056828 +}; + +// Jump table in func_80055EC0 +const u32 D_800E6894[] = { + 0x80056834, 0x80056840, 0x8005684C, 0x80056884, + 0x80056884, 0x80056884, 0x80056884, 0x80056884, + 0x80056884, 0x80056874, 0x80056880 +}; + +const FloatLiteral D_800E68C4 = { 10000.0f }; +const FloatLiteral D_800E68C8 = { 10000.0f }; +const FloatLiteral D_800E68CC = { 0.025f }; + +// Jump table in func_80057A40 +const u32 D_800E68D0[] = { + 0x80057BBC, 0x80057BE4, 0x80057CD0, 0x80057C0C, + 0x80057C34, 0x80057C5C, 0x80057C84, 0x80057CAC +}; + +const DoubleLiteral D_800E68F0 = { 91.75 }; +const DoubleLiteral D_800E68F8 = { 90.0 }; +const DoubleLiteral D_800E6900 = { 48.5 }; +const DoubleLiteral D_800E6908 = { 0.95 }; +const DoubleLiteral D_800E6910 = { 65.0 }; +const DoubleLiteral D_800E6918 = { 1.3 }; +const DoubleLiteral D_800E6920 = { -0.2 }; +const DoubleLiteral D_800E6928 = { 1.2 }; +const DoubleLiteral D_800E6930 = { 1.2 }; +const DoubleLiteral D_800E6938 = { 0.8 }; +const DoubleLiteral D_800E6940 = { 0.45 }; +const FloatLiteral D_800E6948 = { -0.02f }; +const FloatLiteral D_800E694C = { 1000000.0f }; +const DoubleLiteral D_800E6950 = { 160000.0 }; +const FloatLiteral D_800E6958 = { 0.8f }; +const DoubleLiteral D_800E6960 = { 160000.0 }; + +// Jump table in func_8005A6F0 +const u32 D_800E6968[] = { + 0x8005AF80, 0x8005AFD8, 0x8005B004, 0x8005B030, + 0x8005AFAC, 0x8005B05C, 0x8005B094, 0x8005B0CC, + 0x8005B0CC, 0x8005B1B0, 0x8005B030, 0x8005B10C, + 0x8005B144, 0x8005B17C +}; + +const DoubleLiteral D_800E69A0 = { 0.9 }; +const FloatLiteral D_800E69A8 = { 0.02f }; +const FloatLiteral D_800E69AC = { -0.02f }; +const FloatLiteral D_800E69B0 = { 265.0f }; +const DoubleLiteral D_800E69B8 = { 1500.0 }; +const DoubleLiteral D_800E69C0 = { 0.025 }; +const DoubleLiteral D_800E69C8 = { 0.595 }; +const DoubleLiteral D_800E69D0 = { 0.004 }; +const DoubleLiteral D_800E69D8 = { 1.3 }; +const DoubleLiteral D_800E69E0 = { 150.0 }; +const FloatLiteral D_800E69E8 = { 0.01f }; +const DoubleLiteral D_800E69F0 = { 0.01 }; +const DoubleLiteral D_800E69F8 = { 35.0 }; +const FloatLiteral D_800E6A00 = { 0.05f }; /*********************************/ @@ -350,7 +630,7 @@ void func_800535C4(unk800535C4 *arg0, unk800535C4_2 *arg1) { void func_80053664(Player_64 *arg0) { if (arg0->throttle > 0.0) { - arg0->throttle -= D_800E6768; + arg0->throttle -= D_800E6768.doubleLiteral; } if (D_8011D528 & 0x8000) { @@ -359,12 +639,12 @@ void func_80053664(Player_64 *arg0) { if (D_8011D528 & 0x4000) { if (arg0->brake < 1.0) { - arg0->brake += D_800E6770; + arg0->brake += D_800E6770.doubleLiteral; } } else { //! @bug Will cause a negative brake value resulting in higher velocity - if (arg0->brake > D_800E6778) { - arg0->brake -= D_800E6780; + if (arg0->brake > D_800E6778.doubleLiteral) { + arg0->brake -= D_800E6780.doubleLiteral; } } } @@ -569,7 +849,7 @@ GLOBAL_ASM("asm/non_matchings/unknown_043920/func_8005A6F0.s") GLOBAL_ASM("asm/non_matchings/unknown_043920/func_8005B818.s") void func_8005C25C(void) { - D_800DCB9C[0] = D_800E6A00; + D_800DCB9C[0] = D_800E6A00.floatLiteral; } /* Unknown Size */ From d1a98464a77a77ce83c4d18c79b80cc502ed5ba9 Mon Sep 17 00:00:00 2001 From: David Benepe Date: Mon, 31 May 2021 20:52:51 -0500 Subject: [PATCH 25/27] Moved .rodata in unknown_080500 from asm to C. --- data/unknown_080500.rodata.s | 528 ----------------------------------- src/unknown_080500.c | 277 ++++++++++++++---- 2 files changed, 229 insertions(+), 576 deletions(-) delete mode 100644 data/unknown_080500.rodata.s diff --git a/data/unknown_080500.rodata.s b/data/unknown_080500.rodata.s deleted file mode 100644 index 9f729915..00000000 --- a/data/unknown_080500.rodata.s +++ /dev/null @@ -1,528 +0,0 @@ -.include "macros.inc" - -.macro .aligned_text ascii - .asciz "\ascii" - .balign 4 -.endm - -.section .rodata - -# Used in the title screen sequence. -.aligned_text "TIMBER" -.aligned_text "BUMPER" -.aligned_text "CONKER" -.aligned_text "TIPTUP" -.aligned_text "DRUMSTICK" -.aligned_text "PIPSY" -.aligned_text "BANJO" -.aligned_text "KRUNCH" -.aligned_text "WIZPIG" -.aligned_text "DIDDY" - -.float 0.5 - -# Credits, 800E7D08 -.aligned_text "CREDITS" - -.aligned_text "Software Director" -.aligned_text "R.Harrison" - -.aligned_text "Software Engineers" -.aligned_text "P.Mountain" -.aligned_text "J.Pegg" -.aligned_text "R.Gale" - -.aligned_text "Art Director" -.aligned_text "K.Bayliss" - -.aligned_text "3D Artists" -.aligned_text "L.Musgrave" -.aligned_text "K.Rabbette" -.aligned_text "D.Smith" -.aligned_text "J.Christensen" -.aligned_text "B.Smyth" -.aligned_text "P.Cunningham" - -.aligned_text "Music" -.aligned_text "D.Wise" - -.aligned_text "Sound Effects" -.aligned_text "G.Norgate" - -.aligned_text "ALSO" - -.aligned_text "Additional Design" -.aligned_text "M.Wakeley" - -.aligned_text "Documentation" -.aligned_text "L.Loveday" -.aligned_text "Liason" -.aligned_text "E.Hochberg" - -.aligned_text "Character Voices" -.aligned_text "K.Bayliss" -.aligned_text "J.Christensen" -.aligned_text "E.Fischer" -.aligned_text "K.Rabbette" -.aligned_text "L.Ray" -.aligned_text "L.Schuneman" -.aligned_text "C.Seavor" -.aligned_text "D.Smith" -.aligned_text "J.Stamper" -.aligned_text "K.Stamper" -.aligned_text "C.Sutherland" - -.aligned_text "Rare Quality Assurance" -.aligned_text "H.Ward" -.aligned_text "G.Richards" -.aligned_text "S.Farmer" -.aligned_text "J.Williams" -.aligned_text "D.Wong" -.aligned_text "G.Jones" -.aligned_text "M.Penny" -.aligned_text "S.Brand" -.aligned_text "S.Malpass" -.aligned_text "A.Wilson" - -.aligned_text "NOA Thanks To" -.aligned_text "M.Fukuda" -.aligned_text "K.Lobb" -.aligned_text "M.Kelbaugh" -.aligned_text "A.Williams" -.aligned_text "R.Johnson" -.aligned_text "M.Forrest" -.aligned_text "P.Sandhop" -.aligned_text "H.Sterchi" -.aligned_text "T.Hertzog" -.aligned_text "D.Bridgham" -.aligned_text "G.Richardson" -.aligned_text "B.Smith" - -.aligned_text "NOA Thanks To" -.aligned_text "NOA Tree House" -.aligned_text "NOA Tree Branch" - -.aligned_text "NCL Thank You's" -.aligned_text "K.Terasaki" -.aligned_text "M.Goto" -.aligned_text "H.Yamada" -.aligned_text "Mario Club" - -.aligned_text "NOE Thank You's" -.aligned_text "J.Kraft" -.aligned_text "J.Bardakoff" - -.aligned_text "Special Thanks To" -.aligned_text "J.Hochberg" -.aligned_text "H.Lincoln" -.aligned_text "M.Arakawa" - -.aligned_text "Game Director" -.aligned_text "L.Schuneman" - -.aligned_text "Producer" -.aligned_text "C.Stamper" - -.aligned_text "Executive Producer" -.aligned_text "T.Stamper" - -# Developer's best times for each track -.aligned_text "0:53:43" -.aligned_text "1:21:55" -.aligned_text "0:54:13" -.aligned_text "1:22:48" -.aligned_text "1:04:11" -.aligned_text "1:13:51" -.aligned_text "1:25:01" -.aligned_text "0:55:05" -.aligned_text "1:37:63" -.aligned_text "1:56:60" -.aligned_text "0:57:81" -.aligned_text "1:28:01" -.aligned_text "1:51:15" -.aligned_text "1:31:80" -.aligned_text "2:03:16" -.aligned_text "0:58:25" -.aligned_text "2:00:38" -.aligned_text "2:05:68" -.aligned_text "1:52:96" -.aligned_text "1:55:00" - -.aligned_text "THE END?" - -.aligned_text "TO BE CONTINUED ..." - -.aligned_text "THE END" - -# This appears if you use the "WHODIDTHIS" cheat. You have to beat wizpig to get cheat codes. -.aligned_text "NO CHEAT" -.aligned_text "THIS TIME." - -### End of credits ### - -.aligned_text " (ADV." - -glabel D_800E8208 -.aligned_text "OK?" - -glabel D_800E820C -.aligned_text "~" - -glabel D_800E8210 -.aligned_text "DEL" - -glabel D_800E8214 -.aligned_text "OK" - -# Used with the "DODGYROMMER" cheat. -glabel D_800E8218 -.aligned_text "ROM checksum %08X,%d\n" - -glabel D_800E8230 -.aligned_text "OK?" - -glabel D_800E8234 -.aligned_text "OK?" - -glabel D_800E8238 -.aligned_text "OK?" - -glabel D_800E823C -.aligned_text "OK?" - -glabel D_800E8240 -.aligned_text "OK?" - -glabel D_800E8244 -.aligned_text "SP" - -glabel D_800E8248 -.aligned_text "DEL" - -glabel D_800E824C -.aligned_text "OK" - -.aligned_text "loadFrontEndItem() - Item no %d out of range 0-%d\n" - -glabel D_800E8284 -.word 0x80081464 -.word 0x80081454 -.word 0x8008158C -.word 0x800814C4 -.word 0x8008158C -.word 0x80081504 -.word 0x800814E4 -.word 0x8008158C -.word 0x8008158C -.word 0x8008158C -.word 0x800814A4 -.word 0x800814B4 -.word 0x80081474 -.word 0x80081484 -.word 0x80081494 -.word 0x800814F4 -.word 0x8008158C -.word 0x80081514 -.word 0x8008158C -.word 0x800814D4 -.word 0x80081524 -.word 0x80081534 -.word 0x8008158C -.word 0x80081544 -.word 0x80081554 -.word 0x80081564 -.word 0x80081574 -.word 0x8008158C -.word 0x80081584 - -glabel D_800E82F8 -.word 0x80081634 -.word 0x80081620 -.word 0x800817AC -.word 0x800816AC -.word 0x800817AC -.word 0x800816FC -.word 0x800816C0 -.word 0x800817AC -.word 0x800817AC -.word 0x800817AC -.word 0x80081684 -.word 0x80081698 -.word 0x80081648 -.word 0x8008165C -.word 0x80081670 -.word 0x800816E8 -.word 0x800817AC -.word 0x80081710 -.word 0x800817AC -.word 0x800816D4 -.word 0x80081724 -.word 0x80081738 -.word 0x800817AC -.word 0x8008174C -.word 0x80081760 -.word 0x80081774 -.word 0x80081788 -.word 0x800817AC -.word 0x8008179C - -glabel D_800E836C -.word 0x800823E8 -.word 0x80082454 -.word 0x800824B8 -.word 0x80082524 -.word 0x8008256C -.word 0x80082608 -.word 0x80082760 -.word 0x800827C0 - -glabel D_800E838C -.word 0x40266666 - -glabel D_800E8390 -.word 0x400AE148 -.word 0x00000000 - -glabel D_800E8398 -.word 0x407FE000 - -glabel D_800E839C -.word 0x00000000 - -glabel D_800E83A0 -.word 0x407FE000 - -glabel D_800E83A4 -.word 0x00000000 - -glabel D_800E83A8 -.word 0x407FE000 - -glabel D_800E83AC -.word 0x00000000 - -glabel D_800E83B0 -.word 0x3F2B851F - -glabel D_800E83B4 -.word 0x40351EB8 - -glabel D_800E83B8 -.word 0x8008541C -.word 0x8008553C -.word 0x80085574 -.word 0x80085690 -.word 0x800856DC -.word 0x80085728 -.word 0x80085828 -.word 0x80085774 -.word 0x800857C0 -.word 0x800857F0 - -glabel D_800E83E0 -.word 0x80085C30 -.word 0x80085BF8 -.word 0x80085BF8 -.word 0x80085C00 -.word 0x80085C00 -.word 0x80085C08 -.word 0x80085C14 -.word 0x80085C24 - -glabel D_800E8400 -.word 0x80086834 -.word 0x80086888 -.word 0x800868C0 -.word 0x80086920 -.word 0x80086998 - -glabel D_800E8414 -.word 0x3DCCCCCD - -glabel D_800E8418 -.word 0x80086B54 -.word 0x80086CDC -.word 0x80086D54 -.word 0x80086F74 -.word 0x80087084 -.word 0x80087110 -.word 0x800871C4 -.word 0x800871C4 -.word 0x800871C4 -.word 0x80087158 - -glabel D_800E8440 -.word 0x800878D4 -.word 0x800878D4 -.word 0x800878D4 -.word 0x800878F0 -.word 0x800878BC -.word 0x800878F0 -.word 0x800878E0 -.word 0x800878F0 -.word 0x800878D4 - -glabel D_800E8464 -.word 0x80087930 -.word 0x80087948 -.word 0x80087948 -.word 0x80087964 -.word 0x80087930 -.word 0x80087964 -.word 0x80087954 -.word 0x80087964 -.word 0x80087948 - -glabel D_800E8488 -.word 0x800879A4 -.word 0x800879A4 -.word 0x800879A4 -.word 0x80087B50 -.word 0x800879A4 -.word 0x80087B50 -.word 0x800879A4 -.word 0x80087B50 -.word 0x800879BC -.word 0x800879BC - -glabel D_800E84B0 -.word 0x80087D18 -.word 0x80087D28 -.word 0x80087D54 -.word 0x80087D94 -.word 0x80087DAC -.word 0x80087DEC -.word 0x80087E04 -.word 0x80087E1C - -glabel D_800E84D0 -.word 0x3FF19999 - -glabel D_800E84D4 -.word 0x9999999A - -glabel D_800E84D8 -.word 0x3F99999A -.word 0x00000000 - -glabel D_800E84E0 -.word 0x3FB99999 - -glabel D_800E84E4 -.word 0x9999999A - -glabel D_800E84E8 -.word 0x3FB99999 - -glabel D_800E84EC -.word 0x9999999A - -glabel D_800E84F0 -.word 0x3F99999A - -glabel D_800E84F4 -.word 0x8009246C -.word 0x8009251C -.word 0x80092740 -.word 0x8009287C -.word 0x8009287C - -glabel D_800E8508 -.word 0x80094DD0 -.word 0x80094FB0 -.word 0x80095084 -.word 0x80095588 -.word 0x80095110 -.word 0x800951CC - -glabel D_800E8520 -.word 0x3F99999A - -glabel D_800E8524 -.word 0x80095650 -.word 0x800956C8 -.word 0x800956C8 -.word 0x80095668 -.word 0x80095650 -.word 0x80095668 -.word 0x80095680 -.word 0x80095698 -.word 0x800956B0 - -glabel D_800E8548 -.word 0x80095948 -.word 0x80095964 -.word 0x80095B34 -.word 0x80095D30 -.word 0x80095D50 -.word 0x80095EA8 -.word 0x80095EC8 -.word 0x800964AC -.word 0x800964DC - -glabel D_800E856C -.word 0x3DCCCCCD - -glabel D_800E8570 -.word 0x3D99999A - -glabel D_800E8574 -.word 0x8009BA98 -.word 0x8009BAD8 -.word 0x8009BB08 -.word 0x8009BB48 -.word 0x8009BB9C - -glabel D_800E8588 -.word 0x8009D0B8 -.word 0x8009D104 -.word 0x8009D0C8 -.word 0x8009D0D8 -.word 0x8009D0E8 -.word 0x8009D0F8 - -glabel D_800E85A0 -.word 0x8009D944 -.word 0x8009D944 -.word 0x8009D944 -.word 0x8009D91C -.word 0x8009D8F0 -.word 0x8009D8D4 -.word 0x8009D8D4 -.word 0x8009D8D4 -.word 0x8009D618 -.word 0x8009D638 -.word 0x8009D7A0 -.word 0x8009D840 -.word 0x8009D968 -.word 0x8009D998 -.word 0x8009D9B0 -.word 0x8009D9B0 - -glabel D_800E85E0 -.word 0x8009DC60 -.word 0x8009DEF0 -.word 0x8009E37C -.word 0x8009E37C -.word 0x8009DFB0 -.word 0x8009DFEC -.word 0x8009E098 -.word 0x8009E194 -.word 0x8009E23C -.word 0x8009E37C -.word 0x8009DC60 - -glabel D_800E860C -.word 0x8009E2D0 -.word 0x8009E2F4 -.word 0x8009E354 -.word 0x8009E354 -.word 0x8009E314 -.word 0x8009E354 -.word 0x8009E314 -.word 0x8009E2E4 -.word 0x8009E354 -.word 0x8009E334 -.word 0x00000000 -.word 0x00000000 -.word 0x00000000 diff --git a/src/unknown_080500.c b/src/unknown_080500.c index 777ff80c..e71574b0 100644 --- a/src/unknown_080500.c +++ b/src/unknown_080500.c @@ -223,7 +223,7 @@ MenuBootDrawTexture D_800DF7DC[12] = { /* Size: 0x30 bytes */ typedef struct unk800DF83C { - s32* unk0; // Pointer to something. + char* unk0; // Pointer to ascii text. f32 unk4; f32 unk8; f32 unkC; @@ -236,17 +236,18 @@ typedef struct unk800DF83C { f32 unk28; } unk800DF83C; +// Title screen cinematic text unk800DF83C D_800DF83C[10] = { - { (s32*)0x800E7CB0, 14.0f, 14.5f, 16.5f, 17.0f, -80.0f, 208.0f, 160.0f, 208.0f, 400.0f, 208.0f }, - { (s32*)0x800E7CB8, 19.0f, 19.5f, 21.5f, 22.0f, -80.0f, 208.0f, 160.0f, 208.0f, 400.0f, 208.0f }, - { (s32*)0x800E7CC0, 24.0f, 24.5f, 26.5f, 27.0f, -80.0f, 208.0f, 160.0f, 208.0f, 400.0f, 208.0f }, - { (s32*)0x800E7CC8, 29.0f, 29.5f, 31.5f, 32.0f, -80.0f, 208.0f, 160.0f, 208.0f, 400.0f, 208.0f }, - { (s32*)0x800E7CD0, 35.0f, 35.5f, 37.5f, 38.0f, -80.0f, 208.0f, 160.0f, 208.0f, 400.0f, 208.0f }, - { (s32*)0x800E7CDC, 40.0f, 40.5f, 42.5f, 43.0f, -80.0f, 208.0f, 160.0f, 208.0f, 400.0f, 208.0f }, - { (s32*)0x800E7CE4, 45.0f, 45.5f, 47.5f, 48.0f, -80.0f, 208.0f, 160.0f, 208.0f, 400.0f, 208.0f }, - { (s32*)0x800E7CEC, 50.0f, 50.5f, 52.5f, 53.0f, -80.0f, 208.0f, 160.0f, 208.0f, 400.0f, 208.0f }, - { (s32*)0x800E7CF4, 57.5f, 58.0f, 60.0f, 60.5f, -80.0f, 208.0f, 160.0f, 208.0f, 400.0f, 208.0f }, - { (s32*)0x800E7CFC, 63.5f, 64.0f, 66.0f, 66.5f, -80.0f, 208.0f, 160.0f, 208.0f, 400.0f, 208.0f } + { "TIMBER", 14.0f, 14.5f, 16.5f, 17.0f, -80.0f, 208.0f, 160.0f, 208.0f, 400.0f, 208.0f }, + { "BUMPER", 19.0f, 19.5f, 21.5f, 22.0f, -80.0f, 208.0f, 160.0f, 208.0f, 400.0f, 208.0f }, + { "CONKER", 24.0f, 24.5f, 26.5f, 27.0f, -80.0f, 208.0f, 160.0f, 208.0f, 400.0f, 208.0f }, + { "TIPTUP", 29.0f, 29.5f, 31.5f, 32.0f, -80.0f, 208.0f, 160.0f, 208.0f, 400.0f, 208.0f }, + { "DRUMSTICK", 35.0f, 35.5f, 37.5f, 38.0f, -80.0f, 208.0f, 160.0f, 208.0f, 400.0f, 208.0f }, + { "PIPSY", 40.0f, 40.5f, 42.5f, 43.0f, -80.0f, 208.0f, 160.0f, 208.0f, 400.0f, 208.0f }, + { "BANJO", 45.0f, 45.5f, 47.5f, 48.0f, -80.0f, 208.0f, 160.0f, 208.0f, 400.0f, 208.0f }, + { "KRUNCH", 50.0f, 50.5f, 52.5f, 53.0f, -80.0f, 208.0f, 160.0f, 208.0f, 400.0f, 208.0f }, + { "WIZPIG", 57.5f, 58.0f, 60.0f, 60.5f, -80.0f, 208.0f, 160.0f, 208.0f, 400.0f, 208.0f }, + { "DIDDY", 63.5f, 64.0f, 66.0f, 66.5f, -80.0f, 208.0f, 160.0f, 208.0f, 400.0f, 208.0f } }; s32 D_800DF9F4 = 0; @@ -738,7 +739,8 @@ s32 D_800E0968 = 0; s32 D_800E096C = 0; s32 D_800E0970 = 0; s32 D_800E0974 = 0; -u32* D_800E0978 = (u32*)0x800E7D04; +const FloatLiteral D_800E7D04 = { 0.5f }; +f32* D_800E0978 = &D_800E7D04; s32 D_800E097C = 0; s32 D_800E0980 = 0; s32 D_800E0984 = 0; @@ -1160,45 +1162,47 @@ u16 D_800E18FC[30] = { 0x1000, 0x0000 }; -// Credits text look-up table +// List of amazing people. char *D_800E1938[87] = { - (char*)0x800E7D08, (char*)0x800E7D10, (char*)0x800E7D24, (char*)0x800E7D30, - (char*)0x800E7D44, (char*)0x800E7D50, (char*)0x800E7D58, (char*)0x800E7D60, - (char*)0x800E7D70, (char*)0x800E7D7C, (char*)0x800E7D88, (char*)0x800E7D94, - (char*)0x800E7DA0, (char*)0x800E7DA8, (char*)0x800E7DB8, (char*)0x800E7DC0, - (char*)0x800E7DD0, (char*)0x800E7DD8, (char*)0x800E7DE0, (char*)0x800E7DF0, - (char*)0x800E7DFC, (char*)0x800E7E04, (char*)0x800E7E18, (char*)0x800E7E24, - (char*)0x800E7E34, (char*)0x800E7E40, (char*)0x800E7E48, (char*)0x800E7E54, - (char*)0x800E7E68, (char*)0x800E7E74, (char*)0x800E7E84, (char*)0x800E7E90, - (char*)0x800E7E9C, (char*)0x800E7EA4, (char*)0x800E7EB0, (char*)0x800E7EBC, - (char*)0x800E7EC4, (char*)0x800E7ED0, (char*)0x800E7EDC, (char*)0x800E7EEC, - (char*)0x800E7F04, (char*)0x800E7F0C, (char*)0x800E7F18, (char*)0x800E7F24, - (char*)0x800E7F30, (char*)0x800E7F38, (char*)0x800E7F40, (char*)0x800E7F48, - (char*)0x800E7F50, (char*)0x800E7F5C, (char*)0x800E7F68, (char*)0x800E7F78, - (char*)0x800E7F84, (char*)0x800E7F8C, (char*)0x800E7F98, (char*)0x800E7FA4, - (char*)0x800E7FB0, (char*)0x800E7FBC, (char*)0x800E7FC8, (char*)0x800E7FD4, - (char*)0x800E7FE0, (char*)0x800E7FEC, (char*)0x800E7FFC, (char*)0x800E8004, - (char*)0x800E8014, (char*)0x800E8024, (char*)0x800E8034, (char*)0x800E8044, - (char*)0x800E8050, (char*)0x800E8058, (char*)0x800E8064, (char*)0x800E8070, - (char*)0x800E8080, (char*)0x800E8088, (char*)0x800E8094, (char*)0x800E80A8, - (char*)0x800E80B4, (char*)0x800E80C0, (char*)0x800E80CC, (char*)0x800E80DC, - (char*)0x800E80E8, (char*)0x800E80F4, (char*)0x800E8100, (char*)0x800E8114, - (char*)0x00000000, (char*)0x00000000, (char*)0x00000000 + "CREDITS", + "Software Director", "R.Harrison", + "Software Engineers", "P.Mountain", "J.Pegg", "R.Gale", + "Art Director", "K.Bayliss", + "3D Artists", "L.Musgrave", "K.Rabbette", "D.Smith", "J.Christensen", "B.Smyth", "P.Cunningham", + "Music", "D.Wise", + "Sound Effects", "G.Norgate", + "ALSO", + "Additional Design", "M.Wakeley", + "Documentation", "L.Loveday", "Liason", "E.Hochberg", + "Character Voices", "K.Bayliss", "J.Christensen", "E.Fischer", "K.Rabbette", "L.Ray", + "L.Schuneman", "C.Seavor", "D.Smith", "J.Stamper", "K.Stamper", "C.Sutherland", + "Rare Quality Assurance", "H.Ward", "G.Richards", "S.Farmer", "J.Williams", "D.Wong", + "G.Jones", "M.Penny", "S.Brand", "S.Malpass", "A.Wilson", + "NOA Thanks To", "M.Fukuda", "K.Lobb", "M.Kelbaugh", "A.Williams", "R.Johnson", "M.Forrest", + "P.Sandhop", "H.Sterchi", "T.Hertzog", "D.Bridgham", "G.Richardson", "B.Smith", + "NOA Thanks To", "NOA Tree House", "NOA Tree Branch", + "NCL Thank You's", "K.Terasaki", "M.Goto", "H.Yamada", "Mario Club", + "NOE Thank You's", "J.Kraft", "J.Bardakoff", + "Special Thanks To", "J.Hochberg", "H.Lincoln", "M.Arakawa", + "Game Director", "L.Schuneman", + "Producer", "C.Stamper", + "Executive Producer", "T.Stamper", + NULL, NULL, NULL }; -// Credits text look-up table (time trials time sheet) +// Developer's best times for each track char *D_800E1A94[20] = { - (char*)0x800E8120, (char*)0x800E8128, (char*)0x800E8130, (char*)0x800E8138, - (char*)0x800E8140, (char*)0x800E8148, (char*)0x800E8150, (char*)0x800E8158, - (char*)0x800E8160, (char*)0x800E8168, (char*)0x800E8170, (char*)0x800E8178, - (char*)0x800E8180, (char*)0x800E8188, (char*)0x800E8190, (char*)0x800E8198, - (char*)0x800E81A0, (char*)0x800E81A8, (char*)0x800E81B0, (char*)0x800E81B8 +/***** Dino Domain *****/ "0:53:43", "1:21:55", "0:54:13", "1:22:48", +/** Snowflake Mountain */ "1:04:11", "1:13:51", "1:25:01", "0:55:05", +/**** Sherbet Island ***/ "1:37:63", "1:56:60", "0:57:81", "1:28:01", +/**** Dragon Forest ****/ "1:51:15", "1:31:80", "2:03:16", "0:58:25", +/*** Future Fun Land ***/ "2:00:38", "2:05:68", "1:52:96", "1:55:00" }; -// Another credits text look-up table char *D_800E1AE4[5] = { - (char*)0x800E81C0, (char*)0x800E81CC, (char*)0x800E81E0, (char*)0x800E81E8, - (char*)0x800E81F4, + "THE END?", "TO BE CONTINUED ...", // Appears after beating the first wizpig race. + "THE END", // Appears after beating the second wizpig race. + "NO CHEAT", "THIS TIME.", // Appears if you use the "WHODIDTHIS" cheat. }; s32 D_800E1AF8[21] = { @@ -1330,8 +1334,185 @@ s16 D_800E1E40[10] = { /************ .rodata ************/ -extern s32 D_800E8230; -extern f32 D_800E8414; +const char D_800E8200[] = " (ADV."; +const char D_800E8208[] = "OK?"; +const char D_800E820C[] = "~"; +const char D_800E8210[] = "DEL"; +const char D_800E8214[] = "OK"; +const char D_800E8218[] = "ROM checksum %08X,%d\n"; // Used with the "DODGYROMMER" cheat. +const char D_800E8230[] = "OK?"; +const char D_800E8234[] = "OK?"; +const char D_800E8238[] = "OK?"; +const char D_800E823C[] = "OK?"; +const char D_800E8240[] = "OK?"; +const char D_800E8244[] = "SP"; +const char D_800E8248[] = "DEL"; +const char D_800E824C[] = "OK"; +const char D_800E8250[] = "loadFrontEndItem() - Item no %d out of range 0-%d\n"; + +// Jump table in MenuInit +const u32 D_800E8284[] = { + 0x80081464, 0x80081454, 0x8008158C, 0x800814C4, + 0x8008158C, 0x80081504, 0x800814E4, 0x8008158C, + 0x8008158C, 0x8008158C, 0x800814A4, 0x800814B4, + 0x80081474, 0x80081484, 0x80081494, 0x800814F4, + 0x8008158C, 0x80081514, 0x8008158C, 0x800814D4, + 0x80081524, 0x80081534, 0x8008158C, 0x80081544, + 0x80081554, 0x80081564, 0x80081574, 0x8008158C, + 0x80081584 +}; + +// Jump table in MenuLoop +const u32 D_800E82F8[] = { + 0x80081634, 0x80081620, 0x800817AC, 0x800816AC, + 0x800817AC, 0x800816FC, 0x800816C0, 0x800817AC, + 0x800817AC, 0x800817AC, 0x80081684, 0x80081698, + 0x80081648, 0x8008165C, 0x80081670, 0x800816E8, + 0x800817AC, 0x80081710, 0x800817AC, 0x800816D4, + 0x80081724, 0x80081738, 0x800817AC, 0x8008174C, + 0x80081760, 0x80081774, 0x80081788, 0x800817AC, + 0x8008179C +}; + +// Jump table in DrawMenuText +const u32 D_800E836C[] = { + 0x800823E8, 0x80082454, 0x800824B8, 0x80082524, + 0x8008256C, 0x80082608, 0x80082760, 0x800827C0 +}; + +const FloatLiteral D_800E838C = { 2.6f }; +const FloatLiteral D_800E8390 = { 2.17f }; +const DoubleLiteral D_800E8398 = { 510.0 }; +const DoubleLiteral D_800E83A0 = { 510.0 }; +const DoubleLiteral D_800E83A8 = { 510.0 }; +const FloatLiteral D_800E83B0 = { 0.67f }; +const FloatLiteral D_800E83B4 = { 2.83f }; + +// Jump table in func_800853D0 +const u32 D_800E83B8[] = { + 0x8008541C, 0x8008553C, 0x80085574, 0x80085690, + 0x800856DC, 0x80085728, 0x80085828, 0x80085774, + 0x800857C0, 0x800857F0 +}; + +// Jump table in func_80085B9C +const u32 D_800E83E0[] = { + 0x80085C30, 0x80085BF8, 0x80085BF8, 0x80085C00, + 0x80085C00, 0x80085C08, 0x80085C14, 0x80085C24 +}; + +// Jump table in func_800867D4 +const u32 D_800E8400[] = { + 0x80086834, 0x80086888, 0x800868C0, 0x80086920, + 0x80086998 +}; + +const FloatLiteral D_800E8414 = { 0.1f }; + +// Jump table in func_80086AFC +const u32 D_800E8418[] = { + 0x80086B54, 0x80086CDC, 0x80086D54, 0x80086F74, + 0x80087084, 0x80087110, 0x800871C4, 0x800871C4, + 0x800871C4, 0x80087158 +}; + +// Jump table in func_80087734 +const u32 D_800E8440[] = { + 0x800878D4, 0x800878D4, 0x800878D4, 0x800878F0, + 0x800878BC, 0x800878F0, 0x800878E0, 0x800878F0, + 0x800878D4 +}; + +// Jump table in func_80087734 +const u32 D_800E8464[] = { + 0x80087930, 0x80087948, 0x80087948, 0x80087964, + 0x80087930, 0x80087964, 0x80087954, 0x80087964, + 0x80087948 +}; + +// Jump table in func_80087734 +const u32 D_800E8488[] = { + 0x800879A4, 0x800879A4, 0x800879A4, 0x80087B50, + 0x800879A4, 0x80087B50, 0x800879A4, 0x80087B50, + 0x800879BC, 0x800879BC +}; + +// Jump table in MenuSaveOptionsLoop +const u32 D_800E84B0[] = { + 0x80087D18, 0x80087D28, 0x80087D54, 0x80087D94, + 0x80087DAC, 0x80087DEC, 0x80087E04, 0x80087E1C +}; + +const DoubleLiteral D_800E84D0 = { 1.1 }; +const FloatLiteral D_800E84D8 = { 1.2f }; +const DoubleLiteral D_800E84E0 = { 0.1 }; +const DoubleLiteral D_800E84E8 = { 0.1 }; +const FloatLiteral D_800E84F0 = { 1.2f }; + +// Jump table in func_80092188 +const u32 D_800E84F4[] = { + 0x8009246C, 0x8009251C, 0x80092740, 0x8009287C, + 0x8009287C +}; + +// Jump table in func_80094D28 +const u32 D_800E8508[] = { + 0x80094DD0, 0x80094FB0, 0x80095084, 0x80095588, + 0x80095110, 0x800951CC +}; + +const FloatLiteral D_800E8520 = { 1.2f }; + +// Jump table in func_80095624 +const u32 D_800E8524[] = { + 0x80095650, 0x800956C8, 0x800956C8, 0x80095668, + 0x80095650, 0x80095668, 0x80095680, 0x80095698, + 0x800956B0 +}; + +// Jump table in func_80095728 +const u32 D_800E8548[] = { + 0x80095948, 0x80095964, 0x80095B34, 0x80095D30, + 0x80095D50, 0x80095EA8, 0x80095EC8, 0x800964AC, + 0x800964DC +}; + +const FloatLiteral D_800E856C = { 0.1f }; +const FloatLiteral D_800E8570 = { 0.075f }; + +// Jump table in MenuCreditsLoop +const u32 D_800E8574[] = { + 0x8009BA98, 0x8009BAD8, 0x8009BB08, 0x8009BB48, + 0x8009BB9C +}; + +// Jump table in func_8009CFEC +const u32 D_800E8588[] = { + 0x8009D0B8, 0x8009D104, 0x8009D0C8, 0x8009D0D8, + 0x8009D0E8, 0x8009D0F8 +}; + +// Jump table in func_8009D360 +const u32 D_800E85A0[] = { + 0x8009D944, 0x8009D944, 0x8009D944, 0x8009D91C, + 0x8009D8F0, 0x8009D8D4, 0x8009D8D4, 0x8009D8D4, + 0x8009D618, 0x8009D638, 0x8009D7A0, 0x8009D840, + 0x8009D968, 0x8009D998, 0x8009D9B0, 0x8009D9B0 +}; + +// Jump table in func_8009DB3C +const u32 D_800E85E0[] = { + 0x8009DC60, 0x8009DEF0, 0x8009E37C, 0x8009E37C, + 0x8009DFB0, 0x8009DFEC, 0x8009E098, 0x8009E194, + 0x8009E23C, 0x8009E37C, 0x8009DC60 +}; + +// Jump table in func_8009DB3C +const u32 D_800E860C[] = { + 0x8009E2D0, 0x8009E2F4, 0x8009E354, 0x8009E354, + 0x8009E314, 0x8009E354, 0x8009E314, 0x8009E2E4, + 0x8009E354, 0x8009E334 +}; /*********************************/ @@ -2157,7 +2338,7 @@ void func_80086A48(s32 arg0) { temp = D_80126BD4; temp2 = D_80126BE4; while (arg0 > 0) { - temp3 = D_800E8414; + temp3 = D_800E8414.floatLiteral; if (D_80126A08 > 0) { D_80126BDC = D_80126BDC + temp3 * (temp - D_80126BDC); } @@ -2575,7 +2756,7 @@ void func_8008B20C(s32 arg0) { if (osTvType == 0) { temp = 0xEA; } - func_800C4440(&D_801263A0, 0xA0, temp, &D_800E8230, 0xC); + func_800C4440(&D_801263A0, 0xA0, temp, D_800E8230 /* "OK?" */, 0xC); } func_8007B3D0(&D_801263A0); func_800660EC(40.0f); From fa384597c10e01863412c6579a9860d1c0226d19 Mon Sep 17 00:00:00 2001 From: David Benepe Date: Tue, 1 Jun 2021 00:01:37 -0500 Subject: [PATCH 26/27] Moved .rodata in unknown_0CA9A0 & unknown_0D43F0 from asm to C. --- data/unknown_0CA9A0.rodata.s | 73 -------------------------------- data/unknown_0D43F0.rodata.s | 80 ------------------------------------ lib/src/unknown_0CA9A0.c | 32 +++++++++++++++ lib/src/unknown_0D3020.c | 4 +- lib/src/unknown_0D43F0.c | 29 ++++++++++++- 5 files changed, 62 insertions(+), 156 deletions(-) delete mode 100644 data/unknown_0CA9A0.rodata.s delete mode 100644 data/unknown_0D43F0.rodata.s diff --git a/data/unknown_0CA9A0.rodata.s b/data/unknown_0CA9A0.rodata.s deleted file mode 100644 index cee78d89..00000000 --- a/data/unknown_0CA9A0.rodata.s +++ /dev/null @@ -1,73 +0,0 @@ -.include "macros.inc" - -.macro .aligned_text ascii - .asciz "\ascii" - .balign 4 -.endm - -.section .rodata - -glabel D_800E9560 -.aligned_text "samples >= 0" - -glabel D_800E9570 -.aligned_text "env.c" - -glabel D_800E9578 -.aligned_text "samples <= AL_MAX_RSP_SAMPLES" - -glabel D_800E9598 -.aligned_text "env.c" - -glabel D_800E95A0 -.aligned_text "source" - -glabel D_800E95A8 -.aligned_text "env.c" - -glabel D_800E95B0 -.word 0x800CA870 -.word 0x800CA8C4 -.word 0x800CA8C4 -.word 0x800CA8C4 -.word 0x800CA8C4 -.word 0x800CA8C4 -.word 0x800CA8C4 -.word 0x800CA8C4 -.word 0x800CA8C4 -.word 0x800CA8C4 -.word 0x800CA8C4 -.word 0x800CA460 -.word 0x800CA460 -.word 0x800CA22C -.word 0x800CA7A8 -.word 0x800CA828 -.word 0x800CA460 - -.word 0x00000000 - -glabel D_800E95F8 -.word 0x40EFFFE0 - -glabel D_800E95FC -.word 0x00000000 - -glabel D_800E9600 -.word 0x800CC0C0 -.word 0x800CC150 -.word 0x800CC150 -.word 0x800CC0C8 -.word 0x800CC150 -.word 0x800CC150 -.word 0x800CC134 -.word 0x800CC144 -.word 0x800CC104 -.word 0x00000000 - -glabel D_800E9628 -.word 0x3FFFFFD6 -.word 0x0E94EE39 -.word 0x3FFFFEB0 -.word 0x00000000 -.word 0x00000000 -.word 0x00000000 diff --git a/data/unknown_0D43F0.rodata.s b/data/unknown_0D43F0.rodata.s deleted file mode 100644 index d60bd507..00000000 --- a/data/unknown_0D43F0.rodata.s +++ /dev/null @@ -1,80 +0,0 @@ -.include "macros.inc" - -.macro .aligned_text ascii - .asciz "\ascii" - .balign 4 -.endm - -.section .rodata - -glabel D_800E96C0 -.word 0x686C4C00 - -glabel D_800E96C4 -.word 0x202B2D23 -.word 0x30000000 - -glabel D_800E96CC -.word 0x00000001 -.word 0x00000002 -.word 0x00000004 -.word 0x00000008 -.word 0x00000010 -.word 0x00000000 - -glabel D_800E96E4 -.word 0x800D3C08 -.word 0x800D3EE8 -.word 0x800D3C08 -.word 0x800D3EE8 -.word 0x800D3EE8 -.word 0x800D3EE8 -.word 0x800D3EE8 -.word 0x800D3EE8 -.word 0x800D3EE8 -.word 0x800D3EE8 -.word 0x800D3EE8 -.word 0x800D3EE8 -.word 0x800D3EE8 -.word 0x800D3EE8 -.word 0x800D3EE8 -.word 0x800D3EE8 -.word 0x800D3EE8 -.word 0x800D3EE8 -.word 0x800D3EE8 -.word 0x800D3AB8 -.word 0x800D3EE8 -.word 0x800D3EE8 -.word 0x800D3EE8 -.word 0x800D3EE8 -.word 0x800D3EE8 -.word 0x800D3EE8 -.word 0x800D3EE8 -.word 0x800D3EE8 -.word 0x800D3EE8 -.word 0x800D3EE8 -.word 0x800D3910 -.word 0x800D3948 -.word 0x800D3C08 -.word 0x800D3C08 -.word 0x800D3C08 -.word 0x800D3EE8 -.word 0x800D3948 -.word 0x800D3EE8 -.word 0x800D3EE8 -.word 0x800D3EE8 -.word 0x800D3EE8 -.word 0x800D3D6C -.word 0x800D3AB8 -.word 0x800D3E3C -.word 0x800D3EE8 -.word 0x800D3EE8 -.word 0x800D3E84 -.word 0x800D3EE8 -.word 0x800D3AB8 -.word 0x800D3EE8 -.word 0x800D3EE8 -.word 0x800D3AB8 -.word 0x00000000 -.word 0x00000000 -.word 0x00000000 diff --git a/lib/src/unknown_0CA9A0.c b/lib/src/unknown_0CA9A0.c index 38ba6f31..d92dbe42 100644 --- a/lib/src/unknown_0CA9A0.c +++ b/lib/src/unknown_0CA9A0.c @@ -4,6 +4,38 @@ #include "types.h" #include "macros.h" +/************ .rodata ************/ + +const char D_800E9560[] = "samples >= 0"; +const char D_800E9570[] = "env.c"; +const char D_800E9578[] = "samples <= AL_MAX_RSP_SAMPLES"; +const char D_800E9598[] = "env.c"; +const char D_800E95A0[] = "source"; +const char D_800E95A8[] = "env.c"; + +// Jump table in alEnvMixerPull +const u32 D_800E95B0[] = { + 0x800CA870, 0x800CA8C4, 0x800CA8C4, 0x800CA8C4, + 0x800CA8C4, 0x800CA8C4, 0x800CA8C4, 0x800CA8C4, + 0x800CA8C4, 0x800CA8C4, 0x800CA8C4, 0x800CA460, + 0x800CA460, 0x800CA22C, 0x800CA7A8, 0x800CA828, + 0x800CA460 +}; + +const DoubleLiteral D_800E95F8 = { 65535.0 }; + +// Jump table in alResampleParam +const u32 D_800E9600[] = { + 0x800CC0C0, 0x800CC150, 0x800CC150, 0x800CC0C8, + 0x800CC150, 0x800CC150, 0x800CC134, 0x800CC144, + 0x800CC104 +}; + +const DoubleLiteral D_800E9628 = { 1.99996 }; +const FloatLiteral D_800E9630 = { 1.99996f }; + +/*********************************/ + GLOBAL_ASM("lib/asm/non_matchings/unknown_0CA9A0/alFilterNew.s") GLOBAL_ASM("lib/asm/non_matchings/unknown_0CA9A0/alEnvMixerPull.s") GLOBAL_ASM("lib/asm/non_matchings/unknown_0CA9A0/alEnvmixerParam.s") diff --git a/lib/src/unknown_0D3020.c b/lib/src/unknown_0D3020.c index 315d60cd..308528dc 100644 --- a/lib/src/unknown_0D3020.c +++ b/lib/src/unknown_0D3020.c @@ -32,6 +32,8 @@ void __osPiRelAccess(void) osSendMesg(&piAccessQueue, NULL, OS_MESG_NOBLOCK); } -// Used with _Litob.s. Please move this later! +// Used with _Litob.s. Please move these later! char D_800E4920[20] = "0123456789abcdef"; // lowercase hex digits char D_800E4934[20] = "0123456789ABCDEF"; // uppercase hex digits + + diff --git a/lib/src/unknown_0D43F0.c b/lib/src/unknown_0D43F0.c index 78c8dc8c..7357a8d6 100644 --- a/lib/src/unknown_0D43F0.c +++ b/lib/src/unknown_0D43F0.c @@ -7,10 +7,35 @@ s32 D_800E48A0[8] = { 0, 0, 0, 0, 0, 0, 0, 0 }; GLOBAL_ASM("lib/asm/non_matchings/unknown_0D43F0/alCopy.s") -GLOBAL_ASM("lib/asm/non_matchings/unknown_0D43F0/_Putfld.s") -// Both of these are used in _Printf + char D_800E48C0[36] = " "; char D_800E48E4[32] = "00000000000000000000000000000000"; +/************ .rodata ************/ + +const char D_800E96C0[] = "hlL"; +const char D_800E96C4[] = " +-#0"; +const int D_800E96CC[] = { 1, 2, 4, 8, 16, 0 }; + +// Jump table in _Putfld +const u32 D_800E96E4[] = { + 0x800D3C08, 0x800D3EE8, 0x800D3C08, 0x800D3EE8, + 0x800D3EE8, 0x800D3EE8, 0x800D3EE8, 0x800D3EE8, + 0x800D3EE8, 0x800D3EE8, 0x800D3EE8, 0x800D3EE8, + 0x800D3EE8, 0x800D3EE8, 0x800D3EE8, 0x800D3EE8, + 0x800D3EE8, 0x800D3EE8, 0x800D3EE8, 0x800D3AB8, + 0x800D3EE8, 0x800D3EE8, 0x800D3EE8, 0x800D3EE8, + 0x800D3EE8, 0x800D3EE8, 0x800D3EE8, 0x800D3EE8, + 0x800D3EE8, 0x800D3EE8, 0x800D3910, 0x800D3948, + 0x800D3C08, 0x800D3C08, 0x800D3C08, 0x800D3EE8, + 0x800D3948, 0x800D3EE8, 0x800D3EE8, 0x800D3EE8, + 0x800D3EE8, 0x800D3D6C, 0x800D3AB8, 0x800D3E3C, + 0x800D3EE8, 0x800D3EE8, 0x800D3E84, 0x800D3EE8, + 0x800D3AB8, 0x800D3EE8, 0x800D3EE8, 0x800D3AB8 +}; + +/*********************************/ + +GLOBAL_ASM("lib/asm/non_matchings/unknown_0D43F0/_Putfld.s") GLOBAL_ASM("lib/asm/non_matchings/unknown_0D43F0/_Printf.s") \ No newline at end of file From 77b305e5f19e25b951753c4b6e60c5eca95386ee Mon Sep 17 00:00:00 2001 From: David Benepe Date: Tue, 1 Jun 2021 00:43:38 -0500 Subject: [PATCH 27/27] Moved .rodata in unknown_0D3020 from asm to C. --- data/unknown_0D3020.rodata.s | 108 ----------------------------------- lib/src/unknown_0D3020.c | 98 ++++++++++++++++++++++++++++++- 2 files changed, 97 insertions(+), 109 deletions(-) delete mode 100644 data/unknown_0D3020.rodata.s diff --git a/data/unknown_0D3020.rodata.s b/data/unknown_0D3020.rodata.s deleted file mode 100644 index 7bcc0107..00000000 --- a/data/unknown_0D3020.rodata.s +++ /dev/null @@ -1,108 +0,0 @@ -.include "macros.inc" - -.macro .aligned_text ascii - .asciz "\ascii" - .balign 4 -.endm - -.section .rodata - -glabel D_800E97C0 -.word 0x3FF00000 -.word 0x00000000 -.word 0xBFC55554 -.word 0xBC83656D -.word 0x3F8110ED -.word 0x3804C2A0 -.word 0xBF29F6FF -.word 0xEEA56814 -.word 0x3EC5DBDF -.word 0x0E314BFE - -glabel D_800E97E8 -.word 0x3FD45F30 -.word 0x6DC9C883 - -glabel D_800E97F0 -.word 0x400921FB -.word 0x50000000 - -glabel D_800E97F8 -.word 0x3E6110B4 -.word 0x611A6263 - -glabel D_800E9800 -.word 0x00000000 -.word 0x00000000 -.word 0x00000000 -.word 0x00000000 - -glabel D_800E9810 -.word 0x3FF00000 -.word 0x00000000 -.word 0xBFC55554 -.word 0xBC83656D -.word 0x3F8110ED -.word 0x3804C2A0 -.word 0xBF29F6FF -.word 0xEEA56814 -.word 0x3EC5DBDF -.word 0x0E314BFE - -glabel D_800E9838 -.word 0x3FD45F30 -.word 0x6DC9C883 - -glabel D_800E9840 -.word 0x400921FB -.word 0x50000000 - -glabel D_800E9848 -.word 0x3E6110B4 -.word 0x611A6263 - -glabel D_800E9850 -.word 0x00000000 -.word 0x00000000 -.word 0x00000000 -.word 0x00000000 - -glabel D_800E9860 -.word 0x40240000 -.word 0x00000000 -.word 0x40590000 -.word 0x00000000 -.word 0x40C38800 -.word 0x00000000 -.word 0x4197D784 -.word 0x00000000 -.word 0x4341C379 -.word 0x37E08000 -.word 0x4693B8B5 -.word 0xB5056E17 -.word 0x4D384F03 -.word 0xE93FF9F5 -.word 0x5A827748 -.word 0xF9301D32 -.word 0x75154FDD -.word 0x7F73BF3C - -glabel D_800E98A8 -.aligned_text "NaN" - -glabel D_800E98AC -.aligned_text "Inf" - -glabel D_800E98B0 -.word 0x30000000 -.word 0x00000000 - -glabel D_800E98B8 -.word 0x4197D784 -.word 0x00000000 - -glabel D_800E98C0 -.word 0x7F810000 -.word 0x00000000 -.word 0x00000000 -.word 0x00000000 diff --git a/lib/src/unknown_0D3020.c b/lib/src/unknown_0D3020.c index 308528dc..6e51a003 100644 --- a/lib/src/unknown_0D3020.c +++ b/lib/src/unknown_0D3020.c @@ -32,8 +32,104 @@ void __osPiRelAccess(void) osSendMesg(&piAccessQueue, NULL, OS_MESG_NOBLOCK); } -// Used with _Litob.s. Please move these later! +/**********************************************************************/ + +// Please move these later! + +// Used with cosf + +const int D_800E97C0[5][2] = { + { 0x3FF00000, 0x00000000 }, + { 0xBFC55554, 0xBC83656D }, + { 0x3F8110ED, 0x3804C2A0 }, + { 0xBF29F6FF, 0xEEA56814 }, + { 0x3EC5DBDF, 0x0E314BFE } +}; + +const int D_800E97E8[2] = { + 0x3FD45F30, 0x6DC9C883 +}; +const int D_800E97F0[2] = { + 0x400921FB, 0x50000000 +}; +const int D_800E97F8[2] = { + 0x3E6110B4, 0x611A6263 +}; +const int D_800E9800[1] = { + 0x00000000 +}; + +const int COSF_FILE_PADDING[3] = { 0 }; + +// Used with sinf + +const int D_800E9810[5][2] = { + { 0x3FF00000, 0x00000000 }, + { 0xBFC55554, 0xBC83656D }, + { 0x3F8110ED, 0x3804C2A0 }, + { 0xBF29F6FF, 0xEEA56814 }, + { 0x3EC5DBDF, 0x0E314BFE } +}; + +const int D_800E9838[2] = { + 0x3FD45F30, 0x6DC9C883 +}; + +const int D_800E9840[2] = { + 0x400921FB, 0x50000000 +}; + +const int D_800E9848[2] = { + 0x3E6110B4, 0x611A6263 +}; + +const int D_800E9850[1] = { + 0x00000000 +}; + +const int SINF_FILE_PADDING[3] = { 0 }; + +// Used with _Litob + char D_800E4920[20] = "0123456789abcdef"; // lowercase hex digits char D_800E4934[20] = "0123456789ABCDEF"; // uppercase hex digits +// Powers +const double D_800E9860[] = { + 10e0L, 10e1L, 10e3L, 10e7L, + 10e15L, 10e31L, 10e63L, 10e127L, + 10e255L +}; + +const char D_800E98A8[] = "NaN"; +const char D_800E98AC[] = "Inf"; + +const int D_800E98B0[2] = { + 0x30000000, 0x00000000 +}; + +const int D_800E98B8[2] = { + 0x4197D784, 0x00000000 +}; + +const int D_800E98C0[2] = { + 0x7F810000, 0x00000000 +}; + + + + + + + + + + + + + + + + +