Psion series 5/5mx
The psion series 5mx is a palmtop computer from the late 90s. I love mine even though it's old, no modern device really comes close to it. This is a page of notes on programming and using the psion in the 2020s.
Display Cable Repair
Unfortunately, due to their age and a design flaw in the original display cable, many have broken displays. My display cable failed, leading to no picture displaying on the screen, only horizontal lines. There are a few places that sell replacement cables, most notably psionflexi who also have an installation guide, although installation is somewhat tricky:Psionflexi
If you cannot install it yourself (or don't have a friend who'll be happy to do it) Psionex still offer a repair service, but it's quite expensive (they quoted me £110 to repair mine)Psionex
You can also buy units with refurbished display cables on ebay.
File transfer on linux
Transfering files to and from the psion on linux is best done over serial. The psion and linux seem to have different assumptions about filesystems that mean it can't read properly.
To transfer data over serial you need a psion serial cable and a USB->Serial converter (most will work on linux). You'll need to download and install plptools, which is available from github or in AUR as `plptools-git`. There are build instructions in the readme.plptools github
Connect your psion to your PC and start ncpd. ncpd is intended to run as a daemon but I prefer just to start it when I need it (replace /dev/ttyUSB0 with the serial port your psion is on):
sudo ncpd -d -s /dev/ttyUSB0
Then on the psion, hit Ctrl+L, and set link to "cable". If you have serial issues you may also want to change the baud rate. At this point your psion should be connected to your PC! You might need to try restarting ncpd and/or the psion link type a few times to get a connection. Now you have two options for file transfer interfaces: `plpftp` and `plpfuse`. `plpftp` is a command line tool and `plpfuse` mounts the psion as if it is a linux filesystem. I have found `plpftp` to be more reliable. It's a command line program but I find it pretty self-explanatory to use: `put [unix file]` copies a unix file to the psion, `get [psion file]` copies a psion file to unix, and you can navigate the psion filesystem using the usual commands you'd expect.
Programming in C/C++
There is a book on psion C++ programming that is essentially the only resource I can find on psion C++, which I have scanned. It's available from everybody's favorite shadow library and also this link:Professional Symbian Programming Book (archive.org)
Setting up an SDK on linux
There have been a few attempts to build a psion SDK that works on linux over time but the most up to date I have found (and the only working psion SDK I have used) is this one. I would highly recommend it over trying to get the original SDK working! I tried installing the original SDK in both wine and windows XP and got broken executables out of it both times, so this is far better:static-void psion linux C++ SDK
The README is pretty good for install instructions, but I'll add a few things to note:
- your project must be within the SDK folder for makmake to like it
- No spaces are allowed in filenames
- You have to be in the same directory as the SDK start script to start it
- The WINS target does not work. This is a potential place for future improvement for easier debugging
- The SDK relies on being able to use x:\ in your wineprefix, so create a new one if something else is using wine's x:\
- if you are following the "professional symbian programming" book, most things should work similarly although you will need to replace `nmake` with `make` etc.
- Projects need to be two directories deep - for example:
epoc_cpp_sdk/pep/helloworld |- helloworld.cpp |- helloworld.mmp
and then helloworld.mmp should contain:
PROJECT pep SUBPROJECT helloworld
Any more information I could put here from what I know so far would be duplicating either the book or the README of the SDK.
Other useful psion linksPsion Official Windows SDK downloads (I do not recommend using these)
Blog post about the internals of the psion and emulating it
a modern psion site with some info
Eric Lindsay's psion page. Lots of dead links but you can find the software archived
3d printable replacement stylus for psion 5