Many configuration settings are held in CMOS RAM. On some systems this is a reserved area of nonvolatile memory; on the Raspberry Pi it is a file that is loaded from the SD card during system boot.
Not all of the settings held in CMOS RAM can be changed from the RISC OS Desktop, and there are occasions (e.g. failure of an SD card) where the desktop cannot be reached.
Many of the potential problems can be avoided by keeping a backup copy of CMOS RAM contents somewhere else. Two star commands will assist in this endeavour:
Saves the current contents of CMOS RAM to a named file. It is a good idea to keep this copy somewhere safe (e.g. on an external disc drive) so that it will be available for use in an emergency. For example:
*SaveCMOS SCSI::5.$.Backup.CMOS-copy
Loads a previously-saved CMOS file into CMOS RAM. The file will be rejected if it is the wrong size, if the checksum is incorrect, or if it was saved using a different version of RISC OS.
*LoadCMOS SCSI::5.$.Backup.CMOS-copy
The *Status command displays the current settings of all configuration options that can be adjusted by *Configure. The list is quite long, so if you’re not using a task window you may need to press SHIFT to page through to the end.
Individual settings can be queried by specifying the desired item. For example:
*Status filesystem
may produce the result
FileSystem SDFS
There are occasions (e.g. when setting up a new machine for the first time) when adjusting individual CMOS settings from the command line is unavoidable. The *Configure command allows you to do this.
*Configure Boot | to allow RISC OS to boot to the desktop |
*Configure NoBoot | to prevent RISC OS from booting to the desktop |
*Configure FileSystem | e.g. if you’ve moved !Boot to another drive |
*Configure Drive | to specify the ADFS drive holding !Boot |
*Configure SCSIFSDrive | to specify the SCSI (or USB) drive holding !Boot |
*Configure Language | e.g. to boot to BASIC instead of to the command line |
*Configure MonitorType | e.g. if you wish to enable/disable EDID |
*Configure MouseStep | to slow down a too-fast pointer |
*Configure Num | to enable Num Lock on boot |
*Configure NoNum | to disable Num Lock on boot |
There are many other *Configure commands available – see *Configure for a full list. In most cases it is easier to set the remaining options from the desktop rather than from the command line. They could still be useful if, for example, you wanted to automate the setup of a machine by placing all of the *Configure commands into an Obey file.
The “StarComms” file – which can be found in $.Documents.UserGuide in the standard RISC OS HardDisc4 image – also contains a list of *Configure commands.