diff --git a/linker_scripts/us/symbol_addrs.txt b/linker_scripts/us/symbol_addrs.txt index 442e124f..887258b1 100644 --- a/linker_scripts/us/symbol_addrs.txt +++ b/linker_scripts/us/symbol_addrs.txt @@ -1,3 +1,34 @@ bootproc = 0x80004DA8; D_800C90F0 = 0x800C90F0; -D_800D934C = 0x800D934C; // force_migration:True \ No newline at end of file +D_800D934C = 0x800D934C; // force_migration:True +osContInit = 0x8001FFC0; +osRecvMesg = 0x800205E0; +osSendMesg = 0x80020720; +osContStartQuery = 0x80020870; +osContGetQuery = 0x800208F4; +guPerspectiveF = 0x80020F40; +guPerspective = 0x80021170; +guLookAtF = 0x800211D0; +guLookAt = 0x80021488; +guOrthoF = 0x80021500; +guOrtho = 0x80021654; +osInvalICache = 0x800216C0; +osInvalDCache = 0x80021740; +osPiStartDma = 0x800217F0; +osViBlack = 0x80021900; +osWritebackDCacheAll = 0x80021970; +osViSwapBuffer = 0x800219A0; +osViRepeatLine = 0x800219F0; +osViSetMode = 0x80021AC0; +osViSetSpecialFeatures = 0x80021B30; +osCreateMesgQueue = 0x80021CF0; +osSetEventMesg = 0x80021D20; +osViSetEvent = 0x80021D90; +osSpTaskYielded = 0x80021E00; +osSpTaskYield = 0x80021E80; +osDpSetStatus = 0x80022190; +osCreateThread = 0x800221A0; +osStartThread = 0x800222F0; +osCreateViManager = 0x80022440; +osSetThreadPri = 0x80022A80; +osGetTime = 0x80023000; \ No newline at end of file diff --git a/src/libultra/2BDF0.c b/src/libultra/2BDF0.c index 685fa958..36340e08 100644 --- a/src/libultra/2BDF0.c +++ b/src/libultra/2BDF0.c @@ -6,23 +6,7 @@ #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") diff --git a/src/libultra/2C700.c b/src/libultra/2C700.c index c253f997..1e0de319 100644 --- a/src/libultra/2C700.c +++ b/src/libultra/2C700.c @@ -1,9 +1,5 @@ #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") @@ -26,31 +22,4 @@ s32 func_8002DE78(s32, s32, s32); #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/gu/lookat.c b/src/libultra/gu/lookat.c index 461de476..57fc1b00 100644 --- a/src/libultra/gu/lookat.c +++ b/src/libultra/gu/lookat.c @@ -1,5 +1,5 @@ #include "common.h" -#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/gu/lookat/func_800211D0.s") +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/gu/lookat/guLookAtF.s") -#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/gu/lookat/func_80021488.s") +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/gu/lookat/guLookAt.s") diff --git a/src/libultra/gu/ortho.c b/src/libultra/gu/ortho.c index d2b8e4b6..a86fb619 100644 --- a/src/libultra/gu/ortho.c +++ b/src/libultra/gu/ortho.c @@ -1,5 +1,5 @@ #include "common.h" -#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/gu/ortho/func_80021500.s") +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/gu/ortho/guOrthoF.s") -#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/gu/ortho/func_80021654.s") +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/gu/ortho/guOrtho.s") diff --git a/src/libultra/io/contquery.c b/src/libultra/io/contquery.c index 358fe299..17c7569d 100644 --- a/src/libultra/io/contquery.c +++ b/src/libultra/io/contquery.c @@ -1,5 +1,5 @@ #include "common.h" -#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/io/contquery/func_80020870.s") +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/io/contquery/osContStartQuery.s") -#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/io/contquery/func_800208F4.s") +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/io/contquery/osContGetQuery.s") diff --git a/src/libultra/io/controller.c b/src/libultra/io/controller.c index d0f90fa4..affc5045 100644 --- a/src/libultra/io/controller.c +++ b/src/libultra/io/controller.c @@ -1,6 +1,6 @@ #include "common.h" -#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/io/controller/func_8001FFC0.s") +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/io/controller/osContInit.s") #pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/io/controller/func_800201B8.s") diff --git a/src/libultra/io/dpsetstat.c b/src/libultra/io/dpsetstat.c index 6d436f29..4d53053a 100644 --- a/src/libultra/io/dpsetstat.c +++ b/src/libultra/io/dpsetstat.c @@ -1,3 +1,3 @@ #include "common.h" -#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/io/dpsetstat/func_80022190.s") +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/io/dpsetstat/osDpSetStatus.s") diff --git a/src/libultra/io/pidma.c b/src/libultra/io/pidma.c index 52d0e8a1..3f6d49ee 100644 --- a/src/libultra/io/pidma.c +++ b/src/libultra/io/pidma.c @@ -1,3 +1,3 @@ #include "common.h" -#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/io/pidma/func_800217F0.s") +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/io/pidma/osPiStartDma.s") diff --git a/src/libultra/io/sptaskyield.c b/src/libultra/io/sptaskyield.c index 9106b84b..f7b2f4c7 100644 --- a/src/libultra/io/sptaskyield.c +++ b/src/libultra/io/sptaskyield.c @@ -1,3 +1,3 @@ #include "common.h" -#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/io/sptaskyield/func_80021E80.s") +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/io/sptaskyield/osSpTaskYield.s") diff --git a/src/libultra/io/sptaskyielded.c b/src/libultra/io/sptaskyielded.c index 57771931..2deb9eb3 100644 --- a/src/libultra/io/sptaskyielded.c +++ b/src/libultra/io/sptaskyielded.c @@ -1,3 +1,3 @@ #include "common.h" -#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/io/sptaskyielded/func_80021E00.s") +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/io/sptaskyielded/osSpTaskYielded.s") diff --git a/src/libultra/io/viblack.c b/src/libultra/io/viblack.c index 9087d9ea..545e4d77 100644 --- a/src/libultra/io/viblack.c +++ b/src/libultra/io/viblack.c @@ -1,3 +1,3 @@ #include "common.h" -#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/io/viblack/func_80021900.s") +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/io/viblack/osViBlack.s") diff --git a/src/libultra/io/vimgr.c b/src/libultra/io/vimgr.c index a70c0119..0d5e74cf 100644 --- a/src/libultra/io/vimgr.c +++ b/src/libultra/io/vimgr.c @@ -1,5 +1,5 @@ #include "common.h" -#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/io/vimgr/func_80022440.s") +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/io/vimgr/osCreateViManager.s") #pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/io/vimgr/func_800225C8.s") diff --git a/src/libultra/io/virepeatline.c b/src/libultra/io/virepeatline.c index 10999172..09a3a478 100644 --- a/src/libultra/io/virepeatline.c +++ b/src/libultra/io/virepeatline.c @@ -1,3 +1,3 @@ #include "common.h" -#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/io/virepeatline/func_800219F0.s") +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/io/virepeatline/osViRepeatLine.s") diff --git a/src/libultra/io/visetevent.c b/src/libultra/io/visetevent.c index 3ef9f0fa..51ed1eef 100644 --- a/src/libultra/io/visetevent.c +++ b/src/libultra/io/visetevent.c @@ -1,3 +1,3 @@ #include "common.h" -#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/io/visetevent/func_80021D90.s") +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/io/visetevent/osViSetEvent.s") diff --git a/src/libultra/io/visetmode.c b/src/libultra/io/visetmode.c index 1a7a629a..5b1a5d08 100644 --- a/src/libultra/io/visetmode.c +++ b/src/libultra/io/visetmode.c @@ -1,3 +1,3 @@ #include "common.h" -#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/io/visetmode/func_80021AC0.s") +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/io/visetmode/osViSetMode.s") diff --git a/src/libultra/io/visetspecial.c b/src/libultra/io/visetspecial.c index a3929221..88ac826a 100644 --- a/src/libultra/io/visetspecial.c +++ b/src/libultra/io/visetspecial.c @@ -1,3 +1,3 @@ #include "common.h" -#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/io/visetspecial/func_80021B30.s") +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/io/visetspecial/osViSetSpecialFeatures.s") diff --git a/src/libultra/io/viswapbuf.c b/src/libultra/io/viswapbuf.c index ca2f485b..66d8648e 100644 --- a/src/libultra/io/viswapbuf.c +++ b/src/libultra/io/viswapbuf.c @@ -1,3 +1,3 @@ #include "common.h" -#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/io/viswapbuf/func_800219A0.s") +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/io/viswapbuf/osViSwapBuffer.s") diff --git a/src/libultra/os/createmesgqueue.c b/src/libultra/os/createmesgqueue.c index b46a79f2..0c11e0c2 100644 --- a/src/libultra/os/createmesgqueue.c +++ b/src/libultra/os/createmesgqueue.c @@ -1,3 +1,3 @@ #include "common.h" -#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/os/createmesgqueue/func_80021CF0.s") +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/os/createmesgqueue/osCreateMesgQueue.s") diff --git a/src/libultra/os/createthread.c b/src/libultra/os/createthread.c index f113caee..545cf5ef 100644 --- a/src/libultra/os/createthread.c +++ b/src/libultra/os/createthread.c @@ -1,3 +1,3 @@ #include "common.h" -#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/os/createthread/func_800221A0.s") +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/os/createthread/osCreateThread.s") diff --git a/src/libultra/os/gettime.c b/src/libultra/os/gettime.c index 654dd346..443461d4 100644 --- a/src/libultra/os/gettime.c +++ b/src/libultra/os/gettime.c @@ -1,3 +1,3 @@ #include "common.h" -#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/os/gettime/func_80023000.s") +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/os/gettime/osGetTime.s") diff --git a/src/libultra/os/recvmesg.c b/src/libultra/os/recvmesg.c index badf7468..24ebc777 100644 --- a/src/libultra/os/recvmesg.c +++ b/src/libultra/os/recvmesg.c @@ -1,3 +1,3 @@ #include "common.h" -#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/os/recvmesg/func_800205E0.s") +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/os/recvmesg/osRecvMesg.s") diff --git a/src/libultra/os/sendmesg.c b/src/libultra/os/sendmesg.c index 58a3c062..3be93f3a 100644 --- a/src/libultra/os/sendmesg.c +++ b/src/libultra/os/sendmesg.c @@ -1,3 +1,3 @@ #include "common.h" -#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/os/sendmesg/func_80020720.s") +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/os/sendmesg/osSendMesg.s") diff --git a/src/libultra/os/seteventmesg.c b/src/libultra/os/seteventmesg.c index c089efc0..77492b83 100644 --- a/src/libultra/os/seteventmesg.c +++ b/src/libultra/os/seteventmesg.c @@ -1,3 +1,3 @@ #include "common.h" -#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/os/seteventmesg/func_80021D20.s") +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/os/seteventmesg/osSetEventMesg.s") diff --git a/src/libultra/os/setthreadpri.c b/src/libultra/os/setthreadpri.c index ff5a72be..409c9365 100644 --- a/src/libultra/os/setthreadpri.c +++ b/src/libultra/os/setthreadpri.c @@ -1,3 +1,3 @@ #include "common.h" -#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/os/setthreadpri/func_80022A80.s") +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/os/setthreadpri/osSetThreadPri.s") diff --git a/src/libultra/os/startthread.c b/src/libultra/os/startthread.c index e29f1dad..e015b71f 100644 --- a/src/libultra/os/startthread.c +++ b/src/libultra/os/startthread.c @@ -1,3 +1,3 @@ #include "common.h" -#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/os/startthread/func_800222F0.s") +#pragma GLOBAL_ASM("asm/us/nonmatchings/libultra/os/startthread/osStartThread.s") diff --git a/src/main/3440.c b/src/main/3440.c index 05730997..9fcc777a 100644 --- a/src/main/3440.c +++ b/src/main/3440.c @@ -2,8 +2,8 @@ extern s32 func_800071FC(s32*); extern s32 func_800072E0(s32*); -extern void func_8001FFC0(s32*, u8*, s32*); -extern s32 func_80020720(s32*, s32, s32); +extern void osContInit(s32*, u8*, s32*); +extern s32 osSendMesg(s32*, s32, s32); extern s8 D_800DD8B0; extern s8 D_800DD8B1; @@ -24,7 +24,7 @@ extern s32 D_80144F60; void func_8000291C(void) { u8 sp1F; - func_8001FFC0(&D_800E2128, &sp1F, &D_800DD8F0); + osContInit(&D_800E2128, &sp1F, &D_800DD8F0); D_800DD8B0 = sp1F & 1; D_800DD8B8 = 0; D_800DD8B1 = (sp1F >> 1) & 1; @@ -41,18 +41,18 @@ void func_8000291C(void) { void func_80002BE8(void) { if ((D_80137E80 == 0) && (func_800072E0(&D_80144F60) == 0)) { - func_80020720(&D_800E2318, 15, 0); + osSendMesg(&D_800E2318, 15, 0); return; } - func_80020720(&D_800E2318, 14, 0); + osSendMesg(&D_800E2318, 14, 0); } void func_80002C50(void) { if ((D_80137E80 == 0) && (func_800071FC(&D_80144F60) == 0)) { - func_80020720(&D_800E2318, 15, 0); + osSendMesg(&D_800E2318, 15, 0); return; } - func_80020720(&D_800E2318, 14, 0); + osSendMesg(&D_800E2318, 14, 0); } #pragma GLOBAL_ASM("asm/us/nonmatchings/main/3440/func_80002CB8.s") diff --git a/src/main/4650.c b/src/main/4650.c index 7385ef73..4f417c24 100644 --- a/src/main/4650.c +++ b/src/main/4650.c @@ -11,11 +11,11 @@ s32 func_80003A50(void); void func_80003EE0(void); void func_80004ABC(s32); void func_80008018(void); -void func_800221A0(s32*, s32, void*, s32, s32*, s32); -void func_800222F0(s32*); -void func_80022440(s32); +void osCreateThread(s32*, s32, void*, s32, s32*, s32); +void osStartThread(s32*); +void osCreateViManager(s32); void func_800227A0(s32, s32*, s32*, s32); -void func_80022A80(s32, s32); +void osSetThreadPri(s32, s32); s32 func_8001EF10(void); s32 func_80022B60(void); @@ -49,14 +49,14 @@ s32 func_80022B60(void); #pragma GLOBAL_ASM("asm/us/nonmatchings/main/4650/func_80004ABC.s") void func_80004D00(s32 arg0) { - func_80022440(0xFE); + osCreateViManager(0xFE); func_80003EE0(); func_800034E8(1); func_800227A0(0x96, &D_800E2010, &D_800E2028, 0x32); - func_800221A0(&D_8013A040, 3, &func_80004ABC, arg0, &D_8013B1F0, 0x64); - func_800222F0(&D_8013A040); + osCreateThread(&D_8013A040, 3, &func_80004ABC, arg0, &D_8013B1F0, 0x64); + osStartThread(&D_8013A040); func_80008018(); - func_80022A80(0, 0); + osSetThreadPri(0, 0); loop_1: goto loop_1; } @@ -65,6 +65,6 @@ void bootproc(void) { func_8001EF10(); func_80022B60(); func_80003A50(); - func_800221A0(&D_80138E90, 1, &func_80004D00, 0, &D_8013A040, 0xFF); - func_800222F0(&D_80138E90); + osCreateThread(&D_80138E90, 1, &func_80004D00, 0, &D_8013A040, 0xFF); + osStartThread(&D_80138E90); } diff --git a/src/main/5A20.c b/src/main/5A20.c index ad92bc54..5d188491 100644 --- a/src/main/5A20.c +++ b/src/main/5A20.c @@ -15,16 +15,16 @@ extern s32 D_8013B3B4; extern void func_80005680(s32, s32); extern f32 func_8001FBE8(f32); -extern u64 func_80023000(void); +extern u64 osGetTime(void); f32 func_80004E20(f32 arg0, f32 arg1) { return arg0 - ((s32)(arg0 / arg1) * arg1); } void func_80004E4C(void) { - D_8013B3A4 = (s32)func_80023000() % 30000; - D_8013B3A8 = (s32)func_80023000() % 30000; - D_8013B3AC = (s32)func_80023000() % 30000; + D_8013B3A4 = (s32)osGetTime() % 30000; + D_8013B3A8 = (s32)osGetTime() % 30000; + D_8013B3AC = (s32)osGetTime() % 30000; } #pragma GLOBAL_ASM("asm/us/nonmatchings/main/5A20/func_80004EB0.s") diff --git a/src/main/7FC0.c b/src/main/7FC0.c index b67b5d86..62cc61c3 100644 --- a/src/main/7FC0.c +++ b/src/main/7FC0.c @@ -7,9 +7,9 @@ typedef struct { s16 unk9D2; } UnkStruct_D_80145360; -void func_80021CF0(s32*, s32*, s32); -void func_800221A0(UnkStruct_D_80145360*, s32, s32*, s32, s32*, s32); -void func_800222F0(UnkStruct_D_80145360*); +void osCreateMesgQueue(s32*, s32*, s32); +void osCreateThread(UnkStruct_D_80145360*, s32, s32*, s32, s32*, s32); +void osStartThread(UnkStruct_D_80145360*); extern UnkStruct_D_80145360 D_80145360; extern s32 D_80145D10; @@ -100,7 +100,7 @@ void func_80008018(void) { D_80145360.unk9CC = (osMemSize | 0x80000000) + 0xFFFDA800; D_80145360.unk9D0 = 0x140; D_80145360.unk9D2 = 0xF0; - func_80021CF0(&D_80145D10, &D_80145D28, 1); - func_800221A0(&D_80145360, 2, &func_80007D58, 0, &D_80145D10, 0x7F); - func_800222F0(&D_80145360); + osCreateMesgQueue(&D_80145D10, &D_80145D28, 1); + osCreateThread(&D_80145360, 2, &func_80007D58, 0, &D_80145D10, 0x7F); + osStartThread(&D_80145360); }