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:
parent
67760ded33
commit
bfd2b86817
2 changed files with 11 additions and 6 deletions
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue