Package Name: ACM‑7.0‑dlc
Version: 20200202
This minorly updated version released 2020‑02‑02
by David L. Craig available at
http://dlcusa.net/acm
was derived from the majorly enhanced version released
2010‑01‑09
by Umberto Salsi available at
www.icosaedro.it/acm/download.html
which was derived from the last release of the original
by Riley Rainey (unfortunately no longer available online).
Landing the F‑16 with Head‑Up Display in the default Sahara scene
Each line in the following two columns is a clickable link to the actual section. When reading this manual to learn the content, cover‑to‑cover is the best approach. Click through the links when you need a particular pesky detail really soon.
You can click on, as an example, the [DIS] link to read what that notation means or (if links are not supported by the version of this manual you are reading), refer to the [DIS] item under the Explanation of Notations subsection immediately following to access that information.
ACM History and Acknowledgments
Option ‑dis‑absolute‑time
[DIS]
Option ‑downward_view_angle_deg
Other Initialization Parameters
Artificial Horizon (Attitude & Bank)
Vertical Speed Indicator (VSI)
Horizontal Situation Indicator (HSI)
Automatic Direction Finder (ADF)
[AC]
Coordinate Roll/Yaw (AutoCoordinate)
[AW]
Hold Turn/Wings Level (AutoWings)
[AP]
Hold Altitude/Rate of Climb (AutoPilot)
[AT]
Hold True Airspeed (AutoThrottle)
[AN]
Navigate to VOR (AutoNavigate)
[AL]
Land Using ILS (AutoLand)
Other ACM Components and Concepts
About Meteorological Conditions
Temperature, Pressure, and Humidity
TDC
— Tristan da Cunha Airport
Team Locations — TEAMLOC
, TEAM_x
Records
Instrument Landings — ILS
Record
The notations employed in this Pilot Manual are really terse, so here is a list of the terms and the verbose explanations of what they signify. The list is sorted according to the alphanumeric characters.
[DIS] |
the event—action
or ACM Command Line Option is unavailable if the
CFLAGS environment variable did not include
‑DHAVE_DIS when ACM was built.
|
[FIX] |
the event—action is unavailable if the
CFLAGS environment variable did not include
‑DFIXME_INCOMPLETE_OR_BUGGED when ACM was built
(but this notation means it's broken so you probably don't want to
mess with it unless you're trying to be a hero by fixing it).
|
[SG] | (safeguard); the event—action must be armed by one trigger event followed by a second trigger event within two seconds to execute the action. If the armed state times out, the next trigger event rearms the action. |
[SK] |
the event—action is unavailable if the
CFLAGS environment variable did not include
‑DSPECIAL_KEYS when ACM was built
|
[SNP] |
the event—action is dependent upon
the C macro SWITCH_TO_NEXT_PLAYER_ENABLED being defined
when ACM was built (this is hardcoded in the distributed version of
events.c so it should be available unless the program
has been modified).
|
[‑V] |
the aircraft does not have a
visual description file in the objects directory
so the chase view is not available for it nor can it be seen by any
observers.
|
[+b] | the event—action is available in both the main and browse modes. |
[‑b] | the event—action is available only in main mode, not in the browse mode (look up or down one or two lines for the same event with a different action that may be available). |
[+j] |
the event—action is available only
if a working joystick has been successfully accessed by ACM through the
device path specified via the
‑js ACM option
.
|
[‑m] | the event—action is available only in browse mode, not in the main mode. |
[+s] |
the event—action is available only if the
CFLAGS environment variable included
‑Dsun ; i.e., Sun keyboard, when ACM was built.
|
[‑s] |
the event—action is available only if the
CFLAGS environment variable did not include
‑Dsun ; i.e., Sun keyboard, when ACM was built
(look up or down one or two lines for the same event with a different
action that may be available).
|
Newbie note: If piloting an aircraft,
real or simulated, is a new endeavor for you,
be advised it is significantly more complex than driving an automobile,
and it took you a while to learn to do that well, did it not?
Teaching you how to fly is beyond the scope of this manual,
although it attempts to be comprehendable by beginning pilots who have
not yet absorbed the basics, so don't stop reading.
The ACM man page discusses briefly how to get airborne
without a lot of bother (in a shell window such as
xterm
, cd
into the
acm‑7.0‑dlc
distribution directory whereever
it was installed, then invoke man ‑l src/acm.man
to view it).
Also, in this section are many links to Wikipedia articles about terms and
acronyms that may be meaningless to you at this time.
Real pilots in the USA reference the Federal Aviation Administration's
official publications, especially the
Pilot Handbook
(a 54 MB PDF).
You'll use that if you're running
X-Plane 11
or possibly for
FlightGear
but ACM appeared before those simulators and is oriented
toward simplicity while still adhering to aerodynamic realities.
So if all you're going to pilot is this simulator, you can ignore a
lot of what's in the Handbook (or the
Aeronautical Information Manual (AIM)
for that matter) but "Chapter 4: Principles of Flight" and
"Chapter 5 Aerodynamics of Flight" are fundamental (though presented for
post-high school readers).
The FAA is the regulatory part of the Federal government for aviation,
but NASA is the the R&D group.
They offer a Web-focused collection of age-appropriate (yes, many children can learn
to fly this simulator) material on aeronautics and aerodynamics—visit
https://www.grc.nasa.gov/www/k-12/airplane/index.html
to dive in.
Also, reading
“Stick and Rudder:
An Explanation of the Art of Flying”
by Wolfgang Langewiesche
is highly recommended for sorting out all the apparent contradictions
you are about to encounter.
ACM‑7.0‑dlc
is a distributed multiplayer
air combat simulation that runs on Unix-like platforms,
such as Linux and Solaris.
Players can engage in air‑to‑air combat with infrared
missiles and cannon (the Su‑30 also drops bombs),
but civil aircraft are available, as well.
Users can add more aircraft models and more sceneries,
and this manual explains how all that can be done, too.
Aircraft are simulated as
6 degrees of freedom
bodies:
Translation: (1) forward/backward, (2) left/right, (3) up/down, and
Rotation:
(4) yaw, (5) pitch, (6) roll
and every model gets described and then
behaves according to its aerodynamic properties.
Landing gear dynamics/ground handling, engines,
atmosphere properties including wind, and (naturally)
control inputs, are also simulated,
so you can experiment with the different behaviors of the
aircraft in different flying conditions.
The “world” of ACM is round,
but the terrain is uniformly colored and lacks any detail
apart from haze and some facilities here and there.
This poor rendering is intentional because it makes the
program so light and fast,
performing 25 frames per second with a CPU load nearly zero,
without the need of an accelerated video-card nor
specialized graphical library.
ACM‑7.0‑dlc
is also suitable for
instrumental flight (IFR),
since it provides many airports and related
radio-navigation aids, including
VOR,
DME,
ADF,
RNAV,
and
ILS.
Summary of the main features currently implemented (changes for this release are noted as [New]):
|
|
This manual documents the ACM‑7.0‑dlc‑*
release,
basically the ACM‑5.0‑ico
version with some minor
additions and corrections:
[NumLk1]
key displays the next hint
[NumLk3]
key displays the previous hint
[NumLk7]
key displays the first hint
[NumLk3]
key (re)displays the current hint
[K]
keypress,
like the quit/self-destruct function requires two [Q]
keypresses within two seconds
stderr
have been added, most
disabled as comments in the code.
CHANGES
text file in the release directory
The original version of this program,
Aerial Combat Modeler,
was developed by Riley Rainey and distributed under the
GPL license.
The first version was released in 1991 via the
venerable Usenet comp.sources.unix
newsgroup.
Until sometime after 2010, the last version released, 5.0,
was still available from Web Simulations Incorporated
(www.websimulations.com).
ACM‑5.0‑ico
, Umberto Salsi’s major
effort to improve, correct and extend the ACM‑5.0
project, was updated January 9, 2010 and subsequently untouched
for several years
(~95% of this manual’s content is directly from that release).
For this distribution,
I packaged some very minor enhancements I had developed to
“scratch some itches”,
but I have nowhere near the aeronautical engineering and
graphics programming skills of these gentlemen.
In the meantime Umberto has released
ACM‑6.0‑ico
, most recently on
July 25, 2018, available at
http://www.icosaedro.it/acm/download.html
with several interesting enhancements that would require non-trivial
re-engineering in some cases to be incorporated into this version.
I only discovered it after, having shelved my development efforts
at the end of 2014, I decided near the end 2019 I needed to dust it off
and finally release it.
I immediately contacted Umberto about my work at that point and he
suggested I might release what I have as a 7.0 version, then we both
could look at what an 8.0 release might contain.
Also, the Free Software Foundation offers a 5.1 version of Rainey’s release at www.gnu.org/software/acm/ but I have not looked into its changes beyond a very superficial level.
ACM was early upgraded to support the IEEE 1278 Distributed Interactive Simulation (DIS) protocol.
Parts of ACM were derived from other sources. The DIS protocol compiler is based on technology originated at Sun Microsystems in their public domain ONC RPC product. ACM’s DIS glue code was created by Mats Loftkvist. The C++ interface to Microsoft’s DirectDraw is derived from samples created by Nigel Thompson in his book, 3D Graphics Programming for Windows 95.
Many others have generously supplied bug fixes and other changes
to ACM‑5.0
since it was originally released.
In particular, Brad Bass and Tim Tessin contributed with their
encouragement and continued support.
Charlie Briggs and Tom Giertz have helped out a lot, too.
The original version ACM‑5.0
was available also
for Windows 95/NT, but that was no more true for
ACM‑5.0‑ico
and it now compiles only on
Unix-like systems.
The manual sections have consequently been moved to the back of
the “Programming Topics” section in this version of
the manual and remain only for historical reference.
However, Umberto's 6.0 release does support Windows.
News, bugs and updates for ACM‑7.0‑dlc
will
hopefully continue to be available at
dlcusa.net/acm
although the details of that site are still in flux.
All email regarding ACM
should be sent to
"David L. Craig <dlc.usa@gmail.com>
"
and the Subject
header should begin with
"[ACM]
" to ensure it is not mistaken for spam.
The following defects are known problems at the time of this release:
allworlds
' ILS stations are
inconsistent with FAA guidelines and should be brought into compliance.
There are two means of getting the ACM executable executing on your
system: use an X‑windows graphical user interface (GUI) widget of your
own definition (which will ultimately issue an appropriate shell
command), or directly issue the shell command yourself by typing it
into a shell window such as xterm
.
Note this manual assumes the current working directory for all
shell interaction is the ACM release directory, by default named
acm‑7.0‑dlc
, which is the recommended way
of running ACM‑7.0‑dlc
.
The GUI is useful for simpler invocations but it does not support all
the options available via the command line and can only remember one set
of saved options.
ACM‑7.0‑dlc
provides Umberto's GUI program based
upon the Tcl/Tk toolkit, ./acm.tk
, as well as some shell
scripts that build, run, and debug the actual acm
program:
./build.sh
to autoconf
, configure
,
and mak
e ACM (does not install—this distribution
executes src/acm
from within the directory tree extracted
from the tar file),
./acm.sh
for a normal session, and
./acmdebug.sh
for a gdb
debugging session.
acmdebug.sh
is a symlink to acm.sh
since the differences between them are trivial.
You may find it useful or time-saving to make copies of these as needed
and modify the copies to define different configurations you can invoke
without needing to specify all the differences each time you need them.
However, most options do not change from flight to flight, so carefully
setting up init
files enables you to change common groups
of options with one -init
option simplifying setup for
common scenarios, with tweaking using command line overrides.
The ACM‑7.0‑dlc
distribution package includes
acm‑5.0‑ico
’s simple GUI application
(which has not been modified so far) to start ACM.
Run this with the command
$ ./acm.tk
If your computer complains about the invalid path of the
wish
interpreter (the Tcl/Tk window shell),
simply open the file acm.tk
with your text
editor and change the first line so that the pathfile will
match the location of the “wish” interpreter
on your system.
The windows can display several panels: select the desired panel by activating its button at the top of the window.
The preferences you set in this mask are saved in the file
.acmtkrc
in your home directory,
and restored every time you restart the program.
Left-clicking the Run
button starts ACM.
The Default
button sets the default values
into the mask.
The Quit
button exits the program.
You
The acm.tk You
Panel
The Plane: pop-up menu lets you to select your aircraft
from among several models.
Refer to
Option ‑plane
for further details.
The Team: pop-up menu lets you to select your team
affiliation.
Refer to
Option ‑team
for further details.
The Latitude (DD‑PP‑SS.SSSQ):, Longitude (DDD‑PP‑SS.SSSQ):, Altitude:, Magnetic Heading:, and True Air Speed: entry boxes allow you to define the starting position for your aircraft. Refer to the “About Origin Situations” section for further information.
The Payload: entry box should include the weight of the pilot,
all passengers, their effects and luggage, and any cargo.
Refer to
Option ‑payload
for further details.
The Fuel: entry box lets you to set the amount of fuel
desired.
Refer to
Option ‑fuel
for further details.
Instruments
The acm.tk Instruments
Panel
The Display Mode: radio buttons allow you to define
the initial setting between a large classic instrument panel
with a smaller outside view area and a smaller panel and larger
outside view with most of the flight data presented on the
windscreen by what is called a Head‑Up Display (HUD).
You can toggle between the two anytime during the flight
session via the
[H]
—Toggle HUD/Panel Display
keyboard command.
Refer to
Option ‑hud‑mode
for further details.
The Eye Dist. from screen: and Downward view angle: entry boxes work together to optimize the view outside the aircraft. Refer to the “About Screen Configuration“ section for further details on defining these values.
Scene
The acm.tk Scene
Panel
Scene is the simulation universe to load.
The ACM package includes five acmscene
universe definition files in the
objects
directory:
allworlds
, dallas
,
italy
, nellis
, and
baghdad
,
but so far only allworlds
supports the new
acmscene
record formats
(note use of the .acmscene
suffix is not mandatory
for acmscene
file names but it is a useful
convention).
The default
scene is simply a symlink to the
allworlds
file.
If you don’t select a scene, ACM will attempt to load the
default scene.
The remaining parameters of this panel deal with the weather, and
are fully discussed in the
“About Meteorological Conditions” section.
Lighting lets you choose to fly with the daylight
or by night.
Visibility defines how transparent the atmosphere is in
conjunction with the Configure
Panel’s
Color depth steps entry box value.
Wind direction and Wind velocity set a prevailing wind
over all the ACM “world”.
Remember that the wind direction is the (true, not magnetic) direction
from which the wind blows;
e.g., a 90‑degree wind causes your aircraft to drift to the west.
Wind gust max intensity sets the maximum intensity of the
wind gusts.
Drones
The acm.tk Drones
Panel
The Mode: may be “dog fight” or “hunting” and Aggressiveness: may be set from 0 (low) to 100 (high). Refer to the “About Drones“ section for details about these parameters.
Configure
The acm.tk Configure
Panel
The entry box Program contains the file‑name of the
executable program ACM.
This is the program launched when you press the
Run
button.
The entry box Objects directory contains the directory‑name of the directory containing the scenes, the aircraft inventory and other resources the ACM program needs.
The Color depth steps set the number of color shades
that will be generated to render the haze effect.
Refer to
Option ‑depth‑steps
for further details.
The Frame rate is the number of times per seconds the
program will update the image on the screen.
Refer to
Option ‑frame‑rate
for further details.
The Mouse mode menu defines the algorithm to be used for
the session to map mouse movements into aircraft control stick
movements.
Refer to
Option ‑mouse‑mode
for further details.
If you have a joystick supported by the program, set the name of
the Joystick serial port; e.g., /dev/ttyS0
, to
request its use instead of the mouse to control the aircraft’s
stick.
Remember to ensure the ACM user can access the device; e.g., run
chmod o+rw /dev/ttyS0
as the root user.
The remaining flags of this panel are quite self-explanatory. Sounds effect are very rough and probably you will leave this feature disabled. Remember only to enable the DIS protocol if you want to fight against the drones.
All options are in fact optional, which is why they are enclosed in
brackets ([]
) that are not actually typed into
the command.
The vertical bars (|
) likewise are not to be typed,
they are used to separate parameter alternatives.
If a parameter alternative is italicised, that indicates it is
only a description of what should be typed, like an integer; e.g., 13,
floating-point number; e.g., 3.14159, or a string of characters; e.g.,
"abc123#" (if non-italized syntax contains a string enclosed in
quotation marks, the string within them must be typed exactly as
specified, and the quotation marks may or may not be optional,
depending on the shell being used).
Naturally, everything you type is processed by the shell you are
typing the command into, so you should be familiar with what the
man
page for your shell says about that.
Oh, yes, ACM has its own man
page that you may find helpful
(run man ‑l src/acm.man
to see it).
An underlined parameter alternative indicates the default value for the option if it is not specified in the command. If it is also italicised, note you might not be able to code its value to explicitly request the option. If the default is after the closing bracket, that indicates the option is a simple switch (either it’s specified or it isn’t) and the default describes what its omission causes.
src/acm | (this is the command path that must be the first token of the command line) |
[ ‑copyright |
‑help | ‑version |
(These are three ways to request the same thing, and are
not mutually exclusive—all must be omitted for default) ] Verbose start messages are not written to stdout |
[ ‑airspeed‑kt | initial‑knots‑0‑to‑9999 | 0 ] |
[ ‑altitude |
initial‑msl‑feet |
Per effective TEAM_x option/acmscene record; else 0 ] |
[ ‑arcade | ] Ammunition is limited, can be resupplied at home base |
[ ‑cmap | ] No colormap is established |
[ ‑da | drone‑aggressiveness‑0.001‑to‑1.000 | 0.5 ] |
[ ‑depth_steps | 1‑to‑100 | 30 ] |
[ ‑dis | ] No DIS options help messages are written to stdout |
[ ‑dis‑absolute‑time | ] Variable disAbsoluteTime is not set to 1 |
[ ‑dis‑appl | DIS‑application‑id‑0‑to‑65535 | Last two IPv4 octets ] |
[ ‑dis‑exercise | DIS‑exercise‑id‑0‑to‑255 | 1 ] |
[ ‑dis‑site | DIS‑site‑id‑0‑to‑65535 | Last two IPv4 octets ] |
[ ‑display | X‑display‑spec ] Shell $DISPLAY (required) |
[ ‑downward_view_angle_deg | degrees‑0.1‑to‑89.9 | 15.0 ] |
[ ‑drone‑mode | "HUNTING" | "DOGFIGHT" ] |
[ ‑end‑game | ] Does not improve stealthed drone radar in browse mode |
[ ‑eye_to_screen_cm | distance‑cm‑0.1‑to‑999.9 | 50.0 ] |
[ ‑frame‑rate | target‑Hz‑1‑to‑4096 | As fast as possible ] |
[ ‑fuel |
fuel‑pounds‑1‑to‑9999999 |
Up to gross weight or tank capacity ] |
[ ‑geometry | X11‑geometry‑spec | Default per window manager ] |
[ ‑groundc |
name‑of‑color‑in‑acmscene‑file's‑GROUNDC‑record
|
Per last GROUNDC record; else black ] |
[ ‑gust | max‑ft/s‑0.0‑to‑99.9 | 0.0 ] |
[ ‑heading |
magnetic‑degrees |
Per effective TEAM_x option/acmscene record; else 0 ] |
[ ‑hud‑mode | ] The classic instrument panel is displayed |
[ ‑init | command‑file‑name | No file of options is processed ] |
[ ‑js | joystick‑serial‑port‑pathname | Joystick unused ] |
[ ‑latitude |
DD‑PP‑SS.SSSQ |
Per effective TEAM_x option/acmscene record; else 0 ] |
[ ‑lighting | "night" | "daylight" ] |
[ ‑longitude |
DDD‑PP‑SS.SSSQ |
Per effective TEAM_x option/acmscene record; else 0 ] |
[ ‑mouse‑mode | "precise" | "fast" | "normal" ] |
[ ‑name | player‑name‑string | "Anonymous" ] |
[ ‑no‑dis | ] DIS is used, drones can be created [DIS] |
[ ‑no‑sound | ] Any supported audio capability will be utilized |
[ ‑objects | path(s)‑to‑objects‑files | ".:./objects:../objects" ] |
[ ‑payload | payload‑pounds‑1‑to‑9999999 | 150 ] |
[ ‑plane |
"???" | "AMX" | "B‑747" | "C‑172" | "F‑16" | "MD‑81" |
"MiG‑29" | "P‑51A" | "Su‑30" |
If team 1, F‑16; else MiG‑29 ] |
[ ‑scene | scene‑file‑name | "default.acmscene" ] |
[ ‑stealth | ] Player will not be defined passive and unable to browse |
[ ‑subject‑entity‑id |
site‑id.appl‑id.entity‑id |
dis‑site‑value.dis‑appl‑value.dis‑exercise‑value ] |
[ ‑team | 2 | 1 ] |
[ ‑team_1 |
short name‑in‑acmscene‑file's‑TEAMLOC‑record
|
Per TEAM_1 acmscene record; else per 1st TEAMLOC record; else defaults ] |
[ ‑team_2 |
short name‑in‑acmscene‑file's‑TEAMLOC‑record
|
Per TEAM_2 acmscene record; else per 2nd TEAMLOC record; else defaults ] |
[ ‑threshold‑range | end‑game‑threshold‑nm‑0.1‑to‑999.9 | Radar‑lock‑range ] |
[ ‑transfer‑entity‑mode |
site‑bit+appl‑bit+entity‑bit |
4 (transfer site but not appl or entity) ] |
[ ‑update‑rate |
internal‑Hz‑1‑to‑8192 |
If frame rate specified, 50; else as fast as possible ] |
[ ‑visibility | visibility‑nm‑0.1‑to‑200.0 | 50.0 ] |
[ ‑watch‑frame‑rate | ] Frame rendering rate info is not logged |
[ ‑wind | from‑true‑degrees/velocity‑knots | 0.0/0.0 ] |
‑airspeed‑kt
‑airspeed‑kt airspeed‑knots
See the About Origin Situations section for detailed information on this option.
‑altitude
‑altitude altitude‑msl‑feet
See the About Origin Situations section for detailed information on this option.
‑arcade
‑arcade
The presence of this option causes the aircraft’s ordinance, if any, to be inexhaustable. Refer to the “About Resupply“ section for details about restoring the rest of the aircraft’s supplies.
‑cmap
‑cmap
The presence of this option causes a color map to be defined for the
session.
Review the if (useDefaultVisual)
logic in
src/players.c
for further details.
‑copyright
‑copyright
The presence of this option requests the display of verbose startup
messages to the stdout
file.
It has the same effect as the ‑help
and
‑version
options.
‑da
‑da drone‑aggressiveness‑0.001‑to‑1.000
Set drone aggressiveness or take the default of 0.5. Refer to the “About Drones“ section for further information.
‑depth‑steps
‑depth_steps number
Set the number of color steps the program build for every color to be rendered with haze in background. For example, a value of 10 means that for every color will be generated ten shades ranging from that color up to haze color. Higher values give better results, but the maximum depends on capabilities of your screen. The minimum is 1 (no shading, essential for CAVU conditions), the maximum is 100, and the default is 30. If you get the error “too many colors requested” you have to reduce this value—10 usually works reliably.
‑dis
‑dis
The presence of this option causes help messages for the DIS options
to be written to stdout
during ACM’s initialization.
‑dis‑appl
‑dis‑appl dis‑application‑id
Specifies the DIS application parameter to use to identify the instance of ACM acting as the server for this session. The default is the 16‑bit number defined by this client computer’s IPv4 address; i.e., it is assumed this client instance is also the server for the session. Refer to the “Transfer Control Protocol” section for details about the DIS protocol.
‑dis‑exercise
‑dis‑exercise dis‑exercise‑id
Specifies the DIS exercise parameter to use to identify the instance of ACM acting as the server for this session. The default is the 8‑bit number 1. Refer to the “Transfer Control Protocol” section for details about the DIS protocol.
‑dis‑site
‑dis‑site dis‑site‑id
Specifies the DIS site parameter to use to identify the instance of ACM acting as the server for this session. The default is the 16‑bit number defined by this client computer’s IPv4 address; i.e., it is assumed this client instance is also the server for the session. Refer to the “Transfer Control Protocol” section for details about the DIS protocol.
‑display
‑display X_DISPLAY_string
Specifies the name of the X11
seat to use.
The default is the value of the DISPLAY
environment
variable.
If that is also not defined, ACM
terminates.
‑downward_view_angle_deg
‑downward_view_angle_deg degrees‑0.1‑to‑89.9
Sets the downward view angle (DAV, in degrees) below the horizontal axis of the aircraft, with a default of 15.0. Refer to the “About Screen Configuration“ section for further details.
‑drone‑mode
‑drone‑mode { DOGFIGHT | HUNTING }
Defines how drones are launched, with the default being DOGFIGHT
.
Refer to the
“About Drones“ section
for further details.
‑end‑game
‑end‑game
Requests activation of the end‑game facility of stealth mode.
If the ‑stealth
option is not also requested, this
option affects nothing.
Refer to the
“About Stealth Mode“ section
for further details.
‑eye_to_screen_cm
‑eye_to_screen_cm distance‑cm‑0.1‑to‑999.9
Sets the distance between your eyes and the screen, expressed in centimeters (1 inch = 2.54 cm), and having a default of 50. This parameter allows the program to compute the proper scale factor needed to render the outside view without distortion. Refer to the “About Screen Configuration“ section for further details.
‑frame‑rate
‑frame‑rate target‑frame‑rate‑hertz
Specifies a not‑to‑exceed rate at which ACM will attempt to render the cockpit scene. The default is to update the scene as fast as possible, which will use all available CPU time on the system. A good value is probably 25 frames per second. This value does not influence the internal speed of computation, but it sets only the rate at which the frames are redrawn on the screen.
‑fuel
‑fuel fuel‑pounds
Allows the user to set the amount of fuel loaded measured in pounds of weight. If this option is unspecified, the maximum amount of fuel allowed by the aircraft is loaded, with no consideration of the aircraft’s gross takeoff weight.
‑geometry
‑geometry x11‑geometry‑specification
Specify precise location and size settings for the main ACM window according to the standardized X11 definition; e.g.,
‑geometry 1024x768+200+200
If undefined, the default configured for the window manager is used.
‑groundc
‑groundc name‑of‑color‑in‑acmscene‑file's‑GROUNDC‑record
Specify the name of an acmscene
file's GROUNDC
record to make that the initial ground color.
If undefined, the last GROUNDC
record of the file is used, unless
there aren't any, in which case, black is used.
‑gust
‑gust max‑ft/s‑0.0‑to‑99.9
Modifies the prevailing wind, if any, with random gustiness up to the velocity specified in feet per second (gust direction is random from gust to gust). Note 10 knots equals approximately 16.878 feet/second. Refer to the “About Meteorological Conditions“ section for details about this parameter and interactions with other parameters.
‑heading
‑heading magnetic‑degrees
See the About Origin Situations section for detailed information on this option.
‑help
‑help
The presence of this option requests the display of verbose startup
messages to the stdout
file.
It has the same effect as the ‑copyright
and
‑version
options.
‑hud‑mode
‑hud‑mode
Requests the Head-Up Display be provided initially instead of the default classic instrument panel. Refer to the Head‑Up Display and Classic Instrument Panel sections for further information about these choices.
‑init
‑init command‑file‑name
Process the extra command options, in command line format,
contained in the specified text file.
For example, say there is a file in your home directory named
.acmrc
, having the following lines:
‑dis‑site 34
‑dis‑appl 4
New lines are treated as normal white space, so feel free to separate command line options onto multiple lines. From a shell, you enter the command:
$ src/acm ‑geometry 800x600 ‑init ~/.acmrc
This would be equivalent to:
$ src/acm ‑geometry 800x600 ‑dis‑site 34 ‑dis‑appl 4
‑js
‑js joystick‑serial‑port‑pathname
This option indicates joystick inputs to control the stick of the aircraft
are desired for the session and specifies the device to use
(required—there is no default device); e.g., /dev/ttyS0
.
ACM supports Noesis and Colorado Spectrum (now defunct) serial joystick
adapters.
‑latitude
‑latitude DD‑PP‑SS.SSSQ
See the About Origin Situations section for detailed information on this option.
‑lighting
‑lighting { daylight | night }
You can choose between “daylight” (the default) possibly with fog or clouds, or “night” with no illumination at all. Refer to the “About Meteorological Conditions“ section for details about this parameter and interactions with other parameters.
‑longitude
‑longitude DDD‑PP‑SS.SSSQ
See the About Origin Situations section for detailed information on this option.
‑mouse‑mode
‑mouse‑mode { fast | normal | precise }
Define the algorithm that maps mouse movements into the corresponding movements of the ailerons and elevator of the aircraft. “Fast” uses linear relation, so the aircraft reacts promptly to the commands but it is difficult to pilot with precision. “Normal” and “precise” are the recommended modes. The default is “normal”.
‑name
‑name player‑name‑string
Identifies the player and defaults to “Anonymous”.
‑no‑dis
‑no‑dis
The presence of this option causes ACM to not utilize the DIS protocol for the session. This causes the player's aircraft to be the only airborne object in the simulation which is entirely self-contained on the client computer.
‑no‑sound
‑no‑sound
The presence of this option causes ACM to not utilize (during this session) any sound effects support that may have been built into the ACM software through:
-DHPAUDIO
in the
CFLAGS
environment variable, or
-DNETAUDIO
in the
CFLAGS
environment variable, or
/dev/dsp
.
Review src/audio.c
and src/audio.h
for all the particulars.
‑objects
‑objects path1[:path2]...
Scenes, audio effects, aircraft shapes, aircraft data files and other
resources are stored as files inside the objects
directory.
By default, ACM will look for its data files inside these three
directories in the order listed:
.
./objects
../objects
which is as though ‑objects .:./objects:../objects
had been specified.
So, if you try to start ACM from outside its base directory, it will complain not to be able to load these files This option lets you to specify where these files actually are. You may specify one or more directories separated by a colon.
‑payload
‑payload payload‑pounds
The payload includes the weight of the pilot, all passengers,
their effects and luggage, and any cargo, but not ordnance
nor the effective value of the
‑fuel
ACM option.
You should consider at least 150 pounds for every person.
If unspecified, 150 pounds for the pilot is applied as the
default.
Note ACM will allow you to exceed the aircraft’s gross
takeoff weight without so much as a warning.
‑plane
‑plane { ??? | AMX | B‑747 | C‑172 | F‑16 | MD‑81 | MiG‑29 | P‑51A | Su‑30 }
Allows the user to select the aircraft type to be flown.
The list of the available models is read by the program from the
objects/inventory
file.
To know which models are currently available,
simply start the program with an invalid model, e.g., xxx
,
then the list gets displayed on the terminal.
If this option is unspecified, it defaults to the
F‑16
if team 1 is in effect;
otherwise, the MiG‑29
is selected.
For more details about the distributed aircraft, see the “About Planes” section.
‑scene
‑scene scene‑file‑name
ACM takes airport and NAVAID information from a text-based scene file.
Normally, a file named default.acmscene
is used.
The file default.acmscene
is simply a symlink of the file
allworlds.acmscene
.
Note: Only the allworlds.acmscene
file uses the new record
formats—all other files must be converted to work with
acm-7.0-dlc
For more details about the contents of acmscene
files, see the
“Defining New Scenes” section.
‑stealth
‑stealth
Note: this option is currently causing an immediate seg fault in
acm‑7.0‑dlc
and acm‑5.0‑ico
.
Start ACM in stealth mode, which allows users to monitor out‑the‑window views for any aircraft active in an exercise. Additionally, ACM supports an experimental DIS Request/Grant Control protocol that would permit ACM to “take over” aircraft of similarly enabled applications. See the About Stealth Mode section for detailed information on this capability.
‑subject‑entity‑id
‑subject‑entity‑id site‑id.appl‑id.entity‑id
This option can be used in conjunction with the ‑stealth ACM option to identify the initial DIS entity to be “stealthed”:
$ src/acm ‑stealth ‑subject‑entity‑id 32.1.1
‑team
‑team { 1 | 2 }
Allows the user to select which team the aircraft is to be associated with. Team 1 corresponds to the DIS “Friendly” force, while team 2 is the “Opposing” force. Each team has an associated home airbase location which is defined in the scene file read by ACM at startup. Refer to the “About Resupply“ section for details about restoring the aircraft’s supplies at the home airbase.
‑team_1
‑team_1 name‑of‑TEAMLOC‑record‑to‑use‑for‑this‑team
Allows the user to specify the starting location for Team 1 from the pool
of TEAMLOC
records in the acmscene
file.
This option overrides a TEAM_1
record if any.
If no TEAMLOC records are in the acmscene
file, values of zero
are used for the team's starting latitude, longitude, altitude, and heading.
‑team_2
‑team_2 name‑of‑TEAMLOC‑record‑to‑use‑for‑this‑team
Allows the user to specify the starting location for Team 2 from the pool
of TEAMLOC
records in the acmscene
file.
This option overrides a TEAM_2
record if any.
If no TEAMLOC records are in the acmscene
file, values of zero
are used for the team's starting latitude, longitude, altitude, and heading.
‑threshold‑range
‑threshold‑range threshold‑nautical‑miles
Specifies the threshold for detecting hostile aircraft in
‑end‑game
mode and defaults to the stealthed
aircraft’s radar lock range.
If the ‑stealth
and ‑end‑game
options are not also requested, this option affects nothing.
Refer to the
“About Stealth Mode“ section
for further details.
‑transfer‑entity‑mode
‑transfer‑entity‑mode site‑bit+appl‑bit+entity‑bit
Specifies the DIS protocol fields that are to be transferred:
site‑bit
decimal value is four
to transfer or zero not to transfer
appl‑bit
decimal value is two
to transfer or zero not to transfer
entity‑bit
decimal value is one
to transfer or zero not to transfer
Thus, the possible values that can be specified are:
0
do not transfer any of the fields
1
transfer only the entity
field
2
transfer only the appl
field
3
do not transfer the site
field
4
transfer only the site
field (this is the default)
5
do not transfer the appl
field
6
do not transfer the entity
field
7
transfer all of the fields
‑update‑rate
‑update‑rate internal‑update‑rate‑hertz
Specifies the update rate for the inner integration loop for the
simulation.
The default is to run as fast as possible unless the
‑frame‑rate
ACM option
option is specified, in which case, the default changes to
50 Hz.
‑version
‑version
The presence of this option requests the display of verbose startup
messages to the stdout
file.
It has the same effect as the ‑copyright
and
‑help
options.
‑visibility
‑visibility visibility‑nm‑0.1‑to‑200.0
Set the distance at which objects become totally obscured by atmospheric conditions other than fog and clouds (which, of course, totally obscure anything behind them). The default is 50 nautical miles. Refer to the “About Meteorological Conditions“ section for details about this parameter and interactions with other parameters.
‑watch‑frame‑rate
‑watch‑frame‑rate
Requests logging to stderr
of information regarding the
rate at which display frames are being rendered.
‑wind
‑wind from‑true‑degrees/velocity‑knots
Defines prevailing wind at all altitudes; e.g., 90.0/7.5
specifies wind from due east at a constant speed of 7.5 knots which
will push all aircraft due west.
The default is no prevailing wind.
Refer to the
“Wind“ section
for further details.
At startup, ACM reads several text-based data files to configure
the operating environment.
They are all searched for according to the definition of the
‑objects
option.
default.acmscene
The acmscene
files contain ASCII text that define a simulation
universe.
Only one file may be used for a session.
Each acmscene
file contains the locations of each team’s
home base and all features that are situated on the ground in that universe,
including runways, NAVAIDs, and structures such as control towers and hangars.
If the ‑scene
option is not specified when ACM is launched,
the first default.acmscene
file found in the concatenation of
directories in effect for the ‑options
option will be
used to define the session’s universe.
If, however, a different file is requested via the ‑scene
option, that file will be used instead.
Refer to the
“Defining New Scenes“ section
for complete details about the contents of acmscene
files.
object‑map.txt
The object‑map.txt
ASCII text file in the objects
directory is still processed during initialization, but it has attrophied through
the years and only seems to be necessary when drones are being launched; otherwise,
ACM seems to run the same whether it is processed or it is entirely commented-out.
The file contains comments that explain the fields of the records therein.
munition‑map.txt
The munition‑map.txt
ASCII text file in the objects
directory defines the explosion and damage producing characteristics of DIS munition
entity type and warhead combinations.
The file contains comments that explain the fields of the records therein.
inventory
The inventory
ASCII text file in the objects
directory
defines the performance characteristics of all aircraft types modeled by ACM.
The layout of this file is defined in the
Defining New Aircraft
section.
.obv
Files
The .obv
files are ASCII text files that contain the data needed
by ACM to render a particular object type (such as an F-16 aircraft or a Team 1
Hangar) in three dimensions within the simulation.
The location and orientation of any particular instance of an .obv
is defined external to the .obv
file, enabling the single file
to be used for mulitple instances.
Refer to the
“Defining New Objects“ section
for complete details about the contents of .obv
files.
Newbie note: A fixed-wing aircraft's stick controls its roll (left or right deviation from center) and its pitch (forward or backward deviation from center), while its rudder pedals control its yaw, including nose wheel steering. The rotational force of the roll, pitch or yaw increases the further from center these controls are moved by the pilot. So on the ground, you steer with your feet, not the wheel, which is actually called the yoke (if there is one—many airplanes use a vertical stick that pivots at the bottom instead of a yoke).
By default, the aircraft control stick is simulated via the joystick if its
device path is specified via the ‑js
program
argument and is successfully accessed; otherwise, the mouse is used.
The [D]
key's debugging display includes a line for stick state
including the X
and Y
coordinates where 0,0 is
neutral for roll and pitch, and corresponds to the center of ACM's X window,
where left side and bottom half numbers are negative. Remember cursor low
corresponds to stick back, elevator up, tail down, and nose up; while
cursor high corresponds to stick forward, elevator down, tail up, and
nose down.
ACM supports no input device like a joystick or mouse to control the
simulated aircraft's rudder pedals; instead, it uses the
[z]
(left), [x]
(center), and [c]
(right) keyboard keys.
The rudder deviation from center is increased via repeated presses of
the [z]
or [c]
key.
If z
has been pressed four times, [c]
must be
pressed four times to return the rudder to neutral (or one
[x]
key press will instantly center the rudder from whereever
it has been set).
Important: ACM's nose wheel steering is not tied to the rudder pedal keyboard keys as could be reasonably expected. The stick's roll axis control is used instead, for better or worse. Also, nose wheel directional control disappears above 50 knots (so be sure the stick is centered when passing through that velocity). If using the keystick, the sensitivity control applies to nose wheel steering.
The pilot may at any time toggle between the stick control default and the use of a keyboard stick facility that controls the roll and pitch axes in the same paradigm used for the rudder pedals as was desceibed in the Axis Control Section. Keyboard stick control uses the arrow keys:
[↑]
(stick forward)
[↓]
(stick back)
[←]
(stick left)
[→]
(stick right)
A red and yellow rectangle displays the position of the keyboard stick just as the X cursor visualizes the position of the mouse stick, and is designed to be used as a target to resynchronize the mouse cursor with the aircraft's control stick when ready to switch back to mouse control to ensure a gentle transition.
Transition between joystick/mouse and keyboard control is requested via
doubled [m]
key presses.
[PageUp]
and [PageDown]
have been redefined to increase/decrease the sensitivity of the
keyboard control stick,
where sensitivity defines the number of pixels moved by each
stick movement command,
a number between 1 and 128 inclusive.
Keyboard stick control uses the [End]
key to cycle
through the available sensitivity modes.
[PageUp]
/[PageDown]
key event increments/decrements the sensitivity by one
[PageUp]
/[PageDown]
key event doubles/halves the sensitivity
Display of the red and yellow keyboard cursor can be toggled off and on via
the [U]
key.
To change from the joystick/mouse to the keystick:
[m]
key twice within two seconds.
[D]
key's debugging display for the X
and
Y
coordinates and set the stick for take-off. X (roll)
will always be 0, but Y (pitch) varies by aircraft and personal preference.
However, Y=-160 with S (sensitivity) at either 16 or 32 is a good beginning.
To change from the keystick back to the joystick/mouse, move the X cursor
to the center of the red and yellow rectangle, then press [m]
twice within two seconds. The rectangle will disappear signifying the
stick is now controlled by the joystick/mouse.
Pilot commands are trigger events associated with a particular action to be immediately taken by ACM. Events consist of
PageUp
, PageDown
, and
arrow keys ("key stick")
[CapsLock]
[NumLock]
[Shift]
[Ctrl]
[Alt]
[BackSpace]
The command events are divided into these sections of event similarity
(when necessary, the suffixes [KeyBoard]
and
[KeyPad]
will be used to clarify ambiguous keys):
[NumLock]
is active are considered to be named in the form
[NumLockdigit]
where digit is the unshifted
; i.e., numeric, character
Digit0-9
; means the numeric values of the row
keyboard keys above the QWERTYUIOP
row—not the
keypad numeric keys
Uppershifted_value
; e.g., UpperX
means a capitalized (also called uppercase) X
Lowershifted_value
; e.g., LowerP
means an uncapitalized (also called lowercase) p
[JoyFront]
, (not known by Xlib
)
[JoyTop]
, (not known by Xlib
)
[MouseLeft]
, not [Button1]
[MouseMiddle]
, not [Button2]
[MouseRight]
, not [Button3]
Pilot commands without any
notations
should be understood to be available regardless of the compile
macros used by the ACM build process in the main piloting
mode of the program
(those keys and buttons handled by logic in
events.c
),
but not in the browse piloting mode (those events handled
by logic in browse.c
nor in the terminal
piloting mode handled by commands.c
(and terminal commands are multi-character strings triggered by
an [Enter]
press event that are listed in their own
section).
Also, all button and key commands are triggered only by press events
with the corresponding release event ignored except when
⇓ or ⇑ is appended to the event identifier.
Also note multiple command entries for the same event and/or action
are specified as needed with notes that define the environmental
considerations germane to the command.
JoyFront⇓ | ⇓ | Weapons, Open Fire | +j |
JoyFront⇑ | ⇑ | Weapons, Cease Fire | +j |
JoyTop | Weapons, Cycle | +j | |
MouseLeft | Stealth, Select Cockpit Item | ‑m | |
MouseMiddle⇓ | ⇓ | Weapons, Open Fire | |
MouseMiddle⇑ | ⇑ | Weapons, Cease Fire | |
MouseRight | Weapons, Cycle |
term create | ⏎ | New Player, Create | |
term help | ⏎ | Terminal Facility Commands, Display | |
term set | ⏎ | Internal ACM Variable, Modify | |
term v | ⏎ | V (Placard) Data, Display |
[AC] Coordinate Roll/Yaw (AutoCoordination), Toggle
permits the pilot to change the status of the [AC]
subsystem, which is initially disengaged.
Refer to the
“[AC] Coordinate Roll/Yaw (AutoCoordinate)” section
for complete information about the subsystem.
|
UpperX | |
[AL] ILS Approach and Landing (AutoLanding), Toggle
permits the pilot to change the status of the [AL]
subsystem, which is initially disengaged.
Refer to the
“[AL] Land Using ILS (AutoLand)” section
for complete information about the subsystem.
|
UpperL | |
[AN] Navigate To VOR (AutoNavigate), Toggle
permits the pilot to change the status of the [AN]
subsystem, which is initially disengaged.
Refer to the
“[AN] Navigate to VOR (AutoNavigate)” section
for complete information about the subsystem.
|
UpperN | ‑b |
[AP] Adjust Rate of Climb By -100 FPM (AutoPilot)
permits the pilot to reduce the target rate of climb of the [AP]
subsystems when it is engaged by approximately one hundred feet per minute.
Refer to the
“[AP] Hold Altitude/Rate of Climb (AutoPilot)” section
for complete information about the subsystem.
|
Percent | |
[AP] Adjust Rate of Climb By -1 FPM (AutoPilot)
permits the pilot to reduce the target rate of climb of the [AP]
subsystems when it is engaged by approximately one foot per minute.
Refer to the
“[AP] Hold Altitude/Rate of Climb (AutoPilot)” section
for complete information about the subsystem.
|
Digit5 | |
[AP] Adjust Rate of Climb By +1 FPM (AutoPilot)
permits the pilot to increase the target rate of climb of the [AP]
subsystems when it is engaged by approximately one foot per minute.
Refer to the
“[AP] Hold Altitude/Rate of Climb (AutoPilot)” section
for complete information about the subsystem.
|
Digit6 | |
[AP] Adjust Rate of Climb By +100 FPM (AutoPilot)
permits the pilot to increase the target rate of climb of the [AP]
subsystems when it is engaged by approximately one hundred feet per minute.
Refer to the
“[AP] Hold Altitude/Rate of Climb (AutoPilot)” section
for complete information about the subsystem.
|
AsciiCircum | |
[AP] Hold Altitude (AutoPilot), Toggle
permits the pilot to change the status of the [AP]
subsystem, which is initially disengaged.
This action is very similar to the
[AP] Hold Rate of Climb (AutoPilot), Toggle
pilot action.
When the [AP] is already engaged,
both actions simply disable it.
When the [AP] is disengaged, this action enables the
subsystem’s Hold Altitude capacity.
Enabling Hold Altitude causes [AP] to latch
the altitude at the moment of enabling and use that as the target,
regardless of the rate of climb at that moment.
Refer to the
“[AP] Hold Altitude/Rate of Climb (AutoPilot)” section
for complete information about the subsystem.
|
UpperZ | |
[AP] Hold Rate of Climb (AutoPilot), Toggle
permits the pilot to change the status of the [AP]
subsystem, which is initially disengaged.
This action is very similar to the
[AP] Hold Altitude (AutoPilot), Toggle
pilot action.
When the [AP] is already engaged,
both actions simply disable it.
When the [AP] is disengaged, this action enables the
subsystem’s Hold Rate of Climb capacity.
Enabling Hold Rate of Climb causes [AP] to latch
either the rate of climb or the altitude at the moment of enabling and
use that as the target objective, depending upon the rate of climb at
that moment—if it is between +100 FPM and ‑100 FPM,
the altitude will be targeted; otherwise,
the rate of climb will be targeted.
Refer to the
“[AP] Hold Altitude/Rate of Climb (AutoPilot)” section
for complete information about the subsystem.
|
UpperA | |
[AS] and Trim, Reset
permits the pilot to disable all [AS] subsystems
(with the exception of the [AC] roll/yaw coordinator)
and reset the elevator trim setting to neutral.
This action is intended as a “panic button” when complete
manual control of the aircraft is immediately required,
possibly as a result of battle damage.
|
Home
R7[Sun] |
+s +b |
[AT] Hold True Airspeed (AutoThrottle), Toggle
permits the pilot to change the status of the [AT]
subsystem, which is initially disengaged.
If the [AT] subsystem is already enabled, this action
simply disables it; otherwise, the subsystem is enabled and the
true airspeed of the aircraft at the moment of enabling becomes
the target velocity of the subsystem.
Refer to the
“[AT] Hold True Airspeed (AutoThrottle)” section
for complete information about the subsystem.
|
UpperT | |
[AW] [AN] [AL], Disable
permits the pilot to disable the [AW] subsystem,
which in turns forces the [AN] and
[AL] subsystems to also become disabled.
Refer to the
”[AW] Hold Turn/Wings Level (AutoWings)” section
for complete information about the subsystem.
|
Slash | |
[AW] Hold Wings Level (AutoWings)
permits the pilot to enable the [AW] subsystem
(or change its current objective if already enabled) to
not turn.
More precisely, when the Hold Wings Level capability is
enabled, getting and keeping the wings level becomes the
objective of the subsystem.
Refer to the
”[AW] Hold Turn/Wings Level (AutoWings)” section
for complete information about the subsystem.
|
Bar | |
[AW] Hold Left Turn 1.5°/Second
permits the pilot to enable the [AW] subsystem
(or change its current objective if already enabled) to
enter and hold a left turn at a heading change rate of 1.5°
per second.
Refer to the
”[AW] Hold Turn/Wings Level (AutoWings)” section
for complete information about the subsystem.
|
Comma | |
[AW] Hold Right Turn 1.5°/Second
permits the pilot to enable the [AW] subsystem
(or change its current objective if already enabled) to
enter and hold a right turn at a heading change rate of 1.5°
per second.
Refer to the
”[AW] Hold Turn/Wings Level (AutoWings)” section
for complete information about the subsystem.
|
Period | |
[AW] Hold Left Turn 3.0°/Second
permits the pilot to enable the [AW] subsystem
(or change its current objective if already enabled) to
enter and hold a left turn at a heading change rate of 3.0°
per second.
Refer to the
”[AW] Hold Turn/Wings Level (AutoWings)” section
for complete information about the subsystem.
|
Less | |
[AW] Hold Right Turn 3.0°/Second
permits the pilot to enable the [AW] subsystem
(or change its current objective if already enabled) to
enter and hold a right turn at a heading change rate of 3.0°
per second.
Refer to the
”[AW] Hold Turn/Wings Level (AutoWings)” section
for complete information about the subsystem.
|
Greater | |
[AW] Maximum Bank, Decrease
Reduces the maximum bank angle enforced by the [AW] system by
5 degrees unless it at already set to the minimum angle supported.
Refer to the
”[AW] Hold Turn/Wings Level (AutoWings)” section
for complete information about the subsystem.
|
ParenLeft | |
[AW] Maximum Bank, Increase
Increases the maximum bank angle enforced by the [AW] system by
5 degrees unless it at already set to the maximum angle supported.
Refer to the
”[AW] Hold Turn/Wings Level (AutoWings)” section
for complete information about the subsystem.
|
ParenRight | |
ACM, Exit (Self-Destruct)
permits the pilot to terminate the ACM session.
|
UpperQ | SG |
After‑Burners, Toggle
permits the pilot to change the status of the aircraft’s
engine after‑burners, if it is so equipped.
This subsystem feeds fuel into the engine exhaust to
significantly increase thrust but at a dramatically
increased rate of fuel flow.
After‑burners can be active at any throttle setting.
When after‑burners are enabled, the digital
percentage displayed within the RPM Gauge will have an
AB suffix,as seen in the
screenshot with the classic panel
showing 100AB vis-à-vis the
screenshot on the front page
showing just 41 ).
|
LowerA | |
Altimeter Correction, Decrease
permits the pilot to adjust the aircraft’s altimeter
pressure lower to synchronize it with the surface atmospheric
pressure.
While in a real aircraft this is a real need, in ACM to date,
the surface pressure never varies, so this is not a useful
pilot action at this time.
The pressure setting is displayed digitally within the classic
panel’s altimeter, as seen in
screenshot with the classic panel
showing 29.92 and 1013 for the two
unit measures supported by the instrument.
|
F7 | |
Altimeter Correction, Increase
permits the pilot to adjust the aircraft’s altimeter
pressure higher to synchronize it with the surface atmospheric
pressure.
While in a real aircraft this is a real need, in ACM to date,
the surface pressure never varies, so this is not a useful
pilot action at this time.
The pressure setting is displayed digitally within the classic
panel’s altimeter, as seen in
screenshot with the classic panel
showing 29.92 and 1013 for the two
unit measures supported by the instrument.
|
F8 | |
Artificial Horizon, Cage (Reset)
permits the pilot to reset the aircraft’s artificial
horizon to zero pitch and roll.
Refer to the
“Artificial Horizon (Attitude & Bank)” section
for complete information about this classic panel instrument.
|
F9 | |
Artificial Horizon, Decrease Pitch
permits the pilot to raise apparent horizon within the
aircraft’s artificial horizon to synchronize it with
the true attitude of the aircraft.
Refer to the
“Artificial Horizon (Attitude & Bank)” section
for complete information about this classic panel instrument.
|
F11 | |
Artificial Horizon, Increase Pitch
permits the pilot to lower apparent horizon within the
aircraft’s artificial horizon to synchronize it with
the true attitude of the aircraft.
Refer to the
“Artificial Horizon (Attitude & Bank)” section
for complete information about this classic panel instrument.
|
F12 | |
Black Box, Replay Recording
|
BracketLeft | FIX +b |
Black Box, Start Recording
|
BraceLeft | FIX +b |
Black Box, Stop Recording
|
BraceRight | FIX +b |
Brakes, Toggle
permits the pilot to change the status of the aircraft’s
brakes.
Initially they are activated if the aircraft is created on the
ground; otherwise, they are inactive.
All aircraft only support brakes on the main wheels without
individual control so both sides always brake evenly.
Also, the brakes are either on or off—there are no degrees
of braking, making control of non‑tricycle undercarriages
extremely problematic.
When the brakes are active, the BRAKES panel light
is lluminated, as seen in the
screenshot with the classic panel after an ILS landing.
|
LowerB | |
Browse, View Next Level
|
Next |
‑m |
Browse, View Previous Level
|
Prior |
‑m |
Control Stick Mode, Toggle
permits the pilot to change the mode of mapping computer inputs into
the aircraft’s control stick, initially set to use joystick or
mouse movements.
This capability is designed for airborne use but carelessness
regarding synchronization of the mouse position with the keystick
(keyboard stick) position can cause catastrophic control stick changes
when switching from keyboard mode to mouse mode.
The proper approach is to move the X mouse cursor
(likely a crosshair graphic) to the center of the red and yellow square
keystick cursor as shown in the
screenshot on the front page
prior
to switching to mouse control.
Refer to the
“Keystick Facility” section
for more information.
|
LowerM | SG |
Debug (GPS) Display, Toggle
permits the pilot to toggle the display of quelque chose
in the upper left of the screen; e.g.,
F-16
The
The
For other details of this display, refer to the |
UpperD | DIS |
Debug Mode, Toggle
|
Semicolon | FIX +b |
Drone Control Mode, Toggle
|
Dollar | DIS |
Drone, Launch
|
LowerL | |
Elevator, Trim To Current Pitch
|
LowerJ | |
Flaps, Extend One Notch
|
LowerH | |
Flaps, Retract One Notch
|
LowerY | |
Flight Data File, Restore
|
UpperI | FIX |
Flight Data File, Save
|
LowerI | FIX |
Hint, Display Current
|
NumLock3 | |
Hint, Display First
|
NumLock9 | |
Hint, Display Next
|
NumLock1 | |
Hint, Display Previous
|
NumLock7 | |
HSI/ADF Frequency, Decrease
|
Digit9 | |
HSI/ADF Frequency, Increase
|
Digit0 | |
HUD Brightness, Cycle
|
UpperB | |
HUD Color, Cycle
|
UpperC | |
HUD/Instrument Panel Display, Toggle
|
UpperH | |
Internal ACM Variable, Modify
|
term set | |
Joystick, Calibrate
|
UpperK | SG +b |
Keystick, Backward One Notch
|
Down | ‑s +b |
Keystick, Forward One Notch
|
Up | ‑s +b |
Keystick, Leftward One Notch
|
Left | ‑s |
Keystick, Rightward One Notch
|
Right | ‑s |
Keystick Cursor Display, Toggle
|
UpperU | |
Keystick Sensitivity, Decrease
|
PageDown
R5[Sun] |
+s |
Keystick Sensitivity, Increase
|
PageUp
R2[Sun] |
+s |
Keystick Sensitivity Mode, Cycle
|
End | |
Landing Gear, Toggle
|
LowerG | |
Magnetic/True Mode, Toggle
|
UpperM | |
NAVAIDs, Cycle
|
Space | |
New Player, Create
|
term create | |
OBS/ADF Heading, Decrease
|
Digit7 | |
OBS/ADF Heading, Increase
|
Digit8 | |
RNAV Distance, Decrease
|
F5 | |
RNAV Distance, Increase
|
F6 | |
RNAV Radial, Decrease
|
F3 | |
RNAV Radial, Increase
|
F4 | |
Radar Targets, Cycle
|
LowerQ | |
Radar With DIS Beam Change, Cycle
|
UpperR | DIS |
Radar Without DIS Beam Change, Cycle
|
LowerR | |
Reverse Thrusters, Toggle
|
ExclamationPoint | |
Rudder, Center
|
LowerX | |
Rudder, (Nose) Leftward
|
LowerZ | |
Rudder, (Nose) Rightward
|
LowerC | |
Screen, Dump Using xwd
|
UpperP | ‑b |
Screen, View Backward
|
Down
NumLock2 |
+s
+b
‑s +b |
Screen, View Chase/Forward, Toggle
|
UpperN
LowerN |
+b
‑m |
Screen, View Downward
|
NumLock0 | +b |
Screen, View Forward
|
Up
NumLock8 |
+s
+b
‑s +b |
Screen, View Leftward
|
Left
NumLock4 |
+s
+b
‑s +b |
Screen, View Rightward
|
Right
NumLock6 |
+s
+b
‑s +b |
Screen, View Upward
|
R11[Sun]
NumLock5 |
+s
+b
‑s +b |
Screen, Zoom In One Notch
|
Plus[KeyBoard] | |
Screen, Zoom Out One Notch
|
Minus[KeyBoard] | |
Speed Brake, Extend One Notch
|
LowerS | |
Speed Brake, Retract One Notch
|
LowerW | |
Stealth, Absorb Damage
|
LowerO | SK ‑m |
Stealth, Call killPlayer((FIXME))
|
UpperP
LowerP |
‑m
‑m |
Stealth, Select Cockpit Item
|
MouseLeft | ‑m |
Stealth, Switch To Next Player
|
Tab | SNP |
Terminal Facility, Toggle
|
F1 | |
Terminal Facility Commands, Display
|
term help | |
Throttle, Full and Disable All [AS] Except [AC]
|
Digit4 | |
Throttle, Idle and Disable All [AS] Except [AC]
|
Digit1 | |
Throttle or [AT] Airspeed, Decrease
|
Minus[KeyPad]
Digit2 |
|
Throttle or [AT] Airspeed, Increase
|
Plus[KeyPad]
Digit3 |
|
Timer, Cycle (Start|Stop|Reset)
|
LowerT | |
V (Placard) Data, Display
|
term v | |
Weapons, Cycle
|
JoyTop
MouseRight UpperV |
+j |
Weapons, Cease Fire
|
JoyFront⇑
MouseMiddle⇑ LowerV⇑ |
+j |
Weapons, Open Fire
|
JoyFront⇓
MouseMiddle⇓ LowerV⇓ |
+j |
X‑windows Inputs, Toggle
|
LowerD |
General
g Landing gear up/down
b Wheel brakes on/off
h Flaps down 10 degrees
y Flaps up 10 degrees
s Deploy speed brakes 1 step (one or more steps, depending on the aircraft model)
w Retract speed brakes 1 step (one or more steps, depending on the aircraft model)
t Start/stop/reset the timer display
z Rudder step left
x Rudder centered
c Rudder step right
l Create a drone opponent aircraft (DIS protocol MUST be enabled).
d Detach commands from the ACM window, so that you can leave the ACM window in background.
+ Zoom in.
− Zoom out.
Shift-H Toggle between HUD and “classic instruments”.
Shift-M Switch between MH (default) and TH indication (see HUD and HSI sections).
Shift-P Print screen shot to the file
/tmp/acm‑dump‑*
Shift-K Calibrate joystick
Shift-$ Play like a drone (toggle).
Shift-Q Shift-Q Quit the simulation. NOTE: press two times!
Autopilot Systems [AS]
Shift-A Engage/disengage the auto‑pilot in hold altitude mode or in hold climb rate mode (see The Auto‑pilot for details).
Shift-Z Engage/disengage the auto‑pilot in hold altitude mode (see The Auto‑pilot for details).
Shift-T Engage/disengage the auto‑throttle (see The Auto‑throttle for details).
Shift-X Engage/disengage the rudder/aileron auto‑coordinator (see The Auto‑coordinator for details).
Shift-N Engage/disengage the auto‑navigator (see The Auto‑navigator for details).
Shift-L Engage/disengage the auto‑landing (see The Auto‑landing for details).
Shift-( Decrease maximum bank angle.
Shift-) Increase maximum bank angle.
Home Release all the auto‑pilot sub-systems, with the only exception of the auto‑coordinator.
Views
View buttons are located on the PC’s numeric keypad.
KP8 Forward view
KP2 Rear view
KP4 Look Left
KP6 Look Right
KP5 Look Up
KP0 Look Down
n Chase view (this view button is not located on the numeric keypad)
Mouse and Mouse Buttons
Move left/right move ailerons to control the roll left/right
Move forw/backward move elevator to control the pitch
Left button select DIS entity in browse mode (not working yet)
Central button fire with the selected weapon
Right Button select a weapon
Joystick Buttons
Button2 (top) Select weapon (Sidewinder IR missile or 20mm cannon)
Button1 (front) Fire selected weapon
Classic instruments
Shift-H Toggle between HUD and “classic instruments”.
F7,F8 Adjust altimeter isobaric reference level from 28 to 31 inHg.
F9 “Caging” button: forces alignment of attitude gyro with its case.
F11,F12 Adjust pitch of the symbolic airplane in the attitude indicator.
Radar
r Select radar/HSI/ADF/off mode
Shift-R Toggle Radar/HSI Mode (Standby, Normal, ACM 20x30, STT, HSI‑mode) (also Button3 on Microsoft Sidewinder Joysticks)
q Break Lock -- track a different target (also Button4)
Engine control
The meaning of the keys change when the the auto‑throttle is enabled. See The Auto‑throttle for details.
1 Engine Idle
2 Decrease Power
3 Increase Power
4 Full Power
a Toggle Afterburner (if available)
SHIFT-! Deploy/retract thrust reverse (if available)
IMPORTANT. The thrust reverse device can be deployed only with engine commanded idle (throttle lever below 25%).
Auto‑turn
The auto‑turn automatism helps the pilot to keep the desired standard rate of turn of 1.5 or 3.0°/s. Enabling the auto‑turn, also the AC is enabled. This is an experimental feature mainly intended for flight test purposes. It might be removed or otherwise changed in future releases of the program.
< (less than) Set left turn rate 3.0°/s
, (comma) Set left turn rate 1.5°/s
> (greater than) Set right turn rate 3.0°/s
. (period) Set right turn rate 1.5°/s
| (vertical bar) Set turn rate 0°/s
/ (slash) Disable auto‑turn (see also key Home)
Trim
Trim buttons may be pressed until the desired trim is attainedj Adjust elevator trim to the current pitch command
Home Reset elevator and ailerons trim, disable auto‑pilot, auto‑throttle, auto‑navigator, auto‑landing and auto‑turn
HSI receiver control
Press r until the HSI gets displayed.
SPACE Switch between NAV1/NAV2/RNAV1/.../RNAV5 receivers.
9,0 Set station frequency
7,8 Set OBS
F3,F4 Set RNAV radial of the WP (only in RNAV mode)
F5,F6 Set RNAV distance of the WP (only in RNAV mode)
ADF receiver control
Press r until the ADF gets displayed.
9,0 Set station frequency
7,8 Move rotatable heading needle
The upper-right corner of the window displays the magnetic compass, simulated by the program mostly for didactical purposes. The compass card contains the magnets and it is mounted on a small pivot point located above its center of mass. This allows the compass card to rotate freely and to float as a pendulum by a maximum of +/−18° in pitch and roll following the direction of the apparent vertical line. Above this angular limit the compass touches the side of the casing and its indication becomes unreliable.
The magnetic compass
The magnetic compass does not simply indicate the magnetic heading (MH) of the aircraft, but instead it moves and rotates under the dynamic and magnetic effects. By definition, the magnetic north is the direction of the magnetic field vector projected over the local horizontal plane. That’s why the magnetic compass card has to be as close as possible to the horizontal plane in order to align its magnets with the horizontal component of the magnetic field.
When the aircraft is at rest on the runway, or it is flying in stright, level flight at constant speed, the compass card is perfectly parallel to the horizon, an it rotates until it is perfectly aligned with the horizontal component of the Earth magnetic field. On the contrary, when the aircraft is turning or otherwise accelerating, the compass card deviates from the expected MH even more than 30 degrees under the effect of the vertical component of the magnetic field.
The compass cards displayed by the others instruments (HSI, ADF and HUD) are feeded by the flux gate sensor and each stabilized by its own gyroscope. The MH indicated by these instruments does not suffer from the the deviations of the magnetic compass. In cases of instrument failure, turns based on the magnetic compass have to be timed, because the magnetic compass cannot provide a valid reference for the final heading. For example, starting from MH=east and having to rotate at MH=north, the pilot shall perform a standard left turn at 3°/s for exactly 30 seconds.
For details about the implemented model of the Earth magnetic field and
for references, see the source src/magnetic_compass.c
.
Press Shift-H to alternate between the HUD and the classic instruments panel. The classic instruments panel mimics the instrumental equipment of a typical light aircraft, as the Cessna 172‑RG. The program does not simply reproduce the same information already shown by the HUD, but it tries to emulate also errors and limitations introduced by these instruments and that makes the job of the pilot even harder. In the following we will describe each instrument and its properties from left to right. The interested reader should refer to the aeronautical literature for more information about their proper usage.
Screenshot with the classic instrument panel
In the classic instrument mode the HSI and ADF always indicate the MH, as the compass card of these instruments is driven by the flux gate sensor. In the HUD mode, on the contrary, the HSI and ADF are driven by the inertial platform and are able to indicate both TH and MH.
Turn and Slip Indicator
The pointer moves indicating the rate of turn around the vertical axis of the aircraft. Normally the aircraft z axis is very close to the geodetic vertical, so that the indicated value is nearly equal to the actual yaw rate. At high roll angles or high bank angles, this is not strictly true and small differences between the actual yaw rate and the indicated value may arise.
The central mark of the turn indicator indicates zero turn rate, while the other marks indicates 1.5°/second and 3.0°/second turn to the left or to the right.
Below the turn rate indicator there is a curved glass containing a little ball. This ball moves from the central position under the action of a lateral acceleration, typically as a consequence of an uncoordinated turn.
Airspeed Indicator
It indicates the true airspeed (TAS) on a non-linear scale. The scale ranges from 40 kt up to 550 kt, with division of 10 kt up to 150 kt, and division of 50 kt afterward.
Artificial Horizon (Attitude & Bank)
This instrument nominally displays the aircraft’s pitch and the roll situation. Inside this instrument there is a gyro whose axis is parallel to the local apparent vertical direction.
An erection system (slowly) forces the axis to move following this vertical, but this alignment process can take some time, typically from 2 to 5 minutes, depending on the amplitude of the misalignment. Accelerations produced by speed changes (takeoff) and prolonged turns can misalign the gyro. To prevent that misalignment, the erection system gets disabled if the measured acceleration differs from the expected “g” value +/‑2%. That it means, for example, that turning with angles of bank greater than 12° will not disturb the alignment.
The gyro can follow the aircraft movements up to +/‑70° angles of bank and pitch. Above this limit the gyro will hit the internal lock, tumbling abruptly and loosing its alignment. For this reason the pilots has also a “cage” knob (F9) that forces the alignment of the gyro with its case, speeding-up the following fine alignment performed by the erection system. The “cage” knob is also useful to fast align the gyro at the start of the program.
The orientation of the gyro is represented to the pilot as a ball. Over this ball are drawn the horizon line and several pitch marks separated by 5° up to +/‑30°. The stylized figure of a little aircraft’s wings can be moved up and down by the pilot (F11, F12) so that it becomes aligned with the line of the horizon. This adjustment should be performed in level flight at constant speed so to indicate zero pitch. Once so adjusted, the indicated pitch will match the angle of climb as indicated by the flight path marker of the HUD, provided that these maneuvers are performed at the same airspeed at which that adjustments was made.
A triangle indicates the angle of bank, at steps of 10, 20, 30, 60 and 90 degrees. This triangle moves in the opposite direction of the horizon, so to indicate the actual direction of the turn.
Altitude Indicator
This instrument indicates the altitude. The digital display shows the flight level (bigger digits) followed by the two less significant digits of the current altitude. The pointer indicated tens feet. Since in
ACM‑5.0‑ico
the atmospheric conditions are always stable and equal to the standard atmosphere, the indicated altitude is also the actual altitude over the sea level.By default the altimeter indicates the standard pressure altitude (29.92 inHg) but you can change the isobaric level of reference pressing F7 and F8.
For negative altitudes, the instrument passes from 0 to 99990 ft, then 99980 ft and so on.
Vertical Speed Indicator (VSI)
It indicates the rate of change of the altitude from −4000 ft/min up to +4000 ft/min. This instrument has a lag of about 3 seconds, so it takes some time before it stabilizes to the actual vertical speed. Changes in altitude should then be made with the aid of the attitude indicator: first, move the aircraft to the expected pitch, then look at the VSI for fine adjustement of the desired vertical speed rate.
Flying with the classic instruments panel may be challanging at first because there is some delay between pilot’s input and the actual feedback from the instruments. Things get simpler if you accurately plan every maneuver before starting any action. The two rules below should help:
Bank rule To attain the standard rate of turn of 3°/s on a coordinated turn, first calculate the required angle of bank as given by this approximated formula:
bank = 0.15 * airspeed
For example, at 100 kt the angle of bank is 15°. You can calculate easily this value taking the airspeed, dropping the last digit and then adding half of its value. Then roll-in at this angle of bank looking at the attitude indicator: once the aircraft starts to turn, adjust the rate looking at the turn indicator.
Pitch rule Keepig a given airspeed, changes in vertical speed are related to changes in pitch angle by this approximated formula:
vertical_speed_change = 2 * pitch_change * airspeed
For example, flying at 100 kt, every degree of pitch change will result in a change of about 200 fpm of vertical speed. Use the pitch scale of the attitude indicator to move the aircraft’s nose to the expected pitch angle. Then, some seconds later, the VSI will indicate the actual vertical speed so achieved allowing to fine-tuning the pitch.
The Head‑Up Display (HUD) is a collection of indicators that permits pilots to focus their attention on what’s going on outside of the cockpit. These indicators are projected onto a flat pane of glass located near the windscreen. Much of the information is displayed graphically to give the pilot a quicker understanding of the immediate situation.
The Head‑Up Display
Four tape-style “ladders” display basic flight information. On the left, is the aircraft true airspeed (TAS). Each minor tick on the airspeed ladder represents 10 nautical miles per hour (also known as knots and abbreviated “kt”).
On the right is the altitude over the sea level (MSL). Each tick represents 100 feet. A rate‑of‑climb readout is located just below this ladder; rate‑of‑climb is expressed in feet per minute.
In the lower center is a horizontal heading ladder. Each tick represents five degrees.
In the center is an attitude ladder. Each line corresponds to ten degrees of aircraft pitch. The ladder rolls as the aircraft does, providing an artificial horizon.
The compass displays the the true heading (TH, default) or the magnetic heading (MH). Press Shift-M to switch between the two modes. The HSI displays the mode currently selected. Implementation note: the local magnetic variation is that of the nearest NAVAID station or ILS station.
The
ACM HUD has two indicators to give the pilot cues as to the planes
current angle of attack and sideslip. First, above the altitude
ladder, is a readout of the plane’s current angle of attack in
degrees. The ACM F‑16 will stall at a positive angle of 30 degrees
and a negative angle of ‑30 degrees.
Additionally,
a plane-shaped “flight path marker” indicates the
aircraft’s current direction of travel. Level flight occurs when the
flight path marker is aligned with the zero‑ degree artificial
horizon line.
A readout of the current vertical G‑force on the pilot is located above the airspeed ladder.
Below the throttle indicator are discretes that show the state of the currently selected weapon system.
The turn and slip indicator
The turn and slip indicator displays the yaw rate and the lateral acceleration. The triangle indicates the standard rates of turn of 1.5°/s and 3°/s. The vertical bar indicates the lateral acceleration, every tick being 0.25 g. The left part of the figure above illustrates a left turn at 3°/s with about 0.4 g of lateral acceleration (uncoordinated turn). The right part of the figure illustrates a coordinated turn without lateral acceleration. Coordinated turns are obtained combining ailerons and rudder.
The Mach number is the ratio between the airspeed and the spedd of the sound at the current altitude. The table below shows the speed of the sound at some typical altitudes:
Altitude (ft) | Speed of the sound (kt) |
---|---|
0 | 659 |
10000 | 640 |
20000 | 615 |
30000 | 590 |
The Mach number appears only when the speed is at least 0.20 Mach at the current altitude.
At low altitude, below 2500 ft over the terrain, the radar altimeter scale is displayed. The radar altimeter shows the distance in hundreds of feet between the terrain and the wheels of the main gear.
The Horizontal Situation Indicator, or HSI, is a nifty device to aid in instrument flying. It receives and displays VOR/DME stations and ILS stations. The compass card of the instrument gets automaticcaly oriented toward the magnetic north. A sensor of the earth magnetic field (also known as flux gate) detects the orientation of the magnetic north. A gyroscope provides short term stability while the aircraft is maneuvering and, when in level flight, the flux gate provides the correction to the gyroscope drift. The result is an instrument that provides highly accurate aircraft heading in both turning and straight flight, without a requirement for the pilot to manually adjust for drift as in a standard directional gyro.
NOTE. Instruments mounted on the real aircrafts have both the slave mode (as described here) and the free mode. When the pilot selects this latter mode, the flux gate gets disabled (for example because a failure) and the HSI operates simply as a directional gyro that needs to be manually aligned with the magnetic compass.
In ACM‑7.0‑dlc the HSI system occupies two slots of the instrument panel: the left slot is the control panel and the right slot is the HSI display. The HSI panel receives radio signals from VOR, DME, LOCATOR and GS stations, it elaborates all these informations and then it feed the HSI display.
To save space on the sceen, these two panels share the same space with the ADF receiver and the radar system. Use the r key to change radar/ADF modes until the HSI is displayed.
The HSI control panel. It displays several informations. Mode can be NAV1, NAV2, RNAV1, ..., RNAV5. These modes will be described below in separated paragraph. There are two independent NAV1 and NAV2 receivers and five RNAV calculators. Use the SPACE to switch between NAV and RNAV modes.
FRQ is the frequency of the station, as selected by pilot (9, 0).
Once the station has been selected and properly tuned, the receiver starts listening for the signal emitted from the station that can provide also its name displayed in STA (station name).
If the station provides also a distance measurement equipment (DME) this distance gets displayed.
The RAD and DST fields are meaningful only in RNAV mode and are described in the respective paragraph.
The HSI display. In the TH mode (the default, as shown in the figures below) the indicated north is the geographic north. In the MH mode (Shift-M) the indicated north is the magnetic north. The TH mode is mainly useful for estimated navigation based on geographic charts, since these maps are always oriented toward the geographic north pole. The MH mode is the preferred mode for aeronautical navigation, since all the angular indications (VOR, ILS and runways headings) are always referred to the local magnetic north.
The curse deviation indicator (the purple segment at the center of the display) gets displayed only if the corresponding radio signal is correctly received. The slope deviation indicator (the purple arrow to the right of the display) gets dislayed only if the corresponding signal is correctly received.
Use the 7 and 8 keys to orient the Omni Bearing Selector (OBS). The OBS displays the digital value of the selected direction.
In NAV mode the HSI displays the VOR/DME bearing, angular deviation (CDI) from the selected radial (OBS) and distance DME.
The HSI tuned on a VOR/DME station in NAV mode
Having two NAV receivers is very useful, both for navigation and to approach the runway. For example, we can tune NAV1 on the VOR station we are leaving and NAV2 on the station we are going to. Or, we can tune NAV1 on the terminal-VOR of the airport, and NAV2 on the ILS station.
The frequency of a VOR station ranges from 108.x0 MHz up to 111.x5 MHz with x being an even digit 0, 2, 4, 6, 8 for terminal VOR, and from 112.00 MHz to 117.95 MHz for en‑route VOR.
The signal range of a terminal VOR is about 40 NM, and the range of an en‑route VOR is about 200 NM due to the limited power emitted by these stations. Moreover, electromagnetic signals at hight frequency (100 MHz and more, as those emitted from VOR stations are) propagates in a direct line of sight. Because of the curvature of the Earth, the range at which the signal can be received may be even more limited depending on the current altitude of the aircraft:
range = K * (sqrt(station_altitude) + sqrt(aircraft_altitude))
where the altitudes are expressed in feet and the resulting distance in NM. The value of the constant K in the formula above is K=1.064 as you can easily prove with simple geometrical considerations assuming the Earth to be a sphere of radius R=3438 NM. Then, for example, if the altitude of the station is 500 ft and the altitude of the aircraft is 4000 ft, the signal cannot be received beyond the distance of 91 NM.
The Earth is round and radio signals at high frequency (100+ MHz) propagate in stright line |
Every dot of the CDI scale indicates a deviation of 1.7° from the selected radial. For stations providing a DME, the distance from the selected radial is given by this simple formula:
distance_from_radial = distance_from_DME / 100 * 3 * CDI
For example, if the distance from the DME station is 20.0 NM and the CDI indicates 2 dots, then the distance from the selected radial is 20/100*3*2=1.2 NM.
In NAV mode, also ILS stations can be tuned.
The HSI tuned on a ILS station
The frequency of ILS stations ranges from 108.x0 MHz up to 111.x5 MHz, with x being an odd digit 1, 3, 5, 7, 9.
An ILS station can be received up to the distance of about 18 NM and in a range of +/‑50° from its bearing angle.
Every dot of the CDI scale indicates a deviation of 0.4° from the LOCATOR plane (not the deviation from the OBS, but the pilot can still select an OBS for its own reference). Every tick of the glide slope scale indicates a deviation of 1° from the glide path angle of the ILS station (typically 3°).
The RNAV calculator can store up to 5 waypoints (WP). The pilot enters the WP in the RNAV calculator in polar coordinates (radial RAD and distance DST) referred to some VOR/DME station, along the frequency of the VOR/DME station itself.
The HSI tuned on a VOR/DME station in RNAV mode—
the waypoint is set at radial 75, distance 24.5 NM from the VOR/DME
NOTE: bare VOR stations and ILS stations cannot be tuned in RNAV mode.
Once the control panel has been set, the RNAV calculator feeds the HSI display with angular deviation and distance from the selected waypoint (WP). Then the pilot can fly toward the WP just like if it were a “phantom” VOR/DME station. The DME field of the control panel displays the distance from the WP (not the distance from the VOR/DME station used as reference).
A “phantom” VOR/DME guides the aircraft along the route from A to WP and then from WP to B
Press the r several times until the ADF receiver gets displayed. The compass card of this instrument is automatically aligned with the magnetic north tanks to the signal provided by the flux gate, and stabilized with a gyroscope.
The ADF occupies two slots of the instrument panel: the left slot is the ADF panel were the frequency and the ID of the NDB station gets displayed; the right slot is the ADF display that shows the magnetic bearing of the NDB station.
The ADF control panel (left) and bearing indicator (right)
Tune the desired station pressing 9 and 0.
In the real world the range of the NDB signal depends on many factors. In ACM‑7.0‑dlc this range is set to 100 NM for navigation NDB stations, and 20 NM for instrumental approach stations (OMARKER, MMARKER, IMARKER).
[AS]
Autopilot Systems
The autopilot systems (referenced as a group via [AS]) consists of several functional blocks, each one taking control of some flight parameter. The relations between blocks are indicated in the diagram below. Every block can be engaged or disengaged by the pilot independently from the others blocks, with the only exception of AW and AP that might be required by AN and AL.
In a emergency, the [AS] can be disabled (along with the elevator’s trim setting) by pressing the Home key.
Block diagram of the Autopilot Systems [AS]
The acm-5.0-ico
release continued using the original APS acronym to connote the
group of systems acm-7.0-dlc
identifies as [AS]. The following paragraph goes back to
Riley Rainey.
A note about the terminology: “APS” is the whole system of auto‑piloting, while the “AP” is the sub‑block that controls only the altitude or the climb rate. Perhaps the AP should had been split into two independent blocks performing “hold altitude” and “hold climb rate”, so resolving the ambiguity. This can be a change left to the future releases of the program.
This paragraph is retained because APS is still widely used in the source code.
[AC]
Coordinate Roll/Yaw (AutoCoordinate)
Controlling the rudder through the keyboard and without a physical feedback of the lateral acceleration is really difficult, so often compromising the precision of the maneuver on coordinated standard turns.
The auto‑coordinator (AC) feature allows the rudder to be controlled by the
program in order to cancel the lateral acceleration, indicated by the slip
indicator. The AC can be enabled/disabled pressing Shift-X. Once
enabled, a little AC
gets displayed to the side of the slip indicator
(or the Coord
light in classic instruments mode)
and all the turns are automatically coordinated.
A good way to do a standard turn in AC mode is bringing the aircraft to the expected bank angle, then checking the turn rate indicator for the expected turn rate. The figure below plots the expected bank angle vs. the current true air speed for 1.5°/s and 3.0°/s standard rates of turn.
Bank angle versus TAS
The arrows keys are very useful to do little heading corrections in AC mode, for example to align the aircraft to the runway. Larger turns can be done simply moving the mouse.
The keys z c that control the rudder are still enabled, but not really effective. You may use them for even finer heading corrections.
[AW]
Hold Turn/Wings Level (AutoWings)
The auto‑turn block (AW) control the rate of the turn and it is mostly used by the AN and AL. The pilot can engage manually the AW to perform standard turns at 1.5 and 3°/s or also 0°/s to keep the current heading. The involved keys are:
<
turn left at 3°/s
,
(comma) turn left at 1.5°/s
|
(vertical bar) stop turning and hold heading
.
(dot) turn right at 1.5°/s
>
turn right at 3°/s
/
disengage the AW
The MAX BANK
knob set the maximum bank limiter, chosen between 15, 20, 25, 30
and 35 degrees. The AW will never exceed this value.
The default value for all aircraft is 25.
When the AW is enabled, a little round circle gets displays into the turn‑and‑slip indicator giving the feedback of the turn speed the AW is aiming to (see the figure to the right).
[AP]
Hold Altitude/Rate of Climb (AutoPilot)
The auto‑pilot (AP) helps the pilot keeping a given rate of climb or a given altitude. When engaged, the AP adds a correction term to the current elevator control that can grow up to the 50% of the full elevator control range:
elevator_setting = pilot_setting + AP_correction_term
Even when the AP is engaged, the pilot preserve the ability to control the aircraft, while the AP will try to do its best to keep constant the controlled parameter. When engaged, the “AP” icon is present in the HUD.
Engaging the AP to hold the altitude. Once the desired altitude has been attained, engage the AP via the Shift-Z key. The AP will capture the current altitude and will use this value as a reference to calculate the elevator correction. The rate of climb must be near to zero +/− 100 ft/min.
Engaging the AP to hold the rate of climb. Once the desired rate of climb has been attained, engage the AP via the Shift-A key. The AP will grab the current rate of climb and will use this value as a reference to calculate the elevator correction. The rate of climb must be greater than +100 ft/min or less that −100 ft/min.
Changing the target rate of climb. Once the AP's rate of climb function has been activated, four keys can be used to adjust the target rate of climb. Press 5 or 6 to decrease or increase respectively the rate of climb by approximately one foot per minute (these are for performing very fine tuning. The shifted values of these keys, % and ^, multiply the unshifted change value by 100.
Disengaging the AP. Press Shift-A or Shift-Z. The elevator correction term will be released smoothly within 3 seconds, restoring the full control of the elevator.
AP alarm. When the AP correction grow beyond the 25% of the full elevator control range, the
AUTOPILOT
displayed in the HUD (or thePilot
light in classic instruments mode) will blink. In this case the intervention of the pilot is required. Adjust the pitch or the engine power until the alarm disappear.
AP limitations:
‑ max vertical acceleration: +/‑ 0.1 g
‑ hold altitude mode, max vertical speed: +100 fpm
‑ hold altitude mode, min vertical speed: ‑1000 fpm
‑ disengaging the AP, smooth release of the elevator within 3 s
[AT]
Hold True Airspeed (AutoThrottle)
The auto‑throttle (AT) controls the engine thrust in order to hold a
given true airspeed (TAS), limiting the acceleration to the range ‑0.5g
.. +0.1g. When the selected TAS cannot be attained, the pilot is warned
by the blinking ATxxx
in the HUD (or the blinking light Thr
in classic
instruments mode).
The AT can be engaged/disengaged pressing Shift-T. When enabled,
the current TAS is grabbed and used by the AT as the target speed.
The value of the current target speed is displayed in the HUD to the
right of the speed scale. For example, the indication AT120
means that
the target TAS is 120 kt.
When the AT is enabled, the buttons that normally control the engine change their meaning as follow:
1 disable the AT device and sets the minimum thrust (25% RPM).2 decrease the target TAS by 5 kt.
3 increase the target TAS by 5 kt.
4 disable the AT device and the AP and sets the maximum thrust (100% RPM).
Press Shift-T again to disengage the AT keeping the current throttle setting.
[AN]
Navigate to VOR (AutoNavigate)
The auto‑navigator (AN) allows to follow the radial indicated by the OBS set into the HSI panel. Once enabled, the AN automatically compute a proper approaching route bringing to the radial, then it maintain this radial. Ailerons and rudder are controlled in order to correct the magnetic heading of the aircraft according to an algorithm explained below.
Enabling the AN To enable the AN follow these steps:
AutoNav
gets displayed in the HUD
(or the Nav
light in the classic instruments panel).The approaching path. The AN computes the path bringing to the chosen radial. Normally an approaching angle of OBS+45° gets chosen if the aircraft is located to the left of the radial (point A of the figure) otherwise an heading of OBS−45° gets chosen (point B of the figure). The aircraft then turns toward the heading so computed, either clockwise or counter-clockwise depending on the current heading. For example, if the target heading is 360° (north) and the aircraft is currently directed toward east, then the aircraft will begin to turn counter-clockwise 90°; if the current heading is west, then the aircraft will turn clock-wise. Every turn gets performed with angular speed up to +/−3°/s and a bank angle up to +/−25°.
When the CDI (angular deviation from the OBS) becomes less than 2°, or when the CDI starts moving (indicating that we are very close to the VOR station) the approaching angle gets diminished smoothly so that the aircraft reach the radial with a single turn. This simple strategy works well when the aircraft is far from the VOR, but for short distances (say, 5 NM or less) the aircraft gets forced in a sequence of rough turns, waving around the radial. Because of this limitation the AN should always be disabled below 5 NM from the VOR.
Disabling the AN. The AN can be disabled intentionally pressing Shift-N again. The AN gets also disabled if any of these events occurs:
[AL]
Land Using ILS (AutoLand)
The auto‑landing takes control of the aircraft controlling heading and pitch following the approaching path to the LOC+GS station currently tuned. The heading gets corrected in order to smoothly reach the LOCATOR plane. If also the GS is available, then the pitch gets controlled in order to attain the indicated descending path. The AL also performs the flare maneuver, deploys the thrust reverse (if available), deploys the speed brakes, enable the wheel brakes and finally stops the aircraft on the runway.
Enabling the AL To enable the AL follow these steps:
AL
get displayed in the HUD
(or the Land
light will lighted in classic instruments mode).Once enabled, the AL compute a proper, smooth approach to the plane of the LOCATOR, then it will attain this route up to the runway threshold. Turns are performed with a maximum bank angle of +/‑25°.
For ILS stations providing also the GS signal, the AL can follow the glide path. In this case, the AL takes control of the elevator, maintaining the current altitude until the glide slope plane is reached. Once the GS has being reached, the AL sets a descending rate suitable to maintain the alignment with the glide slope plane (typically ‑3°).
The AL behave pretty well and it can recover from situations that would be very hard for an human to handle. However, in order to ensure the best results, these restrictions should be respected:
Requirements of the auto‑landing
The figure above illustrate the final approach to the runway. The optimal distance from the LOCATOR plane should be large enough to allow to the aircraft to attain the alignment to the LOCATOR with only a turn at the rate of 1.5°/s:
d ≥ (1 ‑ cos(A)) v / 94
where v is the current TAS (knots). For example, with an angle of incidence of A=30° and v=170 kt the distance would be 0.24 NM. By the contrary, crossing the LOCATOR plane with an angle near to 90° at little distance from the runway, would force the AL to do several turn maneuvers, often ending with a misalignment and a missing approach.
Disabling the AL. The AL can be disabled intentionally pressing Shift-L again. The AL gets also disabled automatically when any of these events occurs:
Detailed description on how the AL works. The exact sequence of the events depends on several factors. For brevity we will indicate with FLARE_ALT the altitude over the runway at which the flare maneuver starts, V is the current speed, :
FLARE_ALT = 0.375 ft/kt * V
so, for example, landing at 160 kt the flare maneuver starts when the radar altimeter indicates 60 ft from the terrain. We will also indicate with V_TOUCHDOWN the airspeed indicated when the main gear hit the runway. The exact sequence of events is as follow:
1. Keep current altitude until the GS path is intercepted. Adjust heading according to the CDI.
2. Once the GS has been intercepted, start descending at the standard rate of −3 DEG. If the GS has a different angle, the resulting GS error will guide the AL to the correct descending ratio. Continue to follow the LOCATOR, adjusting the heading.
3. When the altitude as indicated by the radar altimeter becomes less than 250 ft, stop following the ILS signal, keep current heading and keep the standard descending rate of −3 DEG.
4. When the altitude indicated by the radar altimeter becomes less than FLARE_THR, the flare maneuver starts. Raise nose so to keep a descending rate of −1 DEG. Ensure wheel brakes are disabled.
5. When the altitude as indicated by the radar altimeter is less than 0.5*FLARE_ALT disable engine auto‑throttle and hold current power setting. The speed begins to reduce.
6. When both the wheels of the main landing gear hit the ground, grab current airspeed V_TOUCHDOWN, as it will used for reference in the rest of the procedure. The speed brakes are fully extended, if available. If the thrust reverse device is available, deploy and set engine power to 75%. Otherwise, set engine idle. Disable auto‑pilot and keep current pitch angle.
7. For tricycle landing gear, immediately lower nose wheel. For bicycle landing gear, hold current pitch until speed drops under 85% V_TOUCHDOWN, then begins lowering the tail wheel.
8. For tricycle landing gears, when all the wheels are in contact with the terrain, enable wheel brakes. If thrust reverse available, brakes are enabled only below 50% V_TOUCHDOWN.
9. At 40% V_TOUCHDOWN, if thrust reverse device available, set engine idle.
10. At 20% V_TOUCHDOWN disable AP, AL, AW and retract thrust reverser, leaving only the brakes on.
The status panel displays 14 lights. The alarm lights blinks alerting the pilot about some serius sub-system failure or other urgent danger:
OIL, HYD1, HYD2: hydraulic subsystem failures.
GEN1, GEN2: power sources failure.
FLAP: flaps failure.
SPBRK: speed brake failure.
RADAR: radar failure.
TEWS: TEWS failure.
HUD: HUD failure.
G‑LOAD: above 75% maximum positive or negative wings load.
Status and warning lights does not blink and are alerts to the pilot:
FUEL: fuel tank below 15% maximum capacity.
SPD BRK: speed brakes engaged.
BRAKES: wheel brakes are on.
The ACM radar system has a field of view that extends 130 degrees laterally and vertically from the front of the aircraft. The F‑16 radar set’s range is about 80 NM. All aircraft within that range and field of view will appear as a box on the radar display
Radar coverage
The ACM radar display presents a forward looking view of radar targets. Think of it as a television monitor connected to a forward-pointing TV camera that has a very wide angle lens.
If any objects are close enough to be radar-visible, the set will automatically lock onto the nearest threat. With radar lock acquired, your display will provide detailed information about the locked, or :ldquo;primary:rdquo;, target’s disposition. A primary target appears as a filled diamond (u) on the radar display -- the display provides information on the primary target’s range and altitude, as well as its current heading, your desired relative heading to intercept and the rate of closure of your two aircraft.
The ACM radar display
The radar set’s ability to establish a positive lock on a target extends for a shorter range than the radar’s maximum detection range -- radar lock is limited to about 60 NM on the F‑16 and 30 NM on the MiG‑29.
If multiple targets are plotted on your radar display, you can lock onto other targets by pressing the target reject key (q).
The radar on/standby key (R) can be used to toggle your radar set between its normal operating mode and a standby state. When your radar is in standby mode, your aircraft emits no radar energy and can be more difficult to detect.
Radar Warning Receiver
Each aircraft is equipped with a special device called a Radar Warning Receiver (RWR). It’s display is the round “CRT’ to the left of the radar display. It works much like a radar detector that you can buy for your car. The receiver can detect radar emissions from other aircraft and will plot a box on the RWR display representing the relative direction of that radar threat. Opposing team’s radar emissions appear as filled boxes. Friendly aircraft appear as open boxes. This receiver cannot detect aircraft that have their radar emissions directed away from your aircraft, nor is it capable of detecting aircraft that have their radar sets turned completely off.
Your aircraft is equipped with heat-seeking missiles and a 20‑millimeter cannon. Weapon information is displayed in the lower left-hand corner of your HUD. Different weapons may be selected by pressing mouse button 3. The currently selected weapon is fired by pressing mouse button 2.
Cannon can be used to engage targets at closer range. Your cannon is modeled after the U.S. M61‑A1 Vulcan. Aircraft typically begin a mission with 500 rounds of ammunition; the cannon fires at 3000 rounds per minute so you only have enough ammunition for a ten-second continuous burst -- use it carefully.
When cannons are selected, the HUD is in Lead Computing Optical Sight (LCOS) mode. On the HUD, a circular aiming reticle is displayed. The HUD couples with the radar set to provide a visible cue of the target’s current range. The aiming reticle is surrounded by 12 ticks. An inner arc represents the current range to the target: each arc tick represents 1000 feet of distance. The aiming reticle moves across the HUD to show a good aiming point based on the target’s range and your aircraft’s pitch and turn rate. If the range is large and or your pitch and turn rates are fast, you may see no reticle at all: the aiming point is simply out of the HUD’s field of view.
An unmoving cross (a “+”) will be displayed on the HUD in LCOS mode. This marker denotes the boresight of the cannon -- the direction that the cannon’s barrel is actually pointing.
Figure 6 (missing!) shows another example of what you might see in a dogfight. All planes are turning hard to the left at a relatively low speed. You are in LCOS mode and see that the reticle is positioned ahead of the intended target. To get the kill, simply relax the turn long enough to get into position and then take the shot.
The missiles are patterned after U.S. AIM‑9M Sidewinders. They can detect infrared (IR) targets at any aspect (not just from the rear). Their range varies dramatically with the altitude and closure rate. The missile subsystem couples with your radar set to provide time‑to‑impact information.
This missile has a solid rocket motor that burns for about 8 seconds. After burn-out, it will still track towards its intended target but may lose speed too rapidly to catch it. Your heat seeking missiles don’t arm themselves until three seconds after launch. Because of that, you should not fire at a target that is closer than three seconds of flight time away.
Missile status discretes and their meanings:
ARM A missile is armed, but its seeker has not yet acquired a target in its field of view.
LOCKED A missile is armed and its seeker has locked onto a heat source. The missile is ready to fire.
---- The missile’s seeker has acquired a target, but it is out of range based on current time‑to‑target information.
The Su‑30 is the only plane that features these. It provides a CCIP bombing sight for low-level bombing.
The Eye dist. from screen: and Downward view angle: entry boxes combine to define how the outside forward view is presented. The “Scale factor and cockpit view layout” figure to the lower left illustrates these parameters.
From the distance of the eye from the screen, the program computes a proper scale factor so that the landscape visible outside the cockpit can be rendered realistically and without distortion, a feature particularly useful when flying VFR.
Scale factor and cockpit view layout
The downward angle of view (DAV) allows the pilot to see below the horizontal axis of the aircraft. This angle can range from 7 to 10° for civil aircraft, up to 15 or even 18° on fighters. Setting properly this parameter may challange the pilot dealing with take off and landings maneuvers with limited downward visibility. The instrument panel and the engine cowling severely limit the pilot’s ability to view downward toward the ground. Flying at low speed the increased nose-up attitude reduces the visibility even more, and the effective downward angle of view becomes the difference DAV−AoA. To fully display the HUD graphics a DAV of at least 12° is required.
Refer to these links for further information:
for further details.
This section contains the following subsections that can be clicked on to jump directly to the subsection:
‑plane ???
This selection is representative of any string that is not a defined
aircraft in the inventory
file in the
objects
directory, which causes ACM to tell you what
aircraft are available to select, and will contain the same set of
possibilities as shown in this manual unless someone has modified
the contents of the inventory
(refer to the
“Defining New Aircraft” section
for further information regarding that possibility).
‑plane AMX
[‑V]
AMX International — AMX
A jet fighter having the following V data:
Vs0 = 122.892400 KT
Vs1 = 130.823602 KT
Vfe = 0.000000 KT
Vno = 1038.158208 KT
Vne = 0.000000 KT
Alpha stall = 15.000035 DEG
MTOW = 21615.000000 lb
Total mass = 21764.573808 lb
a fuel capacity of 6780 pounds (31.4% of MTOW), and the following ordnance:
500 rounds for M61A1 cannon
6 AIM‑9M missles
‑plane B‑747
Boeing 747‑400
A huge commercial jetliner having the following V data:
Vs0 = 144.290741 KT
Vs1 = 161.348444 KT
Vfe = 220.000000 KT
Vno = 369.094926 KT
Vne = 510.000000 KT
Alpha stall = 15.000035 DEG
MTOW = 800000.000000 lb
Total mass = 730139.598987 lb
a fuel capacity of 360000 pounds (45.0% of MTOW), and no ordnance.
This big bird must be piloted very gently (and it‘s not just because it carries lots of aerobatically-challenged passengers). It's also the highest seat in the hangar to date so it's useful for looking around at things on the ground.
‑plane C‑172
Cessna C172RG
The staple of General Aviation having the following V data:
Vs0 = 43.425740 KT
Vs1 = 52.209489 KT
Vfe = 100.000000 KT
Vno = 145.000000 KT
Vne = 164.000000 KT
Alpha stall = 15.000035 DEG
MTOW = 2650.000000 lb
Total mass = 1839.996786 lb
a fuel capacity of 240 pounds (9.1% of MTOW), and no ordnance.
The ACM version of this four-seater features retractable landing gear, but all models are almost impossible to land in gusty conditions and cannot be mistaken for a jet.
‑plane F‑16
General Dynamics F‑16C Fighting Falcon
The formidible default jet fighter for the Blue Team 1 having the following V data:
Vs0 = 98.866312 KT
Vs1 = 103.625204 KT
Vfe = 0.000000 KT
Vno = 769.615649 KT
Vne = 0.000000 KT
Alpha stall = 31.856453 DEG
MTOW = 24326.000000 lb
Total mass = 24475.629210 lb
a fuel capacity of 9750 pounds (40.1% of MTOW), and the following ordnance:
500 rounds for M61A1 cannon
6 AIM‑9M missles
2 AIM‑120 missles
‑plane MD‑81
[‑V]
MD‑81
McDonnell Douglas MD‑81 (EXPERIMENTAL - not finished yet)
A smaller commercial jetliner than the B‑747 having the following V data:
Vs0 = 128.405530 KT
Vs1 = 140.463437 KT
Vfe = 235.000000 KT
Vno = 340.000000 KT
Vne = 499.000000 KT
Alpha stall = 15.000035 DEG
MTOW = 140000.000000 lb
Total mass = 117736.478705 lb
a fuel capacity of 39160 pounds (28.0% of MTOW), and no ordnance.
‑plane MiG‑29
MiG‑29
Mikayan‑Guryevich MiG‑29M Fulcrum
The also formidible default jet fighter for the Red Team 2 having the following V data:
Vs0 = 98.584463 KT
Vs1 = 103.329788 KT
Vfe = 0.000000 KT
Vno = 1051.261442 KT
Vne = 0.000000 KT
Alpha stall = 31.856453 DEG
MTOW = 32250.000000 lb
Total mass = 32399.452339 lb
a fuel capacity of 9750 pounds (30.2% of MTOW), and the following ordnance:
500 rounds for M61A1 cannon
6 AIM‑9M missles
2 AIM‑120 missles
‑plane P‑51A
[‑V]
P‑51A
North American P‑51A Mustang
The famous WWII fighter having the following V data:
Vs0 = 71.963618 KT
Vs1 = 82.611877 KT
Vfe = 220.000000 KT
Vno = 304.000000 KT
Vne = 370.000000 KT
Alpha stall = 14.896903 DEG
MTOW = 7000.000000 lb
Total mass = 7082.987677 lb
a fuel capacity of 500 pounds (7.1% of MTOW), and no ordnance (it’s the racing model).
This aircraft is a tail-dragger; i.e., it has no front wheel—can you land it without over-braking and pushing its nose into the runway?
‑plane Su‑30
Su‑30
Sukhoi Su‑30 Multi-Role Fighter
An impressive jet fighter having the following V data:
Vs0 = 97.519325 KT
Vs1 = 102.213380 KT
Vfe = 0.000000 KT
Vno = 627.524522 KT
Vne = 0.000000 KT
Alpha stall = 31.856453 DEG
MTOW = 52700.000000 lb
Total mass = 52849.583393 lb
a fuel capacity of 20700 pounds (39.3% of MTOW), and the following ordnance:
500 rounds for M61A1 cannon
2 AIM-9M missles
4 MK82 ballistic bombs
This aircraft features a CCIP bombsight integrated into the HUD that is useful for high‑speed low‑level bombing. Try your hand at high altitude precision bombing runs without any more targeting aids than the GPS readouts as described in the “Debug (GPS) Display, Toggle” section.
In dog fight mode drones are placed just in front of you.
In hunting mode drones are placed up to 50 NM away from you in random
direction and altitude.
This panel allows also to set the drones aggressivenes, i.e.,
how much “G” they will pull to escape from you or
to attack you.
For example, selecting 70% the drone will maneuver up to the 70% of
its current maximum vertical load, both positive and negative.
Drones are automated opponent aircraft. They are created by pressing the
l key. Drones aggressiveness setting (see option ‑da
)
controls how hard a drone aircraft will attempt to maneuver to attack
other planes. For example, a setting of 0.7 means the drone will maneuver
pulling “G” up to the 70% of its maximum structural vertical limit (see
the parameters MaxLoadZPositive and MaxLoadZNegative); if
the fighter supports up to 10g of positive vertical acceleration with nearly
empty tank, it will reach 7g of positive vertical acceleration.
With an aggressiveness factor too low (probably 0.2 or less) the aircraft will hardly sustain its own weight and will crash on the ground without even try to fly. With a value near 1.0 or greater your opponent drone will certainly suffer of a tragic fatal structural failure... Values between 0.7 and 0.9 will usually make for an interesting opponent.
NOTE. The DIS protocol MUST enabled, you can’t use the
‑no‑dis
option.
The ‑airspeed‑kt
,
‑altitude
,
‑heading
,
‑latitude
,
‑longitude
, and
‑team
‑team_1
‑team_2
ACM command line options
(or their counterparts in the GUI’s You
panel)
may be combined with starting locations defined in the
effective acmscene
file to tailor the startup situation of the
ACM aircraft.
Leaving these fields (except team
) blank
will cause your aircraft to be placed at the location
defined in the appropriate TEAM_1
or
TEAM_2
record in the selected or default
acmscene
file in the objects
directory in the ACM release directory.
Latitude and longitude must either both provided or both missing—you cannot set only one of the two. The exact syntax of the latitude and of the longitude is:
degrees[‑primes[‑seconds]]{N|S|E|W}
Notice latitude cannot exceed 90° with zero primes (aka minutes) and seconds, and likewise longitude cannot exceed 180°. In addition, minutes cannot exceed 59, and seconds approach 60 as a limit (seconds alone can include a fractional component). Examples:
‑latitude 3N ‑longitude 123‑4W
is 3-00-00.0N, 123-04-00.0W‑latitude 1‑2‑3.4S
‑longitude 45‑59‑22.2E
is 1-02-03.4S, 45-59-22.2E‑latitude 90‑0‑0.1S
‑longitude 180‑00‑00.01E
are both slightly too large
Regardless of the ‑altitude
definition used, the flaps are always
fully retracted and the throttle is set to idle.
If the ‑altitude
option is not supplied, ACM automatically
sets the aircraft on the ground at the specified location with the landing gear down
and locked and the brakes set.
When starting airborne; i.e., specifying an altitude greater that the local terrain
altitude, the initial pitch is set to 3° with the wings level,
the landing gear retracted, and the brakes released.
Care should be taken not to specify an altitude too close to the ground and you most
certainly do not want the initial airspeed to default to zero—choose
the knots that make good sense for the aircraft you choose in the flight attitude
previously mentioned and adjust the throttle as soon as possible (after first getting
the stick where it needs to be and possibly using [A] [X] [|]
to
enable the hold rate of climb, coordinate roll/yaw, and hold wings level autopilot
subsystems).
For additional information, refer to these links:
‑airspeed‑kt
‑altitude
‑heading
‑latitude
‑longitude
‑team_1
‑team_2
Lighting lets you choose to fly with the daylight
or by night.
You can fly through the clouds and the fog setting the field
Visibility to a value lower than 50.0 NM (unless the
Color Depth Steps in the Configure
Panel is set to 1).
Two or three NM is probably the minimum value that allows safe
landings in IFR mode.
The “visibility” is effective only by day,
since currently it has no effect in “night” mode.
Wind direction and Wind velocity set a prevailing wind
over all the ACM “world”.
The following topics are presented more or less in the order of ACM’s capacity to modify them.
In ACM wind is entirely defined by the
‑wind
option
and the
‑gust
option.
When the ‑wind
and ‑gust
options have been defaulted or explicitly defined as zero, then there
is never any wind in the simulation, an unnatural condition.
Otherwise, at any given time and and at any given altitude,
wind direction (always true, never magnetic) and velocity is the sum
of two vectors:
‑wind
option), and
‑gust
option).
The details of the behavior of wind in ACM are contained in the
src/air.c
module.
If ‑gust
is not defined, the prevailing wind, if any,
will be constant.
Notice the ‑wind
velocity is specified in knots but the
‑gust
definition is in feet per second—10 knots
equals approximately 16.878 feet/second).
Remember that the wind direction is the direction from which the wind comes, not goes (the wind is normally said to “come out of” the direction associated with it; e.g., a westerly wind comes from the west). With a wind of 90 degrees, your aircraft will drift due west.
Landing the Cessna C‑172 with a cross wind (i.e., wind direction perpendicular to runway) of 10 knots is difficult; and 20 knots is nearly impossible. Avoiding crashes during landings in significantly strong crosswinds and/or gusty conditions is in no way easy, even for the auto pilot—you have been warned.
In ACM air temperature is treated as a simple function of altitude based upon a hard-coded constant; i.e., temperature is always the same. This precludes most thermal effects, especially updrafts, downdrafts, and thermals—all air movement is perfectly horizontal.
The resupply function of ACM works like a “pit stop” to
repair any damage, refuel, and rearm any aircraft.
The normal means of resupply requires the aircraft be safely landed
at its home airbase and parked for approximately 30 seconds within
three nautical miles of the mid-point of the runway.
Resupply restores all munitions supported by the aircraft to their
full complement (note that when the ‑arcade
option
has been specified, munitions are inexhaustible so resupply maneuvers
are unnecessary for aircraft ordnance).
This resupply facility also repairs any damage to the aircraft.
Refueling occurs at a set rate,
so when your previous mission consumes a lot of fuel,
it can take several minutes before the tanks have been topped off.
Note: this option is currently causing an immediate seg fault in
acm‑7.0‑dlc
and acm‑5.0‑ico
.
ACM’s stealth mode allows users to monitor out-the-window views for any aircraft active in an exercise.
$ acm ‑stealth
In stealth mode, the radar display is used to display DIS entity id’s of aircraft participating in the exercise. To select and aircraft to follow, use the mouse to click on one of these identifiers. The entity id of the aircraft you are following will be highlighted in magenta.
DIS Entity ID 50,1,1 50,1,2 * 50,6,1
If there is a large number of entities in an exercise, use the PAGE UP and PAGE DOWN keys to scroll through the list.
End-game behavior
When the ‑end‑game
option is requested,
hostile aircraft near the subject aircraft are tracked. If any of these aircraft moves within
the subject aircraft’s radar locking range as defined via the
‑threshold‑range
option, then ACM will request
control of subject aircraft. Control is requested using a variant of
the proposed DIS 2.1.4++ transfer control protocol sequence.
If the ‑end‑game
option is not requested,
the subject aircraft’s radar does not improve in browse mode.
Transfer of Control
ACM supports an experimental DIS 2.1.4++ control request protocol. It permits it to “take over” aircraft of similarly enabled applications. For ACM to take over an aircraft, it must have model information in the “inventory” file describing the characteristics of that aircraft type. Those aircraft entities will be marked with an asterisk (*) in the left margin of the stealth browser display. Double click an aircraft entity id to take control. See the chapter The Transfer Control Protocol for details.
The default scene centers on an area in the western part of the Sahara Desert that is likely uninhabited to provide a ficticious arena for team dogfighting. It contains three single runway airfields roughly in a line separated by approximately 100 nautical miles:
Each runway has ILS at both ends with a VOR/DME facility 15‑17 nautical miles straight out from the runway end. There are also two VOR/DMEs between the three airfields:
Each airfield has a tower and a hangar using the associated facility
color primarily.
The VOR/DME stations are predominently white.
Here are some B‑747 pilot's-eye views of them while parked nearby (except
for the aerial oblique shot)—these shots feature the .obv
files with smaller visibility hexagons, not the larger "training wheels" versions
used in the distributed allworlds.acmscene
file).
The hangars are easily large enough for a B‑747.
RRA (Black) Tower |
ICO (Red) Tower |
DLC (Blue) Tower |
VOR/DME Transmitter |
Glide Slope Antenna |
Aerial View of RRA showing GSAs |
DLC (Blue) Hangar (front) |
ICO (Red) Hangar (back/side) |
RRA (Black) Hangar (inside, chase view) |
DLC (Blue) Hangar (oblique from back/side) |
The following high-altitude annotated screenshots present the pertinent
navigational information.
Note these are not charts—they include perspective distortion.
These shots use the down view accessed via the [NumLk0]
key.
The point directly underneath the aircraft is just above the center of
the top of the panel (no area behind the aircraft is ever visible in an
down view).
Aircraft position (longitude, latitude, and meters ASL) is shown in
the debug display at the upper-left of the screen which is toggled
via the ‘D’ keyboard command.
The polar views include four longitude lines with compass directions.
Remember that, except at the poles, when heading south,
turn left to head east, but when heading north,
turn right to head east).
Directly at the poles, however, every direction away from the pole is
straight toward the opposite pole; i.e., north at the South Pole and
south at the North Pole.
The Prime Meridian / Anti-Meridian great circle divides East longitude
from West longitude (in both these polar charts, West is the upper half
and East is the lower half).
Annotated aerial photo of David L. Craig Airbase (runway center: 21‑00‑00 N, 7‑00‑00 W)
Annotated aerial photo of Umberto Salsi Airbase (runway center: 24‑00‑00 N, 5‑00‑00 W)
Annotated aerial photo of North Pole Airbase (NP1 runway center: 89‑57‑00 N, 0‑00‑00 W)
Annotated aerial photo of Railey Raney Airport (runway center: 20‑29‑20 N, 6‑01‑12 W)
Annotated aerial photo of South Pole Airbase (SP1 runway center: 89‑57‑00 S, 0‑00‑00 W)
Annotated aerial photo of Tristan da Cunha Airport (runway center: 37‑07‑51 S, 12‑14‑54 W)
ACM‑7.0‑dlc can be downloaded from
dlcusa.net/acm
as a gzipped tar archive.
The following instructions are from the
README
file you'll find there:
To run build.sh
, you must first install it somewhere in the system you want
to use for ACM. And not just this script--you need all the files of the
package distribution, which are conveniently put into a single file called
an archive or tarball. That file is named acm-7.0-dlc-20200202.tar.gz
and
is what you must download into your system via its URL:
http://dlcusa.net/acm/acm-7.0-dlc-20200202.tar.gz
It's up to you where you download it in your system. This discussion will
assume you put it into your home directory; e.g.,
$ cd ~
$ wget -c 'http://dlcusa.net/acm/acm-7.0-dlc-20200202.tar.gz'
Also get the sha256
hash file, then verify what you downloaded was not
corrupted somehow; e.g.,
$ wget -c 'http://dlcusa.net/acm/acm-7.0-dlc-20200202.tar.gz.sha256'
$ sha512sum -c acm-7.0-dlc-20200202.tar.gz.sha256
and verify that last command said OK
. If so, make a directory to extract
the archive into (and then to build and run the software). Something has
to be recommended although it is again entirely up to you where you want it.
We'll say the recommended directory is ~/acm-7.0-dlc
, so make that and make
it the current (aka working) directory:
$ mkdir acm-7.0-dlc
$ cd acm-7.0-dlc
The last step to installing the build.sh
script it to expand the tarball
into the working directory; e.g.,
$ tar xzf ../acm-7.0-dlc-20200202.tar.gz
and make sure no error messages are displayed.
Now read the build.sh
script for more details about compiling and linking the
software. If it seems too cryptic, the INSTALL
file may provide the
enlightenment you seek, but remember not to attempt to build the components
the way it says you should.
If you haven't read the front of the the README
file yet, which
adds the README
information for this release of ACM
to
those of past releases, now would be a good time.
You may find the rest interesting with some useful information, but it
shouldn't be required reading to proceed with this release.
On systems where X11
is installed in an unusual location,
configure
may have trouble locating the X
include
files and libraries (you’ll know
that because the compiler will complain that it can’t find files like
X11/X.h
). If this problem crops up, you can help configure to set up
the Makefiles by telling it where to find X11:
$ x_includes=/usr/myX11/include; export x_includes
$ x_libraries=/usr/myX11/lib; export x_libraries
$ ./configure
$ make
By default, configure
will compile ACM
using gcc
if gcc
is found in your PATH
environment variable.
Some combinations of gcc
and OS platforms have
problems with ACM
(gcc
2.2.2 seems to have problems on
SunOS and HP‑UX, for example).
You can override configure
’s selection of gcc
:
$ CC=cc; export CC $ ./configure $ make
Once build.sh
informs you there is an executable src/acm
available, follow it's instructions and eventually ACM
should be
easily and usefully functioning on your system.
The scene file defines the visible ACM “world”. It should be stored as a ASCII text file. Every record occupies exactly one line, with leading and trailing spaces ignored. Fields in a record are separated by one or more spaces or tabulation characters. Empty lines and lines beginning with the character ‘#’ are ignored.
On startup, ACM uses the default.acmscene
file from the
objects
directory.
With ACM for Unix, you can override this default by specifying the
‑scene scene‑file‑pathname
option.
Records can be specified in any order.
No valid records are required—the file may be empty, but it must be
openable (‑scene /dev/null
is perfectly fine).
TEAMLOC
, TEAM_x
Records
ACM groups participants (players) into two teams.
The scene file defines the initial location for each team.
Typically, this location will be positioned at the end of a runway and oriented
for take-off at the team’s home airbase.
This information in contained in the TEAMLOC
record associated
with the player's team via its TEAM_1
or TEAM_2
record.
Example:
TEAMLOC DLCW TD_DLC_DLC_W8 20-59-42.221N 007-01-06.000W 1402 74 TEAMLOC ICOE TD_ICO_ICO_E29 23-59-44.439N 004-58-52.100W 1923 284 TEAM_1 DLCW TEAM_2 ICOE
Fields:
0 Type: TEAMLOC
1 Short name (easily remembered)
2 Long name (descriptive name—any format used should be explained in theacmscene
file)
3 Latitude
4 Longitude
5 Altitude (ft, MSL) (ATTENTION: this value is currently ignored, aircrafts are always gently deployed on the ground)
6 Initial Heading (degrees, true)
0 Type: TEAM_1, TEAM_2
1 Short name of associated TEAMLOC record
GROUNDC
Record
An X11‑style #RRGGBB
color specification defining
a color of the ground. Red, green and blue color components are
hexadecimal value from 00 to FF. Example:
GROUNDC fairway #305030
Fields:
0 Type: GROUNDC
1 Name of the color 2 Color
RNW
, RNW2
Records
The record entry of the ACM scene describing a runway can take two forms, depending on the available informations: the old one (RWY) and the new one (RWY2). The RWY format requires the geographic coordinates of both the ends of the runway. The RWY2 requires only the center of the runway and its true heading. The syntax of the runway identifier (field no. 2) must be of the form:
H[S]/H[S]
where H
is the heading (an integral number between 1 and 36)
and S
is a capital letter (“L”, “C” or “R”). The S
part
of the identifier is optional.
A leading “0” in an identifier is allowed.
The runway identifiers can be specified in any order.
RWY ADS 15/33 644 7202 100 32‑58‑40.245N 096‑50‑25.820W 32‑57‑33.383N 096‑49‑56.608W
Fields of the RWY record:
0 Record Identifier: RWYExample of the RWY2 record format (same runway):
1 Three/Four letter airport code
2 Runway identifier
3 Runway Altitude (ft, MSL)
4 Runway Length (ft)
5 Runway Width (ft)
6 Near End Latitude
7 Near End Longitude
8 Reciprocal End Latitude
9 Reciprocal End Longitude
RWY2 ADS 15/33 644 7202 100 32‑58‑06.81N 096‑50‑11.21W 160.0
Fields of the RWY2 record:
0 Record Identifier: RWY2
1 Three/Four letter airport code
2 Runway identifier
3 Runway Altitude of the Center (ft, MSL)
4 Runway Length (ft)
5 Runway Width (ft)
6 Latitude of the Center
7 Longitude of the Center
8 Runway Heading (DEG, possibly with decimals)
The model of the terrain simulated by ACM is very simple and efficient: the elevation of the nearest runway gives the local terrain altitude, the distance being calculated relatively to the center of the runway. Nevertheless, this behavior has a strange implication: between two runways at different altitudes there is a step line where the local altitude suddenly change. Crossing this step line taxing on the ground, the aircraft would crash its landing gear.
In the figure below the terrain to the left side of the step line has elevation 500 feet, while the terrain in the other side has elevation 510 feet. Unfortunately in this case we have a problem, since the step line crosses both the runways.
The problem of the step line crossing the runways
The only practical solution to this problem is to keep all the runways of a given airport at the same exact altitude.
NAV
Record
A NAV
record may be a VOR, a DME or a NDB. The TACAN stations of the
ACM world behave simply as VOR/DME stations.
VOR and ILS stations frequency ranges from 108.00 MHz up to 117.95 MHz.
OMARKER, MMARKER and IMARKER are just like NDB stations but with limited range (20 NM rather than 100 NM). NDB station frequency ranges from 200 KHz up to 499 KHz. This latter upper limit is a rather arbitrary value set in ACM‑2.0‑dlc, but most of the stations do not exceed 415 KHz.
Example:Fields:NAV TTT VOR/DME 32‑52‑08.98N 097‑02‑25.81W 540 06E 113.10 NAV FWH TACAN 32‑46‑17.46N 097‑26‑22.07W 663 07E 108.7 024X NAV RBD NDB 32‑40‑36.98N 096‑52‑15.91W 670 06E 287
0 Record Identifier: NAV
1 Up to four letters identifier
2 NAVAID Type: VOR, DME, VOR/DME, VORTAC (=VOR+DME), TACAN (=VOR+DME), NDB, OMARKER (=NDB), MMARKER (=NDB), IMARKER (=NDB)
3 Transmitter Latitude
4 Transmitter Longitude
5 Transmitter Altitude (ft, MSL)
6 Magnetic variation at station (degrees east or west)
7 VHF Frequency (MHz for VOR/DME/ILS stations and KHz for NDB)
8 TACAN channel number (optional; only for TACAN)
ILS
Record
An ILS station is a LOCALIZER (emitting the signal giving the right heading toward the runway) that may include also a glide slope (GS, giving the deviation from the glide plane) and a DME.
Typical ILS arrangement around the runway
Example:
ILS 30 ILS IAIW 108.9 34‑18‑47.161N 097‑01‑38.280W 34‑17‑59.533N
097‑00‑35.018W 729.2 3.2E 4.92 309 3.00
Fields:
0 Record Identifier: ‘ILS’
1 Runway Identifier:
2 ILS Type: either ILS (=LOC+GS), ILS/DME (=LOC+GS+DME), LOCALIZER (=LOC), LOC/GS (=LOC+GS), or LOC/DME (=LOC+DME)
3 Four letter Identifier
4 VHF Frequency (MHz)
5 Localizer Transmitter Latitude
6 Localizer Transmitter Longitude
7 Glide Slope Transmitter Latitude (‘‑‘ for Localizer‑only approaches)
8 Glide Slope Transmitter Longitude (‘‑‘ for Localizer‑only approaches)
9 Glide Slope transmitter altitude (ft, MSL) (‘‑‘ for Localizer‑only approaches)
10 Magnetic variation at localizer station (degrees, east or west)
11 Localizer beam width (degrees)
12 Localizer bearing (degrees, magnetic)
13 Glide slope angle (degrees) (‘‑‘ for Localizer‑only approaches)
FEATURE
Record
FEATURE tower.obv 32‑58‑04.800N 096‑50‑16.800W 644 0
Fields:
0 Record identifier: FEATURE
1 Object filename
2 Latitude
3 Longitude
4 Altitude (ft, MSL)
5 Orientation angle (degrees, true)
The stout-of-heart may be interested in creating new aircraft types. Some
of this information must be generated by hand, but I did create a program
to help me generate aircraft objects: GEDIT. GEDIT is a rudimentary
Motif program that allows you to create 3-dimensional objects. It is
available in the directory gedit
of the distributed package.
Alas, gedit
still requires 32-bit hardware and remains
unported to 64-bit architecture.
This really hamstrings efforts to provide aircraft display files.
If you're able to port it for the rest of us, we'd be much obliged!
The syntax of inventory file objects/inventory
is not
complex. The program doesn’t complain about missing numeric values,
and they are assumed to be zero.
# Aircraft Inventory for ACM 5.0 # See ACM‑Bibliography for further information about the sources of this # information. # MiG‑29 Fulcrum # MiG‑29M information was derived from two sources: [Spick87] and [AirI Aug92]. aircraft "MiG‑29" { Description "Mikoyan‑Guryevich MiG‑29M Fulcrum" Object "mig29.obj"
The visual description of an ACM aircraft is stored separately in V‑library format. This file describes a set of polygons that roughly approximates the shape of the actual aircraft. I used GEDIT to create most of the ACM aircraft objects. If not available, you may leave this parameter commented-out, but chase view will not be available and you craft will be invisible to the other players...
WingArea 400.0 # (wingS) Wing surface area (ft^2) WingHalfSpan 18.87 # (wings) Wing half‑span (ft) WingHeight 0.0 # (wingh) Height of the wing aerodynamic center # above the CM (ft) Chord 9.61 # (c) Mean geometric chord of wing (ft) AspectRatio 3.56 # (aspectRatio) aspect ratio EmptyWeight 22500.0 # (emptyWeight) Empty mass (lb)
These values are usually quoted with an aircraft’s performance figures.
The WingHeight
is used to estimate the ground effect, and
its value is positive for wings above the center of mass.
# Max. wing load (lb): MaxLoadZPositive 273000 # 10*(EmptyWeight+50%*MaxFuel) (+10 g) MaxLoadZNegative 137000 # 5*(EmptyWeight+50%*MaxFuel) (‑5 g)
The maximum vertical load, either climbing (MaxLoadZPositive
)
or diving (MaxLoadZNegative
). If the weight the wings have
to sustain is greater than that, the structure suddenly breaks and the
aircraft gets destroyed.
For civil aircrafts you may guess these values as 2.5*MTOW and 1.0*MTOW. Military aircrafts, and fighters expecially, are reported to sustain up to some number N of positive “g” and some other number Q of negative “g”. If not indicated, you should soppose at least 60% of the fuel contributing to the mass:
MaxLoadZPositive = N * (EmptyWeight + 60%*MaxFuel)
MaxLoadZNegative = Q * (EmptyWeight + 60%*MaxFuel)
where typical values for N range from 7 to 10, and Q=3.
The reference frame of the aircraft, with main inertial axes
and center of mass (CM) indicated.
# (I(x,y,z)) Moments of inertia (lb ft^2) Ixx 10000 Iyy 75000 Izz 80000
These are hard values to simple guess. I have grabbed values where they were available and simply guessed sometimes, too. Moments of inertia in an actual aircraft are not constant. Most notably, as an aircraft burns fuel, its weight distribution, center-of-gravity, and moments of inertia change. In ACM, however, moments of inertia and CM do not change.
# (cFlap) Lift due to flaps (yields Clift of 1.0 at max extension) CFlap 0.64279 BetaStall 15.0 # (deg) Stall angle for rudder CFlapDrag 0.0467 # (cFlapDrag) Drag due to Flaps CGearDrag 0.03 # (cGearDrag) Drag due to Gear CSpeedBrake 0.03 # (cSpeedBrake) Drag due to Speed Brake # at 90 degrees # (CDb) Drag Characteristic equation [Wave+body] # independent variable is mach number CDb { # (CDb) Drag Characteristic equation [Wave+body] # independent variable is mach number 0.0, 0.020, 0.2, 0.020, 0.95, 0.015, 1.05, 0.045, 2.00, 0.030, 10.0, 0.030 }
In ACM, wave/body drag coefficient is a function of the airspeed expressed
as a Mach number. Less drag makes for a faster aircraft. This function
generally has a maximum near Mach 1.0. You probably should not change
this table unless you really know what you’re doing.
For the CFlap coefficient see below.
CLift { # (CLift) Lift‑slope curve (vs alpha) ‑3.0, 0.0, ‑1.05, 0.0, ‑0.576, ‑2.199, ‑0.556, ‑2.23, ‑0.524, ‑2.199, 0.524, 2.199, 0.556, 2.23, 0.576, 2.199, 1.05, 0.0, 2.0, 0.0 }
In ACM, the coefficient of lift is purely a function of angle of attack (alpha) and of the speed. The CLift table gives the coefficient of lift for some values of the AoA “alpha”. In the example above, the maximum coefficient of lift is 2.23 at 0.556 RAD = 32 DEG of AoA. Above this angle, the lift drops abruptly and the plane stalls. The coefficient of lift also depends on the current flap deflection angle according to the function:
CL = CLift(alpha) + sin(flaps) * CFlap
being CLift(alpha) the interpolated value given by the CLift table above. The total lift force is given by the equation:
L = 1/2 r WingArea V2 CL
where r is the air density (r=1.225 Kg/m3 at sea level), V is the airspeed and CL is the coefficient of lift.
CnBeta { # (CnBeta) Yaw moment due to sideslip equation 0, ‑0.08125, 0.523540, ‑0.078125, 0.785340, ‑0.0609375, 1.047198, 0.125, 1.58, 0.0 }
In ACM negative yaw due to sideslip means that the aircraft is “weathercock stable”, that is, the aircraft tends to yaw in a way that reduces the sideslip component.
ClBeta { # (ClBeta) Roll moment due to sideslip equation 0, ‑0.0125, 0.43633, ‑0.015, 0.78540, 0.125, 1.58, 0.0, 3.142, 0.125, }
A negative value means that the aircraft will roll in the opposite direction of the sideslip component, tending to make the aircraft more stable.
CDB values define the body drag added by sideslip on the aircraft.CDBOrigin 0 # (CDBOrigin, CDBFactor) Drag due to sideslip CDBFactor 0.5 CDBPhase 0 # (CDBPhase) sideslip drag phase (deg)
CYBeta ‑0.85 # (CYbeta) Side‑force from side‑slip [dCY/dBeta]
CYBeta is the “lift” due to sideslip. This is the factor that allows to roll 90 degrees from level, kick the rudder a lot, and still stay level. Not all simulators take this into account.
EffElevator 0.60 # (effElevator) Elevator effectiveness EffRudder 0.35 # (effRudder) Rudder effectiveness MaxRudder 20 # (maxRudder) max Rudder (deg) MaxAileron 20 # (maxAileron) max Aileron (deg) MaxFlap 20 # (maxFlap) max flap setting (deg) # (flapRate) flap extension rate (about 2 secs to fully extend flaps) FlapRate 10 # (deg/s) # (gearRate) gear extension rate (about 3 secs to fully extend gear) GearRate 30 # (deg/s) MaxSpeedBrake 80 # (maxSpeedBrake) max Speed Brake setting (deg) # (speedBrakeRate) rate of speed brake extension (2 secs to full ext) SpeedBrakeRate 40 # (deg/s) # (speedBrakeIncr) speed Brake increment per keystroke SpeedBrakeIncr 80 # (deg)
These values determine the characteristics of the aircraft’s speed brakes (speed brakes are used in the air, wheel brakes are used on the ground). MaxSpeedBrake determines the maximum extension of the speed brake panels. SpeedBrakeIncr determines how far one press of the s key will increase the speed brake extension. It does not need to be an even increment of MaxSpeedBrake. SpeedBrakeRate determines how fast the brakes will deploy or retract.
Clda 0.048 # (Clda) roll moment from aileron offset Cldr 0.004 # (Cldr) roll moment from rudder offset Clp ‑0.27 # (Clp) roll damping Cmq ‑8.0 # (Cmq) pitch damping factor Cnr ‑2.0 # (Cnr) yaw damping factor
These factors characterize some of the roll, pitch and yaw characteristics of the aircraft. They are in the NACA form. Damping factors determine how quickly an aircraft returns to a steady state after some change in control input. Larger negative damping factors make for a more stable aircraft.
# Speed limits at MTOW. Leave undefined or set to 0 if unknown. MTOW 32250.0 # maximum takeoff weight (lb) #Vs0 42.0 # stall speed, full flaps (kt) #Vs1 50.0 # stall speed, no flaps (kt) #Vfe 100.0 # max speed with flaps extended (kt) #Vno 145.0 # normal operation speed (kt) #Vne 164.0 # never exceed speed (kt)
These parameters allow the program to set or calculate several speed limits. These speed limits are used to draw the colored arcs on the air speed indicator. Every arc is displayed only if its start and end are known, and it is now drawn otherwise. These speed limits are also considered to simulate some structural failures when exceeded, as detailed below. Leave commented-out or set to 0 the parameters that are unknown: the program will try to guess the missing values of simply will left them undefined if this guess is not possible.
MTOW is the maximum take off weight (lb).
Vs0 is the stall speed at MTOW, full flaps, at sea level. It is indicated by the beginning of the white arc in the anemometer. If undefined or set to zero, the program tries to calculate this value with the following formula:
Vs0 = sqrt( 2 MTOW earth_g / (r WingArea CL) )where:
earth_g is the gravity acceleration at sea level.
r is the air density at sea level.
CL is the lift coefficient calculated with:
CL = maxCLift + CFlap sin(MaxFlap)
being maxCLift the maximum coefficient of lift as given by the CLift curve.
Vs1 is the stall speed at MTOW, without flaps, at sea level. It is indicated by the end of the short white arc in the anemometer. If undefined or set to zero, the program calculates this value with the following formula:
Vs1 = sqrt( 2 MTOW earth_g / (r WingArea maxCLift) )
Vfe is the maximum speed with flaps extended. It is indicated by the end of the longer white arc in the anemometer. Exceeding this speed with flaps deployed, also partially, causes a flaps failure that makes them unusable. If undefined or set to 0, the Vfe is unlimited.
Vno is the normal operation speed, that is the maximum speed in turbolent air conditions. It is indicated by the beginning of the yellow arc in the anemometer. Flying above this speed in turbolent air, a vertical wind gust of 30 ft/s would cause a vertical positive or negative acceleration above the maximum structural load capacity of the wings. If undefined or set to 0, the Vno is extimated with the following formula:
Vno = 2 earth_g (MaxLoadZNegative + EmptyWeight) / (r WingArea * b * MAX_GUST)where:
b = 6.302 is the slope of the CLift curve in its linear range; this value was actually calculated for the C‑172RG but it is also very close to that of the other aircraft models, so it is assumed as constant.
MAX_GUST = 30 ft/s is the conventional maximum vertical wind gust intensity assumed as reference to calculate Vno.
Vne is the speed that must never be exceeded. It is indicated by a short red line. Flying above this speed limit the aircraft may suffer a catastrofic structural failure. If undefined or set to zero, this limit does not apply.
CmAlpha ‑0.30 # (cmSlope) CmAlpha curve slope MaxFuel 9750 # (maxFuel) maximum internal fuel (lb) # engine lag factor (how fast does it respond to throttle changes EngineLag ‑3.0 # Engine data based on updated RD‑33K engines cited in [AirI Aug89]. # (maxThrust) max static thrust, military power (lbf) MaxThrust 27000 # (maxABThrust) max static thrust, afterburner on (lbf) MaxABThrust 44000 HasThrustReverser 0 # 0=no (default), 1=yes
Maximum static military and afterburner thrust values can usually be
found in documents that describe aircraft performance.
Setting MaxABThrust
to the same value of MaxThrust
disable the AB for those aircrafts that lack this device.
For the conversions, remember that 1 pound = 1 lb g = 4.448 N = 0.4536 Kgf.
The HasThrustReverser
parameter tells if the aircraft has a thrust
reverse device. Set to 1 if available or 0 if not. If this parameter is missing
the default is no
. With thrust reverse deployed and engine at the max power,
the resulting reverse thrust is calculated as 50% of the max forward thrust.
Thrust { # (Thrust) Mach Number vs. thrust 0, 1, 1.7, 1.5, 2.0, 0.84, 5, 0.5 } ABThrust { # (ABThrust) afterburner thrust table 0, 1, 0.5, 1, 1, 1.21, 1.7, 1.7, 5, 1.64 }
The Thrust and ABThrust corrects the static thrust value for the
aircraft’s Mach number. Unless you have hard information about this,
leave these fields alone. The ABThrust
table is ignored when
the AB device is disabled.
# (spFuelConsump) specific fuel consump(lb fuel/lb T x hr) SpFuelConsump 0.68 # (spABFuelConsump) AB specific fuel consump(lb fuel/lb T x hr) SpABFuelConsump 2.55
These fields define the specific fuel consumption (fuel consumed per pound of thrust per hour). Unless you have hard information about this, leave these fields alone.
# (viewPoint) pilot’s viewing location wrt CM ViewPoint { 14.75, 0, ‑5.375 }
This is the XYZ location relative to the aircraft center of gravity that locates the pilot’s eye view outside of the cockpit.
# Landing Gear control parameters MuStatic 0.08 # (muStatic) static coeff of friction no‑brakes MuKinetic 0.05 # (muKinetic) moving coeff of friction no‑brakes MuBStatic 0.7 # (muBStatic) static brakes‑on MuBKinetic 0.6 # (muBKinetic) moving brakes‑on
These four values characterize the amount of friction that the wheels generate when in contact with the ground. If F is the force (usually a weight) that load a wheel, then F*MuStatic is the friction force when the wheel is at rest; F*MuKinetic when the wheel is rolling. MuBStatic and MuBKinetic have the same meaning with the only difference that the brakes are on. The maximum theoretical value of any of these is 1.0.
NOTE 1. In our landing gear, only the main gear wheel have the brakes; the nose wheel can’t brake.
NOTE 2. The MuKinetic and MuBKinetic are probably misnomers as
these coefficients are more commonly known as “MuRolling” instead. Proper
“kinetic” coefficients are involved when the wheel skids over the runway,
either longitudinally (blocked brakes) or laterally. In ACM‑7.0‑dlc brakes
never block, but still wheels can skid laterally over the runway. The
coefficient involved in the skidding behaviour is currently hard-coded
in the gear.c
module. Moreover, the struct breaks when the
lateral force applied to the landing gear struct exceeds the empty weight
of the aircraft. This limit too is hard-coded into the source program.
MaxNWDef 72 # (maxNWDef) maximum nosewheel deflection (deg)
The MaxNWDef
is the max deflection of the nose wheel, so that
the radius of turn of the aircraft is R=Q/sin(MaxNWDef)
where
Q
is the distance between the nose gear and the middle point
between the wheels of the main gear (see the figure below).
Radius of turn on the ground
# (rm) location of right main gear attachments {x,y,z} (ft) Rm { ‑2.2, 4, 1.702 } # (rn) location of nose gear attachments {x,y,z} (ft) Rn { 9.395000, 0, 1.807 } Km 18220.7 # main oleo spring factor (lbf/s^2) Kn 4278.34 # nose oleo spring factor (lbf/s^2) Dm 10000 # main oleo damping factor (lbf s/ft) Dn 80 # nose oleo damping factor (lbf s/ft) Gm 1.5 # main strut length with tire (ft) Gn 1.5 # nose strut length with tire (ft) CmMax 1.0 # (cmMax) main max oleo extension distance (ft) CnMax 1.5 # (cnMax) nose max oleo extension distance (ft)
Parameters of the landing gear
The parameters Rn
and Rm
give the positions of the
nose and main gear attachements, while Gn
and Gm
are their total length including the tyre but excluding the oleo extension
CnMax
and CmMax
. As a first approximation of these
parameters, you can take these values (all the distances are measured in feet,
1 ft = 0.3048 m):
Rn.x
- Longitudinal distance of the nose wheel from the CM, positive for trycicle landing gears, negative for bycicle landing gears.
Rn.y
- Always zero.
Rn.z
- Vertical distance of the nose gear contact point from the longitudinal axis measured on the plane at rest on the runway, minus
CnMax
/2.CnMax
- About half foot for light planes, and up to 1.5 feet for larger ones.
Gn
- Set to zero, as the only value that really care to the program is the sum
Rn.z+Gn
and we already included this distance inRn.z
.Rm.x
- Longitudinal distance of the main wheel from the CM, negative for trycicle landing gears, positive for bycicle landing gears.
Rm.y
- Lateral distance of the right main wheel from the CM, always positive.
Rm.z
- Vertical distance of the main wheel contact point from the longitudinal axis measured on the plane at rest on the runway, minus
CmMax
/2.CmMax
- About half foot for light planes, and up to 1.5 feet for larger ones.
Gm
- Set to zero, as the only value that really care to the program is the sum
Rm.z+Gm
and we already included this distance inRm.z
.
Every wheel of the landing gear is attached to the aircraft through a spring (K) and a dumper (D). The parameters referring to the main landing gear are the sum for the left and right gear, so the actual parameter for each wheel strut is half of the value reported in the inventory (see the picture above).
The landing gear parameters are difficult to estimate. We will give some simple rule to set good values based on reasonable assumptions.
Km
- The main landing gear must sustain most of the weight of the aircraft, so a reasonable rule is to set this spring (left + right) so that the strut be half compressed with the aircraft in its empty weight:
Km = 2 * EmptyWeight / CmMax
For example, if the empty weight is 10000 lbf and the strut maximum extension is 1.5 ft, we have Km = 13300 lbf/ft.
Kn
- The nose spring must sustain the static weight that depends on its distance from the CM. Moreover, on bicycle landing gears the nose must sustain also the braking. The resulting formula is:
Kn = 2 * EmptyWeight * (Rm.x + MuBKinetic * Rm.z) / (Rn.x * CnMax)
Note that the distances that appear in this formula have their sign, so usually Rm.x is negative while Rn.x is positive. For bicycle landing gear we can neglet the braking effect, but consider that these aircrafts usually have an higher static pitch for which this simple formula isn’t no more valid.
Dm
- The principal role of the dumpig factor in the main gear is to adsorb harder touch-down at high descending speed, when the spring cannot help because is still not compressed. 600 fpm is usually the maximum allowed vertical speed for which aircrafts are tested. That means that the force produced by the dumper when the wheels of the main gear hit the ground is F=Dm*600 fpm. Since in ACM‑7.0‑dlc there is an hard-coded vertical limit to the main gear equal to 3 times the empty weight, the following formula gives a safe value for Dm:
Dm <= 0.2 * EmptyWeight
For example, if the empty weight is 10000 lbf, then dumping factor should not be greater than 2000 lbf*s/ft.
The program GEDIT can be used to determine correct landing gear
locations. I then use the program tools/balance.c
to generate
the appropriate values for the spring factors for each new aircraft type that
I create. Note that neither GEDIT nor balance.c
currently
calculate oleo damping factors.
# (tailExtent) as we rotate, this part may drag TailExtent { ‑18.165, 0.0, 1.191 }
This defines where the aft-most lower part of the aircraft is located. This is the part of the aircraft that may scrape the ground as we rotate. This value is not currently used. Instead we simply limit up-pitch on the ground to 20 degrees.
StructurePoints 15 # (structurePts) maximum structural damage
This value characterizes how much damage can be absorbed by the aircraft before it simply explodes.
# Radar data based on N‑019 Pulse Doppler radar cited in [AirI Aug89]. RadarOutput 15000 # (radarOutput) radar output (watts) RadarTRange 38 # (radarTRange) tracking radar range (NM) RadarDRange 55 # (radarDRange) detection radar range (NM) TEWSThreshold 0 # Radar Warning Receiver threshold (watts)
If you have any information about the radar capabilities of the aircraft, here’s the place for them. The detection range is the maximum range that a target can be seen on radar. No attempt is made to take into account the radar cross section of the target. The track ing range is the range required to get a lock onto the target.
# Weapons WeaponCount 9
Number of weapon hard-points. The following fields are ignored if this value is set to zero, so they can be omitted if the aircraft does not carry weapons at all.
HardPoint0 { 7.0, ‑4.0, 0.0 } HardPoint1 { 0.357, 15.6, 0.0 } HardPoint2 { 0.357, ‑15.6, 0.0 } HardPoint3 { 1.5, 9.0, 2.0 } HardPoint4 { 1.5, ‑9.0, 2.0 } HardPoint5 { 1.5, 8.0, 1.5 } HardPoint6 { 1.5, ‑8.0, 1.5 } HardPoint7 { 1.5, 10.0, 1.5 } HardPoint8 { 1.5, ‑10.0, 1.5 }
These are the XYZ locations relative to the aircraft CM of each weapon. By defining these, each missile or cannon fires from its appropriate location on the aircraft.
WeaponStation 0 "M61A1" 500 0 0 WeaponStation 1 "AIM‑9M" 0 0 0 WeaponStation 2 "AIM‑9M" 0 0 0 WeaponStation 3 "AIM‑9M" 0 0 0 WeaponStation 4 "AIM‑9M" 0 0 0 WeaponStation 5 "AIM‑9M" 0 0 0 WeaponStation 6 "AIM‑9M" 0 0 0 WeaponStation 7 "AIM‑120" 0 0 0 WeaponStation 8 "AIM‑120" 0 0 0 }
The WeaponStation
directive defines the type of weapon located at
each hard point. The first argument is the number of the hard point, that
ranges from 0 up to WeaponCount
−1. The second argument is
the name of the weapon. Then three integer numbers follow whose meaning depends
on the specific weapon. The table below summarizes by examples all the
available weapons:
Example | Notes |
---|---|
|
M‑61A1 “Vulcan” cannon. 500 is the number of rounds initially supplied to the cannons. The other two numbers are ignored. |
|
AIM9M “Sidewinder”, infra‑red guided, short range, air‑to‑air missile. The other 3 numbers are ignored. |
|
AIM‑120 “AMRAAM”, radar guided, medium‑range, air‑to‑air missile. The other 3 numbers are ignored. |
An “object” can be the shape of an aircraft (field Object
of the
aircraft inventory file) or a feature of the scene file (record
FEATURE
). The format of the object file, described here, is copied
from the ACM Flight Simulator Frequently-Asked Questions List
mantained by Brad Bass (bass@convex.com).
The first line is the object name.
The 2nd line has two integers which represent the number of points and the number of polygons in the object.
Then, the points are listed, one per line, with the point id number followed by the X, Y and Z coordinate (North, East, Down). The units are feet.
Finally, the polygons are listed as color, number of corners, and the list of point id numbers. The color may be expressed as a single color or as a front and back color. Also, the polygon can be flagged as “one-sided” -- that is visible only from the front.
For example:
pyramid # the object name 5 4 # the point count and polygon count 1 28000 0 0 # the 2 0 16000 0 # points that 3 ‑35000 0 0 # describe 4 0 ‑14000 0 # the 5 0 0 ‑8200 # corners #788b63 3 1 2 5 # side 1 ‑ color (X‑style), cornercount, # corner list violet 3 2 3 5 # side 2 (blue red) 3 3 4 5 # side 3 ‑ front is blue, back is red (green clip) 3 4 1 5 # side 4 ‑ one‑sided polygon
As distributed, the DIS implementation supports UDP broadcasts to port 3000 enabling multi-seat interaction via a LAN, so if ACM instances use the "right" DIS parameters, their objects will be visible to each other. While collisions of aircraft are not possible, explosions of missiles and cannon fire enable participants to perpetrate hostilities upon each other. As DIS is an IEEE standard the canonical documentation is not open. However, since the ACM DIS code was last worked on, the Open DIS set of FOSS projects has come into being and even includes multicast transport of datagrams. See this description as a jumping off point for investigating what enhancements to ACM networking may be feasible these days.
ACM emits and recognizes the following DIS PDU Types:
Entity State
Fire
Detonation
Electromagnetic Emission
ACM uses the DIS/x DIS interface library. DIS/x supports dead reckoning of external entities using any of these methods:
Name Enumeration Value
Static 1
FPW 2
RPW 3
RVW 4
FVW 5
These dead reckoning methods are currently unsupported by DIS/x:
Name Enumeration Value
FPB 6
RPB 7
RVB 8
FVB 9
RPW 10
RVW 11
Entities managed by ACM emit entity state PDU’s specifying the RPW(3) dead reckoning method. No articulation parameters are currently sent by entities managed by ACM. As with most current DIS-based simulations, altitudes are expressed as heights above the WGS‑84 ellipsoid, not as heights above the geoid. Dead reckoning threshold values are hard-coded in this version of the product:
Description Value
Maximum time between Entity State PDUs 5 seconds
Dead Reckoning Cartesian distance error 2 meters
Dead Reckoning angular orientation error 3 degrees
When operating in IEEE 1278 mode, the default UDP port number for PDU transmission is 3000.
Field Size (bits) |
Transfer Control Request PDU fields | |
---|---|---|
96 | PDU Header |
Protocol Version—8‑bit enumeration |
Exercise ID—8‑bit unsigned integer |
||
PDU Type —8‑bit unsigned integer Protocol Family—8‑bit enumeration Timestamp—32‑bit unsigned integer Length—16‑bit unsigned integer |
||
Padding—16‑bits unused |
||
48 | Originating Entity ID |
Site—16‑bit unsigned integer |
Application—16‑bit unsigned integer |
||
Entity—16‑bit unsigned integer |
||
48 | Receiving Entity ID | Site—16‑bit unsigned integer |
Application—16‑bit unsigned integer Entity—16‑bit unsigned integer |
||
32 | Request ID | 32‑bit unsigned integer |
8 | Required Reliability Service | 8‑bit enumeration |
8 | Transfer Type | 8‑bit enumeration |
48 | Entity ID to be Transferred | Site—16‑bit unsigned integer |
Application—16‑bit unsigned integer Entity—16‑bit unsigned integer |
||
32 | Number of Record Sets (R) | 32‑bit unsigned integer |
96 + (L1 x Q1) + P1 |
Record Set #1 | Datum ID—32‑bit enumeration |
Record Set Serial Number—32‑bit unsigned integer |
||
Record Length—16‑bit unsigned integer (L1) |
||
Record Count—16‑bit unsigned integer (Q1) |
||
Record Values—(L1 x Q1) bits |
||
Padding—P1 bits |
||
· · · |
||
96 + (LR x QR) + PR |
Record Set #R |
Datum ID—32‑bit enumeration |
Record Set Serial Number—32‑bit unsigned integer |
||
Record Length—16‑bit unsigned integer (LR) |
||
Record Count—16‑bit unsigned integer (QR) |
||
Record Values—(LR x QR) bits |
||
Padding—PR bits |
Total Transfer Control Request PDU size:
320 + Sumi=1..R(96 + (Li x Qi) + Pi) bits
where R is the number of Record Sets.
ACM currently ignores record sets in a transfer control PDU.
This section specifies the 8‑bit enumeration for the Transfer Type field of the Transfer Control PDU.
Field Value | Nature |
---|---|
0 | Other |
1 | Controlling application requests transfer of an entity |
2 | Application desiring control requests transfer of an entity |
3 | Mutual exchange / swap of an entity |
4 | Controlling application requests transfer of an environmental process |
5 | Application desiring controls request transfer of an environmental process |
6 | Mutual exchange of an environmental |
Assuming Ownership
Accepting Ownership by Request
Another feature of ACM’s transfer control protocol support is that other applications may request that ACM take control of an aircraft that the other application controls.
While there was a time way back when that someone had ported ACM to run in this environment, it has not been supported or even worked with for years. This section contains the historical documentation for reference but you should expect to do a lot of work to get this software running on a contemporary Microsoft platform.
This section contains some information to help you navigate through the ACM for Windows sources.
Here’s a summary of the contents of each of the directories in the source code tree:
source\acm Toplevel directory for ACM for Windows source\acm Toplevel directory for ACM for Windows source\acm\pc The MFC‑based front‑end to the simulator This directory holds the mainacm.dsw
VC++ 5.0 project workspace. source\acm\pc\hlp Help files associated with the project source\acm\pc\res Windows resources (bitmaps, icons, ...) source\acm\src C‑based flight simulator code source\acm\V\lib The 3D graphics library source\acm\V\test source\acm\dis\lib The DIS/x IEEE 1278 library source\acm\dis\test source\acm\dis\disgen IEEE 1278 protocol compiler source\acm\tools Various infrequently used tool sources source\include Supplemental system header files source\oncrpc A Windows port of Sun’s ONC RPC libraries source\rpcgen A Windows port of Sun’s RPCGEN command
Install this software (if you are reading this, then you have already done that).
Ensure Visual C++ 5.0 has been installed
Install the DirectX Software Development Kit.
Several directories included in the source release must be added to the default search directories. From the Tools>Options… menu in Developer Studio select the Directories tab. Select Include files in the Show Directories for: box. Double click the empty entry at the bottom of the current list and add the c:\sources\include directory – adjust the directory name to suit the correct ACM for Windows source installation location on your system.
From the Tools>Options… menu in Developer Studio select the Directories tab. Select Executable files in the Show Directories for: box. Double click the empty entry at the bottom of the current list and add the c:\bin directory – adjust the directory name to suit the correct ACM for Windows source installation location on your system.
Double click the empty entry at the bottom of the current list and add the c:\DXSDK\sdk\inc directory – adjust the directory name to suit the correct DirectX Software Development Kit installation location on your system. Use the arrow keys to move this item to the top of the directory list. If you do not do this, Visual C++ will incorrectly use the DirectX version 2 include files that shipped with VC++ 5.0.
From the Tools>Options… menu in Developer Studio select the Directories tab. Select Library files in the Show Directories for: box. Double click the empty entry at the bottom of the current list and add the c:\DXSDK\sdk\lib directory – adjust the directory name to suit the correct DirectX Software Development Kit installation location on your system. Use the arrow keys to move this item to the top of the directory list. If you do not do this, Visual C++ will incorrectly use the DirectX version 2 library files that shipped with VC++ 5.0.
Open the main ACM for Windows VC++ workspace. It is named \source\acm\pc\acm.dsw
The basic workspace includes five projects:
acm \source\acm\pc\acm.dsp The main program fsim \source\acm\src\fsim.dsp the flight simulation library vlib \source\acm\V\lib\vlib.dsp the 3D graphics library dis \source\acm\dis\lib\dis.dsp the IEEE 1278 DIS library disgen \source\acm\dis\disgen\disgen.dsp a DIS header file generator
Advanced
Use this button to select a different DirectPlay service provider (modem,
TCP/IP, direct connect serial, or IPX) or to set IEEE 1278 DIS parameters.
NOTE. Some versions of the original ACM‑5.0 program were available also for Microsoft Windows. Currently ACM‑7.0‑dlc does not compile on Windows. These notes are still here in the hope some day ACM‑7.0‑dlc will expand its range of supported operating systems.
Call Sign
Although this is not completely implemented, yet, you may
register your aircraft’s call sign – which will used to
identify you to other players.
Aircraft Type
You may select either a MiG‑29M or F‑16C Falcon.
Team
Team
locations are defined in the scene file. In the scene file shipped
with ACM, team one is based at Addison airport in Dallas, Texas.
Team two is based a Sheppard Air Force Base, Wicita Falls, Texas.
Full Screen
If you select full-screen mode, ACM will occupy the full
screen (surprise). Currently, the full screen layout is 800x600 and
256 colors.
AAM | Air‑to‑Air Missile |
ACM | Air Combat Modeler |
AGL | Above Ground Level (more precisely, above planetary surface, but not necessarily above man-made artifacts situated on the surface) |
AOA | Angle Of Attack (also AoA) |
ASL | Above Sea Level (also MSL) |
CAVU | Ceiling And Visibility Unlimited |
DME | Distance Measurement Equipment |
DIS | Distributed Interactive Simulation |
ECM | Electronic Countermeasures |
FPM | Feet Per Minute, the normal unit for rate of climb/descent |
HSI | Horizontal Situation Indicator |
HUD | Head‑Up Display |
IAS | Indicated Airspeed |
IFR | Instrumental Flight Rules |
ILS | Instrumental Landing System |
IR | Infrared |
KIAS | Knots Indicated Airspeed |
KT | Nautical Miles per Hour, NM/h. |
LOC | Localizer |
MH | Magnetic Heading, the direction referred to the magnetic north pole (see also TH, VAR) |
MSL | [relative to] Mean Sea Level (also ASL) |
NAV | Navigation |
NDB | Nondirectional Radio Beacon |
OBS | Omni Bearing Selector |
RWR | Radar Warning Receiver |
TAA | Target Aspect Angle |
TACAN | Tactical Air Navigation System |
TAS | True Airspeed |
TEWS | Threat Early Warning System—a form of radar warning receiver |
TH | True Heading, the direction referred to the geographic north pole (see also MH, VAR) |
VAR | Magnetic variation, the difference between the geographic north and the magnetic north: VAR = TH ‑ MH. For example, VAR=+6=6°E means that the local magnetic north points toward 6° geographic. |
VFR | Visual Flight Rules |
VOR | VHF Omnidirectional Radio Range |
WP | Waypoint |
Numbers are indicated with 4 significant digits.
Name | Symbol | Value(1) | Equivalences |
---|---|---|---|
Time | |||
Second | s | ||
Minute | min | 60 s | |
Hour | h | 3600 s | |
Length | |||
Meter | m | 3.281 ft = 0.0005400 NM | |
Foot | ft | 0.3048 m = 0.0001646 NM | |
Nautical Mile(2) | NM | 1853 m = 1.853 Km = 6076 ft | |
Speed | |||
Knot | KT | 1 NM/h | 0.5144 m/s = 1.852 Km/h = 1.6878 feet/sec |
Feet per minute | fpm | 1 ft/min | 0.3048 m/min = 0.005080 m/s |
Mass | |||
Pounds | lb | 0.4536 kg | |
Kilogram | kg | 2.205 lb | |
Slug | slug | 1 lbf / (1 ft/s2) | 32.17 lb = 14.59 Kg |
Acceleration | |||
Earth acceleration at sea level(3) |
g | 9.806 m/s2 = 32.17 ft/s2 | |
Force | |||
Newton | N | 1 kg m / s2 | 0.1020 Kgf = 0.2248 lbf |
Kilogram‑force(4) | Kgf | 1 kg g | 9.806 N = 2.205 lbf |
Pound‑force(4) | lbf | 1 lb g | 4.448 N = 0.4536 Kgf |
Slug‑force(4) | slugf | slug g | 143.1 N = 32.17 lbf |
1. A value is given only for those units that are defined in terms of other base units.
2. Nautical miles are a practical length unit used in naval and aerial navigation, as its value is is very close to the length of a arc‑minute measured along a meridian, or the length of a arc‑minute measured along the equatorial line.
3. As Isaac Newton explained, on the Earth at sea level every body fall under its weight with the same acceleration, here indicated with the slanted letter g, not to be confused with the gram unit of mass “g”.
4. The weight is the force with which the Earth attracts bodies toward its center. So it is useful for practical calculations to associate to every mass unit (kg, lb, ...) its corresponding weight‑force unit whose symbol is the same as the mass unit with “f” added. Then, for example, 1 lbf is the weight of 1 lb mass measured on the Earth at sea level.