Source Code
This source code is very close to the Apollo Guidance Computer software for the
Apollo 13 Lunar module. This revision of the Luminary 131 program is from December
of 1969, whereas there was a later revision in January of 1970, and still another
revision in February, which is the code that flew on the mission.
As far as this transcription is concerned, it was originally from a copy made in 1991 of
a printout from the collection of AGC developer Don Eyles for collector David Craig.
It was subsequently scanned by Gary Neff, reprocessed for online
presentation at the now-discontinued History of Recent Science and Technology (HRST) website
of MIT's Dibner Institute (the full-quality scans being discarded in the process),
and finally transcribed by Ron Burkey for the Virtual AGC Project. Although a
high-quality replacement scan for a completely illegible page was later provided by Gary
Neff, the reduced legibility of the reprocessed HRST posting nevertheless caused many
errors to be introduced into the transcription. Accordingly, a second scan of the same physical
printout was made in 2017 for the Virtual AGC Project's collection at the Internet Archive,
and used to correct the transcription errors. All of the scanned materials mentioned,
as well as other Luminary 131 related material, are available online.
Don Eyles apprently made additional hand-written notes in printout between 1991 and 2017,
so the two scans are not identical in that respect. The page-headings in the printout read, in part:GAP: ASSEMBLE REVISION 131 OF AGC PROGRAM LUMINARY BY NASA 2021112-091 17:53 DEC. 19, 1969Note that the date is the date the printout was made, not the date on which the program revision was released, although these happen to be very close together. |
038262,000002: ## Copyright: Public domain.
038263,000003: ## Filename: LANDING_ANALOG_DISPLAYS.agc
038264,000004: ## Purpose: A section of Luminary 1C, revision 131.
038265,000005: ## It is part of the source code for the Lunar Module's (LM)
038266,000006: ## Apollo Guidance Computer (AGC) for Apollo 13.
038267,000007: ## This file is intended to be a faithful transcription, except
038268,000008: ## that the code format has been changed to conform to the
038269,000009: ## requirements of the yaYUL assembler rather than the
038270,000010: ## original YUL assembler.
038271,000011: ## Reference: pp. 891-901
038272,000012: ## Contact: Ron Burkey <info@sandroid.org>.
038273,000013: ## Website: www.ibiblio.org/apollo/index.html
038274,000014: ## Mod history: 05/28/03 RSB. Began transcribing.
038275,000015: ## 05/14/05 RSB Corrected website reference above.
038276,000016: ## 2017-01-06 RSB Page numbers now agree with those on the
038277,000017: ## original harcopy, as opposed to the PDF page
038278,000018: ## numbers in 1701.pdf.
038279,000019: ## 2017-02-26 RSB Proofed comment text using octopus/ProoferComments.
038280,000020: ## 2017-03-01 RSB Fixed lingering typos.
038281,000021: ## 2021-05-30 ABS LADFWDV -> LATFWDV
038282,000022:
Page 891 |
038284,000024: 21,2145 BANK 21
038285,000025: 21,2000 SETLOC R10
038286,000026: 21,2000 BANK
038287,000027:
038288,000028: 21,2145 E7,1536 EBANK= UNIT/R/
038289,000029: 21,2145 COUNT* $$/R10
038290,000030:
038291,000031: 21,2145 23714 LANDISP LXCH PIPCTR1 # UPDATE TBASE2 AND PIPCTR SIMULTANEOUSLY.
038292,000032: 21,2146 40025 CS TIME1
038293,000033: 21,2147 53055 DXCH TBASE2
038294,000034:
038295,000035: 21,2150 40103 CS FLAGWRD7 # IS LANDING ANALOG DISPLAYS FLAG SET?
038296,000036: 21,2151 74741 MASK SWANDBIT
038297,000037: 21,2152 10000 CCS A
038298,000038: 21,2153 13052 TCF DISPRSET # NO.
038299,000039: 21,2154 31300 CA IMODES33 # BIT 7 = 0 (DO ALTRATE), =1 (DO ALT.)
038300,000040: 21,2155 74745 MASK BIT7
038301,000041: 21,2156 10000 CCS A
038302,000042: 21,2157 12231 TCF ALTOUT
038303,000043: 21,2160 02315 ALTROUT TC DISINDAT # CHECK MODE SELECT SWITCH AND DIDFLG.
038304,000044: 21,2161 41300 CS IMODES33
038305,000045: 21,2162 74745 MASK BIT7
038306,000046: 21,2163 27300 ADS IMODES33 # ALTERNATE ALTITUDE RATE WITH ALTITUDE.
038307,000047: 21,2164 34752 CAF BIT2 # RATE COMMAND IS EXECUTED BEFORE RANGE.
038308,000048: 21,2165 00006 EXTEND
038309,000049: 21,2166 05014 WOR CHAN14 # ALTRATE (BIT2 = 1), ALTITUDE (BIT2 = 0).
038310,000050: 21,2167 31743 ARCOMP CA RUNIT # COMPUTE ALTRATE = RUNIT.VVECT M/CS *2(-6).
038311,000051: 21,2170 00006 EXTEND
038312,000052: 21,2171 71706 MP VVECT # MULTIPLY X-COMPONENTS.
038313,000053: 21,2172 56070 XCH RUPTREG1 # SAVE SINGLE PRECISION RESULT M/CS*2(-6).
038314,000054: 21,2173 31744 CA RUNIT +1 # MULTIPLY Y-COMPONENTS.
038315,000055: 21,2174 00006 EXTEND
038316,000056: 21,2175 71707 MP VVECT +1
038317,000057: 21,2176 26070 ADS RUPTREG1 # ACCUMULATE PARTIAL PRODUCTS.
038318,000058: 21,2177 31745 CA RUNIT +2 # MULTIPLY Z-COMPONENTS.
038319,000059: 21,2200 00006 EXTEND
038320,000060: 21,2201 71710 MP VVECT +2
038321,000061: 21,2202 26070 ADS RUPTREG1 # ALTITUDE RATE IN M/CS *2(-6).
038322,000062: 21,2203 32000 CA ARCONV # CONVERT ALTRATE TO BIT UNITS (.5FPS/BIT)
038323,000063: 21,2204 00006 EXTEND
038324,000064: 21,2205 70070 MP RUPTREG1
038325,000065: 21,2206 20001 DDOUBL
038326,000066: 21,2207 20001 DDOUBL
038327,000067: 21,2210 56070 XCH RUPTREG1 # ALTITUDE RATE IN BIT UNITS*2(-14).
038328,000068: 21,2211 31716 CA DALTRATE # ALTITUDE RATE COMPENSATION FACTOR.
038329,000069: 21,2212 00006 EXTEND
038330,000070: 21,2213 71715 MP DT
038331,000071: 21,2214 60070 AD RUPTREG1
038332,000072: 21,2215 55711 TS ALTRATE # ALTITUDE RATE IN BIT UNITS*2(-14).
038333,000073: 21,2216 41711 CS ALTRATE
Page 892 |
038335,000075: 21,2217 00006 EXTEND # CHECK POLARITY OF ALTITUDE RATE.
038336,000076: 21,2220 62222 BZMF +2
038337,000077: 21,2221 12224 TCF DATAOUT # NEGATIVE - SEND POS. PULSES TO ALTM REG.
038338,000078: 21,2222 31711 CA ALTRATE # POSITIVE OR ZERO - SET SIGN BIT = 1 AND
038339,000079: 21,2223 64735 AD BIT15 # SEND TO ALTM REGISTER. *DO NOT SEND +0*
038340,000080: 21,2224 54060 DATAOUT TS ALTM # ACTIVATE THE LANDING ANALOG DISPLAYS - -
038341,000081: 21,2225 34751 CAF BIT3
038342,000082: 21,2226 00006 EXTEND
038343,000083: 21,2227 05014 WOR CHAN14 # BIT3 DRIVES THE ALT/ALTRATE METER.
038344,000084: 21,2230 15261 TCF TASKOVER # EXIT
038345,000085:
038346,000086: 21,2231 02315 ALTOUT TC DISINDAT # CHECK MODE SELECT SWITCH AND DIDFLG.
038347,000087: 21,2232 44745 CS BIT7
038348,000088: 21,2233 71300 MASK IMODES33
038349,000089: 21,2234 55300 TS IMODES33 # ALTERNATE ALTITUDE RATE WITH ALTITUDE.
038350,000090: 21,2235 44752 CS BIT2
038351,000091: 21,2236 00006 EXTEND
038352,000092: 21,2237 03014 WAND CHAN14
038353,000093: 21,2240 11741 CCS ALTBITS # = -1 IF OLD ALT. DATA TO BE EXTRAPOLATED.
038354,000094: 21,2241 12245 TCF +4
038355,000095: 21,2242 12245 TCF +3
038356,000096: 21,2243 12263 TCF OLDDATA
038357,000097: 21,2244 55741 TS ALTBITS # SET ALTBITS FROM -0 TO +0.
038358,000098: 21,2245 44753 CS ONE
038359,000099: 21,2246 53742 DXCH ALTBITS # SET ALTBITS = -1 FOR SWITCH USE NEXT PASS.
038360,000100: 21,2247 53713 DXCH ALTSAVE
038361,000101: 21,2250 34742 CA BIT10 # NEW ALTITUDE EXTRAPOLATION WITH ALTRATE.
038362,000102: 21,2251 56002 XCH Q
038363,000103: 21,2252 22007 LXCH 7 # ZL
038364,000104: 21,2253 31715 CA DT
038365,000105: 21,2254 00006 EXTEND
038366,000106: 21,2255 10002 DV Q # RESCALE DT*2(-14) TO *2(-9) TIME IN CS.
038367,000107: 21,2256 00006 EXTEND
038368,000108: 21,2257 72002 MP ARTOA2 # .0021322 *2(+8)
038369,000109: 21,2260 12264 TCF OLDDATA +1 # RATE APPLIES FOR DT CS.
038370,000110:
038371,000111: 21,2261 53713 ZDATA2 DXCH ALTSAVE
038372,000112: 21,2262 12304 TCF NEWDATA
038373,000113: 21,2263 32001 OLDDATA CA ARTOA # RATE APPLIES FOR .5 SEC. (4X/SEC. CYCLE)
038374,000114: 21,2264 00006 EXTEND
038375,000115: 21,2265 71711 MP ALTRATE # EXTRAPOLATE WITH ALTITUDE RATE.
038376,000116: 21,2266 20001 DDOUBL
038377,000117: 21,2267 61713 AD ALTSAVE +1
038378,000118: 21,2270 55713 TS ALTSAVE +1
038379,000119: 21,2271 34755 CAF ZERO
038380,000120: 21,2272 27712 ADS ALTSAVE
038381,000121: 21,2273 34733 CAF POSMAX # FORCE SIGN AGREEMENT ASSUMING A
038382,000122: 21,2274 64753 AD ONE # NON-NEGATIVE ALTSAVE.
038383,000123: 21,2275 61713 AD ALTSAVE +1 # IF ALTSAVE IS NEGATIVE, ZERO ALTSAVE
038384,000124: 21,2276 55713 TS ALTSAVE +1 # AND ALTSAVE +1 AT ZERODATA.
Page 893 |
038386,000126: 21,2277 34755 CAF ZERO
038387,000127: 21,2300 64733 AD POSMAX
038388,000128: 21,2301 61712 AD ALTSAVE
038389,000129: 21,2302 55712 TS ALTSAVE # POSSIBLY SKIP TO NEWDATA.
038390,000130: 21,2303 13047 TCF ZERODATA
038391,000131: 21,2304 11713 NEWDATA CCS ALTSAVE +1
038392,000132: 21,2305 12311 TCF +4
038393,000133: 21,2306 12311 TCF +3
038394,000134: 21,2307 34755 CAF ZERO # SET NEGATIVE ALTSAVE +1 TO +0.
038395,000135: 21,2310 55713 TS ALTSAVE +1
038396,000136: 21,2311 11712 CCS ALTSAVE # PROVIDE A 15 BIT UNSIGNED OUTPUT.
038397,000137: 21,2312 34735 CAF BIT15 # THE HI-ORDER PART IS +1 OR +0.
038398,000138: 21,2313 61713 AD ALTSAVE +1
038399,000139: 21,2314 12224 TCF DATAOUT # DISPATCH UNSIGNED BITS TO ALTM REG.
038400,000140: 21,2315 00006 DISINDAT EXTEND
038401,000141: 21,2316 23714 QXCH LADQSAVE # SAVE RETURN TO ALTROUT +1 OR ALTOUT +1
038402,000142: 21,2317 34746 CAF BIT6
038403,000143: 21,2320 00006 EXTEND # WISHETH THE ASTRONAUT THE ANALOG
038404,000144: 21,2321 02030 RAND CHAN30 # DISPLAYS? I.E.,
038405,000145: 21,2322 10000 CCS A # IS THE MODE SELECT SWITCH IN PGNCS?
038406,000146: 21,2323 13052 TCF DISPRSET # NO. ASTRONAUT REQUESTS NO INERTIAL DATA
038407,000147: 21,2324 40075 CS FLAGWRD1 # YES. CHECK STATUS OF DIDFLAG.
038408,000148: 21,2325 74736 MASK DIDFLBIT
038409,000149: 21,2326 00006 EXTEND
038410,000150: 21,2327 12365 BZF SPEEDRUN # SET. PERFORM DATA DISPLAY SEQUENCE.
038411,000151: 21,2330 40075 CS FLAGWRD1 # RESET. PERFORM INITIALIZATION FUNCTIONS.
038412,000152: 21,2331 74736 MASK DIDFLBIT
038413,000153: 21,2332 26075 ADS FLAGWRD1 # SET DIDFLAG.
038414,000154: 21,2333 44745 CS BIT7
038415,000155: 21,2334 71300 MASK IMODES33 # TO DISPLAY ALTRATE FIRST AND ALT. SECOND
038416,000156: 21,2335 55300 TS IMODES33
038417,000157: 21,2336 40074 CS FLAGWRD0 # ARE WE IN DESCENT TRAJECTORY?
038418,000158: 21,2337 74752 MASK R10FLBIT
038419,000159: 21,2340 00006 EXTEND
038420,000160: 21,2341 15261 BZF TASKOVER # NO
038421,000161: 21,2342 34744 CAF BIT8 # YES.
038422,000162: 21,2343 00006 EXTEND
038423,000163: 21,2344 05012 WOR CHAN12 # SET DISPLAY INERTIAL DATA OUTBIT.
038424,000164: 21,2345 34755 CAF ZERO
038425,000165: 21,2346 55702 TS TRAKLATV # LATERAL VELOCITY MONITOR FLAG
038426,000166: 21,2347 55703 TS TRAKFWDV # FORWARD VELOCITY MONITOR FLAG
038427,000167: 21,2350 55676 TS LATVMETR # LATVEL MONITOR METER
038428,000168: 21,2351 55677 TS FORVMETR # FORVEL MONITOR METER
038429,000169: 21,2352 34750 CAF BIT4
038430,000170: 21,2353 05173 TC TWIDDLE
038431,000171: 21,2354 02356 ADRES INTLZE
038432,000172: 21,2355 15261 TCF TASKOVER
038433,000173: 21,2356 34752 INTLZE CAF BIT2
038434,000174: 21,2357 00006 EXTEND
038435,000175: 21,2360 05012 WOR CHAN12 # ENABLE RR ERROR COUNTER.
Page 894 |
038437,000177: 21,2361 41300 CS IMODES33
038438,000178: 21,2362 74744 MASK BIT8
038439,000179: 21,2363 27300 ADS IMODES33 # SET INERTIAL DATA FLAG.
038440,000180: 21,2364 15261 TCF TASKOVER
038441,000181:
038442,000182: 21,2365 41234 SPEEDRUN CS PIPTIME +1 # UPDATE THE VELOCITY VECTOR
038443,000183: 21,2366 60025 AD TIME1 # COMPUTE T - TN
038444,000184: 21,2367 64736 AD HALF # CORRECT FOR POSSIBLE OVERFLOW OF TIME1.
038445,000185: 21,2370 64736 AD HALF
038446,000186: 21,2371 57715 XCH DT # SAVE FOR LATER USE
038447,000187: 21,2372 34777 CA 1SEC
038448,000188: 21,2373 54065 TS ITEMP5 # INITIALIZE FOR DIVISION LATER
038449,000189: 21,2374 00006 EXTEND
038450,000190: 21,2375 31236 DCA GDT/2 # COMPUTE THE X-COMPONENT OF VELOCITY.
038451,000191: 21,2376 20001 DDOUBL
038452,000192: 21,2377 20001 DDOUBL
038453,000193: 21,2400 00006 EXTEND
038454,000194: 21,2401 71715 MP DT
038455,000195: 21,2402 00006 EXTEND
038456,000196: 21,2403 10065 DV ITEMP5
038457,000197: 21,2404 57706 XCH VVECT # VVECT = G(T-TN) M/CS *2(-5)
038458,000198: 21,2405 00006 EXTEND
038459,000199: 21,2406 31527 DCA V # M/CS *2(-7)
038460,000200: 21,2407 20001 DDOUBL # RESCALE TO 2(-5)
038461,000201: 21,2410 20001 DDOUBL
038462,000202: 21,2411 27706 ADS VVECT # VVECT = VN + G(T-TN) M/CS *2(-5)
038463,000203: 21,2412 30037 CA PIPAX # DELV CM/SEC *2(-14)
038464,000204: 21,2413 61157 AD PIPATMPX # IN CASE PIPAX HAS BEEN ZEROED
038465,000205: 21,2414 00006 EXTEND
038466,000206: 21,2415 72004 MP KPIP1(5) # DELV M/CS *2(-5)
038467,000207: 21,2416 27706 ADS VVECT # VVECT = VN + DELV + GN(T-TN) M/CS *2(-5)
038468,000208: 21,2417 00006 EXTEND
038469,000209: 21,2420 31240 DCA GDT/2 +2 # COMPUTE THE Y-COMPONENT OF VELOCITY.
038470,000210: 21,2421 20001 DDOUBL
038471,000211: 21,2422 20001 DDOUBL
038472,000212: 21,2423 00006 EXTEND
038473,000213: 21,2424 71715 MP DT
038474,000214: 21,2425 00006 EXTEND
038475,000215: 21,2426 10065 DV ITEMP5
038476,000216: 21,2427 57707 XCH VVECT +1
038477,000217: 21,2430 00006 EXTEND
038478,000218: 21,2431 31531 DCA V +2
038479,000219: 21,2432 20001 DDOUBL
038480,000220: 21,2433 20001 DDOUBL
038481,000221: 21,2434 27707 ADS VVECT +1
038482,000222: 21,2435 30040 CA PIPAY
038483,000223: 21,2436 61160 AD PIPATMPY
038484,000224: 21,2437 00006 EXTEND
038485,000225: 21,2440 72004 MP KPIP1(5)
038486,000226: 21,2441 27707 ADS VVECT +1
Page 895 |
038488,000228: 21,2442 00006 EXTEND
038489,000229: 21,2443 31242 DCA GDT/2 +4 # COMPUTE THE Z-COMPONENT OF VELOCITY.
038490,000230: 21,2444 20001 DDOUBL
038491,000231: 21,2445 20001 DDOUBL
038492,000232: 21,2446 00006 EXTEND
038493,000233: 21,2447 71715 MP DT
038494,000234: 21,2450 00006 EXTEND
038495,000235: 21,2451 10065 DV ITEMP5
038496,000236: 21,2452 57710 XCH VVECT +2
038497,000237: 21,2453 00006 EXTEND
038498,000238: 21,2454 31533 DCA V +4
038499,000239: 21,2455 20001 DDOUBL
038500,000240: 21,2456 20001 DDOUBL
038501,000241: 21,2457 27710 ADS VVECT +2
038502,000242: 21,2460 30041 CA PIPAZ
038503,000243: 21,2461 61161 AD PIPATMPZ
038504,000244: 21,2462 00006 EXTEND
038505,000245: 21,2463 72004 MP KPIP1(5)
038506,000246: 21,2464 27710 ADS VVECT +2
038507,000247:
038508,000248: 21,2465 34751 CAF BIT3 # PAUSE 40 MS TO LET OTHER RUPTS IN.
038509,000249: 21,2466 05224 TC VARDELAY
038510,000250:
038511,000251: 21,2467 40074 CS FLAGWRD0 # ARE WE IN DESCENT TRAJECTORY?
038512,000252: 21,2470 74752 MASK R10FLBIT
038513,000253: 21,2471 10000 CCS A
038514,000254: 21,2472 12474 TCF +2 # YES.
038515,000255: 21,2473 01714 TC LADQSAVE # NO.
038516,000256:
038517,000257: 21,2474 34752 CAF BIT2 # CHECK TO SEE IF RR ERROR COUNTERS
038518,000258: 21,2475 00006 EXTEND # ARE ENABLED.
038519,000259: 21,2476 02012 RAND CHAN12
038520,000260: 21,2477 10000 CCS A # IF NOT.
038521,000261: 21,2500 12502 TCF +2
038522,000262: 21,2501 13052 TCF DISPRSET # RE-INITIALIZE LANDING ANALOG DISPLAYS
038523,000263:
038524,000264: 21,2502 31733 CA DELVS # HI X OF VELOCITY CORRECTION TERM.
038525,000265: 21,2503 61706 AD VVECT # HI X OF UPDATED VELOCITY VECTOR.
038526,000266: 21,2504 54061 TS ITEMP1 # = VX - DVX M/CS *2(-5).
038527,000267: 21,2505 31735 CA DELVS +2 # Y
038528,000268: 21,2506 61707 AD VVECT +1 # Y
038529,000269: 21,2507 54062 TS ITEMP2 # = VY - DVY M/CS *2(-5).
038530,000270: 21,2510 31737 CA DELVS +4 # Z
038531,000271: 21,2511 61710 AD VVECT +2 # Z
038532,000272: 21,2512 54063 TS ITEMP3 # = VZ - DVZ M/CS *2(-5).
038533,000273: 21,2513 30061 CA ITEMP1 # COMPUTE VHY, VELOCITY DIRECTED ALONG THE
038534,000274: 21,2514 00006 EXTEND # Y-COORDINATE.
038535,000275: 21,2515 71717 MP UHYP # HI X OF CROSS-RANGE HALF-UNIT VECTOR.
038536,000276: 21,2516 56070 XCH RUPTREG1
038537,000277: 21,2517 30062 CA ITEMP2
Page 896 |
038539,000279: 21,2520 00006 EXTEND
038540,000280: 21,2521 71721 MP UHYP +2 # Y
038541,000281: 21,2522 26070 ADS RUPTREG1 # ACCUMULATE PARTIAL PRODUCTS.
038542,000282: 21,2523 30063 CA ITEMP3
038543,000283: 21,2524 00006 EXTEND
038544,000284: 21,2525 71723 MP UHYP +4 # Z
038545,000285: 21,2526 26070 ADS RUPTREG1
038546,000286: 21,2527 30070 CA RUPTREG1
038547,000287: 21,2530 60000 DOUBLE
038548,000288: 21,2531 57704 XCH VHY # VHY=VMP.UHYP M/CS*2(-5).
038549,000289: 21,2532 30061 CA ITEMP1 # NOW COMPUTE VHZ, VELOCITY DIRECTED ALONG
038550,000290: 21,2533 00006 EXTEND # THE Z-COORDINATE.
038551,000291: 21,2534 71725 MP UHZP # HI X OF DOWN-RANGE HALF-UNIT VECTOR.
038552,000292: 21,2535 56070 XCH RUPTREG1
038553,000293: 21,2536 30062 CA ITEMP2
038554,000294: 21,2537 00006 EXTEND
038555,000295: 21,2540 71727 MP UHZP +2 # Y
038556,000296: 21,2541 26070 ADS RUPTREG1 # ACCUMULATE PARTIAL PRODUCTS.
038557,000297: 21,2542 30063 CA ITEMP3
038558,000298: 21,2543 00006 EXTEND
038559,000299: 21,2544 71731 MP UHZP +4 # Z
038560,000300: 21,2545 26070 ADS RUPTREG1
038561,000301: 21,2546 30070 CA RUPTREG1
038562,000302: 21,2547 60000 DOUBLE
038563,000303: 21,2550 57705 XCH VHZ # VHZ = VMP.UHZP M/CS*2(-5).
038564,000304: 21,2551 35015 GET22/32 CAF EBANK6 # GET SIN(AOG),COS(AOG) FROM GPMATRIX.
038565,000305: 21,2552 54003 TS EBANK
038566,000306: 21,2553 E6,1417 EBANK= M22
038567,000307: 21,2553 31417 CA M22
038568,000308: 21,2554 54063 TS ITEMP3
038569,000309: 21,2555 31420 CA M32
038570,000310: 21,2556 54064 TS ITEMP4
038571,000311: 21,2557 35016 CAF EBANK7
038572,000312: 21,2560 54003 TS EBANK
038573,000313: 21,2561 E7,1536 EBANK= UNIT/R/
038574,000314: 21,2561 30064 LATFWDV CA ITEMP4 # COMPUTE LATERAL AND FORWARD VELOCITIES.
038575,000315: 21,2562 00006 EXTEND
038576,000316: 21,2563 71704 MP VHY
038577,000317: 21,2564 56070 XCH RUPTREG1
038578,000318: 21,2565 30063 CA ITEMP3
038579,000319: 21,2566 00006 EXTEND
038580,000320: 21,2567 71705 MP VHZ
038581,000321: 21,2570 26070 ADS RUPTREG1 # = VHY(COS)AOG+VHZ(SIN)AOG M/CS *2(-5)
038582,000322: 21,2571 32003 CA VELCONV # CONVERT LATERAL VELOCITY TO BIT UNITS.
038583,000323: 21,2572 00006 EXTEND
038584,000324: 21,2573 70070 MP RUPTREG1
038585,000325: 21,2574 20001 DDOUBL
038586,000326: 21,2575 57700 XCH LATVEL # LATERAL VELOCITY IN BIT UNITS *2(-14).
038587,000327: 21,2576 30064 CA ITEMP4 # COMPUTE FORWARD VELOCITY.
038588,000328: 21,2577 00006 EXTEND
Page 897 |
038590,000330: 21,2600 71705 MP VHZ
038591,000331: 21,2601 56070 XCH RUPTREG1
038592,000332: 21,2602 30063 CA ITEMP3
038593,000333: 21,2603 00006 EXTEND
038594,000334: 21,2604 71704 MP VHY
038595,000335: 21,2605 40000 CS A
038596,000336: 21,2606 26070 ADS RUPTREG1 # =VHZ(COS)AOG-VHY(SIN)AOG M/CS *2(-5).
038597,000337: 21,2607 32003 CA VELCONV # CONVERT FORWARD VELOCITY TO BIT UNITS.
038598,000338: 21,2610 00006 EXTEND
038599,000339: 21,2611 70070 MP RUPTREG1
038600,000340: 21,2612 20001 DDOUBL
038601,000341: 21,2613 57701 XCH FORVEL # FORWARD VELOCITY IN BIT UNITS *2(-14).
038602,000342:
038603,000343: 21,2614 42005 CS MAXVBITS # ACC.=-199.9989 FT./SEC.
038604,000344: 21,2615 54066 TS ITEMP6 # -547 BIT UNITS (OCTAL) AT 0.5571 FPS/BIT
038605,000345:
038606,000346: 21,2616 34753 CAF ONE # LOOP TWICE.
038607,000347: 21,2617 54065 VMONITOR TS ITEMP5 # FORWARD AND LATERAL VELOCITY LANDING
038608,000348: 21,2620 50065 INDEX ITEMP5 # ANALOG DISPLAYS MONITOR.
038609,000349: 21,2621 11700 CCS LATVEL
038610,000350: 21,2622 12626 TCF +4
038611,000351: 21,2623 12727 TCF LVLIMITS
038612,000352: 21,2624 12634 TCF +8D
038613,000353: 21,2625 12727 TCF LVLIMITS
038614,000354: 21,2626 50065 INDEX ITEMP5
038615,000355: 21,2627 41700 CS LATVEL
038616,000356: 21,2630 62005 AD MAXVBITS # +199.9989 FT./SEC.
038617,000357: 21,2631 00006 EXTEND
038618,000358: 21,2632 62642 BZMF CHKLASTY
038619,000359: 21,2633 12727 TCF LVLIMITS
038620,000360: 21,2634 50065 INDEX ITEMP5
038621,000361: 21,2635 31700 CA LATVEL
038622,000362: 21,2636 62005 AD MAXVBITS
038623,000363: 21,2637 00006 EXTEND
038624,000364: 21,2640 62642 BZMF +2
038625,000365: 21,2641 12727 TCF LVLIMITS
038626,000366: 21,2642 50065 CHKLASTY INDEX ITEMP5
038627,000367: 21,2643 11676 CCS LATVMETR
038628,000368: 21,2644 12650 TCF +4
038629,000369: 21,2645 12661 TCF LASTOK
038630,000370: 21,2646 12655 TCF +7
038631,000371: 21,2647 12661 TCF LASTOK
038632,000372: 21,2650 50065 INDEX ITEMP5
038633,000373: 21,2651 31700 CA LATVEL
038634,000374: 21,2652 00006 EXTEND
038635,000375: 21,2653 62700 BZMF LASTPOSY +5
038636,000376: 21,2654 12661 TCF +5
038637,000377: 21,2655 50065 INDEX ITEMP5
038638,000378: 21,2656 41700 CS LATVEL
038639,000379: 21,2657 00006 EXTEND
Page 898 |
038641,000381: 21,2660 62715 BZMF LASTNEGY +4
038642,000382: 21,2661 50065 LASTOK INDEX ITEMP5
038643,000383: 21,2662 11702 CCS TRAKLATV
038644,000384: 21,2663 12673 TCF LASTPOSY
038645,000385: 21,2664 12666 TCF +2
038646,000386: 21,2665 12711 TCF LASTNEGY
038647,000387: 21,2666 50065 INDEX ITEMP5
038648,000388: 21,2667 31700 CA LATVEL
038649,000389: 21,2670 00006 EXTEND
038650,000390: 21,2671 62717 BZMF NEGVMAXY
038651,000391: 21,2672 12702 TCF POSVMAXY
038652,000392: 21,2673 50065 LASTPOSY INDEX ITEMP5
038653,000393: 21,2674 31700 CA LATVEL
038654,000394: 21,2675 00006 EXTEND
038655,000395: 21,2676 62700 BZMF +2
038656,000396: 21,2677 12702 TCF POSVMAXY
038657,000397: 21,2700 42005 CS MAXVBITS
038658,000398: 21,2701 13023 TCF ZEROLSTY
038659,000399: 21,2702 50065 POSVMAXY INDEX ITEMP5
038660,000400: 21,2703 41676 CS LATVMETR
038661,000401: 21,2704 62005 AD MAXVBITS
038662,000402: 21,2705 50065 INDEX ITEMP5
038663,000403: 21,2706 56072 XCH RUPTREG3
038664,000404: 21,2707 34753 CAF ONE
038665,000405: 21,2710 13026 TCF ZEROLSTY +3
038666,000406: 21,2711 50065 LASTNEGY INDEX ITEMP5
038667,000407: 21,2712 31700 CA LATVEL
038668,000408: 21,2713 00006 EXTEND
038669,000409: 21,2714 62717 BZMF NEGVMAXY
038670,000410: 21,2715 32005 CA MAXVBITS
038671,000411: 21,2716 13023 TCF ZEROLSTY
038672,000412: 21,2717 50065 NEGVMAXY INDEX ITEMP5
038673,000413: 21,2720 31676 CA LATVMETR
038674,000414: 21,2721 62005 AD MAXVBITS
038675,000415: 21,2722 40000 COM
038676,000416: 21,2723 50065 INDEX ITEMP5
038677,000417: 21,2724 56072 XCH RUPTREG3
038678,000418: 21,2725 44753 CS ONE
038679,000419: 21,2726 13026 TCF ZEROLSTY +3
038680,000420: 21,2727 50065 LVLIMITS INDEX ITEMP5
038681,000421: 21,2730 11702 CCS TRAKLATV
038682,000422: 21,2731 12760 TCF LATVPOS
038683,000423: 21,2732 12734 TCF +2
038684,000424: 21,2733 12765 TCF LATVNEG
038685,000425: 21,2734 50065 INDEX ITEMP5
038686,000426: 21,2735 41676 CS LATVMETR
038687,000427: 21,2736 00006 EXTEND
038688,000428: 21,2737 62741 BZMF +2
038689,000429: 21,2740 12774 TCF NEGLMLV
038690,000430: 21,2741 50065 INDEX ITEMP5
Page 899 |
038692,000432: 21,2742 41700 CS LATVEL
038693,000433: 21,2743 00006 EXTEND
038694,000434: 21,2744 63017 BZMF LVMINLM
038695,000435: 21,2745 60066 AD ITEMP6
038696,000436: 21,2746 50065 INDEX ITEMP5
038697,000437: 21,2747 61676 AD LATVMETR
038698,000438: 21,2750 00006 EXTEND
038699,000439: 21,2751 63017 BZMF LVMINLM
038700,000440: 21,2752 50065 INDEX ITEMP5
038701,000441: 21,2753 61700 AD LATVEL
038702,000442: 21,2754 00006 EXTEND
038703,000443: 21,2755 50065 INDEX ITEMP5
038704,000444: 21,2756 61676 SU LATVMETR
038705,000445: 21,2757 13023 TCF ZEROLSTY
038706,000446: 21,2760 50065 LATVPOS INDEX ITEMP5
038707,000447: 21,2761 41700 CS LATVEL
038708,000448: 21,2762 00006 EXTEND
038709,000449: 21,2763 63017 BZMF LVMINLM
038710,000450: 21,2764 12771 TCF +5
038711,000451: 21,2765 50065 LATVNEG INDEX ITEMP5
038712,000452: 21,2766 31700 CA LATVEL
038713,000453: 21,2767 00006 EXTEND
038714,000454: 21,2770 63017 BZMF LVMINLM
038715,000455: 21,2771 50065 INDEX ITEMP5
038716,000456: 21,2772 41676 CS LATVMETR
038717,000457: 21,2773 13023 TCF ZEROLSTY
038718,000458: 21,2774 50065 NEGLMLV INDEX ITEMP5
038719,000459: 21,2775 31700 CA LATVEL
038720,000460: 21,2776 00006 EXTEND
038721,000461: 21,2777 63017 BZMF LVMINLM
038722,000462: 21,3000 32005 CA MAXVBITS
038723,000463: 21,3001 50065 INDEX ITEMP5
038724,000464: 21,3002 61676 AD LATVMETR
038725,000465: 21,3003 40000 COM
038726,000466: 21,3004 50065 INDEX ITEMP5
038727,000467: 21,3005 61700 AD LATVEL
038728,000468: 21,3006 00006 EXTEND
038729,000469: 21,3007 63017 BZMF LVMINLM
038730,000470: 21,3010 00006 EXTEND
038731,000471: 21,3011 50065 INDEX ITEMP5
038732,000472: 21,3012 61700 SU LATVEL
038733,000473: 21,3013 50065 INDEX ITEMP5
038734,000474: 21,3014 61676 AD LATVMETR
038735,000475: 21,3015 40000 COM
038736,000476: 21,3016 13023 TCF ZEROLSTY
038737,000477: 21,3017 50065 LVMINLM INDEX ITEMP5
038738,000478: 21,3020 41676 CS LATVMETR
038739,000479: 21,3021 50065 INDEX ITEMP5
038740,000480: 21,3022 61700 AD LATVEL
038741,000481: 21,3023 50065 ZEROLSTY INDEX ITEMP5
Page 900 |
038743,000483: 21,3024 56072 XCH RUPTREG3
038744,000484: 21,3025 34755 CAF ZERO
038745,000485: 21,3026 50065 INDEX ITEMP5
038746,000486: 21,3027 55702 TS TRAKLATV
038747,000487: 21,3030 50065 INDEX ITEMP5
038748,000488: 21,3031 30072 CA RUPTREG3
038749,000489: 21,3032 64754 AD NEG0 # AVOIDS +0 DINC HARDWARE MALFUNCTION
038750,000490: 21,3033 50065 INDEX ITEMP5
038751,000491: 21,3034 54053 TS CDUTCMD
038752,000492: 21,3035 50065 INDEX ITEMP5
038753,000493: 21,3036 30072 CA RUPTREG3
038754,000494: 21,3037 50065 INDEX ITEMP5
038755,000495: 21,3040 27676 ADS LATVMETR
038756,000496: 21,3041 10065 CCS ITEMP5 # FIRST MONITOR FORWARD THEN LATERAL VEL.
038757,000497: 21,3042 12617 TCF VMONITOR
038758,000498:
038759,000499: 21,3043 35020 CAF BITSET # DRIVE THE X-POINTER DISPLAY.
038760,000500: 21,3044 00006 EXTEND
038761,000501: 21,3045 05014 WOR CHAN14
038762,000502: 21,3046 01714 TC LADQSAVE # GO TO ALTROUT +1 OR TO ALTOUT +1
038763,000503: 21,3047 34755 ZERODATA CAF ZERO # ZERO ALTSAVE AND ALTSAVE +1 - - -
038764,000504: 21,3050 54001 TS L # NO NEGATIVE ALTITUDES ALLOWED.
038765,000505: 21,3051 12261 TCF ZDATA2
038766,000506:
038767,000507: # ************************************************************************
038768,000508:
038769,000509: 21,3052 40074 DISPRSET CS FLAGWRD0 # ARE WE IN DESCENT TRAJECTORY?
038770,000510: 21,3053 74752 MASK R10FLBIT
038771,000511: 21,3054 00006 EXTEND
038772,000512: 21,3055 13066 BZF ABORTON # NO.
038773,000513: 21,3056 34744 CAF BIT8 # YES.
038774,000514: 21,3057 71300 MASK IMODES33 # CHECK IF INERTIAL DATA JUST DISPLAYED.
038775,000515: 21,3060 10000 CCS A
038776,000516: 21,3061 34752 CAF BIT2 # YES. DISABLE RR ERROR COUNTER
038777,000517: 21,3062 64744 AD BIT8 # NO. REMOVE DISPLAY INERTIAL DATA
038778,000518: 21,3063 40000 COM
038779,000519: 21,3064 00006 EXTEND
038780,000520: 21,3065 03012 WAND CHAN12
038781,000521: 21,3066 43075 ABORTON CS BITS8/7 # RESET INERTIAL DATA, INTERLEAVE FLAGS.
038782,000522: 21,3067 71300 MASK IMODES33
038783,000523: 21,3070 55300 TS IMODES33
038784,000524: 21,3071 44736 CS DIDFLBIT
038785,000525: 21,3072 70075 MASK FLAGWRD1
038786,000526: 21,3073 54075 TS FLAGWRD1 # RESET DIDFLAG.
038787,000527: 21,3074 15261 TCF TASKOVER
038788,000528:
038789,000529: # ************************************************************************
038790,000530:
038791,000531: 21,3075 00300 BITS8/7 OCT 00300 # INERTIAL DATA AND INTERLEAVE FLAGS.
038792,000532: 21,3076 5020 BITSET = PRIO6
038793,000533:
038794,000534: # ************************************************************************
038795,000535:
Page 901 There is no source code on the original program listing. |
038798,000538:
End of include-file LANDING_ANALOG_DISPLAYS.agc. Parent file is MAIN.agc