Difference between revisions of "C't 512 KB internal RAM expansion"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
(Components)
Line 1: Line 1:
 
Upgrade of the CPC 6128's internal RAM to 512 KiB as proposed in the article '''Aus David wird Goliath: 512 KB RAM für Schneider CPC''' in issue 10/1987, pages 156 to 162 of the 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.
 
Upgrade of the CPC 6128's internal RAM to 512 KiB as proposed in the article '''Aus David wird Goliath: 512 KB RAM für Schneider CPC''' in issue 10/1987, pages 156 to 162 of the 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 in [[AMSDOS]].  
+
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 ==
 
== Technical ==
Line 54: Line 54:
 
== Scanned Article / Schematics ==
 
== Scanned Article / Schematics ==
  
* [[Media:CPC6512 ct magazin part 1.pdf]] - c't issue 10/1987 - Schematic
+
* [[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
+
* [[Media:CPC6512 ct magazin part 2.pdf]] - c't issue 11/1987 - RAM Disc driver for CP/M Plus
  
 
== Related hardware modifications ==
 
== 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)
 
* [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)
 
* [[CPC4MB| CPC4MB memory upgrade by Yarek]] (more advanced; 2005/2006)

Revision as of 08:12, 7 May 2010

Upgrade of the CPC 6128's internal RAM to 512 KiB as proposed in the article Aus David wird Goliath: 512 KB RAM für Schneider CPC in issue 10/1987, pages 156 to 162 of the 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

The memory is accessed via Port 7Fxxh, as on Standard Memory Expansions. Since the internal RAM is removed, its total capacity is only 512K (unlike standard 512K expansions which provide 64K internal plus 512K external memory, ie. 576K total). Altogether, the c't expansion works like a 448K dk'tronics expansion (leaving the banks selected via OUT [7Fxxh],FCh..FFh unused).

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

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).
  • PAL Replacement - Replace the old PAL (IC118) by the new daughterboard. Most signals connect to the PAL socket (green in schematic), a extra few wires connect elsewhere on mainboard (red), as an optional "bonus" feature, the circuit contains logic for a 3rd floppy drive (blue).

Compatibility Problems

  • RAMDIS is not supported, not a problem in most cases, but won't work with some special types of expansion hardware, like Multiface II.

Missing Info

  • Unknown which banks are usable as VRAM
    • The first four 16K bank are (probably) usuable as VRAM (as on all 64K CPC models)
    • The next four 16K bank are (hopefully) not usuable as VRAM (for CP/M+ compatibility, which uses them as Work RAM)
    • For further banks it's totally unknown if they are used as VRAM or not
  • Unknown if it's fully dk'tronics compatible, or more like incompletely implemented Inicron variant
  • Unknown what happens on accessing the unused region via OUT [7Fxxh],FCh..FFh
  • Chipset / Schematic is unknown

Newer Info

Having a short look at the article, it seems to be all different as than expected:

  • There is no dk'tronics compatibility intended - however, c't and dk'tronics are based on the CPC6128 banking mechanism, so they work similar, and to some level there is some (unintended) compatibility. Namely, ONE HALF of the memory can be accessed in dk'tronics style fashion.
  • There seems to be no hardware based "Video RAM" support at all. However, there's some unspectacular software based example included that copies expansion RAM to VRAM via LDIR opcode.

Scanned Article / Schematics

Related hardware modifications