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:
|
037163,000002: ## Copyright: Public domain.
037164,000003: ## Filename: ASCENT_GUIDANCE.agc
037165,000004: ## Purpose: A section of LUM69 revision 2.
037166,000005: ## It is part of the reconstructed source code for the flown
037167,000006: ## version of the flight software for the Lunar Module's (LM)
037168,000007: ## Apollo Guidance Computer (AGC) for Apollo 10. The code has
037169,000008: ## been recreated from a copy of Luminary revsion 069, using
037170,000009: ## changes present in Luminary 099 which were described in
037171,000010: ## Luminary memos 75 and 78. The code has been adapted such
037172,000011: ## that the resulting bugger words exactly match those specified
037173,000012: ## for LUM69 revision 2 in NASA drawing 2021152B, which gives
037174,000013: ## relatively high confidence that the reconstruction is correct.
037175,000014: ## Reference: pp. 844-857
037176,000015: ## Assembler: yaYUL
037177,000016: ## Contact: Ron Burkey <info@sandroid.org>.
037178,000017: ## Website: www.ibiblio.org/apollo/index.html
037179,000018: ## Mod history: 2019-07-27 MAS Created from Luminary 69.
037180,000019:
Page 844 |
037182,000021: 34,3637 BANK 34
037183,000022: 34,2000 SETLOC ASCFILT
037184,000023: 34,2000 BANK
037185,000024:
037186,000025: 34,3637 E7,1513 EBANK= DVCNTR
037187,000026:
037188,000027: 34,3637 COUNT* $$/ASENT
037189,000028:
037190,000029: 34,3637 05353 ATMAG TC PHASCHNG
037191,000030: 34,3640 00035 OCT 00035
037192,000031: 34,3641 05353 TC PHASCHNG
037193,000032: 34,3642 05023 OCT 05023
037194,000033: 34,3643 21000 OCT 21000
037195,000034: 34,3644 06036 TC INTPRET
037196,000035: 34,3645 77614 BON
037197,000036: 34,3646 04705 FLRCS
037198,000037: 34,3647 60313 ASCENT
037199,000038: 34,3650 45345 DLOAD DSU
037200,000039: 34,3651 03512 ABDVCONV
037201,000040: 34,3652 21054 MINABDV
037202,000041: 34,3653 43040 BMN CLEAR
037203,000042: 34,3654 60767 ASCTERM4
037204,000043: 34,3655 04267 SURFFLAG
037205,000044: 34,3656 67214 CLEAR SLOAD
037206,000045: 34,3657 02676 RENDWFLG
037207,000046: 34,3660 17224 BIT3H
037208,000047: 34,3661 77471 DDV EXIT
037209,000048: 34,3662 03512 ABDVCONV
037210,000049: 34,3663 52155 DXCH MPAC
037211,000050: 34,3664 53637 DXCH 1/DV3
037212,000051: 34,3665 53635 DXCH 1/DV2
037213,000052: 34,3666 53633 DXCH 1/DV1
037214,000053: 34,3667 53567 DXCH 1/DV0
037215,000054: 34,3670 05353 TC PHASCHNG
037216,000055: 34,3671 04023 OCT 04023
037217,000056: 34,3672 06036 TC INTPRET
037218,000057: 34,3673 43345 DLOAD DAD
037219,000058: 34,3674 03567 1/DV0
037220,000059: 34,3675 03633 1/DV1
037221,000060: 34,3676 43215 DAD DAD
037222,000061: 34,3677 03635 1/DV2
037223,000062: 34,3700 03637 1/DV3
037224,000063: 34,3701 41205 DMP DMP
037225,000064: 34,3702 02261 VE
037226,000065: 34,3703 21041 2SEC(9)
037227,000066: 34,3704 65252 SL3 PDDL
037228,000067: 34,3705 02265 TBUP
037229,000068: 34,3706 43342 SR1 DAD
037230,000069: 34,3707 77625 DSU
037231,000070: 34,3710 21036 6SEC(18)
037232,000071:
Page 845 |
037234,000073: 34,3711 16265 STODL TBUP
037235,000074: 34,3712 02261 VE
037236,000075: 34,3713 56342 SR1 DDV
037237,000076: 34,3714 02265 TBUP
037238,000077: 34,3715 36257 STCALL AT
037239,000078: 34,3716 60313 ASCENT
037240,000079:
Page 846 |
037242,000081: 30,2313 BANK 30
037243,000082: 30,2000 SETLOC ASENT
037244,000083: 30,2000 BANK
037245,000084: 30,2313 COUNT* $$/ASENT
037246,000085:
037247,000086:
037248,000087: 30,2313 51575 ASCENT VLOAD ABVAL
037249,000088: 30,2314 03517 R
037250,000089: 30,2315 26275 STOVL /R/MAG
037251,000090: 30,2316 03535 UNIT/R/ # UR*2(-1)
037252,000091: 30,2317 53435 VXV UNIT
037253,000092: 30,2320 03716 QAXIS
037254,000093: 30,2321 02305 STORE ZAXIS1
037255,000094: 30,2322 72441 DOT SL1
037256,000095: 30,2323 03525 V # Z.V = ZDOT*2(-8).
037257,000096: 30,2324 26317 STOVL ZDOT # ZDOT*2(-7)
037258,000097: 30,2325 02305 ZAXIS1
037259,000098: 30,2326 76435 VXV VSL1
037260,000099: 30,2327 03535 UNIT/R/ # Z X UR = LAXIS*2(-2)
037261,000100: 30,2330 02277 STORE LAXIS # LAXIS*2(-1)
037262,000101: 30,2331 72441 DOT SL1
037263,000102: 30,2332 03525 V # L.V = YDOT*2(-8).
037264,000103: 30,2333 26315 STOVL YDOT # YDOT * 2(-7)
037265,000104: 30,2334 03535 UNIT/R/
037266,000105: 30,2335 72441 DOT SL1
037267,000106: 30,2336 03525 V
037268,000107: 30,2337 36313 STCALL RDOT # RDOT*2(-7)
037269,000108: 30,2340 57316 YCOMP
037270,000109: 30,2341 77775 VLOAD
037271,000110: 30,2342 03561 GDT1/2 # LOAD GDT1/2*2(-7) M/CS.
037272,000111: 30,2343 50341 V/SC DOT
037273,000112: 30,2344 27201 2SEC(18)
037274,000113: 30,2345 03535 UNIT/R/ # G.UR*2(9) = GR*2(9).
037275,000114: 30,2346 47315 PDVL VXV # STORE IN PDL(0) (2)
037276,000115: 30,2347 03535 UNIT/R/ # LOAD UNIT/R/ *2(-1).
037277,000116: 30,2350 03525 V # UR*2(-1) X V*2(-7) = H/R*2(-8).
037278,000117: 30,2351 56236 VSQ DDV # H(2)/R(2)*2(-16).
037279,000118: 30,2352 02275 /R/MAG # H(2)/R(3)*2(9).
037280,000119: 30,2353 43352 SL1 DAD
037281,000120: 30,2354 77626 STADR
037282,000121: 30,2355 61456 STODL GEFF # GEFF*2(10)M/CS/CS.
037283,000122: 30,2356 02273 ZDOTD
037284,000123: 30,2357 77625 DSU
037285,000124: 30,2360 02317 ZDOT
037286,000125: 30,2361 02347 STORE DZDOT # DZDOT = (ZDOTD - ZDOT) * 2(7)M/CS.
037287,000126: 30,2362 65361 VXSC PDDL
037288,000127: 30,2363 02305 ZAXIS1
037289,000128:
Page 847 |
037291,000130: 30,2364 02271 YDOTD
037292,000131: 30,2365 77625 DSU
037293,000132: 30,2366 02315 YDOT
037294,000133: 30,2367 02345 STORE DYDOT # DYDOT = (YDOTD - YDOT)*2(7)M/CS.
037295,000134: 30,2370 65361 VXSC PDDL
037296,000135: 30,2371 02277 LAXIS
037297,000136: 30,2372 02267 RDOTD
037298,000137: 30,2373 77625 DSU
037299,000138: 30,2374 02313 RDOT
037300,000139: 30,2375 02343 STORE DRDOT # DRDOT = (RDOTD - RDOT)*2(7)M/CS.
037301,000140: 30,2376 53361 VXSC VAD
037302,000141: 30,2377 03535 UNIT/R/
037303,000142: 30,2400 76455 VAD VSL1
037304,000143: 30,2401 77626 STADR
037305,000144: 30,2402 74131 STORE VGVECT # VG = (DRDOT)R + (DYDOT)L + (DZDOT)Z.
037306,000145: 30,2403 77614 BON
037307,000146: 30,2404 04711 FLZONE0
037308,000147: 30,2405 65442 PREBRET1
037309,000148: 30,2406 77624 CALL
037310,000149: 30,2407 61011 ASCRSTRT
037311,000150: 30,2410 41345 DLOAD DMP # LOAD TGO
037312,000151: 30,2411 03515 TGO # TGO GEFF
037313,000152: 30,2412 02321 GEFF
037314,000153: 30,2413 76561 VXSC VSL1
037315,000154: 30,2414 03535 UNIT/R/ # TGO GEFF UR
037316,000155: 30,2415 77645 BVSU
037317,000156: 30,2416 03646 VGVECT # COMPENSATED FOR GEFF
037318,000157: 30,2417 03646 STORE VGVECT # STORE FOR DOWNLINK
037319,000158: 30,2420 76521 MXV VSL1 # GET VGBODY FOR N85 DISPLAY
037320,000159: 30,2421 02146 XNBPIP
037321,000160: 30,2422 27500 STOVL VGBODY
037322,000161: 30,2423 03646 VGVECT
037323,000162: 30,2424 43046 ABVAL BOFF # MAGNITUDE OF VGVECT
037324,000163: 30,2425 04745 FLRCS # IF FLRCS=0,DO NORMAL GUIDANCE
037325,000164: 30,2426 60433 MAINENG
037326,000165: 30,2427 77671 DDV # USE TGO=VG/AT WITH RCS
037327,000166: 30,2430 20001 AT/RCS
037328,000167: 30,2431 37515 STCALL TGO # THIS WILL BE USED ON NEXT CYCLE
037329,000168: 30,2432 60763 ASCTERM2
037330,000169: 30,2433 41471 MAINENG DDV PUSH # VG/VE IN PDL(0) (2)
037331,000170: 30,2434 02261 VE
037332,000171: 30,2435 44205 DMP BDSU # 1-KT VG/VE
037333,000172: 30,2436 21046 KT1
037334,000173: 30,2437 17743 NEARONE
037335,000174: 30,2440 41205 DMP DMP # TBUP VG(1-KT VG/VE)/VE (0)
037336,000175: 30,2441 02265 TBUP # = TGO
037337,000176: 30,2442 77625 DSU # COMPENSATE FOR TAILOFF
037338,000177: 30,2443 02263 TTO
037339,000178: 30,2444 03515 STORE TGO
037340,000179: 30,2445 57461 SR DCOMP
037341,000180:
Page 848 |
037343,000182: 30,2446 20614 11D
037344,000183: 30,2447 17452 STODL TTOGO # TGO*2(-28)CS
037345,000184: 30,2450 03515 TGO
037346,000185: 30,2451 45214 BON DSU
037347,000186: 30,2452 03710 IDLEFLAG
037348,000187: 30,2453 60457 T2TEST
037349,000188: 30,2454 21026 4SEC(17) # ( TGO - 4 )*2(-17)CS.
037350,000189: 30,2455 77640 BMN
037351,000190: 30,2456 57212 ENGOFF
037352,000191: 30,2457 77745 T2TEST DLOAD
037353,000192: 30,2460 03515 TGO
037354,000193: 30,2461 50025 DSU BMN # IF TGO - T2 NEG., GO TO CMPONENT
037355,000194: 30,2462 21030 T2A
037356,000195: 30,2463 60620 CMPONENT
037357,000196: 30,2464 45345 DLOAD DSU
037358,000197: 30,2465 02265 TBUP
037359,000198: 30,2466 03515 TGO
037360,000199: 30,2467 45071 DDV CALL # 1-TGO/TBUP
037361,000200: 30,2470 02265 TBUP
037362,000201: 30,2471 65613 LOGSUB
037363,000202: 30,2472 41461 SL PUSH # -L IN PDL(0) (2)
037364,000203: 30,2473 20206 5
037365,000204: 30,2474 44265 BDDV BDSU # -TGO/L*2(-17)
037366,000205: 30,2475 03515 TGO
037367,000206: 30,2476 02265 TBUP # TBUP + TGO/L = D12*2(-17)
037368,000207: 30,2477 43006 PUSH BON # STORE IN PDL(2) (4)
037369,000208: 30,2500 04703 FLPC # IF FLPC = 1, GO TO CONST
037370,000209: 30,2501 60510 NORATES
037371,000210: 30,2502 45345 DLOAD DSU
037372,000211: 30,2503 03515 TGO
037373,000212: 30,2504 21032 T3
037374,000213: 30,2505 43044 BPL SET # FLPC=1
037375,000214: 30,2506 60516 RATES
037376,000215: 30,2507 04463 FLPC
037377,000216: 30,2510 77745 NORATES DLOAD
037378,000217: 30,2511 06424 HI6ZEROS
037379,000218: 30,2512 02355 STORE PRATE # B = 0
037380,000219: 30,2513 02357 STORE YRATE # D = 0
037381,000220: 30,2514 77650 GOTO
037382,000221: 30,2515 60600 CONST # GO TO CONST
037383,000222: 30,2516 45345 RATES DLOAD DSU
037384,000223: 30,2517 03515 TGO
037385,000224: 30,2520 00003 02D # TGO - D12 = D21*2(-17)
037386,000225: 30,2521 72406 PUSH SL1 # IN PDL(4) (6)
037387,000226: 30,2522 52421 BDSU SL3 # (1/2TGO - D21)*2(-13) = E * 2(-13)
037388,000227: 30,2523 03515 TGO # (8)
037389,000228: 30,2524 41325 PDDL DMP # IN PDL(6)
037390,000229: 30,2525 03515 TGO
037391,000230: 30,2526 02313 RDOT # RDOT TGO * 2(-24)
037392,000231: 30,2527 45215 DAD DSU # R + RDOT TGO
037393,000232:
Page 849 |
037395,000234: 30,2530 02275 /R/MAG # R + RDOT TGO - RCO
037396,000235: 30,2531 03627 RCO # MPAC = -DR*2(-24).
037397,000236: 30,2532 41325 PDDL DMP # -DR IN PDL(8) (10)
037398,000237: 30,2533 02343 DRDOT
037399,000238: 30,2534 00005 04D # D21 DRDOT*2(-24)
037400,000239: 30,2535 62415 DAD SL2 # (D21 DRDOT-DR)*2(-22) (8)
037401,000240: 30,2536 56271 DDV DDV
037402,000241: 30,2537 00007 06D # (D21 DRDOT-DR)/E*2(-9)
037403,000242: 30,2540 03515 TGO
037404,000243: 30,2541 02355 STORE PRATE # B * 2(8)
037405,000244: 30,2542 71240 BMN DLOAD # B>0 NOT PERMITTED
037406,000245: 30,2543 60547 CHKBMAG
037407,000246: 30,2544 06424 HI6ZEROS
037408,000247: 30,2545 36355 STCALL PRATE
037409,000248: 30,2546 60561 PROK
037410,000249: 30,2547 56202 CHKBMAG SR4 DDV # B*2(4)
037411,000250: 30,2550 02265 TBUP # (B / TAU) * 2(21)
037412,000251: 30,2551 51025 DSU BPL
037413,000252: 30,2552 21050 PRLIMIT # ( B/ TAU) * 2(21) MAX.
037414,000253: 30,2553 60561 PROK
037415,000254: 30,2554 41345 DLOAD DMP
037416,000255: 30,2555 21050 PRLIMIT
037417,000256: 30,2556 02265 TBUP # B MAX. * 2(4)
037418,000257: 30,2557 77612 SL4 # BMAX*2(8)
037419,000258: 30,2560 02355 STORE PRATE
037420,000259: 30,2561 77745 PROK DLOAD
037421,000260: 30,2562 03515 TGO
037422,000261: 30,2563 43205 DMP DAD # YDOT TGO
037423,000262: 30,2564 02315 YDOT
037424,000263: 30,2565 02341 Y # Y + YDOT TGO
037425,000264: 30,2566 65225 DSU PDDL # Y + YDOT TGO - YCO
037426,000265: 30,2567 03631 YCO # MPAC = - DY*2(-24.) IN PDL(8) (10)
037427,000266: 30,2570 02345 DYDOT
037428,000267: 30,2571 43205 DMP DAD # D21 DYDOT - DY (8)
037429,000268: 30,2572 00005 04D
037430,000269: 30,2573 56271 DDV DDV
037431,000270: 30,2574 03515 TGO # (D21 DYDOT - DY)/ E TGO*2(6) (6)
037432,000271: 30,2575 40312 SL2 SETPD # MPAC = D*2(8)
037433,000272: 30,2576 00005 04D # (4)
037434,000273: 30,2577 02357 STORE YRATE
037435,000274: 30,2600 41345 CONST DLOAD DMP # LOAD B*2(8)
037436,000275: 30,2601 02355 PRATE # B D12*2(-9)
037437,000276: 30,2602 00003 02D
037438,000277: 30,2603 56325 PDDL DDV # D12 B IN PDL(4) (6)
037439,000278: 30,2604 02343 DRDOT # LOAD DRDOT*2(-7)
037440,000279: 30,2605 00001 00D # -DRDOT/L*2(-7)
037441,000280: 30,2606 45302 SR2 DSU # (-DRDOT/L-D12 B)=A*2(-9) (4)
037442,000281: 30,2607 77626 STADR
037443,000282: 30,2610 61426 STODL PCONS
037444,000283: 30,2611 02357 YRATE # D*2(8)
037445,000284:
Page 850 |
037447,000286: 30,2612 65205 DMP PDDL # D12 D,EXCH WITH -L IN PDL(0) (2,2)
037448,000287: 30,2613 60465 BDDV SR2 # -DYDOT/L*2(-9)
037449,000288: 30,2614 02345 DYDOT
037450,000289: 30,2615 77625 DSU # (-DYDOT/L-D12 D)=C*2(-9)
037451,000290: 30,2616 00001 00D
037452,000291: 30,2617 02353 STORE YCONS
037453,000292: 30,2620 77624 CMPONENT CALL
037454,000293: 30,2621 61011 ASCRSTRT
037455,000294: 30,2622 71201 SETPD DLOAD
037456,000295: 30,2623 00001 00D
037457,000296: 30,2624 27201 100CS
037458,000297: 30,2625 77605 DMP
037459,000298: 30,2626 02355 PRATE # B(T-T0)*2(-9)
037460,000299: 30,2627 56215 DAD DDV # (A+B(T-T0))*2(-9)
037461,000300: 30,2630 02351 PCONS # (A+B(T-T0))/TBUP*2(8)
037462,000301: 30,2631 02265 TBUP
037463,000302: 30,2632 45352 SL1 DSU
037464,000303: 30,2633 02321 GEFF # ATR*2(9)
037465,000304: 30,2634 16363 STODL ATR
037466,000305: 30,2635 27201 100CS
037467,000306: 30,2636 43205 DMP DAD
037468,000307: 30,2637 02357 YRATE
037469,000308: 30,2640 02353 YCONS # (C+D(T-T0))*2(-9)
037470,000309: 30,2641 72471 DDV SL1
037471,000310: 30,2642 02265 TBUP
037472,000311: 30,2643 02361 STORE ATY # ATY*2(9)
037473,000312: 30,2644 65361 VXSC PDDL # ATY UY*2(8) (6)
037474,000313: 30,2645 02277 LAXIS
037475,000314: 30,2646 02363 ATR
037476,000315: 30,2647 53361 VXSC VAD # (0)
037477,000316: 30,2650 03535 UNIT/R/
037478,000317: 30,2651 41572 VSL1 PUSH # AH*2(9) IN PDL(0) (6)
037479,000318: 30,2652 65246 ABVAL PDDL # AH(2) IN PDL(34)
037480,000319: 30,2653 02257 AT # AHMAG IN PDL(6) (8)
037481,000320: 30,2654 45316 DSQ DSU # (AT(2)-AH(2))*2(18)
037482,000321: 30,2655 00043 34D # =ATP2*2(18)
037483,000322: 30,2656 41525 PDDL PUSH # (12)
037484,000323: 30,2657 02257 AT
037485,000324: 30,2660 45316 DSQ DSU # (AT(2)KR(2)-AH(2))*2(18) (10)
037486,000325: 30,2661 00043 34D # =ATP3*2(18)
037487,000326: 30,2662 71240 BMN DLOAD # IF ATP3 NEG,GO TO NO-ATP
037488,000327: 30,2663 60667 NO-ATP # LOAD ATP2, IF ATP3 POS
037489,000328: 30,2664 00011 8D
037490,000329: 30,2665 52166 SQRT GOTO # ATP*2(9)
037491,000330: 30,2666 60675 AIMER
037492,000331: 30,2667 55345 NO-ATP DLOAD BDDV # KR AT/AH = KH (8)
037493,000332: 30,2670 00007 6D
037494,000333: 30,2671 77761 VXSC # KH AH*2(9)
037495,000334: 30,2672 00001 00D
037496,000335: 30,2673 14001 STODL 00D # STORE NEW AH IN PDL(0)
037497,000336:
Page 851 |
037499,000338: 30,2674 06424 HI6ZEROS
037500,000339: 30,2675 77765 AIMER SIGN
037501,000340: 30,2676 02347 DZDOT
037502,000341: 30,2677 02365 STORE ATP
037503,000342: 30,2700 77761 VXSC
037504,000343: 30,2701 02305 ZAXIS1 # ATP ZAXIS *2(8).
037505,000344: 30,2702 53372 VSL1 VAD # AT*2(9)
037506,000345: 30,2703 00001 00D
037507,000346: 30,2704 03252 STORE UNFC/2 # WILL BE OVERWRITTEN IF IN VERT. RISE.
037508,000347: 30,2705 43001 SETPD BON
037509,000348: 30,2706 00001 00D
037510,000349: 30,2707 04704 FLPI
037511,000350: 30,2710 60150 P12RET
037512,000351: 30,2711 77624 CALL
037513,000352: 30,2712 61011 ASCRSTRT
037514,000353: 30,2713 77614 BON
037515,000354: 30,2714 04701 FLVR
037516,000355: 30,2715 60774 CHECKALT
037517,000356: 30,2716 57575 MAINLINE VLOAD VCOMP
037518,000357: 30,2717 03535 UNIT/R/
037519,000358: 30,2720 17260 STODL UNWC/2
037520,000359: 30,2721 03654 TXO
037521,000360: 30,2722 51025 DSU BPL
037522,000361: 30,2723 01235 PIPTIME
037523,000362: 30,2724 60730 ASCTERM
037524,000363: 30,2725 43014 CLRXFLAG CLEAR CLEAR
037525,000364: 30,2726 01664 NOR29FLG # START R29 IN ASCENT PHASE.
037526,000365: 30,2727 06666 XOVINFLG # ALLOW X-AXIS OVERRIDE
037527,000366: 30,2730 77776 ASCTERM EXIT
037528,000367: 30,2731 00006 EXTEND
037529,000368: 30,2732 34755 DCA NEG0
037530,000369: 30,2733 52757 DXCH -PHASE3
037531,000370: 30,2734 30105 CA FLAGWRD9
037532,000371: 30,2735 74742 MASK FLRCSBIT
037533,000372: 30,2736 10000 CCS A
037534,000373: 30,2737 12766 TCF ASCTERM3
037535,000374: 30,2740 06036 TC INTPRET
037536,000375: 30,2741 77624 CALL
037537,000376: 30,2742 61062 FINDCDUW -2
037538,000377: 30,2743 77776 ASCTERM1 EXIT
037539,000378: 30,2744 00006 +1 EXTEND
037540,000379: 30,2745 34755 DCA NEG0
037541,000380: 30,2746 52757 DXCH -PHASE3
037542,000381: 30,2747 30105 ABRTDISP CA FLAGWRD9 # INSURE THAT THE NOUN 63 DISPLAY IS
037543,000382: 30,2750 74742 MASK FLRCSBIT # BYPASSED IF WE ARE IN THE RCS TRIMMING
037544,000383: 30,2751 10000 CCS A # MODE OF OPERATION
037545,000384: 30,2752 12766 TCF ASCTERM3
037546,000385: 30,2753 30104 CA FLAGWRD8 # BYPASS DISPLAYS IF ENGINE FAILURE IS
037547,000386: 30,2754 74742 MASK FLUNDBIT # INDICATED.
037548,000387: 30,2755 10000 CCS A
037549,000388:
Page 852 |
037551,000390: 30,2756 12766 TCF ASCTERM3
037552,000391: 30,2757 33042 CAF V06N63*
037553,000392: 30,2760 04616 TC BANKCALL
037554,000393: 30,2761 20327 CADR GODSPR
037555,000394: 30,2762 12766 TCF ASCTERM3
037556,000395: 30,2763 77776 ASCTERM2 EXIT
037557,000396: 30,2764 05353 TC PHASCHNG
037558,000397: 30,2765 00003 OCT 00003
037559,000398: 30,2766 15155 ASCTERM3 TCF ENDOFJOB
037560,000399: 30,2767 77776 ASCTERM4 EXIT
037561,000400: 30,2770 00004 INHINT
037562,000401: 30,2771 04674 TC IBNKCALL # NO GUIDANCE THIS CYCLE -- HENCE ZERO
037563,000402: 30,2772 40153 CADR ZATTEROR # THE DAP ATTITUDE ERRORS.
037564,000403: 30,2773 12744 TCF ASCTERM1 +1
037565,000404:
037566,000405: 30,2774 45345 CHECKALT DLOAD DSU
037567,000406: 30,2775 02275 /R/MAG
037568,000407: 30,2776 02337 /LAND/
037569,000408: 30,2777 50025 DSU BMN # IF H LT 25K CHECK Z AXIS ORIENTATION.
037570,000409: 30,3000 26732 25KFT
037571,000410: 30,3001 57162 CHECKYAW
037572,000411: 30,3002 43345 EXITVR DLOAD DAD
037573,000412: 30,3003 01235 PIPTIME
037574,000413: 30,3004 25574 10SECS
037575,000414: 30,3005 03654 STORE TXO
037576,000415: 30,3006 77614 CLRGO
037577,000416: 30,3007 04621 FLVR
037578,000417: 30,3010 60716 MAINLINE
037579,000418:
037580,000419: 30,3011 77420 ASCRSTRT STQ EXIT
037581,000420: 30,3012 01164 TEMPR60
037582,000421: 30,3013 34741 CA FLPIBIT
037583,000422: 30,3014 64746 AD FLZONBIT
037584,000423: 30,3015 70105 MASK FLAGWRD9
037585,000424: 30,3016 10000 CCS A
037586,000425: 30,3017 13022 TCF +3
037587,000426: 30,3020 05353 TC PHASCHNG
037588,000427: 30,3021 04023 OCT 04023
037589,000428: 30,3022 06036 +3 TC INTPRET
037590,000429: 30,3023 77650 GOTO
037591,000430: 30,3024 01164 TEMPR60
037592,000431:
037593,000432: 27,3162 BANK 27
037594,000433: 27,2000 SETLOC ASENT1
037595,000434: 27,2000 BANK
037596,000435:
037597,000436: 27,3162 27,3162 SETXFLAG = CHECKYAW
037598,000437:
037599,000438: 27,3162 77614 CHECKYAW SET
037600,000439: 27,3163 06466 XOVINFLG # PROHIBIT X-AXIS OVERRIDE
037601,000440:
Page 853 |
037603,000442: 27,3164 74345 DLOAD VXSC
037604,000443: 27,3165 02361 ATY
037605,000444: 27,3166 02277 LAXIS
037606,000445: 27,3167 74325 PDDL VXSC
037607,000446: 27,3170 02365 ATP
037608,000447: 27,3171 02305 ZAXIS1
037609,000448: 27,3172 53455 VAD UNIT
037610,000449: 27,3173 50206 PUSH DOT
037611,000450: 27,3174 02154 YNBPIP
037612,000451: 27,3175 45246 ABS DSU
037613,000452: 27,3176 21052 SIN5DEG
037614,000453: 27,3177 71244 BPL DLOAD
037615,000454: 27,3200 57205 KEEPVR
037616,000455: 27,3201 02313 RDOT
037617,000456: 27,3202 51025 DSU BPL
037618,000457: 27,3203 21034 40FPS
037619,000458: 27,3204 61002 EXITVR
037620,000459:
037621,000460: 27,3205 45575 KEEPVR VLOAD STADR # RECALL LOSVEC FROM PUSHLIST
037622,000461: 27,3206 50517 STOVL UNWC/2
037623,000462: 27,3207 03535 UNIT/R/
037624,000463: 27,3210 37252 STCALL UNFC/2
037625,000464: 27,3211 60730 ASCTERM
037626,000465:
037627,000466: 27,3212 77634 ENGOFF RTB
037628,000467: 27,3213 21462 LOADTIME
037629,000468: 27,3214 43225 DSU DAD
037630,000469: 27,3215 01235 PIPTIME
037631,000470: 27,3216 03452 TTOGO
037632,000471: 27,3217 77476 DCOMP EXIT
037633,000472: 27,3220 07256 TC TPAGREE # FORCE SIGN AGREEMENT ON MPAC, MPAC +1.
037634,000473: 27,3221 35016 CAF EBANK7
037635,000474: 27,3222 54003 TS EBANK
037636,000475: 27,3223 E7,1514 EBANK= TGO
037637,000476: 27,3223 00004 BIT3H INHINT # USED AS A CONSTANT
037638,000477: 27,3224 10155 CCS MPAC +1
037639,000478: 27,3225 13230 TCF +3 # C(A) = DT - 1 BIT
037640,000479: 27,3226 13230 TCF +2 # C(A) = 0
037641,000480: 27,3227 34755 CAF ZERO # C(A) = 0
037642,000481: 27,3230 64753 AD BIT1 # C(A) = 1 BIT OR DT.
037643,000482: 27,3231 55644 TS ENGOFFDT
037644,000483: 27,3232 05173 TC TWIDDLE
037645,000484: 27,3233 03245 ADRES ENGOFF1
037646,000485: 27,3234 05353 TC PHASCHNG
037647,000486: 27,3235 47014 OCT 47014
037648,000487: 27,3236 76133 -GENADR ENGOFFDT
037649,000488: 27,3237 E7,1514 EBANK= TGO
037650,000489: 27,3237 03245 56067 2CADR ENGOFF1
037651,000490:
Page 854 |
037653,000492: 27,3241 06036 TC INTPRET
037654,000493: 27,3242 52014 SET GOTO
037655,000494: 27,3243 03470 IDLEFLAG # DISABLE DELTA-V MONITOR
037656,000495: 27,3244 60457 T2TEST
037657,000496:
037658,000497: 27,3245 04674 ENGOFF1 TC IBNKCALL # SHUT OFF THE ENGINE.
037659,000498: 27,3246 75551 CADR ENGINOF2
037660,000499:
037661,000500: 27,3247 35027 CAF PRIO17 # SET UP A JOB FOR THE ASCENT GUIDANCE
037662,000501: 27,3250 05105 TC FINDVAC # POSTBURN LOGIC.
037663,000502: 27,3251 E7,1453 EBANK= WHICH
037664,000503: 27,3251 03261 56067 2CADR CUTOFF
037665,000504: 27,3253 05353 TC PHASCHNG
037666,000505: 27,3254 07024 OCT 07024
037667,000506: 27,3255 17000 OCT 17000
037668,000507: 27,3256 E7,1514 EBANK= TGO
037669,000508: 27,3256 03261 56067 2CADR CUTOFF
037670,000509: 27,3260 15261 TCF TASKOVER
037671,000510:
037672,000511: 27,3261 05504 CUTOFF TC UPFLAG # SET FLRCS FLAG.
037673,000512: 27,3262 00214 ADRES FLRCS
037674,000513:
037675,000514: 27,3263 33330 -5 CAF V16N63
037676,000515: 27,3264 04616 TC BANKCALL
037677,000516: 27,3265 20351 CADR GOFLASH
037678,000517: 27,3266 13306 TCF TERMASC
037679,000518: 27,3267 13271 TCF CUTOFF1
037680,000519: 27,3270 13263 TCF -5
037681,000520:
037682,000521: 27,3271 00004 CUTOFF1 INHINT
037683,000522: 27,3272 04674 TC IBNKCALL # ZERO ATTITUDE ERRORS BEFORE REDUCING DB.
037684,000523: 27,3273 40153 CADR ZATTEROR
037685,000524: 27,3274 04674 TC IBNKCALL
037686,000525: 27,3275 40140 CADR SETMINDB
037687,000526: 27,3276 05353 TC PHASCHNG
037688,000527: 27,3277 04024 OCT 04024
037689,000528:
037690,000529: 27,3300 33331 -5 CAF V16N85C
037691,000530: 27,3301 04616 TC BANKCALL
037692,000531: 27,3302 20351 CADR GOFLASH
037693,000532: 27,3303 13306 TCF TERMASC
037694,000533: 27,3304 13306 TCF +2 # PROCEED
037695,000534: 27,3305 13300 TCF -5
037696,000535:
037697,000536: 27,3306 05353 TERMASC TC PHASCHNG
037698,000537: 27,3307 04024 OCT 04024
037699,000538:
037700,000539: 27,3310 00004 INHINT # RESTORE DEADBAND DESIRED BY ASTRONAUT.
037701,000540:
Page 855 |
037703,000542: 27,3311 04674 TC IBNKCALL
037704,000543: 27,3312 40123 CADR RESTORDB
037705,000544: 27,3313 05516 TC DOWNFLAG # DISALLOW ABORTS AT THIS TIME.
037706,000545: 27,3314 00215 ADRES LETABORT
037707,000546: 27,3315 16001 TCF GOTOPOOH
037708,000547:
037709,000548: 27,3316 50375 YCOMP VLOAD DOT
037710,000549: 27,3317 03535 UNIT/R/
037711,000550: 27,3320 03716 QAXIS
037712,000551: 27,3321 67552 SL1 ARCSIN
037713,000552: 27,3322 41205 DMP DMP
037714,000553: 27,3323 03627 RCO
037715,000554: 27,3324 15404 2PI/8
037716,000555: 27,3325 77652 SL3
037717,000556: 27,3326 02341 STORE Y
037718,000557: 27,3327 77616 RVQ
037719,000558:
037720,000559: 27,3330 04077 V16N63 VN 1663
037721,000560: 27,3331 04125 V16N85C VN 1685
037722,000561:
037723,000562: 30,3025 BANK 30
037724,000563: 30,2000 SETLOC ASENT
037725,000564: 30,2000 BANK
037726,000565:
Page 856 |
037728,000567: # ASCENT GUIDANCE CONSTANTS
037729,000568:
037730,000569: 30,3025 33,3200 100CS EQUALS 2SEC(18)
037731,000570: 30,3025 30,3027 T2A EQUALS 2SEC(17)
037732,000571: 30,3025 00062 00000 4SEC(17) 2DEC 400 B-17
037733,000572: 30,3027 00031 00000 2SEC(17) 2DEC 200 B-17
037734,000573: 30,3031 00175 00000 T3 2DEC 1000 B-17
037735,000574: 30,3033 00017 23305 40FPS 2DEC .12192 B-7 # 40 FT/SEC EXPRESSED IN M/CS.
037736,000575: 30,3035 00045 20000 6SEC(18) 2DEC 600 B-18
037737,000576: 30,3037 00010 BIT4H OCT 10
037738,000577: 30,3040 14400 00000 2SEC(9) 2DEC 200 B-9
037739,000578: 30,3042 01477 V06N63* VN 0663
037740,000579: 30,3043 01514 V06N76 VN 0676
037741,000580: 30,3044 01441 V06N33A VN 0633
037742,000581:
037743,000582: 30,3045 20000 00000 KT1 2DEC 0.5000
037744,000583: 30,3047 75751 41775 PRLIMIT 2DEC -.0639 # (B/TBUP)MIN=-.1FT.SEC(-3)
037745,000584: 30,3051 00545 00171 SIN5DEG 2DEC .08716 B-2
037746,000585: 30,3053 00022 07212 MINABDV 2DEC .0356 B-5 # 10 PERCENT BIGGER THAN GRAVITY
037747,000586: 30,3055 E7,1566 1/DV0 = MASS1
037748,000587:
Page 857 |
037750,000589: # THE LOGARITHM SUBROUTINE
037751,000590:
037752,000591: 24,3504 BANK 24
037753,000592: 32,2000 SETLOC FLOGSUB
037754,000593: 32,2000 BANK
037755,000594:
037756,000595: # INPUT ..... X IN MPAC
037757,000596: # OUTPUT ..... -LOG(X) IN MPAC
037758,000597:
037759,000598: 32,3613 44301 LOGSUB NORM BDSU
037760,000599: 32,3614 00163 MPAC +6
037761,000600: 32,3615 17743 NEARONE
037762,000601: 32,3616 77776 EXIT
037763,000602: 32,3617 07221 TC POLY
037764,000603: 32,3620 00006 DEC 6 B-14
037765,000604: 32,3621 00000 00002 2DEC .0000000060
037766,000605: 32,3623 76777 77175 2DEC -.0312514377
037767,000606: 32,3625 77400 75416 2DEC -.0155686771
037768,000607: 32,3627 77507 65515 2DEC -.0112502068
037769,000608: 32,3631 77741 63547 2DEC -.0018545108
037770,000609: 32,3633 77052 55373 2DEC -.0286607906
037771,000610: 32,3635 01167 30361 2DEC .0385598563
037772,000611: 32,3637 76520 75267 2DEC -.0419361902
037773,000612:
037774,000613: 32,3641 34755 CAF ZERO
037775,000614: 32,3642 54156 TS MPAC +2
037776,000615: 32,3643 00006 EXTEND
037777,000616: 32,3644 33660 DCA CLOG2/32
037778,000617: 32,3645 52155 DXCH MPAC
037779,000618: 32,3646 52132 DXCH BUF +1
037780,000619: 32,3647 30162 CA MPAC +6
037781,000620: 32,3650 07306 TC SHORTMP
037782,000621: 32,3651 52156 DXCH MPAC +1
037783,000622: 32,3652 52155 DXCH MPAC
037784,000623: 32,3653 52132 DXCH BUF +1
037785,000624: 32,3654 20155 DAS MPAC
037786,000625: 32,3655 06036 TC INTPRET
037787,000626: 32,3656 43476 DCOMP RVQ
037788,000627:
037789,000628: 32,3657 00542 34414 CLOG2/32 2DEC .0216608494
End of include-file ASCENT_GUIDANCE.agc. Parent file is MAIN.agc