]> cloudbase.mooo.com Git - z180-stamp.git/blobdiff - avr/z80-if.h
Command 'go <startaddr>' works now
[z180-stamp.git] / avr / z80-if.h
index a2617ce94a0151508670a7e5f7f8551de45f6e81..b656447fa2e36dcdbf71a8970b37cc179cbd918e 100644 (file)
@@ -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;