Joystick cursor (JSC) is a terminate and stay resident program (TSR) that
is designed to take joystick input and turn it into cursor scan codes.
The motivation for creating this tsr was for playing the CRPG Betrayal
at Krondor.  If you have not played this game I highly recomend it.

Betrayal at Krondor uses the cursor keys or a left mouse click upon a
compass dial for movement.  To me this becomes tiring to the hand and
finger when using either method.  I have a 'FlightStick' joystick.  This
wonderful joystick is the 'Flight Simulator' type with a control handle
that you grasp like you would a flight stick in an airplane.  For those
who have played Ultima Underworld, you may know that Ultima uses the
joystick for movement control.  This is where I got the idea of creating
this tsr for cursor movement.

Enough of the intro stuff.  This tsr is invoked by typing:

JOYCUR T=x E=x C=x M=x (explained in a moment)

ALL PARAMETERS ARE BETWEEN 1 AND 9

After loading JSC into memory, you first center the joystick and then press
joystick button 1 (second button).  You should hear a beep.  If you do not
hear the beep, you need to hold the button for a little longer (should only
need to hold it for a split second).  This tells you that JSC has taken the
current joystick position as being the center and activated itself.  As you
move the joystick in the different directions, if the difference between the
current position and center is greater than the 'E' parameter times a factor
of 2 ((center - current) > (E * 2)), JSC adds the differenct to an internal
counter.  Once the internal counter is greater than the 'T' parameter times
a factor of 10, JSC issues the proper cursor scan code.  In this way if you
leave the stick in the center, but the stick has a little flucuation, you
will not get small cursor movements when you think that the stick is
stationary.  If your stick has a lot of flucuation, set the E parameter a
little higher.  If you find that you do not have a very good range between
a little cursor movement and a lot of cursor movement set the the T parameter
a little higher.

The C parameter is the number of clock 'tick' to wait before calling JSC.
There are 18 clock ticks per second so you can wait between 1 and 9 ticks
between each call.  The only reason you would want to set this parameter
higher than 1 is if JSC seems to be slowing down the program you are using
it with.  The higher this setting the less 'responsive' JSC becomes, but the
more responsive your program is.

The M parameter is the number of cycles to perform times a factor of 100
while check the joystick position.  This will depend on your computer system,
the program you are running and the type of joystick you have.

If you press joystick button 1 (second button) after JSC has already been
activated, you should here two beeps really close together of diffent tones
so that it almost sounds like one beep of a weard sound.  This will
deactivate JSC.  You can then press the button again to reactivate it.  This
is useful for two reasons.  First, if you disable JSC it does not take up
hardly any computer time and you do not take the chance that you might bump
the joystick and cause a cursor key at the wrong time (like during combat
or while reading text).  Second, if you find that the joystick did not seem
to center correctly just disable JSC and then reactivate it when you think
you have the stick centered.  You can activate and deactivate it as much as
you want to, but I recomend not doing it too quickly in a row.  (This is not
a shot-em up game).

I use JSC on a 486-33.  The settings that I use are:

JOYCUR T=7 E=2 C=1 M=8

This seems to respond nicely and give a fast good range of control during
Betrayal at Krondor.

NON-DISCLAIMER: THIS PRODUCT IS PROVIDED AS IS WITH NO WARRENTY EXPRESSED OR
IMPLIED.  PLEASE DON'T HOLD ME LIABLE FOR ANYTHING THAT HAPPENS TO YOUR
COMPUTER, SOFTWARE, HARDWARE OR OTHERWISE BECAUSE OF USING THIS PROGRAM.

If you have any questions, though, please feel free to contact me.

ANY DONATIONS ARE GLADLY ACCEPTED:
Tony Pitman
7428 East Karen Drive
Scottsdale, AZ  85260
(DAYTIME) - (602) 991-7272
CIS:71441,741

