OpenVMS Freeware (VS0185)
DESCRIPTION
This program is a flight simulator. It puts more emphasis on
the dynamics than on the cosmetics: just wire-frame. It can
run on any machine but a 386DX is the minimum for any decent
performance. A fast video controller is a boon as the pro-
gram, when running on a 386DX/40Mhz, spends 70-80% of its
time pushing pixels. On non-intel machines you can try and
see if it is fast enough...
The program was written for fun. I borrowed ideas from
everywhere and hope to hear some more. The basic design is
based on a program I wrote more than 20 years ago at uni
(the Technion). I had an excellent coach (Danny Cohen) and I
still have fond memories of those times. But now my computer
has more than 24Kbytes of memory! so Fly8 is written in C
(Fly8 was the name of the last version of the original pro-
gram dated 12-JAN-1974, it was written in PDP15 assembly -
macro15 - for a VT15 graphics processor).
The actual purpose of the program was to give me an opportu-
nity to experiment with various aspects of flight simula-
tion, but mostly with (1) the HUD symbology (or, more gener-
aly, with man-machine interaction) and (2) the studying of
basic aerodynamics (as well as general real time simulation
techniques). This explains why there are so many HUD options
and such a proliferation of flight dynamics models, as well
as why the simulation parameters are user definable as input
files at run time. Of course, the experimental nature of the
program means that it must be distributed in source form.
On the PC the basic screen drawing uses the standard
Microsoft graphics library. It is OK but not very fast; the
main advantage is that it will support most video adapters.
The fast graphics driver was built from the routines from
DJGPP with much personal additions. The flight dynamics was
influenced by an SGI program I saw and ACM. The timer rou-
tines come from a microsoft journal article, the user-input
routine (notice how you can use arrow keys etc? use up-arrow
to retrieve history.. I will document it one day) comes from
DDJ (or was it CUJ? author name is Bob Bybee). Well, I avoid
re-inventing wheels unless it is fun. The program compiles
with Microsoft C, Borland C, gcc on a friends Amiga, Sun and
Linux and I hope on other platforms; it is written to be
portable. It runs under MSDOS, MSWindows, Amiga and unix/X-
Windows... and now on OpenVMS !!
What? what? WHAT? you want to see some action? OK. just skip
to the next chapter then come back.
The full set of commands is detailed in the 'commands' chap-
ter. Here we will look at the program areas in general.
There are two rather distinct kinds of commands that one
uses: commands that drive (fly) the game and commands that
configure, set options and so on (which are used with less
urgency). It was attempted to get the important commands
into the keyboard (a one keystroke command) while the others
go into the main menu system (accessed with the Esc key).
Some of the urgent commands may bring up a menu which you
may ignore if you know the keystokes.
The urgent commands will control the vehicle flight and the
other subsystems (radar, HUD, HDD, weapons etc.). You will
notice early that the program lacks the traditional instru-
ment panel: it is intended to be driven from the HUD and
other digital displays.
The vehicle is also driven by a pointing device (a mouse or,
preferably, a joystick). It will run off the keypad when you
have no such device. The pointer is used only for steering
control although the buttons can be mapped to auxiliary
functions (by default both 'fire').
The display area is typicaly divided into the main view and
a number of secondary Head Down Displays (HDD). The design
has a dozen or so on board instruments that generate visual
data; you select which ones should be displayed on which
HDD. The main view is what you see through the cockpit. The
HUD can be overlaid onto this view (as is the case with a
real plane). Other data may also be shown here for conve-
nience.
One other instrument is designated as an alternate main view
(use the 'v' command to see it). The 'windows' menu handles
the screen format and configuration.
The program generates various messages as it goes along,
these will appear at the bottom of the main view and stack
up. Each message has a time-out for deletion but you can use
'c' to clear the lot. When the program needs user input it
will open a prompt line at the very bottom of the main view
(in magenta color) where your data will show. You can use
the normal editing keys while entering data here - previous
entries are accessible with the up/down arrows. See 'input
line editing' later.
You may find some of the commands/options strange (if not
outright insane); this will be related to my taste or
(mostly) to much history and quick fixing that did not com-
pletely settle yet. I have looked at other programs (like
F3, JF2, ACM and SGI f.s.) but this was after the first ver-
sion of this program was finished, so some good ideas missed
the bus this time. In the future I hope to polish the user
interface (especialy after other people get to use it and
express an opinion).
Being as the program is still evolving you will find some
areas less complete than others. I hope that there is enough
of it to make it useful. I expect to see contributions (of
ideas and code) from other people; I will continue to
develop the program (at least for a while) and would like to
see it take it's own path in life [heavy stuff :-)].
QUICK_START
In this chapter the symbol '@' is used to denote the Enter
key. This will give you a quick feel for what the program is
like. With the program installed, type
$ fly -z5
This starts the program in a demo setting and is useful to
see if all is OK and also great as a screen blanker :-)
If the fly.ini options are correct then your plane will take
off and start looking for action. Some messages are dis-
played during startup - these will disappear after a short
while. The screen will show a simple view of the runway, a
ground grid (in gray) and an overlaid HUD.
To exit hit 'Esc' 'x' and 'y'.
Author
Eyal Lebedinsky (eyal@ise.canberra.edu.au)
Click on FTP to download from the FTP archives.
![[FTP]](http://www2.encompassus.org/hidedecus/graphics/i_ftp.gif)