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:
|
047183,000002: ## Copyright: Public domain.
047184,000003: ## Filename: INTERPRETIVE_CONSTANTS.agc
047185,000004: ## Purpose: A section of LUM69 revision 2.
047186,000005: ## It is part of the reconstructed source code for the flown
047187,000006: ## version of the flight software for the Lunar Module's (LM)
047188,000007: ## Apollo Guidance Computer (AGC) for Apollo 10. The code has
047189,000008: ## been recreated from a copy of Luminary revsion 069, using
047190,000009: ## changes present in Luminary 099 which were described in
047191,000010: ## Luminary memos 75 and 78. The code has been adapted such
047192,000011: ## that the resulting bugger words exactly match those specified
047193,000012: ## for LUM69 revision 2 in NASA drawing 2021152B, which gives
047194,000013: ## relatively high confidence that the reconstruction is correct.
047195,000014: ## Reference: pp. 1095-1096
047196,000015: ## Assembler: yaYUL
047197,000016: ## Contact: Ron Burkey <info@sandroid.org>.
047198,000017: ## Website: www.ibiblio.org/apollo/index.html
047199,000018: ## Mod history: 2019-07-27 MAS Created from Luminary 69.
047200,000019: ## 2021-05-30 ABS DFC-6 -> DEC-6, DFC-12 -> DEC-12
047201,000020:
Page 1095 |
047203,000022: 23,2000 SETLOC INTPRET1
047204,000023: 23,2000 BANK
047205,000024:
047206,000025: 23,2413 COUNT* $$/ICONS
047207,000026: 23,2413 10000 00000 DP1/4TH 2DEC .25
047208,000027:
047209,000028: 23,2415 00000 00000 UNITZ 2DEC 0 B-28
047210,000029:
047211,000030: 23,2417 00000 00000 UNITY 2DEC 0 B-28
047212,000031:
047213,000032: 23,2421 20000 00000 UNITX 2DEC .5
047214,000033:
047215,000034: 23,2423 00000 00000 ZEROVECS 2DEC 0 B-28
047216,000035:
047217,000036: 23,2425 00000 00000 2DEC 0 B-28
047218,000037:
047219,000038: 23,2427 00000 00000 2DEC 0 B-28
047220,000039:
047221,000040: 23,2431 23,2421 DPHALF = UNITX
047222,000041: 23,2431 37777 DPPOSMAX OCT 37777
047223,000042: 23,2432 37777 OCT 37777
047224,000043:
Page 1096 |
047226,000045: # INTERPRETIVE CONSTANTS IN THE OTHER HALF-MEMORY
047227,000046:
047228,000047: 11,2000 SETLOC INTPRET2
047229,000048: 11,2000 BANK
047230,000049:
047231,000050: 11,2266 COUNT* $$/ICONS
047232,000051: 11,2266 00000 00000 ZUNIT 2DEC 0 B-28
047233,000052:
047234,000053: 11,2270 00000 00000 YUNIT 2DEC 0 B-28
047235,000054:
047236,000055: 11,2272 20000 00000 XUNIT 2DEC .5
047237,000056:
047238,000057: 11,2274 00000 00000 ZEROVEC 2DEC 0 B-28
047239,000058:
047240,000059: 11,2276 00000 00000 2DEC 0 B-28
047241,000060:
047242,000061: 11,2300 00000 00000 2DEC 0 B-28
047243,000062:
047244,000063: 11,2302 77777 OCT 77777 # -0, -6, -12 MUST REMAIN IN THIS ORDER
047245,000064: 11,2303 77771 DEC-6 DEC -6 B-14
047246,000065: 11,2304 77763 DEC-12 DEC -12 B-14
047247,000066: 11,2305 37777 37777 LODPMAX 2OCT 3777737777 # THESE TWO CONSTANTS MUST REMAIN
047248,000067:
047249,000068: 11,2307 37777 37777 LODPMAX1 2OCT 3777737777 # ADJACENT AND THE SAME FOR INTEGRATION
047250,000069:
047251,000070: 11,2311 11,2274 ZERODP = ZEROVEC
047252,000071: 11,2311 11,2272 HALFDP = XUNIT
047253,000072:
047254,000073:
End of include-file INTERPRETIVE_CONSTANTS.agc. Parent file is MAIN.agc