summaryrefslogtreecommitdiff
path: root/stm32/z80-if.h
diff options
context:
space:
mode:
Diffstat (limited to 'stm32/z80-if.h')
-rw-r--r--stm32/z80-if.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/stm32/z80-if.h b/stm32/z80-if.h
new file mode 100644
index 0000000..914ead5
--- /dev/null
+++ b/stm32/z80-if.h
@@ -0,0 +1,32 @@
+
+typedef enum {LOW, HIGH} level_t;
+
+//static void z80_setup_adrbus_tristate(void);
+//static void z80_setup_adrbus_active(void);
+//static void z80_setup_dbus_in(void);
+//static void z80_setup_dbus_out(void);
+//static void z80_setaddress(uint32_t addr);
+void z80_setup_bus(void);
+void z80_write(uint32_t addr, uint8_t data);
+uint8_t z80_read(uint32_t addr);
+void z80_get_bus(void);
+void z80_release_bus(void);
+void z80_memset(uint32_t addr, uint8_t data, int length);
+void z80_reset(level_t level);
+void z80_reset_pulse(void);
+void z80_busreq(level_t level);
+void z80_write_block(uint8_t *src, uint32_t dest, uint32_t length);
+int z80_stat_halt(void);
+
+#define rx_fifo 0x7c0f7
+#define tx_fifo 0x7c11a
+
+typedef enum {fifo_in, fifo_out} fifo_t;
+
+void z80_fifo_init(void);
+int z80_fifo_is_not_empty(fifo_t f);
+int z80_fifo_is_not_full(fifo_t f);
+uint8_t z80_fifo_getc(fifo_t f);
+void z80_fifo_putc(fifo_t f, uint8_t val);
+
+int z80_inbuf_getc(void);