Please note that I will not
answer programming queries by e-mail, mainly because of time pressure this end.
The purpose of this page is to give you a few pointers as to where to get
information and to mention a few important tips that I think you'd find useful.
See also my general Psion programming page for
articles and OPL tutorials.
Hints and tips
Nov 2002. EMCC have made their Programming Psion Computers book
a free download. Go grab it
June 1999. Psion and Symbian's OPL, C++ and Java Software
Development kits are all now free. See
for downloads etc. See also our new Makesis
May 1999. Neuon release the first of many extra OPXes. See their
web site for downloads and details.
February 1999 Mark O'Neill has created a simple popup scrollable
list box, for inclusion into your OPL/32 programs. See his
30th July 1998 Jochen Siegenthaler has put up a help page for
authors trying to
the built in ROM system language resources into their programs.
15th July 1998 A new OPX announced by EMCC. CLIPBIT.OPX allows
copying a bitmap, retrieving a bitmap, clearing the clipboard, multi-bitmap MBM
assembly and bitmap information gathering. The CLIPTEXT.OPX has been updated as
well. See EMCC's web site for
10th July 1998 With the move from being Psion Software to being
Symbian, the status of the rather
wonderful EPOC/32 'Emulator' has changed. It's now freely
downloadable for all and sundry, containing the full Series 5 application
set plus Web and Email. The emulator runs in several different screen sizes as
a standard Windows 95 application. Once downloaded and installed, make sure you
read the "Readme" document.
30th May 1998 Pelican
Software have put up a wonderful guide to the OPL/32 DBMS....
check it out!
23rd May 1998 I've posted an OPL/32 developers
program check-list to aid application release and to
ensure greater similarity between different programs.
23rd May 1998 Phil Whiles has put up plenty of examples
of using OPL/32's SQL database commands. See his
30th April 1998 John McAleely has started cataloging all
the available OPL extensions (OPXes). See his
web site for the full list.
31st March 1998 RMR Software have released not one, but four new
OPXes for OPL/32 programmers. They're all free as far as I know, covering extra
OPL database commands, spellchecker access, message suite acess and control of
parameters normally set within the Control Panel. More details from
23rd February 1998 RMR Software are coordinating OPXes for the
OPL/32 programmer. Starting the project off is Otfried Chong's SUBST and ALARM
modules. More details from RMR Software.
12th February 1998 Mark Fitzpatrick has released an OPL
clipboard module. More details from his
10th February 1998 Thomas Tensi has announced a new scroll-bar
module. See his web site for
7th February 1998 EMCC have announced a new Clipboard OPX,
enabling full use of the clipboard in OPL/32 programs. More details on their
3rd February 1998. Jason Kneen has produced a more advanced
Toolbar.opo, replacing Psion's version in the ROM. See his
16th December 1997. Tim Richardson has produced a very handy
Psion 'Help' file format version of the OPL/32 manual, complete with OPX
syntax. Grab it from his
21st November 1997. Alan
Richey has very kindly put together an example shell containing all
the event and document handling code you'll need to do a
fully-Psion-S5-compliant OPL/32 application. For example, he shows how to
handle pen events, the toolbar, scrollbars, menu cards (including
cascades) and copes with documents being chosen either from the GUI or via the
button bar. Download it from his site and then
make a note to buy him a beer or two. I've also composed a
tutorial, based on the example code.
6th November 1997. Andy Clarkson has released
GPrinter.opx, a freeware vector graphics printing add-on for OPL/32
programs. Grab it from his web site.
30th October 1997. One tip for all those of you who've been
using OS calls in OPL/16 to do all sorts of low-level stuff. Don't worry. 99%
of stuff you'll ever need is now effectively in OPL/32 itself. All you do is
include the System.oxh file provided at the top of your source code and things
like RunApp&: and SetBacklightOn: become simple in-line OPL calls. Very
nice. There's also the new SYSRAM1.OPX now available from Psion, which adds
even more system functions. The OPX and documentation on how to use it is here,
witth Psion's kind permission, as sysram1.zip.
From the free section of EPOC
World, you'll need latest versions of the BMCONV and WVECONV utilities, for converting
bitmaps and sound files over to the Series 5's native formats. It's worth
noting that the new .MBM format for graphics is compressed and fairly
wonderful. It's usual to take 100k of OPL/16 graphics and stack them and
compress them together into one single 50k .MBM file. 8-)
Note that although the Series 5 specification mentions 16-grey scales,
and that you can indeed use all 16 if you really want to, for flashy graphics
etc, it's a bad idea to use this mode for the main part of your program
as there is significant extra battery drain when in this mode. See the OPL32
documentation for more detail on this. 16-colour bitmaps also use up far more
memory and disk space, so make do with 4-colour mode if you can. Steer clear of
2-color windows as well, but for a different reason, there being some window
server bugs in this mode.
With the new pen-support, many authors (myself included) are having to
learn to make their programs more 'event-driven'. A few simple GETs just don't
cut it any more! All OPL/32 programs really need to respond to all the various
pen events, plus of course things like system commands to switch documents,
shut down etc. A tip: once you've got your event loop working, check the
program's current consumption on the system screen. If the event loop is
written properly, the current should be at the usual 40-60mA or thereabouts. If
you've written it badly (i.e. racing round loops or polling TESTEVENT etc) the
current drawn can be as much as 120mA. I'm not an expert on event-driven
programming, so don't ask me for help on this.
More on Help databases, courtesy of Psion UK:
"Here's how to make a help database with the same look
& feel as the Series 5's built in help database. The help database needs 3
fields, called 'Title', 'Help text' and 'Keywords'.
"All 3 fields are 'Memo' type fields, i.e. unlimited
amount of text. In the Label preferences dialog, the 'Title' and 'Help text'
fields are not hidden, the 'Keywords' field is hidden. The font setting for the
'Title' field is Arial 9 points bold, and is set from the Label preferences
dialog. The font used in the 'Help text' field is Times New Roman 9 points, but
selected bits of text can be highlighted in bold, italic and so on. It's even
possible to import text into this field from Word, which allows you to change
the paragraph formatting, set tab positions, use automatic bullets and so on.
In this field, "anything goes" to a large extent.
"The font used in the 'Keywords' field is irrelevant, as
it's hidden anyway.
"In the Find by labels dialog, the 'Title' and 'Keywords'
fields are ticked by default, the 'Help text' field is not ticked. In the View
preferences dialog, the Show card browser box is ticked, the card width is 55%
and the Show labels box is not ticked. No sorting is used. The help database
should be organised such that the first one or two topics will help the
experiences computer user to get going straight away, (each of the Series 5's
built-in apps has a 'Quick start' topic, that's specifically for this purpose)
the rest of the topics should be sorted alphabetically. Give the help database
a filename with filename extension .hlp and this will ensure that the help
database is opened using the help database viewer."
Note that the Quick Find option in Data seems to search
the first and third fields only in a help database, and Find in All Text
searches all fields. And this behaviour is regardless of how you've got 'Find
by Label' set up.
If you're having difficulty composing Series 5 icons for your programs,
check out Phil Spencer's
help page on
I'll try to post other tips as I think of them. In the meantime, you
can join EPOC World for free, watch the
Psion site and watch the Usenet newsgroup