Source Code

These source code files are a reconstruction of Sundance, the Apollo 9 LM (Lunar Module) AGC (Apollo Guidance Computer) flight software, created from binary dumps of original core rope program modules, as follows:
  • B1 — Revision 292
  • B2 — Revision 302
  • B3 — Revision 302
  • B4 — Revision 302
  • B5 — Revision 292
  • B6 — Revision 306
This means that source code does not represent a specific historical revision of Sundance, but rather a mixture of the three released versions. Nonetheless, it is capable of flying the whole Apollo 9 mission. This source code matches the binary dumps, as closely as feasible, but 100% match is not possible, due mostly to changes in memory addresses at which code and variables were allocated in different revisions of Sundance. Refer to this list of explanations for each binary mismatch.

Since only binary dumps (rather than listings) of Sundance are available as source material, all comments and labels are approximate. They have been taken from other AGC programs where possible, or, in some places, written from scratch to match what we believe would have been in the original listing.

001698,000002:                                                                                                  ## Copyright:   Public domain.
001699,000003:                                                                                                  ## Filename:    SUBROUTINE_CALLS.agc
001700,000004:                                                                                                  ## Purpose:     A section of a reconstructed, mixed version of Sundance
001701,000005:                                                                                                  ##              It is part of the reconstructed source code for the Lunar
001702,000006:                                                                                                  ##              Module's (LM) Apollo Guidance Computer (AGC) for Apollo 9.
001703,000007:                                                                                                  ##              No original listings of this program are available;
001704,000008:                                                                                                  ##              instead, this file was created via disassembly of dumps
001705,000009:                                                                                                  ##              of various revisions of Sundance core rope modules.
001706,000010:                                                                                                  ## Assembler:   yaYUL
001707,000011:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
001708,000012:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
001709,000013:                                                                                                  ## Mod history: 2020-06-17 MAS  Created from Luminary 69.
001710,000014: 
001711,000015:                                                                                                  ## This section is speculation; we don't know exactly what all of the subroutines
001712,000016:                                                                                                  ## in Sundance were called.
001713,000017: 
001714,000018: 43,2000                                           SUBRO    DANCERAS                              
001715,000019: 43,2000                                           SUBRO    LEMONAID                              
001716,000020: 43,2000                                           SUBRO    LEMP20S                               
001717,000021: 43,2000                                           SUBRO    LEMP30S                               
001718,000022: 43,2000                                           SUBRO    KISSING                               
001719,000023: 43,2000                                           SUBRO    FLY                                   
001720,000024: 43,2000                                           SUBRO    LEMP50S                               
001721,000025: 43,2000                                           SUBRO    SKIPPER                               
001722,000026: 43,2000                                           SUBRO    LMDAP                                 
001723,000027: 
001724,000028: 

End of include-file SUBROUTINE_CALLS.agc.  Parent file is MAIN.agc