== What Exactly are Internal and Expansion ROMs ==
The CPC hardware is designed to (theoretically) take up to 256 external ROMs (Upper ROMs), each ROM can be up to 16K and are numbered starting from 0. Each ROM can contain one or more programs or utilities. These ROMs are known as Upper ROMs. The programs are started using an "RSX" command: ie: A command with the bar "|" in front - eg: the command |M is used to to start [[Maxam|Maxam]]. Standard ROMBoards such as the [[Rombo_Rombox|Rombo ROMBox]] or modern solutions such as Inicrons [[Inicron_ROM-RAM-Box|ROM-RAM-Box]] or the [[MegaFlash|MegaFlash]] allow you to attach and use these ROM programs on a CPC. Older ROMBoards usually only supported 6 or 8 ROMs and each ROM was an individual EPROM chip. Whereas modern versions ([[SF2|SF2]], [[Inicron_ROM-RAM-Box|ROM-RAM-Box]], [[Ramcard_128|Ram7s RamCard]], [[MegaROM|MegaROM]], [[MegaFlash|MegaFlash]]) support up to 32 ROMs and have combined several virtual ROMs within a single larger chip.
Many programs and utilities were released on ROM for three good reasons: