X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fevent.h;fp=src%2Fevent.h;h=35f84468240984c090f50ea230e2dea3878a3267;hb=d239de704f276a75d927900e3d413a44cc87116c;hp=0000000000000000000000000000000000000000;hpb=f3e5bb2807319c210d124d6150e019130c54867b;p=virtualjaguar diff --git a/src/event.h b/src/event.h new file mode 100644 index 0000000..35f8446 --- /dev/null +++ b/src/event.h @@ -0,0 +1,28 @@ +// +// EVENT.H: System timing support functionality +// +// by James L. Hammons +// + +#ifndef __EVENT_H__ +#define __EVENT_H__ + +#include "types.h" + +// Note that these are NTSC timings: + +#define RISC_CYCLE_IN_USEC 0.03760684198 +#define M68K_CYCLE_IN_USEC (RISC_CYCLE_IN_USEC * 2) +#define HORIZ_PERIOD_IN_USEC 63.5555 + +#define USEC_TO_RISC_CYCLES(u) (uint32)(((u) / RISC_CYCLE_IN_USEC) + 0.5) +#define USEC_TO_M68K_CYCLES(u) (uint32)(((u) / M68K_CYCLE_IN_USEC) + 0.5) + +void InitializeEventList(void); +void SetCallbackTime(void (* callback)(void), double time); +void RemoveCallback(void (* callback)(void)); +void AdjustCallbackTime(void (* callback)(void), double time); +double GetTimeToNextEvent(void); +void HandleNextEvent(void); + +#endif // __EVENT_H__