#PsiDrive

The Last Psion | Alexthelastpsion@oldbytes.space
2025-06-08

Current main projects:

  • #plptools: Resurrecting old ports (#FreeBSD, #NetBSD) and working on a new port to #HaikuOS. It's an opportunity to get more familiar with the code and maybe find bugs along the way.

Upcoming projects:

  • #CTRAN: Still haven't started writing unit tests. Also, complete a full write-up of what it took to get the thing working.
  • Get my website running #GoHugo.
  • Rebuild of DEATH, my Microserver gen8, probably with #FreeBSD. (Yes, it's been over a year since DEATH's RAID died.)
  • Pick another SIBO SDK tool to rewrite. (Probably EMAKE or RCOMP.)
  • Add a 17V boost converter to #PsiDrive.
  • Make #fefstool create FEFS images. (I'm half-tempted to rewrite fefstool in Pascal to make it easier for me to finish.)

You'll notice that some of these projects have been sitting for a while. I've struggled to get going with things this year. I'm hoping that working though plptools will give me some mental energy to get going with other things.

The Last Psion | Alexthelastpsion@oldbytes.space
2025-03-13

For #PsiDrive, I need to add a 16.5V rail (Vpp) to enable writing to Flash SSDs. Vpp from a SIBO machine is unregulated - although schematics tend to say 16.5V, the real voltage can be somewhere between 16V and 20V (I think I once measured 21V, but that could have been an unreliable multimeter). Flash SSDs have an LM317LM which then regulates down to the required voltage.

This video should be a good start.

youtu.be/fgIlNfnWocM

I also need to fix a small bug in the last PCB, which sent 5V to Vbackup for RAM SSDs. It should be 3.7V, to match the coin cell battery. Admittedly it might not matter, but I don't know if I want to chance it.

Once I've done all this, I can move on to adding more features to libsibo, such as writing to SSDs and properly using the PIO in the #RP2040 and #RP2350.

The Last Psion | Alexthelastpsion@oldbytes.space
2025-01-03

An infodump on #PsiDrive, #PlatformIO, and the #RP2040 and #RP2350.

Testing libsibo (the basis of the PsiDrive firmware) on the Pico2 has reminded me that I was planning on revisiting the tooling I'm using for libsibo.

I'm currently using PlatformIO with VS Code. The main pros are usability and portability. It's very easy for me to target multiple platforms - in my case Arduino Uno, ESP32, RP2040 and RP2350 - and switch between them using a single, simple menu. Plus it means I don't have to use cmake with the Pico SDK.

But there are cons. The main issue is that PlatformIO stopped accepting pull requests on their Pico support. Basically, PlatformIO asked Raspberry Pi Trading for a recurring fee to maintain the support, and RPi said no.

Now, there is a very popular Arduino-Pico core maintained by Earle Philhower, with a PlatformIO plugin for it by Max Gerhardt. This is what I've been using so far and it's been very reliable. I can write Arduino C code that runs on any compatible board, and then tailor the code for specific boards (i.e. directly calling the Pico SDK for a speed boost). But that might not last forever.

I've been considering making libsibo RP2040 and RP2350 for some time. ESP32 support was a temporary stop-gap before landing on the RP2040, and I didn't feel like it was the right microcontroller for the job. The Uno was where it all started, but it's far too slow for use in the eventual PsiDrive device. I think I'd be better off maintaining a separate sketch that I bundle with sibodump for people who just want to dump Psion SSDs using an Uno.

This would mean I could switch completely to the pure Pico SDK - I wouldn't be reliant on any other intermediary packages. I could focus libsibo on a single platform, a single toolchain. I could also use the Pico Probe properly.

But there are downsides. I'd no longer have the safety net of the Arduino core, plus I'd probably have to rewrite some of the code to port it to the pure Pico SDK. I'd lose the nice interface, but I'd probably swap to NeoVim anyway. Plus there's cmake, but I'm going to have to learn to use it at some point anyway.

Anyway, those are my thoughts. Feel free to reply with yours, or not.

The Last Psion | Alexthelastpsion@oldbytes.space
2025-01-03

Good news! The #RaspberryPiPico 2 is a drop-in replacement for the original Pico in the #PsiDrive!

It seems that the pulldown issue-that-is-officially-not-an-issue doesn't affect this version of the PsiDrive board. I've tried dumping a ROM SSD and it worked with no changes to the code.

Very happy!

#Psion #retrocomputing #rp2350 #PiPico2

Photo of the PsiDrive 0.0.1 with a Pico2 board fitted. To the left is an original Pico.
The Last Psion | Alexthelastpsion@oldbytes.space
2024-10-12

Moved instance, so time for a new #introduction!

I'm Alex and I have a PDA problem.

In 2018, after 16 years of using various #Psion portables, I decided to try my hand at developing hardware and software for my beloved Series 3c to help me with journalling and creative writing.

6 years and repeated sidequests later, I've ended up doing a lot of research into the SIBO/EPOC16 platform, and done my best to document it when I can. I've also nudged former developers into open sourcing their old Psion apps.

My current main projects are:

  • #PsiDrive, an #RP2040-based USB drive for SIBO SSDs.
  • Rewriting the Psion SIBO (16-bit 8086) C SDK, including updating the docs (with #AsciiDoc) and rewriting the original DOS tools as FOSS apps. I'm currently using #FreePascal to create a drop-in replacement for #CTRAN, the Psion OO C preprocessor. (I want to eventually write a new compiler targeting EPOC16. Eventually.)
  • Anything else that tickles my bouncy brain.

Outside of #retrocomputing, I'm your common-or-garden British nerd. I'm a Linux user - mostly Arch, but I dabble with others. I also like a bit of #HaikuOS and I'm planning on giving #FreeBSD a go very soon.

I used to be a senior computer monkey, specialising in on-prem SME infrastructure (I lament the loss of vSphere). Now I train others to become computer monkeys (for better or worse). As a result, sometimes you'll see me wrestling with old Cisco ASAs, Ubiquiti APs, or modded kit running #OpenWrt.

Generally, I like making things do stuff, especially if it's stuff that the thing wasn't originally designed to do.

Photo of a fully constructed PsiDrive 0.0.1, including a Raspberry Pi Pico mounted on top. There is a SIBO solid state disk (SSD) plugged into the 6 SIBO-SP pins. A microUSB cable is plugged into the Pico. To the left of the PsiDrive is 128K Flash Psion SSD.A photo of my stand at the Festival of Portable Computing (early 2024) at the Centre for Computing History, Cambridge, UK. On the table is a selection of Psion devices, including various SIBO/EPOC16 devices (Series 3/3a/3c/3mx, Workabout, Siena, MC400), a few EPOC32 devices (Series 5/5mx), a few PsiDrive boards, many SIBO SSDs, some boxed software. There is also an Amstrad NC100, a Microwriter MW4, an Acer netbook and a 2009 iMac. The Acer and iMac are running Haiku. The iMac is running the MAME-based Psion SIBO emulator.A screenshot of a KDE Plasma desktop, running on Arch Linux. The main window in the background is Konsole running an SSH session to a Haiku box, which is running tmux. In the foreground is a Remmina window, connected a VNC session on the Haiku box. On the Haiku desktop, three copies of the MAME-based Psion emulator are running - a Series 3, a Siena and a Series 3mx. The 3mx is running the game "Horace In THe Mystic Woods."A screenshot of KDE Plasma running on Arch Linux. The background window is Kitty running tmux. In the main tmux pane is NeoVim showing some CTRAN-ng source code, written in Object Pascal. In the smaller pane on the right is CTRAN-ng's help output. In the foreground is a copy of DOSBox Staging, also showing CTRAN-ng's help output. Both have been compiled with Free Pascal.
The Last Psion | Alexthelastpsion@bitbang.social
2024-04-25

Upcoming projects:

⏸️ Learn #Psion's proprietary 16-bit OO C.
⏸️ Rewrite more of the SIBO SDK.
⏸️ Learn about designing #compilers and #assemblers.
⏸️ New version of #PsiDrive PCB.
⏸️ Vine: A new #FOSS #EPOC16 word processor aimed at writers/authors, with Vim motions and #AsciiDoc compatibility.
⏸️ Converting the Psion SIBO C SDK to AsciiDoc.
⏸️ #fefstool: Like #mtools but for #Psion Flash (FEFS) volumes.
⏸️ #MAME null modem mod, so that it can talk properly to #DOSBox.
⏸️ psion.info redux.
⏸️ More docs!

The Last Psion | Alexthelastpsion@bitbang.social
2024-03-23

So, after #ctran, what projects are afoot in the near future? Hardware!

- A RAM upgrade for the #Psion 5mx.
- A possible RAM upgrade for the 3mx (I have a hunch).
- Possibly a new #PsiDrive board revision with fixes and a voltage booster.
- Something not #retrocomputing at all! Gutting a Roberts internet radio and replacing the innards with an #ESP32 or #RaspberryPiPico W. (Because the BBC discontinued their ShoutCast streams last year.)

I might also pick another SIBO C SDK tool to rewrite.

2024-01-20

@thelastpsion @inlovewithpda

I know, no match for the #PsiDrive! But that's what I'm capable of.

The Last Psion | Alexthelastpsion@bitbang.social
2023-11-10

My musings from last night about the #Psion Siena SSD Drive, plus a couple of pics of the #PsiDrive.

I know this is a long shot as there aren't many former Psion employees here. But if *anyone* has the schematic for the Siena drive (or any other information, such as the 3a schematic, or information on the Condor chip), please get in touch.

#RetroComputing #VintageComputing #RetroDev #16bit #RaspberryPiPico #RP2040 #OldTech

hackaday.io/project/186446-psi

The Last Psion | Alexthelastpsion@bitbang.social
2023-11-09

All #Psion SSDs are 5V - some are TTL (ASIC4), some are CMOS (ASIC5), but they're all 5V.

So, is this is where the 74HCT126D comes in? Is that what's converting the 3V (or 3V3?) to 5V?

Here's the datasheet: assets.nexperia.com/documents/

This is important to me, because in the #PsiDrive I'm using a 74AHCT1G125 and a 74AXP1T45 for level conversion from the RP2040 on the Pico. If there's a different way of doing it, I want to know.

I need to get a scope on this to properly work out what's going on.

Top part of the 74HC126 datasheet.
The Last Psion | Alexthelastpsion@bitbang.social
2023-11-09

Thought I'd take a look at the PCB of the #Psion Siena SSD Drive. My aim with the #PsiDrive is to make something the same size as the Siena drive, so I want it to be the same size.

Here's a shot of the PCB.

I have no schematics and I haven't scoped it yet, so what follows is all guesswork.

The Last Psion | Alexthelastpsion@bitbang.social
2023-10-21

So, now the MAME/Haiku project is essentially done (just waiting for my PR to be merged now), I'm thinking about what to work on next.

Outstanding #Psion projects:
- #FEFSgen (golang) to make flash SSD images
- #libsibo: add write for RAM SSDs
- #PsiDrive: add boost converter (set to ~17VDC) for writing to Flash SSDs
- Psion SDK to #AsciiDoc: SO MUCH DOCUMENTATION TO CONVERT!
- Blogging: SO MUCH DOCUMENTATION TO WRITE!
- #EDisAsm: because there's always room for more features

The Last Psion | Alexthelastpsion@bitbang.social
2023-10-14

As I'm busy compiling stuff in #HaikuOS for some future #Psion shenanigans, I thought I'd try compiling SIBODUMP and SIBOIMG to see if I could use the #PsiDrive to dump an SSD and extract the files.

They worked first time! I don't know if that's a testament to my programming skills, or if it's just that the apps are so simple that they'll compile and run on anything vaguely POSIX-compliant.

For some reason, dumping was VERY slow. Don't know if that's VirtualBox or Haiku at fault.

A Haiku OS screenshot.

There are two terminal windows. The left one has the output of SIBODUMP after dumping the GAMES2 SSD (ASIC4 ROM). The right one is the output of SIBOIMG after extracting the files from the dumped image.

In the centre of the screen is the Haiku logo.

At the bottom are two Tracker windows, showing the files extracted from the dumped image.
The Last Psion | Alexthelastpsion@bitbang.social
2023-10-12

At some point I want to develop a smaller #PsiDrive board with an integrated #RP2040, rather than adding a #RaspberryPiPico.

This article on @hackaday didn't just link to a great article on the subject. The advice in the comments is also really useful.

#RetroDev

hackaday.com/2023/10/11/how-no

The Last Psion | Alexthelastpsion@bitbang.social
2023-08-20

IT LIVES!

Please welcome to the world the #PsiDrive, a #Psion USB SSD Drive using a #RaspberryPiPico.

This works with the SSDs that were used with the SIBO range of computers, including the Series 3 and MC400.

This prototype can only be used to dump SSDs, but future versions of the firmware will let you write to RAM SSDs, and future versions of the board will let you write to Flash SSDs.

#retrocomputing #retrodev #rp2040 #pcb #90s

A photo of the PsiDrive, fully constructed with a Raspberry Pi Pico on the top. It has a Spoon SSD plugged into it. To the left is a pile of SSDs.Top-down photo of the PsiDrive.
The Last Psion | Alexthelastpsion@bitbang.social
2023-08-20

I'm not working on the #PsiDrive this morning. Been to the gym and I'm about to head out for a morning outside. But I thought I'd fill you all in.

So... There's something wrong with the CLK circuitry.

Somehow the decoupling cap for the AHCT 5v rail shorted. Removed the cap, and now there's no CLK signal on the 5v side. The Pico is working fine, as is the AXP for DATA.

I don't know if I've blown the AHCT, or I've done something wrong with ~CLK_OE.

For now, though, I'm off to touch some grass.

The Last Psion | Alexthelastpsion@bitbang.social
2023-08-19
Five newly minted PsiDrive PCBs.
The Last Psion | Alexthelastpsion@bitbang.social
2023-08-13

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst