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