OSDN Git Service

joypad lib done
[motonesemu/motonesemu.git] / emulator / clock.h
1 #ifndef __clock_h__
2 #define __clock_h__
3
4 typedef int (clock_func_t) (void);
5
6 int init_clock(void);
7 void clean_clock(void);
8
9 int register_clock_hander(clock_func_t *handler, int devide);
10 int unregister_clock_hander(clock_func_t *handler);
11
12 int start_clock(void);
13 int pause_cpu_clock(void);
14 int start_cpu_clock(void);
15
16 /*int register_timer(unsigned long int_sec, unsigned long int_nanosec, 
17         __sighandler_t func, int signum, timer_t *timerid);*/
18
19 #define DEB_SLOW
20 #undef DEB_SLOW
21
22
23 #define BASE_CLOCK      21477270L
24 #if 0
25 #define CPU_DEVIDER     12
26 #define PPU_DEVIDER     4
27 #else
28 #define CPU_DEVIDER     3
29 #define PPU_DEVIDER     1 
30 #endif
31
32 #define CPU_CLOCK_FREQ  (BASE_CLOCK / CPU_DEVIDER)
33 #define PPU_CLOCK_FREQ  (BASE_CLOCK / PPU_DEVIDER)
34
35 #define BASE_CLOCK_NSEC  (1000000000L / BASE_CLOCK)
36
37
38 #endif /*__clock_h__*/
39