Source Code
![]() |
This is a reconstruction of the AGC program Luminary 99 Rev 0. It was the
second release of the Lunar Module flight software targeted for use in Apollo 11, after Luminary 97.
A bug (which had been around since at least Apollo 10, Luminary 69) was
discovered in Rev 0 shortly before the Apollo 11 flight, resulting in a last minute
revision into Rev 1,
which is what actually flew rather than
the Rev 0 presented here. A hardcopy of Rev 0 is known to
exist — it belonged to AGC developer Allan Klumpp for many years — but
unfortunately the Virtual AGC Project has not had access to that hardcopy. Thus
the code you see here had been reconstructed (we believe accurately) rather than
transcribed. The first step of the reconstruction of the Rev 0 source code was
the transcription of the Rev 1 source code from a hardcopy in the MIT Museum collection.
The process of reverting the active portion of the source code (i.e., other than
program comments) from Rev 1 to Rev 0 was very minor, consisting
only of moving the position of the STARTSB1 label in
FRESH START AND RESTART. Allan had previously given
us the checksums of the memory banks of Rev 0, and we have verified the program presented here has checksums
identical to all banks of Allan's listing of Rev 0. The notations on Allan's Rev 0 program listing read,
in part:GAP: ASSEMBLE REVISION 099 OF AGC PROGRAM LUMINARY BY NASA 2021112-051 A single program comment is known to differ between Rev 0 and Rev 1, but these are harder to reconstruct and verify than changes to the active portion of the code. Thus it is possible that there are additional differences between the program comments in Rev 0 and Rev 1 that are unknown to us, and therefore are not reflected in the code presented here. |
062277,000002: ## Copyright: Public domain.
062278,000003: ## Filename: P-AXIS_RCS_AUTOPILOT.agc
062279,000004: ## Purpose: Part of the reconstructed source code for LMY99 Rev 0,
062280,000005: ## otherwise known as Luminary Rev 99, the second release
062281,000006: ## of the Apollo Guidance Computer (AGC) software for Apollo 11.
062282,000007: ## It differs from LMY99 Rev 1 (the flown version) only in the
062283,000008: ## placement of a single label. The corrections shown here have
062284,000009: ## been verified to have the same bank checksums as AGC developer
062285,000010: ## Allan Klumpp's copy of Luminary Rev 99, and so are believed
062286,000011: ## to be accurate. This file is intended to be a faithful
062287,000012: ## recreation, except that the code format has been changed to
062288,000013: ## conform to the requirements of the yaYUL assembler rather than
062289,000014: ## the original YUL assembler.
062290,000015: ##
062291,000016: ## Assembler: yaYUL
062292,000017: ## Contact: Ron Burkey <info@sandroid.org>.
062293,000018: ## Website: www.ibiblio.org/apollo.
062294,000019: ## Pages: 1421-1441
062295,000020: ## Mod history: 2009-05-27 RSB Adapted from the corresponding
062296,000021: ## Luminary131 file, using page
062297,000022: ## images from Luminary 1A.
062298,000023: ## 2009-06-05 RSB Corrected a relative jump from
062299,000024: ## +8 to +8D.
062300,000025: ## 2009-06-07 RSB Corrected a typo.
062301,000026: ## 2011-01-06 JL Fixed pseudo-label indentation.
062302,000027: ## 2011-01-06 JL Added missing comment characters.
062303,000028: ## 2016-12-18 RSB Proofed text comments with octopus/ProoferComments
062304,000029: ## and corrected the errors found.
062305,000030: ## 2017-03-14 RSB Comment-text fixes noted in proofing Luminary 116.
062306,000031: ## 2017-03-16 RSB Comment-text fixes identified in 5-way
062307,000032: ## side-by-side diff of Luminary 69/99/116/131/210.
062308,000033: ## 2017-08-01 MAS Created from LMY99 Rev 1.
062309,000034:
062310,000035: ## This source code has been transcribed or otherwise adapted from
062311,000036: ## digitized images of a hardcopy from the MIT Museum. The digitization
062312,000037: ## was performed by Paul Fjeld, and arranged for by Deborah Douglas of
062313,000038: ## the Museum. Many thanks to both. The images (with suitable reduction
062314,000039: ## in storage size and consequent reduction in image quality as well) are
062315,000040: ## available online at www.ibiblio.org/apollo. If for some reason you
062316,000041: ## find that the images are illegible, contact me at info@sandroid.org
062317,000042: ## about getting access to the (much) higher-quality images which Paul
062318,000043: ## actually created.
062319,000044: ##
062320,000045: ## The code has been modified to match LMY99 Revision 0, otherwise
062321,000046: ## known as Luminary Revision 99, the Apollo 11 software release preceeding
062322,000047: ## the listing from which it was transcribed. It has been verified to
062323,000048: ## contain the same bank checksums as AGC developer Allan Klumpp's listing
062324,000049: ## of Luminary Revision 99 (for which we do not have scans).
062325,000050: ##
062326,000051: ## Notations on Allan Klumpp's listing read, in part:
062327,000052: ##
062328,000053: ## ASSEMBLE REVISION 099 OF AGC PROGRAM LUMINARY BY NASA 2021112-51
062329,000054:
![]() |
Page 1421 |
062331,000056: 16,2213 BANK 16
062332,000057: 16,2000 SETLOC DAPS1
062333,000058: 16,2000 BANK
062334,000059:
062335,000060: 16,2213 E6,1464 EBANK= PERROR
062336,000061: 16,2213 COUNT* $$/DAPP
062337,000062:
062338,000063: # THE FOLLOWING T5RUPT ENTRY BEGINS THE PROGRAM WHICH CONTROLS THE P-AXIS ACTION OF THE LEM USING THE RCS JETS.
062339,000064: # THE NOMINAL TIME BETWEEN THE P-AXIS RUPTS IS 100 MS IN ALL NON-IDLING MODES OF THE DAP.
062340,000065:
062341,000066: 16,2213 37727 PAXIS CA MS100
062342,000067: 16,2214 26030 ADS TIME5 # *** NECESSARY IN ORDER TO ALLOW SYN-
062343,000068: # CHRONIZATION WITH OTHER INTERRUPTS ***
062344,000069:
062345,000070: 16,2215 22016 LXCH BANKRUPT # INTERRUPT LEAD IN (CONTINUED)
062346,000071: 16,2216 00006 EXTEND
062347,000072: 16,2217 22012 QXCH QRUPT
062348,000073:
062349,000074: # CHECK IF DAP PASS IS PERMISSIBLE
062350,000075:
062351,000076: 16,2220 11757 CCS DAPZRUPT # IF DAPZRUPT POSITIVE, DAP (JASK) IS
062352,000077: 16,2221 05634 TC BAILOUT # STILL IN PROGRESS AND A RESTART IS
062353,000078: 16,2222 02000 OCT 02000 # CALLED FOR. IT IS NEVER ZERO.
062354,000079:
062355,000080: 16,2223 02000 TC CHEKBITS # RETURN IS TO I+1 IF DAP SHOULD STAY ON.
062356,000081:
062357,000082: 16,2224 30032 CA CDUX # READ AND STORE CDU'S
062358,000083: 16,2225 55750 TS DAPTREG4
062359,000084: 16,2226 30033 CA CDUY
062360,000085: 16,2227 55751 TS DAPTREG5
062361,000086: 16,2230 30034 CA CDUZ
062362,000087: 16,2231 55752 TS DAPTREG6
062363,000088:
062364,000089: # ***** KALCMANU-DAP AND "RATE-HOLD"-DAP INTERFACE *****
062365,000090:
062366,000091: # THE FOLLOWING SECTION IS EXECUTED EVERY 100 MS (10 TIMES A SECOND) WITHIN THE P-AXIS REACTION CONTROL SYSTEM
062367,000092: # AUTOPILOT (WHENEVER THE DAP IS IN OPERATION).
062368,000093:
062369,000094: 16,2232 31635 CA CDUXD
062370,000095: 16,2233 00006 EXTEND
062371,000096: 16,2234 21640 MSU DELCDUX
062372,000097: 16,2235 02256 TC 1STOTWOS
062373,000098: 16,2236 55635 TS CDUXD
062374,000099: 16,2237 31636 CA CDUYD
062375,000100: 16,2240 00006 EXTEND
062376,000101: 16,2241 21641 MSU DELCDUY
062377,000102: 16,2242 02256 TC 1STOTWOS
062378,000103: 16,2243 55636 TS CDUYD
062379,000104: 16,2244 31637 CA CDUZD
062380,000105: 16,2245 00006 EXTEND
062381,000106: 16,2246 21642 MSU DELCDUZ
![]() |
Page 1422 |
062383,000108: 16,2247 02256 TC 1STOTWOS
062384,000109: 16,2250 55637 TS CDUZD
062385,000110: 16,2251 00006 EXTEND # DIMINISH MANUAL CONTROL DIRECT RATE
062386,000111: 16,2252 27445 DIM TCP # TIME COUNTERS.
062387,000112: 16,2253 00006 EXTEND
062388,000113: 16,2254 27457 DIM TCQR
062389,000114:
062390,000115: # RATELOOP COMPUTES JETRATEQ, JETRATER, AND 1JACC*NO. PJETS IN ITEMP1.
062391,000116: # RETURNS TO BACKP.
062392,000117:
062393,000118: # JETRATE = 1JACC*NO.PJETS*TJP (NOTE TJ IS THE TIME FIRED DURING CSP)
062394,000119: # JETRATEQ = 1JACCQ(TJU*NO.UJETS - TJV*NO.VJETS)
062395,000120: # JETRATER = 1JACCR(TJU*NO.UJETS + TJV*NO.VJETS)
062396,000121:
062397,000122: 16,2255 12647 TCF PAXFILT # PROCEEDS TO RATELOOP AFTER SUPERJOB
062398,000123: 16,2256 10000 1STOTWOS CCS A
062399,000124: 16,2257 64753 AD ONE
062400,000125: 16,2260 00002 TC Q
062401,000126: 16,2261 40000 CS A
062402,000127: 16,2262 00002 TC Q
062403,000128: 16,2263 00006 SUBDIVDE EXTEND # OVERFLOW PROCTION ROUTINE TO GIVE
062404,000129: 16,2264 71741 MP DAPTEMP3 # POSMAX OR NEGMAX IF THE DIVIDE WOULD
062405,000130: 16,2265 21427 DAS OMEGAU # OVERFLOW
062406,000131:
062407,000132: 16,2266 00006 +3 EXTEND
062408,000133: 16,2267 31427 DCA OMEGAU
062409,000134: 16,2270 53744 DXCH DAPTEMP5
062410,000135: 16,2271 11426 CCS OMEGAU
062411,000136: 16,2272 12274 TCF +2
062412,000137: 16,2273 12304 TCF DIVIDER
062413,000138: 16,2274 62315 AD -OCT630
062414,000139: 16,2275 00006 EXTEND
062415,000140: 16,2276 62304 BZMF DIVIDER
062416,000141:
062417,000142: 16,2277 11426 CCS OMEGAU
062418,000143: 16,2300 34733 CA POSMAX # 45 DEG/SEC
062419,000144: 16,2301 00002 TC Q
062420,000145: 16,2302 44733 CS POSMAX
062421,000146: 16,2303 00002 TC Q
062422,000147:
062423,000148: 16,2304 53427 DIVIDER DXCH OMEGAU
062424,000149: 16,2305 00006 EXTEND
062425,000150: 16,2306 11750 DV DAPTREG4
062426,000151: 16,2307 00002 TC Q
062427,000152:
062428,000153: 16,2310 54007 OVERSUB TS 7 # RETURNS A UNCHANGED OR LIMITED TO
062429,000154: 16,2311 00002 TC Q # POSMAX OR NEGMAX IF A HAS OVERFLOW
062430,000155: 16,2312 50000 INDEX A
062431,000156: 16,2313 44734 CS BIT15 -1
![]() |
Page 1423 |
062433,000158: 16,2314 00002 TC Q
062434,000159:
062435,000160: 16,2315 77147 -OCT630 OCT 77147
062436,000161:
062437,000162: 16,2316 31737 BACKP CA DAPTEMP1
062438,000163: 16,2317 00006 EXTEND
062439,000164: 16,2320 71530 MP 1JACC
062440,000165: 16,2321 55745 TS JETRATE
062441,000166:
062442,000167: # BEGINNING OF THE RATE DERIVATION
062443,000168: # OMEGAP,Q,R BODY RATES SCALED AT PI/4
062444,000169: # TRAPER,Q,R BODY ANGLE ERRORS FROM PREDICTED ANGLE (PI/40)
062445,000170: # NP(QR)TRAPS NUMBER OF TIMES ANGLE ERROR HAS BEEN ACCUMULATED
062446,000171: # AOSQ(R)TERM CHANGE IN RATE DUE TO OFFSET ACCELLERATION. (PI/4)
062447,000172: # JETRATE,Q,R CHANGE IN RATE DUE TO JET ACCELLERATION. (PI/4)
062448,000173: # TRAPSIZE NEGATIVE LIMIT OF MAGNITUDE OF TRAPEDP, ECT.
062449,000174: # OMEGAU DP-TEMPORARY STORAGE
062450,000175: # OMEGA = OMEGA + JETRATE + AOSTERM (+TRAPED/NTRAPS IF TRAPED BIG)
062451,000176:
062452,000177: 16,2322 31750 CAE DAPTREG4 # CDUX IS STORED HERE
062453,000178: 16,2323 54001 TS L
062454,000179: 16,2324 00006 EXTEND
062455,000180: 16,2325 21440 MSU OLDXFORP # SCALED AT PI
062456,000181: 16,2326 23440 LXCH OLDXFORP
062457,000182: 16,2327 55737 TS DAPTEMP1
062458,000183: 16,2330 33620 CA 1/40
062459,000184: 16,2331 55750 TS DAPTREG4
062460,000185: 16,2332 41745 CS JETRATE
062461,000186: 16,2333 00006 EXTEND
062462,000187: 16,2334 74736 MP BIT14
062463,000188: 16,2335 27430 ADS TRAPEDP
062464,000189: 16,2336 31746 CA JETRATEQ
062465,000190: 16,2337 61545 AD AOSQTERM
062466,000191: 16,2340 00006 EXTEND
062467,000192: 16,2341 77736 MP -BIT14
062468,000193: 16,2342 27431 ADS TRAPEDQ
062469,000194: 16,2343 31747 CA JETRATER
062470,000195: 16,2344 61546 AD AOSRTERM
062471,000196: 16,2345 00006 EXTEND
062472,000197: 16,2346 77736 MP -BIT14
062473,000198: 16,2347 27432 ADS TRAPEDR
062474,000199:
062475,000200: 16,2350 31751 CA DAPTREG5 # CDUY IS STORED HERE
062476,000201: 16,2351 54001 TS L
062477,000202: 16,2352 00006 EXTEND
062478,000203: 16,2353 21441 MSU OLDYFORP # SCALED AT PI
062479,000204: 16,2354 23441 LXCH OLDYFORP
062480,000205: 16,2355 55740 TS DAPTEMP2
062481,000206: 16,2356 00006 EXTEND
062482,000207: 16,2357 71414 MP M11 # M11 SCALED AT 1
![]() |
Page 1424 |
062484,000209: 16,2360 61737 AD DAPTEMP1
062485,000210: 16,2361 53427 DXCH OMEGAU
062486,000211:
062487,000212: 16,2362 02266 TC SUBDIVDE +3 # RETURNS WITH CDU-RATE AT PI/4
062488,000213:
062489,000214: 16,2363 00006 EXTEND
062490,000215: 16,2364 61421 SU OMEGAP
062491,000216: 16,2365 27430 ADS TRAPEDP
062492,000217: 16,2366 02310 TC OVERSUB
062493,000218: 16,2367 55430 TS TRAPEDP
062494,000219: 16,2370 00006 EXTEND
062495,000220: 16,2371 31744 DCA DAPTEMP5
062496,000221: 16,2372 21447 DAS DXERROR
062497,000222: 16,2373 41454 CS PLAST
062498,000223: 16,2374 00006 EXTEND
062499,000224: 16,2375 73620 MP 1/40
062500,000225: 16,2376 21447 DAS DXERROR # MANUAL MODE X-ATTITUDE ERROR (DP)
062501,000226: 16,2377 31752 CA DAPTREG6 # CDUZ IS STORED HERE
062502,000227: 16,2400 54001 TS L
062503,000228: 16,2401 00006 EXTEND
062504,000229: 16,2402 21442 MSU OLDZFORQ
062505,000230: 16,2403 55741 TS DAPTEMP3
062506,000231: 16,2404 23442 LXCH OLDZFORQ
062507,000232: 16,2405 31415 CA M21
062508,000233: 16,2406 00006 EXTEND
062509,000234: 16,2407 71740 MP DAPTEMP2
062510,000235: 16,2410 53427 DXCH OMEGAU
062511,000236: 16,2411 31417 CA M22
062512,000237: 16,2412 02263 TC SUBDIVDE
062513,000238:
062514,000239: 16,2413 00006 EXTEND
062515,000240: 16,2414 61422 SU OMEGAQ
062516,000241: 16,2415 27431 ADS TRAPEDQ
062517,000242: 16,2416 02310 TC OVERSUB
062518,000243: 16,2417 55431 TS TRAPEDQ
062519,000244: 16,2420 00006 EXTEND
062520,000245: 16,2421 31744 DCA DAPTEMP5
062521,000246: 16,2422 21451 DAS DYERROR
062522,000247: 16,2423 41455 CS QLAST
062523,000248: 16,2424 00006 EXTEND
062524,000249: 16,2425 73620 MP 1/40
062525,000250: 16,2426 21451 DAS DYERROR # MANUAL MODE Y-ATTITUDE ERROR (DP)
062526,000251: 16,2427 31416 CA M31
062527,000252: 16,2430 00006 EXTEND
062528,000253: 16,2431 71740 MP DAPTEMP2
062529,000254: 16,2432 53427 DXCH OMEGAU
062530,000255: 16,2433 31420 CA M32
062531,000256:
062532,000257: 16,2434 02263 TC SUBDIVDE
![]() |
Page 1425 |
062534,000259: 16,2435 00006 EXTEND
062535,000260: 16,2436 61423 SU OMEGAR
062536,000261: 16,2437 27432 ADS TRAPEDR
062537,000262: 16,2440 02310 TC OVERSUB
062538,000263: 16,2441 55432 TS TRAPEDR # TRAPEDS HAVE ALL BEEN COMPUTED
062539,000264:
062540,000265: 16,2442 00006 EXTEND
062541,000266: 16,2443 31744 DCA DAPTEMP5
062542,000267: 16,2444 21453 DAS DZERROR
062543,000268: 16,2445 41456 CS RLAST
062544,000269: 16,2446 00006 EXTEND
062545,000270: 16,2447 73620 MP 1/40
062546,000271: 16,2450 21453 DAS DZERROR # MANUAL MODE Z-ATTITUDE ERROR (DP)
062547,000272: 16,2451 30111 CA DAPBOOLS # PICK UP PAD LOADED STATE ESTIMATOR GAINS
062548,000273: 16,2452 74737 MASK CSMDOCKD
062549,000274: 16,2453 00006 EXTEND
062550,000275: 16,2454 12462 BZF LMONLY
062551,000276: 16,2455 00006 EXTEND # DOCKED
062552,000277: 16,2456 31405 DCA DKOMEGAN
062553,000278: 16,2457 53751 DXCH DAPTREG4
062554,000279: 16,2460 31403 CA DKTRAP
062555,000280: 16,2461 12466 TCF +5
062556,000281: 16,2462 00006 LMONLY EXTEND # UNDOCKED
062557,000282: 16,2463 31410 DCA LMOMEGAN
062558,000283: 16,2464 53751 DXCH DAPTREG4
062559,000284: 16,2465 31406 CA LMTRAP
062560,000285: 16,2466 55752 +5 TS DAPTREG6
062561,000286: 16,2467 11430 CCS TRAPEDP
062562,000287: 16,2470 12472 TCF +2
062563,000288: 16,2471 12507 TCF SMALPDIF
062564,000289: 16,2472 61752 AD DAPTREG6 # TRAPSIZE > ABOUT 77001 %-1.4DEG/SEC"
062565,000290: 16,2473 00006 EXTEND
062566,000291: 16,2474 62507 BZMF SMALPDIF
062567,000292: 16,2475 22007 ZL
062568,000293: 16,2476 23430 LXCH TRAPEDP
062569,000294: 16,2477 34755 CA ZERO
062570,000295: 16,2500 00006 EXTEND
062571,000296: 16,2501 11433 DV NPTRAPS
062572,000297: 16,2502 27421 ADS OMEGAP
062573,000298: 16,2503 02310 TC OVERSUB
062574,000299: 16,2504 55421 TS OMEGAP
062575,000300: 16,2505 31750 CA DAPTREG4 # ABOUT 10 OR 0 FOR DOCKED OR UNDOCKED
062576,000301: 16,2506 55433 TS NPTRAPS
062577,000302: 16,2507 25433 SMALPDIF INCR NPTRAPS
062578,000303: 16,2510 31745 P-RATE CA JETRATE
062579,000304: 16,2511 27421 ADS OMEGAP
062580,000305: 16,2512 02310 TC OVERSUB
062581,000306: 16,2513 55421 TS OMEGAP
062582,000307:
062583,000308: 16,2514 11431 CCS TRAPEDQ
![]() |
Page 1426 |
062585,000310: 16,2515 12517 TCF +2
062586,000311: 16,2516 12544 TCF Q-RATE
062587,000312: 16,2517 61752 AD DAPTREG6 # TRAPSIZE > ABOUT 77001 %-1.4DEG/SEC"
062588,000313: 16,2520 00006 EXTEND
062589,000314: 16,2521 62544 BZMF Q-RATE
062590,000315: 16,2522 22007 ZL
062591,000316: 16,2523 23431 LXCH TRAPEDQ
062592,000317: 16,2524 34755 CA ZERO
062593,000318: 16,2525 00006 EXTEND
062594,000319: 16,2526 11434 DV NQTRAPS
062595,000320: 16,2527 55737 TS DAPTEMP1 # SAVE FOR OFFSET ESTIMATE
062596,000321: 16,2530 27422 ADS OMEGAQ
062597,000322: 16,2531 02310 TC OVERSUB
062598,000323: 16,2532 55422 TS OMEGAQ
062599,000324: 16,2533 31750 CA DAPTREG4 # ABOUT 10 OR 0 FOR DOCKED OR UNDOCKED
062600,000325: 16,2534 57434 XCH NQTRAPS
062601,000326: 16,2535 61751 AD DAPTREG5 # KAOS > ABOUT 60D %N/N_60"
062602,000327: 16,2536 57737 XCH DAPTEMP1
062603,000328: 16,2537 00006 EXTEND
062604,000329: 16,2540 74756 MP FIVE
062605,000330: 16,2541 00006 EXTEND
062606,000331: 16,2542 11737 DV DAPTEMP1
062607,000332: 16,2543 27537 ADS AOSQ
062608,000333: 16,2544 25434 Q-RATE INCR NQTRAPS
062609,000334: 16,2545 31746 CA JETRATEQ
062610,000335: 16,2546 61545 AD AOSQTERM
062611,000336: 16,2547 27422 ADS OMEGAQ
062612,000337: 16,2550 02310 TC OVERSUB
062613,000338: 16,2551 55422 TS OMEGAQ
062614,000339:
062615,000340: 16,2552 11432 CCS TRAPEDR
062616,000341: 16,2553 12555 TCF +2
062617,000342: 16,2554 12602 TCF R-RATE
062618,000343: 16,2555 61752 AD DAPTREG6 # TRAPSIZE > ABOUT 77001 %-1.4DEG/SEC"
062619,000344: 16,2556 00006 EXTEND
062620,000345: 16,2557 62602 BZMF R-RATE
062621,000346: 16,2560 22007 ZL
062622,000347: 16,2561 23432 LXCH TRAPEDR
062623,000348: 16,2562 34755 CA ZERO
062624,000349: 16,2563 00006 EXTEND
062625,000350: 16,2564 11435 DV NRTRAPS
062626,000351: 16,2565 55740 TS DAPTEMP2 # SAVE FOR OFFSET ESTIMATE
062627,000352: 16,2566 27423 ADS OMEGAR
062628,000353: 16,2567 02310 TC OVERSUB
062629,000354: 16,2570 55423 TS OMEGAR
062630,000355: 16,2571 31750 CA DAPTREG4 # ABOUT 10 OR 0 FOR DOCKED OR UNDOCKED
062631,000356: 16,2572 57435 XCH NRTRAPS
062632,000357: 16,2573 61751 AD DAPTREG5 # KAOS > ABOUT 60D %N/N_60"
062633,000358: 16,2574 57740 XCH DAPTEMP2
062634,000359: 16,2575 00006 EXTEND
![]() |
Page 1427 |
062636,000361: 16,2576 74756 MP FIVE
062637,000362: 16,2577 00006 EXTEND
062638,000363: 16,2600 11740 DV DAPTEMP2
062639,000364: 16,2601 27541 ADS AOSR
062640,000365: 16,2602 25435 R-RATE INCR NRTRAPS
062641,000366: 16,2603 31747 CA JETRATER
062642,000367: 16,2604 61546 AD AOSRTERM
062643,000368: 16,2605 27423 ADS OMEGAR
062644,000369: 16,2606 02310 TC OVERSUB
062645,000370: 16,2607 55423 TS OMEGAR
062646,000371:
062647,000372: # END OF RATE DERIVATION
062648,000373: # BEGIN OFFSET ESTIMATER
062649,000374: # IN POWERED FLIGHT, AOSTASK WILL BE CALLED EVERY 2 SECONDS.
062650,000375: # AOS = AOS + K*SUMRATE
062651,000376:
062652,000377: 16,2610 40111 CS DAPBOOLS
062653,000378: 16,2611 74744 MASK DRIFTBIT
062654,000379: 16,2612 10000 CCS A
062655,000380: 16,2613 12624 TCF WORKTIME
062656,000381: 16,2614 55424 TS ALPHAQ # ZERO THE OFFSET ACCELERATION VALUES.
062657,000382: 16,2615 55425 TS ALPHAR
062658,000383: 16,2616 55545 TS AOSQTERM
062659,000384: 16,2617 55546 TS AOSRTERM
062660,000385: 16,2620 55537 TS AOSQ
062661,000386: 16,2621 55541 TS AOSR
062662,000387: 16,2622 12667 TCF PRETIMCK
062663,000388: 16,2623 00074 KAOS DEC 60 B-14
062664,000389: 16,2624 31510 WORKTIME CA QACCDOT
062665,000390: 16,2625 00006 EXTEND
062666,000391: 16,2626 74766 MP CALLCODE # OCTAL 00032 IS DECIMAL .1 AT 2(6).
062667,000392: 16,2627 21540 DAS AOSQ
062668,000393: 16,2630 31537 CA AOSQ
062669,000394: 16,2631 55424 TS ALPHAQ
062670,000395: 16,2632 00006 EXTEND
062671,000396: 16,2633 73616 MP 200MS # .2 AT 1
062672,000397: 16,2634 55545 TS AOSQTERM
062673,000398: 16,2635 31512 CA RACCDOT
062674,000399: 16,2636 00006 EXTEND
062675,000400: 16,2637 74766 MP CALLCODE # OCTAL 00032 IS DECIMAL .1 AT 2(6).
062676,000401: 16,2640 21542 DAS AOSR
062677,000402: 16,2641 31541 CA AOSR
062678,000403: 16,2642 55425 TS ALPHAR
062679,000404: 16,2643 00006 EXTEND
062680,000405: 16,2644 73616 MP 200MS # .2 AT 1
062681,000406: 16,2645 55546 TS AOSRTERM
062682,000407: 16,2646 12667 TCF PRETIMCK
062683,000408:
![]() |
Page 1428 |
062685,000410: 16,2647 34747 PAXFILT CA CALLGMBL # EXECUTE ACDT+C12, IF NEEDED.
062686,000411: 16,2650 71273 MASK RCSFLAGS
062687,000412: 16,2651 10000 CCS A # CALLGMBL IS NOT BIT15, SO THIS TEST IS
062688,000413: 16,2652 03736 TC ACDT+C12 # VALID.
062689,000414:
062690,000415: 16,2653 52011 DXCH ARUPT
062691,000416: 16,2654 53754 DXCH DAPARUPT
062692,000417: 16,2655 32666 CA SUPERJOB # SETTING UP THE SUPERJOB
062693,000418: 16,2656 56017 XCH BRUPT
062694,000419: 16,2657 22012 LXCH QRUPT
062695,000420: 16,2660 53756 DXCH DAPBQRPT
062696,000421: 16,2661 32665 CA SUPERADR
062697,000422: 16,2662 52016 DXCH ZRUPT
062698,000423: 16,2663 53760 DXCH DAPZRUPT
062699,000424: 16,2664 15275 TCF NOQBRSM +1 # RELINT (JUST IN CASE) AND RESUME, IN THE
062700,000425: # FORM OF A JASK, AT SUPERJOB.
062701,000426:
062702,000427: 16,2665 02667 SUPERADR GENADR SUPERJOB +1
062703,000428:
062704,000429: # COUNT DOWN GIMBAL DRIVE TIMERS AND TURN OFF DRIVES IF REQUIRED.
062705,000430:
062706,000431: 16,2666 13641 SUPERJOB TCF RATELOOP
062707,000432: 16,2667 11632 PRETIMCK CCS QGIMTIMR
062708,000433: 16,2670 12710 TCF DECQTIMR # POSITIVE - COUNTING DOWN
062709,000434: 16,2671 12714 TCF TURNOFFQ # NEGATIVE - DRIVE SHOULD BE ENDED
062710,000435: 16,2672 11634 CHKRTIMR CCS RGIMTIMR # NEGATIVE - INACTIVE
062711,000436: 16,2673 12712 TCF DECRTIMR # (NEG ZERO - IMPOSSIBLE)
062712,000437: 16,2674 12724 TCF TURNOFFR # REPEATED (ABOVE) FOR R AXIS.
062713,000438:
062714,000439: 16,2675 00006 EXTEND # DECREMENT DOCKED JET INHIBITION COUNTERS
062715,000440: 16,2676 27767 DIM PJETCTR
062716,000441: 16,2677 00006 EXTEND
062717,000442: 16,2700 27770 DIM UJETCTR
062718,000443: 16,2701 00006 EXTEND
062719,000444: 16,2702 27771 DIM VJETCTR
062720,000445: 16,2703 34740 CA BIT12
062721,000446: 16,2704 71273 MASK RCSFLAGS
062722,000447: 16,2705 00006 EXTEND
062723,000448: 16,2706 12734 BZF SKIPPAXS
062724,000449: 16,2707 02740 TC CHKVISFZ
062725,000450: 16,2710 55632 DECQTIMR TS QGIMTIMR # COUNT TIMERS DOWN TO POS ZERO.
062726,000451: 16,2711 12672 TCF CHKRTIMR
062727,000452: 16,2712 55634 DECRTIMR TS RGIMTIMR
062728,000453: 16,2713 12675 TCF CHKRTIMR +3
062729,000454:
062730,000455: 16,2714 55501 TURNOFFQ TS NEGUQ # HALT DRIVES.
062731,000456: 16,2715 55510 TS QACCDOT
062732,000457: 16,2716 45007 CS QGIMBITS
062733,000458: 16,2717 00006 EXTEND
![]() |
Page 1429 |
062735,000460: 16,2720 03012 WAND CHAN12
062736,000461: 16,2721 34735 CAF NEGMAX
062737,000462: 16,2722 55632 TS QGIMTIMR
062738,000463: 16,2723 12672 TCF CHKRTIMR
062739,000464: 16,2724 55503 TURNOFFR TS NEGUR
062740,000465: 16,2725 55512 TS RACCDOT
062741,000466: 16,2726 45020 CS RGIMBITS
062742,000467: 16,2727 00006 EXTEND
062743,000468: 16,2730 03012 WAND CHAN12
062744,000469: 16,2731 34735 CAF NEGMAX
062745,000470: 16,2732 55634 TS RGIMTIMR
062746,000471: 16,2733 12675 TCF CHKRTIMR +3
062747,000472: 16,2734 5007 QGIMBITS EQUALS OCT1400 # BITS 9 AND 10 (OF CHANNEL 12).
062748,000473: 16,2734 5020 RGIMBITS EQUALS PRIO6 # BITS 11 AND 12 (OF CHANNEL 12).
062749,000474:
062750,000475: 16,2734 41273 SKIPPAXS CS RCSFLAGS
062751,000476: 16,2735 74740 MASK BIT12
062752,000477: 16,2736 27273 ADS RCSFLAGS # BIT 12 SET TO 1.
062753,000478: 16,2737 13624 TCF QRAXIS # GO TO QRAXIS OR TO GTS.
062754,000479:
062755,000480: # Y-Z TRANSLATION
062756,000481:
062757,000482: # INPUT: BITS 9-12 OF CH31 (FROM TRANSLATION CONTROLER)
062758,000483:
062759,000484: # OUTPUT: NEXTP
062760,000485:
062761,000486: # NEXTP IS THE CHANNEL 6 CODE OF JETS FOR THE DESIRED TRANSLATION.
062762,000487: # IF THERE ARE FAILURES IN THE DESIRED POLICY, THEN
062763,000488: # (1) FOR DIAGONAL TRANS: UNFAILED PAIR
062764,000489: # ALARM (IF NO PAIR)
062765,000490: # (2) FOR PRINCIPAL TRANS: TRY TO TACK WITH DIAGONAL PAIRS
062766,000491: # ALARM (IF DIAGONAL PAIRS ARE FAILED)
062767,000492:
062768,000493: 16,2740 00006 CHKVISFZ EXTEND
062769,000494: 16,2741 00031 READ CHAN31
062770,000495: 16,2742 40000 CS A
062771,000496: 16,2743 73613 MASK 07400OCT
062772,000497: 16,2744 00006 EXTEND
062773,000498: 16,2745 13014 BZF TSNEXTP
062774,000499: 16,2746 00006 EXTEND
062775,000500: 16,2747 74745 MP BIT7
062776,000501: 16,2750 50000 INDEX A
062777,000502: 16,2751 33572 CA INDXYZ
062778,000503: 16,2752 55744 TS ROTINDEX
062779,000504: 16,2753 36242 TRYUORV CA SIX
062780,000505: 16,2754 03551 TC SELECTYZ
062781,000506: 16,2755 46242 CS SIX
062782,000507: 16,2756 61743 AD NUMBERT
062783,000508: 16,2757 00006 EXTEND
![]() |
Page 1430 |
062785,000510: 16,2760 13013 BZF TSNEXTP -1
062786,000511: 16,2761 44756 CS FIVE
062787,000512: 16,2762 61744 AD ROTINDEX
062788,000513: 16,2763 00006 EXTEND
062789,000514: 16,2764 63002 BZMF ALTERYZ
062790,000515: 16,2765 41743 CS NUMBERT
062791,000516: 16,2766 64751 AD FOUR
062792,000517: 16,2767 00006 EXTEND
062793,000518: 16,2770 63013 BZMF TSNEXTP -1
062794,000519: 16,2771 05567 ABORTYZ TC ALARM
062795,000520: 16,2772 02001 OCT 02001
062796,000521: 16,2773 34753 CA BIT1 # INVERT BIT 1 OF RCSFLAGS.
062797,000522: 16,2774 23273 LXCH RCSFLAGS
062798,000523: 16,2775 00006 EXTEND
062799,000524: 16,2776 06001 RXOR 1
062800,000525: 16,2777 55273 TS RCSFLAGS
062801,000526: 16,3000 34755 CA ZERO
062802,000527: 16,3001 13014 TCF TSNEXTP
062803,000528: 16,3002 34753 ALTERYZ CA BIT1 # INVERT BIT 1 OF RCSFLAGS.
062804,000529: 16,3003 23273 LXCH RCSFLAGS
062805,000530: 16,3004 00006 EXTEND
062806,000531: 16,3005 06001 RXOR 1
062807,000532: 16,3006 55273 TS RCSFLAGS
062808,000533: 16,3007 74753 MASK BIT1
062809,000534: 16,3010 64751 AD FOUR
062810,000535: 16,3011 27744 ADS ROTINDEX
062811,000536: 16,3012 12753 TCF TRYUORV
062812,000537: 16,3013 31741 CA POLYTEMP
062813,000538: 16,3014 55472 TSNEXTP TS NEXTP
062814,000539:
062815,000540: # STATE LOGIC
062816,000541: # CHECK IN ORDER: IF ON
062817,000542: # LPDPHASE GO TO PURGENCY
062818,000543: # PULSES MINIMUM PULSE LOGIC
062819,000544: # DETENT(BIT15 CH31) RATE COMMAND
062820,000545: # GO TO PURGENCY
062821,000546:
062822,000547: 16,3015 34737 CA BIT13 # CHECK STICK IF IN ATT. HOLD.
062823,000548: 16,3016 00006 EXTEND
062824,000549: 16,3017 02031 RAND CHAN31
062825,000550: 16,3020 00006 EXTEND
062826,000551: 16,3021 13027 BZF MANMODE
062827,000552:
062828,000553: 16,3022 30111 CA DAPBOOLS
062829,000554: 16,3023 74743 MASK XOVINHIB
062830,000555: 16,3024 10000 CCS A
062831,000556: 16,3025 13463 TCF PURGENCY # ATTITUDE STEER DURING VISIBILITY PHASE
062832,000557:
062833,000558: 16,3026 13071 TCF DETENTCK
062834,000559: 16,3027 34735 MANMODE CA PULSES # PULSES IS ONE FOR PULSE MODE
062835,000560: 16,3030 70111 MASK DAPBOOLS
![]() |
Page 1431 |
062837,000562: 16,3031 00006 EXTEND
062838,000563: 16,3032 13071 BZF DETENTCK # BRANCH FOR RATE COMMAND
062839,000564:
062840,000565: 16,3033 34755 CA ZERO
062841,000566: 16,3034 55464 TS PERROR
062842,000567:
062843,000568: # MINIMUM IMPULSE MODE
062844,000569:
062845,000570: 16,3035 30032 CA CDUX
062846,000571: 16,3036 55635 TS CDUXD
062847,000572:
062848,000573: 16,3037 11460 CCS OLDPMIN
062849,000574: 16,3040 13054 TCF CHECKP
062850,000575:
062851,000576: 16,3041 34751 FIREP CA BIT3
062852,000577: 16,3042 00006 EXTEND
062853,000578: 16,3043 02031 RAND CHAN31
062854,000579: 16,3044 00006 EXTEND
062855,000580: 16,3045 13064 BZF +XMIN
062856,000581:
062857,000582: 16,3046 34750 CA BIT4
062858,000583: 16,3047 00006 EXTEND
062859,000584: 16,3050 02031 RAND CHAN31
062860,000585: 16,3051 00006 EXTEND
062861,000586: 16,3052 13062 BZF -XMIN
062862,000587:
062863,000588: 16,3053 13442 TCF JETSOFF
062864,000589:
062865,000590: 16,3054 00006 CHECKP EXTEND
062866,000591: 16,3055 00031 READ CHAN31
062867,000592: 16,3056 40000 CS A
062868,000593: 16,3057 75751 MASK OCT14
062869,000594: 16,3060 55460 TS OLDPMIN
062870,000595: 16,3061 13442 TCF JETSOFF
062871,000596:
062872,000597: 16,3062 44363 -XMIN CS TEN # ANYTHING LESS THAN 14MS. CORRECTED
062873,000598: 16,3063 13065 TCF +2 # IN JET SELECTION ROUTINE
062874,000599: 16,3064 34363 +XMIN CA TEN
062875,000600: 16,3065 55524 TS TJP
062876,000601: 16,3066 34753 CA ONE
062877,000602: 16,3067 55460 TS OLDPMIN
062878,000603: 16,3070 13350 TCF PJETSLEC -6
062879,000604:
062880,000605: # MANUAL RATE COMMAND MODE
062881,000606: # ========================
062882,000607: # BY ROBERT F. STENGEL
062883,000608:
062884,000609: # THIS MODE PROVIDES RCAH MANUAL CONTROL THRU 2 CONTROL LAWS: 1) DIRECT RATE AND 2) PSEUDO-AUTO.
062885,000610: # THE DIRECT RATE MODE AFFORDS IMMEDIATE CONTROL WITHOUT OVERSHOOT. THE PSEUDO-AUTO MODE PROVIDES PRECISE
062886,000611: # RATE CONTROL AND ATTITUDE HOLD.
062887,000612:
![]() |
Page 1432 |
062889,000614: # IN DIRECT RATE, JETS ARE FIRED WHEN STICK POSITION CHANGES BY A FIXED NUMBER OF INCREMENTS IN ONE DAP CYCLE.
062890,000615: # THE 'BREAKOUT LEVEL' IS .6 D/S FOR LM-ONLY AND .3 D/S FOR CSM-DOCKED. THIS LAW NULLS THE RATE ERROR TO WITHIN
062891,000616: # THE 'TARGET DEADBAND', WHICH EQUALS THE BREAKOUT LEVEL.
062892,000617:
062893,000618: # IN PSEUDO-AUTO, BODY-FIXED RATE AND ATTITUDE ERRORS ARE SUPPLIED TO TJETLAW, WHICH EXERCISES CONTROL.
062894,000619: # CONTROL SWITCHES FROM DIRECT RATE TO PSEUDO-AUTO IF THE TARGET DB IS ACHIEVED OR IF TIME IN (1) EXCEEDS 4 SEC.
062895,000620: # IF THE INITIAL COMMAND DOES NOT EXCEED THE BREAKOUT LEVEL, CONTROL GOES TO PSEUDO-AUTO IMMEDIATELY.
062896,000621:
062897,000622: # SINCE P-AXIS CONTROL IS SEPARATE FROM Q,R AXES CONTROL, IT IS POSSIBLE TO USE (1) IN P-AXIS AND (2) IN Q,R AXES,
062898,000623: # OR VICE VERSA. THIS ALLOWS A DEGREE OF ATTITUDE HOLD IN UNCONTROLLED AXES. DUE TO U,V CONTROL, HOWEVER, Q AND
062899,000624: # R AXES ARE COUPLED AND MUST USE THE SAME CONTROL LAW.
062900,000625:
062901,000626: # HAND CONTROLLER COMMANDS ARE SCALED BY A LINEAR/QUADRATIC LAW. FOR THE LM-ALONE, MAXIMUM COMMANDED RATES ARE 20
062902,000627: # AND 4 D/S IN NORMAL AND FINE SCALING; HOWEVER, STICK SENSITIVITY AT ZERO COUNTS (OBTAINED AT A STICK DEFLECTION
062903,000628: # OF 2 DEGREES FROM THE CENTERED POSITION) IS .5 OR .1 D/S PER DEGREE. NORMAL AND FINE SCALINGS FOR THE CSM-DOCKED
062904,000629: # CASE IS AUTOMATICALLY SET TO 1/10 THE ABOVE VALUES. SCALING IS DETERMINED IN ROUTINE 3.
062905,000630:
062906,000631: # ZEROENBL ENABLES COUNTERS SO THEY CAN BE READ NEXT TIME
062907,000632: # JUSTOUT FIRST DETECTION OF OUT OF DETENT (BY OURRCBIT)
062908,000633:
062909,000634: 16,3071 00006 DETENTCK EXTEND
062910,000635: 16,3072 00031 READ CHAN31
062911,000636: 16,3073 55443 TS CH31TEMP
062912,000637: 16,3074 74735 MASK BIT15 # CHECK OUT-OF-DETENT BIT.
062913,000638: 16,3075 00006 EXTEND
062914,000639: 16,3076 13223 BZF RHCMOVED # BRANCH IF OUT OF DETENT.
062915,000640: 16,3077 34740 CAF OURRCBIT # IN DETENT. CHECK THE RATE COMMAND BIT.
062916,000641: 16,3100 70111 MASK DAPBOOLS
062917,000642: 16,3101 00006 EXTEND
062918,000643: 16,3102 13463 BZF PURGENCY # BRANCH IF NOT IN RATE COMMAND LAST PASS.
062919,000644:
062920,000645: # ........................................................................
062921,000646:
062922,000647: 16,3103 34743 CA BIT9 # JUST IN DETENT??
062923,000648: 16,3104 71273 MASK RCSFLAGS
062924,000649: 16,3105 00006 EXTEND
062925,000650: 16,3106 13120 BZF RUTH
062926,000651: 16,3107 34737 CAF BIT13 # CHECK FOR ATTITUDE HOLD.
062927,000652: 16,3110 00006 EXTEND
062928,000653: 16,3111 02031 RAND CHAN31
062929,000654: 16,3112 00006 EXTEND
062930,000655: 16,3113 13220 BZF RATEDAMP # BRANCH IF IN ATTITUDE HOLD.
062931,000656:
062932,000657: 16,3114 45014 CS BITS9,11 # IN AUTO.
062933,000658: 16,3115 71273 MASK RCSFLAGS # (X-AXIS OVERRIDE)
062934,000659: 16,3116 55273 TS RCSFLAGS # ZERO ORBIT (BIT 11) AND JUST-IN BIT (9).
062935,000660: 16,3117 13220 TCF RATEDAMP
062936,000661:
062937,000662: 16,3120 31273 RUTH CA RCSFLAGS
062938,000663: 16,3121 74742 MASK PBIT # IN ATTITUDE HOLD.
062939,000664: 16,3122 00006 EXTEND
062940,000665: 16,3123 13125 BZF +2 # BRANCH IF P-RATE DAMPING IS FINISHED.
062941,000666: 16,3124 13220 TCF RATEDAMP
062942,000667:
![]() |
Page 1433 |
062944,000669: 16,3125 31273 CA RCSFLAGS
062945,000670: 16,3126 74741 MASK QRBIT
062946,000671: 16,3127 00006 EXTEND
062947,000672: 16,3130 13136 BZF RATEDONE # BRANCH IF Q,R RATE DAMPING IS FINISHED.
062948,000673: 16,3131 13220 TCF RATEDAMP
062949,000674:
062950,000675: # ============================================
062951,000676:
062952,000677: 16,3132 00001 1/10SEC OCT 1
062953,000678: 16,3133 00050 40CYC OCT 50
062954,000679: 16,3134 74777 PQRBIT OCT 74777
062955,000680: 16,3135 5014 BITS9,11 EQUALS EBANK5
062956,000681: 16,3135 00056 LINRATP DEC 46 B-14
062957,000682:
062958,000683: # ============================================
062959,000684:
062960,000685: 16,3136 44740 RATEDONE CS OURRCBIT # MANUAL COMMAND AND DAMPING COMPLETED IN
062961,000686: 16,3137 00004 INHINT # ALL AXES.
062962,000687: 16,3140 70111 MASK DAPBOOLS
062963,000688: 16,3141 54111 TS DAPBOOLS
062964,000689:
062965,000690: # READ CDUS INTO CDU DESIRED REGISTERS
062966,000691:
062967,000692: 16,3142 34737 CAF BIT13
062968,000693: 16,3143 00006 EXTEND
062969,000694: 16,3144 02031 RAND CHAN31
062970,000695: 16,3145 00006 EXTEND
062971,000696: 16,3146 13152 BZF +4
062972,000697: 16,3147 30032 CA CDUX # (X-AXIS OVERRIDE)
062973,000698: 16,3150 55635 TS CDUXD
062974,000699: 16,3151 03154 TC +3
062975,000700: 16,3152 04674 TC IBNKCALL
062976,000701: 16,3153 40153 FCADR ZATTEROR
062977,000702: 16,3154 00003 RELINT
062978,000703: 16,3155 13463 TCF PURGENCY
062979,000704:
062980,000705: 16,3156 55464 TS PERROR
062981,000706: 16,3157 34740 JUSTOUT CA OURRCBIT # INITIALIZATION - FIRST MANUAL PASS.
062982,000707: 16,3160 26111 ADS DAPBOOLS
062983,000708: 16,3161 34755 CA ZERO
062984,000709: 16,3162 55446 TS DXERROR
062985,000710: 16,3163 55447 TS DXERROR +1
062986,000711: 16,3164 55450 TS DYERROR
062987,000712: 16,3165 55451 TS DYERROR +1
062988,000713: 16,3166 55452 TS DZERROR
062989,000714: 16,3167 55453 TS DZERROR +1
062990,000715: 16,3170 55454 TS PLAST
062991,000716: 16,3171 55455 TS QLAST
062992,000717: 16,3172 55456 TS RLAST
062993,000718: 16,3173 54042 TS Q-RHCCTR
062994,000719: 16,3174 54044 TS R-RHCCTR
062995,000720: 16,3175 33134 CA PQRBIT
062996,000721: 16,3176 71273 MASK RCSFLAGS
062997,000722: 16,3177 55273 TS RCSFLAGS # BITS 10 AND 11 OF RCSFLAGS ARE 0.
![]() |
Page 1434 |
062999,000724: 16,3200 41273 CS RCSFLAGS # SET 'JUST-IN' BIT TO 1.
063000,000725: 16,3201 74743 MASK BIT9
063001,000726: 16,3202 27273 ADS RCSFLAGS
063002,000727: 16,3203 03205 TC ZEROENBL
063003,000728: 16,3204 13442 TCF JETSOFF
063004,000729: 16,3205 22044 ZEROENBL LXCH R-RHCCTR
063005,000730: 16,3206 30042 CA Q-RHCCTR
063006,000731: 16,3207 53463 DXCH SAVEHAND
063007,000732: 16,3210 34755 CA ZERO
063008,000733: 16,3211 54043 TS P-RHCCTR
063009,000734: 16,3212 54042 TS Q-RHCCTR
063010,000735: 16,3213 54044 TS R-RHCCTR
063011,000736: 16,3214 33617 CA BITS8,9
063012,000737: 16,3215 00006 EXTEND
063013,000738: 16,3216 05013 WOR CHAN13 # COUNTERS ZEROED AND ENABLED
063014,000739: 16,3217 00002 TC Q
063015,000740: 16,3220 34755 RATEDAMP CA ZERO
063016,000741: 16,3221 54043 TS P-RHCCTR
063017,000742: 16,3222 13227 TCF RATERROR
063018,000743:
063019,000744: 16,3223 34740 RHCMOVED CA OURRCBIT # P CONTROL
063020,000745: 16,3224 70111 MASK DAPBOOLS
063021,000746: 16,3225 00006 EXTEND
063022,000747: 16,3226 13156 BZF JUSTOUT -1
063023,000748: 16,3227 30032 RATERROR CA CDUX # FINDCDUW REQUIRES THAT CDUXD=CDUX DURING
063024,000749: 16,3230 55635 TS CDUXD # X-AXIS OVERRIDE
063025,000750: 16,3231 10043 CCS P-RHCCTR
063026,000751: 16,3232 13235 TCF +3
063027,000752: 16,3233 13235 TCF +2
063028,000753: 16,3234 13235 TCF +1
063029,000754: 16,3235 60000 DOUBLE # LINEAR/QUADRATIC CONTROLLER SCALING
063030,000755: 16,3236 60000 DOUBLE # (SEE EXPLANATION IN Q,R-AXES RCS
063031,000756: 16,3237 63135 AD LINRATP # AUTOPILOT)
063032,000757: 16,3240 00006 EXTEND
063033,000758: 16,3241 70043 MP P-RHCCTR
063034,000759: 16,3242 30001 CA L
063035,000760: 16,3243 00006 EXTEND
063036,000761: 16,3244 71444 MP STIKSENS
063037,000762: 16,3245 57454 XCH PLAST
063038,000763: 16,3246 40000 COM
063039,000764: 16,3247 61454 AD PLAST
063040,000765: 16,3250 55737 TS DAPTEMP1
063041,000766: 16,3251 03205 TC ZEROENBL # INTERVAL. ZERO AND ENABLE ACA COUNTERS.
063042,000767: 16,3252 41454 CS PLAST
063043,000768: 16,3253 61421 AD OMEGAP
063044,000769: 16,3254 55427 TS EDOTP
063045,000770: 16,3255 11737 CCS DAPTEMP1 # IF P COMMAND CHANGE EXCEEDS BREAKOUT
063046,000771: 16,3256 13261 TCF +3 # LEVEL, GO TO DIRECT RATE CONTROL. IF NOT
063047,000772: 16,3257 13267 TCF +8D # CHECK FOR DIRECT RATE CONTROL LAST TIME.
063048,000773: 16,3260 13261 TCF +1
![]() |
Page 1435 |
063050,000775: 16,3261 61476 AD -RATEDB
063051,000776: 16,3262 00006 EXTEND
063052,000777: 16,3263 63267 BZMF +4
063053,000778: 16,3264 33133 CA 40CYC
063054,000779: 16,3265 55445 TS TCP
063055,000780: 16,3266 03300 TC PEGI
063056,000781: 16,3267 31273 CA RCSFLAGS # CHECK FOR DIRECT RATE COMMAND LAST TIME.
063057,000782: 16,3270 74742 MASK PBIT
063058,000783: 16,3271 00006 EXTEND
063059,000784: 16,3272 13274 BZF +2
063060,000785: 16,3273 03300 TC PEGI # TO PURE RATE COMMAND
063061,000786: 16,3274 31446 CA DXERROR # PSEUDO-AUTO CONTROL.
063062,000787: 16,3275 55752 TS E # X-ATTITUDE ERROR (SP)
063063,000788: 16,3276 55464 TS PERROR # LOAD P-AXIS ERROR FOR MODE1 FDAI DISPLAY
063064,000789: 16,3277 03467 TC PURGENCY +4
063065,000790: 16,3300 30032 PEGI CA CDUX # DIRECT RATE CONTROL.
063066,000791: 16,3301 55635 TS CDUXD
063067,000792: 16,3302 34755 CA ZERO
063068,000793: 16,3303 55446 TS DXERROR
063069,000794: 16,3304 55447 TS DXERROR +1
063070,000795: 16,3305 55464 TS PERROR # ZERO P-AXIS ERROR FOR MODE1 FDAI DISPLAY
063071,000796: 16,3306 11427 CCS EDOTP
063072,000797: 16,3307 03312 TC +3
063073,000798: 16,3310 03312 TC +2
063074,000799: 16,3311 03312 TC +1
063075,000800: 16,3312 55737 TS ABSEDOTP
063076,000801: 16,3313 61476 AD TARGETDB
063077,000802: 16,3314 00006 EXTEND # IF RATE ERROR IS LESS THAN DEADBAND,
063078,000803: 16,3315 63325 BZMF LAST # FIRE, AND SWITCH TO PSEUDO-AUTO.
063079,000804: 16,3316 31445 CA TCP
063080,000805: 16,3317 00006 EXTEND # IF TIME IN RATE COMMAND EXCEEDS 4 SEC.,
063081,000806: 16,3320 63325 BZMF LAST
063082,000807: 16,3321 41273 CS RCSFLAGS
063083,000808: 16,3322 74742 MASK PBIT
063084,000809: 16,3323 27273 ADS RCSFLAGS # BIT 10 IS 1.
063085,000810: 16,3324 13330 TCF +4
063086,000811: 16,3325 44742 LAST CS PBIT
063087,000812: 16,3326 71273 MASK RCSFLAGS
063088,000813: 16,3327 55273 TS RCSFLAGS # BIT 10 IS 0.
063089,000814: 16,3330 41427 CS EDOTP
063090,000815: 16,3331 00006 EXTEND
063091,000816: 16,3332 71551 MP 1/ANETP # 1/2JTACC SCALED AT 2EXP(7)/PI
063092,000817: 16,3333 20001 DAS A
063093,000818: 16,3334 02310 TC OVERSUB
063094,000819: 16,3335 00006 EXTEND
063095,000820: 16,3336 77716 MP 25/32 # A CONTAINS TJET SCALED AT 2EXP(4)(16/25)
063096,000821: 16,3337 55524 TS TJP # 4.JET TIME
063097,000822: 16,3340 31737 CA ABSEDOTP
063098,000823: 16,3341 61475 AD -2JETLIM # COMPARING DELTA RATE WITH 2 JET LIMIT
063099,000824: 16,3342 00006 EXTEND
![]() |
Page 1436 |
063101,000826: 16,3343 63346 BZMF +3
063102,000827:
063103,000828: 16,3344 36242 CA SIX
063104,000829: 16,3345 13355 TCF +8D
063105,000830: 16,3346 31524 CA TJP
063106,000831: 16,3347 27524 ADS TJP
063107,000832:
063108,000833: # GOES TO PJETSLEC FOR TWO JETS
063109,000834: # P-JET-SELECTION-ROUTINE (ROTATION)
063110,000835:
063111,000836: # INPUT: NUMBERT 4,5,6 FOR WHICH PAIR OR 4 JETS
063112,000837: # TJP + FOR +P ROTATION
063113,000838:
063114,000839: # OUTPUT: CHANNEL 6
063115,000840: # PJUMPADR FOR P-AXIS SKIP
063116,000841: # (JTLST CALL) (SMALL TJP)
063117,000842:
063118,000843: # ORDER OF POLICIES TRIED IN CASE OF FAILURE.
063119,000844: # +P -P
063120,000845: # 7,15 8,16
063121,000846: # 4,12 3,11
063122,000847: # 4,7 8,11
063123,000848: # 7,12 11,16
063124,000849: # 12,15 3,16
063125,000850: # 4,15 3,8
063126,000851: # ALARM ALARM
063127,000852:
063128,000853: 16,3350 34747 CA AORBSYST
063129,000854: 16,3351 70111 MASK DAPBOOLS
063130,000855: 16,3352 10000 CCS A
063131,000856: 16,3353 34753 CA ONE
063132,000857: 16,3354 64751 AD FOUR
063133,000858: 16,3355 55743 TS NUMBERT
063134,000859: 16,3356 34753 PJETSLEC CA ONE
063135,000860: 16,3357 54001 TS L
063136,000861: 16,3360 11524 CCS TJP
063137,000862: 16,3361 13366 TCF +5
063138,000863: 16,3362 13442 TCF JETSOFF
063139,000864: 16,3363 13365 TCF +2
063140,000865: 16,3364 13442 TCF JETSOFF
063141,000866: 16,3365 22007 ZL
063142,000867: 16,3366 64753 AD ONE
063143,000868: 16,3367 55737 TS ABSTJ
063144,000869: 16,3370 23744 LXCH ROTINDEX
063145,000870: 16,3371 03531 TC SELECTP
063146,000871: 16,3372 46242 CS SIX
063147,000872: 16,3373 61743 AD NUMBERT
063148,000873: 16,3374 00006 EXTEND
063149,000874: 16,3375 13377 BZF +2
063150,000875:
063151,000876: 16,3376 44752 CS TWO
063152,000877:
![]() |
Page 1437 |
063154,000879: 16,3377 64751 AD FOUR
063155,000880: 16,3400 55521 TS NO.PJETS
063156,000881: 16,3401 31741 CA POLYTEMP
063157,000882: 16,3402 05754 TC WRITEP
063158,000883: 16,3403 41737 CS ABSTJ
063159,000884: 16,3404 63612 AD +150MST6
063160,000885: 16,3405 00006 EXTEND
063161,000886: 16,3406 63624 BZMF QRAXIS # GO TO QRAXIS OR TO GTS.
063162,000887:
063163,000888: 16,3407 63572 AD -136MST6
063164,000889: 16,3410 00006 EXTEND
063165,000890: 16,3411 63416 BZMF +5
063166,000891:
063167,000892: 16,3412 27737 ADS ABSTJ
063168,000893: 16,3413 51744 INDEX ROTINDEX
063169,000894: 16,3414 33621 CA MINTIMES
063170,000895: 16,3415 55524 TS TJP
063171,000896:
063172,000897: 16,3416 31737 CA ABSTJ
063173,000898: 16,3417 22007 ZL
063174,000899: 16,3420 00004 INHINT
063175,000900: 16,3421 53471 DXCH T6FURTHA
063176,000901: 16,3422 04674 TC IBNKCALL
063177,000902: 16,3423 37114 CADR JTLST
063178,000903: 16,3424 44740 CS BIT12
063179,000904: 16,3425 71273 MASK RCSFLAGS
063180,000905: 16,3426 55273 TS RCSFLAGS # BIT 12 SET TO 0.
063181,000906: 16,3427 03431 TC ALTSYST
063182,000907: 16,3430 13624 TCF QRAXIS
063183,000908:
063184,000909: 16,3431 30111 ALTSYST CA DAPBOOLS # ALTERNATE P-AXIS JETS
063185,000910: 16,3432 54001 TS L
063186,000911: 16,3433 34747 CA AORBSYST
063187,000912: 16,3434 00006 EXTEND
063188,000913: 16,3435 06001 RXOR LCHAN
063189,000914: 16,3436 54111 TS DAPBOOLS
063190,000915: 16,3437 00003 RELINT
063191,000916: 16,3440 00002 TC Q
063192,000917:
063193,000918: 16,3441 03431 DKALT TC ALTSYST
063194,000919:
063195,000920: 16,3442 05753 JETSOFF TC WRITEP -1
063196,000921: 16,3443 34755 CA ZERO
063197,000922: 16,3444 55524 TS TJP
063198,000923: 16,3445 13624 TCF QRAXIS
063199,000924:
063200,000925: # (NOTE -- M13 = 1 IDENTICALLY IMPLIES NULL MULTIPLICATION.)
063201,000926:
063202,000927: 16,3446 30033 CALCPERR CA CDUY # P-ERROR CALCULATION.
063203,000928: 16,3447 00006 EXTEND
063204,000929: 16,3450 21636 MSU CDUYD # CDU VALUE - ANGLE DESIRED (Y-AXIS)
![]() |
Page 1438 |
063206,000931: 16,3451 00006 EXTEND
063207,000932: 16,3452 71414 MP M11 # (CDUY-CDUYD)M11 SCALED AT PI RADIANS
063208,000933: 16,3453 57752 XCH E # SAVE FIRST TERM (OF TWO)
063209,000934: 16,3454 30032 CA CDUX # THIRD COMPONENT
063210,000935: 16,3455 00006 EXTEND
063211,000936: 16,3456 21635 MSU CDUXD # CDU VALUE - ANGLE DESIRED (X-AXIS)
063212,000937: # EXTEND
063213,000938: # MP M13
063214,000939: 16,3457 61277 AD DELPEROR # KALCMANU INERFACE ERROR
063215,000940: 16,3460 27752 ADS E # SAVE SUM OF TERMS. COULD BE OVERFLOW.
063216,000941: 16,3461 57464 XCH PERROR # SAVE P-ERROR FOR EIGHT-BALL DISPLAY.
063217,000942: 16,3462 00002 TC Q # RETURN TO CALLER
063218,000943:
063219,000944: # P-AXIS URGENCY FUNCTION CALCULATION.
063220,000945:
063221,000946: 16,3463 03446 PURGENCY TC CALCPERR # CALCULATE P-AXIS ERRORS.
063222,000947: 16,3464 41643 CS OMEGAPD # THIS CODING IS COMMON TO BOTH LM DAP AND
063223,000948: 16,3465 61421 AD OMEGAP # SPS-BACKUP MODE.
063224,000949: 16,3466 55427 TS EDOTP # EDOTP = OMEGAP - OMEGAPD AT PI/4 RAD/SEC
063225,000950:
063226,000951: 16,3467 44753 CS ONE
063227,000952: 16,3470 55505 TS AXISCTR
063228,000953: 16,3471 30111 CA DAPBOOLS
063229,000954: 16,3472 74737 MASK CSMDOCKD
063230,000955: 16,3473 00006 EXTEND
063231,000956: 16,3474 13505 BZF HEADTJET
063232,000957: 16,3475 00004 INHINT # IF CSMDOCKD = 1, GO TO DOCKED RCS LOGIC
063233,000958: 16,3476 04674 TC IBNKCALL
063234,000959: 16,3477 43727 CADR SPSRCS
063235,000960:
063236,000961: 16,3500 31524 CA TJP
063237,000962: 16,3501 00006 EXTEND
063238,000963: 16,3502 13441 BZF DKALT # IF TJP = ZERO, CHANGE AORBSYST.
063239,000964: 16,3503 00003 RELINT
063240,000965: 16,3504 13350 TCF PJETSLEC -6 # SELECT AORBSYST AND USE TWO JETS
063241,000966: 16,3505 34755 HEADTJET CA ZERO
063242,000967: 16,3506 55500 TS SENSETYP
063243,000968: 16,3507 00004 INHINT
063244,000969: 16,3510 04674 TC IBNKCALL
063245,000970: 16,3511 37252 CADR TJETLAW
063246,000971: 16,3512 00003 RELINT
063247,000972:
063248,000973: 16,3513 41741 CS FIREFCT
063249,000974: 16,3514 63530 AD -FOURDEG
063250,000975: 16,3515 00006 EXTEND
063251,000976: 16,3516 63350 BZMF PJETSLEC -6
063252,000977: 16,3517 11524 CCS TJP
063253,000978: 16,3520 13522 TCF +2
063254,000979: 16,3521 13442 TCF JETSOFF
![]() |
Page 1439 |
063256,000981: 16,3522 63527 AD -160MST6
063257,000982: 16,3523 00006 EXTEND
063258,000983: 16,3524 63350 BZMF PJETSLEC -6
063259,000984: 16,3525 36242 CA SIX
063260,000985: 16,3526 13355 TCF PJETSLEC -1
063261,000986: 16,3527 77377 -160MST6 DEC -256 B-14
063262,000987: 16,3530 75117 -FOURDEG DEC -.08888
063263,000988:
![]() |
Page 1440 |
063265,000990: # JET POLICY CONSTRUCTION SUBROUTINE
063266,000991:
063267,000992: # INPUT: ROTINDEX, NUMBERT
063268,000993:
063269,000994: # OUTPUT: POLYTEMP (JET POLICY)
063270,000995:
063271,000996: # THIS SUBROUTINE SELECT A SUBSET OF THE DESIRED JETS WHICH HAS NO FAILURE
063272,000997:
063273,000998: 16,3531 36242 SELECTP CA SIX
063274,000999: 16,3532 55742 TS TEMPNUM
063275,001000: 16,3533 51743 INDEX NUMBERT
063276,001001: 16,3534 33563 CA TYPEP
063277,001002: 16,3535 51744 INDEX ROTINDEX
063278,001003: 16,3536 73554 MASK JETSALL
063279,001004: 16,3537 55741 TS POLYTEMP
063280,001005: 16,3540 71263 MASK CH6MASK
063281,001006: 16,3541 10000 CCS A
063282,001007: 16,3542 13544 TCF +2
063283,001008: 16,3543 00002 TC Q
063284,001009: 16,3544 11742 CCS TEMPNUM
063285,001010: 16,3545 13551 TCF +4
063286,001011: 16,3546 05567 TC ALARM
063287,001012: 16,3547 02003 OCT 02003
063288,001013: 16,3550 13442 TCF JETSOFF # *****TCF ALARMJET *********************
063289,001014: 16,3551 55743 SELECTYZ TS NUMBERT
063290,001015: 16,3552 13532 TCF SELECTP +1
063291,001016: 16,3553 12773 -1 TCF ABORTYZ +2
063292,001017: 16,3554 00252 JETSALL OCT 00252
063293,001018: 16,3555 00125 OCT 00125 # +P
063294,001019: 16,3556 00140 OCT 00140 # -Y
063295,001020: 16,3557 00006 OCT 00006 # -Z
063296,001021: 16,3560 00220 OCT 00220 # +Y
063297,001022: 16,3561 00011 OCT 00011 # +Z
063298,001023: 16,3562 00151 OCT 00151 # +V
063299,001024: 16,3563 00146 TYPEP OCT 00146 # -U
063300,001025: 16,3564 00226 OCT 00226 # -V
063301,001026: 16,3565 00231 OCT 00231 # +U
063302,001027: 16,3566 00151 OCT 00151 # +V
063303,001028: 16,3567 00132 OCT 00132 # 1-3
063304,001029: 16,3570 00245 OCT 00245 # 2-4
063305,001030: 16,3571 00377 OCT 00377 # ALL
063306,001031: 16,3572 16,3572 INDXYZ = -136MST6
063307,001032: 16,3572 77445 -136MST6 DEC -218 B-14
063308,001033: 16,3573 00004 DEC 4 B-14
063309,001034: 16,3574 00002 DEC 2 B-14
063310,001035: 16,3575 07776 OCT 07776
063311,001036: 16,3576 00005 DEC 5 B-14
063312,001037: 16,3577 00011 DEC 9 B-14
063313,001038: 16,3600 00012 DEC 10 B-14
063314,001039: 16,3601 07776 OCT 07776
063315,001040: 16,3602 00003 DEC 3 B-14
![]() |
Page 1441 |
063317,001042: 16,3603 00010 DEC 8 B-14
063318,001043: 16,3604 00007 DEC 7 B-14
063319,001044: 16,3605 07776 OCT 07776 # THESE INDEXES OF MASK JETSALL WILL
063320,001045: 16,3606 07776 OCT 07776 # CHANGE THE INSTRUCTION AT SELECTP +4
063321,001046: 16,3607 07776 OCT 07776 # TO BE TC JETSALL -1
063322,001047: 16,3610 07776 OCT 07776 # ONLY USED FOR TRANSLATION FAILURE
063323,001048: 16,3611 07776 OCT 07776
063324,001049: 16,3612 00360 +150MST6 DEC 240 B-14
063325,001050: 16,3613 07400 07400OCT OCT 07400
063326,001051:
063327,001052: # T-JET LAW FIXED CONSTANTS
063328,001053:
063329,001054: 16,3614 00266 NORMSCL OCT 266
063330,001055: 16,3615 74631 -100MS DEC -.1
063331,001056: 16,3616 06315 200MS DEC .2
063332,001057: 16,3617 7716 25/32 = PRIO31 # (DEC .78125)
063333,001058: 16,3617 00600 BITS8,9 OCTAL 00600
063334,001059: 16,3620 00632 1/40 DEC .02500
063335,001060: 16,3621 77751 MINTIMES DEC -22 B-14
063336,001061: 16,3622 00026 DEC 22 B-14
063337,001062: 16,3623 02734 PSKIPADR GENADR SKIPPAXS
063338,001063:
063339,001064: # GOES TO Q,R-AXES RCS AUTOPILOT
063340,001065:
063341,001066: 16,3624 41645 QRAXIS CS OMEGARD
063342,001067: 16,3625 61423 AD OMEGAR
063343,001068: 16,3626 02310 TC OVERSUB
063344,001069: 16,3627 55437 TS EDOTR
063345,001070: 16,3630 41644 CS OMEGAQD
063346,001071: 16,3631 61422 AD OMEGAQ
063347,001072: 16,3632 02310 TC OVERSUB
063348,001073: 16,3633 55436 TS EDOTQ
063349,001074: 16,3634 00006 EXTEND
063350,001075: 16,3635 33640 DCA QERRCALL
063351,001076: 16,3636 52006 DTCB
063352,001077:
063353,001078: 16,3637 E6,1537 EBANK= AOSQ
063354,001079: 16,3637 02072 36106 QERRCALL 2CADR CALLQERR
End of include-file P-AXIS_RCS_AUTOPILOT.agc. Parent file is MAIN.agc