2 // TIMING.H: System timing support functionality
5 // (C) 2005 Underground Software
11 // Even though it's driven at 4 MHz, internally it runs at 1/4 that speed
12 #define M6808_CLOCK_SPEED_IN_HZ (3579000.0 / 4.0)
13 #define M6809_CLOCK_SPEED_IN_HZ (1000000.0)
15 #define M6808_CYCLE_IN_USEC (1000000.0 / M6808_CLOCK_SPEEK_IN_HZ)
16 #define M6809_CYCLE_IN_USEC (1000000.0 / M6809_CLOCK_SPEED_IN_HZ)
18 #define USEC_TO_M6808_CYCLES(u) (uint32)(((u) / M6808_CYCLE_IN_USEC) + 0.5)
19 #define USEC_TO_M6809_CYCLES(u) (uint32)(((u) / M6809_CYCLE_IN_USEC) + 0.5)
21 void InitializeEventList(void);
22 void SetCallbackTime(void (* callback)(void), double time);
23 void RemoveCallback(void (* callback)(void));
24 void AdjustCallbackTime(void (* callback)(void), double time);
25 double GetTimeToNextEvent(void);
26 void HandleNextEvent(void);
28 #endif // __TIMING_H__