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:
|
057149,000002: ## Copyright: Public domain.
057150,000003: ## Filename: Q,R-AXES_RCS_AUTOPILOT.agc
057151,000004: ## Purpose: A section of an attempt to reconstruct Sundance revision 306
057152,000005: ## as closely as possible with available information. Sundance
057153,000006: ## 306 is the source code for the Lunar Module's (LM) Apollo
057154,000007: ## Guidance Computer (AGC) for Apollo 9. This program was created
057155,000008: ## using the mixed-revision SundanceXXX as a starting point, and
057156,000009: ## pulling back features from Luminary 69 believed to have been
057157,000010: ## added based on memos, checklists, observed address changes,
057158,000011: ## or the Sundance GSOPs.
057159,000012: ## Assembler: yaYUL
057160,000013: ## Contact: Ron Burkey <info@sandroid.org>.
057161,000014: ## Website: www.ibiblio.org/apollo/index.html
057162,000015: ## Mod history: 2020-07-24 MAS Created from SundanceXXX.
057163,000016:
057164,000017:
057165,000018:
057166,000019: 17,2000 BANK 17
057167,000020: 17,2000 SETLOC DAPS2
057168,000021: 17,2000 BANK
057169,000022:
057170,000023: 17,2000 E6,1632 EBANK= CDUXD
057171,000024:
057172,000025: 17,2000 COUNT* $$/DAPQR
057173,000026:
057174,000027: 17,2000 02426 CALLQERR TC QERRCALC
057175,000028:
057176,000029: 17,2001 11625 Q,RORGTS CCS COTROLER # CHOOSE CONTROL SYSTEM FOR THIS DAP PASS:
057177,000030: 17,2002 12407 TCF GOTOGTS # GTS (ALTERNATES WITH RCS WHEN DOCKED)
057178,000031: 17,2003 12374 TCF TRYGTS # GTS IF ALLOWED, OTHERWISE RCS
057179,000032: 17,2004 35030 RCS CAF ZERO # RCS (TRYGTS MAY BRANCH TO HERE)
057180,000033: 17,2005 55625 TS COTROLER
057181,000034:
057182,000035: 17,2006 53435 DXCH EDOTQ
057183,000036: 17,2007 02726 TC ROT45DEG
057184,000037: 17,2010 53425 DXCH OMEGAU
057185,000038:
057186,000039: # X - TRANSLATION:
057187,000040:
057188,000041: # INPUT: BITS 7,8 OF CH31 (TRANSLATION CONTROLLER)
057189,000042: # ULLAGER
057190,000043: # APSFLAG, DRIFTBIT
057191,000044: # ACC40R2X, ACRBTRAN
057192,000045:
057193,000046: # OUTPUT: NEXTU, NEXTV CODES OF TRANSLATION FOR AFTER ROTATION
057194,000047: # SENSETYP TELL ROTATION DIRECTION AND DESIRE
057195,000048:
057196,000049: # X-TRANS POLICIES ARE EITHER 4 JETS OR A DIAGONAL PAIR. IN 2-JET TRANSLATION THE SYSTEM IS SPECIFIED. A FAILURE
057197,000050: # WILL OVERRIDE THIS SPECIFICATION. AN ALARM RESULTS WHEN NO POLICY IS AVAILABLE BECAUSE OF FAILURES.
057198,000051:
057199,000052: 17,2011 35020 SENSEGET CA BIT7 # INPUT BITS OVERRIDE THE INTERNAL BITS
057200,000053: 17,2012 00006 EXTEND # SENSETYP WILL NOT OPPOSE ANYTRANS
057201,000054: 17,2013 02031 RAND CHAN31
057202,000055: 17,2014 00006 EXTEND
057203,000056: 17,2015 12204 BZF +XORULGE
057204,000057: 17,2016 35017 CA BIT8
057205,000058: 17,2017 00006 EXTEND
057206,000059: 17,2020 02031 RAND CHAN31
057207,000060: 17,2021 00006 EXTEND
057208,000061: 17,2022 12205 BZF -XTRANS
057209,000062:
057210,000063: 17,2023 35021 CA ULLAGER
057211,000064: 17,2024 71102 MASK DAPBOOLS
057212,000065: 17,2025 10000 CCS A
057213,000066: 17,2026 12204 TCF +XORULGE
057214,000067:
057215,000068: 17,2027 35030 CAF ZERO
057216,000069: 17,2030 55734 TS ANYTRANS
057217,000070: 17,2031 55472 TS SENSETYP
057218,000071:
057219,000072: 17,2032 35025 CA BIT2 # DPS (INCLUDING DOCKED) OR APS?
057220,000073: 17,2033 00006 EXTEND
057221,000074: 17,2034 02030 RAND CHAN30
057222,000075: 17,2035 00006 EXTEND
057223,000076: 17,2036 12045 BZF TSENSE +1
057224,000077:
057225,000078: 17,2037 35017 CAF DRIFTBIT # BURNING OR DRIFTING?
057226,000079: 17,2040 71102 MASK DAPBOOLS
057227,000080: 17,2041 10000 CCS A
057228,000081: 17,2042 12045 TCF TSENSE +1
057229,000082:
057230,000083: 17,2043 65025 AD TWO # FAVOR +X JETS DURING AN APS BURN.
057231,000084: 17,2044 55472 TSENSE TS SENSETYP
057232,000085: 17,2045 11734 CCS ANYTRANS
057233,000086: 17,2046 12051 TCF +3
057234,000087: 17,2047 55736 TS POLYTEMP
057235,000088: 17,2050 12073 TCF TSNEXTS
057236,000089: 17,2051 55741 TS ROTINDEX
057237,000090:
057238,000091: 17,2052 31102 CA DAPBOOLS
057239,000092: 17,2053 75014 MASK ACC4OR2X
057240,000093: 17,2054 10000 CCS A
057241,000094: 17,2055 12211 TCF TRANS4
057242,000095:
057243,000096: 17,2056 31102 CA DAPBOOLS
057244,000097: 17,2057 75015 MASK AORBTRAN
057245,000098: 17,2060 10000 CCS A
057246,000099: 17,2061 35026 CA ONE # THREE FOR B
057247,000100: 17,2062 65025 AD TWO # TWO FOR A SYSTEM 2 JET X TRANS
057248,000101: 17,2063 55740 TSNUMBRT TS NUMBERT
057249,000102:
057250,000103: 17,2064 02756 TC SELCTSUB
057251,000104:
057252,000105: 17,2065 11736 CCS POLYTEMP
057253,000106: 17,2066 12071 TCF +3
057254,000107: 17,2067 05651 TC ALARM
057255,000108: 17,2070 02002 OCT 02002
057256,000109: 17,2071 35775 CA 00314OCT
057257,000110: 17,2072 71736 MASK POLYTEMP
057258,000111: 17,2073 55461 TSNEXTS TS NEXTU
057259,000112: 17,2074 45775 CS 00314OCT
057260,000113: 17,2075 71736 MASK POLYTEMP
057261,000114: 17,2076 55462 TS NEXTV
057262,000115:
057263,000116: # Q,R-AXES RCS CONTROL MODE SELECTION
057264,000117: # SWITCHES INDICATION WHEN SET
057265,000118: # BIT13/CHAN31 AUTO, GO TO ATTSTEER
057266,000119: # PULSES MINIMUM IMPULSE MODE
057267,000120: # (OTHERWISE) RATE COMMAND/ATTITUDE HOLD MODE
057268,000121:
057269,000122: 17,2077 35012 QRCONTRL CA BIT13 # CHECK MODE SELECT SWITCH.
057270,000123: 17,2100 00006 EXTEND
057271,000124: 17,2101 02031 RAND CHAN31 # BITS INVERTED
057272,000125: 17,2102 10000 CCS A
057273,000126: 17,2103 12461 TCF ATTSTEER
057274,000127: 17,2104 35010 NORMALQ CAF PULSES # PULSES = 1 FOR MIN IMP USE OF RHC
057275,000128: 17,2105 71102 MASK DAPBOOLS
057276,000129: 17,2106 00006 EXTEND
057277,000130: 17,2107 12213 BZF CHEKSTIK # IN ATT-HOLD/RATE-COMMAND IF BIT10=0
057278,000131:
057279,000132: # MINIMUM IMPULSE MODE
057280,000133:
057281,000134: 17,2110 00004 INHINT
057282,000135: 17,2111 04737 TC IBNKCALL
057283,000136: 17,2112 40232 CADR ZATTEROR
057284,000137: 17,2113 35030 CA ZERO
057285,000138: 17,2114 55451 TS QERROR
057286,000139: 17,2115 55452 TS RERROR # FOR DISPLAYS
057287,000140: 17,2116 00003 RELINT
057288,000141:
057289,000142: 17,2117 00006 EXTEND
057290,000143: 17,2120 00031 READ CHAN31
057291,000144: 17,2121 55734 TS TEMP31 # IS EQUAL TO DAPTEMP1
057292,000145: 17,2122 11444 CCS OLDQRMIN
057293,000146: 17,2123 12145 TCF CHECKIN
057294,000147:
057295,000148: 17,2124 31734 FIREQR CA TEMP31
057296,000149: 17,2125 75026 MASK BIT1
057297,000150: 17,2126 00006 EXTEND
057298,000151: 17,2127 12151 BZF +QMIN
057299,000152:
057300,000153: 17,2130 31734 CA TEMP31
057301,000154: 17,2131 75025 MASK BIT2
057302,000155: 17,2132 00006 EXTEND
057303,000156: 17,2133 12155 BZF -QMIN
057304,000157:
057305,000158: 17,2134 31734 CA TEMP31
057306,000159: 17,2135 75022 MASK BIT5
057307,000160: 17,2136 00006 EXTEND
057308,000161: 17,2137 12161 BZF +RMIN
057309,000162:
057310,000163: 17,2140 31734 CA TEMP31
057311,000164: 17,2141 75021 MASK BIT6
057312,000165: 17,2142 00006 EXTEND
057313,000166: 17,2143 12163 BZF -RMIN
057314,000167:
057315,000168: 17,2144 12644 TCF XTRANS
057316,000169:
057317,000170: 17,2145 41734 CHECKIN CS TEMP31
057318,000171: 17,2146 72203 MASK OCT63
057319,000172: 17,2147 55444 TS OLDQRMIN
057320,000173: 17,2150 12644 TCF XTRANS
057321,000174:
057322,000175: 17,2151 32670 +QMIN CA 14MS
057323,000176: 17,2152 55517 TS TJU
057324,000177: 17,2153 42670 CS 14MS
057325,000178: 17,2154 12165 TCF MINQR
057326,000179: 17,2155 42670 -QMIN CS 14MS
057327,000180: 17,2156 55517 TS TJU
057328,000181: 17,2157 32670 CA 14MS
057329,000182: 17,2160 12165 TCF MINQR
057330,000183: 17,2161 32670 +RMIN CA 14MS
057331,000184: 17,2162 12164 TCF +2
057332,000185: 17,2163 42670 -RMIN CS 14MS
057333,000186: 17,2164 55517 TS TJU
057334,000187: 17,2165 55520 MINQR TS TJV
057335,000188: 17,2166 32202 CA MINADR
057336,000189: 17,2167 55470 TS RETJADR
057337,000190: 17,2170 35026 CA ONE
057338,000191: 17,2171 55444 TS OLDQRMIN
057339,000192: 17,2172 55471 MINRTN TS AXISCTR
057340,000193: 17,2173 31102 CA DAPBOOLS
057341,000194: 17,2174 75015 MASK AORBTRAN
057342,000195: 17,2175 10000 CCS A
057343,000196: 17,2176 35026 CA ONE
057344,000197: 17,2177 65025 AD TWO
057345,000198: 17,2200 55740 TS NUMBERT
057346,000199: 17,2201 12524 TCF AFTERTJ
057347,000200:
057348,000201: 17,2202 02172 MINADR GENADR MINRTN
057349,000202: 17,2203 00063 OCT63 OCT 63
057350,000203: 17,2204 17,2670 14MS = +TJMINT6
057351,000204:
057352,000205: 17,2204 35026 +XORULGE CAF ONE
057353,000206: 17,2205 65031 -XTRANS AD FIVE
057354,000207: 17,2206 55734 TS ANYTRANS
057355,000208: 17,2207 66066 AD NEG4
057356,000209: 17,2210 12044 TCF TSENSE
057357,000210:
057358,000211: 17,2211 35024 TRANS4 CA FOUR
057359,000212: 17,2212 12063 TCF TSNUMBRT
057360,000213:
057361,000214: # RATE COMMAND MODE:
057362,000215: # DESCRIPTION (SAME AS P-AXIS)
057363,000216:
057364,000217: 17,2213 55627 CHEKSTIK TS INGTS # NOT IN GTS WHEN IN ATT HOLD
057365,000218: 17,2214 45026 CS ONE # 1/ACCS WILL DO THE NULLING DRIVES
057366,000219: 17,2215 55625 TS COTROLER # COME BACK TO RCS NEXT TIME
057367,000220: 17,2216 35010 CA BIT15
057368,000221: 17,2217 00006 EXTEND
057369,000222: 17,2220 02031 RAND CHAN31
057370,000223: 17,2221 00006 EXTEND
057371,000224: 17,2222 12261 BZF RHCACTIV # BRANCH IF OUT OF DETENT.
057372,000225: 17,2223 35013 CA OURRCBIT # ***********
057373,000226: 17,2224 71102 MASK DAPBOOLS # *IN DETENT* CHECK FOR MANUAL CONTROL
057374,000227: 17,2225 00006 EXTEND # *********** LAST TIME.
057375,000228: 17,2226 62461 BZMF ATTSTEER
057376,000229:
057377,000230: 17,2227 31417 DBCHECK- CA OMEGAP # STAY IN RATE DAMPING UNTIL P-AXIS
057378,000231: 17,2230 02236 TC CHKRTDB # AUTOPILOT HAS TAKEN CARE OF P-RATE
057379,000232:
057380,000233: 17,2231 31424 CA OMEGAU # DAMP U AND V AXES
057381,000234: 17,2232 02236 TC CHKRTDB
057382,000235: 17,2233 31425 CA OMEGAV
057383,000236: 17,2234 02236 TC CHKRTDB
057384,000237: 17,2235 12251 TCF WITHINDB
057385,000238:
057386,000239: 17,2236 10000 CHKRTDB CCS A
057387,000240: 17,2237 12241 TCF +2
057388,000241: 17,2240 00002 RTDBGOOD TC Q
057389,000242:
057390,000243: 17,2241 61464 AD -RATEDB
057391,000244: 17,2242 00006 EXTEND
057392,000245: 17,2243 62240 BZMF RTDBGOOD
057393,000246:
057394,000247: 17,2244 41424 CS OMEGAU
057395,000248: 17,2245 55424 TS URATEDIF
057396,000249: 17,2246 41425 CS OMEGAV
057397,000250: 17,2247 55425 TS VRATEDIF
057398,000251: 17,2250 12311 TCF ENTERUV
057399,000252:
057400,000253: 17,2251 45013 WITHINDB CS OURRCBIT # ALL RATES ARE GOOD SO EXIT RATE CMD
057401,000254: 17,2252 00004 INHINT # MODE
057402,000255: 17,2253 71102 MASK DAPBOOLS
057403,000256: 17,2254 55102 TS DAPBOOLS
057404,000257: 17,2255 04737 TC IBNKCALL
057405,000258: 17,2256 40232 CADR ZATTEROR
057406,000259: 17,2257 00003 RELINT
057407,000260: 17,2260 12461 TCF ATTSTEER
057408,000261:
057409,000262: 17,2261 35013 RHCACTIV CA OURRCBIT
057410,000263: 17,2262 71102 MASK DAPBOOLS
057411,000264: 17,2263 00006 EXTEND
057412,000265: 17,2264 12644 BZF XTRANS
057413,000266:
057414,000267: 17,2265 35020 CA RHCSCALE # LINEAR CONTROLLER SCALING
057415,000268: 17,2266 71102 MASK DAPBOOLS
057416,000269: 17,2267 10000 CCS A
057417,000270: 17,2270 35737 CAF 143DEC # SCALE FOR 20D/S MAX (177D)
057418,000271: 17,2271 64254 AD 34DEC # SCALE FOR 4D/S MAX (34D)
057419,000272: 17,2272 55435 TS RRATEDIF
057420,000273: 17,2273 00006 EXTEND
057421,000274: 17,2274 71445 MP SAVEHAND
057422,000275: 17,2275 41420 CS OMEGAQ
057423,000276: 17,2276 60001 AD L
057424,000277: 17,2277 55434 TS QRATEDIF
057425,000278: 17,2300 31435 CA RRATEDIF
057426,000279: 17,2301 00006 EXTEND
057427,000280: 17,2302 71446 MP SAVEHAND +1
057428,000281: 17,2303 41421 CS OMEGAR
057429,000282: 17,2304 60001 AD L
057430,000283: 17,2305 55435 TS RRATEDIF
057431,000284: 17,2306 53435 DXCH QRATEDIF
057432,000285: 17,2307 02726 TC ROT45DEG
057433,000286: 17,2310 53425 DXCH URATEDIF
057434,000287:
057435,000288: 17,2311 32373 ENTERUV CA HANDADR
057436,000289: 17,2312 55470 TS RETJADR
057437,000290:
057438,000291: 17,2313 35030 CA ZERO
057439,000292: 17,2314 55451 TS QERROR
057440,000293: 17,2315 55452 TS RERROR
057441,000294:
057442,000295: 17,2316 00004 INHINT # DIRECT RATE CONTROL.
057443,000296: 17,2317 04737 TC IBNKCALL
057444,000297: 17,2320 40232 FCADR ZATTEROR
057445,000298: 17,2321 00003 RELINT
057446,000299:
057447,000300: 17,2322 35026 CA ONE
057448,000301: 17,2323 55471 BACKHAND TS AXISCTR
057449,000302:
057450,000303: 17,2324 35024 CA FOUR
057451,000304: 17,2325 55740 TS NUMBERT
057452,000305:
057453,000306: 17,2326 51471 INDEX AXISCTR
057454,000307: 17,2327 51530 INDEX SKIPU
057455,000308: 17,2330 12331 TCF +1
057456,000309: 17,2331 35024 CA FOUR
057457,000310: 17,2332 51471 INDEX AXISCTR
057458,000311: 17,2333 55530 TS SKIPU
057459,000312: 17,2334 12566 TCF LOOPER
057460,000313: 17,2335 51471 INDEX AXISCTR
057461,000314: 17,2336 11424 CCS URATEDIF # INDEX AXIS QUANITY
057462,000315: 17,2337 12341 TCF +2 # 0 -U 1/JETACC-AOSU
057463,000316: 17,2340 12366 TCF SETTIME # 1 +U 1/JETACC+AOSU
057464,000317: 17,2341 61464 AD -RATEDB # 16 -V 1/JETACC-AOSV
057465,000318: 17,2342 00006 EXTEND # 17 +V 1/JETACC+AOSV
057466,000319: 17,2343 62371 BZMF ZEROTJ # JETACC = 2 JET ACCELERATION (1 FOR FAIL)
057467,000320:
057468,000321: 17,2344 51471 INDEX AXISCTR
057469,000322: 17,2345 11424 CCS URATEDIF
057470,000323: 17,2346 35026 CAF ONE
057471,000324: 17,2347 12351 TCF +2
057472,000325: 17,2350 35030 CAF ZERO
057473,000326: 17,2351 51471 INDEX AXISCTR
057474,000327: 17,2352 63505 AD AXISDIFF
057475,000328: 17,2353 50000 INDEX A
057476,000329: 17,2354 31566 CA 1/ANET2 +1
057477,000330: 17,2355 00006 EXTEND
057478,000331: 17,2356 51471 INDEX AXISCTR # URATEDIF IS SCALED AT PI/4 RAD/SEC
057479,000332: 17,2357 71424 MP URATEDIF # JET TIME IN A SCALED 32 SEC
057480,000333: 17,2360 54002 TS Q
057481,000334: 17,2361 20001 DAS A
057482,000335: 17,2362 60002 AD Q
057483,000336: 17,2363 54000 TS A # OVERFLOW SKIP
057484,000337: 17,2364 12366 TCF +2
057485,000338: 17,2365 30002 CA Q # RIGHT SIGN AND BIGGER THAN 150MS
057486,000339: 17,2366 51471 SETTIME INDEX AXISCTR
057487,000340: 17,2367 55517 TS TJU # SCALED AT 10.67 WHICH IS CLOSE TO 10.24
057488,000341: 17,2370 12524 TCF AFTERTJ
057489,000342:
057490,000343: 17,2371 35030 ZEROTJ CA ZERO
057491,000344: 17,2372 12366 TCF SETTIME
057492,000345:
057493,000346: 17,2373 02323 HANDADR GENADR BACKHAND
057494,000347:
057495,000348: # GTS WILL BE TRIED IF
057496,000349: # 1. USEQRJTS= 0,
057497,000350: # 2. ALLOWGTS POS,
057498,000351: # 3. JETS ARE OFF (Q,R-AXES)
057499,000352:
057500,000353: 17,2374 35011 TRYGTS CAF USEQRJTS # IS JET USE MANDATORY. (AS LONG AS
057501,000354: 17,2375 71102 MASK DAPBOOLS # USEQRJTS BIT IS NOT BIT 15, CCS IS SAFE)
057502,000355: 17,2376 10000 CCS A
057503,000356: 17,2377 12004 TCF RCS
057504,000357: 17,2400 11624 CCS ALLOWGTS # NO. DOES AOSTASK OK CONTROL FOR GTS?
057505,000358: 17,2401 12403 TCF +2
057506,000359: 17,2402 12004 TCF RCS
057507,000360: 17,2403 00006 EXTEND
057508,000361: 17,2404 00005 READ CHAN5
057509,000362: 17,2405 10000 CCS A
057510,000363: 17,2406 12412 TCF CHKINGTS
057511,000364: 17,2407 00006 GOTOGTS EXTEND
057512,000365: 17,2410 32425 DCA GTSCADR
057513,000366: 17,2411 52006 DTCB
057514,000367:
057515,000368: 17,2412 11627 CHKINGTS CCS INGTS # WAS THE TRIM GIMBAL CONTROLLING
057516,000369: 17,2413 12415 TCF +2 # YES. SET UP A DAMPED NULLING DRIVE.
057517,000370: 17,2414 12004 TCF RCS # NO. NULLING WAS SET UP BEFORE. DO RCS
057518,000371: 17,2415 00004 INHINT
057519,000372: 17,2416 04737 TC IBNKCALL
057520,000373: 17,2417 43304 CADR TIMEGMBL
057521,000374: 17,2420 00003 RELINT
057522,000375: 17,2421 35030 CAF ZERO
057523,000376: 17,2422 55627 TS INGTS
057524,000377: 17,2423 12004 TCF RCS
057525,000378:
057526,000379: 17,2424 E6,1632 EBANK= CDUXD
057527,000380: 17,2424 03055 42106 GTSCADR 2CADR GTS
057528,000381:
057529,000382: # SUBROUTINE TO COMPUTE Q,R-AXES ATTITUDE ERRORS FOR USE IN THE RCS AND GTS CONTROL LAWS AND THE DISPLAYS.
057530,000383:
057531,000384: 17,2426 30033 QERRCALC CAE CDUY # Q-ERROR CALCULATION
057532,000385: 17,2427 00006 EXTEND
057533,000386: 17,2430 21633 MSU CDUYD # CDU ANGLE - ANGLE DESIRED (Y-AXIS)
057534,000387: 17,2431 55734 TS DAPTEMP1 # SAVE FOR RERRCALC
057535,000388: 17,2432 00006 EXTEND
057536,000389: 17,2433 71413 MP M21 # (CDUY-CDUYD)*M21 SCALED AT PI RADIANS
057537,000390: 17,2434 55542 TS E
057538,000391: 17,2435 30034 CAE CDUZ # SECOND TERM CALCULATION:
057539,000392: 17,2436 00006 EXTEND
057540,000393: 17,2437 21634 MSU CDUZD # CDU ANGLE -ANGLE DESIRED (Z-AXIS)
057541,000394: 17,2440 55735 TS DAPTEMP2 # SAVE FOR RERRCALC
057542,000395: 17,2441 00006 EXTEND
057543,000396: 17,2442 71415 MP M22 # (CDUZ-CDUZD)*M22 SCALED AT PI RADIANS
057544,000397: 17,2443 61302 AD DELQEROR # KALCMANU INERFACE ERROR
057545,000398: 17,2444 61542 AD E
057546,000399: 17,2445 57451 XCH QERROR # SAVE Q-ERROR FOR EIGHT-BALL DISPLAY.
057547,000400:
057548,000401: 17,2446 31734 RERRCALC CAE DAPTEMP1 # R-ERROR CALCULATION:
057549,000402: 17,2447 00006 EXTEND # CDU ANGLE -ANGLE DESIRED (Y-AXIS)
057550,000403: 17,2450 71414 MP M31 # (CDUY-CDUYD)*M31 SCALED AT PI RADIANS
057551,000404: 17,2451 55542 TS E
057552,000405: 17,2452 31735 CAE DAPTEMP2 # SECOND TERM CALCULATION:
057553,000406: 17,2453 00006 EXTEND # CDU ANGLE -ANGLE DESIRED (Z-AXIS)
057554,000407: 17,2454 71416 MP M32 # (CDUZ-CDUZD)*M32 SCALED AT PI RADIANS
057555,000408: 17,2455 61303 AD DELREROR # KALCMANU INERFACE ERROR
057556,000409: 17,2456 61542 AD E
057557,000410: 17,2457 57452 XCH RERROR # SAVE R-ERROR FOR EIGHT-BALL DISPLAY.
057558,000411: 17,2460 00002 TC Q
057559,000412:
057560,000413: # "ATTSTEER" IS THE ENTRY POINT FOR Q,R-AXES (U,V-AXES) ATTITUDE CONTROL USING THE REACTION CONTROL SYSTEM
057561,000414:
057562,000415: 17,2461 17,2461 ATTSTEER EQUALS STILLRCS # "STILLRCS" IS THE RCS EXIT FROM TRYGTS.
057563,000416:
057564,000417: 17,2461 00006 STILLRCS EXTEND
057565,000418: 17,2462 31452 DCA QERROR
057566,000419: 17,2463 02726 TC ROT45DEG
057567,000420: 17,2464 53467 DXCH UERROR
057568,000421:
057569,000422: # PREPARES CALL TO TJETLAW (OR SPSRCS(DOCKED))
057570,000423: # PREFORMS SKIP LOGIC ON U OR Y AXIS IF NEEDED.
057571,000424:
057572,000425: 17,2465 32521 TJLAW CA TJLAWADR
057573,000426: 17,2466 55470 TS RETJADR
057574,000427: 17,2467 35026 CA ONE
057575,000428: 17,2470 55471 TS AXISCTR
057576,000429: 17,2471 51471 INDEX AXISCTR
057577,000430: 17,2472 51530 INDEX SKIPU
057578,000431: 17,2473 12474 TCF +1
057579,000432: 17,2474 35024 CA FOUR
057580,000433: 17,2475 51471 INDEX AXISCTR
057581,000434: 17,2476 55530 TS SKIPU
057582,000435: 17,2477 12566 TCF LOOPER
057583,000436: 17,2500 51471 INDEX AXISCTR
057584,000437: 17,2501 31466 CA UERROR
057585,000438: 17,2502 55542 TS E
057586,000439: 17,2503 51471 INDEX AXISCTR
057587,000440: 17,2504 31424 CA OMEGAU
057588,000441: 17,2505 55543 TS EDOT
057589,000442: 17,2506 31102 CA DAPBOOLS
057590,000443: 17,2507 75012 MASK CSMDOCKD
057591,000444: 17,2510 10000 CCS A
057592,000445: 17,2511 12514 TCF +3
057593,000446: 17,2512 03035 TC TJETLAW
057594,000447: 17,2513 12524 TCF AFTERTJ
057595,000448: 17,2514 41102 +3 CS DAPBOOLS # DOCKED. IF GIMBAL USABLE DO GTS CONTROL
057596,000449: 17,2515 75011 MASK USEQRJTS # ON THE NEXT PASS.
057597,000450: 17,2516 10000 CCS A # USEQRJTS BIT MUST NOT BE BIT 15.
057598,000451: 17,2517 55625 TS COTROLER # GIMBAL USABLE. STORE POSITIVE VALUE.
057599,000452: 17,2520 13526 TCF SPSRCS # DETERMINE RCS CONTROL.
057600,000453:
057601,000454: 17,2521 02470 TJLAWADR GENADR TJLAW +3 # RETURN ADDRESS FOR RCS ATTITUDE CONTROL
057602,000455:
057603,000456: 17,2522 35024 CAF FOUR # ALWAYS CALL FOR 2-JET CONTROL ABOUT U,V.
057604,000457: 17,2523 55740 TS NUMBERT # FALL THROUGH TO JET SELECTION, ETC.
057605,000458:
057606,000459: # Q,R-JET-SELECTION-LOGIC
057607,000460:
057608,000461: # INPUT: AXISCTR 0,1 FOR U,V
057609,000462: # SNUFFBIT ZERO TJETU,V AND TRANS. ONLY IF SET IN A DPS BURN
057610,000463: # TJU,TJV JET TIME SCALED 10.24 SEC.
057611,000464: # NUMBERT INDICATES NUMBER OF JETS AND TYPE OF POLICY
057612,000465: # RETJADR WHERE TO RETURN TO
057613,000466: # OUTPUT: NO.U(V)JETS RATE DERIVATION FEEDBACK
057614,000467: # CHANNEL 5
057615,000468: # SKIPU,SKIRV FOR LESS THAN 150MS FIRING
057616,000469:
057617,000470: # NOTES: IN CASE OF FAILURE IN DESIRED ROTATION POLICY, "ALL" UNFAILED
057618,000471: # JETS OF THE DESIRED POLICY ARE SELECTED. SINCE THERE ARE ONLY
057619,000472: # TWO JETS, THIS MEANS THE OTHER ONE OR NONE. THE ALARM IS SENT
057620,000473: # IF NONE CAN BE FOUND.
057621,000474:
057622,000475: # TIMES LESS THAN 14 MSEC ARE TAKEN TO CALL FOR A SINGLE-JET
057623,000476: # MINIMUM IMPULSE, WITH THE JET CHOSEN SEMI-RANDOMLY.
057624,000477:
057625,000478: 17,2524 35025 AFTERTJ CAF TWO
057626,000479: 17,2525 54001 TS L
057627,000480: 17,2526 51471 INDEX AXISCTR
057628,000481: 17,2527 11517 CCS TJU
057629,000482: 17,2530 12535 TCF +5
057630,000483: 17,2531 12560 TCF NOROTAT
057631,000484: 17,2532 12534 TCF +2
057632,000485: 17,2533 12560 TCF NOROTAT
057633,000486: 17,2534 22007 ZL
057634,000487: 17,2535 65026 AD ONE
057635,000488: 17,2536 55734 TS ABSTJ
057636,000489:
057637,000490: 17,2537 31471 CA AXISCTR
057638,000491: 17,2540 60001 AD L
057639,000492: 17,2541 55741 TS ROTINDEX # 0 1 2 3 = -U -V -+U +V
057640,000493:
057641,000494: 17,2542 31734 CA ABSTJ
057642,000495: 17,2543 62671 AD -150MS
057643,000496: 17,2544 00006 EXTEND
057644,000497: 17,2545 62571 BZMF DOSKIP
057645,000498:
057646,000499: 17,2546 02756 TC SELCTSUB
057647,000500:
057648,000501: 17,2547 51471 INDEX AXISCTR
057649,000502: 17,2550 32666 CA INDEXES
057650,000503: 17,2551 54001 TS L
057651,000504:
057652,000505: 17,2552 31736 CA POLYTEMP
057653,000506: 17,2553 00004 INHINT
057654,000507: 17,2554 50001 INDEX L
057655,000508: 17,2555 05755 TC WRITEP
057656,000509:
057657,000510: 17,2556 00003 RELINT
057658,000511: 17,2557 12632 TCF FEEDBACK
057659,000512:
057660,000513: 17,2560 51471 NOROTAT INDEX AXISCTR
057661,000514: 17,2561 32666 CA INDEXES
057662,000515: 17,2562 00004 INHINT
057663,000516: 17,2563 50000 INDEX A
057664,000517: 17,2564 05754 TC WRITEP -1
057665,000518:
057666,000519: 17,2565 00003 RELINT
057667,000520: 17,2566 11471 LOOPER CCS AXISCTR
057668,000521: 17,2567 01470 TC RETJADR
057669,000522: 17,2570 13021 TCF CLOSEOUT
057670,000523: 17,2571 41734 DOSKIP CS ABSTJ
057671,000524: 17,2572 62670 AD +TJMINT6 # 14MS
057672,000525: 17,2573 00006 EXTEND
057673,000526: 17,2574 62613 BZMF NOTMIN
057674,000527:
057675,000528: 17,2575 27734 ADS ABSTJ
057676,000529: 17,2576 51471 INDEX AXISCTR
057677,000530: 17,2577 11517 CCS TJU
057678,000531: 17,2600 32670 CA +TJMINT6
057679,000532: 17,2601 12603 TCF +2
057680,000533: 17,2602 42670 CS +TJMINT6
057681,000534: 17,2603 51471 INDEX AXISCTR
057682,000535: 17,2604 55517 TS TJU
057683,000536:
057684,000537: 17,2605 11472 CCS SENSETYP # ENSURE MIN-IMPULSE NOT AGAINST TRANS
057685,000538: 17,2606 12612 TCF NOTMIN -1
057686,000539: 17,2607 00006 EXTEND
057687,000540: 17,2610 00004 READ LOSCALAR
057688,000541: 17,2611 75026 MASK ONE
057689,000542: 17,2612 55740 TS NUMBERT
057690,000543:
057691,000544: 17,2613 02756 NOTMIN TC SELCTSUB
057692,000545:
057693,000546: 17,2614 51471 INDEX AXISCTR
057694,000547: 17,2615 32666 CA INDEXES
057695,000548: 17,2616 00004 INHINT
057696,000549: 17,2617 55457 TS T6FURTHA +1
057697,000550: 17,2620 31736 CA POLYTEMP
057698,000551: 17,2621 51457 INDEX T6FURTHA +1
057699,000552: 17,2622 05755 TC WRITEP
057700,000553: 17,2623 31734 CA ABSTJ
057701,000554: 17,2624 55456 TS T6FURTHA
057702,000555: 17,2625 02674 TC JTLST # IN QR BANK BY NOW
057703,000556:
057704,000557: 17,2626 00003 RELINT
057705,000558:
057706,000559: 17,2627 35030 CA ZERO
057707,000560: 17,2630 51471 INDEX AXISCTR
057708,000561: 17,2631 55530 TS SKIPU
057709,000562:
057710,000563: 17,2632 46221 FEEDBACK CS THREE
057711,000564: 17,2633 61740 AD NUMBERT
057712,000565: 17,2634 00006 EXTEND
057713,000566: 17,2635 62640 BZMF +3
057714,000567:
057715,000568: 17,2636 35025 CA TWO
057716,000569: 17,2637 12641 TCF +2
057717,000570: 17,2640 35026 CA ONE
057718,000571: 17,2641 51471 INDEX AXISCTR
057719,000572: 17,2642 55514 TS NO.UJETS
057720,000573: 17,2643 12566 TCF LOOPER
057721,000574:
057722,000575: 17,2644 35030 XTRANS CA ZERO
057723,000576: 17,2645 55517 TS TJU
057724,000577: 17,2646 55520 TS TJV
057725,000578: 17,2647 35024 CA FOUR
057726,000579: 17,2650 00004 INHINT
057727,000580: 17,2651 57530 XCH SKIPU
057728,000581: 17,2652 00006 EXTEND
057729,000582: 17,2653 12655 BZF +2
057730,000583: 17,2654 05760 TC WRITEU -1
057731,000584: 17,2655 35024 CA FOUR
057732,000585: 17,2656 57531 XCH SKIPV
057733,000586: 17,2657 00003 RELINT
057734,000587:
057735,000588: 17,2660 00006 EXTEND
057736,000589: 17,2661 13021 BZF CLOSEOUT
057737,000590: 17,2662 00004 INHINT
057738,000591: 17,2663 05771 TC WRITEV -1
057739,000592: 17,2664 00003 RELINT
057740,000593:
057741,000594: 17,2665 13021 TCF CLOSEOUT
057742,000595: 17,2666 00004 INDEXES DEC 4 B-14
057743,000596: 17,2667 00015 DEC 13 B-14
057744,000597: 17,2670 00026 +TJMINT6 DEC 22 B-14
057745,000598: 17,2671 77417 -150MS DEC -240 B-14
057746,000599: 17,2672 00600 BIT8,9 OCT 00600
057747,000600: 17,2673 00266 SCLNORM OCT 266
057748,000601:
057749,000602: # THE JET LIST:
057750,000603: # THIS IS A WAITLIST FOR T6RUPTS.
057751,000604:
057752,000605: # CALLED BY:
057753,000606: # CA TJ TIME WHEN NEXT JETS WILL BE WRITTEN
057754,000607: # TS T6FURTHA
057755,000608: # CA INDEX AXIS TO BE WIRTTEN AT TJ (FROM NOW)
057756,000609: # TS T6FURTHA +1
057757,000610: # TC JTLST
057758,000611:
057759,000612: # EXAMPLE - U-AXIS AUTOPILOT WILL WRITE ITS ROTATION CODE OF
057760,000613: # JETS INTO CHANNEL 5. IF IT DESIRES TO TURN OFF THIS POLICY WITHIN
057761,000614: # 150MS AND THEN FIRE NEXTU, A CALL TO JTLST IS MADE WITH T6FURTHA
057762,000615: # CONTAINING THE TIME TO TURN OFF THE POLICY, T6FURTHA +1 THE INDEX
057763,000616: # OF THE U-AXIS(4), AND NEXTU WILL CONTAIN THE "U-TRANS" POLICY OR ZERO.
057764,000617:
057765,000618: # THE LIST IS EXACTLY 3 LONG. (THIS LEADS TO SKIP LOGIC AND 150MS LIMIT)
057766,000619: # THE INPUT IS THE LAST MEMBER OF THE LIST
057767,000620:
057768,000621: # RETURNS BY:
057769,000622: # + TC Q
057770,000623:
057771,000624: # DEFINITIONS: (OUTPUT)
057772,000625: # TIME6 TIME OF NEXT RUPT
057773,000626: # T6NEXT DELTA TIME TO NEXT RUPT
057774,000627: # T6FURTHA DELTA TIME FROM 2ND TO LAST RUPT
057775,000628: # NXT6ADR AXIS INDEX Q - P-AXIS
057776,000629: # T6NEXT +1 AXIS INDEX 4 - U-AXIS
057777,000630: # T6FURTHA +1 AXIS INDEX 13 - V-AXIS
057778,000631:
057779,000632: 17,2674 41456 JTLST CS T6FURTHA
057780,000633: 17,2675 60031 AD TIME6
057781,000634: 17,2676 00006 EXTEND
057782,000635: 17,2677 62711 BZMF MIDORLST # TIME6 - T IS IN A
057783,000636:
057784,000637: 17,2700 23453 LXCH NXT6ADR
057785,000638: 17,2701 53455 DXCH T6NEXT
057786,000639: 17,2702 53457 DXCH T6FURTHA
057787,000640: 17,2703 54031 TS TIME6
057788,000641: 17,2704 23453 LXCH NXT6ADR
057789,000642:
057790,000643: 17,2705 35010 TURNON CA BIT15
057791,000644: 17,2706 00006 EXTEND
057792,000645: 17,2707 05013 WOR CHAN13
057793,000646: 17,2710 00002 TC Q
057794,000647:
057795,000648: 17,2711 61454 MIDORLST AD T6NEXT
057796,000649: 17,2712 00006 EXTEND
057797,000650: 17,2713 62722 BZMF LASTCHG # TIME6 + T6NEXT - T IS IN A
057798,000651:
057799,000652: 17,2714 23455 LXCH T6NEXT +1
057800,000653: 17,2715 53457 DXCH T6FURTHA
057801,000654: 17,2716 00006 EXTEND
057802,000655: 17,2717 60031 SU TIME6
057803,000656: 17,2720 53455 DXCH T6NEXT
057804,000657:
057805,000658: 17,2721 00002 TC Q
057806,000659:
057807,000660: 17,2722 40000 LASTCHG CS A
057808,000661: 17,2723 65027 AD NEG0
057809,000662: 17,2724 55456 TS T6FURTHA
057810,000663:
057811,000664: 17,2725 00002 TC Q
057812,000665:
057813,000666: 17,2726 55734 ROT45DEG TS ROTEMP1
057814,000667: 17,2727 60001 AD L
057815,000668: 17,2730 55735 TS ROTEMP2
057816,000669: 17,2731 12737 TCF +6
057817,000670: 17,2732 10000 CCS A
057818,000671: 17,2733 35006 CA POSMAX
057819,000672: 17,2734 12736 TCF +2
057820,000673: 17,2735 35010 CA NEGMAX
057821,000674: 17,2736 55735 TS ROTEMP2 # Q+R
057822,000675: 17,2737 41734 CS ROTEMP1
057823,000676: 17,2740 60001 AD L
057824,000677: 17,2741 55734 TS ROTEMP1 # R-Q
057825,000678: 17,2742 12746 TCF +4
057826,000679: 17,2743 00006 EXTEND
057827,000680: 17,2744 75006 MP POSMAX
057828,000681: 17,2745 30001 CA L
057829,000682: 17,2746 00006 EXTEND
057830,000683: 17,2747 72755 MP .707
057831,000684: 17,2750 57735 XCH ROTEMP2
057832,000685: 17,2751 00006 EXTEND
057833,000686: 17,2752 72755 MP .707
057834,000687: 17,2753 23735 LXCH ROTEMP2
057835,000688: 17,2754 00002 TC Q
057836,000689:
057837,000690: 17,2755 26501 .707 DEC .70711
057838,000691:
057839,000692: 17,2756 51741 SELCTSUB INDEX ROTINDEX
057840,000693: 17,2757 33010 CA ALLJETS
057841,000694: 17,2760 51740 INDEX NUMBERT
057842,000695: 17,2761 73014 MASK TYPEPOLY
057843,000696: 17,2762 55736 TS POLYTEMP
057844,000697:
057845,000698: 17,2763 71264 MASK CH5MASK
057846,000699: 17,2764 10000 CCS A
057847,000700: 17,2765 12767 TCF +2
057848,000701: 17,2766 00002 TC Q
057849,000702:
057850,000703: 17,2767 36221 CA THREE
057851,000704: 17,2770 55740 FAILOOP TS NUMBERT
057852,000705: 17,2771 51741 INDEX ROTINDEX
057853,000706: 17,2772 33010 CA ALLJETS
057854,000707: 17,2773 51740 INDEX NUMBERT
057855,000708: 17,2774 73014 MASK TYPEPOLY
057856,000709: 17,2775 55736 TS POLYTEMP
057857,000710: 17,2776 71264 MASK CH5MASK
057858,000711: 17,2777 00006 EXTEND
057859,000712: 17,3000 12766 BZF FAILOOP -2
057860,000713: 17,3001 11740 CCS NUMBERT
057861,000714: 17,3002 12770 TCF FAILOOP
057862,000715: 17,3003 51471 INDEX AXISCTR
057863,000716: 17,3004 55517 TS TJU
057864,000717: 17,3005 05651 TC ALARM
057865,000718: 17,3006 02004 OCT 02004
057866,000719: 17,3007 12560 TCF NOROTAT
057867,000720: 17,3010 00110 ALLJETS OCT 00110 # -U 6 13
057868,000721: 17,3011 00022 OCT 00022 # -V 2 9
057869,000722: 17,3012 00204 OCT 00204 # +U 5 14
057870,000723: 17,3013 00041 OCT 00041 # +V 1 10
057871,000724: 17,3014 00125 TYPEPOLY OCT 00125 # -X 1 5 9 13
057872,000725: 17,3015 00252 OCT 00252 # +X 2 6 10 14
057873,000726: 17,3016 00146 OCT 00146 # A 2 5 10 13
057874,000727: 17,3017 00231 OCT 00231 # B 1 6 9 14
057875,000728: 17,3020 00377 OCT 00377 # ALL 1 2 5 6 9 10 13 14
057876,000729:
057877,000730: # THE FOLLOWING SETS THE INTERRUPT FLIP-FLOP AS SOON AS POSSIBLE, WHICH PERMITS A RETURN TO THE INTERRUPTED JOB.
057878,000731:
057879,000732: 17,3021 33023 CLOSEOUT CA ADRRUPT
057880,000733: 17,3022 07774 TC MAKERUPT
057881,000734:
057882,000735: 17,3023 03024 ADRRUPT ADRES ENDJASK
057883,000736:
057884,000737: 17,3024 53747 ENDJASK DXCH DAPARUPT
057885,000738: 17,3025 52011 DXCH ARUPT
057886,000739: 17,3026 53751 DXCH DAPBQRPT
057887,000740: 17,3027 56017 XCH BRUPT
057888,000741: 17,3030 22002 LXCH Q
057889,000742: 17,3031 35010 CAF NEGMAX # NEGATIVE DAPZRUPT SIGNALS JASK IS OVER.
057890,000743: 17,3032 53753 DXCH DAPZRUPT
057891,000744: 17,3033 52016 DXCH ZRUPT
057892,000745: 17,3034 15342 TCF NOQRSM
057893,000746:
057894,000747:
057895,000748: 7774 BLOCK 3
057896,000749: 6000 SETLOC FFTAG6
057897,000750: 6000 BANK
057898,000751: 7774 COUNT* $$/DAP
057899,000752:
057900,000753: 7774 00006 MAKERUPT EXTEND
057901,000754: 7775 07774 EDRUPT MAKERUPT
057902,000755:
End of include-file Q,R-AXES_RCS_AUTOPILOT.agc. Parent file is MAIN.agc