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, 1969
Note 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