1 
2 // automatically generated by m4 from headers in proto subdir
3 
4 
5 #ifndef __CPU_H__
6 #define __CPU_H__
7 
8 // Z80
9 
10 #if __Z80 || __Z80N
11 
12 #include <z80.h>
13 
14 #define cpu_delay_ms       z80_delay_ms
15 #define cpu_delay_tstate   z80_delay_tstate
16 
17 #define cpu_get_int_state  z80_get_int_state
18 #define cpu_set_int_state  z80_set_int_state
19 
20 #define cpu_inp   z80_inp
21 #define cpu_outp  z80_outp
22 #define cpu_inir  z80_inir
23 #define cpu_indr  z80_indr
24 #define cpu_otir  z80_otir
25 #define cpu_otdr  z80_otdr
26 
27 #endif
28 
29 // Z180
30 
31 #if __Z180
32 
33 #include <z180.h>
34 
35 #define cpu_delay_ms       z180_delay_ms
36 #define cpu_delay_tstate   z180_delay_tstate
37 
38 #define cpu_get_int_state  z180_get_int_state
39 #define cpu_set_int_state  z180_set_int_state
40 
41 #define cpu_inp   z180_inp
42 #define cpu_outp  z180_outp
43 #define cpu_inir  z180_inir
44 #define cpu_indr  z180_indr
45 #define cpu_otir  z180_otir
46 #define cpu_otdr  z180_otdr
47 
48 #define cpu_otimr  z180_otimr
49 #define cpu_otdmr  z180_otdmr
50 
51 #endif
52 
53 // Across all CPUs
54 
55 #define cpu_bpoke(a,b)  (*(unsigned char *)(a) = b)
56 #define cpu_wpoke(a,b)  (*(unsigned int *)(a) = b)
57 #define cpu_lpoke(a,b)  (*(unsigned long *)(a) = b)
58 
59 #define cpu_bpeek(a)    (*(unsigned char *)(a))
60 #define cpu_wpeek(a)    (*(unsigned int *)(a))
61 #define cpu_lpeek(a)    (*(unsigned long *)(a))
62 
63 #ifdef __CLANG
64 
65 #define cpu_llpoke(a,b) (*(unsigned long long *)(a) = b)
66 #define cpu_llpeek(a)   (*(unsigned long long *)(a))
67 
68 #endif
69 
70 #ifdef __SDCC
71 
72 #define cpu_llpoke(a,b) (*(unsigned long long *)(a) = b)
73 #define cpu_llpeek(a)   (*(unsigned long long *)(a))
74 
75 #endif
76 
77 #endif
78