Source Code

   YAYUL: ASSEMBLE REVISION 5 OF PROGRAM BOREALIS       BY MSTEWART MAR. 27,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.

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

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