BizHawk/waterbox/virtualjaguar/src/event.h

30 lines
917 B
C

//
// EVENT.H: System timing support functionality
//
// by James Hammons
//
#ifndef __EVENT_H__
#define __EVENT_H__
//NTSC Timings...
#define RISC_CYCLE_IN_USEC 0.03760684198
#define M68K_CYCLE_IN_USEC (RISC_CYCLE_IN_USEC * 2)
//PAL Timings
#define RISC_CYCLE_PAL_IN_USEC 0.03760260812
#define M68K_CYCLE_PAL_IN_USEC (RISC_CYCLE_PAL_IN_USEC * 2)
#define HORIZ_PERIOD_IN_USEC_NTSC 63.555555555
#define HORIZ_PERIOD_IN_USEC_PAL 64.0
#define USEC_TO_RISC_CYCLES(u) (uint32_t)(((u) / (vjs.hardwareTypeNTSC ? RISC_CYCLE_IN_USEC : RISC_CYCLE_PAL_IN_USEC)) + 0.5)
#define USEC_TO_M68K_CYCLES(u) (uint32_t)(((u) / (vjs.hardwareTypeNTSC ? M68K_CYCLE_IN_USEC : M68K_CYCLE_PAL_IN_USEC)) + 0.5)
void InitializeEventList(void);
void SetCallbackTime(void (* callback)(void), double time);
void RemoveCallback(void (* callback)(void));
double GetTimeToNextEvent(void);
void HandleNextEvent(void);
#endif // __EVENT_H__