aboutsummaryrefslogtreecommitdiffstats
path: root/tools/ioemu/iodev/slowdown_timer.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/ioemu/iodev/slowdown_timer.h')
-rw-r--r--tools/ioemu/iodev/slowdown_timer.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/tools/ioemu/iodev/slowdown_timer.h b/tools/ioemu/iodev/slowdown_timer.h
new file mode 100644
index 0000000000..3b6b153a71
--- /dev/null
+++ b/tools/ioemu/iodev/slowdown_timer.h
@@ -0,0 +1,33 @@
+/////////////////////////////////////////////////////////////////////////
+// $Id: slowdown_timer.h,v 1.8 2003/08/19 00:10:38 cbothamy Exp $
+/////////////////////////////////////////////////////////////////////////
+//
+
+class bx_slowdown_timer_c : public logfunctions {
+
+private:
+ struct {
+ Bit64u start_time;
+ Bit64u start_emulated_time;
+ Bit64u lasttime;
+
+ int timer_handle;
+
+ float MAXmultiplier;
+ Bit64u Q; // (Q (in seconds))
+ } s;
+
+public:
+ bx_slowdown_timer_c();
+
+ void init(void);
+ void reset(unsigned type);
+
+ static void timer_handler(void * this_ptr);
+
+ void handle_timer();
+
+};
+
+extern bx_slowdown_timer_c bx_slowdown_timer;
+