Source Code
These source-code files are part of a reconstructed copy of Luminary 69/2,
the flown, final release of the Apollo 10 Lunar Module (LM) Apollo Guidance Computer (AGC) software.
The reconstruction is based on the source code of Luminary 69 — i.e., the initial, unflown version, "revision 0" — of which a contemporary listing was available. The code was then updated by incorporating the differences between Luminary 69 and Luminary 69/2, known from other contemporary documentation. The only such difference is the implementation in Luminary 69/2 of the "R-2 Lunar Potential Model", the source code for which was taken from program Luminary 99/1 (Apollo 11 LM), of which a contemporary listing was also available. Finally, the now-reconstructed Luminary 69/2 was then validated by assembling it to executable form and verifying that its memory banks had the correct checksums, known from still other contemporary documentation. Note that page numbers in the reconstructed code match those in the original Luminary 69 program listing, or in the ORBITAL INTEGRATION log section, in Luminary 99/1. Page numbers would certainly differ somewhat in a contemporary Luminary 69/2 listing. Moreover, annotations that were not present in the contemporary source code have been added to the reconstructed code to justify each change in Luminary 69/2 relative to Luminary 69. Here's a guide to the Apollo documentation referenced in those annotations:
|
039473,000002: ## Copyright: Public domain.
039474,000003: ## Filename: LANDING_ANALOG_DISPLAYS.agc
039475,000004: ## Purpose: A section of LUM69 revision 2.
039476,000005: ## It is part of the reconstructed source code for the flown
039477,000006: ## version of the flight software for the Lunar Module's (LM)
039478,000007: ## Apollo Guidance Computer (AGC) for Apollo 10. The code has
039479,000008: ## been recreated from a copy of Luminary revsion 069, using
039480,000009: ## changes present in Luminary 099 which were described in
039481,000010: ## Luminary memos 75 and 78. The code has been adapted such
039482,000011: ## that the resulting bugger words exactly match those specified
039483,000012: ## for LUM69 revision 2 in NASA drawing 2021152B, which gives
039484,000013: ## relatively high confidence that the reconstruction is correct.
039485,000014: ## Reference: pp. 897-906
039486,000015: ## Assembler: yaYUL
039487,000016: ## Contact: Ron Burkey <info@sandroid.org>.
039488,000017: ## Website: www.ibiblio.org/apollo/index.html
039489,000018: ## Mod history: 2019-07-27 MAS Created from Luminary 69.
039490,000019:
Page 897 |
039492,000021: 21,2340 BANK 21
039493,000022: 21,2000 SETLOC R10
039494,000023: 21,2000 BANK
039495,000024:
039496,000025: 21,2340 E7,1534 EBANK= UNIT/R/
039497,000026: 21,2340 COUNT* $$/R10
039498,000027:
039499,000028: 21,2340 23712 LANDISP LXCH PIPCTR1 # UPDATE TBASE2 AND PIPCTR SIMULTANEOUSLY.
039500,000029: 21,2341 40025 CS TIME1
039501,000030: 21,2342 53056 DXCH TBASE2
039502,000031:
039503,000032: 21,2343 40103 CS FLAGWRD7 # IS LANDING ANALOG DISPLAYS FLAG SET?
039504,000033: 21,2344 74741 MASK SWANDBIT
039505,000034: 21,2345 10000 CCS A
039506,000035: 21,2346 13237 TCF DISPRSET # NO.
039507,000036: 21,2347 31303 CA IMODES33 # BIT 7 = 0 (DO ALTRATE), =1 (DO ALT.)
039508,000037: 21,2350 74745 MASK BIT7
039509,000038: 21,2351 10000 CCS A
039510,000039: 21,2352 12424 TCF ALTOUT
039511,000040: 21,2353 02510 ALTROUT TC DISINDAT # CHECK MODE SELECT SWITCH AND DIDFLG.
039512,000041: 21,2354 41303 CS IMODES33
039513,000042: 21,2355 74745 MASK BIT7
039514,000043: 21,2356 27303 ADS IMODES33 # ALTERNATE ALTITUDE RATE WITH ALTITUDE.
039515,000044: 21,2357 34752 CAF BIT2 # RATE COMMAND IS EXECUTED BEFORE RANGE.
039516,000045: 21,2360 00006 EXTEND
039517,000046: 21,2361 05014 WOR CHAN14 # ALTRATE (BIT2 = 1), ALTITUDE (BIT2 = 0).
039518,000047: 21,2362 31741 ARCOMP CA RUNIT # COMPUTE ALTRATE = RUNIT.VVECT M/CS *2(-6).
039519,000048: 21,2363 00006 EXTEND
039520,000049: 21,2364 71704 MP VVECT # MULTIPLY X-COMPONENTS.
039521,000050: 21,2365 56070 XCH RUPTREG1 # SAVE SINGLE PRECISION RESULT M/CS*2(-6).
039522,000051: 21,2366 31742 CA RUNIT +1 # MULTIPLY Y-COMPONENTS.
039523,000052: 21,2367 00006 EXTEND
039524,000053: 21,2370 71705 MP VVECT +1
039525,000054: 21,2371 26070 ADS RUPTREG1 # ACCUMULATE PARTIAL PRODUCTS.
039526,000055: 21,2372 31743 CA RUNIT +2 # MULTIPLY Z-COMPONENTS.
039527,000056: 21,2373 00006 EXTEND
039528,000057: 21,2374 71706 MP VVECT +2
039529,000058: 21,2375 26070 ADS RUPTREG1 # ALTITUDE RATE IN M/CS *2(-6).
039530,000059: 21,2376 32000 CA ARCONV # CONVERT ALTRATE TO BIT UNITS (.5FPS/BIT)
039531,000060: 21,2377 00006 EXTEND
039532,000061: 21,2400 70070 MP RUPTREG1
039533,000062: 21,2401 20001 DDOUBL
039534,000063: 21,2402 20001 DDOUBL
039535,000064: 21,2403 56070 XCH RUPTREG1 # ALTITUDE RATE IN BIT UNITS*2(-14).
039536,000065: 21,2404 31714 CA DALTRATE # ALTITUDE RATE COMPENSATION FACTOR.
039537,000066: 21,2405 00006 EXTEND
039538,000067: 21,2406 71713 MP DT
039539,000068: 21,2407 60070 AD RUPTREG1
039540,000069: 21,2410 55707 TS ALTRATE # ALTITUDE RATE IN BIT UNITS*2(-14).
039541,000070: 21,2411 41707 CS ALTRATE
Page 898 |
039543,000072: 21,2412 00006 EXTEND # CHECK POLARITY OF ALTITUDE RATE.
039544,000073: 21,2413 62415 BZMF +2
039545,000074: 21,2414 12417 TCF DATAOUT # NEGATIVE - SEND POS. PULSES TO ALTM REG.
039546,000075: 21,2415 31707 CA ALTRATE # POSITIVE OR ZERO - SET SIGN BIT = 1 AND
039547,000076: 21,2416 64735 AD BIT15 # SEND TO ALTM REGISTER. *DO NOT SEND +0*
039548,000077: 21,2417 54060 DATAOUT TS ALTM # ACTIVATE THE LANDING ANALOG DISPLAYS - -
039549,000078: 21,2420 34751 CAF BIT3
039550,000079: 21,2421 00006 EXTEND
039551,000080: 21,2422 05014 WOR CHAN14 # BIT3 DRIVES THE ALT/ALTRATE METER.
039552,000081: 21,2423 15261 TCF TASKOVER # EXIT
039553,000082:
039554,000083: 21,2424 02510 ALTOUT TC DISINDAT # CHECK MODE SELECT SWITCH AND DIDFLG.
039555,000084: 21,2425 44745 CS BIT7
039556,000085: 21,2426 71303 MASK IMODES33
039557,000086: 21,2427 55303 TS IMODES33 # ALTERNATE ALTITUDE RATE WITH ALTITUDE.
039558,000087: 21,2430 44752 CS BIT2
039559,000088: 21,2431 00006 EXTEND
039560,000089: 21,2432 03014 WAND CHAN14
039561,000090: 21,2433 11737 CCS ALTBITS # =-1 IF OLD ALT. DATA TO BE EXTRAPOLATED.
039562,000091: 21,2434 12440 TCF +4
039563,000092: 21,2435 12440 TCF +3
039564,000093: 21,2436 12456 TCF OLDDATA
039565,000094: 21,2437 55737 TS ALTBITS # SET ALTBITS FROM -0 TO +0.
039566,000095: 21,2440 44753 CS ONE
039567,000096: 21,2441 53740 DXCH ALTBITS # SET ALTBITS = -1 FOR SWITCH USE NEXT PASS.
039568,000097: 21,2442 53711 DXCH ALTSAVE
039569,000098: 21,2443 34742 CA BIT10 # NEW ALTITUDE EXTRAPOLATION WITH ALTRATE.
039570,000099: 21,2444 56002 XCH Q
039571,000100: 21,2445 22007 LXCH 7 # ZL
039572,000101: 21,2446 31713 CA DT
039573,000102: 21,2447 00006 EXTEND
039574,000103: 21,2450 10002 DV Q # RESCALE DT*2(-14) TO *2(-9) TIME IN CS.
039575,000104: 21,2451 00006 EXTEND
039576,000105: 21,2452 72002 MP ARTOA2 # .0021322 *2(+8)
039577,000106: 21,2453 12457 TCF OLDDATA +1 # RATE APPLIES FOR DT CS.
039578,000107:
039579,000108: 21,2454 53711 ZDATA2 DXCH ALTSAVE
039580,000109: 21,2455 12477 TCF NEWDATA
039581,000110: 21,2456 32001 OLDDATA CA ARTOA # RATE APPLIES FOR .5 SEC. (4X/SEC. CYCLE)
039582,000111: 21,2457 00006 EXTEND
039583,000112: 21,2460 71707 MP ALTRATE # EXTRAPOLATE WITH ALTITUDE RATE.
039584,000113: 21,2461 20001 DDOUBL
039585,000114: 21,2462 61711 AD ALTSAVE +1
039586,000115: 21,2463 55711 TS ALTSAVE +1
039587,000116: 21,2464 34755 CAF ZERO
039588,000117: 21,2465 27710 ADS ALTSAVE
039589,000118: 21,2466 34733 CAF POSMAX # FORCE SIGN AGREEMENT ASSUMING A
039590,000119: 21,2467 64753 AD ONE # NON-NEGATIVE ALTSAVE.
039591,000120: 21,2470 61711 AD ALTSAVE +1 # IF ALTSAVE IS NEGATIVE, ZERO ALTSAVE
039592,000121: 21,2471 55711 TS ALTSAVE +1 # AND ALTSAVE +1 AT ZERODATA.
Page 899 |
039594,000123: 21,2472 34755 CAF ZERO
039595,000124: 21,2473 64733 AD POSMAX
039596,000125: 21,2474 61710 AD ALTSAVE
039597,000126: 21,2475 55710 TS ALTSAVE # POSSIBLY SKIP TO NEWDATA.
039598,000127: 21,2476 13234 TCF ZERODATA
039599,000128: 21,2477 11711 NEWDATA CCS ALTSAVE +1
039600,000129: 21,2500 12504 TCF +4
039601,000130: 21,2501 12504 TCF +3
039602,000131: 21,2502 34755 CAF ZERO # SET NEGATIVE ALTSAVE +1 TO +0.
039603,000132: 21,2503 55711 TS ALTSAVE +1
039604,000133: 21,2504 11710 CCS ALTSAVE # PROVIDE A 15 BIT UNSIGNED OUTPUT.
039605,000134: 21,2505 34735 CAF BIT15 # THE HI-ORDER PART IS +1 OR +0.
039606,000135: 21,2506 61711 AD ALTSAVE +1
039607,000136: 21,2507 12417 TCF DATAOUT # DISPATCH UNSIGNED BITS TO ALTM REG.
039608,000137: 21,2510 00006 DISINDAT EXTEND
039609,000138: 21,2511 23712 QXCH LADQSAVE # SAVE RETURN TO ALTROUT +1 OR ALTOUT +1
039610,000139: 21,2512 34746 CAF BIT6
039611,000140: 21,2513 00006 EXTEND # WISHETH THE ASTRONAUT THE ANALOG
039612,000141: 21,2514 02030 RAND CHAN30 # DISPLAYS? I.E.,
039613,000142: 21,2515 10000 CCS A # IS THE MODE SELECT SWITCH IN PGNCS?
039614,000143: 21,2516 13237 TCF DISPRSET # NO. ASTRONAUT REQUESTS NO INERTIAL DATA
039615,000144: 21,2517 40075 CS FLAGWRD1 # YES. CHECK STATUS OF DIDFLAG.
039616,000145: 21,2520 74736 MASK DIDFLBIT
039617,000146: 21,2521 00006 EXTEND
039618,000147: 21,2522 12560 BZF SPEEDRUN # SET. PERFORM DATA DISPLAY SEQUENCE.
039619,000148: 21,2523 40075 CS FLAGWRD1 # RESET. PERFORM INITIALIZATION FUNCTIONS.
039620,000149: 21,2524 74736 MASK DIDFLBIT
039621,000150: 21,2525 26075 ADS FLAGWRD1 # SET DIDFLAG.
039622,000151: 21,2526 44745 CS BIT7
039623,000152: 21,2527 71303 MASK IMODES33 # TO DISPLAY ALTRATE FIRST AND ALT. SECOND
039624,000153: 21,2530 55303 TS IMODES33
039625,000154: 21,2531 40074 CS FLAGWRD0 # ARE WE IN DESCENT TRAJECTORY?
039626,000155: 21,2532 74752 MASK R10FLBIT
039627,000156: 21,2533 00006 EXTEND
039628,000157: 21,2534 15261 BZF TASKOVER # NO
039629,000158: 21,2535 34744 CAF BIT8 # YES.
039630,000159: 21,2536 00006 EXTEND
039631,000160: 21,2537 05012 WOR CHAN12 # SET DISPLAY INERTIAL DATA OUTBIT.
039632,000161: 21,2540 34755 CAF ZERO
039633,000162: 21,2541 55700 TS TRAKLATV # LATERAL VELOCITY MONITOR FLAG
039634,000163: 21,2542 55701 TS TRAKFWDV # FORWARD VELOCITY MONITOR FLAG
039635,000164: 21,2543 55674 TS LATVMETR # LATVEL MONITOR METER
039636,000165: 21,2544 55675 TS FORVMETR # FORVEL MONITOR METER
039637,000166: 21,2545 34750 CAF BIT4
039638,000167: 21,2546 05173 TC TWIDDLE
039639,000168: 21,2547 02551 ADRES INTLZE
039640,000169: 21,2550 15261 TCF TASKOVER
039641,000170: 21,2551 34752 INTLZE CAF BIT2
039642,000171: 21,2552 00006 EXTEND
039643,000172: 21,2553 05012 WOR CHAN12 # ENABLE RR ERROR COUNTER.
Page 900 |
039645,000174: 21,2554 41303 CS IMODES33
039646,000175: 21,2555 74744 MASK BIT8
039647,000176: 21,2556 27303 ADS IMODES33 # SET INERTIAL DATA FLAG.
039648,000177: 21,2557 15261 TCF TASKOVER
039649,000178:
039650,000179: 21,2560 41235 SPEEDRUN CS PIPTIME +1 # UPDATE THE VELOCITY VECTOR
039651,000180: 21,2561 60025 AD TIME1 # COMPUTE T - TN
039652,000181: 21,2562 64736 AD HALF # CORRECT FOR POSSIBLE OVERFLOW OF TIME1.
039653,000182: 21,2563 64736 AD HALF
039654,000183: 21,2564 57713 XCH DT # SAVE FOR LATER USE
039655,000184: 21,2565 34777 CA 1SEC
039656,000185: 21,2566 54065 TS ITEMP5 # INITIALIZE FOR DIVISION LATER
039657,000186: 21,2567 00006 EXTEND
039658,000187: 21,2570 31237 DCA GDT/2 # COMPUTE THE X-COMPONENT OF VELOCITY.
039659,000188: 21,2571 20001 DDOUBL
039660,000189: 21,2572 20001 DDOUBL
039661,000190: 21,2573 00006 EXTEND
039662,000191: 21,2574 71713 MP DT
039663,000192: 21,2575 00006 EXTEND
039664,000193: 21,2576 10065 DV ITEMP5
039665,000194: 21,2577 57704 XCH VVECT # VVECT = G(T-TN) M/CS *2(-5)
039666,000195: 21,2600 00006 EXTEND
039667,000196: 21,2601 31525 DCA V # M/CS *2(-7)
039668,000197: 21,2602 20001 DDOUBL # RESCALE TO 2(-5)
039669,000198: 21,2603 20001 DDOUBL
039670,000199: 21,2604 27704 ADS VVECT # VVECT = VN + G(T-TN) M/CS *2(-5)
039671,000200: 21,2605 30037 CA PIPAX # DELV CM/SEC *2(-14)
039672,000201: 21,2606 61160 AD PIPATMPX # IN CASE PIPAX HAS BEEN ZEROED
039673,000202: 21,2607 00006 EXTEND
039674,000203: 21,2610 72004 MP KPIP1(5) # DELV M/CS *2(-5)
039675,000204: 21,2611 27704 ADS VVECT # VVECT = VN + DELV + GN(T-TN) M/CS *2(-5)
039676,000205: 21,2612 00006 EXTEND
039677,000206: 21,2613 31241 DCA GDT/2 +2 # COMPUTE THE Y-COMPONENT OF VELOCITY.
039678,000207: 21,2614 20001 DDOUBL
039679,000208: 21,2615 20001 DDOUBL
039680,000209: 21,2616 00006 EXTEND
039681,000210: 21,2617 71713 MP DT
039682,000211: 21,2620 00006 EXTEND
039683,000212: 21,2621 10065 DV ITEMP5
039684,000213: 21,2622 57705 XCH VVECT +1
039685,000214: 21,2623 00006 EXTEND
039686,000215: 21,2624 31527 DCA V +2
039687,000216: 21,2625 20001 DDOUBL
039688,000217: 21,2626 20001 DDOUBL
039689,000218: 21,2627 27705 ADS VVECT +1
039690,000219: 21,2630 30040 CA PIPAY
039691,000220: 21,2631 61161 AD PIPATMPY
039692,000221: 21,2632 00006 EXTEND
039693,000222: 21,2633 72004 MP KPIP1(5)
039694,000223: 21,2634 27705 ADS VVECT +1
Page 901 |
039696,000225: 21,2635 00006 EXTEND
039697,000226: 21,2636 31243 DCA GDT/2 +4 # COMPUTE THE Z-COMPONENT OF VELOCITY.
039698,000227: 21,2637 20001 DDOUBL
039699,000228: 21,2640 20001 DDOUBL
039700,000229: 21,2641 00006 EXTEND
039701,000230: 21,2642 71713 MP DT
039702,000231: 21,2643 00006 EXTEND
039703,000232: 21,2644 10065 DV ITEMP5
039704,000233: 21,2645 57706 XCH VVECT +2
039705,000234: 21,2646 00006 EXTEND
039706,000235: 21,2647 31531 DCA V +4
039707,000236: 21,2650 20001 DDOUBL
039708,000237: 21,2651 20001 DDOUBL
039709,000238: 21,2652 27706 ADS VVECT +2
039710,000239: 21,2653 30041 CA PIPAZ
039711,000240: 21,2654 61162 AD PIPATMPZ
039712,000241: 21,2655 00006 EXTEND
039713,000242: 21,2656 72004 MP KPIP1(5)
039714,000243: 21,2657 27706 ADS VVECT +2
039715,000244:
039716,000245: 21,2660 34751 CAF BIT3 # PAUSE 30 MS TO LET OTHER RUPTS IN.
039717,000246: 21,2661 05224 TC VARDELAY
039718,000247:
039719,000248: 21,2662 40074 CS FLAGWRD0 # ARE WE IN DESCENT TRAJECTORY?
039720,000249: 21,2663 74752 MASK R10FLBIT
039721,000250: 21,2664 10000 CCS A
039722,000251: 21,2665 12667 TCF +2 # YES.
039723,000252: 21,2666 01712 TC LADQSAVE # NO.
039724,000253:
039725,000254: 21,2667 31731 CA DELVS # HI X OF VELOCITY CORRECTION TERM.
039726,000255: 21,2670 61704 AD VVECT # HI X OF UPDATED VELOCITY VECTOR.
039727,000256: 21,2671 54061 TS ITEMP1 # = VX - DVX M/CS *2(-5).
039728,000257: 21,2672 31733 CA DELVS +2 # Y
039729,000258: 21,2673 61705 AD VVECT +1 # Y
039730,000259: 21,2674 54062 TS ITEMP2 # = VY - DVY M/CS *2(-5).
039731,000260: 21,2675 31735 CA DELVS +4 # Z
039732,000261: 21,2676 61706 AD VVECT +2 # Z
039733,000262: 21,2677 54063 TS ITEMP3 # = VZ - DVZ M/CS *2(-5).
039734,000263: 21,2700 30061 CA ITEMP1 # COMPUTE VHY, VELOCITY DIRECTED ALONG THE
039735,000264: 21,2701 00006 EXTEND # Y-COORDINATE.
039736,000265: 21,2702 71715 MP UHYP # HI X OF CROSS-RANGE HALF-UNIT VECTOR.
039737,000266: 21,2703 56070 XCH RUPTREG1
039738,000267: 21,2704 30062 CA ITEMP2
039739,000268: 21,2705 00006 EXTEND
039740,000269: 21,2706 71717 MP UHYP +2 # Y
039741,000270: 21,2707 26070 ADS RUPTREG1 # ACCUMULATE PARTIAL PRODUCTS.
039742,000271: 21,2710 30063 CA ITEMP3
039743,000272: 21,2711 00006 EXTEND
039744,000273: 21,2712 71721 MP UHYP +4 # Z
039745,000274: 21,2713 26070 ADS RUPTREG1
Page 902 |
039747,000276: 21,2714 30070 CA RUPTREG1
039748,000277: 21,2715 60000 DOUBLE
039749,000278: 21,2716 57702 XCH VHY # VHY=VMP.UHYP M/CS*2(-5).
039750,000279: 21,2717 30061 CA ITEMP1 # NOW COMPUTE VHZ, VELOCITY DIRECTED ALONG
039751,000280: 21,2720 00006 EXTEND # THE Z-COORDINATE.
039752,000281: 21,2721 71723 MP UHZP # HI X OF DOWN-RANGE HALF-UNIT VECTOR.
039753,000282: 21,2722 56070 XCH RUPTREG1
039754,000283: 21,2723 30062 CA ITEMP2
039755,000284: 21,2724 00006 EXTEND
039756,000285: 21,2725 71725 MP UHZP +2 # Y
039757,000286: 21,2726 26070 ADS RUPTREG1 # ACCUMULATE PARTIAL PRODUCTS.
039758,000287: 21,2727 30063 CA ITEMP3
039759,000288: 21,2730 00006 EXTEND
039760,000289: 21,2731 71727 MP UHZP +4 # Z
039761,000290: 21,2732 26070 ADS RUPTREG1
039762,000291: 21,2733 30070 CA RUPTREG1
039763,000292: 21,2734 60000 DOUBLE
039764,000293: 21,2735 57703 XCH VHZ # VHZ = VMP.UHZP M/CS*2(-5).
039765,000294: 21,2736 35015 GET22/32 CAF EBANK6 # GET SIN(AOG),COS(AOG) FROM GPMATRIX.
039766,000295: 21,2737 54003 TS EBANK
039767,000296: 21,2740 E6,1415 EBANK= M22
039768,000297: 21,2740 31415 CA M22
039769,000298: 21,2741 54063 TS ITEMP3
039770,000299: 21,2742 31416 CA M32
039771,000300: 21,2743 54064 TS ITEMP4
039772,000301: 21,2744 35016 CAF EBANK7
039773,000302: 21,2745 54003 TS EBANK
039774,000303: 21,2746 E7,1534 EBANK= UNIT/R/
039775,000304: 21,2746 30064 LATFWDV CA ITEMP4 # COMPUTE LATERAL AND FORWARD VELOCITIES.
039776,000305: 21,2747 00006 EXTEND
039777,000306: 21,2750 71702 MP VHY
039778,000307: 21,2751 56070 XCH RUPTREG1
039779,000308: 21,2752 30063 CA ITEMP3
039780,000309: 21,2753 00006 EXTEND
039781,000310: 21,2754 71703 MP VHZ
039782,000311: 21,2755 26070 ADS RUPTREG1 # = VHY(COS)AOG+VHZ(SIN)AOG M/CS *2(-5)
039783,000312: 21,2756 32003 CA VELCONV # CONVERT LATERAL VELOCITY TO BIT UNITS.
039784,000313: 21,2757 00006 EXTEND
039785,000314: 21,2760 70070 MP RUPTREG1
039786,000315: 21,2761 20001 DDOUBL
039787,000316: 21,2762 57676 XCH LATVEL # LATERAL VELOCITY IN BIT UNITS *2(-14).
039788,000317: 21,2763 30064 CA ITEMP4 # COMPUTE FORWARD VELOCITY.
039789,000318: 21,2764 00006 EXTEND
039790,000319: 21,2765 71703 MP VHZ
039791,000320: 21,2766 56070 XCH RUPTREG1
039792,000321: 21,2767 30063 CA ITEMP3
039793,000322: 21,2770 00006 EXTEND
039794,000323: 21,2771 71702 MP VHY
039795,000324: 21,2772 40000 CS A
039796,000325: 21,2773 26070 ADS RUPTREG1 # =VHZ(COS)AOG-VHY(SIN)AOG M/CS *2(-5).
Page 903 |
039798,000327: 21,2774 32003 CA VELCONV # CONVERT FORWARD VELOCITY TO BIT UNITS.
039799,000328: 21,2775 00006 EXTEND
039800,000329: 21,2776 70070 MP RUPTREG1
039801,000330: 21,2777 20001 DDOUBL
039802,000331: 21,3000 57677 XCH FORVEL # FORWARD VELOCITY IN BIT UNITS *2(-14).
039803,000332:
039804,000333: 21,3001 42005 CS MAXVBITS # ACC.=-199.9989 FT./SEC.
039805,000334: 21,3002 54066 TS ITEMP6 # -547 BIT UNITS (OCTAL) AT 0.5571 FPS/BIT
039806,000335:
039807,000336: 21,3003 34753 CAF ONE # LOOP TWICE.
039808,000337: 21,3004 54065 VMONITOR TS ITEMP5 # FORWARD AND LATERAL VELOCITY LANDING
039809,000338: 21,3005 50065 INDEX ITEMP5 # ANALOG DISPLAYS MONITOR.
039810,000339: 21,3006 11676 CCS LATVEL
039811,000340: 21,3007 13013 TCF +4
039812,000341: 21,3010 13114 TCF LVLIMITS
039813,000342: 21,3011 13021 TCF +8D
039814,000343: 21,3012 13114 TCF LVLIMITS
039815,000344: 21,3013 50065 INDEX ITEMP5
039816,000345: 21,3014 41676 CS LATVEL
039817,000346: 21,3015 62005 AD MAXVBITS # +199.9989 FT./SEC.
039818,000347: 21,3016 00006 EXTEND
039819,000348: 21,3017 63027 BZMF CHKLASTY
039820,000349: 21,3020 13114 TCF LVLIMITS
039821,000350: 21,3021 50065 INDEX ITEMP5
039822,000351: 21,3022 31676 CA LATVEL
039823,000352: 21,3023 62005 AD MAXVBITS
039824,000353: 21,3024 00006 EXTEND
039825,000354: 21,3025 63027 BZMF +2
039826,000355: 21,3026 13114 TCF LVLIMITS
039827,000356: 21,3027 50065 CHKLASTY INDEX ITEMP5
039828,000357: 21,3030 11674 CCS LATVMETR
039829,000358: 21,3031 13035 TCF +4
039830,000359: 21,3032 13046 TCF LASTOK
039831,000360: 21,3033 13042 TCF +7
039832,000361: 21,3034 13046 TCF LASTOK
039833,000362: 21,3035 50065 INDEX ITEMP5
039834,000363: 21,3036 31676 CA LATVEL
039835,000364: 21,3037 00006 EXTEND
039836,000365: 21,3040 63065 BZMF LASTPOSY +5
039837,000366: 21,3041 13046 TCF +5
039838,000367: 21,3042 50065 INDEX ITEMP5
039839,000368: 21,3043 41676 CS LATVEL
039840,000369: 21,3044 00006 EXTEND
039841,000370: 21,3045 63102 BZMF LASTNEGY +4
039842,000371: 21,3046 50065 LASTOK INDEX ITEMP5
039843,000372: 21,3047 11700 CCS TRAKLATV
039844,000373: 21,3050 13060 TCF LASTPOSY
039845,000374: 21,3051 13053 TCF +2
039846,000375: 21,3052 13076 TCF LASTNEGY
039847,000376: 21,3053 50065 INDEX ITEMP5
Page 904 |
039849,000378: 21,3054 31676 CA LATVEL
039850,000379: 21,3055 00006 EXTEND
039851,000380: 21,3056 63104 BZMF NEGVMAXY
039852,000381: 21,3057 13067 TCF POSVMAXY
039853,000382: 21,3060 50065 LASTPOSY INDEX ITEMP5
039854,000383: 21,3061 31676 CA LATVEL
039855,000384: 21,3062 00006 EXTEND
039856,000385: 21,3063 63065 BZMF +2
039857,000386: 21,3064 13067 TCF POSVMAXY
039858,000387: 21,3065 42005 CS MAXVBITS
039859,000388: 21,3066 13210 TCF ZEROLSTY
039860,000389: 21,3067 50065 POSVMAXY INDEX ITEMP5
039861,000390: 21,3070 41674 CS LATVMETR
039862,000391: 21,3071 62005 AD MAXVBITS
039863,000392: 21,3072 50065 INDEX ITEMP5
039864,000393: 21,3073 56072 XCH RUPTREG3
039865,000394: 21,3074 34753 CAF ONE
039866,000395: 21,3075 13213 TCF ZEROLSTY +3
039867,000396: 21,3076 50065 LASTNEGY INDEX ITEMP5
039868,000397: 21,3077 31676 CA LATVEL
039869,000398: 21,3100 00006 EXTEND
039870,000399: 21,3101 63104 BZMF NEGVMAXY
039871,000400: 21,3102 32005 CA MAXVBITS
039872,000401: 21,3103 13210 TCF ZEROLSTY
039873,000402: 21,3104 50065 NEGVMAXY INDEX ITEMP5
039874,000403: 21,3105 31674 CA LATVMETR
039875,000404: 21,3106 62005 AD MAXVBITS
039876,000405: 21,3107 40000 COM
039877,000406: 21,3110 50065 INDEX ITEMP5
039878,000407: 21,3111 56072 XCH RUPTREG3
039879,000408: 21,3112 44753 CS ONE
039880,000409: 21,3113 13213 TCF ZEROLSTY +3
039881,000410: 21,3114 50065 LVLIMITS INDEX ITEMP5
039882,000411: 21,3115 11700 CCS TRAKLATV
039883,000412: 21,3116 13145 TCF LATVPOS
039884,000413: 21,3117 13121 TCF +2
039885,000414: 21,3120 13152 TCF LATVNEG
039886,000415: 21,3121 50065 INDEX ITEMP5
039887,000416: 21,3122 41674 CS LATVMETR
039888,000417: 21,3123 00006 EXTEND
039889,000418: 21,3124 63126 BZMF +2
039890,000419: 21,3125 13161 TCF NEGLMLV
039891,000420: 21,3126 50065 INDEX ITEMP5
039892,000421: 21,3127 41676 CS LATVEL
039893,000422: 21,3130 00006 EXTEND
039894,000423: 21,3131 63204 BZMF LVMINLM
039895,000424: 21,3132 60066 AD ITEMP6
039896,000425: 21,3133 50065 INDEX ITEMP5
039897,000426: 21,3134 61674 AD LATVMETR
039898,000427: 21,3135 00006 EXTEND
Page 905 |
039900,000429: 21,3136 63204 BZMF LVMINLM
039901,000430: 21,3137 50065 INDEX ITEMP5
039902,000431: 21,3140 61676 AD LATVEL
039903,000432: 21,3141 00006 EXTEND
039904,000433: 21,3142 50065 INDEX ITEMP5
039905,000434: 21,3143 61674 SU LATVMETR
039906,000435: 21,3144 13210 TCF ZEROLSTY
039907,000436: 21,3145 50065 LATVPOS INDEX ITEMP5
039908,000437: 21,3146 41676 CS LATVEL
039909,000438: 21,3147 00006 EXTEND
039910,000439: 21,3150 63204 BZMF LVMINLM
039911,000440: 21,3151 13156 TCF +5
039912,000441: 21,3152 50065 LATVNEG INDEX ITEMP5
039913,000442: 21,3153 31676 CA LATVEL
039914,000443: 21,3154 00006 EXTEND
039915,000444: 21,3155 63204 BZMF LVMINLM
039916,000445: 21,3156 50065 INDEX ITEMP5
039917,000446: 21,3157 41674 CS LATVMETR
039918,000447: 21,3160 13210 TCF ZEROLSTY
039919,000448: 21,3161 50065 NEGLMLV INDEX ITEMP5
039920,000449: 21,3162 31676 CA LATVEL
039921,000450: 21,3163 00006 EXTEND
039922,000451: 21,3164 63204 BZMF LVMINLM
039923,000452: 21,3165 32005 CA MAXVBITS
039924,000453: 21,3166 50065 INDEX ITEMP5
039925,000454: 21,3167 61674 AD LATVMETR
039926,000455: 21,3170 40000 COM
039927,000456: 21,3171 50065 INDEX ITEMP5
039928,000457: 21,3172 61676 AD LATVEL
039929,000458: 21,3173 00006 EXTEND
039930,000459: 21,3174 63204 BZMF LVMINLM
039931,000460: 21,3175 00006 EXTEND
039932,000461: 21,3176 50065 INDEX ITEMP5
039933,000462: 21,3177 61676 SU LATVEL
039934,000463: 21,3200 50065 INDEX ITEMP5
039935,000464: 21,3201 61674 AD LATVMETR
039936,000465: 21,3202 40000 COM
039937,000466: 21,3203 13210 TCF ZEROLSTY
039938,000467: 21,3204 50065 LVMINLM INDEX ITEMP5
039939,000468: 21,3205 41674 CS LATVMETR
039940,000469: 21,3206 50065 INDEX ITEMP5
039941,000470: 21,3207 61676 AD LATVEL
039942,000471: 21,3210 50065 ZEROLSTY INDEX ITEMP5
039943,000472: 21,3211 56072 XCH RUPTREG3
039944,000473: 21,3212 34755 CAF ZERO
039945,000474: 21,3213 50065 INDEX ITEMP5
039946,000475: 21,3214 55700 TS TRAKLATV
039947,000476: 21,3215 50065 INDEX ITEMP5
039948,000477: 21,3216 30072 CA RUPTREG3
039949,000478: 21,3217 64754 AD NEG0 # AVOIDS +0 DINC HARDWARE MALFUNCTION
Page 906 |
039951,000480: 21,3220 50065 INDEX ITEMP5
039952,000481: 21,3221 54053 TS CDUTCMD
039953,000482: 21,3222 50065 INDEX ITEMP5
039954,000483: 21,3223 30072 CA RUPTREG3
039955,000484: 21,3224 50065 INDEX ITEMP5
039956,000485: 21,3225 27674 ADS LATVMETR
039957,000486: 21,3226 10065 CCS ITEMP5 # FIRST MONITOR FORWARD THEN LATERAL VEL.
039958,000487: 21,3227 13004 TCF VMONITOR
039959,000488:
039960,000489: 21,3230 35020 CAF BITSET # DRIVE THE X-POINTER DISPLAY.
039961,000490: 21,3231 00006 EXTEND
039962,000491: 21,3232 05014 WOR CHAN14
039963,000492: 21,3233 01712 TC LADQSAVE # GO TO ALTROUT +1 OR TO ALTOUT +1
039964,000493: 21,3234 34755 ZERODATA CAF ZERO # ZERO ALTSAVE AND ALTSAVE +1 - - -
039965,000494: 21,3235 54001 TS L # NO NEGATIVE ALTITUDES ALLOWED.
039966,000495: 21,3236 12454 TCF ZDATA2
039967,000496:
039968,000497: # ************************************************************************
039969,000498:
039970,000499: 21,3237 40074 DISPRSET CS FLAGWRD0 # ARE WE IN DESCENT TRAJECTORY?
039971,000500: 21,3240 74752 MASK R10FLBIT
039972,000501: 21,3241 00006 EXTEND
039973,000502: 21,3242 13253 BZF ABORTON # NO.
039974,000503: 21,3243 34744 CAF BIT8 # YES.
039975,000504: 21,3244 71303 MASK IMODES33 # CHECK IF INERTIAL DATA JUST DISPLAYED.
039976,000505: 21,3245 10000 CCS A
039977,000506: 21,3246 34752 CAF BIT2 # YES. DISABLE RR ERROR COUNTER
039978,000507: 21,3247 64744 AD BIT8 # NO. REMOVE DISPLAY INERTIAL DATA
039979,000508: 21,3250 40000 COM
039980,000509: 21,3251 00006 EXTEND
039981,000510: 21,3252 03012 WAND CHAN12
039982,000511: 21,3253 43262 ABORTON CS BITS8/7 # RESET INERTIAL DATA, INTERLEAVE FLAGS.
039983,000512: 21,3254 71303 MASK IMODES33
039984,000513: 21,3255 55303 TS IMODES33
039985,000514: 21,3256 44736 CS DIDFLBIT
039986,000515: 21,3257 70075 MASK FLAGWRD1
039987,000516: 21,3260 54075 TS FLAGWRD1 # RESET DIDFLAG.
039988,000517: 21,3261 15261 TCF TASKOVER
039989,000518:
039990,000519: # ************************************************************************
039991,000520:
039992,000521: 21,3262 00300 BITS8/7 OCT 00300 # INERTIAL DATA AND INTERLEAVE FLAGS.
039993,000522: 21,3263 5020 BITSET = PRIO6
039994,000523:
039995,000524: # ************************************************************************
039996,000525:
039997,000526:
End of include-file LANDING_ANALOG_DISPLAYS.agc. Parent file is MAIN.agc