Wimp Basic is a programming language and integrated development
environment created by Hskuldur Hermannsson. It was originally
published by Clares and more recently by APDL.

This archive contains 32-bit compatible versions of the
WimpBasic module (the dynamic linker and runtime library) and
WBLinker (a loader found inside every application created using
Wimp Basic). The 'WBmodule' file describes the SWI interface of
the WimpBasic module and lists changes in versions 2.10 to 2.16
of that module.

These parts were previously distributed by APDL with Wimp Basic
version 2.11 (04-Aug-2006) and can be distributed freely.

WBLinker allocates memory for a program, loads it and uses the
SWI interface of the WimpBasic module to link the program to the
runtime library. It incorporates RISCOS Ltd's generic Shared C
Library stubs and has been 'squeezed' to reduce its file size.
It should unsqueeze itself automatically when it is run.

If an application was saved by the development environment in
optimized (i.e. compiled) form then its !RunImage file will
contain LDMIA R13!,{R8,R9,PC}^ instructions. These are
unpredictable when executed in 32-bit user or system mode. In
practice they appear to work on IOP321 (the CPU in an Iyonix PC)
but not on OMAP3 (the CPU in a BeagleBoard).

If an application was saved by the development environment in
non-optimised form then its !RunImage file comprises tokens. It
is the responsibility of the WimpBasic module to implement the
ENDPROC/FN_RETURN tokens using code compatible with 32-bit user
mode (which it does).

Christopher Bazley
mailto:cs99cjb@gmail.com
http://www.kingfishercorner.eu
15th October 2017
