Home / Section index

 The ACM flight simulator - Download page

This is the download page for the ACM-5.0-ico version of the ACM Air Combat Maneuvering program. The ACM-5.0 flight simulator was originally written by Riley Rainey (www.websimulations.com). The ACM-5.0-ico version has some additions and some improvements listed in the Main Differences section of this page, whose main aim is to enhance the program for instrumental flight.

Landing with the Cessna 172-RG at the Addison airport, Texas, following the ILS descent path. In this case the autopilot is enabled; it will perform also the flare maneuver for a gentle touchdown.

Dog fight F-16 vs. MiG-29. The HUD displays the target locked on the radar and the currently selected weapon.

Suggestive scenery of the Dallas airport by night. The pilot can practice with the instrumental flight using VOR/DME stations and NDB stations.

Bombing practice with the CCIP calculator. Once the Mark 82 bomb is selected, the HUD displays the CCIP symbols.


Main Differences
The package


The program is distributed under the GNU GENERAL PUBLIC LICENSE version 2.


Here is a summary of the main features:

  • Simulation with 6 degrees of freedom.
  • Tricycle and bicycle landing gear simulation.
  • Structural limit to the vertical positive/negative load.
  • Standard atmosphere.
  • Weather: daylight/night, fog, wind.
  • Classic instruments, including magnetic compass, turn and slip indicator, airspeed indicator, attitude and bank indicator, altitude indicator, vertical speed indicator.
  • Navigation: HSI with RNAV calculator, ADF.
  • Head-up display (HUD) and inertial reference system.
  • Auto-pilots: hold altitude, hold climb rate, hold speed, follow VOR radial, follow ILS glide path, rudder/ailerons coordination.
  • Several aircraft models implemented, both civil and military.
  • Two sceneries provided: Dallas area (Texas) and Italy area with hundreds of runways and radio stations.
  • Navigation charts in PDF format.
  • Source code provided with GPL license.

The classic instruments panel (from the ACM manual; click to enlarge).

Main Differences

For those that already know ACM-5.0, here is a list of the main difference between the original program and ACM-5.0-ico:

A graphical interface to launch the program that allows to choose between its many options is now provided (acm.tk). A precise scale factor gets calculated. Weather: wind, daylight or night flight. The quantity of fuel can now be specified along the payload weight. Every aircraft has a maximum vertical load factor; beyond this structural limit the aircraft gets destroyed. Proper magnetic heading indication. You can choose between classic instruments panel and HUD. Enhanced HUD with turn-and-slip indicator, bank indicator, timer and radar altimeter. Enhanced HSI with two independent receivers NAV1/NAV2 and five RNAV computers. NDB stations receiver and ADF indicator. Auto-Pilot System: hold climb rate, hold altitude, follow VOR radial, follow ILS descend path, ailerons/rudder auto-coordination, keep speed. Runway numbers now marks runway ends. Both tricycle and bicycle landing gear supported. Landing gear dynamics fully implemented on 3 wheel, including aerodynamic forces moving on the ground. More aircraft models: AMX, MD-81, Boeing 747, P-51A. The range of the radio stations now is limited both by emitted power and by altitude and Earth curvature. You can leave the ACM window in background and switch to other applications. Italy scene, with the main airports and NAVAIDs. Navigation charts in PDF format covering the Dallas scene and the Italy scene, including runways, NAV and ILS stations.

Bugs fixed:

Resolve properly second order differential equation. Now the flaps state is displayed. Crash for "Color Segment pool overflow" -- fixed. Fixed crash when at rest on the runway.

Description of the HUD features (from the ACM manual; click to enlarge).


acm-5.0-ico-20100109 Umberto Salsi <salsi@icosaedro.it>
+ HUD: pitch scale ladder now rendered in perspective projection, so that it
  matches exactly the pitch as indicated by the FPM (fix).
+ Stall warning: panel light + HUD display + audible alarm.
+ Player whose aircraft is damaged fall down and crashes.
+ More accurate CCIP HUD symbology (use circle rather than cross).
+ Mark 82 bomb blast may damage aircrafts.
+ CCIP: corrected position of the CCIP accounting for the pilot's head position.
+ Added keypad button 0 to look down.

acm-5.0-ico-20090215 Umberto Salsi <salsi@icosaedro.it>
+ Added Mark 82 drop bombs with CCIP calculator.
+ Added down view (keypad 0).
+ Inventory: Su-30 now armed with 4 MK82, 2 AIM9M and M61A1 for bombing
  practice with CCIP.

acm-5.0-ico-20090208 Umberto Salsi <salsi@icosaedro.it>
+ FIX: the runway numbers are now rendered in the proper order.
+ FIX: properly evaluates max lateral mouse range.
+ FIX: corrected elevator non-linear response curve.
+ Introduced wind gust model.
+ Anemometer: now displays speed limits arcs.
+ Attitude indicator: increased gyro rigidity.
+ Removed keyboard command 'u'.
+ Auto-Pilot System:
  + Now implemented using the proportional-integrative algo.
  + AC: smooth release.
  + AW: smooth release.
  + AL: performs flare maneuver at lower altitude.
+ Weapons:
  + Enabled radar guided "AMRAAM" missile AIM-120 (previously was disabled).
  + Drone algorithm now uses AIM-120 first, then AIM-9M.
+ Inventory file:
  + Removed unused parameters CLNegStall, CLPosStall, SeTrimTakeoff, CmFactor.
  + Added parameters MTOW, Vs0, Vs1, Vfe, Vno, Vne.
  + Weapons have new canonical names M61A1, AIM-9M, AIM-120, MK82.
  + C-172 has lower pitch.
  + F-16 and MiG-29 now mount 2 AIM-120.
  + MD-80 now has the thrust reverser.
+ Updated manual.

This is only a partial list that reports changes in the last 3 published versions of the program. The complete list is available in the file CHANGES of the distributed package.

The package

Source tarball: acm-5.0-ico-20100109.tar.gz (1551 KB)

Latest version under development: see CVS.


Umberto Salsi

Site map
Home / Section index

An abstract of the last comments from the visitors of this page follows. Please, use the Comments link above to read all the messages or to send your contribute.

2011-01-05 by Konran U.
I can't even configure ACM for make on openSuSE 11.1
When I try to ./configure ACM out of the stock I get this error message: "configure: error: Hmm. Your system does not support either random() or rand()." This is not correct as SuSE Linux has random(). Now I did an autoconf and ran ./configure again thus getting: "./configure: line 6047: syntax error: unexpected end of file" which seems to be a result of an uncomplete generated configure script. I'm unable to fix anything in the configure script or configure.in template. So, is there any help for that? Would be great as I really like to see a much more recent ACM than I ever knew ;-) Cheers, Konran

2010-11-22 by Anonymous
Re: I can't compile the game in Ubuntu Lucid Lynx.
Umberto Salsi wrote: [...] Yeah, I can run it now. I'm exploring more. Thank you very much :-)

2010-11-21 by Umberto Salsi
Re: I can't compile the game in Ubuntu Lucid Lynx.
Anonymous wrote: [...] You can safely remove the offending line #include <X11/xpm.h> from src/players.c line 25 as that library isn't used by ACM-5.0-ico anymore.

2010-11-20 by Anonymous
I can't compile the game in Ubuntu Lucid Lynx.
I tried to "make" it in Ubuntu 10.04 Lucid Lynx and this was what I got: username@username-laptop:~/Desktop/acm-5.0-ico-20100109$ make Making all in ./V ... make[1]: Entering directory `/home/username/Desktop/acm-5.0-ico-20100109/V' Making all in ./lib ... make[2]: Entering directory `/home/username/Desktop/acm-5.0-ico-20100109/V/lib' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/home/username/Desktop/acm-5.0-ico-20100109/V/lib' make[1]: Leaving directory `/home/username/Desktop/acm-5.0-ico-20100109/V' Making all in ./dis ... make[1]: Entering directory `/home/username/Desktop/acm-5.0-ico-20100109/dis' Making all in ./disgen ... make[2]: Entering directory `/home/username/Desktop/acm-5.0-ico-20100109/dis/disgen' make[2]: Nothing to be done for `all'. make[2]: Leaving [...]

2008-04-23 by Umberto Salsi
Re: Welcome
Anonymous wrote: [...] You can start playing around the src/mouse.c module simply overriding the mouse code. Remember to add proper library flags to the Makefile. Adding support for the joystick buttons is more challanging, but since I don't have a joystick I can't help on that point. If all that work, the next refinement step would be to add some flag to the main program (main.c) allowing the user to choose its preferred input device, and possibly adding that flag to acm.tk too. If things get more complex, create your own module "joystick-ubs.h/.c" or something alike. And then, finally, if you send me the resulting patch I will be very glad to add it to the CVS and to the next release. Happy landings.

2008-04-22 by Anonymous
It's a wonderful idea to have somebody taking the torch of this wonderful code. I would like to add usb joystick support, any ideas?.