Xav (Mark Crutch)
Are you about to buy a new joystick for your STe? Do you already own a
joypad for your Falcon? If so, Xav might have just the device you need.
Figure 1: The direction buttons of a joypad
With the release of the STe in 1998, Atari seemed to acknowledge many
of the shortcomings of their earlier computers. Everyone was impressed
by the DMA sound system and, to a lesser extent, the increased range of
colours. What many people ignored, however, is what I consider to be
one of the STe's biggest strengths - the enhanced joystick ports.
The Mega STe and TT lacked these ports, so they were considered by many
to be an interesting curiosity, but with no real potential. With the
Falcon the ports were resurrected, though it took the release of the
Jaguar for them to be really appreciated. The Jaguar has a pair for its
21 button "joypads" to plug into, and these same joypads can also be
used on the STe and Falcon. Admittedly games have to be specially
written to support them, but the number that contain the requisite code
is continually increasing.
Despite this fact, the number of games that will use a joypad is still
minuscule in comparison to those that use a "normal" joystick. At œ20 a
throw, joypads aren't exactly cheap either, so many STe and Falcon
owners haven't bothered to buy one. This, of course, leads to a chicken
and egg situation - programmers don't offer joypad support because not
enough people own joypads, but people don't buy joypads because not
enough games support them. People might be more willing to buy joypads
if they could be used as normal joysticks on older games, but they
can't, can they?
Obviously the answer to this question is "yes they can" - this would be
a very boring article otherwise. In order to find out how and why, it's
necessary to look a little more closely at how the joypad actually
works, though if you're not interested in the details you can quite
safely skip the next section.
Inside the joypad
The joypad, in common with the joysticks that are used on TOS based
machines, is a digital device. It contains little more than a number of
switches, which are closed whenever you move the direction pad, or when
you press a fire button. The state of these switches is represented by
high and low voltages, often referred to as ones and zeros, which the
computer can read directly. Conventionally a high, or 1, is also called
"TRUE", whereas a low, or 0, is called "FALSE".
This convention is referred to as "positive logic", but there is a
converse to this, known as "negative logic". In this case a high, or 1,
is FALSE, and a low, or 0, is TRUE. Joysticks and joypads both use
negative logic, so with no buttons pressed, all the signals are FALSE
(high), whereas with a button activated, the relevant signal will
become TRUE (low).
On a joystick, each button has a single wire carrying the signal back
to the computer. Since there are four direction switches, one fire
switch, and two connections for the voltage supply, a connector with
seven pins was needed. The nearest "standard" connector has nine pins,
and it was this that Atari used for their joysticks. The joypad, on the
other hand, has 21 switches, which would normally require at least a 23
way connector. This is clearly impractical, so Atari used a high
density version of the 9 pin connector, which manages to fit 15 pins
into the same space. In fact, only 12 of these 15 pins are used on the
joypad, and the 21 buttons are mapped to 10 of these (the other two
being used for the voltage supply) using a system called "multiplexing"
(see boxout).
The multiplexer is essentially just an automated switch itself, and is
used in the joypad to select which group of buttons are to be read by
the computer. In order to read the direction pad, for example, the
multiplexer has to be forced into "activating" the right group of
switches by pulling pin 4 on the joypad low. This activates the pause
button, fire button A, and the right, left, down and up buttons on
output pins 6, 10, 11, 12, 13 and 14 respectively. The internal working
of this part of the circuit is shown in figure 1.
A brief explanation of this circuit may be in order: when a switch is
left open, the relevant pin on the connector is pulled high (FALSE) by
a resistor (the rectangular boxes), through a Schmitt triggered buffer
(the triangles with the symbols in). These serve the dual purpose of
protecting the computer and "cleaning up" the signals which pass
through them. When a switch is closed, the output pin is pulled to the
same level as pin four, which is the multiplexer control pin for this
group of switches. If pin four is pulled low, then the outputs also go
low (TRUE) whenever a switch is pressed - just as they do in a normal
joystick. The other triangles are diodes, and are used to isolate the
switches from the remainder of the circuit, which is not shown on this
diagram.
Clearly, therefore, if pin four is permanently tied low, we can get the
direction buttons and fire button A to act like a normal joystick.
Anyone who owns a Jaguar, however, will know that most games use B as
the main fire button, so it would be nicer if we could do the same. The
catch here is that switch B uses a different control line, so
activating B also activates several other buttons. In practice this
isn't really a problem, since all that happens is that some of the
numeric keypad buttons mirror the action of the direction pad.
What we end up with, therefore, is an adaptor which simply ties three
of the control lines low, allowing all of the fire buttons to be used,
and which connects the output pins on the joypad connector to their
counterparts on a standard 9 pin socket. The circuit diagram, if it can
be called that, is shown here.

Figure 2: The "circuit diagram" for the adaptor
Construction
Although the theory behind this device may seem quite complex, the
construction is simplicity itself. The adaptor actually consists of
nothing more than a pair of sockets and a handful of wires, although it
can easily be fitted into a small box to improve the appearance. The
biggest problem comes from Atari's ridiculous positioning of the
joystick ports on most STs - in order to use the adaptor on these
systems you will either need to reposition the connectors or use one of
the short extension leads that are readily available.
The only tools you'll need are a soldering iron, wire cutters and wire
strippers, and you just have to connect the pins on each connector
using small lengths of wire. Assuming you wish to put the adaptor in
the suggested box, simply use lengths of wire a little longer than the
box itself. Once the sockets are soldered in place and the adaptor
tested, simply twist one end until the wires are pulled to the correct
length, then fit everything together.
The soldering itself should present few problems, though experience has
shown that it's best to solder the middle row of pins on the high
density connector before starting on the outer rows. The only tricky
parts are the multiple connections to pins 2, 3, 4 and 9 on the 15 way
connector, but provided you don't try to swamp the pins with solder you
should be able to "daisy chain" these together.
To test the completed adaptor, simply plug your joypad into the 15 way
connector, plug the other end into a joystick port, then load a game
which uses the joystick. Ideally you should find that the adaptor works
first time - if not then switch your machine off immediately and check
the connections. The most common problem is caused by excessive solder
bridging the gap between adjacent pins, so look out for that in
particular.
Multiplexing
A multiplexer is a system with several "signal" inputs, one or more
"control" inputs, and a single output. It acts as little more than a
glorified switch whereby the control lines select one of the signal
inputs to be routed to the output. For example, in the multiplexer
shown, the output will be a copy of input A whenever the control input
is low, and a copy of B whenever the control input is high.

A simple multiplexer
In the joypad this system is expanded so that a number of outputs are
switched simultaneously, resulting in a system with four control lines
and six output lines. The inputs themselves are provided by the
switches. In order to read from the joypad, one of the control lines
must be taken low which will activate six of the buttons. This gives a
theoretical maximum of 24 buttons (six output lines multiplied by four
control lines), although only 21 buttons are used on the joypad.
The selection of the control line - and hence the five or six switches
that may be read - is determined by writing a value to an address in
memory, which corresponds to the eight control lines on the extended
ports (four on each). This sets the multiplexer in the joypad
accordingly, and the state of the switches may then be read. It is also
possible to use these control lines as general purpose output pins,
however, and the input lines can be similarly utilised. This is why a
number of enhancements for the Falcon - particularly screen expanders
such as Screenblaster or BlowUp - have a connection that plugs into one
of the extended joystick ports.
What? No double sided sticky tape?
The parts required for this device are quite straightforward, and
relatively cheap. The stock numbers and prices quoted here are correct
at the time of writing, and are taken from the 1996 Maplin Electronics
catalogue, although the 1997 catalogue should have been released by the
time you read this. These catalogues are available from many large
newsagents, and contain full details on how to order components. Most
major cities also have Maplin shops, although any good electronic
component supplier should be able to provide similar parts.
Order Code | Description | Price |
RK61R | 9 pin D socket | £0.72 |
JW78K | 15 pin, high density D socket | £1.75 |
JM07H | Box | £0.94 |
BL00A | Wire (10m length, Black) | £0.52 |
FR21X | Solder (22swg, 10m length) | £0.99 |
The legal bit
As usual, neither Xav, nor Atari Computing can be held responsible for
any loss or damage that may occur as the result of the information in
this article. It is possible that failure to construct this project
correctly may result in damage to your computer, so if you are in any
doubt as to your abilities in this respect, please do not attempt to
make this device.
|