swh:1:snp:79c9132b4a8931e989e318225e00e088ef6f383d
Raw File
Tip revision: a8fa8f03b50a72034009439908f1339f4ce94518 authored by Ron Burkey on 06 June 2021, 12:28:21 UTC
Fixed more hyperlinks.
Tip revision: a8fa8f0
Luminary.html
<!DOCTYPE doctype PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
  <head>
    <title>Virtual AGC Luminary Page</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta name="Author" content="Ronald Burkey">
    <link rel="icon" type="image/png" href="favicon.png">
    <meta name="author" content="Ronald S. Burkey">
    <script type="text/javascript" src="Header.js"></script>
  </head>
  <body style="background-image: url(gray3.jpg);">
    <script type="text/javascript">
document.write(headerTemplate.replace("@TITLE@","Luminary &mdash; Sunburst &mdash; Sundance").replace("@SUBTITLE@","Lunar Module Flight Software"))
</script>
    <h2>Contents</h2>
    <ul>
      <li><a href="#What_is_Luminary_">What is "Luminary"?</a></li>
      <li><a href="#Known_Software_Versions">Known Lunar Module Software
          Versions</a></li>
      <li><a href="#Source_Code_and_Binary">Source Code and Binary</a></li>
      <li><a href="#Validity">Validation</a></li>
      <ul>
        <li><a href="#Validity_of_the_Luminary_131_Source_Code">Validity
            of the Luminary 131 Source Code and of the Binary (Apollo
            13)</a></li>
        <li><a href="#Validity_of_the_Luminary_099_Code_">Validity of
            the Luminary 099 Code (Apollo 11)</a></li>
      </ul>
    </ul>
    <h2><a name="What_is_Luminary_" id="What_is_Luminary_"></a><small><big>What
is





















          "Luminary"?</big><br>
      </small></h2>
    <a href="AGC-versions.jpg"><span style="font-weight: bold;"><img
          alt="AGC software family tree" title="Click on the image to
          enlarge." src="AGC-versions-thumb.jpg" style="border: 2px
          solid ; width: 132px; height: 160px;" width="219" hspace="16"
          height="360" border="0" align="left"></span></a><span
      style="font-weight: bold;"><a href="a042186-051.jpg"><img
          src="a042186-051-small.jpg" alt="" width="140" height="160"
          border="2" align="right"></a></span><a href="a042186-033.jpg"><img
        src="a042186-033-small.jpg" alt="" width="116" height="160"
        border="2" align="right"></a><a href="R700-3-Table4-11.jpg"><img
        alt="" title="Click to enlarge" src="R700-3-Table4-11-small.jpg"
        width="171" hspace="16" height="160" border="2" align="right"></a><span
      style="font-weight: bold;">Luminary</span> is name of the mission
    software which was run on the Apollo Guidance Computer installed in
    the Lunar Module (LM) in all of the later missions, Apollo 10
    through 17.&nbsp; Actually, the title of this web-page and this
    section, "Luminary", is a bit of a misnomer, since we don't limit
    ourselves to just Luminary. We present <i>all</i> versions of AGC
    software targeted for the Lunar Module that we can get our hands
    on.&nbsp; The earliest such software had names like <b>Retread</b><b></b>,
    <b>Aurora</b><b></b>, <b>Sunburst</b><b></b>, and <b>Sundance</b><b></b>.&nbsp;














    <br>
    <br>
    In order to be loaded into the AGC—actually, to be converted to the
    "core ropes" within the AGC—it was necessary to "assemble" the Lunar
    Module's software source code into binary machine language, using a
    computer program called <span style="font-weight: bold;">YUL</span>.&nbsp;














    In the context of the Virtual AGC project, of course, the process is
    somewhat different: The Lunar Module source code is assembled by the
    <span style="font-weight: bold;">yaYUL</span> program, and then
    loaded into the <span style="font-weight: bold;">yaAGC</span>
    simulation.<br>
    <br>
    The figure at left (click to enlarge), drawn by me, concisely
    depicts the relationships among the LM AGC software and the
    relationship with the CM's AGC software, while the tables to the
    right (click to enlarge) depict the various versions of the software
    as given by Apollo-era documents.<br>
    <h2><a name="Known_Software_Versions" id="Known_Software_Versions"></a>Known
Lunar














      Module Software Versions</h2>
    <p>Actually, there are a lot of Lunar Module program versions we
      don't have, and won't ever have.&nbsp; For example, the reason
      Luminary 69 is called 69 is because of the 68 versions preceding
      it, all of which have now vanished with the wind ... we
      presume.&nbsp; The same goes for the documentation associated with
      the software, so we only have incomplete snapshots at various
      points in time, and in the table below I've made an effort to
      associate important version-specific documentation with the
      software version.&nbsp; However, in case of Luminary, we have an
      additional very important resource that I haven't bothered to link
      in on a version by version basis, but which you can nevertheless
      consult.&nbsp; I refer to the so-called <a
        href="links.html#LUMINARY_Memos">LUMINARY Memos</a>, a
      collection of 250+ internal Instrumentation Labs covering many
      aspects of the Luminary development process, including extensive
      descriptions of revision-to-revision changes.&nbsp; Instead of
      trying to isolate which memos are specific to which of the many
      program revisions, I'll just recommend that you browse the memo
      collection yourself as you see fit.<br>
    </p>
    <table summary="" style="width: 95%; text-align: left; margin-left:
      auto; margin-right: auto;" cellspacing="2" cellpadding="2"
      border="1">
      <tbody>
        <tr>
          <td style="font-weight: bold; text-align: center;"> Mission</td>
          <td style="font-weight: bold; text-align: center;">LM Number</td>
          <td style="font-weight: bold; text-align: center;"> Mission<br>
            Type</td>
          <td style="font-weight: bold; text-align: center;">LM Program</td>
          <td style="font-weight: bold; text-align: center;"> Version</td>
          <td style="font-weight: bold; text-align: center;">Source Code<br>
          </td>
          <td valign="bottom" align="center"><b>Engineering</b><b><br>
            </b><b>drawings</b><br>
          </td>
          <td style="text-align: center;"><span style="font-weight:
              bold;">Mission-specific documentation</span><br>
          </td>
          <td style="font-weight: bold; text-align: center;">What We
            Know About It, in a Nutshell<br>
          </td>
        </tr>
        <tr>
          <td rowspan="2" colspan="1" valign="middle" align="center">N/A<br>
          </td>
          <td rowspan="2" colspan="1" valign="middle" align="center">N/A<br>
          </td>
          <td rowspan="2" colspan="1" valign="middle" align="center">N/A<br>
          </td>
          <td rowspan="2" colspan="1" valign="middle" align="center"><b>Retread</b><br>
          </td>
          <td valign="middle" align="center">44<br>
          </td>
          <td valign="middle" align="center"><a
              href="listings/Retread44/MAIN.agc.html">As colorized,
              hyperlinked,&nbsp; HTML</a><br>
            <br>
            or<br>
            <br>
            <a href="ScansForConversion/Aurora12"> Reduced-size&nbsp;
              scanned JPG</a><br>
            (43MB)<br>
            <br>
            or<br>
            <br>
            <a
href="https://archive.org/details/blkiiretreadprog00sher/page/1/mode/1up">High-quality
scanned





















              JPEG 2000</a><br>
            (82MB)</td>
          <td rowspan="2" colspan="1" valign="middle" align="center">N/A<br>
          </td>
          <td rowspan="2" colspan="1" valign="middle" align="center">N/A<br>
          </td>
          <td valign="middle"><a name="RetreadNutshell"
              id="RetreadNutshell"></a>As you've seen elsewhere on this
            site, there where two major versions of the AGC, the Block I
            and Block II models.&nbsp; While there was never any Block I
            code for the Lunar Module, there was certainly Block I code
            for the Command Module, and at some point a transition was
            made both from writing Block I code to writing Block II code
            ... but also from writing CM code to writing LM code, and
            Retread marks that transition point!&nbsp; It's the
            veritable Missing Link of AGC code, which is particularly <i>a
              propos</i> since in fact the YUL development system
            employed for AGC development didn't sport a linker.&nbsp;
            (Joke!&nbsp; Feel free to ignore.)<br>
            <br>
            In other words, Retread was when Block I code for the CM
            began to be adapted into Block II code for the LM.&nbsp;
            Thus, like Aurora below, Retread was never intended to be
            mission code, and was never flown.&nbsp; But it has the
            honor of being the "first" LM software.&nbsp; It is, in
            fact, more than a year older than any other AGC software of
            any kind (Block I, Block II, CM, LM) available publicly at
            the present time, as far as I'm aware!<br>
            <br>
            Indeed, if you look at the date on this software — I'll save
            you the trouble; it's July 9, 1965 — that's the same time
            (within a month or two) of when the first Block II AGCs were
            actually becoming available, and thus the only way to have
            run RETREAD at that time was probably in a digital
            simulation.&nbsp; But of course, digital simulations in
            advance of actual hardware are never <i>perfect</i>, so
            there would be every possibility that RETREAD 44 may not be
            exactly compatible with Block II AGC hardware yet ... and it
            turns out that that's the case.&nbsp; If, for example, you
            look at <a
              href="listings/Retread44/AGC_BLK2_INSTRUCTION_CHECK.agc.html">the
self-check





















              code</a>, run by VERB 21 NOUN 27 ENTER 1 ENTER, not all of
            the CPU tests pass!&nbsp; (There is <a
              href="https://github.com/virtualagc/virtualagc/issues/562">a
              detailed write-up of this issue</a>, if you're
            interested.)<br>
            <br>
            At any rate, this particular program listing came to us from
            Don Eyles, via scanning at <a href="http://www.archive.org">archive.org</a>,
            financially-sponsored by Mike Higgins.<br>
          </td>
        </tr>
        <tr>
          <td valign="middle" align="center">50<br>
          </td>
          <td valign="middle" align="center"><a
              href="listings/Retread50/MAIN.agc.html">As colorized,
              hyperlinked,&nbsp; HTML</a></td>
          <td valign="top"><a name="Retread50"></a>This is highly
            unusual software, not of itself perhaps, but due to the way
            we acquired it.&nbsp; We do not have any assembly listing
            for it (scanned or otherwise), nor has it been reconstructed
            from problem reports and speculations about how it might
            differ from the closely-related RETREAD 44 software above.<br>
            <br>
            <a href="https://www.computerhistory.org/"><img alt=""
                src="chm-logo.png" width="153" vspace="6" hspace="6"
                height="55" border="2" align="left"></a>Rather, this
            software was dumped from physical core-rope modules
            presently living in an AGC at the Computer History Museum in
            Mountain View, California.&nbsp; In other words, what was
            obtained was the <i>executable</i> form of the program, and
            not the source code for it.&nbsp; The source code linked at
            the left was mostly taken from corresponding sections of
            RETREAD 44 source code (see above) and AURORA 12 source code
            (see below), but it assembles identically to the contents of
            the dumped core-rope modules, thus validating that the
            source code is correct.&nbsp; <i>Small</i> areas of the
            source code, particularly in memory bank 11, have not yet
            been matched to any preexisting code, and therefore source
            code for those areas was decompiled from&nbsp; the rope,
            using presently-arbitrary program labels and variable names.<br>
            <br>
            One of the Computer History Museum's (two) rope modules was
            defective, but fortunately defective in a way that allowed
            ultimate recovery of the data.<br>
            <br>
            This work was not done by the Virtual AGC Project, but by an
            independent project (leading up the 50th anniversary of
            Apollo 11) to make one of the original remaining AGCs
            operational.&nbsp; The code was then donated by the
            restoration project to us.&nbsp; <a href="Restoration.html">Read

















              our full write-up of the AGC-restoration project here</a>.<br>
          </td>
        </tr>
        <tr>
          <td valign="middle" align="center">N/A<br>
          </td>
          <td valign="middle" align="center">N/A<br>
          </td>
          <td valign="middle" align="center">N/A<br>
          </td>
          <td valign="middle" align="center"><b>Aurora</b><br>
          </td>
          <td valign="middle" align="center">12<br>
          </td>
          <td valign="middle" align="center"><a
              href="listings/Aurora12/MAIN.agc.html">As colorized,
              hyperlinked,&nbsp; HTML</a><br>
            <br>
            or<br>
            <br>
            <a href="ScansForConversion/Aurora12"> Reduced-size&nbsp;
              scanned JPG</a><br>
            (100MB)<br>
            <br>
            or<br>
            <br>
            <a href="https://archive.org/details/aurora00dapg">High-quality
scanned





















              JPEG 2000</a><br>
            (500MB)<br>
          </td>
          <td valign="middle" align="center">N/A<br>
          </td>
          <td valign="middle" align="center">N/A<br>
          </td>
          <td valign="middle"><a name="AuroraNutshell"
              id="AuroraNutshell"></a>Don Eyles, one of the AGC
            developers who you may know as <a
              href="http://www.doneyles.com/LM/Tales.html">the hero of
              Apollo 14</a>, has contributed the hardcopy of this
            program from his personal collection.&nbsp; We have had it
            scanned by <a href="http://www.archive.org">archive.org</a>,
            and Mike Stewart has generously financially-sponsored the
            scanning.&nbsp; So, thanks Don and Mike!&nbsp; As usual, we
            provide it here in the form of reduced-size (but therefore
            reduced-quality) images for easier access, but the original
            scans in their full quality are still available in <a
              href="https://archive.org/details/virtualagcproject">our
              Virtual AGC collection at archive.org</a>.<br>
            <br>
            I suppose I should mention that if page 52 or 70 of the
            reduced-sized images look a little weird to you (oh, you
            conspiracy theorists with your Photoshopping theories!), I
            should mention that those were places where there was a
            paper-change on the printer, and I simply glued two partial
            pages together to make it look pretty.&nbsp; You can look at
            the high-quality scans to see <i>all</i> of the pages in
            their original, un-Photoshopped glory, if you like. <br>
            <br>
            Now before you go all elitist and thumb your nose at Aurora
            just because it never flew on an actual mission (even an
            unmanned one), let me tell you that from this project's
            standpoint it is quite a terrific find.&nbsp; For one thing,
            it employs unique flavor of the AGC programming language;
            although it is a Block 2 program for a Block 2 computer, the
            language version precedes its final form as used in the
            later software versions we have available, requiring changes
            to the assembler just to assemble it.&nbsp; Technically, it
            was targeted at the "BLK2" software architecture rather than
            the "AGC" software architecture.<br>
            <br>
            More significantly, it was the <i>last</i> version we know
            of to incorporate the full range of AGC testing software
            that had been created.&nbsp; In actual mission software,
            most of this testing software was removed due to size
            constraints, and due to the fact (I presume) that most of
            the tests were more-appropriately done in the lab, as
            acceptance tests, rather than in space where nothing could
            be done about the failures anyway.&nbsp; Why do we care
            about that?&nbsp; Well, how do you think we test our
            AGC-emulation software?&nbsp; Prior to having Aurora, our
            only choice was to roll our own tests, which the original
            AGC may not have even been able to pass for all we
            know.&nbsp; But now that we have Aurora, we can run it and
            just make sure the real tests pass.<br>
            <br>
            Finally, there's something of a mystery associated with
            Aurora 12.&nbsp; The hardcopy we have of it is from November
            10, 1966, and Aurora at the point should have had a version
            number in the 80's.&nbsp; How could it be version 12?&nbsp;
            Perhaps one day we'll know!<br>
          </td>
        </tr>
        <tr>
          <td valign="middle" align="center">N/A<br>
          </td>
          <td valign="middle" align="center">N/A<br>
          </td>
          <td valign="middle" align="center">N/A<br>
          </td>
          <td valign="middle" align="center"><b>Sunburst</b><br>
          </td>
          <td valign="middle" align="center">37<br>
          </td>
          <td valign="middle" align="center"><a
              href="listings/Sunburst37/MAIN.agc.html">As colorized,
              hyperlinked HTML</a><br>
            <br>
            or<br>
            <br>
            <a href="ScansForConversion/Sunburst37/">Reduced-quality PDF
              (160MB)</a><br>
            <br>
            or<br>
            <br>
            <a href="https://archive.org/details/sunburst37shepat00miti">High-quality
scanned





















              JPEG 2000 (400MB)</a><br>
          </td>
          <td valign="middle" align="center">N/A<br>
          </td>
          <td valign="middle" align="center">N/A<br>
          </td>
          <td valign="middle"><a name="Sunburst37"></a>This program,
            SUNBURST rev 37, otherwise known as SHEPATIN rev 0, is an
            early revision of the SUNBURST program, not used in any
            mission.&nbsp; The scan was taken from Don Eyles's personal
            copy, for our Internet Archive collection, and financially
            sponsored by Peter McDermott.<br>
            <br>
            I would hazard the guess that SHEPATIN was a program Don
            used for off-line development of new program features or bug
            fixes for SUNBURST, and that SHEPATIN 0 happened to have
            been branched from SUNBURST 37 ... thus it is a "clean" copy
            in which no changes had yet been made, which fortuitously
            (for us) gives us a nice snapshot of SUNBURST development as
            well.&nbsp; We know that SHEPATIN was developed at least
            through SHEPATIN 6, since the notes at the end of the AURORA
            12 assembly listing mention assembly of SHEPATIN 6.&nbsp; At
            any rate, whatever the exact history, we're obviously we're
            thrilled that Don saved it for us.&nbsp; <br>
            <br>
            SUNBURST 37 is substantially different from SUNBURST 120
            (see below), used later for Apollo 5, and thus, like RETREAD
            and AURORA (see above) is a kind of missing link in the
            evolutionary chain of the AGC software in general and the
            LGC software in particular.<br>
          </td>
        </tr>
        <tr>
          <td style="text-align: center;">Apollo 5<br>
          </td>
          <td style="text-align: center;">LM-1<br>
          </td>
          <td style="text-align: center;"><br>
          </td>
          <td style="text-align: center;"><span style="font-weight:
              bold;">Sunburst</span><br>
          </td>
          <td style="text-align: center;">120<br>
          </td>
          <td align="center"><a
              href="listings/Sunburst120/MAIN.agc.html">As colorized,
              hyperlinked&nbsp; HTML</a><br>
            <br>
            or<br>
            <br>
            <a href="ScansForConversion/Sunburst120"> Reduced-size&nbsp;
              scanned JPG</a><br>
            (200MB)<br>
            <br>
            or<br>
            <br>
            <a href="https://archive.org/details/yulsystemforagcr00nasa">High-quality
scanned





















              JPEG 2000</a><br>
            (500MB)<br>
          </td>
          <td valign="middle" align="center"><a href="2003993-011.html">AGC</a><br>
            <br>
            <a href="2003994-011.html">DSKY</a><br>
            <br>
            <a href="6014999-031.html">G&amp;N System</a><br>
          </td>
          <td> <span style="text-decoration: underline;">GSOP (R-527)</span><br>
            <ul>
              <li><a
                  href="Documents/R-527-GSOP-Sunburst-Section7-GNErrorAnalyses.pdf">
                  Section 7</a></li>
            </ul>
            "<a
href="Documents/ApolloExperienceReport-GuidanceAndControlSystems-LunarModuleMissionProgramer.pdf">Apollo
Experience





















              Report—Guidance and Control Systems: Lunar Module Mission
              Programer</a>"<br>
            <br>
            "<a href="Documents/LM-1%20Trip%20Report%20at%20MSC.pdf">LM-1
Trip





















              Report at MSC - Flight Support and Debriefing</a>"<br>
            <br>
            "<a
href="Documents/TRW-67-FMT-548%20Results%20of%20Independent%20Flight%20Software%20Validation%20Test%20of%20the%20BURST116%20Program%20for%20the%20LM-1%20Mission.pdf">Results
of





















              Independent Flight Software Validation Test of the
              BURST116 Program for the LM-1 Mission</a>"<br>
          </td>
          <td><a name="Apollo5"></a>Apollo 5 was an unmanned mission to
            test the LM, and as such it had a working AGC, though at
            certain points in the mission the ground controllers
            bypassed the AGC (which hadn't been planned for), using the
            <a href="yaAGS.html">AGS</a> instead for some
            maneuvers.&nbsp; The mission itself was not entirely
            successful.<br>
            <br>
            The "Programer"—actually some sources spell it "programer"
            and some "programmer"—was a robotic gadget that was the
            stand-in for the crew.<br>
            <br>
            Don Eyles provided the hardcopy for our the program-listing
            scan we present here.&nbsp; It was scanned by archive.org,
            and was generously sponsored by Mike Stewart.&nbsp; The
            original printout unfortunately has some problems in the
            vicinity of pp. 820-830, but we naturally correct those in
            our transcription.<br>
            <br>
            The LM-1 Trip Report was provided by its author, AGC
            developer Jay Sampson, and provides a fascinating
            blow-by-blow description of what transpired during the
            actual mission, and a summary of the subsequent debriefing.<br>
            <br>
            In spite of the relative lack of resources about the Apollo
            5 mission, <a href="https://github.com/dseagrav/NASSP">NASSP</a>
            developer and enthusiast Niklas Beug tells us that <br>
            <blockquote><small>... we have successfully been able to fly
                most of the Apollo 5 mission with that scenario,
                including two burns with the Descent Propulsion System
                and one with the Ascent Propulsion System. As you know,
                &nbsp;during the actual Apollo 5 mission Sunburst didn't
                actually make it beyond the first DPS burn due to slow
                thrust buildup and a resulting thrust fail indication.
                But in NASSP Sunburst has been able to complete the
                simulated DOI, and the simulated powered descent with a
                late abort and staging, followed by a short APS burn.</small><br>
            </blockquote>
            Recall that NASSP is an Apollo-mission add-on for the
            Orbiter spaceflight simulator that integrates our AGC
            simulator so that it can run the actual AGC software to
            control the simulated CM or LM.&nbsp; The "scenario" Nik is
            referring to here is, of course, using SUNBURST 120 in a
            simulated LM, but it also involves the trickery employed to
            account for the fact that we have no documentation for the
            pad-loads needed for this mission.&nbsp; What Nik did to
            generate these pad-loads is very interesting, so I'll quote
            him in full:<br>
            <blockquote><small>[In NASSP], we can't currently have a
                running simulated Lunar Module on the launchpad, due to
                how NASSP simulates the CSM and Saturn vehicles as one
                entity. But nothing was stopping me from creating the
                usual padload worksheet for Sunburst120. Luckily there
                were a few resources available for that, including the
                "Prelaunch Erasable Memo Load Definition for AS206"
                document.</small>
              <div><small><br>
                </small></div>
              <div><small>But then I wondered if I could at least try
                  Sunburst in NASSP, configured correctly with the
                  padload. So I decided to try and run Sunburst in a CSM
                  on the launchpad, in a scenario for the historical
                  Apollo 5 launch time. Sunburst is special, because it
                  has a lot more in common with a CMC than any other LGC
                  version. Sunburst has a launch monitor program, very
                  similar to the one used in every CMC, It is connected
                  to the Instrument Unit of the Saturn vehicle like a
                  CMC, so Sunburst gets the same input channel signals
                  for liftoff etc. as a CMC. So in that way attempting
                  to run Sunburst in a CSM made a lot of sense.</small></div>
              <div><small><br>
                </small></div>
              <div><small>... I managed to fly Sunburst120 into Earth
                  orbit, connected to a CSM and on the same trajectory
                  and time as the Apollo 5 mission. I then saved the
                  state of the mission, as usual with Orbiter in a
                  scenario file, and so had the state of the AGC as it
                  would have been during Apollo 5 after Earth orbit
                  insertion. Then I started my Dr. Frankenstein work, by
                  editing the scenario, removing everything of the CSM
                  and Saturn vehicles and replacing it with the state of
                  a Lunar Module that is fully powered up. I only kept
                  the state of the Sunburst erasable memory, IMU
                  alignment etc. in that scenario. And to my suprise
                  Sunburst did not complain that it was suddenly
                  connected to a LM! So I was sucessful in circumventing
                  the limitations of NASSP to create an Apollo 5
                  scenario, that could be used as the starting point for
                  further tests.</small></div>
            </blockquote>
            <blockquote> </blockquote>
          </td>
        </tr>
        <tr>
          <td valign="middle">N/A<br>
          </td>
          <td valign="middle">N/A<br>
          </td>
          <td valign="middle">N/A<br>
          </td>
          <td valign="middle" align="center"><b>Super Job</b><br>
          </td>
          <td valign="middle" align="center">N/A<br>
          </td>
          <td valign="middle" align="center"><a
              href="listings/SuperJob/MAIN.agc.html">As colorized,
              hyperlinked, HTML</a><br>
            <br>
            or<br>
            <br>
            <a href="Documents/R68-4125-Volume2.pdf">Listing in Appendix
              D of Volume 2 of Raytheon document R68-4125</a><br>
          </td>
          <td valign="middle" align="center">N/A<br>
          </td>
          <td valign="middle"><a href="Documents/R68-4125-Volume1.pdf">Raytheon
R68-4125,





















              volume 1, "Final Report: Auxiliary Memory for Apollo
              Guidance Computer"</a><br>
            <br>
            <a href="Documents/R68-4125-Volume2.pdf">Raytheon R68-4125,
              volume 2, "Final Report: Auxiliary Memory for Apollo
              Guidance Computer"</a><br>
            <br>
            <a
              href="klabs/history/history_docs/e2254_auxilary_memory.pdf">E-2254:
"Auxiliary





















              Memory System, Final Report on Phase I"</a><br>
          </td>
          <td valign="middle"><a name="SuperJob"></a>This program, Super
            Job, is a very unusual offering, in that it is AGC code not
            written by the MIT Instrumentation Lab, but rather by
            Raytheon.&nbsp; Of course, sub-contractors from Raytheon,
            A.C. Electronics, and others, were used to help write the
            "regular" AGC programs as well, but this program is entirely
            written by Raytheon.&nbsp; <br>
            <br>
            Nor does it seem to have been assembled with the YUL or GAP
            assemblers used to assemble all of the other AGC code, but
            rather (as far as we can tell!) an in-house Raytheon
            assembler.&nbsp; That in-house assembler is almost, but not
            quite, compatible with YUL/GAP: slightly different address
            formats were used, and the interpretation of certain
            operands is slightly different.&nbsp; We support that with a
            special command-line switch (--raytheon) in yaYUL.<br>
            <br>
            The way this program came about is that Raytheon was
            contracted to do a feasibility study for potentially
            expanding the AGC memory capacity by adding a magnetic-tape
            recorder.&nbsp; If you have looked at <a href="Gemini.html">our
Gemini





















              OBC (on-board computer) page</a>, you'll know that the
            later Gemini missions did use a tape-memory unit to load
            different OBC software for different mission phases, and
            this is a similar idea.&nbsp; The basic characteristics of
            the auxiliary memory were:<br>
            <ul>
              <li>An Auxiliary Core Memory (ACM) consisting of memory
                cores:&nbsp; Up to 16K 16-bit words, though only 8K×16
                bits were used in the prototype units Raytheon actually
                built.</li>
              <li>An Auxiliary Tape Memory (ATM) consisting of magnetic
                tape (10<sup>8</sup> bits capacity).</li>
              <li>The ability to transfer data from the ATM to the ACM
                or vice-versa.</li>
              <li>The ACM could be directly accessed in the
                address-space of the AGC as either "extended fixed
                memory" or "extended erasable memory" (see Table 2-2 in
                volume 1 of the Raytheon document hyperlinked to the
                left).</li>
            </ul>
            <p>The auxiliary memory was never used in a mission, so you
              may suppose it was a completely-obscure feature, but there
              is actually some measure of legacy support for it, albeit
              very trivial, in every LM code version from Sunburst
              onward.&nbsp; The way its effect is seen is that the AGC's
              so-called "superbit"— the flag in the memory-bank register
              that selects memory banks 40-43 vs banks 30-33 — actually
              consists of 3 bits even though single bit is needed.&nbsp;
              The extra two superbits would have been used to select the
              various auxiliary-memory functions mentioned above.<br>
            </p>
            <ul>
            </ul>
            The rationale for the auxiliary memory was that as "feature
            creep" (or perhaps "feature explosion") occurred during AGC
            development, more and more memory was required, surpassing
            the physical resources of the AGC itself.&nbsp; Many "<a
              href="http://www.tindallgrams.net">Tindallgrams</a>" cover
            this, and indeed, very significant AGC features were
            developed in software and then simply discarded due to
            memory constraints.&nbsp; For example, code was developed
            for the LM for something called a Lunar Optical Rendezvous
            System (LORS) that could potentially have been used in place
            of the Rendezvous Radar (RR).&nbsp; However, the code for
            LORS was larger (much larger) than the code for the RR, thus
            causing it to be eliminated, so the only place it exists
            today is as a vague reference in a Tindallgram.&nbsp; I wish
            we could see the code for LORS, but we cannot.&nbsp; Perhaps
            if Raytheon's auxiliary tape memory for the AGC had
            eventually been adopted, we might be able to do just
            that!&nbsp; But the tape memory was <i>not</i> adopted, so
            we cannot.&nbsp; <br>
            <br>
            Actually, the story I've been told (by MSC's Clark Neily) is
            that there was an intense dispute (which he labeled The
            Rendezvous Wars) between the optical camp (led by Max Faget)
            and the radar camp.&nbsp; You can read Clark's extended
            comments about it in <a
              href="links.html#Miscellaneous_Mission_Documents">our
              document library</a>.&nbsp; The radar camp won for Apollo,
            but lost for the shuttle.&nbsp; Such is life!<br>
            <br>
            At any rate, Super Job is a test program for this tape-drive
            system.&nbsp; While we provide the transcribed source code
            for SuperJob, it's probably not too useful to run it in the
            AGC simulator as of yet; probably the tape drive itself will
            have to be simulated as well, perhaps with a new program
            that might be named yaTape.&nbsp; Or not; we'll have to wait
            and see.&nbsp; It's also worth noting that the scanned
            program listing is rather wimpy in places, and has no
            niceties such as memory-bank checksums to give us confidence
            that the transcription of the source code is correct ... but
            we hope (and think) it probably is.<br>
            <br>
            And finally, as you may have realized, there is actually <i>no</i>
            logical reason for including Super Job here on the Luminary
            page.&nbsp; There's nothing in the documentation suggesting
            that it would be installed in the LM vs the CM.&nbsp;
            Rather, it's just a generic concept that might apply to
            either spacecraft, or to both of them.&nbsp; But it has to
            go somewhere, so here it stays!<br>
          </td>
        </tr>
        <tr align="center">
          <td style="vertical-align: middle; white-space: nowrap;">
            Apollo 9<br>
          </td>
          <td style="text-align: center; vertical-align: middle;"> LM-3<br>
          </td>
          <td style="text-align: center; vertical-align: middle;"> D<br>
          </td>
          <td style="font-weight: bold; vertical-align: middle;
            white-space: nowrap;"> Sundance<br>
          </td>
          <td style="vertical-align: middle;">306<br>
          </td>
          <td style="text-align: center; vertical-align: middle;"> <a
              href="listings/Sundance306ish/MAIN.agc.html">As colorized,
              hyperlinked HTML of Sundance306ish</a><br>
            (reconstruction phase 2)<br>
          </td>
          <td valign="middle" align="center"><a href="2003993-031.html">AGC</a><br>
            <br>
            <a href="2003994-031.html">DSKY</a><br>
            <br>
            <a href="6014999-051.html"> G&amp;N System</a></td>
          <td style="text-align: left;"> GSOP (R-557)<br>
            <ul>
              <li><a href="NARA-SW/R-557-sec1-rev1.pdf"> Section 1</a></li>
              <li><a href="Documents/HSI-208623.pdf">Section 4</a></li>
              <li><a href="Documents/HSI-208619.pdf">Section 5</a><br>
              </li>
              <li><a href="Documents/HSI-208625.pdf">Section 6</a><br>
              </li>
            </ul>
            <a href="Documents/Apollo9FlightPlan.pdf">Flight Plan</a><br>
            <br>
            <a href="Documents/HSI-208409.pdf">LM Digital Autopilot
              Study Guide, Sundance 302</a><br>
            <br>
            <a href="Documents/LM-3_Systems_Handbook.pdf">Lunar Module
              Systems Handbook, LM-3</a><br>
            <br>
            <a
              href="Documents/LM-3_Apollo_Operations_Handbook_Vol_I.pdf">Apollo







              Operations Handbook, Lunar Module 3</a><br>
          </td>
          <td style="text-align: left; vertical-align: middle;"> <a
              name="Sundance306"></a>Executive summary:&nbsp; This is a
            program we have and yet don't have.&nbsp; I say we <i>do</i>,
            but there are legitimate grounds for disagreement, and you
            may need to decide for yourself whether or not you agree
            with me.&nbsp; At any rate, we do have software that allows
            you to fly Apollo 9 missions.&nbsp; Read on, for more
            details!<br>
            <br>
            Here is some info from James Kernan, one of the LGC
            developers, in response to a question from me about about
            correct versioning of Sundance:<br>
            <br>
            <div style="margin-left: 40px;"> <small>Sundance 306 is
                correct.&nbsp; I was the "rope mother" for
                Sundance-Apollo 9.&nbsp; ...&nbsp; Sundance was not only
                the Apollo 9 LM flight program, it was also the
                development bed for the Lunar orbit and landing
                software.&nbsp; At some point we created a version and
                called it Luminary.&nbsp; I think the last few revisions
                of Sundance were devoted to disabling crew access to the
                Lunar orbit and landing software that was present in the
                build.<br>
              </small> </div>
            <br>
            Jim also tells me that a copy of Sundance 306 may still "be
            in the building".&nbsp; I'm not certain which building he's
            talking about, but it's nevertheless interesting news that a
            copy of the program does exist somewhere.<br>
            <br>
            Not being "in the building" ourselves, <i>we</i> have no
            copies of the full Sundance 306 program, nor of any other
            revision of Sundance source code.&nbsp; Annoying!&nbsp;
            Nevertheless, we <i>do</i> have quite a bit of access to
            Sundance software.&nbsp; What do I mean by that cryptic
            statement?&nbsp; Well, within the AGC itself, Sundance (or
            any other AGC program) physically resided in executable
            form, in up to 6 core-rope modules, denoted as modules B1
            through B6.&nbsp; Various individual Sundance physical rope
            modules have shown up in private collections and auction
            sites, and Mike Stewart has sometimes been able to dump
            their contents using <a href="Restoration.html">Jimmy
              Loocke's restored AGC</a>.&nbsp; While these disparate
            dumped modules do not form a complete set of software for
            any one Sundance revision, they are tantalizingly close to
            doing so.<br>
            <br>
            <a
              href="https://github.com/virtualagc/virtualagc/tree/master/SundanceXXX">Mike's






              dumps of the individual Sundance modules reside in our
              GitHub repository</a>.&nbsp; Here's a complete list of the
            modules for which we have dumps, and of the personal
            collections whence they originally came:<br>
            <ul>
              <li>B1 (p/n 2003972-371, Sundance 292), Anonymous</li>
              <li>B2 (p/n 2003972-451, Sundance 302), Don Eyles</li>
              <li>B3 (p/n 2003972-391, Sundance 292), Anonymous</li>
              <li>B3 (p/n 2003972-461, Sundance 302), Don Eyles</li>
              <li>B4 (p/n 2003972-471, Sundance 302), Eldon Hall</li>
              <li>B5 (p/n 2003972-421, Sundance 292), Anonymous</li>
              <li>B6 (p/n 2003972-641, Sundance 306), Anonymous</li>
            </ul>
            <p>But how to fit them together to make something
              usable?&nbsp; In case you're wondering, <i>perhaps</i>
              they could just magically be compatible with one another,
              so that you could simply stick they modules into an AGC
              which you happen to have in your garage and have them work
              correctly.&nbsp; Well, you should disabuse yourself of
              that hope:&nbsp; These revisions of the core-rope modules
              are&nbsp; not compatible enough to provide a working
              Sundance program when you try using them together.<br>
            </p>
            <p>Quite the puzzle!<br>
            </p>
            <p>With some assistance from Nik Beug, Mike has been trying
              to piece together this puzzle by <i>reconstructing</i>
              Sundance 306 from these binary dumps and other existing
              material.&nbsp; If Mike succeeds, it would be quite a
              coup, since we already have the Apollo 9 CM software
              (Colossus 249).&nbsp; Thus if we had Sundance 306 as well,
              we would have the <i>complete</i> Apollo 9 mission
              software.<br>
            </p>
            <p>This software reconstruction turns out (surprise!) to be
              quite difficult, and is not yet complete, but the effort
              has been rewarded with great success.&nbsp; It is a
              3-phase process:<br>
            </p>
            <table width="90%" cellspacing="2" cellpadding="2"
              border="1" align="center">
              <tbody>
                <tr>
                  <th valign="bottom">Phase<br>
                  </th>
                  <th valign="bottom">Status<br>
                  </th>
                  <th valign="bottom">Name of Program Produced<br>
                  </th>
                  <th valign="bottom">Description<br>
                  </th>
                </tr>
                <tr>
                  <td valign="middle" align="center">1<br>
                  </td>
                  <td valign="middle" align="center">Complete<br>
                    +<br>
                    Test flown<br>
                  </td>
                  <td valign="middle" align="center">SundanceXXX<br>
                  </td>
                  <td valign="top">This phase decompiles (disassembles?)
                    the multi-revision set of Sundance module binary
                    dumps we already have, creating source code from
                    them, and reconciles discrepancies between the
                    modules.&nbsp; This forms a Sundance program, though
                    not specifically Sundance 306 (or any other
                    particular revision), and <i>in principle</i> not
                    necessarily functional.&nbsp; The "discrepancies" I
                    just mentioned are almost entirely due to shifts in
                    the addresses of variables or code between
                    revisions.&nbsp; The program so-created,
                    SundanceXXX, matches the binary dumps, aside from
                    the 800+ "discrepancies" (<a
href="https://github.com/virtualagc/virtualagc/blob/master/SundanceXXX/SundanceXXXDifferences.txt">enumerated




                      here</a>).&nbsp; It assembles without error.&nbsp;
                    Moreover, it turns out after doing so that Sundance
                    XXX is entirely functional, as far as we can tell,
                    and can acceptably fly simulated Apollo 9 missions
                    using the Orbiter/NASSP spaceflight simulator,
                    though it is now essentially obsoleted by
                    Sundance306ish (see next entry below).&nbsp; You can
                    view a <a href="listings/SundanceXXX/MAIN.agc.html">browser-friendly






                      version of the decompiled source code</a> at this
                    link.</td>
                </tr>
                <tr>
                  <td valign="middle" align="center">2<br>
                  </td>
                  <td valign="middle" align="center">Complete<br>
                    +<br>
                    Test flown<br>
                  </td>
                  <td valign="middle" align="center">Sundance306ish<br>
                  </td>
                  <td valign="top">This phase transforms the SundanceXXX
                    source code, to bring it into a form in which
                    assembled memory banks in module B6 (the only
                    available physical module loaded with Sundance 306,
                    as opposed to earlier Sundance revisions) precisely
                    match the dump of physical memory module B6.&nbsp;
                    Some 200+ octal mismatches in SundanceXXX are
                    addressed in this phase.&nbsp; I am told that it
                    performs perfectly for simulated Apollo 9 missions
                    in Orbiter/NASSP, and has become the accepted Apollo
                    9 default there.<br>
                  </td>
                </tr>
                <tr>
                  <td valign="middle" align="center">3<br>
                  </td>
                  <td valign="middle" align="center">Someday<br>
                  </td>
                  <td valign="middle" align="center">Sundance306<br>
                  </td>
                  <td valign="top">This phase transforms the
                    Sundance306ish source code to bring the core rope
                    obtained by assembling it into a form which
                    corresponds specifically to Sundance 306 <i>throughout</i>:
                    i.e., in memory modules B1-B2, and not merely
                    B6.&nbsp; Absent additional source material (such as
                    a complete list of Sundance 306 memory-bank
                    checksums), this reconstruction phase will
                    undoubtedly prove to be <i>very</i> difficult, and
                    we may never be in a position to make adequate
                    progress or to know that the effort has been
                    entirely successful ... but we can hope!</td>
                </tr>
              </tbody>
            </table>
            <ol>
            </ol>
            <p>As you may imagine, any comments appearing in such source
              code that has been reconstructed from the dumped memory
              modules could not have come from the core ropes
              themselves.&nbsp; In almost all cases they come from
              corresponding lines of source code in Luminary, and may be
              incorrect.<br>
            </p>
            <p>The most-important takeaway from this is that you can
              presently fly an Apollo 9 mission using reconstructed
              SundanceXXX software in the LM and Colossus249 software in
              the CM. We would expect the same to be true of the
              reconstructions produced in phases 2 and 3, if/when they
              become available.<br>
            </p>
          </td>
        </tr>
        <tr align="center">
          <td style="vertical-align: middle; white-space: nowrap;"
            rowspan="2" colspan="1">Apollo 10<br>
          </td>
          <td style="text-align: center; vertical-align: middle;"
            rowspan="2" colspan="1">LM-4<br>
          </td>
          <td style="text-align: center; vertical-align: middle;"
            rowspan="2" colspan="1">F<br>
          </td>
          <td style="font-weight: bold; vertical-align: middle;
            white-space: nowrap;" rowspan="2" colspan="1"> Luminary 1<br>
          </td>
          <td style="vertical-align: middle;">069<br>
          </td>
          <td style="text-align: center; vertical-align: middle;"><a
              href="listings/Luminary069/MAIN.agc.html">As colorized,
              hyperlinked&nbsp; HTML</a><br>
            <br>
            or<br>
            <br>
            <a href="ScansForConversion/Luminary069/">
              Reduced-size&nbsp; scanned JPG</a><br>
            (200MB)<br>
            <br>
            or<br>
            <br>
            <a href="https://archive.org/details/luminary6900miti">High-quality
scanned





















              JPEG 2000</a><br>
            (730MB)</td>
          <td rowspan="2" colspan="1" valign="middle" align="center"><br>
            <a href="2003993-031.html">AGC</a><br>
            <br>
            <a href="2003994-121.html">DSKY</a><br>
            <br>
            <a href="6014999-061.html"> G&amp;N System</a></td>
          <td style="text-align: left;" rowspan="2" colspan="1"><br>
            GSOP (R-557)<br>
            <ul>
              <li><a href="NARA-SW/R-557-sec1-rev1.pdf"> Section 1</a></li>
            </ul>
            <a href="Documents/LUM75-001.pdf">LUMINARY Memo #75</a><br>
            <br>
            <a href="Documents/LUM78-001.pdf">LUMINARY Memo #78</a><br>
            <br>
            <a
href="https://archive.org/stream/apertureCardBox467Part2NARASW_images#page/n68/mode/1up">Drawing
















              2021152B</a><br>
          </td>
          <td style="text-align: left; vertical-align: middle;"><a
              name="Apollo10"></a>This seems to have been the first
            Luminary revision targeted at the Apollo 10 mission, and
            seems additionally to have been the first revision of
            Luminary for which core-rope modules were
            manufactured.&nbsp; In other words, it was the first
            non-developmental revision of Luminary and the first
            released for manufacturing.<br>
            <br>
            Nevertheless, it ended up not being flown in the
            mission.&nbsp; (Instead, see Luminary 69/2 below.)<br>
            <br>
            The version we have here is from Don Eyle's private
            collection, as scanned by archive.org, and financially
            sponsored by our Onno Hommes.<br>
          </td>
        </tr>
        <tr>
          <td valign="middle" align="center">069/2</td>
          <td valign="middle" align="center"><a
              href="listings/LUM69R2/MAIN.agc.html">As colorized,
              hyperlinked,&nbsp; HTML</a></td>
          <td valign="middle"><a name="LUM69R2"></a>We do not have any
            scans of the Luminary 69 Rev. 2 software used in the Apollo
            10 Lunar Module.&nbsp; But, that software can be
            reconstructed with confidence, and that's what's presented
            here!&nbsp; For simplicity, we'll refer to it simply as
            LUM69R2, and the revision for which we actually have scans
            (see the item above) as LUM69.<br>
            <br>
            How is such a reconstruction even possible?&nbsp; Well, Mike
            Stewart did the reconstruction, and <a
href="https://archive.org/stream/apertureCardBox467Part2NARASW_images#page/n68/mode/1up">has
















              explained it in quite a bit of detail</a>.&nbsp; However,
            I'll try to give you a relatively brief overview.&nbsp;
            There are 4 key ingredients:<br>
            <ul>
              <li>We know the <i>checksums</i> of all of LUM69R2's
                memory banks, because they are listed in the
                recently-discovered engineering drawing 2021152B.&nbsp;
                From this and other documentation, there is a high
                degree of confidence that the contents of only 2 of the
                36 memory banks have changed from LUM69.</li>
              <li>We have LUMINARY Memo #75, which <i>describes</i>
                what those changes ought to be.</li>
              <li>We have LUMINARY Memo #78, which describes a similar
                change in Luminary 95 source code.</li>
              <li>We have the Luminary 99 source code, which derives
                from Luminary 95.<br>
              </li>
            </ul>
            <p>With all of that at our disposal, the appropriate changes
              in Luminary 99 can be back-ported to Luminary 69, and then
              the fact that we know the LUM69R2 checksums means we can
              check that the back-ported changes do indeed produce the
              proper bank checksums.<br>
            </p>
            <p>As a cross-check, Nik Beug has flown the reconstructed
              software in the Orbiter/NASSP Apollo 10 simulation, and
              reports that it works as expected.<br>
            </p>
            <p>So in conclusion, we're pretty sure we do have the
              LUM69R2 software for Apollo 10, <i>without</i> ever
              having been given the assembly listing for the software!<br>
            </p>
          </td>
        </tr>
        <tr>
          <td rowspan="5" colspan="1" valign="middle" align="center">Apollo








            11<br>
          </td>
          <td rowspan="5" colspan="1" valign="middle" align="center">LM-5<br>
          </td>
          <td rowspan="5" colspan="1" valign="middle" align="center">G<br>
          </td>
          <td rowspan="5" colspan="1" valign="middle" align="center"><b>Luminary








              1A</b><br>
          </td>
          <td valign="middle" align="center">97<br>
          </td>
          <td valign="middle" align="center"><a
              href="listings/Luminary097/MAIN.agc.html">As colorized,
              hyperlinked,&nbsp; HTML</a></td>
          <td rowspan="5" colspan="1" valign="middle" align="center"><br>
            <br>
            <a href="2003993-031.html">AGC</a><br>
            <br>
            <a href="2003994-091.html">DSKY</a><br>
            <br>
            <a href="6014999-091.html"> G&amp;N System</a>N/A<br>
          </td>
          <td colspan="1" rowspan="5" valign="middle"><br>
            <br>
            <a href="Documents/Luminary99PadLoads.pdf"> Erasable pad
              loads</a><br>
            <br>
            <a href="Documents/LM_Systems_Handbook_060269.pdf">
              Excerpted LM Systems Handbook</a><br>
            <br>
            <a href="http://www.doneyles.com/LM/Tales.html">The
              1201/1202 alarms</a><br>
            <br>
            <a href="NARA-SW/TheApollo11Adventure.pdf"
              style="font-style: italic;">The Apollo 11 Adventure</a><br>
            <br>
            <span style="text-decoration: underline;">Operational Data
              Book</span><br>
            <ul>
              <li><a
href="Documents/SNA-8-D-027III-Rev2-CsmLmSpacecraftOperationalDataBook-Volume3-MassProperties.pdf">Volume





















                  3</a></li>
            </ul>
            <span style="text-decoration: underline;">Crew Debriefing</span><br>
            <ul>
              <li><a
                  href="Documents/Apollo11TechnicalCrewDebriefing-Volume1.pdf">
                  Volume 1</a></li>
              <li><a
                  href="Documents/Apollo11TechnicalCrewDebriefing-Volume2.pdf">
                  Volume 2</a></li>
            </ul>
            <a href="Documents/Apollo11FlightPlan.pdf">Flight Plan</a><br>
            <br>
            <a href="Documents/CherryApollo11Exegesis.pdf"> "Exegesis of
              the 1201<br>
              and 1202 Alarms Which<br>
              Occurred During the<br>
              Mission G Lunar<br>
              Landing"</a><br>
            <br>
            Digital simulations of the landing:<br>
            <ul>
              <li><a href="Documents/apollo11landingd00miti_0.pdf">1969</a></li>
              <li>1971:&nbsp; <br>
              </li>
              <ul>
                <li><a
                    href="https://archive.org/details/dianarev12level302eyle">Color
high-res





















                    scan</a></li>
                <li><a
                    href="ScansForConversion/DigitalSimulationAP11ROPE_color/">Color
low-res





















                    enhanced</a><br>
                </li>
                <li><a
                    href="ScansForConversion/DigitalSimulationAP11ROPE.pdf">B&amp;W
PDF





















                    (92MB)</a><br>
                </li>
              </ul>
            </ul>
            <br>
          </td>
          <td colspan="1" rowspan="2" valign="middle"><a
              name="Luminary097"></a>Luminary 97 and Luminary 98 were
            development revisions of the Apollo 11 code, situated
            chronologically between Luminary 96 (the first Luminary
            revision targeted for Apollo) and Luminary 99/1 (the flight
            revision).&nbsp; We do not have physical program listings
            for either Luminary 97 or 98, but their source code has been
            reconstructed from other available data, and we are
            confident that these reconstructions are correct.<br>
            <br>
            Why?&nbsp; Mike Stewart performed the reconstruction and has
            provided <a
              href="https://github.com/virtualagc/virtualagc/pull/1078">a
              detailed explanation</a>.&nbsp; In brief, we have
            known-good source code for Luminary 99 (see below).&nbsp; <a
              href="Documents/LUM85_text.pdf">LUMINARY memo #85</a>
            describes the differences between Luminary 99 and 98, so we
            can use that information to reconstruct Luminary 98 from
            99.&nbsp; Similarly, <a href="Documents/LUM83_text.pdf">LUMINARY








              memo #83</a> describes the differences between Luminary 98
            and 97, so that allows reconstruction of Luminary 97 from
            98.&nbsp; Meanwhile, <a
href="https://archive.org/stream/apertureCardBox467Part2NARASW_images#page/n70/mode/1up">engineering








              drawing 2021152</a> lists all of the memory-bank checksums
            for Luminary 97; since they match the reconstructed Luminary
            97 code exactly, we can be confident that Luminary 97 is <i>very</i>
            likely to be correct.&nbsp; <br>
            <br>
            Unfortunately, Luminary 98 was merely an engineering
            revision of the software for which no core-rope modules were
            manufactured, so drawing 2021152 does not record its
            memory-bank checksums.&nbsp;&nbsp;&nbsp; However, since the
            correctness of our Luminary 98 reconstruction is a
            prerequisite for the correctness of our Luminary 97
            reconstruction, which we are confident in, we can have a
            pretty fair degree of confidence that Luminary 98 is correct
            as well.<br>
          </td>
        </tr>
        <tr>
          <td valign="middle" align="center">98<br>
          </td>
          <td valign="middle" align="center"><a
              href="listings/Luminary098/MAIN.agc.html">As colorized,
              hyperlinked,&nbsp; HTML</a></td>
        </tr>
        <tr>
          <td valign="middle" align="center">099/0<br>
          </td>
          <td valign="middle" align="center"><a
              href="listings/LMY99R0/MAIN.agc.html">As colorized,
              hyperlinked,&nbsp; HTML</a> </td>
          <td valign="middle">One of the original AGC programmers, Allan
            Klumpp, kept a copy of Luminary 99 Rev 0 (or 99/0 for
            short), since donated to <a href="http://www.klabs.org">klabs.org</a>,
            having been told that it was the version that flew on Apollo
            11.&nbsp; Unfortunately, that turns out not to have been the
            case, but it was indeed the first revision of Luminary
            released for manufacture for Apollo 11 ... by which I mean
            that its core-rope memory modules were actually
            manufactured, though not flown.<br>
            <br>
            We know that the program identifies itself as "REVISION 099
            OF AGC PROGRAM LUMINARY BY NASA 2021112-051" in the page
            headings of the printouts, so from <a
              href="R700-3-Table4-11.jpg">the chart at the top of this
              page</a> we know that it's the revision immediately <i>preceding</i>
            the flown version.&nbsp; Unfortunately, we at the Virtual
            AGC Project have never actually had access to the Luminary
            99/0 hardcopy itself, or to any scans of it.&nbsp; I hope
            some day to have it scanned, though with each passing year
            that seems an increasingly distant dream.&nbsp; Apparently,
            Luminary 97 was actually the first AGC software version
            actually targeted for Apollo 11, and thus had already been
            modified by the time of Luminary 99/0.<br>
            <br>
            As it turns out, our Mike Stewart (thanks Mike, and Nik Beug
            who also helped out) has noticed that we have just enough
            info at our disposal to <i>reconstruct</i> the source code
            for Luminary 99/0 even in the absence of the program listing
            itself.&nbsp; And having reconstructed the source code, we
            thus get the executable octal rope for free, and can run it
            in the AGC simulator.&nbsp; <br>
            <br>
            The source code reconstructed by Mike is what you see linked
            at the left.&nbsp; <br>
            <br>
            A few things worked in Mike's favor in performing the
            reconstruction.&nbsp; For one thing, at the time the
            reconstruction was done, we already had the program version
            immediately following it (namely Luminary 99/1, see the very
            next row in this table), and a version not much earlier
            (namely Luminary 69/2, see the preceding row in this
            table).&nbsp; For another, in hardcopies of program listings
            like those for Luminary 99/1, the relatively few lines which
            have <i>changed</i> from prior versions are marked with a
            *, making them relatively easy to find.&nbsp; Finally, while
            Allan did not give us his hardcopy of Luminary 99/0 to scan,
            he <i>did</i> agree to look at the memory-bank checksums
            for us, and was kind enough to give us the checksum of the
            single memory bank that differed from 99/1 ... so we could
            easily verify that the reconstruction was very <i>likely</i>
            to be correct.&nbsp; Of course, one can never be 100% sure,
            in the continued absence of the hardcopy.&nbsp; But we're
            pretty confident that the reconstruction is accurate;
            admittedly, it's possible we may not have found all of the
            program-comment changes.<br>
            <br>
            In case you're wondering, the only change between this
            version and the flown version (099/1) is the correction of a
            long-standing bug, in which a reset of the computer
            incorrectly reset (cleared) certain of the hardware timers,
            thus resulting in events that were triggered by the next
            expiration of those timers occurring at the wrong time.<br>
          </td>
        </tr>
        <tr align="center">
          <td style="vertical-align: middle;">099/1<br>
          </td>
          <td style="text-align: center; vertical-align: middle;"> <a
              href="listings/Luminary099/MAIN.agc.html">As colorized,
              hyperlinked,&nbsp; HTML</a><br>
            <br>
            or<br>
            <br>
            (MIT Library printout)<br>
            <br>
            <a href="ScansForConversion/Luminary099"> As scanned page
              images (<span style="font-style: italic;">very</span>
              big!)</a><br>
            <br>
            <a href="AP11ROPEpage1472.jpg">Page 1472</a><br>
            <br>
            <a href="AP11ROPEpage1473.jpg">Page 1473</a><br>
            <br>
            or<br>
            <br>
            (Don Eyles's "AP11ROPE" printout)<br>
            <br>
            <a href="ScansForConversion/AP11ROPE/">Reduced-size page
              scans (JPG)</a><br>
            <br>
            <a href="https://archive.org/details/ap11rope00miti">Full-resolution
page





















              scans (JPEG 2000)</a><br>
          </td>
          <td style="text-align: left; vertical-align: middle;"> <a
              name="Luminary99Blurb"></a>This is the AGC software
            version that was flown in the Apollo 11 Lunar Module.<br>
            <br>
            Page images have been taken from a hardcopy from the Charles
            Stark Draper Historical Collection, MIT Museum, and then
            converted to source code by a team of volunteers.<br>
            <br>
            <table summary="" style="text-align: left; margin-left:
              auto; margin-right: auto;" cellspacing="2" cellpadding="2"
              border="1">
              <tbody>
                <tr>
                  <td style="vertical-align: top;">
                    <div style="text-align: center;"> <span
                        style="font-weight: bold;"><span
                          style="text-decoration: underline;">Honor Roll</span><br>
                      </span>
                      <div style="text-align: left;"> <span
                          style="font-style: italic;"><br>
                          <span style="text-decoration: underline;">Organizational





















                            honors</span></span><br>
                      </div>
                    </div>
                    <table summary="" style="text-align: left; width:
                      100%;" cellspacing="2" cellpadding="2" border="0">
                      <tbody>
                        <tr>
                          <td style="vertical-align: middle;"> <big><span
                                style="font-family: sans-serif;">Massachusetts
Institute





















                                of Technology / MIT Museum</span><br
                                style="font-family: sans-serif;">
                              <span style="font-family: sans-serif;">Building
N51,





















                                265 Massachusetts Avenue</span><br
                                style="font-family: sans-serif;">
                              <span style="font-family: sans-serif;">Cambridge,
MA&nbsp;





















                                02139<br>
                                <a href="http://web.mit.edu/museum/"><small>web.mit.edu/museum/</small></a><br>
                              </span></big></td>
                          <td style="text-align: center; vertical-align:
                            middle;"> <a
                              href="http://web.mit.edu/museum/"><img
                                alt="" title="Click to visit the MIT
                                Museum website"
                                src="MITMuseumLogo_red.gif"
                                style="border: 0px solid ; width: 107px;
                                height: 101px;" width="107" height="101"></a><br>
                          </td>
                        </tr>
                      </tbody>
                    </table>
                    <br>
                    <span style="font-style: italic; text-decoration:
                      underline;"> Individual honors</span><br>
                    <ul>
                      <li>Deborah Douglas, the Museum's Curator of
                        Science and Technology, who conceived the idea
                        of making this material available to us, and
                        without whom we had literally no chance of
                        obtaining it.</li>
                      <li>Paul Fjeld, for digitizing the hardcopy.</li>
                      <li>(In alphabetical order) Fabrizio Bernardini,
                        Hartmuth Gutshe, Onno Hommes, Jim Lawton, and
                        Sergio Navarro, for converting the page images
                        to source code.</li>
                      <li>Steve Case and Dawn Masuoka for helping in
                        proofing the executable binary.<br>
                      </li>
                      <li>... and those whose names I do not know at the
                        Charles Stark Draper Laboratory and NASA who
                        allowed us to do this.<br>
                      </li>
                    </ul>
                  </td>
                </tr>
              </tbody>
            </table>
            <br>
            Below, you can see a video made by Niklas Beug, in which
            this Luminary 99/1 AGC software is used to make a simulated
            Apollo 11 lunar landing, using the Orbiter spaceflight
            simulator, with the NASSP 7.0 Apollo-mission add-on and our
            own AGC CPU simulator.&nbsp; (A higher-resolution version is
            probably available if you go directly to YouTube.)<br>
            <br>
            <center><iframe
                src="https://www.youtube.com/embed/sHaS6sYJsMg"
                allowfullscreen="" width="480" height="270"
                frameborder="0">&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;br&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;





















              </iframe></center>
            <br>
            The MIT Museum copy is dated 14 July, 1969, which seems odd
            at first glance, since it would be far too late to actually
            have been included in the Apollo 11 mission.&nbsp; AGC
            developer Hugh Blair-Smith speculates that this is the date
            of the printing rather than of the program build, and that
            seems plausible ... it seems as though you'd want to have
            it, for historical purposes! &nbsp; At any rate, the
            printout identifies itself as "REVISION 001 OF AGC PROGRAM
            LMY99 BY NASA 2021112-061", which according to <a
              href="R700-3-Table4-11.jpg">the chart at the very top of
              this web-page</a> tells you that it is indeed the version
            that was flown in the mission ... but keep reading, because
            there are curious postscripts!<br>
            <br>
            AGC developer Don Eyles also has a copy of Luminary 99,
            though oddly named AP11ROPE BY EYLES rather than LMY99 BY
            NASA, and it was printed in 1970 for some reason.&nbsp; Our
            scan was financed by Vipin Rathor (thanks, Vipin!)&nbsp;
            After a full analysis of AP11ROPE yet, I can tell you the
            following:<br>
            <ul>
              <li>The octal rope for AP11ROPE — i.e., the executable
                form into which the source code compiles — is <i>identical</i>
                to that of Luminary 99/1.&nbsp; Thus,&nbsp; differences
                in the source code are confined to things like program
                comments which don't affect the executable code.</li>
              <li>There is precisely one difference between the program
                comments in AP11ROPE and our earlier scan from the MIT
                library, and that is on page 2 of the listing, in which
                a group of software modules is mentioned as "LEMONAID"
                in the one case, and "LNYAIDE" in the other.<br>
              </li>
              <li>Regarding the software modules just mentioned, even
                though Don hadn't changed the program comment naming
                them, he actually referred to this section (pp. 153-489)
                as "AP11AID", indicating that he presumably intended to
                make changes in this area to further his purpose in
                branching AP11ROPE from LUMINARY, but just hadn't done
                so yet.&nbsp; We know this because of the fact that
                assembler-generated lines in the printout refer to this
                section not as LEMONAID but as AP11AID.<br>
              </li>
              <li>Finally, "LEMONAID" was the name for this section in
                LUMINARY 69, so that fact that the program comments in
                AP11ROPE continue to refer to it as LEMONAID rather than
                as LNYAIDE implies that AP11ROPE was not branched
                directly from LUMINARY 099/1, in spite of being
                essentially identical to it.&nbsp; <br>
              </li>
            </ul>
            Regarding the "digital simulations" mentioned to the right,
            these are simulations performed during the Apollo era, not
            simulations we have performed as part of the Virtual AGC
            project.&nbsp; They are very complete, containing not only
            pad loads, but also position/velocity data, notations of
            what the astronaut is supposed to input on the DSKY, what
            the DSKY is displaying on a moment-to-moment basis,
            occasional memory dumps, and so on. &nbsp; There are two
            such surviving simulations for Apollo 11, both from Don
            Eyles's personal collection.&nbsp; We have had them scanned,
            with Matthew Fite financially sponsoring the 1969 version
            and Fabrizio Bernardini financially sponsoring the 1971
            version.&nbsp; (Thanks Matthew and Fabrizio!)&nbsp; The two
            simulations are somewhat different; i.e., these are <i>not</i>
            merely two different scans of the same thing.&nbsp;
            Unfortunately, the printout for the 1971 simulation is quite
            low-contrast, and its full-color scans quite hard to read,
            so I've provided a highly-processed, high-contrast B&amp;W
            version as well.<br>
            <br>
            The 1969 digital simulation was done a few days <i>after</i>
            the actual landing.&nbsp; While we're not 100% sure why it
            was made, one speculation is that it was done in order to
            investigate the causes of the 1201 and 1202 program alarms
            that had been experienced during the landing itself.&nbsp;
            Don Eyles agrees that this must have been what he intended,
            and points out that his notes indicate that TLOSS (the
            maximum amount of CPU time that it was permissible to
            "lose") was set to 10% in that run. (It was the fact that
            the CPU time lost in interacting with the rendezvous radar
            was excessive that caused the Apollo 11 1201/1202 alarms.
            See <a href="Documents/LUM140_text.pdf">LUMINARY Memo #140</a>,
            for example, for some background information about TLOSS.)<br>
            <br>
            Also, you may wonder, why was there a digital simulation of
            Apollo 11 in 1971, a couple of years <i>after</i> Apollo 11
            landed on the moon?&nbsp; Shouldn't the simulations only
            have been useful <i>before</i> the landing?&nbsp; Well, Don
            Eyles had this simulation performed for his own purposes and
            (after nearly 50 years!) is no longer sure quite what that
            purpose was.&nbsp; He worked on several off-the-main branch
            AGC programs, such as ZERLINA (see below), intended to
            explore improved methods for performing the landing; my
            theory is that this simulation provided baseline data
            against which to measure such improvements, and Don admits
            that this is a plausible theory.<br>
            <br>
            Speaking of ZERLINA, if you examine the full-color scans for
            the digital simulation found at archive.org, you may notice
            that the label on the binder (removed in the B&amp;W PDF
            I've posted here at this site) identifies the 1971
            simulation as "DIANA Rev. 12".&nbsp; It is <i>not</i>
            DIANA, however: the binder containing the simulation's
            printout had <i>formerly</i> contained a copy of DIANA, we
            believe, and Don simply reused it for this printout without
            relabeling it.&nbsp; DIANA was another off-the-main-branch
            program, like ZERLINA, which was developed by Peter Adler
            and Don Eyles in order to explore an improved time-sharing
            technique that would avoid the 1201 and 1202 program alarms
            experienced in the Apollo 11 landing.&nbsp; The approach
            wasn't adopted, though, and copies of DIANA no longer exist
            as far as we know.&nbsp; (At any rate, neither Don nor Peter
            has a copy.)<br>
          </td>
        </tr>
        <tr>
          <td valign="middle" align="center">099/2<br>
          </td>
          <td valign="middle" align="center"><a
              href="listings/LUM99R2/MAIN.agc.html">As colorized,
              hyperlinked HTML</a><br>
          </td>
          <td valign="middle">Here's the curious postscript to the
            Apollo 11 software story that I mentioned above.<br>
            <br>
            <a name="Kernan" id="Kernan"></a>James Kernan, another of
            the original AGC developers, has sent us some confusing
            facts.&nbsp; I'll let Jim tell it in his own words:<br>
            <br>
            <div style="margin-left: 40px;"> <small>I was an employee
                at Draper Lab, and was in charge of the Lunar Module LGC
                computer programming group and also in charge of
                Assembly Control for the flight software during the
                Apollo 9-12 software development period.&nbsp; The
                latter responsibility included reviewing all proposed
                alterations to the flight software and the YUL assembler
                inputs.<br>
                <br>
                I can explain the confusion over the Luminary version
                that flew on Apollo 11.&nbsp; We were aiming for
                Luminary Revision 99 as the Apollo 11 Lunar Module
                flight software.&nbsp; There was a tradition (or rule)
                that the flight software version should have no
                revision, so we renamed Luminary Revision 099 as Lum99
                Revision 0.&nbsp; At the last minute, Dan Lickly, our
                chief engineer, appeared with ephemerides updates and it
                took two tries to get it right.&nbsp; The result was
                that we created Lum99 Revision 1 and Lum99 Revision
                2.&nbsp; We made a no-change version of the latter and
                named it Lum99R2 Revision 0.<br>
                <br>
                The tapes and ropes were made from that.&nbsp;&nbsp;
                That is my recollection.&nbsp; Unfortunately, I did not
                have the foresight to keep a printout of the flight
                version.</small><br>
            </div>
            <br>
            Some years later, he retells the story as follows:<br>
            <blockquote><small>The evening of the release for Apollo 11,
                John Sutherland and I were in the assembly control room
                about to make the final assembly of Luminary.&nbsp; For
                reasons unsupportable by reason, I had decided that the
                Luminary revision for Apollo 11 would be less than 100
                and lo and behold we were about to make revision
                99.&nbsp; The procedure for releasing a program for
                manufacture entailed assigning a &lt;unique name&gt;
                Revision 0 by NASA &lt;part number&gt;.&nbsp; The
                Revision Number had to be 0 and the author had to be
                NASA with the manufacture part number included.&nbsp; So
                we chose Lum99 Revision 0 by NASA &lt;part
                number&gt;.&nbsp; We had previously got the part number
                from Bob Millard in the Program Office.&nbsp; The LM
                part numbers were in the 2 million series (if I remember
                correctly) and CM numbers were one million.&nbsp; We had
                just made LUMINARY Revision 99 when Dan Lickly, our
                chief engineer, came into the room with the news that
                the ephemeris numbers had to be updated.&nbsp; This
                seemly upset my desire to keep the revision number under
                100. But the Yul system was flexible.&nbsp; We changed
                the name to LUM99R1, and since it took 2 to get the
                ephemeris numbers right, the final listing is named
                LUM99R2 Revision 0 by NASA &lt;part number&gt;.&nbsp; So
                if you have a listing of what you think is the landing
                program for Apollo 11, look at the name, revision, and
                author to make sure.&nbsp; I did not keep a copy ( I
                wish I had).&nbsp; The mainline development of Luminary
                for subsequent missions continued with revision 100.</small><br>
            </blockquote>
            Neither version of this story can be quite correct, in that
            it clearly indicates that one difference between Luminary 99
            Rev 0 and Rev 1 is that there was an ephemeris change.&nbsp;
            However, we have both Luminary Rev 1 (099/1) and a reliable
            reconstruction of Luminary Rev 0 (099/0) available to us,
            and there is no ephemeris change between them.&nbsp; Thus,
            Jim is mistaken about the reason Rev 1 was produced (we know
            that it was a bug fix for Rev 0), and presumably it was only
            Rev 2 that had an ephemeris change. <br>
            <br>
            Jim's story is correct in one very important regard, namely
            that the <a href="https://en.wikipedia.org/wiki/Ephemeris">ephemeris</a>
            data in Luminary 99 Rev 1 is certainly <i>wrong</i>.&nbsp;
            How do we know this?&nbsp; Well, ephemeris data in an AGC
            program covers the timespan of a year, <a
              href="Documents/SGA_Memo20_650929.pdf">beginning on July 1
              of one year and continuing through June 30 of the
              following year</a>, and so the missions in the time range
            July 1, 1969, through June 30, 1970, should all have the
            same ephemeris data.&nbsp; Those missions happen to be
            Apollo 11, Apollo 12 , and Apollo 13.&nbsp; The ephemeris
            data is roughly the last 50 lines of the CONTROLLED
            CONSTANTS in the Luminary source code, or in this case<br>
            <ul>
              <li><a
                  href="listings/Luminary099/CONTROLLED_CONSTANTS.agc.html">Apollo
11:





















                  Luminary 99 Rev 1 CONTROLLED CONSTANTS</a></li>
              <li><a
                  href="listings/Luminary116/CONTROLLED_CONSTANTS.agc.html">Apollo
12:





















                  Luminary 116 CONTROLLED CONSTANTS</a></li>
              <li><a
                  href="listings/Luminary131/CONTROLLED_CONSTANTS.agc.html">Apollo
13:





















                  Luminary 131 CONTROLLED CONSTANTS</a></li>
            </ul>
            <p>and it's pretty easy to see that there's a mismatch
              between Luminary 99 Rev 1 and the other two.&nbsp; Nor, as
              Jim's story would suggest, does it match <a
                href="listings/Luminary069/CONTROLLED_CONSTANTS.agc.html">Apollo
10





















                (Luminary 69)</a>, from the preceding 12-month interval.<br>
            </p>
            <p>At any rate, no printout of LUM99R2 has ever been found,
              nor any other reference to it other than Jim's
              recollection, so we can't present you with a bunch of
              scanned pages for it the way we can with all the other AGC
              listings we've made available.<br>
            </p>
            <p>Years after this story of Jim's came up, <a
href="https://archive.org/stream/apertureCardBox467Part2NARASW_images#page/n80/mode/1up">engineering













                drawing 2021152</a> fell into our hands.&nbsp; This
              drawing is a cumulative listing of all manufactured rope
              modules, including all of their memory-bank
              checksums.&nbsp; While it is possible that some ropes were
              manufactured <i>after</i> the highest revision of this
              drawing (which goes through Apollo 14), it's hard to see
              how it could be in error prior to that.&nbsp; The drawing
              includes Luminary 99/0 and 99/1, but it definitely does <i>not</i>
              include 99/2.&nbsp; <br>
            </p>
            <p>So in the end, I think we have to conclude that while the
              events in Jim's story undoubtedly happened more-or-less as
              he recalls them, and that his story captures very real
              information about the Apollo ephemeris, the core-rope
              modules for Luminary 99/2 were never manufactured.&nbsp; <i>We</i>
              know that Luminary 99/1 worked just fine, in spite of the
              incorrect ephemeris, and you can see a video of a
              simulated landing using it above.&nbsp; Undoubtedly that
              fact was known back in the day as well.&nbsp; My guess is
              that they simply decided to stick with what had been
              tested, rather than make a slightly riskier change to
              something that was theoretically more correct but
              untested, and that that detail has simply slipped from
              memory as the decades have passed.<br>
            </p>
            <p>Nevertheless, one thing we are able to do in spite of
              that is to imagine for you what Luminary 99/2 would have
              been like.&nbsp; You see, if the <i>only</i> difference
              between Luminary 99/1 and 99/2 is the ephemeris, and since
              the <i>correct</i> ephemeris must agree with Luminary
              116, then we can simply patch the correct ephemeris into
              the Luminary 99/1 source code ... which is precisely what
              we've done in the source-code hyperlink to the left!&nbsp;
              You can fly it in Virtual AGC if you like, and I believe
              it behaves just as expected.<br>
            </p>
          </td>
        </tr>
        <tr align="center">
          <td style="vertical-align: middle; white-space: nowrap;">
            Apollo 12<br>
          </td>
          <td style="text-align: center; vertical-align: middle;"> LM-6<br>
          </td>
          <td style="text-align: center; vertical-align: middle;"> H<br>
          </td>
          <td style="font-weight: bold; vertical-align: middle;
            white-space: nowrap;"> Luminary 1B<br>
          </td>
          <td style="vertical-align: middle;">116<br>
          </td>
          <td style="text-align: center; vertical-align: middle;"><a
              href="listings/Luminary116/MAIN.agc.html">As colorized,
              hyperlinked&nbsp; HTML</a><br>
            <br>
            or<br>
            <br>
            <a href="ScansForConversion/Luminary116/">
              Reduced-size&nbsp; scanned JPG</a><br>
            (300MB)<br>
            <br>
            or<br>
            <br>
            <a href="https://archive.org/details/luminary11600nasa">High-quality
scanned





















              JPEG 2000</a><br>
            (700MB)</td>
          <td valign="middle" align="center"><a href="2003993-051.html">AGC</a><br>
            <br>
            <a href="2003994-091.html">DSKY</a><br>
            <br>
            <a href="6014999-071.html"> G&amp;N System</a></td>
          <td style="text-align: left;"> <a
              href="Documents/LM_Systems_Handbook_060269.pdf"> Excerpted
              LM Systems Handbook</a><br>
            <br>
            <span style="text-decoration: underline;">Operational Data
              Book</span><br>
            <ul>
              <li><a
href="Documents/SNA-8-D-027III-Rev2-CsmLmSpacecraftOperationalDataBook-Volume3-MassProperties.pdf">Volume





















                  3</a></li>
            </ul>
            <a href="Documents/Apollo12FlightPlan.pdf">Flight Plan</a><br>
            <br>
            <a
href="Documents/MSC%2069-FM-248%20Spacecraft%20Operational%20Trajectory%20for%20Apollo%2012%20Volum%20I.pdf">Spacecraft
Operational





















              Trajectory</a><br>
            <br>
            <a href="Documents/j2-80-MSC-69-FS-4_text.pdf">Programmed
              Guidance Equations for Luminary 1B</a><br>
            <br>
            <a href="Documents/apollo12landingd00miti.pdf">Digital
              simulation of the lunar landing</a><br>
            <br>
            <a href="Documents/HSI-208616.pdf">E-2260: Guidance,
              Navigation, and Control Lunar Module Functional
              Description and Operation Using Flight Program LUMINARY
              (Rev. 116)</a><br>
          </td>
          <td style="text-align: left; vertical-align: middle;">This is
            from the hardcopy in Don Eyles's private collection, as
            scanned at archive.org (sponsored by Ron Burkey, me).&nbsp;
            Unfortunately, the printout is pretty faint, and pp.
            217-220, 226 are entirely missing.&nbsp; But we've worked
            around the missing pages and have been able to completely
            reconstruct them.<br>
            <br>
            Regarding the Programmed Guidance Equations document
            hyperlinked at the left, it is an MSC document whose purpose
            is "to provide more effective identification and analysis of
            various program performance features and to permit more
            effective review of published computer program
            documentation".&nbsp; In other words, while it does contain
            material related to guidance equations, it is perhaps better
            to think of this as being a pseudo-code description of the
            Luminary 116 program.<br>
            <br>
            The digital simulation of the landing, from Don Eyles's
            personal collection (with scanning financially sponsored by
            Matthew Fite), had been made a few months <i>after</i> the
            Apollo 12 landing itself.&nbsp; But why?&nbsp; Surely, the
            simulation is useful only <i>before</i> the landing? Niklas
            Beug has researched the matter, and has noticed that a
            couple of the pad-load settings (namely TCGIBRAK and
            TCGFBRAK) in the digital simulation are a bit
            puzzling.&nbsp; What these tricky pad-load values do is to
            prevent the time-consuming computation of the matrix for
            converting between the coordinate system of the Inertial
            Measurement Unit's stable platform and the coordinate system
            of the landing site from occurring within P63.&nbsp; This is
            fine because the stable platform is aligned (by the
            astronauts) with the landing site reference frame before the
            approach occurs, so the two coordinate systems are one and
            the same.&nbsp; The Apollo 12 software, then, was used for
            testing that this would work simply because it was
            coincidentally the most-current software revision at the
            time, and not because the digital simulation had anything to
            do with Apollo 12 as such.&nbsp; And Niklas has actually
            performed a simulated landing with these pad-loads to insure
            that it can be done.&nbsp; Admittedly, Don Eyles isn't
            particularly receptive of this explanation, so the
            conclusion remains in doubt.<br>
            <br>
            As far as document E-2260 is concerned, its preface say the
            following: "The purpose of this document is twofold.&nbsp;
            The first is to provide a functional description
            (operationally oriented) of the LM GNCS hardware and
            software and the interfaces with other spacecraft
            systems.&nbsp; The level of detail is that required to
            identify and define telemetry outputs. Also included are
            function flow diagrams of the LUMINARY programs and routines
            together with lists of verbs, nouns, option codes, and
            checklist codes for this flow. The second purpose is to
            provide the operational procedures for this hardware and
            software including nominal airborne condensed checklists,
            malfunction procedures, and program notes." </td>
        </tr>
        <tr>
          <td rowspan="4" colspan="1" valign="middle" align="center"><font
              color="#000000">Apollo 13</font><br>
          </td>
          <td rowspan="4" colspan="1" valign="middle" align="center">LM-7<br>
          </td>
          <td rowspan="4" colspan="1" valign="middle" align="center">H-2<br>
          </td>
          <td rowspan="4" colspan="1" valign="middle" align="center"><b>Luminary








              1C</b><br>
          </td>
          <td valign="middle" align="center">130<br>
          </td>
          <td valign="middle" align="center"><a
              href="listings/Luminary130/MAIN.agc.html">As colorized,
              hyperlinked,&nbsp; HTML</a></td>
          <td rowspan="4" colspan="1" valign="middle" align="center"><br>
            <a href="2003993-031.html">AGC</a><br>
            <br>
            <a href="2003994-091.html">DSKY</a><br>
            <br>
            <a href="6014999-101.html"> G&amp;N System</a></td>
          <td rowspan="4" colspan="1" valign="middle"><br>
            <span style="text-decoration: underline;">GSOP (R-567)</span><br>
            <ul>
              <li><a href="NARA-SW/R-557-sec1-rev1.pdf"> Section 1</a><br>
              </li>
              <li><a href="NARA-SW/R-567-sec2-rev8.pdf"> Section 2</a></li>
              <li><a href="NARA-SW/R-567-sec3-rev4.pdf"> Section 3</a></li>
              <li>Section 4:</li>
              <ul>
                <li><a href="NARA-SW/R-567-sec4-rev7-intro.pdf">
                    Introduction</a></li>
                <li><a href="NARA-SW/R-567-sec4-rev7-P00-P39.pdf">
                    P00-P39</a><br>
                </li>
                <li><a href="NARA-SW/R-567-sec4-rev7-P40-P69.pdf">
                    P40-P69</a><br>
                </li>
                <li><a href="NARA-SW/R-567-sec4-rev7-P70-R09.pdf">
                    P70-R09</a>.&nbsp; (192 pages, 3.3M bytes.)<br>
                </li>
                <li><a href="NARA-SW/R-567-sec4-rev7-R10-R56.pdf">
                    R10-R56</a><br>
                </li>
                <li><a href="NARA-SW/R-567-sec4-rev7-R57-end.pdf"> R57-</a><br>
                </li>
              </ul>
              <li>Section 5:</li>
              <ul>
                <li><a href="NARA-SW/R-567-sec5-rev8-5.1-5.2.pdf">
                    5.1-5.2</a><br>
                </li>
                <li><a href="NARA-SW/R-567-sec5-rev8-5.3.pdf"> 5.3</a><br>
                </li>
                <li><a href="NARA-SW/R-567-sec5-rev8-5.4-5.5.pdf">
                    5.4-5.5</a><br>
                </li>
                <li><a href="NARA-SW/R-567-sec5-rev8-5.6-end.pdf"> 5.6-</a><br>
                </li>
              </ul>
              <li><a href="NARA-SW/R-567-sec6.pdf">Section 6</a></li>
            </ul>
            <p><a href="Documents/j2-80-E-2448-REV1_text.pdf">Users'
                Guide to Apollo GN&amp;CS Major Modes and Routines, Rev
                1</a></p>
            <ul>
            </ul>
            <a href="Documents/LM7_Pad_loads.pdf">Pad loads for LM-7</a><br>
            <br>
            <a href="Documents/LM_Systems_Handbook_060269.pdf">
              Excerpted LM Systems Handbook</a><br>
            <br>
            <span style="text-decoration: underline;">Operational Data
              Book</span><br>
            <ul>
              <li><a
href="Documents/SNA-8-D-027III-Rev2-CsmLmSpacecraftOperationalDataBook-Volume3-MassProperties.pdf">Volume





















                  3</a></li>
            </ul>
            <p><a href="Documents/j2-80-MSC-70-FS-2_text.pdf">Programmed
                Guidance Equations for Luminary 1C</a><br>
            </p>
            <ul>
            </ul>
          </td>
          <td valign="middle"><a name="LUM130"></a>Luminary 130 was the
            first software release whose ropes were manufactured for the
            Apollo 13 LM.&nbsp; There were several subsequent releases
            due to bug fixes, so it never actually flew.<br>
            <br>
            We do not have a physical assembly listing for Luminary 130,
            but it has proven possible to reconstruct the source code
            with complete confidence (thanks, Mike Stewart!).<br>
            <br>
            The reason this is possible is that we have a scan of a
            Luminary 131 assembly listing, plus <a
              href="Documents/LUM129-001.pdf">LUMINARY Memo #129</a>
            describing the differences (all minor) between 130 and 131,
            thus making it possible undo those changes.&nbsp; Finally,
            the recently-uncovered <a
href="https://archive.org/stream/apertureCardBox467Part2NARASW_images#page/n80/mode/1up">engineering








              drawing 2021152</a> lists all of the memory-bank checksums
            for Luminary 130, thus making it possible to verify that the
            modified code has the proper memory-bank checksums.<br>
          </td>
        </tr>
        <tr align="center">
          <td style="vertical-align: middle; white-space: nowrap;">131<br>
          </td>
          <td style="text-align: center; vertical-align: middle;"> <a
              href="listings/Luminary131/MAIN.agc.html">As colorized,
              hyperlinked,&nbsp; HTML</a><br>
            <br>
            <a href="ScansForConversion/Luminary131"> <span
                style="text-decoration: underline;">Scanned page images
                from HRST (<span style="font-style: italic;">very</span>
                big, very poor quality!)</span></a><br>
            <br>
            <a href="ScansForConversion/Luminary131-Eyles/">Scanned page
              images, Don Eyles (very big, medium quality!)</a><br>
            <br>
            <a href="https://archive.org/details/luminary131agcpr00miti">Scanned
page





















              images, Don Eyles (very very big, good quality!)</a><br>
          </td>
          <td style="text-align: left; vertical-align: middle;"> <a
              name="Luminary131"></a>This is the second Luminary release
            whose ropes were manufactured for Apollo 13, but it was not
            the revision eventually flown in the mission. Unfortunately,
            for over a decade, I said here that it was the revision
            actually flown.&nbsp; Niklas Beug was sharp enough to notice
            what I was not, namely in the table from <a
              href="R700-3-Table4-11.jpg">document R-700 shown at the
              top of this very web-page</a> that what <i>we</i> have is
            the first version (December 1969) of Luminary 131, but that
            subsequent versions were released in January and February
            1970, and it was the latter of which that was flown. <br>
            <br>
            In the early years of this project (2003-2016), we relied on
            a scanned PDF of Luminary 131 that had appeared on the
            now-defunct History of Recent Technology (HRST)
            website.&nbsp; We're not entirely sure of the history of
            that scan, though there is <a
              href="ScansForConversion/Luminary131/coverLetter.png">a
              great cover letter</a> from original AGC developer Jim
            Kernan that goes with it. What we are pretty sure of is that
            David Craig, apparently a great collector of AGC artifacts,
            asked for an AGC program listing, got this one (possibly
            xeroxed by Hugh Blair-Smith according to one theory), and
            that Gary Neff scanned it, passing the scans along to the
            HRST website administrators.&nbsp; Unfortunately, the image
            quality became severely compromised after that point ... but
            whatever the image quality, we have to be grateful to all of
            these folks, because it was really the existence of this
            scan that made our entire Virtual AGC project
            possible.&nbsp; Thanks, guys!&nbsp; Gary Neff also later
            kindly provided me with a replacement for a page which is
            garbled in the HRST version.&nbsp; This original scan is
            still available, linked at the left as "Scanned page images
            from HRST".<br>
            <br>
            Nevertheless, however grateful we may feel for the HRST
            version, we're luckier today to have an infinitely superior
            scan, made for us from the personal collection of AGC
            developer Don Eyles, and scanned for us by
            archive.org.&nbsp; A few pages (1728-1734) happen to be
            missing from Don's copy, and I've simply inserted them from
            the HRST copy.<br>
            <br>
            Finally ... we can tell that these two different scans
            actually came from the same <i>physical</i> copy.&nbsp;
            This makes sense from Jim Kernan's cover letter to David
            Craig, which says that Don Eyles supplied it.&nbsp; However,
            if you try to check the scans for the hand-written notes
            that appear on many of the AGC listings, you soon realize
            that the HRST version doesn't have the notations that the
            Eyles version has, which is at first blush is impossible
            from the same printout!&nbsp; Well, if you're persistent
            enough, you do eventually find notations that appear on both
            of them.&nbsp; (Look on page 750.)&nbsp; So the conclusion
            must be that Don (or somebody) wrote in most of these notes
            <i>after</i> the HRST version was copied in 1991, rather
            than during the actual Apollo project.&nbsp; Isn't that nice
            to think that the program was actually being read and deeply
            examined, instead of simply being forgotten on a shelf?<br>
            <br>
            Regarding the Users' Guide hyperlinked at the left, it is "a
            comprehensive, user-oriented description of the APOLLO
            GN&amp;C system ... revised as necessary to remain current",
            but not targeted at specific missions.&nbsp; However, given
            that it is dated July 1970, it is probably pretty accurate
            for Apollo 13.<br>
            <br>
            Regarding the Programmed Guidance Equations document
            hyperlinked at the left, it is an MSC document whose purpose
            is "to provide more effective identification and analysis of
            various program performance features and to permit more
            effective review of published computer program
            documentation".&nbsp; In other words, while it does contain
            material related to guidance equations, it is perhaps better
            to think of this as being a pseudo-code description of the
            Luminary 116 program.&nbsp; (On the other hand, Section 5 of
            the GSOP, "Guidance Equations", also hyperlinked at the
            left, does indeed cover this topic explicitly.)<br>
          </td>
        </tr>
        <tr>
          <td valign="middle" align="center">131/9<br>
          </td>
          <td valign="middle" align="center">Perhaps soon ...<br>
          </td>
          <td valign="top">This is the third Luminary release whose
            ropes were manufactured for Apollo 13, but it was not the
            revision eventually flown in the mission.&nbsp; <br>
            <br>
            In calling it revision 131/9, I am really shorthand for
            "LUM. 131 REV. 9", which is a very curious designation,
            considering that it is "LUM. 131 REV 1" from a few months
            later that actually flew in the mission.&nbsp; My guess is
            that "REV. 9" is really itself a shorthand for "REV. 0.9".<br>
          </td>
        </tr>
        <tr>
          <td valign="middle" align="center">131/1<br>
          </td>
          <td valign="middle" align="center">Perhaps soon ...</td>
          <td valign="top">This is the fourth and final Luminary release
            whose ropes were manufactured for Apollo 13, and it was the
            revision eventually flown in the mission.</td>
        </tr>
        <tr>
          <td valign="middle" align="center">N/A<br>
          </td>
          <td valign="middle" align="center">N/A<br>
          </td>
          <td valign="middle" align="center">H<br>
          </td>
          <td valign="middle"><b>Zerlina</b><br>
          </td>
          <td valign="middle">56<br>
          </td>
          <td valign="middle" align="center"><a
              href="listings/Zerlina56/MAIN.agc.html">As colorized,
              hyperlinked,&nbsp; HTML</a><br>
            <br>
            or<br>
            <br>
            <a href="ScansForConversion/Zerlina56/">Scanned page images
              (big, medium quality!)</a><br>
            <br>
            or<br>
            <br>
            <a href="https://archive.org/details/zerlina00done">Scanned
              page images (very big, good quality!)</a></td>
          <td valign="middle" align="center">N/A<br>
          </td>
          <td valign="middle">Digital simulation of a lunar landing: <a
              href="Documents/zerlinalunarland00done.pdf">low resolution</a>
            or <a
              href="https://archive.org/details/zerlinalunarland00done">high





















              resolution</a><br>
          </td>
          <td valign="top"><a name="Zerlina"></a>ZERLINA was an
            off-the-main branch AGC program, by Don Eyles, which
            experimentally developed a number of proposed improvements
            to Luminary.&nbsp; Some of these improvements were actually
            incorporated in later versions of Luminary ... but also,
            many were never used, even where they were demonstrably
            better, due to the need to avoid unnecessary risks —
            changing software is always a risk! — as the Apollo program
            approached its end. For example, I believe that improved
            methods for increasing the positional accuracy of the
            landing were explored in it, partially due to some ideas of
            astronaut John Young, who flew Zerlina in the LM simulator.<br>
            <br>
            Our scan of ZERLINA, by the way, was financially sponsored
            by Linden Sims.&nbsp; Thanks, Linden!<br>
            <br>
            Zerlina itself was apparently branched from Luminary 145,
            and was developed independently for a period of 6-7
            months.&nbsp; Quite a few <a
              href="links.html#LUMINARY_Memos">LUMINARY Memos</a>
            describe the evolution of Zerlina, such as memos #138, #149,
            #161, #171, and #177. Memo #177 covers Zerlina 56
            specifically, so as far as we know, 56 was probably the last
            version of Zerlina.<br>
            <br>
            Zerlina was not the <i>only</i> such experimental branch of
            the AGC code, but it is the only one (that we know of) to
            have survived, and it is the one about which we have the
            most information.<br>
            <br>
            Regarding the digital landing simulation linked at the left,
            it is an Apollo-era simulation run by Don Eyles, rather than
            a "modern" simulation done by the Virtual AGC project.&nbsp;
            The printout came from Don's own private hoard, and the
            scanning for our Internet Archive collection was financed by
            Niklas Beug and Alex Bart (thanks, guys!).<br>
            <br>
            In fact, Nik has actually flown a lunar landing using
            Zerlina in the NASSP/Orbiter spacecraft simulator, and has
            shared a video of it:<br>
            <br>
            <center><iframe
                src="https://www.youtube.com/embed/PP-LzofxsKA"
                allowfullscreen="" width="480" height="270"
                frameborder="0"></iframe></center>
            <br>
          </td>
        </tr>
        <tr>
          <td rowspan="3" colspan="1" valign="middle"><span
              style="color: rgb(0, 0, 0);">Apollo 14</span><br>
          </td>
          <td rowspan="3" colspan="1" valign="middle"> LM-8<br>
          </td>
          <td rowspan="3" colspan="1" valign="middle"> H-3<br>
          </td>
          <td rowspan="3" colspan="1" valign="middle"> <span
              style="color: rgb(0, 0, 0);">Luminary 1D</span><br>
          </td>
          <td valign="middle" align="center">163<br>
          </td>
          <td valign="middle" align="center"><a
              href="listings/Luminary163/MAIN.agc.html">As colorized,
              hyperlinked,&nbsp; HTML</a></td>
          <td rowspan="3" colspan="1" valign="middle"><a
              href="2003993-071.html">AGC</a><br>
            <br>
            <a href="2003994-091.html">DSKY</a><br>
            <br>
            <a href="6014999-111.html"> G&amp;N System</a></td>
          <td rowspan="3" colspan="1" valign="middle"> <a
              href="Documents/LM_Systems_Handbook_060269.pdf"> Excerpted
              LM Systems Handbook</a><br>
            <br>
            <a href="http://www.doneyles.com/LM/Tales.html">The solder
              ball</a><br>
            <br>
            <a href="Documents/j2-80-E-2448-REV1_text.pdf">Users' Guide
              to Apollo GN&amp;CS Major Modes and Routines, Rev 1</a><br>
            <br>
            Apollo Guidance and Navigation Flowcharts, Program Luminary
            1D (Rev 173):&nbsp; <a
              href="Documents/j2-80-E-2471-REV2-VOL1_text.pdf">Volume
              1/2</a> and <a
              href="Documents/j2-80-E-2471-REV2-VOL2_text.pdf">Volume
              2/2</a><br>
            <br>
            <span style="text-decoration: underline;">Operational Data
              Book</span><br>
            <ul>
              <li><a
href="Documents/SNA-8-D-027III-Rev2-CsmLmSpacecraftOperationalDataBook-Volume3-MassProperties.pdf">Volume





















                  3</a><br>
              </li>
            </ul>
          </td>
          <td rowspan="2" colspan="1" valign="top"><a name="Luminary163"></a>Luminary









            163 and Luminary 173 were the first and second revisions of
            Luminary targeted for the Apollo 14 Lunar Module.&nbsp;
            Their core-rope modules were manufactured, but they were not
            actually flown in the mission.&nbsp; (See Luminary 178
            below.)<br>
            <br>
            No contemporary program listings for Luminary 163 and 173
            are known to us, but the programs have been reconstructed
            with a high degree of confidence.&nbsp; You should consult
            Mike Stewart's notes on the reconstruction (see issues <a
              href="https://github.com/virtualagc/virtualagc/pull/1098">#1098</a>
            and <a
              href="https://github.com/virtualagc/virtualagc/pull/1099">#1099</a>
            in our software repository) to understand the reconstruction
            process and the differences from software version to
            software version.&nbsp; Regarding confidence, however, the
            important point to note in these (and in all such)
            reconstructions is that in addition to matching the
            documented version-to-version changes, the memory-bank
            checksums of the reconstructed software match those of the
            manufactured core-rope modules as listed in MIT/IL
            engineering drawing <a
href="https://archive.org/stream/apertureCardBox467Part2NARASW_images#page/n80/mode/1up">2021152N</a>.&nbsp;









            However, things like program comments and page numbering,
            which do not affect the contents of the rope memory, may
            differ from those of the true program listings.<br>
          </td>
        </tr>
        <tr>
          <td valign="middle" align="center">173<br>
          </td>
          <td valign="middle" align="center"><a
              href="listings/Luminary173/MAIN.agc.html">As colorized,
              hyperlinked,&nbsp; HTML</a></td>
        </tr>
        <tr align="center">
          <td style="color: rgb(255, 0, 0); vertical-align: middle;"
            valign="middle" align="center"> <span style="color: rgb(0,
              0, 0);">178</span><br>
          </td>
          <td style="text-align: center; vertical-align: middle;"> <a
              href="listings/Luminary178/MAIN.agc.html">As colorized,
              hyperlinked,&nbsp; HTML</a> </td>
          <td style="text-align: left; vertical-align: middle;"> <a
              name="Apollo14"></a>This is the actual flight program for
            the Apollo 14 Lunar Module.<br>
            <br>
            We've never found any original printout of the Luminary 178
            program, but Mike Stewart has managed to reconstruct the
            program, and we have a very high degree of confidence that
            the reconstruction is correct.&nbsp; By that, I mean that
            the source code which has been reconstructed assembles to a
            core-rope image in 100% byte-for-byte (or word-for-word, to
            be picky) agreement with what was flown in Apollo 14 — i.e.,
            a 100% correct executable program.&nbsp; However, because of
            the nature of the reconstruction process, it's extremely
            likely that some program comments or other superficial
            features that don't affect the final core-rope image won't
            agree perfectly with the original code, if/when we ever find
            a copy of it.<br>
            <br>
            Mike describes the reconstruction process in detail in his
            notes for issues <a
              href="https://github.com/virtualagc/virtualagc/pull/1093">#1093</a>
            and <a
              href="https://github.com/virtualagc/virtualagc/pull/1095">#1095</a>
            in our software repository, but don't read them unless you
            want to be awed.&nbsp; I'm willing to summarize it for you
            in a <i>slightly</i> less mind-boggling way.<br>
            <br>
            At the time the reconstruction was done (Summer 2019), the
            closest revisions to Luminary 178 that were available to us
            were those of <a href="#Luminary131">Luminary 131</a>
            (Apollo 13) and <a href="#Luminary210">Luminary 210</a>
            (Apollo 15).&nbsp; Note the huge gaps:&nbsp; There were 47
            revisions of Luminary between Apollo 13 and 14, and 32
            revisions of Luminary between Apollo 14 and 15 ... and the
            reconstruction requires you to either add in or subtract out
            most of those changes!&nbsp; So how does one fill in such
            huge gaps?<br>
            <br>
            Fortunately, Mike noticed additionally that we had a copy of
            <a href="#Zerlina">Zerlina 56</a>, which is not technically
            Luminary, but which was branched from Luminary 145, and had
            had <i>most</i> of the changes up through Luminary 183
            added to it afterward.&nbsp; So Zerlina 56 <i>ought</i> to
            be much closer to Luminary 178 than either Luminary 131 or
            210 is.&nbsp; Additionally, our document library has a vast
            store of "<a href="links.html#LUMINARY_Memos">Luminary Memos</a>",










            many of which are devoted to describing (albeit only
            textually) the differences from one Luminary (and Zerlina)
            revision to the next.&nbsp; Simply slogging through all of
            the differences between Luminary 131, Luminary 210, and
            Zerlina 56, and cross-referencing those differences to the
            Luminary Memos (and other supporting documentation), was all
            it took to reconstruct Luminary 178.&nbsp; Well, that and a
            lot of cleverness, and several months of effort!&nbsp; In
            the end, Mike says that only 6 lines of code needed to be
            written from scratch, as opposed to being taken as-is from
            one of those other sources.<br>
            <br>
            And perhaps most-importantly, since nobody (even Mike!)
            would have been likely to attempt a reconstruction without
            it, we have MIT/IL engineering drawing <a
href="https://archive.org/stream/apertureCardBox467Part2NARASW_images#page/n80/mode/1up">2021152N</a>.&nbsp;










            This drawing is a list of the memory-bank checksums of all
            manufactured Luminary rope-memory modules.&nbsp; Since the
            memory-bank checksums for Luminary 178 listed in drawing
            2021152N <i>agree</i> with the memory-bank checksums you
            get when you assemble the reconstructed Luminary 178 source
            code, we are confident the reconstruction is correct!<br>
            <br>
            As the final icing on the cake, Niklas Beug, a developer and
            user of <a href="https://github.com/dseagrav/NASSP">NASSP,
              the Apollo-mission add-on for the Orbiter spaceflight
              simulator</a>, has flown the reconstructed Luminary 178
            code in the simulator, and performed a landing with it,
            apparently without problems of any kind ... I guess that
            means that the simulator <i>didn't</i> have a ball of
            solder rolling around inside the control panel and
            threatening to short out the ABORT button.&nbsp; (Ha!)&nbsp;
            I have no video of the simulated landing to show you, but at
            least you can see the lander resting at Fra Mauro at the end
            of the simulation in the following screenshot:<br>
            <br>
            <div align="center"><a href="simAtFraMauro.jpg"><img alt=""
                  title="Click to enlarge" src="simAtFraMauro-small.jpg"
                  width="420" height="263" border="2"></a><br>
            </div>
            <small><br>
              <br>
            </small>Regarding the Users' Guide hyperlinked at the left,
            it is "a comprehensive, user-oriented description of the
            APOLLO GN&amp;C system ... revised as necessary to remain
            current", but not targeted at specific missions.&nbsp;
            However, given that it is dated July 1970, it is probably
            pretty accurate for Apollo 14. </td>
        </tr>
        <tr>
          <td valign="middle" align="center">N/A<br>
          </td>
          <td valign="middle" align="center">N/A<br>
          </td>
          <td valign="middle" align="center">J<br>
          </td>
          <td valign="middle" align="center"><b>Luminary 1D</b><br>
          </td>
          <td valign="middle" align="center">209<br>
          </td>
          <td valign="middle" align="center"><br>
          </td>
          <td valign="middle" align="center">N/A<br>
          </td>
          <td valign="middle"><br>
          </td>
          <td valign="middle">AGC developer Allan Klumpp retained a copy
            of Luminary 209, based on the the belief that it had flown
            on Apollo 17.&nbsp; Unfortunately, this turns out not to
            have been the case, and it was really Luminary 210 that flew
            (see below).&nbsp; But that doesn't invalidate the value of
            Luminary 209.&nbsp; We'd still like to scan it and present
            it for you here!<br>
            <br>
            As it turns out, the printout was donated to <a
              href="http://www.klabs.org">klabs.org</a> before we could
            get access to it, nor do we have access to it today, but
            perhaps we'll be able to scan it some day. <br>
          </td>
        </tr>
        <tr align="center">
          <td style="vertical-align: middle; white-space: nowrap;">
            Apollo 15<br>
          </td>
          <td style="text-align: center; vertical-align: middle;"> LM-10<br>
          </td>
          <td style="text-align: center; vertical-align: middle;"> J-1<br>
          </td>
          <td rowspan="3" style="font-weight: bold; vertical-align:
            middle; white-space: nowrap;"> Luminary 1E</td>
          <td rowspan="3" style="vertical-align: middle;">210<br>
          </td>
          <td rowspan="3" style="text-align: center; vertical-align:
            middle;"><br>
            <br>
            <a href="listings/Luminary210/MAIN.agc.html">As colorized,
              hyperlinked,&nbsp; HTML</a><br>
            <br>
            or<br>
            <br>
            <a href="ScansForConversion/Luminary210-BW/">
              Reduced-resolution&nbsp; high-contrast black&amp;white PNG</a><br>
            (300MB)<br>
            <br>
            or<br>
            <br>
            <a href="ScansForConversion/Luminary210/">
              Reduced-resolution&nbsp; scanned color JPG</a><br>
            (250MB)<br>
            <br>
            or<br>
            <br>
            <a href="https://archive.org/details/luminary21000miti">High-resolution
scanned





















              JPEG 2000</a><br>
            (500MB)<br>
            <br>
            <br>
          </td>
          <td valign="middle" align="center"><a href="2003993-091.html">AGC</a><br>
            <br>
            <a href="2003994-091.html">DSKY</a><br>
            <br>
            <a href="6014999-141.html"> G&amp;N System</a></td>
          <td rowspan="1" style="text-align: left;"> <a
              href="Documents/LmQuickReferenceApollo15.zip"> LGC Data
              Cards</a><br>
            <br>
            <a href="Documents/msc05225.pdf"><span style="font-style:
                italic;"> Program Notes</span></a><br>
            <br>
            <a
              href="http://www.hq.nasa.gov/alsj/a15/a15.CMsoftware.html">Delco





















              Manual</a><br>
            <br>
            <span style="text-decoration: underline;">GSOP (R-567)</span><br>
            <ul>
              <li>Section 1, "Prelaunch": TBD<br>
              </li>
              <li>Section 2, "Data Links":<br>
              </li>
              <ul>
                <li><a href="Documents/j2-80-R-567-SEC2-REV12_text.pdf">Preferred





















                    copy</a><br>
                </li>
                <li><a
                    href="Documents/R-567-GSOP-Luminary1E-Section2-DataLinks.pdf">Alternate





















                    copy<br>
                  </a></li>
              </ul>
              <li><a href="Documents/j2-80-R-567-SEC3-REV8_text.pdf">Section
3,





















                  "Digital Autopilot"</a><br>
              </li>
              <li><a href="Documents/j2-80-R-567-SEC4-REV10_text.pdf">Section
4,





















                  "Operational Modes"</a><br>
              </li>
              <li><a href="Documents/j2-80-R-567-SEC5-REV11_text.pdf">Section
5,





















                  "Guidance Equations</a><br>
              </li>
              <li>(This GSOP does not have a Section 6.)<br>
              </li>
              <li>Section 7, "Erasable Memory Programs":<br>
              </li>
              <ul>
                <li><a href="Documents/j2-80-R-567-SEC7_text.pdf">Preferred





















                    copy</a><br>
                </li>
                <li><a
href="Documents/R-567-GSOP-Luminary1E-Section7-ErasableMemoryPrograms.pdf">Alternate





















                    copy</a></li>
              </ul>
            </ul>
            <p><a href="Documents/j2-80-E-2448-REV4_text.pdf">Users'
                Guide to Apollo GN&amp;CS Major Modes and Routines, Rev
                4, Colossus 3 and Luminary 1E</a></p>
            <ul>
            </ul>
            <span style="text-decoration: underline;">Operations
              Handbook</span><br>
            <ul>
              <li><a
href="Documents/LMA790-3-LM10-ApolloOperationsHandbookLunarModuleLM10AndSubsequent-Volume1-SubsystemsData.pdf">Volume





















                  1</a></li>
              <li>Volume 2</li>
            </ul>
            <span style="text-decoration: underline;">Operational Data
              Book</span><br>
            <ul>
              <li><a
href="Documents/SNA-8-D-027III-Rev2-CsmLmSpacecraftOperationalDataBook-Volume3-MassProperties.pdf">Volume





















                  3</a></li>
            </ul>
            <a href="Documents/Apollo15TechnicalCrewDebriefing.pdf">Crew
              Debriefing</a><br>
            <br>
            <a href="Documents/Apollo15FlightPlan.pdf"> Flight Plan</a><br>
            <br>
            <span style="text-decoration: underline;">Checklists</span><br>
            <ul>
              <li><a href="Documents/Apollo15LMActivationChecklist.pdf">
                  LM Activation</a></li>
            </ul>
            <a
href="Documents/LMA790-2-LunarModuleLM10Through14VehicleFamiliarizationManual.pdf">LM
Familiarization





















              Manual</a></td>
          <td rowspan="3" style="text-align: left; vertical-align:
            middle;"><a name="Luminary210"></a>Luminary 210 is what flew
            on Apollo 15-17.&nbsp; The scan we have is taken from AGC
            developer Don Eyle's collection, as scanned by archive.org,
            and financially sponsored by our Jim Lawton.&nbsp; Thanks,
            Jim!<br>
            <br>
            Below, you can see a video made by Niklas Beug of a
            simulated Apollo 15 lunar landing, using this Luminary 210
            AGC software and the Orbiter spaceflight simulator, with the
            NASSP 8.0 Apollo-mission add-on and our own AGC CPU
            simulator.&nbsp; (A higher-resolution version is probably
            available if you go directly to YouTube.)<br>
            <br>
            <center><iframe
                src="https://www.youtube.com/embed/E301HplyA7A"
                allowfullscreen="" width="480" height="270"
                frameborder="0"></iframe></center>
            <br>
            Regarding "digital simulation" of the Apollo 17 landing
            hyperlinked at the left, it is an Apollo-era computer run
            (not one done by our project!), also from Don Eyles's
            collection, scanned by archive.org, and financially
            sponsored by our Fabrizio Bernardini.&nbsp; It includes
            things like the pad loads, position of the LM at any given
            time, what's displayed on the DSKY at those times, and so
            forth.<br>
            <br>
            Regarding the Users' Guide hyperlinked at the left, it is "a
            comprehensive, user-oriented description of the APOLLO
            GN&amp;C system ... revised as necessary to remain current",
            but not targeted at specific missions.&nbsp; However, given
            that it specifically references Colossus 3 and Luminary 1E,
            that seems pretty specific to Apollo 15, 16, and 17.<br>
          </td>
        </tr>
        <tr align="center">
          <td style="vertical-align: middle; white-space: nowrap;">
            Apollo 16<br>
          </td>
          <td style="text-align: center; vertical-align: middle;"> LM-11<br>
          </td>
          <td style="text-align: center; vertical-align: middle;"> J-2<br>
          </td>
          <td valign="middle" align="center"><a href="2003993-111.html">AGC</a><br>
            <br>
            <a href="2003994-091.html">DSKY</a><br>
            <br>
            <a href="6014999-151.html"> G&amp;N System</a></td>
          <td style="text-align: left;"> <a
              href="Documents/msc05225.pdf"><span style="font-style:
                italic;"> Program Notes</span></a><br>
            <br>
            <span style="text-decoration: underline;">GSOP (R-567)</span><br>
            <ul>
              <li>Section 1, "Prelaunch": TBD<br>
              </li>
              <li>Section 2, "Data Links":<br>
              </li>
              <ul>
                <li><a href="Documents/j2-80-R-567-SEC2-REV12_text.pdf">Preferred





















                    copy</a><br>
                </li>
                <li><a
                    href="Documents/R-567-GSOP-Luminary1E-Section2-DataLinks.pdf">Alternate





















                    copy<br>
                  </a></li>
              </ul>
              <li><a href="Documents/j2-80-R-567-SEC3-REV8_text.pdf">Section
3,





















                  "Digital Autopilot"</a><br>
              </li>
              <li><a href="Documents/j2-80-R-567-SEC4-REV10_text.pdf">Section
4,





















                  "Operational Modes"</a><br>
              </li>
              <li><a href="Documents/j2-80-R-567-SEC5-REV11_text.pdf">Section
5,





















                  "Guidance Equations</a><br>
              </li>
              <li>(This GSOP does not have a Section 6.)<br>
              </li>
              <li>Section 7, "Erasable Memory Programs":<br>
              </li>
              <ul>
                <li><a href="Documents/j2-80-R-567-SEC7_text.pdf">Preferred





















                    copy</a><br>
                </li>
                <li><a
href="Documents/R-567-GSOP-Luminary1E-Section7-ErasableMemoryPrograms.pdf">Alternate





















                    copy</a></li>
              </ul>
            </ul>
            <p><a href="Documents/j2-80-E-2448-REV4_text.pdf">Users'
                Guide to Apollo GN&amp;CS Major Modes and Routines, Rev
                4, Colossus 3 and Luminary 1E</a></p>
            <ul>
            </ul>
            <span style="text-decoration: underline;">Operations
              Handbook</span><br>
            <ul>
              <li><a
href="Documents/LMA790-3-LM10-ApolloOperationsHandbookLunarModuleLM10AndSubsequent-Volume1-SubsystemsData.pdf">Volume





















                  1</a></li>
              <li><a
href="Documents/LMA790-3-LM11-ApolloOperationsHandbookLunarModuleLM11AndSubsequent-Volume2-OperationalProcedures.pdf">Volume





















                  2</a></li>
            </ul>
            <span style="text-decoration: underline;">Operational Data
              Book</span><br>
            <ul>
              <li><a
href="Documents/SNA-8-D-027III-Rev2-CsmLmSpacecraftOperationalDataBook-Volume3-MassProperties.pdf">Volume





















                  3</a></li>
            </ul>
            <a href="Documents/Apollo16FlightPlan.pdf">Flight Plan</a><br>
            <br>
            <a
href="Documents/LMA790-2-LunarModuleLM10Through14VehicleFamiliarizationManual.pdf">LM





















              Familiarization Manual</a><br>
          </td>
        </tr>
        <tr>
          <td style="text-align: center; vertical-align: middle;
            white-space: nowrap;"> Apollo 17<br>
          </td>
          <td style="text-align: center; vertical-align: middle;"> LM-12<br>
          </td>
          <td style="text-align: center; vertical-align: middle;"> J-3<br>
          </td>
          <td valign="middle" align="center"><a href="2003993-111.html">AGC</a><br>
            <br>
            <a href="2003994-091.html">DSKY</a><br>
            <br>
            <a href="6014999-161.html"> G&amp;N System</a></td>
          <td> <a href="Documents/LM_Systems_Handbook_Apollo17.pdf">
              Excerpted LM Systems Handbook</a><br>
            <br>
            <a href="Documents/msc05225.pdf"><span style="font-style:
                italic;"> Program Notes</span></a><br>
            <br>
            <span style="text-decoration: underline;">GSOP (R-567)</span><br>
            <ul>
              <li>Section 1, "Prelaunch": TBD<br>
              </li>
              <li>Section 2, "Data Links":<br>
                <a
                  href="Documents/R-567-GSOP-Luminary1E-Section2-DataLinks.pdf"></a></li>
              <ul>
                <li><a href="Documents/j2-80-R-567-SEC2-REV12_text.pdf">Preferred





















                    copy</a><br>
                </li>
                <li><a
                    href="Documents/R-567-GSOP-Luminary1E-Section2-DataLinks.pdf">Alternate





















                    copy<br>
                  </a></li>
              </ul>
              <li><a href="Documents/j2-80-R-567-SEC3-REV8_text.pdf">Section
3,





















                  "Digital Autopilot"</a><br>
              </li>
              <li><a href="Documents/j2-80-R-567-SEC4-REV10_text.pdf">Section
4,





















                  "Operational Modes"</a><br>
              </li>
              <li><a href="Documents/j2-80-R-567-SEC5-REV11_text.pdf">Section
5,





















                  "Guidance Equations</a><br>
              </li>
              <li>(This GSOP does not have a Section 6.)<br>
              </li>
              <li>Section 7, "Erasable Memory Programs":<br>
                <a
href="Documents/R-567-GSOP-Luminary1E-Section7-ErasableMemoryPrograms.pdf"></a></li>
              <ul>
                <li><a href="Documents/j2-80-R-567-SEC7_text.pdf">Preferred





















                    copy</a><br>
                </li>
                <li><a
href="Documents/R-567-GSOP-Luminary1E-Section7-ErasableMemoryPrograms.pdf">Alternate





















                    copy<br>
                  </a></li>
              </ul>
            </ul>
            <p><a href="Documents/j2-80-E-2448-REV4_text.pdf">Users'
                Guide to Apollo GN&amp;CS Major Modes and Routines, Rev
                4, Colossus 3 and Luminary 1E</a></p>
            <ul>
            </ul>
            <span style="text-decoration: underline;">Operations
              Handbook</span><br>
            <ul>
              <li><a
href="Documents/LMA790-3-LM10-ApolloOperationsHandbookLunarModuleLM10AndSubsequent-Volume1-SubsystemsData.pdf">Volume





















                  1</a></li>
              <li><a
href="Documents/LMA790-3-LM11-ApolloOperationsHandbookLunarModuleLM11AndSubsequent-Volume2-OperationalProcedures.pdf">Volume





















                  2</a></li>
            </ul>
            <span style="text-decoration: underline;">Operational Data
              Book</span><br>
            <ul>
              <li><a
href="Documents/SNA-8-D-027III-Rev2-CsmLmSpacecraftOperationalDataBook-Volume3-MassProperties.pdf">Volume





















                  3</a></li>
            </ul>
            <a href="Documents/Apollo17TechnicalCrewDebriefing.pdf">Crew
              Debriefing</a><br>
            <br>
            <a href="Documents/Apollo17FlightPlan.pdf"> Flight Plan</a><br>
            <br>
            <a
href="Documents/LMA790-2-LunarModuleLM10Through14VehicleFamiliarizationManual.pdf">LM





















              Familiarization Manual</a><br>
            <br>
            Landing digital simulation:<br>
            <ul>
              <li><a
                  href="https://archive.org/details/apollo17landingd00miti">Color
high-res





















                  scan</a></li>
              <li><a
                  href="ScansForConversion/Apollo17DigitalSimulation/">Local
low-res





















                  images</a><br>
              </li>
            </ul>
          </td>
        </tr>
      </tbody>
    </table>
    <div style="text-align: left;"> <br>
      <h2><a name="Source_Code_and_Binary" id="Source_Code_and_Binary"></a>Source
Code





















        and Binary</h2>
      You can obtain both the source code and (independently derived)
      binary code for each of the software versions mentioned by
      installing Virtual AGC on your computer.&nbsp; The files are
      contained within a subdirectory named after the software version
      (such as "Luminary131").&nbsp; The more important files supplied
      are these:<br>
      <br>
      <div style="margin-left: 40px;">
        <table summary="" style="width: 75%; text-align: left;
          margin-left: auto; margin-right: auto;" cellspacing="2"
          cellpadding="2" border="0">
          <tbody>
            <tr>
              <td style="vertical-align: top;"><span style="font-style:
                  italic;">Filename</span>.agc<br>
              </td>
              <td style="vertical-align: top; text-align: left;"> Source
                code for major subdivisions of the <span
                  style="font-weight: bold;">Luminary</span> program.</td>
            </tr>
            <tr>
              <td style="vertical-align: top;">MAIN.agc<br>
              </td>
              <td style="vertical-align: top;">Organizer which treats
                all of the other assembly-language files (*.agc) as
                include-files, to form the complete program.<br>
              </td>
            </tr>
            <tr>
              <td style="vertical-align: top;"><span style="font-style:
                  italic;">Filename</span>.binsource<br>
              </td>
              <td style="vertical-align: top;">Human-readable form of
                the Luminary binary executable, as an octal listing.<br>
              </td>
            </tr>
            <tr>
              <td style="vertical-align: top;"><span style="font-style:
                  italic;">Filename</span>.bin<br>
              </td>
              <td style="vertical-align: top;">Binary executable created
                from binsource (octal listing) file.<br>
              </td>
            </tr>
          </tbody>
        </table>
        <br>
      </div>
      In other words, to create a <span style="font-weight: bold;">Luminary</span>
      binary executable rather than using the one provided with yaAGC
      (such as Luminary131.bin), one simply needs to assemble the file
      MAIN.agc.&nbsp; Typically, if all files remain organized the way
      they are in the yaAGC distribution tarball, the sequence of steps
      for doing so (from a command-line prompt) would be something like
      this:<br>
      <div style="margin-left: 40px;"> <br>
        <span style="font-family: monospace;">cd Luminary131</span><br
          style="font-family: monospace;">
        <span style="font-family: monospace;">../yaYUL/yaYUL --force
          MAIN.agc &gt;Luminary131.lst</span><br>
      </div>
      <br>
      The listfile (Luminary131.lst) so produced is a bit more
      manageable than scans of the original printouts, in that it is a
      hundredth the size and you can perform text-searches on it.&nbsp;
      The binary so produced, MAIN.agc.bin, should be byte-for-byte
      identical to the binary (Luminary131.bin) provided with the yaAGC
      distribution.&nbsp; Therefore, the following Linux command should
      reveal no differences between the two:<br>
      <br>
      <div style="margin-left: 40px;"> <span style="font-family:
          monospace;">diff -s MAIN.agc.bin Luminary131.bin</span><br>
      </div>
      <br>
      (Replace "diff -s" with "fc /b" in Windows.)&nbsp;<br>
      <br>
      <table summary="" style="width: 60%; text-align: left;
        margin-left: auto; margin-right: auto;" cellspacing="2"
        cellpadding="2" border="1">
        <tbody>
          <tr>
            <td style="vertical-align: top;">
              <h3 style="text-align: left;">Technically speaking....</h3>
              A point which may not be completely appreciated is that
              Luminary131.bin was <span style="font-style: italic;">not</span>
              created from the assembly-language source files.&nbsp;
              Therefore, the byte-for-byte equivalence mentioned above
              actually has some significance.&nbsp; In fact, both the
              assembly-language source code and Luminary131.bin (or
              Luminary131.binsource) come from separate readings of the
              original <span style="font-weight: bold;">Luminary</span>
              assembly listing scan, so their equivalence provides an
              important check on validity.&nbsp; (See below.)&nbsp; The
              file Luminary131.bin was created from the
              human-readable/editable ASCII file Luminary131.binsource
              by means of the program <span style="font-weight: bold;">Oct2Bin</span>,
              with the following steps:<br>
              <br>
              <div style="margin-left: 40px; font-family: monospace;">
                cd Luminary131<br>
                ./Oct2Bin &lt;Luminary131.binsource<br>
                mv Oct2Bin.bin Luminary131.bin<br>
              </div>
              <br>
              Admittedly, few people are likely to perform any
              processing of this kind unless contributing a new version
              of the Luminary code to the Virtual AGC project. </td>
          </tr>
        </tbody>
      </table>
      <br>
      <h2><a name="Validity" id="Validity"></a>Validation</h2>
      <h3><a name="Validity_of_the_Luminary_131_Source_Code"
          id="Validity_of_the_Luminary_131_Source_Code"></a>Validity of
        the Luminary 131 Source Code and of the Binary (Apollo 13)<br>
      </h3>
      I believe that the core-rope image (which is what is needed to
      actually run the <span style="font-weight: bold;">Luminary</span>
      software in the yaAGC CPU emulator) I've provided for <span
        style="font-weight: bold;">Luminary</span> 1C (build 131) is
      100% accurate.&nbsp; If you're not willing to take my word for
      that, and if the discussion in the preceding section doesn't
      convince you, an extended discussion of proofing and validation of
      the core-rope appears in the description of the <a
        href="Colossus.html#Validity">Colossus</a> software.<br>
      <h3><a name="Validity_of_the_Luminary_099_Code_"
          id="Validity_of_the_Luminary_099_Code_"></a>Validity of the
        Luminary 099 Code (Apollo 11)<br>
      </h3>
      The Luminary 099 page images became available after the Colossus
      249 and Luminary 131page images had already been converted to
      source-code files, and prior to any other missions becoming
      available.&nbsp; The conversion technique was very abbreviated
      compared to that of Luminary 131, as follows:<br>
      <ul>
        <li>A small corps of volunteers—thanks (in alphabetical order)
          Fabrizio Bernardini, Hartmuth Gutsche, Onno Hommes, Jim
          Lawton, and Sergio Navarro!—took the existing Luminary 131
          source-code files and laboriously compared them line-by-line
          to the Luminary 099 assembly-listing page images, porting the
          differences they found.</li>
        <li>The resulting Luminary 099 source code was assembled using <span
            style="font-weight: bold;">yaYUL</span> to produce a binary
          executable, which was horribly wrong at this point, but was
          used to create a "binsource" file (which is an octal listing
          of the entire program).</li>
        <li>The binsource file was laboriously proofed against the octal
          listing in the page images (this time by me), and
          corrected.&nbsp; As a double-check, the bank checksums are all
          correct.</li>
        <li>Finally, at every point where the binary created from the
          source code by <span style="font-weight: bold;">yaYUL</span>
          differed from the binsource file, the source code was compared
          to the page images and corrected.&nbsp; After all corrections
          were made, the binary created by <span style="font-weight:
            bold;">yaYUL</span> was identical to the binary created from
          the binsource file.</li>
      </ul>
      <p>The binary thus produced by <span style="font-weight: bold;">yaYUL</span>
        is supplied in the source tree and used for regression testing.<br>
      </p>
      <h3>Validity of the Other Versions</h3>
      Well, it's much the same as what's above, so I'm not going to keep
      describing the same steps over and over again.&nbsp; Suffice it to
      say that we verified them all using the same standards.<br>
      <br>
    </div>
    <hr style="width: 100%; height: 2px;">
    <center> <br>
      <span style="color: rgb(84, 89, 93); font-family: sans-serif;
        font-size: 11.05px; font-style: normal; font-variant: normal;
        font-weight: normal; letter-spacing: normal; line-height:
        16.575px; orphans: auto; text-align: center; text-indent: 0px;
        text-transform: none; white-space: normal; widows: 1;
        word-spacing: 0px; -webkit-text-stroke-width: 0px; display:
        inline !important; float: none; background-color: rgb(255, 255,
        255);"> This page is available under the <a
          href="https://creativecommons.org/publicdomain/zero/1.0/">Creative
Commons





















          No Rights Reserved License</a></span><br>
      <i><font size="-1">Last modified by <a
            href="mailto:info@sandroid.org">Ronald Burkey</a> on
          2021-04-20.<br>
          <br>
          <a href="http://www.ibiblio.org"><img style="border: 0px solid
              ; width: 300px; height: 100px;" alt="Virtual AGC is hosted
              by ibiblio.org" src="hosted.png" width="300" height="100"></a><br>
        </font></i> </center>
    <br>
  </body>
</html>
back to top