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