summaryrefslogtreecommitdiff
path: root/stm32/z80-if.h
blob: 914ead5f0252352e37c9077bcc817c3d71684aca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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);