Remove circular dependencies between libs, use callback function pointers instead
[mercenary-reloaded.git] / src / libcpu / execute.h
index e530829..2b84421 100644 (file)
@@ -1,7 +1,10 @@
 
-void execute_init(int32_t _memory_size, uint8_t *_memory, uint16_t *_chipreg);
+struct cpu_stop {
+       uint32_t        pc;
+       int             event;
+};
+
+void execute_init(int32_t _memory_size, uint8_t *_memory, uint16_t *_chipreg, uint16_t (*io_read)(uint32_t address), void (*io_write)(uint32_t address, uint16_t value));
 void reset_cpu(void);
-int execute_cpu(int irq, const uint32_t stop_at[]);
-uint16_t emulate_io_read(uint32_t address);
-void emulate_io_write(uint32_t address, uint16_t value);
+int execute_cpu(int irq, const struct cpu_stop stop_at[], int *event);