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

FreeBSD Manual Pages

  
 
  

home | help
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		  01 Oct 2006			 Z80-MEMORY(3)

NAME | SYNOPSIS | DESCRIPTION | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=z80-memory&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help