Changes

Gate Array

1,090 bytes added, 20:53, 16 March 2010
/* Register 3 - RAM Banking */
This register exists only in CPCs with 128K RAM (like the CPC 6128, or CPCs with [[Standard Memory Expansions]]). Note: In the CPC 6128, the register is a separate PAL that assists the Gate Array chip.
Details .... {|{{Prettytable|width: 700px; font-size: 2em;}}|-| ''Bit'' || ''Value'' || ''Function''|-| 7 || 1 || rowspan="2" | Gate Array function 3|-| 6 || 1 |-| 5 || - || rowspan="3" |not used (or 64K bank for [?[Standard Memory Expansions]])|-| 4 || x|-| 3 || x|-| 2 || x || rowspan="3" | RAM Config (0..7)|-| 1 || x|-| 0 || x|}
 
The 3bit RAM Config value is used to access the total of 128K RAM (RAM Banks 0-7) that is built into the CPC 6128. Normally the register is set to 0, so that only the first 64K RAM are used (identical to the CPC 464 and 664 models). The register can be used to select between the following eight predefined configurations only:
 
-Address- 0 1 2 3 4 5 6 7
0000-3FFF RAM_0 RAM_0 RAM_4 RAM_0 RAM_0 RAM_0 RAM_0 RAM_0
4000-7FFF RAM_1 RAM_1 RAM_5 RAM_3 RAM_4 RAM_5 RAM_6 RAM_7
8000-BFFF RAM_2 RAM_2 RAM_6 RAM_2 RAM_2 RAM_2 RAM_2 RAM_2
C000-FFFF RAM_3 RAM_7 RAM_7 RAM_7 RAM_3 RAM_3 RAM_3 RAM_3
 
The Video RAM is always located in the first 64K, VRAM is in no way affected by this register.
== Programming the Gate Array - Examples ==
6,388
edits