Source Code

This is a reconstruction of the AGC program Luminary 99 Rev 0. It was the third release of the Lunar Module flight software targeted for use in Apollo 11, after Luminary 96 and 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.

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

Page 898

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

Page 899

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

Page 900

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

Page 901

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

Page 902

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

Page 903

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

Page 904

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

Page 905

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

Page 906

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

Page 907

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

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