Source Code
![]() |
This is a reconstruction of the AGC program Luminary 99 Rev 0. It was the
second release of the Lunar Module flight software targeted for use in Apollo 11, after Luminary 97.
A bug (which had been around since at least Apollo 10, Luminary 69) was
discovered in Rev 0 shortly before the Apollo 11 flight, resulting in a last minute
revision into Rev 1,
which is what actually flew rather than
the Rev 0 presented here. A hardcopy of Rev 0 is known to
exist — it belonged to AGC developer Allan Klumpp for many years — but
unfortunately the Virtual AGC Project has not had access to that hardcopy. Thus
the code you see here had been reconstructed (we believe accurately) rather than
transcribed. The first step of the reconstruction of the Rev 0 source code was
the transcription of the Rev 1 source code from a hardcopy in the MIT Museum collection.
The process of reverting the active portion of the source code (i.e., other than
program comments) from Rev 1 to Rev 0 was very minor, consisting
only of moving the position of the STARTSB1 label in
FRESH START AND RESTART. Allan had previously given
us the checksums of the memory banks of Rev 0, and we have verified the program presented here has checksums
identical to all banks of Allan's listing of Rev 0. The notations on Allan's Rev 0 program listing read,
in part:GAP: ASSEMBLE REVISION 099 OF AGC PROGRAM LUMINARY BY NASA 2021112-051 A single program comment is known to differ between Rev 0 and Rev 1, but these are harder to reconstruct and verify than changes to the active portion of the code. Thus it is possible that there are additional differences between the program comments in Rev 0 and Rev 1 that are unknown to us, and therefore are not reflected in the code presented here. |
047905,000002: ## Copyright: Public domain.
047906,000003: ## Filename: INTERPRETIVE_CONSTANTS.agc
047907,000004: ## Purpose: Part of the reconstructed source code for LMY99 Rev 0,
047908,000005: ## otherwise known as Luminary Rev 99, the second release
047909,000006: ## of the Apollo Guidance Computer (AGC) software for Apollo 11.
047910,000007: ## It differs from LMY99 Rev 1 (the flown version) only in the
047911,000008: ## placement of a single label. The corrections shown here have
047912,000009: ## been verified to have the same bank checksums as AGC developer
047913,000010: ## Allan Klumpp's copy of Luminary Rev 99, and so are believed
047914,000011: ## to be accurate. This file is intended to be a faithful
047915,000012: ## recreation, except that the code format has been changed to
047916,000013: ## conform to the requirements of the yaYUL assembler rather than
047917,000014: ## the original YUL assembler.
047918,000015: ##
047919,000016: ## Assembler: yaYUL
047920,000017: ## Contact: Ron Burkey <info@sandroid.org>.
047921,000018: ## Website: www.ibiblio.org/apollo.
047922,000019: ## Pages: 1100-1101
047923,000020: ## Mod history: 2009-05-25 RSB Adapted from the corresponding
047924,000021: ## Luminary131 file, using page
047925,000022: ## images from Luminary 1A.
047926,000023: ## 2016-12-17 RSB Proofed text comments with octopus/ProoferComments
047927,000024: ## but no errors found.
047928,000025: ## 2017-08-01 MAS Created from LMY99 Rev 1.
047929,000026:
047930,000027: ## This source code has been transcribed or otherwise adapted from
047931,000028: ## digitized images of a hardcopy from the MIT Museum. The digitization
047932,000029: ## was performed by Paul Fjeld, and arranged for by Deborah Douglas of
047933,000030: ## the Museum. Many thanks to both. The images (with suitable reduction
047934,000031: ## in storage size and consequent reduction in image quality as well) are
047935,000032: ## available online at www.ibiblio.org/apollo. If for some reason you
047936,000033: ## find that the images are illegible, contact me at info@sandroid.org
047937,000034: ## about getting access to the (much) higher-quality images which Paul
047938,000035: ## actually created.
047939,000036: ##
047940,000037: ## The code has been modified to match LMY99 Revision 0, otherwise
047941,000038: ## known as Luminary Revision 99, the Apollo 11 software release preceeding
047942,000039: ## the listing from which it was transcribed. It has been verified to
047943,000040: ## contain the same bank checksums as AGC developer Allan Klumpp's listing
047944,000041: ## of Luminary Revision 99 (for which we do not have scans).
047945,000042: ##
047946,000043: ## Notations on Allan Klumpp's listing read, in part:
047947,000044: ##
047948,000045: ## ASSEMBLE REVISION 099 OF AGC PROGRAM LUMINARY BY NASA 2021112-51
047949,000046:
![]() |
Page 1100 |
047951,000048: 23,2000 SETLOC INTPRET1
047952,000049: 23,2000 BANK
047953,000050:
047954,000051: 23,2511 COUNT* $$/ICONS
047955,000052: 23,2511 10000 00000 DP1/4TH 2DEC .25
047956,000053:
047957,000054: 23,2513 00000 00000 UNITZ 2DEC 0 B-28
047958,000055:
047959,000056: 23,2515 00000 00000 UNITY 2DEC 0 B-28
047960,000057:
047961,000058: 23,2517 20000 00000 UNITX 2DEC .5
047962,000059:
047963,000060: 23,2521 00000 00000 ZEROVECS 2DEC 0 B-28
047964,000061:
047965,000062: 23,2523 00000 00000 2DEC 0 B-28
047966,000063:
047967,000064: 23,2525 00000 00000 2DEC 0 B-28
047968,000065:
047969,000066: 23,2527 23,2517 DPHALF = UNITX
047970,000067: 23,2527 37777 DPPOSMAX OCT 37777
047971,000068: 23,2530 37777 OCT 37777
047972,000069:
![]() |
Page 1101 |
047974,000071: # INTERPRETIVE CONSTANTS IN THE OTHER HALF-MEMORY
047975,000072:
047976,000073: 12,2000 SETLOC INTPRET2
047977,000074: 12,2000 BANK
047978,000075:
047979,000076: 12,2000 COUNT* $$/ICONS
047980,000077: 12,2000 00000 00000 ZUNIT 2DEC 0 B-28
047981,000078:
047982,000079: 12,2002 00000 00000 YUNIT 2DEC 0 B-28
047983,000080:
047984,000081: 12,2004 20000 00000 XUNIT 2DEC .5
047985,000082:
047986,000083: 12,2006 00000 00000 ZEROVEC 2DEC 0 B-28
047987,000084:
047988,000085: 12,2010 00000 00000 2DEC 0 B-28
047989,000086:
047990,000087: 12,2012 00000 00000 2DEC 0 B-28
047991,000088:
047992,000089: 12,2014 77777 OCT 77777 # -0, -6, -12 MUST REMAIN IN THIS ORDER
047993,000090: 12,2015 77771 DFC-6 DEC -6 B-14
047994,000091: 12,2016 77763 DFC-12 DEC -12 B-14
047995,000092: 12,2017 37777 37777 LODPMAX 2OCT 3777737777 # THESE TWO CONSTANTS MUST REMAIN
047996,000093:
047997,000094: 12,2021 37777 37777 LODPMAX1 2OCT 3777737777 # ADJACENT AND THE SAME FOR INTEGRATION
047998,000095:
047999,000096: 12,2023 12,2006 ZERODP = ZEROVEC
048000,000097: 12,2023 12,2004 HALFDP = XUNIT
048001,000098:
048002,000099:
End of include-file INTERPRETIVE_CONSTANTS.agc. Parent file is MAIN.agc