Source Code
This is a reconstruction of the AGC program Luminary 99 Rev 0. It was the third release
of the Lunar Module flight software targeted for use in Apollo 11, after Luminary 96 and 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. |
006303,000002: ## Copyright: Public domain.
006304,000003: ## Filename: INTERRUPT_LEAD_INS.agc
006305,000004: ## Purpose: Part of the reconstructed source code for LMY99 Rev 0,
006306,000005: ## otherwise known as Luminary Rev 99, the third release
006307,000006: ## of the Apollo Guidance Computer (AGC) software for Apollo 11.
006308,000007: ## It differs from LMY99 Rev 1 (the flown version) only in the
006309,000008: ## placement of a single label. The corrections shown here have
006310,000009: ## been verified to have the same bank checksums as AGC developer
006311,000010: ## Allan Klumpp's copy of Luminary Rev 99, and so are believed
006312,000011: ## to be accurate. This file is intended to be a faithful
006313,000012: ## recreation, except that the code format has been changed to
006314,000013: ## conform to the requirements of the yaYUL assembler rather than
006315,000014: ## the original YUL assembler.
006316,000015: ##
006317,000016: ## Assembler: yaYUL
006318,000017: ## Contact: Onno Hommes <ohommes@cmu.edu>.
006319,000018: ## Website: www.ibiblio.org/apollo.
006320,000019: ## Pages: 0153-0154
006321,000020: ## Mod history: 2009-05-14 OH Transcribed from page images.
006322,000021: ## 2016-12-13 RSB Proofed text comments with octopus/ProoferComments
006323,000022: ## and corrected the errors found.
006324,000023: ## 2017-08-01 MAS Created from LMY99 Rev 1.
006325,000024:
006326,000025: ## This source code has been transcribed or otherwise adapted from
006327,000026: ## digitized images of a hardcopy from the MIT Museum. The digitization
006328,000027: ## was performed by Paul Fjeld, and arranged for by Deborah Douglas of
006329,000028: ## the Museum. Many thanks to both. The images (with suitable reduction
006330,000029: ## in storage size and consequent reduction in image quality as well) are
006331,000030: ## available online at www.ibiblio.org/apollo. If for some reason you
006332,000031: ## find that the images are illegible, contact me at info@sandroid.org
006333,000032: ## about getting access to the (much) higher-quality images which Paul
006334,000033: ## actually created.
006335,000034: ##
006336,000035: ## The code has been modified to match LMY99 Revision 0, otherwise
006337,000036: ## known as Luminary Revision 99, the Apollo 11 software release preceeding
006338,000037: ## the listing from which it was transcribed. It has been verified to
006339,000038: ## contain the same bank checksums as AGC developer Allan Klumpp's listing
006340,000039: ## of Luminary Revision 99 (for which we do not have scans).
006341,000040: ##
006342,000041: ## Notations on Allan Klumpp's listing read, in part:
006343,000042: ##
006344,000043: ## ASSEMBLE REVISION 099 OF AGC PROGRAM LUMINARY BY NASA 2021112-51
006345,000044:
Page 153 |
006347,000046: 4000 SETLOC 4000
006348,000047:
006349,000048: 4000 COUNT* $$/RUPTS # FIX-FIX LEAD INS
006350,000049: 4000 00004 INHINT # GO
006351,000050: 4001 34054 CAF GOBB
006352,000051: 4002 56006 XCH BBANK
006353,000052: 4003 12667 TCF GOPROG
006354,000053:
006355,000054: 4004 52011 DXCH ARUPT # T6RUPT
006356,000055: 4005 00006 EXTEND
006357,000056: 4006 34056 DCA T6ADR
006358,000057: 4007 52006 DTCB
006359,000058:
006360,000059: 4010 52011 DXCH ARUPT # T5RUPT - AUTOPILOT
006361,000060: 4011 00006 EXTEND
006362,000061: 4012 31275 DCA T5ADR
006363,000062: 4013 52006 DTCB
006364,000063:
006365,000064: 4014 52011 DXCH ARUPT # T3RUPT
006366,000065: 4015 34057 CAF T3RPTBB
006367,000066: 4016 56006 XCH BBANK
006368,000067: 4017 13407 TCF T3RUPT
006369,000068:
006370,000069: 4020 52011 DXCH ARUPT # T4RUPT
006371,000070: 4021 34064 CAF T4RPTBB
006372,000071: 4022 56006 XCH BBANK
006373,000072: 4023 12000 TCF T4RUPT
006374,000073:
006375,000074: 4024 52011 DXCH ARUPT # KEYRUPT1
006376,000075: 4025 34060 CAF KEYRPTBB
006377,000076: 4026 56006 XCH BBANK
006378,000077: 4027 13274 TCF KEYRUPT1
006379,000078:
006380,000079: 4030 52011 DXCH ARUPT # KEYRUPT2
006381,000080: 4031 34061 CAF MKRUPTBB
006382,000081: 4032 56006 XCH BBANK
006383,000082: 4033 12332 TCF MARKRUPT
006384,000083:
006385,000084: 4034 52011 DXCH ARUPT # UPRUPT
006386,000085: 4035 34060 CAF UPRPTBB
006387,000086: 4036 56006 XCH BBANK
006388,000087: 4037 13317 TCF UPRUPT
006389,000088:
006390,000089: 4040 52011 DXCH ARUPT # DOWNRUPT
006391,000090: 4041 34062 CAF DWNRPTBB
006392,000091: 4042 56006 XCH BBANK
006393,000092: 4043 13506 TCF DODOWNTM
006394,000093:
006395,000094: 4044 52011 DXCH ARUPT # RADAR RUPT
006396,000095: 4045 34063 CAF RDRPTBB
Page 154 |
006398,000097: 4046 56006 XCH BBANK
006399,000098: 4047 13150 TCF RADAREAD
006400,000099:
006401,000100: 4050 52011 DXCH ARUPT # RUPT10 IS USED ONLY BY LANDING GUIDANCE
006402,000101: 4051 34065 CA RUPT10BB
006403,000102: 4052 56006 XCH BBANK
006404,000103: 4053 12275 TCF PITFALL
006405,000104:
006406,000105:
006407,000106: 4054 E3,1400 EBANK= LST1 # RESTART USES E0, E3
006408,000107: 4054 12103 GOBB BBCON GOPROG
006409,000108:
006410,000109: 4055 E6,1464 EBANK= PERROR
006411,000110: 4055 02065 36106 T6ADR 2CADR DOT6RUPT
006412,000111:
006413,000112: 4057 E3,1400 EBANK= LST1
006414,000113: 4057 02103 T3RPTBB BBCON T3RUPT
006415,000114:
006416,000115: 4060 0073 EBANK= KEYTEMP1
006417,000116: 4060 10100 KEYRPTBB BBCON KEYRUPT1
006418,000117:
006419,000118: 4061 E7,1404 EBANK= AOTAZ
006420,000119: 4061 16107 MKRUPTBB BBCON MARKRUPT
006421,000120:
006422,000121: 4062 4060 UPRPTBB = KEYRPTBB
006423,000122:
006424,000123: 4062 0340 EBANK= DNTMBUFF
006425,000124: 4062 12100 DWNRPTBB BBCON DODOWNTM
006426,000125:
006427,000126: 4063 0110 EBANK= RADMODES
006428,000127: 4063 52100 RDRPTBB BBCON RADAREAD
006429,000128:
006430,000129: 4064 E6,1414 EBANK= M11
006431,000130: 4064 14106 T4RPTBB BBCON T4RUPT
006432,000131:
006433,000132: 4065 1265 EBANK= ELVIRA
006434,000133: 4065 22102 RUPT10BB BBCON PITFALL
006435,000134:
End of include-file INTERRUPT_LEAD_INS.agc. Parent file is MAIN.agc