Source Code
![]() |
These source-code files derive from a printout of Luminary 210 (Apollo 15-17
Lunar Module guidance computer program), from the personal library of
original AGC developer Don Eyles, digitally photographed at archive.org,
financially sponsored by Jim Lawton, and transcribed to source code by a
team of volunteers. This colorized, syntax-highlighted form was created
by assembling that transcribed source code. Note that the full page images
are available on the
Virtual AGC project page at archive.org, while reduced-size images
are presented at the VirtualAGC project website. Report or fix any
transcription errors at
the Virtual AGC project code repository. Notations on the program listing read, in part: GAP: ASSEMBLE REVISION 210 OF AGC PROGRAM LUMINARY BY NASA 2021112-161 17:11 MAR. 19,1971Note that the date is the date of the printout, not the date of the program revision. |
061339,000002: ## Copyright: Public domain. 061340,000003: ## Filename: P-AXIS_RCS_AUTOPILOT.agc 061341,000004: ## Purpose: A section of Luminary revision 210. 061342,000005: ## It is part of the source code for the Lunar Module's (LM) 061343,000006: ## Apollo Guidance Computer (AGC) for Apollo 15-17. 061344,000007: ## This file is intended to be a faithful transcription, except 061345,000008: ## that the code format has been changed to conform to the 061346,000009: ## requirements of the yaYUL assembler rather than the 061347,000010: ## original YUL assembler. 061348,000011: ## Reference: pp. 1419-1439 061349,000012: ## Assembler: yaYUL 061350,000013: ## Contact: Ron Burkey <info@sandroid.org>. 061351,000014: ## Website: www.ibiblio.org/apollo/index.html 061352,000015: ## Mod history: 2016-11-17 JL Created from Luminary131 version. 061353,000016: ## 2016-12-11 HG Transcribed 061354,000017: ## 2016-12-12 MAS Pushed in some relative labels. 061355,000018: ## 2016-12-26 RSB Comment-text proofed using ProoferComments 061356,000019: ## and corrected errors found. 061357,000020:
![]() |
Page 1419 |
061359,000022: 16,2217 BANK 16 061360,000023: 16,2000 SETLOC DAPS1 061361,000024: 16,2000 BANK 061362,000025: 061363,000026: 16,2217 E6,1464 EBANK= PERROR 061364,000027: 16,2217 COUNT* $$/DAPP 061365,000028: 061366,000029: # THE FOLLOWING T5RUPT ENTRY BEGINS THE PROGRAM WHICH CONTROLS THE P-AXIS ACTION OF THE LEM USING THE RCS JETS. 061367,000030: # THE NOMINAL TIME BETWEEN THE P-AXIS RUPTS IS 100 MS IN ALL NON-IDLING MODES OF THE DAP. 061368,000031: 061369,000032: 16,2217 37750 PAXIS CA MS100 061370,000033: 16,2220 26030 ADS TIME5 # *** NECESSARY IN ORDER TO ALLOW SYN- 061371,000034: # CHRONIZATION WITH OTHER INTERRUPTS *** 061372,000035: 061373,000036: 16,2221 22016 LXCH BANKRUPT # INTERRUPT LEAD IN (CONTINUED) 061374,000037: 16,2222 00006 EXTEND 061375,000038: 16,2223 22012 QXCH QRUPT 061376,000039: 061377,000040: # CHECK IF DAP PASS IS PERMISSIBLE 061378,000041: 061379,000042: 16,2224 11756 CCS DAPZRUPT # IF DAPZRUPT POSITIVE, DAP (JASK) IS 061380,000043: 16,2225 05626 TC BAILOUT # STILL IN PROGRESS AND A RESTART IS 061381,000044: 16,2226 32000 OCT 32000 # CALLED FOR. IT IS NEVER ZERO 061382,000045: 061383,000046: 16,2227 02000 TC CHEKBITS # RETURN IS TO I+1 IF DAP SHOULD STAY ON. 061384,000047: 061385,000048: 16,2230 30032 CA CDUX # READ AND STORE CDU'S 061386,000049: 16,2231 55747 TS DAPTREG4 061387,000050: 16,2232 30033 CA CDUY 061388,000051: 16,2233 55750 TS DAPTREG5 061389,000052: 16,2234 30034 CA CDUZ 061390,000053: 16,2235 55751 TS DAPTREG6 061391,000054: # ***** KALCMANU-DAP AND "RATE-HOLD"-DAP INTERFACE ***** 061392,000055: 061393,000056: # THE FOLLOWING SECTION IS EXECUTED EVERY 100 MS (10 TIMES A SECOND) WITHIN THE P-AXIS REACTION CONTROL SYSTEM 061394,000057: # AUTOPILOT (WHENEVER THE DAP IS IN OPERATION). 061395,000058: 061396,000059: 16,2236 31634 CA CDUXD 061397,000060: 16,2237 00006 EXTEND 061398,000061: 16,2240 21637 MSU DELCDUX 061399,000062: 16,2241 02262 TC 1STOTWOS 061400,000063: 16,2242 55634 TS CDUXD 061401,000064: 16,2243 31635 CA CDUYD 061402,000065: 16,2244 00006 EXTEND 061403,000066: 16,2245 21640 MSU DELCDUY 061404,000067: 16,2246 02262 TC 1STOTWOS 061405,000068: 16,2247 55635 TS CDUYD 061406,000069: 16,2250 31636 CA CDUZD 061407,000070: 16,2251 00006 EXTEND 061408,000071: 16,2252 21641 MSU DELCDUZ 061409,000072:
![]() |
Page 1420 |
061411,000074: 16,2253 02262 TC 1STOTWOS 061412,000075: 16,2254 55636 TS CDUZD 061413,000076: 16,2255 00006 EXTEND # DIMINISH MANUAL CONTROL DIRECT RATE 061414,000077: 16,2256 27445 DIM TCP # TIME COUNTERS. 061415,000078: 16,2257 00006 EXTEND 061416,000079: 16,2260 27457 DIM TCQR 061417,000080: # RATELOOP COMPUTES JETRATEQ, JETRATER, AND 1JACC*NO. PJETS IN ITEMP1. 061418,000081: # RETURNS TO BACKP. 061419,000082: 061420,000083: # JETRATE = 1JACC*NO.PJETS*TJP (NOTE TJ IS THE TIME FIRED DURING CSP) 061421,000084: 061422,000085: # JETRATEQ= 1JACCQ(TJU*NO.UJETS - TJV*NO.VJETS) 061423,000086: 061424,000087: # JETRATER= 1JACCR(TJU*NO.UJETS + TJV*NO.VJETS) 061425,000088: 061426,000089: 16,2261 12653 TCF PAXFILT # PROCEEDS TO RATELOOP AFTER SUPERJOB 061427,000090: 16,2262 10000 1STOTWOS CCS A 061428,000091: 16,2263 64744 AD ONE 061429,000092: 16,2264 00002 TC Q 061430,000093: 16,2265 40000 CS A 061431,000094: 16,2266 00002 TC Q 061432,000095: 16,2267 00006 SUBDIVDE EXTEND # OVERFLOW PROCTION ROUTINE TO GIVE 061433,000096: 16,2270 71740 MP DAPTEMP3 # POSMAX OR NEGMAX IF THE DIVIDE WOULD 061434,000097: 16,2271 21427 DAS OMEGAU # OVERFLOW 061435,000098: 061436,000099: 16,2272 00006 +3 EXTEND 061437,000100: 16,2273 31427 DCA OMEGAU 061438,000101: 16,2274 53743 DXCH DAPTEMP5 061439,000102: 16,2275 11426 CCS OMEGAU 061440,000103: 16,2276 12300 TCF +2 061441,000104: 16,2277 12310 TCF DIVIDER 061442,000105: 16,2300 62321 AD -OCT630 061443,000106: 16,2301 00006 EXTEND 061444,000107: 16,2302 62310 BZMF DIVIDER 061445,000108: 061446,000109: 16,2303 11426 CCS OMEGAU 061447,000110: 16,2304 34724 CA POSMAX # 45 DEG/SEC 061448,000111: 16,2305 00002 TC Q 061449,000112: 16,2306 44724 CS POSMAX 061450,000113: 16,2307 00002 TC Q 061451,000114: 061452,000115: 16,2310 53427 DIVIDER DXCH OMEGAU 061453,000116: 16,2311 00006 EXTEND 061454,000117: 16,2312 11747 DV DAPTREG4 061455,000118: 16,2313 00002 TC Q 061456,000119: 061457,000120: 16,2314 54007 OVERSUB TS 7 # RETURNS A UNCHANGED OR LIMITED TO 061458,000121: 16,2315 00002 TC Q # POSMAX OR NEGMAX IF A HAS OVERFLOW 061459,000122: 16,2316 50000 INDEX A 061460,000123: 16,2317 44725 CS BIT15 -1 061461,000124:
![]() |
Page 1421 |
061463,000126: 16,2320 00002 TC Q 061464,000127: 061465,000128: 16,2321 77147 -OCT630 OCT 77147 061466,000129: 061467,000130: 16,2322 31736 BACKP CA DAPTEMP1 061468,000131: 16,2323 00006 EXTEND 061469,000132: 16,2324 71530 MP 1JACC 061470,000133: 16,2325 55744 TS JETRATE 061471,000134: # BEGINNING OF THE RATE DERIVATION 061472,000135: # OMEGAP,Q,R BODY RATES SCALED AT PI/4 061473,000136: # TRAPER,Q,R BODY ANGLE ERRORS FROM PREDICTED ANGLE (PI/40) 061474,000137: # NP(QR)TRAPS NUMBER OF TIMES ANGLE ERROR HAS BEEN ACCUMULATED 061475,000138: # AOSQ(R)TERM CHANGE IN RATE DUE TO OFFSET ACCELLERATION. (PI/4) 061476,000139: # JETRATE,Q,R CHANGE IN RATE DUE TO JET ACCELLERATION. (PI/4) 061477,000140: # TRAPSIZE NEGATIVE LIMIT OF MAGNITUDE OF TRAPEDP,ECT. 061478,000141: # OMEGAU DP-TEMPORARY STORAGE 061479,000142: 061480,000143: # OMEGA = OMEGA + JETRATE + AOSTERM (+TRAPED/NTRAPS IF TRAPED BIG) 061481,000144: 061482,000145: 16,2326 31747 CAE DAPTREG4 # CDUX IS STORED HERE 061483,000146: 16,2327 54001 TS L 061484,000147: 16,2330 00006 EXTEND 061485,000148: 16,2331 21440 MSU OLDXFORP # SCALED AT PI 061486,000149: 16,2332 23440 LXCH OLDXFORP 061487,000150: 16,2333 55736 TS DAPTEMP1 061488,000151: 16,2334 33621 CA 1/40 061489,000152: 16,2335 55747 TS DAPTREG4 061490,000153: 16,2336 41744 CS JETRATE 061491,000154: 16,2337 00006 EXTEND 061492,000155: 16,2340 74727 MP BIT14 061493,000156: 16,2341 27430 ADS TRAPEDP 061494,000157: 16,2342 31745 CA JETRATEQ 061495,000158: 16,2343 61544 AD AOSQTERM 061496,000159: 16,2344 00006 EXTEND 061497,000160: 16,2345 77757 MP -BIT14 061498,000161: 16,2346 27431 ADS TRAPEDQ 061499,000162: 16,2347 31746 CA JETRATER 061500,000163: 16,2350 61545 AD AOSRTERM 061501,000164: 16,2351 00006 EXTEND 061502,000165: 16,2352 77757 MP -BIT14 061503,000166: 16,2353 27432 ADS TRAPEDR 061504,000167: 061505,000168: 16,2354 31750 CA DAPTREG5 # CDUY IS STORED HERE 061506,000169: 16,2355 54001 TS L 061507,000170: 16,2356 00006 EXTEND 061508,000171: 16,2357 21441 MSU OLDYFORP # SCALED AT PI 061509,000172: 16,2360 23441 LXCH OLDYFORP 061510,000173: 16,2361 55737 TS DAPTEMP2 061511,000174: 16,2362 00006 EXTEND 061512,000175: 16,2363 71414 MP M11 # M11 SCALED AT 1 061513,000176:
![]() |
Page 1422 |
061515,000178: 16,2364 61736 AD DAPTEMP1 061516,000179: 16,2365 53427 DXCH OMEGAU 061517,000180: 061518,000181: 16,2366 02272 TC SUBDIVDE +3 # RETURNS WITH CDU-RATE AT PI/4 061519,000182: 061520,000183: 16,2367 00006 EXTEND 061521,000184: 16,2370 61421 SU OMEGAP 061522,000185: 16,2371 27430 ADS TRAPEDP 061523,000186: 16,2372 02314 TC OVERSUB 061524,000187: 16,2373 55430 TS TRAPEDP 061525,000188: 16,2374 00006 EXTEND 061526,000189: 16,2375 31743 DCA DAPTEMP5 061527,000190: 16,2376 21447 DAS DXERROR 061528,000191: 16,2377 41454 CS PLAST 061529,000192: 16,2400 00006 EXTEND 061530,000193: 16,2401 73621 MP 1/40 061531,000194: 16,2402 21447 DAS DXERROR # MANUAL MODE X-ATTITUDE ERROR (DP) 061532,000195: 16,2403 31751 CA DAPTREG6 # CDUZ IS STORED HERE 061533,000196: 16,2404 54001 TS L 061534,000197: 16,2405 00006 EXTEND 061535,000198: 16,2406 21442 MSU OLDZFORQ 061536,000199: 16,2407 55740 TS DAPTEMP3 061537,000200: 16,2410 23442 LXCH OLDZFORQ 061538,000201: 16,2411 31415 CA M21 061539,000202: 16,2412 00006 EXTEND 061540,000203: 16,2413 71737 MP DAPTEMP2 061541,000204: 16,2414 53427 DXCH OMEGAU 061542,000205: 16,2415 31417 CA M22 061543,000206: 16,2416 02267 TC SUBDIVDE 061544,000207: 061545,000208: 16,2417 00006 EXTEND 061546,000209: 16,2420 61422 SU OMEGAQ 061547,000210: 16,2421 27431 ADS TRAPEDQ 061548,000211: 16,2422 02314 TC OVERSUB 061549,000212: 16,2423 55431 TS TRAPEDQ 061550,000213: 16,2424 00006 EXTEND 061551,000214: 16,2425 31743 DCA DAPTEMP5 061552,000215: 16,2426 21451 DAS DYERROR 061553,000216: 16,2427 41455 CS QLAST 061554,000217: 16,2430 00006 EXTEND 061555,000218: 16,2431 73621 MP 1/40 061556,000219: 16,2432 21451 DAS DYERROR # MANUAL MODE Y-ATTITUDE ERROR (DP) 061557,000220: 16,2433 31416 CA M31 061558,000221: 16,2434 00006 EXTEND 061559,000222: 16,2435 71737 MP DAPTEMP2 061560,000223: 16,2436 53427 DXCH OMEGAU 061561,000224: 16,2437 31420 CA M32 061562,000225: 061563,000226: 16,2440 02267 TC SUBDIVDE 061564,000227:
![]() |
Page 1423 |
061566,000229: 16,2441 00006 EXTEND 061567,000230: 16,2442 61423 SU OMEGAR 061568,000231: 16,2443 27432 ADS TRAPEDR 061569,000232: 16,2444 02314 TC OVERSUB 061570,000233: 16,2445 55432 TS TRAPEDR # TRAPEDS HAVE ALL BEEN COMPUTED 061571,000234: 061572,000235: 16,2446 00006 EXTEND 061573,000236: 16,2447 31743 DCA DAPTEMP5 061574,000237: 16,2450 21453 DAS DZERROR 061575,000238: 16,2451 41456 CS RLAST 061576,000239: 16,2452 00006 EXTEND 061577,000240: 16,2453 73621 MP 1/40 061578,000241: 16,2454 21453 DAS DZERROR # MANUAL MODE Z-ATTITUDE ERROR (DP) 061579,000242: 16,2455 30111 CA DAPBOOLS # PICK UP PAD LOADED STATE ESTIMATOR GAINS 061580,000243: 16,2456 74730 MASK CSMDOCKD 061581,000244: 16,2457 00006 EXTEND 061582,000245: 16,2460 12466 BZF LMONLY 061583,000246: 16,2461 00006 EXTEND # DOCKED 061584,000247: 16,2462 31405 DCA DKOMEGAN 061585,000248: 16,2463 53750 DXCH DAPTREG4 061586,000249: 16,2464 31403 CA DKTRAP 061587,000250: 16,2465 12472 TCF +5 061588,000251: 16,2466 00006 LMONLY EXTEND # UNDOCKED 061589,000252: 16,2467 31410 DCA LMOMEGAN 061590,000253: 16,2470 53750 DXCH DAPTREG4 061591,000254: 16,2471 31406 CA LMTRAP 061592,000255: 16,2472 55751 +5 TS DAPTREG6 061593,000256: 16,2473 11430 CCS TRAPEDP 061594,000257: 16,2474 12476 TCF +2 061595,000258: 16,2475 12513 TCF SMALPDIF 061596,000259: 16,2476 61751 AD DAPTREG6 # TRAPSIZE > ABOUT 77001 %-1.4DEG/SEC" 061597,000260: 16,2477 00006 EXTEND 061598,000261: 16,2500 62513 BZMF SMALPDIF 061599,000262: 16,2501 22007 ZL 061600,000263: 16,2502 23430 LXCH TRAPEDP 061601,000264: 16,2503 34746 CA ZERO 061602,000265: 16,2504 00006 EXTEND 061603,000266: 16,2505 11433 DV NPTRAPS 061604,000267: 16,2506 27421 ADS OMEGAP 061605,000268: 16,2507 02314 TC OVERSUB 061606,000269: 16,2510 55421 TS OMEGAP 061607,000270: 16,2511 31747 CA DAPTREG4 # ABOUT 10 OR 0 FOR DOCKED OR UNDOCKED 061608,000271: 16,2512 55433 TS NPTRAPS 061609,000272: 16,2513 25433 SMALPDIF INCR NPTRAPS 061610,000273: 16,2514 31744 P-RATE CA JETRATE 061611,000274: 16,2515 27421 ADS OMEGAP 061612,000275: 16,2516 02314 TC OVERSUB 061613,000276: 16,2517 55421 TS OMEGAP 061614,000277: 061615,000278: 16,2520 11431 CCS TRAPEDQ 061616,000279:
![]() |
Page 1424 |
061618,000281: 16,2521 12523 TCF +2 061619,000282: 16,2522 12550 TCF Q-RATE 061620,000283: 16,2523 61751 AD DAPTREG6 # TRAPSIZE > ABOUT 77001 %-1.4DEG/SEC" 061621,000284: 16,2524 00006 EXTEND 061622,000285: 16,2525 62550 BZMF Q-RATE 061623,000286: 16,2526 22007 ZL 061624,000287: 16,2527 23431 LXCH TRAPEDQ 061625,000288: 16,2530 34746 CA ZERO 061626,000289: 16,2531 00006 EXTEND 061627,000290: 16,2532 11434 DV NQTRAPS 061628,000291: 16,2533 55736 TS DAPTEMP1 # SAVE FOR OFFSET ESTIMATE 061629,000292: 16,2534 27422 ADS OMEGAQ 061630,000293: 16,2535 02314 TC OVERSUB 061631,000294: 16,2536 55422 TS OMEGAQ 061632,000295: 16,2537 31747 CA DAPTREG4 # ABOUT 10 OR 0 FOR DOCKED OR UNDOCKED 061633,000296: 16,2540 57434 XCH NQTRAPS 061634,000297: 16,2541 61750 AD DAPTREG5 # KAOS > ABOUT 60D %N/N_60" 061635,000298: 16,2542 57736 XCH DAPTEMP1 061636,000299: 16,2543 00006 EXTEND 061637,000300: 16,2544 74747 MP FIVE 061638,000301: 16,2545 00006 EXTEND 061639,000302: 16,2546 11736 DV DAPTEMP1 061640,000303: 16,2547 27536 ADS AOSQ 061641,000304: 16,2550 25434 Q-RATE INCR NQTRAPS 061642,000305: 16,2551 31745 CA JETRATEQ 061643,000306: 16,2552 61544 AD AOSQTERM 061644,000307: 16,2553 27422 ADS OMEGAQ 061645,000308: 16,2554 02314 TC OVERSUB 061646,000309: 16,2555 55422 TS OMEGAQ 061647,000310: 061648,000311: 16,2556 11432 CCS TRAPEDR 061649,000312: 16,2557 12561 TCF +2 061650,000313: 16,2560 12606 TCF R-RATE 061651,000314: 16,2561 61751 AD DAPTREG6 # TRAPSIZE > ABOUT 77001 %-1.4DEG/SEC" 061652,000315: 16,2562 00006 EXTEND 061653,000316: 16,2563 62606 BZMF R-RATE 061654,000317: 16,2564 22007 ZL 061655,000318: 16,2565 23432 LXCH TRAPEDR 061656,000319: 16,2566 34746 CA ZERO 061657,000320: 16,2567 00006 EXTEND 061658,000321: 16,2570 11435 DV NRTRAPS 061659,000322: 16,2571 55737 TS DAPTEMP2 # SAVE FOR OFFSET ESTIMATE 061660,000323: 16,2572 27423 ADS OMEGAR 061661,000324: 16,2573 02314 TC OVERSUB 061662,000325: 16,2574 55423 TS OMEGAR 061663,000326: 16,2575 31747 CA DAPTREG4 # ABOUT 10 OR 0 FOR DOCKED OR UNDOCKED 061664,000327: 16,2576 57435 XCH NRTRAPS 061665,000328: 16,2577 61750 AD DAPTREG5 # KAOS > ABOUT 60D %N/N_60" 061666,000329: 16,2600 57737 XCH DAPTEMP2 061667,000330: 16,2601 00006 EXTEND 061668,000331:
![]() |
Page 1425 |
061670,000333: 16,2602 74747 MP FIVE 061671,000334: 16,2603 00006 EXTEND 061672,000335: 16,2604 11737 DV DAPTEMP2 061673,000336: 16,2605 27540 ADS AOSR 061674,000337: 16,2606 25435 R-RATE INCR NRTRAPS 061675,000338: 16,2607 31746 CA JETRATER 061676,000339: 16,2610 61545 AD AOSRTERM 061677,000340: 16,2611 27423 ADS OMEGAR 061678,000341: 16,2612 02314 TC OVERSUB 061679,000342: 16,2613 55423 TS OMEGAR 061680,000343: 061681,000344: # END OF RATE DERIVATION 061682,000345: 061683,000346: # BEGIN OFFSET ESTIMATER 061684,000347: 061685,000348: # IN POWERED FLIGHT, AOSTASK WILL BE CALLED EVERY 2 SECONDS. 061686,000349: 061687,000350: # AOS = AOS + K*SUMRATE 061688,000351: 061689,000352: 16,2614 40111 CS DAPBOOLS 061690,000353: 16,2615 74735 MASK DRIFTBIT
![]() |
Note: Ater the operand DRIFTBIT opeand there is a short blue horizontal marker line right to the right of it. |
061692,000355: 16,2616 10000 CCS A 061693,000356: 16,2617 12630 TCF WORKTIME 061694,000357: 16,2620 55424 TS ALPHAQ # ZERO THE OFFSET ACCELERATION VALUES. 061695,000358: 16,2621 55425 TS ALPHAR 061696,000359: 16,2622 55544 TS AOSQTERM 061697,000360: 16,2623 55545 TS AOSRTERM 061698,000361: 16,2624 55536 TS AOSQ 061699,000362: 16,2625 55540 TS AOSR 061700,000363: 16,2626 12673 TCF PRETIMCK 061701,000364: 16,2627 00074 KAOS DEC 60 B-14 061702,000365: 16,2630 31510 WORKTIME CA QACCDOT 061703,000366: 16,2631 00006 EXTEND 061704,000367: 16,2632 74757 MP CALLCODE # OCTAL 00032 IS DECIMAL .1 AT 2(6). 061705,000368: 16,2633 21537 DAS AOSQ 061706,000369: 16,2634 31536 CA AOSQ 061707,000370: 16,2635 55424 TS ALPHAQ 061708,000371: 16,2636 00006 EXTEND 061709,000372: 16,2637 73617 MP 200MS # .2 AT 1 061710,000373: 16,2640 55544 TS AOSQTERM 061711,000374: 16,2641 31512 CA RACCDOT 061712,000375: 16,2642 00006 EXTEND 061713,000376: 16,2643 74757 MP CALLCODE # OCTAL 00032 IS DECIMAL .1 AT 2(6). 061714,000377: 16,2644 21541 DAS AOSR 061715,000378: 16,2645 31540 CA AOSR 061716,000379: 16,2646 55425 TS ALPHAR 061717,000380: 16,2647 00006 EXTEND 061718,000381: 16,2650 73617 MP 200MS # .2 AT 1 061719,000382: 16,2651 55545 TS AOSRTERM 061720,000383: 16,2652 12673 TCF PRETIMCK 061721,000384:
![]() |
Page 1426 |
061723,000386: 061724,000387: 061725,000388: 16,2653 34740 PAXFILT CA CALLGMBL # EXECUTE ACDT+C12, IF NEEDED. 061726,000389: 16,2654 71774 MASK RCSFLAGS 061727,000390: 16,2655 10000 CCS A # CALLGMBL IS NOT BIT15, SO THIS TEST IS 061728,000391: 16,2656 03737 TC ACDT+C12 # VALID. 061729,000392: 061730,000393: 16,2657 52011 DXCH ARUPT 061731,000394: 16,2660 53753 DXCH DAPARUPT 061732,000395: 16,2661 32672 CA SUPERJOB # SETTING UP THE SUPERJOB 061733,000396: 16,2662 56017 XCH BRUPT 061734,000397: 16,2663 22012 LXCH QRUPT 061735,000398: 16,2664 53755 DXCH DAPBQRPT 061736,000399: 16,2665 32671 CA SUPERADR 061737,000400: 16,2666 52016 DXCH ZRUPT 061738,000401: 16,2667 53757 DXCH DAPZRUPT 061739,000402: 16,2670 15277 TCF NOQBRSM +1 # RELINT (JUST IN CASE) AND RESUME, IN THE 061740,000403: # FORM OF A JASK, AT SUPERJOB. 061741,000404: 061742,000405: 16,2671 02673 SUPERADR GENADR SUPERJOB +1 061743,000406: # COUNT DOWN GIMBAL DRIVE TIMERS AND TURN OFF DRIVES IF REQUIRED. 061744,000407: 061745,000408: 16,2672 13642 SUPERJOB TCF RATELOOP 061746,000409: 16,2673 11631 PRETIMCK CCS QGIMTIMR 061747,000410: 16,2674 12714 TCF DECQTIMR # POSITIVE- COUNTING DOWN 061748,000411: 16,2675 12720 TCF TURNOFFQ # NEGATIVE- DRIVE SHOULD BE ENDED 061749,000412: 16,2676 11633 CHKRTIMR CCS RGIMTIMR # NEGATIVE- INACTIVE 061750,000413: 16,2677 12716 TCF DECRTIMR # (NEG ZERO- IMPOSSIBLE) 061751,000414: 16,2700 12730 TCF TURNOFFR # REPEATED (ABOVE) FOR R AXIS. 061752,000415: 061753,000416: 16,2701 00006 EXTEND # DECREMENT DOCKED JET INHIBITION COUNTERS 061754,000417: 16,2702 27766 DIM PJETCTR 061755,000418: 16,2703 00006 EXTEND 061756,000419: 16,2704 27767 DIM UJETCTR 061757,000420: 16,2705 00006 EXTEND 061758,000421: 16,2706 27770 DIM VJETCTR 061759,000422: 16,2707 34731 CA BIT12 061760,000423: 16,2710 71774 MASK RCSFLAGS 061761,000424: 16,2711 00006 EXTEND 061762,000425: 16,2712 12740 BZF SKIPPAXS 061763,000426: 16,2713 02744 TC CHKVISFZ 061764,000427: 16,2714 55631 DECQTIMR TS QGIMTIMR # COUNT TIMERS DOWN TO POS ZERO. 061765,000428: 16,2715 12676 TCF CHKRTIMR 061766,000429: 16,2716 55633 DECRTIMR TS RGIMTIMR 061767,000430: 16,2717 12701 TCF CHKRTIMR +3 061768,000431: 061769,000432: 16,2720 55501 TURNOFFQ TS NEGUQ # HALT DRIVES. 061770,000433: 16,2721 55510 TS QACCDOT 061771,000434: 16,2722 45000 CS QGIMBITS 061772,000435: 16,2723 00006 EXTEND 061773,000436:
![]() |
Page 1427 |
061775,000438: 16,2724 03012 WAND CHAN12 061776,000439: 16,2725 34726 CAF NEGMAX 061777,000440: 16,2726 55631 TS QGIMTIMR 061778,000441: 16,2727 12676 TCF CHKRTIMR 061779,000442: 16,2730 55503 TURNOFFR TS NEGUR 061780,000443: 16,2731 55512 TS RACCDOT 061781,000444: 16,2732 45011 CS RGIMBITS 061782,000445: 16,2733 00006 EXTEND 061783,000446: 16,2734 03012 WAND CHAN12 061784,000447: 16,2735 34726 CAF NEGMAX 061785,000448: 16,2736 55633 TS RGIMTIMR 061786,000449: 16,2737 12701 TCF CHKRTIMR +3 061787,000450: 16,2740 5000 QGIMBITS EQUALS OCT1400 # BITS 9 AND 10 (OF CHANNEL 12). 061788,000451: 16,2740 5011 RGIMBITS EQUALS PRIO6 # BITS 11 AND 12 (OF CHANNEL 12). 061789,000452: 061790,000453: 16,2740 41774 SKIPPAXS CS RCSFLAGS 061791,000454: 16,2741 74731 MASK BIT12 061792,000455: 16,2742 27774 ADS RCSFLAGS # BIT 12 SET TO 1. 061793,000456: 16,2743 13625 TCF QRAXIS # GO TO QRAXIS OR TO GTS. 061794,000457: 061795,000458: # Y-Z TRANSLATION 061796,000459: 061797,000460: # INPUT: BITS 9-12 OF CH31 (FROM TRANSLATION CONTROLER) 061798,000461: 061799,000462: # OUTPUT: NEXTP 061800,000463: 061801,000464: # NEXTP IS THE CHANNEL 6 CODE OF JETS FOR THE DESIRED TRANSLATION. 061802,000465: # IF THERE ARE FAILURES IN THE DESIRED POLICY, THEN 061803,000466: 061804,000467: # (1) FOR DIAGONAL TRANS: UNFAILED PAIR 061805,000468: # ALARM (IF NO PAIR) 061806,000469: 061807,000470: # (2) FOR PRINCIPAL TRANS: TRY TO TACK WITH DIAGONAL PAIRS 061808,000471: # ALARM (IF DIAGONAL PAIRS ARE FAILED) 061809,000472: 16,2744 00006 CHKVISFZ EXTEND 061810,000473: 16,2745 00031 READ CHAN31 061811,000474: 16,2746 40000 CS A 061812,000475: 16,2747 73614 MASK 07400OCT 061813,000476: 16,2750 00006 EXTEND 061814,000477: 16,2751 13020 BZF TSNEXTP 061815,000478: 16,2752 00006 EXTEND 061816,000479: 16,2753 74736 MP BIT7 061817,000480: 16,2754 50000 INDEX A 061818,000481: 16,2755 33573 CA INDXYZ 061819,000482: 16,2756 55743 TS ROTINDEX 061820,000483: 16,2757 36263 TRYUORV CA SIX 061821,000484: 16,2760 03552 TC SELECTYZ 061822,000485: 16,2761 46263 CS SIX 061823,000486: 16,2762 61742 AD NUMBERT 061824,000487: 16,2763 00006 EXTEND 061825,000488:
![]() |
Page 1428 |
061827,000490: 16,2764 13017 BZF TSNEXTP -1 061828,000491: 16,2765 44747 CS FIVE 061829,000492: 16,2766 61743 AD ROTINDEX 061830,000493: 16,2767 00006 EXTEND 061831,000494: 16,2770 63006 BZMF ALTERYZ 061832,000495: 16,2771 41742 CS NUMBERT 061833,000496: 16,2772 64742 AD FOUR 061834,000497: 16,2773 00006 EXTEND 061835,000498: 16,2774 63017 BZMF TSNEXTP -1 061836,000499: 16,2775 05571 ABORTYZ TC ALARM 061837,000500: 16,2776 02001 OCT 02001 061838,000501: 16,2777 34744 CA BIT1 # INVERT BIT 1 OF RCSFLAGS. 061839,000502: 16,3000 23774 LXCH RCSFLAGS 061840,000503: 16,3001 00006 EXTEND 061841,000504: 16,3002 06001 RXOR 1 061842,000505: 16,3003 55774 TS RCSFLAGS 061843,000506: 16,3004 34746 CA ZERO 061844,000507: 16,3005 13020 TCF TSNEXTP 061845,000508: 16,3006 34744 ALTERYZ CA BIT1 # INVERT BIT 1 OF RCSFLAGS. 061846,000509: 16,3007 23774 LXCH RCSFLAGS 061847,000510: 16,3010 00006 EXTEND 061848,000511: 16,3011 06001 RXOR 1 061849,000512: 16,3012 55774 TS RCSFLAGS 061850,000513: 16,3013 74744 MASK BIT1 061851,000514: 16,3014 64742 AD FOUR 061852,000515: 16,3015 27743 ADS ROTINDEX 061853,000516: 16,3016 12757 TCF TRYUORV 061854,000517: 16,3017 31740 CA POLYTEMP 061855,000518: 16,3020 55472 TSNEXTP TS NEXTP 061856,000519: # STATE LOGIC 061857,000520: 061858,000521: # CHECK IN ORDER: IF ON 061859,000522: # LPDPHASE GO TO PURGENCY 061860,000523: # PULSES MINIMUM PULSE LOGIC 061861,000524: # DETENT(BIT15 CH31) RATE COMMAND 061862,000525: # GO TO PURGENCY 061863,000526: 16,3021 34730 CA BIT13 # CHECK STICK IF IN ATT. HOLD. 061864,000527: 16,3022 00006 EXTEND 061865,000528: 16,3023 02031 RAND CHAN31 061866,000529: 16,3024 00006 EXTEND 061867,000530: 16,3025 13034 BZF MANMODE 061868,000531: 061869,000532: 16,3026 30111 CA DAPBOOLS 061870,000533: 16,3027 74734 MASK XOVINHIB 061871,000534: 16,3030 00006 EXTEND 061872,000535: 16,3031 13067 BZF DETENTCK # GO CHECK FOR MANUAL X-AXIS OVERRIDE. 061873,000536: 16,3032 00004 INHINT 061874,000537: 16,3033 13145 TCF ZRORCBIT # CLEAR OURRCBIT AND GO DO AUTOMATIC LOGIC 061875,000538: 061876,000539: 16,3034 34726 MANMODE CA PULSES # PULSES IS ONE FOR PULSE MODE 061877,000540:
![]() |
Page 1429 |
061879,000542: 16,3035 70111 MASK DAPBOOLS 061880,000543: 16,3036 00006 EXTEND 061881,000544: 16,3037 13067 BZF DETENTCK # BRANCH FOR RATE COMMAND 061882,000545: 061883,000546: # *** MINIMUM IMPULSE LOGIC *** 061884,000547: 061885,000548: 16,3040 34746 CA ZERO 061886,000549: 16,3041 55464 TS PERROR 061887,000550: 16,3042 30032 CA CDUX 061888,000551: 16,3043 55634 TS CDUXD 061889,000552: 061890,000553: 16,3044 44743 CS CONTRLBT 061891,000554: 16,3045 00004 INHINT 061892,000555: 16,3046 70106 MASK FLGWRD10 # CLEAR FLAG TO CAUSE THE NO CONTROL DSKY 061893,000556: 16,3047 54106 TS FLGWRD10 # LIGHT TO BE LIT BY T4RUPT. 061894,000557: 061895,000558: 16,3050 00003 RELINT 061896,000559: 061897,000560: 16,3051 00006 EXTEND 061898,000561: 16,3052 00031 READ CHAN31 061899,000562: 16,3053 40000 COM # THE CHANNEL BITS ARE INVERSE LOGIC. 061900,000563: 16,3054 75745 MASK OCT14 # BITS 3 AND 4 ARE +P AND -P COMMANDS 061901,000564: 16,3055 57460 XCH OLDPMIN 061902,000565: 16,3056 10000 CCS A # BRANCH TO SKIP THIS PASS IF THERE WAS A 061903,000566: 16,3057 13443 TCF JETSOFF # COMMAND PRESENT LAST TIME OR IF THERE 061904,000567: 16,3060 31460 CA OLDPMIN # IS NO COMMAND THIS TIME. 061905,000568: 16,3061 00006 EXTEND 061906,000569: 16,3062 13443 BZF JETSOFF 061907,000570: 061908,000571: 16,3063 41460 CS OLDPMIN # THERE IS A COMMAND TO BE HONORED. PUT A 061909,000572: 16,3064 66263 AD SIX # SMALL NUMBER OF THE PROPER SIGN IN TJP 061910,000573: 16,3065 55524 TS TJP # IT WILL BE CHANGED TO 14 MSEC LATER. 061911,000574: 16,3066 13351 TCF PJETSLEC -6 061912,000575: 061913,000576: # MANUAL RATE COMMAND MODE 061914,000577: # ======================== 061915,000578: # BY ROBERT F. STENGEL 061916,000579: 061917,000580: # THIS MODE PROVIDES RCAH MANUAL CONTROL THRU 2 CONTROL LAWS: 1) DIRECT RATE AND 2) PSEUDO-AUTO. 061918,000581: # THE DIRECT RATE MODE AFFORDS IMMEDIATE CONTROL WITHOUT OVERSHOOT. THE PSEUDO-AUTO MODE PROVIDES PRECISE 061919,000582: # RATE CONTROL AND ATTITUDE HOLD. 061920,000583: 061921,000584: # IN DIRECT RATE, JETS ARE FIRED WHEN STICK POSITION CHANGES BY A FIXED NUMBER OF INCREMENTS IN ONE DAP CYCLE. 061922,000585: # 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 061923,000586: # THE 'TARGET DEADBAND', WHICH EQUALS THE BREAKOUT LEVEL. 061924,000587: # IN PSEUDO-AUTO, BODY-FIXED RATE AND ATTITUDE ERRORS ARE SUPPLIED TO TJETLAW, WHICH EXERCISES CONTROL. 061925,000588: # CONTROL SWITCHES FROM DIRECT RATE TO PSEUDO-AUTO IF THE TARGET DB IS ACHIEVED OR IF TIME IN (1) EXCEEDS 4 SEC. 061926,000589: # IF THE INITIAL COMMAND DOES NOT EXCEED THE BREAKOUT LEVEL, CONTROL GOES TO PSEUDO-AUTO IMMEDIATELY. 061927,000590: 061928,000591: # 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, 061929,000592:
![]() |
Page 1430 |
061931,000594: # OR VICE VERSA. THIS ALLOWS A DEGREE OF ATTITUDE HOLD IN UNCONTROLLED AXES. DUE TO U,V CONTROL, HOWEVER, Q AND 061932,000595: # R AXES ARE COUPLED AND MUST USE THE SAME CONTROL LAW. 061933,000596: 061934,000597: # HAND CONTROLLER COMMANDS ARE SCALED BY A LINEAR/QUADRATIC LAW. FOR THE LM-ALONE, MAXIMUM COMMANDED RATES ARE 20 061935,000598: # AND 4 D/S IN NORMAL AND FINE SCALING; HOWEVER, STICK SENSITIVITY AT ZERO COUNTS (OBTAINED AT A STICK DEFLECTION 061936,000599: # OF 2 DEGREES FROM THE CENTERED POSITION) IS .5 OR .1 D/S PER DEGREE. NORMAL AND FINE SCALINGS FOR THE CSM-DOCKED 061937,000600: # CASE IS AUTOMATICALLY SET TO 1/10 THE ABOVE VALUES. SCALING IS DETERMINED IN ROUTINE 3. 061938,000601: # ZEROENBL ENABLES COUNTERS SO THEY CAN BE READ NEXT TIME 061939,000602: # JUSTOUT FIRST DETECTION OF OUT OF DETENT (BY OURRCBIT) 061940,000603: 061941,000604: 061942,000605: 16,3067 00006 DETENTCK EXTEND 061943,000606: 16,3070 00031 READ CHAN31 061944,000607: 16,3071 55443 TS CH31TEMP 061945,000608: 16,3072 74726 MASK BIT15 # CHECK OUT-OF-DETENT BIT. 061946,000609: 16,3073 00006 EXTEND 061947,000610: 16,3074 13220 BZF RHCMOVED # BRANCH IF OUT OF DETENT. 061948,000611: 16,3075 34731 CAF OURRCBIT # IN DETENT. CHECK THE RATE COMMAND BIT. 061949,000612: 16,3076 70111 MASK DAPBOOLS 061950,000613: 16,3077 00006 EXTEND 061951,000614: 16,3100 13464 BZF PURGENCY # BRANCH IF NOT IN RATE COMMAND LAST PASS. 061952,000615: # ........................................................................ 061953,000616: 16,3101 34734 CA BIT9 # JUST IN DETENT?? 061954,000617: 16,3102 71774 MASK RCSFLAGS 061955,000618: 16,3103 00006 EXTEND 061956,000619: 16,3104 13116 BZF RUTH 061957,000620: 16,3105 34730 AUTOCHEK CAF BIT13 # CLEAR JUSTIN AND QRBIT ONLY IF AUTO. 061958,000621: 16,3106 00006 EXTEND 061959,000622: 16,3107 02031 RAND CHAN31 061960,000623: 16,3110 00006 EXTEND 061961,000624: 16,3111 13215 BZF RATEDAMP # BRANCH IF IN ATTITUDE HOLD. 061962,000625: 061963,000626: 16,3112 45005 CS BITS9,11 # IN AUTO. 061964,000627: 16,3113 71774 MASK RCSFLAGS # (X-AXIS OVERRIDE) 061965,000628: 16,3114 55774 TS RCSFLAGS # ZERO ORBIT (BIT 11) AND JUST-IN BIT (9). 061966,000629: 16,3115 13215 TCF RATEDAMP 061967,000630: 061968,000631: 16,3116 31774 RUTH CA RCSFLAGS 061969,000632: 16,3117 74733 MASK PBIT # IN ATTITUDE HOLD. 061970,000633: 16,3120 00006 EXTEND 061971,000634: 16,3121 13123 BZF +2 # BRANCH IF P-RATE DAMPING IS FINISHED. 061972,000635: 16,3122 13215 TCF RATEDAMP 061973,000636: 16,3123 31774 CA RCSFLAGS 061974,000637: 16,3124 74732 MASK QRBIT 061975,000638: 16,3125 00006 EXTEND 061976,000639: 16,3126 13132 BZF RATEDONE # BRANCH IF Q,R RATE DAMPING IS FINISHED. 061977,000640: 16,3127 13105 TCF AUTOCHEK 061978,000641: # ============================================ 061979,000642: 16,3130 4744 1/10SEC = BIT1 061980,000643: 16,3130 4762 40CYC = OCT50 061981,000644:
![]() |
Page 1431 |
061983,000646: 16,3130 74777 PQRBIT OCT 74777 061984,000647: 16,3131 5005 BITS9,11 EQUALS EBANK5 061985,000648: 16,3131 00056 LINRATP DEC 46 B-14 061986,000649: # ============================================ 061987,000650: 16,3132 00004 RATEDONE INHINT # NULL THE APPROPRIATE ATTITUDE ERRORS. 061988,000651: 16,3133 34730 CAF BIT13 061989,000652: 16,3134 00006 EXTEND 061990,000653: 16,3135 02031 RAND CHAN31 061991,000654: 16,3136 00006 EXTEND 061992,000655: 16,3137 13143 BZF +4 061993,000656: 16,3140 30032 CA CDUX # (X-AXIS OVERRIDE) 061994,000657: 16,3141 55634 TS CDUXD 061995,000658: 16,3142 03145 TC +3 061996,000659: 16,3143 04665 TC IBNKCALL 061997,000660: 16,3144 40154 FCADR ZATTEROR 061998,000661: 16,3145 44731 ZRORCBIT CS OURRCBIT # CLEAR OURRCBIT: MANUAL MODE CLOSED OUT. 061999,000662: 16,3146 70111 MASK DAPBOOLS 062000,000663: 16,3147 54111 TS DAPBOOLS 062001,000664: 16,3150 00003 RELINT 062002,000665: 16,3151 13464 TCF PURGENCY 062003,000666: 062004,000667: 16,3152 55464 JUSTOUT TS PERROR # INITIALIZATION - FIRST MANUAL PASS (A=0) 062005,000668: 16,3153 55446 TS DXERROR 062006,000669: 16,3154 55447 TS DXERROR +1 062007,000670: 16,3155 55450 TS DYERROR 062008,000671: 16,3156 55451 TS DYERROR +1 062009,000672: 16,3157 55452 TS DZERROR 062010,000673: 16,3160 55453 TS DZERROR +1 062011,000674: 16,3161 55454 TS PLAST 062012,000675: 16,3162 55455 TS QLAST 062013,000676: 16,3163 55456 TS RLAST 062014,000677: 16,3164 54042 TS Q-RHCCTR 062015,000678: 16,3165 54044 TS R-RHCCTR 062016,000679: 16,3166 33130 CA PQRBIT 062017,000680: 16,3167 71774 MASK RCSFLAGS 062018,000681: 16,3170 55774 TS RCSFLAGS # BITS 10 AND 11 OF RCSFLAGS ARE 0. 062019,000682: 16,3171 03176 TC ZEROENBL 062020,000683: 16,3172 34731 CA OURRCBIT # SET INTERNAL RATE COMMAND FLAG (WHICH 062021,000684: 16,3173 26111 ADS DAPBOOLS # WAS FOUND TO BE ZERO EARLIER) 062022,000685: 16,3174 00003 RELINT 062023,000686: 16,3175 13443 TCF JETSOFF 062024,000687: 16,3176 22044 ZEROENBL LXCH R-RHCCTR 062025,000688: 16,3177 30042 CA Q-RHCCTR 062026,000689: 16,3200 53463 DXCH SAVEHAND 062027,000690: 16,3201 34746 CA ZERO 062028,000691: 16,3202 54043 TS P-RHCCTR 062029,000692: 16,3203 54042 TS Q-RHCCTR 062030,000693: 16,3204 54044 TS R-RHCCTR 062031,000694: 16,3205 00004 INHINT 062032,000695: 16,3206 00006 EXTEND 062033,000696:
![]() |
Page 1432 |
062035,000698: 16,3207 23265 QXCH C13QSAV 062036,000699: 16,3210 06040 TC C13STALL 062037,000700: 062038,000701: 16,3211 33620 CA BITS8,9 062039,000702: 16,3212 00006 EXTEND 062040,000703: 16,3213 05013 WOR CHAN13 # COUNTERS ZEROED AND ENABLED 062041,000704: 16,3214 01265 TC C13QSAV 062042,000705: 062043,000706: 16,3215 34746 RATEDAMP CA ZERO 062044,000707: 16,3216 54043 TS P-RHCCTR 062045,000708: 16,3217 13227 TCF RATERROR 062046,000709: 062047,000710: 16,3220 41774 RHCMOVED CS RCSFLAGS # SET JUSTIN BIT TO 1 062048,000711: 16,3221 74734 MASK BIT9 062049,000712: 16,3222 27774 ADS RCSFLAGS 062050,000713: 16,3223 34731 CA OURRCBIT # P CONTROL 062051,000714: 16,3224 70111 MASK DAPBOOLS 062052,000715: 16,3225 00006 EXTEND 062053,000716: 16,3226 13152 BZF JUSTOUT 062054,000717: 16,3227 30032 RATERROR CA CDUX # FINDCDUW REQUIRES THAT CDUXD=CDUX DURING 062055,000718: 16,3230 55634 TS CDUXD # X-AXIS OVERRIDE 062056,000719: 16,3231 10043 CCS P-RHCCTR 062057,000720: 16,3232 13235 TCF +3 062058,000721: 16,3233 13235 TCF +2 062059,000722: 16,3234 13235 TCF +1 062060,000723: 16,3235 60000 DOUBLE # LINEAR/QUADRATIC CONTROLLER SCALING 062061,000724: 16,3236 60000 DOUBLE # (SEE EXPLANATION IN Q,R-AXES RCS 062062,000725: 16,3237 63131 AD LINRATP # AUTOPILOT) 062063,000726: 16,3240 00006 EXTEND 062064,000727: 16,3241 70043 MP P-RHCCTR 062065,000728: 16,3242 30001 CA L 062066,000729: 16,3243 00006 EXTEND 062067,000730: 16,3244 71444 MP STIKSENS 062068,000731: 16,3245 57454 XCH PLAST 062069,000732: 16,3246 40000 COM 062070,000733: 16,3247 61454 AD PLAST 062071,000734: 16,3250 55736 TS DAPTEMP1 062072,000735: 16,3251 03176 TC ZEROENBL # INTERVAL. ZERO AND ENABLE ACA COUNTERS. 062073,000736: 16,3252 00003 RELINT 062074,000737: 16,3253 41454 CS PLAST 062075,000738: 16,3254 61421 AD OMEGAP 062076,000739: 16,3255 55427 TS EDOTP 062077,000740: 16,3256 11736 CCS DAPTEMP1 # IF P COMMAND CHANGE EXCEEDS BREAKOUT 062078,000741: 16,3257 13262 TCF +3 # LEVEL, GO TO DIRECT RATE CONTROL. IF NOT 062079,000742: 16,3260 13270 TCF +8D # CHECK FOR DIRECT RATE CONTROL LAST TIME. 062080,000743: 16,3261 13262 TCF +1 062081,000744: 16,3262 61476 AD -RATEDB 062082,000745: 16,3263 00006 EXTEND 062083,000746: 16,3264 63270 BZMF +4 062084,000747: 16,3265 34762 CA 40CYC 062085,000748:
![]() |
Page 1433 |
062087,000750: 16,3266 55445 TS TCP 062088,000751: 16,3267 03301 TC PEGI 062089,000752: 16,3270 31774 CA RCSFLAGS # CHECK FOR DIRECT RATE COMMAND LAST TIME. 062090,000753: 16,3271 74733 MASK PBIT 062091,000754: 16,3272 00006 EXTEND 062092,000755: 16,3273 13275 BZF +2 062093,000756: 16,3274 03301 TC PEGI # TO PURE RATE COMMAND 062094,000757: 16,3275 31446 CA DXERROR # PSEUDO-AUTO CONTROL. 062095,000758: 16,3276 55751 TS E # X-ATTITUDE ERROR (SP) 062096,000759: 16,3277 55464 TS PERROR # LOAD P-AXIS ERROR FOR MODE1 FDAI DISPLAY 062097,000760: 16,3300 03470 TC PURGENCY +4 062098,000761: 16,3301 30032 PEGI CA CDUX # DIRECT RATE CONTROL. 062099,000762: 16,3302 55634 TS CDUXD 062100,000763: 16,3303 34746 CA ZERO 062101,000764: 16,3304 55446 TS DXERROR 062102,000765: 16,3305 55447 TS DXERROR +1 062103,000766: 16,3306 55464 TS PERROR # ZERO P-AXIS ERROR FOR MODE1 FDAI DISPLAY 062104,000767: 16,3307 11427 CCS EDOTP 062105,000768: 16,3310 03313 TC +3 062106,000769: 16,3311 03313 TC +2 062107,000770: 16,3312 03313 TC +1 062108,000771: 16,3313 55736 TS ABSEDOTP 062109,000772: 16,3314 61476 AD TARGETDB 062110,000773: 16,3315 00006 EXTEND # IF RATE ERROR IS LESS THAN DEADBAND, 062111,000774: 16,3316 63326 BZMF LAST # FIRE, AND SWITCH TO PSEUDO-AUTO. 062112,000775: 16,3317 31445 CA TCP 062113,000776: 16,3320 00006 EXTEND # IF TIME IN RATE COMMAND EXCEEDS 4 SEC., 062114,000777: 16,3321 63326 BZMF LAST 062115,000778: 16,3322 41774 CS RCSFLAGS 062116,000779: 16,3323 74733 MASK PBIT 062117,000780: 16,3324 27774 ADS RCSFLAGS # BIT 10 IS 1. 062118,000781: 16,3325 13331 TCF +4 062119,000782: 16,3326 44733 LAST CS PBIT 062120,000783: 16,3327 71774 MASK RCSFLAGS 062121,000784: 16,3330 55774 TS RCSFLAGS # BIT 10 IS 0. 062122,000785: 16,3331 41427 CS EDOTP 062123,000786: 16,3332 00006 EXTEND 062124,000787: 16,3333 71550 MP 1/ANETP # 1/2JTACC SCALED AT 2EXP(7)/PI 062125,000788: 16,3334 20001 DAS A 062126,000789: 16,3335 02314 TC OVERSUB 062127,000790: 16,3336 00006 EXTEND 062128,000791: 16,3337 77737 MP 25/32 # A CONTAINS TJET SCALED AT 2EXP(4)(16/25) 062129,000792: 16,3340 55524 TS TJP # 4.JET TIME 062130,000793: 16,3341 31736 CA ABSEDOTP 062131,000794: 16,3342 61475 AD -2JETLIM # COMPARING DELTA RATE WITH 2 JET LIMIT 062132,000795: 16,3343 00006 EXTEND 062133,000796: 16,3344 63347 BZMF +3 062134,000797: 062135,000798: 16,3345 36263 CA SIX 062136,000799: 16,3346 13356 TCF +8D 062137,000800:
![]() |
Page 1434 |
062139,000802: 16,3347 31524 CA TJP 062140,000803: 16,3350 27524 ADS TJP 062141,000804: # GOES TO PJETSLEC FOR TWO JETS 062142,000805: 062143,000806: # P-JET-SELECTION-ROUTINE (ROTATION) 062144,000807: 062145,000808: # INPUT: NUMBERT 4,5,6 FOR WHICH PAIR OR 4 JETS 062146,000809: # TJP + FOR +P ROTATION 062147,000810: 062148,000811: # OUTPUT: CHANNEL 6 062149,000812: # PJUMPADR FOR P-AXIS SKIP 062150,000813: # (JTLST CALL) (SMALL TJP) 062151,000814: 062152,000815: # ORDER OF POLICIES TRIED IN CASE OF FAILURE. 062153,000816: # +P -P 062154,000817: # 7,15 8,16 062155,000818: # 4,12 3,11 062156,000819: # 4,7 8,11 062157,000820: # 7,12 11,16 062158,000821: # 12,15 3,16 062159,000822: # 4,15 3,8 062160,000823: # ALARM ALARM 062161,000824: 16,3351 34740 CA AORBSYST 062162,000825: 16,3352 70101 MASK FLAGWRD5 062163,000826: 16,3353 10000 CCS A 062164,000827: 16,3354 34744 CA ONE 062165,000828: 16,3355 64742 AD FOUR 062166,000829: 16,3356 55742 TS NUMBERT 062167,000830: 16,3357 34744 PJETSLEC CA ONE 062168,000831: 16,3360 54001 TS L 062169,000832: 16,3361 11524 CCS TJP 062170,000833: 16,3362 13367 TCF +5 062171,000834: 16,3363 13443 TCF JETSOFF 062172,000835: 16,3364 13366 TCF +2 062173,000836: 16,3365 13443 TCF JETSOFF 062174,000837: 16,3366 22007 ZL 062175,000838: 16,3367 64744 AD ONE 062176,000839: 16,3370 55736 TS ABSTJ 062177,000840: 16,3371 23743 LXCH ROTINDEX 062178,000841: 16,3372 03532 TC SELECTP 062179,000842: 16,3373 46263 CS SIX 062180,000843: 16,3374 61742 AD NUMBERT 062181,000844: 16,3375 00006 EXTEND 062182,000845: 16,3376 13400 BZF +2 062183,000846: 062184,000847: 16,3377 44743 CS TWO 062185,000848: 16,3400 64742 AD FOUR 062186,000849: 16,3401 55521 TS NO.PJETS 062187,000850: 16,3402 31740 CA POLYTEMP 062188,000851: 16,3403 05750 TC WRITEP 062189,000852:
![]() |
Page 1435 |
062191,000854: 16,3404 41736 CS ABSTJ 062192,000855: 16,3405 63613 AD +150MST6 062193,000856: 16,3406 00006 EXTEND 062194,000857: 16,3407 63625 BZMF QRAXIS # GO TO QRAXIS OR TO GTS. 062195,000858: 062196,000859: 16,3410 63573 AD -136MST6 062197,000860: 16,3411 00006 EXTEND 062198,000861: 16,3412 63417 BZMF +5 062199,000862: 062200,000863: 16,3413 27736 ADS ABSTJ 062201,000864: 16,3414 51743 INDEX ROTINDEX 062202,000865: 16,3415 33622 CA MINTIMES 062203,000866: 16,3416 55524 TS TJP 062204,000867: 062205,000868: 16,3417 31736 CA ABSTJ 062206,000869: 16,3420 22007 ZL 062207,000870: 16,3421 00004 INHINT 062208,000871: 16,3422 53471 DXCH T6FURTHA 062209,000872: 16,3423 04665 TC IBNKCALL 062210,000873: 16,3424 37143 CADR JTLST 062211,000874: 16,3425 44731 CS BIT12 062212,000875: 16,3426 71774 MASK RCSFLAGS 062213,000876: 16,3427 55774 TS RCSFLAGS # BIT 12 SET TO 0. 062214,000877: 16,3430 03432 TC ALTSYST 062215,000878: 16,3431 13625 TCF QRAXIS 062216,000879: 062217,000880: 16,3432 30101 ALTSYST CA FLAGWRD5 # ALTERNATE P-AXIS JETS 062218,000881: 16,3433 54001 TS L 062219,000882: 16,3434 34740 CA AORBSYST 062220,000883: 16,3435 00006 EXTEND 062221,000884: 16,3436 06001 RXOR LCHAN 062222,000885: 16,3437 54101 TS FLAGWRD5 062223,000886: 16,3440 00003 RELINT 062224,000887: 16,3441 00002 TC Q 062225,000888: 062226,000889: 16,3442 03432 DKALT TC ALTSYST 062227,000890: 062228,000891: 16,3443 05747 JETSOFF TC WRITEP -1 062229,000892: 16,3444 34746 CA ZERO 062230,000893: 16,3445 55524 TS TJP 062231,000894: 16,3446 13625 TCF QRAXIS 062232,000895: # (NOTE -- M13 = 1 IDENTICALLY IMPLIES NULL MULTIPLICATION.) 062233,000896: 062234,000897: 16,3447 30033 CALCPERR CA CDUY # P-ERROR CALCULATION. 062235,000898: 16,3450 00006 EXTEND 062236,000899: 16,3451 21635 MSU CDUYD # CDU VALUE - ANGLE DESIRED (Y-AXIS) 062237,000900: 16,3452 00006 EXTEND 062238,000901: 16,3453 71414 MP M11 # (CDUY-CDUYD)M11 SCALED AT PI RADIANS 062239,000902: 16,3454 57751 XCH E # SAVE FIRST TERM (OF TWO) 062240,000903: 16,3455 30032 CA CDUX # THIRD COMPONENT 062241,000904:
![]() |
Page 1436 |
062243,000906: 16,3456 00006 EXTEND 062244,000907: 16,3457 21634 MSU CDUXD # CDU VALUE - ANGLE DESIRED (X-AXIS) 062245,000908: # EXTEND 062246,000909: # MP M13 062247,000910: 16,3460 61274 AD DELPEROR # KALCMANU INERFACE ERROR 062248,000911: 16,3461 27751 ADS E # SAVE SUM OF TERMS. COULD BE OVERFLOW. 062249,000912: 16,3462 57464 XCH PERROR # SAVE P-ERROR FOR EIGHT-BALL DISPLAY. 062250,000913: 16,3463 00002 TC Q # RETURN TO CALLER 062251,000914: 062252,000915: # P-AXIS URGENCY FUNCTION CALCULATION. 062253,000916: 062254,000917: 16,3464 03447 PURGENCY TC CALCPERR # CALCULATE P-AXIS ERRORS. 062255,000918: 16,3465 41642 CS OMEGAPD # THIS CODING IS COMMON TO BOTH LM DAP AND 062256,000919: 16,3466 61421 AD OMEGAP # SPS-BACKUP MODE. 062257,000920: 16,3467 55427 TS EDOTP # EDOTP = OMEGAP - OMEGAPD AT PI/4 RAD/SEC 062258,000921: 062259,000922: 062260,000923: 16,3470 44744 CS ONE 062261,000924: 16,3471 55505 TS AXISCTR 062262,000925: 16,3472 30111 CA DAPBOOLS 062263,000926: 16,3473 74730 MASK CSMDOCKD 062264,000927: 16,3474 00006 EXTEND 062265,000928: 16,3475 13506 BZF HEADTJET 062266,000929: 16,3476 00004 INHINT # IF CSMDOCKD = 1, GO TO DOCKED RCS LOGIC 062267,000930: 16,3477 04665 TC IBNKCALL 062268,000931: 16,3500 43667 CADR SPSRCS 062269,000932: 062270,000933: 16,3501 31524 CA TJP 062271,000934: 16,3502 00006 EXTEND 062272,000935: 16,3503 13442 BZF DKALT # IF TJP = ZERO, CHANGE AORBSYST. 062273,000936: 16,3504 00003 RELINT 062274,000937: 16,3505 13351 TCF PJETSLEC -6 # SELECT AORBSYST AND USE TWO JETS 062275,000938: 16,3506 34746 HEADTJET CA ZERO 062276,000939: 16,3507 55500 TS SENSETYP 062277,000940: 16,3510 00004 INHINT 062278,000941: 16,3511 04665 TC IBNKCALL 062279,000942: 16,3512 37304 CADR TJETLAW 062280,000943: 16,3513 00003 RELINT 062281,000944: 062282,000945: 16,3514 41740 CS FIREFCT 062283,000946: 16,3515 63531 AD -FOURDEG 062284,000947: 16,3516 00006 EXTEND 062285,000948: 16,3517 63351 BZMF PJETSLEC -6 062286,000949: 16,3520 11524 CCS TJP 062287,000950: 16,3521 13523 TCF +2 062288,000951: 16,3522 13443 TCF JETSOFF 062289,000952: 16,3523 63530 AD -160MST6 062290,000953: 16,3524 00006 EXTEND 062291,000954: 16,3525 63351 BZMF PJETSLEC -6 062292,000955: 16,3526 36263 CA SIX 062293,000956:
![]() |
Page 1437 |
062295,000958: 16,3527 13356 TCF PJETSLEC -1 062296,000959: 16,3530 77377 -160MST6 DEC -256 B-14 062297,000960: 16,3531 75117 -FOURDEG DEC -.08888 062298,000961:
![]() |
Page 1438 |
062300,000963: # JET POLICY CONSTRUCTION SUBROUTINE 062301,000964: 062302,000965: # INPUT: ROTINDEX, NUMBERT 062303,000966: 062304,000967: # OUTPUT: POLYTEMP (JET POLICY) 062305,000968: 062306,000969: # THIS SUBROUTINE SELECT A SUBSET OF THE DESIRED JETS WHICH HAS NO FAILURE 062307,000970: 16,3532 36263 SELECTP CA SIX 062308,000971: 16,3533 55741 TS TEMPNUM 062309,000972: 16,3534 51742 INDEX NUMBERT 062310,000973: 16,3535 33564 CA TYPEP 062311,000974: 16,3536 51743 INDEX ROTINDEX 062312,000975: 16,3537 73555 MASK JETSALL 062313,000976: 16,3540 55740 TS POLYTEMP 062314,000977: 16,3541 71260 MASK CH6MASK 062315,000978: 16,3542 10000 CCS A 062316,000979: 16,3543 13545 TCF +2 062317,000980: 16,3544 00002 TC Q 062318,000981: 16,3545 11741 CCS TEMPNUM 062319,000982: 16,3546 13552 TCF +4 062320,000983: 16,3547 05571 TC ALARM 062321,000984: 16,3550 02003 OCT 02003 062322,000985: 16,3551 13443 TCF JETSOFF # *****TCF ALARMJET ********************* 062323,000986: 16,3552 55742 SELECTYZ TS NUMBERT 062324,000987: 16,3553 13533 TCF SELECTP +1 062325,000988: 16,3554 12777 -1 TCF ABORTYZ +2 062326,000989: 16,3555 00252 JETSALL OCT 00252 062327,000990: 16,3556 00125 OCT 00125 # +P 062328,000991: 16,3557 00140 OCT 00140 # -Y 062329,000992: 16,3560 00006 OCT 00006 # -Z 062330,000993: 16,3561 00220 OCT 00220 # +Y 062331,000994: 16,3562 00011 OCT 00011 # +Z 062332,000995: 16,3563 00151 OCT 00151 # +V 062333,000996: 16,3564 00146 TYPEP OCT 00146 # -U 062334,000997: 16,3565 00226 OCT 00226 # -V 062335,000998: 16,3566 00231 OCT 00231 # +U 062336,000999: 16,3567 00151 OCT 00151 # +V 062337,001000: 16,3570 00132 OCT 00132 # 1-3 062338,001001: 16,3571 00245 OCT 00245 # 2-4 062339,001002: 16,3572 00377 OCT 00377 # ALL 062340,001003: 16,3573 16,3573 INDXYZ = -136MST6 062341,001004: 16,3573 77445 -136MST6 DEC -218 B-14 062342,001005: 16,3574 00004 DEC 4 B-14 062343,001006: 16,3575 00002 DEC 2 B-14 062344,001007: 16,3576 07776 OCT 07776 062345,001008: 16,3577 00005 DEC 5 B-14 062346,001009: 16,3600 00011 DEC 9 B-14 062347,001010: 16,3601 00012 DEC 10 B-14 062348,001011: 16,3602 07776 OCT 07776 062349,001012: 16,3603 00003 DEC 3 B-14 062350,001013:
![]() |
Page 1439 |
062352,001015: 16,3604 00010 DEC 8 B-14 062353,001016: 16,3605 00007 DEC 7 B-14 062354,001017: 16,3606 07776 OCT 07776 # THESE INDEXES OF MASK JETSALL WILL 062355,001018: 16,3607 07776 OCT 07776 # CHANGE THE INSTRUCTION AT SELECTP +4 062356,001019: 16,3610 07776 OCT 07776 # TO BE TC JETSALL -1 062357,001020: 16,3611 07776 OCT 07776 # ONLY USED FOR TRANSLATION FAILURE 062358,001021: 16,3612 07776 OCT 07776 062359,001022: 16,3613 00360 +150MST6 DEC 240 B-14 062360,001023: 16,3614 07400 07400OCT OCT 07400 062361,001024: # T-JET LAW FIXED CONSTANTS 062362,001025: 062363,001026: 16,3615 00266 NORMSCL OCT 266 062364,001027: 16,3616 74631 -100MS DEC -.1 062365,001028: 16,3617 06315 200MS DEC .2 062366,001029: 16,3620 7737 25/32 = PRIO31 # (DEC .78125) 062367,001030: 16,3620 00600 BITS8,9 OCTAL 00600 062368,001031: 16,3621 00632 1/40 DEC .02500 062369,001032: 16,3622 77751 MINTIMES DEC -22 B-14 062370,001033: 16,3623 00026 DEC 22 B-14 062371,001034: 16,3624 02740 PSKIPADR GENADR SKIPPAXS 062372,001035: 062373,001036: # GOES TO Q,R-AXES RCS AUTOPILOT 062374,001037: 16,3625 41644 QRAXIS CS OMEGARD 062375,001038: 16,3626 61423 AD OMEGAR 062376,001039: 16,3627 02314 TC OVERSUB 062377,001040: 16,3630 55437 TS EDOTR 062378,001041: 16,3631 41643 CS OMEGAQD 062379,001042: 16,3632 61422 AD OMEGAQ 062380,001043: 16,3633 02314 TC OVERSUB 062381,001044: 16,3634 55436 TS EDOTQ 062382,001045: 16,3635 00006 EXTEND 062383,001046: 16,3636 33641 DCA QERRCALL 062384,001047: 16,3637 52006 DTCB 062385,001048: 062386,001049: 16,3640 E6,1536 EBANK= AOSQ 062387,001050: 16,3640 02124 36106 QERRCALL 2CADR CALLQERR End of include-file P-AXIS_RCS_AUTOPILOT.agc. Parent file is MAIN.agc