Changes

Jump to: navigation, search

C't 512 KB internal RAM expansion

4 bytes removed, 14:10, 19 July 2023
[[Category:DIY]] [[Category:Memory expansions]]
A project to upgrade a CPC6128 to 512K RAM (total), done by replacing the CPC6128's RAM chips, and its PAL banking chip, the project was released 1987 in german magazine ''c't Magazin''.
* RAMDIS is not supported, not a problem in most cases, but won't work with some special types of expansion hardware, like [[Multiface II]].
* The bank selection for CPU address 4000h..7FFFh does also affect bank bits0-1 for VRAM at 4000h..7FFFh; thus the CRTC may see bank 0-3 in that region (whilst, as far as known, on a normal CPC, it should always see bank 1 in that region).
** '''Notice''' the included sample program '''does''' seem to map VRAM to 4000h, whilst mapping expansion banks to 4000h at the same time. Theoretically, this should result in display glitches - unknown if/how/why the sample works [?]
* The expansion seems to have been designed independently of [[Standard Memory Expansions]] like the dk'tronics one. So, there is no (intended) compatibility. However, both c't and dk'tronics are designed around the CPC6128 banking mechanism, so they do work similar in some ways. Namely, both can map expansion banks to 4000h..7FFFh, but there are several differences:
** For the mapping to 4000h..7FFFh, dk'tronics uses values CCh..CFh, D4h..C7h, DCh..DFh, ... FCh..FFh whilst c't uses values C8h..DFh. Some of these values do overlap, providing resulting in some (unintended) semi-compatibility, but there's still one big difference: along with the above values, dk'tronics maps bank 3 to C000h..FFFFh, whilst c't maps bank 7 to that region.
== Memory Configurations ==
IF (GND) /IOWR=/IOWR ;dummy (do not output anything on this pin)
 
'''Note:''' For VRAM access, bank bits 2,3,4 are forced to zero (by above formulas), bank bit 0,1 are coming from the CRTC, passed directly to IC109 (without going through the PAL), so, the RAM banking affects only the CPU's memory accesses, not the CRTC's video memory accesses.
Some notes on the syntax:
== Related hardware modifications ==
* [http[CPC_6320_/_CPC_6512_-_internal_320K_/_512K_for_CPC_6128|CPC 6320 / CPC 6512 (by eto) - similar logic, but fully standards compatible]]* [https://cpcwiki.eu/forum/index.php/topic,662.msg7113.html#msg7113 Bank Swapper by Khany/Cherry-T] (less complex: bank-exchanging toggle, no memory expansion; 1993)
* [[CPC4MB| CPC4MB memory upgrade by Yarek]] (more advanced; 2005/2006)
145
edits