Foreword
Atari-style joysticks were the de facto standard for game controllers in the
eighties. The design was first used in early Atari game consoles but got
soon adopted by most home computers of the 8-bit era, best known examples
including Commodore, Amstrad, Spectravideo and MSX. I still own a couple of
Competition Pro sticks and just love the precise and tactile touch they
provide. Pixels Past manufactures
adapters that allow you to connect Atari-style joysticks into the USB port
on your PC, making the OS think they are regular PC joysticks. The
Stelladaptor seems to be a solid product but I think that the price per unit,
at $29.95, is a bit too high for a single-joystick adapter.
That's why I started thinking about building an adapter myself so I
would be able to play emulated games (and others too) with these sticks.
Update
A friend of mine asked me to build a couple of these adapters for his
PVR/gaming box. I told him
to get two Logitech Wingman Precision gamepads for me to use as raw material
but it seems that Logitech doesn't manufacture that model anymore.
The old pad seems to have been replaced with the Logitech® Precision
Gamepad, part no. 963335-0914, sometimes called Logitech Precision Gamepad
Refresh. I bought one of these for 13 euros and opened it to see if it's
as usable as a general USB interface as its predecessor. In short: Refresh can
be used to make an adapter but it won't be as straightforward as with an older
model. See my notes below for more details.
Planning
At first I thought of using PIC
microcontrollers with USB support (like the PIC16C765 from
Microchip Technology) to
accomplish the task. But I soon noticed that the chips cost around $13
a piece (plus shipping) and decided to switch to plan B pioneered by
Marko
Mäkelä: exploiting the internals of a cheap USB gamepad. The best gamepads
for this purpose are those with only digital inputs on them (no pressure
sensitive buttons or analog sticks) so you wont be paying for parts you don't
need for the adapter. Marko built two Atari connectors into a working
gamepad but after I got my hands on
the cheapest pad I could find - the Logitech Wingman Precision USB (9.95 euros)
- I promptly decided not to follow his lead. These gamepads must be the reason
word "cheap" was invented for. It's actually hard to hit the direction you
intented using the stiff D-pad and
the buttons don't deserve much higher praise either. So I ditched the
plastic casing and concentrated on what's inside.

Pic. 1:
Logitech Wingman Precision USB, still intact.

Pic. 2:
Gee, can't say its crowded in here... The lone IC handles the USB
communications and reads the digital inputs. The only other components are
the voltage-stabilizing capacitors and the pull-up resistors for the shoulder
button inputs.

Pic. 3:
The bottom side of the board with the button contacts.
As you see in the pic #2, the gamepad's circuit board layout is really
sparse which made it easy to trace the connections from the input
switches to the pins of the single IC.
The chip itself is labeled:
CP5733BM
LOGITECH
3311590100 B 02
IND0424 505333
I don't know if these are used in any other controllers (probably not since
more expensive pads usually have analog inputs too) but here's the pinout
in case you want to hack the same gamepad or happen to find the chip
elsewhere:
| Wingman pin/function | | Atari D-sub 9 connector pin |
| 1 - BUTTON3 | - |
| 2 - BUTTON4 | - |
| 3 - BUTTON1 | 6 |
| 4 - BUTTON2 | See note |
| 5 - GND | 8 |
| 6 - GND | - |
| 7 - USB DATA- | - |
| 8 - BUTTON6 | - |
| 9 - BUTTON5 | - |
| 10 - VCC | See note |
| 11 - USB DATA- | - |
| 12 - USB DATA+ | - |
| 13 - RIGHT | 4 |
| 14 - UP | 1 |
| 15 - LEFT | 3 |
| 16 - DOWN | 2 |
Note: Most computers that have Atari joystick ports provide +5
volts on the pin 7 of the D-sub connector to power autofire circuits. If you
want to use the autofire function present on some joysticks, you have to
connect D-sub pin 7 with the pin 10 on the IC, inserting a small resistor
for safety.
Second note: Some alternate designs expand the de facto Atari
standard with features like a second fire button. If you want to use a
joystick that has two distinct fire buttons, you need to know which
connector pin the stick use to achieve this expansion. MSX and Amstrad CPC
use pin 7 for button 2 but other systems may differ. See the epanorama.net
page about Atari-style joysticks if you are unsure about the connections.
After you have figured out the correct D-sub connector pin, just connect it
to pin 4 (BUTTON2) on the Logitech chip after which you can use the second fire
button too.
Construction
After I figured out the connections there wasn't much left to do.
I took a 9-pin male D-sub connector, soldered the wires into the pins
required by the joystick and the other ends straight to the pins of the
Logitech chip. Crude but effective.

Pic. 4:
The D-sub connector and the wires to IC pins connected.

Pic. 5:
Top view of the soldered adapter.
Large areas of the board housed contacts for the gamepad buttons which I
didn't need anymore so I sawed a couple of centimeters off each end. The
adapter could have been a lot smaller if I had unsoldered the IC and other
parts and put them on veroboard but I wasn't really looking for style points
here and went with the easy solution. Finally I installed the board and the
connector in a small plastic box and the adapter was ready!

Pic. 6:
The finished adapter along with a Competition Pro joystick and MAME on Linux.
Conclusion
This is a nifty way to give your old Atari joysticks a new life beside
your modern PC. The total cost of the adapter might be around 15 euros,
the gamepad being the biggest expense and the D-sub connector and the
casing setting you back a couple of euros each. It's also easy to build -
I probably spent more time writing the text on this page than putting
the gizmo together... So pick up your soldering iron and get
hacking! :)
Gamepad Refresh
Logitech Precision Gamepad is the successor of the older pad I inspected
and used in my original Atari adapter project. Here is a short overview about
the updated model in case someone is wondering if it is as hackable as the
older one.

The Refresh circuit board
|