summaryrefslogtreecommitdiff
path: root/src/frame_skip.cpp
diff options
context:
space:
mode:
authoraliaspider2015-11-05 16:11:47 +0100
committeraliaspider2015-11-05 18:26:44 +0100
commit8bd5927278af004e494eb75e892c95fdc8280b58 (patch)
treea409ec373c914a821e3a75d86d1b1148c050d6ce /src/frame_skip.cpp
parentf2895ec98422b53ee04f531b9556aed94e709c08 (diff)
downloadsnes9x2002-8bd5927278af004e494eb75e892c95fdc8280b58.tar.gz
snes9x2002-8bd5927278af004e494eb75e892c95fdc8280b58.tar.bz2
snes9x2002-8bd5927278af004e494eb75e892c95fdc8280b58.zip
more cleanups
Diffstat (limited to 'src/frame_skip.cpp')
-rw-r--r--src/frame_skip.cpp99
1 files changed, 0 insertions, 99 deletions
diff --git a/src/frame_skip.cpp b/src/frame_skip.cpp
deleted file mode 100644
index d656a0d..0000000
--- a/src/frame_skip.cpp
+++ /dev/null
@@ -1,99 +0,0 @@
-#include <unistd.h>
-#include <sys/time.h>
-#include <time.h>
-#include <math.h>
-#include "frame_skip.h"
-#include "memmap.h"
-
-#ifndef uclock_t
-#define uclock_t unsigned int
-#endif
-
-#define TICKS_PER_SEC 1000000UL
-//#define CPU_FPS 60
-static int CPU_FPS=60;
-static uclock_t F;
-
-#define MAX_FRAMESKIP 10
-
-
-static char init_frame_skip = 1;
-char skip_next_frame = 0;
-static struct timeval init_tv = { 0, 0 };
-
-
-void reset_frame_skip(void)
-{
- //static Uint8 init=0;
-
- init_tv.tv_usec = 0;
- init_tv.tv_sec = 0;
- skip_next_frame = 0;
- init_frame_skip = 1;
- CPU_FPS=Memory.ROMFramesPerSecond;
-
- F = (uclock_t) ((double) TICKS_PER_SEC / CPU_FPS);
-}
-
-uclock_t get_ticks(void)
-{
- struct timeval tv;
-
- gettimeofday(&tv, 0);
- if (init_tv.tv_sec == 0)
- init_tv = tv;
- return (tv.tv_sec - init_tv.tv_sec) * TICKS_PER_SEC + tv.tv_usec -
- init_tv.tv_usec;
-
-
-}
-
-int frame_skip(void)
-{
- static int f2skip;
- static uclock_t sec = 0;
- static uclock_t rfd;
- static uclock_t target;
- static int nbFrame = 0;
- static int skpFrm = 0;
-
- if (init_frame_skip) {
- init_frame_skip = 0;
- target = get_ticks();
- nbFrame = 0;
- //f2skip=0;
- //skpFrm=0;
- sec = 0;
- return 0;
- }
-
- target += F;
- if (f2skip > 0) {
- f2skip--;
- skpFrm++;
- return 1;
- } else
- skpFrm = 0;
-
-
- rfd = get_ticks();
-
- if (rfd < target && f2skip == 0) {
- while (get_ticks() < target);
- } else {
- f2skip = (rfd - target) / (double) F;
- if (f2skip > MAX_FRAMESKIP) {
- f2skip = MAX_FRAMESKIP;
- reset_frame_skip();
- }
- // printf("Skip %d frame(s) %lu %lu\n",f2skip,target,rfd);
- }
-
-
- nbFrame++;
- if (get_ticks() - sec >= TICKS_PER_SEC) {
- nbFrame = 0;
- sec = get_ticks();
- }
- return 0;
-}