== RSX/ROM Commands ==
All {| class="wikitable"|-! RSX commands are defined in ROM 1.! Details* |CPMVER and |VER - This shows:| <nowiki>|EMS</nowiki> | rowspan=" CPM PLUS 2" | Starts CP/M Plus from ROM and shows the CP/M Plus expansion ROMs with their names. CP/M Plus is copyright configured for two drives and the RAM drive C: with 444 KB RAM.|- | <nowiki>|O</nowiki> AMSTRAD CONSUMER ELECTRONICS PLC. &|- | <nowiki>|PASSWORD</nowiki> DIGITAL RESEARCH| This command asks you for a password. CPM If you enter it three times wrong then CP/M Plus will be started from ROM by Graduate software. This rom is version The default password in the available 2.23 : -34 ROM is <code>SPLINTER</code> SERIAL NUMBER : 1232|-GRAD102 OWNER : | <namenowiki> "|PW<name/nowiki> is the person who | If the rom password was made forentered correctly using <nowiki>|PASSWORD</nowiki> then <nowiki>|PW</nowiki> will do nothing.If the password was not entered, or entered incorrectly then it will start CP/M, just like <nowiki>|EMS</nowiki> * |MYNAME shows: -| <namenowiki>|OP</nowiki> Which | This RSX command activates a menu system, which allows you to launch a .COM or .SUB file in an automatic way. An error message will be displayed if there is no .COM or .SUB file on disc. You can choose the same as file of choice with SPACE and start it with RETURN. CP/M PLUS with the RAM Disc will be started and the selected file will be launched. <namep> in CPMVER aboveNote: Some print routine are incompatible, for example this is the case for X-DDOS. Switch off if you find problems.|-* |OHELP or <nowiki>|EMSHELP - This shows:VER</nowiki>| rowspan=" CPM 2" | These commands are both identical. They show the Copyright message for CP/M PLUS : Accessory Roms attachedand the CPM ROMs. Additionally, the serial number and the name of the user is also printed.|-"| <nowiki>|CPMVER</nowiki>|It lists |-| <nowiki>|MYNAME</nowiki>| Displays the names name of the attached accessory user/buyer of this set of CP/M Plus ROMson screen. * |EMS - starts CPM+ from ROM | <nowiki>|OHELP</nowiki>* |PASSWORD - this gives a rowspan="?2" prompt | These commands are both identical. They list any CP/M Plus expansion ROMs containing programs (if installed). showing their name and asks you to enter the passwordposition (ROM number).The password Using <nowiki>|OHELP</nowiki>,number or <nowiki>|EMSHELP</nowiki>,number will display the applications contained in CP/M Plus expansion ROM #number, for example <nowiki>|OHELP,6</nowiki>|-| <nowiki>|EMSHELP</nowiki>||-| <nowiki>|NOCPM</nowiki>| This RSX command will switch OFF the distributed roms is "SPLINTER"CP/M Plus expansion ROMs. All other ROMs will be initialiized again.|-|}
== Technical ==
[[TFM]] has written ROMManager which can create these accessory ROMs and he provides downloads on his website for some that he has made himself.
Some emulators don't support the accessory ROMs because of the non-standard format. Arnold and Caprice32 supports these.
=== Structure of a utility ROM ===
|-
| &10
| 3222
| Extension ROM name (note 2)
|-
1. Identification: "Graduate (C)1988". Only the first char 'G' is checked.
2. Accessory ROM name is ASCII string terminated with '$'. Graduate's Accessory ROM 1 is called "CP/M Accessory Rom 1\r\n$". You need to provide a description. At a minimum '$' on it's own is ok. The code displays the string and doesn't check if it goes past the space allocated in the ROM. Some documentation notes that this can be 32 characters long, but the Graduate Software roms will only display up to 22 characters.
3. Loading code is required. A dissassembly is shown below. The CP/M ROM executes it. Code is copied from &c070 (length &200) to &3f70 in RAM therefore copying both the loading code and the directory.
== Password ==
The password for |PASSWORD is ''SPLINTER''
This is stored in ROM 1 at offset &3f88. It uses a simple encryption by XORing bytes with &4EAA.
== Links ==
* [[http://futureos.cpc-live.com/ Future OS website, home of ROM Manager and TFM's Accessory ROMs]]
* [https://github.com/cormacj/AmstradCPCRomHacks A python script to update the CPM rom user, address, serial and password]
[[Category:Operating System]][[Category:Expansion ROM]][[Category:CP/M]]