NC Model 1 NVRAM Contents


    Distribution: COMPANY CONFIDENTIAL

    Project:      NC Model 1
    Issue:        0.10
    Author(s):    Steve Cormie
    Date:         05-Jan-97
    Last Issue:   0.09
  

Contents.


History

	0.01 SMC 05-Jul-96 Created.
	0.02 SMC 11-Jul-96 Added IR and ethernet addr CMOS.
	0.03 SMC 17-Jul-96 Added Modem CMOS.
	0.04 SMC 23-Jul-96 Added dialling code CMOS.
	0.05 SMC 30-Jul-96 Added printer and monitor mode CMOS.
	0.06 SMC 06-Aug-96 Modified monitor mode CMOS.
			   Renamed ethernet to machine address CMOS.
	0.07 SMC 02-Sep-96 Modified monitor mode CMOS.
	0.08 SMC 03-Sep-96 Added modem time out CMOS.
	0.09 SMC 16-Oct-96 Added misc flags for NCs.
	0.10 SMC 05-Jan-97 Added static IP info for NCs.

Outstanding issues

There are no outstanding issues.


Overview

The following list defines the default NVRAM settings for NC Model 1, ie. the settings achieved by a <Delete> power—on. This is a translation of the description information provided in file Hdr.CMOS‘ in the RISC OS source filer, default values from the kernel and the CMOSReset module sources.

On a <Delete> power-on the NC Model 1 Kernel only resets the minimum number of NVRAM locations required to produce a working machine. The rest of NVRAM is initialised to 0. A CMOSReset module in main ROM then sets any remaining NVRAM to specific values every time the machine is reset if the contents are found to be different to those expected eg. after a reset. In this way it is unlikely that the machine will ever suffer from corrupt NVRAM.


Technical background

NC Model 1 has 1K of NVRAM available of which only the first 256 bytes are used in the first release of software. This will change in the second release of software where NVRAM usage will be rationalised and a new scheme will be introduced. The first 16 bytes of NVRAM are reserved for use as real-time-clock if one is fitted in future. This leaves 240 bytes available for first release.

The locations listed below are logical locations, as used by the OS_Byte SWIs. For first release of software the following mapping is applied between logical locations and physical locations.

	Logical locations	Physical locations
	&00 to &BF		 &40 to &FF
	&C0 to &EF		 &10 to &3F

Bytes may be used or altered during the production test process but must be re- configured to match this list (plus any Differences List‘ changes, if specified) on completion of the tests.

Default values are shown in Hexadecimal.

Notation:

	a,b	Numbers a and b
	a-b	Numbers a to b
	XX	Do not care, contents liable to change
	??	Do not care, contents unknown
	(D)	Default location sub-bit option

Italics are used to denote locations which may no longer fullfill any reasonable function and might be re-usable. Locations which are not used by NC Model 1 ROM software still currently retain their RISC OS functions.

NVRAM Contents

	Loc	Value	Description

00 XX Econet station number 01 XX Econet file server station id 02 XX Econet file server net number 03 XX Econet printer server station id 04 XX Econet printer server net number 05 2E Filesystem number (ResourceFS) 06,07 00 UNPLUG bytes 1 and 2 08 XX Twin CMOS 09 00 UNPLUG byte 3 0A 10 TV vertical adjust Bits 0-3 Not used Bit 4 Not used Bits 5-7 TV vertical adjust 0B 50 Miscellaneous configuration Bits 0-2 ADFS drive (D=0) Bits 3-5 Caps mode 001 = Shift caps 010 = No caps (D) 100 = Caps Bit 6 loads directory on switch on 0 = Directory 1 = No Directory (D) Bit 7 Not used 0C 20 Keyboard auto-repeat delay 0D 08 Keyboard auto-repeat rate 0E 0A Printer ignore character 0F 2C Printer information Bit 0 Printer colour status 0 = monochrome 1 = colour Bit 1 Status of ignore character 0 = Use the ignore character (D) 1 = No ignore character Bits 2-4 Baud rate (D=3) Bits 5-7 Printer destination (D=1) Print is sent to PrinterType$n 10 90 Miscellaneous flags Bit 0 Not used Bit 1 Speaker volume 0 = Quiet (D) 1 = Loud Bit 2 Not used Bit 3 Scroll on/off 0 = Scroll (D) 1 = No scroll Bit 4 Boot/NoBoot 0 = No Boot 1 = Boot (D) Bits 5-7 Serial Data Format (D=4) (8 bits, no parity) 11 XX Net Filer flags Bit 0 FS List sorting mode 0 = By name 1 = By number Bit 1 Library type 0 = Returned by file server 1 = Use $.ArthurLib Bits 2,3 FS List display mode 00 = Large icons 01 = Small icons 10 = Full info 11 = Reserved Bits 4-7 Not used 12-13 00 UNPLUG bytes 4 and 5 14-15 00 Extension ROM unplug bytes 1 & 2 16 00 Wimp Double - Click - Move - Time 17 00 Wimp Auto - Sub Menu - Time 18 2F Territory (D=47 (USA)) 19 00 Printer buffer size 0 =1k in usual area >0 = 4K * n (claimed from RMA) 1A 00 ADFS Spin down (IDE disc auto spin—down delay in n*5 seconds) 1B 00 Wimp Menu - Drag - Delay 1C 03 FileSwitch CMOS Bit 0 Truncate name bit 0 = Give error if name too big 1 = Truncate name (D) Bit 1 DragASprite bit 0 = Do not use DragASprite 1 = Do use DragASprite (D) Bit 2 Interactive filer operations 0 = Use interactive filer ops (D) 1 = Don't use interactive filer ops Bit 3 WIMP use dither patterns 0 = Do not use dither patterns (D) 1 = Do use dither patterns Bit 4 WIMP shift toggle 0 = Normal toggle action (D) 1 = Never obscure icon bar Bit 5 Reserved Bits 6,7 State of last shutdown 00 = Don't care (D) 01 = Failed 10 = Due to power loss 11 = Undefined 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 NC static IP address (was User CMOS) 22-25 00 NC boot server IP address (was User CMOS) 26-29 00 NC gateway IP address (was user CMOS) 2A-2D 00 NC sub-net mask (was User CMOS) 2E-3B 00 Third party software CMOS 3C-4F 00 Podule extra CMOS (podules 4-7 and network slot) 50-6A 00 NC boot mount path (was ShareFS CMOS) 50 XX ShareFS net number 51 XX ShareFS marker 52-69 XX ShareFS remote disc names 6A XX ShareFS modified ADFSFiler bits 6B XX Printer ID CMOS 6C 00 Configured monitor mode CMOS Bits 0-4 Resolution 0 = 640x480 1 = 800x600 2 = 1024x768 all other values reserved Bits 5,6 Pixel depth 0 = 8bpp 1 = 16bpp 2 = 32bpp 3 = reserved Bit 7 High frame rate bit 0 = use standard frame rates 1 = use high frame rates 6D 00 Miscellaneous NC flags Bits 0,1 Printer paper size 0 = A4 1 = US letter 2 = US legal 3 = Use general PaperSizes file Bit 2 Static IP enable/disable 0 = disabled 1 = enabled Bits 3-7 Not used 6E-6F 00 Not used 70-73 00 Podule 0 CMOS 74-77 00 Podule 1 CMOS 78-7B 00 Podule 2 CMOS 7C-7F 00 Podule 3 CMOS 80 60 Current year (D=96) Must be set during manufacture 81 13 Current year (century) Decimal 19 82-83 00 UNPLUG bytes 6 and 7 84 A4 DumpFormat & 16-bit sound Bits 0,1 Control characters print control 00 = Print in GST format : |M (D) 01 = Print : '.' 10 = Print decimal 11 = Print hexadecimal Bit 2 Top bit set character control 0 = Control characters 1 = Valid (D) Bit 3 8/7 bit ASCII control in *Dump 0 = Send character unaltered (D) 1 = AND character with &7F Bit 4 Tab size control 0 = Don't treat tab as 8 spaces (D) 1 = Treat tab as 8 spaces 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 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 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 10 FontSize (units of 4k) D=16 (64k) 87 XX New ADFS CMOS byte #1 Bits 0-2 Number of floppy disc drives D=0 Bits 3-5 Not used Bits 6,7 Number of IDE hard discs D=0 88 XX New ADFS CMOS byte #2 Bits 0,1 Step rate - floppy disc 0 D=3 Bits 2,3 Step rate - floppy disc 1 D=3 Bits 4,5 Step rate - floppy disc 2 D=3 Bits 6,7 Step rate - floppy disc 3 D=3 89 XX New ADFS CMOS byte #3 File buffers (ADFSBuffers) 0 = no 1k buffers 1 = no. of buffers depends on memory size (D) 1MB = 2x 1k buffers >1MB = 4x 1k buffers for each MB installed >1 = n x 1k buffers 8A 60 CDROMFS CMOS Bits 0-4 Number of CD-ROM drives D=0 Bits 5-7 Buffer size 000 = None 001 = 8K 010 = 16K 011 = 32K (D) 100 = 64K 101 = 128K 110 = 256K 111 = 512K 8B 00 Time CMOS 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 83 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 Bits 5-6 Reserved 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 pagesize) 90 00 RAM Disc size (units of pagesize) 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 Not used 95-98 00 NC DNS IP address 99-9D XX Printer server name bytes 2 to 6 9E 00 Modem CMOS Bits 0-3 Prefix digit + 1 (0 => no prefix) Bit 4 Wait for second dial tone 0 = don't wait 1 = wait Bit 5 Dial type 0 = tone dialling 1 = pulse dialling Bits 6,7 Not used 9F-A1 Local dialling code (one digit+1 per nibble, terminated by 0 nibble) A2 05 Modem disconnection time out Bits 0-5 Time out in minutes (0 = disabled) Bits 6,7 Not used A3-A5 00 Not used A6-AB 00 Machine address AC 00 Machine address check sum byte AD-B0 00 UNPLUG bytes 10 to 13 B1-B4 00 Expn. card unplugged ROM bytes 1 to 4 B5-B8 XX Wild cards for BASIC editor B9 00 Configured language BA 30 Configured country D=48 (USA) BB 00 Network card UNPLUG byte BC 00 Miscellaneous flags #1 Bits 0,1 ROMFS Opt4 status D=0 (OPT 4,0) Bit 2 Cache icon enable state 0 = No cache icon (D) 1 = Caches icon 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 Hardware test enable 0 = Enable long tests (D) 1 = Disable long tests BD-C0 XX ADFS Hard Disc map size (in sectors) for drives 4-7 C1 XX Protection state for immediate Econet commands Bit 0 Peek 0 = Disabled (D) 1 = Enabled Bit 1 Poke 0 = Disabled 1 = Enabled (D) Bit 2 JSR 0 = Disabled 1 = Enabled (D) Bit 3 User RPC 0 = Disabled (D) 1 = Enabled Bit 4 OS RPC 0 = Disabled 1 = Enabled (D) Bit 5 Halt 0 = Disabled 1 = Enabled (D) Bit 6 GetRegs 0 = Disabled 1 = Enabled (D) Bit 7 Undefined C2 02 Mouse multiplier C3 55 Miscellaneous Bit 0 AUN ROMBoot 0 = Disabled 1 = Enabled (D) Bit 1 AUN Dynamic station numbering 0 = Disabled (D) 1 = Enabled Bit 2 Reset CMOS Bit 0 = Last reset was not a Delete/Copy/R/T reset 1 = Last reset was a Delete/Copy/R /T reset (D) Bit 3 Power saving bit 0 = Disabled (D) 1 = Enabled 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 Broadcast loading 0 = Broadcast loading enable Bit 7 Broadcast loader colours 0 = disable (D) 1 = enable C4 00 Wimp mode C5 6F 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 (D) 1 = do open C6 40 Desktop State Bits 0,1 Display mode (Filer) 00 = Large icons (D) 01 = Small icons 10 = Full info 11 = Reserved Bits 2,3 Sort mode (Filer) 00 = Sort by name (D) 01 = Sort by type 10 = Sort by size 11 = Sort by date Bit 4 Force option (Filer) 0 = Do not overwrite (D) 1 = Do overwrite Bit 5 Confirm option (Filer) 0 = Do not confirm (D) 1 = Do ask for confirmation Bit 6 Verbose option (Filer) 0 = No verbose 1 = Verbose (D) Bit 7 Newer option (Filer) 0 = When looking, just look (D) 1 = When looking, look newer C7 XX ADFS Directory cache size 0 = no. of buffers depends on memory 1MB = 2x1K buffers >1MB = 4x1K buffers for each 1MB fitted C8 00 Max font cache size C9 00 Max height of rescaled bitmaps D=0 (16 point) CA 2C Max height of anti-aliased fonts D=44 (32 point) CB 38 Max height of cached bitmaps D=56 (32 point) CC 00 Max point width for horiz. sub-pixel anti-aliasing CD 00 Max point height for vertical sub-pixel anti-aliasing CE-CF 00 Not used (was FontMax6,7) D0 XX SCSIFS flags D1 XX SCSIFS file cache buffers D2 XX SCSIFS Directory cache size D3-D6 XX SCSIFS Disc 1 to 4 sizes (Map Size / 256) D7,D8 00 Not used (was Deskboot CMOS) D9-DB 00 UNPLUG bytes 14 to 16 DC XX Alarm and time byte Bits 0-2 Format state 000 = Illegal 001 = Analogue with seconds 010 = Analogue without seconds 011 = HH:MM 100 = "%24:%mi:%se" 101 = "%z12:%mi:%se %am %zd %zmn %yr" 110 = Reserved 111 = Reserved Bit 3 Deletion flag 0 = No confirmation (D) 1 = Ask for confirmation Bit 4 Auto save flag 0 = No auto save 1 = Auto save (D) Bit 5 5 day week flag 0 = Disabled (D) 1 = Enabled Bit 6 Alarm noise 0 = Not silent (D) 1 = Silent Bit 7 Daylight Saving Time flag 0 = Normal time (non-DST) (D) 1 = Daylight Saving Time (DST) DD 00 Wimp Drag Time DE 00 Wimp Drag - Move Limit DF 00 Wimp Double - Click Time E0-E5 XX Local print server name (overlays RISCiX CMOS) E6 00 Power saving CMOS (overlays RISCiX CMOS) E7 00 UNPLUG byte 17 E8 00 IR device Bits 0-3 Device id Bit 4 Device id enable 0 = disabled 1 = enabled Bits 5-7 Reserved E9-ED XX FSLock CMOS No locked system, no password EE XX FSLock Checksum CMOS EF XX CMOS RAM Checksum Re-calculated at save time.