From 0c7c184d8a19ed3364be828a1a987045daccc7b2 Mon Sep 17 00:00:00 2001 From: petrie911 <69443847+petrie911@users.noreply.github.com> Date: Thu, 19 Oct 2023 12:53:47 -0500 Subject: [PATCH] Library split (#5) * fixed * and cleanup * format * let's all go to the library * split * small cleanup --- .vscode/settings.json | 4 +- include/sf64math.h | 10 +++ linker_scripts/us/symbol_addrs.txt | 1 + src/libultra/206B0.c | 25 +++++++ src/libultra/28330.c | 9 +++ src/libultra/28820.c | 3 + src/libultra/28B90.c | 3 + src/libultra/28C90.c | 7 ++ src/libultra/294F0.c | 3 + src/libultra/297E0.c | 5 ++ src/libultra/2A7A0.c | 11 +++ src/libultra/2AAB0.c | 11 +++ src/libultra/2AD80.c | 3 + src/libultra/2B830.c | 3 + src/libultra/2BD50.c | 5 ++ src/libultra/2EDE0.c | 3 + src/libultra/2EE30.c | 3 + src/libultra/gu/cosf.c | 5 ++ src/libultra/gu/perspective.c | 5 ++ src/libultra/gu/sinf.c | 5 ++ src/libultra/io/devmgr.c | 3 + src/libultra/os/stopthread.c | 35 ++++++++++ src/libultra/os/thread.c | 3 + src/libultra/rmon/xldtob.c | 9 +++ src/main/1FA70.c | 3 - src/main/1FB10.c | 3 - src/main/21520.c | 9 +++ src/main/233A0.c | 5 ++ src/main/23760.c | 3 + src/main/24C60.c | 7 ++ src/main/25950.c | 3 + src/main/25AC0.c | 3 + src/main/25CA0.c | 3 + src/main/25E10.c | 7 ++ src/main/271C0.c | 9 +++ src/main/2DF00.c | 29 ++++++++ src/main/5A20.c | 63 ++---------------- src/main/6280.c | 44 ++++++++++++ src/main/7D30.c | 4 ++ yamls/us/main.yaml | 103 +++++++++++++++-------------- 40 files changed, 359 insertions(+), 113 deletions(-) create mode 100644 src/libultra/206B0.c create mode 100644 src/libultra/28330.c create mode 100644 src/libultra/28820.c create mode 100644 src/libultra/28B90.c create mode 100644 src/libultra/28C90.c create mode 100644 src/libultra/294F0.c create mode 100644 src/libultra/297E0.c create mode 100644 src/libultra/2A7A0.c create mode 100644 src/libultra/2AAB0.c create mode 100644 src/libultra/2AD80.c create mode 100644 src/libultra/2B830.c create mode 100644 src/libultra/2BD50.c create mode 100644 src/libultra/2EDE0.c create mode 100644 src/libultra/2EE30.c create mode 100644 src/libultra/gu/cosf.c create mode 100644 src/libultra/gu/perspective.c create mode 100644 src/libultra/gu/sinf.c create mode 100644 src/libultra/io/devmgr.c create mode 100644 src/libultra/os/stopthread.c create mode 100644 src/libultra/os/thread.c create mode 100644 src/libultra/rmon/xldtob.c delete mode 100644 src/main/1FA70.c delete mode 100644 src/main/1FB10.c create mode 100644 src/main/21520.c create mode 100644 src/main/233A0.c create mode 100644 src/main/23760.c create mode 100644 src/main/24C60.c create mode 100644 src/main/25950.c create mode 100644 src/main/25AC0.c create mode 100644 src/main/25CA0.c create mode 100644 src/main/25E10.c create mode 100644 src/main/271C0.c create mode 100644 src/main/2DF00.c create mode 100644 src/main/6280.c diff --git a/.vscode/settings.json b/.vscode/settings.json index 98182b37..5e499b4c 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -20,6 +20,8 @@ "hud.h": "c", "global.h": "c", "ultratypes.h": "c", - "mbi.h": "c" + "mbi.h": "c", + "common.h": "c", + "sf64math.h": "c" }, } \ No newline at end of file diff --git a/include/sf64math.h b/include/sf64math.h index f2d7cff1..ecff4f33 100644 --- a/include/sf64math.h +++ b/include/sf64math.h @@ -3,6 +3,16 @@ #include "PR/ultratypes.h" +double fabsf(double f); +#pragma intrinsic(fabsf) + +#define M_PI 3.14159265358979323846f +#define M_SQRT2 1.41421356237309504880f +#define M_SQRT1_2 0.70710678118654752440f /* 1/sqrt(2) */ +#define FLT_MAX 340282346638528859811704183484516925440.0f +#define SHT_MAX 32767.0f +#define SHT_MINV (1.0f / SHT_MAX) + typedef struct { /* 0x0 */ f32 x; /* 0x4 */ f32 y; diff --git a/linker_scripts/us/symbol_addrs.txt b/linker_scripts/us/symbol_addrs.txt index b1676d89..911b306b 100644 --- a/linker_scripts/us/symbol_addrs.txt +++ b/linker_scripts/us/symbol_addrs.txt @@ -9,6 +9,7 @@ D_800D8560 = 0x800D8560; // force_migration:True D_800D55E4_fake = 0x800D55E4; // force_migration:True D_800D8570 = 0x800D8570; // force_migration:True D_800D8594 = 0x800D8594; // force_migration:True +D_800C9524 = 0x800C9524; // force_migration:True D_8019B1EC_E07F2C = 0x8019B1EC; // force_migration:True segment:segment_DF4260 D_801C171C_E50E4C = 0x801C171C; // force_migration:True segment:segment_E16C50 diff --git a/src/libultra/206B0.c b/src/libultra/206B0.c new file mode 100644 index 00000000..f3eb6c2d --- /dev/null +++ b/src/libultra/206B0.c @@ -0,0 +1,25 @@ +#include "common.h" + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/206B0/func_8001FAB0.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/206B0/func_8001FAE4.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/206B0/func_8001FB04.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/206B0/func_8001FB24.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/206B0/func_8001FB58.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/206B0/func_8001FB88.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/206B0/func_8001FBA8.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/206B0/func_8001FBC8.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/206B0/func_8001FBE8.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/206B0/func_8001FD0C.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/206B0/func_8001FE00.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/206B0/func_8001FE30.s") diff --git a/src/libultra/28330.c b/src/libultra/28330.c new file mode 100644 index 00000000..52b51c5a --- /dev/null +++ b/src/libultra/28330.c @@ -0,0 +1,9 @@ +#include "common.h" + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/28330/__osTimerServicesInit.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/28330/__osTimerInterrupt.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/28330/__osSetTimerIntr.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/28330/__osInsertTimer.s") diff --git a/src/libultra/28820.c b/src/libultra/28820.c new file mode 100644 index 00000000..289f5252 --- /dev/null +++ b/src/libultra/28820.c @@ -0,0 +1,3 @@ +#include "common.h" + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/28820/__osViGetCurrentContext.s") diff --git a/src/libultra/28B90.c b/src/libultra/28B90.c new file mode 100644 index 00000000..81b687e8 --- /dev/null +++ b/src/libultra/28B90.c @@ -0,0 +1,3 @@ +#include "common.h" + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/28B90/func_80027F90.s") diff --git a/src/libultra/28C90.c b/src/libultra/28C90.c new file mode 100644 index 00000000..d3d8cecc --- /dev/null +++ b/src/libultra/28C90.c @@ -0,0 +1,7 @@ +#include "common.h" + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/28C90/func_80028090.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/28C90/func_800280E0.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/28C90/func_80028124.s") diff --git a/src/libultra/294F0.c b/src/libultra/294F0.c new file mode 100644 index 00000000..1df6d5b2 --- /dev/null +++ b/src/libultra/294F0.c @@ -0,0 +1,3 @@ +#include "common.h" + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/294F0/func_800288F0.s") diff --git a/src/libultra/297E0.c b/src/libultra/297E0.c new file mode 100644 index 00000000..80a5f840 --- /dev/null +++ b/src/libultra/297E0.c @@ -0,0 +1,5 @@ +#include "common.h" + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/297E0/func_80028BE0.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/297E0/func_80028C30.s") diff --git a/src/libultra/2A7A0.c b/src/libultra/2A7A0.c new file mode 100644 index 00000000..7e7adbd8 --- /dev/null +++ b/src/libultra/2A7A0.c @@ -0,0 +1,11 @@ +#include "common.h" + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2A7A0/func_80029BA0.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2A7A0/func_80029BF8.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2A7A0/func_80029C6C.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2A7A0/func_80029CD8.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2A7A0/func_80029DA8.s") diff --git a/src/libultra/2AAB0.c b/src/libultra/2AAB0.c new file mode 100644 index 00000000..7ae05d9b --- /dev/null +++ b/src/libultra/2AAB0.c @@ -0,0 +1,11 @@ +#include "common.h" + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2AAB0/func_80029EB0.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2AAB0/func_80029F80.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2AAB0/func_80029FF4.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2AAB0/func_8002A044.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2AAB0/func_8002A0B0.s") diff --git a/src/libultra/2AD80.c b/src/libultra/2AD80.c new file mode 100644 index 00000000..5acaa4fa --- /dev/null +++ b/src/libultra/2AD80.c @@ -0,0 +1,3 @@ +#include "common.h" + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2AD80/func_8002A180.s") diff --git a/src/libultra/2B830.c b/src/libultra/2B830.c new file mode 100644 index 00000000..09d4bf86 --- /dev/null +++ b/src/libultra/2B830.c @@ -0,0 +1,3 @@ +#include "common.h" + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2B830/func_8002AC30.s") diff --git a/src/libultra/2BD50.c b/src/libultra/2BD50.c new file mode 100644 index 00000000..34018c71 --- /dev/null +++ b/src/libultra/2BD50.c @@ -0,0 +1,5 @@ +#include "common.h" + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2BD50/func_8002B150.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2BD50/func_8002B15C.s") diff --git a/src/libultra/2EDE0.c b/src/libultra/2EDE0.c new file mode 100644 index 00000000..1aabadb7 --- /dev/null +++ b/src/libultra/2EDE0.c @@ -0,0 +1,3 @@ +#include "common.h" + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2EDE0/func_8002E1E0.s") diff --git a/src/libultra/2EE30.c b/src/libultra/2EE30.c new file mode 100644 index 00000000..d09ebd38 --- /dev/null +++ b/src/libultra/2EE30.c @@ -0,0 +1,3 @@ +#include "common.h" + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2EE30/func_8002E230.s") diff --git a/src/libultra/gu/cosf.c b/src/libultra/gu/cosf.c new file mode 100644 index 00000000..8dc3fb06 --- /dev/null +++ b/src/libultra/gu/cosf.c @@ -0,0 +1,5 @@ +#include "common.h" + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/gu/cosf/__cosf.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/gu/cosf/D_800C9390.s") diff --git a/src/libultra/gu/perspective.c b/src/libultra/gu/perspective.c new file mode 100644 index 00000000..17466356 --- /dev/null +++ b/src/libultra/gu/perspective.c @@ -0,0 +1,5 @@ +#include "common.h" + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/gu/perspective/guPerspectiveF.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/gu/perspective/guPerspective.s") diff --git a/src/libultra/gu/sinf.c b/src/libultra/gu/sinf.c new file mode 100644 index 00000000..f0f3026f --- /dev/null +++ b/src/libultra/gu/sinf.c @@ -0,0 +1,5 @@ +#include "common.h" + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/gu/sinf/__sinf.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/gu/sinf/D_800C9340.s") diff --git a/src/libultra/io/devmgr.c b/src/libultra/io/devmgr.c new file mode 100644 index 00000000..6988e47a --- /dev/null +++ b/src/libultra/io/devmgr.c @@ -0,0 +1,3 @@ +#include "common.h" + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/io/devmgr/__osDevMgrMain.s") diff --git a/src/libultra/os/stopthread.c b/src/libultra/os/stopthread.c new file mode 100644 index 00000000..0d42e6d9 --- /dev/null +++ b/src/libultra/os/stopthread.c @@ -0,0 +1,35 @@ +#include "common.h" + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/os/stopthread/osStopThread.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/os/stopthread/func_8002E340.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/os/stopthread/func_8002E364.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/os/stopthread/func_8002E3A8.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/os/stopthread/func_8002E3BC.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/os/stopthread/func_8002E3E0.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/os/stopthread/func_8002E4F8.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/os/stopthread/func_8002E548.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/os/stopthread/func_8002E5E0.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/os/stopthread/func_8002E604.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/os/stopthread/func_8002E628.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/os/stopthread/func_8002E64C.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/os/stopthread/func_8002E670.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/os/stopthread/func_8002E694.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/os/stopthread/func_8002E6B8.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/os/stopthread/func_8002E6DC.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/os/stopthread/D_800C9A50.s") diff --git a/src/libultra/os/thread.c b/src/libultra/os/thread.c new file mode 100644 index 00000000..846ee03a --- /dev/null +++ b/src/libultra/os/thread.c @@ -0,0 +1,3 @@ +#include "common.h" + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/os/thread/__osDequeueThread.s") diff --git a/src/libultra/rmon/xldtob.c b/src/libultra/rmon/xldtob.c new file mode 100644 index 00000000..c72b3642 --- /dev/null +++ b/src/libultra/rmon/xldtob.c @@ -0,0 +1,9 @@ +#include "common.h" + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/rmon/xldtob/func_80029080.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/rmon/xldtob/D_800C9580.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/rmon/xldtob/_Ldtob.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/rmon/xldtob/D_800C95D0.s") diff --git a/src/main/1FA70.c b/src/main/1FA70.c deleted file mode 100644 index e41ec148..00000000 --- a/src/main/1FA70.c +++ /dev/null @@ -1,3 +0,0 @@ -#include "common.h" - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/1FA70/func_8001EE70.s") diff --git a/src/main/1FB10.c b/src/main/1FB10.c deleted file mode 100644 index 23cc3c32..00000000 --- a/src/main/1FB10.c +++ /dev/null @@ -1,3 +0,0 @@ -#include "common.h" - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/1FB10/func_8001EF10.s") diff --git a/src/main/21520.c b/src/main/21520.c new file mode 100644 index 00000000..894b7e30 --- /dev/null +++ b/src/main/21520.c @@ -0,0 +1,9 @@ +#include "common.h" + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/21520/func_80020920.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/21520/func_80020A88.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/21520/func_80020BF4.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/21520/func_80020D70.s") diff --git a/src/main/233A0.c b/src/main/233A0.c new file mode 100644 index 00000000..a37e8321 --- /dev/null +++ b/src/main/233A0.c @@ -0,0 +1,5 @@ +#include "common.h" + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/233A0/func_800227A0.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/233A0/func_8002296C.s") diff --git a/src/main/23760.c b/src/main/23760.c new file mode 100644 index 00000000..086e6269 --- /dev/null +++ b/src/main/23760.c @@ -0,0 +1,3 @@ +#include "common.h" + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/23760/func_80022B60.s") diff --git a/src/main/24C60.c b/src/main/24C60.c new file mode 100644 index 00000000..63ced48e --- /dev/null +++ b/src/main/24C60.c @@ -0,0 +1,7 @@ +#include "common.h" + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/24C60/func_80024060.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/24C60/_Printf.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/24C60/D_800C93EC.s") diff --git a/src/main/25950.c b/src/main/25950.c new file mode 100644 index 00000000..e28c2030 --- /dev/null +++ b/src/main/25950.c @@ -0,0 +1,3 @@ +#include "common.h" + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/25950/func_80024D50.s") diff --git a/src/main/25AC0.c b/src/main/25AC0.c new file mode 100644 index 00000000..e46e4ff9 --- /dev/null +++ b/src/main/25AC0.c @@ -0,0 +1,3 @@ +#include "common.h" + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/25AC0/func_80024EC0.s") diff --git a/src/main/25CA0.c b/src/main/25CA0.c new file mode 100644 index 00000000..50b80ee9 --- /dev/null +++ b/src/main/25CA0.c @@ -0,0 +1,3 @@ +#include "common.h" + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/25CA0/osAiSetNextBuffer.s") diff --git a/src/main/25E10.c b/src/main/25E10.c new file mode 100644 index 00000000..4bdc4e8a --- /dev/null +++ b/src/main/25E10.c @@ -0,0 +1,7 @@ +#include "common.h" + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/25E10/__osSiCreateAccessQueue.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/25E10/__osSiGetAccess.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/25E10/__osSiRelAccess.s") diff --git a/src/main/271C0.c b/src/main/271C0.c new file mode 100644 index 00000000..48e6fa1c --- /dev/null +++ b/src/main/271C0.c @@ -0,0 +1,9 @@ +#include "common.h" + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/271C0/func_800265C0.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/271C0/func_800267C4.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/271C0/func_80026940.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/271C0/func_80026B5C.s") diff --git a/src/main/2DF00.c b/src/main/2DF00.c new file mode 100644 index 00000000..650dda2e --- /dev/null +++ b/src/main/2DF00.c @@ -0,0 +1,29 @@ +#include "common.h" + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/2DF00/func_8002D300.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/2DF00/func_8002D3AC.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/2DF00/func_8002D494.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/2DF00/func_8002D654.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/2DF00/func_8002D660.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/2DF00/func_8002D7BC.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/2DF00/func_8002D9E4.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/2DF00/func_8002DA78.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/2DF00/func_8002DB3C.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/2DF00/func_8002DB7C.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/2DF00/func_8002DC38.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/2DF00/func_8002DC68.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/2DF00/func_8002DCD0.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/2DF00/func_8002DD00.s") diff --git a/src/main/5A20.c b/src/main/5A20.c index 6e9a5db6..ceea235e 100644 --- a/src/main/5A20.c +++ b/src/main/5A20.c @@ -1,11 +1,5 @@ -#include "common.h" +#include "global.h" -extern f32 D_800C80FC; -extern f32 D_800C80D8; -extern f32 D_800C80DC; -extern f32 D_800C80E0; -extern f32 D_800C80E4; -extern f32 D_800C8100; extern s32 D_8013B3A0; extern s32 D_8013B3A4; extern s32 D_8013B3A8; @@ -44,17 +38,17 @@ f32 func_80005100(f32 arg0, f32 arg1) { if (arg1 == 0.0f) { if (arg0 < 0.0f) { - return D_800C80D8; + return -M_PI / 2.0f; } else { - return D_800C80DC; + return M_PI / 2.0f; } } if (arg1 < 0.0f) { if (arg0 < 0.0f) { - return -(D_800C80E0 - func_8001FBE8(fabsf(arg0 / arg1))); + return -(M_PI - func_8001FBE8(fabsf(arg0 / arg1))); } else { - return D_800C80E4 - func_8001FBE8(fabsf(arg0 / arg1)); + return M_PI - func_8001FBE8(fabsf(arg0 / arg1)); } } else { return func_8001FBE8(arg0 / arg1); @@ -70,9 +64,9 @@ f32 func_80005320(f32 arg0, f32 arg1) { if (arg0 == 0.0f) { if (arg1 < 0.0f) { - return D_800C80FC; + return -M_PI / 2.0f; } - return D_800C8100; + return M_PI / 2.0f; } if (arg1 == 0.0f) { @@ -125,46 +119,3 @@ void func_80005604(s32* arg0, s32* arg1, s32 arg2, s32 arg3, s32 arg4) { } *arg0 = arg4; } - -// https://decomp.me/scratch/8H8k4 100% -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/5A20/func_80005680.s") - -void func_80005708(s32* arg0) { - func_80005680(*arg0 + 64, *arg0); - *arg0 += 0x40; -} - -void func_80005740(s32* arg0) { - *arg0 -= 64; -} - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/5A20/func_80005754.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/5A20/func_80005B00.s") - -// https://decomp.me/scratch/v4KEJ 91% -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/5A20/func_80005C34.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/5A20/func_80005D44.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/5A20/func_80005E90.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/5A20/func_80005FE0.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/5A20/func_8000612C.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/5A20/func_80006500.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/5A20/func_8000671C.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/5A20/func_80006970.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/5A20/func_80006A20.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/5A20/func_80006AB8.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/5A20/func_80006C7C.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/5A20/func_80006E3C.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/5A20/func_80006EB8.s") diff --git a/src/main/6280.c b/src/main/6280.c new file mode 100644 index 00000000..07600f34 --- /dev/null +++ b/src/main/6280.c @@ -0,0 +1,44 @@ +#include "global.h" + +// https://decomp.me/scratch/8H8k4 100% +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/6280/func_80005680.s") + +void func_80005708(s32* arg0) { + func_80005680(*arg0 + 64, *arg0); + *arg0 += 0x40; +} + +void func_80005740(s32* arg0) { + *arg0 -= 64; +} + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/6280/func_80005754.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/6280/func_80005B00.s") + +// https://decomp.me/scratch/v4KEJ 91% +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/6280/func_80005C34.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/6280/func_80005D44.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/6280/func_80005E90.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/6280/func_80005FE0.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/6280/func_8000612C.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/6280/func_80006500.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/6280/func_8000671C.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/6280/func_80006970.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/6280/func_80006A20.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/6280/func_80006AB8.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/6280/func_80006C7C.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/6280/func_80006E3C.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/6280/func_80006EB8.s") diff --git a/src/main/7D30.c b/src/main/7D30.c index 3ffdb110..ca9d2925 100644 --- a/src/main/7D30.c +++ b/src/main/7D30.c @@ -1,3 +1,5 @@ + + #include "common.h" extern s64 osClockRate; @@ -36,3 +38,5 @@ s32 func_8000716C(s32 arg0, s32 arg1) { #pragma GLOBAL_ASM("asm/us/nonmatchings/main/7D30/func_800071FC.s") #pragma GLOBAL_ASM("asm/us/nonmatchings/main/7D30/func_800072E0.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/7D30/D_800C8120.s") diff --git a/yamls/us/main.yaml b/yamls/us/main.yaml index 60a787aa..bcd5e84e 100644 --- a/yamls/us/main.yaml +++ b/yamls/us/main.yaml @@ -13,22 +13,23 @@ - [0x41D0, c] - [0x4650, c] - [0x5A20, c] # -O2 -g3 + - [0x6280, c] # -O2 -g3 - [0x7B20, c] - [0x7D30, c] - [0x7FC0, c, 7FC0] - [0x8CC0, c, 8CC0] - [0xC870, c, C870] - [0xF0A0, c, F0A0] - - [0x12490, c, 12490] # don't touch before fixing rodata + - [0x12490, c, 12490] - [0x14AA0, c, 14AA0] - [0x17650, c, 17650] # Sound related - [0x1EB50, c, 1EB50] # Sound related - [0x1FA60, c] - - [0x1FA70, c] - - [0x1FB10, c] + - [0x1FA70, hasm] + - [0x1FB10, hasm] - [0x205E0, c] - - [0x206B0, asm, ../libultra/206B0] - - [0x20A60, asm] + - [0x206B0, c, ../libultra/206B0] # math64 + - [0x20A60, hasm] # fp.text.s # LIBULTRA - [0x20BC0, c, ../libultra/io/controller] @@ -36,8 +37,8 @@ - [0x211E0, c, ../libultra/os/recvmesg] - [0x21320, c, ../libultra/os/sendmesg] - [0x21470, c, ../libultra/io/contquery] - - [0x21520, asm] - - [0x21B40, asm, ../libultra/gu/perspective] # Problem when trying to C + - [0x21520, c] + - [0x21B40, c, ../libultra/gu/perspective] - [0x21DD0, c, ../libultra/gu/lookat] - [0x22100, c, ../libultra/gu/ortho] - [0x222C0, hasm, invalicache] @@ -47,7 +48,7 @@ - [0x22570, hasm, writebackdcacheall] - [0x225A0, c, ../libultra/io/viswapbuf] - [0x225F0, c, ../libultra/io/virepeatline] - - [0x22660, asm] + - [0x22660, hasm] # padding - [0x226C0, c, ../libultra/io/visetmode] - [0x22730, c, ../libultra/io/visetspecial] - [0x228F0, c, ../libultra/os/createmesgqueue] @@ -60,12 +61,12 @@ - [0x22DA0, c, ../libultra/os/createthread] - [0x22EF0, c, ../libultra/os/startthread] - [0x23040, c, ../libultra/io/vimgr] - - [0x233A0, asm] + - [0x233A0, c] - [0x23680, c, ../libultra/os/setthreadpri] - - [0x23760, asm] + - [0x23760, c] - [0x23C00, c, ../libultra/os/gettime] - - [0x23C90, asm, ../libultra/gu/sinf] # Problem when trying to C - - [0x23E50, asm, ../libultra/gu/cosf] # Problem when trying to C + - [0x23C90, c, ../libultra/gu/sinf] + - [0x23E50, c, ../libultra/gu/cosf] - [0x23FC0, hasm, ../libultra/gu/sqrtf] - [0x23FD0, c, ../libultra/os/settimer] - [0x240B0, c, ../libultra/conteepread] @@ -73,23 +74,23 @@ - [0x24890, c, ../libultra/libc/ll] - [0x24B50, c, ../libultra/conteepprobe] - [0x24BC0, c, ../libultra/libc/string] - - [0x24C60, asm, 24C60] + - [0x24C60, c, 24C60] - [0x25920, c, ../libultra/os/settime] - - [0x25950, asm] + - [0x25950, c] - [0x25960, c, ../libultra/io/aisetfreq] - - [0x25AC0, asm] + - [0x25AC0, c] - [0x25BB0, c, ../libultra/io/epidma] - [0x25C90, c, ../libultra/io/aigetlen] - - [0x25CA0, asm] + - [0x25CA0, c] - [0x25D50, hasm, getcount] - [0x25D60, c, ../libultra/io/sirawdma] - - [0x25E10, asm] + - [0x25E10, c] - [0x25ED0, hasm, interrupt] - - [0x25F10, asm, ../libultra/os/thread] # Problem when trying to C - - [0x25F50, asm] + - [0x25F10, c, ../libultra/os/thread] + - [0x25F50, hasm] - [0x26CD0, c, ../libultra/io/pfsisplug] - [0x27040, c, ../libultra/io/crc] - - [0x271C0, asm] + - [0x271C0, c] - [0x278D0, c, ../libultra/mtxutil] - [0x27B40, c, ../libultra/os/jammesg] - [0x27C90, c, ../libultra/io/pigetcmdq] @@ -102,34 +103,34 @@ - [0x28230, c, ../libultra/io/spsetpc] - [0x28270, c, ../libultra/io/sprawdma] - [0x28300, c, ../libultra/io/sp] - - [0x28330, asm, ../libultra/28330] + - [0x28330, c, ../libultra/28330] - [0x28800, c, ../libultra/os/getthreadpri] - - [0x28820, asm, ../libultra/28820] + - [0x28820, c, ../libultra/28820] - [0x28830, c, ../libultra/io/viswapcontext] - - [0x28B90, asm, ../libultra/28B90] - - [0x28C90, asm, ../libultra/28C90] + - [0x28B90, c, ../libultra/28B90] + - [0x28C90, c, ../libultra/28C90] - [0x28D50, c, ../libultra/io/pirawdma] - - [0x28E30, c, ../libultra/io/epirawdma] # Problem when trying to C - - [0x29060, asm, ../libultra/io/devmgr] - - [0x294F0, asm, ../libultra/294F0] + - [0x28E30, c, ../libultra/io/epirawdma] + - [0x29060, c, ../libultra/io/devmgr] + - [0x294F0, c, ../libultra/294F0] - [0x297B0, hasm, ../libultra/setsr] - [0x297C0, hasm, ../libultra/getsr] - [0x297D0, hasm, ../libultra/setfpccsr] - - [0x297E0, asm, ../libultra/297E0] + - [0x297E0, c, ../libultra/297E0] - [0x29880, hasm, ../libultra/maptlbrdb] - [0x298E0, c, ../libultra/io/pirawread] - [0x29940, hasm, ../libultra/bzero] - [0x299E0, c, ../libultra/rmon/xlitob] - - [0x29C80, asm, ../libultra/rmon/xldtob] # Problem when trying to C + - [0x29C80, c, ../libultra/rmon/xldtob] - [0x2A740, c, ../libultra/io/ai] - [0x2A770, c, ../libultra/io/si] - - [0x2A7A0, asm, ../libultra/2A7A0] - - [0x2AAB0, asm, ../libultra/2AAB0] - - [0x2AD80, asm, ../libultra/2AD80] + - [0x2A7A0, c, ../libultra/2A7A0] + - [0x2AAB0, c, ../libultra/2AAB0] + - [0x2AD80, c, ../libultra/2AD80] - [0x2AE10, c, ../libultra/leointerrupt] - [0x2B690, hasm, ../libultra/setintmask] - [0x2B730, c, ../libultra/os/destroythread] - - [0x2B830, asm, ../libultra/2B830] + - [0x2B830, c, ../libultra/2B830] - [0x2B940, hasm, ../libultra/probetlb] - [0x2BA00, hasm, ../libultra/setcompare] - [0x2BA10, c, ../libultra/os/resetglobalintmask] @@ -139,15 +140,15 @@ - [0x2BB60, c, ../libultra/os/yieldthread] - [0x2BBB0, c, ../libultra/libc/ldiv] - [0x2BD40, hasm, ../libultra/getcause] - - [0x2BD50, asm, ../libultra/2BD50] + - [0x2BD50, c, ../libultra/2BD50] - [0x2BDF0, c, ../libultra/2BDF0] - [0x2C700, c, ../libultra/2C700] # -O1 -g0 - [0x2D300, c, ../libultra/2D300] # -O1 -g0 - - [0x2DF00, asm, 2DF00] # Problem when trying to C + - [0x2DF00, c, 2DF00] - [0x2E9E0, c, ../libultra/2E9E0] - - [0x2EDE0, asm, ../libultra/2EDE0] - - [0x2EE30, asm, ../libultra/2EE30] - - [0x2EE80, asm, ../libultra/os/stopthread] # Problem when trying to C + - [0x2EDE0, c, ../libultra/2EDE0] + - [0x2EE30, c, ../libultra/2EE30] + - [0x2EE80, c, ../libultra/os/stopthread] # Game engine - [0x2F300, c, sf_2F300] @@ -178,7 +179,9 @@ - [0xC3EE0, data, libraries] # RODATA - Libultra - - [0xC8CC0, rodata] + - [0xC8CC0, .rodata, 5A20] + - [0xC8D10, .rodata, 6280] + - [0xC8D20, .rodata, 7D30] - [0xC8E40, .rodata, 7FC0] - [0xC9220, .rodata, 8CC0] - [0xC9260, .rodata, C870] @@ -187,18 +190,18 @@ - [0xC9320, .rodata, 14AA0] - [0xC99D0, .rodata, 17650] - [0xC9CF0, .rodata, 1EB50] - - [0xC9F10, rodata, ../libultra/206B0] - - [0xC9F30, rodata, ../libultra/gu/perspective] - - [0xC9F40, rodata, ../libultra/gu/sinf] - - [0xC9F90, rodata, ../libultra/gu/cosf] - - [0xC9FE0, rodata, 24C60] - - [0xCA0E0, rodata, ../libultra/os/thread] - - [0xCA150, rodata, ../libultra/io/devmgr] - - [0xCA170, rodata] - - [0xCA180, rodata, ../libultra/rmon/xldtob] + - [0xC9F10, .rodata, ../libultra/206B0] + - [0xC9F30, .rodata, ../libultra/gu/perspective] + - [0xC9F40, .rodata, ../libultra/gu/sinf] + - [0xC9F90, .rodata, ../libultra/gu/cosf] + - [0xC9FE0, .rodata, 24C60] + - [0xCA0E0, rodata, 25F50] # handwritten + - [0xCA150, .rodata, ../libultra/io/devmgr] + - [0xCA170, rodata, __libm_qnan_f] + - [0xCA180, .rodata, ../libultra/rmon/xldtob] - [0xCA1E0, .rodata, ../libultra/2BDF0] - - [0xCA5A0, rodata, 2DF00] - - [0xCA650, rodata] + - [0xCA5A0, .rodata, 2DF00] + - [0xCA650, .rodata, ../libultra/os/stopthread] # DATA - game engine - [0xCA690, data, engine]