Change a couple functions which are now identified as coming from `nuSystem`
This commit is contained in:
parent
52f66d3290
commit
60f66d3b43
|
|
@ -193,7 +193,7 @@ extern void __calls_romCopy_8009DA50(void* src, void* dst, u32 len);
|
||||||
extern void Stack__dma_load_loop_new(Stack__dma_load_loop* arg0, OSMesgQueue* arg1, s16 flags);
|
extern void Stack__dma_load_loop_new(Stack__dma_load_loop* arg0, OSMesgQueue* arg1, s16 flags);
|
||||||
extern void Stack__dma_load_loop_delete(Stack__dma_load_loop* arg0);
|
extern void Stack__dma_load_loop_delete(Stack__dma_load_loop* arg0);
|
||||||
|
|
||||||
extern void obInitializePi();
|
extern void nuPiInit();
|
||||||
|
|
||||||
extern void __set_black();
|
extern void __set_black();
|
||||||
extern void __calls_osViBlack(bool black);
|
extern void __calls_osViBlack(bool black);
|
||||||
|
|
@ -356,7 +356,7 @@ extern void AddHeap(void* start, u32 length);
|
||||||
extern void __some_logging(const char* format, ...);
|
extern void __some_logging(const char* format, ...);
|
||||||
|
|
||||||
|
|
||||||
extern void __idle_start_4_threads(s32, s32);
|
extern void nuScCreateScheduler(u8 videoMode, u8 numFields);
|
||||||
extern void (*D_800E7A18)();
|
extern void (*D_800E7A18)();
|
||||||
|
|
||||||
extern void boot(void);
|
extern void boot(void);
|
||||||
|
|
|
||||||
|
|
@ -684,7 +684,10 @@ __MAIN_START_BUT_CHECK = 0x800E79B0; // size:0x14
|
||||||
__MAIN_START_BUT_STATE = 0x800E8214;
|
__MAIN_START_BUT_STATE = 0x800E8214;
|
||||||
|
|
||||||
__thread_80089358 = 0x80089358;
|
__thread_80089358 = 0x80089358;
|
||||||
__idle_start_4_threads = 0x80088C50;
|
|
||||||
|
nusched = 0x800E917C; // size:0x67A
|
||||||
|
nuScCreateScheduler = 0x80088C50; // rom:0x19050
|
||||||
|
nuPiInit = 0x80089F40;
|
||||||
|
|
||||||
__CONTROLLER_0_BUTTON = 0x800E8700;
|
__CONTROLLER_0_BUTTON = 0x800E8700;
|
||||||
__menu_handle_input = 0x8019B8AC; // type:func
|
__menu_handle_input = 0x8019B8AC; // type:func
|
||||||
|
|
@ -978,8 +981,6 @@ obMain = 0x80071EB0;
|
||||||
obThreadMain = 0x800AF5F0;
|
obThreadMain = 0x800AF5F0;
|
||||||
obStackMain = 0x800C6D60;
|
obStackMain = 0x800C6D60;
|
||||||
|
|
||||||
obInitializePi = 0x80089F40;
|
|
||||||
|
|
||||||
boot = 0x8007F880;
|
boot = 0x8007F880;
|
||||||
entry = 0x80070C00;
|
entry = 0x80070C00;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,7 @@ void __start_controller_thread(void) {
|
||||||
|
|
||||||
INCLUDE_ASM(const s32, "_ob_icy_coast", __controller_thread_80089D9C);
|
INCLUDE_ASM(const s32, "_ob_icy_coast", __controller_thread_80089D9C);
|
||||||
|
|
||||||
void obInitializePi(void) {
|
void nuPiInit(void) {
|
||||||
osCreatePiManager(OS_PRIORITY_PIMGR, &MQ_800BE030, OSMESG_800BE048, sizeof(OSMESG_800BE048) / sizeof(OSMesg));
|
osCreatePiManager(OS_PRIORITY_PIMGR, &MQ_800BE030, OSMESG_800BE048, sizeof(OSMESG_800BE048) / sizeof(OSMesg));
|
||||||
PTR_CART_ROM_HANDLE = osCartRomInit();
|
PTR_CART_ROM_HANDLE = osCartRomInit();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
|
|
||||||
INCLUDE_ASM(const s32, "_ob_past_brick", __idle_start_4_threads);
|
INCLUDE_ASM(const s32, "_ob_past_brick", nuScCreateScheduler);
|
||||||
|
|
||||||
/* 192F0 80088EF0*/
|
/* 192F0 80088EF0*/
|
||||||
s32* func_80088EF0(void) {
|
s32* func_80088EF0(void) {
|
||||||
|
|
@ -13,23 +13,25 @@ Unk0* func_80088EFC(void) {
|
||||||
|
|
||||||
INCLUDE_ASM(const s32, "_ob_past_brick", __thread_80088F08);
|
INCLUDE_ASM(const s32, "_ob_past_brick", __thread_80088F08);
|
||||||
|
|
||||||
/* 19454 80089054 */
|
INCLUDE_ASM(const s32, "_ob_past_brick", Stack__dma_load_loop_new);
|
||||||
void Stack__dma_load_loop_new(Stack__dma_load_loop* arg0, OSMesgQueue* mq, s16 flags)
|
|
||||||
{
|
|
||||||
s32 mask = osSetIntMask(OS_IM_NONE);
|
|
||||||
|
|
||||||
arg0->mq = mq;
|
/* 19454 80089054 */
|
||||||
arg0->next = D_800E9178[0];
|
// void Stack__dma_load_loop_new(Stack__dma_load_loop* arg0, OSMesgQueue* mq, s16 flags)
|
||||||
arg0->flags = flags;
|
// {
|
||||||
|
// s32 mask = osSetIntMask(OS_IM_NONE);
|
||||||
|
|
||||||
|
// arg0->mq = mq;
|
||||||
|
// arg0->next = D_800E9178[0];
|
||||||
|
// arg0->flags = flags;
|
||||||
|
|
||||||
D_800E9178[0] = arg0;
|
// D_800E9178[0] = arg0;
|
||||||
|
|
||||||
if ((flags & 2) && (__MAIN_NOT_NULL_INF_LOOP != 0)) {
|
// if ((flags & 2) && (__MAIN_NOT_NULL_INF_LOOP != 0)) {
|
||||||
osSendMesg(mq, (u8*)(&D_800E9178) - 0x666, OS_MESG_NOBLOCK);
|
// osSendMesg(mq, (u8*)(&D_800E9178) - 0x666, OS_MESG_NOBLOCK);
|
||||||
}
|
// }
|
||||||
|
|
||||||
osSetIntMask(mask);
|
// osSetIntMask(mask);
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
|
||||||
INCLUDE_ASM(const s32, "_ob_past_brick", func_800890E4);
|
INCLUDE_ASM(const s32, "_ob_past_brick", func_800890E4);
|
||||||
|
|
@ -42,70 +44,76 @@ INCLUDE_ASM(const s32, "_ob_past_brick", __thread_80089200);
|
||||||
|
|
||||||
INCLUDE_ASM(const s32, "_ob_past_brick", __thread_80089358);
|
INCLUDE_ASM(const s32, "_ob_past_brick", __thread_80089358);
|
||||||
|
|
||||||
void __thread_800893C0(void) {
|
INCLUDE_ASM(const s32, "_ob_past_brick", __thread_800893C0);
|
||||||
typedef struct {
|
|
||||||
/* 0x00 */ s32 field_0x0;
|
// void __thread_800893C0(void) {
|
||||||
/* 0x04 */ s32 field_0x4;
|
// typedef struct {
|
||||||
/* 0x08 */ s32 field_0x8;
|
// /* 0x00 */ s32 field_0x0;
|
||||||
/* 0x1C */ u8 field_0x1c[0x42];
|
// /* 0x04 */ s32 field_0x4;
|
||||||
/* 0x50 */ OSMesgQueue* field_0x50;
|
// /* 0x08 */ s32 field_0x8;
|
||||||
} Stack0;
|
// /* 0x1C */ u8 field_0x1c[0x42];
|
||||||
|
// /* 0x50 */ OSMesgQueue* field_0x50;
|
||||||
|
// } Stack0;
|
||||||
|
|
||||||
Stack0* sp10;
|
// Stack0* sp10;
|
||||||
void* sp14;
|
// void* sp14;
|
||||||
|
|
||||||
while(1) {
|
// while(1) {
|
||||||
osRecvMesg(&MQ_800E8B4C.field_0x0, &sp10, 1);
|
// osRecvMesg(&MQ_800E8B4C.field_0x0, &sp10, 1);
|
||||||
if (!(__MAIN_NOT_NULL_INF_LOOP & 2)) {
|
// if (!(__MAIN_NOT_NULL_INF_LOOP & 2)) {
|
||||||
func_8008949C(sp10);
|
// func_8008949C(sp10);
|
||||||
osWritebackDCacheAll();
|
// osWritebackDCacheAll();
|
||||||
osSendMesg(&MQ_800B9C40, sp10, OS_MESG_BLOCK);
|
// osSendMesg(&MQ_800B9C40, sp10, OS_MESG_BLOCK);
|
||||||
|
|
||||||
osRecvMesg(&MQ_800E8B4C.field_0x70, &sp14, OS_MESG_BLOCK);
|
// osRecvMesg(&MQ_800E8B4C.field_0x70, &sp14, OS_MESG_BLOCK);
|
||||||
osSendMesg(&MQ_800B9C40, NULL, OS_MESG_BLOCK);
|
// osSendMesg(&MQ_800B9C40, NULL, OS_MESG_BLOCK);
|
||||||
if (!(sp10->field_0x8 & 2)) {
|
// if (!(sp10->field_0x8 & 2)) {
|
||||||
osRecvMesg(&MQ_800E8B4C.field_0xa8, &sp14, OS_MESG_BLOCK);
|
// osRecvMesg(&MQ_800E8B4C.field_0xa8, &sp14, OS_MESG_BLOCK);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
osSendMesg(sp10->field_0x50, sp10, OS_MESG_BLOCK);
|
// osSendMesg(sp10->field_0x50, sp10, OS_MESG_BLOCK);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
extern struct {
|
// extern struct {
|
||||||
OSMesgQueue mq;
|
// OSMesgQueue mq;
|
||||||
u8 padding[0x549];
|
// u8 padding[0x549];
|
||||||
u8 b;
|
// u8 b;
|
||||||
} D_800E8C2C;
|
// } D_800E8C2C;
|
||||||
|
|
||||||
|
INCLUDE_ASM(const s32, "_ob_past_brick", func_8008949C);
|
||||||
|
|
||||||
/* 1989C 8008949C */
|
/* 1989C 8008949C */
|
||||||
void func_8008949C(void** buffers)
|
// void func_8008949C(void** buffers)
|
||||||
{
|
// {
|
||||||
Stack__dma_load_loop sp10;
|
// Stack__dma_load_loop sp10;
|
||||||
void* temp_s0 = buffers[3];
|
// void* temp_s0 = buffers[3];
|
||||||
|
|
||||||
if (D_800E8C2C.b != 1)
|
// if (D_800E8C2C.b != 1)
|
||||||
{
|
// {
|
||||||
while(osViGetNextFramebuffer() == temp_s0 || osViGetCurrentFramebuffer() == temp_s0)
|
// while(osViGetNextFramebuffer() == temp_s0 || osViGetCurrentFramebuffer() == temp_s0)
|
||||||
{
|
// {
|
||||||
Stack__dma_load_loop_new(&sp10, &D_800E8C2C.mq, 1);
|
// Stack__dma_load_loop_new(&sp10, &D_800E8C2C.mq, 1);
|
||||||
osRecvMesg(&D_800E8C2C.mq, NULL, 1);
|
// osRecvMesg(&D_800E8C2C.mq, NULL, 1);
|
||||||
Stack__dma_load_loop_delete(&sp10);
|
// Stack__dma_load_loop_delete(&sp10);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
void func_80089528(s8 arg0) {
|
INCLUDE_ASM(const s32, "_ob_past_brick", func_80089528);
|
||||||
D_800E918D = arg0;
|
|
||||||
}
|
// void func_80089528(s8 arg0) {
|
||||||
|
// D_800E918D = arg0;
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
// INCLUDE_ASM(const s32, "_ob_past_brick", func_80089534);
|
// extern u8 D_800E918C;
|
||||||
extern u8 D_800E918C;
|
|
||||||
|
|
||||||
|
INCLUDE_ASM(const s32, "_ob_past_brick", func_80089534);
|
||||||
/* 19934 80089534 */
|
/* 19934 80089534 */
|
||||||
u8 func_80089534(void) {
|
// u8 func_80089534(void) {
|
||||||
return D_800E918C;
|
// return D_800E918C;
|
||||||
}
|
// }
|
||||||
|
|
||||||
INCLUDE_ASM(const s32, "_ob_past_brick", __thread_80089540);
|
INCLUDE_ASM(const s32, "_ob_past_brick", __thread_80089540);
|
||||||
|
|
||||||
|
|
@ -113,13 +121,15 @@ INCLUDE_ASM(const s32, "_ob_past_brick", __start_thread_800B9C88);
|
||||||
|
|
||||||
INCLUDE_ASM(const s32, "_ob_past_brick", __something_display_list);
|
INCLUDE_ASM(const s32, "_ob_past_brick", __something_display_list);
|
||||||
|
|
||||||
|
INCLUDE_ASM(const s32, "_ob_past_brick", func_80089990);
|
||||||
|
|
||||||
/* 19D90 80089990 */
|
/* 19D90 80089990 */
|
||||||
void func_80089990(void (*arg0)(s32)) {
|
// void func_80089990(void (*arg0)(s32)) {
|
||||||
s32 mask;
|
// s32 mask;
|
||||||
|
|
||||||
func_80089A10();
|
// func_80089A10();
|
||||||
mask = osSetIntMask(OS_IM_NONE);
|
// mask = osSetIntMask(OS_IM_NONE);
|
||||||
D_800AA090 = arg0;
|
// D_800AA090 = arg0;
|
||||||
osSetIntMask(mask);
|
// osSetIntMask(mask);
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,8 @@ void boot(void) {
|
||||||
void obIdle(void* arg) {
|
void obIdle(void* arg) {
|
||||||
D_800E7A18 = NULL;
|
D_800E7A18 = NULL;
|
||||||
|
|
||||||
obInitializePi();
|
nuPiInit();
|
||||||
__idle_start_4_threads(2, 1);
|
nuScCreateScheduler(OS_VI_NTSC_LAN1, 1);
|
||||||
|
|
||||||
osViSetSpecialFeatures(OS_VI_DIVOT_ON | OS_VI_DITHER_FILTER_ON | OS_VI_GAMMA_OFF | OS_VI_GAMMA_DITHER_OFF);
|
osViSetSpecialFeatures(OS_VI_DIVOT_ON | OS_VI_DITHER_FILTER_ON | OS_VI_GAMMA_OFF | OS_VI_GAMMA_DITHER_OFF);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,10 +3,10 @@
|
||||||
#include "PR/gbi.h"
|
#include "PR/gbi.h"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
|
|
||||||
extern u32 D_800E91D0;
|
extern u8 nusched;
|
||||||
|
|
||||||
/* 16FF40 8021EF00 */
|
/* 16FF40 8021EF00 */
|
||||||
void *D_overlay_165FC0_8021EF00_16FF40 = &D_800E91D0;
|
void *D_overlay_165FC0_8021EF00_16FF40 = &nusched + 0x54;
|
||||||
|
|
||||||
/* 16FF44 8021EF04 */
|
/* 16FF44 8021EF04 */
|
||||||
u8 D_overlay_165FC0_8021EF04_16FF44 = 0;
|
u8 D_overlay_165FC0_8021EF04_16FF44 = 0;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue