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 number |
6 | &06 | Unplugged modules byte 0 |
7 | &07 | Unplugged modules byte 1 |
8 | &08 | Reserved |
9 | &09 | More Unplugged modules bits |
10 | &0A | Misc mode data |
11 | &0B | Drive/Caps/Mount |
12 | &0C | Keyboard auto-repeat delay |
13 | &0D | Keyboard auto-repeat time |
14 | &0E | Printer ignore character |
15 | &0F | Misc printer/Serial data |
16 | &10 | Loud/NoScroll/Boot/Serial format |
17 | &11 | 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 |
25 | &19 | Printer buffer size |
26 | &1A | ADFS spindown (in 5 seconds) |
27 | &1B | Wimp menu drag delay |
28 | &1C | Truncate/DragASprite/FilerAction/Dither |
29 | &1D | 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 | DumpFormat/Misc data? |
133 | &85 | Monitor data? |
134 | &86 | Font size in 4k units |
135 | &87 | Number of ADFS drives? |
136 | &88 | Floppy step rates? |
137 | &89 | ADFS buffers |
138 | &8A | CDFS flags |
139 | &8B | Time zone (15 mins as signed) |
140 | &8C | 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 | SoundDefault? |
149-152 | &95-&98 | 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 | Country |
187 | &BB | Unplug bits for network card modules |
188 | &BC | 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 | Protection flags? |
194 | &C2 | Mouse step |
195 | &C3 | Broadcast/Cache/AutoWimp/Misc data? |
196 | &C4 | Wimp mode |
197 | &C5 | Wimp flags? |
198 | &C6 | 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 | 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 Auto load applications?) |
216 | &D8 | Reserved (was Auto load applications?) |
217-219 | &D9-&DB | More Unplugged modules bytes |
220 | &DC | Alarm flags/DST? |
221 | &DD | Wimp drag click delay |
222 | &DE | 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 | FSLock? |
239 | &EF | Checksum |
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.
1 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.
2 Locations which are reserved for applications can be used by third-party software, providing an allocation 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.
3 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.