Source Code
![]() |
This source code is very close to the Apollo Guidance Computer software for the
Apollo 13 Lunar module. This revision of the Luminary 131 program is from December
of 1969, whereas there was a later revision in January of 1970, and still another
revision in February, which is the code that flew on the mission.
As far as this transcription is concerned, it was originally from a copy made in 1991 of
a printout from the collection of AGC developer Don Eyles for collector David Craig.
It was subsequently scanned by Gary Neff, reprocessed for online
presentation at the now-discontinued History of Recent Science and Technology (HRST) website
of MIT's Dibner Institute (the full-quality scans being discarded in the process),
and finally transcribed by Ron Burkey for the Virtual AGC Project. Although a
high-quality replacement scan for a completely illegible page was later provided by Gary
Neff, the reduced legibility of the reprocessed HRST posting nevertheless caused many
errors to be introduced into the transcription. Accordingly, a second scan of the same physical
printout was made in 2017 for the Virtual AGC Project's collection at the Internet Archive,
and used to correct the transcription errors. All of the scanned materials mentioned,
as well as other Luminary 131 related material, are available online.
Don Eyles apprently made additional hand-written notes in printout between 1991 and 2017,
so the two scans are not identical in that respect. The page-headings in the printout read, in part:GAP: ASSEMBLE REVISION 131 OF AGC PROGRAM LUMINARY BY NASA 2021112-091 17:53 DEC. 19, 1969Note that the date is the date the printout was made, not the date on which the program revision was released, although these happen to be very close together. |
001163,000002: ## Copyright: Public domain.
001164,000003: ## Filename: TAGS_FOR_RELATIVE_SETLOC.agc
001165,000004: ## Purpose: Header information for Luminary 1C, revision 131.
001166,000005: ## It is part of the source code for the Lunar Module's (LM)
001167,000006: ## Apollo Guidance Computer (AGC) for Apollo 13.
001168,000007: ## This file is intended to be a faithful transcription, except
001169,000008: ## that the code format has been changed to conform to the
001170,000009: ## requirements of the yaYUL assembler rather than the
001171,000010: ## original YUL assembler.
001172,000011: ## Reference: Pages 28-37
001173,000012: ## Contact: Ron Burkey <info@sandroid.org>.
001174,000013: ## Website: www.ibiblio.org/apollo/index.html
001175,000014: ## Mod history: 04/23/03 RSB. First draft.
001176,000015: ## 05/14/05 RSB Corrected website reference above.
001177,000016: ## 2017-01-06 RSB Page numbers now agree with those on the
001178,000017: ## original harcopy, as opposed to the PDF page
001179,000018: ## numbers in 1701.pdf.
001180,000019: ## 2017-02-12 RSB Proofed comment text using octopus/ProoferComments.
001181,000020:
001182,000021: ## The contents of this file, and all associated "Luminary131" files, are
001183,000022: ## transcribed from scanned pages at http://www.ibiblio.org/apollo/ScansForConversion/.
001184,000023: ## Notations on these scanned pages read, in part:
001185,000024: ##
001186,000025: ## NASA Apollo LUMINARY 131 (1C) Program Source Code Listing.
001187,000026: ## MIT Instrumentation/Draper Laboratory -- 19 December 1969, 1742 pages.
001188,000027: ## This listing contains the flight program for the Lunar Module
001189,000028: ## as created by MIT's Draper Lab for the Apollo 13/14 moon missions.
001190,000029:
![]() |
Page 28 |
001192,000031: ??????? COUNT BANKSUM
001193,000032:
001194,000033: # MODULE 1 CONTAINS BANKS 0 THROUGH 5
001195,000034:
001196,000035: 4000 BLOCK 02
001197,000036: 4000 RADARFF EQUALS
001198,000037: 4000 FFTAG1 EQUALS
001199,000038: 4000 FFTAG2 EQUALS
001200,000039: 4000 FFTAG3 EQUALS
001201,000040: 4000 FFTAG4 EQUALS
001202,000041: 4000 FFTAG7 EQUALS
001203,000042: 4000 FFTAG8 EQUALS
001204,000043: 4000 FFTAG9 EQUALS
001205,000044: 4000 FFTAG10 EQUALS
001206,000045: 4000 FFTAG11 EQUALS
001207,000046: 4000 FFTAG12 EQUALS
001208,000047: 4000 FFTAG13 EQUALS
001209,000048: 4000 BNKSUM 02
001210,000049:
001211,000050: 6000 BLOCK 03
001212,000051: 6000 FFTAG5 EQUALS
001213,000052: 6000 FFTAG6 EQUALS
001214,000053: 6000 BNKSUM 03
001215,000054:
001216,000055: 00,2000 BANK 00
001217,000056: 00,2000 DLAYJOB EQUALS
001218,000057: 00,2000 BNKSUM 00
001219,000058:
001220,000059: 01,2000 BANK 01
001221,000060: 01,2000 RESTART EQUALS
001222,000061: 01,2000 LOADDAP1 EQUALS
001223,000062: 01,2000 BNKSUM 01
001224,000063:
001225,000064: 04,2000 BANK 04
001226,000065: 04,2000 ORBITAL3 EQUALS
001227,000066: 04,2000 R02 EQUALS
001228,000067: 04,2000 VERB37 EQUALS
001229,000068: 04,2000 PINBALL4 EQUALS
001230,000069: 04,2000 CONICS1 EQUALS
001231,000070: 04,2000 KEYRUPT EQUALS
001232,000071: 04,2000 R36LM EQUALS
001233,000072: 04,2000 UPDATE2 EQUALS
001234,000073: 04,2000 E/PROG EQUALS
001235,000074: 04,2000 AOTMARK2 EQUALS
001236,000075:
![]() |
Page 29 |
001238,000077:
001239,000078: 04,2000 BNKSUM 04
001240,000079:
001241,000080: 05,2000 BANK 05
001242,000081: 05,2000 FRANDRES EQUALS
001243,000082: 05,2000 DOWNTELM EQUALS
001244,000083: 05,2000 ABORTS1 EQUALS
001245,000084: 05,2000 EPHEM1 EQUALS
001246,000085: 05,2000 ASENT3 EQUALS
001247,000086: 05,2000 BNKSUM 05
001248,000087:
001249,000088: # MODULE 2 CONTAINS BANKS 6 THROUGH 13
001250,000089:
001251,000090: 06,2000 BANK 06
001252,000091: 06,2000 IMUCOMP EQUALS
001253,000092: 06,2000 T4RUP EQUALS
001254,000093: 06,2000 RCSMONT EQUALS
001255,000094: 06,2000 MIDDGIM EQUALS
001256,000095: 06,2000 EARTHLOC EQUALS
001257,000096: 06,2000 BNKSUM 06
001258,000097:
001259,000098: 07,2000 BANK 07
001260,000099: 07,2000 AOTMARK1 EQUALS
001261,000100: 07,2000 MODESW EQUALS
001262,000101: 07,2000 ASENT2 EQUALS
001263,000102: 07,2000 BNKSUM 07
001264,000103:
001265,000104: 10,2000 BANK 10
001266,000105: 10,2000 RTBCODES EQUALS
001267,000106: 10,2000 DISPLAYS EQUALS
001268,000107: 10,2000 PHASETAB EQUALS
001269,000108: 10,2000 FLESHLOC EQUALS
001270,000109: 10,2000 SLCTMU EQUALS
001271,000110: 10,2000 BNKSUM 10
001272,000111:
001273,000112: 11,2000 BANK 11
001274,000113: 11,2000 ORBITAL EQUALS
001275,000114: 11,2000 F2DPS*11 EQUALS
001276,000115: 11,2000 INTVEL EQUALS
001277,000116: 11,2000 BNKSUM 11
001278,000117:
![]() |
Page 30 |
001280,000119: 12,2000 BANK 12
001281,000120: 12,2000 CONICS EQUALS
001282,000121: 12,2000 ORBITAL1 EQUALS
001283,000122: 12,2000 INTPRET2 EQUALS
001284,000123: 12,2000 BNKSUM 12
001285,000124:
001286,000125: 13,2000 BANK 13
001287,000126: 13,2000 LATLONG EQUALS
001288,000127: 13,2000 INTINIT EQUALS
001289,000128: 13,2000 LEMGEOM EQUALS
001290,000129: 13,2000 P76LOC EQUALS
001291,000130: 13,2000 ORBITAL2 EQUALS
001292,000131: 13,2000 ABTFLGS EQUALS
001293,000132: 13,2000 BNKSUM 13
001294,000133:
![]() |
Page 31 |
001296,000135: # MODULE 3 CONTAINS BANKS 14 THROUGH 21
001297,000136:
001298,000137: 14,2000 BANK 14
001299,000138: 14,2000 P50S1 EQUALS
001300,000139: 14,2000 STARTAB EQUALS
001301,000140: 14,2000 ASENT4 EQUALS
001302,000141: 14,2000 BNKSUM 14
001303,000142:
001304,000143: 15,2000 BANK 15
001305,000144: 15,2000 P50S EQUALS
001306,000145: 15,2000 EPHEM EQUALS
001307,000146: 15,2000 BNKSUM 15
001308,000147:
001309,000148: 16,2000 BANK 16
001310,000149: 16,2000 DAPS1 EQUALS
001311,000150: 16,2000 BNKSUM 16
001312,000151:
001313,000152: 17,2000 BANK 17
001314,000153: 17,2000 DAPS2 EQUALS
001315,000154: 17,2000 C13BANK EQUALS
001316,000155: 17,2000 BNKSUM 17
001317,000156:
001318,000157: 20,2000 BANK 20
001319,000158: 20,2000 DAPS3 EQUALS
001320,000159: 20,2000 LOADDAP EQUALS
001321,000160: 20,2000 BNKSUM 20
001322,000161:
001323,000162: 21,2000 BANK 21
001324,000163: 21,2000 DAPS4 EQUALS
001325,000164: 21,2000 R10 EQUALS
001326,000165: 21,2000 R11 EQUALS
001327,000166: 21,2000 BNKSUM 21
![]() |
Page 32 |
001329,000168:
001330,000169: # MODULE 4 CONTAINS BANKS 22 THROUGH 27
001331,000170:
001332,000171: 22,2000 BANK 22
001333,000172: 22,2000 KALCMON1 EQUALS
001334,000173: 22,2000 KALCMON2 EQUALS
001335,000174: 22,2000 R30LOC EQUALS
001336,000175: 22,2000 RENDEZ EQUALS
001337,000176: 22,2000 SERV2 EQUALS
001338,000177: 22,2000 LANDCNST EQUALS
001339,000178: 22,2000 BNKSUM 22
001340,000179:
001341,000180: 23,2000 BANK 23
001342,000181: 23,2000 POWFLITE EQUALS
001343,000182: 23,2000 POWFLIT1 EQUALS
001344,000183: 23,2000 INFLIGHT EQUALS
001345,000184: 23,2000 APOPERI EQUALS
001346,000185: 23,2000 R61 EQUALS
001347,000186: 23,2000 R62 EQUALS
001348,000187: 23,2000 INTPRET1 EQUALS
001349,000188: 23,2000 MEASINC EQUALS
001350,000189: 23,2000 MEASINC1 EQUALS
001351,000190: 23,2000 EXTVB1 EQUALS
001352,000191: 23,2000 P12A EQUALS
001353,000192: 23,2000 NORMLIZ EQUALS
001354,000193: 23,2000 ASENT7 EQUALS
001355,000194: 23,2000 RODTRAP EQUALS
001356,000195: 23,2000 BNKSUM 23
001357,000196:
001358,000197: 24,2000 BANK 24
001359,000198: 24,2000 PLANTIN EQUALS
001360,000199: 24,2000 P20S EQUALS
001361,000200: 24,2000 BNKSUM 24
001362,000201:
001363,000202: 25,2000 BANK 25
001364,000203: 25,2000 P20S1 EQUALS
001365,000204: 25,2000 P20S2 EQUALS
001366,000205: 25,2000 RADARUPT EQUALS
001367,000206: 25,2000 RRLEADIN EQUALS
001368,000207: 25,2000 R29S1 EQUALS
001369,000208: 25,2000 PLANTIN3 EQUALS
001370,000209: 25,2000 BNKSUM 25
001371,000210:
001372,000211: 26,2000 BANK 26
![]() |
Page 33 |
001374,000213: 26,2000 P20S3 EQUALS
001375,000214: 26,2000 BAWLANGS EQUALS
001376,000215: 26,2000 MANUVER EQUALS
001377,000216: 26,2000 MANUVER1 EQUALS
001378,000217: 26,2000 PLANTIN1 EQUALS
001379,000218: 26,2000 PLANTIN2 EQUALS
001380,000219: 26,2000 BNKSUM 26
001381,000220:
001382,000221: 27,2000 BANK 27
001383,000222: 27,2000 TOF-FF EQUALS
001384,000223: 27,2000 TOF-FF1 EQUALS
001385,000224: 27,2000 P40S1 EQUALS
001386,000225: 27,2000 VECPT EQUALS
001387,000226: 27,2000 ASENT1 EQUALS
001388,000227: 27,2000 SERV3 EQUALS
001389,000228: 27,2000 BNKSUM 27
001390,000229:
![]() |
Page 34 |
001392,000231: # MODULE 5 CONTAINS BANKS 30 THROUGH 35
001393,000232:
001394,000233: 30,2000 BANK 30
001395,000234: 30,2000 LOWSUPER EQUALS
001396,000235: 30,2000 P12 EQUALS
001397,000236: 30,2000 ASENT EQUALS
001398,000237: 30,2000 FCDUW EQUALS
001399,000238: 30,2000 FLOGSUB EQUALS
001400,000239: 30,2000 VB67A EQUALS
001401,000240: 30,2000 ASENT5 EQUALS
001402,000241: 30,2000 BNKSUM 30
001403,000242:
001404,000243: 31,2000 BANK 31
001405,000244: 31,2000 FTHROT EQUALS
001406,000245: 31,2000 F2DPS*31 EQUALS
001407,000246: 31,2000 VB67 EQUALS
001408,000247: 31,2000 BNKSUM 31
001409,000248:
001410,000249: 32,2000 BANK 32
001411,000250: 32,2000 P20S4 EQUALS
001412,000251: 32,2000 F2DPS*32 EQUALS
001413,000252: 32,2000 ABORTS EQUALS
001414,000253: 32,2000 LRS22 EQUALS
001415,000254: 32,2000 P66LOC EQUALS
001416,000255: 32,2000 R47 EQUALS
001417,000256: 32,2000 SERV EQUALS
001418,000257: 32,2000 BNKSUM 32
001419,000258:
001420,000259: 33,2000 BANK 33
001421,000260: 33,2000 SERVICES EQUALS
001422,000261: 33,2000 R29/SERV EQUALS
001423,000262: 33,2000 ASENT6 EQUALS
001424,000263: 33,2000 BNKSUM 33
001425,000264:
001426,000265: 34,2000 BANK 34
001427,000266: 34,2000 ASENT8 EQUALS
001428,000267: 34,2000 P30S1 EQUALS
001429,000268: 34,2000 CSI/CDH1 EQUALS
001430,000269: 34,2000 ASCFILT EQUALS
001431,000270: 34,2000 R12STUFF EQUALS
001432,000271: 34,2000 SERV4 EQUALS
001433,000272: 34,2000 F2DPS*34 EQUALS
![]() |
Page 35 |
001435,000274: 34,2000 BNKSUM 34
001436,000275:
001437,000276: 35,2000 BANK 35
001438,000277: 35,2000 CSI/CDH EQUALS
001439,000278: 35,2000 P30S EQUALS
001440,000279: 35,2000 P40S3 EQUALS
001441,000280: 35,2000 P40S2 EQUALS
001442,000281: 35,2000 BNKSUM 35
001443,000282:
![]() |
Page 36 |
001445,000284: # MODULE 6 CONTAINS BANKS 36 THROUGH 43
001446,000285:
001447,000286: 36,2000 BANK 36
001448,000287: 36,2000 P40S EQUALS
001449,000288: 36,2000 BNKSUM 36
001450,000289:
001451,000290: 37,2000 BANK 37
001452,000291: 37,2000 P05P06 EQUALS
001453,000292: 37,2000 IMU2 EQUALS
001454,000293: 37,2000 IMU4 EQUALS
001455,000294: 37,2000 R31 EQUALS
001456,000295: 37,2000 IMUSUPER EQUALS
001457,000296: 37,2000 SERV1 EQUALS
001458,000297: 37,2000 BNKSUM 37
001459,000298:
001460,000299: 40,2000 BANK 40
001461,000300: 40,2000 PINBALL1 EQUALS
001462,000301: 40,2000 SELFSUPR EQUALS
001463,000302: 40,2000 PINSUPER EQUALS
001464,000303: 40,2000 R31LOC EQUALS
001465,000304: 40,2000 BNKSUM 40
001466,000305:
001467,000306: 41,2000 BANK 41
001468,000307: 41,2000 PINBALL2 EQUALS
001469,000308: 41,2000 BNKSUM 41
001470,000309:
001471,000310: 42,2000 BANK 42
001472,000311: 42,2000 SBAND EQUALS
001473,000312: 42,2000 PINBALL3 EQUALS
001474,000313: 42,2000 BNKSUM 42
001475,000314:
001476,000315: 43,2000 BANK 43
001477,000316: 43,2000 EXTVERBS EQUALS
001478,000317: 43,2000 SELFCHEC EQUALS
001479,000318: 43,2000 BNKSUM 43
001480,000319:
![]() |
Page 37 |
001482,000321:
001483,000322: 43,2000 23,2523 HI6ZEROS EQUALS ZEROVECS # ZERO VECTOR ALWAYS IN HIGH MEMORY
001484,000323: 43,2000 12,2006 LO6ZEROS EQUALS ZEROVEC # ZERO VECTOR ALWAYS IN LOW MEMORY
001485,000324: 43,2000 23,2521 HIDPHALF EQUALS UNITX
001486,000325: 43,2000 12,2004 LODPHALF EQUALS XUNIT
001487,000326: 43,2000 23,2513 HIDP1/4 EQUALS DP1/4TH
001488,000327: 43,2000 04,3002 LODP1/4 EQUALS D1/4 # 2DEC .25
001489,000328: 43,2000 23,2521 HIUNITX EQUALS UNITX
001490,000329: 43,2000 23,2517 HIUNITY EQUALS UNITY
001491,000330: 43,2000 23,2515 HIUNITZ EQUALS UNITZ
001492,000331: 43,2000 12,2004 LOUNITX EQUALS XUNIT # 2DEC .5
001493,000332: 43,2000 12,2002 LOUNITY EQUALS YUNIT # 2DEC 0
001494,000333: 43,2000 12,2000 LOUNITZ EQUALS ZUNIT # 2DEC 0
001495,000334:
001496,000335: 43,2000 22,3541 DELRSPL EQUALS SPLRET # COL PGM, ALSO CALLED BY R30 IN LUMINARY
001497,000336: # ROPE-SPECIFIC ASSIGNS OBVIATING NEED TO CHECK COMPUTER FLAG IN DETERMINING INTEGRATION AREA ENTRIES.
001498,000337:
001499,000338: 43,2000 13,2733 ATOPTHIS EQUALS ATOPLEM
001500,000339: 43,2000 13,2660 ATOPOTH EQUALS ATOPCSM
001501,000340: 43,2000 13,3042 OTHPREC EQUALS CSMPREC
001502,000341: 43,2000 0000174 MOONTHIS EQUALS LMOONFLG
001503,000342: 43,2000 0000173 MOONOTH EQUALS CMOONFLG
001504,000343: 43,2000 13,2746 MOVATHIS EQUALS MOVEALEM
001505,000344: 43,2000 12,2017 RMM = LODPMAX
001506,000345: 43,2000 12,2021 RME = LODPMAX1
001507,000346: 43,2000 13,3056 THISPREC EQUALS LEMPREC
001508,000347: 43,2000 23,2515 THISAXIS = UNITZ
001509,000348: 43,2000 23,2515 NB1NB2 EQUALS THISAXIS # FOR R31
001510,000349: 43,2000 5011 ERASID EQUALS BITS2-10 # DOWNLINK ERASABLE DUMP ID
001511,000350: 43,2000 4752 DELAYNUM EQUALS TWO
001512,000351:
End of include-file TAGS_FOR_RELATIVE_SETLOC_AND_BLANK_BANK_CARDS.agc. Parent file is MAIN.agc