Psion Emulation
Series 3a
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
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