T O R N A D O J O Y S T I C K D O C T O R
(c) 1995 Heinz-Bernd Eggenstein
For registered TCSC users only
1) What's this all about?
Several Tornado users have complained about several problems concerning
Tornado's joystick response.
- roll rate "to the left" by far exceeds rool rate "to the right"
- rudder pedals: yaw rate to the left exceeds yaw rate to the right
- more than sluggish pitch-up sensitivity
- when using two sticks, moving the first sometimes makes TDO believe
the second stick was moved even if this is not the case
I myself suffered from various problems so I decided to write a set of
tools to attack those problems:
2) Cures for joystick problems
Before using the patch to cure any joystick problems, first try whether you
can fix any problem by adjusting the trim wheels on your joystick. You
can use the program STICK.EXE that comes with this package for this purpose.
Adjust the trim wheels so that for every joystick axis, the displayed value
in the centered position is halfway beween the min. and max. values when
deflecting the stick(s).
After completing this procedure, you have to re-calibrate the stick(s) using
the PREFERENCES screen of Tornado!
If this doesn't work, you can try to fool the Tornado calibration routine.
When it asks you to put the joystick in the LOWER RIGHT corner, DON'T move
the stick(s) all the way to that corner, but stop a little short of the max
deflection (for both axis), leaving a little room vertically and horizontally
to the lower right corner.
By experimenting a bit, you should be able to find out just how much
"calibration cheating" is needed to get a satisfactory joystick response.
But sometimes you still won't get a satisfactory linear joystick response.
This is most most likely if you have a fast computer and a low quality game
port, e.g. I have experienced this problem after upgrading to a 486-DX4-100
processor, using the game port of my sound card.
In this case, you should try to patch the joystick routine of Tornado. The
patch can easily be reversed later.
Just copy all the files in the distribution archive to the TORNADO main
directory (the directory with the FLIGHT subdirectory) and execute
The program will then tell you what to do. It performs some joystick hardware
evaluation, and to do this, you have to keep all the potentiometers connected
to your joystick port at maximum deflection for a few seconds. The program
will tell you how and when to do this.
4) What's going on technically?
Because of the %$%&%$ joystick hardware design, it's pretty hard to write a
good joystick polling software that works both for slow and super-fast
computers. That's because the computer has to determine the joystick
deflection by measuring the time it takes for a certain bit pattern to
appear and disappear on the joystick port. The problem is that this
bit-flipping is happening so fast (in the order of a millisecond) that the
only reliable way to measure this time is with the help of a simple
counting loop, which runs at different speeds on different machines.
TORNADO's stick routine seems to be pretty good, but since it has been
released, the execution speed of PCs have multiplied which can result in
certain parts of the joystick code running "too fast".
The patch inserts a small waiting loop into the joystick code of Tornado,
which (for some reasons I do not fully understand) improves joystick
E.g. on my machine (it has an AMD-486-DX4-100), the inserted waiting loop
takes only about 5 micro-seconds to execute (yes, 5*10^-6 sec). So this
waiting loop does not decrease overall performance, e.g. framerate. The
patching program will perform a measurement of your joystick hardware and
compute the optimal waiting loop length for you.
5) Alternative High sensitivity patch
Some people have complained that the high sensitivity joystick option of
Tornado is too sensitive to be useful. The original high sensitivity
option has the net effect of amplifying joystick deflection by a factor of 2,
so that deflecting the joystick halfway in high sensitivity mode will give
you the same effect as a full deflection in standard sensitivity mode.
The patch performed by T_JST2_P.EXE will change the high sensitivity
amplification factor from 2.0 to 1.333.. , so that now a 75% deflection
in high sensitivity mode is necessary to get the equivalent of a full
deflection in standard mode.
Whether you prefer the original or the patched version is a matter of taste
and will also depend on the hardware used.
There's also an option to install a "bypass" routine that will make Tornado
ignore the high sensitivity setting for certain potentiometers, see remarks
Unlike the first patch, this high sensitivity patch will have to replace
several (5) instances of a code fragement by slightly modified code. The
different instances control the different axis of different joystick
1st instance: 1st x axis : a/c roll
2nd instance: 1st y axis : a/c pitch
3rd instance: 2nd x-axis : 2-stick config: throttle (if available)
4th instance: 2nd y-axis : 2-stick config: rudder (if available)
5th instance: ??????????? Probably rudder pedals
You don't have to install the same routine for every instance of the
hi-sensitivity code, you can combine different routines for the different
potentiometers. E.g. if you like the standard sensitivity routine for
throttle & rudder but the dampened hi-sens. routine for the main stick,
you can install the dampened hi-sensitivity routine for the first two
potentiometers and the bypass routine for the 3rd and 4th potentiometer.
In the cockpit, pressing the hi-sensitivity key will now give you a somewhat
dampened hi sens. for the main stick but will not affect the rudder and
throttle. Other combinations are possible as well.
In no event shall the author be liable for any direct, indirect, special,
incidental, emotional or consequential damages with respect to this software
and manual. The author makes no warranties, either express or implied, with
respect to this software and the manual, and expressly disclaims all implied
warranties, including without limitation, the warranty of merchantability,
political correctness and of fitness for a particular purpose.
I strongly recommend to make backups of the files FLIGHT\*.EXE before
installing this patch.
This software is NOT Shareware, Freeware or Public Domain software. Only
registered users of Tornado Staff and Command College (TCSC) are allowed to
use it. This patch may not be copied or uploaded to a BBS/online service
without the consent of its authors.