Source Code
![]() |
These source-code files were transcribed from a printout in Don Eyles's personal
collection, scanned by archive.org, and financially sponsored by Linden Sims.
A team of volunteers performed the transcription and proof-reading. The scanned
page images are available at
the Virtual AGC Project website, as well as higher-quality (but much larger)
images at
the Virtual AGC Project's collection in the Internet Archive. Report any problems by creating
"issues" at
the Virtual AGC Project's GitHub Repository. Notations on the program listing read, in part: GAP: ASSEMBLE REVISION 56 OF AGC PROGRAM ZERLINA BY ZOROASTER 9:12 OCT. 21,1970Note that the date is the date of the printout, not the date of the program revision. |
034744,000002: ## Copyright: Public domain.
034745,000003: ## Filename: LUNAR_LANDING_GUIDANCE_EQUATIONS.agc
034746,000004: ## Purpose: A log section of Zerlina 56, the final revision of
034747,000005: ## Don Eyles's offline development program for the variable
034748,000006: ## guidance period servicer. It also includes a new P66 with LPD
034749,000007: ## (Landing Point Designator) capability, based on an idea of John
034750,000008: ## Young's. Neither of these advanced features were actually flown,
034751,000009: ## but Zerlina was also the birthplace of other big improvements to
034752,000010: ## Luminary including the terrain model and new (Luminary 1E)
034753,000011: ## analog display programs. Zerlina was branched off of Luminary 145,
034754,000012: ## and revision 56 includes all changes up to and including Luminary
034755,000013: ## 183. It is therefore quite close to the Apollo 14 program,
034756,000014: ## Luminary 178, where not modified with new features.
034757,000015: ## Reference: pp. 784-821
034758,000016: ## Assembler: yaYUL
034759,000017: ## Contact: Ron Burkey <info@sandroid.org>.
034760,000018: ## Website: www.ibiblio.org/apollo/index.html
034761,000019: ## Mod history: 2017-07-28 MAS Created from Luminary 210.
034762,000020: ## 2017-08-05 MAS Transcribed for Zerlina 56. This section was
034763,000021: ## largely rewritten to support P66 LPD and the
034764,000022: ## variable servicer.
034765,000023: ## 2017-08-06 MAS Fixed a comment transcription error (MODULE
034766,000024: ## where MODULO should have been).
034767,000025: ## 2017-08-19 MAS Corrected a few transcription errors.
034768,000026: ## 2017-08-24 MAS Fixed a branch target and a few incorrect
034769,000027: ## instructions.
034770,000028:
![]() |
Page 784 |
034772,000030: # ****************************************************************************************************************
034773,000031: # GUIDANCE FOR LANDING ON THE MOON BY EYLES EXCEPT P66HZ AND ROOTPSRS BY KLUMPP
034774,000032: # ****************************************************************************************************************
034775,000033:
034776,000034: 31,2361 E7,1621 EBANK= E2DPS
034777,000035:
034778,000036: 31,2361 COUNT* $$/F2DPS
034779,000037:
034780,000038: # ****************************************************************************************************************
034781,000039: # LUNAR LANDING FLIGHT SEQUENCE TABLES
034782,000040: # ****************************************************************************************************************
034783,000041:
034784,000042: # FLIGHT SEQUENCE TABLES ARE ARRANGED BY FUNCTION. THEY ARE REFERENCED USING AS AN INDEX THE REGISTER WCHPHASE:
034785,000043:
034786,000044: # WCHPHASE = -1 ---> IGNALG
034787,000045: # WCHPHASE = 0 ---> BRAKQUAD
034788,000046: # WCHPHASE = 1 ---> APPRQUAD
034789,000047: # WCHPHASE = 2 ---> VERTICAL
034790,000048:
034791,000049: # ****************************************************************************************************************
034792,000050:
034793,000051: # ROUTINES FOR STARTING NEW GUIDANCE PHASES:
034794,000052:
034795,000053: 31,2361 12461 TCF TTFINCR # IGNALG
034796,000054: 31,2362 12461 NEWPHASE TCF TTFINCR # BRAKQUAD
034797,000055: 31,2363 12442 TCF STARTP64 # APPRQUAD
034798,000056: 31,2364 13361 TCF ENDLLJOB # VERTICAL (A BRANCH RARELY IF EVER USED)
034799,000057:
034800,000058:
034801,000059: # PRE-GUIDANCE COMPUTATIONS:
034802,000060:
034803,000061: 31,2365 12653 TCF CALCRGVG # IGNALG
034804,000062: 31,2366 12663 PREGUIDE TCF RGVGCALC # BRAKQUAD
034805,000063: 31,2367 12542 TCF REDESIG # APPRQUAD
034806,000064:
034807,000065:
034808,000066: # GUIDANCE EQUATIONS:
034809,000067:
034810,000068: 31,2370 12717 TCF TTF/8CL # IGNALG
034811,000069: 31,2371 12717 WHATGUID TCF TTF/8CL # BRAKQUAD
034812,000070: 31,2372 12717 TCF TTF/8CL # APPRQUAD
034813,000071:
034814,000072:
034815,000073: # POST GUIDANCE EQUATION COMPUTATIONS:
034816,000074:
034817,000075: 31,2373 13121 TCF CGCALC # IGNALG
034818,000076: 31,2374 13106 AFTRGUID TCF EXTLOGIC # BRAKQUAD
034819,000077: 31,2375 13106 TCF EXTLOGIC # APPRQUAD
034820,000078:
![]() |
Page 785 |
034822,000080: # WINDOW VECTOR COMPUTATIONS:
034823,000081:
034824,000082: 31,2376 13171 TCF EXGSUB # IGNALG
034825,000083: 31,2377 13212 WHATEXIT TCF EXBRAK # BRAKQUAD
034826,000084: 31,2400 13220 TCF EXNORM # APPRQUAD
034827,000085:
034828,000086:
034829,000087: # DISPLAY ROUTINES:
034830,000088:
034831,000089: 31,2401 13341 WHATDISP TCF P63DISPS # BRAKQUAD
034832,000090: 31,2402 13363 TCF P64DISPS # APPRQUAD
034833,000091:
034834,000092:
034835,000093: # ALARM ROUTINE FOR TTF COMPUTATION:
034836,000094:
034837,000095: 31,2403 13641 TCF 1406POO # IGNALG
034838,000096: 31,2404 13643 WHATALM TCF 1406ALM # BRAKQUAD
034839,000097: 31,2405 13643 TCF 1406ALM # APPRQUAD
034840,000098:
034841,000099:
034842,000100: # INDICES FOR REFERENCING TARGET PARAMETERS:
034843,000101:
034844,000102: 31,2406 00000 OCT 0 # IGNALG
034845,000103: 31,2407 00000 TARGTDEX OCT 0 # BRAKQUAD
034846,000104: 31,2410 00002 OCT 2 # APPRQUAD
034847,000105:
034848,000106: # ****************************************************************************************************************
034849,000107: # ENTRY POINTS: ?GUIDSUB FOR THE IGNITION ALGORITHM, LUNLAND FOR SERVOUT
034850,000108: # ****************************************************************************************************************
034851,000109:
034852,000110: # IGNITION ALGORITHM ENTRY: DELIVERS N PASSES OF QUADRATIC QUIDANCE
034853,000111:
034854,000112: 31,2411 77776 ?GUIDSUB EXIT
034855,000113: 31,2412 34752 CAF TWO # N = 3
034856,000114: 31,2413 55647 TS NGUIDSUB
034857,000115: 31,2414 12424 TCF PASSINIT
034858,000116:
034859,000117: 31,2415 55647 GUIDSUB TS NGUIDSUB # ON SUCEEDING PASSES SKIP TTFINCR
034860,000118: 31,2416 12653 TCF CALCRGVG
034861,000119:
034862,000120: # NORMAL ENTRY: CONTROL COMES HERE FROM SERVOUT
034863,000121:
034864,000122: 31,2417 06042 LUNLAND TC SERVCHNG
034865,000123: 31,2420 30101 CA FLAGWRD5 # HAS THROTTLE-UP COME YET?
034866,000124: 31,2421 74744 MASK ZOOMBIT
034867,000125: 31,2422 00006 EXTEND
034868,000126: 31,2423 13331 BZF DISPEXIT # NO: DO P63 DISPLAYS BUT NO GUIDANCE
034869,000127:
034870,000128: # ****************************************************************************************************************
![]() |
Page 786 |
034872,000130: # INITIALIZATION FOR THIS PASS
034873,000131: # ****************************************************************************************************************
034874,000132:
034875,000133: 31,2424 00006 PASSINIT EXTEND
034876,000134: 31,2425 31625 DCA TPIP
034877,000135: 31,2426 53555 DXCH TPIPOLD
034878,000136:
034879,000137: 31,2427 06042 TC FASTCHNG
034880,000138:
034881,000139: 31,2430 00006 EXTEND
034882,000140: 31,2431 31557 DCA PIPTIME1
034883,000141: 31,2432 53625 DXCH TPIP
034884,000142:
034885,000143: 31,2433 00006 EXTEND
034886,000144: 31,2434 31643 DCA TTF/8
034887,000145: 31,2435 53551 DXCH TTF/8TMP
034888,000146:
034889,000147: 31,2436 11623 CCS FLPASS0
034890,000148: 31,2437 12461 TCF TTFINCR
034891,000149:
034892,000150: 31,2440 51346 BRSPOT1 INDEX WCHPHASE
034893,000151: 31,2441 12362 TCF NEWPHASE
034894,000152:
034895,000153: # ****************************************************************************************************************
034896,000154: # ROUTINES TO START NEW PHASES
034897,000155: # ****************************************************************************************************************
034898,000156:
034899,000157: 31,2442 05322 STARTP64 TC NEWMODEX
034900,000158: 31,2443 00100 DEC 64 B-14
034901,000159: 31,2444 31425 CA DELTTFAP # AUGMENT TTF/8
034902,000160: 31,2445 27550 ADS TTF/8TMP
034903,000161: 31,2446 00004 INHINT
034904,000162: 31,2447 06022 TC C13STALL
034905,000163: 31,2450 34740 CA BIT12 # ENABLE RUPT10
034906,000164: 31,2451 00006 EXTEND
034907,000165: 31,2452 05013 WOR CHAN13
034908,000166: 31,2453 33663 CAF P64DB
034909,000167: 31,2454 55343 TS DB
034910,000168: 31,2455 31315 CA LRWH1
034911,000169: 31,2456 55421 TS LRWH
034912,000170:
034913,000171: 31,2457 05527 TC DOWNFLAG # INITIALIZE REDESIGNATION FLAG
034914,000172: 31,2460 00143 ADRES REDFLAG
034915,000173:
034916,000174: # (CONTINUE TO TTFINCR)
034917,000175:
034918,000176: # ****************************************************************************************************************
034919,000177: # INCREMENT TTF/8, UPDATE LAND FOR LUNAR ROTATION, DO OTHER USEFUL THINGS
034920,000178: # ****************************************************************************************************************
034921,000179:
![]() |
Page 787 |
034923,000181: # TTFINCR COMPUTATIONS ARE AS FOLLOWS:-
034924,000182:
034925,000183: # TTF/8 UPDATED FOR TIME SINCE LAST PASS:
034926,000184:
034927,000185: # TTF/8 = TTF/8 + (TPIP - TPIPOLD)/8
034928,000186:
034929,000187: # LANDING SITE VECTOR UPDATED FOR LUNAR ROTATION:
034930,000188:
034931,000189: # - - - -
034932,000190: # LAND = /LAND/ UNIT(LAND - LAND(TPIP - TPIPOLD) * WM)
034933,000191:
034934,000192: # SLANT RANGE TO LANDING SITE, FOR DISPLAY:
034935,000193:
034936,000194: # - -
034937,000195: # RANGEDSP = ABVAL(LAND - R)
034938,000196:
034939,000197: 31,2461 06051 TTFINCR TC INTPRET
034940,000198: 31,2462 45345 DLOAD DSU
034941,000199: 31,2463 03625 TPIP
034942,000200: 31,2464 03555 TPIPOLD
034943,000201: 31,2465 41461 SLR PUSH # SHIFT SCALES DELTA TIME TO 2(17) CSECS
034944,000202: 31,2466 21214 11D
034945,000203: 31,2467 47361 VXSC VXV
034946,000204: 31,2470 03635 LAND
034947,000205: 31,2471 02316 WM
034948,000206: 31,2472 47045 BVSU RTB
034949,000207: 31,2473 03635 LAND
034950,000208: 31,2474 21710 NORMUNIT
034951,000209: 31,2475 76561 VXSC VSL1
034952,000210: 31,2476 02324 /LAND/
034953,000211: 31,2477 17543 STODL LANDTEMP
034954,000212: 31,2500 77776 EXIT
034955,000213:
034956,000214: 31,2501 52155 DXCH MPAC
034957,000215: 31,2502 21551 DAS TTF/8TMP # NOW HAVE INCREMENTED TTF/8 IN TTF/8TMP
034958,000216:
034959,000217: 31,2503 06042 TC FASTCHNG
034960,000218:
034961,000219: 31,2504 00006 EXTEND
034962,000220: 31,2505 31551 DCA TTF/8TMP
034963,000221: 31,2506 53643 DXCH TTF/8
034964,000222:
034965,000223: 31,2507 03563 TC TDISPSET
034966,000224:
034967,000225: 31,2510 37730 CAF PRIO31 # TEMPORARILY OVER-PRIO CHARIN
034968,000226: 31,2511 05146 TC PRIOCHNG
034969,000227:
034970,000228: 31,2512 06051 TC INTPRET
034971,000229: 31,2513 53375 VLOAD VAD # ADD IN CORRECTION FROM NOUN 69
034972,000230: 31,2514 03543 LANDTEMP
![]() |
Page 788 |
034974,000232: 31,2515 02613 DLAND
034975,000233: 31,2516 03635 STORE LAND
034976,000234: 31,2517 77646 ABVAL # RECOMPUTE /LAND/
034977,000235: 31,2520 02324 STORE /LAND/
034978,000236: 31,2521 77776 EXIT
034979,000237:
034980,000238: 31,2522 06042 TC FASTCHNG # SINCE REDESIG MAY CHANGE LANDTEMP
034981,000239:
034982,000240: 31,2523 35014 CAF EBANK5
034983,000241: 31,2524 E5,1612 EBANK= DLAND
034984,000242: 31,2524 54003 TS EBANK
034985,000243: 31,2525 34755 CAF ZERO # ZERO N 69 REGISTERS
034986,000244: 31,2526 55612 TS DLAND
034987,000245: 31,2527 55613 TS DLAND +1
034988,000246: 31,2530 55614 TS DLAND +2
034989,000247: 31,2531 55615 TS DLAND +3
034990,000248: 31,2532 55616 TS DLAND +4
034991,000249: 31,2533 55617 TS DLAND +5
034992,000250: 31,2534 35016 CAF EBANK7
034993,000251: 31,2535 E7,1666 EBANK= TREDES
034994,000252: 31,2535 54003 TS EBANK
034995,000253:
034996,000254: 31,2536 34736 CAF PRIO20
034997,000255: 31,2537 05146 TC PRIOCHNG
034998,000256:
034999,000257: 31,2540 51346 BRSPOT2 INDEX WCHPHASE
035000,000258: 31,2541 12366 TCF PREGUIDE
035001,000259:
035002,000260: # ****************************************************************************************************************
035003,000261: # LANDING SITE PERTURBATION EQUATIONS
035004,000262: # ****************************************************************************************************************
035005,000263:
035006,000264: 31,2542 30102 REDESIG CA FLAGWRD6 # IS REDFLAG SET?
035007,000265: 31,2543 74746 MASK REDFLBIT
035008,000266: 31,2544 00006 EXTEND
035009,000267: 31,2545 12663 BZF RGVGCALC # NO: SKIP REDESIGNATION LOGIC
035010,000268:
035011,000269: 31,2546 31666 CA TREDES # YES: HAS TREDES REACHED ZERO?
035012,000270: 31,2547 00006 EXTEND
035013,000271: 31,2550 12663 BZF RGVGCALC # YES: SKIP REDESIGNATION LOGIC
035014,000272:
035015,000273: 31,2551 00004 INHINT
035016,000274: 31,2552 31644 CA ELCOUNT1
035017,000275: 31,2553 55552 TS ELCOUNT
035018,000276: 31,2554 31645 CA AZCOUNT1
035019,000277: 31,2555 55553 TS AZCOUNT
035020,000278: 31,2556 06042 TC FASTCHNG
035021,000279:
035022,000280: 31,2557 34755 CA ZERO
035023,000281: 31,2560 55644 TS ELCOUNT1
![]() |
Page 789 |
035025,000283: 31,2561 55645 TS AZCOUNT1
035026,000284:
035027,000285: 31,2562 31552 CA ELCOUNT # COMPUTE ELEVATION INCREMENT IN RADIANS
035028,000286: 31,2563 00006 EXTEND
035029,000287: 31,2564 73666 MP ELEACH
035030,000288: 31,2565 56001 XCH L # SHIFT LEFT 14, A BEING ZERO AFTER THE MP
035031,000289: 31,2566 50120 INDEX FIXLOC
035032,000290: 31,2567 52015 DXCH 12D
035033,000291:
035034,000292: 31,2570 31553 CA AZCOUNT # COMPUTE AZIMUTH INCREMENT IN RADIANS
035035,000293: 31,2571 00006 EXTEND
035036,000294: 31,2572 73666 MP AZEACH
035037,000295: 31,2573 56001 XCH L # SHIFT LEFT 14, A BEING ZERO AFTER THE MP
035038,000296: 31,2574 50120 INDEX FIXLOC
035039,000297: 31,2575 52017 DXCH 14D
035040,000298:
035041,000299: 31,2576 30120 CA FIXLOC # SET PD TO 0
035042,000300: 31,2577 54166 TS PUSHLOC
035043,000301:
035044,000302: 31,2600 06051 TC INTPRET
035045,000303: 31,2601 52375 VLOAD VSU
035046,000304: 31,2602 03635 LAND
035047,000305: 31,2603 03517 R # - -
035048,000306: 31,2604 41434 RTB PUSH # PUSH DOWN UNIT (LAND - R)
035049,000307: 31,2605 21710 NORMUNIT
035050,000308: 31,2606 76435 VXV VSL1
035051,000309: 31,2607 02145 YNBPIP # - - -
035052,000310: 31,2610 65361 VXSC PDDL # PUSH DOWN - ELINCR(YNB * UNIT(LAND - R))
035053,000311: 31,2611 00015 12D
035054,000312: 31,2612 00017 14D
035055,000313: 31,2613 52361 VXSC VSU
035056,000314: 31,2614 02145 YNBPIP
035057,000315: 31,2615 41455 VAD PUSH # RESULTING VECTOR IS 1/2 REAL SIZE
035058,000316:
035059,000317: 31,2616 45345 DLOAD DSU # MAKE SURE REDESIGNATION IS NOT
035060,000318: 31,2617 00001 0 # TOO CLOSE TO THE HORIZON
035061,000319: 31,2620 05662 DEPRCRIT
035062,000320: 31,2621 71240 BMN DLOAD
035063,000321: 31,2622 62625 REDES1
035064,000322: 31,2623 05662 DEPRCRIT
035065,000323: 31,2624 00001 STORE 0
035066,000324: 31,2625 45345 REDES1 DLOAD DSU
035067,000325: 31,2626 03635 LAND
035068,000326: 31,2627 03517 R
035069,000327: 31,2630 74271 DDV VXSC
035070,000328: 31,2631 00001 0
035071,000329: 31,2632 53455 VAD UNIT
035072,000330: 31,2633 03517 R
035073,000331: 31,2634 76561 VXSC VSL1
035074,000332: 31,2635 02324 /LAND/
![]() |
Page 790 |
035076,000334: 31,2636 03543 STORE LANDTEMP
035077,000335: 31,2637 77776 EXIT # LOOKANGL WILL BE COMPUTED AT RGVGCALC
035078,000336:
035079,000337: 31,2640 06042 TC FASTCHNG
035080,000338:
035081,000339: 31,2641 00006 EXTEND
035082,000340: 31,2642 31543 DCA LANDTEMP
035083,000341: 31,2643 53635 DXCH LAND
035084,000342: 31,2644 00006 EXTEND
035085,000343: 31,2645 31545 DCA LANDTEMP +2
035086,000344: 31,2646 53637 DXCH LAND +2
035087,000345: 31,2647 00006 EXTEND
035088,000346: 31,2650 31547 DCA LANDTEMP +4
035089,000347: 31,2651 53641 DXCH LAND +4
035090,000348:
035091,000349: 31,2652 12663 TCF RGVGCALC
035092,000350:
035093,000351: # ****************************************************************************************************************
035094,000352: # COMPUTE STATE IN GUIDANCE COORDINATES
035095,000353: # ****************************************************************************************************************
035096,000354:
035097,000355: # RGVGCALC COMPUTATIONS ARE AS FOLLOWS:-
035098,000356:
035099,000357: # VELOCITY RELATIVE TO THE SURFACE:
035100,000358:
035101,000359: # - - - -
035102,000360: # ANGTERM = V + R * WM
035103,000361:
035104,000362: # STATE IN GUIDANCE COORDINATES:
035105,000363:
035106,000364: # - * - -
035107,000365: # RGU = CG (R - LAND)
035108,000366:
035109,000367: # - * - - -
035110,000368: # VGU = CG (V - WM * R)
035111,000369:
035112,000370: # DEPRESSION ANGLE FOR DISPLAY:
035113,000371:
035114,000372: # - - -
035115,000373: # LOOKANGL = ARCSIN(UNIT(R - LAND).XMBPIP)
035116,000374:
035117,000375: 31,2653 06051 CALCRGVG TC INTPRET # IN IGNALG, COMPUTE V FROM INTEGRATION
035118,000376: 31,2654 64375 VLOAD MXV # OUTPUT AND TRIM CORRECTION TERM
035119,000377: 31,2655 00025 VATT1 # COMPUTED LAST PASS AND LEFT IN UNFC/2
035120,000378: 31,2656 01732 REFSMMAT
035121,000379: 31,2657 53362 VSR1 VAD
035122,000380: 31,2660 03253 UNFC/2
035123,000381: 31,2661 03525 STORE V
035124,000382: 31,2662 77776 EXIT
035125,000383:
![]() |
Page 791 |
035127,000385: 31,2663 06051 RGVGCALC TC INTPRET # ENTER HERE TO RECOMPUTE RG AND VG
035128,000386: 31,2664 47375 VLOAD VXV
035129,000387: 31,2665 03517 R
035130,000388: 31,2666 02316 WM
035131,000389: 31,2667 70455 VAD VSR2 # RESCALE TO UNITS OF 2(9) M/CS
035132,000390: 31,2670 03525 V
035133,000391: 31,2671 02254 STORE ANGTERM
035134,000392: 31,2672 77721 MXV
035135,000393: 31,2673 02561 CG # NO SHIFT SINCE ANGTERM IS DOUBLE SIZED
035136,000394: 31,2674 27627 STOVL VGU
035137,000395: 31,2675 03517 R # - -
035138,000396: 31,2676 41451 VSU PUSH # PUSH DOWN R - LAND
035139,000397: 31,2677 03635 LAND
035140,000398: 31,2700 76521 MXV VSL1
035141,000399: 31,2701 02561 CG
035142,000400: 31,2702 16605 STODL RGU
035143,000401: 31,2703 00162 MPAC +5
035144,000402: 31,2704 26603 STOVL RANGEDSP # SM Z-AXIS RANGE FOR DISPLAY IN N68
035145,000403: 31,2705 50234 RTB DOT # NOW IN MPAC IS SINE(LOOKANGL)/4
035146,000404: 31,2706 21710 NORMUNIT
035147,000405: 31,2707 02137 XNBPIP
035148,000406: 31,2710 77776 EXIT
035149,000407:
035150,000408: 31,2711 30120 CA FIXLOC # RESET PUSH DOWN POINTER
035151,000409: 31,2712 54166 TS PUSHLOC
035152,000410:
035153,000411: 31,2713 04616 TC BANKCALL # CALL LPDFVSUB TO PREPARE R1 DISPLAY
035154,000412: 31,2714 63570 CADR LPDFVSUB
035155,000413:
035156,000414: 31,2715 51346 BRSPOT3 INDEX WCHPHASE
035157,000415: 31,2716 12371 TCF WHATGUID
035158,000416:
035159,000417: # ****************************************************************************************************************
035160,000418: # TTF/8 COMPUTATION
035161,000419: # ****************************************************************************************************************
035162,000420:
035163,000421: 31,2717 03556 TTF/8CL TC INTPRETX
035164,000422: 31,2720 77743 DLOAD*
035165,000423: 31,2721 02443 JDG2TTF,1
035166,000424: 31,2722 23567 STODL* TABLTTF +6 # A(3) = 8 JDG TO TABLTTF
035167,000425: 31,2723 02437 ADG2TTF,1 # 2
035168,000426: 31,2724 17565 STODL TABLTTF +4 # A(2) = 6 ADG TO TABLTTF
035169,000427: 31,2725 03633 VGU +4 # 2
035170,000428: 31,2726 42605 DMP DAD*
035171,000429: 31,2727 05660 3/4DP
035172,000430: 31,2730 02433 VDG2TTF,1
035173,000431: 31,2731 23563 STODL* TABLTTF +2 # A(1) = (6 VGU + 18 VDG )/8 TO TABLTTF
035174,000432: 31,2732 02407 RDG +4,1 # 2 2
035175,000433: 31,2733 41225 DSU DMP
035176,000434: 31,2734 02611 RGU +4
![]() |
Page 792 |
035178,000436: 31,2735 05656 3/8DP
035179,000437: 31,2736 03561 STORE TABLTTF # A(0) = -24(RGU - RDG )/64 TO TABLTTF
035180,000438: 31,2737 77776 EXIT # 2 2
035181,000439:
035182,000440: 31,2740 34744 CA BIT8
035183,000441: 31,2741 55570 TS TABLTTF +10 # FRACTIONAL PRECISION FOR TTF TO TABLE
035184,000442:
035185,000443: 31,2742 00006 EXTEND
035186,000444: 31,2743 31643 DCA TTF/8
035187,000445: 31,2744 52155 DXCH MPAC # LOADS TTF/8 (INITIAL GUESS) INTO MPAC
035188,000446: 31,2745 34752 CAF TWO # DEGREE - ONE
035189,000447: 31,2746 54001 TS L
035190,000448: 31,2747 33661 CAF TABLTTFL
035191,000449: 31,2750 03413 TC ROOTPSRS # YIELDS TTF/8 IN MPAC
035192,000450: 31,2751 51346 INDEX WCHPHASE
035193,000451: 31,2752 12404 TCF WHATALM
035194,000452:
035195,000453: 31,2753 00006 EXTEND # GOOD RETURN
035196,000454: 31,2754 30155 DCA MPAC # FETCH TTF/8 KEEPING IT IN MPAC
035197,000455: 31,2755 53643 DXCH TTF/8 # CORRECTED TTF/8
035198,000456:
035199,000457: 31,2756 03563 TC TDISPSET
035200,000458:
035201,000459: # (CONTINUE TO QUADGUID)
035202,000460:
035203,000461:
035204,000462: # ****************************************************************************************************************
035205,000463: # MAIN GUIDANCE EQUATION
035206,000464: # ****************************************************************************************************************
035207,000465:
035208,000466: # AS PUBLISHED:-
035209,000467:
035210,000468: # - - - -
035211,000469: # - - 6(VDG + VG) 12(RDG - RG)
035212,000470: # ACG = ADG + ----------- + ------------
035213,000471: # TTF (TTF)(TTF)
035214,000472:
035215,000473: # AS HERE PROGRAMMED:-
035216,000474:
035217,000475: # - -
035218,000476: # 3 (1/4(RDG - RG) - - )
035219,000477: # - (------------- + VDG + VG)
035220,000478: # - 4 ( TTF/8 ) -
035221,000479: # ACG = ---------------------------- + ADG
035222,000480: # TTF/8
035223,000481:
035224,000482: 31,2757 41642 QUADGUID CS TTF/8
035225,000483: 31,2760 61426 AD LEADTIME # LEADTIME IS A NEGATIVE NUMBER
035226,000484: 31,2761 64733 AD POSMAX # SAFEGUARD THE COMPUTATIONS THAT FOLLOW
035227,000485: 31,2762 54001 TS L # BY FORCING -TTF+LEADTIME > OR = ZERO
![]() |
Page 793 |
035229,000487: 31,2763 40001 CS L
035230,000488: 31,2764 60001 AD L
035231,000489: 31,2765 22007 ZL
035232,000490: 31,2766 00006 EXTEND
035233,000491: 31,2767 11642 DV TTF/8
035234,000492: 31,2770 54130 TS BUF # - RATIO OF LAG-DIMINISHED TTF TO TTF
035235,000493: 31,2771 00006 EXTEND
035236,000494: 31,2772 70000 SQUARE
035237,000495: 31,2773 54131 TS BUF +1
035238,000496: 31,2774 60130 AD BUF
035239,000497: 31,2775 56131 XCH BUF +1 # RATIO SQUARED - RATIO
035240,000498: 31,2776 60131 AD BUF +1
035241,000499: 31,2777 54154 TS MPAC # COEFFICIENT FOR VGU TERM
035242,000500: 31,3000 60131 AD BUF +1
035243,000501: 31,3001 50120 INDEX FIXLOC
035244,000502: 31,3002 54032 TS 26D # COEFFICIENT FOR RDG-RGU TERM
035245,000503: 31,3003 60131 AD BUF +1
035246,000504: 31,3004 50120 INDEX FIXLOC
035247,000505: 31,3005 54034 TS 28D # COEFFICIENT FOR VDG TERM
035248,000506: 31,3006 60130 AD BUF
035249,000507: 31,3007 64733 AD POSMAX
035250,000508: 31,3010 60131 AD BUF +1
035251,000509: 31,3011 60131 AD BUF +1
035252,000510: 31,3012 50120 INDEX FIXLOC
035253,000511: 31,3013 54036 TS 30D # COEFFICIENT FOR ADG TERM
035254,000512:
035255,000513: 31,3014 34755 CAF ZERO
035256,000514: 31,3015 54163 TS MODE
035257,000515:
035258,000516: 31,3016 03556 TC INTPRETX
035259,000517: 31,3017 65361 VXSC PDDL
035260,000518: 31,3020 03627 VGU
035261,000519: 31,3021 00035 28D
035262,000520: 31,3022 47157 VXSC* RTB
035263,000521: 31,3023 02413 VDG,1
035264,000522: 31,3024 63543 ZEROMID
035265,000523: 31,3025 47113 PDVL* RTB
035266,000524: 31,3026 02403 RDG,1
035267,000525: 31,3027 63543 ZEROMID
035268,000526: 31,3030 70251 VSU V/SC
035269,000527: 31,3031 02605 RGU
035270,000528: 31,3032 03643 TTF/8
035271,000529: 31,3033 74342 VSR2 VXSC
035272,000530: 31,3034 00033 26D
035273,000531: 31,3035 53255 VAD VAD
035274,000532: 31,3036 74341 V/SC VXSC
035275,000533: 31,3037 03643 TTF/8
035276,000534: 31,3040 05660 3/4DP
035277,000535: 31,3041 73725 PDDL VXSC*
035278,000536: 31,3042 00037 30D
![]() |
Page 794 |
035280,000538: 31,3043 02423 ADG,1
035281,000539: 31,3044 53234 RTB VAD
035282,000540: 31,3045 63543 ZEROMID
035283,000541: 31,3046 76505 AFCCALC1 VXM VSL1 # VERTGUID COMES HERE
035284,000542: 31,3047 02561 CG
035285,000543: 31,3050 70515 PDVL VSR2 # RESCALE G TO UNITS OF 2(-4) M/CS/CS
035286,000544: 31,3051 01236 G
035287,000545: 31,3052 45445 BVSU STADR
035288,000546: 31,3053 74524 STORE UNFC/2 # UNFC/2 NEED NOT BE UNITIZED
035289,000547: 31,3054 77646 ABVAL
035290,000548: 31,3055 17464 AFCCALC2 STODL /AFC/ # MAGNITUDE OF AFC FOR THROTTLE
035291,000549: 31,3056 03253 UNFC/2 # VERTICAL COMPONENT
035292,000550: 31,3057 65316 DSQ PDDL
035293,000551: 31,3060 03255 UNFC/2 +2 # OUT-OF-PLANE
035294,000552: 31,3061 65316 DSQ PDDL
035295,000553: 31,3062 05650 HIGHESTF
035296,000554: 31,3063 63471 DDV DSQ
035297,000555: 31,3064 01246 MASS # 2 2 2
035298,000556: 31,3065 45225 DSU DSU # AMAXHORIZ = SQRT(ATOTAL - A - A )
035299,000557: 31,3066 71244 BPL DLOAD # 1 0
035300,000558: 31,3067 63071 AFCCALC3
035301,000559: 31,3070 06520 ZEROVECS
035302,000560: 31,3071 43366 AFCCALC3 SQRT DAD
035303,000561: 31,3072 03257 UNFC/2 +4
035304,000562: 31,3073 44244 BPL BDSU
035305,000563: 31,3074 63077 AFCCLEND
035306,000564: 31,3075 03257 UNFC/2 +4
035307,000565: 31,3076 03257 STORE UNFC/2 +4
035308,000566: 31,3077 77776 AFCCLEND EXIT
035309,000567: 31,3100 06042 TC FASTCHNG
035310,000568:
035311,000569: 31,3101 31346 CA WCHPHASE # PREPARE FOR PHASE SWITCHING LOGIC
035312,000570: 31,3102 55621 TS WCHPHOLD
035313,000571: 31,3103 25623 INCR FLPASS0 # INCREMENT PASS COUNTER
035314,000572:
035315,000573: 31,3104 51346 BRSPOT4 INDEX WCHPHASE
035316,000574: 31,3105 12374 TCF AFTRGUID
035317,000575:
035318,000576: # ****************************************************************************************************************
035319,000577: # NEW PHASE NOW?
035320,000578: # ****************************************************************************************************************
035321,000579:
035322,000580: 31,3106 51346 EXTLOGIC INDEX WCHPHASE # IS TTF NEARER ZERO THAN CRITERION?
035323,000581: 31,3107 31423 CA TENDBRAK
035324,000582: 31,3110 61642 AD TTF/8
035325,000583: 31,3111 00006 EXTEND
035326,000584: 31,3112 63121 BZMF CGCALC # NO
035327,000585:
035328,000586: 31,3113 06042 TC FASTCHNG # YES: INCREMENT WCHPHASE, ZERO FLPASS0
035329,000587:
![]() |
Page 795 |
035331,000589: 31,3114 31621 CA WCHPHOLD
035332,000590: 31,3115 64753 AD ONE
035333,000591: 31,3116 55346 TS WCHPHASE
035334,000592: 31,3117 34755 CAF ZERO
035335,000593: 31,3120 55623 TS FLPASS0
035336,000594:
035337,000595: # (CONTINUE TO CGCALC)
035338,000596:
035339,000597: # ***************************************************************************************************************
035340,000598: # ERECT GUIDANCE-STABLE MEMBER TRANSFORMATION MATRIX
035341,000599: # ***************************************************************************************************************
035342,000600:
035343,000601: 31,3121 35014 CGCALC CAF EBANK5
035344,000602: 31,3122 54003 TS EBANK
035345,000603: 31,3123 E5,1453 EBANK= TCGIBRAK
035346,000604: 31,3123 00006 EXTEND
035347,000605: 31,3124 51346 INDEX WCHPHASE
035348,000606: 31,3125 52407 INDEX TARGTDEX
035349,000607: 31,3126 31453 DCA TCGFBRAK
035350,000608: 31,3127 24006 INCR BBANK
035351,000609: 31,3130 24006 INCR BBANK
035352,000610: 31,3131 E7,1642 EBANK= TTF/8
035353,000611: 31,3131 61642 AD TTF/8
035354,000612: 31,3132 56001 XCH L
035355,000613: 31,3133 61642 AD TTF/8
035356,000614: 31,3134 10000 CCS A
035357,000615: 31,3135 10001 CCS L
035358,000616: 31,3136 13167 TCF EXITSPOT
035359,000617: 31,3137 13167 TCF EXITSPOT
035360,000618: 31,3140 13141 NOOP
035361,000619:
035362,000620: 31,3141 03556 TC INTPRETX
035363,000621: 31,3142 53575 VLOAD UNIT
035364,000622: 31,3143 03635 LAND
035365,000623: 31,3144 16561 STODL CG
035366,000624: 31,3145 03643 TTF/8
035367,000625: 31,3146 74203 DMP* VXSC
035368,000626: 31,3147 02447 GAINBRAK,1 # NUMERO MYSTERIOSO
035369,000627: 31,3150 02254 ANGTERM
035370,000628: 31,3151 77655 VAD
035371,000629: 31,3152 03635 LAND
035372,000630: 31,3153 47051 VSU RTB
035373,000631: 31,3154 03517 R
035374,000632: 31,3155 21710 NORMUNIT
035375,000633: 31,3156 47035 VXV RTB
035376,000634: 31,3157 03635 LAND
035377,000635: 31,3160 21710 NORMUNIT
035378,000636: 31,3161 26567 STOVL CG +6 # SECOND ROW
035379,000637: 31,3162 02561 CG
035380,000638: 31,3163 76435 VXV VSL1
![]() |
Page 796 |
035382,000640: 31,3164 02567 CG +6
035383,000641: 31,3165 02575 STORE CG +14
035384,000642: 31,3166 77776 EXIT
035385,000643:
035386,000644: 31,3167 51621 EXITSPOT INDEX WCHPHOLD
035387,000645: 31,3170 12377 TCF WHATEXIT
035388,000646:
035389,000647: # ****************************************************************************************************************
035390,000648: # ROUTINES FOR EXITING FROM LANDING GUIDANCE
035391,000649: # ****************************************************************************************************************
035392,000650:
035393,000651: # 1. EXGSUB IS THE RETURN WHEN GUIDSUB IS CALLED BY THE IGNITION ALGORITHM.
035394,000652:
035395,000653: # 2. EXBRAK IN THE EXIT USED DURING THE BRAKING PHASE. IN THIS CASE UNIT(R) IS THE WINDOW POINTING VECTOR.
035396,000654:
035397,000655: # 3. EXNORM IS THE EXIT USED AT OTHER TIMES DURING THE BURN.
035398,000656:
035399,000657: # (EXOVFLOW IS A SUBROUTINE OF EXBRAK AND EXNORM CALLED WHEN OVERFLOW OCCURRED ANYWHERE IN GUIDANCE.)
035400,000658:
035401,000659: 31,3171 06051 EXGSUB TC INTPRET # COMPUTE TRIM VELOCITY CORRECTION TERM
035402,000660: 31,3172 47175 VLOAD RTB
035403,000661: 31,3173 03253 UNFC/2
035404,000662: 31,3174 21710 NORMUNIT
035405,000663: 31,3175 74361 VXSC VXSC
035406,000664: 31,3176 03423 ZOOMTIME
035407,000665: 31,3177 22001 TRIMACCL
035408,000666: 31,3200 03253 STORE UNFC/2
035409,000667: 31,3201 77776 EXIT
035410,000668:
035411,000669: 31,3202 11647 CCS NGUIDSUB
035412,000670: 31,3203 12415 TCF GUIDSUB
035413,000671: 31,3204 11646 CCS NIGNLOOP
035414,000672: 31,3205 13210 TCF +3
035415,000673: 31,3206 05600 TC ALARM
035416,000674: 31,3207 01412 OCT 01412
035417,000675:
035418,000676: 31,3210 04635 +3 TC POSTJUMP
035419,000677: 31,3211 64532 CADR DDUMCALC
035420,000678:
035421,000679: 31,3212 06051 EXBRAK TC INTPRET
035422,000680: 31,3213 77775 VLOAD
035423,000681: 31,3214 03535 UNIT/R/
035424,000682: 31,3215 03261 STORE UNWC/2
035425,000683: 31,3216 77776 EXIT
035426,000684: 31,3217 13274 TCF STEER?
035427,000685:
035428,000686: 31,3220 06051 EXNORM TC INTPRET
035429,000687: 31,3221 52375 VLOAD VSU
035430,000688: 31,3222 03635 LAND
035431,000689: 31,3223 03517 R
![]() |
Page 797 |
035433,000691: 31,3224 77634 RTB
035434,000692: 31,3225 21710 NORMUNIT
035435,000693: 31,3226 03261 STORE UNWC/2 # UNIT(LAND - R) IS TENTATIVE CHOICE
035436,000694: 31,3227 50235 VXV DOT
035437,000695: 31,3230 02137 XNBPIP
035438,000696: 31,3231 02567 CG +6
035439,000697: 31,3232 77776 EXIT # WITH PROJ IN MPAC 1/8 REAL SIZE
035440,000698:
035441,000699: 31,3233 40154 CS MPAC # GET COEFFICIENT FOR CG +14
035442,000700: 31,3234 63667 AD PROJMAX
035443,000701: 31,3235 64733 AD POSMAX
035444,000702: 31,3236 54130 TS BUF
035445,000703: 31,3237 40130 CS BUF
035446,000704: 31,3240 26130 ADS BUF # RESULT IS 0 IF PROJMAX - PROJ NEGATIVE
035447,000705:
035448,000706: 31,3241 43670 CS PROJMIN # GET COEFFICIENT FOR UNIT(LAND - R)
035449,000707: 31,3242 60154 AD MPAC
035450,000708: 31,3243 64733 AD POSMAX
035451,000709: 31,3244 54131 TS BUF +1
035452,000710: 31,3245 40131 CS BUF +1
035453,000711: 31,3246 26131 ADS BUF +1 # RESULT IS 0 IF PROJ - PROJMIN NEGATIVE
035454,000712:
035455,000713: 31,3247 34751 CAF FOUR
035456,000714: 31,3250 76254 UNWCLOOP MASK SIX
035457,000715: 31,3251 54002 TS Q
035458,000716: 31,3252 35014 CA EBANK5
035459,000717: 31,3253 54003 TS EBANK
035460,000718: 31,3254 E5,1560 EBANK= CG
035461,000719: 31,3254 30130 CA BUF
035462,000720: 31,3255 00006 EXTEND
035463,000721: 31,3256 50002 INDEX Q
035464,000722: 31,3257 71574 MP CG +14
035465,000723: 31,3260 24006 INCR BBANK
035466,000724: 31,3261 E6,1660 EBANK= UNWC/2
035467,000725: 31,3261 50002 INDEX Q
035468,000726: 31,3262 53661 DXCH UNWC/2
035469,000727: 31,3263 00006 EXTEND
035470,000728: 31,3264 70131 MP BUF +1
035471,000729: 31,3265 50002 INDEX Q
035472,000730: 31,3266 21661 DAS UNWC/2
035473,000731: 31,3267 10002 CCS Q
035474,000732: 31,3270 13250 TCF UNWCLOOP
035475,000733:
035476,000734: 31,3271 31773 CA AZBIAS # SET OUTER GIMBAL
035477,000735: 31,3272 55677 TS OGABIAS # ANGLE BIAS FOR WINDOW BENDING
035478,000736:
035479,000737: 31,3273 24006 INCR BBANK
035480,000738: 31,3274 E7,1612 EBANK= PIF
035481,000739:
035482,000740: 31,3274 30121 STEER? CA OVFIND # OVERFLOW?
![]() |
Page 798 |
035484,000742: 31,3275 00006 EXTEND
035485,000743: 31,3276 13301 BZF STEERSW? # NO: CHECK STEERSW
035486,000744:
035487,000745: 31,3277 03646 TC OVFDESC # YES: ISSUE ALARM AND SKIP COMMANDS
035488,000746: 31,3300 13331 TCF DISPEXIT
035489,000747:
035490,000748: 31,3301 40076 STEERSW? CS FLAGWRD2 # IS STEERSW UP?
035491,000749: 31,3302 74741 MASK STEERBIT
035492,000750: 31,3303 00006 EXTEND
035493,000751: 31,3304 13312 BZF THRTCALL # YES: ISSUE GUIDANCE COMMANDS
035494,000752:
035495,000753: 31,3305 00004 RATESTOP INHINT # NO
035496,000754: 31,3306 04674 TC IBNKCALL
035497,000755: 31,3307 40166 FCADR STOPRATE
035498,000756: 31,3310 00003 RELINT
035499,000757: 31,3311 13331 TCF DISPEXIT
035500,000758:
035501,000759: 31,3312 31,3312 GDUMP1 = THRTCALL
035502,000760:
035503,000761: 31,3312 05332 THRTCALL TC CHECKMM # HAS MODE CHANGED TO 66 SINCE CONTROL WAS
035504,000762: 31,3313 00102 DEC 66 B-14 # TRANSFERRED TO LUNLAND FROM SERVICER?
035505,000763: 31,3314 13316 TCF +2
035506,000764: 31,3315 13331 TCF DISPEXIT # YES: SKIP COMMANDS
035507,000765:
035508,000766: 31,3316 02150 TC THROTTLE # NO
035509,000767: 31,3317 06042 TC FASTCHNG
035510,000768:
035511,000769: 31,3320 31465 CA FCODD
035512,000770: 31,3321 55620 TS FCOLD
035513,000771:
035514,000772: 31,3322 00006 EXTEND
035515,000773: 31,3323 31617 DCA FWEIGHT1
035516,000774: 31,3324 53611 DXCH FWEIGHT
035517,000775:
035518,000776: 31,3325 06051 TC INTPRET
035519,000777: 31,3326 77624 CALL
035520,000778: 31,3327 61073 FINDCDUW -2
035521,000779: 31,3330 77776 EXIT
035522,000780:
035523,000781: # (CONTINUE TO DISPEXIT)
035524,000782:
035525,000783:
035526,000784: # ****************************************************************************************************************
035527,000785: # GUIDANCE LOOP DISPLAYS
035528,000786: # ****************************************************************************************************************
035529,000787:
035530,000788: 31,3331 40104 DISPEXIT CS FLAGWRD8 # NO DISPLAYS THIS PASS IF FLUNDISP IS SET
035531,000789: 31,3332 74742 MASK FLUNDBIT
035532,000790: 31,3333 00006 EXTEND
![]() |
Page 799 |
035534,000792: 31,3334 13361 BZF ENDLLJOB
035535,000793:
035536,000794: 31,3335 37723 CAF PRIO23 # RAISE PRIORITY TEMPORARILY SO DISPLAY
035537,000795: 31,3336 05146 TC PRIOCHNG # RESPONSES WILL NOT WAIT FOR SERVICER
035538,000796:
035539,000797: 31,3337 51621 INDEX WCHPHOLD
035540,000798: 31,3340 12401 TCF WHATDISP
035541,000799:
035542,000800: 31,3341 40107 P63DISPS CS FLGWRD11 # HAVE LR UPDATES BEEN PERMITTED?
035543,000801: 31,3342 74744 MASK LRINHBIT
035544,000802: 31,3343 00006 EXTEND
035545,000803: 31,3344 13354 BZF N63STAT # YES: DO STATIC DISPLAY
035546,000804:
035547,000805: 31,3345 33671 CAF V06N63 # NO: FLASH NOUN 63, CORRECT RESPONSE IS
035548,000806: 31,3346 04616 TC BANKCALL # V57E WHICH STOPS THE FLASHING
035549,000807: 31,3347 20463 CADR REFLASHR
035550,000808: 31,3350 05155 TC ENDOFJOB # TERMINATE IGNORE AND KEEP FLASHING
035551,000809: 31,3351 05155 TC ENDOFJOB # PROCEED IGNORE AND KEEP FLASHING
035552,000810: 31,3352 05155 TC ENDOFJOB # ENTER IGNORE AND KEEP FLASHING
035553,000811:
035554,000812: 31,3353 13357 TCF LOWRPRIO
035555,000813:
035556,000814: 31,3354 33671 N63STAT CAF V06N63
035557,000815: 31,3355 04616 DISPCOMN TC BANKCALL
035558,000816: 31,3356 20471 CADR REGODSPR
035559,000817:
035560,000818: 31,3357 34736 LOWRPRIO CAF PRIO20
035561,000819: 31,3360 05146 TC PRIOCHNG
035562,000820: 31,3361 04635 ENDLLJOB TC POSTJUMP # RETURN CONTROL TO THE START OF SERVICER
035563,000821: 31,3362 66102 CADR PIPCYCLE
035564,000822:
035565,000823: 31,3363 31666 P64DISPS CA TREDES # HAS TREDES REACHED ZERO?
035566,000824: 31,3364 00006 EXTEND
035567,000825: 31,3365 13407 BZF RED-OVER # YES: CLEAR REDESIGNATION FLAG
035568,000826:
035569,000827: 31,3366 40102 CS FLAGWRD6 # NO: IS REDFLAG SET?
035570,000828: 31,3367 74746 MASK REDFLBIT
035571,000829: 31,3370 00006 EXTEND
035572,000830: 31,3371 13411 BZF REDES-OK # YES: DO STATIC DISPLAY
035573,000831:
035574,000832: 31,3372 33672 CAF V06N64 # NO: USE FLASHING DISPLAY
035575,000833: 31,3373 04616 TC BANKCALL
035576,000834: 31,3374 20463 CADR REFLASHR
035577,000835: 31,3375 05155 TC ENDOFJOB # TERMINATE IGNORE AND KEEP FLASHING
035578,000836: 31,3376 13401 TCF P64CEED # PROCEED PERMIT REDESIGNATIONS
035579,000837: 31,3377 05155 TC ENDOFJOB # ENTER IGNORE AND KEEP FLASHING
035580,000838:
035581,000839: 31,3400 13357 TCF LOWRPRIO
035582,000840:
035583,000841: 31,3401 34755 P64CEED CAF ZERO
![]() |
Page 800 |
035585,000843: 31,3402 55644 TS ELCOUNT1
035586,000844: 31,3403 55645 TS AZCOUNT1
035587,000845:
035588,000846: 31,3404 05515 TC UPFLAG # ENABLE REDESIGNATION LOGIC
035589,000847: 31,3405 00143 ADRES REDFLAG
035590,000848:
035591,000849: 31,3406 15155 TCF ENDOFJOB
035592,000850:
035593,000851: 31,3407 05527 RED-OVER TC DOWNFLAG
035594,000852: 31,3410 00143 ADRES REDFLAG
035595,000853: 31,3411 33672 REDES-OK CAF V06N64
035596,000854: 31,3412 13355 TCF DISPCOMN
035597,000855:
035598,000856:
035599,000857: # ****************************************************************************************************************
035600,000858: # VERTICAL AND HORIZONTAL GUIDANCE FOR P66
035601,000859: # ****************************************************************************************************************
035602,000860:
035603,000861: 32,2000 SETLOC P66LOC
035604,000862: 32,2000 BANK
035605,000863: 32,2714 E5,1527 EBANK= TAURODL
035606,000864: 32,2714 COUNT* $$/F2DPS
035607,000865:
035608,000866: # ********************************
035609,000867: # DATA TRANSFER AND PIPA READING
035610,000868: # ********************************
035611,000869:
035612,000870: # FIRST, PAD-LOADS FROM THE W-MATRIX AREA ARE MOVED INTO TEMPORARIES FOR USE WHENE BANK IS SET TO 7.
035613,000871: # THESE TRANSFERS ARE AS FOLLOWS:
035614,000872:
035615,000873: # VERCRIT ---> VBUF +1
035616,000874: # TAURODL ---> VBUF +2
035617,000875: # TAURODB ---> VBUF +3
035618,000876: # MINFORCE ---> VBUF +4
035619,000877: # MAXFORCE ---> VBUF +5
035620,000878: # RODSCALE ---> MPAC +5
035621,000879: # ROHZSCAL ---> MPAC +6
035622,000880:
035623,000881: 32,2714 31531 P66JOB CA VERCRIT # VERCRIT
035624,000882: 32,2715 54123 TS VBUF +1
035625,000883: 32,2716 00006 EXTEND
035626,000884: 32,2717 31530 DCA TAURODL # TAURODL AND TAURODB
035627,000885: 32,2720 52125 DXCH VBUF +2
035628,000886: 32,2721 00006 EXTEND
035629,000887: 32,2722 31533 DCA MINFORCE # MINFORCE AND MAXFORCE
035630,000888: 32,2723 52127 DXCH VBUF +4
035631,000889: 32,2724 00006 EXTEND
035632,000890: 32,2725 31526 DCA RODSCALE # RODSCALE AND ROHZSCAL
035633,000891: 32,2726 52162 DXCH MPAC +5
035634,000892:
![]() |
Page 801 |
035636,000894: # ONE OTHER CHORE CAN BE DONE NOW TO MINIMIZE THE TIME BETWEEN READING PIPAX AND PUTTING OUT A THROTTLE
035637,000895: # COMMAND: THE COMPUTATION OF THE PRODUCT OF COS(AIG) AND COS(AMG).
035638,000896:
035639,000897: 32,2727 00004 P66INH INHINT # INHINT LASTS TILL AFTER THROTTLE COMMAND
035640,000898:
035641,000899: 32,2730 30033 CA CDUY
035642,000900: 32,2731 05032 TC SPCOS
035643,000901: 32,2732 54122 TS VBUF
035644,000902: 32,2733 30034 CA CDUZ
035645,000903: 32,2734 05032 TC SPCOS
035646,000904: 32,2735 00006 EXTEND
035647,000905: 32,2736 70122 MP VBUF
035648,000906: 32,2737 54160 TS MPAC +4 # PRODUCT OF COSINES SCALED FULL-SIZE
035649,000907:
035650,000908: 32,2740 24006 INCR BBANK # START P66JOB IN E5, SWITCH NOW TO E6
035651,000909: 32,2741 E6,1774 EBANK= END-E6
035652,000910:
035653,000911: # THE FOLLOWING CODING REFERS THE X-PIPA READING TO THE CENTER OF MASS OF THE SPACECRAFT BY SUBTRACTING
035654,000912: # THOSE PIPA COUNTS PRODUCED BY VERTICAL IMU MOTION RELATIVE TO THE CENTER-OF-MASS. THE SPACECRAFT X-AXIS IS
035655,000913: # ASSUMED TO BE APPROXIMATELY VERTICAL (PARALLEL TO THE SM X-AXIS). THE EQUATION IS:
035656,000914:
035657,000915: # P66PIPX = PIPAX - OMEGAQ RIMUZ
035658,000916:
035659,000917: # WHERE OMEGAQ IS THE ATTITUDE-RATE ABOUT THE Q (Y) AXIS AND RIMUZ IS THE Z-COORDINATE OF THE IMU.
035660,000918:
035661,000919: 32,2741 41422 CS OMEGAQ
035662,000920:
035663,000921: 32,2742 24006 INCR BBANK # SWITCH FINALLY INTO E7
035664,000922: 32,2743 E7,1777 EBANK= END-E7
035665,000923:
035666,000924: 32,2743 00006 EXTEND
035667,000925: 32,2744 73520 MP RIMUZ
035668,000926: 32,2745 56001 XCH L # ROUND BEFORE ADDING TO PIPAX
035669,000927: 32,2746 60000 DOUBLE
035670,000928: 32,2747 54002 TS Q # SKIP ON OVERFLOW WITH C(A) = +1 OR -1
035671,000929: 32,2750 34755 CAF ZERO # DEPENDING ON THE SIGN OF THE OVERFLOW
035672,000930: 32,2751 60001 AD L
035673,000931:
035674,000932: 32,2752 60037 AD PIPAX
035675,000933: 32,2753 55755 TS P66PIPX
035676,000934:
035677,000935: 32,2754 00006 EXTEND # READ FINE-SCALED TIME FOR FP COMPUTATION
035678,000936: 32,2755 00004 READ LOSCALAR
035679,000937: 32,2756 55754 TS P66TPIP # TIME IN UNITS OF 2(9) M/CS
035680,000938:
035681,000939: 32,2757 00006 EXTEND # SET GTCTIME AS TIME-TAG FOR FC
035682,000940: 32,2760 30025 DCA TIME2
035683,000941: 32,2761 53671 DXCH GTCTIME # TIME IN UNITS OF 2(28) CS
035684,000942:
035685,000943: # ********************************
![]() |
Page 802 |
035687,000945: # PROGRAM INITIALIZATION
035688,000946: # ********************************
035689,000947:
035690,000948: # THE FIRST TIME P66JOB IS EXECUTED P66 HAS NOT YET BEEN INITIALIZED. THIS IS INDICATED BY THE FACT THAT
035691,000949: # MODREG CONTAINS SOMETHING OTHER THAN 66. IN THIS CASE P66JOB BEGINS BY INITIALIZING ITSELF.
035692,000950:
035693,000951: 32,2762 41010 CS MODREG # HAS P66 BEEN INITIALIZED YET?
035694,000952: 32,2763 62770 AD MM66
035695,000953: 32,2764 00006 EXTEND
035696,000954: 32,2765 13001 BZF P66MAIN # YES
035697,000955:
035698,000956: 32,2766 03507 TC P66CHNG # NO: THEN INITIALIZE IT
035699,000957:
035700,000958: 32,2767 05322 TC NEWMODEX # SWITCH MODE LIGHTS TO 66
035701,000959: 32,2770 00102 MM66 DEC 66 B-14
035702,000960:
035703,000961: 32,2771 44755 CS ZERO # CANCEL LEFT OVER P64 THROTTLE COMMAND
035704,000962: 32,2772 54055 TS THRUST # (DON'T EVER LOAD THRUST WITH +0)
035705,000963:
035706,000964: 32,2773 36257 CAF THREE # SET HZCOUNT FOR P66DISPS IN 3/4
035707,000965: 32,2774 55753 TS HZCOUNT # SECOND AND P66HZ IN 1 1/4 SECOND
035708,000966:
035709,000967: 32,2775 03501 TC ZEROVHZC # SET VHZC TO ZERO, RETURN WITH C(A) = +0
035710,000968:
035711,000969: 32,2776 55610 TS FWEIGHT # ZERO FWEIGHT LEFT OVER FROM P64
035712,000970: 32,2777 55611 TS FWEIGHT +1
035713,000971:
035714,000972: 32,3000 13272 TCF ENDROD # WAIT BEFORE EXECUTING P66ROD
035715,000973:
035716,000974: # ********************************
035717,000975: # VERTICAL (ROD) CONTROL EQUATION
035718,000976: # ********************************
035719,000977:
035720,000978: # HERE VVECTX IS RECOMPUTED TO MINIMIZE THE GUIDANCE LAG BETWEEN THE SAMPLING OF PIPA DATA AND THE
035721,000979: # OUTPUT OF COMMANDS. THIS LEAVES THE VECTOR VVECT NON-HOMOGENEOUS, BUT THIS IS UNIMPORTANT SINCE THE VERTICAL
035722,000980: # AND HORIZONTAL CHANNELS ARE SEPARATE.
035723,000981:
035724,000982: 32,3001 00006 P66MAIN EXTEND
035725,000983: 32,3002 41710 DCS VSURFACE
035726,000984: 32,3003 53727 DXCH VVECTX
035727,000985: 32,3004 00006 EXTEND
035728,000986: 32,3005 31525 DCA V
035729,000987: 32,3006 20001 DDOUBL
035730,000988: 32,3007 20001 DDOUBL
035731,000989: 32,3010 21727 DAS VVECTX
035732,000990:
035733,000991: 32,3011 41234 CS PIPTIME +1
035734,000992: 32,3012 61671 AD GTCTIME +1
035735,000993: 32,3013 64736 AD HALF
035736,000994: 32,3014 64736 AD HALF
![]() |
Page 803 |
035738,000996: 32,3015 57725 XCH DT
035739,000997:
035740,000998: 32,3016 41254 CS PIPAXOLD
035741,000999: 32,3017 61755 AD P66PIPX
035742,001000: 32,3020 04616 TC BANKCALL
035743,001001: 32,3021 42761 CADR NORMPIP
035744,001002: 32,3022 00006 EXTEND
035745,001003: 32,3023 73516 MP P66KPIP
035746,001004: 32,3024 21727 DAS VVECTX
035747,001005:
035748,001006: 32,3025 41704 CS BIASACCX
035749,001007: 32,3026 61701 AD GRAVACCX
035750,001008: 32,3027 00006 EXTEND
035751,001009: 32,3030 71725 MP DT
035752,001010: 32,3031 21727 DAS VVECTX # VVECTX IN UNITS OF 2(5) M/CS
035753,001011:
035754,001012: # UPDATE VDGVERT ACCORDING TO ROD CLICKS.
035755,001013:
035756,001014: 32,3032 34755 CAF ZERO
035757,001015: 32,3033 57744 XCH RODCOUNT # RESTART BETWEEN NOW AND THE UPDATE OF
035758,001016: 32,3034 00006 EXTEND # VDGVERT COULD CAUSE LOSS OF ROD CLICKS
035759,001017: 32,3035 70161 MP MPAC +5
035760,001018: 32,3036 30001 CA L
035761,001019: 32,3037 00006 EXTEND
035762,001020: 32,3040 74745 MP BIT7
035763,001021: 32,3041 21746 DAS VDGVERT # VDGVERT IN UNITS OF 2(5) M/CS
035764,001022:
035765,001023: 32,3042 34747 MANTHRT? CAF BIT5 # ARE WE IN AUTO THROTTLE?
035766,001024: 32,3043 00006 EXTEND
035767,001025: 32,3044 02030 RAND CHAN30
035768,001026: 32,3045 00006 EXTEND
035769,001027: 32,3046 13053 BZF ERRCOMP # YES
035770,001028:
035771,001029: 32,3047 00006 EXTEND # NO: RESET VDGVERT TO CURRENT VVECTX
035772,001030: 32,3050 31727 DCA VVECTX
035773,001031: 32,3051 53746 DXCH VDGVERT
035774,001032: 32,3052 13272 TCF ENDROD
035775,001033:
035776,001034: # THE DECISION WHETHER TO EXECUTE THE P66ROD EQUATION IS MADE EVERY 1/4 SECOND ON THE FOLLOWING BASIS: IF
035777,001035: # VELOCITY ERROR ALONG THE SM X-AXIS EXCEEDS VERCRIT IN MAGNITUDE, DO P66ROD. OTHERWISE, DO P66ROD EVERY TAU
035778,001036: # (SPECIFICALLY TAUROD ROUNDED TO THE NEAREST 1/4 SECOND).
035779,001037:
035780,001038: 32,3053 00006 ERRCOMP EXTEND # COMPUTE VERTICAL (SM X-AXIS) VEL ERROR
035781,001039: 32,3054 41727 DCS VVECTX
035782,001040: 32,3055 52155 DXCH MPAC
035783,001041: 32,3056 00006 EXTEND
035784,001042: 32,3057 31746 DCA VDGVERT
035785,001043: 32,3060 20155 DAS MPAC # VDGVERT - VVECTX IN UNITS OF 2(5) M/CS
035786,001044:
035787,001045: 32,3061 07271 TC TPAGREE # SIGN-AGREE MPAC (ABSOLUTELY NECESSARY)
035788,001046:
![]() |
Page 804 |
035790,001048: 32,3062 41756 CS OP66TPIP # COMPUTE TIME SINCE LAST RODCOMP
035791,001049: 32,3063 61754 AD P66TPIP
035792,001050: 32,3064 64736 AD HALF
035793,001051: 32,3065 64736 AD HALF
035794,001052: 32,3066 56157 XCH MPAC +3 # TIME SINCE LAST P66ROD, UNITS OF 2(9) CS
035795,001053:
035796,001054: 32,3067 43522 CS P66PMIN # HAS IT BEEN LESS THAN P66PMIN?
035797,001055: 32,3070 60157 AD MPAC +3
035798,001056: 32,3071 00006 EXTEND
035799,001057: 32,3072 63276 BZMF MOREP66? # YES: NO P66ROD THIS PASS
035800,001058:
035801,001059: 32,3073 22154 LXCH MPAC # NO: LIMIT ERROR TO ABOUT 9.57 M/S
035802,001060: 32,3074 34773 CAF DEC48
035803,001061: 32,3075 04616 TC BANKCALL
035804,001062: 32,3076 61713 CADR LIMITSUB
035805,001063: 32,3077 54154 TS MPAC # PUT IT BACK IN MPAC
035806,001064:
035807,001065: 32,3100 00006 EXTEND # IS |VDGVERT - VVECTX| < VERCRIT?
035808,001066: 32,3101 30155 DCA MPAC
035809,001067: 32,3102 00006 EXTEND
035810,001068: 32,3103 10123 DV VBUF +1
035811,001069: 32,3104 00006 EXTEND
035812,001070: 32,3105 13110 BZF ERRFAIL
035813,001071:
035814,001072: 32,3106 30124 CA VBUF +2 # NO: DO ROD COMPUTATION USING TAURODL
035815,001073: 32,3107 13120 TCF P66ROD
035816,001074:
035817,001075: 32,3110 30157 ERRFAIL CA MPAC +3 # YES: HAS IT BEEN ABOUT OLDTAU
035818,001076: 32,3111 00006 EXTEND # SINCE THE LAST P66ROD?
035819,001077: 32,3112 74742 MP BIT10
035820,001078: 32,3113 65752 AD TWELVE
035821,001079: 32,3114 61761 AD -OLDTAU
035822,001080: 32,3115 00006 EXTEND
035823,001081: 32,3116 63276 BZMF MOREP66? # NO: NO P66ROD THIS PASS
035824,001082:
035825,001083: 32,3117 30125 CA VBUF +3 # YES: DO ROD COMPUTATION USING TAURODB
035826,001084:
035827,001085: 32,3120 55760 P66ROD TS TAU
035828,001086: 32,3121 52155 DXCH MPAC
035829,001087: 32,3122 00006 EXTEND
035830,001088: 32,3123 11760 DV TAU # TOTAL A DESIRED, UNITS OF 2(-9) M/CS/CS
035831,001089:
035832,001090: 32,3124 00006 EXTEND # SUBTRACT AWAY GRAVITY
035833,001091: 32,3125 61701 SU GRAVACCX
035834,001092: 32,3126 00006 EXTEND # RESCALE TO UNITS OF 2(-4) M/CS/CS
035835,001093: 32,3127 74742 MP BIT10
035836,001094: 32,3130 04616 TC BANKCALL
035837,001095: 32,3131 62337 CADR MASSMULT
035838,001096: 32,3132 00006 EXTEND # DIVIDE BY COS(AIG) COS(AMG)
035839,001097: 32,3133 10160 DV MPAC +4
035840,001098:
![]() |
Page 805 |
035842,001100: 32,3134 00006 EXTEND # APPLY LOWER LIMIT OF MINFORCE (VBUF +4)
035843,001101: 32,3135 60126 SU VBUF +4
035844,001102: 32,3136 64733 AD POSMAX
035845,001103: 32,3137 54001 TS L
035846,001104: 32,3140 40001 CS L
035847,001105: 32,3141 60001 AD L
035848,001106: 32,3142 60126 AD VBUF +4
035849,001107:
035850,001108: 32,3143 54001 TS L # APPLY UPPER LIMIT OF MAXFORCE (VBUF +5)
035851,001109: 32,3144 30127 CA VBUF +5
035852,001110: 32,3145 04616 TC BANKCALL
035853,001111: 32,3146 61713 CADR LIMITSUB
035854,001112: 32,3147 55615 TS FC # THRUST DESIRED
035855,001113:
035856,001114: 32,3150 41755 CS P66PIPX # COMPUTE MINUS PRESENT THRUST LEVEL
035857,001115: 32,3151 61757 AD OP66PIPX
035858,001116: 32,3152 04616 TC BANKCALL
035859,001117: 32,3153 42761 CADR NORMPIP
035860,001118: 32,3154 00006 EXTEND # RESCALE TO UNITS OF 1 M/CS
035861,001119: 32,3155 73517 MP P66KPIPB
035862,001120: 32,3156 20001 DDOUBL
035863,001121: 32,3157 00006 EXTEND # DIVIDE BY TIME IN UNITS OF 2(9) CS TO
035864,001122: 32,3160 10157 DV MPAC +3 # GET ACC IN UNITS OF 2(-9) M/CS/CS
035865,001123: 32,3161 61704 AD BIASACCX # ADD IN PIPA BIAS PSEUDO-ACCELERATION
035866,001124:
035867,001125: 32,3162 00006 EXTEND # RESCALE TO UNITS OF 2(-4) M/CS/CS
035868,001126: 32,3163 74742 MP BIT10
035869,001127: 32,3164 04616 TC BANKCALL
035870,001128: 32,3165 62337 CADR MASSMULT
035871,001129: 32,3166 55467 TS FP
035872,001130:
035873,001131: 32,3167 00006 EXTEND
035874,001132: 32,3170 41611 DCS FWEIGHT
035875,001133: 32,3171 00006 EXTEND
035876,001134: 32,3172 10157 DV MPAC +3
035877,001135: 32,3173 27467 ADS FP # MINUS THRUST ALONG THE SM X-AXIS
035878,001136:
035879,001137: 32,3174 22007 ZL
035880,001138: 32,3175 00006 EXTEND # DIVIDE BY COS(AIG) COS(AMG)
035881,001139: 32,3176 10160 DV MPAC +4
035882,001140:
035883,001141: 32,3177 55467 TS FP # MINUS PRESENT THRUST
035884,001142:
035885,001143: 32,3200 61615 AD FC
035886,001144: 32,3201 54001 TS L # LIMIT PIF TO WHAT CAN BE READ OUT
035887,001145: 32,3202 33522 CAF P66PMIN # (LOSCALAR AND THRUST BOTH 3200 PPS)
035888,001146: 32,3203 04616 TC BANKCALL
035889,001147: 32,3204 61713 CADR LIMITSUB
035890,001148:
035891,001149: 32,3205 04616 TC BANKCALL # GO TO THROTTLE WITH PIF IN A
![]() |
Page 806 |
035893,001151: 32,3206 62144 CADR P66THROT
035894,001152:
035895,001153: 32,3207 00003 P66REL RELINT
035896,001154:
035897,001155: 32,3210 53617 DXCH FWEIGHT1 # SCALE FWEIGHT FOR USE NEXT PASS
035898,001156: 32,3211 52155 DXCH MPAC
035899,001157: 32,3212 30160 CA MPAC +4 # FIRST TAKE OUT THE ATTITUDE EFFECT
035900,001158: 32,3213 07321 TC SHORTMP
035901,001159: 32,3214 33526 CAF 2SECS(9)
035902,001160: 32,3215 07321 TC SHORTMP
035903,001161: 32,3216 52155 DXCH MPAC
035904,001162: 32,3217 53617 DXCH FWEIGHT1 # TRANSFERRED TO FWEIGHT LATER
035905,001163:
035906,001164: # UPDATE VHZC (Y AND Z COMPONENTS) ACCORDING TO HAND CONTROLLER DEFLECTIONS. IT IS ASSUMED THAT THE PLANE OF
035907,001165: # THE SM Y AND Z AXES IS PARALLEL TO THE LOCAL SURFACE, AS IT WILL BE IN P66 FOR THE NORMAL "LANDING ALIGNMENT".
035908,001166:
035909,001167: 32,3220 34755 CAF ZERO
035910,001168: 32,3221 57645 XCH AZCOUNT1 # RESTART BETWEEN NOW AND THE UPDATE OF
035911,001169: 32,3222 00006 EXTEND # VHZC COULD CAUSE LOSS OF ROHZ CLICKS
035912,001170: 32,3223 70162 MP MPAC +6
035913,001171: 32,3224 22130 LXCH BUF # AZCOUNT1.ROHZCAL IN UNITS OF 2(-3) M/CS
035914,001172:
035915,001173: 32,3225 34755 CAF ZERO
035916,001174: 32,3226 57644 XCH ELCOUNT1 # RESTART BETWEEN NOW AND THE UPDATE OF
035917,001175: 32,3227 00006 EXTEND # VHZC COULD CAUSE LOSS OF ROHZ CLICKS
035918,001176: 32,3230 70162 MP MPAC +6
035919,001177: 32,3231 22131 LXCH BUF +1 # ELCOUNT1.ROHZSCAL IN UNITS OF 2(-3) M/CS
035920,001178:
035921,001179: 32,3232 35015 CAF EBANK6
035922,001180: 32,3233 54003 TS EBANK
035923,001181: 32,3234 E6,1774 EBANK= END-E6
035924,001182:
035925,001183: 32,3234 30130 CA BUF
035926,001184: 32,3235 00006 EXTEND
035927,001185: 32,3236 71420 MP M32 # COS(AOG)
035928,001186: 32,3237 54002 TS Q
035929,001187: 32,3240 40131 CS BUF +1
035930,001188: 32,3241 00006 EXTEND
035931,001189: 32,3242 71417 MP M22 # SIN(AOG)
035932,001190: 32,3243 60002 AD Q
035933,001191: 32,3244 00006 EXTEND
035934,001192: 32,3245 74745 MP BIT7
035935,001193: 32,3246 52155 DXCH MPAC # INCREMENT FOR VHZCY, UNITS OF 2(5) M/CS
035936,001194:
035937,001195: 32,3247 30130 CA BUF
035938,001196: 32,3250 00006 EXTEND
035939,001197: 32,3251 71417 MP M22 # SIN(AOG)
035940,001198: 32,3252 56131 XCH BUF +1
035941,001199: 32,3253 00006 EXTEND
035942,001200: 32,3254 71420 MP M32 # COS(AOG)
![]() |
Page 807 |
035944,001202: 32,3255 60131 AD BUF +1
035945,001203: 32,3256 00006 EXTEND
035946,001204: 32,3257 74745 MP BIT7 # INCREMENT FOR VHZCZ, UNITS OF 2(5) M/CS
035947,001205:
035948,001206: 32,3260 24006 INCR BBANK
035949,001207: 32,3261 E7,1777 EBANK= END-E7
035950,001208:
035951,001209: 32,3261 21752 DAS VHZC +4 # UPDATE VHZCZ
035952,001210: 32,3262 52155 DXCH MPAC
035953,001211: 32,3263 21750 DAS VHZC +2 # UPDATE VHZCY
035954,001212:
035955,001213: 32,3264 03507 TC P66CHNG
035956,001214:
035957,001215: 32,3265 00006 EXTEND # STORE FWEIGHT FOR USE NEXT PASS
035958,001216: 32,3266 31617 DCA FWEIGHT1
035959,001217: 32,3267 53611 DXCH FWEIGHT
035960,001218:
035961,001219: 32,3270 41760 CS TAU # STORE MINUS TAU FOR TEST NEXT PASS
035962,001220: 32,3271 55761 TS -OLDTAU
035963,001221:
035964,001222: 32,3272 03507 ENDROD TC P66CHNG
035965,001223:
035966,001224: 32,3273 00006 EXTEND # STORE TIME AND PIPX FOR NEXT PASS
035967,001225: 32,3274 31755 DCA P66TPIP
035968,001226: 32,3275 53757 DXCH OP66TPIP
035969,001227:
035970,001228: # ********************************
035971,001229: # ANY MORE WORK THIS PASS?
035972,001230: # ********************************
035973,001231:
035974,001232: 32,3276 00006 MOREP66? EXTEND # TERMINATE P66JOB RESTART PROTECTION
035975,001233: 32,3277 34755 DCA NEG0
035976,001234: 32,3300 52756 DXCH -PHASE3
035977,001235:
035978,001236: # NOTE: A RESTART BETWEEN NOW AND THE END OF THE JOB WILL CAUSE THE LOSS OF THE REMAINDER OF THE JOB. BUT
035979,001237: # THIS DOES NOT MATTER. SINCE HZCOUNT IS NOT INCREMENTED UNTIL THE END OF THE JOB, THE FIRST P66JOB AFTER THE
035980,001238: # RESTART WILL REPEAT AND COMPLETE THE COMPUTATIONS STARTED HERE.
035981,001239:
035982,001240: 32,3301 37722 CAF PRIO22
035983,001241: 32,3302 05146 TC PRIOCHNG
035984,001242:
035985,001243: 32,3303 37723 CAF PRIO23
035986,001244: 32,3304 05146 TC PRIOCHNG
035987,001245:
035988,001246: # THE DESISION WHETHER TO EXECUTE THE P66 HORIZONTAL CONTROL EQUATION IS MADE EVERY 1/4 SECOND ON THE
035989,001247: # FOLLOWING BASIS: IF MODE HAS BEEN SWITCHED FROM ATTITUDE-HOLD TO AUTO BETWEEN THE MOST RECENT FINDCDUW AND
035990,001248: # NOW, DO P66HZ IMMEDIATELY. OTHERWISE, DO P66HZ EVERY TWO SECONDS (WHICH COULD BE CHANGED TO ONE SECOND), AND
035991,001249: # DO P65DISPS EVERY ONE SECOND, STAGGERED FROM P66HZ.
035992,001250:
035993,001251: 32,3305 30120 CA FIXLOC # ZERO PUSHDOWN POINTER
![]() |
Page 808 |
035995,001253: 32,3306 54166 TS PUSHLOC
035996,001254:
035997,001255: 32,3307 35015 CAF EBANK6 # SWITCH TO E6 FOR FLPAUTNO
035998,001256: 32,3310 54003 TS EBANK
035999,001257: 32,3311 E6,1774 EBANK= END-E6
036000,001258:
036001,001259: 32,3311 34736 CAF BIT14 # IS MODE IN AUTO?
036002,001260: 32,3312 00006 EXTEND
036003,001261: 32,3313 02031 RAND CHAN31
036004,001262: 32,3314 00006 EXTEND
036005,001263: 32,3315 13322 BZF CHKFPAUT # YES: GO CHECK FLPAUTNO
036006,001264:
036007,001265: 32,3316 55651 TS FLPAUTNO # NO: SET FLPAUTNO TO INDICATE ATT-HOLD,
036008,001266: 32,3317 24006 INCR BBANK # RETURN TO E7, AND ZERO VHZC
036009,001267: 32,3320 03501 TC ZEROVHZC
036010,001268: 32,3321 13330 TCF HZTIME?
036011,001269:
036012,001270: 32,3322 31651 CHKFPAUT CA FLPAUTNO # WAS MODE IN AUTO LAST FINDCDUW?
036013,001271: 32,3323 24006 INCR BBANK
036014,001272: 32,3324 E7,1777 EBANK= END-E7
036015,001273: 32,3324 00006 EXTEND
036016,001274: 32,3325 13330 BZF HZTIME? # YES
036017,001275:
036018,001276: 32,3326 03501 TC ZEROVHZC # NO: MODE JUST SWITCHED SO ZERO VHZC
036019,001277: 32,3327 55753 TS HZCOUNT # AND HZCOUNT FOR IMMEDIATE P66HZ
036020,001278:
036021,001279: 32,3330 31753 HZTIME? CA HZCOUNT # DOES HZCOUNT = 0 MODULO 8?
036022,001280: 32,3331 74757 MASK SEVEN
036023,001281: 32,3332 00006 EXTEND
036024,001282: 32,3333 13342 BZF P66HZ # YES: DO HORIZONTAL CONTROL EQUATION
036025,001283:
036026,001284: 32,3334 76257 MASK THREE # NO: DOES HZCOUNT = 2 MODULO 4?
036027,001285: 32,3335 67760 AD NEG2
036028,001286: 32,3336 00006 EXTEND
036029,001287: 32,3337 13417 BZF P66DISPS # YES: GO COMPUTE DISPLAYS
036030,001288:
036031,001289: 32,3340 25753 END66JOB INCR HZCOUNT # NO: INCREMENT HZCOUNT, TERMINATE JOB:
036032,001290: 32,3341 05155 TC ENDOFJOB # P66HZ COMES HERE TOO
036033,001291:
036034,001292: # ********************************
036035,001293: # HORIZONTAL CONTROL EQUATION
036036,001294: # ********************************
036037,001295:
036038,001296: 32,3342 06051 P66HZ TC INTPRET
036039,001297: 32,3343 63345 DLOAD PDVL
036040,001298: 32,3344 02477 AHZLIM
036041,001299: 32,3345 03253 UNFC/2
036042,001300: 32,3346 63361 VXSC PDVL
036043,001301: 32,3347 02476 QHZ
036044,001302: 32,3350 03727 VVECTX
![]() |
Page 809 |
036046,001304: 32,3351 77645 BVSU
036047,001305: 32,3352 03746 VHZC
036048,001306: 32,3353 52341 V/SC VSU
036049,001307: 32,3354 02475 TAUHZ
036050,001308: 32,3355 47034 RTB RTB # ZERO X-COMPONENT AND UNITIZE
036051,001309: 32,3356 63537 ZEROMPAC
036052,001310: 32,3357 21706 NORMUNX1
036053,001311: 32,3360 53725 PDDL SL* # CORRECT MAGNITUDE FOR NORMUNX1 SHIFT
036054,001312: 32,3361 00045 36D
036055,001313: 32,3362 20201 0,1
036056,001314: 32,3363 74234 RTB VXSC # LIMIT MAGNITUDE TO AHZLIM
036057,001315: 32,3364 63547 MPACLIM
036058,001316: 32,3365 77776 EXIT
036059,001317:
036060,001318: 32,3366 33521 CA GHZ # X-COMPONENT = GRAVITY
036061,001319: 32,3367 54154 TS MPAC
036062,001320:
036063,001321: 32,3370 30121 CA OVFIND # ANY INTERPRETIVE OVERFLOW?
036064,001322: 32,3371 00006 EXTEND
036065,001323: 32,3372 13376 BZF ENGARM? # NO: CONTINUE CHECKING
036066,001324:
036067,001325: 32,3373 04616 TC BANKCALL # YES: ISSUE ALARM BUT NO COMMANDS
036068,001326: 32,3374 63646 FCADR OVFDESC
036069,001327: 32,3375 13340 TCF END66JOB
036070,001328:
036071,001329: 32,3376 34751 ENGARM? CAF BIT3 # IS ENGINE-ARM SWITCH ON?
036072,001330: 32,3377 00006 EXTEND
036073,001331: 32,3400 02030 RAND CHAN30
036074,001332: 32,3401 00006 EXTEND
036075,001333: 32,3402 13412 BZF CDUWHZ # YES: LIMIT AND ISSUE COMMANDS
036076,001334:
036077,001335: 32,3403 40074 CS FLAGWRD0 # NO: HAS ASTRONAUT RESPONDED TO P06N60?
036078,001336: 32,3404 74753 MASK P66PROBT
036079,001337: 32,3405 00006 EXTEND
036080,001338: 32,3406 13412 BZF CDUWHZ # NO: LIMIT AND ISSUE COMMANDS
036081,001339:
036082,001340: 32,3407 33515 CA IDLADR # YES: PREVENT RCS JET FIRINGS
036083,001341: 32,3410 55263 TS T5ADR
036084,001342: 32,3411 13340 TCF END66JOB
036085,001343:
036086,001344: 32,3412 06051 CDUWHZ TC INTPRET
036087,001345: 32,3413 37253 STCALL UNFC/2 # MUST STORE FOR SUCCEEDING PASS
036088,001346: 32,3414 61075 FINDCDUW
036089,001347: 32,3415 77776 EXIT
036090,001348:
036091,001349: 32,3416 13340 TCF END66JOB
036092,001350:
036093,001351: # ********************************
036094,001352: # P66 DISPLAY COMPUTATIONS
036095,001353: # ********************************
![]() |
Page 810 |
036097,001355: 32,3417 06051 P66DISPS TC INTPRET
036098,001356: 32,3420 41345 DLOAD DMP # AHZLIM.TAUHZ TO PD 0 FOR MPACLIM BELOW
036099,001357: 32,3421 02477 AHZLIM
036100,001358: 32,3422 02475 TAUHZ
036101,001359: 32,3423 47115 PDVL RTB
036102,001360: 32,3424 03727 VVECTX
036103,001361: 32,3425 63537 ZEROMPAC
036104,001362: 32,3426 65234 RTB PDDL
036105,001363: 32,3427 21706 NORMUNX1
036106,001364: 32,3430 00045 36D
036107,001365: 32,3431 41457 SL* PUSH
036108,001366: 32,3432 20201 0,1
036109,001367: 32,3433 00045 STORE 36D
036110,001368: 32,3434 63434 RTB DSQ
036111,001369: 32,3435 63547 MPACLIM
036112,001370: 32,3436 65352 SL1 PDDL
036113,001371: 32,3437 43316 DSQ DAD
036114,001372: 32,3440 65271 DDV PDDL
036115,001373: 32,3441 02477 AHZLIM
![]() |
TEXTRA in the following line is cicled |
036117,001375: 32,3442 02500 TEXTRA
036118,001376: 32,3443 43205 DMP DAD
036119,001377: 32,3444 00045 36D
036120,001378: 32,3445 74276 DCOMP VXSC
036121,001379: 32,3446 65345 DLOAD PDDL # PUSH DOWN Z AND Y COMPS FOR VDEF BELOW
036122,001380: 32,3447 00162 MPAC +5
036123,001381: 32,3450 00160 MPAC +3
036124,001382: 32,3451 43325 PDDL DAD # COMPUTE X-COMP AS ALTITUDE CORRECTED
036125,001383: 32,3452 03737 ALTITUDE
036126,001384: 32,3453 25524 DALTEYE
036127,001385: 32,3454 53466 VDEF UNIT # FORM UNIT VECTOR FROM SITE TO EYE IN SM
036128,001386: 32,3455 45034 RTB CALL # COORDINATES AND CONVERT TO NB
036129,001387: 32,3456 47613 QTPROLOG
036130,001388: 32,3457 47676 *SMNB*
036131,001389: 32,3460 77562 VSR1 EXIT # EXIT WITH SINE(LOOKANGL)/4 IN MPAC
036132,001390:
036133,001391: 32,3461 04616 TC BANKCALL # LPDFVSUB TAKES IT FROM THERE
036134,001392: 32,3462 63570 CADR LPDFVSUB
036135,001393:
036136,001394: 32,3463 25753 UNDISP? INCR HZCOUNT
036137,001395: 32,3464 40104 CS FLAGWRD8 # NO DISPLAYS THIS PASS IF FLUNDISP SET
036138,001396: 32,3465 74742 MASK FLUNDBIT
036139,001397: 32,3466 00006 EXTEND
![]() |
The following line is circled, with "ENDOFJOB" written next to END66JOB in the circle. |
036141,001399: 32,3467 13340 BZF END66JOB
036142,001400:
036143,001401: 32,3470 05165 VERTDISP TC VACRLEAS
036144,001402: 32,3471 33525 CAF V06N60
036145,001403: 32,3472 04616 TC BANKCALL
036146,001404: 32,3473 20460 CADR REFLASH
036147,001405: 32,3474 05155 TC ENDOFJOB # TERMINATE IGNORE AND KEEP FLASHING
036148,001406: 32,3475 13476 TCF STOPFIRE # PROCEED GO TERMINATE P66HZ OUTPUTS
![]() |
Page 811 |
036150,001408: 32,3476 05527 STOPFIRE TC DOWNFLAG # ENTER TERMINATE P66HZ OUTPUTS
036151,001409: 32,3477 00016 ADRES P66PROFL
036152,001410: 32,3500 15155 TCF ENDOFJOB
036153,001411:
036154,001412: # ********************************
036155,001413: # P66JOB SUBROUTINES
036156,001414: # ********************************
036157,001415:
036158,001416: 32,3501 34755 ZEROVHZC CAF ZERO # THE X-COMPONENT OF VHZC NEVER MATTERS,
036159,001417: 32,3502 55747 TS VHZC +2 # AND BESIDES IT OVERLAPS VDGVERT
036160,001418: 32,3503 55750 TS VHZC +3
036161,001419: 32,3504 55751 TS VHZC +4
036162,001420: 32,3505 55752 TS VHZC +5
036163,001421: 32,3506 00002 TC Q
036164,001422:
![]() |
In the margine on the right, a note is written in:
make it a REFLASHR and -increment HZ- go to END66JOB on the R ----?"increment HZ" is scratched out. |
036174,001432:
036175,001433: 32,3507 E3,1442 EBANK= PHSNAME3
036176,001434: 32,3507 35007 P66CHNG CAF EBANK3
036177,001435: 32,3510 56003 XCH EBANK
036178,001436: 32,3511 52002 DXCH L
036179,001437: 32,3512 55442 TS PHSNAME3
036180,001438: 32,3513 22003 LXCH EBANK
036181,001439: 32,3514 00000 TC A
036182,001440:
036183,001441: 32,3515 E7,1647 EBANK= ELVIRA
036184,001442:
036185,001443: # ********************************
036186,001444: # P66JOB CONSTANTS
036187,001445: # ********************************
036188,001446:
036189,001447: 32,3515 02024 IDLADR GENADR DAPIDLER
036190,001448:
036191,001449: 32,3516 01507 P66KPIP DEC .0512 # SCALES PIPAS TO UNITS OF 2(5) M/CS
036192,001450:
036193,001451: 32,3517 32156 P66KPIPB DEC .8192
036194,001452:
036195,001453: 32,3520 00143 RIMUZ DEC 99.486 B-14 # 1.2667 M IN UNITS (180/PI 45) 2(14) CM
036196,001454:
036197,001455: 32,3521 00053 GHZ DEC +1.62292 E-4 B+4 # LUNAR GRAVITY
036198,001456:
036199,001457: 32,3522 02260 P66PMIN DEC 37.5 B-9
036200,001458:
036201,001459: 32,3523 00002 20000 DALTEYE 2DEC 5 B-15 # ROUGH DISTANCE FROM EYE TO LR ANTENNA
036202,001460:
![]() |
Page 812 |
036204,001462: 32,3525 01474 V06N60 VN 0660
036205,001463:
036206,001464: 32,3526 4773 DEC48 = SUPER011
036207,001465:
036208,001466: 32,3526 14400 2SECS(9) DEC 200 B-9
036209,001467:
036210,001468: # ****************************************************************************************************************
036211,001469: # REDESIGNATOR TRAP
036212,001470: # ****************************************************************************************************************
036213,001471:
036214,001472: 23,2000 SETLOC RODTRAP
036215,001473: 23,2000 BANK
036216,001474:
036217,001475: 23,2453 COUNT* $$/F2DPS
036218,001476:
036219,001477: 23,2453 56016 PITFALL XCH BANKRUPT
036220,001478: 23,2454 00006 EXTEND
036221,001479: 23,2455 22012 QXCH QRUPT
036222,001480:
036223,001481: 23,2456 44745 CS BIT7 # ARE WE IN P64 OR P66?
036224,001482: 23,2457 61010 AD MODREG
036225,001483: 23,2460 10000 CCS A
036226,001484: 23,2461 77743 MASK OCT37776
036227,001485: 23,2462 10000 CCS A
036228,001486: 23,2463 05301 TC RESUME # NO: RESUME IMMEDIATELY
036229,001487:
036230,001488: 23,2464 00006 EXTEND # YES
036231,001489: 23,2465 00031 READ CHAN31
036232,001490: 23,2466 40000 COM
036233,001491: 23,2467 72500 MASK ALL4BITS
036234,001492: 23,2470 55647 TS ELVIRA
036235,001493: 23,2471 34752 CAF TWO
036236,001494: 23,2472 55646 TS ZERLINA
036237,001495: 23,2473 34756 CAF FIVE
036238,001496: 23,2474 05214 TC WAITLIST
036239,001497: 23,2475 E7,1646 EBANK= ZERLINA
036240,001498: 23,2475 02305 22067 2CADR REDESMON
036241,001499:
036242,001500: 23,2477 15301 TCF RESUME
036243,001501:
036244,001502:
036245,001503: 23,2500 00063 ALL4BITS OCT 00063
036246,001504:
036247,001505:
036248,001506: # REDESIGNATION MONITOR (INITIATED BY PITFALL)
![]() |
Page 813 |
036250,001508: 11,2000 SETLOC F2DPS*11
036251,001509: 11,2000 BANK
036252,001510: 11,2302 COUNT* $$/F2DPS
036253,001511:
036254,001512: 11,2302 55646 PREMON1 TS ZERLINA
036255,001513: 11,2303 34757 PREMON2 CAF SEVEN
036256,001514: 11,2304 05235 TC VARDELAY
036257,001515: 11,2305 00006 REDESMON EXTEND
036258,001516: 11,2306 00031 READ 31
036259,001517: 11,2307 40000 COM
036260,001518: 11,2310 72365 MASK OCT00063
036261,001519: 11,2311 57647 XCH ELVIRA
036262,001520: 11,2312 54001 TS L
036263,001521: 11,2313 11647 CCS ELVIRA # DO ANY BITS APPEAR THIS PASS?
036264,001522: 11,2314 12303 TCF PREMON2 # Y: CONTINUE MONITOR
036265,001523:
036266,001524: 11,2315 10001 CCS L # N: ANY LAST PASS?
036267,001525: 11,2316 12326 TCF COUNT'EM # Y: COUNT 'EM, RESET RUPT, TERMINATE
036268,001526: 11,2317 11646 CCS ZERLINA # N: HAS ZERLINA REACHED ZERO YET?
036269,001527: 11,2320 12302 TCF PREMON1 # N: DIMINISH ZERLINA, CONTINUE
036270,001528: 11,2321 06022 RESETRPT TC C13STALL # Y: RESET RUPT, TERMINATE
036271,001529: 11,2322 34740 CAF BIT12
036272,001530: 11,2323 00006 EXTEND
036273,001531: 11,2324 05013 WOR CHAN13
036274,001532: 11,2325 15272 TCF TASKOVER
036275,001533:
036276,001534: 11,2326 34737 COUNT'EM CAF BIT13 # ARE WE IN ATTITUDE-HOLD?
036277,001535: 11,2327 00006 EXTEND
036278,001536: 11,2330 02031 RAND CHAN31
036279,001537: 11,2331 00006 EXTEND
036280,001538: 11,2332 12321 BZF RESETRPT
036281,001539:
036282,001540: 11,2333 34742 CAF BIT10 # NO: DOES AGS HAVE CONTROL?
036283,001541: 11,2334 00006 EXTEND
036284,001542: 11,2335 02030 RAND CHAN30
036285,001543: 11,2336 10000 CCS A
036286,001544: 11,2337 12321 TCF RESETRPT
036287,001545:
036288,001546: 11,2340 30001 CA L # NO
036289,001547: 11,2341 74746 MASK -AZBIT
036290,001548: 11,2342 10000 CCS A
036291,001549: 11,2343 44753 -AZ CS ONE
036292,001550: 11,2344 27645 ADS AZCOUNT1
036293,001551: 11,2345 30001 CA L
036294,001552: 11,2346 74747 MASK +AZBIT
036295,001553: 11,2347 10000 CCS A
036296,001554: 11,2350 34753 +AZ CA ONE
036297,001555: 11,2351 27645 ADS AZCOUNT1
036298,001556: 11,2352 30001 CA L
036299,001557: 11,2353 74753 MASK -ELBIT
![]() |
Page 814 |
036301,001559: 11,2354 10000 CCS A
036302,001560: 11,2355 44753 -EL CS ONE
036303,001561: 11,2356 27644 ADS ELCOUNT1
036304,001562: 11,2357 30001 CA L
036305,001563: 11,2360 74752 MASK +ELBIT
036306,001564: 11,2361 10000 CCS A
036307,001565: 11,2362 34753 +EL CA ONE
036308,001566: 11,2363 27644 ADS ELCOUNT1
036309,001567: 11,2364 12321 TCF RESETRPT
036310,001568:
036311,001569: # THESE EQUIVALENCIES ARE BASED ON GSOP CHAPTER 4, REVISION 16 OF P64LM
036312,001570:
036313,001571:
036314,001572: 11,2365 4752 +ELBIT = BIT2 # -PITCH
036315,001573:
036316,001574:
036317,001575: 11,2365 4753 -ELBIT = BIT1 # +PITCH
036318,001576:
036319,001577:
036320,001578: 11,2365 4747 +AZBIT = BIT5
036321,001579:
036322,001580:
036323,001581: 11,2365 4746 -AZBIT = BIT6
036324,001582:
036325,001583:
036326,001584: 11,2365 00063 OCT00063 OCT 00063
036327,001585:
036328,001586:
036329,001587: # ****************************************************************************************************************
036330,001588: # R.O.D. TRAP
036331,001589: # ****************************************************************************************************************
036332,001590:
036333,001591: 23,2000 SETLOC RODTRAP
036334,001592: 23,2000 BANK
036335,001593: 23,2501 COUNT* $$/F2DPS
036336,001594:
036337,001595: 23,2501 74745 DESCBITS MASK BIT7 # COME HERE FROM MARKRUPT CODING WITH BIT
036338,001596: 23,2502 10000 CCS A # 7 OR 6 OF CHANNEL 16 IN A: BIT 7 MEANS
036339,001597: 23,2503 44752 CS TWO # - RATE INCREMENT, BIT 6 + INCREMENT
036340,001598: 23,2504 64753 AD ONE
036341,001599: 23,2505 27744 ADS RODCOUNT
036342,001600: 23,2506 15301 TCF RESUME # TRAP IS RESET WHEN SWITCH IS RELEASED
036343,001601:
036344,001602:
036345,001603: 31,3413 BANK 31
036346,001604: 31,2000 SETLOC F2DPS*31
036347,001605: 31,2000 BANK
036348,001606:
036349,001607: 31,3413 COUNT* $$/F2DPS
036350,001608:
![]() |
Page 815 |
036352,001610: # ****************************************************************************************************************
036353,001611: # DOUBLE PRECISION ROOT FINDER SUBROUTINE (BY ALLAN KLUMPP)
036354,001612: # ****************************************************************************************************************
036355,001613:
036356,001614: # N N-1
036357,001615: # ROOTPSRS FINDS ONE ROOT OF THE POWER SERIES A X + A X + ... + A X + A
036358,001616: # N N-1 1 0
036359,001617:
036360,001618: # USING NEWTON'S METHOD STARTING WITH AN INITIAL GUESS FOR THE ROOT. THE ENTERING DATA MUST BE AS FOLLOWS:
036361,001619:
036362,001620: # A SP LOC-3 ADRES FOR REFERENCING PWR COF TABL
036363,001621: # L SP N-1 N IS THE DEGREE OF THE POWER SERIES
036364,001622: # MPAC DP X INITIAL GUESS FOR ROOT
036365,001623:
036366,001624: # LOC-2N DP A(0)
036367,001625: # ...
036368,001626: # LOC DP A(N)
036369,001627: # LOC+2 SP PRECROOT PREC RQD OF ROOT (AS FRACT OF 1ST GUESS)
036370,001628:
036371,001629: # THE DP RESULT IS LEFT IN MPAC UPON EXIT, AND A SP COUNT OF THE ITERATIONS TO CONVERGENCE IS LEFT IN MPAC+2.
036372,001630: # RETURN IS NORMALLY TO LOC(TC ROOTPSRS)+3. IF ROOTPSRS FAILS TO CONVERGE IN 8 PASSES, RETURN IS TO LOC+1 AND
036373,001631: # OUTPUTS ARE NOT TO BE TRUSTED.
036374,001632:
036375,001633: # PRECAUTION: ROOTPSRS MAKES NO CHECKS FOR OVERFLOW OR FOR IMPROPER USAGE. IMPROPER USAGE COULD
036376,001634: # PRECLUDE CONVERGENCE OR REQUIRE EXCESSIVE ITERATIONS. AS A SPECIFIC EXAMPLE, ROOTPSRS FORMS A DERIVATIVE
036377,001635: # COEFFICIENT TABLE BY MULTIPLYING EACH A(I) BY I, WHERE I RANGES FROM 1 TO N. IF AN ELEMENT OF THE DERIVATIVE
036378,001636: # COEFFICIENT TABLE = 1 OR > 1 IN MAGNITUDE, ONLY THE EXCESS IS RETAINED. ROOTPSRS MAY CONVERGE ON THE CORRECT
036379,001637: # ROOT NONETHELESS, BUT IT MAY TAKE AN EXCESSIVE NUMBER OF ITERATIONS. THEREFORE THE USER SHOULD RECOGNIZE:
036380,001638:
036381,001639: # 1. USER'S RESPONSIBILITY TO ASSURE THAT I X A(I) < 1 IN MAGNITUDE FOR ALL I.
036382,001640:
036383,001641: # 2. USER'S RESPONSIBILITY TO ASSURE OVERFLOW WILL NOT OCCUR IN EVALUATING EITHER THE RESIDUAL OR THE DERIVATIVE
036384,001642: # POWER SERIES. THIS OVERFLOW WOULD BE PRODUCED BY SUBROUTINE POWRSERS, CALLED BY ROOTPSRS, AND MIGHT NOT
036385,001643: # PRECLUDE EVENTUAL CONVERGENCE.
036386,001644:
036387,001645: # 3. AT PRESENT, ERASABLE LOCATIONS ARE RESERVED ONLY FOR N UP TO 5. AN N IN EXCESS OF 5 WILL PRODUCE CHAOS.
036388,001646: # ALL ERASABLES USED BY ROOTPSRS ARE UNSWITCHED LOCATED IN THE REGION FROM MPAC-33 OCT TO MPAC+7.
036389,001647:
036390,001648: # 4. THE ITERATION COUNT RETURNED IN MPAC+2 MAY BE USED TO DETECT ABNORMAL PERFORMANCE.
036391,001649:
036392,001650: # STORE ENTERING DATA, INITLIZE ERASABLES
036393,001651:
036394,001652: 31,3413 00006 ROOTPSRS EXTEND
036395,001653: 31,3414 22132 QXCH RETROOT # RETURN ADRES
036396,001654: 31,3415 54117 TS PWRPTR # PWR TABL POINTER
036397,001655: 31,3416 52160 DXCH MPAC +3 # PWR TABL ADRES, N-1
036398,001656: 31,3417 33536 CA DERTABLL
036399,001657: 31,3420 54141 TS DERPTR # DER TABL POINTER
036400,001658: 31,3421 54161 TS MPAC +5 # DER TABL ADRES
036401,001659: 31,3422 10160 CCS MPAC +4 # NO POWER SERIES OF DEGREE 1 OR LESS
![]() |
Page 816 |
036403,001661: 31,3423 54162 TS MPAC +6 # N-2
036404,001662: 31,3424 34755 CA ZERO # MODE USED AS ITERATION COUNTER. MODE
036405,001663: 31,3425 54163 TS MODE # MUST BE POS SO ABS WON'T COMP MPAC+3 ETC
036406,001664:
036407,001665: # COMPUTE CRITERION TO STOP ITERATING
036408,001666:
036409,001667: 31,3426 00006 EXTEND
036410,001668: 31,3427 30155 DCA MPAC # FETCH ROOT GUESS, KEEPING IT IN MPAC
036411,001669: 31,3430 52127 DXCH ROOTPS # AND IN ROOTPS
036412,001670: 31,3431 50157 INDEX MPAC +3 # PWR TABL ADRES
036413,001671: 31,3432 30005 CA 5 # PRECROOT TO A
036414,001672: 31,3433 07321 TC SHORTMP # YIELDS DP PRODUCT IN MPAC
036415,001673: 31,3434 04713 TC USPRCADR
036416,001674: 31,3435 01226 CADR ABS # YIELDS ABVAL OF CRITERION ON DX IN MPAC
036417,001675: 31,3436 52155 DXCH MPAC
036418,001676: 31,3437 52125 DXCH DXCRIT # CRITERION
036419,001677:
036420,001678: # SET UP DER COF TABL
036421,001679:
036422,001680: 31,3440 00006 EXTEND
036423,001681: 31,3441 50117 INDEX PWRPTR
036424,001682: 31,3442 30004 DCA 3
036425,001683: 31,3443 52155 DXCH MPAC # A(N) TO MPAC
036426,001684:
036427,001685: 31,3444 30160 CA MPAC +4 # N-1 TO A
036428,001686:
036429,001687: 31,3445 54140 DERCLOOP TS PWRCNT # LOOP COUNTER
036430,001688: 31,3446 64753 AD ONE
036431,001689: 31,3447 07330 TC DMPNSUB # YIELDS DERCOF = I X A(I) IN MPAC
036432,001690: 31,3450 00006 EXTEND
036433,001691: 31,3451 50117 INDEX PWRPTR
036434,001692: 31,3452 30002 DCA 1
036435,001693: 31,3453 52155 DXCH MPAC # A(I-1) TO MPAC, FETCHING DERCOF
036436,001694: 31,3454 50141 INDEX DERPTR
036437,001695: 31,3455 52004 DXCH 3 # DERCOF TO DER TABL
036438,001696: 31,3456 44752 CS TWO
036439,001697: 31,3457 26117 ADS PWRPTR # DECREMENT PWR POINTER
036440,001698: 31,3460 44752 CS TWO
036441,001699: 31,3461 26141 ADS DERPTR # DECREMENT DER POINTER
036442,001700: 31,3462 10140 CCS PWRCNT
036443,001701: 31,3463 13445 TCF DERCLOOP
036444,001702:
036445,001703: # CONVERGE ON ROOT
036446,001704:
036447,001705: 31,3464 00006 ROOTLOOP EXTEND
036448,001706: 31,3465 30127 DCA ROOTPS # FETCH CURRENT ROOT
036449,001707: 31,3466 52155 DXCH MPAC # LEAVE IN MPAC
036450,001708: 31,3467 00006 EXTEND
036451,001709: 31,3470 30162 DCA MPAC +5 # LOAD A, L WITH DER TABL ADRES, N-2
036452,001710: 31,3471 07227 TC POWRSERS # YIELDS DERIVATIVE IN MPAC
036453,001711:
![]() |
Page 817 |
036455,001713: 31,3472 00006 EXTEND
036456,001714: 31,3473 30127 DCA ROOTPS
036457,001715: 31,3474 52155 DXCH MPAC # CURRENT ROOT TO MPAC, FETCHING DERIVTIVE
036458,001716: 31,3475 52131 DXCH BUF # LEAVE DERIVATIVE IN BUF AS DIVISOR
036459,001717: 31,3476 00006 EXTEND
036460,001718: 31,3477 30160 DCA MPAC +3 # LOAD A, L WITH PWR TABL ADRES, N-1
036461,001719: 31,3500 07227 TC POWRSERS # YIELDS RESIDUAL IN MPAC
036462,001720:
036463,001721: 31,3501 04713 TC USPRCADR
036464,001722: 31,3502 00353 CADR DDV/BDDV # YIELDS -DX IN MPAC
036465,001723:
036466,001724: 31,3503 00006 EXTEND
036467,001725: 31,3504 40155 DCS MPAC # FETCH DX, LEAVING -DX IN MPAC
036468,001726: 31,3505 20127 DAS ROOTPS # CORRECTED ROOT NOW IN ROOTPS
036469,001727:
036470,001728: 31,3506 04713 TC USPRCADR
036471,001729: 31,3507 01226 CADR ABS # YIELDS ABS(DX) IN MPAC
036472,001730: 31,3510 00006 EXTEND
036473,001731: 31,3511 40125 DCS DXCRIT
036474,001732: 31,3512 20155 DAS MPAC # ABS(DX)-ABS(DXCRIT) IN MPAC
036475,001733:
036476,001734: 31,3513 30163 CA MODE
036477,001735: 31,3514 74750 MASK BIT4 # KLUMPP SAYS GIVE UP AFTER EIGHT PASSES
036478,001736: 31,3515 10000 CCS A
036479,001737: 31,3516 00132 BADROOT TC RETROOT
036480,001738:
036481,001739: 31,3517 24163 INCR MODE # INCREMENT ITERATION COUNTER
036482,001740: 31,3520 10154 CCS MPAC # TEST HI ORDER DX
036483,001741: 31,3521 13464 TCF ROOTLOOP
036484,001742: 31,3522 13524 TCF TESTLODX
036485,001743: 31,3523 13530 TCF ROOTSTOR
036486,001744: 31,3524 10155 TESTLODX CCS MPAC +1 # TEST LO ORDER DX
036487,001745: 31,3525 13464 TCF ROOTLOOP
036488,001746: 31,3526 13530 TCF ROOTSTOR
036489,001747: 31,3527 13530 TCF ROOTSTOR
036490,001748: 31,3530 52127 ROOTSTOR DXCH ROOTPS
036491,001749: 31,3531 52155 DXCH MPAC
036492,001750: 31,3532 30163 CA MODE
036493,001751: 31,3533 54156 TS MPAC +2 # STORE SP ITERATION COUNT IN MPAC+2
036494,001752: 31,3534 50132 INDEX RETROOT
036495,001753: 31,3535 10002 TCF 2
036496,001754:
036497,001755: 31,3536 00147 DERTABLL ADRES DERCOFN -3
036498,001756:
036499,001757:
036500,001758: # ****************************************************************************************************************
036501,001759: # TRASHY LITTLE SUBROUTINES
036502,001760: # ****************************************************************************************************************
036503,001761:
036504,001762: 31,3537 34755 ZEROMPAC CAF ZERO # ROUTINE TO ZERO THE FIRST COMPONENT
![]() |
Page 818 |
036506,001764: 31,3540 54154 TS MPAC # OF A VECTOR IN MPAC. "TCF DANZIG"
036507,001765: 31,3541 54155 TS MPAC +1 # COULD BE A "TC Q" AT THE EXPENSE OF
036508,001766: 31,3542 16073 TCF DANZIG # A TINY AMOUNT OF TIME.
036509,001767:
036510,001768: 31,3543 34755 ZEROMID CAF ZERO # ROUTINE TO ZERO THE MIDDLE COMPONENT
036511,001769: 31,3544 54157 TS MPAC +3 # OF A VECTOR IN MPAC. "TCF DANZIG"
036512,001770: 31,3545 54160 TS MPAC +4 # COULD BE A "TC Q" AT THE EXPENSE OF
036513,001771: 31,3546 16073 TCF DANZIG # A TINY AMOUNT OF TIME.
036514,001772:
036515,001773:
036516,001774: 31,3547 22154 MPACLIM LXCH MPAC # THIS SUBROUTINE LIMITS THE CONTENTS OF
036517,001775: 31,3550 50120 INDEX FIXLOC # MPAC TO THE SP CONTENTS OF PD 0
036518,001776: 31,3551 30000 CA 0
036519,001777: 31,3552 04616 TC BANKCALL
036520,001778: 31,3553 61713 CADR LIMITSUB
036521,001779: 31,3554 54154 TS MPAC
036522,001780: 31,3555 16073 TCF DANZIG
036523,001781:
036524,001782: 31,3556 51346 INTPRETX INDEX WCHPHASE # SET X1 ON THE WAY TO THE INTERPRETER
036525,001783: 31,3557 42407 CS TARGTDEX
036526,001784: 31,3560 50120 INDEX FIXLOC
036527,001785: 31,3561 54046 TS X1
036528,001786: 31,3562 16051 TCF INTPRET
036529,001787:
036530,001788:
036531,001789: 31,3563 31642 TDISPSET CA TTF/8
036532,001790: 31,3564 00006 EXTEND
036533,001791: 31,3565 74750 MP TSCALINV
036534,001792: 31,3566 53476 DXCH TTFDISP
036535,001793:
036536,001794: 31,3567 00002 TC Q
036537,001795:
036538,001796: 31,3570 04645 LPDFVSUB TC MAKECADR
036539,001797: 31,3571 54161 TS MPAC +5
036540,001798:
036541,001799: 31,3572 52155 DXCH MPAC
036542,001800: 31,3573 20001 DDOUBL
036543,001801: 31,3574 04616 TC BANKCALL
036544,001802: 31,3575 61656 CADR SPARCSIN -1
036545,001803: 31,3576 63637 AD 1/2DEG
036546,001804: 31,3577 61353 AD ELBIAS
036547,001805: 31,3600 00006 EXTEND
036548,001806: 31,3601 73636 MP 180DEGS
036549,001807: 31,3602 55667 TS LOOKANGL
036550,001808:
036551,001809: 31,3603 00006 EXTEND # HERE IF LOOKANGL IS NOT BETWEEN ZERO AND
036552,001810: 31,3604 63611 BZMF +5 # 75 IT IS SET TO 99 FOR DISPLAY
036553,001811: 31,3605 43634 CS DEC75
036554,001812: 31,3606 61667 AD LOOKANGL
036555,001813: 31,3607 00006 EXTEND
![]() |
Page 819 |
036557,001815: 31,3610 63613 BZMF +3
036558,001816: 31,3611 33635 +5 CAF DEC99
036559,001817: 31,3612 55667 TS LOOKANGL
036560,001818:
036561,001819: 31,3613 00006 +3 EXTEND # RESCALE FORVEL TO 1 F/S/BIT
036562,001820: 31,3614 31743 DCA FORVEL
036563,001821: 31,3615 52155 DXCH MPAC
036564,001822: 31,3616 33640 CAF FVSCALE
036565,001823: 31,3617 07321 TC SHORTMP
036566,001824: 31,3620 30155 CA MPAC +1 # ROUND TO NEAREST F/S
036567,001825: 31,3621 60000 DOUBLE
036568,001826: 31,3622 54002 TS Q
036569,001827: 31,3623 34755 CAF ZERO
036570,001828: 31,3624 26154 ADS MPAC
036571,001829:
036572,001830: 31,3625 22154 LXCH MPAC # TRUNCATE AT 99 F/S
036573,001831: 31,3626 33635 CAF DEC99
036574,001832: 31,3627 04616 TC BANKCALL
036575,001833: 31,3630 61713 CADR LIMITSUB
036576,001834: 31,3631 55666 TS FORVDSKY
036577,001835:
036578,001836: 31,3632 30161 CA MPAC +5
036579,001837: 31,3633 04640 TC BANKJUMP
036580,001838:
036581,001839: 31,3634 00113 DEC75 DEC 75 B-14
036582,001840:
036583,001841:
036584,001842: 31,3635 00143 DEC99 DEC 99 B-14
036585,001843:
036586,001844:
036587,001845: 31,3636 00264 180DEGS DEC 180 B-14
036588,001846:
036589,001847:
036590,001848: 31,3637 00056 1/2DEG DEC .00278
036591,001849:
036592,001850:
036593,001851: 31,3640 24403 FVSCALE DEC 328.084 B-9 # SCALES 2(5) M/CS TO 1 F/S/BIT
036594,001852:
036595,001853:
036596,001854: 31,3641 05653 1406POO TC POODOO
036597,001855: 31,3642 21406 OCT 21406
036598,001856: 31,3643 05600 1406ALM TC ALARM
036599,001857: 31,3644 01406 OCT 01406
036600,001858: 31,3645 13305 TCF RATESTOP
036601,001859:
036602,001860: 31,3646 00006 OVFDESC EXTEND
036603,001861: 31,3647 23456 QXCH OVFRET
036604,001862:
036605,001863: 31,3650 05600 TC ALARM
036606,001864: 31,3651 01410 OCT 01410
036607,001865:
![]() |
Page 820 |
036609,001867: 31,3652 00004 INHINT # MUST USE INHINT, IBNKCALL, RELINT
036610,001868: 31,3653 04674 TC IBNKCALL # BECAUSE DAP COULD INTERRUPT STOPRATE AND
036611,001869: 31,3654 40166 FCADR STOPRATE # BECAUSE WE COME FROM P66HZ VIA BANKCALL
036612,001870: 31,3655 00003 RELINT
036613,001871:
036614,001872: 31,3656 34755 CA ZERO
036615,001873: 31,3657 54121 TS OVFIND
036616,001874:
036617,001875: 31,3660 01456 TC OVFRET
036618,001876:
036619,001877: # ****************************************************************************************************************
036620,001878: # SPECIALIZED "PHASCHNG" SUBROUTINE
036621,001879: # ****************************************************************************************************************
036622,001880:
036623,001881: 31,3661 6042 FASTCHNG = SERVCHNG
036624,001882:
036625,001883: # ****************************************************************************************************************
036626,001884: # PARAMETER TABLE INDIRECT ADDRESSES
036627,001885: # ****************************************************************************************************************
036628,001886:
036629,001887: 31,3661 E5,1402 RDG = RBRFGX
036630,001888: 31,3661 E5,1412 VDG = VBRFGX
036631,001889: 31,3661 E5,1422 ADG = ABRFGX
036632,001890: 31,3661 E5,1432 VDG2TTF = VBRFG*
036633,001891: 31,3661 E5,1436 ADG2TTF = ABRFG*
036634,001892: 31,3661 E5,1442 JDG2TTF = JBRFG*
036635,001893:
036636,001894: # ****************************************************************************************************************
036637,001895: # LUNAR LANDING CONSTANTS
036638,001896: # ***************************************************************************************************************
036639,001897:
036640,001898: 31,3661 01563 TABLTTFL ADRES TABLTTF +3 # ADDRESS FOR REFERENCING TTF TABLE
036641,001899:
036642,001900:
036643,001901: 31,3662 4740 TTFSCALE = BIT12
036644,001902:
036645,001903:
036646,001904: 31,3662 4750 TSCALINV = BIT4
036647,001905:
036648,001906:
036649,001907: 31,3662 77630 -DEC103 DEC -103 B-14
036650,001908:
036651,001909:
036652,001910: 31,3663 00155 P64DB OCT 00155 # 0.3 DEGREES SCALED AT CDU SCALING
036653,001911:
036654,001912:
036655,001913: 31,3664 00143 +DEC99 DEC +99 B-14
036656,001914:
036657,001915:
036658,001916: 31,3665 75340 TREDESCL DEC -.08
036659,001917:
![]() |
Page 821 |
036661,001919: 31,3666 00436 ELEACH DEC .01746 # ONE DEGREE
036662,001920:
036663,001921:
036664,001922: 31,3667 31,3666 AZEACH = ELEACH # ONE DEGREE
036665,001923:
036666,001924: 31,3667 01542 PROJMAX DEC .42262 B-3 # SIN(25')/8 TO COMPARE WITH PROJ
036667,001925:
036668,001926:
036669,001927: 31,3670 01022 PROJMIN DEC .25882 B-3 # SIN(15')/8 TO COMPARE WITH PROJ
036670,001928:
036671,001929:
036672,001930: 31,3671 01477 V06N63 VN 0663 # P63
036673,001931:
036674,001932: 31,3672 01500 V06N64 VN 0664 # P64
036675,001933:
036676,001934: 22,3647 BANK 22
036677,001935: 22,2000 SETLOC LANDCNST
036678,001936: 22,2000 BANK
036679,001937: 22,3647 COUNT* $$/F2DPS
036680,001938:
036681,001939: 22,3647 00021 14161 HIGHESTF 2DEC 4.34546769 B-12
036682,001940:
036683,001941: 22,3651 01440 00000 GSCALE 2DEC 100 B-11
036684,001942:
036685,001943: 22,3653 12525 12525 2/3DP 2DEC .333333333
036686,001944:
036687,001945: 22,3655 14000 00000 3/8DP 2DEC .375
036688,001946:
036689,001947: 22,3657 30000 00000 3/4DP 2DEC .750
036690,001948:
036691,001949: 22,3661 77534 45074 DEPRCRIT 2DEC -.02 B-1
036692,001950:
036693,001951: # ****************************************************************************************************************
036694,001952: # ****************************************************************************************************************
End of include-file LUNAR_LANDING_GUIDANCE_EQUATIONS.agc. Parent file is MAIN.agc