; Copyright 2008 Castle Technology Ltd
;
; Licensed under the Apache License, Version 2.0 (the "License");
; you may not use this file except in compliance with the License.
; You may obtain a copy of the License at
;
;     http://www.apache.org/licenses/LICENSE-2.0
;
; Unless required by applicable law or agreed to in writing, software
; distributed under the License is distributed on an "AS IS" BASIS,
; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
; See the License for the specific language governing permissions and
; limitations under the License.
;
; This header file is autogenerated from the files maintained by the
; RISC OS allocations manager and should not be edited by anyone else.

	 SUBT	 CMOS RAM Allocations for RISC OS => &.Hdr.CMOS

OldOpt  SETA	{OPT}
	OPT	OptNoList+OptNoP1List

; SWI OS_Byte values for manipulating the CMOS RAM

ReadCMOS			* &A1	; The OS_Byte call to read CMOS
WriteCMOS			* &A2	; The OS_Byte call to write CMOS

; The actual allocations

NetStnCMOS			* &00	; One byte
NetFSIDCMOS			* &01	; Two bytes
NetPSIDCMOS			* &03	; Two bytes
FileLangCMOS			* &05	; One byte; All eight bits used for configured filing system number
FrugalCMOS			* &06	; Two bytes
EDITCMOS			* &08	; One byte
Unplug12CMOS			* &09	; One byte
MODETVCMOS			* &0A	; One byte ; no longer used for configure mode
StartCMOS			* &0B	; One byte
					; Bits 0-2 = ADFS drive
					; Bits 3-5 = Caps mode
					;	001 = Shift caps
					;	010 = No caps
					;	100 = Caps
					; Bit  6   = Loads directory on switch on
					;	  0 = Directory
					;	  1 = No directory
					; Bit  7   = Standby mode (allocated for Online Media)
					;          = Serial port usage selector on Ursula
KeyDelCMOS			* &0C	; One byte
KeyRepCMOS			* &0D	; One byte
PigCMOS				* &0E	; One byte (Pig = Printer IGnore character)
PSITCMOS			* &0F	; One byte
					; Bit  0   = colour/monochrome (allocated for Online Media)
					;	  0 = monochrome
					;	  1 = colour
					; Bit  1   = status of ignore character
					;	  0 = use ignore character
					;	  1 = no ignore character
					; Bits 2-4 = baud rate
					; Bits 5-7 = printer destination
DBTBCMOS			* &10	; One byte
NetFilerCMOS			* &11	; One byte
					; Bit  0   = NetFiler FS list sorting mode
					;	  0 = sort by name
					;	  1 = sort by number
					; Bit  1   = NetFS library type
					;	  0 = Use default library as returned by fileserver
					;	  1 = Use $.ArthurLib
					; Bits 2,3 = NetFiler FS list display mode
					;	 00 = large icons
					;	 01 = small icons
					;	 10 = full info
					;	 11 = Reserved
Unplug10CMOS			* &12	; 2 more bytes for unplugging main ROM modules
Unplug11CMOS			* &13
ExtnUnplug1CMOS			* &14	; and 2 for unplugging extension ROM modules
ExtnUnplug2CMOS			* &15

WimpDoubleClickMoveLimitCMOS	* &16	; WimpDoubleClickMoveLimit (OSU) EOR 32   (aka WimpDoubleClickMove)
					; Ursula	bits 0      WimpDoubleClickDelayUnit (0=>ds, 1=>s)
					;		     1      WimpAutoFrontDelayUnit (0=>ds, 1=>s)
					;		     2-6    WimpDoubleClickMove (units of 4 OSU) EOR 8
					;		     7      WimpAutoFrontIconBar EOR 1

WimpAutoSubMenuTimeCMOS		* &17	; WimpAutoSubMenuTime (ds), not EORed   (aka WimpAutoMenuDelay)
					; Ursula	bits 0-3    WimpAutoMenuDelay EOR 10
					;		     4      WimpAutoMenuDelayUnit (0=>ds, 1=>s)
					;		     5-7    WimpIconBarSpeed EOR 4 (0-7 => 0, 20, 50, 100, 200, 500, 1000, 2000)

TerritoryCMOS			* &18
PrinterBufferCMOS		* &19	; 1 byte to describe printer buffer size
					; in units of 4K (claimed out of RMA); 0 => use default
					; buffer (1K in usual area)
ADFSSpinDownCMOS		* &1A	; 1 byte to hold IDE disc autospindown delay

WimpMenuDragDelayCMOS		* &1B	; WimpMenuDragDelay (ds), not EORed
					; Ursula	bits 0-3    WimpMenuDragDelay EOR 10
					;		     4      WimpMenuDragDelayUnit (0=>ds, 1=>s)
					;		     5-7    WimpIconBarAcceleration EOR 3 (0-7 => 0, 20, 50, 100, 200, 500, 1000, 2000)

FileSwitchCMOS			* &1C	; 1 byte for FileSwitch options:
FileSwitchTruncateNamesCMOSBit	* 1:SHL:0
DragASpriteCMOSBit		* 1:SHL:1
InteractiveCopyCMOSBit		* 1:SHL:2
WimpDitherDesktopCMOSBit	* 1:SHL:3
WimpShiftToggleCMOSBit		* 1:SHL:4
PFSCMOSBit			* 1:SHL:5
SwitcherShutdownCMOSBits	* 3:SHL:6

					; Bit  0 0 = Give error rather than truncate names
					;	 1 = truncate names rather than give error
					;
					; Bit  1 0 = Don't use DragASprite
					;	 1 = Use DragASprite
					;
					; Bit  2 0 = Use interactive file copy (Filer_Action)
					;	 1 = Don't use interactive file copy.
					;
					; Bit  3 0 = Wimp won't use dither patterns on desktop
					;	 1 = Wimp will use dither patterns
					;
					; Bit  4 0 = shift toggle works as in RISC OS 3.1 (toggle not to cover icon bar)
					;	  1 = shift toggle never obscures icon bar, unless shift depressed
					;
					; Bits 5 0 = Use parallel port
					;	  1 = Use serial port
					; Bits 6-7 = state of last shutdown, 0=don't care, 1=failed, 2=due to power loss, 3 =undefined

MouseCMOS			* &1D	; Mouse type CMOS.

UserCMOS			* &1E	; Sixteen bytes for the user
				^ UserCMOS
MonthCMOS			# 1	; Used only on A500 systems
LeapCMOS			# 1	; Used only on A500 systems

FreeCMOS			* &2E	; Third Party Software houses (non-STB or NC only)
				^ FreeCMOS

MBufManagerCMOS			# 1	; &2E - MBuf manager (pool size etc - moved from &6B to avoid clash (SNB 16/02/99)

MonitorModeCMOS			# 1	; &2F (for NCs) (was &6C)
					; 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

MiscellaneousNCCMOS		# 1	; &30 (for NCs) (was &6D)
					; Bits 0,1	 Paper size
					;		 0 = A4
					;		 1 = US letter
					;		 2 = US legal
					;		 3 = General PaperSizes file
					; Bit 2          "Static IP Status"
                                        ; Bit 3          Printer orientation
                                        ; Bit 4          Print images
                                        ; Bit 5          Print backgrounds
                                        ; Bits 6,7       Reserved

				^ &38
BootServerIPCMOS		# 4	; Boot server IP address (SNB 13/10/98)


; Overlay 4 bytes of Stork CMOS on PoduleExtraCMOS - not likely to have
; podules 4-7 on a portable!
;
				^ &3C
StorkCMOS			# 4

				^ &3C
PoduleExtraCMOS # 20			; &40 to &4F  nominally allocated for podules 4 to 7 and Network
					; used in reverse order as podules appear.


				^ &50	; The next 32 bytes are allocated to RISCiX
RISCiXCMOS			# 1	; Local checksum simple addition of bytes
RISCiXCMOSFormat		# 1
					; Bits 0..3   =>  Current format version number (8)
					; Bits 4..7   =>  Number of bytes used in each of the following five records (5)
RISCixCMOSRecords		# 25	; Five 40 bit records, record zero is for the
					; default console, records 1..4 are for ttyv0..3
					; Bits 0..2   =>  Screen mode
					; Bit  3      =>  Video polarity; 0=White on Black, 1=Black on White
					; Bits 4..7   =>  Border level or pattern
					; Bit  8      =>  Cursor; 0=Off, 1=On
					; Bits 9..10  =>  Cursor blink speed; 0=Slow, 1=Fast, 2=Steady
					; Bit  11     =>  Cursor type; 0=Block, 1=Line
					; Bit  12     =>  Keyboard repeat; 0=Off, 1=On
					; Bits 13..15 =>  Keyboard delay (in ms); 0=60, 1=100, 2=150, 3=200, 4=300,
					;		  5=400, 6=600, 7=800
					; Bits 16..19 =>  Keyboard repeat rate (in ms);0=10, 1=20, 2=30, 3=40, 4=50,
					;		  5=75, 6=100, 7=150, 8=200, 9=300, 10=400, 11=500
					; Bits 20..21 =>  Cursor keys mode; 0=VT220, 1=EMACS, 2=BBC, 3=BBC/EMACS
					; Bits 22..23 =>  Left arrow key action (Normal/Shift); 0=BS/BS, 1=BS/DEL
					;		  2=DEL/DEL, 3=DEL/BS
					; Bit  24     =>  Auto wrap mode; 0=Off, 1=On
					; Bit  25     =>  Backspace wrap mode; 0=Off, 1=On
					; Bits 26..28 =>  Bell character sound level; 0=Off, 1=Faint, 2=Quiet,
					;		  3=Medium, 4=Loud
					; Bits 29..31 =>  Bell time (in ms); 0=40, 1=70, 2=100, 3=150, 4=200, 5=300
					; Bit  32     =>  Font type; 0=Basic, 1=Fine
					; Bits 33..34 =>  Screen blanking control; 0=Off, 1=1min, 2=3min, 3=10min
					; Bits 35..39 =>  Reserved

				^ &50
LanManNSIPCMOS0			# 1	; (Was "SparrowNetID" -Used by Freeway to store a net number - not used 28/07/98)
					; Used to hold most sig. octet of NetBIOS Name Server IP address for LanManFS - RCE 980728

					; Defined for STB and NC systems

				^ &51	; STB mount path overlays RISCiX CMOS (& Sparrow)
BootMountPath			# 26	; Holds NFS mount path to boot structure (or secondary boot server NetBIOS name for LanManFS)

					; Defined for non-STB & NC systems

				^ &51	; Sparrow space overlays RISCiX because they can't both be running
SparrowMarker			# 1	; This byte will be set to &xF to prevent RISCiX from booting
					; was set to &0F, but this frees 4 bits for network group other use.
SparrowKeyValue			* 15	; Key value for Access to initialise

					; Bits 0-3	=> Acorn Access key value (&F) used to allow ShareFS booting
FreewayNoAutoAddress		* 1:SHL:4 ; Bit 4       => if set, Freeway (0.29 or later) will not assign 1.x.x.x addresses to interfaces
					; Bits 5-7	=> Acorn Access - currently spare (I hope - CE)

SparrowDiscs			# 24	; This is used by ShareFS to store remote disc names
SparrowFiler			# 1	; Used by the Sparrow modified ADFSFiler as follows;

					; Bit 0 ==> Share drive 4
					; Bit 1 ==> Protect drive 4
					; Bit 2 ==> Share drive 5
					; Bit 3 ==> Protect drive 5
					; Bit 4 ==> Share drive 6
					; Bit 5 ==> Protect drive 6
					; Bit 6 ==> Share drive 7
					; Bit 7 ==> Protect drive 7

			ASSERT @ <= &6B

				^ &6B
PrinterIDCMOS			# 1	; &6B (allocated for Online Media)

NetworkIPAddr1			# 1	; &6C\ (was) b0: IP/NetBEUI version of LanManFS & b1-b7: spare
					;     |
NetworkIPAddr2			# 1	; &6D |- Network IP address (also byte 0)
                                        ;     |
                                        ;     | for the record, the IP address is stored [&6C].[&6D].[&6E].[&00]
                                        ;     |
NetworkIPAddr3			# 1	; &6E/

NetworkFlags			# 1	; &6F was unassigned (CE 18/11/96)

NetworkIPMask			* 31:SHL:3 ; Need 5 bits to hold netmask value (b7-b3 inc)
DynamicIPEnable			*  1:SHL:2 ; Enable dynamic IP configuration (BOOTP, DHCP)
StaticIPEnable			*  1:SHL:1 ; Enable CMOS IP value usage flag
LanManFStransport		*  1:SHL:0 ; LanManFS transport protocol switch flag
					;    0 => NetBEUI : 1 => NetBIOS over IP


				^ &70
PoduleCMOS			# 16	; &70 Four bytes to each of four podules
YearCMOS			# 2	; &80 Two bytes of year info (HEX)
Unplug13CMOS			# 1	; &82
Unplug14CMOS			# 1	; &83
TutuCMOS			# 1	; &84
PrintSoundCMOS			* TutuCMOS ; give it a meaningful name as well!
					; Bits 1,0 = Control character print control (examples using ASCII 13)
					;	 00 = Print in GSTrans format: |M (as on Master)
					;	 01 = Print '.'
					;	 10 = Print decimal: <13>
					;	 11 = Print hex: <&0D>
					; Bit  2   = Treat tbs characters as valid, else as control characters
					; Bit  3   = AND character with &7F in *Dump
					; Bit  4   = Treat TAB as print 8 spaces (not implemented)
					; Bit  5,6 = 16-Bit sound control, on VIDC20 machines including Risc PC.
					;		0: no 16-bit sound output, use standard mu-law (default)
					;		1: DAC clock is slave: 11.2896MHz ext clock: standard VIDC20 rates or
					;		    44.1 KHz * 4/(4..45) can be used (as on ESP sound card).
					;		2: DAC clock is slave: no ext clock: standard VIDC20 rates only
					;		3: DAC clock is master: ext clock must be used for 16-bit sound
					;		   (suitable sound clock driver must be installed)
					; Bit 7    = sound quality control (trade cpu for sound quality):
					;		0: no quality adjustment, use specified sample rate (default)
					;		1: perform sample interpolation, to keep net sample rate > 24KHz
					; The above bits used to mean:
					;  Bit  5   = Tube podule enable
					;  Bits 6,7 = Tube podule slot (0..3)
					; but since the tube podule doesn't work on Risc PC, they have been claimed
					; by Mark Taunton for use in 16-bit sound support
VduCMOS				# 1	; &85

					; Bit 1 used to be bit 4 of configured Mode, but no longer used now Configure Mode = Configure WimpMode
					; so now means screen has not been configured when set.
MonitorNotConfigured		* &02

SyncBits			* &81	; bits 0 and 7 for sync type
Sync_Separate			* &00
Sync_Composite			* &01
Sync_Reserved			* &80
Sync_Auto			* &81

MonitorTypeBits			* &7C	; bits 2..6 for monitor type
					;		0 => normal
					;		1 => multisync
					;		2 => hi res mono
					;		3 => VGA
					;		4 => Super VGA
					;		5 => LCD
					;		6 => 3rd party use
					;	       31 => AUTO
MonitorTypeShift		* 2
MonitorType0			* &00
MonitorType1			* &04
MonitorType2			* &08
MonitorType3			* &0C
MonitorType4			* &10
MonitorType5			* &14
MonitorType6			* &18
MonitorType7			* &1C
MonitorType8			* &20
MonitorType9			* &24
MonitorTypeA			* &28
MonitorTypeB			* &2C
MonitorTypeC			* &30
MonitorTypeD			* &34
MonitorTypeE			* &38
MonitorTypeF			* &3C
MonitorTypeAuto			* &7C
SyncAutoBit			* &80
FontCMOS			# 1	; &86 units of 4K
NewADFSCMOS			# 3	; &87 Three bytes (consult Nick)
CDROMFSCMOS			# 1	; &8A Next Technology

TimeZoneCMOS			# 1	; &8B
					; Indicates the offset from UTC/GMT to the current time zone
					; The byte is interpreted as a signed twos complement number
					; this is treated as the number of 15 minutes increments.
					; E.g. for the UK during winter the value is zero and in the summer
					; the value is still zero because Summertime is held elsewhere.
					; In Australia for the eastern states (QLD, NSW, VIC, and TAS) the
					; value required is +10 hours giving &28, for the central states
					; (NT and SA) it will be +9.5 hours giving &26, and for WA it is &20.
					; In the U.S.A. The four zones (Eastern, Central, Mountain, and
					; Pacific) have the following values; -5 hours, -6 hours, -7 hours,
					; and -8 hours giving values &EC, &E8, &E4, and &E0 respectively
					;

DesktopFeaturesCMOS		# 1	; &8C Desktop features
					; Contains flags which indicate various features available within
					; the desktop, such as 3D or not 3D and things to do with the Wimp.
					;
					; bit 0 =0 => Standard RISC OS 2.00 look for desktop
					;	 =1 => Apply 3D look to windows / icons
					; bits 1-4 -  Desktop font setting, where
					;	 =0 => use Wimp$Font... variables
					;	 =1 => use system font
					;    =2-15 => use font number n from ResourceFS
					; bits 5-6    Reserved for Acorn use
					; Ursula	bit 5   WimpSpritePrecedence
					;		    6   WimpButtonType
					; bit 7 =0 => use tile_1 for window background
					;	 =1 => not tiled (use grey 1)

desktopfeaturebit_3D		*  1:SHL:0
desktopfontbits			* 15:SHL:1
desktopwimpspriteprotection	*  1:SHL:5
desktopwimpbuttontype		*  1:SHL:6
desktopwindowtile		*  1:SHL:7


Unplug15CMOS			# 1	; &8D
Unplug16CMOS			# 1	; &8E
ScreenSizeCMOS			# 1	; &8F units of PageSize
RAMDiscCMOS			# 1	; &90 units of PageSize
SysHeapCMOS			# 1	; &91 units of PageSize to add after initialisation
RMASizeCMOS			# 1	; &92 units of PageSize to add after initialisation
SpriteSizeCMOS			# 1	; &93 units of PageSize
SoundCMOS			# 1	; &94
					; Bits 0..3 = channel 0 default voice (0..15 in CMOS -> voice number 1..16)
					; Bits 4..6 = loudness (0..7 -> &01, &13, &25, &37, &49, &5B, &6D, &7F)
					; Bit  7    = loudspeaker enable

					;WAS -> ABE		 # 4	; &95 4 Bytes for the BASIC Editor.

DNSIPaddrCMOS			# 4	; &95 from STB/NC Static IP module's usage.
PSNameCMOS			# 5	; &99 5 bytes for 6 char name, one byte in NetPSId + 1

                        ASSERT   @ <= &9E

				^ &9E
FSNameCMOS			# 15	; &9E 15 bytes for 16 char name, 1 byte in NetFSId + 1
					;     these bytes are also used by LanManFS for similar purpose
			ASSERT	 @ <= &AD

				^ &AD
MosROMFrugalCMOS		# 4	; &AD 32 bits for 32 modules in the system ROM
PoduleFrugalCMOS		# 8	; &B1 8 * 8 bits for modules in podules
LanguageCMOS			# 1	; &B9 1 byte configured language
CountryCMOS			# 1	; &BA Configured country
NetworkFrugalCMOS		# 1	; &BB
Misc1CMOS			# 1	; &BC
					; Bit  0   => Enable click-to-open-submenu functionality (Wimp v4.57 onw)
					; Bit  1   => unused
					; Bit  2   => Cache icon enable state
					; Bits 3-5 => Screen blank time, 0=>None, 1=>30sec, 2=>1, 3=>2, 4=>5, 5=>10, 6=>15, 7=>30
					; Bit  6   => Should screen blanking ignore Wrch, 0=>Ignore Wrch, 1=>Wrch un-blanks
					;		(this is non-functional in 3.7+)
					; Bit  7   => Hardware test disable, 1=>Disable long tests at power up
WinniSizeCMOS			# 4	; &BD
ProtectionCMOS			# 1	; &C1 ; Protection state
					; Bit 0 => &81 Peek
					; Bit 1 => &82 Poke
					; Bit 2 => &83 JSR
					; Bit 3 => &84 User RPC
					; Bit 4 => &85 OS RPC
					; Bit 5 => &86 Halt
					; Note the two missing operations are not able to be protected against
					; Bit 6 => &89 GetRegs
					; Bit 7 => &8A ???
MouseStepCMOS			# 1	; &C2 ; Mouse multiplier, signed 8 bit value
					; (but both 0 and 1 mean 1)
SystemSpeedCMOS			# 1	; &C3 ; Various bits which used to be used for RAM/ROM speed etc.
Mode2CMOS			* SystemSpeedCMOS
					; Bit  0    Acorn Universal Network ROMBoot (0=>disabled, 1=>enabled)
					; Bit  1    Has to be zero to allow ShareFS (<3.41) to initialise - CE 18/11/96
					;	     was to have been LanManFS NetBUI/IP transport switch (ANT) - CE 18/11/96
					;	     was Acorn Universal Network Dynamic station numbering (0=>disabled, 1=>enabled)
					;	    Ursula - Acorn or PC style <Delete>/<BS> handling (1=>PC-style).
CMOSResetBit			* &04	; Bit  2    Set if last reset was a CMOS reset (delete/copy/R/T power-on)
PowerSaveBit			* &08	; Bit  3    Power-saving (0 => disabled, 1 => enabled, ie reduce speed when idle)
WimpModeAutoBit			* &10	; Bit  4    Mode/WimpMode Auto bit (0=>use WimpModeCMOS, 1=>auto)
					; Bit  5    Cache enable for ARM3 (0=>enable, 1=>disable)
					; Bit  6    Broadcast loading (0=>enable, 1=>disable)
					; Bit  7    Broadcast loader colours the hourglass (0=>disable, 1=>enable)
WimpModeCMOS			# 1	; &C4 ; initial Wimp mode on entry
WimpFlagsCMOS			# 1	; &C5 ; global Wimp flags (for dragging etc.)
DesktopCMOS			# 1	; &C6 ; some state for Desktop Utils
					; Bits 0,1 = display mode (Filer)
					;	 00 = large icons
					;	 01 = small icons
					;	 10 = full info
					;	 11 = Reserved
					; Bits 2,3 = sorting mode (Filer)
					;	 00 = sort by name
					;	 01 = sort by type
					;	 10 = sort by size
					;	 11 = sort by date
					; Bit  4   = Force option (Filer)
					;	  0 = don't override locked bit
					;	  1 = override locked bit
					; Bit  5   = confirm option (Filer)
					;	  0 = no confirm
					;	  1 = confirm
					; Bit  6   = verbose option (Filer)
					;	  0 = no verbose
					;	  1 = verbose
					; Bit 7    = Newer option (Filer)
					;	  0 = When looking, just look
					;	  1 = When looking, look newer
ADFSDirCacheCMOS		# 1	; &C7 0=>default
FontMaxCMOS			# 1	; &C8
FontMax1CMOS			# 1	; &C9
FontMax2CMOS			# 1	; &CA
FontMax3CMOS			# 1	; &CB
FontMax4CMOS			# 1	; &CC
FontMax5CMOS			# 1	; &CD
FontMax6CMOS			# 1	; &CE
FontMax7CMOS			# 1	; &CF
ScsiFsCMOS			# 7	; &D0-&D6
DeskbootCMOS			# 1	; &D7	    (for auto-booting ROM applications)
Deskboot2CMOS			# 1	; &D8	    (for auto-booting ROM applications)
					; Bits within DeskbootCMOS and Deskboot2CMOS are allocated thus:-
					; Bit: 0=Alarm, 1=Calc, 2=Chars, 3=Configure, 4=Draw, 5=Edit, 6=Help, 7=Paint, 8=BatMan
Unplug7CMOS			# 1	; &D9
Unplug8CMOS			# 1	; &DA
Unplug9CMOS			# 1	; &DB
AlarmAndTimeCMOS		# 1	; &DC
					; Bits 0-2 = Format state
					;	000 = illegal - used to check for first running of !Alarm
					;	001 = Analogue with seconds
					;	010 = Analogue without seconds
					;	011 = HH:MM
					;	100 = Format = "%24:%mi:%se"
					;	101 = Format = "%z12:%mi:%se %am. %zdy/%zmn/%yr"
					;	110 = Reserved
					;	111 = Reserved
					; Bit 3    = Deletion flag (1=Confirm, 0=No confirmation needed)
					; Bit 4    = Auto save flag (1=Enabled, 0=Disabled)
					; Bit 5    = 5 day week flag (1=Enabled, 0=Disabled)
					; Bit 6    = Alarm noise flag (1=Silent, 0=Beep)
					; Bit 7    = Daylight Saving Time flag (1=DST, 0=Normal time)
DSTCMOSBit			* 1:SHL:7
WimpDragTimeCMOS		# 1	; &DD		WimpDragTime (ds) EOR 5   (aka WimpDragDelay)
					; Ursula	bits 3-0    WimpDragDelay EOR 5
					;		bits 7-4    WimpAutoScrollDelay EOR 5

WimpDragMoveLimitCMOS		# 1	; &DE		WimpDragMoveLimit (OSU) EOR 32   (aka WimpDragMove)
					; Ursula	bits 0      WimpDragDelayUnit (0=>ds, 1=>s)
					;		     1      WimpAutoScrollDelayUnit (0=>ds, 1=>s)
					;		     2-6    WimpDragMove (units of 4 OSU) EOR 8
					;		     7      WimpIconiseButton

WimpDoubleClickTimeCMOS		# 1	; &DF		WimpDoubleClickTime (ds) EOR 10   (aka WimpDoubleClickDelay)
					; Ursula	bits 0-3    WimpDoubleClickDelay EOR 10
					;		     4-7    WimpAutoFrontDelay EOR 5



			ASSERT @ <= &E0

				^ &E0	; The next 7 bytes are allocated to RISCiX booting
RISCiXBoot			# 1
					; Bits 0..2  =>  Reserved
					; Bits 3..5  =>  System type to boot;
					;		 0=Does not boot RISCiX,
					;		 1=Immediate boot to maintenance mode (single user),
					;		 2=Immediate boot to multi user (standard),
					;		 3=Immediate boot to maintenance mode (single user),
					;		 4=Immediate boot to multi user (standard),
					;		 5=Immediate boot to maintenance mode (single user),
					;		 6=Immediate boot to multi user (standard),
					;		 7=Immediate boot to maintenance mode (single user).
					; Bit  6     =>  Status flag set by RISCiX boot if the RISCiX bootstrap failed
					;		 (ie. if the Kernel doesn't get to a login prompt)
					;
					;		 Note that bits 3, 4, and 6 are cleared when the kernel reaches
					;		 the login prompt.
					; Bit  7     =>  Must be zero
RISCiXBootDevice		# 3	; Device, an ASCII string [a..z][a..z][0..9]
RISCiXBootUnit			# 1	; Unit (drive) number 0..63
RISCiXBootPart			# 1	; Partition number 0..7
RISCiXBootEther			# 1	; Dickless boot flag/suffix

			ASSERT @ <= &E7

				^ &E0	; Overlay these with RISCiX booting

LocalPServerNameCMOS		# 6
					;	Name is stored, zero filled in all six bytes (six characters
					;	being the maximum name size supported by the protocols).
					;	It is expected that server software will take the text supplied
					;	by the user and store it directly here.  It is expected that
					;	server software sends out exactly this string when requested to
					;	identify itself.  It is expected that server software will do a
					;	case-insensitive match (using the territory manager) when
					;	comparing this string against network requests.
Unused1				# 1


			ASSERT @ <=  &E7

				^ &E0	; Overlay these with RISCiX booting
GatewayIPCMOS			# 4	; IP address of default gateway for static IP configuration
LanManNSIPCMOS123		# 3	; IP address of a NetBIOS Name Server (octets 1,2,3)

			ASSERT @ <=  &E7

				^ &E7
Unplug17CMOS			# 1	; &E7
Unused2				# 1	; &E8
FSLockCMOS			# 6	; &E9

			ASSERT @ <= &EF
CheckSumCMOS			* &EF	; One byte for CMOS RAM checksum
CMOSxseed			* &01	; initial value for checksum

; Note that CMOS RAM ends at F0 where the clock starts

	OPT	OldOpt
	END