Changes
This is the list of '''Expansion ROM''' you can use to add features to the CPC.
These are mostly '''SoftwaresSoftware''' available in '''ROM format'''.
It also includes the numerous '''ROM-boxes''' : the Hardwares solutions to get ROMs on your CPC.
Here's a quick introductory lesson to ROMs with the important bits you need to know (by Bryce):
1 ) The CPC hardware is designed to (theoretically) take up to 256 external ROMs
2 ) Each ROM can be up to 16K and are numbered starting from 0.
3 ) The ROM can contain a program or utility.
4 ) The programs are started using an "RSX" command: ie: A command with the bar "|" in front - Such as |M to start Maxam.
5 ) Standard ROMBoards or the MegaFlash allow you to install these. Older ROMBoards usually only supported 6 or 8 ROMs and each ROM was an individual EPROM chip. Whereas modern versions (SF2, Inicron, RamCard, MegaROM, MegaFlash) support up to 32 ROMs and have combined several virtual ROMs within a single larger chip.
6 ) Many programs and utilities were released on ROM for three good reasons:
A) They start instantly, because they don't actually need to be loaded.
B) They are always present in the background and can be called/started without needing to insert a disk or tape.
(useful for utilities such as Basic expansions or Disc utilities)
C) They usually run directly from the ROM, not from RAM, so the RAM is still 99.9% empty.
(useful for text editors and compilers because the RAM is free to be used for data)
7 ) The Hardware: The CPC can choose which ROM chip is associated with the 16K area starting at &C000. This is usually the reserved for the contents of the screen (RAM), but the address range is shared with ROM Memory.
On start up, the CPC checks whether any ROMs are installed. The CPC464 only checks for ROMs in positions 7-0, but the 6128 checks for ROMs in positions 15-0. (I write 15-0 because they really are scanned in the reverse order). If a ROM is present, the CPC checks what commands the ROM offers and saves them in a table in RAM (This is why I said the RAM is 99.9% free and not 100%).
8 ) There are two special ROM positions: ROM 0 is reserved for Basic (known as a type &80 ROM), ROM 7 is reserved for the Disc Operating System - Not present on a 464, AMSDOS on a 6128.
9 ) The CPC464 has one internal ROM (0) which can be overwritten by a ROMBoard to replace Basic. The 6128 has internal ROMs 0 and 7 (0 can be overwritten but not 7). The CPC Plus series can overwrite both 0 and 7.
10 ) The Plus CPCs don't have internal ROMs, it was "out-sourced" to the Cartridge. The cartridge is actually situated in ROM positions 128 onwards, but the ASIC in the Plus re-maps the cartridge ROMs to 0 and 7 for compatibility.