Hacking Joysticks
Topics here mainly have to do with
getting old joystick hardware running with new computer systems because
people don't want to give them up. We start with the Mac ADB (Apple
Desktop Bus) gear...
Can I use my old ADB stick
and pedals under Mac OSX?
Generally speaking, no. The whole
software stack that supported ADB joystick gear (Input Sprockets and
drivers) is not available in OSX. OSX only supports joystick gear on
USB
ports. The last Mac that had an ADB port at all was the old B&W G3,
which is a pretty marginal machine for current X-Plane versions no
matter how you upgrade it.
What about USB to ADB adaptors?
These exist. Griffin Technologies sells
the
iMate
adaptor which does just that. However, it won't do you any good for
ADB joystick support. The problem is what the iMate and its software do
is to present OSX with a virtual ADB. This allows any ADB driver that
runs under OSX (like the mouse and keyboard) to connect to its
hardware.
But that just gets you back to the original problem, which is that
there
are no OSX drivers for the joysticks.
Is there any third-part software?
Michael Milvich has written an OSX
driver for Thrustmaster ADB equipment. It's available at
SourceForge.net. No one
knows of anything similar for CH gear.
So is there any hope for my great old (and
expensive) CH stick and pedals?
Actually, there is, if you're up to some hardware hacking,
meaning reasonably handy with a soldering iron and willing to tear into
your precious old CH gear. Didier Chaveau did just this and has a web
page describing what he did in detail to get his CH Pro Pedals
hooked up to a USB port.
Yeah, OK... the page is entirely in French. This may pose an obstacle
to some of you. I can summarize.
The key to the puzzle is a USB to Gameport adaptor. Didier lists one
source; they're also available from other sources, listed below. The basic idea
is
to disconnect the ADB electronics
in the unit and just connect the pots in the pedals (or joystick)
directly to the analog inputs of the gameport. His circuit diagram near
the bottom of the page makes the idea clear in all languages. Note the
CH Pro Pedals have 3 pots - rudder input and the two toe brakes. Each
of
these pots gets connected between the +5 volt output of the gameport
and
one of the analog inputs.
Cool! Can I do this with other units?
It depends. In many cases, yes, but
there are a couple of potential gotchas.
- Accessibility to the pot terminals.
The CH Pro pedals have nice component pots with wired terminals. If the
pots in your stick or pedals are mounted directly on a circuit board
they're going to be harder to get at. The pots must be disconnected
from
whatever electronics are in the unit now. If they're on a circuit
board,
you must either make etch cuts on the board, or remove the pots from
the
board, which may create mechanical support problems.
- Impedance.
Gameports are designed to be used with pots in the 50K-100K ohm range.
If the pots in the unit are significantly different, you will run into
calibration problems. Either you won't get the full available control
range, or they won't center properly. (i.e., mechanical center won't
give you control input center.)
- Noise.
The old gameport sticks were notorious for being jittery, because the
wires between the stick and the computer's gameport pick up electrical
noise. (Even the better gameport sticks went to digital signalling to
get rid of the noise.) You can minimize noise by putting the
USB/gameport adaptor right inside the stick (or right next to it if it
doesn't fit) to minimize the analog wire length. Do your cable run with
a USB cable, which is digital and not prone to interference.
- Precision.
I bought an adaptor from Radio Shack (now discontinued), and it works.
However,
between reporting a relatively limited output range and not using all
the bits in the one byte data report, it gives you the equivalent of
barely 6 bits for each of the two stick axes and barely 5 bits for the
other two. That makes for pretty "crunchy" control response.
- X-Plane support.
In experimenting with the Radio Shack adaptor I also found that X-Plane
supports all its outputs only when it's configured as a secondary USB
controller - i.e., you configure some other joystick first. If the
Radio Shack adaptor is configured as the primary controller, X-Plane
falls back to lowest common denominator mode and support only the two
stick axes - not the other two and no buttons. (Observed in version
8.20. Behavior may change in the future.)
How can
I interface other custom
controls and instruments to my computer?
The USB to gameport adaptor mentioned
above is a solution for simple setups. It's inexpensive, but has
limited resolution - while it uses an 8 bit interface, it actually
supplies only about 6 bits of usable data. There are a couple of
alternate sources of equipment:
- AKI makes a
slightly more expensive but higher quality adaptor.
- Leo
Bodnar sells a controller with 8 10-bit inputs (plus 32 buttons and
an 8-way hat switch).
- If you want to do something more
complicated, Phidgets makes an
extensive line of reasonably priced USB to digital and analog interface
gear.
- Beta Innovations
makes similar devices.
- As does Happ Controls.
- And Hagstrom
Electronics.
- Here's instructions on how to build
your own USB interface using a commodity controller chip.
- If you want to get serious about building a
realistic simulator cockpit (and are willing to spend serious money!), Simkits sells an extensive line of
cockpit components, controllers, and related gear.
- OpenCockpits
is another good resource for people looking to build there own
cockpits. They sell a lot of equipment and the web site contains
tutorial and project material.
Here are a couple of web sites of people that are building their own
sim cockpits. Lots of useful experience and tips to draw on.
Back to Making It Work
Back to the main page