h6. [[OS SWI Calls]] h6(. » [[OS_Byte]] h6((. » OS_Byte CMOS Settings |_<^.Value|_<^.Hex|_<^. Function| |<^. 0|<^. &00|<^. Econet station number| |<^. 1|<^. &01|<^. Econet fileserver station ID (0 if using name) | |<^. 2|<^. &02|<^. Econet fileserver network number (or first character of name) | |<^. 3|<^. &03|<^. Econet printer server station number (0 if using name) | |<^. 4|<^. &04|<^. Econet printer server network number (or first character of name) | |<^. 5|<^. &05|<^. Default [[Filing System Numbers|filing system number]]| |<^. 6|<^. &06|<^. Unplugged modules byte 0| |<^. 7|<^. &07|<^. Unplugged modules byte 1| |<^. 8|<^. &08|<^. Reserved| |<^. 9|<^. &09|<^. More Unplugged modules bits| |<^. 10|<^. &0A|<^. [[OS_Byte CMOS 10|Misc mode data]]| |<^. 11|<^. &0B|<^. [[OS_Byte CMOS 11|Drive/Caps/Mount]]| |<^. 12|<^. &0C|<^. Keyboard auto-repeat delay| |<^. 13|<^. &0D|<^. Keyboard auto-repeat time| |<^. 14|<^. &0E|<^. Printer ignore character| |<^. 15|<^. &0F|<^. [[OS_Byte CMOS 15|Misc printer/Serial data]]| |<^. 16|<^. &10|<^. [[OS_Byte CMOS 16|Loud/NoScroll/Boot/Serial format]]| |<^. 17|<^. &11|<^. [[OS_Byte CMOS 17|NetFiler flags]]| |<^. 18|<^. &12|<^. Unplugged modules byte 2| |<^. 19|<^. &13|<^. Unplugged modules byte 3| |<^. 20|<^. &14|<^. Unplugged extension modules byte 0| |<^. 21|<^. &15|<^. Unplugged extension modules byte 1| |<^. 22|<^. &16|<^. Wimp double click move| |<^. 23|<^. &17|<^. Wimp auto menu delay| |<^. 24|<^. &18|<^. [[Territory Numbers|Territory]]| |<^. 25|<^. &19|<^. Printer buffer size| |<^. 26|<^. &1A|<^. ADFS spindown (in 5 seconds)| |<^. 27|<^. &1B|<^. Wimp menu drag delay| |<^. 28|<^. &1C|<^. [[OS_Byte CMOS 28|Truncate/DragASprite/FilerAction/Dither]]| |<^. 29|<^. &1D|<^. [[Pointer Device Numbers|Mouse type]]| |<^. 30-45|<^. &1E-&2D|<^. Reserved for the user [1]| |<^. 46-59|<^. &2E-&3B|<^. Reserved for applications [2]| |<^. 60-79|<^. &3C-&4F|<^. Reserved for expansion cards [3]| |<^. 80-106|<^. &50-&6A|<^. RISC iX and Acorn Access| |<^. 107-111|<^. &6B-&6F|<^. Reserved for RISC iX (Other Unix flavours also use these bytes)| |<^. 112-127|<^. &70-&7F|<^. Reserved for expansion cards [3]| |<^. 128|<^. &80|<^. Year byte 0| |<^. 129|<^. &81|<^. Year byte 1| |<^. 130|<^. &82|<^. More Unplugged module bits| |<^. 131|<^. &83|<^. More Unplugged module bits| |<^. 132|<^. &84|<^. [[OS_Byte CMOS 132|DumpFormat/Misc data]]| |<^. 133|<^. &85|<^. [[OS_Byte CMOS 133|Monitor data]]| |<^. 134|<^. &86|<^. Font size in 4k units| |<^. 135|<^. &87|<^. [[OS_Byte CMOS 135|Number of ADFS drives]]| |<^. 136|<^. &88|<^. [[OS_Byte CMOS 136|Floppy step rates]]| |<^. 137|<^. &89|<^. ADFS buffers| |<^. 138|<^. &8A|<^. CDFS flags| |<^. 139|<^. &8B|<^. Time zone (15 mins as signed)| |<^. 140|<^. &8C|<^. [[OS_Byte CMOS 140|NewLook flags]]| |<^. 141|<^. &8D|<^. More Unplugged module bits| |<^. 142|<^. &8E|<^. More Unplugged module bits| |<^. 143|<^. &8F|<^. Screen size| |<^. 144|<^. &90|<^. RAMFS size| |<^. 145|<^. &91|<^. System heap size| |<^. 146|<^. &92|<^. RMA size| |<^. 147|<^. &93|<^. Sprite size| |<^. 148|<^. &94|<^. [[OS_Byte CMOS 148|SoundDefault]]| |<^. 149-152|<^. &95-&98|<^. [[OS_Byte CMOS 149|Basic editor flags]]| |<^. 153-157|<^. &99-&9D|<^. Econet printer server name bytes 2-6| |<^. 158-172|<^. &9E-&AC|<^. Econet fileserver name bytes 2 - 16| |<^. 173-176|<^. &AD-&B0|<^. More Unplugged modules bits| |<^. 177-184|<^. &B1-&B8|<^. Unplug bits for expansion cards 0 - 7| |<^. 185|<^. &B9|<^. Language (number of module in ROM entered if boot disabled)| |<^. 186|<^. &BA|<^. [[Territory Numbers|Country]]| |<^. 187|<^. &BB|<^. Unplug bits for network card modules| |<^. 188|<^. &BC|<^. [[OS_Byte CMOS 188|Blanker/Misc data]]| |<^. 189|<^. &BD|<^. ADFS disc size 4| |<^. 190|<^. &BE|<^. ADFS disc size 5| |<^. 191|<^. &BF|<^. ADFS disc size 6| |<^. 192|<^. &C0|<^. ADFS disc size 7| |<^. 193|<^. &C1|<^. [[OS_Byte CMOS 193|Protection flags]]| |<^. 194|<^. &C2|<^. Mouse step| |<^. 195|<^. &C3|<^. [[OS_Byte CMOS 195|Broadcast/Cache/AutoWimp/Misc data]]| |<^. 196|<^. &C4|<^. Wimp mode| |<^. 197|<^. &C5|<^. [[OS_Byte CMOS 197|Wimp flags]]| |<^. 198|<^. &C6|<^. [[OS_Byte CMOS 198|Filer flags]]| |<^. 199|<^. &C7|<^. ADFS directory cache| |<^. 200|<^. &C8|<^. FontMax| |<^. 201|<^. &C9|<^. FontMax1| |<^. 202|<^. &CA|<^. FontMax2| |<^. 203|<^. &CB|<^. FontMax3| |<^. 204|<^. &CC|<^. FontMax4| |<^. 205|<^. &CD|<^. FontMax5| |<^. 206|<^. &CE|<^. FontMax6 (not used)| |<^. 207|<^. &CF|<^. FontMax7 (not used)| |<^. 208|<^. &D0|<^. [[OS_Byte CMOS 208|SCSIFS drives]]| |<^. 209|<^. &D1|<^. SCSIFS buffers| |<^. 210|<^. &D2|<^. SCSIFS directory cache| |<^. 211|<^. &D3|<^. SCSIFS disc size 0| |<^. 212|<^. &D4|<^. SCSIFS disc size 1| |<^. 213|<^. &D5|<^. SCSIFS disc size 2| |<^. 214|<^. &D6|<^. SCSIFS disc size 3| |<^. 215|<^. &D7|<^. Reserved (was [[OS_Byte CMOS 215|Auto load applications]])| |<^. 216|<^. &D8|<^. Reserved (was [[OS_Byte CMOS 216|Auto load applications]])| |<^. 217-219|<^. &D9-&DB|<^. More Unplugged modules bytes| |<^. 220|<^. &DC|<^. [[OS_Byte CMOS 220|Alarm flags/DST]]| |<^. 221|<^. &DD|<^. Wimp drag click delay| |<^. 222|<^. &DE|<^. [[OS_Byte CMOS 222|Wimp drag move delay and iconise widget]]| |<^. 223|<^. &DF|<^. Wimp double click delay| |<^. 224-229|<^. &E0-&E5|<^. Reserved| |<^. 230|<^. &E6|<^. LCD panel brightness / contrast| |<^. 231|<^. &E7|<^. Another Unplugged modules byte| |<^. 232|<^. &E8|<^. Reserved| |<^. 233-238|<^. &E9-&EE|<^. [[OS_Byte CMOS 233|FSLock]]| |<^. 239|<^. &EF|<^. Checksum| h4. Notes RISC OS provides 240 bytes of data to be stored in non-volatile memory. Much of the storage is reserved for future use, however, it does provide a method of storing key system configurations such as for expansion cards and so forth. CMOS usage is subject to change depending on different versions of RISC OS, and applications should not assume the location of any particular byte address. Software should try to use higher-level APIs to read or write system settings, rather than altering CMOS directly. h6. Controlling sources: "Hdr:CMOS":https://gitlab.riscosopen.org/RiscOS/Sources/Programmer/HdrSrc/-/blob/master/hdr/CMOS managed by the "allocations manager":/content/allocate fn1. Locations which are reserved for the user can be freely used by user software. However because use of this region of CMOS is not regulated, in order to avoid clashes software which uses these locations should not be publicly distributed. fn2. Locations which are reserved for applications can be used by third-party software, providing an "allocation":/content/allocate has been made. However with a hard disc and !Boot sequence being standard features on modern machines, it's recommended that software stores its configuration in the Choices folder instead. fn3. Expansion cards can determine the size and number of CMOS bytes available for their use by using the [[Podule_ReadInfo]] and [[PCI_ReadInfo]] SWIs. Note that configuration data is not automatically wiped when the user moves expansion cards from one slot to another - and so a newly installed card may be reading old configuration data left behind by a previous card. It is the card driver's responsibility to cope with this, e.g. by correctly detecting and ignoring invalid configuration settings. h4. See also * [[OS_Byte]]