Source Code
These source code files are an attempted reconstruction of Sundance revision 306, the Apollo 9
LM (Lunar Module) AGC (Apollo Guidance Computer) flight software, created from binary dumps of
original core rope program modules, as follows:
|
005471,000002: ## Copyright: Public domain.
005472,000003: ## Filename: T4RUPT_PROGRAM.agc
005473,000004: ## Purpose: A section of an attempt to reconstruct Sundance revision 306
005474,000005: ## as closely as possible with available information. Sundance
005475,000006: ## 306 is the source code for the Lunar Module's (LM) Apollo
005476,000007: ## Guidance Computer (AGC) for Apollo 9. This program was created
005477,000008: ## using the mixed-revision SundanceXXX as a starting point, and
005478,000009: ## pulling back features from Luminary 69 believed to have been
005479,000010: ## added based on memos, checklists, observed address changes,
005480,000011: ## or the Sundance GSOPs.
005481,000012: ## Assembler: yaYUL
005482,000013: ## Contact: Ron Burkey <info@sandroid.org>.
005483,000014: ## Website: www.ibiblio.org/apollo/index.html
005484,000015: ## Mod history: 2020-07-24 MAS Created from SundanceXXX.
005485,000016:
005486,000017:
005487,000018:
005488,000019: 12,2000 BANK 12
005489,000020: 06,2000 SETLOC T4RUP
005490,000021: 06,2000 BANK
005491,000022:
005492,000023: 06,2000 E6,1412 EBANK= M11
005493,000024: 06,2000 COUNT* $$/T4RPT
005494,000025: 06,2000 54016 T4RUPT TS BANKRUPT
005495,000026:
005496,000027: 06,2001 00006 EXTEND
005497,000028: 06,2002 22012 QXCH QRUPT
005498,000029:
005499,000030: 06,2003 11315 CCS DSRUPTSW # GOES 7(-1)0 AROUND AND AROUND
005500,000031: 06,2004 12010 TCF NORMT4 +1
005501,000032: 06,2005 12007 TCF NORMT4
005502,000033:
005503,000034: 06,2006 12134 TCF QUIKDSP
005504,000035:
005505,000036: 06,2007 35032 NORMT4 CAF SEVEN
005506,000037: 06,2010 54070 TS RUPTREG1
005507,000038: 06,2011 55315 TS DSRUPTSW
005508,000039:
005509,000040:
005510,000041: 4072 BLOCK 02
005511,000042: 4000 SETLOC FFTAG10
005512,000043: 4000 BANK
005513,000044:
005514,000045: 4072 COUNT* $$/T4RPT
005515,000046: 4072 7701 100MRUPT = OCT37766 # (DEC 16374)
005516,000047: # RELTAB IS A PACKED TABLE. RELAYWORD CODE IN UPPER 4 BITS, RELAY CODE
005517,000048: # IN LOWER 5 BITS.
005518,000049:
005519,000050: 4072 04025 RELTAB OCT 04025
005520,000051: 4073 10003 OCT 10003
005521,000052: 4074 14031 OCT 14031
005522,000053: 4075 20033 OCT 20033
005523,000054: 4076 24017 OCT 24017
005524,000055: 4077 30036 OCT 30036
005525,000056: 4100 34034 OCT 34034
005526,000057: 4101 40023 OCT 40023
005527,000058: 4102 44035 OCT 44035
005528,000059: 4103 50037 OCT 50037
005529,000060: 4104 54000 OCT 54000
005530,000061: 4105 60000 RELTAB11 OCT 60000
005531,000062:
005532,000063:
005533,000064: # SWITCHED-BANK PORTION.
005534,000065:
005535,000066: 12,2000 BANK 12
005536,000067: 06,2000 SETLOC T4RUP
005537,000068: 06,2000 BANK
005538,000069:
005539,000070: 06,2012 COUNT* $$/T4RPT
005540,000071: 06,2012 11037 CDRVE CCS DSPTAB +11D
005541,000072: 06,2013 02063 TC DSPOUT
005542,000073: 06,2014 02063 TC DSPOUT
005543,000074:
005544,000075: 06,2015 57037 XCH DSPTAB +11D
005545,000076: 06,2016 74370 MASK LOW11
005546,000077: 06,2017 55037 TS DSPTAB +11D
005547,000078: 06,2020 64105 AD RELTAB11
005548,000079: 06,2021 00006 EXTEND
005549,000080: 06,2022 01010 WRITE OUT0
005550,000081: 06,2023 02071 TC HANG20
005551,000082:
005552,000083: # DSPOUT PROGRAM. PUTS OUT DISPLAYS.
005553,000084:
005554,000085: 06,2024 55017 DSPOUTSB TS NOUT
005555,000086: 06,2025 45030 CS ZERO
005556,000087: 06,2026 54073 TS DSRUPTEM # SET TO -0 FOR 1ST PASS THRU DSPTAB
005557,000088: 06,2027 56777 XCH DSPCNT
005558,000089: 06,2030 65027 AD NEG0 # TO PREVENT +0
005559,000090: 06,2031 54777 TS DSPCNT
005560,000091: 06,2032 50777 DSPSCAN INDEX DSPCNT
005561,000092: 06,2033 11024 CCS DSPTAB
005562,000093: 06,2034 10777 CCS DSPCNT # IF DSPTAB ENTRY +, SKIP
005563,000094: 06,2035 12030 TCF DSPSCAN -2 # IF DSPCNT +, TRY AGAIN
005564,000095: 06,2036 12047 TCF DSPLAY # IF DSPTAB ENTRY -, DISPLAY
005565,000096: 06,2037 00012 TABLNTH OCT 12 # DEC 10 LENGTH OF DSPTAB
005566,000097: 06,2040 10073 CCS DSRUPTEM # IF DSRUPTEM=+0,2ND PASS THRU DSPTAB
005567,000098: 06,2041 37764 120MRUPT DEC 16372 B-14 # (DSPCNT = 0). +0 INTO NOUT.
005568,000099: 06,2042 55017 TS NOUT
005569,000100: 06,2043 00002 TC Q
005570,000101: 06,2044 54073 TS DSRUPTEM # IF DSRUPTEM=-0,1ST PASS THRU DSPTAB
005571,000102: 06,2045 32037 CAF TABLNTH # (DSPCNT=0). +0 INTO DSRUPTEM. PASS AGAIN
005572,000103: 06,2046 12031 TCF DSPSCAN -1
005573,000104:
005574,000105: 06,2047 65026 DSPLAY AD ONE
005575,000106: 06,2050 50777 INDEX DSPCNT
005576,000107: 06,2051 55024 TS DSPTAB # REPLACE POSITIVELY
005577,000108: 06,2052 74370 MASK LOW11 # REMOVE BITS 12 TO 15
005578,000109: 06,2053 54073 TS DSRUPTEM
005579,000110: 06,2054 34362 CAF HI5
005580,000111: 06,2055 50777 INDEX DSPCNT
005581,000112: 06,2056 74072 MASK RELTAB # PICK UP BITS 12 TO 15 OF RELTAB ENTRY
005582,000113: 06,2057 60073 AD DSRUPTEM
005583,000114: 06,2060 00006 EXTEND
005584,000115: 06,2061 01010 WRITE OUT0
005585,000116:
005586,000117: 06,2062 16713 TCF Q+1
005587,000118:
005588,000119:
005589,000120: 06,2063 10101 DSPOUT CCS FLAGWRD5 # IS DSKY FLAG ON
005590,000121: 06,2064 35030 CAF ZERO # NO
005591,000122: 06,2065 12130 TCF NODSPOUT # NO
005592,000123: 06,2066 11017 CCS NOUT # YES
005593,000124: 06,2067 02024 TC DSPOUTSB
005594,000125: 06,2070 12130 TCF NODSPOUT # NO DISPLAY REQUESTS
005595,000126:
005596,000127: 06,2071 42171 HANG20 CS 14,11,9
005597,000128: 06,2072 27315 ADS DSRUPTSW
005598,000129:
005599,000130: 06,2073 37703 CAF 20MRUPT
005600,000131:
005601,000132: 06,2074 54027 SETTIME4 TS TIME4
005602,000133:
005603,000134: # THE STATUS OF THE PROCEED PUSHBUTTON IS MONITORED EVERY 120 MILLISECONDS VIA THE CHANNEL 32 BIT 14 INBIT.
005604,000135: # THE STATE OF THIS INBIT IS COMPARED WITH ITS STATE DURING THE PREVIOUS T4RUPT AND IS PROCESSED AS FOLLOWS.
005605,000136:
005606,000137: # IF PREV ON AND NOW ON - BYPASS
005607,000138: # IF PREV ON AND NOW OFF - UPDATE IMODES33
005608,000139: # IF PREV OFF AND NOW ON - UPDATE IMODES33 AND PROCESS VIA PINBALL
005609,000140: # IF PREV OFF AND NOW OFF - BYPASS
005610,000141:
005611,000142: # THE LOGIC EMPLOYED REQUIRES ONLY 9 MCT (APPROX. 108 MICROSECONDS) OF COMPUTER TIME WHEN NO CHANGES OCCUR.
005612,000143:
005613,000144:
005614,000145: 06,2075 31305 PROCEEDE CA IMODES33 # MONITIOR FOR PROCEED BUTTON
005615,000146: 06,2076 00006 EXTEND
005616,000147: 06,2077 06032 RXOR CHAN32
005617,000148: 06,2100 75011 MASK BIT14
005618,000149: 06,2101 00006 EXTEND
005619,000150: 06,2102 12116 BZF T4JUMP # NO CHANGE
005620,000151:
005621,000152: 06,2103 23305 LXCH IMODES33
005622,000153: 06,2104 00006 EXTEND
005623,000154: 06,2105 06001 RXOR LCHAN
005624,000155: 06,2106 55305 TS IMODES33 # UPDATE IMODES33
005625,000156: 06,2107 75011 MASK BIT14
005626,000157: 06,2110 10000 CCS A
005627,000158: 06,2111 12116 TCF T4JUMP # WAS ON - NOW OFF
005628,000159:
005629,000160: 06,2112 34367 CAF CHRPRIO # WAS OFF - NOW ON
005630,000161: 06,2113 05142 TC NOVAC
005631,000162: 06,2114 1000 EBANK= DSPCOUNT
005632,000163: 06,2114 03554 60102 2CADR PROCKEY
005633,000164:
005634,000165: # JUMP TO APPROPRIATE ONCE-PER SECOND (.96 SEC ACTUALLY) ACTIVITY
005635,000166:
005636,000167: 06,2116 50070 T4JUMP INDEX RUPTREG1
005637,000168: 06,2117 12120 TCF +1
005638,000169:
005639,000170: 06,2120 03153 TC RCSMONIT
005640,000171: 06,2121 13011 TCF RRAUTCHK
005641,000172: 06,2122 12172 TCF IMUMON
005642,000173: 06,2123 13127 TCF DAPT4S
005643,000174: 06,2124 03153 TC RCSMONIT
005644,000175: 06,2125 13011 TCF RRAUTCHK
005645,000176: 06,2126 12172 TCF IMUMON
005646,000177: 06,2127 13127 TCF DAPT4S
005647,000178:
005648,000179: 06,2130 7703 20MRUPT = OCT37776 # (DEC 16382)
005649,000180:
005650,000181: # ADDITIONAL ROUTINES FOR 20MS. KEYBOARD ACTIVITY
005651,000182:
005652,000183: 06,2130 00006 NODSPOUT EXTEND
005653,000184: 06,2131 01010 WRITE OUT0
005654,000185:
005655,000186: 06,2132 32041 CAF 120MRUPT # SET FOR NEXT CDRIVE
005656,000187: 06,2133 12074 TCF SETTIME4
005657,000188:
005658,000189: 06,2134 35011 QUIKDSP CAF BIT14
005659,000190: 06,2135 71315 MASK DSRUPTSW
005660,000191: 06,2136 00006 EXTEND
005661,000192: 06,2137 12165 BZF QUIKOFF # WROTE LAST TIME, NOW TURN OFF RELAYS.
005662,000193:
005663,000194: 06,2140 11017 CCS NOUT
005664,000195: 06,2141 02024 TC DSPOUTSB
005665,000196: 06,2142 12152 TCF NODSPY # NOUT=0 OR BAD RETURN FROM DSPOUTSB
005666,000197: 06,2143 45011 CS BIT14 # GOOD RETURN (WE DISPLAYED SOMETHING)
005667,000198: 06,2144 27315 QUIKRUPT ADS DSRUPTSW
005668,000199:
005669,000200: 06,2145 37703 CAF 20MRUPT
005670,000201: 06,2146 54027 TS TIME4
005671,000202:
005672,000203: 06,2147 35016 CAF BIT9
005673,000204: 06,2150 27315 ADS DSRUPTSW
005674,000205:
005675,000206: 06,2151 05340 TC RESUME
005676,000207:
005677,000208: 06,2152 00006 NODSPY EXTEND
005678,000209: 06,2153 01010 WRITE OUT0
005679,000210:
005680,000211: 06,2154 37703 SYNCT4 CAF 20MRUPT
005681,000212: 06,2155 26027 ADS TIME4
005682,000213:
005683,000214: 06,2156 35016 CAF BIT9
005684,000215: 06,2157 27315 ADS DSRUPTSW
005685,000216:
005686,000217: 06,2160 11315 CCS DSRUPTSW
005687,000218: 06,2161 05340 TC RESUME
005688,000219: 06,2162 37737 OCT37737 OCT 37737
005689,000220: 06,2163 02154 TC SYNCT4
005690,000221: 06,2164 05340 TC RESUME
005691,000222:
005692,000223: 06,2165 00006 QUIKOFF EXTEND
005693,000224: 06,2166 01010 WRITE OUT0
005694,000225: 06,2167 35011 CAF BIT14 # RESET DSRUPTSW TO SEND DISPLAY NEXT PASS
005695,000226: 06,2170 12144 TCF QUIKRUPT
005696,000227:
005697,000228: 06,2171 22400 14,11,9 OCT 22400
005698,000229:
005699,000230: # PROGRAM NAME: IMUMON
005700,000231:
005701,000232: # FUNCTIONAL DESCRIPTION: THIS PROGRAM IS ENTERED EVERY 480 MS. IT DETECTS CHANGES OF THE IMU STATUS BITS IN
005702,000233: # CHANNEL 30 AND CALLS THE APPROPRIATE SUBROUTINES. THE BITS PROCESSED AND THEIR RELEVANT SUBROUTINES ARE:
005703,000234:
005704,000235: # FUNCTION BIT SUBROUTINE CALLED
005705,000236: # -------- --- -----------------
005706,000237: # TEMP IN LIMITS 15 TLIM
005707,000238: # ISS TURN-ON REQUEST 14 ITURNON
005708,000239: # IMU FAIL 13 IMUFAIL (SETISSW)
005709,000240: # IMU CDU FAIL 12 ICDUFAIL (SETISSW)
005710,000241: # IMU CAGE 11 IMUCAGE
005711,000242: # IMU OPERATE 9 IMUOP
005712,000243:
005713,000244: # THE LAST SAMPLED STATE OF THESE BITS IS LEFT IN IMODES30. ALSO, EACH SUBROUTINE CALLED FINDS THE NEW
005714,000245: # VALUE OF THE BIT IN A, WITH Q SET TO THE PROPER RETURN LOCATION, NXTIFAIL.
005715,000246:
005716,000247: # CALLING SEQUENCE: T4RUPT EVERY 480 MILLISECONDS.
005717,000248:
005718,000249: # JOBS OR TASKS INITIATED: NONE.
005719,000250:
005720,000251: # SUBROUTINES CALLED: TLIM, ITURNON, SETISSW, IMUCAGE, IMUOP.
005721,000252:
005722,000253: # ERASABLE INITIALIZATION:
005723,000254: # FRESH START OR RESTART WITH NO GROUPS ACTIVE: C(IMODES30) = OCT 37411.
005724,000255: # RESTART WITH ACTIVE GROUPS: C(IMODES30) = (B(IMODES30)AND(OCT 00035)) PLUS OCT 37400.
005725,000256: # THIS LEAVES IMU FAIL BITS INTACT.
005726,000257:
005727,000258: # ALARMS: NONE.
005728,000259:
005729,000260: # EXIT: TNONTEST.
005730,000261:
005731,000262: # OUTPUT: UPDATED IMODES30 WITH CHANGES PROCESSED BY APPROPRIATE SUBROUTINE.
005732,000263:
005733,000264: 06,2172 31304 IMUMON CA IMODES30 # SEE IF THERE HAS BEEN A CHANGE IN THE
005734,000265: 06,2173 00006 EXTEND # RELEVANT BITS OF CHAN 30.
005735,000266: 06,2174 06030 RXOR CHAN30
005736,000267: 06,2175 72763 MASK 30RDMSK
005737,000268: 06,2176 00006 EXTEND
005738,000269: 06,2177 12227 BZF TNONTEST # NO CHANGE IN STATUS.
005739,000270:
005740,000271: 06,2200 54070 TS RUPTREG1 # SAVE BITS WHICH HAVE CHANGED.
005741,000272: 06,2201 23304 LXCH IMODES30 # UPDATE IMODES30.
005742,000273: 06,2202 00006 EXTEND
005743,000274: 06,2203 06001 RXOR LCHAN
005744,000275: 06,2204 55304 TS IMODES30
005745,000276:
005746,000277: 06,2205 45026 CS ONE
005747,000278: 06,2206 56070 XCH RUPTREG1
005748,000279: 06,2207 00006 EXTEND
005749,000280:
005750,000281: 06,2210 62521 BZMF TLIM # CHANGE IN IMU TEMP.
005751,000282: 06,2211 12213 TCF NXTIFBIT # BEGIN BIT SCAN.
005752,000283:
005753,000284: 06,2212 65026 -1 AD ONE # (RE-ENTERS HERE FROM NXTIFAIL.)
005754,000285: 06,2213 24070 NXTIFBIT INCR RUPTREG1 # ADVANCE BIT POSITION NUMBER.
005755,000286: 06,2214 60000 +1 DOUBLE
005756,000287: 06,2215 54000 TS A # SKIP IF OVERFLOW.
005757,000288: 06,2216 12213 TCF NXTIFBIT # LOOK FOR BIT.
005758,000289:
005759,000290: 06,2217 56071 XCH RUPTREG2 # SAVE OVERFLOW-CORRECTED DATA.
005760,000291: 06,2220 50070 INDEX RUPTREG1 # SELECT NEW VALUE OF THIS BIT.
005761,000292: 06,2221 35011 CAF BIT14
005762,000293: 06,2222 71304 MASK IMODES30
005763,000294: 06,2223 50070 INDEX RUPTREG1
005764,000295: 06,2224 02757 TC IFAILJMP
005765,000296:
005766,000297: 06,2225 10071 NXTIFAIL CCS RUPTREG2 # PROCESS ANY ADDITIONAL CHANGES.
005767,000298: 06,2226 12212 TCF NXTIFBIT -1
005768,000299:
005769,000300: # PROGRAM NAME: TNONTEST.
005770,000301:
005771,000302: # FUNCTIONAL DESCRIPTION: THIS PROGRAM HONORS REQUESTS FOR ISS INITIALIZATION. ISS TURN-ON (CHANNEL 30 BIT 14)
005772,000303: # AND ISS OPERATE (CHANNEL 30 BIT 9) REQUESTS ARE TREATED AS A PAIR AND PROCESSING TAKES PLACE .480 SECONDS
005773,000304: # AFTER EITHER ONE APPEARS. THIS INITIALIZATION TAKES ON ONE OF THE FOLLOWING THREE FORMS:
005774,000305:
005775,000306: # 1) ISS TURN-ON: IN THIS SITUATION THE COMPUTER IS OPERATING WHEN THE ISS IS TURNED ON. NOMINALLY,
005776,000307: # BOTH ISS TURN-ON AND ISS OPERATE APPEAR. THE PLATFORM IS CAGED FOR 90 SECONDS AND THE ICDU'S ZEROED
005777,000308: # SO THAT AT THE END OF THE PROCESS THE GIMBAL LOCK MONITOR WILL FUNCTION PROPERLY.
005778,000309:
005779,000310: # 2) ICDU INITIALIZATION: IN THIS CASE THE COMPUTER WAS PROBABLY TURNED ON WITH THE ISS IN OPERATE OR
005780,000311: # A FRESH START WAS DONE WITH THE ISS IN OPERATE. IN THIS CASE ONLY ISS OPERATE IS ON. THE ICDU'S ARE
005781,000312: # ZEROED SO THE GIMBAL LOCK MONITOR WILL FUNCTION. AN EXCEPTION IS IF THE ISS IS IN GIMBAL LOCK AFTER
005782,000313: # A RESTART, THE ICDU'S WILL NOT BE ZEROED.
005783,000314:
005784,000315: # 3) RESTART WITH RESTARTABLE PROGRAM USING THE IMU: IN THIS CASE, NO INITIALIZATION TAKES PLACE SINCE
005785,000316: # IT IS ASSUMED THAT THE USING PROGRAM DID THE INITIALIZATION AND THEREFORE T4RUPT SHOULD NOT INTERFERE.
005786,000317:
005787,000318: # IMODES30 BIT 7 IS SET = 1 BY THE FIRST BIT (CHANNEL 30 BIT 14 OR 9) WHICH ARRIVES. FOLLOWING THIS. TNONTEST IS
005788,000319: # 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
005789,000320: # PROCEEDS, SETTING BITS 8 AND 7 = 0. AT PROCTNON, IF ISS TURN-ON REQUEST IS PRESENT, THE ISS IS CAGED (ZERO +
005790,000321: # COARSE). IF ISS OPERATE IS NOT PRESENT PROGRAM ALARM 00213 IS ISSUED. AT THE END OF A 90 SECOND CAGE, BIT 2
005791,000322: # OF IMODES30 IS TESTED. IF IT IS = 1, ISS TURN-ON WAS NOT PRESENT FOR THE ENTIRE 90 SECONDS. IN THAT CASE, IF
005792,000323: # THE ISS TURN-ON REQUEST IS PRESENT THE 90 SECOND WAIT IS REPEATED, OTHERWISE NO ACTION OCCURS UNLESS A PROGRAM
005793,000324: # WAS WAITING FOR THE INITIALIZATION IN WHICH CASE THE PROGRAM IS GIVEN AN IMUSTALL ERROR RETURN. IF THE DELAY
005794,000325: # WENT PROPERLY, THE ISS DELAY OUTBIT IS SENT AND THE ICDU'S ZEROED. A TASK IS INITIATED TO REMOVE THE PIPA FAIL
005795,000326: # INHIBIT BIT IN 10.24 SECONDS. IF A MISSION PROGRAM WAS WAITING IT IS INFORMED VIA ENDIMU.
005796,000327:
005797,000328: # AT PROCTNON, IF ONLY ISS OPERATE IS PRESENT (OPONLY), THE CDU'S ARE ZEROED UNLESS THE PLATFORM IS IN COARSE
005798,000329: # ALIGN (= GIMBAL LOCK HERE) OR A MISSION PROGRAM IS USING THE IMU (IMUSEFLG = 1).
005799,000330:
005800,000331: # CALLING SEQUENCE: T4RUPT EVERY 480 MILLISECONDS AFTER IMUMON.
005801,000332:
005802,000333: # JOBS OR TASKS INITIATED: 1) ENDTNON, 90 SECONDS AFTER CAGING STARTED. 2) ISSUP, 4 SECONDS AFTER CAGING DONE.
005803,000334: # 3) PFAILOK, 10.24 SECONDS AFTER INITIALIZATION COMPLETED. 4) UNZ2, 320 MILLISECONDS AFTER ZEROING
005804,000335: # STARTED.
005805,000336:
005806,000337: # SUBROUTINES CALLED: CAGESUB, CAGESUB2, ZEROICDU, ENDIMU, IMUBAD, NOATTOFF, SETISSW, VARDELAY.
005807,000338:
005808,000339: # ERASABLE INITIALIZATION: SEE IMUMON.
005809,000340:
005810,000341: # ALARMS: PROGRAM ALARM 00213 IF ISS TURN-ON REQUESTED WITHOUT ISS OPERATE.
005811,000342:
005812,000343: # EXIT: ENDTNON EXITS TO C33TEST. TASKS HAVING TO DO WITH INITIALIZATION EXIT AS FOLLOWS: MISSION PROGRAM
005813,000344: # WAITING AND INITIALIZATION COMPLETE, EXIT TO ENDIMU, MISSION PROGRAM WAITING AND INITIALIZATION FAILED, EXIT TO
005814,000345: # IMUBAD, IMU NOT IN USE, EXIT TO TASKOVER.
005815,000346:
005816,000347: # OUTPUT: ISS INITIALIZED.
005817,000348:
005818,000349: 06,2227 41304 TNONTEST CS IMODES30 # AFTER PROCESSING ALL CHANGES, SEE IF IT
005819,000350:
005820,000351: 06,2230 75020 MASK BIT7 # IS TIME TO ACT ON A TURN-ON SEQUENCE.
005821,000352: 06,2231 10000 CCS A
005822,000353: 06,2232 12401 TCF C33TEST # NO - EXAMINE CHANNEL 33.
005823,000354:
005824,000355: 06,2233 35017 CAF BIT8 # SEE IF FIRST SAMPLE OR SECOND.
005825,000356: 06,2234 71304 MASK IMODES30
005826,000357: 06,2235 10000 CCS A
005827,000358: 06,2236 12242 TCF PROCTNON # REACT AFTER SECOND SAMPLE.
005828,000359:
005829,000360: 06,2237 35017 CAF BIT8 # IF FIRST SAMPLE, SET BIT TO REACT NEXT
005830,000361: 06,2240 27304 ADS IMODES30 # TIME.
005831,000362: 06,2241 12401 TCF C33TEST
005832,000363:
005833,000364: # PROCESS IMU TURN-ON REQUESTS AFTER WAITING 1 SAMPLE FOR ALL SIGNALS TO ARRIVE.
005834,000365:
005835,000366: 06,2242 43002 PROCTNON CS BITS7&8
005836,000367: 06,2243 71304 MASK IMODES30
005837,000368: 06,2244 55304 TS IMODES30
005838,000369: 06,2245 75011 MASK BIT14 # SEE IF TURN-ON REQUEST.
005839,000370: 06,2246 10000 CCS A
005840,000371: 06,2247 12354 TCF OPONLY # OPERATE ON ONLY.
005841,000372:
005842,000373: 06,2250 41304 CS IMODES30 # IF TURN-ON REQUEST, WE SHOULD HAVE IMU
005843,000374: 06,2251 75016 MASK BIT9 # OPERATE.
005844,000375: 06,2252 10000 CCS A
005845,000376: 06,2253 12256 TCF +3
005846,000377:
005847,000378: 06,2254 05651 TC ALARM # ALARM IF NOT.
005848,000379: 06,2255 00213 OCT 213
005849,000380:
005850,000381: 06,2256 02737 +3 TC CAGESUB
005851,000382: 06,2257 33010 CAF 90SECS
005852,000383: 06,2260 05252 TC WAITLIST
005853,000384: 06,2261 E6,1412 EBANK= M11
005854,000385: 06,2261 02266 14006 2CADR ENDTNON
005855,000386:
005856,000387: 06,2263 12401 TCF C33TEST
005857,000388:
005858,000389: 06,2264 33010 RETNON CAF 90SECS
005859,000390: 06,2265 05274 TC VARDELAY
005860,000391:
005861,000392: 06,2266 45025 ENDTNON CS BIT2 # RESET TURN-ON REQUEST FAIL BIT.
005862,000393: 06,2267 71304 MASK IMODES30
005863,000394: 06,2270 57304 XCH IMODES30
005864,000395: 06,2271 75025 MASK BIT2 # IF IT WAS OFF, SEND ISS DELAY COMPLETE.
005865,000396: 06,2272 00006 EXTEND
005866,000397: 06,2273 12306 BZF ENDTNON2
005867,000398:
005868,000399: 06,2274 35011 CAF BIT14 # IF IT WAS ON AND TURN-ON REQUEST NOW
005869,000400:
005870,000401: 06,2275 71304 MASK IMODES30 # PRESENT, RE-ENTER 90 SEC DELAY IN WL.
005871,000402: 06,2276 00006 EXTEND
005872,000403: 06,2277 12264 BZF RETNON
005873,000404:
005874,000405: 06,2300 40074 CS FLAGWRD0 # IF IT IS NOT ON NOW, SEE IF A PROG WAS
005875,000406: 06,2301 75017 MASK IMUSEBIT # WAITING.
005876,000407: 06,2302 10000 CCS A
005877,000408: 06,2303 15331 TCF TASKOVER
005878,000409: 06,2304 04674 TC POSTJUMP
005879,000410: 06,2305 17550 CADR IMUBAD # UNSUCCESSFUL TURN-ON.
005880,000411:
005881,000412: 06,2306 35010 ENDTNON2 CAF BIT15 # SEND ISS DELAY COMPLETE.
005882,000413: 06,2307 00006 EXTEND
005883,000414: 06,2310 05012 WOR CHAN12
005884,000415:
005885,000416: 06,2311 04737 TC IBNKCALL # TURN OFF NO ATT LAMP.
005886,000417: 06,2312 17177 CADR NOATTOFF
005887,000418:
005888,000419: 06,2313 07722 UNZ2 TC ZEROICDU
005889,000420:
005890,000421: 06,2314 42776 CS BITS4&5 # REMOVE ZERO AND COARSE.
005891,000422: 06,2315 00006 EXTEND
005892,000423: 06,2316 03012 WAND CHAN12
005893,000424:
005894,000425: 06,2317 35014 CAF BIT11 # WAIT 10 SECS FOR CTRS TO FIND GIMBALS
005895,000426: 06,2320 05274 TC VARDELAY
005896,000427:
005897,000428: 06,2321 42777 ISSUP CS OCT54 # REMOVE CAGING, IMU FAIL INHIBIT, AND
005898,000429: 06,2322 71304 MASK IMODES30 # ICDUFAIL INHIBIT FLAGS.
005899,000430: 06,2323 55304 TS IMODES30
005900,000431:
005901,000432: 06,2324 45021 CS BIT6 # ENABLE DAP
005902,000433: 06,2325 71305 MASK IMODES33
005903,000434: 06,2326 55305 TS IMODES33
005904,000435:
005905,000436: 06,2327 40076 CS FLAGWRD2 # TEST DRIFTFLG: IF ON, DO NOTHING BECAUSE
005906,000437: 06,2330 75010 MASK DRFTBIT # IMUCOMP SHOULD BE ALL SET UP(RESTART
005907,000438: 06,2331 00006 EXTEND # WITH IMUSE DOWN). IF OFF, SET DRIFTFLG
005908,000439: 06,2332 12336 BZF +4 # AND 1/PIPADT TO GET FREEFALL IMUCOMP
005909,000440: 06,2333 26076 ADS FLAGWRD2 # GOING (FRESH START OR ISS TURN-ON).
005910,000441: 06,2334 30025 CA TIME1
005911,000442: 06,2335 57075 XCH 1/PIPADT # CANNOT GET HERE IF RESTART WITH IMUSE UP
005912,000443:
005913,000444: 06,2336 02705 TC SETISSW # ISS WARNING MIGHT HAVE BEEN INHIBITED.
005914,000445:
005915,000446: 06,2337 45010 CS BIT15 # REMOVE IMU DELAY COMPLETE DISCRETE.
005916,000447: 06,2340 00006 EXTEND
005917,000448: 06,2341 03012 WAND CHAN12
005918,000449:
005919,000450: 06,2342 35053 CAF 4SECS # DONT ENABLE PROG ALARM ON PIP FAIL FOR
005920,000451:
005921,000452: 06,2343 05252 TC WAITLIST # ANOTHER 4 SECS.
005922,000453: 06,2344 E3,1474 EBANK= CDUIND
005923,000454: 06,2344 03165 16003 2CADR PFAILOK
005924,000455:
005925,000456: 06,2346 40074 CS STATE # SEE IF ANYONE IS WAITING FOR THE IMU AT
005926,000457: 06,2347 75017 MASK IMUSEFLG # IMUZERO. IF SO, WAKE THEM UP.
005927,000458: 06,2350 10000 CCS A
005928,000459: 06,2351 15331 TCF TASKOVER
005929,000460:
005930,000461: 06,2352 04674 TC POSTJUMP
005931,000462: 06,2353 17542 CADR ENDIMU
005932,000463:
005933,000464: 06,2354 35023 OPONLY CAF BIT4 # IF OPERATE ON ONLY, AND WE ARE IN COARSE
005934,000465: 06,2355 00006 EXTEND # ALIGN, DONT ZERO THE CDUS BECAUSE WE
005935,000466: 06,2356 02012 RAND CHAN12 # MIGHT BE IN GIMBAL LOCK
005936,000467: 06,2357 10000 CCS A
005937,000468: 06,2360 12401 TCF C33TEST
005938,000469:
005939,000470: 06,2361 35017 CAF IMUSEBIT # OTHERWISE, ZERO THE COUNTERS.
005940,000471: 06,2362 70074 MASK FLAGWRD0 # UNLESS SOMEONE IS USING THE IMU.
005941,000472: 06,2363 10000 CCS A
005942,000473: 06,2364 12401 TCF C33TEST
005943,000474:
005944,000475: 06,2365 02750 TC CAGESUB2 # SET TURNON FLAGS.
005945,000476:
005946,000477: 06,2366 04737 ISSZERO TC IBNKCALL # TURN OFF NO ATT LAMP
005947,000478: 06,2367 17177 CADR NOATTOFF # IMU CAGE OFF ENTRY
005948,000479:
005949,000480: 06,2370 35022 CAF BIT5 # ISS CDU ZERO
005950,000481: 06,2371 00006 EXTEND
005951,000482: 06,2372 05012 WOR CHAN12
005952,000483:
005953,000484: 06,2373 07722 TC ZEROICDU
005954,000485: 06,2374 35021 CAF BIT6 # WAIT 300 MS FOR AGS TO RECEIVE SIGNAL.
005955,000486: 06,2375 05252 TC WAITLIST
005956,000487: 06,2376 E6,1412 EBANK= M11
005957,000488: 06,2376 02313 14006 2CADR UNZ2
005958,000489:
005959,000490: 06,2400 12401 TCF C33TEST
005960,000491:
005961,000492: # PROGRAM NAME: C33TEST
005962,000493:
005963,000494: # FUNCTIONAL DESCRIPTION: THIS PROGRAM MONITORS THREE FLIP-FLOP INBITS OF CHANNEL 33 AND CALLS THE APPROPRIATE
005964,000495: # SUBROUTINE TO PROCESS A CHANGE. IT IS ANALOGOUS TO IMUMON, WHICH MONITORS CHANNEL 30, EXCEPT THAT IT READS
005965,000496: # CHANNEL 33 WITH A WAND INSTRUCTION BECAUSE A 'WRITE' PULSE IS REQUIRED TO RESET THE FLIP-FLOPS. THE BITS
005966,000497: # PROCESSED AND THE SUBROUTINES CALLED ARE:
005967,000498:
005968,000499: # BIT FUNCTION SUBROUTINE
005969,000500: # --- -------- ----------
005970,000501: # 13 PIPA FAIL PIPFAIL
005971,000502: # 12 DOWNLINK TOO FAST DNTMFAST
005972,000503: # 11 UPLINK TOO FAST UPTMFAST
005973,000504:
005974,000505: # UPON ENTRY TO THE SUBROUTINE, THE NEW BIT STATE IS IN A.
005975,000506:
005976,000507: # CALLING SEQUENCE: EVERY 480 MILLISECONDS AFTER TNONTEST.
005977,000508:
005978,000509: # JOBS OR TASKS INITIATED: NONE.
005979,000510:
005980,000511: # SUBROUTINES CALLED: PIPFAIL, DNTMFAST AND UPTMFAST ON BIT CHANGES.
005981,000512:
005982,000513: # ERASABLE INITIALIZATION: C(IMODES33) = OCT 16000 ON A FRESH START OR RESTART, THEREFORE, THESE ALARMS WILL
005983,000514: # REAPPEAR IF THE CONDITIONS PERSIST.
005984,000515:
005985,000516: # ALARMS: NONE.
005986,000517:
005987,000518: # EXIT: GLOCKMON.
005988,000519:
005989,000520: # OUTPUT: UPDATED BITS 13, 12 AND 11 OF IMODES33 WITH CHANGES PROCESSED.
005990,000521:
005991,000522: 06,2401 31305 C33TEST CA IMODES33 # SEE IF RELEVANT CHAN33 BITS HAVE
005992,000523: 06,2402 75076 MASK 33RDMSK
005993,000524: 06,2403 54001 TS L # CHANGED.
005994,000525: 06,2404 35076 CAF 33RDMSK
005995,000526: 06,2405 00006 EXTEND
005996,000527: 06,2406 03033 WAND CHAN33 # RESETS FLIP-FLOP INPUTS
005997,000528: 06,2407 00006 EXTEND
005998,000529: 06,2410 06001 RXOR LCHAN
005999,000530: 06,2411 00006 EXTEND
006000,000531: 06,2412 12441 BZF GLOCKMON # ON NO CHANGE.
006001,000532:
006002,000533: 06,2413 54070 TS RUPTREG1 # SAVE BITS WHICH HAVE CHANGED.
006003,000534: 06,2414 23305 LXCH IMODES33
006004,000535: 06,2415 00006 EXTEND
006005,000536: 06,2416 06001 RXOR LCHAN
006006,000537: 06,2417 55305 TS IMODES33 # UPDATED IMODES33.
006007,000538:
006008,000539: 06,2420 35030 CAF ZERO
006009,000540: 06,2421 56070 XCH RUPTREG1
006010,000541: 06,2422 60000 DOUBLE
006011,000542:
006012,000543: 06,2423 12426 TCF NXTIBT +1 # SCAN FOR BIT CHANGES.
006013,000544:
006014,000545: 06,2424 65026 -1 AD ONE
006015,000546: 06,2425 24070 NXTIBT INCR RUPTREG1
006016,000547: 06,2426 60000 +1 DOUBLE
006017,000548: 06,2427 54000 TS A # (CODING IDENTICAL TO CHAN 30).
006018,000549: 06,2430 12425 TCF NXTIBT
006019,000550:
006020,000551: 06,2431 56071 XCH RUPTREG2
006021,000552: 06,2432 50070 INDEX RUPTREG1 # GET NEW VALUE OF BIT WHICH CHANGED.
006022,000553: 06,2433 35012 CAF BIT13
006023,000554: 06,2434 71305 MASK IMODES33
006024,000555: 06,2435 50070 INDEX RUPTREG1
006025,000556: 06,2436 02765 TC C33JMP
006026,000557:
006027,000558: 06,2437 10071 NXTFL33 CCS RUPTREG2 # PROCESS POSSIBLE ADDITIONAL CHANGES.
006028,000559: 06,2440 12424 TCF NXTIBT -1
006029,000560:
006030,000561: # PROGRAM NAME: GLOCKMON
006031,000562:
006032,000563: # FUNCTIONAL DESCRIPTION: THIS PROGRAM MONITORS THE CDUZ COUNTER TO DETERMINE WHETHER THE ISS IS IN GIMBAL LOCK
006033,000564: # AND TAKES ACTION IF IT IS. THREE REGIONS OF MIDDLE GIMBAL ANGLE (MGA) ARE USED:
006034,000565:
006035,000566: # 1) ABS(MGA) LESS THAN OR EQUAL TO 70 DEGREES - NORMAL MODE.
006036,000567: # 2) ABS(MGA) GREATER THAN 70 DEGREES AND LESS THAN OR EQUAL TO 85 DEGREES - GIMBAL LOCK LAMP TURNED ON.
006037,000568: # 3) ABS(MGA) GREATER THAN 85 DEGREES - ISS PUT IN COARSE ALIGN AND NO ATT LAMP TURNED ON.
006038,000569:
006039,000570: # CALLING SEQUENCE: EVERY 480 MILLISECONDS AFTER C33TEST.
006040,000571:
006041,000572: # JOBS OR TASKS INITIATED: NONE.
006042,000573:
006043,000574: # SUBROUTINES CALLED: 1) SETCOARS WHEN ABS(MGA) GREATER THAN 85 DEGREES AND ISS NOT IN COARSE ALIGN.
006044,000575: # 2) LAMPTEST BEFORE TURNING OFF GIMBAL LOCK LAMP.
006045,000576:
006046,000577: # ERASABLE INITIALIZATION:
006047,000578: # 1) FRESH START OR RESTART WITH NO GROUPS ACTIVE: C(CDUZ) = 0, IMODES30 BIT 6 = 0, IMODES33 BIT 1 = 0.
006048,000579: # 2) RESTART WITH GROUPS ACTIVE: SAME AS FRESH START EXCEPT C(CDUZ) NOT CHANGED SO GIMBAL MONITOR
006049,000580: # PROCEEDS AS BEFORE.
006050,000581:
006051,000582: # ALARMS: 1) MGA REGION (2) CAUSES GIMBAL LOCK LAMP TO BE LIT.
006052,000583: # 2) MGA REGION (3) CAUSES THE ISS TO BE PUT IN COARSE ALIGN AND THE NO ATT LAMP TO BE LIT IF EITHER NOT
006053,000584: # SO ALREADY.
006054,000585:
006055,000586: 06,2441 10034 GLOCKMON CCS CDUZ
006056,000587: 06,2442 12446 TCF GLOCKCHK # SEE IF MAGNITUDE OF MGA IS GREATER THAN
006057,000588: 06,2443 12472 TCF SETGLOCK # 70 DEGREES.
006058,000589: 06,2444 12446 TCF GLOCKCHK
006059,000590: 06,2445 12472 TCF SETGLOCK
006060,000591:
006061,000592: 06,2446 62517 GLOCKCHK AD -70DEGS
006062,000593: 06,2447 00006 EXTEND
006063,000594: 06,2450 62471 BZMF SETGLOCK -1 # NO LOCK.
006064,000595:
006065,000596: 06,2451 62520 AD -15DEGS # SEE IF ABS(MGA) GREATER THAN 85 DEGREES.
006066,000597: 06,2452 00006 EXTEND
006067,000598: 06,2453 62467 BZMF NOGIMRUN
006068,000599:
006069,000600: 06,2454 35023 CAF BIT4 # IF SO, SYSTEM SHOULD BE IN COARSE ALIGN
006070,000601: 06,2455 00006 EXTEND # TO PREVENT GIMBAL RUNAWAY.
006071,000602: 06,2456 02012 RAND CHAN12
006072,000603: 06,2457 10000 CCS A
006073,000604: 06,2460 12467 TCF NOGIMRUN
006074,000605:
006075,000606: 06,2461 04737 TC IBNKCALL
006076,000607: 06,2462 17055 CADR SETCOARS
006077,000608:
006078,000609: 06,2463 36216 CAF SIX # ENABLE ISS ERROR COUNTERS IN 60 MS
006079,000610: 06,2464 05252 TC WAITLIST
006080,000611:
006081,000612: 06,2465 E3,1474 EBANK= CDUIND
006082,000613: 06,2465 03051 16003 2CADR CA+ECE
006083,000614:
006084,000615: 06,2467 35021 NOGIMRUN CAF BIT6 # TURN ON GIMBAL LOCK LAMP.
006085,000616: 06,2470 12472 TCF SETGLOCK
006086,000617:
006087,000618: 06,2471 35030 -1 CAF ZERO
006088,000619: 06,2472 61037 SETGLOCK AD DSPTAB +11D # SEE IF PRESENT STATE OF GIMBAL LOCK LAMP
006089,000620: 06,2473 75021 MASK BIT6 # AGREES WITH DESIRED STATE BY HALF ADDING
006090,000621: 06,2474 00006 EXTEND # THE TWO.
006091,000622: 06,2475 15340 BZF GLOCKOK # OK AS IS.
006092,000623:
006093,000624: 06,2476 71037 MASK DSPTAB +11D # IF OFF, DONT TURN ON IF IMU BEING CAGED.
006094,000625: 06,2477 10000 CCS A
006095,000626: 06,2500 12514 TCF GLAMPTST # TURN OFF UNLESS LAMP TEST IN PROGRESS.
006096,000627:
006097,000628: 06,2501 35021 CAF BIT6
006098,000629: 06,2502 71304 MASK IMODES30
006099,000630: 06,2503 10000 CCS A
006100,000631: 06,2504 15340 TCF GLOCKOK
006101,000632:
006102,000633: 06,2505 41037 GLINVERT CS DSPTAB +11D # INVERT GIMBAL LOCK LAMP.
006103,000634: 06,2506 75021 MASK BIT6
006104,000635: 06,2507 65010 AD BIT15 # TO INDICATE CHANGE IN DSPTAB +11D.
006105,000636: 06,2510 57037 XCH DSPTAB +11D
006106,000637: 06,2511 72162 MASK OCT37737
006107,000638: 06,2512 27037 ADS DSPTAB +11D
006108,000639: 06,2513 15340 TCF GLOCKOK
006109,000640:
006110,000641: 06,2514 02770 GLAMPTST TC LAMPTEST # TURN OFF UNLESS LAMP TEST IN PROGRESS.
006111,000642: 06,2515 15340 TCF GLOCKOK
006112,000643: 06,2516 12505 TCF GLINVERT
006113,000644:
006114,000645: 06,2517 63434 -70DEGS DEC -.38888 # -70 DEGREES SCALED IN HALF-REVOLUTIONS.
006115,000646: 06,2520 75252 -15DEGS DEC -.08333
006116,000647:
006117,000648: # PROGRAM NAME: TLIM.
006118,000649:
006119,000650: # FUNCTIONAL DESCRIPTION: THIS PROGRAM MAINTAINS THE TEMP LAMP (BIT 4 OF CHANNEL 11) ON THE DSKY TO AGREE WITH
006120,000651: # THE TEMP SIGNAL FROM THE ISS (BIT 15 OF CHANNEL 30). HOWEVER, THE LIGHT WILL NOT BE TURNED OFF IF A LAMP TEST
006121,000652: # IS IN PROGRESS.
006122,000653:
006123,000654: # CALLING SEQUENCE: CALLED BY IMUMON ON A CHANGE OF BIT 15 OF CHANNEL 30.
006124,000655:
006125,000656: # JOBS OR TASKS INITIATED: NONE.
006126,000657:
006127,000658: # SUBROUTINES CALLED: LAMPTEST.
006128,000659:
006129,000660: # ERASABLE INITIALIZATION: FRESH START AND RESTART TURN THE TEMP LAMP OFF.
006130,000661:
006131,000662: # ALARMS: TEMP LAMP TURNED ON WHEN IMU TEMP GOES OUT OF LIMITS.
006132,000663:
006133,000664: # EXIT: NXTIFAIL.
006134,000665:
006135,000666: # OUTPUT: SERVICE OF TEMP LAMP. IN A, EXCEPT FOR TLIM.
006136,000667:
006137,000668: 06,2521 75006 TLIM MASK POSMAX # REMOVE BIT FROM WORD OF CHANGES AND SET
006138,000669: 06,2522 54071 TS RUPTREG2 # DSKY TEMP LAMP ACCORDINGLY.
006139,000670:
006140,000671: 06,2523 11304 CCS IMODES30
006141,000672: 06,2524 12532 TCF TEMPOK
006142,000673: 06,2525 12532 TCF TEMPOK
006143,000674:
006144,000675: 06,2526 35023 CAF BIT4 # TURN ON LAMP.
006145,000676: 06,2527 00006 EXTEND
006146,000677: 06,2530 05011 WOR DSALMOUT
006147,000678: 06,2531 12225 TCF NXTIFAIL
006148,000679:
006149,000680: 06,2532 02770 TEMPOK TC LAMPTEST # IF TEMP NOW OK, DONT TURN OFF LAMP IF
006150,000681: 06,2533 12225 TCF NXTIFAIL # LAMP TEST IN PROGRESS.
006151,000682:
006152,000683: 06,2534 45023 CS BIT4
006153,000684: 06,2535 00006 EXTEND
006154,000685: 06,2536 03011 WAND DSALMOUT # TURN OFF LAMP
006155,000686: 06,2537 12225 TCF NXTIFAIL
006156,000687:
006157,000688: # PROGRAM NAME: ITURNON.
006158,000689:
006159,000690: # FUNCTIONAL DESCRIPTION: THIS PROGRAM IS CALLED BY IMUMON WHEN A CHANGE OF BIT 14 OF CHANNEL 30 (ISS TURN-ON
006160,000691: # REQUEST) IS DETECTED. UPON ENTRY, ITURNON CHECKS IF A TURN-ON DELAY SEQUENCE HAS FAILED, AND IF SO, IT EXITS.
006161,000692: # IF NOT, IT CHECKS WHETHER THE TURN-ON REQUEST CHANGE IS TO ON OR OFF. IF ON, IT SETS BIT7 OF IMODES30 TO 1 SO
006162,000693: # THAT TNONTEST WILL INITIATE THE ISS INITIALIZATION SEQUENCE. IF OFF, THE TURN-ON DELAY SIGNAL, CHANNEL 12 BIT
006163,000694: # 15, IS CHECKED AND IF IT IS ON, ITURNON EXITS. IF THE DELAY SIGNAL IS OFF, PROGRAM ALARM 00207 IS ISSUED, BIT 2
006164,000695: # OF IMODES30 IS SET TO 1 AND THE PROGRAM EXITS.
006165,000696: # THE SETTING OF BIT 2 OF IMODES30 (ISS DELAY SEQUENCE FAIL) INHIBITS THIS ROUTINE AND IMUOP FROM
006166,000697: # PROCESSING ANY CHANGES. THIS BIT WILL BE RESET BY THE ENDTNON ROUTINE WHEN THE CURRENT 90 SECOND DELAY PERIOD
006167,000698: # ENDS.
006168,000699:
006169,000700: # CALLING SEQUENCE: FROM IMUMOM WHEN ISS TURN-ON REQUEST CHANGES STATE.
006170,000701:
006171,000702: # JOBS OR TASKS INITIATED: NONE.
006172,000703:
006173,000704: # SUBROUTINES CALLED: ALARM, IF THE ISS TURN-ON REQUEST IS NOT PRESENT FOR 90 SECONDS.
006174,000705:
006175,000706: # ERASABLE INITIALIZATION: FRESH START AND RESTART SET BIT 15 OF CHANNEL 12 AND BITS 2 AND 7 OF IMODES30 TO 0,
006176,000707: # AND BIT 14 OF IMODES30 TO 1.
006177,000708:
006178,000709: # ALARMS: PROGRAM ALARM 00207 IS ISSUED IF THE ISS TURN-ON REQUEST SIGNAL IS NOT PRESENT FOR 90 SECONDS.
006179,000710:
006180,000711: # EXIT: NXTIFAIL.
006181,000712:
006182,000713: # OUTPUT: BIT 7 OF IMODES30 TO START ISS INITIALIZATION, OR BIT 2 OF IMODES30 AND PROGRAM ALARM 00207 TO INDICATE
006183,000714: # A FAILED TURN-ON SEQUENCE.
006184,000715:
006185,000716: 06,2540 35025 ITURNON CAF BIT2 # IF DELAY REQUEST HAS GONE OFF
006186,000717: 06,2541 71304 MASK IMODES30 # PREMATURELY, DO NOT PROCESS ANY CHANGES
006187,000718: 06,2542 10000 CCS A # UNTIL THE CURRENT 90 SEC WAIT EXPIRES.
006188,000719: 06,2543 12225 TCF NXTIFAIL
006189,000720:
006190,000721: 06,2544 35011 CAF BIT14 # SEE IF JUST ON OR OFF.
006191,000722: 06,2545 71304 MASK IMODES30
006192,000723: 06,2546 00006 EXTEND
006193,000724: 06,2547 12563 BZF ITURNON2 # IF JUST ON.
006194,000725:
006195,000726: 06,2550 35010 CAF BIT15
006196,000727: 06,2551 00006 EXTEND # SEE IF DELAY PRESENT DISCRETE HAS BEEN
006197,000728: 06,2552 02012 RAND CHAN12 # SENT. IF SO, ACTION COMPLETE
006198,000729: 06,2553 00006 EXTEND
006199,000730: 06,2554 12556 BZF +2
006200,000731: 06,2555 12225 TCF NXTIFAIL
006201,000732:
006202,000733: 06,2556 35025 CAF BIT2 # IF NOT, SET BIT TO INDICATE REQUEST NOT
006203,000734: 06,2557 27304 ADS IMODES30 # PRESENT FOR FULL DURATION.
006204,000735: 06,2560 05651 TC ALARM
006205,000736: 06,2561 00207 OCT 207
006206,000737: 06,2562 12225 TCF NXTIFAIL
006207,000738:
006208,000739: 06,2563 41304 ITURNON2 CS IMODES30 # SET BIT7 TO INDICATE WAIT OF 1 SAMPLE
006209,000740: 06,2564 75020 MASK BIT7
006210,000741: 06,2565 27304 ADS IMODES30
006211,000742: 06,2566 32571 CAF RRINIT
006212,000743: 06,2567 55101 TS RADMODES
006213,000744: 06,2570 12225 TCF NXTIFAIL
006214,000745:
006215,000746: 06,2571 00102 RRINIT OCT 00102
006216,000747:
006217,000748: # PROGRAM NAME: IMUCAGE.
006218,000749:
006219,000750: # FUNCTIONAL DESCRIPTION: THIS PROGRAM PROCESSES CHANGES OF THE IMUCAGE INBIT, CHANNEL 30 BIT 11. IF THE BIT
006220,000751: # CHANGES TO 0 (CAGE BUTTON PRESSED), THE ISS IS CAGED (ICDU ZERO + COARSE ALIGN + NO ATT LAMP) UNTIL THE
006221,000752: # ASTRONAUT SELECTS ANOTHER PROGRAM TO ALIGN THE ISS. ANY PULSE TRAINS TO THE ICDU'S AND GYRO'S ARE TERMINATED,
006222,000753: # THE ASSOCIATED OUTCOUNTERS ARE ZEROED AND THE GYRO'S ARE DE-SELECTED. NO ACTION OCCURS WHEN THE BUTTON IS
006223,000754: # RELEASED (INBIT CHANGES TO 1).
006224,000755:
006225,000756: # CALLING SEQUENCE: BY IMUMON WHEN IMU CAGE BIT CHANGES.
006226,000757:
006227,000758: # JOBS OR TASKS INITIATED: NONE.
006228,000759:
006229,000760: # SUBROUTINES CALLED: CAGESUB.
006230,000761:
006231,000762: # ERASABLE INITIALIZATION: FRESH START AND RESTART SET BIT 11 OF IMODES30 TO 1.
006232,000763:
006233,000764: # ALARMS: NONE.
006234,000765:
006235,000766: # EXIT: NXTIFAIL.
006236,000767:
006237,000768: # OUTPUT: ISS CAGED, COUNTERS ZEROED, PULSE TRAINS TERMINATED AND NO ATT LAMP LIT.
006238,000769:
006239,000770: 06,2572 10000 IMUCAGE CCS A # NO ACTION IF GOING OFF.
006240,000771: 06,2573 12366 TCF ISSZERO
006241,000772: 06,2574 43005 CS OCT77000 # TERMINATE ICDU,RCDU, GYRO PULSE TRAINS
006242,000773: 06,2575 00006 EXTEND
006243,000774: 06,2576 03014 WAND CHAN14
006244,000775:
006245,000776: 06,2577 43001 CS OCT272 # KNOCK DOWN DISPLAY INERTIAL DATA, IMU
006246,000777: 06,2600 00006 EXTEND # ERROR COUNTER ENABLE, ZERO ICDU, COARSE
006247,000778: 06,2601 03012 WAND CHAN12 # ALIGN ENABLE, RR ERROR COUNTER ENABLE.
006248,000779:
006249,000780: 06,2602 44367 CS PRIO30 # TURN ENGINE OFF.
006250,000781: 06,2603 00006 EXTEND
006251,000782: 06,2604 02011 RAND DSALMOUT
006252,000783: 06,2605 65011 AD BIT14
006253,000784: 06,2606 00006 EXTEND
006254,000785: 06,2607 01011 WRITE DSALMOUT # FORCE BIT14=1, BIT13=0.
006255,000786:
006256,000787: 06,2610 02745 TC CAGESUB1
006257,000788:
006258,000789: 06,2611 04737 TC IBNKCALL # KNOCK DOWN TRACK, REFSMMAT, DRIFT FLAGS
006259,000790: 06,2612 17106 CADR RNDREFDR
006260,000791:
006261,000792: 06,2613 45030 CS ZERO
006262,000793: 06,2614 54050 TS CDUXCMD
006263,000794: 06,2615 54051 TS CDUYCMD
006264,000795:
006265,000796: 06,2616 54052 TS CDUZCMD
006266,000797: 06,2617 54047 TS GYROCMD
006267,000798:
006268,000799: 06,2620 43004 CS OCT740 # HAVING WAITED AT LEAST 27 MCT FROM
006269,000800: 06,2621 00006 EXTEND # GYRO PULSE TRAIN TERMINATION, WE CAN
006270,000801: 06,2622 03014 WAND CHAN14 # DE-SELECT THE GYROS
006271,000802: 06,2623 12225 TCF NXTIFAIL
006272,000803:
006273,000804: # PROGRAM NAME: IMUOP.
006274,000805:
006275,000806: # FUNCTIONAL DESCRIPTION: THIS PROGRAM PROCESSES CHANGES IN THE ISS OPERATE DISCRETE, BIT 9 OF CHANNEL 30.
006276,000807: # IF THE INBIT CHANGES TO 0, INDICATING ISS ON, IMUOP GENERALLY SETS BIT 7 OF IMODES30 TO 1 TO REQUEST ISS
006277,000808: # INITIALIZATION VIA TNONTEST. AN EXCEPTION IS DURING A FAILED ISS DELAY DURING WHICH BIT 2 OF IMODES30 IS SET
006278,000809: # TO 1 AND NO FURTHER INITIALIZATION IS REQUIRED. WHEN THE INBIT CHANGES TO 1, INDICATING ISS OFF, IMUSEFLG IS
006279,000810: # TESTED TO SEE IF ANY PROGRAM WAS USING THE ISS. IF SO, PROGRAM ALARM 00214 IS ISSUED.
006280,000811:
006281,000812: # CALLING SEQUENCE: BY IMUMON WHEN BIT 9 OF CHANNEL 30 CHANGES.
006282,000813:
006283,000814: # JOBS OR TASKS INITIATED: NONE.
006284,000815:
006285,000816: # SUBROUTINES CALLED: ALARM, IF ISS IS TURNED OFF WHILE IN USE.
006286,000817:
006287,000818: # ERASABLE INITIALIZATION: ON FRESH START AND RESTART, BIT 9 OF IMODES30 IS SET TO 1 EXCEPT WHEN THE GIMBAL LOCK
006288,000819: # LAMP IS ON, IN WHICH CASE IT IS SET TO 0. THIS PREVENTS ICDU ZERO BY TNONTEST WITH THE ISS IN GIMBAL LOCK.
006289,000820:
006290,000821: # ALARMS: PROGRAM ALARM 00214 IF THE ISS IS TURNED OFF WHILE IN USE.
006291,000822:
006292,000823: # EXIT: NXTIFAIL.
006293,000824:
006294,000825: # OUTPUT: ISS INITIALIZATION REQUEST (IMODES30 BIT 7) OR PROGRAM ALARM 00214.
006295,000826:
006296,000827: 06,2624 00006 IMUOP EXTEND
006297,000828: 06,2625 12645 BZF IMUOP2
006298,000829:
006299,000830: 06,2626 41305 CS IMODES33 # DISABLE DAP
006300,000831: 06,2627 75021 MASK BIT6
006301,000832: 06,2630 27305 ADS IMODES33
006302,000833:
006303,000834: 06,2631 04737 TC IBNKCALL # KNOCK DOWN TRACK, REFSMMAT, DRIFT FLAGS
006304,000835: 06,2632 17106 CADR RNDREFDR
006305,000836:
006306,000837: 06,2633 43002 CS BITS7&8 # KNOCK DOWN RENDEZVOUS, IMUUSE FLAGS
006307,000838: 06,2634 70074 MASK FLAGWRD0
006308,000839: 06,2635 56074 XCH FLAGWRD0 # IF GOING OFF, ALARM IF PROG USING IMU.
006309,000840: 06,2636 40000 COM
006310,000841: 06,2637 75017 MASK IMUSEFLG
006311,000842: 06,2640 10000 CCS A
006312,000843: 06,2641 12225 TCF NXTIFAIL
006313,000844:
006314,000845: 06,2642 05651 TC ALARM
006315,000846: 06,2643 00214 OCT 214
006316,000847: 06,2644 12225 TCF NXTIFAIL
006317,000848:
006318,000849: 06,2645 35025 IMUOP2 CAF BIT2 # SEE IF FAILED ISS TURN-ON SEQ IN PROG.
006319,000850: 06,2646 71304 MASK IMODES30
006320,000851: 06,2647 10000 CCS A
006321,000852: 06,2650 12225 TCF NXTIFAIL # IF SO, DONT PROCESS UNTIL PRESENT 90
006322,000853: 06,2651 12563 TCF ITURNON2 # SECONDS EXPIRES.
006323,000854:
006324,000855: # PROGRAM NAME: PIPFAIL
006325,000856:
006326,000857: # FUNCTIONAL DESCRIPTION: THIS PROGRAM PROCESSES CHANGES OF BIT 13 OF CHANNEL 33, PIPA FAIL. IT SETS BIT 10 OF
006327,000858: # IMODES30 TO AGREE. IT CALLS SETISSW IN CASE A PIPA FAIL NECESSITATES AN ISS WARNING. IF NOT, I.E., IMODES30
006328,000859: # BIT 1 = 1, AND A PIPA FAIL IS PRESENT AND THE ISS IS NOT BEING INITIALIZED, PROGRAM ALARM 00212 IS ISSUED.
006329,000860:
006330,000861: # CALLING SEQUENCE: BY C33TEST ON CHANGES OF CHANNEL 33 BIT 13.
006331,000862:
006332,000863: # JOBS OR TASKS INITIATED: NONE.
006333,000864:
006334,000865: # SUBROUTINES CALLED: 1) SETISSW, AND 2) ALARM (SEE FUNCTIONAL DESCRIPTION).
006335,000866:
006336,000867: # ERASABLE INITIALIZATION: SEE IMUMON FOR INITIALIZATION OF IMODES30. THE RELAVANT BITS ARE 5, 7, 8, 9, AND 10.
006337,000868:
006338,000869: # ALARMS: PROGRAM ALARM 00212 IF PIPA FAIL IS PRESENT BUT NEITHER ISS WARNING IS TO BE ISSUED NOR THE ISS IS
006339,000870: # BEING INITIALIZED.
006340,000871:
006341,000872: # EXIT: NXTFL33.
006342,000873:
006343,000874: # OUTPUT: PROGRAM ALARM 00212 AND ISS WARNING MAINTENANCE.
006344,000875:
006345,000876: 06,2652 10000 PIPFAIL CCS A # SET BIT10 IN IMODES30 SO ALL ISS WARNING
006346,000877: 06,2653 35015 CAF BIT10 # INFO IS IN ONE REGISTER.
006347,000878: 06,2654 57304 XCH IMODES30
006348,000879: 06,2655 73007 MASK -BIT10
006349,000880: 06,2656 27304 ADS IMODES30
006350,000881:
006351,000882: 06,2657 02705 TC SETISSW
006352,000883:
006353,000884: 06,2660 41304 CS IMODES30 # IF PIP FAIL DOESNT LIGHT ISS WARNING, DO
006354,000885: 06,2661 75026 MASK BIT1 # A PROGRAM ALARM IF IMU OPERATING BUT NOT
006355,000886: 06,2662 10000 CCS A # CAGED OR BEING TURNED ON.
006356,000887: 06,2663 12437 TCF NXTFL33
006357,000888:
006358,000889: 06,2664 31304 CA IMODES30
006359,000890: 06,2665 73003 MASK OCT1720
006360,000891: 06,2666 10000 CCS A
006361,000892: 06,2667 12437 TCF NXTFL33 # ABOVE CONDITION NOT MET.
006362,000893:
006363,000894: 06,2670 05651 TC ALARM
006364,000895: 06,2671 00212 OCT 212
006365,000896: 06,2672 12437 TCF NXTFL33
006366,000897:
006367,000898: # PROGRAM NAMES: DNTMFAST, UPTMFAST
006368,000899:
006369,000900: # FUNCTIONAL DESCRIPTION: THESE PROGRAMS PROCESS CHANGES OF BITS 12 AND 11 OF CHANNEL 33. IF A BIT CHANGES TO A
006370,000901: # 0, A PROGRAM ALARM IS ISSUED. THE ALARMS ARE:
006371,000902:
006372,000903: # BIT ALARM CAUSE
006373,000904: # --- ----- -----
006374,000905: # 12 01105 DOWNLINK TOO FAST
006375,000906: # 11 01106 UPLINK TOO FAST
006376,000907:
006377,000908: # CALLING SEQUENCE: BY C33TEST ON A BIT CHANGE.
006378,000909:
006379,000910: # SUBROUTINES CALLED: ALARM, IF A BIT CHANGES TO A 0.
006380,000911:
006381,000912: # ERASABLE INITIALIZATION: FRESH START OR RESTART, BITS 12 AND 11 OF IMODES33 ARE SET TO 1.
006382,000913:
006383,000914: # ALARMS: SEE FUNCTIONAL DESCRIPTION.
006384,000915:
006385,000916: # EXIT: NXTFL33.
006386,000917:
006387,000918: # OUTPUT: PROGRAM ALARM ON A BIT CHANGE TO 0.
006388,000919:
006389,000920: 06,2673 10000 DNTMFAST CCS A # DO PROG ALARM IF TM TOO FAST.
006390,000921: 06,2674 12437 TCF NXTFL33
006391,000922:
006392,000923: 06,2675 05651 TC ALARM
006393,000924: 06,2676 01105 OCT 1105
006394,000925: 06,2677 12437 TCF NXTFL33
006395,000926:
006396,000927: 06,2700 10000 UPTMFAST CCS A # SAME AS DNLINK TOO FAST WITH DIFFERENT
006397,000928: 06,2701 12437 TCF NXTFL33 # ALARM CODE.
006398,000929:
006399,000930: 06,2702 05651 TC ALARM
006400,000931: 06,2703 01106 OCT 1106
006401,000932: 06,2704 12437 TCF NXTFL33
006402,000933: # PROGRAM NAME: SETISSW
006403,000934:
006404,000935: # FUNCTIONAL DESCRIPTION: THIS PROGRAM TURNS THE ISS WARNING LAMP ON AND OFF (CHANNEL 11 BIT 1 = 1 FOR ON,
006405,000936: # 0 FOR OFF) DEPENDING ON THE STATUS OF IMODES30 BITS 13 (IMU FAIL) AND 4 (INHIBIT IMU FAIL), 12 (ICDU FAIL) AND
006406,000937: # 3 (INHIBIT ICDU FAIL), AND 10 (PIPA FAIL) AND 1 (INHIBIT PIPA FAIL). THE LAMP IS LEFT ON IF A LAMP TEST IS IN
006407,000938: # PROGRESS.
006408,000939:
006409,000940: # CALLING SEQUENCE: CALLED BY IMUMON ON CHANGES TO IMU FAIL AND ICDU FAIL. CALLED BY IFAILOK AND PFAILOK UPON
006410,000941: # REMOVAL OF THE FAIL INHIBITS. CALLED BY PIPFAIL WHEN THE PIPA FAIL DISCRETE CHANGES. IT IS CALLED BY PIPUSE
006411,000942: # SINCE THE PIPA FAIL PROGRAM ALARM MAY NECESSITATE AN ISS WARNING, AND LIKEWISE BY PIPFREE WHEN THE ALARM DEPARTS
006412,000943: # AND IT IS CALLED BY IMUZERO3 AND ISSUP AFTER THE FAIL INHIBITS HAVE BEEN REMOVED.
006413,000944:
006414,000945: # JOBS OR TASKS INITIATED: NONE.
006415,000946:
006416,000947: # SUBROUTINES CALLED: NONE.
006417,000948:
006418,000949: # ERASABLE INITIALIZATION:
006419,000950:
006420,000951: # 1) IMODES30 - SEE IMUMON.
006421,000952: # 2) IMODES33 BIT 1 = 0 (LAMP TEST NOT IN PROGRESS).
006422,000953:
006423,000954: # ALARMS: ISS WARNING.
006424,000955:
006425,000956: # THE FOLLOWING PROGRAM ALARMS WILL SHOW WHICH FAILURE CAUSED THE ISS WARN
006426,000957: # PROGRAM ALARM 00777 PIPA FAIL
006427,000958: # PROGRAM ALARM 03777 ICDU FAIL
006428,000959: # PROGRAM ALARM 04777 ICDU , PIPA FAILS
006429,000960: # PROGRAM ALARM 07777 IMU FAIL
006430,000961: # PROGRAM ALARM 10777 IMU , PIPA FAILS
006431,000962: # PROGRAM ALARM 13777 IMU , ICDU FAILS
006432,000963: # PROGRAM ALARM 14777 IMU , ICDU , PIPA FAILS
006433,000964:
006434,000965: # EXIT: VIA Q.
006435,000966:
006436,000967: # OUTPUT: ISS WARNING LAMP SET PROPERLY.
006437,000968:
006438,000969: 06,2705 35034 SETISSW CAF OCT15 # SET ISS WARNING USING THE FAIL BITS IN
006439,000970: 06,2706 71304 MASK IMODES30 # BITS 13, 12, AND 10 OF IMODES30 AND THE
006440,000971: 06,2707 00006 EXTEND # FAILURE INHIBIT BITS IN POSITIONS
006441,000972: 06,2710 75015 MP BIT10 # 4, 3, AND 1.
006442,000973: 06,2711 31304 CA IMODES30
006443,000974: 06,2712 00006 EXTEND
006444,000975: 06,2713 04001 ROR LCHAN # 0 INDICATES FAILURE
006445,000976: 06,2714 40000 COM
006446,000977: 06,2715 75075 MASK OCT15000
006447,000978: 06,2716 10000 CCS A
006448,000979: 06,2717 12730 TCF ISSWON # FAILURE.
006449,000980:
006450,000981: 06,2720 35026 ISSWOFF CAF BIT1 # DONT TURN OFF ISS WARNING IF LAMP TEST
006451,000982: 06,2721 71305 MASK IMODES33 # IN PROGRESS.
006452,000983:
006453,000984: 06,2722 10000 CCS A
006454,000985: 06,2723 00002 TC Q
006455,000986:
006456,000987: 06,2724 45026 CS BIT1
006457,000988: 06,2725 00006 EXTEND
006458,000989: 06,2726 03011 WAND DSALMOUT
006459,000990: 06,2727 00002 TC Q
006460,000991:
006461,000992: 06,2730 00006 ISSWON EXTEND
006462,000993: 06,2731 22066 QXCH ITEMP6
006463,000994: 06,2732 05741 TC VARALARM # TELL EVERYONE WHAT CAUSED THE ISSWARNING
006464,000995: 06,2733 35026 CAF BIT1
006465,000996: 06,2734 00006 EXTEND
006466,000997: 06,2735 05011 WOR DSALMOUT
006467,000998: 06,2736 00066 TC ITEMP6
006468,000999:
006469,001000: 06,2737 43006 CAGESUB CS BITS6&15 # SET OUTBITS AND INTERNAL FLAGS FOR
006470,001001: 06,2740 00006 EXTEND # SYSTEM TURN-ON OR CAGE. DISABLE THE
006471,001002: 06,2741 03012 WAND CHAN12 # ERROR COUNTER AND REMOVE IMU DELAY COMP.
006472,001003: 06,2742 32776 CAF BITS4&5 # SEND ZERO AND COARSE.
006473,001004: 06,2743 00006 EXTEND
006474,001005: 06,2744 05012 WOR CHAN12
006475,001006:
006476,001007: 06,2745 41037 CAGESUB1 CS DSPTAB +11D # TURN ON NO ATT LAMP
006477,001008: 06,2746 72775 MASK OC40010
006478,001009: 06,2747 27037 ADS DSPTAB +11D
006479,001010:
006480,001011: 06,2750 41304 CAGESUB2 CS IMODES30 # SET FLAGS TO INDICATE CAGING OR TURN-ON
006481,001012: 06,2751 73000 MASK OCT75 # AND INHIBIT ALL ISS WARNING INFO
006482,001013: 06,2752 27304 ADS IMODES30
006483,001014:
006484,001015: 06,2753 41305 CS IMODES33 # DISABLE DAP AUTO AND HOLD MODES
006485,001016: 06,2754 75021 MASK BIT6
006486,001017: 06,2755 27305 ADS IMODES33
006487,001018:
006488,001019: 06,2756 00002 TC Q
006489,001020:
006490,001021: 06,2757 06,2705 IMUFAIL EQUALS SETISSW
006491,001022: 06,2757 06,2705 ICDUFAIL EQUALS SETISSW
006492,001023:
006493,001024: # JUMP TABLES AND CONSTANTS.
006494,001025:
006495,001026: 06,2757 12540 IFAILJMP TCF ITURNON # CHANNEL 30 DISPATCH.
006496,001027: 06,2760 12705 TCF IMUFAIL
006497,001028: 06,2761 12705 TCF ICDUFAIL
006498,001029: 06,2762 12572 TCF IMUCAGE
006499,001030: 06,2763 76400 30RDMSK OCT 76400 # (BIT 10 NOT SAMPLED HERE).
006500,001031: 06,2764 12624 TCF IMUOP
006501,001032:
006502,001033: 06,2765 12652 C33JMP TCF PIPFAIL # CHANNEL 33 DISPATCH.
006503,001034: 06,2766 12673 TCF DNTMFAST
006504,001035: 06,2767 12700 TCF UPTMFAST
006505,001036:
006506,001037: # SUBROUTINE TO SKIP IF LAMP TEST NOT IN PROGRESS.
006507,001038: 06,2770 41305 LAMPTEST CS IMODES33 # BIT 1 OF IMODES33 = 1 IF LAMP TEST IN
006508,001039: 06,2771 75026 MASK BIT1 # PROGRESS.
006509,001040: 06,2772 10000 CCS A
006510,001041: 06,2773 24002 INCR Q
006511,001042: 06,2774 00002 TC Q
006512,001043:
006513,001044: 06,2775 5076 33RDMSK EQUALS PRIO16
006514,001045: 06,2775 40010 OC40010 OCT 40010
006515,001046: 06,2776 00030 BITS4&5 OCT 30
006516,001047: 06,2777 00054 OCT54 OCT 54
006517,001048: 06,3000 00075 OCT75 OCT 75
006518,001049: 06,3001 00272 OCT272 OCT 00272
006519,001050: 06,3002 00300 BITS7&8 OCT 300
006520,001051: 06,3003 01720 OCT1720 OCT 1720
006521,001052: 06,3004 00740 OCT740 OCT 00740
006522,001053: 06,3005 5075 OCT15000 EQUALS PRIO15
006523,001054: 06,3005 77000 OCT77000 OCT 77000
006524,001055: 06,3006 40040 BITS6&15 OCT 40040
006525,001056: 06,3007 76777 -BIT10 OCT -1000
006526,001057:
006527,001058: 06,3010 21450 90SECS DEC 9000 B-14
006528,001059: 06,3011 5746 120MS = OCT14 # (DEC12)
006529,001060: 06,3011 5340 GLOCKOK EQUALS RESUME
006530,001061:
006531,001062: # PROGRAM NAME_ RRAUTCHK
006532,001063:
006533,001064: # FUNCTIONAL DESCRIPTION_
006534,001065: # RRAUTCHK IS THE RENDEZVOUS RADAR INBIT MONITOR. INITIALLY THE RR
006535,001066: # POWER ON AUTO (CHAN 33 BIT 2) INBIT IS CHECKED. IF NO CHANGE, THE
006536,001067: # PROGRAM EXITS TO RRCDUCHK. IF A CHANGE, RADMODES IS UPDATED
006537,001068: # AND A CHECK MADE IF RR POWER HAS JUST COME ON. IF JUST OFF, A CHECK
006538,001069: # IS MADE TO SEE IF A PROGRAM WAS USING THE RR (STATE BIT 7). IF NO,
006539,001070: # THE PROGRAM EXITS TO RRCDUCHK. IF YES, PROGRAM ALARM 00514
006540,001071: # IS REQUESTED BEFORE EXITING TO RRCDUCHK. IF RR POWER HAS JUST COME
006541,001072: # ON, A CHECK IS MADE TO SEE IF A PROGRAM WAS USING THE RR (STATE BIT 7).
006542,001073: # IF YES, THE PROGRAM EXITS TO RRCDUCHK WITHOUT REQUESTING THE TURN-ON
006543,001074: # SEQUENCE. IF NO, RADMODES IS UPDATED TO INDICATE RR CDU ZERO AND
006544,001075: # RR TURN-ON SEQUENCE (BITS 13, 1). A 10 MILLISECOND WAITLIST CALL
006545,001076: # IS THEN SET FOR RRTURNON BEFORE THE PROGRAM EXITS TO NORRGMON.
006546,001077:
006547,001078: # CALLING SEQUENCE_
006548,001079: # T4RUPT EVERY 480 MILLISECONDS
006549,001080:
006550,001081: # ERASABLE INITIALIZATION REQUIRED_
006551,001082: # RADMODES, STATE
006552,001083:
006553,001084: # SUBROUTINES CALLED_
006554,001085: # WAITLIST
006555,001086:
006556,001087: # JOBS OR TASKS INITIATED_
006557,001088: # RRTURNON
006558,001089:
006559,001090: # ALARMS_ PROGRAM ALARM 00514 - RADAR GOES OUT OF AUTO MODE WHILE BEING
006560,001091: # USED
006561,001092:
006562,001093: # EXIT_ RRCDUCHK, NORRGMON
006563,001094:
006564,001095: 06,3011 31101 RRAUTCHK CA RADMODES # SEE IF CHANGE IN RR AUTO MODE BIT.
006565,001096: 06,3012 00006 EXTEND
006566,001097: 06,3013 06033 RXOR CHAN33
006567,001098: 06,3014 75025 MASK BIT2
006568,001099: 06,3015 00006 EXTEND
006569,001100: 06,3016 13044 BZF RRCDUCHK
006570,001101:
006571,001102: 06,3017 23101 LXCH RADMODES # UPDATE RADMODES.
006572,001103: 06,3020 00006 EXTEND
006573,001104: 06,3021 06001 RXOR LCHAN
006574,001105: 06,3022 55101 TS RADMODES
006575,001106: 06,3023 75025 MASK BIT2 # SEE IF JUST ON.
006576,001107: 06,3024 10000 CCS A
006577,001108: 06,3025 13041 TCF RRCDUCHK -3 # OFF. GO DISABLE RR CDU ERROR COUNTERS.
006578,001109: 06,3026 43040 CS OCT72001 # SET BITS TO INDICATE ZERO AND TURNON
006579,001110: 06,3027 71101 MASK RADMODES # IN PROGRESS.
006580,001111: 06,3030 63037 AD OCT10001
006581,001112: 06,3031 55101 TS RADMODES
006582,001113:
006583,001114: 06,3032 35026 CAF ONE
006584,001115: 06,3033 05252 TC WAITLIST
006585,001116: 06,3034 E7,1433 EBANK= LOSCOUNT
006586,001117: 06,3034 02053 52007 2CADR RRTURNON
006587,001118:
006588,001119: 06,3036 13127 TCF NORRGMON
006589,001120:
006590,001121: 06,3037 10001 OCT10001 OCT 10001
006591,001122: 06,3040 72001 OCT72001 OCT 72001
006592,001123:
006593,001124: # PROGRAM NAME_ RRCDUCHK
006594,001125:
006595,001126: # FUNCTIONAL DESCRIPTION_
006596,001127: # RRCDUCHK CHECKS FOR RR CDU FAIL (CHAN 30 BIT 7). INITIALLY THE
006597,001128: # RR CDU FAIL BIT IS SAMPLED (CHAN 30 BIT 7). IF NO CHANGE, THE
006598,001129: # PROGRAM EXITS TO RRGIMON. IF A CHANGE, THE RR AUTO MODE
006599,001130: # (RADMODES BIT 2) BIT IS CHECKED. IF NOT IN RR AUTO MODE, THE
006600,001131: # PROGRAM EXITS TO NORRGMON. IF IN AUTO MODE, RADMODES BIT 7
006601,001132: # (RR CDU OK) IS UPDATED AND IF P-20 IS OPERATING PROGRAM ALARM 00515 IS
006602,001133: # REQUESTED. CONTROL IS TRANSFERRED TO SETTRKF TO UPDATE
006603,001134: # THE TRACKER FAIL LAMP (DSPTAB+11D BIT 8). CONTROL RETURNS TO
006604,001135: # RRGIMON.
006605,001136:
006606,001137: # CALLING SEQUENCE_
006607,001138: # EVERY 480 MILLISECONDS FROM RRAUTCHK (VIA T4RUPT) UNLESS A
006608,001139: # TURN-ON SEQUENCE HAS JUST BEEN INITIATED.
006609,001140:
006610,001141: # ERASABLE INITIALIZATION REQUIRED_
006611,001142: # RADMODES
006612,001143:
006613,001144: # SUBROUTINES CALLED_
006614,001145: # SETTRKF
006615,001146:
006616,001147: # JOBS OR TASKS INITIATED_
006617,001148: # NONE
006618,001149:
006619,001150: # ALARMS_
006620,001151: # TRACKER FAIL
006621,001152: # PROGRAM ALARM 00515 - RRCDU FAIL DURING P-20
006622,001153:
006623,001154: # EXIT_
006624,001155: # RRGIMON, NORRGMON
006625,001156:
006626,001157: 06,3041 45025 -3 CS BIT2
006627,001158: 06,3042 00006 EXTEND
006628,001159: 06,3043 03012 WAND CHAN12 # AT TURNON, DISABLE CDU ERROR COUNTERS.
006629,001160:
006630,001161: 06,3044 31101 RRCDUCHK CA RADMODES # LAST SAMPLED BIT IN RADMODES.
006631,001162: 06,3045 00006 EXTEND
006632,001163: 06,3046 06030 RXOR CHAN30
006633,001164: 06,3047 75020 MASK BIT7
006634,001165: 06,3050 00006 EXTEND
006635,001166: 06,3051 13076 BZF RRGIMON
006636,001167:
006637,001168: 06,3052 35025 CAF BIT2 # IF RR NOT IN AUTO MODE, DONT CHANGE BIT
006638,001169: 06,3053 71101 MASK RADMODES # 7 OF RADMODES. IF THIS WERE NOT DONE,
006639,001170: 06,3054 10000 CCS A # THE TRACKER FAIL MIGHT COME ON WHEN
006640,001171: 06,3055 13127 TCF NORRGMON # JUST READING LR DATA.
006641,001172:
006642,001173: 06,3056 35020 CAF BIT7 # SET BIT 7 OF RADMODES FOR SETTRKF.
006643,001174:
006644,001175: 06,3057 23101 LXCH RADMODES # UPDATE RADMODES.
006645,001176: 06,3060 00006 EXTEND
006646,001177: 06,3061 06001 RXOR L
006647,001178: 06,3062 55101 TS RADMODES
006648,001179:
006649,001180: 06,3063 31101 CA RADMODES # DID RR CDU FAIL
006650,001181: 06,3064 75020 MASK BIT7
006651,001182: 06,3065 10000 CCS A
006652,001183: 06,3066 13075 TCF TRKFLCDU # NO
006653,001184: 06,3067 40074 CS FLAGWRD0 # RNDVFLG P20 OR P22 OPERATING
006654,001185: 06,3070 75020 MASK RNDVZBIT
006655,001186: 06,3071 10000 CCS A
006656,001187: 06,3072 13075 TCF TRKFLCDU # NO
006657,001188: 06,3073 05651 TC ALARM # YES
006658,001189: 06,3074 00515 OCT 00515
006659,001190: 06,3075 04601 TRKFLCDU TC SETTRKF # UPDATE TRACKER FAIL LAMP ON DSKY.
006660,001191:
006661,001192: # PROGRAM NAME_ RRGIMON E AUTO MODE EXCEPT WHEN THE RR CDUS ARE
006662,001193:
006663,001194: # FUNCTIONAL DESCRIPTION_ TTER IS INITIATED BY THIS MONITOR WHEN
006664,001195: # RRGIMON IS THE RR GIMBAL LIMIT MONITOR. INITIALLY THE FOLLOWING IS ED TO DRIVE THE GIMBALS TO T = 0 AND
006665,001196: # CHECKED_ REMODE, RR CDU:S BEING ZEROED, REPOSITION, AND RR
006666,001197: # NOT IN AUTO MODE (RADMODES BITS 14, 13, 11 2). IF ANY OF THESE
006667,001198: # EXIST THE PROGRAM EXITS TO GPMATRIX. IF NONE ARE PRESENT RRLIMCHK
006668,001199: # IS CALLED TO SEE IF THE PRESENT RR CDU ANGLES (OPTY, OPTX) ARE WITHIN
006669,001200: # THE LIMITS OF THE CURRENT MODE. IF WITHIN LIMITS, THE PROGRAM EXITS
006670,001201: # TO NORRGMON. IF NOT WITHIN LIMITS, THE REPOSITION FLAG (RADMODES
006671,001202: # BIT 11) IS SET, THE RR AUTO TRACKER AND RR ERROR COUNTER
006672,001203: # (CHAN 12 BITS 14, 2) ARE DISABLED, AND A 20 MILLISECOND WAITLIST
006673,001204: # CALL IS SET FOR DORREPOS AFTER WHICH THE PROGRAM EXITS TO NORRGMON.
006674,001205:
006675,001206: # CALLING SEQUENCE_
006676,001207: # EVERY 480 MILLISECONDS FROM RRCDUCHK (VIA T4RUPT) UNLESS TURN-ON
006677,001208: # HAS JUST BEEN INITIATED VIA RRAUTCHK OR IF THERE HAS BEEN A CHANGE IN
006678,001209: # THE RR CDU FAIL BIT (CHAN 30 BIT 7) AND THE RR IS NOT IN THE AUTO MODE
006679,001210: # (RADMODES BIT 2).
006680,001211:
006681,001212: # ERASABLE INITIALIZATION_ RADMODES
006682,001213:
006683,001214: # SUBROUTINES CALLED_
006684,001215: # RRLIMCHK, WAITLIST
006685,001216:
006686,001217: # JOBS OR TASKS INITIATED_
006687,001218: # DORREPOS
006688,001219:
006689,001220: # ALARMS_
006690,001221: # NONE
006691,001222:
006692,001223: # EXIT_
006693,001224: # NORRGMON
006694,001225:
006695,001226: 06,3076 30101 RRGIMON CAE FLAGWRD5 # IS NO ANGLE MONITOR FLAG SET
006696,001227: 06,3077 75023 MASK NORRMBIT
006697,001228: 06,3100 10000 CCS A
006698,001229: 06,3101 13127 TCF NORRGMON # YES - SKIP LIMIT CHECK
006699,001230: 06,3102 33124 CAF OCT32002 # INHIBIT BY REMODE,ZEROING,MONITOR.
006700,001231: 06,3103 71101 MASK RADMODES # OR RR NOT IN AUTO.
006701,001232: 06,3104 10000 CCS A
006702,001233: 06,3105 13127 TCF NORRGMON
006703,001234:
006704,001235: 06,3106 04540 TC RRLIMCHK # SEE IF ANGLES IN LIMITS.
006705,001236: 06,3107 00035 ADRES CDUT
006706,001237:
006707,001238: 06,3110 13112 TCF MONREPOS
006708,001239:
006709,001240: 06,3111 13127 TCF NORRGMON # (ADDITIONAL CODING MAY GO HERE).
006710,001241:
006711,001242: 06,3112 35014 MONREPOS CAF BIT11 # SET FLAG TO SHOW REPOSITION IN PROGRESS.
006712,001243: 06,3113 27101 ADS RADMODES
006713,001244:
006714,001245: 06,3114 43125 CS OCT20002 # DISABLE TRACKER AND ERROR COUNTER.
006715,001246: 06,3115 00006 EXTEND
006716,001247: 06,3116 03012 WAND CHAN12
006717,001248:
006718,001249: 06,3117 35025 CAF TWO
006719,001250: 06,3120 05252 TC WAITLIST
006720,001251: 06,3121 E7,1433 EBANK= LOSCOUNT
006721,001252: 06,3121 02120 52007 2CADR DORREPOS
006722,001253:
006723,001254: 06,3123 13127 TCF NORRGMON
006724,001255:
006725,001256: 06,3124 32002 OCT32002 OCT 32002
006726,001257: 06,3125 20002 OCT20002 OCT 20002
006727,001258: 06,3126 02100 OCT02100 OCT 02100 # P20,P22 MASK BITS
006728,001259:
006729,001260: # PROGRAM NAME: GPMATRIX (DAPT4S) MOD. NO. 2 DATE: OCTOBER 27, 1966
006730,001261:
006731,001262: # AUTHOR: JONATHAN D. ADDELSTON (ADAMS ASSOCIATES)
006732,001263:
006733,001264: # MODIFIED: 7FEB. 1968 BY P. S. WEISSMAN TO DELETE COMPUTATION OF MR12 AND MR13, WHICH ARE NO LONGER REQIURED.
006734,001265:
006735,001266: # THIS PROGRAM CALCULATES ALL THE SINGLE-PRECISION MATRIX ELEMENTS WHICH ARE USED BY LEM DAP TO TRANSFORM VECTORS
006736,001267: # FROM GIMBAL TO PILOT (BODY) AXES AND BACK AGAIN. THESE ELEMENTS ARE USED EXCLUSIVELY BY BASIC LANGUAGE ROUTINES
006737,001268: # AND THEREFORE ARE NOT ARRAYED FOR USE BY INTERPRETIVE PROGRAMS.
006738,001269:
006739,001270: # CALLING SEQUENCE: GPMATRIX IS TRANSFERRED TO FROM DAPT4S AND IS THUS EXECUTED 4 TIMES A SECOND BY T4RUPT.
006740,001271: # DAPT4S IS LISTED IN T4JUMP TABLE TWICE EXPLICITLY AND ALSO OCCURS AFTER RRAUTCHK (WHICH IS ALSO LISTED TWICE).
006741,001272:
006742,001273: # SUBROUTINES CALLED: SPSIN, SPCOS.
006743,001274:
006744,001275: # NORMAL EXIT MODE: TCF RESUME
006745,001276:
006746,001277: # ALARM AND ABORT MODES: NONE.
006747,001278:
006748,001279: # INPUT: CDUX, CDUY, CDUZ.
006749,001280:
006750,001281: # OUTPUT: M11, M21, M31, M22, M32.
006751,001282:
006752,001283: # AOG = CDUX, AIG = CDUY, AMG = CDUZ: MNEMONIC IS : OIM = XYZ
006753,001284:
006754,001285: # * * SIN(MG) 0 1 *
006755,001286: # M = * COS(MG)COS(OG) SIN(OG) 0 *
006756,001287: # GP * -COS(MG)SIN(OG) COS(OG) 0 *
006757,001288:
006758,001289: # * * 0 COS(OG)/COS(MG) -SIN(OG)/COS(MG) *
006759,001290: # M = * 0 SIN(OG) COS(OG) *
006760,001291: # PG * 1 -SIN(MG)COS(OG)/COS(MG) SIN(MG)SIN(OG)/COS(MG) *
006761,001292:
006762,001293: 06,3127 E6,1412 EBANK= M11
006763,001294: 06,3127 06,3127 DAPT4S EQUALS GPMATRIX
006764,001295:
006765,001296: # T4RUPT DAP LOGIC:
006766,001297:
006767,001298: 06,3127 30034 GPMATRIX CAE CDUZ # SINGLE ENTRY POINT
006768,001299: 06,3130 05103 TC SPSIN # SIN(CDUZ) = SIN(MG)
006769,001300: 06,3131 55412 TS M11 # SCALED AT 1
006770,001301:
006771,001302: 06,3132 30034 CAE CDUZ
006772,001303: 06,3133 05102 TC SPCOS # COS(CDUZ) = COS(MG)
006773,001304: 06,3134 54061 TS COSMG # SCALED AT 1 (ONLY A FACTOR)
006774,001305:
006775,001306: 06,3135 30032 CAE CDUX
006776,001307: 06,3136 05103 TC SPSIN # SIN(CDUX) = SIN(OG)
006777,001308: 06,3137 55415 TS M22 # SCALED AT 1 (ALSO IS MR22)
006778,001309:
006779,001310: 06,3140 41415 CS M22
006780,001311:
006781,001312: 06,3141 00006 EXTEND
006782,001313: 06,3142 70061 MP COSMG # -SIN(OG)COS(MG)
006783,001314: 06,3143 55414 TS M31 # SCALED AT 1
006784,001315:
006785,001316: 06,3144 30032 CAE CDUX
006786,001317: 06,3145 05102 TC SPCOS # COS(CDUX) = COS(OG)
006787,001318: 06,3146 55416 TS M32 # SCALED AT 1 (ALSO IS MR23)
006788,001319:
006789,001320: 06,3147 00006 EXTEND
006790,001321: 06,3150 70061 MP COSMG # COS(OG)COS(MG)
006791,001322: 06,3151 55413 TS M21 # SCALED AT 1
006792,001323:
006793,001324: 06,3152 05340 TC RESUME
006794,001325:
006795,001326: 06,3153 06,3127 NORRGMON EQUALS DAPT4S
006796,001327: 06,3153 5340 ENDDAPT4 EQUALS RESUME
End of include-file T4RUPT_PROGRAM.agc. Parent file is MAIN.agc