The ACM flight simulator - Download page

Slide show: Auto

This page updated: 2020-04-16

Lightweight flight simulator available here for download. Features (latest changes in boldface):

Available sceneries, with PDF navigation charts:

Europe sceneries generated from the ourairports.com database ( France , Germany , Italy, Spain , United Kingdom ),

USA sceneries generated from the FAA database (Boston area, Dallas area, Las Vegas area , Los Angeles area, New York area, San Francisco area, Tucson area ).

Europe sceneries generated from the ourairports.com database ( , , Italy, , ), USA sceneries generated from the FAA database (Boston area, Dallas area, , Los Angeles area, New York area, San Francisco area, ). Open source, mostly GNU GPL or public domain license.

Only C source code with small TCL launcher interface.

Runs on Linux and Windows.

Very small CPU and memory footprint; does not require specialized hardware.

Simulated environment: ellipsoidal Earth (WGS-84 model), magnetic field calculation (NOAA WMM model) , Sun ephemeris allow to calculate the Sun position and general scene illumination, standard atmosphere, wind and gusts, clouds.

, allow to calculate the Sun position and general scene illumination, standard atmosphere, wind and gusts, clouds. Aircraft models: several available, both civil and military, 6 degrees of freedom, bicycle or tricycle landing gear, aerodynamics simulation; power-plant: propeller piston engine, jet engine with afterburner, rocket, glider.

Instrumentation: magnetic compass, classic panel (attitude indicator, airspeed indicator, altitude indicator, turn and slip indicator, climb speed indicator), HSI and RNAV calculator, ADF, head-up display, autopilot, direct stick control or rate stick control.

Weapon systems: radar, radar warning receiver, missiles, cannon, drop bombs; robot opponents can be generated for ACM techniques practicing.

Multiplayer capability through the standard DIS network protocol; up to 31 remote players supported.

Sound effects.

Extensible sceneries for several areas of the world, with navigation charts including airports, NDB, VOR, ILS.

Allow to choose the departure date and time (Sun lighting and Earth magnetic field are calculated accordingly), airport and runway ; allows to fly freely around the globe (sceneries are now dynamically loaded, where available).

(Sun lighting and Earth magnetic field are calculated accordingly), ; allows to (sceneries are now dynamically loaded, where available). Chart program to generate navigation charts from the sceneries above.

Castorino ACM DIS protocol relay server available!

A DIS protocol relay server is available on castorino.icosaedro.it port 3000. The default exercise is 1, any other exercise number can be set and shared among the participants to a simulation.

Available packages and resources

LATEST CHANGES

A detailed listing of all the recent changes.

acm-6.0_20200416-windows.zip (1265 KB)

Executable program for Windows x86_32 and x86_64 (this latter in compatibility mode). Windows users should download this package. It contains all you need to execute the program, including sceneries, navigation charts and reference manual. Highly recommended the tcl/tk interpreter in order to execute the handy ACM launcher interface, I recommend that from Magicsplat.

acm-6.0_20200416.tar.gz (1536 KB)

Source code package, mostly C language, 32-bits and 64-bits compliant for Linux and Windows. Linux users must download this one; no binary package available for them, but no fear: no need for exotic libraries or special configurations, the standard gcc compiler and usual console tools are just fine! Windows users might find compiling these sources a bit more challenging as the installation of the MinGW system development kit is also required.

Sources repository

CVS repository for the latest changes (see the CHANGES.txt file). Anonymous CVS access also available, see CVS.

Reference Manual

A comprehensive guide to all the features of the program, including the description of all the available instruments, a basic flight tutorial, weapon systems, how to define new aircraft and new sceneries. Included in all the packages above.

ACM Issues Tracking System

Collection of known bugs, features and related discussions about the ACM project.

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

2020-03-13 by Umberto Salsi

Re: Next release?

Guest wrote: [...] As you can see, there are some fixes and updates available in the CVS repository, mainly to support the updated WMM coefficient of the Earth magnetic field (the current "stable" packet of ACM gives an error about the stale coefficients table). So to get rid of that annoying message, you may download the source from the CVS. Apart from that, some other minor changes I'm currently working on (and not committed yet) are: - Rudder movements are synchronized with the nose gear steering like in a real plane. The idea is that facing cross wind while taking off and landing could be more realistic. Side effect: steering is now performed pressing the Z and C keys, the same keys of the rudder. I'm not sure if this change could really add some realism, I still fail on take-off with strong crosswind (runway excursion), and certainly steering on the terrain with the keyboard is quite difficult. To be reconsidered. - Again in the realm of realism, I would like to add some implement[...][more...]

2020-03-13 by Guest

Next release?

Hi, Umberto! I sew activity (few commits with various fixes) in CVS repo made on January 2020. Has you plans to release next version of ACM 6.0?[more...]

2018-07-21 by RedCat42

Update

Hey again, I quickly tried some code and indeed, by replacing the error lines by : if( *s != '-' ) return 0; s++; it indeed works perfectly and I can now launch acm. Thank you a lot, I am surprised that even years and years after release, you are still here. Peace out ![more...]

2018-07-21 by RedCat42

Re: Departure Time Bug

Alright, we're getting to something ! Yey ! Here is my version of gcc : gcc --version gcc (Debian 7.3.0-24) 7.3.0 And I can confirm these are the only errors showing up. If you want the whole log : ----------- # Really do all (but something does not builds yet): #find . -mindepth 2 -name Makefile \ # | while read m; do make -C $(dirname $m) all || exit 1; done # # Only do what we really care the most: make -C src all make[1]: Entering directory '/root/Téléchargements/acm-6.0_20180402/src' rm -rf doxygen-html find . -mindepth 2 -name Makefile \ | while read m; do make -C $(dirname $m) all || exit 1; done make[2]: Entering directory '/root/Téléchargements/acm-6.0_20180402/src/util' make audio.o error.o gui.o hashtable.o memory.o prng.o reader.o sparsearray.o timer.o units.o varray.o wav.o zulu.o make[3]: Entering directory '/root/Téléchargements/acm-6.0_20180402/src/util' gcc -Wall -Werror -g -fmax-errors=99 -Wuninitialized -Wmissing-prototypes -Wredundant-decls -c audio.c -o audio.o gcc[...][more...]

2018-07-21 by Umberto Salsi <salsi@icosaedro.it>

Re: Departure Time Bug

RedCat42 wrote: [...] [...] So it seems you are using some newer version of gcc 6 or 7 (while I'm still using the "old" 5) which introduces several new warnings and, among these, the "misleading-indentation" warning as detected above. I don't know why these statements went formatted so badly, but obviously the "s++;" statement should go on a line by its own, so it is easy to fix making happy gcc -Wall. If you could confirm the version of gcc (type "gcc --version" at the terminal) and you could confirm those lines are the only one affected, I may publish a fixed release; write to my a note here or by email, so I can add the due credits! Regards, - U.S.[more...]

2018-07-20 by RedCat42

Re: Departure Time Bug

I do apologize for being so impatient. I was very interested by acm and little errors never stopped showing up until this one. I will now answer each point : 1. I am on a linux debian machine, x64, with apparently the newest version of gcc. I however do not know any more details, so you will need to precise which one if you want some. 2. I did not specified any parameter with my compiler. Just typed "make" and let it go. 3. It is reasonably current, as I only tried 2017 and 2018 dates. 4. I can not, as it chooses "now" as default, it brings this error up : ACM-6.0_20180402 internal error in zulu.c:101: timestamp underflow for year 0. Aborted 5. I can not either, as it brings this error : ./acm.exe -departure-time 2017-10 ACM-6.0_20180402: invalid departure date and time '2017-10'. Check format and range of each field, examples: 2017-10 (2017-10-01T00:00:00 assumed) 2017-10-20 (00:00:00 assumed time) 2017-10-20T12:34 (00 seconds assumed) 2017-10-20T12:34:56 Allowed year range is [1583,9[...][more...]

2018-07-20 by Umberto Salsi <salsi@icosaedro.it>

Re: Departure Time Bug

RedCat42 wrote: [...] Sorry for the inconvenience, but be patience. I can't reproduce the issue here, as all is working fine for both 'now' and '2017-10-09T09:00' under: - Slackware 14.2, x86_64, gcc 5.3.0 and - Windows 7, x86_32, MinGW 0.6.2, gcc 5.3.0 by compiling the sources with their current Makefile. 1. Which is your box? 2. Have you set some special compiler option? 3. Is your current date/time reasonably current? 4. Can you start the program from the command line? for example: src/acm/acm.exe 5. Can you start the program from the command line by also setting the departure time? for example (year and month only): src/acm/acm.exe -departure-time 2018-07 6. If also these commands fails, which is the exact displayed error? 7. If you have compiled from the sources, then you should have the test code too; try compiling and execute the test code related to the Zulu date handling: cd test/util make zulu-test.exe ./zulu-test.exe If nothing appears on the screen, at least we know the src[...][more...]

2018-07-20 by RedCat42

Departure Time Bug

Howdie, I finally managed to install acm, but I still can't launch it. Whatever the departure time it gets, it will throw me an error. When I choose "now" : Underflow for year 0 (The program apparently doesn't get the date right) When I choose a manual date : 2017-10-09T09:00 is what I type in. ACM-6.0_20180402: invalid departure date and time '2017-10-09T09:00'. This is quite frustating indeed. I can't wait to see your response. [more...]

2018-05-10 by Umberto Salsi <salsi@icosaedro.it>

Re: I can't even configure ACM for make on openSuSE 11.1

Konran U. wrote: [...] My web commenting system is back on, and after only 7 years of delay :-) I can finally reply to this question. Although it might seem the same program, the sources of ACM-6 are quite different from the original ACM-5 and I rewrote most of the code (DIS protocol, sound support, display management, maps handling, and more). But about your specific issues: 1. The "configure" script is gone; dependencies from the underlying system are accounted in the Makefile under each directory, any dependency from external libraries is keep to a minimum and then it should compile fine under any Linux distribution. 2. The pseudo-random number generator is now built-in as a custom library of ACM, so no more issues about that. Regards, - Umberto Salsi[more...]

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[more...]

2010-11-22 by Guest

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 :-) [more...]

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.[more...]

2010-11-20 by Guest

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 directory `/home/username/Desktop/acm-5.0-ico-20100109/dis/disgen' Making all in ./lib ... make[2]: Entering directory `/home/username/Desktop/acm-5.0-ico-20100109/dis/lib' make[2]: Nothing to be done[...][more...]

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. [more...]