GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Z80-MEMORY(3) Memory access Z80-MEMORY(3)

init_banks(), reset_banks(), bank_port(), switch_bank(), clear_memory(), memory_at(), read_addr(), read_memo(), write_memo(), write_to_memory(), dma_write(), dma_read() - total memory access

#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);

These functions provide all memory access and also read data from external hardware.
init_banks
initializes the bank handling and reads the bank contents from the directory *rom_path with the file *bank_mapping_descr containing 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 initialization.
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 address is writeable. It returns the previous value at the address. This function can not be used by the execution unit because 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.

z80-memory(5), z80-banks(5)
01 Oct 2006 Z80-MEMORY Version 2.4

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.