Raw File
Main.annotation
<table style="text-align: left;" border="1" cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td style="white-space: nowrap; vertical-align: middle;">
<img alt="" src="Apollo32.png" style="width: 32px; height: 32px;" align="left">
</td>
<td style="vertical-align: middle;">
These source-code files are part of a reconstructed copy of Comanche 51, the
initial release (though not the final mission release) of the Apollo 11 
Command Module (CM) Apollo Guidance Computer (AGC) software.  The flown, final
release was Comanche 55. The reconstruction is believed to be exactly accurate, 
but in the absence of an actual Apollo-era listing of Comanche 51, some 
explanation of the reconstruction process is needed to insure confidence in 
that accuracy. 
<br><br>
The starting point was the source code of Comanche 55, whose original source code
is available. Comanche 55 source code was then modified by undoing changes known 
to have been made between revisions 51 and 55. The most-significant steps involved 
reverting changes related to the R-2 lunar potential model, the details of which
were known from the previous, separate, independent reconstruction of the Apollo 10
Lunar Module software Luminary 69/2. The now-reconstructed 
Comanche 51 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 or Luminary 69 printouts, although 
the source code would likely have different page numbers in a contemporary Comanche 51 listing.
<br><br>
Annotations that were not present in the contemporary source code have been added to 
the reconstructed code to justify each change relative to Comanche 55. Here's a guide 
to some of the Apollo documentation relevant to those annotations:<br>
<ul>
<li><a href="https://archive.org/stream/apertureCardBox467Part2NARASW_images#page/n89/mode/1up">
    MIT/IL engineering drawing 2021153D, sheet 3</a>.  Listing of the memory-bank 
    checksums for Comanche 51.</li>
<li><a href="https://archive.org/details/Comanche55J2k60">
       Comanche 55 (Apollo 11 CM final release) assembly listing</a>.</li>
<li><a href="http://www.ibiblio.org/apollo/listings/LUM69R2/MAIN.agc.html">
       Reconstructed Luminary69/2 (Apollo 10 LM final release) assembly listing</a>.</li>
<li><a href="https://archive.org/details/luminary6900miti">
       Luminary 69 (Apollo 10 LM initial release) assembly listing</a>.</li>
<li><a href="https://archive.org/details/Colossus249MartinPp15651719">
       Colossus 249 (Apollo 9 CM final release) assembly listing</a>.</li>
<li><a href="http://www.ibiblio.org/apollo/links.html#PGE_COLOSSUS2">
       <i>Programmed Guidance Equations for Colossus 2, Based on Comanche 55</i></a>. 
       A pseudocode representation of Comanche 55, showing change bars
       for differences from Comanche 45/2.</li>
</ul>
Among documentation not actually referenced in the annotations, there is 
<a href="https://github.com/virtualagc/virtualagc/pull/1080">
a short writeup about the reconstruction process in our software repository</a>
that may be helpful in understanding it from a different perspective.  There's also
<a href="https://www.ibiblio.org/apollo/Documents/E1142-61.pdf#page=33">a handy table</a>
that lists what the number of memory-words should be for each routine in Comanche 51,
which could make a nice double-check; however, we've not performed that double-check ourselves.
<br><br>
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 <a href="https://github.com/rburkey2005/virtualagc/issues">the Virtual AGC
Project's GitHub repository</a>.
</td></tr></tbody></table>

back to top