Null Modem Cable - Connecting 2 Computers
for games and transferring files.

 

Getting 2 computers connected and talking to one another can prove to be a troublesome experience for many. I've spent hours doing this in an attempt to play network games and have found the null modem setup the cheapest solution when the computers are reasonably close together. (In the same building) Other options include modem to modem or a full network, either with coax cable and network cards or twisted pair ethernet that uses a hub as well as network cards. I have little knowledge of systems other than the IBM compatible so all of this refers to this exclusively although Nick's Pin-outs Collection has pin-outs for many other systems.

Intro

I have been amazed at how many different pin-outs there are for a null modem cable. (excluding the obvious difference with the 2 plugs, 25 pin and 9 pin see Nick's Pin-outs Collection ) EG on a 25 pin most said join pin 6 & 8 on the same plug and run this to pin 20 on the other but the Microsoft site didn't have pin 8 used at all. Of course you could buy one already made up but I had the parts and wanted to try for myself.

So what do I do

  1. Buy or make up the cable. There is a max length that will work but I hear some have gone up to 20 m without problems. Remember the pin numbers for the 9 pin plug are different to the 25 pin plug. Check and double check the wiring is correct, you wouldn't want to fry your computers would you? As I mentioned there are reportidly many different wirings for a null modem cable. I eventually used the ones listed on the Microsoft Knowledge base section entitled Cables That Are Compatible with Direct Cable Connection.
  2. With the computers off plug in the lead.
  3. Turn each computer on, press del at startup (or whatever you need to get into the bios) and check the com port is active. Write down the com port and IRQ settings.
  4. Boot up Windows, in start/settings/Control Panel/system/device manager/ports check through all the settings are correct and what you expect. Flow control =Hardware. Bits/sec is 115200 (This may have to be lowered if using an old I/O card) In resources the IRQ is what you expect.
  5. Start up HyperTerminal on both (using the com port) and see if you can send files between each computer.
  6. Do the same for your favourite game and hopefully it should work.

 

Problems

After making the cable and setting up the 2 games on both computers I found the system didn't work first up. If you have this happen here are a few pointers. (apart from the obvious like you've soldered the wires touching one another)

  1. Is the com port enabled in bios?
  2. Do you know what the com port and IRQ is for the plug you want to use for each computer? Almost always computers have a mouse with a 9 pin plug, plugged into com1, IRQ 4 but that isn't necessarily so. This then usually leaves you with a free com port 2, IRQ 3. These setting can often be altered in bios as well as in Windows.
  3. My first set-up failed and took some time to figure it all out actually. The problem being the lead that runs from the motherboard to the case didn't work. I only found that out after trying my modem on that socket but hardware failure of this kind I would hardly believe possible before this.

 

Checking that it all works

Terminal Program

The best thing I've found is to use a terminal program like HyperTerminal. This can also be used to transfer files between the 2 computers although the biggest downside to this is I can only figure out how to send one file at a time. It isn't real fast, my real-time tests went at about 1.5 min/meg, but will do for most files I want to transfer. This was with the port settings at 115000 bps using the X modem protocol. Pushing the port settings any higher on my system just meant the program wouldn't connect. I have very little space on one of the computers so HyperTerminal was just great instead of using say the direct cable connection available in Win 9X which I'm sure would have taken quite a lot of Hard Disk space. (although it would have added more features)
Also see DCC Serial Port Troubleshooting / Cable Test.

Games

There are quite a few demo's and shareware games that are networkable in this way.
EG

 

Null Modem Cable Pin-outs and information

 

Useful Correspondence

Below is a collection of emails from people about the subject of null modem cables.

There is more than one null modem config used.
Obviously at its simplest there is a difference between a 9 pin null modem cable and a 25 pin null modem cable.
Even with just one physical connector, the simplest null modem cable just reverses the Rxd and Txd connections and normally has one or two ground connections, pins 1 and 7 in the 25 pin connector, wired straight thru.
In some cases you also need to crossover the lines like CTS and RTS and its usual to cross those and to cross the DTR and DSR lines.
It gets more complicated when deciding what to do with CD or DCD, it can be called either. What's best really depends on what you are using the null modem cable for. Its most usual to connect it to the DSR/DTR pin in each connector.
"Rod Speed"
rodspeed@ozemail.com.au

 

RS232 specification has been around for a long time (in computing terms), and suffered from the usual confusion between interpretation and implementation. Later standards addressed this, however the introduction of UART chips, especially the 8250 UART and derivatives thereof, relieved manufacturers from a lot of the implementation details. This is what the
datasheet on an 8250 has to say about the various signals:

Clear to Send (CTS): When low, this indicates that the MODEM or data set is ready to exchange data. The CTS signal is a MODEM status input whose conditions can be tested by the CPU reading bit 4 (CTS) of the MODEM Status Register. Bit 4 is the complement of the CTS signal. Bit 0 (DCTS) of the MODEM Status Register indicates whether the CTS input has changed state since the previous reading of the MODEM Status Register. CTS has no effect on the Transmitter.
Note: Whenever the CTS bit of the MODEM Status Register changes state, an interrupt Is generated if the MODEM Status Interrupt is enabled.
Data Set Ready (DSR): When low, this indicates that the MODEM or data set is ready to establish the communications link with the UART. The DSR signal is a MODEM status input whose condition can be tested by the CPU reading bit 5 (DSR) of the MODEM Status Register. Bit 5 is the complement of the DSR signal. Bit 1 (DDSR) of the MODEM Status Register indicates whether the DSR input has changed state since the previous reading of the MODEM Status Register.
Note: Whenever the DSR bit of the MODEM Status Register changes state, an interrupt is generated if the MODEM Status interrupt is enabled.
Data Carrier Detect (DCD): When low, indicates that the data carrier has been detected by the MODEM or data set. The DCD signal is a MODEM status input whose condition can be tested by the CPU reading bit 7 (DCD) of the MODEM Status Register. Bit 7 is the complement of the DCD signal. Bit 3 (DDCD) of the MODEM Status Register indicates whether the DCD input has changed state since the previous reading of the MODEM Status Register.
DCD has no effect on the receiver.
Note: Whenever the DCD bit of the MODEM Status Register changes state, an Interrupt is generated if the MODEM Status Interrupt is enabled.
Ring indicator (RI): When low, this indicates that a telephone ringing signal has been received by the MODEM or data set. The RI signal is a MODEM status input whose condition can be tested by the CPU reading bit 6 (RI) of the MODEM Status Register. Bit 6 is the complement of the RI signal. Bit 2 (TERI) of the MODEM Status Register indicates whether the RI input signal has changed from a low to a high state since the previous reading of the MODEM Status Register.
Note: Whenever the RI bit of the MODEM Status Register changes from a high to a low state, an Interrupt is generated if the
MODEM Status Interrupt is enabled.
OUTPUT SIGNALS
Data Terminal Ready (DTR): When low, this informs the MODEM or data set that the UART is ready to establish a communications link. The DTR output signal can be set to an active low by programming bit 0 (DTR) of the MODEM Control Register to a high level. A Master Reset operation sets this signal to its inactive (high) state.
Request to Send (RTS): When low, this informs the MODEM or data set that the UART is ready to exchange data. The RTS output signal can be set to an active low by programming bit 1 (RTS) of the MODEM Control Register. A Master Reset operation sets this signal to its inactive (high) state.
Note that even with quite a lot of detail being taken care of by the UART, it is by no means complete. eg "CTS has no effect on the Transmitter" and "DCD has no effect on the receiver", etc. These other "protocol" details are coded in either the PC's BIOS and/or OS drivers. Because of this, high performance serial communications on the PC will typically use only the Transmit and Receive signals, along with judicious use of the UART's FIFO buffer(s) - 16550 UART, onwards.
In addition to the individual signals, there's also two possible end node definitions: DCE and DTE. The vast majority of PC's are configured to operate as DTE, whereas modems (for PC's) are configured to operate as DCE.
Richard RUDEK. MicroDek. Chatswood, Sydney. Australia.

last updated - Sunday, 20 January 2002

[ Home ] [ Ally] [Stamp FAQ] [ HPV Index ] [ Design overview ] [ Bike 1] [ Bike 2] [ SWB Trike ] [ Childs Trike ] [ SWB Trike 2 ] [ Electric Trike ] [ RWS Trike ] [Delta Trike] [Childs Hi-Wheeler] [ Bike Trailer ] [Recumbent bike trailer] [Power Trailer] [ Steering Diags ] [ Steering Mounting] [ Kingpin Diags ] [Novel HPV Ideas] [ Australian HPV Resource ] [ Links ] [Power Assist] [ Unusual Vehicles ] [ Electric RC Models ] [ EV Circuit Diags ] [Tas HPV] [QLD PP] [Qld HPV] [TAFE Index] [Skycycle] [Bleriot] [Building HPV's] [Darryl] [Web Page Tips] [Null Modem] [ Pedalezy ] [ USPD ] [Zeta] [Email]

Email me your comments or if you have similar interests. Web Master Timothy Smith