

|
Volume Number: | 4 | |
Issue Number: | 5 | |
Column Tag: | Mac Hardware |
MacBox and the Serial Sermon
By Rev. Willis, MacFugNews
Once upon a time in a galaxy far, far away...a humble servant of Big Byte took upon himself the serial expansion of the blessed Mac. However, before enlightenment was acheived, much wisdom had to be revealed unto and understood by the humble servant. In fact, much self-flagellation, usually with an RS-232 cable, was necessary to gain the wisdom needed to successfully expand the Mac’s serial ports.
All hi-tech parables aside, my travail resulted from the desire to have my Mac talk to my modem, an X-10 Powerhouse appliance controller and a Radio Shack Model 100 portable computer, and do so without going through a cable swapping boog-a-loo. This was accomplished with an inexpensive switch and some simple wiring. I’ve included some pictures and diagrams to help the more ambitious (and cheap, Mac switch boxes are commercially available) of you duplicate the task.
Excluding the SCSI port and the second disc drive port, the Mac talks to the world through two serial ports. One of these serial ports is usually configured through the Chooser software to talk to the Imagewriter. The other port can be configured by Chooser as an Appletalk connection, or, using communications software such as Red Ryder, as a modem port. Also, using an adaptor box and MIDI software, these serial ports can talk to musical instruments such as a DX-7 sythesizer. Finally, one of these ports can be used to talk directly to another computer without the modem/phone line connection assuming both machines are in close proximity. Some computers, such as the Incredibly Bad Machine and the Model 100, normally talk to printers through a parallel port; however, the Imagewriter/Mac combo do it serially.
The RS-232 data communications standard is used by most personal computer systems for data transfer. There is also Ethernet, Appletalk and others, but we’re talking proletarian stuff here, not big-time University networking. The Mac uses an improvement of the RS-232 standard called RS-422. This improvement allows for longer cable lengths to carry digital data, necessary for Appletalk networks. Thankfully, RS-422 and RS-232 protocols are generally compatible. The RS-232 standard defines the DB-25 connector pinouts (check the diagrams included) as well as describes data terminal equipment (DTE) sending digital information to data communications equipment (DCE) over an analog phone line to another DCE-DTE combo (digital data poops out after 100 feet or so and must be converted to an analog signal for the long haul). DTEs are usually computers, while DCEs are modems. They are connected with straight cables, that is, the TXD pin on the DTE is connected to the same TXD pin on the DCE. The internal wiring of the equipment makes sure everthing is copesetic. The DTE/DCE pairs use software handshaking to control the communications connection, usually XON/XOFF protocol. If one pair wants to pause communications, it issues a little ASCII data code ,Control Q, to tell the other pair to stop transmitting; a Control S resumes communications. If you ever used Red Ryder to access Compu$erve or Genie, you may have used the Q and S radio buttons to control the information zipping across the screen at a rate faster than you can read it.
However, as occurs with all good standards, they get modified to accomplish new tasks. A problem arises when two computers are hooked back-to-back with no modem/phone link inbetween. Now you have a DTE-DTE link which confuses the signal lines on the interconnection cable. So you need a cross or “null” cable to connect the equipment. In such a cable, the TXD pin from one DTE goes to the RXD pin of the other DTE, and vice versa. If these DTE-DTE combos are a back-to-back computer pair, they usually use a form of software handshaking. However, if a computer is talking to a printer (which usually acts as a DTE), then they may use a form of hardware handshaking: two control lines are crossed and the pins toggled with a logic “Hi” to indicate the DTEs are ready to communicate. If one DTE toggles its control pin “Lo”, communications are paused until the pin is again toggled “Hi”. The control lines usually link the RTS-CTS or DTR-DSR pins. In the case of the Mac and the Imagewriter, the handshaking lines are CTS-DTR. If the IMW needs to pause, the “Hi” on its DTR pin goes “Lo”; the Mac detects this new condition on its CTS pin and stops sending data until its CTS pin is toggled “Hi” again. Got it?
Another problem, and a further bastardization of the RS-232 standard, occurs when two DTEs want to talk to each other using software (XON/XOFF) handshaking but have pins on their serial ports that are expecting hardware handshaking. This situation requires the old “fake-out” handshaking method. Pins that are normally “Hi” are jumpered to the pins that expect a “Hi” before they will allow data transmission to begin. RS-232 cables for the IBM are notorious for this and require jumpering several pins to get the serial port to work. Usually, the normally “Hi” RTS pin is jumpered to the normally “Lo” CTS pin, while the normally “HI” DTR pin is jumpered to both DSR and CD. This “fake-out” method is very common in situations where multi-conductor cable is not available or where the exact method of hardware handshaking is not known. All in all, the RS-232 standard has become a very unstandard standard.
Anyway, enough sermonizing and on to some constuction details for the ultimate in Mac serial port switching...MACBOX!!! The first detail that needed to be resolved was the 8-pin miniDIN socket used by the newer Macs. The required plugs are impossible to find and wouldn’t work well panel mounted into a box. Since my Mac was an updated 512 machine, I had a couple miniDIN to DB-9 adaptor cables that I extended to reach MacBox. Panel mount DB-9s are readily available, so I used two male DB-9s as inputs from the Mac and four female DB-9s as outputs to peripherals. Note when wiring the pins that they are numbered in opposite directions on the male and female connectors (I didn’t). The protective and signal grounds are now tied together within the Mac, so only three wires are normally needed to connect serial devices. I included a handshaking line since it was wired that way in my modem cable and is needed for the IMW (the other devices handshake through software XON/XOFF).
Initially everything worked great until I decided to get the M100 to talk to the IMW. First of all, the M100 usually talks to printers through a parallel port. Thankfully, the built-in BASIC accesses the serial port. Also, I have SuperRom installed in my M100 which contains a word processor that accesses the serial port. So, another switch and a little more wiring later, I was soon printing away on the IMW from the M100...sort of. After about a page of data, everything would turn to garbage. Obviously I was overloading the IMW’s input buffer, no amount of toggling the IMW’s DTR pin was shutting off the M100 from continuing to send data. I soon discovered that while the handshaking pins were active on the M100, there was no firmware (ROM routines) to recognize hardware handshaking. About then Big Byte stepped in and handed me a set of golden tablets containing a M100 mod that would give the M100 adequate hardware handshaking. The mod details involved the piggybacking of a quad nand gate chip inside the M100 to use the DSR line to read the IMW’s DTR line. To be more consistent to the Mac’s way of doing things, I could have easily use the CTS line instead. (See references below)
Soon the M100-IMW connection was yakking away with no problems...except now the M100 wasn’t talking to the Mac. I soon realized that I needed to run another wire from the Mac’s DTR pin to the M100 DSR pin to “fake out” the M100 even though it was talking to the Mac using software handshaking. Tracing the wiring in the accompanying diagram should reveal the necessary connections.
References:
MacAccess, Hayden Books,1987
Understanding Data Com., TI Library
Imagewriter II Owner’s Manual
Portable 100 Magazine, 12/87
Modern Electronics Magazine, 5/86

- SPREAD THE WORD:
- Slashdot
- Digg
- Del.icio.us
- Newsvine