X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Fgba%2Fmain.c;h=a520cafa0b7b0ed4abf585606e63836a6959b728;hb=d489941c3101412810a6f355e35e027c7d51b350;hp=068f3d1f8daf10a3e74ed5671303c48a660f767c;hpb=097d03fa2406fca819b27b698ffb1cfc8ac445c2;p=gbajam22 diff --git a/src/gba/main.c b/src/gba/main.c index 068f3d1..a520caf 100644 --- a/src/gba/main.c +++ b/src/gba/main.c @@ -6,7 +6,6 @@ #include "maxmod.h" static void vblank(void); -static void nopfunc(void); int main(void) { @@ -28,32 +27,36 @@ int main(void) mmStart(MOD_POPCORN, MM_PLAY_LOOP); #endif - screen_vblank = nopfunc; - intr_disable(); interrupt(INTR_VBLANK, vblank); REG_DISPSTAT |= DISPSTAT_IEN_VBLANK; unmask(INTR_VBLANK); + if(init_screens() == -1) { + panic(get_pc(), "failed to initialize screens"); + } + + if(change_screen(find_screen("game")) == -1) { + panic(get_pc(), "failed to find game screen"); + } + intr_enable(); - gamescr(); - for(;;); + for(;;) { + curscr->frame(); + } return 0; } +ARM_IWRAM static void vblank(void) { vblperf_count++; - screen_vblank(); + curscr->vblank(); #ifndef NOSOUND mmVBlank(); mmFrame(); #endif } - -static void nopfunc(void) -{ -}