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