Technology has changed a lot in 30 years, which makes connecting the Psion Organiser II to a modern PC more difficult. On this page I will explain how you can still use the Comms Link to connect to the Organiser.
1. Connecting the Comms Link 1.1 RS232 1.2 USB 1.3 USB Comms Link 2. Installing the software 2.1 CL.EXE 2.2 Psi2Win 2.3 DOSBox 3. Using the Comms Link 3.1 Transferring data files and procedures 3.2 Transferring binary files 3.3 Using the Organiser Developer software
Let's first focus on physically connecting the Psion Organiser II to a computer.
The Comms Link is a device that allows the Psion Organiser to communicate with other systems. One end connects into the Psion's top slot, and the other end has a female 25-pin D-shaped plug on it. This is the kind of plug that was required by the RS-232 standard, which was the communications protocol created in the early 1960s that was still in common use at the time.
IBM-XT and compatible PCs usually had at least one serial port that the Comms Link could directly plug into, i.e. a male 25-pin port. These ports were used for modems, printers, and even mice. Already in the mid to late 1980s these sockets were being phased out. On the IBM-AT and compatible PCs they were often replaced by smaller 9-pin sockets (replacing DB-25 by DE-9), mostly in order to save space and allow more devices to be connected. To connect an original Comms Link to such a socket, you need an adapter plug.
These adapters have a male DB-25 side to which you can connect the Comms Link, and a female DE-9 side which then plugs into the PCs serial port. Unfortunately, virtually no computers still have these serial ports.
The next change that occurred is that the serial ports were replaced by USB ports. These ports follow a completely different standard that is not directly compatible with the older serial ports. There are USB adapters that allow you to connect a female 9-pin RS-232 to a USB port, and these converters contain microchips that handle the conversion. On the PC there is driver software that takes the data received from the microchips and simulates a serial com port. Any other software on the PC can then use that simulated serial port to communicate through the adapter as if it were an old RS-232 port.
There are several families of such microchips, and while they are all very similar, the drivers vary greatly. It is best to use one from FTDI or Silabs who have drivers that will work seamlessly with Windows 10.
Pictured here is a very cheap USB adapter which uses the PL2303 microchip from Prolific. It may be different now, but when I got this adapter it came with a mini-CD with the driver software. The driver was out of date, as it was written for Windows 95 and had never been updated. I did manage to get it to work after many hours of trying. Windows would start searching online for up-to-date drivers, find nothing, and then ignore the old driver I had just installed from the CD provided with the adapter. Eventually I worked out that I had to click Abort when the search for drivers started, and then it would for some reason fall back to using the old installed driver. While this link does work with Psi2Win, I had difficulty getting it to work nicely with DOSBox.
So I recommend to NOT use the pictured adapter, but get a more expensive one with proper driver software support (i.e. FTDI or Silabs, though I only have experience with the former).
Together with a USB extension lead to avoid stressing the socket, the resulting combination is this Frankenstein's monster of a link:
While the contraption pictured in the previous section does work, recently a more convenient alternative has emerged. Olivier Gossuin has created a new version of the Comms Link that has the required converter chip (from FDTI) built in. It has a single micro-USB socket, so you can connect it to a PC using a standard micro-USB lead. It even draws the power from the USB socket so that there is no need for a separate power source.
This excellent USB Comms Link can be bought from Olivier Gossuin's website. Note that you buy the electronics only, without any casing. You can take the casing from an old Comms Link or power adapter, preferably one that had a built-in led light, but you will need to cut out a hole for the micro-USB socket, and possibly fill the hole where the power supply socket used to be.
Now that the physical connection is taken care of, we have to tackle the software side.
The original Comms Link software was supplied on 5¼-inch floppy disk.
Floppy disk drives are almost impossible to connect to a modern PC. While there are drives for 3½-inch disks that connect to USB, the older floppies used the a parallel port instead of a serial port. Thankfully you don't have to, since the software is available to download (for example from here).
Unfortunately, running the CL.EXE program is problematic. It was written for 16-bit DOS, and modern operating systems are mostly 64-bit. If you are still using a 32-bit version of Windows then it could run normally, but 64-bit versions have dropped support for such old software. Even if you have it running on a 32-bit machine, you may need to do some trickery because CL.EXE can only access the serial ports COM1: and COM2:, whereas it is quite likely that your link is registered on a port with a higher number, such as COM3: or COM4:.
It is possible to run a DOS emulator like DOSBox (more on that below), but for most common use-cases there is a better alternative in Psi2Win.
Many years ago I reverse engineered most of the Psion protocol, i.e. the way that the Psion Organiser and the CL.EXE program exchange data. This can be found on my Psion Protocol page. Boris Cornet managed to use this to write Psi2Win, which is an easy to use Windows alternative to the Psion CL.EXE software that will run on both 32-bit and 64-bit Windows. Psi2Win is available to download from here.
After installing Psi2Win, setting it up is quite easy and should be relatively intuitive.
You should now be able to transfer files as explained in the Comms Link manual, and there is a brief recap below.
There are some cases where the Psi2Win software is not sufficient, and where you will need to run the original Psion software. For example:
Unfortunately Psi2Win will never be updated to include these features, and if you run a 64-bit machine then the only way to get the original software to run is via a DOS emulator. The DOS emulator I use is DOSBox, and below are the steps that you can use to set everything up.
You are now ready to start running the programs. Start DOSBox, and a window appears with a DOS prompt C:\>. This virtual C: drive is really the working folder you prepared earlier. You can now type CL to start the Comms Link software, for example.
It should be noted that I never got DOSBox working nicely with the USB-RS232 adapter by Prolific. DOSBox would become extremely slow, taking many seconds to react to a single key press. I suspect that the antiquated Prolific driver did not simulate the serial port completely correctly, but I do not know for sure. DOSBox works well with the driver by FDTI.
To send a file from the Psion to the PC, just follow these steps below. At any point you can press ON/CLEAR to clear the input or to go back to the a previous menu.
The files of these types on the PC will be ordinary ASCII text files, which can be opened and edited in any text editor.
|File type||File Extension|
|Data file||.ODB||Text file with each record on one line, fields are separated by TAB (character code 9)|
|Procedure||.OPL||Text file containing the OPL source code.|
|Notepad||.NTS||Text file containing the notepad text, without line numbering.|
To send a file in the opposite direction, from the PC to the Psion, the steps are very similar.
When transferring any of these files to the Psion, some adjustments are automatically made to create a valid Psion file, such as converting any tab characters in a procedure to spaces, or shortening any file records that are over 254 characters long. Note that procedures retrieved this way will have only source code, so will need to be Translated before they can be run.
The name of the file on the PC is allowed to include a directory, and a drive name. As the Psion keyboard does not allow you to type backslashes (\), you can use forward slashes (/) and these will automatically be converted. Similarly, any percentage sign (%) will be changed to an underline character (_). Note that the original CL.EXE software does not handle long file names, and since you cannot type the ~ character on the Psion you cannot even use the 8.3 short file name instead. Therefore you will have to rename any file that has a long name so that it has at most 8 characters before you can send it to the Organiser.
The files transferred in the previous section were all text files. If you want to transfer a binary file, such as a translated procedure, then the built-in menus of the Comms Link are not sufficient. You will have to use OPL commands to accomplish this. Here is a table of all the file types that can be transferred:
|type%||File type||default PC extension|
|0||data file, LZ diary files (text)||.ODB|
|1||Procedure files (text)||.OPL|
|2||XP, CM diary files||.OB2|
|4||Comms Link setup files||.OB4|
|6||Pager setup file||.OB6|
|7||LZ Notepad files||.OB7|
|16||LZ Notepad files (text)||.NTS|
The first two types and the last type are the text files that were discussed in the previous section.
To send a binary file from the Psion to the PC, you need to use the XTSEND: command that the Comms Link provides. It needs three parameters, XTSEND:(remote$,local$,type%). The first parameter, remote$, is a string containing the name the file should have on the PC. As before, it may include a directory and drive. The extension is optional. The second parameter, local$, is a string containing the name of the Psion file to send. It must include the pack name. The last parameter, type%, is an integer signifying the type of file being sent and is listed in the table above.
For example, within a procedure you can use the command: XTSEND:("BACKUP","A:BACKPROC",3) This will send the procedure on pack A: with the name BACKPROC to the PC, name it BACKUP.OB3, and store it in the folder that Psi2Win has been set up to use or the working directory from which you started CL
If you get the error "PROC NOT FOUND", then the Comms Link software has not been loaded. Check that the Comms Link is fitted correctly to the top slot, return to the main menu, press ON/CLEAR, and check that the COMMS option has appeared in the menu.
It can be a bit inconvenient to create a procedure if you just want to transfer one file. You can use the calculator to run the command too, as follows: Calc: XTSEND:("BACKUP","A:BACKPROC",INT(3)) Note that the type parameter needs to be wrapped by the INT() function to turn it into the integer that the command needs. This is because the calculator interprets all numbers as floating point numbers, otherwise for example 5/2 would result in 2 instead of 2.5, or 100*1000 would result in an overflow error. This technique of using the calculator is also useful on a CM model where you have so little memory, especially with the Comms Link software loaded.
To send a file from the PC to the Psion, the command XTRECV: is used. It has the same three parameters, XTRECV:(remote$,local$,type%). So for example, in a procedure you can use the command: XTRECV:("BACKUP","A:BACKPROC",3) This transfers the file BACKUP.OB3 from the PC, and places it in the Psion on pack A: with the name BACKPROC. If that file already exists on the Psion, then it will be overwritten without warning. Again you can use the calculator in the same way as before: Calc: XTRECV:("BACKUP","A:BACKPROC",INT(3))
This developer kit has several useful programs:
As you can see, for some of these there are good alternatives, but not yet for OPLTRAN and MAKE. To use those, you will most likely need to install DOSBox as explained above so you can run them from a DOS command line window.
OPLTRAN is simple to use. Suppose you have the source code file PROC.OPL which you want to translate, and this file is present in your current working directory. On the DOS command line you can type one of the following commands:
|OPLTRAN PROC||Creates PROC.OB3 containing the PROC.OPL procedure translated for LZ/LZ64, without source code.|
|OPLTRAN -t PROC||Creates PROC.OB3 containing the PROC.OPL procedure translated for LZ/LZ64, with source code.|
|OPLTRAN -x PROC||Creates PROC.OB3 containing the PROC.OPL procedure translated for CM/XP, without source code.|
|OPLTRAN -x -t PROC||Creates PROC.OB3 containing the PROC.OPL procedure translated for CM/XP, with source code.|
If the file extension of your source file is .OPL then it need not be included in the command, but if you use source files with different file extensions the full name is required.
MAKE is used for creating packs. You will need a pack to write to. This is usually a blank datapak, i.e. one that has been made empty by a datapak formatter. However you can also use MAKE to write to Flashpacks or Rampacks, and these will be formatted automatically. You also need an .OPK file with the image that you want to install onto the pack. I will assume that you have a file called PACK.OPK in your current working directory. You can then use one of the following commands to install it to pack:
|MAKE PACK||Installs PACK.OPK onto a blank pack.|
|MAKE PACK -a||Appends the contents of PACK.OPK to a pack.|
After you enter one of these commands, you will be prompted to do the following steps.