37 lines
942 B
C
37 lines
942 B
C
#include "common.h"
|
|
|
|
#include "nu/nusys.h"
|
|
|
|
extern OSThread nuThreadIdle;
|
|
extern DECLARE_STACK(nuStackIdle, NU_IDLE_STACK_SIZE);
|
|
|
|
extern OSThread obThreadMain;
|
|
extern DECLARE_STACK(obStackMain, NU_MAIN_STACK_SIZE);
|
|
|
|
void nuIdle(void* arg);
|
|
|
|
void nuBoot(void) {
|
|
osInitialize();
|
|
osCreateThread(&nuThreadIdle, NU_IDLE_THREAD_ID, nuIdle, NULL, STACK_START(nuStackIdle), NU_MAIN_THREAD_PRI);
|
|
osStartThread(&nuThreadIdle);
|
|
}
|
|
|
|
void nuIdle(void* arg) {
|
|
nuIdleFunc = NULL;
|
|
|
|
nuPiInit();
|
|
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);
|
|
|
|
osCreateThread(&obThreadMain, NU_MAIN_THREAD_ID, obMain, NULL, STACK_START(obStackMain), NU_MAIN_THREAD_PRI);
|
|
osStartThread(&obThreadMain);
|
|
|
|
osSetThreadPri(&nuThreadIdle, NU_IDLE_THREAD_PRI);
|
|
|
|
while(1) {
|
|
if (nuIdleFunc != NULL)
|
|
nuIdleFunc();
|
|
}
|
|
}
|