The Tandy Color Computer is indisputably a gaming machine. There are also large software archives for it on the Internet. But many games need a joystick. Unfortunately the CoCo has a different joystick connector than the Ataris and Commodores and therefore CoCo joysticks are hard to get today. I was also looking for a way to use my joysticks from the C64 or ATARI for the Tandy Color Computer. I found a build instruction for a simple adapter board on this page: https://nerdlypleasures.blogspot.com/2016/08/the-tandy-1000-digital-joystick-adapter.html
You can buy ready-made adapters on eBay, but since the construction of the circuit didn’t look very complicated and the parts were available for a few Euros, I decided to build one myself.
But why does it actually need an adapter board and not only an adapter cable? For this you have to compare the functionality of the joysticks between CoCo and Atari:
The joystick of the Tandy Color Computer works with proportional control by means of two potentiometers, one for vertical and one for horizontal control. This type of joystick usually has an analog-to-digital converter and this provides values from 1 to 63, with the value 31 representing the center position. In contrast, a switch joystick, such as the ATARI or Competition Pro, contains four buttons and thus provides the values Up, Down, Left, Right and Center, but no intermediate states. These joysticks usually also have a spring return to center.
The joysticks sold by Radio Shack for the Color Computer are of the proportional control type and do not automatically return to center. They are good for controlling objects on the screen (e.g. cursor or mouse pointer), where the position of the object is controlled by the position of the joystick. However, many arcade games do not behave this way. Instead, the player moves or changes direction when the joystick is off center, and stops moving or changing direction when the center is reached. In such games, the response is much better when a switch joystick is used. Therefore, a small electronic circuit is needed to unite the two joystick worlds.
Alternative analog Joystick
While testing some games I had to realize that digital switch joysticks are not suitable for all CoCo games. There are some games, like “Clowns & Balloons“, which rely on the proportional control of analog joysticks. This was brought to my attention by Thomas from Austria, who built an analog joystick adapter himself and published the building instructions here: https://oe7twj.at/index.php?title=AnalogJOY
Notice: Building the circuit is at your own risk and without any liability!
The variant presented on the Nerdly Pleasures page has the advantage that it needs only a few parts. I had most of it in my fundus anyway. I only had to get the IC 4066. This is a quad analog switch IC, which is the heart of the small adapter. Besides that, some 100k Ohm resistors are needed and of course the connectors on both sides. On the side of the color computer a normal 6 pin DIN connector is used and the joystick needs the 9 pin serial connector. For the 6 pin DIN connector you can use a cut off Commodore IEC cable (serial) and for the 9 pin connector I had something lying around from an old PC motherboard.
By the way, the circuit should also work with the Dragon 32 or 64 computer (not yet tested myself). Here, however, one must pay attention to the fact that the Dragon has only a 5-pin DIN connector (without Fire 2)!
First I put the board assembly together on a breadboard to see if the adapter really works. I made a little video at the end where you can see among other things how I successfully play a round “Glove” with the Competition Pro Joystick.
The layout of the board
Now what do you need to build the adapter yourself?
1 connector DIN-6 or a Commodore 64 IEC cable
1 male DE-9 serial to 10 pin motherboard connector
8 x 100k Ohm resistors 1/4 Watt
1 x 4066 IC CMOS Quad Bilateral Switch
1 x DIP-14 socket
1 x breadboard or prototype board
The circuit diagram looks as follows (find original circuit diagram on Nerdly Pleasures):
And the pin assignment looks like this:
Serial male 9 pin connector:
Pin 1 – Up
Pin 2 – Down
Pin 3 – Left
Pin 4 – Right
Pin 5 – +5v
Pin 6 – Fire 1/B
Pin 7 – Select (+5v)
Pin 8 – Ground
Pin 9 – Fire 2/C
Connector DIN 6 pin (240 degrees) (for Coco) or DIN 5 pin (for Dragon):
Pin 1 – X Axis
Pin 2 – Y Axis
Pin 3 – Ground
Pin 4 – Fire 1
Pin 5 – +5v
Pin 6 – Fire 2 (only CoCo)
In my test setup, I only use pin 4 for Fire. The second Fire connector (pin 6) remains unused (yet).
Once everything is finally wired, the next step is to test the function. For the first test of the joystick adapter I used the following small BASIC program:
5 REM **** TANDY COCO JOYSTICK TEST PROGRAM **** 10 CLS 20 X=JOYSTK(0) 30 Y=JOYSTK(1) 40 F=PEEK(65280) 50 PRINT@0,"TESTPROGRAM FOR RIGHT JOYSTICK PORT" 60 PRINT@32,"X: ";X,"Y: ";Y 65 PRINT@64,"FIRE: ";F 70 GOTO 20
The numerical values should change accordingly when you move the joystick or press the fire button.
Let the fun begin!
If everything works as expected, the gaming fun can finally begin. You can download many games for the CoCo on various archive pages: https://colorcomputerarchive.com/repo/Disk
You can find my video about the joystick adapter here:
Further application example for the IC4066 can be found here: https://www.brainy-bits.com/post/using-the-4066-ic-bilateral-switch-to-simulate-pushing-buttons