]> Shamusworld >> Repos - virtualjaguar/blob - src/event.h
35f84468240984c090f50ea230e2dea3878a3267
[virtualjaguar] / src / event.h
1 //
2 // EVENT.H: System timing support functionality
3 //
4 // by James L. Hammons
5 //
6
7 #ifndef __EVENT_H__
8 #define __EVENT_H__
9
10 #include "types.h"
11
12 // Note that these are NTSC timings:
13
14 #define RISC_CYCLE_IN_USEC     0.03760684198
15 #define M68K_CYCLE_IN_USEC     (RISC_CYCLE_IN_USEC * 2)
16 #define HORIZ_PERIOD_IN_USEC   63.5555
17
18 #define USEC_TO_RISC_CYCLES(u) (uint32)(((u) / RISC_CYCLE_IN_USEC) + 0.5)
19 #define USEC_TO_M68K_CYCLES(u) (uint32)(((u) / M68K_CYCLE_IN_USEC) + 0.5)
20
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);
27
28 #endif  // __EVENT_H__