2020: NameSpaces are going to be implemented this year to better separate content. OS-9 Al (talk) 11:18, 15 April 2020 (CDT)
2020-05-17: If a page gives you an error about some revision not being found, just EDIT the page and the old page should appear in the editor. If it does, just SAVE that and the page should be restored. OS-9 Al (talk) 12:22, 17 May 2020 (CDT)
DCModem to RS232 Pak
|Looking for CoCo help? If you are trying to do something with your old Color Computer, read this quick reference. Want to contribute to this wiki? Be sure to read this first. This CoCo wiki project was started on October 29, 2004. --OS-9 Al|
This page was last updated on 12/9/2013. Total Pages: 688. Total Files: 961.
DC Modem Pak to RS-232 Pak conversion
I have been asked many times about "problems" CoCo users have had using the Tandy Direct Connect (DC) Modem Pak (Cat. #26-2228). Most commonly I am asked, "How do I download using the Modem Pak?" and "How can I modify it to operate at speeds greater than 300 bps?" Other questions involve using the DC Modem Pak with disk drives
and the CoCo 3's 80-column display.
The problems with downloading, the 80-column display and use with disk drives can be solved by using one of many third-party terminal programs that support the DC Modem Pak. V-term, Delphiterm, and Mikeyterm (among others) include the ability to change the IO port address to support this. However, the DC Modem Pak is still limited to 300 bps operation, which is sorely inadequate for uploading and downloading. There is no way to increase the speed of the modem section inside the DC Modem Pak.
For the past several years, I have advised CoCo users with Disk Basic terminal programs to discard or return their DC Modem Paks, then buy a 1200-bps modem to use with the serial port on the back of the CoCo. I further instructed users of OS-9 terminal programs to consider purchasing a Tandy, Disto or Orion RS-232 pack to allow operation at 1200 and 2400 bps, and higher transmission rates.
The DC Modem Pak is for use only as a 300-bps modem. RS-232 packs can be used with 1200, 2400 and 9600 bps modems, and with null-modem cables at up to 19,200 bps, to rapidly and reliably exchange data between a CoCo and another computer. Needless to say, an RS-232 pack is a handy thing to have. Wouldn't it be great if there were a way to turn the Modem Pak into an RS-232 pack?
Over time, I thought more and more about such a conversion. The price of the DC Modem Pak got lower and lower - it is now around $10 at stores that have it in stock. The Tandy RS-232 Pak and the Multi-Pak Interface were discontinued and are impossible to find. The Disto/CRC replacement RS-232 pack does't work with Y-cables or with the Slot Pak III (a replacement for the Multi-Pak).
Having observed long ago the roughly two thirds of the DC Modem Pak circuitry is nearly identical to that in the RS-232 Pak, I finally approached The Rainbow and a Color Computer vendor about the possibility of bringing to the public the information and means to convert DC Modem Paks. This article, and the products and services detailed later, are the result. With the information contained in this article, you'll be able to turn a Tandy DC Modem Pak into an RS-232 pack that works with the Multi-Pak, the Slot Pak III and standard Y cables. Before going into the details, I point out that this modification is destructive to the modem section of the pak. As such, performing the modification most certainly voids any existing warranty for your DC Modem Pak.
Modem Pak vs. RS-232 Pak
Both the standard RS-232 Pak and the DC Modem Pak plug into the Color Computer via a 40-pin edge connector. Both use a 6551 ACIA and a 1.832-MHz crystal to convert signals into serial data. Both interface the 6551 to the Color Computer by directly decoding four ports and both also allow the 6551 to send interrupts to the Color Computer via the *CART line. They even use the same small-scale logic chips (a 74LS133 and a 74LS04) to decode the four ports used by the 6551.
However, the DC Modem Pak sends the handshake and serial data signals from the 6551 directly to the on-board 300-bps telephone modem, while all the current RS-232 packs convert these signals to or from RS-232 voltage levels transmitted via a female DB-25 connector. In addition, the RS-232 Pak maps its 6551 to addresses $FF68 through $FF6B, whereas the Modem Pak uses addresses $FF6C through $FF6F. So the Modem Pak must be readdressed. Also, those who plan to use the converted Modem Pak with a Y cable must disable its ROM. This isn't too difficult, and I encourage all who use this information to do this, as well.
The listing provided here is meant to give the reader a reasonable idea of the minimum complement of tools required. As with any hardware project, however, experienced tinkerers may substitute other appropriate tools once they understand what needs to be done. You should have:
- Soldering iron
- Solder sucker
- Medium Phillips screwdriver
- Cutting pliers
- Flat file
- Paper scissors
- Dremel moto-tool or exacto knife
- Tin snips or hacksaw
You'll need a pencil-type soldering iron for this project. It must have a fine pointed tip and produce a tip temperature between 650 and 850 degrees Fahrenheit. The big irons used to make stained glass windows and soldering guns designed for working with 18-gauge wire are not acceptable - they will almost certainly destroy your DC Modem Pak board. A tool like the Radio Shack 15-watt pencil iron (Cat. #64-2051) will do the job, though higher-quality pencil irons are desirable if you can get one.
You should use 60-40 rosin-core solder for this project. (62-38 solder is also acceptable.) The solder you select should be fairly fine (22 to 25-gauge). Large-gauge, acid-core and no-core solder are not acceptable.
A solder sucker (such as Radio Shack Cat. #64-2098) is extremely helpful should you accidentally form a solder bridge between two pins on an IC during installation. I recommend the solder sucker highly and think little of using solder wicks for removing solder.
I recommend you use 30-gauge wire-wrap wire. However, 24-gauge stranded wire will work fine.
The Level-Conversion Circuit Board
To convert the DC Modem Pak, you must build a small circuit board with a female DB-25
connector, a 16 pin DIP socket and four small capacitors. The socket will hold
a MAXIM MAX232 or Harris/Intersil ICL232 level-converter chip. The schematic
for the circuit is shown in Figure 1.
The approach you take in building the board is up to you, but I can offer some suggestions.
Use a right angle, female DB-25 connector that is designed to be mounted on a printed circuit board. Mount this connector upside-down (so the pins stick up in the air) at the edge of your circuit board. This allows you to conveniently solder wires to the pins. I suggest this because few general purpose circuit boards have holes in the staggered arrangement required for DB-type connectors.
Cut the circuit board so that it is exactly 3-3/4 inches wide and about 2 inches long. This way, it will fit snugly in the area where the modem currently resides in the lower half of the Modem Pak shell. Drill two holes in the board exactly where the mounting holes for the old modem used to go, so you can conveniently mount the circuit board in the shell where the modem used to be. Look at Photo 1 to see how the completed project looks.
<img align=center src="../articles/rs232photo1.jpg">
Installation and Modifications
- Open the DC Modem Pak case. On the bottom of the DC Modem Pak, near the 40-pin card-edge connector, is a black warranty label that conceals a Phillips-head screw. Peel off the label and discard it. Remove the screw and set it aside. If you want, use a paper towel and some lighter fluid or mineral spirits to partly dissolve and clean the sticky gum remaining where the label was affixed.
- Remove all five Phillips-head screws that hold down the two circuit boards inside the Modem Pak. There are four screws holding the main board to the bottom of the case, and one screw holding the small satellite board to the top of the case. Save these screws. Remove the two circuit boards and set them aside for the moment.
- Using cutting pliers, a nibbling tool, a file, or some combination of these tools, cut away the You now need to modify the top half of the Modem Pak case to allow for a DB-25 connector. plastic on the top of the Modem Pak case so that it matches the trapezoidal cut in the bottom half (see Photo 2)
- While cutting, leave the slightly raised trapezoidal outline, but remove all the plastic within the outline that formerly surrounded the various switches and buttons. I recommend you use the cutting pliers and/or nibbling tool to remove most of the plastic, then use a file to produce a finished appearance.
- Four push-type pins are used to hold the metallic ground plane to the Modem Pak's
main circuit board. They are placed roughly one pin in each corner. Remove the
two pins that attached the ground plane to the modem end of the circuit board
(the end with the phone connector and switches). Carefully bend the ground
plane back from the circuit board. Use scissors to remove part of the ground
plane - the cut is to be made exactly where the ground plane crosses the dotted
line shown in Figure 2. Discard the removed portion of the ground plane and
leave the remaining (attached) part laying flat against the circuit board.
After cutting the ground plane, insulate the raw, cut end with a piece of
transparent, frosted tape. Otherwise there is a small chance the cut edge may
short to parts of the underside of the main circuit board.
- Again referring to Figure 2, use tin snips to cut the modem part of the circuit board away from the rest of the board. I strongly recommend using tin snips, for this is the easiest, fastest and cleanest approach. But if you do not have tin snips, you can use a hacksaw to make the cut. Caution: Be very careful not to squash or crack any of the components on the circuit board if you use a vise to hold the board while cutting it. With tin snips, you can simply hold the board in your hand and cut it like a piece of paper. Discard the modem portion of the board, as well as the attached LED board. (Or put them in your parts box, for they contain two nice LEDs, a useful varistor and a 600-ohm phone-line transformer.)
- Make the two trace cuts indicated by the big red Xs in Figure 2. The trace cut of
the trace running along the side of the 74LS04 chip is part of disabling the ROM
chip, which is necessary if you are using the cartridge with a Y cable. The
trace cut of the trace that runs along the side of the ROM chip itself is part
of altering the port addresses of the ACIA chip from $FF6C through $FF6F to
$FF68 through $FF6B.
By far the quickest and easiest way to make a trace cut is by using a Dremel tool with a disk-like grinding bit on it (though many other bits will work). If you don't have a Dremel tool, you can use the Exacto knife method to make the trace cuts. Here's how: Make two deep cuts in the trace about 1/16 of an inch apart. Then use the heated tip of a fine-pointed soldering pencil to heat the 1/16-inch section. It should stick to the soldering pencil, and you can lift it off the circuit board. While not as quick and easy as using a Dremel, this is a simple and professional way to make trace cuts.
- Solder a jumper between Pin 20 and Pin 28 on the ROM chip (see Figure 2). This
completes the disabling of the ROM chip.
Now solder a jumper from Pin 1 of the 74LS04 chip to Pin 8 of the ROM chip. Also, solder a wire from the little plate-through hole/pad near Pin 1 of the ROM chip to Pin 2 of the 74LS04 chip. Again, refer to Figure 2 for details. These two additional jumpers complete the alteration to readdress the ACIA chip.
Here are some tips for soldering wires to pins on ICs: Heat the pin on the IC and tin it with a little bit of solder. Be very careful not to short two adjacent pins with a solder bridge. If you do short two pins, use the solder sucker to remove the bridge and try again to tin just the one pin.
Now cut the exposed part of the jumper to a very short length (1/16 of an inch, or so, of exposed wire) and tin that tip of the wire. Heat the pin on the chip again with your soldering iron until the solder you put on it melts. Then touch the thoroughly tinned wire to the wet solder on the pin, and leave the two together with the iron there for another second or so until the solder on both flows together. Remove the iron, and hold the wire and pin together gently for several seconds while the solder cools. This "solder reflow" technique is the best way I know to solder wires to IC pins.
- Cutting off the modem part of the circuit board interrupts the power supply traces to parts of the remaining board, and two jumpers are needed to restore power there. Note the three broad, shaded traces shown at the very top of the remaining circuit board in Figure 2. (They are connected above the board by two lines with arrows at each end.) Using a Dremel or an Exacto knife, scrape some of the soder resist off a portion of all three traces. Tin the exposed, bare copper with a soldering iron. Join the three newly tinned traces with two jumper wires as shown by the lines in Figure 2. After performing steps 6, 7 and 8, you will have made a total of two trace cuts and added a total of five jumpers.
- Build the circuit board according to the circuit shown in Figure 1, and connect it to the 6551 in the Modem Pak using the pin information given in the figure. Note that only six wires are used to join the "mod board" to the main board holding the 6551.
- Snap the top part of the case (the part you modified using a file and cutting pliers) onto the now completed RS-232 pack. After you successfully test the modified unit, you may want to reinstall the screw that holds the case together.
- The best way to test the
pack is to try it with a terminal program designed to use the Tandy RS-232 Pak.
You'll need the terminal program, a modem and an RS-232 cable. If you plan to
use a disk drive, you'll also need a Y cable, a Multi-Pak Interface or a Slot
Plug the new pack into Slot 1 of the Multi Pak or Slot Pak. Connect the RS-232 cable from its DB-25 connector to the modem. Load the terminal program and away you go.
The modified pack can be used with virtually all terminal-emulator programs and external modems (that use a standard male-DB-25-to-male-DB-25 serial cable). Because the MAX232 and ICL232 chips have internal charge pumps and voltage inverters, they can generate sources of both plus and minus 10 volts internally to supply the RS-232 level converters. Yet they operate from a single +5-volt power supply. This allows the pack to be easily used with a Y cable or the Slot Pak.
The conversion I have described supports only the RxD, TxD, CD and DTR lines of the 6551. These are the only lines actually used by the vast majority of applications for CoCo users. A few users may need to have support for some of the other RS-232 lines, such as DSR, RTS and CTS - especially if you use MNP or V.42bis error-correcting and data-compressing modems. These can be supported by adding another level converter chip and its accompanying capacitors. If you are supporting the DSR line, you must first disconnect Pin 17 of the 6551 from ground, where it is now connected, before you connect it to a level converter. If you are supporting the CTS line, you must also sever the connection on the Modem Pak board between pins 16 and 9 of the 6551. Additionally, I recommend you use a 10K-ohm pull-up resistor connected to +10 or +12 volts on the RS-232 side of the CTS input.
The 6551 ACIA chip used in the DC Modem Pak, like that used in the Tandy RS-232 Pak, is rated for operation with a 1-MHz 6809 system. It is not the 6551A chip that is rated for operation at 2MHz. However, experience with the older RS-232 Paks has shown that, in practice, only a very few 1-MHz 6551 chips present problems working with a CoCo at 2-MHz. If your modified pack works fine when your CoCo is set to 1 MHz, but locks up or otherwise displays problems when the CoCo is set to 2 MHz, you may have to desolder and socket the chip, then replace it with a 6551A.
Parts and Services
If you are a hardware tinkerer with a moderate amount of experience, you should be able to accomplish this conversion with generally available raw materials. Unfortunately, some of the parts required are not available from Radio Shack. Frys Electronics (340 Portage Avenu, Palo Alto, CA 94306) can supply you with the required level-convertoer chip and the right-angle, PC-mount DB-25 connector. Radio Shack carries a selection of circuit boards.
To make things far easier for tinkerers to accomplish this conversion, I and Dave Myers of CoCoPRO! have created a conversion kit that includes the level-converter printed-circuit board with components soldered in place. Those who purchase this kit need only perform the fairly simple installation procedures described above. This can save several hours of time, and avert a number of possible mistakes.
If you are not a tinkerer, take heart. You can send your old DC Modem Pak to CoCoPRO! For a fee, CoCoPRO! will install the conversion and return the converted pack to you. Finally, CoCoPRO! also sells the CoCoPRO! RS-232 Pak. This is a DC Modem Pak already converted as described in this article. Check the CoCoPRO! advertisement in this issue for pricing on these products and services. Happy hacking, and I'll see you on Delphi!
H. Goodman, M.D., is a physician trained in anesthesiology, is a longtime electronics tinkerer and outspoken commentator - sort of the Howard Cosell of the CoCo world. On Delphi, Marty is the SIGop of Rainbow's CoCo SIG and database manager of OS-9 Online. His non-computer passions include running, mountaineering and outdoor photography. Marty lives in San Pablo, California.
This article originally appeared in The Rainbow, July 1991
Scans provided by Ray Watts, conversion by Robert Emery