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