X-Git-Url: http://cloudbase.mooo.com/gitweb/z180-stamp.git/blobdiff_plain/21a24f90c5aaaaf13f91716208b32cde163c5918..6204987c3539b71856b4456f218511530af12c6f:/include/z80-if.h diff --git a/include/z80-if.h b/include/z80-if.h index b02fe23..d4ee57b 100644 --- a/include/z80-if.h +++ b/include/z80-if.h @@ -2,14 +2,14 @@ #define ZST_ACQUIRED 0x01 #define ZST_RUNNING 0x02 -typedef enum { +typedef enum { RESET = 0x00, RESET_AQRD = ZST_ACQUIRED, RUNNING = ZST_RUNNING, RUNNING_AQRD = ZST_RUNNING | ZST_ACQUIRED, } zstate_t; -typedef enum { +typedef enum { Reset, Request, Release, @@ -27,20 +27,24 @@ int z80_stat_reset(void); //void z80_busreq(level_t level); 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); +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_conout, fifo_conin, + 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); -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_setup_msg_fifo(void); -void z80_init_msg_fifo(uint32_t addr); -int z80_msg_fifo_getc(void);