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:
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:
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
|
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