Enable frame-rate control for all targets. Change the iPod Nano to display 30fps (the other targets are all aiming for 20fps, but are not yet achieving it)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9042 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Dave Chapman 2006-03-15 02:00:34 +00:00
parent 67760ded33
commit bfd2b86817
2 changed files with 11 additions and 6 deletions

View file

@ -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;

View file

@ -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