How to Emulate Psion Devices or Run Psion Software Today
Updated
You can run Psion software on modern hardware in two main ways: emulate the original hardware with MAME plus a Psion ROM image, or run OPL programs directly on a modern device with OpoLua. The Psion Community site (psion.community) lists both under its Emulation section, alongside a collection of Psion ROM images on GitHub. Which one you want depends on whether you need the full original environment or just want to run OPL code.
Emulating the hardware: MAME + Psion ROMs
MAME emulates many Psion models, so it reproduces the actual machine — its screen, keyboard layout, and operating system — rather than just running individual programs. That makes it the right choice if you want to use the built-in applications, test software against real EPOC behavior, or work with anything that depends on the original OS.
The two pieces you need:
- MAME — the emulator itself, which supports a range of Psion models.
- A Psion ROM image — the firmware from the original device, which MAME loads to boot that model. Psion Community points to a collection of Psion ROM images hosted on GitHub.
The general flow is: install MAME, obtain the ROM image for the model you want, place it where MAME expects ROMs for that system, then start that system from MAME's machine list. The exact ROM filename and directory are defined by MAME's driver for each Psion model, so check MAME's own documentation for the specific machine rather than assuming a single universal path.
What to watch out for with ROM images
ROM images are copyrighted firmware. Psion Community links to a GitHub collection, but hosting or downloading them does not by itself settle the legal question in your jurisdiction. If you own the original hardware, dumping the ROM yourself is the cleanest route; otherwise, treat third-party ROM collections as something to assess yourself before relying on them. This is a general caution, not legal advice.
Running OPL on modern devices: OpoLua
OpoLua runs OPL — the Psion programming language — on modern devices. If your goal is specifically to run or write OPL programs rather than to recreate a whole Psion, this is the more direct path: no ROM image and no full machine emulation involved.
Use OpoLua when:
- You have OPL source or applications you want to run on a current computer or phone.
- You are learning or testing OPL and don't need the rest of the Psion environment.
- You want something lighter than booting a complete emulated palmtop.
Use MAME instead when the program depends on the original OS, on system APIs beyond OPL, or on the exact behavior of a specific Psion model.
Choosing between them
| Goal | Better fit |
|---|---|
| Run a full Psion model, including built-in apps | MAME + ROM image |
| Run or develop OPL programs on a modern device | OpoLua |
| Reproduce model-specific behavior for testing | MAME + ROM image |
| Avoid dealing with ROM images entirely | OpoLua |
Related resources on the same site
If emulation is only part of what you need, Psion Community also indexes material that supports these workflows:
- Psion Software Index — a searchable index of EPOC16 and EPOC32 software, useful for finding something to run once your emulator or OpoLua setup works.
- Documentation — a collection of Psion-related documentation, which helps when you need model-specific details.
- SIBO C SDK — the EPOC16 SDK packaged with the TopSpeed C Compiler, and CTRAN, a modern SIBO object-oriented C preprocessor, for development rather than emulation.
- Codeberg — source code for the site and other Psion-related software.
For connectivity between a real Psion and a modern machine — a separate problem from emulation — the site lists plptools for POSIX-compatible systems and Reconnect for macOS.