Modified joystick device driver for the Linux 1.1, 1.2, and 2.0 kernels
to support the four button Gravis PC GamePad or compatibles.
------------------------------------------------------------------------

This file documents the changes I made to the original joystick-0.8.0
package to fully support the four button Gravis PC Gamepad or similar 
gamepads.


Motivation
----------

I specifically modified this driver to better support the Linux i386
port of Snes9X v0.23, the freeware Super Nintendo Entertainment System
(SNES) emulator.  The four button Gravis PC Gamepad resembles the
original SNES controller.  However, the original version of this
driver only supported two out of the four buttons on the gamepad.
Thus, this quick and dirty hack was born to solve this button dilemma.


The Problem
-----------

The original driver supported two joysticks with two buttons
each.  However, two of the four buttons on a Gravis Gamepad 
are mapped to the two buttons of the second joystick.  The original
driver would not recognize the buttons on the second joystick (two
buttons on the Gravis pad) without a set of axis for the second
joystick.  Thus, only two of the four buttons on the Gravis Gamepad
could be used.  


The Solution
------------

I modified the driver to always check and return the button states of
the second joystick regardless of whether a set of axis is present.
In the process, this breaks support for the second joystick, but the
driver can now return all four buttons on the Gravis PC Gamepad.


Changes from the joystick-0.8.0 Package
---------------------------------------

The following files have been added or modified:

README
joystick.c

The original files have been renamed as follows:

README          ->      README.orig
joystick.c      ->      joystick.c.orig

Please refer to the README.orig file for installation instructions.



April 15, 1998
John Dahlstrom
