Each linked page in this index is devoted to a single software package. I expect to provide the source code and notes explaining the background and how to compile the code. As the title of this page suggests this is software which is not being actively developed any longer.
Some of the software was ported to Windows and for that the Windows source code is available from a separate link on the relevant page. General information about Windows versions follows on this page after a discussion of RISC OS.
I always built my RISC OS software from the command line. Typically using two commands mk and l. The first launches my simple BBC Basic make utility; all it does is build any files for which the o. objective version is missing. The l file links the o. files producing the final code. Often there is a 'list' file which contains the files to be linked.
In the early days, there was a separate copy of the BBC Basic 'mk' in each project file. Latterly, 'mk' is an Obey file which calls the BBC Basic program 'mkcommand', a single copy of which lives in the Library foider. See mkcommand.
Through my RISC OS career I only ever used Norcroft C - code will compile with that. However I did have the habit of renaming the compiler each generation. To me cc was the compiler from 1987, cc5 was the one from the late 90's. You may find mk commands with different suffixes for different compiler versions or for different (later) ARM versions.
Where there is a BBC Basic file called M, it is used to generate a data file defining the menus. The old programs (pre 1993) are self contained. Later ones use my XL library; to build them you need the library and to have it set up in the right location.
I've added the suffix 'Rel' to much of the code, to reproduce the situation on my hard disc and allow you to build the programs, this has to be removed. So I have $.XL not $.XLRel.
I would be happy to simply put the contents of my RISC OS hard disc online. It would make little difference after the many years since the demise of Acorn. However for fear of infringing intellectual property rights these releases are edited.
If you think your ip is being abused... I'm happy to remove anything. Bear in mind all this happened a long time ago (the key developments in the Acorn market took place between 1988 and 1992 - we may have precedence), a long way away (the Acorn market was geographically limited - about two machines in the USA - many in the UK and some in Germany and Australia). Every business in the Acorn world faced a market that was always too small, always shrinking and after 10 years vanished - almost all closed shortly after Acorn (1998). Finally my intentions are to do good by making this code public.
After Acorn's demise I moved to Windows - bad decision. All my Windows software was produced with MS Visual C++ version 6. I stuck to API programming. Probably not a bad idea, at the start I could have used MFC (Microsoft Foundation Class) which was at that point the accepted framework. In the last days of Acorn, Computer Concepts said they'd produce a RISC OS version of Xara if Acorn would provide a RISC OS port of MFC. The joke is that relatively soon MS produced the .net framework and overnight opinion changed, MFC was the worst thing ever and .net was the future.
The structure of my Windows software is similar to that of the RISC OS software, I have a library XL which applications have to be linked to. On Windows it maps RISC OS style functions to Windows API calls. There are almost no Windows API calls in the application code, everything OS specific is in the library. There are a lot of similarities between RISC OS and Windows as regards programming desktop applications.
For RISC OS I used the template editor to design windows, there was something very similar for Windows, window definitions are stored in .exe files. I had code that took RISC OS template files and produced the equivalent Windows window definitions - so called resource files .rc. There are various .rc file editors available.
Ovation Pro test documents
Set of bitmaps - images of every bit-depth/mode, with and without masks