Jaap's Psion II Page

Using the Comms Link


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


1. Connecting the Comms Link

Let's first focus on physically connecting the Psion Organiser II to a computer.

1.1 RS-232

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.

RS-232 Adaptor
Adapter 25-pin to 9-pin
Male DB-25
RS-232 Adaptor
Adapter 25-pin to 9-pin
Female DE-9

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.

1.2 USB

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.

RS-232 Adaptor
Adapter RS-232 to USB
Male DE-9
RS-232 Adaptor
Adapter RS-232 to USB
Male USB

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:

Psion to PC
Psion to PC compound link
Compound link

1.3 USB Comms 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.

USB Comms Link
USB Comms Link
Front
USB Comms Link
USB Comms Link
Rear
USB Comms Link
USB Comms Link
Inside, front
USB Comms Link
USB Comms Link
Inside, back

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.


2. Installing the software

Now that the physical connection is taken care of, we have to tackle the software side.

2.1 CL.EXE

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.

2.2 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.

  1. Physically connect the Organiser to the PC as explained in above
  2. Start Psi2Win.
  3. Click the Setup button. Choose the serial port corresponding to the Comms Link. There often is only one choice available. If there are several available ports, just pick one for now and you can always come back and change this setting if you chose the wrong one. Then click OK.
  4. Click the Folder button. You can now select the folder on your file system where you want to transfer files to or from.
  5. Click Start!. The software is now waiting for the Organiser to tell it what to do. It should now be the case that the Organiser has automatically switched on and cannot be switched off because the link is active. If this is not the case, then it could be that the wrong port is selected in the Setup dialog, but it could also be that your hardware or drivers don't handle this signal properly. You will just have to try transferring a file to see if it works.

You should now be able to transfer files as explained in the Comms Link manual, and there is a brief recap below.

2.3 DOSBox

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.

  1. Install DOSBox: Download it from the official DOSBox website. Installing it is straightforward. Running it will produce a window with a DOS prompt, but to make things as easy as possible to work with you may want to make some simple preparations, and to set up the Comms Link you will need to change some settings. So if you started DOSBox running, close it again and do the steps below.
  2. Prepare a working folder: Create a folder on your file system which will be where you will do your Psion work. In my case, I created the folder E:\jaap\psion. In the subfolder cl211 I have put the Psion Comms Link software (i.e. just put all the files there resulting from unzipping the zip file cl211.zip), and in the subfolder devkit are all the Organiser Developer programs (all the files from devkit.zip).
    Directory structure
  3. Open DOSBox settings: Open the Windows Start Menu, open the DOSBox sub-section, and select "DOSBox 0.74 Options". This opens up the DOSBox options file in the Notepad editor.
  4. Change DOSBox folder settings: From DOS you will need access to your file system, and it is handy to have the DOS prompt automatically start in the right working directory. To do this, paste the following lines to the end of the settings file: mount C E:\jaap\psion C: set path=C:\cl211;C:\devkit
    You will of course have to change my E:\jaap\psion folder name to the one that you have prepared in step 2. These lines create a virtual C: drive which contains just your psion working folder, and makes the comms link and developer software available for running without you having to change to the corresponding subdirectory.
  5. Change DOSBox serial port settings: You also need to set up the serial ports if you want to communicate with the Organiser. Near the end of the settings file is a section marked [serial]. There it describes the various settings that are possible, but the one that I use is as follows: serial1=directserial realport:com3 serial2=dummy serial3=disabled serial4=disabled
    This setting assumes that your Comms Link is on the com3 port, but you can easily change that. The easiest way to find out which port it is on is to run Psi2Win and look at its settings as explained earlier. Another way to find the port number is to go to the Windows Device Manager (right-click the Windows Start button, choose device manager), and expand the Ports entry on the list of devices.
  6. Save DOSBox settings: Close Notepad, and confirm that you want to save the changes.

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.


3. Using the Comms Link

3.1. Transferring data files and procedures

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.

  1. Start the PC software - either run Psi2Win and click its start button, or run CL from a DOS command line. This should automatically switch on the Organiser, but that is not guaranteed with the indirect connection that we now need to use.
  2. On the Organiser, press ON/CLEAR in the main menu and then choose the COMMS menu option that has appeared as the second to last item.
  3. If this is your first time transferring files, you may need to change the settings. Choose SETUP from the Comms menu, scroll down to the PROTOCOL option, press the right or left arrow until the protocol is set to PSION. Then press MODE, and select Exit. The Organiser is now ready to transfer files.
  4. Choose the TRANSMIT option from the Comms menu.
  5. A menu appears with the options FILE, PROCEDURE, and possibly NOTES. To send a data file such as A:MAIN, choose FILE. To transfer a procedure's source code, choose PROCEDURE. The NOTES option will only be available if you are using an LZ/LZ64 Organiser and a 4-line version of the Comms Link. Choose the NOTES option to transfer an LZ notepad file.
  6. You are now asked for the name of the file on the Psion. It should be an existing file of the type you have chosen. You select the pack in the usual way by pressing mode, and type the file name. On the LZ/LZ64 you can use the up/down arrows to browse through the pack to find the file you want to send. When you have entered the file name you want, press EXE.
  7. Next you are prompted for the file name to use on the PC end. It need not include a file name extension, as that can be determined by the file type. I will describe the possibilities and restrictions for this file name in a bit more detail below. Type the remote file name and press EXE.
  8. If the file already exists on the PC, you will be asked if you want to delete it. Press Y for yes, or press N to give a different file name.
  9. The file should now be sent to the PC. If there is already a file of that name on the PC, you will be asked whether you want to overwrite it. Press Y if that is ok, but if not, you can press N for no and choose a different remote file name.

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 typeFile Extension
Data file.ODBText file with each record on one line, fields are separated by TAB (character code 9)
Procedure.OPLText file containing the OPL source code.
Notepad .NTSText 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.

  1. Start the PC software - either run Psi2Win and click its start button, or run CL from a DOS command line. This should automatically switch on the Organiser, but that is not guaranteed with the indirect connection that we now need to use.
  2. On the Organiser, press ON/CLEAR in the main menu and then choose the COMMS menu option that has appeared as the second to last item.
  3. If this is your first time transferring files, you may need to change the settings. Choose SETUP from the Comms menu, scroll down to the PROTOCOL option, press the right or left arrow until the protocol is set to PSION. Then press MODE, and select Exit. The Organiser is now ready to transfer files.
  4. Choose the RECEIVE option from the Comms menu.
  5. A menu appears with the options FILE, PROCEDURE, and possibly NOTES. To receive a data file such as A:MAIN, choose FILE. To receive a procedure (source code only), choose PROCEDURE. The NOTES option will only be available if you are using an LZ/LZ64 Organiser and a 4-line version of the Comms Link. Choose the NOTES option to receive an LZ notepad file.
  6. You are now asked for the name of the file on the Psion. When you have entered the file name you want, press EXE.
  7. If the procedure or notepad file you have chosen already exists on the Psion, you will be asked whether you want to overwrite it. If you choose N for no, then you will have to enter a different file name. In the case of a data file that already exists, you get the option of appending to the file (which will add the records of the incoming file to the end of the existing file) or to erase the file (which will erases all records of the existing file, before adding the incoming records).
  8. Next you are prompted for the name of the file on the PC that you want to receive. It need not include a file name extension, as that can be deduced from the file type. See the description below for the possibilities and limitations of the file name. Type the remote file name and press EXE.
  9. The file should now be sent to the Psion.

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.

3.2. Transferring binary files

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
3 Procedure files .OB3
4 Comms Link setup files .OB4
5 Spreadsheet files .OB5
6 Pager setup file .OB6
7 LZ Notepad files .OB7
8-15 Unspecified .OB8-F
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))

3.3 Using the Organiser Developer software

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 PROCCreates PROC.OB3 containing the PROC.OPL procedure translated for LZ/LZ64, without source code.
OPLTRAN -t PROCCreates PROC.OB3 containing the PROC.OPL procedure translated for LZ/LZ64, with source code.
OPLTRAN -x PROCCreates PROC.OB3 containing the PROC.OPL procedure translated for CM/XP, without source code.
OPLTRAN -x -t PROCCreates 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 PACKInstalls PACK.OPK onto a blank pack.
MAKE PACK -aAppends the contents of PACK.OPK to a pack.

After you enter one of these commands, you will be prompted to do the following steps.

  1. On the Psion, enter the COMMS menu, choose the BOOT option, and press EXE when prompted for a name.
  2. The installer software is then transferred to the Psion, which takes a few seconds.
  3. Then you are prompted to insert the pack into slot C:.
  4. Press a key when you have done so, and the OPK file will be installed. This may take some time.
  5. At the end you are asked if you want to install it again to another pack. Press N if you are finished.