<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hello world! on The Last Psion</title><link>/</link><description>Recent content in Hello world! on The Last Psion</description><generator>Hugo</generator><language>en-gb</language><lastBuildDate>Sat, 04 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="/index.xml" rel="self" type="application/rss+xml"/><item><title>ASIC4 Extended Mode Addressing</title><link>/posts/asic4-extended-mode-addressing/</link><pubDate>Sat, 04 Apr 2026 00:00:00 +0000</pubDate><guid>/posts/asic4-extended-mode-addressing/</guid><description>&lt;p&gt;Who wants a deep-dive into a tiny aspect of Psion SSDs and their ASICs?&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;&lt;img src="/posts/asic4-extended-mode-addressing/psidrive_and_ssd.png" alt="Photo of PsiDrive"&gt;&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;</description></item><item><title>CTRAN - Introduction</title><link>/ctran/ctran-00-introduction/</link><pubDate>Sun, 29 Dec 2024 00:00:00 +0000</pubDate><guid>/ctran/ctran-00-introduction/</guid><description>&lt;p&gt;At the beginning of 2024, I ragequit reading about Psion&amp;rsquo;s proprietary Object Oriented C.&lt;/p&gt;
&lt;p&gt;This was unexpected, but I should have seen it coming.&lt;/p&gt;
&lt;p&gt;Near the end of the previous November, I made an announcement on social media. I was going to start working on a new word processor for Psion&amp;rsquo;s 16-bit portable machines. I&amp;rsquo;d been working on Psion-related projects since September 2018, focusing on the SIBO/EPOC16 platform. Writing a replacement for Psion Word was one of the first ideas I&amp;rsquo;d had. So, as I&amp;rsquo;d spent the latter half of 2023 bouncing between projects and never quite settling, I decided that now was the time. It was to be called Vine, a nod to both the codename of the Psion Siena and the Vi-like bindings I was hoping to include in its feature set.&lt;/p&gt;</description></item><item><title>Beginning OLIB: An entirely uneducated look at Psion's proprietary Object Oriented C</title><link>/posts/beginning-psion-olib-object-oriented-c/</link><pubDate>Thu, 04 Jan 2024 00:00:00 +0000</pubDate><guid>/posts/beginning-psion-olib-object-oriented-c/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Me:&lt;/strong&gt; I could do with a quick win to get me going again.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Also me:&lt;/strong&gt; 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.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Psion doesn&amp;rsquo;t have a formal name for the object oriented version of C that it created for EPOC16.
I&amp;rsquo;ve been calling it &amp;ldquo;Psion OO C&amp;rdquo;, but the main library that it uses is called &lt;strong&gt;OLIB&lt;/strong&gt;, which contains the root class.
The others are:&lt;/p&gt;</description></item><item><title>A Long-Overdue Update - PCBs, Emulators And More</title><link>/posts/pcbs-emulators-more/</link><pubDate>Sun, 13 Aug 2023 00:00:00 +0000</pubDate><guid>/posts/pcbs-emulators-more/</guid><description>&lt;p&gt;&lt;img src="/posts/pcbs-emulators-more/1fbbe3a93b772d07.png" alt="Two copies of MAME, built from git, running ROMs from the Series 3c and 3mx."&gt;&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s been a while, hasn&amp;rsquo;t it?&lt;/p&gt;
&lt;p&gt;My work on this project has been relatively sporadic over the past 12 months. I&amp;rsquo;ve not found it easy to find a balance between this, my day job, and other projects I&amp;rsquo;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.&lt;/p&gt;</description></item><item><title>`libsibo` - Talking to SIBO Peripherals using Arduino</title><link>/posts/libsibo-arduino-raspberry-pi-pico/</link><pubDate>Thu, 07 Jul 2022 00:00:00 +0000</pubDate><guid>/posts/libsibo-arduino-raspberry-pi-pico/</guid><description>&lt;p&gt;Finally, it&amp;rsquo;s here! Some proper code for reading SSDs and (eventually) other SIBO peripherals.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve spun off some the Arduino code from SIBODUMP, added the FlashFS code from SIBOIMG, ported it to PlatformIO, and pushed it to GitHub.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://cdn.hackaday.io/images/6472801657186065344.file-1657186065330-985153118" alt=""&gt;&lt;/p&gt;
&lt;p&gt;So, the TL;DR is:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Two major bugs squished.&lt;/li&gt;
&lt;li&gt;It works with more boards now (Pico, ESP32, Arduino Nano)&lt;/li&gt;
&lt;li&gt;It&amp;rsquo;s still uses the Arduino libraries, but it&amp;rsquo;s now based on PlatformIO&lt;/li&gt;
&lt;li&gt;You&amp;rsquo;ll need level shifters for 3.3v (I&amp;rsquo;ve included an example)&lt;/li&gt;
&lt;li&gt;Would regular Raspberry Pi compatibility be useful?&lt;/li&gt;
&lt;li&gt;Next steps&lt;/li&gt;
&lt;li&gt;Discord chats&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So, take a look at the code over on &lt;del&gt;GitHub&lt;/del&gt; Codeberg, then read on.&lt;/p&gt;</description></item><item><title>`siboimg` - The Psion Flash Image Extractor</title><link>/posts/siboimg-psion-flash-image-extractor/</link><pubDate>Wed, 20 Feb 2019 00:00:00 +0000</pubDate><guid>/posts/siboimg-psion-flash-image-extractor/</guid><description>&lt;p&gt;A month ago I had never typed a line of C. Concepts like pointers, structs and treating variables as actual blocks of memory rather than abstract values were alien to me. But I really wanted to get into C; I knew that knowing the language would be vital for this project and there was only so long that I could put off learning it. I needed a target.&lt;/p&gt;
&lt;p&gt;&lt;img src="/posts/siboimg-psion-flash-image-extractor/6608111550678576198.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;Karl had already written a Windows app in C# that would extract files from an image of an SSD. The Flash format had been well documented by the fantastic Clive D W Feather in his invaluable collection of SIBO documentation known as &lt;em&gt;The Psionics Files&lt;/em&gt;. So I decided to follow in Karl’s footsteps and write an SSD file extractor in C. Something that would be more portable than his C# app, that I could compile on Linux, *BSD, macOS and Windows. And so, armed with a copy of the second edition of K&amp;amp;R and a few pre-ripped SSD images, my journey began.&lt;/p&gt;</description></item><item><title>Device IDs via SIBO-SP</title><link>/posts/device-ids-psion-sibo-sp/</link><pubDate>Sun, 13 Jan 2019 00:00:00 +0000</pubDate><guid>/posts/device-ids-psion-sibo-sp/</guid><description>&lt;p&gt;Ever since the start of this project, the SIBO Serial Protocol (SIBO-SP) has loomed large as Something We Need To Know About. It&amp;rsquo;s a protocol using 12-bit packets, a LSB-first data payload, and a series of reset and select control commands, all done on one data wire and one clock wire. As you&amp;rsquo;ll see in previous logs, we&amp;rsquo;ve managed to decode a large amount of it and I&amp;rsquo;ve published my Sigrok decoder on my GitHub page.&lt;/p&gt;</description></item><item><title>The SSD Port and (finally) Some Logic Analysis</title><link>/posts/ssd-port-logic-analysis/</link><pubDate>Sun, 21 Oct 2018 00:00:00 +0000</pubDate><guid>/posts/ssd-port-logic-analysis/</guid><description>&lt;p&gt;I now have everything I need to get started on revealing the secrets of the Psion SSD Port. So, here&amp;rsquo;s what I&amp;rsquo;ve been up to this morning.&lt;/p&gt;
&lt;p&gt;Rather than pull apart my &amp;ldquo;production&amp;rdquo; 3c, I&amp;rsquo;ve decided to get to work on a slightly broken 3a. I don&amp;rsquo;t like the idea of doing something dumb thanks to my inexperience and blowing up my 3c. The 3a&amp;rsquo;s battery compartment is in a pretty bad way, but it powers on quite happily with a Series 3 external PSU. So, I pulled it apart and got to work.&lt;/p&gt;</description></item></channel></rss>