        SUBT    Definitions of error strings and numbers => &.Hdr.NewErrors

OldOpt  SETA    {OPT}
        OPT     OptNoList+OptNoP1List

; *************** PLEASE KEEP ERRORS IN NUMERIC ORDER. THE MGT ****************

; ***********************************
; ***    C h a n g e   L i s t    ***
; ***********************************

; Date       Name   Description
; ----       ----   -----------
; 29-Sep-87  SKS    New FileSwitch errors. Removed 30-Sep-87
; 01-Oct-87  SKS    New FileSwitch kill error
; 06-Oct-87  BC     ROMFS error(s)
; 08-Oct-87  BC     ROMFS error(s)
; 09-Oct-87  NRaine Added Sprite_CantDoSystem error
; 09-Oct-87  NRaine Added Sprite_BadTranslation error
; 09-Oct-87  NRaine Added Sprite_BadGreyScale error
; 09-Oct-87  NRaine Deleted Font_BadScale error
; 12-Oct-87  BC     ROMFS error(s)
; 14-Oct-87  APT    Filing system special fields invalid on prepends to Oscli!
; 14-Oct-87  NRaine Added PrintNotFound error
; 19-Oct-87  PMF    Intelligent Interfaces error allocated
; 19-Oct-87  BC     Errors for Ports and Domains (Econet)
; 27-Oct-87  APT    "No Such SWI" made non-dynamic, 2 RdArgs errors added
; 29-Oct-87  NRaine Added Sprite_BadSwitchParam error
; 29-Oct-87  APT    BadRMHeaderField error
; 30-Oct-87  NRaine Added PrintBadDrawPage error
; 02-Nov-87  BC     FileToBig added to ROMFS
; 02-Nov-87  NRaine Added PrintTimeOut error
; 06-Nov-87  NRaine Added Sprite_BadMerge error
; 10-Nov-87  SKS    Added Logo errors
; 12-Nov-87  NRaine Changed Sprite_BadMerge error to Sprite_BadAppend
; 13-Nov-87  NRaine Added CantCancelQuit error (for quit handler module)
; 16-Nov-87  APT    IRQ Device errors
; 24-Nov-87  APT    Heap Locked error
; 25-Nov-87  NRaine Added WimpBadSyntax (validation strings) error
; 26-Nov-87  NRaine Added WimpNoTemplate error
; 26-Nov-87  NRaine Added WimpNoWimpPresent error
; 10-Dec-87  NRaine Added FontsInUse error
; 10-Dec-87  NRaine Added WimpInUse error
; 10-Dec-87  BC     An error chunk allocated to 'Resource'
; 15-Dec-87  BC     ROMFS error 'OffsetTooBig'
; 16-Dec-87  SKS    An error chunk for MyoLink
; 22-Dec-87  NRaine Added BadPathElement and NoCurrentPoint errors
; 12-Jan-88  APT    Added StackFull error
; 25-Jan-88  NRaine Added WimpBadPalFile error
; 25-Jan-88  SKS    Added InvalidErrorBlock error
; 26-Jan-88  SKS    Changed FileSwitch..Transient error
; 27-Jan-88  NRaine Added BadStrokeWidth error
; 28-Jan-88  NRaine Added Reserved error
; 29-Jan-88  SKS    Added ErrorBlock_SoundSampler,FFT
; 02-Feb-88  NRaine Removed Sprite_BadSwitchParam
; 02-Feb-88  NRaine Added Sprite_BadPointerShape
; 03-Feb-88  NRaine Added WimpBadVersion (R0 invalid on entry to Wimp_Init)
; 03-Feb-88  SKS    Added ErrorBlock_Arpeggio
; 08-Feb-88  SKS    Added ErrorBlock_FontAid
; 08-Feb-88  NRaine Added WimpBadMessageSize and WimpBadReasonCode
; 08-Feb-88  NRaine Added WimpBadTaskHandle
; 09-Feb-88  NRaine Added WimpCantKill
; 09-Feb-88  SKS    Added ErrorBlock_AlliedInteractive
; 17-Feb-88  TMD    Added Sprite_CantInTeletext
; 17-Feb-88  APT    Added chunk for shared library
; 19-Feb-88  NRaine Added WimpCantTask
; 24-Feb-88  BC+SKS Added DirNotEmpty
; 01-Mar-88  NRaine Changed WimpNoWimpPresent to WimpNotPresent
; 02-Mar-88  NRaine Changed WimpBadOp error message
; 02-Mar-88  NRaine Added WimpOwnerWindow error message
; 02-Mar-88  BC     Added Remoted, twiddled around with exceptions / abortions
; 03-Mar-88  TMD    Added Sprite_InvalidSaveArea
; 03-Mar-88  TMD    Added Sprite_SpriteIsCurrentDest
; 07-Mar-88  NRaine Added WimpBadMode error
; 08-Mar-88  SKS    Added CConcepts error blocks
; 18-Mar-88  SKS    Added Shell errors
; 30-Mar-88  SKS    Added FSFileTooBig error, amended OSCLI special error
; 08-Apr-88  SKS    Added FileSwitchKilled error
; 11-Apr-88  SKS    Rem'd FileSwitchKilled; added CantRMFasterFileSwitch error
; 11-Apr-88  APT    More Intelligent Interfaces error ids
; 11-Apr-88  SKS    Added AMSFinesse,Euclid errors
; 13-Apr-88  SKS    Added UnknownSerialOp and some ASSERTs
; 21-Apr-88  SKS    Added Sibelius errors
; 27-Apr-88  BC     Added Syntax & BadCommand errors for FSCLI
; 04-May-88  SKS    Added FAXPack errors
; 10-May-88  DJS    Added Draw errors, removed old Draw errors
; 11-May-88  DJS    Made wording of PathNotFlat error more generally applicable
; 12-May-88  DJS    More Draw errors added
; 18-May-88  ???    Removed pre-1.20 changed. Added CED error chunk.
; 18-May-88  NRaine Added WimpBadTransfer error
; 20-May-88  TMD    Corrected spelling of 'No room to insert row or coloum',
;                   changed Sprite_NoRoomToLoad to Sprite_NotEnoughRoom
; 23-May-88  NRaine Added WimpBadSysInfo error
; 27-May-88  SKS    Added inconsistent handle set error
; 27-May-88  DJS    Changed Draw errors for unimplemented facilities
; 30-May-88  DJS    Added Draw error for overflow during transformation
; 01-Jun-88  DJS    Added DrawNeedsGraphicsMode error
; 04-Jun-88  SKS    Added IsAFile error
; 09-Jun-88  NRaine Added FontCantKill error
; 13-Jun-88  APT    Added CallbackPending error
; 21-Jun-88  NRaine Added WimpBadPtrInR1 error
; 21-Jun-88  NRaine Change WimpBadSysInfo error (bad parameter passed in R0)
; 29-Jun-88  APT    Removed CallbackPending error
; 30-Jun-88  APT    Module too old, better RM not found
; 01-Jul-88  DJS    Shortened some Draw error messages
; 19-Jul-88  SKS    Added FileSwitchDataLost error
; 20-Jul-88  SKS    Amended FileSwitchDataLost error
; 26-Jul-88  SKS    Added AutoCue SWI chunk
; 01-Aug-88  BC     Aded TypesDontMatch for NetFS
; 01-Aug-88  SKS    Added WorldMap error chunk
; 05-Aug-88  NDR    Added FontBadSegment (for outline fonts)
; 12-Aug-88  SKS    Added BadFileType error
; 18-Aug-88  APT    RAMFsUnchangeable
; 19-Aug-88  SKS    Added 6502Emulator error chunk
; 30-Aug-88  SKS    Added error chunk for Realtime Graphics Language thing
; 09-Sep-88  SKS    Changed podule error strings
; 15-Sep-88  SKS    Added DigiTape error chunk
; 13-Oct-88  SKS    Added PRISMA3 error chunk
; 24-Oct-88  SKS    Added Pluto error chunk
; 31-Oct-88  SKS    Added PRES Utilties error chunk
; 03-Nov-88  SKS    Added BNI error chunk
; 09-Nov-88  SKS    Added WV error chunk
; 14-Nov-88  NRaine Added FontBadPrefix error
; 16-Nov-88  DJS    Removed old printer driver errors, added new ones
; 22-Nov-88  NRaine Added FontReserved error
; 28-Nov-88  APT    Updated printer driver errors
; 28-Nov-88  DJS    Added PrintNoCurrentSprite, corrected printer driver errors
; 29-Nov-88  DJS    More correction of printer driver errors
; 06-Dec-88  APT    Added PrintBadRectangle
; 07-Dec-88  APT    Improved PrintBadRectangle
; 07-Dec-88  SKS    Added another BNI error chunk
; 07-Dec-88  APT    Improved BadRectangle again; added PrintRectanglesMiss
; 10-Jan-89  BC     Added DABS Press Instigator module error block
; 10-Jan-89  BC     Added Beebug's ISO C module error block
; 17-Jan-89  APT    Added PrintNoFreeMemory error
; 23-Jan-89  BC     Added JBComputing's error block
; 23-Jan-89  BC     Added Simtron's error block
; 26-Jan-89  BC     Put in a base for the MIDI errors
; 03-Feb-89  NRaine Added FontBadCharCode
; 16-Feb-89  JRS    Added 3 MIDI errors
; 20-Feb-89  BC     Added an error block for Si-Plan Electronics Research
; 20-Feb-89  BC     Added an error block for Irlam Enterprise Limited
; 20-Feb-89  BC     Added an error block for Digital Service's Tape thingy
; 24-Feb-89  BC     Added an error block for Science Frontiers
; 01-Mar-89  BC     Added an error block for Paul Fray Limited
; 10-Mar-89  BC     Changed Digital Services second error block name
; 14-Mar-89  NRaine Added FontNotFound error with font name substitution
; 17-Mar-89  BC     Added an error block for Pineapple Software
; 04-Apr-89  DJS    Added two new printer driver errors
; 13-Apr-89  DJS    (pp NRaine) Changed FontBadPrefix error to substitute
;                     font name etc.
; 21-Apr-89  DJS    (pp NRaine) Added WimpBadEscapeState error
; 15-May-89  JRS    Added MIDI_RxBufferOverflow error
; 18-May-89  BC     Added BadDate error to NetFS
; 01-Jun-89  BC     Added ErrorBase_RhiannonLisp for Rhiannon Publishing
; 05-Jun-89  BC     Added ErrorBase_CCSuperMonochrome for Computer Concepts
; 11-Jun-89  BC     Changed "Bad control byte value" to "Bad flag byte value"
; 11-Jun-89  BC     Changed "printer server" to "printer" in NetPrint errors
; 11-Jun-89  BC     Added new strings for AllPrintersBusy
; 23-Jun-89  BC     Added ErrorBase_AtomwideLimited
; 30-Jun-89  BC     Added ErrorBase_Beebug
; 11-Jul-89  BC     Changed all '"' to "'" in the NetPrint error strings
; 18-Jul-89  BC     Added ErrorBase_SolentComputers for Paul Fellows
; 19-Jul-89  DJS    Changed "Assert" to "ASSERT" in SCSIFS error section
; 31-Jul-89  NRaine Added WimpBadIconHandle error
; 01-Aug-89  NRaine Added WimpBadR3 error
; 09-Aug-89  NRaine Added FontNoBitmaps error
; 10-Aug-89  BC     Added NetFSInternalError, "Fatal internal error"
; 24-Aug-89  JRoach Added NFS errors
; 24-Aug-89  NRaine Corrected that last one (backward blip changed to @)
; 29-Aug-89  NRaine Added FontNoBitmaps2 error (for Font_SwitchOutputToBuffer)
; 30-Aug-89  JRoach Added more NFS errors.
; 30-Aug-89  BC     Added BadNetFSFilename
; 04-Sep-89  TMD    Modified BadTime error message (was null)
; 08-Sep-89  NRaine Added DeskFSReadOnly error, and changed ErrorNumber_DeskNotSupported
; 14-Sep-89  NRaine Added NoDotInFilename error
; 20-Sep-89  GStark Added Sprite_BadFlags error
; 21-Sep-89  GStark Added Sprite_BadCoordBlock error
;                   Added Sprite_BadSourceRectangle error
;                   Added Sprite_BadTransformation error
; 02-Oct-89  BC     Added ErrorBase_NextTechnology (&00803400)
; 03-Oct-89  BC     Added ErrorBase_FosterFindlay (&00803500)
; 09-Oct-89  BC     Added ErrorBase_DVSSystems (&00803600)
; 09-Oct-89  BC     Added ErrorBase_SoftOption (&00803700)
; 18-Oct-89  GStark Added ColourTrans error block, and Bad Calibration Error
; 27-Oct-89  GStark Added ColourTrans OverflowInConversion error
; 31-Oct-89  TMD    Added ARM3 error block, and errors for this module
; 01-Nov-89  BC     Added ErrorBase_Logotron (&00803800)
; 01-Nov-89  BC     Added ErrorBase_Phobox (&00803900)
; 02-Nov-89  BC     Added NetFSFileNotFound, InsufficientNetFSAccess, and IsANetFSDirectory
; 08-Nov-89  BC     Added FileServerNotCapable, &1058E
; 17-Nov-89  NRaine Added FontBadMetricsName
; 20-Nov-89  BC     Added TestEconetSyntax
; 01-Dec-89  BC     Added two errors for Broadcast Loader
; 05-Dec-89  BC     Added an error base for Anglia TV &00803A00
; 12-Dec-89  BC     Added new error for Broadcast Loader
; 05-Jan-90  WS     Added an error base for Cunning Running Software Ltd. &00803B00
; 05-Jan-90  WS     Added an error base for Racing Car Computers &00803C00
; 26-Jan-90  BC     Added an error base for Pandora Technology Limited &00803D00
; 19-Feb-90  NDR    Added DeskFS errors
; 22-Feb-90  NDR    Added ResourceFS errors
; 26-Feb-90  BC     Added an error base for Digithurst Limited &00803E00
; 02-Mar-90  BC     Cut Debugger error chunk in two for HLL Debugger
; 26-Mar-90  BC     Added an error base for USARC Software Ontwikkeling &00803F00
; 11-Apr-90  BC     Added an error base for Control Computer Consultants &00804000
; 25-Apr-90  BC     Added an error base for Resource &00804100
; 27-Apr-90  NDR    Changed the name of the new Resource error base to Resource2
; 27-Apr-90  NDR    Added PipeFS errors
; 01-May-90  NDR    Added FileOpen error, and more PipeFS errors
; 09-May-90  NDR    Added TaskWindow errors
; 10-May-90  BC     Added SetScrapSyntax error
; 17-May-90  NDR    Added TaskWindow_NoEditor error
; 11-Jul-90  BC     Added an error base for Spacetech &00804200
; 17-Jul-90  NDR    Changed TaskWindow_NoEditor error text
;                   Added TaskWindow_NoRedirection error
; 18-Jul-90  JSR    Added the following _FileSwitch_ errors:
;                       LibrarySomewhereElse
;                       PathIsSelfContradictory
;                       WasntDollarAfterDisc
;                       NotEnoughMemoryForWildcardResolution
;                       NotEnoughStackForWildcardResolution
;                       DirectoryWantedFileFound
;                       NotFound
; 24-Jul-90  BC     Added an error base for Aietos &00804200
; 26-Jul-90 GStark  Added new PDriver/PDumper errors
; 10-Aug-90  BC     Added an error for the Broadcast Loader ==> BroadcastServerDead
; 17-Aug-90  JSR    Added the following FileSwitch errors:
;                       RecursivePath
;                       MultipartPathUsed
; 23-Aug-90  BC     Added an error base for ROMBO Productions &00804500
; 03-Sep-90  JSR    Added MultiFSDoesNotSupportGBPB11
; 01-Oct-90  BC     Added PCEmulator errors &20500 for Jim Sutton
; 01-Oct-90  BC     Added ErrorBase_Armadillo &00804600
; 30-Oct-90  TMD    Unnullified the OS's BadModuleReason error, and split it in two
; 13-Nov-90  BC     Removed the actual errors for the PCEm, leaving only the block defined
; 14-Nov-90  BC     Added an error chunk for Acorn's DDE
; 20-Nov-90  NDR    Added BadFontCacheFile error
; 10-Dec-90  DDV    Added Buffer Manager errors
;                         BufferManager_BadSWI
;                         BufferManager_BadBuffer
;                         BufferManager_TooManyBuffers
;                         BufferManager_InUse
;                         BufferManager_NotYetImplemented
; 10-Dec-90  NDR    Added FontFieldNotFound
; 11-Dec-90  DDV    Added BufferManager_UnableToDetach 
; 14-Dec-90  DDV    Added some messages for serial/parallel devices, removed not yet implemented for 
;                   Buffer manager.
; 16-Dec-90  BC     Added one for the Broadcast Loader WorkspaceNotReleased
; 17-Dec-90  DDV    Added DeviceDriver_UnknownBuffer.
; 17-Dec-90  NDR    Added FontBadMatrix
; 21-Dec-90  BC     Added an error chunk for Eastmond Publishing
;  8-Jan-91  NDR    Added FontOverflow, FontDivby0 and FontBadReadFontMetrics
;  8-Jan-91  DDV    Added some new DeviceFS errors + twiddled with some others (tee hee)
; 10-Jan-91  NDR    Added MessageTrans errors
; 11-Jan-91  JAB    Added ErrorBase_Beebug2 &00804800
; 11-Jan-91  DDV    Added DeviceFS: _BadRegister, _Locked & _DeviceInUse (and changed _InUse text)
; 11-Jan-91  BC     Added ErrorBase_LeComputer &00804900 for Vanessa Lees
; 15-Jan-91  DDV    Added ColourTrans_BadHSV (for colour conversion SWIs)
; 17-Jan-91  DDV    Added some new ones for DeviceFS (+ removed some redundant ones)
; 21-Jan-91  DDV    Removed device driver errors.
; 30-Jan-91  JAB    Added ErrorBase_PCArnold &804900
; 04-Jan-91  DDV    Added BufferManager_HandleAlreadyUsed.
; 04-Jan-91  DDV    Added some more for DeviceFS
; 06-Feb-91  DDV    Corrected typo in DeviceFS_BadValidation + added a new one.
; 06-Feb-91  BC     Added ErrorBase_CambridgeSystems &00804A00
; 12-Feb-91  JAB    Added ErrorBase_Commotion &00804B00
; 13-Feb-91  DDV    Added one for DeviceFS and tweeked ColourTrans ones.
; 13-Feb-91  NDR    Added FontBadRGB and altered message for FontBadTranBits, FontNotEnoughBits, FontPalTooBig
; 18-Feb-91  TMD    Added BadReadSysInfo
; 19-Feb-91  JAB    Added ErrorBase_SuperiorSoftware  &00804C00
; 25-Feb-91  ECN    Internationalise Draw errors
; 26-Feb-91  JAB    Added ErrorBase_AtomWidePIA &00804D00
; 28-Feb-91  NDR    Added FontEncodingNotFound error, and altered errors referring to font name
; 28-Feb-91  NDR    Corrected Draw errors (no commas!)
;  4-Mar-91  NDR    Added FontMustHaveSlash, FontBadEncodingSize, FontTooManyIdentifiers,
;                         FontNoBaseEncoding and FontIdentifierNotFound errors
;  5-Mar-91  NDR    Added FontTooManyChunks
;  7-Mar-91  ECN    More Internationalisation + DDT errors
; 12-Mar-91  DDV    Added another for DeviceFS.
; 15-Mar-91  ECN    More Internationalisation.
; 15-Mar-91  DDV    Added a chunk for serial device.
; 18-Mar-91  DDV    Corrected typo in serial errors.
; 21-Mar-91  ECN    Added SoundChannels_IllegalVoice
; 26-Mar-91  NRaine Added FontBadFontFile2
; 27-Mar-91  OSmith Added more international flavour general module errors
;  3-Apr-91  JRoach Added TooManyErrorLookups and MessageFileBusy
;  8-Apr-91  NRaine Removed all font manager errors (moved into FontMgr sources)
; 10-Apr-91  DDV    Removed all DeviceFS errors (moved to DeviceFS sources)
; 12-Apr-91  DDV    Removed all Buffer Manager and Parallel device driver errors from this file.
; 13-Apr-91  BC     Added one for the BroadcastLoader
; 14-Apr-91  DDV    Error chunk allocated to serial device driver removed (now in serial sources)
; 09-May-91  DDV    Sorted out ones for PDumpers and PDrivers.
; 24-May-91  DDV    Added new one for printer drivers MiscOp SWI.
; 02-Jun-91  Dizzy  ..and another for the printer drivers.
; 05-Jun-91  Dizzy  Added one for output switched to sprite and writing palette.
; 19-Jun-91  RM     Added Pinboard errors.
; 27-Jun-91  DDV    Added another for the printer drivers
; 01-Jul-91  DDV    Added block for Mercenary Software
; 10-Jul-91  DDV    Changed some of the Sprite Extend messages
; 18-Jul-91  JAB    Added ErrorBase_DabsPress &00805000
; 23-Jul-91  JAB    Added ErrorBase_AceComputing &00805100
; 02-Aug-91  JAB    Added ErrorBase_DTSoftware &00805300
; 05-Aug-91  DDV    Added error for the Draw module and miter limiting
; 05-Aug-91  JAB    Added ErrorBase_Uniqueway &00805400                
; 07-Aug-91  JAB    Added ErrorBase_BIALtd &00805500 for customer services
; 09-Aug-91  JAB    Added ErrorBase_Hybrid &00805600
; 19-Aug-91  JAB    Added ErrorBase_Cumana &00805700
; 19-Aug-91  JAB    Added ErrorBase_KlineComputers &00805800
; 22-Aug-91  DDV    Added another one for ColourTrans (CTransBadMiscOp)
; 22-Aug-91  TMD    Removed ErrorBase_DeviceDrivers, added ErrorBase_Parallel, ErrorBase_Serial
; 27-Aug-91  TMD    Added ErrorBase_SerialUtils
; 27-Aug-91  JAB    Added ErrorBase_AtomwideEtherA &00805900
; 02-Sep-91  DDV    Replaced ColourTrans jobbies with shorted tokens
; 03-Sep-91  JAB    Added ErrorBase_MarkLogie &00805A00 for Customer Services
; 12-Sep-91  DDV    Added NaffSWI and NaffMode
; 18-Sep-91  JSR    Added PartitionBusy
; 25-Sep-91  JAB    Added ErrorBase_NickSmith &00805B00 for Nick Smith
; 07-Oct-91  TMD    Corrected two errors ",:" in kernel errors
;                   Rationalised sprite errors a bit
;                   Added Sprite_BadSpriteFile error
; 07-Oct-91  DDV    Updated Draw module errors to reflect change to Draw in IRQ
; 23-Oct-91  SMC    Changed Pinboard errors to tokens
; 24-Oct-91  DDV    Added new PDumper errors
; 24-Oct-91  DDV    Added PDumperInUse
; 02-Nov-91  DDV    Added CantKill2 
; 26-Nov-91  JAB    Added ErrorBase_ReallyGoodSoftware &00805C00
; 26-Nov-91  JAB    Added ErrorBase_JamesBye &00805D00
; 02-Dec-91  TMD    Added BadHard error
; 09-Dec-91  CDP    Added error allocation for Portable module (see module)
; 13-Dec-91  ArtG   Added ErrorBase_AcornHWTest (in ISV area)
; 03-Feb-92  BC     Removed defaults from MessageTrans errors
; 04-Feb-92  JAB    Added ErrorBase_MidnightGraphics &00806000
; 04-Feb-92  JAB    Added ErrorBase_PhilipBanks &00806100
; 14-Feb-92  LVR    Removed '\0' from error RMNotFound
; 17-Feb-92  JAB    Added ErrorBase_DavidPilling &00806200
; 17-Feb-92  JAB    Added ErrorBase_ArxeSystems &00806300
; 17-Feb-92  LVR    Correct spelling of writable (note no 'e') for G-RO-9778
; 27-Feb-92  BC     Add a new error for NetFS (for Cannonicalise)
; 27-Feb-92  JAB    Added ErrorBase_AlephOne &00806400
; 11-Mar-92  JSR    Added MessageTrans_Recurse.
; 16-Mar-92  JAB    Added ErrorBase_AcornNZ &00806500
; 20-Mar-92  SMC    Added Filer errors
; 07-Apr-92  BC     Added Fatal internal error for NetPrint
; 07-Apr-92  BC     Added File too big (24bit) for NetFS
; 09-Apr-92  JAB    Added ErrorBase_Intertech &00806600
; 09-Apr-92  JAB    Added ErrorBase_CentralComputerCons &00806700
; 22-Apr-92  DDV    Added error base for HHG
;
;
; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; 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
 AddError BadMODE,          "BadMODE:Bad MODE", 25
 AddError NaffMODE,         "Bad MODE",25
 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
 AddError BadModuleReason, "BadModuleReason:Unknown OS_Module call"
 AddError 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"
 AddError 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

; 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"
 AddError 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
 AddError HeapBadReason,      "HeapBadReason:Bad reason code"
 AddError HeapFail_Init,      "HeapFailInit:Can't initialise heap"
 AddError HeapFail_BadDesc,   "BadDesc:Bad heap descriptor"
 AddError HeapFail_BadLink,   "BadLink:Heap corrupted"
 AddError HeapFail_Alloc,     "HeapFailAlloc:Heap Full"
 AddError HeapFail_NotABlock, "NotABlock:Not a heap block"
 AddError HeapFail_BadExtend, "BadExtend:No RAM for extending heap"
 AddError HeapFail_ExcessiveShrink, "ExcessiveShrink:Can't shrink heap any further"
 AddError HeapFail_HeapLocked,"Heap Manager busy" 


; Vector claim/release errors

 ASSERT @ <= &1A0
 ^ &1A0
 AddError BadClaimNum, "BadClaimNum:Bad vector number"
 AddError NaffRelease, "NaffRelease:Bad vector release"
 AddError NaffDevNo,   "NaffDevNo:Bad device number"
 AddError BadDevVecRel,"BadDevVecRel:Bad device release" 


; Environment alteration SWI errors

 ASSERT @ <= &1B0
 ^ &1B0
 AddError 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"


; 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"


; Font errors

 ASSERT @ <= &200
 ^ &200
; these errors moved into Font Manager sources

; Wimp errors

 ASSERT @ <= &280
 ^ &280
 AddError WimpNoClaim,       "NoClaim"        ;"Wimp unable to claim work area"
 AddError WimpBadOp,         "BadOp"          ;"Invalid Wimp operation in this context"
 AddError 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
 AddError WimpGetRect,       "GetRect"        ;"Get_Rectangle not called correctly"
 AddError WimpFocus,         "Focus"          ;"Input focus window not found"
 AddError WimpBadHandle,     "BadHandle"      ;"Illegal window handle"
 AddError WimpTooMenus,      "TooMenus"       ;"Too many menus"
 AddError WimpBadExtent,     "BadExtent"      ;"Bad work area extent"
 AddError WimpBadPointer,    "BadPointer"     ;"Syntax: *POINTER <0|1|2>"
 AddError WimpNoTemplateFile,"NoTemplateFile" ;"Template file not found"
 AddError WimpBadTemplate,   "BadTemplate"    ;"Template entry invalid"
 AddError WimpBadFonts,      "BadFonts"       ;"Unable to bind font handle"
 AddError WimpBadSyntax,     "BadSyntax"      ;"Syntax error in validation string"
 AddError WimpNoTasks,       "NoTasks"        ;"Too many tasks"
 AddError WimpNoTemplate,    "NoTemplate"     ;"Template entry not found"
 AddError WimpNotPresent,    "Window manager not present / too old"
 AddError WimpInUse,         "InUse"          ;"Window manager in use"
 AddError WimpBadPalFile,    "BadPalFile"     ;"Error in palette file"
 AddError WimpBadVersion,    "BadVersion"     ;"Bad version number passed to Wimp_Initialise"
 AddError WimpBadMessageSize,"BadMessageSize" ;"Message block is too big / not a multiple of 4"
 AddError WimpBadReasonCode, "BadReasonCode"  ;"Illegal reason code given to SendMessage"
 AddError WimpBadTaskHandle, "BadTaskHandle"  ;"Illegal task handle"
 AddError WimpCantTask,      "CantTask"       ;"Can't start task from here"
 AddError WimpBadSubMenu,    "BadSubMenu"     ;"Submenus require a parent menu tree"
 AddError WimpOwnerWindow,   "OwnerWindow"    ;"Access to window denied"
 AddError WimpBadMode,       "BadMode"        ;"Bad Wimp mode"
 AddError WimpBadTransfer,   "BadTransfer"    ;"Wimp transfer out of range"
 AddError WimpBadSysInfo,    "BadSysInfo"     ;"Bad parameter passed to Wimp in R0"
 AddError WimpBadPtrInR1,    "BadPtrInR1"     ;"Bad pointer passed to Wimp in R1"
 AddError WimpBadEscapeState,"BadEscapeState" ;"Wimp_Poll called with escape enabled!"
 AddError 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."
 AddError TemplateEOF,       "TemplateEOF"    ;"End of file while reading template file."

; Convert date and time errors

 ASSERT @ <= &2C0
 ^ &2C0
 AddError CDATStackOverflow,    "CDATStackOverflow:Stack overflow"
 AddError CDATBufferOverflow,   "CDATBufferOverflow:Buffer overflow"
 AddError 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"

 ; 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
 AddError NetFSVectorCorrupt,   "Unable to release, not top entry in NetFS entry vector"
 AddError SWIVectorCorrupt,     "Unable to release, not top entry in SWI thread"
 AddError 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
 AddError FileSwitchNoClaim,    "Unable to claim FileSwitch workspace"
 AddError BadFSControlReason,   "Bad FSControl call"
 AddError BadOSFileReason,      "Bad OSFile call"
 AddError BadOSArgsReason,      "Bad OSArgs call"
 AddError BadOSGBPBReason,      "Bad OSGBPB call"
 AddError BadModeForOSFind,     "Bad mode for OSFind"
 AddError NoRoomForTransient,   "No room to run transient"
 AddError ExecAddrNotInCode,    "Execution address not within code"
 AddError 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"
 AddError UnalignedFSEntry,     "Unaligned filing system entry point"
 AddError UnsupportedFSEntry,   "Filing system does not support this operation"
 AddError FSNotSpecial,         "Filing system does not support special fields"
 AddError CoreNotReadable,      "No readable memory at this address"
 AddError CoreNotWriteable,     "No writable memory at this address"
 AddError 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"
 AddError InvalidErrorBlock,    "Invalid error block"
 AddError FSFileTooBig,         "File too big" ; Clashed with ROMFS FileTooBig
 AddError CantRMFasterFileSwitch, "Can't RMFaster FileSwitch"
 AddError 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"
 AddError MultiFSDoesNotSupportGBPB11, "The OS_GBPB 11 call is not supported by MultiFS images"

 AddError FileSwitchDataLost,   "Data lost", &4AC ; Consistent with ADFS
 AddError 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 podule number"
 AddError BadSpeed,        "Bad access speed"
 AddError NoPod,           "No installed podule"
 AddError NotExt,          "Podule identity is not extended"
 AddError NotAcrn,         "Podule is not 'Acorn'"
 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 <Podule number> [<device> [<type>]]", ErrorNumber_Syntax
 AddError WrongPoduleType, "Wrong podule type"
 AddError ROMBoardSyntax,  "Syntax: *Configure ROMBoard <podule> <device> [<type>]", ErrorNumber_Syntax


; Errors generated by podule loaders

 ASSERT @ <= &580
 ^ &580
 AddError NotWriteable,         "This podule doesn't support writable devices"
 AddError AddressRange,         "Address out of range for podule"
 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


; 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
 AddError Sprite_NoWorkSpace,         "SNoWorkSpace:No sprite memory", 128
 AddError Sprite_NoRoom,              "SNoRoom:No room to get sprite", 130
 AddError Sprite_DoesntExist,         "SDoesntExist:Sprite doesn't exist", 134
 AddError Sprite_NoSprites,           "NoSprites:No sprites", 131
 AddError Sprite_NotGraphics,         "NotGraphics:Not a graphics mode", 129
 AddError Sprite_NotEnoughRoom,       "SNotEnoughRoom:Not enough room", 133
 AddError Sprite_BadSpriteFile,       "SBadSpriteFile:Bad sprite file"
 AddError Sprite_NoRoomToMerge,       "SNoRoomToMerge:Not enough room to add sprite"
 AddError Sprite_Crap2ndPtr,          "SCrap2ndPtr:Bad 2nd ptr"
 AddError Sprite_InvalidRowOrCol,     "InvalidRowOrCol:Invalid row or column"
 AddError Sprite_InvalidHeight,       "InvalidHeight:Invalid height"
 AddError Sprite_InvalidWidth,        "InvalidWidth:Invalid width"
 AddError Sprite_NoRoomToInsert,      "NoRoomToInsert:Not enough memory to insert sprite row or column"
 AddError Sprite_SpriteAlreadyExists, "SpriteAlreadyExists:Sprite already exists"
 AddError Sprite_InvalidSpriteMode,   "InvalidSpriteMode:Invalid sprite mode"
 AddError Sprite_BadReasonCode,       "SBadReasonCode:Bad sprite reason code"
 AddError Sprite_CantDoSystem,        "System sprites not allowed here"
 AddError Sprite_BadTranslation,      "Bad colour translation table"
 AddError Sprite_BadGreyScale,        "Grey-scale only does 16 colours"
 AddError Sprite_BadPointerShape,     "Unsuitable sprite for SetPointerShape"
 AddError Sprite_BadAppend,           "Can't append sprite"
 AddError Sprite_CantInTeletext,      "CantInTeletext:Can't switch output in teletext mode"
 AddError Sprite_InvalidSaveArea,     "SInvalidSaveArea:Invalid save area"
 AddError Sprite_SpriteIsCurrentDest, "SpriteIsCurrentDest:Sprite is current destination"
 AddError Sprite_BadFlags,            "Attempt to set reserved flags"
 AddError Sprite_BadCoordBlock,       "Source rectangle not inside sprite"
 AddError Sprite_BadSourceRectangle,  "Source rectangle area zero"
 AddError Sprite_BadTransformation,   "SpriteExtend can only do linear transformations"

; 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
  AddError NoDrawInIRQMode,       "Draw module does not work in from IRQ mode"
  AddError BadDrawReasonCode,     "Bad Draw_ProcessPath reason code"
  AddError ReservedDrawBits,      "Reserved bits not zero"
  AddError InvalidDrawAddress,    "Invalid address"
  AddError BadPathElement,        "Bad path element"
  AddError BadPathSequence,       "Path elements out of order"
  AddError MayExpandPath,         "Operation may change path length"
  AddError PathFull,              "Output path full"
  AddError PathNotFlat,           "Path needs to be flattened"
  AddError BadCapsOrJoins,        "Invalid cap and join specification"
  AddError TransformOverflow,     "Overflow while transforming point"
  AddError DrawNeedsGraphicsMode, "Draw can only plot to graphics modes"
  AddError NoSuchDrawSWI,         "No such Draw SWI", ErrorNumber_NoSuchSWI

; The following Draw errors is used for all unimplemented Draw facilities

 ASSERT @ <= &9FF
 ^ &9FF
  AddError 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"

 AddError CTBadCalib,           "Bad calibration table"
 AddError CTConvOver,           "Overflow in conversion"
 AddError CTBadHSV,             "Hue should be undefined in achromatic colours"
 AddError CTSwitched,           "Not whilst output switched to sprite"
 AddError CTBadMiscOp,          "Unknown MiscOp call"
 AddError CTBadFlags,           "Reserved fields must be zero"
 AddError CTBuffOver,           "Buffer too small to read palette into"

 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"
 AddError TaskWindow_BadSWIEntry,   "Can't restore SWI table properly"
 AddError TaskWindow_BadTaskHandle, "Bad task or text handle"
 AddError 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?"
 AddError 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

 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
 ^ &B50 ; Error block for Filer
 AddError Filer_NoRecursion,    "NoRecur"
 AddError Filer_NoTemplate,     "NoTempl"
 AddError Filer_FailedSave,     "BadSave"
 AddError Filer_BadPath,        "BadPath"

 ASSERT @ <= &BC0

; 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"           
 AddError NetFSInternalError,    "Fatal internal error"
 AddError FileServerNotCapable,  "Not possible on this file server"
 AddError BroadcastServerDead,   "Broadcast server not responding"
 AddError FileServerOnly24Bit,   "File too big"

; These errors are grouped here with the filing system ones since
; they are errors associated with filing system specific transients

                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"
 AddError NetPrintInternalError,    "Fatal internal error"

; 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"
 AddError BadSoundIRQClaim,"Sound Level0 failed to claim IRQ vector"
; Sound Level 1 only (share some Level 0)
 AddError BadSound1Init,"Unable to claim sufficient Sound Level 1 heap space"
 AddError BadSoundVoice,"Bad sound voice"
; Sound Level 2 only (share some Level 0)
 AddError BadSound2Init,"Unable to claim sufficient Sound Level 2 heap space"
; Voices
 AddError BadVoiceInit,"Unable to claim sufficient Sound Voice heap space"
; Extra Level 1 error
 AddError IllegalVoice, "Illegal voice index"

; SCSI driver errors

 ASSERT @ <= &20100
 ^ &00020100
 AddError SCSI_FailClaim,"SCSI failed to allocate required RAM at initialise"
 AddError SCSI_IDLost,"The SBIC has lost it's SCSI ID"
 AddError SCSI_SBICBusy,"The SBIC is busy performing a command"
 AddError SCSI_PanicMess,"Panic - the SBIC has lost track of things"
 AddError SCSI_CheckAux,"Check Aux register"
 AddError SCSI_MegaText,"An error or situation that is undefined has occurred"


; VideoCommands errors

 ASSERT @ <= &20200
 ^ &00020200
 AddError Video_FailClaim,"Video failed to claim its workspace"
 AddError Video_BadVpError,"Parameter to VP must be 1 to 5 or X"
 AddError Video_BadFcodeError,"Bad f-code"
 AddError Video_BadSpeedError,"Bad speed parameter"


; IIC errors

 ASSERT @ <= &20300
 ^ &00020300
 AddError IIC_NoAcknowledge,"No acknowledge from IIC device"


; 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_AcornHHG              # &100


 ASSERT @ <= &20900
 ^ &00020900

; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; 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_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.)
ErrorBase_HardCopy              # &100  ; &00800100
ErrorBase_MinervaSystems        # &100  ; &00800200
ErrorBase_FrameGrabber          # &100  ; &00800300 Mike Harrison
ErrorBase_Clares                # &100  ; &00800400
ErrorBase_IEEE488               # &100  ; &00800500 Intelligent Interfaces (they think 800600, sorry chaps)
ErrorBase_Logo                  # &100  ; &00800600 Acornsoft/Logotron
ErrorBase_Resource              # &100  ; &00800700
ErrorBase_MyoLink               # &100  ; &00800800 L van Someren
ErrorBase_SoundSampler          # &100  ; &00800900 DFell
ErrorBase_FFT                   # &100  ; &00800A00 DFell
ErrorBase_Arpeggio              # &100  ; &00800B00 Mike Beecher/EMR
ErrorBase_FontAid               # &100  ; &00800C00 CJE Micros
ErrorBase_AlliedInteract        # &100  ; &00800D00
ErrorBase_CSharedLibrary        # &100  ; &00800E00 Acorn (PLG)
ErrorBase_CCSpell               # &100  ; &00800F00 Computer Concepts
ErrorBase_CCWord                # &100  ; &00801000 Computer Concepts
ErrorBase_CCDraw                # &100  ; &00801100 Computer Concepts
ErrorBase_II16BitPIO            # &100  ; &00801200 Intelligent Interfaces
ErrorBase_II12BitADC            # &100  ; &00801300 Intelligent Interfaces
ErrorBase_IIRS423               # &100  ; &00801400 Intelligent Interfaces
ErrorBase_Finesse               # &100  ; &00801500 AMS
ErrorBase_Euclid                # &100  ; &00801600 Ace computing
ErrorBase_Sibelius              # &100  ; &00801700 Genesis E+T Ltd
ErrorBase_FAXPack               # &100  ; &00801800 Computer Concepts
ErrorBase_CED1401Driver         # &100  ; &00801900 Cambridge Electronic Design
ErrorBase_AutoCue               # &100  ; &00801A00 Capricorn Consultants
ErrorBase_WorldMap              # &100  ; &00801B00 CRFrancis world maps
ErrorBase_6502Emulator          # &100  ; &00801C00 Acorn (SSwales)
ErrorBase_RGL                   # &100  ; &00801D00 Silicon Vision Ltd (Realtime Graphics)
ErrorBase_DigiTape              # &100  ; &00801E00 Digital Services Tape Streamer
ErrorBase_Prisma3               # &100  ; &00801F00 Millipede
ErrorBase_Pluto                 # &100  ; &00802000 Lendac Data Systems
ErrorBase_PRESUtils             # &100  ; &00802100 PRES
ErrorBase_BNIProg               # &100  ; &00802200 Burden Neurological Institute
ErrorBase_WVProducts            # &100  ; &00802300 Wild Vision
ErrorBase_BNILab                # &100  ; &00802400 Burden Neurological Institute
ErrorBase_Instigator            # &100  ; &00802500 DABS Press Instigator module
ErrorBase_BeebugISOC            # &100  ; &00802600 Beebug's ISO C module
ErrorBase_JBComputing           # &100  ; &00802700 John Ballance Computing's SCSI
ErrorBase_Simtron               # &100  ; &00802800 Simtron (Archway)
ErrorBase_SiPlan                # &100  ; &00802900 Si-Plan Electronics Research
ErrorBase_Irlam                 # &100  ; &00802A00 Irlam Enterprise Limited
ErrorBase_DigiTape2             # &100  ; &00802B00 Digital Services
ErrorBase_ScienceFrontiers      # &100  ; &00802C00 Science Frontiers
ErrorBase_PaulFrayLimited       # &100  ; &00802D00 Paul Fray Limited
ErrorBase_PineappleSoftware     # &100  ; &00802E00 Pineapple Software
ErrorBase_RhiannonLisp          # &100  ; &00802F00 Rhiannon Publishing
ErrorBase_CCSuperMonochrome     # &100  ; &00803000 Computer Concepts
ErrorBase_AtomwideLimited       # &100  ; &00803100 Atomwide Limited
ErrorBase_Beebug                # &100  ; &00803200 Beebug
ErrorBase_SolentComputers       # &100  ; &00803300 Paul Fellows
ErrorBase_NextTechnology        # &100  ; &00803400 NextTechnology
ErrorBase_FosterFindlay         # &100  ; &00803500 Foster Findlay Associates
ErrorBase_DVSSystems            # &100  ; &00803600 DVS Systems
ErrorBase_SoftOption            # &100  ; &00803700 Soft Option
ErrorBase_Logotron              # &100  ; &00803800 Logtron (Numerator & PenDown)
ErrorBase_Phobox                # &100  ; &00803900 Phobox Electronics
ErrorBase_AngliaTV              # &100  ; &00803A00 Anglia TV
ErrorBase_CunningRunning        # &100  ; &00803B00 Cunning Running Software Ltd
ErrorBase_RacingCarComputers    # &100  ; &00803C00 Racing Car Computers
ErrorBase_PandoraTechnologyLtd  # &100  ; &00803D00 Pandora Technology Limited
ErrorBase_DigithurstLimited     # &100  ; &00803E00 Digithurst Limited
ErrorBase_USARC                 # &100  ; &00803F00 USARC Software Ontwikkeling
ErrorBase_ControlComputerCons   # &100  ; &00804000 Control Computer Consultants
ErrorBase_Resource2             # &100  ; &00804100 Resource (as well as the one at &700)
ErrorBase_Spacetech             # &100  ; &00804200 Spacetech
ErrorBase_Aietos                # &100  ; &00804300 Aietos
ErrorBase_LeeCalcraft           # &100  ; &00804400
ErrorBase_ROMBOProductions      # &100  ; &00804500 ROMBO Productions
ErrorBase_Armadillo             # &100  ; &00804600
ErrorBase_EastmondPublishing    # &100  ; &00804700
ErrorBase_Beebug2               # &100  ; &00804800 Beebug
ErrorBase_PCArnold              # &100  ; &00804900 PC Arnold Technical Services
ErrorBase_CambridgeSystems      # &100  ; &00804A00 Cambridge Systems Design (J.Davies)
ErrorBase_Commotion             # &100  ; &00804B00 Commotion (Ting)
ErrorBase_SuperiorSoftware      # &100  ; &00804C00 Superior Software (Steve Hanson)
ErrorBase_AtomWidePIA           # &100  ; &00804D00 Atomwide (Martin Coulson)
ErrorBase_DreamTimeSoftware     # &100  ; &00804E00 DreamTime Software
ErrorBase_MercenarySoftware     # &100  ; &00804F00 Mercenary Software (Rob Hamilton)
ErrorBase_DabsPress             # &100  ; &00805000 Dabs Press
ErrorBase_AceComputing          # &100  ; &00805100 Ace Computing (Tony Cheal)
ErrorBase_Watford               # &100  ; &00805200 Watford (Chris Honey)
ErrorBase_DTSoftware            # &100  ; &00805300 DT Software (David Knell)
ErrorBase_Uniqueway             # &100  ; &00805400 Uniqueway Ltd (SJ Middelton)
ErrorBase_BIALtd                # &100  ; &00805500 for customer services
ErrorBase_Hybrid                # &100  ; &00805600 Hybrid (Tony Thompson)
ErrorBase_Cumana                # &100  ; &00805700 Cumana (Chris Magee)
ErrorBase_KlineComputers        # &100  ; &00805800 Kline Computers 
ErrorBase_AtomwideEtherA        # &100  ; &00805900 Atomwide (for their Ethernet card only
ErrorBase_MarkLogie             # &100  ; &00805A00 for Customer services
ErrorBase_NickSmith             # &100  ; &00805B00 Nick Smith (School boy!)
ErrorBase_ReallyGoodSoftware    # &100  ; &00805C00 The Really Good Software Company
ErrorBase_JamesBye              # &100  ; &00805D00 James Bye (not for Acorn)
ErrorBase_AcornHWTest           # &100  ; &00805E00 Acorn H/W test applications
ErrorBase_CadSoft               # &100  ; &00805F00 Mike Flannagan (CadSoft)
ErrorBase_MidnightGraphics      # &100  ; &00806000 David Tonlinson,Midnight Graphics
ErrorBase_PhilipBanks           # &100  ; &00806100 Philip Banks (CS 5852)
ErrorBase_DavidPilling          # &100  ; &00806200 David Pilling
ErrorBase_ArxeSystems           # &100  ; &00806300 Onkar Jagpal, Arxe Systems
ErrorBase_AlephOne              # &100  ; &00806400 Alex VS, Aleph One
ErrorBase_AcornNZ               # &100  ; &00806500 David Hunter, Acorn NZ
ErrorBase_Intertech             # &100  ; &00806600 Intertech (via Acorn OZ)
ErrorBase_CentralComputerCons   # &100  ; &00806700 CCC (via Acorn OZ)

        OPT     OldOpt
        END
