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