Source Code
![]() |
These source-code files derive from a printout of Luminary 116 (the Apollo 12
Lunar Module guidance computer program), from the personal library of
original AGC developer Don Eyles, digitally photographed at archive.org,
financially sponsored by Ron Burkey, 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 116 OF AGC PROGRAM LUMINARY BY NASA 2021112-071 19:09 AUG. 11,1969Note that the date is the date of the printout, not the date of the program revision. |
060017,000002: ## Copyright: Public domain.
060018,000003: ## Filename: P-AXIS_RCS_AUTOPILOT.agc
060019,000004: ## Purpose: A section of Luminary revision 116.
060020,000005: ## It is part of the source code for the Lunar Module's (LM)
060021,000006: ## Apollo Guidance Computer (AGC) for Apollo 12.
060022,000007: ## This file is intended to be a faithful transcription, except
060023,000008: ## that the code format has been changed to conform to the
060024,000009: ## requirements of the yaYUL assembler rather than the
060025,000010: ## original YUL assembler.
060026,000011: ## Reference: pp. 1411-1431
060027,000012: ## Assembler: yaYUL
060028,000013: ## Contact: Ron Burkey <info@sandroid.org>.
060029,000014: ## Website: www.ibiblio.org/apollo/index.html
060030,000015: ## Mod history: 2017-01-22 MAS Created from Luminary 99.
060031,000016: ## 2017-02-01 RRB Updated for Luminary 116.
060032,000017: ## 2017-02-09 HG Fix operand O13QSAV --> C13QSAV
060033,000018: ## O13STALL --> C13STALL
060034,000019: ## Q --> C13QSAV
060035,000020: ## 2017-03-14 RSB Proofed comment text via 3-way diff vs
060036,000021: ## Luminary 99 and 131. Fixed an OCT also.
060037,000022: ## 2017-03-16 RSB Comment-text fixes identified in 5-way
060038,000023: ## side-by-side diff of Luminary 69/99/116/131/210.
060039,000024: ## 2017-03-19 HG Fix definition of 1/10SEC, 40CYC
060040,000025: ## i.e. no storage allocated
060041,000026: ## Add missing statements RELINT
060042,000027: ## Fix operand DAPBOOLS --> FLAGWRD5
060043,000028:
![]() |
Page 1411 |
060045,000030: 16,2213 BANK 16
060046,000031: 16,2000 SETLOC DAPS1
060047,000032: 16,2000 BANK
060048,000033:
060049,000034: 16,2213 E6,1464 EBANK= PERROR
060050,000035: 16,2213 COUNT* $$/DAPP
060051,000036:
060052,000037: # THE FOLLOWING T5RUPT ENTRY BEGINS THE PROGRAM WHICH CONTROLS THE P-AXIS ACTION OF THE LEM USING THE RCS JETS.
060053,000038: # THE NOMINAL TIME BETWEEN THE P-AXIS RUPTS IS 100 MS IN ALL NON-IDLING MODES OF THE DAP.
060054,000039:
060055,000040: 16,2213 37732 PAXIS CA MS100
060056,000041: 16,2214 26030 ADS TIME5 # *** NECESSARY IN ORDER TO ALLOW SYN-
060057,000042: # CHRONIZATION WITH OTHER INTERRUPTS ***
060058,000043:
060059,000044: 16,2215 22016 LXCH BANKRUPT # INTERRUPT LEAD IN (CONTINUED)
060060,000045: 16,2216 00006 EXTEND
060061,000046: 16,2217 22012 QXCH QRUPT
060062,000047:
060063,000048: # CHECK IF DAP PASS IS PERMISSIBLE
060064,000049:
060065,000050: 16,2220 11757 CCS DAPZRUPT # IF DAPZRUPT POSITIVE, DAP (JASK) IS
060066,000051: 16,2221 05624 TC BAILOUT # STILL IN PROGRESS AND A RESTART IS
060067,000052: 16,2222 32000 OCT 32000 # CALLED FOR. IT IS NEVER ZERO
060068,000053:
060069,000054: 16,2223 02000 TC CHEKBITS # RETURN IS TO I+1 IF DAP SHOULD STAY ON.
060070,000055:
060071,000056: 16,2224 30032 CA CDUX # READ AND STORE CDU'S
060072,000057: 16,2225 55750 TS DAPTREG4
060073,000058: 16,2226 30033 CA CDUY
060074,000059: 16,2227 55751 TS DAPTREG5
060075,000060: 16,2230 30034 CA CDUZ
060076,000061: 16,2231 55752 TS DAPTREG6
060077,000062:
060078,000063: # ***** KALCMANU-DAP AND "RATE-HOLD"-DAP INTERFACE *****
060079,000064:
060080,000065: # THE FOLLOWING SECTION IS EXECUTED EVERY 100 MS (10 TIMES A SECOND) WITHIN THE P-AXIS REACTION CONTROL SYSTEM
060081,000066: # AUTOPILOT (WHENEVER THE DAP IS IN OPERATION).
060082,000067:
060083,000068: 16,2232 31635 CA CDUXD
060084,000069: 16,2233 00006 EXTEND
060085,000070: 16,2234 21640 MSU DELCDUX
060086,000071: 16,2235 02256 TC 1STOTWOS
060087,000072: 16,2236 55635 TS CDUXD
060088,000073: 16,2237 31636 CA CDUYD
060089,000074: 16,2240 00006 EXTEND
060090,000075: 16,2241 21641 MSU DELCDUY
060091,000076: 16,2242 02256 TC 1STOTWOS
060092,000077: 16,2243 55636 TS CDUYD
060093,000078: 16,2244 31637 CA CDUZD
060094,000079: 16,2245 00006 EXTEND
060095,000080: 16,2246 21642 MSU DELCDUZ
![]() |
Page 1412 |
060097,000082: 16,2247 02256 TC 1STOTWOS
060098,000083: 16,2250 55637 TS CDUZD
060099,000084: 16,2251 00006 EXTEND # DIMINISH MANUAL CONTROL DIRECT RATE
060100,000085: 16,2252 27445 DIM TCP # TIME COUNTERS.
060101,000086: 16,2253 00006 EXTEND
060102,000087: 16,2254 27457 DIM TCQR
060103,000088:
060104,000089: # RATELOOP COMPUTES JETRATEQ, JETRATER, AND 1JACC*NO. PJETS IN ITEMP1.
060105,000090: # RETURNS TO BACKP.
060106,000091:
060107,000092: # JETRATE = 1JACC*NO.PJETS*TJP (NOTE TJ IS THE TIME FIRED DURING CSP)
060108,000093: # JETRATEQ = 1JACCQ(TJU*NO.UJETS - TJV*NO.VJETS)
060109,000094: # JETRATER = 1JACCR(TJU*NO.UJETS + TJV*NO.VJETS)
060110,000095:
060111,000096: 16,2255 12647 TCF PAXFILT # PROCEEDS TO RATELOOP AFTER SUPERJOB
060112,000097: 16,2256 10000 1STOTWOS CCS A
060113,000098: 16,2257 64753 AD ONE
060114,000099: 16,2260 00002 TC Q
060115,000100: 16,2261 40000 CS A
060116,000101: 16,2262 00002 TC Q
060117,000102: 16,2263 00006 SUBDIVDE EXTEND # OVERFLOW PROCTION ROUTINE TO GIVE
060118,000103: 16,2264 71741 MP DAPTEMP3 # POSMAX OR NEGMAX IF THE DIVIDE WOULD
060119,000104: 16,2265 21427 DAS OMEGAU # OVERFLOW
060120,000105:
060121,000106: 16,2266 00006 +3 EXTEND
060122,000107: 16,2267 31427 DCA OMEGAU
060123,000108: 16,2270 53744 DXCH DAPTEMP5
060124,000109: 16,2271 11426 CCS OMEGAU
060125,000110: 16,2272 12274 TCF +2
060126,000111: 16,2273 12304 TCF DIVIDER
060127,000112: 16,2274 62315 AD -OCT630
060128,000113: 16,2275 00006 EXTEND
060129,000114: 16,2276 62304 BZMF DIVIDER
060130,000115:
060131,000116: 16,2277 11426 CCS OMEGAU
060132,000117: 16,2300 34733 CA POSMAX # 45 DEG/SEC
060133,000118: 16,2301 00002 TC Q
060134,000119: 16,2302 44733 CS POSMAX
060135,000120: 16,2303 00002 TC Q
060136,000121:
060137,000122: 16,2304 53427 DIVIDER DXCH OMEGAU
060138,000123: 16,2305 00006 EXTEND
060139,000124: 16,2306 11750 DV DAPTREG4
060140,000125: 16,2307 00002 TC Q
060141,000126:
060142,000127: 16,2310 54007 OVERSUB TS 7 # RETURNS A UNCHANGED OR LIMITED TO
060143,000128: 16,2311 00002 TC Q # POSMAX OR NEGMAX IF A HAS OVERFLOW
060144,000129: 16,2312 50000 INDEX A
060145,000130: 16,2313 44734 CS BIT15 -1
![]() |
Page 1413 |
060147,000132: 16,2314 00002 TC Q
060148,000133:
060149,000134: 16,2315 77147 -OCT630 OCT 77147
060150,000135:
060151,000136: 16,2316 31737 BACKP CA DAPTEMP1
060152,000137: 16,2317 00006 EXTEND
060153,000138: 16,2320 71530 MP 1JACC
060154,000139: 16,2321 55745 TS JETRATE
060155,000140:
060156,000141: # BEGINNING OF THE RATE DERIVATION
060157,000142: # OMEGAP,Q,R BODY RATES SCALED AT PI/4
060158,000143: # TRAPER,Q,R BODY ANGLE ERRORS FROM PREDICTED ANGLE (PI/40)
060159,000144: # NP(QR)TRAPS NUMBER OF TIMES ANGLE ERROR HAS BEEN ACCUMULATED
060160,000145: # AOSQ(R)TERM CHANGE IN RATE DUE TO OFFSET ACCELLERATION. (PI/4)
060161,000146: # JETRATE,Q,R CHANGE IN RATE DUE TO JET ACCELLERATION. (PI/4)
060162,000147: # TRAPSIZE NEGATIVE LIMIT OF MAGNITUDE OF TRAPEDP, ECT.
060163,000148: # OMEGAU DP-TEMPORARY STORAGE
060164,000149:
060165,000150: # OMEGA = OMEGA + JETRATE + AOSTERM (+TRAPED/NTRAPS IF TRAPED BIG)
060166,000151:
060167,000152: 16,2322 31750 CAE DAPTREG4 # CDUX IS STORED HERE
060168,000153: 16,2323 54001 TS L
060169,000154: 16,2324 00006 EXTEND
060170,000155: 16,2325 21440 MSU OLDXFORP # SCALED AT PI
060171,000156: 16,2326 23440 LXCH OLDXFORP
060172,000157: 16,2327 55737 TS DAPTEMP1
060173,000158: 16,2330 33624 CA 1/40
060174,000159: 16,2331 55750 TS DAPTREG4
060175,000160: 16,2332 41745 CS JETRATE
060176,000161: 16,2333 00006 EXTEND
060177,000162: 16,2334 74736 MP BIT14
060178,000163: 16,2335 27430 ADS TRAPEDP
060179,000164: 16,2336 31746 CA JETRATEQ
060180,000165: 16,2337 61545 AD AOSQTERM
060181,000166: 16,2340 00006 EXTEND
060182,000167: 16,2341 77741 MP -BIT14
060183,000168: 16,2342 27431 ADS TRAPEDQ
060184,000169: 16,2343 31747 CA JETRATER
060185,000170: 16,2344 61546 AD AOSRTERM
060186,000171: 16,2345 00006 EXTEND
060187,000172: 16,2346 77741 MP -BIT14
060188,000173: 16,2347 27432 ADS TRAPEDR
060189,000174:
060190,000175: 16,2350 31751 CA DAPTREG5 # CDUY IS STORED HERE
060191,000176: 16,2351 54001 TS L
060192,000177: 16,2352 00006 EXTEND
060193,000178: 16,2353 21441 MSU OLDYFORP # SCALED AT PI
060194,000179: 16,2354 23441 LXCH OLDYFORP
060195,000180: 16,2355 55740 TS DAPTEMP2
060196,000181: 16,2356 00006 EXTEND
060197,000182: 16,2357 71414 MP M11 # M11 SCALED AT 1
![]() |
Page 1414 |
060199,000184: 16,2360 61737 AD DAPTEMP1
060200,000185: 16,2361 53427 DXCH OMEGAU
060201,000186:
060202,000187: 16,2362 02266 TC SUBDIVDE +3 # RETURNS WITH CDU-RATE AT PI/4
060203,000188:
060204,000189: 16,2363 00006 EXTEND
060205,000190: 16,2364 61421 SU OMEGAP
060206,000191: 16,2365 27430 ADS TRAPEDP
060207,000192: 16,2366 02310 TC OVERSUB
060208,000193: 16,2367 55430 TS TRAPEDP
060209,000194: 16,2370 00006 EXTEND
060210,000195: 16,2371 31744 DCA DAPTEMP5
060211,000196: 16,2372 21447 DAS DXERROR
060212,000197: 16,2373 41454 CS PLAST
060213,000198: 16,2374 00006 EXTEND
060214,000199: 16,2375 73624 MP 1/40
060215,000200: 16,2376 21447 DAS DXERROR # MANUAL MODE X-ATTITUDE ERROR (DP)
060216,000201: 16,2377 31752 CA DAPTREG6 # CDUZ IS STORED HERE
060217,000202: 16,2400 54001 TS L
060218,000203: 16,2401 00006 EXTEND
060219,000204: 16,2402 21442 MSU OLDZFORQ
060220,000205: 16,2403 55741 TS DAPTEMP3
060221,000206: 16,2404 23442 LXCH OLDZFORQ
060222,000207: 16,2405 31415 CA M21
060223,000208: 16,2406 00006 EXTEND
060224,000209: 16,2407 71740 MP DAPTEMP2
060225,000210: 16,2410 53427 DXCH OMEGAU
060226,000211: 16,2411 31417 CA M22
060227,000212: 16,2412 02263 TC SUBDIVDE
060228,000213:
060229,000214: 16,2413 00006 EXTEND
060230,000215: 16,2414 61422 SU OMEGAQ
060231,000216: 16,2415 27431 ADS TRAPEDQ
060232,000217: 16,2416 02310 TC OVERSUB
060233,000218: 16,2417 55431 TS TRAPEDQ
060234,000219: 16,2420 00006 EXTEND
060235,000220: 16,2421 31744 DCA DAPTEMP5
060236,000221: 16,2422 21451 DAS DYERROR
060237,000222: 16,2423 41455 CS QLAST
060238,000223: 16,2424 00006 EXTEND
060239,000224: 16,2425 73624 MP 1/40
060240,000225: 16,2426 21451 DAS DYERROR # MANUAL MODE Y-ATTITUDE ERROR (DP)
060241,000226: 16,2427 31416 CA M31
060242,000227: 16,2430 00006 EXTEND
060243,000228: 16,2431 71740 MP DAPTEMP2
060244,000229: 16,2432 53427 DXCH OMEGAU
060245,000230: 16,2433 31420 CA M32
060246,000231:
060247,000232: 16,2434 02263 TC SUBDIVDE
![]() |
Page 1415 |
060249,000234: 16,2435 00006 EXTEND
060250,000235: 16,2436 61423 SU OMEGAR
060251,000236: 16,2437 27432 ADS TRAPEDR
060252,000237: 16,2440 02310 TC OVERSUB
060253,000238: 16,2441 55432 TS TRAPEDR # TRAPEDS HAVE ALL BEEN COMPUTED
060254,000239:
060255,000240: 16,2442 00006 EXTEND
060256,000241: 16,2443 31744 DCA DAPTEMP5
060257,000242: 16,2444 21453 DAS DZERROR
060258,000243: 16,2445 41456 CS RLAST
060259,000244: 16,2446 00006 EXTEND
060260,000245: 16,2447 73624 MP 1/40
060261,000246: 16,2450 21453 DAS DZERROR # MANUAL MODE Z-ATTITUDE ERROR (DP)
060262,000247: 16,2451 30111 CA DAPBOOLS # PICK UP PAD LOADED STATE ESTIMATOR GAINS
060263,000248: 16,2452 74737 MASK CSMDOCKD
060264,000249: 16,2453 00006 EXTEND
060265,000250: 16,2454 12462 BZF LMONLY
060266,000251: 16,2455 00006 EXTEND # DOCKED
060267,000252: 16,2456 31405 DCA DKOMEGAN
060268,000253: 16,2457 53751 DXCH DAPTREG4
060269,000254: 16,2460 31403 CA DKTRAP
060270,000255: 16,2461 12466 TCF +5
060271,000256: 16,2462 00006 LMONLY EXTEND # UNDOCKED
060272,000257: 16,2463 31410 DCA LMOMEGAN
060273,000258: 16,2464 53751 DXCH DAPTREG4
060274,000259: 16,2465 31406 CA LMTRAP
060275,000260: 16,2466 55752 +5 TS DAPTREG6
060276,000261: 16,2467 11430 CCS TRAPEDP
060277,000262: 16,2470 12472 TCF +2
060278,000263: 16,2471 12507 TCF SMALPDIF
060279,000264: 16,2472 61752 AD DAPTREG6 # TRAPSIZE > ABOUT 77001 %-1.4DEG/SEC"
060280,000265: 16,2473 00006 EXTEND
060281,000266: 16,2474 62507 BZMF SMALPDIF
060282,000267: 16,2475 22007 ZL
060283,000268: 16,2476 23430 LXCH TRAPEDP
060284,000269: 16,2477 34755 CA ZERO
060285,000270: 16,2500 00006 EXTEND
060286,000271: 16,2501 11433 DV NPTRAPS
060287,000272: 16,2502 27421 ADS OMEGAP
060288,000273: 16,2503 02310 TC OVERSUB
060289,000274: 16,2504 55421 TS OMEGAP
060290,000275: 16,2505 31750 CA DAPTREG4 # ABOUT 10 OR 0 FOR DOCKED OR UNDOCKED
060291,000276: 16,2506 55433 TS NPTRAPS
060292,000277: 16,2507 25433 SMALPDIF INCR NPTRAPS
060293,000278: 16,2510 31745 P-RATE CA JETRATE
060294,000279: 16,2511 27421 ADS OMEGAP
060295,000280: 16,2512 02310 TC OVERSUB
060296,000281: 16,2513 55421 TS OMEGAP
060297,000282:
060298,000283: 16,2514 11431 CCS TRAPEDQ
![]() |
Page 1416 |
060300,000285: 16,2515 12517 TCF +2
060301,000286: 16,2516 12544 TCF Q-RATE
060302,000287: 16,2517 61752 AD DAPTREG6 # TRAPSIZE > ABOUT 77001 %-1.4DEG/SEC"
060303,000288: 16,2520 00006 EXTEND
060304,000289: 16,2521 62544 BZMF Q-RATE
060305,000290: 16,2522 22007 ZL
060306,000291: 16,2523 23431 LXCH TRAPEDQ
060307,000292: 16,2524 34755 CA ZERO
060308,000293: 16,2525 00006 EXTEND
060309,000294: 16,2526 11434 DV NQTRAPS
060310,000295: 16,2527 55737 TS DAPTEMP1 # SAVE FOR OFFSET ESTIMATE
060311,000296: 16,2530 27422 ADS OMEGAQ
060312,000297: 16,2531 02310 TC OVERSUB
060313,000298: 16,2532 55422 TS OMEGAQ
060314,000299: 16,2533 31750 CA DAPTREG4 # ABOUT 10 OR 0 FOR DOCKED OR UNDOCKED
060315,000300: 16,2534 57434 XCH NQTRAPS
060316,000301: 16,2535 61751 AD DAPTREG5 # KAOS > ABOUT 60D %N/N_60"
060317,000302: 16,2536 57737 XCH DAPTEMP1
060318,000303: 16,2537 00006 EXTEND
060319,000304: 16,2540 74756 MP FIVE
060320,000305: 16,2541 00006 EXTEND
060321,000306: 16,2542 11737 DV DAPTEMP1
060322,000307: 16,2543 27537 ADS AOSQ
060323,000308: 16,2544 25434 Q-RATE INCR NQTRAPS
060324,000309: 16,2545 31746 CA JETRATEQ
060325,000310: 16,2546 61545 AD AOSQTERM
060326,000311: 16,2547 27422 ADS OMEGAQ
060327,000312: 16,2550 02310 TC OVERSUB
060328,000313: 16,2551 55422 TS OMEGAQ
060329,000314:
060330,000315: 16,2552 11432 CCS TRAPEDR
060331,000316: 16,2553 12555 TCF +2
060332,000317: 16,2554 12602 TCF R-RATE
060333,000318: 16,2555 61752 AD DAPTREG6 # TRAPSIZE > ABOUT 77001 %-1.4DEG/SEC"
060334,000319: 16,2556 00006 EXTEND
060335,000320: 16,2557 62602 BZMF R-RATE
060336,000321: 16,2560 22007 ZL
060337,000322: 16,2561 23432 LXCH TRAPEDR
060338,000323: 16,2562 34755 CA ZERO
060339,000324: 16,2563 00006 EXTEND
060340,000325: 16,2564 11435 DV NRTRAPS
060341,000326: 16,2565 55740 TS DAPTEMP2 # SAVE FOR OFFSET ESTIMATE
060342,000327: 16,2566 27423 ADS OMEGAR
060343,000328: 16,2567 02310 TC OVERSUB
060344,000329: 16,2570 55423 TS OMEGAR
060345,000330: 16,2571 31750 CA DAPTREG4 # ABOUT 10 OR 0 FOR DOCKED OR UNDOCKED
060346,000331: 16,2572 57435 XCH NRTRAPS
060347,000332: 16,2573 61751 AD DAPTREG5 # KAOS > ABOUT 60D %N/N_60"
060348,000333: 16,2574 57740 XCH DAPTEMP2
060349,000334: 16,2575 00006 EXTEND
![]() |
Page 1417 |
060351,000336: 16,2576 74756 MP FIVE
060352,000337: 16,2577 00006 EXTEND
060353,000338: 16,2600 11740 DV DAPTEMP2
060354,000339: 16,2601 27541 ADS AOSR
060355,000340: 16,2602 25435 R-RATE INCR NRTRAPS
060356,000341: 16,2603 31747 CA JETRATER
060357,000342: 16,2604 61546 AD AOSRTERM
060358,000343: 16,2605 27423 ADS OMEGAR
060359,000344: 16,2606 02310 TC OVERSUB
060360,000345: 16,2607 55423 TS OMEGAR
060361,000346:
060362,000347: # END OF RATE DERIVATION
060363,000348:
060364,000349: # BEGIN OFFSET ESTIMATER
060365,000350:
060366,000351: # IN POWERED FLIGHT, AOSTASK WILL BE CALLED EVERY 2 SECONDS.
060367,000352:
060368,000353: # AOS = AOS + K*SUMRATE
060369,000354:
060370,000355: 16,2610 40111 CS DAPBOOLS
060371,000356: 16,2611 74744 MASK DRIFTBIT
060372,000357: 16,2612 10000 CCS A
060373,000358: 16,2613 12624 TCF WORKTIME
060374,000359: 16,2614 55424 TS ALPHAQ # ZERO THE OFFSET ACCELERATION VALUES.
060375,000360: 16,2615 55425 TS ALPHAR
060376,000361: 16,2616 55545 TS AOSQTERM
060377,000362: 16,2617 55546 TS AOSRTERM
060378,000363: 16,2620 55537 TS AOSQ
060379,000364: 16,2621 55541 TS AOSR
060380,000365: 16,2622 12667 TCF PRETIMCK
060381,000366: 16,2623 00074 KAOS DEC 60 B-14
060382,000367: 16,2624 31510 WORKTIME CA QACCDOT
060383,000368: 16,2625 00006 EXTEND
060384,000369: 16,2626 74766 MP CALLCODE # OCTAL 00032 IS DECIMAL .1 AT 2(6).
060385,000370: 16,2627 21540 DAS AOSQ
060386,000371: 16,2630 31537 CA AOSQ
060387,000372: 16,2631 55424 TS ALPHAQ
060388,000373: 16,2632 00006 EXTEND
060389,000374: 16,2633 73622 MP 200MS # .2 AT 1
060390,000375: 16,2634 55545 TS AOSQTERM
060391,000376: 16,2635 31512 CA RACCDOT
060392,000377: 16,2636 00006 EXTEND
060393,000378: 16,2637 74766 MP CALLCODE # OCTAL 00032 IS DECIMAL .1 AT 2(6).
060394,000379: 16,2640 21542 DAS AOSR
060395,000380: 16,2641 31541 CA AOSR
060396,000381: 16,2642 55425 TS ALPHAR
060397,000382: 16,2643 00006 EXTEND
060398,000383: 16,2644 73622 MP 200MS # .2 AT 1
060399,000384: 16,2645 55546 TS AOSRTERM
060400,000385: 16,2646 12667 TCF PRETIMCK
060401,000386:
![]() |
Page 1418 |
060403,000388: 16,2647 34747 PAXFILT CA CALLGMBL # EXECUTE ACDT+C12, IF NEEDED.
060404,000389: 16,2650 71262 MASK RCSFLAGS
060405,000390: 16,2651 10000 CCS A # CALLGMBL IS NOT BIT15, SO THIS TEST IS
060406,000391: 16,2652 03742 TC ACDT+C12 # VALID.
060407,000392:
060408,000393: 16,2653 52011 DXCH ARUPT
060409,000394: 16,2654 53754 DXCH DAPARUPT
060410,000395: 16,2655 32666 CA SUPERJOB # SETTING UP THE SUPERJOB
060411,000396: 16,2656 56017 XCH BRUPT
060412,000397: 16,2657 22012 LXCH QRUPT
060413,000398: 16,2660 53756 DXCH DAPBQRPT
060414,000399: 16,2661 32665 CA SUPERADR
060415,000400: 16,2662 52016 DXCH ZRUPT
060416,000401: 16,2663 53760 DXCH DAPZRUPT
060417,000402: 16,2664 15275 TCF NOQBRSM +1 # RELINT (JUST IN CASE) AND RESUME, IN THE
060418,000403: # FORM OF A JASK, AT SUPERJOB.
060419,000404:
060420,000405: 16,2665 02667 SUPERADR GENADR SUPERJOB +1
060421,000406:
060422,000407: # COUNT DOWN GIMBAL DRIVE TIMERS AND TURN OFF DRIVES IF REQUIRED.
060423,000408:
060424,000409: 16,2666 13645 SUPERJOB TCF RATELOOP
060425,000410: 16,2667 11632 PRETIMCK CCS QGIMTIMR
060426,000411: 16,2670 12710 TCF DECQTIMR # POSITIVE - COUNTING DOWN
060427,000412: 16,2671 12714 TCF TURNOFFQ # NEGATIVE - DRIVE SHOULD BE ENDED
060428,000413: 16,2672 11634 CHKRTIMR CCS RGIMTIMR # NEGATIVE - INACTIVE
060429,000414: 16,2673 12712 TCF DECRTIMR # (NEG ZERO - IMPOSSIBLE)
060430,000415: 16,2674 12724 TCF TURNOFFR # REPEATED (ABOVE) FOR R AXIS.
060431,000416:
060432,000417: 16,2675 00006 EXTEND # DECREMENT DOCKED JET INHIBITION COUNTERS
060433,000418: 16,2676 27767 DIM PJETCTR
060434,000419: 16,2677 00006 EXTEND
060435,000420: 16,2700 27770 DIM UJETCTR
060436,000421: 16,2701 00006 EXTEND
060437,000422: 16,2702 27771 DIM VJETCTR
060438,000423: 16,2703 34740 CA BIT12
060439,000424: 16,2704 71262 MASK RCSFLAGS
060440,000425: 16,2705 00006 EXTEND
060441,000426: 16,2706 12734 BZF SKIPPAXS
060442,000427: 16,2707 02740 TC CHKVISFZ
060443,000428: 16,2710 55632 DECQTIMR TS QGIMTIMR # COUNT TIMERS DOWN TO POS ZERO.
060444,000429: 16,2711 12672 TCF CHKRTIMR
060445,000430: 16,2712 55634 DECRTIMR TS RGIMTIMR
060446,000431: 16,2713 12675 TCF CHKRTIMR +3
060447,000432:
060448,000433: 16,2714 55501 TURNOFFQ TS NEGUQ # HALT DRIVES.
060449,000434: 16,2715 55510 TS QACCDOT
060450,000435: 16,2716 45007 CS QGIMBITS
060451,000436: 16,2717 00006 EXTEND
![]() |
Page 1419 |
060453,000438: 16,2720 03012 WAND CHAN12
060454,000439: 16,2721 34735 CAF NEGMAX
060455,000440: 16,2722 55632 TS QGIMTIMR
060456,000441: 16,2723 12672 TCF CHKRTIMR
060457,000442: 16,2724 55503 TURNOFFR TS NEGUR
060458,000443: 16,2725 55512 TS RACCDOT
060459,000444: 16,2726 45020 CS RGIMBITS
060460,000445: 16,2727 00006 EXTEND
060461,000446: 16,2730 03012 WAND CHAN12
060462,000447: 16,2731 34735 CAF NEGMAX
060463,000448: 16,2732 55634 TS RGIMTIMR
060464,000449: 16,2733 12675 TCF CHKRTIMR +3
060465,000450: 16,2734 5007 QGIMBITS EQUALS OCT1400 # BITS 9 AND 10 (OF CHANNEL 12).
060466,000451: 16,2734 5020 RGIMBITS EQUALS PRIO6 # BITS 11 AND 12 (OF CHANNEL 12).
060467,000452:
060468,000453: 16,2734 41262 SKIPPAXS CS RCSFLAGS
060469,000454: 16,2735 74740 MASK BIT12
060470,000455: 16,2736 27262 ADS RCSFLAGS # BIT 12 SET TO 1.
060471,000456: 16,2737 13630 TCF QRAXIS # GO TO QRAXIS OR TO GTS.
060472,000457:
060473,000458: # Y-Z TRANSLATION
060474,000459:
060475,000460: # INPUT: BITS 9-12 OF CH31 (FROM TRANSLATION CONTROLER)
060476,000461:
060477,000462: # OUTPUT: NEXTP
060478,000463:
060479,000464: # NEXTP IS THE CHANNEL 6 CODE OF JETS FOR THE DESIRED TRANSLATION.
060480,000465: # IF THERE ARE FAILURES IN THE DESIRED POLICY, THEN
060481,000466:
060482,000467: # (1) FOR DIAGONAL TRANS: UNFAILED PAIR
060483,000468: # ALARM (IF NO PAIR)
060484,000469:
060485,000470: # (2) FOR PRINCIPAL TRANS: TRY TO TACK WITH DIAGONAL PAIRS
060486,000471: # ALARM (IF DIAGONAL PAIRS ARE FAILED)
060487,000472:
060488,000473: 16,2740 00006 CHKVISFZ EXTEND
060489,000474: 16,2741 00031 READ CHAN31
060490,000475: 16,2742 40000 CS A
060491,000476: 16,2743 73617 MASK 07400OCT
060492,000477: 16,2744 00006 EXTEND
060493,000478: 16,2745 13014 BZF TSNEXTP
060494,000479: 16,2746 00006 EXTEND
060495,000480: 16,2747 74745 MP BIT7
060496,000481: 16,2750 50000 INDEX A
060497,000482: 16,2751 33576 CA INDXYZ
060498,000483: 16,2752 55744 TS ROTINDEX
060499,000484: 16,2753 36245 TRYUORV CA SIX
060500,000485: 16,2754 03555 TC SELECTYZ
060501,000486: 16,2755 46245 CS SIX
060502,000487: 16,2756 61743 AD NUMBERT
060503,000488: 16,2757 00006 EXTEND
![]() |
Page 1420 |
060505,000490: 16,2760 13013 BZF TSNEXTP -1
060506,000491: 16,2761 44756 CS FIVE
060507,000492: 16,2762 61744 AD ROTINDEX
060508,000493: 16,2763 00006 EXTEND
060509,000494: 16,2764 63002 BZMF ALTERYZ
060510,000495: 16,2765 41743 CS NUMBERT
060511,000496: 16,2766 64751 AD FOUR
060512,000497: 16,2767 00006 EXTEND
060513,000498: 16,2770 63013 BZMF TSNEXTP -1
060514,000499: 16,2771 05567 ABORTYZ TC ALARM
060515,000500: 16,2772 02001 OCT 02001
060516,000501: 16,2773 34753 CA BIT1 # INVERT BIT 1 OF RCSFLAGS.
060517,000502: 16,2774 23262 LXCH RCSFLAGS
060518,000503: 16,2775 00006 EXTEND
060519,000504: 16,2776 06001 RXOR 1
060520,000505: 16,2777 55262 TS RCSFLAGS
060521,000506: 16,3000 34755 CA ZERO
060522,000507: 16,3001 13014 TCF TSNEXTP
060523,000508: 16,3002 34753 ALTERYZ CA BIT1 # INVERT BIT 1 OF RCSFLAGS.
060524,000509: 16,3003 23262 LXCH RCSFLAGS
060525,000510: 16,3004 00006 EXTEND
060526,000511: 16,3005 06001 RXOR 1
060527,000512: 16,3006 55262 TS RCSFLAGS
060528,000513: 16,3007 74753 MASK BIT1
060529,000514: 16,3010 64751 AD FOUR
060530,000515: 16,3011 27744 ADS ROTINDEX
060531,000516: 16,3012 12753 TCF TRYUORV
060532,000517: 16,3013 31741 CA POLYTEMP
060533,000518: 16,3014 55472 TSNEXTP TS NEXTP
060534,000519:
060535,000520: # STATE LOGIC
060536,000521: # CHECK IN ORDER: IF ON
060537,000522: # LPDPHASE GO TO PURGENCY
060538,000523: # PULSES MINIMUM PULSE LOGIC
060539,000524: # DETENT(BIT15 CH31) RATE COMMAND
060540,000525: # GO TO PURGENCY
060541,000526:
060542,000527: 16,3015 34737 CA BIT13 # CHECK STICK IF IN ATT. HOLD.
060543,000528: 16,3016 00006 EXTEND
060544,000529: 16,3017 02031 RAND CHAN31
060545,000530: 16,3020 00006 EXTEND
060546,000531: 16,3021 13027 BZF MANMODE
060547,000532:
060548,000533: 16,3022 30111 CA DAPBOOLS
060549,000534: 16,3023 74743 MASK XOVINHIB
060550,000535: 16,3024 10000 CCS A
060551,000536: 16,3025 13467 TCF PURGENCY # ATTITUDE STEER DURING VISIBILITY PHASE
060552,000537:
060553,000538: 16,3026 13071 TCF DETENTCK
060554,000539: 16,3027 34735 MANMODE CA PULSES # PULSES IS ONE FOR PULSE MODE
060555,000540: 16,3030 70111 MASK DAPBOOLS
![]() |
Page 1421 |
060557,000542: 16,3031 00006 EXTEND
060558,000543: 16,3032 13071 BZF DETENTCK # BRANCH FOR RATE COMMAND
060559,000544:
060560,000545: 16,3033 34755 CA ZERO
060561,000546: 16,3034 55464 TS PERROR
060562,000547:
060563,000548: # MINIMUM IMPULSE MODE
060564,000549:
060565,000550: 16,3035 30032 CA CDUX
060566,000551: 16,3036 55635 TS CDUXD
060567,000552:
060568,000553: 16,3037 11460 CCS OLDPMIN
060569,000554: 16,3040 13054 TCF CHECKP
060570,000555:
060571,000556: 16,3041 34751 FIREP CA BIT3
060572,000557: 16,3042 00006 EXTEND
060573,000558: 16,3043 02031 RAND CHAN31
060574,000559: 16,3044 00006 EXTEND
060575,000560: 16,3045 13064 BZF +XMIN
060576,000561:
060577,000562: 16,3046 34750 CA BIT4
060578,000563: 16,3047 00006 EXTEND
060579,000564: 16,3050 02031 RAND CHAN31
060580,000565: 16,3051 00006 EXTEND
060581,000566: 16,3052 13062 BZF -XMIN
060582,000567:
060583,000568: 16,3053 13446 TCF JETSOFF
060584,000569:
060585,000570: 16,3054 00006 CHECKP EXTEND
060586,000571: 16,3055 00031 READ CHAN31
060587,000572: 16,3056 40000 CS A
060588,000573: 16,3057 75741 MASK OCT14
060589,000574: 16,3060 55460 TS OLDPMIN
060590,000575: 16,3061 13446 TCF JETSOFF
060591,000576:
060592,000577: 16,3062 44363 -XMIN CS TEN # ANYTHING LESS THAN 14MS. CORRECTED
060593,000578: 16,3063 13065 TCF +2 # IN JET SELECTION ROUTINE
060594,000579: 16,3064 34363 +XMIN CA TEN
060595,000580: 16,3065 55524 TS TJP
060596,000581: 16,3066 34753 CA ONE
060597,000582: 16,3067 55460 TS OLDPMIN
060598,000583: 16,3070 13354 TCF PJETSLEC -6
060599,000584:
060600,000585: # MANUAL RATE COMMAND MODE
060601,000586: # ========================
060602,000587: # BY ROBERT F. STENGEL
060603,000588:
060604,000589: # THIS MODE PROVIDES RCAH MANUAL CONTROL THRU 2 CONTROL LAWS: 1) DIRECT RATE AND 2) PSEUDO-AUTO.
060605,000590: # THE DIRECT RATE MODE AFFORDS IMMEDIATE CONTROL WITHOUT OVERSHOOT. THE PSEUDO-AUTO MODE PROVIDES PRECISE
060606,000591: # RATE CONTROL AND ATTITUDE HOLD.
060607,000592:
![]() |
Page 1432 |
060609,000594: # IN DIRECT RATE, JETS ARE FIRED WHEN STICK POSITION CHANGES BY A FIXED NUMBER OF INCREMENTS IN ONE DAP CYCLE.
060610,000595: # 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
060611,000596: # THE 'TARGET DEADBAND', WHICH EQUALS THE BREAKOUT LEVEL.
060612,000597: # IN PSEUDO-AUTO, BODY-FIXED RATE AND ATTITUDE ERRORS ARE SUPPLIED TO TJETLAW, WHICH EXERCISES CONTROL.
060613,000598: # CONTROL SWITCHES FROM DIRECT RATE TO PSEUDO-AUTO IF THE TARGET DB IS ACHIEVED OR IF TIME IN (1) EXCEEDS 4 SEC.
060614,000599: # IF THE INITIAL COMMAND DOES NOT EXCEED THE BREAKOUT LEVEL, CONTROL GOES TO PSEUDO-AUTO IMMEDIATELY.
060615,000600:
060616,000601: # 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,
060617,000602: # OR VICE VERSA. THIS ALLOWS A DEGREE OF ATTITUDE HOLD IN UNCONTROLLED AXES. DUE TO U,V CONTROL, HOWEVER, Q AND
060618,000603: # R AXES ARE COUPLED AND MUST USE THE SAME CONTROL LAW.
060619,000604:
060620,000605: # HAND CONTROLLER COMMANDS ARE SCALED BY A LINEAR/QUADRATIC LAW. FOR THE LM-ALONE, MAXIMUM COMMANDED RATES ARE 20
060621,000606: # AND 4 D/S IN NORMAL AND FINE SCALING; HOWEVER, STICK SENSITIVITY AT ZERO COUNTS (OBTAINED AT A STICK DEFLECTION
060622,000607: # OF 2 DEGREES FROM THE CENTERED POSITION) IS .5 OR .1 D/S PER DEGREE. NORMAL AND FINE SCALINGS FOR THE CSM-DOCKED
060623,000608: # CASE IS AUTOMATICALLY SET TO 1/10 THE ABOVE VALUES. SCALING IS DETERMINED IN ROUTINE 3.
060624,000609:
060625,000610: # ZEROENBL ENABLES COUNTERS SO THEY CAN BE READ NEXT TIME
060626,000611: # JUSTOUT FIRST DETECTION OF OUT OF DETENT (BY OURRCBIT)
060627,000612:
060628,000613: 16,3071 00006 DETENTCK EXTEND
060629,000614: 16,3072 00031 READ CHAN31
060630,000615: 16,3073 55443 TS CH31TEMP
060631,000616: 16,3074 74735 MASK BIT15 # CHECK OUT-OF-DETENT BIT.
060632,000617: 16,3075 00006 EXTEND
060633,000618: 16,3076 13226 BZF RHCMOVED # BRANCH IF OUT OF DETENT.
060634,000619: 16,3077 34740 CAF OURRCBIT # IN DETENT. CHECK THE RATE COMMAND BIT.
060635,000620: 16,3100 70111 MASK DAPBOOLS
060636,000621: 16,3101 00006 EXTEND
060637,000622: 16,3102 13467 BZF PURGENCY # BRANCH IF NOT IN RATE COMMAND LAST PASS.
060638,000623:
060639,000624: # ........................................................................
060640,000625:
060641,000626: 16,3103 34743 CA BIT9 # JUST IN DETENT??
060642,000627: 16,3104 71262 MASK RCSFLAGS
060643,000628: 16,3105 00006 EXTEND
060644,000629: 16,3106 13120 BZF RUTH
060645,000630: 16,3107 34737 CAF BIT13 # CHECK FOR ATTITUDE HOLD.
060646,000631: 16,3110 00006 EXTEND
060647,000632: 16,3111 02031 RAND CHAN31
060648,000633: 16,3112 00006 EXTEND
060649,000634: 16,3113 13223 BZF RATEDAMP # BRANCH IF IN ATTITUDE HOLD.
060650,000635:
060651,000636: 16,3114 45014 CS BITS9,11 # IN AUTO.
060652,000637: 16,3115 71262 MASK RCSFLAGS # (X-AXIS OVERRIDE)
060653,000638: 16,3116 55262 TS RCSFLAGS # ZERO ORBIT (BIT 11) AND JUST-IN BIT (9).
060654,000639: 16,3117 13223 TCF RATEDAMP
060655,000640:
060656,000641: 16,3120 31262 RUTH CA RCSFLAGS
060657,000642: 16,3121 74742 MASK PBIT # IN ATTITUDE HOLD.
060658,000643: 16,3122 00006 EXTEND
060659,000644: 16,3123 13125 BZF +2 # BRANCH IF P-RATE DAMPING IS FINISHED.
060660,000645: 16,3124 13223 TCF RATEDAMP
060661,000646:
![]() |
Page 1423 |
060663,000648: 16,3125 31262 CA RCSFLAGS
060664,000649: 16,3126 74741 MASK QRBIT
060665,000650: 16,3127 00006 EXTEND
060666,000651: 16,3130 13134 BZF RATEDONE # BRANCH IF Q,R RATE DAMPING IS FINISHED.
060667,000652: 16,3131 13223 TCF RATEDAMP
060668,000653:
060669,000654: # ============================================
060670,000655:
060671,000656: 16,3132 4753 1/10SEC = BIT1
060672,000657: 16,3132 4771 40CYC = OCT50
060673,000658: 16,3132 74777 PQRBIT OCT 74777
060674,000659: 16,3133 5014 BITS9,11 EQUALS EBANK5
060675,000660: 16,3133 00056 LINRATP DEC 46 B-14
060676,000661:
060677,000662: # ============================================
060678,000663:
060679,000664: 16,3134 44740 RATEDONE CS OURRCBIT # MANUAL COMMAND AND DAMPING COMPLETED IN
060680,000665: 16,3135 00004 INHINT # ALL AXES.
060681,000666: 16,3136 70111 MASK DAPBOOLS
060682,000667: 16,3137 54111 TS DAPBOOLS
060683,000668:
060684,000669: # READ CDUS INTO CDU DESIRED REGISTERS
060685,000670:
060686,000671: 16,3140 34737 CAF BIT13
060687,000672: 16,3141 00006 EXTEND
060688,000673: 16,3142 02031 RAND CHAN31
060689,000674: 16,3143 00006 EXTEND
060690,000675: 16,3144 13150 BZF +4
060691,000676: 16,3145 30032 CA CDUX # (X-AXIS OVERRIDE)
060692,000677: 16,3146 55635 TS CDUXD
060693,000678: 16,3147 03152 TC +3
060694,000679: 16,3150 04674 TC IBNKCALL
060695,000680: 16,3151 40154 FCADR ZATTEROR
060696,000681: 16,3152 00003 RELINT
060697,000682: 16,3153 13467 TCF PURGENCY
060698,000683:
060699,000684: 16,3154 55464 TS PERROR
060700,000685: 16,3155 34740 JUSTOUT CA OURRCBIT # INITIALIZATION - FIRST MANUAL PASS.
060701,000686: 16,3156 26111 ADS DAPBOOLS
060702,000687: 16,3157 34755 CA ZERO
060703,000688: 16,3160 55446 TS DXERROR
060704,000689: 16,3161 55447 TS DXERROR +1
060705,000690: 16,3162 55450 TS DYERROR
060706,000691: 16,3163 55451 TS DYERROR +1
060707,000692: 16,3164 55452 TS DZERROR
060708,000693: 16,3165 55453 TS DZERROR +1
060709,000694: 16,3166 55454 TS PLAST
060710,000695: 16,3167 55455 TS QLAST
060711,000696: 16,3170 55456 TS RLAST
060712,000697: 16,3171 54042 TS Q-RHCCTR
060713,000698: 16,3172 54044 TS R-RHCCTR
060714,000699: 16,3173 33132 CA PQRBIT
060715,000700: 16,3174 71262 MASK RCSFLAGS
060716,000701: 16,3175 55262 TS RCSFLAGS # BITS 10 AND 11 OF RCSFLAGS ARE 0.
![]() |
Page 1424 |
060718,000703: 16,3176 41262 CS RCSFLAGS # SET 'JUST-IN' BIT TO 1.
060719,000704: 16,3177 74743 MASK BIT9
060720,000705: 16,3200 27262 ADS RCSFLAGS
060721,000706: 16,3201 03204 TC ZEROENBL
060722,000707: 16,3202 00003 RELINT
060723,000708: 16,3203 13446 TCF JETSOFF
060724,000709: 16,3204 22044 ZEROENBL LXCH R-RHCCTR
060725,000710: 16,3205 30042 CA Q-RHCCTR
060726,000711: 16,3206 53463 DXCH SAVEHAND
060727,000712: 16,3207 34755 CA ZERO
060728,000713: 16,3210 54043 TS P-RHCCTR
060729,000714: 16,3211 54042 TS Q-RHCCTR
060730,000715: 16,3212 54044 TS R-RHCCTR
060731,000716: 16,3213 00004 INHINT
060732,000717: 16,3214 00006 EXTEND
060733,000718: 16,3215 23265 QXCH C13QSAV
060734,000719: 16,3216 06022 TC C13STALL
060735,000720:
060736,000721: 16,3217 33623 CA BITS8,9
060737,000722: 16,3220 00006 EXTEND
060738,000723: 16,3221 05013 WOR CHAN13 # COUNTERS ZEROED AND ENABLED
060739,000724: 16,3222 01265 TC C13QSAV
060740,000725:
060741,000726: 16,3223 34755 RATEDAMP CA ZERO
060742,000727: 16,3224 54043 TS P-RHCCTR
060743,000728: 16,3225 13232 TCF RATERROR
060744,000729:
060745,000730: 16,3226 34740 RHCMOVED CA OURRCBIT # P CONTROL
060746,000731: 16,3227 70111 MASK DAPBOOLS
060747,000732: 16,3230 00006 EXTEND
060748,000733: 16,3231 13154 BZF JUSTOUT -1
060749,000734: 16,3232 30032 RATERROR CA CDUX # FINDCDUW REQUIRES THAT CDUXD=CDUX DURING
060750,000735: 16,3233 55635 TS CDUXD # X-AXIS OVERRIDE
060751,000736: 16,3234 10043 CCS P-RHCCTR
060752,000737: 16,3235 13240 TCF +3
060753,000738: 16,3236 13240 TCF +2
060754,000739: 16,3237 13240 TCF +1
060755,000740: 16,3240 60000 DOUBLE # LINEAR/QUADRATIC CONTROLLER SCALING
060756,000741: 16,3241 60000 DOUBLE # (SEE EXPLANATION IN Q,R-AXES RCS
060757,000742: 16,3242 63133 AD LINRATP # AUTOPILOT)
060758,000743: 16,3243 00006 EXTEND
060759,000744: 16,3244 70043 MP P-RHCCTR
060760,000745: 16,3245 30001 CA L
060761,000746: 16,3246 00006 EXTEND
060762,000747: 16,3247 71444 MP STIKSENS
060763,000748: 16,3250 57454 XCH PLAST
060764,000749: 16,3251 40000 COM
060765,000750: 16,3252 61454 AD PLAST
060766,000751: 16,3253 55737 TS DAPTEMP1
060767,000752: 16,3254 03204 TC ZEROENBL # INTERVAL. ZERO AND ENABLE ACA COUNTERS.
![]() |
Page 1425 |
060769,000754: 16,3255 00003 RELINT
060770,000755: 16,3256 41454 CS PLAST
060771,000756: 16,3257 61421 AD OMEGAP
060772,000757: 16,3260 55427 TS EDOTP
060773,000758: 16,3261 11737 CCS DAPTEMP1 # IF P COMMAND CHANGE EXCEEDS BREAKOUT
060774,000759: 16,3262 13265 TCF +3 # LEVEL, GO TO DIRECT RATE CONTROL. IF NOT
060775,000760: 16,3263 13273 TCF +8D # CHECK FOR DIRECT RATE CONTROL LAST TIME.
060776,000761: 16,3264 13265 TCF +1
060777,000762: 16,3265 61476 AD -RATEDB
060778,000763: 16,3266 00006 EXTEND
060779,000764: 16,3267 63273 BZMF +4
060780,000765: 16,3270 34771 CA 40CYC
060781,000766: 16,3271 55445 TS TCP
060782,000767: 16,3272 03304 TC PEGI
060783,000768: 16,3273 31262 CA RCSFLAGS # CHECK FOR DIRECT RATE COMMAND LAST TIME.
060784,000769: 16,3274 74742 MASK PBIT
060785,000770: 16,3275 00006 EXTEND
060786,000771: 16,3276 13300 BZF +2
060787,000772: 16,3277 03304 TC PEGI # TO PURE RATE COMMAND
060788,000773: 16,3300 31446 CA DXERROR # PSEUDO-AUTO CONTROL.
060789,000774: 16,3301 55752 TS E # X-ATTITUDE ERROR (SP)
060790,000775: 16,3302 55464 TS PERROR # LOAD P-AXIS ERROR FOR MODE1 FDAI DISPLAY
060791,000776: 16,3303 03473 TC PURGENCY +4
060792,000777: 16,3304 30032 PEGI CA CDUX # DIRECT RATE CONTROL.
060793,000778: 16,3305 55635 TS CDUXD
060794,000779: 16,3306 34755 CA ZERO
060795,000780: 16,3307 55446 TS DXERROR
060796,000781: 16,3310 55447 TS DXERROR +1
060797,000782: 16,3311 55464 TS PERROR # ZERO P-AXIS ERROR FOR MODE1 FDAI DISPLAY
060798,000783: 16,3312 11427 CCS EDOTP
060799,000784: 16,3313 03316 TC +3
060800,000785: 16,3314 03316 TC +2
060801,000786: 16,3315 03316 TC +1
060802,000787: 16,3316 55737 TS ABSEDOTP
060803,000788: 16,3317 61476 AD TARGETDB
060804,000789: 16,3320 00006 EXTEND # IF RATE ERROR IS LESS THAN DEADBAND,
060805,000790: 16,3321 63331 BZMF LAST # FIRE, AND SWITCH TO PSEUDO-AUTO.
060806,000791: 16,3322 31445 CA TCP
060807,000792: 16,3323 00006 EXTEND # IF TIME IN RATE COMMAND EXCEEDS 4 SEC.,
060808,000793: 16,3324 63331 BZMF LAST
060809,000794: 16,3325 41262 CS RCSFLAGS
060810,000795: 16,3326 74742 MASK PBIT
060811,000796: 16,3327 27262 ADS RCSFLAGS # BIT 10 IS 1.
060812,000797: 16,3330 13334 TCF +4
060813,000798: 16,3331 44742 LAST CS PBIT
060814,000799: 16,3332 71262 MASK RCSFLAGS
060815,000800: 16,3333 55262 TS RCSFLAGS # BIT 10 IS 0.
060816,000801: 16,3334 41427 CS EDOTP
060817,000802: 16,3335 00006 EXTEND
060818,000803: 16,3336 71551 MP 1/ANETP # 1/2JTACC SCALED AT 2EXP(7)/PI
![]() |
Page 1426 |
060820,000805: 16,3337 20001 DAS A
060821,000806: 16,3340 02310 TC OVERSUB
060822,000807: 16,3341 00006 EXTEND
060823,000808: 16,3342 77721 MP 25/32 # A CONTAINS TJET SCALED AT 2EXP(4)(16/25)
060824,000809: 16,3343 55524 TS TJP # 4.JET TIME
060825,000810: 16,3344 31737 CA ABSEDOTP
060826,000811: 16,3345 61475 AD -2JETLIM # COMPARING DELTA RATE WITH 2 JET LIMIT
060827,000812: 16,3346 00006 EXTEND
060828,000813: 16,3347 63352 BZMF +3
060829,000814:
060830,000815: 16,3350 36245 CA SIX
060831,000816: 16,3351 13361 TCF +8D
060832,000817: 16,3352 31524 CA TJP
060833,000818: 16,3353 27524 ADS TJP
060834,000819:
060835,000820: # GOES TO PJETSLEC FOR TWO JETS
060836,000821: # P-JET-SELECTION-ROUTINE (ROTATION)
060837,000822:
060838,000823: # INPUT: NUMBERT 4,5,6 FOR WHICH PAIR OR 4 JETS
060839,000824: # TJP + FOR +P ROTATION
060840,000825:
060841,000826: # OUTPUT: CHANNEL 6
060842,000827: # PJUMPADR FOR P-AXIS SKIP
060843,000828: # (JTLST CALL) (SMALL TJP)
060844,000829:
060845,000830: # ORDER OF POLICIES TRIED IN CASE OF FAILURE.
060846,000831: # +P -P
060847,000832: # 7,15 8,16
060848,000833: # 4,12 3,11
060849,000834: # 4,7 8,11
060850,000835: # 7,12 11,16
060851,000836: # 12,15 3,16
060852,000837: # 4,15 3,8
060853,000838: # ALARM ALARM
060854,000839:
060855,000840: 16,3354 34747 CA AORBSYST
060856,000841: 16,3355 70101 MASK FLAGWRD5
060857,000842: 16,3356 10000 CCS A
060858,000843: 16,3357 34753 CA ONE
060859,000844: 16,3360 64751 AD FOUR
060860,000845: 16,3361 55743 TS NUMBERT
060861,000846: 16,3362 34753 PJETSLEC CA ONE
060862,000847: 16,3363 54001 TS L
060863,000848: 16,3364 11524 CCS TJP
060864,000849: 16,3365 13372 TCF +5
060865,000850: 16,3366 13446 TCF JETSOFF
060866,000851: 16,3367 13371 TCF +2
060867,000852: 16,3370 13446 TCF JETSOFF
060868,000853: 16,3371 22007 ZL
060869,000854: 16,3372 64753 AD ONE
060870,000855: 16,3373 55737 TS ABSTJ
![]() |
Page 1427 |
060872,000857: 16,3374 23744 LXCH ROTINDEX
060873,000858: 16,3375 03535 TC SELECTP
060874,000859: 16,3376 46245 CS SIX
060875,000860: 16,3377 61743 AD NUMBERT
060876,000861: 16,3400 00006 EXTEND
060877,000862: 16,3401 13403 BZF +2
060878,000863:
060879,000864: 16,3402 44752 CS TWO
060880,000865: 16,3403 64751 AD FOUR
060881,000866: 16,3404 55521 TS NO.PJETS
060882,000867: 16,3405 31741 CA POLYTEMP
060883,000868: 16,3406 05744 TC WRITEP
060884,000869: 16,3407 41737 CS ABSTJ
060885,000870: 16,3410 63616 AD +150MST6
060886,000871: 16,3411 00006 EXTEND
060887,000872: 16,3412 63630 BZMF QRAXIS # GO TO QRAXIS OR TO GTS.
060888,000873:
060889,000874: 16,3413 63576 AD -136MST6
060890,000875: 16,3414 00006 EXTEND
060891,000876: 16,3415 63422 BZMF +5
060892,000877:
060893,000878: 16,3416 27737 ADS ABSTJ
060894,000879: 16,3417 51744 INDEX ROTINDEX
060895,000880: 16,3420 33625 CA MINTIMES
060896,000881: 16,3421 55524 TS TJP
060897,000882:
060898,000883: 16,3422 31737 CA ABSTJ
060899,000884: 16,3423 22007 ZL
060900,000885: 16,3424 00004 INHINT
060901,000886: 16,3425 53471 DXCH T6FURTHA
060902,000887: 16,3426 04674 TC IBNKCALL
060903,000888: 16,3427 37143 CADR JTLST
060904,000889: 16,3430 44740 CS BIT12
060905,000890: 16,3431 71262 MASK RCSFLAGS
060906,000891: 16,3432 55262 TS RCSFLAGS # BIT 12 SET TO 0.
060907,000892: 16,3433 03435 TC ALTSYST
060908,000893: 16,3434 13630 TCF QRAXIS
060909,000894:
060910,000895: 16,3435 30101 ALTSYST CA FLAGWRD5 # ALTERNATE P-AXIS JETS
060911,000896: 16,3436 54001 TS L
060912,000897: 16,3437 34747 CA AORBSYST
060913,000898: 16,3440 00006 EXTEND
060914,000899: 16,3441 06001 RXOR LCHAN
060915,000900: 16,3442 54101 TS FLAGWRD5
060916,000901: 16,3443 00003 RELINT
060917,000902: 16,3444 00002 TC Q
060918,000903:
060919,000904: 16,3445 03435 DKALT TC ALTSYST
060920,000905:
060921,000906: 16,3446 05743 JETSOFF TC WRITEP -1
![]() |
Page 1428 |
060923,000908: 16,3447 34755 CA ZERO
060924,000909: 16,3450 55524 TS TJP
060925,000910: 16,3451 13630 TCF QRAXIS
060926,000911:
060927,000912: # (NOTE -- M13 = 1 IDENTICALLY IMPLIES NULL MULTIPLICATION.)
060928,000913:
060929,000914: 16,3452 30033 CALCPERR CA CDUY # P-ERROR CALCULATION.
060930,000915: 16,3453 00006 EXTEND
060931,000916: 16,3454 21636 MSU CDUYD # CDU VALUE - ANGLE DESIRED (Y-AXIS)
060932,000917: 16,3455 00006 EXTEND
060933,000918: 16,3456 71414 MP M11 # (CDUY-CDUYD)M11 SCALED AT PI RADIANS
060934,000919: 16,3457 57752 XCH E # SAVE FIRST TERM (OF TWO)
060935,000920: 16,3460 30032 CA CDUX # THIRD COMPONENT
060936,000921: 16,3461 00006 EXTEND
060937,000922: 16,3462 21635 MSU CDUXD # CDU VALUE - ANGLE DESIRED (X-AXIS)
060938,000923: # EXTEND
060939,000924: # MP M13
060940,000925: 16,3463 61274 AD DELPEROR # KALCMANU INERFACE ERROR
060941,000926: 16,3464 27752 ADS E # SAVE SUM OF TERMS. COULD BE OVERFLOW.
060942,000927: 16,3465 57464 XCH PERROR # SAVE P-ERROR FOR EIGHT-BALL DISPLAY.
060943,000928: 16,3466 00002 TC Q # RETURN TO CALLER
060944,000929:
060945,000930: # P-AXIS URGENCY FUNCTION CALCULATION.
060946,000931:
060947,000932: 16,3467 03452 PURGENCY TC CALCPERR # CALCULATE P-AXIS ERRORS.
060948,000933: 16,3470 41643 CS OMEGAPD # THIS CODING IS COMMON TO BOTH LM DAP AND
060949,000934: 16,3471 61421 AD OMEGAP # SPS-BACKUP MODE.
060950,000935: 16,3472 55427 TS EDOTP # EDOTP = OMEGAP - OMEGAPD AT PI/4 RAD/SEC
060951,000936:
060952,000937: 16,3473 44753 CS ONE
060953,000938: 16,3474 55505 TS AXISCTR
060954,000939: 16,3475 30111 CA DAPBOOLS
060955,000940: 16,3476 74737 MASK CSMDOCKD
060956,000941: 16,3477 00006 EXTEND
060957,000942: 16,3500 13511 BZF HEADTJET
060958,000943: 16,3501 00004 INHINT # IF CSMDOCKD = 1, GO TO DOCKED RCS LOGIC
060959,000944: 16,3502 04674 TC IBNKCALL
060960,000945: 16,3503 43730 CADR SPSRCS
060961,000946:
060962,000947: 16,3504 31524 CA TJP
060963,000948: 16,3505 00006 EXTEND
060964,000949: 16,3506 13445 BZF DKALT # IF TJP = ZERO, CHANGE AORBSYST.
060965,000950: 16,3507 00003 RELINT
060966,000951: 16,3510 13354 TCF PJETSLEC -6 # SELECT AORBSYST AND USE TWO JETS
060967,000952: 16,3511 34755 HEADTJET CA ZERO
060968,000953: 16,3512 55500 TS SENSETYP
060969,000954: 16,3513 00004 INHINT
060970,000955: 16,3514 04674 TC IBNKCALL
060971,000956: 16,3515 37304 CADR TJETLAW
060972,000957: 16,3516 00003 RELINT
060973,000958:
![]() |
Page 1429 |
060975,000960: 16,3517 41741 CS FIREFCT
060976,000961: 16,3520 63534 AD -FOURDEG
060977,000962: 16,3521 00006 EXTEND
060978,000963: 16,3522 63354 BZMF PJETSLEC -6
060979,000964: 16,3523 11524 CCS TJP
060980,000965: 16,3524 13526 TCF +2
060981,000966: 16,3525 13446 TCF JETSOFF
060982,000967: 16,3526 63533 AD -160MST6
060983,000968: 16,3527 00006 EXTEND
060984,000969: 16,3530 63354 BZMF PJETSLEC -6
060985,000970: 16,3531 36245 CA SIX
060986,000971: 16,3532 13361 TCF PJETSLEC -1
060987,000972: 16,3533 77377 -160MST6 DEC -256 B-14
060988,000973: 16,3534 75117 -FOURDEG DEC -.08888
060989,000974:
![]() |
Page 1430 |
060991,000976: # JET POLICY CONSTRUCTION SUBROUTINE
060992,000977:
060993,000978: # INPUT: ROTINDEX, NUMBERT
060994,000979:
060995,000980: # OUTPUT: POLYTEMP (JET POLICY)
060996,000981:
060997,000982: # THIS SUBROUTINE SELECT A SUBSET OF THE DESIRED JETS WHICH HAS NO FAILURE
060998,000983:
060999,000984: 16,3535 36245 SELECTP CA SIX
061000,000985: 16,3536 55742 TS TEMPNUM
061001,000986: 16,3537 51743 INDEX NUMBERT
061002,000987: 16,3540 33567 CA TYPEP
061003,000988: 16,3541 51744 INDEX ROTINDEX
061004,000989: 16,3542 73560 MASK JETSALL
061005,000990: 16,3543 55741 TS POLYTEMP
061006,000991: 16,3544 71260 MASK CH6MASK
061007,000992: 16,3545 10000 CCS A
061008,000993: 16,3546 13550 TCF +2
061009,000994: 16,3547 00002 TC Q
061010,000995: 16,3550 11742 CCS TEMPNUM
061011,000996: 16,3551 13555 TCF +4
061012,000997: 16,3552 05567 TC ALARM
061013,000998: 16,3553 02003 OCT 02003
061014,000999: 16,3554 13446 TCF JETSOFF # *****TCF ALARMJET *********************
061015,001000: 16,3555 55743 SELECTYZ TS NUMBERT
061016,001001: 16,3556 13536 TCF SELECTP +1
061017,001002: 16,3557 12773 -1 TCF ABORTYZ +2
061018,001003: 16,3560 00252 JETSALL OCT 00252
061019,001004: 16,3561 00125 OCT 00125 # +P
061020,001005: 16,3562 00140 OCT 00140 # -Y
061021,001006: 16,3563 00006 OCT 00006 # -Z
061022,001007: 16,3564 00220 OCT 00220 # +Y
061023,001008: 16,3565 00011 OCT 00011 # +Z
061024,001009: 16,3566 00151 OCT 00151 # +V
061025,001010: 16,3567 00146 TYPEP OCT 00146 # -U
061026,001011: 16,3570 00226 OCT 00226 # -V
061027,001012: 16,3571 00231 OCT 00231 # +U
061028,001013: 16,3572 00151 OCT 00151 # +V
061029,001014: 16,3573 00132 OCT 00132 # 1-3
061030,001015: 16,3574 00245 OCT 00245 # 2-4
061031,001016: 16,3575 00377 OCT 00377 # ALL
061032,001017: 16,3576 16,3576 INDXYZ = -136MST6
061033,001018: 16,3576 77445 -136MST6 DEC -218 B-14
061034,001019: 16,3577 00004 DEC 4 B-14
061035,001020: 16,3600 00002 DEC 2 B-14
061036,001021: 16,3601 07776 OCT 07776
061037,001022: 16,3602 00005 DEC 5 B-14
061038,001023: 16,3603 00011 DEC 9 B-14
061039,001024: 16,3604 00012 DEC 10 B-14
061040,001025: 16,3605 07776 OCT 07776
061041,001026: 16,3606 00003 DEC 3 B-14
![]() |
Page 1431 |
061043,001028: 16,3607 00010 DEC 8 B-14
061044,001029: 16,3610 00007 DEC 7 B-14
061045,001030: 16,3611 07776 OCT 07776 # THESE INDEXES OF MASK JETSALL WILL
061046,001031: 16,3612 07776 OCT 07776 # CHANGE THE INSTRUCTION AT SELECTP +4
061047,001032: 16,3613 07776 OCT 07776 # TO BE TC JETSALL -1
061048,001033: 16,3614 07776 OCT 07776 # ONLY USED FOR TRANSLATION FAILURE
061049,001034: 16,3615 07776 OCT 07776
061050,001035: 16,3616 00360 +150MST6 DEC 240 B-14
061051,001036: 16,3617 07400 07400OCT OCT 07400
061052,001037:
061053,001038: # T-JET LAW FIXED CONSTANTS
061054,001039:
061055,001040: 16,3620 00266 NORMSCL OCT 266
061056,001041: 16,3621 74631 -100MS DEC -.1
061057,001042: 16,3622 06315 200MS DEC .2
061058,001043: 16,3623 7721 25/32 = PRIO31 # (DEC .78125)
061059,001044: 16,3623 00600 BITS8,9 OCTAL 00600
061060,001045: 16,3624 00632 1/40 DEC .02500
061061,001046: 16,3625 77751 MINTIMES DEC -22 B-14
061062,001047: 16,3626 00026 DEC 22 B-14
061063,001048: 16,3627 02734 PSKIPADR GENADR SKIPPAXS
061064,001049:
061065,001050: # GOES TO Q,R-AXES RCS AUTOPILOT
061066,001051:
061067,001052: 16,3630 41645 QRAXIS CS OMEGARD
061068,001053: 16,3631 61423 AD OMEGAR
061069,001054: 16,3632 02310 TC OVERSUB
061070,001055: 16,3633 55437 TS EDOTR
061071,001056: 16,3634 41644 CS OMEGAQD
061072,001057: 16,3635 61422 AD OMEGAQ
061073,001058: 16,3636 02310 TC OVERSUB
061074,001059: 16,3637 55436 TS EDOTQ
061075,001060: 16,3640 00006 EXTEND
061076,001061: 16,3641 33644 DCA QERRCALL
061077,001062: 16,3642 52006 DTCB
061078,001063:
061079,001064: 16,3643 E6,1537 EBANK= AOSQ
061080,001065: 16,3643 02124 36106 QERRCALL 2CADR CALLQERR
End of include-file P-AXIS_RCS_AUTOPILOT.agc. Parent file is MAIN.agc