Open Source RiscOS Software

Although I've not had the time or other resources to work on these
applications for some time, there seems to still be demand for them.
The previously-released versions work well, and continue to
do so, on the older Acorn hardware.

The sources available for download here have been converted to produce
a 32-bit application which will run on the latest available ARM
hardware. The conversion was performed by
Spellings Computer Services;
ready-compiled versions
(for a nominal charge) are available from them.

The applications would also benefit from some maintenance and upgrades
for the benefit of those still-faithful users. Since the source is
now available under the
GNU GPL,
it's up to you...

Licence Terms

In order to avoid any possible confusion with previous commercial
products, I'd suggest that any applications built from these sources
(whether for 26-bit or 32-bit systems, and whether unchanged, ported
or extended) should not be released under the names "Vector" or
"GridPro". The names in the source archives are a suggestion.

System Requirements

The source code compiles into a 26-bit RiscOS application under
RiscOS 4.02 with Acorn/Norcroft C version 5.06, on a
StrongARM RiscPC. Building a 32-bit application, or a 26/32-bit
neutral application, requires appropriate versions of the compiler and
associated tools under a suitable OS. If you have these then, of
course, you will know exactly what is required.

It does not require any other libraries or utilities, apart from those
provided with the Desktop C development system.

The source currently includes a set of makefiles written for
GNU Make, which is available from the
Unix Porting Project
and possibly other places as well. You are welcome to try to adapt
the build system to use AMU, or whatever is provided now, although the
last time I looked that was simply not powerful or versatile enough to
support a complex project like this (especially the common shared
source area). The build also uses some other utilities, which are
included.

Source Organisation and Build Instructions

The two library source archive files, the common application source
archive, and whichever of the application source archives you wish to
work on, need to be unpacked into the same location - obviously it
would be best to create a new empty directory first. Having done so,
the directory structure should be as shown here.

The utils directory contains utilities which
are used for building all of the rest of the libraries and
applications. Some of these are wrappers for the compilers and
linkers provided with Desktop C, providing filename translation
and a more sensible argument syntax so that they can be used with
GNU Make. Others are used to build message and template files.
A
make
or equivalent in this directory needs to be done first of all; after
that, either do
make install
to install the programs in the library directory, or add this
directory to
Run$Path.

The lib directory contains the library sources.
Subdirectories
asm, make, messages and templates
contain components which are used and will be found automatically by
others; nothing needs to be done here.

The sys subdirectory contains the low-level parts of the former
RiscOS Library, mostly system call wrappers written in assembler
with corresponding C header files.

The riscos subdirectory is the remainder of the former
RiscOS Library, mainly the C parts with some optimisations in
assembler. It uses the 'sys' library, of course.

The draw subdirectory is the Draw-related parts extracted
from the former RiscOS Library, again mainly in C with some
optimisations in assembler. It also includes the compressed
Draw file loading and saving code originally provided from
4Mation, much of which is unused now (see the source comments for
why). It uses the 'sys' and 'riscos' libraries.

The jjm subdirectory contains system and user interface
routines written by myself (obviously...). As well as a library to be
linked with the applications, it produces the VectorUtil
module (from the vectutil.s source file) which is used by the
applications for pointer shape management, keyboard handling and some
other functions. This module needs to be loaded when running the
applications (it will automatically unload itself when no longer
needed).

To build the libraries, do a
make (or equivalent)
in the directories in this order:
sys, riscos, draw and finally jjm.
No subsequent installation or copying is needed.

Once the libraries are available, the applications
can be built. The common directory contains source files
which are used by more than one of the applications, sometimes with
conditional parts to implement the different facilities or code
organisation of the applications. These are located automatically
using the VPATH facility (this is why GNU Make is
required to use the makefiles as supplied); they do not need to be
built directly.

To build an application, do a make (or equivalent) in the
corresponding application directory. This will compile the sources
(both the application-specific parts here, and the required files from
the common source), and link it with the libraries to produce the final
!RunImage. It will also produce resource files (templates and
messages) as required.

Having done that, the application can be run in place.

Downloads

The "Spark" and "Tar" source archives contain exactly the same files.
The two formats are provided here to ease downloading and unpacking on
other systems; if you are using a RiscOS system throughout it would be
better to download the "Spark" format files, as they will preserve the
RiscOS file type information when unpacked. If the file types should
be lost, there is a SETTYPES file in each directory (where
required); running this file, after setting its type to Obey
if necessary, will reset the file types.

The library sources and the common application source are required to
build any of the applications.

These document files are additional notes for the upgraded versions of
Vector; they should be read in conjunction with the original manual
which would have been supplied with purchased copies from 4Mation.

Further Information

There isn't much else at the moment, apart from the source itself
which is fairly well commented. If there is any more technical
information that you need or queries that you have, then please feel
free to mail me; I will try to answer to the best of my knowledge or
assist in any other way possible.

Many thanks to Spellings Computer Services for their 32-bit
port; I hope that these applications, as well as the RiscOS system
itself of course, will continue to be useful well into the future.