Source Code
006294,000001: # Copyright: Public domain.
006295,000002: # Filename: T4RUPT_PROGRAM.agc
006296,000003: # Purpose: An interrupt service routine for Luminary 1C, revision 131.
006297,000004: # It is part of the source code for the Lunar Module's (LM)
006298,000005: # Apollo Guidance Computer (AGC) for Apollo 13 and Apollo 14.
006299,000006: # This file is intended to be a faithful transcription, except
006300,000007: # that the code format has been changed to conform to the
006301,000008: # requirements of the yaYUL assembler rather than the
006302,000009: # original YUL assembler.
006303,000010: # Reference: pp. 162-196 of 1729.pdf
006304,000011: # Contact: Ron Burkey <info@sandroid.org>.
006305,000012: # Website: www.ibiblio.org/apollo/index.html
006306,000013: # Mod history: 04/11/03 RSB. Began transcribing.
006307,000014: # 05/05/03 RSB. Draft finished.
006308,000015: # 05/14/05 RSB Corrected website reference above
006309,000016:
006310,000017: # Page 162
006311,000018: 12,2000 BANK 12
006312,000019: 06,2000 SETLOC T4RUP
006313,000020: 06,2000 BANK
006314,000021:
006315,000022: 06,2000 E6,1414 EBANK= M11
006316,000023: 06,2000 COUNT* $$/T4RPT
006317,000024: 06,2000 54016 T4RUPT TS BANKRUPT
006318,000025:
006319,000026: 06,2001 00006 EXTEND
006320,000027: 06,2002 22012 QXCH QRUPT
006321,000028:
006322,000029: 06,2003 11310 CCS DSRUPTSW # GOES 7(-1)0 AROUND AND AR
006323,000030: 06,2004 12010 TCF NORMT4 +1
006324,000031: 06,2005 12007 TCF NORMT4
006325,000032:
006326,000033: 06,2006 12134 TCF QUIKDSP
006327,000034:
006328,000035: 06,2007 34757 NORMT4 CAF SEVEN
006329,000036: 06,2010 54070 TS RUPTREG1
006330,000037: 06,2011 55310 TS DSRUPTSW
006331,000038:
006332,000039: 4066 BLOCK 02
006333,000040: 4000 SETLOC FFTAG10
006334,000041: 4000 BANK
006335,000042:
006336,000043: 4066 COUNT* $$/T4RPT
006337,000044: 4066 7732 100MRUPT = OCT37766 # (DEC 16374)
006338,000045:
006339,000046: # RELTAB IS A PACKED TABLE. RELAYWORD CODE IN UPPER 4 BITS, RELAY CODE
006340,000047: # IN LOWER 5 BITS.
006341,000048: 4066 04025 RELTAB OCT 04025
006342,000049: 4067 10003 OCT 10003
006343,000050: 4070 14031 OCT 14031
006344,000051: 4071 20033 OCT 20033
006345,000052: 4072 24017 OCT 24017
006346,000053: 4073 30036 OCT 30036
006347,000054: 4074 34034 OCT 34034
006348,000055: 4075 40023 OCT 40023
006349,000056: 4076 44035 OCT 44035
006350,000057: 4077 50037 OCT 50037
006351,000058: 4100 54000 OCT 54000
006352,000059: 4101 60000 RELTAB11 OCT 60000
006353,000060:
006354,000061: # Page 163
006355,000062: # SWITCHED-BANK PORTION
006356,000063:
006357,000064: 12,2000 BANK 12
006358,000065: 06,2000 SETLOC T4RUP
006359,000066: 06,2000 BANK
006360,000067:
006361,000068: 06,2012 COUNT* $$/T4RPT
006362,000069: 06,2012 11035 CDRVE CCS DSPTAB +11D
006363,000070: 06,2013 02063 TC DSPOUT
006364,000071: 06,2014 02063 TC DSPOUT
006365,000072:
006366,000073: 06,2015 57035 XCH DSPTAB +11D
006367,000074: 06,2016 74356 MASK LOW11
006368,000075: 06,2017 55035 TS DSPTAB +11D
006369,000076: 06,2020 64101 AD RELTAB11
006370,000077: 06,2021 00006 EXTEND
006371,000078: 06,2022 01010 WRITE OUT0
006372,000079: 06,2023 02071 TC HANG20
006373,000080:
006374,000081: # Page 164
006375,000082: # DSPOUT PROGRAM, PUTS OUT DISPLAYS
006376,000083:
006377,000084: 06,2024 55015 DSPOUTSB TS NOUT
006378,000085: 06,2025 44755 CS ZERO
006379,000086: 06,2026 54073 TS DSRUPTEM # SET TO -0 FOR 1ST PASS THRU OSPTAB
006380,000087: 06,2027 56775 XCH DSPCNT
006381,000088: 06,2030 64754 AD NEG0 # TO PREVENT +0
006382,000089: 06,2031 54775 TS DSPCNT
006383,000090: 06,2032 50775 DSPSCAN INDEX DSPCNT
006384,000091: 06,2033 11022 CCS DSPTAB
006385,000092: 06,2034 10775 CCS DSPCNT # IF DSPTAB ENTRY +, SKIP
006386,000093: 06,2035 12030 TCF DSPSCAN -2 # IF DSPCNT +, TRY AGAIN
006387,000094: 06,2036 12047 TCF DSPLAY # IF DSPTAB ENTRY -, DISPLAY
006388,000095: 06,2037 00012 TABLNTH OCT 12 # DEC 10, LENGTH OF DSPTAB
006389,000096: 06,2040 10073 CCS DSRUPTEM # IF DSRUPTEM=+0, 2ND PASS THRU DSPTAB
006390,000097: 06,2041 37764 120MRUPT DEC 16372 B-14 # (DSPCNT = 0). +0 INTO NOUT.
006391,000098: 06,2042 55015 TS NOUT
006392,000099: 06,2043 00002 TC Q
006393,000100: 06,2044 54073 TS DSRUPTEM # IF DSRUPTEM=-0, 1ST PASS THRU DSPTAB
006394,000101: 06,2045 32037 CAF TABLNTH # (DSPCNT=0).+0 INTO DSRUPTEM. PASS AGAIN
006395,000102: 06,2046 12031 TCF DSPSCAN -1
006396,000103:
006397,000104: 06,2047 64753 DSPLAY AD ONE
006398,000105: 06,2050 50775 INDEX DSPCNT
006399,000106: 06,2051 55022 TS DSPTAB # REPLACE POSITIVELY
006400,000107: 06,2052 74356 MASK LOW11 # REMOVE BITS 12 TO 15
006401,000108: 06,2053 54073 TS DSRUPTEM
006402,000109: 06,2054 34350 CAF HI5
006403,000110: 06,2055 50775 INDEX DSPCNT
006404,000111: 06,2056 74066 MASK RELTAB # PICK UP BITS 12 TO 15 OF RELTAB ENTRY
006405,000112: 06,2057 60073 AD DSRUPTEM
006406,000113: 06,2060 00006 EXTEND
006407,000114: 06,2061 01010 WRITE OUT0
006408,000115:
006409,000116: 06,2062 16742 TCF Q+1
006410,000117:
006411,000118: 06,2063 10101 DSPOUT CCS FLAGWRD5 # IS DSKY FLAG ON
006412,000119: 06,2064 34755 CAF ZERO # NO
006413,000120: 06,2065 12130 TCF NODSPOUT # NO
006414,000121: 06,2066 11015 CCS NOUT # YES
006415,000122: 06,2067 02024 TC DSPOUTSB
006416,000123: 06,2070 12130 TCF NODSPOUT # NO DISPLAY REQUESTS
006417,000124:
006418,000125: 06,2071 42171 HANG20 CS 14,11,9
006419,000126: 06,2072 27310 ADS DSRUPTSW
006420,000127:
006421,000128: 06,2073 37734 CAF 20MRUPT
006422,000129:
006423,000130: 06,2074 54027 SETTIME4 TS TIME4
006424,000131:
006425,000132: # Page 165
006426,000133: # THE STATUS OF THE PROCEED PUSHBUTTON IS MONITORED EVERY 120 MILLISECONDS VIA
006427,000134: # THE CHANNEL 32 BIT 14 INBIT. THE STATE OF THIS INBIT IS COMPARED WITH ITS
006428,000135: # STATE DURING THE PREVIOUS T4RUPT AND IS PROCESSED AS FOLLOWS.
006429,000136: # IF PREV ON AND NOW ON -- BYPASS.
006430,000137: # IF PREV ON AND NOW OFF -- UPDATE IMODES33.
006431,000138: # IF PREV OFF AND NOW ON -- UPDATE IMODES33 AND PROCESS VIA PINBALL.
006432,000139: # IF PREV OFF AND NOW OFF -- BYPASS.
006433,000140: # THE LOGIC EMPLOYED REQUIRES ONLY 9 MCT (APPROX. 108 MICROSECONDS)
006434,000141: # OF COMPUTER TIME WHEN NO CHANGES OCCUR.
006435,000142:
006436,000143: 06,2075 31300 PROCEEDE CA IMODES33 # MONITOR FOR PROCEED BUTTON
006437,000144: 06,2076 00006 EXTEND
006438,000145: 06,2077 06032 RXOR CHAN32
006439,000146: 06,2100 74736 MASK BIT14
006440,000147: 06,2101 00006 EXTEND
006441,000148: 06,2102 12116 BZF T4JUMP # NO CHANGE
006442,000149:
006443,000150: 06,2103 23300 LXCH IMODES33
006444,000151: 06,2104 00006 EXTEND
006445,000152: 06,2105 06001 RXOR LCHAN
006446,000153: 06,2106 55300 TS IMODES33
006447,000154: 06,2107 74736 MASK BIT14
006448,000155: 06,2110 10000 CCS A
006449,000156: 06,2111 12116 TCF T4JUMP # WAS ON -- NOW OFF
006450,000157:
006451,000158: 06,2112 34355 CAF CHRPRIO # WAS OFF -- NOW ON
006452,000159: 06,2113 05072 TC NOVAC
006453,000160: 06,2114 0776 EBANK= DSPCOUNT
006454,000161: 06,2114 03506 60101 2CADR PROCKEY
006455,000162:
006456,000163: # Page 166
006457,000164: # JUMP TO APPROPRIATE ONCE-PER SECOND (0.96 SEC ACTUALLY) ACTIVITY
006458,000165:
006459,000166: 06,2116 50070 T4JUMP INDEX RUPTREG1
006460,000167: 06,2117 12120 TCF +1
006461,000168:
006462,000169: 06,2120 03164 TC RCSMONIT
006463,000170: 06,2121 13006 TCF RRAUTCHK
006464,000171: 06,2122 12172 TCF IMUMON
006465,000172: 06,2123 13140 TCF DAPT4S
006466,000173: 06,2124 03164 TC RCSMONIT
006467,000174: 06,2125 13006 TCF RRAUTCHK
006468,000175: 06,2126 12172 TCF IMUMON
006469,000176: 06,2127 13140 TCF DAPT4S
006470,000177:
006471,000178: 06,2130 7734 20MRUPT = OCT37776 # (DEC 16382)
006472,000179:
006473,000180: # Page 167
006474,000181: # ADDITIONAL ROUTINES FOR 20MS. KEYBOARD ACTIVITY
006475,000182:
006476,000183: 06,2130 00006 NODSPOUT EXTEND
006477,000184: 06,2131 01010 WRITE OUT0
006478,000185:
006479,000186: 06,2132 32041 CAF 120MRUPT # SET FOR NEXT CCRIVE
006480,000187: 06,2133 12074 TCF SETTIME4
006481,000188:
006482,000189: 06,2134 34736 QUIKDSP CAF BIT14
006483,000190: 06,2135 71310 MASK DSRUPTSW
006484,000191: 06,2136 00006 EXTEND
006485,000192: 06,2137 12165 BZF QUIKOFF # WROTE LAST TIME, NOW TURN OFF RELAYS
006486,000193:
006487,000194: 06,2140 11015 CCS NOUT
006488,000195: 06,2141 02024 TC DSPOUTSB
006489,000196: 06,2142 12152 TCF NODSPY # NOUT=0 OR BAD RETURN FROM DSPOUTSB
006490,000197: 06,2143 44736 CS BIT14 # GOOD RETURN (WE DISPLAYED SOMETHING)
006491,000198: 06,2144 27310 QUIKRUPT ADS DSRUPTSW
006492,000199:
006493,000200: 06,2145 37734 CAF 20MRUPT
006494,000201: 06,2146 54027 TS TIME4
006495,000202:
006496,000203: 06,2147 34743 CAF BIT9
006497,000204: 06,2150 27310 ADS DSRUPTSW
006498,000205:
006499,000206: 06,2151 05270 TC RESUME
006500,000207:
006501,000208: 06,2152 00006 NODSPY EXTEND
006502,000209: 06,2153 01010 WRITE OUT0
006503,000210:
006504,000211: 06,2154 37734 SYNCT4 CAF 20MRUPT
006505,000212: 06,2155 26027 ADS TIME4
006506,000213:
006507,000214: 06,2156 34743 CAF BIT9
006508,000215: 06,2157 27310 ADS DSRUPTSW
006509,000216:
006510,000217: 06,2160 11310 CCS DSRUPTSW
006511,000218: 06,2161 05270 TC RESUME
006512,000219: 06,2162 37737 OCT37737 OCT 37737
006513,000220: 06,2163 02154 TC SYNCT4
006514,000221: 06,2164 05270 TC RESUME
006515,000222:
006516,000223: 06,2165 00006 QUIKOFF EXTEND
006517,000224: 06,2166 01010 WRITE OUT0
006518,000225: 06,2167 34736 CAF BIT14 # RESET DSRUPTSW TO SEND DISPLAY NEXT PASS
006519,000226: 06,2170 12144 TCF QUIKRUPT
006520,000227:
006521,000228: 06,2171 22400 14,11,9 OCT 22400
006522,000229:
006523,000230: # Page 168
006524,000231: # PROGRAM NAME: IMUMON
006525,000232:
006526,000233: # FUNCTIONAL DESCRIPTION: THIS PROGRAM IS ENTERED EVERY 480 MS. IT DETECTS CHANGES OF THE IMU STATUS BITS IN
006527,000234: # CHANNEL 30 AND CALLS THE APPROPRIATE SUBROUTINES. THE BITS PROCESSED AND THEIR RELEVANT SUROUTINES ARE:
006528,000235:
006529,000236: # FUNCTION BIT SUBROUTINE CALLED
006530,000237: # -------- --- -----------------
006531,000238: # TEMP IN LIMITS 15 TLIM
006532,000239: # ISS TURN-ON REQUEST 14 ITURNON
006533,000240: # IMU FAIL 13 IMUFAIL (SETISSW)
006534,000241: # IMU CDU FAIL 12 ICDUFAIL (SETISSW)
006535,000242: # IMU CAGE 11 IMUCAGE
006536,000243: # IMU OPERATE 9 IMUOP
006537,000244:
006538,000245: # THE LAST SAMPLED STATE OF THESE BITS IS LEFT IN IMODES30. ALSO, EACH SUBROUTINE CALLED FINDS THE NEW
006539,000246: # VALUE OF THE BIT IN A, WITH Q SET TO THE PROPER RETURN LOCATION NXTIFAIL.
006540,000247:
006541,000248: # CALLING SEQUENCE: T4RUPT EVERY 480 MILLISECONDS.
006542,000249:
006543,000250: # JOBS OR TASKS INITIATED: NONE.
006544,000251:
006545,000252: # SUBROUTINES CALLED: TLIM, TURNON, SETISSW, IMUCAGE, IMUOP.
006546,000253:
006547,000254: # ERASABELE INITIALIZATION:
006548,000255: # FRESH START OR RESTART WITH NO GROUPS ACTIVE: C((MODES30) = OCT 37411).
006549,000256: # RESTART WITH ACTIVE GROUPS: C(IMODES30) = (B(IMODES30)AND(OCT 00035)) PLUS OCT 37400.
006550,000257: # THIS LEAVES IMU FAIL BITS INTACT.
006551,000258:
006552,000259: # ALARMS: NONE.
006553,000260:
006554,000261: # EXIT: TNONTEST.
006555,000262:
006556,000263: # OUTPUT: UPDATED IMODES30 WITH CHANGES PROCESSED BY APPROPRIATE SUBROUTINE.
006557,000264:
006558,000265: 06,2172 31277 IMUMON CA IMODES30 # SEE IF THERE HAS BEEN A CHANGE IN THE
006559,000266: 06,2173 00006 EXTEND # RELEVANT BITS OF CHAN 30.
006560,000267: 06,2174 06030 RXOR CHAN30
006561,000268: 06,2175 72761 MASK 30RDMSK
006562,000269: 06,2176 00006 EXTEND
006563,000270: 06,2177 12227 BZF TNONTEST # NO CHANGE IN STATUS
006564,000271:
006565,000272: 06,2200 54070 TS RUPTREG1 # SAVE BITS WHICH HAVE CHANGED.
006566,000273: 06,2201 23277 LXCH IMODES30 # UPDATE IMODES30.
006567,000274: 06,2202 00006 EXTEND
006568,000275: 06,2203 06001 RXOR LCHAN
006569,000276: 06,2204 55277 TS IMODES30
006570,000277:
006571,000278: 06,2205 44753 CS ONE
006572,000279: 06,2206 56070 XCH RUPTREG1
006573,000280: 06,2207 00006 EXTEND
006574,000281: # Page 169
006575,000282: 06,2210 62514 BZMF TLIM # CHANGE IN IMU TEMP.
006576,000283: 06,2211 12213 TCF NXTIFBIT # BEGIN BIT SCAN.
006577,000284:
006578,000285: 06,2212 64753 -1 AD ONE # (RE-ENTERS HERE FROM NXTIFAIL.)
006579,000286: 06,2213 24070 NXTIFBIT INCR RUPTREG1 # ADVANCE BIT POSITION NUMBER.
006580,000287: 06,2214 60000 +1 DOUBLE
006581,000288: 06,2215 54000 TS A # SKIP IF OVERFLOW.
006582,000289: 06,2216 12213 TCF NXTIFBIT # LOOK FOR BIT.
006583,000290:
006584,000291: 06,2217 56071 XCH RUPTREG2 # SAVE OVERFLOW-CORRECTED DATA.
006585,000292: 06,2220 50070 INDEX RUPTREG1 # SELECT NEW VALUE OF THIS BIT.
006586,000293: 06,2221 34736 CAF BIT14
006587,000294: 06,2222 71277 MASK IMODES30
006588,000295: 06,2223 50070 INDEX RUPTREG1
006589,000296: 06,2224 02755 TC IFAILJMP
006590,000297:
006591,000298: 06,2225 10071 NXTIFAIL CCS RUPTREG2 # PROCESS ANY ADDITIONAL CHANGES.
006592,000299: 06,2226 12212 TCF NXTIFBIT -1
006593,000300:
006594,000301: # Page 170
006595,000302: # PROGRAM NAME: TNONTEST.
006596,000303:
006597,000304: # FUNCTIONAL DESCRIPTION: THIS PROGRAM HONORS REQUESTS FOR ISS INITIALIZATION. ISS TURN-ON (CHANNEL 30 BIT 14)
006598,000305: # AND ISS OPERATE (CHANNEL 30 BIT 9) REQUESTS ARE TREATED AS A PAIR AND PROCESSING TAKES PLACE .480 SECONDS
006599,000306: # AFTER EITHER ONE APPEARS. THIS INITIALIZATION TAKES ON ONE OF THE FOLLOWING THREE FORMS:
006600,000307:
006601,000308: # 1) ISS TURN-ON: IN THIS SITUATION THE COMPUTER IS OPERATING WHEN THE ISS IS TURNED ON. NOMINALLY,
006602,000309: # BOTH ISS TURN-ON AND ISS OPERATE APPEAR. THE PLATFORM IS CAGED FOR 90 SECONDS AND THE ICDU'S ZEROED
006603,000310: # SO THAT AT THE END OF THE PROCESS THE GIMBAL LOCK MONITOR WILL FUNCTION PROPERLY.
006604,000311:
006605,000312: # 2) ICDU INITIALIZATION: IN THIS CASE THE COMPUTER WAS PROBABLY TURNED ON WITH THE ISS IN OPERATE OR
006606,000313: # A FRESH START WAS DONE WIT THE ISS IN OPERATE. IN THIS CASE ONLY ISS OPERATE IS ON. THE ICDU'S ARE
006607,000314: # ZEROED SO THE GIMBAL LOCK MONITOR WILL FUNCTION. AN EXCEPTION IS IF THE ISS IS IN GIMBAL LOCK AFTER
006608,000315: # A RESTART, THE ICDU'S WILL NOT BE ZEROED.
006609,000316:
006610,000317: # 3) RESTART WITH RESTARTABLE PROGRAM USING THE IMU: IN THIS CASE, NO INITIALIZATION TAKES PLACE SINCE
006611,000318: # IT IS ASSUMED THT THE USING PROGRAM DID THE INITIALIZATION AND THEREFORE T4RUPT SHOULD NOT INTERFERE.
006612,000319:
006613,000320: # IMODESD0 BIT 7 IS SET = 1 BY THE FIRST BIT (CHANNEL 30 BIT 14 OR 9) WHICH ARRIVES. FOLLOWING THIS, TNONTEST IS
006614,000321: # 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
006615,000322: # PROCEEDS, SETTING BITS 8 AND 7 = 0. AT PROCTNON, IF ISS TURN-ON REQUEST IS PRESENT, THE ISS IS CAGED (ZERO +
006616,000323: # COARSE). IF ISS OPERATE IS NOT PRESENT PROGRAM ALARM 00213 IS ISSUED. AT THE END OF A 90 SECOND CAGE, BIT 2
006617,000324: # OF IMODES30 IS TESTED. IF IT IS = 1, ISS TURN-ON WAS NOT PRESENT FOR THE ENTIRE 90 SECONDS. IN THAT CASE, IF
006618,000325: # THE ISS TURN-ON REQUEST IS PRESENT TEH 90 SECOD WAIT IS REPEATED. OTHERWISE NO ACTION OCURS UNLESS A PROGRAM
006619,000326: # WAS WAITING FOR THE INITIALIZATION IN WHIC CASE TH PROGRAM IS GIVEN AN IMUSTALL ERROR RETURN. IF THE DELAY
006620,000327: # WENT PROPERLY, THE ISS DELAY CLTBIT IS SENT AND THE ICDU'S ZEROED. A TASK IS INITIATED TO REMOVE THE PIPA FIAL
006621,000328: # INHIBIT BIT IN 10.24 SECONDS. IF A MISSION PROGRAM WAS WAITING IT IS INFORMED VIA ENDIMU.
006622,000329:
006623,000330: # AT PROCTNON, IF ONLY ISS OPERATE IS PRESENT (OPONLY), THE CDU'S ARE ZEROED UNLESS THE PLATFORM IS IN COARSE
006624,000331: # ALIGN (= GIMBAL LOCK HERE) OR A MISSIN PROGRAM IS USING THE IMU (INUSEFLG = 1).
006625,000332:
006626,000333: # CALLING SEQUENCE: T4RUPT EVERY 480 MILLISECONDS AFTER IMUMON.
006627,000334:
006628,000335: # JOBS OR TASKS INITIATED: 1) ENDTMON, 90 SECONDS AFER CAGING STARTED. 2) ISSUP, 4 SECONDS AFTER CAGING DONE.
006629,000336: # 3) PFAILOK, 10.24 SECONDS AFTER INITIALIZATION COMPLETED. 4) UNZ2, 320 MILLISECONDS AFTER ZEROING
006630,000337: # STARTED.
006631,000338:
006632,000339: # SUBROUTINES CALLED: CAGESUB, CAGESUB2, ZEROICDU, ENDIMU, IMUBAD, NOATTOFF, SETISSW, VARDELAY.
006633,000340:
006634,000341: # ERASABLE INITIALIZATION: SEE IMUMON.
006635,000342:
006636,000343: # ALARMS: PROGRAM ALARM 00213 IF ISS TURN-ON REQUESTED WITHOUT ISS OPERATE.
006637,000344:
006638,000345: # EXIT: ENDTNON EXITS TO C33TEST. TASKS HAVING TO DO WITH INITIALIZATION EXIT AS FOLLOWS: MISSION PROGRAM
006639,000346: # WAITING AND INITIALIZATION COMPLET, EXIT TO ENDIMU, MISSION PROGRAM WAITING AND INITIALIZATION FAILED, EXIT TO
006640,000347: # IMUBAD, IMU NOT IN USE, EXIT TO TASKOVER.
006641,000348:
006642,000349: # OUTPUT: ISS INITIALIZED.
006643,000350:
006644,000351: 06,2227 41277 TNONTEST CS IMODES30 # AFTER PROCESSING ALL CHANGES, SEE IF IT
006645,000352: # Page 171
006646,000353: 06,2230 74745 MASK BIT7 # IS TIME TO ACT ON A TURN-ON SEQUENCE.
006647,000354: 06,2231 10000 CCS A
006648,000355: 06,2232 12374 TCF C33TEST # NO -- EXAMINE CHANNEL 33.
006649,000356:
006650,000357: 06,2233 34744 CAF BIT8 # SEE IF FIRST SAMPLE OR SECOND.
006651,000358: 06,2234 71277 MASK IMODES30
006652,000359: 06,2235 10000 CCS A
006653,000360: 06,2236 12242 TCF PROCTNON # REACT AFTER A SECOND SAMPLE.
006654,000361:
006655,000362: 06,2237 34744 CAF BIT8 # IF FIRST SAMPLE, SET BIT TO REACT NEXT
006656,000363: 06,2240 27277 ADS IMODES30 # TIME.
006657,000364: 06,2241 12374 TCF C33TEST
006658,000365:
006659,000366: # PROCESS IMU TURN-ON REQUESTS AFTER WAITING 1 SAMPLE FOR ALL SIGNALS TO ARRIVE.
006660,000367:
006661,000368: 06,2242 42777 PROCTNON CS BITS7&8
006662,000369: 06,2243 71277 MASK IMODES30
006663,000370: 06,2244 55277 TS IMODES30
006664,000371: 06,2245 74736 MASK BIT14 # SEE IF TURN-ON REQUEST.
006665,000372: 06,2246 10000 CCS A
006666,000373: 06,2247 12347 TCF OPONLY # OPERATE ON ONLY.
006667,000374:
006668,000375: 06,2250 41277 CS IMODES30 # IF TURN-ON REQUEST, WE SHOUD HAVE IMU
006669,000376: 06,2251 74743 MASK BIT9 # OPERATE.
006670,000377: 06,2252 10000 CCS A
006671,000378: 06,2253 12256 TCF +3
006672,000379:
006673,000380: 06,2254 05567 TC ALARM # ALARM IF NOT
006674,000381: 06,2255 00213 OCT 213
006675,000382:
006676,000383: 06,2256 02735 +3 TC CAGESUB
006677,000384: 06,2257 33005 CAF 90SECS
006678,000385: 06,2260 05203 TC WAITLIST
006679,000386: 06,2261 E6,1414 EBANK= M11
006680,000387: 06,2261 02266 14106 2CADR ENDTNON
006681,000388:
006682,000389: 06,2263 12374 TCF C33TEST
006683,000390:
006684,000391: 06,2264 33005 RETNON CAF 90SECS
006685,000392: 06,2265 05224 TC VARDELAY
006686,000393:
006687,000394: 06,2266 44752 ENDTNON CS BIT2 # RESET TURN-ON REQUEST FAIL BIT.
006688,000395: 06,2267 71277 MASK IMODES30
006689,000396: 06,2270 57277 XCH IMODES30
006690,000397: 06,2271 74752 MASK BIT2 # IF IT WAS OFF, SEND ISS DELAY COMPLETE.
006691,000398: 06,2272 00006 EXTEND
006692,000399: 06,2273 12306 BZF ENDTNON2
006693,000400:
006694,000401: 06,2274 34736 CAF BIT14 # IF IT WAS ON AND TURN-ON REQUEST NOW.
006695,000402: # Page 172
006696,000403: 06,2275 71277 MASK IMODES30 # PRESENT, RE-ENTER 90 SEC DELAY IN WL.
006697,000404: 06,2276 00006 EXTEND
006698,000405: 06,2277 12264 BZF RETNON
006699,000406:
006700,000407: 06,2300 40074 CS FLAGWRD0 # IF IT IS NOT ON NOW, SEE IF A PROG WAS
006701,000408: 06,2301 74744 MASK IMUSEBIT # WAITING.
006702,000409: 06,2302 10000 CCS A
006703,000410: 06,2303 15261 TCF TASKOVER
006704,000411: 06,2304 04635 TC POSTJUMP
006705,000412: 06,2305 17630 CADR IMUBAD # UNSUCCESSFUL TURN-ON.
006706,000413:
006707,000414: 06,2306 34735 ENDTNON2 CAF BIT15 # SEND ISS DELAY COMPLETE.
006708,000415: 06,2307 00006 EXTEND
006709,000416: 06,2310 05012 WOR CHAN12
006710,000417:
006711,000418: 06,2311 04674 TC IBNKCALL # TURN OFF NO ATT LAMP.
006712,000419: 06,2312 17257 CADR NOATTOFF
006713,000420:
006714,000421: 06,2313 05457 UNZ2 TC ZEROICDU
006715,000422:
006716,000423: 06,2314 44763 CS BITS4&5 # REMOVE ZERO AND COARSE.
006717,000424: 06,2315 00006 EXTEND
006718,000425: 06,2316 03012 WAND CHAN12
006719,000426:
006720,000427: 06,2317 34741 CAF BIT11 # WAIT 10 SECS FOR CTRS TO FIND GIMBALS
006721,000428: 06,2320 05224 TC VARDELAY
006722,000429:
006723,000430: 06,2321 42774 ISSUP CS OCT54 # REMOVE CAGING, IMU FAIL INHIBIT BIT, AND
006724,000431: 06,2322 71277 MASK IMODES30 # ICDUFAIL INHIBIT FLAGS.
006725,000432: 06,2323 55277 TS IMODES30
006726,000433:
006727,000434: 06,2324 44746 CS BIT6 # ENABLE DAP
006728,000435:
006729,000436: 06,2325 71300 MASK IMODES33
006730,000437: 06,2326 55300 TS IMODES33
006731,000438:
006732,000439: 06,2327 40076 CS FLAGWRD2 # TEST DRIFTFLG: IF ON DO NOTHING BECAUSE
006733,000440: 06,2330 74735 MASK DRFTBIT # IMUCOMP SHOUD BE ALL SET UP (RESTART
006734,000441: 06,2331 00006 EXTEND # WITH IMUSE DOWN). IF OFF, SET DRIFTFLG
006735,000442: 06,2332 12336 BZF +4 # AND 1/PIPADT TO GET FREEFALL IMUCOMP
006736,000443: 06,2333 26076 ADS FLAGWRD2 # GOING (FRESH START OR ISS TURN-ON).
006737,000444: 06,2334 30025 CA TIME1
006738,000445: 06,2335 57074 XCH 1/PIPADT # CANNOT GET HERE IF RESTART WITH IMUSE UP
006739,000446:
006740,000447: 06,2336 02703 TC SETISSW # ISS WARNING MIGHT HAVE BEEN INHIBITED.
006741,000448:
006742,000449: 06,2337 44735 CS BIT15 # REMOVE IMU DELAY COMPLETE DISCRETE.
006743,000450: 06,2340 00006 EXTEND
006744,000451: 06,2341 03012 WAND CHAN12
006745,000452:
006746,000453: 06,2342 35003 CAF 4SECS # DON'T ENABLE PROG ALARM ON PIP FAIL FOR
006747,000454: # Page 173
006748,000455: 06,2343 05203 TC WAITLIST # ANOTHER 4 SECS.
006749,000456: 06,2344 E3,1474 EBANK= CDUIND
006750,000457: 06,2344 03245 16103 2CADR PFAILOK
006751,000458:
006752,000459: 06,2346 15261 TCF TASKOVER
006753,000460:
006754,000461: 06,2347 34750 OPONLY CAF BIT4 # IF OPERATE ON ONLY, AND WE ARE IN COARSE
006755,000462: 06,2350 00006 EXTEND # ALIGN, DON'T ZERO THE CDUS BECAUSE WE
006756,000463: 06,2351 02012 RAND CHAN12 # MIGHT BE IN GIMBAL LOCK.
006757,000464: 06,2352 10000 CCS A
006758,000465: 06,2353 12374 TCF C33TEST
006759,000466:
006760,000467: 06,2354 34744 CAF IMUSEBIT # OTHERWISE, ZERO THE COUNTERS.
006761,000468: 06,2355 70074 MASK FLAGWRD0 # UNLESS SOMEONE IS USING TH IMU.
006762,000469: 06,2356 10000 CCS A
006763,000470: 06,2357 12374 TCF C33TEST
006764,000471:
006765,000472: 06,2360 02746 TC CAGESUB2 # SET TURNON FLAGS.
006766,000473:
006767,000474: 06,2361 04674 ISSZERO TC IBNKCALL # TURN OFF NO ATT LAMP.
006768,000475: 06,2362 17257 CADR NOATTOFF # IMU CAGE OFF ENTRY.
006769,000476:
006770,000477: 06,2363 34747 CAF BIT5 # ISS CDU ZERO
006771,000478: 06,2364 00006 EXTEND
006772,000479: 06,2365 05012 WOR CHAN12
006773,000480:
006774,000481: 06,2366 05457 TC ZEROICDU
006775,000482: 06,2367 34746 CAF BIT6 # WAIT 300 MS. FOR AGS TO RECEIVE SIGNAL.
006776,000483: 06,2370 05203 TC WAITLIST
006777,000484: 06,2371 E6,1414 EBANK= M11
006778,000485: 06,2371 02313 14106 2CADR UNZ2
006779,000486:
006780,000487: 06,2373 12374 TCF C33TEST
006781,000488:
006782,000489: # Page 174
006783,000490: # PROGRAM NAME: C33TEST
006784,000491:
006785,000492: # FUNCTIONAL DESCRIPTION: THIS PROGRAM MONITORS THREE FLIP-FLOP INBITS OF CHANNEL 33 AND CALLS THE APPROPRIATE
006786,000493: # SUBROUTINE TO PROCESS A CHANGE. IT IS ANALOGOUS TO IMUMON, WHICH MONITORS CHANNEL 30, EXCEPT THAT IT READS
006787,000494: # CHANNEL 33 WITH A WAND INSTRUCTION BECAUSE A `WRITE' PULSE IS REQUIRED TO RESET THE FLIP-FLOPS. THE BITS
006788,000495: # PROCESSED AND THE SUBROUTINES CALLED ARE:
006789,000496: # BIT FUNCTION SUBROUTINE
006790,000497: # --- -------- ----------
006791,000498: # 13 PIPA FAIL PIPFAIL
006792,000499: # 12 DOWNLINK TOO FAST DNTMFAST
006793,000500: # 11 UPLINK TOO FAST UPTMFAST
006794,000501:
006795,000502: # UPON ENTRY TO THE SUBROUTINE, THE NEW BIT STATE IS IN A.
006796,000503:
006797,000504: # CALLING SEQUENCE: EVERY 480 MILLISECONDS AFTER TNONTEST.
006798,000505:
006799,000506: # JOBS OR TASKS INITIATED: NONE.
006800,000507:
006801,000508: # SUBROUTINES CALLED: PIPFAIL, DNTMFAST AND UPTMFAST ON BIT CHANGES.
006802,000509:
006803,000510: # ERASABLE INITIALIZATION: C(IMODES33) = OCT 16000 ON A FRESH START OR RESTART, THEREFORE, THESE ALARMS WILL
006804,000511: # REAPPEAR IF THE CONDITIONS PERSIST.
006805,000512:
006806,000513: # ALARMS: NONE.
006807,000514:
006808,000515: # EXIT: GLOCKMON.
006809,000516:
006810,000517: # OUTPUT: UPDATED BITS 13, 12, AND 11 OF IMODES33 WITH CHANGES PROCESSED.
006811,000518:
006812,000519: 06,2374 31300 C33TEST CA IMODES33 # SEE IF RELEVANT CHAN33 BITS HAVE
006813,000520: 06,2375 75026 MASK 33RDMSK
006814,000521: 06,2376 54001 TS L # CHANGED.
006815,000522: 06,2377 35026 CAF 33RDMSK
006816,000523: 06,2400 00006 EXTEND
006817,000524: 06,2401 03033 WAND CHAN33 # RESETS FLIP-FLOP INPUTS
006818,000525: 06,2402 00006 EXTEND
006819,000526: 06,2403 06001 RXOR LCHAN
006820,000527: 06,2404 00006 EXTEND
006821,000528: 06,2405 12434 BZF GLOCKMON # ON NO CHANGE.
006822,000529:
006823,000530: 06,2406 54070 TS RUPTREG1 # SAVE BITS WHICH HAVE CHANGED
006824,000531: 06,2407 23300 LXCH IMODES33
006825,000532: 06,2410 00006 EXTEND
006826,000533: 06,2411 06001 RXOR LCHAN
006827,000534: 06,2412 55300 TS IMODES33 # UPDATED IMODES33.
006828,000535:
006829,000536: 06,2413 34755 CAF ZERO
006830,000537: 06,2414 56070 XCH RUPTREG1
006831,000538: 06,2415 60000 DOUBLE
006832,000539: # Page 175
006833,000540: 06,2416 12421 TCF NXTIBT +1 # SCAN FOR BIT CHANGES.
006834,000541:
006835,000542: 06,2417 64753 -1 AD ONE
006836,000543: 06,2420 24070 NXTIBT INCR RUPTREG1
006837,000544: 06,2421 60000 +1 DOUBLE
006838,000545: 06,2422 54000 TS A # (CODING IDENTICAL TO CHAN 30).
006839,000546: 06,2423 12420 TCF NXTIBT
006840,000547:
006841,000548: 06,2424 56071 XCH RUPTREG2
006842,000549: 06,2425 50070 INDEX RUPTREG1 # GET NEW VALUE OF BIT WHICH CHANGED.
006843,000550: 06,2426 34737 CAF BIT13
006844,000551: 06,2427 71300 MASK IMODES33
006845,000552: 06,2430 50070 INDEX RUPTREG1
006846,000553: 06,2431 02763 TC C33JMP
006847,000554: 06,2432 10071 NXTFL33 CCS RUPTREG2 # PROCESS POSSIBLE ADDITIONAL CHANGES.
006848,000555: 06,2433 12417 TCF NXTIBT -1
006849,000556:
006850,000557: # Page 176
006851,000558: # PROGRAM NAME: GLOCKMON
006852,000559:
006853,000560: # FUNCTIONAL DESCRIPTION: THIS PROGRAM MONITORS THE CDUZ COUNTER TO DETERMINE WHETHER THE ISS IS IN GIMBAL LOCK
006854,000561: # AND TAKES ACTION IF IT IS. THREE REGIONS OF MIDDLE GIMBAL ANGLE (MGA) ARE USED:
006855,000562:
006856,000563: # 1) ABS(MGA) LESS THAN OR EQUAL TO 70 DEGREES -- NORMAL MODE.
006857,000564: # 2) ABS(MGA) GREATER THAN 70 DEGREES AND LESS THAN OR EQUAL TO 85 DEGREES -- GIMBAL LOCK LAMP TURNED ON.
006858,000565: # 3) ABS(MGA) GREATER THAN 85 DEGREES -- ISS PUT IN COARSE ALIGN AND NO ATT LAMP TURNED ON.
006859,000566:
006860,000567: # CALLING SEQUENCE: EVERY 480 MILLISECONDS AFTER C33TEST.
006861,000568:
006862,000569: # JOBS OR TASKS INITIATED: NONE.
006863,000570:
006864,000571: # SUBROUTINES CALLED: 1) SETCOARS WHEN ABS(MGA) GREATER THEN 85 DEGREES AND ISS NOT IN COARSE ALIGN.
006865,000572: # 2) LAMPTEST BEFORE TURNING OFF GIMBAL LOCK LAMP.
006866,000573:
006867,000574: # ERASABLE INITIALIZATION:
006868,000575: # 1) FRESH START OR RESTART WITH NO GROUPS ACTIVE: C(CDUZ) = 0, IMODES30 BIT 6 = 0, IMODES33 BIT 1 = 0.
006869,000576: # 2) RESTART WTIH GROUPS ACTIVE: SAME AS FRESH START EXCEPT C(CDUZ) NOT CHANGED SO GIMBAL MONITOR
006870,000577: # PROCEEDS AS BEFORE.
006871,000578:
006872,000579: # ALARMS: 1) MGA REGION (2) CAUSES GIMBAL LOCK LAMP TO BE LIT.
006873,000580: # 2) MGA REGION (3) CAUSES THE ISS TO BE PUT IN COARSE ALIGN AND THE NO ATT LAMP TO BE LIT IF EITHER NOT
006874,000581: # SO ALREADY.
006875,000582:
006876,000583: 06,2434 10034 GLOCKMON CCS CDUZ
006877,000584: 06,2435 12441 TCF GLOCKCHK # SEE IF MAGNITUDE OF MGA IS GREATER THAN
006878,000585: 06,2436 12465 TCF SETGLOCK # 70 DEGREES.
006879,000586: 06,2437 12441 TCF GLOCKCHK
006880,000587: 06,2440 12465 TCF SETGLOCK
006881,000588:
006882,000589: 06,2441 62512 GLOCKCHK AD -70DEGS
006883,000590: 06,2442 00006 EXTEND
006884,000591: 06,2443 62464 BZMF SETGLOCK -1 # NO LOCK.
006885,000592:
006886,000593: 06,2444 62513 AD -15DEGS # SEE IF ABS(MGA) GREATER THAN 85 DEGREES
006887,000594: 06,2445 00006 EXTEND
006888,000595: 06,2446 62462 BZMF NOGIMRUN
006889,000596:
006890,000597: 06,2447 34750 CAF BIT4 # IF SO, SYSTEM SHOULD BE IN COARSE ALIGN
006891,000598: 06,2450 00006 EXTEND # TO PREVENT GIMBAL RUNAWAY.
006892,000599: 06,2451 02012 RAND CHAN12
006893,000600: 06,2452 10000 CCS A
006894,000601: 06,2453 12462 TCF NOGIMRUN
006895,000602:
006896,000603: 06,2454 04674 TC IBNKCALL
006897,000604: 06,2455 17135 CADR SETCOARS
006898,000605:
006899,000606: 06,2456 36245 CAF SIX # ENABLE ISS ERROR COUNTERS IN 60 MS.
006900,000607: 06,2457 05203 TC WAITLIST
006901,000608: # Page 177
006902,000609: 06,2460 E3,1474 EBANK= CDUIND
006903,000610: 06,2460 03131 16103 2CADR CA+ECE
006904,000611:
006905,000612: 06,2462 34746 NOGIMRUN CAF BIT6 # TURN ON GIMBAL LOCK LAMP.
006906,000613: 06,2463 12465 TCF SETGLOCK
006907,000614:
006908,000615: 06,2464 34755 -1 CAF ZERO
006909,000616: 06,2465 61035 SETGLOCK AD DSPTAB +11D # SEE IF PRESENT STATE OF GIMBAL LOCK LAMP
006910,000617: 06,2466 74746 MASK BIT6 # AGREES WITH DESIRED STATE BY HALF ADDING
006911,000618: 06,2467 00006 EXTEND # THE TWO.
006912,000619: 06,2470 15270 BZF GLOCKOK # OK AS IS.
006913,000620:
006914,000621: 06,2471 71035 MASK DSPTAB +11D # IF OFF, DON'T TURN ON IF IMU BEING CAGED.
006915,000622: 06,2472 10000 CCS A
006916,000623: 06,2473 12507 TCF GLAMPTST # TURN OFF UNLESS LAMP TEST IN PROGRESS.
006917,000624:
006918,000625: 06,2474 34746 CAF BIT6
006919,000626: 06,2475 71277 MASK IMODES30
006920,000627: 06,2476 10000 CCS A
006921,000628: 06,2477 15270 TCF GLOCKOK
006922,000629:
006923,000630: 06,2500 41035 GLINVERT CS DSPTAB +11D # INVERT GIMBAL LOCK LAMP.
006924,000631: 06,2501 74746 MASK BIT6
006925,000632: 06,2502 64735 AD BIT15 # TO INDICATE CHANGE IN DSPTAB +11D.
006926,000633: 06,2503 57035 XCH DSPTAB +11D
006927,000634: 06,2504 72162 MASK OCT37737
006928,000635: 06,2505 27035 ADS DSPTAB +11D
006929,000636: 06,2506 15270 TCF GLOCKOK
006930,000637:
006931,000638: 06,2507 02766 GLAMPTST TC LAMPTEST # TURN OFF UNLESS LAMP TEST IN PROGRESS.
006932,000639: 06,2510 15270 TCF GLOCKOK
006933,000640: 06,2511 12500 TCF GLINVERT
006934,000641:
006935,000642: 06,2512 63434 -70DEGS DEC -.38888 # -70 DEGREES SCALED IN HALF-REVOLUTIONS.
006936,000643: 06,2513 75252 -15DEGS DEC -.08333
006937,000644:
006938,000645: # Page 178
006939,000646: # PROGRAM NAME: TLIM.
006940,000647:
006941,000648: # FUNCTIONAL DESCRIPTION: THIS PROGRAM MAINTAINS THE TEMP LAMP (BIT 4 OF CHANNEL 11) ON THE DSKY TO AGREE WITH
006942,000649: # THE TEMP SIGNAL FROM THE ISS (BIT 15 OF CHANNEL 30). HOWEVER, THE LIGHT WILL NOT BE TURNED OFF IF A LAMP TEST
006943,000650: # IS IN PROGRESS.
006944,000651:
006945,000652: # CALLING SEQUENCE: CALLED BY IMUMON ON A CHANGE OF BIT 15 OF CHANNEL 30.
006946,000653:
006947,000654: # JOBS OR TASKS INITIATED: NON.
006948,000655:
006949,000656: # SUBROUTINES CALLED: LAMPTEST.
006950,000657:
006951,000658: # ERASABLE INITIALIZATION: FRESH START AND RESTART TURN THE TEMP LAMP OFF.
006952,000659:
006953,000660: # ALARMS: TEMP LAMP TURNED ON WHEN THE IMU TEMP GOES OUT OF LIMITS.
006954,000661:
006955,000662: # EXIT: NXTIFAIL.
006956,000663:
006957,000664: # OUTPUT: SERVICE OF TEMP LAMP. IN A, EXCEPT FOR TLIM.
006958,000665:
006959,000666: 06,2514 74733 TLIM MASK POSMAX # REMOVE BIT FROM WORD OF CHANGES AND SET
006960,000667: 06,2515 54071 TS RUPTREG2 # DSKY TEMP LAMP ACCORDINGLY.
006961,000668:
006962,000669: 06,2516 11277 CCS IMODES30
006963,000670: 06,2517 12525 TCF TEMPOK
006964,000671: 06,2520 12525 TCF TEMPOK
006965,000672:
006966,000673: 06,2521 34750 CAF BIT4 # TURN ON LAMP.
006967,000674: 06,2522 00006 EXTEND
006968,000675: 06,2523 05011 WOR DSALMOUT
006969,000676: 06,2524 12225 TCF NXTIFAIL
006970,000677:
006971,000678: 06,2525 02766 TEMPOK TC LAMPTEST # IF TEMP NOW OK, DON'T TURN OFF LAMP IF
006972,000679: 06,2526 12225 TCF NXTIFAIL # LAMP TEST IN PROGRESS.
006973,000680:
006974,000681: 06,2527 44750 CS BIT4
006975,000682: 06,2530 00006 EXTEND
006976,000683: 06,2531 03011 WAND DSALMOUT # TURN OFF LAMP
006977,000684: 06,2532 12225 TCF NXTIFAIL
006978,000685:
006979,000686: # Page 179
006980,000687: # PROGRAM NAME: ITURNON.
006981,000688:
006982,000689: # FUNCTIONAL DESCRIPTION: THIS PROGRAM IS CALLED BY IMUMON WHEN A CHANGE OF BIT 14 OF CHANNEL 30 (ISS TURN-ON
006983,000690: # REQUEST) IS DETECTED. UPON ENTRY, ITURNON CHECKS IF A TURN-ON DELAY SEQUENCE HAS FAILED, AND IF SO, IT EXITS.
006984,000691: # 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
006985,000692: # THAT TNONTEST WILL INITIATE THE ISS INITIALIZATION SEQUENCE. IF OFF, THE TURN-ON DELAY SIGNAL, CHANNEL 12 BIT
006986,000693: # 15, IS CHECKED AND IF IT IS ON, ITURNON EXITS. IF THE DEALY SIGNAL IS OFF, PROGRAM ALARM 00207 IS ISSUED, BIT 2
006987,000694: # OF IMODES30 IS SET TO 1 AND THE PROGRAM EXITS.
006988,000695:
006989,000696: # THE SETTING OF BIT 2 OF IMODES30 (ISS DELAY SEQUENCE FAIL) INHIBITS THIS ROUTINE AND IMUOP FROM
006990,000697: # PROCESSING ANY CHANGES. THIS BIT WILL BE RESET BY THE ENDTNON ROUTINE WHEN THE CURRENT 90 SECOND DELAY PERIOD
006991,000698: # ENDS.
006992,000699:
006993,000700: # CALLING SEQUENCE: FROM IMUMON WHEN ISS TURN-ON REQUEST CHANGES STATE.
006994,000701:
006995,000702: # JOBS OR TASKS INITITIATED: NONE.
006996,000703:
006997,000704: # SUBROUTINES CALLED: ALARM, IF THE ISS TURN-ON REQUEST IS NOT PRESENT FOR 90 SECONDS.
006998,000705:
006999,000706: # ERASABLE INITIALIZATION: FRESH START AND RESTART SET BIT 15 OF CHANNEL 12 AND BITS 2 AND 7 OF IMODES30 TO 0,
007000,000707: # AND BIT 14 OF IMODES30 TO 1.
007001,000708:
007002,000709: # ALARMS: PROGRAM ALARM 00207 IS ISSUED IF THE ISS TURN-ON REQUEST SIGNAL IS NOT PRESENT FOR 90 SECONDS.
007003,000710:
007004,000711: # EXIT: NXTIFAIL.
007005,000712:
007006,000713: # OUTPUT: BIT 7 OF IMODES30 TO START ISS INITIALIZATION, OR BIT 2 OF IMODES30 AND PROGRAM ALARM 00207 TO INDICATE
007007,000714: # A FAILED TURN-ON SEQUENCE.
007008,000715:
007009,000716: 06,2533 34752 ITURNON CAF BIT2 # IF DELAY REQUEST HAS GONE OFF
007010,000717: 06,2534 71277 MASK IMODES30 # PREMATURELY, DO NOT PROCESS ANY CHANGES
007011,000718: 06,2535 10000 CCS A # UNTIL THE CURRENT 90 SEC WAIT EXPIRES.
007012,000719: 06,2536 12225 TCF NXTIFAIL
007013,000720:
007014,000721: 06,2537 34736 CAF BIT14 # SEE IF JUST ON OR OFF.
007015,000722: 06,2540 71277 MASK IMODES30
007016,000723: 06,2541 00006 EXTEND
007017,000724: 06,2542 12556 BZF ITURNON2 # IF JUST ON.
007018,000725:
007019,000726: 06,2543 34735 CAF BIT15
007020,000727: 06,2544 00006 EXTEND # SEE IF DELAY PRESENT DISCRETE HAS BEEN
007021,000728: 06,2545 02012 RAND CHAN12 # SENT. IF SO, ACTION COMPLETE
007022,000729: 06,2546 00006 EXTEND
007023,000730: 06,2547 12551 BZF +2
007024,000731: 06,2550 12225 TCF NXTIFAIL
007025,000732:
007026,000733: 06,2551 34752 CAF BIT2 # IF NOT, SET BIT TO INDICATE REQUEST NOT
007027,000734: 06,2552 27277 ADS IMODES30 # PRESENT FOR FULL DURATION.
007028,000735: 06,2553 05567 TC ALARM
007029,000736: 06,2554 00207 OCT 207
007030,000737: 06,2555 12225 TCF NXTIFAIL
007031,000738:
007032,000739: # Page 180
007033,000740: 06,2556 41277 ITURNON2 CS IMODES30 # SET BIT7 TO INDICATE WAIT OF 1 SAMPLE
007034,000741: 06,2557 74745 MASK BIT7
007035,000742: 06,2560 27277 ADS IMODES30
007036,000743: 06,2561 32564 CAF RRINIT
007037,000744: 06,2562 54110 TS RADMODES
007038,000745: 06,2563 12225 TCF NXTIFAIL
007039,000746:
007040,000747: 06,2564 00102 RRINIT OCT 00102
007041,000748:
007042,000749: # Page 181
007043,000750: # PROGRAM NAME: IMUCAGE.
007044,000751:
007045,000752: # FUNCTIONAL DESCRIPTION: THIS PROGRAM PROCESSES CHANGES OF THE IMUCAGE INBIT, CHANNEL 30 BITS 11. IF THE BIT
007046,000753: # CHANGES TO 0 (CAGE BUTTON PRESSED), THE ISS IS CAGED (ICDU ZERO + COARSE ALIGN + NO ATT LAMP) UNTIL THE
007047,000754: # ASTRONAUT SELECTS ANOTHER PROGRAM TO ALIGN THE ISS. ANY PULSE TRAINS TO THE ICDU'S AND GYRO'S ARE TERMINATED,
007048,000755: # THE ASSOCIATE OUTCOUNTERS ARE ZEROED AND THE GYRO'S ARE DE-SELECTED. NO ACTION OCCURS WHEN THE BUTTON IS
007049,000756: # RELEASED (INBIT CHANGES TO 1).
007050,000757:
007051,000758: # CALLING SEQUENCE: BY IMUMON WHEN IMU CAGE BIT CHANGES.
007052,000759:
007053,000760: # JOBS OR TASKS INITIATED: NONE.
007054,000761:
007055,000762: # SUBROUTINES CALLED: CAGESUB.
007056,000763:
007057,000764: # ERASABLE INITIALZATION: FRESH START AND RESTART SET BIT 11 OF IMODES30 TO 1.
007058,000765:
007059,000766: # ALARMS: NONE.
007060,000767:
007061,000768: # EXIT: NXTIFAIL.
007062,000769:
007063,000770: # OUTPUT: ISS CAGED, COUNTERS ZEROED, PULSE TRAINS TERMINATED AND NO ATT LAMP LIT.
007064,000771:
007065,000772: 06,2565 10000 IMUCAGE CCS A # NO ACTION OF GOING OFF.
007066,000773: 06,2566 12361 TCF ISSZERO
007067,000774: 06,2567 43002 CS OCT77000 # TERMINATE ICDU, RCDU, GYRO PULSE TRAINS
007068,000775: 06,2570 00006 EXTEND
007069,000776: 06,2571 03014 WAND CHAN14
007070,000777:
007071,000778: 06,2572 42776 CS OCT272 # KNOCK DOWN DISPLAY INERTIAL DATA, IMU
007072,000779: 06,2573 00006 EXTEND # ERROR COUNTER ENABLE, ZERO ICDU, COARSE
007073,000780: 06,2574 03012 WAND CHAN12 # ALIGN ENABLE, RR ERROR COUNTER ENABLE.
007074,000781:
007075,000782: 06,2575 44745 CS ENGONBIT # INSURE ENGONFLG IS CLEAR.
007076,000783: 06,2576 70101 MASK FLAGWRD5
007077,000784: 06,2577 54101 TS FLAGWRD5
007078,000785: 06,2600 44355 CS PRIO30 # TURN ENGINE OFF.
007079,000786: 06,2601 00006 EXTEND
007080,000787: 06,2602 02011 RAND DSALMOUT
007081,000788: 06,2603 64736 AD BIT14
007082,000789: 06,2604 00006 EXTEND
007083,000790: 06,2605 01011 WRITE DSALMOUT # FORCE BIT14=1, BIT13=0.
007084,000791:
007085,000792: 06,2606 02743 TC CAGESUB1
007086,000793:
007087,000794: 06,2607 04674 TC IBNKCALL # KNOCK DOWN TRACK, REFSMMAT, DRIFT FLAGS
007088,000795: 06,2610 17166 CADR RNDREFDR
007089,000796:
007090,000797: 06,2611 44755 CS ZERO
007091,000798: 06,2612 54050 TS CDUXCMD
007092,000799: 06,2613 54051 TS CDUYCMD
007093,000800: # Page 182
007094,000801: 06,2614 54052 TS CDUZCMD
007095,000802: 06,2615 54047 TS GYROCMD
007096,000803:
007097,000804: 06,2616 43001 CS OCT740 # HAVING WAITED AT LEAST 27 MCT FROM
007098,000805: 06,2617 00006 EXTEND # GYRO PULSE TRAIN TERMINATION, WE CAN
007099,000806: 06,2620 03014 WAND CHAN14 # D-SELECT THE GYROS.
007100,000807: 06,2621 12225 TCF NXTIFAIL
007101,000808:
007102,000809: # Page 183
007103,000810: # PROGRAM NAME: IMUOP.
007104,000811:
007105,000812: # FUNCTIONAL DESCRIPTION: THIS PROGRAM PROCESSES CHANGES IN TEH ISS OPERATE DISCRETE, BIT 9 OF CHANNEL 30.
007106,000813: # IF THE INBIT CHANGES TO 0, INDICATING ISS ON, IMUOP GENERALLY SETS BIT 7 OF IMODES30 TO 1 TO REQUEST ISS
007107,000814: # INITIALIZATION VIA TNONTEST. AN EXCEPTION IS DURING A FAILED ISS DELAY DURING WHICH BIT 2 OF IMODES30 IS SET
007108,000815: # TO 1 AND NO FURTHER INITIALIZATION IS REQUIRED. WHEN THE INBIT CHANGES TO 1, INDICATING ISS OFF, IMUSEFLG IS
007109,000816: # TESTED TO SEE IF ANY PROGRAM WAS USING THE ISS. IF SO, PROGRAM ALARM 00214 IS ISSUED.
007110,000817:
007111,000818: # CALLING SEQUENCE: BY IMUMON WHEN BIT 9 OF CHANNEL 30 CHANGES.
007112,000819:
007113,000820: # JOBS OR TAKS INITIATED: NONE.
007114,000821: #
007115,000822: # SUBROUTINES CALLED: ALARM, IF ISS IS TURNED OFF WHILE IN USE.
007116,000823:
007117,000824: # ERASABLE INITIALIZATION: ON FRESH START AND RESTART, BIT 9 OF IMODES30 IS SET TO 1 EXCEPT WHEN THE GIMBAL LOCK
007118,000825: # LAMP IS ON, IN WHICH CASE IT IS SET TO 0. THIS PREVENTS ICDU ZERO BY TNONTEST WITH THE ISS IN GIMBAL LOCK.
007119,000826:
007120,000827: # ALARMS: PROGRAM ALARM 00214 IF THE ISS IS TURNED OFF WHILE IN USE.
007121,000828:
007122,000829: # EXIT: NXTIFAIL.
007123,000830:
007124,000831: # OUTPUT: ISS INITIALIZATION REQUEST (IMODES30 BIT 7) OR PROGRAM ALARM 00214.
007125,000832:
007126,000833: 06,2622 00006 IMUOP EXTEND
007127,000834: 06,2623 12643 BZF IMUOP2
007128,000835:
007129,000836: 06,2624 41300 CS IMODES33 # DISABLE DAP
007130,000837: 06,2625 74746 MASK BIT6
007131,000838: 06,2626 27300 ADS IMODES33
007132,000839:
007133,000840: 06,2627 04674 TC IBNKCALL # KNOCK DOWN TRACK, REFSMMAT, DRIFT FLAGS
007134,000841: 06,2630 17166 CADR RNDREFDR
007135,000842:
007136,000843: 06,2631 42777 CS BITS7&8 # KNOCK DOWN RENDEZVOUS, IMUUSE FLAGS
007137,000844: 06,2632 70074 MASK FLAGWRD0
007138,000845: 06,2633 56074 XCH FLAGWRD0 # IF GOING OFF, ALARM IF PROG USING IMU.
007139,000846: 06,2634 40000 COM
007140,000847: 06,2635 74744 MASK IMUSEFLG
007141,000848: 06,2636 10000 CCS A
007142,000849: 06,2637 12225 TCF NXTIFAIL
007143,000850:
007144,000851: 06,2640 05567 TC ALARM
007145,000852: 06,2641 00214 OCT 214
007146,000853: 06,2642 12225 TCF NXTIFAIL
007147,000854:
007148,000855: 06,2643 34752 IMUOP2 CAF BIT2 # SEE IF FAILED ISS TURN-ON SEQ IN PROG.
007149,000856: 06,2644 71277 MASK IMODES30
007150,000857: 06,2645 10000 CCS A
007151,000858: 06,2646 12225 TCF NXTIFAIL # IF SO, DON'T PROCESS UNTIL PRESENT 90
007152,000859: 06,2647 12556 TCF ITURNON2 # SECONDS EXPIRES
007153,000860:
007154,000861: # Page 184
007155,000862: # PROGRAM NAME: PIPFAIL
007156,000863:
007157,000864: # FUNCITONAL DESCRIPTION: THIS PROGRAM PROCESSES CHANGES OF BIT 13 OF CHANNEL 33, PIPA FAIL. IT SETS BIT 10 OF
007158,000865: # IMODES30 TO AGREE. IT CALLS SETISSW IN CASE A PIPA FAIL NECESSITATES AN ISS WARNING. IF NOT, I.E., MODES30
007159,000866: # BIT 1 = 1, AND A PIPA FAIL IS PRESENT AND THE ISS NOT BEING INITIALIZED, PROGRAM ALARM 0212 IS ISSUED.
007160,000867:
007161,000868: # CALLING SEQUENCE: BY C33TEST ON CHANGES OF CHANNEL 33 BIT 13.
007162,000869:
007163,000870: # JOBS OR TASKS INITIATED: NONE.
007164,000871:
007165,000872: # SUBROUTINES CALLED: 1) SETISSW, AND 2) ALARM (SEE FUNCITONAL DESCRIPTION).
007166,000873:
007167,000874: # ERASABLE INITIALZIZATION: SEE IMUMON FOR INITIALIZATION OF IMODES30. THE RELEVANT BITS ARE 5, 7, 8, 9, AND 10.
007168,000875:
007169,000876: # ALARMS: PROGRAM ALARM 00212 IF PIPA FAIL IS PRESENT BUT NEITHER ISS WARNING IS TO BE ISSUED NOR THE ISS IS
007170,000877: # BEING INITIALIZED.
007171,000878:
007172,000879: # EXIT: NXTFL33.
007173,000880:
007174,000881: # OUTPUT: PROGRAM ALARM 00212 AND ISS WARNING MAINTENANCE.
007175,000882:
007176,000883: 06,2650 10000 PIPFAIL CCS A # SET BIT10 IN IMODES30 SO ALL ISS WARNING
007177,000884: 06,2651 34742 CAF BIT10 # INFO IS IN ONE REGISTER.
007178,000885: 06,2652 57277 XCH IMODES30
007179,000886: 06,2653 73004 MASK -BIT10
007180,000887: 06,2654 27277 ADS IMODES30
007181,000888:
007182,000889: 06,2655 02703 TC SETISSW
007183,000890:
007184,000891: 06,2656 41277 CS IMODES30 # IF PIP FAIL DOESN'T LIGHT TEST WARNING, DO
007185,000892: 06,2657 74753 MASK BIT1 # A PROGRAM ALARM IF IMU OPERATING BUT NOT
007186,000893: 06,2660 10000 CCS A # CAGED OR BEING TURNED ON.
007187,000894: 06,2661 12432 TCF NXTFL33
007188,000895:
007189,000896: 06,2662 31277 CA IMODES30
007190,000897: 06,2663 73000 MASK OCT1720
007191,000898: 06,2664 10000 CCS A
007192,000899: 06,2665 12432 TCF NXTFL33 # ABOVE CONDITION NOT MET.
007193,000900:
007194,000901: 06,2666 05567 TC ALARM
007195,000902: 06,2667 00212 OCT 212
007196,000903: 06,2670 12432 TCF NXTFL33
007197,000904:
007198,000905: # Page 185
007199,000906: # PROGRAM NAMES: DNTMFAST, UPTMFAST
007200,000907:
007201,000908: # FUNCTIONAL DESCRIPTION: THESE PROGRAMS PROCESS CHANGES OF BITS 12 AND 11 OF CHANNEL 33. IF A BIT CHANGES TO A
007202,000909: # 0, A PROGRAM ALARM IS ISSUED. THE LAARMS ARE:
007203,000910:
007204,000911: # BIT ALARM CAUSE
007205,000912: # --- ----- -----
007206,000913: # 12 01105 DOWNLINK TOO FAST
007207,000914: # 11 01106 UPLINK TOO FAST
007208,000915:
007209,000916: # CALLING SEQUENCE: BY C33TEST ON A BIT CHANGE.
007210,000917:
007211,000918: # SUBROUTINES CALLED: ALARM, IF A BIT CHANGES TO A 0.
007212,000919:
007213,000920: # ERASABLE INITIALIZATION: FRESH START OR RESTART, BITS 12 AND 11 OF IMODES33 ARE SET TO 1.
007214,000921:
007215,000922: # ALARMS: SET FUNCTGIONAL DESCRIPTION.
007216,000923:
007217,000924: # EXIT: NXTFL33.
007218,000925:
007219,000926: # OUTPUT: PROGRAM ALARM ON A BIT CHANGE TO 0.
007220,000927:
007221,000928: 06,2671 10000 DNTMFAST CCS A # DO PROG ALARM IF TM TOO FAST.
007222,000929: 06,2672 12432 TCF NXTFL33
007223,000930:
007224,000931: 06,2673 05567 TC ALARM
007225,000932: 06,2674 01105 OCT 1105
007226,000933: 06,2675 12432 TCF NXTFL33
007227,000934:
007228,000935: 06,2676 10000 UPTMFAST CCS A # SAME AS DNLINK TOO FAST WITH DIFFERENT
007229,000936: 06,2677 12432 TCF NXTFL33 # ALARM CODE.
007230,000937:
007231,000938: 06,2700 05567 TC ALARM
007232,000939: 06,2701 01106 OCT 1106
007233,000940: 06,2702 12432 TCF NXTFL33
007234,000941:
007235,000942: # Page 186
007236,000943: # PROGRAM NAME: SETISSW
007237,000944:
007238,000945: # FUNCTIONAL DESCRIPTION: THIS PROGRAM TURNS THE ISS WARNING LAMP ON AND OFF (CHANNEL 11 BIT 1 = 1 FOR ON,
007239,000946: # 0 FOR OFF) DEPENDING ON THE STATUS OF IMODES30 BITS 13 (IMU FAIL) AND 4 (INHIBIT IMU FAIL), 12 (ICDU FAIL) AND
007240,000947: # 3 (INHIBIT ICDU FAIL), AND 10 (PIPA FAIL) AND 1 (INHIBIT PIPA FAIL). THE LAMP IS LEFT ON IF A LAMP TEST IS IN
007241,000948: # PROGRESS.
007242,000949:
007243,000950: # CALLING SEQUENCE: CALLED BY IMUMON ON CHANGES TO IMU FAIL AND ICDU FAIL. CALLED BY IFAILCK AND PFAILOK UPON
007244,000951: # REMOVAL OF THE FAIL INHIBITS. CALLED BY PIPFAIL WHEN THE PIPA FAIL DISCRETE CHANGES. IT IS CALLED BY PIPUSE
007245,000952: # SINCE THE PIPA FAIL PROGRAM ALARM MAY NECESSITATE AN ISS WARNING, AND LIKEWISE BY PIPFREE WHEN THE ALARM DEPARTS
007246,000953: # AND IT IS CALLED BY IMUZERO3 AND ISSUP AFTER THE FAIL INHIBITS HAVE BEEN REMOVED.
007247,000954:
007248,000955: # JOBS OR TASKS INITIAZTED: NONE.
007249,000956:
007250,000957: # SUBROUTINES CALLED: NONE.
007251,000958:
007252,000959: # ERASABLE INITIALIZATION:
007253,000960:
007254,000961: # 1) IMODES30 -- SEE IMUMON.
007255,000962: # 2) IMODES33 BIT 1 = 0 (LAMP TEST NOT IN PROGRESS).
007256,000963:
007257,000964: # ALARMS: ISS WARNING.
007258,000965:
007259,000966: # THE FOLLOWING PROGRAM ALARMS WILL SHOW WHICH FAILURE CAUSED THE ISS WARN
007260,000967: # PROGRAM ALARM 00777 PIPA FAIL
007261,000968: # PROGRAM ALARM 03777 ICDU FAIL
007262,000969: # PROGRAM ALARM 04777 ICDU, PIPA FAILS
007263,000970: # PROGRAM ALARM 07777 IMU FAIL
007264,000971: # PROGRAM ALARM 10777 IMU, PIPA FAILS
007265,000972: # PROGRAM ALARM 13777 IMU, ICDU FAILS
007266,000973: # PROGRAM ALARM 14777 IMU, ICDU, PIPA FAILS
007267,000974:
007268,000975: # EXIT: VIA Q.
007269,000976:
007270,000977: # OUTPUT: ISS WARNING LAMP SET PROPERLY.
007271,000978:
007272,000979: 06,2703 34761 SETISSW CAF OCT15 # SET ISS WARNING USING THE FAIL BITS IN
007273,000980: 06,2704 71277 MASK IMODES30 # BITS 13, 12, AND 10 OF IMODES30 AND THE
007274,000981: 06,2705 00006 EXTEND # FAILURE INHIBIT BITS IN POSITIONS
007275,000982: 06,2706 74742 MP BIT10 # 4, 3, AND 1.
007276,000983: 06,2707 31277 CA IMODES30
007277,000984: 06,2710 00006 EXTEND
007278,000985: 06,2711 04001 ROR LCHAN # 0 INDICATES FAILURE
007279,000986: 06,2712 40000 COM
007280,000987: 06,2713 75025 MASK OCT15000
007281,000988: 06,2714 10000 CCS A
007282,000989: 06,2715 12726 TCF ISSWON # FAILURE.
007283,000990:
007284,000991: 06,2716 34753 ISSWOFF CAF BIT1 # DON'T TURN OFF ISS WARNING IF LAMP TEST
007285,000992: 06,2717 71300 MASK IMODES33 # IN PROGRESS.
007286,000993: # Page 187
007287,000994: 06,2720 10000 CCS A
007288,000995: 06,2721 00002 TC Q
007289,000996:
007290,000997: 06,2722 44753 CS BIT1
007291,000998: 06,2723 00006 EXTEND
007292,000999: 06,2724 03011 WAND DSALMOUT
007293,001000: 06,2725 00002 TC Q
007294,001001:
007295,001002: 06,2726 00006 ISSWON EXTEND
007296,001003: 06,2727 22066 QXCH ITEMP6
007297,001004: 06,2730 05734 TC VARALARM # TELL EVERYONE WHAT CAUSED THE ISS WARNING
007298,001005: 06,2731 34753 CAF BIT1
007299,001006: 06,2732 00006 EXTEND
007300,001007: 06,2733 05011 WOR DSALMOUT
007301,001008: 06,2734 00066 TC ITEMP6
007302,001009:
007303,001010: 06,2735 43003 CAGESUB CS BITS6&15 # SET OUTBITS AND INTERNAL FLAGS FOR
007304,001011: 06,2736 00006 EXTEND # SYSTEM TURN-ON OR CAGE. DISABLE THE
007305,001012: 06,2737 03012 WAND CHAN12 # ERROR COUNTER AND REMOVE THE IMU DELAY COMP.
007306,001013: 06,2740 34763 CAF BITS4&5 # SEND ZERO AND COARSE.
007307,001014: 06,2741 00006 EXTEND
007308,001015: 06,2742 05012 WOR CHAN12
007309,001016:
007310,001017: 06,2743 41035 CAGESUB1 CS DSPTAB +11D # TURN ON NO ATT LAMP
007311,001018: 06,2744 72773 MASK OC40010
007312,001019: 06,2745 27035 ADS DSPTAB +11D
007313,001020:
007314,001021: 06,2746 41277 CAGESUB2 CS IMODES30 # SET FLAGS TO INDICATE CAGING OR TURN-ON
007315,001022: 06,2747 72775 MASK OCT75 # AND INHIBIT ALL ISS WARNING INFO
007316,001023: 06,2750 27277 ADS IMODES30
007317,001024:
007318,001025: 06,2751 41300 CS IMODES33 # DISABLE DAP AUTO AND HOLD MODES
007319,001026: 06,2752 74746 MASK BIT6
007320,001027: 06,2753 27300 ADS IMODES33
007321,001028:
007322,001029: 06,2754 00002 TC Q
007323,001030:
007324,001031: 06,2755 06,2703 IMUFAIL EQUALS SETISSW
007325,001032: 06,2755 06,2703 ICDUFAIL EQUALS SETISSW
007326,001033:
007327,001034: # Page 188
007328,001035: # JUMP TABLES AND CONSTANTS.
007329,001036:
007330,001037: 06,2755 12533 IFAILJMP TCF ITURNON # CHANNEL 30 DISPATCH.
007331,001038: 06,2756 12703 TCF IMUFAIL
007332,001039: 06,2757 12703 TCF ICDUFAIL
007333,001040: 06,2760 12565 TCF IMUCAGE
007334,001041: 06,2761 76400 30RDMSK OCT 76400 # (BIT 10 NOT SAMPLED HERE).
007335,001042: 06,2762 12622 TCF IMUOP
007336,001043:
007337,001044: 06,2763 12650 C33JMP TCF PIPFAIL # CHANNEL 33 DISPATCH.
007338,001045: 06,2764 12671 TCF DNTMFAST
007339,001046: 06,2765 12676 TCF UPTMFAST
007340,001047:
007341,001048: # SUBROUTINE TO SKIP IF LAMP TEST NOT IN PROGRESS.
007342,001049:
007343,001050: 06,2766 41300 LAMPTEST CS IMODES33 # BIT 1 OF IMODES33 = 1 IF LAMP TEST IN
007344,001051: 06,2767 74753 MASK BIT1 # PROGRESS.
007345,001052: 06,2770 10000 CCS A
007346,001053: 06,2771 24002 INCR Q
007347,001054: 06,2772 00002 TC Q
007348,001055:
007349,001056: 06,2773 5026 33RDMSK EQUALS PRIO16
007350,001057: 06,2773 40010 OC40010 OCT 40010
007351,001058: 06,2774 00054 OCT54 OCT 54
007352,001059: 06,2775 00075 OCT75 OCT 75
007353,001060: 06,2776 00272 OCT272 OCT 00272
007354,001061: 06,2777 00300 BITS7&8 OCT 300
007355,001062: 06,3000 01720 OCT1720 OCT 1720
007356,001063: 06,3001 00740 OCT740 OCT 00740
007357,001064: 06,3002 5025 OCT15000 EQUALS PRIO15
007358,001065: 06,3002 77000 OCT77000 OCT 77000
007359,001066: 06,3003 40040 BITS6&15 OCT 40040
007360,001067: 06,3004 76777 -BIT10 OCT -1000
007361,001068:
007362,001069: 06,3005 21450 90SECS DEC 9000 B-14
007363,001070: 06,3006 5741 120MS = OCT14 # (DEC12)
007364,001071: 06,3006 5270 GLOCKOK EQUALS RESUME
007365,001072:
007366,001073: # Page 189
007367,001074: # PROGRAM NAME: RRAUTCHK
007368,001075:
007369,001076: # FUNCITONAL DESCRIPTION:
007370,001077: # RRAUTCHK IS THE RENDEZFOUS RADAR INBIT MONITOR. INITIALLY THE RR
007371,001078: # POWER ON AUTO (CHAN 33 BIT 2) INBIT IS CHECKED. IF NO CHANGE, THE
007372,001079: # PROGRAM EXITS TO RRCDUCHK. IF A CHANGE, RADMOES IS UPDATED
007373,001080: # AND A CHECK MADE IF RR POWER HAS JUST COME ON. IF JUST OFF, A CHECK
007374,001081: # IS MAKDE TO SEE IF A PROGRAM WAS USING THE RR (STATE BIT 7). IF NO,
007375,001082: # THE PROGRAM EXITS TO RRCDUCHK. IF YES, PROGRAM ALARM 00514
007376,001083: # IS REQUESTED BEFORE EXITING TO RRCDUCHK. IF RR POWER HAS JUST COME
007377,001084: # ON, A CHECK IS MADE TO SEE IF A PROGRAM WAS USING THE RR (STATE BIT 7)
007378,001085: # SEQUENCE. IF NO, RADMODES IS UPDATED TO INDICATE RR CDU ZERO AND
007379,001086: # RR TURN-ON SEQUENCE (BITS 13, 1). A 10 MILLISECOND WAITLIST CALL
007380,001087: # IS THEN SET FOR RRTURNON BEFORE THE PROGRAM EXITS TO NORRGMON.
007381,001088:
007382,001089: # CALLING SEQUENCE:
007383,001090: # T4RUPT EVERY 480 MILLISECONDS
007384,001091:
007385,001092: # ERASABLE INITIALIZATION REQUIRED:
007386,001093: # RADMODES, STATE.
007387,001094:
007388,001095: # SUBROUTINES CALLED:
007389,001096: # WAITLIST.
007390,001097:
007391,001098: # JOBS OR TASKS INITIATED:
007392,001099: # RRTURNON
007393,001100:
007394,001101: # ALARMS: PROGRAM ALARM 00514 -- RADAR GOES OUT OF AUTO MODE WHILE BEING
007395,001102: # USED.
007396,001103:
007397,001104: # EXIT: RRCDUCHK, NORRGMON
007398,001105:
007399,001106: 06,3006 30110 RRAUTCHK CA RADMODES # SEE IF CHANGE IN RR AUTO MODE BIT.
007400,001107: 06,3007 00006 EXTEND
007401,001108: 06,3010 06033 RXOR CHAN33
007402,001109: 06,3011 74752 MASK AUTOMBIT
007403,001110: 06,3012 00006 EXTEND
007404,001111: 06,3013 13037 BZF RRCDUCHK
007405,001112:
007406,001113: 06,3014 22110 LXCH RADMODES # UPDATE RADMODES.
007407,001114: 06,3015 00006 EXTEND
007408,001115: 06,3016 06001 RXOR LCHAN
007409,001116: 06,3017 73033 MASK OCT05776 # CLR CONT. DES., REMODE, REPOS, CDUZERO,
007410,001117: 06,3020 54110 TS RADMODES # AND TURNON BITS.
007411,001118: 06,3021 74752 MASK BIT2 # SEE IF JUST ON.
007412,001119: 06,3022 10000 CCS A
007413,001120: 06,3023 13034 TCF RRCDUCHK -3 # OFF. GO DISABLE RR CDU ERROR COUNTERS.
007414,001121: 06,3024 37666 CA OCT10001 # SET RRCDUZRO AND TURNON BITS.
007415,001122: 06,3025 26110 ADS RADMODES
007416,001123:
007417,001124: 06,3026 34753 CAF ONE
007418,001125: 06,3027 05203 TC WAITLIST
007419,001126: 06,3030 E7,1456 EBANK= LOSCOUNT
007420,001127: 06,3030 02073 52107 2CADR RRTURNON
007421,001128:
007422,001129: 06,3032 13126 TCF NORRGMON
007423,001130:
007424,001131: 06,3033 05776 OCT05776 OCT 5776
007425,001132:
007426,001133: # Page 191
007427,001134: # PROGRAM NAME: RRCDUCHK
007428,001135:
007429,001136: # FUNCTIONAL DESCRIPTION:
007430,001137: # RRCDUCHK CHECKS FOR RR CDU FAIL (CHAN 30 BIT 7). INITIALLY THE
007431,001138: # RR CDU FAIL BIT IS SAMPLED (CHAN 30 BIT 7). IF NO CHANGE, THE
007432,001139: # PROGRAM EXITS TO RRGIMON. IF A CHANGE, THE RR AUTO MODE
007433,001140: # (RADMODES BIT 2) BIT IS CHECKED. IF NOT IN RR AUTO MODE, THE
007434,001141: # PROGRAM EXITS TO NORRGMO0N. IF IN AUTO MODE, RADMODES BIT 7
007435,001142: # (RR CDU OK) IS UPDATED AND IF P-20 IS OPERATING PROGRAM ALARM 00515 IS
007436,001143: # REQUESTED. CONTROL IS TRANSFERRED TO SETTRKF TO UPDATE
007437,001144: # TEH TRACKER FAIL LAMP (DSPTAB+11D BIT 8). CONTROL RETURNS TO
007438,001145: # RRGIMON.
007439,001146:
007440,001147: # CALLING SEQUENCE:
007441,001148: # EVERY 480 MILLISECONDS FROM RRAUTCHK (VI T4RUPT) UNLESS A
007442,001149: # TURN-ON SEQUENCE HAS JUST BE INITIATED.
007443,001150:
007444,001151: # ERASABLE INITIALIZATION REQUIRED:
007445,001152: # RADMODES
007446,001153:
007447,001154: # SUBROUTINES CALLED:
007448,001155: # SETTRKF
007449,001156:
007450,001157: # JOBS OR TASKS INITIATED:
007451,001158: # NONE
007452,001159:
007453,001160: # ALARMS:
007454,001161: # TRACKER FAIL
007455,001162: # PROGRAM ALARM 00515 -- RRCDU FAIL DURING P-20
007456,001163:
007457,001164: # EXIT:
007458,001165: # RRGIMON, NORRGMON
007459,001166:
007460,001167: 06,3034 44752 -3 CS BIT2
007461,001168: 06,3035 00006 EXTEND
007462,001169: 06,3036 03012 WAND CHAN12 # AT TURNON, DISABLE CDU ERROR COUNTERS.
007463,001170:
007464,001171: 06,3037 30110 RRCDUCHK CA RADMODES # LAST SAMPLED BIT IN RADMODES.
007465,001172: 06,3040 00006 EXTEND
007466,001173: 06,3041 06030 RXOR CHAN30
007467,001174: 06,3042 74745 MASK RCDUFBIT
007468,001175: 06,3043 00006 EXTEND
007469,001176: 06,3044 13071 BZF RRGIMON
007470,001177:
007471,001178: 06,3045 34752 CAF AUTOMBIT # IF RR NOT IN AUTO MODE, DON'T CHANGE BIT
007472,001179: 06,3046 70110 MASK RADMODES # 7 OF RADMODES. IF THIS WERE NOT DONE,
007473,001180: 06,3047 10000 CCS A # THE TRACKER FAIL MIGHT COME ON WHEN
007474,001181: 06,3050 13126 TCF NORRGMON # JUST READING LR DATA.
007475,001182:
007476,001183: 06,3051 34745 CAF RCDUFBIT # SET BIT 7 OF RADMODES FOR SETTRKF.
007477,001184: # Page 192
007478,001185: 06,3052 22110 LXCH RADMODES # UPDATE RADMODES.
007479,001186: 06,3053 00006 EXTEND
007480,001187: 06,3054 06001 RXOR L
007481,001188: 06,3055 54110 TS RADMODES
007482,001189:
007483,001190: 06,3056 30110 CA RADMODES # DID RR CDU FAIL
007484,001191: 06,3057 74615 MASK 13,7,2 # CDU ZERO+ CDUFAIL+ RR AUTO
007485,001192: 06,3060 10000 CCS A
007486,001193: 06,3061 13070 TCF TRKFLCDU # NO
007487,001194: 06,3062 40074 CS FLAGWRD0 # RNDVFLG P20 OR P22 OPERATING
007488,001195: 06,3063 74745 MASK RNDVZBIT
007489,001196: 06,3064 10000 CCS A
007490,001197: 06,3065 13070 TCF TRKFLCDU # NO
007491,001198: 06,3066 05567 TC ALARM # YES
007492,001199: 06,3067 00515 OCT 00515
007493,001200: 06,3070 04564 TRKFLCDU TC SETTRKF # UPDATE TRAKER FAIL LAMP ON DSKY.
007494,001201:
007495,001202: # Page 193
007496,001203: # PROGRAM NAME: RRGIMON
007497,001204:
007498,001205: # FUNCTIONAL DESCRIPTION:
007499,001206: # RRGIMON IS THE RR GIMBAL LIMIT MONITOR. INITIALLY THE FOLLOWING IS
007500,001207: # CHECKED: REMOD, RR CDU'S BEING ZEROED, REPOSITION, AND RR
007501,001208: # NOT IN AUTO MODE (RADMODES BITS 14, 13, 11, 2). IF ANY OF THESE
007502,001209: # EXIST THE PROGRAM EXITS TO GPMATRIX. IF NONT ARE PRESENT RRLIMCHK
007503,001210: # IS CALLED TO SEE IF THE PRESENT RR CDU ANGLES (OPTY, OPTX) ARE WITHIN
007504,001211: # THE LIMITS OF THE CURRENT MODE. IF WITHIN LIMITS, THE PROGRAM EXITS
007505,001212: # TO NORRGMON. IF NOT WITHIN LIMITS, THE REPOSITION FLAG (RADMODES
007506,001213: # BIT 11) IS SET, THE RR AUTO TRACKER AND RR ERROR COUNTER
007507,001214: # (CHAN 12 BITS 14, 2) ARE DISABLED, AND A 20 MILLISECOND WAITLIST
007508,001215: # CALL IS SET FOR DORREPOS (garbled) AFTER WHICH THE PROGRAM EXITS TO NORRGMON.
007509,001216:
007510,001217: # CALLING SEQUENCE:
007511,001218: # EVERY 480 MILLISECONDS FROM RRCDUCHK (VIA T4RUPT) UNLESS TURN-ON
007512,001219: # HAS JUST BEEN INITIATED VIA RRAUTCHK OR IF THERE HAS BEEN A CHANGE IN
007513,001220: # THE RR CDU FAIL BIT (CHAN 30 BIT 7) AND THE RR IS NOT IN THE AUTO MODE
007514,001221: # (RADMODES BIT 2).
007515,001222:
007516,001223: # ERASABLE INITIALZATION: RADMODES
007517,001224:
007518,001225: # SUBROUTINES CALLED:
007519,001226: # RRLIMCHK, WAITLIST
007520,001227:
007521,001228: # JOBS OR TASKS INITIATED:
007522,001229: # DORREPOS
007523,001230:
007524,001231: # ALARMS:
007525,001232: # NONE
007526,001233:
007527,001234: # EXIT:
007528,001235: # NORRGMON
007529,001236:
007530,001237: 06,3071 30101 RRGIMON CAE FLAGWRD5 # IS NO ANGLE MONITOR FLAG SET
007531,001238: 06,3072 74750 MASK NORRMBIT
007532,001239: 06,3073 10000 CCS A
007533,001240: 06,3074 13126 TCF NORRGMON # YES -- SKIP LIMIT CHECK
007534,001241: 06,3075 40103 CS FLAGWRD7 # IS SERVICER RUNNING?
007535,001242: 06,3076 74747 MASK AVEGFBIT
007536,001243: 06,3077 10000 CCS A
007537,001244: 06,3100 13105 TCF +5 # NO. DO R25
007538,001245: 06,3101 30102 CA FLAGWRD6 # YES. IS MUNFLAG SET?
007539,001246: 06,3102 74744 MASK MUNFLBIT
007540,001247: 06,3103 10000 CCS A
007541,001248: 06,3104 13126 TCF NORRGMON # YES. DON'T DO R25
007542,001249: 06,3105 33135 +5 CAF OCT32002 # INHIBIT BY REMODE, ZEROING, MONITOR.
007543,001250: 06,3106 70110 MASK RADMODES # OR RR NOT IN AUTO.
007544,001251: 06,3107 10000 CCS A
007545,001252: 06,3110 13126 TCF NORRGMON
007546,001253: # Page 194
007547,001254: 06,3111 04523 TC RRLIMCHK # SET IF ANGLES IN LIMITS.
007548,001255: 06,3112 00035 ADRES CDUT
007549,001256:
007550,001257: 06,3113 13115 TCF MONREPOS
007551,001258:
007552,001259: 06,3114 13126 TCF NORRGMON # (ADDITIONAL CODING MAY GO HERE).
007553,001260:
007554,001261: 06,3115 34741 MONREPOS CAF REPOSBIT # SET FLAG TO SHOW REPOSITION IN PROGRESS.
007555,001262: 06,3116 26110 ADS RADMODES
007556,001263:
007557,001264: 06,3117 43136 CS OCT20002 # DISABLE TRACKER AND ERROR COUNTER.
007558,001265: 06,3120 00006 EXTEND
007559,001266: 06,3121 03012 WAND CHAN12
007560,001267:
007561,001268: 06,3122 34752 CAF TWO
007562,001269: 06,3123 05203 TC WAITLIST
007563,001270: 06,3124 E7,1456 EBANK= LOSCOUNT
007564,001271: 06,3124 02140 52107 2CADR DORREPOS
007565,001272:
007566,001273: 06,3126 30110 NORRGMON CA RADMODES # IF SELECT SWITCH IS NOT IN LGC, SEND RR
007567,001274: 06,3127 74752 MASK AUTOMBIT # CDU ZERO BIT TO PREVENT MEMORY CYCLE
007568,001275: 06,3130 10000 CCS A # SNATCHING BY MANIC RR CDUS. BIT2 OF
007569,001276: 06,3131 13132 NOOP # RADMODES AGREES WITH BIT2 OF CHANNEL
007570,001277: 06,3132 00006 EXTEND # 33. FOR THIS CODING, WHICH ASSUMES
007571,001278: 06,3133 05012 WOR CHAN12 # AUTOMBIT = BIT2, THANKS TO HUGH B-S.
007572,001279: 06,3134 13140 TCF ENDRRMON
007573,001280:
007574,001281: 06,3135 06,3140 ENDRRMON EQUALS DAPT4S
007575,001282:
007576,001283: 06,3135 32002 OCT32002 OCT 32002
007577,001284: 06,3136 20002 OCT20002 OCT 20002
007578,001285: 06,3137 02100 OCT02100 OCT 02100 # P20, P22 MASK BITS.
007579,001286:
007580,001287: # Page 195
007581,001288: # PROGRAM NAME: GPMATRIX (DAPT4S) MCD. NO. 2 DATE: OCTOBER 27, 1966
007582,001289:
007583,001290: # AUTHOR: JOHNATHAN D. ADDLELSTON (ADAMS ASSOCIATES)
007584,001291:
007585,001292: # MODIFIED: 7FEB. 1968 BY P. S. WEISSMAN TO DELETE COMPUTATION OF MR12 AND MR13, WHICH ARE NO LONGER REQUIRED.
007586,001293:
007587,001294: # THIS PROGRAM CALCULATES ALL FHTE SINGLE-PRECISION MATRIX ELEMENTS WHICH ARE USED BY LEM DAP TO TRANSFORM VECTORS
007588,001295: # FROM GIMBAL TO PILOT (BODY) AXES AND BACK AGAIN. THESE ELEMENTS ARE USED EXCLUSIVELY BY BASIC LANGUAGE ROUTINES
007589,001296: # AND THEREFORE ARE NOT ARRAYED FOR USE BY INTERPRETIVE PROGRAMS.
007590,001297:
007591,001298: # CALLING SEQUENCE: GPMATRIX IS TRANSFERRED TO FROM DAPT4S AND IS THUS EXECUTED 4 TIMES A SECOND BY T4RUPT.
007592,001299: # DAPT4S IS LISTED IN T4JUMP TABLE TWICE EXPLICITLY AND ALSO OCCURS AFTER RRAUTCHK (WHICH IS ALSO LISTED TWICE).
007593,001300:
007594,001301: # SUBROUTINES CALLED: SPSIN, SPCOS.
007595,001302:
007596,001303: # NORMAL EXIT MODE: TCF RESUME
007597,001304:
007598,001305: # ALARM AND ABORT MODES: NONE.
007599,001306:
007600,001307: # INPUT: CDUX, CDUY, CDUZ.
007601,001308:
007602,001309: # OUTPUT: M11, M21, M32, M22, M32.
007603,001310:
007604,001311: # AOG = CDUX, AIG = CDUY, AMG = CDUZ: MNEMONIC IS : OIM = XYZ
007605,001312:
007606,001313: # * SING(MG) 0 1 *
007607,001314: # M = * COS(MG)COS(OG) SIN(OG) 0 *
007608,001315: # GP * -COS(MG)SIN(OG) COS(OG) 0 *
007609,001316:
007610,001317: # * 0 COS(OG)/COS(MG) -SIN(OG)/COS(MG) *
007611,001318: # M = * 0 SIN(OG) COS(OG) *
007612,001319: # PG * 1 -SIN(MG)COS(OG)/COS(MG) SIN(MG)SIN(OG)/COS(MG) *
007613,001320:
007614,001321: 06,3140 E6,1414 EBANK= M11
007615,001322: 06,3140 06,3140 DAPT4S EQUALS GPMATRIX
007616,001323:
007617,001324: # T4RUPT DAP LOGIC:
007618,001325:
007619,001326: 06,3140 30034 GPMATRIX CAE CDUZ # SINGLE ENTRY POINT
007620,001327: 06,3141 05033 TC SPSIN # SIN(CDUZ) = SIN(MG)
007621,001328: 06,3142 55414 TS M11 # SCALED AT 1
007622,001329:
007623,001330: 06,3143 30034 CAE CDUZ
007624,001331: 06,3144 05032 TC SPCOS # COS(CDUZ) = COS(MG)
007625,001332: 06,3145 54061 TS COSMG # SCALED AT 1 (ONLY A FACTOR)
007626,001333:
007627,001334: 06,3146 30032 CAE CDUX
007628,001335: 06,3147 05033 TC SPSIN # SIN(CDUX) = SIN(OG)
007629,001336: 06,3150 55417 TS M22 # SCALED AT 1 (ALSO IS MR22)
007630,001337:
007631,001338: 06,3151 41417 CS M22
007632,001339: # Page 196
007633,001340: 06,3152 00006 EXTEND
007634,001341: 06,3153 70061 MP COSMG # -SIN(OG)COS(MG)
007635,001342: 06,3154 55416 TS M31 # SCALED AT 1
007636,001343:
007637,001344: 06,3155 30032 CAE CDUX
007638,001345: 06,3156 05032 TC SPCOS # COS(CDUX) = COS(OG)
007639,001346: 06,3157 55420 TS M32 # SCALED AT 1 (ALSO IS MR23)
007640,001347:
007641,001348: 06,3160 00006 EXTEND
007642,001349: 06,3161 70061 MP COSMG # COS(OG)COS(MG)
007643,001350: 06,3162 55415 TS M21 # SCALED AT 1
007644,001351:
007645,001352: 06,3163 05270 TC RESUME
007646,001353:
007647,001354: 06,3164 5270 ENDDAPT4 EQUALS RESUME
007648,001355:
End of include-file T4RUPT_PROGRAM.agc. Parent file is MAIN.agc