Source Code
These source-code files are part of a reconstructed copy of Luminary 178, the
final release of the Apollo 14 Lunar Module (LM) Apollo Guidance Computer
(AGC) software.
The reconstruction began with source code of Zerlina 56, Luminary 210, and Luminary 131, previously transcribed from digitized copies of those programs. The code was created by combining the three, using Zerlina 56 as a base, since it was based off of Luminary 183. The differences between the three were carefully merged using the Luminary memos as a guide, with all changes made after Luminary 178 being backed out. The reconstruction was verified by matching memory-bank checksums to those listed in drawing 2021152N. Note that page numbers in the reconstructed code match those for the baseline log section mentioned in each file's changelog; the page numbers for a real Luminary 178 listing would be different. 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. |
001136,000002: ## Copyright: Public domain.
001137,000003: ## Filename: TAGS_FOR_RELATIVE_SETLOC_AND_BLANK_BANK_CARDS.agc
001138,000004: ## Purpose: A section of Luminary revision 178.
001139,000005: ## It is part of the reconstructed source code for the final
001140,000006: ## release of the flight software for the Lunar Module's
001141,000007: ## (LM) Apollo Guidance Computer (AGC) for Apollo 14. The
001142,000008: ## code has been recreated from copies of Zerlina 56, Luminary
001143,000009: ## 210, and Luminary 131, as well as many Luminary memos.
001144,000010: ## It has been adapted such that the resulting bugger words
001145,000011: ## exactly match those specified for Luminary 178 in NASA
001146,000012: ## drawing 2021152N, which gives relatively high confidence
001147,000013: ## that the reconstruction is correct.
001148,000014: ## Reference: pp. 28-37
001149,000015: ## Assembler: yaYUL
001150,000016: ## Contact: Ron Burkey <info@sandroid.org>.
001151,000017: ## Website: www.ibiblio.org/apollo/index.html
001152,000018: ## Mod history: 2019-08-14 MAS Created from Zerlina 56.
001153,000019: ## 2019-08-29 MAS Updated based on three-way diff of Luminary
001154,000020: ## 131, Zerlina 56, and Luminary 210.
001155,000021:
Page 28 |
001157,000023: ??????? COUNT BANKSUM
001158,000024: # MODULE 1 CONTAINS BANKS 0 THROUGH 5
001159,000025:
001160,000026: 4000 BLOCK 02
001161,000027: 4000 RADARFF EQUALS
001162,000028: 4000 FFTAG1 EQUALS
001163,000029: 4000 FFTAG2 EQUALS
001164,000030: 4000 FFTAG3 EQUALS
001165,000031: 4000 FFTAG4 EQUALS
001166,000032: 4000 FFTAG7 EQUALS
001167,000033: 4000 FFTAG8 EQUALS
001168,000034: 4000 FFTAG9 EQUALS
001169,000035: 4000 FFTAG10 EQUALS
001170,000036: 4000 FFTAG11 EQUALS
001171,000037: 4000 FFTAG12 EQUALS
001172,000038: 4000 FFTAG13 EQUALS
001173,000039: 4000 BNKSUM 02
001174,000040:
001175,000041:
001176,000042: 6000 BLOCK 03
001177,000043: 6000 FFTAG5 EQUALS
001178,000044: 6000 FFTAG6 EQUALS
001179,000045: 6000 BNKSUM 03
001180,000046:
001181,000047:
001182,000048: 00,2000 BANK 00
001183,000049: 00,2000 DLAYJOB EQUALS
001184,000050: 00,2000 BNKSUM 00
001185,000051:
001186,000052:
001187,000053: 01,2000 BANK 01
001188,000054: 01,2000 RESTART EQUALS
001189,000055: 01,2000 LOADDAP1 EQUALS
001190,000056: 01,2000 BNKSUM 01
001191,000057:
001192,000058:
001193,000059: 04,2000 BANK 04
001194,000060: 04,2000 ORBITAL3 EQUALS
001195,000061: 04,2000 R02 EQUALS
001196,000062: 04,2000 VERB37 EQUALS
001197,000063: 04,2000 PINBALL4 EQUALS
001198,000064: 04,2000 CONICS1 EQUALS
001199,000065: 04,2000 KEYRUPT EQUALS
001200,000066: 04,2000 R36LM EQUALS
001201,000067: 04,2000 UPDATE2 EQUALS
001202,000068: 04,2000 E/PROG EQUALS
Page 29 |
001204,000070: 04,2000 AOTMARK2 EQUALS
001205,000071: 04,2000 BNKSUM 04
001206,000072:
001207,000073:
001208,000074: 05,2000 BANK 05
001209,000075: 05,2000 FRANDRES EQUALS
001210,000076: 05,2000 DOWNTELM EQUALS
001211,000077: 05,2000 ABORTS1 EQUALS
001212,000078: 05,2000 EPHEM1 EQUALS
001213,000079: 05,2000 ASENT3 EQUALS
001214,000080: 05,2000 BNKSUM 05
001215,000081:
001216,000082:
001217,000083: # MODULE 2 CONTAINS BANKS 6 THROUGH 13
001218,000084:
001219,000085: 06,2000 BANK 06
001220,000086: 06,2000 IMUCOMP EQUALS
001221,000087: 06,2000 T4RUP EQUALS
001222,000088: 06,2000 RCSMONT EQUALS
001223,000089: 06,2000 MIDDGIM EQUALS
001224,000090: 06,2000 EARTHLOC EQUALS
001225,000091: 06,2000 BNKSUM 06
001226,000092:
001227,000093:
001228,000094: 07,2000 BANK 07
001229,000095: 07,2000 AOTMARK1 EQUALS
001230,000096: 07,2000 MODESW EQUALS
001231,000097: 07,2000 ASENT2 EQUALS
001232,000098: 07,2000 BNKSUM 07
001233,000099:
001234,000100:
001235,000101: 10,2000 BANK 10
001236,000102: 10,2000 RTBCODES EQUALS
001237,000103: 10,2000 DISPLAYS EQUALS
001238,000104: 10,2000 PHASETAB EQUALS
001239,000105: 10,2000 FLESHLOC EQUALS
001240,000106: 10,2000 SLCTMU EQUALS
001241,000107: 10,2000 BNKSUM 10
001242,000108:
001243,000109:
001244,000110: 11,2000 BANK 11
001245,000111: 11,2000 ORBITAL EQUALS
001246,000112: 11,2000 F2DPS*11 EQUALS
001247,000113: 11,2000 INTVEL EQUALS
001248,000114: 11,2000 BNKSUM 11
001249,000115:
001250,000116:
Page 30 |
001252,000118: 12,2000 BANK 12
001253,000119: 12,2000 CONICS EQUALS
001254,000120: 12,2000 ORBITAL1 EQUALS
001255,000121: 12,2000 INTPRET2 EQUALS
001256,000122: 12,2000 BNKSUM 12
001257,000123:
001258,000124:
001259,000125: 13,2000 BANK 13
001260,000126: 13,2000 LATLONG EQUALS
001261,000127: 13,2000 INTINIT EQUALS
001262,000128: 13,2000 LEMGEOM EQUALS
001263,000129: 13,2000 P76LOC EQUALS
001264,000130: 13,2000 ORBITAL2 EQUALS
001265,000131: 13,2000 ABTFLGS EQUALS
001266,000132: 13,2000 BNKSUM 13
001267,000133:
001268,000134:
Page 31 |
001270,000136: # MODULE 3 CONTAINS BANKS 14 THROUGH 21
001271,000137:
001272,000138: 14,2000 BANK 14
001273,000139: 14,2000 P50S1 EQUALS
001274,000140: 14,2000 STARTAB EQUALS
001275,000141: 14,2000 ASENT4 EQUALS
001276,000142: 14,2000 BNKSUM 14
001277,000143:
001278,000144:
001279,000145: 15,2000 BANK 15
001280,000146: 15,2000 P50S EQUALS
001281,000147: 15,2000 EPHEM EQUALS
001282,000148: 15,2000 RRLEADIN EQUALS
001283,000149: 15,2000 BNKSUM 15
001284,000150:
001285,000151:
001286,000152: 16,2000 BANK 16
001287,000153: 16,2000 DAPS1 EQUALS
001288,000154: 16,2000 BNKSUM 16
001289,000155:
001290,000156:
001291,000157: 17,2000 BANK 17
001292,000158: 17,2000 DAPS2 EQUALS
001293,000159: 17,2000 C13BANK EQUALS
001294,000160: 17,2000 BNKSUM 17
001295,000161:
001296,000162:
001297,000163: 20,2000 BANK 20
001298,000164: 20,2000 DAPS3 EQUALS
001299,000165: 20,2000 LOADDAP EQUALS
001300,000166: 20,2000 BNKSUM 20
001301,000167:
001302,000168:
001303,000169: 21,2000 BANK 21
001304,000170: 21,2000 DAPS4 EQUALS
001305,000171: 21,2000 R10 EQUALS
001306,000172: 21,2000 R11 EQUALS
001307,000173: 21,2000 BNKSUM 21
001308,000174:
001309,000175:
Page 32 |
001311,000177: # MODULE 4 CONTAINS BANKS 22 THROUGH 27
001312,000178:
001313,000179: 22,2000 BANK 22
001314,000180: 22,2000 KALCMON1 EQUALS
001315,000181: 22,2000 KALCMON2 EQUALS
001316,000182: 22,2000 R30LOC EQUALS
001317,000183: 22,2000 RENDEZ EQUALS
001318,000184: 22,2000 SERV2 EQUALS
001319,000185: 22,2000 LANDCNST EQUALS
001320,000186: 22,2000 BNKSUM 22
001321,000187:
001322,000188:
001323,000189: 23,2000 BANK 23
001324,000190: 23,2000 POWFLITE EQUALS
001325,000191: 23,2000 POWFLIT1 EQUALS
001326,000192: 23,2000 INFLIGHT EQUALS
001327,000193: 23,2000 APOPERI EQUALS
001328,000194: 23,2000 R61 EQUALS
001329,000195: 23,2000 R62 EQUALS
001330,000196: 23,2000 INTPRET1 EQUALS
001331,000197: 23,2000 MEASINC EQUALS
001332,000198: 23,2000 MEASINC1 EQUALS
001333,000199: 23,2000 EXTVB1 EQUALS
001334,000200: 23,2000 P12A EQUALS
001335,000201: 23,2000 NORMLIZ EQUALS
001336,000202: 23,2000 ASENT7 EQUALS
001337,000203: 23,2000 RODTRAP EQUALS
001338,000204: 23,2000 BNKSUM 23
001339,000205:
001340,000206:
001341,000207: 24,2000 BANK 24
001342,000208: 24,2000 PLANTIN EQUALS
001343,000209: 24,2000 P20S EQUALS
001344,000210: 24,2000 S40BNK EQUALS
001345,000211: 24,2000 BNKSUM 24
001346,000212:
001347,000213:
001348,000214: 25,2000 BANK 25
001349,000215: 25,2000 P20S1 EQUALS
001350,000216: 25,2000 P20S2 EQUALS
001351,000217: 25,2000 RADARUPT EQUALS
001352,000218: 25,2000 DRSAMP EQUALS
001353,000219: 25,2000 PLANTIN3 EQUALS
001354,000220: 25,2000 BNKSUM 25
001355,000221:
001356,000222:
Page 33 |
001358,000224: 26,2000 BANK 26
001359,000225: 26,2000 P20S3 EQUALS
001360,000226: 26,2000 BAWLANGS EQUALS
001361,000227: 26,2000 MANUVER EQUALS
001362,000228: 26,2000 MANUVER1 EQUALS
001363,000229: 26,2000 PLANTIN1 EQUALS
001364,000230: 26,2000 PLANTIN2 EQUALS
001365,000231: 26,2000 BNKSUM 26
001366,000232:
001367,000233:
001368,000234: 27,2000 BANK 27
001369,000235: 27,2000 TOF-FF EQUALS
001370,000236: 27,2000 TOF-FF1 EQUALS
001371,000237: 27,2000 P40S1 EQUALS
001372,000238: 27,2000 VECPT EQUALS
001373,000239: 27,2000 ASENT1 EQUALS
001374,000240: 27,2000 SERV3 EQUALS
001375,000241: 27,2000 BNKSUM 27
001376,000242:
001377,000243:
Page 34 |
001379,000245: # MODULE 5 CONTAINS BANKS 30 THROUGH 35
001380,000246:
001381,000247: 30,2000 BANK 30
001382,000248: 30,2000 LOWSUPER EQUALS
001383,000249: 30,2000 P12 EQUALS
001384,000250: 30,2000 ASENT EQUALS
001385,000251: 30,2000 FCDUW EQUALS
001386,000252: 30,2000 FLOGSUB EQUALS
001387,000253: 30,2000 VB67A EQUALS
001388,000254: 30,2000 ASENT5 EQUALS
001389,000255: 30,2000 BNKSUM 30
001390,000256:
001391,000257:
001392,000258: 31,2000 BANK 31
001393,000259: 31,2000 FTHROT EQUALS
001394,000260: 31,2000 F2DPS*31 EQUALS
001395,000261: 31,2000 VB67 EQUALS
001396,000262: 31,2000 BNKSUM 31
001397,000263:
001398,000264:
001399,000265: 32,2000 BANK 32
001400,000266: 32,2000 P20S4 EQUALS
001401,000267: 32,2000 F2DPS*32 EQUALS
001402,000268: 32,2000 ABORTS EQUALS
001403,000269: 32,2000 LRS22 EQUALS
001404,000270: 32,2000 P66LOC EQUALS
001405,000271: 32,2000 R47 EQUALS
001406,000272: 32,2000 SERV EQUALS
001407,000273: 32,2000 P40S4 EQUALS
001408,000274: 32,2000 BNKSUM 32
001409,000275:
001410,000276:
001411,000277: 33,2000 BANK 33
001412,000278: 33,2000 SERVICES EQUALS
001413,000279: 33,2000 R29/SERV EQUALS
001414,000280: 33,2000 ASENT6 EQUALS
001415,000281: 33,2000 BNKSUM 33
001416,000282:
001417,000283:
001418,000284: 34,2000 BANK 34
001419,000285: 34,2000 ASENT8 EQUALS
001420,000286: 34,2000 P30S1 EQUALS
001421,000287: 34,2000 CSI/CDH1 EQUALS
001422,000288: 34,2000 ASCFILT EQUALS
001423,000289: 34,2000 R12STUFF EQUALS
001424,000290: 34,2000 SERV4 EQUALS
001425,000291: 34,2000 F2DPS*34 EQUALS
001426,000292: 34,2000 BNKSUM 34
001427,000293:
001428,000294:
Page 35 |
001430,000296: 35,2000 BANK 35
001431,000297: 35,2000 CSI/CDH EQUALS
001432,000298: 35,2000 P30S EQUALS
001433,000299: 35,2000 P40S3 EQUALS
001434,000300: 35,2000 P40S2 EQUALS
001435,000301: 35,2000 BNKSUM 35
001436,000302:
001437,000303:
Page 36 |
001439,000305: # MODULE 6 CONTAINS BANKS 36 THROUGH 43
001440,000306:
001441,000307: 36,2000 BANK 36
001442,000308: 36,2000 P40S EQUALS
001443,000309: 36,2000 BNKSUM 36
001444,000310:
001445,000311:
001446,000312: 37,2000 BANK 37
001447,000313: 37,2000 P05P06 EQUALS
001448,000314: 37,2000 IMU2 EQUALS
001449,000315: 37,2000 IMU4 EQUALS
001450,000316: 37,2000 R31 EQUALS
001451,000317: 37,2000 IMUSUPER EQUALS
001452,000318: 37,2000 SERV1 EQUALS
001453,000319: 37,2000 BNKSUM 37
001454,000320:
001455,000321:
001456,000322: 40,2000 BANK 40
001457,000323: 40,2000 PINBALL1 EQUALS
001458,000324: 40,2000 SELFSUPR EQUALS
001459,000325: 40,2000 PINSUPER EQUALS
001460,000326: 40,2000 R31LOC EQUALS
001461,000327: 40,2000 BNKSUM 40
001462,000328:
001463,000329:
001464,000330: 41,2000 BANK 41
001465,000331: 41,2000 PINBALL2 EQUALS
001466,000332: 41,2000 BNKSUM 41
001467,000333:
001468,000334:
001469,000335: 42,2000 BANK 42
001470,000336: 42,2000 SBAND EQUALS
001471,000337: 42,2000 PINBALL3 EQUALS
001472,000338: 42,2000 BNKSUM 42
001473,000339:
001474,000340:
001475,000341: 43,2000 BANK 43
001476,000342: 43,2000 EXTVERBS EQUALS
001477,000343: 43,2000 SELFCHEC EQUALS
001478,000344:
001479,000345: 43,2000 BNKSUM 43
001480,000346:
001481,000347:
Page 37 |
001483,000349: 43,2000 23,2467 HI6ZEROS EQUALS ZEROVECS # ZERO VECTOR ALWAYS IN HIGH MEMORY
001484,000350: 43,2000 12,2006 LO6ZEROS EQUALS ZEROVEC # ZERO VECTOR ALWAYS IN LOW MEMORY
001485,000351: 43,2000 23,2465 HIDPHALF EQUALS UNITX
001486,000352: 43,2000 12,2004 LODPHALF EQUALS XUNIT
001487,000353: 43,2000 23,2457 HIDP1/4 EQUALS DP1/4TH
001488,000354: 43,2000 04,3010 LODP1/4 EQUALS D1/4 # 2DEC .25
001489,000355: 43,2000 23,2465 HIUNITX EQUALS UNITX
001490,000356: 43,2000 23,2463 HIUNITY EQUALS UNITY
001491,000357: 43,2000 23,2461 HIUNITZ EQUALS UNITZ
001492,000358: 43,2000 12,2004 LOUNITX EQUALS XUNIT # 2DEC .5
001493,000359: 43,2000 12,2002 LOUNITY EQUALS YUNIT # 2DEC 0
001494,000360: 43,2000 12,2000 LOUNITZ EQUALS ZUNIT # 2DEC 0
001495,000361:
001496,000362:
001497,000363:
001498,000364: 43,2000 22,3541 DELRSPL EQUALS SPLRET # COL PGM, ALSO CALLED BY R30 IN LUMINARY
001499,000365: # ROPE-SPECIFIC ASSIGNS OBVIATING NEED TO CHECK COMPUTER FLAG IN DETERMINING INTEGRATION AREA ENTRIES.
001500,000366:
001501,000367: 43,2000 13,2733 ATOPTHIS EQUALS ATOPLEM
001502,000368: 43,2000 13,2660 ATOPOTH EQUALS ATOPCSM
001503,000369: 43,2000 13,3042 OTHPREC EQUALS CSMPREC
001504,000370: 43,2000 0000174 MOONTHIS EQUALS LMOONFLG
001505,000371: 43,2000 0000173 MOONOTH EQUALS CMOONFLG
001506,000372: 43,2000 13,2746 MOVATHIS EQUALS MOVEALEM
001507,000373: 43,2000 12,2017 RMM = LODPMAX
001508,000374: 43,2000 12,2021 RME = LODPMAX1
001509,000375: 43,2000 13,3056 THISPREC EQUALS LEMPREC
001510,000376: 43,2000 23,2461 THISAXIS = UNITZ
001511,000377: 43,2000 23,2461 NB1NB2 EQUALS THISAXIS # FOR R31
001512,000378: 43,2000 5011 ERASID EQUALS BITS2-10 # DOWNLINK ERASABLE DUMP ID
001513,000379: 43,2000 4752 DELAYNUM EQUALS TWO
End of include-file TAGS_FOR_RELATIVE_SETLOC_AND_BLANK_BANK_CARDS.agc. Parent file is MAIN.agc