Changes
The '''standard''' memory expansions are often credited to [[Dk'tronics]] and [[Dobbertin]] (not sure which company initially developed it though). There's also an '''extended standard''' which may be credited to probably [[RAM7]] (seen at least in comp.sys.amstrad.8bit FAQ v0.90, 11 september 1997) or [[Yarek]]. == Technical == The standard expansions are based on the RAM banking logic from the CPC6128, ie. equivalent This is handled by a PAL16L8 but to the programmer it appears to be the fourth register in the [[Gate Array]] register in . The I/O decoding is different to the CPC6128 (or more preciselyGate-Array.* PAL16L8 decodes A15=0 only* Gate-Array decodes A15=0 and A14=1 To access the RAM and Gate-Array port 7fxx is used. In addition the RAM answers when the data has bit 7=1 and bit 6=1, which is unused in the PAL that assists its Gate -Array chip). External expansions have their own PAL or hardware which performs the same operation. Later CPC revisions with the costdown ASIC and the Plus have the RAM expansion logic inside their ASICs. ---- === Simple 64K Expansion (CPC6128-style) ===
* Accessing a 64K expansion (or the first 64K of a bigger expansion) is compatible to the 128K in the CPC6128
* Although, for real For full CPC6128 compatibility one may need some patches (eg. CP/M Plus refuses will still refuse to work without the 6128s BASIC version) (; because it "detects" the 128K by checking the BASIC ROMs versionnumber)
== Capacity ==
Standard expansions can contain between 64K and 512K memory. * A '''nnK expansion ''' adds '''nn Kbytes ''' to the internal '''64 Kbytes ''' in the CPC. So the resulting total size is '''nn+64 Kbytes'''.* This That '''nn+64 Kbytes''' formula does in most (or all ) cases also apply on the '''CPC 6128''': ** only 64 Kbytes of it's internal memory are used (** the 2nd half of internal memory is disabled and replaced by the expansion RAM** so, the resulting size is only nn+64Kbytes, not nn+128 Kbytes)
== Standard Expansions ==
* [[Dk'tronics memory expansion|Dk'tronics Memory Expansion and Silicon Disc]] - 64K and 256K expansions
* [[Dobbertin Memory Expansion]]
* [[CPC4MBRAM BOX]] * [[SYMBiFACE II]] - includes (DIYamong others) 512K RAM expansion* [[X-MEM]]* [[Old_School_512K_RAM_Expansion]]* [[CPC_6320_-_internal_320K_for_CPC_6128|CPC 6320 - internal 320K for CPC 6128]] == Extended-Standard Expansions == * [[Gemini]] (Shinra - PulkoTronics) - compatible with standard 512 Kbyte expansion (plus extra nonextended-standard 3512 Kbyte), also handles special case for Amstrad Plus ASIC* [[RAM7 2MB memory expansion]] ([[RAM7]]) - compatible with standard 512 Kbyte expansion (plus extra extended-standard 1.5 MBbyte)* [[RAM BOXCPC4MB]] 512Kb memory ([[Yarek]]) (DIY) - compatible with standard 512 Kbyte expansion '''(is that lowercase "b" meaning 512kbit=64Kbyte ???plus extra extended-standard 3.5 MBbyte)''' == Semi-Standard Expansions == * The first 192K [[Aleste 520EX]] - a CPC clone that allows to access 256K (of its total 512Kmemory) in Inicron-style fashion (ie. as on a 64K computer with 192K expansion which can be mapped to 4000h..7FFFh).* [[Aleste 520EXInicron RAM-Box]] are standard - not fully compatiblewith standard expansions (can map expansion RAM only to 4000h..7FFFh).
== Non-Standard Expansions ==
* [[Inicron c't 512 KB internal RAM-Boxexpansion]] - not fully compatible with standard works similar to dk'tronics expansions, but, alltogether, there isn't much compatibility between c't and dk'tronics.
* [[Otten & Fecht 1 MB RAM-Disc]] - Accessed through I/O ports (RAM is not mapped to memory)
* [[Vortex Expansions RAM card]] - nonan older expansion, uses 32K-banks, not compatible with the later standard
== Expansions that are unknown how they work, and if they are standard or not ==
* [[RAM7 2Mb memory expansionData Media Memory Expansion]] - is that 2Mbit or 2Mbyte? what I/O ports would an older thing, said to be used to access 2MByte?* [[Inicron RAM-Box]] - not fully compatible with standard expansions* [[Data Media SP64]] - all unknown* [[Dkdk'tronics Silicon Disc]] ([[Dk'tronics]]) - all unknowncompatible, nothing else known
* [[Phoenix M64]] - all unknown
[[Category:Hardware]][[Category:Memory expansions| ]][[Category:DATA Storage]][[Category:Expansion ROM]][[Category:Peripherals|*]]