Hacking the Joystick Port

From: Michael Current (aa700@cleveland.Freenet.Edu)
Date: 02/12/92-12:06:18 AM Z


From: aa700@cleveland.Freenet.Edu (Michael Current)
Subject: Hacking the Joystick Port
Date: Wed Feb 12 00:06:18 1992


Reprinted from the A.C.E.C. BBS (614)-471-8559


Hacking The Joystick Port
By Chuck Grimsby

    As every Atari Basic programmer
knows, the joystick port can be used to
produce nine different actions or
commands (excluding the center or
'null' position), utilizing the
STICK(x) and STRIG(x) commands. The
numbers your programs look for are:

value     stick posistion
-----     ---------------
14          UP
13          DOWN
 7          RIGHT
11          LEFT
 6          UP RIGHT
 5          DOWN RIGHT
 9          DOWN LEFT
10          UP LEFT
15          CENTER (NULL)

 0          FIRE,     (USING STRIG(0)
 1          NOT FIRE

     You may have noticed that there
are some numbers missing from that
list, and from all lists that show you
how to use the STICK(x) command. Where
are the numbers 0-4, 8 and 12?
     Well, actualy those numbers are
there and are readable, but you can't
use a normal joystick to produce them.
You either need a numeric keypad (like
the old Atari CX-85) or a special
'joystick' consisting of buttons in
place of a single stick.
     I built myself a special joystick
to use as a non-moving mouse (my desk
space is VERY limited) and discovered I
had also created a joystick that would
produce those non-standard numbers.
     My brother has dubed this device a
'Dead Mouse' and it has proved to be
very handy. It also works great as a
very accurate joystick for
MicroPainter.
     The new STICK(x) list using the
Dead Mouse looks like this:

   VALUE          BUTTON(S) PRESSED
   -----          -----------------
      0          UP DOWN LEFT RIGHT
      1          DOWN LEFT RIGHT
      2          UP LEFT RIGHT
      3          RIGHT LEFT
      4          UP DOWN RIGHT
      5          DOWN RIGHT
      6          UP RIGHT
      7          RIGHT
      8          UP DOWN LEFT
      9          DOWN LEFT
     10          UP LEFT
     11          LEFT
     12          UP DOWN
     13          DOWN
     14          UP
     15          NONE (NULL)


     The numbers produced through the
Dead Mouse can also be used to simulate
the numeric keypad IF you have the
proper AUTORUN.SYS file AND press the
FIRE button with the other keys.
     The following list shows the
funtions that the Dead Mouse key
presses will return. Remember to ALWAYS
press the FIRE button as well.

     FUNCTION     DEAD MOUSE KEYS
     --------     ---------------
    DELETE       UP DOWN LEFT RIGHT
    YES          UP DOWN LEFT
    NO           UP DOWN RIGHT
    -            NONE (NO KEYS PRESSED)
    +ENTER       UP
    0            UP DOWN
    1            DOWN LEFT
    2            UP LEFT
    3            LEFT
    4            DOWN LEFT RIGHT
    5            UP LEFT RIGHT
    6            RIGHT LEFT
    7            DOWN RIGHT
    8            UP RIGHT
    9            RIGHT

     The construction of the Dead Mouse
is simple, due to the fact that every
joystick made actualy uses four buttons
on the inside activated by moving the
stick. All you need to make the Dead
Mouse are five momentery contact
buttons, a female D9 conector, a six
conductor cable, and a project box.
     You can save yourself some time
and trouble by using the cable from an
old broken joystick, or buying a
joystick extension cord and cutting off
one end instead of making a new cable.

     Start by drilling five holes for
the buttons in the lid of the project
box a little bit larger then the size
of the buttons, and one hole in the
side of the box for the cable to the
computer.
     Next mount and secure the five
buttons in the holes and pass the cable
through the hole in the side of the
box. Make a knot in the cable on the
inside so the cable wont pull out.
     Now solder the wire from the cable
to the switches following the table
below. NOTE: Solder to ONLY ONE SIDE OF
THE BUTTON!!

        u 1 2 3 4 5  u
        \ O O O O O /
         u\ O O O O/u
           6 7 8 9



     PIN #     BUTTON
     -----     ------
       2          RIGHT
       3          LEFT
       4          DOWN
       5          UP
       9          FIRE

     Now solder pin #7 to the other
side of ALL the buttons. This is the
common or "ground" line.
     Put the lid on your box, and your
Dead Mouse is ready to use.
     From experience, the Dead Mouse is
a very poor joystick, Don't even bother
to try and use it for game playing. It
is ,however, a more profesional looking
device for use as a mouse than a
joystick, and a accurate drawing tool
for MicroPainter.
-- 
 Michael Current, Cleveland Free-Net 8-bit Atari SIGOp   -->>  go atari8  <<--
   The Cleveland Free-Net Atari SIG is the Central Atari Information Network
      Internet: currentm@carleton.edu / UUCP: ...!umn-cs!ccnfld!currentm
     BITNET: currentm%carleton.edu@{interbit} / Cleveland Free-Net: aa700


-----------------------------------------
Return to message index