From e4667a996965af5a562b64bb90463662c41ba62a Mon Sep 17 00:00:00 2001 From: Alejandro Javier Asenjo Nitti Date: Tue, 10 Oct 2023 09:02:16 -0300 Subject: [PATCH] move files --- src/libultra/2BDF0.c | 43 ++++++++++++++++++++++++++++++++++ src/libultra/2C700.c | 56 ++++++++++++++++++++++++++++++++++++++++++++ src/libultra/2D300.c | 29 +++++++++++++++++++++++ src/main/2BDF0.c | 43 ---------------------------------- src/main/2C700.c | 56 -------------------------------------------- yamls/us/main.yaml | 12 +++++----- 6 files changed, 134 insertions(+), 105 deletions(-) create mode 100644 src/libultra/2BDF0.c create mode 100644 src/libultra/2C700.c create mode 100644 src/libultra/2D300.c delete mode 100644 src/main/2BDF0.c delete mode 100644 src/main/2C700.c diff --git a/src/libultra/2BDF0.c b/src/libultra/2BDF0.c new file mode 100644 index 00000000..685fa958 --- /dev/null +++ b/src/libultra/2BDF0.c @@ -0,0 +1,43 @@ +#include "common.h" + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2BDF0/func_8002B1F0.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2BDF0/func_8002B238.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2BDF0/func_8002B28C.s") + +// Matches with IDO 5.3/7.1 -O1 -g0 +#ifdef NON_MATCHING +void func_8002B2C0(s32* arg0, s32* arg1, s32 arg2, u32 arg3) { + s32 pad; + + arg3 = arg2; + arg2--; + + while (arg3 > 0) { + arg3 = arg2; + arg2--; + *arg0++ = *arg1++; + } +} +#else +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2BDF0/func_8002B2C0.s") +#endif + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2BDF0/func_8002B2F4.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2BDF0/func_8002B330.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2BDF0/func_8002B52C.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2BDF0/func_8002B778.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2BDF0/func_8002B7F8.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2BDF0/D_800C95E0.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2BDF0/func_8002B804.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2BDF0/func_8002B8AC.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2BDF0/func_8002B91C.s") diff --git a/src/libultra/2C700.c b/src/libultra/2C700.c new file mode 100644 index 00000000..c253f997 --- /dev/null +++ b/src/libultra/2C700.c @@ -0,0 +1,56 @@ +#include "common.h" + +// One -01 -g0, likely part of libultra + +s32 func_8002DE78(s32, s32, s32); + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2C700/func_8002BB00.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2C700/func_8002BB7C.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2C700/func_8002BBFC.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2C700/func_8002BD04.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2C700/func_8002BE38.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2C700/func_8002C12C.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2C700/func_8002C194.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2C700/func_8002C2DC.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2C700/func_8002C570.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2C700/func_8002C5BC.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2C700/func_8002C698.s") + +typedef struct { + char pad_0[0x4]; + u8 unk4; +} Unkstruct_func_8002C6B8_1; + +typedef struct { + char pad_0[0x4]; + s8 unk4; + char pad_5; + s16 unk6; + char pad_[0x4]; + s32 unk12; +} Unkstruct_func_8002C6B8_2; + +// matches with -O1 -g0 IDO 5.3/7.1 +#ifdef NON_MATCHING +s32 func_8002C6B8(Unkstruct_func_8002C6B8_1* arg0) { + Unkstruct_func_8002C6B8_2 temp; + + temp.unk4 = arg0->unk4; + temp.unk12 = 0; + temp.unk6 = 0; + func_8002DE78(&temp, 16, 1); + return 0; +} +#else +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2C700/func_8002C6B8.s") +#endif diff --git a/src/libultra/2D300.c b/src/libultra/2D300.c new file mode 100644 index 00000000..fc21e39a --- /dev/null +++ b/src/libultra/2D300.c @@ -0,0 +1,29 @@ +#include "common.h" + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2D300/func_8002C700.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2D300/func_8002C784.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2D300/func_8002C818.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2D300/func_8002C8C0.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2D300/func_8002C968.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2D300/func_8002CAC4.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2D300/func_8002CC14.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2D300/func_8002CCCC.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2D300/func_8002CD80.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2D300/func_8002CDE4.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2D300/func_8002CF44.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2D300/func_8002D054.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2D300/func_8002D16C.s") + +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/2D300/func_8002D230.s") diff --git a/src/main/2BDF0.c b/src/main/2BDF0.c deleted file mode 100644 index 7e9ea13a..00000000 --- a/src/main/2BDF0.c +++ /dev/null @@ -1,43 +0,0 @@ -#include "common.h" - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/2BDF0/func_8002B1F0.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/2BDF0/func_8002B238.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/2BDF0/func_8002B28C.s") - -// Matches with IDO 5.3/7.1 -O1 -g0 -#ifdef NON_MATCHING -void func_8002B2C0(s32* arg0, s32* arg1, s32 arg2, u32 arg3) { - s32 pad; - - arg3 = arg2; - arg2--; - - while (arg3 > 0) { - arg3 = arg2; - arg2--; - *arg0++ = *arg1++; - } -} -#else -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/2BDF0/func_8002B2C0.s") -#endif - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/2BDF0/func_8002B2F4.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/2BDF0/func_8002B330.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/2BDF0/func_8002B52C.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/2BDF0/func_8002B778.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/2BDF0/func_8002B7F8.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/2BDF0/D_800C95E0.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/2BDF0/func_8002B804.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/2BDF0/func_8002B8AC.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/2BDF0/func_8002B91C.s") diff --git a/src/main/2C700.c b/src/main/2C700.c deleted file mode 100644 index cbf48bf2..00000000 --- a/src/main/2C700.c +++ /dev/null @@ -1,56 +0,0 @@ -#include "common.h" - -// One -01 -g0, likely part of libultra - -s32 func_8002DE78(s32, s32, s32); - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/2C700/func_8002BB00.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/2C700/func_8002BB7C.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/2C700/func_8002BBFC.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/2C700/func_8002BD04.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/2C700/func_8002BE38.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/2C700/func_8002C12C.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/2C700/func_8002C194.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/2C700/func_8002C2DC.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/2C700/func_8002C570.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/2C700/func_8002C5BC.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/2C700/func_8002C698.s") - -typedef struct { - char pad_0[0x4]; - u8 unk4; -} Unkstruct_func_8002C6B8_1; - -typedef struct { - char pad_0[0x4]; - s8 unk4; - char pad_5; - s16 unk6; - char pad_[0x4]; - s32 unk12; -} Unkstruct_func_8002C6B8_2; - -// matches with -O1 -g0 IDO 5.3/7.1 -#ifdef NON_MATCHING -s32 func_8002C6B8(Unkstruct_func_8002C6B8_1* arg0) { - Unkstruct_func_8002C6B8_2 temp; - - temp.unk4 = arg0->unk4; - temp.unk12 = 0; - temp.unk6 = 0; - func_8002DE78(&temp, 16, 1); - return 0; -} -#else -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/2C700/func_8002C6B8.s") -#endif diff --git a/yamls/us/main.yaml b/yamls/us/main.yaml index 1de43897..18c24bf4 100644 --- a/yamls/us/main.yaml +++ b/yamls/us/main.yaml @@ -28,7 +28,7 @@ - [0x1FA70, c] - [0x1FB10, c] - [0x205E0, c] - - [0x206B0, asm, 206B0] + - [0x206B0, asm, ../libultra/206B0] - [0x20A60, asm] - [0x20BC0, c, ../libultra/io/controller] - [0x20F80, c, ../libultra/io/contreaddata] @@ -139,9 +139,9 @@ - [0x2BBB0, c, ../libultra/libc/ldiv] - [0x2BD40, hasm, ../libultra/getcause] - [0x2BD50, asm] - - [0x2BDF0, c, 2BDF0] - - [0x2C700, c] - - [0x2D300, asm] + - [0x2BDF0, c, ../libultra/2BDF0] + - [0x2C700, c, ../libultra/2C700] # -01 -g0 + - [0x2D300, c, ../libultra/2D300] # -O1 -g0 - [0x2DF00, asm, 2DF00] - [0x2E9E0, asm] - [0x2EDE0, asm] @@ -182,7 +182,7 @@ - [0xC9320, .rodata, 14AA0] - [0xC99D0, .rodata, 17650] - [0xC9CF0, .rodata, 1EB50] - - [0xC9F10, rodata, 206B0] + - [0xC9F10, rodata, ../libultra/206B0] - [0xC9F30, rodata, ../libultra/gu/perspective] - [0xC9F40, rodata, ../libultra/gu/sinf] - [0xC9F90, rodata, ../libultra/gu/cosf] @@ -191,7 +191,7 @@ - [0xCA150, rodata, ../libultra/io/devmgr] - [0xCA170, rodata] - [0xCA180, rodata, ../libultra/rmon/xldtob] - - [0xCA1E0, .rodata, 2BDF0] + - [0xCA1E0, .rodata, ../libultra/2BDF0] - [0xCA5A0, rodata, 2DF00] - [0xCA650, rodata] - [0xCA690, rodata]