2 // TIMING.H: System timing support functionality
5 // (C) 2005 Underground Software
13 // Note that these are NTSC timings:
15 //#define RISC_CYCLE_IN_USEC 0.03760684198
16 //#define M68K_CYCLE_IN_USEC (RISC_CYCLE_IN_USEC * 2)
17 //#define HORIZ_PERIOD_IN_USEC 63.5555
18 //#define M6502_CYCLE_IN_USEC 0.9765625
19 #define M6808_CYCLE_IN_USEC 0.9765625
20 #define M6809_CYCLE_IN_USEC 1.0
22 //#define USEC_TO_RISC_CYCLES(u) (uint32)(((u) / RISC_CYCLE_IN_USEC) + 0.5)
23 //#define USEC_TO_M68K_CYCLES(u) (uint32)(((u) / M68K_CYCLE_IN_USEC) + 0.5)
24 //#define USEC_TO_M6502_CYCLES(u) (uint32)(((u) / M6502_CYCLE_IN_USEC) + 0.5)
25 #define USEC_TO_M6808_CYCLES(u) (uint32)(((u) / M6808_CYCLE_IN_USEC) + 0.5)
26 #define USEC_TO_M6809_CYCLES(u) (uint32)(((u) / M6809_CYCLE_IN_USEC) + 0.5)
28 void InitializeEventList(void);
29 void SetCallbackTime(void (* callback)(void), double time);
30 void RemoveCallback(void (* callback)(void));
31 void AdjustCallbackTime(void (* callback)(void), double time);
32 double GetTimeToNextEvent(void);
33 void HandleNextEvent(void);
35 #endif // __TIMING_H__