From 403c6dd8bce92d0629634cbf57f68f43b2f30d38 Mon Sep 17 00:00:00 2001
From: Ben Avison <bavison@gitlab.riscosopen.org>
Date: Fri, 21 Mar 2008 16:59:40 +0000
Subject: [PATCH] Finally, a releasable HdrSrc!

Detail:
  Imported public versions of the registration header files. These have all
  mentions of third-party allocations removed from them, and because these
  are new imports, there's nothing hiding in the revision history either.
Admin:
  Manually inspected for sanity; we'll have to see how well it functions in
  a real build.

Version 1.60. Tagged as 'HdrSrc-1_60'
---
 VersionNum     |   14 +-
 hdr/AUN        |   60 ++
 hdr/CMOS       |  577 +++++++++++++
 hdr/Countries  |  284 +++++++
 hdr/DevNos     |  148 ++++
 hdr/Devices    |   57 ++
 hdr/DrawObj    |   49 ++
 hdr/EnvNumbers |   61 ++
 hdr/FSNumbers  |   82 ++
 hdr/FileTypes  |  779 +++++++++++++++++
 hdr/Freeway    |   27 +
 hdr/GraphicsV  |   54 ++
 hdr/KEYV       |   32 +
 hdr/Keyboard   |  184 ++++
 hdr/Messages   |  206 +++++
 hdr/NewErrors  | 1385 ++++++++++++++++++++++++++++++
 hdr/OsWords    |  137 +++
 hdr/PDriverReg |   53 ++
 hdr/PDumperReg |   52 ++
 hdr/PaletteV   |   41 +
 hdr/PoduleReg  |   93 ++
 hdr/Pointer    |   54 ++
 hdr/SWIs       | 2199 ++++++++++++++++++++++++++++++++++++++++++++++++
 hdr/Services   |  311 +++++++
 hdr/UpCall     |   80 ++
 25 files changed, 7012 insertions(+), 7 deletions(-)
 create mode 100644 hdr/AUN
 create mode 100644 hdr/CMOS
 create mode 100644 hdr/Countries
 create mode 100644 hdr/DevNos
 create mode 100644 hdr/Devices
 create mode 100644 hdr/DrawObj
 create mode 100644 hdr/EnvNumbers
 create mode 100644 hdr/FSNumbers
 create mode 100644 hdr/FileTypes
 create mode 100644 hdr/Freeway
 create mode 100644 hdr/GraphicsV
 create mode 100644 hdr/KEYV
 create mode 100644 hdr/Keyboard
 create mode 100644 hdr/Messages
 create mode 100644 hdr/NewErrors
 create mode 100644 hdr/OsWords
 create mode 100644 hdr/PDriverReg
 create mode 100644 hdr/PDumperReg
 create mode 100644 hdr/PaletteV
 create mode 100644 hdr/PoduleReg
 create mode 100644 hdr/Pointer
 create mode 100644 hdr/SWIs
 create mode 100644 hdr/Services
 create mode 100644 hdr/UpCall

diff --git a/VersionNum b/VersionNum
index e67c812..1ce58b8 100644
--- a/VersionNum
+++ b/VersionNum
@@ -1,15 +1,15 @@
-/* (1.59)
+/* (1.60)
  *
  * This file is automatically maintained by srccommit, do not edit manually.
  * Last processed by srccommit version: 1.2.
  *
  */
-#define Module_MajorVersion_CMHG        1.59
+#define Module_MajorVersion_CMHG        1.60
 #define Module_MinorVersion_CMHG        
 #define Module_Date_CMHG                21 Mar 2008
 
-#define Module_MajorVersion             "1.59"
-#define Module_Version                  159
+#define Module_MajorVersion             "1.60"
+#define Module_Version                  160
 #define Module_MinorVersion             ""
 #define Module_Date                     "21 Mar 2008"
 
@@ -18,6 +18,6 @@
 #define Module_ComponentName            "HdrSrc"
 #define Module_ComponentPath            "RiscOS/Sources/Programmer/HdrSrc"
 
-#define Module_FullVersion              "1.59"
-#define Module_HelpVersion              "1.59 (21 Mar 2008)"
-#define Module_LibraryVersionInfo       "1:59"
+#define Module_FullVersion              "1.60"
+#define Module_HelpVersion              "1.60 (21 Mar 2008)"
+#define Module_LibraryVersionInfo       "1:60"
diff --git a/hdr/AUN b/hdr/AUN
new file mode 100644
index 0000000..f75f4e1
--- /dev/null
+++ b/hdr/AUN
@@ -0,0 +1,60 @@
+; 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    AUN Protocol definitions > &.Hdr.AUN
+
+OldOpt  SETA   {OPT}
+        OPT    OptNoList+OptNoP1List
+
+
+; *************************************************************
+; Numbers for use in protocol id field of Service_ProtocolDying
+; *************************************************************
+
+                ^ 1
+ProtocolID_Internet     # 1     ; 1 for Acorn
+
+
+; ***************************
+; AUN Ethernet ID allocations
+; ***************************
+
+; EthernetID_e1       Acorn (same as et) (AKA25)
+; EthernetID_e2       Acorn (same as en) (AKA50)
+; EthernetID_e3       Acorn (same as ea)
+; EthernetID_e4       Acorn (unused)
+; EthernetID_e5       Acorn (unused)
+; EthernetID_e6       Acorn (unused)
+; EthernetID_e7       Acorn (unused)
+; EthernetID_e8       Acorn (unused)
+; EthernetID_e9       Acorn (unused)
+; EthernetID_ec       Acorn (EconetA)
+; EthernetID_ei       ANC (by Irlam Instruments)
+; EthernetID_ek       James Byrne / Tematic
+; EthernetID_en       Acorn (Ether2 - obsolete)
+; EthernetID_et       Acorn (Ether1 - obsolete) - reused by Kevin Bracey for embedded
+; EthernetID_ey       Castle Technology
+; EthernetID_ez       Castle Technology
+
+
+
+
+
+        OPT OldOpt
+        END
+
+
diff --git a/hdr/CMOS b/hdr/CMOS
new file mode 100644
index 0000000..f29cec3
--- /dev/null
+++ b/hdr/CMOS
@@ -0,0 +1,577 @@
+; 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
diff --git a/hdr/Countries b/hdr/Countries
new file mode 100644
index 0000000..1a20db2
--- /dev/null
+++ b/hdr/Countries
@@ -0,0 +1,284 @@
+; 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    Allocations for country numbers => &.hdr.Countries
+
+OldOpt  SETA    {OPT}
+        OPT     OptNoList+OptNoP1List
+
+
+; amg: read this before trying to change this file... see PRM 3-760 for the
+;      spirit of this file, viz:
+;      Countries: 0-99
+;      Alphabets: 100-126
+;      Special value to read: 127
+;
+;      If you've a territory number which is allocated in the range >128
+;      then you've got a problem :-). For a country number you'll need
+;      to make an allocation in the 0-99 range
+
+
+; ************************************************
+; * Territory numbers                            *
+; * (End brackets indicate ISO 8859 Alphabet)    *
+; ************************************************
+;
+; *  => Country known about by RISC OS International module vn 1.13
+; ** => Keyboard layout provided by RISC OS InternationalKeyboard module vn 0.17
+;
+; +  => Country known about by RISC OS International module vn x.xx
+; ++ => Keyboard layout provided by RISC OS InternationalKeyboard module vn x.xx
+
+                        ^ 0
+TerritoryNum_Default    # 1      ;  0 (*+)
+TerritoryNum_UK         # 1      ;  1 (Latin1 **++)
+TerritoryNum_Master     # 1      ;  2 (BFont *+)
+TerritoryNum_Compact    # 1      ;  3 (BFont *+)
+TerritoryNum_Italy      # 1      ;  4 (Latin1 *+)
+TerritoryNum_Spain      # 1      ;  5 (Latin1 *+)
+TerritoryNum_France     # 1      ;  6 (Latin1 *+)
+TerritoryNum_Germany    # 1      ;  7 (Latin1 **++)
+TerritoryNum_Portugal   # 1      ;  8 (Latin1 *+)
+TerritoryNum_Esperanto  # 1      ;  9 (Latin3 *+)
+TerritoryNum_Greece     # 1      ; 10 (Greek **++)
+TerritoryNum_Sweden     # 1      ; 11 (Latin1 **++)
+TerritoryNum_Finland    # 1      ; 12 (Latin1 **++)
+TerritoryNum_UnUsed1    # 1      ; 13 --unused--
+TerritoryNum_Denmark    # 1      ; 14 (Latin1 **++)
+TerritoryNum_Norway     # 1      ; 15 (Latin1 **++)
+TerritoryNum_Iceland    # 1      ; 16 (Latin1 *+)
+TerritoryNum_Canada1    # 1      ; 17 (Latin1 *+) FRENCH Canadian
+TerritoryNum_Canada2    # 1      ; 18 (Latin1 *+) US/ENGLISH Canadian
+TerritoryNum_Canada     # 1      ; 19 (Latin1 *+) Canada combined (CSA Z243.200-1988)
+TerritoryNum_Turkey     # 1      ; 20 (Latin3) or Latin5, AKA 'Latin1-T)
+TerritoryNum_Arabic     # 1      ; 21 (Special)
+TerritoryNum_Ireland    # 1      ; 22 (Latin1) note: Gaelic => Latin3
+TerritoryNum_HongKong   # 1      ; 23 (Special?)
+TerritoryNum_Russia     # 1      ; 24 (Cryllic)
+TerritoryNum_Russia2    # 1      ; 25 (Cryllic2) special 'IBM-Compat' alphabet
+TerritoryNum_Israel     # 1      ; 26 (Hebrew)
+TerritoryNum_Mexico     # 1      ; 27 (Latin1)
+TerritoryNum_LatinAm    # 1      ; 28 (Latin1) Latin American Territories
+TerritoryNum_Australia  # 1      ; 29 (Latin1)
+TerritoryNum_Austria    # 1      ; 30 (Latin1)
+TerritoryNum_Belgium    # 1      ; 31 (Latin1)
+TerritoryNum_Japan      # 1      ; 32 (UTF8)
+TerritoryNum_MiddleEast # 1      ; 33 (Special)
+TerritoryNum_Netherland # 1      ; 34 (Latin1)
+TerritoryNum_Switzerland # 1     ; 35 (Latin1)
+TerritoryNum_Wales      # 1      ; 36 (Latin1) Note: ISO Latin1 + WwYy circumflex
+TerritoryNum_Maori      # 1      ; 37 (Special)
+
+                        ; 38-47 unused. spare if things get desperate
+
+;amg: start a new block of country numbers here within a 7 bit range due to
+;     limitations within OS_Byte 71 (see PRM 3-772)
+
+                        ^ 48
+TerritoryNum_USA        # 1      ; 48 (Latin1)
+TerritoryNum_Wales2     # 1      ; 49 (Welsh)
+TerritoryNum_China      # 1      ; 50 (Chinese)
+TerritoryNum_Brazil	# 1	 ; 51
+TerritoryNum_SAfrica2   # 1      ; 52
+TerritoryNum_Korea	# 1	 ; 53
+TerritoryNum_Taiwan	# 1	 ; 54
+                        ; 55-69 spare
+
+; ************************************************
+; * Dvorak layout keyboards                      *
+; ************************************************
+
+                        ^ 70
+Keyboard_DvorakUK       # 1     ; 70 (Latin1)
+Keyboard_DvorakUSA      # 1     ; 71 (Latin1)
+
+                        ; 72-79 spare
+
+; ************************************************
+; * Pan-ISO Keyboards                            *
+; ************************************************
+;
+; *  => Country known about by RISC OS International module vn 1.13
+; ** => Keyboard layout provided by RISC OS InternationalKeyboard module vn 0.17
+;
+; +  => Country known about by RISC OS International module vn x.xx
+; ++ => Keyboard layout provided by RISC OS InternationalKeyboard module vn x.xx
+
+                        ^ 80
+ISOKeyboard_Latin1      # 1     ; 80 (ISO1) (*+)
+ISOKeyboard_Latin2      # 1     ; 81 (ISO2)
+ISOKeyboard_Latin3      # 1     ; 82 (ISO3)
+ISOKeyboard_Latin4      # 1     ; 83 (ISO4)
+ISOKeyboard_Cyrillic    # 1     ; 84 (ISO5)
+ISOKeyboard_Arabic      # 1     ; 85 (ISO6)
+ISOKeyboard_Greek       # 1     ; 86 (ISO7)
+ISOKeyboard_Hebrew      # 1     ; 87 (ISO8)
+ISOKeyboard_Latin5      # 1     ; 88 (ISO9)
+
+                        ; 89-91 spare
+
+                        ^ 92
+ISOKeyboard_ASCII       # 1     ; 92 (C)
+ISOKeyboard_Cyrillic2   # 1     ; 93 (Cyrillic2)
+ISOKeyboard_Hebrew2     # 1     ; 94 (Israel2)
+
+PDFDocENC		# 1	; 95
+PDFWinANSI		# 1	; 96
+PDFStdEnc		# 1	; 97
+PDFMacRom		# 1	; 98
+
+; ************************************************
+; * ISO Alphabet selection                       *
+; ************************************************
+;
+; *  => Country known about by RISC OS International module vn 1.13
+; ** => Keyboard layout provided by RISC OS InternationalKeyboard module vn 0.17
+;
+; +  => Country known about by RISC OS International module vn x.xx
+; ++ => Keyboard layout provided by RISC OS InternationalKeyboard module vn x.xx
+
+                        ^ 100
+ISOAlphabet_BFont       # 1     ; 100 (*+)
+ISOAlphabet_Latin1      # 1     ; 101 (*+)
+ISOAlphabet_Latin2      # 1     ; 102 (*+)
+ISOAlphabet_Latin3      # 1     ; 103 (*+)
+ISOAlphabet_Latin4      # 1     ; 104 (*+)
+ISOAlphabet_Cyrillic    # 1     ; 105
+ISOAlphabet_Arabic      # 1     ; 106
+ISOAlphabet_Greek       # 1     ; 107 (*+)
+ISOAlphabet_Hebrew      # 1     ; 108
+ISOAlphabet_Latin5      # 1     ; 109
+ISOAlphabet_Welsh       # 1     ; 110 (ISO-IR 182)
+ISOAlphabet_UTF8        # 1     ; 111
+ISOAlphabet_Latin9      # 1     ; 112
+ISOAlphabet_Latin6      # 1     ; 113
+ISOAlphabet_Latin7      # 1     ; 114
+ISOAlphabet_Latin8      # 1     ; 115
+ISOAlphabet_Latin10     # 1     ; 116
+
+
+                        ; 117-119 spare
+
+; special alphabet selection
+
+                        ^ 120
+Alphabet_Cyrillic2      # 1     ; 120 special 'IBM-compatible' alphabet
+Alphabet_Hebrew2        # 1     ; 121 'real' hebrew, as opposed to ISO
+
+                        ; 122-125 spare
+
+                        ^ 126
+Alphabet_User           # 1     ; 126 soft-loaded special 'user' alphabet
+Alphabet_DoNotAssign    # 1     ; 127 -- the end for master 128 --
+
+
+; The following are RISC OS 3.00 onwards only
+; i.e. ARM-based systems with Territory Manager, which
+;      provides all relevant facilities via
+;      a nationally specific territory module.
+;
+; NOTE: Any new Territory allocations should follow the numbers
+;       below
+
+; amg:  ** WARNING ** by being >127 these are not valid country numbers.
+;       If these are to be used seriously a new allocation in the block from
+;       48 upwards should be made. Because of various uses in this range
+;       it's not possible to do a straight mapping by subtracting a constant
+;       so new allocations should be made between 48 and 79.
+;       This limitation can be fixed in the future by doing something
+;       constructive with R2 of OS_byte 71 !
+
+; below here are only territory numbers - OS_Byte 71 applies this limitation
+
+                        ^ 128
+TerritoryNum_Faroe      # 1     ; 128
+TerritoryNum_Albania    # 1     ; 129
+TerritoryNum_SAfrica    # 1     ; 130 - superceded by new allocation below 127
+TerritoryNum_Bengal     # 1     ; 131
+TerritoryNum_Bulgaria   # 1     ; 132
+TerritoryNum_ByeloRuss  # 1     ; 133
+TerritoryNum_Czech      # 1     ; 134
+TerritoryNum_Devanag    # 1     ; 135
+TerritoryNum_Farsi      # 1     ; 136
+TerritoryNum_Gujarati   # 1     ; 137
+TerritoryNum_Estonia    # 1     ; 138
+TerritoryNum_Gaelic     # 1     ; 139
+TerritoryNum_GreeceAnct # 1     ; 140
+TerritoryNum_Greenland  # 1     ; 141
+TerritoryNum_Hungary    # 1     ; 142
+TerritoryNum_Lapp       # 1     ; 143
+TerritoryNum_Latvia     # 1     ; 144
+TerritoryNum_Lithuania  # 1     ; 145
+TerritoryNum_Macedonia  # 1     ; 146
+TerritoryNum_Malta      # 1     ; 147
+TerritoryNum_Poland     # 1     ; 148
+TerritoryNum_Punjab     # 1     ; 149
+TerritoryNum_Romania    # 1     ; 150
+TerritoryNum_SerboCroat # 1     ; 151
+TerritoryNum_Slovak     # 1     ; 152
+TerritoryNum_Slovene    # 1     ; 153
+TerritoryNum_Tamil      # 1     ; 154
+TerritoryNum_Ukraine    # 1     ; 155
+TerritoryNum_Swiss1     # 1     ; 156 Swiss-French
+TerritoryNum_Swiss2     # 1     ; 157 Swiss-German
+TerritoryNum_Swiss3     # 1     ; 158 Swiss-Italian
+TerritoryNum_Swiss4     # 1     ; 159 Swiss-Romansch
+
+                        ; 160-191 spare (only 8 bits in CMOS)
+
+;start off a new range for encoding alphabets that'll only appear in fonts,
+;never as territory information
+			^ 192
+oPDFDocENC		# 1	; 192 - now moved to 95-99
+oPDFWinANSI		# 1	; 193
+oPDFStdEnc		# 1	; 194
+oPDFMacRom		# 1	; 195
+
+; others, recorded here to ensure uniqueness, but with no associated allocations
+;
+;Filename        Localised name          PostScript comment
+;-----------------------------------------------------------------
+;BFont                                   Acorn_BFontEncoding
+;CP1250          CodePage.1250           CodePage_1250Encoding
+;CP1251          CodePage.1251           CodePage_1251Encoding
+;CP1252          CodePage.1252           CodePage_1252Encoding
+;CP1257          CodePage.1257           CodePage_1257Encoding
+;Cyrillic                                Acorn_CyrillicEncoding
+;Cyrillic2                               Acorn_Cyrillic2Encoding
+;EBCDIC          CodePage.EBCDIC         IBM_EBCDIC_Encoding
+;Greek                                   Acorn_GreekEncoding
+;Hebrew                                  Acorn_HebrewEncoding
+;ISO8859-1       ISO.8859-1              ISO_8859-1Encoding
+;ISO8859-2       ISO.8859-2              ISO_8859-2Encoding
+;ISO8859-3       ISO.8859-3              ISO_8859-3Encoding
+;ISO8859-4       ISO.8859-4              ISO_8859-4Encoding
+;ISO8859-7       ISO.8859-7              ISO_8859-7Encoding
+;ISO8859-8       ISO.8859-8              ISO_8859-8Encoding
+;ISO8859-9       ISO.8859-9              ISO_8859-9Encoding
+;ISO8859-10      ISO.8859-10             ISO_8859-10Encoding
+;ISO8859-13      ISO.8859-13             ISO_8859-13Encoding
+;ISO8859-14      ISO.8859-14             ISO_8859-14Encoding
+;ISO8859-15      ISO.8859-15             ISO_8859-15Encoding
+;NextStep        Next.NextStep           Next_NextStepEncoding
+;
+;
+
+        OPT     OldOpt
+        END
+
+
+
diff --git a/hdr/DevNos b/hdr/DevNos
new file mode 100644
index 0000000..1534f46
--- /dev/null
+++ b/hdr/DevNos
@@ -0,0 +1,148 @@
+; 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 Device Numbers for new IRQ handling ; => &.Hdr.DevNos
+
+OldOpt SETA {OPT}
+       OPT OptNoList+OptNoP1List
+
+; **********************
+; ***  Changes List  ***
+; **********************
+;
+; 15-Feb-91 DDV Added IOEB devices.
+; 20-May-93 SMC Added IOMD devices.
+; 26-Oct-94 RCM Added IOMD (Morris) devices.
+; 06-Feb-96 SMC Added IOMD (Morris) IRQC devices.
+;               Also changed IOMD_Event2_DevNo (which was 25) to 26.
+; 25-Oct-99 KJB Added alternative IOMD device numbering.
+;
+
+; IOC device numbers
+
+PrinterBusy_DevNo               * 0
+Ringing_DevNo                   * 1
+PrinterAck_DevNo                * 2
+VSync_DevNo                     * 3
+PowerOn_DevNo                   * 4
+Timer0_DevNo                    * 5
+Timer1_DevNo                    * 6
+FIQDowngrade_DevNo              * 7
+PFIQasIRQ_DevNo                 * 8
+Sound_DevNo                     * 9
+Serial_DevNo                    * 10
+WinnieIRQ_DevNo                 * 11
+DiscChanged_DevNo               * 12
+Podule_DevNo                    * 13
+SerialTx_DevNo                  * 14
+SerialRx_DevNo                  * 15
+
+; IOEB device numbers
+
+IOEB_PrinterIRQ_DevNo           * 0
+IOEB_BatteryLow_DevNo           * 1
+IOEB_FloppyIndex_DevNo          * 2
+IOEB_VSync_DevNo                * 3
+IOEB_PowerOn_DevNo              * 4
+IOEB_Timer0_DevNo               * 5
+IOEB_Timer1_DevNo               * 6
+; device 7 is unused on IOEB
+; device 8 is unused on IOEB
+IOEB_Sound_DevNo                * 9
+IOEB_Serial_DevNo               * 10
+IOEB_Floppy_DevNo               * 11
+IOEB_IDE_DevNo                  * 12
+IOEB_Podule_DevNo               * 13
+IOEB_SerialTx_DevNo             * 14
+IOEB_SerialRx_DevNo             * 15
+
+; IOMD device numbers
+; Traditional desktop system scheme
+
+IOMD_PrinterIRQ_DevNo           * 0
+; device 1 is unused on IOMD
+IOMD_FloppyIndex_DevNo          * 2
+IOMD_VSync_DevNo                * 3
+IOMD_PowerOn_DevNo              * 4
+IOMD_Timer0_DevNo               * 5
+IOMD_Timer1_DevNo               * 6
+IOMD_FIQDowngrade_DevNo         * 7
+IOMD_PFIQasIRQ_DevNo            * 8
+IOMD_IDE_DevNo                  * 9
+IOMD_Serial_DevNo               * 10
+IOMD_Network_DevNo              * 11
+IOMD_Floppy_DevNo               * 12
+IOMD_Podule_DevNo               * 13
+IOMD_SerialTx_DevNo             * 14
+IOMD_SerialRx_DevNo             * 15
+
+; Reassigned IOMD device numbers (ReassignedIOMDInterrupts = {TRUE})
+; Scheme suitable for an STB with an I/O chip with active-high interrupts
+
+; device 0 is unused when reassigned
+; device 1 is unused on IOMD
+IOMDr_PrinterIRQ_DevNo          * 2
+IOMDr_VSync_DevNo               * 3
+IOMDr_PowerOn_DevNo             * 4
+IOMDr_Timer0_DevNo              * 5
+IOMDr_Timer1_DevNo              * 6
+IOMDr_FIQDowngrade_DevNo        * 7
+IOMDr_PFIQasIRQ_DevNo           * 8   ; Other podules
+IOMDr_Serial_DevNo              * 9
+IOMDr_MPEGAudio_DevNo           * 10
+IOMDr_Network_DevNo             * 11  ; Podule 0
+IOMDr_MPEGVideo_DevNo           * 12
+IOMDr_Podule_DevNo              * 13  ; Other podules
+IOMDr_SerialTx_DevNo            * 14
+IOMDr_SerialRx_DevNo            * 15
+
+; IOMD DMA interrupts
+
+IOMD_DMAChannel0_DevNo          * 16
+IOMD_DMAChannel1_DevNo          * 17
+IOMD_DMAChannel2_DevNo          * 18
+IOMD_DMAChannel3_DevNo          * 19
+IOMD_DMASound0_DevNo            * 20
+IOMD_DMASound1_DevNo            * 21
+
+; These are Morris only defs for IRQD and IRQC registers
+; which may be conditionally assembled. The unused device
+; numbers may be renamed at a later date. IRQC registers
+; are general purpose and may be connected to any device
+; depending on the platform, hence the names are not device
+; specific.
+;
+IOMD_MouseRxFull_DevNo          * 22
+IOMD_MouseTxEmpty_DevNo         * 23
+IOMD_AtoD_DevNo                 * 24
+IOMD_Event1_DevNo               * 25
+IOMD_Event2_DevNo               * 26
+IOMD_D_Unused5_DevNo            * 27
+IOMD_D_Unused6_DevNo            * 28
+IOMD_D_Unused7_DevNo            * 29
+IOMD_C_Bit0_DevNo               * 30
+IOMD_C_Bit1_DevNo               * 31
+IOMD_C_Bit2_DevNo               * 32
+IOMD_C_Bit3_DevNo               * 33
+IOMD_C_Bit4_DevNo               * 34
+IOMD_C_Bit5_DevNo               * 35
+IOMD_C_Bit6_DevNo               * 36
+IOMD_C_Bit7_DevNo               * 37
+
+
+       OPT OldOpt
+       END
diff --git a/hdr/Devices b/hdr/Devices
new file mode 100644
index 0000000..328485b
--- /dev/null
+++ b/hdr/Devices
@@ -0,0 +1,57 @@
+; 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    > &.Hdr.Devices
+
+OldOpt  SETA    {OPT}
+        OPT     OptNoList+OptNoP1List
+
+;
+; Device Numbers for Message_DeviceClaim / Message_Device_InUse
+;
+                        ^       1
+Device_ParallelPort     #       1       ; 1
+Device_SerialPort       #       1       ; 2
+Device_Palette          #       1       ; 3
+Device_Midi             #       1       ; 4
+Device_ADFSFloppy       #       1       ; 5
+Device_UserPort         #       1       ; 6
+ ; Minor device numbers indicate which one;
+ ; Bits 0..3 Port within Podule
+ ; Bits 4..5 Podule number
+ ; Bit  6    Reserved (must be zero)
+ ; Bit  7    Internal/External bit (since no internal User Port it MUST be 1)
+Device_Sound            #       1       ; 7
+
+
+; this is the section for Third Parties
+; starts at &1000
+
+                        ^       &1000
+                        ^       &100B
+Device_NCSerial1        #       1       ; &100B Acorn NC
+Device_NCSerial2        #       1       ; &100C Acorn NC
+                        ^       &1015
+Device_IME              #       1       ; &1015 Acorn (Kevin Bracey)
+                        ^       &1018
+Device_RCMM		#	1	; &1018 Terry Adams
+                        ^       &101A
+Device_USBd		#	1	; &101A John Ballance (Castle)
+Device_USBTematic	#	1	; &101B Tematic (Dan)
+
+        OPT     OldOpt
+        END
diff --git a/hdr/DrawObj b/hdr/DrawObj
new file mode 100644
index 0000000..9e5b12e
--- /dev/null
+++ b/hdr/DrawObj
@@ -0,0 +1,49 @@
+; 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    Allocations for Draw object types => &.hdr.DrawObj
+
+OldOpt  SETA    {OPT}
+        OPT     OptNoList+OptNoP1List
+
+
+; *******************************
+; * Official Acorn draw objects *
+; *******************************
+;
+; Current Acorn objects go from
+; &0 - &FF
+
+                        ^ 0
+DrawObj_FontTable       # 1     ; 0  Font table object
+DrawObj_Text            # 1     ; 1  text object
+DrawObj_Path            # 1     ; 2  path object
+
+                        ^ 5
+DrawObj_Sprite          # 1     ; 5  Sprite object
+DrawObj_Group           # 1     ; 6  Grouped object
+DrawObj_Tagged          # 1     ; 7  Tagged object
+
+                        ^ 9
+DrawObj_TextArea        # 1     ; 9  Text area object
+DrawObj_TextColumn      # 1     ;10  Text column objects
+DrawObj_Options         # 1     ;11  Options object
+DrawObj_TransText       # 1     ;12  Transformed text object
+DrawObj_TransSprite     # 1     ;13  Transformed sprite object
+
+        OPT     OldOpt
+        END
diff --git a/hdr/EnvNumbers b/hdr/EnvNumbers
new file mode 100644
index 0000000..b24bb74
--- /dev/null
+++ b/hdr/EnvNumbers
@@ -0,0 +1,61 @@
+; 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    => &.Hdr.EnvNumbers
+
+OldOpt  SETA    {OPT}
+        OPT     OptNoList+OptNoP1List
+
+; ***********************************
+; ***    C h a n g e   L i s t    ***
+; ***********************************
+
+; Date       Name  Description
+; ----       ----  -----------
+; 15-Aug-88  SKS   Added numbers in comments
+
+; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+                        ^ 0
+MemoryLimit             # 1     ;  0  R2 ignored
+
+UndefinedHandler        # 1     ;  1   "    "
+PrefetchAbortHandler    # 1     ;  2   "    "
+DataAbortHandler        # 1     ;  3   "    "
+AddressExceptionHandler # 1     ;  4   "    "
+OtherExceptionHandler   # 1     ;  5  for FPU exception etc. expansion
+
+ErrorHandler            # 1     ;  6  R3 is error buffer pointer
+CallBackHandler         # 1     ;  7  R3 is register buffer ptr
+BreakPointHandler       # 1     ;  8  R3 is register buffer ptr
+
+EscapeHandler           # 1     ;  9
+EventHandler            # 1     ; 10
+ExitHandler             # 1     ; 11
+UnusedSWIHandler        # 1     ; 12
+
+ExceptionDumpArea       # 1     ; 13
+
+ApplicationSpaceSize    # 1     ; 14
+CAOPointer              # 1     ; 15
+
+UpCallHandler           # 1     ; 16
+
+MaxEnvNumber  #   1
+
+        OPT     OldOpt
+        END
diff --git a/hdr/FSNumbers b/hdr/FSNumbers
new file mode 100644
index 0000000..fbf2091
--- /dev/null
+++ b/hdr/FSNumbers
@@ -0,0 +1,82 @@
+; 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    Filing System Numbers
+OldOpt  SETA    {OPT}
+        OPT     OptNoList+OptNoP1List
+
+;
+; Filing System numbers - the definitive list
+; ===========================================
+;
+                        ^       0
+fsnumber_none           # 1     ;   0                   No fs selected (valid state)
+fsnumber_tape1200       # 1     ;   1                   Not supported
+fsnumber_tape300        # 1     ;   2                   Not supported
+fsnumber_rom            # 1     ;   3 Rom:              Acorn
+fsnumber_dfs            # 1     ;   4                   Not supported
+fsnumber_net            # 1     ;   5 Net:              Acorn
+fsnumber_telesoft       # 1     ;   6                   Not supported
+fsnumber_IEEE           # 1     ;   7                   Not supported
+fsnumber_adfs           # 1     ;   8 Adfs:             Acorn
+fsnumber_reserved       # 1     ;   9                   Reserved for compatability with the BBC world
+fsnumber_vfs            # 1     ;  10                   Not supported
+fsnumber_wdfs           # 1     ;  11 BBC:              Acorn, reused so that Modula2 works
+fsnumber_netprint       # 1     ;  12 NetPrint:         Acorn
+fsnumber_null           # 1     ;  13 Null:             Acorn
+fsnumber_printer        # 1     ;  14 Printer:          Acorn
+fsnumber_serial         # 1     ;  15 Serial:           Acorn
+fsnumber_acacia_ramfs   # 1     ;  16
+fsnumber_vdu            # 1     ;  17 Vdu:              Acorn
+fsnumber_rawvdu         # 1     ;  18 RawVdu:           Acorn
+fsnumber_kbd            # 1     ;  19 Kbd:              Acorn
+fsnumber_rawkbd         # 1     ;  20 RawKbd:           Acorn
+fsnumber_deskfs         # 1     ;  21 DeskFS:           Acorn
+                        ^       23
+fsnumber_ramfs          # 1     ;  23 RAM:              Acorn
+fsnumber_RISCiXFS       # 1     ;  24 RISCiXFS:         Acorn
+                        ^       26
+fsnumber_SCSIFS         # 1     ;  26 SCSI:             Acorn
+                        ^       33
+fsnumber_NFS            # 1     ;  33 NFS:              Acorn
+                        ^       37
+fsnumber_CDFS           # 1     ;  37 CDFS:             Next Technology
+                        ^       41
+fsnumber_loader         # 1     ;  41 BroadcastLoaderUtils: Acorn & Digital Services broadcast loader
+                        ^       46
+fsnumber_resourcefs     # 1     ;  46 Resources:        Acorn
+fsnumber_pipefs         # 1     ;  47 Pipe:             Acorn
+                        ^       53
+fsnumber_DeviceFS       # 1     ;  53 Devices:          Acorn
+fsnumber_ParallelFS     # 1     ;  54 Parallel:         Acorn
+                        ^       61
+fsnumber_PSCompressFS   # 1     ;  61 PSCompress:       Acorn
+                        ^       77
+fsnumber_MirrorFS       # 1     ;  77 MirrorFS:         Acorn
+                        ^       79
+fsnumber_FTPFS          # 1     ;  79 FTP:              Acorn
+                        ^       99
+fsnumber_ShareFS        # 1     ;  99 Share:            Acorn
+                        ^       136
+fsnumber_FlashFS        # 1     ; 136                   Acorn (ap)
+                        ^       162
+fsnumber_TFTP           # 1     ; 162                   Kevin Bracey
+
+; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+        OPT     OldOpt
+        END
diff --git a/hdr/FileTypes b/hdr/FileTypes
new file mode 100644
index 0000000..b3523df
--- /dev/null
+++ b/hdr/FileTypes
@@ -0,0 +1,779 @@
+; 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    Specific File Type definitions ==> Hdr:FileTypes
+
+OldOpt  SETA    {OPT}
+        OPT     OptNoList+OptNoP1List
+
+        ; Generated from Hdr:ISV-Types
+        ; For the vendor "Acorn"
+
+
+        ; ***  Don't edit this file, use Hdr:ISV-Types instead!  ***
+
+                                GBLS    FileType_Text_Name
+FileType_Text                   EQU     &00000FFF
+FileType_Text_Name              SETS    "Text"
+
+                                GBLS    FileType_Command_Name
+FileType_Command                EQU     &00000FFE
+FileType_Command_Name           SETS    "Command"
+
+                                GBLS    FileType_Data_Name
+FileType_Data                   EQU     &00000FFD
+FileType_Data_Name              SETS    "Data"
+
+                                GBLS    FileType_Utility_Name
+FileType_Utility                EQU     &00000FFC
+FileType_Utility_Name           SETS    "Utility"
+
+                                GBLS    FileType_BASIC_Name
+FileType_BASIC                  EQU     &00000FFB
+FileType_BASIC_Name             SETS    "BASIC"
+
+                                GBLS    FileType_Module_Name
+FileType_Module                 EQU     &00000FFA
+FileType_Module_Name            SETS    "Module"
+
+                                GBLS    FileType_Sprite_Name
+FileType_Sprite                 EQU     &00000FF9
+FileType_Sprite_Name            SETS    "Sprite"
+
+                                GBLS    FileType_Application_Name
+FileType_Application            EQU     &00000FF8
+FileType_Application_Name       SETS    "Absolute"
+
+                                GBLS    FileType_BBCFont_Name
+FileType_BBCFont                EQU     &00000FF7
+FileType_BBCFont_Name           SETS    "BBC Font"
+
+                                GBLS    FileType_Font_Name
+FileType_Font                   EQU     &00000FF6
+FileType_Font_Name              SETS    "Font"
+
+                                GBLS    FileType_PostScript_Name
+FileType_PostScript             EQU     &00000FF5
+FileType_PostScript_Name        SETS    "PoScript"
+
+                                GBLS    FileType_DMData_Name
+FileType_DMData                 EQU     &00000FF4
+FileType_DMData_Name            SETS    "DM data"
+
+                                GBLS    FileType_LaserJet_Name
+FileType_LaserJet               EQU     &00000FF3
+FileType_LaserJet_Name          SETS    "LaserJet"
+
+                                GBLS    FileType_Configuration_Name
+FileType_Configuration          EQU     &00000FF2
+FileType_Configuration_Name     SETS    "Config"
+
+                                GBLS    FileType_RawData_Name
+FileType_RawData                EQU     &00000FF1
+FileType_RawData_Name           SETS    "RawData"
+
+                                GBLS    FileType_TaggedImageFileFormat_Name
+FileType_TaggedImageFileFormat  EQU     &00000FF0
+FileType_TaggedImageFileFormat_Name SETS    "TIFF"
+
+                                GBLS    FileType_Diary_Name
+FileType_Diary                  EQU     &00000FEF
+FileType_Diary_Name             SETS    "Diary"
+
+                                GBLS    FileType_ARMulatorCode_Name
+FileType_ARMulatorCode          EQU     &00000FEF
+FileType_ARMulatorCode_Name     SETS    "System"
+
+                                GBLS    FileType_NotePad_Name
+FileType_NotePad                EQU     &00000FEE
+FileType_NotePad_Name           SETS    "NotePad"
+
+                                GBLS    FileType_Palette_Name
+FileType_Palette                EQU     &00000FED
+FileType_Palette_Name           SETS    "Palette"
+
+                                GBLS    FileType_Template_Name
+FileType_Template               EQU     &00000FEC
+FileType_Template_Name          SETS    "Template"
+
+                                GBLS    FileType_Obey_Name
+FileType_Obey                   EQU     &00000FEB
+FileType_Obey_Name              SETS    "Obey"
+
+                                GBLS    FileType_Desktop_Name
+FileType_Desktop                EQU     &00000FEA
+FileType_Desktop_Name           SETS    "Desktop"
+
+                                GBLS    FileType_ViewWord_Name
+FileType_ViewWord               EQU     &00000FE9
+FileType_ViewWord_Name          SETS    "ViewWord"
+
+                                GBLS    FileType_ViewPS_Name
+FileType_ViewPS                 EQU     &00000FE8
+FileType_ViewPS_Name            SETS    "ViewPS"
+
+                                GBLS    FileType_ViewSheet_Name
+FileType_ViewSheet              EQU     &00000FE7
+FileType_ViewSheet_Name         SETS    "ViewSht"
+
+                                GBLS    FileType_UNIXExecutable_Name
+FileType_UNIXExecutable         EQU     &00000FE6
+FileType_UNIXExecutable_Name    SETS    "UNIX Ex"
+
+                                GBLS    FileType_EPROM_Name
+FileType_EPROM                  EQU     &00000FE5
+FileType_EPROM_Name             SETS    "EPROM"
+
+                                GBLS    FileType_MSDOS_Name
+FileType_MSDOS                  EQU     &00000FE4
+FileType_MSDOS_Name             SETS    "MSDOS"
+
+                                GBLS    FileType_Atari_Name
+FileType_Atari                  EQU     &00000FE3
+FileType_Atari_Name             SETS    "Atari"
+
+                                GBLS    FileType_Amiga_Name
+FileType_Amiga                  EQU     &00000FE2
+FileType_Amiga_Name             SETS    "Amiga"
+
+                                GBLS    FileType_Make_Name
+FileType_Make                   EQU     &00000FE1
+FileType_Make_Name              SETS    "Make"
+
+                                GBLS    FileType_Accessry_Name
+FileType_Accessry               EQU     &00000FE0
+FileType_Accessry_Name          SETS    "Accessry"
+
+                                GBLS    FileType_VTScript_Name
+FileType_VTScript               EQU     &00000FDF
+FileType_VTScript_Name          SETS    "VTScript"
+
+                                GBLS    FileType_VTSetup_Name
+FileType_VTSetup                EQU     &00000FDE
+FileType_VTSetup_Name           SETS    "VTSetup"
+
+                                GBLS    FileType_MasterUtl_Name
+FileType_MasterUtl              EQU     &00000FDD
+FileType_MasterUtl_Name         SETS    "FT_FDD"
+
+                                GBLS    FileType_SoftLink_Name
+FileType_SoftLink               EQU     &00000FDC
+FileType_SoftLink_Name          SETS    "SoftLink"
+
+                                GBLS    FileType_TextCRLF_Name
+FileType_TextCRLF               EQU     &00000FDB
+FileType_TextCRLF_Name          SETS    "TextCRLF"
+
+                                GBLS    FileType_MSDOSbat_Name
+FileType_MSDOSbat               EQU     &00000FDA
+FileType_MSDOSbat_Name          SETS    "MSDOSbat"
+
+                                GBLS    FileType_MSDOSexe_Name
+FileType_MSDOSexe               EQU     &00000FD9
+FileType_MSDOSexe_Name          SETS    "MSDOSexe"
+
+                                GBLS    FileType_MSDOScom_Name
+FileType_MSDOScom               EQU     &00000FD8
+FileType_MSDOScom_Name          SETS    "MSDOScom"
+
+                                GBLS    FileType_TaskObey_Name
+FileType_TaskObey               EQU     &00000FD7
+FileType_TaskObey_Name          SETS    "TaskObey"
+
+                                GBLS    FileType_TaskExec_Name
+FileType_TaskExec               EQU     &00000FD6
+FileType_TaskExec_Name          SETS    "TaskExec"
+
+                                GBLS    FileType_Pict_Name
+FileType_Pict                   EQU     &00000FD5
+FileType_Pict_Name              SETS    "Pict"
+
+                                GBLS    FileType_MIDI_Name
+FileType_MIDI                   EQU     &00000FD4
+FileType_MIDI_Name              SETS    "MIDI"
+
+                                GBLS    FileType_DebImage_Name
+FileType_DebImage               EQU     &00000FD3
+FileType_DebImage_Name          SETS    "DebImage"
+
+                                GBLS    FileType_SrcDiff_Name
+FileType_SrcDiff                EQU     &00000FD2
+FileType_SrcDiff_Name           SETS    "SrcDiff"
+
+                                GBLS    FileType_BASICTxt_Name
+FileType_BASICTxt               EQU     &00000FD1
+FileType_BASICTxt_Name          SETS    "BASICTxt"
+
+                                GBLS    FileType_PCEmConf_Name
+FileType_PCEmConf               EQU     &00000FD0
+FileType_PCEmConf_Name          SETS    "PCEmConf"
+
+                                GBLS    FileType_FontCache_Name
+FileType_FontCache              EQU     &00000FCF
+FileType_FontCache_Name         SETS    "Cache"
+
+                                GBLS    FileType_FileCoreFloppyDisc_Name
+FileType_FileCoreFloppyDisc     EQU     &00000FCE
+FileType_FileCoreFloppyDisc_Name SETS    "FT_FCE"
+
+                                GBLS    FileType_FileCoreHardDisc_Name
+FileType_FileCoreHardDisc       EQU     &00000FCD
+FileType_FileCoreHardDisc_Name  SETS    "FT_FCD"
+
+                                GBLS    FileType_Device_Name
+FileType_Device                 EQU     &00000FCC
+FileType_Device_Name            SETS    "Device"
+
+                                GBLS    FileType_ColourTransCalibration_Name
+FileType_ColourTransCalibration EQU     &00000FCB
+FileType_ColourTransCalibration_Name SETS    "Mapping"
+
+                                GBLS    FileType_Squash_Name
+FileType_Squash                 EQU     &00000FCA
+FileType_Squash_Name            SETS    "Squash"
+
+                                GBLS    FileType_SunRaster_Name
+FileType_SunRaster              EQU     &00000FC9
+FileType_SunRaster_Name         SETS    "SunRastr"
+
+                                GBLS    FileType_MSDOSDisc_Name
+FileType_MSDOSDisc              EQU     &00000FC8
+FileType_MSDOSDisc_Name         SETS    "FT_FC8"
+
+                                GBLS    FileType_AppleMacintoshType1_Name
+FileType_AppleMacintoshType1    EQU     &00000FC7
+FileType_AppleMacintoshType1_Name SETS    "MacType1"
+
+                                GBLS    FileType_PrinterDefinition_Name
+FileType_PrinterDefinition      EQU     &00000FC6
+FileType_PrinterDefinition_Name SETS    "PrintDfn"
+
+                                GBLS    FileType_HardwareTestControl_Name
+FileType_HardwareTestControl    EQU     &00000FC5
+FileType_HardwareTestControl_Name SETS    "TstContl"
+
+                                GBLS    FileType_HardwareTestScript_Name
+FileType_HardwareTestScript     EQU     &00000FC4
+FileType_HardwareTestScript_Name SETS    "TstScrpt"
+
+                                GBLS    FileType_PatchDefinition_Name
+FileType_PatchDefinition        EQU     &00000FC3
+FileType_PatchDefinition_Name   SETS    "Patch"
+
+                                GBLS    FileType_AudioInterchangeFileFormat_Name
+FileType_AudioInterchangeFileFormat EQU     &00000FC2
+FileType_AudioInterchangeFileFormat_Name SETS    "AIFF"
+
+                                GBLS    FileType_Profile_Name
+FileType_Profile                EQU     &00000FC1
+FileType_Profile_Name           SETS    "Profile"
+
+                                GBLS    FileType_FieldChangeOrder_Name
+FileType_FieldChangeOrder       EQU     &00000FC0
+FileType_FieldChangeOrder_Name  SETS    "FCO"
+
+                                GBLS    FileType_Label_Name
+FileType_Label                  EQU     &00000FBF
+FileType_Label_Name             SETS    "PSLabel"
+
+                                GBLS    FileType_PocketBookCards_Name
+FileType_PocketBookCards        EQU     &00000FBE
+FileType_PocketBookCards_Name   SETS    "PBCards"
+
+                                GBLS    FileType_PocketBookWrite_Name
+FileType_PocketBookWrite        EQU     &00000FBD
+FileType_PocketBookWrite_Name   SETS    "PBWrite"
+
+                                GBLS    FileType_PocketBookAbacus_Name
+FileType_PocketBookAbacus       EQU     &00000FBC
+FileType_PocketBookAbacus_Name  SETS    "PBAbacus"
+
+                                GBLS    FileType_PocketBookLotusWK1_Name
+FileType_PocketBookLotusWK1     EQU     &00000FBB
+FileType_PocketBookLotusWK1_Name SETS    "LotusWK1"
+
+                                GBLS    FileType_PSPrinterDescription_Name
+FileType_PSPrinterDescription   EQU     &00000FBA
+FileType_PSPrinterDescription_Name SETS    "PPD"
+
+                                GBLS    FileType_FaxMailServer_Name
+FileType_FaxMailServer          EQU     &00000FB9
+FileType_FaxMailServer_Name     SETS    "FaxMail"
+
+                                GBLS    FileType_Schedule_Name
+FileType_Schedule               EQU     &00000FB8
+FileType_Schedule_Name          SETS    "Schedule"
+
+                                GBLS    FileType_Plotter_Name
+FileType_Plotter                EQU     &00000FB7
+FileType_Plotter_Name           SETS    "Plotter"
+
+                                GBLS    FileType_Agenda_Name
+FileType_Agenda                 EQU     &00000FB6
+FileType_Agenda_Name            SETS    "Agenda"
+
+                                GBLS    FileType_QuantumNullDisc_Name
+FileType_QuantumNullDisc        EQU     &00000FB5
+FileType_QuantumNullDisc_Name   SETS    "DiscsN"
+
+                                GBLS    FileType_QuantumReadOnlyDisc_Name
+FileType_QuantumReadOnlyDisc    EQU     &00000FB4
+FileType_QuantumReadOnlyDisc_Name SETS    "DiscsR"
+
+                                GBLS    FileType_DiscCRC_Name
+FileType_DiscCRC                EQU     &00000FB3
+FileType_DiscCRC_Name           SETS    "DiscCRC"
+
+                                GBLS    FileType_AVI_Name
+FileType_AVI                    EQU     &00000FB2
+FileType_AVI_Name               SETS    "AVI"
+
+                                GBLS    FileType_WaveForm_Name
+FileType_WaveForm               EQU     &00000FB1
+FileType_WaveForm_Name          SETS    "WaveForm"
+
+                                GBLS    FileType_Allocate_Name
+FileType_Allocate               EQU     &00000FB0
+FileType_Allocate_Name          SETS    "Allocate"
+
+                                GBLS    FileType_HTML_Name
+FileType_HTML                   EQU     &00000FAF
+FileType_HTML_Name              SETS    "HTML"
+
+                                GBLS    FileType_Resource_Name
+FileType_Resource               EQU     &00000FAE
+FileType_Resource_Name          SETS    "Resource"
+
+                                GBLS    FileType_MethodGen_Name
+FileType_MethodGen              EQU     &00000FAD
+FileType_MethodGen_Name         SETS    "Methods"
+
+                                GBLS    FileType_HCL_Name
+FileType_HCL                    EQU     &00000FAC
+FileType_HCL_Name               SETS    "HCL"
+
+                                GBLS    FileType_Observess_Name
+FileType_Observess              EQU     &00000FAB
+FileType_Observess_Name         SETS    "KnowBase"
+
+                                GBLS    FileType_UltiLabel_Name
+FileType_UltiLabel              EQU     &00000FAA
+FileType_UltiLabel_Name         SETS    "UltLabel"
+
+                                GBLS    FileType_Montage_Name
+FileType_Montage                EQU     &00000FA9
+FileType_Montage_Name           SETS    "IFS"
+
+                                GBLS    FileType_EasyFont_Name
+FileType_EasyFont               EQU     &00000FA8
+FileType_EasyFont_Name          SETS    "EasyData"
+
+                                GBLS    FileType_Storyboard_Name
+FileType_Storyboard             EQU     &00000FA7
+FileType_Storyboard_Name        SETS    "StoryBrd"
+
+                                GBLS    FileType_Invent_Name
+FileType_Invent                 EQU     &00000FA6
+FileType_Invent_Name            SETS    "Hyper"
+
+                                GBLS    FileType_Clicker_Name
+FileType_Clicker                EQU     &00000FA5
+FileType_Clicker_Name           SETS    "Grid"
+
+                                GBLS    FileType_SmartKill_Name
+FileType_SmartKill              EQU     &00000FA4
+FileType_SmartKill_Name         SETS    "CaptVir"
+
+                                GBLS    FileType_Environment_Name
+FileType_Environment            EQU     &00000FA3
+FileType_Environment_Name       SETS    "Enviro"
+
+                                GBLS    FileType_HomeWorks_Name
+FileType_HomeWorks              EQU     &00000FA2
+FileType_HomeWorks_Name         SETS    "HomeWrks"
+
+                                GBLS    FileType_CitApps_Name
+FileType_CitApps                EQU     &00000FA1
+FileType_CitApps_Name           SETS    "CitInfo"
+
+                                GBLS    FileType_NOTUSED_Name
+FileType_NOTUSED                EQU     &00000FA0
+FileType_NOTUSED_Name           SETS    "NOTUSED"
+
+                                GBLS    FileType_Access1_Name
+FileType_Access1                EQU     &00000F9F
+FileType_Access1_Name           SETS    "DiscD"
+
+                                GBLS    FileType_Access2_Name
+FileType_Access2                EQU     &00000F9E
+FileType_Access2_Name           SETS    "DiscDP"
+
+                                GBLS    FileType_Access3_Name
+FileType_Access3                EQU     &00000F9D
+FileType_Access3_Name           SETS    "DiscCD"
+
+                                GBLS    FileType_QueryU_Name
+FileType_QueryU                 EQU     &00000F9C
+FileType_QueryU_Name            SETS    "QueryU"
+
+                                GBLS    FileType_QueryH_Name
+FileType_QueryH                 EQU     &00000F9B
+FileType_QueryH_Name            SETS    "QueryH"
+
+                                GBLS    FileType_QueryL_Name
+FileType_QueryL                 EQU     &00000F9A
+FileType_QueryL_Name            SETS    "QueryL"
+
+                                GBLS    FileType_OMIDraw_Name
+FileType_OMIDraw                EQU     &00000F99
+FileType_OMIDraw_Name           SETS    "Layout"
+
+                                GBLS    FileType_PhotoShop_Name
+FileType_PhotoShop              EQU     &00000F98
+FileType_PhotoShop_Name         SETS    "PhotoShp"
+
+                                GBLS    FileType_AddressBook_Name
+FileType_AddressBook            EQU     &00000F97
+FileType_AddressBook_Name       SETS    "AdrBook"
+
+                                GBLS    FileType_GenSound_Name
+FileType_GenSound               EQU     &00000F96
+FileType_GenSound_Name          SETS    "GenSound"
+
+                                GBLS    FileType_GenCode_Name
+FileType_GenCode                EQU     &00000F95
+FileType_GenCode_Name           SETS    "Code"
+
+                                GBLS    FileType_SCBBlk_Name
+FileType_SCBBlk                 EQU     &00000F94
+FileType_SCBBlk_Name            SETS    "SCBBlk"
+
+                                GBLS    FileType_NCDown_Name
+FileType_NCDown                 EQU     &00000F93
+FileType_NCDown_Name            SETS    "NCDown"
+
+                                GBLS    FileType_Font16_Name
+FileType_Font16                 EQU     &00000F92
+FileType_Font16_Name            SETS    "Font16"
+
+                                GBLS    FileType_URI_Name
+FileType_URI                    EQU     &00000F91
+FileType_URI_Name               SETS    "URI"
+
+                                GBLS    FileType_ResChain_Name
+FileType_ResChain               EQU     &00000F90
+FileType_ResChain_Name          SETS    "ResChain"
+
+                                GBLS    FileType_WBMP_Name
+FileType_WBMP                   EQU     &00000F8F
+FileType_WBMP_Name              SETS    "WBMP"
+
+                                GBLS    FileType_WML_Name
+FileType_WML                    EQU     &00000F8E
+FileType_WML_Name               SETS    "WML"
+
+                                GBLS    FileType_GNUZip_Name
+FileType_GNUZip                 EQU     &00000F89
+FileType_GNUZip_Name            SETS    "GZip"
+
+                                GBLS    FileType_RealAud_Name
+FileType_RealAud                EQU     &00000F88
+FileType_RealAud_Name           SETS    "RealAud"
+
+                                GBLS    FileType_AcornLibrary_Name
+FileType_AcornLibrary           EQU     &00000F87
+FileType_AcornLibrary_Name      SETS    "Library"
+
+                                GBLS    FileType_Matrix_Name
+FileType_Matrix                 EQU     &00000F86
+FileType_Matrix_Name            SETS    "Matrix"
+
+                                GBLS    FileType_WideEnc_Name
+FileType_WideEnc                EQU     &00000F85
+FileType_WideEnc_Name           SETS    "WideEnc"
+
+                                GBLS    FileType_IMEDict_Name
+FileType_IMEDict                EQU     &00000F84
+FileType_IMEDict_Name           SETS    "IMEDict"
+
+                                GBLS    FileType_MNG_Name
+FileType_MNG                    EQU     &00000F83
+FileType_MNG_Name               SETS    "MNG"
+
+                                GBLS    FileType_JAR_Name
+FileType_JAR                    EQU     &00000F82
+FileType_JAR_Name               SETS    "JAR"
+
+                                GBLS    FileType_JSScript_Name
+FileType_JSScript               EQU     &00000F81
+FileType_JSScript_Name          SETS    "JSScript"
+
+                                GBLS    FileType_XML_Name
+FileType_XML                    EQU     &00000F80
+FileType_XML_Name               SETS    "XML"
+
+                                GBLS    FileType_XML_DTD_Name
+FileType_XML_DTD                EQU     &00000F7F
+FileType_XML_DTD_Name           SETS    "XML_DTD"
+
+                                GBLS    FileType_XSL_Name
+FileType_XSL                    EQU     &00000F7E
+FileType_XSL_Name               SETS    "XSL"
+
+                                GBLS    FileType_HP_PCL_Name
+FileType_HP_PCL                 EQU     &00000F7D
+FileType_HP_PCL_Name            SETS    "PCL"
+
+                                GBLS    FileType_HP_PJL_Name
+FileType_HP_PJL                 EQU     &00000F7C
+FileType_HP_PJL_Name            SETS    "PJL"
+
+                                GBLS    FileType_JNG_Name
+FileType_JNG                    EQU     &00000F78
+FileType_JNG_Name               SETS    "JNG"
+
+                                GBLS    FileType_EconetUtilities_Name
+FileType_EconetUtilities        EQU     &00000F0E
+FileType_EconetUtilities_Name   SETS    "EcontUtl"
+
+                                GBLS    FileType_TabSeparatedVariables_Name
+FileType_TabSeparatedVariables  EQU     &00000F0D
+FileType_TabSeparatedVariables_Name SETS    "TSV"
+
+                                GBLS    FileType_PostScriptTapeLabel_Name
+FileType_PostScriptTapeLabel    EQU     &00000F0C
+FileType_PostScriptTapeLabel_Name SETS    "LabelPS"
+
+                                GBLS    FileType_WiniUtilities_Name
+FileType_WiniUtilities          EQU     &00000F09
+FileType_WiniUtilities_Name     SETS    "WiniUtil"
+
+                                GBLS    FileType_ELF_Name
+FileType_ELF                    EQU     &00000E1F
+FileType_ELF_Name               SETS    "ELF"
+
+                                GBLS    FileType_CommaSeparatedVariables_Name
+FileType_CommaSeparatedVariables EQU     &00000DFE
+FileType_CommaSeparatedVariables_Name SETS    "CSV"
+
+                                GBLS    FileType_DataExchangeFormat_Name
+FileType_DataExchangeFormat     EQU     &00000DEA
+FileType_DataExchangeFormat_Name SETS    "DXF"
+
+                                GBLS    FileType_EarlyDrawingProgram_Name
+FileType_EarlyDrawingProgram    EQU     &00000DDD
+FileType_EarlyDrawingProgram_Name SETS    "D"
+
+                                GBLS    FileType_SuperCalc_Name
+FileType_SuperCalc              EQU     &00000DB4
+FileType_SuperCalc_Name         SETS    "FT_DB4"
+
+                                GBLS    FileType_DBaseIII_Name
+FileType_DBaseIII               EQU     &00000DB3
+FileType_DBaseIII_Name          SETS    "DBaseIII"
+
+                                GBLS    FileType_DBaseII_Name
+FileType_DBaseII                EQU     &00000DB2
+FileType_DBaseII_Name           SETS    "DBaseII"
+
+                                GBLS    FileType_DBaseNDX_Name
+FileType_DBaseNDX               EQU     &00000DB1
+FileType_DBaseNDX_Name          SETS    "DBaseNDX"
+
+                                GBLS    FileType_WK1_Name
+FileType_WK1                    EQU     &00000DB0
+FileType_WK1_Name               SETS    "WK1"
+
+                                GBLS    FileType_Mode7_Name
+FileType_Mode7                  EQU     &00000D16
+FileType_Mode7_Name             SETS    "Mode7"
+
+                                GBLS    FileType_DeadOnArival_Name
+FileType_DeadOnArival           EQU     &00000D0A
+FileType_DeadOnArival_Name      SETS    "D.O.A."
+
+                                GBLS    FileType_SQABugReport_Name
+FileType_SQABugReport           EQU     &00000CF5
+FileType_SQABugReport_Name      SETS    "Bug"
+
+                                GBLS    FileType_CapitalAuthorisation_Name
+FileType_CapitalAuthorisation   EQU     &00000CEA
+FileType_CapitalAuthorisation_Name SETS    "C.E.A."
+
+                                GBLS    FileType_HPGLPlot_Name
+FileType_HPGLPlot               EQU     &00000CAE
+FileType_HPGLPlot_Name          SETS    "HPGLPlot"
+
+                                GBLS    FileType_Manual_Name
+FileType_Manual                 EQU     &00000C2F
+FileType_Manual_Name            SETS    "Manual"
+
+                                GBLS    FileType_AdvanceWordProcessor_Name
+FileType_AdvanceWordProcessor   EQU     &00000C28
+FileType_AdvanceWordProcessor_Name SETS    "AWord"
+
+                                GBLS    FileType_AdvanceDataBase_Name
+FileType_AdvanceDataBase        EQU     &00000C27
+FileType_AdvanceDataBase_Name   SETS    "ADBase"
+
+                                GBLS    FileType_AdvanceSpreadSheet_Name
+FileType_AdvanceSpreadSheet     EQU     &00000C26
+FileType_AdvanceSpreadSheet_Name SETS    "ASheet"
+
+                                GBLS    FileType_AdvanceGraph_Name
+FileType_AdvanceGraph           EQU     &00000C25
+FileType_AdvanceGraph_Name      SETS    "AGraph"
+
+                                GBLS    FileType_FreewayDiscs_Name
+FileType_FreewayDiscs           EQU     &00000BDA
+FileType_FreewayDiscs_Name      SETS    "Discs"
+
+                                GBLS    FileType_FreewayDiscsP_Name
+FileType_FreewayDiscsP          EQU     &00000BD9
+FileType_FreewayDiscsP_Name     SETS    "DiscsP"
+
+                                GBLS    FileType_BBCROM_Name
+FileType_BBCROM                 EQU     &00000BBC
+FileType_BBCROM_Name            SETS    "BBC ROM"
+
+                                GBLS    FileType_Instrument_Name
+FileType_Instrument             EQU     &00000B63
+FileType_Instrument_Name        SETS    "Instrum"
+
+                                GBLS    FileType_Draw_Name
+FileType_Draw                   EQU     &00000AFF
+FileType_Draw_Name              SETS    "DrawFile"
+
+                                GBLS    FileType_MouseEventRecord_Name
+FileType_MouseEventRecord       EQU     &00000AFE
+FileType_MouseEventRecord_Name  SETS    "Mouse"
+
+                                GBLS    FileType_GCALSourceText_Name
+FileType_GCALSourceText         EQU     &00000AFD
+FileType_GCALSourceText_Name    SETS    "Gcal"
+
+                                GBLS    FileType_GCODEIntermediate_Name
+FileType_GCODEIntermediate      EQU     &00000AFC
+FileType_GCODEIntermediate_Name SETS    "GcalOut"
+
+                                GBLS    FileType_PhonePad_Name
+FileType_PhonePad               EQU     &00000AFB
+FileType_PhonePad_Name          SETS    "PhonePad"
+
+                                GBLS    FileType_DtpStyleSheet_Name
+FileType_DtpStyleSheet          EQU     &00000AFA
+FileType_DtpStyleSheet_Name     SETS    "DtpStyle"
+
+                                GBLS    FileType_DtpDocument_Name
+FileType_DtpDocument            EQU     &00000AF9
+FileType_DtpDocument_Name       SETS    "DtpDoc"
+
+                                GBLS    FileType_FirstWordPlus_Name
+FileType_FirstWordPlus          EQU     &00000AF8
+FileType_FirstWordPlus_Name     SETS    "FT_AF8"
+
+                                GBLS    FileType_HelpInfo_Name
+FileType_HelpInfo               EQU     &00000AF7
+FileType_HelpInfo_Name          SETS    "HelpInfo"
+
+                                GBLS    FileType_ASimTraceInformation_Name
+FileType_ASimTraceInformation   EQU     &00000AF6
+FileType_ASimTraceInformation_Name SETS    "SimTrace"
+
+                                GBLS    FileType_Query_Name
+FileType_Query                  EQU     &00000AF5
+FileType_Query_Name             SETS    "Query"
+
+                                GBLS    FileType_EMail_Name
+FileType_EMail                  EQU     &00000AF4
+FileType_EMail_Name             SETS    "EMail"
+
+                                GBLS    FileType_Disc_Name
+FileType_Disc                   EQU     &00000AF3
+FileType_Disc_Name              SETS    "Disc"
+
+                                GBLS    FileType_Nova_Name
+FileType_Nova                   EQU     &00000AF2
+FileType_Nova_Name              SETS    "Nova"
+
+                                GBLS    FileType_Music_Name
+FileType_Music                  EQU     &00000AF1
+FileType_Music_Name             SETS    "Music"
+
+                                GBLS    FileType_ARCWriter_Name
+FileType_ARCWriter              EQU     &00000AF0
+FileType_ARCWriter_Name         SETS    "FT_AF0"
+
+                                GBLS    FileType_Alarms_Name
+FileType_Alarms                 EQU     &00000AE9
+FileType_Alarms_Name            SETS    "Alarms"
+
+                                GBLS    FileType_GenericSavedGame_Name
+FileType_GenericSavedGame       EQU     &00000AE8
+FileType_GenericSavedGame_Name  SETS    "SaveGame"
+
+                                GBLS    FileType_AcornReplayMovie_Name
+FileType_AcornReplayMovie       EQU     &00000AE7
+FileType_AcornReplayMovie_Name  SETS    "ARMovie"
+
+                                GBLS    FileType_PCWord_Name
+FileType_PCWord                 EQU     &00000AE6
+FileType_PCWord_Name            SETS    "MSWord"
+
+                                GBLS    FileType_Python_Name
+FileType_Python                 EQU     &00000AE5
+FileType_Python_Name            SETS    "Python"
+
+                                GBLS    FileType_Java_Name
+FileType_Java                   EQU     &00000AE4
+FileType_Java_Name              SETS    "Java"
+
+                                GBLS    FileType_Director_Name
+FileType_Director               EQU     &00000AE3
+FileType_Director_Name          SETS    "Director"
+
+                                GBLS    FileType_QVAlbum_Name
+FileType_QVAlbum                EQU     &00000AE2
+FileType_QVAlbum_Name           SETS    "QVAlbum"
+
+                                GBLS    FileType_QVCam_Name
+FileType_QVCam                  EQU     &00000AE1
+FileType_QVCam_Name             SETS    "QVCam"
+
+                                GBLS    FileType_SawFS_Name
+FileType_SawFS                  EQU     &00000AE0
+FileType_SawFS_Name             SETS    "SawDir"
+
+                                GBLS    FileType_PortableDocumentFormat_Name
+FileType_PortableDocumentFormat EQU     &00000ADF
+FileType_PortableDocumentFormat_Name SETS    "PDF"
+
+                                GBLS    FileType_OutLineFont_Name
+FileType_OutLineFont            EQU     &00000ADB
+FileType_OutLineFont_Name       SETS    "New Font"
+
+                                GBLS    FileType_ICA_Name
+FileType_ICA                    EQU     &00000AD0
+FileType_ICA_Name               SETS    "ICA"
+
+                                GBLS    FileType_Blink_Name
+FileType_Blink                  EQU     &00000AA4
+FileType_Blink_Name             SETS    "Blink"
+
+        OPT     OldOpt
+
+        END
diff --git a/hdr/Freeway b/hdr/Freeway
new file mode 100644
index 0000000..11ad362
--- /dev/null
+++ b/hdr/Freeway
@@ -0,0 +1,27 @@
+; 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.
+
+
+; FreeWay type numbers.
+
+Freeway_Discs		*	1
+Freeway_Printers	*	2
+
+Freeway_Hosts		*	5
+
+Freeway_Users		*	32
+
diff --git a/hdr/GraphicsV b/hdr/GraphicsV
new file mode 100644
index 0000000..3dedeff
--- /dev/null
+++ b/hdr/GraphicsV
@@ -0,0 +1,54 @@
+; 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.
+
+; hdr:GraphicsV
+
+; ********************
+; *** Changes List ***
+; ********************
+
+; 28-Aug-02 KJB Created.
+;
+
+; reason codes passed in r4 to GraphicsV
+
+GraphicsV_Complete              * 0
+GraphicsV_VSync                 * 1
+GraphicsV_SetMode               * 2
+GraphicsV_SetInterlace          * 3
+GraphicsV_SetBlank              * 4
+GraphicsV_UpdatePointer         * 5
+GraphicsV_SetDMAAddress         * 6
+GraphicsV_VetMode               * 7
+GraphicsV_DisplayFeatures       * 8
+GraphicsV_FramestoreAddress     * 9
+GraphicsV_WritePaletteEntry     * 10
+GraphicsV_WritePaletteEntries   * 11
+GraphicsV_ReadPaletteEntry      * 12
+GraphicsV_Render                * 13
+GraphicsV_IICOp                 * 14
+GraphicsV_SelectHead		* 15
+
+GVRender_SyncIfComplete         * 1:SHL:0
+GVRender_SyncIfNotComplete      * 1:SHL:1
+GVRender_Sync                   * 2_11:SHL:0
+
+GVRender_NOP                    * 0
+GVRender_CopyRectangle          * 1
+GVRender_FillRectangle          * 2
+
+                END
diff --git a/hdr/KEYV b/hdr/KEYV
new file mode 100644
index 0000000..25b3119
--- /dev/null
+++ b/hdr/KEYV
@@ -0,0 +1,32 @@
+; 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.
+
+; hdr:KEYV
+
+; 29-Jun-94 RCM Created.
+
+; reason codes passed in r0 to KEYV
+
+KEYV_PseudoEnable    EQU     5
+KEYV_PseudoDisable   EQU     6
+KEYV_PseudoIntMask   EQU     7
+KEYV_PseudoRXInt     EQU     8
+KEYV_PseudoTXInt     EQU     9
+KEYV_PortInfo        EQU    10
+KEYV_DummyKeyboard   EQU    11
+
+        END
diff --git a/hdr/Keyboard b/hdr/Keyboard
new file mode 100644
index 0000000..52270cf
--- /dev/null
+++ b/hdr/Keyboard
@@ -0,0 +1,184 @@
+; 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    > &.Hdr.Keyboard
+
+
+; Header file for Keyboard interface.
+
+
+OldOpt  SETA    {OPT}
+        OPT     OptNoList+OptNoP1List
+
+
+; ***********************************
+; ***    C h a n g e   L i s t    ***
+; ***********************************
+
+
+; Date       Who  Description
+; ----       ---  -----------
+; 25-Aug-99  SBF  Created: all known keyboard IDs, KeyV reason codes, KeyV flags and low-level key numbers included
+; 01-Sep-02  amg  Added two extra for wheel mice
+;
+
+
+; Keyboard IDs.
+KeyboardID_A500                 * 0
+KeyboardID_Archimedes           * 1
+KeyboardID_PC                   * 2
+KeyboardID_A4                   * KeyboardID_PC
+KeyboardID_RCMM                 * 3
+
+
+; KeyV reason codes.
+KeyV_KeyboardPresent            * 0
+KeyV_KeyUp                      * 1
+KeyV_KeyDown                    * 2
+KeyV_NotifyLEDState             * 3
+KeyV_EnableDrivers              * 4
+
+
+; Flags in R1 of KeyV_NotifyLEDState (PRM volume 5 is *wrong*)
+KeyV_LED_CapsLock               * 1
+KeyV_LED_NumLock                * 2
+KeyV_LED_ScrollLock             * 4
+
+
+; Low-level key numbers.
+KeyNo_Escape                    * &00
+KeyNo_Function1                 * &01
+KeyNo_Function2                 * &02
+KeyNo_Function3                 * &03
+KeyNo_Function4                 * &04
+KeyNo_Function5                 * &05
+KeyNo_Function6                 * &06
+KeyNo_Function7                 * &07
+KeyNo_Function8                 * &08
+KeyNo_Function9                 * &09
+KeyNo_Function10                * &0A
+KeyNo_Function11                * &0B
+KeyNo_Function12                * &0C
+KeyNo_Print                     * &0D
+KeyNo_ScrollLock                * &0E
+KeyNo_Break                     * &0F
+KeyNo_BackTick                  * &10
+KeyNo_Digit1                    * &11
+KeyNo_Digit2                    * &12
+KeyNo_Digit3                    * &13
+KeyNo_Digit4                    * &14
+KeyNo_Digit5                    * &15
+KeyNo_Digit6                    * &16
+KeyNo_Digit7                    * &17
+KeyNo_Digit8                    * &18
+KeyNo_Digit9                    * &19
+KeyNo_Digit0                    * &1A
+KeyNo_Minus                     * &1B
+KeyNo_Equals                    * &1C
+KeyNo_Pound                     * &1D
+KeyNo_BackSpace                 * &1E
+KeyNo_Insert                    * &1F
+KeyNo_Home                      * &20
+KeyNo_PageUp                    * &21
+KeyNo_NumLock                   * &22
+KeyNo_NumPadSlash               * &23
+KeyNo_NumPadStar                * &24
+KeyNo_NumPadHash                * &25
+KeyNo_Tab                       * &26
+KeyNo_LetterQ                   * &27
+KeyNo_LetterW                   * &28
+KeyNo_LetterE                   * &29
+KeyNo_LetterR                   * &2A
+KeyNo_LetterT                   * &2B
+KeyNo_LetterY                   * &2C
+KeyNo_LetterU                   * &2D
+KeyNo_LetterI                   * &2E
+KeyNo_LetterO                   * &2F
+KeyNo_LetterP                   * &30
+KeyNo_OpenSquare                * &31
+KeyNo_CloseSquare               * &32
+KeyNo_BackSlash                 * &33
+KeyNo_Delete                    * &34
+KeyNo_Copy                      * &35
+KeyNo_PageDown                  * &36
+KeyNo_NumPad7                   * &37
+KeyNo_NumPad8                   * &38
+KeyNo_NumPad9                   * &39
+KeyNo_NumPadMinus               * &3A
+KeyNo_CtrlLeft                  * &3B
+KeyNo_LetterA                   * &3C
+KeyNo_LetterS                   * &3D
+KeyNo_LetterD                   * &3E
+KeyNo_LetterF                   * &3F
+KeyNo_LetterG                   * &40
+KeyNo_LetterH                   * &41
+KeyNo_LetterJ                   * &42
+KeyNo_LetterK                   * &43
+KeyNo_LetterL                   * &44
+KeyNo_SemiColon                 * &45
+KeyNo_Tick                      * &46
+KeyNo_Return                    * &47
+KeyNo_NumPad4                   * &48
+KeyNo_NumPad5                   * &49
+KeyNo_NumPad6                   * &4A
+KeyNo_NumPadPlus                * &4B
+KeyNo_ShiftLeft                 * &4C
+KeyNo_NotFittedLeft             * &4D
+KeyNo_LetterZ                   * &4E
+KeyNo_LetterX                   * &4F
+KeyNo_LetterC                   * &50
+KeyNo_LetterV                   * &51
+KeyNo_LetterB                   * &52
+KeyNo_LetterN                   * &53
+KeyNo_LetterM                   * &54
+KeyNo_Comma                     * &55
+KeyNo_Dot                       * &56
+KeyNo_Slash                     * &57
+KeyNo_ShiftRight                * &58
+KeyNo_CursorUp                  * &59
+KeyNo_NumPad1                   * &5A
+KeyNo_NumPad2                   * &5B
+KeyNo_NumPad3                   * &5C
+KeyNo_CapsLock                  * &5D
+KeyNo_AltLeft                   * &5E
+KeyNo_Space                     * &5F
+KeyNo_AltRight                  * &60
+KeyNo_CtrlRight                 * &61
+KeyNo_CursorLeft                * &62
+KeyNo_CursorDown                * &63
+KeyNo_CursorRight               * &64
+KeyNo_NumPad0                   * &65
+KeyNo_NumPadDot                 * &66
+KeyNo_NumPadEnter               * &67
+KeyNo_AcornLeft                 * &68
+KeyNo_AcornRight                * &69
+KeyNo_Menu                      * &6A
+KeyNo_NoConvert                 * &6B
+KeyNo_Convert                   * &6C
+KeyNo_Kana                      * &6D
+KeyNo_NotFittedRight            * &6E
+KeyNo_FN                        * &6F
+KeyNo_LeftMouse                 * &70
+KeyNo_CentreMouse               * &71
+KeyNo_RightMouse                * &72
+KeyNo_Mouse1			* &73
+KeyNo_Mouse2			* &74
+
+
+        OPT     OldOpt
+        END
+
diff --git a/hdr/Messages b/hdr/Messages
new file mode 100644
index 0000000..1580ccc
--- /dev/null
+++ b/hdr/Messages
@@ -0,0 +1,206 @@
+; 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    > &.Hdr.Messages
+
+OldOpt  SETA    {OPT}
+        OPT     OptNoList+OptNoP1List
+
+;
+; Global message actions
+;
+                        ^       0
+Message_Quit            #       1       ; 0     go away please!
+Message_DataSave        #       1       ; 1     )
+Message_DataSaveAck     #       1       ; 2     ) data transfer protocol
+Message_DataLoad        #       1       ; 3     )
+Message_DataLoadAck     #       1       ; 4     )
+Message_DataOpen        #       1       ; 5     ) double-click on datafile
+Message_RAMFetch        #       1       ; 6     ) for direct data transfer
+Message_RAMTransmit     #       1       ; 7     )
+Message_PreQuit         #       1       ; 8     for quit confirmation
+Message_PaletteChange   #       1       ; 9     issued by palette utility
+Message_SaveDesktop     #       1       ; 10    put restart command into file
+Message_DeviceClaim     #       1       ; 11    ) claim a device.
+Message_DeviceInUse     #       1       ; 12    )
+Message_DataSaved       #       1       ; 13    for marking files unmodified
+Message_Shutdown        #       1       ; 14    shutdown started
+Message_ClaimEntity     #       1       ; 15    call entity_release on receipt of one of these
+Message_DataRequest     #       1       ; 16    call Message_DataSave on receipt of one of these
+Message_Dragging        #       1       ; 17    sent by dragging task
+Message_DragClaim       #       1       ; 18    sent by recipient of Message_Dragging
+Message_ReleaseEntity   #       1       ; 19    broadcast when they quit but hold clipboard
+Message_OfferInputFocus #       1       ; 20    (Steve Cormie)
+Message_AppControl      #       1       ; 21    (Carl Elkins)
+
+;
+; Filer message actions
+;
+                        ^       &400
+Message_FilerOpenDir            #       1       ; 1024
+Message_FilerCloseDir           #       1       ; 1025
+Message_FilerOpenDirAt          #       1       ; 1026
+Message_FilerSelectionDirectory #       1       ; 1027
+Message_FilerAddSelection       #       1       ; 1028
+Message_FilerAction             #       1       ; 1029
+Message_FilerControlAction      #       1       ; 1030
+Message_FilerSelection          #       1       ; 1031  ; Data contains bounding box of drag.
+Message_FilerDevicePath         #       1       ; 1032/&408
+
+; PColmer message actions
+
+                        ^       &500
+Message_PColmer         #       0
+Message_AlarmSet        #       1
+Message_AlarmGoneOff    #       1
+Message_HelpRequest     #       1
+Message_HelpReply       #       1
+Message_HelpEnable      #       1
+
+; ISV area (&600-&6FF)
+
+                        ^       &600
+Message_PipeDream_DDE   #       1               ; PipeDream Dynamic Data Exchange
+
+;
+;  Mail system message actions
+;
+                        ^       &800
+Message_MailReceived    #       1       ; 2048
+
+;
+;  NetFiler message actions
+;
+
+        ^       Module_SWISystemBase + NetFSSWI * Module_SWIChunkSize
+Message_Notify          #       1       ; &40040
+
+;
+; Message actions (received from the Wimp)
+;
+        ^       Module_SWISystemBase + WimpSWI * Module_SWIChunkSize
+
+                                        ; &400C0 up
+Message_MenuWarning     #       1       ; &400C0 special submenu opening message
+Message_ModeChange      #       1       ; &400C1 issued by Wimp_SetMode
+Message_TaskInitialise  #       1       ; &400C2 issued by Wimp_Initialise
+Message_TaskCloseDown   #       1       ; &400C3 issued by Wimp_CloseDown
+Message_SlotSize        #       1       ; &400C4 issued by Wimp_SlotSize
+Message_SetSlot         #       1       ; &400C5 issued by the Switcher
+Message_TaskNameRq      #       1       ; &400C6 issued to the Switcher
+Message_TaskNameIs      #       1       ; &400C7 issued by the Switcher
+Message_TaskStarted     #       1       ; &400C8 issued by the Task
+Message_MenusDeleted    #       1       ; &400C9 issued by the Wimp when menus disappear
+Message_Iconize         #       1       ; &400CA issued by the Wimp when Shift-quit clicked
+Message_WindowClosed    #       1       ; &400CB issued by the Wimp when a window is closed
+Message_WindowInfo      #       1       ; &400CC issued by the Iconizer application
+Message_Swap            #       1       ; &400CD issued by the Wimp for Task Manager
+Message_ToolsChanged    #       1       ; &400CE issued by Wimp when new tools installed
+Message_FontChanged     #       1       ; &400CF issued by application on changing WIMP$Font
+Message_IconizeAt       #       1       ; &400D0 issued by the Wimp when Shift-close clicked
+
+;
+;  Printer driver application messages
+;
+
+        ^       Module_SWIApplicationBase + PrintSWI * Module_SWIChunkSize
+                                        ; &80140 up
+Message_PrintFile       #       1       ; "Do you want to print this file?"
+Message_WillPrint       #       1       ; "Yes, I will print it"
+Message_PrintSave       #       1       ; Like DataSave, but printing
+Message_PrintInit       #       1       ; "Printer driver wants to start up"
+Message_PrintBusy       #       1       ; "Current printer driver is busy"
+Message_PrintTypeOdd    #       1       ; "Anyone know how to print this
+                                        ;   file type?"
+Message_PrintTypeKnown  #       1       ; "Yes, I know how to print it."
+Message_SetPrinter      #       1       ; "Printer settings changing"
+Message_PrintInit2      #       1       ; A message needed during printer
+                                        ;   driver initialisation for
+                                        ;   synchronisation purposes
+Message_JobAborted      #       1       ; PDriver_AbortJob called
+; messages 8014C and up are PS messages, see PRM 3-263
+
+;---------------------------------------------------------------------
+; Layout of message blocks for specific message types
+;---------------------------------------------------------------------
+
+                        ^       0               ; message block format
+ms_size                 #       4
+ms_taskhandle           #       4
+ms_myref                #       4
+ms_yourref              #       4
+ms_action               #       4
+ms_data                 #       0
+
+                        ^       ms_data
+msSetSlot_newsize       #       4
+msSetSlot_taskhandle    #       4
+
+                        ^       ms_data
+msTaskName_taskhandle   #       4
+msTaskName_slotsize     #       4
+msTaskName_taskname     #       0               ; 0-terminated
+
+                            ^       ms_data
+msDataTransfer_window       #       4
+msDataTransfer_icon         #       4
+msDataTransfer_x            #       4
+msDataTransfer_y            #       4
+msDataTransfer_filesize     #       4
+msDataTransfer_filetype     #       4
+msDataTransfer_filename     #       0           ; zero-terminated
+
+; Normal datestamped files have types &000..&FFF
+filetype_directory      *       &1000
+filetype_application    *       &2000
+filetype_undated        *       &3000
+
+                        ^       ms_data
+msNotify_station        #       1
+msNotify_net            #       1
+msNotify_timereceived   #       5
+msNotify_message        #       0               ; zero-terminated
+
+                        ^       ms_data
+msSaveDesktop_handle    #       4               ; file handle to write to
+msSaveDesktop_flags     #       4               ; flag word (reserved)
+msSaveDesktop_size      #       0
+
+                        ^       ms_data
+msHelp_message          #       0               ; (to help system) help message (null terminated)
+                                                ; (the following are from the help system)
+msHelp_x                #       4               ;     pointer x position
+msHelp_y                #       4               ;     pointer y position
+msHelp_buttons          #       4               ;     buttons held down
+msHelp_window           #       4               ;     window handle the pointer is in
+msHelp_icon             #       4               ;     icon handle the pointer is over
+
+                        ^       ms_data
+msDeviceClaim_major     #       4               ; major device number
+msDeviceClaim_minor     #       4               ; minor device number
+msDeviceClaim_info      #       0               ; information string
+                                                ; zero-terminated
+
+                        ^       ms_data
+msDeviceInUse_major     #       4               ; major device number
+msDeviceInUse_minor     #       4               ; minor device number
+msDeviceInUse_info      #       0               ; information string
+                                                ; zero-terminated
+
+        OPT     OldOpt
+        END
+
diff --git a/hdr/NewErrors b/hdr/NewErrors
new file mode 100644
index 0000000..d984cbe
--- /dev/null
+++ b/hdr/NewErrors
@@ -0,0 +1,1385 @@
+; 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    Definitions of error strings and numbers => &.Hdr.NewErrors
+
+OldOpt  SETA    {OPT}
+        OPT     OptNoList+OptNoP1List
+
+; <<< search marker >>>
+
+;
+; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+; A quick note: Bit  31    -> 'desperate' error, usually an exception
+;               Bit  30    defined to be clear
+;               Bits 29-24 sub-error indication, usually 0
+
+; Old Beebon errors
+
+        ^       0
+        AddError  Escape,               "Escape:Escape", 17             ; &11
+        AddError  BadMODE,              "BadMODE:Bad MODE", 25          ; &19
+        AddError  NaffMODE,             "Bad MODE", 25                  ; &19
+        AddError  IsADirectory,         "Object is a directory", 168    ; &A8
+        AddError  TypesDontMatch,       "Types don't match", 175        ; &AF
+        AddError  BadRename,            "Bad rename", 176               ; &B0
+        AddError  BadCopy,              "Bad copy",177                  ; &B1
+        AddError  OutsideFile,          "OutsideFile:Outside file", 183 ; &B7
+        AddError  AccessViolation,      "Access violation", 189         ; &BD
+        AddError  TooManyOpenFiles,     "Too many open files", 192      ; &C0
+        AddError  NotOpenForUpdate,     "Not open for update", 193      ; &C1
+        AddError  FileOpen,             "File open", 194                ; &C2
+        AddError  ObjectLocked,         "Locked", 195                   ; &C3
+        AddError  AlreadyExists,        "Already exists", 196           ; &C4
+        AddError  BadFileName,          "Bad file name", 204            ; &CC
+        AddError  FileNotFound,         "File not found", 214           ; &D6
+        AddError  Syntax,               "Syntax:Syntax", 220            ; &DC
+        AddError  BadNoParms,           "Invalid number of parameters", ErrorNumber_Syntax
+        AddError  TooManyParms,         "TooManyParms:Too many parameters", ErrorNumber_Syntax
+        AddError  Channel,              "Channel", 222                  ; &DE
+        AddError  EndOfFile,            "End of file", 223              ; &DF
+        AddError  BadFilingSystemName,  "Bad filing system name", 248   ; &F8
+        AddError  UnknownFilingSystem,  "Unknown filing system",  ErrorNumber_BadFilingSystemName
+        AddError  BadKey,               "BadKey:Bad key", 251           ; &FB
+        AddError  BadAddress,           "BadAddress:Bad address", 252   ; &FC
+        AddError  BadString,            "BadString:Bad string", 253     ; &FD
+        AddError  BadAliasString,       "Aliased command is a bad string", ErrorNumber_BadString
+        AddError  BadParmString,        "BadParmString:Bad character in parameter expansion", ErrorNumber_BadString
+        AddError  WildCards,            "Wild cards", 253               ; &FD Unfortunate clash
+        AddError  BadCommand,           "BadCommand:Bad command", 254   ; &FE
+
+
+; Relocatable Module errors
+
+ ASSERT @ <= &100
+ ^ &100
+        AddError  NotMod,               "NotMod:This is not a relocatable module"
+        AddError  MHNoRoom,             "MHNoRoom:No room in RMA"
+        AddError  RMNotFound,           "RMNotFound:Module not found"
+        AddError  CantKill,             "CantKill:Module is currently active"
+        AddError  CantKill2,            "Module is currently active", ErrorNumber_CantKill
+        AddError  WimpCantKill,         "CantKill" ;"Wimp is currently active", ErrorNumber_CantKill
+        AddError2 BadModuleReason,      "BadModuleReason:Unknown OS_Module call"
+        AddError2 BadDynamicArea,       "BadDynamicArea:Unknown dynamic area", ErrorNumber_BadModuleReason
+        AddError  RMNotFoundInROM,      "RMNotFoundInROM:Module is not in ROM"
+        AddError  ModulePostfix,        "ModulePostfix:'%%' in module title"
+        AddError  NoMoreModules,        "NoMoreModules:No more modules"
+        AddError  NoMoreIncarnations,   "NoMoreIncarnations:No more incarnations of that module"
+        AddError  PostfixNeeded,        "PostfixNeeded:Postfix not specified"
+        AddError  IncarnationExists,    "IncarnationExists:Incarnation already exists"
+        AddError  IncarnationNotFound,  "IncarnationNotFound:Incarnation not found"
+        AddError  ChunkNotRM,           "ChunkNotRM:Podule chunk is not a relocatable module"
+        AddError2 BadRMHeaderField,     "BadRMHeaderField:Illegal header field in module"
+        AddError  ModuleTooOld,         "ModuleTooOld:Module '%0' too old"
+        AddError  ModuleBadSWI,         "BadSWI"                        ; Token for internationalised message
+        AddError  ModuleInUse,          "ModInUs"                       ; Token for internationalised message
+        AddError  BadFilingSystemOperation, "BadFSOp"                   ; Internationalised
+        AddError  FilingSystemReadOnly, "FSNoWrt"                       ; Internationalised
+        AddError  NotADirectory,        "IsntDir"                       ; Internationalised
+        AddError  NaffSWI,              "SWI not known", ErrorNumber_ModuleBadSWI
+        AddError  NeedMod,              "Module %0 cannot start without module %1"
+        AddError2 RMNot32bit,           "RMNot32bit:Module is not 32-bit compatible", ErrorNumber_BadRMHeaderField
+
+; Variables errors
+
+ ASSERT @ <= &120
+ ^ &120
+        AddError  BadMacVal,            "BadMacVal:Bad macro value"
+        AddError  BadVarNam,            "BadVarNam:Bad variable name"
+        AddError  BadVarType,           "BadVarType:Bad variable type"
+        AddError  VarNoRoom,            "VarNoRoom:No room for variable"
+        AddError  VarCantFind,          "VarCantFind:Variable not found"
+        AddError  VarTooLong,           "VarTooLong:Variable value too long"
+
+
+ ASSERT @ <= &140
+ ^ &140
+        AddError  RedirectFail,         "RedirectFail:Redirection fails"
+        AddError2 StackFull,            "StackFull:No room on supervisor stack"
+
+
+; Expression errors
+
+ ASSERT @ <= &160
+ ^ &160
+        AddError  BadHex,               "Bad hex"
+        AddError  BadExpr,              "Bad expression"
+        AddError  BadBra,               "BadBra:Mismatched brackets"
+        AddError  StkOFlo,              "StkOFlo:Expression stack overflow"
+        AddError  MissOpn,              "MissOpn:Missing operand"
+        AddError  MissOpr,              "MissOpr:Missing operator"
+        AddError  BadInt,               "BadInt:String is not convertible to integer"
+        AddError  StrOFlo,              "StrOFlo:String too long"
+        AddError  NaffItm,              "NaffItm:Unknown operand"
+        AddError  DivZero,              "DivZero:Division by zero"
+        AddError  BadBase,              "BadBase:Bad base"
+        AddError  BadNumb,              "BadNumb:Bad number"
+        AddError  NumbTooBig,           "NumbTooBig:Number too big"
+
+
+; Heap errors
+
+ ASSERT @ <= &180
+ ^ &180
+        AddError2 HeapBadReason,        "HeapBadReason:Bad reason code"
+        AddError2 HeapFail_Init,        "HeapFailInit:Can't initialise heap"
+        AddError2 HeapFail_BadDesc,     "BadDesc:Bad heap descriptor"
+        AddError2 HeapFail_BadLink,     "BadLink:Heap corrupted"
+        AddError  HeapFail_Alloc,       "HeapFailAlloc:Heap Full"
+        AddError2 HeapFail_NotABlock,   "NotABlock:Not a heap block"
+        AddError2 HeapFail_BadExtend,   "BadExtend:No RAM for extending heap"
+        AddError2 HeapFail_ExcessiveShrink, "ExcessiveShrink:Can't shrink heap any further"
+        AddError2 HeapFail_HeapLocked,  "Heap Manager busy"
+
+; Territory Manager errors
+ ASSERT @ <= &190
+ ^ &190
+ErrorBase_TerritoryManager # 16
+
+; Vector claim/release errors
+
+ ASSERT @ <= &1A0
+ ^ &1A0
+        AddError2 BadClaimNum,          "BadClaimNum:Bad vector number"
+        AddError2 NaffRelease,          "NaffRelease:Bad vector release"
+        AddError2 NaffDevNo,            "NaffDevNo:Bad device number"
+        AddError2 BadDevVecRel,         "BadDevVecRel:Bad device release"
+
+
+; Environment alteration SWI errors
+
+ ASSERT @ <= &1B0
+ ^ &1B0
+        AddError2 BadEnvNumber,         "BadEnvNumber"                  ; wally environment parameter number
+        AddError  CantCancelQuit,       "Can't delete exit handler"
+
+; Change dynamic area errors
+
+ ASSERT @ <= &1C0
+ ^ &1C0
+        AddError  ChDynamCAO,           "ChDynamCAO:Can't, application running"
+        AddError  ChDynamNotAllMoved,   "NotAllMoved:Unable to move memory"
+        AddError  AplWSpaceInUse,       "AplWSpaceInUse:Memory in use"
+        AddError  RAMFsUnchangeable,    "RAMFsUnchangeable:RAM filing system not empty"
+        AddError  AreaAlreadyExists,    "AreaAlreadyExists:Dynamic area already exists"
+        AddError  AreaNotOnPageBdy,     "AreaNotOnPageBdy:Base address not on page boundary"
+        AddError  OverlappingAreas,     "OverlappingAreas:Overlapping areas"
+        AddError  CantAllocateArea,     "CantAllocateArea:Unable to allocate logical address space"
+        AddError  CantAllocateLevel2,   "CantAllocateLevel2:Unable to allocate page tables for area"
+        AddError  UnknownAreaHandler,   "UnknownAreaHandler:Unknown dynamic area handler call"
+        AddError  CantGetPhysMem,       "CantGetPhysMem:Physical memory pages unavailable"
+        ;new for RISCOS Ltd from 0x1cb
+        AddError  AreaLocked,		"Area Locked"
+        AddError  AreaLockCodeWrong,	"Area Lock Code Wrong"
+        AddError  ChangeDynReEntered,	"CDA Re-entered"
+        AddError  BadOpOnSpareDA,	"Bad Op on sparse DA"
+        AddError  FreePoolLocked,	"Free pool locked"
+
+; Oscli and other errors
+
+ ASSERT @ <= &1E0
+ ^ &1E0
+        AddError  OscliLongLine,        "OscliLongLine:Too long" ; line too long for Oscli
+        AddError  OscliTooHard,         "OscliTooHard:Expansion too complex"   ; oscli ran out of buffers
+        AddError  RCExc,                "RCExc:Return code limit exceeded"
+        AddError  RCNegative,           "RCNegative:Negative return code", ErrorNumber_RCExc
+        AddError  SysHeapFull,          "SysHeapFull:System heap full"
+        AddError  BuffOverflow,         "BuffOverflow:Buffer overflow"
+        AddError  BadTime,              "BadTime:Invalid time interval"     ; given by wally times in
+                                                     ; CallAfter/Every
+        AddError  NoSuchSWI,            "NoSuchSWI:SWI not known"
+        AddError  NoSuchSWI1,           "NoSuchSWI1:SWI &%0 not known", ErrorNumber_NoSuchSWI
+        AddError  NoSuchSWI2,           "NoSuchSWI2:SWI name not known",  ErrorNumber_NoSuchSWI
+        AddError  UnImplemented,        "This function or procedure unimplemented"
+        AddError  OutOfRange,           "SWI value out of range for this Module"
+        AddError  NoOscliSpecials,      "NoOscliSpecials:Special field not allowed in filing system prefix to OS_CLI"
+        AddError  BadParameters,        "BadParameters:Bad parameters"
+        AddError  ArgRepeated,          "ArgRepeated:Argument repeated"
+        AddError  BadReadSysInfo,       "BadReadSysInfo:Unknown OS_ReadSysInfo call"
+        AddError  ModeNotAvailable,     "ModeNotAvailable:Screen mode not available"
+        AddError  BadPixelDepth,        "BadPixelDepth:Bad pixel depth"
+        AddError  BadMSFlags,           "BadMSFlags:Illegal flags in mode selector"
+
+
+; Font errors
+
+ ASSERT @ <= &200
+ ^ &200
+; these errors moved into Font Manager sources
+
+; Wimp errors
+
+ ASSERT @ <= &280
+ ^ &280
+        AddError2 WimpNoClaim,          "NoClaim"                       ;"Wimp unable to claim work area"
+        AddError2 WimpBadOp,            "BadOp"                         ;"Invalid Wimp operation in this context"
+        AddError2 WimpRectFull,         "RectFull"                      ;"Rectangle area full"
+        AddError  WimpTooMany,          "Too many windows"              ; unused !
+        AddError  WimpTooBig,           "TooBig"                        ;"Window definition won't fit"
+        AddError  WimpDivBy0,           "Division by zero"              ; unused
+        AddError2 WimpGetRect,          "GetRect"                       ;"Get_Rectangle not called correctly"
+        AddError  WimpFocus,            "Focus"                         ;"Input focus window not found"
+        AddError2 WimpBadHandle,        "BadHandle"                     ;"Illegal window handle"
+        AddError  WimpTooMenus,         "TooMenus"                      ;"Too many menus"
+        AddError2 WimpBadExtent,        "BadExtent"                     ;"Bad work area extent"
+        AddError  WimpBadPointer,       "BadPointer"                    ;"Syntax: *POINTER <0|1|2>"
+        AddError2 WimpNoTemplateFile,   "NoTemplateFile"                ;"Template file not found"
+        AddError2 WimpBadTemplate,      "BadTemplate"                   ;"Template entry invalid"
+        AddError2 WimpBadFonts,         "BadFonts"                      ;"Unable to bind font handle"
+        AddError2 WimpBadSyntax,        "BadSyntax"                     ;"Syntax error in validation string"
+        AddError  WimpNoTasks,          "NoTasks"                       ;"Too many tasks"
+        AddError2 WimpNoTemplate,       "NoTemplate"                    ;"Template entry not found"
+        AddError  WimpNotPresent,       "Window manager not present / too old"
+        AddError  WimpInUse,            "InUse"                         ;"Window manager in use"
+        AddError2 WimpBadPalFile,       "BadPalFile"                    ;"Error in palette file"
+        AddError2 WimpBadVersion,       "BadVersion"                    ;"Bad version number passed to Wimp_Initialise"
+        AddError2 WimpBadMessageSize,   "BadMessageSize"                ;"Message block is too big / not a multiple of 4"
+        AddError2 WimpBadReasonCode,    "BadReasonCode"                 ;"Illegal reason code given to SendMessage"
+        AddError2 WimpBadTaskHandle,    "BadTaskHandle"                 ;"Illegal task handle"
+        AddError2 WimpCantTask,         "CantTask"                      ;"Can't start task from here"
+        AddError2 WimpBadSubMenu,       "BadSubMenu"                    ;"Submenus require a parent menu tree"
+        AddError2 WimpOwnerWindow,      "OwnerWindow"                   ;"Access to window denied"
+        AddError  WimpBadMode,          "BadMode"                       ;"Bad Wimp mode"
+        AddError2 WimpBadTransfer,      "BadTransfer"                   ;"Wimp transfer out of range"
+        AddError2 WimpBadSysInfo,       "BadSysInfo"                    ;"Bad parameter passed to Wimp in R0"
+        AddError2 WimpBadPtrInR1,       "BadPtrInR1"                    ;"Bad pointer passed to Wimp in R1"
+        AddError2 WimpBadEscapeState,   "BadEscapeState"                ;"Wimp_Poll called with escape enabled!"
+        AddError2 WimpBadIconHandle,    "BadIconHandle"                 ;"Illegal icon handle"
+        AddError  WimpBadR3,            "BadR3"                         ;"Illegal Wimp_Poll pointer in R3"
+        AddError  NoDotInFilename,      "To save, drag the icon to a directory viewer."
+        AddError2 TemplateEOF,          "TemplateEOF"                   ;"End of file while reading template file."
+        AddError  WimpBadSlot,          "BadSlot"                       ; Wimp transfer required paging in beyond end of slot
+        AddError  WimpBadConfFont,      "BadConfFont"                   ; bad configuration font
+        AddError  WimpNoSprites,        "NoSprites"                     ; Not enough room for sprites.
+        AddError  WimpBadPalFile2,      "BadPalFile2"
+        AddError  WimpBadSprites,       "BadSprites:Squashed or missing sprite file"
+        AddError  WimpBadParent,        "BadParent:Bad parent window"
+
+; Convert date and time errors
+
+ ASSERT @ <= &2C0
+ ^ &2C0
+        AddError2 CDATStackOverflow,    "CDATStackOverflow:Stack overflow"
+        AddError2 CDATBufferOverflow,   "CDATBufferOverflow:Buffer overflow"
+        AddError2 CDATBadField,         "CDATBadField:Unknown '%' field"
+
+; Econet errors
+
+ErrorBase_Econet  * &300
+        ASSERT    @ <= ErrorBase_Econet
+        ^         ErrorBase_Econet
+        AddError  TxReady,              "Tx ready"
+        AddError  Transmitting,         "Transmitting"
+        AddError  RxReady,              "Receive block open"
+        AddError  Receiving,            "Receiving"
+        AddError  Received,             "Received"
+        AddError  Transmitted,          "Transmitted OK"
+        AddError  BadStation,           "Bad station number"
+        AddError  BadNetwork,           "Bad network number"
+        AddError  UnableToDefault,      "Full network address required" ; For higher levels
+        AddError  BadPort,              "Bad port number"
+        AddError  BadControl,           "Bad flag byte value"
+        AddError  BadBuffer,            "Bad buffer address"
+        AddError  BadSize,              "Bad buffer size"
+        AddError  BadMask,              "Bad mask"
+        AddError  BadCount,             "Bad count"
+        AddError  BadDelay,             "Bad delay"
+        AddError  BadStatus,            "Bad status"
+        AddError  NoHardware,           "No Econet hardware"
+        AddError  NoEconet,             "No 'Econet' installed"         ; For higher levels
+
+        AddError  NoMoreDomains,        "No more domains"
+        AddError  BadDomain,            "Bad domain number"
+        AddError  UnRegisteredDomain,   "Unknown domain"
+        AddError  PortNotAllocated,     "Port not already allocated"
+        AddError  PortAllocated,        "Port not unallocated"
+        AddError  NoMorePorts,          "All ports allocated"
+        AddError  NoNetworkAccess,      "No access to network"
+        AddError2 EconetInternalError,  "Fatal internal error"
+        AddError  NoEconetInterrupt,    "Hardware fault in Econet Interface"
+
+ ; Loaded Econet transients
+        ASSERT    @ <= ErrorBase_Econet + &40
+        ^         ErrorBase_Econet + &40
+        AddError  SetStationSyntax,     "Syntax: *SetStation (<new station number>)", ErrorNumber_Syntax
+        AddError  SetStationFails,      "Failed to update configuration memory"
+        AddError  GetRegsSyntax,        "Syntax: *GetRegs <station number>", ErrorNumber_Syntax
+        AddError  TestEconetSyntax,     "Syntax: *TestEconet <varname>", ErrorNumber_Syntax
+        AddError  SetScrapSyntax,       "Syntax: *SetScrap <varname> <non-econet value> <econet value> (<Macro|Eval>)", ErrorNumber_Syntax
+
+ ; The Broadcast Loader
+        ASSERT    @ <= ErrorBase_Econet + &60
+        ^         ErrorBase_Econet + &60
+        AddError2 NetFSVectorCorrupt,   "Unable to release, not top entry in NetFS entry vector"
+        AddError2 SWIVectorCorrupt,     "Unable to release, not top entry in SWI thread"
+        AddError2 WorkspaceNotReleased, "Workspace not released"
+        AddError  BLDisabled,           "Broadcast Loader is disabled by configuration"
+
+; Errors with the bottom byte forced for compatability
+        AddError  NotPresent,           "Not present", &38A
+        AddError  NotPresent1,          "Station ", ErrorNumber_NotPresent
+        AddError  NotPresent2,          " not present", ErrorNumber_NotPresent
+        AddError  LineJammed,           "Line jammed", &3A0
+        AddError  NetError,             "Net error", &3A1
+        AddError  NotListening,         "Not listening", &3A2
+        AddError  NotListening1,        "Station ", ErrorNumber_NotListening
+        AddError  NotListening2,        " not listening", ErrorNumber_NotListening
+        AddError  NoClock,              "No clock", &3A3
+        AddError  NoReply,              "No reply", &3A5
+        AddError  NoReply1,             "No reply from station ", ErrorNumber_NoReply
+        AddError  NoReply2,             "", ErrorNumber_NoReply
+        AddError  BadEconetHandle,      "Bad handle", &3DE
+
+; Some bodges
+        AddError  NetError1,            "Net error 1", ErrorNumber_NetError
+        AddError  NetError2,            "Net error 2", ErrorNumber_NetError
+        AddError  NetError3,            "Net error 3", ErrorNumber_NetError
+
+; FileSwitch errors
+
+ ASSERT @ <= &400
+ ^ &400
+        AddError2 FileSwitchNoClaim,    "Unable to claim FileSwitch workspace"
+        AddError2 BadFSControlReason,   "Bad FSControl call"
+        AddError2 BadOSFileReason,      "Bad OSFile call"
+        AddError2 BadOSArgsReason,      "Bad OSArgs call"
+        AddError2 BadOSGBPBReason,      "Bad OSGBPB call"
+        AddError2 BadModeForOSFind,     "Bad mode for OSFind"
+        AddError2 NoRoomForTransient,   "No room to run transient"
+        AddError2 ExecAddrNotInCode,    "Execution address not within code"
+        AddError2 ExecAddrTooLow,       "Code runs too low"
+        AddError  UnknownActionType,    "No action specified for this file type"
+        AddError  TooManyLevels,        "Too many levels"
+        AddError  NoSelectedFilingSystem, "No selected filing system"
+        AddError  CantRemoveFSByNumber, "Can't remove filing system by number"
+        AddError2 UnalignedFSEntry,     "Unaligned filing system entry point"
+        AddError2 UnsupportedFSEntry,   "Filing system does not support this operation"
+        AddError2 FSNotSpecial,         "Filing system does not support special fields"
+        AddError2 CoreNotReadable,      "No readable memory at this address"
+        AddError2 CoreNotWriteable,     "No writable memory at this address"
+        AddError2 BadBufferSizeForStream, "Bad buffer size"
+        AddError  NotOpenForReading,    "Not open for reading"
+        AddError  NotEnoughStackForFSEntry, "Not enough stack to call filing system"
+        AddError  NothingToCopy,        "Nothing to copy"
+        AddError  NothingToDelete,      "Nothing to delete"
+        AddError  FileSwitchCantBeKilledWhilstThreaded, "FileSwitch can not be killed whilst it is threaded"
+        AddError2 InvalidErrorBlock,    "Invalid error block"
+        AddError  FSFileTooBig,         "File too big" ; Clashed with ROMFS FileTooBig
+        AddError  CantRMFasterFileSwitch, "Can't RMFaster FileSwitch"
+        AddError2 InconsistentHandleSet,  "Inconsistent handle set"
+        AddError  IsAFile,              "Object is a file"
+        AddError  BadFileType,          "Bad file type"
+        AddError  LibrarySomewhereElse, "The library is somewhere else"
+        AddError  PathIsSelfContradictory, "Path is self contradictory"
+        AddError  WasntDollarAfterDisc, "Disc was specified, but absolute wasn't $"
+        AddError  NotEnoughMemoryForWildcardResolution, "Not enough memory for wildcard resolution"
+        AddError  NotEnoughStackForWildcardResolution, "Not enough stack for wildcard resolution"
+        AddError  DirectoryWantedFileFound, "Directory wanted, but file found"
+        AddError  NotFound,             "Not found", &0100D6
+        AddError  MultipartPathUsed,    "Path variable had multiple entries and was used for a write operation"
+        AddError  RecursivePath,        "One of the path variables used refers to itself"
+        AddError2 MultiFSDoesNotSupportGBPB11, "The OS_GBPB 11 call is not supported by image filing systems"
+
+        AddError  FileSwitchDataLost,   "Data lost", &4AC ; Consistent with ADFS
+        AddError2 TooManyErrorLookups,  "Too many error lookups happening at once - recursion assumed"
+        AddError  MessageFileBusy,      "FileSwitch message file busy"
+        AddError  PartitionBusy,        "Partition not ready"
+
+
+ ^ &4F8 ; So high up as to avoid clashes with normal filing system errors
+
+; The following errors are to be used by all filing systems, the bottom byte
+; is the only significant part
+
+        AddError  NotSupported_Pre,     "Bad operation on ", @ :AND: &FF
+        AddError  NotSupported_Post,    ":"
+        AddError  FSWriteOnly_Pre,      "", @ :AND: &FF
+        AddError  FSWriteOnly_Post,     ": is a write only filing system"
+        AddError  FSReadOnly_Pre,       "", @ :AND: &FF
+        AddError  FSReadOnly_Post,      ": is a read only filing system"
+
+; They should be used as follows;
+;      ALIGN
+;      DCD &00010000 + &100*MyFilingSystemNumber + ErrorNumber_NotSupported_Pre
+;      DCB ErrorString_NotSupported_Pre
+;      DCB String_MyFilingSystemName
+;      DCB ErrorString_NotSupported_Post
+;      DCB 0
+
+
+; Podule manager errors
+
+ ASSERT @ <= &500
+ ^ &500
+
+        AddError  BadPod,               "Bad expansion card identifier"
+        AddError  BadSpeed,             "Bad access speed"
+        AddError  NoPod,                "No installed expansion card"
+        AddError  NotExt,               "Expansion card identity is not extended"
+        AddError  NotAcrn,              "Expansion card is not Acorn conformant"
+        AddError  NoLdr,                "No loader to call"
+        AddError  InLdr,                "Unknown error in loader"
+        AddError  BadChnk,              "Bad chunk number"
+        AddError  BadDeviceNumber,      "Bad device number"
+        AddError  BadDeviceType,        "Bad device type"
+        AddError  RAMConfigSyntax,      "Syntax: *RAMConfig <expansion card number> [<device> [<type>]]", ErrorNumber_Syntax
+        AddError  WrongPoduleType,      "Wrong expansion card type"
+        AddError  ROMBoardSyntax,       "Syntax: *Configure ROMBoard <expansion card> <device> [<type>]", ErrorNumber_Syntax
+        AddError  BadRead,              "Unknown bit set in ReadInfo"
+        AddError  BdSpeed,              "Unknown value for speed setting"
+        AddError  NotEASI,              "This expansion card has no EASI space"
+        AddError  SpeedNo,              "Requested speed setting not available for this expansion card"
+        AddError  ECNoSpd,              "This expansion card does not suport speed setting"
+        AddError  ECNoNet,              "This expansion card may not use the Ethernet address"
+        AddError  NDallas,              "This computer can't provide a valid Ethernet address"
+        AddError  Ldr26,		"Loader is not 32-bit compatible"
+
+; Errors generated by podule loaders
+
+ ASSERT @ <= &580
+ ^ &580
+        AddError  NotWriteable,         "This expansion card doesn't support writable devices"
+        AddError  AddressRange,         "Address out of range for expansion card"
+        AddError  DeviceNotWriteable,   "This device not writable"
+        AddError  PoduleReadOnly,       "Read only device"
+        AddError  AddressTooBig,        "Address too big"
+
+
+; Printer Driver
+;
+; Note that the message associated here with the 'PrintCannotHandle' error is
+; not normally used by the printer driver - instead, it generates a message
+; saying more precisely what it cannot handle.
+
+ ASSERT @ <= &5C0
+ ^ &5C0
+        AddError  PrintBadFeatures,     "This printer driver lacks the requested features"
+        AddError  PrintNoCurrentSprite, "No sprite selected in this print job"
+        AddError  PrintNoJobSelected,   "No current print job"
+        AddError  PrintNoSuchJob,       "Requested print job doesn't exist"
+        AddError  PrintNoCurrentPage,   "Not printing a page"
+        AddError  PrintPrintingPage,    "Page currently being printed"
+        AddError  PrintInvalidCopies,   "Invalid number of copies requested"
+        AddError  PrintCannotHandle,    "Requested operation invalid for printer drivers"
+        AddError  PrintBadHalftone,     "Requested halftone size too big"
+        AddError  PrintCancelled,       "Print cancelled"
+        AddError  PrintSingularMatrix,  "Transformation matrix is singular"
+        AddError  PrintBadRectangle,    "Print area coordinates too large"
+        AddError  PrintRectanglesMiss,  "Nothing to print"
+        AddError  PrintNoFreeMemory,    "Not enough free memory"
+        AddError  PrintNotOnePage,      "Print job doesn't contain exactly one page"
+        AddError  PrintInUse,           "PDriver in use"
+        AddError  PrintOverflow,        "Buffer overflow"
+        AddError  PrintBadMiscOp,       "Unknown call to MiscOp"
+        AddError  PrintNoDuplicates,    "Font name already registered"
+
+        AddError  PrintNoColour,        "This printer driver only drives monochrome printers", ErrorNumber_PrintBadFeatures
+        AddError  PrintColourNotConfig, "Printer driver not configured for colour output", ErrorNumber_PrintBadFeatures
+        AddError  PrintNotFullColour,   "This printer driver doesn't support the full colour range", ErrorNumber_PrintBadFeatures
+        AddError  PrintDiscreteColours, "This printer driver only supports a discrete set of colours", ErrorNumber_PrintBadFeatures
+        AddError  PrintBadFills,        "This printer driver doesn't support filled shapes", ErrorNumber_PrintBadFeatures
+        AddError  PrintBadThickLines,   "This printer driver doesn't support thick lines", ErrorNumber_PrintBadFeatures
+        AddError  PrintNoOverwrite,     "This printer driver doesn't support overwriting", ErrorNumber_PrintBadFeatures
+        AddError  PrintNoScreenDump,    "This printer driver cannot do screen dumps", ErrorNumber_PrintBadFeatures
+        AddError  PrintBadTransform,    "This printer driver cannot do arbitrary transformations", ErrorNumber_PrintBadFeatures
+        AddError  PrintNoIncludedFiles, "This printer driver is unable to insert illustration files", ErrorNumber_PrintBadFeatures
+        AddError  PrintNoCurrentDriver, "No current printer driver selected"
+        AddError  PrintUnknownNumber,   "Desired printer driver not present"
+        AddError  PrintDuplicateNumber, "Printer number already used"
+        AddError  PrintBadSetPrinter,   "This printer driver does not support PDriver_SetPrinter"
+
+        AddError  PDumperUndeclared,    "PDumperXX module has not been declared"
+        AddError  PDumperTooOld,        "PDumper module is too old for declaring PDumperXX module"
+        AddError  PDumperDuplicateModule, "PDumperXX number already used"
+        AddError  PDumperBadCall,       "Bad call to PDumperXX module"
+        AddError  PDumperBadStrip,      "Bad strip type specified to PDumperXX module"
+        AddError  PDumperBadPalette,    "Cannot open palette file"
+        AddError  PDumperNotLinked,     "Block not linked to specified anchor word"
+        AddError  PDumperReserved,      "Reserved fields must be zero"
+        AddError  PDumperBadOutputType, "Bad output type specified"
+        AddError  PDumperBlockNotFound, "Block not found"
+        AddError  PDumperInUse,         "PDumper in use"
+
+; OSS New cannot handle stuff for internationalisation
+
+        AddError  PrintCantPrinterVDU,  "Printer drivers cannot handle VDU printer sequences (VDU 1 and 2)", ErrorNumber_PrintCannotHandle
+        AddError  PrintCantVDU4,        "Printer drivers cannot handle VDU 4 characters", ErrorNumber_PrintCannotHandle
+        AddError  PrintCantModeChange,  "Printer drivers cannot handle mode changes", ErrorNumber_PrintCannotHandle
+        AddError  PrintCantThisVDU23,   "Printer drivers cannot handle the specified VDU 23 sequence", ErrorNumber_PrintCannotHandle
+        AddError  PrintCantHorizFill,   "Printer drivers cannot handle horizontal line fills", ErrorNumber_PrintCannotHandle
+        AddError  PrintCantFloodFill,   "Printer drivers cannot handle flood fills", ErrorNumber_PrintCannotHandle
+        AddError  PrintCantCopyMove,    "Printer drivers cannot handle block copy/moves", ErrorNumber_PrintCannotHandle
+        AddError  PrintCantUndefPlot,   "Printer drivers cannot handle undefined plots", ErrorNumber_PrintCannotHandle
+        AddError  PrintCantFontSpriteVDU, "Printer drivers cannot handle font and sprite VDU sequences", ErrorNumber_PrintCannotHandle
+        AddError  PrintCantUnkColV,     "Printer drivers cannot handle unknown ColourV reason codes", ErrorNumber_PrintCannotHandle
+        AddError  PrintCantDrawPlot,    "Printer drivers cannot handle Draw_ProcessPath plotting calls", ErrorNumber_PrintCannotHandle
+        AddError  PrintCantThisFill,    "Printer drivers cannot handle the requested fill style", ErrorNumber_PrintCannotHandle
+        AddError  PrintCantUnkSpriteOp, "Printer drivers cannot handle unknown OS_SpriteOp reason codes", ErrorNumber_PrintCannotHandle
+        AddError  PrintCantThisSpriteOp, "Printer drivers cannot handle the requested OS_SpriteOp reason code", ErrorNumber_PrintCannotHandle
+        AddError  PrintCantThisFontPaint, "Printer drivers cannot handle the requested Font_Paint control sequence", ErrorNumber_PrintCannotHandle
+
+        AddError  PrintJPEGNoSupp,   "Printer drivers cannot handle JPEG plots from file"
+        AddError  PrintJPEGOldSprEx, "Printing JPEG requires newer SpriteExtend module"
+        AddError  PDumperEscDisabled, "PDumper module called with escape disabled"
+
+; General OS errors
+
+ ASSERT @ <= &600
+ ^ &600
+        AddError  CantStartApplication, "Unable to start application"
+        AddError  BadCommandOption,     "Bad command option"
+        AddError  UnknownSerialOp,      "Unknown serial operation"
+        AddError  BadHard,              "BadHard"                       ; "Unsupported hardware configuration"
+
+
+; International errors
+
+ ASSERT @ <= &640
+ ^ &640
+        AddError  UnknownAlphabet,      "Unknown alphabet"
+        AddError  UnknownCountry,       "Unknown country"
+        AddError  UnknownKeyboard,      "Unknown keyboard"
+
+
+; Sprite errors
+
+ ASSERT @ <= &700
+ ^ &700
+        AddError2 Sprite_NoWorkSpace,   "SNoWorkSpace:No sprite memory", 128
+        AddError2 Sprite_NoRoom,        "SNoRoom:No room to get sprite", 130
+        AddError  Sprite_DoesntExist,   "SDoesntExist:Sprite doesn't exist", 134
+        AddError2 Sprite_NoSprites,     "NoSprites:No sprites", 131
+        AddError2 Sprite_NotGraphics,   "NotGraphics:Not a graphics mode", 129
+        AddError2 Sprite_NotEnoughRoom, "SNotEnoughRoom:Not enough room", 133
+        AddError2 Sprite_BadSpriteFile, "SBadSpriteFile:Bad sprite file"
+        AddError2 Sprite_NoRoomToMerge, "SNoRoomToMerge:Not enough room to add sprite"
+        AddError2 Sprite_Bad2ndPtr,     "SBad2ndPtr:Bad 2nd ptr"
+        AddError2 Sprite_InvalidRowOrCol, "InvalidRowOrCol:Invalid row or column"
+        AddError2 Sprite_InvalidHeight, "InvalidHeight:Invalid height"
+        AddError2 Sprite_InvalidWidth,  "InvalidWidth:Invalid width"
+        AddError2 Sprite_NoRoomToInsert, "NoRoomToInsert:Not enough memory to insert sprite row or column"
+        AddError2 Sprite_SpriteAlreadyExists, "SpriteAlreadyExists:Sprite already exists"
+        AddError2 Sprite_InvalidSpriteMode, "InvalidSpriteMode:Invalid sprite mode"
+        AddError2 Sprite_BadReasonCode, "SBadReasonCode:Bad sprite reason code"
+        AddError2 Sprite_CantDoSystem,  "System sprites not allowed here"
+        AddError2 Sprite_BadTranslation, "Bad colour translation table"
+        AddError2 Sprite_BadGreyScale,  "Grey-scale only does 16 colours"
+        AddError2 Sprite_BadPointerShape, "Unsuitable sprite for SetPointerShape"
+        AddError2 Sprite_BadAppend,     "Can't append sprite"
+        AddError2 Sprite_CantInTeletext, "CantInTeletext:Can't switch output in teletext mode"
+        AddError2 Sprite_InvalidSaveArea, "SInvalidSaveArea:Invalid save area"
+        AddError2 Sprite_SpriteIsCurrentDest, "SpriteIsCurrentDest:Sprite is current destination"
+        AddError2 Sprite_BadFlags,      "Attempt to set reserved flags"
+        AddError2 Sprite_BadCoordBlock, "Source rectangle not inside sprite"
+        AddError2 Sprite_BadSourceRectangle, "Source rectangle area zero"
+        AddError2 Sprite_BadTransformation, "SpriteExtend can only do linear transformations"
+        AddError2 Sprite_BadDepth,      "Unable to plot sprites of this format"
+        AddError2 Sprite_BadSwitchDepth, "Cannot switch output to sprites of this format"
+        AddError2 Sprite_NoMaskOrPaletteAllowedInThisDepth, "SNoMask:Mask or Palette operations not supported in this display depth"
+        AddError2 Sprite_BadDPI,        "BadDPI:Illegal XDPI or YDPI in sprite"
+        AddError2 Sprite_BadJPEG,       "Image not a valid JPEG"
+        AddError2 Sprite_BadJPEGPlot,   "Transformed JPEG plotting is not supported by this version of the SpriteExtend module"
+        AddError2 Sprite_JPEGNoRoom,   "Not enough memory available to plot JPEG"
+        AddError2 Sprite_JPEGFatal,    "JPEG plot failed due to Internal Error"
+        AddError2 Sprite_BadData,     "Unrecognised Sprite Data"
+        AddError2 Sprite_NoGrScl,     "Sprite Operation 'PutSpriteGreyScaled' is not supported by this version of RISC OS"
+
+; Debugger errors
+
+ ASSERT @ <= &800
+ ^ &800
+        AddError  Debug_BreakNotFound,  "Breakpoint not found"
+        AddError  Debug_InvalidValue,   "Invalid value"
+        AddError  Debug_Resetting,      "Resetting breakpoint"
+        AddError  Debug_NoRoom,         "No room in breakpoint table"
+        AddError  Debug_NoBreakpoints,  "No breakpoints set"
+        AddError  Debug_BadBreakpoint,  "Bad breakpoint"
+        AddError  Debug_Undefined,      "Undefined breakpoint"
+        AddError  Debug_NonAligned,     "Unaligned address"
+        AddError  Debug_NoWorkspace,    "No room for debug module workspace"
+
+; HLL Debugger errors
+
+ ASSERT @ <= &840
+ ^ &840
+        AddError  DDT_UnknownSWI,       "Unknown Debugger SWI"
+        AddError  DDT_StackOverflow,    "Stack overflow in Debugger"
+        AddError  DDT_BadDebugData,     "Badly formatted debugging tables"
+        AddError  DDT_Exception,        "Exception in debugger, registers at 01234567"
+        AddError  DDT_DivZero,          "Divide by zero in debugger"
+        AddError  DDT_IllegalRead,      "Illegal address read in debugger, PC = 01234567"
+        AddError  DDT_IllegalWrite,     "Illegal address write in debugger, PC = 01234567"
+        AddError  DDT_BadFileType,      "Can't debug files of this type"
+        AddError  DDT_Unused1,          ""                              ; Was null environment string
+        AddError  DDT_MultipleDebug,    "Debugging session already in progress"
+        AddError  DDT_NoFP,             "FPEmulator module not loaded"
+        AddError  DDT_NoColours,        "Colours module not loaded"
+        AddError  DDT_NoWRCHVRoutine,   "DDT: Unable to find default WRCHV routine"
+        AddError  DDT_NoByteVRoutine,   "DDT: Unable to find default ByteV routine"
+        AddError  DDT_NoVectorTable,    "DDT: Unable to find ROM vector table"
+        AddError  DDT_BadSprite,        "DDT: 256 colour sprite"
+        AddError  DDT_OldFormatWindow,  "DDT: Old format window"
+        AddError  DDT_NoTemplate,       "DDT: Template not found"
+        AddError  DDT_TooManyMenus,     "DDT: Too many menus"
+
+; BBC IO podule errors
+
+ ASSERT @ <= &880
+ ^ &880
+        AddError  NoHardwareAddress,    "Unable to start without hardware address"
+
+
+; ShellCLI module errors
+
+ ASSERT @ <= &900
+ ^ &900
+        AddError  ShellCreation,        "Cannot create a new shell"
+        AddError  ShellRemoval,         "Cannot remove current shell"
+
+
+ ASSERT @ <= &910
+ ^ &910
+EFormatUtilsErrors              # &10           ; Acorn's Alan Glover
+
+ ASSERT @ <= &920
+ ^ &920
+CompressErrors                  # &10           ; Acorn's Jon Thackray (for the compress module)
+
+
+; Draw module errors
+
+ ASSERT @ <= &980
+ ^ &980
+        AddError2 NoDrawInIRQMode,      "Draw module does not work in IRQ mode"
+        AddError2 BadDrawReasonCode,    "Bad Draw_ProcessPath reason code"
+        AddError2 ReservedDrawBits,     "Reserved bits not zero"
+        AddError2 InvalidDrawAddress,   "Invalid address"
+        AddError2 BadPathElement,       "Bad path element"
+        AddError2 BadPathSequence,      "Path elements out of order"
+        AddError2 MayExpandPath,        "Operation may change path length"
+        AddError2 PathFull,             "Output path full"
+        AddError2 PathNotFlat,          "Path needs to be flattened"
+        AddError2 BadCapsOrJoins,       "Invalid cap and join specification"
+        AddError2 TransformOverflow,    "Overflow while transforming point"
+        AddError2 DrawNeedsGraphicsMode, "Draw can only plot to graphics modes"
+        AddError2 NoSuchDrawSWI,        "No such Draw SWI", ErrorNumber_NoSuchSWI
+
+; The following Draw errors is used for all unimplemented Draw facilities
+
+ ASSERT @ <= &9FF
+ ^ &9FF
+        AddError2 UnimplementedDraw,    "Facility not in this version of Draw"
+ ASSERT @ = &A00
+
+ ^ &A00 ; Error block for ColourTrans
+;       AddError  BadCalibrationTable,  "Bad calibration table"
+;       AddError  OverflowInConversion, "Overflow in conversion"
+;       AddError  BadHSV,               "Hue should be undefined in achromatic colours"
+;       AddError  CTBufferToSmall,      "Buffer overflow during palette read"
+;       AddError  CantWhilstOutputToSprite, "Cannot write palette whilst output switched to sprite"
+;       AddError  CTBadMiscOp,          "Unknown MiscOp call"
+
+        AddError2 CTBadCalib,           "Bad calibration table"
+        AddError2 CTConvOver,           "Overflow in conversion"
+        AddError2 CTBadHSV,             "Hue should be undefined in achromatic colours"
+        AddError2 CTSwitched,           "Not whilst output switched to sprite"
+        AddError2 CTBadMiscOp,          "Unknown MiscOp call"
+        AddError2 CTBadFlags,           "Reserved fields must be zero"
+        AddError2 CTBuffOver,           "Buffer too small to read palette into"
+        AddError2 CTBadDepth,           "Not supported in this display depth"
+
+ ASSERT @ <= &A40
+ ^ &A40 ; Error block for ARM3 support module
+        AddError  ARM3NotPresent,       "ARM3 not present"
+        AddError  UnknownCacheSWI,      "Unknown cache SWI number"
+
+ ASSERT @ <= &A80
+ ^ &A80 ; Error block for TaskWindow
+        AddError  TaskWindow_CantKill,  "A task window is still active"
+        AddError2 TaskWindow_BadSWIEntry, "Can't restore SWI table properly"
+        AddError2 TaskWindow_BadTaskHandle, "Bad task or text handle"
+        AddError2 TaskWindow_Dying,     "Task dying"
+        AddError  TaskWindow_FileSleep, "You can't close that file - a task window is waiting for it"
+        AddError  TaskWindow_NoEditor,  "Can't open task window - is !Edit loaded?"
+        AddError2 TaskWindow_NoRedirection, "Kernel does not support OS_ChangeRedirection"
+
+ ASSERT @ <= &AC0
+ ^ &AC0 ; Error block for MessageTrans
+        AddError  MessageTrans_Syntax,  "Syntax"                        ; Syntax error in message token (%0)
+        AddError  MessageTrans_FileOpen,"FilOpen"                       ; Message file already open
+        AddError  MessageTrans_TokenNotFound, "TokNFnd"                 ; Message token '%0' not found
+        AddError  MessageTrans_Recurse, "Recursion in MessageTrans"     ; should not be translated
+	AddError  MessageTrans_BadDesc, "BadDesc"			; Message file descriptor is invalid
+
+ ASSERT @ <= &B00
+ ^ &B00 ; Error block for Pinboard
+        AddError  Pinboard_BadOptions,  "BadOpts"
+        AddError  Pinboard_NotASprite,  "NotSprt"
+        AddError  Pinboard_NoRoom,      "NoRoom"
+        AddError  Pinboard_CopyRecursive, "CopyR"
+        AddError  Pinboard_NoWimp,      "NoWimp"
+
+ ASSERT @ <= &B40
+ ^ &B40 ; Error block for Portable
+ErrorBase_Portable # &10
+
+ ASSERT @ <= &B80
+ ^ &B80 ; Error block for Filer
+        AddError  Filer_NoRecursion,    "NoRecur"
+        AddError  Filer_NoTemplate,     "NoTempl"
+        AddError  Filer_FailedSave,     "BadSave"
+        AddError  Filer_BadPath,        "BadPath"
+
+ ASSERT @ <= &BC0
+ ^ &BC0 ; Error block for SCSITape
+ ; See SCSITape sources for allocation
+
+ ASSERT @ <= &BE0
+ ^ &BE0 ; Errors for the new ScreenModes module
+ ; see ScrModes sources for allocation: allow up to 32 here
+
+ ASSERT @ <= &C00
+ ^ &C00 ; Error block for ModeChooser module
+ErrorBase_Modes         # &20           ; See Modes sources for allocation
+
+ ASSERT @ <= &C20
+ ^ &C20 ; Error block for DMAManager module
+ErrorBase_DMA           # &20           ; See DMA sources for allocation
+
+ ASSERT @ <= &C40
+ ^ &C40 ; Error block for ARM module
+ErrorBase_ARM           # &20           ; See ARM sources for allocation
+
+ ASSERT @ <= &C60
+ ^ &C60 ; Error block for Hardware Layer interfaces
+        AddError  HardwareBadReason,    "HWBadReason:Bad OS_Hardware reason code"
+        AddError  HardwareBadEntry,     "HWBadEntry:Hardware call not available"
+
+ ASSERT @ <= &C80
+
+
+; Filing System errors should be &0001nnxx where nn is the Filing System number
+
+; ROMFS errors
+
+ ASSERT @ <= &10300
+ ^ &00010300 ; fs 3
+        AddError  FileTooBig,           "File too big for device(s)"
+        AddError  OffsetTooBig,         "Offset too big for device"
+
+; Errors with the bottom byte forced for compatability
+        AddError  IsAROMFSDirectory,    $ErrorString_IsADirectory, &103A8
+        AddError  OutsideROMFSFile,     $ErrorString_OutsideFile, &103B7
+        AddError  ROMFSFileAlreadyOpen, "Only one file open at a time", &103C0
+        AddError  BadROMFSOption,       "Bad option value", &103CB
+        AddError  ROMFSFileNotFound,    $ErrorString_FileNotFound, &103D6
+        AddError  BadROMFSHandle,       "Bad handle", &103DE
+
+
+; NetFS errors
+
+ErrorBase_NetFS *       &00010000 + ( fsnumber_net :SHL: 8 ) ; fs 5
+                ASSERT  @ <= ErrorBase_NetFS
+                ^       ErrorBase_NetFS
+
+        AddError  BadName,              "Bad file server name"
+        AddError  BadCommandCode,       "Bad file server command code"
+        AddError  UnexpectedCommandCode, "Unexpected file server command code"
+        AddError  UnknownFunctionCode,  "Unknown function code"
+        AddError  UnknownStationName,   "Unknown station name"
+        AddError  UnknownStationNumber, "Unknown station number"
+        AddError  StationNotFound,      "Station name not found"
+        AddError  FileServerNameTooLong, "File server name too long"
+        AddError  BadFileServerDate,    "Bad date"
+        AddError2 NetFSInternalError,   "Fatal internal error"
+        AddError  FileServerNotCapable, "Not possible on this file server"
+        AddError  BroadcastServerDead,  "Broadcast server not responding"
+        AddError  FileServerOnly24Bit,  "File too big"
+
+
+                ASSERT  @ <= ErrorBase_NetFS + &3A
+                ^       ErrorBase_NetFS + &3A ; NetUtils errors
+
+        AddError  NetUtilsWrongVersion, "NetFS isn't version 5.78"
+        AddError  NetUtilsNetFSNoGo,    "NetFS isn't running as a filing system"
+        AddError  NetUtilsIsThreaded,   "You can't kill NetUtils"
+
+
+                ASSERT  @ <= ErrorBase_NetFS + &40
+                ^       ErrorBase_NetFS + &40 ; Loaded NetFS transient errors
+
+        AddError  SetFreeSyntax,        "Syntax: *SetFree <Username> <FreeSpace (in hex)>", ErrorNumber_Syntax
+        AddError  FSCLISyntax,          "Syntax: *FSCLI <string>", ErrorNumber_Syntax
+
+; Errors with the bottom byte forced for compatability
+
+        AddError  IsANetFSDirectory,    $ErrorString_IsADirectory, ErrorBase_NetFS + ErrorNumber_IsADirectory ; &A8
+        AddError  NetFSTypesDontMatch,  $ErrorString_TypesDontMatch, ErrorBase_NetFS + ErrorNumber_TypesDontMatch ; &AF
+        AddError  BadNetRename,         $ErrorString_BadRename, ErrorBase_NetFS + ErrorNumber_BadRename ; &B0
+        AddError  DirectoryNotEmpty,    "Directory not empty", ErrorBase_NetFS + &B4
+        AddError  InsufficientNetFSAccess, "Insufficient access", ErrorBase_NetFS + ErrorNumber_AccessViolation ; &BD
+        AddError  NotLoggedOn,          "Not logged on", ErrorBase_NetFS + &BF
+        AddError  BadNetFSOption,       "Bad option value", ErrorBase_NetFS + &CB
+        AddError  BadNetFSFilename,     $ErrorString_BadFilename, ErrorBase_NetFS + ErrorNumber_BadFileName ; &CC
+        AddError  DiscAndFileServerDontMatch, "Specified disc not on specified file server", ErrorBase_NetFS + &D4
+        AddError  NetFSFileNotFound,    $ErrorString_FileNotFound, ErrorBase_NetFS + ErrorNumber_FileNotFound ; &D6
+        AddError  BadNetFSHandle,       "Bad handle", ErrorBase_NetFS + ErrorNumber_Channel ; &DE
+        AddError  BadFSCLICommand,      "Unknown file server command", ErrorBase_NetFS + ErrorNumber_BadCommand ; &FE
+
+; ADFS errors
+
+ ASSERT @ <= &10800
+ ^ &00010800 ; fs 8
+
+
+; VFS errors
+
+ ASSERT @ <= &10A00
+ ^ &00010A00 ; fs 10
+
+
+; NetPrint errors
+
+ ASSERT @ <= &10C00
+ ^ &00010C00 ; fs 12
+        AddError  PrinterServerNameTooLong, "Printer name too long"
+        AddError  SingleStream,         "Printer in use"
+        AddError  AllPrintersBusy,      "No free printer of this type"
+        AddError  AllPrintersBusyPre1,  "Printer '", ErrorNumber_AllPrintersBusy
+        AddError  AllPrintersBusyPre2,  "All '", ErrorNumber_AllPrintersBusy
+        AddError  AllPrintersBusyMid,   "' (", ErrorNumber_AllPrintersBusy
+        AddError  AllPrintersBusyPost1, ") ", ErrorNumber_AllPrintersBusy
+        AddError  AllPrintersBusyPost2, "' not found", ErrorNumber_AllPrintersBusy
+        AddError  AllPrintersBusyPost3, "' printers busy", ErrorNumber_AllPrintersBusy
+
+        AddError  NetPrinterOffLine,    "Printer offline"
+        AddError  NetPrinterNotFound,   "Printer server not found"
+        AddError2 NetPrintInternalError, "Fatal internal error"
+        AddError  NetOldServer,         "Can't print to an old server when running a new one"
+
+; Errors with the bottom byte forced for compatability
+        AddError  NetPrinterBusy,       "Printer busy", &10CA6
+        AddError  NetPrinterJammed,     "Printer jammed", &10CA7
+        AddError  BadNetPrintHandle,    "Bad handle", &10C00 + ErrorNumber_Channel
+
+
+ ASSERT @ <= &10D00
+ ^ &00010D00 ; fs 13
+        AddError  BadNullOp, "Bad operation on null:"
+
+
+ ASSERT @ <= &10E00
+ ^ &00010E00 ; fs 14
+        AddError  BadPrinterOp,         "Bad operation on printer:"
+        AddError  PrinterInUse,         "printer: in use"
+        AddError  UKPrinterType,        "Unknown printer type"
+
+
+ ASSERT @ <= &10F00
+ ^ &00010F00 ; fs 15
+        AddError  BadSerialOp,          "Bad operation on serial:"
+        AddError  SerialInUse,          "serial: in use"
+
+
+ ASSERT @ <= &11100
+ ^ &00011100 ; fs 17
+        AddError  BadVduOp,             "Bad operation on vdu:"
+
+
+ ASSERT @ <= &11200
+ ^ &00011200 ; fs 18
+        AddError  BadRawVduOp,          "Bad operation on rawvdu:"
+
+
+ ASSERT @ <= &11300
+ ^ &00011300 ; fs 19
+        AddError  BadKbdOp,             "Bad operation on kbd:"
+
+
+ ASSERT @ <= &11400
+ ^ &00011400 ; fs 20
+        AddError  BadRawKbdOp,          "Bad operation on rawkbd:"
+
+
+; DeskFS errors
+
+ ASSERT @ <= &11500
+ ^ &00011500 ; fs 21
+
+        AddFSError Desk,                NotSupported, DeskFS, fsnumber_deskfs
+        AddFSError Desk,                FSReadOnly, DeskFS, fsnumber_deskfs
+
+; SCSIFS errors
+
+  ASSERT @ <= &011A00
+ ^ &00011A00 ; fs 26
+
+; NFS errors
+
+  ASSERT @ <= &012100
+ ^ &00012100 ; fs 31
+        AddError  NFS_malloc_failed,    "Not enough free memory"
+        AddError  NFS_no_nameing_host,  "Nameing server not specified"
+        AddError  NFS_path_no_mount,    "No mount name given for mounting"
+        AddError  NFS_mount_no_path,    "No mount path given for mounting"
+
+        AddError  NFS_no_mounting_host, "File server not specified"
+        AddError  NFS_no_user,          "There is no user specified - this is an internal inconsistency"
+        AddError  NFS_duplicate_mount_point, "Remounting on a given mount name is not allowed - dismount first"
+        AddError  NFS_no_host_found,    "Host unknown to RISC OS NFS"
+
+        AddError  NFS_no_mount_point_found, "Nothing is mounted under that name"
+        AddError  NFS_no_library,       "No library directory selected"
+        AddError  NFS_no_previous,      "No previous directory"
+        AddError  NFS_no_urd,           "No user root directory selected"
+
+        AddError  NFS_no_current_directory, "No current directory"
+        AddError  NFS_no_current_mount_point, "No current mount point"
+        AddError  NFS_nfserr_io,        "Hardware I/O error"
+        AddError  NFS_nfserr_stale,     "Object no longer exists"
+
+; &012110
+
+        AddError  NFS_nfserr_wflush,    "Write cache flushed to disc"
+        AddError  NFS_nfserr_unknown,   "Unknown NFS error encountered"
+        AddError  NFS_rpc_failed,       "RPC communication failed"
+        AddError  NFS_read_direntry_too_soon,   "Internal error - tried to read directory entry before it was obtained from server"
+
+        AddError  NFS_directory_unset,  "Directory unset"
+        AddError  NFS_no_opts_for_nfs,  "NFS does not have any *OPT options"
+        AddError  NFS_func18_not_supported, "Internal error - NFS does not support FSEntry_Func 18"
+        AddError  NFS_func20_not_supported, "Internal error - NFS does not support FSEntry_Func 20"
+
+        AddError  NFS_flush_not_supported, "Flush command fed through to NFS - NFS does not support flushing"
+        AddError  NFS_swi_mount_invalid_parameters, "Invalid parameters passed to swi NFS_Mount"
+        AddError  NFS_swi_dismount_ambiguous_parameters, "Ambiguous parameters passed to swi NFS_Dismount"
+        AddError  NFS_authorisation_failed, "Authorisation failed"
+
+        AddError  NFS_nfserr_BadParameters, "Bad parameters passed internally"
+        AddError  NFS_mounterr_unknown, "Unknown mount error encountered"
+
+; Errors with the bottom byte forced for compatability
+
+        AddError  NFS_nfserr_rofs,      "Read only filing system", &01214c
+        AddError  NFS_nfserr_nxio,      "No such device or address", &0121ac
+        AddError  NFS_not_a_file,       "Object is not a file", &012100 + ErrorNumber_TypesDontMatch
+        AddError  NFS_nfserr_nodev,     "No such device", &0121ac
+        AddError  NFS_BadRENAME,        "Bad RENAME", &0121b0
+        AddError  NFS_nfserr_notempty,  "Directory not empty", &0121b4
+        AddError  NFS_outside_file,     "Outside File", &012100 + ErrorNumber_OutsideFile
+        AddError  NFS_nfserr_perm,      "Not owner - permission denied", &0121bd
+        AddError  NFS_nfserr_acces,     "Insufficient access", &0121bd
+        AddError  NFS_nfserr_exist,     "File already exists", &0121c4
+        AddError  NFS_nfserr_notdir,    "Not a directory", &0121c5
+        AddError  NFS_nfserr_isdir,     "Is a directory", &0121c5
+        AddError  NFS_nfserr_fbig,      "File too big", &0121c6
+        AddError  NFS_nfserr_nospc,     "No space left", &0121c6
+        AddError  NFS_nfserr_dquot,     "Disc quota exceeded", &0121c6
+        AddError  NFS_nfserr_nametoolong, "Name too long", &0121cc
+        AddError  NFS_nfserr_noent,     "Does not exist", &0121d6
+
+; Broadcast loader errors
+
+ErrorBase_Loader * &00010000 + ( fsnumber_loader :SHL: 8 ) ; fs 41
+                 ASSERT @ <= ErrorBase_Loader
+                 ^ ErrorBase_Loader
+
+        AddFSError Loader,              NotSupported, BroadcastLoaderUtils, fsnumber_loader
+        AddFSError Loader,              FSReadOnly, BroadcastLoaderUtils, fsnumber_loader
+
+
+; ResourceFS errors
+
+ErrorBase_ResourceFS * &00010000 + ( fsnumber_resourcefs :SHL: 8 ) ; fs 46
+ ASSERT @ <= ErrorBase_ResourceFS
+ ^ ErrorBase_ResourceFS
+
+        AddFSError ResourceFS_,         NotSupported, Resources, fsnumber_resourcefs
+        AddFSError ResourceFS_,         FSReadOnly,   Resources, fsnumber_resourcefs
+        AddError   RFSReg,              "ResourceFS files already registered"
+        AddError   RFSDreg,             "ResourceFS files not registered"
+
+; PipeFS errors
+
+ErrorBase_PipeFS * &00010000 + ( fsnumber_pipefs :SHL: 8 ) ; fs 47
+ ASSERT @ <= ErrorBase_PipeFS
+ ^ ErrorBase_PipeFS
+
+
+        AddError  PipeFS_NoBlocking,    "Pipe filing system requires TaskWindow support"
+        AddError  PipeFS_FileOpen,      "Pipe open", ErrorBase_PipeFS + ErrorNumber_FileOpen
+        AddError  PipeFS_FileNotFound,  "Pipe not found", ErrorBase_PipeFS + ErrorNumber_FileNotFound
+        AddError  PipeFS_Channel,       $ErrorString_Channel, ErrorBase_PipeFS + ErrorNumber_Channel
+
+        AddFSError PipeFS_,             NotSupported, Pipe, fsnumber_pipefs
+
+; DeviceFS
+ ^ &00010000 + (fsnumber_DeviceFS :SHL: 8) ; fs 53
+
+ErrorBase_DeviceFS # &40
+ErrorBase_Parallel # &40
+ErrorBase_Serial   # &20
+ErrorBase_SerialUtils # &20
+ ASSERT @ <= ErrorBase_DeviceFS + &100
+
+; See the DeviceFS sources for these errors
+; -----------------------------------------
+
+; Sound system errors
+
+ ASSERT @ <= &20000
+ ^ &00020000
+; Sound Level 0 OSCLI command errors
+        AddError  BadSoundParameter,    "Bad sound command parameter"
+        AddError  BadSoundChannel,      "Bad sound channel number"
+        AddError  BadSoundStereo,       "Bad sound stereo position"
+        AddError2 BadSoundIRQClaim,     "Sound Level0 failed to claim IRQ vector"
+; Sound Level 1 only (share some Level 0)
+        AddError2 BadSound1Init,        "Unable to claim sufficient Sound Level 1 heap space"
+        AddError  BadSoundVoice,        "Bad sound voice"
+; Sound Level 2 only (share some Level 0)
+        AddError2 BadSound2Init,        "Unable to claim sufficient Sound Level 2 heap space"
+; Voices
+        AddError2 BadVoiceInit,         "Unable to claim sufficient Sound Voice heap space"
+; Extra Level 1 error
+        AddError  IllegalVoice,         "Illegal voice index"
+; Extra Level 0 error
+        AddError  BadSoundGain,         "Gain value must be in the range 0-7"
+; Extra Level 0 error
+	AddError  NoSoundDevices,	"No sound controller devices found"
+
+; SCSI driver errors
+
+ ASSERT @ <= &20100
+ ^ &00020100
+        AddError2 SCSI_FailClaim,       "SCSI failed to allocate required RAM at initialise"
+        AddError2 SCSI_IDLost,          "The SBIC has lost it's SCSI ID"
+        AddError2 SCSI_SBICBusy,        "The SBIC is busy performing a command"
+        AddError2 SCSI_PanicMess,       "Panic - the SBIC has lost track of things"
+        AddError2 SCSI_CheckAux,        "Check Aux register"
+        AddError2 SCSI_MegaText,        "An error or situation that is undefined has occurred"
+
+
+; VideoCommands errors
+
+ ASSERT @ <= &20200
+ ^ &00020200
+        AddError2 Video_FailClaim,      "Video failed to claim its workspace"
+        AddError2 Video_BadVpError,     "Parameter to VP must be 1 to 5 or X"
+        AddError2 Video_BadFcodeError,  "Bad f-code"
+        AddError2 Video_BadSpeedError,  "Bad speed parameter"
+
+
+; IIC errors
+
+ ASSERT @ <= &20300
+ ^ &00020300
+        AddError2 IIC_NoAcknowledge,    "No acknowledge from IIC device"
+        AddError2 IIC_Error,            "IIC error" ;RO5
+        AddError2 IIC_Busy,             "IIC system busy" ; RO5
+
+
+
+; MIDI errors
+ ASSERT @ <= &20400
+ ^ &00020400
+        AddError  MIDI_BadParameter,    "Bad MIDI command parameter"
+        AddError  MIDI_TxBufferFull,    "MIDI Transmit buffer is full."
+        AddError  MIDI_RxFramingError,  "MIDI Framing error when byte was received"
+        AddError  MIDI_RxOverrunError,  "MIDI Overrun error when byte was received"
+        AddError  MIDI_RxBufferOverflowError, "MIDI receive buffer overflowed"
+
+
+; PCEmulator errors
+ ASSERT @ <= &20500
+ ^ &00020500
+ErrorBase_PCEmulator            # &100
+
+
+; Desktop Development Environment errors
+ ASSERT @ <= &20600
+ ^ &00020600
+ErrorBase_AcornDDE              # &100
+
+
+; Buffer handling errors
+ ASSERT @ <= &20700
+ ^ &00020700
+ErrorBase_BufferManager         # &100
+
+; See Buffer Manager sources for these ones
+; -----------------------------------------
+
+
+;
+ ASSERT @ <= &20800
+ ^ &00020800
+ErrorBase_AcornGoldOS           #       &100
+
+        ASSERT  @ <= &20900
+        ^       &00020900
+ErrorBase_CharFile              #       &100                            ; Provisional
+
+        ASSERT  @ <= &20A00
+        ^       &20A00
+ErrorBase_SpriteFile            #       &100                            ; Provisional
+
+        ASSERT  @ <= &20B00
+        ^       &20B00
+ErrorBase_TextFile              #       &100                            ; Provisional
+
+        ASSERT  @ <= &20C00
+        ^       &20C00
+ErrorBase_DrawFile              #       &100
+
+ErrorBase_ColourPicker          #       &100 ;&20D00
+
+        ASSERT  @ <= &20E00
+        ^       &20E00
+ErrorBase_DCI4                  #       &100
+
+ErrorBase_ANT			*	&4A580	;(32) formalising a bit of stupidity
+
+
+; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+; Exceptions and Abortions
+
+ ^ &80000000 ; All start with a 0 in the bottom byte
+ErrorBase_MachineExceptions     #       &100
+ErrorBase_CoProc0               #       &100
+ErrorBase_FloatingPoint         #       &100
+ErrorBase_EconetExceptions      #       &100
+ErrorBase_AbortRegions		#	&100 ; &80000500
+
+ ^ ErrorBase_MachineExceptions
+        AddError  UndefinedInstruction, "UndefinedInstruction:Undefined instruction at &%0"
+        AddError  InstructionAbort, "InstructionAbort:Abort on instruction fetch at &%0"
+        AddError  DataAbort, "DataAbort:Abort on data transfer at &%0"
+        AddError  AddressException, "AddressException:Address exception at &%0"
+        AddError  UnknownIRQ, "Unknown IRQ at &"
+        AddError  BranchThrough0, "BranchThrough0:Branch through zero at &"
+
+ ^ ErrorBase_EconetExceptions
+        AddError  Remoted, "Remoted"
+
+ErrorBase_User                  *       &007FFF00                       ; Allocated for user programs
+
+; ***************** External authors get &00800000 upwards *******************
+
+                         ^ &00800000 ; Sign here for 256 errors
+
+ErrorBase_BASICEditor           #       &100    ; &00800000 Acorn (Gibson et al.)
+                         ^ &00800E00
+ErrorBase_CSharedLibrary        #       &100    ; &00800E00 Acorn (PLG)
+                         ^ &00801C00
+ErrorBase_6502Emulator          #       &100    ; &00801C00 Acorn (SSwales)
+                         ^ &00805E00
+ErrorBase_AcornHWTest           #       &100    ; &00805E00 Acorn H/W test applications
+                         ^ &00806500
+ErrorBase_AcornNZ               #       &100    ; &00806500 David Hunter, Acorn NZ
+                         ^ &00807400
+ErrorBase_AcornFaultDatabase    #       &100    ; &00807400 Mike Challis (Acorn)
+                         ^ &00807700
+ErrorBase_ElectronicGroup       #       &100    ; &00807700 David Hunter (Acorn NZ)
+                         ^ &00808600
+ErrorBase_PhotoCD               #       &100    ; &00808600 Paul Le Beau (4Mation/Acorn)
+                         ^ &00808900
+ErrorBase_PCMCIADriver          #       &100    ; &00808900 Acorn
+ErrorBase_PCMCIASupportCode     #       &100    ; &00808A00 Acorn
+ErrorBase_PCCardFS              #       &100    ; &00808B00 Acorn
+ErrorBase_PCCardFSFiler         #       &100    ; &00808C00 Acorn
+                         ^ &00809C00
+ErrorBase_RemotePrinterSupport  #       &100    ; &00809C00 Chris Marshall, Acorn
+                         ^ &00809F00
+ErrorBase_Sparrow               #       &100    ; &00809F00 Keith Ruttle, Acorn
+                         ^ &0080A800
+ErrorBase_AquariusToolboxTest   #       &100    ; &0080A800 Ian Johnson, Acorn
+ErrorBase_AquariusWindows       #       &100    ; &0080A900 Ian Johnson, Acorn
+ErrorBase_AquariusMenus         #       &100    ; &0080AA00 Ian Johnson, Acorn
+ErrorBase_AquariusIconBar       #       &100    ; &0080AB00 Ian Johnson, Acorn
+ErrorBase_AquariusPointers      #       &100    ; &0080AC00 Ian Johnson, Acorn
+ErrorBase_AquariusColMenu       #       &100    ; &0080AD00 Ian Johnson, Acorn
+ErrorBase_AquariusColourDbox    #       &100    ; &0080AE00 Ian Johnson, Acorn
+ErrorBase_AquariusFontDbox      #       &100    ; &0080AF00 Ian Johnson, Acorn
+ErrorBase_AquariusFontMenu      #       &100    ; &0080B000 Ian Johnson, Acorn
+ErrorBase_AquariusDCS           #       &100    ; &0080B100 Ian Johnson, Acorn
+ErrorBase_AquariusFileInfo      #       &100    ; &0080B200 Ian Johnson, Acorn
+ErrorBase_AquariusPrintDbox     #       &100    ; &0080B300 Ian Johnson, Acorn
+ErrorBase_AquariusProgInfo      #       &100    ; &0080B400 Ian Johnson, Acorn
+ErrorBase_AquariusQuit          #       &100    ; &0080B500 Ian Johnson, Acorn
+ErrorBase_AquariusSaveAs        #       &100    ; &0080B600 Ian Johnson, Acorn
+ErrorBase_AquariusScale         #       &100    ; &0080B700 Ian Johnson, Acorn
+ErrorBase_AquariusTinySupport   #       &100    ; &0080B800 Ian Johnson, Acorn
+ErrorBase_AquariusReserved02    #       &100    ; &0080B900 Ian Johnson, Acorn
+ErrorBase_AquariusReserved03    #       &100    ; &0080BA00 Ian Johnson, Acorn
+ErrorBase_AquariusReserved04    #       &100    ; &0080BB00 Ian Johnson, Acorn
+ErrorBase_AquariusReserved05    #       &100    ; &0080BC00 Ian Johnson, Acorn
+ErrorBase_AquariusReserved06    #       &100    ; &0080BD00 Ian Johnson, Acorn
+ErrorBase_AquariusReserved07    #       &100    ; &0080BE00 Ian Johnson, Acorn
+ErrorBase_AquariusReserved08    #       &100    ; &0080BF00 Ian Johnson, Acorn
+ErrorBase_AquariusReserved09    #       &100    ; &0080C000 Ian Johnson, Acorn
+ErrorBase_AquariusReserved10    #       &100    ; &0080C100 Ian Johnson, Acorn
+ErrorBase_AquariusReserved11    #       &100    ; &0080C200 Ian Johnson, Acorn
+ErrorBase_AquariusReserved12    #       &100    ; &0080C300 Ian Johnson, Acorn
+ErrorBase_AquariusReserved13    #       &100    ; &0080C400 Ian Johnson, Acorn
+ErrorBase_AquariusReserved14    #       &100    ; &0080C500 Ian Johnson, Acorn
+ErrorBase_AquariusReserved15    #       &100    ; &0080C600 Ian Johnson, Acorn
+ErrorBase_AquariusReserved16    #       &100    ; &0080C700 Ian Johnson, Acorn
+                         ^ &0080CB00
+ErrorBase_ToolboxCore           #       &100    ; &0080CB00 Ian Johnson, Acorn
+                         ^ &0080DD00
+ErrorBase_TimeShare             #       &100    ; &0080DD00 Alan Glover, Acorn
+ErrorBase_AcornPhileas          #       &100    ; &0080DE00 Paul Wain, Acorn
+                         ^ &0080E000
+ErrorBase_PCClipboard           #       &100    ; &0080E000 Steve Cormie, Acorn
+                         ^ &0080E200
+ErrorBase_CDManager             #       &100    ; &0080E200 Timothy Roddis, Acorn
+                         ^ &0080E800
+ErrorBase_DebugIt               #       &100    ; &0080E800 Mike Challis, ART
+                         ^ &0080EC00
+ErrorBase_TypeMapper            #       &100    ; &0080EC00 Mike Challis, ART
+                         ^ &0080F200
+ErrorBase_Dialler               #       &100    ; &0080F200 ART
+                         ^ &0080F400
+ErrorBase_Locator               #       &100    ; &0080F400 Carl Elkins
+ErrorBase_Clip                  #       &100    ; &0080F500 Simon Proven
+                         ^ &0080F700
+ErrorBase_CacheManager          #       &100    ; &0080F700 ART
+                         ^ &0080FA00
+ErrorBase_AudioManager          #       &100    ; &0080FA00 amg, ART
+ErrorBase_FileWatch             #       &100    ; &0080FB00 Simon Middleton, ANC
+                         ^ &0080FD00
+ErrorBase_NCRegistry            #       &100    ; &0080FD00 ANC Ant Skelton
+                         ^ &0080FF00
+ErrorBase_NCSerial              #       &100    ; &0080FF00 ANC Rich Buckley
+ErrorBase_JavaSupport           #       &100    ; &00810000 ANC Robin Hunter
+                         ^ &00810300
+ErrorBase_OVS                   #       &100    ; &00810300 ANC Paul Wain
+                         ^ &00810500
+ErrorBase_MSCP                  #       &100    ; &00810500 ART sbp
+                         ^ &00810700
+ErrorBase_Clipboard             #       &100    ; &00810700 ART kb
+ErrorBase_Cam                   #       &100    ; &00810800 ANC as
+                         ^ &00810A00
+ErrorBase_URI                   #       &100    ; &00810A00 ART rce
+ErrorBase_SerialMapper          #       &100    ; &00810B00 ART sf
+                         ^ &00810D00
+ErrorBase_AcornNNTP             #       &100    ; &00810D00 ART rce
+ErrorBase_AcornSMTP             #       &100    ; &00810E00 ART rce
+ErrorBase_AcornPOP3             #       &100    ; &00810F00 ART rce
+ErrorBase_AcornIMAP4            #       &100    ; &00811000 ART rce
+ErrorBase_MPEGStream            #       &100    ; &00811100 ART sbp
+                         ^ &00811500
+ErrorBase_VideoPump             #       &100    ; &00811500 ART sbp
+                         ^ &00811700
+ErrorBase_MPEGAudio             #       &100    ; &00811700 ART sbp
+ErrorBase_SurfBoard             #       &100    ; &00811800 ART rce
+ErrorBase_SoundFX               #       &100    ; &00811900 ANC sm
+                         ^ &00811B00
+ErrorBase_NCAccessManager       #       &100    ; &00811B00 ANC as
+ErrorBase_GCManager             #       &100    ; &00811C00 ANC pw
+ErrorBase_JavaVM                #       &100    ; &00811D00 ANC pw
+ErrorBase_LibraryManager        #       &100    ; &00811E00 ART kb
+ErrorBase_RCAIRBlast            #       &100    ; &00811F00 ABC cb
+                         ^ &00812200
+ErrorBase_NCBootBlock           #       &100    ; &00812200 ANC as
+                         ^ &00812500
+ErrorBase_SerialFlash           #       &100    ; &00812500 ART sf
+ErrorBase_Authenticate          #       &100    ; &00812600 ANC pw
+ErrorBase_tftp		        #       &100    ; &00812700 Acorn, Richard Warren
+                         ^ &00813100
+ErrorBase_SoundCtrl             #       &100    ; &00813100 Acorn, tgr
+ErrorBase_IME                   #       &100    ; &00813200 Acorn, Rich Buckley
+ErrorBase_PCI                   #       &100    ; &00813300 Acorn, wt
+ErrorBase_FaxSupport            #       &100    ; &00813400 Acorn, mr
+                         ^ &00813600
+ErrorBase_SoundTfr              #       &100    ; &00813600 Acorn, tgr
+                         ^ &00813900
+ErrorBase_Diallerb              #       &100    ; &00813900 Acorn, bl
+                         ^ &00813C00
+ErrorBase_DaytonaHW             #       &100    ; &00813C00 Acorn, bl
+ErrorBase_IODevices             #       &100    ; &00813D00 Acorn, wt
+                         ^ &00813F00
+ErrorBase_AcornURL              #       &100    ; &00813F00 Acorn
+                         ^ &00814700
+ErrorBase_MIDIMgr               #       &100    ; &00814700 Acorn
+ErrorBase_MIDIClk               #       &100    ; &00814800 Acorn
+                         ^ &00814F00
+ErrorBase_Installer             #       &100    ; &00814F00 Acorn
+                         ^ &00815400
+ErrorBase_MPU401                #       &100    ; &00815400 Acorn
+ErrorBase_DAHeap                #       &100    ; &00815500 Acorn
+                         ^ &00815A00
+ErrorBase_FlashWrite            #       &100    ; &00815A00 Acorn
+                         ^ &00815C00
+ErrorBase_RC5PC                 #       &100    ; &00815C00 Acorn
+ErrorBase_VSP                   #       &100    ; &00815D00 Acorn
+                         ^ &00816100
+ErrorBase_NCKeyboard            #       &100    ; &00816100 Andrew Hodgkinson, Acorn
+ErrorBase_MessageQueue          #       &100    ; &00816200 Acorn, Stewart Brodie
+ErrorBase_AudioDeviceDriver     #       &100    ; &00816300 Acorn, Tim Roddis
+                         ^ &00816600
+ErrorBase_ATM25                 #       &100    ; &00816600 Acorn, Ben Laughton
+ErrorBase_Net2TransStream       #       &100    ; &00816700 Acorn, Richard Warren
+                         ^ &00816900
+ErrorBase_PortMan               #       &100    ; &00816900 Acorn, Neil Turton
+ErrorBase_TrapError             #       &100    ; &00816A00 Acorn, Steve Revill
+                         ^ &00816C00
+ErrorBase_DHCP                  #       &100    ; &00816C00 Acorn, Stewart Brodie
+ErrorBase_FlashProgrammer       #       &100    ; &00816D00 Acorn, Nick Evans
+                         ^ &00817100
+ErrorBase_TFTP                  #       &100    ; &00817100 Kevin Bracey
+                         ^ &00817300
+ErrorBase_SVBmip                #       &100    ; &00817300 Acorn, Steve Revill
+                         ^ &00817600
+ErrorBase_VideoControl1         #       &100    ; &00817600 Acorn
+ErrorBase_VideoControl2         #       &100    ; &00817700 Acorn
+                         ^ &00817B00
+ErrorBase_EngMenu               #       &100    ; &00817B00 Acorn/Pace
+ErrorBase_MediaCtrl             #       &100    ; &00817C00 Acorn/Pace
+                         ^ &00817E00
+ErrorBase_SVBGeneric		#	&100	; &00817E00 Acorn/Pace
+                         ^ &00818500
+ErrorBase_MPEG			#	&100	; &00818500 Ben Avison
+ErrorBase_CheckURL		#	&100	; &00818600 Andrew Hodgkinson
+                         ^ &00818A00
+ErrorBase_Castle1		#	&100	; &00818A00 Castle
+                         ^ &00818E00
+ErrorBase_LDAP			#	&100	; &00818E00 Acorn
+ErrorBase_UserInactivity	#	&100	; &00818F00 Acorn
+ErrorBase_USBDriver		#	&100	; &00819000 Acorn
+                         ^ &00819200
+ErrorBase_NVRAM			#	&100	; &00819200 Acorn
+                         ^ &00819400
+ErrorBase_ELF			#	&100	; &00819400 Acorn
+                         ^ &00819800
+ErrorBase_PRISM			#	&100	; &00819800 Acorn
+                         ^ &00819C00
+ErrorBase_DebugTools		#	&100	; &00819C00 Acorn
+ErrorBase_ConfigUpdate		#	&100	; &00819D00 Acorn
+ErrorBase_Prism			#	&100	; &00819E00 Acorn
+                         ^ &0081A100
+ErrorBase_MP3Stream		#	&100	; &0081A100 Acorn
+ErrorBase_SendMessage		#	&100	; &0081A200 Acorn
+                         ^ &0081BD00
+ErrorBase_RT			#	&100	; &0081BD00 Ben Avison
+                         ^ &0081D900
+ErrorBase_Tematic1		#	&100	; &0081d900 Tematic: ScreenFX and KeyUtils
+                         ^ &0081DE00
+ErrorBase_SysLoad		#	&100	; &0081de00 Steve Revill (Castle)
+        OPT     OldOpt
+        END
diff --git a/hdr/OsWords b/hdr/OsWords
new file mode 100644
index 0000000..7901261
--- /dev/null
+++ b/hdr/OsWords
@@ -0,0 +1,137 @@
+; 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    Definitions of currently allocated OSWord reason Codes
+
+OldOpt  SETA    {OPT}
+        OPT     OptNoList+OptNoP1List
+
+                                ^       0
+
+OsWord_ReadLine                 #       1       ; &00 BBC MOS
+OsWord_ReadSystemClock          #       1       ; &01 BBC MOS
+OsWord_WriteSystemClock         #       1       ; &02 BBC MOS
+OsWord_ReadIntervalTimer        #       1       ; &03 BBC MOS
+OsWord_WriteIntervalTimer       #       1       ; &04 BBC MOS
+OsWord_ReadIOProcessorMemory    #       1       ; &05 BBC MOS
+OsWord_WriteIOProcessorMemory   #       1       ; &06 BBC MOS
+OsWord_GenerateSound            #       1       ; &07 BBC MOS
+OsWord_DefineSoundEnvelope      #       1       ; &08 BBC MOS
+OsWord_ReadPixelColour          #       1       ; &09 BBC MOS
+OsWord_ReadCharacterDefinition  #       1       ; &0A BBC MOS
+OsWord_ReadPalette              #       1       ; &0B BBC MOS
+OsWord_WritePalette             #       1       ; &0C BBC MOS
+OsWord_ReadGraphicsPositions    #       1       ; &0D BBC MOS
+OsWord_ReadRealTimeClock        #       1       ; &0E Master MOS
+OsWord_WriteRealTimeClock       #       1       ; &0F Master MOS
+OsWord_Econet_Transmit          #       1       ; &10 NFS and ANFS
+OsWord_Econet_Receive           #       1       ; &11 NFS and ANFS
+OsWord_Econet_ReadArguments     #       1       ; &12 NFS and ANFS
+OsWord_Econet_ReadAndSetMisc    #       1       ; &13 NFS and ANFS
+OsWord_Econet_DoFSOp            #       1       ; &14 NFS and ANFS
+OsWord_DefinePointerAndMouse    #       1       ; &15 RISC OS Kernel
+OsWord_WriteScreenBaseAddress   #       1       ; &16 RISC OS Kernel
+
+        ; Note that the size of blocks below &20 is determined by a
+        ; table in the MOS.  Blocks between &20 and &7F will be treated
+        ; as 16 bytes in and 16 bytes out (for Tube® transfers) and must
+        ; not excede these values.
+
+                                ^       &42
+OsWord_DFS_SRAMTransfer         #       1       ; &42 1770 DFS
+OsWord_DFS_SRAMLoadOrSave       #       1       ; &43 1770 DFS
+
+                                ^       &60
+OsWord_VFS_ReadSequenceNumber   #       1       ; &60 Master VFS (Domesday)
+OsWord_VFS_UnAllocated          #       1       ; &61 Master VFS (Domesday)
+OsWord_VFS_DoCommand            #       1       ; &62 Master VFS (Domesday)
+OsWord_VFS_ReadLastErrorInfo    #       1       ; &63 Master VFS (Domesday)
+OsWord_VFS_ReadCurrentFCode     #       1       ; &64 Master VFS (Domesday)
+
+                                ^       &70
+
+OsWord_ADFS_ReadSequenceNumber  #       1       ; &70 BBC/Master ADFS
+OsWord_ADFS_ReadFreeSpace       #       1       ; &71 BBC/Master ADFS
+OsWord_ADFS_DoCommand           #       1       ; &72 BBC/Master ADFS
+OsWord_ADFS_ReadLastErrorInfo   #       1       ; &73 BBC/Master ADFS
+
+                                ^       &7A
+
+OsWord_TeleText                 #       1       ; &7A BBC/Master Teletext ROM
+OsWord_Modem                    #       1       ; &7B Prestel etc.
+
+                                ^       &7D
+
+OsWord_DFS_ReadSequenceNumber   #       1       ; &7D BBC/Master DFS
+OsWord_DFS_ReadDiscSize         #       1       ; &7E BBC/Master DFS
+OsWord_DFS_DoCommand            #       1       ; &7F BBC/Master DFS
+
+        ; Note that for blocks in the range &80 to &FF the sizes for
+        ; incoming and outgoing parameter lists are the first and
+        ; second bytes respectively (for Tube® transfers).
+
+OsWord_IEEE_DoCommand           #       1       ; &80
+
+                                ^       &90
+
+OsWord_TransportService         #       1       ; &90 Acorn X25 Gateway
+
+                                ^       &A0
+
+OsWord_IsolatedWordREcogniser   #       1       ; &A0
+
+
+                                ^       &E0
+
+OsWord_User_01                  #       1       ; &E0 Ends up on UserV
+OsWord_User_02                  #       1       ; &E1 Ends up on UserV
+OsWord_User_03                  #       1       ; &E2 Ends up on UserV
+OsWord_User_04                  #       1       ; &E3 Ends up on UserV
+OsWord_User_05                  #       1       ; &E4 Ends up on UserV
+OsWord_User_06                  #       1       ; &E5 Ends up on UserV
+OsWord_User_07                  #       1       ; &E6 Ends up on UserV
+OsWord_User_08                  #       1       ; &E7 Ends up on UserV
+OsWord_User_09                  #       1       ; &E8 Ends up on UserV
+OsWord_User_10                  #       1       ; &E9 Ends up on UserV
+OsWord_User_11                  #       1       ; &EA Ends up on UserV
+OsWord_User_12                  #       1       ; &EB Ends up on UserV
+OsWord_User_13                  #       1       ; &EC Ends up on UserV
+OsWord_User_14                  #       1       ; &ED Ends up on UserV
+OsWord_User_15                  #       1       ; &EE Ends up on UserV
+OsWord_User_16                  #       1       ; &EF Ends up on UserV
+OsWord_User_17                  #       1       ; &F0 Ends up on UserV
+OsWord_User_18                  #       1       ; &F1 Ends up on UserV
+OsWord_User_19                  #       1       ; &F2 Ends up on UserV
+OsWord_User_20                  #       1       ; &F3 Ends up on UserV
+OsWord_User_21                  #       1       ; &F4 Ends up on UserV
+OsWord_User_22                  #       1       ; &F5 Ends up on UserV
+OsWord_User_23                  #       1       ; &F6 Ends up on UserV
+OsWord_User_24                  #       1       ; &F7 Ends up on UserV
+OsWord_User_25                  #       1       ; &F8 Ends up on UserV
+OsWord_User_26                  #       1       ; &F9 Ends up on UserV
+OsWord_User_27                  #       1       ; &FA Ends up on UserV
+OsWord_User_28                  #       1       ; &FB Ends up on UserV
+OsWord_User_29                  #       1       ; &FC Ends up on UserV
+OsWord_User_30                  #       1       ; &FD Ends up on UserV
+OsWord_Z80_Disc                 #       1       ; &FE
+OsWord_Z80_Data                 #       1       ; &FF
+
+
+
+        OPT OldOpt
+
+        END
diff --git a/hdr/PDriverReg b/hdr/PDriverReg
new file mode 100644
index 0000000..2853870
--- /dev/null
+++ b/hdr/PDriverReg
@@ -0,0 +1,53 @@
+; 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    Printer Driver Types - Registration file
+
+OldOpt  SETA   {OPT}
+        OPT    OptNoList+OptNoP1List
+
+; Printer types (must be unique)
+
+PDriverType_PS                  *  0
+PDriverType_DM                  *  1
+PDriverType_LJ                  *  2
+PDriverType_IX                  *  3
+PDriverType_FX                  *  4
+PDriverType_LZ                  *  5
+PDriverType_LB                  *  6
+PDriverType_DP                  *  7
+PDriverType_JP                  *  8
+PDriverType_DJ                  *  9
+PDriverType_CCBJ10              * 10
+PDriverType_CCBJC800            * 11
+PDriverType_CCDJ                * 12
+PDriverType_CDJ500C             * 13
+PDriverType_CCIX                * 14
+PDriverType_CCBJ200             * 15
+PDriverType_CCCanonBubbleJet    * 16
+PDriverType_CCCanonNative       * 17
+PDriverType_CCHPPCL             * 18
+PDriverType_CCEpsonEscP2        * 19
+PDriverType_AF                  * 20
+
+; Not unique for some reason
+
+PDriverType_JX                  * 99
+PDriverType_PJ                  * 99
+
+        OPT OldOpt
+        END
diff --git a/hdr/PDumperReg b/hdr/PDumperReg
new file mode 100644
index 0000000..494b8ce
--- /dev/null
+++ b/hdr/PDumperReg
@@ -0,0 +1,52 @@
+; 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    Printer Dumper Types - Registration file
+
+OldOpt  SETA   {OPT}
+        OPT    OptNoList+OptNoP1List
+
+; PDumper numbers
+; ---------------
+                                ^ 0
+PDumperSP_Number                # 1     ; =0
+PDumperDM_Number                # 1     ; =1
+PDumperLJ_Number                # 1     ; =2
+PDumperIW_Number                # 1     ; =3
+PDumper24_Number                # 1     ; =4
+PDumperDJ_Number                # 1     ; =5
+PDumperE2_Number                # 1     ; =6
+PDumperLB_Number                # 1     ; =7
+PDumperAF_Number                # 1     ; =8
+PDumperOS_Number                # 1     ; =9
+PDumperFP_Number                # 1     ; =10
+PDumperCX_Number                # 1     ; =11
+PDumperCP_Number                # 1     ; =12
+PDumperLM_Number                # 1     ; =13
+PDumperCX2_Number               # 1     ; =14
+PDumperLZ11_Number              # 1     ; =15
+PDumperLZ12_Number              # 1     ; =16
+PDumperHPS_Number               # 1     ; =17
+PDumperHP_Multi                 # 1     ; =18
+PDumperUP_Number                # 1     ; =19
+PDumperPC_Number                # 1     ; =20
+PDumperGP_Number                # 1     ; =21
+PDumperEpsonESCi_Number         # 1     ; =22
+PDumperEK_Number                # 1     ; =23
+
+        OPT OldOpt
+        END
diff --git a/hdr/PaletteV b/hdr/PaletteV
new file mode 100644
index 0000000..85dc5ad
--- /dev/null
+++ b/hdr/PaletteV
@@ -0,0 +1,41 @@
+; 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.
+
+; hdr:PaletteV
+
+; reason codes passed in r4 to PaletteV
+
+paletteV_Complete               * 0
+paletteV_Read                   * 1
+paletteV_Set                    * 2
+paletteV_1stFlashState          * 3
+paletteV_2ndFlashState          * 4
+paletteV_SetDefaultPalette      * 5
+paletteV_BlankScreen            * 6
+paletteV_BulkRead               * 7
+paletteV_BulkWrite              * 8
+paletteV_GammaCorrection        * 9
+paletteV_LCDInvert              * 10
+paletteV_DimScreen              * 11
+paletteV_VIDCDisable            * 12
+paletteV_VIDCRestore            * 13
+paletteV_ReadGammaCorrection    * 14
+paletteV_ReadSupremacyTransfer  * 15
+paletteV_SetSupremacyTransfer   * 16
+
+
+                END
diff --git a/hdr/PoduleReg b/hdr/PoduleReg
new file mode 100644
index 0000000..be35733
--- /dev/null
+++ b/hdr/PoduleReg
@@ -0,0 +1,93 @@
+; 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.
+
+; <<search marker>>
+
+ ; Allocation of Manufacturer codes
+
+ ^ 0
+Manf_AcornUK                    # 1  ; &00 <- Use this for all Acorn allocations
+Manf_AcornUSA                   # 1  ; &01
+Manf_OlivettiResearch           # 1  ; &02
+ ^ &55
+Manf_CastleTechnology           # 1  ; &55
+ ^ &5C
+Manf_OnlineMedia                # 1  ; &5C <- OBSOLETE: Do not use for new allocations
+
+
+ ; Podule types for within Acorn, Olivetti,
+ ; and the rest of the known universe.
+
+ ^ 0                            ; No. Manufacturer name [&HexNumber]
+ProdType_HostTube           # 1 ; 0 (To the BBC machine)
+ProdType_ParasiteTube       # 1 ; 1 (To a second processor)
+ ^ 5
+ProdType_RAMROM             # 1 ; 5  Acorn [&00]
+ProdType_BBCIO              # 1 ; 6  Acorn [&00]
+ProdType_Econet             # 1 ; 7  Acorn [&00]
+ ^ 19
+ProdType_MIDI               # 1 ; 19 Acorn [&00]
+ ^ 52
+ProdType_FloatingPointCP    # 1 ; 52 Acorn [&00]
+ ^ 63
+ProdType_UserPortAndMIDI    # 1 ; 63 Acorn [&00]
+ ^ 97
+ProdType_Ethernet2          # 1 ; 97 Acorn gets it right at last [&00]
+ ^ &87
+ProdType_ExtensionROM       # 1 ; &87 Acorn [&00]
+ ^ &D6
+ProdType_EASITest           # 1 ; &D6 Acorn [&00]
+ ^ &DE
+ProdType_FSLock             # 1 ; &DE Acorn [&00]
+ ^ &10E
+ProdType_STB2_MPEG1            # 1 ; &10E Online Media &5C
+ProdType_STB1_MPEG2            # 1 ; &10F Online Media &5C
+ ^ &111
+ProdType_STB2_MPEG0            # 1 ; &111 Online Media &5C
+ProdType_ModemCard             # 1 ; &112 Online Media &5C
+ ^ &119
+ProdType_CTrial_ATM            # 1 ; &119 Online Media &5C
+ProdType_iTVDev_ATM            # 1 ; &11A Online Media &5C
+ProdType_iTVDev_ATM25          # 1 ; &11B Online Media &5C
+ ^ &121
+ProdType_STB2_MPEG2            # 1 ; &121 ANC &0
+ProdType_FlashCardProgrammer   # 1 ; &122 ANC &0
+ProdType_OmNic                 # 1 ; &123 ANC &0
+ProdType_PantherATM025         # 1 ; &124 ANC &0
+ ^ &126
+ProdType_PantherATM155         # 1 ; &126 ART &0
+ ^ &129
+ProdType_SwipeCard             # 1 ; &129 Acorn &0
+ProdType_CLModem               # 1 ; &12A Acorn &0
+ ^ &132
+ProdType_Eric                  # 1 ; &132 Acorn &0
+ ^ &139
+ProdType_EtherI                # 1 ; &139 Acorn &0
+ProdType_ISDNST                # 1 ; &13A Acorn &0
+
+ ^ 0
+SimpleType_Extended             # 1     ; 0, Used to indicate that the ID is extended
+SimpleType_Econet               # 1     ; 1, Standard 68B54 configuration
+SimpleType_DigitalJoystick      # 1     ; 2, The joy-stick interface on consumer machines
+SimpleType_AnalogJoystick       # 1     ; 3, The joy-stick interface on consumer machines
+SimpleType_PCMCIAASIC           # 1     ; 4, Stork ASIC simple podule
+
+SimpleType_TestHardware         * 15    ; Reserved for test hardware
+        ASSERT @ <= SimpleType_TestHardware
+
+        OPT     OldOpt
+        END
diff --git a/hdr/Pointer b/hdr/Pointer
new file mode 100644
index 0000000..c234dea
--- /dev/null
+++ b/hdr/Pointer
@@ -0,0 +1,54 @@
+; 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    > &.Hdr.Pointer
+
+; Header file for PointerV mouse interface.
+
+OldOpt  SETA    {OPT}
+        OPT     OptNoList+OptNoP1List
+
+; Pointer devices.
+PointerDevice_QuadMouse         * 0
+PointerDevice_MicrosoftMouse    * 1
+PointerDevice_MSCMouse          * 2
+PointerDevice_PS2Mouse          * 3
+PointerDevice_Ethernet          * 4  ; for 2M Electronic A/S, working for Acorn
+PointerDevice_RCMM              * 5  ; for Simon Forrest
+PointerDevice_USB		* 7  ; Pace
+PointerDevice_AltUSB		* 11 ; Castle
+
+; PointerV reason codes.
+PointerReason_Request           * 0
+PointerReason_Identify          * 1
+PointerReason_Selected          * 2
+PointerReason_Report            * 3
+PointerReason_ExtRequest	* 4
+PointerReason_TouchState	* 5
+
+
+;  device record.
+                                ^ 0
+PointerNext                     # 4
+PointerFlags                    # 4
+PointerType                     # 1
+PointerName                     # 1
+
+MinPointerRecordSize            * :INDEX:@
+
+        OPT     OldOpt
+        END
diff --git a/hdr/SWIs b/hdr/SWIs
new file mode 100644
index 0000000..dc247dc
--- /dev/null
+++ b/hdr/SWIs
@@ -0,0 +1,2199 @@
+; 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    Specific SWI definitions ==> Hdr:SWIs
+
+OldOpt  SETA    {OPT}
+        OPT     OptNoList+OptNoP1List
+
+        ; Generated from Hdr:ISV-SWIs
+        ; For the vendor "Acorn"
+
+
+        ; ***  Don't edit this file, use Hdr:ISV-SWIs instead!  ***
+
+
+        ; Ensure that the Module_SWI<x>Base are right
+
+Module_SWISystemBase		*	0
+Module_SWIApplicationBase	*	0
+Module_SWIUserBase		*	0
+
+        ; Operating System SWI Chunks
+
+                                GBLS    RISCOS_Kernel_0SWI_Name
+RISCOS_Kernel_0SWI              EQU     &00000000
+RISCOS_Kernel_0SWI_Base         EQU     &00000000
+RISCOS_Kernel_0SWI_Name         SETS    "OS"
+
+                                GBLS    RISCOS_Kernel_1SWI_Name
+RISCOS_Kernel_1SWI              EQU     &00000001
+RISCOS_Kernel_1SWI_Base         EQU     &00000040
+RISCOS_Kernel_1SWI_Name         SETS    "OS"                  ; Possible name clash
+
+                                GBLS    RISCOS_Kernel_2SWI_Name
+RISCOS_Kernel_2SWI              EQU     &00000002
+RISCOS_Kernel_2SWI_Base         EQU     &00000080
+RISCOS_Kernel_2SWI_Name         SETS    "OS"                  ; Possible name clash
+
+                                GBLS    RISCOS_StringConversionSWI_Name
+RISCOS_StringConversionSWI      EQU     &00000003
+RISCOS_StringConversionSWI_Base EQU     &000000C0
+RISCOS_StringConversionSWI_Name SETS    "OS"                  ; Possible name clash
+
+                                GBLS    RISCOS_WriteCharacter_0SWI_Name
+RISCOS_WriteCharacter_0SWI      EQU     &00000004
+RISCOS_WriteCharacter_0SWI_Base EQU     &00000100
+RISCOS_WriteCharacter_0SWI_Name SETS    "OS"                  ; Possible name clash
+
+                                GBLS    RISCOS_WriteCharacter_1SWI_Name
+RISCOS_WriteCharacter_1SWI      EQU     &00000005
+RISCOS_WriteCharacter_1SWI_Base EQU     &00000140
+RISCOS_WriteCharacter_1SWI_Name SETS    "OS"                  ; Possible name clash
+
+                                GBLS    RISCOS_WriteCharacter_2SWI_Name
+RISCOS_WriteCharacter_2SWI      EQU     &00000006
+RISCOS_WriteCharacter_2SWI_Base EQU     &00000180
+RISCOS_WriteCharacter_2SWI_Name SETS    "OS"                  ; Possible name clash
+
+                                GBLS    RISCOS_WriteCharacter_3SWI_Name
+RISCOS_WriteCharacter_3SWI      EQU     &00000007
+RISCOS_WriteCharacter_3SWI_Base EQU     &000001C0
+RISCOS_WriteCharacter_3SWI_Name SETS    "OS"                  ; Possible name clash
+
+                                GBLS    FileSwitchSWI_Name
+FileSwitchSWI                   EQU     &00000008
+FileSwitchSWI_Base              EQU     &00000200
+FileSwitchSWI_Name              SETS    "FileSwitch"
+
+                                GBLS    IICSWI_Name
+IICSWI                          EQU     &00000009
+IICSWI_Base                     EQU     &00000240
+IICSWI_Name                     SETS    "IIC"
+
+                                GBLS    ARM3CacheSWI_Name
+ARM3CacheSWI                    EQU     &0000000A
+ARM3CacheSWI_Base               EQU     &00000280
+ARM3CacheSWI_Name               SETS    "Cache"
+
+
+        ; System extension SWI Chunks
+
+                                GBLS    EconetSWI_Name
+EconetSWI                       EQU     &00001000
+EconetSWI_Base                  EQU     &00040000
+EconetSWI_Name                  SETS    "Econet"
+
+                                GBLS    NetFSSWI_Name
+NetFSSWI                        EQU     &00001001
+NetFSSWI_Base                   EQU     &00040040
+NetFSSWI_Name                   SETS    "NetFS"
+
+                                GBLS    FontSWI_Name
+FontSWI                         EQU     &00001002
+FontSWI_Base                    EQU     &00040080
+FontSWI_Name                    SETS    "Font"
+
+                                GBLS    WimpSWI_Name
+WimpSWI                         EQU     &00001003
+WimpSWI_Base                    EQU     &000400C0
+WimpSWI_Name                    SETS    "Wimp"
+
+                                GBLS    TubeSWI_Name
+TubeSWI                         EQU     &00001004
+TubeSWI_Base                    EQU     &00040100
+TubeSWI_Name                    SETS    "HostFS"
+
+                                GBLS    Sound0SWI_Name
+Sound0SWI                       EQU     &00001005
+Sound0SWI_Base                  EQU     &00040140
+Sound0SWI_Name                  SETS    "Sound"
+
+                                GBLS    Sound1SWI_Name
+Sound1SWI                       EQU     &00001006
+Sound1SWI_Base                  EQU     &00040180
+Sound1SWI_Name                  SETS    "Sound"               ; Possible name clash
+
+                                GBLS    Sound2SWI_Name
+Sound2SWI                       EQU     &00001007
+Sound2SWI_Base                  EQU     &000401C0
+Sound2SWI_Name                  SETS    "Sound"               ; Possible name clash
+
+                                GBLS    NetPrintSWI_Name
+NetPrintSWI                     EQU     &00001008
+NetPrintSWI_Base                EQU     &00040200
+NetPrintSWI_Name                SETS    "NetPrint"
+
+                                GBLS    ADFSSWI_Name
+ADFSSWI                         EQU     &00001009
+ADFSSWI_Base                    EQU     &00040240
+ADFSSWI_Name                    SETS    "ADFS"
+
+                                GBLS    PoduleSWI_Name
+PoduleSWI                       EQU     &0000100A
+PoduleSWI_Base                  EQU     &00040280
+PoduleSWI_Name                  SETS    "Podule"
+
+                                GBLS    WaveTableSWI_Name
+WaveTableSWI                    EQU     &0000100C
+WaveTableSWI_Base               EQU     &00040300
+WaveTableSWI_Name               SETS    "WaveSynth"
+
+                                GBLS    DebuggerSWI_Name
+DebuggerSWI                     EQU     &0000100E
+DebuggerSWI_Base                EQU     &00040380
+DebuggerSWI_Name                SETS    "Debugger"
+
+                                GBLS    SCSIDriverSWI_Name
+SCSIDriverSWI                   EQU     &0000100F
+SCSIDriverSWI_Base              EQU     &000403C0
+SCSIDriverSWI_Name              SETS    "SCSI"
+
+                                GBLS    VFSSWI_Name
+VFSSWI                          EQU     &00001010
+VFSSWI_Base                     EQU     &00040400
+VFSSWI_Name                     SETS    "VFS"
+
+                                GBLS    FPEmulatorSWI_Name
+FPEmulatorSWI                   EQU     &00001012
+FPEmulatorSWI_Base              EQU     &00040480
+FPEmulatorSWI_Name              SETS    "FPEmulator"
+
+                                GBLS    MIDISWI_Name
+MIDISWI                         EQU     &00001013
+MIDISWI_Base                    EQU     &000404C0
+MIDISWI_Name                    SETS    "MIDI"
+
+                                GBLS    IO_PoduleSWI_Name
+IO_PoduleSWI                    EQU     &00001014
+IO_PoduleSWI_Base               EQU     &00040500
+IO_PoduleSWI_Name               SETS    "IO_Podule"
+
+                                GBLS    FileCoreSWI_Name
+FileCoreSWI                     EQU     &00001015
+FileCoreSWI_Base                EQU     &00040540
+FileCoreSWI_Name                SETS    "FileCore"
+
+                                GBLS    ShellSWI_Name
+ShellSWI                        EQU     &00001017
+ShellSWI_Base                   EQU     &000405C0
+ShellSWI_Name                   SETS    "Shell"
+
+                                GBLS    HourglassSWI_Name
+HourglassSWI                    EQU     &0000101B
+HourglassSWI_Base               EQU     &000406C0
+HourglassSWI_Name               SETS    "Hourglass"
+
+                                GBLS    DrawSWI_Name
+DrawSWI                         EQU     &0000101C
+DrawSWI_Base                    EQU     &00040700
+DrawSWI_Name                    SETS    "Draw"
+
+                                GBLS    ColourTransSWI_Name
+ColourTransSWI                  EQU     &0000101D
+ColourTransSWI_Base             EQU     &00040740
+ColourTransSWI_Name             SETS    "ColourTrans"
+
+                                GBLS    RamFSSWI_Name
+RamFSSWI                        EQU     &0000101E
+RamFSSWI_Base                   EQU     &00040780
+RamFSSWI_Name                   SETS    "RamFS"
+
+                                GBLS    UnixFSSWI_Name
+UnixFSSWI                       EQU     &0000101F
+UnixFSSWI_Base                  EQU     &000407C0
+UnixFSSWI_Name                  SETS    "UnixFS"
+
+                                GBLS    SCSIFSSWI_Name
+SCSIFSSWI                       EQU     &00001026
+SCSIFSSWI_Base                  EQU     &00040980
+SCSIFSSWI_Name                  SETS    "SCSIFS"
+
+                                GBLS    SuperSamplerSWI_Name
+SuperSamplerSWI                 EQU     &00001036
+SuperSamplerSWI_Base            EQU     &00040D80
+SuperSamplerSWI_Name            SETS    "Super"
+
+                                GBLS    FilerSWI_Name
+FilerSWI                        EQU     &0000103E
+FilerSWI_Base                   EQU     &00040F80
+FilerSWI_Name                   SETS    "FilerAction"
+
+                                GBLS    SCSILogSWI_Name
+SCSILogSWI                      EQU     &00001042
+SCSILogSWI_Base                 EQU     &00041080
+SCSILogSWI_Name                 SETS    "SCSI"                ; Possible name clash
+
+                                GBLS    NFSSWI_Name
+NFSSWI                          EQU     &00001043
+NFSSWI_Base                     EQU     &000410C0
+NFSSWI_Name                     SETS    "NFS"
+
+                                GBLS    InetSWI_Name
+InetSWI                         EQU     &00001048
+InetSWI_Base                    EQU     &00041200
+InetSWI_Name                    SETS    "Inet"
+
+                                GBLS    CDROMSWI_Name
+CDROMSWI                        EQU     &00001049
+CDROMSWI_Base                   EQU     &00041240
+CDROMSWI_Name                   SETS    "CD"
+
+                                GBLS    EFormat2SWI_Name
+EFormat2SWI                     EQU     &0000104B
+EFormat2SWI_Base                EQU     &000412C0
+EFormat2SWI_Name                SETS    "EFormat"
+
+                                GBLS    MessageTransSWI_Name
+MessageTransSWI                 EQU     &00001054
+MessageTransSWI_Base            EQU     &00041500
+MessageTransSWI_Name            SETS    "MessageTrans"
+
+                                GBLS    AmigaDiscOpSWI_Name
+AmigaDiscOpSWI                  EQU     &00001055
+AmigaDiscOpSWI_Base             EQU     &00041540
+AmigaDiscOpSWI_Name             SETS    "AmigaDiscOp"
+
+                                GBLS    SerialPortSWI_Name
+SerialPortSWI                   EQU     &00001056
+SerialPortSWI_Base              EQU     &00041580
+SerialPortSWI_Name              SETS    "SerialPort"
+
+                                GBLS    TelnetSWI_Name
+TelnetSWI                       EQU     &00001057
+TelnetSWI_Base                  EQU     &000415C0
+TelnetSWI_Name                  SETS    "Telnet"
+
+                                GBLS    FtpSWI_Name
+FtpSWI                          EQU     &00001066
+FtpSWI_Base                     EQU     &00041980
+FtpSWI_Name                     SETS    "FTP"
+
+                                GBLS    TftpSWI_Name
+TftpSWI                         EQU     &00001067
+TftpSWI_Base                    EQU     &000419C0
+TftpSWI_Name                    SETS    "TFTP"
+
+                                GBLS    PDumperSWI_Name
+PDumperSWI                      EQU     &0000106C
+PDumperSWI_Base                 EQU     &00041B00
+PDumperSWI_Name                 SETS    "PDumper"
+
+                                GBLS    ResourceFSSWI_Name
+ResourceFSSWI                   EQU     &0000106D
+ResourceFSSWI_Base              EQU     &00041B40
+ResourceFSSWI_Name              SETS    "ResourceFS"
+
+                                GBLS    HLLDebuggerSWI_Name
+HLLDebuggerSWI                  EQU     &00001075
+HLLDebuggerSWI_Base             EQU     &00041D40
+HLLDebuggerSWI_Name             SETS    "Debugger"            ; Possible name clash
+
+                                GBLS    KeyHandlerSWI_Name
+KeyHandlerSWI                   EQU     &00001078
+KeyHandlerSWI_Base              EQU     &00041E00
+KeyHandlerSWI_Name              SETS    "KeyHandler"
+
+                                GBLS    CDROMFSSWI_Name
+CDROMFSSWI                      EQU     &0000107A
+CDROMFSSWI_Base                 EQU     &00041E80
+CDROMFSSWI_Name                 SETS    "CDFS"                ; Possible name clash
+
+                                GBLS    DBoxSWI_Name
+DBoxSWI                         EQU     &0000107D
+DBoxSWI_Base                    EQU     &00041F40
+DBoxSWI_Name                    SETS    "DBox"
+
+                                GBLS    EFormatUtilsSWI_Name
+EFormatUtilsSWI                 EQU     &0000108E
+EFormatUtilsSWI_Base            EQU     &00042380
+EFormatUtilsSWI_Name            SETS    "EFormatUtils"
+
+                                GBLS    PointerUtilsSWI_Name
+PointerUtilsSWI                 EQU     &0000108F
+PointerUtilsSWI_Base            EQU     &000423C0
+PointerUtilsSWI_Name            SETS    "PointerUtils"
+
+                                GBLS    DragASpriteSWI_Name
+DragASpriteSWI                  EQU     &00001090
+DragASpriteSWI_Base             EQU     &00042400
+DragASpriteSWI_Name             SETS    "DragASprite"
+
+                                GBLS    MusicSWI_Name
+MusicSWI                        EQU     &00001095
+MusicSWI_Base                   EQU     &00042540
+MusicSWI_Name                   SETS    "Music"
+
+                                GBLS    DDEUtilsSWI_Name
+DDEUtilsSWI                     EQU     &00001096
+DDEUtilsSWI_Base                EQU     &00042580
+DDEUtilsSWI_Name                SETS    "DDEUtils"
+
+                                GBLS    FilterSWI_Name
+FilterSWI                       EQU     &00001099
+FilterSWI_Base                  EQU     &00042640
+FilterSWI_Name                  SETS    "Filter"
+
+                                GBLS    SwitcherSWI_Name
+SwitcherSWI                     EQU     &0000109A
+SwitcherSWI_Base                EQU     &00042680
+SwitcherSWI_Name                SETS    "TaskManager"
+
+                                GBLS    SaveASSWI_Name
+SaveASSWI                       EQU     &0000109B
+SaveASSWI_Base                  EQU     &000426C0
+SaveASSWI_Name                  SETS    "SaveAS"
+
+                                GBLS    LZWCompressionSWI_Name
+LZWCompressionSWI               EQU     &0000109C
+LZWCompressionSWI_Base          EQU     &00042700
+LZWCompressionSWI_Name          SETS    "Squash"
+
+                                GBLS    DeviceFSSWI_Name
+DeviceFSSWI                     EQU     &0000109D
+DeviceFSSWI_Base                EQU     &00042740
+DeviceFSSWI_Name                SETS    "DeviceFS"
+
+                                GBLS    PathSWI_Name
+PathSWI                         EQU     &000010A4
+PathSWI_Base                    EQU     &00042900
+PathSWI_Name                    SETS    "Path"
+
+                                GBLS    BufferManagerSWI_Name
+BufferManagerSWI                EQU     &000010A5
+BufferManagerSWI_Base           EQU     &00042940
+BufferManagerSWI_Name           SETS    "Buffer"
+
+                                GBLS    BASICTransSWI_Name
+BASICTransSWI                   EQU     &000010B2
+BASICTransSWI_Base              EQU     &00042C80
+BASICTransSWI_Name              SETS    "BASICTrans"
+
+                                GBLS    MessageExtendSWI_Name
+MessageExtendSWI                EQU     &000010B7
+MessageExtendSWI_Base           EQU     &00042DC0
+MessageExtendSWI_Name           SETS    "MessageExtend"
+
+                                GBLS    SoundManagerSWI_Name
+SoundManagerSWI                 EQU     &000010B8
+SoundManagerSWI_Base            EQU     &00042E00
+SoundManagerSWI_Name            SETS    "SoundManager"
+
+                                GBLS    ParallelSWI_Name
+ParallelSWI                     EQU     &000010BB
+ParallelSWI_Base                EQU     &00042EC0
+ParallelSWI_Name                SETS    "Parallel"
+
+                                GBLS    PortableSWI_Name
+PortableSWI                     EQU     &000010BF
+PortableSWI_Base                EQU     &00042FC0
+PortableSWI_Name                SETS    "Portable"
+
+                                GBLS    TerritorySWI_Name
+TerritorySWI                    EQU     &000010C1
+TerritorySWI_Base               EQU     &00043040
+TerritorySWI_Name               SETS    "Territory"
+
+                                GBLS    ScreenBlankerSWI_Name
+ScreenBlankerSWI                EQU     &000010C4
+ScreenBlankerSWI_Base           EQU     &00043100
+ScreenBlankerSWI_Name           SETS    "ScreenBlanker"
+
+                                GBLS    ModeManagerSWI_Name
+ModeManagerSWI                  EQU     &000010C6
+ModeManagerSWI_Base             EQU     &00043180
+ModeManagerSWI_Name             SETS    "ModeManager"
+
+                                GBLS    UsageSWI_Name
+UsageSWI                        EQU     &000010CA
+UsageSWI_Base                   EQU     &00043280
+UsageSWI_Name                   SETS    "Usage"
+
+                                GBLS    TaskWindowSWI_Name
+TaskWindowSWI                   EQU     &000010CE
+TaskWindowSWI_Base              EQU     &00043380
+TaskWindowSWI_Name              SETS    "TaskWindow"
+
+                                GBLS    PrintFileSWI_Name
+PrintFileSWI                    EQU     &000010CF
+PrintFileSWI_Base               EQU     &000433C0
+PrintFileSWI_Name               SETS    "PrintFile"
+
+                                GBLS    MakePSFontSWI_Name
+MakePSFontSWI                   EQU     &000010D1
+MakePSFontSWI_Base              EQU     &00043440
+MakePSFontSWI_Name              SETS    "MakePSFont"
+
+                                GBLS    QuerySupportSWI_Name
+QuerySupportSWI                 EQU     &000010D3
+QuerySupportSWI_Base            EQU     &000434C0
+QuerySupportSWI_Name            SETS    "QSupport"
+
+                                GBLS    Ether1DCISWI_Name
+Ether1DCISWI                    EQU     &000010F1
+Ether1DCISWI_Base               EQU     &00043C40
+Ether1DCISWI_Name               SETS    "Ether1"
+
+                                GBLS    Ether2DCISWI_Name
+Ether2DCISWI                    EQU     &000010F2
+Ether2DCISWI_Base               EQU     &00043C80
+Ether2DCISWI_Name               SETS    "Ether2"
+
+                                GBLS    EconetDCISWI_Name
+EconetDCISWI                    EQU     &000010F4
+EconetDCISWI_Base               EQU     &00043D00
+EconetDCISWI_Name               SETS    "EcoDCI"
+
+                                GBLS    MultiNetworkSWI_Name
+MultiNetworkSWI                 EQU     &000010F5
+MultiNetworkSWI_Base            EQU     &00043D40
+MultiNetworkSWI_Name            SETS    "MNS"
+
+                                GBLS    JoystickSWI_Name
+JoystickSWI                     EQU     &000010FD
+JoystickSWI_Base                EQU     &00043F40
+JoystickSWI_Name                SETS    "Joystick"
+
+                                GBLS    ScreenPrintSWI_Name
+ScreenPrintSWI                  EQU     &000010FE
+ScreenPrintSWI_Base             EQU     &00043F80
+ScreenPrintSWI_Name             SETS    "ScreenPrint"
+
+                                GBLS    MInteractionSWI_Name
+MInteractionSWI                 EQU     &00001104
+MInteractionSWI_Base            EQU     &00044100
+MInteractionSWI_Name            SETS    "Interaction"
+
+                                GBLS    FreeSWI_Name
+FreeSWI                         EQU     &00001113
+FreeSWI_Base                    EQU     &000444C0
+FreeSWI_Name                    SETS    "Free"
+
+                                GBLS    SampleExpanderSWI_Name
+SampleExpanderSWI               EQU     &0000111B
+SampleExpanderSWI_Base          EQU     &000446C0
+SampleExpanderSWI_Name          SETS    "SampleExpander"
+
+                                GBLS    MirrorSupportSWI_Name
+MirrorSupportSWI                EQU     &0000111D
+MirrorSupportSWI_Base           EQU     &00044740
+MirrorSupportSWI_Name           SETS    "MirrorSupport"
+
+                                GBLS    FSLockSWI_Name
+FSLockSWI                       EQU     &0000111E
+FSLockSWI_Base                  EQU     &00044780
+FSLockSWI_Name                  SETS    "FSLock"
+
+                                GBLS    ISCSFSSWI_Name
+ISCSFSSWI                       EQU     &00001125
+ISCSFSSWI_Base                  EQU     &00044940
+ISCSFSSWI_Name                  SETS    "ISCSFS"
+
+                                GBLS    OldSCSIFSSWI_Name
+OldSCSIFSSWI                    EQU     &00001126
+OldSCSIFSSWI_Base               EQU     &00044980
+OldSCSIFSSWI_Name               SETS    "oldSCSI"
+
+                                GBLS    DOSFSSWI_Name
+DOSFSSWI                        EQU     &0000112C
+DOSFSSWI_Base                   EQU     &00044B00
+DOSFSSWI_Name                   SETS    "DOSFS"
+
+                                GBLS    PFSSWI_Name
+PFSSWI                          EQU     &00001138
+PFSSWI_Base                     EQU     &00044E00
+PFSSWI_Name                     SETS    "PFS"
+
+                                GBLS    ToolboxSWI_Name
+ToolboxSWI                      EQU     &0000113B
+ToolboxSWI_Base                 EQU     &00044EC0
+ToolboxSWI_Name                 SETS    "Toolbox"
+
+                                GBLS    PrioritySWI_Name
+PrioritySWI                     EQU     &00001143
+PrioritySWI_Base                EQU     &000450C0
+PrioritySWI_Name                SETS    "Priority"
+
+                                GBLS    DDEPlainTextRectangleSWI_Name
+DDEPlainTextRectangleSWI        EQU     &00001152
+DDEPlainTextRectangleSWI_Base   EQU     &00045480
+DDEPlainTextRectangleSWI_Name   SETS    "CharData"
+
+                                GBLS    DDESpriteRectangleSWI_Name
+DDESpriteRectangleSWI           EQU     &00001153
+DDESpriteRectangleSWI_Base      EQU     &000454C0
+DDESpriteRectangleSWI_Name      SETS    "SpriteData"
+
+                                GBLS    DDERichTextRectangleSWI_Name
+DDERichTextRectangleSWI         EQU     &00001154
+DDERichTextRectangleSWI_Base    EQU     &00045500
+DDERichTextRectangleSWI_Name    SETS    "TextData"
+
+                                GBLS    DDEDrawRectangleSWI_Name
+DDEDrawRectangleSWI             EQU     &00001155
+DDEDrawRectangleSWI_Base        EQU     &00045540
+DDEDrawRectangleSWI_Name        SETS    "DrawData"
+
+                                GBLS    VMManagerSWI_Name
+VMManagerSWI                    EQU     &00001172
+VMManagerSWI_Base               EQU     &00045C80
+VMManagerSWI_Name               SETS    "VMManager"
+
+                                GBLS    RegionSWI_Name
+RegionSWI                       EQU     &0000117C
+RegionSWI_Base                  EQU     &00045F00
+RegionSWI_Name                  SETS    "Region"
+
+                                GBLS    DMAManagerSWI_Name
+DMAManagerSWI                   EQU     &00001185
+DMAManagerSWI_Base              EQU     &00046140
+DMAManagerSWI_Name              SETS    "DMA"
+
+                                GBLS    PhotoCDSWI_Name
+PhotoCDSWI                      EQU     &000011BD
+PhotoCDSWI_Base                 EQU     &00046F40
+PhotoCDSWI_Name                 SETS    "PhotoCD"
+
+                                GBLS    ROMEmulatorSWI_Name
+ROMEmulatorSWI                  EQU     &000011C9
+ROMEmulatorSWI_Base             EQU     &00047240
+ROMEmulatorSWI_Name             SETS    "ROMulator"
+
+                                GBLS    ScreenTricksSWI_Name
+ScreenTricksSWI                 EQU     &000011CE
+ScreenTricksSWI_Base            EQU     &00047380
+ScreenTricksSWI_Name            SETS    "ScreenTricks"
+
+                                GBLS    PCMCIASWI_Name
+PCMCIASWI                       EQU     &000011D4
+PCMCIASWI_Base                  EQU     &00047500
+PCMCIASWI_Name                  SETS    "PCMCIA"
+
+                                GBLS    PCCardFSSWI_Name
+PCCardFSSWI                     EQU     &000011D5
+PCCardFSSWI_Base                EQU     &00047540
+PCCardFSSWI_Name                SETS    "PCCardFS"
+
+                                GBLS    ColourPickerSWI_Name
+ColourPickerSWI                 EQU     &000011DC
+ColourPickerSWI_Base            EQU     &00047700
+ColourPickerSWI_Name            SETS    "ColourPicker"
+
+                                GBLS    FreewaySWI_Name
+FreewaySWI                      EQU     &000011EA
+FreewaySWI_Base                 EQU     &00047A80
+FreewaySWI_Name                 SETS    "Freeway"
+
+                                GBLS    ShareDSWI_Name
+ShareDSWI                       EQU     &000011EB
+ShareDSWI_Base                  EQU     &00047AC0
+ShareDSWI_Name                  SETS    "ShareD"
+
+                                GBLS    RemotePrinterSupportSWI_Name
+RemotePrinterSupportSWI         EQU     &000011F0
+RemotePrinterSupportSWI_Base    EQU     &00047C00
+RemotePrinterSupportSWI_Name    SETS    "RemotePrinterSupport"
+
+                                GBLS    ScreenModesSWI_Name
+ScreenModesSWI                  EQU     &0000121F
+ScreenModesSWI_Base             EQU     &000487C0
+ScreenModesSWI_Name             SETS    "ScreenModes"
+
+                                GBLS    MPEGControlSWI_Name
+MPEGControlSWI                  EQU     &0000124B
+MPEGControlSWI_Base             EQU     &000492C0
+MPEGControlSWI_Name             SETS    "MPEGControl"
+
+                                GBLS    MPEGVideoSWI_Name
+MPEGVideoSWI                    EQU     &0000124C
+MPEGVideoSWI_Base               EQU     &00049300
+MPEGVideoSWI_Name               SETS    "MPEGVideo"
+
+                                GBLS    MPEGAudioSWI_Name
+MPEGAudioSWI                    EQU     &0000124D
+MPEGAudioSWI_Base               EQU     &00049340
+MPEGAudioSWI_Name               SETS    "MPEGAudio"
+
+                                GBLS    WhereSupportSWI_Name
+WhereSupportSWI                 EQU     &0000125A
+WhereSupportSWI_Base            EQU     &00049680
+WhereSupportSWI_Name            SETS    "WhereSupport"
+
+                                GBLS    SpriteExtendJPEGSWI_Name
+SpriteExtendJPEGSWI             EQU     &00001266
+SpriteExtendJPEGSWI_Base        EQU     &00049980
+SpriteExtendJPEGSWI_Name        SETS    "JPEG"
+
+                                GBLS    VisualiseSWI_Name
+VisualiseSWI                    EQU     &0000126F
+VisualiseSWI_Base               EQU     &00049BC0
+VisualiseSWI_Name               SETS    "Visualise"
+
+                                GBLS    ServiceLoggerSWI_Name
+ServiceLoggerSWI                EQU     &00001270
+ServiceLoggerSWI_Base           EQU     &00049C00
+ServiceLoggerSWI_Name           SETS    "ServiceLogger"
+
+                                GBLS    DragAnObjectSWI_Name
+DragAnObjectSWI                 EQU     &00001271
+DragAnObjectSWI_Base            EQU     &00049C40
+DragAnObjectSWI_Name            SETS    "DragAnObject"
+
+                                GBLS    NKelleherRerserved1SWI_Name
+NKelleherRerserved1SWI          EQU     &00001272
+NKelleherRerserved1SWI_Base     EQU     &00049C80
+NKelleherRerserved1SWI_Name     SETS    "NKelleherRerserved1"
+
+                                GBLS    NKelleherRerserved2SWI_Name
+NKelleherRerserved2SWI          EQU     &00001273
+NKelleherRerserved2SWI_Base     EQU     &00049CC0
+NKelleherRerserved2SWI_Name     SETS    "NKelleherRerserved2"
+
+                                GBLS    NKelleherRerserved3SWI_Name
+NKelleherRerserved3SWI          EQU     &00001274
+NKelleherRerserved3SWI_Base     EQU     &00049D00
+NKelleherRerserved3SWI_Name     SETS    "NKelleherRerserved3"
+
+                                GBLS    NKelleherRerserved4SWI_Name
+NKelleherRerserved4SWI          EQU     &00001275
+NKelleherRerserved4SWI_Base     EQU     &00049D40
+NKelleherRerserved4SWI_Name     SETS    "NKelleherRerserved4"
+
+                                GBLS    NKelleherRerserved5SWI_Name
+NKelleherRerserved5SWI          EQU     &00001276
+NKelleherRerserved5SWI_Base     EQU     &00049D80
+NKelleherRerserved5SWI_Name     SETS    "NKelleherRerserved5"
+
+                                GBLS    NKelleherRerserved6SWI_Name
+NKelleherRerserved6SWI          EQU     &00001277
+NKelleherRerserved6SWI_Base     EQU     &00049DC0
+NKelleherRerserved6SWI_Name     SETS    "NKelleherRerserved6"
+
+                                GBLS    NKelleherRerserved7SWI_Name
+NKelleherRerserved7SWI          EQU     &00001278
+NKelleherRerserved7SWI_Base     EQU     &00049E00
+NKelleherRerserved7SWI_Name     SETS    "NKelleherRerserved7"
+
+                                GBLS    NKelleherRerserved8SWI_Name
+NKelleherRerserved8SWI          EQU     &00001279
+NKelleherRerserved8SWI_Base     EQU     &00049E40
+NKelleherRerserved8SWI_Name     SETS    "NKelleherRerserved8"
+
+                                GBLS    NKelleherRerserved9SWI_Name
+NKelleherRerserved9SWI          EQU     &0000127A
+NKelleherRerserved9SWI_Base     EQU     &00049E80
+NKelleherRerserved9SWI_Name     SETS    "NKelleherRerserved9"
+
+                                GBLS    NKelleherRerserved10SWI_Name
+NKelleherRerserved10SWI         EQU     &0000127B
+NKelleherRerserved10SWI_Base    EQU     &00049EC0
+NKelleherRerserved10SWI_Name    SETS    "NKelleherRerserved10"
+
+                                GBLS    OmniMediaSWI_Name
+OmniMediaSWI                    EQU     &0000127D
+OmniMediaSWI_Base               EQU     &00049F40
+OmniMediaSWI_Name               SETS    "OmniMedia"
+
+                                GBLS    MIMICControlSWI_Name
+MIMICControlSWI                 EQU     &0000127F
+MIMICControlSWI_Base            EQU     &00049FC0
+MIMICControlSWI_Name            SETS    "MIMICControl"
+
+                                GBLS    MIMICTheaterSWI_Name
+MIMICTheaterSWI                 EQU     &00001280
+MIMICTheaterSWI_Base            EQU     &0004A000
+MIMICTheaterSWI_Name            SETS    "MIMICTheater"
+
+                                GBLS    CCTabletSWI_Name
+CCTabletSWI                     EQU     &00001281
+CCTabletSWI_Base                EQU     &0004A040
+CCTabletSWI_Name                SETS    "CCTablet"
+
+                                GBLS    FormulixSWI_Name
+FormulixSWI                     EQU     &00001282
+FormulixSWI_Base                EQU     &0004A080
+FormulixSWI_Name                SETS    "Formulix"
+
+                                GBLS    KeyUtilsSWI_Name
+KeyUtilsSWI                     EQU     &00001283
+KeyUtilsSWI_Base                EQU     &0004A0C0
+KeyUtilsSWI_Name                SETS    "KeyUtils"
+
+                                GBLS    DirectorSWI_Name
+DirectorSWI                     EQU     &00001284
+DirectorSWI_Base                EQU     &0004A100
+DirectorSWI_Name                SETS    "Director"
+
+                                GBLS    AdhesiveSWI_Name
+AdhesiveSWI                     EQU     &00001285
+AdhesiveSWI_Base                EQU     &0004A140
+AdhesiveSWI_Name                SETS    "Adhesive"
+
+                                GBLS    WimpBasicSWI_Name
+WimpBasicSWI                    EQU     &00001286
+WimpBasicSWI_Base               EQU     &0004A180
+WimpBasicSWI_Name               SETS    "WimpBasic"
+
+                                GBLS    TwainPDIFSWI_Name
+TwainPDIFSWI                    EQU     &00001287
+TwainPDIFSWI_Base               EQU     &0004A1C0
+TwainPDIFSWI_Name               SETS    "TwainPDIF"
+
+                                GBLS    ArcwebSWI_Name
+ArcwebSWI                       EQU     &00001289
+ArcwebSWI_Base                  EQU     &0004A240
+ArcwebSWI_Name                  SETS    "Arcweb"
+
+                                GBLS    CommanderSWI_Name
+CommanderSWI                    EQU     &0000128A
+CommanderSWI_Base               EQU     &0004A280
+CommanderSWI_Name               SETS    "Commander"
+
+                                GBLS    CompressJPEGSWI_Name
+CompressJPEGSWI                 EQU     &00001294
+CompressJPEGSWI_Base            EQU     &0004A500
+CompressJPEGSWI_Name            SETS    "CompressJPEG"
+
+                                GBLS    MbufManagerSWI_Name
+MbufManagerSWI                  EQU     &00001296
+MbufManagerSWI_Base             EQU     &0004A580
+MbufManagerSWI_Name             SETS    "MbufManager"
+
+                                GBLS    StreambufferSWI_Name
+StreambufferSWI                 EQU     &00001298
+StreambufferSWI_Base            EQU     &0004A600
+StreambufferSWI_Name            SETS    "Streambuffer"
+
+                                GBLS    ATAPISWI_Name
+ATAPISWI                        EQU     &0000129D
+ATAPISWI_Base                   EQU     &0004A740
+ATAPISWI_Name                   SETS    "ATAPI"
+
+                                GBLS    OILSSWI_Name
+OILSSWI                         EQU     &000012A3
+OILSSWI_Base                    EQU     &0004A8C0
+OILSSWI_Name                    SETS    "OILS"
+
+                                GBLS    SamplerSupportSWI_Name
+SamplerSupportSWI               EQU     &000012B7
+SamplerSupportSWI_Base          EQU     &0004ADC0
+SamplerSupportSWI_Name          SETS    "SamplerSupport"
+
+                                GBLS    TICSWI_Name
+TICSWI                          EQU     &000012B8
+TICSWI_Base                     EQU     &0004AE00
+TICSWI_Name                     SETS    "TIC"
+
+                                GBLS    TDAStoreSWI_Name
+TDAStoreSWI                     EQU     &000012C2
+TDAStoreSWI_Base                EQU     &0004B080
+TDAStoreSWI_Name                SETS    "TDAStore"
+
+                                GBLS    PPrimerSWI_Name
+PPrimerSWI                      EQU     &000012C4
+PPrimerSWI_Base                 EQU     &0004B100
+PPrimerSWI_Name                 SETS    "PPrimer"
+
+                                GBLS    STBStateSWI_Name
+STBStateSWI                     EQU     &000012D0
+STBStateSWI_Base                EQU     &0004B400
+STBStateSWI_Name                SETS    "STBState"
+
+                                GBLS    SharedSoundSWI_Name
+SharedSoundSWI                  EQU     &000012D1
+SharedSoundSWI_Base             EQU     &0004B440
+SharedSoundSWI_Name             SETS    "SharedSound"
+
+                                GBLS    MediaNetSWI_Name
+MediaNetSWI                     EQU     &000012D4
+MediaNetSWI_Base                EQU     &0004B500
+MediaNetSWI_Name                SETS    "MediaNet"
+
+                                GBLS    TimeShareSWI_Name
+TimeShareSWI                    EQU     &000012D5
+TimeShareSWI_Base               EQU     &0004B540
+TimeShareSWI_Name               SETS    "TimeShare"
+
+                                GBLS    TimeShareMIDISWI_Name
+TimeShareMIDISWI                EQU     &000012D6
+TimeShareMIDISWI_Base           EQU     &0004B580
+TimeShareMIDISWI_Name           SETS    "TimeShareMIDI"
+
+                                GBLS    MPEGQTSWI_Name
+MPEGQTSWI                       EQU     &000012D7
+MPEGQTSWI_Base                  EQU     &0004B5C0
+MPEGQTSWI_Name                  SETS    "MPEGQT"
+
+                                GBLS    PPPDSWI_Name
+PPPDSWI                         EQU     &000012D8
+PPPDSWI_Base                    EQU     &0004B600
+PPPDSWI_Name                    SETS    "PPPD"
+
+                                GBLS    TimeShareSMPTESWI_Name
+TimeShareSMPTESWI               EQU     &000012D9
+TimeShareSMPTESWI_Base          EQU     &0004B640
+TimeShareSMPTESWI_Name          SETS    "TimeShareSMPTE"
+
+                                GBLS    CDSupportSWI_Name
+CDSupportSWI                    EQU     &000012DA
+CDSupportSWI_Base               EQU     &0004B680
+CDSupportSWI_Name               SETS    "CDSupport"
+
+                                GBLS    CDMgrSWI_Name
+CDMgrSWI                        EQU     &000012DD
+CDMgrSWI_Base                   EQU     &0004B740
+CDMgrSWI_Name                   SETS    "CDMgr"
+
+                                GBLS    TestCoordSWI_Name
+TestCoordSWI                    EQU     &000012E1
+TestCoordSWI_Base               EQU     &0004B840
+TestCoordSWI_Name               SETS    "TestCoord"
+
+                                GBLS    TestLoggerSWI_Name
+TestLoggerSWI                   EQU     &000012E2
+TestLoggerSWI_Base              EQU     &0004B880
+TestLoggerSWI_Name              SETS    "TestLogger"
+
+                                GBLS    DebugItSWI_Name
+DebugItSWI                      EQU     &000012EA
+DebugItSWI_Base                 EQU     &0004BA80
+DebugItSWI_Name                 SETS    "DebugIt"
+
+                                GBLS    CDFSSWI_Name
+CDFSSWI                         EQU     &000012F8
+CDFSSWI_Base                    EQU     &0004BE00
+CDFSSWI_Name                    SETS    "CDFS"                ; Possible name clash
+
+                                GBLS    TypeMapSWI_Name
+TypeMapSWI                      EQU     &000012F9
+TypeMapSWI_Base                 EQU     &0004BE40
+TypeMapSWI_Name                 SETS    "TypeMap"
+
+                                GBLS    InverseTableSWI_Name
+InverseTableSWI                 EQU     &000012FD
+InverseTableSWI_Base            EQU     &0004BF40
+InverseTableSWI_Name            SETS    "InverseTable"
+
+                                GBLS    DVBControlSWI_Name
+DVBControlSWI                   EQU     &00001311
+DVBControlSWI_Base              EQU     &0004C440
+DVBControlSWI_Name              SETS    "DVBControl"
+
+                                GBLS    CamTrialSWI_Name
+CamTrialSWI                     EQU     &00001318
+CamTrialSWI_Base                EQU     &0004C600
+CamTrialSWI_Name                SETS    "CamTrial"
+
+                                GBLS    DiallerSWI_Name
+DiallerSWI                      EQU     &0000131B
+DiallerSWI_Base                 EQU     &0004C6C0
+DiallerSWI_Name                 SETS    "Dialler"
+
+                                GBLS    LocatorSWI_Name
+LocatorSWI                      EQU     &0000131D
+LocatorSWI_Base                 EQU     &0004C740
+LocatorSWI_Name                 SETS    "Locator"
+
+                                GBLS    StandbySWI_Name
+StandbySWI                      EQU     &0000131F
+StandbySWI_Base                 EQU     &0004C7C0
+StandbySWI_Name                 SETS    "Standby"
+
+                                GBLS    ClipSWI_Name
+ClipSWI                         EQU     &00001320
+ClipSWI_Base                    EQU     &0004C800
+ClipSWI_Name                    SETS    "Clip"
+
+                                GBLS    SoundInputSWI_Name
+SoundInputSWI                   EQU     &00001325
+SoundInputSWI_Base              EQU     &0004C940
+SoundInputSWI_Name              SETS    "SoundInput"
+
+                                GBLS    CacheManagerSWI_Name
+CacheManagerSWI                 EQU     &0000133D
+CacheManagerSWI_Base            EQU     &0004CF40
+CacheManagerSWI_Name            SETS    "CacheManager"
+
+                                GBLS    CacheFSSWI_Name
+CacheFSSWI                      EQU     &0000133F
+CacheFSSWI_Base                 EQU     &0004CFC0
+CacheFSSWI_Name                 SETS    "CacheFS"
+
+                                GBLS    AudioManagerSWI_Name
+AudioManagerSWI                 EQU     &00001342
+AudioManagerSWI_Base            EQU     &0004D080
+AudioManagerSWI_Name            SETS    "AudioManager"
+
+                                GBLS    AppPatchSWI_Name
+AppPatchSWI                     EQU     &00001346
+AppPatchSWI_Base                EQU     &0004D180
+AppPatchSWI_Name                SETS    "AppPatch"
+
+                                GBLS    FileWatchSWI_Name
+FileWatchSWI                    EQU     &00001349
+FileWatchSWI_Base               EQU     &0004D240
+FileWatchSWI_Name               SETS    "FileWatch"
+
+                                GBLS    TaskModuleSWI_Name
+TaskModuleSWI                   EQU     &0000134C
+TaskModuleSWI_Base              EQU     &0004D300
+TaskModuleSWI_Name              SETS    "TaskModule"
+
+                                GBLS    SCInterfaceSWI_Name
+SCInterfaceSWI                  EQU     &0000134D
+SCInterfaceSWI_Base             EQU     &0004D340
+SCInterfaceSWI_Name             SETS    "SCInterface"
+
+                                GBLS    NCRegistrySWI_Name
+NCRegistrySWI                   EQU     &0000134E
+NCRegistrySWI_Base              EQU     &0004D380
+NCRegistrySWI_Name              SETS    "NCRegistry"
+
+                                GBLS    NCRegistrySupportSWI_Name
+NCRegistrySupportSWI            EQU     &0000134F
+NCRegistrySupportSWI_Base       EQU     &0004D3C0
+NCRegistrySupportSWI_Name       SETS    "NCRegistrySupport"
+
+                                GBLS    SCTransportSWI_Name
+SCTransportSWI                  EQU     &00001350
+SCTransportSWI_Base             EQU     &0004D400
+SCTransportSWI_Name             SETS    "SCTransport"
+
+                                GBLS    ModeFilesSWI_Name
+ModeFilesSWI                    EQU     &00001352
+ModeFilesSWI_Base               EQU     &0004D480
+ModeFilesSWI_Name               SETS    "ModeFiles"
+
+                                GBLS    MacrovisionSWI_Name
+MacrovisionSWI                  EQU     &00001355
+MacrovisionSWI_Base             EQU     &0004D540
+MacrovisionSWI_Name             SETS    "Macrovision"
+
+                                GBLS    FlashSWI_Name
+FlashSWI                        EQU     &00001359
+FlashSWI_Base                   EQU     &0004D640
+FlashSWI_Name                   SETS    "Flash"
+
+                                GBLS    JavaSupportSWI_Name
+JavaSupportSWI                  EQU     &0000135A
+JavaSupportSWI_Base             EQU     &0004D680
+JavaSupportSWI_Name             SETS    "JavaSupport"
+
+                                GBLS    ReplayXObjSWI_Name
+ReplayXObjSWI                   EQU     &0000136C
+ReplayXObjSWI_Base              EQU     &0004DB00
+ReplayXObjSWI_Name              SETS    "ReplayXObj"
+
+                                GBLS    InputMethodSWI_Name
+InputMethodSWI                  EQU     &00001371
+InputMethodSWI_Base             EQU     &0004DC40
+InputMethodSWI_Name             SETS    "InputMethod"
+
+                                GBLS    OVSSWI_Name
+OVSSWI                          EQU     &00001372
+OVSSWI_Base                     EQU     &0004DC80
+OVSSWI_Name                     SETS    "OVS"
+
+                                GBLS    MSCPSWI_Name
+MSCPSWI                         EQU     &0000137D
+MSCPSWI_Base                    EQU     &0004DF40
+MSCPSWI_Name                    SETS    "MSCP"
+
+                                GBLS    CAMSWI_Name
+CAMSWI                          EQU     &0000137F
+CAMSWI_Base                     EQU     &0004DFC0
+CAMSWI_Name                     SETS    "CAM"
+
+                                GBLS    ClipboardSWI_Name
+ClipboardSWI                    EQU     &00001380
+ClipboardSWI_Base               EQU     &0004E000
+ClipboardSWI_Name               SETS    "Clipboard"
+
+                                GBLS    URISWI_Name
+URISWI                          EQU     &0000138E
+URISWI_Base                     EQU     &0004E380
+URISWI_Name                     SETS    "URI"
+
+                                GBLS    AcornNNTPSWI_Name
+AcornNNTPSWI                    EQU     &00001393
+AcornNNTPSWI_Base               EQU     &0004E4C0
+AcornNNTPSWI_Name               SETS    "AcornNNTP"
+
+                                GBLS    AcornSMTPSWI_Name
+AcornSMTPSWI                    EQU     &00001394
+AcornSMTPSWI_Base               EQU     &0004E500
+AcornSMTPSWI_Name               SETS    "AcornSMTP"
+
+                                GBLS    AcornPOP3SWI_Name
+AcornPOP3SWI                    EQU     &00001395
+AcornPOP3SWI_Base               EQU     &0004E540
+AcornPOP3SWI_Name               SETS    "AcornPOP3"
+
+                                GBLS    AcornIMAP4SWI_Name
+AcornIMAP4SWI                   EQU     &00001396
+AcornIMAP4SWI_Base              EQU     &0004E580
+AcornIMAP4SWI_Name              SETS    "AcornIMAP4"
+
+                                GBLS    ScreenFadeSWI_Name
+ScreenFadeSWI                   EQU     &00001397
+ScreenFadeSWI_Base              EQU     &0004E5C0
+ScreenFadeSWI_Name              SETS    "ScreenFade"
+
+                                GBLS    MPEGStreamSWI_Name
+MPEGStreamSWI                   EQU     &00001398
+MPEGStreamSWI_Base              EQU     &0004E600
+MPEGStreamSWI_Name              SETS    "MPEGStream"
+
+                                GBLS    IconHighSWI_Name
+IconHighSWI                     EQU     &0000139C
+IconHighSWI_Base                EQU     &0004E700
+IconHighSWI_Name                SETS    "IconHigh"
+
+                                GBLS    NVMemFSSWI_Name
+NVMemFSSWI                      EQU     &000013A1
+NVMemFSSWI_Base                 EQU     &0004E840
+NVMemFSSWI_Name                 SETS    "NVMemFS"
+
+                                GBLS    NCDialUISWI_Name
+NCDialUISWI                     EQU     &000013A2
+NCDialUISWI_Base                EQU     &0004E880
+NCDialUISWI_Name                SETS    "NCDialUI"
+
+                                GBLS    KeyWatchSWI_Name
+KeyWatchSWI                     EQU     &000013A5
+KeyWatchSWI_Base                EQU     &0004E940
+KeyWatchSWI_Name                SETS    "KeyWatch"
+
+                                GBLS    CSFSSWI_Name
+CSFSSWI                         EQU     &000013A6
+CSFSSWI_Base                    EQU     &0004E980
+CSFSSWI_Name                    SETS    "CSFS"
+
+                                GBLS    CronSWI_Name
+CronSWI                         EQU     &000013A9
+CronSWI_Base                    EQU     &0004EA40
+CronSWI_Name                    SETS    "Cron"
+
+                                GBLS    Mscp_XObjSWI_Name
+Mscp_XObjSWI                    EQU     &000013AA
+Mscp_XObjSWI_Base               EQU     &0004EA80
+Mscp_XObjSWI_Name               SETS    "Mscp_XObj"
+
+                                GBLS    MPEGCtrl_XObjSWI_Name
+MPEGCtrl_XObjSWI                EQU     &000013AB
+MPEGCtrl_XObjSWI_Base           EQU     &0004EAC0
+MPEGCtrl_XObjSWI_Name           SETS    "MPEGCtrl_XObj"
+
+                                GBLS    VideoPumpSWI_Name
+VideoPumpSWI                    EQU     &000013AC
+VideoPumpSWI_Base               EQU     &0004EB00
+VideoPumpSWI_Name               SETS    "VideoPump"
+
+                                GBLS    SwipeCardSWI_Name
+SwipeCardSWI                    EQU     &000013AD
+SwipeCardSWI_Base               EQU     &0004EB40
+SwipeCardSWI_Name               SETS    "SwipeCard"
+
+                                GBLS    LEDSWI_Name
+LEDSWI                          EQU     &000013AF
+LEDSWI_Base                     EQU     &0004EBC0
+LEDSWI_Name                     SETS    "LED"
+
+                                GBLS    NCDialSWI_Name
+NCDialSWI                       EQU     &000013B0
+NCDialSWI_Base                  EQU     &0004EC00
+NCDialSWI_Name                  SETS    "NCDial"
+
+                                GBLS    MPEGSend_XObjSWI_Name
+MPEGSend_XObjSWI                EQU     &000013B3
+MPEGSend_XObjSWI_Base           EQU     &0004ECC0
+MPEGSend_XObjSWI_Name           SETS    "MPEGSend_XObj"
+
+                                GBLS    MPEGAudioEncodeSWI_Name
+MPEGAudioEncodeSWI              EQU     &000013B4
+MPEGAudioEncodeSWI_Base         EQU     &0004ED00
+MPEGAudioEncodeSWI_Name         SETS    "MPEGAudioEncode"
+
+                                GBLS    NVRAMSWI_Name
+NVRAMSWI                        EQU     &000013B8
+NVRAMSWI_Base                   EQU     &0004EE00
+NVRAMSWI_Name                   SETS    "NVRAM"
+
+                                GBLS    SurfBoardSWI_Name
+SurfBoardSWI                    EQU     &000013B9
+SurfBoardSWI_Base               EQU     &0004EE40
+SurfBoardSWI_Name               SETS    "SurfBoard"
+
+                                GBLS    IRDirectorSWI_Name
+IRDirectorSWI                   EQU     &000013BC
+IRDirectorSWI_Base              EQU     &0004EF00
+IRDirectorSWI_Name              SETS    "IRDirector"
+
+                                GBLS    SoundFXSWI_Name
+SoundFXSWI                      EQU     &000013BD
+SoundFXSWI_Base                 EQU     &0004EF40
+SoundFXSWI_Name                 SETS    "SoundFX"
+
+                                GBLS    FilePlaySWI_Name
+FilePlaySWI                     EQU     &000013BE
+FilePlaySWI_Base                EQU     &0004EF80
+FilePlaySWI_Name                SETS    "FilePlay"
+
+                                GBLS    NCAccessManagerSWI_Name
+NCAccessManagerSWI              EQU     &000013C0
+NCAccessManagerSWI_Base         EQU     &0004F000
+NCAccessManagerSWI_Name         SETS    "NCAccessManager"
+
+                                GBLS    IRBlastSWI_Name
+IRBlastSWI                      EQU     &000013C1
+IRBlastSWI_Base                 EQU     &0004F040
+IRBlastSWI_Name                 SETS    "IRBlast"
+
+                                GBLS    JavaSWI_Name
+JavaSWI                         EQU     &000013C2
+JavaSWI_Base                    EQU     &0004F080
+JavaSWI_Name                    SETS    "Java"
+
+                                GBLS    GCSWI_Name
+GCSWI                           EQU     &000013C3
+GCSWI_Base                      EQU     &0004F0C0
+GCSWI_Name                      SETS    "GC"
+
+                                GBLS    LibrarySWI_Name
+LibrarySWI                      EQU     &000013C5
+LibrarySWI_Base                 EQU     &0004F140
+LibrarySWI_Name                 SETS    "Library"
+
+                                GBLS    RCAIRBlastSWI_Name
+RCAIRBlastSWI                   EQU     &000013C6
+RCAIRBlastSWI_Base              EQU     &0004F180
+RCAIRBlastSWI_Name              SETS    "RCAIRBlast"
+
+                                GBLS    NCBootBlockSWI_Name
+NCBootBlockSWI                  EQU     &000013CE
+NCBootBlockSWI_Base             EQU     &0004F380
+NCBootBlockSWI_Name             SETS    "NCBootBlock"
+
+                                GBLS    SerialFlashSWI_Name
+SerialFlashSWI                  EQU     &000013D5
+SerialFlashSWI_Base             EQU     &0004F540
+SerialFlashSWI_Name             SETS    "SerialFlash"
+
+                                GBLS    UnqiueIDSWI_Name
+UnqiueIDSWI                     EQU     &000013D6
+UnqiueIDSWI_Base                EQU     &0004F580
+UnqiueIDSWI_Name                SETS    "UnqiueID"
+
+                                GBLS    PDebugRSWI_Name
+PDebugRSWI                      EQU     &000013D7
+PDebugRSWI_Base                 EQU     &0004F5C0
+PDebugRSWI_Name                 SETS    "PDebugR"
+
+                                GBLS    AuthenticateSWI_Name
+AuthenticateSWI                 EQU     &000013D9
+AuthenticateSWI_Base            EQU     &0004F640
+AuthenticateSWI_Name            SETS    "Authenticate"
+
+                                GBLS    WideFontRendererSWI_Name
+WideFontRendererSWI             EQU     &000013DA
+WideFontRendererSWI_Base        EQU     &0004F680
+WideFontRendererSWI_Name        SETS    "WideFontRenderer"
+
+                                GBLS    DaytonaHWSWI_Name
+DaytonaHWSWI                    EQU     &000013DF
+DaytonaHWSWI_Base               EQU     &0004F7C0
+DaytonaHWSWI_Name               SETS    "DaytonaHW"
+
+                                GBLS    CLExtEditSWI_Name
+CLExtEditSWI                    EQU     &000013E1
+CLExtEditSWI_Base               EQU     &0004F840
+CLExtEditSWI_Name               SETS    "CLExtEdit"
+
+                                GBLS    PDebugMSWI_Name
+PDebugMSWI                      EQU     &000013E4
+PDebugMSWI_Base                 EQU     &0004F900
+PDebugMSWI_Name                 SETS    "PDebugM"
+
+                                GBLS    KeyExtendSWI_Name
+KeyExtendSWI                    EQU     &000013E5
+KeyExtendSWI_Base               EQU     &0004F940
+KeyExtendSWI_Name               SETS    "KeyExtend"
+
+                                GBLS    EnsureLineSWI_Name
+EnsureLineSWI                   EQU     &000013F1
+EnsureLineSWI_Base              EQU     &0004FC40
+EnsureLineSWI_Name              SETS    "EnsureLine"
+
+                                GBLS    TickerProfSWI_Name
+TickerProfSWI                   EQU     &000013FA
+TickerProfSWI_Base              EQU     &0004FE80
+TickerProfSWI_Name              SETS    "TickerProf"
+
+                                GBLS    SoundCtrlSWI_Name
+SoundCtrlSWI                    EQU     &00001400
+SoundCtrlSWI_Base               EQU     &00050000
+SoundCtrlSWI_Name               SETS    "SoundCtrl"
+
+                                GBLS    CipherSWI_Name
+CipherSWI                       EQU     &00001405
+CipherSWI_Base                  EQU     &00050140
+CipherSWI_Name                  SETS    "Cipher"
+
+                                GBLS    InputMethod2SWI_Name
+InputMethod2SWI                 EQU     &00001408
+InputMethod2SWI_Base            EQU     &00050200
+InputMethod2SWI_Name            SETS    "InputMethod2"
+
+                                GBLS    IRBlastResolverSWI_Name
+IRBlastResolverSWI              EQU     &0000140B
+IRBlastResolverSWI_Base         EQU     &000502C0
+IRBlastResolverSWI_Name         SETS    "IRBlastResolver"
+
+                                GBLS    PCISWI_Name
+PCISWI                          EQU     &0000140E
+PCISWI_Base                     EQU     &00050380
+PCISWI_Name                     SETS    "PCI"
+
+                                GBLS    FaxSupportSWI_Name
+FaxSupportSWI                   EQU     &00001412
+FaxSupportSWI_Base              EQU     &00050480
+FaxSupportSWI_Name              SETS    "FaxSupport"
+
+                                GBLS    usTimerSWI_Name
+usTimerSWI                      EQU     &00001413
+usTimerSWI_Base                 EQU     &000504C0
+usTimerSWI_Name                 SETS    "usTimer"
+
+                                GBLS    EtherISWI_Name
+EtherISWI                       EQU     &0000141E
+EtherISWI_Base                  EQU     &00050780
+EtherISWI_Name                  SETS    "EtherI"
+
+                                GBLS    SoundTfrSWI_Name
+SoundTfrSWI                     EQU     &00001422
+SoundTfrSWI_Base                EQU     &00050880
+SoundTfrSWI_Name                SETS    "SoundTfr"
+
+                                GBLS    GopherSWI_Name
+GopherSWI                       EQU     &00001423
+GopherSWI_Base                  EQU     &000508C0
+GopherSWI_Name                  SETS    "Gopher"
+
+                                GBLS    AppFlashSWI_Name
+AppFlashSWI                     EQU     &00001428
+AppFlashSWI_Base                EQU     &00050A00
+AppFlashSWI_Name                SETS    "AppFlash"
+
+                                GBLS    SFConfigManSWI_Name
+SFConfigManSWI                  EQU     &00001429
+SFConfigManSWI_Base             EQU     &00050A40
+SFConfigManSWI_Name             SETS    "SFConfigMan"
+
+                                GBLS    MimeMapperSWI_Name
+MimeMapperSWI                   EQU     &0000142C
+MimeMapperSWI_Base              EQU     &00050B00
+MimeMapperSWI_Name              SETS    "MimeMapper"
+
+                                GBLS    DiallerBSWI_Name
+DiallerBSWI                     EQU     &00001432
+DiallerBSWI_Base                EQU     &00050C80
+DiallerBSWI_Name                SETS    "DiallerB"
+
+                                GBLS    FlashFSSWI_Name
+FlashFSSWI                      EQU     &00001436
+FlashFSSWI_Base                 EQU     &00050D80
+FlashFSSWI_Name                 SETS    "FlashFS"
+
+                                GBLS    IODevicesSWI_Name
+IODevicesSWI                    EQU     &00001439
+IODevicesSWI_Base               EQU     &00050E40
+IODevicesSWI_Name               SETS    "IODevices"
+
+                                GBLS    WhoIsSWI_Name
+WhoIsSWI                        EQU     &0000143B
+WhoIsSWI_Base                   EQU     &00050EC0
+WhoIsSWI_Name                   SETS    "WhoIs"
+
+                                GBLS    FingerSWI_Name
+FingerSWI                       EQU     &0000143C
+FingerSWI_Base                  EQU     &00050F00
+FingerSWI_Name                  SETS    "Finger"
+
+                                GBLS    WAISSWI_Name
+WAISSWI                         EQU     &0000143D
+WAISSWI_Base                    EQU     &00050F40
+WAISSWI_Name                    SETS    "WAIS"
+
+                                GBLS    AcornSSLSWI_Name
+AcornSSLSWI                     EQU     &0000143E
+AcornSSLSWI_Base                EQU     &00050F80
+AcornSSLSWI_Name                SETS    "AcornSSL"
+
+                                GBLS    NewsSWI_Name
+NewsSWI                         EQU     &0000143F
+NewsSWI_Base                    EQU     &00050FC0
+NewsSWI_Name                    SETS    "News"
+
+                                GBLS    AVMPEGSWI_Name
+AVMPEGSWI                       EQU     &00001445
+AVMPEGSWI_Base                  EQU     &00051140
+AVMPEGSWI_Name                  SETS    "AVMPEG"
+
+                                GBLS    DayFlashManSWI_Name
+DayFlashManSWI                  EQU     &00001449
+DayFlashManSWI_Base             EQU     &00051240
+DayFlashManSWI_Name             SETS    "DayFlashMan"
+
+                                GBLS    MIDIMgrSWI_Name
+MIDIMgrSWI                      EQU     &0000144F
+MIDIMgrSWI_Base                 EQU     &000513C0
+MIDIMgrSWI_Name                 SETS    "MIDIMgr"
+
+                                GBLS    MIDIClkSWI_Name
+MIDIClkSWI                      EQU     &00001450
+MIDIClkSWI_Base                 EQU     &00051400
+MIDIClkSWI_Name                 SETS    "MIDIClk"
+
+                                GBLS    PIPSWI_Name
+PIPSWI                          EQU     &0000145E
+PIPSWI_Base                     EQU     &00051780
+PIPSWI_Name                     SETS    "PIP"
+
+                                GBLS    MPU401SWI_Name
+MPU401SWI                       EQU     &0000146F
+MPU401SWI_Base                  EQU     &00051BC0
+MPU401SWI_Name                  SETS    "MPU401"
+
+                                GBLS    DAHeapSWI_Name
+DAHeapSWI                       EQU     &00001475
+DAHeapSWI_Base                  EQU     &00051D40
+DAHeapSWI_Name                  SETS    "DAHeap"
+
+                                GBLS    OTPSWI_Name
+OTPSWI                          EQU     &00001489
+OTPSWI_Base                     EQU     &00052240
+OTPSWI_Name                     SETS    "OTP"
+
+                                GBLS    RC5PCSWI_Name
+RC5PCSWI                        EQU     &0000148F
+RC5PCSWI_Base                   EQU     &000523C0
+RC5PCSWI_Name                   SETS    "RC5PC"
+
+                                GBLS    IMESWI_Name
+IMESWI                          EQU     &00001493
+IMESWI_Base                     EQU     &000524C0
+IMESWI_Name                     SETS    "IME"
+
+                                GBLS    JapanIMESWI_Name
+JapanIMESWI                     EQU     &00001494
+JapanIMESWI_Base                EQU     &00052500
+JapanIMESWI_Name                SETS    "JapanIME"
+
+                                GBLS    ReMIDISupportSWI_Name
+ReMIDISupportSWI                EQU     &00001495
+ReMIDISupportSWI_Base           EQU     &00052540
+ReMIDISupportSWI_Name           SETS    "ReMIDISupport"
+
+                                GBLS    MPEGSystemSWI_Name
+MPEGSystemSWI                   EQU     &000014A0
+MPEGSystemSWI_Base              EQU     &00052800
+MPEGSystemSWI_Name              SETS    "MPEGSystem"
+
+                                GBLS    MPEGTransportSWI_Name
+MPEGTransportSWI                EQU     &000014A1
+MPEGTransportSWI_Base           EQU     &00052840
+MPEGTransportSWI_Name           SETS    "MPEGTransport"
+
+                                GBLS    MessageQueueSWI_Name
+MessageQueueSWI                 EQU     &000014A2
+MessageQueueSWI_Base            EQU     &00052880
+MessageQueueSWI_Name            SETS    "MessageQueue"
+
+                                GBLS    Net2TransStreamSWI_Name
+Net2TransStreamSWI              EQU     &000014AE
+Net2TransStreamSWI_Base         EQU     &00052B80
+Net2TransStreamSWI_Name         SETS    "Net2TransStream"
+
+                                GBLS    PortManSWI_Name
+PortManSWI                      EQU     &000014B6
+PortManSWI_Base                 EQU     &00052D80
+PortManSWI_Name                 SETS    "PortMan"
+
+                                GBLS    TrapErrorSWI_Name
+TrapErrorSWI                    EQU     &000014B7
+TrapErrorSWI_Base               EQU     &00052DC0
+TrapErrorSWI_Name               SETS    "TrapError"
+
+                                GBLS    DHCPSWI_Name
+DHCPSWI                         EQU     &000014BA
+DHCPSWI_Base                    EQU     &00052E80
+DHCPSWI_Name                    SETS    "DHCP"
+
+                                GBLS    StreamerIOSWI_Name
+StreamerIOSWI                   EQU     &000014BC
+StreamerIOSWI_Base              EQU     &00052F00
+StreamerIOSWI_Name              SETS    "StreamerIO"
+
+                                GBLS    DADebugSWI_Name
+DADebugSWI                      EQU     &000014C7
+DADebugSWI_Base                 EQU     &000531C0
+DADebugSWI_Name                 SETS    "DADebug"
+
+                                GBLS    VideoControlSWI_Name
+VideoControlSWI                 EQU     &000014D4
+VideoControlSWI_Base            EQU     &00053500
+VideoControlSWI_Name            SETS    "VideoControl"
+
+                                GBLS    RTSPGenericSWI_Name
+RTSPGenericSWI                  EQU     &000014D5
+RTSPGenericSWI_Base             EQU     &00053540
+RTSPGenericSWI_Name             SETS    "RTSPGeneric"
+
+                                GBLS    RTSPOVSSWI_Name
+RTSPOVSSWI                      EQU     &000014D6
+RTSPOVSSWI_Base                 EQU     &00053580
+RTSPOVSSWI_Name                 SETS    "RTSPOVS"
+
+                                GBLS    MediaNetOVSSWI_Name
+MediaNetOVSSWI                  EQU     &000014D7
+MediaNetOVSSWI_Base             EQU     &000535C0
+MediaNetOVSSWI_Name             SETS    "MediaNetOVS"
+
+                                GBLS    SVBGenericSWI_Name
+SVBGenericSWI                   EQU     &000014EC
+SVBGenericSWI_Base              EQU     &00053B00
+SVBGenericSWI_Name              SETS    "SVBGeneric"
+
+                                GBLS    CheckURLSWI_Name
+CheckURLSWI                     EQU     &00001505
+CheckURLSWI_Base                EQU     &00054140
+CheckURLSWI_Name                SETS    "CheckURL"
+
+                                GBLS    LexmarkZ11SWI_Name
+LexmarkZ11SWI                   EQU     &00001515
+LexmarkZ11SWI_Base              EQU     &00054540
+LexmarkZ11SWI_Name              SETS    "LexmarkZ11"
+
+                                GBLS    LVFGenericSWI_Name
+LVFGenericSWI                   EQU     &00001520
+LVFGenericSWI_Base              EQU     &00054800
+LVFGenericSWI_Name              SETS    "LVFGeneric"
+
+                                GBLS    LDAPSWI_Name
+LDAPSWI                         EQU     &00001526
+LDAPSWI_Base                    EQU     &00054980
+LDAPSWI_Name                    SETS    "LDAP"
+
+                                GBLS    UserInactivitySWI_Name
+UserInactivitySWI               EQU     &00001527
+UserInactivitySWI_Base          EQU     &000549C0
+UserInactivitySWI_Name          SETS    "UserInactivity"
+
+                                GBLS    USBDriverSWI_Name
+USBDriverSWI                    EQU     &00001529
+USBDriverSWI_Base               EQU     &00054A40
+USBDriverSWI_Name               SETS    "USBDriver"
+
+                                GBLS    NetTimeSWI_Name
+NetTimeSWI                      EQU     &0000152B
+NetTimeSWI_Base                 EQU     &00054AC0
+NetTimeSWI_Name                 SETS    "NetTime"
+
+                                GBLS    PaceTouchScreenSWI_Name
+PaceTouchScreenSWI              EQU     &0000152D
+PaceTouchScreenSWI_Base         EQU     &00054B40
+PaceTouchScreenSWI_Name         SETS    "PaceTouchScreen"
+
+                                GBLS    LexmarkZ12SWI_Name
+LexmarkZ12SWI                   EQU     &0000152E
+LexmarkZ12SWI_Base              EQU     &00054B80
+LexmarkZ12SWI_Name              SETS    "LexmarkZ12"
+
+                                GBLS    ELFSWI_Name
+ELFSWI                          EQU     &00001534
+ELFSWI_Base                     EQU     &00054D00
+ELFSWI_Name                     SETS    "ELF"
+
+                                GBLS    RTSPMBSWI_Name
+RTSPMBSWI                       EQU     &00001538
+RTSPMBSWI_Base                  EQU     &00054E00
+RTSPMBSWI_Name                  SETS    "RTSPMB"
+
+                                GBLS    PRISMSWI_Name
+PRISMSWI                        EQU     &00001544
+PRISMSWI_Base                   EQU     &00055100
+PRISMSWI_Name                   SETS    "PRISM"
+
+                                GBLS    BrainLinkSWI_Name
+BrainLinkSWI                    EQU     &0000154A
+BrainLinkSWI_Base               EQU     &00055280
+BrainLinkSWI_Name               SETS    "BrainLink"
+
+                                GBLS    ConfigUpdateSWI_Name
+ConfigUpdateSWI                 EQU     &0000154D
+ConfigUpdateSWI_Base            EQU     &00055340
+ConfigUpdateSWI_Name            SETS    "ConfigUpdate"
+
+                                GBLS    AudioSwitchSWI_Name
+AudioSwitchSWI                  EQU     &00001551
+AudioSwitchSWI_Base             EQU     &00055440
+AudioSwitchSWI_Name             SETS    "AudioSwitch"
+
+                                GBLS    DebugToolsSWI_Name
+DebugToolsSWI                   EQU     &00001553
+DebugToolsSWI_Base              EQU     &000554C0
+DebugToolsSWI_Name              SETS    "DebugTools"
+
+                                GBLS    PTLGetSWI_Name
+PTLGetSWI                       EQU     &00001555
+PTLGetSWI_Base                  EQU     &00055540
+PTLGetSWI_Name                  SETS    "PTLGet"
+
+                                GBLS    PFCBufferSWI_Name
+PFCBufferSWI                    EQU     &00001556
+PFCBufferSWI_Base               EQU     &00055580
+PFCBufferSWI_Name               SETS    "PFCBuffer"
+
+                                GBLS    MHGenericSWI_Name
+MHGenericSWI                    EQU     &0000155A
+MHGenericSWI_Base               EQU     &00055680
+MHGenericSWI_Name               SETS    "MHGeneric"
+
+                                GBLS    RTSPMHSWI_Name
+RTSPMHSWI                       EQU     &0000155D
+RTSPMHSWI_Base                  EQU     &00055740
+RTSPMHSWI_Name                  SETS    "RTSPMH"
+
+                                GBLS    HTTPBBSWI_Name
+HTTPBBSWI                       EQU     &00001563
+HTTPBBSWI_Base                  EQU     &000558C0
+HTTPBBSWI_Name                  SETS    "HTTPBB"
+
+                                GBLS    PMonitorSWI_Name
+PMonitorSWI                     EQU     &0000156A
+PMonitorSWI_Base                EQU     &00055A80
+PMonitorSWI_Name                SETS    "PMonitor"
+
+                                GBLS    SendMessageSWI_Name
+SendMessageSWI                  EQU     &0000156B
+SendMessageSWI_Base             EQU     &00055AC0
+SendMessageSWI_Name             SETS    "SendMessage"
+
+                                GBLS    KoreaIMESWI_Name
+KoreaIMESWI                     EQU     &0000156C
+KoreaIMESWI_Base                EQU     &00055B00
+KoreaIMESWI_Name                SETS    "KoreaIME"
+
+                                GBLS    TaiwanIMESWI_Name
+TaiwanIMESWI                    EQU     &0000156F
+TaiwanIMESWI_Base               EQU     &00055BC0
+TaiwanIMESWI_Name               SETS    "TaiwanIME"
+
+                                GBLS    STBSplashSWI_Name
+STBSplashSWI                    EQU     &00001576
+STBSplashSWI_Base               EQU     &00055D80
+STBSplashSWI_Name               SETS    "STBSplash"
+
+                                GBLS    PFCClockSWI_Name
+PFCClockSWI                     EQU     &00001581
+PFCClockSWI_Base                EQU     &00056040
+PFCClockSWI_Name                SETS    "PFCClock"
+
+                                GBLS    PTLUnwrapSWI_Name
+PTLUnwrapSWI                    EQU     &000015CC
+PTLUnwrapSWI_Base               EQU     &00057300
+PTLUnwrapSWI_Name               SETS    "PTLUnwrap"
+
+                                GBLS    PFCIdentifySWI_Name
+PFCIdentifySWI                  EQU     &000015CD
+PFCIdentifySWI_Base             EQU     &00057340
+PFCIdentifySWI_Name             SETS    "PFCIdentify"
+
+                                GBLS    PFCPresentSWI_Name
+PFCPresentSWI                   EQU     &000015CE
+PFCPresentSWI_Base              EQU     &00057380
+PFCPresentSWI_Name              SETS    "PFCPresent"
+
+                                GBLS    PTLDecodeSWI_Name
+PTLDecodeSWI                    EQU     &000015CF
+PTLDecodeSWI_Base               EQU     &000573C0
+PTLDecodeSWI_Name               SETS    "PTLDecode"
+
+                                GBLS    PTLTransmitSWI_Name
+PTLTransmitSWI                  EQU     &000015D0
+PTLTransmitSWI_Base             EQU     &00057400
+PTLTransmitSWI_Name             SETS    "PTLTransmit"
+
+                                GBLS    RTSWI_Name
+RTSWI                           EQU     &000015D7
+RTSWI_Base                      EQU     &000575C0
+RTSWI_Name                      SETS    "RT"
+
+                                GBLS    PTLPutSWI_Name
+PTLPutSWI                       EQU     &00001607
+PTLPutSWI_Base                  EQU     &000581C0
+PTLPutSWI_Name                  SETS    "PTLPut"
+
+                                GBLS    HeapUtilsSWI_Name
+HeapUtilsSWI                    EQU     &00001609
+HeapUtilsSWI_Base               EQU     &00058240
+HeapUtilsSWI_Name               SETS    "HeapUtils"
+
+                                GBLS    DTTGenericSWI_Name
+DTTGenericSWI                   EQU     &0000160A
+DTTGenericSWI_Base              EQU     &00058280
+DTTGenericSWI_Name              SETS    "DTTGeneric"
+
+                                GBLS    ScreenFXSWI_Name
+ScreenFXSWI                     EQU     &00001611
+ScreenFXSWI_Base                EQU     &00058440
+ScreenFXSWI_Name                SETS    "ScreenFX"
+
+                                GBLS    KeyQueueSWI_Name
+KeyQueueSWI                     EQU     &00001612
+KeyQueueSWI_Base                EQU     &00058480
+KeyQueueSWI_Name                SETS    "KeyQueue"
+
+
+        ; Application SWI Chunks
+
+                                GBLS    MailSWI_Name
+MailSWI                         EQU     &00002000
+MailSWI_Base                    EQU     &00080000
+MailSWI_Name                    SETS    "Mail"
+
+                                GBLS    NetMonitorSWI_Name
+NetMonitorSWI                   EQU     &00002001
+NetMonitorSWI_Base              EQU     &00080040
+NetMonitorSWI_Name              SETS    "NetMonitor"
+
+                                GBLS    PrintSWI_Name
+PrintSWI                        EQU     &00002005
+PrintSWI_Base                   EQU     &00080140
+PrintSWI_Name                   SETS    "PDriver"
+
+                                GBLS    PCEmulationSWI_Name
+PCEmulationSWI                  EQU     &00002010
+PCEmulationSWI_Base             EQU     &00080400
+PCEmulationSWI_Name             SETS    "PCEmulation"
+
+                                GBLS    ROMCacheSWI_Name
+ROMCacheSWI                     EQU     &00002011
+ROMCacheSWI_Base                EQU     &00080440
+ROMCacheSWI_Name                SETS    "ROMCache"
+
+                                GBLS    CSharedLibrarySWI_Name
+CSharedLibrarySWI               EQU     &0000201A
+CSharedLibrarySWI_Base          EQU     &00080680
+CSharedLibrarySWI_Name          SETS    "SharedCLibrary"
+
+                                GBLS    TaskSWI_Name
+TaskSWI                         EQU     &00002023
+TaskSWI_Base                    EQU     &000808C0
+TaskSWI_Name                    SETS    "Task"                ; Possible name clash
+
+                                GBLS    TeletextSWI_Name
+TeletextSWI                     EQU     &00002035
+TeletextSWI_Base                EQU     &00080D40
+TeletextSWI_Name                SETS    "Teletext"
+
+                                GBLS    DDEThrowBackSWI_Name
+DDEThrowBackSWI                 EQU     &0000204F
+DDEThrowBackSWI_Base            EQU     &000813C0
+DDEThrowBackSWI_Name            SETS    "ThrowBack"
+
+                                GBLS    DDEFrontEndSWI_Name
+DDEFrontEndSWI                  EQU     &00002050
+DDEFrontEndSWI_Base             EQU     &00081400
+DDEFrontEndSWI_Name             SETS    "FrontEnd"
+
+                                GBLS    EddisonSWI_Name
+EddisonSWI                      EQU     &00002062
+EddisonSWI_Base                 EQU     &00081880
+EddisonSWI_Name                 SETS    "Eddison"
+
+QueryMessage                    EQU     &0000206F
+QueryMessage_Base               EQU     &00081BC0
+
+                                GBLS    ProbeSWI_Name
+ProbeSWI                        EQU     &00002074
+ProbeSWI_Base                   EQU     &00081D00
+ProbeSWI_Name                   SETS    "Probe"
+
+                                GBLS    PortsIfSWI_Name
+PortsIfSWI                      EQU     &00002075
+PortsIfSWI_Base                 EQU     &00081D40
+PortsIfSWI_Name                 SETS    "PortsIf"
+
+                                GBLS    ProfileSWI_Name
+ProfileSWI                      EQU     &0000207C
+ProfileSWI_Base                 EQU     &00081F00
+ProfileSWI_Name                 SETS    "Profile"
+
+PiscesMessage                   EQU     &00002084
+PiscesMessage_Base              EQU     &00082100
+
+                                GBLS    CLibSptSWI_Name
+CLibSptSWI                      EQU     &00002089
+CLibSptSWI_Base                 EQU     &00082240
+CLibSptSWI_Name                 SETS    "CLibSpt"
+
+                                GBLS    ColourChooserSWI_Name
+ColourChooserSWI                EQU     &0000208B
+ColourChooserSWI_Base           EQU     &000822C0
+ColourChooserSWI_Name           SETS    "ColourChooser"
+
+FRSMessage                      EQU     &0000208D
+FRSMessage_Base                 EQU     &00082340
+
+                                GBLS    ToolboxTestSWI_Name
+ToolboxTestSWI                  EQU     &000020A1
+ToolboxTestSWI_Base             EQU     &00082840
+ToolboxTestSWI_Name             SETS    "ToolboxTest"
+
+                                GBLS    WindowSWI_Name
+WindowSWI                       EQU     &000020A2
+WindowSWI_Base                  EQU     &00082880
+WindowSWI_Name                  SETS    "Window"
+
+                                GBLS    MenuSWI_Name
+MenuSWI                         EQU     &000020A3
+MenuSWI_Base                    EQU     &000828C0
+MenuSWI_Name                    SETS    "Menu"
+
+                                GBLS    IconbarSWI_Name
+IconbarSWI                      EQU     &000020A4
+IconbarSWI_Base                 EQU     &00082900
+IconbarSWI_Name                 SETS    "Iconbar"
+
+                                GBLS    PointersSWI_Name
+PointersSWI                     EQU     &000020A5
+PointersSWI_Base                EQU     &00082940
+PointersSWI_Name                SETS    "Pointers"
+
+                                GBLS    ColourMenuSWI_Name
+ColourMenuSWI                   EQU     &000020A6
+ColourMenuSWI_Base              EQU     &00082980
+ColourMenuSWI_Name              SETS    "ColourMenu"
+
+                                GBLS    ColourDboxSWI_Name
+ColourDboxSWI                   EQU     &000020A7
+ColourDboxSWI_Base              EQU     &000829C0
+ColourDboxSWI_Name              SETS    "ColourDbox"
+
+                                GBLS    FontDboxSWI_Name
+FontDboxSWI                     EQU     &000020A8
+FontDboxSWI_Base                EQU     &00082A00
+FontDboxSWI_Name                SETS    "FontDbox"
+
+                                GBLS    FontMenuSWI_Name
+FontMenuSWI                     EQU     &000020A9
+FontMenuSWI_Base                EQU     &00082A40
+FontMenuSWI_Name                SETS    "FontMenu"
+
+                                GBLS    DCSSWI_Name
+DCSSWI                          EQU     &000020AA
+DCSSWI_Base                     EQU     &00082A80
+DCSSWI_Name                     SETS    "DCS"
+
+                                GBLS    FileInfoSWI_Name
+FileInfoSWI                     EQU     &000020AB
+FileInfoSWI_Base                EQU     &00082AC0
+FileInfoSWI_Name                SETS    "FileInfo"
+
+                                GBLS    PrintDboxSWI_Name
+PrintDboxSWI                    EQU     &000020AC
+PrintDboxSWI_Base               EQU     &00082B00
+PrintDboxSWI_Name               SETS    "PrintDbox"
+
+                                GBLS    ProgInfoSWI_Name
+ProgInfoSWI                     EQU     &000020AD
+ProgInfoSWI_Base                EQU     &00082B40
+ProgInfoSWI_Name                SETS    "ProgInfo"
+
+                                GBLS    QuitSWI_Name
+QuitSWI                         EQU     &000020AE
+QuitSWI_Base                    EQU     &00082B80
+QuitSWI_Name                    SETS    "Quit"
+
+                                GBLS    SaveAsSWI_Name
+SaveAsSWI                       EQU     &000020AF
+SaveAsSWI_Base                  EQU     &00082BC0
+SaveAsSWI_Name                  SETS    "SaveAs"
+
+                                GBLS    ScaleSWI_Name
+ScaleSWI                        EQU     &000020B0
+ScaleSWI_Base                   EQU     &00082C00
+ScaleSWI_Name                   SETS    "Scale"
+
+                                GBLS    TinySupportSWI_Name
+TinySupportSWI                  EQU     &000020B1
+TinySupportSWI_Base             EQU     &00082C40
+TinySupportSWI_Name             SETS    "TinySupport"
+
+                                GBLS    RedrawSWI_Name
+RedrawSWI                       EQU     &000020B2
+RedrawSWI_Base                  EQU     &00082C80
+RedrawSWI_Name                  SETS    "Redraw"
+
+                                GBLS    AquariusReserved03SWI_Name
+AquariusReserved03SWI           EQU     &000020B3
+AquariusReserved03SWI_Base      EQU     &00082CC0
+AquariusReserved03SWI_Name      SETS    "AquariusReserved03"
+
+                                GBLS    AquariusReserved04SWI_Name
+AquariusReserved04SWI           EQU     &000020B4
+AquariusReserved04SWI_Base      EQU     &00082D00
+AquariusReserved04SWI_Name      SETS    "AquariusReserved04"
+
+                                GBLS    AquariusReserved05SWI_Name
+AquariusReserved05SWI           EQU     &000020B5
+AquariusReserved05SWI_Base      EQU     &00082D40
+AquariusReserved05SWI_Name      SETS    "AquariusReserved05"
+
+                                GBLS    AquariusReserved06SWI_Name
+AquariusReserved06SWI           EQU     &000020B6
+AquariusReserved06SWI_Base      EQU     &00082D80
+AquariusReserved06SWI_Name      SETS    "AquariusReserved06"
+
+                                GBLS    AquariusReserved07SWI_Name
+AquariusReserved07SWI           EQU     &000020B7
+AquariusReserved07SWI_Base      EQU     &00082DC0
+AquariusReserved07SWI_Name      SETS    "AquariusReserved07"
+
+                                GBLS    AquariusReserved08SWI_Name
+AquariusReserved08SWI           EQU     &000020B8
+AquariusReserved08SWI_Base      EQU     &00082E00
+AquariusReserved08SWI_Name      SETS    "AquariusReserved08"
+
+                                GBLS    AquariusReserved09SWI_Name
+AquariusReserved09SWI           EQU     &000020B9
+AquariusReserved09SWI_Base      EQU     &00082E40
+AquariusReserved09SWI_Name      SETS    "AquariusReserved09"
+
+                                GBLS    AquariusReserved10SWI_Name
+AquariusReserved10SWI           EQU     &000020BA
+AquariusReserved10SWI_Base      EQU     &00082E80
+AquariusReserved10SWI_Name      SETS    "AquariusReserved10"
+
+                                GBLS    AquariusReserved11SWI_Name
+AquariusReserved11SWI           EQU     &000020BB
+AquariusReserved11SWI_Base      EQU     &00082EC0
+AquariusReserved11SWI_Name      SETS    "AquariusReserved11"
+
+                                GBLS    AquariusReserved12SWI_Name
+AquariusReserved12SWI           EQU     &000020BC
+AquariusReserved12SWI_Base      EQU     &00082F00
+AquariusReserved12SWI_Name      SETS    "AquariusReserved12"
+
+                                GBLS    AquariusReserved13SWI_Name
+AquariusReserved13SWI           EQU     &000020BD
+AquariusReserved13SWI_Base      EQU     &00082F40
+AquariusReserved13SWI_Name      SETS    "AquariusReserved13"
+
+                                GBLS    AquariusReserved14SWI_Name
+AquariusReserved14SWI           EQU     &000020BE
+AquariusReserved14SWI_Base      EQU     &00082F80
+AquariusReserved14SWI_Name      SETS    "AquariusReserved14"
+
+                                GBLS    AquariusReserved15SWI_Name
+AquariusReserved15SWI           EQU     &000020BF
+AquariusReserved15SWI_Base      EQU     &00082FC0
+AquariusReserved15SWI_Name      SETS    "AquariusReserved15"
+
+                                GBLS    AquariusReserved16SWI_Name
+AquariusReserved16SWI           EQU     &000020C0
+AquariusReserved16SWI_Base      EQU     &00083000
+AquariusReserved16SWI_Name      SETS    "AquariusReserved16"
+
+DatabaseUtilsMessage            EQU     &000020C6
+DatabaseUtilsMessage_Base       EQU     &00083180
+
+ResEdMessagesMessage            EQU     &000020CD
+ResEdMessagesMessage_Base       EQU     &00083340
+
+                                GBLS    NHSWI_Name
+NHSWI                           EQU     &000020E3
+NHSWI_Base                      EQU     &000838C0
+NHSWI_Name                      SETS    "NH"
+
+                                GBLS    UARTDeviceDriverSWI_Name
+UARTDeviceDriverSWI             EQU     &000020E4
+UARTDeviceDriverSWI_Base        EQU     &00083900
+UARTDeviceDriverSWI_Name        SETS    "UARTDeviceDriver"
+
+                                GBLS    DVCSWI_Name
+DVCSWI                          EQU     &000020E6
+DVCSWI_Base                     EQU     &00083980
+DVCSWI_Name                     SETS    "DVC"
+
+                                GBLS    XObject1SWI_Name
+XObject1SWI                     EQU     &000020E7
+XObject1SWI_Base                EQU     &000839C0
+XObject1SWI_Name                SETS    "XObject1"
+
+                                GBLS    XObject2SWI_Name
+XObject2SWI                     EQU     &000020E8
+XObject2SWI_Base                EQU     &00083A00
+XObject2SWI_Name                SETS    "XObject2"
+
+                                GBLS    XObject3SWI_Name
+XObject3SWI                     EQU     &000020E9
+XObject3SWI_Base                EQU     &00083A40
+XObject3SWI_Name                SETS    "XObject3"
+
+                                GBLS    XObject4SWI_Name
+XObject4SWI                     EQU     &000020EA
+XObject4SWI_Base                EQU     &00083A80
+XObject4SWI_Name                SETS    "XObject4"
+
+                                GBLS    XObject5SWI_Name
+XObject5SWI                     EQU     &000020EB
+XObject5SWI_Base                EQU     &00083AC0
+XObject5SWI_Name                SETS    "XObject5"
+
+                                GBLS    AtomManagerSWI_Name
+AtomManagerSWI                  EQU     &000020EC
+AtomManagerSWI_Base             EQU     &00083B00
+AtomManagerSWI_Name             SETS    "AtomManager"
+
+                                GBLS    PLIPSWI_Name
+PLIPSWI                         EQU     &000020ED
+PLIPSWI_Base                    EQU     &00083B40
+PLIPSWI_Name                    SETS    "PLIP"
+
+                                GBLS    CBFCSWI_Name
+CBFCSWI                         EQU     &000020F0
+CBFCSWI_Base                    EQU     &00083C00
+CBFCSWI_Name                    SETS    "CBFC"
+
+LayoutMessage                   EQU     &000020F1
+LayoutMessage_Base              EQU     &00083C40
+
+                                GBLS    SessionManagementSWI_Name
+SessionManagementSWI            EQU     &000020F3
+SessionManagementSWI_Base       EQU     &00083CC0
+SessionManagementSWI_Name       SETS    "SessionManagement"
+
+                                GBLS    XMPEGQTSWI_Name
+XMPEGQTSWI                      EQU     &000020F6
+XMPEGQTSWI_Base                 EQU     &00083D80
+XMPEGQTSWI_Name                 SETS    "XMPEGQT"
+
+                                GBLS    WaveOutSWI_Name
+WaveOutSWI                      EQU     &000020F7
+WaveOutSWI_Base                 EQU     &00083DC0
+WaveOutSWI_Name                 SETS    "WaveOut"
+
+                                GBLS    URLSWI_Name
+URLSWI                          EQU     &000020F8
+URLSWI_Base                     EQU     &00083E00
+URLSWI_Name                     SETS    "URL"
+
+                                GBLS    HTMLSWI_Name
+HTMLSWI                         EQU     &000020F9
+HTMLSWI_Base                    EQU     &00083E40
+HTMLSWI_Name                    SETS    "HTML"
+
+                                GBLS    PPPSWI_Name
+PPPSWI                          EQU     &000020FA
+PPPSWI_Base                     EQU     &00083E80
+PPPSWI_Name                     SETS    "PPP"
+
+                                GBLS    TimeShareARMovieSWI_Name
+TimeShareARMovieSWI             EQU     &000020FB
+TimeShareARMovieSWI_Base        EQU     &00083EC0
+TimeShareARMovieSWI_Name        SETS    "TimeShareARMovie"
+
+                                GBLS    FileFetcherSWI_Name
+FileFetcherSWI                  EQU     &000020FD
+FileFetcherSWI_Base             EQU     &00083F40
+FileFetcherSWI_Name             SETS    "FileFetcher"
+
+                                GBLS    AcornHTTPSWI_Name
+AcornHTTPSWI                    EQU     &000020FE
+AcornHTTPSWI_Base               EQU     &00083F80
+AcornHTTPSWI_Name               SETS    "AcornHTTP"
+
+                                GBLS    RemoteSWI_Name
+RemoteSWI                       EQU     &000020FF
+RemoteSWI_Base                  EQU     &00083FC0
+RemoteSWI_Name                  SETS    "Remote"
+
+                                GBLS    STBFilterSWI_Name
+STBFilterSWI                    EQU     &00002100
+STBFilterSWI_Base               EQU     &00084000
+STBFilterSWI_Name               SETS    "STBFilter"
+
+                                GBLS    PCClipboardSWI_Name
+PCClipboardSWI                  EQU     &00002108
+PCClipboardSWI_Base             EQU     &00084200
+PCClipboardSWI_Name             SETS    "PCClipboard"
+
+                                GBLS    RPCEmSupportSWI_Name
+RPCEmSupportSWI                 EQU     &0000210D
+RPCEmSupportSWI_Base            EQU     &00084340
+RPCEmSupportSWI_Name            SETS    "RPCEmSupport"
+
+                                GBLS    ODevSupJSWI_Name
+ODevSupJSWI                     EQU     &00004000
+ODevSupJSWI_Base                EQU     &00100000
+ODevSupJSWI_Name                SETS    "ODevSupJ"
+
+                                GBLS    ObTickerSWI_Name
+ObTickerSWI                     EQU     &00004001
+ObTickerSWI_Base                EQU     &00100040
+ObTickerSWI_Name                SETS    "ObTicker"
+
+                                GBLS    StartUpSWI_Name
+StartUpSWI                      EQU     &00004002
+StartUpSWI_Base                 EQU     &00100080
+StartUpSWI_Name                 SETS    "StartUp"
+
+                                GBLS    ODevSupJ2SWI_Name
+ODevSupJ2SWI                    EQU     &00004003
+ODevSupJ2SWI_Base               EQU     &001000C0
+ODevSupJ2SWI_Name               SETS    "ODevSupJ2"
+
+                                GBLS    ODevSupJ3SWI_Name
+ODevSupJ3SWI                    EQU     &00004004
+ODevSupJ3SWI_Base               EQU     &00100100
+ODevSupJ3SWI_Name               SETS    "ODevSupJ3"
+
+                                GBLS    FileDboxSWI_Name
+FileDboxSWI                     EQU     &00004006
+FileDboxSWI_Base                EQU     &00100180
+FileDboxSWI_Name                SETS    "FileDbox"
+
+                                GBLS    ResDisplaySWI_Name
+ResDisplaySWI                   EQU     &00004007
+ResDisplaySWI_Base              EQU     &001001C0
+ResDisplaySWI_Name              SETS    "ResDisplay"
+
+                                GBLS    GTimerSWI_Name
+GTimerSWI                       EQU     &00005000
+GTimerSWI_Base                  EQU     &00140000
+GTimerSWI_Name                  SETS    "GTimer"
+
+                                GBLS    GDevSupJSWI_Name
+GDevSupJSWI                     EQU     &00005001
+GDevSupJSWI_Base                EQU     &00140040
+GDevSupJSWI_Name                SETS    "GDevSupJ"
+
+                                GBLS    GAudioVidSWI_Name
+GAudioVidSWI                    EQU     &00005002
+GAudioVidSWI_Base               EQU     &00140080
+GAudioVidSWI_Name               SETS    "GAudioVid"
+
+                                GBLS    GOptionPlusSWI_Name
+GOptionPlusSWI                  EQU     &00005003
+GOptionPlusSWI_Base             EQU     &001400C0
+GOptionPlusSWI_Name             SETS    "GOptionPlus"
+
+                                GBLS    GDigitalSWI_Name
+GDigitalSWI                     EQU     &00005004
+GDigitalSWI_Base                EQU     &00140100
+GDigitalSWI_Name                SETS    "GDigital"
+
+                                GBLS    GTextAreaSWI_Name
+GTextAreaSWI                    EQU     &00005006
+GTextAreaSWI_Base               EQU     &00140180
+GTextAreaSWI_Name               SETS    "GTextArea"
+
+                                GBLS    CM_EventSWI_Name
+CM_EventSWI                     EQU     &00008000
+CM_EventSWI_Base                EQU     &00200000
+CM_EventSWI_Name                SETS    "CM_Event"
+
+                                GBLS    CM_ModemSWI_Name
+CM_ModemSWI                     EQU     &00008001
+CM_ModemSWI_Base                EQU     &00200040
+CM_ModemSWI_Name                SETS    "CM_Modem"
+
+                                GBLS    CM_GenlockSWI_Name
+CM_GenlockSWI                   EQU     &00008002
+CM_GenlockSWI_Base              EQU     &00200080
+CM_GenlockSWI_Name              SETS    "CM_Genlock"
+
+                                GBLS    CM_IRSWI_Name
+CM_IRSWI                        EQU     &00008003
+CM_IRSWI_Base                   EQU     &002000C0
+CM_IRSWI_Name                   SETS    "CM_IR"
+
+                                GBLS    CM_VideoSWI_Name
+CM_VideoSWI                     EQU     &00008004
+CM_VideoSWI_Base                EQU     &00200100
+CM_VideoSWI_Name                SETS    "CM_Video"
+
+                                GBLS    CM_TunerSWI_Name
+CM_TunerSWI                     EQU     &00008005
+CM_TunerSWI_Base                EQU     &00200140
+CM_TunerSWI_Name                SETS    "CM_Tuner"
+
+                                GBLS    CM_StateSWI_Name
+CM_StateSWI                     EQU     &00008006
+CM_StateSWI_Base                EQU     &00200180
+CM_StateSWI_Name                SETS    "CM_State"
+
+                                GBLS    CM_PrinterSWI_Name
+CM_PrinterSWI                   EQU     &00008007
+CM_PrinterSWI_Base              EQU     &002001C0
+CM_PrinterSWI_Name              SETS    "CM_Printer"
+
+                                GBLS    CMNKISWI_Name
+CMNKISWI                        EQU     &00008008
+CMNKISWI_Base                   EQU     &00200200
+CMNKISWI_Name                   SETS    "CMNKI"
+
+                                GBLS    CMIOLSWI_Name
+CMIOLSWI                        EQU     &00008009
+CMIOLSWI_Base                   EQU     &00200240
+CMIOLSWI_Name                   SETS    "CMIOL"
+
+                                GBLS    MS_TabletSWI_Name
+MS_TabletSWI                    EQU     &00008010
+MS_TabletSWI_Base               EQU     &00200400
+MS_TabletSWI_Name               SETS    "MS_Tablet"
+
+                                GBLS    MS_KeypadSWI_Name
+MS_KeypadSWI                    EQU     &00008011
+MS_KeypadSWI_Base               EQU     &00200440
+MS_KeypadSWI_Name               SETS    "MS_Keypad"
+
+                                GBLS    MS_PageSensorSWI_Name
+MS_PageSensorSWI                EQU     &00008012
+MS_PageSensorSWI_Base           EQU     &00200480
+MS_PageSensorSWI_Name           SETS    "MS_PageSensor"
+
+                                GBLS    MS_ControlSWI_Name
+MS_ControlSWI                   EQU     &00008013
+MS_ControlSWI_Base              EQU     &002004C0
+MS_ControlSWI_Name              SETS    "MS_Control"
+
+                                GBLS    MS_DebugSWI_Name
+MS_DebugSWI                     EQU     &00008014
+MS_DebugSWI_Base                EQU     &00200500
+MS_DebugSWI_Name                SETS    "MS_Debug"
+
+                                GBLS    MS_TitleSWI_Name
+MS_TitleSWI                     EQU     &00008015
+MS_TitleSWI_Base                EQU     &00200540
+MS_TitleSWI_Name                SETS    "MS_Title"
+
+        OPT     OldOpt
+
+        END
diff --git a/hdr/Services b/hdr/Services
new file mode 100644
index 0000000..00639db
--- /dev/null
+++ b/hdr/Services
@@ -0,0 +1,311 @@
+; 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    Service call info. => &.Hdr.Services
+
+OldOpt  SETA    {OPT}
+        OPT     OptNoList+OptNoP1List
+
+; <<<search marker>>>
+
+; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+; All the service call reason codes
+
+; Name                   Value Beeb Elk  Mast Arc  Description
+; ====                  * === ;    ;    ;    ;    ;
+;-------------------------------------------------------------------------------
+Service_Serviced        * &00 ; X  ; X  ; X  ; X  ; Terminates processing
+Service_Static0E00      * &01 ; X  ; X  ; X  ;    ; Claim space at &E00
+Service_Dynamic0E00     * &02 ; X  ; X  ; X  ;    ; Dynamic space above &E00
+Service_AutoBoot        * &03 ; X  ; X  ; X  ;    ; Cause filing system to boot
+Service_UKCommand       * &04 ; X  ; X  ; X  ; X  ; Do you know what this is??
+Service_UnknownIRQ      * &05 ; X  ; X  ; X  ;    ; Process IRQ
+Service_Error           * &06 ; X  ; X  ; X  ; X  ; A 'BRK' has occured, use ErrorV on Archimedes
+Service_UKByte          * &07 ; X  ; X  ; X  ; X  ; Unknown OSBYTEs go thru here
+Service_UKWord          * &08 ; X  ; X  ; X  ; X  ; Unknown OSWORDs go thru here
+Service_Help            * &09 ; X  ; X  ; X  ; X  ; Issued at the start of the *Help
+Service_Claim0E00       * &0A ; X  ; X  ; X  ;    ; Claim the use of space at &E00
+Service_ReleaseFIQ      * &0B ; X  ; X  ; X  ; X  ;
+Service_ClaimFIQ        * &0C ; X  ; X  ; X  ; X  ; May only be issued from foreground !
+Service_StartROMFS      * &0D ; X  ; X  ; X  ;    ; Initialise ROM filing system
+Service_ROMFSGetByte    * &0E ; X  ; X  ; X  ;    ; ROM filing system get byte
+Service_ClaimFSVectors  * &0F ; X  ; X  ; X  ;    ; A new FS has claimed the vectors
+Service_CloseSpoolExec  * &10 ; X  ; X  ; X  ;    ; Closeure warning for Spool/Exec files
+Service_Memory          * &11 ; X  ; X  ; X  ; X  ; Font change, Memory movement
+Service_StartUpFS       * &12 ; X  ; X  ; X  ; X  ;
+Service_RS423Char       * &13 ;    ; X  ;    ;    ; Character written to RS423 buffer
+Service_PrinterChar     * &14 ;    ; X  ;    ;    ; Character written to printer buffer
+Service_PollingInterupt * &15 ;    ; X  ; X  ;    ; Offered every centi-second
+Service_ExternalBell    * &16 ;    ; X  ;    ;    ; Offer the bell to external sound
+Service_ExternalPurge   * &17 ;    ; X  ;    ;    ; Purge external sound buffers
+Service_Post_Help       * &18 ;    ;    ; X  ; X  ; Passed round at the end of the *Help code
+
+Service_StaticC000      * &21 ;    ;    ; X  ;    ; Static space claim at &C000
+Service_DynamicC000     * &22 ;    ;    ; X  ;    ; Dynamic workspace claim, above &C000
+Service_InformTopOfC000 * &23 ;    ;    ; X  ;    ; Inform top of &C000 static space
+Service_TestDynamicC000 * &24 ;    ;    ; X  ;    ; Dynamic space test
+Service_InformFilingSys * &25 ;    ;    ; X  ;    ; Return filing system name, handles, and number
+Service_ShutAllFiles    * &26 ;    ;    ; X  ;    ; Shut all files, in response to *Shut
+Service_Reset           * &27 ;    ;    ; X  ; X  ;
+Service_UKConfig        * &28 ;    ;    ; X  ; X  ;
+Service_UKStatus        * &29 ;    ;    ; X  ; X  ;
+Service_NewApplication  * &2A ;    ;    ; X  ; X  ; Passed round before application/language is loaded/run
+Service_DisplayBanner   * &2B ;    ;    ; X  ;    ; Display startup banner
+Service_CumanaBackup    * &2C ;    ;    ; X  ;    ; Cumana removable cartidge drive
+
+Service_BondIntKboard1  * &30 ;    ;    ; X  ;    ; Indirected international keyboard service (Internat'nl PRB/COM)
+Service_BondIntKboard2  * &31 ;    ;    ; X  ;    ; Reserved for Paul Bond
+
+Service_Tube            * &FE ; X  ; X  ; X  ; X  ; Means "Tube changing state"
+Service_TubeMainInit    * &FF ; X  ; X  ; X  ;    ;
+
+; RISC OS specific ones
+
+Service_FSRedeclare                     * &40   ; Add yourselves as Filing Systems again please
+Service_Print                           * &41   ; Printer Driver is being turned on/off (R2=0/1)
+Service_LookupFileType                  * &42   ; Do you know this file type ?
+Service_International                   * &43   ; Translate country/alphabet numbers/names or define set of chars
+Service_KeyHandler                      * &44   ; Offered when keyboard id ascertained
+Service_PreReset                        * &45   ; Offered after pressing the 'Break Key'
+Service_ModeChange                      * &46   ; Offered after a screen MODE change
+Service_ClaimFIQinBackground            * &47   ; Claim if you are FIQ owner and can release FIQ straight away.
+Service_ReAllocatePorts                 * &48   ; Econet is being started up again
+Service_StartWimp                       * &49   ;
+Service_StartedWimp                     * &4A   ;
+Service_StartFiler                      * &4B   ;
+Service_StartedFiler                    * &4C   ;
+Service_PreModeChange                   * &4D   ; Offered before mode changes, if claimed then returns if R0=0, else R0 -> error block
+Service_MemoryMoved                     * &4E   ; Offered at end of ChangeDynamic
+Service_FilerDying                      * &4F   ;
+Service_ModeExtension                   * &50   ; To allow soft modes
+Service_ModeTranslation                 * &51   ; For unknown monitor types
+Service_MouseTrap                       * &52   ; For non-click mouse warnings
+Service_WimpCloseDown                   * &53   ; for trapping Wimp_CloseDown calls
+Service_Sound                           * &54   ; Something's happening ... sub-rc's in Hdr.Sound
+Service_NetFS                           * &55   ; Either a *Logon or a *Bye has happened, or NetFS has started
+Service_EconetDying                     * &56   ; Econet is leaving Abandon all Tx/RxCBs
+Service_WimpReportError                 * &57   ; Wimp is opening/closing a ReportError window
+Service_MIDI                            * &58   ; MIDI is initialising or dying. Sub reason codes in Hdr.MIDI
+Service_ResourceFSStarted               * &59   ; comes after ResourceFSStarting (for clients)
+Service_ResourceFSDying                 * &5A   ; when ResourceFS is killed / reloaded
+Service_CalibrationChanged              * &5B   ; when the calibration for the screen is changed
+Service_WimpSaveDesktop                 * &5C   ; when a save desktop to file is requested by the user
+Service_WimpPalette                     * &5D   ; on every Wimp_SetPalette
+Service_MessageFileClosed               * &5E   ; from MessageTrans module
+Service_NetFSDying                      * &5F   ; NetFS is going to heaven, interceptors beware!
+Service_ResourceFSStarting              * &60   ; when ResourceFS is reloaded / reinited
+Service_NFS                             * &61   ; when NFS has mounted/dismounted or just loaded
+Service_DBoxModuleDying                 * &62   ; when the DBox module is rmkilled or succesfully tidied
+Service_DBoxModuleStarting              * &63   ; when the DBox module is rmloaded or reinitted
+Service_TerritoryManagerLoaded          * &64   ; when the territory manager is rmloaded or reinitted
+Service_PDriverStarting                 * &65   ; when the PDriver sharer module starts up
+Service_PDumperStarting                 * &66   ; when the PDumper module starts up
+Service_PDumperDying                    * &67   ; when the PDumper module dies
+Service_CloseFile                       * &68   ; when somebody wants to open a file (eg FileSwitch or PCEmulator)
+Service_IdentifyDisc                    * &69   ; when FileCore wants a disc format to be identified
+Service_EnumerateFormats                * &6A   ; when ADFSFiler wants some format submenu entries
+Service_IdentifyFormat                  * &6B   ; when ADFS wishes to identify a format identifier from a *format command
+Service_DisplayFormatHelp               * &6C   ; when ADFS wishes to display the list of available formats
+Service_ValidateAddress                 * &6D   ; when OS_ValidateAddress called with an apparently invalid address range
+Service_FontsChanged                    * &6E   ; when Font_ListFonts/Font_FindFont detects new Font$Path
+Service_BufferStarting                  * &6F   ; when Buffer manager installed (RMReinited, etc..).
+Service_DeviceFSStarting                * &70   ; when devices to register with DeviceFS.
+Service_DeviceFSDying                   * &71   ; when DeviceFS is dying.
+Service_SwitchingOutputToSprite         * &72   ; when output switched to sprite or sprite mask or screen (inc. on mode change)
+Service_PostInit                        * &73   ; called after all modules have been initialised
+Service_BASICHelp                       * &74   ; called before printing BASIC help text ( r2 = Token).
+Service_TerritoryStarted                * &75   ; called when a new territory is starting
+Service_MonitorLeadTranslation          * &76   ; to translate a monitor lead ID to a default monitortype, mode and sync
+Service_SerialDevice                    * &77   ; Passing of serial device handle (in r0) to all support module.
+Service_PDriverGetMessages              * &78   ; Get printer driver modules common Messages file info.
+Service_DeviceDead                      * &79   ; Device has been killed by DeviceFS, r0 =0, r2 =handle / =0 if all.
+Service_ScreenBlanked                   * &7A   ; Screen blanked by screen blanker.
+Service_ScreenRestored                  * &7B   ; Screen restored by screen blanker.
+Service_DesktopWelcome                  * &7C   ; Desktop about to start, display welcome message.
+Service_DiscDismounted                  * &7D   ; Disc has just been dismounted - close your viewers etc.
+Service_ShutDown                        * &7E   ; Switcher is shutting down.
+Service_PDriverChanged                  * &7F   ; PDriver has changed via PDriver_SelectDriver.
+Service_ShutDownComplete                * &80   ; Switcher has completed the shutdown.
+Service_DeviceFSCloseRequest            * &81   ; Opening a device which already has maximum number of streams open
+Service_InvalidateCache                 * &82   ; ColourTrans has invalidated its cache
+Service_ProtocolDying                   * &83   ; Tells the world that a protocol is dying
+Service_FindNetworkDriver               * &84   ; Issued when a protocol module is looking for device drivers
+Service_WimpSpritesMoved                * &85   ; Window Managers sprite areas have moved.
+Service_WimpRegisterFilters             * &86   ; Window Manager has defaulted the filter owners.
+Service_FilterManagerInstalled          * &87   ; Please register with the Filter Manager now
+Service_FilterManagerDying              * &88   ; Filter Manager has just disappeared
+Service_ModeChanging                    * &89   ; Issued after Service_PreModeChange when a mode change is inevitable
+Service_Portable                        * &8A   ; Issued when various bits of power are removed or applied
+Service_NetworkDriverStatus             * &8B   ; Issued when various driver modules startup or die
+Service_SyntaxError                     * &8C   ; Issued by OS_CLI if syntax incorrect - for internationalisation
+Service_EnumerateScreenModes            * &8D   ; Enumerate which screen modes are available
+Service_PagesUnsafe                     * &8E   ; Physical memory pages are moving
+Service_PagesSafe                       * &8F   ; Physical memory pages have moved
+Service_DynamicAreaCreate               * &90   ; Dynamic area just created
+Service_DynamicAreaRemove               * &91   ; Dynamic area just removed
+Service_DynamicAreaRenumber             * &92   ; Dynamic area just renumbered
+Service_ColourPickerLoaded              * &93   ; when the colour picker is rmloaded or reinitted
+Service_ModeFileChanged                 * &94   ; when a new mode description file is loaded
+Service_FreewayStarting                 * &95   ; Freeway starting
+Service_FreewayTerminating              * &96   ; Freeway terminating
+Service_ShareDStarting                  * &97   ; ShareD starting
+Service_ShareDTerminating               * &98   ; ShareD terminating
+Service_ModulePostInitialisation        * &99   ; Notification that a Module has just started
+Service_ModulePreFinalisation           * &9A   ; Notification that a Module is about to die
+Service_EnumerateNetworkDrivers         * &9B   ; Enumaration of network drivers
+Service_PCMCIA                          * &9C   ; PCMCIA system parts are starting and/or terminating
+Service_DCIDriverStatus                 * &9D   ; Issued when DCI 4 driver modules startup or die
+Service_DCIFrameTypeFree                * &9E   ; Issued by DCI 4 driver modules when a frame type is relinquished
+Service_DCIProtocolStatus               * &9F   ; Issued when DCI 4 protocol modules startup or die
+Service_MbufManagerStatus               * &A2   ; ANT Ltd. / Acorn (DCI 4)
+Service_SamplerSupport                  * &A3   ; Jonathan Allin
+Service_AccessLockKey                   * &A4   ; Issued when 'Access Lock' key pressed on Stork
+Service_RedrawManagerInstalled          * &A5   ; ART kb
+Service_RedrawManagerDying              * &A6   ; ART kb
+Service_URI                             * &A7   ; ART rce
+Service_NCDialUIStatus                  * &A8   ; ANC ol
+Service_ScreenBlanking                  * &A9   ; ANC ol
+Service_IRDirectorStarting              * &AA   ; ANC cb
+Service_Standby                         * &AD   ; ANC Steve Cormie
+Service_NCAccessManager                 * &AE   ; ANC Ant Skelton
+Service_InternetStatus                  * &B0   ; Issued by Internet module when address is configured
+Service_Sleeping                        * &B1   ; Online Media Set-Top Box
+Service_TimeShare                       * &B2   ; Alan Glover, Acorn, for SkyNet
+Service_CDNewDrivePoll                  * &B3   ; Timothy Roddis, Acorn, for CDFS
+Service_Dialler                         * &B4   ; ART Dialler
+Service_UnknownPlatformFeature          * &B5   ; ART WTurner
+Service_CountATAPIDevices               * &B6   ; ART MChallis
+Service_UKCompression                   * &B7   ; ART WTurner
+Service_CacheManager                    * &B8   ; ART TRoddis
+Service_ModulePreInit                   * &B9   ; ART MStephens
+Service_NCRegistry                      * &BA   ; ANC Ant Skelton
+Service_SCTransportStarting             * &BB   ; ANC Rich Buckley
+Service_NCRegistrySupport               * &BC   ; ANC Ant Skelton
+Service_MachineAddress                  * &BD   ; ANC Steve Cormie
+Service_CSFSStarting                    * &BE   ; ANC Rich Buckley
+Service_JavaStarting                    * &BF   ; ANC Piers Wombwell
+Service_PPPTimingOut                    * &C0   ; ART Ben Laughton
+Service_IRDirector                      * &C1   ; Chris Berry
+Service_PortMan                         * &C2   ; Neil Turton
+Service_PCI                             * &C3   ; William Turner
+Service_Diallerb                        * &C4   ; Ben Laughton
+Service_ManagedAccess                   * &C5   ; Ant Skelton
+Service_MIDIMgr                         * &C6   ; Tim Roddis
+Service_MPEGControlStarting             * &C7   ; Tim Dobson
+Service_IME                             * &C8   ; Andrew Hodgkinson
+Service_SVBmip                          * &C9   ; Steve Revill
+Service_VideoControl                    * &CA   ; Andrew Hodgkinson
+Service_VideoControl_ProtocolModule     * &CB   ; Andrew Hodgkinson
+Service_NCMA				* &D1	; Pace
+Service_USB				* &D2	; Pace
+Service_PRISM_Core			* &D3	; Pace
+Service_ConfigUpdate			* &D4	; Pace
+Service_PRISM_Client			* &D5	; Pace
+Service_Hardware			* &D9	; RO5
+Service_ModulePostInit			* &DA	; RO5
+Service_ModulePostFinal			* &DB	; RO5
+Service_NVRAM                           * &E0   ; Steve Cormie (This used to be isolated, but allocations have now caught up)
+
+; Alias (should not be used)
+
+Service_PDriverGetSharedMessagesFile * Service_PDriverGetMessages
+
+
+; International service sub-reason codes
+
+Inter_CNaToCNo  * 0
+Inter_ANaToANo  * 1
+Inter_CNoToCNa  * 2
+Inter_ANoToANa  * 3
+Inter_CNoToANo  * 4
+Inter_Define    * 5
+Inter_Keyboard  * 6
+Inter_DefineUCS * 7
+Inter_UCSTable  * 8
+Inter_Highest   * 9             ; highest reason code +1
+
+; Sub-reason codes (in r2) for Service_Portable
+
+ServicePortable_PowerDown       *       0       ; Power about to be removed from some ports
+ServicePortable_PowerUp         *       1       ; Power has been reapplied to some ports
+ServicePortable_TidyUp          *       2       ; Issued by Econet if it can't powerdown due to outstanding RxCBs
+ServicePortable_Freeze          *       3       ; Issued on entry to SWI Portable_Stop
+ServicePortable_Unfreeze        *       4       ; Issued on exit from SWI Portable_Stop
+ServicePortable_FreezeRequest   *       5       ; Preceedes ServicePortable_Freeze
+
+                                ^       &10800  ; ADFS Service calls
+Service_ADFSPodule              #       1       ; &10800 locates ST506 podule
+Service_ADFSPoduleIDE           #       1       ; &10801 locates IDE podule
+Service_ADFSPoduleIDEDying      #       1       ; &10802 tells ADFS podule is dying
+
+                                ^       &20100  ; SCSIDriver Service calls
+SCSIDriverService               #       64
+
+                                ^       &400c0
+Service_ErrorStarting           #       1       ; new wimp error extension system
+Service_ErrorButtonPressed      #       1
+Service_ErrorEnding             #       1
+
+                                ^       &40100
+Service_CM_State_PreSleep       #       1
+Service_CM_State_PostWake       #       1
+
+                                ^       &40200
+Service_NetPrintCheckD1         #       1       ; Used to find the SJ printer server
+
+
+                                ^       &41200  ; Internet/Networking Service calls
+Service_Internet                #       1       ; &41200 tells the world that Internet is dying
+
+                                ^       &41580  ; Acorn TIP Service calls
+Service_FindProtocols           #       1       ; &41580    Called to find which protocols are available
+Service_FindProtocolsEnd        #       1       ; &41581    Called when all protocols have been found.
+Service_ProtocolNameToNumber    #       1       ; &41582    Called to convert a protocol name to its SWI base.
+
+                                ^       &44EC0  ; Aquarius Toolbox services
+Service_ToolboxUnused           #       1       ; &44EC0
+Service_ToolboxStarting         #       1       ; &44EC1
+Service_ToolboxTaskBorn         #       1       ; &44EC2
+Service_ToolboxTaskDied         #       1       ; &44EC3
+Service_ToolboxDying            #       1       ; &44EC4
+Service_WindowDeleted           #       1       ; &44EC5
+
+				^	&4D480  ; ModeFiles
+Service_SafeAreaChanged		#	1	; &4D480
+
+
+; Third party services start at &80000 and they get 64 each
+
+                                ^       &80000
+
+                                ^       &80540
+AcornProtocols                  #       64      ; &80540, ART rce
+
+                                ^       &82880  ; Aquarius Window services
+Service_WindowModuleUnused      #       1       ; &82880
+Service_WindowModuleStarting    #       1       ; &82881
+Service_WindowModuleDying       #       1       ; &82882
+Service_GadgetRegistered        #       1       ; &82883
+Service_GadgetDeregistered      #       1       ; &82884
+
+                                ^       &83E00
+URLModuleService                #       64      ; &83E00, Acorn, Stewart Brodie
+
+        OPT     OldOpt
+        END
+
+
diff --git a/hdr/UpCall b/hdr/UpCall
new file mode 100644
index 0000000..a9cc3fe
--- /dev/null
+++ b/hdr/UpCall
@@ -0,0 +1,80 @@
+; 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    => &.Hdr.UpCall
+
+OldOpt  SETA    {OPT}
+        OPT     OptNoList + OptNoP1List
+
+; SYSTEM (and System extension) UPCALLS
+
+UpCall_Invalid          * -1    ; reason -1 is UpCall broken
+UpCall_Claimed          * 0     ; reason 0 is UpCall already claimed/dealt with
+
+; Filing System UpCalls
+
+                        ^ 1
+UpCall_MediaNotPresent  # 1     ;1
+UpCall_MediaNotKnown    # 1     ;2
+UpCall_ModifyingFile    # 1     ;3
+
+upfsfile_Save           * 0     ; sub-rc for UpCall_ModifyingFile (r9)
+upfsfile_WriteInfo      * 1
+upfsfile_WriteLoad      * 2
+upfsfile_WriteExec      * 3
+upfsfile_WriteAttr      * 4
+upfsfile_Delete         * 6
+upfsfile_Create         * 7
+upfsfile_CreateDir      * 8
+upfsopen_CreateUpdate   * &101
+upfsopen_Update         * &102
+upfsclose               * &103
+upfsargs_EnsureSize     * &200
+upfsfunc_Rename         * &208
+upfsfunc_Access         * &209
+
+UpCall_MediaSearchEnd   # 1      ;4
+UpCall_Password         # 1      ;5
+UpCall_Sleep            # 1      ;6       ; for PipeFS etc.
+UpCall_SleepNoMore      # 1      ;7       ; a poll word is disappearing
+UpCall_BufferFilling    # 1      ;8       ; insert to buffer has passed threshold
+UpCall_BufferEmptying   # 1      ;9       ; remove from buffer has increased free space behind threshold
+UpCall_StreamCreated    # 1      ;10      ; stream created
+UpCall_StreamClosed     # 1      ;11      ; stream has been removed
+UpCall_Freeway          # 1      ;12      ; Freeway object created / modified.
+UpCall_Online           # 1      ;13      ; Online Media Set-Top Box
+UpCall_Standby          # 1      ;14      ; Online Media Set-Top Box
+UpCall_DeviceRxDataPresent # 1   ;15      ; Acorn NC
+UpCall_DeviceThresAbove    # 1   ;16      ; Acorn NC
+UpCall_DeviceThresBelow    # 1   ;17      ; Acorn NC
+UpCall_ProgressUI       # 1      ;18      ; ANC OLove
+UpCall_MediaSearchEndMessage # 1 ;19      ; Acorn Alastair Rodger
+UpCall_KeyboardStatus   # 1      ; 20     ; Acorn Kevin Bracey
+UpCall_MPEG             # 1      ; 21     ; Acorn Ben Avison
+UpCall_PMonitor		# 1	; 22	  ; Acorn
+UpCall_PDumperAction	# 1	; 23	  ; Castle
+UpCall_DriveAdded          # 1   ;24      ; Alert the filer of hot plugging = Castle
+UpCall_DriveRemoved        # 1   ;25      ; drive hardware = Castle
+; MOS UpCalls
+                        ^ 256
+UpCall_NewApplication   # 1             ; cf. Service_NewApplication
+UpCall_MovingMemory     # 1
+
+        OPT     OldOpt
+
+        END
+
-- 
GitLab