Welcome to FlyRC.
Written by Ron Carr using Mix Power C, Borland Tourbo C.

Starting the program:
  flyrc            : starts the program with a choice of planes presented

Controls:  ( effective after the 3 second fly by )
  i              :  initilize after a crash
  j,k,l          :  selects control as joystick,keys or radio on LPT
  esc or q       :  quit
  1-9            :  number keys control engine power
  arrow keys     :  control the plane
  home,end,del
  page down      :  move the observer location relative to the plane
More keys are described in the update notes at the bottom of this file.

If a joystick is detected, it will be enabled at program startup.
If not detected, it will not work even if manually enabled with the 'j' key.
The joystick should be on the standard game port.

Files:
  'plane'.par    controls the flight characteristics.  You can edit these
                 files if you want the planes to fly differently.
  'plane'.dat    defines how the planes look.
  backgnd.dat    defines the clouds in the background
  fly.exe        is the executable
  flyrc.exe      front end menu and radio interface detection code
  readme.txt     this file
  technote.txt   has some information about how the program works.
  design.txt     describes how the planes are designed

Edit History:
Version 1.0  - Initial Release
Version 1.1
  Removed some shaking from the clouds, consistant handling of the hline
    endpoints.
  Wrote hline and copyline in assembly, didn't gain all that much speed.
  Added documentation file design.txt.
Version 1.2
  Bug fix - The erase lines would grow in length if the plane stayed in
  one place too long causing blank lines to appear.  If you ever have a
  tough problem to debug, try datalogging.
Version 1.3
  The wing, that was the design example, was developed into the vtail plane.
  Its flight characteristics are a simple copy of the bipe's with more power.
  Fixed a problem with negative drag that would appear if the plane was
  stalled and starting going backwards.  Added a projected runway and
  removed the circular runway.  This didn't work exactly as I expected, but
  it looks pretty good.  Made minor changes to the planes.  Fixed non
  initialized doubles that caused eratic  operation when floating point
  hardware was present. ( Turbo C returned 'Not a Number' trap ).
Version 1.4
  Added a choice of planes when the program starts, making the program more
  friendly to Windows users.  Note that the clouds seem to shake if I run
  this program from Win95.  I recommend that users boot to Win95 fake DOS if
  they have this problem.   Removed the files plane.par and plane.dat as
  they are no longer needed.  Included the sources in the release as there
  have been some requests for them - converting to Turbo C should be fairly
  simple - just reinstate hline() and copyline() in C rather than assembler.
  Added keyboard rate to parameters.  Anyone flying with the keys can now
  vary the response they get with each keystroke.  Changed the flight model
  which required changing and adding parameters to the .par files.  Landing
  the plane is now somewhat realistic and  stalls look much better.   Added the
  forground colors to the .par files - can now have planes of different colors.
  ( Use egapal.exe to select your color hex values ).  Included egapal in the
  release files. Altered the shape and colors of the planes.  Acknowledge that
  Guard Dog has a problem with Mix Power C. ( sources are now included, so you
  Guard Dog users can compile your own executable - woof )
Version 1.4a
  Fixed a problem with the auto init after 5 seconds feature - the keyvalue
  was not cleared and the init would happen instantly after a crash once the
  key was used.
Version 1.4b
  Increased the number of points and poly's to 200.
Version 1.5
  Changed traceline routine to check for single points left after a poly is
  traced.  Poly's with more that 3 or 4 points seemed to produce these single
  points much more often than a simple poly.  There is room for improvement
  in this routine.  Pushing the limit of 64k data segment - can't increase
  the size of the frontline array.
Version 1.6
  Re-wrote traceline and other front.c routines to solve the single point
  problem.  Code is cleaner with new algorithms. Increased the size of the
  frontline array as much as possible by changing some 'int's' to 'char's'.
  We now have Klemm2 courtesy of Wilfried Fedtke.
Version 1.7
  Developed a new algorithm for drawing the forground objects.  Now the entire
  offscreen memory is used to draw ( previous one line ).  This presented some
  interesting challeges as there are 339 rows of offscreen memory and 480 rows
  that are onscreen.  The frontline array is no longer an issue and the data
  segment problems are gone for now.  A sukhoi was added, designed by Eric
  Middeldorp.  Changed compilers to Borland Turbo C.  Front end code from
  Wilfried used.  Start the program as FLYRC.
Version 1.7a
  Fixup for shadows in forground.  Changed points in a poly to 30 for the
  lazy bee shadows.
Version 1.8
  Forced the front end to run when not using debug flag.  Made alot of changes
  in the point projection code.  The effects are the same, just trying some new
  algorithms. ( No longer have a rotating co-ordinate system, although the
  rotating co-ordinates worked fine. )  The viewpoint can now be changed using
  the Home,End,Delete,PageDown keys to move towards, away, left and right
  respectively.  The runway now is truely projected and clipped to the view.
Version 1.9
  Control via an RC transmitter.  Added txtest for a parallel port cable
  interface testing tool.  See the file radio.txt for some documentation.
  Added radio.cfg configuration file to define how the channels correspond to
  the controls.  It seems there are a number of configurations in use world-
  wide.  Added throttle control and basic rudder control for the Radio
  interface.  Added controls for interface selection: k-keys, j-joystick,
  l-radio on LPT.  On startup, the radio interface is defaulted if found.
  We have a new plane design from Danie Marais, although I slowed the ailerons
  and increased the elevator from what he provided.  Design is a Great Planes
  Easy Sport.
Version 1.9a
  Added Keyboard rudder control with the ',' and '.' keys.
Version 1.9b
  Erik sent a new plane design, a nice looking Pitts Special.  Added channel
  reversing via the radio.cfg file.  Also one has the ability to vary the total
  control throw via this file( much like the radio ATV feature).
Version 1.9c
  Added rudder and throttle control to the joystick interface.  These are
  defaulted to off.  The 't' key will toggle the throttle control on, off
  and reversed. The 'r' key will toggle the rudder from on, off, and
  reversed.   These controls are defaulted to off to prevent abnormal
  operation with a 2 axis stick. These features not well tested as I don't
  have a 4 axis joystick.
Version 1.9d
  Added debug mode to txtest program to help with interface debug.  See
  Radio.txt for description.
Version 1.9e
  Some work on Intro to allow more than 10 planes.  New plane Windstar sent
  by Chris B.  Put Chris in the credits.
Version 2.000
  Have a new plane, Lajban designed by Rasmus Geidnert. Removed the  fly by
  as this seems to cause confusion. Merged the intro and main code into
  one executable.  The program now returns to offer another choice of
  planes to fly.   Added rudder speed parameter to .par files to seperate
  the rudder speed from the elevator speed. 
  The rudder control code has been improved somewhat.  Added an item to the
  par files to simulate 3 channel setup with rudder instead of aileron as
  the primary control for roll.  Added a parameter for rudder to roll
  coupling. Changed some of the plane designs to use the new 3 channel setup.
  Added a dihedral parameter that offers self correction in roll.  Made some
  changes to txtest.  Added some trim parameters to radio.cfg.
Version 2.1
  Most of this version is from Rasmus,  plus a new Corsair design from Milos.
  Rasmus has sent 3dviewer.exe, a wireframe viewer to help in designing
  planes. And he has sent many new plane designs.  Also some new keyboard
  commands were added.  Had some requests for individual speed control for
  the 3 axis.  F1 F2 increase/decrease the aileron rate, F3 F4 increase/
  decrease the elevator rate, F5 F6 increase/decrease the rudder rate.
  f and s keys still increase/decrease all three.
Version 2.2
  Added a chase view, just for fun, and it is toggled with the 'c' key.  The
  runway is not projected correctly when using this mode.  I am not surprised
  and probably will not try to fix this up as the backgound projection is
  fairly complicated ( due to non-page flip graphics ).  Eric Ohmit sent a
  Zagi design, thanks Eric.
Version 2.2a
  New init screen from Rasmus was merged with existing code.  Expanded the
  on screen keyboard help to include some of the new commands. Fixed a
  problem with chase mode causing an input device switch.
Version 2.2b
  New Delta plane design from Dean Flavell, thanks Dean.  Fixed an error with
  the way gtrim was used in a calculation.
Version 2.2c
  Fixed a problem with the holdoff( o'scope type holdoff ) in txtest.
  Adjusted some of the plane parameters more to my liking, hope you like the
  changes.
Version 2.2d
  Graham Collins sent in an interface design for a JR XP652.  It's in the file
  XP652.pdf.  Frank Kelly sent in designs for high and low wing snappers.
  Thanks Graham and Frank.
Version 2.2e
  Two new plane designs from Fernando Lopez Lago, Zagi2 and Pibros. Thanks
  Fernando.
Version 2.3
  Changed the slowfly parameters back to the original and made a copy called
  slowfly1 that has the parameters that I have liked.  A real slowflyer
  wrote to say that the original parameters were more realistic for that
  type of plane.  Added a config file joy.cfg.  This can be used to reassign
  the joystick channels much the same way as radio.cfg does for the radio.
  You can use this to set up 4 axis joysticks as a mode 1 setup.  Also, two
  new key commands were added; 'a' - to reverse the joystick ailerons, and
  'e' - to reverse the elevator.  Added a requested zoom feature.  Fixed a
  variable that was not initialized if one started the program and then quit
  without flying.
Version 2.3a
  A new plane design, an F16, was submitted by Paul Harlow; thanks Paul.
Version 2.4
  Rewrote the poly sort to use a binary tree sort. Drawing is faster.  New
  plane designs are from Daniel Gomez(Lplank Crisis v173) and James Radke
  (GldrTga2 Me-109 Flyrctga). 
