Source Code

These source-code files are part of a reconstructed copy of Luminary 69/2, the flown, final release of the Apollo 10 Lunar Module (LM) Apollo Guidance Computer (AGC) software.

The reconstruction is based on the source code of Luminary 69 — i.e., the initial, unflown version, "revision 0" — of which a contemporary listing was available. The code was then updated by incorporating the differences between Luminary 69 and Luminary 69/2, known from other contemporary documentation. The only such difference is the implementation in Luminary 69/2 of the "R-2 Lunar Potential Model", the source code for which was taken from program Luminary 99/1 (Apollo 11 LM), of which a contemporary listing was also available. Finally, the now-reconstructed Luminary 69/2 was then validated by assembling it to executable form and verifying that its memory banks had the correct checksums, known from still other contemporary documentation.

Note that page numbers in the reconstructed code match those in the original Luminary 69 program listing, or in the ORBITAL INTEGRATION log section, in Luminary 99/1. Page numbers would certainly differ somewhat in a contemporary Luminary 69/2 listing. Moreover, annotations that were not present in the contemporary source code have been added to the reconstructed code to justify each change in Luminary 69/2 relative to Luminary 69. Here's a guide to the Apollo documentation referenced in those annotations:
Comments from the original source code are prefixed with a single '#' symbol, whereas comments added later are prefixed by "##" or "###". Report any errors noted by creating an issue report at the Virtual AGC project's GitHub repository.

001054,000002:                                                                                                  ## Copyright:   Public domain.
001055,000003:                                                                                                  ## Filename:    TAGS_FOR_RELATIVE_SETLOC_AND_BLANK_BANK_CARDS.agc
001056,000004:                                                                                                  ## Purpose:     A section of LUM69 revision 2.
001057,000005:                                                                                                  ##              It is part of the reconstructed source code for the flown
001058,000006:                                                                                                  ##              version of the flight software for the Lunar Module's (LM)
001059,000007:                                                                                                  ##              Apollo Guidance Computer (AGC) for Apollo 10. The code has
001060,000008:                                                                                                  ##              been recreated from a copy of Luminary revsion 069, using
001061,000009:                                                                                                  ##              changes present in Luminary 099 which were described in
001062,000010:                                                                                                  ##              Luminary memos 75 and 78. The code has been adapted such
001063,000011:                                                                                                  ##              that the resulting bugger words exactly match those specified
001064,000012:                                                                                                  ##              for LUM69 revision 2 in NASA drawing 2021152B, which gives
001065,000013:                                                                                                  ##              relatively high confidence that the reconstruction is correct.
001066,000014:                                                                                                  ## Reference:   pp. 27-36
001067,000015:                                                                                                  ## Assembler:   yaYUL
001068,000016:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
001069,000017:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
001070,000018:                                                                                                  ## Mod history: 2019-07-27 MAS  Created from Luminary 69.
001071,000019:                                                                                                  ##              2019-07-27 MAS  Added tag for LUM69 rev 2 lunar potential code.
001072,000020:                                                                                                  ##              2020-12-14 RSB  Tweaked the annotation relevant to the
001073,000021:                                                                                                  ##                              change mentioned above to conform to the
001074,000022:                                                                                                  ##                              style and extent of similar justifying
001075,000023:                                                                                                  ##                              annotations previously added to 
001076,000024:                                                                                                  ##                              Comanche 44 and 51.
001077,000025: 

Page 27

001079,000027: ???????                                           COUNT    BANKSUM                               
001080,000028: 
001081,000029:                                                                                                  #  MODULE 1 CONTAINS BANKS 0 THROUGH 5
001082,000030: 
001083,000031:    4000                                           BLOCK    02                                    
001084,000032:    4000                        RADARFF            EQUALS                                         
001085,000033:    4000                        FFTAG1             EQUALS                                         
001086,000034:    4000                        FFTAG2             EQUALS                                         
001087,000035:    4000                        FFTAG3             EQUALS                                         
001088,000036:    4000                        FFTAG4             EQUALS                                         
001089,000037:    4000                        FFTAG7             EQUALS                                         
001090,000038:    4000                        FFTAG8             EQUALS                                         
001091,000039:    4000                        FFTAG9             EQUALS                                         
001092,000040:    4000                        FFTAG10            EQUALS                                         
001093,000041:    4000                        FFTAG11            EQUALS                                         
001094,000042:    4000                        FFTAG12            EQUALS                                         
001095,000043:    4000                        FFTAG13            EQUALS                                         
001096,000044:    4000                                           BNKSUM   02                                    
001097,000045: 
001098,000046: 
001099,000047:    6000                                           BLOCK    03                                    
001100,000048:    6000                        FFTAG5             EQUALS                                         
001101,000049:    6000                        FFTAG6             EQUALS                                         
001102,000050:    6000                                           BNKSUM   03                                    
001103,000051: 
001104,000052: 
001105,000053: 00,2000                                           BANK     00                                    
001106,000054: 00,2000                        DLAYJOB            EQUALS                                         
001107,000055: 00,2000                                           BNKSUM   00                                    
001108,000056: 
001109,000057: 
001110,000058: 01,2000                                           BANK     01                                    
001111,000059: 01,2000                        RESTART            EQUALS                                         
001112,000060: 01,2000                        LOADDAP1           EQUALS                                         
001113,000061: 01,2000                                           BNKSUM   01                                    
001114,000062: 
001115,000063: 
001116,000064: 04,2000                                           BANK     04                                    
001117,000065: 04,2000                        R02                EQUALS                                         
001118,000066: 04,2000                        VERB37             EQUALS                                         
001119,000067: 04,2000                        PINBALL4           EQUALS                                         
001120,000068: 04,2000                        CONICS1            EQUALS                                         
001121,000069: 04,2000                        KEYRUPT            EQUALS                                         
001122,000070: 04,2000                        R36LM              EQUALS                                         
001123,000071: 04,2000                        UPDATE2            EQUALS                                         
001124,000072: 04,2000                        E/PROG             EQUALS                                         
001125,000073: 04,2000                                           BNKSUM   04                                    
001126,000074: 
001127,000075: 

Page 28

001129,000077: 05,2000                                           BANK     05                                    
001130,000078: 05,2000                        FRANDRES           EQUALS                                         
001131,000079: 05,2000                        DOWNTELM           EQUALS                                         
001132,000080: 05,2000                        AOTMARK2           EQUALS                                         
001133,000081: 05,2000                        EPHEM1             EQUALS                                         
001134,000082: 05,2000                                           BNKSUM   05                                    
001135,000083: 
001136,000084: 
001137,000085:                                                                                                  #  MODULE 2 CONTAINS BANKS 6 THROUGH 13
001138,000086: 
001139,000087: 06,2000                                           BANK     06                                    
001140,000088: 06,2000                        IMUCOMP            EQUALS                                         
001141,000089: 06,2000                        T4RUP              EQUALS                                         
001142,000090: 06,2000                        RCSMONT            EQUALS                                         
001143,000091: 06,2000                                           BNKSUM   06                                    
001144,000092: 
001145,000093: 
001146,000094: 07,2000                                           BANK     07                                    
001147,000095: 07,2000                        AOTMARK1           EQUALS                                         
001148,000096: 07,2000                        MODESW             EQUALS                                         
001149,000097: 07,2000                                           BNKSUM   07                                    
001150,000098: 
001151,000099: 
001152,000100: 10,2000                                           BANK     10                                    
001153,000101: 10,2000                        RTBCODES           EQUALS                                         
001154,000102: 10,2000                        DISPLAYS           EQUALS                                         
001155,000103: 10,2000                        PHASETAB           EQUALS                                         
001156,000104: 10,2000                        MIDDGIM            EQUALS                                         
001157,000105: 10,2000                                           BNKSUM   10                                    
001158,000106: 
001159,000107: 
001160,000108: 11,2000                                           BANK     11                                    
001161,000109: 11,2000                        ORBITAL            EQUALS                                         
001162,000110: 11,2000                        ORBITAL1           EQUALS                                         
001163,000111: 11,2000                        INTVEL             EQUALS                                         
001164,000112: 11,2000                        INTPRET2           EQUALS                                         

Reconstruction: The alias immediately following this annotation was not present in Luminary 69. It is associated with the incorporation of the R-2 Lunar Potential Model (see LUMINARY Memo #75). The alias is used for the purpose of placing the R-2 model functions QUALITY1 and QUALITY2 into desired memory banks. The placement used differs between different revisions of Luminary and Colossus. The particular choice of BANK 11 in reconstructing Luminary 69/2 was determined empirically. Moreover, this particular placement of QUALITY1 and QUALITY2 into BANK 11 is not matched by any other available AGC software version, and hence there is no particular reason to believe that the specific string "MODCHG1" was the alias used in the original Luminary 69/2 source code. The string MODCHG1 was selected in the reconstruction process by analogy to the use in the original Comanche 55 source code of the aliases MODCHG2 and MODCHG3 for relocation of QUALITY1 and QUALITY2 (into BANK 12 and BANK 13, respectively). However, some other alias for BANK 11 (such as ORBITAL or ORBITAL1) could have just as easily been used for this purpose in Luminary 69/2.

001181,000129: 11,2000                        MODCHG1            EQUALS                                         
001182,000130: 11,2000                                           BNKSUM   11                                    
001183,000131: 
001184,000132: 
001185,000133: 12,2000                                           BANK     12                                    
001186,000134: 12,2000                        CONICS             EQUALS                                         
001187,000135: 12,2000                                           BNKSUM   12                                    
001188,000136: 
001189,000137: 

Page 29

001191,000139: 13,2000                                           BANK     13                                    
001192,000140: 13,2000                        LATLONG            EQUALS                                         
001193,000141: 13,2000                        INTINIT            EQUALS                                         
001194,000142: 13,2000                        LEMGEOM            EQUALS                                         
001195,000143: 13,2000                        P76LOC             EQUALS                                         
001196,000144: 13,2000                        ORBITAL2           EQUALS                                         
001197,000145: 13,2000                                           BNKSUM   13                                    
001198,000146: 
001199,000147: 

Page 30

001201,000149:                                                                                                  #  MODULE 3 CONTAINS BANKS 14 THROUGH 21
001202,000150: 
001203,000151: 14,2000                                           BANK     14                                    
001204,000152: 14,2000                        P50S1              EQUALS                                         
001205,000153: 14,2000                        STARTAB            EQUALS                                         
001206,000154: 14,2000                                           BNKSUM   14                                    
001207,000155: 
001208,000156: 
001209,000157: 15,2000                                           BANK     15                                    
001210,000158: 15,2000                        P50S               EQUALS                                         
001211,000159: 15,2000                        EPHEM              EQUALS                                         
001212,000160: 15,2000                                           BNKSUM   15                                    
001213,000161: 
001214,000162: 
001215,000163: 16,2000                                           BANK     16                                    
001216,000164: 16,2000                        DAPS1              EQUALS                                         
001217,000165: 16,2000                                           BNKSUM   16                                    
001218,000166: 
001219,000167: 
001220,000168: 17,2000                                           BANK     17                                    
001221,000169: 17,2000                        DAPS2              EQUALS                                         
001222,000170: 17,2000                                           BNKSUM   17                                    
001223,000171: 
001224,000172: 
001225,000173: 20,2000                                           BANK     20                                    
001226,000174: 20,2000                        DAPS3              EQUALS                                         
001227,000175: 20,2000                        LOADDAP            EQUALS                                         
001228,000176: 20,2000                        RODTRAP            EQUALS                                         
001229,000177: 20,2000                                           BNKSUM   20                                    
001230,000178: 
001231,000179: 
001232,000180: 21,2000                                           BANK     21                                    
001233,000181: 21,2000                        DAPS4              EQUALS                                         
001234,000182: 21,2000                        F2DPS*21           EQUALS                                         
001235,000183: 21,2000                        R10                EQUALS                                         
001236,000184: 21,2000                        R11                EQUALS                                         
001237,000185: 21,2000                                           BNKSUM   21                                    
001238,000186: 

Page 31

001240,000188: 
001241,000189:                                                                                                  #  MODULE 4 CONTAINS BANKS 22 THROUGH 27
001242,000190: 
001243,000191: 22,2000                                           BANK     22                                    
001244,000192: 22,2000                        KALCMON1           EQUALS                                         
001245,000193: 22,2000                        KALCMON2           EQUALS                                         
001246,000194: 22,2000                        R30LOC             EQUALS                                         
001247,000195: 22,2000                        RENDEZ             EQUALS                                         
001248,000196: 22,2000                                           BNKSUM   22                                    
001249,000197: 
001250,000198: 
001251,000199: 23,2000                                           BANK     23                                    
001252,000200: 23,2000                        POWFLITE           EQUALS                                         
001253,000201: 23,2000                        POWFLIT1           EQUALS                                         
001254,000202: 23,2000                        INFLIGHT           EQUALS                                         
001255,000203: 23,2000                        APOPERI            EQUALS                                         
001256,000204: 23,2000                        R61                EQUALS                                         
001257,000205: 23,2000                        R62                EQUALS                                         
001258,000206: 23,2000                        INTPRET1           EQUALS                                         
001259,000207: 23,2000                        MEASINC            EQUALS                                         
001260,000208: 23,2000                        MEASINC1           EQUALS                                         
001261,000209: 23,2000                        EXTVB1             EQUALS                                         
001262,000210: 23,2000                                           BNKSUM   23                                    
001263,000211: 
001264,000212: 
001265,000213: 24,2000                                           BANK     24                                    
001266,000214: 24,2000                        PLANTIN            EQUALS                                         
001267,000215: 24,2000                        P20S               EQUALS                                         
001268,000216: 24,2000                                           BNKSUM   24                                    
001269,000217: 
001270,000218: 
001271,000219: 25,2000                                           BANK     25                                    
001272,000220: 25,2000                        P20S1              EQUALS                                         
001273,000221: 25,2000                        P20S2              EQUALS                                         
001274,000222: 25,2000                        RADARUPT           EQUALS                                         
001275,000223: 25,2000                        RRLEADIN           EQUALS                                         
001276,000224: 25,2000                        R29S1              EQUALS                                         
001277,000225: 25,2000                                           BNKSUM   25                                    
001278,000226: 
001279,000227: 
001280,000228: 26,2000                                           BANK     26                                    
001281,000229: 26,2000                        P20S3              EQUALS                                         
001282,000230: 26,2000                        BAWLANGS           EQUALS                                         
001283,000231: 26,2000                        MANUVER            EQUALS                                         
001284,000232: 26,2000                        MANUVER1           EQUALS                                         
001285,000233: 26,2000                        PLANTIN1           EQUALS                                         
001286,000234: 26,2000                                           BNKSUM   26                                    
001287,000235: 
001288,000236: 

Page 32

001290,000238: 27,2000                                           BANK     27                                    
001291,000239: 27,2000                        TOF-FF             EQUALS                                         
001292,000240: 27,2000                        TOF-FF1            EQUALS                                         
001293,000241: 27,2000                        P40S1              EQUALS                                         
001294,000242: 27,2000                        VECPT              EQUALS                                         
001295,000243: 27,2000                        ASENT1             EQUALS                                         
001296,000244: 27,2000                                           BNKSUM   27                                    
001297,000245: 
001298,000246: 

Page 33

001300,000248:                                                                                                  #  MODULE 5 CONTAINS BANKS 30 THROUGH 35
001301,000249: 
001302,000250: 30,2000                                           BANK     30                                    
001303,000251: 30,2000                        LOWSUPER           EQUALS                                         
001304,000252: 30,2000                        P12                EQUALS                                         
001305,000253: 30,2000                        ASENT              EQUALS                                         
001306,000254: 30,2000                        FCDUW              EQUALS                                         
001307,000255: 30,2000                                           BNKSUM   30                                    
001308,000256: 
001309,000257: 
001310,000258: 31,2000                                           BANK     31                                    
001311,000259: 31,2000                        FTHROT             EQUALS                                         
001312,000260: 31,2000                        F2DPS*31           EQUALS                                         
001313,000261: 31,2000                        VB67               EQUALS                                         
001314,000262: 31,2000                                           BNKSUM   31                                    
001315,000263: 
001316,000264: 
001317,000265: 32,2000                                           BANK     32                                    
001318,000266: 32,2000                        P20S4              EQUALS                                         
001319,000267: 32,2000                        F2DPS*32           EQUALS                                         
001320,000268: 32,2000                        ABORTS             EQUALS                                         
001321,000269: 32,2000                        LRS22              EQUALS                                         
001322,000270: 32,2000                        FLOGSUB            EQUALS                                         
001323,000271: 32,2000                        SERV2              EQUALS                                         
001324,000272: 32,2000                        R47                EQUALS                                         
001325,000273: 32,2000                                           BNKSUM   32                                    
001326,000274: 
001327,000275: 
001328,000276: 33,2000                                           BANK     33                                    
001329,000277: 33,2000                        SERVICES           EQUALS                                         
001330,000278: 33,2000                        R29/SERV           EQUALS                                         
001331,000279: 33,2000                                           BNKSUM   33                                    
001332,000280: 
001333,000281: 
001334,000282: 34,2000                                           BANK     34                                    
001335,000283: 34,2000                        STBLEORB           EQUALS                                         
001336,000284: 34,2000                        P30S1              EQUALS                                         
001337,000285: 34,2000                        CSI/CDH1           EQUALS                                         
001338,000286: 34,2000                        ASCFILT            EQUALS                                         
001339,000287: 34,2000                        R12STUFF           EQUALS                                         
001340,000288: 34,2000                                           BNKSUM   34                                    
001341,000289: 
001342,000290: 
001343,000291: 35,2000                                           BANK     35                                    
001344,000292: 35,2000                        CSI/CDH            EQUALS                                         
001345,000293: 

Page 34

001347,000295: 35,2000                        P30S               EQUALS                                         
001348,000296: 35,2000                        GLM                EQUALS                                         
001349,000297: 35,2000                        P40S2              EQUALS                                         
001350,000298: 35,2000                                           BNKSUM   35                                    
001351,000299: 

Page 35

001353,000301:                                                                                                  #  MODULE 6 CONTAINS BANKS 36 THROUGH 43
001354,000302: 
001355,000303: 36,2000                                           BANK     36                                    
001356,000304: 36,2000                        P40S               EQUALS                                         
001357,000305: 36,2000                                           BNKSUM   36                                    
001358,000306: 
001359,000307: 
001360,000308: 37,2000                                           BANK     37                                    
001361,000309: 37,2000                        P05P06             EQUALS                                         
001362,000310: 37,2000                        IMU2               EQUALS                                         
001363,000311: 37,2000                        IMU4               EQUALS                                         
001364,000312: 37,2000                        R31                EQUALS                                         
001365,000313: 37,2000                        IMUSUPER           EQUALS                                         
001366,000314: 37,2000                        SERV1              EQUALS                                         
001367,000315: 37,2000                                           BNKSUM   37                                    
001368,000316: 
001369,000317: 
001370,000318: 40,2000                                           BANK     40                                    
001371,000319: 40,2000                        PINBALL1           EQUALS                                         
001372,000320: 40,2000                        SELFSUPR           EQUALS                                         
001373,000321: 40,2000                        PINSUPER           EQUALS                                         
001374,000322: 40,2000                                           BNKSUM   40                                    
001375,000323: 
001376,000324: 
001377,000325: 41,2000                                           BANK     41                                    
001378,000326: 41,2000                        PINBALL2           EQUALS                                         
001379,000327: 41,2000                                           BNKSUM   41                                    
001380,000328: 
001381,000329: 
001382,000330: 42,2000                                           BANK     42                                    
001383,000331: 42,2000                        SBAND              EQUALS                                         
001384,000332: 42,2000                        PINBALL3           EQUALS                                         
001385,000333: 42,2000                                           BNKSUM   42                                    
001386,000334: 
001387,000335: 
001388,000336: 43,2000                                           BANK     43                                    
001389,000337: 43,2000                        EXTVERBS           EQUALS                                         
001390,000338: 43,2000                        SELFCHEC           EQUALS                                         
001391,000339: 
001392,000340: 43,2000                                           BNKSUM   43                                    
001393,000341: 

Page 36

001395,000343: 
001396,000344: 43,2000  23,2423               HI6ZEROS           EQUALS   ZEROVECS                              #  ZERO VECTOR ALWAYS IN HIGH MEMORY
001397,000345: 43,2000  11,2274               LO6ZEROS           EQUALS   ZEROVEC                               #  ZERO VECTOR ALWAYS IN LOW MEMORY
001398,000346: 43,2000  23,2421               HIDPHALF           EQUALS   UNITX                                 
001399,000347: 43,2000  11,2272               LODPHALF           EQUALS   XUNIT                                 
001400,000348: 43,2000  23,2413               HIDP1/4            EQUALS   DP1/4TH                               
001401,000349: 43,2000  04,2757               LODP1/4            EQUALS   D1/4                                  #  2DEC .25
001402,000350: 43,2000  23,2421               HIUNITX            EQUALS   UNITX                                 
001403,000351: 43,2000  23,2417               HIUNITY            EQUALS   UNITY                                 
001404,000352: 43,2000  23,2415               HIUNITZ            EQUALS   UNITZ                                 
001405,000353: 43,2000  11,2272               LOUNITX            EQUALS   XUNIT                                 #  2DEC .5
001406,000354: 43,2000  11,2270               LOUNITY            EQUALS   YUNIT                                 #  2DEC 0
001407,000355: 43,2000  11,2266               LOUNITZ            EQUALS   ZUNIT                                 #  2DEC 0
001408,000356: 
001409,000357: 
001410,000358: 
001411,000359: 43,2000  22,3541               DELRSPL            EQUALS   SPLRET                                #  COL PGM, ALSO CALLED BY R30 IN LUMINARY
001412,000360:                                                                                                  #  ROPE-SPECIFIC ASSIGNS OBVIATING NEED TO CHECK COMPUTER FLAG IN           DETERMINING INTEGRATION AREA ENTRIES.
001413,000361: 
001414,000362: 43,2000  13,2734               ATOPTHIS           EQUALS   ATOPLEM                               
001415,000363: 43,2000  13,2661               ATOPOTH            EQUALS   ATOPCSM                               
001416,000364: 43,2000  13,3043               OTHPREC            EQUALS   CSMPREC                               
001417,000365: 43,2000  0000174               MOONTHIS           EQUALS   LMOONFLG                              
001418,000366: 43,2000  0000173               MOONOTH            EQUALS   CMOONFLG                              
001419,000367: 43,2000  13,2747               MOVATHIS           EQUALS   MOVEALEM                              
001420,000368: 43,2000  11,2305               RMM                =        LODPMAX                               
001421,000369: 43,2000  11,2307               RME                =        LODPMAX1                              
001422,000370: 43,2000  13,3057               THISPREC           EQUALS   LEMPREC                               
001423,000371: 43,2000  23,2415               THISAXIS           =        UNITZ                                 
001424,000372: 43,2000  23,2415               NB1NB2             EQUALS   THISAXIS                              #  FOR R31
001425,000373: 43,2000     5011               ERASID             EQUALS   BITS2-10                              #  DOWNLINK ERASABLE DUMP ID
001426,000374: 43,2000     4752               DELAYNUM           EQUALS   TWO                                   

End of include-file TAGS_FOR_RELATIVE_SETLOC_AND_BLANK_BANK_CARDS.agc.  Parent file is MAIN.agc