FreeBSD Manual Pages
Z80-MEMORY(3) Memory access Z80-MEMORY(3) NAME init_banks(), reset_banks(), bank_port(), switch_bank(), clear_mem- ory(), memory_at(), read_addr(), read_memo(), write_memo(), write_to_memory(), dma_write(), dma_read() - total memory access SYNOPSIS #include <stdio.h> int init_banks(char *rom_path, char *bank_mapping_descr); void reset_banks(void); unsigned bank_port(unsigned char id); void switch_bank(unsigned char id, unsigned i); void clear_memory(void); unsigned char memory_at(unsigned short index); unsigned char * io_address; unsigned char read_addr(unsigned short index); unsigned char read_memo(unsigned short index); void write_memo(unsigned short index, unsigned char data); unsigned char write_to_memory(unsigend short index, unsigned char data); unsigned dma_write(unsigned short offset, unsigned count, FILE *from); unsigned dma_read(unsigned short offset, unsigned count, FILE *to); DESCRIPTION These functions provide all memory access and also read data from ex- ternal hardware. init_banks initializes the bank handling and reads the bank contents from the directory *rom_path with the file *bank_mapping_descr con- taining the bank mapping description. It returns the number of usable bank entries in the description file. reset_banks does a reset to the banks meaning going to the default initial- ization. bank_port can be used to test a port whether it is reserved for bank switching. If this is the case it returns the positive bank port no else 0. switch_bank switches the bank id into memory at the position defined by bank port no i. clear_memory sets these parts of the 64kB RAM to 0 which are writeable. memory_at returns the byte value at position index in the memory. Can not be used by the decoding or execution unit of the CPU because it by-passes the CPU. io_address holds the location of an external supplied byte by the hardware. read_addr returns the byte value correspoing to the address index. This may be an IO-address in which case io_address is just to locate the byte. read_memo returns the byte value correspoing to the address index from memory. write_memo writes the byte value data into memory at address index provided this address is writeable. write_to_memory writes the byte value data to address index provided this ad- dress is writeable. It returns the previous value at the ad- dress. This function can not be used by the execution unit be- cause it by-passes the CPU. It is demanded from compile(void) which is called from z80-mon. dma_write transfers into memory starting at address offset count many bytes directly from file from by passing the CPU. dma_read transfers from memory address offset count many bytes directly into file to by passing the CPU. SEE ALSO z80-memory(5), z80-banks(5) Z80-MEMORY Version 2.4 18 Apr 2018 Z80-MEMORY(3)
NAME | SYNOPSIS | DESCRIPTION | SEE ALSO
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=z80-memory&sektion=3&manpath=FreeBSD+Ports+15.0>
