These days, you can emulate almost every computer, however esoteric. Despite that, emulators for Psion devices seem curiously hard to come by. I put this down to the developer-focused simulators for both the SIBO and EPOC being just good enough to tip the cost-benefit for most potential developers. However those simulators are nothing like the devices themselves—they’re an amalgamation of recompiled Psion apps and services targeting x86 and Windows, and they defer to the Windows kernel for scheduling. They do a reasonable job of running OPL programs, but can’t run native programs compiled for Psion hardware, and scheduling and timing is spectacularly wonky.

All that’s changed over the last few years: thanks to concerted efforts by Nigel Barnes and other community members, there’s now a comprehensive set of Psion emulators squirreled away in MAME. While it might not be an obvious fit for computers, MAME represents a comprehensive kit of parts for emulating a range of systems, making it just that little bit easier to pull together something matching the original Psion hardware.

The built-in MAME GUI is quite confusing so, thanks to advice from Alex from the Psion User Group (twice in two posts), I’ve taken to running the emulators directly from the command-line:

mame \
    -window \
    -nomaximize \
    -skip_gameinfo \
    -rompath ~/Software/Psion/ROMs \
    -prescale 2 \
    -resolution 960x320 \
    psion3a

There’s a few notable options in there which—in my opinion—really help the Psion emulation shine:

  • -skip_ganeminfo—don’t show unnecessary dialogs
  • -nomaximize—run in windowed mode—I prefer this as the Psions have fairly unnusual aspect resolutions
  • -prescale 2—enable pixel-doubling for high-resolution displays
  • -resolution 960x320—coupled with pixel-doubling, this ensures the emulation displays at exactly 2x for crisp pixels

Finding ROMs can be a little fiddly

The Psion Series 3a ‘System’ screen in MAME

Keyboard Shortcuts and Modifiers

Keyboard Keys

Device Key Shortcut
On Esc

Silk Screen

  • F1—System
  • F2—Data
  • F3—Word
  • F4—Agenda
  • F5—Time
  • F6—World
  • F7—Calc
  • F8—Sheet

Keyboard Keys

  • F10—Help
  • F11—Menu

There’s also a few useful keyboard shortcuts that, without the extra legends, might be a little non-obvious:

  • Esc—On
  • Alt (Psion) + 1—Off
  • Ctrl + F12 (Menu)—Toggle the status window
  • Shift + F12—Menu
  • Shift + F12 (Menu) + Alt (Psion)—Momentarily show the status window

MAME also has some magic keys which might make your life easier (or harder, if they overlap with things you want to do in your running program):

  • Alt + Enter—Fullscreen

Desktop Entries

If you’re using Linux, you can easily create desktop entries for quickly launching each Psion emulators.

.local/share/applications/psion-series-3a.desktop

[Desktop Entry]

Type=Application
Version=1.0
Name=Psion Series 3a
Path=/home/parallels
Exec=/usr/bin/mame -window -nomaximize -skip_gameinfo -rompath /home/parallels/Software/Psion/ROMs -prescale 2 -resolution 960x320 psion3a
Terminal=false