From 485575059f3c9117738967c019211b94e2e07d07 Mon Sep 17 00:00:00 2001
From: Neil Turton <nturton@gitlab.riscosopen.org>
Date: Mon, 13 Jan 1997 12:16:31 +0000
Subject: [PATCH] Files removed from merged WIMP

---
 .gitattributes                |    2 -
 BlackLog                      | 1311 -----------------
 Resources/UK/Sprites,ff9      |  Bin 76088 -> 0 bytes
 Resources/UK/Sprites22,ff9    |  Bin 272 -> 0 bytes
 Resources/UK/Sprites23,ff9    |  Bin 29160 -> 0 bytes
 Resources/UK/Template3D,fec   |  Bin 937 -> 0 bytes
 Resources/UK/Templates,fec    |  Bin 637 -> 0 bytes
 Resources/UK/Tools,ff9        |  Bin 11500 -> 0 bytes
 Resources/UK/Tools3d,ff9      |  Bin 33932 -> 0 bytes
 Test/!Double/!Run,feb         |   19 -
 Test/!Double/!RunImage,ffb    |  Bin 1769 -> 0 bytes
 Test/!Double/Templates,fec    |  Bin 132 -> 0 bytes
 Test/!ManyWinds/!Run,feb      |   19 -
 Test/!ManyWinds/!RunImage,ffb |  Bin 5709 -> 0 bytes
 Test/!ManyWinds/Templates,fec |  Bin 331 -> 0 bytes
 Test/!MenuTree/!Run,feb       |   19 -
 Test/!MenuTree/!RunImage,ffb  |  Bin 4478 -> 0 bytes
 Test/!MenuTree/Templates,fec  |  Bin 412 -> 0 bytes
 Test/!Monitor/!Boot,feb       |   15 -
 Test/!Monitor/!Run,feb        |   17 -
 Test/!Monitor/!runimage,ff8   |  Bin 11108 -> 0 bytes
 Test/!Monitor/Templates,fec   |  Bin 382 -> 0 bytes
 Test/!Monitor/c/Monitor       |  110 --
 Test/!Open/!Run,feb           |   19 -
 Test/!Open/!RunImage,ffb      |  Bin 1588 -> 0 bytes
 Test/!Open/Templates,fec      |  Bin 132 -> 0 bytes
 Test/!Redraw/!Run,feb         |   19 -
 Test/!Redraw/!RunImage,ffb    |  Bin 1682 -> 0 bytes
 Test/!Redraw/Templates,fec    |  Bin 132 -> 0 bytes
 Test/!Redraw2/!Run,feb        |   20 -
 Test/!Redraw2/!RunImage,ffb   |  Bin 1682 -> 0 bytes
 Test/!Redraw2/Sprites,ff9     |  Bin 2584 -> 0 bytes
 Test/!Redraw2/Templates,fec   |  Bin 206 -> 0 bytes
 Test/!Test/!Boot,feb          |   18 -
 Test/!Test/!RUNIMAGE,ff8      |  Bin 37860 -> 0 bytes
 Test/!Test/!Run,feb           |   21 -
 Test/!Test/!Sprites,ff9       |  Bin 924 -> 0 bytes
 Test/!Test/Templates,fec      |  Bin 282 -> 0 bytes
 Test/!Test/Templates1,fec     |  Bin 288 -> 0 bytes
 Test/!Test/sprites,ff9        |  Bin 736 -> 0 bytes
 Test/!Valid/!Boot,feb         |   15 -
 Test/!Valid/!Run,feb          |   17 -
 Test/!Valid/!RunImage,ffb     |  Bin 1738 -> 0 bytes
 Test/!Valid/Templates,fec     |  Bin 1052 -> 0 bytes
 Test/!WimpBUG/!Run,feb        |   17 -
 Test/!WimpBUG/!Runimage,ffb   |  Bin 1790 -> 0 bytes
 Test/!WimpBUG/Templates,fec   |  Bin 261 -> 0 bytes
 Test/Arrows,aff               |  Bin 208 -> 0 bytes
 Test/FontTest,fec             |  Bin 582 -> 0 bytes
 Test/GrabMem,ffb              |  Bin 1281 -> 0 bytes
 Test/PlotIcon,ffb             |  Bin 894 -> 0 bytes
 Test/PollWord,ffb             |  Bin 1554 -> 0 bytes
 Test/ShowSpr,ffb              |  Bin 2106 -> 0 bytes
 Test/TestMsg,ffb              |  Bin 1049 -> 0 bytes
 Test/TwoTasks,ffb             |  Bin 1230 -> 0 bytes
 Test/WimpInit,ffb             |  Bin 865 -> 0 bytes
 "Test/[\210\211\243\212\213]" |    0
 Test/swap,ffb                 |  Bin 808 -> 0 bytes
 Test/test1,feb                |   15 -
 Test/test2,feb                |   15 -
 Test/trans,feb                |   16 -
 Test/trans1,ffb               |  Bin 865 -> 0 bytes
 Test/trans2,ffb               |  Bin 717 -> 0 bytes
 s/W08_oldway                  | 2562 ---------------------------------
 64 files changed, 4266 deletions(-)
 delete mode 100644 BlackLog
 delete mode 100644 Resources/UK/Sprites,ff9
 delete mode 100644 Resources/UK/Sprites22,ff9
 delete mode 100644 Resources/UK/Sprites23,ff9
 delete mode 100644 Resources/UK/Template3D,fec
 delete mode 100644 Resources/UK/Templates,fec
 delete mode 100644 Resources/UK/Tools,ff9
 delete mode 100644 Resources/UK/Tools3d,ff9
 delete mode 100644 Test/!Double/!Run,feb
 delete mode 100644 Test/!Double/!RunImage,ffb
 delete mode 100644 Test/!Double/Templates,fec
 delete mode 100644 Test/!ManyWinds/!Run,feb
 delete mode 100644 Test/!ManyWinds/!RunImage,ffb
 delete mode 100644 Test/!ManyWinds/Templates,fec
 delete mode 100644 Test/!MenuTree/!Run,feb
 delete mode 100644 Test/!MenuTree/!RunImage,ffb
 delete mode 100644 Test/!MenuTree/Templates,fec
 delete mode 100644 Test/!Monitor/!Boot,feb
 delete mode 100644 Test/!Monitor/!Run,feb
 delete mode 100644 Test/!Monitor/!runimage,ff8
 delete mode 100644 Test/!Monitor/Templates,fec
 delete mode 100644 Test/!Monitor/c/Monitor
 delete mode 100644 Test/!Open/!Run,feb
 delete mode 100644 Test/!Open/!RunImage,ffb
 delete mode 100644 Test/!Open/Templates,fec
 delete mode 100644 Test/!Redraw/!Run,feb
 delete mode 100644 Test/!Redraw/!RunImage,ffb
 delete mode 100644 Test/!Redraw/Templates,fec
 delete mode 100644 Test/!Redraw2/!Run,feb
 delete mode 100644 Test/!Redraw2/!RunImage,ffb
 delete mode 100644 Test/!Redraw2/Sprites,ff9
 delete mode 100644 Test/!Redraw2/Templates,fec
 delete mode 100644 Test/!Test/!Boot,feb
 delete mode 100644 Test/!Test/!RUNIMAGE,ff8
 delete mode 100644 Test/!Test/!Run,feb
 delete mode 100644 Test/!Test/!Sprites,ff9
 delete mode 100644 Test/!Test/Templates,fec
 delete mode 100644 Test/!Test/Templates1,fec
 delete mode 100644 Test/!Test/sprites,ff9
 delete mode 100644 Test/!Valid/!Boot,feb
 delete mode 100644 Test/!Valid/!Run,feb
 delete mode 100644 Test/!Valid/!RunImage,ffb
 delete mode 100644 Test/!Valid/Templates,fec
 delete mode 100644 Test/!WimpBUG/!Run,feb
 delete mode 100644 Test/!WimpBUG/!Runimage,ffb
 delete mode 100644 Test/!WimpBUG/Templates,fec
 delete mode 100644 Test/Arrows,aff
 delete mode 100644 Test/FontTest,fec
 delete mode 100644 Test/GrabMem,ffb
 delete mode 100644 Test/PlotIcon,ffb
 delete mode 100644 Test/PollWord,ffb
 delete mode 100644 Test/ShowSpr,ffb
 delete mode 100644 Test/TestMsg,ffb
 delete mode 100644 Test/TwoTasks,ffb
 delete mode 100644 Test/WimpInit,ffb
 delete mode 100644 "Test/[\210\211\243\212\213]"
 delete mode 100644 Test/swap,ffb
 delete mode 100644 Test/test1,feb
 delete mode 100644 Test/test2,feb
 delete mode 100644 Test/trans,feb
 delete mode 100644 Test/trans1,ffb
 delete mode 100644 Test/trans2,ffb
 delete mode 100644 s/W08_oldway

diff --git a/.gitattributes b/.gitattributes
index c5f607c..1f3dca7 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,4 +1,2 @@
 hdr/** gitlab-language=armasm linguist-language=armasm linguist-detectable=true
 s/** gitlab-language=armasm linguist-language=armasm linguist-detectable=true
-*,ffb gitlab-language=bbcbasic linguist-language=bbcbasic linguist-detectable=true
-**/c/** gitlab-language=c linguist-language=c linguist-detectable=true
diff --git a/BlackLog b/BlackLog
deleted file mode 100644
index e9a75ae..0000000
--- a/BlackLog
+++ /dev/null
@@ -1,1311 +0,0 @@
-***************************************************************************
-*                                                                         *
-*  Project: RiscOS                                                        *
-*                                                                         *
-*  Module:  Wimp                                                          *
-*                                                                         *
-*  Created: Wed 24-Oct-90      By: Ran Mokady                             *
-*                                                                         *
-*  First version: 2.80                                                    *
-*                                                                         *
-*    Copyright:    (C) 1990, Acorn Computers Ltd., Cambridge, England.    *
-*                                                                         *
-***************************************************************************
-
-Purpose:
-========
-
-The WIMP.
-
-***************************************************************************
-
-
-Change Log:
-===========
-
-Version 2.01
- *  Pending slot is now scanned on screen remapping
-
-Version 2.02
- *  Wimp objects to > 256 pages, not >= 256
-
-Version 2.03
- *  Message block too small is now checked for
-
-Version 2.04
- *  Up-to-date value of CAOPointer is now read in OS_ChangeDynamic
-     - don't store CAOPointer in Service_NewApplication
-     - don't overwrite CAOPointer in Wimp_Initialise
-
-Version 2.05
- *  Doesn't give address exception if 0 pages on startup any more
-
-Version 2.06
- *  Wimp_ReportError <escape> now returns R1=1 or 2 as appropriate
-
-Version 2.07
- *  Enable interrupts in Service_MemoryMoved (MOS bug)
-
-Version 2.08
- *  Implement 2-way scrolling (drag_scrollboth)
-
-Version 2.09
- *  Errors in Wimp_Poll are reported internally
- *  Disables escape conditions explicitly when Wimp_Poll is called
-
-Version 2.10
- *  Remember pointer position over a mode change
- *  Use separate buffers for errors and starttask
-    (Problems if task causes an upcall)
- *  Report error if window deleted while dragging
- *  Stop dragging menu / dbox if menus closed
- *  *Help WimpSlot message altered slightly
- *  Move dynamic error block up 4 bytes
-    (It's overlaid on the error handler's buffer!)
- *  Ensure that Wimp_CreateMenu can return an error
- *  Check for errors while creating menu icons
- *  Delete menu window if error while creating icons
- *  Correct behaviour of caret / menu selection
-
-Version 2.11
- *  Switch off pointer during 2-D scrolling
-
-Version 2.12
- *  Return child's task handle from Wimp_StartTask (0 if dead)
-
-Version 2.13
- *  Issue Open_Window_Requests after a mode change later on (ie. on the next
-    call to Wimp_Poll).  This allows the window structure to be rearranged
-    on receipt of the Mode_Change message.
-
-Version 2.14
- *  Bugfix to the above: a copy of the window list is made, in case
-    'backdrop' windows cause the window ordering to change, and the
-    background and iconbar windows are opened before the Mode_Change message
-    is returned, for compatibility.
-
-Version 2.15
- *  Pointer readjustment when dragged window's extent changes is now fixed
-    properly (eg. when dragging Filer windows around, the pointer remains
-    over the resize box as it should).
-
-Version 2.16
- *  WimpFlags CMOS bit 5 set => windows are allowed to go off the
-    bottom-right of the screen when being dragged by the title bar and when
-    Wimp_OpenWindow is called on them, unless bit 13 of the window flags is
-    set.  Bit 14 of the window flags acts similarly, but is cancelled after
-    the next call to Wimp_OpenWindow relating to that window.
- *  Menus automatically have bit 13 of their windowflags set, as well as
-    dboxes (ie. windows which are opened using Wimp_CreateMenu or
-    Wimp_CreateSubMenu).
- *  When a window is toggled to full size, or when it is being reopened
-    because a mode change has occurred, the Wimp sets bit 14 of the window
-    flags first (so the next Wimp_OpenWindow will cause it to be kept on the
-    screen).
- *  Window extent supplied in Wimp_CreateWindow and Wimp_SetExtent is
-    automatically rounded to pixels by the Wimp.
- *  Double-click with different buttons is not allowed any more
- *  Fix bug: iconbar scrolls if the pointer is moved over either end, even
-    if a drag is in progress at the time
-
-Version 2.17
- *  Fix bug: scroll bar dragging when window is partly off-screen
- *  Change pointer shape during double-click period
- *  Cancel double-click as soon as ptr moves away
- *  Cancel double-click if Wimp_DragBox is called
-
-Version 2.18
- *  Fix bug: double-click ptr was not reset if shape <> 1
- *  If the menu-owning application knows about Wimp 2.18 (ie.
-    Wimp_Initialise was called with R0 >= 218, R1 = "TASK"), then messages
-    destined for menu windows are forwarded to the menu owner task.
- *  Wimp_GetMenuState can be called to determine the current state of the
-    menu tree (null tree if you are not the menu owner).  It can also
-    determine the menu tree corresponding to a given window/icon if the
-    window is a menu or an open dialogue box.
-
-Version 2.19
- *  Increase drag timeout period from 0.2 seconds to 0.5 seconds
- *  Report a drag button event immediately if the button is held down and
-    the mouse is moved by 16 OS units or more (as for double-click
-    cancellation).
-
-Version 2.20
- *  Mode_Change message and reopen-window messages are only sent after a
-    mode change if an old-style task was not active when the call to
-    Wimp_SetMode was made, or at any time after that prior to the next
-    Wimp_Poll.  This is so that old-style tasks do not get new-style windows
-    being reopened on top of them, if they execute Wimp_SetMode in their
-    !Run sequence (some programs such as !Delta execute Wimp_SetMode (R0=12)
-    to try to get the RISC OS Wimp to behave in a more compatible way with
-    the Arthur 1.20 version).
- *  Wimp_SetMode is now allowed while a command window is pending, without
-    activating it, and if the command window was already active before the
-    mode change, a VDU 4 is executed afterwards (to keep the text visible).
- *  *Wimp_SetMode <number> now causes SWI XWimp_SetMode to be called with
-    the number supplied.  This command can be put into !Run files by users
-    for convenience (eg. if they prefer a certain package to work in a
-    particular mode).  The default !Run files of packages should not cause
-    the mode to change.
-
-Version 2.21
- *  New parameters to Wimp_CreateIcon allowed:
-        [R1,#0] = -3 => create icon on iconbar to left of icon handle R0
-                  -4 => create icon on iconbar to right of icon handle R0
-        R0 = handle of icon to open next to, if [R1,#0] = -3 or -4
-        R0 = -1 => create icon at extreme left (-3) or right (-4)
-    This allows icons to be recreated and deleted (in order to change their
-    width, for example) such that they stay in the same relative position on the
-    iconbar.
-
-Version 2.22
- *  BUG FIX: Wimp 2.21 preserves R10 (handle) over calls to 'openiconbar',
-    which means that the value of 'handle' is not set up correctly for the
-    next call to 'recalcposns' after a mode change.  This in turn results in
-    OS memory being scrambled, and address exceptions occurring etc.
-
-Version 2.23
- *  If application sets R0 >= 223 when calling Wimp_Initialise, then
-    Wimp_Poll or Wimp_PollIdle with R0 bit 13 clear, bit 22 set => R3 ->
-    poll word (must NOT be in application space).  If R0 bit 23 is also set,
-    then the word is scanned by the Wimp at the start of the Wimp_Poll loop;
-    otherwise it is not scanned until just before the Wimp is about to read
-    the mouse (ie. after all messages have been delivered and
-    Redraw_Window_Requests sent).  If the Wimp finds that the word is
-    non-zero, then it will return R0=13 from Wimp_Poll, with [R1,#0] =
-    address of poll word, [R1,#4] = contents.
-
-Version 2.24
- *  Fix bug: the above stuff did not work for Wimp_PollIdle (the error "Bad
-    parameter passed to Wimp in R0" was returned, even if no bits above bit
-    23 were set in R0.
-
-Version 2.25
- *  "*Wimp_SetMode" command changed to "*WimpMode".
-
-Version 2.26
- *  Wimp automatically sets bit 14 of window flags on Wimp_CreateWindow and
-    Wimp_SetExtent.  This forces new windows to be initially on-screen, but
-    allows them to be dragged off subsequently.
-
-Version 2.27
- *  Menus and dboxes now get bit 14 set, rather than bit 13.  This allows
-    them to be dragged off-screen after initial opening.
-
-Version 2.28
- *  Bit 7 of R1 set on entry to Wimp_ReportError suppresses the 'beep' that
-    would normally occur if bit 4 of the WimpFlags was clear.
-
-Version 2.29
- *  Drag movement limit increased from 16 to 32 OS units.
-
-Version 2.30
- *  Double-click movement limit increased from 16 to 32 OS units.
- *  Extra sprites added: file_fea and small_fea.
-
-Version 2.31
- *  Sprites taken out of Wimp and put into Desktop module
- *  Also spots when the Desktop module dies or re-inits
-
-Version 2.32
- *  Don't give error on initialisation if ROM sprites can't be found
-
-Version 2.33
- *  Fix problem with *WimpPalette opening the command window
- *  Fix syntax message for *WimpMode <n>
-
-Version 2.34
- *  Make *IconSprites look for <file>23 if in mono mode
- *  Pick up DeskFS:$.Sprites or DeskFS:$.Sprites23 for ROM sprite area
- *  Add Wimp_ReadSysInfo R0=1 => R0=current Wimp mode
-
-Version 2.35
- *  Fix bug: OpenWindowRequest messages should always be dealt with by the
-    Wimp, rather than going to the menu owner (even if he says he knows
-    about recent Wimps).
-
-Version 2.36
- *  Message_ModeChange, and window re-opening, is only performed after
-    Wimp_SetMode if the new mode is different from the last mode for which a
-    message was returned.
- *  Iconbar doesn't scroll on a mode change
- *  Escape in a Wimp_ReportError box causes the non-highlighted box to be
-    selected, or the only box if it is highlighted.  Any other key selects
-    the highlighted box, or the only box if it isn't highlighted.
- *  Maximum number of created windows increased to 256
- *  "Bad Wimp mode" error returned for Wimp_SetMode to double-pixel modes
-
-Version 2.37
- *  If R0 >= 223 on Wimp_Initialise, then Wimp_Poll(Idle) with bit 24 set =>
-    save / restore FP registers.
-
-Version 2.38
- *  Window flags bit 14 (force onto screen once only) moved to bit 21
- *  Window flags bit 14 set => drag ignores extent x1
- *  Window flags bit 15 set => drag ignores extent y0
-
-Version 2.39
- *  Use double-width VDU-5 caret if pixel width <= 2 OS units
- *  Use double-width font caret if caret height > 12 pixel-widths
-
-Version 2.40
- *  Fix bug: don't re-open backdrop and iconbar if same mode
-
-Version 2.41
- *  Fix bug: the following calls should accept window -2:
-             Wimp_GetWindowState     Wimp_GetWindowInfo
-             Wimp_GetWindowOutline   Wimp_ForceRedraw
-             Wimp_DragBox            Wimp_WhichIcon
- *  Caret made single-width again
- *  Free pool converted to words, so > 256 pages are allowed
-
-Version 2.42
- *  Default action of f11 is to toggle the iconbar between front and back
-
-Version 2.43
- *  Fix bug: Wimp_ForceRedraw with handle -2 didn't redraw the iconbar
-
-Version 2.44
- *  *WimpMode <n> doesn't do anything if mode is already current.
-
-Version 2.45
- *  Change f11 behaviour to toggle the 'back' bit of the iconbar
- *  Wimp_GetWindowInfo now accepts R1 bit 0 set => don't return the icon
-    definitions (ie. just return the window header).  R1 bits 0..1 are
-    cleared before R1 is used as a pointer.
- *  Wimp_LoadTemplate now accepts R1<=0 => just return R1 = size of buffer
-    required, R2 = size of indirected data
-
-Version 2.46
- *  Fix bug: Wimp_LoadTemplate mustn't check for R1 >= &8000.
-
-Version 2.47
- *  Make Wimp_OpenWindow prevent windows getting bigger than the screen size
-    even if they're not being forced onto the screen.
-
-Version 2.48
- *  If ptr_default sprite has its own palette, don't use Wimp palette
-    on mode change.
-
-Version 2.49
- *  Ignore clicks on greyed-out menu items
- *  Return Message_MenusDeleted if menus deleted
- *  Return mouse clicks via messages if message queue non-empty
-
-Version 2.50
- *  Look at ModeFlags HiResMono bit rather than Log2BPP = 0 to decide
-    whether to use DeskFS:$.Sprites or DeskFS:$.Sprites23 when Wimp starts
-    up, and whether to look for <name>23 in *IconSprites.
- *  Wimp_OpenWindow forces the window on screen if it was previously closed.
-
-Version 2.51
- *  Make menu disappear if SELECT clicked on grey item
-
-Version 2.52
- *  Allow interactive help to 'see' greyed-out menu items
- *  Setting menu flags bit 4 allows you to see submenus of grey items.
-
-Version 2.53
- *  Issue Service_WimpPalette on Wimp_SetPalette
- *  Return R2 = sender's task handle from Wimp_Poll(Idle) if task knows
-    about Wimp 2.53.
-
-Version 2.54
- *  Fix bugs: Call int_sendmessage_fromwimp rather than int_sendmessage to
-    give taskhandle 0 on return from Wimp_Poll.
-
-Version 2.55
- *  Fix bug: *Iconsprites in mode 23 used wrong R2, giving "Bad file name ''".
-
-Version 2.56
- *  Issue Message_MenusDeleted when escape kills menus
-
-Version 2.57
- *  *IconSprites tries <filename>20 if <= 2 OS units per ypix
-
-Version 2.58
- *  *IconSprites tries <filename><x><y><bpp>, then <filename>
-    It also uses the values cached on startup
- *  Wimp_ReadSysInfo (2) returns ptr to xeig,yeig,log2bpp
-
-Version 2.59
- *  *WimpTask works from a dead task, by entering the Wimp as an
-    application, initialising and then doing the SWI Wimp_StartTask.  It
-    then exits via OS_Exit.
-
-Version 2.60
- *  *IconSprites now puts <x><y> or "23" on the end of the filename.
- *  Wimp_ReadSysInfo (2) returns ptr to suffix
-
-Version 2.61
- *  Implement Wimp$State ("desktop" or "commands")
- *  Wimp_ReadSysInfo (3) returns state of commandflag
-
-Version 2.62
- *  Wimp_ReadSysInfo (3) returns 0=commands, 1=desktop
- *  f11 causes iconbar to come to front if covered, and to the back
-    otherwise.  When coming to the front, the backwindow bit is cleared, and
-    when going to the back,it is set.
-
-Version 2.63
- *  Still send Message_ModeChange even if same mode, and still re-open
-    windows, but don't force windows onto screen u nless screen size smaller
-    in x or y.
-
-Version 2.64
- *  Fix FP register saving, and set status=&70000 if not saved
- *  Fix scrolled menu dotted line redrawing
- *  Don't send iconbar to back on mode change
- *  Use OS_CheckModeValid when checking for HiResMono modes initially
- *  Clear bottom bits of palette entries in Wimp_ReadPalette
-
-Version 2.65
- *  Don't send Message_SlotSize if slot is same size
- *  Report memory full errors in Wimp_SlotSize correctly
- *  Make OS_ChangeDynamicArea and findpages work with 16Mb
- *  Allow pointer to go off bottom-right in size dragging (this in fact
-    causes the window to expand in the other direction).
- *  Fix bug: don't zero bottom bytes in Wimp_ReadPalette
- *  Avoid 16-bit overflow when setting the pointer bounding box.  This gets
-    round a problem with unbounded windows with extent > 2^16, where the
-    size drag bounds can be too big.
-
-Version 2.66
- *  Fix bug: Wimp_SlotSize corrupted R4 on exit!
-
-Version 2.67
- *  Fix bug: Wimp_LoadTemplate didn't count indirected data properly
- *  Fix bug: turn double-click ptr off if pending window deleted
- *  Fix bug: allow validation string pointer = 1 and indirected text size <=
-    0 in templates.  This allows for indirected sprite icons, where the
-    'validation string' pointer is in fact the sprite area CB ptr (0 =>
-    system sprites, 1 => Wimp pool).
-
-Version 2.68
- *  Add "-next" parameter to *WimpSlot command
- *  Make "-min parameter to *WimpSlot optional
-
-Version 2.69
- *  Altered default Wimp palette so that the bottom two bits of R,G and B
-    are equal (for all but colour 8).  This helps the Wimp and ColourTrans
-    to agree about the colours in 256-colour modes, and also results in
-    better matching colours from the Wimp.
-
-Version 2.70
- *  Changed to use ResourceFS
- *  Included resource files inside module
- *  Accesses resources via WindowManager$Path
-
-Version 2.71
- *  Implement *WimpWriteDir for changing to Hebrew mode
- *  Menus with title starting "\" are reversed
- *  Wimp_ReadSysInfo (4) returns current write direction
-
-Version 2.72
- *  Fix bug: didn't initialise ROM sprites if loaded after ResourceFS
-
-Version 2.73
- *  Added Wimp_CreateIcon window handles -5 to -8 (prioritised)
-
-Version 2.74
- *  Fix bug: iconbar extent should be pixel-aligned
-
-Version 2.75
- *  Fix bug: return click from menu icon if clicked as the mouse enters
-
-Version 2.76
- *  Icons stored separately from windows. This allows window structs to stay still.
- *  Pass reason code messages <= CloseRequest through the message system
-    under task ID 'pmiW' ("Wimp"), this enables mode change to send open
-    messages for all windows.
- *  Send messages for all windows being opened after a mode change, and stop
-    using the stack to hold the window stacking order for this operation.
- *  Implement infinite windows.
- *  Backwindow bit slightly changed in meaning: now, the frontmost back
-    window determines where windows opened behind window -2 get opened; if a
-    specific window handle is given, even if that window is behind a back
-    window, then the opened window will open behind the window specified.
-
-Version 2.77
- *  Handle rectangle area full redraw screen better.
-
-Version 2.78
- *  Fix bug: address exception when clicking on greyed-out menu item
-
-Version 2.79
- *  Iconize messages implemented.
-
----------------------------------------------------------------------------
-
-Version: 2.80 Wed 24-Oct-90        Ran Mokady                    
- *  Fix bug, address exception when task died while pointer in one of
-    its windows.
-
----------------------------------------------------------------------------
-
-Version: 2.84 Sun 28-Oct-90        Ran Mokady                    
-
- *  2.81    Changed number of tasks to 128.
-
- *  2.82    F11 action (Toggle iconbar) moved to F12.
-
- *  2.83    Fixed bug, drag user sprite called move address first 
-             now calls plot first.
-
- *  Centre error box on screen.
- *  Fixed bug in 3d writable icons, colour now forced only if icon has a border.
- *  Fixed bug in 3d icons, wrong colours in 8bpp modes.
- *  Added r3-> list of messages expected if task knows about version 284 or later.
- *  Moved task priority and message list code to be conditional on Version >= 284
-    and not on Swapping.
- *  Shift-Full_Size toggle to max size that doesn't hide icon bar.
-
-
----------------------------------------------------------------------------
-
-Version: 2.85 Mon 12-Nov-90        Ran Mokady                    
-
-* Added border (B) and pointer (P) commands to validation string of
-  indirected icons.
-
----------------------------------------------------------------------------
-
-Version: 2.87 Tue 12-Mar-91        Ran Mokady                    
-
- 02-Jan-91    2.86    Read timeouts and distances from CMOS RAM.
-                      Added auto submenu opening.
-
-                      
- 05-Mar-91    2.87    Fixed bug in messages lists (blocked all messages if
-                      message list was present!).
-
-                      Uses OS_ReadSysInfo to read configured mode/Wimpmode.
-                      (Now in same byte).
-
-
----------------------------------------------------------------------------
-
-Version: 2.89 Tue 16-Apr-91        Ran Mokady                    
-
-   2.88    Fixed bug: Now Uses OS_ReadSysInfo to read configured
-                      mode in both places where it is read.
- 
-   2.89    Added sysflags_nobounds to enable all windows be opened off screen 
-           in all directions.
-         *     Fixed bug in NewLook stuff that changed graphics clip window
-               while dragging without instant effects enabled.
-         *     Added UserBars flag to enable the use of sprites for all the window 
-               tools including the scroll bars.
-         *     Removed *Configure wimpmode.
-         *     Changed template loading to use OS_File, and fall back
-               to OS_GBPB if the OS_File fails.
-         *     Moved toggle icon bar to Shift+F12
- 
-
----------------------------------------------------------------------------
-
-Version: 2.90 Fri 03-May-91        Ran Mokady                    
-
- 24-Apr-91    2.90    Cache UserBars sprites on init and mode changes.
-                *     Divided UserBars title sprite into two.
-                *     Read configured mode when first task starts.
-                *     Fixed a number of positioning bugs in UserBars stuff
-                *     Added slowdown code for portable.
-                *     Allow use of 2.00 code if sprites not present for
-                      title and scroll bars.
-                *     Allow aliasing of pressed sprites to no-pressed sprires if
-                      pressed sprite not present.
-
-
-
-
----------------------------------------------------------------------------
-
-Version: 2.92 Tue 28-May-91        Ran Mokady                    
-
- 06-May-91    2.91    Changed delay configuration units to 1/10 sec.
-                *     Added WimpMenuDragDelay
-                *     Fixed bug: horizontal scroll bar vanished in 8bpp modes when 
-                      y0 was 0 (R7 was set to 0 on entry to getspriteinfo).  
- 28-May-91    2.92    Added K command in validation string
-                *     Wimp now looks sprites up in Wimp pool if not found in window's
-                *
-
-
-
----------------------------------------------------------------------------
-
-Version: 2.93 Sat 01-Jun-91        Ran Mokady                    
-
-                *       Bug fixes
-
----------------------------------------------------------------------------
-
-Version: 2.94 Thu 13-Jun-91        Ran Mokady                    
-
-                *       Bug fixes
-
-
----------------------------------------------------------------------------
-
-Version: 2.95 Mon 22-Jul-91        Ran Mokady                    
-
-                *     Fixed bug, Wimp_ReportError stiffed machine if R1=0 on entry and in text mode.
-                *     Fixed bug, !Madness made icon bar move.
-                *     Added SWI Wimp_AddMessages
-                *     Wimp_Initialise now only reports an error if passed in version is <200 or > 300
-                      if 200 < version < 300 then  200 is used as the version number.
-                *     Error boxes now only respond to <CR> and <Esc>.
-
----------------------------------------------------------------------------
-
-Version: 2.96 Wed 07-Aug-91        Ran Mokady                    
-               
-                *       Bug fixes
-                *       Revert to old RISC OS 2.00 palette.
-
-
----------------------------------------------------------------------------
-
-Version: 2.97 Wed 28-Aug-91        Ran Mokady                    
-
-                *       Bug fixes
-                *       Added redraw filters.
-
----------------------------------------------------------------------------
-
-Version: 3.00 Tue 17-Sep-91        Ran Mokady                    
-
-Release version ?
----------------------------------------------------------------------------
-
-Version: 3.01 Mon 25-Nov-91        Ran Mokady                    
-
-                * Added Perth power management support.
-                * Bug fixes
-
-
----------------------------------------------------------------------------
-
-Version: 3.02 Wed 11-Dec-91        David De Vorchik              
-
- 26-Nov-91            Modified to use ColourTrans for colour mapping
- 29-Nov-91            Fix bug: WimpSlot now accepts 6 parameters ie: "-min <n>k -max <n>k -next <n>k"
- 30-Nov-91            Uses ColourTrans for setting GCOLs.
- 30-Nov-91            Wimp_ReadPixTrans now uses dynamic workspace.
- 30-Nov-91            Check dither CMOS on mode change and set a suitable workspace location.
- 03-Dec-91            Implement Wimp_SetColourMapping.
- 05-Dec-91            Optimised for 1:1 mapping on colours - sets needsfactors.
- 05-Dec-91            Inversion and greying of sprites re-introduced.
- 05-Dec-91            Bug fix: When looking for a sprite tries the wimp pool if all fails.
- 05-Dec-91            Bug fix: User gadgets now plot using correct mappings - also optimised for space.
- 05-Dec-91            Bug fix: Wimp_ReadPalette reads the mapping palette if applied.
- 05-Dec-91            Bug fix: Remapping colours works correctly.
- 06-Dec-91            Bug fix: Wimp_ReadPalette now returns the pointer colours if remapping applied.
- 06-Dec-91            Bug fix: Screen redraw if Log2BPP >=8 and remapping is *not* applied on setting the palette.
- 06-Dec-91            Consistent and improved greying and inversion of sprites.
- 09-Dec-91            New caret plotting introduced.
- 11-Dec-91    3.02    Bug fix: Caret inversion colours corrected.
-                      Added new sprites.
-
----------------------------------------------------------------------------
-
-Version: 3.04 Wed 15-Jan-92        David De Vorchik              
-
- 30-Dec-91            Bug fix: Die entry when reporting Wimp cannot die error message.
- 10-Jan-92    3.03    In monochrome modes always dither Wimp colours 0-7.
- 10-Jan-92            Wimp_ReadPalette works properly; R2 =TRUE means return full 24bit values.
- 10-Jan-92            Wimp_SetPalette works properly; R2 =TRUE means user specifing full 24bit values.
- 10-Jan-92            Bug fix: recalcpalette no longer forces redraw of the screen unless really needed.
- 10-Jan-92            Bug fix: Wimp_ReadPalette returns GCOL in bottom eight bits.
- 14-Jan-92            Experiment with new inversion code and ColourTrans functions.
- 14-Jan-92            Recoded the despatch of Wimp_ReadSysInfo reason codes.
- 15-Jan-92    3.04    Bug fix: When setting palette preserve supremacy bits.
-
----------------------------------------------------------------------------
-
-Version: 3.05 Thu 23-Jan-92        David De Vorchik              
-
- 15-Jan-92            Bug fix: Screen update in 8BPP modes when palette changed.
- 18-Jan-92            Dot dash line rotation speed now based on timer, rather than internal counter.
- 23-Jan-92    3.05    Tweeked the rotation speed of the line, tad faster.
-
----------------------------------------------------------------------------
-
-Version: 3.06 Thu 27-Feb-92        David De Vorchik              
-
-  7-Feb-92            Service_WimpSpritesMoved added - R2,R3 -> ROM, RAM sprite pools.
-  7-Feb-92            Added sprite name caching routines.
-  7-Feb-92            Intergrated the use of sprite name cache.
-  7-Feb-92            Improved sorting performed on the sprite list.
-  7-Feb-92            Removed lots of conditional assembly from Wimp01.
-  8-Feb-92            Removed more conditional assembly, sorted out internationalised code and service trapping.
- 12-Feb-92            Bug fix: Message token lookup for media search boxes.
- 12-Feb-92            Bug fix: Wimp_ReportError getting the title bar wrong.
- 12-Feb-92            Now uses OS_FindMemMapEntries rather than its own *SLOW* implementation.
- 12-Feb-92            Wimp_RemoveMessages added.
- 12-Feb-92            Improved seaching of messages list - now stored on a per-task basis.
- 12-Feb-92            Bug fix: duplicate removal on sprite list sort is biased towards RAM pool.
- 13-Feb-92            More conditional code removed (Wimp06).
- 13-Feb-92            Icon borders tidyied and added back in.
- 14-Feb-92            Template loading catches resources: objects.
- 15-Feb-92            Bug fix: caching sprites gets correct prefix.
- 16-Feb-92            Indirected menu titles implemented for long application titles.
- 16-Feb-92            Bug fix: indirected title bars and wimp created sub-menus.
- 16-Feb-92            Bug fix: Rogers palette problems - not converted properly.
- 18-Feb-92            Changed the reseting of filters to a default state, and issuing of Service_RegisterFilters
- 18-Feb-92            Re-ordered filter despatch workspace; now called using LDMIA Rx,{WP,PC} - coded to macro.
- 18-Feb-92            Wimp_ReadSysInfo (5) get current task + version of task.
- 19-Feb-92            Bug fix: all filters passed R2 contain task handle.
- 23-Feb-92            Only plot the icon borders if task specified Wimp version >= 306, solves clash of validation strings.
- 23-Feb-92            Added *ToolSprites command to allow loading of sprite borders for windows.
- 24-Feb-92            Caching of the tool sprites information added.
- 24-Feb-92            Bug fix: border sprites not seen by Wimp_PlotIcon / Wimp_SpriteOp - saves confusion.
- 25-Feb-92            Finished new tools sprites routines.
- 25-Feb-92            Changed syntax of ToolSprites to allow no parameters - meaning default set from WindowManger:Tools.
- 25-Feb-92            Bug fix: excessive recaching of sprite border pointers - only does once on a mode change.
- 25-Feb-92            Bug fix: does not reprogram the VDU 5 glyphs if the tool sprites are present.
- 26-Feb-92            Bug fix: slot size genertes the correct error if not enough memory - not gobbldy gook!
- 26-Feb-92            Bug fix: source clipping works properly on window gadgets.
- 26-Feb-92            Further optimisation of dofunkytitle, dofunkyhscroll and dofunkyvscroll.
- 26-Feb-92            Now keeps SpriteOp paramaters cached to save recalculating them.
- 26-Feb-92            Some more conditional code removed.
- 26-Feb-92            Bug fix: pre-scroll offset for scroll bars adjusted by borders properly.
- 26-Feb-92    3.06    If not sprite tools loaded then falls back to VDU 5 style glyphs, including reprogramming welsh doofers.
-
-                        **** BASICLY MADE IT GO LOTS FASTER *****
-
----------------------------------------------------------------------------
-
-Version: 3.07 Thu 27-Feb-92        Ran Mokady                    
-
-     
-Removed check for task version on icon plotting.
-
----------------------------------------------------------------------------
-
-Version: 3.08 Thu 12-Mar-92        Lawrence Rust                 
-
- 11-Mar-92    3.08    Fix help message for WimpMenuDragDelay - fixes G-RO-8313
- 12-Mar-92            Messages flag is initialised immediately after claiming ws to ensure
-                        if errors are looked up during init (eg in ValidateMode) no address
-                        exceptions occur (e.g. if invalid configured screen mode).
-                        Fixes RP-0725 and RP-1679
-
----------------------------------------------------------------------------
-
-Version: 3.09 Thu 19-Mar-92        Lawrence Rust                 
-
- 19-Mar-92     3.09   LRust - Redraw of pressed gadgets fixed to not leave in pressed state
-                        *help text for WimpDragDelay etc. tidied.
-                        Iconsprites now no longer merges the window border tools.
-                          This speeds up *iconsprites and prevents address exceptions
-                          caused by cached toolsprites having moved.
-                        Wimp_SetCaretPosition now pages in task losing caret if icon
-                          has indirected data.
-
----------------------------------------------------------------------------
-
-Version: 3.10 Thu 02-Apr-92        Lawrence Rust                 
-
- * Fixed caret positioning in writable icons by ensuring that
-  drawicon_system in Wimp04 adjusts for borders before calling
-  findtextorigin - thus text is correctly aligned in bordered icons.
- * Menu titles can be indirected using bit8 of the first menu item
- * KA validation string now causes caret to move to the same character
-   position within the new icon when up or down arrow pressed.
- * Fixed bug RP-2025, adjust drag scroll bars without instant vertical effects
-   erroneously called a user drag routine, and went BANG!!
- * Fix RP-1809, Wimp_ReportError now forces VDU output back to the
-   screen before drawing the error box, and restores re-direction and
-   other states on exit
- * Fixed RP-1913, Wimp_Initialise now accepts any control character to
-   terminate the task descriptor string.  Subr Count0 fixed to do this.
- * Fix RP-1537.  *WimpPalette now checks that there are exactly 16 palette
-   entries in the file, thus avoiding problems with the 256 colour variety
- * KA validation string cause up/down arrow to move to end of new field,
-   fixes G-RO-7130, RP-1168
- * Sprite highlighting changed again! fixes RR-1674 and Rp-1402 
- * Sprite graying changed again! fixes RP-2094
- * Initptrs now preserves R0, preventing R0 from being corrupted on Service_Reset
- * Fix RP-2148 and RP-2150 - F command in validation specifying font colours
-   now accepts lowercase hex colour numbers.
- * Fix RP-2153 - Mode change now uses default colour mappings for the mode to ensure
-   the physical palette isn't changed by use of Wimp_SetColourMapping to alter
-   logical colour mapping.  In addition Wimp_SetColourMapping also forces
-   re-caching of tool sprites to ensure the cached palette is correct.
- * Fix die entry if tasks are active to restore R12 after (and not before!)
-   translating the CantKill error.
- * Respond to service_InvalidateCache
- * Add reason code 7 to ReadSysInfo to return Wimp version
-
----------------------------------------------------------------------------
-
-Version: 3.11 Tue 07-Apr-92        Lawrence Rust                 
-
- * 3D scroll bar routines fixed to only plot icons if clipping rectangle is
-   non null.  Pressed hscroll bars drawn correctly.  Fixes RP-1766 and other
-   3D tool complaints.
- * Service_InvalidateCache disposes of tool_list only, redrawing window with
-   empty tool_list calls maketoollist to re-cache tool info.
-
----------------------------------------------------------------------------
-
-Version: 3.12 Thu 16-Apr-92        Lawrence Rust                 
-
-* ExitPoll only calls post filter if event in R0 is valid (ie not when
-  R0 is setup for Wimp_StartTask.
-* ExitPoll call to portable module for non null events optimised.
-* Recoded scanpollwords to use a packed list of pollword tasks to improve
-   search time.  Fixes G-RO-7574
-* Submenus now displayed immediately to right of arrow (left in hebrew), not
-   to right of window, in case title wider than item.
-* Fixed template loading to correctly preserve file handle if insufficient
-   RMA to cache the file.  Fixes RO-8608 (Acorn DTP not starting on 1 Mb machine).
-* Wimp_ReportError correctly returns cancel if escape pressed with highlight on ok
-
----------------------------------------------------------------------------
-
-Version: 3.13 Thu 23-Apr-92        Ran Mokady                    
-
-* Remove input focus from iconized windows.
-
----------------------------------------------------------------------------
-
-Version: 3.14 Fri 24-Apr-92        Ran Mokady                    
-
-* Fixed redraw bug, caret size now takes into account the icon border.
-
-
----------------------------------------------------------------------------
-
-Version: 3.15 Fri 24-Apr-92        Ran Mokady                    
-
-* Stop text in non indirected sprite and text icons from being printed if an
-  error occurs when plotting the sprite. Fixes bug in !PinPoint.
-
-* Pass correct registers to blockcopy filter.
-
-* Call rectangle filter when system area of window is being drawn.
-
-
-
----------------------------------------------------------------------------
-
-Version: 3.16 Thu 30-Apr-92        Lawrence Rust                 
-
-* Fixed address exception during mode change with little RMA
-  VDU 5 glyphs correctly used for undefined toolsprites
-
----------------------------------------------------------------------------
-
-Version: 3.20 Tue 23-Mar-93        Neil Kelleher                 
-
-* Outline system font implemented: Wimp$font, Wimp$fontsize, Wimp$fontwidth
-  control appearance of font used in menus and icons in general.
-
-* Menu width calculated automatically to maximum width of menu items, except
-  when a writeable field exists when stated width is used as a minimum.
-
-* Improved background filling for inverted and sprite+text icons.
-
-* Support Wimp_ReadSysInfo (Reason 8) returning system font handle in R0 and 
-  symbol font handle in R1.
-
-* 'Kar' bug fixed.
-
-* Wimp now sends message when system font changes. 
-
-* Added new SWI, Wimp_GetIconInfo. 
-
-* Creating icons on icon bar, automatically widen if text (in current system font) 
-  doesn't fit- NOTE, if fontwidth changes during desktop use, it is not updated.
-
-* Implemented prototype features for tiling window backdrops and slab in/out
-  of border 1 sprite icons.
-
-
----------------------------------------------------------------------------
-
-Version: 3.22 Thu 15-Jul-93        Neil Kelleher                 
-
-* various improvements to outline system font. See spec
-
-* new error system allowing severity and extension through service calls
-
-* Medusa memory management support                 
-
-* watchdog to kill off rogue tasks
-
-* New SWI's: ResizeIcon, SetWatchdogState and Extend (direct calling mechanism)
-
-* Speedups and bug fixes.
-
-
----------------------------------------------------------------------------
-
-Version: 3.23 Fri 20-Aug-93        Neil Kelleher                 
-
-* CMOS configuration for desktop font.
-
-* GetIconInfo SWI now TextOp
-
-* Return and escape can be used on error boxes with custom buttons
-
-* deleted writables with KRANT validation now ignored when using arrow keys
-
-* various bug fixes
-
----------------------------------------------------------------------------
-
-Version: 3.24 Fri 27-Aug-93        Neil Kelleher                 
-
-* (O Love) Altered error messages
-
-* Added CMOS control for tiling of window backgrounds.
-
-* various bug fixes
-
----------------------------------------------------------------------------
-
-Version: 3.25 Fri 03-Sep-93        Neil Kelleher                 
-
-* Added different tile depth support
-
-* rearranged sources
-
-* auto menu width no takes sprites into account
-
----------------------------------------------------------------------------
-
-Version: 3.27 Fri 17-Sep-93        Neil Kelleher                 
-
-* altered window furniture code - should be more efficient
-
-* made DA sprite area on medusa more efficient
-
-* can *WimpMode outside of desktop
-
-* fixed a few bugs incl. grey modes
-
----------------------------------------------------------------------------
-
-Version: 3.28 Thu 30-Sep-93        Neil Kelleher                 
-
-* WrCh vector now released on Service_ModeChange - catches 'single tasking'
-  apps that change screen mode with OS_ScreenMode rather than VDU 22.
-
----------------------------------------------------------------------------
-
-Version: 3.29 Thu 30-Sep-93        Neil Kelleher                 
-
-* updated to cope with increased sprite op reason code.
-
----------------------------------------------------------------------------
-
-Version: 3.30 Mon 04-Oct-93        Neil Kelleher                 
-
-* updated !WIMPSymbol.
-
----------------------------------------------------------------------------
-
-Version: 3.31 Wed 06-Oct-93        Neil Kelleher                 
-
-* tweaked darwin.
-
-* reorganised sources - can now build with outlinefont off.
-
-* speeded up mode changes
-
-* fixed some selected icon problems.
-
----------------------------------------------------------------------------
-
-Version: 3.32 Fri 08-Oct-93        Neil Kelleher                 
-
-* On Medusa memory is returned when exiting desktop.
-
-* workaround for toolsprites code causing lots of 'can't find sprite'
----------------------------------------------------------------------------
-
-Version: 3.33 Mon 11-Oct-93        Neil Kelleher                 
-
-* now uses look up table for program errors
-
-* few memory fixes.
-
-* caret is red on 16/32 bit modes.
----------------------------------------------------------------------------
-
-Version: 3.34 Tue 19-Oct-93        Neil Kelleher                 
-
-* yet more memory fixes.
-
-* error block now copied so message trans overwritting buffers is ok.
-
----------------------------------------------------------------------------
-
-Version: 3.36 Wed 03-Nov-93        Neil Kelleher                 
-
-* and some more memory fixes!
-
-* fixed line across the screen from an error box bug
-
-* increased minimum scrollbar height and fixed cannot scroll to end bug.
-
-
----------------------------------------------------------------------------
-
-Version: 3.37 Thu 18-Nov-93        Neil Kelleher                 
-
-* more memory fixes.
-
-* fixed MED-01061
-
-* fixed MED-00973
-
-* fixed MED-01097
-
-* fixed MED-00297
-
-* fixed MED-01103
-
----------------------------------------------------------------------------
-
-Version: 3.38 Wed 01-Dec-93        Neil Kelleher                 
-
-* fixed MED-00967/8
-
-* fixed MED-00974
-
-* altered icon selection (faster, sprites slightly different colours)
-                                                                     
-* fixed MED-00966
-
-* ALT-BREAK now used for watchdog
-
-* fixed MED-01342
-
-* fixed MED-01346
-
-* fixed MED-01431
-
-
-
----------------------------------------------------------------------------
-
-Version: 3.39 Thu 09-Dec-93        Neil Kelleher                 
-
-* fixed MED-01406
-
-* fixed MED-00776
-
-* Fixed MED-01228
-
-* Fixed MED-01588
-
-* Fixed MED-00414
-
-
----------------------------------------------------------------------------
-
-Version: 3.40 Wed 12-Jan-94        Neil Kelleher                 
-
-* Stopped acknowledging messages from deleting events : fixes MED-00003 and
-  MED-00985.
-
-* fixed MED-00943, better handling for iconbar icons with variable text
-
-* fixed MED-00946
-
-* recoded tiling.
-
-* fixed MED-01364
-
-* fixed MED-01418
-
-* fixed MED-01711
-
-* fixed MED-01818
-
-* fixed MED-01894
-
-* fixed MED-02090,1,2122,2146,2202
-
-* fixed MED-02095
-
-
----------------------------------------------------------------------------
-
-Version: 3.41 Thu 20-Jan-94        Neil Kelleher                 
-
-* fixed MED-00240
-
-* fixed MED-00563
-
-* fixed MED-02050
-
-* fixed MED-01910
-
-* Tweaked memory management and tiling.
----------------------------------------------------------------------------
-
-Version: 3.42 Fri 21-Jan-94        Neil Kelleher                 
-
-* Improved font manager death recovery
-
-* fixed (MED-00114) toolsprite probs.
-
-* Wimp_ClaimFreeMemory works on machines with more than 28 meg.
-
-* tweaked error box templates
----------------------------------------------------------------------------
-
-Version: 3.44 Mon 31-Jan-94        Neil Kelleher                 
-
-* W_CFM now returns free pool EEK!!!
-
-* fixed MED-01852
-
-* fixed MED-02443
-
-* fixed MED-02497
-
-* fixed MED-01910
- 
----------------------------------------------------------------------------
-
-Version: 3.45 Thu 03-Feb-94        Neil Kelleher                 
-
-* improved FM death recovery (now loses fonts so that useage should go down to zero)
-
-* custom buttons get correct border if they are a default (ie. no ok or cancel)
-
-* fixed load template giving spurious errors (affected Magpie and Junior Pinpoint)
-
-* fixed MED-02285
-
-* fixed MED-02269
-
----------------------------------------------------------------------------
-
-Version: 3.46 Tue 08-Feb-94        Neil Kelleher                 
-
-* fixed MED-01796
-
-* improved Watchdog to cope with special circumstances such as a running
-Print Job or output switched to sprite.
-
-* improved font preservation (when to do it/ when not to)
-
-* fixed menu delay offset bug.
-
-
-
----------------------------------------------------------------------------
-
-Version: 3.47 Wed 09-Feb-94        Neil Kelleher                 
-
-* Thought about font preservation and removed it for now.
-
----------------------------------------------------------------------------
-
-Version: 3.48 Fri 11-Feb-94        Neil Kelleher                 
-
-* Fixed MED-02301, substantially changed unfilled text only icons
-
-* Fixed MED-02598
-
-* Fixed bug that could cause program errors to go wrong themselves
-
-* fixed tiling bug - only occurred when a window had a custom sprite
-
-* put in (different) font preservation checking
-
-* Added 'vertical justification' bit to TestOp, Wimp_RenderText
-
----------------------------------------------------------------------------
-
-Version: 3.49 Wed 16-Feb-94        Neil Kelleher                 
-
-* Fixed W_CFM (asking for lots of memory didn't fail)
-
-* Added extra FM abuse security (eg. MED-00669)
-
----------------------------------------------------------------------------
-
-Version: 3.50 Thu 17-Feb-94        Neil Kelleher                 
-
-* changed Sprite Op's 'can't do that in this depth' error to User one.
-
-***************************************************************************
-                      MEDUSA - RISC OS 3.50 build
-***************************************************************************
-*                                                                         *
-*  Project: Black                                                         *
-*                                                                         *
-*  Module:  Wimp                                                          *
-*                                                                         *
-*  Created: Tue 21-Jun-94      By: Aideen McConville                      *
-*                                                                         *
-*  First version: 3.50                                                    *
-*                                                                         *
-*    Copyright:    (C) 1994, Acorn Computers Ltd., Cambridge, England.    *
-*                                                                         *
-***************************************************************************
-
-Purpose:
-========
-
-
-
-***************************************************************************
-
-
-Change Log:
-===========
-
-
----------------------------------------------------------------------------
-
-Version: 3.50 Tue 21-Jun-94        Aideen McConville             
-
-Moved to new source tree.
-
----------------------------------------------------------------------------
-
-Version: 3.51 Thu 21-Apr-94        Richard Manby
-
-* added power saving code for Stork
-
----------------------------------------------------------------------------
-
-Version: 3.52 Tue 02-Aug-94        Aideen McConville             
-
-* Updated hdr.Wimp (from Neil Kelleher)
-  Contains new reason codes.
-
----------------------------------------------------------------------------
-
-Version: 3.53 Thu 18-Aug-94        Steve Cormie                  
-
-* Fixed MED-03541: BadParameters token (which did not appear in any Messages
-  file) replaced with BadParm.
-* Fixed MED-03390: button texts Quit, Continue and OK (for error dialogue)
-  were not looked up in Messages file.
-
----------------------------------------------------------------------------
-
-Version: 3.54 Tue 13-Sep-94        Steve Cormie                  
-
-* Fixed MED-03700: various messages now looked up.
-
----------------------------------------------------------------------------
-
-Version: 3.55 Tue 27-Sep-94        Steve Cormie                  
-
-* Fixed MED-03711 and MED-01949: long error messages were being copied over
-  workspace causing data aborts.
-* Fixed MED-03346: convert ROM patch to source fix, prevent Wimp accessing
-  info on taskhandle 0.
-* Fixed MED-03135: convert WimpUtils module patch into source fix, workspace
-  pointer corrupted before attempting to read from workspace.
-
----------------------------------------------------------------------------
-
-Version: 3.56 Wed 28-Sep-94        Alan Glover                   
-
-* Fixed MED-03674: could make windows disappear because they were being
-  opened behind an iconised window. (s.wimp03)
-* Fixed MED-03233: change name of information sprite (should be information
-  was info1) (sprites)
-* Fixed MED-03145: key names were getting right justified if they appeared
-  in writable menu icons. (s.wimp05)
-* Fixed MED-03087: finally, really, at last fix nager:sprites22 - change the
-  buffer in which the command to load wimp sprites from away from the error
-  buffer! (s.wimp01)
-    
----------------------------------------------------------------------------
-
-Version: 3.57 Tue 18-Oct-94        Aideen McConville             
-
-* Fixed MED-03691: Wimp 3.57 onwards will expect its Templates to be in
-                   'Templates' (s.Iconbar, s.Wimp08, Makefile)
-
-* Also corrected Makefile which was copying 2D tools to Resources.
-
----------------------------------------------------------------------------
-
-Version: 3.58 Thu 20-Oct-94        Alan Glover                   
-
-* Fixed MED-03800: Avoid an interaction whereby the wimp would obtain a
-                   translation table from ColourTrans, and then discard
-                   it before it got around to using it. (Affected 16/32bpp
-                   sprites in filer windows in 256 (and less) colour modes)
-                   (s.wimp01, s.wimp04)
-
----------------------------------------------------------------------------
-
-Version: 3.59 Sat 29-Oct-94        Aideen McConville             
-
-* Added sprites from !Draw (DXF) and !Printers to Wimp Sprites.
-  Also updated Sprites22 and Sprites23 with !Printer sprites.
-
-* Moved Sprites, Sprites22, Sprites23, Tools and Tools3d to UK directory.
-  (updated Makefile and s.wimp08 accordingly).
-
----------------------------------------------------------------------------
-
-Version: 3.60 Mon 31-Oct-94        Steve Cormie                  
-
-* Added directed comments to Messages file for message tokenisation.
-* Moved command help/syntax from Global.Messages to Messages file.
-
----------------------------------------------------------------------------
-
-Version: 3.61 Wed 21-Dec-94        Steve Cormie                  
-
-* Fixed MED-03323: Don't fill 0 sized icons.
-* Fixed MED-03865: Changed "Wimp Sprite Pool" to "Wimp sprite pool".
-
----------------------------------------------------------------------------
-
-Version: 3.62 Mon 16-Jan-95        Aideen McConville             
-
-* Fixed MED-04107: Added JPEG filetype sprite (c85) to Resources.UK.Sprites[22]
-                   Also added Resource filetype (fae).
-
----------------------------------------------------------------------------
-
-Version: 3.63 Wed 18-Jan-95        Steve Cormie                  
-
-* Implemented correct fix for MED-03674 (also fixes MED-04376 which resulted
-  from the fix in version 3.56).
-
----------------------------------------------------------------------------
-
-Version: 3.64 Thu 16-Feb-95        Alan Glover                   
-
-* Looks like 28 Sep '94 was a **bad** day for coding. Fix bug MED-04476,
-  which arose from the previous fix for MED-03145. Symptom was Edit>Create>Text
-  gave a window without input focus. This was because the caret had got stuck
-  in the menu structure!
-  
-  
----------------------------------------------------------------------------
-
-Version: 3.65 Fri 24-Feb-95        Steve Cormie                  
-
-* Fix for MED-04690: Added sprites file_be8, small_be8 and file_ff0 (were in
-  CDFSFiler sprite files).
-
----------------------------------------------------------------------------
-
-Version: 3.66 Mon 06-Mar-95        Aideen McConville             
-
-* Fixed MED-04771: Shared disc sprites included in Wimp.Sprites[22]
-                   AUNMsgs also updated (0.03)
-
-***************************************************************************
-                      Black - RISC OS 3.60 (4.28) build
-***************************************************************************
diff --git a/Resources/UK/Sprites,ff9 b/Resources/UK/Sprites,ff9
deleted file mode 100644
index b74ad70c416d0c7f8dafbb1bcc3a2b913814bee6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 76088
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

diff --git a/Resources/UK/Sprites22,ff9 b/Resources/UK/Sprites22,ff9
deleted file mode 100644
index b3ccf18b78a432523b9669790b088fd1ebe40ec4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 272
zcmb7;F$%&!5Jmq8Nv*gBk~4S+k6_^zRw5W-#X>?Pt%V1$@djGNQ~D-pY#n&}XNLWs
znMj&KFzJq7+GcmCkNfMnWs(-dJL;0&nL`F8B<S(>IaF|hk3kL<6zrJUCq9=iQwDlq
va8{U{AuZ@e=QngsYHND0Fp6gA?+tNdN^jG1Yg!k?c-$Yj$Gx5rBR5fBZb~E9

diff --git a/Resources/UK/Sprites23,ff9 b/Resources/UK/Sprites23,ff9
deleted file mode 100644
index 3736642c489e4fce029ed93b259fc4602b1cb284..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 29160
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

diff --git a/Resources/UK/Template3D,fec b/Resources/UK/Template3D,fec
deleted file mode 100644
index af6ae5e6c43138585ca1955d64cb45d4bb6a4442..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 937
zcmbu8zl#%55XavpD-p~qJOm+yu5!g83W8{rh!E{m&VX>Go89NRnC!wP=Iktls}F1}
z4+~qhyFWk<`~?=Gf*`?0iz{sGjyylJ?**?ov~XaU_rBkm@6MY{thH9{u`%ZrJiz;L
za(6Au(_&4lw|np`De`_?Y9O^p;+dMuH)UBkRH+;FKRQV<9L9NC<x9;19>VWZ`;s^}
zTCu%@k!sW$VLfP8@brbX(RG*6@rlx#So>x^&c*|iUUbqC*cRRk;e677yXY>9ZqNwA
z8qH!qz|;Yyg#VZBF|?NO8NGgX<&}o$K2%Xizd@)Su{^VO>T^2M!&x_*Y3+Hi#a(LJ
zz=!Y+{5|>G<V!z6td71W=M65UN5K1@e@g7Yzk~RQ%XAj;33d00+r-u__34C3v$57P
zlLsfkcc_~X+n#s7(W(~yEBGDw$LMW({V$xqd3|X04Ezc2ennhBKg}jtYRam9ojj?(
zM4$8e?_fWD{eJu}xS8ko`+gm*ra0ej`Tjl-=lX}?T7Th>!!3FKni-AaRTJGVi(z!7
zn#)z)Em)fTp3%Jvr_bqboF`_Wd*?Y{Hlw7>`Y``<+oaiu2d=P$J2Wyk=5HU#vNRhi
Z)bc!R*DawOt0nZyBKK2W|F7}O{Tu4a>TUo4

diff --git a/Resources/UK/Templates,fec b/Resources/UK/Templates,fec
deleted file mode 100644
index 4e56a2ffd4eeb1e8befe9594adc306f1d50dbc52..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 637
zcmZuuu}Z^G6un6!QRwa9A~<DG5Jl(*G#xBXRxO=6Hcc`V(*#1K7DNYk7gq;Ap*r~i
zf{TNjYet9S>`?kVH%VzJ-f*~i_ndd`eeWry6fH%9{|=x5J;%Km_Cqfk^5|o!?nZ-w
z6M8)G!(<0SO#t4H<0xi7@ZIEKS6}$_-6-riF&~~fBgkkIFiJ#IY<feU2S!otbs|$Y
zjgnT*%IULG)>*Ew3!(IqIKq5ZF`%rU01ITtAex~6JjC|_EzPn?2Isys#ktpVMdn-0
z&mfikMsdJ8XMzemYrqd?UG=>q!@#_n!Fj{hOsTZ!ZOfpAZ>o>AUo2&o8nU#Gfid&}
z^b^!=hqh*-0c7h7;DK*q@rZ19>HYkKlYV&VbDgg$;H%izMZQMf?$THO2JCxvzP*93
z@Sn*4@%Qi*|2^=9zu9m?*AF=JKhEBhn{1)ME6~Qp%0);70K8R89!$dp=x{-Nqb8>l
Me)Yk4gBBn7KSR!v2><{9

diff --git a/Resources/UK/Tools,ff9 b/Resources/UK/Tools,ff9
deleted file mode 100644
index 298d22d65559f3ffbb73029d3c857331a75f0ce2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 11500
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

diff --git a/Resources/UK/Tools3d,ff9 b/Resources/UK/Tools3d,ff9
deleted file mode 100644
index 30149ceb56805c5938108f62c4513528d1c6d52d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 33932
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
KT5##?;{OFjene9M

diff --git a/Test/!Double/!Run,feb b/Test/!Double/!Run,feb
deleted file mode 100644
index 144aa95..0000000
--- a/Test/!Double/!Run,feb
+++ /dev/null
@@ -1,19 +0,0 @@
-| Copyright 1996 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.
-|
-| > !Run file for !MenuTree
-
-WimpSlot -min 640k -max 640k
-
-Run <Obey$Dir>.!RunImage
diff --git a/Test/!Double/!RunImage,ffb b/Test/!Double/!RunImage,ffb
deleted file mode 100644
index 5b083bd1becba1234c9198eff05812ff5150e376..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1769
zcmZWqO>7%Q6yB8*1XZV^QY#Rk>Sf3lhiu{>N=QRp;n+@U66|0*jmiNuUXSfn*Snk9
zF^(k;6#`B<a6*Cu;=qYRPaJyUKrcPe3ld035QPhsdO!#*9FX{Vv$of6*~5B%-uvG7
zee-5bG%XQA-tz~-Zg(W4FJ4@MoaG4@7rTB>auL9`Y!XeI4e?bBVcWL28}KId+$I+w
zI~;O8v+!rMW5QL;vOO0v%PB~x06N;D3oj$cMhFA12VFJ**OSl-IHK4Av}}h1Kd`tj
z!FIty0*=jGi$mX*ov6|XXBknJLbx_U@fwn00>c!40A6c46qp>7zYv0YI#T*;$z;FZ
zUuF^UWlyw|&QMm6+%Dyd<yvtG$&V9DA?&&i4+0Q;zh?^+-xvV%k)FjGNZMh2@C2~7
z;J7C}MZYg>X}fI`0<R_eOmIZo454WUQrHc2cG|&_E<hKi1JFa}0?pN+RHLw-tCead
z!jwbUE7h-5cI&X0t5$R6dZ}20N)_^za-mc&RmwQqfL!?+Y?aCd6FB;ZXT=YEp;RDM
zTY1Zy%1BgK<LU_F6NDB<sCnRX%Wl~g3Uu2&*5=Um-sZwZUEp)kwF7m|0g_Z5G9Q9t
zcWudJv^eRHsZ&#3bmDXfmtn5jb4y*sB-)wP5R%DcBrp%Y@Y;fPm5ta{)^*hS+Rk&z
z`=&sjkrP^n;Y2$(L$t)%BajBXxHd11EUo8iTa;*-<eiU!?xD!HN-iD)bL@aqGm}c0
zbJ8$r4g%Y81|V5*9m6jn&c+i*uy4TmG{(SwW;i0+4sN~i_^<Fj{LY2&#M&{@nz-gZ
zwP9p$Cg`O~gAe8lwz#}pSl^@zL_5IUcQbMQiqG9TN4J?o2Ih3acsW1{hY3|9&dNJp
zz{mS^ZBqNAb4L(Zf=R1mKsuGVU^ba#!y(Z=dp$<j_E<9pFwJq!Fnsu4jPgxd=Ygbf
z3rw?x{cD)`v^+dLgJ@qo9Rof{iD+Lw<jPmcd)PNBEt`Tv6q8oSL*c+(DTcQ_3PHhl
zCKlxdM|1XUx9RoKqA^uu)WvJv!RB%}a{2bmzA=}|KCt%V#Ij8;hY&SvKxOql=KOLJ
zb26*hr8LogdnVSR4kfOq;{KW;`poPfL_akbeIw$?9nW#7nMN?AQ#FYG<mo8j9!|0=
za7c7|cKBJr<>#+dYW1syU80+rC~E5U9Xz{%o!0=mcpEvbE>Zw{G)b=zePs%!zPnzG
zU|u;9A>1YUtH$4uNMOzMOAGKGM5EP(1-JnTL`$z^Qwv0|qlz~l`$1JAdIu+B_L%7J
z;NXK(lNKiWhq&^|BY<*0KOYr%NN#E<ms#o}Bh<|lsOqEnm_j`LACFsz|FtUp4Gz9P
z`P1m`5dHYk`_Mwb`&)6vD)&7hi|TGslOEth7yq0`cbLSliHrXoi?=^DUodI(J(}EF
h)vpRFq}X=GjSRM2j2X3R!RxyeudDvg?9b%i{{W_RCmsL*

diff --git a/Test/!Double/Templates,fec b/Test/!Double/Templates,fec
deleted file mode 100644
index 8cbb6d9de168733125a57cea59660f4f9a0f626c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 132
zcmezW|NnmmB%lLiM*uM+5Qn4|m++QD07!`qQ1A;7JFqY?OaWpT02=XMh=JihI}<x2
kGb0Z~_z%!rRtVD;L@j`r31ZrW=9OfY<fNw9@uq_K0MEr3z5oCK

diff --git a/Test/!ManyWinds/!Run,feb b/Test/!ManyWinds/!Run,feb
deleted file mode 100644
index 144aa95..0000000
--- a/Test/!ManyWinds/!Run,feb
+++ /dev/null
@@ -1,19 +0,0 @@
-| Copyright 1996 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.
-|
-| > !Run file for !MenuTree
-
-WimpSlot -min 640k -max 640k
-
-Run <Obey$Dir>.!RunImage
diff --git a/Test/!ManyWinds/!RunImage,ffb b/Test/!ManyWinds/!RunImage,ffb
deleted file mode 100644
index 2ddd872016970bbe8022afbf55e904fe7cf5983c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 5709
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
C-__{=

diff --git a/Test/!ManyWinds/Templates,fec b/Test/!ManyWinds/Templates,fec
deleted file mode 100644
index ce6826cc27528a49735a38b5778714e36a2b8754..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 331
zcmezW|NnmmB%lLi%QG@C01-o4eqKpQYH<l~c{w{sNdZuB2aw*y%)oE}h+!af)?`Lu
z24;44CUyp9Mjo)R&e#9{7qo#)VPLQYlMpjOOyAVJQU$QVys02#q=1+Q=#CJe@&`cL
zHj&{t$ex=(900@-KrHg_|NmV;`8PlsB!3$y_6I6I4@k@W{r_KqiGkq*kOs;B1B%H4
z)r0gq=VT^lD`cb=r7D!<D<l`CCYGcs7#bKTlxOCp<d+xo`tYJENlDE~C7>iJzceoy
QXkJEUu|i2=aW>El0HmN;%K!iX

diff --git a/Test/!MenuTree/!Run,feb b/Test/!MenuTree/!Run,feb
deleted file mode 100644
index 144aa95..0000000
--- a/Test/!MenuTree/!Run,feb
+++ /dev/null
@@ -1,19 +0,0 @@
-| Copyright 1996 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.
-|
-| > !Run file for !MenuTree
-
-WimpSlot -min 640k -max 640k
-
-Run <Obey$Dir>.!RunImage
diff --git a/Test/!MenuTree/!RunImage,ffb b/Test/!MenuTree/!RunImage,ffb
deleted file mode 100644
index 2668b3bab6452d9818b104e9000902b15f97b7de..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4478
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
W>f)ws5qEXmi*9)f9C!jq{`)^?hIP;Y

diff --git a/Test/!MenuTree/Templates,fec b/Test/!MenuTree/Templates,fec
deleted file mode 100644
index 0bf0d4fd5bde632298531a302fd2c07fc57c68da..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 412
zcmYjLu};G<5WO}-B-BhWA%t#Yi5S>BAYefhA(2X~PU;ei)UINiiXY%J5F?*}I<fH^
zEQp1Hg%Ql1n@U)IzUO=Qo*hC6@NebB=RE-0Fg4maX<gRo+<zv%OaNX8>-Dq&un9?;
z_ESiDgV@f$LwLOB6o6qoSD8#lQhSWSndF#l!hrr!(D)nGp@3I@=bdmtxFT%*hOi|4
zlPc>U)Z3vu>krI-Lcl)27gg4GNz<Kv)TrtPM<?fFG#Xv4EH0Fum<2k6rgTDaSK^HR
zm7QfoHCEAcczim(ELJXwx1v?X+c<~H$(coV`d06gt>_ZawNj$3jc+Dsow!3YmpaGN
eyJ*6LJ&V?t{Mve~YK)brrZj+6E%ddtl=ug^ymLVS

diff --git a/Test/!Monitor/!Boot,feb b/Test/!Monitor/!Boot,feb
deleted file mode 100644
index 55b2a9d..0000000
--- a/Test/!Monitor/!Boot,feb
+++ /dev/null
@@ -1,15 +0,0 @@
-| Copyright 1996 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.
-|
-Set Monitor$Dir <Obey$Dir>
\ No newline at end of file
diff --git a/Test/!Monitor/!Run,feb b/Test/!Monitor/!Run,feb
deleted file mode 100644
index c363712..0000000
--- a/Test/!Monitor/!Run,feb
+++ /dev/null
@@ -1,17 +0,0 @@
-| Copyright 1996 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.
-|
-Set Monitor$Dir <Obey$Dir>
-Wimpslot -min 64K -max 64K
-Run <Obey$Dir>.!RunImage
diff --git a/Test/!Monitor/!runimage,ff8 b/Test/!Monitor/!runimage,ff8
deleted file mode 100644
index 2abac1bc1e1b845d4f94150a645fe3e4379b5ca9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 11108
zcmeH}L1+|b6vzLwJBd+tvy(JI8>!BvAc!!B7K#^FZ4p|9)PSXEX}9c(vAUb4n_59|
zl1dveva2907`juvgyyoKmqrCot+Yi_=s~cwJKtpJZWfx*B9*F4|6j6FC>}lZ@CF{=
ze(!tleeeC|zc2tEqHULeRu8Z=lLBsRq__RV^y;=Z|5>7|cY?0kS(U=21~3$KFV}wT
ztG%I6J6ktsfEU1`*|fA5tjBD_a)#8SDEf}E{&8S&EdN2ia3cS1?&Dm($odu#C2x8D
zpZB&k&DvhI4)6F$1J^O=`PbZPXt2(SycZZpKT}58^RF9d@eUuTgkS65Bc9*I-@ssy
z!=6|dCOd$OVGs8lZ6G_pPxaXs!z4U^U~@@zGbd?#{#x$i?A3^&WisEeU1i#nq4sys
z|Cn*v`EzQu_MUo{_1NoN*T`hpiMMzs=GL%}PR8@{mT6VOfUE9@3>Rlgz>A*%=13)6
z)4tDS{BNvlGG}@AVDorpIIj`2)(QjX?!OFv02y%h=fEBluG$z!>-khk^>JO#^>y}r
zhV~2VjkWERwVADqhbf+aL!V~&EmzLtJE(?9=IXoe)Au{=0rP=!80Tz%N6~;j`-3z5
z6-A5t3i;t;VH6b?*v%fvauI3vhjVI+RV9P-&8v*HSy!_MO1*F&H+0O0nnU_#!(`kH
z^IWo+9@p<Wwq%gSsUGGy^%ad^upabwmlWRfg7MCEOC7+`I1cEuFZZWPm*IF<4gg=h
z1jbn9h3zlwRI&ay)oClUpLg!sN)4C0T?`$`jOMcTZu{8q`=goBlXkvPw2u`s*<2Rq
zpLRa{kzE)o+J(b*HdD+&_l>gWzx->&-l<>q1-u<394|hfuJ+#^toEDEYgWSfw3qKZ
z*u+`j-aG<(Y5~r~LV~%tHNB9qrWEYy(6A@!(@r&fRrk%=COF%jC|a5A`zV_0bH|ly
zR2r@^)#QEtA;#@$GrkwGhuF5}L2@+6G|jUeJTv$nHk<)|qFp1?`3r#lzv}(W=d1e-
zUjT9X^j>q<`|K<Q#>aJ6eOjB^_hiK~=M@tMq5;u>Xh1X|8W0VL21Em*foH0LE&MKD
z`39c=UZJIF`qAI-cWFP<>NI(TfDjM@LO=)z0U;m+gn$qb0zyCt2mv7=1cZPP5CTF#
R2nYcoAOwVf5cq!(_y-{{ioO5<

diff --git a/Test/!Monitor/Templates,fec b/Test/!Monitor/Templates,fec
deleted file mode 100644
index 6c5d2921983e37eb2c04ff036e1c2d739bba7ca7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 382
zcmezW|NnmmB%lLi2Qe}*01<<4eqLrtei1KBdLB?Pf{B6Q1~ZTbVi-7TF^y4(fw`TX
ziJg&|kq09D2WT!UglP++3?OELm@sow?08ezfP4)g-U4)o8_@hGKw2`9;kX2l4P^f3
z2g+pu*&ul-pxq#OTSf+Ub*MbZHYXs?0gCeh#pVEMkbW(wJjn4N{Utzg8KC|pQ2pjm
zc@e076`;5sP%H$h-vKHw0F=)FvNeF>5<vYCQ2hZ=d650Ssl~;K>8ZsE`U<|8dAtS&
dygrG=B?`F^VIUs@cti3_5_4d}#a6rqyZ~WjZ{`31

diff --git a/Test/!Monitor/c/Monitor b/Test/!Monitor/c/Monitor
deleted file mode 100644
index 6934bf3..0000000
--- a/Test/!Monitor/c/Monitor
+++ /dev/null
@@ -1,110 +0,0 @@
-/* Copyright 1996 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.
- */
-
-/* Monitor messages comming in */
-
-#include <string.h>
-
-#include "wimp.h"
-#include "wimpt.h"
-#include "event.h"
-#include "win.h"
-#include "template.h"
-#include "dbox.h"
-#include "alarm.h"
-#include "res.h"
-#include "akbd.h"
-#include "kernel.h"
-#include "swis.h"
-
-
-int start_time =0;
-int messages =0;
-int my_task;
-
-BOOL unknown_event(wimp_eventstr *e, void *handle)
-{
- dbox d = (dbox) handle;
- int av=alarm_timedifference(start_time,alarm_timenow());
- static int ov=0;
-
- if (ov==0) ov=av-101;
-
- if ( (e->e==wimp_ENULL) && akbd_pollsh() )  /* Shift pressed on a null event */
- {
-  _kernel_swi_regs r;
-
-  r.r[0]=my_task;
-  wimpt_noerror( (os_error *) _kernel_swi(XOS_Bit | 0x816c1 ,&r,&r); /* Get character at pointer */
- }
-
- if (e->e==wimp_ESEND)
- {
-
-  if (e->data.msg.action == 0x816c0)
-  {
-   werr(0,"Character found %c (%i)",e->data.msg.data.words[0],e->data.msg.data.words[0]);
-   wimp_processkey(e->data.msg.data.words[0]);
-  }
-
-
-  char   strbuf [100];
-  sprintf(strbuf,"%x",e->data.msg.hdr.action);
-  dbox_setfield(d,3,strbuf);
-  dbox_setnumeric(d,5,++messages);
- }
-
- if (av-ov >= 100)
- {
-  ov=av;
-  if (av >= 6000) av = messages / (av / 6000);
-     else av=messages;
-
-  dbox_setnumeric(d,1,av);
- }
-
- return TRUE;
-}
-
-int main()
-{
- dbox d;
-
- /* Start a wimp task */
-
- wimpt_wimpversion(275);
- my_task=wimpt_init("Monitor");
- res_init("Monitor");
- template_init();
- dbox_init();
- alarm_init();
- start_time=alarm_timenow();
-
- d=dbox_new("Monitor");
- dbox_showstatic(d);
-
- win_add_unknown_event_processor(unknown_event,d) ;
-
- event_setmask(0);
-
- while (1)
- {
-  event_process();
-  if (wimpt_last_event()->e==wimp_ECLOSE) exit(0);
- }
-
- return 0;
-
-}
diff --git a/Test/!Open/!Run,feb b/Test/!Open/!Run,feb
deleted file mode 100644
index 144aa95..0000000
--- a/Test/!Open/!Run,feb
+++ /dev/null
@@ -1,19 +0,0 @@
-| Copyright 1996 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.
-|
-| > !Run file for !MenuTree
-
-WimpSlot -min 640k -max 640k
-
-Run <Obey$Dir>.!RunImage
diff --git a/Test/!Open/!RunImage,ffb b/Test/!Open/!RunImage,ffb
deleted file mode 100644
index 450c8fa46d2c8bb2bf0037c81be7d6e359958bbf..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1588
zcma)6O^72!6z;%`h}esQi-NMeDW=zism<T6<LtOujG4^Z&X|lz)?qy;mF`MXY^SSJ
zT`?2zu!wrvv*1NMd-mYTi<don)?vLUco11y4}$2c{B)ux8`9~jdhe_6``)XvEi0Qq
zO-55C`U4H6>(_Uo>PZ#i<S-g*u3|XWzHM2X3BKwH91D+!G528{`don?aHvMi!@tD}
zg|{(F$Pmi;B4kYfSuBy<D+qF!z*LT5$fgiV4da+2iin{n0uKDl<B<jtf`<eG!9tJ2
zMCie6rv*+PQLZF#XMrNSnqdONlxPaFw;l>iFUem^z&r!3qy0i*GMVJrjCfwEej%94
ziVMeXt=?$YuORtlqMN|&FyL_vijT%Zq4@3;ScLRE)<x0*n}Afn`ikS4mWKXB2`$1t
zg;@6Vgei__w-WG0td;1Zv+E8nbOE}s9)KRQ5J<HRZkxbs)wbKF2-8U5)a|_9yxoD*
zYO7UkbliFynk}d`8wYO3Z8mUp2-U_NIC2{Y6gc{awc=-yGAfX&Fy3<C7>VlI+>{`#
zAoMW8jN^!Vq9;5Q81~1k&!I2h=PE>95OFmWv8i*6Bu$5GClH9C&`i%JSN*Y8HPb~;
zJe|Nz*lLYKcZis_^~_!Zg+gH_um+KmeZ_{xM(ir@E^2-A<VEAXuh3`Ygw|oWZC%>1
zt?b2f&<?z`zpb4L=~UZC#J0+X2cH2sMUn5hA(nv!BIbmai$%Jn9ZISYiy)YSX7ODN
zzkxW1&z{4`fy*U~fl+z>Wm_k>^v+Yi!pHE4D<#$bL)-FkE-a@zG$S5%IQq#n?m@|o
zW|vR54}`jzUrxuk$ywH*q*=8<#(cR>_E+d1UOI=^Q%rjU2TH~AHR?0X=AX88|E(0^
zSTa8apmdot51+qxX8DwKc&rJ04V3n<Lmi4wPhx!>+xqnR6!71aZ0n2v=>D?sGj@ha
zs}$iriYXc7xp3g2R`c^b3qiqOtt_f3j^><-(3camXh{_r4e{U(uzdoKT)w%w;_^Q-
zN|^EhYw_L1k+W5-tf0)o_baP!aXsI<jjd@)G{W_tOj3DoEej`qdm$xYs+tlu34d<b
znGO71xUlL5JM$dQkjLP6J3}weZkH6`L<Rw&McfQ!GS8d|$Ik2);V;N$7voCl<s5tj
ztKnWQ2lpV0)JnURV$ROIiuiAAKD09({CM}t9~NzBX9kb|0zCv&N9m3&9!aI^rcDVY
zXZVnvKel%WUV(TpL%fD}zWtnDrDS%rR|mi}hJpHkV11o?Wvp$AIqQi7ISC1Ne&&<S
IAML;Y0UkU7LI3~&

diff --git a/Test/!Open/Templates,fec b/Test/!Open/Templates,fec
deleted file mode 100644
index f97394d10241347c8be71a3d450b5eaf8e9d63b8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 132
zcmezW|NnmmB%lLiM*uM+5Qn4|m+&fpKuJ7Ei49Qj3lKZ7FfdF3Vi*7#@n496@jp8g
mJ0mkA4@CG6&|Fps(-uS-K+FU&Z9?-(GD~t&Q|x$CL3{ueiWY$Y

diff --git a/Test/!Redraw/!Run,feb b/Test/!Redraw/!Run,feb
deleted file mode 100644
index 144aa95..0000000
--- a/Test/!Redraw/!Run,feb
+++ /dev/null
@@ -1,19 +0,0 @@
-| Copyright 1996 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.
-|
-| > !Run file for !MenuTree
-
-WimpSlot -min 640k -max 640k
-
-Run <Obey$Dir>.!RunImage
diff --git a/Test/!Redraw/!RunImage,ffb b/Test/!Redraw/!RunImage,ffb
deleted file mode 100644
index 999f13cd88c43fd7cabd70a0eb1e4af2faff89a5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1682
zcmZ8hO^6&t6z+!Ipt2PbSW!^I+hRM}WqWsi5`$SY!Etssw!6-(GaZ+BP-?qtW{UK5
z_f*$7JK#YCJ>{SmK@TG0$%7{kIe9Rb96WjOq)S9l5DY<D4}$2c`RSRp5B*d1-uJ%m
zd#{=p#!3p6C>}`BYAYyQxpEoGUL-?Y?8H6AWdeK3Cx$Vf;%z&HJ>l^%;Xd?2pG#0}
z4&|76_!#fl@G54BD1_oh9#(V!9dFUq=MZEkg+bJV4jVuiDd;5}QA7ew5pdu~9*-4>
z5IiIh2o`!A`a-pbmBu(5h_ar-%`r-Js2C<NOo;~&HD^PCsR{W@Dd?-MRJ@tX_51w|
zHYC0g$yP2H$x3p2PG!5=*j`8SlSC(l8)3kc1SIeFghcU&17I=I^VlJh4p<)|39KbK
z?x{%A?@OUX*s>vsnySwvN3`oH_##nK9HO(c4vuvJx-c7n9<mT<xdBdt!VBew)36by
zn!<tOzF52A!a=!SFIQb>y8*R2RBF{N$8~B|{MvzX^(O2()h!!1`iH&ZN3ql@kgCw$
za$g&X>Ka_PAnPDBF+zVQG517McqlMz^;nBTD|(a55OqP!Wk)2s&k2&$6SAB_AUZ-Z
zHC&v|$4uAs6g_q}g=?@>?}bhWF^RGGYznztZYZz<v5Z=hb+nB*Ro*Ss`ttq-?Y%G2
zXXJ#|VK_0)%@Jee@ncXHJhQp1tP*w0ja^ENV(#8YKo3yl8%~IAV1Y<DwTt<@y`(Ig
zmLU;AFaX7pTNr*7adw_KhOPzY3m604;^>VS`?&SmnFsJL{K2J+<mP>1__!7pvkJAC
zhb~7ynZg=2y;?iugXJwDuWd}06D)GHqEWJ}N)RP{vQIas=<l36hQyOhd2I^{`Qjzp
zXNrwpiE;at3}G)~eg<IMlblib=)N}0x2ek$Md1$Eb`vMmvhiw0*dL1+A3l`<o}@&K
zPyeU;i`=g`89J?$hubKoppi$yfrm<t&hsz?1%EZQs3JL<b09)L>Z3&ys>rB=2e*ym
z6L946H5z+wv1={mODER9o7#4rs}W2C$4uMZ#k?ODFy~^iv|b>_FHdKBbYrrbI_@Fj
z|9yJeOk&Q>5%csZ_>-7Vo*(`kvgG|J2&kP$d}PTyJ<=92=^6NE@>R+c)5iSEi?GzS
zPB1o~$Mu&U1=lKlKuq^6{0xp&Dj*V$7cpPIplfBN>chdFVTy4Q!`dgqP<owv3QuA%
z5<U)-r{H&DzO^u{w(cU!_g1kvpFtkmBRYH&=-S;C*UDk-)isKT-HSp$0ZPpGk><zq
z_lfyAzI?gx<9Nu4dFPSepovJ|?9Q-^BdNCaA)q!r!i%o`wTyU7;js_#C%<<06Z@h~
nhd++#@j{lihWeJ`^jL2fadI-u;lyo4{gC3hGQXeyiTwK?T+tZv

diff --git a/Test/!Redraw/Templates,fec b/Test/!Redraw/Templates,fec
deleted file mode 100644
index f97394d10241347c8be71a3d450b5eaf8e9d63b8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 132
zcmezW|NnmmB%lLiM*uM+5Qn4|m+&fpKuJ7Ei49Qj3lKZ7FfdF3Vi*7#@n496@jp8g
mJ0mkA4@CG6&|Fps(-uS-K+FU&Z9?-(GD~t&Q|x$CL3{ueiWY$Y

diff --git a/Test/!Redraw2/!Run,feb b/Test/!Redraw2/!Run,feb
deleted file mode 100644
index a312feb..0000000
--- a/Test/!Redraw2/!Run,feb
+++ /dev/null
@@ -1,20 +0,0 @@
-| Copyright 1996 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.
-|
-| > !Run file for !MenuTree
-
-*IconSprites <Obey$Dir>.sprites
-WimpSlot -min 640k -max 640k
-
-Run <Obey$Dir>.!RunImage
diff --git a/Test/!Redraw2/!RunImage,ffb b/Test/!Redraw2/!RunImage,ffb
deleted file mode 100644
index 999f13cd88c43fd7cabd70a0eb1e4af2faff89a5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1682
zcmZ8hO^6&t6z+!Ipt2PbSW!^I+hRM}WqWsi5`$SY!Etssw!6-(GaZ+BP-?qtW{UK5
z_f*$7JK#YCJ>{SmK@TG0$%7{kIe9Rb96WjOq)S9l5DY<D4}$2c`RSRp5B*d1-uJ%m
zd#{=p#!3p6C>}`BYAYyQxpEoGUL-?Y?8H6AWdeK3Cx$Vf;%z&HJ>l^%;Xd?2pG#0}
z4&|76_!#fl@G54BD1_oh9#(V!9dFUq=MZEkg+bJV4jVuiDd;5}QA7ew5pdu~9*-4>
z5IiIh2o`!A`a-pbmBu(5h_ar-%`r-Js2C<NOo;~&HD^PCsR{W@Dd?-MRJ@tX_51w|
zHYC0g$yP2H$x3p2PG!5=*j`8SlSC(l8)3kc1SIeFghcU&17I=I^VlJh4p<)|39KbK
z?x{%A?@OUX*s>vsnySwvN3`oH_##nK9HO(c4vuvJx-c7n9<mT<xdBdt!VBew)36by
zn!<tOzF52A!a=!SFIQb>y8*R2RBF{N$8~B|{MvzX^(O2()h!!1`iH&ZN3ql@kgCw$
za$g&X>Ka_PAnPDBF+zVQG517McqlMz^;nBTD|(a55OqP!Wk)2s&k2&$6SAB_AUZ-Z
zHC&v|$4uAs6g_q}g=?@>?}bhWF^RGGYznztZYZz<v5Z=hb+nB*Ro*Ss`ttq-?Y%G2
zXXJ#|VK_0)%@Jee@ncXHJhQp1tP*w0ja^ENV(#8YKo3yl8%~IAV1Y<DwTt<@y`(Ig
zmLU;AFaX7pTNr*7adw_KhOPzY3m604;^>VS`?&SmnFsJL{K2J+<mP>1__!7pvkJAC
zhb~7ynZg=2y;?iugXJwDuWd}06D)GHqEWJ}N)RP{vQIas=<l36hQyOhd2I^{`Qjzp
zXNrwpiE;at3}G)~eg<IMlblib=)N}0x2ek$Md1$Eb`vMmvhiw0*dL1+A3l`<o}@&K
zPyeU;i`=g`89J?$hubKoppi$yfrm<t&hsz?1%EZQs3JL<b09)L>Z3&ys>rB=2e*ym
z6L946H5z+wv1={mODER9o7#4rs}W2C$4uMZ#k?ODFy~^iv|b>_FHdKBbYrrbI_@Fj
z|9yJeOk&Q>5%csZ_>-7Vo*(`kvgG|J2&kP$d}PTyJ<=92=^6NE@>R+c)5iSEi?GzS
zPB1o~$Mu&U1=lKlKuq^6{0xp&Dj*V$7cpPIplfBN>chdFVTy4Q!`dgqP<owv3QuA%
z5<U)-r{H&DzO^u{w(cU!_g1kvpFtkmBRYH&=-S;C*UDk-)isKT-HSp$0ZPpGk><zq
z_lfyAzI?gx<9Nu4dFPSepovJ|?9Q-^BdNCaA)q!r!i%o`wTyU7;js_#C%<<06Z@h~
nhd++#@j{lihWeJ`^jL2fadI-u;lyo4{gC3hGQXeyiTwK?T+tZv

diff --git a/Test/!Redraw2/Sprites,ff9 b/Test/!Redraw2/Sprites,ff9
deleted file mode 100644
index 558f3ee23159c03c1e83afd7ade711c0c266dde2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2584
zcmds%Jx;?w5QQHdU?k{4;t(!rxq^?7f(9W#a!YAZ(Ym8{DCoD~0$jmYu;?k4H?tcE
zR%UlW3I!v*SlWDk^S8+kfFtT;A2^^c7wyf}^~LRiXM5BcC2>kUMIFn5_g*!QBSg+Q
zRp0jzwQZ|vng*h}u2u4`#(57=(*zY>c}k6Zh^EP@nhp?o7X;^_Qj`Dk!C`7}CaK`i
z6@1`?WjjW^tvF&S()$;GNDr|KvDwgj_g;X>g19AFe+auo=PEo7L*zDR<>@nTRW&fQ
zMB7d{r<^on+Ns|%ayF%TE0))FyD5s_u?@jGUeIJzz;Iu{iHTs@#K2u4r&xhsAs5o-
z{eoRFmz*BIjA?Uo{wbH+Z&*gbI=0hpw!G49L@qbw;!73$vUcGzXS<+J>HK0NxqG$3
zGMoFt(!bzXojwxXtYZno^{jlwoZ@#olbhL@qbcQPX)V9G-CuF@@~pXRo3rl0Jg>Fh
TUvgGj%>1mhpZ}17x9mOuFBgF)

diff --git a/Test/!Redraw2/Templates,fec b/Test/!Redraw2/Templates,fec
deleted file mode 100644
index f218c58d5be606a747d08e6c29645cda2c127eb5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 206
zcmezW|NnmmB%lLiF9KplAPz|_F5yLzGXb(E0I>x#1A_q&!@$&-iHt%FjQ#9P?2ODz
zJP_eOKyz6kOk1czkeMK06Pj0&S(1~QV#k}x1mwE`B^Ler|6d5mxdfzb6Bv$rq~_%0
tD}?74<)rW~0jik?6kh~XcMeF;N@QT40Tct7mjc9jspZ85MVTe3yZ|a3Em8mg

diff --git a/Test/!Test/!Boot,feb b/Test/!Test/!Boot,feb
deleted file mode 100644
index 2ab441e..0000000
--- a/Test/!Test/!Boot,feb
+++ /dev/null
@@ -1,18 +0,0 @@
-| Copyright 1996 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.
-|
-| boot file for wexample application
-
-Iconsprites <Obey$Dir>.!Sprites
-
diff --git a/Test/!Test/!RUNIMAGE,ff8 b/Test/!Test/!RUNIMAGE,ff8
deleted file mode 100644
index e6903d07a4bd4f143f9ac605e78a63274059088d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 37860
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
S;~Y57f#V!F&Vm0o9QZ%Rno*_z

diff --git a/Test/!Test/!Run,feb b/Test/!Test/!Run,feb
deleted file mode 100644
index aa3be08..0000000
--- a/Test/!Test/!Run,feb
+++ /dev/null
@@ -1,21 +0,0 @@
-| Copyright 1996 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.
-|
-RMEnsure SharedCLibrary 3.50 RMLoad System:Modules.Clib
-RMEnsure SharedCLibrary 3.50 Error You need Clib 3.50 or later
-
-*WimpSlot -min 64k -max 64k
-*IconSprites <Obey$Dir>.!Sprites
-*Set Test$Dir <Obey$Dir>
-*Run <Test$Dir>.!RunImage %*0
diff --git a/Test/!Test/!Sprites,ff9 b/Test/!Test/!Sprites,ff9
deleted file mode 100644
index c0c2582d6642f644b517eb8bedb0a9b6bdf244c5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 924
zcmbu7K@NgI3`HxN;KBs2;NEMwG$Dax79_-@cncPI4DY~>cmsVc3?m4M#-9vy{`|I6
z_>qY0S=Y75JrX(Orz~f$*s%0W5wni0%SvR&J9P%4fV5T=fgoDoG}#w1JvtYQ(k&=G
zSH)@5mSaveu54S!iPzEggF}a6tfQ-QlX{Fc*MoG19QDxIW;wkw^MK*ISYXuGkH^yx
z^lX3Tx&)CfH?d+f+)#JuA+o?FNPImDCpzmf$Mpr@a;eh^|KOO&ZV^6{MGM@G!|WVf
zjeTX?r|QMk)9QEiG=IFR3#^0}4FygsiR!w+G|m-j2ivQO47TsW{%Ipp+W)&SvLAiv
I%@sy?0gfD<KmY&$

diff --git a/Test/!Test/Templates,fec b/Test/!Test/Templates,fec
deleted file mode 100644
index 630178bb2f016eb64e95fdfc08112e37c45d7b61..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 282
zcmezW|NnmmB%lLizXM`MATH0$<3*BUZ~+S5U}j**U}9j<VMWLsHST2;VqpHy&cx2h
z%*X?li1_pW{}mR98e6DRkeMLhm#+|9Qk0pO&dZw$QlbLHYk=;!0;KN%Y1@ws>^Fey
zn?Ni8#31<`sQetL{C%Jpkog}buLG5jfyzGs%0C2RnEac65c6fA^3Q>CFQD?g-a(Fj
LA-udW8o~ttIL1dB

diff --git a/Test/!Test/Templates1,fec b/Test/!Test/Templates1,fec
deleted file mode 100644
index 886731ada329e5df914e85b877beea45a7ca21d5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 288
zcmezW|NnmmB%lLie*t1fATH0$<3*BUZ~+S5U}j**U}9j<VMWN4?(bt1VqpHy&cx2h
z%*X?li1_pW{}mR98e6DRkeMLh9pva2!kd$tV#k{bQlbLHYk=;!0;KN%Y1@ws>^Fey
zn?Ni8#31<`sQetL{C%L<10aUU>p<mWpz_ava?g?E-~5A^F9Vf-3zT~YmFI;x2rC5u
Dx#C5I

diff --git a/Test/!Test/sprites,ff9 b/Test/!Test/sprites,ff9
deleted file mode 100644
index 6e800a81adc79ac343518d80954febda8c5bb8cc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 736
zcmbu5K?=e!5Ji7Q=tihlaPOsDbf=Kr6olZdTzCzSAh-+OKz}ApVrmMC18Jr&fBt0B
z09bR~7QmHjBmJ;Dn0-&S9M8C+<=S$c8eqlUhz7G9=Hla+0kawAi=&C^sgo8SJBE$y
z+?u<yCG#4w&IwPVj%_~}bySo(b`_cUakN?wmUGCWho7y={FONmBfX0zioX6lo*G%t
v-=A41077l2W)+rvQx9N<b(BOuO(#0-QDdXwTP=Np@DIj`^cMM<G@D^Bh{H_5

diff --git a/Test/!Valid/!Boot,feb b/Test/!Valid/!Boot,feb
deleted file mode 100644
index 77bb528..0000000
--- a/Test/!Valid/!Boot,feb
+++ /dev/null
@@ -1,15 +0,0 @@
-| Copyright 1996 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.
-|
-Set Valid$Dir <Obey$Dir>
\ No newline at end of file
diff --git a/Test/!Valid/!Run,feb b/Test/!Valid/!Run,feb
deleted file mode 100644
index 2f4534f..0000000
--- a/Test/!Valid/!Run,feb
+++ /dev/null
@@ -1,17 +0,0 @@
-| Copyright 1996 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.
-|
-Set Valid$Dir <Obey$Dir>
-Wimpslot -min 64K -max 64K
-Run <Obey$Dir>.!RunImage
diff --git a/Test/!Valid/!RunImage,ffb b/Test/!Valid/!RunImage,ffb
deleted file mode 100644
index 60e288dc632fd8f222dc750dd404814af79b0d01..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1738
zcmah}O>E;t6m}$5NJ!Haf`tX7)r-|YLfte@(vYUjiZo4I(`>Se-B!B?&?KHDBOKe<
z4rwHW5JH@KM&ibqGlxBK-U}DbsNw`yRx%f)6})j0H|?%iALhsNz3=<pd!r$eln$Zp
zxKoc0h5@KsTP3LV9M8s|BX=Ay&xdAU5=pud;?M}8$$QN9nF(XtWF7=V1~r%VaGIYe
zaDq|Xu_2$$L0SOh`H`I2Mw0yyrp_2fbPBc;z}RQV!hPs-ivc_9F*g8iLk|sDoZ3AG
z6CMmBr8!R)S=K{%FlTYP0mT4{A?_5M{xTG3urOZ?L43m?a4Q=dlgT7YBjZ`e8*Es!
zwET^xR&TWQ#yXl`1Zp81+ZOYE@YrW#?qTxXDNq;f^=KDOTXX`B2Xx>uJPRCQf8z0g
z+XDrBryoqH$B^wH1e5!L$GceB<qFR80<6L^0BcBXkZU?<x(vHDUDFk$X@zjA8Hep-
z15Rt5POW8V4ISDYsJB~tnxVB@xZ8(X>j4~Ttvv-8)(?Bd&RkDqfmXSwEi*+SF*}`!
z7Q`KdJ|e{4cUh13c@Gn`2V**5FmOI+o{f2d%e)cyMW1~%DQ?JW2o@jlfCkae%lom^
zHF1kxxf$L~cE+|gLPjFJe(M5^6cj6~Mye_sHT_5?(j9UE_jXgD=CBKC-0U_}kl!p3
zDSz_<y4I%{klVuT&Z`%2%Iy{%F+>-Lw0~=Lv9HP})Z!-6-G4iYY}L&Qj>%%R5Y6Q(
zaz9iae-H90*5eb+#*Sft&t#>L%PC1CrOX)=j3bg+h_P*#*#^TR(g4wlyb~#{?s4yK
zcJbdwVY?QGG#zR#jxa>z5DjaaYJRp*bNPa@t||-v3i><C#RPSap&A~V&SXvik3{mg
zKg1ST3_X7R#`W}7v~hkAvpmPf8VVO@7V^1bdA1Vey>8~aQcUw4GZD=-M=DzS;hoDU
z%kf!U1S0+TW>VCldM$~c<T&Dh1+zmP@0BREz!T}`6)`9C<?6ahq{nw+ylBjo5)tXw
z+s}#!U%$Oj<&P^WfBmn@KR5m+iI?63h^^drEK63@wY0jkqi$ssafKg2Cq)t~X@Ea*
zRn5csCH{(a1e3(=wK=Y^jH`<x#yKLe@;gb$D|2WW&PhUfEqdwz-al;X#>w6>Nt94C
z`ksJ%#HRRGnydoyHpVBh`(MsxlK3zVHI8>1QRqi61N=e~##=%njkeVfGVsl8RnCya
z$8kukHdN<o@C3HyG~B~?N4y`jCmsi=qHv_BmbPWc$Ry##9I@;dGudz7eG2JkR5S1u
Oq=jd-RLy0`zyASYlMXci

diff --git a/Test/!Valid/Templates,fec b/Test/!Valid/Templates,fec
deleted file mode 100644
index cf47b6e7f82e5109310121662a0166818244b859..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1052
zcma)&ze_?<6vwaqz@e^#2qi?kDMA{2uU{4z1P(zKBH~!RN=T@LP>B$7h*}yO+WG@(
zkZ@>fDw^AD%E3Vzf}9%4*Z26&<KD3^9M0kUx#!$-uj4q5(3C*^iSQw^_I`d>mNs{e
za<&EIqfhfq**VA^mZ&uXHrX#kc|eG7WKS6F1ch<o@ALcmeZ#K(gZl>EGEOP#&ZKg!
zaF{O^j^yr=%wd$6!rUv&n83^@<oK8HH{ib^Eaoxhd(7YAqjZRGAgDipIn*EC5-+QX
zOnO=F=Wxd<y_Nb6aOw}+;-v`>r4vAw?qRuJFv|25b}?UAlpUN-A-ebtgVtnGS5Wx=
z{o3B|8fNdc5;H=G2h8Xow~=S@+Hc%5fP3igh@Ua9GamvQ(Rhk^mH9YWMB`)3lgv%9
zxW?OE_x@4l39yvL>&#oov|ko%TjN#cHRgL@MU5w!SD2rGoojrQ`3mz(uxpLCe%<{-
z%x}PMHC|)hM5g`j!5%eUVSdN_8SGW#E6k6XH^5rVO(nUSPAq5ErKRLq(@LH-qvTn$
oO0a0uoDw_pO6<gx*jZ45)7vSk<XLKQ)3em#mS?HOr(H|_0gr4PRsaA1

diff --git a/Test/!WimpBUG/!Run,feb b/Test/!WimpBUG/!Run,feb
deleted file mode 100644
index 87a46f4..0000000
--- a/Test/!WimpBUG/!Run,feb
+++ /dev/null
@@ -1,17 +0,0 @@
-| Copyright 1996 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.
-|
-Set WimpBUG$Dir <Obey$Dir>
-WimpSlot -min 32k -max 32k
-Run <WimpBUG$Dir>.!Runimage
diff --git a/Test/!WimpBUG/!Runimage,ffb b/Test/!WimpBUG/!Runimage,ffb
deleted file mode 100644
index fd84a1ba965a1573fdfbc3e618250d94d55bd12e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1790
zcmZuxO>7%Q6y8ONK&X?7AE`)1^mQ9YPQ7vLGzlam6;9#=LvW(lAu0#Zcs;g9S??^f
z<2sQzA;GCaoRHu^5pd$bi9<QS0WO91#DNo_asi10LTKTD#Lt`YdSei4X}vq|z3+YR
zd+#l=tZWSHB0QG7-BD0nT3UpXCuD$!-LR*aj9^<eiDiw)cq_-S%{>-GtO>oK$t0)_
zgHlL6{7Wn@Jd06W1TdE`Kvp|AiOHFM96>f?I2JwV(qjmOf?mWBg-6ihJ_B~-u}}dI
zz(WE)r-8?y&sE1{N^tUsG84m<1VuCy#Q=&S;W3ETs4Gx4BtIX6zB)>U%d@lnem_qQ
z@w|}jS$|MgG`n3{FIQ{j86-apti-S%_$-P*vKM<?V)2b*pdr%pXah<6v=2f8ZA*qW
zB{coM<cbGv7b4M8eJUBEZN<>!k&?WD%8n|S)CH)*r~_(918_<;sMH)-E7dAB7h$R~
z98~I0?(Em$ptQGFs@5yz8tm-B`c8GDQm^b(@of`I)hqCHrMlq)L;bK<>?oAF3Z%-l
zwyddz#Oi8Hw;=5xw9rGpM<Mfgi+fmL(C*PTgSNQJWPo)+$YhsCy3Y}k)DtopgU`EM
zQDqKK=3}I5dW!Cyh~e@9GFaQ+BG!Xr#Cjwb!^Mk8L-j(`4uzvWj|>hlDUnSFQ}|30
zD~s-P5C06W;O||y?*2ZRb0F*FK7TvsOgqF{LHp)e16LUWF_i0>UCcnNT{J&;;X4S0
z?`L4DSSYytM)JUe=HQ7~&Em~B!O<LFI6-mTIdq?zUt72|UtE}XjUBKEOdBBX(VR)U
zEoc)bHfV}ID26&y#k4};Nv0nYlV<ZWMqOJ-Q|*K-s3#GQ>pCk&q+WY+gUieLp(Vm}
zZ#*z*Dp+*}Xn6F_Qi`J)480Kt3v_jD=9V)x&lFt~@8XPqFr5aj8-@pl`ydc*Bz!Z(
z`snP5qc0+srXbd*Sjf#YrhHw*XpLW?>6`n{59kiqBGwNVQmiee1{rHOISkVpS7QBg
zE_KnEDXYZ%#~884PPcGcq7G|jR^KD`1RgzfZe*1HH9NZhwu3J2gdU$?jgi=kc=E(x
zV9Ei0@62d`FGOepp2Dw2buABNGlo+1aH$!zsP9L(BKY3!K!bXRIJUU=I*i!$@!yF3
zd=((6x&X@%!%BL=9_!*BVLa};ukkRnOAi@@QnV%QLSM+kkpN<MG61O@yEwd#o3s!+
z#ICYHWr!{BL#Nl0SNM|HFJaUdFt?mW{*RFMt5e$P(uvc$Ztj2NwqMU`ui~R_@v-F}
z2kUdbxVTz?YxvzB_TXb;zjZgjEn>fa`p=VdVt<Gt-#C-fFc~&PKX8cs+4vn|-$wh_
zr@l>_a_3Yc-F0IBl$p$$p6BMLSIxRpHBilL{U_PNG_hkh1>a+#kjnJSNv6Cwx~ukI
N<KL6J?inM0{{ubhJ?H=c

diff --git a/Test/!WimpBUG/Templates,fec b/Test/!WimpBUG/Templates,fec
deleted file mode 100644
index 6a06201b248c83f9e729e32e9c1b6d07f930465f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 261
zcmezW|NnmmB%lLi-vnYtATH0$OUW<ih0CS@1tWmCh?#+bg9$Fo5L(~ND8#_n!p_9b
z$jrzCmWcTC|Nj*hh#FgvVL$+-7%G5lptb+`p<)t1Is(Z50aWk<NCVX$ZwHE91!6xS
z4$sUja0+!-fVw9nU!gcPRUtJkEj77BAwNwasWe?7GY=@8TcD$mUyz!okeFAgkeixU
os-uvRS)$-(Xap2VQ7Fj(N&yLlAlH!4AU}od)Ji>G9}@#!0J5<@c>n+a

diff --git a/Test/Arrows,aff b/Test/Arrows,aff
deleted file mode 100644
index f3214823dc1b60e26d2801a76f7630159ecbdaea..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 208
zcmZ=MN-RIg00AyQwgMFVC}d<{*uu<EVaLkAP{smQAOa*=!aaQhf-7^A@^cutf&2)F
zR#XzGg%PNof#HKah-3m0XaFP)!Z0}yy8(zhgdyTKKsGivF#P}jALN>SR~Z<-oMm9B
T$Oh`%$;{Bu($U$~&A<Qv>(3o@

diff --git a/Test/FontTest,fec b/Test/FontTest,fec
deleted file mode 100644
index 4195431b309d5b815c1cd6760f105fa21e3155f0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 582
zcmZ`$F-yZh7`;>_2wo8#+$5uegeo1h&_b0KMYImZ+0<NZAeW1m1VrfOQd~MX6mf8H
zadZ%&QwIkT2Y*F>gM%2~nR8I^gU5IG-uK>jA!CF5s%6}U;1s<bv;`$(JPW9y7mx#>
zI7vvHQ%qJVYK|D^X3jKb@>=*vQ!<t5T?282EK@P3$WWenoTq_XSc<qeCkS!T%LVe-
z*rBl(`^>G-&nwKlf^TCEv1!>MW>04<K~wrb>(7}!?EleK?iu`-=v{~8ZlK=-KmLOD
zA7*~@LHiexT>;*}t3B`N>x3-qIh>Vf_P#v$Ypp+NeLs<*h%kcptBj7;`&zFiaYx7!
zRo|!lYg$+PRsI2!ktc$0f6r=myvPcrIF=6QjMjzZHJ3IS4}B+QR?YQdA?ck}JrXjo
zHiZn6$hx3)r$txn)gm2XgTj{JOvWOxH-zunjh647Bn-d!Z;e1GWJ&febG?Mq|L4B|
D`7*H#

diff --git a/Test/GrabMem,ffb b/Test/GrabMem,ffb
deleted file mode 100644
index 517c74a466a30dbbaa6bfc572daf7aa713207792..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1281
zcmZ`&O>7%Q6y8V)Ak+a`1&I^-y0W9BS^ow~YY5WfIIY#-RI%HrT+nzuc1Bt6EVHxN
z=7f;AMO=`OxF94X4xBmk#Dz-$ap4RVT<8rIv~WN|@WycxU)aN}=FOY$ec$)qFvnTV
zP*?Fp%fW#`<@)uj@B^hI3J&Ac2%TWZ^qAu;WwbOh?8rbwiRdAXdP2h-2>3A%=r=p@
zaF=dL6`@)zW7Q_Ovm<xyWdhmGFi|One1b?Bq=_IDnV>I20Wl6lY#<{9L?Dzr3Is;d
z984?CaEgRd$Z&6lqPm9D1x{Du2~>YR72KSXe<6eY4vdLwrP63LD)K4uqSAv>cp@t)
z?KJC+R=ZIk@~0P@8SX@(ND^rARw^}#?@qvDq8IQkkq-F?N`nuypfjT^{gIYNMgtFt
z>YEYQg3xYc=*h%r*(GP^9h~U`xiFtV9`XpT-$t|T;x)hBY<mRL%CO(;+}yp>!M?w@
z=eIh|MjN|(sPDG6nw{oui+0=aTla9Q+1m0T$Uo|p7{}VGAga=OD|*&QQr8x?1!o;Z
zpEB$|iA5m$G9ZD`AmsyrfqGl$h;$(qdMFdy=Y&Yw3CU#$<xm=Kror?1nCqIIq9>O#
zyo!!UO!0>1-PgsCIm^`yrBZ3Cv5r`)f#yT&Bn?(@h<)PwW;;}-E#DC~kvY#VGH3PK
z2QYcOSj(CGrrYt`w_N5_OUEC>o!)3h)B_&MM7UnHy5U_mdC&Ec$S|D1@Z^xvUm=|B
zix1EZRdATcN~KJFzfHk6hQHx`oMG*WSZUMHT4~pF$Mm`Df92L)8ZeR_(U7ly{fW2X
zom4*M>f%1Ue!lh){rtOC9G&CULzRdvHHzHY&&=sj!RXRZMtN-F!@|n7vZXP;G~{C&
zv8<+%_gExG`Ar*U&e77J%=u{L9P_pcL)R;NGcEVQ1KSHq{q!P^KRDguTjqSR419xf
z4G;18YN4`*Bj$XWpFWV;Vhd4eTWZ}BE7$;YzVhdj&g?l8?AbK0P$A(#s<nv7^GJ+o
z?bGWZfa9mn0lsI>4;z+9<t49jja)imez|gWv;6;N{rDKZW6rOS|AWt%^Jt0e`+Jcs
yEI#uS{^*HrI#}hoHMa27g)28zV(#`*w(#5&zk}!4f_vdgC+&)9%v<_}{revYgOZT|

diff --git a/Test/PlotIcon,ffb b/Test/PlotIcon,ffb
deleted file mode 100644
index 8189a04de7b4a7dd26f60e39c635d821b98f6bd9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 894
zcmYjP%Wl&^6!nIxLbAl78-##Ut467sCUz8+Hee(tO{qncRCP)lHr2!#J0m5wu_vV2
z@)xZ61lH{N2PA%hjaeeNlco?aJaeCO&be3Dv{Hdqk}fh4jV0`(qXW1>lEvhlrZdU2
z9345*HSJzOzjlF+2zZ?H5oYm-XOLqKH)R1Gt4JAdsY)a<Y84A5m0+ww#_kJha#CQC
z%rIpO#EHZ#=hQ{y2*reh-vm6B5HSJ*FcB;cIOal*moKgQRH(~-fx)UvGL(!87?q?8
zB;k50n7jjDFQC4$lxd?{ozLeLwgg^DvZy+_rIlAZUaQ^p+xrCmuFxxR5l?uYBjfL9
zA|vv{1z1Y(0yZSj6E;VZfkhdom`oJ>c_yTYqcZX&lyjDG>h`+8NaQjTLsE8K!4)r%
z3hN1^A&X(SK0Mz*)Ac>SOl`UaF1`L~@1l=O_x#-L_Pw@`-Z@&m?y=YRdR?+k;C2Ui
z<8_bA;G`eTir=J}VnI-a(w2{uki^dCY6Sl#h>$Xrou@nyp$Ldz9L-q75hWjZ785U|
zJe!JK%{eEKYD0DkOvF@3CYR3t`>{4PwMF+IpunrMNg}-<iFIvj1K)M+iH;v|P1qLc
zUV21E(?rc`>@-csIBj=2J!9`Hg=(NsYnj*BX;I8qdvhIz;cfio27c+<$wOS3&X<yH
zA6mPOfw~@9)~>Fdm9g!b&Xw74&F#7~Se}Pu@6p4`XV=KNM|HaPZi@hI+Xv1w>$zoF
zwl&nX(NpECSx$3VS*ts(+smP26T0{@zI}pmN%~&jF*M5icG)#`?Pe1{QP;JPoA`~-
G`k%k_h7RNa

diff --git a/Test/PollWord,ffb b/Test/PollWord,ffb
deleted file mode 100644
index 47dd4253ef44ef25ca0298fd5fd57ffc33a02a74..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1554
zcmZ8gKWrOS9KMqhgiszW5~!Kzms4Eq<{IbhkP?#s#!0AY>O{8Ns0>uk=V#|B=ey(X
zxsD~oz`#@?CM1{`m>8HCy1>E`U}J`=EFdvKbu35-e((GzDIRR!@BO~-ec$){9W#t<
zf=Un$BiTJvaMst?P<DgJr(!ScD-p%mRc&S%vk84|C)ky)@MF<N-*1Zu>QJB@a+iL_
zCpK;oN(Md(%PYw025Wp|<z6O|odm<6j~*Yw4;1>bAQl;;BRv6e?21r9`fy2rC%Nwm
z45T_tZyNI~6U&tZx5q3&OK}2lf`mf^owKdrY9f9$f&LsS6_)b(!C<h=Q{l@&)XjS%
zTXBB3TG_5Owy%)*39y>rrtgV3MkL<p%ZSXkhTtK|b9swIdwhT(0`EqG&Qze~4<f0g
z-?b439W~&QAhtIWv}LR!*`j36COGy5O5tn+WypP4<p!z^3$K?O)rL(pwFC#%=C!?>
zO&pZ#^>VFQ-ELs7j>=wbtJ<vY)#zyl<=SmruhzC~2+EIUC62>LyCA7jXDiw|NOIQ@
zdIZx6qC*|}ISz#@JJKbCez(uN0^Q)Qh<x&eP((c$>p90HQg6s&0#Ej&;wmkk?#G#_
z=`DKde1cc7A9&tD5E1a%R}<v(`P5$pVH9*D-qR`4Qn^Q|5MK-s5&#22pu=71Nj20c
zW;{Q`jO=p{pfY%|w5T$hR<qo=ZZV^fKludK0a?9M^=TN~ld-VuLZN6csElou5lhb-
zLh<;B+Bb-2hdn?mgG<f|4S$~sZ(Y#W>RU6|goBL@6bj5}r{xZh>C#EL$PE8NkGM2q
zT6U;>OhoTr)MEA;cWwmjzDF|FY};PNec1LO!;E{>^6|MxZPDs?vtK)f95X(n(iiiO
zG+P$Mjg3M9b}K{OboSMx?mS-qW^vq~r30s!!xFM7G<S+UA>JS7|EK2aNXAce_Ur6J
zX8b{a{=WD#Ms(U$#%_6mOFwBCIcCnV-@#oy>kKoWo?A%kn+`MQcg8-f3imv{E9ngO
z)A{K)xxPZ7U9y(GeJ>?mvTW3glhTCVTAxm@Arz&iGg|{niC&Sr!4a)z&=cs<M(fQC
zIW42#Wu`s*7c<u!OyT-s%YMwm$ONT7HSpRCn5YKog2(jkxpZj>q;uRwrr&%9Cm&8w
z_@0@~8t@&QB1&iQNVj{mtXz$(E{x(^vdAb=W=D?;tGQfh9Nh{t-_ECOS8eB|(r>hh
z3(nf+3hteHsdzywwt|6gl^!zl@Cp3D%;?-d6GfZE@$T#|%=}=6nID~}`HeP;FOv38
i=Pq9hVs)$CXXfWm{t3Rw%rECIH~TG-*6tJV-~RxWP~xTl

diff --git a/Test/ShowSpr,ffb b/Test/ShowSpr,ffb
deleted file mode 100644
index 6cf9d25c17f301aeaac9015d1c3e78c59ae04b88..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2106
zcma)7O^6$17|u+#wAFsw+Lo$V<=ttfoivl(B*tai-BhRTu8nOIyV<%{#4<^~WCxO&
zac0u&7AYdtgY3bB3VIL^MXCo6>Y)eq;6Zw*A|5=5N<p!p_!CG$gsRUsNwz`oXJ9h(
zz2Eab@ALkA6BdbRT{`5rE1p$f3MjpA-y|6o$FpH<x~+hFJ{=3HED~AQ#m{V)j#(9M
z`@BjmyUINZmN*%%S;3>fqthesvK*T-<0;YvK<RHO@oA9Eb!o+EQPW%@+X<-UbFf%G
z)vN|5zFgsMK$cAv2xwTQUE$QWf~7E0pJyB_$u6DhvpD6zgo6necZHnVFqF(-AU@kA
zaV-UbyMJP$-ENPYq406Xt4}m~Y55b!@`q*%rP(CJ4;=GdI%zk!?~})$Y*`+XFRzg4
zLSDrzLv+JzljD(D_c-<fN62q`R$$q6oqVSjv`vqL?ZGZpEkE$AGAcV<!G2zZDhvZq
zL(?Y3C{ezo&_Sb=FX^BubZIfaaHM#0ffkMVd84q9pDj^wo(>fYhw}^hVgai;G76{Y
zXufb*Cyx4|SA5y^L>7>0iQ4k2C?v8ganXXc4pI#WvG!eFv1(QY3EK6RS?5%D&T!90
zUgUDGY5AhhK17NMiFK)AHLbu5LgUT(80wmsqFc6i=>RQoKNv49Iqj0`vB>rj7P)8h
zkCdLG{qzf^vn-;)lsS6&6;g_&)5o1^tHBjLJ*6v)mR)t)$4wi8JcTZiZnv7MZrOgI
z>J_KTRo!i?y5FkRRIr^;DVJuE8PLtCf^HGXpFU{%yjVkQE8xB$@tmganN1dX7{JF8
z{kT0q(N*-!eUpiFMi($8Ha_n(4Ud}&i&Xy^YWAS!0BVDId9*|4Ktf@xXJA>~(mAI=
z@YwFjY%0zoFAuG=Sie5Bp2GSq_`J8P!ENNF4IHQ9$-!$X9-lz@J_PLY)^Eu4JaZ+c
z2|S!XhxMzi-;yDUf~<v^MZQ;v%xcvO84Wd=j_=LJ6E_K2<X0S=K9ixwDR-gH11*~v
z3%$Vm``tvHn}BJBG-djPI<3SNCXH+&(S-!sAdPPL3Bj3k#|V>@+dCId*U(K(@o~iQ
z4e^vXlk|00nKX(02Uy$j&{WE$nDo%LrX^C|olf;GCM^K-#JcNDT3V0jO!9UTPF|HS
zi{ug)wRgj;kqt<niV?mzh=IL+(7xQBhrm3i5?vdhW+;re+I!^sW+uI$4S^0&U*YQD
zCD#kWq*piIpf{4p_ySbEeOo8w(R*+vU4rqW|1piymE_vU{^u-8U;G>RZ__AUg@hkO
zsk?ajV}!{YwtP*4(!}CS-U{2!F(N-OJv3qM$_)*Myc+;+SBJI<W7!{PjH{eNy?pB|
zA4cS~&?T9TQ?kd-<o$?t_)emRXg7{+3(wFG!z>qWC8~(7GWk*9%A1KUzXa$^uB9@$
z0n?csLZ1Z;X$>{eQsWaDCO^GLSj#b3`xC2;X}yRE%~CPtxS0Gr2wvPSpdB-&mt%TE
z)dlfuuwUFI?AOQ?Bw$*l&K_mX!PiZJ%3KAocK~~T+Zt>pgfaQ!kdeYngfa|+{MkkU
zyTarz`<o(Nv6;Z;cj4wIO#T^!zcGQVsN&Q_WeoVIEV^lgMR#m_mQuP>z&~d#RKcPI
z^IqIp+y`(U8AT(-0WILjN9S?+42V}07JVE%*IBd{iiI(e`#`%tM7g6PT%mVLqi63T
dx<PMhMhs^?ouTst6wTb5VbSyJb4HB)`4<ViO7H*x

diff --git a/Test/TestMsg,ffb b/Test/TestMsg,ffb
deleted file mode 100644
index ebed7da7ec6e6191777e1b1ef4040e85229692ea..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1049
zcmZWn!EVz)6!ZlSNbUuM;DRPr0}i-tQqn@32FYntYBf!&*lkrVXya_sl^ol6H>9~B
zgt);Oi5s86C-4<qIae}A1kX*{2Jpf5?!K8fGjDZGGgE9v@i-Cv6NS>++A3^6N<!Kk
z#6!gsiH7RxnszOvS3N~T_&k)ni(%O13DgOP9W$Rk(-RAagc4DR<;5b*tiYHa8HEaw
zY^NAULk!p$VWcpWoLGcJPXrwN)aS8+2;q}}K(Nr~7zuT9-f7CSNGuB}j;Ab9M==60
zg2ZD)z1dPQbs@f-B707hir1HxMx)UpI~TqfCH<vfVoNSHoXvXEtuK)H3!szYAPl&a
zNcgLvNXUF=3>K3-pLIxdz($A?uztenOhuXeQ6iKG`xa!>QzMpeVtbyVE2K(9hmxI5
zaOw+`!fXL$$U+#l3&%B3vt7rvh^Cq1$nkbs2Of^>cH3@xPTfVTjm=hb%ki96lUCcX
zo5$F7np+k)<wvvPr*V?GAgLnDmUput$(_ry5nN6XJ*vpoGUmSM37-sx{UPgf^rP22
z3CR~?o(zP{<}68Mc0=Y<1Y#f*Q|Fsk_hV*i*)6&;hxD1prP`ByUAuJ~-{Iv^UZ3~!
zRl~F0T|?LI&C%{&Ess)>#$aZvS|g9;l~r9^zKI+iRae&Oohw(VV55j{pJ5!4t(Q(n
z!LvX}Zdi|tMJwm!En|;-lYVJfgweI_I}?ig<zmsVUGePSyW+9C-G5LouH&b!bxpcN
zm)-WGATX@bBeS%zQCcflnaZzdQ;$%`!=0Av9c~@y+UZ@K!ALlhQMeAH(#}^5`smub
z8h*fR=c}bB1-zg9JuOgi#V|4L59Vi)qDqK2)F4+{C3L~S2b}5JN9yAp)avJbK0UxM
dnE&w=@D}C-SuGZH?Mv>;L7NX~sDE4i{RivPK7#-N

diff --git a/Test/TwoTasks,ffb b/Test/TwoTasks,ffb
deleted file mode 100644
index 5dada22523981594707d0ab419df297aaaa03459..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1230
zcmZ`%J&Y4a7+s{h6o`qgfDT3PRyaD)o_|gW1QR1IzB{tw<U?n}i8Rr8J+?=zcQ!M#
z?75{rQASEfMUgs1s?<lKG^rz$3R;ks1__aG7u)9|Y%!~udEcA&-uE%b*~rmW$yCeH
z*rIX$`c?R$(lH%QlGF-quxAI%aaMC$c5>{=P{c+Ikj4X{VaEb~!bAGaZamzlDyd>@
zRqNO&0PgI{y?ld6c5_TsiV2@0Ru-ud#3BubG7=C+p-3!bjF1FGlE<MyChfR<X~t6}
zmdzXwW-O|2ITdg!Nv2T4Whl6vi~lM|@r|ubnzdS%WmR4ZuPQyNMIUXM+FsD!>2!BC
zN&LJp$Z;=@gfY<K$5d)E-=BgfBroKB5*_gjN`sHIpgXGy`I(kh#v>0#4Q<A?Ahz2%
z2GUq9`;_c*f-_&B6qW&$A&=quT?AbhxBPC<^@ygE<1pxbw|}pPL;v8w@AQJ5F7^-5
z-tTM&y<opXyIuI52e=b-wmk^Sk9sAJ5?#0;sj|pc42mGhT~`z>Sac9WLKJ(Gh)@n?
zNCx9k%0~ht^+@QLd?68fB2Cd}Ln4a_xs)T46KT0E4^QV~scXd)on6au6TM9JxOr%p
zbH0_MR;!i%+DNn-X+9}Zq@fBQLZ!A8bNd$8wzwe#g+3{2nDfO7b2cu#fUV%`<|SKc
zxjnyo$7Rk|?c`^;hh+4JAf{IENE+dKTlKoPZY!Sa!^kL_!jcGre@i^O>;?K2eA%c|
z>+i0<WzP5O3zEAkid?Vm5#TrQu<%%6&fwgYu`>42AZ1Q`@r`>RxS_6vY9N|$Z!B;}
z=dReaFG}3wwUZ}v2K>RC<F)6gH}MM3HXAr*&QIl-7R%!CB?ruT%H{x4_{-(_W&!?x
zrN5q^15XwIz9@d<wpy*5_>}yU)8d7Vzc0)Q-<Qf;pw#}kHa}d*S<?Q=^k1GW%l=}{
z>&@qAT=N>=G+$9K)*Dw_bsV1t(T<c6+bWCQ=D*B&xB4eLv+~*dDm(M}3j6RMb$owJ

diff --git a/Test/WimpInit,ffb b/Test/WimpInit,ffb
deleted file mode 100644
index b20f8564d2c2339f3f13c9f7ebe8322194fbc931..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 865
zcmYjP%Wl&^6!ii&NM3+og@g{Km5Su%QQAr^4`JE_tX2-PQ>wB-6MN!}>Wt0I7&jaK
zgFoRD_zM1^lJ{_@Bqd(hp8Gg+&bilhoUIl|WwlTupBeNI4)zhGrIHk!SGD0v<J4rX
z<J@iOHE3}vQZ6;mP|J)fm>EY<v6Mc`jE_&$B}$2%P7hnQz+0xg=PwCl*kV!En6m|B
zX;5oUC_-Z@3J!ji^2$I+q(q<)Or{)-FteMRmN*?k*=}*ML@6hRQ3IovYJqaPUJ7Pb
z<ab-xXJ$-w*zGn=(_uHnJEh9I#XniPdm0`MqGYg5<X4Shi!)hpt)ckWS|}1fS%6hU
zFJ%)VU9bkF0?QSroGC5+MhPQi?n9ST(=f#e?R|?(Xrsi0oLzTtsSD)7dI5RJB)lL&
zn0R;>Bw^wcOw{5$9Df*{jd32taS)BeL4r|?qfvAmj>Azzry+vq0w-Z~?1PhkG%J2p
zDXW603hOP;tdXQH;dTVK6U3A%>{(Yl6;qLtK$+Jp=g7-%TuIV}imSQMcFvke+6~!g
zQHZ%P%-jV3@5kEI>=xa7)Zz`sT$|20@d%}$5k0))I#0acm=u?r*xB3nVK%XgLu}CZ
zwKoou6VG+FsA}giQLy(?yobXXU0!he?>et2J$(D?2RsY>#Ucw<2+ckJMZfPqHJiRS
ztkcVFS}4!&;U`v5{u0J@J`%>~XSWzJXIZk)p`4bUzegQ$&yV}AlTn#`aE)68*yz>$
MYkXfZihJ&#zYoq6tpET3

diff --git "a/Test/[\210\211\243\212\213]" "b/Test/[\210\211\243\212\213]"
deleted file mode 100644
index e69de29..0000000
diff --git a/Test/swap,ffb b/Test/swap,ffb
deleted file mode 100644
index 69e3ca171a6cd7ee59e0bb79e65de9b1a8938199..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 808
zcmYjP!EVz)5cLHPh}<}ELa$a+70GoPlT>XXl}ws~Mde6!O4SqEI2&grXV>g*aPukr
z37^1MAU?u(m@O%d59{5XnYZt~nU?46HyEmFtwpi0=$@P$A<mVSbh)fnmTQAcJ8OB~
zlZKX2gG-TfY4{8)IpZ33!4X$1r{5+L;4@VTB@u;(*mnv3Cgi_<OCT2w)@p?%TSF>~
zmEnXU4CbQb;CDH%EQCZ(1WLhV&QS}yxPNJb6B5cngWC;?np#E$j7q9C)O<S?%s!Cs
zHE`d;+Um5^sp~pq_ryb`i%$7Zmg!t3!%>=z4v73iVbb7QmfRR<{&giZiJz{)Dx#OO
zDUmK&4W+>f%_(M;qhD)bg)9OXHMcd>oX|crm<eOGn3A*G4sLXTT-Z(^51E7?XGk(1
z@8c}V0)j~!+$58a<Le1-;;XATog||S<0}lu>3K3q#wndH5U02Jl%(eYIQd7t;&+vH
zDu}9Z-tw6<lGJ6~wcvjTF{cc7HWkmsT;wEB7Asb86zUt-l60ZsdMS+SvmughLUtRJ
zVks=M_m_|JvDGy<MbBQM!P#zD6N%7rV?$H3s^z_Sj$eq|h{*U?d)SHFgQ$OW8n<_P
zgMK%1o8v(@I(D0GG@z{gGyMDx|Av6RB$E7Qr7+wNqT?vo>rMM_dfk36@F(;JGJ3-g
j2>u83VW7J$FKRzl4@+hExvHg4p~u>m_wFfvxBmPEKh6Mg

diff --git a/Test/test1,feb b/Test/test1,feb
deleted file mode 100644
index 11a9ed6..0000000
--- a/Test/test1,feb
+++ /dev/null
@@ -1,15 +0,0 @@
-| Copyright 1996 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.
-|
-announce ‰‰‰this is a very long message to appear in an error box, but of course the system ought to be able to cope with something even longer than thisˆˆˆ
diff --git a/Test/test2,feb b/Test/test2,feb
deleted file mode 100644
index eb7aeab..0000000
--- a/Test/test2,feb
+++ /dev/null
@@ -1,15 +0,0 @@
-| Copyright 1996 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.
-|
-announce ‰‰‰thisisaverylongmessagetoappearinanerrorbox,butofcoursethesystemoughttobeabletocopewithsomethingevenlongerthanthisˆˆˆ
diff --git a/Test/trans,feb b/Test/trans,feb
deleted file mode 100644
index 783ff65..0000000
--- a/Test/trans,feb
+++ /dev/null
@@ -1,16 +0,0 @@
-| Copyright 1996 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.
-|
-wimptask taskwindow basic <obey$dir>.trans1
-wimptask taskwindow basic <obey$dir>.trans2
diff --git a/Test/trans1,ffb b/Test/trans1,ffb
deleted file mode 100644
index 5771935c98fa418018842cc147443e3518715918..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 865
zcmaJ<&2G~`81w}RAsK|k8BHyMQpwFvDN$SKAx%@TC=QBUs&YXad+n^6?3&#TZXSg<
z;SqQWE}S_a`3|2$N^`=8wRZQL*_ru1*KwK^2C7(UkxwnU2M0a$6Qv~`&WnZR+ThHl
zuH)RPXc<;G6A71wr&!38YuG7AzhDXd);B)h6G|wF-Bt(9y1-jsdD}0D<g~(4Eih+G
zNM*4woLGcGCT1M`I^l(dkVr_tOfZ>nl)_F|FRgi6#IjT2a?PS9mJxsvq*y{_o26j(
zM*Lod`kPu?9JbqKS+>|pcuVQLJ^O3Rw9kUUFpP#fB>n~%R5+J2ZVWX4v=ExiPnKW>
z$xGOTM9)|WrNMH|>CUQJeyN2OGWTIrW=p0yvAwF03S+gHP_ml|u6==0*esw7nS|Gm
z5JVo1`%w`2L=#rH2;$eH^B5QX@wgwx!7##TjKL^83F2TB((V-f@Dgu=@WcnF{HRy_
zy3n-?k}B$Kd0Gca?jl~d;9m!kQANEs1y4jK5;7?B1<N^d^_go)zEE&I7pCsBA(8cj
zJgG1fb77fX9p28zM%U^oy0-<(%vIy)X>Tv-bbAN;hhS-{>0m$W?YqvS``=-81KrN<
zp6fi``t}9hDEc_&EPbnJWRw(1Eau$9S1{LUKKz0B2wmEBJ00rUE^5RDd0b(lr3qxF
zJpVaW*oN!8e0Ez9YbH&`_3=z4SDtShKE3R(^!Y1MK5@Fv>0SIp>^krMD`w(4A0GTd
MbF#y>+coa@ANsBr5dZ)H

diff --git a/Test/trans2,ffb b/Test/trans2,ffb
deleted file mode 100644
index 1d6b34baa816ab3e8cf3343e1320641877d31784..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 717
zcmYjP%Z}496wLxQh|G#LI*O=Nq)cBLkY<2I=(G?~rKssp%?i1RlUhpcV7p|png8HV
z_yoR!e?SUL1UIDv^&*z<<K&!kuj@G724hv$TI3sx;raP<1c}m;g4=Ruxi*;D)ODQu
z4SgmJW+LIz@Dw|lat*uT2uhaFb;$VmKwUyfjCuof+XC;9@}9mRkZFTj?XYDvq_Wr<
zPAI}469osqNqA`?BoZP}2qqJbO4!Z*PY0YHp`13jKA@<zWz@i^rL3W{<5DntNB*oq
zdp6dV7yW)!RXw&R-cvg77k_1${wy3%qIhyj<nJ2823NA+#z6B=JE2MZx&|wWUc%Ny
zx?mNQ2Fo?4oK-FTN((Dw?!&0eR!nn3d($8l#%i%9XOA5`=mNQLTtFT&2``8d#vWb=
zaTxmq6E#?c%eV8ZC04;=5k$*y5@Wu=cphDb%WxjiYl<Mc#=9`O^uftLnian(b*qA?
ziq>16wnmb=n71SNH$h}n(Y{T|6OoC81j>BJa*kYm=30_2lw5CxY3FQ+WV<0x8WdtH
zEVKLI|NS_cTDwIL?zzsRlkc#)gW+Iw<~oll(#5wg@K!|Z<ASp^u1zR2<@wL>6}IC#
fBdU3M@&mWF<KI%N>r5%~{^8FH{KD|n!2SIPmL%ti

diff --git a/s/W08_oldway b/s/W08_oldway
deleted file mode 100644
index 9422b44..0000000
--- a/s/W08_oldway
+++ /dev/null
@@ -1,2562 +0,0 @@
-; Copyright 1996 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.
-;
-; > s.W08_oldway
-
-;old way of doing things (Wimp does task memory management)
-;
-;only used if UseAMBControl is false
-;
-
-;;----------------------------------------------------------------------------
-;; Switcher routines
-;;----------------------------------------------------------------------------
-
-; THIS FILE APPLIES TO WIMP 2.65 ONWARDS
-
-; Wimp_SlotSize
-; Wimp_ClaimFreeMemory
-; Wimp_TransferBlock
-;
-; findpages             look for application memory & set up free pool
-; testapplication       see if the application space is in use
-; restorepages          put the rest of the pages back after the current slot
-; allocateslot          transfer pages from free pool to a slot array
-; deallocateslot        transfer pages from a slot array to free pool
-; mapslotin             map pages in a slot into application space
-; mapslotout            map pages in a slot out of the way
-;
-; initdynamic           intercept SWI table entry
-; resetdynamic          unintercept SWI table entry
-; My_ChangeDynamic      stack the applications to fill up application space
-; servicememory         accept/refuse to allow memory to be moved
-; servicememorymoved    unstack the applications and recover!
-;-----------------------------------------------------------------------------
-
-; Data structures:
-; task table -> task block (or task_unused if task dead)
-; task block -> slot block for task
-; freepool -> slot block for free pool (with room for all pages)
-; slot block = { page, addr, protection }* -1 -1
-;              (suitable for OS_ReadMemMapEntries and OS_FindMemMapEntries)
-; freepoolbase, orig_applicationspacesize delimit the free pool
-
-;-----------------------------------------------------------------------------
-
-
-  [ :LNOT: UseAMBControl
-
-
-; Set/Read current Wimp slot size
-; Entry:  R0 = new 'current' slot size in bytes (<0 ==> no change)
-;         R1 = new 'next' slot size in bytes (<0 ==> no change)
-; Exit:   R0 = actual 'current' slot size
-;         R1 = actual 'next' slot size
-;         R2 = total amount of free memory 'owned' by the Wimp
-;              if R2 < R1, the next slot will not be allocated in full
-;              when no tasks are running, R2 will be 0
-;         if R0>=0 on entry, pages may be remapped and MemoryLimit changed
-
-
-SWIWimp_SlotSize  ROUT
-        MyEntry "SlotSize"
-;
-        MOV     R4,R0                   ; R4 = new current slot size
-;
-        MOV     R2,R1                   ; R2 = proposed slot size
-        SWI     XOS_ReadMemMapInfo
-        CMP     R2,#0                   ; if -ve, just read current value
-        LDRLT   R3,slotsize
-        BLT     %FT01
-        ADD     R2,R2,R0                ; R2 = (R2+size-1) DIV size * size
-        SUB     R2,R2,#1
-        DivRem  R3,R2,R0, R14
-01
-        STR     R3,slotsize             ; [slotsize] = no of pages
-        LDR     R2,orig_applicationspacesize
-        LDR     R14,freepoolbase
-        SUB     R2,R2,R14               ; R2 = total free memory
-        [ Medusa
-        MedusaOS
-        BNE     %FT02
-        Push    "R0-R1"
-        MOV     R0,#6
-        SWI     XOS_ReadDynamicArea     ; memory in free pool
-        MOV     R2,R1
-        Pull    "R0-r1"
-02
-        ]
-        MUL     R1,R3,R0                ; R1 = next slot size
-
-        [ false                         ; MED-00946
-        CMP     R1,R2
-        MOVGT   R1,R2                   ; can't be more memory in next than freepool
-        ]
-
-        STMIA   sp,{R1,R2}              ; ensure calling task gets new values
-;
-; transfer pages between current slot and free pool
-; on exit R0 = actual current slot size (whether or not memory could be moved)
-;
-        CMP     R4,#-1                  ; R4 = proposed new current slot size
-        [ Medusa
-        BLE     returnmemsize
-        MedusaOS
-; under Medusa [freepool] has no meaning
-        BEQ     %FT01
-        LDR     R14,freepool
-        CMP     R14,#0                  ; do nothing if R4<0 or no free pool
-        BLE     returnmemsize
-01
-        |
-        LDRGT   R14,freepool
-        CMPGT   R14,#0
-        BLE     returnmemsize
-        ]
-
-;
-        MOV     R0,#ApplicationSpaceSize
-        MOV     R1,#0
-        SWI     XOS_ChangeEnvironment
-        MOV     R3,R1                   ; R3 --> end of current slot
-        MOV     R0,#MemoryLimit
-        MOV     R1,#0
-        SWI     XOS_ChangeEnvironment
-        TEQ     R1,R3
-        BNE     returnmemsize           ; fixed - memory cannot be paged
-;
-        LDR     R0,pagesize             ; R0 = page size
-        SUB     R14,R0,#1
-        ADD     R4,R4,R14
-        BIC     R4,R4,R14               ; round up to nearest page boundary
-        SUB     R4,R3,R4
-        SUB     R4,R4,#ApplicationStart ; R4 = amount to transfer into pool
-;
-        LDR     R5,taskhandle           ; obtain R5 --> task block
-        LDR     R5,[wsptr,R5]
-        TST     R5,#task_unused
-        LDRNE   R5,pendingtask
-        TST     R5,#task_unused
-        BNE     returnmemsize           ; no current task (?)
-;
-        LDR     R2,[R5,#task_slotptr]   ; R2 --> slot (if any)
-        CMP     R2,#0
-        BLLE    getnullslot
-        STRVC   R2,[R5,#task_slotptr]
-        BVS     ExitWimp                ; exit if unable to claim block
-;
-        LDR     R0,pagesize             ; R0 = page size
-        MOV     R1,#0
-01
-        LDR     R14,[R2],#12
-        CMP     R14,#0
-        ADDGE   R1,R1,R0                ; R1 = total amount of memory in slot
-        BGE     %BT01
-        SUB     R2,R2,#12               ; R2 --> terminator of slot block
-;
-        CMP     R4,#0
-        BEQ     returnmemsize           ; don't bother with message if same size
-
-        [ Medusa
-        MedusaOS
-        BEQ     %FT02
-        CMP     R4,#0                   ; flags have been dumped
-        RSBLT   R4,R4,#0
-        B       %FT04
-02
-        Push    "R0-R3"
-; there may be more memory in the slot than memory limit, app space suggest.
-        ADD     R1,R1,#ApplicationStart
-        MOV     R0,#0
-        Push    "R1"
-        SWI     XOS_ChangeEnvironment
-        Pull    "R1"
-        MOV     R0,#14
-        SWI     XOS_ChangeEnvironment
-
-; if running under Medusa then the CAO needs to be moved to the module area, otherwise
-; the CDA call will fail.
-        MOV     R0,#15
-        MOV     R1,#&08000000
-        SWI     XOS_ChangeEnvironment
-        BVS     %FT03                   ; can't change cao, try and shift memory anyway.
-        MOV     R2,R1
-        MOV     R0,#6                   ; freepool
-        MOV     R1,R4                   ; number of bytes to alter free pool by
-        SWI     XOS_ChangeDynamicArea
-        Push    "R1"
-        MOV     R1,R2
-        MOV     R0,#15
-        SWI     XOS_ChangeEnvironment   ; put cao back where it was.
-        Pull    "R1"
-        CMP     R1,#0
-        Pull    "R0-R3",EQ
-        BEQ     returnmemsize           ; no change
-        CMP     R4,#0                   ; sets conditionals for below
-        MOV     R4,R1
-        Pull    "R0-R3"
-        B       %FT04
-03
-        MOV     R0,#6                   ; freepool
-        MOV     R1,R4                   ; number of bytes to alter free pool by
-        SWI     OS_ChangeDynamicArea
-        CMP     R1,#0
-        Pull    "R0-R3",EQ
-        BEQ     returnmemsize           ; no change
-        CMP     R4,#0                   ; sets conditionals for below
-        MOV     R4,R1
-        Pull    "R0-R3"
-04
-        |
-        RSBLT   R4,R4,#0
-; R4 now positive, flags reflect actual change
-        ]
-        BLT     growapp
-;
-; shrink application space by R4 bytes (already a whole number of pages)
-;
-shrinkapp
-        CMP     R4,R1                   ; always move as much as possible
-        MOVGT   R4,R1
-;
-        MOV     R3,R2                   ; R3 --> terminator
-;
-        CMP     R4,#0
-01
-        SUBGT   R2,R2,#12
-        SUBGT   R1,R1,R0                ; used later for OS_ChangeEnvironment
-        SUBGTS  R4,R4,R0
-        BGT     %BT01
-;
-        [ Medusa
-        MedusaOS
-        BLNE    maptofreepool           ; R2 --> last part of slot
-        ]
-
-        MOV     R14,#-1
-        STR     R14,[R2]                ; terminator
-;
-        LDR     R14,[R5,#task_slotptr]
-        CMP     R2,R14
-        BGE     %FT01
-;
-        MOV     R2,R14                  ; if null block, delete it!
-        MOV     R0,#ModHandReason_Free
-        BL     XROS_Module
-        MOV     R2,#nullptr
-        B       %FT02
-01
-        SUB     R3,R2,R3                ; R3 = amount to change block by (-ve)
-        MOV     R0,#ModHandReason_ExtendBlock
-        LDR     R2,[R5,#task_slotptr]
-        BL     XROS_Module
-02
-        STRVC   R2,[R5,#task_slotptr]
-        [ Medusa
-        MedusaOS
-        BNE     setcurslot
-        MOV     R5,R1                           ; used in the switcher message
-        BEQ     sendmemmessage
-
-; SafeChangeDynamic
-; if running under Medusa then the CAO needs to be moved high, otherwise
-; the CDA call will fail.
-; Entry : R4 number of bytes to move (signed), R0-R3 possibly corrupt
-; Exit  : R1 number of bytes actually moved (unsigned)
-SafeChangeDynamic
-        Push    "lr"
-        MOV     R0,#15
-        MOV     R1,#&08000000
-        SWI     XOS_ChangeEnvironment
-        BVS     %FT03                   ; can't change cao, try and shift memory anyway.
-        MOV     R2,R1
-        MOV     R0,#6                   ; freepool
-        MOV     R1,R4                   ; number of bytes to alter free pool by
-        SWI     XOS_ChangeDynamicArea
-        Push    "R1"
-        MOV     R1,R2
-        MOV     R0,#15
-        SWI     XOS_ChangeEnvironment   ; put cao back where it was.
-        Pull    "R1,PC"
-03
-        MOV     R0,#6                   ; freepool
-        MOV     R1,R4                   ; number of bytes to alter free pool by
-        SWI     OS_ChangeDynamicArea
-04
-        Pull    "PC"
-;
-; grow an app under the medusa kernel
-; R4 is byte change, R2 is slot terminator, R0 page size, R5 task pointer, R1 is slot size
-;
-
-
-medusagrowapp
-        TEQ     R4,#0
-        BEQ     returnmemsize                   ; this takes account of the case where the
-                                                ; slot cannot grow due to memory constraints.
-        Push    "R0,R1,R4"
-        MOV     R3,#0
-01
-        ADD     R3,R3,#12
-        SUBS    R4,R4,R0
-        BNE     %BT01
-; need to extend slot ptr by R3
-        LDR     R2,[R5,#task_slotptr]
-        MOV     R0,#ModHandReason_ExtendBlock
-        BL      XROS_Module
-        BVC     %FT03
-; oh, dear we need to shrink the app by one page size and try again
-        MOV     R0,#6
-        LDR     R1,[SP]
-        Push    "R0-R4"
-        MOV     R4,R1
-        BL      SafeChangeDynamic
-        Pull    "R0-R4"
-;        SWI     XOS_ChangeDynamicArea
-
-; alert alert, something quite awful has happened
-; you know, i used to wonder what sort of bozzos put comments in like these, now
-; i understand...
-        ADDVS   SP,SP,#12               ; skip rubbish
-        BVS     ExitWimp
-        Pull    "R0,R1,R4"
-        SUB     R4,R4,R0
-        B       medusagrowapp           ; try again with smaller slot.
-
-03
-        STR     R2,[R5,#task_slotptr]
-        Pull    "R0,R1,R4"
-        MOV     R3,#ApplicationStart
-        Push    "R4"
-        MOV     R4,R1
-        LDR     R0,pagesize
-        MOV     R1,#0
-; first R1 bytes (original slot) probably have the correct page number
-        CMP     R4,#0
-        BEQ     %FT06
-05
-        ADD     R2,R2,#4
-        STR     R3,[R2],#8                      ; address
-        ADD     R3,R3,R0
-        SUBS    R4,R4,R0
-        BNE     %BT05
-06
-; next R4 bytes are new and so we have no idea what page number they are, set them to zero.
-        Pull    "R4"
-        CMP     R4,#0
-        BEQ     %FT09
-07
-        Push    "R2"
-08
-        STR     R1,[R2],#4                      ; page no.
-        STR     R3,[R2],#4                      ; address
-        STR     R1,[R2],#4                      ; protection
-        ADD     R3,R3,R0
-        SUBS    R4,R4,R0
-        BNE     %BT08
-        MOV     R0,#-1
-        STR     R0,[R2]
-
-        Pull    "R0"
-        SWI     XOS_FindMemMapEntries           ; only find entries for new pages
-
-09
-
-        SUB     R5,R3,#ApplicationStart          ; used in message to switcher
-        B       sendmemmessage
-
-        ] ; Medusa
-
-
-;
-; grow application space by R4 bytes (already a whole number of pages)
-;
-growapp
-        [ Medusa
-        MedusaOS
-        BEQ     medusagrowapp           ; R4 already contains max moveable
-        ]       ;Medusa
-        LDR     R3,orig_applicationspacesize
-        LDR     R14,freepoolbase
-        SUB     R3,R3,R14               ; R3 = amount of memory available
-        CMP     R4,R3
-;
-        MOVGT   R4,R3                   ; max amount moveable
-;
-;
-        Push    "R1,R2,R4"
-;
-        MOV     R3,#0
-01
-        SUBS    R4,R4,R0
-        ADDGE   R3,R3,#12
-        BGT     %BT01
-;
-        LDR     R2,[R5,#task_slotptr]
-        MOV     R1,R2
-        MOV     R0,#ModHandReason_ExtendBlock
-        BL      XROS_Module
-        STRVC   R2,[R5,#task_slotptr]
-        SUBVC   R14,R2,R1               ; amount block has moved by
-        MOVVC   R6,R2                   ; R6 --> new block
-;
-        Pull    "R1,R2,R4"
-        BVS     ExitWimp                ; nothing updated yet, so just exit
-;
-        ADD     R2,R2,R14               ; R2 --> end of block (moved!)
-;
-        LDR     R3,orig_applicationspacesize  ; DO IT AGAIN!!!
-        LDR     R14,freepoolbase              ; - may have changed !!!
-        SUB     R3,R3,R14               ; R3 = amount of memory available
-        CMP     R4,R3
-        MOVGT   R4,R3                   ; max amount moveable
-;
-        LDR     R0,pagesize
-        DivRem  R5,R4,R0, R14           ; R5 = number of pages to move
-        MOV     R3,R1                   ; R3 = size of slot so far
-        BL      mapfromfreepool         ; on exit R1 = memory transferred
-;
-        MOV     R0,R6                   ; R0 --> new slot block
-        BL      mapin                   ; map in whole slot (corrupts R2)
-;
-        ADD     R1,R1,R3                ; R1 = total memory in new slot
-
-setcurslot
-        MOV     R5,R1                   ; R5 = current slot size (for later)
-        ADD     R1,R1,#ApplicationStart
-        BL      setmemsize              ; R1 = end of memory for slot
-;
-; send round a broadcast, to be picked up by the Switcher
-; NB this can only be done if the task is alive (otherwise it has no handle)
-;
-sendmemmessage
-        LDR     R14,taskhandle
-        LDR     R14,[wsptr,R14]
-        TST     R14,#task_unused
-;
-        ASSERT  ms_data=20
-        MOVEQ   R0,#28                  ; 28 byte block
-        MOVEQ   R3,#0                   ; your ref
-        LDREQ   R4,=Message_SlotSize
-        LDREQ   R6,[sp,#0*4]            ; next slot size (already on stack)
-        Push    "R0-R6"
-        MOVEQ   R0,#User_Message        ; don't bother getting reply
-        MOVEQ   R1,sp
-        MOVEQ   R2,#0                   ; broadcast
-        BLEQ    int_sendmessage         ; fills in sender, myref
-        ADD     sp,sp,#28
-
-returnmemsize
-        MOV     R0,#MemoryLimit         ; may not actually be full slot size
-        MOV     R1,#0                   ; (eg. if Twin is running above)
-        SWI     XOS_ChangeEnvironment
-        SUBVC   R0,R1,#ApplicationStart ; R0 = actual slot size
-        B       ExitWimp
-        LTORG
-
-getnullslot
-        Push    "LR"
-        MOV     R3,#4                   ; we need 2 terminators
-        BL      claimblock
-        MOVVC   R14,#-1                 ; terminator
-        STRVC   R14,[R2]
-        Pull    "PC"
-
-;
-; Claim free memory pages
-; Entry:  R0 = 0 for release, 1 for claim
-;         R1 = length required
-; Exit:   R1 = length available
-;         R2 = start address
-;         R2 = 0 means memory could not be claimed (no need to release)
-; Can't:  if not enough free memory
-;         if claimed already
-;         if in the middle of a remapping operation
-;
-
-mem_remapped    *       2_0001
-mem_claimed     *       2_0010
-
-wimparea
-        DCB     "Wimp"
- [ :LNOT: FreePoolWCF
-wimpareastring
-        DCB     "WDA",0                 ; SMC: add WDA:Wimp Dynamic Area to Wimp.Messages file.
- ]
-        ALIGN
-
-SWIWimp_ClaimFreeMemory  ROUT
-        MyEntry "ClaimFreeMemory"
-;
-        [ Medusa
-        MedusaOS
-        BNE     %FT02
-        [ :LNOT: FreePoolWCF
-        MOV     R5,R1
-        LDR     R1,wimparea
-        ]
-        CMP     R0,#0
-        BNE     %FT01
-; free
-        [ FreePoolWCF
-        MOV     R0,#0
-        ADRL    R14,freepoolinuse
-        STRB    R0,[R14]
-        B       ExitWimp
-        |
-        MOV     R0,#1
-        STRB    R0,memoryOK
-        MOV     R0,R1
-        MOV     R1,#-&8000000                   ; shrink area
-        SWI     XOS_ChangeDynamicArea
-        MOV     R0,#0
-        STRB    R0,memoryOK
-        CLRV
-        B       ExitWimp
-        ]
-01
-; claim
-        [ FreePoolWCF
-        ADRL    R4,freepoolinuse
-        LDRB    R0,[R4]
-        TEQ     R0,#0
-        |
-        MOV     R0,R1
-        SWI     XOS_ReadDynamicArea
-        TEQ     R1,#0
-        ]
-        MOVNE   R0,#0
-        STRNE   R0,[SP]
-        STRNE   R0,[SP,#4]
-        BNE     ExitWimp                              ; already 'claimed'
-        [ FreePoolWCF
-        MOV     R5,R1                                   ; preserve the amount asked for
-        MOV     R0,#6
-        SWI     XOS_ReadDynamicArea
-        MOVVS   R0,#0                                   ; Shouldn't happen
-        MOVVS   R1,#0
-
-        CMP     R5,R1                                   ; set HI if R5 <0 or R5>R1
-        MOVHI   R0,#0
-        MOVLS   R2,#1
-        STRLSB  R2,[R4]                                 ; mark free pool in use
-
-        STR     R0,[SP,#4]                              ; return values
-        STR     R1,[SP]
-        B       ExitWimp
-
-        [ false
-
-        CMP     R5,#0                                   ; asked for -ve amount
-        CMPGE   R1,R5                                   ; not enough ?
-        MOVLT   R3,R1
-        MOVLT   R4,#0                                   ; no address as claim 'failed'
-        BLT     %FT01
-05
-        CLRV
-        MOV     R1,#1
-        STRB    R1,[R4]                                ; mark free pool as in use
-        MOV     R0,#6
-        SWI     XOS_ReadDynamicArea
-        MOVVS   R4,#0                                   ; shouldn't happen
-        MOVVC   R3,R1
-        MOVVC   R4,R0                                   ; start address of free pool
-        B       %FT01
-        ]
-
-        |
-        MOV     R1,#1
-        STRB    R1,memoryOK
-        MOV     R1,R5
-        CMP     R1,#0
-        SETV    LT
-        LDRVC   R0,wimparea
-        SWIVC   XOS_ChangeDynamicArea
-        MOV     R4,#0
-        STRB    R4,memoryOK
-        MOVVS   R0,#6                           ; freepool, just size!!!
-        LDRVC   R0,wimparea                     ; our area
-        MOV     R2,#0
-        CLRV
-        SWI     XOS_ReadDynamicArea
-        TEQ     R2,#0
-        MOV     R3,R1
-        MOVNE   R4,R0                           ; no start if claim failed
-        CLRV
-
-        B       %FT01
-        ]
-02
-        ]
-
-        TEQ     R0,#0
-        LDRB    R5,memoryOK             ; always load R5
-        BICEQ   R5,R5,#mem_claimed
-        STREQB  R5,memoryOK
-        BEQ     ExitWimp
-;
-        MOV     R3,#0                   ; R3=0  no memory available
-        MOV     R4,#0                   ; R4=0  can't claim
-;
-        TEQ     R5,#0
-        BNE     %FT01                   ; can't claim (nasty business going on)
-;
-        LDR     R14,freepool
-        CMP     R14,#0
-        BLE     %FT01                   ; can't claim (no free pool)
-;
-        LDR     R3,orig_applicationspacesize
-        LDR     R4,freepoolbase
-        SUB     R3,R3,R4                ; R3 = length available
-;
-        ADD     R14,R3,#1
-        CMP     R1,R14                  ; C=1 ==> too long!
-        MOVCS   R4,#0                   ; address = 0 if carry set
-        ORRCC   R5,R5,#mem_claimed
-        STRCCB  R5,memoryOK
-01
-        STMIA   sp,{R3,R4}              ; R1,R2 on return = length,addr
-        B       ExitWimp
-
-wimp_area_handler
-        TST     R0,#1
-        MOVNES  PC,lr                   ; not insterested in postshrink/grow
-        SETV
-; must be a pre shrink/grow, allow this if it was caused by the claim above
-        Push    R0
-        LDRB    R0,memoryOK
-        TEQ     R0,#0
-        Pull    R0
-        CLRV    NE
-        MOVVC   PC,lr
-        CMP     R0,#2
-        MOVEQ   R3,#0
-        MOV     R0,#0
-        SETV
-        MOV     PC,lr
-;
-; Transfer memory from one application to another
-; Entry:  R0 = task handle of source
-;         R1 --> source buffer
-;         R2 = task handle of destination
-;         R3 --> destination buffer
-;         R4 = buffer length
-;         buffer addresses and length are byte-aligned (not nec. word-aligned)
-;         the buffer addresses are validated to ensure they are in range
-; Errors: "Invalid task handle"
-;         "Wimp transfer out of range"
-;
-
-SWIWimp_TransferBlock  ROUT
-        MyEntry "TransferBlock"
-;
-        Push    "R0-R4"
-        MOV     R0,#MemoryLimit         ; force this field to be up-to-date
-        MOV     R1,#0
-        SWI     XOS_ChangeEnvironment
-        LDR     R14,taskhandle
-        LDR     R14,[wsptr,R14]
-        CMP     R14,#0
-        STRGT   R1,[R14,#task_environment+12*MemoryLimit]
-        [ Medusa
-        MedusaOS
-        LDMEQIA SP,{R0-R4}                      ; leave them on the stack
-        LDMNEIA SP!,{R0-R4}
-        |
-        Pull    "R0-R4"
-        ]
-;
-        BL      validtask_alive
-        MOVVC   R7,R6                   ; R7 --> dest task block
-        MOVVC   R2,R0
-        [ Medusa
-        Push    "R5"
-        ]
-        BLVC    validtask_alive         ; R6 --> source task block
-        BVC     %FT05
-medusa_exit_trb
-        [ Medusa
-        ADD     SP,SP,#4                ; the push above was non-conditional
-        ]
-medusa_exit_trb2
-        [ Medusa
-        MedusaOS
-        ADDEQ   SP,SP,#20
-        SETV                            ; want an error
-        ]
-        B       ExitWimp
-;
-05
-        SUBS    R10,R4,#0               ; length must be >= 0
-        BNE     %FT07                   ; ignore zero length now!
-        [ Medusa
-        ADD     SP,SP,#4
-        MedusaOS
-        ADDEQ   SP,SP,#20
-        ; no error so don't set V
-        ]
-        B       ExitWimp
-
-07
-        SUBGES  R8,R1,#ApplicationStart ; buffer start >= &8000
-        SUBGES  R9,R3,#ApplicationStart ; R8,R9 = offsets into domain
-        BLT     err_badtransfer
-;
-        [ Medusa :LAND: sixteenmeg
-        MedusaOS
-        MOVEQ   R11,#16*1024*1024
-        LDRNE   R11,orig_applicationspacesize
-        |
-        LDR     R11,orig_applicationspacesize
-        ]
-;
-        CMP     R1,R11                  ; not in application space?
-        ADDGE   R8,R8,#ApplicationStart ; make absolute again
-        BGE     %FT11
-        LDR     R14,[R6,#task_environment+12*MemoryLimit]
-        ADD     R0,R1,R4
-        CMP     R0,R14
-        BGT     err_badtransfer
-11
-        CMP     R3,R11                  ; not in application space?
-        ADDGE   R9,R9,#ApplicationStart ; make absolute again
-        BGE     %FT01
-        LDR     R14,[R7,#task_environment+12*MemoryLimit]
-        ADD     R2,R3,R4
-        CMP     R2,R14
-        BGT     err_badtransfer
-01
-;
-; map all slots into memory space, copy the data, then unmap them
-; NOTE: make sure the slots are mapped out before exitting!!!
-;
-        MOV     R0,#ApplicationSpaceSize
-        MOV     R1,#0
-        SWI     XOS_ChangeEnvironment   ; R1 --> end of current slot
-;
-
-        [ Medusa
-        MedusaOS
-; orignal calling values are still on the stack
-        BNE     %FT03
-        CMP     R6,R7                   ; are the tasks the same?
-        BEQ     %FT02
-        CMP     R10,#7*1024*1024
-        BLT     %FT02
-; ok we're doing a BIG transfer, so split it up
-        MOV     R10,#7*1024*1024        ; 7 meg, leave a bit of breathing space
-        ADD     R0,SP,#4
-        LDMIA   R0,{R0-R4}
-        ADD     R1,R1,#7*1024*1024      ; we'll carry on but only do 7 megs worth
-        ADD     R3,R3,#7*1024*1024      ; then recall the routine, but starting 7 meg
-        SUB     R4,R4,#7*1024*1024      ; further on.
-        SWI     XWimp_TransferBlock
-; this will cycle through as many times as required
-02
-; now if the ammount to copy+ R1 > app space, or 2* copy if neither task is the current task
-; then part or all of current task must be paged out.
-        MOV     R0,R1
-        LDR     R1,taskhandle
-        LDR     R2,pagesize
-        LDR     R4,[SP]                 ; task handle
-        CMP     R1,R4
-        BEQ     onetask_currentr4       ; one of the tasks is the current task
-        CMP     R1,R5
-        BEQ     onetask_currentr5
-        CMP     R8,R11
-        ADDLT   R0,R0,R10
-        ADDLT   R0,R0,R2                ; just in case copy is over a page
-        CMP     R9,R11
-        ADDLT   R0,R0,R10
-        ADDLT   R0,R0,R10
-        [ sixteenmeg
-        CMP     R0,#16*1024*1024
-        |
-        MedusaOS
-        MOVNE   R14,#16*1024*1024
-        LDREQ   R14,orig_applicationspacesize
-        CMP     R0,R14
-        ]
-        BLT     %FT03
-
-; since the copy must take place in application space (on ARM 3 its the only place! and on
-; ARM 600 a level 2 page table would be required- 24K) we have to make some room by paging
-; out part of the current task. For simplicity, we page the whole of the task out on the
-; assumption that it is only rare circumstances that will bring us here. It's also
-; potentially dangerous paging out bits of the current task, eg. if an exception occurs
-; the Environment may point to somewhere that we've paged a different bit of memory to.
-; Another complication with selective paging of the current task is that the bit we choose
-; to page out may be required in the copy, obviously we need to do more work to make sure
-; we don't fall over in these situations.
-makespacefromct
-        Push    "R1"                    ; save task handle
-        BL      mapslotout              ; map out CT
-        MOV     R0,#0
-        STR     R0,taskhandle
-        ADD     R0,SP,#4
-        LDMIA   R0,{R0-R4}
-        SWI     XWimp_TransferBlock     ; do it again, only this time there is no current task
-        Pull    "R1"
-        STR     R1,taskhandle           ; return to how it all was
-        BL      mapslotin
-        ADD     SP,SP,#24
-        B       ExitWimp
-
-; this is potentially dodgy as the bit we want to map out of the way may actually be in
-; the transfer range
-
-onetask_currentr5
-        CMP     R5,R4
-        BEQ     %FT03
-        CMP     R8,R11                  ; we only need to woryy about space if the copy
-                                        ; is actually in the tasks app space
-        BLT     onetaskcurrent
-        B       %FT03
-
-onetask_currentr4
-        CMP     R5,R4
-        BEQ     %FT03
-        CMP     R9,R11
-
-onetaskcurrent
-        ADDLT   R0,R0,R10
-        ADDLT   R0,R0,R2                ; just in case copy is over a page
-        [ sixteenmeg
-        CMP     R0,#16*1024*1024
-        |
-        MedusaOS
-        MOVNE   R14,#16*1024*1024
-        LDREQ   R14,orig_applicationspacesize
-        CMP     R0,R14
-        ]
-
-        BLT     %FT03
-        B       makespacefromct
-
-
-03
-        MOV     R0,#ApplicationSpaceSize
-        MOV     R1,#0
-        SWI     XOS_ChangeEnvironment   ; R1 --> end of current slot
-
-        Pull    "R4"
-        MedusaOS
-        ADDEQ   SP,SP,#20               ; will always be original values on stack
-        MOV     R2,R1
-        LDR     R3,taskhandle
-        CMP     R8,R11                  ; do we need it paged in ?
-        BGE     %FT04
-        CMP     R3,R5
-        ADDEQ   R8,R8,#ApplicationStart
-        BEQ     %FT04
-        LDR     R0,[R6,#task_slotptr]
-        MOV     R1,R8
-        MOV     R8,R2
-        BL      mapenoughslot
-        ADD     R8,R8,R0
-04
-        CMP     R9,R11
-        BGE     %FT06
-        CMP     R3,R4
-        ADDEQ   R9,R9,#ApplicationStart
-        BEQ     %FT06
-        LDR     R0,[R7,#task_slotptr]
-        MOV     R1,R9
-        MOV     R9,R2
-        BL      mapenoughslot           ; page in only whats required for the copy
-        ADD     R9,R9,R0
-06
-        |
-        BL      rackupslots             ; In: R1= bit; Out: trashes R0-R4
-;
-        CMP     R8,R11
-        LDRLT   R14,[R6,#task_slotptr]  ; must be a slot here if address valid
-        LDRLT   R14,[R14,#4]            ; get address of first page
-        ADDLT   R8,R8,R14               ; R8 --> source buffer
-;
-        CMP     R9,R11
-        LDRLT   R14,[R7,#task_slotptr]  ; must be a slot here if address valid
-        LDRLT   R14,[R14,#4]            ; get address of first page
-        ADDLT   R9,R9,R14               ; R9 --> destination buffer
-        ]
-;
-; copy data in the correct order, in case source task = destination
-;
-        TST     R8,#3
-        TSTEQ   R9,#3
-        TSTEQ   R10,#3
-        BEQ     wordcopy                ; word aligned, yipee!!!
-
-        CMP     R8,R9
-        BGE     %FT02
-        ADD     R8,R8,R10
-        ADD     R9,R9,R10
-01
-        LDRB    R14,[R8,#-1]!           ; descending copy if source < dest
-        STRB    R14,[R9,#-1]!
-        SUBS    R10,R10,#1
-        BNE     %BT01
-        B       %FT03
-02
-        LDRB    R14,[R8],#1             ; ascending copy if source >= dest
-        STRB    R14,[R9],#1
-        SUBS    R10,R10,#1
-        BNE     %BT02
-03
-        [ Medusa
-        LDR     R2,taskhandle           ; page out the bits we paged in, unless CT
-        CMP     R2,R5
-        BEQ     %FT05
-        LDR     R0,[R6,#task_slotptr]
-        CMP     R0,#-1
-        BLNE    mapout
-05
-        CMP     R2,R4
-        BEQ     %FT10
-        LDR     R0,[R7,#task_slotptr]
-        CMP     R0,#-1
-        BLNE    mapout
-10
-        |
-        BL      unrackslots
-        ]
-        B       ExitWimp
-
-wordcopy
-        CMP     R8,R9
-        BGE     %FT02
-        ADD     R8,R8,R10
-        ADD     R9,R9,R10
-01
-        LDR     R14,[R8,#-4]!           ; descending copy if source < dest
-        STR     R14,[R9,#-4]!
-        SUBS    R10,R10,#4
-        BNE     %BT01
-        B       %BT03
-02
-        LDR     R14,[R8],#4             ; ascending copy if source >= dest
-        STR     R14,[R9],#4
-        SUBS    R10,R10,#4
-        BNE     %BT02
-        B       %BT03
-
-        [ Medusa
-mapenoughslot
-; maps only the pages that are required for the copy to address R2, slot R0, length R10
-; domain offset R1
-        Push    "R0-R1,R3-R5,lr"
-        LDR     R3,pagesize
-        SUB     R3,R3,#1
-        BIC     R1,R1,R3
-        ADD     R3,R3,#1
-; find start of block
-01
-        CMP     R1,#0
-        BEQ     %FT05
-02
-        LDR     R14,[R0],#12
-        CMP     R14,#0
-        BLT     err_badtransfer2
-        SUBS    R1,R1,R3
-        BNE     %BT02
-; R0 now points to start of slot that is involved in the copy
-05
-        MOV     R4,R0
-        LDR     R1,[SP,#4]              ; domain offset again
-        SUB     R5,R3,#1
-        AND     R1,R1,R5                ; offset from page
-        STR     R1,[SP]                 ; R0 on return
-        ADD     R1,R1,R10
-        ADD     R1,R1,R5
-        BIC     R1,R1,R5                ; no. of pages required x pagesize
-09
-        LDR     R14,[R4],#12
-        CMP     R14,#0
-        BLT     err_badtransfer2
-        SUBS    R1,R1,R3
-        BNE     %BT09
-        LDR     R5,[R4]                 ; temporarily shorten the slot block
-        MOV     R14,#-1                 ; this way we don't need to make a new block
-        STR     R14,[R4]                ; which may require memory we don't have.
-        BL      mapslot
-        STR     R5,[R4]                 ; put it back as it was
-        Pull    "R0-R1,R3-R5,PC"
-
-err_badtransfer2
-        MyXError        WimpBadSlot
-        B               medusa_exit_trb2         ; task handle no longer on stack
-        MakeErrorBlock  WimpBadSlot
-
-        ]
-
-err_badtransfer
-        MyXError  WimpBadTransfer
-        B         medusa_exit_trb
-        MakeErrorBlock WimpBadTransfer
-
-
-;
-; free pool set up on entry (unless application memory is already in use)
-;   order of pages in the free pool is unimportant
-;
-; Read in table of all OS pages
-; work out which ones are in application space
-; put them into free pool list
-;
-; Data structures:
-; slot table:  list of 3-word entries (as passed to OS_ReadMemMapEntries)
-; free pool:   list of 3-word entries (enough room for all pages in machine)
-;              pages are used as in a LIFO stack, with lower addresses last
-;
-; Exit:  if application space used, [freepool] = -1
-;                              else [freepool] --> free pool block
-;
-        DCB     "FindPages"
-
-findpages       ROUT
-        Push    "R1-R11,LR"
-;
-        MOV     R14,#nullptr
-        STR     R14,freepool            ; lock application memory
-        LDR     R14,taskhandle
-        STR     R14,inithandle          ; this task slot "owns" the memory
-;
-        SWI     XOS_ReadMemMapInfo      ; R0 = page size, R1 = no of pages
-        Pull    "R1-R11,PC",VS
-        STR     R0,pagesize
-        STR     R1,npages               ; used later
-;
-; under the Medusa kernel, try and shrink app space by as much as possible
-
-        [ Medusa
-        MedusaOS
-        BNE     %FT01
-        MOV     R0,#6                   ; free pool
-        MOV     R1,#&10000000           ; try and shrink app space
-        SWI     XOS_ChangeDynamicArea
-; this sets up memory limit/ app space size as well
-        [ :LNOT: sixteenmeg
-        MOV     R0,#-1
-        SWI     XOS_ReadDynamicArea
-        ADDVC   R5,R0,R2
-        STRVC   R5,orig_applicationspacesize
-         [ :LNOT: FreePoolWCF
-; create dynamic area for Wimp_ClaimFreeMemory
-        ADRL    R0,wimpareastring       ; Look up name for Wimp dynamic area.
-        ADR     R2,errorbuffer          ; Use safe place for temporary string (copied by OS_DynamicArea).
-        MOV     R3,#256
-        BL      LookupToken1
-        MOVVC   R8,R2
-        ADRVSL  R8,wimpareastring       ; If look up fails then create something anyway.
-
-        MOV     R0,#0
-        LDR     R1,wimparea
-        MOV     R2,#0
-        MOV     R3,#-1
-        MOV     R4,#128                 ; not dragable
-        MOV     R5,#-1
-        ADRL    R6,wimp_area_handler
-        MOV     R7,R12
-        SWI     XOS_DynamicArea
-; ignore errors
-         ]
-        ]
-
-        CLRV
-
-        Pull    "R1-R11,PC"
-01
-        ]
-;
-; if application space in use, we can't construct a free pool
-; but we must still read orig_memorylimit and orig_applicationspacesize
-;
-
-        MOV     R0,#ApplicationSpaceSize
-        MOV     R1,#0
-        SWI     XOS_ChangeEnvironment
-        MOVVC   R3,R1                           ; R3 --> real end of memory
-        STRVC   R3,orig_applicationspacesize
-;
-        MOVVC   R0,#MemoryLimit
-        MOVVC   R1,#0
-        SWIVC   XOS_ChangeEnvironment
-        STRVC   R1,orig_memorylimit
-;
-;
-        TEQ     R1,R3                   ; preserves V
-        Pull    "R1-R11,PC",NE          ; these must be equal on entry
-;
-        BLVC    testapplication         ; CC ==> space is in use
-        Pull    "R1-R11,PC",VS
-        Pull    "R1-R11,PC",CC          ; we'll get back to this later if used
-
-;
-; allocate a "free pool" block, with 12 bytes per page
-;
-        LDR     R3,npages
-        MOV     R3,R3,LSL #2            ; multiply by 12
-        ADD     R3,R3,R3,LSL #1
-        ADD     R3,R3,#4                ; leave room for terminator
-        BL      claimblock
-        STRVC   R2,freepool
-;
-; construct free pool array by calling OS_FindMemMapEntries
-;
-        MOVVC   R1,#ApplicationStart
-        STRVC   R1,freepoolbase         ; base address of free pages
-
-        LDRVC   R1,orig_applicationspacesize
-        BLVC    findfreepool
-        MOVVC   R1,#2                   ; protect against USR mode access
-        BLVC    setslotaccess
-;
-; I don't know what this is doing here!
-;
-        MOVVC   R14,#0
-        STRVCB  R14,memoryOK            ; it's had it by now anyway!
-;
-; now protect all these pages, keeping them just below orig_memlimit
-; and set MemoryLimit small
-;
-        MOVVC   R1,#ApplicationStart
-        BLVC    setmemsize              ; sets ACTUAL handlers (current task)
-;
-        LDRVC   R0,freepool
-        SWIVC   XOS_SetMemMapEntries
-
-        Pull    "R1-R11,PC"
-
-
-; In    R1 = application space size (one after end of free pool)
-;       R2 -> free pool page table
-;       [freepoolbase] = start of free pool
-; Out   free pool table filled in (lowest address last in list)
-;       [freepoolbase] updated if less than application space size
-;       [freepoolpages] set up
-
-        DCB     "FindFreePool"
-
-findfreepool    ROUT
-        Push    "R1-R5,LR"
-
-
-        LDR     R3,freepoolbase
-        CMP     R3,R1
-        MOVGT   R3,R1
-        STRGT   R3,freepoolbase
-
-        MOV     R4,#0                   ; R4 = no of pages so far
-        MOV     R0,#0                   ; R0 = probable page no (don't know)
-        LDR     R5,pagesize
-01      SUB     R1,R1,R5                ; R1 = address of next page
-        CMP     R1,R3
-        STMGEIA R2!,{R0,R1,R14}         ; page no, address, access (undefined)
-        ADDGE   R4,R4,#1
-        BGE     %BT01
-        STR     R4,freepoolpages
-        MOV     R14,#-1
-        STR     R14,[R2]                ; terminator
-
-        LDR     R0,[sp,#1*4]
-        SWI     XOS_FindMemMapEntries   ; find relevent pages
-
-        Pull    "R1-R5,PC"
-
-; In    R1 = page protection level required
-;       R2 -> slot block
-; Out   page protection level set, array updated
-;       R0 corrupted
-
-setslotaccess   ROUT
-        Push    "R2,LR"
-
-01      LDR     R14,[R2],#12            ; unless terminator,
-        CMP     R14,#0
-        STRGE   R1,[R2,#-4]             ; fill in access field
-        BGE     %BT01
-
-        LDR     R0,[sp]
-        SWI     XOS_SetMemMapEntries
-
-        Pull    "R2,PC"
-
-;
-; testapplication
-; works out whether application space is in use
-; Entry: [orig_memorylimit] = upper bound of memory used by application
-;                             if &8000, then application space is not in use
-; Exit:  CC ==> memory in use
-;
-; Method:
-;    1. If CAO pointer < MemoryLimit, then application memory is in use.
-;    2. Issue Service_Memory: R0 = large - if anyone objects, memory is in use
-;
-
-ApplicationStart  *  &8000
-IsAnybodyThere    *  -64*&100000        ; large negative number
-                                        ; NB: this number is checked for by ShellCLI
-testapplication ROUT
-        Push    "R1-R3,LR"
-;
-        [ Medusa :LAND: sixteenmeg
-        MedusaOS
-        LDRNE   R1,orig_applicationspacesize    ; watch out for Twin etc!
-        MOVEQ   R1,#16*1024*1024                ; boo hiss
-        |
-        LDR     R1,orig_applicationspacesize    ; watch out for Twin etc!
-        ]
-        BL      readCAOpointer                  ; use OS_ChangeEnvironment
-        CMP     R2,R1                           ; below memorylimit?
-        Pull    "R1-R3,PC",CC
-;
-        MOV     R1,#Service_Memory
-        MOV     R0,#IsAnybodyThere      ; 64 megabytes should be enough!
-        SWI     XOS_ServiceCall
-        CMPVC   R1,#1                   ; CC ==> service was claimed
-;
-        Pull    "R1-R3,PC"
-
-
-; Out   R2 = CAO pointer (read using OS_ChangeEnvironment)
-
-readCAOpointer  ROUT
-        Push    "R0-R3,LR"
-
-        MOV     R0,#CAOPointer
-        MOV     R1,#0
-        SWI     XOS_ChangeEnvironment
-        STR     R1,[sp,#2*4]
-
-        Pull    "R0-R3,PC",,^           ; assume no errors
-
-;
-; restorepages
-; put back the free pool when the last task dies - do not disturb current stuff
-; Entry:  all tasks dead
-;         use OS_ChangeEnvironment to set/read end of application memory
-;         free pool block indicates remaining spare pages
-; Exit:   all pages replaced in application space
-;         memorylimit increased if appropriate
-;         free pool block released
-;
-
-restorepages    ROUT
-        Push    "R1-R7,LR"
-;
-        BL      deletependingtask       ; not interested in this task
-
-        [ Medusa
-        MedusaOS
-        MOVEQ   R4,#-&10000000            ; shrink freepool as much as we can
-        BLEQ    SafeChangeDynamic
-        Pull    "R1-R7,PC",EQ
-        ]
-;                                       ; just add to the pages present
-        LDR     R6,freepool
-        CMP     R6,#0
-        BLE     go_restorememlimit      ; NB: orig_ values MUST BE CORRECT!
-;
-        MOV     R0,#MemoryLimit
-        MOV     R1,#0
-        SWI     XOS_ChangeEnvironment   ; R1 = current memory limit
-;
-; free pool is already in the right place - just set access bits to 0
-;
-        LDR     R2,freepool
-        MOV     R1,#0                   ; 0 => USR mode read/write access
-        BL      setslotaccess           ; R2 -> free pool still
-
-        MOV     R14,#nullptr2           ; application space NOT in use by Wimp
-        STR     R14,freepool            ; NB only applies if not used on entry
-        MOV     R0,#ModHandReason_Free
-        BL     XROS_Module              ; ignore errors from here
-
-go_restorememlimit
-        BL      restorememlimit
-;
-        Pull    "R1-R7,PC"
-
-restorememlimit ROUT
-        Push    "LR"
-        MOV     R0,#MemoryLimit
-        LDR     R1,orig_memorylimit
-        SWI     XOS_ChangeEnvironment
-        MOV     R0,#ApplicationSpaceSize
-        LDR     R1,orig_applicationspacesize
-        SWI     XOS_ChangeEnvironment
-        Pull    "PC",,^                 ; must preserve flags
-
-;
-; allocateslot
-; take pages from the free pool, and construct a page array block
-; Entry:  [taskhandle] = current task
-;         [slotsize] = max no of pages to use in new slot
-; Exit:   taskhandle->task_slotptr --> block (suitable for OS_SetMemMapEntries)
-;         pages transferred from the free pool to the slot
-;         [freepoolbase] updated
-;         slot size = 0 if no free pool (ie. all used up)
-;         MemoryLimit updated to reflect the amount of memory available
-;
-        DCB     "AllocateSlot"
-
-allocateslot    ROUT
-        [ Medusa
-        MedusaOS
-        BNE     %FT99
-01
-        Push    "R0-R4,lr"
-        MOV     R0,#14
-        MOV     R1,#ApplicationStart
-        SWI     XOS_ChangeEnvironment
-        MOV     R0,#0
-        MOV     R1,#ApplicationStart
-        SWI     XOS_ChangeEnvironment
-        LDR     R0,slotsize
-        LDR     R3,pagesize
-        MUL     R1,R3,R0                ; usually R0 < R3
-        MOV     R0,#6
-        RSB     R1,R1,#0                ; shrinking free pool
-        SWI     XOS_ChangeDynamicArea
-        [ false
-        MOVVS   R4,#0
-        STRVS   R4,slotsize
-        ]
-;        ADDVS   SP,SP,#4
-;        Pull    "R1-R4,PC",VS          sadly this may 'succeed' but return an error
-        CLRV
-        CMP     R1,#0
-;        SETV    EQ
-;hmmm no error block...
-;       Pull    "R0-R4,PC",VS           ; couldn't allocate any memory
-        BNE     %FT01
-nomemoryinslot
-        [ false
-        MOV     R0,#0
-        MOV     R1,#0
-        SWI     XOS_ChangeEnvironment
-        MOV     R0,#14
-        MOV     R1,#0
-        SWI     XOS_ChangeEnvironment   ; reset env
-        ]
-        BL      setdefaulthandlers
-        Pull    "R0-R4,PC"
-nomemoryinslot2
-        MOV     R0,#15
-        Pull    R1
-        SWI     XOS_ChangeEnvironment   ; reset env
-        Pull    "R0-R4,PC"
-01
-        Push    R1
-        MOV     R0,#15
-        MOV     R1,#ApplicationStart
-        SWI     XOS_ChangeEnvironment   ; lower the cao so that claiming RMA doesn't lose pages
-        Pull    R14
-        Push    R1
-        MOV     R1,R14
-
-; R1 is actual allocation
-        DivRem  R4,R1,R3,R14
-        ADD     R4,R4,R4, LSL #1        ; x3
-        MOV     R4,R4, LSL #2           ; x4
-        ADD     R3,R4,#4
-02
-        TEQ     R3,#0
-        BEQ     nomemoryinslot2
-        MOV     R0,#ModHandReason_Claim
-        BL      XROS_Module
-; R2 is block or error
-        BVC     %FT03
-        [ false
-        LDR     lr,pagesize
-        MOV     R0,#6
-        MOV     R1,lr
-
-        SWI     XOS_ChangeDynamicArea   ; grow free pool by a page
-        |
-        Push    "R0-R4"
-        LDR     R4,pagesize
-        BL      SafeChangeDynamic
-        Pull    "R0-R4"
-        ]
-
-        SUB     R3,R3,#12
-        B       %BT02
-03
-        MOV     R0,#15
-        Pull    R1
-        Push    "R2-R3"
-        SWI     XOS_ChangeEnvironment   ; reset cao
-        Pull    "R2-R3"
-
-        LDR     lr,pagesize             ; SWI will have corrupted this
-        ADD     R4,R2,R3                ; end of block
-        SUB     R4,R4,#4
-        Push    "r2"
-        MOV     R3,#ApplicationStart
-        MOV     R0,#0
-04
-        STR     R0,[R2],#4
-        STR     R3,[R2],#4
-        STR     R0,[R2],#4              ; set protection level.
-        ADD     R3,R3,lr
-        CMP     R2,R4
-        BLT     %BT04
-        MOV     R0,#-1
-        STR     R0,[R2]
-        Pull    "R0"
-        SWI     XOS_FindMemMapEntries
-        LDRVC   R1,taskhandle
-        LDRVC   R1,[wsptr,R1]
-        STRVC   R0,[R1,#task_slotptr]
-        STR     R0,[SP]                 ; just in case anything uses this
-
-        Pull    "R0-R4,PC"
-
-99
-        ]
-
-        Push    "R1-R7,LR"
-;
-        LDRB    R14,memoryOK            ; if free space in use, can't allocate
-        TEQ     R14,#0
-        MOVNE   R7,#0
-        LDREQ   R7,freepoolpages        ; number of pages in free pool
-;
-        LDR     R5,slotsize             ; max no of pages
-        CMP     R5,R7
-
-        MOVGT   R5,R7                   ; now R5 = actual no of pages to use
-        CMP     R5,#0
-        MOVLE   R1,#ApplicationStart
-        BLE     gosetmemsize            ; no pages allocated
-;
-; allocate a heap block of the correct size
-;
-        ADD     R3,R5,R5,LSL #1         ; R3 = 3 * no of pages
-        MOV     R3,R3,LSL #2            ; R3 = 12 * no of pages
-        ADD     R3,R3,#4                ; leave room for terminator
-        BL      claimblock
-        Pull    "R1-R7,PC",VS
-;
-; NB: pages may have been remapped because of that call - check here!
-;
-        LDR     R7,freepoolpages        ; R7 = number of free pages
-        CMP     R5,R7
-
-        MOVGT   R5,R7                   ; now R5 = actual no of pages to use
-
-;
-; construct block by transferring pages from the free pool
-; R2 --> new block, R5 = no of pages, R6-->free pool, R7 = free pool sp
-;
-        LDR     R14,taskhandle          ; must be a live task!
-        LDR     R1,[wsptr,R14]          ; R1 --> task block
-        STR     R2,[R1,#task_slotptr]
-;
-        BL      mapfromfreepool         ; R5 = number of pages to grab
-        ADD     R1,R1,#ApplicationStart ; R1 --> end of application memory
-;
-        MOV     R0,R2
-        BL      mapin                   ; map pages in (corrupts R2)
-
-gosetmemsize
-
-        LDR     R14,freepool            ;; Wimp 1.89o onwards
-        CMP     R14,#nullptr            ;;
-        LDREQ   R0,taskhandle           ;; if this is the "owner" slot,
-        LDREQ   R14,inithandle          ;; it can have the application memory
-        CMPEQ   R0,R14                  ;;
-        BLEQ    restorememlimit         ;; (preserves flags)
-        BLNE    setmemsize              ;; otherwise it gets none.
-;
-        Pull    "R1-R7,PC"
-
-;
-; Entry:  R2 --> slot block
-;         R5 = number of pages required
-; Exit:   R1 = amount of memory transferred
-;         slot block, [freepoolbase], free pool sp updated
-;         pages are not actually mapped in yet, and addresses are un-initialised
-;
-
-mapfromfreepool ROUT
-        Push    "R2-R7,LR"
-;
-        LDR     R7,freepoolpages        ; R7 = number of pages in free pool
-        SUB     R14,R7,R5
-        STR     R14,freepoolpages       ; update [freepoolpages]
-
-        ADD     R7,R7,R7,LSL #1
-        LDR     R14,freepool
-        ADD     R7,R14,R7,LSL #2        ; R7 -> terminator of free pool
-
-        MOV     R4,#0                   ; R4 = page protection level (always 0)
-01      SUBS    R5,R5,#1
-        LDRPL   R0,[R7,#-12]!           ; R0 = page no
-        STMPLIA R2!,{R0,R3,R4}          ; page no, address (uninit), access
-        BPL     %BT01
-
-        MOV     R14,#-1
-        STR     R14,[R2]                ; slot block terminator
-        STR     R14,[R7]                ; free pool terminator
-;
-; update [freepoolbase] and R1
-;
-        LDR     R0,pagesize             ; R0 = page size
-        LDR     R5,[sp,#3*4]
-        MUL     R1,R0,R5                ; R1 = amount of memory transferred
-        LDR     R14,freepoolbase
-        ADD     R14,R14,R1              ; update [freepoolbase]
-        STR     R14,freepoolbase
-;
-        Pull    "R2-R7,PC"
-
-;
-; setmemsize
-; sets up MemoryLimit and ApplicationSpaceSize for (polltaskhandle) task
-; NB: these values apply to the CALLING task (so OS_ChangeEnvironment is used)
-; Entry:  R1 = new memorylimit / applicationspacesize
-; Exit:   OS_ChangeEnvironment used to change OS versions of these variables
-;         if task is alive, its copies are also updated
-;         R1 = old memorylimit
-;
-
-setmemsize      ROUT
-        Push    "LR"
-        MOV     R0,#ApplicationSpaceSize
-        Push    "R1"
-        SWI     XOS_ChangeEnvironment
-        MOVVC   R0,#MemoryLimit
-        Pull    "R1"
-        SWIVC   XOS_ChangeEnvironment
-        Pull    "PC"
-
-;
-; deallocateslot
-; returns pages from a used slot to the free pool
-; Entry:  [taskhandle] = current task
-; Exit:   slot block deallocated (if any)
-;         taskhandle->task_slotptr = null
-;         pages put back into free pool (NB block never needs extension)
-;
-
-deallocateslot  ROUT
-        Push    "R1-R2,LR"
-;
-        LDR     R14,taskhandle
-        LDR     R1,[wsptr,R14]          ; R1 --> task block
-        LDR     R2,[R1,#task_slotptr]
-        CMP     R2,#0
-        MOVGT   R14,#nullptr
-        STRGT   R14,[R1,#task_slotptr]
-        [ Medusa
-        BLE     %FT03
-        MedusaOS
-        BEQ     %FT01
-        BL      deallocate
-        B       %FT03
-01
-; first find out how much memory is really in the slot
-        Push    "R2-R3"
-        MOV     R0,#0
-        LDR     R1,pagesize
-02
-        LDR     R14,[R2],#12
-        CMP     R14,#-1
-        ADDNE   R0,R0,R1
-        BNE     %BT02
-; R0 bytes in slot, update environment
-        ADD     R1,R0,#ApplicationStart
-        MOV     R0,#0
-        Push    "R1"
-        SWI     XOS_ChangeEnvironment
-        LDR     R1,[SP]
-        MOV     R0,#14
-        SWI     XOS_ChangeEnvironment
-        Pull    "R1"
-        Push    "R4"
-        SUB     R4,R1,#ApplicationStart
-        BL      SafeChangeDynamic
-        Pull    "R4"
-        Pull    "R2-R3"
-        CLRV
-        MOV     R0,#ModHandReason_Free
-        BL     XROS_Module              ; free the slot
-03
-        |
-        BLGT    deallocate              ; R2 --> block to deallocate from
-        ]
-;
-        Pull    "R1-R2,PC",,^           ; preserve flags
-
-;
-; Entry:  R2 --> slot block
-; Exit:   pages mapped into free pool etc. (maptofreepool called)
-;         slot block deallocated
-;
-
-deallocate      ROUT
-        Push    "LR"
-        [ Medusa
-        MedusaOS
-        BNE     %FT50
-        CMP     R2,#0
-        Pull    "PC",LE                 ; return if invalid slot pointer
-        Push    "R0-R4"
-        BL      mapslotout              ; map current task out of the way
-        LDR     R0,pagesize
-        MOV     R1,#0
-        MOV     R3,R2
-01
-        LDR     R14,[R3],#12
-        CMP     R14,#-1
-        ADDNE   R1,R1,R0
-        BNE     %BT01
-; R1 is now size of block in bytes
-        ADD     R1,R1,#ApplicationStart
-        MOV     R0,#0
-        Push    "R1"
-        SWI     XOS_ChangeEnvironment   ; set up suitable environment
-        MOV     R3,R1
-        Pull    "R1"
-        MOV     R0,#14
-        SWI     XOS_ChangeEnvironment
-        MOV     R4,R1
-        MOV     R0,R2
-        Push    "R2-R4"
-        BL      mapin                   ; map in area to be free'd
-        MOV     R4,#&10000000
-        BL      SafeChangeDynamic
-        Pull    "R2-R4"
-        CLRV
-        MOV     R0,#ModHandReason_Free
-        BL     XROS_Module              ; free the slot
-45
-        MOV     R1,R4
-        MOV     R0,#14
-        SWI     XOS_ChangeEnvironment   ; return environment to how it was
-        MOV     R1,R3
-        MOV     R0,#0
-        SWI     XOS_ChangeEnvironment
-        BL      mapslotin               ; put current task back
-        Pull    "R0-R4,PC"
-50
-        ]
-        BL      maptofreepool
-        CMP     R2,#0
-        MOVGT   R0,#ModHandReason_Free
-        BLGT   XROS_Module
-        Pull    "PC"
-
-;
-; Entry:  R2 --> slot block
-; Exit:   pages mapped to base of free pool
-;         page numbers put into free pool (lowest page last)
-;         [freepoolbase] updated
-;
-
-maptofreepool   ROUT
-        Push    "R1-R7,LR"
-;
-        CMP     R2,#0
-        Pull    "R1-R7,PC",LE           ; no block!
-;
-
-        LDR     R6,freepool
-        LDR     R7,freepoolpages        ; R7 = number of pages in free pool
-        ADD     R6,R6,R7,LSL #2
-        ADD     R6,R6,R7,LSL #3         ; R6 -> terminators of free pool
-        MOV     R0,R6                   ; R0 -> block for OS_SetMemMapEntries
-
-        LDR     R1,pagesize
-        LDR     R4,freepoolbase         ; R4 -> next address
-        MOV     R5,#2                   ; R5 = protection level
-01      LDR     R3,[R2],#12             ; R3 = page number
-        CMP     R3,#0
-        SUBGE   R4,R4,R1
-        STMGEIA R6!,{R3,R4,R5}          ; page number, address, protection level
-        ADDGE   R7,R7,#1
-        BGE     %BT01
-
-
-        STR     R4,freepoolbase
-        STR     R7,freepoolpages
-        MOV     R14,#-1
-        STR     R14,[R6]                ; terminator
-
-
-        SWI     XOS_SetMemMapEntries
-
-        Pull    "R1-R7,PC"              ; don't alter memorylimit
-
-;
-; mapslotin
-; all pages in a slot are put into the application space (&8000)
-; Entry:  [taskhandle] = current task
-; Exit:   pages mapped in
-;         handlers (eg. MemoryLimit) are also set up from task data
-;
-
-mapslotin       ROUT
-        Push    "R1-R4,LR"
-;
-        LDR     R14,taskhandle
-        LDR     R1,[wsptr,R14]          ; R1 --> task block
-        CMP     R1,#0
-        Pull    "R1-R4,PC",LE           ; task is dead (shouldn't happen)
-;
-        LDR     R0,[R1,#task_slotptr]
-        CMP     R0,#0                   ; no slot allocated
-        BLGT    mapin                   ; (corrupts R2)
-;
-
-        LDR     R14,taskhandle
-        LDR     R4,[wsptr,R14]          ; NB task cannot be dead
-        ADD     R4,R4,#task_environment
-;
-        MOV     R0,#0                   ; handler number
-01
-        LDMIA   R4!,{R1-R3}             ; restore task handler data
-        SWI     XOS_ChangeEnvironment
-        ADD     R0,R0,#1
-        CMP     R0,#MaxEnvNumber
-        BCC     %BT01
-;
-        Pull    "R1-R4,PC"
-
-;
-; Entry:  R0 --> block suitable for passing to OS_SetMemMapEntries
-; Exit:   the pages in the block are mapped into the application area
-;
-
-mapin   ROUT
-        MOV     R2,#ApplicationStart
-
-; Entry:  R0 --> page map block
-;         R2 --> start address of place to map pages to
-; Exit:   R2 --> after the memory
-
-mapslot         ROUT
-        Push    "R1,R3,LR"
-;
-        LDR     R3,pagesize
-        MOV     R1,R0
-01
-        LDR     R14,[R1],#4
-        CMP     R14,#0
-        STRGE   R2,[R1],#8              ; next page
-        ADDGE   R2,R2,R3
-        BGE     %BT01
-;
-        SWI     XOS_SetMemMapEntries
-;
-        Pull    "R1,R3,PC"
-
-;
-; mapslotout
-; all pages in a slot are put out of the way
-; Entry:  [taskhandle] = current task
-; Exit:   pages mapped out
-;
-
-mapslotout      ROUT
-        Push    "R1-R6,LR"
-;
-        LDR     R14,taskhandle
-        LDR     R6,[wsptr,R14]          ; R6 --> task block
-        CMP     R6,#0
-        Pull    "R1-R6,PC",LE           ; task is dead already
-;
-;
-        ADD     R5,R6,#task_environment
-        MOV     R0,#0
-01
-        TEQ     R0,#EscapeHandler       ; we must replace these now,
-        TEQNE   R0,#EventHandler        ; since they are dangerous!
-        MOVNE   R1,#0
-        MOVNE   R2,#0
-        MOVNE   R3,#0
-        SWIEQ   XOS_ReadDefaultHandler  ; replace with 'kosher' handlers
-        SWI     XOS_ChangeEnvironment   ; set, and read original settings
-        STMIA   R5!,{R1-R3}             ; old data
-        ADD     R0,R0,#1
-        CMP     R0,#MaxEnvNumber
-        BCC     %BT01
-;
-        LDR     R0,[R6,#task_slotptr]
-        CMP     R0,#0                   ; R0 --> slot block
-        BLGT    mapout                  ; NB do this afterwards!
-;
-        Pull    "R1-R6,PC"
-
-;
-; Entry:  R0 --> block suitable for passing to OS_SetMemMapEntries
-; Exit:   all pages referenced in the block are mapped out of the way
-;
-
-mapout  ROUT
-        Push    "R1-R3,LR"
-;
-        MOV     R2,#-1                  ; map out of the way
-        LDR     R3,pagesize
-        MOV     R1,R0
-01
-        LDR     R14,[R1],#4
-        CMP     R14,#0
-        STRGE   R2,[R1],#8              ; next page
-        BGE     %BT01
-;
-        SWI     XOS_SetMemMapEntries
-;
-        Pull    "R1-R3,PC"
-
-
-;;----------------------------------------------------------------------------
-;; *WimpSlot command (for changing amount of application space)
-;;----------------------------------------------------------------------------
-
-                ^       0
-vec_min         #       4               ; fields in output vector
-vec_max         #       4
-vec_next        #       4
-
-ss_outputvec    *       &100
-
-
-Keydef  DCB     "min,max,next", 0       ; -min no longer compulsory
-        ALIGN
-
-WimpSlot_Code   ROUT
-        Push    "R11,R12,LR"
-        LDR     wsptr,[R12]
-        MOV     R11,sp                  ; remember stack for later
-;
-        SUB     sp,sp,#ss_outputvec     ; local workspace
-;
-; scan the comand line by calling OS_ReadArgs
-;
-        MOV     R1,R0                   ; R1 = input string
-        ADR     R0,Keydef               ; R0 = key definition string
-        MOV     R2,sp                   ; R2 = output vector
-        MOV     R3,#ss_outputvec        ; R3 = max output vector length
-        SWI     XOS_ReadArgs
-        BVS     %FT99
-;
-; scan the resulting vector for known fields
-;
-        MOV     R0,#MemoryLimit
-        MOV     R1,#0
-        SWI     XOS_ChangeEnvironment
-        SUB     R3,R1,#ApplicationStart ; R3 = current amount of memory
-;
-        LDR     R1,[sp,#vec_min]
-        CMP     R1,#0
-        BLE     %FT01
-        BL      getminmax               ; R0 = min memory
-        BVS     %FT99
-        CMP     R0,R3
-        BLE     %FT01
-;
-        Push    "R0"                    ; R0 = new current slot size
-        MOV     R1,#-1                  ; leave next slot alone
-        SWI     XWimp_SlotSize
-        Pull    "R1"
-        BVS     %FT99
-        CMP     R0,R1                   ; R0=actual size, R1=required size
-        BLT     err_notenoughmemory
-        MOV     R3,R0                   ; R3 = new amount of memory
-01
-        LDR     R1,[sp,#vec_max]
-        CMP     R1,#0
-        BLE     %FT02
-        BL      getminmax               ; R0 = max memory
-        BVS     %FT99
-        CMP     R0,R3
-        MOVLT   R1,#-1                  ; leave next slot alone
-        SWILT   XWimp_SlotSize
-02
-        LDR     R1,[sp,#vec_next]
-        CMP     R1,#0
-        BLE     %FT99
-        BL      getminmax               ; R0 = new next slot size
-        MOVVC   R1,R0
-        MOVVC   R0,#-1                  ; leave current slot alone
-        SWIVC   XWimp_SlotSize
-99
-        MOV     sp,R11
-        Pull    "R11,R12,PC"
-
-err_notenoughmemory
-        MOV     R0,R1,ASR #10           ; R0 = size in K
-;
-        SUB     SP,SP,#32               ; allocate buffer big enough
-;
-        MOV     R1,SP
-        MOV     R2,#20
-        SWI     XOS_BinaryToDecimal     ; convert to a string
-        ADDVS   SP,SP,#32
-        BVS     %BT99                   ; (exit if it errored)
-;
-        MOV     R0,#0
-        STRB    R0,[R1,R2]              ; terminate the string
-;
-        Push    "R4,R5"
-;
-        MOV     R4,R1                   ; -> string to use
-        MOV     R5,#0
-
-        MOV     R3,#(?errordynamic)-4
-        ADRL    R2,errordynamic+4       ; -> buffer to fill in
-        ADR     R0,errmem
-        BL      LookupToken
-;
-        Pull    "R4,R5"
-        ADD     SP,SP,#32               ; balance the stack
-;
-        ADRL    R0,errordynamic
-        LDR     R1,=ErrorNumber_ChDynamNotAllMoved
-        STR     R1,[R0]
-;
-        SETV
-        B       %BT99                   ; exit having setup the error block
-
-errmem  DCB     "ErrMem",0
-        ALIGN
-
-;
-; Entry:  R1 --> string
-; Exit:   R0 = parameter value (number)
-; Errors: "Bad number"
-;
-
-getminmax       ROUT
-        Push    "R1-R3,LR"
-;
-        MOV     R0,#10
-        SWI     XOS_ReadUnsigned
-        Pull    "R1-R3,PC",VS
-;
-        LDRB    R3,[R1]                 ; if terminator is "K" or "k",
-        UpperCase R3, R14
-        TEQ     R3,#"K"
-        ADDEQ   R1,R1,#1
-        MOVEQ   R2,R2,LSL #10           ; multiply by 1024
-;
-        LDRB    R14,[R1]                ; check terminator
-        RSBS    R14,R14,#" "+1          ; ensure GT set if OK
-        MyXError BadNumb,LE
-;
-        MOVVC   R0,R2                   ; R0 = answer
-        Pull    "R1-R3,PC"
-        MakeInternatErrorBlock BadNumb,,BadParm
-
-
-;;----------------------------------------------------------------------------
-;; Stuff to deal with OS_ChangeDynamicArea
-;;----------------------------------------------------------------------------
-
-;
-; intercept OS_ChangeDynamicArea
-;
-
-initdynamic     ROUT
-        [ :LNOT: FreePoolWCF
-        [ Medusa
-         [ true
-        Push    "R0-R2,lr"
-        MOV     R0,#6
-        SWI     XOS_ReadDynamicArea             ; is there a kernel free pool
-        Pull    "R0-R2,lr"
-        MOVVCS  PC,lr
-        CLRV
-        |
-        MedusaOS
-        MOVEQS PC,lr
-         ]
-        ]
-        ]
-        Push    "R1-R4,LR"
-;
-        ADR     R0,RAM_SWIEntry
-        LDR     R1,copyofRAMcode+0
-        LDR     R2,copyofRAMcode+4
-        ADR     R3,My_ChangeDynamic
-        LDR     R14,=SvcTable + 4 * OS_ChangeDynamicArea
-        LDR     R4,[R14]                        ; R4 = old SWI entry
-        TEQ     R4,R0
-        Pull    "R1-R4,PC",EQ                   ; if already in, forget it!
-
-        STMIA   R0,{R1-R4}
-        STR     R0,[R14]                        ; R0 = RAM_SWIEntry
-  [ StrongARM
-    ;synchronise with respect to modified code at RAM_SWIEntry
-        MOV     R1,R0                           ; start address
-        ADD     R2,R1,#4                        ; end address (inclusive) for 2 words (other 2 are addresses)
-        MOV     R0,#1                           ; means R1,R2 specify range
-        SWI     XOS_SynchroniseCodeAreas        ; do the necessary
-  ]
-        Pull    "R1-R4,PC"
-
-copyofRAMcode
-        SUB     R12,PC,#:INDEX:RAM_SWIEntry+8
-        LDR     PC,[PC,#-4]
-        ASSERT  (.-copyofRAMcode = 8)
-        ASSERT  (OScopy_ChangeDynamic-RAM_SWIEntry = 12)
-
-resetdynamic    ROUT
-       [ :LNOT: FreePoolWCF
-        [ Medusa
-        MedusaOS
-        MOVEQS PC,lr
-        ]
-       ]
-
-        Push    "R1,LR"
-;
-; happy note for StrongARM - this is not a code modification (vector address change only)
-;
-        LDR     R1,=SvcTable + 4 * OS_ChangeDynamicArea
-        LDR     R14,OScopy_ChangeDynamic
-        STR     R14,[R1]
-;
-        Pull    "R1,PC"
-        LTORG
-
-
-;----------------------------------------------------------------------------
-; OS_ChangeDynamicArea
-; Entry:  R0 = area to move (0=system heap, 1=RMA, 2=screen)
-;         R1 = amount to move (+ve ==> take away from application space)
-; Exit:   R1 = amount actually moved
-; Errors: not all bytes moved (0 moved if R1 was +ve)
-;
-;  if freepool < 0 or CAO pointer <> Wimp,
-;  then just pass it on
-;  else if not enough free pool memory, grab some from current slot
-;       map all pages into the application space
-;       reset ApplicationSpaceSize/MemoryLimit to their original values
-;       branch to the OS code
-;-----------------------------------------------------------------------------
-
-        LTORG
-
-My_ChangeDynamic  ROUT
-        Push    "R0-R5,LR"
-        [ Medusa :LAND: FreePoolWCF
-        MedusaOS
-        BNE     %FT05
-        ADRL    R14,freepoolinuse
-        LDRB    R2,[R14]
-        TEQ     R2,#0
-        BEQ     goto_osentry
-; free pool is in use by WCF, must trap with 'memory cannot be moved'
-        MOV     R1,#0
-        ADD     SP,SP,#8
-        MyXError ChDynamNotAllMoved
-
-        Pull    "R2-R5,lr"
-        ORR     lr,lr,#V_bit                    ; note 26 bit mode only!!!!
-        LDR     PC,=BranchToSWIExit
-
-        MakeInternatErrorBlock ChDynamNotAllMoved,,ErrNoMv
-        LTORG
-05
-        ]
-;
-; if freepool>0, the Wimp MUST be in control
-;
-        LDR     R14,freepool
-        CMP     R14,#0
-        BLE     goto_osentry
-;
-        MOV     R14,#IRQsema            ; if in IRQ, forget it!
-        LDR     R14,[R14]
-        TEQ     R14,#0
-        BNE     goto_osentry
-;
-        LDRB    R14,memoryOK            ; check for re-entrancy
-        TST     R14, #mem_remapped
-        BNE     goto_osentry            ; shouldn't ever happen
-
-        TST     R14, #mem_claimed       ; if free memory claimed
-        BNE     noslot                  ; then continue, but trap it in Service_Memory
-;
-; work out if the current free pool is sufficient to meet the demand
-; if not, see whether the current application would like to give some up
-;
-        LDR     R14,freepoolpages       ; R14 = number of free pages
-        LDR     R0,pagesize
-        MUL     R14,R0,R14              ; R14 = free memory
-        LDR     R1,[sp,#4]
-        SUBS    R14,R14,R1              ; R14 = extra needed (if -ve)
-        BGE     noslot
-        SUB     R0,R0,#1                ; round to next lower page boundary
-        BIC     R0,R14,R0               ; assume pagesize = 2^n
-;
-        BL      readCAOpointer          ; OS_ChangeEnvironment -> R2
-        LDR     R14,orig_applicationspacesize
-        CMP     R2,R14
-        BCC     noslot                  ; can't do it
-        ADRL    R14,Module_BaseAddr
-        TEQ     R2,R14
-        BEQ     %FT02                   ; OK if Wimp active - don't even ask!
-;
-        MOV     R1,#Service_Memory      ; R0 = amount to change area by
-        SWI     XOS_ServiceCall
-        CMP     R1,#0                   ; clear V!
-        BEQ     noslot                  ; can't do it
-02
-        Push    "R0"                    ; amount to move (-ve)
-        MOV     R0,#ApplicationSpaceSize
-        MOV     R1,#0
-        SWI     XOS_ChangeEnvironment   ; R1 = size of current slot
-        Pull    "R0"
-        SUB     R1,R1,#ApplicationStart ; convert from end address to SIZE
-        ADDS    R0,R1,R0                ; R0 = new slot size (if -ve, ignore)
-        MOVGE   R1,#-1
-        SWIGE   XWimp_SlotSize          ; I hope this works!
-noslot
-;
-; map all slots into application space
-;
-        MOV     R0,#CAOPointer          ; Wimp active during OS_ChangeDynamic
-        ADRL    R1,Module_BaseAddr
-        SWI     XOS_ChangeEnvironment
-        STR     R1,oldCAOpointer        ;; MUST RESTORE CAOPOINTER !!!
-;
-; swap total memory limits with local ones
-;
-;
-        MOV     R0,#MemoryLimit
-        LDR     R1,orig_memorylimit
-        SWI     XOS_ChangeEnvironment
-        STR     R1,orig_memorylimit             ; swap these over
-;
-        MOV     R0,#ApplicationSpaceSize
-        LDR     R1,orig_applicationspacesize
-        STR     R1,oldapplimit                  ; used later
-        SWI     XOS_ChangeEnvironment
-        STR     R1,orig_applicationspacesize    ; swap these over
-;
-; map all slots into the area above the current one
-;
-        BL      rackupslots             ; R1 --> address to start from
-                                        ; current task is left alone
-;
-; free pool is already present at the top end of the memory
-; check that we now have a contiguous block of memory
-;
-
-        LDRB    R14,memoryOK
-        ORR     R14,R14,#mem_remapped   ; set flag for Service_Memory
-        STRB    R14,memoryOK
-
-goto_osentry
-        Pull    "R0-R5,LR"
-        LDR     PC,OScopy_ChangeDynamic
-
-;
-; Entry:  R1 --> address to start putting slots at
-; Exit:   all slots mapped into application space, not overlapping
-;         R2 --> end address of slots
-;         R0,R1,R3,R4 trashed
-;
-rackupslots     ROUT
-        Push    "LR"
-;
-        MOV     R2,R1                           ; start mapping from here
-        ADRL    R1,taskpointers
-        LDR     R3,taskhandle           ; this one's been done already
-        ADD     R3,wsptr,R3
-        MOV     R4,#maxtasks
-01
-        TEQ     R1,R3                   ; is this the current task?
-        LDR     R14,[R1],#4             ; NB always increment R1
-        TEQNE   R14,#task_unused
-        LDRNE   R0,[R14,#task_slotptr]
-        MOVEQ   R0,#nullptr
-        CMP     R0,#0
-        BLGT    mapslot                 ; updates [R0..], R2
-        SUBS    R4,R4,#1
-        BNE     %BT01
-;
-        Pull    "PC"
-
-;
-; Entry:  all slots mapped into application space, consecutively
-; Exit:   all slots except the current one are mapped out
-;         R0-R4 trashed
-;
-
-unrackslots     ROUT
-        Push    "LR"
-;
-        ADRL    R1,taskpointers
-        LDR     R3,taskhandle           ; leave this one alone
-        ADD     R3,wsptr,R3
-        MOV     R4,#maxtasks
-01
-        TEQ     R1,R3                   ; is this the current task?
-        LDR     R14,[R1],#4             ; NB always increment R1
-        TEQNE   R14,#task_unused
-        LDRNE   R0,[R14,#task_slotptr]
-        MOVEQ   R0,#nullptr
-        CMP     R0,#0
-        BLGT    mapout
-        SUBS    R4,R4,#1
-        BNE     %BT01
-;
-        Pull    "PC"
-
-        [ Medusa
-;-----------------------------------------------------------------------------
-; Service_PagesSafe interception
-; Entry:  R2    No. of pages to move
-;         R3    page list before move
-;         R4    page list after move
-;-----------------------------------------------------------------------------
-        DCB     "PagesSafe"
-
-servicepagessafe
-        Push    "R0-r8,lr"
-;        SWI     &107                    ; beep when this happens
-        MOV     R0,#0
-        ADD     R5,R2,#1
-        MOV     R8,R4
-        MOV     R4,R3
-01
-        SUBS    R5,R5,#1
-        BEQ     %FT09
-        LDR     R6,[R4],#12
-        CMP     R6,#-1
-        BEQ     %FT09
-        LDR     R7,[R8],#12              ; 3-word entries
-        MOV     R0,#-1
-        ADRL    R3,taskpointers
-03
-        ADD     R0,R0,#1
-        CMP     R0,#maxtasks
-        BEQ     %FT11
-        LDR     R2,[R3,R0, LSL #2]
-        TEQ     R2,#task_unused
-        BEQ     %BT03
-        LDR     R2,[R2,#task_slotptr]
-        CMP     R2,#-1
-        BEQ     %BT03
-05
-        LDR     R1,[R2],#12
-        CMP     R1,#-1
-        BEQ     %BT03
-        CMP     R1,R6
-        BNE     %BT05
-        STR     R7,[R2,#-12]
-        B       %BT01
-09
-        Pull    "R0-R8,PC"
-11
-; just in case 1-tasking & task isn't in the list
-        LDR     R0,taskhandle
-        LDR     R2,singletaskhandle
-        CMP     R0,R2
-        BNE     %BT01
-        LDR     R0,pendingtask
-        CMP     R0,#1
-        BLT     %BT01
-        LDR     R2,[R0,#task_slotptr]
-        CMP     R2,#-1
-        BEQ     %BT01
-13
-        LDR     R1,[R2],#12
-        CMP     R1,#-1
-        BEQ     %BT01
-        CMP     R1,R6
-        BNE     %BT13
-        STR     R7,[R2,#-12]
-        B       %BT01
-        ]
-
-
-;-----------------------------------------------------------------------------
-; Service_Memory interception
-; Entry:  R0 = amount application space would be altered by
-;         R2 = CAO pointer
-;-----------------------------------------------------------------------------
-
-servicememory   ROUT
-        [ Medusa
-         [ true
-        Push    "R0-R2,lr"
-        MOV     R0,#6
-        SWI     XOS_ReadDynamicArea             ; is there a kernel free pool
-        Pull    "R0-R2,lr"
-;        BVC     medusaaboutto
-        MOVVCS  PC,lr
-        CLRV
-        |
-        MedusaOS
-        MOVEQS  PC,lr
-         ]
-        ]
-        Push    "R0-R3,LR"
-
-;
-        Debug   dy,"Service_Memory: CAO pointer, amount to move =",R2,R0
-;
-        LDR     R14,freepool            ;; Wimp 1.89o onwards
-        CMP     R14,#nullptr            ;;
-        BNE     %FT01                   ;; only allow paging if
-        LDR     R14,taskhandle          ;; the "owner" slot is active
-        LDR     R1,inithandle           ;;
-        TEQ     R1, R14                 ;; TMD: actually do the comparison!
-        BNE     serviceclaim            ;;
-01
-
-        LDRB    R14, memoryOK           ; if free memory has been claimed
-        TST     R14, #mem_claimed       ; then refuse to move memory
-        BNE     serviceclaim
-
-        ADRL    R14,Module_BaseAddr
-        TEQ     R2,R14                  ; are we in control?
-        Pull    "R0-R3,PC",NE
-        TEQ     R0,#IsAnybodyThere      ; if this is the Wimp, allow it
-        Pull    "R0-R3,PC",EQ
-;
-        LDR     R14,freepool            ; is there a free pool?
-        CMP     R14,#nullptr
-        Pull    "R0-R3,PC",LT           ; freepool=-2 ==> OK (not running)
-        LDRNEB  R14,memoryOK            ; if not remapped already, stop this!
-        TSTNE   R14,#mem_remapped       ; (usually because memory claimed)
-        BEQ     serviceclaim
-;
-        LDR     R1,oldapplimit          ; orig_applicationspacesize is wrong
-        LDR     R0,[sp]                 ; (has been swapped with local one)
-        ADD     R0,R1,R0                ; proposed new end-of-memory
-        LDR     R14,freepoolbase
-        CMP     R0,R14
-        Pull    "R0-R3,PC",CS
-
-serviceclaim
-        MOV     R14,#0
-        STR     R14,[sp,#1*4]           ; claim service if not enough memory
-        Pull    "R0-R3,PC"
-
-medusaaboutto
-
-        Push    "R0,lr"
-
-        ADRL    R0,Module_BaseAddr
-        TEQ     R0,R2
-        Pull    "R0,PC",NE
-        LDR     R0,inithandle
-        LDR     R14,taskhandle
-        TEQ     R0,R14
-        MOVNE   R1,#0
-
-        Pull    "R0,PC",,^
-
-
-medusaservicemem
-        ; page may have been taken out of application space
-        ; the slot block must be updated.
-        Push    "R0-R3,lr"
-        ; first check pending task
-
-        LDR     R14,pendingtask
-        MOVS    R0,R14,ASR #31
-        LDREQ   R0,[R14,#task_slotptr]
-        CMP     R0,#0
-        SWIGT   XOS_FindMemMapEntries
-        BGT     %FT05
-
-        LDR     R14,taskhandle
-        CMP     R14,#0
-        Pull    "R0-R3,PC",EQ,^
-
-        LDR     R14,[wsptr,R14]
-        MOVS    R0,R14,ASR #31
-        LDREQ   R0,[R14,#task_slotptr]
-        CMP     R0,#0
-        SWIGT   XOS_FindMemMapEntries
-
-05
-
-
-
-
-
-        Pull    "R0-R3,PC",,^
-
-;-----------------------------------------------------------------------------
-; Service_MemoryMoved interception
-; Put pages back into their proper positions
-;-----------------------------------------------------------------------------
-
-servicememorymoved  ROUT
-        [ Medusa
-         [ true
-        Push    "R0-R2,lr"
-        MOV     R0,#6
-        SWI     XOS_ReadDynamicArea             ; is there a kernel free pool
-        Pull    "R0-R2,lr"
-        BVC     medusaservicemem
-
-        CLRV
-        |
-        MedusaOS
-        MOVEQS  PC,lr
-         ]
-        ]
-        Push    "R0-R7,R10-R11,LR"
-
-;
-        MOV     R14,#IRQsema            ; if in IRQ, forget it!
-        LDR     R14,[R14]
-        TEQ     R14,#0
-        Pull    "R0-R7,R10-R11,PC",NE,^
-;
-        TEQP    PC,#SVC_mode            ; enable interrupts (bug in MOS)
-;
-        LDR     R14,freepool            ; no messing about if no free pool
-        CMP     R14,#nullptr
-        Pull    "R0-R7,R10-R11,PC",LT,^ ; Wimp not involved at all
-        BNE     %FT01                   ; Wimp has a free pool to maintain
-;
-        LDR     R0,taskhandle                ;; Wimp 1.89o onwards
-        LDR     R14,inithandle               ;;
-        TEQ     R0,R14                       ;; update these if "owner" slot
-        Pull    "R0-R7,R10-R11,PC",NE,^      ;; is being altered
-;                                            ;;
-        MOV     R0,#ApplicationSpaceSize     ;; restorepages uses these later
-        MOV     R1,#0                        ;;
-        SWI     XOS_ChangeEnvironment        ;;
-        STRVC   R1,orig_applicationspacesize ;;
-        MOV     R0,#MemoryLimit              ;;
-        MOV     R1,#0                        ;;
-        SWI     XOS_ChangeEnvironment        ;;
-        STRVC   R1,orig_memorylimit          ;;
-                                             ;;
-        Pull    "R0-R7,R10-R11,PC",,^        ;;
-
-01
-        LDRB    R14,memoryOK            ; if not remapped, forget it
-        TST     R14,#mem_remapped
-        Pull    "R0-R7,R10-R11,PC",EQ,^
-;
-; restore correct CAO pointer (forced to be Wimp during OS_ChangeDynamic)
-;
-        MOV     R0,#CAOPointer
-        LDR     R1,oldCAOpointer
-        SWI     XOS_ChangeEnvironment   ; ignore errors
-;
-; scan all slots to see if the memory has moved
-;
-        ADRL    R5,taskpointers
-        MOV     R4,#maxtasks
-01
-        LDR     R14,[R5],#4
-        MOVS    R0,R14,ASR #31          ; R0 = 0 (OK) or -1 (no slot)
-        LDREQ   R0,[R14,#task_slotptr]
-        CMP     R0,#0
-        SWIGT   XOS_FindMemMapEntries   ; R10 --> new map, R0 --> slot
-        SUBS    R4,R4,#1                ; clears V
-        BNE     %BT01
-;
-; don't forget the 'pending' slot
-;
-        LDR     R14,pendingtask         ;; this was missing in Risc OS 2.00
-        MOVS    R0,R14,ASR #31          ;;
-        LDREQ   R0,[R14,#task_slotptr]  ;; essential for screen remapping
-        CMP     R0,#0                   ;;
-        SWIGT   XOS_FindMemMapEntries   ;;
-;
-; restore the current orig_applicationspacesize/memorylimit for this slot
-;
-        BL      restorememlimit
-        LDR     R3,oldapplimit
-        STR     R1,orig_memorylimit             ; these must be equal
-        STR     R1,orig_applicationspacesize
-;
-; reconstruct the free slot by entering the expected addresses
-; note that sometimes more than just the free pool will have been removed
-;
-        LDR     R2,freepool             ; R1 -> end of memory, R2 -> free slot
-        BL      findfreepool            ; fills in free pool
-
-        MOV     R1,#2                   ; no USR mode read/write
-        BL      setslotaccess
-;
-; map out all applications except the current one
-; NB: this is important so that pages cannot coincide later
-;
-        BL      unrackslots
-;
-        LDRB    R14,memoryOK
-        BIC     R14,R14,#mem_remapped   ; should be alright again now!
-        STRB    R14,memoryOK
-;
-        Pull    "R0-R7,R10-R11,PC",,^
-
-
-
-;;----------------------------------------------------------------------------
-;; Neil's debugging routines
-;;----------------------------------------------------------------------------
-
-      [ debug
-        InsertNDRDebugRoutines
-      ]
-
-;;----------------------------------------------------------------------------
-;; Resource files
-;;----------------------------------------------------------------------------
-
-romsprites
-        DCD     16,0,16,16              ; null area just in case
-
-resourcefsfiles
-      [ standalone
-        ResourceFile    Resources.<Locale>.Messages,     Resources.Wimp.Messages
-      [ NewErrorSystem
-        ResourceFile    Resources.<Locale>.Template3D,   Resources.Wimp.Templates  ; AMcC 18-Oct-94 was Template3D
-        |
-        ResourceFile    Resources.<Locale>.Templates,    Resources.Wimp.Templates
-      ]
-      ]
-        [ false
-        ResourceFile    Resources.<Locale>.Sprites,      Resources.Wimp.Sprites
-        ResourceFile    Resources.<Locale>.Tools,        Resources.Wimp.Tools
-        ]
-        ResourceFile    Resources.!WIMPSym.WIMPSymbol.Encoding,   Fonts.WIMPSymbol.Encoding
-        ResourceFile    Resources.!WIMPSym.WIMPSymbol.f240x120,   Fonts.WIMPSymbol.f240x120
-        ResourceFile    Resources.!WIMPSym.WIMPSymbol.IntMetrics, Fonts.WIMPSymbol.IntMetrics
-        ResourceFile    Resources.!WIMPSym.WIMPSymbol.Outlines,   Fonts.WIMPSymbol.Outlines
-      [ :LNOT: NoDarwin
-        [ RealDarwin
-        ResourceFile    Resources.!Darwin.Darwin.f240x120,    Fonts.Darwin.Medium.f240x120
-        ResourceFile    Resources.!Darwin.Darwin.IntMetrics,  Fonts.Darwin.Medium.IntMetrics
-        |
-        ResourceFile    Resources.!Homerton.homerton.IntMetric0,  Fonts.Darwin.Medium.IntMetric0
-        ResourceFile    Resources.!Homerton.homerton.Outlines0, Fonts.Darwin.Medium.Outlines0
-        ]
-      ]
-        [ standalone :LAND: false
-        ResourceFile    Resources.desktop,      Resources.Desktop.Messages
-        ]
-        DCD     0
-
-
-  ] ; :LNOT: UseAMBControl
-
-        END
-- 
GitLab