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

  
 
  

home | help
Z80-BANKS(5)		       Bank layout format		    Z80-BANKS(5)

NAME
     description of file format used by z80-mon for bank layout

DESCRIPTION
     The  file	compounds of lines each is either a comment line or a bank- or a
     page description. A comment line starts with a # and may appear anywhere in
     the file.	A line containing a bank description consists of the following 4
     entries: access_type bank_id log2_size bank_name.	A line containing a page
     description consists of these 4 entries: either offset or bank_id	followed
     by port_no mask and a non empty list of bank_ids.

     All bank description lines must preceed the page description lines and must
     be  ordered ascending by their unique bank_id.  The following page descrip-
     tion lines are ordered ascending by their first item which is typically  an
     offset  or  in the case of a virtuel bank a bank_id. If lines have the same
     first entry then they must be ordered ascending by their port_id with - re-
     garded less than any other port_id. And in the case even their  second  en-
     tries equals each other, then these lines will be ordered by their mask.  A
     list  of  bank_ids is an ascending sequence of bank_ids separated only by ,
     (comma), not any whitespace.

     access_type
	is the type of the bank. Only the four types + for
	read/write memory, r for read only memory, w for write
	only memory and - for a virtuel bank are valid.

     bank_id
	is a 2 digit hexadecimal byte value.

     log2_size
	gives the size of the bank in bytes as its log2-value.
	Currently only banks whose log2_size equals 14 (16 kB)
	or 12 (4 kB) are supported. Due to hardware complexity
	all banks must have currently the same size!

     bank_name
	must either indicate a readable file which contains the
	machine code for the bank or the special value - (minus)
	which indicates either undefined storage, typically RAM,
	or in the case of a virtuel bank no file name. If the corres-
	sponding file is smaller than the bank size the remaining
	bytes at the end of the bank will be undefined. If the file
	size is larger than the bank size only the first bytes in
	the file will be used.

     offset
	is a 4 digit hexadecimal value telling the hardware the
	start address the bank to be mapped on. Furthermore
	each offset must be a multiple of 1<<log2_size of the
	bank size it can be mapped to.

     port_no
	is a decimal or hexadecimal number of value < 256 or
	the character - (minus). In the second case the
	following mask must be 0.

     mask
	is a 2 digit hexadecimal byte value which covers the relevant
	part of value send to the corresponding port. The port_no
	together with the given mask must have a unique offset
	respectively bank_id.

     Each used bank_id in a page description must be defined in a previous  bank
     description.   Summarizing, this file describes how the banks are mapped to
     memory or other (virtuel) banks.  If a byte value is put to  a  port  which
     has  a  corresponding page description then a mapping occurs if the bank_id
     matches the value and-ed with the mask of the  port.   Therefore  page  de-
     scription lines with the same port_no should have different bank_id s for a
     unique  mapping.  The  default bank_id of a page is the one with the lowest
     bank_id. This is selected at hardware initialisation and after a  bank  re-
     set.

SEE ALSO
     z80-memory(5)

Z80-BANKS Version 2.4		   18 Apr 2018			    Z80-BANKS(5)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=z80-banks&sektion=5&manpath=FreeBSD+Ports+15.1.quarterly>

home | help