Source Code
This is an attempt to recreate Luminary 99 Rev 2, otherwise known as LUM99R2, from Luminary 99 Rev 1 and ephemeris data from Luminary 116. The differences are confined to the last 10-12 lines of the CONTROLLED CONSTANTS. Luminary 99 Rev 1 source-code was transcribed from a printout in the MIT Museum, while Luminary 116 source code was transcribed from a printout belonging to Don Eyles. AGC developer James Kernan, the "rope mother" for the Apollo 11 Lunar Module's AGC, explains as follows: "At the last minute, Dan Lickly, our chief engineer, appeared with ephemerides updates and it took two tries to get it right. The result was that we created Lum99 Revision 1 and Lum99 Revision 2." It is suspected that the former is what's in the MIT Museum, and the latter is what we are trying to recreate here. As for which revision actually flew in Apollo 11, all of the other available surviving evidence points to Rev 1 rather than to Rev 2, so we're just not sure! |
035909,000002: ## Copyright: Public domain.
035910,000003: ## Filename: P12.agc
035911,000004: ## Purpose: Part of the source code for Luminary 1A build 099.
035912,000005: ## It is part of the source code for the Lunar Module's (LM)
035913,000006: ## Apollo Guidance Computer (AGC), for Apollo 11.
035914,000007: ## Assembler: yaYUL
035915,000008: ## Contact: Hartmuth Gutsche <hgutsche@xplornet.com>.
035916,000009: ## Website: www.ibiblio.org/apollo.
035917,000010: ## Pages: 838-842
035918,000011: ## Mod history: 2009-05-23 HG Transcribed from page images.
035919,000012: ## 2016-12-13 RSB GOTOP00H -> GOTOPOOH
035920,000013: ## 2016-12-17 RSB Proofed text comments with octopus/ProoferComments
035921,000014: ## and corrected the errors found.
035922,000015: ## 2017-01-28 RSB Back-ported a comment fix from Luminary 69.
035923,000016: ## 2017-03-03 RSB Snapshot of Luminary 99 Rev 1.
035924,000017: ## 2017-08-26 MAS Fixed a comment-text error found while transcribing
035925,000018: ## Zerlina 56.
035926,000019:
Page 838 |
035928,000021: 24,3670 BANK 24
035929,000022: 30,2000 SETLOC P12
035930,000023: 30,2000 BANK
035931,000024:
035932,000025: 30,2061 E7,1515 EBANK= DVCNTR
035933,000026: 30,2061 COUNT* $$/P12
035934,000027:
035935,000028: 30,2061 05353 P12LM TC PHASCHNG
035936,000029: 30,2062 04024 OCT 04024
035937,000030:
035938,000031: 30,2063 04616 TC BANKCALL
035939,000032: 30,2064 11254 CADR R02BOTH # CHECK THE STATUS OF THE IMU.
035940,000033:
035941,000034: 30,2065 05504 TC UPFLAG
035942,000035: 30,2066 00141 ADRES MUNFLAG
035943,000036:
035944,000037: 30,2067 05504 TC UPFLAG # INSURE 4-JET TRANSLATION CAPABILITY.
035945,000038: 30,2070 00307 ADRES ACC4-2FL
035946,000039:
035947,000040: 30,2071 05504 TC UPFLAG # PREVENT R10 FROM ISSUING CROSS-POINTER
035948,000041: 30,2072 00015 ADRES R10FLAG # OUTPUTS.
035949,000042:
035950,000043: 30,2073 06011 TC CLRADMOD # INITIALIZE RADMODES FOR R29.
035951,000044:
035952,000045: 30,2074 05516 TC DOWNFLAG # CLEAR RENDEZVOUS FLAG FOR P22
035953,000046: 30,2075 00010 ADRES RNDVZFLG
035954,000047:
035955,000048: 30,2076 36000 CAF THRESH2 # INITIALIZE DVMON
035956,000049: 30,2077 55251 TS DVTHRUSH
035957,000050: 30,2100 34751 CAF FOUR
035958,000051: 30,2101 55515 TS DVCNTR
035959,000052:
035960,000053: 30,2102 34755 CA ZERO
035961,000054: 30,2103 55462 TS TRKMKCNT # SHOW THAT R29 DOWNLINK DATA ISN'T READY.
035962,000055: 30,2104 33035 CAF V06N33A
035963,000056: 30,2105 04616 TC BANKCALL # FLASH TIG
035964,000057: 30,2106 20476 CADR GOFLASH
035965,000058: 30,2107 16001 TCF GOTOPOOH
035966,000059: 30,2110 12112 TCF +2 # PROCEED
035967,000060: 30,2111 12104 TCF -5 # ENTER
035968,000061:
035969,000062: 30,2112 05353 TC PHASCHNG
035970,000063: 30,2113 04024 OCT 04024
035971,000064:
035972,000065: 30,2114 06037 TC INTPRET
035973,000066: 30,2115 77624 CALL # INITIALIZE WM AND /LAND/
035974,000067: 30,2116 46432 GUIDINIT
035975,000068: 30,2117 45014 SET CALL
035976,000069: 30,2120 04464 FLPI
035977,000070: 30,2121 60254 P12INIT
Page 839 |
035979,000072: 30,2122 77745 P12LMB DLOAD
035980,000073: 30,2123 25761 (TGO)A # SET TGO TO AN INITIAL NOMINAL VALUE.
035981,000074: 30,2124 17517 STODL TGO
035982,000075: 30,2125 03442 TIG
035983,000076: 30,2126 34041 STCALL TDEC1
035984,000077: 30,2127 27057 LEMPREC # ROTATE THE STATE VECTORS TO THE
035985,000078: 30,2130 64375 VLOAD MXV # IGNITION TIME.
035986,000079: 30,2131 00007 VATT
035987,000080: 30,2132 01734 REFSMMAT
035988,000081: 30,2133 77772 VSL1
035989,000082: 30,2134 27601 STOVL V1S # COMPUTE V1S = VEL(TIG)*2(-7) M/CS.
035990,000083: 30,2135 00001 RATT
035991,000084: 30,2136 52521 MXV VSL6
035992,000085: 30,2137 01734 REFSMMAT
035993,000086: 30,2140 37521 STCALL R # COMPUTE R = POS(TIG)*2(-24) M.
035994,000087: 30,2141 67130 MUNGRAV # COMPUTE GDT1/2(TIG)*2(-7)M/CS.
035995,000088: 30,2142 53575 VLOAD UNIT
035996,000089: 30,2143 03521 R
035997,000090: 30,2144 37537 STCALL UNIT/R/ # COMPUTE UNIT/R/ FOR YCOMP.
035998,000091: 30,2145 57312 YCOMP
035999,000092: 30,2146 57461 SR DCOMP
036000,000093: 30,2147 20606 5D
036001,000094: 30,2150 17643 STODL XRANGE # INITIALIZE XRANGE FOR NOUN 76.
036002,000095: 30,2151 06456 VINJNOM
036003,000096: 30,2152 16277 STODL ZDOTD
036004,000097: 30,2153 06460 RDOTDNOM
036005,000098: 30,2154 02273 STORE RDOTD
036006,000099: 30,2155 77776 EXIT
036007,000100:
036008,000101: 30,2156 05353 TC PHASCHNG
036009,000102: 30,2157 04024 OCT 04024
036010,000103:
036011,000104: 30,2160 33034 NEWLOAD CAF V06N76 # FLASH CROSS-RANGE AND APOLUNE VALUES.
036012,000105: 30,2161 04616 TC BANKCALL
036013,000106: 30,2162 20476 CADR GOFLASH
036014,000107: 30,2163 16001 TCF GOTOPOOH
036015,000108: 30,2164 12166 TCF +2 # PROCEED
036016,000109: 30,2165 12160 TCF NEWLOAD # ENTER NEW DATA.
036017,000110:
036018,000111: 30,2166 32320 CAF P12ADRES
036019,000112: 30,2167 55455 TS WHICH
036020,000113:
036021,000114: 30,2170 05353 TC PHASCHNG
036022,000115: 30,2171 04024 OCT 04024
036023,000116:
036024,000117: 30,2172 06037 TC INTPRET
036025,000118: 30,2173 54345 DLOAD SL
036026,000119: 30,2174 03643 XRANGE
036027,000120: 30,2175 20206 5D
036028,000121: 30,2176 77615 DAD
Page 840 |
036030,000123: 30,2177 02335 Y
036031,000124: 30,2200 27633 STOVL YCO
036032,000125: 30,2201 03537 UNIT/R/
036033,000126: 30,2202 53361 VXSC VAD
036034,000127: 30,2203 06454 49FPS
036035,000128: 30,2204 03601 V1S
036036,000129: 30,2205 03527 STORE V # V(TIPOVER) = V(IGN) + 57FPS (UNIT/R/)
036037,000130: 30,2206 72441 DOT SL1
036038,000131: 30,2207 03537 UNIT/R/
036039,000132: 30,2210 27474 STOVL RDOT # RDOT * 2(-7)
036040,000133: 30,2211 03537 UNIT/R/
036041,000134: 30,2212 53435 VXV UNIT
036042,000135: 30,2213 03720 QAXIS
036043,000136: 30,2214 03726 STORE ZAXIS1
036044,000137: 30,2215 77614 SETGO
036045,000138: 30,2216 04421 FLVR
036046,000139: 30,2217 60321 ASCENT
036047,000140: 30,2220 77745 P12RET DLOAD
036048,000141: 30,2221 02361 ATP # ATP(2)*2(18)
036049,000142: 30,2222 65316 DSQ PDDL
036050,000143: 30,2223 02355 ATY # ATY(2)*2(18)
036051,000144: 30,2224 43316 DSQ DAD
036052,000145: 30,2225 75454 BZE SQRT
036053,000146: 30,2226 60232 YAWDUN
036054,000147: 30,2227 55352 SL1 BDDV
036055,000148: 30,2230 02355 ATY
036056,000149: 30,2231 77736 ARCSIN
036057,000150: 30,2232 26363 YAWDUN STOVL YAW
036058,000151: 30,2233 03254 UNFC/2
036059,000152: 30,2234 50256 UNIT DOT
036060,000153: 30,2235 03537 UNIT/R/
036061,000154: 30,2236 65552 SL1 ARCCOS
036062,000155: 30,2237 77676 DCOMP
036063,000156: 30,2240 02365 STORE PITCH
036064,000157: 30,2241 77776 EXIT
036065,000158: 30,2242 05353 TC PHASCHNG
036066,000159: 30,2243 04024 OCT 04024
036067,000160:
036068,000161: 30,2244 05516 TC DOWNFLAG
036069,000162: 30,2245 00213 ADRES FLPI
036070,000163:
036071,000164: 30,2246 00004 INHINT
036072,000165: 30,2247 04674 TC IBNKCALL
036073,000166: 30,2250 40142 CADR PFLITEDB
036074,000167: 30,2251 00003 RELINT
036075,000168:
036076,000169: 30,2252 04635 TC POSTJUMP
036077,000170: 30,2253 74126 CADR BURNBABY
036078,000171:
036079,000172: 30,2254 77745 P12INIT DLOAD # INITIALIZE ENGINE DATA. USED FOR P12 AND
Page 841 |
036081,000174: 30,2255 16013 (1/DV)A # P71.
036082,000175: 30,2256 03641 STORE 1/DV3
036083,000176: 30,2257 03637 STORE 1/DV2
036084,000177: 30,2260 17635 STODL 1/DV1
036085,000178: 30,2261 16017 (AT)A
036086,000179: 30,2262 16263 STODL AT
036087,000180: 30,2263 16021 (TBUP)A
036088,000181: 30,2264 16271 STODL TBUP
036089,000182: 30,2265 34013 ATDECAY
036090,000183: 30,2266 54276 DCOMP SL
036091,000184: 30,2267 20214 11D
036092,000185: 30,2270 02267 STORE TTO
036093,000186: 30,2271 57535 SLOAD DCOMP
036094,000187: 30,2272 26001 APSVEX
036095,000188: 30,2273 77702 SR2
036096,000189: 30,2274 02265 STORE VE
036097,000190: 30,2275 43414 BOFF RVQ
036098,000191: 30,2276 04747 FLAP
036099,000192: 30,2277 60300 COMMINIT
036100,000193: 30,2300 43345 COMMINIT DLOAD DAD # INITIALIZE TARGET DATA. USED BY P12, P70
036101,000194: 30,2301 25757 HINJECT # AND P71 IF IT DOES NOT FOLLOW P70.
036102,000195: 30,2302 02333 /LAND/
036103,000196: 30,2303 17631 STODL RCO
036104,000197: 30,2304 06522 HI6ZEROS
036105,000198: 30,2305 03654 STORE TXO
036106,000199: 30,2306 03633 STORE YCO
036107,000200: 30,2307 02273 STORE RDOTD
036108,000201: 30,2310 26275 STOVL YDOTD
036109,000202: 30,2311 01563 VRECTCSM
036110,000203: 30,2312 64235 VXV MXV
036111,000204: 30,2313 01555 RRECTCSM
036112,000205: 30,2314 01734 REFSMMAT
036113,000206: 30,2315 77656 UNIT
036114,000207: 30,2316 03720 STORE QAXIS
036115,000208: 30,2317 77616 RVQ
036116,000209: 30,2320 02022 P12ADRES REMADR P12TABLE
036117,000210:
036118,000211: 23,2000 SETLOC P12A
036119,000212: 23,2000 BANK
036120,000213: 23,2432 COUNT* $$/P12
036121,000214:
036122,000215: 23,2432 40220 GUIDINIT STQ SETPD
036123,000216: 23,2433 01164 TEMPR60
036124,000217: 23,2434 00001 0D
036125,000218: 23,2435 41575 VLOAD PUSH
036126,000219: 23,2436 06514 UNITZ
036127,000220: 23,2437 41434 RTB PUSH
036128,000221: 23,2440 21573 LOADTIME
036129,000222: 23,2441 77624 CALL
036130,000223: 23,2442 55716 RP-TO-R
Page 842 |
036132,000225: 23,2443 74321 MXV VXSC
036133,000226: 23,2444 01734 REFSMMAT
036134,000227: 23,2445 16027 MOONRATE
036135,000228: 23,2446 26325 STOVL WM
036136,000229: 23,2447 02023 RLS
036137,000230: 23,2450 52446 ABVAL SL3
036138,000231: 23,2451 36333 STCALL /LAND/
036139,000232: 23,2452 01164 TEMPR60
036140,000233:
036141,000234: 23,2453 00046 07374 49FPS 2DEC .149352 B-6 # EXPECTED RDOT AT TIPOVER
036142,000235: 23,2455 04145 15527 VINJNOM 2DEC 16.7924 B-7 # 5509.5 FPS(APO=30NM WITH RDOT=19.5FPS)
036143,000236: 23,2457 00007 23346 RDOTDNOM 2DEC .059436 B-7 # 19.5 FPS
036144,000237:
036145,000238:
End of include-file P12.agc. Parent file is MAIN.agc