Alex’s blog about work on Psion equipment and other tech-related shenanigans.

ASIC4 Extended Mode Addressing

Who wants a deep-dive into a tiny aspect of Psion SSDs and their ASICs?

I was using a PsiDrive a couple of months ago to dump a 2MB SSD. However, when I tried to extract the files, my FEFS extraction tool (siboimg) segfaulted halfway through. So, as I was in a rush, I decided to come back to it another day. Yesterday was that day.

Photo of PsiDrive

My first thought was that it could be a problem with the Pico 2, either with the code or the RP2350 A2 stepping chip. So, a couple of days before, I built a second PsiDrive and put in a Pico 1. But the fault remained with with Pico 1.

[Read more]

Beginning OLIB: An entirely uneducated look at Psion’s proprietary Object Oriented C

Me: I could do with a quick win to get me going again.

Also me: I shall learn a proprietary object oriented dialect of C, where the only way to learn it is to plough through 1150 pages of documentation.

Psion doesn’t have a formal name for the object oriented version of C that it created for EPOC16. I’ve been calling it “Psion OO C”, but the main library that it uses is called OLIB, which contains the root class. The others are:

[Read more]

USB RS232 Shenanigans (Updated 2025-05-28)

I spent some time today testing out a couple of RS232 adapters with various bits of Psion software. I wanted to write a quick summary of what works and what doesn’t.

SoftwareCH340PL2303TAPL2303RAFT232R
plptools (Linux)YesYesYesYes
PsiWin 2.3 on XP in VirtualBox (adopted USB)YesYesNoYes
PsiWin 2.3 on XP in VirtualBox (via virtual serial)Not testedYesNoYes
PsiWin 1.1 on XP in VirtualBox (via virtual serial)Not testedYesYes?
MCLINK or SDBG in DOSBox StagingUnreliableYesYesNo

Notes

CH340

Seems to work in most places, but DOSBox and DOSBox Staging are very unreliable with it. It’s very cheap and up until recently was what I recommended, but as I’ve tried to use SDBG for debugging on real hardware, I’ve needed something more reliable.

[Read more]

A Long-Overdue Update - PCBs, Emulators And More

Two copies of MAME, built from git, running ROMs from the Series 3c and 3mx.

It’s been a while, hasn’t it?

My work on this project has been relatively sporadic over the past 12 months. I’ve not found it easy to find a balance between this, my day job, and other projects I’m working on. As a result, there have been some relatively intensive periods of work on Psion shenanigans, followed by burnout or other priorities needing to take precedence.

[Read more]

libsibo - Talking to SIBO Peripherals using Arduino

Finally, it’s here! Some proper code for reading SSDs and (eventually) other SIBO peripherals.

I’ve spun off some the Arduino code from SIBODUMP, added the FlashFS code from SIBOIMG, ported it to PlatformIO, and pushed it to GitHub.

Screenshot of the libsibo repo on GitHub

So, the TL;DR is:

  • Two major bugs squished.
  • It works with more boards now (Pico, ESP32, Arduino Nano)
  • It’s still uses the Arduino libraries, but it’s now based on PlatformIO
  • You’ll need level shifters for 3.3v (I’ve included an example)
  • Would regular Raspberry Pi compatibility be useful?
  • Next steps
  • Discord chats

So, take a look at the code over on GitHub Codeberg, then read on.

[Read more]