Skip to content

Universal Amstrad CPC RAM Card

revaldinho edited this page Oct 11, 2022 · 11 revisions
Universal 512K RAM Card Photo 1 MB Universal RAM Card Photo

The Universal Amstrad CPC RAM Card is available in two versions, providing either a 512KByte RAM expansion or a full 1MByte.

The card is suitable for all Amstrad CPC computers, and when used on an older CPC464 or 664 is able to provide full 6128 compatibility as well as the more usual DK'Tronics mode of operation.

DIP switches are used to select three different main modes of operation

  • 6128 and Plus machines (*)
  • 464/664 DK'Tronics compatible mode
  • 464/664 Amstrad C3 (FutureOS) compatible mode

For 464/664 computers, these cards provides full DK'Tronics compatibility in common with other expansions. To achieve this, the universal cards have to backdrive the electrical signals (as the DK'Tronics cards did) in order to write protect CPC RAM when writing to the expansion RAM.

The unique feature of these cards compared with other CPC464/664 cards is that is they are able to mimic the CPC6128's video mode 'C3' operation. No other cards, including the original DK'Tronics cards, are able to do this. This allows CPC464/664's expanded with these universal cards to be able to run FutureOS and other software which depend on this mode - something which was previously possible only with actual 6128s.

(A third board is included in the repository which is a reimplmentation of the 1MB card using a larger PLCC84 packaged CPLD. This board is not a recommended build, since the XC9572PC84 and XC95108PC84 parts are more difficult and expensive to get hold of these days. This board provides the same functionality as the PLCC44 version but it provides some more flexibility for experimenting with addressing modes - the PLCC84 device has sufficient pins to import all CPC address pins - and makes provision for an 8 bit IO port for controlling peripherals. The PLCC84 version also has some experimental code for providing full CPC Plus compatiblity, but this is currently untested.)

Full documentation for the 512KByte card is included in the release notes for the CPLD firmware..

A more comprehensive User Manual and Technical Documentation document is provided for the 1MByte card.

DK'Tronics Compatibility

The boards are fully compatible with the DK'Tronics/Amstrad bank switching schemes described in the DK'Tronics Peripheral Technical Manual.

CPC Plus compatibility

(*) These cards are fully compatible with the CPC Plus machines when running standard CPC software. When running software which takes advantage of the new Plus hardware features, compatibility is limited to software which disables the RAM expansion before remapping the ASIC register bank into the memory map area at 0x400-0x7FFF. If the software doesn't do this then writes to the register bank also go to expansion RAM and reads from both will clash.

Construction Notes

The logic for the 512KB card fits comfortably in an XC9536PC44 CPLD and this is the recommended choice.

The logic for the 1MB card can fit in an XC9536PC44 if some of the features are disabled (see the `define statements in the code), but really requires the larger XC9572PC44 to retain all features and work reliably in all modes on the older 464/664 computers.

Current Status

Both RAM Cards have been available for some time, the firmware is fully tested and good for all applications as described in the release notes.

License

All programs and data files in this project are made available under the terms of the GNU General Public License v3.