Source Code
This source code is very close to the Apollo Guidance Computer software for the
Apollo 13 Lunar module. This revision of the Luminary 131 program is from December
of 1969, whereas there was a later revision in January of 1970, and still another
revision in February, which is the code that flew on the mission.
As far as this transcription is concerned, it was originally from a copy made in 1991 of
a printout from the collection of AGC developer Don Eyles for collector David Craig.
It was subsequently scanned by Gary Neff, reprocessed for online
presentation at the now-discontinued History of Recent Science and Technology (HRST) website
of MIT's Dibner Institute (the full-quality scans being discarded in the process),
and finally transcribed by Ron Burkey for the Virtual AGC Project. Although a
high-quality replacement scan for a completely illegible page was later provided by Gary
Neff, the reduced legibility of the reprocessed HRST posting nevertheless caused many
errors to be introduced into the transcription. Accordingly, a second scan of the same physical
printout was made in 2017 for the Virtual AGC Project's collection at the Internet Archive,
and used to correct the transcription errors. All of the scanned materials mentioned,
as well as other Luminary 131 related material, are available online.
Don Eyles apprently made additional hand-written notes in printout between 1991 and 2017,
so the two scans are not identical in that respect. The page-headings in the printout read, in part:GAP: ASSEMBLE REVISION 131 OF AGC PROGRAM LUMINARY BY NASA 2021112-091 17:53 DEC. 19, 1969Note that the date is the date the printout was made, not the date on which the program revision was released, although these happen to be very close together. |
033785,000002: ## Copyright: Public domain.
033786,000003: ## Filename: LUNAR_LANDING_GUIDANCE_EQUATIONS.agc
033787,000004: ## Purpose: A section of Luminary 1C, revision 131.
033788,000005: ## It is part of the source code for the Lunar Module's (LM)
033789,000006: ## Apollo Guidance Computer (AGC) for Apollo 13.
033790,000007: ## This file is intended to be a faithful transcription, except
033791,000008: ## that the code format has been changed to conform to the
033792,000009: ## requirements of the yaYUL assembler rather than the
033793,000010: ## original YUL assembler.
033794,000011: ## Reference: pp. 793-822
033795,000012: ## Contact: Ron Burkey <info@sandroid.org>.
033796,000013: ## Website: www.ibiblio.org/apollo/index.html
033797,000014: ## Mod history: 05/24/03 RSB. Began transcribing.
033798,000015: ## 05/14/05 RSB Corrected website reference above.
033799,000016: ## 2011-05-07 JL Remove workaround.
033800,000017: ## 2017-01-06 RSB Page numbers now agree with those on the
033801,000018: ## original hardcopy, as opposed to the PDF page
033802,000019: ## numbers in 1701.pdf.
033803,000020: ## 2017-02-25 RSB Proofed comment text using octopus/ProoferComments.
033804,000021: ## 2017-03-01 RSB Fixed lingering typos.
033805,000022: ## 2017-03-10 RSB Comment-text fixes noted while transcribing Luminary 116.
033806,000023: ## The label 1406P00 was replaced with 1406POO.
033807,000024: ## 2017-03-16 RSB Comment-text fixes identified in 5-way
033808,000025: ## side-by-side diff of Luminary 69/99/116/131/210.
033809,000026:
Page 793 |
033811,000028: 31,2361 E7,1621 EBANK= E2DPS
033812,000029: 31,2361 COUNT* $$/F2DPS
033813,000030:
033814,000031: # ****************************************************************************************************************
033815,000032: # LUNAR LANDING FLIGHT SEQUENCE TABLES
033816,000033: # ****************************************************************************************************************
033817,000034:
033818,000035: # FLIGHT SEQUENCE TABLES ARE ARRANGED BY FUNCTION. THEY ARE REFERENCED USING AS AN INDEX THE REGISTER WCHPHASE:
033819,000036: # WCHPHASE = -1 ---> IGNALG
033820,000037: # WCHPHASE = 0 ---> BRAKQUAD
033821,000038: # WCHPHASE = 1 ---> APPRQUAD
033822,000039: # WCHPHASE = 2 ---> VERTICAL
033823,000040:
033824,000041: # ***************************************************************************************************************
033825,000042:
033826,000043: # ROUTINES FOR STARTING NEW GUIDANCE PHASES:
033827,000044:
033828,000045: 31,2361 12573 TCF TTFINCR # IGNALG
033829,000046: 31,2362 12573 NEWPHASE TCF TTFINCR # BRAKQUAD
033830,000047: 31,2363 12556 TCF STARTP64 # APPRQUAD
033831,000048: 31,2364 12547 TCF P65START # VERTICAL
033832,000049:
033833,000050: # PRE-GUIDANCE COMPUTATIONS:
033834,000051:
033835,000052: 31,2365 12753 TCF CALCRGVG # IGNALG
033836,000053: 31,2366 12763 PREGUIDE TCF RGVGCALC # BRAKQUAD
033837,000054: 31,2367 12654 TCF REDESIG # APPRQUAD
033838,000055: 31,2370 12763 TCF RGVGCALC # VERTICAL
033839,000056:
033840,000057: # GUIDANCE EQUATIONS:
033841,000058:
033842,000059: 31,2371 13026 TCF TTF/8CL # IGNALG
033843,000060: 31,2372 13026 WHATGUID TCF TTF/8CL # BRAKQUAD
033844,000061: 31,2373 13026 TCF TTF/8CL # APPRQUAD
033845,000062: 31,2374 13503 TCF VERTGUID # VERTICAL
033846,000063:
033847,000064: # POST GUIDANCE EQUATION COMPUTATIONS:
033848,000065:
033849,000066: 31,2375 13225 TCF CGCALC # IGNALG
033850,000067: 31,2376 13212 AFTRGUID TCF EXTLOGIC # BRAKQUAD
033851,000068: 31,2377 13212 TCF EXTLOGIC # APPRQUAD
033852,000069: 31,2400 13400 TCF STEER? # VERTICAL
033853,000070:
Page 794 |
033855,000072: # WINDOW VECTOR COMPUTATIONS:
033856,000073:
033857,000074: 31,2401 13275 TCF EXGSUB # IGNALG
033858,000075: 31,2402 13316 WHATEXIT TCF EXBRAK # BRAKQUAD
033859,000076: 31,2403 13324 TCF EXNORM # APPRQUAD
033860,000077:
033861,000078: # DISPLAY ROUTINES:
033862,000079:
033863,000080: 31,2404 13437 WHATDISP TCF P63DISPS # BRAKQUAD
033864,000081: 31,2405 13442 TCF P64DISPS # APPRQUAD
033865,000082: 31,2406 13471 TCF VERTDISP # VERTICAL
033866,000083:
033867,000084: # ALARM ROUTINE FOR TTF COMPUTATION:
033868,000085:
033869,000086: 31,2407 13672 TCF 1406POO # IGNALG
033870,000087: 31,2410 13674 WHATALM TCF 1406ALM # BRAKQUAD
033871,000088: 31,2411 13674 TCF 1406ALM # APPRQUAD
033872,000089:
033873,000090: # INDICES FOR REFERENCING TARGET PARAMETERS:
033874,000091:
033875,000092: 31,2412 00000 OCT 0 # IGNALG
033876,000093: 31,2413 00000 TARGTDEX OCT 0 # BRAKQUAD
033877,000094: 31,2414 00034 OCT 34 # APPRQUAD
033878,000095:
033879,000096: # ****************************************************************************************************************
033880,000097: # ENTRY POINTS: ?GUIDSUB FOR THE IGNITION ALGORITHM, LUNLAND FOR SERVOUT
033881,000098: # ****************************************************************************************************************
033882,000099:
033883,000100: # IGNITION ALGORITHM ENTRY: DELIVERS N PASSES OF QUADRATIC QUIDANCE
033884,000101:
033885,000102: 31,2415 77776 ?GUIDSUB EXIT
033886,000103: 31,2416 34752 CAF TWO # N = 3
033887,000104: 31,2417 55647 TS NGUIDSUB
033888,000105: 31,2420 12531 TCF GUILDRET +2
033889,000106:
033890,000107: 31,2421 55647 GUIDSUB TS NGUIDSUB # ON SUCEEDING PASSES SKIP TTFINCR
033891,000108: 31,2422 12753 TCF CALCRGVG
033892,000109:
033893,000110: # NORMAL ENTRY: CONTROL COMES HERE FROM SERVOUT
033894,000111:
033895,000112: 31,2423 05353 LUNLAND TC PHASCHNG
033896,000113: 31,2424 00035 OCT 00035 # GROUP 5: RETAIN ONLY PIPA TASK
033897,000114: 31,2425 30101 CA FLAGWRD5 # HAS THROTTLE-UP COME YET?
033898,000115: 31,2426 74744 MASK ZOOMBIT
033899,000116: 31,2427 00006 EXTEND
033900,000117: 31,2430 13431 BZF DISPEXIT +3 # NO: DO DISPLAYS ONLY
Page 795 |
033902,000119: 31,2431 05353 TC PHASCHNG # YES: DO GUIDANCE
033903,000120: 31,2432 05023 OCT 05023
033904,000121: 31,2433 20000 OCT 20000
033905,000122:
033906,000123: # ****************************************************************************************************************
033907,000124: # GUILDENSTERN: AUTO-MODES MONITOR (R13)
033908,000125: # ****************************************************************************************************************
033909,000126:
033910,000127: 31,2434 COUNT* $$/R13
033911,000128:
033912,000129: # THE PHILOSOPHY OF GUILDENSTERN: ON EVERY APPEARANCE OF THE ATTITUDE-HOLD DISCRETE CHECK TO SEE IF THE ROD SWITCH
033913,000130: # HAS BEEN CLICKED. IF SO, SELECT P66. IF THE DAP IS IN AUTO AND THE PRESENT
033914,000131: # 9PROGRAM IN PROGRESS IS P66, CHECK FOR A
033915,000132: # RESTART. IF ONE HAS OCCURED RE-INITIALIZE P66 AND CONTINUE OTHERWISE YOUCONTINUE WITH PRESENT DATA IN P66.TO
033916,000133: # SELECT P66 THE ATTITUDE-HOLD DISCRETE MUST BE PRESENT AND THE ROD SWITCH MUST HAVE BEEN CLICKED. OTHERWISE THE
033917,000134: # AUTOMATIC LANDING WILL CONTINUE.
033918,000135:
033919,000136: 31,2434 41010 GUILDEN CS MODREG # ARE WE IN P66? (EVEN THO WE ARE IN AUTO
033920,000137: 31,2435 62452 AD DEC66 # DAP)
033921,000138: 31,2436 00006 EXTEND
033922,000139: 31,2437 12522 BZF RESTART? # YES: GO SE IF THERE HAS BEEN A RESTART
033923,000140:
033924,000141: 31,2440 34737 CAF BIT13 # NO: IS UN-ATTITUDE-HOLD DISCRETE HERE?
033925,000142: 31,2441 00006 EXTEND
033926,000143: 31,2442 02031 RAND CHAN31
033927,000144: 31,2443 10000 CCS A
033928,000145: 31,2444 12527 TCF GUILDRET # YES: ALL'S WELL, OR AT LEAST AUTOMATIC
033929,000146:
033930,000147: 31,2445 31746 CA RODCOUNT # NO: HAS ROD SWITCH BEEN CLICKED
033931,000148: 31,2446 00006 EXTEND
033932,000149: 31,2447 12527 BZF GUILDRET # NO: CONTINUE WITH THE AUTOMATIC LANDING
033933,000150:
033934,000151: 31,2450 03677 STARTP66 TC FASTCHNG # YES
033935,000152: 31,2451 05311 TC NEWMODEX
033936,000153: 31,2452 00102 DEC66 DEC 66 B-14
033937,000154: 31,2453 00006 EXTEND
033938,000155: 31,2454 31474 DCA HDOTDISP # SET DESIRED ALTITUDE RATE = CURRENT
033939,000156: 31,2455 53645 DXCH VDGVERT # ALTITUDE RATE.
033940,000157: 31,2456 06042 STRTP66A TC INTPRET
033941,000158: 31,2457 41535 SLOAD PUSH
033942,000159: 31,2460 01457 PBIASZ
033943,000160: 31,2461 41535 SLOAD PUSH
033944,000161: 31,2462 01455 PBIASY
033945,000162: 31,2463 55535 SLOAD VDEF
033946,000163: 31,2464 01453 PBIASX
033947,000164: 31,2465 43161 VXSC SET
033948,000165: 31,2466 25532 BIASFACT
033949,000166: 31,2467 00463 RODFLAG
033950,000167: 31,2470 26621 STOVL VBIAS
033951,000168: 31,2471 01254 TEMX
033952,000169: 31,2472 77676 VCOMP
Page 796 |
033954,000171: 31,2473 27764 STOVL OLDPIPAX
033955,000172: 31,2474 06524 ZEROVECS
033956,000173: 31,2475 17767 STODL DELVROD
033957,000174: 31,2476 02540 RODSCALE
033958,000175: 31,2477 17757 STODL RODSCAL1
033959,000176: 31,2500 01234 PIPTIME
033960,000177: 31,2501 03760 STORE LASTTPIP
033961,000178: 31,2502 77776 EXIT
033962,000179: 31,2503 34755 CAF ZERO
033963,000180: 31,2504 55620 TS FCOLD
033964,000181: 31,2505 55610 TS FWEIGHT
033965,000182: 31,2506 55611 TS FWEIGHT +1
033966,000183: 31,2507 34752 CAF TWO # WCHPHASE = 2 ---> VERTICAL: P65,P66,P67
033967,000184: 31,2510 55647 TS WCHVERT
033968,000185: 31,2511 55621 TS WCHPHOLD
033969,000186: 31,2512 55346 TS WCHPHASE
033970,000187: 31,2513 04616 TC BANKCALL # TEMPORARY, I HOPE HOPE HOPE
033971,000188: 31,2514 40166 CADR STOPRATE # TEMPORARY, I HOPE HOPE HOPE
033972,000189: 31,2515 05516 TC DOWNFLAG # PERMIT X-AXIS OVERRIDE
033973,000190: 31,2516 00311 ADRES XOVINFLG
033974,000191: 31,2517 05516 TC DOWNFLAG
033975,000192: 31,2520 00143 ADRES REDFLAG
033976,000193: 31,2521 13503 TCF VERTGUID
033977,000194:
033978,000195: 31,2522 30075 RESTART? CA FLAGWRD1 # HAS THERE BEEN A RESTART?
033979,000196: 31,2523 74740 MASK RODFLBIT
033980,000197: 31,2524 00006 EXTEND
033981,000198: 31,2525 12456 BZF STRTP66A # YES. REINITIALIZE BUT LEAVE VDGVERT AS
033982,000199: # IS.
033983,000200:
033984,000201: 31,2526 13503 TCF VERTGUID # NO: CONTINUE WITH R.O.D.
033985,000202:
033986,000203: # ****************************************************************************************************************
033987,000204: # INITIALIZATION FOR THIS PASS
033988,000205: # ****************************************************************************************************************
033989,000206:
033990,000207: 31,2527 COUNT* $$/F2DPS
033991,000208:
033992,000209: 31,2527 34755 GUILDRET CAF ZERO
033993,000210: 31,2530 55746 TS RODCOUNT
033994,000211:
033995,000212: 31,2531 00006 +2 EXTEND
033996,000213: 31,2532 31625 DCA TPIP
033997,000214: 31,2533 53574 DXCH TPIPOLD
033998,000215:
033999,000216: 31,2534 03677 TC FASTCHNG
034000,000217:
034001,000218: 31,2535 00006 EXTEND
034002,000219: 31,2536 31561 DCA PIPTIME1
034003,000220: 31,2537 53625 DXCH TPIP
Page 797 |
034005,000222: 31,2540 00006 EXTEND
034006,000223: 31,2541 31643 DCA TTF/8
034007,000224: 31,2542 53553 DXCH TTF/8TMP
034008,000225:
034009,000226: 31,2543 11623 CCS FLPASS0
034010,000227: 31,2544 12573 TCF TTFINCR
034011,000228:
034012,000229: 31,2545 51346 BRSPOT1 INDEX WCHPHASE
034013,000230: 31,2546 12362 TCF NEWPHASE
034014,000231:
034015,000232: # ****************************************************************************************************************
034016,000233: # ROUTINES TO START NEW PHASES
034017,000234: # ****************************************************************************************************************
034018,000235:
034019,000236: 31,2547 05311 P65START TC NEWMODEX
034020,000237: 31,2550 00101 DEC 65 B-14
034021,000238: 31,2551 34755 CAF ZERO
034022,000239: 31,2552 55647 TS WCHVERT
034023,000240: 31,2553 05516 TC DOWNFLAG # PERMIT X-AXIS OVERRIDE
034024,000241: 31,2554 00311 ADRES XOVINFLG
034025,000242: 31,2555 12573 TCF TTFINCR
034026,000243:
034027,000244: 31,2556 05311 STARTP64 TC NEWMODEX
034028,000245: 31,2557 00100 DEC 64 B-14
034029,000246: 31,2560 31425 CA DELTTFAP # AUGMENT TTF/8
034030,000247: 31,2561 27552 ADS TTF/8TMP
034031,000248: 31,2562 00004 INHINT
034032,000249: 31,2563 06022 TC C13STALL
034033,000250: 31,2564 34740 CA BIT12 # ENABLE RUPT10
034034,000251: 31,2565 00006 EXTEND
034035,000252: 31,2566 05013 WOR CHAN13
034036,000253: 31,2567 33707 CAF P64DB
034037,000254: 31,2570 55343 TS DB
034038,000255: 31,2571 05516 TC DOWNFLAG # INITIALIZE REDESIGNATION FLAG
034039,000256: 31,2572 00143 ADRES REDFLAG
034040,000257:
034041,000258: # (CONTINUE TO TTFINCR)
034042,000259:
034043,000260: # ****************************************************************************************************************
034044,000261: # INCREMENT TTF/8, UPDATE LAND FOR LUNAR ROTATION, DO OTHER USEFUL THINGS
034045,000262: # ****************************************************************************************************************
034046,000263:
034047,000264: # TTFINCR COMPUTATIONS ARE AS FOLLOWS :-
034048,000265: # TTF/8 UPDATED FOR TIME SINCE LAST PASS:
034049,000266: # TTF/8 = TTF/8 + (TPIP - TPIPOLD)/8
034050,000267: # LANDING SITE VECTOR UPDATED FOR LUNAR ROTATION:
Page 798 |
034052,000269: # - - - -
034053,000270: # LAND = /LAND/ UNIT(LAND - LAND(TPIP - TPIPOLD) * WM)
034054,000271: # SLANT RANGE TO LANDING SITE, FOR DISPLAY:
034055,000272: # - -
034056,000273: # RANGEDSP = ABVAL(LAND - R)
034057,000274:
034058,000275: 31,2573 06042 TTFINCR TC INTPRET
034059,000276: 31,2574 45345 DLOAD DSU
034060,000277: 31,2575 03625 TPIP
034061,000278: 31,2576 03574 TPIPOLD
034062,000279: 31,2577 41461 SLR PUSH # SHIFT SCALES DELTA TIME TO 2(17) CSECS
034063,000280: 31,2600 21214 11D
034064,000281: 31,2601 47361 VXSC VXV
034065,000282: 31,2602 03635 LAND
034066,000283: 31,2603 02325 WM
034067,000284: 31,2604 47045 BVSU RTB
034068,000285: 31,2605 03635 LAND
034069,000286: 31,2606 21727 NORMUNIT
034070,000287: 31,2607 76561 VXSC VSL1
034071,000288: 31,2610 02333 /LAND/
034072,000289: 31,2611 17545 STODL LANDTEMP
034073,000290: 31,2612 77776 EXIT
034074,000291:
034075,000292: 31,2613 52155 DXCH MPAC
034076,000293: 31,2614 21553 DAS TTF/8TMP # NOW HAVE INCREMENTED TTF/8 IN TTF/8TMP
034077,000294:
034078,000295: 31,2615 03677 TC FASTCHNG
034079,000296:
034080,000297: 31,2616 00006 EXTEND
034081,000298: 31,2617 31553 DCA TTF/8TMP
034082,000299: 31,2620 53643 DXCH TTF/8
034083,000300:
034084,000301: 31,2621 03643 TC TDISPSET
034085,000302:
034086,000303: 31,2622 37721 CAF PRIO31 # TEMPORARILY OVER-PRIO CHARIN
034087,000304: 31,2623 05146 TC PRIOCHNG
034088,000305:
034089,000306: 31,2624 06042 TC INTPRET
034090,000307: 31,2625 53375 VLOAD VAD # ADD IN CORRECTION FROM NOUN 69
034091,000308: 31,2626 03545 LANDTEMP
034092,000309: 31,2627 02635 DLAND
034093,000310: 31,2630 03635 STORE LAND
034094,000311: 31,2631 77646 ABVAL # RECOMPUTE /LAND/
034095,000312: 31,2632 02333 STORE /LAND/
034096,000313: 31,2633 77776 EXIT
034097,000314:
034098,000315: 31,2634 03677 TC FASTCHNG # SINCE REDESIG MAY CHANGE LANDTEMP
Page 799 |
034100,000317: 31,2635 35014 CAF EBANK5
034101,000318: 31,2636 E5,1634 EBANK= DLAND
034102,000319: 31,2636 54003 TS EBANK
034103,000320: 31,2637 34755 CAF ZERO # ZERO N 69 REGISTERS
034104,000321: 31,2640 55634 TS DLAND
034105,000322: 31,2641 55635 TS DLAND +1
034106,000323: 31,2642 55636 TS DLAND +2
034107,000324: 31,2643 55637 TS DLAND +3
034108,000325: 31,2644 55640 TS DLAND +4
034109,000326: 31,2645 55641 TS DLAND +5
034110,000327: 31,2646 35016 CAF EBANK7
034111,000328: 31,2647 E7,1666 EBANK= TREDES
034112,000329: 31,2647 54003 TS EBANK
034113,000330:
034114,000331: 31,2650 34736 CAF PRIO20
034115,000332: 31,2651 05146 TC PRIOCHNG
034116,000333:
034117,000334: 31,2652 51346 BRSPOT2 INDEX WCHPHASE
034118,000335: 31,2653 12366 TCF PREGUIDE
034119,000336:
034120,000337: # ****************************************************************************************************************
034121,000338: # LANDING SITE PERTURBATION EQUATIONS
034122,000339: # ****************************************************************************************************************
034123,000340:
034124,000341: 31,2654 30102 REDESIG CA FLAGWRD6 # IS REDFLAG SET?
034125,000342: 31,2655 74746 MASK REDFLBIT
034126,000343: 31,2656 00006 EXTEND
034127,000344: 31,2657 12763 BZF RGVGCALC # NO: SKIP REDESIGNATION LOGIC
034128,000345:
034129,000346: 31,2660 31666 CA TREDES # YES: HAS TREDES REACHED ZERO?
034130,000347: 31,2661 00006 EXTEND
034131,000348: 31,2662 12763 BZF RGVGCALC # YES: SKIP REDESIGNATION LOGIC
034132,000349:
034133,000350: 31,2663 00004 INHINT
034134,000351: 31,2664 31446 CA ELINCR1
034135,000352: 31,2665 55554 TS ELINCR
034136,000353: 31,2666 31445 CA AZINCR1
034137,000354: 31,2667 55556 TS AZINCR
034138,000355: 31,2670 03677 TC FASTCHNG
034139,000356:
034140,000357: 31,2671 34755 CA ZERO
034141,000358: 31,2672 55446 TS ELINCR1
034142,000359: 31,2673 55445 TS AZINCR1
034143,000360: 31,2674 55555 TS ELINCR +1
034144,000361: 31,2675 55557 TS AZINCR +1
034145,000362:
034146,000363: 31,2676 30120 CA FIXLOC # SET PD TO 0
034147,000364: 31,2677 54166 TS PUSHLOC
034148,000365:
034149,000366: 31,2700 06042 TC INTPRET
Page 800 |
034151,000368: 31,2701 52375 VLOAD VSU
034152,000369: 31,2702 03635 LAND
034153,000370: 31,2703 03521 R # - -
034154,000371: 31,2704 41434 RTB PUSH # PUSH DOWN UNIT (LAND - R)
034155,000372: 31,2705 21727 NORMUNIT
034156,000373: 31,2706 76435 VXV VSL1
034157,000374: 31,2707 02154 YNBPIP # - - -
034158,000375: 31,2710 65361 VXSC PDDL # PUSH DOWN - ELINCR(YNB * UNIT(LAND - R))
034159,000376: 31,2711 03555 ELINCR
034160,000377: 31,2712 03557 AZINCR
034161,000378: 31,2713 52361 VXSC VSU
034162,000379: 31,2714 02154 YNBPIP
034163,000380: 31,2715 41455 VAD PUSH # RESULTING VECTOR IS 1/2 REAL SIZE
034164,000381:
034165,000382: 31,2716 45345 DLOAD DSU # MAKE SURE REDESIGNATION IS NOT
034166,000383: 31,2717 00001 0 # TOO CLOSE TO THE HORIZON
034167,000384: 31,2720 05660 DEPRCRIT
034168,000385: 31,2721 71240 BMN DLOAD
034169,000386: 31,2722 62725 REDES1
034170,000387: 31,2723 05660 DEPRCRIT
034171,000388: 31,2724 00001 STORE 0
034172,000389: 31,2725 45345 REDES1 DLOAD DSU
034173,000390: 31,2726 03635 LAND
034174,000391: 31,2727 03521 R
034175,000392: 31,2730 74271 DDV VXSC
034176,000393: 31,2731 00001 0
034177,000394: 31,2732 53455 VAD UNIT
034178,000395: 31,2733 03521 R
034179,000396: 31,2734 76561 VXSC VSL1
034180,000397: 31,2735 02333 /LAND/
034181,000398: 31,2736 03545 STORE LANDTEMP
034182,000399: 31,2737 77776 EXIT # LOOKANGL WILL BE COMPUTED AT RGVGCALC
034183,000400:
034184,000401: 31,2740 03677 TC FASTCHNG
034185,000402:
034186,000403: 31,2741 00006 EXTEND
034187,000404: 31,2742 31545 DCA LANDTEMP
034188,000405: 31,2743 53635 DXCH LAND
034189,000406: 31,2744 00006 EXTEND
034190,000407: 31,2745 31547 DCA LANDTEMP +2
034191,000408: 31,2746 53637 DXCH LAND +2
034192,000409: 31,2747 00006 EXTEND
034193,000410: 31,2750 31551 DCA LANDTEMP +4
034194,000411: 31,2751 53641 DXCH LAND +4
034195,000412:
034196,000413: 31,2752 12763 TCF RGVGCALC
034197,000414:
034198,000415: # ****************************************************************************************************************
034199,000416: # COMPUTE STATE IN GUIDANCE COORDINATES
034200,000417: # ****************************************************************************************************************
Page 801 |
034202,000419:
034203,000420: # RGVGCALC COMPUTATIONS ARE AS FOLLOWS:-
034204,000421:
034205,000422: # VELOCITY RELATIVE TO THE SURFACE:
034206,000423:
034207,000424: # - - - -
034208,000425: # ANGTERM = V + R * WM
034209,000426:
034210,000427: # STATE IN GUIDANCE COORDINATES:
034211,000428:
034212,000429: # - * - -
034213,000430: # RGU = CG (R - LAND)
034214,000431:
034215,000432: # - * - - -
034216,000433: # VGU = CG (V - WM * R)
034217,000434:
034218,000435: # DEPRESSION ANGLE FOR DISPLAY:
034219,000436:
034220,000437: # - - -
034221,000438: # LOOKANGL = ARCSIN(UNIT(R - LAND).XMBPIP)
034222,000439:
034223,000440: 31,2753 06042 CALCRGVG TC INTPRET # IN IGNALG, COMPUTE V FROM INTEGRATION
034224,000441: 31,2754 64375 VLOAD MXV # OUTPUT AND TRIM CORRECTION TERM
034225,000442: 31,2755 00025 VATT1 # COMPUTED LAST PASS AND LEFT IN UNFC/2
034226,000443: 31,2756 01734 REFSMMAT
034227,000444: 31,2757 53362 VSR1 VAD
034228,000445: 31,2760 03253 UNFC/2
034229,000446: 31,2761 03527 STORE V
034230,000447: 31,2762 77776 EXIT
034231,000448:
034232,000449: 31,2763 06042 RGVGCALC TC INTPRET # ENTER HERE TO RECOMPUTE RG AND VG
034233,000450: 31,2764 47375 VLOAD VXV
034234,000451: 31,2765 03521 R
034235,000452: 31,2766 02325 WM
034236,000453: 31,2767 70455 VAD VSR2 # RESCALE TO UNITS OF 2(9) M/CS
034237,000454: 31,2770 03527 V
034238,000455: 31,2771 02265 STORE ANGTERM
034239,000456: 31,2772 77721 MXV
034240,000457: 31,2773 02575 CG # NO SHIFT SINCE ANGTERM IS DOUBLE SIZED
034241,000458: 31,2774 27627 STOVL VGU
034242,000459: 31,2775 03521 R # - -
034243,000460: 31,2776 41451 VSU PUSH # PUSH DOWN R - LAND
034244,000461: 31,2777 03635 LAND
034245,000462: 31,3000 76521 MXV VSL1
034246,000463: 31,3001 02575 CG
034247,000464: 31,3002 02627 STORE RGU
034248,000465: 31,3003 77646 ABVAL
034249,000466: 31,3004 26617 STOVL RANGEDSP
034250,000467: 31,3005 50234 RTB DOT # NOW IN MPAC IS SINE(LOOKANGL)/4
034251,000468: 31,3006 21727 NORMUNIT
034252,000469: 31,3007 02146 XNBPIP
Page 802 |
034254,000471: 31,3010 77776 EXIT
034255,000472:
034256,000473: 31,3011 30120 CA FIXLOC # RESET PUSH DOWN POINTER
034257,000474: 31,3012 54166 TS PUSHLOC
034258,000475:
034259,000476: 31,3013 30154 CA MPAC # COMPUTE LOOKANGL ITSELF
034260,000477: 31,3014 60000 DOUBLE
034261,000478: 31,3015 04616 TC BANKCALL
034262,000479: 31,3016 61663 CADR SPARCSIN -1
034263,000480: 31,3017 63713 AD 1/2DEG
034264,000481: 31,3020 61356 AD ELBIAS # BIAS LPD ANGLE FOR WINDOW BENDING
034265,000482: 31,3021 00006 EXTEND
034266,000483: 31,3022 73712 MP 180DEGS
034267,000484: 31,3023 55667 TS LOOKANGL # LOOKANGL FOR DISPLAY DURING P64
034268,000485:
034269,000486: 31,3024 51346 BRSPOT3 INDEX WCHPHASE
034270,000487: 31,3025 12372 TCF WHATGUID
034271,000488:
034272,000489: # ****************************************************************************************************************
034273,000490: # TTF/8 COMPUTATION
034274,000491: # ****************************************************************************************************************
034275,000492:
034276,000493: 31,3026 03636 TTF/8CL TC INTPRETX
034277,000494: 31,3027 77743 DLOAD*
034278,000495: 31,3030 02431 JDG2TTF,1
034279,000496: 31,3031 23571 STODL* TABLTTF +6 # A(3) = 8 JDG TO TABLTTF
034280,000497: 31,3032 02427 ADG2TTF,1 # 2
034281,000498: 31,3033 17567 STODL TABLTTF +4 # A(2) = 6 ADG TO TABLTTF
034282,000499: 31,3034 03633 VGU +4 # 2
034283,000500: 31,3035 42605 DMP DAD*
034284,000501: 31,3036 05656 3/4DP
034285,000502: 31,3037 02425 VDG2TTF,1
034286,000503: 31,3040 23565 STODL* TABLTTF +2 # A(1) = (6 VGU + 18 VDG )/8 TO TABLTTF
034287,000504: 31,3041 02407 RDG +4,1 # 2 2
034288,000505: 31,3042 41225 DSU DMP
034289,000506: 31,3043 02633 RGU +4
034290,000507: 31,3044 05654 3/8DP
034291,000508: 31,3045 03563 STORE TABLTTF # A(0) = -24 (RGU - RDG )/64 TO TABLTTF
034292,000509: 31,3046 77776 EXIT # 2 2
034293,000510:
034294,000511: 31,3047 34744 CA BIT8
034295,000512: 31,3050 55572 TS TABLTTF +10 # FRACTIONAL PRECISION FOR TTF TO TABLE
034296,000513:
034297,000514: 31,3051 00006 EXTEND
034298,000515: 31,3052 31643 DCA TTF/8
034299,000516: 31,3053 52155 DXCH MPAC # LOADS TTF/8 (INITIAL GUESS) INTO MPAC
034300,000517: 31,3054 34752 CAF TWO # DEGREE - ONE
034301,000518: 31,3055 54001 TS L
034302,000519: 31,3056 33705 CAF TABLTTFL
034303,000520: 31,3057 03512 TC ROOTPSRS # YIELDS TTF/8 IN MPAC
Page 803 |
034305,000522: 31,3060 51346 INDEX WCHPHASE
034306,000523: 31,3061 12410 TCF WHATALM
034307,000524:
034308,000525: 31,3062 00006 EXTEND # GOOD RETURN
034309,000526: 31,3063 30155 DCA MPAC # FETCH TTF/8 KEEPING IT IN MPAC
034310,000527: 31,3064 53643 DXCH TTF/8 # CORRECTED TTF/8
034311,000528:
034312,000529: 31,3065 03643 TC TDISPSET
034313,000530:
034314,000531: # (CONTINUE TO QUADGUID)
034315,000532:
034316,000533: # ****************************************************************************************************************
034317,000534: # MAIN GUIDANCE EQUATION
034318,000535: # ****************************************************************************************************************
034319,000536:
034320,000537: # AS PUBLISHED:-
034321,000538: # - - - -
034322,000539: # - - 6(VDG + VG) 12(RDG - RG)
034323,000540: # ACG = ADG + ----------- + ------------
034324,000541: # TTF (TTF)(TTF)
034325,000542: # AS HERE PROGRAMMED:-
034326,000543: # - -
034327,000544: # 3 (1/4(RDG - RG) - - )
034328,000545: # - (------------- + VDG + VG)
034329,000546: # - 4 ( TTF/8 ) -
034330,000547: # ACG = ---------------------------- + ADG
034331,000548: # TTF/8
034332,000549:
034333,000550: 31,3066 41642 QUADGUID CS TTF/8
034334,000551: 31,3067 61426 AD LEADTIME # LEADTIME IS A NEGATIVE NUMBER
034335,000552: 31,3070 64733 AD POSMAX # SAFEGUARD THE COMPUTATIONS THAT FOLLOW
034336,000553: 31,3071 54001 TS L # BY FORCING -TTF+LEADTIME > OR = ZERO
034337,000554: 31,3072 40001 CS L
034338,000555: 31,3073 60001 AD L
034339,000556: 31,3074 22007 ZL
034340,000557: 31,3075 00006 EXTEND
034341,000558: 31,3076 11642 DV TTF/8
034342,000559: 31,3077 54130 TS BUF # - RATIO OF LAG-DIMINISHED TTF TO TTF
034343,000560: 31,3100 00006 EXTEND
034344,000561: 31,3101 70000 SQUARE
034345,000562: 31,3102 54131 TS BUF +1
034346,000563: 31,3103 60130 AD BUF
034347,000564: 31,3104 56131 XCH BUF +1 # RATIO SQUARED - RATIO
034348,000565: 31,3105 60131 AD BUF +1
034349,000566: 31,3106 54154 TS MPAC # COEFFICIENT FOR VGU TERM
034350,000567: 31,3107 60131 AD BUF +1
Page 804 |
034352,000569: 31,3110 50120 INDEX FIXLOC
034353,000570: 31,3111 54032 TS 26D # COEFFICIENT FOR RDG-RGU TERM
034354,000571: 31,3112 60131 AD BUF +1
034355,000572: 31,3113 50120 INDEX FIXLOC
034356,000573: 31,3114 54034 TS 28D # COEFFICIENT FOR VDG TERM
034357,000574: 31,3115 60130 AD BUF
034358,000575: 31,3116 64733 AD POSMAX
034359,000576: 31,3117 60131 AD BUF +1
034360,000577: 31,3120 60131 AD BUF +1
034361,000578: 31,3121 50120 INDEX FIXLOC
034362,000579: 31,3122 54036 TS 30D # COEFFICIENT FOR ADG TERM
034363,000580:
034364,000581: 31,3123 34755 CAF ZERO
034365,000582: 31,3124 54163 TS MODE
034366,000583:
034367,000584: 31,3125 03636 TC INTPRETX
034368,000585: 31,3126 65361 VXSC PDDL
034369,000586: 31,3127 03627 VGU
034370,000587: 31,3130 00035 28D
034371,000588: 31,3131 62757 VXSC* PDVL*
034372,000589: 31,3132 02411 VDG,1
034373,000590: 31,3133 02403 RDG,1
034374,000591: 31,3134 70251 VSU V/SC
034375,000592: 31,3135 02627 RGU
034376,000593: 31,3136 03643 TTF/8
034377,000594: 31,3137 74342 VSR2 VXSC
034378,000595: 31,3140 00033 26D
034379,000596: 31,3141 53255 VAD VAD
034380,000597: 31,3142 74341 V/SC VXSC
034381,000598: 31,3143 03643 TTF/8
034382,000599: 31,3144 05656 3/4DP
034383,000600: 31,3145 73725 PDDL VXSC*
034384,000601: 31,3146 00037 30D
034385,000602: 31,3147 02417 ADG,1
034386,000603: 31,3150 77655 VAD
034387,000604: 31,3151 76505 AFCCALC1 VXM VSL1 # VERTGUID COMES HERE
034388,000605: 31,3152 02575 CG
034389,000606: 31,3153 70315 PDVL V/SC
034390,000607: 31,3154 01236 GDT/2
034391,000608: 31,3155 05652 GSCALE
034392,000609: 31,3156 45445 BVSU STADR
034393,000610: 31,3157 74524 STORE UNFC/2 # UNFC/2 NEED NOT BE UNITIZED
034394,000611: 31,3160 77646 ABVAL
034395,000612: 31,3161 17464 AFCCALC2 STODL /AFC/ # MAGNITUDE OF AFC FOR THROTTLE
034396,000613: 31,3162 03253 UNFC/2 # VERTICAL COMPONENT
034397,000614: 31,3163 65316 DSQ PDDL
034398,000615: 31,3164 03255 UNFC/2 +2 # OUT-OF-PLANE
034399,000616: 31,3165 65316 DSQ PDDL
034400,000617: 31,3166 05650 HIGHESTF
034401,000618: 31,3167 63471 DDV DSQ
Page 805 |
034403,000620: 31,3170 01244 MASS # 2 2 2
034404,000621: 31,3171 45225 DSU DSU # AMAXHORIZ = SQRT(ATOTAL - A - A )
034405,000622: 31,3172 71244 BPL DLOAD # 1 0
034406,000623: 31,3173 63175 AFCCALC3
034407,000624: 31,3174 06524 ZEROVECS
034408,000625: 31,3175 43366 AFCCALC3 SQRT DAD
034409,000626: 31,3176 03257 UNFC/2 +4
034410,000627: 31,3177 44244 BPL BDSU
034411,000628: 31,3200 63203 AFCCLEND
034412,000629: 31,3201 03257 UNFC/2 +4
034413,000630: 31,3202 03257 STORE UNFC/2 +4
034414,000631: 31,3203 77776 AFCCLEND EXIT
034415,000632: 31,3204 03677 TC FASTCHNG
034416,000633:
034417,000634: 31,3205 31346 CA WCHPHASE # PREPARE FOR PHASE SWITCHING LOGIC
034418,000635: 31,3206 55621 TS WCHPHOLD
034419,000636: 31,3207 25623 INCR FLPASS0 # INCREMENT PASS COUNTER
034420,000637:
034421,000638: 31,3210 51346 BRSPOT4 INDEX WCHPHASE
034422,000639: 31,3211 12376 TCF AFTRGUID
034423,000640:
034424,000641: # ****************************************************************************************************************
034425,000642: # NEW PHASE NOW?
034426,000643: # ****************************************************************************************************************
034427,000644:
034428,000645: 31,3212 51346 EXTLOGIC INDEX WCHPHASE # IS TTF NEARER ZERO THAN CRITERION?
034429,000646: 31,3213 31423 CA TENDBRAK
034430,000647: 31,3214 61642 AD TTF/8
034431,000648: 31,3215 00006 EXTEND
034432,000649: 31,3216 63225 BZMF CGCALC # NO
034433,000650:
034434,000651: 31,3217 03677 TC FASTCHNG # YES: INCREMENT WCHPHASE, ZERO FLPASS0
034435,000652:
034436,000653: 31,3220 31621 CA WCHPHOLD
034437,000654: 31,3221 64753 AD ONE
034438,000655: 31,3222 55346 TS WCHPHASE
034439,000656: 31,3223 34755 CAF ZERO
034440,000657: 31,3224 55623 TS FLPASS0
034441,000658:
034442,000659: # (CONTINUE TO CGCALC)
034443,000660:
034444,000661: # ***************************************************************************************************************
034445,000662: # ERECT GUIDANCE-STABLE MEMBER TRANSFORMATION MATRIX
034446,000663: # ***************************************************************************************************************
034447,000664:
034448,000665: 31,3225 35014 CGCALC CAF EBANK5
034449,000666: 31,3226 54003 TS EBANK
034450,000667: 31,3227 E5,1435 EBANK= TCGIBRAK
034451,000668: 31,3227 00006 EXTEND
034452,000669: 31,3230 51346 INDEX WCHPHASE
Page 806 |
034454,000671: 31,3231 52413 INDEX TARGTDEX
034455,000672: 31,3232 31435 DCA TCGFBRAK
034456,000673: 31,3233 24006 INCR BBANK
034457,000674: 31,3234 24006 INCR BBANK
034458,000675: 31,3235 E7,1642 EBANK= TTF/8
034459,000676: 31,3235 61642 AD TTF/8
034460,000677: 31,3236 56001 XCH L
034461,000678: 31,3237 61642 AD TTF/8
034462,000679: 31,3240 10000 CCS A
034463,000680: 31,3241 10001 CCS L
034464,000681: 31,3242 13273 TCF EXITSPOT
034465,000682: 31,3243 13273 TCF EXITSPOT
034466,000683: 31,3244 13245 NOOP
034467,000684:
034468,000685: 31,3245 03636 TC INTPRETX
034469,000686: 31,3246 53575 VLOAD UNIT
034470,000687: 31,3247 03635 LAND
034471,000688: 31,3250 16575 STODL CG
034472,000689: 31,3251 03643 TTF/8
034473,000690: 31,3252 74203 DMP* VXSC
034474,000691: 31,3253 02433 GAINBRAK,1 # NUMERO MYSTERIOSO
034475,000692: 31,3254 02265 ANGTERM
034476,000693: 31,3255 77655 VAD
034477,000694: 31,3256 03635 LAND
034478,000695: 31,3257 47051 VSU RTB
034479,000696: 31,3260 03521 R
034480,000697: 31,3261 21727 NORMUNIT
034481,000698: 31,3262 47035 VXV RTB
034482,000699: 31,3263 03635 LAND
034483,000700: 31,3264 21727 NORMUNIT
034484,000701: 31,3265 26603 STOVL CG +6 # SECOND ROW
034485,000702: 31,3266 02575 CG
034486,000703: 31,3267 76435 VXV VSL1
034487,000704: 31,3270 02603 CG +6
034488,000705: 31,3271 02611 STORE CG +14
034489,000706: 31,3272 77776 EXIT
034490,000707:
034491,000708: 31,3273 51621 EXITSPOT INDEX WCHPHOLD
034492,000709: 31,3274 12402 TCF WHATEXIT
034493,000710:
034494,000711: # ****************************************************************************************************************
034495,000712: # ROUTINES FOR EXITING FROM LANDING GUIDANCE
034496,000713: # ****************************************************************************************************************
034497,000714:
034498,000715: # 1. EXGSUB IS THE RETURN WHEN GUIDSUB IS CALLED BY THE IGNITION ALGORITHM.
034499,000716: # 2. EXBRAK IN THE EXIT USED DURING THE BRAKING PHASE. IN THIS CASE UNIT(R) IS THE WINDOW POINTING VECTOR.
034500,000717: # 3. EXNORM IS THE EXIT USED AT OTHER TIMES DURING THE BURN.
Page 807 |
034502,000719: # (EXOVFLOW IS A SUBROUTINE OF EXBRAK AND EXNORM CALLED WHEN OVERFLOW OCCURRED ANYWHERE IN GUIDANCE.)
034503,000720:
034504,000721: 31,3275 06042 EXGSUB TC INTPRET # COMPUTE TRIM VELOCITY CORRECTION TERM
034505,000722: 31,3276 47175 VLOAD RTB
034506,000723: 31,3277 03253 UNFC/2
034507,000724: 31,3300 21727 NORMUNIT
034508,000725: 31,3301 74361 VXSC VXSC
034509,000726: 31,3302 03423 ZOOMTIME
034510,000727: 31,3303 22001 TRIMACCL
034511,000728: 31,3304 03253 STORE UNFC/2
034512,000729: 31,3305 77776 EXIT
034513,000730:
034514,000731: 31,3306 11647 CCS NGUIDSUB
034515,000732: 31,3307 12421 TCF GUIDSUB
034516,000733: 31,3310 11646 CCS NIGNLOOP
034517,000734: 31,3311 13314 TCF +3
034518,000735: 31,3312 05567 TC ALARM
034519,000736: 31,3313 01412 OCT 01412
034520,000737:
034521,000738: 31,3314 04635 +3 TC POSTJUMP
034522,000739: 31,3315 65104 CADR DDUMCALC
034523,000740:
034524,000741: 31,3316 06042 EXBRAK TC INTPRET
034525,000742: 31,3317 77775 VLOAD
034526,000743: 31,3320 03537 UNIT/R/
034527,000744: 31,3321 03261 STORE UNWC/2
034528,000745: 31,3322 77776 EXIT
034529,000746: 31,3323 13400 TCF STEER?
034530,000747:
034531,000748: 31,3324 06042 EXNORM TC INTPRET
034532,000749: 31,3325 52375 VLOAD VSU
034533,000750: 31,3326 03635 LAND
034534,000751: 31,3327 03521 R
034535,000752: 31,3330 77634 RTB
034536,000753: 31,3331 21727 NORMUNIT
034537,000754: 31,3332 03261 STORE UNWC/2 # UNIT(LAND - R) IS TENTATIVE CHOICE
034538,000755: 31,3333 50235 VXV DOT
034539,000756: 31,3334 02146 XNBPIP
034540,000757: 31,3335 02603 CG +6
034541,000758: 31,3336 77776 EXIT # WITH PROJ IN MPAC 1/8 REAL SIZE
034542,000759:
034543,000760: 31,3337 40154 CS MPAC # GET COEFFICIENT FOR CG +14
034544,000761: 31,3340 63714 AD PROJMAX
034545,000762: 31,3341 64733 AD POSMAX
034546,000763: 31,3342 54130 TS BUF
034547,000764: 31,3343 40130 CS BUF
034548,000765: 31,3344 26130 ADS BUF # RESULT IS 0 IF PROJMAX - PROJ NEGATIVE
034549,000766:
034550,000767: 31,3345 43715 CS PROJMIN # GET COEFFICIENT FOR UNIT(LAND - R)
034551,000768: 31,3346 60154 AD MPAC
Page 808 |
034553,000770: 31,3347 64733 AD POSMAX
034554,000771: 31,3350 54131 TS BUF +1
034555,000772: 31,3351 40131 CS BUF +1
034556,000773: 31,3352 26131 ADS BUF +1 # RESULT IS 0 IF PROJ - PROJMIN NEGATIVE
034557,000774:
034558,000775: 31,3353 34751 CAF FOUR
034559,000776: 31,3354 76245 UNWCLOOP MASK SIX
034560,000777: 31,3355 54002 TS Q
034561,000778: 31,3356 35014 CA EBANK5
034562,000779: 31,3357 54003 TS EBANK
034563,000780: 31,3360 E5,1574 EBANK= CG
034564,000781: 31,3360 30130 CA BUF
034565,000782: 31,3361 00006 EXTEND
034566,000783: 31,3362 50002 INDEX Q
034567,000784: 31,3363 71610 MP CG +14
034568,000785: 31,3364 24006 INCR BBANK
034569,000786: 31,3365 E6,1660 EBANK= UNWC/2
034570,000787: 31,3365 50002 INDEX Q
034571,000788: 31,3366 53661 DXCH UNWC/2
034572,000789: 31,3367 00006 EXTEND
034573,000790: 31,3370 70131 MP BUF +1
034574,000791: 31,3371 50002 INDEX Q
034575,000792: 31,3372 21661 DAS UNWC/2
034576,000793: 31,3373 10002 CCS Q
034577,000794: 31,3374 13354 TCF UNWCLOOP
034578,000795:
034579,000796: 31,3375 31773 CA AZBIAS # SET OUTER GIMBAL
034580,000797: 31,3376 55677 TS OGABIAS # ANGLE BIAS FOR WINDOW BENDING
034581,000798:
034582,000799: 31,3377 24006 INCR BBANK
034583,000800: 31,3400 E7,1612 EBANK= PIF
034584,000801:
034585,000802: 31,3400 30076 STEER? CA FLAGWRD2 # IF STEERSW DOWN NO OUTPUTS
034586,000803: 31,3401 74741 MASK STEERBIT
034587,000804: 31,3402 00006 EXTEND
034588,000805: 31,3403 13411 BZF RATESTOP
034589,000806:
034590,000807: 31,3404 30121 EXVERT CA OVFIND # IF OVERFLOW ANYWHERE IN GUIDANCE
034591,000808: 31,3405 00006 EXTEND # DON'T CALL THROTTLE OR FINDCDUW
034592,000809: 31,3406 13421 BZF +13
034593,000810:
034594,000811: 31,3407 05567 EXOVFLOW TC ALARM # SOUND THE ALARM NON-ABORTIVELY.
034595,000812: 31,3410 01410 OCT 01410
034596,000813:
034597,000814: 31,3411 34737 RATESTOP CAF BIT13 # ARE WE IN ATTITUDE-HOLD?
034598,000815: 31,3412 00006 EXTEND
034599,000816: 31,3413 02031 RAND CHAN31
034600,000817: 31,3414 00006 EXTEND
034601,000818: 31,3415 13426 BZF DISPEXIT # YES
Page 809 |
034603,000820: 31,3416 04616 TC BANKCALL # NO: DO A STOPRATE
034604,000821: 31,3417 40166 CADR STOPRATE
034605,000822:
034606,000823: 31,3420 13426 TCF DISPEXIT
034607,000824:
034608,000825: 31,3421 02144 GDLMP1 TC THROTTLE
034609,000826: 31,3422 06042 TC INTPRET
034610,000827: 31,3423 77624 CALL
034611,000828: 31,3424 61100 FINDCDUW -2
034612,000829: 31,3425 77776 EXIT
034613,000830:
034614,000831: # (CONTINUE TO DISPEXIT)
034615,000832:
034616,000833: # ****************************************************************************************************************
034617,000834: # GUIDANCE LOOP DISPLAYS
034618,000835: # ****************************************************************************************************************
034619,000836:
034620,000837: 31,3426 00006 DISPEXIT EXTEND # KILL GROUP 3: DISPLAYS WILL BE
034621,000838: 31,3427 34755 DCA NEG0 # RESTORED BY NEXT GUIDANCE CYCLE
034622,000839: 31,3430 52756 DXCH -PHASE3
034623,000840:
034624,000841: 31,3431 31,3431 ENDLLJOB = DISPEXIT +3
034625,000842:
034626,000843: 31,3431 40104 +3 CS FLAGWRD8 # IF FLUNDISP IS SET, NO DISPLAY THIS PASS
034627,000844: 31,3432 74742 MASK FLUNDBIT
034628,000845: 31,3433 00006 EXTEND
034629,000846: 31,3434 15155 BZF ENDOFJOB
034630,000847:
034631,000848: 31,3435 51621 INDEX WCHPHOLD
034632,000849: 31,3436 12404 TCF WHATDISP
034633,000850:
034634,000851: 31,3437 33716 P63DISPS CAF V06N63
034635,000852: 31,3440 04616 DISPCOMN TC BANKCALL
034636,000853: 31,3441 20466 CADR REGODSP
034637,000854:
034638,000855: 31,3442 31666 P64DISPS CA TREDES # HAS TREDES REACHED ZERO?
034639,000856: 31,3443 00006 EXTEND
034640,000857: 31,3444 13465 BZF RED-OVER # YES: CLEAR REDESIGNATION FLAG
034641,000858:
034642,000859: 31,3445 40102 CS FLAGWRD6 # NO: IS REDFLAG SET?
034643,000860: 31,3446 74746 MASK REDFLBIT
034644,000861: 31,3447 00006 EXTEND
034645,000862: 31,3450 13467 BZF REDES-OK # YES: DO STATIC DISPLAY
034646,000863:
034647,000864: 31,3451 33717 CAF V06N64 # OTHERWISE USE FLASHING DISPLAY
034648,000865: 31,3452 04616 TC BANKCALL
034649,000866: 31,3453 20460 CADR REFLASH
034650,000867: 31,3454 16001 TCF GOTOPOOH # TERMINATE
Page 810 |
034652,000869: 31,3455 13457 TCF P64CEED # PROCEED PERMIT REDESIGNATIONS
034653,000870: 31,3456 13442 TCF P64DISPS # RECYCLE
034654,000871:
034655,000872: 31,3457 34755 P64CEED CAF ZERO
034656,000873: 31,3460 55446 TS ELINCR1
034657,000874: 31,3461 55445 TS AZINCR1
034658,000875:
034659,000876: 31,3462 05504 TC UPFLAG # ENABLE REDESIGNATION LOGIC
034660,000877: 31,3463 00143 ADRES REDFLAG
034661,000878:
034662,000879: 31,3464 15155 TCF ENDOFJOB
034663,000880:
034664,000881: 31,3465 05516 RED-OVER TC DOWNFLAG
034665,000882: 31,3466 00143 ADRES REDFLAG
034666,000883: 31,3467 33717 REDES-OK CAF V06N64
034667,000884: 31,3470 13440 TCF DISPCOMN
034668,000885:
034669,000886: 31,3471 33720 VERTDISP CAF V06N60
034670,000887: 31,3472 04616 TC BANKCALL
034671,000888: 31,3473 20460 CADR REFLASH
034672,000889: 31,3474 16001 TCF GOTOPOOH # TERMINATE
034673,000890: 31,3475 13477 TCF STOPFIRE # PROCEED
034674,000891: 31,3476 13477 TCF STOPFIRE # V32E
034675,000892:
034676,000893: 31,3477 00004 STOPFIRE INHINT
034677,000894: 31,3500 04616 TC BANKCALL
034678,000895: 31,3501 40154 CADR ZATTEROR
034679,000896: 31,3502 15155 TCF ENDOFJOB
034680,000897:
034681,000898: # ****************************************************************************************************************
034682,000899: # GUIDANCE FOR P65
034683,000900: # ****************************************************************************************************************
034684,000901:
034685,000902: 31,3503 11647 VERTGUID CCS WCHVERT
034686,000903: 31,3504 13510 TCF P66VERT # +0
034687,000904:
034688,000905:
034689,000906: # THE P65 GUIDANCE EQUATION IS AS FOLLOWS:-
034690,000907: # - -
034691,000908: # V2FG - VGU
034692,000909: # ACG = ----------
034693,000910: # TAUVERT
034694,000911:
034695,000912: 31,3505 06042 P65VERT TC INTPRET
034696,000913: 31,3506 77650 GOTO
034697,000914: 31,3507 65272 P65VERTA
Page 811 |
034699,000916:
034700,000917: # ****************************************************************************************************************
034701,000918: # GUIDANCE FOR P66
034702,000919: # ****************************************************************************************************************
034703,000920:
034704,000921: 31,3510 04635 P66VERT TC POSTJUMP
034705,000922: 31,3511 65300 CADR P66VERTA
034706,000923:
034707,000924: 32,2000 SETLOC P66LOC
034708,000925: 32,2000 BANK
034709,000926: 32,3265 COUNT* $$/F2DPS
034710,000927:
034711,000928: 32,3265 37713 RODTASK CAF PRIO22
034712,000929: 32,3266 05105 TC FINDVAC
034713,000930: 32,3267 E7,1515 EBANK= DVCNTR
034714,000931: 32,3267 03305 64067 2CADR RODCOMP
034715,000932:
034716,000933: 32,3271 15261 TCF TASKOVER
034717,000934:
034718,000935: 32,3272 52375 P65VERTA VLOAD VSU
034719,000936: 32,3273 02511 V2FG
034720,000937: 32,3274 03627 VGU
034721,000938: 32,3275 52141 V/SC GOTO
034722,000939: 32,3276 02517 TAUVERT
034723,000940: 32,3277 63151 AFCCALC1
034724,000941:
034725,000942: 32,3300 05353 P66VERTA TC PHASCHNG # TERMINATE GROUP 3.
034726,000943: 32,3301 00003 OCT 00003
034727,000944:
034728,000945: 32,3302 34777 CAF 1SEC
034729,000946: 32,3303 05173 TC TWIDDLE
034730,000947: 32,3304 03265 ADRES RODTASK
034731,000948:
034732,000949: 32,3305 00004 RODCOMP INHINT
034733,000950: 32,3306 34755 CAF ZERO
034734,000951: 32,3307 57746 XCH RODCOUNT
034735,000952: 32,3310 00006 EXTEND
034736,000953: 32,3311 71756 MP RODSCAL1
034737,000954: 32,3312 21645 DAS VDGVERT # UPDATE DESIRED ALTITUDE RATE.
034738,000955:
034739,000956: 32,3313 00006 EXTEND # SET OLDPIPAX,Y,Z = PIPAX,Y,Z
034740,000957: 32,3314 30040 DCA PIPAX
034741,000958: 32,3315 53764 DXCH OLDPIPAX
034742,000959: 32,3316 52071 DXCH RUPTREG1 # SET RUPTREG1,2,3 = OLDPIPAX,Y,Z
034743,000960: 32,3317 30041 CA PIPAZ
034744,000961: 32,3320 57765 XCH OLDPIPAZ
034745,000962: 32,3321 56072 XCH RUPTREG3
034746,000963:
034747,000964: 32,3322 00006 EXTEND # SHAPSHOT TIME OF PIPA READING.
034748,000965: 32,3323 30025 DCA TIME2
034749,000966: 32,3324 53762 DXCH THISTPIP
Page 812 |
034751,000968: 32,3325 31763 CA OLDPIPAX
034752,000969: 32,3326 61157 AD PIPATMPX
034753,000970: 32,3327 54154 TS MPAC # MPAC(X) = PIPAX + PIPATMPX
034754,000971: 32,3330 31764 CA OLDPIPAY
034755,000972: 32,3331 61160 AD PIPATMPY
034756,000973: 32,3332 54157 TS MPAC +3 # MPAC(Y) = PIPAY + PIPATMPY
034757,000974: 32,3333 31765 CA OLDPIPAZ
034758,000975: 32,3334 61161 AD PIPATMPZ
034759,000976: 32,3335 54161 TS MPAC +5 # MPAC(Z) = PIPAZ + PIPATMPZ
034760,000977:
034761,000978: 32,3336 41763 CS OLDPIPAX
034762,000979: 32,3337 61253 AD TEMX
034763,000980: 32,3340 60070 AD RUPTREG1
034764,000981: 32,3341 55766 TS DELVROD
034765,000982: 32,3342 41764 CS OLDPIPAY
034766,000983: 32,3343 61254 AD TEMY
034767,000984: 32,3344 60071 AD RUPTREG2
034768,000985: 32,3345 55770 TS DELVROD +2
034769,000986: 32,3346 41765 CS OLDPIPAZ
034770,000987: 32,3347 61255 AD TEMZ
034771,000988: 32,3350 60072 AD RUPTREG3
034772,000989: 32,3351 55772 TS DELVROD +4
034773,000990:
034774,000991: 32,3352 34755 CAF ZERO
034775,000992: 32,3353 54155 TS MPAC +1 # ZERO LO-ORDER MPAC COMPONENTS
034776,000993: 32,3354 54160 TS MPAC +4
034777,000994: 32,3355 54162 TS MPAC +6
034778,000995: 32,3356 55253 TS TEMX # ZERO TEMX, TEMY, AND TEMZ SO WE WILL
034779,000996: 32,3357 55254 TS TEMY # KNOW WHEN READACCS CHANGES THEM.
034780,000997: 32,3360 55255 TS TEMZ
034781,000998: 32,3361 44753 CS ONE
034782,000999: 32,3362 54163 TS MODE
034783,001000: 32,3363 06042 TC INTPRET
034784,001001: 32,3364 65361 ITRPNT1 VXSC PDDL # SCALE MPAC TO M/CS *2(-7) AND PUSH (6)
034785,001002: 32,3365 26022 KPIP1
034786,001003: 32,3366 03762 THISTPIP
034787,001004: 32,3367 77625 DSU
034788,001005: 32,3370 01234 PIPTIME
034789,001006: 32,3371 00037 STORE 30D # 30-31D CONTAINS TIME IN CS SINCE PIPTIME
034790,001007: 32,3372 63271 DDV PDVL # (8)
034791,001008: 32,3373 27110 4SEC(28)
034792,001009: 32,3374 01236 GDT/2
034793,001010: 32,3375 74251 VSU VXSC # (6)
034794,001011: 32,3376 02621 VBIAS
034795,001012: 32,3377 53352 VSL2 VAD
034796,001013: 32,3400 03527 V
034797,001014: 32,3401 45455 VAD STADR # (0)
034798,001015: 32,3402 53746 STOVL 24D # STORE UPDATED VELOCITY IN 24-29D
034799,001016: 32,3403 03521 R
034800,001017: 32,3404 77656 UNIT
Page 813 |
034802,001019: 32,3405 00017 STORE 14D
034803,001020: 32,3406 72441 DOT SL1
034804,001021: 32,3407 00031 24D
034805,001022: 32,3410 17474 STODL HDOTDISP # UPDATE ALTITUDE RATE FOR NOUN 60
034806,001023: 32,3411 00037 30D
034807,001024: 32,3412 41261 SL DMP
034808,001025: 32,3413 20214 11D
034809,001026: 32,3414 03474 HDOTDISP
034810,001027: 32,3415 45215 DAD DSU
034811,001028: 32,3416 00045 36D
034812,001029: 32,3417 02333 /LAND/
034813,001030: 32,3420 17775 STODL HCALC1 # UPDATE ALTITUDE FOR NOUN 60
034814,001031: 32,3421 03474 HDOTDISP
034815,001032: 32,3422 56221 BDSU DDV
034816,001033: 32,3423 03645 VDGVERT
034817,001034: 32,3424 02541 TAUROD
034818,001035: 32,3425 51515 PDVL ABVAL # (2)
034819,001036: 32,3426 01236 GDT/2
034820,001037: 32,3427 60471 DDV SR2
034821,001038: 32,3430 05652 GSCALE
034822,001039: 32,3431 00025 STORE 20D
034823,001040: 32,3432 77615 DAD # (0)
034824,001041: 32,3433 45115 PDVL CALL # (2)
034825,001042: 32,3434 06522 UNITX
034826,001043: 32,3435 47663 CDU*NBSM
034827,001044: 32,3436 77641 DOT
034828,001045: 32,3437 00017 14D
034829,001046: 32,3440 00027 STORE 22D
034830,001047: 32,3441 45465 BDDV STADR # (0)
034831,001048: 32,3442 50313 STOVL /AFC/
034832,001049: 32,3443 03767 DELVROD
034833,001050: 32,3444 53361 VXSC VAD
034834,001051: 32,3445 26022 KPIP1
034835,001052: 32,3446 02621 VBIAS
034836,001053: 32,3447 65246 ABVAL PDDL # (2)
034837,001054: 32,3450 03762 THISTPIP
034838,001055: 32,3451 65225 DSU PDDL # (4)
034839,001056: 32,3452 03760 LASTTPIP
034840,001057: 32,3453 03762 THISTPIP
034841,001058: 32,3454 17760 STODL LASTTPIP # (2)
034842,001059: 32,3455 55271 DDV BDDV # (0)
034843,001060: 32,3456 25530 SHFTFACT
034844,001061: 32,3457 41325 PDDL DMP # (2)
034845,001062: 32,3460 03611 FWEIGHT
034846,001063: 32,3461 25527 BIT1H
034847,001064: 32,3462 56271 DDV DDV
034848,001065: 32,3463 01244 MASS
034849,001066: 32,3464 22006 SCALEFAC
034850,001067: 32,3465 65215 DAD PDDL # (4)
034851,001068: 32,3466 00001 0D
Page 814 |
034853,001070: 32,3467 00025 20D
034854,001071: 32,3470 45271 DDV DSU # (2)
034855,001072: 32,3471 00027 22D
034856,001073: 32,3472 43205 DMP DAD
034857,001074: 32,3473 02543 LAG/TAU
034858,001075: 32,3474 03464 /AFC/
034859,001076: 32,3475 56325 PDDL DDV # (4)
034860,001077: 32,3476 02547 MAXFORCE
034861,001078: 32,3477 01244 MASS
034862,001079: 32,3500 56325 PDDL DDV # (6)
034863,001080: 32,3501 02545 MINFORCE
034864,001081: 32,3502 01244 MASS
034865,001082: 32,3503 44206 PUSH BDSU # (8)
034866,001083: 32,3504 00003 2D
034867,001084: 32,3505 71240 BMN DLOAD # (6)
034868,001085: 32,3506 65514 AFCSPOT
034869,001086: 32,3507 41545 DLOAD PUSH # (6)
034870,001087: 32,3510 51021 BDSU BPL
034871,001088: 32,3511 00003 2D
034872,001089: 32,3512 65514 AFCSPOT
034873,001090: 32,3513 77745 DLOAD # (4)
034874,001091: 32,3514 77745 AFCSPOT DLOAD # (2), (4), OR (6)
034875,001092: 32,3515 77601 SETPD # (2)
034876,001093: 32,3516 00003 2D
034877,001094: 32,3517 17464 STODL /AFC/ # (0)
034878,001095: 32,3520 77776 ITRPNT2 EXIT
034879,001096: 32,3521 52155 DXCH MPAC # MPAC = MEASURED ACCELERATION.
034880,001097: 32,3522 04616 TC BANKCALL
034881,001098: 32,3523 62147 CADR THROTTLE +3
034882,001099: 32,3524 04616 TC BANKCALL # PUT UP V06N60 DISPLAY BUT AVOID PHASCHNG
034883,001100: 32,3525 63431 CADR DISPEXIT +3
034884,001101:
034885,001102: 32,3526 00001 BIT1H OCT 00001
034886,001103: 32,3527 00000 04000 SHFTFACT 2DEC 1 B-17
034887,001104: 32,3531 00000 05075 BIASFACT 2DEC 655.36 B-26
034888,001105:
034889,001106: # ****************************************************************************************************************
034890,001107: # REDESIGNATOR TRAP
034891,001108: # ****************************************************************************************************************
034892,001109:
034893,001110: 11,2302 BANK 11
034894,001111: 11,2000 SETLOC F2DPS*11
034895,001112: 11,2000 BANK
034896,001113:
034897,001114: 11,2302 COUNT* $$/F2DPS
034898,001115:
034899,001116: 11,2302 56016 PITFALL XCH BANKRUPT
034900,001117: 11,2303 00006 EXTEND
034901,001118: 11,2304 22012 QXCH QRUPT
Page 815 |
034903,001120: 11,2305 05321 TC CHECKMM # IF NOT IN P64, NO REASON TO CONTINUE
034904,001121: 11,2306 00100 DEC 64 B-14
034905,001122: 11,2307 15270 TCF RESUME
034906,001123:
034907,001124: 11,2310 00006 EXTEND
034908,001125: 11,2311 00031 READ CHAN31
034909,001126: 11,2312 40000 COM
034910,001127: 11,2313 72401 MASK ALL4BITS
034911,001128: 11,2314 55444 TS ELVIRA
034912,001129: 11,2315 34752 CAF TWO
034913,001130: 11,2316 55443 TS ZERLINA
034914,001131: 11,2317 34756 CAF FIVE
034915,001132: 11,2320 05173 TC TWIDDLE
034916,001133: 11,2321 02326 ADRES REDESMON
034917,001134: 11,2322 15270 TCF RESUME
034918,001135:
034919,001136: # REDESIGNATION MONITOR (INITIATED BY PITFALL)
034920,001137:
034921,001138: 11,2323 55443 PREMON1 TS ZERLINA
034922,001139: 11,2324 34757 PREMON2 CAF SEVEN
034923,001140: 11,2325 05224 TC VARDELAY
034924,001141: 11,2326 00006 REDESMON EXTEND
034925,001142: 11,2327 00031 READ 31
034926,001143: 11,2330 40000 COM
034927,001144: 11,2331 72401 MASK ALL4BITS
034928,001145: 11,2332 57444 XCH ELVIRA
034929,001146: 11,2333 54001 TS L
034930,001147: 11,2334 11444 CCS ELVIRA # DO ANY BITS APPEAR THIS PASS?
034931,001148: 11,2335 12324 TCF PREMON2 # Y: CONTINUE MONITOR
034932,001149: 11,2336 10001 CCS L # N: ANY LAST PASS?
034933,001150: 11,2337 12347 TCF COUNT'EM # Y: COUNT 'EM, RESET RUPT, TERMINATE
034934,001151: 11,2340 11443 CCS ZERLINA # N: HAS ZERLINA REACHED ZERO YET?
034935,001152: 11,2341 12323 TCF PREMON1 # N: DIMINISH ZERLINA, CONTINUE
034936,001153: 11,2342 06022 RESETRPT TC C13STALL # Y: RESET RUPT, TERMINATE
034937,001154: 11,2343 34740 CAF BIT12
034938,001155: 11,2344 00006 EXTEND
034939,001156: 11,2345 05013 WOR CHAN13
034940,001157: 11,2346 15261 TCF TASKOVER
034941,001158:
034942,001159: 11,2347 34737 COUNT'EM CAF BIT13 # ARE WE IN ATTITUDE-HOLD?
034943,001160: 11,2350 00006 EXTEND
034944,001161: 11,2351 02031 RAND CHAN31
034945,001162: 11,2352 00006 EXTEND
034946,001163: 11,2353 12342 BZF RESETRPT # YES: SKIP REDESIGNATION LOGIC.
034947,001164: 11,2354 30001 CA L # NO
034948,001165: 11,2355 74746 MASK -AZBIT
Page 816 |
034950,001167: 11,2356 10000 CCS A
034951,001168: 11,2357 42402 -AZ CS AZEACH
034952,001169: 11,2360 27445 ADS AZINCR1
034953,001170: 11,2361 30001 CA L
034954,001171: 11,2362 74747 MASK +AZBIT
034955,001172: 11,2363 10000 CCS A
034956,001173: 11,2364 32402 +AZ CA AZEACH
034957,001174: 11,2365 27445 ADS AZINCR1
034958,001175: 11,2366 30001 CA L
034959,001176: 11,2367 74753 MASK -ELBIT
034960,001177: 11,2370 10000 CCS A
034961,001178: 11,2371 42403 -EL CS ELEACH
034962,001179: 11,2372 27446 ADS ELINCR1
034963,001180: 11,2373 30001 CA L
034964,001181: 11,2374 74752 MASK +ELBIT
034965,001182: 11,2375 10000 CCS A
034966,001183: 11,2376 32403 +EL CA ELEACH
034967,001184: 11,2377 27446 ADS ELINCR1
034968,001185: 11,2400 12342 TCF RESETRPT
034969,001186:
034970,001187: # THESE EQUIVALENCIES ARE BASED ON GSOP CHAPTER 4, REVISION 16 OF P64LM
034971,001188:
034972,001189: 11,2401 4752 +ELBIT = BIT2 # -PITCH
034973,001190: 11,2401 4753 -ELBIT = BIT1 # +PITCH
034974,001191: 11,2401 4747 +AZBIT = BIT5
034975,001192: 11,2401 4746 -AZBIT = BIT6
034976,001193:
034977,001194: 11,2401 00063 ALL4BITS OCT 00063
034978,001195: 11,2402 01074 AZEACH DEC .03491 # 2 DEGREES
034979,001196: 11,2403 00217 ELEACH DEC .00873 # 1/2 DEGREE
034980,001197:
034981,001198: # ****************************************************************************************************************
034982,001199: # R.O.D. TRAP
034983,001200: # ************************************************************************
034984,001201:
034985,001202: 23,2000 SETLOC RODTRAP
Page 817 |
034987,001204: 23,2000 BANK
034988,001205: 23,2455 COUNT* $$/F2DPS # ****************************************
034989,001206:
034990,001207: 23,2455 74745 DESCBITS MASK BIT7 # COME HERE FROM MARKRUPT CODING WITH BIT
034991,001208: 23,2456 10000 CCS A # 7 OR 6 OF CHANNEL 16 IN A: BIT 7 MEANS
034992,001209: 23,2457 44752 CS TWO # - RATE INCREMENT, BIT 6 + INCREMENT
034993,001210: 23,2460 64753 AD ONE
034994,001211: 23,2461 27746 ADS RODCOUNT
034995,001212: 23,2462 15270 TCF RESUME # TRAP IS RESET WHEN SWITCH IS RELEASED
034996,001213:
034997,001214: 31,3512 BANK 31
034998,001215: 31,2000 SETLOC F2DPS*31
034999,001216: 31,2000 BANK
035000,001217:
035001,001218: 31,3512 COUNT* $$/F2DPS
035002,001219:
035003,001220: # ****************************************************************************************************************
035004,001221: # DOUBLE PRECISION ROOT FINDER SUBROUTINE (BY ALLAN KLUMPP)
035005,001222: # ****************************************************************************************************************
035006,001223:
035007,001224: # N N-1
035008,001225: # ROOTPSRS FINDS ONE ROOT OF THE POWER SERIES A X + A X + ... + A X + A
035009,001226: # N N-1 1 0
035010,001227: # USING NEWTON'S METHOD STARTING WITH AN INITIAL GUESS FOR THE ROOT. THE ENTERING DATA MUST BE AS FOLLOWS:
035011,001228: # A SP LOC-3 ADRES FOR REFERENCING PWR COF TABL
035012,001229: # L SP N-1 N IS THE DEGREE OF THE POWER SERIES
035013,001230: # MPAC DP X INITIAL GUESS FOR ROOT
035014,001231: # LOC-2N DP A(0)
035015,001232: # ...
035016,001233: # LOC DP A(N)
035017,001234: # LOC+2 SP PRECROOT PREC RQD OF ROOT (AS FRACT OF 1ST GUESS)
035018,001235:
035019,001236: # THE DP RESULT IS LEFT IN MPAC UPON EXIT, AND A SP COUNT OF THE ITERATIONS TO CONVERGENCE IS LEFT IN MPAC+2.
035020,001237: # RETURN IS NORMALLY TO LOC(TC ROOTPSRS)+3. IF ROOTPSRS FAILS TO CONVERGE IN 8 PASSES, RETURN IS TO LOC+1 AND
035021,001238: # OUTPUTS ARE NOT TO BE TRUSTED.
035022,001239:
035023,001240: # PRECAUTION: ROOTPSRS MAKES NO CHECKS FOR OVERFLOW OR FOR IMPROPER USAGE. IMPROPER USAGE COULD
035024,001241: # PRECLUDE CONVERGENCE OR REQUIRE EXCESSIVE ITERATIONS. AS A SPECIFIC EXAMPLE, ROOTPSRS FORMS A DERIVATIVE
035025,001242: # COEFFICIENT TABLE BY MULTIPLYING EACH A(I) BY I, WHERE I RANGES FROM 1 TO N. IF AN ELEMENT OF THE DERIVATIVE
035026,001243: # COEFFICIENT TABLE = 1 OR >1 IN MAGNITUDE, ONLY THE EXCESS IS RETAINED. ROOTPSRS MAY CONVERGE ON THE CORRECT
035027,001244: # ROOT NONETHELESS, BUT IT MAY TAKE AN EXCESSIVE NUMBER OF ITERATIONS. THEREFORE THE USER SHOULD RECOGNIZE:
035028,001245: # 1. USER'S RESPONSIBILITY TO ASSURE THAT I X A(I) < 1 IN MAGNITUDE FOR ALL I.
035029,001246: # 2. USER'S RESPONSIBILITY TO ASSURE OVERFLOW WILL NOT OCCUR IN EVALUATING EITHER THE RESIDUAL OR THE DERIVATIVE
035030,001247: # POWER SERIES. THIS OVERFLOW WOULD BE PRODUCED BY SUBROUTINE POWRSERS, CALLED BY ROOTPSRS, AND MIGHT NOT
Page 818 |
035032,001249: # PRECLUDE EVENTUAL CONVERGENCE.
035033,001250: # 3. AT PRESENT, ERASABLE LOCATIONS ARE RESERVED ONLY FOR N UP TO 5. AN N IN EXCESS OF 5 WILL PRODUCE CHAOS.
035034,001251: # ALL ERASABLES USED BY ROOTPSRS ARE UNSWITCHED LOCATED IN THE REGION FROM MPAC-33 OCT TO MPAC+7.
035035,001252: # 4. THE ITERATION COUNT RETURNED IN MPAC+2 MAY BE USED TO DETECT ABNORMAL PERFORMANCE.
035036,001253:
035037,001254: # STORE ENTERING DATA, INITLIZE ERASABLES
035038,001255: 31,3512 00006 ROOTPSRS EXTEND
035039,001256: 31,3513 22132 QXCH RETROOT # RETURN ADRES
035040,001257: 31,3514 54117 TS PWRPTR # PWR TABL POINTER
035041,001258: 31,3515 52160 DXCH MPAC +3 # PWR TABL ADRES, N-1
035042,001259: 31,3516 33635 CA DERTABLL
035043,001260: 31,3517 54141 TS DERPTR # DER TABL POINTER
035044,001261: 31,3520 54161 TS MPAC +5 # DER TABL ADRES
035045,001262: 31,3521 10160 CCS MPAC +4 # NO POWER SERIES OF DEGREE 1 OR LESS
035046,001263: 31,3522 54162 TS MPAC +6 # N-2
035047,001264: 31,3523 34755 CA ZERO # MODE USED AS ITERATION COUNTER. MODE
035048,001265: 31,3524 54163 TS MODE # MUST BE POS SO ABS WON'T COMP MPAC+3 ETC
035049,001266:
035050,001267: # COMPUTE CRITERION TO STOP ITERATING
035051,001268: 31,3525 00006 EXTEND
035052,001269: 31,3526 30155 DCA MPAC # FETCH ROOT GUESS, KEEPING IT IN MPAC
035053,001270: 31,3527 52127 DXCH ROOTPS # AND IN ROOTPS
035054,001271: 31,3530 50157 INDEX MPAC +3 # PWR TABL ADRES
035055,001272: 31,3531 30005 CA 5 # PRECROOT TO A
035056,001273: 31,3532 07312 TC SHORTMP # YIELDS DP PRODUCT IN MPAC
035057,001274: 31,3533 04713 TC USPRCADR
035058,001275: 31,3534 01226 CADR ABS # YIELDS ABVAL OF CRITERION ON DX IN MPAC
035059,001276: 31,3535 52155 DXCH MPAC
035060,001277: 31,3536 52125 DXCH DXCRIT # CRITERION
035061,001278:
035062,001279: # SET UP DER COF TABL
035063,001280: 31,3537 00006 EXTEND
035064,001281: 31,3540 50117 INDEX PWRPTR
035065,001282: 31,3541 30004 DCA 3
035066,001283: 31,3542 52155 DXCH MPAC # A(N) TO MPAC
035067,001284:
035068,001285: 31,3543 30160 CA MPAC +4 # N-1 TO A
035069,001286:
035070,001287: 31,3544 54140 DERCLOOP TS PWRCNT # LOOP COUNTER
035071,001288: 31,3545 64753 AD ONE
035072,001289: 31,3546 07321 TC DMPNSUB # YIELDS DERCOF = I X A(I) IN MPAC
035073,001290: 31,3547 00006 EXTEND
035074,001291: 31,3550 50117 INDEX PWRPTR
035075,001292: 31,3551 30002 DCA 1
035076,001293: 31,3552 52155 DXCH MPAC # A(I-1) TO MPAC, FETCHING DERCOF
Page 819 |
035078,001295: 31,3553 50141 INDEX DERPTR
035079,001296: 31,3554 52004 DXCH 3 # DERCOF TO DER TABL
035080,001297: 31,3555 44752 CS TWO
035081,001298: 31,3556 26117 ADS PWRPTR # DECREMENT PWR POINTER
035082,001299: 31,3557 44752 CS TWO
035083,001300: 31,3560 26141 ADS DERPTR # DECREMENT DER POINTER
035084,001301: 31,3561 10140 CCS PWRCNT
035085,001302: 31,3562 13544 TCF DERCLOOP
035086,001303:
035087,001304: # CONVERGE ON ROOT
035088,001305: 31,3563 00006 ROOTLOOP EXTEND
035089,001306: 31,3564 30127 DCA ROOTPS # FETCH CURRENT ROOT
035090,001307: 31,3565 52155 DXCH MPAC # LEAVE IN MPAC
035091,001308: 31,3566 00006 EXTEND
035092,001309: 31,3567 30162 DCA MPAC +5 # LOAD A, L WITH DER TABL ADRES, N-2
035093,001310: 31,3570 07220 TC POWRSERS # YIELDS DERIVATIVE IN MPAC
035094,001311:
035095,001312: 31,3571 00006 EXTEND
035096,001313: 31,3572 30127 DCA ROOTPS
035097,001314: 31,3573 52155 DXCH MPAC # CURRENT ROOT TO MPAC, FETCHING DERIVTIVE
035098,001315: 31,3574 52131 DXCH BUF # LEAVE DERIVATIVE IN BUF AS DIVISOR
035099,001316: 31,3575 00006 EXTEND
035100,001317: 31,3576 30160 DCA MPAC +3 # LOAD A, L WITH PWR TABL ADRES, N-1
035101,001318: 31,3577 07220 TC POWRSERS # YIELDS RESIDUAL IN MPAC
035102,001319:
035103,001320: 31,3600 04713 TC USPRCADR
035104,001321: 31,3601 00353 CADR DDV/BDDV # YIELDS -DX IN MPAC
035105,001322:
035106,001323: 31,3602 00006 EXTEND
035107,001324: 31,3603 40155 DCS MPAC # FETCH DX, LEAVING -DX IN MPAC
035108,001325: 31,3604 20127 DAS ROOTPS # CORRECTED ROOT NOW IN ROOTPS
035109,001326:
035110,001327: 31,3605 04713 TC USPRCADR
035111,001328: 31,3606 01226 CADR ABS # YIELDS ABS(DX) IN MPAC
035112,001329: 31,3607 00006 EXTEND
035113,001330: 31,3610 40125 DCS DXCRIT
035114,001331: 31,3611 20155 DAS MPAC # ABS(DX)-ABS(DXCRIT) IN MPAC
035115,001332:
035116,001333: 31,3612 30163 CA MODE
035117,001334: 31,3613 74750 MASK BIT4 # KLUMPP SAYS GIVE UP AFTER EIGHT PASSES
035118,001335: 31,3614 10000 CCS A
035119,001336: 31,3615 00132 BADROOT TC RETROOT
035120,001337:
035121,001338: 31,3616 24163 INCR MODE # INCREMENT ITERATION COUNTER
035122,001339: 31,3617 10154 CCS MPAC # TEST HI ORDER DX
035123,001340: 31,3620 13563 TCF ROOTLOOP
035124,001341: 31,3621 13623 TCF TESTLODX
035125,001342: 31,3622 13627 TCF ROOTSTOR
035126,001343: 31,3623 10155 TESTLODX CCS MPAC +1 # TEST LO ORDER DX
Page 820 |
035128,001345: 31,3624 13563 TCF ROOTLOOP
035129,001346: 31,3625 13627 TCF ROOTSTOR
035130,001347: 31,3626 13627 TCF ROOTSTOR
035131,001348: 31,3627 52127 ROOTSTOR DXCH ROOTPS
035132,001349: 31,3630 52155 DXCH MPAC
035133,001350: 31,3631 30163 CA MODE
035134,001351: 31,3632 54156 TS MPAC +2 # STORE SP ITERATION COUNT IN MPAC+2
035135,001352: 31,3633 50132 INDEX RETROOT
035136,001353: 31,3634 10002 TCF 2
035137,001354:
035138,001355: 31,3635 00147 DERTABLL ADRES DERCOFN -3
035139,001356:
035140,001357: # ****************************************************************************************************************
035141,001358: # TRASHY LITTLE SUBROUTINES
035142,001359: # ****************************************************************************************************************
035143,001360:
035144,001361: 31,3636 51346 INTPRETX INDEX WCHPHASE # SET X1 ON THE WAY TO THE INTERPRETER
035145,001362: 31,3637 42413 CS TARGTDEX
035146,001363: 31,3640 50120 INDEX FIXLOC
035147,001364: 31,3641 54046 TS X1
035148,001365: 31,3642 16042 TCF INTPRET
035149,001366:
035150,001367: 31,3643 31642 TDISPSET CA TTF/8
035151,001368: 31,3644 00006 EXTEND
035152,001369: 31,3645 74750 MP TSCALINV
035153,001370: 31,3646 53476 DXCH TTFDISP
035154,001371:
035155,001372: 31,3647 35014 CA EBANK5 # TREDES BECOMES ZERO TWO PASSES
035156,001373: 31,3650 54003 TS EBANK # BEFORE TCGFAPPR IS REACHED
035157,001374: 31,3651 E5,1470 EBANK= TCGFAPPR
035158,001375: 31,3651 31470 CA TCGFAPPR
035159,001376: 31,3652 24006 INCR BBANK
035160,001377: 31,3653 24006 INCR BBANK
035161,001378: 31,3654 E7,1642 EBANK= TTF/8
035162,001379: 31,3654 61642 AD TTF/8
035163,001380: 31,3655 00006 EXTEND
035164,001381: 31,3656 73711 MP TREDESCL
035165,001382: 31,3657 63706 AD -DEC103
035166,001383: 31,3660 64735 AD NEGMAX
035167,001384: 31,3661 54001 TS L
035168,001385: 31,3662 40001 CS L
035169,001386: 31,3663 60001 AD L
035170,001387: 31,3664 63710 AD +DEC99
035171,001388: 31,3665 64733 AD POSMAX
035172,001389: 31,3666 55666 TS TREDES
035173,001390: 31,3667 41666 CS TREDES
035174,001391: 31,3670 27666 ADS TREDES
035175,001392: 31,3671 00002 TC Q
035176,001393:
Page 821 |
035178,001395: 31,3672 05642 1406POO TC POODOO
035179,001396: 31,3673 21406 OCT 21406
035180,001397: 31,3674 05567 1406ALM TC ALARM
035181,001398: 31,3675 01406 OCT 01406
035182,001399: 31,3676 13411 TCF RATESTOP
035183,001400:
035184,001401: # ****************************************************************************************************************
035185,001402: # SPECIALIZED "PHASCHNG" SUBROUTINE
035186,001403: # ****************************************************************************************************************
035187,001404:
035188,001405: 31,3677 E3,1440 EBANK= PHSNAME2
035189,001406: 31,3677 35007 FASTCHNG CA EBANK3 # SPECIALIZED 'PHASCHNG' ROUTINE
035190,001407: 31,3700 56003 XCH EBANK
035191,001408: 31,3701 52002 DXCH L
035192,001409: 31,3702 55442 TS PHSNAME3
035193,001410: 31,3703 22003 LXCH EBANK
035194,001411: 31,3704 E7,1621 EBANK= E2DPS
035195,001412: 31,3704 00000 TC A
035196,001413:
035197,001414: # ****************************************************************************************************************
035198,001415: # PARAMETER TABLE INDIRECT ADDRESSES
035199,001416: # ****************************************************************************************************************
035200,001417:
035201,001418: 31,3705 E5,1402 RDG = RBRFG
035202,001419: 31,3705 E5,1410 VDG = VBRFG
035203,001420: 31,3705 E5,1416 ADG = ABRFG
035204,001421: 31,3705 E5,1424 VDG2TTF = VBRFG*
035205,001422: 31,3705 E5,1426 ADG2TTF = ABRFG*
035206,001423: 31,3705 E5,1430 JDG2TTF = JBRFG*
035207,001424:
035208,001425: # ****************************************************************************************************************
035209,001426: # LUNAR LANDING CONSTANTS
035210,001427: # ***************************************************************************************************************
035211,001428:
035212,001429: 31,3705 01565 TABLTTFL ADRES TABLTTF +3 # ADDRESS FOR REFERENCING TTF TABLE
035213,001430: 31,3706 4740 TTFSCALE = BIT12
035214,001431: 31,3706 4750 TSCALINV = BIT4
035215,001432: 31,3706 77630 -DEC103 DEC -103 B-14
035216,001433: 31,3707 00155 P64DB OCT 00155 # 0.3 DEGREES SCALED AT CDU SCALING
Page 822 |
035218,001435: 31,3710 00143 +DEC99 DEC +99 B-14
035219,001436: 31,3711 75340 TREDESCL DEC -.08
035220,001437: 31,3712 00264 180DEGS DEC +180 B-14
035221,001438: 31,3713 00056 1/2DEG DEC +.00278
035222,001439: 31,3714 01542 PROJMAX DEC .42262 B-3 # SIN(25')/8 TO COMPARE WITH PROJ
035223,001440: 31,3715 01022 PROJMIN DEC .25882 B-3 # SIN(15')/8 TO COMPARE WITH PROJ
035224,001441: 31,3716 01477 V06N63 VN 0663 # P63
035225,001442: 31,3717 01500 V06N64 VN 0664 # P64
035226,001443: 31,3720 01474 V06N60 VN 0660 # P65, P66, P67
035227,001444:
035228,001445: 22,3647 BANK 22
035229,001446: 22,2000 SETLOC LANDCNST
035230,001447: 22,2000 BANK
035231,001448: 22,3647 COUNT* $$/F2DPS
035232,001449:
035233,001450: 22,3647 00021 14161 HIGHESTF 2DEC 4.34546769 B-12
035234,001451: 22,3651 01440 00000 GSCALE 2DEC 100 B-11
035235,001452: 22,3653 14000 00000 3/8DP 2DEC .375
035236,001453: 22,3655 30000 00000 3/4DP 2DEC .750
035237,001454: 22,3657 77534 45074 DEPRCRIT 2DEC -.02 B-1
035238,001455:
035239,001456: # ****************************************************************************************************************
035240,001457: # ****************************************************************************************************************
End of include-file LUNAR_LANDING_GUIDANCE_EQUATIONS.agc. Parent file is MAIN.agc