AGC was the main computer system of the Apollo program that successfully landed 12 astronauts on Moon. There was one AGC on each of the Apollo Command Modules and another one on each Lunar Module. There was also a second backup computer system called Abort Guidance System (AGS) on the Lunar Modules, which is simulated by Virtual AGC, but not the current version of Moonjs.
Astronauts interacted with AGC by using DSKY, a combination of 7-segment numerical displays, indicator lights and a simple keypad, which is simulated on this page. The simulated DSKY communicates with a simulated AGC, which in turn runs a copy of Colossus 249, the flight software that flew on the Apollo 9 Command Module.
To build Moonjs, you need to have Emscripten and its requirements (including Clang C compiler, python 2.7 and node.js) installed on your computer.
Change the including Makefile by setting EMCC to the directory of the installed Emscripten (default is /usr/local/emsripten). Compile the source by
Do not use '.configure'. If compilation succeeds, it will generate 'agc.js' file which included the compiled asm.js and the required libraries. It also generate 'agc.data', which is a copy of the corerope image (provided as Core.bin) packaged for loading using AJAX.
The following files are needed to run Moonjs:
Also if you are testing the software from local disk, Chrome security prevents loading agc.data using AJAX over the local file system. If you are using Chrome, you need to run a static web server. For example, run the following command in the Moonjs directory:
$ python -m SimpleHTTPServer 8000
and run Moonjs by pointing the browser to http://localhost:8000/agc.html.