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