From a5d7e68af96d9b62821d8fd47f5039c5bae5d421 Mon Sep 17 00:00:00 2001 From: Reiner Herrmann Date: Fri, 10 Feb 2012 14:25:38 +0100 Subject: added original sam_player code --- c64/cpu.h | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 c64/cpu.h (limited to 'c64/cpu.h') diff --git a/c64/cpu.h b/c64/cpu.h new file mode 100644 index 0000000..4db4591 --- /dev/null +++ b/c64/cpu.h @@ -0,0 +1,38 @@ +// 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 -- cgit v1.2.3