]> cloudbase.mooo.com Git - z180-stamp.git/blobdiff - include/z80-if.h
rewrite of cmd_cpu/do_cpu_freq
[z180-stamp.git] / include / z80-if.h
index 6f6f6fadf77338bd6a3b4838d52d60200f1dd057..c83c7de0d106eb0eb856550b4d06d1015867d20f 100644 (file)
@@ -1,3 +1,9 @@
+/*
+ * (C) Copyright 2014 Leo C. <erbl259-lmu@yahoo.de>
+ *
+ * SPDX-License-Identifier:    GPL-2.0
+ */
+#include "common.h"
 
 #define ZST_ACQUIRED   0x01
 #define ZST_RUNNING    0x02
 
 #define ZST_ACQUIRED   0x01
 #define ZST_RUNNING    0x02
@@ -20,28 +26,42 @@ typedef enum {
 
 typedef enum {LOW, HIGH} level_t;
 
 
 typedef enum {LOW, HIGH} level_t;
 
+
+void z80_bus_request_or_exit(void);
+
+uint32_t z80_get_busreq_cycles(void);
 zstate_t z80_bus_state(void);
 zstate_t z80_bus_cmd(bus_cmd_t cmd);
 void z80_setup_bus(void);
 int z80_stat_reset(void);
 zstate_t z80_bus_state(void);
 zstate_t z80_bus_cmd(bus_cmd_t cmd);
 void z80_setup_bus(void);
 int z80_stat_reset(void);
-//void z80_busreq(level_t level);
 int z80_stat_halt(void);
 int z80_stat_halt(void);
+void z80_toggle_reset(void);
+void z80_toggle_busreq(void);
 
 
 
 
+int32_t z80_memsize_detect(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(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);
+void z80_write_block_P(const FLASH uint8_t *src, uint32_t dest, uint32_t length);
+void z80_write_block(const uint8_t *src, uint32_t dest, uint32_t length);
+void z80_read_block (uint8_t *dest, uint32_t src, size_t length);
 
 
 
 
-typedef enum fifo_t {fifo_in, fifo_out, NUM_FIFOS} fifo_t;
+typedef enum fifo_t {
+               fifo_msgin, fifo_msgout,
+               fifo_conin, fifo_conout,
+               NUM_FIFOS
+       } fifo_t;
 
 void z80_memfifo_init(const fifo_t f, uint32_t adr);
 int z80_memfifo_is_empty(const fifo_t f);
 int z80_memfifo_is_full(const fifo_t f);
 
 void z80_memfifo_init(const fifo_t f, uint32_t adr);
 int z80_memfifo_is_empty(const fifo_t f);
 int z80_memfifo_is_full(const fifo_t f);
-uint8_t z80_memfifo_getc(const fifo_t f);
+int z80_memfifo_getc(const fifo_t f);
+uint8_t z80_memfifo_getc_wait(const fifo_t f);
 void z80_memfifo_putc(fifo_t f, uint8_t val);
 
 void z80_memfifo_putc(fifo_t f, uint8_t val);
 
-void z80_setup_msg_fifo(void);
-void z80_init_msg_fifo(uint32_t addr);
-int z80_msg_fifo_getc(void);
+void z80_load_mem(int_fast8_t verbosity, const FLASH unsigned char data[],
+                                                                                const FLASH unsigned long *sections,
+                                                                                const FLASH unsigned long address[],
+                                                                                const FLASH unsigned long length_of_sections[]);