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