Source Code

These source-code files are part of a reconstructed copy of Comanche 44, the initial release (though not the final mission release) of the Apollo 10 Command Module (CM) Apollo Guidance Computer (AGC) software. Subsequent releases were Comanche 45 and Comanche 45/2 (the flown release on Apollo 10). The reconstruction is believed to be exactly accurate, but in the absence of an actual Apollo-era listing of Comanche 44, some explanation of the reconstruction process is needed to insure confidence in that accuracy.

The starting point was the source code of Comanche 51 (separately previously reconstructed from an Apollo-era listing of Comanche 55, flown on Apollo 11). Comanche 51 source code was then modified by undoing changes known to have been made between revisions 44 and 51. The now-reconstructed Comanche 44 source code was verified by assembling it and checking that the assembled code had the expected known-correct memory-bank checksums. Note that page numbers in the reconstructed code match those on the Comanche 55 printout, although the source code would likely have different page numbers in a contemporary Comanche 44 listing.

Annotations that were not present in the contemporary source code have been added to the reconstructed code to justify each change relative to Comanche 51. Here's a guide to the Apollo documentation referenced in those annotations:
In most cases, only the titles (rather than the full texts) of PCRs are known. In addition to the explanatory annotations, there is also a step-by-step commentary about the reconstruction process.

Comments expected to have been present in the original source code are prefixed with a single '#' symbol, whereas comments added later are prefixed by "##" or "###". Report any errors noted by creating an issue report at the Virtual AGC Project's GitHub repository.

000020,000002:                                                                                                  ## Copyright:   Public domain.
000021,000003:                                                                                                  ## Filename:    CONTRACT_AND_APPROVALS.agc
000022,000004:                                                                                                  ## Purpose:     A section of Comanche revision 044.
000023,000005:                                                                                                  ##              It is part of the reconstructed source code for the
000024,000006:                                                                                                  ##              original release of the flight software for the Command
000025,000007:                                                                                                  ##              Module's (CM) Apollo Guidance Computer (AGC) for Apollo 10.
000026,000008:                                                                                                  ##              The code has been recreated from a copy of Comanche 055. It
000027,000009:                                                                                                  ##              has been adapted such that the resulting bugger words
000028,000010:                                                                                                  ##              exactly match those specified for Comanche 44 in NASA drawing
000029,000011:                                                                                                  ##              2021153D, which gives relatively high confidence that the
000030,000012:                                                                                                  ##              reconstruction is correct.
000031,000013:                                                                                                  ## Assembler:   yaYUL
000032,000014:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
000033,000015:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
000034,000016:                                                                                                  ## Mod history: 2020-12-03 MAS  Created from Comanche 51.
000035,000017:                                                                                                  ##              2020-12-05 MAS  Changed name to COLOSSUS 2 and dates to
000036,000018:                                                                                                  ##                              approximate Comanche 44 release date.
000037,000019:                                                                                                  ##              2020-12-11 RSB  Added justifying annotations related to
000038,000020:                                                                                                  ##                              Mike's reconstruction.
000039,000021: 

Page 1

000041,000023: 

Reconstruction: We don't know of any surviving specific contemporary documentation supporting the material in this log section, absent an Apollo-era assembly listing of it. The section contains only comments and no executable code. We have simply modeled the Comanche 44 version of it on the corresponding log section of Comanche 55, but have changed a handful of items in ways that seem sensible to us. The annotations below thus provide our common-sense reasoning on the matter, rather than justification from documentation.

000049,000031: 
000050,000032:                                                                                                  #  ************************************************************************
000051,000033:                                                                                                  #  *                                                                      *
000052,000034:                                                                                                  #  *             THIS AGC PROGRAM SHALL ALSO BE REFERRED TO AS:           *
000053,000035:                                                                                                  #  *                                                                      *
000054,000036:                                                                                                  #  *                                                                      *

Reconstruction: The line in Comanche 55 corresponding to the following one reads "COLOSSUS 2A". We have changed it to "COLOSSUS 2" for Comanche 44, since generically COLOSSUS 2 refers to the Apollo 10 CM software; COLOSSUS 2A, 2C, 2D, and 2E generically refer to Apollo 11, 12, 13, and 14.

000060,000042:                                                                                                  #  *                             COLOSSUS 2                               *
000061,000043:                                                                                                  #  *                                                                      *
000062,000044:                                                                                                  #  *                                                                      *
000063,000045:                                                                                                  #  *      THIS PROGRAM IS INTENDED FOR USE IN THE CM AS SPECIFIED         *
000064,000046:                                                                                                  #  *      IN REPORT R-577.  THIS PROGRAM WAS PREPARED UNDER DSR           *
000065,000047:                                                                                                  #  *      PROJECT 55-23870, SPONSORED BY THE MANNED SPACECRAFT            *
000066,000048:                                                                                                  #  *      CENTER OF THE NATIONAL AERONAUTICS AND SPACE                    *
000067,000049:                                                                                                  #  *      ADMINISTRATION THROUGH CONTRACT NAS 9-4065 WITH THE             *
000068,000050:                                                                                                  #  *      INSTRUMENTATION LABORATORY, MASSACHUSETTS INSTITUTE OF          *
000069,000051:                                                                                                  #  *      TECHNOLOGY, CAMBRIDGE, MASS.                                    *
000070,000052:                                                                                                  #  *                                                                      *
000071,000053:                                                                                                  #  ************************************************************************
000072,000054: 

Reconstruction: The signature names and titles below are not actually known for certain. Because Comanche 44 through 55 were separated by only 1-3 months in time (see below), we assume that personnel turnover in that limited period of time would be unlikely. Hence we have retained the same names and titles for Comanche 44 as for Comanche 55.

On the other hand, the DATE fields below are more speculative, and are very likely to be wrong but unlikely to be too wrong. Consider the document Software Systems Development: A CSDL Project History, Table 4-6. From the data in that table, and from the Comanche 55 source code, here is a timeline of events for your consideration:
  • March 28, 1969: Signoff date in Comanche 55's CONTRACT AND APPROVALS log section.
  • April 18, 1969: Colossus 2A released. We presume that this refers to the release of Comanche 55.
From this timeline, we conclude that for Comanche 55, CONTRACT AND APPROVALS signoffs occurred 3 weeks prior to the official release date of the software.

To use that information, however, requires knowing the release date for Comanche 44, which does not appear in the reference just mentioned. The best information we're aware of comes from MIT's Role in Project Apollo, Final Report, Table 4-II. There, we see release dates of
  • February, 1969: Comanche 44 released.
  • April, 1969: Comanche 55 released.
which is consistent, but which unfortunately lacks some specificity. At any rate, noting that Comanche 44 was released sometime between February 1 and February 28, and then subtracting 21 days, we guess that the software signoffs occurred somewhere between January 11 and February 7. The midpoint of that range is January 24, which in 1969 was a Friday.

000109,000091:                                                                                                  #        SUBMITTED:      MARGARET H. HAMILTON            DATE:   24 JAN 69
000110,000092:                                                                                                  #                M.H.HAMILTON, COLOSSUS PROGRAMMING LEADER
000111,000093:                                                                                                  #                APOLLO GUIDANCE AND NAVIGATION
000112,000094: 
000113,000095:                                                                                                  #        APPROVED:       DANIEL J. LICKLY                DATE:   24 JAN 69
000114,000096:                                                                                                  #                D.J.LICKLY, DIRECTOR, MISSION PROGRAM DEVELOPMENT
000115,000097:                                                                                                  #                APOLLO GUIDANCE AND NAVIGATION PROGRAM
000116,000098: 
000117,000099:                                                                                                  #        APPROVED:       FRED H. MARTIN                  DATE:   24 JAN 69
000118,000100:                                                                                                  #                FRED H. MARTIN, COLOSSUS PROJECT MANGER
000119,000101:                                                                                                  #                APOLLO GUIDANCE AND NAVIGATION PROGRAM
000120,000102: 
000121,000103:                                                                                                  #        APPROVED:       NORMAN E. SEARS                 DATE:   24 JAN 69
000122,000104:                                                                                                  #                N.E. SEARS, DIRECTOR, MISSION DEVELOPMENT
000123,000105:                                                                                                  #                APOLLO GUIDANCE AND NAVIGATION PROGRAM
000124,000106: 
000125,000107:                                                                                                  #        APPROVED:       RICHARD H. BATTIN               DATE:   24 JAN 69
000126,000108:                                                                                                  #                R.H. BATTIN, DIRECTOR, MISSION DEVELOPMENT
000127,000109:                                                                                                  #                APOLLO GUIDANCE AND NAVIGATION PROGRAM
000128,000110: 
000129,000111:                                                                                                  #        APPROVED:       DAVID G. HOAG                   DATE:   24 JAN 69
000130,000112:                                                                                                  #                D.G. HOAG, DIRECTOR
000131,000113:                                                                                                  #                APOLLO GUIDANCE AND NAVIGATION PROGRAM
000132,000114: 
000133,000115:                                                                                                  #        APPROVED:       RALPH R. RAGAN                  DATE:   24 JAN 69
000134,000116:                                                                                                  #                R.R. RAGAN, DEPUTY DIRECTOR
000135,000117:                                                                                                  #                INSTRUMENTATION LABORATORY
000136,000118: 

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