]> cloudbase.mooo.com Git - z180-stamp.git/blame - include/z80-if.h
Merge branch 'master' into hostcomm_avr
[z180-stamp.git] / include / z80-if.h
CommitLineData
0c5890bb 1
f338df2a
L
2#define ZST_ACQUIRED 0x01
3#define ZST_RUNNING 0x02
4
6035a17b 5typedef enum {
f338df2a
L
6 RESET = 0x00,
7 RESET_AQRD = ZST_ACQUIRED,
62f624d3
L
8 RUNNING = ZST_RUNNING,
9 RUNNING_AQRD = ZST_RUNNING | ZST_ACQUIRED,
f338df2a
L
10} zstate_t;
11
6035a17b 12typedef enum {
62f624d3
L
13 Reset,
14 Request,
15 Release,
16 Run,
17 Restart,
18 M_Cycle
19} bus_cmd_t;
20
0c5890bb
L
21typedef enum {LOW, HIGH} level_t;
22
62f624d3
L
23zstate_t z80_bus_state(void);
24zstate_t z80_bus_cmd(bus_cmd_t cmd);
0c5890bb 25void z80_setup_bus(void);
534e1dfc 26int z80_stat_reset(void);
72f58822 27//void z80_busreq(level_t level);
0c5890bb 28int z80_stat_halt(void);
6035a17b 29
0c5890bb 30
f338df2a
L
31void z80_write(uint32_t addr, uint8_t data);
32uint8_t z80_read(uint32_t addr);
33void z80_memset(uint32_t addr, uint8_t data, uint32_t length);
34void z80_write_block(const FLASH uint8_t *src, uint32_t dest, uint32_t length);
35
0c5890bb
L
36
37typedef enum fifo_t {fifo_in, fifo_out, NUM_FIFOS} fifo_t;
38
39void z80_memfifo_init(const fifo_t f, uint32_t adr);
40int z80_memfifo_is_empty(const fifo_t f);
41int z80_memfifo_is_full(const fifo_t f);
42uint8_t z80_memfifo_getc(const fifo_t f);
43void z80_memfifo_putc(fifo_t f, uint8_t val);
44
45void z80_setup_msg_fifo(void);
46void z80_init_msg_fifo(uint32_t addr);
47int z80_msg_fifo_getc(void);