9 extern const u8 loader_dol
[];
10 extern const u32 loader_dol_size
;
12 extern void __exception_closeall();
13 extern s32
__IOS_ShutdownSubsystems();
16 static GXRModeObj
*rmode
;
18 int main(int argc
, char *argv
[])
23 // doesn't work for some odd reason when this tuff is not done :/
27 switch(VIDEO_GetCurrentTvMode())
30 rmode
= &TVPal528IntDf
;
33 rmode
= &TVMpal480IntDf
;
36 rmode
= &TVNtsc480IntDf
;
40 xfb
= MEM_K0_TO_K1(SYS_AllocateFramebuffer(rmode
));
41 console_init(xfb
, 20, 20, rmode
->fbWidth
, rmode
->xfbHeight
, rmode
->fbWidth
* VI_DISPLAY_PIX_SZ
);
43 VIDEO_Configure(rmode
);
44 VIDEO_SetBlack(FALSE
);
45 VIDEO_SetNextFramebuffer(xfb
);
48 if(rmode
->viTVMode
& VI_NON_INTERLACE
)
51 printf("loading, please wait...\n");
52 memcpy((void *)0x90000020, loader_dol
, loader_dol_size
);
53 // memcpy((void *)0x80001800, stub_bin, stub_bin_size);
55 ep
= (void(*)())load_dol_image((void *)loader_dol
, 1);
56 __IOS_ShutdownSubsystems();
57 _CPU_ISR_Disable(level
);
58 __exception_closeall();