summaryrefslogtreecommitdiff
path: root/avr/z80-if.h
diff options
context:
space:
mode:
authorLeo C2014-08-18 23:40:36 +0200
committerLeo C2014-08-18 23:40:36 +0200
commitf338df2abc35f85961aa6266458f94ea2a102b81 (patch)
tree2f608280c2368cda835b6de19fa0ff8f6c85dfd7 /avr/z80-if.h
parent1da3acc4b7215e76d459905c3e74675ffa679ce0 (diff)
downloadz180-stamp-f338df2abc35f85961aa6266458f94ea2a102b81.zip
Command 'go <startaddr>' works now
Add debug command to display AVR RAM
Diffstat (limited to 'avr/z80-if.h')
-rw-r--r--avr/z80-if.h27
1 files changed, 21 insertions, 6 deletions
diff --git a/avr/z80-if.h b/avr/z80-if.h
index a2617ce..b656447 100644
--- a/avr/z80-if.h
+++ b/avr/z80-if.h
@@ -1,20 +1,35 @@
+#define ZST_ACQUIRED 0x01
+#define ZST_RUNNING 0x02
+
+typedef enum {
+ RESET = 0x00,
+ RESET_AQRD = ZST_ACQUIRED,
+ RUN = ZST_RUNNING,
+ RUN_AQRD = ZST_RUNNING | ZST_ACQUIRED,
+} zstate_t;
+
typedef enum {LOW, HIGH} level_t;
+zstate_t z80_runstate(void);
void z80_setup_bus(void);
-void z80_write(uint32_t addr, uint8_t data);
-uint8_t z80_read(uint32_t addr);
void z80_request_bus(void);
void z80_release_bus(void);
-void z80_memset(uint32_t addr, uint8_t data, uint32_t length);
-void z80_reset(level_t level);
+zstate_t z80_request_bus_save(void);
+void z80_release_bus_save(zstate_t prev);
+void z80_reset(void);
void z80_reset_pulse(void);
+void z80_run(void);
int z80_stat_reset(void);
-int z80_runstate(void);
//void z80_busreq(level_t level);
-void z80_write_block(const FLASH uint8_t *src, uint32_t dest, uint32_t length);
+void z80_busreq_hpulse(void);
int z80_stat_halt(void);
+void z80_write(uint32_t addr, uint8_t data);
+uint8_t z80_read(uint32_t addr);
+void z80_memset(uint32_t addr, uint8_t data, uint32_t length);
+void z80_write_block(const FLASH uint8_t *src, uint32_t dest, uint32_t length);
+
typedef enum fifo_t {fifo_in, fifo_out, NUM_FIFOS} fifo_t;