diff --git a/!MkClean,fd7 b/!MkClean,fd7
index b85fb67c482c52c6c7c8d85dbf688ac41a9c6573..358b81811d4c58cbc1605269e698f0b6bd6acdb5 100644
--- a/!MkClean,fd7
+++ b/!MkClean,fd7
@@ -14,5 +14,7 @@
 |
 | Remove executables, objects and intermediate files
 
+Echo Cleaning...
+
 Dir <Obey$Dir>
-amu_machine clean
+amu_machine TARGET=WorkAroundAMUBug clean
diff --git a/!MkClnAll,fd7 b/!MkClnAll,fd7
new file mode 100644
index 0000000000000000000000000000000000000000..c609c7607711cb58f451b67ab9455b1a6863fbed
--- /dev/null
+++ b/!MkClnAll,fd7
@@ -0,0 +1,20 @@
+| Copyright 1997 Acorn Computers Ltd
+|
+| Licensed under the Apache License, Version 2.0 (the "License");
+| you may not use this file except in compliance with the License.
+| You may obtain a copy of the License at
+|
+|     http://www.apache.org/licenses/LICENSE-2.0
+|
+| Unless required by applicable law or agreed to in writing, software
+| distributed under the License is distributed on an "AS IS" BASIS,
+| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+| See the License for the specific language governing permissions and
+| limitations under the License.
+|
+| Remove executables, objects and intermediate files
+
+Echo Cleaning all...
+
+Dir <Obey$Dir>
+amu_machine TARGET=WorkAroundAMUBug clean_all
diff --git a/Resources/UK/Browse/!Boot,feb b/Resources/UK/Browse/!Boot,feb
new file mode 100644
index 0000000000000000000000000000000000000000..ac2806cfc2fed293c1e813320f92ae6cab456313
--- /dev/null
+++ b/Resources/UK/Browse/!Boot,feb
@@ -0,0 +1,16 @@
+Set Browse$Dir <Obey$Dir>
+Set Browse$Path <Browse$Dir>.
+
+| 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
diff --git a/Resources/UK/Browse/!Run,feb b/Resources/UK/Browse/!Run,feb
new file mode 100644
index 0000000000000000000000000000000000000000..cee8363388e1164d54c70509fc18464574d3383d
--- /dev/null
+++ b/Resources/UK/Browse/!Run,feb
@@ -0,0 +1,80 @@
+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
\ No newline at end of file
diff --git a/Resources/UK/Browse/!RunD,feb b/Resources/UK/Browse/!RunD,feb
new file mode 100644
index 0000000000000000000000000000000000000000..c0a72aa947a0a3db064f0333e30307ccc0f9584a
--- /dev/null
+++ b/Resources/UK/Browse/!RunD,feb
@@ -0,0 +1,82 @@
+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 1600K -Max 1600K
+
+%UnSet ChangeFSI$Dir
+|Run <Browse$Dir>.!RunImage -debug CMal,CFle %*0 2> Pipe:$.StdErr
+Run <Browse$Dir>.!RunImage %*0
\ No newline at end of file
diff --git a/Resources/UK/Browse/!Sprites,ff9 b/Resources/UK/Browse/!Sprites,ff9
new file mode 100644
index 0000000000000000000000000000000000000000..c0ab003c3ec1ec37df689bf05125a085d57e8de3
Binary files /dev/null and b/Resources/UK/Browse/!Sprites,ff9 differ
diff --git a/Resources/UK/Browse/!Sprites22,ff9 b/Resources/UK/Browse/!Sprites22,ff9
new file mode 100644
index 0000000000000000000000000000000000000000..7f698eda9b50d1cc3f02617eebce6e66f0bb38b0
Binary files /dev/null and b/Resources/UK/Browse/!Sprites22,ff9 differ
diff --git a/Resources/UK/Browse/Choices b/Resources/UK/Browse/Choices
new file mode 100644
index 0000000000000000000000000000000000000000..63474c225bd628c25c323cf7c56a2423cfdabe48
--- /dev/null
+++ b/Resources/UK/Browse/Choices
@@ -0,0 +1,258 @@
+# Options. THESE MAY NOT BE INTERNATIONALISED - the values of the tokens,
+# where strings, are compared directly inside the browser. Since the user
+# should edit this through a dialogue, it is that dialogue's contents which
+# can be internationalised. Changing the values here to foreign ones
+# requires the code to be appropriately altered and recompiled.
+
+# User-configurable options
+
+# HomePage     - The URL that the browser defaults to on loading.
+
+# DefWidth     - Default browser window width, in OS units.
+# DefHeight    - Default browser window height, in OS units.
+# OverrideX    - The X position to open the window at, or 0 for centred.
+# OverrideY    - The Y position to open the window at, or 0 for centred.
+
+# PostIn       - Post-in path for mail, or '<none>'.
+# PostOut      - Post-out path for mail, or '<none>'.
+
+# BackColour   - Background colour; 0xBBGGRR00 where RR GG BB are red, green,
+#                and blue values as two digit hex numbers from 0 to 255. It
+#                doesn't matter if the hex digits are upper or lower case. If
+#                the syntax is wrong, very unpredictable effects could occur.
+# TextColour   - Text colour, defined as BackColour.
+# LinkColour   - Link colour, defined as BackColour.
+# UsedColour   - Used (followed) link colour, defined as BackColour.
+# FollColour   - Colours links flash to when clicked on, before being
+#                followed.
+# SeleColour   - Colours objects adopt or are bordered in if selected /
+#                highlighted.
+
+# FontSize     - Default font size, in points. Between 6 and 24, fractions
+#                will be ignored (so 12.9 would be treated as 12, say).
+# SystemFont   - 'yes' or 'no', if 'yes' browser will only use system font on
+#                the page (fast and clear, but pretty ugly...).
+
+# DelayImage   - 'yes' or 'no', if 'yes' images will not be loaded until
+#                they are told to load. Otherwise they load as part of the
+#                main page fetch.
+# DisplayBgs   - 'yes' or 'no', if 'yes' background images will be displayed.
+# UnderlineLks - 'yes' or 'no', if 'yes' link text will be underlined.
+# OverrideCols - 'yes' or 'no', if 'yes' document-specified colours will be
+#                ignored and defaults will be used instead.
+# FixedPtr     - 'yes' or 'no', if 'yes' the pointer will change shape as it
+#                moves over certain objects on the page (e.g. a link).
+#                Otherwise it stays the standard pointer shape, over the page.
+# HighlightLks - 'yes' or 'no', if 'yes' links (and some other objects) will
+#                be highlighted as the pointer moves over them.
+# ShowLinksFor - A time in centiseconds. The length of time for which the
+#                contents in of a link selected by the keyboard or pointed to
+#                by the mouse is shown in the status bar before it reverts
+#                to other information (fetch status, page being viewed,
+#                etc.); 0 to show for as long as the link is selected or
+#                pointed to.
+# ShowFHighFor - A time in centiseconds to show the frame highlight (for
+#                keyboard control, when jumping into a new frame).
+# KeyboardCtl  - 'yes' or 'no', if 'yes' links (and some other objects) will
+#                be selectable from the keyboard.
+# ClearFirst   - 'yes' or 'no', only relevant for UI designs where the
+#                URL writable and status bars are merged. In such UIs,
+#                pressing an alphanumeric key when in status mode will
+#                change to writable mode and, if this is 'yes', put the
+#                key value into the writable, clearing whatever was there
+#                beforehand first. If 'no', then the value of the key is
+#                appended to whatever is in the writable.
+# KeepHighlight- 'yes' or 'no'. If 'yes', frames will be (re)highlighted
+#                whenever keyboard navigated. If 'no', they are only
+#                highlighted when initially selected.
+
+# LeftMargin   - Basic left hand page margin (before list indents etc.), in
+#                millipoints.
+# RightMargin  - Similarly, the basic right hand page margin in millipoints.
+# QuoteMargin  - Extra page margin for a <blockquote> section of text.
+# Leading      - Line spacing in OS units (pronounced 'ledding'). Note that
+#                negative numbers are allowed but may produce redraw
+#                artifacts under some circumstances, so use with caution.
+# LeftIndent   - Multiplier used to work out left hand indent of text for
+#                list items etc., in millipoints.
+# MinFrmHeight - Minimum height a frame may take when initially sized or
+#                subsequently resized, in OS units.
+# MinFrmWidth  - Similarly, the minimum frame width.
+
+# DefURLbar    - 'yes' or 'no', if 'yes' new browser windows will have URL
+#                bars present.
+# DefButtonBar - 'yes' or 'no', if 'yes' new browser windows will have button
+#                bars present.
+# DefStatusBar - 'yes' or 'no', if 'yes' new browser windows will have status
+#                bars present.
+# MoveGadgets  - '0', '1', or '2'. If '0', gadgets are never moved on the
+#                toolbars to fit inside the window. If '1', gadgets are moved
+#                at the end of any resize actions. If '2', gadgets are moved
+#                during resize actions.
+# AnimDrift    - 'yes' or 'no', if 'yes' the status bar animation will drift
+#                over to the first starting sprite before stopping. Otherwise
+#                it will stop as soon as the browser is idle.
+
+# FullScreen   - 'yes' or 'no', if 'yes' the window will open full screen,
+#                else it will open at the default page size.
+# HScroll      - 'yes' or 'no', if 'yes' a horizontal scroll bar will be
+#                visible when Full Screen. Can also have 'auto', to
+#                add or remove scroll bars automatically, if the Wimp
+#                variant the browser runs on supports this. If the
+#                Wimp doesn't, this will work the same as 'yes'.
+# VScroll      - 'yes' or 'no', if 'yes' a vertical scroll bar will be
+#                visible when Full Screen. As for HScroll, can also
+#                have 'auto' with the right Wimp.
+
+# MaxImages    - Maximum number of images that may be simultaneously fetched.
+#                Must be between 1 and 255, though values over about 25 are
+#                more likely to degrade performance than improve it.
+
+# GHistSize    - Maximum global history size, in K.
+# VHistSize    - Maximum view history size, in entries.
+# HistoryPath  - Global history default load/save path.
+# HotlistPath  - Hotlist default load/save path.
+# ShowURLs     - 'yes' or 'no', if 'yes' the History menu will always only
+#                contain URLs. Otherwise it will hold page titles (where
+#                available).
+# SaveHistory  - 'yes' or 'no', if 'yes' the global history will always be
+#                saved to disc on browser exit, else it will never be saved.
+# SaveHotlist  - 'yes' or 'no', if 'yes' the hotlist will always be saved to
+#                disc on browser exit, else it will never be saved (in which
+#                case changes during a browser session will be lost, so this
+#                should be used with caution).
+
+# RefoWait     - 'yes' or 'no', if 'yes' the browser will wait for a time
+#                determined by 'RefoTime' (see below) before doing a page
+#                reformat - can be useful if frequent reformats when unsized
+#                images come in (for example) are proving annoying.
+# RefoHang     - 'yes' or 'no', if 'yes' the page will not reformat past an
+#                unsized image - the browser will wait until that image's
+#                size is known. For slow sites this may take a long time.
+#                [Unimplemented]
+# RefoTime     - If RefoWait is 'yes', the time in centiseconds between
+#                queued reformats (urgent reformats may force this earlier
+#                though - e.g. document fetch completed).
+# BrickWall    - If 'yes', then clicking on 'Stop' or following new links
+#                will immediately stop *all* fetch/reformat activity,
+#                or for targetted links, will stop such activity in the
+#                target. This is a fairly specialised option as normally
+#                continued cacheing (if a local proxy is present) or
+#                continued background fetching is desirable (may as well
+#                take advantage of otherwise idle time this way).
+
+# PrintCopies  - Default number of copies to print. Must be at least 1!
+# PrintStart   - 'start' to print from the start of the web page, 'visible'
+#                to print from the top of the region visible in the browser
+#                window.
+# PrintEnd     - 'end' to print to the end of the web page, 'visible' to
+#                print to the bottom of the region visible in the browser
+#                window, else a number greater than 0 for the number of pages
+#                to fill up after starting printing at the given start point.
+# PrintReform  - 'yes' or 'no', if 'yes' the page will be reformatted to fit
+#                the paper size (else it is printed at a width determined by
+#                the browser window, which may mean it overflows the right
+#                hand edge of the paper or does not use the full page width).
+#                Reformatting can take quite a long time, hence this is
+#                optional. When using 'visible' for PrintStart or PrintEnd,
+#                this option is ignored and reformatting does not take place,
+#                as reformatting would change the visible region, if it was
+#                done in the window rather than internally for the printer.
+# PrintOrient  - 'upright' or 'sideways', which pretty much says it all.
+
+# Typeface1    - Typeface definitions. The syntax of these is fairly
+# Typeface2      strict and slightly complex, so they should only
+# Typeface3      be altered through a front-end dialogue in the
+# Typeface4      browser.
+
+# UseProxy     - 'yes' or 'no', if 'yes' proxying will be used so the value
+#                of the next two items is important.
+# ProxyAddress - The base URL of the proxy server to use, such as
+#                'http://wwwcache.demon.co.uk/'.
+
+#HomePage:http://www.sandia.gov/sci_compute/html_ref.html
+#HomePage:http://www.comlab.ox.ac.uk/archive/other/rowing.html
+#HomePage:http://www.acorn.co.uk/
+#HomePage:http://www.altavista.digital.com/
+HomePage:http://www.acorn.co.uk/~ahodgkin/
+
+DefWidth:1364
+DefHeight:1280
+OverrideX:0
+OverrideY:0
+
+PostIn:<None>
+PostOut:<None>
+
+TextColour:0x00000000
+BackColour:0xdddddd00
+LinkColour:0xff000000
+UsedColour:0xbb008800
+FollColour:0x0000ff00
+SeleColour:0x00bb0000
+
+FontSize:12
+SystemFont:no
+
+DelayImage:no
+DisplayBgs:yes
+UnderlineLks:yes
+OverrideCols:no
+FixedPtr:no
+HighlightLks:yes
+ShowLinksFor:400
+ShowFHighFor:80
+KeyboardCtl:yes
+ClearFirst:no
+KeepHighlight:no
+
+#LeftMargin:1600
+#RightMargin:6400
+#QuoteMargin:19200
+LeftMargin:0
+RightMargin:0
+QuoteMargin:0
+Leading:4
+LeftIndent:12800
+MinFrmHeight:48
+MinFrmWidth:48
+
+DefURLbar:yes
+DefButtonBar:yes
+DefStatusBar:yes
+MoveGadgets:2
+AnimDrift:yes
+
+FullScreen:no
+HScroll:auto
+VScroll:auto
+
+MaxImages:10
+
+GHistSize:1
+VHistSize:50
+HistoryPath:Browse:User.History
+HotlistPath:Browse:User.Hotlist
+ShowURLs:no
+SaveHistory:yes
+SaveHotlist:yes
+
+RefoWait:no
+RefoHang:no
+RefoTime:500
+BrickWall:no
+
+PrintCopies:1
+PrintStart:start
+PrintEnd:end
+PrintReform:yes
+PrintOrient:upright
+
+Typeface1:system=System.Fixed:Corpus.Medium.Oblique:Corpus.Bold:Corpus.Bold.Oblique;fixed
+Typeface2:fixed=Corpus.Medium:Corpus.Medium.Oblique:Corpus.Bold:Corpus.Bold.Oblique;
+Typeface3:sans=NewHall.Medium:NewHall.Medium.Italic:NewHall.Bold:NewHall.Bold.Italic;serif
+Typeface4:serif=Homerton.Medium:Homerton.Medium.Oblique:Homerton.Bold:Homerton.Bold.Oblique;sans
+
+UseProxy:no
+#ProxyAddress:http://ether313:80/
+ProxyAddress:http://127.0.0.1/
diff --git a/Resources/UK/Browse/Messages b/Resources/UK/Browse/Messages
new file mode 100644
index 0000000000000000000000000000000000000000..e941935a41eb61187fde5363ab57ccc8e3223307
--- /dev/null
+++ b/Resources/UK/Browse/Messages
@@ -0,0 +1,321 @@
+_TaskName:Browse
+_SpriName:!browse
+Version:1.17 (23-Jul-97)
+
+# Errors, ranked roughly in order of increasing severity
+
+CannotFetch:The browser does not have a method of fetching the requested site.
+NotInline:Sorry, can‘t handle this data format (press Enter or click on Continue‘ to continue).
+Refused:Cannot fetch this address as the fetch request was refused by the internal handler.
+
+PrintBusy:The printer is currently busy.
+EmptyHistE:The history list is empty.
+NoLabel:The label ”%0• cannot be found on this page.
+NoLabelF:The label ”%0• cannot be found, but the page is still fetching - try again when the page fetch has finished.
+
+BadAuthor:Authorisation failed; you must use a valid user name and password.
+
+NoMemWin:There is not enough free memory to open another browser window.
+NoMemGHi:There is not enough free memory to add the page to the global history.
+NoMemLHi:There is not enough free memory to open the history menu.
+NoMemFet:There is not enough free memory to perform this fetch (%0).
+NoMemGen:There is not enough free memory to continue this operation (%0).
+NoMemRea:There is not enough free memory to continue the page fetch (%0).
+FontMem:There is not enough free memory for font handling (%0).
+NoMemImg:There is not enough free memory for any new images (%0).
+
+StrNotFd:Internal error - Can‘t find structure in %0.
+NoParent:When closing frames, can't find child's record in the parent window in windows_close_window().
+WhatTog1:Internal error - Toolbar toggle handle not understood in toolbars_toggle_bars().
+WhatTog2:Internal error - Toolbar toggle handle not understood in menus_choices_bars().
+WhatSave:Internal error - Save dialogue origin not understood in save_fill_in().
+BadType:Internal error - Bad typeface definition in %0().
+BadTRef:Internal error - Reference to undefined typeface in %0().
+
+HSHOvrrn:Serious internal error - HtmlStripHeaders has failed; must exit immediately.
+STCUnkwn:Serious internal error - Unknown chunk ID in memory_set_chunk_size(); must exit immediately.
+
+# Strict parse mode errors
+
+FramNest:Frames definition is badly nested; could not complete the frames layout.
+FramRcrs:Frames definition references itself recursively; could not proceed with the frames layout.
+
+# Default offered leafnames
+
+NoURLleaf:Index
+NoURLdata:HTMLfile
+
+# Status bar messages. Putting a '-' in front of one will
+# stop a byte counter being appended if the choices lower
+# down in this file specify that such text should be
+# added (so you can override for specific messages that
+# never want a byte counter).
+
+Status0:-Ready
+Status1:-Beginning fetchŒ
+Status2:-Trying to find server's addressŒ
+Status3:-Found server's address
+Status4:-Sending request to the serverŒ
+Status5:Fetching dataŒ
+
+GetPic:Fetching 1 imageŒ
+GetPics:Fetching %d imagesŒ
+
+Ready:-Ready
+Page:-Viewing ”%%s•
+LinkTo:-Link to ”%%s•
+BlankPage:Blank page
+
+# (For these, the first is for when the URL is known
+# and only one such action is in progress, e.g. in a
+# non-frames page; the second is for if the URL can't
+# be determined for whatever reason; and the third is
+# for the case where there are several such actions
+# occurring simultaneously in a frames document).
+
+Fetch:Fetching ”%%s•Œ
+FetchUK:Fetching web pageŒ
+FetchMany:Fetching frames contentsŒ
+
+Process:-Processing ”%%s•Œ
+ProcessUK:-Processing web pageŒ
+ProcessMany:-Processing frames contentsŒ
+
+Format:-Formatting ”%%s•Œ
+FormatUK:-Formatting web pageŒ
+FormatMany:-Formatting frames contentsŒ
+
+# URL bar messages
+
+AtHotlist:Hotlist
+AtHistory:Global History
+AtResources:Resources
+
+# Label messages
+
+DisplayBytes:Amount
+DisplayStats:Info
+DisplayURL:Location
+DiaStatusDial:Dialler
+DiaStatusTime:Time
+
+# On-page messages
+
+NoData:The server returned a blank page.
+
+# Buttons in forms - submit buttons, reset buttons, and unknown
+# button types; menu title for Select lists when no other is
+# present.
+
+Submit:Submit
+Reset:Reset
+Unknown:Action
+selTITL:Select
+
+# Dialler text. Dialler status is displayed in component
+# 0xf, if present in the upper toolbar. If this component
+# doesn't exist the application will not attempt to register
+# with the dialler and relevant event handlers won't be
+# installed.
+
+Dialling:Dialling
+Hangup:Hanging up
+Answering:Answering
+SError:Script error
+Timeout:Timed out
+Carrier:No carrier
+MError:Modem error
+Dialtone:No dialtone
+MBusy:Line busy
+Answer:No answer
+Offline:Off line
+
+# Text to go in display panel of authorisation dialogue; the
+# second is used if the first is too large to fit in the buffer
+# space available due to the substituted strings.
+
+Authorise:Please enter a user name and a password for %%s at %%s.
+AuthorShr:Please enter a user name and a password.
+
+# Other general text:
+#
+# Print dialogue / printing generally
+
+PrintName:WebPage
+PJobName:Web page
+PagesSingle:sheet is filled
+PagesMany:sheets are filled
+
+# Should the number range items in the
+# print dialogue have the icon flags on their
+# writable components altered?
+
+AlterNumranges:no
+AlterWith:(none)
+
+# History menu title
+
+HistMemT:History
+
+# Fetcher protocols. For some operations (e.g. the
+# Shift+Tab URL writing) a list of currently available
+# protocols is useful. Include below the number of
+# fetcher protocol modules that may be supported, and
+# then a series of entries - the module name followed
+# by the protocol prefix (see below for examples).
+# The modules may not actually be loaded - this just
+# states that there is the potential for them to be
+# present. Any fetchers not in this list will be
+# ignored by some routines.
+#
+# Note that http:// may be special cased to allow for
+# 'http://' and 'http://www.' for some systems; similarly
+# 'file://' may be special cased to 'file://ADFS::4/$/'.
+
+ProtocolMax:3
+
+ProtocolM1:AcornHTTP
+ProtocolU1:http://
+
+ProtocolM2:FileFetcher
+ProtocolU2:file://
+
+ProtocolM3:FTPFetcher
+ProtocolU3:ftp://
+
+# Non user-configurable options
+
+# AnimSpeed:      Time between null polls when claiming them; relates to the
+#                 fastest the animation can go and the Desktop load the
+#                 browser will represent.
+# ShowDStatFor:   If showing dialler status, this is the time in centiseconds
+#                 for which an unusual status message will be shown (see
+#                 messages above).
+# Quantise:       If showing dialler status, this is the quantisation applied
+#                 to online time. This is because a 1 second update may well
+#                 be jerky if the browser is doing a lot of work, and a more
+#                 steady 5 (say) second update may be preferable.
+
+# MinConvergence: Minimum OS unit toolbar width after which toolbar items are
+#                 are not moved or resized to stay in view.
+# DontGrey:       If 0, toolbar buttons are greyed as usual. If 1, only the
+#                 History menu popup is greyed. If 2, nothing is greyed.
+# SwapBars:       If 'yes' the upper and lower toolbars are swapped, so the
+#                 status bar can appear at the top of the window and the
+#                 URL/button bars at the bottom.
+#                 [Not yet implemented]
+# DBoxAnims:      If 'yes', dialogues can contain an animation. This is the
+#                 same as the component in the status bar that holds the
+#                 animation (i.e. same component ID). The animation will be
+#                 advanced 1 frame for every complete cycle of the main
+#                 animation (even if the main animation isn't running).
+#                 If 'no', dialogues can still contain the same component
+#                 but it won't be animated.
+
+# AppendStatus:   If 'yes', in the absence of the byte counter display field
+#                 on the status bar the information will be appended to the
+#                 text in the main status display field. Else, 'no'.
+#                 An individual status message may override this though -
+#                 see the relevant section above.
+# UseBrackets:    If 'yes', then if appending status according to the above,
+#                 the appended text is put in brackets. Else, 'no'.
+# AppendURLs:     If going to special URL locations such as a hotlist,
+#                 then if this is 'yes', append AppendWith (below) followed
+#                 by the currently displayed URL before moving to that page.
+#                 If this is 'no', the URL is not appended.
+# AppendWith:     If appending URLs, this is the separator to use between
+#                 the fetch URL and the current URL. It will usually be
+#                 something that a CGI script referenced by the fetch URL
+#                 can latch on to.
+
+# KeepCaret:      If 'yes', the caret will be grabbed back into the browser
+#                 window whenever it is lost, provided that the pointer
+#                 is over a browser-owned window. This must only be used for
+#                 systems on an HTML-only interface or other very special
+#                 circumstances, as it prevents any other object from
+#                 getting the caret (well, unless that object pops itself
+#                 up under the pointer). The caret will always be grabbed
+#                 back into the last window opened (which should be the
+#                 only window opened!) as otherwise two windows could
+#                 start arguing over who has the caret.
+# ClaimHelp:      If 'yes', interactive help requests will be claimed and
+#                 the help text displayed in the status bar.
+# ShowHelpFor:    The length of time that Help text will be displayed in the
+#                 status bar before other messages are allowed to override
+#                 it.
+# StopWebServ:    If 'yes', send an AppControl message with a 'Stop'
+#                 reason code to !WebServ, if running, when the 'Stop'
+#                 button is used in the browser. This will force it to
+#                 abort all current connections, breaking any image
+#                 fetches and ditching partial fetches. This is quite a
+#                 vicious thing to do, so only use the option if you're sure
+#                 you want such a complete halt from the software.
+
+# IgnoreAdjust:   If 'yes', adjust-clicks will be treated as select
+#                 clicks for any action which would open a second window.
+#                 This can be useful for full screen browsers.
+# LockToLine:     If 'yes', left/right arrows will only select items on
+#                 the same line (for keyboard control). This introduces
+#                 more consistency as up/down scroll the page etc.,
+#                 but can feel clumsy sometimes. If 'no', left/right will
+#                 allow vertical movement but won't jump over longer
+#                 distances (which can feel inconsistent at times) as
+#                 to do this the page needs to scroll vertically - but it
+#                 is left/right that's being pressed.
+
+# PtrLnkActvX:    Link pointer active point x offset (pixels from left).
+# PtrLnkActvY:    Link pointer active point y offset (pixels from top).
+# PtrMapActvX:    Map pointer active point x offset (pixels from left).
+# PtrMapActvY:    Map pointer active point y offset (pixels from top).
+
+# BackOffAt:      During an image fetch, memory is claimed temporarily for
+#                 processing. The more simultaneous image fetches are going
+#                 on, the greater the high water mark of memory consumption.
+#                 Images are also kept from the previous page and garbage
+#                 collected after the fetch, so that images common between
+#                 the pages aren't fetched twice. However, in low memory
+#                 situations it is desirable to discard such images and
+#                 then start backing away from the maximum number of
+#                 fetches that are allowed. Set this entry to the amount
+#                 of free memory in K below which this starts to happen.
+#                 [Not yet implemented]
+
+AnimSpeed:7
+ShowDStatFor:300
+Quantise:5
+
+MinConvergence:480
+DontGrey:0
+SwapBars:no
+DBoxAnims:no
+
+AppendStatus:no
+UseBrackets:yes
+AppendURLs:no
+AppendWith:(none)
+
+KeepCaret:no
+ClaimHelp:yes
+ShowHelpFor:800
+StopWebServ:no
+
+PtrLnkActvX:5
+PtrLnkActvY:2
+PtrMapActvX:8
+PtrMapActvY:8
+
+IgnoreAdjust:no
+LockToLine:no
+
+BackOffAt:128
+
+# Dynamically created pages. Note that MessageTrans will deal with '%'s,
+# so you need two if you want one.
+
+PEmptyDoc:<HTML><HEAD><TITLE>Empty document</TITLE></HEAD><BODY><H2>The server returned an empty document.</H2></BODY></HTML>
+
+# Warning! This one gets compiled with sprintf, so if using a '%' anywhere,
+# make sure it's done as '%%'. Then do it again to cope with MessageTrans;
+# so for a single %, put four in. Hmph.
+
+PExtImage:<HTML><HEAD><TITLE>%%s</TITLE></HEAD><BODY><FONT SIZE="5"><IMG SRC="%%s" ALIGN="CENTER" ALT="Fetching picture..."></FONT><P>&nbsp;<P><CENTER><B>%s</B><HR WIDTH = 80%%%%><A HREF="!INTRNL!GoBack:Previous Page">Go back to the previous page</A></CENTER></BODY></HTML>
diff --git a/Resources/UK/Browse/Res,fae b/Resources/UK/Browse/Res,fae
new file mode 100644
index 0000000000000000000000000000000000000000..5dd109cd7fe2a879210bd528e48bc820d784ac3b
Binary files /dev/null and b/Resources/UK/Browse/Res,fae differ
diff --git a/Resources/UK/Browse/Sprites,ff9 b/Resources/UK/Browse/Sprites,ff9
new file mode 100644
index 0000000000000000000000000000000000000000..04db42b58967a9a71b4ed824170e04b70cbd4ace
Binary files /dev/null and b/Resources/UK/Browse/Sprites,ff9 differ
diff --git a/Resources/UK/Browse/User/Hotlist,faf b/Resources/UK/Browse/User/Hotlist,faf
new file mode 100644
index 0000000000000000000000000000000000000000..a14912c0cb9b204cc877692c8584c6aa9a77869a
--- /dev/null
+++ b/Resources/UK/Browse/User/Hotlist,faf
@@ -0,0 +1,24 @@
+<html>
+<head>
+<title>Browser Hot List</title></head><body><h2>Browser Hot List</h2>
+<ul>
+    <hr align=center>
+    <li><b><a href="http://www.unitedmedia.com/comics/dilbert">Dilbert</a></b>
+    <hr align=center>
+    <li><a href="http://www.acorn.co.uk/~ahodgkin/">Test Page</a>
+    <li><a href="http://www.acorn.co.uk/">Acorn Home Page</a>
+    <li><a href="http://www.xemplar.co.uk/">Xemplar Home Page</a>
+    <hr align=center>
+    <li><a href="http://www.altavista.digital.com/">Alta Vista search</a>
+    <li><b><a href="http://altavista.software.digital.com/">Alta Vista software</a></b>
+    <li><a href="http://www.yahoo.com/">Yahoo search</a>
+    <li><a href="http://www.infoseek.com/">Infoseek search</a>
+    <li><a href="http://www.lycos.com/">Lycos search</a>
+    <li><a href="http://www.excite.com/">Excite</a>
+    <hr align=center>
+    <li><a href="http://www.dejanews.com/">DejaNews</a>
+    <li><a href="http://www.w3.org/">World Wide Web consortium</a>
+    <hr align=center>
+</ul><p>
+</body>
+</html>
diff --git a/Resources/UK/Phoenix/!Boot,feb b/Resources/UK/Phoenix/!Boot,feb
new file mode 100644
index 0000000000000000000000000000000000000000..ac2806cfc2fed293c1e813320f92ae6cab456313
--- /dev/null
+++ b/Resources/UK/Phoenix/!Boot,feb
@@ -0,0 +1,16 @@
+Set Browse$Dir <Obey$Dir>
+Set Browse$Path <Browse$Dir>.
+
+| 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
diff --git a/Resources/UK/Phoenix/!Run,feb b/Resources/UK/Phoenix/!Run,feb
new file mode 100644
index 0000000000000000000000000000000000000000..1af7de73e03df31fb9d9c464bbe48fe899d5a51e
--- /dev/null
+++ b/Resources/UK/Phoenix/!Run,feb
@@ -0,0 +1,63 @@
+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.13 RMLoad System:Modules.Toolbox.IconBar
+RMEnsure IconBar      1.13 Error The browser requires version 1.13 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.37 RMLoad System:Modules.Toolbox.Window
+RMEnsure Window       1.37 Error The browser requires version 1.37 or later of the Window module
+RMEnsure Menu         0.24 RMLoad System:Modules.Toolbox.Menu
+RMEnsure Menu         0.24 Error The browser requires version 0.24 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
+
+| JPEG support for OS versions without this in SpriteExtend
+
+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
diff --git a/Resources/UK/Phoenix/!RunD,feb b/Resources/UK/Phoenix/!RunD,feb
new file mode 100644
index 0000000000000000000000000000000000000000..85268d01bb6e0a0ee734c06670f26d1e4bdb9cbc
--- /dev/null
+++ b/Resources/UK/Phoenix/!RunD,feb
@@ -0,0 +1,65 @@
+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.13 RMLoad System:Modules.Toolbox.IconBar
+RMEnsure IconBar      1.13 Error The browser requires version 1.13 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.37 RMLoad System:Modules.Toolbox.Window
+RMEnsure Window       1.37 Error The browser requires version 1.37 or later of the Window module
+RMEnsure Menu         0.24 RMLoad System:Modules.Toolbox.Menu
+RMEnsure Menu         0.24 Error The browser requires version 0.24 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
+
+| JPEG support for OS versions without this in SpriteExtend
+
+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 1600K -Max 1600K
+
+%UnSet ChangeFSI$Dir
+|Run <Browse$Dir>.!RunImage -debug CMal,CFle %*0 2> Pipe:$.StdErr
+Run <Browse$Dir>.!RunImage %*0
\ No newline at end of file
diff --git a/Resources/UK/Phoenix/!Sprites,ff9 b/Resources/UK/Phoenix/!Sprites,ff9
new file mode 100644
index 0000000000000000000000000000000000000000..d1a5d3420edf69d53044fef089e78a9a06058897
Binary files /dev/null and b/Resources/UK/Phoenix/!Sprites,ff9 differ
diff --git a/Resources/UK/Phoenix/!Sprites22,ff9 b/Resources/UK/Phoenix/!Sprites22,ff9
new file mode 100644
index 0000000000000000000000000000000000000000..9a7a3ebe5548bab273ecb0eb172fe91f896a045a
Binary files /dev/null and b/Resources/UK/Phoenix/!Sprites22,ff9 differ
diff --git a/Resources/UK/Phoenix/Choices b/Resources/UK/Phoenix/Choices
new file mode 100644
index 0000000000000000000000000000000000000000..a69dbf8c4c796b96c66e3edbe15486d4276bb1be
--- /dev/null
+++ b/Resources/UK/Phoenix/Choices
@@ -0,0 +1,257 @@
+# Options. THESE MAY NOT BE INTERNATIONALISED - the values of the tokens,
+# where strings, are compared directly inside the browser. Since the user
+# should edit this through a dialogue, it is that dialogue's contents which
+# can be internationalised. Changing the values here to foreign ones
+# requires the code to be appropriately altered and recompiled.
+
+# User-configurable options
+
+# HomePage     - The URL that the browser defaults to on loading.
+
+# DefWidth     - Default browser window width, in OS units.
+# DefHeight    - Default browser window height, in OS units.
+# OverrideX    - The X position to open the window at, or 0 for centred.
+# OverrideY    - The Y position to open the window at, or 0 for centred.
+
+# PostIn       - Post-in path for mail, or '<none>'.
+# PostOut      - Post-out path for mail, or '<none>'.
+
+# BackColour   - Background colour; 0xBBGGRR00 where RR GG BB are red, green,
+#                and blue values as two digit hex numbers from 0 to 255. It
+#                doesn't matter if the hex digits are upper or lower case. If
+#                the syntax is wrong, very unpredictable effects could occur.
+# TextColour   - Text colour, defined as BackColour.
+# LinkColour   - Link colour, defined as BackColour.
+# UsedColour   - Used (followed) link colour, defined as BackColour.
+# FollColour   - Colours links flash to when clicked on, before being
+#                followed.
+# SeleColour   - Colours objects adopt or are bordered in if selected /
+#                highlighted.
+
+# FontSize     - Default font size, in points. Between 6 and 24, fractions
+#                will be ignored (so 12.9 would be treated as 12, say).
+# SystemFont   - 'yes' or 'no', if 'yes' browser will only use system font on
+#                the page (fast and clear, but pretty ugly...).
+
+# DelayImage   - 'yes' or 'no', if 'yes' images will not be loaded until
+#                they are told to load. Otherwise they load as part of the
+#                main page fetch.
+# DisplayBgs   - 'yes' or 'no', if 'yes' background images will be displayed.
+# UnderlineLks - 'yes' or 'no', if 'yes' link text will be underlined.
+# OverrideCols - 'yes' or 'no', if 'yes' document-specified colours will be
+#                ignored and defaults will be used instead.
+# FixedPtr     - 'yes' or 'no', if 'yes' the pointer will change shape as it
+#                moves over certain objects on the page (e.g. a link).
+#                Otherwise it stays the standard pointer shape, over the page.
+# HighlightLks - 'yes' or 'no', if 'yes' links (and some other objects) will
+#                be highlighted as the pointer moves over them.
+# ShowLinksFor - A time in centiseconds. The length of time for which the
+#                contents in of a link selected by the keyboard or pointed to
+#                by the mouse is shown in the status bar before it reverts
+#                to other information (fetch status, page being viewed,
+#                etc.); 0 to show for as long as the link is selected or
+#                pointed to.
+# ShowFHighFor - A time in centiseconds to show the frame highlight (for
+#                keyboard control, when jumping into a new frame).
+# KeyboardCtl  - 'yes' or 'no', if 'yes' links (and some other objects) will
+#                be selectable from the keyboard.
+# ClearFirst   - 'yes' or 'no', only relevant for UI designs where the
+#                URL writable and status bars are merged. In such UIs,
+#                pressing an alphanumeric key when in status mode will
+#                change to writable mode and, if this is 'yes', put the
+#                key value into the writable, clearing whatever was there
+#                beforehand first. If 'no', then the value of the key is
+#                appended to whatever is in the writable.
+# KeepHighlight- 'yes' or 'no'. If 'yes', frames will be (re)highlighted
+#                whenever keyboard navigated. If 'no', they are only
+#                highlighted when initially selected.
+
+# LeftMargin   - Basic left hand page margin (before list indents etc.), in
+#                millipoints.
+# RightMargin  - Similarly, the basic right hand page margin in millipoints.
+# QuoteMargin  - Extra page margin for a <blockquote> section of text.
+# Leading      - Line spacing in OS units (pronounced 'ledding'). Note that
+#                negative numbers are allowed but may produce redraw
+#                artifacts under some circumstances, so use with caution.
+# LeftIndent   - Multiplier used to work out left hand indent of text for
+#                list items etc., in millipoints.
+# MinFrmHeight - Minimum height a frame may take when initially sized or
+#                subsequently resized, in OS units.
+# MinFrmWidth  - Similarly, the minimum frame width.
+
+# DefURLbar    - 'yes' or 'no', if 'yes' new browser windows will have URL
+#                bars present.
+# DefButtonBar - 'yes' or 'no', if 'yes' new browser windows will have button
+#                bars present.
+# DefStatusBar - 'yes' or 'no', if 'yes' new browser windows will have status
+#                bars present.
+# MoveGadgets  - '0', '1', or '2'. If '0', gadgets are never moved on the
+#                toolbars to fit inside the window. If '1', gadgets are moved
+#                at the end of any resize actions. If '2', gadgets are moved
+#                during resize actions.
+# AnimDrift    - 'yes' or 'no', if 'yes' the status bar animation will drift
+#                over to the first starting sprite before stopping. Otherwise
+#                it will stop as soon as the browser is idle.
+
+# FullScreen   - 'yes' or 'no', if 'yes' the window will open full screen,
+#                else it will open at the default page size.
+# HScroll      - 'yes' or 'no', if 'yes' a horizontal scroll bar will be
+#                visible when Full Screen. Can also have 'auto', to
+#                add or remove scroll bars automatically, if the Wimp
+#                variant the browser runs on supports this. If the
+#                Wimp doesn't, this will work the same as 'yes'.
+# VScroll      - 'yes' or 'no', if 'yes' a vertical scroll bar will be
+#                visible when Full Screen. As for HScroll, can also
+#                have 'auto' with the right Wimp.
+
+# MaxImages    - Maximum number of images that may be simultaneously fetched.
+#                Must be between 1 and 255, though values over about 25 are
+#                more likely to degrade performance than improve it.
+
+# GHistSize    - Maximum global history size, in K.
+# VHistSize    - Maximum view history size, in entries.
+# HistoryPath  - Global history default load/save path.
+# HotlistPath  - Hotlist default load/save path.
+# ShowURLs     - 'yes' or 'no', if 'yes' the History menu will always only
+#                contain URLs. Otherwise it will hold page titles (where
+#                available).
+# SaveHistory  - 'yes' or 'no', if 'yes' the global history will always be
+#                saved to disc on browser exit, else it will never be saved.
+# SaveHotlist  - 'yes' or 'no', if 'yes' the hotlist will always be saved to
+#                disc on browser exit, else it will never be saved (in which
+#                case changes during a browser session will be lost, so this
+#                should be used with caution).
+
+# RefoWait     - 'yes' or 'no', if 'yes' the browser will wait for a time
+#                determined by 'RefoTime' (see below) before doing a page
+#                reformat - can be useful if frequent reformats when unsized
+#                images come in (for example) are proving annoying.
+# RefoHang     - 'yes' or 'no', if 'yes' the page will not reformat past an
+#                unsized image - the browser will wait until that image's
+#                size is known. For slow sites this may take a long time.
+#                [Unimplemented]
+# RefoTime     - If RefoWait is 'yes', the time in centiseconds between
+#                queued reformats (urgent reformats may force this earlier
+#                though - e.g. document fetch completed).
+# BrickWall    - If 'yes', then clicking on 'Stop' or following new links
+#                will immediately stop *all* fetch/reformat activity,
+#                or for targetted links, will stop such activity in the
+#                target. This is a fairly specialised option as normally
+#                continued cacheing (if a local proxy is present) or
+#                continued background fetching is desirable (may as well
+#                take advantage of otherwise idle time this way).
+
+# PrintCopies  - Default number of copies to print. Must be at least 1!
+# PrintStart   - 'start' to print from the start of the web page, 'visible'
+#                to print from the top of the region visible in the browser
+#                window.
+# PrintEnd     - 'end' to print to the end of the web page, 'visible' to
+#                print to the bottom of the region visible in the browser
+#                window, else a number greater than 0 for the number of pages
+#                to fill up after starting printing at the given start point.
+# PrintReform  - 'yes' or 'no', if 'yes' the page will be reformatted to fit
+#                the paper size (else it is printed at a width determined by
+#                the browser window, which may mean it overflows the right
+#                hand edge of the paper or does not use the full page width).
+#                Reformatting can take quite a long time, hence this is
+#                optional. When using 'visible' for PrintStart or PrintEnd,
+#                this option is ignored and reformatting does not take place,
+#                as reformatting would change the visible region, if it was
+#                done in the window rather than internally for the printer.
+# PrintOrient  - 'upright' or 'sideways', which pretty much says it all.
+
+# Typeface1    - Typeface definitions. The syntax of these is fairly
+# Typeface2      strict and slightly complex, so they should only
+# Typeface3      be altered through a front-end dialogue in the
+# Typeface4      browser.
+
+# UseProxy     - 'yes' or 'no', if 'yes' proxying will be used so the value
+#                of the next two items is important.
+# ProxyAddress - The base URL of the proxy server to use, such as
+#                'http://wwwcache.demon.co.uk/'.
+
+#HomePage:http://www.sandia.gov/sci_compute/html_ref.html
+#HomePage:http://www.comlab.ox.ac.uk/archive/other/rowing.html
+HomePage:http://www.acorn.co.uk/
+#HomePage:http://www.altavista.digital.com/
+#HomePage:http://www.acorn.co.uk/~ahodgkin/
+
+DefWidth:1364
+DefHeight:1280
+OverrideX:0
+OverrideY:0
+
+PostIn:<None>
+PostOut:<None>
+
+TextColour:0x00000000
+BackColour:0xdddddd00
+LinkColour:0xff000000
+UsedColour:0xbb008800
+FollColour:0x0000ff00
+SeleColour:0x00bb0000
+
+FontSize:12
+SystemFont:no
+
+DelayImage:no
+DisplayBgs:yes
+UnderlineLks:yes
+OverrideCols:no
+FixedPtr:no
+HighlightLks:no
+ShowLinksFor:500
+ShowFHighFor:80
+KeyboardCtl:no
+ClearFirst:no
+KeepHighlight:no
+
+LeftMargin:1600
+RightMargin:6400
+QuoteMargin:19200
+#LeftMargin:0
+#RightMargin:0
+#QuoteMargin:0
+Leading:4
+LeftIndent:12800
+MinFrmHeight:48
+MinFrmWidth:48
+
+DefURLbar:yes
+DefButtonBar:yes
+DefStatusBar:yes
+MoveGadgets:2
+AnimDrift:yes
+
+FullScreen:no
+HScroll:auto
+VScroll:auto
+
+MaxImages:10
+
+GHistSize:1
+VHistSize:50
+HistoryPath:Browse:User.History
+HotlistPath:Browse:User.Hotlist
+ShowURLs:no
+SaveHistory:yes
+SaveHotlist:yes
+
+RefoWait:yes
+RefoHang:no
+RefoTime:750
+BrickWall:no
+
+PrintCopies:1
+PrintStart:start
+PrintEnd:end
+PrintReform:yes
+PrintOrient:upright
+
+Typeface1:system=System.Fixed:Corpus.Medium.Oblique:Corpus.Bold:Corpus.Bold.Oblique;fixed
+Typeface2:fixed=Corpus.Medium:Corpus.Medium.Oblique:Corpus.Bold:Corpus.Bold.Oblique;
+Typeface3:sans=NewHall.Medium:NewHall.Medium.Italic:NewHall.Bold:NewHall.Bold.Italic;serif
+Typeface4:serif=Homerton.Medium:Homerton.Medium.Oblique:Homerton.Bold:Homerton.Bold.Oblique;sans
+
+UseProxy:no
+ProxyAddress:http://127.0.0.1/
diff --git a/Resources/UK/Phoenix/Messages b/Resources/UK/Phoenix/Messages
new file mode 100644
index 0000000000000000000000000000000000000000..e941935a41eb61187fde5363ab57ccc8e3223307
--- /dev/null
+++ b/Resources/UK/Phoenix/Messages
@@ -0,0 +1,321 @@
+_TaskName:Browse
+_SpriName:!browse
+Version:1.17 (23-Jul-97)
+
+# Errors, ranked roughly in order of increasing severity
+
+CannotFetch:The browser does not have a method of fetching the requested site.
+NotInline:Sorry, can‘t handle this data format (press Enter or click on Continue‘ to continue).
+Refused:Cannot fetch this address as the fetch request was refused by the internal handler.
+
+PrintBusy:The printer is currently busy.
+EmptyHistE:The history list is empty.
+NoLabel:The label ”%0• cannot be found on this page.
+NoLabelF:The label ”%0• cannot be found, but the page is still fetching - try again when the page fetch has finished.
+
+BadAuthor:Authorisation failed; you must use a valid user name and password.
+
+NoMemWin:There is not enough free memory to open another browser window.
+NoMemGHi:There is not enough free memory to add the page to the global history.
+NoMemLHi:There is not enough free memory to open the history menu.
+NoMemFet:There is not enough free memory to perform this fetch (%0).
+NoMemGen:There is not enough free memory to continue this operation (%0).
+NoMemRea:There is not enough free memory to continue the page fetch (%0).
+FontMem:There is not enough free memory for font handling (%0).
+NoMemImg:There is not enough free memory for any new images (%0).
+
+StrNotFd:Internal error - Can‘t find structure in %0.
+NoParent:When closing frames, can't find child's record in the parent window in windows_close_window().
+WhatTog1:Internal error - Toolbar toggle handle not understood in toolbars_toggle_bars().
+WhatTog2:Internal error - Toolbar toggle handle not understood in menus_choices_bars().
+WhatSave:Internal error - Save dialogue origin not understood in save_fill_in().
+BadType:Internal error - Bad typeface definition in %0().
+BadTRef:Internal error - Reference to undefined typeface in %0().
+
+HSHOvrrn:Serious internal error - HtmlStripHeaders has failed; must exit immediately.
+STCUnkwn:Serious internal error - Unknown chunk ID in memory_set_chunk_size(); must exit immediately.
+
+# Strict parse mode errors
+
+FramNest:Frames definition is badly nested; could not complete the frames layout.
+FramRcrs:Frames definition references itself recursively; could not proceed with the frames layout.
+
+# Default offered leafnames
+
+NoURLleaf:Index
+NoURLdata:HTMLfile
+
+# Status bar messages. Putting a '-' in front of one will
+# stop a byte counter being appended if the choices lower
+# down in this file specify that such text should be
+# added (so you can override for specific messages that
+# never want a byte counter).
+
+Status0:-Ready
+Status1:-Beginning fetchŒ
+Status2:-Trying to find server's addressŒ
+Status3:-Found server's address
+Status4:-Sending request to the serverŒ
+Status5:Fetching dataŒ
+
+GetPic:Fetching 1 imageŒ
+GetPics:Fetching %d imagesŒ
+
+Ready:-Ready
+Page:-Viewing ”%%s•
+LinkTo:-Link to ”%%s•
+BlankPage:Blank page
+
+# (For these, the first is for when the URL is known
+# and only one such action is in progress, e.g. in a
+# non-frames page; the second is for if the URL can't
+# be determined for whatever reason; and the third is
+# for the case where there are several such actions
+# occurring simultaneously in a frames document).
+
+Fetch:Fetching ”%%s•Œ
+FetchUK:Fetching web pageŒ
+FetchMany:Fetching frames contentsŒ
+
+Process:-Processing ”%%s•Œ
+ProcessUK:-Processing web pageŒ
+ProcessMany:-Processing frames contentsŒ
+
+Format:-Formatting ”%%s•Œ
+FormatUK:-Formatting web pageŒ
+FormatMany:-Formatting frames contentsŒ
+
+# URL bar messages
+
+AtHotlist:Hotlist
+AtHistory:Global History
+AtResources:Resources
+
+# Label messages
+
+DisplayBytes:Amount
+DisplayStats:Info
+DisplayURL:Location
+DiaStatusDial:Dialler
+DiaStatusTime:Time
+
+# On-page messages
+
+NoData:The server returned a blank page.
+
+# Buttons in forms - submit buttons, reset buttons, and unknown
+# button types; menu title for Select lists when no other is
+# present.
+
+Submit:Submit
+Reset:Reset
+Unknown:Action
+selTITL:Select
+
+# Dialler text. Dialler status is displayed in component
+# 0xf, if present in the upper toolbar. If this component
+# doesn't exist the application will not attempt to register
+# with the dialler and relevant event handlers won't be
+# installed.
+
+Dialling:Dialling
+Hangup:Hanging up
+Answering:Answering
+SError:Script error
+Timeout:Timed out
+Carrier:No carrier
+MError:Modem error
+Dialtone:No dialtone
+MBusy:Line busy
+Answer:No answer
+Offline:Off line
+
+# Text to go in display panel of authorisation dialogue; the
+# second is used if the first is too large to fit in the buffer
+# space available due to the substituted strings.
+
+Authorise:Please enter a user name and a password for %%s at %%s.
+AuthorShr:Please enter a user name and a password.
+
+# Other general text:
+#
+# Print dialogue / printing generally
+
+PrintName:WebPage
+PJobName:Web page
+PagesSingle:sheet is filled
+PagesMany:sheets are filled
+
+# Should the number range items in the
+# print dialogue have the icon flags on their
+# writable components altered?
+
+AlterNumranges:no
+AlterWith:(none)
+
+# History menu title
+
+HistMemT:History
+
+# Fetcher protocols. For some operations (e.g. the
+# Shift+Tab URL writing) a list of currently available
+# protocols is useful. Include below the number of
+# fetcher protocol modules that may be supported, and
+# then a series of entries - the module name followed
+# by the protocol prefix (see below for examples).
+# The modules may not actually be loaded - this just
+# states that there is the potential for them to be
+# present. Any fetchers not in this list will be
+# ignored by some routines.
+#
+# Note that http:// may be special cased to allow for
+# 'http://' and 'http://www.' for some systems; similarly
+# 'file://' may be special cased to 'file://ADFS::4/$/'.
+
+ProtocolMax:3
+
+ProtocolM1:AcornHTTP
+ProtocolU1:http://
+
+ProtocolM2:FileFetcher
+ProtocolU2:file://
+
+ProtocolM3:FTPFetcher
+ProtocolU3:ftp://
+
+# Non user-configurable options
+
+# AnimSpeed:      Time between null polls when claiming them; relates to the
+#                 fastest the animation can go and the Desktop load the
+#                 browser will represent.
+# ShowDStatFor:   If showing dialler status, this is the time in centiseconds
+#                 for which an unusual status message will be shown (see
+#                 messages above).
+# Quantise:       If showing dialler status, this is the quantisation applied
+#                 to online time. This is because a 1 second update may well
+#                 be jerky if the browser is doing a lot of work, and a more
+#                 steady 5 (say) second update may be preferable.
+
+# MinConvergence: Minimum OS unit toolbar width after which toolbar items are
+#                 are not moved or resized to stay in view.
+# DontGrey:       If 0, toolbar buttons are greyed as usual. If 1, only the
+#                 History menu popup is greyed. If 2, nothing is greyed.
+# SwapBars:       If 'yes' the upper and lower toolbars are swapped, so the
+#                 status bar can appear at the top of the window and the
+#                 URL/button bars at the bottom.
+#                 [Not yet implemented]
+# DBoxAnims:      If 'yes', dialogues can contain an animation. This is the
+#                 same as the component in the status bar that holds the
+#                 animation (i.e. same component ID). The animation will be
+#                 advanced 1 frame for every complete cycle of the main
+#                 animation (even if the main animation isn't running).
+#                 If 'no', dialogues can still contain the same component
+#                 but it won't be animated.
+
+# AppendStatus:   If 'yes', in the absence of the byte counter display field
+#                 on the status bar the information will be appended to the
+#                 text in the main status display field. Else, 'no'.
+#                 An individual status message may override this though -
+#                 see the relevant section above.
+# UseBrackets:    If 'yes', then if appending status according to the above,
+#                 the appended text is put in brackets. Else, 'no'.
+# AppendURLs:     If going to special URL locations such as a hotlist,
+#                 then if this is 'yes', append AppendWith (below) followed
+#                 by the currently displayed URL before moving to that page.
+#                 If this is 'no', the URL is not appended.
+# AppendWith:     If appending URLs, this is the separator to use between
+#                 the fetch URL and the current URL. It will usually be
+#                 something that a CGI script referenced by the fetch URL
+#                 can latch on to.
+
+# KeepCaret:      If 'yes', the caret will be grabbed back into the browser
+#                 window whenever it is lost, provided that the pointer
+#                 is over a browser-owned window. This must only be used for
+#                 systems on an HTML-only interface or other very special
+#                 circumstances, as it prevents any other object from
+#                 getting the caret (well, unless that object pops itself
+#                 up under the pointer). The caret will always be grabbed
+#                 back into the last window opened (which should be the
+#                 only window opened!) as otherwise two windows could
+#                 start arguing over who has the caret.
+# ClaimHelp:      If 'yes', interactive help requests will be claimed and
+#                 the help text displayed in the status bar.
+# ShowHelpFor:    The length of time that Help text will be displayed in the
+#                 status bar before other messages are allowed to override
+#                 it.
+# StopWebServ:    If 'yes', send an AppControl message with a 'Stop'
+#                 reason code to !WebServ, if running, when the 'Stop'
+#                 button is used in the browser. This will force it to
+#                 abort all current connections, breaking any image
+#                 fetches and ditching partial fetches. This is quite a
+#                 vicious thing to do, so only use the option if you're sure
+#                 you want such a complete halt from the software.
+
+# IgnoreAdjust:   If 'yes', adjust-clicks will be treated as select
+#                 clicks for any action which would open a second window.
+#                 This can be useful for full screen browsers.
+# LockToLine:     If 'yes', left/right arrows will only select items on
+#                 the same line (for keyboard control). This introduces
+#                 more consistency as up/down scroll the page etc.,
+#                 but can feel clumsy sometimes. If 'no', left/right will
+#                 allow vertical movement but won't jump over longer
+#                 distances (which can feel inconsistent at times) as
+#                 to do this the page needs to scroll vertically - but it
+#                 is left/right that's being pressed.
+
+# PtrLnkActvX:    Link pointer active point x offset (pixels from left).
+# PtrLnkActvY:    Link pointer active point y offset (pixels from top).
+# PtrMapActvX:    Map pointer active point x offset (pixels from left).
+# PtrMapActvY:    Map pointer active point y offset (pixels from top).
+
+# BackOffAt:      During an image fetch, memory is claimed temporarily for
+#                 processing. The more simultaneous image fetches are going
+#                 on, the greater the high water mark of memory consumption.
+#                 Images are also kept from the previous page and garbage
+#                 collected after the fetch, so that images common between
+#                 the pages aren't fetched twice. However, in low memory
+#                 situations it is desirable to discard such images and
+#                 then start backing away from the maximum number of
+#                 fetches that are allowed. Set this entry to the amount
+#                 of free memory in K below which this starts to happen.
+#                 [Not yet implemented]
+
+AnimSpeed:7
+ShowDStatFor:300
+Quantise:5
+
+MinConvergence:480
+DontGrey:0
+SwapBars:no
+DBoxAnims:no
+
+AppendStatus:no
+UseBrackets:yes
+AppendURLs:no
+AppendWith:(none)
+
+KeepCaret:no
+ClaimHelp:yes
+ShowHelpFor:800
+StopWebServ:no
+
+PtrLnkActvX:5
+PtrLnkActvY:2
+PtrMapActvX:8
+PtrMapActvY:8
+
+IgnoreAdjust:no
+LockToLine:no
+
+BackOffAt:128
+
+# Dynamically created pages. Note that MessageTrans will deal with '%'s,
+# so you need two if you want one.
+
+PEmptyDoc:<HTML><HEAD><TITLE>Empty document</TITLE></HEAD><BODY><H2>The server returned an empty document.</H2></BODY></HTML>
+
+# Warning! This one gets compiled with sprintf, so if using a '%' anywhere,
+# make sure it's done as '%%'. Then do it again to cope with MessageTrans;
+# so for a single %, put four in. Hmph.
+
+PExtImage:<HTML><HEAD><TITLE>%%s</TITLE></HEAD><BODY><FONT SIZE="5"><IMG SRC="%%s" ALIGN="CENTER" ALT="Fetching picture..."></FONT><P>&nbsp;<P><CENTER><B>%s</B><HR WIDTH = 80%%%%><A HREF="!INTRNL!GoBack:Previous Page">Go back to the previous page</A></CENTER></BODY></HTML>
diff --git a/Resources/UK/Phoenix/Res,fae b/Resources/UK/Phoenix/Res,fae
new file mode 100644
index 0000000000000000000000000000000000000000..86b262141c69370f05655c1820dc530b8cf0afc4
Binary files /dev/null and b/Resources/UK/Phoenix/Res,fae differ
diff --git a/Resources/UK/Phoenix/Sprites,ff9 b/Resources/UK/Phoenix/Sprites,ff9
new file mode 100644
index 0000000000000000000000000000000000000000..f46fc0808aa15d1828331336ad3e965bf4277ecd
Binary files /dev/null and b/Resources/UK/Phoenix/Sprites,ff9 differ
diff --git a/Resources/UK/Phoenix/User/Hotlist,faf b/Resources/UK/Phoenix/User/Hotlist,faf
new file mode 100644
index 0000000000000000000000000000000000000000..3123400e1c182a19d6ef645a6ca411910b9d652b
--- /dev/null
+++ b/Resources/UK/Phoenix/User/Hotlist,faf
@@ -0,0 +1,24 @@
+<html>
+<head>
+<title>Phoenix Hot List</title></head><body><h2>Phoenix Hot List</h2>
+<ul>
+    <hr align=center>
+    <li><b><a href="http://www.unitedmedia.com/comics/dilbert">Dilbert</a></b>
+    <hr align=center>
+    <li><a href="http://www.acorn.co.uk/~ahodgkin/">Test Page</a>
+    <li><a href="http://www.acorn.co.uk/">Acorn Home Page</a>
+    <li><a href="http://www.xemplar.co.uk/">Xemplar Home Page</a>
+    <hr align=center>
+    <li><a href="http://www.altavista.digital.com/">Alta Vista search</a>
+    <li><b><a href="http://altavista.software.digital.com/">Alta Vista software</a></b>
+    <li><a href="http://www.yahoo.com/">Yahoo search</a>
+    <li><a href="http://www.infoseek.com/">Infoseek search</a>
+    <li><a href="http://www.lycos.com/">Lycos search</a>
+    <li><a href="http://www.excite.com/">Excite</a>
+    <hr align=center>
+    <li><a href="http://www.dejanews.com/">DejaNews</a>
+    <li><a href="http://www.w3.org/">World Wide Web consortium</a>
+    <hr align=center>
+</ul><p>
+</body>
+</html>
diff --git a/Resources/UK/Ursula/!Boot,feb b/Resources/UK/Ursula/!Boot,feb
new file mode 100644
index 0000000000000000000000000000000000000000..ac2806cfc2fed293c1e813320f92ae6cab456313
--- /dev/null
+++ b/Resources/UK/Ursula/!Boot,feb
@@ -0,0 +1,16 @@
+Set Browse$Dir <Obey$Dir>
+Set Browse$Path <Browse$Dir>.
+
+| 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
diff --git a/Resources/UK/Ursula/!Run,feb b/Resources/UK/Ursula/!Run,feb
new file mode 100644
index 0000000000000000000000000000000000000000..cee8363388e1164d54c70509fc18464574d3383d
--- /dev/null
+++ b/Resources/UK/Ursula/!Run,feb
@@ -0,0 +1,80 @@
+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
\ No newline at end of file
diff --git a/Resources/UK/Ursula/!RunD,feb b/Resources/UK/Ursula/!RunD,feb
new file mode 100644
index 0000000000000000000000000000000000000000..c0a72aa947a0a3db064f0333e30307ccc0f9584a
--- /dev/null
+++ b/Resources/UK/Ursula/!RunD,feb
@@ -0,0 +1,82 @@
+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 1600K -Max 1600K
+
+%UnSet ChangeFSI$Dir
+|Run <Browse$Dir>.!RunImage -debug CMal,CFle %*0 2> Pipe:$.StdErr
+Run <Browse$Dir>.!RunImage %*0
\ No newline at end of file
diff --git a/Resources/UK/Ursula/!Sprites,ff9 b/Resources/UK/Ursula/!Sprites,ff9
new file mode 100644
index 0000000000000000000000000000000000000000..98d2bba54eab7a551c1423f0bc90c18d39e827f5
Binary files /dev/null and b/Resources/UK/Ursula/!Sprites,ff9 differ
diff --git a/Resources/UK/Ursula/!Sprites22,ff9 b/Resources/UK/Ursula/!Sprites22,ff9
new file mode 100644
index 0000000000000000000000000000000000000000..ad60872650e8a81c53c2ba77de7f99ec1a0a8de7
Binary files /dev/null and b/Resources/UK/Ursula/!Sprites22,ff9 differ
diff --git a/Resources/UK/Ursula/Choices b/Resources/UK/Ursula/Choices
new file mode 100644
index 0000000000000000000000000000000000000000..4f7743a6e6d68e4d7bc8d6758e72a1c79c10d460
--- /dev/null
+++ b/Resources/UK/Ursula/Choices
@@ -0,0 +1,250 @@
+# Options. THESE MAY NOT BE INTERNATIONALISED - the values of the tokens,
+# where strings, are compared directly inside the browser. Since the user
+# should edit this through a dialogue, it is that dialogue's contents which
+# can be internationalised. Changing the values here to foreign ones
+# requires the code to be appropriately altered and recompiled.
+
+# User-configurable options
+
+# HomePage     - The URL that the browser defaults to on loading.
+
+# DefWidth     - Default browser window width, in OS units.
+# DefHeight    - Default browser window height, in OS units.
+# OverrideX    - The X position to open the window at, or 0 for centred.
+# OverrideY    - The Y position to open the window at, or 0 for centred.
+
+# PostIn       - Post-in path for mail, or '<none>'.
+# PostOut      - Post-out path for mail, or '<none>'.
+
+# BackColour   - Background colour; 0xBBGGRR00 where RR GG BB are red, green,
+#                and blue values as two digit hex numbers from 0 to 255. It
+#                doesn't matter if the hex digits are upper or lower case. If
+#                the syntax is wrong, very unpredictable effects could occur.
+# TextColour   - Text colour, defined as BackColour.
+# LinkColour   - Link colour, defined as BackColour.
+# UsedColour   - Used (followed) link colour, defined as BackColour.
+# FollColour   - Colours links flash to when clicked on, before being
+#                followed.
+# SeleColour   - Colours objects adopt or are bordered in if selected /
+#                highlighted.
+
+# FontSize     - Default font size, in points. Between 6 and 24, fractions
+#                will be ignored (so 12.9 would be treated as 12, say).
+# SystemFont   - 'yes' or 'no', if 'yes' browser will only use system font on
+#                the page (fast and clear, but pretty ugly...).
+
+# DelayImage   - 'yes' or 'no', if 'yes' images will not be loaded until
+#                they are told to load. Otherwise they load as part of the
+#                main page fetch.
+# DisplayBgs   - 'yes' or 'no', if 'yes' background images will be displayed.
+# UnderlineLks - 'yes' or 'no', if 'yes' link text will be underlined.
+# OverrideCols - 'yes' or 'no', if 'yes' document-specified colours will be
+#                ignored and defaults will be used instead.
+# FixedPtr     - 'yes' or 'no', if 'yes' the pointer will change shape as it
+#                moves over certain objects on the page (e.g. a link).
+#                Otherwise it stays the standard pointer shape, over the page.
+# HighlightLks - 'yes' or 'no', if 'yes' links (and some other objects) will
+#                be highlighted as the pointer moves over them.
+# ShowLinksFor - A time in centiseconds. The length of time for which the
+#                contents in of a link selected by the keyboard or pointed to
+#                by the mouse is shown in the status bar before it reverts
+#                to other information (fetch status, page being viewed,
+#                etc.); 0 to show for as long as the link is selected or
+#                pointed to.
+# ShowFHighFor - A time in centiseconds to show the frame highlight (for
+#                keyboard control, when jumping into a new frame).
+# KeyboardCtl  - 'yes' or 'no', if 'yes' links (and some other objects) will
+#                be selectable from the keyboard.
+# ClearFirst   - 'yes' or 'no', only relevant for UI designs where the
+#                URL writable and status bars are merged. In such UIs,
+#                pressing an alphanumeric key when in status mode will
+#                change to writable mode and, if this is 'yes', put the
+#                key value into the writable, clearing whatever was there
+#                beforehand first. If 'no', then the value of the key is
+#                appended to whatever is in the writable.
+# KeepHighlight- 'yes' or 'no'. If 'yes', frames will be (re)highlighted
+#                whenever keyboard navigated. If 'no', they are only
+#                highlighted when initially selected.
+
+# LeftMargin   - Basic left hand page margin (before list indents etc.), in
+#                millipoints.
+# RightMargin  - Similarly, the basic right hand page margin in millipoints.
+# QuoteMargin  - Extra page margin for a <blockquote> section of text.
+# Leading      - Line spacing in OS units (pronounced 'ledding'). Note that
+#                negative numbers are allowed but may produce redraw
+#                artifacts under some circumstances, so use with caution.
+# LeftIndent   - Multiplier used to work out left hand indent of text for
+#                list items etc., in millipoints.
+# MinFrmHeight - Minimum height a frame may take when initially sized or
+#                subsequently resized, in OS units.
+# MinFrmWidth  - Similarly, the minimum frame width.
+
+# DefURLbar    - 'yes' or 'no', if 'yes' new browser windows will have URL
+#                bars present.
+# DefButtonBar - 'yes' or 'no', if 'yes' new browser windows will have button
+#                bars present.
+# DefStatusBar - 'yes' or 'no', if 'yes' new browser windows will have status
+#                bars present.
+# MoveGadgets  - '0', '1', or '2'. If '0', gadgets are never moved on the
+#                toolbars to fit inside the window. If '1', gadgets are moved
+#                at the end of any resize actions. If '2', gadgets are moved
+#                during resize actions.
+# AnimDrift    - 'yes' or 'no', if 'yes' the status bar animation will drift
+#                over to the first starting sprite before stopping. Otherwise
+#                it will stop as soon as the browser is idle.
+
+# FullScreen   - 'yes' or 'no', if 'yes' the window will open full screen,
+#                else it will open at the default page size.
+# HScroll      - 'yes' or 'no', if 'yes' a horizontal scroll bar will be
+#                visible when Full Screen. Can also have 'auto', to
+#                add or remove scroll bars automatically, if the Wimp
+#                variant the browser runs on supports this. If the
+#                Wimp doesn't, this will work the same as 'yes'.
+# VScroll      - 'yes' or 'no', if 'yes' a vertical scroll bar will be
+#                visible when Full Screen. As for HScroll, can also
+#                have 'auto' with the right Wimp.
+
+# MaxImages    - Maximum number of images that may be simultaneously fetched.
+#                Must be between 1 and 255, though values over about 25 are
+#                more likely to degrade performance than improve it.
+
+# GHistSize    - Maximum global history size, in K.
+# VHistSize    - Maximum view history size, in entries.
+# HistoryPath  - Global history default load/save path.
+# HotlistPath  - Hotlist default load/save path.
+# ShowURLs     - 'yes' or 'no', if 'yes' the History menu will always only
+#                contain URLs. Otherwise it will hold page titles (where
+#                available).
+# SaveHistory  - 'yes' or 'no', if 'yes' the global history will always be
+#                saved to disc on browser exit, else it will never be saved.
+# SaveHotlist  - 'yes' or 'no', if 'yes' the hotlist will always be saved to
+#                disc on browser exit, else it will never be saved (in which
+#                case changes during a browser session will be lost, so this
+#                should be used with caution).
+
+# RefoWait     - 'yes' or 'no', if 'yes' the browser will wait for a time
+#                determined by 'RefoTime' (see below) before doing a page
+#                reformat - can be useful if frequent reformats when unsized
+#                images come in (for example) are proving annoying.
+# RefoHang     - 'yes' or 'no', if 'yes' the page will not reformat past an
+#                unsized image - the browser will wait until that image's
+#                size is known. For slow sites this may take a long time.
+#                [Unimplemented]
+# RefoTime     - If RefoWait is 'yes', the time in centiseconds between
+#                queued reformats (urgent reformats may force this earlier
+#                though - e.g. document fetch completed).
+# BrickWall    - If 'yes', then clicking on 'Stop' or following new links
+#                will immediately stop *all* fetch/reformat activity,
+#                or for targetted links, will stop such activity in the
+#                target. This is a fairly specialised option as normally
+#                continued cacheing (if a local proxy is present) or
+#                continued background fetching is desirable (may as well
+#                take advantage of otherwise idle time this way).
+
+# PrintCopies  - Default number of copies to print. Must be at least 1!
+# PrintStart   - 'start' to print from the start of the web page, 'visible'
+#                to print from the top of the region visible in the browser
+#                window.
+# PrintEnd     - 'end' to print to the end of the web page, 'visible' to
+#                print to the bottom of the region visible in the browser
+#                window, else a number greater than 0 for the number of pages
+#                to fill up after starting printing at the given start point.
+# PrintReform  - 'yes' or 'no', if 'yes' the page will be reformatted to fit
+#                the paper size (else it is printed at a width determined by
+#                the browser window, which may mean it overflows the right
+#                hand edge of the paper or does not use the full page width).
+#                Reformatting can take quite a long time, hence this is
+#                optional. When using 'visible' for PrintStart or PrintEnd,
+#                this option is ignored and reformatting does not take place,
+#                as reformatting would change the visible region, if it was
+#                done in the window rather than internally for the printer.
+# PrintOrient  - 'upright' or 'sideways', which pretty much says it all.
+
+# Typeface1    - Typeface definitions. The syntax of these is fairly
+# Typeface2      strict and slightly complex, so they should only
+# Typeface3      be altered through a front-end dialogue in the
+# Typeface4      browser.
+
+# UseProxy     - 'yes' or 'no', if 'yes' proxying will be used so the value
+#                of the next two items is important.
+# ProxyAddress - The base URL of the proxy server to use, such as
+#                'http://wwwcache.demon.co.uk/'.
+
+HomePage:http://www.acorn.co.uk/
+
+DefWidth:1364
+DefHeight:1280
+OverrideX:0
+OverrideY:0
+
+PostIn:<None>
+PostOut:<None>
+
+TextColour:0x00000000
+BackColour:0xdddddd00
+LinkColour:0xff000000
+UsedColour:0xbb008800
+FollColour:0x0000ff00
+SeleColour:0x00bb0000
+
+FontSize:12
+SystemFont:no
+
+DelayImage:no
+DisplayBgs:yes
+UnderlineLks:yes
+OverrideCols:no
+FixedPtr:no
+HighlightLks:no
+ShowLinksFor:400
+ShowFHighFor:25
+KeyboardCtl:no
+ClearFirst:no
+KeepHighlight:no
+
+LeftMargin:1600
+RightMargin:6400
+QuoteMargin:19200
+Leading:4
+LeftIndent:12800
+MinFrmHeight:80
+MinFrmWidth:80
+
+DefURLbar:yes
+DefButtonBar:yes
+DefStatusBar:yes
+MoveGadgets:1
+AnimDrift:no
+
+FullScreen:no
+HScroll:auto
+VScroll:auto
+
+MaxImages:20
+
+GHistSize:8
+VHistSize:50
+HistoryPath:Browse:User.History
+HotlistPath:Browse:User.Hotlist
+ShowURLs:no
+SaveHistory:yes
+SaveHotlist:yes
+
+RefoWait:yes
+RefoHang:no
+RefoTime:500
+BrickWall:no
+
+PrintCopies:1
+PrintStart:start
+PrintEnd:end
+PrintReform:yes
+PrintOrient:upright
+
+Typeface1:system=System.Fixed:Corpus.Medium.Oblique:Corpus.Bold:Corpus.Bold.Oblique;fixed
+Typeface2:fixed=Corpus.Medium:Corpus.Medium.Oblique:Corpus.Bold:Corpus.Bold.Oblique;
+Typeface3:sans=Trinity.Medium:Trinity.Medium.Italic:Trinity.Bold:Trinity.Bold.Italic;serif
+Typeface4:serif=Homerton.Medium:Homerton.Medium.Oblique:Homerton.Bold:Homerton.Bold.Oblique;sans
+
+UseProxy:no
+ProxyAddress:http://127.0.0.1/
diff --git a/Resources/UK/Ursula/Messages b/Resources/UK/Ursula/Messages
new file mode 100644
index 0000000000000000000000000000000000000000..2478e5857ccedddc01ab54ac29ac6bba92604830
--- /dev/null
+++ b/Resources/UK/Ursula/Messages
@@ -0,0 +1,321 @@
+_TaskName:Browse
+_SpriName:!browse
+Version:1.17 (23-Jul-97)
+
+# Errors, ranked roughly in order of increasing severity
+
+CannotFetch:The browser does not have a method of fetching the requested site.
+NotInline:Sorry, can‘t handle this data format (press Enter or click on Continue‘ to continue).
+Refused:Cannot fetch this address as the fetch request was refused by the internal handler.
+
+PrintBusy:The printer is currently busy.
+EmptyHistE:The history list is empty.
+NoLabel:The label ”%0• cannot be found on this page.
+NoLabelF:The label ”%0• cannot be found, but the page is still fetching - try again when the page fetch has finished.
+
+BadAuthor:Authorisation failed; you must use a valid user name and password.
+
+NoMemWin:There is not enough free memory to open another browser window.
+NoMemGHi:There is not enough free memory to add the page to the global history.
+NoMemLHi:There is not enough free memory to open the history menu.
+NoMemFet:There is not enough free memory to perform this fetch (%0).
+NoMemGen:There is not enough free memory to continue this operation (%0).
+NoMemRea:There is not enough free memory to continue the page fetch (%0).
+FontMem:There is not enough free memory for font handling (%0).
+NoMemImg:There is not enough free memory for any new images (%0).
+
+StrNotFd:Internal error - Can‘t find structure in %0.
+NoParent:When closing frames, can't find child's record in the parent window in windows_close_window().
+WhatTog1:Internal error - Toolbar toggle handle not understood in toolbars_toggle_bars().
+WhatTog2:Internal error - Toolbar toggle handle not understood in menus_choices_bars().
+WhatSave:Internal error - Save dialogue origin not understood in save_fill_in().
+BadType:Internal error - Bad typeface definition in %0().
+BadTRef:Internal error - Reference to undefined typeface in %0().
+
+HSHOvrrn:Serious internal error - HtmlStripHeaders has failed; must exit immediately.
+STCUnkwn:Serious internal error - Unknown chunk ID in memory_set_chunk_size(); must exit immediately.
+
+# Strict parse mode errors
+
+FramNest:Frames definition is badly nested; could not complete the frames layout.
+FramRcrs:Frames definition references itself recursively; could not proceed with the frames layout.
+
+# Default offered leafnames
+
+NoURLleaf:Index
+NoURLdata:HTMLfile
+
+# Status bar messages. Putting a '-' in front of one will
+# stop a byte counter being appended if the choices lower
+# down in this file specify that such text should be
+# added (so you can override for specific messages that
+# never want a byte counter).
+
+Status0:-Ready
+Status1:-Beginning fetchŒ
+Status2:-Trying to find server's addressŒ
+Status3:-Found server's address
+Status4:-Sending request to the serverŒ
+Status5:Fetching dataŒ
+
+GetPic:Fetching 1 imageŒ
+GetPics:Fetching %d imagesŒ
+
+Ready:-Ready
+Page:-Viewing ”%%s•
+LinkTo:-Link to ”%%s•
+BlankPage:Blank page
+
+# (For these, the first is for when the URL is known
+# and only one such action is in progress, e.g. in a
+# non-frames page; the second is for if the URL can't
+# be determined for whatever reason; and the third is
+# for the case where there are several such actions
+# occurring simultaneously in a frames document).
+
+Fetch:Fetching ”%%s•Œ
+FetchUK:Fetching web pageŒ
+FetchMany:Fetching frames contentsŒ
+
+Process:-Processing ”%%s•Œ
+ProcessUK:-Processing web pageŒ
+ProcessMany:-Processing frames contentsŒ
+
+Format:-Formatting ”%%s•Œ
+FormatUK:-Formatting web pageŒ
+FormatMany:-Formatting frames contentsŒ
+
+# URL bar messages
+
+AtHotlist:Hotlist
+AtHistory:Global History
+AtResources:Resources
+
+# Label messages
+
+DisplayBytes:Amount
+DisplayStats:Info
+DisplayURL:Location
+DiaStatusDial:Dialler
+DiaStatusTime:Time
+
+# On-page messages
+
+NoData:The server returned a blank page.
+
+# Buttons in forms - submit buttons, reset buttons, and unknown
+# button types; menu title for Select lists when no other is
+# present.
+
+Submit:Submit
+Reset:Reset
+Unknown:Action
+selTITL:Select
+
+# Dialler text. Dialler status is displayed in component
+# 0xf, if present in the upper toolbar. If this component
+# doesn't exist the application will not attempt to register
+# with the dialler and relevant event handlers won't be
+# installed.
+
+Dialling:Dialling
+Hangup:Hanging up
+Answering:Answering
+SError:Script error
+Timeout:Timed out
+Carrier:No carrier
+MError:Modem error
+Dialtone:No dialtone
+MBusy:Line busy
+Answer:No answer
+Offline:Off line
+
+# Text to go in display panel of authorisation dialogue; the
+# second is used if the first is too large to fit in the buffer
+# space available due to the substituted strings.
+
+Authorise:Please enter a user name and a password for %%s at %%s.
+AuthorShr:Please enter a user name and a password.
+
+# Other general text:
+#
+# Print dialogue / printing generally
+
+PrintName:WebPage
+PJobName:Web page
+PagesSingle:sheet is filled
+PagesMany:sheets are filled
+
+# Should the number range items in the
+# print dialogue have the icon flags on their
+# writable components altered?
+
+AlterNumranges:no
+AlterWith:(none)
+
+# History menu title
+
+HistMemT:History
+
+# Fetcher protocols. For some operations (e.g. the
+# Shift+Tab URL writing) a list of currently available
+# protocols is useful. Include below the number of
+# fetcher protocol modules that may be supported, and
+# then a series of entries - the module name followed
+# by the protocol prefix (see below for examples).
+# The modules may not actually be loaded - this just
+# states that there is the potential for them to be
+# present. Any fetchers not in this list will be
+# ignored by some routines.
+#
+# Note that http:// may be special cased to allow for
+# 'http://' and 'http://www.' for some systems; similarly
+# 'file://' may be special cased to 'file://ADFS::4/$/'.
+
+ProtocolMax:3
+
+ProtocolM1:AcornHTTP
+ProtocolU1:http://
+
+ProtocolM2:FileFetcher
+ProtocolU2:file://
+
+ProtocolM3:FTPFetcher
+ProtocolU3:ftp://
+
+# Non user-configurable options
+
+# AnimSpeed:      Time between null polls when claiming them; relates to the
+#                 fastest the animation can go and the Desktop load the
+#                 browser will represent.
+# ShowDStatFor:   If showing dialler status, this is the time in centiseconds
+#                 for which an unusual status message will be shown (see
+#                 messages above).
+# Quantise:       If showing dialler status, this is the quantisation applied
+#                 to online time. This is because a 1 second update may well
+#                 be jerky if the browser is doing a lot of work, and a more
+#                 steady 5 (say) second update may be preferable.
+
+# MinConvergence: Minimum OS unit toolbar width after which toolbar items are
+#                 are not moved or resized to stay in view.
+# DontGrey:       If 0, toolbar buttons are greyed as usual. If 1, only the
+#                 History menu popup is greyed. If 2, nothing is greyed.
+# SwapBars:       If 'yes' the upper and lower toolbars are swapped, so the
+#                 status bar can appear at the top of the window and the
+#                 URL/button bars at the bottom.
+#                 [Not yet implemented]
+# DBoxAnims:      If 'yes', dialogues can contain an animation. This is the
+#                 same as the component in the status bar that holds the
+#                 animation (i.e. same component ID). The animation will be
+#                 advanced 1 frame for every complete cycle of the main
+#                 animation (even if the main animation isn't running).
+#                 If 'no', dialogues can still contain the same component
+#                 but it won't be animated.
+
+# AppendStatus:   If 'yes', in the absence of the byte counter display field
+#                 on the status bar the information will be appended to the
+#                 text in the main status display field. Else, 'no'.
+#                 An individual status message may override this though -
+#                 see the relevant section above.
+# UseBrackets:    If 'yes', then if appending status according to the above,
+#                 the appended text is put in brackets. Else, 'no'.
+# AppendURLs:     If going to special URL locations such as a hotlist,
+#                 then if this is 'yes', append AppendWith (below) followed
+#                 by the currently displayed URL before moving to that page.
+#                 If this is 'no', the URL is not appended.
+# AppendWith:     If appending URLs, this is the separator to use between
+#                 the fetch URL and the current URL. It will usually be
+#                 something that a CGI script referenced by the fetch URL
+#                 can latch on to.
+
+# KeepCaret:      If 'yes', the caret will be grabbed back into the browser
+#                 window whenever it is lost, provided that the pointer
+#                 is over a browser-owned window. This must only be used for
+#                 systems on an HTML-only interface or other very special
+#                 circumstances, as it prevents any other object from
+#                 getting the caret (well, unless that object pops itself
+#                 up under the pointer). The caret will always be grabbed
+#                 back into the last window opened (which should be the
+#                 only window opened!) as otherwise two windows could
+#                 start arguing over who has the caret.
+# ClaimHelp:      If 'yes', interactive help requests will be claimed and
+#                 the help text displayed in the status bar.
+# ShowHelpFor:    The length of time that Help text will be displayed in the
+#                 status bar before other messages are allowed to override
+#                 it.
+# StopWebServ:    If 'yes', send an AppControl message with a 'Stop'
+#                 reason code to !WebServ, if running, when the 'Stop'
+#                 button is used in the browser. This will force it to
+#                 abort all current connections, breaking any image
+#                 fetches and ditching partial fetches. This is quite a
+#                 vicious thing to do, so only use the option if you're sure
+#                 you want such a complete halt from the software.
+
+# IgnoreAdjust:   If 'yes', adjust-clicks will be treated as select
+#                 clicks for any action which would open a second window.
+#                 This can be useful for full screen browsers.
+# LockToLine:     If 'yes', left/right arrows will only select items on
+#                 the same line (for keyboard control). This introduces
+#                 more consistency as up/down scroll the page etc.,
+#                 but can feel clumsy sometimes. If 'no', left/right will
+#                 allow vertical movement but won't jump over longer
+#                 distances (which can feel inconsistent at times) as
+#                 to do this the page needs to scroll vertically - but it
+#                 is left/right that's being pressed.
+
+# PtrLnkActvX:    Link pointer active point x offset (pixels from left).
+# PtrLnkActvY:    Link pointer active point y offset (pixels from top).
+# PtrMapActvX:    Map pointer active point x offset (pixels from left).
+# PtrMapActvY:    Map pointer active point y offset (pixels from top).
+
+# BackOffAt:      During an image fetch, memory is claimed temporarily for
+#                 processing. The more simultaneous image fetches are going
+#                 on, the greater the high water mark of memory consumption.
+#                 Images are also kept from the previous page and garbage
+#                 collected after the fetch, so that images common between
+#                 the pages aren't fetched twice. However, in low memory
+#                 situations it is desirable to discard such images and
+#                 then start backing away from the maximum number of
+#                 fetches that are allowed. Set this entry to the amount
+#                 of free memory in K below which this starts to happen.
+#                 [Not yet implemented]
+
+AnimSpeed:5
+ShowDStatFor:300
+Quantise:5
+
+MinConvergence:480
+DontGrey:0
+SwapBars:no
+DBoxAnims:no
+
+AppendStatus:no
+UseBrackets:yes
+AppendURLs:no
+AppendWith:(none)
+
+KeepCaret:no
+ClaimHelp:yes
+ShowHelpFor:800
+StopWebServ:no
+
+PtrLnkActvX:5
+PtrLnkActvY:2
+PtrMapActvX:8
+PtrMapActvY:8
+
+IgnoreAdjust:no
+LockToLine:no
+
+BackOffAt:128
+
+# Dynamically created pages. Note that MessageTrans will deal with '%'s,
+# so you need two if you want one.
+
+PEmptyDoc:<HTML><HEAD><TITLE>Empty document</TITLE></HEAD><BODY><H2>The server returned an empty document.</H2></BODY></HTML>
+
+# Warning! This one gets compiled with sprintf, so if using a '%' anywhere,
+# make sure it's done as '%%'. Then do it again to cope with MessageTrans;
+# so for a single %, put four in. Hmph.
+
+PExtImage:<HTML><HEAD><TITLE>%%s</TITLE></HEAD><BODY><FONT SIZE="5"><IMG SRC="%%s" ALIGN="CENTER" ALT="Fetching picture..."></FONT><P>&nbsp;<P><CENTER><B>%s</B><HR WIDTH = 80%%%%><A HREF="!INTRNL!GoBack:Previous Page">Go back to the previous page</A></CENTER></BODY></HTML>
diff --git a/Resources/UK/Ursula/Res,fae b/Resources/UK/Ursula/Res,fae
new file mode 100644
index 0000000000000000000000000000000000000000..973168397f4c72a80c7a3792df36e184aeb008cc
Binary files /dev/null and b/Resources/UK/Ursula/Res,fae differ
diff --git a/Resources/UK/Ursula/Sprites,ff9 b/Resources/UK/Ursula/Sprites,ff9
new file mode 100644
index 0000000000000000000000000000000000000000..1f585711e16b4f6c27fb8ad68a5154d1b467f53f
Binary files /dev/null and b/Resources/UK/Ursula/Sprites,ff9 differ
diff --git a/Resources/UK/Ursula/User/Hotlist,faf b/Resources/UK/Ursula/User/Hotlist,faf
new file mode 100644
index 0000000000000000000000000000000000000000..47b363d9ac40c1a54bbf236bab6726efbcce1f58
--- /dev/null
+++ b/Resources/UK/Ursula/User/Hotlist,faf
@@ -0,0 +1,23 @@
+<html>
+<head>
+<title>Browser Hot List</title></head><body><h2>Browser Hot List</h2>
+<ul>
+    <hr align=center>
+    <li><a href="http://www.acorn.co.uk/">Acorn Home Page</a>
+    <li><a href="http://www.xemplar.co.uk/">Xemplar Home Page</a>
+    <hr align=center>
+    <li><a href="http://www.altavista.digital.com/">Alta Vista search</a>
+    <li><b><a href="http://altavista.software.digital.com/">Alta Vista software</a></b>
+    <li><a href="http://www.yahoo.com/">Yahoo search</a>
+    <li><a href="http://www.infoseek.com/">Infoseek search</a>
+    <li><a href="http://www.lycos.com/">Lycos search</a>
+    <li><a href="http://www.excite.com/">Excite</a>
+    <hr align=center>
+    <li><a href="http://www.dejanews.com/">DejaNews</a>
+    <li><a href="http://www.w3.org/">World Wide Web consortium</a>
+    <hr align=center>
+    <li><b><a href="http://www.unitedmedia.com/comics/dilbert">Dilbert</a></b>
+    <hr align=center>
+</ul><p>
+</body>
+</html>
diff --git a/c/Global b/c/Global
index 1de1b607680c366fdb896c17549aeecf71efce71..8486aa3cfeadd1987395cfeea844b62f546a062f 100644
--- a/c/Global
+++ b/c/Global
@@ -148,3 +148,7 @@ _kernel_oserror erb;                      /* Global error block for custom error
 
 menu_source     menusrc = Menu_None;      /* For Wimp menus - opened from forms, from history icons, etc. */
 void          * menuhdl;                  /* For any extra info needed with a menu                        */
+
+#ifndef SINGLE_USER
+  userdef       user;                     /* For multiuser builds, holds details of the current user      */
+#endif
diff --git a/c/svcprint b/c/svcprint
index 8a946045ed81f6ce8ac3b41296aaacc0579cf4d2..ee6846e235f2912d1464c1119228c0c528905958 100644
--- a/c/svcprint
+++ b/c/svcprint
@@ -15,9 +15,6 @@
 #ifdef TRACE
 
   /* -*-C-*-
-   *
-   * $Header$
-   * $Source$
    *
    * Copyright(c) 1994 Acorn Computers Ltd., Cambridge, England
    *
@@ -43,13 +40,6 @@
    *
    * standard format specifiers o,u,e,f and g are NOT supported
    *
-   * $Log$
-   * Revision 1.2  95/03/31  11:36:04  kwelton
-   * Added new debugging function ctosym().
-   *
-   * Revision 1.1  94/12/02  09:57:20  kwelton
-   * Initial revision
-   *
    */
 
   #include "kernel.h"
diff --git a/h/Global b/h/Global
index d3b263ebc46ddef78d89da4122c31042657f0569..cfe966f06a07bb6180c55a39f6bc4a62b8925bcf 100644
--- a/h/Global
+++ b/h/Global
@@ -31,6 +31,10 @@
 #include "Bitfields.h"
 #include "Limits.h"
 
+#ifndef SINGLE_USER
+  #include "Multiuser.h"
+#endif
+
 /* For comments on what these actually are, see Global.c */
 
 #ifdef TRACE
diff --git a/h/Multiuser b/h/Multiuser
new file mode 100644
index 0000000000000000000000000000000000000000..1a8e306467377afd6577614a0b1194a08b5b237e
--- /dev/null
+++ b/h/Multiuser
@@ -0,0 +1,37 @@
+/* Copyright 1997 Acorn Computers Ltd
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/*************************************************/
+/* File   : Multiuser.h                          */
+/* Purpose: Definitions required by multi-user   */
+/*          builds. Included by Global.h if      */
+/*          SINGLE_USER is not defined.          */
+/* Author : A.D.Hodgkinson                       */
+/* History: 23-Jul-97: Created                   */
+/*************************************************/
+
+typedef struct userdef
+{
+ char homepage    [256];
+ char name        [32];
+
+ char lastfind    [64];
+ int  casematch;
+
+ char historyfile [256];
+ char hotlistfile [256];
+
+} userdef;
+
+extern userdef user;