42 lines
1004 B
C
42 lines
1004 B
C
#include "common.h"
|
|
|
|
void boot(void);
|
|
void idle(void* arg);
|
|
|
|
void boot(void) {
|
|
extern OSThread THREAD_IDLE;
|
|
extern u8 SP_THREAD_IDLE[1];
|
|
|
|
osInitialize();
|
|
osCreateThread(&THREAD_IDLE, 1, idle, NULL, SP_THREAD_IDLE, 0xA);
|
|
osStartThread(&THREAD_IDLE);
|
|
}
|
|
|
|
void idle(void* arg) {
|
|
extern void main_(void*);
|
|
extern void __idle_start_4_threads(s32, s32);
|
|
extern void (*D_800E7A18)();
|
|
|
|
extern u8 SP_THREAD_FIRST_DMA_LOAD[1];
|
|
extern OSThread THREAD_FIRST_DMA_LOAD;
|
|
extern OSThread THREAD_IDLE;
|
|
|
|
D_800E7A18 = NULL;
|
|
|
|
obInitializePi();
|
|
__idle_start_4_threads(2, 1);
|
|
|
|
osViSetSpecialFeatures(OS_VI_DIVOT_ON | OS_VI_DITHER_FILTER_ON | OS_VI_GAMMA_OFF | OS_VI_GAMMA_DITHER_OFF);
|
|
|
|
osCreateThread(&THREAD_FIRST_DMA_LOAD, 3, main_, NULL, SP_THREAD_FIRST_DMA_LOAD, 0xA);
|
|
osStartThread(&THREAD_FIRST_DMA_LOAD);
|
|
|
|
osSetThreadPri(&THREAD_IDLE, OS_PRIORITY_IDLE);
|
|
|
|
while(1) {
|
|
if (D_800E7A18 != NULL) {
|
|
D_800E7A18();
|
|
}
|
|
}
|
|
}
|