In my quest to make an old (1989-era) laptop computer “useful” in 2021 I’m currently fighting some RS232 hardware flow-control issues…
(fixed in part 2 of this saga 🙂 )
I conceived a plan to use a Raspberry Pi as a Connectivity And Link Manager (or CALM 🙂 ) to assist my Psion MC400 laptop to get connected to “the internet” (the Pi is connected to home wifi or phone wifi hotspot when out & about). I’d obtained another serial/parallel module for the MC400 so it could now talk to both the Raspberry Pi though port A as a serial terminal and run the Link software on port B to transfer files to/from the Pi. Once files are on the Pi it’s (relatively) easy to sync them to any cloud service.
I’d configured a serial login session on /dev/ttyUSB0 using
sudo systemctl enable getty@ttyUSB0.service
and then edited /usr/lib/systemd/system/serial-getty@.service
to fix the baud rate at 9600 (the MC400 is limited to a max of 19200 baud but I couldn’t get a reliable connection at this speed so dropped it to 9600). This works well as a serial console so the Pi can be controlled and files moved around, albeit from the command line only.
For the Link software I’d installed dosbox-x and created a simple shell script “mclink.sh” to run the Psion MCLINK.EXE program headless (i.e. with no display) so I could run it from the text-only terminal. MCLINK.EXE is an old DOS program so it’s relatively easy for the ARM-based Pi (model 3 B+) to emulate and successfully run using the x86 DOS emulator. I’d configured dosbox-x’s emulated COM1 port to connect to /dev/ttyUSB1 and /home/pi/mc400 to be mounted as C:\
#!/bin/bash
SDL_VIDEODRIVER=dummy /usr/bin/dosbox-x ~/mc400/MCLINK.EXE
This setup worked really well, but using the standard Psion serial cable and USB/Serial adapters means a lot of spare, coiled up cable and this spoiled the vibe for me: imagine sitting in a coffee shop, sipping on a latte and then pulling out your uber-retro laptop with a few feet of extra cable coiled up in a heap on the table, not cool!

So I started looking for USB/RS232 modules that I could solder directly on to the end of a shortened Psion 9-way miniDIN cable and initially found the FTDI-based USB-RS232-PCBA. These modules offer RTS/CTS signals as well as Tx/Rx/GND so I figured I was in with a chance of things actually working. This looked a lot neater…
…but only the serial terminal connection worked – the Link software failed to achieve a connection (even after wiring DCD/DTR/DSR together at the Psion end). The Psion MCLINK/RCOM/PSIWIN protocol obviously needs full hardware flow-control including DCD/DTR/DSR which the FTDI USB/RS232 adapters don’t provide access to, but obviously the Prolific PL2303 converters I’d originally used do.
So, back to the drawing board for now, some Prolific PL2303 modules (with RTS/CTS/DCD/DTR/DSR solder connections) are on their way from Ali-Express!



Read about the fix for the handshaking issues in part 2 of this saga…

Can I just say – THANKYOU for such a decent, clear article (especially the pinout etc)… I’ve got an MC400 on the way and am looking forward to following the article to mirror your successes. Looking forward to seeing what else you get up to with the MC400… I’m super keen to see it anyone works out how to hook up a Purple Cyclone drive (serial output / honda etc) to the MC400… I wonder if there’s a cunning way to carve out a driver in OPL??
Thanks! And anything is possible! I’m not sure translated OPL would be fast enough/low-level enough to handle a driver, unless it was just used as a wrapper to launch machine-code to do the low-level stuff. The Purple cyclone drive you mention was a floppy drive for the Series 3 range wasn’t it?
I’ve often wondered if it would be possible to easily produce a new expansion module for the MC range that would provide the standard series 3 6-pin (“3Link”) type connector to make all the 3-series accessories compatible with the MC?