Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
Z80-MEMORY(3)			  Memory access 		   Z80-MEMORY(3)

NAME
     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

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 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 en-
	    tries in the description file.

     reset_banks
	    does a reset to the banks meaning going to the  default  initializa-
	    tion.

     bank_port
	    can  be  used to test a port whether it is reserved for bank switch-
	    ing.  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 func-
	    tion 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.

SEE ALSO
     z80-memory(5), z80-banks(5)

Z80-MEMORY Version 2.4		   18 Apr 2018			   Z80-MEMORY(3)

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.1.quarterly>

home | help