OPXs are programs written in C++ that extend the functioning of the Psion EPOC operating system. They can then be called by Psion's OPL language. They are provided by both Psion and other software developers.
A newer version of an OPX should always be compatible with an older version, and thus any program should be able to run with the latest version. The SIS installation system should prevent an older OPX from overwriting a newer one. If a program is using an OPX, then a newer version will be prevented from updating the old one, so it is a good idea to close programs if updating OPX files.
If programs are removed using the Add/Remove feature, they may remove an OPX that you need for some other program. This can occur if a program SIS file includes OPX files. A new program that requires an OPX that may be used by any other program should install the OPX correctly, so that it will not automatically be removed when the program is removed.
This is covered in the OPL knowledge base at www.symbiandevnet.com
; shared OPX
@"<path>\shared.OPX.SIS",(UID3)
with UID3 of shared.OPX in hex with a leading 0x
Programs that are to be updated must retain the same case sensitive name.sis across all versions of the .sis file, or you will end up with different entries in Add/remove, all pointing at the same program. You could use a version number in a zip file, but not on the .sis Not sure where that is documented. That tip (like many others) came from Sander van der Wal.
What we really need is a way of checking program dependencies before a program is removed, and one is provided by Psion in their install.
Some people made a sub-folder of OPX backup files, just in case this happens.
John McAleely maintained a more comprehensive treatment of OPX than I do, and it would be a good starting place for more information (I found it after I got started).
Another extensive list of OPX was at www.dp.com.my/OpxTable.htm
Symbian OPX
Symbian Developer Network have released a number of OPXs that extend the EPOC operating system. These were once at www.symbiandevnet.com/downloads/opl/projectopx/projectopx_rel.htm their projectopx site, but seem to have disappeared yet again, and was reported (thanks Leigh) to be at www.symbian.com/developer/downloads/projectopx_rel.html
These are generally copied to C: or D: \System\Opx If there is an equivalent .oph header file included, these generally go into \system\opl
- Agenda.opx
- Access Agenda ER3 files. v1.01, 10 Sept 1999, 7kb. Maintained for ER3 systems. Source code in C++ and OPL also available. For ER5, use Agenda2. [Symdevnet]
- Agenda2.opx
- Access Agenda files. v5.00 17 June 1999, 23kb. For ER5. [Symdevnet]
- Alarm.opx
- Access the 8 alarms and World cities database. v5.10 20 March 2000, 19kb. [Symdevnet]
- Bmp
- Sprite support, from Symbian. In ROM.
- Buffer.opx
- Buffer search and copy, use with dEditMulti. v5.00 19 June 1999, 8kb. [Symdevnet]
- Contact.opx
- ER5 vCard Contacts engine. v1.00, 11 Oct 1999, 18kb. [Symdevnet]
- Data.opx
- Access all DBMS field types. v5.00, 17 June 1999, 21kb. [Symdevnet]
- Date.opx
- Bug fix for ROM date.opx. Not required for ER4 or ER5. v1.01, 17 June 1999, 15kb. [Symdevnet]
- dBase
- DBMS functions. Symbian. In ROM.
- DBUtils.opx
- DBMS additional functions, especially for ER5. v1.00, 11 Oct 1999, 7kb. [Symdevnet]
- Music.opx
- Music and DTMF phone tones. v5.00, 17 June 1999, 7kb. [Symdevnet]
- Printer.opx
- For text and biutmap data printing. Built into the Psion ROM. Suitable for material in paragraphs, but not for vector graphics, nor charts and tables. See gPrinter.opx below.
- Scomms.opx
- Send and receive via IrDA. Adds the IrCOMMS (like a serial port) features to the existing TinyTP. v1.01, 17 June 1999, 117kb. Also SComms.oxh [Symdevnet]
- Spell.opx
- Access spelling checker. v5.00, 17 June 1999, 10kb. [Symdevnet]
- Subst.opx
- Adds subst like DOS, makes drive tree access easier. v5.00, 17 June 1999, 7kb. [Symdevnet]
- SysRAM1.opx
- Access system information, bug fixes for OPL commands. v5.20, 7 Aug 2000, 16kb. [Symdevnet] Version specific?
- Sysinfo.opx
- Access System setings set via Control Panel. v5.10, 7 Aug 2000, 22kb. [Symdevnet]
- System.opx source code
- Full working example for developers. v1.01, June 1999, 10kb. Included in all Psion ROMs. Has stuff like IrDA TinyTP which allows Psions to communicate with each other. [Symdevnet]
Third Party OPX
- Alarm
- Use the 8 alarms and World database in your own programs. Source included (may do same as Psion version). RMRSoftware www.rmrsoft.com
- AldurFile.opx
- OPX "AldurFile.opx" by Graham L. Holden. I think it is a file path navigator. Rolf Brunsting mentioned it in 2003.
- AppInfo.opx
- Application information, UIDs, all installed apps, icons, simulate events with development kit, was from Andy Clarkson at www.twiddlebit.com
- CDescriptor.OPX
- CDescriptor.OPX (used in S5TV) www.starship.freeserve.co.uk/opxapps.html
- CComm.opx
- Keith Walker's CComms.OPX (used in S5TV) was at www.starship.freeserve.co.uk/opx.html
- CDescriptor
- Keith Walker. Descriptors for Epoc. See CComm.
- CDescriptor
- Keith Walker. Objects. See CComm.
- CFile
- Keith Walker. File system services. See CComm.
- ClipBit
- Access bitmaps for clipboard and MBM files, from EMCC.
- ClipText
- Access text for clipboard, from EMCC. Version specific?
- ClipBit
- CSocket
- Keith Walker. Sockets and TCP/IP. See CComm above.
- Database
- More database functions (from Symbian?). Source supplied. Via RMRSoftware www.rmrsoft.com
- E32er.oph
- Apparently contains all the error codes SComms.opx can throw out. Mentioned by Barry at taximania..net
- FTP OPX
- From X-Soft. Includes a demo program that connects and uploads to a server. Version specific?
- GPrinter.opx
- Graphics printing, especially vector, table and charts, with development kit (originally for Plan 5), from Andy Clarkson. Version specific? www.twiddlebit.com
- JpegMbm.OPX
- You will find a SHEET named "Displaying a JPEG on a Psion". Go to www.opl32.com and follow the link "FICHES", then "OPX". Francis Goguelat was at www.opl32.com or maybe direct to www.opl32.com/Trucs/OPX/JpgVIEW.htm
- Message.opx
- For ER3 (Psion 5 classic) only. No details of operation, but may be related to vCard. RMRSoft www.rmrsoft.com
- nDirNav.opx
- Faster dFILE replacement file browser. From Neuon www.neuon.com
- nEdit OPM
- Graham Parks, shareware. Fully EIKON compliant edit window for use by OPL developers. OPM allows you to mimic the edit windows used by C++ authors in your own OPL applications. Includes support for zooming, full clipboard interaction and edit operations. With opx supplied buffers, nEdit supports the embedding of single or multi-line asynchronous edwins directly into an OPL window so they can be used as persistent 'form' controls rather just inside a dialog window. Supports any font style and zooming. Horizontal and vertical scrolling. Full clipboard support. Access the system special character dialog. www.neuon.com/
- nlistbox.opx
- Listbox user interface. From Neuon www.neuon.com
- nmpd.opx
- Multipage dialog from Neuon www.neuon.com
- OPXScan
- OPXscan application scans and reports active and inactive (potentially duplicates) OPX files and also scans for Programme files and reports all the OPX files linked to them! A useful little application written by Ralph Sprenger. www.psionwelt.de/ralphsprenger/
- RunMime
- Mine type identifier. Launch documents by type. mBrainSoftware Sander van der Wal.
- Spellchecker
- use the spellchecker in your own programs. RMRSoftware. www.rmrsoft.com
- Subst OPX for CF by Otfried Cheong
- OPX code provides DOS "Subst" function. Handy with a large CF card, because otherwise the system scans the whole card when you move to it. Was at www.cs.ust.hk/~otfried/Psion or ask otfried at cs.ust.hk
- xdata.opx
- Was at http://x-soft.cz
OPM - stand alone OPL functions from others
Various people have made OPL modules they use available to others. I've listed some I have encountered.
- Clipboard OPM
- Mark O'Neill. Read and write clipboard strings. www.freepoc.de
- Menu.opm
- Handles menus and keystrokes, returns key combinations. www.epotech.co.uk (now Android site)
- OPMLoader.opm
- Code for loading Epotech OPM files formerly at www.epotech.co.uk
- PopUp
- Mark O'Neill's scrollable popup menu. Add it to your OPL programs. Formerly at http://www.i27.com
- ReadWrite.opm
- Read and write text to and from a file. formerly at www.epotech.co.uk
- Rsc.opm
- Use a text file as a resource file, for settings, storing variables. formerly at www.epotech.co.uk
- RS232.opm
- Send and receive data or files via serial port. Single line command for file sending. formerly at www.epotech.co.uk
- Toolbar
- Jason Kneen. Toolbar module. Maybe from PocketIQ?