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.
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.
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)
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.
There are quite a few demo's and shareware games that are networkable in this way.
- Quake: I found that after one player had died the game had to be closed down and restarted before it would allow the 2 to be connected again.
- Warcraft 2
- X Wing Vs Tie Fighter
Below is a collection of emails from people about the subject of null modem cables.
There is more than one null modem config
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" email@example.com
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
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.
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