X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=fceu.git;a=blobdiff_plain;f=drivers%2Fgp2x%2Fthrottle.c;fp=drivers%2Fgp2x%2Fthrottle.c;h=b6b628ce392f3099498dd58f54b31b3b25b750ec;hp=e70bbd38074650fd01c49c060106057546ce0eaf;hb=b2b95d2e0d1fd5e52d03c2152605b09b024c1d0e;hpb=e1591a12a775a600572ffccb2d6f8f4d6343b7dd diff --git a/drivers/gp2x/throttle.c b/drivers/gp2x/throttle.c index e70bbd3..b6b628c 100644 --- a/drivers/gp2x/throttle.c +++ b/drivers/gp2x/throttle.c @@ -1,5 +1,6 @@ #include #include "main.h" +#include "gp2x.h" #include "throttle.h" #if 0 @@ -48,7 +49,7 @@ INLINE void SpeedThrottle(void) #else extern uint8 PAL; -extern int FSkip, FSkip_setting; +extern int FSkip; static int usec_aim = 0, usec_done = 0; static int skip_count = 0; @@ -73,9 +74,9 @@ INLINE void SpeedThrottle(void) usec_done += tv_now.tv_usec - tv_prev.tv_usec; #ifdef FRAMESKIP - if (FSkip_setting >= 0) + if (Settings.frameskip >= 0) { - if (skip_count >= FSkip_setting) + if (skip_count >= Settings.frameskip) skip_count = 0; else { skip_count++; @@ -85,9 +86,10 @@ INLINE void SpeedThrottle(void) else if (usec_done > usec_aim + 1024*4) { /* auto frameskip */ - if (usec_done - usec_aim > 150000) + if (usec_done - usec_aim > 1024*32) usec_done = usec_aim = 1; // too much behind, try to recover.. - FSkip = 1; + else + FSkip = 1; tv_prev = tv_now; return; }