Files
ac-decomp/rel/main.c
T
2023-03-10 12:33:49 +00:00

74 lines
1.7 KiB
C

#include "main.h"
#include "boot.h"
//TODO: actually add all the stacks and headers
void mainproc (void* val){
static OSMessageQueue l_serialMsgQ;
static OSMessage serialMsgBuf;
IrqMgrClient irqClient;
OSMessageQueue irqMgrMsgQueue;
OSMessage irqMsgBuf[10];
OSMessage msg;
ScreenWidth = SCREEN_WIDTH;
ScreenHeight = SCREEN_HEIGHT;
JW_BeginFrame();
JW_EndFrame();
mCD_init_card();
osCreateMesgQueue(&l_serialMsgQ, &serialMsgBuf, 1);
osCreateMesgQueue(&irqMgrMsgQueue, irqMsgBuf, 10);
CreateIRQManager(irqmgrStack + IRQMGR_STACK_SIZE, IRQMGR_STACK_SIZE, 18, 1);
irqmgr_AddClient(&irqClient, &irqMgrMsgQueue);
memset(padmgrStack, 0xEB, PADMGR_STACK_SIZE);
padmgr_Create(&l_serialMsgQ, 7, 15, padmgrStack + PADMGR_STACK_SIZE, PADMGR_STACK_SIZE);
osCreateThread2(&graphThread, 4, graph_proc, val, graphStack + GRAPH_STACK_SIZE, GRAPH_STACK_SIZE, 8);
JW_BeginFrame();
JW_EndFrame();
osStartThread(&graphThread);
osSetThreadPri(0, 5);
JW_Init3();
mMsg_aram_init2();
mLd_StartFlagOn();
famicom_mount_archive();
JC_JKRAramHeap_dump(JC_JKRAram_getAramHeap());
osSetThreadPri(0, 13);
do {
msg = NULL;
while (irqMgrMsgQueue.usedCount != 0) {
osRecvMesg(&irqMgrMsgQueue, NULL, 0);
}
osRecvMesg(&irqMgrMsgQueue, &msg, 1);
} while (msg != NULL);
}
u32 entry(void) { // TODO: debug_mode struct thing
padmgr_Init(0);
new_Debug_mode();
debug_mode.idk = 0;
mainproc(0);
return 0;
}
void main_foresta(void){
OSReport("どうぶつの森 main2 開始");
HotStartEntry = (u32)&entry;
}