#include MUSASHI_CNF
#else
#include "m68kconf.h"
+
#endif
/* ======================================================================== */
#define M68K_IRQ_6 6
#define M68K_IRQ_7 7
+#define M68K_SZ_LONG 0
+#define M68K_SZ_BYTE 1
+#define M68K_SZ_WORD 2
+
/* Special interrupt acknowledge values.
* Use these as special returns from the interrupt acknowledge callback
*/
#define M68K_INT_ACK_SPURIOUS 0xfffffffe
+struct m68ki_cpu_core;
/* CPU types for use in m68k_set_cpu_type() */
enum
* USER mode, but it is also slower.
*/
+#define m68k_read_disassembler_8 m68k_read_memory_8
+#define m68k_read_disassembler_16 m68k_read_memory_16
+#define m68k_read_disassembler_32 m68k_read_memory_32
+
/* Read from anywhere */
unsigned int m68k_read_memory_8(unsigned int address);
unsigned int m68k_read_memory_16(unsigned int address);
void m68k_write_memory_16(unsigned int address, unsigned int value);
void m68k_write_memory_32(unsigned int address, unsigned int value);
+/* PiStorm speed hax */
+void m68k_add_ram_range(uint32_t addr, uint32_t upper, unsigned char *ptr);
+void m68k_add_rom_range(uint32_t addr, uint32_t upper, unsigned char *ptr);
+void m68k_clear_ranges();
+
/* Special call to simulate undocumented 68k behavior when move.l with a
* predecrement destination mode is executed.
* To simulate real 68k behavior, first write the high word to
*/
void m68k_write_memory_32_pd(unsigned int address, unsigned int value);
-
-
/* ======================================================================== */
/* ============================== CALLBACKS =============================== */
/* ======================================================================== */
* the CPU for the first time, the CPU will be set to
* M68K_CPU_TYPE_68000.
*/
-void m68k_pulse_reset(void);
+void m68k_pulse_reset(struct m68ki_cpu_core *state);
/* execute num_cycles worth of instructions. returns number of cycles used */
-int m68k_execute(int num_cycles);
+int m68k_execute(struct m68ki_cpu_core *state, int num_cycles);
/* These functions let you read/write/modify the number of cycles left to run
* while m68k_execute() is running.