RISC World


Aaron Timbrell

Copyright message

SerialNet is copyright APDL and iSV Products. It is not freeware, shareware or Public Domain and must not be distributed in any way. This version of SerialNET is licensed for use on two computers.

SerialNET is a low cost network for two computers that allows them to be connected via the serial ports. SerialNet supports the following features.

  • Background file transfer at up to 100K a second.
  • Multi-tasking Network printing system.
  • Message sending and chat facilities.
  • Remote typing from one machine to another.
  • Remote disk access including filer displays.
  • Auto-sync of Baud rates.
  • Transmission routines coded in 100% ARM code.
  • Support for both internal ports or Atomwide/Serial Port serial cards.
  • Automatic error correction.
  • All using 128K of memory (including buffers).

Before you start

In order to use SerialNET you will need to have a suitable Serial cable connecting the machines together. If you purchase SerialNET without a cable then please see the section called Making a Cable. If you already have a cable or SerialNET was supplied with one then please continue. Make a Backup now Before continuing we recommend that you backup the SerialNET master disk and keep the original in a safe place.

The cable

The two computers you are using will need to be connected with the serial cable. As supplied SerialNET is designed to work with the normal internal port that Acorn computers have. The serial cable plugs into the serial port on the back of each computer. This is marked as Serial or RS 432.

There are two types of serial cable then can be used. The cables supplied with SerialNET and shown in the Making a Cable section are called "Acorn Wired Cables". These are suitable for connecting any 2 Acorn machines. If you already have a cable from any other Acorn supplier then this too will be "Acorn Wired".

There is another type of cable called a "null modem cable" this is wired for use with an IBM compatible PC, however a cable of this type can be used with SerialNET but only between RiscPC and A7000 computer systems. A3000 - these computers may need a serial port chip to be fitted before the serial port will work. Contact your nearest dealer for details.

Using internal ports

If you do not have a high speed serial card then you will need to use the internal serial ports in your computers. Connect the cable between the two ports (marked as either Serial or RS 432).

Important - at no point should you ever plug in or unplug a cable from a serial port while either computer is on. Doing so may well damage the computers.

Having connected the computers turn both of them on and then proceed to the section entitled Installing SerialNET.

Using high speed cards

SerialNET provides support for high speed Serial Cards produce by Atomwide and The Serial Port. If you wish to use one of these cards then you will need to plug the cable into the appropriate socket on the card. Use the lowest numbered free socket on the card. The sockets are numbered from 0 to 2 (3 sockets) when looking at the card from the back of the machine.

Note that although almost all of the cards have 3 sockets not all of these sockets may work. If your card has only 1 working port (Single Port Card) then you will need to connect the cable to port number 0.

You can of course use SerialNET between a high speed card on one machine and an internal port on another machine. For example to connect an A310 with a high speed card to a RiscPC computer using the internal port.

SerialNET can run from either a floppy or a hard disk. Please note that whatever type of disk SerialNET is installed on the disk must NOT be write protected.

SerialNET consists of a number of applications as shown below.

These include the following.

  • iSVManual - The manual.
  • SerialDev - The serial port block drivers required for SerialNET to work with a serial port. This application needs to be seen by the filer before SerialNET will work.
  • SerialNET - The SerialNET application.
  • SetConfig - Designed to reset the CMOS ram settings in a computer (not normally needed).
  • SerExecs - Some sample files that can control the other machine.

Internal Ports only

If you are connecting SerialNET using the internal ports then SerialNET is already set up. You can load SerialNET on both machines and it will connect. Go to the section entitled Loading SerialNET.

Fast Serial Cards & Internal Port

If you are using a fast Serial Card connected at one end and an internal port at the other then you will need to change the preferences setting on the copy of SerialNET running on the machine with the fast card installed.

To do this load the copy of SerialNET on the machine with the fast card (do not load the other copy). Click on the SerialNET icon on the iconbar. Now click on the Preferences button on the main window that has opened. Now you will need to change the port from the preferences window. Choose the port that the cable is connected to eg (AtomWide/SP 0) for Port number 0. Then click on the Save button. Do not at this point change any other settings in this window. You can now load SerialNET on the other machine and it will connect.

Fast card to Fast card

If you are using SerialNET between 2 computers fitted with fast serial cards then you will need to set up each end of SerialNET first as follows.

Load a copy of SerialNET on 1 machine. Click Select on the SerialNET icon on the left hand side of the icon bar.

Now click on the Preferences button on the main window that has opened. Now you will need to change the port from the preferences window. Choose the port that the cable is connected to eg (AtomWide/SP 0) for Port number 0.

Then click on the Save button. Do not at this point change any other settings in this window. Now load SerialNET on the 2nd machine and repeat the process. Provided that you have chosen the correct ports SerialNET will connect and you can continue.

SerialNET is loaded by double clicking on it SerialNET will then load and appear on the right hand side of the icon bar. Clicking SELECT on its icon will open the main window.

SerialNET supports interactive help and we recommend that this is loaded so you can see what the buttons and windows actually do.

When SerialNET is loaded it will try and contact another machine down the serial port. While this is happening the main window will show the message "Trying to establish link". While this is happening SerialNET cannot send any messages. Once SerialNet is connected you will see that the message changes to "Idle" (The toolbox extends adding extra icons). This shows that SerialNET is working.

Sending a message

Once SerialNet is idle click on the mouth icon in the toolbox. This will open the message window. Type some text and click on the send button. The text you have just typed will appear on the other machine in an error window.

On the other machine click on either the "Accept message" or "Cancel message" buttons. A window will then open on the machine that originated the message stating if the message was accepted or cancelled.

All of the icons in the SerialNET main window support interactive help and we recommend that you use this to familiarize yourself with them.

The next few pages will show you how to use SerialNET.

File transfer is the main purpose of SerialNET. Indeed SerialNET supports three different types of file transfer.

Simple file transfer

If you drop a file/directory/application onto the SerialNET icon or the main window then it will be transmitted to the other end. Try this with a simple file now. Once the file has been sent it will appear in the receive window at the other end.

SerialNET also supports a batch transfer system this allows you to send a large number of files in one go without having to repeatedly drag them into the SerialNET window.

Using batch Transfer

Click on the Open Transmit window button on Machine A. Now drag all the files that you wish to send into the Transmit window.Then click on the Send All Files button. The files will be sent in sequence and will appear in the receive window on Machine B.

Clicking on the Open Remote Disk icon on the SerialNET toolbox will open the remote disk toolbox.

SerialNET is supplied with two remote disks configured. The floppy disk and a normal Acorn Hard Disk. If you have a machine with an different hard disk e.g. SCSI then you will need to configure SerialNET correctly (see the section on Configuring Remote Disks).

Assuming that the toolbox is configured correctly clicking SELECT on one of the icons on this toolbox will open a filer display for the particular disk on the other machine.

The remote disk system provides a filer like display of any disks attached to the other machine. These windows work in the same way as though the disk you are using was in your own machine. Files can be dragged both to and from these filer windows. Files can be loaded by double clicking on them. Files can be copied between remote disk windows and normal filer windows.

Files can be saved into these windows directly from an application.

Remote disk restrictions

There are a couple of small restrictions when using SerialNET remote disks.

  • Files/directories/applications can only be selected one at a time.
  • Some options on the filer menu are greyed out as they are not appropriate to a serial disk link.

Just like the normal filer the SerialNET filer has a menu.

This is the same as the normal filer menu but with some options greyed out (as they are not appropriate).

At the bottom of the main filer menu is a new option called Re-Cache. This will force SerialNET to re-load this remote disk window should the contents of the window be changed by the machine that actually contains this disk.

Remote disks need to be configured from the machine that is accessing the disk. For example we wish to access the disks on Machine B from Machine A. We will therefore need to configure Machine A.

Machine B contains a floppy disk (ADFS::0) and a SCSI hard disk (SCSI::4).

On machine A the floppy will already be set up but we need to tell Machine A that Machine B has a SCSI hard disk. To configure a disk click ADJUST (Right mouse button) on the disk icon you wish to use for SCSI::4. A configuration window will now open and from here you will be able to set up this icon so that clicking on it will open a filer display for the hard disk SCSI::4 in Machine B.

Click on SCSI as the file system and choose 4 as the Device number. Click on the Set Configuration button and the icon on the remote disk toolbox will change to show SCSI::4. This icon is now mapped to the SCSI hard disk in Machine B.

Initially configuring a remote disk may seem a little complicated however once a disk is configured SerialNET will remember it and every time SerialNET is loaded any disk configurations you have set will re-appear.

As you can see from the Toolbox SerialNET supports up to six remote disks. These can be of any variety and can include Floppy disk SCSI/IDE/ST506 HardDisks CDRom drives Syquest removable hard disks and Panasonic PD drives.

When configuring a remote disk DO NOT configure one machine to access a disk that does not exist in the other. This may cause both machines to hang when you click on the icon for the non-existent disk.

The configuration for the remote disks is saved automatically by SerialNET whenever one of them is changed.

SerialNET will not only allow you to load and save files from the remote disks, you can also run applications from any SerialNET remote disk. When you double click on an application it will first be transferred from one machine to the other and then run. Unlike files & directories, applications are not transferred into the Receive window but into the apps window. Running an application using SerialNET can take some time as the whole application has to be transferred before it can be run.

Network Printing

This allows one machine to print to the printer attached to the other machine automatically. Once set up this is a background operation and is totally transparent to the user. You should ideally use the same version of !Printers with the same printer definition files at both ends. There are no buttons to control this since when you print from one machine the print job just appears on the other and is then printed out automatically.

In this example Machine A has a printer attached and Machine B does not. When we print from any application on Machine B we want the result to be printed out on the printer attached to Machine A.

  • Load !Printers on machine B and configure it so that it is the same as !Printers on Machine A. (ie it has the same printer definition files).
  • Load SerialNET on both machines.
  • Open the SerialNET transmit window on Machine B.
  • Hold down SHIFT and click with ADJUST on !Printers on the icon bar (Machine B).
  • Select file as the option and drag this file into the SerialNET transmit window on Machine B.
  • Save choices from !Printers on Machine B.
  • Load !Printers on Machine A.
  • Turn on the Enable Network Printing button in SerialNET on both machines (see the Preferences section) and then test.

If all is well Network printing should be enabled. If it does not work or garbage comes out of the printer then check with the possible problems shown below.

Network Printing Problems

Network printing is a background task. ie Machine A will remain fully usable even while network printing is taking place. If you do have any problems then please check the following.

  • When using Network Printing with !Printers 1.28 or later please ensure that the background printing option is OFF.
  • Ensure that you are using the same version of !Printers on both machines.
  • Ensure that you are using the same printer definition files on both machines.
  • Check that you can print from Machine A (which has the printer attached) without any problems.
  • Ensure that the Enable Network Printing option buttons are on in both copies of SerialNET.

In the main SerialNET window is the preferences button. Clicking on this will open the SerialNET prefs window. This has two sections, one concerned with the serial port and one concerned with SerialNET. All of the option buttons provide further support via the Interactive Help application.

Preferences (Transmit at/Receive at)

These two options allow you to set the baud rate that SerialNET runs at. By default SerialNET is set to run at 19200 baud as this will work with any setup. As you can see it is possible to select different baud rates for receive and transmit (this is called split rates). However some machines (A5000) do not support split rates. Also note that the fast serial cards do not support split rates either. i.e. Transmit & Receive rates must be the same using either an A5000 or a fast serial card.

Clicking on the menu button next to these icons will open the baud rate menus. Speeds that are not available on the particular machine you are using will be greyed out. Do not try and change Baud rate settings without having SerialNET loaded on both machines and connected. The other terminal many not support the same baud rates as you are using. If SerialNET is connected then it will check that the new baud rates you have chosen will work correctly. If the new baud rate is not supported at both ends then SerialNET will default to 19200 baud.

Preferences (Port/Cable)

These options allow you to choose the serial port you are using and the cable type. The ports available are:

  • Internal - the serial port built into the computer
  • Atomwide/Sp 0 - fast card serial port 0
  • Atomwide/Sp 1 - fast card serial port 1
  • Atomwide/Sp 2 - fast card serial port 2

Only those ports that are available on your machine will be selectable from the menu. The others will be greyed out.

Cable type

This allows you to select the type of cable you are using. Unless you are absolutely sure that you have a PC wired cable ensure that this is left on the "Acorn Wired" setting. Unless you purchased your cable from a PC "box shifter" the cable will be Acorn wired.

Preferences (Block size/Parity)

SerialNET sends files in blocks. When you send a file the first block is transmitted with a checksum attached. The receiving machine reads in this block and then uses the checksum to ensure that the data is correct. If the data is correct then the next block is requested and transmitted. If the data is not correct then the block will be requested again. If the connection between the two computers is very reliable then the block size can be increased as this will speed up file transfer. If the connection is not so reliable then the block size can be reduced to lower the amount of data that has to be re-transmitted following a fault.

Use Parity error checking

Parity error checking is built into all serial devices. When a byte of information is sent an extra bit of data is added to the end. This allows the computer to automatically detect any errors. Transfer will be faster with parity off, however we recommend that this option is left on.

Reset port after errors

This option simply clears any redundant data from the transmit and receive buffers after an error occurs.

The other half of the preferences window covers the SerialNET settings.

Once you have set up your preferences you can click on SAVE to make a permanent change, on OK to make a temporary change or RESET to set the preferences back to the last saved state.

Turbo file transfer

This will speed up transfer of files by a factor of 2/3 times and sometimes much more. Turbo file transfer however uses more memory than normal transfer. We recommend that the turbo setting is left on unless SerialNET requests that you turn it off (eg because of lack of memory).

Multi tasking file transfer

With this option selected all file transfer will be performed in the background. This slows transfer down but both machines remain fully useable while files are being sent.

Enable Network Printing

For Network Printing to operate this button must be on at both ends.

Read only drive access

This allows the other terminal to only read files from the hard disk in your machine. Files cannot be deleted if this button is set on.

Send messages as plain text

With this button selected messages sent from one machine to the other will appear as though they were typed in on the receiving machines keyboard.

Send Text files to Keyboard

With is option selected any text files dropped onto SerialNET will appear on the receiving machine as though they were typed on the keyboard.

Play sounds and slide panes

Turn this option on and see!

Auto run Serial Exec Files

This will auto-run any Serial EXEC files received by SerialNET (See below).

Using SerialEXEC files you can force the machine at the other end to perform certain actions. In order for this to happen the machine that is receiving the file must have the Auto Run Serial EXEC files option selected from the preferences window. Some example SerialEXEC files are supplied on the master disk.

SerialEXEC files can contain any type of command that is normally supported by EXEC files. Or any type of command that can be typed in at the command line. Have a look at the examples to get a better idea.

The !SetConfig application

This will set up the configuration on CMOS RAM for the default SerialNET settings. This application does not normally need to be run but if SerialNET seems to be having problems you can run the !SetConfig app. You will then need to reset the machine and try again. Please note that you may need to run !SetConfig on both machines. Since !SetConfig alters some of the settings in CMOS RAM it may interfere with the normal operation of other comms software.

If SerialNET does not work

If you have connected the two machines together with a cable and loaded SerialNET at both ends but SerialNET has not connected then the problem may be one of the following.

  • You have some other software loaded that is using the Serial Port (eg Comms software).
  • Your Printer Driver (!Printers) is configured to use the Serial Port.
  • The Cable you have made is faulty.
  • Your A3000 does not have a Serial Port upgrade fitted.
  • Some of the Serial Port modules are unplugged - Press F12 and type Unplug. If any modules are shown as unplugged then type RMInsert <Module name> and press Return.

  • The Serial Cable is not firmly connected and both ends.
  • You have selected the wrong port on a high speed card.
  • Your RiscPC has some of the modules from PocketFS stored in its boot sequence and loaded at startup.

  • Your computer (A310/A5000/A3000) has a faulty serial port.

The diagram below right shows the connections for a special Acorn Cable. The parts needed are:

  • 2 x 9Pin D Sub Sockets
  • 2 x Shielded hoods
  • 1 x 5 way cable.

As you can see some pins are actually connected inside each socket. Parts to build this cable are available from stores such as Maplin. A 10 Metre cable can be built for under £10.00 using high quality components. Much less using cheaper cable/hoods.

SerialNET can operate at different speeds using the same Baud rates depending how it is set up.

Fastest setting

This is with multi-tasking and parity turned off and with Turbo turned on. Maximum speed possible with a 19200 baud connection is 20.5K per second. However on some older machines this speed is not always reliable. When you are using two RiscPC/A7000 computers the fastest possible speed is 120K per second.

Slowest speed (most reliable)

This is with Turbo off, Multi-tasking on and parity on. The maximum speed possible with a 19200 baud connection is 1.6K per second. Between two RiscPC/A7000 computers this setting will run at 9.6K per second.

We recommend that unless you are transferring large files SerialNET should be set with Turbo and parity on. This results in a reasonable compromise between speed and reliability. The baud rates used depend on the two machines being used, some examples are shown below.

Old style machine (A310/A4x0/A3000/A540) using an internal port to any other machine - 19200 baud.

Newer machine (A3010/A3020/A4000/A5000/A4) to another newer machine, RiscPC using internal ports or a fast card. Maximum baud rate 115200 baud. However these machines do not contain a special chip known as a FIFO, any rate over 19200 baud may not be reliable. You will need to experiment to find the highest reliable baud rate.

A7000/RiscPC/fast card to A7000/RiscPC/fast card, you can run at 115200 baud all the time.

Appendix4 - Glossary of terms

This is not intended to be a complete glossary, however it gives you definitions of most of the words used in serial communications.

Baud - This is the speed of the serial port. As far as SerialNET is concerned 1 baud = 1 bit per second. So at 19200 baud 19200 bits per second are   being transmitted. Normally one would expect this to equal 2400 bytes (19200 bits / 8 bits per byte). However when using serial ports a byte may be longer than 8 bits (see Byte).

Bit - The smallest piece of information used, this can be either 0 (off) or 1 (on).

Byte - 8 bits joined together, can store any number between 0 and 255. Any serial system will also add an extra bit to end end of this (see Stop bit). So without parity error checking a byte becomes 9 bits long. With parity enabled a byte becomes 10 bits long.

FIFO - A special ship used to control the flow of data into and out of a serial port. A FIFO is needed at speeds greater than 19200 baud. Only RiscPC/A7000 and fast serial cards contain a FIFO chip.

Parity - Parity refers to a special type of error detection used by serial devices. When a byte is sent an extra bit of information is added to the end. This bit is used by the computer to try and detect any error in the data being transmitted.

Stop bit - An extra bit added to the end of a byte to indicate its end. Every byte send (8 bits) must have a stop bit added at the end.

Word - This is 4 bytes (ie 32 bits). When using Serial connections this becomes 36 bits with no parity and 40 bits with parity.

Aaron Timbrell