https://github.com/virtualagc/virtualagc
Revision 078c79d8734a9ed2860303a7c1662004284fe853 authored by Ron Burkey on 07 August 2022, 15:04:04 UTC, committed by Ron Burkey on 07 August 2022, 15:04:04 UTC
assembly listings from yaASM and yaLEMAP. Added some debugging messages
to 'make install'.  Tweaked debugging messages that VirtualAGC embeds in
'simulate'.  Verified buildability in Mint 21, 20, 19, 17, and verified
buildability using clang in Mint 17.
1 parent 6bb1acc
Raw File
Tip revision: 078c79d8734a9ed2860303a7c1662004284fe853 authored by Ron Burkey on 07 August 2022, 15:04:04 UTC
Fixed a potential string-overflow bug in yaASM. Removed timestamps from
Tip revision: 078c79d
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 Luminary 69/2,
the flown, final release of the Apollo 10 Lunar Module (LM) Apollo Guidance Computer (AGC) software. 
<br><br>
The reconstruction is based on the source code of Luminary 69 &mdash; i.e., the
initial, unflown version, "revision 0" &mdash; of which 
a contemporary listing was available.  The code was then updated by incorporating the 
differences between Luminary 69 and Luminary 69/2, known from other contemporary
documentation.  The only such difference is the implementation in 
Luminary 69/2 of the "R-2 Lunar Potential Model", the source code for which was taken 
from program Luminary 99/1 (Apollo 11 LM), of which a contemporary listing was also available.
Finally, the now-reconstructed Luminary 69/2 was then validated by assembling it to
executable form and verifying that its memory banks had the correct checksums,
known from still other contemporary documentation.
<br><br>
Note that page numbers in the reconstructed code match those in the original Luminary 69
program listing, or in the ORBITAL INTEGRATION log section, in Luminary 99/1. Page numbers 
would certainly differ somewhat in a contemporary Luminary 69/2 listing.
Moreover, annotations that were not present in the contemporary source code have been added 
to the reconstructed code to justify each change in Luminary 69/2 relative to 
Luminary 69. Here's a guide to the Apollo documentation referenced in those annotations:<br>
<ul>
<li><a href="https://archive.org/stream/apertureCardBox467Part2NARASW_images#page/n80/mode/1up">
    MIT/IL engineering drawing 2021152N, sheet 3</a>.  Listing of the memory-bank 
    checksums for Luminary 69/2 (called "LUMINARY 69 REV. 2" in the document itself).</li>
<li><a href="https://archive.org/details/Luminary99001J2k60/mode/1up">
       Luminary 99/1 (Apollo 11 LM final release) assembly listing</a>.</li>
<li><a href="https://archive.org/details/luminary6900miti/mode/1up">
       Luminary 69 (Apollo 10 LM initial release) assembly listing</a>.</li>
<li><a href="http://www.ibiblio.org/apollo/Documents/LUM75_text.pdf">
       LUMINARY Memo #75, "R-2 Lunar Potential Model Added to LUM"</a>.</li>
<li><a href="http://www.ibiblio.org/apollo/Documents/LUM78_text.pdf">
       LUMINARY Memo #78, "LUMINARY Revisions 93-96"</a>.</li>
</ul>
Comments from 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