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