[Skip top navbar]
Andrew Gregory's Web Pages
All the modules that comprise the Toolbox are listed here. Each module has it's own page where you can read more detailed information about it.
The Programmer's Toolbox is a library of routines that provide an easy-to-use framework for you to develop event-driven SIBO applications.
programs would use the
GETEVENT keyword. However, this did not
allow other I/O to be handled simultaneously. Such I/O could be serial
communications, WVE file playback or recording, timers, etc. The library here
provides a system that calls procedures in your application to handle keyboard
events and other system events alongside general I/O events.
All the libraries are written in straight OPL. No special pre-processor directives or anything. Any Psion machine can translate them. However, see How To Build Your Applications for more on pre-processors.
Last updated: 2004-10-22
As I develop applications, I make changes to the library. Before June 2000, the last major restructure was September 1999, so it is fairly stable. To keep up-to-date with the latest features and bug fixes, check it regularly.
This describes how to incorporate the library in your applications. It also describes how to use the library to solve various problems.
I intend to add to this area regularly. Email your requests to me!
Some programs I have written are useful combined with the library:
Here are some useful links to other SIBO OPL programming related sites:
During the development of my Resource IDE program I discovered many things about resource files:
resource.fmt - Resource file format (in Psionics style) ( 32K)
Some of the information was originally by Jochen Siegenthaler.
This page has the collection of OPL modules that I use during my application development. I found most of them by surfing the net and modified them to my needs, others I wrote completely by myself. They should work on the following Psion SIBO machines: Series 3a, 3c, 3mx, Siena, and Workabout.
The modules mainly involve the user-interface. The most important of these is
the application event managers. 'Standard'
OPL programs using the
GETEVENT keyword cannot intermix
GETEVENT events with
I/O events (such as a serial read). Then there is also the management of
multiple I/O requests (eg. a main loop where you are checking individually the
completion statuses of several I/O requests). These modules make this type of
programming much easier.
Originally, these modules were part of my Application Manager project. However, the source for that monolithic module became larger than 40k (even with removal of lots of comments) and I could no longer use the Psion Program Editor on it. Now that I have split it into bits, I have restored full comments. Examples that were separate are now part of each source code file. Where applicable, I have indicated the origin of each module, and the author (if not me).
Essentially - almost none! As all the code I obtained from various Internet sites was freely available, I am making all of this code freely available also. As it is free, there are no warranties or guarantees as to its suitability for anything - or even that it works. Having said that, I have done my best to ensure that all of the modules on this page work (and, indeed, work together).
If you do use any of the code on this page, I would ask that you acknowledge myself, and the applicable original authors in your programs documentation (for example, the online help, the README file, etc). You could also let me know when you release software developed using these modules - I would be happy to add a link to the web page for your application from this page.
In no particular order:
The following appear to be impossible:
I was going to do some more examples, but I'm just too busy.
There's also me, of course!