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