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:
|
007438,000002: ## Copyright: Public domain.
007439,000003: ## Filename: INTERRUPT_LEAD_INS.agc
007440,000004: ## Purpose: A section of LUM69 revision 2.
007441,000005: ## It is part of the reconstructed source code for the flown
007442,000006: ## version of the flight software for the Lunar Module's (LM)
007443,000007: ## Apollo Guidance Computer (AGC) for Apollo 10. The code has
007444,000008: ## been recreated from a copy of Luminary revsion 069, using
007445,000009: ## changes present in Luminary 099 which were described in
007446,000010: ## Luminary memos 75 and 78. The code has been adapted such
007447,000011: ## that the resulting bugger words exactly match those specified
007448,000012: ## for LUM69 revision 2 in NASA drawing 2021152B, which gives
007449,000013: ## relatively high confidence that the reconstruction is correct.
007450,000014: ## Reference: pp. 168-169
007451,000015: ## Assembler: yaYUL
007452,000016: ## Contact: Ron Burkey <info@sandroid.org>.
007453,000017: ## Website: www.ibiblio.org/apollo/index.html
007454,000018: ## Mod history: 2019-07-27 MAS Created from Luminary 69.
007455,000019:
Page 168 |
007457,000021: 4000 SETLOC 4000
007458,000022:
007459,000023: 4000 COUNT* $$/RUPTS # FIX-FIX LEAD INS
007460,000024: 4000 00004 INHINT # GO
007461,000025: 4001 34054 CAF GOBB
007462,000026: 4002 56006 XCH BBANK
007463,000027: 4003 12667 TCF GOPROG
007464,000028:
007465,000029: 4004 52011 DXCH ARUPT # T6RUPT
007466,000030: 4005 00006 EXTEND
007467,000031: 4006 34056 DCA T6ADR
007468,000032: 4007 52006 DTCB
007469,000033:
007470,000034: 4010 52011 DXCH ARUPT # T5RUPT - AUTOPILOT
007471,000035: 4011 00006 EXTEND
007472,000036: 4012 31275 DCA T5ADR
007473,000037: 4013 52006 DTCB
007474,000038:
007475,000039: 4014 52011 DXCH ARUPT # T3RUPT
007476,000040: 4015 34057 CAF T3RPTBB
007477,000041: 4016 56006 XCH BBANK
007478,000042: 4017 13404 TCF T3RUPT
007479,000043:
007480,000044: 4020 52011 DXCH ARUPT # T4RUPT
007481,000045: 4021 34064 CAF T4RPTBB
007482,000046: 4022 56006 XCH BBANK
007483,000047: 4023 12000 TCF T4RUPT
007484,000048:
007485,000049: 4024 52011 DXCH ARUPT # KEYRUPT1
007486,000050: 4025 34060 CAF KEYRPTBB
007487,000051: 4026 56006 XCH BBANK
007488,000052: 4027 13215 TCF KEYRUPT1
007489,000053:
007490,000054: 4030 52011 DXCH ARUPT # KEYRUPT2
007491,000055: 4031 34061 CAF MKRUPTBB
007492,000056: 4032 56006 XCH BBANK
007493,000057: 4033 12332 TCF MARKRUPT
007494,000058:
007495,000059: 4034 52011 DXCH ARUPT # UPRUPT
007496,000060: 4035 34060 CAF UPRPTBB
007497,000061: 4036 56006 XCH BBANK
007498,000062: 4037 13240 TCF UPRUPT
007499,000063:
007500,000064: 4040 52011 DXCH ARUPT # DOWNRUPT
007501,000065: 4041 34062 CAF DWNRPTBB
007502,000066: 4042 56006 XCH BBANK
007503,000067: 4043 13430 TCF DODOWNTM
007504,000068:
007505,000069: 4044 52011 DXCH ARUPT # RADAR RUPT
007506,000070: 4045 34063 CAF RDRPTBB
007507,000071:
Page 169 |
007509,000073: 4046 56006 XCH BBANK
007510,000074: 4047 13150 TCF RADAREAD
007511,000075:
007512,000076: 4050 52011 DXCH ARUPT # RUPT10 IS USED ONLY BY LANDING GUIDANCE
007513,000077: 4051 34065 CA RUPT10BB
007514,000078: 4052 56006 XCH BBANK
007515,000079: 4053 12006 TCF PITFALL
007516,000080:
007517,000081:
007518,000082: 4054 E3,1400 EBANK= LST1 # RESTART USES E0, E3
007519,000083: 4054 12103 GOBB BBCON GOPROG
007520,000084:
007521,000085: 4055 E6,1462 EBANK= PERROR
007522,000086: 4055 02036 36106 T6ADR 2CADR DOT6RUPT
007523,000087:
007524,000088: 4057 E3,1400 EBANK= LST1
007525,000089: 4057 02103 T3RPTBB BBCON T3RUPT
007526,000090:
007527,000091: 4060 0073 EBANK= KEYTEMP1
007528,000092: 4060 10100 KEYRPTBB BBCON KEYRUPT1
007529,000093:
007530,000094: 4061 E7,1404 EBANK= AOTAZ
007531,000095: 4061 16107 MKRUPTBB BBCON MARKRUPT
007532,000096:
007533,000097: 4062 4060 UPRPTBB = KEYRPTBB
007534,000098:
007535,000099: 4062 0340 EBANK= DNTMBUFF
007536,000100: 4062 12100 DWNRPTBB BBCON DODOWNTM
007537,000101:
007538,000102: 4063 0110 EBANK= RADMODES
007539,000103: 4063 52100 RDRPTBB BBCON RADAREAD
007540,000104:
007541,000105: 4064 E6,1412 EBANK= M11
007542,000106: 4064 14106 T4RPTBB BBCON T4RUPT
007543,000107:
007544,000108: 4065 E7,1645 EBANK= ELVIRA
007545,000109: 4065 42107 RUPT10BB BBCON PITFALL
007546,000110:
007547,000111:
End of include-file INTERRUPT_LEAD_INS.agc. Parent file is MAIN.agc