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. |
036500,000002: ## Copyright: Public domain.
036501,000003: ## Filename: ASCENT_GUIDANCE.agc
036502,000004: ## Purpose: A section of Luminary revision 178.
036503,000005: ## It is part of the reconstructed source code for the final
036504,000006: ## release of the flight software for the Lunar Module's
036505,000007: ## (LM) Apollo Guidance Computer (AGC) for Apollo 14. The
036506,000008: ## code has been recreated from copies of Zerlina 56, Luminary
036507,000009: ## 210, and Luminary 131, as well as many Luminary memos.
036508,000010: ## It has been adapted such that the resulting bugger words
036509,000011: ## exactly match those specified for Luminary 178 in NASA
036510,000012: ## drawing 2021152N, which gives relatively high confidence
036511,000013: ## that the reconstruction is correct.
036512,000014: ## Reference: pp. 834-849
036513,000015: ## Assembler: yaYUL
036514,000016: ## Contact: Ron Burkey <info@sandroid.org>.
036515,000017: ## Website: www.ibiblio.org/apollo/index.html
036516,000018: ## Mod history: 2019-08-14 MAS Created from Zerlina 56.
036517,000019: ## 2019-09-14 MAS Updated for Luminary 178. Removed Zerlina-
036518,000020: ## specific things; restored ASCSAVE and 1/DV0
036519,000021: ## definitions; moved CHECKYAW and 40FPS back
036520,000022: ## to their original banks; moved ENGOFF through
036521,000023: ## CUTOFF1 back to bank 34; replaced noun 94
036522,000024: ## references with noun 63.
036523,000025:
Page 834 |
036525,000027: 34,3375 BANK 34
036526,000028: 34,2000 SETLOC ASCFILT
036527,000029: 34,2000 BANK
036528,000030:
036529,000031: 34,3375 E7,1515 EBANK= DVCNTR
036530,000032:
036531,000033: 34,3375 COUNT* $$/ASENT
036532,000034:
036533,000035: 34,3375 05364 ATMAG TC PHASCHNG
036534,000036: 34,3376 00035 OCT 00035
036535,000037: 34,3377 06042 TC INTPRET
036536,000038: 34,3400 77614 BON
036537,000039: 34,3401 04705 FLRCS
036538,000040: 34,3402 60306 ASCENT
036539,000041: 34,3403 45345 DLOAD DSU
036540,000042: 34,3404 03514 ABDVCONV
036541,000043: 34,3405 26116 MINABDV
036542,000044: 34,3406 43040 BMN CLEAR
036543,000045: 34,3407 60747 ASCTERM4
036544,000046: 34,3410 04267 SURFFLAG
036545,000047: 34,3411 67214 CLEAR SLOAD
036546,000048: 34,3412 02676 RENDWFLG
036547,000049: 34,3413 31451 BIT3H
036548,000050: 34,3414 77471 DDV EXIT
036549,000051: 34,3415 03514 ABDVCONV
036550,000052: 34,3416 52155 DXCH MPAC
036551,000053: 34,3417 53641 DXCH 1/DV3
036552,000054: 34,3420 53637 DXCH 1/DV2
036553,000055: 34,3421 53635 DXCH 1/DV1
036554,000056: 34,3422 53571 DXCH 1/DV0
036555,000057: 34,3423 06042 TC INTPRET
036556,000058: 34,3424 43345 DLOAD DAD
036557,000059: 34,3425 03571 1/DV0
036558,000060: 34,3426 03635 1/DV1
036559,000061: 34,3427 43215 DAD DAD
036560,000062: 34,3430 03637 1/DV2
036561,000063: 34,3431 03641 1/DV3
036562,000064: 34,3432 41205 DMP DMP
036563,000065: 34,3433 02265 VE
036564,000066: 34,3434 21010 2SEC(9)
036565,000067: 34,3435 65252 SL3 PDDL
036566,000068: 34,3436 02271 TBUP
036567,000069: 34,3437 43342 SR1 DAD
Page 835 |
036569,000071: 34,3440 77625 DSU
036570,000072: 34,3441 21005 6SEC(18)
036571,000073: 34,3442 16271 STODL TBUP
036572,000074: 34,3443 02265 VE
036573,000075: 34,3444 56342 SR1 DDV
036574,000076: 34,3445 02271 TBUP
036575,000077: 34,3446 36263 STCALL AT
036576,000078: 34,3447 60306 ASCENT
036577,000079:
036578,000080: 34,3450 00004 BIT3H OCT 4
036579,000081:
Page 836 |
036581,000083: 30,2306 BANK 30
036582,000084: 30,2000 SETLOC ASENT
036583,000085: 30,2000 BANK
036584,000086: 30,2306 COUNT* $$/ASENT
036585,000087:
036586,000088:
036587,000089: 30,2306 51575 ASCENT VLOAD ABVAL
036588,000090: 30,2307 03521 R
036589,000091: 30,2310 26301 STOVL /R/MAG
036590,000092: 30,2311 03537 UNIT/R/
036591,000093: 30,2312 53435 VXV UNIT
036592,000094: 30,2313 02600 QAXIS
036593,000095: 30,2314 02606 STORE ZAXIS1
036594,000096: 30,2315 72441 DOT SL1
036595,000097: 30,2316 03527 V # Z.V = ZDOT*2(-8).
036596,000098: 30,2317 26313 STOVL ZDOT # ZDOT*2(-7)
036597,000099: 30,2320 02606 ZAXIS1
036598,000100: 30,2321 76435 VXV VSL1
036599,000101: 30,2322 03537 UNIT/R/ # Z X UR = LAXIS*2(-2)
036600,000102: 30,2323 02303 STORE LAXIS # LAXIS*2(-1)
036601,000103: 30,2324 72441 DOT SL1
036602,000104: 30,2325 03527 V # L.V = YDOT*2(-8).
036603,000105: 30,2326 36311 STCALL YDOT # YDOT * 2(-7)
036604,000106: 30,2327 57313 YCOMP
036605,000107: 30,2330 77775 VLOAD
036606,000108: 30,2331 03563 GDT1/2 # LOAD GDT1/2*2(-7)M/CS.
036607,000109: 30,2332 50341 V/SC DOT
036608,000110: 30,2333 27044 2SEC(18)
036609,000111: 30,2334 03537 UNIT/R/ # G.UR*2(9) = GR*2(9).
036610,000112: 30,2335 47315 PDVL VXV # STORE IN PDL(0) (2)
036611,000113: 30,2336 03537 UNIT/R/ # LOAD UNIT/R/*2(-1).
036612,000114: 30,2337 03527 V # UR*2(-1) X V*2(-7) = H/R*2(-8).
036613,000115: 30,2340 56236 VSQ DDV # H(2)/R(2)*2(-16).
036614,000116: 30,2341 02301 /R/MAG # H(2)/R(3)*2(9).
036615,000117: 30,2342 43352 SL1 DAD
036616,000118: 30,2343 77626 STADR
036617,000119: 30,2344 75462 STORE GEFF # GEFF*2(10)M/CS/CS
036618,000120: 30,2345 45014 BOFF CALL # IF P7071FLG = 1 (I.E. P70 OR P71)
036619,000121: 30,2346 04742 P7071FLG # CALL ZDOTDCMP TO UPDATE ZDOTD
036620,000122: 30,2347 60351 +2 # ON THE BASIS OF THE LAST RP.
036621,000123: 30,2350 71527 ZDOTDCMP
036622,000124: 30,2351 45345 +2 DLOAD DSU
036623,000125: 30,2352 02277 ZDOTD
036624,000126: 30,2353 02313 ZDOT
036625,000127: 30,2354 02343 STORE DZDOT # DZDOT = (ZDOTD - ZDOT)*2(7)M/CS.
036626,000128: 30,2355 65361 VXSC PDDL
036627,000129: 30,2356 02606 ZAXIS1
036628,000130: 30,2357 02275 YDOTD
Page 837 |
036630,000132: 30,2360 77625 DSU
036631,000133: 30,2361 02311 YDOT
036632,000134: 30,2362 02341 STORE DYDOT # DYDOT = (YDOTD - YDOT)*2(7)M/CS.
036633,000135: 30,2363 65361 VXSC PDDL
036634,000136: 30,2364 02303 LAXIS
036635,000137: 30,2365 02273 RDOTD
036636,000138: 30,2366 77625 DSU
036637,000139: 30,2367 03474 RDOT
036638,000140: 30,2370 02337 STORE DRDOT # DRDOT = (RDOTD - RDOT)*2(7)M/CS.
036639,000141: 30,2371 53361 VXSC VAD
036640,000142: 30,2372 03537 UNIT/R/
036641,000143: 30,2373 76455 VAD VSL1
036642,000144: 30,2374 77626 STADR
036643,000145: 30,2375 74131 STORE VGVECT # VG = (DRDOT)R + (DYDOT)L + (DZDOT)Z.
036644,000146: 30,2376 41345 DLOAD DMP # LOAD TGO
036645,000147: 30,2377 03517 TGO # TGO GEFF
036646,000148: 30,2400 02315 GEFF
036647,000149: 30,2401 76561 VXSC VSL1
036648,000150: 30,2402 03537 UNIT/R/ # TGO GEFF UR
036649,000151: 30,2403 77645 BVSU
036650,000152: 30,2404 03646 VGVECT # COMPENSATED FOR GEFF
036651,000153: 30,2405 03646 STORE VGVECT # STORE FOR DOWNLINK
036652,000154: 30,2406 76521 MXV VSL1 # GET VGBODY FOR N85 DISPLAY
036653,000155: 30,2407 02146 XNBPIP
036654,000156: 30,2410 27502 STOVL VGBODY
036655,000157: 30,2411 03646 VGVECT
036656,000158: 30,2412 43046 ABVAL BOFF # MAGNITUDE OF VGVECT
036657,000159: 30,2413 04745 FLRCS # IF FLRCS=0,DO NORMAL GUIDANCE
036658,000160: 30,2414 60423 MAINENG
036659,000161: 30,2415 77671 DDV # USE TGO=VG/AT WITH RCS
036660,000162: 30,2416 20001 AT/RCS
036661,000163: 30,2417 37517 STCALL TGO # THIS WILL BE USED ON NEXT CYCLE
036662,000164: 30,2420 71500 RPCOMP1 # COMPUTE NEW RP FOR NEXT CYCLE.
036663,000165: 30,2421 77650 GOTO
036664,000166: 30,2422 60745 ASCTERM2
036665,000167: 30,2423 41471 MAINENG DDV PUSH # VG/VE IN PDL(0) (2)
036666,000168: 30,2424 02265 VE
036667,000169: 30,2425 44342 SR1 BDSU # 1 - VG / 2 VE
036668,000170: 30,2426 17772 NEARONE
036669,000171: 30,2427 41205 DMP DMP # TBUP VG(1-KT VG/VE)/VE (0)
036670,000172: 30,2430 02271 TBUP # = TGO
036671,000173: 30,2431 77625 DSU # COMPENSATE FOR TAILOFF
036672,000174: 30,2432 02267 TTO
036673,000175: 30,2433 03517 STORE TGO
036674,000176: 30,2434 57461 SR DCOMP
036675,000177: 30,2435 20614 11D
036676,000178: 30,2436 17454 STODL TTOGO # TGO*2(-28)CS
036677,000179: 30,2437 03517 TGO
036678,000180: 30,2440 45214 BON DSU
036679,000181: 30,2441 03710 IDLEFLAG
Page 838 |
036681,000183: 30,2442 60446 T2TEST
036682,000184: 30,2443 20777 4SEC(17) # ( TGO - 4 )*2(-17)CS.
036683,000185: 30,2444 77640 BMN
036684,000186: 30,2445 30347 ENGOFF
036685,000187: 30,2446 77745 T2TEST DLOAD
036686,000188: 30,2447 03517 TGO
036687,000189: 30,2450 50025 DSU BMN # IF TGO - T2 NEG., GO TO CMPONENT
036688,000190: 30,2451 21001 T2A
036689,000191: 30,2452 60606 CMPONENT
036690,000192: 30,2453 45345 DLOAD DSU
036691,000193: 30,2454 02271 TBUP
036692,000194: 30,2455 03517 TGO
036693,000195: 30,2456 45071 DDV CALL # 1-TGO/TBUP
036694,000196: 30,2457 02271 TBUP
036695,000197: 30,2460 61014 LOGSUB
036696,000198: 30,2461 41461 SL PUSH # -L IN PDL(0) (2)
036697,000199: 30,2462 20206 5
036698,000200: 30,2463 44265 BDDV BDSU # -TGO/L*2(-17)
036699,000201: 30,2464 03517 TGO
036700,000202: 30,2465 02271 TBUP # TBUP + TGO/L = D12*2(-17)
036701,000203: 30,2466 43006 PUSH BON # STORE IN PDL(2) (4)
036702,000204: 30,2467 04703 FLPC # IF FLPC = 1, GO TO CONST
036703,000205: 30,2470 60477 NORATES
036704,000206: 30,2471 45345 DLOAD DSU
036705,000207: 30,2472 03517 TGO
036706,000208: 30,2473 21003 T3
036707,000209: 30,2474 43044 BPL SET # FLPC=1
036708,000210: 30,2475 60504 RATES
036709,000211: 30,2476 04463 FLPC
036710,000212: 30,2477 77745 NORATES DLOAD
036711,000213: 30,2500 06470 HI6ZEROS
036712,000214: 30,2501 02351 STORE PRATE # B = 0
036713,000215: 30,2502 36353 STCALL YRATE # D = 0
036714,000216: 30,2503 60566 CONST # GO TO CONST
036715,000217: 30,2504 45345 RATES DLOAD DSU
036716,000218: 30,2505 03517 TGO
036717,000219: 30,2506 00003 02D # TGO - D12 = D21*2(-17)
036718,000220: 30,2507 72406 PUSH SL1 # IN PDL(4) (6)
036719,000221: 30,2510 52421 BDSU SL3 # (1/2TGO - D21)*2(-13) = E * 2(-13)
036720,000222: 30,2511 03517 TGO # (8)
036721,000223: 30,2512 41325 PDDL DMP # IN PDL(6)
036722,000224: 30,2513 03517 TGO
036723,000225: 30,2514 03474 RDOT # RDOT TGO * 2(-24)
036724,000226: 30,2515 45215 DAD DSU # R + RDOT TGO
036725,000227: 30,2516 02301 /R/MAG # R + RDOT TGO - RCO
036726,000228: 30,2517 03631 RCO # MPAC = - DR*2(-24).
036727,000229: 30,2520 41325 PDDL DMP # -DR IN PDL(8) (10)
036728,000230: 30,2521 02337 DRDOT
036729,000231: 30,2522 00005 04D # D21 DRDOT*2(-24)
036730,000232: 30,2523 62415 DAD SL2 # (D21 DRDOT-DR)*2(-22) (8)
Page 839 |
036732,000234: 30,2524 56271 DDV DDV
036733,000235: 30,2525 00007 06D # (D21 DRDOT-DR)/E*2(-9)
036734,000236: 30,2526 03517 TGO
036735,000237: 30,2527 02351 STORE PRATE # B * 2(8)
036736,000238: 30,2530 71240 BMN DLOAD # B>0 NOT PERMITTED
036737,000239: 30,2531 60535 CHKBMAG
036738,000240: 30,2532 06470 HI6ZEROS
036739,000241: 30,2533 36351 STCALL PRATE
036740,000242: 30,2534 60547 PROK
036741,000243: 30,2535 56202 CHKBMAG SR4 DDV # B*2(4)
036742,000244: 30,2536 02271 TBUP # (B / TAU) * 2(21)
036743,000245: 30,2537 51025 DSU BPL
036744,000246: 30,2540 26114 PRLIMIT # ( B/ TAU) * 2(21) MAX.
036745,000247: 30,2541 60547 PROK
036746,000248: 30,2542 41345 DLOAD DMP
036747,000249: 30,2543 26114 PRLIMIT
036748,000250: 30,2544 02271 TBUP # B MAX. * 2(4)
036749,000251: 30,2545 77612 SL4 # BMAX*2(8)
036750,000252: 30,2546 02351 STORE PRATE
036751,000253: 30,2547 77745 PROK DLOAD
036752,000254: 30,2550 03517 TGO
036753,000255: 30,2551 43205 DMP DAD # YDOT TGO
036754,000256: 30,2552 02311 YDOT
036755,000257: 30,2553 02335 Y # Y + YDOT TGO
036756,000258: 30,2554 65225 DSU PDDL # Y + YDOT TGO - YCO
036757,000259: 30,2555 03633 YCO # MPAC = - DY*2(-24.) IN PDL(8) (10)
036758,000260: 30,2556 02341 DYDOT
036759,000261: 30,2557 43205 DMP DAD # D21 DYDOT - DY (8)
036760,000262: 30,2560 00005 04D
036761,000263: 30,2561 56312 SL2 DDV # (D21 DYDOT - DY)/E*2(-9)
036762,000264: 30,2562 40271 DDV SETPD # (D21 DYDOT - DY)/E TGO*2(8)
036763,000265: 30,2563 03517 TGO # = D*2(8)
036764,000266: 30,2564 00005 04
036765,000267: 30,2565 02353 STORE YRATE
036766,000268: 30,2566 41345 CONST DLOAD DMP # LOAD B*2(8)
036767,000269: 30,2567 02351 PRATE # B D12*2(-9)
036768,000270: 30,2570 00003 02D
036769,000271: 30,2571 56325 PDDL DDV # D12 B IN PDL(4) (6)
036770,000272: 30,2572 02337 DRDOT # LOAD DRDOT*2(-7)
036771,000273: 30,2573 00001 00D # -DRDOT/L*2(-7)
036772,000274: 30,2574 45302 SR2 DSU # (-DRDOT/L-D12 B)=A*2(-9) (4)
036773,000275: 30,2575 77626 STADR
036774,000276: 30,2576 61432 STODL PCONS
036775,000277: 30,2577 02353 YRATE # D*2(8)
036776,000278: 30,2600 65205 DMP PDDL # D12 D,EXCH WITH -L IN PDL(0) (2,2)
036777,000279: 30,2601 60465 BDDV SR2 # -DYDOT/L*2(-9)
036778,000280: 30,2602 02341 DYDOT
036779,000281: 30,2603 77625 DSU # (-DYDOT/L-D12 D)=C*2(-9)
036780,000282: 30,2604 00001 00D
036781,000283: 30,2605 02347 STORE YCONS
Page 840 |
036783,000285: 30,2606 43001 CMPONENT SETPD BOFF
036784,000286: 30,2607 00001 00D
036785,000287: 30,2610 04742 P7071FLG
036786,000288: 30,2611 60614 +3 # IF P7071FLG = 1 (I.E. P70 OR P71)
036787,000289: 30,2612 77624 CALL # COMPUTE NEW RP FOR NEXT CYCLE.
036788,000290: 30,2613 71504 RPCOMP2
036789,000291: 30,2614 41345 +3 DLOAD DMP
036790,000292: 30,2615 27044 100CS
036791,000293: 30,2616 02351 PRATE # B(T-T0)*2(-9)
036792,000294: 30,2617 56215 DAD DDV # (A+B(T-T0))*2(-9)
036793,000295: 30,2620 02345 PCONS # (A+B(T-T0))/TBUP*2(8)
036794,000296: 30,2621 02271 TBUP
036795,000297: 30,2622 45352 SL1 DSU
036796,000298: 30,2623 02315 GEFF # ATR*2(9)
036797,000299: 30,2624 16357 STODL ATR
036798,000300: 30,2625 27044 100CS
036799,000301: 30,2626 43205 DMP DAD
036800,000302: 30,2627 02353 YRATE
036801,000303: 30,2630 02347 YCONS # (C+D(T-T0))*2(-9)
036802,000304: 30,2631 72471 DDV SL1
036803,000305: 30,2632 02271 TBUP
036804,000306: 30,2633 02355 STORE ATY # ATY*2(9)
036805,000307: 30,2634 65361 VXSC PDDL # ATY UY*2(8) (6)
036806,000308: 30,2635 02303 LAXIS
036807,000309: 30,2636 02357 ATR
036808,000310: 30,2637 53361 VXSC VAD # (0)
036809,000311: 30,2640 03537 UNIT/R/
036810,000312: 30,2641 41572 VSL1 PUSH # AH*2(9) IN PDL(0) (6)
036811,000313: 30,2642 65246 ABVAL PDDL # AH(2) IN PDL(34)
036812,000314: 30,2643 02263 AT # AHMAG IN PDL(6) (8)
036813,000315: 30,2644 45316 DSQ DSU # (AT(2)-AH(2))*2(18)
036814,000316: 30,2645 00043 34D # =ATP2*2(18)
036815,000317: 30,2646 41525 PDDL PUSH # (12)
036816,000318: 30,2647 02263 AT
036817,000319: 30,2650 45316 DSQ DSU # (AT(2)KR(2)-AH(2))*2(18) (10)
036818,000320: 30,2651 00043 34D # =ATP3*2(18)
036819,000321: 30,2652 71240 BMN DLOAD # IF ATP3 NEG,GO TO NO-ATP
036820,000322: 30,2653 60657 NO-ATP # LOAD ATP2,IF ATP3 POS
036821,000323: 30,2654 00011 8D
036822,000324: 30,2655 52166 SQRT GOTO # ATP*2(9)
036823,000325: 30,2656 60665 AIMER
036824,000326: 30,2657 55345 NO-ATP DLOAD BDDV # KR AT/AH = KH (8)
036825,000327: 30,2660 00007 6D
036826,000328: 30,2661 77761 VXSC # KH AH*2(9)
036827,000329: 30,2662 00001 00D
036828,000330: 30,2663 14001 STODL 00D # STORE NEW AH IN PDL(0)
036829,000331: 30,2664 06470 HI6ZEROS
036830,000332: 30,2665 77765 AIMER SIGN
036831,000333: 30,2666 02343 DZDOT
036832,000334: 30,2667 02361 STORE ATP
Page 841 |
036834,000336: 30,2670 77761 VXSC
036835,000337: 30,2671 02606 ZAXIS1 # ATP ZAXIS *2(8).
036836,000338: 30,2672 53372 VSL1 VAD # AT*2(9)
036837,000339: 30,2673 00001 00D
036838,000340: 30,2674 03253 STORE UNFC/2 # WILL BE OVERWRITTEN IF IN VERT. RISE.
036839,000341: 30,2675 43001 SETPD BON
036840,000342: 30,2676 00001 00D
036841,000343: 30,2677 04704 FLPI
036842,000344: 30,2700 60207 P12RET
036843,000345: 30,2701 77614 BON
036844,000346: 30,2702 04701 FLVR
036845,000347: 30,2703 60754 CHECKALT
036846,000348: 30,2704 57575 MAINLINE VLOAD VCOMP
036847,000349: 30,2705 03537 UNIT/R/
036848,000350: 30,2706 17261 STODL UNWC/2
036849,000351: 30,2707 03654 TXO
036850,000352: 30,2710 51025 DSU BPL
036851,000353: 30,2711 01234 PIPTIME
036852,000354: 30,2712 60720 ASCTERM
036853,000355: 30,2713 77614 BON
036854,000356: 30,2714 04711 ROTFLAG
036855,000357: 30,2715 57273 ANG1CHEK
036856,000358: 30,2716 77614 CLRXFLAG CLEAR
036857,000359: 30,2717 06666 XOVINFLG # (XOVINFLG)
036858,000360: 30,2720 77776 ASCTERM EXIT
036859,000361: 30,2721 30105 CA FLAGWRD9
036860,000362: 30,2722 74742 MASK FLRCSBIT
036861,000363: 30,2723 10000 CCS A
036862,000364: 30,2724 12746 TCF ASCTERM3
036863,000365: 30,2725 06042 TC INTPRET
036864,000366: 30,2726 77624 CALL
036865,000367: 30,2727 61071 FINDCDUW -2
036866,000368: 30,2730 77776 ASCTERM1 EXIT
036867,000369: 30,2731 30105 +1 CA FLAGWRD9 # INSURE THAT THE NOUN 63 DISPLAY IS
036868,000370: 30,2732 74742 MASK FLRCSBIT # BYPASSED IF WE ARE IN THE RCS TRIMMING
036869,000371: 30,2733 10000 CCS A # MODE OF OPERATION
036870,000372: 30,2734 12746 TCF ASCTERM3
036871,000373: 30,2735 30104 CA FLAGWRD8 # BYPASS DISPLAYS IF ENGINE FAILURE IS
036872,000374: 30,2736 74742 MASK FLUNDBIT # INDICATED.
036873,000375: 30,2737 10000 CCS A
036874,000376: 30,2740 12746 TCF ASCTERM3
036875,000377: 30,2741 05165 TC VACRLEAS
036876,000378: 30,2742 33011 CAF V06N63*
036877,000379: 30,2743 04616 TC BANKCALL
036878,000380: 30,2744 20444 CADR GODSP
036879,000381: 30,2745 77776 ASCTERM2 EXIT
036880,000382: 30,2746 15155 ASCTERM3 TCF ENDOFJOB
036881,000383: 30,2747 77776 ASCTERM4 EXIT
036882,000384: 30,2750 00004 INHINT
036883,000385: 30,2751 04674 TC IBNKCALL # NO GUIDANCE THIS CYCLE -- HENCE ZERO
036884,000386: 30,2752 40166 CADR STOPRATE # THE DAP COMMANDED RATES.
036885,000387: 30,2753 12731 TCF ASCTERM1 +1
036886,000388:
036887,000389: 30,2754 45345 CHECKALT DLOAD DSU
036888,000390: 30,2755 02301 /R/MAG
036889,000391: 30,2756 02333 /LAND/
036890,000392: 30,2757 50025 DSU BMN # IF H LT 25K CHECK Z AXIS ORIENTATION.
036891,000393: 30,2760 26120 25KFT
036892,000394: 30,2761 16661 CHECKYAW
036893,000395: 30,2762 43014 EXITVR CLEAR BON
036894,000396: 30,2763 04661 FLVR
036895,000397: 30,2764 04711 ROTFLAG
036896,000398: 30,2765 60704 MAINLINE
036897,000399: 30,2766 43345 DLOAD DAD
036898,000400: 30,2767 01234 PIPTIME
036899,000401: 30,2770 25633 10SECS
036900,000402: 30,2771 37654 STCALL TXO
036901,000403: 30,2772 60704 MAINLINE
036902,000404: 30,2773 77614 EXITVR1 CLRGO
036903,000405: 30,2774 04631 ROTFLAG
036904,000406: 30,2775 60762 EXITVR
036905,000407:
036906,000408: 27,2000 SETLOC ASENT1
036907,000409: 27,2000 BANK
036908,000410: 27,3273 COUNT* $$/ASENT
036909,000411:
036910,000412: 27,3273 53575 ANG1CHEK VLOAD UNIT
036911,000413: 27,3274 03253 UNFC/2
036912,000414: 27,3275 77641 DOT
036913,000415: 27,3276 02146 XNBPIP
036914,000416: 27,3277 51025 DSU BPL
036915,000417: 27,3300 02566 COSTHET1
036916,000418: 27,3301 57310 OFFROT
036917,000419: 27,3302 50375 VLOAD DOT
036918,000420: 27,3303 02146 XNBPIP
036919,000421: 27,3304 03537 UNIT/R/
036920,000422: 27,3305 50025 DSU BMN
036921,000423: 27,3306 02570 COSTHET2
036922,000424: 27,3307 71453 KEEPVR1
036923,000425: 27,3310 77614 OFFROT CLRGO
036924,000426: 27,3311 04631 ROTFLAG
036925,000427: 27,3312 60716 CLRXFLAG
036926,000428:
036927,000429: 07,2661 BANK 7
036928,000430: 07,2000 SETLOC ASENT2
036929,000431: 07,2000 BANK
036930,000432: 07,2661 COUNT* $$/ASENT
036931,000433:
Page 843 |
036933,000435: 07,2661 07,2661 SETXFLAG = CHECKYAW
036934,000436:
036935,000437: 07,2661 77614 CHECKYAW SET
036936,000438: 07,2662 06466 XOVINFLG # PROHIBIT X-AXIS OVERRIDE
036937,000439: 07,2663 74345 DLOAD VXSC
036938,000440: 07,2664 02355 ATY
036939,000441: 07,2665 02303 LAXIS
036940,000442: 07,2666 74325 PDDL VXSC
036941,000443: 07,2667 02361 ATP
036942,000444: 07,2670 02606 ZAXIS1
036943,000445: 07,2671 53455 VAD UNIT
036944,000446: 07,2672 45325 PDDL DSU
036945,000447: 07,2673 03474 RDOT
036946,000448: 07,2674 13507 40FPS
036947,000449: 07,2675 52044 BPL GOTO
036948,000450: 07,2676 60773 EXITVR1
036949,000451: 07,2677 71451 KEEPVR
036950,000452:
036951,000453: 05,3506 BANK 5
036952,000454: 05,2000 SETLOC ASENT3
036953,000455: 05,2000 BANK
036954,000456: 05,3506 COUNT* $$/ASENT
036955,000457:
036956,000458: 05,3506 00017 23305 40FPS 2DEC 0.12192 B-7
036957,000459:
036958,000460: 34,3451 BANK 34
036959,000461: 34,2000 SETLOC ASENT8
036960,000462: 34,2000 BANK
036961,000463: 34,3451 COUNT* $$/ASENT
036962,000464:
036963,000465: 34,3451 45575 KEEPVR VLOAD STADR # RECALL LOSVEC FROM PUSHLIST
036964,000466: 34,3452 74516 STORE UNWC/2
036965,000467: 34,3453 77775 KEEPVR1 VLOAD
036966,000468: 34,3454 03537 UNIT/R/
036967,000469: 34,3455 37253 STCALL UNFC/2
036968,000470: 34,3456 60720 ASCTERM
036969,000471:
036970,000472:
036971,000473: 14,2347 BANK 14
036972,000474: 14,2000 SETLOC ASENT4
036973,000475: 14,2000 BANK
036974,000476: 14,2347 COUNT* $$/ASENT
036975,000477:
036976,000478: 14,2347 77634 ENGOFF RTB
036977,000479: 14,2350 21574 LOADTIME
036978,000480: 14,2351 43225 DSU DAD
036979,000481: 14,2352 01234 PIPTIME
036980,000482: 14,2353 03454 TTOGO
036981,000483: 14,2354 77476 DCOMP EXIT
036982,000484: 14,2355 07262 TC TPAGREE # FORCE SIGN AGREEMENT ON MPAC, MPAC +1.
036983,000485: 14,2356 35016 CAF EBANK7
036984,000486: 14,2357 54003 TS EBANK
036985,000487: 14,2360 E7,1516 EBANK= TGO
036986,000488: 14,2360 00004 INHINT
036987,000489: 14,2361 10155 CCS MPAC +1
Page 844 |
036989,000491: 14,2362 12365 TCF +3 # C(A) = DT - 1 BIT
036990,000492: 14,2363 12365 TCF +2 # C(A) = 0
036991,000493: 14,2364 34755 CAF ZERO # C(A) = 0
036992,000494: 14,2365 64753 AD BIT1 # C(A) = 1 BIT OR DT.
036993,000495: 14,2366 55644 TS ENGOFFDT
036994,000496: 14,2367 05204 TC TWIDDLE
036995,000497: 14,2370 02402 ADRES ENGOFF1
036996,000498: 14,2371 05364 TC PHASCHNG
036997,000499: 14,2372 47014 OCT 47014
036998,000500: 14,2373 76133 -GENADR ENGOFFDT
036999,000501: 14,2374 E7,1516 EBANK= TGO
037000,000502: 14,2374 02402 30067 2CADR ENGOFF1
037001,000503:
037002,000504: 14,2376 06042 TC INTPRET
037003,000505: 14,2377 52014 SET GOTO
037004,000506: 14,2400 03470 IDLEFLAG # DISABLE DELTA-V MONITOR
037005,000507: 14,2401 60446 T2TEST
037006,000508:
037007,000509: 14,2402 04674 ENGOFF1 TC IBNKCALL # SHUT OFF THE ENGINE.
037008,000510: 14,2403 75552 CADR ENGINOF2
037009,000511:
037010,000512: 14,2404 35027 CAF PRIO17 # SET UP A JOB FOR THE ASCENT GUIDANCE
037011,000513: 14,2405 05072 TC NOVAC
037012,000514: 14,2406 E7,1455 EBANK= WHICH
037013,000515: 14,2406 02416 30067 2CADR CUTOFF
037014,000516:
037015,000517: 14,2410 05364 TC PHASCHNG
037016,000518: 14,2411 07024 OCT 07024
037017,000519: 14,2412 17000 OCT 17000
037018,000520: 14,2413 E7,1516 EBANK= TGO
037019,000521: 14,2413 02416 30067 2CADR CUTOFF
037020,000522:
037021,000523: 14,2415 15272 TCF TASKOVER
037022,000524:
037023,000525: 14,2416 05515 CUTOFF TC UPFLAG # SET FLRCS FLAG.
037024,000526: 14,2417 00214 ADRES FLRCS
037025,000527:
037026,000528: 14,2420 32437 -5 CAF V16N63
037027,000529: 14,2421 04616 TC BANKCALL
037028,000530: 14,2422 20477 CADR GOFLASH
037029,000531: 14,2423 12426 TCF +3
037030,000532: 14,2424 12430 TCF CUTOFF1
037031,000533: 14,2425 12420 TCF -5
037032,000534:
037033,000535: 14,2426 04635 +3 TC POSTJUMP
037034,000536: 14,2427 71467 CADR TERMASC
037035,000537:
037036,000538: 14,2430 00004 CUTOFF1 INHINT
037037,000539: 14,2431 04674 TC IBNKCALL # ZERO ATTITUDE ERRORS BEFORE REDUCING DB.
037038,000540: 14,2432 40154 CADR ZATTEROR
Page 845 |
037040,000542: 14,2433 04674 TC IBNKCALL
037041,000543: 14,2434 40141 CADR SETMINDB
037042,000544: 14,2435 04635 TC POSTJUMP
037043,000545: 14,2436 71457 CADR CUTOFF2
037044,000546:
037045,000547: 14,2437 04077 V16N63 VN 1663
037046,000548: 34,3457 BANK 34
037047,000549: 34,2000 SETLOC ASENT8
037048,000550: 34,2000 BANK
037049,000551: 34,3457 COUNT* $$/ASENT
037050,000552:
037051,000553: 34,3457 05364 CUTOFF2 TC PHASCHNG
037052,000554: 34,3460 04024 OCT 04024
037053,000555:
037054,000556: 34,3461 33477 CAF V16N85C
037055,000557: 34,3462 04616 TC BANKCALL
037056,000558: 34,3463 20477 CADR GOFLASH
037057,000559: 34,3464 13467 TCF TERMASC
037058,000560: 34,3465 13467 TCF +2 # PROCEED
037059,000561: 34,3466 13457 TCF CUTOFF2
037060,000562:
037061,000563: 34,3467 05364 TERMASC TC PHASCHNG
037062,000564: 34,3470 04024 OCT 04024
037063,000565:
037064,000566: 34,3471 00004 INHINT # RESTORE DEADBAND DESIRED BY ASTRONAUT.
037065,000567: 34,3472 04674 TC IBNKCALL
037066,000568: 34,3473 40115 CADR RESTORDB
037067,000569: 34,3474 05527 TC DOWNFLAG # DISALLOW ABORTS AT THIS TIME.
037068,000570: 34,3475 00215 ADRES LETABORT
037069,000571: 34,3476 16001 TCF GOTOPOOH
037070,000572:
037071,000573: 34,3477 04125 V16N85C VN 1685
037072,000574:
037073,000575: 34,3500 77745 RPCOMP1 DLOAD # FLRCS = 1 (TRIM MODE)
037074,000576: 34,3501 06470 HI6ZEROS
037075,000577: 34,3502 02345 STORE PCONS # SET PCONS = PRATE = 0 SO THAT
037076,000578: 34,3503 02351 STORE PRATE # RP = R + RDOT TGO
037077,000579: 34,3504 41345 RPCOMP2 DLOAD DMP # FLRCS = 0 (GUIDANCE MODE)
037078,000580: 34,3505 02351 PRATE # LEAVE PCONS AND PRATE ALONE SO THAT
037079,000581: 34,3506 03517 TGO # RP = R + RDOT TGO + (PCONS*TGO**2)/
037080,000582: 34,3507 43205 DMP DAD # (2 TBUP) + (PRATE*TGO**3)/(6 TBUP)
037081,000583: 34,3510 33653 THIRD
037082,000584: 34,3511 02345 PCONS
037083,000585: 34,3512 41205 DMP DMP
037084,000586: 34,3513 03517 TGO
037085,000587: 34,3514 03517 TGO
037086,000588: 34,3515 72471 DDV SL1
037087,000589: 34,3516 02271 TBUP
037088,000590: 34,3517 65215 DAD PDDL
037089,000591: 34,3520 02301 /R/MAG
Page 846 |
037091,000593: 34,3521 03474 RDOT
037092,000594: 34,3522 43205 DMP DAD
037093,000595: 34,3523 03517 TGO
037094,000596: 34,3524 77626 STADR
037095,000597: 34,3525 75201 STORE RP
037096,000598: 34,3526 77616 RVQ
037097,000599:
037098,000600: 34,3527 45020 ZDOTDCMP STQ CALL # COMPUTE CENTRAL ANGLE (0)
037099,000601: 34,3530 02637 ASCSAVE
037100,000602: 34,3531 71557 THETCOMP
037101,000603: 34,3532 43205 DMP DAD # CENTRAL ANGLE IN MPAC
037102,000604: 34,3533 02574 KPARM
037103,000605: 34,3534 02572 JPARM
037104,000606: 34,3535 41425 DSU PUSH # RA IN MPAC AND IN PUSHLIST (2)
037105,000607: 34,3536 02576 RP
037106,000608: 34,3537 51025 DSU BPL
037107,000609: 34,3540 02560 RAMIN
037108,000610: 34,3541 71544 +3
037109,000611: 34,3542 65345 DLOAD PDDL # RA < RAMIN. SET RA = RAMIN. (2)
037110,000612: 34,3543 02560 RAMIN
037111,000613: 34,3544 41345 +3 DLOAD DMP
037112,000614: 34,3545 00001 0D
037113,000615: 34,3546 16025 MUM(-37)
037114,000616: 34,3547 77725 PDDL
037115,000617: 34,3550 41215 DAD DMP
037116,000618: 34,3551 02576 RP
037117,000619: 34,3552 02576 RP
037118,000620: 34,3553 75465 BDDV SQRT # (0)
037119,000621: 34,3554 77626 STADR
037120,000622: 34,3555 41500 STCALL ZDOTD # UPDATE ZDOTD FOR GUIDANCE AND DOWNLINK.
037121,000623: 34,3556 02637 ASCSAVE
037122,000624:
037123,000625: 34,3557 53575 THETCOMP VLOAD UNIT
037124,000626: 34,3560 03521 R
037125,000627: 34,3561 53515 PDVL UNIT # (6)
037126,000628: 34,3562 01716 R(CSM)
037127,000629: 34,3563 47206 PUSH VXV # (12)
037128,000630: 34,3564 00001 0D
037129,000631: 34,3565 77641 DOT
037130,000632: 34,3566 02325 WM
037131,000633: 34,3567 24037 STOVL 30D # (6)
037132,000634: 34,3570 72441 DOT SL1 # (0)
037133,000635: 34,3571 75326 ARCCOS SIGN
037134,000636: 34,3572 00037 30D
037135,000637: 34,3573 77616 RVQ
037136,000638:
037137,000639: 34,3574 E5,1637 ASCSAVE EQUALS DLAND +6
037138,000640:
037139,000641: 27,3313 BANK 27
037140,000642: 27,2000 SETLOC ASENT1
037141,000643: 27,2000 BANK
037142,000644: 27,3313 COUNT* $$/ASENT
037143,000645:
Page 847 |
037145,000647: 27,3313 50375 YCOMP VLOAD DOT
037146,000648: 27,3314 03537 UNIT/R/
037147,000649: 27,3315 02600 QAXIS
037148,000650: 27,3316 41312 SL2 DMP
037149,000651: 27,3317 03631 RCO
037150,000652: 27,3320 02335 STORE Y
037151,000653: 27,3321 77616 RVQ
037152,000654:
037153,000655:
037154,000656: 30,2776 BANK 30
037155,000657: 30,2000 SETLOC ASENT
037156,000658: 30,2000 BANK
037157,000659:
Page 848 |
037159,000661: # ASCENT GUIDANCE CONSTANTS
037160,000662:
037161,000663: 30,2776 33,3043 100CS EQUALS 2SEC(18)
037162,000664: 30,2776 30,3000 T2A EQUALS 2SEC(17)
037163,000665: 30,2776 00062 00000 4SEC(17) 2DEC 400 B-17
037164,000666:
037165,000667: 30,3000 00031 00000 2SEC(17) 2DEC 200 B-17
037166,000668:
037167,000669: 30,3002 00175 00000 T3 2DEC 1000 B-17
037168,000670:
037169,000671: 30,3004 00045 20000 6SEC(18) 2DEC 600 B-18
037170,000672:
037171,000673: 30,3006 00010 BIT4H OCT 10
037172,000674:
037173,000675: 30,3007 14400 00000 2SEC(9) 2DEC 200 B-9
037174,000676:
037175,000677: 30,3011 01477 V06N63* VN 0663
037176,000678: 30,3012 01514 V06N76 VN 0676
037177,000679: 30,3013 01441 V06N33A VN 0633
037178,000680:
037179,000681: 33,2113 BANK 33
037180,000682: 33,2000 SETLOC ASENT6
037181,000683: 33,2000 BANK
037182,000684: 33,2113 COUNT* $$/ASENT
037183,000685:
037184,000686: 33,2113 75751 41775 PRLIMIT 2DEC -.0639 # (B/TBUP)MIN=-.1FT.SEC(-3)
037185,000687:
037186,000688: 33,2115 00022 07212 MINABDV 2DEC .0356 B-5 # 10 PERCENT BIGGER THAN GRAVITY
037187,000689:
037188,000690: 33,2117 00007 16100 25KFT 2DEC 7620 B-24
037189,000691:
037190,000692: 33,2121 E7,1570 1/DV0 = MASS1
037191,000693:
Page 849 |
037193,000695: # THE LOGARITHM SUBROUTINE
037194,000696:
037195,000697: 24,3642 BANK 24
037196,000698: 30,2000 SETLOC FLOGSUB
037197,000699: 30,2000 BANK
037198,000700:
037199,000701: # INPUT ..... X IN MPAC
037200,000702: # OUTPUT ..... -LOG(X) IN MPAC
037201,000703:
037202,000704: 30,3014 44301 LOGSUB NORM BDSU
037203,000705: 30,3015 00163 MPAC +6
037204,000706: 30,3016 17772 NEARONE
037205,000707: 30,3017 77776 EXIT
037206,000708: 30,3020 07225 TC POLY
037207,000709: 30,3021 00006 DEC 6 B-14
037208,000710: 30,3022 00000 00002 2DEC .0000000060
037209,000711:
037210,000712: 30,3024 76777 77175 2DEC -.0312514377
037211,000713:
037212,000714: 30,3026 77400 75416 2DEC -.0155686771
037213,000715:
037214,000716: 30,3030 77507 65515 2DEC -.0112502068
037215,000717:
037216,000718: 30,3032 77741 63547 2DEC -.0018545108
037217,000719:
037218,000720: 30,3034 77052 55373 2DEC -.0286607906
037219,000721:
037220,000722: 30,3036 01167 30361 2DEC .0385598563
037221,000723:
037222,000724: 30,3040 76520 75267 2DEC -.0419361902
037223,000725:
037224,000726: 30,3042 34755 CAF ZERO
037225,000727: 30,3043 54156 TS MPAC +2
037226,000728: 30,3044 00006 EXTEND
037227,000729: 30,3045 33061 DCA CLOG2/32
037228,000730: 30,3046 52155 DXCH MPAC
037229,000731: 30,3047 52132 DXCH BUF +1
037230,000732: 30,3050 30162 CA MPAC +6
037231,000733: 30,3051 07312 TC SHORTMP
037232,000734: 30,3052 52156 DXCH MPAC +1
037233,000735: 30,3053 52155 DXCH MPAC
037234,000736: 30,3054 52132 DXCH BUF +1
037235,000737: 30,3055 20155 DAS MPAC
037236,000738: 30,3056 06042 TC INTPRET
037237,000739: 30,3057 43476 DCOMP RVQ
037238,000740:
037239,000741: 30,3060 00542 34414 CLOG2/32 2DEC .0216608494
037240,000742:
End of include-file ASCENT_GUIDANCE.agc. Parent file is MAIN.agc