For the past few months, my friend Tom and I have been exploring our very own corner of retro: while everyone else has been completing their Nintendo collections or running old computers on the MiSTer, we've been building an OPL runtime for iOS.

Jumpy! Plus by Jon Read running on an iPhone 13 Pro

OPL (Organiser Programming Language), is a BASIC-like language that came built into all Psion handheld computers. It was crucial in helping establish a vibrant developer community and large libraries of shareware for the platform, and was the first programming language I experienced. Where computers like the ZX Spectrum introduced a slightly older generation to software development, OPL and Psion are where it all started for me.

Drawn in by the lure of a good technical challenge (and the possibility of revisiting some of our childhood software), we set about re-implementing the OPL runtime itself in a combination of Lua and Swift. Roughly three months later, we've shipped our first version. There's still some rough edges (missing opcodes amongst other things), and a lot to do, but it already runs a wide range of programs.

OpoLua supports installing OPL programs on your iPhone or iPad

OpoLua running Astroids by Phil Gooch & Neuon

OpoLua running CharMap by Pelican Software

OpoLua running Tile Fall by Adam Dawes & Neuon

OpoLua running Smuggers for the Psion Series 7 by Adam Dawes & Neuon

OpoLua is available now in the App Store, and we'd love people to try it out. It currently supports running EPOC Release 5 OPL for the Psion Series 5 and Series 7, and you can install SIS files directly, so it's easy to try out your old programs.

Find out more about the project at or contribute on GitHub.