]>
cloudbase.mooo.com Git - z180-stamp.git/blob - include/z80-if.h
2 * (C) Copyright 2014 Leo C. <erbl259-lmu@yahoo.de>
4 * SPDX-License-Identifier: GPL-2.0
8 #define ZST_ACQUIRED 0x01
9 #define ZST_RUNNING 0x02
13 RESET_AQRD
= ZST_ACQUIRED
,
14 RUNNING
= ZST_RUNNING
,
15 RUNNING_AQRD
= ZST_RUNNING
| ZST_ACQUIRED
,
27 typedef enum {LOW
, HIGH
} level_t
;
30 void z80_bus_request_or_exit(void);
32 uint32_t z80_get_busreq_cycles(void);
33 zstate_t
z80_bus_state(void);
34 zstate_t
z80_bus_cmd(bus_cmd_t cmd
);
35 void z80_setup_bus(void);
36 int z80_stat_reset(void);
37 int z80_stat_halt(void);
38 void z80_toggle_reset(void);
39 void z80_toggle_busreq(void);
40 uint32_t z80_measure_phi(uint_fast8_t cycles
);
43 int32_t z80_memsize_detect(void);
44 void z80_write(uint32_t addr
, uint8_t data
);
45 uint8_t z80_read(uint32_t addr
);
46 void z80_memset(uint32_t addr
, uint8_t data
, uint32_t length
);
47 void z80_write_block_P(const FLASH
uint8_t *src
, uint32_t dest
, uint32_t length
);
48 void z80_write_block(const uint8_t *src
, uint32_t dest
, uint32_t length
);
49 void z80_read_block (uint8_t *dest
, uint32_t src
, size_t length
);
53 fifo_msgin
, fifo_msgout
,
54 fifo_conin
, fifo_conout
,
58 void z80_memfifo_init(const fifo_t f
, uint32_t adr
);
59 int z80_memfifo_is_empty(const fifo_t f
);
60 int z80_memfifo_is_full(const fifo_t f
);
61 int z80_memfifo_getc(const fifo_t f
);
62 uint8_t z80_memfifo_getc_wait(const fifo_t f
);
63 void z80_memfifo_putc(fifo_t f
, uint8_t val
);
65 void z80_load_mem(int_fast8_t verbosity
, const FLASH
unsigned char data
[],
66 const FLASH
unsigned long *sections
,
67 const FLASH
unsigned long address
[],
68 const FLASH
unsigned long length_of_sections
[]);