Source Code

   YAYUL: ASSEMBLE REVISION 6 OF PROGRAM BOREALIS       BY MSTEWART JUN. 28,2017
This is a modern AGC system self-test program, though based on the Apollo-era AURORA 12 program, and was not written by the original AGC developers, but rather by Mike Stewart. All of the original AURORA 12 DAP code added by the DAP Group has been removed, and extensive new system test code has been added in its place. This allows more in-depth testing of CPU behavior, both in AGC software simulations and hardware simulations.

018672,000002:                                                                                                  ## Copyright:   Public domain.
018673,000003:                                                                                                  ## Filename:    LEM_FLIGHT_CONTROL_SYSTEM_TEST.agc
018674,000004:                                                                                                  ## Purpose:     This program is designed to extensively test the Apollo Guidance Computer
018675,000005:                                                                                                  ##              (specifically the LM instantiation of it). It is built on top of a heavily
018676,000006:                                                                                                  ##              stripped-down Aurora 12, with all code ostensibly added by the DAP Group
018677,000007:                                                                                                  ##              removed. Instead Borealis expands upon the tests provided by Aurora,
018678,000008:                                                                                                  ##              including corrected tests from Retread 44 and tests from Ron Burkey's
018679,000009:                                                                                                  ##              Validation.
018680,000010:                                                                                                  ## Assembler:   yaYUL
018681,000011:                                                                                                  ## Contact:     Mike Stewart <mastewar1@gmail.com>.
018682,000012:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
018683,000013:                                                                                                  ## Mod history: 2016-12-20 MAS  Created from Aurora 12 (with much DAP stuff removed).
018684,000014: 
018685,000015: 06,2000                                           BANK     6                                     
018686,000016: 06,2000  E4,1407                                  EBANK=   JETSTEP                               
018687,000017: 
018688,000018:                                                                                                  #  LEM FCS TEST  ENTRY AND INITIALIZATION JOB.
018689,000019: 
018690,000020:                                                                                                  #        THIS JOB INITIALIZES THE ERASABLE TABLES FOR THE FCS TEST AND PUTS THE FOLLOWING PROGRAMS UNDER
018691,000021:                                                                                                  #  WAITLIST CONTROL.
018692,000022:                                                                                                  #             (1) RCS JET SET TASK
018693,000023:                                                                                                  #             (2) ENGINE ON - OFF TASK
018694,000024:                                                                                                  #             (3) DESCENT ENGINE GIMBAL TRIM TASK
018695,000025:                                                                                                  #             (4) DESCENT ENGINE THROTTLE TASK
018696,000026:                                                                                                  #             (5) INTERFACE CHANNEL LOOK TASK
018697,000027: 
018698,000028: 
018699,000029: 06,2000           05311        FCSSTART           TC       GRABWAIT                              #  SO NOTHING DISRUPTS THE LOAD.
018700,000030: 06,2001           32054                           CAF      JSTEPADR                              #  THE START OF THE LIST.
018701,000031: 06,2002           10000        FCS3               CCS      A                                     
018702,000032: 06,2003           54142                           TS       MPAC       +2                         
018703,000033: 06,2004           32057        FCS2               CAF      V04N01K                               #  DISPLAY PRESENT CONTENTS IN R2.
018704,000034: 06,2005           05324                           TC       NVSBWAIT                              
018705,000035: 06,2006           24142                           INCR     MPAC       +2                         
018706,000036: 06,2007           32055                           CAF      V21N02K                               
018707,000037: 06,2010           05324                           TC       NVSBWAIT                              #  IN CASE IT'S BUSY BUT IT SHOULDN'T BE.
018708,000038: 06,2011           05132                           TC       ENDIDLE                               #  WHILE LOADING.
018709,000039: 06,2012           02015                           TC       +3                                    #  V34E. TERMINATE LOAD OF THIS LIST
018710,000040:                                                                                                  #  SECTION, GO TO NEW SECTION OR TO TEST.
018711,000041: 06,2013           02014                           TC       +1                                    #  V33E. PRESENT CONTENTS OK, PROCEED TO
018712,000042:                                                                                                  #  NEXT LOCATION IN LIST.
018713,000043: 06,2014           02004                           TC       FCS2                                  
018714,000044: 06,2015           32056                           CAF      V21N30K                               
018715,000045: 06,2016           05324                           TC       NVSBWAIT                              
018716,000046: 06,2017           05132                           TC       ENDIDLE                               
018717,000047: 06,2020           04421                           TC       EJFREE                                
018718,000048: 06,2021           02024                           TC       FCSTEST1                              #  PROCEED TO TEST.
018719,000049: 06,2022           30333                           CAE      DSPTEM1                               #  NEW ADDRESS.
018720,000050: 06,2023           02002                           TC       FCS3                                  
018721,000051: 06,2024           32060        FCSTEST1           CAF      V47K                                  
018722,000052: 06,2025           05324                           TC       NVSBWAIT                              #  OUR VERB IN THE LIGHTS.
018723,000053: 06,2026           00004        FCSTEST            INHINT                                         
018724,000054: 06,2027  E4,1407                                  EBANK=   JETSTEP                               
018725,000055: 06,2027           37670                           CAF      TWO                                   #  20MS.
018726,000056: 06,2030           04517                           TC       WAITLIST                              
018727,000057: 06,2031  E4,1407                                  EBANK=   JETSTEP                               
018728,000058: 06,2031           02065 14004                     2CADR    JETSTART                              
018729,000059: 
018730,000060: 06,2033           37671                           CAF      BIT1                                  #  10MS.
018731,000061: 06,2034           04517                           TC       WAITLIST                              
018732,000062: 06,2035  E4,1407                                  EBANK=   JETSTEP                               
018733,000063: 06,2035           02220 14004                     2CADR    ENGSTART                              
018734,000064: 
018735,000065: 06,2037           36176                           CAF      THREE                                 #  30MS.
018736,000066: 06,2040  E4,1407                                  EBANK=   JETSTEP                               
018737,000067: 06,2040           04517                           TC       WAITLIST                              
018738,000068: 06,2041           02315 14004                     2CADR    TRIMTOP                               
018739,000069: 
018740,000070: 06,2043           37667                           CAF      FOUR                                  #  40MS.
018741,000071: 06,2044           04517                           TC       WAITLIST                              
018742,000072: 06,2045  E4,1407                                  EBANK=   JETSTEP                               
018743,000073: 06,2045           02435 14004                     2CADR    THRSTART                              
018744,000074: 
018745,000075: 06,2047           37674                           CAF      FIVE                                  #  50MS.
018746,000076: 06,2050           04517                           TC       WAITLIST                              
018747,000077: 06,2051  E4,1407                                  EBANK=   JETSTEP                               
018748,000078: 06,2051           02523 14004                     2CADR    LOOKTOP                               
018749,000079: 
018750,000080: 06,2053           04421                           TC       EJFREE                                #  NOW THEY START.
018751,000081: 
018752,000082: 06,2054           02007        JSTEPADR           ECADR    JETSTEP                               
018753,000083: 06,2055           02102        V21N02K            OCT      02102                                 
018754,000084: 06,2056           02130        V21N30K            OCT      02130                                 
018755,000085: 06,2057           00401        V04N01K            OCT      00401                                 
018756,000086: 06,2060           04700        V47K               OCT      04700                                 
018757,000087: 
018758,000088:                                                                                                  #  LEM FCS TEST   RCS JETSET TASK
018759,000089:                                                                                                  #      THIS JOB ISSUES A PROFILE OF  JET ON-OFF SIGNALS AS DETERMINED BY THE CONSTANTS IN A SET OF SIX REGISTERS.
018760,000090:                                                                                                  #  THE SIX REGISTERS ARE, (1) NTIMES, THE NUMBER OF TIMES A PARTICULAR STEP WILL BE PERFORMED. (2) NEXTTIME, THE
018761,000091:                                                                                                  #  TIME BETWEEN STEPS, A MAXIMUM OF 2 MINUTES, (3) JETONTM, THE TIME TO TURN THE JETS ON, SCALED FOR T3, (4) JET-
018762,000092:                                                                                                  #  OFFTM, THE TIME AFTER ONTM TO TURN THE JETS OFF, (5) XJETS, THE PARTICULAR X JETS TO BE TURNED ON AND OFF
018763,000093:                                                                                                  #  DURING EACH REPEAT OF A STEP, AND (6) YZJETS,, THE Y AND Z JETS TO BE TURNED ON AND OFF DURING EACH REPEAT OF A
018764,000094:                                                                                                  #  STEP.  XJETS AND YZJETS MUST BE IN THE SAME FORMAT AS CHANNELS 5 AND6 RESPECTIVELY.  THERE ARE EIGHT SETS OF
018765,000095:                                                                                                  #  THESE SIX REGISTERS.
018766,000096:                                                                                                  #      THE REGISTER JETSTEP IS USED TO INDEX THE 8 SETS OF REGISTERS, THE ALLOWABLE VALUES OF JETSTEP ARE +0 THRU 7
018767,000097:                                                                                                  #      THIS JOB WILL BE ENTERED BUT IMMEDIATELY ENDED IF THE INITIAL VALUES OF JETSTEP AND NTIMES ARE +0.
018768,000098: 
018769,000099: 
018770,000100: 06,2061           11407        NEXTSET            CCS      JETSTEP                               #  IT MAY BE ZERO.
018771,000101: 06,2062           02064                           TC       +2                                    #  NOPE
018772,000102: 06,2063           04563                           TC       TASKOVER                              #  IT IS SO WE ARE DONE WITH THIS TASK.
018773,000103: 06,2064           55407                           TS       JETSTEP                               
018774,000104: 
018775,000105: 06,2065           51407        JETSTART           NDX      JETSTEP                               #  ENTER HERE.
018776,000106: 06,2066           11410                           CCS      NTIMES                                #  SEE IF THIS STEP IS FINISHED.
018777,000107: 06,2067           02071                           TC       +2                                    #  NO
018778,000108: 06,2070           02061                           TC       NEXTSET                               #  YES
018779,000109: 06,2071           51407                           NDX      JETSTEP                               
018780,000110: 06,2072           31420                           CAE      NEXTTIME                              #  MUST BE SCALED FOR T3.  REMEMBER TO BIAS
018781,000111:                                                                                                  #  THIS FOR ON TIME.
018782,000112: 06,2073           04517                           TC       WAITLIST                              
018783,000113: 06,2074  E4,1407                                  EBANK=   JETSTEP                               
018784,000114: 06,2074           02110 14004                     2CADR    JTOP                                  
018785,000115: 
018786,000116: 06,2076           04563                           TC       TASKOVER                              
018787,000117: 
018788,000118: 06,2077           37675        JETOFF             CAF      ZERO                                  
018789,000119: 06,2100           00006                           EXTEND                                         
018790,000120: 06,2101           01005                           WRITE    5                                     
018791,000121: 06,2102           00006                           EXTEND                                         
018792,000122: 06,2103           01006                           WRITE    6                                     
018793,000123: 06,2104           51407                           NDX      JETSTEP                               
018794,000124: 06,2105           11410                           CCS      NTIMES                                
018795,000125: 06,2106           51407                           NDX      JETSTEP                               
018796,000126: 06,2107           55410                           TS       NTIMES                                #  ONE LESS TIME.
018797,000127: 06,2110           51407        JTOP               NDX      JETSTEP                               
018798,000128: 06,2111           11410                           CCS      NTIMES                                #  FOR LOOPING.
018799,000129: 06,2112           02114                           TC       +2                                    
018800,000130: 06,2113           02061                           TC       NEXTSET                               
018801,000131: 06,2114           51407                           NDX      JETSTEP                               
018802,000132: 06,2115           31430                           CAE      JETONTM                               #  SCALED FOR T3.  TIME FOR JETS ON.
018803,000133: 06,2116           04517                           TC       WAITLIST                              
018804,000134: 06,2117  E4,1407                                  EBANK=   JETSTEP                               
018805,000135: 06,2117           02122 14004                     2CADR    JETON                                 
018806,000136: 
018807,000137: 06,2121           04563                           TC       TASKOVER                              
018808,000138: 
018809,000139: 06,2122           51407        JETON              NDX      JETSTEP                               
018810,000140: 06,2123           31440                           CAE      XJETS                                 #  MUST BE IN CHANNEL 5 FORMAT.
018811,000141: 06,2124           55401                           TS       XJBUF                                 
018812,000142: 06,2125           51407                           NDX      JETSTEP                               
018813,000143: 06,2126           31450                           CAE      YZJETS                                #  MUST BE IN CHANNEL 6 FORMAT.
018814,000144: 06,2127           55402                           TS       YZJBUF                                
018815,000145: 06,2130           00006        JFAILCK            EXTEND                                         #  THIS ROUTINE EXAMINES EACH JETFAIL BIT
018816,000146: 06,2131           00032                           READ     32                                    #  AND IF A FAILURE IS INDICATED THE CORRES
018817,000147: 06,2132           40000                           COM                                            #  PONDING COMMANDS ARE MASKED OUT .
018818,000148: 06,2133           55403                           TS       JFBUF                                 #  SAVE 32 REINVERTED.
018819,000149: 06,2134           37673                           CAF      SEVEN                                 
018820,000150: 06,2135           55404        JF3                TS       FCNTR                                 
018821,000151: 06,2136           31403                           CAE      JFBUF                                 
018822,000152: 06,2137           51404                           NDX      FCNTR                                 
018823,000153: 06,2140           77662                           MASK     BIT8                                  
018824,000154: 06,2141           10000                           CCS      A                                     
018825,000155: 06,2142           02161                           TC       JFAIL                                 
018826,000156: 06,2143           11404        JFAIL1             CCS      FCNTR                                 
018827,000157: 06,2144           02135                           TC       JF3                                   
018828,000158: 06,2145           31401                           CAE      XJBUF                                 
018829,000159: 06,2146           00006                           EXTEND                                         
018830,000160: 06,2147           01005                           WRITE    5                                     #  XJETS GO ON.
018831,000161: 06,2150           31402                           CAE      YZJBUF                                
018832,000162: 06,2151           00006                           EXTEND                                         
018833,000163: 06,2152           01006                           WRITE    6                                     #  YZJETS GO ON.
018834,000164: 06,2153           51407                           NDX      JETSTEP                               
018835,000165: 06,2154           31460                           CAE      JETOFFTM                              #  JET OFF TIME SCALED FOR T3.
018836,000166: 06,2155           04517                           TC       WAITLIST                              
018837,000167: 06,2156  E4,1407                                  EBANK=   JETSTEP                               
018838,000168: 06,2156           02077 14004                     2CADR    JETOFF                                
018839,000169: 
018840,000170: 06,2160           04563                           TC       TASKOVER                              
018841,000171: 
018842,000172: 06,2161           51404        JFAIL              NDX      FCNTR                                 
018843,000173: 06,2162           42204                           CS       XJETMASK                              
018844,000174: 06,2163           71401                           MASK     XJBUF                                 
018845,000175: 06,2164           55401                           TS       XJBUF                                 
018846,000176: 06,2165           51404                           NDX      FCNTR                                 
018847,000177: 06,2166           42174                           CS       YZJETMSK                              
018848,000178: 06,2167           71402                           MASK     YZJBUF                                
018849,000179: 06,2170           55402                           TS       YZJBUF                                
018850,000180: 06,2171           05405                           TC       ALARM                                 
018851,000181: 06,2172           01410                           OCT      01410                                 #  TEMPORARY JET FAIL ALARM CODE.
018852,000182: 06,2173           02143                           TC       JFAIL1                                
018853,000183: 
018854,000184: 06,2174           00010        YZJETMSK           OCT      00010                                 #  JET 11
018855,000185: 06,2175           00020                           OCT      00020                                 #  JET 12
018856,000186: 06,2176           00004                           OCT      00004                                 #  JET 15
018857,000187: 06,2177           00200                           OCT      00200                                 #  JET 16
018858,000188: 06,2200           00001                           OCT      00001                                 #  JET 7
018859,000189: 06,2201           00002                           OCT      00002                                 #  JET 3
018860,000190: 06,2202           00040                           OCT      00040                                 #  JET 8
018861,000191: 06,2203           00100                           OCT      00100                                 #  JET 4
018862,000192: 
018863,000193: 06,2204           00040        XJETMASK           OCT      00040                                 #  JET 10
018864,000194: 06,2205           00020                           OCT      00020                                 #  JET 9
018865,000195: 06,2206           00100                           OCT      00100                                 #  JET 13
018866,000196: 06,2207           00200                           OCT      00200                                 #  JET 14
018867,000197: 06,2210           00010                           OCT      00010                                 #  JET 6
018868,000198: 06,2211           00001                           OCT      00001                                 #  JET 1
018869,000199: 06,2212           00004                           OCT      00004                                 #  JET 5
018870,000200: 06,2213           00002                           OCT      00002                                 #  JET 2
018871,000201: 
018872,000202:                                                                                                  #  LEM FCS TEST  ENGINE ON - OFF TASK
018873,000203:                                                                                                  #  THIS TASK TURNS THE LEM ASCENT OR DESCENT ENGINE ON AND OFF ACCORDING TOTHE CONSTANTS STORED IN THE FIVE SETS OF
018874,000204:                                                                                                  #  REGISTERS, (1) CYLTIMES, WHICH CONTAINS THE NUMBER OF TIMES A PARTICULARSTEP WILL BE REPEATED, (2) NEXTCYLT,
018875,000205:                                                                                                  #   WHICH CONTAINS THE TIME BETWEEN STEPS SCALED FOR T3, (3) ONTIME, WHICH CONTAINS THE TIME TO TURN THE ENGINE ON
018876,000206:                                                                                                  #  WHICH ALSO DETERMINES THE LENGTH OF TIME THE ENGIME WILL BE OFF WITHIN A SERIES OF ON:OFF CYCLES, (4) OFFTIME,
018877,000207:                                                                                                  #   WHICH CONTAINS THE NUMBER OF 2 MINUTES BEFORE THE ENGINE WILL BE TURNED OFF, AND (5) OFFTIMER, WHICH
018878,000208:                                                                                                  #  CONTAINS THE RESIDUAL TIME BEFORE THE ENGINE WILL BE TURNED OFF.  OFFTIME AND OFFTIMER DETERMINE THE LENGTH
018879,000209:                                                                                                  #  OF TIME THE ENGINE WILL BE ON IN ANY ONE CYCLE. THERE ARE THREE SETS OF THESE REGISTERS.
018880,000210:                                                                                                  #      THE ENGSTEP REGISTER IS USED AS AN INDEX TO PICK UP A PARTICULAR SET  OF THE ABOVE 5 REGISTERS.  THIS TASK
018881,000211:                                                                                                  #  WILL BE ENTERED BUT IMMEDIATELY ENDED IF ENGSTEP AND CYLTIMES = +0.     THE ALLOWABLE VALUES OF ENGSTEP ARE +0,
018882,000212:                                                                                                  #  1 AND 2.
018883,000213: 
018884,000214: 06,2214           11470        NXTONOFF           CCS      ENGSTEP                               
018885,000215: 06,2215           02217                           TC       +2                                    
018886,000216: 06,2216           04563                           TC       TASKOVER                              #  EXIT HERE WHEN STEP AND CYL ARE +0.
018887,000217: 06,2217           55470                           TS       ENGSTEP                               #  ONE LESS.
018888,000218: 
018889,000219: 06,2220           51470        ENGSTART           NDX      ENGSTEP                               #  ENTER HERE.
018890,000220: 06,2221           11471                           CCS      CYLTIMES                              #  NUM OF EACH  ON/OFF SET
018891,000221: 06,2222           02224                           TC       +2                                    
018892,000222: 06,2223           02214                           TC       NXTONOFF                              #  NO MORE OF THIS SET
018893,000223: 06,2224           51470                           NDX      ENGSTEP                               
018894,000224: 06,2225           31474                           CAE      NEXTCYLT                              #  START OF NEXT CYCLE.
018895,000225: 06,2226           04517                           TC       WAITLIST                              
018896,000226: 06,2227  E4,1470                                  EBANK=   ENGSTEP                               
018897,000227: 06,2227           02250 14004                     2CADR    ENGONTM                               
018898,000228: 
018899,000229: 06,2231           04563                           TC       TASKOVER                              
018900,000230: 
018901,000231: 06,2232           44507        ENGRESET           CS       PRIO30                                #  BITS 13 AND 14.
018902,000232: 06,2233           00006                           EXTEND                                         
018903,000233: 06,2234           02011                           RAND     11                                    
018904,000234: 06,2235           67654                           AD       BIT14                                 
018905,000235: 06,2236           00006                           EXTEND                                         
018906,000236: 06,2237           01011                           WRITE    11                                    #  ENG ON = 0, ENG OFF = 1.
018907,000237: 06,2240           51470                           NDX      ENGSTEP                               
018908,000238: 06,2241           11471                           CCS      CYLTIMES                              
018909,000239: 06,2242           10000                           CCS      A                                     
018910,000240: 06,2243           02245                           TC       +2                                    
018911,000241: 06,2244           02214                           TC       NXTONOFF                              #  WAS ONE.
018912,000242: 06,2245           67671                           AD       ONE                                   #  WAS MORE THAN ONE.
018913,000243: 06,2246           51470                           NDX      ENGSTEP                               
018914,000244: 06,2247           55471                           TS       CYLTIMES                              
018915,000245: 
018916,000246: 06,2250           51470        ENGONTM            NDX      ENGSTEP                               
018917,000247: 06,2251           31502                           CAE      OFFTIME                               
018918,000248: 06,2252           55406                           TS       OFFTMBUF                              
018919,000249: 06,2253           51470                           NDX      ENGSTEP                               
018920,000250: 06,2254           31477                           CAE      ONTIME                                
018921,000251: 06,2255           04517                           TC       WAITLIST                              
018922,000252: 06,2256  E4,1470                                  EBANK=   ENGSTEP                               
018923,000253: 06,2256           02261 14004                     2CADR    ENGSET                                
018924,000254: 
018925,000255: 06,2260           04563                           TC       TASKOVER                              
018926,000256: 
018927,000257: 06,2261           44507        ENGSET             CS       PRIO30                                
018928,000258: 06,2262           00006                           EXTEND                                         
018929,000259: 06,2263           02011                           RAND     11                                    
018930,000260: 06,2264           67655                           AD       BIT13                                 
018931,000261: 06,2265           00006                           EXTEND                                         
018932,000262: 06,2266           01011                           WRITE    11                                    #  ENG ON = 1, ENG OFF = 0.
018933,000263: 06,2267           11406        ENGRST             CCS      OFFTMBUF                              
018934,000264: 06,2270           02277                           TC       LTIMEON                               #  AT LEAST 2MIN. BEFORE ENGINE OFF.
018935,000265: 06,2271           51470                           NDX      ENGSTEP                               
018936,000266: 06,2272           31505                           CAE      OFFTIMER                              #  LESS THAN 2MIN. TO ENGINE OFF.
018937,000267: 06,2273           04517                           TC       WAITLIST                              
018938,000268: 06,2274  E4,1470                                  EBANK=   ENGSTEP                               
018939,000269: 06,2274           02232 14004                     2CADR    ENGRESET                              
018940,000270: 
018941,000271: 06,2276           04563                           TC       TASKOVER                              
018942,000272: 
018943,000273: 06,2277           11406        LTIMEON            CCS      OFFTMBUF                              #  IS THERE ANY MORE.
018944,000274: 06,2300           02302                           TC       +2                                    #  YES.
018945,000275: 06,2301           02267                           TC       ENGRST                                #  NO.
018946,000276: 06,2302           55406                           TS       OFFTMBUF                              
018947,000277: 06,2303           32310                           CAF      2MIN                                  
018948,000278: 06,2304           04517                           TC       WAITLIST                              
018949,000279: 06,2305  E4,1470                                  EBANK=   ENGSTEP                               
018950,000280: 06,2305           02277 14004                     2CADR    LTIMEON                               
018951,000281: 
018952,000282: 06,2307           04563                           TC       TASKOVER                              
018953,000283: 
018954,000284: 06,2310           27340        2MIN               DEC      12000      B-14                       
018955,000285: 
018956,000286:                                                                                                  #  LEM FCS TEST  TRIM TASK
018957,000287:                                                                                                  #  THIS PROGRAM ISSUES A PROFILE OF PITCH AND ROLL TRIM COMMANDS TO THE LEM DESCENT ENGINE GIMBAL IN ACCORDANCEWITH
018958,000288:                                                                                                  #  THE VALUE S IN THE TRIMSTEP REGISTER AND THE 12 SETS OF 5 REGISTERS CALLED NUMTIMES, STEPDLYT, TRIMONT, TRIMOFFT
018959,000289:                                                                                                  #  AND TRIMIND.  TRIMSTEP IS USED TO PICK UP A PARTICULAR SET OF THE 5 REGISTERS AND HAS ALLOWABLE VALUES FROM +0
018960,000290:                                                                                                  #  THROUGH +11 DECIMAL.  THE 5 REGISTERS IN EACH SET ARE DEFINED AS FOLLOWS
018961,000291:                                                                                                  #      (1) NUMTIMES DETERMINES THE NUMBER OF TIMES THE COMMAND IN TRIMIND  WILL BE ISSUED.  VALUES FROM +0 TO
018962,000292:                                                                                                  #  OCT 37777 ARE PERMITTED.
018963,000293:                                                                                                  #      (2) STEPDLYT DETERMINES THE TIME BETWEEN THE START OF A STEP AND THE BEGINNING OF TRIMONT.  STEPDLYT MUST BE
018964,000294:                                                                                                  #  FORMATTED FOR T3, ITS MAXIMUM VALUE IS 2 MINUTES.
018965,000295:                                                                                                  #      (3) TRIMONT DETERMINES THE TIME BETWEEN THE END OF STEPDLYT OR TRIMOFFT AND THE TIME THE TRIM COMMANDS ARE
018966,000296:                                                                                                  #  ISSUED.  IT MUST BE FORMATTED FOR T3.
018967,000297:                                                                                                  #      (4) TRIMOFFT DETERMINES THE LENGTH OF TIME THE TRIM COMMAND WILL BE ON, FORMATTED FOR T3.
018968,000298:                                                                                                  #      (5) TRIMIND DETERMINES THE PITCH AND ROLL COMMAND TO BE ISSUED.  THE FORMAT IS, BIT9=1=+ PITCH COMMAND,
018969,000299:                                                                                                  #  BIT10=1=-PITCH, BIT11=1= +ROLL, BIT12=1= -ROLL.  A BIT=0 INDICATES NO COMMAND.  ANY COMBINATION OF COMMANDS IS
018970,000300:                                                                                                  #  PERMITTED.
018971,000301:                                                                                                  #     THIS TASK WILL BE ENTERED BUT IMMEDIATELY ENDED IF TRIMSTEP AND NUMTIMES = +0.
018972,000302: 
018973,000303: 
018974,000304: 06,2311           11510        NEXTTRIM           CCS      TRIMSTEP                              
018975,000305: 06,2312           02314                           TC       +2                                    
018976,000306: 06,2313           04563                           TC       TASKOVER                              #  EXIT HERE.
018977,000307: 06,2314           55510                           TS       TRIMSTEP                              #  LESS ONE.
018978,000308: 
018979,000309: 06,2315           51510        TRIMTOP            NDX      TRIMSTEP                              #  ENTER HERE.
018980,000310: 06,2316           11511                           CCS      NUMTIMES                              
018981,000311: 06,2317           02321                           TC       +2                                    
018982,000312: 06,2320           02311                           TC       NEXTTRIM                              
018983,000313: 06,2321           51510                           NDX      TRIMSTEP                              
018984,000314: 06,2322           31525                           CAE      STEPDLYT                              
018985,000315: 06,2323           04517                           TC       WAITLIST                              
018986,000316: 06,2324  E4,1510                                  EBANK=   TRIMSTEP                              
018987,000317: 06,2324           02342 14004                     2CADR    TRIMSET                               
018988,000318: 
018989,000319: 06,2326           04563                           TC       TASKOVER                              
018990,000320: 
018991,000321: 06,2327           42426        TRIMOFF            CS       TRIMMASK                              
018992,000322: 06,2330           00006                           EXTEND                                         
018993,000323: 06,2331           03012                           WAND     12                                    #  TRIM GOES OFF.
018994,000324: 06,2332           51510        NUMSTEP            NDX      TRIMSTEP                              
018995,000325: 06,2333           11511                           CCS      NUMTIMES                              
018996,000326: 06,2334           10000                           CCS      A                                     
018997,000327: 06,2335           02337                           TC       +2                                    
018998,000328: 06,2336           02311                           TC       NEXTTRIM                              #  WAS ONE.
018999,000329: 06,2337           67671                           AD       ONE                                   
019000,000330: 06,2340           51510                           NDX      TRIMSTEP                              
019001,000331: 06,2341           55511                           TS       NUMTIMES                              
019002,000332: 06,2342           51510        TRIMSET            NDX      TRIMSTEP                              
019003,000333: 06,2343           31541                           CAE      TRIMONT                               
019004,000334: 06,2344           04517                           TC       WAITLIST                              
019005,000335: 06,2345  E4,1510                                  EBANK=   TRIMSTEP                              
019006,000336: 06,2345           02350 14004                     2CADR    TRIMON                                
019007,000337: 
019008,000338: 06,2347           04563                           TC       TASKOVER                              
019009,000339: 
019010,000340: 06,2350           32425        TRIMON             CAF      BITS9,10                              #  CHECK PITCH AND ROLL TRIM FAIL BITS.
019011,000341: 06,2351           00006                           EXTEND                                         
019012,000342: 06,2352           06032                           RXOR     32                                    
019013,000343: 06,2353           72425                           MASK     BITS9,10                              
019014,000344: 06,2354           00006                           EXTEND                                         
019015,000345: 06,2355           12363                           BZF      TRIMON1                               
019016,000346: 06,2356           34514                           CAF      PRIO35                                #  FAIL IS ON. FLASH FAIL CODE (01400) AND
019017,000347: 06,2357           04344                           TC       NOVAC                                 #  IDLE UNTIL SOMEONE RESETS IT, TERMINATES
019018,000348: 06,2360           02376 14004                     2CADR    PERFORM                               #  THE TASK, OR DECIDES TO PROCEED WITH IT.
019019,000349: 
019020,000350: 06,2362           04563                           TC       TASKOVER                              
019021,000351: 
019022,000352: 06,2363           51510        TRIMON1            NDX      TRIMSTEP                              
019023,000353: 06,2364           31571                           CAE      TRIMIND                               
019024,000354: 06,2365           72426                           MASK     TRIMMASK                              #  SAFETY PLAY
019025,000355: 06,2366           00006                           EXTEND                                         
019026,000356: 06,2367           05012                           WOR      12                                    #  TRIM STARTS.
019027,000357: 06,2370           51510                           NDX      TRIMSTEP                              
019028,000358: 06,2371           31555                           CAE      TRIMOFFT                              
019029,000359: 06,2372           04517                           TC       WAITLIST                              
019030,000360: 06,2373  E4,1510                                  EBANK=   TRIMSTEP                              
019031,000361: 06,2373           02327 14004                     2CADR    TRIMOFF                               
019032,000362: 
019033,000363: 06,2375           04563                           TC       TASKOVER                              
019034,000364: 
019035,000365: 06,2376           05311        PERFORM            TC       GRABWAIT                              #  KEY RELEASE MAY COME ON.
019036,000366: 06,2377           32425                           CAF      TRIMCODE                              #  01400
019037,000367: 06,2400           54333                           TS       DSPTEM1                               
019038,000368: 06,2401           32427                           CAF      V01N25K                               
019039,000369: 06,2402           05324                           TC       NVSBWAIT                              
019040,000370: 06,2403           32430                           CAF      V50K                                  #  PLEASE PERFORM.
019041,000371: 06,2404           05324                           TC       NVSBWAIT                              
019042,000372: 06,2405           05266                           TC       FLASHON                               #  ANY RESPONSE TURNS IT OFF.
019043,000373: 06,2406           05132                           TC       ENDIDLE                               #  WAIT FOR SOMEONE TO DO SOMETHING.
019044,000374: 06,2407           04421                           TC       EJFREE                                #  V34E. TERMINATE THE TASK.
019045,000375: 06,2410           02417                           TC       TR1                                   #  V33E. PROCEED WITH THE FAIL ON.
019046,000376: 06,2411           00004                           INHINT                                         #  ENTER. THE FAIL HAS BEEN RESET.
019047,000377: 06,2412           37670                           CAF      BIT2                                  #  20MS.
019048,000378: 06,2413           04517                           TC       WAITLIST                              
019049,000379: 06,2414           02350 14004                     2CADR    TRIMON                                #  CHECK AGAIN TO BE SURE, THEN PROCEED..
019050,000380: 
019051,000381: 06,2416           04421                           TC       EJFREE                                
019052,000382: 
019053,000383: 06,2417           00004        TR1                INHINT                                         #  PROCEED WITH THE FAIL.
019054,000384: 06,2420           37670                           CAF      BIT2                                  #  20MS.
019055,000385: 06,2421           04517                           TC       WAITLIST                              
019056,000386: 06,2422           02363 14004                     2CADR    TRIMON1                               #  BYPASS THE RECHECK.
019057,000387: 
019058,000388: 06,2424           04421                           TC       EJFREE                                
019059,000389: 
019060,000390: 06,2425           01400        BITS9,10           OCT      01400                                 
019061,000391: 06,2426  06,2425               TRIMCODE           EQUALS   BITS9,10                              
019062,000392: 06,2426           07400        TRIMMASK           OCT      07400                                 
019063,000393: 06,2427           00125        V01N25K            OCT      00125                                 
019064,000394: 06,2430           05000        V50K               OCT      05000                                 
019065,000395: 
019066,000396:                                                                                                  #  LEM FCS TEST  THROTTLE TASK
019067,000397:                                                                                                  #     THIS PROGRAM ISSUES A PROFILE OF THROTTLE COMMANDS TO THE LEM DESCENT ENGINE.  THE PROFILE IS DETERMINED BY
019068,000398:                                                                                                  #  THE VALUES IN THE THRTSTEP REGISTER AND THE 6  SETS OF REGISTERS, 5 PER SET, CALLED  DOTIMES, DELAY, THR1TIME,
019069,000399:                                                                                                  #  THCOMM1 AND THCOMM2.  THE THRTSTEP REGISTER VALUE IS USED TO INDEX THE  6  SETS OF 5 REGISTERS AND HAS ALLOWABLE
019070,000400:                                                                                                  #  VALUES OF +0 THROUGH +5.  THE 5 REGISTERS PER SET ARE DEFINED AS FOLLOWS
019071,000401:                                                                                                  #      (1) DOTIMES DETERMINES THE NUMBER OF TIMES THE THROTTLE WILL BE EXERCISED AS PER THE VALUES OF THR1TIME,
019072,000402:                                                                                                  #  THCOMM1 AND THCOMM2 OF THE CURRENT STEP.  IT HAS ALLOWABLE VALUES OF +0 THROUGH 37777 OCT.
019073,000403:                                                                                                  #      (2) DELAY DETERMINES THE TIME BETWEEN THE START OF A STEP AND THE BE GINNING OF THR1TIME. ITIS CALLED ONLY
019074,000404:                                                                                                  #  ONCE PER STEP,I.E., REPEATS OF THE SAME THCOMM1 AND THCOMM2 START AT THR1TIME.  DELAY MUST BE FORMATTED FOR T3
019075,000405:                                                                                                  #  AND HENCE HAS A MAXIMUM VALUE OF 2 MINUTES.
019076,000406:                                                                                                  #      (3) THR1TIME DETERMINES THE TIME BETWEEN THE END OF DELAY OR THE END   OF THCOMM2 AND THE START OF
019077,000407:                                                                                                  #  THCOMM1.  IT MUST BE FORMATTED FOR T3.
019078,000408:                                                                                                  #      (4) THCOMM1 AND (5) THCOMM2 DETERMINE THE NUMBER OF THRUST INCREASE  OR DECREASE PULSES TOBE ISSUED AT A
019079,000409:                                                                                                  #  3.2KPPS RATE.  THE RANGE OF POSSIBLE VALUES OF EITHER IS FROM POSMAX (OCT 37777) TO NEGMAX (OCT 40000) ALTHOUGH
019080,000410:                                                                                                  #  THE ACTUAL THROTTLE RANGE IS FROM OCT 6116 TO OCT 71661 (+,- 3150 DEC).
019081,000411:                                                                                                  #     THIS TASK WILL BE ENTERED BUT IMMEDIATELY ENDED IF THE INITIAL VALUES OF THRTSTEP AND DOTIMES ARE +0.
019082,000412: 
019083,000413: 
019084,000414: 06,2431           11605        NEXTTHRT           CCS      THRTSTEP                              
019085,000415: 06,2432           02434                           TC       +2                                    
019086,000416: 06,2433           04563                           TC       TASKOVER                              #  EXIT HERE.
019087,000417: 06,2434           55605                           TS       THRTSTEP                              
019088,000418: 
019089,000419: 06,2435           51605        THRSTART           NDX      THRTSTEP                              #  ENTER HERE.
019090,000420: 06,2436           11606                           CCS      DOTIMES                               #  NUMBER OF TIMES COMMANDS 1 AND 2 DONE.
019091,000421: 06,2437           02441                           TC       +2                                    
019092,000422: 06,2440           02431                           TC       NEXTTHRT                              
019093,000423: 06,2441           51605                           NDX      THRTSTEP                              
019094,000424: 06,2442           31614                           CAE      DELAY                                 #  TIME BETWEEN STEPS.  BIAS FOR THR1TIME.
019095,000425:                                                                                                  #  MUST BE SCALED FOR T3.
019096,000426: 06,2443           04517                           TC       WAITLIST                              
019097,000427: 06,2444  E4,1605                                  EBANK=   THRTSTEP                              
019098,000428: 06,2444           02467 14004                     2CADR    THROTON1                              
019099,000429: 
019100,000430: 06,2446           04563                           TC       TASKOVER                              
019101,000431: 
019102,000432: 06,2447           51605        THR2COMM           NDX      THRTSTEP                              
019103,000433: 06,2450           31636                           CAE      THCOMM2                               #  SAME REMARKS AS FOR THCOMM1.
019104,000434: 06,2451           02505                           TC       THROTON                               
019105,000435: 06,2452           67671                           AD       BIT1                                  #  10MS IN CASE OF NO THCOMM2.
019106,000436: 06,2453           04517                           TC       WAITLIST                              
019107,000437: 06,2454  E4,1605                                  EBANK=   THRTSTEP                              
019108,000438: 06,2454           02457 14004                     2CADR    CKDOTIME                              
019109,000439: 
019110,000440: 06,2456           04563                           TC       TASKOVER                              
019111,000441: 
019112,000442: 06,2457           51605        CKDOTIME           NDX      THRTSTEP                              
019113,000443: 06,2460           11606                           CCS      DOTIMES                               
019114,000444: 06,2461           10000                           CCS      A                                     
019115,000445: 06,2462           02464                           TC       +2                                    
019116,000446: 06,2463           02431                           TC       NEXTTHRT                              #  WAS ONE.
019117,000447: 06,2464           67671                           AD       ONE                                   
019118,000448: 06,2465           51605                           NDX      THRTSTEP                              
019119,000449: 06,2466           55606                           TS       DOTIMES                               
019120,000450: 06,2467           51605        THROTON1           NDX      THRTSTEP                              
019121,000451: 06,2470           31622                           CAE      THR1TIME                              #  TIME BETWEEN DOTIMES.  SCALED FOR T3.
019122,000452: 06,2471           04517                           TC       WAITLIST                              
019123,000453: 06,2472  E4,1605                                  EBANK=   THRTSTEP                              
019124,000454: 06,2472           02475 14004                     2CADR    THR1COMM                              
019125,000455: 
019126,000456: 06,2474           04563                           TC       TASKOVER                              
019127,000457: 
019128,000458: 06,2475           51605        THR1COMM           NDX      THRTSTEP                              
019129,000459: 06,2476           31630                           CAE      THCOMM1                               #  SHOULD BE NO LARGER THAN 3150DEC.
019130,000460: 06,2477           02505                           TC       THROTON                               
019131,000461: 06,2500           62522                           AD       250MS                                 #  SO ACE CAN SAMPLE.
019132,000462: 06,2501           04517                           TC       WAITLIST                              
019133,000463: 06,2502  E4,1605                                  EBANK=   THRTSTEP                              
019134,000464: 06,2502           02447 14004                     2CADR    THR2COMM                              
019135,000465: 
019136,000466: 06,2504           04563                           TC       TASKOVER                              
019137,000467: 
019138,000468: 06,2505           54055        THROTON            TS       THRUST                                #  THROTTLE OUTPUT COUNTER.
019139,000469: 06,2506           55405                           TS       THBUF                                 #  SAVE FOR BZMF.
019140,000470: 06,2507           37666                           CAF      BIT4                                  
019141,000471: 06,2510           00006                           EXTEND                                         
019142,000472: 06,2511           05014                           WOR      14                                    #  ENABLE THRUST DRIVE.  COMMAND STARTS NOW
019143,000473: 06,2512           31405                           CAE      THBUF                                 
019144,000474: 06,2513           00006                           EXTEND                                         
019145,000475: 06,2514           62516                           BZMF     +2                                    
019146,000476: 06,2515           40000                           COM                                            
019147,000477: 06,2516           40000                           COM                                            
019148,000478: 06,2517           00006                           EXTEND                                         
019149,000479: 06,2520           77660                           MP       BIT10                                 #  SCALES FOR T3.
019150,000480: 06,2521           00002                           TC       Q                                     
019151,000481: 
019152,000482: 06,2522           00031        250MS              OCT      00031                                 
019153,000483: 
019154,000484:                                                                                                  #  LEM FCS TEST  INTERFACE LOOK TASK.
019155,000485: 
019156,000486:                                                                                                  #      THIS PROGRAM KEEPS A RUNNING HISTORY OF THE STATE OF ALL THE BITS IN INPUT CHANNELS 30, 31, 32 AND 33.
019157,000487:                                                                                                  #  IT DOES THIS BY DETECTING A CHANGE OF AN INPUT BIT FROM AN INITIAL ONE STATE TO A ZERO STATE OR FROM AN INITIAL
019158,000488:                                                                                                  #  ZERO TO A ONE.  THE HISTORY IS MAINTAINED IN TWO BUFFER REGISTERS FOR EACH CHANNEL, ONE FOR STORING ONE TO ZERO
019159,000489:                                                                                                  #  CHANGES (30BUF1, +1, +2, AND +3) AND ONE FOR ZERO TO ONE CHANGES (30BUF0, +1 +2 AND +3).  THE OPERATOR MUST
019160,000490:                                                                                                  #  LOAD THE INITIAL STATES OF THE INPUT CHANNELS INTO THEIR RESPECTIVE BUFFER REGISTERS BEFORE THIS PROGRAM IS IN-
019161,000491:                                                                                                  #  ITIATED.
019162,000492:                                                                                                  #      TO ALLOW THIS PROGRAM TO RUN C(QUITLOOK) MUST BE SET GREATER THAN +0 BEFORE IT IS STARTED.  IF THE OPERATOR
019163,000493:                                                                                                  #  DOES NOT DESIRE THIS PROGRAM TO RUN HE SHOULD SET C(QUITLOOK)=+0 BEFORE STARTING THE FCS TEST.  AFTER THIS TASK
019164,000494:                                                                                                  #  IS RUNNING THE OPERATOR CAN STOP IT BY SETTING C(QUITLOOK) = +0.
019165,000495:                                                                                                  #      NO DISPLAYS OF EITHER THE BUFFER REGISTERS OR CHANNELS ARE INCORPORATED INTO THIS PROGRAM.  THIS WAS DONE TO
019166,000496:                                                                                                  #  ALLOW THE TEST OPERATOR MONITORING FLEXIBILITY.  FOR REAL TIME MONITORING IT IS SUGGESTED THAT THE BUFFER
019167,000497:                                                                                                  #  REGISTERS BE DISPLAYED WITH THE MONITOR VERBS (11 THROUGH 15).  ON THE OTHER HAND, THE OPERATOR MAY ELECT TO
019168,000498:                                                                                                  #  PERFORM NO REAL TIME MONITORING UNTIL THE TEST IS COMPLETED, WHEN THE BUFFER REGISTERS WOULD BE CALLED FOR
019169,000499:                                                                                                  #  DISPLAY (VERB 01) AND RECORDED.
019170,000500:                                                                                                  #      THIS PROGRAM IS PRIMARILY INTENDED FOR INTERFACE MONITORING DURING THE LEM VIBRATION TEST AT BETHPAGE, N.Y.,
019171,000501:                                                                                                  #  ALTHOUGH IT MAY ALSO BE USEFUL DURING VEHICAL LEVEL EMI TESTS.
019172,000502: 
019173,000503: 06,2523           11654        LOOKTOP            CCS      QUITLOOK                              #  IS THIS TASK WANTED.
019174,000504: 06,2524           02526                           TC       +2                                    #  YES.
019175,000505: 06,2525           04563                           TC       TASKOVER                              #  NO.
019176,000506: 06,2526           36176                           CAF      THREE                                 #  START SCAN OF CHANNELS.
019177,000507: 06,2527           55655        LOOKLOOP           TS       CHCNTR                                #  3, 2, 1, 0.
019178,000508: 06,2530           51655                           NDX      CHCNTR                                
019179,000509: 06,2531           31644                           CAE      30BUF1                                
019180,000510: 06,2532           00006                           EXTEND                                         
019181,000511: 06,2533           51655                           NDX      CHCNTR                                
019182,000512: 06,2534           02030                           RAND     30                                    #  DETECTS CHANGES FROM 1 TO 0.
019183,000513: 06,2535           51655                           NDX      CHCNTR                                
019184,000514: 06,2536           57644                           XCH      30BUF1                                #  STORE NEW ZEROS.
019185,000515: 06,2537           51655                           NDX      CHCNTR                                
019186,000516: 06,2540           31650                           CAE      30BUF0                                
019187,000517: 06,2541           00006                           EXTEND                                         
019188,000518: 06,2542           51655                           NDX      CHCNTR                                
019189,000519: 06,2543           04030                           ROR      30                                    #  DETECTS CHANGES FROM 0 TO 1.
019190,000520: 06,2544           51655                           NDX      CHCNTR                                
019191,000521: 06,2545           57650                           XCH      30BUF0                                #  STORE NEW ONES.
019192,000522: 06,2546           11655                           CCS      CHCNTR                                #  IS THIS SCAN DONE.
019193,000523: 06,2547           02527                           TC       LOOKLOOP                              #  NO.
019194,000524: 06,2550           35234                           CAF      TEN                                   #  YES.  100MS RECALL.
019195,000525: 06,2551           04517                           TC       WAITLIST                              
019196,000526: 06,2552  E4,1654                                  EBANK=   QUITLOOK                              
019197,000527: 06,2552           02523 14004                     2CADR    LOOKTOP                               
019198,000528: 
019199,000529: 06,2554           04563                           TC       TASKOVER                              
019200,000530: 06,2555                        ENDLFCSS           =                                              

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