Source Code
These source code files are an attempted reconstruction of Sundance revision 306, the Apollo 9
LM (Lunar Module) AGC (Apollo Guidance Computer) flight software, created from binary dumps of
original core rope program modules, as follows:
|
031679,000002: ## Copyright: Public domain.
031680,000003: ## Filename: LUNAR_LANDING_GUIDANCE_EQUATIONS.agc
031681,000004: ## Purpose: A section of an attempt to reconstruct Sundance revision 306
031682,000005: ## as closely as possible with available information. Sundance
031683,000006: ## 306 is the source code for the Lunar Module's (LM) Apollo
031684,000007: ## Guidance Computer (AGC) for Apollo 9. This program was created
031685,000008: ## using the mixed-revision SundanceXXX as a starting point, and
031686,000009: ## pulling back features from Luminary 69 believed to have been
031687,000010: ## added based on memos, checklists, observed address changes,
031688,000011: ## or the Sundance GSOPs.
031689,000012: ## Assembler: yaYUL
031690,000013: ## Contact: Ron Burkey <info@sandroid.org>.
031691,000014: ## Website: www.ibiblio.org/apollo/index.html
031692,000015: ## Mod history: 2020-07-24 MAS Created from SundanceXXX.
031693,000016: ## 2021-05-30 ABS DEC -> DEC* for extended address fields.
031694,000017:
031695,000018:
031696,000019:
031697,000020: 31,2417 E7,1606 EBANK= E2DPS
031698,000021:
031699,000022: 31,2417 COUNT* $$/F2DPS
031700,000023:
031701,000024: # ****************************************************************************************************************
031702,000025: # LUNAR LANDING FLIGHT SEQUENCE TABLES
031703,000026: # ****************************************************************************************************************
031704,000027:
031705,000028: # FLIGHT SEQUENCE TABLES ARE ARRANGED BY PHASE. THEY ARE REFERENCED USING AS AN INDEX THE REGISTER WCHPHASE:
031706,000029: # WCHPHASE -1 ---> DISPLAY ROUTINES
031707,000030: # WCHPHASE +0 ---> ROUTINE FOR STARTING NEW GUIDANCE PHASES
031708,000031: # WCHPHASE +1 ---> GUIDANCE EQUATIONS
031709,000032: # WCHPHASE +2 ---> WINDOW VECTOR COMPUTATIONS
031710,000033: # WCHPHASE +3 ---> EXIT CRITERION
031711,000034: # WCHPHASE +4 ---> POST GUIDANCE EQUATION COMPUTATIONS
031712,000035: # WCHPHASE +5 ---> INDICES FOR REFERENCING TARGET PARAMETERS
031713,000036: # WCHPHASE +6 ---> AUGMENT FOR TTF/8
031714,000037:
031715,000038: # ***************************************************************************************************************
031716,000039:
031717,000040: # IGNITION ALGORITHM:
031718,000041: # -1 NO DISPLAYS
031719,000042: 31,2417 12563 IGNALG TCF TTFINCR # +0
031720,000043: 31,2420 13045 TCF TTF/8CL # +1
031721,000044: 31,2421 13171 TCF EXGSUB # +2
031722,000045: 31,2422 00000 DEC 0 B-14 # +3
031723,000046: 31,2423 12770 TCF CGCALC # +4
031724,000047: 31,2424 00000 OCT 0 # +5
031725,000048: 31,2425 02506 DEC 108 E2 B-17 # +6
031726,000049:
031727,000050:
031728,000051: # BRAKING QUADRATIC:
031729,000052: 31,2426 13306 TCF P63DISPS # -1
031730,000053: 31,2427 12563 BRAKQUAD TCF TTFINCR # +0
031731,000054: 31,2430 13045 TCF TTF/8CL # +1
031732,000055: 31,2431 13205 TCF EXBRAK # +2
031733,000056: 31,2432 77405 DEC -20 E2 B-17 # +3
031734,000057: 31,2433 12770 TCF CGCALC # +4
031735,000058: 31,2434 00000 OCT 0 # +5
031736,000059: 31,2435 00000 DEC 0 B-14 # +6
031737,000060:
031738,000061: # BRAKING LINEAR:
031739,000062: 31,2436 13306 TCF P63DISPS # -1
031740,000063: 31,2437 12553 BRAKLING TCF LINSET # +0
031741,000064: 31,2440 13036 TCF LINGUID # +1
031742,000065: 31,2441 13205 TCF EXBRAK # +2
031743,000066: 31,2442 77746 DEC -2 E2 B-17 # +3
031744,000067: 31,2443 13014 TCF RGVGCALC # +4
031745,000068: 31,2444 00000 OCT 0 # +5
031746,000069: 31,2445 00000 DEC 0 B-14 # +6
031747,000070:
031748,000071: # APPROACH QUADRATIC:
031749,000072: 31,2446 13312 TCF P64DISPS # -1
031750,000073: 31,2447 12543 APPRQUAD TCF STARTP64 # +0
031751,000074: 31,2450 13045 TCF TTF/8CL # +1
031752,000075: 31,2451 13211 TCF EXNORM # +2
031753,000076: 31,2452 77602 DEC -10 E2 B-17 # +3
031754,000077: 31,2453 12636 TCF REDESIG # +4
031755,000078: 31,2454 00030 OCT 30 # +5
031756,000079: 31,2455 74110 DEC -158 E2 B-17 # +6
031757,000080:
031758,000081: # APPROACH LINEAR:
031759,000082: 31,2456 13312 TCF P64DISPS # -1
031760,000083: 31,2457 12553 APPRLING TCF LINSET # +0
031761,000084: 31,2460 13036 TCF LINGUID # +1
031762,000085: 31,2461 13211 TCF EXNORM # +2
031763,000086: 31,2462 77746 DEC -2 E2 B-17 # +3
031764,000087: 31,2463 13014 TCF RGVGCALC # +4
031765,000088: 31,2464 00030 OCT 30 # +5
031766,000089: 31,2465 00000 DEC 0 B-14 # +6
031767,000090:
031768,000091: # VERTICAL:
031769,000092: 31,2466 13335 TCF VERTDISP # -1
031770,000093: 31,2467 12534 VERTICAL TCF P65START # +0
031771,000094: 31,2470 13352 TCF VERTGUID # +1
031772,000095: 31,2471 13262 TCF EXVERT # +2
031773,000096: 31,2472 37777 OCT 37777 # +3
031774,000097: 31,2473 13014 TCF RGVGCALC # +4
031775,000098:
031776,000099: # ****************************************************************************************************************
031777,000100: # ENTRY POINTS: ?GUIDSUB FOR THE IGNITION ALGORITHM, LUNLAND FOR SERVOUT
031778,000101: # ****************************************************************************************************************
031779,000102:
031780,000103: # IGNITION ALGORITHM ENTRY: DELIVERS N PASSES OF QUADRATIC QUIDANCE
031781,000104:
031782,000105: 31,2474 77776 ?GUIDSUB EXIT
031783,000106: 31,2475 35026 CAF ONE # N = 2
031784,000107: 31,2476 55656 GUIDSUB TS NGUIDSUB
031785,000108: 31,2477 12505 TCF GUILDRET
031786,000109:
031787,000110:
031788,000111: # NORMAL ENTRY: CONTROL COMES HERE FROM SERVOUT
031789,000112:
031790,000113: 31,2500 05403 LUNLAND TC 2PHSCHNG
031791,000114: 31,2501 00035 OCT 00035 # GROUP 5: RETAIN ONLY PIPA TASK
031792,000115: 31,2502 05022 OCT 05022 # GROUP 2: PROTECT GUIDANCE WITH PRIO 21
031793,000116: 31,2503 21000 OCT 21000 # JUST HIGHER THAN SERVICER'S PRIORITY
031794,000117:
031795,000118: 31,2504 02171 TC GUILDEN
031796,000119:
031797,000120: # ****************************************************************************************************************
031798,000121: # INITIALIZATION FOR THIS PASS
031799,000122: # ****************************************************************************************************************
031800,000123:
031801,000124: 31,2505 COUNT* $$/F2DPS
031802,000125:
031803,000126: 31,2505 51606 GUILDRET INDEX WCHPHASE
031804,000127: 31,2506 30005 CA 5
031805,000128: 31,2507 55610 TS TARGTDEX
031806,000129: 31,2510 40000 COM
031807,000130: 31,2511 50120 INDEX FIXLOC
031808,000131: 31,2512 54046 TS X1
031809,000132:
031810,000133: 31,2513 00006 EXTEND
031811,000134: 31,2514 31612 DCA TPIP
031812,000135: 31,2515 53562 DXCH TPIPOLD
031813,000136:
031814,000137: 31,2516 03562 TC FASTCHNG
031815,000138:
031816,000139: 31,2517 00006 EXTEND
031817,000140: 31,2520 31234 DCA PIPTIME
031818,000141: 31,2521 53612 DXCH TPIP
031819,000142:
031820,000143: 31,2522 00006 EXTEND
031821,000144: 31,2523 31636 DCA TTF/8
031822,000145: 31,2524 53547 DXCH TTF/8TMP
031823,000146:
031824,000147: 31,2525 11607 CCS FLPASS0
031825,000148: 31,2526 12563 TCF TTFINCR
031826,000149:
031827,000150: 31,2527 51606 BRSPOT1 INDEX WCHPHASE
031828,000151: 31,2530 30006 CA 6
031829,000152: 31,2531 27546 ADS TTF/8TMP
031830,000153: 31,2532 51606 INDEX WCHPHASE
031831,000154: 31,2533 10000 TCF 0
031832,000155:
031833,000156: # ****************************************************************************************************************
031834,000157: # ROUTINES TO START NEW PHASES
031835,000158: # ****************************************************************************************************************
031836,000159:
031837,000160: 31,2534 05361 P65START TC NEWMODEX
031838,000161: 31,2535 00101 DEC 65 B-14
031839,000162: 31,2536 45025 CS TWO
031840,000163: 31,2537 55656 TS WCHVERT
031841,000164: 31,2540 05600 TC DOWNFLAG # PERMIT X-AXIS OVERRIDE
031842,000165: 31,2541 17140 CADR XOVINFLG
031843,000166:
031844,000167: 31,2542 12563 TCF TTFINCR
031845,000168:
031846,000169:
031847,000170: 31,2543 05361 STARTP64 TC NEWMODEX
031848,000171: 31,2544 00100 DEC 64 B-14
031849,000172: 31,2545 35013 CA BIT12 # ENABLE RUPT10
031850,000173: 31,2546 00006 EXTEND
031851,000174: 31,2547 05013 WOR CHAN13
031852,000175: 31,2550 05600 TC DOWNFLAG # INITIALIZE REDESIGNATION FLAG
031853,000176: 31,2551 00143 ADRES REDFLAG
031854,000177: 31,2552 12563 TCF TTFINCR
031855,000178:
031856,000179: # ****************************************************************************************************************
031857,000180: # SET LINEAR GUIDANCE COEFFICIENTS
031858,000181: # ****************************************************************************************************************
031859,000182:
031860,000183: 31,2553 06014 LINSET TC INTPRET
031861,000184: 31,2554 51775 VLOAD VSU* # - - -
031862,000185: 31,2555 03640 ACG # JLING = (ACG - ADG)/TTF
031863,000186: 31,2556 23571 ADG,1
031864,000187: 31,2557 77741 V/SC
031865,000188: 31,2560 03547 TTF/8TMP # TTF/8 NOT YET UPDATED
031866,000189: 31,2561 03646 STORE JLING # JLING IS IN UMITS OF 2(-18) M/CS/CS/CS
031867,000190: 31,2562 77776 EXIT
031868,000191:
031869,000192: # (CONTINUE TO TTFINCR)
031870,000193:
031871,000194: # ****************************************************************************************************************
031872,000195: # INCREMENT TTF/8, UPDATE LAND FOR LUNAR ROTATION, DO OTHER USEFUL THINGS
031873,000196: # ****************************************************************************************************************
031874,000197:
031875,000198: # TTFINCR COMPUTATIONS ARE AS FOLLOWS:-
031876,000199:
031877,000200: # TTF/8 UPDATED FOR TIME SINCE LAST PASS:
031878,000201:
031879,000202: # TTF/8 = TTF/8 + (TPIP - TPIPOLD)/8
031880,000203:
031881,000204: # LANDING SITE VECTOR UPDATED FOR LUNAR ROTATION:
031882,000205:
031883,000206: # - - - -
031884,000207: # LAND = /LAND/ UNIT(LAND - LAND(TPIP - TPIPOLD) * WM)
031885,000208:
031886,000209: # SLANT RANGE TO LANDING SITE, FOR DISPLAY:
031887,000210:
031888,000211: # - -
031889,000212: # RANGEDSP = ABVAL(LAND - R)
031890,000213:
031891,000214: 31,2563 06014 TTFINCR TC INTPRET
031892,000215: 31,2564 45345 DLOAD DSU
031893,000216: 31,2565 03612 TPIP
031894,000217: 31,2566 03562 TPIPOLD
031895,000218: 31,2567 41461 SLR PUSH # SHIFT SCALES DELTA TIME TO 2(17) CSECS
031896,000219: 31,2570 21214 11D
031897,000220: 31,2571 47361 VXSC VXV
031898,000221: 31,2572 03630 LAND
031899,000222: 31,2573 03622 WM
031900,000223: 31,2574 47045 BVSU RTB
031901,000224: 31,2575 03630 LAND
031902,000225: 31,2576 21672 NORMUNIT
031903,000226: 31,2577 76561 VXSC VSL1
031904,000227: 31,2600 02023 /LAND/
031905,000228: 31,2601 03541 STORE LANDTEMP
031906,000229: 31,2602 51451 VSU ABVAL
031907,000230: 31,2603 03476 R
031908,000231: 31,2604 02423 STORE RANGEDSP
031909,000232: 31,2605 47375 VLOAD VXV
031910,000233: 31,2606 03476 R
031911,000234: 31,2607 03622 WM
031912,000235: 31,2610 70455 VAD VSR2 # RESCALE TO UNITS OF 2(9) M/CS
031913,000236: 31,2611 03504 V
031914,000237: 31,2612 17572 STODL ANGTERM
031915,000238: 31,2613 77776 EXIT
031916,000239:
031917,000240: 31,2614 52155 DXCH MPAC
031918,000241: 31,2615 21547 DAS TTF/8TMP # NOW HAVE INCREMENTED TTF/8 IN TTF/8TMP
031919,000242:
031920,000243: 31,2616 03562 TC FASTCHNG
031921,000244:
031922,000245: 31,2617 00006 EXTEND
031923,000246: 31,2620 31547 DCA TTF/8TMP
031924,000247: 31,2621 53636 DXCH TTF/8
031925,000248:
031926,000249: 31,2622 00006 EXTEND
031927,000250: 31,2623 31541 DCA LANDTEMP
031928,000251: 31,2624 53630 DXCH LAND
031929,000252: 31,2625 00006 EXTEND
031930,000253: 31,2626 31543 DCA LANDTEMP +2
031931,000254: 31,2627 53632 DXCH LAND +2
031932,000255: 31,2630 00006 EXTEND
031933,000256: 31,2631 31545 DCA LANDTEMP +4
031934,000257: 31,2632 53634 DXCH LAND +4
031935,000258:
031936,000259: 31,2633 03535 TC TDISPSET
031937,000260:
031938,000261: 31,2634 51606 BRSPOT2 INDEX WCHPHASE
031939,000262: 31,2635 10004 TCF 4
031940,000263:
031941,000264: # ****************************************************************************************************************
031942,000265: # LANDING SITE PERTURBATION EQUATIONS
031943,000266: # ****************************************************************************************************************
031944,000267:
031945,000268: 31,2636 03562 REDESIG TC FASTCHNG
031946,000269: 31,2637 30102 CA FLAGWRD6 # IS REDFLAG SET?
031947,000270: 31,2640 75021 MASK REDFLBIT
031948,000271: 31,2641 10000 CCS A
031949,000272: 31,2642 12645 TCF +3
031950,000273: 31,2643 55653 TS ELINCR1
031951,000274: 31,2644 55654 TS AZINCR1
031952,000275:
031953,000276: 31,2645 31702 CA TREDES # YES: HAS TREDES REACHED ZERO?
031954,000277: 31,2646 00006 EXTEND
031955,000278: 31,2647 12770 BZF CGCALC # YES: SKIP REDESIGNATION LOGIC
031956,000279:
031957,000280: 31,2650 00004 INHINT
031958,000281: 31,2651 31653 CA ELINCR1
031959,000282: 31,2652 55565 TS ELINCR
031960,000283: 31,2653 31654 CA AZINCR1
031961,000284: 31,2654 55563 TS AZINCR
031962,000285: 31,2655 03562 TC FASTCHNG
031963,000286:
031964,000287: 31,2656 35030 CA ZERO
031965,000288: 31,2657 55653 TS ELINCR1
031966,000289: 31,2660 55654 TS AZINCR1
031967,000290: 31,2661 00003 RELINT
031968,000291: 31,2662 55566 TS ELINCR +1
031969,000292: 31,2663 55564 TS AZINCR +1
031970,000293:
031971,000294: 31,2664 06014 TC INTPRET
031972,000295: 31,2665 77201 SETPD VLOAD
031973,000296: 31,2666 00001 0
031974,000297: 31,2667 03630 LAND
031975,000298: 31,2670 47051 VSU RTB # - -
031976,000299: 31,2671 03476 R # PUSH DOWN UNIT (LAND - R)
031977,000300: 31,2672 21672 NORMUNIT
031978,000301: 31,2673 76521 MXV VSL1
031979,000302: 31,2674 02150 XNBPIP
031980,000303: 31,2675 14025 STODL 20D
031981,000304: 31,2676 00025 20D
031982,000305: 31,2677 44205 DMP BDSU
031983,000306: 31,2700 03566 ELINCR
031984,000307: 31,2701 00031 24D
031985,000308: 31,2702 74525 PDDL VSR1
031986,000309: 31,2703 03564 AZINCR
031987,000310: 31,2704 65215 DAD PDDL
031988,000311: 31,2705 00027 22D
031989,000312: 31,2706 00031 24D
031990,000313: 31,2707 43205 DMP DAD
031991,000314: 31,2710 03566 ELINCR
031992,000315: 31,2711 00025 20D
031993,000316: 31,2712 61266 VDEF VXM
031994,000317: 31,2713 02150 XNBPIP
031995,000318: 31,2714 71206 PUSH DLOAD
031996,000319: 31,2715 00001 0
031997,000320: 31,2716 77625 DSU
031998,000321: 31,2717 23707 DEPRCRIT
031999,000322: 31,2720 71240 BMN DLOAD
032000,000323: 31,2721 62724 REDES1
032001,000324: 31,2722 23707 DEPRCRIT
032002,000325: 31,2723 00001 STORE 0
032003,000326: 31,2724 45345 REDES1 DLOAD DSU
032004,000327: 31,2725 03630 LAND
032005,000328: 31,2726 03476 R
032006,000329: 31,2727 74271 DDV VXSC
032007,000330: 31,2730 00001 0
032008,000331: 31,2731 53455 VAD UNIT
032009,000332: 31,2732 03476 R
032010,000333: 31,2733 76561 VXSC VSL1
032011,000334: 31,2734 02023 /LAND/
032012,000335: 31,2735 03541 STORE LANDTEMP
032013,000336: 31,2736 47051 VSU RTB
032014,000337: 31,2737 03476 R
032015,000338: 31,2740 21672 NORMUNIT
032016,000339: 31,2741 72441 DOT SL1
032017,000340: 31,2742 02150 XNBPIP
032018,000341: 31,2743 67476 VCOMP ASIN
032019,000342: 31,2744 77776 EXIT # LOOKANGL WILL BE COMPUTED AT RGVGCALC
032020,000343:
032021,000344: 31,2745 33655 CAF 360DEGS
032022,000345: 31,2746 07261 TC SHORTMP
032023,000346:
032024,000347: 31,2747 35011 CAF BIT14
032025,000348: 31,2750 54001 TS L
032026,000349: 31,2751 35030 CAF ZERO
032027,000350: 31,2752 20155 DAS MPAC
032028,000351: 31,2753 52155 DXCH MPAC
032029,000352: 31,2754 07516 TC ALSIGNAG
032030,000353: 31,2755 55703 TS GEFF
032031,000354:
032032,000355: 31,2756 03562 TC FASTCHNG
032033,000356:
032034,000357: 31,2757 00006 EXTEND
032035,000358: 31,2760 31541 DCA LANDTEMP
032036,000359: 31,2761 53630 DXCH LAND
032037,000360: 31,2762 00006 EXTEND
032038,000361: 31,2763 31543 DCA LANDTEMP +2
032039,000362: 31,2764 53632 DXCH LAND +2
032040,000363: 31,2765 00006 EXTEND
032041,000364: 31,2766 31545 DCA LANDTEMP +4
032042,000365: 31,2767 53634 DXCH LAND +4
032043,000366:
032044,000367: # ***************************************************************************************************************
032045,000368: # ERECT GUIDANCE-STABLE MEMBER TRANSFORMATION MATRIX
032046,000369: # ***************************************************************************************************************
032047,000370:
032048,000371: 31,2770 06014 CGCALC TC INTPRET
032049,000372: 31,2771 53575 VLOAD UNIT
032050,000373: 31,2772 03630 LAND
032051,000374:
032052,000375: 31,2773 26401 STOVL CG # FIRST ROW
032053,000376: 31,2774 03572 ANGTERM
032054,000377: 31,2775 53361 VXSC VAD # REMEMBER THAT ANGTERM IS DOUBLE-SIZED
032055,000378: 31,2776 03636 TTF/8
032056,000379: 31,2777 03630 LAND
032057,000380: 31,3000 47051 VSU RTB
032058,000381: 31,3001 03476 R
032059,000382: 31,3002 21672 NORMUNIT
032060,000383: 31,3003 47035 VXV RTB
032061,000384: 31,3004 03630 LAND
032062,000385: 31,3005 21672 NORMUNIT
032063,000386: 31,3006 26407 STOVL CG +6 # SECOND ROW
032064,000387: 31,3007 02401 CG
032065,000388: 31,3010 76435 VXV VSL1
032066,000389: 31,3011 02407 CG +6
032067,000390: 31,3012 02415 STORE CG +14
032068,000391: 31,3013 77776 EXIT
032069,000392:
032070,000393:
032071,000394: # ****************************************************************************************************************
032072,000395: # COMPUTE STATE IN GUIDANCE COORDINATES
032073,000396: # ****************************************************************************************************************
032074,000397:
032075,000398: # RGVGCALC COMPUTATIONS ARE AS FOLLOWS:-
032076,000399:
032077,000400: # VELOCITY RELATIVE TO THE SURFACE:
032078,000401:
032079,000402: # - - - -
032080,000403: # ANGTERM = V + R * WM
032081,000404:
032082,000405: # STATE IN GUIDANCE COORDINATES:
032083,000406:
032084,000407: # - * - -
032085,000408: # RGU = CG (R - LAND)
032086,000409:
032087,000410: # - * - - -
032088,000411: # VGU = CG (V - WM * R)
032089,000412:
032090,000413: # HORIZONTAL VELOCITY FOR DISPLAY:
032091,000414:
032092,000415: # VHORIZ = 8 ABVAL (0, VG , VG )
032093,000416: # 2 1
032094,000417:
032095,000418: # DEPRESSION ANGLE FOR DISPLAY:
032096,000419:
032097,000420: # - - -
032098,000421: # LOOKANGL = ARCSIN(UNIT(R - LAND).XMBPIP)
032099,000422:
032100,000423: 31,3014 06014 RGVGCALC TC INTPRET # ENTER HERE TO RECOMPUTE RG AND VG
032101,000424: 31,3015 52375 VLOAD VSU
032102,000425: 31,3016 03476 R # - -
032103,000426: 31,3017 03630 LAND # PUSH DOWN R - LAND
032104,000427: 31,3020 76521 MXV VSL1
032105,000428: 31,3021 02401 CG
032106,000429: 31,3022 27532 STOVL RGU
032107,000430: 31,3023 03572 ANGTERM
032108,000431: 31,3024 77721 MXV
032109,000432: 31,3025 02401 CG # NO SHIFT SINCE ANGTERM IS DOUBLE SIZED
032110,000433: 31,3026 03614 STORE VGU
032111,000434: 31,3027 55525 PDDL VDEF # FORM (0,VG ,VG ) IN UNITS OF 2(10) M/CS
032112,000435: 31,3030 06233 ZEROVECS # 2 1
032113,000436: 31,3031 52446 ABVAL SL3
032114,000437: 31,3032 17705 STODL VHORIZ # VHORIZ FOR DISPLAY DURING P65, P66, P67
032115,000438: 31,3033 77776 EXIT
032116,000439:
032117,000440: 31,3034 51606 BRSPOT3 INDEX WCHPHASE
032118,000441: 31,3035 10001 TCF 1
032119,000442:
032120,000443: # ****************************************************************************************************************
032121,000444: # LINEAR GUIDANCE EQUATION
032122,000445: # ****************************************************************************************************************
032123,000446:
032124,000447: 31,3036 06014 LINGUID TC INTPRET
032125,000448: 31,3037 74375 VLOAD VXSC # - - -
032126,000449: 31,3040 03646 JLING # ACG = ADG + JLING TTF
032127,000450: 31,3041 03636 TTF/8
032128,000451: 31,3042 52053 VAD* GOTO
032129,000452: 31,3043 23571 ADG,1
032130,000453: 31,3044 63135 AFCCALC +2
032131,000454:
032132,000455: # ****************************************************************************************************************
032133,000456: # TTF/4 COMPUTATION
032134,000457: # ****************************************************************************************************************
032135,000458:
032136,000459: 31,3045 00006 TTF/8CL EXTEND
032137,000460: 31,3046 51610 INDEX TARGTDEX
032138,000461: 31,3047 33617 DCA JDG2TTF # A(3) = 8 JDG TO TABLTTF
032139,000462: 31,3050 53557 DXCH TABLTTF +6 # 2
032140,000463: 31,3051 00006 EXTEND
032141,000464: 31,3052 51610 INDEX TARGTDEX
032142,000465: 31,3053 33615 DCA ADG2TTF # A(2) = 6 ADG TO TABLTTF
032143,000466: 31,3054 53555 DXCH TABLTTF +4 # 2
032144,000467: 31,3055 00006 EXTEND
032145,000468: 31,3056 31620 DCA VGU +4
032146,000469: 31,3057 52155 DXCH MPAC
032147,000470: 31,3060 33667 CAF 3/4DP
032148,000471: 31,3061 07261 TC SHORTMP
032149,000472: 31,3062 00006 EXTEND
032150,000473: 31,3063 51610 INDEX TARGTDEX
032151,000474: 31,3064 33613 DCA VDG2TTF
032152,000475: 31,3065 20155 DAS MPAC
032153,000476: 31,3066 52155 DXCH MPAC # A(1) = (6 VGU + 18 VDG )/8 TO TABLTTF
032154,000477: 31,3067 53553 DXCH TABLTTF +2 # 2 2
032155,000478: 31,3070 00006 EXTEND
032156,000479: 31,3071 41536 DCS RGU +4
032157,000480: 31,3072 52155 DXCH MPAC
032158,000481: 31,3073 00006 EXTEND
032159,000482: 31,3074 51610 INDEX TARGTDEX
032160,000483: 31,3075 33603 DCA RDG +4
032161,000484: 31,3076 20155 DAS MPAC
032162,000485: 31,3077 33664 CAF 3/8
032163,000486: 31,3100 07261 TC SHORTMP
032164,000487: 31,3101 52155 DXCH MPAC # A(0) = -24 (RGU - RDG )/64 TO TABLTTF
032165,000488: 31,3102 53551 DXCH TABLTTF # 2 2
032166,000489:
032167,000490: 31,3103 35017 CA BIT8
032168,000491: 31,3104 55560 TS TABLTTF +10 # FRACTIONAL PRECISION FOR TTF TO TABLE
032169,000492:
032170,000493: 31,3105 00006 EXTEND
032171,000494: 31,3106 31636 DCA TTF/8
032172,000495: 31,3107 52155 DXCH MPAC # LOADS TTF/8 (INITIAL GUESS) INTO MPAC
032173,000496: 31,3110 00006 EXTEND
032174,000497: 31,3111 33651 DCA TABLTTFL
032175,000498: 31,3112 03416 TC ROOTPSRS # YIELDS TTF/8 IN MPAC
032176,000499:
032177,000500: 31,3113 00006 EXTEND
032178,000501: 31,3114 30155 DCA MPAC # FETCH TTF/8 KEEPING IT IN MPAC
032179,000502: 31,3115 53636 DXCH TTF/8 # CORRECTED TTF/8
032180,000503:
032181,000504: 31,3116 03535 TC TDISPSET
032182,000505:
032183,000506: # (CONTINUE TO QUADGUID)
032184,000507:
032185,000508: # ****************************************************************************************************************
032186,000509: # MAIN GUIDANCE EQUATION
032187,000510: # ****************************************************************************************************************
032188,000511:
032189,000512: # AS PUBLISHED:-
032190,000513:
032191,000514: # - - - -
032192,000515: # - - 6(VDG + VG) 12(RDG - RG)
032193,000516: # ACG = ADG + ----------- + ------------
032194,000517: # TTF (TTF)(TTF)
032195,000518:
032196,000519: # AS HERE PROGRAMMED:-
032197,000520:
032198,000521: # - -
032199,000522: # 3 (1/4(RDG - RG) - - )
032200,000523: # - (------------- + VDG + VG)
032201,000524: # - 4 ( TTF/8 ) -
032202,000525: # ACG = ---------------------------- + ADG
032203,000526: # TTF/8
032204,000527:
032205,000528: 31,3117 06014 QUADGUID TC INTPRET
032206,000529: 31,3120 52373 VLOAD* VSU
032207,000530: 31,3121 23577 RDG,1
032208,000531: 31,3122 03532 RGU
032209,000532: 31,3123 70541 V/SC VSR2
032210,000533: 31,3124 03636 TTF/8
032211,000534: 31,3125 53253 VAD* VAD
032212,000535: 31,3126 23605 VDG,1
032213,000536: 31,3127 03614 VGU
032214,000537: 31,3130 74341 V/SC VXSC
032215,000538: 31,3131 03636 TTF/8
032216,000539: 31,3132 23670 3/4DP
032217,000540: 31,3133 77653 AFCCALC VAD*
032218,000541: 31,3134 23571 ADG,1 # CURRENT TARGET ACCELERATION
032219,000542: 31,3135 03640 STORE ACG
032220,000543: 31,3136 76505 AFCCALC1 VXM VSL1 # VERTGUID COMES HERE
032221,000544: 31,3137 02401 CG
032222,000545: 31,3140 70315 PDVL V/SC
032223,000546: 31,3141 01236 GDT/2
032224,000547: 31,3142 23663 GSCALE
032225,000548: 31,3143 45445 BVSU STADR
032226,000549: 31,3144 74527 STORE UNFC/2 # UNFC/2 NEED NOT BE UNITIZED
032227,000550: 31,3145 77646 ABVAL
032228,000551: 31,3146 03570 AFCCALC2 STORE /AFC/ # MAGNITUDE OF AFC FOR THROTTLE
032229,000552: 31,3147 77776 EXIT
032230,000553: 31,3150 03562 TC FASTCHNG
032231,000554:
032232,000555: 31,3151 25607 INCR FLPASS0 # INCREMENT PASS COUNTER
032233,000556:
032234,000557: # (CONTINUE TO EXTLOGIC)
032235,000558:
032236,000559: # ****************************************************************************************************************
032237,000560: # PREPARE TO EXIT
032238,000561: # ****************************************************************************************************************
032239,000562:
032240,000563: # DECIDE (1) HOW TO EXIT, AND (2) WHETHER TO SWITCH PHASES
032241,000564:
032242,000565: 31,3152 51606 EXTLOGIC INDEX WCHPHASE
032243,000566: 31,3153 40003 CS 3
032244,000567: 31,3154 61635 AD TTF/8
032245,000568: 31,3155 00006 EXTEND
032246,000569: 31,3156 51606 INDEX WCHPHASE
032247,000570: 31,3157 60002 BZMF 2
032248,000571:
032249,000572: 31,3160 31606 CA WCHPHASE # PREPARE FOR PHASE SWITCHING LOGIC
032250,000573: 31,3161 55537 TS WCHPHOLD
032251,000574:
032252,000575: 31,3162 03562 TC FASTCHNG
032253,000576:
032254,000577: 31,3163 31537 CA WCHPHOLD
032255,000578: 31,3164 65023 AD BIT4
032256,000579: 31,3165 22007 ZL # +0
032257,000580: 31,3166 53607 DXCH WCHPHASE # ADVANCING WCHPHASE AND RESETTING FLPASS0
032258,000581: 31,3167 51537 INDEX WCHPHOLD
032259,000582: 31,3170 10002 TCF 2
032260,000583:
032261,000584: # ****************************************************************************************************************
032262,000585: # ROUTINES FOR EXITING FROM LANDING GUIDANCE
032263,000586:
032264,000587: # ****************************************************************************************************************
032265,000588:
032266,000589: # 1. EXGSUB IS THE RETURN WHEN GUIDSUB IS CALLED BY THE IGNITION ALGORITHM.
032267,000590:
032268,000591: # 2. EXBRAK IN THE EXIT USED DURING THE BRAKING PHASE. IN THIS CASE UNIT(R) IS THE WINDOW POINTING VECTOR.
032269,000592:
032270,000593: # 3. EXNORM IS THE EXIT USED AT OTHER TIMES DURING THE BURN.
032271,000594:
032272,000595: # (EXOVFLOW IS A SUBROUTINE OF EXBRAK AND EXNORM CALLED WHEN OVERFLOW OCCURRED ANYWHERE IN GUIDANCE.)
032273,000596:
032274,000597: 31,3171 11656 EXGSUB CCS NGUIDSUB
032275,000598: 31,3172 12476 TCF GUIDSUB
032276,000599: 31,3173 25655 INCR NIGNLOOP
032277,000600: 31,3174 45022 CS BIT5
032278,000601: 31,3175 61655 AD NIGNLOOP
032279,000602: 31,3176 00006 EXTEND
032280,000603: 31,3177 63202 BZMF +3
032281,000604: 31,3200 05651 TC ALARM
032282,000605: 31,3201 01412 OCT 01412
032283,000606:
032284,000607: 31,3202 06014 +3 TC INTPRET
032285,000608: 31,3203 77650 GOTO
032286,000609: 31,3204 65002 DDUMCALC
032287,000610:
032288,000611: 31,3205 06014 EXBRAK TC INTPRET
032289,000612: 31,3206 52175 VLOAD GOTO
032290,000613: 31,3207 03524 UNIT/R/
032291,000614: 31,3210 63256 STEER?
032292,000615:
032293,000616: 31,3211 06014 EXNORM TC INTPRET
032294,000617: 31,3212 52375 VLOAD VSU
032295,000618: 31,3213 03630 LAND
032296,000619: 31,3214 03476 R
032297,000620: 31,3215 77634 RTB
032298,000621: 31,3216 21672 NORMUNIT
032299,000622: 31,3217 00025 STORE 20D # UNIT(LAND - R) IS TENTATIVE CHOICE
032300,000623: 31,3220 50235 VXV DOT
032301,000624: 31,3221 02150 XNBPIP
032302,000625: 31,3222 02407 CG +6
032303,000626: 31,3223 00023 STORE 18D # PROJ 1/8 REAL SIZE
032304,000627: 31,3224 50025 DSU BMN
032305,000628: 31,3225 23711 PROJMAX
032306,000629: 31,3226 63232 +4
032307,000630: 31,3227 52175 VLOAD GOTO
032308,000631: 31,3230 00025 20D
032309,000632: 31,3231 63256 STEER?
032310,000633: 31,3232 77745 DLOAD
032311,000634: 31,3233 00023 18D
032312,000635: 31,3234 51025 DSU BPL
032313,000636: 31,3235 23713 PROJMIN
032314,000637: 31,3236 63242 +4
032315,000638: 31,3237 52175 VLOAD GOTO
032316,000639: 31,3240 02415 CG +12D
032317,000640: 31,3241 63256 STEER?
032318,000641: 31,3242 45345 DLOAD DSU
032319,000642: 31,3243 00023 18D
032320,000643: 31,3244 23711 PROJMAX
032321,000644: 31,3245 65361 VXSC PDDL
032322,000645: 31,3246 02415 CG +12D
032323,000646: 31,3247 00023 18D
032324,000647: 31,3250 74225 DSU VXSC
032325,000648: 31,3251 23713 PROJMIN
032326,000649: 31,3252 00025 20D
032327,000650: 31,3253 77651 VSU
032328,000651: 31,3254 77741 V/SC
032329,000652: 31,3255 23715 PROJDIV
032330,000653:
032331,000654: 31,3256 03256 STEER? STORE UNWC/2
032332,000655: 31,3257 77414 BOFF EXIT # IF STEERSW DOWN NO OUTPUTS
032333,000656: 31,3260 01344 STEERSW
032334,000657: 31,3261 63274 DISPEXIT -1
032335,000658:
032336,000659: 31,3262 30121 EXVERT CA OVFIND # IF OVERFLOW ANYWHERE IN GUIDANCE
032337,000660: 31,3263 00006 EXTEND # DON'T CALL THROTTLE OR FINDCDUW
032338,000661: 31,3264 13270 BZF +4
032339,000662:
032340,000663: 31,3265 05651 EXOVFLOW TC ALARM # SOUND THE ALARM NON-ABORTIVELY.
032341,000664: 31,3266 01410 OCT 01410
032342,000665:
032343,000666: 31,3267 13275 TCF DISPEXIT
032344,000667:
032345,000668: 31,3270 02235 GDUMP1 TC THROTTLE
032346,000669: 31,3271 06014 TC INTPRET
032347,000670: 31,3272 77624 CALL
032348,000671: 31,3273 61220 FINDCDUW -2
032349,000672: 31,3274 77776 EXIT
032350,000673:
032351,000674: # (CONTINUE TO DISPEXIT)
032352,000675:
032353,000676:
032354,000677: # ****************************************************************************************************************
032355,000678: # GUIDANCE LOOP DISPLAYS
032356,000679: # ****************************************************************************************************************
032357,000680:
032358,000681: 31,3275 00006 DISPEXIT EXTEND # KILL GROUP 2: DISPLAYS WILL BE
032359,000682: 31,3276 35030 DCA NEG0 # RESTORED BY NEXT GUIDANCE CYCLE
032360,000683: 31,3277 52755 DXCH -PHASE2
032361,000684:
032362,000685: 31,3300 40104 CS FLAGWRD8 # IF FLUNDISP SET, NO DISPLAY THIS PASS
032363,000686: 31,3301 75015 MASK FLUNDBIT
032364,000687: 31,3302 00006 EXTEND
032365,000688: 31,3303 13311 BZF ENDLLJOB # TO PICK UP THE TAG
032366,000689:
032367,000690: 31,3304 51606 INDEX WCHPHASE
032368,000691: 31,3305 07777 TCF 0 -1
032369,000692:
032370,000693: 31,3306 33716 P63DISPS CAF V06N63
032371,000694: 31,3307 04655 DISPCOMN TC BANKCALL
032372,000695: 31,3310 20364 CADR GODSPR
032373,000696:
032374,000697: 31,3311 15225 ENDLLJOB TCF ENDOFJOB
032375,000698:
032376,000699: 31,3312 40102 P64DISPS CS FLAGWRD6 # NO: IS REDFLAG SET?
032377,000700: 31,3313 75021 MASK REDFLBIT
032378,000701: 31,3314 00006 EXTEND
032379,000702: 31,3315 13333 BZF REDES-OK # YES: DO STATIC DISPLAY
032380,000703:
032381,000704: 31,3316 33717 CAF V06N64 # OTHERWISE USE FLASHING DISPLAY
032382,000705: 31,3317 04655 TC BANKCALL
032383,000706:
032384,000707: 31,3320 20375 CADR REFLASHR
032385,000708: 31,3321 14106 TCF GOTOPOOH # TERMINATE
032386,000709: 31,3322 13325 TCF P64CEED # PROCEED PERMIT REDESIGNATIONS
032387,000710: 31,3323 13312 TCF P64DISPS # RECYCLE
032388,000711:
032389,000712: 31,3324 13311 TCF ENDLLJOB # TO PICK UP THE TAG
032390,000713:
032391,000714: 31,3325 35030 P64CEED CAF ZERO
032392,000715: 31,3326 55653 TS ELINCR1
032393,000716: 31,3327 55654 TS AZINCR1
032394,000717:
032395,000718: 31,3330 05566 TC UPFLAG # ENABLE REDESIGNATION LOGIC
032396,000719: 31,3331 00143 ADRES REDFLAG
032397,000720:
032398,000721: 31,3332 15225 TCF ENDOFJOB
032399,000722:
032400,000723: 31,3333 33717 REDES-OK CAF V06N64
032401,000724: 31,3334 13307 TCF DISPCOMN
032402,000725:
032403,000726:
032404,000727: 31,3335 35024 VERTDISP CAF FOUR
032405,000728: 31,3336 04655 TC BANKCALL
032406,000729: 31,3337 66741 CADR ALTCHK
032407,000730: 31,3340 13350 TCF VERTDSP2
032408,000731:
032409,000732: 31,3341 33720 CAF V06N60
032410,000733: 31,3342 04655 TC BANKCALL
032411,000734: 31,3343 20375 CADR REFLASHR
032412,000735: 31,3344 14106 TCF GOTOPOOH
032413,000736: 31,3345 12000 TCF LANDJUNK
032414,000737: 31,3346 13335 TCF VERTDISP
032415,000738:
032416,000739: 31,3347 13311 TCF ENDLLJOB
032417,000740:
032418,000741: 31,3350 33720 VERTDSP2 CAF V06N60
032419,000742: 31,3351 13307 TCF DISPCOMN
032420,000743:
032421,000744: # ****************************************************************************************************************
032422,000745: # GUIDANCE FOR VERTICAL DESCENT
032423,000746: # ****************************************************************************************************************
032424,000747:
032425,000748: 31,3352 11656 VERTGUID CCS WCHVERT
032426,000749: 31,3353 13275 TCF DISPEXIT # POSITIVE P67, WHICH SKIPS ALL GUIDANCE
032427,000750: 31,3354 13371 TCF P66VERT # +0
032428,000751:
032429,000752: # THE P65 GUIDANCE EQUATION IS AS FOLLOWS:-
032430,000753:
032431,000754: # - -
032432,000755: # - VDGVERT - VGU -
032433,000756: # ACG = ------------- , WHERE VDGVERT = (-3FPS,0,0)
032434,000757: # TAUVERT
032435,000758:
032436,000759: 31,3355 00006 P65VERT EXTEND # NEGATIVE
032437,000760: 31,3356 43703 DCS +3FPS
032438,000761: 31,3357 53654 DXCH VDGVERT
032439,000762: 31,3360 06014 TC INTPRET
032440,000763: 31,3361 65375 VLOAD PDDL
032441,000764: 31,3362 06233 ZEROVECS
032442,000765: 31,3363 03654 VDGVERT
032443,000766: 31,3364 52266 VDEF VSU # FORM (VDGVERT,0,0), LEAVING DP 0 IN PDL
032444,000767: 31,3365 03614 VGU
032445,000768:
032446,000769: 31,3366 52141 V/SC GOTO
032447,000770: 31,3367 23657 TAUVERT
032448,000771: 31,3370 63136 AFCCALC1
032449,000772:
032450,000773:
032451,000774: # THE R.O.D. EQUATION IS AS FOLLOWS:-
032452,000775:
032453,000776: # (VDGVERTX - VGUX)/TAUVERT - GMOON
032454,000777: # /AFC/ = ---------------------------------
032455,000778: # UNIT/R/ . XNB
032456,000779:
032457,000780: 31,3371 57655 P66VERT XCH RODCOUNT # RESTART COULD CAUSE RODCOUNTS TO BE LOST
032458,000781: 31,3372 00006 EXTEND
032459,000782: 31,3373 73701 MP +1FPS
032460,000783: 31,3374 21654 DAS VDGVERT
032461,000784: 31,3375 03562 TC FASTCHNG
032462,000785: 31,3376 06014 TC INTPRET
032463,000786: 31,3377 45345 DLOAD DSU
032464,000787: 31,3400 03654 VDGVERT
032465,000788: 31,3401 03614 VGU
032466,000789: 31,3402 45271 DDV DSU
032467,000790: 31,3403 23661 TAUROD
032468,000791: 31,3404 23700 MOONG
032469,000792: 31,3405 50315 PDVL DOT # HAVE ACC IN UNITS OF 2(-2) M/CS/CS
032470,000793: 31,3406 02150 XNBPIP
032471,000794: 31,3407 03524 UNIT/R/
032472,000795: 31,3410 45465 BDDV STADR
032473,000796: 31,3411 74207 STORE /AFC/
032474,000797: 31,3412 77404 BOVB EXIT
032475,000798: 31,3413 63265 EXOVFLOW
032476,000799: 31,3414 02235 TC THROTTLE
032477,000800: 31,3415 13275 TCF DISPEXIT
032478,000801:
032479,000802:
032480,000803: # ****************************************************************************************************************
032481,000804: # REDESIGNATOR TRAP
032482,000805: # ****************************************************************************************************************
032483,000806:
032484,000807: 21,2000 BANK 21
032485,000808: 21,2000 SETLOC F2DPS*21
032486,000809: 21,2000 BANK
032487,000810:
032488,000811: 21,2000 COUNT* $$/F2DPS
032489,000812:
032490,000813: 21,2000 56016 PITFALL XCH BANKRUPT
032491,000814: 21,2001 00006 EXTEND
032492,000815: 21,2002 22012 QXCH QRUPT
032493,000816:
032494,000817: 21,2003 05375 TC CHECKMM # IF NOT IN P64, NO REASON TO CONTINUE
032495,000818: 21,2004 00100 DEC 64 B-14
032496,000819:
032497,000820: 21,2005 15340 TCF RESUME
032498,000821:
032499,000822: 21,2006 00006 EXTEND
032500,000823: 21,2007 00031 READ CHAN31
032501,000824: 21,2010 40000 COM
032502,000825: 21,2011 72071 MASK ALL4BITS
032503,000826: 21,2012 55656 TS ELVIRA
032504,000827: 21,2013 35025 CAF TWO
032505,000828: 21,2014 55655 TS ZERLINA
032506,000829: 21,2015 35031 CAF FIVE
032507,000830: 21,2016 05243 TC TWIDDLE
032508,000831: 21,2017 02024 ADRES REDESMON
032509,000832: 21,2020 15340 TCF RESUME
032510,000833:
032511,000834:
032512,000835: # REDESIGNATION MONITOR (INITIATED BY PITFALL)
032513,000836:
032514,000837:
032515,000838: 21,2021 55655 PREMON1 TS ZERLINA
032516,000839: 21,2022 35032 PREMON2 CAF SEVEN
032517,000840: 21,2023 05274 TC VARDELAY
032518,000841: 21,2024 00006 REDESMON EXTEND
032519,000842: 21,2025 00031 READ 31
032520,000843: 21,2026 40000 COM
032521,000844: 21,2027 72071 MASK ALL4BITS
032522,000845: 21,2030 57656 XCH ELVIRA
032523,000846: 21,2031 54001 TS L
032524,000847: 21,2032 11656 CCS ELVIRA # DO ANY BITS APPEAR THIS PASS?
032525,000848: 21,2033 12022 TCF PREMON2 # Y: CONTINUE MONITOR
032526,000849:
032527,000850: 21,2034 10001 CCS L # N: ANY LAST PASS?
032528,000851: 21,2035 12044 TCF COUNT'EM # Y: COUNT 'EM, RESET RUPT, TERMINATE
032529,000852: 21,2036 11655 CCS ZERLINA # N: HAS ZERLINA REACHED ZERO YET?
032530,000853: 21,2037 12021 TCF PREMON1 # N: DIMINISH ZERLINA, CONTINUE
032531,000854: 21,2040 35013 RESETRPT CAF BIT12 # Y: RESET RUPT, TERMINATE
032532,000855: 21,2041 00006 EXTEND
032533,000856: 21,2042 05013 WOR CHAN13
032534,000857: 21,2043 15331 TCF TASKOVER
032535,000858:
032536,000859: 21,2044 30001 COUNT'EM CA L
032537,000860: 21,2045 75021 MASK -AZBIT
032538,000861: 21,2046 10000 CCS A
032539,000862: 21,2047 42072 -AZ CS AZEACH
032540,000863: 21,2050 27654 ADS AZINCR1
032541,000864: 21,2051 30001 CA L
032542,000865: 21,2052 75022 MASK +AZBIT
032543,000866: 21,2053 10000 CCS A
032544,000867: 21,2054 32072 +AZ CA AZEACH
032545,000868: 21,2055 27654 ADS AZINCR1
032546,000869: 21,2056 30001 CA L
032547,000870:
032548,000871: 21,2057 75026 MASK -ELBIT
032549,000872: 21,2060 10000 CCS A
032550,000873: 21,2061 42073 -EL CS ELEACH
032551,000874: 21,2062 27653 ADS ELINCR1
032552,000875: 21,2063 30001 CA L
032553,000876: 21,2064 75025 MASK +ELBIT
032554,000877: 21,2065 10000 CCS A
032555,000878: 21,2066 32073 +EL CA ELEACH
032556,000879: 21,2067 27653 ADS ELINCR1
032557,000880: 21,2070 12040 TCF RESETRPT
032558,000881:
032559,000882:
032560,000883: # THESE EQUIVALENCIES ARE BASED ON GSOP CHAPTER 4, REVISION 16 OF P64LM
032561,000884:
032562,000885: 21,2071 5025 +ELBIT = BIT2 # -PITCH
032563,000886:
032564,000887:
032565,000888: 21,2071 5026 -ELBIT = BIT1 # +PITCH
032566,000889:
032567,000890:
032568,000891: 21,2071 5022 +AZBIT = BIT5
032569,000892:
032570,000893:
032571,000894: 21,2071 5021 -AZBIT = BIT6
032572,000895:
032573,000896: 21,2071 00063 ALL4BITS OCT 00063
032574,000897:
032575,000898:
032576,000899: 21,2072 01074 AZEACH DEC .03491 # 2 DEGREES
032577,000900:
032578,000901:
032579,000902: 21,2073 00217 ELEACH DEC .00873 # 1/2 DEGREE
032580,000903:
032581,000904:
032582,000905: # ****************************************************************************************************************
032583,000906: # R.O.D. TRAP
032584,000907: # ************************************************************************
032585,000908:
032586,000909: 21,2074 BANK 21
032587,000910: 21,2000 SETLOC RODTRAP
032588,000911: 21,2000 BANK
032589,000912: 21,2074 COUNT* $$/F2DPS # ****************************************
032590,000913:
032591,000914: 21,2074 75020 DESCBITS MASK BIT7 # COME HERE FROM MARKRUPT CODING WITH BIT
032592,000915: 21,2075 10000 CCS A # 7 OR 6 OF CHANNEL 16 IN A: BIT 7 MEANS
032593,000916: 21,2076 45025 CS TWO # - RATE INCREMENT, BIT 6 + INCREMENT
032594,000917: 21,2077 65026 AD ONE
032595,000918: 21,2100 27655 ADS RODCOUNT
032596,000919:
032597,000920: 21,2101 15340 TCF RESUME # TRAP IS RESET WHEN SWITCH IS RELEASED
032598,000921:
032599,000922:
032600,000923:
032601,000924: 31,3416 BANK 31
032602,000925: 31,2000 SETLOC F2DPS*31
032603,000926: 31,2000 BANK
032604,000927:
032605,000928: 31,3416 COUNT* $$/F2DPS
032606,000929:
032607,000930: # ****************************************************************************************************************
032608,000931: # DOUBLE PRECISION ROOT FINDER SUBROUTINE (BY ALLAN KLUMPP)
032609,000932: # ****************************************************************************************************************
032610,000933:
032611,000934: # N N-1
032612,000935: # ROOTPSRS FINDS ONE ROOT OF THE POWER SERIES A X + A X + ... + A X + A
032613,000936: # N N-1 1 0
032614,000937:
032615,000938: # USING NEWTON'S METHOD STARTING WITH AN INITIAL GUESS FOR THE ROOT. THE ENTERING DATA MUST BE AS FOLLOWS:
032616,000939:
032617,000940: # A SP LOC-3 ADRES FOR REFERENCING PWR COF TABL
032618,000941: # L SP N-1 N IS THE DEGREE OF THE POWER SERIES
032619,000942: # MPAC DP X INITIAL GUESS FOR ROOT
032620,000943:
032621,000944: # LOC-2N DP A(0)
032622,000945: # ...
032623,000946: # LOC DP A(N)
032624,000947: # LOC+2 SP PRECROOT PREC RQD OF ROOT (AS FRACT OF 1ST GUESS)
032625,000948:
032626,000949: # THE DP RESULT IS LEFT IN MPAC UPON EXIT, AND A SP COUNT OF THE ITERATIONS TO CONVERGENCE IS LEFT IN MPAC+2.
032627,000950: # RETURN IS NORMALLY TO LOC(TC ROOTPSRS)+3. IF ROOTPSRS FAILS TO CONVERGE IN 32 PASSES, RETURN IS TO LOC+1 AND
032628,000951: # OUTPUTS ARE NOT TO BE TRUSTED.
032629,000952:
032630,000953: # PRECAUTION: ROOTPSRS MAKES NO CHECKS FOR OVERFLOW OR FOR IMPROPER USAGE. IMPROPER USAGE COULD
032631,000954: # PRECLUDE CONVERGENCE OR REQUIRE EXCESSIVE ITERATIONS. AS A SPECIFIC EXAMPLE, ROOTPSRS FORMS A DERIVATIVE
032632,000955: # COEFFICIENT TABLE BY MULTIPLYING EACH A(I) BY I, WHERE I RANGES FROM 1 TO N. IF AN ELEMENT OF THE DERIVATIVE
032633,000956: # COEFFICIENT TABLE = 1 OR > 1 IN MAGNITUDE, ONLY THE EXCESS IS RETAINED. ROOTPSRS MAY CONVERGE ON THE CORRECT
032634,000957: # ROOT NONETHELESS, BUT IT MAY TAKE AN EXCESSIVE NUMBER OF ITERATIONS. THEREFORE THE USER SHOULD RECOGNIZE:
032635,000958:
032636,000959: # 1. USER'S RESPONSIBILITY TO ASSURE THAT I X A(I) < 1 IN MAGNITUDE FOR ALL I.
032637,000960:
032638,000961: # 2. USER'S RESPONSIBILITY TO ASSURE OVERFLOW WILL NOT OCCUR IN EVALUATING EITHER THE RESIDUAL OR THE DERIVATIVE
032639,000962: # POWER SERIES. THIS OVERFLOW WOULD BE PRODUCED BY SUBROUTINE POWRSERS, CALLED BY ROOTPSRS, AND MIGHT NOT
032640,000963: # PRECLUDE EVENTUAL CONVERGENCE.
032641,000964:
032642,000965: # 3. AT PRESENT, ERASABLE LOCATIONS ARE RESERVED ONLY FOR N UP TO 5. AN N IN EXCESS OF 5 WILL PRODUCE CHAOS.
032643,000966: # ALL ERASABLES USED BY ROOTPSRS ARE UNSWITCHED LOCATED IN THE REGION FROM MPAC-33 OCT TO MPAC+7.
032644,000967:
032645,000968: # 4. THE ITERATION COUNT RETURNED IN MPAC+2 MAY BE USED TO DETECT ABNORMAL PERFORMANCE.
032646,000969:
032647,000970: # STORE ENTERING DATA, INITLIZE ERASABLES
032648,000971:
032649,000972: 31,3416 00006 ROOTPSRS EXTEND
032650,000973: 31,3417 22132 QXCH RETROOT # RETURN ADRES
032651,000974: 31,3420 54117 TS PWRPTR # PWR TABL POINTER
032652,000975: 31,3421 52160 DXCH MPAC +3 # PWR TABL ADRES, N-1
032653,000976: 31,3422 33534 CA DERTABLL
032654,000977: 31,3423 54141 TS DERPTR # DER TABL POINTER
032655,000978: 31,3424 54161 TS MPAC +5 # DER TABL ADRES
032656,000979: 31,3425 10160 CCS MPAC +4 # NO POWER SERIES OF DEGREE 1 OR LESS
032657,000980: 31,3426 54162 TS MPAC +6 # N-2
032658,000981: 31,3427 35030 CA ZERO # MODE USED AS ITERATION COUNTER. MODE
032659,000982: 31,3430 54163 TS MODE # MUST BE POS SO ABS WON'T COMP MPAC+3 ETC
032660,000983:
032661,000984: # COMPUTE CRITERION TO STOP ITERATING
032662,000985:
032663,000986: 31,3431 00006 EXTEND
032664,000987: 31,3432 30155 DCA MPAC # FETCH ROOT GUESS, KEEPING IT IN MPAC
032665,000988: 31,3433 52127 DXCH ROOTPS # AND IN ROOTPS
032666,000989: 31,3434 50157 INDEX MPAC +3 # PWR TABL ADRES
032667,000990: 31,3435 30005 CA 5 # PRECROOT TO A
032668,000991: 31,3436 07261 TC SHORTMP # YIELDS DP PRODUCT IN MPAC
032669,000992: 31,3437 04766 TC USPRCADR
032670,000993: 31,3440 01226 CADR ABS # YIELDS ABVAL OF CRITERION ON DX IN MPAC
032671,000994: 31,3441 52155 DXCH MPAC
032672,000995: 31,3442 52125 DXCH DXCRIT # CRITERION
032673,000996:
032674,000997: # SET UP DER COF TABL
032675,000998:
032676,000999: 31,3443 00006 EXTEND
032677,001000: 31,3444 50117 INDEX PWRPTR
032678,001001: 31,3445 30004 DCA 3
032679,001002: 31,3446 52155 DXCH MPAC # A(N) TO MPAC
032680,001003:
032681,001004: 31,3447 30160 CA MPAC +4 # N-1 TO A
032682,001005:
032683,001006: 31,3450 54140 DERCLOOP TS PWRCNT # LOOP COUNTER
032684,001007: 31,3451 65026 AD ONE
032685,001008: 31,3452 07270 TC DMPNSUB # YIELDS DERCOF = I X A(I) IN MPAC
032686,001009: 31,3453 00006 EXTEND
032687,001010: 31,3454 50117 INDEX PWRPTR
032688,001011: 31,3455 30002 DCA 1
032689,001012: 31,3456 52155 DXCH MPAC # A(I-1) TO MPAC, FETCHING DERCOF
032690,001013: 31,3457 50141 INDEX DERPTR
032691,001014: 31,3460 52004 DXCH 3 # DERCOF TO DER TABL
032692,001015: 31,3461 45025 CS TWO
032693,001016: 31,3462 26117 ADS PWRPTR # DECREMENT PWR POINTER
032694,001017: 31,3463 45025 CS TWO
032695,001018: 31,3464 26141 ADS DERPTR # DECREMENT DER POINTER
032696,001019: 31,3465 10140 CCS PWRCNT
032697,001020: 31,3466 13450 TCF DERCLOOP
032698,001021:
032699,001022:
032700,001023: # CONVERGE ON ROOT
032701,001024:
032702,001025: 31,3467 00006 ROOTLOOP EXTEND
032703,001026: 31,3470 30127 DCA ROOTPS # FETCH CURRENT ROOT
032704,001027: 31,3471 52155 DXCH MPAC # LEAVE IN MPAC
032705,001028: 31,3472 00006 EXTEND
032706,001029: 31,3473 30162 DCA MPAC +5 # LOAD A, L WITH DER TABL ADRES, N-2
032707,001030: 31,3474 07171 TC POWRSERS # YIELDS DERIVATIVE IN MPAC
032708,001031:
032709,001032: 31,3475 00006 EXTEND
032710,001033: 31,3476 30127 DCA ROOTPS
032711,001034: 31,3477 52155 DXCH MPAC # CURRENT ROOT TO MPAC, FETCHING DERIVTIVE
032712,001035: 31,3500 52131 DXCH BUF # LEAVE DERIVATIVE IN BUF AS DIVISOR
032713,001036: 31,3501 00006 EXTEND
032714,001037: 31,3502 30160 DCA MPAC +3 # LOAD A, L WITH PWR TABL ADRES, N-1
032715,001038: 31,3503 07171 TC POWRSERS # YIELDS RESIDUAL IN MPAC
032716,001039:
032717,001040: 31,3504 04766 TC USPRCADR
032718,001041: 31,3505 00353 CADR DDV/BDDV # YIELDS -DX IN MPAC
032719,001042:
032720,001043: 31,3506 00006 EXTEND
032721,001044: 31,3507 40155 DCS MPAC # FETCH DX, LEAVING -DX IN MPAC
032722,001045: 31,3510 20127 DAS ROOTPS # CORRECTED ROOT NOW IN ROOTPS
032723,001046:
032724,001047: 31,3511 04766 TC USPRCADR
032725,001048: 31,3512 01226 CADR ABS # YIELDS ABS(DX) IN MPAC
032726,001049: 31,3513 00006 EXTEND
032727,001050: 31,3514 40125 DCS DXCRIT
032728,001051: 31,3515 20155 DAS MPAC # ABS(DX)-ABS(DXCRIT) IN MPAC
032729,001052:
032730,001053: 31,3516 24163 INCR MODE # INCREMENT ITERATION COUNTER
032731,001054:
032732,001055: 31,3517 10154 CCS MPAC # TEST HI ORDER DX
032733,001056: 31,3520 13467 TCF ROOTLOOP
032734,001057: 31,3521 13523 TCF TESTLODX
032735,001058: 31,3522 13527 TCF ROOTSTOR
032736,001059: 31,3523 10155 TESTLODX CCS MPAC +1 # TEST LO ORDER DX
032737,001060: 31,3524 13467 TCF ROOTLOOP
032738,001061: 31,3525 13527 TCF ROOTSTOR
032739,001062: 31,3526 13527 TCF ROOTSTOR
032740,001063: 31,3527 52127 ROOTSTOR DXCH ROOTPS
032741,001064: 31,3530 52155 DXCH MPAC
032742,001065: 31,3531 30163 CA MODE
032743,001066: 31,3532 54156 TS MPAC +2 # STORE SP ITERATION COUNT IN MPAC+2
032744,001067: 31,3533 00132 TC RETROOT
032745,001068:
032746,001069:
032747,001070: 31,3534 00147 DERTABLL ADRES DERCOFN -3
032748,001071:
032749,001072: # ****************************************************************************************************************
032750,001073: # TRASHY LITTLE SUBROUTINES
032751,001074: # ****************************************************************************************************************
032752,001075:
032753,001076: 31,3535 31635 TDISPSET CA TTF/8
032754,001077: 31,3536 00006 EXTEND
032755,001078: 31,3537 75023 MP TSCALINV
032756,001079: 31,3540 53522 DXCH TTFDISP
032757,001080:
032758,001081: 31,3541 31635 CA TTF/8
032759,001082: 31,3542 00006 EXTEND
032760,001083: 31,3543 73654 MP SCTTFDSP
032761,001084: 31,3544 54001 TS L
032762,001085: 31,3545 63652 AD 99+LINT
032763,001086: 31,3546 00006 EXTEND
032764,001087: 31,3547 63560 BZMF +11
032765,001088: 31,3550 40001 CS L
032766,001089: 31,3551 63653 AD -LINT
032767,001090: 31,3552 00006 EXTEND
032768,001091: 31,3553 63556 BZMF +3
032769,001092: 31,3554 55702 TS TREDES
032770,001093: 31,3555 00002 TC Q
032771,001094:
032772,001095: 31,3556 35030 CA ZERO
032773,001096: 31,3557 13554 TCF -3
032774,001097:
032775,001098: 31,3560 33652 CA 99+LINT
032776,001099: 31,3561 13551 TCF -10
032777,001100:
032778,001101:
032779,001102: # ****************************************************************************************************************
032780,001103: # SPECIALIZED "PHASCHNG" SUBROUTINE
032781,001104: # ****************************************************************************************************************
032782,001105:
032783,001106: 31,3562 E3,1440 EBANK= PHSNAME2
032784,001107: 31,3562 35057 FASTCHNG CA EBANK3 # SPECIALIZED 'PHASCHNG' ROUTINE
032785,001108: 31,3563 56003 XCH EBANK
032786,001109: 31,3564 52002 DXCH L
032787,001110: 31,3565 55440 TS PHSNAME2
032788,001111: 31,3566 22003 LXCH EBANK
032789,001112:
032790,001113: 31,3567 E7,1606 EBANK= E2DPS
032791,001114: 31,3567 00000 TC A
032792,001115:
032793,001116:
032794,001117: # ****************************************************************************************************************
032795,001118: # PARAMETER TABLE INDIRECT ADDRESSES
032796,001119: # ****************************************************************************************************************
032797,001120:
032798,001121: 31,3570 31,3576 RDG = RBRFG
032799,001122: 31,3570 31,3604 VDG = VBRFG
032800,001123: 31,3570 31,3570 ADG = ABRFG
032801,001124: 31,3570 31,3612 VDG2TTF = VBRFG*
032802,001125: 31,3570 31,3614 ADG2TTF = ABRFG*
032803,001126: 31,3570 31,3616 JDG2TTF = JBRFG*
032804,001127:
032805,001128: # ****************************************************************************************************************
032806,001129: # LUNAR LANDING CONSTANTS
032807,001130: # ***************************************************************************************************************
032808,001131:
032809,001132: # LUNAR LANDING TARGET PARAMETERS
032810,001133:
032811,001134: 31,3570 77767 40017 ABRFG 2DEC* -3.43285501 E-5 B+4*
032812,001135: 31,3572 00000 00000 2DEC* +0.00000000 E+0 B+4*
032813,001136: 31,3574 77670 42003 2DEC* -2.74418853 E-4 B+4*
032814,001137:
032815,001138: 31,3576 00003 01474 RBRFG 2DEC* +3.12375000 E+3 B-24*
032816,001139: 31,3600 00000 00000 2DEC* +0.00000000 E+0 B-24*
032817,001140: 31,3602 77765 57010 2DEC* -1.07834375 E+4 B-24*
032818,001141:
032819,001142: 31,3604 77770 43727 VBRFG 2DEC* -4.92340088 E-1 B-10*
032820,001143: 31,3606 00000 00000 2DEC* +0.00000000 E+0 B-10*
032821,001144: 31,3610 00034 35205 2DEC* +1.80714798 E+0 B-10*
032822,001145:
032823,001146: 31,3612 00101 01653 VBRFG* 2DEC* +4.06608200 E+0 B-10*
032824,001147: 31,3614 77120 54025 ABRFG* 2DEC* -1.64651359 E-3 B+4*
032825,001148: 31,3616 77614 54061 JBRFG* 2DEC* -2.69203326 E-8 B+18*
032826,001149:
032827,001150: 31,3620 00000 14622 AAPFG 2DEC* +1.52399999 E-6 B+4*
032828,001151: 31,3622 00000 00000 2DEC* +0.00000000 E+0 B+4*
032829,001152: 31,3624 77772 71633 2DEC* -1.98119999 E-5 B+4*
032830,001153:
032831,001154: 31,3626 00000 00570 RAPFG 2DEC* +2.35092239 E+1 B-24*
032832,001155: 31,3630 00000 00000 2DEC* +0.00000000 E+0 B-24*
032833,001156: 31,3632 77777 77767 2DEC* -5.28319999 E-1 B-24*
032834,001157:
032835,001158: 31,3634 77777 73122 VAPFG 2DEC* -9.44879999 E-3 B-10*
032836,001159: 31,3636 00000 00000 2DEC* +0.00000000 E+0 B-10*
032837,001160: 31,3640 00000 02017 2DEC* +3.96239999 E-3 B-10*
032838,001161:
032839,001162: 31,3642 00000 04441 VAPFG* 2DEC* +8.91539999 E-3 B-10*
032840,001163: 31,3644 77740 72650 AAPFG* 2DEC* -1.18871999 E-4 B+04*
032841,001164: 31,3646 00547 23052 JAPFG* 2DEC* +8.37250411 E-8 B+18*
032842,001165:
032843,001166: 31,3650 01553 TABLTTFL ADRES TABLTTF +3 # ADDRESS FOR REFERENCING TTF TABLE
032844,001167: 31,3651 00002 DEC 2 B-14 # DEGREE - ONE
032845,001168:
032846,001169:
032847,001170: 31,3652 5023 TSCALINV = BIT4
032848,001171:
032849,001172:
032850,001173: 31,3652 00167 99+LINT DEC +119 B-14
032851,001174:
032852,001175:
032853,001176: 31,3653 77753 -LINT DEC -20 B-14
032854,001177:
032855,001178:
032856,001179: 31,3654 02437 SCTTFDSP DEC .08 # RESCALES FROM 2(-17) CS TO WHOLE SECONDS
032857,001180:
032858,001181:
032859,001182: 31,3655 00550 360DEGS DEC +360 B-14
032860,001183:
032861,001184:
032862,001185: 31,3656 01130 00000 TAUVERT 2DEC 600 B-14
032863,001186:
032864,001187:
032865,001188: 31,3660 02260 00000 TAUROD 2DEC 300 B-12
032866,001189:
032867,001190:
032868,001191: 31,3662 01440 00000 GSCALE 2DEC 100 B-11
032869,001192:
032870,001193:
032871,001194: 31,3664 14000 3/8 DEC .375000000
032872,001195:
032873,001196:
032874,001197: 31,3665 25252 25253 2/3DP 2DEC .666666667
032875,001198:
032876,001199:
032877,001200: 31,3667 30000 00000 3/4DP 2DEC .750000000
032878,001201:
032879,001202:
032880,001203: 31,3671 00000 00000 WMREF 2DEC 0.0
032881,001204: 31,3673 00162 12155 2DEC* .26616994890062991 E-7 B+18* # RAD/CS.
032882,001205: 31,3675 00000 00000 2DEC 0.0
032883,001206:
032884,001207:
032885,001208: 31,3677 77765 53556 MOONG 2DEC -1.6226 E-4 B2
032886,001209:
032887,001210:
032888,001211: 31,3701 01437 +1FPS DEC .3048 E-2 B+4
032889,001212:
032890,001213:
032891,001214: 31,3702 00000 04535 +3FPS 2DEC +0.9144 E-2 B-10
032892,001215:
032893,001216:
032894,001217: 31,3704 00000 07633 +5FPS 2DEC +1.524 E-2 B-10
032895,001218:
032896,001219:
032897,001220: 31,3706 77656 42436 DEPRCRIT 2DEC -.02 B-2 # DEPRESSION ANGLE CRITERION
032898,001221:
032899,001222:
032900,001223: 31,3710 01541 20646 PROJMAX 2DEC .42262 B-3 # SIN(25')/8 TO COMPARE WITH PROJ
032901,001224:
032902,001225:
032903,001226: 31,3712 01022 02016 PROJMIN 2DEC .25882 B-3 # SIN(15')/8 TO COMPARE WITH PROJ
032904,001227:
032905,001228:
032906,001229: 31,3714 00517 16630 PROJDIV 2DEC .1638 B-3
032907,001230:
032908,001231:
032909,001232: 31,3716 01477 V06N63 VN 0663 # P63
032910,001233:
032911,001234: 31,3717 01500 V06N64 VN 0664 # P64
032912,001235:
032913,001236: 31,3720 01474 V06N60 VN 0660 # P65, P66, P67
032914,001237:
032915,001238: # ****************************************************************************************************************
032916,001239: # ****************************************************************************************************************
End of include-file LUNAR_LANDING_GUIDANCE_EQUATIONS.agc. Parent file is MAIN.agc