Source Code

This is a reconstruction of the AGC program Luminary 99 Rev 0. It was the second release of the Lunar Module flight software targeted for use in Apollo 11, after Luminary 97. A bug (which had been around since at least Apollo 10, Luminary 69) was discovered in Rev 0 shortly before the Apollo 11 flight, resulting in a last minute revision into Rev 1, which is what actually flew rather than the Rev 0 presented here. A hardcopy of Rev 0 is known to exist — it belonged to AGC developer Allan Klumpp for many years — but unfortunately the Virtual AGC Project has not had access to that hardcopy. Thus the code you see here had been reconstructed (we believe accurately) rather than transcribed. The first step of the reconstruction of the Rev 0 source code was the transcription of the Rev 1 source code from a hardcopy in the MIT Museum collection. The process of reverting the active portion of the source code (i.e., other than program comments) from Rev 1 to Rev 0 was very minor, consisting only of moving the position of the STARTSB1 label in FRESH START AND RESTART. Allan had previously given us the checksums of the memory banks of Rev 0, and we have verified the program presented here has checksums identical to all banks of Allan's listing of Rev 0. The notations on Allan's Rev 0 program listing read, in part:

	GAP:  ASSEMBLE REVISION 099 OF AGC PROGRAM LUMINARY BY NASA 2021112-051

A single program comment is known to differ between Rev 0 and Rev 1, but these are harder to reconstruct and verify than changes to the active portion of the code. Thus it is possible that there are additional differences between the program comments in Rev 0 and Rev 1 that are unknown to us, and therefore are not reflected in the code presented here.

039943,000002:                                                                                                  ## Copyright:   Public domain.
039944,000003:                                                                                                  ## Filename:    LANDING_ANALOG_DISPLAYS.agc
039945,000004:                                                                                                  ## Purpose:     Part of the reconstructed source code for LMY99 Rev 0,
039946,000005:                                                                                                  ##              otherwise known as Luminary Rev 99, the second release
039947,000006:                                                                                                  ##              of the Apollo Guidance Computer (AGC) software for Apollo 11.
039948,000007:                                                                                                  ##              It differs from LMY99 Rev 1 (the flown version) only in the
039949,000008:                                                                                                  ##              placement of a single label. The corrections shown here have
039950,000009:                                                                                                  ##              been verified to have the same bank checksums as AGC developer
039951,000010:                                                                                                  ##              Allan Klumpp's copy of Luminary Rev 99, and so are believed
039952,000011:                                                                                                  ##              to be accurate. This file is intended to be a faithful 
039953,000012:                                                                                                  ##              recreation, except that the code format has been changed to 
039954,000013:                                                                                                  ##              conform to the requirements of the yaYUL assembler rather than 
039955,000014:                                                                                                  ##              the original YUL assembler.
039956,000015:                                                                                                  ##
039957,000016:                                                                                                  ## Assembler:   yaYUL
039958,000017:                                                                                                  ## Reference:   pp. 898-907
039959,000018:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>,
039960,000019:                                                                                                  ##              Fabrizio Bernardini <fabrizio@spacecraft.it>
039961,000020:                                                                                                  ## Website:     http://www.ibiblio.org/apollo.
039962,000021:                                                                                                  ## Mod history: 05/06/09 FB     Transcription Batch 4 Assignment.
039963,000022:                                                                                                  ##              2016-12-17 RSB  Proofed text comments with octopus/ProoferComments
039964,000023:                                                                                                  ##                              and corrected the errors found.
039965,000024:                                                                                                  ##              2017-08-01 MAS  Created from LMY99 Rev 1.
039966,000025: 
039967,000026:                                                                                                  ## This source code has been transcribed or otherwise adapted from
039968,000027:                                                                                                  ## digitized images of a hardcopy from the MIT Museum.  The digitization
039969,000028:                                                                                                  ## was performed by Paul Fjeld, and arranged for by Deborah Douglas of
039970,000029:                                                                                                  ## the Museum.  Many thanks to both.  The images (with suitable reduction
039971,000030:                                                                                                  ## in storage size and consequent reduction in image quality as well) are
039972,000031:                                                                                                  ## available online at www.ibiblio.org/apollo.  If for some reason you
039973,000032:                                                                                                  ## find that the images are illegible, contact me at info@sandroid.org
039974,000033:                                                                                                  ## about getting access to the (much) higher-quality images which Paul
039975,000034:                                                                                                  ## actually created.
039976,000035:                                                                                                  ##
039977,000036:                                                                                                  ## The code has been modified to match LMY99 Revision 0, otherwise
039978,000037:                                                                                                  ## known as Luminary Revision 99, the Apollo 11 software release preceeding
039979,000038:                                                                                                  ## the listing from which it was transcribed. It has been verified to
039980,000039:                                                                                                  ## contain the same bank checksums as AGC developer Allan Klumpp's listing
039981,000040:                                                                                                  ## of Luminary Revision 99 (for which we do not have scans).
039982,000041:                                                                                                  ##
039983,000042:                                                                                                  ## Notations on Allan Klumpp's listing read, in part:
039984,000043:                                                                                                  ##
039985,000044:                                                                                                  ##      ASSEMBLE REVISION 099 OF AGC PROGRAM LUMINARY BY NASA 2021112-51
039986,000045: 

Page 898

039988,000047: 21,2154                                           BANK     21                                    
039989,000048: 21,2000                                           SETLOC   R10                                   
039990,000049: 21,2000                                           BANK                                           
039991,000050: 
039992,000051: 21,2154  E7,1536                                  EBANK=   UNIT/R/                               
039993,000052: 21,2154                                           COUNT*   $$/R10                                
039994,000053: 
039995,000054: 21,2154           23714        LANDISP            LXCH     PIPCTR1                               #  UPDATE TBASE2 AND PIPCTR SIMULTANEOUSLY.
039996,000055: 21,2155           40025                           CS       TIME1                                 
039997,000056: 21,2156           53056                           DXCH     TBASE2                                
039998,000057: 
039999,000058: 21,2157           40103                           CS       FLAGWRD7                              #  IS LANDING ANALOG DISPLAYS FLAG SET?
040000,000059: 21,2160           74741                           MASK     SWANDBIT                              
040001,000060: 21,2161           10000                           CCS      A                                     
040002,000061: 21,2162           13053                           TCF      DISPRSET                              #  NO.
040003,000062: 21,2163           31303                           CA       IMODES33                              #  BIT 7 = 0 (DO ALTRATE), =1 (DO ALT.)
040004,000063: 21,2164           74745                           MASK     BIT7                                  
040005,000064: 21,2165           10000                           CCS      A                                     
040006,000065: 21,2166           12240                           TCF      ALTOUT                                
040007,000066: 21,2167           02324        ALTROUT            TC       DISINDAT                              #  CHECK MODE SELECT SWITCH AND DIDFLG.
040008,000067: 21,2170           41303                           CS       IMODES33                              
040009,000068: 21,2171           74745                           MASK     BIT7                                  
040010,000069: 21,2172           27303                           ADS      IMODES33                              #  ALTERNATE ALTITUDE RATE WITH ALTITUDE.
040011,000070: 21,2173           34752                           CAF      BIT2                                  #  RATE COMMAND IS EXECUTED BEFORE RANGE.
040012,000071: 21,2174           00006                           EXTEND                                         
040013,000072: 21,2175           05014                           WOR      CHAN14                                #  ALTRATE (BIT2 = 1), ALTITUDE (BIT2 = 0).
040014,000073: 21,2176           31743        ARCOMP             CA       RUNIT                                 #  COMPUTE ALTRATE = RUNIT.VVECT M/CS *2(-6).
040015,000074: 21,2177           00006                           EXTEND                                         
040016,000075: 21,2200           71706                           MP       VVECT                                 #  MULTIPLY X-COMPONENTS.
040017,000076: 21,2201           56070                           XCH      RUPTREG1                              #  SAVE SINGLE PRECISION RESULT M/CS*2(-6).
040018,000077: 21,2202           31744                           CA       RUNIT      +1                         #  MULTIPLY Y-COMPONENTS.
040019,000078: 21,2203           00006                           EXTEND                                         
040020,000079: 21,2204           71707                           MP       VVECT      +1                         
040021,000080: 21,2205           26070                           ADS      RUPTREG1                              #  ACCUMULATE PARTIAL PRODUCTS.
040022,000081: 21,2206           31745                           CA       RUNIT      +2                         #  MULTIPLY Z-COMPONENTS.
040023,000082: 21,2207           00006                           EXTEND                                         
040024,000083: 21,2210           71710                           MP       VVECT      +2                         
040025,000084: 21,2211           26070                           ADS      RUPTREG1                              #  ALTITUDE RATE IN M/CS *2(-6).
040026,000085: 21,2212           32000                           CA       ARCONV                                #  CONVERT ALTRATE TO BIT UNITS (.5FPS/BIT)
040027,000086: 21,2213           00006                           EXTEND                                         
040028,000087: 21,2214           70070                           MP       RUPTREG1                              
040029,000088: 21,2215           20001                           DDOUBL                                         
040030,000089: 21,2216           20001                           DDOUBL                                         
040031,000090: 21,2217           56070                           XCH      RUPTREG1                              #  ALTITUDE RATE IN BIT UNITS*2(-14).
040032,000091: 21,2220           31716                           CA       DALTRATE                              #  ALTITUDE RATE COMPENSATION FACTOR.
040033,000092: 21,2221           00006                           EXTEND                                         
040034,000093: 21,2222           71715                           MP       DT                                    
040035,000094: 21,2223           60070                           AD       RUPTREG1                              
040036,000095: 21,2224           55711                           TS       ALTRATE                               #  ALTITUDE RATE IN BIT UNITS*2(-14).
040037,000096: 21,2225           41711                           CS       ALTRATE                               

Page 899

040039,000098: 21,2226           00006                           EXTEND                                         #  CHECK POLARITY OF ALTITUDE RATE.
040040,000099: 21,2227           62231                           BZMF     +2                                    
040041,000100: 21,2230           12233                           TCF      DATAOUT                               #  NEGATIVE - SEND POS. PULSES TO ALTM REG.
040042,000101: 21,2231           31711                           CA       ALTRATE                               #  POSITIVE OR ZERO - SET SIGN BIT = 1 AND
040043,000102: 21,2232           64735                           AD       BIT15                                 #  SEND TO ALTM REGISTER.  *DO NOT SEND +0*
040044,000103: 21,2233           54060        DATAOUT            TS       ALTM                                  #  ACTIVATE THE LANDING ANALOG DISPLAYS - -
040045,000104: 21,2234           34751                           CAF      BIT3                                  
040046,000105: 21,2235           00006                           EXTEND                                         
040047,000106: 21,2236           05014                           WOR      CHAN14                                #  BIT3 DRIVES THE ALT/ALTRATE METER.
040048,000107: 21,2237           15261                           TCF      TASKOVER                              #  EXIT
040049,000108: 
040050,000109: 21,2240           02324        ALTOUT             TC       DISINDAT                              #  CHECK MODE SELECT SWITCH AND DIDFLG.
040051,000110: 21,2241           44745                           CS       BIT7                                  
040052,000111: 21,2242           71303                           MASK     IMODES33                              
040053,000112: 21,2243           55303                           TS       IMODES33                              #  ALTERNATE ALTITUDE RATE WITH ALTITUDE.
040054,000113: 21,2244           44752                           CS       BIT2                                  
040055,000114: 21,2245           00006                           EXTEND                                         
040056,000115: 21,2246           03014                           WAND     CHAN14                                
040057,000116: 21,2247           11741                           CCS      ALTBITS                               #  = -1 IF OLD ALT. DATA TO BE EXTRAPOLATED.
040058,000117: 21,2250           12254                           TCF      +4                                    
040059,000118: 21,2251           12254                           TCF      +3                                    
040060,000119: 21,2252           12272                           TCF      OLDDATA                               
040061,000120: 21,2253           55741                           TS       ALTBITS                               #  SET ALTBITS FROM -0 TO +0.
040062,000121: 21,2254           44753                           CS       ONE                                   
040063,000122: 21,2255           53742                           DXCH     ALTBITS                               #  SET ALTBITS = -1 FOR SWITCH USE NEXT PASS.
040064,000123: 21,2256           53713                           DXCH     ALTSAVE                               
040065,000124: 21,2257           34742                           CA       BIT10                                 #  NEW ALTITUDE EXTRAPOLATION WITH ALTRATE.
040066,000125: 21,2260           56002                           XCH      Q                                     
040067,000126: 21,2261           22007                           LXCH     7                                     #  ZL
040068,000127: 21,2262           31715                           CA       DT                                    
040069,000128: 21,2263           00006                           EXTEND                                         
040070,000129: 21,2264           10002                           DV       Q                                     #  RESCALE DT*2(-14) TO *2(-9) TIME IN CS.
040071,000130: 21,2265           00006                           EXTEND                                         
040072,000131: 21,2266           72002                           MP       ARTOA2                                #  .0021322 *2(+8)
040073,000132: 21,2267           12273                           TCF      OLDDATA    +1                         #  RATE APPLIES FOR DT CS.
040074,000133: 
040075,000134: 21,2270           53713        ZDATA2             DXCH     ALTSAVE                               
040076,000135: 21,2271           12313                           TCF      NEWDATA                               
040077,000136: 21,2272           32001        OLDDATA            CA       ARTOA                                 #  RATE APPLIES FOR .5 SEC. (4X/SEC. CYCLE)
040078,000137: 21,2273           00006                           EXTEND                                         
040079,000138: 21,2274           71711                           MP       ALTRATE                               #  EXTRAPOLATE WITH ALTITUDE RATE.
040080,000139: 21,2275           20001                           DDOUBL                                         
040081,000140: 21,2276           61713                           AD       ALTSAVE    +1                         
040082,000141: 21,2277           55713                           TS       ALTSAVE    +1                         
040083,000142: 21,2300           34755                           CAF      ZERO                                  
040084,000143: 21,2301           27712                           ADS      ALTSAVE                               
040085,000144: 21,2302           34733                           CAF      POSMAX                                #  FORCE SIGN AGREEMENT ASSUMING A
040086,000145: 21,2303           64753                           AD       ONE                                   #  NON-NEGATIVE ALTSAVE.
040087,000146: 21,2304           61713                           AD       ALTSAVE    +1                         #  IF ALTSAVE IS NEGATIVE, ZERO ALTSAVE
040088,000147: 21,2305           55713                           TS       ALTSAVE    +1                         #  AND ALTSAVE +1 AT ZERODATA.

Page 900

040090,000149: 21,2306           34755                           CAF      ZERO                                  
040091,000150: 21,2307           64733                           AD       POSMAX                                
040092,000151: 21,2310           61712                           AD       ALTSAVE                               
040093,000152: 21,2311           55712                           TS       ALTSAVE                               #  POSSIBLY SKIP TO NEWDATA.
040094,000153: 21,2312           13050                           TCF      ZERODATA                              
040095,000154: 21,2313           11713        NEWDATA            CCS      ALTSAVE    +1                         
040096,000155: 21,2314           12320                           TCF      +4                                    
040097,000156: 21,2315           12320                           TCF      +3                                    
040098,000157: 21,2316           34755                           CAF      ZERO                                  #  SET NEGATIVE ALTSAVE +1 TO +0.
040099,000158: 21,2317           55713                           TS       ALTSAVE    +1                         
040100,000159: 21,2320           11712                           CCS      ALTSAVE                               #  PROVIDE A 15 BIT UNSIGNED OUTPUT.
040101,000160: 21,2321           34735                           CAF      BIT15                                 #  THE HI-ORDER PART IS +1 OR +0.
040102,000161: 21,2322           61713                           AD       ALTSAVE    +1                         
040103,000162: 21,2323           12233                           TCF      DATAOUT                               #  DISPATCH UNSIGNED BITS TO ALTM REG.
040104,000163: 21,2324           00006        DISINDAT           EXTEND                                         
040105,000164: 21,2325           23714                           QXCH     LADQSAVE                              #  SAVE RETURN TO ALTROUT +1 OR ALTOUT +1
040106,000165: 21,2326           34746                           CAF      BIT6                                  
040107,000166: 21,2327           00006                           EXTEND                                         #  WISHETH THE ASTRONAUT THE ANALOG
040108,000167: 21,2330           02030                           RAND     CHAN30                                #  DISPLAYS?  I.E.,
040109,000168: 21,2331           10000                           CCS      A                                     #  IS THE MODE SELECT SWITCH IN PGNCS?
040110,000169: 21,2332           13053                           TCF      DISPRSET                              #  NO.  ASTRONAUT REQUESTS NO INERTIAL DATA
040111,000170: 21,2333           40075                           CS       FLAGWRD1                              #  YES.  CHECK STATUS OF DIDFLAG.
040112,000171: 21,2334           74736                           MASK     DIDFLBIT                              
040113,000172: 21,2335           00006                           EXTEND                                         
040114,000173: 21,2336           12374                           BZF      SPEEDRUN                              #  SET.  PERFORM DATA DISPLAY SEQUENCE.
040115,000174: 21,2337           40075                           CS       FLAGWRD1                              #  RESET.  PERFORM INITIALIZATION FUNCTIONS.
040116,000175: 21,2340           74736                           MASK     DIDFLBIT                              
040117,000176: 21,2341           26075                           ADS      FLAGWRD1                              #  SET DIDFLAG.
040118,000177: 21,2342           44745                           CS       BIT7                                  
040119,000178: 21,2343           71303                           MASK     IMODES33                              #  TO DISPLAY ALTRATE FIRST AND ALT. SECOND
040120,000179: 21,2344           55303                           TS       IMODES33                              
040121,000180: 21,2345           40074                           CS       FLAGWRD0                              #  ARE WE IN DESCENT TRAJECTORY?
040122,000181: 21,2346           74752                           MASK     R10FLBIT                              
040123,000182: 21,2347           00006                           EXTEND                                         
040124,000183: 21,2350           15261                           BZF      TASKOVER                              #  NO
040125,000184: 21,2351           34744                           CAF      BIT8                                  #  YES.
040126,000185: 21,2352           00006                           EXTEND                                         
040127,000186: 21,2353           05012                           WOR      CHAN12                                #  SET DISPLAY INERTIAL DATA OUTBIT.
040128,000187: 21,2354           34755                           CAF      ZERO                                  
040129,000188: 21,2355           55702                           TS       TRAKLATV                              #  LATERAL VELOCITY MONITOR FLAG
040130,000189: 21,2356           55703                           TS       TRAKFWDV                              #  FORWARD VELOCITY MONITOR FLAG
040131,000190: 21,2357           55676                           TS       LATVMETR                              #  LATVEL MONITOR METER
040132,000191: 21,2360           55677                           TS       FORVMETR                              #  FORVEL MONITOR METER
040133,000192: 21,2361           34750                           CAF      BIT4                                  
040134,000193: 21,2362           05173                           TC       TWIDDLE                               
040135,000194: 21,2363           02365                           ADRES    INTLZE                                
040136,000195: 21,2364           15261                           TCF      TASKOVER                              
040137,000196: 21,2365           34752        INTLZE             CAF      BIT2                                  
040138,000197: 21,2366           00006                           EXTEND                                         
040139,000198: 21,2367           05012                           WOR      CHAN12                                #  ENABLE RR ERROR COUNTER.

Page 901

040141,000200: 21,2370           41303                           CS       IMODES33                              
040142,000201: 21,2371           74744                           MASK     BIT8                                  
040143,000202: 21,2372           27303                           ADS      IMODES33                              #  SET INERTIAL DATA FLAG.
040144,000203: 21,2373           15261                           TCF      TASKOVER                              
040145,000204: 
040146,000205: 21,2374           41235        SPEEDRUN           CS       PIPTIME    +1                         #  UPDATE THE VELOCITY VECTOR
040147,000206: 21,2375           60025                           AD       TIME1                                 #  COMPUTE T - TN
040148,000207: 21,2376           64736                           AD       HALF                                  #  CORRECT FOR POSSIBLE OVERFLOW OF TIME1.
040149,000208: 21,2377           64736                           AD       HALF                                  
040150,000209: 21,2400           57715                           XCH      DT                                    #  SAVE FOR LATER USE
040151,000210: 21,2401           34777                           CA       1SEC                                  
040152,000211: 21,2402           54065                           TS       ITEMP5                                #  INITIALIZE FOR DIVISION LATER
040153,000212: 21,2403           00006                           EXTEND                                         
040154,000213: 21,2404           31237                           DCA      GDT/2                                 #  COMPUTE THE X-COMPONENT OF VELOCITY.
040155,000214: 21,2405           20001                           DDOUBL                                         
040156,000215: 21,2406           20001                           DDOUBL                                         
040157,000216: 21,2407           00006                           EXTEND                                         
040158,000217: 21,2410           71715                           MP       DT                                    
040159,000218: 21,2411           00006                           EXTEND                                         
040160,000219: 21,2412           10065                           DV       ITEMP5                                
040161,000220: 21,2413           57706                           XCH      VVECT                                 #  VVECT = G(T-TN) M/CS *2(-5)
040162,000221: 21,2414           00006                           EXTEND                                         
040163,000222: 21,2415           31527                           DCA      V                                     #  M/CS *2(-7)
040164,000223: 21,2416           20001                           DDOUBL                                         #  RESCALE TO 2(-5)
040165,000224: 21,2417           20001                           DDOUBL                                         
040166,000225: 21,2420           27706                           ADS      VVECT                                 #  VVECT = VN + G(T-TN) M/CS *2(-5)
040167,000226: 21,2421           30037                           CA       PIPAX                                 #  DELV CM/SEC *2(-14)
040168,000227: 21,2422           61160                           AD       PIPATMPX                              #  IN CASE PIPAX HAS BEEN ZEROED
040169,000228: 21,2423           00006                           EXTEND                                         
040170,000229: 21,2424           72004                           MP       KPIP1(5)                              #  DELV M/CS *2(-5)
040171,000230: 21,2425           27706                           ADS      VVECT                                 #  VVECT = VN + DELV + GN(T-TN) M/CS *2(-5)
040172,000231: 21,2426           00006                           EXTEND                                         
040173,000232: 21,2427           31241                           DCA      GDT/2      +2                         #  COMPUTE THE Y-COMPONENT OF VELOCITY.
040174,000233: 21,2430           20001                           DDOUBL                                         
040175,000234: 21,2431           20001                           DDOUBL                                         
040176,000235: 21,2432           00006                           EXTEND                                         
040177,000236: 21,2433           71715                           MP       DT                                    
040178,000237: 21,2434           00006                           EXTEND                                         
040179,000238: 21,2435           10065                           DV       ITEMP5                                
040180,000239: 21,2436           57707                           XCH      VVECT      +1                         
040181,000240: 21,2437           00006                           EXTEND                                         
040182,000241: 21,2440           31531                           DCA      V          +2                         
040183,000242: 21,2441           20001                           DDOUBL                                         
040184,000243: 21,2442           20001                           DDOUBL                                         
040185,000244: 21,2443           27707                           ADS      VVECT      +1                         
040186,000245: 21,2444           30040                           CA       PIPAY                                 
040187,000246: 21,2445           61161                           AD       PIPATMPY                              
040188,000247: 21,2446           00006                           EXTEND                                         
040189,000248: 21,2447           72004                           MP       KPIP1(5)                              
040190,000249: 21,2450           27707                           ADS      VVECT      +1                         

Page 902

040192,000251: 21,2451           00006                           EXTEND                                         
040193,000252: 21,2452           31243                           DCA      GDT/2      +4                         #  COMPUTE THE Z-COMPONENT OF VELOCITY.
040194,000253: 21,2453           20001                           DDOUBL                                         
040195,000254: 21,2454           20001                           DDOUBL                                         
040196,000255: 21,2455           00006                           EXTEND                                         
040197,000256: 21,2456           71715                           MP       DT                                    
040198,000257: 21,2457           00006                           EXTEND                                         
040199,000258: 21,2460           10065                           DV       ITEMP5                                
040200,000259: 21,2461           57710                           XCH      VVECT      +2                         
040201,000260: 21,2462           00006                           EXTEND                                         
040202,000261: 21,2463           31533                           DCA      V          +4                         
040203,000262: 21,2464           20001                           DDOUBL                                         
040204,000263: 21,2465           20001                           DDOUBL                                         
040205,000264: 21,2466           27710                           ADS      VVECT      +2                         
040206,000265: 21,2467           30041                           CA       PIPAZ                                 
040207,000266: 21,2470           61162                           AD       PIPATMPZ                              
040208,000267: 21,2471           00006                           EXTEND                                         
040209,000268: 21,2472           72004                           MP       KPIP1(5)                              
040210,000269: 21,2473           27710                           ADS      VVECT      +2                         
040211,000270: 
040212,000271: 21,2474           34751                           CAF      BIT3                                  #  PAUSE 40 MS TO LET OTHER RUPTS IN.
040213,000272: 21,2475           05224                           TC       VARDELAY                              
040214,000273: 
040215,000274: 21,2476           40074                           CS       FLAGWRD0                              #  ARE WE IN DESCENT TRAJECTORY?
040216,000275: 21,2477           74752                           MASK     R10FLBIT                              
040217,000276: 21,2500           10000                           CCS      A                                     
040218,000277: 21,2501           12503                           TCF      +2                                    #  YES.
040219,000278: 21,2502           01714                           TC       LADQSAVE                              #  NO.
040220,000279: 
040221,000280: 21,2503           31733                           CA       DELVS                                 #  HI X OF VELOCITY CORRECTION TERM.
040222,000281: 21,2504           61706                           AD       VVECT                                 #  HI X OF UPDATED VELOCITY VECTOR.
040223,000282: 21,2505           54061                           TS       ITEMP1                                #  = VX - DVX M/CS *2(-5).
040224,000283: 21,2506           31735                           CA       DELVS      +2                         #     Y
040225,000284: 21,2507           61707                           AD       VVECT      +1                         #     Y
040226,000285: 21,2510           54062                           TS       ITEMP2                                #  = VY - DVY M/CS *2(-5).
040227,000286: 21,2511           31737                           CA       DELVS      +4                         #     Z
040228,000287: 21,2512           61710                           AD       VVECT      +2                         #     Z
040229,000288: 21,2513           54063                           TS       ITEMP3                                #  = VZ - DVZ M/CS *2(-5).
040230,000289: 21,2514           30061                           CA       ITEMP1                                #  COMPUTE VHY, VELOCITY DIRECTED ALONG THE
040231,000290: 21,2515           00006                           EXTEND                                         #  Y-COORDINATE.
040232,000291: 21,2516           71717                           MP       UHYP                                  #  HI X OF CROSS-RANGE HALF-UNIT VECTOR.
040233,000292: 21,2517           56070                           XCH      RUPTREG1                              
040234,000293: 21,2520           30062                           CA       ITEMP2                                
040235,000294: 21,2521           00006                           EXTEND                                         
040236,000295: 21,2522           71721                           MP       UHYP       +2                         #  Y
040237,000296: 21,2523           26070                           ADS      RUPTREG1                              #  ACCUMULATE PARTIAL PRODUCTS.
040238,000297: 21,2524           30063                           CA       ITEMP3                                
040239,000298: 21,2525           00006                           EXTEND                                         
040240,000299: 21,2526           71723                           MP       UHYP       +4                         #  Z
040241,000300: 21,2527           26070                           ADS      RUPTREG1                              

Page 903

040243,000302: 21,2530           30070                           CA       RUPTREG1                              
040244,000303: 21,2531           60000                           DOUBLE                                         
040245,000304: 21,2532           57704                           XCH      VHY                                   #  VHY=VMP.UHYP M/CS*2(-5).
040246,000305: 21,2533           30061                           CA       ITEMP1                                #  NOW COMPUTE VHZ, VELOCITY DIRECTED ALONG
040247,000306: 21,2534           00006                           EXTEND                                         #  THE Z-COORDINATE.
040248,000307: 21,2535           71725                           MP       UHZP                                  #  HI X OF DOWN-RANGE HALF-UNIT VECTOR.
040249,000308: 21,2536           56070                           XCH      RUPTREG1                              
040250,000309: 21,2537           30062                           CA       ITEMP2                                
040251,000310: 21,2540           00006                           EXTEND                                         
040252,000311: 21,2541           71727                           MP       UHZP       +2                         #  Y
040253,000312: 21,2542           26070                           ADS      RUPTREG1                              #  ACCUMULATE PARTIAL PRODUCTS.
040254,000313: 21,2543           30063                           CA       ITEMP3                                
040255,000314: 21,2544           00006                           EXTEND                                         
040256,000315: 21,2545           71731                           MP       UHZP       +4                         #  Z
040257,000316: 21,2546           26070                           ADS      RUPTREG1                              
040258,000317: 21,2547           30070                           CA       RUPTREG1                              
040259,000318: 21,2550           60000                           DOUBLE                                         
040260,000319: 21,2551           57705                           XCH      VHZ                                   #  VHZ = VMP.UHZP M/CS*2(-5).
040261,000320: 21,2552           35015        GET22/32           CAF      EBANK6                                #  GET SIN(AOG),COS(AOG) FROM GPMATRIX.
040262,000321: 21,2553           54003                           TS       EBANK                                 
040263,000322: 21,2554  E6,1417                                  EBANK=   M22                                   
040264,000323: 21,2554           31417                           CA       M22                                   
040265,000324: 21,2555           54063                           TS       ITEMP3                                
040266,000325: 21,2556           31420                           CA       M32                                   
040267,000326: 21,2557           54064                           TS       ITEMP4                                
040268,000327: 21,2560           35016                           CAF      EBANK7                                
040269,000328: 21,2561           54003                           TS       EBANK                                 
040270,000329: 21,2562  E7,1536                                  EBANK=   UNIT/R/                               
040271,000330: 21,2562           30064        LATFWDV            CA       ITEMP4                                #  COMPUTE LATERAL AND FORWARD VELOCITIES.
040272,000331: 21,2563           00006                           EXTEND                                         
040273,000332: 21,2564           71704                           MP       VHY                                   
040274,000333: 21,2565           56070                           XCH      RUPTREG1                              
040275,000334: 21,2566           30063                           CA       ITEMP3                                
040276,000335: 21,2567           00006                           EXTEND                                         
040277,000336: 21,2570           71705                           MP       VHZ                                   
040278,000337: 21,2571           26070                           ADS      RUPTREG1                              #  = VHY(COS)AOG+VHZ(SIN)AOG M/CS *2(-5)
040279,000338: 21,2572           32003                           CA       VELCONV                               #  CONVERT LATERAL VELOCITY TO BIT UNITS.
040280,000339: 21,2573           00006                           EXTEND                                         
040281,000340: 21,2574           70070                           MP       RUPTREG1                              
040282,000341: 21,2575           20001                           DDOUBL                                         
040283,000342: 21,2576           57700                           XCH      LATVEL                                #  LATERAL VELOCITY IN BIT UNITS *2(-14).
040284,000343: 21,2577           30064                           CA       ITEMP4                                #  COMPUTE FORWARD VELOCITY.
040285,000344: 21,2600           00006                           EXTEND                                         
040286,000345: 21,2601           71705                           MP       VHZ                                   
040287,000346: 21,2602           56070                           XCH      RUPTREG1                              
040288,000347: 21,2603           30063                           CA       ITEMP3                                
040289,000348: 21,2604           00006                           EXTEND                                         
040290,000349: 21,2605           71704                           MP       VHY                                   
040291,000350: 21,2606           40000                           CS       A                                     
040292,000351: 21,2607           26070                           ADS      RUPTREG1                              #  =VHZ(COS)AOG-VHY(SIN)AOG M/CS *2(-5).

Page 904

040294,000353: 21,2610           32003                           CA       VELCONV                               #  CONVERT FORWARD VELOCITY TO BIT UNITS.
040295,000354: 21,2611           00006                           EXTEND                                         
040296,000355: 21,2612           70070                           MP       RUPTREG1                              
040297,000356: 21,2613           20001                           DDOUBL                                         
040298,000357: 21,2614           57701                           XCH      FORVEL                                #  FORWARD VELOCITY IN BIT UNITS *2(-14).
040299,000358: 
040300,000359: 21,2615           42005                           CS       MAXVBITS                              #  ACC.=-199.9989 FT./SEC.
040301,000360: 21,2616           54066                           TS       ITEMP6                                #  -547 BIT UNITS (OCTAL) AT 0.5571 FPS/BIT
040302,000361: 
040303,000362: 21,2617           34753                           CAF      ONE                                   #  LOOP TWICE.
040304,000363: 21,2620           54065        VMONITOR           TS       ITEMP5                                #  FORWARD AND LATERAL VELOCITY LANDING
040305,000364: 21,2621           50065                           INDEX    ITEMP5                                #        ANALOG DISPLAYS MONITOR.
040306,000365: 21,2622           11700                           CCS      LATVEL                                
040307,000366: 21,2623           12627                           TCF      +4                                    
040308,000367: 21,2624           12730                           TCF      LVLIMITS                              
040309,000368: 21,2625           12635                           TCF      +8D                                   
040310,000369: 21,2626           12730                           TCF      LVLIMITS                              
040311,000370: 21,2627           50065                           INDEX    ITEMP5                                
040312,000371: 21,2630           41700                           CS       LATVEL                                
040313,000372: 21,2631           62005                           AD       MAXVBITS                              #  +199.9989 FT./SEC.
040314,000373: 21,2632           00006                           EXTEND                                         
040315,000374: 21,2633           62643                           BZMF     CHKLASTY                              
040316,000375: 21,2634           12730                           TCF      LVLIMITS                              
040317,000376: 21,2635           50065                           INDEX    ITEMP5                                
040318,000377: 21,2636           31700                           CA       LATVEL                                
040319,000378: 21,2637           62005                           AD       MAXVBITS                              
040320,000379: 21,2640           00006                           EXTEND                                         
040321,000380: 21,2641           62643                           BZMF     +2                                    
040322,000381: 21,2642           12730                           TCF      LVLIMITS                              
040323,000382: 21,2643           50065        CHKLASTY           INDEX    ITEMP5                                
040324,000383: 21,2644           11676                           CCS      LATVMETR                              
040325,000384: 21,2645           12651                           TCF      +4                                    
040326,000385: 21,2646           12662                           TCF      LASTOK                                
040327,000386: 21,2647           12656                           TCF      +7                                    
040328,000387: 21,2650           12662                           TCF      LASTOK                                
040329,000388: 21,2651           50065                           INDEX    ITEMP5                                
040330,000389: 21,2652           31700                           CA       LATVEL                                
040331,000390: 21,2653           00006                           EXTEND                                         
040332,000391: 21,2654           62701                           BZMF     LASTPOSY   +5                         
040333,000392: 21,2655           12662                           TCF      +5                                    
040334,000393: 21,2656           50065                           INDEX    ITEMP5                                
040335,000394: 21,2657           41700                           CS       LATVEL                                
040336,000395: 21,2660           00006                           EXTEND                                         
040337,000396: 21,2661           62716                           BZMF     LASTNEGY   +4                         
040338,000397: 21,2662           50065        LASTOK             INDEX    ITEMP5                                
040339,000398: 21,2663           11702                           CCS      TRAKLATV                              
040340,000399: 21,2664           12674                           TCF      LASTPOSY                              
040341,000400: 21,2665           12667                           TCF      +2                                    
040342,000401: 21,2666           12712                           TCF      LASTNEGY                              
040343,000402: 21,2667           50065                           INDEX    ITEMP5                                

Page 905

040345,000404: 21,2670           31700                           CA       LATVEL                                
040346,000405: 21,2671           00006                           EXTEND                                         
040347,000406: 21,2672           62720                           BZMF     NEGVMAXY                              
040348,000407: 21,2673           12703                           TCF      POSVMAXY                              
040349,000408: 21,2674           50065        LASTPOSY           INDEX    ITEMP5                                
040350,000409: 21,2675           31700                           CA       LATVEL                                
040351,000410: 21,2676           00006                           EXTEND                                         
040352,000411: 21,2677           62701                           BZMF     +2                                    
040353,000412: 21,2700           12703                           TCF      POSVMAXY                              
040354,000413: 21,2701           42005                           CS       MAXVBITS                              
040355,000414: 21,2702           13024                           TCF      ZEROLSTY                              
040356,000415: 21,2703           50065        POSVMAXY           INDEX    ITEMP5                                
040357,000416: 21,2704           41676                           CS       LATVMETR                              
040358,000417: 21,2705           62005                           AD       MAXVBITS                              
040359,000418: 21,2706           50065                           INDEX    ITEMP5                                
040360,000419: 21,2707           56072                           XCH      RUPTREG3                              
040361,000420: 21,2710           34753                           CAF      ONE                                   
040362,000421: 21,2711           13027                           TCF      ZEROLSTY   +3                         
040363,000422: 21,2712           50065        LASTNEGY           INDEX    ITEMP5                                
040364,000423: 21,2713           31700                           CA       LATVEL                                
040365,000424: 21,2714           00006                           EXTEND                                         
040366,000425: 21,2715           62720                           BZMF     NEGVMAXY                              
040367,000426: 21,2716           32005                           CA       MAXVBITS                              
040368,000427: 21,2717           13024                           TCF      ZEROLSTY                              
040369,000428: 21,2720           50065        NEGVMAXY           INDEX    ITEMP5                                
040370,000429: 21,2721           31676                           CA       LATVMETR                              
040371,000430: 21,2722           62005                           AD       MAXVBITS                              
040372,000431: 21,2723           40000                           COM                                            
040373,000432: 21,2724           50065                           INDEX    ITEMP5                                
040374,000433: 21,2725           56072                           XCH      RUPTREG3                              
040375,000434: 21,2726           44753                           CS       ONE                                   
040376,000435: 21,2727           13027                           TCF      ZEROLSTY   +3                         
040377,000436: 21,2730           50065        LVLIMITS           INDEX    ITEMP5                                
040378,000437: 21,2731           11702                           CCS      TRAKLATV                              
040379,000438: 21,2732           12761                           TCF      LATVPOS                               
040380,000439: 21,2733           12735                           TCF      +2                                    
040381,000440: 21,2734           12766                           TCF      LATVNEG                               
040382,000441: 21,2735           50065                           INDEX    ITEMP5                                
040383,000442: 21,2736           41676                           CS       LATVMETR                              
040384,000443: 21,2737           00006                           EXTEND                                         
040385,000444: 21,2740           62742                           BZMF     +2                                    
040386,000445: 21,2741           12775                           TCF      NEGLMLV                               
040387,000446: 21,2742           50065                           INDEX    ITEMP5                                
040388,000447: 
040389,000448: 21,2743           41700                           CS       LATVEL                                
040390,000449: 21,2744           00006                           EXTEND                                         
040391,000450: 21,2745           63020                           BZMF     LVMINLM                               
040392,000451: 21,2746           60066                           AD       ITEMP6                                
040393,000452: 21,2747           50065                           INDEX    ITEMP5                                
040394,000453: 21,2750           61676                           AD       LATVMETR                              
040395,000454: 21,2751           00006                           EXTEND                                         

Page 906

040397,000456: 21,2752           63020                           BZMF     LVMINLM                               
040398,000457: 21,2753           50065                           INDEX    ITEMP5                                
040399,000458: 21,2754           61700                           AD       LATVEL                                
040400,000459: 21,2755           00006                           EXTEND                                         
040401,000460: 21,2756           50065                           INDEX    ITEMP5                                
040402,000461: 21,2757           61676                           SU       LATVMETR                              
040403,000462: 21,2760           13024                           TCF      ZEROLSTY                              
040404,000463: 21,2761           50065        LATVPOS            INDEX    ITEMP5                                
040405,000464: 21,2762           41700                           CS       LATVEL                                
040406,000465: 21,2763           00006                           EXTEND                                         
040407,000466: 21,2764           63020                           BZMF     LVMINLM                               
040408,000467: 21,2765           12772                           TCF      +5                                    
040409,000468: 21,2766           50065        LATVNEG            INDEX    ITEMP5                                
040410,000469: 21,2767           31700                           CA       LATVEL                                
040411,000470: 21,2770           00006                           EXTEND                                         
040412,000471: 21,2771           63020                           BZMF     LVMINLM                               
040413,000472: 21,2772           50065                           INDEX    ITEMP5                                
040414,000473: 21,2773           41676                           CS       LATVMETR                              
040415,000474: 21,2774           13024                           TCF      ZEROLSTY                              
040416,000475: 21,2775           50065        NEGLMLV            INDEX    ITEMP5                                
040417,000476: 21,2776           31700                           CA       LATVEL                                
040418,000477: 21,2777           00006                           EXTEND                                         
040419,000478: 21,3000           63020                           BZMF     LVMINLM                               
040420,000479: 21,3001           32005                           CA       MAXVBITS                              
040421,000480: 21,3002           50065                           INDEX    ITEMP5                                
040422,000481: 21,3003           61676                           AD       LATVMETR                              
040423,000482: 21,3004           40000                           COM                                            
040424,000483: 21,3005           50065                           INDEX    ITEMP5                                
040425,000484: 21,3006           61700                           AD       LATVEL                                
040426,000485: 21,3007           00006                           EXTEND                                         
040427,000486: 21,3010           63020                           BZMF     LVMINLM                               
040428,000487: 21,3011           00006                           EXTEND                                         
040429,000488: 21,3012           50065                           INDEX    ITEMP5                                
040430,000489: 21,3013           61700                           SU       LATVEL                                
040431,000490: 21,3014           50065                           INDEX    ITEMP5                                
040432,000491: 21,3015           61676                           AD       LATVMETR                              
040433,000492: 21,3016           40000                           COM                                            
040434,000493: 21,3017           13024                           TCF      ZEROLSTY                              
040435,000494: 21,3020           50065        LVMINLM            INDEX    ITEMP5                                
040436,000495: 21,3021           41676                           CS       LATVMETR                              
040437,000496: 21,3022           50065                           INDEX    ITEMP5                                
040438,000497: 21,3023           61700                           AD       LATVEL                                
040439,000498: 21,3024           50065        ZEROLSTY           INDEX    ITEMP5                                
040440,000499: 21,3025           56072                           XCH      RUPTREG3                              
040441,000500: 21,3026           34755                           CAF      ZERO                                  
040442,000501: 21,3027           50065                           INDEX    ITEMP5                                
040443,000502: 21,3030           55702                           TS       TRAKLATV                              
040444,000503: 21,3031           50065                           INDEX    ITEMP5                                
040445,000504: 21,3032           30072                           CA       RUPTREG3                              
040446,000505: 21,3033           64754                           AD       NEG0                                  #  AVOIDS +0 DINC HARDWARE MALFUNCTION

Page 907

040448,000507: 21,3034           50065                           INDEX    ITEMP5                                
040449,000508: 21,3035           54053                           TS       CDUTCMD                               
040450,000509: 21,3036           50065                           INDEX    ITEMP5                                
040451,000510: 21,3037           30072                           CA       RUPTREG3                              
040452,000511: 21,3040           50065                           INDEX    ITEMP5                                
040453,000512: 21,3041           27676                           ADS      LATVMETR                              
040454,000513: 21,3042           10065                           CCS      ITEMP5                                #  FIRST MONITOR FORWARD THEN LATERAL VEL.
040455,000514: 21,3043           12620                           TCF      VMONITOR                              
040456,000515: 
040457,000516: 21,3044           35020                           CAF      BITSET                                #  DRIVE THE X-POINTER DISPLAY.
040458,000517: 21,3045           00006                           EXTEND                                         
040459,000518: 21,3046           05014                           WOR      CHAN14                                
040460,000519: 21,3047           01714                           TC       LADQSAVE                              #  GO TO ALTROUT +1 OR TO ALTOUT +1
040461,000520: 21,3050           34755        ZERODATA           CAF      ZERO                                  #  ZERO ALTSAVE AND ALTSAVE +1 - - -
040462,000521: 21,3051           54001                           TS       L                                     #        NO NEGATIVE ALTITUDES ALLOWED.
040463,000522: 21,3052           12270                           TCF      ZDATA2                                
040464,000523: 
040465,000524:                                                                                                  #  ************************************************************************
040466,000525: 
040467,000526: 21,3053           40074        DISPRSET           CS       FLAGWRD0                              #  ARE WE IN DESCENT TRAJECTORY?
040468,000527: 21,3054           74752                           MASK     R10FLBIT                              
040469,000528: 21,3055           00006                           EXTEND                                         
040470,000529: 21,3056           13067                           BZF      ABORTON                               #  NO.
040471,000530: 21,3057           34744                           CAF      BIT8                                  #  YES.
040472,000531: 21,3060           71303                           MASK     IMODES33                              #  CHECK IF INERTIAL DATA JUST DISPLAYED.
040473,000532: 21,3061           10000                           CCS      A                                     
040474,000533: 21,3062           34752                           CAF      BIT2                                  #  YES. DISABLE RR ERROR COUNTER
040475,000534: 21,3063           64744                           AD       BIT8                                  #  NO.  REMOVE DISPLAY INERTIAL DATA
040476,000535: 21,3064           40000                           COM                                            
040477,000536: 21,3065           00006                           EXTEND                                         
040478,000537: 21,3066           03012                           WAND     CHAN12                                
040479,000538: 21,3067           43076        ABORTON            CS       BITS8/7                               #  RESET INERTIAL DATA, INTERLEAVE FLAGS.
040480,000539: 21,3070           71303                           MASK     IMODES33                              
040481,000540: 21,3071           55303                           TS       IMODES33                              
040482,000541: 21,3072           44736                           CS       DIDFLBIT                              
040483,000542: 21,3073           70075                           MASK     FLAGWRD1                              
040484,000543: 21,3074           54075                           TS       FLAGWRD1                              #  RESET DIDFLAG.
040485,000544: 21,3075           15261                           TCF      TASKOVER                              
040486,000545: 
040487,000546:                                                                                                  #  ************************************************************************
040488,000547: 
040489,000548: 21,3076           00300        BITS8/7            OCT      00300                                 #  INERTIAL DATA AND INTERLEAVE FLAGS.
040490,000549: 21,3077     5020               BITSET             =        PRIO6                                 
040491,000550: 
040492,000551:                                                                                                  #  ************************************************************************

End of include-file LANDING_ANALOG_DISPLAYS.agc.  Parent file is MAIN.agc