Upgrade of A project to upgrade a CPC6128 to 512K RAM (total), done by replacing the CPC 6128CPC6128's internal RAM to 512 KiB as proposed in chips, and its PAL banking chip, the article '''Aus David wird Goliath: 512 KB RAM für Schneider CPC''' project was released 1987 in issue 10/1987, pages 156 to 162 of the German german IT magazine '''c't'''. The DIY project name is '''CPC 6512'''. The mod requires to remove (or disable) the sixteen RAM chips on the CPC6128 mainboard, and to replace them by bigger chips, plus whatever additional bank selection logic. One issue later, c't 11/1987, the magazine published a driver which creates a RAM disk within the additional memory. This RAM disk can be used under CP/M Plus.
== Technical ==
One half (256K) of the total (512K) expansion memory can be accessed as Video RAM (with normal expansions, only 64 KB are accessible as VRAM). This is making the expansion slightly incompatible with the dk'tronics standard. However, usually expansion memory is mapped to 4000h-7FFFh, whilst VRAM is usually mapped to C000h-FFFFh. So, most existing software may work with it, without accidently displaying garbage on the screen.
== Installation Guide The Circuit == === Components === 16x 41256 (256Kx1 DRAM) ;replacing the CPC6128's 16 built-in 64Kx1 DRAMs 1x PAL 16L8 ;replacing the CPC6128's built-in PAL 1x 74LS38 ;Quad 2-input NAND, OC 1x 74LS273 ;8bit latch, of which only 5bit are used here 1x 2200 Ohm resistor ;pull-up for OC output 1x 470 Ohm resistor ;pull-up for OC output 1x 47 Ohm resistor ;purpose unknown (noise related? shortcut protection?)
* '''DRAM Replacement''' - Replace the sixteen old 64Kx1 DRAM chips (IC119-IC134) by new 256Kx1 DRAMs. The chips have same pinouts, only pin 1 is changed (old: NC, new: A8 row:column address signal). Optionally, replace only bank 0 (IC127-IC134) for getting only 320K (256K+64K) instead of 512K total (2x256K).
File:CPC6512 ct magazin pcb.jpg|PCB
</gallery>
'''Component List'''
16x 41256 (256Kx1 DRAM) ;replacing the CPC6128's 16 built-in 64Kx1 DRAMs
1x PAL 16L8 ;replacing the CPC6128's built-in PAL
1x 74LS38 ;Quad 2-input NAND, OC
1x 74LS273 ;8bit latch, of which only 5bit are used here
1x 2200 Ohm resistor ;pull-up for OC output
1x 470 Ohm resistor ;pull-up for OC output
1x 47 Ohm resistor ;purpose unknown (noise related? shortcut protection?)
== Compatibility Problems ==
* [[Media:CPC6512 ct magazin part 1.pdf]] - c't issue 10/1987 - RAM Expansion Schematic
* [[Media:CPC6512 ct magazin part 2.pdf]] - c't issue 11/1987 - RAM Disc driver for CP/M Plus
Original names of the articles are: '''Aus David wird Goliath: 512 KB RAM für Schneider CPC''' (part 1), and '''Byte-Hirte: RAM-Disk-Treiber für des CPCs 512 Kbyte''' (part 2). Both articles are written by Gabor Herr and Hubert Schröer.
== Related hardware modifications ==
* [http://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)