Skip to content

jqntn/Apollo-11-C89

 
 

Repository files navigation

Comanche055-C89

ANSI C89 port of the Apollo 11 Guidance Computer (AGC), specifically the Command Module (Comanche 055 / Colossus 2A).

Translated from the original AGC assembly source at chrislgarry/Apollo-11.

Overview

Self-contained, single-threaded console application.

Faithfully reproduces AGC fixed-point arithmetic, the executive job scheduler, waitlist timer system, and DSKY verb/noun interface.

Platform Support

Primary development and support targets are Windows and Linux.

Frontend availability by platform:

Frontend Windows Linux macOS
Console Yes Yes Yes
GUI Yes No No
Web UI Yes Yes Yes

Implemented:

  • P00 — CMC Idling
  • V82 / R30 — Orbital parameters (apogee, perigee, TFF)
  • V16 N36 — Mission clock
  • V35 — Lamp test
  • V36 — Fresh start
  • V37 — Program select
  • V21–V25 — Data load
  • V06 / V05 — Decimal / octal display

Stubbed: All other programs (alarm on selection).

Build

Source is in Comanche055-C89/.

CMake

cmake -B build
cmake --build build

Usage

./comanche055

Or skip the menu with a display mode argument:

./comanche055 <console|gui|web>

Keyboard mapping is shown on the DSKY display:

Key Function
V VERB
N NOUN
E ENTR
09 Digits
+ / - Sign
C CLR
R RSET
P PRO
K KEY REL
Q Quit

Example: type V 3 5 E for lamp test, V 1 6 E N 3 6 E for mission clock.

Screenshots

ASCII Terminal Win32 GDI Web UI
ASCII UI Win32 GDI UI Web UI

Roadmap

  • Graphical DSKY interface
  • Full program implementations (P20–P25, P30–P39, P40–P47, P51–P53, P61–P67)
  • State vector propagation and orbit integration
    • Compute spacecraft position/velocity using AGC state vectors, burns, and gravity models
  • IMU simulation
    • Model gyros/accelerometers, platform alignment, and drift so guidance logic receives realistic inertial inputs
  • Telemetry downlink display
    • Decode AGC downlink words/frames and present key flight values and alarms in real time

License

Public domain, consistent with the original AGC source code.

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Assembly 95.6%
  • C 4.4%