Source Code

005538,000001: # Copyright: Public domain. 005539,000002: # Filename: T4RUPT_PROGRAM.agc 005540,000003: # Purpose: Part of the source code for Comanche, build 055. 005541,000004: # It is part of the source code for the Command Module's (CM) 005542,000005: # Apollo Guidance Computer (AGC), Apollo 11. 005543,000006: # Assembler: yaYUL 005544,000007: # Reference: pp. 133-169 005545,000008: # Contact: Ron Burkey <info@sandroid.org>, 005546,000009: # Fabrizio Bernardini <fabrizio@spacecraft.it> 005547,000010: # Website: http://www.ibiblio.org/apollo. 005548,000011: # Mod history: 10/05/09 FB Transcription of Batch FB-1 Assignment. 005549,000012: 005550,000013: # The contents of the "Comanche055" files, in general, are transcribed 005551,000014: # from scanned documents. 005552,000015: 005553,000016: # Assemble revision 055 of AGC program Comanche by NASA 005554,000017: # 2021113-051. April 1, 1969. 005555,000018: 005556,000019: # This AGC program shall also be referred to as Colossus 2A 005557,000020: 005558,000021: # Prepared by 005559,000022: # Massachussets Institute of Technology 005560,000023: # 75 Cambridge Parkway 005561,000024: # Cambridge, Massachusetts 005562,000025: 005563,000026: # under NASA contract NAS 9-4065. 005564,000027: 005565,000028: # Refer directly to the online document mentioned above for further 005566,000029: # information. Please report any errors to info@sandroid.org. 005567,000030: 005568,000031: # Page 133 005569,000032: 12,2000 BANK 12 005570,000033: 06,2000 SETLOC T4RUP 005571,000034: 06,2000 BANK 005572,000035: 005573,000036: 06,2000 COUNT 06/T4RPT 005574,000037: 005575,000038: 06,2000 54016 T4RUPT TS BANKRUPT 005576,000039: 06,2001 00006 EXTEND 005577,000040: 06,2002 22012 QXCH QRUPT 005578,000041: 005579,000042: 06,2003 11302 CCS DSRUPTSW # GOES 7(-1)0 AROUND AND AROUND 005580,000043: 06,2004 12010 TCF NORMT4 +1 005581,000044: 06,2005 12007 TCF NORMT4 005582,000045: 005583,000046: 06,2006 12136 TCF QUIKDSP 005584,000047: 005585,000048: 06,2007 35023 NORMT4 CAF SEVEN 005586,000049: 06,2010 54070 TS RUPTREG1 005587,000050: 06,2011 55302 TS DSRUPTSW 005588,000051: 005589,000052: 06,2012 COUNT 02/T4RPT 005590,000053: 005591,000054: 06,2012 7711 74K = HIGH4 005592,000055: 005593,000056: # RELTAB IS A PACKED TABLE. RELAYWORD CODE IN UPPER 4 BITS, RELAY CODE 005594,000057: # IN LOWER 5 BITS. 005595,000058: 005596,000059: 4072 BLOCK 02 005597,000060: 4000 SETLOC FFTAG12 005598,000061: 4000 BANK 005599,000062: 005600,000063: 4072 04025 RELTAB OCT 04025 005601,000064: 4073 10003 OCT 10003 005602,000065: 4074 14031 OCT 14031 005603,000066: 4075 20033 OCT 20033 005604,000067: 4076 24017 OCT 24017 005605,000068: 4077 30036 OCT 30036 005606,000069: 4100 34034 OCT 34034 005607,000070: 4101 40023 OCT 40023 005608,000071: 4102 44035 OCT 44035 005609,000072: 4103 50037 OCT 50037 005610,000073: 4104 54000 OCT 54000 005611,000074: 4105 60000 RELTAB11 OCT 60000 005612,000075: 005613,000076: # Page 134 005614,000077: # SWITCHED-BANK PORTION 005615,000078: 005616,000079: 12,2000 BANK 12 005617,000080: 06,2000 SETLOC T4RUP 005618,000081: 06,2000 BANK 005619,000082: 005620,000083: 06,2012 COUNT 06/T4RPT 005621,000084: 005622,000085: 06,2012 11036 CDRVE CCS DSPTAB +11D 005623,000086: 06,2013 02063 TC DSPOUT 005624,000087: 06,2014 02063 TC DSPOUT 005625,000088: 005626,000089: 06,2015 57036 XCH DSPTAB +11D 005627,000090: 06,2016 74372 MASK LOW11 005628,000091: 06,2017 55036 TS DSPTAB +11D 005629,000092: 06,2020 64105 AD RELTAB11 005630,000093: 06,2021 00006 EXTEND 005631,000094: 06,2022 01010 WRITE OUT0 005632,000095: 06,2023 02071 TC HANG20 005633,000096: 005634,000097: # Page 135 005635,000098: # DSPOUT PROGRAM, PUTS OUT DISPLAYS 005636,000099: 005637,000100: 06,2024 55016 DSPOUTSB TS NOUT 005638,000101: 06,2025 45021 CS ZERO 005639,000102: 06,2026 54073 TS DSRUPTEM # SET TO -0 FOR 1ST PASS THRU DSPTAB 005640,000103: 06,2027 56776 XCH DSPCNT 005641,000104: 06,2030 65020 AD NEG0 # TO PREVENT +0 005642,000105: 06,2031 54776 TS DSPCNT 005643,000106: 06,2032 50776 DSPSCAN INDEX DSPCNT 005644,000107: 06,2033 11023 CCS DSPTAB 005645,000108: 06,2034 10776 CCS DSPCNT # IF DSPTAB ENTRY +, SKIP 005646,000109: 06,2035 12030 TCF DSPSCAN -2 # IF DSPCNT +, AGAIN 005647,000110: 06,2036 12047 TCF DSPLAY # IF DSPTAB ENTRY -, DISPLAY 005648,000111: 06,2037 00012 TABLNTH OCT 12 # DEC 10 LENGTH OF DSPTAB 005649,000112: 06,2040 10073 CCS DSRUPTEM # IF DSRUPTEM=+0, 2ND PASS THRU DSPTAB 005650,000113: 06,2041 37764 120MRUPT DEC 16372 B-14 # (DSPCNT = 0). +0 INTO NOUT. 005651,000114: 06,2042 55016 TS NOUT 005652,000115: 06,2043 00002 TC Q 005653,000116: 06,2044 54073 TS DSRUPTEM # IF DSRUPTEM=-0, 1ST PASS THRU DSPTAB 005654,000117: 06,2045 32037 CAF TABLNTH # (DSPCNT=0).+0 INTO DSRUPTEM. PASS AGAIN 005655,000118: 06,2046 12031 TCF DSPSCAN -1 005656,000119: 005657,000120: 06,2047 65017 DSPLAY AD ONE 005658,000121: 06,2050 50776 INDEX DSPCNT 005659,000122: 06,2051 55023 TS DSPTAB # REPLACE POSITIVELY 005660,000123: 06,2052 74372 MASK LOW11 # REMOVE BITS 12 TO 15 005661,000124: 06,2053 54073 TS DSRUPTEM 005662,000125: 06,2054 34364 CAF HI5 005663,000126: 06,2055 50776 INDEX DSPCNT 005664,000127: 06,2056 74072 MASK RELTAB # PICK UP BITS 12 TO 15 OF RELTAB ENTRY 005665,000128: 06,2057 60073 AD DSRUPTEM 005666,000129: 06,2060 00006 EXTEND 005667,000130: 06,2061 01010 WRITE OUT0 # WRITE CHANNEL 10 005668,000131: 06,2062 16706 TCF Q+1 # *** NORMAL RETURN SKIPS ONE 005669,000132: 005670,000133: 06,2063 10101 DSPOUT CCS FLAGWRD5 # DON'T DISPLAY UNLESS DSKY FLAG ON 005671,000134: 06,2064 35021 CAF ZERO 005672,000135: 06,2065 12132 TCF NODSPOUT 005673,000136: 06,2066 11016 CCS NOUT 005674,000137: 06,2067 02024 TC DSPOUTSB 005675,000138: 06,2070 12132 TCF NODSPOUT # NO DISPLAY REQUESTS 005676,000139: 005677,000140: 06,2071 42173 HANG20 CS 11,14,9 005678,000141: 06,2072 27302 ADS DSRUPTSW 005679,000142: 005680,000143: 06,2073 37700 CAF 20MRUPT 005681,000144: 005682,000145: 06,2074 54027 SETTIME4 TS TIME4 005683,000146: 005684,000147: # Page 136 005685,000148: # THE STATUS OF THE PROCEED PUSHBUTTON IS MONITORED EVERY 120 MILLISECONDS VIA THE CHANNEL 32 BIT 14 INBIT. 005686,000149: # THE STATE OF THIS INBIT IS COMPARED WITH ITS STATE DURING THE PREVIOUS T4RUPT AND IS PROCESSED AS FOLLOWS. 005687,000150: # IF PREV ON AND NOW ON -- BYPASS 005688,000151: # IF PREV ON AND NOW OFF -- UPDATE IMODES33 005689,000152: # IF PREV OFF AND NOW ON -- UPDATE IMODES33 AND PROCESS VIA PINBALL 005690,000153: # IF PREV OFF AND NOW OFF -- BYPASS 005691,000154: # THE LOGIC EMPLOYED REQUIRES ONLY 9 MCT (APPROX. 108 MICROSECONDS) OF COMPUTER TIME WHEN NO CHANGES OCCUR. 005692,000155: 005693,000156: 06,2075 31321 PROCEEDE CA IMODES33 # MONITOR FOR PROCEED BUTTON 005694,000157: 06,2076 00006 EXTEND 005695,000158: 06,2077 06032 RXOR CHAN32 # CHECK IF BIT 14 DIFFERENT 005696,000159: 06,2100 75002 MASK BIT14 005697,000160: 06,2101 00006 EXTEND 005698,000161: 06,2102 12116 BZF T4JUMP # NO CHANGE 005699,000162: 005700,000163: 06,2103 23321 LXCH IMODES33 005701,000164: 06,2104 00006 EXTEND 005702,000165: 06,2105 06001 RXOR LCHAN 005703,000166: 06,2106 55321 TS IMODES33 # UPDATE IMODES33 005704,000167: 06,2107 75002 MASK BIT14 005705,000168: 06,2110 10000 CCS A 005706,000169: 06,2111 12116 TCF T4JUMP # WAS ON -- NOW OFF 005707,000170: 005708,000171: 06,2112 34371 CAF CHRPRIO # WAS OFF -- NOW ON 005709,000172: 06,2113 05134 TC NOVAC 005710,000173: 06,2114 0777 EBANK= DSPCOUNT 005711,000174: 06,2114 03357 60101 2CADR PROCKEY 005712,000175: 005713,000176: # Page 137 005714,000177: # JUMP TO APPROPRIATE ONCE-PER SECOND (0.96 SEC ACTUALLY) ACTIVITY 005715,000178: 005716,000179: 06,2116 50070 T4JUMP INDEX RUPTREG1 005717,000180: 06,2117 12120 TCF +1 005718,000181: 005719,000182: 06,2120 12130 TCF OPTTEST 005720,000183: 06,2121 12765 TCF OPTMON 005721,000184: 06,2122 12174 TCF IMUMON 005722,000185: 06,2123 15333 TCF RESUME 005723,000186: 06,2124 12130 TCF OPTTEST 005724,000187: 06,2125 12765 TCF OPTMON 005725,000188: 06,2126 12174 TCF IMUMON 005726,000189: 06,2127 15333 TCF RESUME 005727,000190: 005728,000191: 06,2130 04740 OPTTEST TC IBNKCALL 005729,000192: 06,2131 20000 CADR OPTDRIVE 005730,000193: 005731,000194: 06,2132 7700 20MRUPT = OCT37776 # (DEC 16382) 005732,000195: 005733,000196: 06,2132 00006 NODSPOUT EXTEND # TURN OFF RELAYS 005734,000197: 06,2133 01010 WRITE OUT0 005735,000198: 005736,000199: 06,2134 32041 CAF 120MRUPT # SET FOR NEXT CDRVE 005737,000200: 06,2135 12074 TCF SETTIME4 005738,000201: 005739,000202: 06,2136 35002 QUIKDSP CAF BIT14 005740,000203: 06,2137 71302 MASK DSRUPTSW 005741,000204: 06,2140 00006 EXTEND 005742,000205: 06,2141 12167 BZF QUIKOFF # WROTE LAST TIME, NOW TURN OFF RELAYS. 005743,000206: 005744,000207: 06,2142 11016 CCS NOUT 005745,000208: 06,2143 02024 TC DSPOUTSB 005746,000209: 06,2144 12154 TCF NODSPY # NOUT=0 OR BAD RETURN FROM DSPOUTSB 005747,000210: 06,2145 45002 CS BIT14 # GOOD RETURN (WE DISPLAYED SOMETHING) 005748,000211: 06,2146 27302 QUIKRUPT ADS DSRUPTSW 005749,000212: 005750,000213: 06,2147 37700 CAF 20MRUPT 005751,000214: 06,2150 54027 TS TIME4 005752,000215: 005753,000216: 06,2151 35007 CAF BIT9 005754,000217: 06,2152 27302 ADS DSRUPTSW 005755,000218: 005756,000219: 06,2153 05333 TC RESUME 005757,000220: 005758,000221: 06,2154 00006 NODSPY EXTEND 005759,000222: 06,2155 01010 WRITE OUT0 005760,000223: 005761,000224: 06,2156 37700 SYNCT4 CAF 20MRUPT 005762,000225: 06,2157 26027 ADS TIME4 005763,000226: 005764,000227: 06,2160 35007 CAF BIT9 005765,000228: # Page 138 005766,000229: 06,2161 27302 ADS DSRUPTSW 005767,000230: 06,2162 11302 CCS DSRUPTSW 005768,000231: 06,2163 05333 TC RESUME 005769,000232: 06,2164 37737 OCT37737 OCT 37737 005770,000233: 06,2165 02156 TC SYNCT4 005771,000234: 06,2166 05333 TC RESUME 005772,000235: 005773,000236: 06,2167 00006 QUIKOFF EXTEND 005774,000237: 06,2170 01010 WRITE OUT0 005775,000238: 06,2171 35002 CAF BIT14 # RESET DSRUPTSW TO SEND DISPLAY NEXT PASS 005776,000239: 06,2172 12146 TCF QUIKRUPT 005777,000240: 005778,000241: 06,2173 22400 11,14,9 OCT 22400 005779,000242: 005780,000243: # Page 139 005781,000244: # PROGRAM NAME: IMUMON 005782,000245: 005783,000246: # FUNCTIONAL DESCRIPTION: THIS PROGRAM IS ENTERED EVERY 480 MS. IT DETECTS CHANGES OF THE IMU STATUS BITS IN 005784,000247: # CHANNEL 30 AND CALLS THE APPROPRIATE SUBROUTINES. THE BITS PROCESSED AND THEIR RELEVANT SUROUTINES ARE: 005785,000248: 005786,000249: # FUNCTION BIT SUBROUTINE CALLED 005787,000250: # -------- --- ----------------- 005788,000251: # TEMP IN LIMITS 15 TLIM 005789,000252: # ISS TURN-ON REQUEST 14 ITURNON 005790,000253: # IMU FAIL 13 IMUFAIL (SETISSW) 005791,000254: # IMU CDU FAIL 12 ICDUFAIL (SETISSW) 005792,000255: # IMU CAGE 11 IMUCAGE 005793,000256: # IMU OPERATE 9 IMUOP 005794,000257: 005795,000258: # THE LAST SAMPLED STATE OF THESE BITS IS LEFT IN IMODES30. ALSO, EACH SUBROUTINE CALLED FINDS THE NEW 005796,000259: # VALUE OF THE BIT IN A, WITH Q SET TO THE PROPER RETURN LOCATION NXTIFAIL. 005797,000260: 005798,000261: # CALLING SEQUENCE: T4RUPT EVERY 480 MILLISECONDS. 005799,000262: 005800,000263: # JOBS OR TASKS INITIATED: NONE. 005801,000264: 005802,000265: # SUBROUTINES CALLED: TLIM, ITURNON, SETISSW, IMUCAGE, IMUOP. 005803,000266: 005804,000267: # ERASABLE INITIALIZATION: 005805,000268: # FRESH START OR RESTART WITH NO GROUPS ACTIVE: C(IMODES30) = OCT 37411. 005806,000269: # RESTART WITH ACTIVE GROUPS: C(IMODES30) = (B(IMODES30)AND(OCT 00035)) PLUS OCT 37400. 005807,000270: # THIS LEAVES IMU FAIL BITS INTACT. 005808,000271: 005809,000272: # ALARMS: NONE. 005810,000273: 005811,000274: # EXIT: TNONTEST. 005812,000275: 005813,000276: # OUTPUT: UPDATED IMODES30 WITH CHANGES PROCESSED BY APPROPRIATE SUBROUTINE. 005814,000277: 005815,000278: 06,2174 31320 IMUMON CA IMODES30 # SEE IF THERE HAS BEEN A CHANGE IN THE 005816,000279: 06,2175 00006 EXTEND # RELEVANT BITS OF CHAN 30. 005817,000280: 06,2176 06030 RXOR CHAN30 # CHECK IF BITS 9,11-15 CHANGED 005818,000281: 06,2177 72743 MASK 30RDMSK 005819,000282: 06,2200 00006 EXTEND 005820,000283: 06,2201 12231 BZF TNONTEST # NO CHANGE IN STATUS 005821,000284: 005822,000285: 06,2202 54070 TS RUPTREG1 # SAVE BITS WHICH HAVE CHANGED. 005823,000286: 06,2203 23320 LXCH IMODES30 # UPDATE IMODES30. 005824,000287: 06,2204 00006 EXTEND 005825,000288: 06,2205 06001 RXOR LCHAN 005826,000289: 06,2206 55320 TS IMODES30 005827,000290: 005828,000291: 06,2207 45017 CS ONE 005829,000292: 06,2210 56070 XCH RUPTREG1 005830,000293: 06,2211 00006 EXTEND 005831,000294: # Page 140 005832,000295: 06,2212 62507 BZMF TLIM # CHANGE IN IMU TEMP. 005833,000296: 06,2213 12215 TCF NXTIFBIT # BEGIN BIT SCAN. 005834,000297: 005835,000298: 06,2214 65017 -1 AD ONE # (RE-ENTERS HERE FROM NXTIFAIL.) 005836,000299: 06,2215 24070 NXTIFBIT INCR RUPTREG1 # ADVANCE BIT POSITION NUMBER. 005837,000300: 06,2216 60000 +1 DOUBLE 005838,000301: 06,2217 54000 TS A # SKIP IF OVERFLOW. 005839,000302: 06,2220 12215 TCF NXTIFBIT # LOOK FOR BIT. 005840,000303: 005841,000304: 06,2221 56071 XCH RUPTREG2 # SAVE OVERFLOW-CORRECTED DATA. 005842,000305: 06,2222 50070 INDEX RUPTREG1 # SELECT NEW VALUE OF THIS BIT. 005843,000306: 06,2223 35002 CAF BIT14 005844,000307: 06,2224 71320 MASK IMODES30 005845,000308: 06,2225 50070 INDEX RUPTREG1 005846,000309: 06,2226 02737 TC IFAILJMP 005847,000310: 005848,000311: 06,2227 10071 NXTIFAIL CCS RUPTREG2 # PROCESS ANY ADDITIONAL CHANGES. 005849,000312: 06,2230 12214 TCF NXTIFBIT -1 005850,000313: 005851,000314: # Page 141 005852,000315: # PROGRAM NAME: TNONTEST. 005853,000316: 005854,000317: # FUNCTIONAL DESCRIPTION: THIS PROGRAM HONORS REQUESTS FOR ISS INITIALIZATION. ISS TURN-ON (CHANNEL 30 BIT 14) 005855,000318: # AND ISS OPERATE (CHANNEL 30 BIT 9) REQUESTS ARE TREATED AS A PAIR AND PROCESSING TAKES PLACE .480 SECONDS 005856,000319: # AFTER EITHER ONE APPEARS. THIS INITIALIZATION TAKES ON ONE OF THE FOLLOWING THREE FORMS: 005857,000320: 005858,000321: # 1) ISS TURN-ON: IN THIS SITUATION THE COMPUTER IS OPERATING WHEN THE ISS IS TURNED ON. NOMINALLY, 005859,000322: # BOTH ISS TURN-ON AND ISS OPERATE APPEAR. THE PLATFORM IS CAGED FOR 90 SECONDS AND THE ICDU'S ZEROED 005860,000323: # SO THAT AT THE END OF THE PROCESS THE GIMBAL LOCK MONITOR WILL FUNCTION PROPERLY. 005861,000324: 005862,000325: # 2) ICDU INITIALIZATION: IN THIS CASE THE COMPUTER WAS PROBABLY TURNED ON WITH THE ISS IN OPERATE OR 005863,000326: # A FRESH START WAS DONE WIT THE ISS IN OPERATE. IN THIS CASE ONLY ISS OPERATE IS ON. THE ICDU'S ARE 005864,000327: # ZEROED SO THE GIMBAL LOCK MONITOR WILL FUNCTION. AN EXCEPTION IS IF THE ISS IS IN GIMBAL LOCK AFTER 005865,000328: # A RESTART, THE ICDU'S WILL NOT BE ZEROED. 005866,000329: 005867,000330: # 3) RESTART WITH RESTARTABLE PROGRAM USING THE IMU: IN THIS CASE, NO INITIALIZATION TAKES PLACE SINCE 005868,000331: # IT IS ASSUMED THT THE USING PROGRAM DID THE INITIALIZATION AND THEREFORE T4RUPT SHOULD NOT INTERFERE. 005869,000332: 005870,000333: # IMODESD0 BIT 7 IS SET = 1 BY THE FIRST BIT (CHANNEL 30 BIT 14 OR 9) WHICH ARRIVES. FOLLOWING THIS, TNONTEST IS 005871,000334: # ENTERED, FINDS BIT 7 = 1 BUT BIT 8 = 0, SO IT SETS BIT 8 = 1 AND EXITS. THE NEXT TIME IT FINDS BIT 8 = 1 AND 005872,000335: # PROCEEDS, SETTING BITS 8 AND 7 = 0. AT PROCTNON, IF ISS TURN-ON REQUEST IS PRESENT, THE ISS IS CAGED (ZERO + 005873,000336: # COARSE). IF ISS OPERATE IS NOT PRESENT PROGRAM ALARM 00213 IS ISSUED. AT THE END OF A 90 SECOND CAGE, BIT 2 005874,000337: # OF IMODES30 IS TESTED. IF IT IS = 1, ISS TURN-ON WAS NOT PRESENT FOR THE ENTIRE 90 SECONDS. IN THAT CASE, IF 005875,000338: # THE ISS TURN-ON REQUEST IS PRESENT THE 90 SECOND WAIT IS REPEATED, OTHERWISE NO ACTION OCCURS UNLESS A PROGRAM 005876,000339: # WAS WAITING FOR THE INITIALIZATION IN WHICH CASE THE PROGRAM IS GIVEN AN IMUSTALL ERROR RETURN. IF THE DELAY 005877,000340: # WENT PROPERLY, THE ISS DELAY OUTBIT IS SENT AND THE ICDU'S ZEROED. A TASK IS INITIATED TO REMOVE THE PIPA FAIL 005878,000341: # INHIBIT BIT IN 10.24 SECONDS. IF A MISSION PROGRAM WAS WAITING IT IS INFORMED VIA ENDIMU. 005879,000342: 005880,000343: # AT PROCTNON, IF ONLY ISS OPERATE IS PRESENT (OPONLY), THE CDU'S ARE ZEROED UNLESS THE PLATFORM IS IN COARSE 005881,000344: # ALIGN (= GIMBAL LOCK HERE) OR A MISSION PROGRAM IS USING THE IMU (INUSEFLG = 1). 005882,000345: 005883,000346: # CALLING SEQUENCE: T4RUPT EVERY 480 MILLISECONDS AFTER IMUMON. 005884,000347: 005885,000348: # JOBS OR TASKS INITIATED: 1) ENDTNON, 90 SECONDS AFER CAGING STARTED. 2) ISSUP, 4 SECONDS AFTER CAGING DONE. 005886,000349: # 3) PFAILOK, 10.24 SECONDS AFTER INITIALIZATION COMPLETED. 4) UNZ2, 320 MILLISECONDS AFTER ZEROING 005887,000350: # STARTED. 005888,000351: 005889,000352: # SUBROUTINES CALLED: CAGESUB, CAGESUB2, ZEROICDU, ENDIMU, IMUBAD, NOATTOFF, SETISSW, VARDELAY. 005890,000353: 005891,000354: # ERASABLE INITIALIZATION: SEE IMUMON. 005892,000355: 005893,000356: # ALARMS: PROGRAM ALARM 00213 IF ISS TURN-ON REQUESTED WITHOUT ISS OPERATE. 005894,000357: 005895,000358: # EXIT: ENDTNON EXITS TO C33TEST. TASKS HAVING TO DO WITH INITIALIZATION EXIT AS FOLLOWS: MISSION PROGRAM 005896,000359: # WAITING AND INITIALIZATION COMPLET, EXIT TO ENDIMU, MISSION PROGRAM WAITING AND INITIALIZATION FAILED, EXIT TO 005897,000360: # IMUBAD, IMU NOT IN USE, EXIT TO TASKOVER. 005898,000361: 005899,000362: # OUTPUT: ISS INITIALIZED. 005900,000363: 005901,000364: 06,2231 41320 TNONTEST CS IMODES30 # AFTER PROCESSING ALL CHANGES, SEE IF IT 005902,000365: # Page 142 005903,000366: 06,2232 75011 MASK BIT7 # IS TIME TO ACT ON A TURN-ON SEQUENCE. 005904,000367: 06,2233 10000 CCS A 005905,000368: 06,2234 12367 TCF C33TEST # NO -- EXAMINE CHANNEL 33. 005906,000369: 005907,000370: 06,2235 35010 CAF BIT8 # SEE IF FIRST SAMPLE OR SECOND. 005908,000371: 06,2236 71320 MASK IMODES30 005909,000372: 06,2237 10000 CCS A 005910,000373: 06,2240 12244 TCF PROCTNON # REACT AFTER A SECOND SAMPLE. 005911,000374: 005912,000375: 06,2241 35010 CAF BIT8 # IF FIRST SAMPLE, SET BIT TO REACT NEXT 005913,000376: 06,2242 27320 ADS IMODES30 # TIME. 005914,000377: 06,2243 12367 TCF C33TEST 005915,000378: 005916,000379: # PROCESS IMU TURN-ON REQUESTS AFTER WAITING 1 SAMPLE FOR ALL SIGNALS TO ARRIVE. 005917,000380: 005918,000381: 06,2244 42757 PROCTNON CS BITS7&8 005919,000382: 06,2245 71320 MASK IMODES30 005920,000383: 06,2246 55320 TS IMODES30 005921,000384: 06,2247 75002 MASK BIT14 # SEE IF TURN-ON REQUEST. 005922,000385: 06,2250 10000 CCS A 005923,000386: 06,2251 12342 TCF OPONLY # OPERATE ON ONLY. 005924,000387: 005925,000388: 06,2252 41320 CS IMODES30 # IF TURN-ON REQUEST, WE SHOUD HAVE IMU 005926,000389: 06,2253 75007 MASK BIT9 # OPERATE. 005927,000390: 06,2254 10000 CCS A 005928,000391: 06,2255 12260 TCF +3 005929,000392: 005930,000393: 06,2256 05650 TC ALARM # ALARM IF NOT 005931,000394: 06,2257 00213 OCT 213 005932,000395: 005933,000396: 06,2260 02717 +3 TC CAGESUB 005934,000397: 005935,000398: 06,2261 32764 CAF 90SECS 005936,000399: 06,2262 05245 TC WAITLIST 005937,000400: 06,2263 E3,1474 EBANK= CDUIND 005938,000401: 06,2263 02270 14063 2CADR ENDTNON 005939,000402: 005940,000403: 06,2265 12367 TCF C33TEST 005941,000404: 005942,000405: 06,2266 32764 RETNON CAF 90SECS 005943,000406: 06,2267 05272 TC VARDELAY 005944,000407: 005945,000408: 06,2270 45016 ENDTNON CS BIT2 # RESET TURN-ON REQUEST FAIL BIT. 005946,000409: 06,2271 71320 MASK IMODES30 005947,000410: 06,2272 57320 XCH IMODES30 005948,000411: 06,2273 75016 MASK BIT2 # IF IT WAS OFF, SEND ISS DELAY COMPLETE. 005949,000412: 06,2274 00006 EXTEND 005950,000413: 06,2275 12310 BZF ENDTNON2 005951,000414: # Page 143 005952,000415: 06,2276 35002 CAF BIT14 # IF IT WAS ON AND TURN-ON REQUEST NOW. 005953,000416: 06,2277 71320 MASK IMODES30 # PRESENT, RE-ENTER 90 SEC DELAY IN WL. 005954,000417: 06,2300 00006 EXTEND 005955,000418: 06,2301 12266 BZF RETNON 005956,000419: 005957,000420: 06,2302 40074 CS STATE # IF IT IS NOT ON NOW, SEE IF A PROG WAS 005958,000421: 06,2303 75010 MASK IMUSEFLG # WAITING. 005959,000422: 06,2304 10000 CCS A 005960,000423: 06,2305 15324 TCF TASKOVER 005961,000424: 06,2306 04701 TC POSTJUMP 005962,000425: 06,2307 17522 CADR IMUBAD # UNSUCCESSFUL TURN-ON. 005963,000426: 005964,000427: 06,2310 35001 ENDTNON2 CAF BIT15 # SEND ISS DELAY COMPLETE. 005965,000428: 06,2311 00006 EXTEND 005966,000429: 06,2312 05012 WOR CHAN12 # TURN OFF ISS DELAY COUNTER 005967,000430: 06,2313 04740 TC IBNKCALL # TURN OFF NO ATT LAMP. 005968,000431: 06,2314 17151 CADR NOATTOFF 005969,000432: 005970,000433: 06,2315 05521 UNZ2 TC ZEROICDU 005971,000434: 005972,000435: 06,2316 45027 CS BITS4&5 # REMOVE ZERO AND COARSE. 005973,000436: 06,2317 00006 EXTEND 005974,000437: 06,2320 03012 WAND CHAN12 005975,000438: 005976,000439: 06,2321 35005 CAF BIT11 # WAIT 10 SECS FOR CTRS TO FIND GIMBALS 005977,000440: 06,2322 05272 TC VARDELAY 005978,000441: 005979,000442: 06,2323 42754 ISSUP CS OCT54 # REMOVE CAGING, IMU FAIL INHIBIT, AND 005980,000443: 06,2324 71320 MASK IMODES30 # ICDUFAIL INHIBIT FLAGS. 005981,000444: 06,2325 55320 TS IMODES30 005982,000445: 005983,000446: 06,2326 45012 CS BIT6 # ENABLE DAP 005984,000447: 06,2327 71321 MASK IMODES33 005985,000448: 06,2330 55321 TS IMODES33 005986,000449: 005987,000450: 06,2331 02665 TC SETISSW # ISS WARNING MIGHT HAVE BEEN INHIBITED. 005988,000451: 005989,000452: 06,2332 45001 CS BIT15 # REMOVE IMU DELAY COMPLETE DISCRETE. 005990,000453: 06,2333 00006 EXTEND 005991,000454: 06,2334 03012 WAND CHAN12 005992,000455: 005993,000456: 06,2335 35045 CAF 4SECS # DON'T ENABLE PROG ALARM ON PIP FAIL FOR 005994,000457: 06,2336 05245 TC WAITLIST # ANOTHER 4 SECS. 005995,000458: 06,2337 E3,1474 EBANK= CDUIND 005996,000459: 06,2337 03137 16063 2CADR PFAILOK 005997,000460: 005998,000461: 06,2341 15324 TCF TASKOVER 005999,000462: 006000,000463: 06,2342 35014 OPONLY CAF BIT4 006001,000464: # Page 144 006002,000465: 06,2343 00006 EXTEND # IF OPERATE ON ONLY AND WE ARE IN COARSE 006003,000466: 06,2344 02012 RAND CHAN12 # ALIGN, DON'T ZERO THE CDUS BECAUSE WE 006004,000467: 06,2345 10000 CCS A # MIGHT BE IN GIMBAL LOCK. USE V41N20 TO 006005,000468: 06,2346 12367 TCF C33TEST # RECOVER. 006006,000469: 006007,000470: 06,2347 35010 CAF IMUSEFLG # OTHERWISE, ZERO THE COUNTERS. 006008,000471: 06,2350 70074 MASK STATE # UNLESS SOMEONE IS USING TH IMU. 006009,000472: 06,2351 10000 CCS A 006010,000473: 06,2352 12367 TCF C33TEST 006011,000474: 006012,000475: 06,2353 02730 TC CAGESUB2 # SET TURNON FLAGS. 006013,000476: 006014,000477: 06,2354 04740 ISSZERO TC IBNKCALL # TURN OFF NO ATT LAMP. 006015,000478: 06,2355 17151 CADR NOATTOFF # IMU CAGE OFF ENTRY. 006016,000479: 006017,000480: 06,2356 35013 CAF BIT5 # ISS CDU ZERO 006018,000481: 06,2357 00006 EXTEND 006019,000482: 06,2360 05012 WOR CHAN12 006020,000483: 006021,000484: 06,2361 05521 TC ZEROICDU 006022,000485: 06,2362 35012 CAF BIT6 # WAIT 300 MS FOR AGS TO RECEIVE SIGNAL. 006023,000486: 06,2363 05245 TC WAITLIST 006024,000487: 06,2364 1331 EBANK= OPTMODES 006025,000488: 06,2364 02315 14062 2CADR UNZ2 006026,000489: 006027,000490: 06,2366 12367 TCF C33TEST 006028,000491: 006029,000492: # Page 145 006030,000493: # PROGRAM NAME: C33TEST 006031,000494: 006032,000495: # FUNCTIONAL DESCRIPTION: THIS PROGRAM MONITORS THREE FLIP-FLOP INBITS OF CHANNEL 33 AND CALLS THE APPROPRIATE 006033,000496: # SUBROUTINE TO PROCESS A CHANGE. IT IS ANALOGOUS TO IMUMON, WHICH MONITORS CHANNEL 30, EXCEPT THAT IT READS 006034,000497: # CHANNEL 33 WITH A WAND INSTRUCTION BECAUSE A `WRITE' PULSE IS REQUIRED TO RESET THE FLIP-FLOPS. THE BITS 006035,000498: # PROCESSED AND THE SUBROUTINES CALLED ARE: 006036,000499: # BIT FUNCTION SUBROUTINE 006037,000500: # --- -------- ---------- 006038,000501: # 13 PIPA FAIL PIPFAIL 006039,000502: # 12 DOWNLINK TOO FAST DNTMFAST 006040,000503: # 11 UPLINK TOO FAST UPTMFAST 006041,000504: 006042,000505: # UPON ENTRY TO THE SUBROUTINE, THE NEW BIT STATE IS IN A. 006043,000506: 006044,000507: # CALLING SEQUENCE: EVERY 480 MILLISECONDS AFTER TNONTEST. 006045,000508: 006046,000509: # JOBS OR TASKS INITIATED: NONE. 006047,000510: 006048,000511: # SUBROUTINES CALLED: PIPFAIL, DNTMFAST AND UPTMFAST ON BIT CHANGES. 006049,000512: 006050,000513: # ERASABLE INITIALIZATION: C(IMODES33) = OCT 16000 ON A FRESH START OR RESTART, THEREFORE, THESE ALARMS WILL 006051,000514: # REAPPEAR IF THE CONDITIONS PERSIST. 006052,000515: 006053,000516: # ALARMS: NONE. 006054,000517: 006055,000518: # EXIT: GLOCKMON. 006056,000519: 006057,000520: # OUTPUT: UPDATED BITS 13, 12, AND 11 OF IMODES33 WITH CHANGES PROCESSED. 006058,000521: 006059,000522: 06,2367 31321 C33TEST CA IMODES33 # SEE IF RELEVANT CHAN33 BITS HAVE 006060,000523: 06,2370 75070 MASK 33RDMSK 006061,000524: 06,2371 54001 TS L # CHANGED. 006062,000525: 06,2372 35070 CAF 33RDMSK 006063,000526: 06,2373 00006 EXTEND 006064,000527: 06,2374 03033 WAND CHAN33 # RESETS FLIP-FLOP INPUTS 006065,000528: 06,2375 00006 EXTEND 006066,000529: 06,2376 06001 RXOR LCHAN 006067,000530: 06,2377 00006 EXTEND 006068,000531: 06,2400 12427 BZF GLOCKMON # ON NO CHANGE. 006069,000532: 006070,000533: 06,2401 54070 TS RUPTREG1 # SAVE BITS WHICH HAVE CHANGED 006071,000534: 06,2402 23321 LXCH IMODES33 006072,000535: 06,2403 00006 EXTEND 006073,000536: 06,2404 06001 RXOR LCHAN 006074,000537: 06,2405 55321 TS IMODES33 # UPDATED IMODES33. 006075,000538: 006076,000539: 06,2406 35021 CAF ZERO 006077,000540: 06,2407 56070 XCH RUPTREG1 006078,000541: 06,2410 60000 DOUBLE 006079,000542: # Page 146 006080,000543: 06,2411 12414 TCF NXTIBT +1 # SCAN FOR BIT CHANGES. 006081,000544: 006082,000545: 06,2412 65017 -1 AD ONE 006083,000546: 06,2413 24070 NXTIBT INCR RUPTREG1 006084,000547: 06,2414 60000 +1 DOUBLE 006085,000548: 06,2415 54000 TS A # (CODING IDENTICAL TO CHAN 30). 006086,000549: 06,2416 12413 TCF NXTIBT 006087,000550: 006088,000551: 06,2417 56071 XCH RUPTREG2 006089,000552: 06,2420 50070 INDEX RUPTREG1 # GET NEW VALUE OF BIT WHICH CHANGED. 006090,000553: 06,2421 35003 CAF BIT13 006091,000554: 06,2422 71321 MASK IMODES33 006092,000555: 06,2423 50070 INDEX RUPTREG1 006093,000556: 06,2424 02745 TC C33JMP 006094,000557: 006095,000558: 06,2425 10071 NXTFL33 CCS RUPTREG2 # PROCESS POSSIBLE ADDITIONAL CHANGES. 006096,000559: 06,2426 12412 TCF NXTIBT -1 006097,000560: 006098,000561: # Page 147 006099,000562: # PROGRAM NAME: GLOCKMON 006100,000563: 006101,000564: # FUNCTIONAL DESCRIPTION: THIS PROGRAM MONITORS THE CDUZ COUNTER TO DETERMINE WHETHER THE ISS IS IN GIMBAL LOCK 006102,000565: # AND TAKES ACTION IF IT IS. THREE REGIONS OF MIDDLE GIMBAL ANGLE (MGA) ARE USED: 006103,000566: 006104,000567: # 1) ABS(MGA) LESS THAN OR EQUAL TO 70 DEGREES -- NORMAL MODE. 006105,000568: # 2) ABS(MGA) GREATER THAN 70 DEGREES AND LESS THAN OR EQUAL TO 85 DEGREES -- GIMBAL LOCK LAMP TURNED ON. 006106,000569: # 3) ABS(MGA) GREATER THAN 85 DEGREES -- ISS PUT IN COARSE ALIGN AND NO ATT LAMP TURNED ON. 006107,000570: 006108,000571: # CALLING SEQUENCE: EVERY 480 MILLISECONDS AFTER C33TEST. 006109,000572: 006110,000573: # JOBS OR TASKS INITIATED: NONE. 006111,000574: 006112,000575: # SUBROUTINES CALLED: 1) SETCOARS WHEN ABS(MGA) GREATER THEN 85 DEGREES AND ISS NOT IN COARSE ALIGN. 006113,000576: # 2) LAMPTEST BEFORE TURNING OFF GIMBAL LOCK LAMP. 006114,000577: 006115,000578: # ERASABLE INITIALIZATION: 006116,000579: # 1) FRESH START OR RESTART WITH NO GROUPS ACTIVE: C(CDUZ) = 0, IMODES30 BIT 6 = 0, IMODES33 BIT 1 = 0. 006117,000580: # 2) RESTART WTIH GROUPS ACTIVE: SAME AS FRESH START EXCEPT C(CDUZ) NOT CHANGED SO GIMBAL MONITOR 006118,000581: # PROCEEDS AS BEFORE. 006119,000582: 006120,000583: # ALARMS: 1) MGA REGION (2) CAUSES GIMBAL LOCK LAMP TO BE LIT. 006121,000584: # 2) MGA REGION (3) CAUSES THE ISS TO BE PUT IN COARSE ALIGN AND THE NO ATT LAMP TO BE LIT IF EITHER NOT 006122,000585: # SO ALREADY. 006123,000586: 006124,000587: 06,2427 10034 GLOCKMON CCS CDUZ 006125,000588: 06,2430 12434 TCF GLOCKCHK # SEE IF MAGNITUDE OF MGA IS GREATER THAN 006126,000589: 06,2431 12460 TCF SETGLOCK # 70 DEGREES. 006127,000590: 06,2432 12434 TCF GLOCKCHK 006128,000591: 06,2433 12460 TCF SETGLOCK 006129,000592: 006130,000593: 06,2434 62505 GLOCKCHK AD -70DEGS 006131,000594: 06,2435 00006 EXTEND 006132,000595: 06,2436 62457 BZMF SETGLOCK -1 # NO LOCK. 006133,000596: 006134,000597: 06,2437 62506 AD -15DEGS # SEE IF ABS(MGA) GREATER THAN 85 DEGREES 006135,000598: 06,2440 00006 EXTEND 006136,000599: 06,2441 62455 BZMF NOGIMRUN 006137,000600: 006138,000601: 06,2442 35014 CAF BIT4 # IF SO, SYSTEM SHOULD BE IN COARSE ALIGN 006139,000602: 06,2443 00006 EXTEND # TO PREVENT GIMBAL RUNAWAY. 006140,000603: 06,2444 02012 RAND CHAN12 006141,000604: 06,2445 10000 CCS A 006142,000605: 06,2446 12455 TCF NOGIMRUN 006143,000606: 006144,000607: 06,2447 04740 TC IBNKCALL # GO INTO COARSE ALIGN. 006145,000608: 06,2450 17027 CADR SETCOARS 006146,000609: 006147,000610: 06,2451 36211 CAF SIX # ENABLE ISS ERROR COUNTERS IN 60 MS. 006148,000611: 06,2452 05245 TC WAITLIST 006149,000612: # Page 148 006150,000613: 06,2453 E3,1474 EBANK= CDUIND 006151,000614: 06,2453 03023 16063 2CADR CA+ECE 006152,000615: 006153,000616: 06,2455 35012 NOGIMRUN CAF BIT6 # TURN ON GIMBAL LOCK LAMP. 006154,000617: 06,2456 12460 TCF SETGLOCK 006155,000618: 006156,000619: 06,2457 35021 -1 CAF ZERO 006157,000620: 06,2460 61036 SETGLOCK AD DSPTAB +11D # SEE IF PRESENT STATE OF GIMBAL LOCK LAMP 006158,000621: 06,2461 75012 MASK BIT6 # AGREES WITH DESIRED STATE BY HALF ADDING 006159,000622: 06,2462 00006 EXTEND # THE TWO. 006160,000623: 06,2463 15333 BZF GLOCKOK # OK AS IS. 006161,000624: 006162,000625: 06,2464 71036 MASK DSPTAB +11D # IF OFF, DON'T TURN ON IF IMU BEING CAGED. 006163,000626: 06,2465 10000 CCS A 006164,000627: 06,2466 12502 TCF GLAMPTST # TURN OFF UNLESS LAMP TEST IN PROGRESS. 006165,000628: 006166,000629: 06,2467 35012 CAF BIT6 006167,000630: 06,2470 71320 MASK IMODES30 006168,000631: 06,2471 10000 CCS A 006169,000632: 06,2472 15333 TCF GLOCKOK 006170,000633: 006171,000634: 06,2473 41036 GLINVERT CS DSPTAB +11D # INVERT GIMBAL LOCK LAMP. 006172,000635: 06,2474 75012 MASK BIT6 006173,000636: 06,2475 65001 AD BIT15 # TO INDICATE CHANGE IN DSPTAB +11D. 006174,000637: 06,2476 57036 XCH DSPTAB +11D 006175,000638: 06,2477 72164 MASK OCT37737 006176,000639: 06,2500 27036 ADS DSPTAB +11D 006177,000640: 06,2501 15333 TCF GLOCKOK 006178,000641: 006179,000642: 06,2502 02750 GLAMPTST TC LAMPTEST # TURN OFF UNLESS LAMP TEST IN PROGRESS. 006180,000643: 06,2503 15333 TCF GLOCKOK 006181,000644: 06,2504 12473 TCF GLINVERT 006182,000645: 006183,000646: 06,2505 63434 -70DEGS DEC -.38888 # -70 DEGREES SCALED IN HALF-REVOLUTIONS. 006184,000647: 06,2506 75252 -15DEGS DEC -.08333 006185,000648: 006186,000649: # Page 149 006187,000650: # PROGRAM NAME: TLIM. 006188,000651: 006189,000652: # FUNCTIONAL DESCRIPTION: THIS PROGRAM MAINTAINS THE TEMP LAMP (BIT 4 OF CHANNEL 11) ON THE DSKY TO AGREE WITH 006190,000653: # THE TEMP SIGNAL FROM THE ISS (BIT 15 OF CHANNEL 30). HOWEVER, THE LIGHT WILL NOT BE TURNED OFF IF A LAMP TEST 006191,000654: # IS IN PROGRESS. 006192,000655: 006193,000656: # CALLING SEQUENCE: CALLED BY IMUMON ON A CHANGE OF BIT 15 OF CHANNEL 30. 006194,000657: 006195,000658: # JOBS OR TASKS INITIATED: NON. 006196,000659: 006197,000660: # SUBROUTINES CALLED: LAMPTEST. 006198,000661: 006199,000662: # ERASABLE INITIALIZATION: FRESH START AND RESTART TURN THE TEMP LAMP OFF. 006200,000663: 006201,000664: # ALARMS: TEMP LAMP TURNED ON WHEN THE IMU TEMP GOES OUT OF LIMITS. 006202,000665: 006203,000666: # EXIT: NXTIFAIL. 006204,000667: 006205,000668: # OUTPUT: SERVICE OF TEMP LAMP. IN A, EXCEPT FOR TLIM. 006206,000669: 006207,000670: 06,2507 74777 TLIM MASK POSMAX # REMOVE BIT FROM WORD OF CHANGES AND SET 006208,000671: 06,2510 54071 TS RUPTREG2 # DSKY TEMP LAMP ACCORDINGLY. 006209,000672: 006210,000673: 06,2511 11320 CCS IMODES30 006211,000674: 06,2512 12520 TCF TEMPOK 006212,000675: 06,2513 12520 TCF TEMPOK 006213,000676: 006214,000677: 06,2514 35014 CAF BIT4 # TURN ON LAMP. 006215,000678: 06,2515 00006 EXTEND 006216,000679: 06,2516 05011 WOR DSALMOUT 006217,000680: 06,2517 12227 TCF NXTIFAIL 006218,000681: 006219,000682: 06,2520 02750 TEMPOK TC LAMPTEST # IF TEMP NOW OK, DON'T TURN OFF LAMP IF 006220,000683: 06,2521 12227 TCF NXTIFAIL # LAMP TEST IN PROGRESS. 006221,000684: 006222,000685: 06,2522 45014 CS BIT4 006223,000686: 06,2523 00006 EXTEND 006224,000687: 06,2524 03011 WAND DSALMOUT # TURN OFF LAMP 006225,000688: 06,2525 12227 TCF NXTIFAIL 006226,000689: 006227,000690: # Page 150 006228,000691: # PROGRAM NAME: ITURNON. 006229,000692: 006230,000693: # FUNCTIONAL DESCRIPTION: THIS PROGRAM IS CALLED BY IMUMON WHEN A CHANGE OF BIT 14 OF CHANNEL 30 (ISS TURN-ON 006231,000694: # REQUEST) IS DETECTED. UPON ENTRY, ITURNON CHECKS IF A TURN-ON DELAY SEQUENCE HAS FAILED, AND IF SO, IT EXITS. 006232,000695: # IF NOT, IT CHECKS WHETHER THE TURN-ON REQUEST CHANGE IS TO ON OR OFF. IF ON, IT SETS BIT7 OF IMODES30 TO 1 SO 006233,000696: # THAT TNONTEST WILL INITIATE THE ISS INITIALIZATION SEQUENCE. IF OFF, THE TURN-ON DELAY SIGNAL, CHANNEL 12 BIT 006234,000697: # 15, IS CHECKED AND IF IT IS ON, ITURNON EXITS. IF THE DELAY SIGNAL IS OFF, PROGRAM ALARM 00207 IS ISSUED, BIT 2 006235,000698: # OF IMODES30 IS SET TO 1 AND THE PROGRAM EXITS. 006236,000699: 006237,000700: # THE SETTING OF BIT 2 OF IMODES30 (ISS DELAY SEQUENCE FAIL) INHIBITS THIS ROUTINE AND IMUOP FROM 006238,000701: # PROCESSING ANY CHANGES. THIS BIT WILL BE RESET BY THE ENDTNON ROUTINE WHEN THE CURRENT 90 SECOND DELAY PERIOD 006239,000702: # ENDS. 006240,000703: 006241,000704: # CALLING SEQUENCE: FROM IMUMON WHEN ISS TURN-ON REQUEST CHANGES STATE. 006242,000705: 006243,000706: # JOBS OR TASKS INITIATED: NONE. 006244,000707: 006245,000708: # SUBROUTINES CALLED: ALARM, IF THE ISS TURN-ON REQUEST IS NOT PRESENT FOR 90 SECONDS. 006246,000709: 006247,000710: # ERASABLE INITIALIZATION: FRESH START AND RESTART SET BIT 15 OF CHANNEL 12 AND BITS 2 AND 7 OF IMODES30 TO 0, 006248,000711: # AND BIT 14 OF IMODES30 TO 1. 006249,000712: 006250,000713: # ALARMS: PROGRAM ALARM 00207 IS ISSUED IF THE ISS TURN-ON REQUEST SIGNAL IS NOT PRESENT FOR 90 SECONDS. 006251,000714: 006252,000715: # EXIT: NXTIFAIL. 006253,000716: 006254,000717: # OUTPUT: BIT 7 OF IMODES30 TO START ISS INITIALIZATION, OR BIT 2 OF IMODES30 AND PROGRAM ALARM 00207 TO INDICATE 006255,000718: # A FAILED TURN-ON SEQUENCE. 006256,000719: 006257,000720: 06,2526 35016 ITURNON CAF BIT2 # IF DELAY REQUEST HAS GONE OFF 006258,000721: 06,2527 71320 MASK IMODES30 # PREMATURELY, DO NOT PROCESS ANY CHANGES 006259,000722: 06,2530 10000 CCS A # UNTIL THE CURRENT 90 SEC WAIT EXPIRES. 006260,000723: 06,2531 12227 TCF NXTIFAIL 006261,000724: 006262,000725: 06,2532 35002 CAF BIT14 # SEE IF JUST ON OR OFF. 006263,000726: 06,2533 71320 MASK IMODES30 006264,000727: 06,2534 00006 EXTEND 006265,000728: 06,2535 12551 BZF ITURNON2 # IF JUST ON. 006266,000729: 006267,000730: 06,2536 35001 CAF BIT15 006268,000731: 06,2537 00006 EXTEND # SEE IF DELAY PRESENT DISCRETE HAS BEEN 006269,000732: 06,2540 02012 RAND CHAN12 # SENT. IF SO, ACTION COMPLETE 006270,000733: 06,2541 00006 EXTEND 006271,000734: 06,2542 12544 BZF +2 006272,000735: 06,2543 12227 TCF NXTIFAIL 006273,000736: 006274,000737: 06,2544 35016 CAF BIT2 # IF NOT, SET BIT TO INDICATE REQUEST NOT 006275,000738: 06,2545 27320 ADS IMODES30 # PRESENT FOR FULL DURATION. 006276,000739: 06,2546 05650 TC ALARM 006277,000740: 06,2547 00207 OCT 207 006278,000741: 06,2550 12227 TCF NXTIFAIL 006279,000742: 006280,000743: # Page 151 006281,000744: 06,2551 41320 ITURNON2 CS IMODES30 # SET BIT7 TO INDICATE WAIT OF 1 SAMPLE 006282,000745: 06,2552 75011 MASK BIT7 006283,000746: 06,2553 27320 ADS IMODES30 006284,000747: 06,2554 12227 TCF NXTIFAIL 006285,000748: 006286,000749: # Page 152 006287,000750: # PROGRAM NAME: IMUCAGE. 006288,000751: 006289,000752: # FUNCTIONAL DESCRIPTION: THIS PROGRAM PROCESSES CHANGES OF THE IMUCAGE INBIT, CHANNEL 30 BITS 11. IF THE BIT 006290,000753: # CHANGES TO 0 (CAGE BUTTON PRESSED), THE ISS IS CAGED (ICDU ZERO + COARSE ALIGN + NO ATT LAMP) UNTIL THE 006291,000754: # ASTRONAUT SELECTS ANOTHER PROGRAM TO ALIGN THE ISS. ANY PULSE TRAINS TO THE ICDU'S AND GYRO'S ARE TERMINATED, 006292,000755: # THE ASSOCIATE OUTCOUNTERS ARE ZEROED AND THE GYRO'S ARE DE-SELECTED. NO ACTION OCCURS WHEN THE BUTTON IS 006293,000756: # RELEASED (INBIT CHANGES TO 1). 006294,000757: 006295,000758: # CALLING SEQUENCE: BY IMUMON WHEN IMU CAGE BIT CHANGES. 006296,000759: 006297,000760: # JOBS OR TASKS INITIATED: NONE. 006298,000761: 006299,000762: # SUBROUTINES CALLED: CAGESUB. 006300,000763: 006301,000764: # ERASABLE INITIALZATION: FRESH START AND RESTART SET BIT 11 OF IMODES30 TO 1. 006302,000765: 006303,000766: # ALARMS: NONE. 006304,000767: 006305,000768: # EXIT: NXTIFAIL. 006306,000769: 006307,000770: # OUTPUT: ISS CAGED, COUNTERS ZEROED, PULSE TRAINS TERMINATED AND NO ATT LAMP LIT. 006308,000771: 006309,000772: 06,2555 10000 IMUCAGE CCS A # NO ACTION IF GOING OFF. 006310,000773: 06,2556 12354 TCF ISSZERO 006311,000774: 06,2557 42762 CS OCT77000 # TERMINATE ICDU, OPTICS, GYRO PULSE TRAINS 006312,000775: 06,2560 00006 EXTEND 006313,000776: 06,2561 03014 WAND CHAN14 006314,000777: 006315,000778: 06,2562 42756 CS OCT272 # KNOCK DOWN TVC ENABLE, IMU ERROR COUNTER 006316,000779: 06,2563 00006 EXTEND # ENABLE, ZERO ICDU, COARSE ALIGN 006317,000780: 06,2564 03012 WAND CHAN12 # ENABLE, OPTICS ERR CNTR ENABLE 006318,000781: 006319,000782: 06,2565 45003 CS BIT13 # TURN OFF ENGINE 006320,000783: 06,2566 00006 EXTEND 006321,000784: 06,2567 03011 WAND DSALMOUT 006322,000785: 006323,000786: 06,2570 02725 TC CAGESUB1 006324,000787: 006325,000788: 06,2571 04740 TC IBNKCALL # KNOCK DOWN TRACK, REFSMMAT, DRIFT FLAGS 006326,000789: 06,2572 17060 CADR RNDREFDR 006327,000790: 006328,000791: 06,2573 45021 CS ZERO # ZERO COMMAND OUT-COUNTERS 006329,000792: 06,2574 54050 TS CDUXCMD 006330,000793: 06,2575 54051 TS CDUYCMD 006331,000794: 06,2576 54052 TS CDUZCMD 006332,000795: 06,2577 54047 TS GYROCMD 006333,000796: 006334,000797: 06,2600 42761 CS OCT740 # HAVING WAITED AT LEAST 27 MCT FROM 006335,000798: 06,2601 00006 EXTEND # GYRO PULSE TRAIN TERMINATION, WE CAN 006336,000799: 06,2602 03014 WAND CHAN14 # DE-SELECT THE GYROS. 006337,000800: # Page 153 006338,000801: 06,2603 12227 TCF NXTIFAIL 006339,000802: 006340,000803: # Page 154 006341,000804: # PROGRAM NAME: IMUOP. 006342,000805: 006343,000806: # FUNCTIONAL DESCRIPTION: THIS PROGRAM PROCESSES CHANGES IN THE ISS OPERATE DISCRETE, BIT 9 OF CHANNEL 30. 006344,000807: # IF THE INBIT CHANGES TO 0, INDICATING ISS ON, IMUOP GENERALLY SETS BIT 7 OF IMODES30 TO 1 TO REQUEST ISS 006345,000808: # INITIALIZATION VIA TNONTEST. AN EXCEPTION IS DURING A FAILED ISS DELAY DURING WHICH BIT 2 OF IMODES30 IS SET 006346,000809: # TO 1 AND NO FURTHER INITIALIZATION IS REQUIRED. WHEN THE INBIT CHANGES TO 1, INDICATING ISS OFF, IMUSEFLG IS 006347,000810: # TESTED TO SEE IF ANY PROGRAM WAS USING THE ISS. IF SO, PROGRAM ALARM 00214 IS ISSUED. 006348,000811: 006349,000812: # CALLING SEQUENCE: BY IMUMON WHEN BIT 9 OF CHANNEL 30 CHANGES. 006350,000813: 006351,000814: # JOBS OR TASKS INITIATED: NONE. 006352,000815: # 006353,000816: # SUBROUTINES CALLED: ALARM, IF ISS IS TURNED OFF WHILE IN USE. 006354,000817: 006355,000818: # ERASABLE INITIALIZATION: ON FRESH START AND RESTART, BIT 9 OF IMODES30 IS SET TO 1 EXCEPT WHEN THE GIMBAL LOCK 006356,000819: # LAMP IS ON, IN WHICH CASE IT IS SET TO 0. THIS PREVENTS ICDU ZERO BY TNONTEST WITH THE ISS IN GIMBAL LOCK. 006357,000820: 006358,000821: # ALARMS: PROGRAM ALARM 00214 IF THE ISS IS TURNED OFF WHILE IN USE. 006359,000822: 006360,000823: # EXIT: NXTIFAIL. 006361,000824: 006362,000825: # OUTPUT: ISS INITIALIZATION REQUEST (IMODES30 BIT 7) OR PROGRAM ALARM 00214. 006363,000826: 006364,000827: 06,2604 00006 IMUOP EXTEND # IF OPERATE JUST ON, WAIT 1 SAMPLE. 006365,000828: 06,2605 12625 BZF IMUOP2 006366,000829: 006367,000830: 06,2606 41321 CS IMODES33 # DISABLE DAP 006368,000831: 06,2607 75012 MASK BIT6 006369,000832: 06,2610 27321 ADS IMODES33 006370,000833: 006371,000834: 06,2611 04740 TC IBNKCALL # KNOCK DOWN TRACK, REFSMMAT, DRIFT FLAGS 006372,000835: 06,2612 17060 CADR RNDREFDR 006373,000836: 006374,000837: 06,2613 42757 CS BITS7&8 # KNOCK DOWN RENDEZVOUS, IMUUSE FLAGS 006375,000838: 06,2614 70074 MASK STATE 006376,000839: 06,2615 56074 XCH STATE # IF GOING OFF, ALARM IF PROG USING IMU. 006377,000840: 06,2616 40000 COM 006378,000841: 06,2617 75010 MASK IMUSEFLG 006379,000842: 06,2620 10000 CCS A 006380,000843: 06,2621 12227 TCF NXTIFAIL 006381,000844: 006382,000845: 06,2622 05650 TC ALARM 006383,000846: 06,2623 00214 OCT 214 006384,000847: 06,2624 12227 TCF NXTIFAIL 006385,000848: 006386,000849: 06,2625 35016 IMUOP2 CAF BIT2 # SEE IF FAILED ISS TURN-ON SEQ IN PROG. 006387,000850: 06,2626 71320 MASK IMODES30 006388,000851: 06,2627 10000 CCS A 006389,000852: 06,2630 12227 TCF NXTIFAIL # IF SO, DON'T PROCESS UNTIL PRESENT 90 006390,000853: 06,2631 12551 TCF ITURNON2 # SECONDS EXPIRES 006391,000854: 006392,000855: # Page 155 006393,000856: # PROGRAM NAME: PIPFAIL 006394,000857: 006395,000858: # FUNCTIONAL DESCRIPTION: THIS PROGRAM PROCESSES CHANGES OF BIT 13 OF CHANNEL 33, PIPA FAIL. IT SETS BIT 10 OF 006396,000859: # IMODES30 TO AGREE. IT CALLS SETISSW IN CASE A PIPA FAIL NECESSITATES AN ISS WARNING. IF NOT, I.E., MODES30 006397,000860: # BIT 1 = 1, AND A PIPA FAIL IS PRESENT AND THE ISS NOT BEING INITIALIZED, PROGRAM ALARM 0212 IS ISSUED. 006398,000861: 006399,000862: # CALLING SEQUENCE: BY C33TEST ON CHANGES OF CHANNEL 33 BIT 13. 006400,000863: 006401,000864: # JOBS OR TASKS INITIATED: NONE. 006402,000865: 006403,000866: # SUBROUTINES CALLED: 1) SETISSW, AND 2) ALARM (SEE FUNCITONAL DESCRIPTION). 006404,000867: 006405,000868: # ERASABLE INITIALIZATION: SEE IMUMON FOR INITIALIZATION OF IMODES30. THE RELEVANT BITS ARE 5, 7, 8, 9, AND 10. 006406,000869: 006407,000870: # ALARMS: PROGRAM ALARM 00212 IF PIPA FAIL IS PRESENT BUT NEITHER ISS WARNING IS TO BE ISSUED NOR THE ISS IS 006408,000871: # BEING INITIALIZED. 006409,000872: 006410,000873: # EXIT: NXTFL33. 006411,000874: 006412,000875: # OUTPUT: PROGRAM ALARM 00212 AND ISS WARNING MAINTENANCE. 006413,000876: 006414,000877: 06,2632 10000 PIPFAIL CCS A # SET BIT10 IN IMODES30 SO ALL ISS WARNING 006415,000878: 06,2633 35006 CAF BIT10 # INFO IS IN ONE REGISTER. 006416,000879: 06,2634 57320 XCH IMODES30 006417,000880: 06,2635 72763 MASK -BIT10 006418,000881: 06,2636 27320 ADS IMODES30 006419,000882: 006420,000883: 06,2637 02665 TC SETISSW 006421,000884: 006422,000885: 06,2640 41320 CS IMODES30 # IF PIP FAIL DOESN'T LIGHT ISS WARNING, DO 006423,000886: 06,2641 75017 MASK BIT1 # A PROGRAM ALARM IF IMU OPERATING BUT NOT 006424,000887: 06,2642 10000 CCS A # CAGED OR BEING TURNED ON. 006425,000888: 06,2643 12425 TCF NXTFL33 006426,000889: 006427,000890: 06,2644 31320 CA IMODES30 006428,000891: 06,2645 72760 MASK OCT1720 006429,000892: 06,2646 10000 CCS A 006430,000893: 06,2647 12425 TCF NXTFL33 # ABOVE CONDITION NOT MET. 006431,000894: 006432,000895: 06,2650 05650 TC ALARM 006433,000896: 06,2651 00212 OCT 212 006434,000897: 06,2652 12425 TCF NXTFL33 006435,000898: 006436,000899: # Page 156 006437,000900: # PROGRAM NAMES: DNTMFAST, UPTMFAST 006438,000901: 006439,000902: # FUNCTIONAL DESCRIPTION: THESE PROGRAMS PROCESS CHANGES OF BITS 12 AND 11 OF CHANNEL 33. IF A BIT CHANGES TO A 006440,000903: # 0, A PROGRAM ALARM IS ISSUED. THE ALARMS ARE: 006441,000904: 006442,000905: # BIT ALARM CAUSE 006443,000906: # --- ----- ----- 006444,000907: # 12 01105 DOWNLINK TOO FAST 006445,000908: # 11 01106 UPLINK TOO FAST 006446,000909: 006447,000910: # CALLING SEQUENCE: BY C33TEST ON A BIT CHANGE. 006448,000911: 006449,000912: # SUBROUTINES CALLED: ALARM, IF A BIT CHANGES TO A 0. 006450,000913: 006451,000914: # ERASABLE INITIALIZATION: FRESH START OR RESTART, BITS 12 AND 11 OF IMODES33 ARE SET TO 1. 006452,000915: 006453,000916: # ALARMS: SEE FUNCTIONAL DESCRIPTION. 006454,000917: 006455,000918: # EXIT: NXTFL33. 006456,000919: 006457,000920: # OUTPUT: PROGRAM ALARM ON A BIT CHANGE TO 0. 006458,000921: 006459,000922: 06,2653 10000 DNTMFAST CCS A # DO PROG ALARM IF TM TOO FAST. 006460,000923: 06,2654 12425 TCF NXTFL33 006461,000924: 006462,000925: 06,2655 05650 TC ALARM 006463,000926: 06,2656 01105 OCT 1105 006464,000927: 06,2657 12425 TCF NXTFL33 006465,000928: 006466,000929: 06,2660 10000 UPTMFAST CCS A # SAME AS DNLINK TOO FAST WITH DIFFERENT 006467,000930: 06,2661 12425 TCF NXTFL33 # ALARM CODE. 006468,000931: 006469,000932: 06,2662 05650 TC ALARM 006470,000933: 06,2663 01106 OCT 1106 006471,000934: 06,2664 12425 TCF NXTFL33 006472,000935: 006473,000936: # Page 157 006474,000937: # PROGRAM NAME: SETISSW 006475,000938: 006476,000939: # FUNCTIONAL DESCRIPTION: THIS PROGRAM TURNS THE ISS WARNING LAMP ON AND OFF (CHANNEL 11 BIT 1 = 1 FOR ON, 006477,000940: # 0 FOR OFF) DEPENDING ON THE STATUS OF IMODES30 BITS 13 (IMU FAIL) AND 4 (INHIBIT IMU FAIL), 12 (ICDU FAIL) AND 006478,000941: # 3 (INHIBIT ICDU FAIL), AND 10 (PIPA FAIL) AND 1 (INHIBIT PIPA FAIL). THE LAMP IS LEFT ON IF A LAMP TEST IS IN 006479,000942: # PROGRESS. 006480,000943: 006481,000944: # CALLING SEQUENCE: CALLED BY IMUMON ON CHANGES TO IMU FAIL AND ICDU FAIL. CALLED BY IFAILOK AND PFAILOK UPON 006482,000945: # REMOVAL OF THE FAIL INHIBITS. CALLED BY PIPFAIL WHEN THE PIPA FAIL DISCRETE CHANGES. IT IS CALLED BY PIPUSE 006483,000946: # SINCE THE PIPA FAIL PROGRAM ALARM MAY NECESSITATE AN ISS WARNING, AND LIKEWISE BY PIPFREE WHEN THE ALARM DEPARTS 006484,000947: # AND IT IS CALLED BY IMUZERO3 AND ISSUP AFTER THE FAIL INHIBITS HAVE BEEN REMOVED. 006485,000948: 006486,000949: # JOBS OR TASKS INITIATED: NONE. 006487,000950: 006488,000951: # SUBROUTINES CALLED: NONE. 006489,000952: 006490,000953: # ERASABLE INITIALIZATION: 006491,000954: 006492,000955: # 1) IMODES30 -- SEE IMUMON. 006493,000956: # 2) IMODES33 BIT 1 = 0 (LAMP TEST NOT IN PROGRESS). 006494,000957: 006495,000958: # ALARMS: ISS WARNING. 006496,000959: 006497,000960: # EXIT: VIA Q. 006498,000961: 006499,000962: # OUTPUT: ISS WARNING LAMP SET PROPERLY. 006500,000963: 006501,000964: 06,2665 35025 SETISSW CAF OCT15 # SET ISS WARNING USING THE FAIL BITS IN 006502,000965: 06,2666 71320 MASK IMODES30 # BITS 13, 12, AND 10 OF IMODES30 AND THE 006503,000966: 06,2667 00006 EXTEND # FAILURE INHIBIT BITS IN POSITIONS 006504,000967: 06,2670 75006 MP BIT10 # 4, 3, AND 1. 006505,000968: 06,2671 31320 CA IMODES30 006506,000969: 06,2672 00006 EXTEND 006507,000970: 06,2673 04001 ROR LCHAN # 0 INDICATES FAILURE 006508,000971: 06,2674 40000 COM 006509,000972: 06,2675 75067 MASK OCT15000 006510,000973: 06,2676 10000 CCS A 006511,000974: 06,2677 12710 TCF ISSWON # FAILURE. 006512,000975: 006513,000976: 06,2700 35017 ISSWOFF CAF BIT1 # DON'T TURN OFF ISS WARNING IF LAMP TEST 006514,000977: 06,2701 71321 MASK IMODES33 # IN PROGRESS. 006515,000978: 06,2702 10000 CCS A 006516,000979: 06,2703 00002 TC Q 006517,000980: 006518,000981: 06,2704 45017 CS BIT1 006519,000982: 06,2705 00006 EXTEND 006520,000983: 06,2706 03011 WAND DSALMOUT # TURN OFF ISS WARNING. 006521,000984: 06,2707 00002 TC Q 006522,000985: 006523,000986: 06,2710 00006 ISSWON EXTEND 006524,000987: # Page 158 006525,000988: 06,2711 22066 QXCH ITEMP6 006526,000989: 06,2712 05764 TC VARALARM # TELL EVERYONE WHAT CAUSED THE ISS WARNING 006527,000990: 06,2713 35017 CAF BIT1 006528,000991: 06,2714 00006 EXTEND 006529,000992: 06,2715 05011 WOR DSALMOUT # TURN ON ISS WARNING 006530,000993: 06,2716 00066 TC ITEMP6 006531,000994: 006532,000995: 06,2717 47703 CAGESUB CS BIT15+6 # SET OUTBITS + INTERNAL FLAGS FOR 006533,000996: 06,2720 00006 EXTEND # SYSTEM TURN-ON OR CAGE. DISABLE THE 006534,000997: 06,2721 03012 WAND CHAN12 # ERROR COUNTER AND REMOVE THE IMU DELAY COMP. 006535,000998: 06,2722 35027 CAF BITS4&5 # SEND ZERO AND COARSE. 006536,000999: 06,2723 00006 EXTEND 006537,001000: 06,2724 05012 WOR CHAN12 006538,001001: 006539,001002: 06,2725 41036 CAGESUB1 CS DSPTAB +11D # TURN ON NO ATT LAMP 006540,001003: 06,2726 72753 MASK OC40010 006541,001004: 06,2727 27036 ADS DSPTAB +11D 006542,001005: 006543,001006: 06,2730 41320 CAGESUB2 CS IMODES30 # SET FLAGS TO INDICATE CAGING OR TURN-ON 006544,001007: 06,2731 72755 MASK OCT75 # AND INHIBIT ALL ISS WARNING INFO 006545,001008: 06,2732 27320 ADS IMODES30 006546,001009: 006547,001010: 06,2733 41321 CS IMODES33 # DISABLE DAP AUTO AND HOLD MODES 006548,001011: 06,2734 75012 MASK BIT6 006549,001012: 06,2735 27321 ADS IMODES33 006550,001013: 006551,001014: 06,2736 00002 TC Q 006552,001015: 006553,001016: 06,2737 06,2665 IMUFAIL EQUALS SETISSW 006554,001017: 06,2737 06,2665 ICDUFAIL EQUALS SETISSW 006555,001018: 006556,001019: # Page 159 006557,001020: # JUMP TABLES AND CONSTANTS. 006558,001021: 006559,001022: 06,2737 12526 IFAILJMP TCF ITURNON # CHANNEL 30 DISPATCH. 006560,001023: 06,2740 12665 TCF IMUFAIL 006561,001024: 06,2741 12665 TCF ICDUFAIL 006562,001025: 06,2742 12555 TCF IMUCAGE 006563,001026: 06,2743 76400 30RDMSK OCT 76400 # (BIT 10 NOT SAMPLED HERE). 006564,001027: 06,2744 12604 TCF IMUOP 006565,001028: 006566,001029: 06,2745 12632 C33JMP TCF PIPFAIL # CHANNEL 33 DISPATCH. 006567,001030: 06,2746 12653 TCF DNTMFAST 006568,001031: 06,2747 12660 TCF UPTMFAST 006569,001032: 006570,001033: # SUBROUTINE TO SKIP IF LAMP TEST NOT IN PROGRESS. 006571,001034: 006572,001035: 06,2750 41321 LAMPTEST CS IMODES33 # BIT 1 OF IMODES33 = 1 IF LAMP TEST IN 006573,001036: 06,2751 75017 MASK BIT1 # PROGRESS. 006574,001037: 06,2752 13065 TCF ZOPFIN3 006575,001038: 006576,001039: 06,2753 5070 33RDMSK EQUALS PRIO16 006577,001040: 06,2753 40010 OC40010 OCT 40010 006578,001041: 06,2754 00054 OCT54 OCT 54 006579,001042: 06,2755 00075 OCT75 OCT 75 006580,001043: 06,2756 00272 OCT272 OCT 00272 006581,001044: 06,2757 00300 BITS7&8 OCT 300 006582,001045: 06,2760 01720 OCT1720 OCT 1720 006583,001046: 06,2761 00740 OCT740 OCT 00740 006584,001047: 06,2762 5067 OCT15000 EQUALS PRIO15 006585,001048: 06,2762 77000 OCT77000 OCT 77000 006586,001049: 06,2763 76777 -BIT10 OCT -1000 006587,001050: 006588,001051: 06,2764 21450 90SECS DEC 9000 B-14 006589,001052: 06,2765 5771 120MS = OCT14 # (DEC12) 006590,001053: 06,2765 5333 GLOCKOK EQUALS RESUME 006591,001054: 006592,001055: # Page 160 006593,001056: # OPTICS MONITORING AND ZERO ROUTINES 006594,001057: 06,2765 31331 OPTMON CA OPTMODES # MONITOR OPTICS INBITS IN CHAN 30 AND 33 006595,001058: 06,2766 00006 EXTEND 006596,001059: 06,2767 06030 RXOR CHAN30 # LOOK FOR OCDU FAIL BIT CHANGE 006597,001060: 06,2770 75011 MASK BIT7 006598,001061: 06,2771 54070 TS RUPTREG1 # STORE CHANGE BIT 006599,001062: 06,2772 10000 CCS A 006600,001063: 06,2773 03224 TC OCDUFTST # PROCESS OCDUFAIL BIT CHANGE 006601,001064: 006602,001065: 06,2774 11303 33OPTMON CCS OPTIND # BYPASS IF TVC TAKEOVER 006603,001066: 06,2775 13001 TCF +4 006604,001067: 06,2776 13001 TCF +3 006605,001068: 06,2777 13001 TCF +2 006606,001069: 06,3000 15333 TCF RESUME 006607,001070: 006608,001071: 06,3001 31331 CA OPTMODES # LOOK FOR OPTICS MODE SWITCH CHANGE 006609,001072: 06,3002 00006 EXTEND 006610,001073: 06,3003 06033 RXOR CHAN33 006611,001074: 06,3004 75027 MASK OCTHIRTY 006612,001075: 06,3005 26070 ADS RUPTREG1 # STORE INBIT CHANGES 006613,001076: 06,3006 23331 LXCH OPTMODES 006614,001077: 06,3007 00006 EXTEND 006615,001078: 06,3010 06001 RXOR LCHAN 006616,001079: 06,3011 55331 TS OPTMODES # UPDATE OPTMODES TO SHOW BIT CHANGES 006617,001080: 006618,001081: 06,3012 40000 COM # SAMPLE CURRENT SWITCH SETTING 006619,001082: 06,3013 75027 MASK OCTHIRTY 006620,001083: 06,3014 00006 EXTEND 006621,001084: 06,3015 13022 BZF SETSAMP # MANUAL-SET ZERO IN SWSAMPLE 006622,001085: 006623,001086: 06,3016 75013 MASK BIT5 # SEE IF CSC 006624,001087: 06,3017 10000 CCS A 006625,001088: 06,3020 03022 TC +2 # CSC-SET SWSAMPLE POS 006626,001089: 06,3021 37716 CAF NEGONE # ZOPTICS-SET SWSAMPLE (-1) 006627,001090: 06,3022 55314 SETSAMP TS SWSAMPLE # CURRENT OPTICS SWITCH SETTING 006628,001091: 006629,001092: 06,3023 11315 PROCESSW CCS DESOPMOD # BRANCH ON PREVIOUS SETTING 006630,001093: 06,3024 03125 TC CSCDES # CSC 006631,001094: 06,3025 03077 TC MANUDES # MANUAL 006632,001095: 06,3026 03027 TC ZOPTDES # ZERO OPTICS 006633,001096: # Page 161 006634,001097: 06,3027 11314 ZOPTDES CCS SWSAMPLE # IS SWITCH STILL AT ZOPTICS 006635,001098: 06,3030 03047 TC ZTOCSC # NOW AT CSC 006636,001099: 06,3031 03037 TC ZTOMAN # MANUAL 006637,001100: 06,3032 03057 TC ZOPFIN1 # ZOPTICS-SEE IF ZOPT PROCESSING // Should be TC ZOPFINI 006638,001101: 06,3033 03154 TC SETDESMD # ZOPT NOT PROCESSING-NO ACTION 006639,001102: 006640,001103: 06,3034 11317 CCS ZOPTCNT # ZOPT PROCESSING-CHECK COUNTER 006641,001104: 06,3035 03153 TC SETCNT # 32 SAMPLE NOT FINISHED-SET COUNTER 006642,001105: 06,3036 03157 TC SETZOEND # 32 SAMPLE WAIT COMPLETED-SET UP ZOP END 006643,001106: 006644,001107: 06,3037 03057 ZTOMAN TC ZOPFIN1 # ZOP TO MANUAL-IS ZOPT DONE // Should be TC ZOPFINI 006645,001108: 06,3040 03154 TC SETDESMD # YES-NORMAL EXIT 006646,001109: 006647,001110: 06,3041 05650 ZOPALARM TC ALARM # ALARM-SWITCHED ALTERED WHILE ZOPTICS 006648,001111: 06,3042 00116 OCT 00116 006649,001112: 06,3043 35024 CAF OCT13 # PROCESSING-SET RETURN OPTION 006650,001113: 06,3044 55316 TS WTOPTION 006651,001114: 006652,001115: 06,3045 03070 TC CANZOPT # CANCEL ZOPT 006653,001116: 006654,001117: 06,3046 03154 TC SETDESMD 006655,001118: 006656,001119: 06,3047 03057 ZTOCSC TC ZOPFIN1 # SEE IF ZOPT PROCESSING // Should be TC ZOPFINI 006657,001120: 06,3050 03115 TC MANTOCSC +3 # NO-CHECK RETURN TO COARS OPT 006658,001121: 06,3051 05650 TC ALARM # ZOPT PROCESSING-ALARM 006659,001122: 06,3052 00116 OCT 00116 006660,001123: 06,3053 03070 TC CANZOPT # CANCEL ZOPT 006661,001124: 06,3054 03112 TC MANTOCSC # ZERO CNT-LOOK FOR COARS OPT RETURN 006662,001125: 006663,001126: 06,3055 35007 COARSLOK CAF BIT9 # IF COARS OPT SINCE FSTART GO TO L+2 006664,001127: 06,3056 13064 TCF ZOPFIN2 # IF NOT GO TO L+1 006665,001128: 06,3057 35017 ZOPFIN1 CAF BIT1 # SEE IF END ZOPT TASK WORKING // Label should be ZOPFINI 006666,001129: 06,3060 71331 MASK OPTMODES 006667,001130: 06,3061 10000 CCS A 006668,001131: 06,3062 05333 TC RESUME # ZOPT TASK WORKING-WAIT ONE SAMPLE PERIOD 006669,001132: 006670,001133: 06,3063 35015 CAF BIT3 # TEST IF ZOPTICS PROCESSING 006671,001134: 06,3064 71331 ZOPFIN2 MASK OPTMODES # RETURNS TO L+1 PROCESSING AND 006672,001135: 06,3065 10000 ZOPFIN3 CCS A 006673,001136: 06,3066 24002 INCR Q # L+2 IF NOT 006674,001137: 06,3067 00002 TC Q 006675,001138: 006676,001139: 06,3070 46211 CANZOPT CS SIX # CANCEL ZERO OPTICS 006677,001140: 06,3071 71331 MASK OPTMODES # ZERO ZOPT PROCESSING BIT-ENABLE OCDUFAIL 006678,001141: 06,3072 55331 TS OPTMODES 006679,001142: 06,3073 45017 CS BIT1 # MAKE SURE ZERO OCDU IS OFF 006680,001143: 06,3074 00006 EXTEND 006681,001144: 06,3075 03012 WAND CHAN12 006682,001145: 06,3076 00002 TC Q 006683,001146: 006684,001147: # Page 162 006685,001148: 06,3077 11314 MANUDES CCS SWSAMPLE # SEE IF SWITCH STILL IN MANUAL MODE 006686,001149: 06,3100 03112 TC MANTOCSC # NOW AT CSC 006687,001150: 06,3101 03107 TC MANTOMAN # STILL MANUAL 006688,001151: 06,3102 11316 CCS WTOPTION # ZOPTICS-LOOK AT ZOPTICS RETURN OPTION 006689,001152: 06,3103 03105 TC +2 # 5 SEC RETURN GOOD-CONTINUE ZOPTICS 006690,001153: 06,3104 03151 TC OPTZERO # ZOPTICS MUST START ANEW 006691,001154: 006692,001155: 06,3105 03216 TC INITZOPT # SHOW ZERO OPTICS PROCESSING 006693,001156: 06,3106 03154 TC SETDESMD # NORMAL EXIT 006694,001157: 006695,001158: 06,3107 11316 MANTOMAN CCS WTOPTION # DECREMENT RETURN OPTION TIME 006696,001159: 06,3110 55316 TS WTOPTION 006697,001160: 06,3111 03154 TC SETDESMD 006698,001161: 006699,001162: 06,3112 35021 MANTOCSC CAF ZERO # CANCEL ZOPT RETURN OPTION IF SET 006700,001163: 06,3113 55316 TS WTOPTION 006701,001164: 06,3114 55317 TS ZOPTCNT 006702,001165: 006703,001166: 06,3115 03055 TC COARSLOK # CHECK FOR COARS OPT RETURN 006704,001167: 06,3116 03154 TC SETDESMD # NO COARS TASK-NO ACTION 006705,001168: 006706,001169: 06,3117 35017 CAF ONE # SET COARS OPT WORKING 006707,001170: 06,3120 55303 TS OPTIND 006708,001171: 06,3121 35016 CAF BIT2 # ENABLE OPTICS CDU ERROR CNTS 006709,001172: 06,3122 00006 EXTEND 006710,001173: 06,3123 05012 WOR CHAN12 006711,001174: 006712,001175: 06,3124 03154 TC SETDESMD 006713,001176: 006714,001177: 06,3125 11314 CSCDES CCS SWSAMPLE # SEE IF SWITCH STILL AT CSC 006715,001178: 06,3126 03154 TC SETDESMD # STILL AT CSC 006716,001179: 06,3127 03133 TC CSCTOMAN # MANUAL 006717,001180: 06,3130 35012 CSCTOZOP CAF OCT40 # ZOPTICS-INITIALIZE FOR ZOPT 006718,001181: 06,3131 55317 TS ZOPTCNT 006719,001182: 06,3132 03216 TC INITZOPT 006720,001183: 006721,001184: 06,3133 11303 CSCTOMAN CCS OPTIND # SEE IF COARS WORKING 006722,001185: 06,3134 03140 TC CANCOARS # COARS WORKING-SWITCH NOT CSC-KILL COARS 006723,001186: 06,3135 03140 TC CANCOARS 006724,001187: 06,3136 03137 TC +1 # NO COARS-NORMAL EXIT 006725,001188: 06,3137 03154 TC SETDESMD 006726,001189: # Page 163 006727,001190: 06,3140 37716 CANCOARS CA NEGONE 006728,001191: 06,3141 55303 TS OPTIND # SET OPTIND (-1) TO SHOW NOT WORKING 006729,001192: 06,3142 45016 CS BIT2 # DISABLE OCDU ERR CNTS 006730,001193: 06,3143 00006 EXTEND 006731,001194: 06,3144 03012 WAND CHAN12 006732,001195: 06,3145 41331 CS OPTMODES # SET RETURN-TO-COARS BIT 006733,001196: 06,3146 75007 MASK BIT9 006734,001197: 06,3147 27331 ADS OPTMODES 006735,001198: 006736,001199: 06,3150 03154 TC SETDESMD 006737,001200: 06,3151 03216 OPTZERO TC INITZOPT # INITIALIZE ZERO OPTICS 006738,001201: 006739,001202: 06,3152 35012 CA OCT40 # SET UP 32 SAMPLE WAIT 006740,001203: 06,3153 55317 SETCNT TS ZOPTCNT 006741,001204: 06,3154 31314 SETDESMD CA SWSAMPLE # SET CURRENT SWITCH INDICATION-RESUME 006742,001205: 06,3155 55315 TS DESOPMOD 006743,001206: 06,3156 05333 TC RESUME 006744,001207: 006745,001208: 06,3157 35017 SETZOEND CAF BIT1 # SEND ZERO OPTICS CDU 006746,001209: 06,3160 00006 EXTEND 006747,001210: 06,3161 05012 WOR CHAN12 006748,001211: 06,3162 34112 CA 200MS # HOLD ZERO CDU FOR 200 MS 006749,001212: 06,3163 05245 TC WAITLIST 006750,001213: 06,3164 1331 EBANK= OPTMODES 006751,001214: 06,3164 03172 14062 2CADR ENDZOPT 006752,001215: 006753,001216: 06,3166 41331 CS OPTMODES # SHOW ZOPTICS TASK WORKING 006754,001217: 06,3167 75017 MASK BIT1 006755,001218: 06,3170 27331 ADS OPTMODES 006756,001219: 006757,001220: 06,3171 03154 TC SETDESMD 006758,001221: 006759,001222: 06,3172 03210 ENDZOPT TC ZEROPCDU # ZERO OCDU COUNTERS 006760,001223: 06,3173 45017 CS BIT1 # TURN OFF ZERO OCDU 006761,001224: 06,3174 00006 EXTEND 006762,001225: 06,3175 03012 WAND CHAN12 006763,001226: 06,3176 34112 CAF 200MS # DELAY 200MS FOR CDUS TO RESYNCHRONIZE 006764,001227: 06,3177 05272 TC VARDELAY 006765,001228: 006766,001229: 06,3200 41331 CS OPTMODES # SHOW ZOPTICS SINCE LAST FRESH START 006767,001230: 06,3201 75006 MASK BIT10 # OR RESTART 006768,001231: 06,3202 27331 ADS OPTMODES 006769,001232: 006770,001233: 06,3203 45023 CS SEVEN # ENABLE OCDUFAIL-SHOW OPTICS COMPLETE 006771,001234: 06,3204 71331 MASK OPTMODES 006772,001235: 06,3205 55331 TS OPTMODES 006773,001236: 006774,001237: 06,3206 03224 TC OCDUFTST # CHECK OCDU FAIL BIT AFTER ENABLE. 006775,001238: # Page 164 006776,001239: 06,3207 05324 TC TASKOVER 006777,001240: 006778,001241: 06,3210 35021 ZEROPCDU CAF ZERO 006779,001242: 06,3211 54036 TS CDUS # ZERO IN CDUS, -20 IN CDUT 006780,001243: 06,3212 55307 TS ZONE # INITIALZE SHAFT MONITOR ZONE. 006781,001244: 06,3213 43261 CS 20DEGS 006782,001245: 06,3214 54035 TS CDUT 006783,001246: 06,3215 00002 TC Q 006784,001247: 006785,001248: 06,3216 35021 INITZOPT CAF ZERO # INITIALIZE ZOPTICS-INHIBIT OCDUFAIL 006786,001249: 06,3217 55316 TS WTOPTION # AND SHOW OPTICS PROCESSING 006787,001250: 06,3220 41331 CS OPTMODES # SET ZERO OPTICS PROCESSING 006788,001251: 06,3221 76211 MASK SIX # OPTICS CDU FAIL INHIBITED 006789,001252: 06,3222 27331 ADS OPTMODES 006790,001253: 06,3223 00002 TC Q 006791,001254: 006792,001255: # Page 165 006793,001256: 06,3224 35011 OCDUFTST CAF BIT7 # SEE IF OCDUFAIL ON OR OFF 006794,001257: 06,3225 00006 EXTEND 006795,001258: 06,3226 02030 RAND CHAN30 006796,001259: 06,3227 10000 CCS A 006797,001260: 06,3230 13252 TCF OPFAILOF # OCDUFAIL LIGHT OFF 006798,001261: 006799,001262: 06,3231 35016 CAF BIT2 # OCDUFAIL LIGHT ON UNLESS INHIBITED 006800,001263: 06,3232 71331 MASK OPTMODES 006801,001264: 06,3233 10000 CCS A 006802,001265: 06,3234 00002 TC Q # OCDUFAIL INHIBITED 006803,001266: 006804,001267: 06,3235 35010 OPFAILON CAF BIT8 # ON BIT 006805,001268: 06,3236 61036 AD DSPTAB +11D 006806,001269: 06,3237 75010 MASK BIT8 006807,001270: 06,3240 00006 SETOFF EXTEND 006808,001271: 06,3241 16711 BZF TCQ # NO CHANGE 006809,001272: 006810,001273: 06,3242 54001 TS L 006811,001274: 06,3243 31036 CA DSPTAB +11D 006812,001275: 06,3244 00006 EXTEND 006813,001276: 06,3245 06001 RXOR LCHAN 006814,001277: 06,3246 74777 MASK POSMAX 006815,001278: 06,3247 65001 AD BIT15 # SHOW ACTION WANTED 006816,001279: 06,3250 55036 TS DSPTAB +11D 006817,001280: 06,3251 00002 TC Q 006818,001281: 006819,001282: 06,3252 35017 OPFAILOF CAF BIT1 # DON'T TURN OFF IF LAMP TEST 006820,001283: 06,3253 71321 MASK IMODES33 006821,001284: 06,3254 10000 CCS A 006822,001285: 06,3255 00002 TC Q # LAMP TEST IN PROGRESS 006823,001286: 006824,001287: 06,3256 35010 CAF BIT8 # TURN OFF OCDUFAIL LIGHT 006825,001288: 06,3257 71036 MASK DSPTAB +11D 006826,001289: 06,3260 13240 TCF SETOFF 006827,001290: 006828,001291: 06,3261 5024 OCT13 = ELEVEN 006829,001292: 06,3261 5027 OCTHIRTY EQUALS BITS4&5 006830,001293: 06,3261 16037 20DEGS DEC 7199 B-14 006831,001294: 06,3262 5012 OCT40 EQUALS BIT6 006832,001295: 06,3262 4112 200MS EQUALS OCT24 006833,001296: 006834,001297: # Page 166 006835,001298: # OPTICS CDU DRIVING PROGRAM 006836,001299: 006837,001300: 10,2000 BANK 10 006838,001301: 10,2000 SETLOC OPTDRV 006839,001302: 10,2000 BANK 006840,001303: 10,2000 COUNT* $$/SXT 006841,001304: 006842,001305: # SHAFT STOP MONITOR-ZONE UPDATE 006843,001306: 006844,001307: 10,2000 30036 OPTDRIVE CA CDUS # GRAB OPTIC SHAFT CDU 006845,001308: 10,2001 54001 TS L 006846,001309: 10,2002 10000 CCS A # GET ABS(CDUS) 006847,001310: 10,2003 67707 AD 13,14,15 006848,001311: 10,2004 12006 TCF +2 # ABS(CDUS) - 45 DEG 006849,001312: 10,2005 12003 TCF -2 006850,001313: 10,2006 00006 EXTEND 006851,001314: 10,2007 62016 BZMF OZONE # LESS THAN 45 DEG-SET ZONE 0 006852,001315: 10,2010 31307 CA ZONE # IF ZONE ZERO, CHANGE TO + OR - OTHERWISE 006853,001316: 10,2011 00006 EXTEND # DON'T MESS WITH ZONE 006854,001317: 10,2012 12014 BZF +2 006855,001318: 10,2013 12020 TCF CONTDRVE # JUST CONTINUE 006856,001319: 10,2014 56001 XCH L # GREATER THAN 45 DEG-SET ZONE TO SIGN CDU 006857,001320: 10,2015 12017 TCF OZONE +1 006858,001321: 10,2016 35021 OZONE CAF ZERO # ABS(CDUS) LESS THAN 90 DEG-ZONE ZERO 006859,001322: 10,2017 55307 TS ZONE 006860,001323: 10,2020 COUNT* $$/T4RUPT 006861,001324: 10,2020 11303 CONTDRVE CCS OPTIND 006862,001325: 10,2021 02025 TC +4 # WORK COARS OPTICS 006863,001326: 10,2022 02025 TC +3 # WORK COARS OPTICS 006864,001327: 10,2023 05333 TC RESUME # NO OPT 006865,001328: 10,2024 05333 TC RESUME # NO OPT 006866,001329: 006867,001330: 10,2025 31314 CA SWSAMPLE # SEE IF SWITCH AT CMC 006868,001331: 10,2026 00006 EXTEND 006869,001332: 10,2027 65333 BZMF RESUME # ZERO (-1) MANUAL (+0) 006870,001333: 006871,001334: 10,2030 35006 CAF BIT10 # SEE IF OCDUS ZEROED SINCE LAST FSTART 006872,001335: 10,2031 71331 MASK OPTMODES 006873,001336: 10,2032 10000 CCS A 006874,001337: 10,2033 02036 TC +3 006875,001338: 10,2034 05650 TC ALARM # OPTICS NOT ZEROED 006876,001339: 10,2035 00120 OCT 00120 006877,001340: 006878,001341: 10,2036 35016 CA BIT2 # SEE IF ERR CNTS ENABLED 006879,001342: 10,2037 00006 EXTEND 006880,001343: 10,2040 02012 RAND CHAN12 006881,001344: 10,2041 00006 EXTEND 006882,001345: 10,2042 12175 BZF SETBIT # CNTS NOT ENABLED-DO IT AND RESUME 006883,001346: 006884,001347: 10,2043 35017 CAF ONE # INITIALIZE OPTIND 006885,001348: # Page 167 006886,001349: 10,2044 55303 OPT2 TS OPTIND 006887,001350: 10,2045 00006 EXTEND 006888,001351: 10,2046 12132 BZF TRUNCMD # CHECK TRUNION COMMAND 006889,001352: 006890,001353: 10,2047 51303 GETOPCMD INDEX OPTIND 006891,001354: 10,2050 31160 CA DESOPTT # PICK UP DESIRED OPT ANGLE 006892,001355: 10,2051 00006 EXTEND 006893,001356: 10,2052 51303 INDEX OPTIND 006894,001357: 10,2053 20035 MSU CDUT # GET DIFFERENCE 006895,001358: 10,2054 00006 EXTEND 006896,001359: 10,2055 75003 MP BIT13 006897,001360: 10,2056 56001 XCH L 006898,001361: 10,2057 60000 DOUBLE 006899,001362: 10,2060 54061 TS ITEMP1 006900,001363: 10,2061 12063 TCF +2 # NO OVFL 006901,001364: 006902,001365: 10,2062 26001 ADS L # WITH OVFL 006903,001366: 10,2063 51303 STORCMD INDEX OPTIND 006904,001367: 10,2064 23305 LXCH COMMANDO # STORE COMMAND 006905,001368: 10,2065 11303 CCS OPTIND 006906,001369: 10,2066 12044 TCF OPT2 # GET NEXT COMMAND 006907,001370: 006908,001371: 10,2067 54061 TS ITEMP1 # INITIALIZE SEND INDICATOR TO ZERO 006909,001372: 10,2070 COUNT* $$/SXT 006910,001373: 006911,001374: # SHAFT STOP AVOIDANCE 006912,001375: 006913,001376: 10,2070 10036 CCS CDUS # IF CDUS GREATER THAN + OR - 90 DEG CHECK 006914,001377: 10,2071 65000 AD NEG1/2 # FOR POSSIBLE STOP PROBLEM 006915,001378: 10,2072 12074 TCF +2 006916,001379: 10,2073 12071 TCF -2 006917,001380: 10,2074 00006 EXTEND 006918,001381: 10,2075 62122 BZMF CMDSETUP # CDU LESS THAN 90 DEG, NO PROBLEMS 006919,001382: 006920,001383: 10,2076 31307 CA ZONE 006921,001384: 10,2077 00006 EXTEND 006922,001385: 10,2100 12122 BZF CMDSETUP # ZONE=3, NORMAL COMMAND 006923,001386: 10,2101 75001 MASK BIT15 # GRAB SIGN OF ZONE 006924,001387: 10,2102 54001 TS L 006925,001388: 10,2103 31306 CA COMMANDO +1 006926,001389: 10,2104 75001 MASK BIT15 # GRAB SIGN OF SHAFT COMMAND 006927,001390: 10,2105 00006 EXTEND 006928,001391: 10,2106 06001 RXOR LCHAN 006929,001392: 10,2107 10000 CCS A 006930,001393: 10,2110 12122 TCF CMDSETUP # SIGN ZONE NOT EQUAL TO SIGN COMMAND 006931,001394: 10,2111 11161 CCS DESOPTS # SEE IF DESOPTS BETWEEN -90 AND +90 006932,001395: 10,2112 65000 AD NEG1/2 006933,001396: 10,2113 12115 TCF +2 # ABS(DESOPTS) - 90 DEG 006934,001397: 10,2114 12112 TCF -2 006935,001398: 10,2115 00006 EXTEND 006936,001399: # Page 168 006937,001400: 10,2116 62120 BZMF +2 # DESOPTS IN FIRST OR FOURTH QUAD 006938,001401: 10,2117 12122 TCF CMDSETUP 006939,001402: 10,2120 41306 CS COMMANDO +1 # REVERSE REGULAR COMMAND 006940,001403: 10,2121 55306 TS COMMANDO +1 006941,001404: 006942,001405: 10,2122 COUNT* $$/T4RPT 006943,001406: 006944,001407: 10,2122 35017 CMDSETUP CAF ONE # SET OPTIND 006945,001408: 10,2123 55303 TS OPTIND 006946,001409: 10,2124 50000 INDEX A 006947,001410: 10,2125 11305 CCS COMMANDO # GET SIGN OF COMMAND 006948,001411: 10,2126 02144 TC POSOPCMD 006949,001412: 10,2127 02151 TC NEXTOPT +1 # ZERO COMMAND-SKIP SEND INDICATOR 006950,001413: 10,2130 02161 TC NEGOPCMD 006951,001414: 10,2131 02151 TC NEXTOPT +1 # ZERO COMMAND 006952,001415: 006953,001416: 10,2132 40035 TRUNCMD CS CDUT # IF COMMAND GREATER THAN 45 DEG-COMMAND 006954,001417: 10,2133 61160 AD DESOPTT # 45 DEG 006955,001418: 10,2134 54002 TS Q 006956,001419: 10,2135 02047 TC GETOPCMD # LESS THAN 45 DEG-NORMAL OPERATION 006957,001420: 006958,001421: 10,2136 10000 CCS A # GREATER THAN 45 DEG-USE OPSMAX WITH 006959,001422: 10,2137 34777 CA POSMAX # CORRECT SIGN 006960,001423: 10,2140 02142 TC +2 006961,001424: 10,2141 44777 CS POSMAX 006962,001425: 10,2142 54001 TS L 006963,001426: 10,2143 02063 TC STORCMD 006964,001427: 10,2144 62202 POSOPCMD AD MAXPLS1 006965,001428: 10,2145 00006 EXTEND 006966,001429: 10,2146 62166 BZMF DELOPCMD # COMMAND LESS THAN MAX PULSE 006967,001430: 10,2147 42201 CS MAXPLS # GREATER THAN MAX PULSE-USE MAX PULSE 006968,001431: 006969,001432: 10,2150 24061 NEXTOPT INCR ITEMP1 # SET SEND INDICATOR 006970,001433: 10,2151 65020 AD NEG0 # MAKE SURE ZERO COMMAND IS -ZERO 006971,001434: 10,2152 51303 INDEX OPTIND 006972,001435: 10,2153 54053 TS CDUTCMD # STORE PULSE IN SEND REG 006973,001436: 006974,001437: 10,2154 11303 CCS OPTIND 006975,001438: 10,2155 02123 TC CMDSETUP +1 # GET NEXT OPT 006976,001439: 006977,001440: 10,2156 10061 CCS ITEMP1 # ARE ANY PULSES TO GO 006978,001441: 10,2157 12171 TCF SENDOCMD # YES-SEND RM 006979,001442: 10,2160 05333 TC RESUME # NO 006980,001443: 006981,001444: 10,2161 62202 NEGOPCMD AD MAXPLS1 006982,001445: 10,2162 00006 EXTEND 006983,001446: 10,2163 62166 BZMF DELOPCMD # LESS THAN MAX PULSE 006984,001447: 10,2164 32201 CA MAXPLS # MAX PULSES 006985,001448: 10,2165 12150 TCF NEXTOPT 006986,001449: # Page 169 006987,001450: 10,2166 51303 DELOPCMD INDEX OPTIND 006988,001451: 10,2167 57305 XCH COMMANDO # SET UP SMALL COMMAND 006989,001452: 10,2170 12150 TCF NEXTOPT 006990,001453: 006991,001454: 10,2171 35062 SENDOCMD CAF 11,12 # SEND OCDU DRIVE COMMANDS 006992,001455: 10,2172 00006 EXTEND 006993,001456: 10,2173 05014 WOR CHAN14 006994,001457: 10,2174 05333 TC RESUME 006995,001458: 006996,001459: 10,2175 35016 SETBIT CAF BIT2 # ENABLE OCDU ERR CNTS 006997,001460: 10,2176 00006 EXTEND 006998,001461: 10,2177 05012 WOR CHAN12 006999,001462: 10,2200 05333 TC RESUME # START COARS NEXT TIME AROUND 007000,001463: 007001,001464: 10,2201 77532 MAXPLS DEC -165 B-14 # WAS -80 007002,001465: 10,2202 77533 MAXPLS1 DEC -164 B-14 # WAS -79 007003,001466: 10,2203 5062 11,12 EQUALS PRIO6 007004,001467: End of include-file T4RUPT_PROGRAM.agc. Parent file is MAIN.agc