STB-400 EEPROM Contents Specification


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

Contents

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


1.0 Copyright

This document is copyright © Pace Micro Technology plc, 1999.


2.0 Overview

This document specifies the contents the 4096 bytes of NV-RAM in the STB-400 and the default values stored. See the STB-400 OS ROM Functional Specification [1] for more detailed information on the STB-400 functionality.


3.0 Outstanding issues

There are no outstanding issues.


4.0 Technical background

NV-RAM Area:

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 configuration
Bits 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)

NV-RAM Tag File:

The file used to map tags to NV-RAM locations contains lines of the following format.

Where <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>         None
The 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

5.0 User interface

This section is not applicable.


6.0 Programmer interface

This section is not applicable.


7.0 Data interchange

This section is not applicable.


8.0 Data formats

This section is not applicable.


9.0 External dependencies

There are no external dependenices.


10.0 Acceptance test


11.0 Non compliances

There are no non-compliances.


12.0 Development test strategy


13.0 Product organisation

The structure and contents of NV-RAM are stored in the NV-RAM module [2].


14.0 Future enhancements

None at the present time.


15.0 Glossary

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.

16.0 References

[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

17.0 History

    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.