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