forked from len0rd/rockbox
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[];
|
extern char iend[];
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* How many video frames (out of a possible 60) we display each second */
|
|
||||||
#define FPS 20
|
|
||||||
|
|
||||||
struct plugin_api* rb;
|
struct plugin_api* rb;
|
||||||
|
|
||||||
unsigned framesPerSecond = VideoFrequency;
|
unsigned framesPerSecond = VideoFrequency;
|
||||||
|
|
@ -98,7 +95,6 @@ bool loadROMS( void )
|
||||||
}
|
}
|
||||||
|
|
||||||
/* A buffer to render Pacman's 244x288 screen into */
|
/* 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)));
|
unsigned char video_buffer[ScreenWidth*ScreenHeight] __attribute__ ((aligned (4)));
|
||||||
|
|
||||||
long start_time;
|
long start_time;
|
||||||
|
|
@ -316,13 +312,11 @@ int gameProc( void )
|
||||||
|
|
||||||
rb->lcd_update();
|
rb->lcd_update();
|
||||||
|
|
||||||
#ifdef SIMULATOR
|
|
||||||
/* Keep the framerate at Pacman's 60fps */
|
/* Keep the framerate at Pacman's 60fps */
|
||||||
end_time = start_time + (video_frames*HZ)/FPS;
|
end_time = start_time + (video_frames*HZ)/FPS;
|
||||||
while (TIME_BEFORE(*rb->current_tick,end_time)) {
|
while (TIME_BEFORE(*rb->current_tick,end_time)) {
|
||||||
rb->sleep(1);
|
rb->sleep(1);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
||||||
|
|
@ -88,4 +88,15 @@
|
||||||
#define YOFS ((LCD_HEIGHT-224/2)/2)
|
#define YOFS ((LCD_HEIGHT-224/2)/2)
|
||||||
#endif
|
#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
|
#endif
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue