/* * (C) Copyright 2014 Leo C. * * SPDX-License-Identifier: GPL-2.0+ */ 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_request_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); typedef enum fifo_t {fifo_in, fifo_out, 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); 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);