        SUBT    Service call info. => &.Hdr.Services

OldOpt  SETA    {OPT}
        OPT     OptNoList+OptNoP1List

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

; Date       Name  Description
; ----       ----  -----------
; 27-Nov-86  BC    Added 'Service_Memory' and 'Service_Reset'
; 05-Dec-86  APT   Added 'Service_UKConfig' and 'Service_UKStatus'
; 21-Jan-87  APT   Added 'Service_Tube', 'Service_Post_Help',
; 21-Jan-87  APT   Added 'Service_StartUpFS'
; 28-Apr-87  TMD   Added a few more service codes
; 14-May-87  SKS   Added Service_FSRedeclare
; 15-May-87  SKS   Added Service_NewApplication
; 21-May-87  NDR   Added Service_PrinterDriver (turn driver on/off)
; 25-May-87  SKS   Added Service_LookupFileType
; 27-May-87  TMD   Added Service_International and sub reason codes
; 03-Jun-87  TMD   Added Service_KeyHandler
; 20-Jul-87  BC    Added Service_PreReset
; 20-Jul-87  NDR   Changed 'PrinterDriver' to 'Print'
; 05-Aug-87  TMD   Added Service_ModeChange
; 29-Oct-87  APT   Service_ReleaseSpareRMA
; 14-Jan-88  APT   Service_ClaimFIQinBackground added,
; 14-Jan-88  APT   Service_ReleaseSpareRMA removed.
; 26-Jan-88  SKS   Service_SoundSampler added.
; 17-Feb-88  BC    Service_ReAllocatePortsAndDomains added.
; 19-Feb-88  NDR   Service_StartWimp added.
; 05-Mar-88  NDR   Service_StartedWimp added.
; 11-Mar-88  SKS   Service_StartFinder,StartedFinder added
; 14-Mar-88  BC    Changed service name to 'Service_ReAllocatePorts'
; 15-Mar-88  TMD   Added Service_PreModeChange
; 15-Mar-88  APT   Service_MemoryMoved
; 15-Mar-88  SKS   Service_FinderDying
; 16-Mar-88  TMD   Added Inter_Keyboard
; 18-Mar-88  TMD   Added Service_ModeExtension
; 21-Mar-88  TMD   Added Service_ModeTranslation
; 29-Mar-88  BC    Added Service_NetFSInAction etc.
; 08-Apr-88  BC    Removed Service_NetFSInAction (Changed to use CallAVector)
; 10-Apr-88  NDR   Added Service_MouseTrap
; 13-Apr-88  SKS   Changed Finder to Filer
; 26-May-88  NDR   Added Service_WimpCloseDown
; 21-Jun-88  SKS   Added Service_Sound
; 07-Jul-88  BC    Added Service_NetFS
; 15-Jul-88  BC    Added Service_EconetDying
; 09-Sep-88  NDR   Added Service_WimpReportError
; 06-Feb-89  JRS   Added Service_MIDI
; 18-May-89  BC    Completed list and tidied up
; 05-Jun-89  BC    Added FaxPackService &80040 for Computer Concepts Fax Pack
; 08-Jun-89  BC    Added Service_ADFSPodule
; 24-Aug-89 NRaine Added Service_DesktopStarting and Service_DesktopDying
; 26-Oct-89 GStark Added Service_CalibrationChanged
; 27-Oct-89 GStark Added Service_WimpSaveDesktop
; 27-Oct-89 NRaine Added Service_WimpPalette
; 02-Nov-89 NRaine Added Service_MessageFileClosed
; 11-Nov-89  BC    Added Service_NetFSDying = &5F to help the BroadcastLoader
; 24-Nov-89  BC    Added a chunk for Allied Interactive &80080
; 19-Feb-90 NRaine Added Service_DeskFSStarting, changed Service_Desktopetc.
; 22-Feb-90 NRaine Changed DeskFS services to ResourceFS
; 17-Apr-90 JRoach Added Service_NFS
; 12-Jun-90 GStark Added Service_DBoxModuleDying and Service_DboxModuleStarting
; 19-Jun-90  BC    Added 3 services for Computer Concepts &AB, &AC, &AF
; 23-Jul-90  JRC   Fixed typo (Service_Dynamic0E00 was 1 not 2); added
;                  Service_TerritoryManagerLoaded
; 24-Jul-90 GStark Added Service_PDriverStarting
; 24-Jul-90 GStark Added Service_PDumperStarting
; 24-Jul-90 GStark Added Service_PDumperDying
; 08-Nov-90 JRoach Added Service_CloseFile
; 08-Nov-90 JRoach Added Service_IdentifyDisc
; 08-Nov-90 JRoach Added Service_EnumerateFormats
; 08-Nov-90 JRoach Added Service_IdentifyFormat
; 12-Nov-90 JRoach Added Service_DisplayFormatHelp
; 16-Nov-90 TMD    Added Service_ValidateAddress
;  4-Dec-90 NRaine Added Service_FontsChanged
; 12-Dec-90 DDV    Added Service_BufferStarting
;  8-Jan-91 DDV    Added Service_DeviceRegister
; 19-Jan-91 DDV    Changed name of Service_DeviceRegister to DeviceFSRegister
; 23-Jan-91 DDV    Added Service_DeviceFSDying
; 23-Jan-91 TMD    Added Service_SwitchingOutputToSprite, Service_PostInit
; 05-Mar-91 RM     Added Service_BASICHelp , Service_TerritoryStarted
; 08-Mar-91 CDP    Added Service_ADFSPoduleIDE
; 12-Mar-91 CDP    Added Service_ADFSPoduleIDEDying
; 18-Mar-91 TMD    Added Service_MonitorLeadTranslation
; 25-Mar-91 DDV    Added Service_SerialDeviceInstalled
; 08-Apr-91 OSmith Added Service_PDriverGetSharedMessagesFile
; 14-Mar-91 DDV    Changed Service_SerialDeviceInstalled to Service_SerialDevice
; 19-Mar-91 DDV    Added Service_DeviceDead (issued when devices killed in DeviceFS).
; 29-Apr-91 RM     Added Service_ScreenBlanked, Service_ScreenRestored (issued by screen blanker).
; 09-May-91 DDV    Trunacated the PDriverGetSharedMessagesFilePointerBackPleaseInR2ThankYouVeryMuch service.
; 29-May-91 JAB    Added AtomwideIDEService for David Fell at Atomwide &800C0
; 29-May-91 RM     Added Service_DesktopWelcome, for desktop welcome screen
; 13-Jun-91 DDV    Added alias of PDriver_GetSharedMessagesFile to keep Ran happy, the miserable goat!
; 19-Jun-91 JSR    Added Service_DiscDismounted (docs under FileCore)
; 17-Jul-91 ECN    Added Service_ShutDown (for switcher shutdown)
; 21-Jul-91 DDV    Added Service_PDriverChanged for PDriver module.
; 29-Jul-91 RM     Added Service_ShutDownComplete for switcher shutdown.
; 15-Aug-91 TMD    Added Service_DeviceFSCloseRequest
; 29-Aug-91 BC     Added a chunk for SJ
; 05-Sep-91 DDV    Added Service_InvalidateCache (from ColourTrans)
; 25-Sep-91 PJC    Added Service_Internet, Service_FindNetworkDriver
; 26-Sep-91 PJC    Added Service_ProtocolDying
; 31-Oct-91 DDV    Added four for the printers applications module communication
; 14-Nov-91 TMD    Added Service_ModeChanging
; 20-Nov-91 TMD    Added Service_Portable
; 21-Nov-91 TMD    Added sub-reason codes for Service_Portable
; 25-Nov-91 BC     Added Service_NetworkDriverStatus for Keith and the MNS
;  2-Feb-92 DDV    Added Service_WimpSpritesMoved + freed up some that would have been used by !Printers
; 17-Feb-92 JAB    Added Service_DavidPilling for David Pilling &80180
; 18-Feb-92 DDV    Added Service_WimpRegisterFilters
; 20-Feb-92 LVR    Added Service_SyntaxError for OS_CLI commands
; 22-Apr-92 DDV    Added Service_FilterManagerInstalled + Service_FilterManagerDying
; 
; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; All the service call reason codes

; Name                   Value Beeb Elk  Mast Arc  Description
; ====                  * === ;    ;    ;    ;    ;
;-------------------------------------------------------------------------------
Service_Serviced        * &00 ; X  ; X  ; X  ; X  ; Terminates processing
Service_Static0E00      * &01 ; X  ; X  ; X  ;    ; Claim space at &E00
Service_Dynamic0E00     * &02 ; X  ; X  ; X  ;    ; Dynamic space above &E00
Service_AutoBoot        * &03 ; X  ; X  ; X  ;    ; Cause filing system to boot
Service_UKCommand       * &04 ; X  ; X  ; X  ; X  ; Do you know what this is??
Service_UnknownIRQ      * &05 ; X  ; X  ; X  ;    ; Process IRQ
Service_Error           * &06 ; X  ; X  ; X  ; X  ; A 'BRK' has occured, use ErrorV on Archimedes
Service_UKByte          * &07 ; X  ; X  ; X  ; X  ; Unknown OSBYTEs go thru here
Service_UKWord          * &08 ; X  ; X  ; X  ; X  ; Unknown OSWORDs go thru here
Service_Help            * &09 ; X  ; X  ; X  ; X  ; Issued at the start of the *Help
Service_Claim0E00       * &0A ; X  ; X  ; X  ;    ; Claim the use of space at &E00
Service_ReleaseFIQ      * &0B ; X  ; X  ; X  ; X  ; 
Service_ClaimFIQ        * &0C ; X  ; X  ; X  ; X  ; May only be issued from foreground !
Service_StartROMFS      * &0D ; X  ; X  ; X  ;    ; Initialise ROM filing system
Service_ROMFSGetByte    * &0E ; X  ; X  ; X  ;    ; ROM filing system get byte
Service_ClaimFSVectors  * &0F ; X  ; X  ; X  ;    ; A new FS has claimed the vectors
Service_CloseSpoolExec  * &10 ; X  ; X  ; X  ;    ; Closeure warning for Spool/Exec files
Service_Memory          * &11 ; X  ; X  ; X  ; X  ; Font change, Memory movement
Service_StartUpFS       * &12 ; X  ; X  ; X  ; X  ; 
Service_RS423Char       * &13 ;    ; X  ;    ;    ; Character written to RS423 buffer
Service_PrinterChar     * &14 ;    ; X  ;    ;    ; Character written to printer buffer
Service_PollingInterupt * &15 ;    ; X  ; X  ;    ; Offered every centi-second
Service_ExternalBell    * &16 ;    ; X  ;    ;    ; Offer the bell to external sound
Service_ExternalPurge   * &17 ;    ; X  ;    ;    ; Purge external sound buffers
Service_Post_Help       * &18 ;    ;    ; X  ; X  ; Passed round at the end of the *Help code

Service_StaticC000      * &21 ;    ;    ; X  ;    ; Static space claim at &C000
Service_DynamicC000     * &22 ;    ;    ; X  ;    ; Dynamic workspace claim, above &C000
Service_InformTopOfC000 * &23 ;    ;    ; X  ;    ; Inform top of &C000 static space
Service_TestDynamicC000 * &24 ;    ;    ; X  ;    ; Dynamic space test
Service_InformFilingSys * &25 ;    ;    ; X  ;    ; Return filing system name, handles, and number
Service_ShutAllFiles    * &26 ;    ;    ; X  ;    ; Shut all files, in response to *Shut
Service_Reset           * &27 ;    ;    ; X  ; X  ; 
Service_UKConfig        * &28 ;    ;    ; X  ; X  ; 
Service_UKStatus        * &29 ;    ;    ; X  ; X  ; 
Service_NewApplication  * &2A ;    ;    ; X  ; X  ; Passed round before application/language is loaded/run
Service_DisplayBanner   * &2B ;    ;    ; X  ;    ; Display startup banner
Service_CumanaBackup    * &2C ;    ;    ; X  ;    ; Cumana removable cartidge drive
 
Service_BondIntKboard1  * &30 ;    ;    ; X  ;    ; Indirected international keyboard service (International PRB/COM)
Service_BondIntKboard2  * &31 ;    ;    ; X  ;    ; Reserved for Paul Bond

; RISC OS specific ones

Service_FSRedeclare     * &40 ;    ;    ;    ; X  ; Add yourselves as Filing Systems again please
Service_Print           * &41 ;    ;    ;    ; X  ; Printer Driver is being turned on/off (R2=0/1)
Service_LookupFileType  * &42 ;    ;    ;    ; X  ; Do you know this file type ?
Service_International   * &43 ;    ;    ;    ; X  ; Translate country/alphabet numbers/names or define set of chars
Service_KeyHandler      * &44 ;    ;    ;    ; X  ; Offered when keyboard id ascertained
Service_PreReset        * &45 ;    ;    ;    ; X  ; Offered after pressing the 'Break Key'
Service_ModeChange      * &46 ;    ;    ;    ; X  ; Offered after a screen MODE change
Service_ClaimFIQinBackground * &47 ;    ;    ; X  ; Claim if you are FIQ owner and can currently release FIQ straight away.
Service_ReAllocatePorts * &48 ;    ;    ;    ; X  ; Econet is being started up again
Service_StartWimp       * &49 ;    ;    ;    ; X  ;
Service_StartedWimp     * &4A ;    ;    ;    ; X  ;
Service_StartFiler      * &4B ;    ;    ;    ; X  ;
Service_StartedFiler    * &4C ;    ;    ;    ; X  ;
Service_PreModeChange   * &4D ;    ;    ;    ; X  ; Offered before mode changes, if claimed then returns if R0=0, else R0 -> error block
Service_MemoryMoved     * &4E ;    ;    ;    ; X  ; Offered at end of ChangeDynamic
Service_FilerDying      * &4F ;    ;    ;    ; X  ;
Service_ModeExtension   * &50 ;    ;    ;    ; X  ; To allow soft modes
Service_ModeTranslation * &51 ;    ;    ;    ; X  ; For unknown monitor types
Service_MouseTrap       * &52 ;    ;    ;    ; X  ; For non-click mouse warnings
Service_WimpCloseDown   * &53 ;    ;    ;    ; X  ; for trapping Wimp_CloseDown calls
Service_Sound           * &54 ;    ;    ;    ; X  ; Something's happening ... sub-rc's in Hdr.Sound
Service_NetFS           * &55 ;    ;    ;    ; X  ; Either a *Logon or a *Bye has happened, or NetFS has started
Service_EconetDying     * &56 ;    ;    ;    ; X  ; Econet is leaving Abandon all Tx/RxCBs
Service_WimpReportError * &57 ;    ;    ;    ; X  ; Wimp is opening/closing a ReportError window
Service_MIDI            * &58 ;    ;    ;    ; X  ; MIDI is initialising or dying. Sub reason codes in Hdr.MIDI
Service_ResourceFSStarted * &59;   ;    ;    ; X  ; comes after ResourceFSStarting (for clients)
Service_ResourceFSDying * &5A ;    ;    ;    ; X  ; when ResourceFS is killed / reloaded
Service_CalibrationChanged  * &5B; ;    ;    ; X  ; when the calibration for the screen is changed
Service_WimpSaveDesktop * &5C ;    ;    ;    ; X  ; when a save desktop to file is requested by the user
Service_WimpPalette     * &5D ;    ;    ;    ; X  ; on every Wimp_SetPalette
Service_MessageFileClosed * &5E;   ;    ;    ; X  ; from MessageTrans module
Service_NetFSDying      * &5F ;    ;    ;    ; X  ; NetFS is going to heaven, interceptors beware!
Service_ResourceFSStarting * &60;  ;    ;    ; X  ; when ResourceFS is reloaded / reinited
Service_NFS             * &61 ;    ;    ;    ; X  ; when NFS has mounted/dismounted or just loaded
Service_DBoxModuleDying * &62 ;    ;    ;    ; X  ; when the DBox module is rmkilled or succesfully tidied
Service_DBoxModuleStarting * &63;  ;    ;    ; X  ; when the DBox module is rmloaded or reinitted
Service_TerritoryManagerLoaded * &64; ; ;    ; X  ; when the territory manager is rmloaded or reinitted
Service_PDriverStarting * &65 ;    ;    ;    ; X  ; when the PDriver sharer module starts up
Service_PDumperStarting * &66 ;    ;    ;    ; X  ; when the PDumper module starts up
Service_PDumperDying    * &67 ;    ;    ;    ; X  ; when the PDumper module dies
Service_CloseFile       * &68 ;    ;    ;    ; X  ; when somebody wants to open a file (eg FileSwitch or PCEmulator)
Service_IdentifyDisc    * &69 ;    ;    ;    ; X  ; when FileCore wants a disc format to be identified
Service_EnumerateFormats * &6A;    ;    ;    ; X  ; when ADFSFiler wants some format submenu entries
Service_IdentifyFormat  * &6B ;    ;    ;    ; X  ; when ADFS wishes to identify a format identifier from a *format command
Service_DisplayFormatHelp * &6C;   ;    ;    ; X  ; when ADFS wishes to display the list of available formats
Service_ValidateAddress * &6D ;    ;    ;    ; X  ; when OS_ValidateAddress called with an apparently invalid address range
Service_FontsChanged    * &6E ;    ;    ;    ; X  ; when Font_ListFonts/Font_FindFont detects new Font$Path
Service_BufferStarting  * &6F ;    ;    ;    ; X  ; when Buffer manager installed (RMReinited, etc..).
Service_DeviceFSStarting  * &70 ;  ;    ;    ; X  ; when devices to register with DeviceFS.
Service_DeviceFSDying   * &71 ;    ;    ;    ; X  ; when DeviceFS is dying.
Service_SwitchingOutputToSprite * &72   ;    ; X  ; when output switched to sprite or sprite mask or screen (inc. on mode change)
Service_PostInit * &73        ;    ;    ;    ; X  ; called after all modules have been initialised
Service_BASICHelp * &74       ;    ;    ;    ; X  ; called before printing BASIC help text ( r2 = Token).
Service_TerritoryStarted * &75     ;    ;    ; X  ; called when a new territory is starting
Service_MonitorLeadTranslation * &76    ;    ; X  ; to translate a monitor lead ID to a default monitortype, mode and sync
Service_SerialDevice    * &77 ;    ;    ;    ; X  ; Passing of serial device handle (in r0) to all support module.
Service_PDriverGetMessages * &78   ;    ;    ; X  ; Get printer driver modules common Messages file info.
Service_DeviceDead      * &79 ;    ;    ;    ; X  ; Device has been killed by DeviceFS, r0 =0, r2 =handle / =0 if all.
Service_ScreenBlanked   * &7A ;    ;    ;    ; X  ; Screen blanked by screen blanker.
Service_ScreenRestored  * &7B ;    ;    ;    ; X  ; Screen restored by screen blanker.
Service_DesktopWelcome  * &7C ;    ;    ;    ; X  ; Desktop about to start, display welcome message.
Service_DiscDismounted  * &7D ;    ;    ;    ; X  ; Disc has just been dismounted - close your viewers etc.
Service_ShutDown        * &7E ;    ;    ;    ; X  ; Switcher is shutting down.
Service_PDriverChanged  * &7F ;    ;    ;    ; X  ; PDriver has changed via PDriver_SelectDriver.
Service_ShutDownComplete * &80;    ;    ;    ; X  ; Switcher has completed the shutdown.
Service_DeviceFSCloseRequest * &81 ;    ;    ; X  ; Opening a device which already has maximum number of streams open
Service_InvalidateCache * &82 ;    ;    ;    ; X  ; ColourTrans has invalidated its cache
Service_ProtocolDying   * &83 ;    ;    ;    ; X  ; Tells the world that a protocol is dying
Service_FindNetworkDriver * &84    ;    ;    ; X  ; Issued when a protocol module is looking for device drivers
                                                  ; &83 and &84 need to be allocated here, 'cos they are less than 255
                                                  ; which is why they aren't grouped with the rest below.
Service_WimpSpritesMoved * &85;    ;    ;    ; X  ; Window Managers sprite areas have moved.
Service_WimpRegisterFilters * &86  ;    ;    ; X  ; Window Manager has defaulted the filter owners.
Service_FilterManagerInstalled * &87    ;    ; X  ; Please register with the Filter Manager now
Service_FilterManagerDying * &88        ;    ; X  ; Filter Manager has just disappeared
Service_ModeChanging    * &89 ;    ;    ;    ; X  ; Issued after Service_PreModeChange when a mode change is inevitable
Service_Portable        * &8A ;    ;    ;    ; X  ; Issued when various bits of power are removed or applied
Service_NetworkDriverStatus * &8B  ;    ;    ; X  ; Issued when various driver modules startup or die
Service_SyntaxError     * &8C ;    ;    ;    ; X  ; Issued by OS_CLI if syntax incorrect - for internationalisation

Service_CCWordSpell1    * &AB ;    ;    ;    ; X  ; Used by InterWord and SpellMaster
Service_CCWordSpell2    * &AC ;    ;    ;    ; X  ; Used by InterWord and SpellMaster
Service_CCWordSpell3    * &AF ;    ;    ;    ; X  ; Used by InterWord and SpellMaster

Service_Tube            * &FE ; X  ; X  ; X  ; X  ; Means "Tube changing state"
Service_TubeMainInit    * &FF ; X  ; X  ; X  ;    ;


; Alias (should not be used)

Service_PDriverGetSharedMessagesFile * Service_PDriverGetMessages


; International service sub-reason codes

Inter_CNaToCNo  * 0
Inter_ANaToANo  * 1
Inter_CNoToCNa  * 2
Inter_ANoToANa  * 3
Inter_CNoToANo  * 4
Inter_Define    * 5
Inter_Keyboard  * 6
Inter_Highest   * 7             ; highest reason code +1

; Sub-reason codes (in r2) for Service_Portable

ServicePortable_PowerDown *     0       ; Power about to be removed from some ports
ServicePortable_PowerUp   *     1       ; Power has been reapplied to some ports
ServicePortable_TidyUp    *     2       ; Issued by Econet if it can't powerdown because of outstanding RxCBs

                ^       &00010800       ; ADFS Service calls
Service_ADFSPodule         #    1       ; &10800 locates ST506 podule
Service_ADFSPoduleIDE      #    1       ; &10801 locates IDE podule
Service_ADFSPoduleIDEDying #    1       ; &10802 tells ADFS podule is dying

                       ^ &41200         ; Internet/Networking Service calls
Service_Internet           #    1       ; &41200 tells the world that Internet is dying

                       ^ &41580         ; Acorn TIP Service calls
Service_FindProtocols         #    1    ; &41580    Called to find which protocols are available
Service_FindProtocolsEnd      #    1    ; &41581    Called when all protocols have been found.
Service_ProtocolNameToNumber  #    1    ; &41582    Called to convert a protocol name to its SWI base.


; Third party services start at &80000 and they get 64 each

                        ^       &80000

SoundSamplerService     #       64      ; &80000
FaxPackService          #       64      ; &80040, Computer Concepts Fax Pack
AlliedInteractiveService #      64      ; &80080
AtomwideIDEService      #       64      ; &800C0, Atomwide IDE service call
DreamTimeService        #       64      ; &80100
SJResearchService       #       64      ; &80140
DavidPillingService     #       64      ; &80180

        OPT     OldOpt
        END
