X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fevent.h;h=533783cb7b8cc4a9d9bd2f305c430ab9fd36e9d9;hb=f005034d4a3990efc8e445ce46222ce32600411b;hp=35f84468240984c090f50ea230e2dea3878a3267;hpb=d239de704f276a75d927900e3d413a44cc87116c;p=virtualjaguar diff --git a/src/event.h b/src/event.h index 35f8446..533783c 100644 --- a/src/event.h +++ b/src/event.h @@ -1,28 +1,32 @@ // // EVENT.H: System timing support functionality // -// by James L. Hammons +// by James Hammons // #ifndef __EVENT_H__ #define __EVENT_H__ -#include "types.h" +enum { EVENT_MAIN, EVENT_JERRY }; -// Note that these are NTSC timings: +//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 RISC_CYCLE_IN_USEC 0.03760684198 -#define M68K_CYCLE_IN_USEC (RISC_CYCLE_IN_USEC * 2) -#define HORIZ_PERIOD_IN_USEC 63.5555 +#define HORIZ_PERIOD_IN_USEC_NTSC 63.555555555 +#define HORIZ_PERIOD_IN_USEC_PAL 64.0 -#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) +#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 SetCallbackTime(void (* callback)(void), double time, int type = EVENT_MAIN); void RemoveCallback(void (* callback)(void)); void AdjustCallbackTime(void (* callback)(void), double time); -double GetTimeToNextEvent(void); -void HandleNextEvent(void); +double GetTimeToNextEvent(int type = EVENT_MAIN); +void HandleNextEvent(int type = EVENT_MAIN); #endif // __EVENT_H__