// cpu.h // // 20050125 Markku Alén #ifndef __CPU_H__ #define __CPU_H__ 1 extern unsigned int cycles; void init_cpu(int (*cpu_read)(int), void (*cpu_write)(int, int), int (*cpu_read_page)(int), void (*cpu_write_page)(int, int), void (*cpu_jam)(int, int)); extern void (*reset_cpu)(void); extern void (*raise_nmi)(void); extern void (*raise_irq)(void); extern void (*exec_cpu)(void); void set_c_flag(int enable); void set_z_flag(int enable); void set_pc(int addr); int get_pc(void); int get_a(void); int get_x(void); int get_y(void); typedef struct __trap { struct __trap *next_trap; int addr; int org[3]; int (*handler)(void); }trap_t; #define TRAP_INIT(ADDR, D1, D2, D3, HANDLER) { 0, ADDR, D1, D2, D3, HANDLER } void install_traps(int cnt, trap_t *tbl, void (*poke)(int, int), int (*peek)(int)); #endif