Changes

Jump to: navigation, search

ROM

5,202 bytes removed, 18:10, 26 December 2023
/* Reserved ROM Numbers */
[[Image:Rom_Expander.jpg|right|thumb|320px|A conventional ROMBoard for six expansion ROMs]]
 
 
== What Exactly are Internal and Expansion ROMs ==
The CPC hardware is designed to (theoretically) take up to 256 external 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 and sometimes referred to as sideways 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:
* 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 extensions or Disc utilities.
* 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.
 
No games were ever released on ROM, probably due to the 16K size limit and the fact that very few CPC users owned a ROMBoard.
== 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[[Image:MegaFlash_Final. jpg|thumb|280px|right|The CPC464 only checks for ROMs in positions 7MegaFlash -0, but the 6128 checks for ROMs in positions 15-0. The ROMs are scanned in the reverse order starting from 7 or 15 depending on the CPC type. If a ROM is present, the CPC reads what commands the ROM offers and saves them in a table in RAM.A 32 Position combined ROMBoard]]
== Reserved ROM Numbers ==There are two special ROM positions: The CPC can choose which ROM 0 chip is reserved for Basic (known as a type associated with the 16K area starting at &80 ROM - Foreground ROM) and ROM 7 C000. This is usually the reserved for the Disc Operating System - Not present on a 464, AMSDOS on a 6128.The CPC464 has one internal upper ROM contents of the screen (ROM 0RAM) 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.The Plus CPCs don't have internal ROMs, it was "out-sourced" to the Cartridge. The cartridge address range is actually situated in shared with ROM positions 128 onwards, but the ASIC in the Plus re-maps the cartridge ROMs to 0 and 7 for compatibilityMemory.
== Lower ROMs == A further ROM is present inside On start up, the CPCchecks whether any ROMs are installed using the "KL_ROM_WALK" firmware routine. This Firmware ROM is The CPC464 only checks for ROMs in all CPCspositions 7-0, but is mapped to a different area of memory and also doesn't have the 6128 checks for ROMs in positions 15-0. The ROMs are scanned in the reverse order starting from 7 or 15 depending on the CPC type. If a ROM Number. It's also possible to overwrite this ROM externallyis present, however this can't be done with a standard ROMBoard, only with Lower the CPC reads what commands the ROM expansion such as [[FO-DOS|FO-DOS]]offers and saves them in a table in RAM.
== Available ROMs ==Further detailed information on the ROM bank numbering can be found [[Upper_ROM_Bank_Number|here]]
The following is a A full list ROM images of all ROMBoards available for the CPC. This does not include cartridge ROMs, which cannot be used in a standard ROMBoard. Further information regarding cartridge ROMs can be found [[Plus_System_CartridgePeripherals#ROM_Box_.2F_ROM_Board|here]]
= Lower ROMs =The plans for many DIY ROMBoards can also be found [[DIY#ROM_.2F_RAM_Expansions|here]]
* [[Firmware|CPC 464 OS]] (1985)([[Amstrad|Amstrad]])
* [[Firmware|CPC 464 Modified OS]] (19xx)(Da)
* [[Firmware|Cpc 664 OS]] == Reserved ROM Numbers ==There are two special ROM positions: ROM 0 is reserved for Basic (1985known as a type &80 ROM - Foreground ROM)and ROM 7 is reserved for the Disc Operating System - Not present on a 464, AMSDOS on a 6128.The CPC464 has one internal upper ROM ([[Amstrad|Amstrad]]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). In German CPC6128 both, 0 and 7, can be overwritten.The 6128plus series can overwrite both 0 and 7.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.
* [[Firmware|CPC 464+ and 6128+ OS]] (1991)([[Amstrad|Amstrad]] - [[Locomotive_Software|Locomotive]])== Lower ROMs ==
* CPC 464+ Plus A2 (1991)([[Amstrad|Amstrad]] - [[Locomotive_Software|Locomotive]]) * [[Firmware|CPC 6128 OS]] (1985)([[Amstrad|Amstrad]] - [[Locomotive_Software|Locomotive]]) * [[Firmware|CPC 6128 OS]] (1985)([[Amstrad|Amstrad]] - [[Locomotive_Software|Locomotive]])(Fr) * [[Firmware|CPC 6128 OS]] (1985)([[Amstrad|Amstrad]] - [[Locomotive_Software|Locomotive]])(Sp)  = BASIC ROMs = * [[Locomotive_BASIC|CPC 464 Basic]] (1985)([[Amstrad|Amstrad]]) * [[Locomotive_BASIC|CPC 664 Basic]] (1985)([[Amstrad|Amstrad]]) * [[Locomotive_BASIC|CPC 464+ and 6128+ Basic]] (1991)([[Amstrad|Amstrad]] - [[Locomotive_Software|Locomotive]]) * [[Locomotive_BASIC|CPC 6128 Basic]] (1986)([[Amstrad|Amstrad]] - [[Locomotive_Software|Locomotive]]) * [[Locomotive_BASIC|CPC 6128 Basic]] (1985)([[Amstrad|Amstrad]] - [[Locomotive_Software|Locomotive]]) * [[Locomotive_BASIC|CPC 6128 Basic]] (1985)([[Amstrad|Amstrad]] - [[Locomotive_Software|Locomotive]])  = DOS Roms = * Amsdos 720K (19xx) * [[AMSDOS|CPC 664 Amsdos]] (1985)([[Amstrad|Amstrad]]) * [[BOS|BOS v2Image:FO.1]] (1987)([[Vortex_Computersysteme|Vortex Gmbh]]) * [[Maxidos|Jm MaxiDOS v1.2]] (19xx)([[Nemesis|Nemesis]]) * NigDOS 2.24 (1988) * [[ParaDOS|ParaDOS]] ([[Executioner|Executioner]]) * [[RODOS|RoDOS v2.11]] (19xx)(Romantic Robot) * [[RODOS|RoDOS v2.15]] (19xx)(Romantic Robot) * [[ROMDOS|Rom DOS]] Cartridge (1988)([[KDS|Kds Electronics]]) * [[ROMDOS|Rom DOS XL]] (1992)([[Siren_Software|Siren Software Ltd]] photo from mic- [[KDS|Kds Electronics]]cpcrulez* [[ROMDOS|Rom DOS XL v4.88]] (1993)([[Siren_Softwarejpg|Siren Software Ltd]]) * [[X-DDOSthumb|X-DDOS]] (1987)  = Alternative OS ROMs = * [[CP/M280px|CPM+]] #1 (1988)(Graduate Software - [[Digital_Researchright|Digital Research]] FO- [[Amstrad|Amstrad]]) * [[CP/M|CPM+]] #2 (1988)(Graduate Software DOS - [[Digital_Research|Digital ResearchA Lower ROM expansion used to replace the internal Firmware]] - [[Amstrad|Amstrad]]) * CPM Accessory A further ROM 1 (1988)(Graduate Software)(CPMACC1is present inside the CPC.This Firmware ROM).zip * Voraxis in all CPCs, but is mapped to a different area of memory and also doesn's CPM Plus t have a ROM #1 (19xx)(Graduate - Vorax)(CPM1Number.ROM).zip * [[FutureOS|FutureOS]] ([[FutureSoft|FutureSoft]]) * [[Symbos|SymbOS]] ([[Prodatron|Prodatron]])  = Background Utilities = * Amstrad Toolkit v1.4 (1986)([[Beebugsoft|Bee Bug Soft]]) * Copymate + v3.2 (1990)(Marco Vieth)(De) * Disc Demon v1.1 (1986)([[Beebugsoft|Bee Bug Soft]]) * Disc Power (19xx) * [[Discology|Discology Disccopier]] (1987)(Meridien Software) * [[Discology|Discology Filecopier]] (19xx) * [[Discology|Discology v6.0]] (19xx)(Meridien Software) * DOS Copy v1.3 and Crime v1.3 (1991) * Dragon Breed Rom 1 (19xx)(Dragon Breed) * [[John_Morrison|Extended BASIC v1.1]] (1986)([[John_Morrison|John Morrison]]) * [[Hackit|Hack It-Le Hackeur]] (19xx)([[Siren_Software|Siren Software]])(En-Fre) * [[JL_Utilities|JL Utilities v1.2]] (19xx)([[JLCS|J0rn Lorentzen-JLCS]]) * [[JL_Utilities|JL Utilities v2.1]] (19xx)([[JLCS|J0rn Lorentzen-JLCS]]) * Kns ROM 6128 v1.01 (1989)(MFW) * [[Locksmith|Lock Smith]] (1985)([[Beebugsoft|Bee Bug Soft]]) * [[Masterfile_III|Master File 128 v2.2]] (19xx)([[Campbell_Systems|Campbell Systems]] and [[Goldmark_Systems|GoldMark]]) * [[Masterfile_464|Master File 464 v1.1]] (1984)([[Campbell_Systems|Campbell Systems]] and [[Amsoft|Amsoft]]) * Micro Style ROM v2.11 (1989)(Micro Style - PotPlant Systems) * [[Nirvana|Nirvana 1.1]] (1990)( [[Goldmark_Systems|GoldMark Systems]]) * [[NWC_Utilities|Nwc Utilities 1.1]] (19xx)([[NWC|Nwc]]) * [[Oddjob|Odd Job 2.2]] (1985)[[Pride_Utilities|Pride Utilities]] - [[Goldmark_Systems|GoldMark]]) * [[CPC_Procopy|Pro Skey - Procopy v1.2 and Speed Key]] (1990)([[Nemesis|Nemesis]]) * Programmer's Toolbox 1.0a (19xx) * Programmers Tool Box v1.2a (19xx) * [[QuickCMD|QuickCMD]] (2011)(norecess) * [[Superpower_Mailing_List_(Micro_Power_Ltd.)|Super Power Mailing List]] (1985)([[Micro_Power_Ltd.|Micro Power Ltd]]) * Super Rom v1.0 (1991)(Vorax) * Super ROMplus - Auto Rom Control System 1.6 (1986)([[Britannia_Software_Ltd|Britannia Software Ltd]]) * [[System_X|System-X v2.1]] (1985)([[Pride_Utilities|Pride Utilities]]) * T3m also possible to overwrite this ROM (19xx) * externally, however this can't be done with a standard ROMBoard, only with a Lower ROM expansion such as the [[Transmat|Transmat v2.1]] (1985)([[Pride_Utilities|Pride Utilities]]) * UNCR v2.4 FO- Cruncher Accessory ROM for CPM (1988)(Graduate Software) * Utility Suite (19xx) * [[UtopiaDOS|Utopia]] ([[Arnor|Arnor]])  = Language Compilers = * [[BCPL|BCPL]] ([[Arnor|Arnor]]) * [[Maxam|Maxam]] ([[Arnor|Arnor]])  = Full Programs = * [[MicroFO-Music_Creator|Micro Music CreatorDOS]] #1 (1988)(First Byte) * or the [[Micro-Music_CreatorLowerROM|Micro Music CreatorLowerROM Board]] #2 (1988)(First Byte) * [[Protext|Protext 1.20]] ([[Arnor|Arnor]]) * [[Promerge_Plus|ProMerge Plus]] ([[Arnor|Arnor]]) * [[Prospell|Prospell]] ([[Arnor|Arnor]])
* [[STarKos|STarKos]] ([[Arkos|Arkos]])
= Hardware ROMs =
These ROMs were usually integrated in specific hardware devices and will usually require the associated hardware to function correctly.
* [[AMRAM2|Amram 2]] - Sideways RAM toolkit ROM (19xx)([[Silicon_Systems|Silicon Systems]])
* [[Fleet_EPROM_Programmer|Amstrad Eprom Programmer]] (19xx)(Fleet Microsystems Ltd & F.Kup)
* [[Spectre_Comms_Serial_Interface|Cage Comms v1.1]] (19xx)([[Aspects_BBS|D. Gorski and I. Hoare]])
* [[Panda_Electronics_Communications_Interface_Unit|Communication Interface Unit Driver Softare 1.5]] (1986)(Panda Electronics Ltd)
* [[Amstrad_Serial_Interface|Comstar v1.25]] #1 (1986)([[HoneySoft|Honeysoft]] - [[PACE|Pace]])
* [[Amstrad_Serial_Interface|Comstar v1.25]] #2 (1986)([[HoneySoft|Honeysoft]] - [[PACE|Pace]])
* Copy Lock v6.0 (1988)([[Romantic_Robot|Romantic Robot]])
* ||Dk'tronics_Lightpen|Dk'Tronics Lightpen ROM]] (19xx)([[Dk'tronics|Dk'Tronics]])
* [[Dk'tronics_Speech_Synthesizer|Dk'Tronics Speech ROM v1.1]] (19xx)([[Dk'tronics|Dk'Tronics]])
* [[John_Morrison|Jm EPROM Programmer]] (1985)([[John_Morrison|John Morrison]])
* [[KDS_Electronics_Serial_Interface|K.D.S Serial Interface & Comms Pack 5 v4.2B]] (19xx)([[KDS|K.D.S. Electronics]])
* [[Multiface|Multiface 2]] (19xx)([[Romantic_Robot|Romantic Robot]])
* Vortex RAM - Expansion Card ID (19xx)([[Vortex_Computersysteme|Vortex]])(De)== Download ROMs ==
* For detailed information and download links for the available ROMs, please refer to the [[X-ROM_List|ROM|XROM Eprommer v1.16Software List]] (1986)([[Timatic_Systems|Timatic Systems]]).
There are also specific pages on the wiki which relate to the available [[Plus System Cartridge|Plus System Cartridge]] ROMs and [[Amstrad/Schneider_Printer_Resources|Amstrad Printer]] ROMs.
[[Category:Expansion ROM| ]][[Category:Software| ]][[Category:Hardware| ]][[Category:Operating System| ]][[Category:DATA Storage| ]][[Category:CPC Internal Components]]
2,002
edits