Set Browse$Dir <Obey$Dir>
Set Browse$Path <Browse$Dir>.

| Ensure specific versions of Toolbox modules (or later ones)
| are present

RMEnsure Toolbox      1.36 RMLoad System:Modules.Toolbox.Toolbox
RMEnsure Toolbox      1.36 Error The browser requires version 1.36 or later of the Toolbox module
RMEnsure IconBar      1.14 RMLoad System:Modules.Toolbox.IconBar
RMEnsure IconBar      1.14 Error The browser requires version 1.14 or later of the IconBar module
RMEnsure ProgInfo     0.09 RMLoad System:Modules.Toolbox.ProgInfo
RMEnsure ProgInfo     0.09 Error The browser requires version 0.09 or later of the ProgInfo module
RMEnsure Window       1.39 RMLoad System:Modules.Toolbox.Window
RMEnsure Window       1.39 Error The browser requires version 1.39 or later of the Window module
RMEnsure Menu         0.26 RMLoad System:Modules.Toolbox.Menu
RMEnsure Menu         0.26 Error The browser requires version 0.26 or later of the Menu module
RMEnsure ToolAction   0.14 RMLoad System:Modules.Toolbox.ToolAction
RMEnsure ToolAction   0.14 Error The browser requires version 0.14 or later of the ToolAction module

| General requirements where version number doesn't really matter

RMEnsure SaveAs       0.00 RMLoad System:Modules.Toolbox.SaveAs
RMEnsure SaveAs       0.00 Error The browser requires the SaveAs module to start
RMEnsure Scale        0.00 RMLoad System:Modules.Toolbox.Scale
RMEnsure Scale        0.00 Error The browser requires the Scale module to start
RMEnsure PrintDBox    0.00 RMLoad System:Modules.Toolbox.PrintDBox
RMEnsure PrintDBox    0.00 Error The browser requires the PrintDBox module to start

| Important networking modules

RMEnsure URL_Fetcher  0.15 RMLoad System:Modules.Network.URL.URL
RMEnsure URL_Fetcher  0.15 Error The browser requires version 0.15 or later of the URL module
RMEnsure AcornHTTP    0.23 RMLoad System:Modules.Network.URL.HTTP
RMEnsure AcornHTTP    0.23 Error The browser requires version 0.23 or later of the HTTP module
RMEnsure FileFetcher  0.19 RMLoad System:Modules.Network.URL.File
RMEnsure FileFetcher  0.19 Error The browser requires version 0.19 (and only 0.19!) of the File module
RMEnsure FTPFetcher   0.09 RMLoad System:Modules.Network.URL.FTP
RMEnsure FTPFetcher   0.09 Error The browser requires version 0.09 or later of the FTP module

| TaskModule for catching service calls (not required for
| some UIs, so let it fail silently); also the URI handler,
| which may be present but can do without it.

RMEnsure AcornURI     0.05 RMLoad System:Modules.Network.URI
RMEnsure TaskModule   0.07 RMLoad System:Modules.TaskModule

| Both of the above start Wimp task sides, so want to do a
| '*Desktop' when inside the application after Wimp_Initialise
| to start those tasks. Set a system variable if this is NOT
| needed.

Set Browse$IssueDesktopCommand "yes"
RMEnsure AcornURI   0.05 Set Browse$IssueDesktopCommand "no"
RMEnsure TaskModule 0.07 If "<Browse$IssueDesktopCommand>" = "yes" Then Set Browse$IssueDesktopCommand "no"

| JPEG support for OS versions without this in SpriteExtend;
| again, not technically essential so let this fail too.

RMEnsure SpriteExtend 0.99 RMEnsure JPEGMsgs   0.00 RMLoad System:Modules.JPEGMsgs
RMEnsure SpriteExtend 0.99 RMEnsure JPEGRender 0.00 RMLoad System:Modules.JPEGRender

| Get round the 'problematic' last stage of the printer protocol

Set Alias$@PrintType_FF4 "Copy %%0 Printer: ~A ~C ~D F ~L ~N ~P ~Q ~R ~S ~T ~V"

| Routine actions...

IconSprites <Browse$Dir>.!Sprites

Set File$Type_F91 URI
Set File$Type_FAF HTML

Set Alias$@RunType_FAF /<Browse$Dir>.!Run -html %%*0
Set Alias$@RunType_F91 /<Browse$Dir>.!Run -uri %%*0

| And finally, run the application.

WimpSlot -Min 420K -Max 420K

Run <Browse$Dir>.!RunImage %*0