Source Code
These source-code files are part of a reconstructed copy of Aurora 88, the
final release of the Lunar Module (LM) Apollo Guidance Computer (AGC) system
test software.
They have been created via disassembly of binary dumps of original core rope memory modules, part numbers 2003972-011, 2003972-091, and 2003972-111, belonging to Steve Jurvetson. Since only binary dumps (rather than listings) of Aurora 88 are available as source material, all comments and labels are approximate. They have been taken from other AGC programs where possible, or, in some places, written from scratch to match what we believe would have been in the original listing. |
016450,000002: ## Copyright: Public domain.
016451,000003: ## Filename: LEM_FLIGHT_CONTROL_SYSTEM_TEST.agc
016452,000004: ## Purpose: A section of Aurora 88.
016453,000005: ## It is part of the reconstructed source code for the final
016454,000006: ## release of the Lunar Module system test software. No original
016455,000007: ## listings of this program are available; instead, this file
016456,000008: ## was created via disassembly of dumps of Aurora 88 core rope
016457,000009: ## modules and comparison with other AGC programs.
016458,000010: ## Assembler: yaYUL
016459,000011: ## Contact: Ron Burkey <info@sandroid.org>.
016460,000012: ## Website: www.ibiblio.org/apollo/index.html
016461,000013: ## Mod history: 2023-06-30 MAS Created from Aurora 12.
016462,000014:
016463,000015:
016464,000016: 06,2000 BANK 6
016465,000017: 06,2000 E4,1407 EBANK= JETSTEP
016466,000018:
016467,000019: # LEM FCS TEST ENTRY AND INITIALIZATION JOB.
016468,000020:
016469,000021: # THIS JOB INITIALIZES THE ERASABLE TABLES FOR THE FCS TEST AND PUTS THE FOLLOWING PROGRAMS UNDER
016470,000022: # WAITLIST CONTROL.
016471,000023: # (1) RCS JET SET TASK
016472,000024: # (2) ENGINE ON - OFF TASK
016473,000025: # (3) DESCENT ENGINE GIMBAL TRIM TASK
016474,000026: # (4) DESCENT ENGINE THROTTLE TASK
016475,000027: # (5) INTERFACE CHANNEL LOOK TASK
016476,000028:
016477,000029:
016478,000030: 06,2000 05221 FCSSTART TC GRABWAIT # SO NOTHING DISRUPTS THE LOAD.
016479,000031: 06,2001 32054 CAF JSTEPADR # THE START OF THE LIST.
016480,000032: 06,2002 10000 FCS3 CCS A
016481,000033: 06,2003 54142 TS MPAC +2
016482,000034: 06,2004 32057 FCS2 CAF V04N01K # DISPLAY PRESENT CONTENTS IN R2.
016483,000035: 06,2005 05234 TC NVSBWAIT
016484,000036: 06,2006 24142 INCR MPAC +2
016485,000037: 06,2007 32055 CAF V21N02K
016486,000038: 06,2010 05234 TC NVSBWAIT # IN CASE IT,S BUSY BUT IT SHOULDN,T BE.
016487,000039: 06,2011 05042 TC ENDIDLE # WHILE LOADING.
016488,000040: 06,2012 02015 TC +3 # V34E. TERMINATE LOAD OF THIS LIST
016489,000041: # SECTION, GO TO NEW SECTION OR TO TEST.
016490,000042: 06,2013 02014 TC +1 # V33E. PRESENT CONTENTS OK, PROCEED TO
016491,000043: # NEXT LOCATION IN LIST.
016492,000044: 06,2014 02004 TC FCS2
016493,000045: 06,2015 32056 CAF V21N30K
016494,000046: 06,2016 05234 TC NVSBWAIT
016495,000047: 06,2017 05042 TC ENDIDLE
016496,000048: 06,2020 04352 TC EJFREE
016497,000049: 06,2021 02024 TC FCSTEST1 # PROCEED TO TEST.
016498,000050: 06,2022 30333 CAE DSPTEM1 # NEW ADDRESS.
016499,000051: 06,2023 02002 TC FCS3
016500,000052: 06,2024 32060 FCSTEST1 CAF V47K
016501,000053: 06,2025 05234 TC NVSBWAIT # OUR VERB IN THE LIGHTS.
016502,000054: 06,2026 00004 FCSTEST INHINT
016503,000055: 06,2027 E4,1407 EBANK= JETSTEP
016504,000056: 06,2027 37651 CAF TWO # 20MS.
016505,000057: 06,2030 04451 TC WAITLIST
016506,000058: 06,2031 E4,1407 EBANK= JETSTEP
016507,000059: 06,2031 02065 14004 2CADR JETSTART
016508,000060:
016509,000061: 06,2033 37652 CAF BIT1 # 10MS.
016510,000062: 06,2034 04451 TC WAITLIST
016511,000063: 06,2035 E4,1407 EBANK= JETSTEP
016512,000064: 06,2035 02220 14004 2CADR ENGSTART
016513,000065:
016514,000066: 06,2037 36165 CAF THREE # 30MS.
016515,000067: 06,2040 E4,1407 EBANK= JETSTEP
016516,000068: 06,2040 04451 TC WAITLIST
016517,000069: 06,2041 02315 14004 2CADR TRIMTOP
016518,000070:
016519,000071: 06,2043 37650 CAF FOUR # 40MS.
016520,000072: 06,2044 04451 TC WAITLIST
016521,000073: 06,2045 E4,1407 EBANK= JETSTEP
016522,000074: 06,2045 02435 14004 2CADR THRSTART
016523,000075:
016524,000076: 06,2047 37227 CAF FIVE # 50MS.
016525,000077: 06,2050 04451 TC WAITLIST
016526,000078: 06,2051 E4,1407 EBANK= JETSTEP
016527,000079: 06,2051 02523 14004 2CADR LOOKTOP
016528,000080:
016529,000081: 06,2053 04352 TC EJFREE # NOW THEY START.
016530,000082:
016531,000083: 06,2054 02007 JSTEPADR ECADR JETSTEP
016532,000084: 06,2055 02102 V21N02K OCT 02102
016533,000085: 06,2056 02130 V21N30K OCT 02130
016534,000086: 06,2057 00401 V04N01K OCT 00401
016535,000087: 06,2060 04700 V47K OCT 04700
016536,000088:
016537,000089: # LEM FCS TEST RCS JETSET TASK
016538,000090: # THIS JOB ISSUES A PROFILE OF JET ON-OFF SIGNALS AS DETERMINED BY THE CONSTANTS IN A SET OF SIX REGISTERS.
016539,000091: # THE SIX REGISTERS ARE, (1) NTIMES, THE NUMBER OF TIMES A PARTICULAR STEP WILL BE PERFORMED. (2) NEXTTIME, THE
016540,000092: # TIME BETWEEN STEPS, A MAXIMUM OF 2 MINUTES, (3) JETONTM, THE TIME TO TURN THE JETS ON, SCALED FOR T3, (4) JET-
016541,000093: # OFFTM, THE TIME AFTER ONTM TO TURN THE JETS OFF, (5) XJETS, THE PARTICULAR X JETS TO BE TURNED ON AND OFF
016542,000094: # 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
016543,000095: # STEP. XJETS AND YZJETS MUST BE IN THE SAME FORMAT AS CHANNELS 5 AND6 RESPECTIVELY. THERE ARE EIGHT SETS OF
016544,000096: # THESE SIX REGISTERS.
016545,000097: # THE REGISTER JETSTEP IS USED TO INDEX THE 8 SETS OF REGISTERS, THE ALLOWABLE VALUES OF JETSTEP ARE +0 THRU 7
016546,000098: # THIS JOB WILL BE ENTERED BUT IMMEDIATELY ENDED IF THE INITIAL VALUES OF JETSTEP AND NTIMES ARE +0.
016547,000099:
016548,000100:
016549,000101: 06,2061 11407 NEXTSET CCS JETSTEP # IT MAY BE ZERO.
016550,000102: 06,2062 02064 TC +2 # NOPE
016551,000103: 06,2063 04505 TC TASKOVER # IT IS SO WE ARE DONE WITH THIS TASK.
016552,000104: 06,2064 55407 TS JETSTEP
016553,000105:
016554,000106: 06,2065 51407 JETSTART NDX JETSTEP # ENTER HERE.
016555,000107: 06,2066 11410 CCS NTIMES # SEE IF THIS STEP IS FINISHED.
016556,000108: 06,2067 02071 TC +2 # NO
016557,000109: 06,2070 02061 TC NEXTSET # YES
016558,000110: 06,2071 51407 NDX JETSTEP
016559,000111: 06,2072 31420 CAE NEXTTIME # MUST BE SCALED FOR T3. REMEMBER TO BIAS
016560,000112: # THIS FOR ON TIME.
016561,000113: 06,2073 04451 TC WAITLIST
016562,000114: 06,2074 E4,1407 EBANK= JETSTEP
016563,000115: 06,2074 02110 14004 2CADR JTOP
016564,000116:
016565,000117: 06,2076 04505 TC TASKOVER
016566,000118:
016567,000119: 06,2077 37657 JETOFF CAF ZERO
016568,000120: 06,2100 00006 EXTEND
016569,000121: 06,2101 01005 WRITE 5
016570,000122: 06,2102 00006 EXTEND
016571,000123: 06,2103 01006 WRITE 6
016572,000124: 06,2104 51407 NDX JETSTEP
016573,000125: 06,2105 11410 CCS NTIMES
016574,000126: 06,2106 51407 NDX JETSTEP
016575,000127: 06,2107 55410 TS NTIMES # ONE LESS TIME.
016576,000128: 06,2110 51407 JTOP NDX JETSTEP
016577,000129: 06,2111 11410 CCS NTIMES # FOR LOOPING.
016578,000130: 06,2112 02114 TC +2
016579,000131: 06,2113 02061 TC NEXTSET
016580,000132: 06,2114 51407 NDX JETSTEP
016581,000133: 06,2115 31430 CAE JETONTM # SCALED FOR T3. TIME FOR JETS ON.
016582,000134: 06,2116 04451 TC WAITLIST
016583,000135: 06,2117 E4,1407 EBANK= JETSTEP
016584,000136: 06,2117 02122 14004 2CADR JETON
016585,000137:
016586,000138: 06,2121 04505 TC TASKOVER
016587,000139:
016588,000140: 06,2122 51407 JETON NDX JETSTEP
016589,000141: 06,2123 31440 CAE XJETS # MUST BE IN CHANNEL 5 FORMAT.
016590,000142: 06,2124 55401 TS XJBUF
016591,000143: 06,2125 51407 NDX JETSTEP
016592,000144: 06,2126 31450 CAE YZJETS # MUST BE IN CHANNEL 6 FORMAT.
016593,000145: 06,2127 55402 TS YZJBUF
016594,000146: 06,2130 00006 JFAILCK EXTEND # THIS ROUTINE EXAMINES EACH JETFAIL BIT
016595,000147: 06,2131 00032 READ 32 # AND IF A FAILURE IS INDICATED THE CORRES
016596,000148: 06,2132 40000 COM # PONDING COMMANDS ARE MASKED OUT .
016597,000149: 06,2133 55403 TS JFBUF # SAVE 32 REINVERTED.
016598,000150: 06,2134 37656 CAF SEVEN
016599,000151: 06,2135 55404 JF3 TS FCNTR
016600,000152: 06,2136 31403 CAE JFBUF
016601,000153: 06,2137 51404 NDX FCNTR
016602,000154: 06,2140 77643 MASK BIT8
016603,000155: 06,2141 10000 CCS A
016604,000156: 06,2142 02161 TC JFAIL
016605,000157: 06,2143 11404 JFAIL1 CCS FCNTR
016606,000158: 06,2144 02135 TC JF3
016607,000159: 06,2145 31401 CAE XJBUF
016608,000160: 06,2146 00006 EXTEND
016609,000161: 06,2147 01005 WRITE 5 # XJETS GO ON.
016610,000162: 06,2150 31402 CAE YZJBUF
016611,000163: 06,2151 00006 EXTEND
016612,000164: 06,2152 01006 WRITE 6 # YZJETS GO ON.
016613,000165: 06,2153 51407 NDX JETSTEP
016614,000166: 06,2154 31460 CAE JETOFFTM # JET OFF TIME SCALED FOR T3.
016615,000167: 06,2155 04451 TC WAITLIST
016616,000168: 06,2156 E4,1407 EBANK= JETSTEP
016617,000169: 06,2156 02077 14004 2CADR JETOFF
016618,000170:
016619,000171: 06,2160 04505 TC TASKOVER
016620,000172:
016621,000173: 06,2161 51404 JFAIL NDX FCNTR
016622,000174: 06,2162 42204 CS XJETMASK
016623,000175: 06,2163 71401 MASK XJBUF
016624,000176: 06,2164 55401 TS XJBUF
016625,000177: 06,2165 51404 NDX FCNTR
016626,000178: 06,2166 42174 CS YZJETMSK
016627,000179: 06,2167 71402 MASK YZJBUF
016628,000180: 06,2170 55402 TS YZJBUF
016629,000181: 06,2171 05315 TC ALARM
016630,000182: 06,2172 01410 OCT 01410 # TEMPORARY JET FAIL ALARM CODE.
016631,000183: 06,2173 02143 TC JFAIL1
016632,000184:
016633,000185: 06,2174 00010 YZJETMSK OCT 00010 # JET 11
016634,000186: 06,2175 00020 OCT 00020 # JET 12
016635,000187: 06,2176 00004 OCT 00004 # JET 15
016636,000188: 06,2177 00200 OCT 00200 # JET 16
016637,000189: 06,2200 00001 OCT 00001 # JET 7
016638,000190: 06,2201 00002 OCT 00002 # JET 3
016639,000191: 06,2202 00040 OCT 00040 # JET 8
016640,000192: 06,2203 00100 OCT 00100 # JET 4
016641,000193:
016642,000194: 06,2204 00040 XJETMASK OCT 00040 # JET 10
016643,000195: 06,2205 00020 OCT 00020 # JET 9
016644,000196: 06,2206 00100 OCT 00100 # JET 13
016645,000197: 06,2207 00200 OCT 00200 # JET 14
016646,000198: 06,2210 00010 OCT 00010 # JET 6
016647,000199: 06,2211 00001 OCT 00001 # JET 1
016648,000200: 06,2212 00004 OCT 00004 # JET 5
016649,000201: 06,2213 00002 OCT 00002 # JET 2
016650,000202:
016651,000203: # LEM FCS TEST ENGINE ON - OFF TASK
016652,000204: # THIS TASK TURNS THE LEM ASCENT OR DESCENT ENGINE ON AND OFF ACCORDING TOTHE CONSTANTS STORED IN THE FIVE SETS OF
016653,000205: # REGISTERS, (1) CYLTIMES, WHICH CONTAINS THE NUMBER OF TIMES A PARTICULARSTEP WILL BE REPEATED, (2) NEXTCYLT,
016654,000206: # WHICH CONTAINS THE TIME BETWEEN STEPS SCALED FOR T3, (3) ONTIME, WHICH CONTAINS THE TIME TO TURN THE ENGINE ON
016655,000207: # WHICH ALSO DETERMINES THE LENGTH OF TIME THE ENGIME WILL BE OFF WITHIN A SERIES OF ON:OFF CYCLES, (4) OFFTIME,
016656,000208: # WHICH CONTAINS THE NUMBER OF 2 MINUTES BEFORE THE ENGINE WILL BE TURNED OFF, AND (5) OFFTIMER, WHICH
016657,000209: # CONTAINS THE RESIDUAL TIME BEFORE THE ENGINE WILL BE TURNED OFF. OFFTIME AND OFFTIMER DETERMINE THE LENGTH
016658,000210: # OF TIME THE ENGINE WILL BE ON IN ANY ONE CYCLE. THERE ARE THREE SETS OF THESE REGISTERS.
016659,000211: # THE ENGSTEP REGISTER IS USED AS AN INDEX TO PICK UP A PARTICULAR SET OF THE ABOVE 5 REGISTERS. THIS TASK
016660,000212: # WILL BE ENTERED BUT IMMEDIATELY ENDED IF ENGSTEP AND CYLTIMES = +0. THE ALLOWABLE VALUES OF ENGSTEP ARE +0,
016661,000213: # 1 AND 2.
016662,000214:
016663,000215: 06,2214 11470 NXTONOFF CCS ENGSTEP
016664,000216: 06,2215 02217 TC +2
016665,000217: 06,2216 04505 TC TASKOVER # EXIT HERE WHEN STEP AND CYL ARE +0.
016666,000218: 06,2217 55470 TS ENGSTEP # ONE LESS.
016667,000219:
016668,000220: 06,2220 51470 ENGSTART NDX ENGSTEP # ENTER HERE.
016669,000221: 06,2221 11471 CCS CYLTIMES # NUM OF EACH ON/OFF SET
016670,000222: 06,2222 02224 TC +2
016671,000223: 06,2223 02214 TC NXTONOFF # NO MORE OF THIS SET
016672,000224: 06,2224 51470 NDX ENGSTEP
016673,000225: 06,2225 31474 CAE NEXTCYLT # START OF NEXT CYCLE.
016674,000226: 06,2226 04451 TC WAITLIST
016675,000227: 06,2227 E4,1470 EBANK= ENGSTEP
016676,000228: 06,2227 02250 14004 2CADR ENGONTM
016677,000229:
016678,000230: 06,2231 04505 TC TASKOVER
016679,000231:
016680,000232: 06,2232 44441 ENGRESET CS PRIO30 # BITS 13 AND 14.
016681,000233: 06,2233 00006 EXTEND
016682,000234: 06,2234 02011 RAND 11
016683,000235: 06,2235 67635 AD BIT14
016684,000236: 06,2236 00006 EXTEND
016685,000237: 06,2237 01011 WRITE 11 # ENG ON = 0, ENG OFF = 1.
016686,000238: 06,2240 51470 NDX ENGSTEP
016687,000239: 06,2241 11471 CCS CYLTIMES
016688,000240: 06,2242 10000 CCS A
016689,000241: 06,2243 02245 TC +2
016690,000242: 06,2244 02214 TC NXTONOFF # WAS ONE.
016691,000243: 06,2245 67652 AD ONE # WAS MORE THAN ONE.
016692,000244: 06,2246 51470 NDX ENGSTEP
016693,000245: 06,2247 55471 TS CYLTIMES
016694,000246:
016695,000247: 06,2250 51470 ENGONTM NDX ENGSTEP
016696,000248: 06,2251 31502 CAE OFFTIME
016697,000249: 06,2252 55406 TS OFFTMBUF
016698,000250: 06,2253 51470 NDX ENGSTEP
016699,000251: 06,2254 31477 CAE ONTIME
016700,000252: 06,2255 04451 TC WAITLIST
016701,000253: 06,2256 E4,1470 EBANK= ENGSTEP
016702,000254: 06,2256 02261 14004 2CADR ENGSET
016703,000255:
016704,000256: 06,2260 04505 TC TASKOVER
016705,000257:
016706,000258: 06,2261 44441 ENGSET CS PRIO30
016707,000259: 06,2262 00006 EXTEND
016708,000260: 06,2263 02011 RAND 11
016709,000261: 06,2264 67636 AD BIT13
016710,000262: 06,2265 00006 EXTEND
016711,000263: 06,2266 01011 WRITE 11 # ENG ON = 1, ENG OFF = 0.
016712,000264: 06,2267 11406 ENGRST CCS OFFTMBUF
016713,000265: 06,2270 02277 TC LTIMEON # AT LEAST 2MIN. BEFORE ENGINE OFF.
016714,000266: 06,2271 51470 NDX ENGSTEP
016715,000267: 06,2272 31505 CAE OFFTIMER # LESS THAN 2MIN. TO ENGINE OFF.
016716,000268: 06,2273 04451 TC WAITLIST
016717,000269: 06,2274 E4,1470 EBANK= ENGSTEP
016718,000270: 06,2274 02232 14004 2CADR ENGRESET
016719,000271:
016720,000272: 06,2276 04505 TC TASKOVER
016721,000273:
016722,000274: 06,2277 11406 LTIMEON CCS OFFTMBUF # IS THERE ANY MORE.
016723,000275: 06,2300 02302 TC +2 # YES.
016724,000276: 06,2301 02267 TC ENGRST # NO.
016725,000277: 06,2302 55406 TS OFFTMBUF
016726,000278: 06,2303 32310 CAF 2MIN
016727,000279: 06,2304 04451 TC WAITLIST
016728,000280: 06,2305 E4,1470 EBANK= ENGSTEP
016729,000281: 06,2305 02277 14004 2CADR LTIMEON
016730,000282:
016731,000283: 06,2307 04505 TC TASKOVER
016732,000284:
016733,000285: 06,2310 27340 2MIN DEC 12000 B-14
016734,000286:
016735,000287: # LEM FCS TEST TRIM TASK
016736,000288: # THIS PROGRAM ISSUES A PROFILE OF PITCH AND ROLL TRIM COMMANDS TO THE LEM DESCENT ENGINE GIMBAL IN ACCORDANCEWITH
016737,000289: # THE VALUE S IN THE TRIMSTEP REGISTER AND THE 12 SETS OF 5 REGISTERS CALLED NUMTIMES, STEPDLYT, TRIMONT, TRIMOFFT
016738,000290: # AND TRIMIND. TRIMSTEP IS USED TO PICK UP A PARTICULAR SET OF THE 5 REGISTERS AND HAS ALLOWABLE VALUES FROM +0
016739,000291: # THROUGH +11 DECIMAL. THE 5 REGISTERS IN EACH SET ARE DEFINED AS FOLLOWS
016740,000292: # (1) NUMTIMES DETERMINES THE NUMBER OF TIMES THE COMMAND IN TRIMIND WILL BE ISSUED. VALUES FROM +0 TO
016741,000293: # OCT 37777 ARE PERMITTED.
016742,000294: # (2) STEPDLYT DETERMINES THE TIME BETWEEN THE START OF A STEP AND THE BEGINNING OF TRIMONT. STEPDLYT MUST BE
016743,000295: # FORMATTED FOR T3, ITS MAXIMUM VALUE IS 2 MINUTES.
016744,000296: # (3) TRIMONT DETERMINES THE TIME BETWEEN THE END OF STEPDLYT OR TRIMOFFT AND THE TIME THE TRIM COMMANDS ARE
016745,000297: # ISSUED. IT MUST BE FORMATTED FOR T3.
016746,000298: # (4) TRIMOFFT DETERMINES THE LENGTH OF TIME THE TRIM COMMAND WILL BE ON, FORMATTED FOR T3.
016747,000299: # (5) TRIMIND DETERMINES THE PITCH AND ROLL COMMAND TO BE ISSUED. THE FORMAT IS, BIT9=1=+ PITCH COMMAND,
016748,000300: # BIT10=1=-PITCH, BIT11=1= +ROLL, BIT12=1= -ROLL. A BIT=0 INDICATES NO COMMAND. ANY COMBINATION OF COMMANDS IS
016749,000301: # PERMITTED.
016750,000302: # THIS TASK WILL BE ENTERED BUT IMMEDIATELY ENDED IF TRIMSTEP AND NUMTIMES = +0.
016751,000303:
016752,000304:
016753,000305: 06,2311 11510 NEXTTRIM CCS TRIMSTEP
016754,000306: 06,2312 02314 TC +2
016755,000307: 06,2313 04505 TC TASKOVER # EXIT HERE.
016756,000308: 06,2314 55510 TS TRIMSTEP # LESS ONE.
016757,000309:
016758,000310: 06,2315 51510 TRIMTOP NDX TRIMSTEP # ENTER HERE.
016759,000311: 06,2316 11511 CCS NUMTIMES
016760,000312: 06,2317 02321 TC +2
016761,000313: 06,2320 02311 TC NEXTTRIM
016762,000314: 06,2321 51510 NDX TRIMSTEP
016763,000315: 06,2322 31525 CAE STEPDLYT
016764,000316: 06,2323 04451 TC WAITLIST
016765,000317: 06,2324 E4,1510 EBANK= TRIMSTEP
016766,000318: 06,2324 02342 14004 2CADR TRIMSET
016767,000319:
016768,000320: 06,2326 04505 TC TASKOVER
016769,000321:
016770,000322: 06,2327 42426 TRIMOFF CS TRIMMASK
016771,000323: 06,2330 00006 EXTEND
016772,000324: 06,2331 03012 WAND 12 # TRIM GOES OFF.
016773,000325: 06,2332 51510 NUMSTEP NDX TRIMSTEP
016774,000326: 06,2333 11511 CCS NUMTIMES
016775,000327: 06,2334 10000 CCS A
016776,000328: 06,2335 02337 TC +2
016777,000329: 06,2336 02311 TC NEXTTRIM # WAS ONE.
016778,000330: 06,2337 67652 AD ONE
016779,000331: 06,2340 51510 NDX TRIMSTEP
016780,000332: 06,2341 55511 TS NUMTIMES
016781,000333: 06,2342 51510 TRIMSET NDX TRIMSTEP
016782,000334: 06,2343 31541 CAE TRIMONT
016783,000335: 06,2344 04451 TC WAITLIST
016784,000336: 06,2345 E4,1510 EBANK= TRIMSTEP
016785,000337: 06,2345 02350 14004 2CADR TRIMON
016786,000338:
016787,000339: 06,2347 04505 TC TASKOVER
016788,000340:
016789,000341: 06,2350 32425 TRIMON CAF BITS9,10 # CHECK PITCH AND ROLL TRIM FAIL BITS.
016790,000342: 06,2351 00006 EXTEND
016791,000343: 06,2352 06032 RXOR 32
016792,000344: 06,2353 72425 MASK BITS9,10
016793,000345: 06,2354 00006 EXTEND
016794,000346: 06,2355 12363 BZF TRIMON1
016795,000347: 06,2356 34446 CAF PRIO35 # FAIL IS ON. FLASH FAIL CODE (01400) AND
016796,000348: 06,2357 04276 TC NOVAC # IDLE UNTIL SOMEONE RESETS IT, TERMINATES
016797,000349: 06,2360 02376 14004 2CADR PERFORM # THE TASK, OR DECIDES TO PROCEED WITH IT.
016798,000350:
016799,000351: 06,2362 04505 TC TASKOVER
016800,000352:
016801,000353: 06,2363 51510 TRIMON1 NDX TRIMSTEP
016802,000354: 06,2364 31571 CAE TRIMIND
016803,000355: 06,2365 72426 MASK TRIMMASK # SAFETY PLAY
016804,000356: 06,2366 00006 EXTEND
016805,000357: 06,2367 05012 WOR 12 # TRIM STARTS.
016806,000358: 06,2370 51510 NDX TRIMSTEP
016807,000359: 06,2371 31555 CAE TRIMOFFT
016808,000360: 06,2372 04451 TC WAITLIST
016809,000361: 06,2373 E4,1510 EBANK= TRIMSTEP
016810,000362: 06,2373 02327 14004 2CADR TRIMOFF
016811,000363:
016812,000364: 06,2375 04505 TC TASKOVER
016813,000365:
016814,000366: 06,2376 05221 PERFORM TC GRABWAIT # KEY RELEASE MAY COME ON.
016815,000367: 06,2377 32425 CAF TRIMCODE # 01400
016816,000368: 06,2400 54333 TS DSPTEM1
016817,000369: 06,2401 32427 CAF V01N25K
016818,000370: 06,2402 05234 TC NVSBWAIT
016819,000371: 06,2403 32430 CAF V50K # PLEASE PERFORM.
016820,000372: 06,2404 05234 TC NVSBWAIT
016821,000373: 06,2405 05176 TC FLASHON # ANY RESPONSE TURNS IT OFF.
016822,000374: 06,2406 05042 TC ENDIDLE # WAIT FOR SOMEONE TO DO SOMETHING.
016823,000375: 06,2407 04352 TC EJFREE # V34E. TERMINATE THE TASK.
016824,000376: 06,2410 02417 TC TR1 # V33E. PROCEED WITH THE FAIL ON.
016825,000377: 06,2411 00004 INHINT # ENTER. THE FAIL HAS BEEN RESET.
016826,000378: 06,2412 37651 CAF BIT2 # 20MS.
016827,000379: 06,2413 04451 TC WAITLIST
016828,000380: 06,2414 02350 14004 2CADR TRIMON # CHECK AGAIN TO BE SURE. THEN PROCEED..
016829,000381:
016830,000382: 06,2416 04352 TC EJFREE
016831,000383:
016832,000384: 06,2417 00004 TR1 INHINT # PROCEED WITH THE FAIL.
016833,000385: 06,2420 37651 CAF BIT2 # 20MS.
016834,000386: 06,2421 04451 TC WAITLIST
016835,000387: 06,2422 02363 14004 2CADR TRIMON1 # BYPASS THE RECHECK.
016836,000388:
016837,000389: 06,2424 04352 TC EJFREE
016838,000390:
016839,000391: 06,2425 01400 BITS9,10 OCT 01400
016840,000392: 06,2426 06,2425 TRIMCODE EQUALS BITS9,10
016841,000393: 06,2426 07400 TRIMMASK OCT 07400
016842,000394: 06,2427 00125 V01N25K OCT 00125
016843,000395: 06,2430 05000 V50K OCT 05000
016844,000396:
016845,000397: # LEM FCS TEST THROTTLE TASK
016846,000398: # THIS PROGRAM ISSUES A PROFILE OF THROTTLE COMMANDS TO THE LEM DESCENT ENGINE. THE PROFILE IS DETERMINED BY
016847,000399: # THE VALUES IN THE THRTSTEP REGISTER AND THE 6 SETS OF REGISTERS, 5 PER SET, CALLED DOTIMES, DELAY, THR1TIME,
016848,000400: # THCOMM1 AND THCOMM2. THE THRTSTEP REGISTER VALUE IS USED TO INDEX THE 6 SETS OF 5 REGISTERS AND HAS ALLOWABLE
016849,000401: # VALUES OF +0 THROUGH +5. THE 5 REGISTERS PER SET ARE DEFINED AS FOLLOWS
016850,000402: # (1) DOTIMES DETERMINES THE NUMBER OF TIMES THE THROTTLE WILL BE EXERCISED AS PER THE VALUES OF THR1TIME,
016851,000403: # THCOMM1 AND THCOMM2 OF THE CURRENT STEP. IT HAS ALLOWABLE VALUES OF +0 THROUGH 37777 OCT.
016852,000404: # (2) DELAY DETERMINES THE TIME BETWEEN THE START OF A STEP AND THE BE GINNING OF THR1TIME. ITIS CALLED ONLY
016853,000405: # ONCE PER STEP,I.E., REPEATS OF THE SAME THCOMM1 AND THCOMM2 START AT THR1TIME. DELAY MUST BE FORMATTED FOR T3
016854,000406: # AND HENCE HAS A MAXIMUM VALUE OF 2 MINUTES.
016855,000407: # (3) THR1TIME DETERMINES THE TIME BETWEEN THE END OF DELAY OR THE END OF THCOMM2 AND THE START OF
016856,000408: # THCOMM1. IT MUST BE FORMATTED FOR T3.
016857,000409: # (4) THCOMM1 AND (5) THCOMM2 DETERMINE THE NUMBER OF THRUST INCREASE OR DECREASE PULSES TOBE ISSUED AT A
016858,000410: # 3.2KPPS RATE. THE RANGE OF POSSIBLE VALUES OF EITHER IS FROM POSMAX (OCT 37777) TO NEGMAX (OCT 40000) ALTHOUGH
016859,000411: # THE ACTUAL THROTTLE RANGE IS FROM OCT 6116 TO OCT 71661 (+,- 3150 DEC).
016860,000412: # THIS TASK WILL BE ENTERED BUT IMMEDIATELY ENDED IF THE INITIAL VALUES OF THRTSTEP AND DOTIMES ARE +0.
016861,000413:
016862,000414:
016863,000415: 06,2431 11605 NEXTTHRT CCS THRTSTEP
016864,000416: 06,2432 02434 TC +2
016865,000417: 06,2433 04505 TC TASKOVER # EXIT HERE.
016866,000418: 06,2434 55605 TS THRTSTEP
016867,000419:
016868,000420: 06,2435 51605 THRSTART NDX THRTSTEP # ENTER HERE.
016869,000421: 06,2436 11606 CCS DOTIMES # NUMBER OF TIMES COMMANDS 1 AND 2 DONE.
016870,000422: 06,2437 02441 TC +2
016871,000423: 06,2440 02431 TC NEXTTHRT
016872,000424: 06,2441 51605 NDX THRTSTEP
016873,000425: 06,2442 31614 CAE DELAY # TIME BETWEEN STEPS. BIAS FOR THR1TIME.
016874,000426: # MUST BE SCALED FOR T3.
016875,000427: 06,2443 04451 TC WAITLIST
016876,000428: 06,2444 E4,1605 EBANK= THRTSTEP
016877,000429: 06,2444 02467 14004 2CADR THROTON1
016878,000430:
016879,000431: 06,2446 04505 TC TASKOVER
016880,000432:
016881,000433: 06,2447 51605 THR2COMM NDX THRTSTEP
016882,000434: 06,2450 31636 CAE THCOMM2 # SAME REMARKS AS FOR THCOMM1.
016883,000435: 06,2451 02505 TC THROTON
016884,000436: 06,2452 67652 AD BIT1 # 10MS IN CASE OF NO THCOMM2.
016885,000437: 06,2453 04451 TC WAITLIST
016886,000438: 06,2454 E4,1605 EBANK= THRTSTEP
016887,000439: 06,2454 02457 14004 2CADR CKDOTIME
016888,000440:
016889,000441: 06,2456 04505 TC TASKOVER
016890,000442:
016891,000443: 06,2457 51605 CKDOTIME NDX THRTSTEP
016892,000444: 06,2460 11606 CCS DOTIMES
016893,000445: 06,2461 10000 CCS A
016894,000446: 06,2462 02464 TC +2
016895,000447: 06,2463 02431 TC NEXTTHRT # WAS ONE.
016896,000448: 06,2464 67652 AD ONE
016897,000449: 06,2465 51605 NDX THRTSTEP
016898,000450: 06,2466 55606 TS DOTIMES
016899,000451: 06,2467 51605 THROTON1 NDX THRTSTEP
016900,000452: 06,2470 31622 CAE THR1TIME # TIME BETWEEN DOTIMES. SCALED FOR T3.
016901,000453: 06,2471 04451 TC WAITLIST
016902,000454: 06,2472 E4,1605 EBANK= THRTSTEP
016903,000455: 06,2472 02475 14004 2CADR THR1COMM
016904,000456:
016905,000457: 06,2474 04505 TC TASKOVER
016906,000458:
016907,000459: 06,2475 51605 THR1COMM NDX THRTSTEP
016908,000460: 06,2476 31630 CAE THCOMM1 # SHOULD BE NO LARGER THAN 3150DEC.
016909,000461: 06,2477 02505 TC THROTON
016910,000462: 06,2500 62522 AD 250MS # SO ACE CAN SAMPLE.
016911,000463: 06,2501 04451 TC WAITLIST
016912,000464: 06,2502 E4,1605 EBANK= THRTSTEP
016913,000465: 06,2502 02447 14004 2CADR THR2COMM
016914,000466:
016915,000467: 06,2504 04505 TC TASKOVER
016916,000468:
016917,000469: 06,2505 54055 THROTON TS THRUST # THROTTLE OUTPUT COUNTER.
016918,000470: 06,2506 55405 TS THBUF # SAVE FOR BZMF.
016919,000471: 06,2507 37647 CAF BIT4
016920,000472: 06,2510 00006 EXTEND
016921,000473: 06,2511 05014 WOR 14 # ENABLE THRUST DRIVE. COMMAND STARTS NOW
016922,000474: 06,2512 31405 CAE THBUF
016923,000475: 06,2513 00006 EXTEND
016924,000476: 06,2514 62516 BZMF +2
016925,000477: 06,2515 40000 COM
016926,000478: 06,2516 40000 COM
016927,000479: 06,2517 00006 EXTEND
016928,000480: 06,2520 77641 MP BIT10 # SCALES FOR T3.
016929,000481: 06,2521 00002 TC Q
016930,000482:
016931,000483: 06,2522 00031 250MS OCT 00031
016932,000484:
016933,000485: # LEM FCS TEST INTERFACE LOOK TASK.
016934,000486:
016935,000487: # THIS PROGRAM KEEPS A RUNNING HISTORY OF THE STATE OF ALL THE BITS IN INPUT CHANNELS 30, 31, 32 AND 33.
016936,000488: # IT DOES THIS BY DETECTING A CHANGE OF AN INPUT BIT FROM AN INITIAL ONE STATE TO A ZERO STATE OR FROM AN INITIAL
016937,000489: # ZERO TO A ONE. THE HISTORY IS MAINTAINED IN TWO BUFFER REGISTERS FOR EACH CHANNEL, ONE FOR STORING ONE TO ZERO
016938,000490: # CHANGES (30BUF1, +1, +2, AND +3) AND ONE FOR ZERO TO ONE CHANGES (30BUF0, +1 +2 AND +3). THE OPERATOR MUST
016939,000491: # LOAD THE INITIAL STATES OF THE INPUT CHANNELS INTO THEIR RESPECTIVE BUFFER REGISTERS BEFORE THIS PROGRAM IS IN-
016940,000492: # ITIATED.
016941,000493: # TO ALLOW THIS PROGRAM TO RUN C(QUITLOOK) MUST BE SET GREATER THAN +0 BEFORE IT IS STARTED. IF THE OPERATOR
016942,000494: # DOES NOT DESIRE THIS PROGRAM TO RUN HE SHOULD SET C(QUITLOOK)=+0 BEFORE STARTING THE FCS TEST. AFTER THIS TASK
016943,000495: # IS RUNNING THE OPERATOR CAN STOP IT BY SETTING C(QUITLOOK) = +0.
016944,000496: # NO DISPLAYS OF EITHER THE BUFFER REGISTERS OR CHANNELS ARE INCORPORATED INTO THIS PROGRAM. THIS WAS DONE TO
016945,000497: # ALLOW THE TEST OPERATOR MONITORING FLEXIBILITY. FOR REAL TIME MONITORING IT IS SUGGESTED THAT THE BUFFER
016946,000498: # REGISTERS BE DISPLAYED WITH THE MONITOR VERBS (11 THROUGH 15). ON THE OTHER HAND, THE OPERATOR MAY ELECT TO
016947,000499: # PERFORM NO REAL TIME MONITORING UNTIL THE TEST IS COMPLETED, WHEN THE BUFFER REGISTERS WOULD BE CALLED FOR
016948,000500: # DISPLAY (VERB 01) AND RECORDED.
016949,000501: # THIS PROGRAM IS PRIMARILY INTENDED FOR INTERFACE MONITORING DURING THE LEM VIBRATION TEST AT BETHPAGE, N.Y.,
016950,000502: # ALTHOUGH IT MAY ALSO BE USEFUL DURING VEHICAL LEVEL EMI TESTS.
016951,000503:
016952,000504: 06,2523 11654 LOOKTOP CCS QUITLOOK # IS THIS TASK WANTED.
016953,000505: 06,2524 02526 TC +2 # YES.
016954,000506: 06,2525 04505 TC TASKOVER # NO.
016955,000507: 06,2526 36165 CAF THREE # START SCAN OF CHANNELS.
016956,000508: 06,2527 55655 LOOKLOOP TS CHCNTR # 3, 2, 1, 0.
016957,000509: 06,2530 51655 NDX CHCNTR
016958,000510: 06,2531 31644 CAE 30BUF1
016959,000511: 06,2532 00006 EXTEND
016960,000512: 06,2533 51655 NDX CHCNTR
016961,000513: 06,2534 02030 RAND 30 # DETECTS CHANGES FROM 1 TO 0.
016962,000514: 06,2535 51655 NDX CHCNTR
016963,000515: 06,2536 57644 XCH 30BUF1 # STORE NEW ZEROS.
016964,000516: 06,2537 51655 NDX CHCNTR
016965,000517: 06,2540 31650 CAE 30BUF0
016966,000518: 06,2541 00006 EXTEND
016967,000519: 06,2542 51655 NDX CHCNTR
016968,000520: 06,2543 04030 ROR 30 # DETECTS CHANGES FROM 0 TO 1.
016969,000521: 06,2544 51655 NDX CHCNTR
016970,000522: 06,2545 57650 XCH 30BUF0 # STORE NEW ONES.
016971,000523: 06,2546 11655 CCS CHCNTR # IS THIS SCAN DONE.
016972,000524: 06,2547 02527 TC LOOKLOOP # NO.
016973,000525: 06,2550 37654 CAF TEN # YES. 100MS RECALL.
016974,000526: 06,2551 04451 TC WAITLIST
016975,000527: 06,2552 E4,1654 EBANK= QUITLOOK
016976,000528: 06,2552 02523 14004 2CADR LOOKTOP
016977,000529:
016978,000530: 06,2554 04505 TC TASKOVER
016979,000531: 06,2555 ENDLFCSS =
End of include-file LEM_FLIGHT_CONTROL_SYSTEM_TEST.agc. Parent file is MAIN.agc