Compare commits
No commits in common. "9034b5f8023ca16343683762168114e5e62ef264" and "0872cce98b758553a1a284107e23d0bef67c3031" have entirely different histories.
9034b5f802
...
0872cce98b
|
|
@ -75,7 +75,7 @@ typedef u8 bool;
|
||||||
#define SCREEN_WIDTH_MAX 640
|
#define SCREEN_WIDTH_MAX 640
|
||||||
#define SCREEN_HEIGHT_MAX 480
|
#define SCREEN_HEIGHT_MAX 480
|
||||||
|
|
||||||
#define DECLARE_STACK(name, size) u64 name[size / sizeof(u64)]
|
#define DECLARE_STACK(name, size) u64 name[size / sizeof(u64)]
|
||||||
// Stacks grow backwards (towards smaller addresses)
|
// Stacks grow backwards (towards smaller addresses)
|
||||||
#define STACK_START(stack) ((u8*)(&stack) + sizeof(stack))
|
#define STACK_START(stack) ((u8*)(&stack) + sizeof(stack))
|
||||||
|
|
||||||
|
|
@ -143,6 +143,7 @@ extern OSContPad __GLOBAL_CONTROLLER_DATA_COPY[MAXCONTROLLERS];
|
||||||
|
|
||||||
extern void (*SWAP_BUFFER_FUNC_800A9E8C)(void** buffers);
|
extern void (*SWAP_BUFFER_FUNC_800A9E8C)(void** buffers);
|
||||||
|
|
||||||
|
extern u8 SP_THREAD_800BE1C0[1];
|
||||||
extern void* D_800AA41C;
|
extern void* D_800AA41C;
|
||||||
extern u8 D_594284;
|
extern u8 D_594284;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ nuGfxMesgBuf = 0x800BE1A0;
|
||||||
nuGfxFunc = 0x800AA090;
|
nuGfxFunc = 0x800AA090;
|
||||||
nuGfxPreNMIFunc = 0x800AA094;
|
nuGfxPreNMIFunc = 0x800AA094;
|
||||||
nuGfxTaskSpool = 0x800E79A4;
|
nuGfxTaskSpool = 0x800E79A4;
|
||||||
nuGfxThread = 0x800BE1C0; // size:0x1B0
|
nuGfxThread = 0x800BE1C0;
|
||||||
nuGfxSwapCfbFunc = 0x800A9E84;
|
nuGfxSwapCfbFunc = 0x800A9E84;
|
||||||
nuGfxSwapCfb = 0x8008B110;
|
nuGfxSwapCfb = 0x8008B110;
|
||||||
nuGfxZBuffer = 0x800C4B20;
|
nuGfxZBuffer = 0x800C4B20;
|
||||||
|
|
@ -47,7 +47,6 @@ nuContPakGameCode = 0x800AA014;
|
||||||
nuSiCallBackList = 0x800A9EA0;
|
nuSiCallBackList = 0x800A9EA0;
|
||||||
nuGfxTaskEndFunc = 0x800A9E88;
|
nuGfxTaskEndFunc = 0x800A9E88;
|
||||||
nuStackSiMgrThread = 0x800BC030;
|
nuStackSiMgrThread = 0x800BC030;
|
||||||
nuStackGfxThread = 0x800C0370;
|
|
||||||
|
|
||||||
nuBoot = 0x8007F880;
|
nuBoot = 0x8007F880;
|
||||||
nuScCreateScheduler = 0x80088C50; // rom:0x19050
|
nuScCreateScheduler = 0x80088C50; // rom:0x19050
|
||||||
|
|
@ -109,11 +108,6 @@ nuContPakGetFree = 0x8008A730;
|
||||||
nuContPakOpen = 0x8008A6E0;
|
nuContPakOpen = 0x8008A6E0;
|
||||||
|
|
||||||
|
|
||||||
obUnpackThreadStart = 0x8007ABAC;
|
|
||||||
obThreadUnpackProc = 0x800AF0D0; // size:0x1B0
|
|
||||||
obStackUnpackProc = 0x800AF280; // size:0x80
|
|
||||||
obUnpackMesgBuf = 0x800AF300;
|
|
||||||
|
|
||||||
obCurrentTime = 0x800C47D0;
|
obCurrentTime = 0x800C47D0;
|
||||||
obSetCurrentTime = 0x8009C7C0; // rom:0x2CBC0
|
obSetCurrentTime = 0x8009C7C0; // rom:0x2CBC0
|
||||||
obGetCurrentTime = 0x8009C7CC; // rom:0x2CBCC
|
obGetCurrentTime = 0x8009C7CC; // rom:0x2CBCC
|
||||||
|
|
@ -966,6 +960,7 @@ OSMESG_800B17E0 = 0x800B17E0;
|
||||||
OSMESG_800B9C58 = 0x800B9C58;
|
OSMESG_800B9C58 = 0x800B9C58;
|
||||||
OSMESG_800B9C80 = 0x800B9C80;
|
OSMESG_800B9C80 = 0x800B9C80;
|
||||||
|
|
||||||
|
SP_THREAD_800BE1C0 = 0x800C2370;
|
||||||
SP_THREAD_800B9C88 = 0x800BBE40;
|
SP_THREAD_800B9C88 = 0x800BBE40;
|
||||||
|
|
||||||
THREAD_800B7A90 = 0x800B7A90;
|
THREAD_800B7A90 = 0x800B7A90;
|
||||||
|
|
|
||||||
|
|
@ -60,8 +60,6 @@ extern s32 func_80173B60(s32);
|
||||||
|
|
||||||
extern OSMesgQueue obUnpackQueue;
|
extern OSMesgQueue obUnpackQueue;
|
||||||
|
|
||||||
void UnpackProc(void*);
|
|
||||||
|
|
||||||
INCLUDE_ASM(const s32, "_ob_rabid_jar", __calls_loads_overlay_array);
|
INCLUDE_ASM(const s32, "_ob_rabid_jar", __calls_loads_overlay_array);
|
||||||
|
|
||||||
INCLUDE_ASM(const s32, "_ob_rabid_jar", func_80076150);
|
INCLUDE_ASM(const s32, "_ob_rabid_jar", func_80076150);
|
||||||
|
|
@ -457,18 +455,7 @@ void obSendUnpackMesg(OBUnpackMesg* msg) {
|
||||||
osSendMesg(&obUnpackQueue, msg, OS_MESG_BLOCK);
|
osSendMesg(&obUnpackQueue, msg, OS_MESG_BLOCK);
|
||||||
}
|
}
|
||||||
|
|
||||||
extern OSThread obThreadUnpackProc;
|
INCLUDE_ASM(const s32, "_ob_rabid_jar", func_8007ABAC);
|
||||||
extern OBUnpackMesg obUnpackMesgBuf[8];
|
|
||||||
|
|
||||||
extern DECLARE_STACK(obStackUnpackProc, 0x80);
|
|
||||||
|
|
||||||
/* AFAC 8007ABAC */
|
|
||||||
void obUnpackThreadStart(OSId id, OSPri priority) {
|
|
||||||
osCreateMesgQueue(&obUnpackQueue, (OSMesg)&obUnpackMesgBuf, 8);
|
|
||||||
|
|
||||||
osCreateThread(&obThreadUnpackProc, id, UnpackProc, NULL, STACK_START(obStackUnpackProc), priority);
|
|
||||||
osStartThread(&obThreadUnpackProc);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* B030 8007AC30 */
|
/* B030 8007AC30 */
|
||||||
void UnpackProc(void* __unused) {
|
void UnpackProc(void* __unused) {
|
||||||
|
|
|
||||||
|
|
@ -2,12 +2,16 @@
|
||||||
|
|
||||||
#include "nu/nusys.h"
|
#include "nu/nusys.h"
|
||||||
|
|
||||||
|
#define OB_MAIN_STACK_SIZE 0x2070
|
||||||
|
|
||||||
extern OSThread nuThreadIdle;
|
extern OSThread nuThreadIdle;
|
||||||
extern DECLARE_STACK(nuStackIdle, NU_IDLE_STACK_SIZE);
|
extern DECLARE_STACK(nuStackIdle, NU_IDLE_STACK_SIZE);
|
||||||
|
|
||||||
extern OSThread obThreadMain;
|
extern OSThread obThreadMain;
|
||||||
extern DECLARE_STACK(obStackMain, NU_MAIN_STACK_SIZE);
|
extern DECLARE_STACK(obStackMain, NU_MAIN_STACK_SIZE);
|
||||||
|
|
||||||
|
const int test = sizeof(obThreadMain);
|
||||||
|
|
||||||
void nuIdle(void* arg);
|
void nuIdle(void* arg);
|
||||||
|
|
||||||
void nuBoot(void) {
|
void nuBoot(void) {
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,6 @@
|
||||||
|
|
||||||
#include "nu/nusys.h"
|
#include "nu/nusys.h"
|
||||||
|
|
||||||
extern DECLARE_STACK(nuStackGfxThread, NU_GFX_STACK_SIZE);
|
|
||||||
|
|
||||||
/* 1B3E0 8008AFE0 */
|
/* 1B3E0 8008AFE0 */
|
||||||
void gfxThread(void* arg0) {
|
void gfxThread(void* arg0) {
|
||||||
NUScClient gfxClient;
|
NUScClient gfxClient;
|
||||||
|
|
@ -34,6 +32,6 @@ void gfxThread(void* arg0) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void nuGfxThreadStart(void) {
|
void nuGfxThreadStart(void) {
|
||||||
osCreateThread(&nuGfxThread, 4, gfxThread, NULL, STACK_START(nuStackGfxThread), 0x32);
|
osCreateThread(&nuGfxThread, 4, gfxThread, NULL, SP_THREAD_800BE1C0, 0x32);
|
||||||
osStartThread(&nuGfxThread);
|
osStartThread(&nuGfxThread);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue