; 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  FSInsufficientSpace,  "Insufficient space", 92        ; &5C FS
        AddError  SRAMBadID,            "Bad id", 128                   ; &80 SRAM
        AddError  GXRCantOpenFile,      "Can't open file", 133          ; &85 GXR
        AddError  GXRMissingComma,      "Missing comma", 135            ; &87 GXR
        AddError  GXRSpriteNosEqual,    "Sprite numbers are equal", 136 ; &88 GXR
        AddError  IEEEOutOfRange,       "Out of range", ErrorNumber_GXRSpriteNosEqual ; IEEEFS
        AddError  GXRBadNumber,         "Bad number", 137               ; &89 GXR
        AddError  IEEENoDevTalked,      "No device talked", ErrorNumber_GXRBadNumber ; IEEEFS
        AddError  IEEENoDevListened,    "No device listened", 138       ; &8A IEEEFS
        AddError  IEEENoBBCDevNo,       "No BBC device number", 139     ; &8B IEEEFS
        AddError  IEEECLEARNotExec,     "CLEAR not executed", 140       ; &8C IEEEFS
        AddError  IEEEStrOFlo,          "String too long", 141          ; &8D IEEEFS
        AddError  Aborted,              "Aborted", 146                  ; &92 ADFS
        AddError  Wont,                 "No!", 147                      ; &93 ADFS
        AddError  VFSDoorOpen,          "Door open", ErrorNumber_Wont   ;     VFS
        AddError  BadParm,              "Bad parameter", 148            ; &94
        AddError  BadCompact,           "Bad compact", ErrorNumber_BadParm ;  ADFS
        AddError  CantDelCsd,           "Can't delete CSD", 150         ; &96 ADFS
        AddError  CantDelLib,           "Can't delete library", 151     ; &97 ADFS
        AddError  CompactReq,           "Compaction required", 152      ; &98 ADFS
        AddError  MapFull,              "Map full", 153                 ; &99 ADFS
        AddError  TFSIllegalOp,         "Illegal operation", 157        ; &9D TFS
        AddError  BBCLineJammed,        "Line jammed", 160              ; &A0
        AddError  BBCNetError,          "Net error", 161                ; &A1
        AddError  BBCNotListening,      "Not listening", 162            ; &A2
        AddError  BBCNoClock,           "No clock", 163                 ; &A3
        AddError  MachineNotPres,       "Machine not present", 164      ; &A4
        AddError  BBCNoReply,           "No reply", 165                 ; &A5
        AddError  RAMDiscTooSmall,      "RAM disc size too small", ErrorNumber_BBCNoReply ; RISC OS RAMFS
        AddError  BBCNetPrinterBusy,    "Printer busy", 166             ; &A6
        AddError  BBCNetPrinterJammed,  "Printer jammed", 167           ; &A7
        AddError  IsADirectory,         "Object is a directory", 168    ; &A8
        AddError  BrokenDir,            "Broken directory", ErrorNumber_IsADirectory ; ADFS
        AddError  PasswordFileNotFound, "Password file not found", ErrorNumber_IsADirectory ; NFS
        AddError  BadFsMap,             "Bad FS map", 169               ; &A9 ADFS
        AddError  NoDir,                "No directory", ErrorNumber_BadFsMap ; ADFS
        AddError  PSTooLong,            "Too long", ErrorNumber_BadFsMap ;    PS
        AddError  OneBadFsMap,          "Bad sum", 170                  ; &AA ADFS
        AddError  PSWrongPrintType,     "Wrong printer type", ErrorNumber_OneBadFsMap ; PS
        AddError  BBCNetPrinterOffLine, "Printer off line", 171         ; &AB
        AddError  VFSBadMODE,           "Bad MODE", 173                 ; &AD VFS
        AddError  BBCNotLoggedOn,       "Not logged on", 174            ; &AE
        AddError  TypesDontMatch,       "Types don't match", 175        ; &AF FS
        AddError  BadRename,            "Bad rename", 176               ; &B0 ADFS
        AddError  BadCopy,              "Bad copy",177                  ; &B1
        AddError  UserIDExists,         "User id. exists", ErrorNumber_BadCopy ; FS
        AddError  PasswordFileFull,     "Password file full", 178       ; &B2 FS
        AddError  DirFull,              "Dir full", 179                 ; &B3 ADFS
        AddError  DirNotEmpty,          "Dir not empty", 180            ; &B4 ADFS
        AddError  TryLoadDir,           "Trying to load a directory", 181 ; &B5
        AddError  MapRWErr,             "Disc error on map R/W", 182    ; &B6 FS
        AddError  OutsideFile,          "OutsideFile:Outside file", 183 ; &B7 DFS, ADFS
        AddError  TooManyUsers,         "Too many users", 184           ; &B8
        AddError  BadPassword,          "Bad password", 185             ; &B9
        AddError  InsufficientPriv,     "Insufficient privilege", 186   ; &BA
        AddError  IncorrectPassword,    "Incorrect password", 187       ; &BB
        AddError  UserNotKnown,         "User not known", 188           ; &BC
        AddError  AccessViolation,      "Access violation", 189         ; &BD ADFS
        AddError  BBCInsufficientAccess,"Insufficient access", ErrorNumber_AccessViolation
        AddError  NotEnabled,           "Not enabled", ErrorNumber_AccessViolation ; DFS
        AddError  CatFull,              "Cat full", 190                 ; &BE DFS
        AddError  WhoAreYou,            "Who are you?", 191             ; &BF
        AddError  CantExtend,           "Can't extend", ErrorNumber_WhoAreYou ; DFS
        AddError  TooManyOpenFiles,     "Too many open files", 192      ; &C0 DFS, ADFS
        AddError  NotOpenForUpdate,     "Not open for update", 193      ; &C1 ADFS
        AddError  FileReadOnly,         "File read only", ErrorNumber_NotOpenForUpdate ; DFS
        AddError  FileOpen,             "File open", 194                ; &C2
        AddError  AlreadyOpen,          "Already open", ErrorNumber_FileOpen ; DFS
        AddError  CantFileOpen,         "Can't - file open", ErrorNumber_FileOpen ; ADFS
        AddError  ObjectLocked,         "Locked", 195                   ; &C3 DFS, ADFS
        AddError  AlreadyExists,        "Already exists", 196           ; &C4 DFS, ADFS
        AddError  DriveFault,           "Drive fault", 197              ; &C5 DFS
        AddError  DiscFull,             "Disc full", 198                ; &C6 DFS, ADFS
        AddError  Disc,                 "Disc error", 199               ; &C7 ADFS
        AddError  DiscFault,            "Disc fault", ErrorNumber_Disc  ;     DFS
        AddError  DiscChanged,          "Disc changed", 200             ; &C8 DFS, ADFS
        AddError  WriteProt,            "Disc protected", 201           ; &C9 ADFS
        AddError  DiscReadOnly,         "Disc read only", ErrorNumber_WriteProt ; DFS
        AddError  DataLost,             "Data lost", 202                ; &CA ADFS
        AddError  BadSum,               "Bad sum", ErrorNumber_DataLost ;     DFS
        AddError  BadOption,            "Bad opt", 203                  ; &CB DFS, ADFS
        AddError  BadFileName,          "Bad file name", 204            ; &CC
        AddError  BBCBadName,           "Bad name", ErrorNumber_BadFileName ; ADFS, DFS, MOS
        AddError  DriveNotReady,        "Drive not ready", 205          ; &CD ADFS
        AddError  BadDrive,             "Bad drive", ErrorNumber_DriveNotReady ; DFS
        AddError  CommFSDoorOpen,       "Door open", ErrorNumber_DriveNotReady ; CommFS
        AddError  BadDir,               "Bad directory", 206            ; &CE DFS
        AddError  BadAtt,               "Bad attribute", 207            ; &CF DFS
        AddError  BadStationNo,         "Bad station number", 208       ; &D0
        AddError  BadNetNo,             "Bad net number", 209           ; &D1
        AddError  WriteOnly,            "Write only", 212               ; &D4
        AddError  CFSLocked,            "Locked", 213                   ; &D5 CFS
        AddError  FileNotFound,         "File not found", 214           ; &D6
        AddError  BBCNotFound,          "Not found", ErrorNumber_FileNotFound ; ADFS, CFS, DFS
        AddError  BadROM,               "Bad ROM", 215                  ; &D7 SFS
        AddError  Data,                 "Data?", 216                    ; &D8 CFS
        AddError  Header,               "Header?", 217                  ; &D9 CFS??
        AddError  Block,                "Block?", 218                   ; &DA CFS
        AddError  File,                 "File?", 219                    ; &DB CFS
        AddError  Syntax,               "Syntax:Syntax", 220            ; &DC
        AddError  BadNoParms,           "Invalid number of parameters", ErrorNumber_Syntax
        AddError  TooManyParms,         "TooManyParms:Too many parameters", ErrorNumber_Syntax
        AddError  Address,              "Address", 221                  ; &DD CFS??
        AddError  Channel,              "Channel", 222                  ; &DE
        AddError  EndOfFile,            "End of file", 223              ; &DF
        AddError  EOF,                  "EOF", ErrorNumber_EndOfFile    ;     ADFS, CFS, DFS
        AddError  Telesoftware,         "Telesoftware error", 234       ; &EA TFS
        AddError  BadNumber,            "Bad number", 240               ; &F0
        AddError  BBCBadHex,            "Bad hex", 241                  ; &F1
        AddError  FX0,                  "", 247                         ; &F7 MOS
        AddError  BadFilingSystemName,  "Bad filing system name", 248   ; &F8
        AddError  UnknownFilingSystem,  "Unknown filing system",  ErrorNumber_BadFilingSystemName
        AddError  NoFilingSystem,       "No filing system", ErrorNumber_BadFilingSystemName
        AddError  NoLanguage,           "No language ROM", 249          ; &F9 MOS
        AddError  KeyInUse,             "Key in use", 250               ; &FA MOS
        AddError  BadKey,               "BadKey:Bad key", 251           ; &FB MOS
        AddError  BadAddress,           "BadAddress:Bad address", 252   ; &FC CFS
        AddError  BadString,            "BadString:Bad string", 253     ; &FD MOS
        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 ADFS Unfortunate clash
        AddError  BadCommand,           "BadCommand:Bad command", 254   ; &FE CFS, MOS
        AddError  Bad,                  "Bad", 255                      ; &FF MOS

; Key to BBC ROMs referenced above:
; CFS    Cassette, but errors apply equally to SFS which uses the same code
; SFS    Serial/Silicon FS, more commonly known as RFS selected with *ROM
; ADFS   Advanced disc
; DFS    Disc
; PS     Print server
; FS     File server
; IEEEFS IEEE488 adapter
; VFS    Video, as used with Domesday
; MOS    The OS itself
; GXR    Graphics extension
; SRAM   SRAM utilities in the Master/B+/Compact
; TFS    Teletext


; 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"
        AddError  BadPlatReas,          "BadPlatReas:Unknown OS_PlatformFeatures reason code"
        AddError  UnConv,               "UnConv:Unsupported conversion"
        AddError  ScreenModeBadReason,  "Zonk:Unknown OS_ScreenMode reason code"
        AddError  GDriverNotReg,        "GDNotReg:Graphics driver not registered"

; 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,       "Incomplete or corrupt JPEG data"
        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 fatal inconsistency"
        AddError2 Sprite_BadData,       "Unrecognised sprite data"
        AddError2 Sprite_NoGrScl,       "Operation 'PutSpriteGreyScaled' is not supported by this version of the SpriteExtend module"
        AddError2 Sprite_BadColourMap,  "Bad colour map"
        AddError2 Sprite_BadJPEGUnsupported, "JPEG format is not supported by this version of the SpriteExtend module"
        AddError2 Sprite_BadJPEGProgressive, "Progressive JPEG rendering failed due to an internal error"
        AddError2 Sprite_BadType,       "Sprite type is not supported by this version of the SpriteExtend module"

; 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


; SDFS errors

ErrorBase_SDFS * &00010000 + ( fsnumber_SDFS :SHL: 8 ) ; fs 192
 ASSERT @ <= ErrorBase_SDFS
 ^ ErrorBase_SDFS

; -----------------------------------------

; 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"
; Extra Level 1 error
        AddError  AutoTuningUnavailable,"Automatic tuning unavailable"

; 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_Joystick              *       &43F40  ;incorrectly uses SWI chunk

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)
                         ^ &0081EE00
ErrorBase_SDIO                  #       &100    ; &0081EE00 Ben Avison (ROOL)
ErrorBase_BootFX                #       &100    ; &0081EF00 Steve Revill (ROOL)
ErrorBase_ZLib                  #       &100    ; &0081F000 Jeffrey Lee - differs from the ROL ZLib error block
ErrorBase_VFPSupport            #       &100    ; &0081F100 Jeffrey Lee
ErrorBase_BCMSupport            #       &100    ; &0081F200 John Ballance
ErrorBase_BootCommands          #       &100    ; &0081F300 Rob Sprowson
ErrorBase_Switcher              #       &100    ; &0081F400 Rob Sprowson
ErrorBase_VCHIQ                 #       &100    ; &0081F500 Jeffrey Lee
        OPT     OldOpt
        END