#Psion hackery, mainly SIBO/EPOC16.
Made #PsiDrive, a USB SIBO SSD reader. Slowly rewriting the SIBO C SDK in Pascal.
⚠️ WARNING: Will sidequest ⚠️
🏠 https://thelastpsion.com
🦣 https://oldbytes.space/@thelastpsion
🏔️ https://codeberg.org/thelastpsion
Maybe I should do an #introduction?
I'm Alex and I have a PDA problem.
For a quick summary, take a look at the alt text for these photos and the hashtags below. I also wrote a longer intro here: oldbytes.space/@thelastpsio...#retrocomputing#Psion#RP20240#Pascal#HaikuOS#PCB#MAME#16bit
Oct 1989: Organiser II ad from Psion
(+Dot Matrix Portable Thermal Printer; Finance Pack; Maths Pack; Portfolio Pack; Travel Pack; and Formulator)
«DO COMPUTER LITERATE PEOPLE ENJOY AN EXCITING READ AT THIS TIME IN THE MORNING?»
After tearing my hair out on Saturday trying to work out why something was happening in CTRAN vs ECOBJ (hint: values vs pointers), I went to bed disheartened.
Sunday I woke up and realised I had learned three lessons.
I don't fully understand when Free Pascal passes pointers or values. This is embarrassing. I need to know when I need to manage memory and when FP is doing it for me, and how to do it properly. FP docs aren't great on the "how" or examples, so I'll need to experiment.
After tearing my hair out on Saturday trying to work out why something was happening in CTRAN vs ECOBJ (hint: values vs pointers), I went to bed disheartened.
Sunday I woke up and realised I had learned three lessons.
CTRAN's code is a mess. Too many long functions, too many globals, not enough segmentation. Even the ECOBJ code I threw together the other day reads better. The current code encourages bad practice. I need to fix this before I add any more features. More units, possibly classes to neaten things up.
Playing with #FreePascal in #CompilerExplorer.
Lines 22 and 23 produce less machine code than lines 25 and 26, yet end up with the same result - trimming the last character from the last item in a TStringList.
#Pascal
Done!
You want a tool that takes a 16-bit OMF (.OBJ) file compiled by TopSpeed C and moves the class descriptor data from the DATA segment to the CODE segment? You want it to run on basically everything?
Well, this might do the job.
codeberg.org/thelastpsion...#ECOBJ#SIBOSDK#Psion#retrodev
Inevitable Psion 5mx screen ribbon failure, repaired thanks to the Psion.community Discord crew (especially Bs()Dd) and the remarkable fabrication lab of JLCPCB - soldering required a very steady hand!
Shane, step away from ebay. You do not need more Psion computers. Well, maybe you do some day, but not right now. Leave them for other people who will learn to love them as you do, care for them, fix them, change the world with them.
This won't get old for me.
The TopSpeed C compiler 3.10, running on #HaikuOS via emu2, compiling #EDisAsm, a native #Psion#EPOC16 app. The compiler also has to call a number of tools from the SIBO C SDK.
One of my other hobbies is collecting old travel books. By "old", I mean 100+ years. Most are from the "Peeps At Many Lands" range, published between 1904 and 1934.
I started it on a whim. Now it feels like an act of rebellion.
#BooksSaveLives#Shelfie#Booksky
Coding like it's the 90s🎉 ... What was the first programming language you ever learned? ... Had great fun learning #TurboPascal and coding my very own #Terminator2 PIN program that you can see in my very latest YouTube video, link below (cont...)
It's been 9 months since I moved from GitHub to #Codeberg. I'm happy with the move and have absolutely no desire to move back, or anywhere else.
My old repos are archived on GitHub. They all have a link to their new homes on Codeberg, but most are well out of date. Is it time to delete them?
To be very clear this is happening because the current government believes AI is the future of UK science, because, like the previous few governments, their opinions are entirely formed by think tanks and lobbyists www.bbc.co.uk/news/article...
In addition to being an outstanding writerdeck, the Psion netBook is great for playing classic text adventure games. Here's Infocom's 1983 banger "Infidel"... #retrocomputing#interactivefiction
TFW you find a bug in one of your projects when using to generate files for a different project.
In totally unrelated news, I've just fixed a bug in #CTRAN and shall now carry on with #ECOBJ.
#SIBOSDKcodeberg.org/thelastpsion...
people ask me why i'm making a DOS version of You Have Died (And Been Reincarnated As A Fox Girl) and
1. it's because i can and it's fun for me
2. it's much more likely to continue running properly in a DOS emulator than on modern systems lmao
and that's our first bit of combat animation for You Have Died (And Been Reincarnated As A Fox Girl) done! really pleased with how this came out
a little detail i'm proud of is the snake's HP bar dropping smoothly instead of instantly, something i've never added to a game before
Welp, it looks like I last looked at #ECOBJ on 2026-01-01.
This, of course, leads to a lot of me thinking, "Oh, I wrote that code, did I? Interesting..."
I'm going to need a refresher on the IBM OMF format.
#SIBOSDK
Very interesting read about the #DVLA, legacy systems, #COBOL and nightly shutdowns.
(HT @ret@furry.engineer on Mastodon)
dafyddvaughan.uk/blog/2025/wh...
Finally, after months of eager anticipation from all corners of the internet, #CTRAN 0.1.0 is out.
Please, everyone, contain your excitement.
codeberg.org/thelastpsion...#Psion
Seriously, though, I'm pleased with this release. It's working at least as well as the original, and better in quite a few ways. Plus, I've learned a lot about making my code "right", not just "work".
There's a bit more to do to get the user experience to where I want it to be. But the big challenge for me is to get automated tests working so that I can easily check a raft of edge cases. That's going to require quite a bit of refactoring, but it'll be worth it.
CTRAN's got a nice new feature - path lists for subcategory files!
I can tell you're excited.
Anyway, I wanted to get this done before releasing #CTRAN 0.1.0. Tomorrow I'll check my work, squash-and-merge, update the README, add any comments for Future Me, bump the version and release 0.1.0.
No apologies for sending this out a few times over the next week.
Our son is looking for a year in industry/placement as part of his Software Engineering degree in Southampton. He's in line for a First, very capable and good at digging into problems.
However roles are rare right now. Can you help?
Good morning!
I wish to make it known that, as amazing as #Psion were, there were times when they should have f**king known better,
This message is brought to you by Too Much Time In Their SDKs.
A future compiler that targets SIBO/EPOC16 doesn't *have* to run on DOS.
The compiler is the last piece of the new SDK puzzle. By the time I get around to it (likely years from now), I'll have rewritten all the other tools in the SDK. There's no need to keep supporting DOS.
But *should* I?
But I've been thinking about OCaml for a while now, a language known for being great for compiler development.
I guess the question is, how many people will want to develop EPOC16 apps on DOS?
A future compiler that targets SIBO/EPOC16 doesn't *have* to run on DOS.
The compiler is the last piece of the new SDK puzzle. By the time I get around to it (likely years from now), I'll have rewritten all the other tools in the SDK. There's no need to keep supporting DOS.
But *should* I?
Abandoning DOS support would allow me to consider other languages. I do love Free Pascal - it's got just the right balance for me, and I really enjoy creating with it. I certainly wouldn't be upset about using it for this, and it wouldn't be the first compiler written in Pascal.
The Psion WaveFinder is a wonderful bit of early-2000s oddware which works as a USB DAB radio receiver for 98/2000/XP machines.
Here it’s picking up and playing out BBC Radio 1.
The Luddites loved technology. They owned looms at home and would ‘mod’ them to count threads.
Their battle was against worker exploitation. The degradation of their rights, safety and wages.
They were against a handful of rich businessmen owning the means of production.
Sound familiar?
The Psion MC600 has been emulated in MAME for awhile now. We weren't aware of any software specifically released for it ... until now. We found mention that some DOS apps were released on SSD, ie. Lotus 1-2-3 and dBASE III, then promptly found an SSD image of both apps, licensed to Psion!
Alternative universe:
- Borland Turbo FoxPro
- Sun Microsystems C# (or colloquially known as "sun-sharp") [H/T @kroc.bsky.social]
- Microsoft Visual Rust
I think I'm going to try to improve path management in #CTRAN, make a release and then take a break from it. After that, most of the other TODOs are pretty small anyway.
I'm tempted to go back to my rewrite of ECOBJ.EXE, another tool in the #Psion SIBO C SDK. It modifies 8086 Object Model Format (.OBJ) files for classes on EPOC16. I don't think it'll take me more than a few weeks to have something that works, even if it's not perfect.
#SIBOSDK#ECOBJ
These yokes were aimed at the industrial market - warehousing, data logging etc. But they're actually pretty capable devices - I'll be exploring some more... #Psion
Recently acquired a Psion Workabout handheld computer logger thingy. It's actually great fun! Managed to install a few vital apps. Screen is tiny, but it's now a Zorkabout!