Source Code

034433,000001: # Copyright: Public domain. 034434,000002: # Filename: LUNAR_LANDING_GUIDANCE_EQUATIONS.agc 034435,000003: # Purpose: Part of the source code for Luminary 1A build 099. 034436,000004: # It is part of the source code for the Lunar Module's (LM) 034437,000005: # Apollo Guidance Computer (AGC), for Apollo 11. 034438,000006: # Assembler: yaYUL 034439,000007: # Contact: HARTMUTH GUTSCHE <hgutsche@xplornet.com>. 034440,000008: # Website: www.ibiblio.org/apollo. 034441,000009: # Pages: 798-828 034442,000010: # Mod history: 2009-05-23 HG Transcribed from page images. 034443,000011: # 2009-06-05 RSB Fixed a goofy thing that was apparently 034444,000012: # legal in GAP but not in yaYUL. Eliminated 034445,000013: # a couple of lines of code that shouldn't 034446,000014: # have survived from Luminary 131 to here. 034447,000015: # 2009-06-07 RSB Fixed a typo. 034448,000016: # 2011-01-06 JL Fixed pseudo-labels which were incorrectly real labels. 034449,000017: # 2011-05-07 JL Removed workaround. 034450,000018: 034451,000019: # This source code has been transcribed or otherwise adapted from 034452,000020: # digitized images of a hardcopy from the MIT Museum. The digitization 034453,000021: # was performed by Paul Fjeld, and arranged for by Deborah Douglas of 034454,000022: # the Museum. Many thanks to both. The images (with suitable reduction 034455,000023: # in storage size and consequent reduction in image quality as well) are 034456,000024: # available online at www.ibiblio.org/apollo. If for some reason you 034457,000025: # find that the images are illegible, contact me at info@sandroid.org 034458,000026: # about getting access to the (much) higher-quality images which Paul 034459,000027: # actually created. 034460,000028: 034461,000029: # Notations on the hardcopy document read, in part: 034462,000030: 034463,000031: # Assemble revision 001 of AGC program LMY99 by NASA 2021112-61 034464,000032: # 16:27 JULY 14, 1969 034465,000033: 034466,000034: # Page 798 034467,000035: 31,2420 E7,1621 EBANK= E2DPS 034468,000036: 31,2420 COUNT* $$/F2DPS 034469,000037: 034470,000038: # ******************************************************** 034471,000039: # LUNAR LANDING FLIGHT SEQUENCE TABLES 034472,000040: # ******************************************************** 034473,000041: 034474,000042: # FLIGHT SEQUENCE TABLES ARE ARRANGED BY FUNCTION. THEY ARE REFERENCED USING AS AN INDEX THE REGISTER WCHPHASE: 034475,000043: # WCHPHASE = -1 ---> IGNALG 034476,000044: # WCHPHASE = 0 ---> BRAKQUAD 034477,000045: # WCHPHASE = 1 ---> APPRQUAD 034478,000046: # WCHPHASE = 2 ---> VERTICAL 034479,000047: 034480,000048: # ********************************************************* 034481,000049: 034482,000050: # ROUTINES FOR STARTING NEW GUIDANCE PHASES: 034483,000051: 034484,000052: 31,2420 12641 TCF TTFINCR # IGNALG 034485,000053: 31,2421 12641 NEWPHASE TCF TTFINCR # BRAKQUAD 034486,000054: 31,2422 12630 TCF STARTP64 # APPRQUAD 034487,000055: 31,2423 12621 TCF P65START # VERTICAL 034488,000056: 034489,000057: # PRE-GUIDANCE COMPUTATIONS: 034490,000058: 034491,000059: 31,2424 13003 TCF CALCRGVG # IGNALG 034492,000060: 31,2425 13013 PREGUIDE TCF RGVGCALC # BRAKQUAD 034493,000061: 31,2426 12704 TCF REDESIG # APPRQUAD 034494,000062: 31,2427 13013 TCF RGVGCALC # VERTICAL 034495,000063: 034496,000064: # GUIDANCE EQUATIONS: 034497,000065: 034498,000066: 31,2430 13061 TCF TTF/8CL # IGNALG 034499,000067: 31,2431 13061 WHATGUID TCF TTF/8CL # BRAKQUAD 034500,000068: 31,2432 13061 TCF TTF/8CL # APPRQUAD 034501,000069: 31,2433 13531 TCF VERTGUID # VERTICAL 034502,000070: 034503,000071: # POST GUIDANCE EQUATION COMPUTATIONS: 034504,000072: 034505,000073: 31,2434 13245 TCF CGCALC # IGNALG 034506,000074: 31,2435 13245 AFTRGUID TCF CGCALC # BRAKQUAD 034507,000075: 31,2436 13245 TCF CGCALC # APPRQUAD 034508,000076: 31,2437 13432 TCF STEER? # VERTICAL 034509,000077: 034510,000078: # Page 799 034511,000079: # WINDOW VECTOR COMPUTATIONS: 034512,000080: 034513,000081: 31,2440 13331 TCF EXGSUB # IGNALG 034514,000082: 31,2441 13352 WHATEXIT TCF EXBRAK # BRAKQUAD 034515,000083: 31,2442 13360 TCF EXNORM # APPRQUAD 034516,000084: 034517,000085: # DISPLAY ROUTINES: 034518,000086: 034519,000087: 31,2443 13473 WHATDISP TCF P63DISPS # BRAKQUAD 034520,000088: 31,2444 13477 TCF P64DISPS # APPRQUAD 034521,000089: 31,2445 13527 TCF VERTDISP # VERTICAL 034522,000090: 034523,000091: # ALARM ROUTINE FOR TTF COMPUTATION: 034524,000092: 034525,000093: 31,2446 13733 TCF 1406P00 # IGNALG 034526,000094: 31,2447 13735 WHATALM TCF 1406ALM # BRAKQUAD 034527,000095: 31,2450 13735 TCF 1406ALM # APPRQUAD 034528,000096: 034529,000097: # INDICES FOR REFERENCING TARGET PARAMETERS 034530,000098: 034531,000099: 31,2451 00000 OCT 0 # IGNALG 034532,000100: 31,2452 00000 TARGTDEX OCT 0 # BRAKQUAD 034533,000101: 31,2453 00034 OCT 34 # APPRQUAD 034534,000102: 034535,000103: # ************************************************************************ 034536,000104: # ENTRY POINTS: ?GUIDSUB FOR THE IGNITION ALGORITHM, LUNLAND FOR SERVOUT 034537,000105: # ************************************************************************ 034538,000106: 034539,000107: # IGNITION ALGORITHM ENTRY: DELIVERS N PASSES OF QUADRATIC GUIDANCE 034540,000108: 034541,000109: 31,2454 77776 ?GUIDSUB EXIT 034542,000110: 31,2455 34752 CAF TWO # N = 3 034543,000111: 31,2456 55647 TS NGUIDSUB 034544,000112: 31,2457 12603 TCF GUILDRET +2 034545,000113: 034546,000114: 31,2460 55647 GUIDSUB TS NGUIDSUB # ON SUCCEEDING PASSES SKIP TTFINCR 034547,000115: 31,2461 13003 TCF CALCRGVG 034548,000116: 034549,000117: # NORMAL ENTRY: CONTROL COMES HERE FROM SERVOUT 034550,000118: 034551,000119: 31,2462 05353 LUNLAND TC PHASCHNG 034552,000120: 31,2463 00035 OCT 00035 # GROUP 5: RETAIN ONLY PIPA TASK 034553,000121: 31,2464 05353 TC PHASCHNG 034554,000122: 31,2465 05023 OCT 05023 # GROUP 3: PROTECT GUIDANCE WITH PRIO 21 034555,000123: 31,2466 21000 OCT 21000 # JUST HIGHER THAN SERVICER'S PRIORITY 034556,000124: 034557,000125: # Page 800 034558,000126: # ******************************************************************* 034559,000127: # GUILDENSTERN: AUTO-MODES MONITOR (R13) 034560,000128: # ******************************************************************* 034561,000129: 034562,000130: 31,2467 COUNT* $$/R13 034563,000131: 034564,000132: # HERE IS THE PHILOSOPHY OF GUILDENSTERN: ON EVERY APPEARANCE OR DISAPPEARANCE OF THE MANUAL THROTTLE 034565,000133: # DISCRETE TO SELECT P67 OR P66 RESPECTIVELY: ON EVERY APPEARANCE OF THE ATTITUDE-HOLD DISCRETE TO SELECT P66 034566,000134: # UNLESS THE CURRENT PROGRAM IS P67 IN WHICH CASE THERE IS NO CHANGE 034567,000135: 034568,000136: 31,2467 00006 GUILDEN EXTEND # IS UN-AUTO-THROTTLE DISCRETE PRESENT? 034569,000137: 31,2470 00030 READ CHAN30 034570,000138: 31,2471 74747 MASK BIT5 034571,000139: 31,2472 10000 CCS A 034572,000140: 31,2473 12551 TCF STARTP67 # YES 034573,000141: 31,2474 05321 P67NOW? TC CHECKMM # NO: ARE WE IN P67 NOW? 034574,000142: 31,2475 00103 DEC 67 B-14 034575,000143: 31,2476 12557 TCF STABL? # NO 034576,000144: 31,2477 03740 STARTP66 TC FASTCHNG # YES 034577,000145: 31,2500 05311 TC NEWMODEX 034578,000146: 31,2501 00102 DEC66 DEC 66 B-14 034579,000147: 31,2502 00006 EXTEND 034580,000148: 31,2503 31474 DCA HDOTDISP # SET DESIRED ALTITUDE RATE = CURRENT 034581,000149: 31,2504 53645 DXCH VDGVERT # ALTITUDE RATE. 034582,000150: 31,2505 06037 STRTP66A TC INTPRET 034583,000151: 31,2506 41535 SLOAD PUSH 034584,000152: 31,2507 01457 PBIASZ 034585,000153: 31,2510 41535 SLOAD PUSH 034586,000154: 31,2511 01455 PBIASY 034587,000155: 31,2512 55535 SLOAD VDEF 034588,000156: 31,2513 01453 PBIASX 034589,000157: 31,2514 43161 VXSC SET 034590,000158: 31,2515 25537 BIASFACT 034591,000159: 31,2516 00463 RODFLAG 034592,000160: 31,2517 26631 STOVL VBIAS 034593,000161: 31,2520 01255 TEMX 034594,000162: 31,2521 77676 VCOMP 034595,000163: 31,2522 27764 STOVL OLDPIPAX 034596,000164: 31,2523 06522 ZEROVECS 034597,000165: 31,2524 17767 STODL DELVROD 034598,000166: 31,2525 02540 RODSCALE 034599,000167: 31,2526 17757 STODL RODSCAL1 034600,000168: 31,2527 01235 PIPTIME 034601,000169: 31,2530 03760 STORE LASTTPIP 034602,000170: 31,2531 77776 EXIT 034603,000171: 31,2532 34755 CAF ZERO 034604,000172: 31,2533 55620 TS FCOLD 034605,000173: 31,2534 55610 TS FWEIGHT 034606,000174: 31,2535 55611 TS FWEIGHT +1 034607,000175: 31,2536 55647 VRTSTART TS WCHVERT 034608,000176: # Page 801 034609,000177: 31,2537 34752 CAF TWO # WCHPHASE = 2 ---> VERTICAL: P65,P66,P67 034610,000178: 31,2540 55621 TS WCHPHOLD 034611,000179: 31,2541 55351 TS WCHPHASE 034612,000180: 31,2542 04616 TC BANKCALL # TEMPORARY, I HOPE HOPE HOPE 034613,000181: 31,2543 40165 CADR STOPRATE # TEMPORARY, I HOPE HOPE HOPE 034614,000182: 31,2544 05516 TC DOWNFLAG # PERMIT X-AXIS OVERRIDE 034615,000183: 31,2545 00311 ADRES XOVINFLG 034616,000184: 31,2546 05516 TC DOWNFLAG 034617,000185: 31,2547 00143 ADRES REDFLAG 034618,000186: 31,2550 13531 TCF VERTGUID 034619,000187: 034620,000188: 31,2551 05311 STARTP67 TC NEWMODEX # NO HARM IN "STARTING" P67 OVER AND OVER 034621,000189: 31,2552 00103 DEC 67 B-14 # SO NO NEED FOR A FASTCHNG AND NO NEED 034622,000190: 31,2553 34755 CAF ZERO # TO SEE IF ALREADY IN P67. 034623,000191: 31,2554 55746 TS RODCOUNT 034624,000192: 31,2555 34363 CAF TEN 034625,000193: 31,2556 12536 TCF VRTSTART 034626,000194: 034627,000195: 31,2557 34737 STABL? CAF BIT13 # IS UN-ATTITUDE-HOLD DISCRETE PRESENT? 034628,000196: 31,2560 00006 EXTEND 034629,000197: 31,2561 02031 RAND CHAN31 034630,000198: 31,2562 10000 CCS A 034631,000199: 31,2563 12601 TCF GUILDRET # YES ALL'S WELL 034632,000200: 034633,000201: 31,2564 41011 P66NOW? CS MODREG 034634,000202: 31,2565 62501 AD DEC66 034635,000203: 31,2566 00006 EXTEND 034636,000204: 31,2567 12574 BZF RESTART? 034637,000205: 034638,000206: 31,2570 31746 CA RODCOUNT # NO. HAS THE ROD SWITCH BEEN "CLICKED"? 034639,000207: 31,2571 00006 EXTEND 034640,000208: 31,2572 12601 BZF GUILDRET # NO. CONTINUE WITH AUTOMATIC LANDING 034641,000209: 31,2573 12477 TCF STARTP66 # YES. SWITCH INTO THE ROD MODE. 034642,000210: 034643,000211: 31,2574 30075 RESTART? CA FLAGWRD1 # HAS THERE BEEN A RESTART? 034644,000212: 31,2575 74740 MASK RODFLBIT 034645,000213: 31,2576 00006 EXTEND 034646,000214: 31,2577 12505 BZF STRTP66A # YES. REINITIALIZE BUT LEAVE VDGVERT AS 034647,000215: # IS. 034648,000216: 034649,000217: 31,2600 13531 TCF VERTGUID # NO: CONTINUE WITH R.O.D. 034650,000218: 034651,000219: # ******************************************************************************* 034652,000220: # INITIALIZATION FOR THIS PASS 034653,000221: # ******************************************************************************* 034654,000222: 034655,000223: 31,2601 COUNT* $$/F2DPS 034656,000224: 034657,000225: 31,2601 34755 GUILDRET CAF ZERO 034658,000226: 31,2602 55746 TS RODCOUNT 034659,000227: 034660,000228: # Page 802 034661,000229: 31,2603 00006 +2 EXTEND 034662,000230: 31,2604 31625 DCA TPIP 034663,000231: 31,2605 53574 DXCH TPIPOLD 034664,000232: 034665,000233: 31,2606 03740 TC FASTCHNG 034666,000234: 034667,000235: 31,2607 00006 EXTEND 034668,000236: 31,2610 31561 DCA PIPTIME1 034669,000237: 31,2611 53625 DXCH TPIP 034670,000238: 034671,000239: 31,2612 00006 EXTEND 034672,000240: 31,2613 31643 DCA TTF/8 034673,000241: 31,2614 53553 DXCH TTF/8TMP 034674,000242: 034675,000243: 31,2615 11623 CCS FLPASS0 034676,000244: 31,2616 12641 TCF TTFINCR 034677,000245: 034678,000246: 31,2617 51351 BRSPOT1 INDEX WCHPHASE 034679,000247: 31,2620 12421 TCF NEWPHASE 034680,000248: 034681,000249: # ****************************************************************** 034682,000250: # ROUTINES TO START NEW PHASES 034683,000251: # ****************************************************************** 034684,000252: 034685,000253: 31,2621 05311 P65START TC NEWMODEX 034686,000254: 31,2622 00101 DEC 65 B-14 034687,000255: 31,2623 44752 CS TWO 034688,000256: 31,2624 55647 TS WCHVERT 034689,000257: 31,2625 05516 TC DOWNFLAG # PERMIT X-AXIS OVERRIDE 034690,000258: 31,2626 00311 ADRES XOVINFLG 034691,000259: 31,2627 12641 TCF TTFINCR 034692,000260: 034693,000261: 31,2630 05311 STARTP64 TC NEWMODEX 034694,000262: 31,2631 00100 DEC 64 B-14 034695,000263: 31,2632 31425 CA DELTTFAP # AUGMENT TTF/8 034696,000264: 31,2633 27552 ADS TTF/8TMP 034697,000265: 31,2634 34740 CA BIT12 # ENABLE RUPT10 034698,000266: 31,2635 00006 EXTEND 034699,000267: 31,2636 05013 WOR CHAN13 034700,000268: 31,2637 05516 TC DOWNFLAG # INITIALIZE REDESIGNATION FLAG 034701,000269: 31,2640 00143 ADRES REDFLAG 034702,000270: 034703,000271: 034704,000272: # (CONTINUE TO TTFINCR) 034705,000273: 034706,000274: # ********************************************************************************* 034707,000275: # INCREMENT TTF/8, UPDATE LAND FOR LUNAR ROTATION, DO OTHER USEFUL THINGS 034708,000276: # ********************************************************************************* 034709,000277: 034710,000278: # TTFINCR COMPUTATIONS ARE AS FOLLOWS -- 034711,000279: # Page 803 034712,000280: # TTF/8 UPDATED FOR TIME SINCE LAST PASS: 034713,000281: # TTF/8 = TTF/8 + (TPIP - TPIPOLD)/8 034714,000282: # LANDING SITE VECTOR UPDATED FOR LUNAR ROTATION: 034715,000283: # ____ ____ ____ __ 034716,000284: # LAND = /LAND/ UNIT(LAND - LAND(TPIP - TPIPOLD) * WM) 034717,000285: # SLANT RANGE TO LANDING SITE, FOR DISPLAY: 034718,000286: # ____ _ 034719,000287: # RANGEDSP = ABVAL(LAND - R) 034720,000288: 034721,000289: 31,2641 06037 TTFINCR TC INTPRET 034722,000290: 31,2642 45345 DLOAD DSU 034723,000291: 31,2643 03625 TPIP 034724,000292: 31,2644 03574 TPIPOLD 034725,000293: 31,2645 41461 SLR PUSH # SHIFT SCALES DELTA TIME TO 2(17) CSECS 034726,000294: 31,2646 21214 11D 034727,000295: 31,2647 47361 VXSC VXV 034728,000296: 31,2650 03635 LAND 034729,000297: 31,2651 02325 WM 034730,000298: 31,2652 47045 BVSU RTB 034731,000299: 31,2653 03635 LAND 034732,000300: 31,2654 21726 NORMUNIT 034733,000301: 31,2655 76561 VXSC VSL1 034734,000302: 31,2656 02333 /LAND/ 034735,000303: 31,2657 17545 STODL LANDTEMP 034736,000304: 31,2660 77776 EXIT 034737,000305: 034738,000306: 31,2661 52155 DXCH MPAC 034739,000307: 31,2662 21553 DAS TTF/8TMP # NOW HAVE INCREMENTED TTF/8 IN TTF/8TMP 034740,000308: 034741,000309: 31,2663 03740 TC FASTCHNG 034742,000310: 034743,000311: 31,2664 00006 EXTEND 034744,000312: 31,2665 31553 DCA TTF/8TMP 034745,000313: 31,2666 53643 DXCH TTF/8 034746,000314: 034747,000315: 31,2667 00006 EXTEND 034748,000316: 31,2670 31545 DCA LANDTEMP 034749,000317: 31,2671 53635 DXCH LAND 034750,000318: 31,2672 00006 EXTEND 034751,000319: 31,2673 31547 DCA LANDTEMP +2 034752,000320: 31,2674 53637 DXCH LAND +2 034753,000321: 31,2675 00006 EXTEND 034754,000322: 31,2676 31551 DCA LANDTEMP +4 034755,000323: 31,2677 53641 DXCH LAND +4 034756,000324: 034757,000325: # Page 804 034758,000326: 31,2700 03704 TC TDISPSET 034759,000327: 31,2701 03740 TC FASTCHNG # SINCE REDESIG MAY CHANGE LANDTEMP 034760,000328: 034761,000329: 31,2702 51351 BRSPOT2 INDEX WCHPHASE 034762,000330: 31,2703 12425 TCF PREGUIDE 034763,000331: 034764,000332: # ********************************************************************* 034765,000333: # LANDING SITE PERTURBATION EQUATIONS 034766,000334: # ********************************************************************* 034767,000335: 034768,000336: 31,2704 30102 REDESIG CA FLAGWRD6 # IS REDFLAG SET? 034769,000337: 31,2705 74746 MASK REDFLBIT 034770,000338: 31,2706 00006 EXTEND 034771,000339: 31,2707 13013 BZF RGVGCALC # NO: SKIP REDESIGNATION LOGIC 034772,000340: 034773,000341: 31,2710 31666 CA TREDES # YES: HAS TREDES REACHED ZERO? 034774,000342: 31,2711 00006 EXTEND 034775,000343: 31,2712 13013 BZF RGVGCALC # YES: SKIP REDESIGNATION LOGIC 034776,000344: 034777,000345: 31,2713 00004 INHINT 034778,000346: 31,2714 31267 CA ELINCR1 034779,000347: 31,2715 55554 TS ELINCR 034780,000348: 31,2716 31266 CA AZINCR1 034781,000349: 31,2717 55556 TS AZINCR 034782,000350: 31,2720 03740 TC FASTCHNG 034783,000351: 034784,000352: 31,2721 34755 CA ZERO 034785,000353: 31,2722 55267 TS ELINCR1 034786,000354: 31,2723 55266 TS AZINCR1 034787,000355: 31,2724 55555 TS ELINCR +1 034788,000356: 31,2725 55557 TS AZINCR +1 034789,000357: 034790,000358: 31,2726 30120 CA FIXLOC # SET PD TO 0 034791,000359: 31,2727 54166 TS PUSHLOC 034792,000360: 034793,000361: 31,2730 06037 TC INTPRET 034794,000362: 31,2731 52375 VLOAD VSU 034795,000363: 31,2732 03635 LAND 034796,000364: 31,2733 03521 R # ____ _ 034797,000365: 31,2734 41434 RTB PUSH # PUSH DOWN UNIT (LAND - R) 034798,000366: 31,2735 21726 NORMUNIT 034799,000367: 31,2736 76435 VXV VSL1 034800,000368: 31,2737 02154 YNBPIP # ___ ____ _ 034801,000369: 31,2740 65361 VXSC PDDL # PUSH DOWN - ELINCR(YNB * UNIT(LAND - R)) 034802,000370: 31,2741 03555 ELINCR 034803,000371: 31,2742 03557 AZINCR 034804,000372: 31,2743 52361 VXSC VSU 034805,000373: 31,2744 02154 YNBPIP 034806,000374: 31,2745 41455 VAD PUSH # RESULTING VECTOR IS 1/2 REAL SIZE 034807,000375: 034808,000376: # Page 805 034809,000377: 034810,000378: 31,2746 45345 DLOAD DSU # MAKE SURE REDESIGNATION IS NOT 034811,000379: 31,2747 00001 0 # TOO CLOSE TO THE HORIZON. 034812,000380: 31,2750 05660 DEPRCRIT 034813,000381: 31,2751 71240 BMN DLOAD 034814,000382: 31,2752 62755 REDES1 034815,000383: 31,2753 05660 DEPRCRIT 034816,000384: 31,2754 00001 STORE 0 034817,000385: 31,2755 45345 REDES1 DLOAD DSU 034818,000386: 31,2756 03635 LAND 034819,000387: 31,2757 03521 R 034820,000388: 31,2760 74271 DDV VXSC 034821,000389: 31,2761 00001 0 034822,000390: 31,2762 53455 VAD UNIT 034823,000391: 31,2763 03521 R 034824,000392: 31,2764 76561 VXSC VSL1 034825,000393: 31,2765 02333 /LAND/ 034826,000394: 31,2766 03545 STORE LANDTEMP 034827,000395: 31,2767 77776 EXIT # LOOKANGL WILL BE COMPUTED AT RGVGCALC 034828,000396: 034829,000397: 31,2770 03740 TC FASTCHNG 034830,000398: 034831,000399: 31,2771 00006 EXTEND 034832,000400: 31,2772 31545 DCA LANDTEMP 034833,000401: 31,2773 53635 DXCH LAND 034834,000402: 31,2774 00006 EXTEND 034835,000403: 31,2775 31547 DCA LANDTEMP +2 034836,000404: 31,2776 53637 DXCH LAND +2 034837,000405: 31,2777 00006 EXTEND 034838,000406: 31,3000 31551 DCA LANDTEMP +4 034839,000407: 31,3001 53641 DXCH LAND +4 034840,000408: 034841,000409: 31,3002 13013 TCF RGVGCALC 034842,000410: 034843,000411: # ********************************************************************* 034844,000412: # COMPUTE STATE IN GUIDANCE COORDINATES 034845,000413: # ********************************************************************* 034846,000414: 034847,000415: # RGVGCALC COMPUTATIONS ARE AS FOLLOWS:-- 034848,000416: # VELOCITY RELATIVE TO THE SURFACE 034849,000417: # _______ _ _ __ 034850,000418: # ANGTERM = V + R * WM 034851,000419: # STATE IN GUIDANCE COORDINTES: 034852,000420: # ___ * _ ____ 034853,000421: # RGU = CG (R - LAND) 034854,000422: # ___ * _ __ _ 034855,000423: # VGU = CG (V - WM * R) 034856,000424: # Page 806 actually starts one line earlier but that would separate the markers from their variables 034857,000425: 034858,000426: # HORIZONTAL VELOCITY FOR DISPLAY 034859,000427: 034860,000428: # VHORIZ = 8 ABVAL (0, VG , VG ) 034861,000429: # 2 1 034862,000430: # DEPRESSION ANGLE FOR DISPLAY: 034863,000431: # _ ____ ______ 034864,000432: # LOOKANGL = ARCSIN(UNIT(R - LAND).XMBPIP) 034865,000433: 034866,000434: 31,3003 06037 CALCRGVG TC INTPRET # IN IGNALG, COMPUTE V FROM INTEGRATION 034867,000435: 31,3004 64375 VLOAD MXV # OUTPUT AND TRIM CORRECTION TERM 034868,000436: 31,3005 00025 VATT1 # COMPUTED LAST PASS AND LEFT IN UNFC/2 034869,000437: 31,3006 01734 REFSMMAT 034870,000438: 31,3007 53362 VSR1 VAD 034871,000439: 31,3010 03254 UNFC/2 034872,000440: 31,3011 03527 STORE V 034873,000441: 31,3012 77776 EXIT 034874,000442: 034875,000443: 31,3013 06037 RGVGCALC TC INTPRET # ENTER HERE TO RECOMPUTE RG AND VG 034876,000444: 31,3014 47375 VLOAD VXV 034877,000445: 31,3015 03521 R 034878,000446: 31,3016 02325 WM 034879,000447: 31,3017 70455 VAD VSR2 # RESCALE TO UNITS OF 2(9) M/CS 034880,000448: 31,3020 03527 V 034881,000449: 31,3021 02265 STORE ANGTERM 034882,000450: 31,3022 77721 MXV 034883,000451: 31,3023 02603 CG # NO SHIFT SINCE ANGTERM IS DOUBLE SIZED 034884,000452: 31,3024 03627 STORE VGU 034885,000453: 31,3025 55525 PDDL VDEF # FORM (0,VG ,VG ) IN UNITS OF 2(10) M/CS 034886,000454: 31,3026 06522 ZEROVECS # 2 1 034887,000455: 31,3027 52446 ABVAL SL3 034888,000456: 31,3030 26263 STOVL VHORIZ # VHORIZ FOR DISPLAY DURING P65. 034889,000457: 31,3031 03521 R # _ ____ 034890,000458: 31,3032 41451 VSU PUSH # PUSH DOWN R - LAND 034891,000459: 31,3033 03635 LAND 034892,000460: 31,3034 76521 MXV VSL1 034893,000461: 31,3035 02603 CG 034894,000462: 31,3036 02637 STORE RGU 034895,000463: 31,3037 77646 ABVAL 034896,000464: 31,3040 26625 STOVL RANGEDSP 034897,000465: 31,3041 50234 RTB DOT # NOW IN MPAC IS SINE(LOOKANGL)/4 034898,000466: 31,3042 21726 NORMUNIT 034899,000467: 31,3043 02146 XNBPIP 034900,000468: 31,3044 77776 EXIT 034901,000469: 034902,000470: 31,3045 30120 CA FIXLOC # RESET PUSH DOWN POINTER 034903,000471: 31,3046 54166 TS PUSHLOC 034904,000472: 034905,000473: # Page 807 034906,000474: 31,3047 30154 CA MPAC # COMPUTE LOOKANGLE ITSELF 034907,000475: 31,3050 60000 DOUBLE 034908,000476: 31,3051 04616 TC BANKCALL 034909,000477: 31,3052 61672 CADR SPARCSIN -1 034910,000478: 31,3053 63753 AD 1/2DEG 034911,000479: 31,3054 00006 EXTEND 034912,000480: 31,3055 73752 MP 180DEGS 034913,000481: 31,3056 55667 TS LOOKANGL # LOOKANGL FOR DISPLAY DURING P64 034914,000482: 034915,000483: 31,3057 51351 BRSPOT3 INDEX WCHPHASE 034916,000484: 31,3060 12431 TCF WHATGUID 034917,000485: 034918,000486: # ************************************************************************** 034919,000487: # TTF/8 COMPUTATION 034920,000488: # ************************************************************************** 034921,000489: 034922,000490: 31,3061 03677 TTF/8CL TC INTPRETX 034923,000491: 31,3062 77743 DLOAD* 034924,000492: 31,3063 02431 JDG2TTF,1 034925,000493: 31,3064 23571 STODL* TABLTTF +6 # A(3) = 8 JDG TO TABLTTF 034926,000494: 31,3065 02427 ADG2TTF,1 # 2 034927,000495: 31,3066 17567 STODL TABLTTF +4 # A(2) = 6 ADG TO TABLTTF 034928,000496: 31,3067 03633 VGU +4 # 2 034929,000497: 31,3070 42605 DMP DAD* 034930,000498: 31,3071 05656 3/4DP 034931,000499: 31,3072 02425 VDG2TTF,1 034932,000500: 31,3073 23565 STODL* TABLTTF +2 # A(1) = (6 VGU + 18 VDG )/8 TO TABLTTF 034933,000501: 31,3074 02407 RDG +4,1 # 2 2 034934,000502: 31,3075 41225 DSU DMP 034935,000503: 31,3076 02643 RGU +4 034936,000504: 31,3077 05654 3/8DP 034937,000505: 31,3100 03563 STORE TABLTTF # A(0) = -24 (RGU - RDG )/64 TO TABLTTF 034938,000506: 31,3101 77776 EXIT # 2 2 034939,000507: 034940,000508: 31,3102 34744 CA BIT8 034941,000509: 31,3103 55572 TS TABLTTF +10 # FRACTIONAL PRECISION FOR TTF TO TABLE 034942,000510: 034943,000511: 31,3104 00006 EXTEND 034944,000512: 31,3105 31643 DCA TTF/8 034945,000513: 31,3106 52155 DXCH MPAC # LOADS TTF/8 (INITIAL GUESS) INTO MPAC 034946,000514: 31,3107 34752 CAF TWO # DEGREE - ONE 034947,000515: 31,3110 54001 TS L 034948,000516: 31,3111 33746 CAF TABLTTFL 034949,000517: 31,3112 03553 TC ROOTPSRS # YIELDS TTF/8 IN MPAC 034950,000518: 31,3113 51351 INDEX WCHPHASE 034951,000519: 31,3114 12447 TCF WHATALM 034952,000520: 034953,000521: 31,3115 00006 EXTEND # GOOD RETURN 034954,000522: 31,3116 30155 DCA MPAC # FETCH TTF/8 KEEPING IT IN MPAC 034955,000523: 31,3117 53643 DXCH TTF/8 # CORRECTED TTF/8 034956,000524: 034957,000525: # Page 808 034958,000526: 31,3120 03704 TC TDISPSET 034959,000527: 034960,000528: # (CONTINUE TO QUADGUID) 034961,000529: 034962,000530: # ********************************************************************************* 034963,000531: # MAIN GUIDANCE EQUATION 034964,000532: # ********************************************************************************* 034965,000533: 034966,000534: # AS PUBLISHED -- 034967,000535: # ___ __ ___ __ 034968,000536: # ___ ___ 6(VDG + VG) 12(RDG - RG) 034969,000537: # ACG = ADG + ----------- + ------------ 034970,000538: # TTF (TTF)(TTF) 034971,000539: # AS HERE PROGRAMMED -- 034972,000540: # ___ __ 034973,000541: # 3 (1/4(RDG - RG) ___ __) 034974,000542: # - (------------- + VDG + VG) 034975,000543: # ___ 4 ( TTF/8 ) ___ 034976,000544: # ACG = ---------------------------- + ADG 034977,000545: # TTF/8 034978,000546: 034979,000547: 31,3121 41642 QUADGUID CS TTF/8 034980,000548: 31,3122 61426 AD LEADTIME # LEADTIME IS A NEGATIVE NUMBER 034981,000549: 31,3123 64733 AD POSMAX # SAFEGUARD THE COMPUTATIONS THAT FOLLOW 034982,000550: 31,3124 54001 TS L # BY FORCING -TTF*LEADTIME > OR = ZERO 034983,000551: 31,3125 40001 CS L 034984,000552: 31,3126 60001 AD L 034985,000553: 31,3127 22007 ZL 034986,000554: 31,3130 00006 EXTEND 034987,000555: 31,3131 11642 DV TTF/8 034988,000556: 31,3132 54130 TS BUF # - RATIO OF LAG-DIMINISHED TTF TO TTF 034989,000557: 31,3133 00006 EXTEND 034990,000558: 31,3134 70000 SQUARE 034991,000559: 31,3135 54131 TS BUF +1 034992,000560: 31,3136 60130 AD BUF 034993,000561: 31,3137 56131 XCH BUF +1 # RATIO SQUARED - RATIO 034994,000562: 31,3140 60131 AD BUF +1 034995,000563: 31,3141 54154 TS MPAC # COEFFICIENT FOR VGU TERM 034996,000564: 31,3142 60131 AD BUF +1 034997,000565: 31,3143 50120 INDEX FIXLOC 034998,000566: 31,3144 54032 TS 26D # COEFFICIENT FOR RDG-RGU TERM 034999,000567: 31,3145 60131 AD BUF +1 035000,000568: 31,3146 50120 INDEX FIXLOC 035001,000569: 31,3147 54034 TS 28D # COEFFICIENT FOR VDG TERM 035002,000570: 31,3150 60130 AD BUF 035003,000571: 31,3151 64733 AD POSMAX 035004,000572: # Page 809 035005,000573: 31,3152 60131 AD BUF +1 035006,000574: 31,3153 60131 AD BUF +1 035007,000575: 31,3154 50120 INDEX FIXLOC 035008,000576: 31,3155 54036 TS 30D # COEFFICIENT FOR ADG TERM 035009,000577: 035010,000578: 31,3156 34755 CAF ZERO 035011,000579: 31,3157 54163 TS MODE 035012,000580: 035013,000581: 31,3160 03677 TC INTPRETX 035014,000582: 31,3161 65361 VXSC PDDL 035015,000583: 31,3162 03627 VGU 035016,000584: 31,3163 00035 28D 035017,000585: 31,3164 62757 VXSC* PDVL* 035018,000586: 31,3165 02411 VDG,1 035019,000587: 31,3166 02403 RDG,1 035020,000588: 31,3167 70251 VSU V/SC 035021,000589: 31,3170 02637 RGU 035022,000590: 31,3171 03643 TTF/8 035023,000591: 31,3172 74342 VSR2 VXSC 035024,000592: 31,3173 00033 26D 035025,000593: 31,3174 53255 VAD VAD 035026,000594: 31,3175 74341 V/SC VXSC 035027,000595: 31,3176 03643 TTF/8 035028,000596: 31,3177 05656 3/4DP 035029,000597: 31,3200 73725 PDDL VXSC* 035030,000598: 31,3201 00037 30D 035031,000599: 31,3202 02417 ADG,1 035032,000600: 31,3203 77655 VAD 035033,000601: 31,3204 76505 AFCCALC1 VXM VSL1 # VERGUID COMES HERE 035034,000602: 31,3205 02603 CG 035035,000603: 31,3206 70315 PDVL V/SC 035036,000604: 31,3207 01237 GDT/2 035037,000605: 31,3210 05652 GSCALE 035038,000606: 31,3211 45445 BVSU STADR 035039,000607: 31,3212 74523 STORE UNFC/2 # UNFC/2 NEED NOT BE UNITIZED 035040,000608: 31,3213 77646 ABVAL 035041,000609: 31,3214 17464 AFCCALC2 STODL /AFC/ # MAGNITUDE OF AFC FOR THROTTLE 035042,000610: 31,3215 03254 UNFC/2 # VERTICAL COMPONENT 035043,000611: 31,3216 65316 DSQ PDDL 035044,000612: 31,3217 03256 UNFC/2 +2 # OUT-OF-PLANE 035045,000613: 31,3220 65316 DSQ PDDL 035046,000614: 31,3221 05650 HIGHESTF 035047,000615: 31,3222 63471 DDV DSQ 035048,000616: 31,3223 01245 MASS # 2 2 2 035049,000617: 31,3224 45225 DSU DSU # AMAXHORIZ = SQRT(ATOTAL - A - A ) 035050,000618: 31,3225 71244 BPL DLOAD # 1 0 035051,000619: 31,3226 63230 AFCCALC3 035052,000620: 31,3227 06522 ZEROVECS 035053,000621: 31,3230 43366 AFCCALC3 SQRT DAD 035054,000622: 31,3231 03260 UNFC/2 +4 035055,000623: # Page 810 035056,000624: 31,3232 44244 BPL BDSU 035057,000625: 31,3233 63236 AFCCLEND 035058,000626: 31,3234 03260 UNFC/2 +4 035059,000627: 31,3235 03260 STORE UNFC/2 +4 035060,000628: 31,3236 77776 AFCCLEND EXIT 035061,000629: 31,3237 03740 TC FASTCHNG 035062,000630: 035063,000631: 31,3240 31351 CA WCHPHASE # PREPARE FOR PHASE SWITCHING LOGIC 035064,000632: 31,3241 55621 TS WCHPHOLD 035065,000633: 31,3242 25623 INCR FLPASS0 # INCREMENT PASS COUNTER 035066,000634: 035067,000635: 31,3243 51351 BRSPOT4 INDEX WCHPHASE 035068,000636: 31,3244 12435 TCF AFTRGUID 035069,000637: 035070,000638: # *********************************************************************** 035071,000639: # ERECT GUIDANCE-STABLE MEMBER TRANSFORMATION MATRIX 035072,000640: # *********************************************************************** 035073,000641: 035074,000642: 31,3245 35014 CGCALC CAF EBANK5 035075,000643: 31,3246 54003 TS EBANK 035076,000644: 31,3247 E5,1435 EBANK= TCGIBRAK 035077,000645: 31,3247 00006 EXTEND 035078,000646: 31,3250 51351 INDEX WCHPHASE 035079,000647: 31,3251 52452 INDEX TARGTDEX 035080,000648: 31,3252 31435 DCA TCGFBRAK 035081,000649: 31,3253 24006 INCR BBANK 035082,000650: 31,3254 24006 INCR BBANK 035083,000651: 31,3255 E7,1642 EBANK= TTF/8 035084,000652: 31,3255 61642 AD TTF/8 035085,000653: 31,3256 56001 XCH L 035086,000654: 31,3257 61642 AD TTF/8 035087,000655: 31,3260 10000 CCS A 035088,000656: 31,3261 10001 CCS L 035089,000657: 31,3262 13313 TCF EXTLOGIC 035090,000658: 31,3263 13313 TCF EXTLOGIC 035091,000659: 31,3264 13265 NOOP 035092,000660: 035093,000661: 31,3265 03677 TC INTPRETX 035094,000662: 31,3266 53575 VLOAD UNIT 035095,000663: 31,3267 03635 LAND 035096,000664: 31,3270 16603 STODL CG 035097,000665: 31,3271 03643 TTF/8 035098,000666: 31,3272 74203 DMP* VXSC 035099,000667: 31,3273 02433 GAINBRAK,1 # NUMERO MYSTERIOSO 035100,000668: 31,3274 02265 ANGTERM 035101,000669: 31,3275 77655 VAD 035102,000670: 31,3276 03635 LAND 035103,000671: 31,3277 47051 VSU RTB 035104,000672: 31,3300 03521 R 035105,000673: 31,3301 21726 NORMUNIT 035106,000674: # Page 811 035107,000675: 31,3302 47035 VXV RTB 035108,000676: 31,3303 03635 LAND 035109,000677: 31,3304 21726 NORMUNIT 035110,000678: 31,3305 26611 STOVL CG +6 # SECOND ROW 035111,000679: 31,3306 02603 CG 035112,000680: 31,3307 76435 VXV VSL1 035113,000681: 31,3310 02611 CG +6 035114,000682: 31,3311 02617 STORE CG +14 035115,000683: 31,3312 77776 EXIT 035116,000684: 035117,000685: # (CONTINUE TO EXTLOGIC) 035118,000686: 035119,000687: # *********************************************************************** 035120,000688: # PREPARE TO EXIT 035121,000689: # *********************************************************************** 035122,000690: 035123,000691: # DECIDE (1) HOW TO EXIT, AND (2) WHETHER TO SWITCH PHASES 035124,000692: 035125,000693: 31,3313 51351 EXTLOGIC INDEX WCHPHASE # WCHPHASE = 1 APPRQUAD 035126,000694: 31,3314 31423 CA TENDBRAK # WCHPHASE = 0 BRAKQUAD 035127,000695: 31,3315 61642 AD TTF/8 035128,000696: 035129,000697: 31,3316 00006 EXSPOT1 EXTEND 035130,000698: 31,3317 51351 INDEX WCHPHASE 035131,000699: 31,3320 62441 BZMF WHATEXIT 035132,000700: 035133,000701: 31,3321 03740 TC FASTCHNG 035134,000702: 035135,000703: 31,3322 31621 CA WCHPHOLD 035136,000704: 31,3323 64753 AD ONE 035137,000705: 31,3324 55351 TS WCHPHASE 035138,000706: 31,3325 34755 CA ZERO 035139,000707: 31,3326 55623 TS FLPASS0 # RESET FLPASS0 035140,000708: 035141,000709: 31,3327 51621 INDEX WCHPHOLD 035142,000710: 31,3330 12441 TCF WHATEXIT 035143,000711: 035144,000712: # *********************************************************************** 035145,000713: # ROUTINES FOR EXITING FROM LANDING GUIDANCE 035146,000714: # *********************************************************************** 035147,000715: 035148,000716: # 1. EXGSUB IS THE RETURN WHEN GUIDSUB IS CALLED BY THE IGNITION ALGORITHM. 035149,000717: # 2. EXBRAK IN THE EXIT USED DURING THE BRAKING PHASE. IN THIS CASE UNIT(R) IS THE WINDOW POINTING VECTOR. 035150,000718: # 3. EXNORM IS THE EXIT USED AT OTHER TIMES DURING THE BURN. 035151,000719: # (EXOVFLOW IS A SUBROUTINE OF EXBRAK AND EXNORM CALLED WHEN OVERFLOW OCCURRED ANYWHERE IN GUIDANCE.) 035152,000720: 035153,000721: 31,3331 06037 EXGSUB TC INTPRET # COMPUTE TRIM VELOCITY CORRECTION TERM. 035154,000722: # Page 812 035155,000723: 31,3332 47175 VLOAD RTB 035156,000724: 31,3333 03254 UNFC/2 035157,000725: 31,3334 21726 NORMUNIT 035158,000726: 31,3335 74361 VXSC VXSC 035159,000727: 31,3336 03423 ZOOMTIME 035160,000728: 31,3337 22001 TRIMACCL 035161,000729: 31,3340 03254 STORE UNFC/2 035162,000730: 31,3341 77776 EXIT 035163,000731: 035164,000732: 31,3342 11647 CCS NGUIDSUB 035165,000733: 31,3343 12460 TCF GUIDSUB 035166,000734: 31,3344 11646 CCS NIGNLOOP 035167,000735: 31,3345 13350 TCF +3 035168,000736: 31,3346 05567 TC ALARM 035169,000737: 31,3347 01412 OCT 01412 035170,000738: 035171,000739: 31,3350 04635 +3 TC POSTJUMP 035172,000740: 31,3351 65102 CADR DDUMCALC 035173,000741: 035174,000742: 31,3352 06037 EXBRAK TC INTPRET 035175,000743: 31,3353 77775 VLOAD 035176,000744: 31,3354 03537 UNIT/R/ 035177,000745: 31,3355 03262 STORE UNWC/2 035178,000746: 31,3356 77776 EXIT 035179,000747: 31,3357 13432 TCF STEER? 035180,000748: 035181,000749: 31,3360 06037 EXNORM TC INTPRET 035182,000750: 31,3361 52375 VLOAD VSU 035183,000751: 31,3362 03635 LAND 035184,000752: 31,3363 03521 R 035185,000753: 31,3364 77634 RTB 035186,000754: 31,3365 21726 NORMUNIT 035187,000755: 31,3366 03262 STORE UNWC/2 # UNIT(LAND - R) IS TENTATIVE CHOICE 035188,000756: 31,3367 50235 VXV DOT 035189,000757: 31,3370 02146 XNBPIP 035190,000758: 31,3371 02611 CG +6 035191,000759: 31,3372 77776 EXIT # WITH PROJ IN MPAC 1/8 REAL SIZE 035192,000760: 035193,000761: 31,3373 40154 CS MPAC # GET COEFFICIENT FOR CG +14 035194,000762: 31,3374 63754 AD PROJMAX 035195,000763: 31,3375 64733 AD POSMAX 035196,000764: 31,3376 54130 TS BUF 035197,000765: 31,3377 40130 CS BUF 035198,000766: 31,3400 26130 ADS BUF # RESULT IS 0 IF PROJMAX - PROJ NEGATIVE 035199,000767: 035200,000768: 31,3401 43755 CS PROJMIN # GET COEFFICIENT FOR UNIT(LAND - R) 035201,000769: 31,3402 60154 AD MPAC 035202,000770: 31,3403 64733 AD POSMAX 035203,000771: 31,3404 54131 TS BUF +1 035204,000772: 31,3405 40131 CS BUF +1 035205,000773: # Page 813 035206,000774: 31,3406 26131 ADS BUF +1 # RESULT IS 0 IF PROJ - PROJMIN NEGATIVE 035207,000775: 035208,000776: 31,3407 34751 CAF FOUR 035209,000777: 31,3410 76242 UNWCLOOP MASK SIX 035210,000778: 31,3411 54002 TS Q 035211,000779: 31,3412 35014 CA EBANK5 035212,000780: 31,3413 54003 TS EBANK 035213,000781: 31,3414 E5,1602 EBANK= CG 035214,000782: 31,3414 30130 CA BUF 035215,000783: 31,3415 00006 EXTEND 035216,000784: 31,3416 50002 INDEX Q 035217,000785: 31,3417 71616 MP CG +14 035218,000786: 31,3420 24006 INCR BBANK 035219,000787: 31,3421 E6,1661 EBANK= UNWC/2 035220,000788: 31,3421 50002 INDEX Q 035221,000789: 31,3422 53662 DXCH UNWC/2 035222,000790: 31,3423 00006 EXTEND 035223,000791: 31,3424 70131 MP BUF +1 035224,000792: 31,3425 50002 INDEX Q 035225,000793: 31,3426 21662 DAS UNWC/2 035226,000794: 31,3427 10002 CCS Q 035227,000795: 31,3430 13410 TCF UNWCLOOP 035228,000796: 035229,000797: 31,3431 24006 INCR BBANK 035230,000798: 31,3432 E7,1612 EBANK= PIF 035231,000799: 035232,000800: 31,3432 30076 STEER? CA FLAGWRD2 # IF STEERSW DOWN NO OUTPUTS 035233,000801: 31,3433 74741 MASK STEERBIT 035234,000802: 31,3434 00006 EXTEND 035235,000803: 31,3435 13443 BZF RATESTOP 035236,000804: 035237,000805: 31,3436 30121 EXVERT CA OVFIND # IF OVERFLOW ANYWHERE IN GUIDANCE 035238,000806: 31,3437 00006 EXTEND # DON'T CALL THROTTLE OR FINDCDUW 035239,000807: 31,3440 13453 BZF +13 035240,000808: 035241,000809: 31,3441 05567 EXOVFLOW TC ALARM # SOUND THE ALARM NON-ABORTIVELY 035242,000810: 31,3442 01410 OCT 01410 035243,000811: 035244,000812: 31,3443 34737 RATESTOP CAF BIT13 # ARE WE IN ATTITUDE-HOLD? 035245,000813: 31,3444 00006 EXTEND 035246,000814: 31,3445 02031 RAND CHAN31 035247,000815: 31,3446 00006 EXTEND 035248,000816: 31,3447 13460 BZF DISPEXIT # YES 035249,000817: 035250,000818: 31,3450 04616 TC BANKCALL # NO: DO A STOPRATE 035251,000819: 31,3451 40165 CADR STOPRATE 035252,000820: 035253,000821: 31,3452 13460 TCF DISPEXIT 035254,000822: 035255,000823: 31,3453 02216 GDUMP1 TC THROTTLE 035256,000824: # Page 814 035257,000825: 31,3454 06037 TC INTPRET 035258,000826: 31,3455 77624 CALL 035259,000827: 31,3456 61111 FINDCDUW -2 035260,000828: 31,3457 77776 EXIT 035261,000829: 035262,000830: # (CONTINUE TO DISPEXIT) 035263,000831: 035264,000832: # *********************************************************************** 035265,000833: # GUIDANCE LOOP DISPLAYS 035266,000834: # *********************************************************************** 035267,000835: 035268,000836: 31,3460 00006 DISPEXIT EXTEND # KILL GROUP 3: DISPLAYS WILL BE 035269,000837: 31,3461 34755 DCA NEG0 # RESTORED BY NEXT GUIDANCE CYCLE. 035270,000838: 31,3462 52757 DXCH -PHASE3 035271,000839: 035272,000840: 31,3463 40104 +3 CS FLAGWRD8 # IF FLUNDISP IS SET, NO DISPLAY THIS PASS 035273,000841: 31,3464 74742 MASK FLUNDBIT 035274,000842: 31,3465 00006 EXTEND 035275,000843: 31,3466 13476 BZF ENDLLJOB # TO PICK UP THE TAG 035276,000844: 035277,000845: 31,3467 51621 INDEX WCHPHOLD 035278,000846: 31,3470 12443 TCF WHATDISP 035279,000847: 035280,000848: 31,3471 05353 -2 TC PHASCHNG # KILL GROUP 5 035281,000849: 31,3472 00035 OCT 00035 035282,000850: 035283,000851: 31,3473 33756 P63DISPS CAF V06N63 035284,000852: 31,3474 04616 DISPCOMN TC BANKCALL 035285,000853: 31,3475 20470 CADR REGODSPR 035286,000854: 035287,000855: 31,3476 15155 ENDLLJOB TCF ENDOFJOB 035288,000856: 035289,000857: 31,3477 31666 P64DISPS CA TREDES # HAS TREDES REACHED ZERO? 035290,000858: 31,3500 00006 EXTEND 035291,000859: 31,3501 13523 BZF RED-OVER # YES: CLEAR REDESIGNATION FLAG 035292,000860: 035293,000861: 31,3502 40102 CS FLAGWRD6 # NO: IS REDFLAG SET? 035294,000862: 31,3503 74746 MASK REDFLBIT 035295,000863: 31,3504 00006 EXTEND 035296,000864: 31,3505 13525 BZF REDES-OK # YES: DO STATIC DISPLAY 035297,000865: 035298,000866: 31,3506 33757 CAF V06N64 # OTHERWISE USE FLASHING DISPLAY 035299,000867: 31,3507 04616 TC BANKCALL 035300,000868: 31,3510 20462 CADR REFLASHR 035301,000869: 31,3511 16001 TCF GOTOP00H # TERMINATE 035302,000870: 31,3512 13515 TCF P64CEED # PROCEED PERMIT REDESIGNATIONS 035303,000871: 31,3513 13477 TCF P64DISPS # RECYCLE 035304,000872: # Page 815 035305,000873: 31,3514 13476 TCF ENDLLJOB 035306,000874: 035307,000875: 31,3515 34755 P64CEED CAF ZERO 035308,000876: 31,3516 55267 TS ELINCR1 035309,000877: 31,3517 55266 TS AZINCR1 035310,000878: 035311,000879: 31,3520 05504 TC UPFLAG # ENABLE REDESIGNATION LOGIC 035312,000880: 31,3521 00143 ADRES REDFLAG 035313,000881: 035314,000882: 31,3522 15155 TCF ENDOFJOB 035315,000883: 035316,000884: 31,3523 05516 RED-OVER TC DOWNFLAG 035317,000885: 31,3524 00143 ADRES REDFLAG 035318,000886: 31,3525 33757 REDES-OK CAF V06N64 035319,000887: 31,3526 13474 TCF DISPCOMN 035320,000888: 035321,000889: 035322,000890: 31,3527 33760 VERTDISP CAF V06N60 035323,000891: 31,3530 13474 TCF DISPCOMN 035324,000892: 035325,000893: 035326,000894: # ************************************************************************** 035327,000895: # GUIDANCE FOR P65 035328,000896: # ************************************************************************** 035329,000897: 035330,000898: 31,3531 11647 VERTGUID CCS WCHVERT 035331,000899: 31,3532 13545 TCF P67VERT # POSITIVE NON-ZERO ---> P67 035332,000900: 31,3533 13543 TCF P66VERT # +0 035333,000901: 035334,000902: # THE P65 GUIDANCE EQUATION IS AS FOLLOWS -- 035335,000903: # ____ ___ 035336,000904: # V2FG - VGU 035337,000905: # ACG = ---------- 035338,000906: # TAUVERT 035339,000907: 035340,000908: 31,3534 06037 P65VERT TC INTPRET 035341,000909: 31,3535 52375 VLOAD VSU 035342,000910: 31,3536 02511 V2FG 035343,000911: 31,3537 03627 VGU 035344,000912: 31,3540 52141 V/SC GOTO 035345,000913: 31,3541 02517 TAUVERT 035346,000914: 31,3542 63204 AFCCALC1 035347,000915: # Page 816 035348,000916: # ********************************************************** 035349,000917: # GUIDANCE FOR P66 035350,000918: # ********************************************************** 035351,000919: 035352,000920: 31,3543 04635 P66VERT TC POSTJUMP 035353,000921: 31,3544 65270 CADR P66VERTA 035354,000922: 035355,000923: 31,3545 05353 P67VERT TC PHASCHNG # TERMINATE GROUP 3. 035356,000924: 31,3546 00003 OCT 00003 035357,000925: 035358,000926: 31,3547 06037 TC INTPRET 035359,000927: 31,3550 52175 VLOAD GOTO 035360,000928: 31,3551 03527 V 035361,000929: 31,3552 65517 VHORCOMP 035362,000930: 035363,000931: 32,2000 SETLOC P66LOC 035364,000932: 32,2000 BANK 035365,000933: 32,3263 COUNT* $$/F2DPS 035366,000934: 035367,000935: 32,3263 37710 RODTASK CAF PRIO22 035368,000936: 32,3264 05105 TC FINDVAC 035369,000937: 32,3265 E7,1515 EBANK= DVCNTR 035370,000938: 32,3265 03275 64067 2CADR RODCOMP 035371,000939: 035372,000940: 32,3267 15261 TCF TASKOVER 035373,000941: 035374,000942: 32,3270 05353 P66VERTA TC PHASCHNG # TERMINATE GROUP 3. 035375,000943: 32,3271 00003 OCT 00003 035376,000944: 035377,000945: 32,3272 34777 CAF 1SEC 035378,000946: 32,3273 05173 TC TWIDDLE 035379,000947: 32,3274 03263 ADRES RODTASK 035380,000948: 035381,000949: 32,3275 00004 RODCOMP INHINT 035382,000950: 32,3276 34755 CAF ZERO 035383,000951: 32,3277 57746 XCH RODCOUNT 035384,000952: 32,3300 00006 EXTEND 035385,000953: 32,3301 71756 MP RODSCAL1 035386,000954: 32,3302 21645 DAS VDGVERT # UPDATE DESIRED ALTITUDE RATE. 035387,000955: 035388,000956: 32,3303 00006 EXTEND # SET OLDPIPAX,Y,Z = PIPAX,Y,Z 035389,000957: 32,3304 30040 DCA PIPAX 035390,000958: 32,3305 53764 DXCH OLDPIPAX 035391,000959: 32,3306 52071 DXCH RUPTREG1 # SET RUPTREG1,2,3 = OLDPIPAX,Y,Z 035392,000960: 32,3307 30041 CA PIPAZ 035393,000961: 32,3310 57765 XCH OLDPIPAZ 035394,000962: 32,3311 56072 XCH RUPTREG3 035395,000963: 035396,000964: 32,3312 00006 EXTEND # SHAPSHOT TIME OF PIPA READING. 035397,000965: 32,3313 30025 DCA TIME2 035398,000966: # Page 817 035399,000967: 32,3314 53762 DXCH THISTPIP 035400,000968: 035401,000969: 32,3315 31763 CA OLDPIPAX 035402,000970: 32,3316 61160 AD PIPATMPX 035403,000971: 32,3317 54154 TS MPAC # MPAC(X) = PIPAX + PIPATMPX 035404,000972: 32,3320 31764 CA OLDPIPAY 035405,000973: 32,3321 61161 AD PIPATMPY 035406,000974: 32,3322 54157 TS MPAC +3 # MPAC(Y) = PIPAY + PIPATMPY 035407,000975: 32,3323 31765 CA OLDPIPAZ 035408,000976: 32,3324 61162 AD PIPATMPZ 035409,000977: 32,3325 54161 TS MPAC +5 # MPAC(Z) = PIPAZ + PIPATMPZ 035410,000978: 035411,000979: 32,3326 41763 CS OLDPIPAX 035412,000980: 32,3327 61254 AD TEMX 035413,000981: 32,3330 60070 AD RUPTREG1 035414,000982: 32,3331 55766 TS DELVROD 035415,000983: 32,3332 41764 CS OLDPIPAY 035416,000984: 32,3333 61255 AD TEMY 035417,000985: 32,3334 60071 AD RUPTREG2 035418,000986: 32,3335 55770 TS DELVROD +2 035419,000987: 32,3336 41765 CS OLDPIPAZ 035420,000988: 32,3337 61256 AD TEMZ 035421,000989: 32,3340 60072 AD RUPTREG3 035422,000990: 32,3341 55772 TS DELVROD +4 035423,000991: 035424,000992: 32,3342 34755 CAF ZERO 035425,000993: 32,3343 54155 TS MPAC +1 # ZERO LO-ORDER MPAC COMPONENTS 035426,000994: 32,3344 54160 TS MPAC +4 035427,000995: 32,3345 54162 TS MPAC +6 035428,000996: 32,3346 55254 TS TEMX # ZERO TEMX, TEMY, AND TEMZ SO WE WILL 035429,000997: 32,3347 55255 TS TEMY # KNOW WHEN READACCS CHANGES THEM. 035430,000998: 32,3350 55256 TS TEMZ 035431,000999: 32,3351 44753 CS ONE 035432,001000: 32,3352 54163 TS MODE 035433,001001: 32,3353 06037 TC INTPRET 035434,001002: 32,3354 65361 ITRPNT1 VXSC PDDL # SCALE MPAC TO M/CS *2(-7) AND PUSH (6) 035435,001003: 32,3355 26022 KPIP1 035436,001004: 32,3356 03762 THISTPIP 035437,001005: 32,3357 77625 DSU 035438,001006: 32,3360 01235 PIPTIME 035439,001007: 32,3361 00037 STORE 30D # 30-31D CONTAINS TIME IN CS SINCE PIPTIME 035440,001008: 32,3362 63271 DDV PDVL # (8) 035441,001009: 32,3363 27153 4SEC(28) 035442,001010: 32,3364 01237 GDT/2 035443,001011: 32,3365 74251 VSU VXSC # (6) 035444,001012: 32,3366 02631 VBIAS 035445,001013: 32,3367 53352 VSL2 VAD 035446,001014: 32,3370 03527 V 035447,001015: 32,3371 45455 VAD STADR # (0) 035448,001016: 32,3372 53746 STOVL 24D # STORE UPDATED VELOCITY IN 24-29D 035449,001017: # Page 818 035450,001018: 32,3373 03521 R 035451,001019: 32,3374 77656 UNIT 035452,001020: 32,3375 00017 STORE 14D 035453,001021: 32,3376 72441 DOT SL1 035454,001022: 32,3377 00031 24D 035455,001023: 32,3400 17474 STODL HDOTDISP # UPDATE HDOTDISP RATE FOR NOUN 63. 035456,001024: 32,3401 00037 30D 035457,001025: 32,3402 41261 SL DMP 035458,001026: 32,3403 20214 11D 035459,001027: 32,3404 03474 HDOTDISP 035460,001028: 32,3405 45215 DAD DSU 035461,001029: 32,3406 00045 36D 035462,001030: 32,3407 02333 /LAND/ 035463,001031: 32,3410 17775 STODL HCALC1 # UPDATE HCALC1 FOR NOUN 63. 035464,001032: 32,3411 03474 HDOTDISP 035465,001033: 32,3412 56221 BDSU DDV 035466,001034: 32,3413 03645 VDGVERT 035467,001035: 32,3414 02541 TAUROD 035468,001036: 32,3415 51515 PDVL ABVAL # (2) 035469,001037: 32,3416 01237 GDT/2 035470,001038: 32,3417 60471 DDV SR2 035471,001039: 32,3420 05652 GSCALE 035472,001040: 32,3421 00025 STORE 20D 035473,001041: 32,3422 77615 DAD # (0) 035474,001042: 32,3423 45115 PDVL CALL # (2) 035475,001043: 32,3424 06520 UNITX 035476,001044: 32,3425 47661 CDU*NBSM 035477,001045: 32,3426 77641 DOT 035478,001046: 32,3427 00017 14D 035479,001047: 32,3430 00027 STORE 22D 035480,001048: 32,3431 45465 BDDV STADR # (0) 035481,001049: 32,3432 50313 STOVL /AFC/ 035482,001050: 32,3433 03767 DELVROD 035483,001051: 32,3434 53361 VXSC VAD 035484,001052: 32,3435 26022 KPIP1 035485,001053: 32,3436 02631 VBIAS 035486,001054: 32,3437 65246 ABVAL PDDL # (2) 035487,001055: 32,3440 03762 THISTPIP 035488,001056: 32,3441 65225 DSU PDDL # (4) 035489,001057: 32,3442 03760 LASTTPIP 035490,001058: 32,3443 03762 THISTPIP 035491,001059: 32,3444 17760 STODL LASTTPIP # (2) 035492,001060: 32,3445 55271 DDV BDDV # (0) 035493,001061: 32,3446 25535 SHFTFACT 035494,001062: 32,3447 41325 PDDL DMP # (2) 035495,001063: 32,3450 03611 FWEIGHT 035496,001064: 32,3451 25534 BIT1H 035497,001065: 32,3452 56271 DDV DDV 035498,001066: 32,3453 01245 MASS 035499,001067: 32,3454 22006 SCALEFAC 035500,001068: # Page 819 035501,001069: 32,3455 65215 DAD PDDL # (4) 035502,001070: 32,3456 00001 0D 035503,001071: 32,3457 00025 20D 035504,001072: 32,3460 45271 DDV DSU # (2) 035505,001073: 32,3461 00027 22D 035506,001074: 32,3462 43205 DMP DAD 035507,001075: 32,3463 02543 LAG/TAU 035508,001076: 32,3464 03464 /AFC/ 035509,001077: 32,3465 56325 PDDL DDV # (4) 035510,001078: 32,3466 02547 MAXFORCE 035511,001079: 32,3467 01245 MASS 035512,001080: 32,3470 56325 PDDL DDV # (6) 035513,001081: 32,3471 02545 MINFORCE 035514,001082: 32,3472 01245 MASS 035515,001083: 32,3473 44206 PUSH BDSU # (8) 035516,001084: 32,3474 00003 2D 035517,001085: 32,3475 71240 BMN DLOAD # (6) 035518,001086: 32,3476 65504 AFCSPOT 035519,001087: 32,3477 41545 DLOAD PUSH # (6) 035520,001088: 32,3500 51021 BDSU BPL 035521,001089: 32,3501 00003 2D 035522,001090: 32,3502 65504 AFCSPOT 035523,001091: 32,3503 77745 DLOAD # (4) 035524,001092: 32,3504 77745 AFCSPOT DLOAD # (2), (4), OR (6) 035525,001093: 32,3505 77601 SETPD # (2) 035526,001094: 32,3506 00003 2D 035527,001095: 32,3507 17464 STODL /AFC/ # (0) 035528,001096: 32,3510 77776 ITRPNT2 EXIT 035529,001097: 32,3511 52155 DXCH MPAC # MPAC = MEASURED ACCELARATION. 035530,001098: 32,3512 04616 TC BANKCALL 035531,001099: 32,3513 62221 CADR THROTTLE +3 035532,001100: 32,3514 06037 TC INTPRET 035533,001101: 32,3515 77775 VLOAD # PICK UP UPDATED VELOCITY VECTOR. 035534,001102: 32,3516 00031 24D 035535,001103: 32,3517 53352 VHORCOMP VSL2 VAD 035536,001104: 32,3520 03734 DELVS 035537,001105: 32,3521 63342 VSR2 PDVL 035538,001106: 32,3522 03521 R 035539,001107: 32,3523 74256 UNIT VXSC 035540,001108: 32,3524 03474 HDOTDISP 035541,001109: 32,3525 51372 VSL1 BVSU 035542,001110: 32,3526 77646 ABVAL 035543,001111: 32,3527 02263 STORE VHORIZ 035544,001112: 32,3530 77776 EXIT 035545,001113: 32,3531 04616 TC BANKCALL # PUT UP V06N60 DISPLAY BUT AVOID PHASCHNG 035546,001114: 32,3532 63463 CADR DISPEXIT +3 035547,001115: 035548,001116: 32,3533 00001 BIT1H OCT 00001 035549,001117: 32,3534 00000 04000 SHFTFACT 2DEC 1 B-17 035550,001118: # Page 820 035551,001119: 32,3536 00000 01217 BIASFACT 2DEC 655.36 B-28 035552,001120: 035553,001121: # ********************************************************************************* 035554,001122: # REDESIGNATOR TRAP 035555,001123: # ********************************************************************************* 035556,001124: 035557,001125: 11,2275 BANK 11 035558,001126: 11,2000 SETLOC F2DPS*11 035559,001127: 11,2000 BANK 035560,001128: 035561,001129: 11,2275 COUNT* $$/F2DPS 035562,001130: 035563,001131: 11,2275 56016 PITFALL XCH BANKRUPT 035564,001132: 11,2276 00006 EXTEND 035565,001133: 11,2277 22012 QXCH QRUPT 035566,001134: 035567,001135: 11,2300 05321 TC CHECKMM # IF NOT IN P64, NO REASON TO CONTINUE 035568,001136: 11,2301 00100 DEC 64 B-14 035569,001137: 11,2302 15270 TCF RESUME 035570,001138: 035571,001139: 11,2303 00006 EXTEND 035572,001140: 11,2304 00031 READ CHAN31 035573,001141: 11,2305 40000 COM 035574,001142: 11,2306 72373 MASK ALL4BITS 035575,001143: 11,2307 55265 TS ELVIRA 035576,001144: 11,2310 34752 CAF TWO 035577,001145: 11,2311 55264 TS ZERLINA 035578,001146: 11,2312 34756 CAF FIVE 035579,001147: 11,2313 05173 TC TWIDDLE 035580,001148: 11,2314 02321 ADRES REDESMON 035581,001149: 11,2315 15270 TCF RESUME 035582,001150: 035583,001151: # REDESIGNATOR MONITOR (INITIATED BY PITFALL) 035584,001152: 035585,001153: 11,2316 55264 PREMON1 TS ZERLINA 035586,001154: 11,2317 34757 PREMON2 CAF SEVEN 035587,001155: 11,2320 05224 TC VARDELAY 035588,001156: 11,2321 00006 REDESMON EXTEND 035589,001157: 11,2322 00031 READ 31 035590,001158: 11,2323 40000 COM 035591,001159: 11,2324 72373 MASK ALL4BITS 035592,001160: 11,2325 57265 XCH ELVIRA 035593,001161: 11,2326 54001 TS L 035594,001162: 11,2327 11265 CCS ELVIRA # DO ANY BITS APPEAR THIS PASS? 035595,001163: 11,2330 12317 TCF PREMON2 # Y: CONTINUE MONITOR 035596,001164: 035597,001165: 11,2331 10001 CCS L # N: ANY LAST PASS? 035598,001166: 11,2332 12341 TCF COUNT'EM # Y: COUNT 'EM, RESET RUPT, TERMINATE 035599,001167: # Page 821 035600,001168: 11,2333 11264 CCS ZERLINA # N: HAS ZERLINA REACHED ZERO YET? 035601,001169: 11,2334 12316 TCF PREMON1 # N: DIMINISH ZERLINA, CONTINUE 035602,001170: 11,2335 34740 RESETRPT CAF BIT12 # Y: RESET RUPT. TERMINATE 035603,001171: 11,2336 00006 EXTEND 035604,001172: 11,2337 05013 WOR CHAN13 035605,001173: 11,2340 15261 TCF TASKOVER 035606,001174: 035607,001175: 11,2341 34737 COUNT'EM CAF BIT13 # ARE WE IN ATTITUDE-HOLD? 035608,001176: 11,2342 00006 EXTEND 035609,001177: 11,2343 02031 RAND CHAN31 035610,001178: 11,2344 00006 EXTEND 035611,001179: 11,2345 12335 BZF RESETRPT # YES: SKIP REDESIGNATION LOGIC. 035612,001180: 035613,001181: 11,2346 30001 CA L # NO. 035614,001182: 11,2347 74746 MASK -AZBIT 035615,001183: 11,2350 10000 CCS A 035616,001184: 11,2351 42374 -AZ CS AZEACH 035617,001185: 11,2352 27266 ADS AZINCR1 035618,001186: 11,2353 30001 CA L 035619,001187: 11,2354 74747 MASK +AZBIT 035620,001188: 11,2355 10000 CCS A 035621,001189: 11,2356 32374 +AZ CA AZEACH 035622,001190: 11,2357 27266 ADS AZINCR1 035623,001191: 11,2360 30001 CA L 035624,001192: 11,2361 74753 MASK -ELBIT 035625,001193: 11,2362 10000 CCS A 035626,001194: 11,2363 42375 -EL CS ELEACH 035627,001195: 11,2364 27267 ADS ELINCR1 035628,001196: 11,2365 30001 CA L 035629,001197: 11,2366 74752 MASK +ELBIT 035630,001198: 11,2367 10000 CCS A 035631,001199: 11,2370 32375 +EL CA ELEACH 035632,001200: 11,2371 27267 ADS ELINCR1 035633,001201: 11,2372 12335 TCF RESETRPT 035634,001202: 035635,001203: # THESE EQUIVALENCES ARE BASED ON GSOP CHAPTER 4, REVISION 16 OF P64LM 035636,001204: 035637,001205: 11,2373 4752 +ELBIT = BIT2 # -PITCH 035638,001206: 11,2373 4753 -ELBIT = BIT1 # +PITCH 035639,001207: 11,2373 4747 +AZBIT = BIT5 035640,001208: 11,2373 4746 -AZBIT = BIT6 035641,001209: 035642,001210: # Page 822 035643,001211: 11,2373 00063 ALL4BITS OCT 00063 035644,001212: 11,2374 01074 AZEACH DEC .03491 # 2 DEGREES 035645,001213: 11,2375 00217 ELEACH DEC .00873 # 1/2 DEGREE 035646,001214: 035647,001215: # **************************************************************** 035648,001216: # R.O.D. TRAP 035649,001217: # **************************************************************** 035650,001218: 035651,001219: 20,2115 BANK 20 035652,001220: 20,2000 SETLOC RODTRAP 035653,001221: 20,2000 BANK 035654,001222: 20,2115 COUNT* $$/F2DPS # ************************ 035655,001223: 035656,001224: 20,2115 74745 DESCBITS MASK BIT7 # COME HERE FROM MARKRUPT CODING WITH BIT 035657,001225: 20,2116 10000 CCS A # 7 OR 6 OF CHANNEL 16 IN A; BIT 7 MEANS 035658,001226: 20,2117 44752 CS TWO # - RATE INCREMENT, BIT 6 + INCREMENT. 035659,001227: 20,2120 64753 AD ONE 035660,001228: 20,2121 27746 ADS RODCOUNT 035661,001229: 20,2122 15270 TCF RESUME # TRAP IS RESET WHEN SWITCH IS RELEASED 035662,001230: 035663,001231: 31,3553 BANK 31 035664,001232: 31,2000 SETLOC F2DPS*31 035665,001233: 31,2000 BANK 035666,001234: 035667,001235: 31,3553 COUNT* $$/F2DPS 035668,001236: 035669,001237: # *********************************************************************************** 035670,001238: # DOUBLE PRECISION ROOT FINDER SUBROUTINE (BY ALLAN KLUMPP) 035671,001239: # *********************************************************************************** 035672,001240: 035673,001241: # N N-1 035674,001242: # ROOTPSRS FINDS ONE ROOT OF THE POWER SERIES A X + A X + ... + A X + A 035675,001243: # N N-1 1 0 035676,001244: # USING NEWTON'S METHOD STARTING WITH AN INITIAL GUESS FOR THE ROOT. THE ENTERING DATA MUST BE AS FOLLOWS: 035677,001245: # A SP LOC-3 ADRES FOR REFERENCING PWR COF TABL 035678,001246: # L SP N-1 N IS THE DEGREE OF THE POWER SERIES 035679,001247: # MPAC DP X INITIAL GUESS FOR ROOT 035680,001248: 035681,001249: # LOC-2N DP A(0) 035682,001250: # ... 035683,001251: # LOC DP A(N) 035684,001252: # LOC+2 SP PRECROOT PREC RQD OF ROOT (AS FRACT OF 1ST GUESS) 035685,001253: 035686,001254: # Page 823 035687,001255: # THE DP RESULT IS LEFT IN MPAC UPON EXIT, AND A SP COUNT OF THE ITERATIONS TO CONVERGENCE IS LEFT IN MPAC+2. 035688,001256: # RETURN IS NORMALLY TO LOC(TC ROOTPSRS)+3. IF ROOTPSRS FAILS TO CONVERGE TO IN 8 PASSES, RETURN IS TO LOC+1 AND 035689,001257: # OUTPUTS ARE NOT TO BE TRUSTED. 035690,001258: 035691,001259: # PRECAUTION: ROOTPSRS MAKES NO CHECKS FOR OVERFLOW OR FOR IMPROPER USAGE. IMPROPER USAGE COULD 035692,001260: # PRECLUDE CONVERGENCE OR REQUIRE EXCESSIVE ITERATIONS. AS A SPECIFIC EXAMPLE, ROOTPSRS FORMS A DERIVATIVE 035693,001261: # COEFFICIENT TABLE BY MULTIPLYINE EACH A(I) BY I, WHERE I RANGES FROM 1 TO N. IF AN ELEMENT OF THE DERIVATIVE 035694,001262: # COEFFICIENT TABLE = 1 OR >1 IN MAGNITUDE, ONLY THE EXCESS IS RETAINED. ROOTPSRS MAY CONVERGE ON THE COREECT 035695,001263: # ROOT NONETHELESS, BUT IT MAY TAKE AN EXCESSIVE NUMBER OF ITERATIONS. THEREFORE THE USER SHOULD RECOGNIZE: 035696,001264: # 1. USER'S RESPONSIBILITY TO ASSUR THAT I X A(I) < 1 IN MAGNITUDE FOR ALL I. 035697,001265: # 2. USER'S RESPONSIBILITY TO ASSURE OVERFLOW WILL NOT OCCUR IN EVALUTATING EITHER THE RESIDUAL OR THE DERIVATIVE 035698,001266: # POWER SERIES. THIS OVERFLOW WOULD BE PRODUCED BY SUBROUTINE POWRSERS, CALLED BY ROOTPSRS, AND MIGHT NOT 035699,001267: # PRECLUDE EVENTUAL CONVERGENCE. 035700,001268: # 3. AT PRESENT, ERASABLE LOCATIONS ARE RESERVED ONLY FOR N UP TO 5. AN N IN EXCESS OF 5 WILL PRODUCE CHAOS. 035701,001269: # ALL ERASABLES USED BY ROOTPSRS ARE UNSWITCHED LOCATED IN THE REGION FROM MPAC-33 OCT TO MPAC+7. 035702,001270: # 4. THE ITERATION COUNT RETURNED IN MPAC+2 MAY BE USED TO DETECT ABNORMAL PERFORMANCE. 035703,001271: 035704,001272: # STORE ENTERING DATA, INITIALIZE ERASABLES 035705,001273: 31,3553 00006 ROOTPSRS EXTEND 035706,001274: 31,3554 22132 QXCH RETROOT # RETURN ADRES 035707,001275: 31,3555 54117 TS PWRPTR # PWR TABLE POINTER 035708,001276: 31,3556 52160 DXCH MPAC +3 # PWR TABLE ADRES, N-1 035709,001277: 31,3557 33676 CA DERTABLL 035710,001278: 31,3560 54141 TS DERPTR # DER TABL POINTER 035711,001279: 31,3561 54161 TS MPAC +5 # DER TABL ADRES 035712,001280: 31,3562 10160 CCS MPAC +4 # NO POWER SERIES DEGREE 1 OR LESS 035713,001281: 31,3563 54162 TS MPAC +6 # N-2 035714,001282: 31,3564 34755 CA ZERO # MODE USED AS ITERATION COUNTER. MODE 035715,001283: 31,3565 54163 TS MODE # MUST BE POS SO ABS WON'T COMP MPAC+3 ETC. 035716,001284: 035717,001285: # COMPUTE CRITERION TO STOP ITERATING 035718,001286: 31,3566 00006 EXTEND 035719,001287: 31,3567 30155 DCA MPAC # FETCH ROOT GUESS, KEEPING IT IN MPAC 035720,001288: 31,3570 52127 DXCH ROOTPS # AND IN ROOTPS 035721,001289: 31,3571 50157 INDEX MPAC +3 # PWR TABLE ADRES 035722,001290: 31,3572 30005 CA 5 # PRECROOT TO A 035723,001291: 31,3573 07307 TC SHORTMP # YIELDS DP PRODUCT IN MPAC 035724,001292: 31,3574 04713 TC USPRCADR 035725,001293: 31,3575 01226 CADR ABS # YIELDS ABVAL OF CRITERION ON DX IN MPAC 035726,001294: 31,3576 52155 DXCH MPAC 035727,001295: 31,3577 52125 DXCH DXCRIT # CRITERION 035728,001296: 035729,001297: # SET UP DER COF TABL 035730,001298: # Page 824 035731,001299: 31,3600 00006 EXTEND 035732,001300: 31,3601 50117 INDEX PWRPTR 035733,001301: 31,3602 30004 DCA 3 035734,001302: 31,3603 52155 DXCH MPAC # A(N) TO MPAC 035735,001303: 035736,001304: 31,3604 30160 CA MPAC +4 # N-1 TO A 035737,001305: 035738,001306: 31,3605 54140 DERCLOOP TS PWRCNT # LOOP COUNTER 035739,001307: 31,3606 64753 AD ONE 035740,001308: 31,3607 07316 TC DMPNSUB # YIELDS DERCOF = I X A(I) IN MPAC 035741,001309: 31,3610 00006 EXTEND 035742,001310: 31,3611 50117 INDEX PWRPTR 035743,001311: 31,3612 30002 DCA 1 035744,001312: 31,3613 52155 DXCH MPAC # (I-1) TO MPAC, FETCHING DERCOF 035745,001313: 31,3614 50141 INDEX DERPTR 035746,001314: 31,3615 52004 DXCH 3 # DERCOF TO DER TABLE 035747,001315: 31,3616 44752 CS TWO 035748,001316: 31,3617 26117 ADS PWRPTR # DECREMENT PWR POINTER 035749,001317: 31,3620 44752 CS TWO 035750,001318: 31,3621 26141 ADS DERPTR # DECREMENT DER POINTER 035751,001319: 31,3622 10140 CCS PWRCNT 035752,001320: 31,3623 13605 TCF DERCLOOP 035753,001321: 035754,001322: # CONVERGE ON ROOT 035755,001323: 31,3624 00006 ROOTLOOP EXTEND 035756,001324: 31,3625 30127 DCA ROOTPS # FETCH CURRENT ROOT 035757,001325: 31,3626 52155 DXCH MPAC # LEAVE IN MPAC 035758,001326: 31,3627 00006 EXTEND 035759,001327: 31,3630 30162 DCA MPAC +5 # LOAD A, L WITH DER TABL ADRES, N-2 035760,001328: 31,3631 07215 TC POWRSERS # YIELDS DERIVATIVE IN MPAC 035761,001329: 035762,001330: 31,3632 00006 EXTEND 035763,001331: 31,3633 30127 DCA ROOTPS 035764,001332: 31,3634 52155 DXCH MPAC # CURRENT ROOT TO MPAC, FETCHING DERIVATIVE 035765,001333: 31,3635 52131 DXCH BUF # LEAVE DERIVATIVE IN BUF AS DIVISOR 035766,001334: 31,3636 00006 EXTEND 035767,001335: 31,3637 30160 DCA MPAC +3 # LOAD A, L WITH PWR TABL ADRES, N-1 035768,001336: 31,3640 07215 TC POWRSERS # YIELDS RESIDUAL IN MPAC 035769,001337: 035770,001338: 31,3641 04713 TC USPRCADR 035771,001339: 31,3642 00353 CADR DDV/BDDV # YIELDS -DX IN MPAC 035772,001340: 035773,001341: 31,3643 00006 EXTEND 035774,001342: 31,3644 40155 DCS MPAC # FETCH DX, LEAVING -DX IN MPAC 035775,001343: 31,3645 20127 DAS ROOTPS # CORRECTED ROOT NOW IN ROOTPS 035776,001344: 035777,001345: 31,3646 04713 TC USPRCADR 035778,001346: 31,3647 01226 CADR ABS # YIELDS ABS(DX) IN MPAC 035779,001347: 31,3650 00006 EXTEND 035780,001348: # Page 825 035781,001349: 31,3651 40125 DCS DXCRIT 035782,001350: 31,3652 20155 DAS MPAC # ABS(DX)-ABS(DXCRIT) IN MPAC 035783,001351: 035784,001352: 31,3653 30163 CA MODE 035785,001353: 31,3654 74750 MASK BIT4 # KLUMPP SAYS GIVE UP AFTER EIGHT PASSES 035786,001354: 31,3655 10000 CCS A 035787,001355: 31,3656 00132 BADROOT TC RETROOT 035788,001356: 035789,001357: 31,3657 24163 INCR MODE # INCREMENT ITERATION COUNTER 035790,001358: 31,3660 10154 CCS MPAC # TEST HI ORDER DX 035791,001359: 31,3661 13624 TCF ROOTLOOP 035792,001360: 31,3662 13664 TCF TESTLODX 035793,001361: 31,3663 13670 TCF ROOTSTOR 035794,001362: 31,3664 10155 TESTLODX CCS MPAC +1 # TEST LO ORDER DX 035795,001363: 31,3665 13624 TCF ROOTLOOP 035796,001364: 31,3666 13670 TCF ROOTSTOR 035797,001365: 31,3667 13670 TCF ROOTSTOR 035798,001366: 31,3670 52127 ROOTSTOR DXCH ROOTPS 035799,001367: 31,3671 52155 DXCH MPAC 035800,001368: 31,3672 30163 CA MODE 035801,001369: 31,3673 54156 TS MPAC +2 # STORE SP ITERATION COUNT IN MPAC+2 035802,001370: 31,3674 50132 INDEX RETROOT 035803,001371: 31,3675 10002 TCF 2 035804,001372: 035805,001373: 31,3676 00147 DERTABLL ADRES DERCOFN -3 035806,001374: 035807,001375: # **************************************************************************** 035808,001376: # TRASHY LITTLE SUBROUTINES 035809,001377: # **************************************************************************** 035810,001378: 035811,001379: 31,3677 51351 INTPRETX INDEX WCHPHASE # SET X1 ON THE WAY TO THE INTERPRETER 035812,001380: 31,3700 42452 CS TARGTDEX 035813,001381: 31,3701 50120 INDEX FIXLOC 035814,001382: 31,3702 54046 TS X1 035815,001383: 31,3703 16037 TCF INTPRET 035816,001384: 035817,001385: 31,3704 31642 TDISPSET CA TTF/8 035818,001386: 31,3705 00006 EXTEND 035819,001387: 31,3706 74750 MP TSCALINV 035820,001388: 31,3707 53476 DXCH TTFDISP 035821,001389: 035822,001390: 31,3710 35014 CA EBANK5 # TREDES BECOMES ZERO TWO PASSES 035823,001391: 31,3711 54003 TS EBANK # BEFORE TCGFAPPR IS REACHED 035824,001392: 31,3712 E5,1470 EBANK= TCGFAPPR 035825,001393: 31,3712 31470 CA TCGFAPPR 035826,001394: 31,3713 24006 INCR BBANK 035827,001395: 31,3714 24006 INCR BBANK 035828,001396: 31,3715 E7,1642 EBANK= TTF/8 035829,001397: # Page 826 035830,001398: 31,3715 61642 AD TTF/8 035831,001399: 31,3716 00006 EXTEND 035832,001400: 31,3717 73751 MP TREDESCL 035833,001401: 31,3720 63747 AD -DEC103 035834,001402: 31,3721 64735 AD NEGMAX 035835,001403: 31,3722 54001 TS L 035836,001404: 31,3723 40001 CS L 035837,001405: 31,3724 60001 AD L 035838,001406: 31,3725 63750 AD +DEC99 035839,001407: 31,3726 64733 AD POSMAX 035840,001408: 31,3727 55666 TS TREDES 035841,001409: 31,3730 41666 CS TREDES 035842,001410: 31,3731 27666 ADS TREDES 035843,001411: 31,3732 00002 TC Q 035844,001412: 035845,001413: 31,3733 05652 1406P00 TC P00DOO 035846,001414: 31,3734 01406 OCT 01406 035847,001415: 31,3735 05567 1406ALM TC ALARM 035848,001416: 31,3736 01406 OCT 01406 035849,001417: 31,3737 13443 TCF RATESTOP 035850,001418: 035851,001419: # ********************************************************************* 035852,001420: # SPECIALIZED "PHASCHNG" SUBROUTINE 035853,001421: # ********************************************************************* 035854,001422: 035855,001423: 31,3740 E3,1440 EBANK= PHSNAME2 035856,001424: 31,3740 35007 FASTCHNG CA EBANK3 # SPECIALIZED 'PHASCHNG' ROUTINE 035857,001425: 31,3741 56003 XCH EBANK 035858,001426: 31,3742 52002 DXCH L 035859,001427: 31,3743 55442 TS PHSNAME3 035860,001428: 31,3744 22003 LXCH EBANK 035861,001429: 31,3745 E7,1621 EBANK= E2DPS 035862,001430: 31,3745 00000 TC A 035863,001431: 035864,001432: # ************************************************************************************* 035865,001433: # PARAMETER TABLE INDIRECT ADDRESSES 035866,001434: # ************************************************************************************* 035867,001435: 035868,001436: 31,3746 E5,1402 RDG = RBRFG 035869,001437: 31,3746 E5,1410 VDG = VBRFG 035870,001438: 31,3746 E5,1416 ADG = ABRFG 035871,001439: 31,3746 E5,1424 VDG2TTF = VBRFG* 035872,001440: 31,3746 E5,1426 ADG2TTF = ABRFG* 035873,001441: 31,3746 E5,1430 JDG2TTF = JBRFG* 035874,001442: 035875,001443: # ************************************************************************************* 035876,001444: # LUNAR LANDING CONSTANTS 035877,001445: # ************************************************************************************* 035878,001446: 035879,001447: # Page 827 035880,001448: 31,3746 01565 TABLTTFL ADRES TABLTTF +3 # ADDRESS FOR REFERENCING TTF TABLE 035881,001449: 31,3747 4740 TTFSCALE = BIT12 035882,001450: 31,3747 4750 TSCALINV = BIT4 035883,001451: 31,3747 77630 -DEC103 DEC -103 B-14 035884,001452: 31,3750 00143 +DEC99 DEC +99 B-14 035885,001453: 31,3751 75340 TREDESCL DEC -.08 035886,001454: 31,3752 00264 180DEGS DEC +180 B-14 035887,001455: 31,3753 00056 1/2DEG DEC +.00278 035888,001456: 31,3754 01542 PROJMAX DEC .42262 B-3 # SIN(25')/8 TO COMPARE WITH PROJ 035889,001457: 31,3755 01022 PROJMIN DEC .25882 B-3 # SIN(15')/8 TO COMPARE WITH PROJ 035890,001458: 31,3756 01477 V06N63 VN 0663 # P63 035891,001459: 31,3757 01500 V06N64 VN 0664 # P64 035892,001460: 31,3760 01474 V06N60 VN 0660 # P65, P66, P67 035893,001461: 035894,001462: 22,3647 BANK 22 035895,001463: 22,2000 SETLOC LANDCNST 035896,001464: 22,2000 BANK 035897,001465: 22,3647 COUNT* $$/F2DPS 035898,001466: 035899,001467: 22,3647 00021 14161 HIGHESTF 2DEC 4.34546769 B-12 035900,001468: 22,3651 01440 00000 GSCALE 2DEC 100 B-11 035901,001469: 22,3653 14000 00000 3/8DP 2DEC .375 035902,001470: 22,3655 30000 00000 3/4DP 2DEC .750 035903,001471: 22,3657 77534 45074 DEPRCRIT 2DEC -.02 B-1 035904,001472: 035905,001473: # Page 828 035906,001474: # ************************************************************************** 035907,001475: # ************************************************************************** End of include-file LUNAR_LANDING_GUIDANCE_EQUATIONS.agc. Parent file is MAIN.agc