Source Code

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