CONFIDENTIAL
Document ref: | 2501,822/FS |
Project: | STB-400 |
Issue: | 6A |
Date: | 16/07/2002 |
Change: | |
Author(s): | Owen Love Stephen Revill Alistair Rodger Ben Avison |
Classification: | Pace Restricted |
Master Format: | HTML |
1.0 | Copyright |
2.0 | Overview |
3.0 | Outstanding issues |
4.0 | Technical background |
5.0 | User interface |
6.0 | Programmer interface |
7.0 | Data interchange |
8.0 | Data formats |
9.0 | External dependencies |
10.0 | Acceptance test |
11.0 | Non compliances |
12.0 | Development test strategy |
13.0 | Product organisation |
14.0 | Future enhancements |
15.0 | Glossary |
16.0 | References |
17.0 | History |
See also PRM's 5a pg. 73. [3] locations denoted as 'not used' in this specification may be specified allocated in the PRM.
The NV-RAM in the STB-400 is used to stored the default configuration settings for many parts of the OS. Most of these settings are automatically initialised to suitable values every time the STB-400 boots. This avoids any potential problems due to corruption of the EEPROM contents. The contents of the EEPROM are also reset whenever one of the following conditions holds true:
The last 1K of NV-RAM (from locations &C00 to &FFF inclusive) is the write-protected area.
The contents of NV-RAM can be read and written using the NV-RAM module [2]. The following table provides details of the contents of NV-RAM and the default values. Some areas are used for network configuration, the contents of which may vary depending on the networking protocol used. These are denoted as 'network configuration options'.
Notation: | Meaning: |
---|---|
a,b | Numbers a and b |
a-b | Numbers a to b (inclusive) |
XX | Do not care, contents liable to change |
(D) | Default location sub-bit option |
(D=xx) | Default value for specified location |
Loc: | Value: | Description: |
00 | 00 | Network IP Address (octet 0) |
01 | 00 | Network configuration option (one byte) |
02 | 00 | Boot file server name CVS (first byte only) |
03,04 | 00 | Not used |
05 | 2E | Filesystem number (ResourceFS) |
06,07 | 00 | UNPLUG bytes 1 and 2 |
08 | 00 | Not used |
09 | 00 | UNPLUG byte 3 |
0A | 00 | TV vertical adjust
Bit 0-3 Not used Bit 4 TV interlace (D=1) Bits 5-7 TV vertical adjust (D=0) |
0B | 10 | Miscellaneous configuration
Bits 0-2 Not used Bits 3-5 Caps mode 001 = Shift caps 010 = No caps (D) 100 = Caps Bit 6-7 Not used |
0C | 20 | Keyboard auto-repeat delay |
0D | 08 | Keyboard auto-repeat rate |
0E | 00 | Not used |
0F | 02 | Printer information
Bit 0 Printer colour status 0 = monochrome (D) 1 = colour Bit 1 Status of ignore character 0 = Use the ignore character 1 = No ignore character (D) Bits 2-7 Not used |
10 | 10 | Miscellaneous flags
Bit 0-3 Not used Bit 4 Boot/NoBoot 0 = No Boot 1 = Boot (D) Bits 5-7 Not used |
11 | 00 | Not used |
12-13 | 00 | UNPLUG bytes 4 and 5 |
14-15 | 00 | Extension ROM unplug bytes 1 & 2 |
16 | 00 | Wimp flags
Bit 0 Wimp double-click delay unit Bit 1 Wimp auto-front delay unit Bit 2-6 Wimp double-click move Bit 7 Wimp auto-front Iconbar |
17 | 00 | Wimp flags
Bits 0-3 Wimp auto-menu delay Bit 4 Wimp auto-menu delay unit Bits 5-7 Wimp Iconbar speed |
18 | 00 | Territory (UK) |
19 | 00 | Printer buffer size: 0 =1k in usual area >0 = 4K * n (claimed from RMA) |
1A | 00 | Not used |
1B | 00 | Wimp flags
Bits 0-3 Wimp menu drag delay Bit 4 Wimp menu drag delay unit Bits 5-7 Wimp Iconbar acceleration |
1C | 01 | FileSwitch CMOS
Bit 0 Truncate name bit 0 = Give error if name too big 1 = Truncate name (D) |
1D | 03 | Mouse type CMOS
0 = standard quadrature mouse 1 = Microsoft compatible serial mouse 2 = Mouse Systems Corporation serial mouse 3 = PS/2 mouse (D) 4-255 = Reserved |
1E-21 | 00 | Extra IP Address 4 (used by IPConfig) |
22-25 | 00 | Extra IP Address 3 (used by IPConfig) |
26-29 | 00 | Extra IP Address 2 (used by IPConfig) |
2A-2D | 00 | Extra IP Address 1 (used by IPConfig) |
2E-37 | 00 | Not used |
38-3B | 00 | Boot Server IP Address |
3C-4F | 00 | Not used |
50 | 00 | IP Address of NetBios Name Server (octet 0) |
51-6A | 00 | NFS Mount path to boot structure |
6B | 00 | Not used |
6C-6E | 00 | Network IP Address (octet 3, 2 and 1) |
6F | 01 | Additional Networking allocations
Bit 0 LanManFS Transport Protocol Switch Flag 0 = NetBEUI 1 = NetBIOS over IP (D) Bit 1 Enable Static IP Booting 0 = Dynamic IP Booting (D) 1 = Static IP Booting Bit 2 Not used Bits 3-7 Sub-net Mask |
70-7F | 00 | Not used |
80 | 00 | Current year (D=00) Must be set during manufacture |
81 | 14 | Current year (century) (D=14) Must be set during manufacture |
82-83 | 00 | UNPLUG bytes 6 and 7 |
84 | A0 | DumpFormat & 16-bit sound
Bits 0-4 No used Bits 5,6 16-Bit sound control 0 = No 16-bit sound output, use mu-law 1 = DAC clock is slave. 11.2896MHz external clock (D) 2 = DAC clock is slave. No external 3 = DAC clock is master. External clock must be used for 16-bit sound. Bit 7 Sound quality control 0 = No quality adjustment 1 = Perform sample interpolation (D) |
85 | FD | Sync, monitor and mode information
Bits 0,7 Sync type 00 = Separate syncs 01 = Composite syncs 10 = Reserved 11 = Auto syncs (D) Bit 1 Not used - set to zero Bits 2-6 Monitor type 00000 = Monitor type 0 Normal 00001 = Monitor type 1 Multisync 00010 = Monitor type 2 Hi-Res Monochrome 00011 = Monitor type 3 VGA 00100 = Monitor type 4 Super VGA 00101 = Monitor type 5 LCD 00110 = Monitor type 6 Third party use 00111 = Monitor type 7 File 01000 = Monitor type 8 to 11110 = Monitor type 1E - Undefined 11111 = Monitor type 1F Auto (D) |
86 | 20 | FontSize (units of 4k) (D=32 - 128k) |
87-8A | 00 | Not Used |
8B | F4 | Time CMOS (GMT) Indicates the offset from UTC(GMT) to the current time zone. The byte is a signed 2's complement number, this represents the number of 15 minute increments required. |
8C | 21 | Desktop features CMOS
Bit 0 Chosen RISC OS look 0 = 2D (RISC OS 2.00 style) look 1 = 3D look (D) Bits 1-4 Desktop font setting: 0 = Use Wimp$Font and Wimp$FontSize 1 = Use system font 2-15 = use ROM font Bit 5 Wimp sprite precedence Bit 6 Wimp button type Bit 7 Window background tiling enabled 0 = tiled with tile_1 (D) 1 = not tiled, ie grey1 |
8D,8E | 00 | UNPLUG bytes 8 and 9 |
8F | 00 | Screen size (units of page size) |
90 | 00 | RAM Disc size (units of page size) |
91 | 00 | System heap size (units of page size) |
92 | 00 | RMA size (units of pagesize) |
93 | 00 | Sprite size (units of pagesize) |
94 | F0 | Sound default parameters
Bits 0-3 Channel voice 1-16 (D=0 - Voice 1) Bits 4-6 Loudness (D=7 - Volume 7) Bit 7 Speaker on/off (Not used) |
95-98 | 00 | DNS IP address |
99-9D | 00 | Not used |
9E-AC | 00 | Boot FileServer name (all except first byte) |
AD-B0 | 00 | UNPLUG bytes 9 to 12 |
B1-B8 | 00 | Expn. card unplugged ROM bytes 1 to 8 |
B9 | 0A | Configured language |
BA | 01 | Configured country (UK) |
BB | 00 | Network card UNPLUG byte |
BC | 00 | Miscellaneous flags #1
Bits 0-2 Not used Bits 3-5 Screen blank time 000 = No screen blanking (D) 001 = 30 Second blanking time 010 = 1 minute blanking time 011 = 2 minutes blanking time 100 = 5 minutes blanking time 101 = 10 minutes blanking time 110 = 15 minutes blanking time 111 = 30 minutes blanking time Bit 6 Should screen blank ignore WRCH? 0 = Ignore WRCH (D) 1 = WRCH un-blanks display. Bit 7 Not used |
BD-C1 | 00 | Not used |
C2 | 02 | Mouse multiplier |
C3 | 14 | Miscellaneous
Bit 0,1 Not used Bit 2 Reset CMOS Bit, set to zero by the kernel on startup 0 = Last reset was not a Delete/Copy/R/T reset 1 = Last reset was a Delete/Copy/R /T reset (D) Bit 3 Not used Bit 4 Mode/WimpMode auto bit 0 = Use WimpModeCMOS 1 = Auto (D) Bit 5 Processor cache 0 = Cache enabled (D) 1 = Cache disabled Bit 6,7 Not used |
C4 | 00 | Wimp mode |
C5 | EF | Wimp flags
Bits 0-3 Instant dragging (1=allow, 0=disallow) Bit 0 position (D=1) Bit 1 size (D=1) Bit 2 horizontal scroll (D=1) Bit 3 vertical scroll (D=1) Bit 4 Action on error 0 = beep (D) 1 = don't beep Bits 5,6 Allow windows off screen (1=allow, 0=don't allow) Bit 5 to bottom and right (D=1) Bit 6 to top and left (D=1) Bit 7 Auto open sub-menus 0 = don't auto open 1 = do open (D) |
C6,C7 | 00 | Not used. |
C8 | 00 | Max font cache size (D=0 - don't grow) |
C9 | 00 | Max height of rescaled bitmaps (D=0) |
CA | 2C | Max height of anti-aliased fonts (D=44) |
CB | 38 | Max height of cached bitmaps (D=56) |
CC | 0D | Max point height for horiz. sub-pixel anti-aliasing (D=13) |
CD | 00 | Max point height for vertical sub-pixel anti-aliasing |
CE-D8 | 00 | Not used |
D9-DB | 00 | UNPLUG bytes 13 to 15 |
DC | 00 | Not used |
DD | 00 | Wimp flags
Bits 0-3 Wimp drag delay Bits 4-7 Wimp auto-scroll delay |
DE | 80 | Wimp flags
Bit 0 Wimp drag delay unit Bit 1 Wimp auto-scroll delay unit Bits 2-6 Wimp drag move Bit 7 Wimp iconise button |
DF | 00 | Wimp flags
Bits 0-3 Wimp double-click delay Bits 4-7 Wimp auto-front delay |
E0-E3 | 00 | Default Gateway IP Address |
E4-E6 | 00 | IP Address of NetBIOS Name Server (octet 3, 2 and 1) |
E7-EE | 00 | Not used |
EF | XX | CMOS RAM Checksum Re-calculated at save time. |
F0-FF | XX | Not used (would be OTP section of 2K NVRAM) |
100 | 00 | Miscellaneous
Bits 0-1 Not used Bit 2 On Screen Keyboard format 0 = Qwerty (D) 1 = Alphabetical Bits 3-7 Not used |
101 | 00 | Lower byte of Printer code |
102 | 20 | Upper bits of Printer code and Printer flags
Bits 0,1 Upper bits of Printer code Bits 2,3 Printer paper size 0 = A4 (D) 1 = US letter 2 = US legal 3 = Use general PaperSizes file Bit 4 Printer Paper Orientation 0 = Portrait (D) 1 = Landscape Bit 5 Browser Print Images 0 = off 1 = on (D) Bit 6 Browser Print Backgrounds 0 = off (D) 1 = on Bit 7 Not used |
103 | 7D | Browser flags
Bits 0,1 Font size 0 = small 1 = medium (D) 2 = large 3 = undefined Bit 2 Music status 0 = off 1 = on (D) Bit 3 Beep status 0 = off 1 = on (D) Bit 4 Scaling 0 = off 1 = on (D) Bit 5 Display Images 0 = off 1 = on (D) Bit 6 Display Backgrounds 0 = off 1 = on (D) Bit 7 Not used |
104,105 | CC,08 | Browser Character Encoding flags
Bits 0-14 17 = Japanese Shift-JIS 18 = Japanese EUC 39 = Japanese JIS 2025 = Chinese Simplified GB2312 2026 = Chinese Traditional Big Five 2252 = Western (D) 4004 = Japanese Auto Detect Bit 15 Override the encoding on page 0 = No (D) 1 = Yes |
106 | 64 | TV Display Settings
Bit 0 TV Aspect Ratio 0 = normal 4:3 (D) 1 = widscreen 16:9 Bits 1,2 TV Viewing Mode 0 = Bars 1 = Reserved 2 = Crop (D) 3 = Stretch Bits 3-7 TV Standard 0 = NTSC-4.43 1 = NTSC-M 2 = NTSC-M-JP 3 = PAL-60 4 = PAL-B 5 = PAL-B-AU 6 = PAL-B-IT 7 = PAL-B-NZ 8 = PAL-CN 9 = PAL-D 10 = PAL-G 11 = PAL-H 12 = PAL-I (D) 13 = PAL-M 14 = PAL-N 15 = SECAM-B 16 = SECAM-D 17 = SECAM-G 18 = SECAM-K 19 = SECAM-K1 20 = SECAM-L |
107,108 | 4F,0B | Miscellaneous Video Hardware Settings
Bits 0-9 RF Channel in Video Carrier MHz 847 = Channel 68 PAL-I (D) Bits 10-11 SCART Configuration 0 = Composite 1 = RGB (D) 2 = S-Video Bits 12 Wide Screen Signalling Bits 13,15 Not used |
109 | 33 | Network Boot File System Number |
10A-10D | 00 | System Time |
10E | 00 | Allocated to Customer I |
10F | 00 | SPDIF output configurationBits 0-1 PCM output mode Bits 2-3 MPEG output mode Bits 4-5 AC3 output mode Bits 6-7 DTS output mode where, for PCM, AC3 and DTS: 0 = on (compressed) 1 = on (PCM downmix) 2 = off 3 = undefined and for MPEG: 0 = off 1 = undefined 2 = on (compressed) 3 = on (PCM downmix) |
110-113 | 00 | Engineering menu startup key code(s) |
114 | 00 | SPDIF output configuration / Dolby audio operational mode
Bits 0-1 SPDIF SDDS output mode Bit 2 Dolby audio operational mode where, for bits 0-1: 0 = on (compressed) 1 = on (PCM downmix) 2 = off 3 = undefined and for bit 2: 0 = RF mode (dialogue level at -20 dB full scale) 1 = Line mode (dialogue level at -31 dB full scale) |
115-514 | XX | Reserved for Customer N |
514-BFF | XX | Undefined |
C00-C05 | XX | MAC address |
C06 | XX | MAC address checksum |
The above table assumes that the hardware platform is PAL. If the hardware is NTSC then the following values default values are set by the OS:
Loc: | Value: | Meaning: |
18 | 31 | Territory (USA) |
8B | E0 | Time CMOS (GMT-8) |
BA | 30 | Configured country (USA) |
<tag>:<byte offset>[,[<bit offset>][,[<length>][,[<default>][,[<flags>]]]]]
<tag>
is the tag which is looked up (starts with alpha
then all alpha-numeric with no spaces), <byte offset>
is the
byte location where the field starts, <bit offset>
is the
bit within the byte at which the field starts, <length>
is the field length in bits, <default>
is the default value
used in NVRAM reset and <flags>
is any combination of the
following:
L Field is locked and cannot be changed. If these values are ever altered, then they will be reset to the default value when the box reboots. P Field is protected. (not changed during NVRAM reset)Values can be decimal or hex (if preceded by &). All fields after
<byte offset>
are optional and can either
be left off completely or can be left empty in which case they default to the
following:
<bit offset> 0 <length> 8 <default> 0 <flags> NoneThe following tags are provided by the NVRAM module for the STB-400:
IPConfigHostIP3:&000 NetFSId1:&001 NetFSId2:&002 FileSystem:&005,,,46,L Unplug0:&006,,,,L Unplug1:&007,,,,L Unplug2:&009,,,,L TVInterlace:&00A,4,1,,L TVVerticalAdjust:&00A,5,3,,L CapsMode:&00B,3,3,2,L AutoRepeatDelay:&00C,,,32,L AutoRepeatRate:&00D,,,8,L PrinterColour:&00F,,1 PrinterIgnoreState:&00F,1,1,1,L BootState:&010,4,1,1,L Unplug3:&012,,,,L Unplug4:&013,,,,L ExtUnplug:&014,,16,,L WimpDoubleClickDelayUnit:&016,,1,,L WimpAutoFrontDelayUnit:&016,1,1,,L WimpDoubleClickMove:&016,2,5,,L WimpAutoFrontIconBar:&016,7,1,,L WimpAutoMenuDelay:&017,,4,,L WimpAutoMenuDelayUnit:&017,4,1,,L WimpIconBarSpeed:&017,5,3,,L Territory:&018,,,,P PrinterBufferSize:&019,,,,L WimpMenuDragDelay:&01B,,4,,L WimpMenuDragDelayUnit:&01B,4,1,,L WimpIconBarAcceleration:&01B,5,3,,L FileSwitchTruncate:&01C,,1,1,L MouseType:&01D,,,3,L IPConfigIPAddr1:&02A,,32 IPConfigIPAddr2:&026,,32 IPConfigIPAddr3:&022,,32 IPConfigIPAddr4:&01E,,32 BootServerIP:&038,,32 LanManNBNS0:&050 NetBootMount:&051,,208 IPConfigHostIP012:&06C,,24 LanManTransport:&06F,,1,1 IPConfigStaticBoot:&06F,1,1 IPConfigCIDRLength:&06F,3,5 CurrentYear:&080,,,0 CurrentCentury:&081,,,20 Unplug5:&082,,,,L Unplug6:&083,,,,L SoundControl:&084,5,3,5,L MonitorInfo:&085,,,253,L FontSize:&086,,,32,L TimeZone:&08B,,,224,P DesktopLook:&08C,,1,1,L DesktopFont:&08C,1,4,,L WimpSpritePrecedence:&08C,5,1,1,L WimpButtonType:&08C,6,1,,L DesktopTileStatus:&08C,7,1,,L Unplug7:&08D,,,,L Unplug8:&08E,,,,L ScreenSize:&08F,,,,L SystemHeapSize:&091,,,,L RMASize:&092,,,,L SpriteAreaSize:&093,,,,L SoundParameters:&094,,,240,L DNSIPAddr:&095,,32 LanManFSBootServer:&09E,,120 Unplug9:&0AD,,,,L Unplug10:&0AE,,,,L Unplug11:&0AF,,,,L Unplug12:&0B0,,,,L PoduleUnplug:&0B1,,64,,L Language:&0B9,,,10,L Country:&0BA,,,1,P NetUnplug:&0BB,,,,L ScreenBlankTime:&0BC,3,3,,L ScreenBlankWRCH:&0BC,6,1,,L MouseMultiplier:&0C2,,,2,L ResetStatus:&0C3,2,1,1 WimpModeStatus:&0C3,4,1,1,L ProcessorCacheStatus:&0C3,5,1,,L WimpMode:&0C4 WimpFlagsInstantDrag:&0C5,,4,15,L WimpFlagsErrorAction:&0C5,4,1,,L WimpFlagsConfinement:&0C5,5,2,3,L WimpFlagsSubMenus:&0C5,7,1,1,L FontCacheSize:&0C8,,,,L FontMaxRescaled:&0C9,,,,L FontMaxAntiAliased:&0CA,,,44,L FontMaxCached:&0CB,,,56,L FontMaxSubPixelWidth:&0CC,,,13,L FontMaxSubPixelHeight:&0CD,,,,L Unplug13:&0D9,,,,L Unplug14:&0DA,,,,L Unplug15:&0DB,,,,L WimpDragDelay:&0DD,,4,,L WimpAutoScrollDelay:&0DD,4,4,,L WimpDragDelayUnit:&0DE,,1,,L WimpAutoScrollDelayUnit:&0DE,1,1,,L WimpDragMove:&0DE,2,5,,L WimpIconiseButton:&0DE,7,1,1,L WimpDoubleClickDelay:&0DF,,4,,L WimpAutoFrontDelay:&0DF,4,4,,L DefaultIPRoute:&0E0,,32 LanManNBNS123:&0E4,,24 NVRAMChecksum:&0EF KeyboardFormat:&100,2,1 PrinterCode:&101,,10 PaperSize:&102,2,2 PrinterOrientation:&102,4,1 PrinterPrintImages:&102,5,1,1 PrinterPrintBackgrounds:&102,6,1 BrowserFontSize:&103,,2,1 BrowserMusicStatus:&103,2,1,1 BrowserBeepStatus:&103,3,1,1 BrowserScaling:&103,4,1,1 BrowserDisplayImages:&103,5,1,1 BrowserDisplayBackgrounds:&103,6,1,1 BrowserEncoding:&104,,15,2252 BrowserEncodingOverride:&105,7,1 TVAspectRatio:&106,,1 TVViewingMode:&106,1,2,2 TVStandard:&106,3,5,12 RFChannel:&107,,10,847 SCARTConfiguration:&108,2,2,1 WideScreenSignalling:&108,4,1 SecondaryFileSystem:&109,,,33 SystemTime:&10A,,32 CustomerI0:&10E,,8,0 SPDIFOutPCM:&10F,,2,0 SPDIFOutMPEG:&10F,2,2,0 SPDIFOutAC3:&10F,4,2,0 SPDIFOutDTS:&10F,6,2,0 EngMenuKeys:&110,,32,0 SPDIFOutSDDS:&114,,2,0 DolbyAudioMode:&114,2,1,0 CustomerN:&115,,8192 MACAddress:&C00,,48 MACAddressChecksum:&C06,,8
DNS | Domain Name Server. |
ID | Identification. |
IP | Internet Protocol. |
MAC | Machine. |
NV-RAM | Non-volatile RAM. |
OS | Operating System. |
RMA | Relocatable Module Area. |
STB | Set Top Box. |
RAM | Random Access Memory. |
ROM | Read Only Memory. |
[1] | STB-400 OS ROM Functional Specification (2501,828/FS). |
[2] | NV-RAM Software Functional Specification (2207,780/FS). |
[3] | RISC OS 3 Programmer's Reference Manual Volume 5a, Acorn Group plc. ISBN 1 85250 172 3. Edition 1 Issue 1 August 1995 |
A OLove 07-Oct-1999 Initial release. B SRevill 03-Dec-1999 Updated after review. 1A ARodger 17-May-2000 Integrated NVRAM as built. 2 ARodger 12-Jul-2000 Documented Kernel Interaction. 3 SRevill 12-Jul-2001 Updated to include Customer N allocation; Corrected the entries of the configured Language; Made some other minor formatting changes. 4 SRevill 09-Apr-2002 Fixed Customer N allocation (size wrong in tags file); Added Engineering Menu startup keys allocation; Added Customer I allocation. 5 SRevill 01-May-2002 Juggled the Customers I and N and EngMenu allocations after finding released EngMenu code which used the wrong locations (and trashed the Customer I byte); 6 SRevill 03-May-2002 Added the SPDIF output mode allocations. 6A BAvison 16-Jul-2002 Added DolbyAudioMode allocation, and the missing SPDIF one.