]> Shamusworld >> Repos - apple2/blob - src/timing.h
Add support for .hdv hard drive images, new "Rob Color TV" palette.
[apple2] / src / timing.h
1 //
2 // TIMING.H: System timing support functionality
3 //
4 // by James L. Hammons
5 // (C) 2005 Underground Software
6 //
7
8 #ifndef __TIMING_H__
9 #define __TIMING_H__
10
11 #include <stdint.h>
12
13 // Note that these are NTSC timings:
14
15 //#define RISC_CYCLE_IN_USEC     0.03760684198
16 //#define M68K_CYCLE_IN_USEC     (RISC_CYCLE_IN_USEC * 2)
17 //#define HORIZ_PERIOD_IN_USEC   63.5555
18 #define M6502_CYCLE_IN_USEC      0.9765625
19
20 //#define USEC_TO_RISC_CYCLES(u) (uint32_t)(((u) / RISC_CYCLE_IN_USEC) + 0.5)
21 //#define USEC_TO_M68K_CYCLES(u) (uint32_t)(((u) / M68K_CYCLE_IN_USEC) + 0.5)
22 #define USEC_TO_M6502_CYCLES(u)  ((uint32_t)(((u) / M6502_CYCLE_IN_USEC) + 0.5))
23
24 void InitializeEventList(void);
25 void SetCallbackTime(void (* callback)(void), double time);
26 void RemoveCallback(void (* callback)(void));
27 void AdjustCallbackTime(void (* callback)(void), double time);
28 double GetTimeToNextEvent(void);
29 void HandleNextEvent(void);
30
31 #endif  // __TIMING_H__