diff --git a/apps/plugins/pacbox/pacbox.c b/apps/plugins/pacbox/pacbox.c index 76becd9b56..6c10a20915 100644 --- a/apps/plugins/pacbox/pacbox.c +++ b/apps/plugins/pacbox/pacbox.c @@ -37,9 +37,6 @@ extern char iedata[]; extern char iend[]; #endif -/* How many video frames (out of a possible 60) we display each second */ -#define FPS 20 - struct plugin_api* rb; unsigned framesPerSecond = VideoFrequency; @@ -98,7 +95,6 @@ bool loadROMS( void ) } /* A buffer to render Pacman's 244x288 screen into */ -unsigned char background[ScreenWidth*ScreenHeight] __attribute__ ((aligned (4))); unsigned char video_buffer[ScreenWidth*ScreenHeight] __attribute__ ((aligned (4))); long start_time; @@ -316,13 +312,11 @@ int gameProc( void ) rb->lcd_update(); -#ifdef SIMULATOR /* Keep the framerate at Pacman's 60fps */ end_time = start_time + (video_frames*HZ)/FPS; while (TIME_BEFORE(*rb->current_tick,end_time)) { rb->sleep(1); } -#endif } return 0; diff --git a/apps/plugins/pacbox/pacbox.h b/apps/plugins/pacbox/pacbox.h index 84bd8a7be8..3e80754f76 100644 --- a/apps/plugins/pacbox/pacbox.h +++ b/apps/plugins/pacbox/pacbox.h @@ -88,4 +88,15 @@ #define YOFS ((LCD_HEIGHT-224/2)/2) #endif +/* How many video frames (out of a possible 60) we display each second. + NOTE: pacbox.c assumes this is an integer divisor of 60 + */ +#ifdef APPLE_IPOD_NANO +/* The Nano can manage full-speed at 30fps (1 in 2 frames) */ +#define FPS 30 +#else +/* We aim for 20fps on the other targets (1 in 3 frames) */ +#define FPS 20 +#endif + #endif