ROVLib - Easy applications in C

Important note

ROVLib is exclusively for RISC OS computers, and code linked with it will not work on non RISC OS computers (excluding RISC OS emulators).


ROVLib is released under The Artistic License.

Why the Artistic License rather than (L)GPL or something else?

I've used ROVLib in a number of commercial applications, and I wouldn't expect to force the companies involved to have their source code released. The LGPL is better, but since RISC OS doesn't support dynamic linking natively, it's a little difficult to implement. After reviewing a number of other licenses, I found that the Artistic License seems to be the best for this library.


Currently, all ROVLib components are Copyright © Jason Tribbeck / 7th ARM 1994-2005. This will probably change with new development.


Only the ROVLib32 source code is being maintained.

  • 32-bit source code - This is the complete source code, as well as object files and the complete library.
  • 32-bit object code - This is the header files, and object library.
  • 26-bit object code - This is the same as above, but for 26-bit compilation.
  • Tutorials - These were written for the 26-bit library, but should be easy to convert to 32-bit.

API documentation

This is available online.

Build requirements

Using ROVLib

You need a C compiler capable of using ARM AOF format files. For the 32-bit ROVLib, you will need a 32-bit compatible compiler.

Building ROVLib

You need Norcroft (Acorn) Cv5 to build ROVLib, as well as ObjAsm 3. It may work using the gccsdk, but it is not supported as yet. This should happen soon. Note that it has been known to compile with ObjAsm 2, but it was never tested.


I've copied this over from SourceForge to my own server; CVS isn't currently working, but archives are available.

I have successfully created a 32-bit version of ROVLib, linked it with one of my tutorials and executed it on RISC OS 4.02. The C source only needed recompilation (as expected), and the assembler required minor modifications (done with a simple PERL script). Note that the source in rovsrc has not been updated as yet; this is expected to be done shortly.

I have started the tutorials, and uploaded the first five last night. I also fixed some explicit pathnames in the source code, so it should be compilable on machines other than my own!

Peter Naulls has kindly sent me patches to get a large amount of ROVLib compilable with the GCCSDK, and I will be integrating them over the next two days.

I am going on holiday for two weeks from 2002-17-02. I will try to be contactable, but there may be delays.

Contacting me

If you wish to contact me, then you can do so at jason @