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