Standard Memory Expansions

From CPCWiki - THE Amstrad CPC encyclopedia!
Revision as of 22:09, 10 February 2010 by Nocash (Talk | contribs) (Technical)

Jump to: navigation, search

The "standard" memory expansions are often credited to Dk'tronics and Dobbertin (not sure which company initially developed it though).

Technical

The standard expansions are based on the RAM banking logic from the CPC6128, ie. equivalent to the fourth Gate Array register in the CPC6128 (or more precisely, the PAL that assists its Gate Array chip).

  • Accessing a 64K expansion (or the first 64K of a bigger expansion) is compatible to the 128K in the CPC6128
  • For full CPC6128 compatibility one may need some patches (eg. CP/M Plus will stiff refuse to work; because it "detects" the 128K by checking the BASIC ROMs version number)

Expansions bigger than 64K combine the CPC6128-style mapping with some formerly unused chips in the fourth Gate Array register:

Gate Array, Port 7Fxxh:

 7-6  Must be 3 (aka Gate Array Register 3)
 5-3  Bank number in 64K units (for expansions bigger than 64K) (max = 512K)
 2-0  Bank mapping in 16K fragments (as on normal CPC 6128 Gate Array)

The 16K fragments are consisting of 8 banks. Banks 0-3 are the internal RAM, banks 4-7 are external RAM (taken from the currently selected 64K block).

Caution - The 64K bank numbers don't always start at bank 0 (In the Dk'tronics 256K Silicon Disc, the 64K banks are numbered 4..7).

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.
  • 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+64 Kbytes, not nn+128 Kbytes

Standard Expansions

Semi-Standard Expansions

  • Aleste 520EX - a CPC clone that allows to access 256K (of its total 512K memory) in semi-standard fashion (ie. as on a 64K computer with 192K expansion)
  • Inicron RAM-Box - not fully compatible with standard expansions (semi-standard)

These two "semi-standard" ones can map some expansion banks only to 4000h..7FFFh.

Non-Standard Expansions

Expansions that are unknown how they work, and if they are standard or not