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