Source Code
![]() |
This source code is very close to the Apollo Guidance Computer software for the
Apollo 13 Lunar module. This revision of the Luminary 131 program is from December
of 1969, whereas there was a later revision in January of 1970, and still another
revision in February, which is the code that flew on the mission.
As far as this transcription is concerned, it was originally from a copy made in 1991 of
a printout from the collection of AGC developer Don Eyles for collector David Craig.
It was subsequently scanned by Gary Neff, reprocessed for online
presentation at the now-discontinued History of Recent Science and Technology (HRST) website
of MIT's Dibner Institute (the full-quality scans being discarded in the process),
and finally transcribed by Ron Burkey for the Virtual AGC Project. Although a
high-quality replacement scan for a completely illegible page was later provided by Gary
Neff, the reduced legibility of the reprocessed HRST posting nevertheless caused many
errors to be introduced into the transcription. Accordingly, a second scan of the same physical
printout was made in 2017 for the Virtual AGC Project's collection at the Internet Archive,
and used to correct the transcription errors. All of the scanned materials mentioned,
as well as other Luminary 131 related material, are available online.
Don Eyles apprently made additional hand-written notes in printout between 1991 and 2017,
so the two scans are not identical in that respect. The page-headings in the printout read, in part:GAP: ASSEMBLE REVISION 131 OF AGC PROGRAM LUMINARY BY NASA 2021112-091 17:53 DEC. 19, 1969Note that the date is the date the printout was made, not the date on which the program revision was released, although these happen to be very close together. |
059666,000002: ## Copyright: Public domain.
059667,000003: ## Filename: P-AXIS_RCS_AUTOPILOT.agc
059668,000004: ## Purpose: A section of Luminary 1C, revision 131.
059669,000005: ## It is part of the source code for the Lunar Module's (LM)
059670,000006: ## Apollo Guidance Computer (AGC) for Apollo 13.
059671,000007: ## This file is intended to be a faithful transcription, except
059672,000008: ## that the code format has been changed to conform to the
059673,000009: ## requirements of the yaYUL assembler rather than the
059674,000010: ## original YUL assembler.
059675,000011: ## Reference: pp. 1413-1433
059676,000012: ## Contact: Ron Burkey <info@sandroid.org>.
059677,000013: ## Website: www.ibiblio.org/apollo/index.html
059678,000014: ## Mod history: 06/07/03 RSB. Began transcribing.
059679,000015: ## 05/14/05 RSB Corrected website reference above.
059680,000016: ## 2010-10-25 JL Added missing # in comment. Indentation fixes.
059681,000017: ## 2017-01-06 RSB Page numbers now agree with those on the
059682,000018: ## original hardcopy, as opposed to the PDF page
059683,000019: ## numbers in 1701.pdf.
059684,000020: ## 2017-02-28 RSB Proofed comment text using octopus/ProoferComments.
059685,000021: ## 2017-03-01 RSB Fixed lingering comment-text typos.
059686,000022: ## 2017-03-14 RSB Comment-text fixes noted in proofing Luminary 116.
059687,000023: ## 2017-03-16 RSB Comment-text fixes identified in 5-way
059688,000024: ## side-by-side diff of Luminary 69/99/116/131/210.
059689,000025:
![]() |
Page 1413 |
059691,000027: 16,2213 BANK 16
059692,000028: 16,2000 SETLOC DAPS1
059693,000029: 16,2000 BANK
059694,000030:
059695,000031: 16,2213 E6,1464 EBANK= PERROR
059696,000032: 16,2213 COUNT* $$/DAPP
059697,000033:
059698,000034: # THE FOLLOWING T5RUPT ENTRY BEGINS THE PROGRAM WHICH CONTROLS THE P-AXIS ACTION OF THE LEM USING THE RCS JETS.
059699,000035: # THE NOMINAL TIME BETWEEN THE P-AXIS RUPTS IS 100 MS IN ALL NON-IDLING MODES OF THE DAP.
059700,000036:
059701,000037: 16,2213 37732 PAXIS CA MS100
059702,000038: 16,2214 26030 ADS TIME5 # *** NECESSARY IN ORDER TO ALLOW SYN-
059703,000039: # CHRONIZATION WITH OTHER INTERRUPTS ***
059704,000040:
059705,000041: 16,2215 22016 LXCH BANKRUPT # INTERRUPT LEAD IN (CONTINUED)
059706,000042: 16,2216 00006 EXTEND
059707,000043: 16,2217 22012 QXCH QRUPT
059708,000044:
059709,000045: # CHECK IF DAP PASS IS PERMISSIBLE
059710,000046:
059711,000047: 16,2220 11756 CCS DAPZRUPT # IF DAPZRUPT POSITIVE, DAP (JASK) IS
059712,000048: 16,2221 05624 TC BAILOUT # STILL IN PROGRESS AND A RESTART IS
059713,000049: 16,2222 32000 OCT 32000 # CALLED FOR. IT IS NEVER ZERO
059714,000050:
059715,000051: 16,2223 02000 TC CHEKBITS # RETURN IS TO I+1 IF DAP SHOULD STAY ON.
059716,000052:
059717,000053: 16,2224 30032 CA CDUX # READ AND STORE CDU'S
059718,000054: 16,2225 55747 TS DAPTREG4
059719,000055: 16,2226 30033 CA CDUY
059720,000056: 16,2227 55750 TS DAPTREG5
059721,000057: 16,2230 30034 CA CDUZ
059722,000058: 16,2231 55751 TS DAPTREG6
059723,000059:
059724,000060: # ***** KALCMANU-DAP AND "RATE-HOLD"-DAP INTERFACE *****
059725,000061:
059726,000062: # THE FOLLOWING SECTION IS EXECUTED EVERY 100 MS (10 TIMES A SECOND) WITHIN THE P-AXIS REACTION CONTROL SYSTEM
059727,000063: # AUTOPILOT (WHENEVER THE DAP IS IN OPERATION).
059728,000064:
059729,000065: 16,2232 31634 CA CDUXD
059730,000066: 16,2233 00006 EXTEND
059731,000067: 16,2234 21637 MSU DELCDUX
059732,000068: 16,2235 02256 TC 1STOTWOS
059733,000069: 16,2236 55634 TS CDUXD
059734,000070: 16,2237 31635 CA CDUYD
059735,000071: 16,2240 00006 EXTEND
059736,000072: 16,2241 21640 MSU DELCDUY
059737,000073: 16,2242 02256 TC 1STOTWOS
059738,000074: 16,2243 55635 TS CDUYD
059739,000075: 16,2244 31636 CA CDUZD
059740,000076: 16,2245 00006 EXTEND
059741,000077: 16,2246 21641 MSU DELCDUZ
![]() |
Page 1414 |
059743,000079: 16,2247 02256 TC 1STOTWOS
059744,000080: 16,2250 55636 TS CDUZD
059745,000081: 16,2251 00006 EXTEND # DIMINISH MANUAL CONTROL DIRECT RATE
059746,000082: 16,2252 27445 DIM TCP # TIME COUNTERS.
059747,000083: 16,2253 00006 EXTEND
059748,000084: 16,2254 27457 DIM TCQR
059749,000085:
059750,000086: # RATELOOP COMPUTES JETRATEQ, JETRATER, AND 1JACC*NO. PJETS IN ITEMP1.
059751,000087: # RETURNS TO BACKP.
059752,000088:
059753,000089: # JETRATE = 1JACC*NO.PJETS*TJP (NOTE TJ IS THE TIME FIRED DURING CSP)
059754,000090: # JETRATEQ = 1JACCQ(TJU*NO.UJETS - TJV*NO.VJETS)
059755,000091: # JETRATER = 1JACCR(TJU*NO.UJETS + TJV*NO.VJETS)
059756,000092:
059757,000093: 16,2255 12647 TCF PAXFILT # PROCEEDS TO RATELOOP AFTER SUPERJOB
059758,000094: 16,2256 10000 1STOTWOS CCS A
059759,000095: 16,2257 64753 AD ONE
059760,000096: 16,2260 00002 TC Q
059761,000097: 16,2261 40000 CS A
059762,000098: 16,2262 00002 TC Q
059763,000099: 16,2263 00006 SUBDIVDE EXTEND # OVERFLOW PROCTION ROUTINE TO GIVE
059764,000100: 16,2264 71740 MP DAPTEMP3 # POSMAX OR NEGMAX IF THE DIVIDE WOULD
059765,000101: 16,2265 21427 DAS OMEGAU # OVERFLOW
059766,000102:
059767,000103: 16,2266 00006 +3 EXTEND
059768,000104: 16,2267 31427 DCA OMEGAU
059769,000105: 16,2270 53743 DXCH DAPTEMP5
059770,000106: 16,2271 11426 CCS OMEGAU
059771,000107: 16,2272 12274 TCF +2
059772,000108: 16,2273 12304 TCF DIVIDER
059773,000109: 16,2274 62315 AD -OCT630
059774,000110: 16,2275 00006 EXTEND
059775,000111: 16,2276 62304 BZMF DIVIDER
059776,000112:
059777,000113: 16,2277 11426 CCS OMEGAU
059778,000114: 16,2300 34733 CA POSMAX # 45 DEG/SEC
059779,000115: 16,2301 00002 TC Q
059780,000116: 16,2302 44733 CS POSMAX
059781,000117: 16,2303 00002 TC Q
059782,000118:
059783,000119: 16,2304 53427 DIVIDER DXCH OMEGAU
059784,000120: 16,2305 00006 EXTEND
059785,000121: 16,2306 11747 DV DAPTREG4
059786,000122: 16,2307 00002 TC Q
059787,000123:
059788,000124: 16,2310 54007 OVERSUB TS 7 # RETURNS A UNCHANGED OR LIMITED TO
059789,000125: 16,2311 00002 TC Q # POSMAX OR NEGMAX IF A HAS OVERFLOW
059790,000126: 16,2312 50000 INDEX A
059791,000127: 16,2313 44734 CS BIT15 -1
![]() |
Page 1415 |
059793,000129: 16,2314 00002 TC Q
059794,000130:
059795,000131: 16,2315 77147 -OCT630 OCT 77147
059796,000132:
059797,000133: 16,2316 31736 BACKP CA DAPTEMP1
059798,000134: 16,2317 00006 EXTEND
059799,000135: 16,2320 71530 MP 1JACC
059800,000136: 16,2321 55744 TS JETRATE
059801,000137:
059802,000138: # BEGINNING OF THE RATE DERIVATION
059803,000139: # OMEGAP,Q,R BODY RATES SCALED AT PI/4
059804,000140: # TRAPER,Q,R BODY ANGLE ERRORS FROM PREDICTED ANGLE (PI/40)
059805,000141: # NP(QR)TRAPS NUMBER OF TIMES ANGLE ERROR HAS BEEN ACCUMULATED
059806,000142: # AOSQ(R)TERM CHANGE IN RATE DUE TO OFFSET ACCELLERATION. (PI/4)
059807,000143: # JETRATE,Q,R CHANGE IN RATE DUE TO JET ACCELLERATION. (PI/4)
059808,000144: # TRAPSIZE NEGATIVE LIMIT OF MAGNITUDE OF TRAPEDP, ECT.
059809,000145: # OMEGAU DP-TEMPORARY STORAGE
059810,000146: # OMEGA = OMEGA + JETRATE + AOSTERM (+TRAPED/NTRAPS IF TRAPED BIG)
059811,000147:
059812,000148: 16,2322 31747 CAE DAPTREG4 # CDUX IS STORED HERE
059813,000149: 16,2323 54001 TS L
059814,000150: 16,2324 00006 EXTEND
059815,000151: 16,2325 21440 MSU OLDXFORP # SCALED AT PI
059816,000152: 16,2326 23440 LXCH OLDXFORP
059817,000153: 16,2327 55736 TS DAPTEMP1
059818,000154: 16,2330 33624 CA 1/40
059819,000155: 16,2331 55747 TS DAPTREG4
059820,000156: 16,2332 41744 CS JETRATE
059821,000157: 16,2333 00006 EXTEND
059822,000158: 16,2334 74736 MP BIT14
059823,000159: 16,2335 27430 ADS TRAPEDP
059824,000160: 16,2336 31745 CA JETRATEQ
059825,000161: 16,2337 61544 AD AOSQTERM
059826,000162: 16,2340 00006 EXTEND
059827,000163: 16,2341 77741 MP -BIT14
059828,000164: 16,2342 27431 ADS TRAPEDQ
059829,000165: 16,2343 31746 CA JETRATER
059830,000166: 16,2344 61545 AD AOSRTERM
059831,000167: 16,2345 00006 EXTEND
059832,000168: 16,2346 77741 MP -BIT14
059833,000169: 16,2347 27432 ADS TRAPEDR
059834,000170:
059835,000171: 16,2350 31750 CA DAPTREG5 # CDUY IS STORED HERE
059836,000172: 16,2351 54001 TS L
059837,000173: 16,2352 00006 EXTEND
059838,000174: 16,2353 21441 MSU OLDYFORP # SCALED AT PI
059839,000175: 16,2354 23441 LXCH OLDYFORP
059840,000176: 16,2355 55737 TS DAPTEMP2
059841,000177: 16,2356 00006 EXTEND
059842,000178: 16,2357 71414 MP M11 # M11 SCALED AT 1
![]() |
Page 1416 |
059844,000180: 16,2360 61736 AD DAPTEMP1
059845,000181: 16,2361 53427 DXCH OMEGAU
059846,000182:
059847,000183: 16,2362 02266 TC SUBDIVDE +3 # RETURNS WITH CDU-RATE AT PI/4
059848,000184:
059849,000185: 16,2363 00006 EXTEND
059850,000186: 16,2364 61421 SU OMEGAP
059851,000187: 16,2365 27430 ADS TRAPEDP
059852,000188: 16,2366 02310 TC OVERSUB
059853,000189: 16,2367 55430 TS TRAPEDP
059854,000190: 16,2370 00006 EXTEND
059855,000191: 16,2371 31743 DCA DAPTEMP5
059856,000192: 16,2372 21447 DAS DXERROR
059857,000193: 16,2373 41454 CS PLAST
059858,000194: 16,2374 00006 EXTEND
059859,000195: 16,2375 73624 MP 1/40
059860,000196: 16,2376 21447 DAS DXERROR # MANUAL MODE X-ATTITUDE ERROR (DP)
059861,000197: 16,2377 31751 CA DAPTREG6 # CDUZ IS STORED HERE
059862,000198: 16,2400 54001 TS L
059863,000199: 16,2401 00006 EXTEND
059864,000200: 16,2402 21442 MSU OLDZFORQ
059865,000201: 16,2403 55740 TS DAPTEMP3
059866,000202: 16,2404 23442 LXCH OLDZFORQ
059867,000203: 16,2405 31415 CA M21
059868,000204: 16,2406 00006 EXTEND
059869,000205: 16,2407 71737 MP DAPTEMP2
059870,000206: 16,2410 53427 DXCH OMEGAU
059871,000207: 16,2411 31417 CA M22
059872,000208: 16,2412 02263 TC SUBDIVDE
059873,000209:
059874,000210: 16,2413 00006 EXTEND
059875,000211: 16,2414 61422 SU OMEGAQ
059876,000212: 16,2415 27431 ADS TRAPEDQ
059877,000213: 16,2416 02310 TC OVERSUB
059878,000214: 16,2417 55431 TS TRAPEDQ
059879,000215: 16,2420 00006 EXTEND
059880,000216: 16,2421 31743 DCA DAPTEMP5
059881,000217: 16,2422 21451 DAS DYERROR
059882,000218: 16,2423 41455 CS QLAST
059883,000219: 16,2424 00006 EXTEND
059884,000220: 16,2425 73624 MP 1/40
059885,000221: 16,2426 21451 DAS DYERROR # MANUAL MODE Y-ATTITUDE ERROR (DP)
059886,000222: 16,2427 31416 CA M31
059887,000223: 16,2430 00006 EXTEND
059888,000224: 16,2431 71737 MP DAPTEMP2
059889,000225: 16,2432 53427 DXCH OMEGAU
059890,000226: 16,2433 31420 CA M32
059891,000227:
059892,000228: 16,2434 02263 TC SUBDIVDE
![]() |
Page 1417 |
059894,000230: 16,2435 00006 EXTEND
059895,000231: 16,2436 61423 SU OMEGAR
059896,000232: 16,2437 27432 ADS TRAPEDR
059897,000233: 16,2440 02310 TC OVERSUB
059898,000234: 16,2441 55432 TS TRAPEDR # TRAPEDS HAVE ALL BEEN COMPUTED
059899,000235:
059900,000236: 16,2442 00006 EXTEND
059901,000237: 16,2443 31743 DCA DAPTEMP5
059902,000238: 16,2444 21453 DAS DZERROR
059903,000239: 16,2445 41456 CS RLAST
059904,000240: 16,2446 00006 EXTEND
059905,000241: 16,2447 73624 MP 1/40
059906,000242: 16,2450 21453 DAS DZERROR # MANUAL MODE Z-ATTITUDE ERROR (DP)
059907,000243: 16,2451 30111 CA DAPBOOLS # PICK UP PAD LOADED STATE ESTIMATOR GAINS
059908,000244: 16,2452 74737 MASK CSMDOCKD
059909,000245: 16,2453 00006 EXTEND
059910,000246: 16,2454 12462 BZF LMONLY
059911,000247: 16,2455 00006 EXTEND # DOCKED
059912,000248: 16,2456 31405 DCA DKOMEGAN
059913,000249: 16,2457 53750 DXCH DAPTREG4
059914,000250: 16,2460 31403 CA DKTRAP
059915,000251: 16,2461 12466 TCF +5
059916,000252: 16,2462 00006 LMONLY EXTEND # UNDOCKED
059917,000253: 16,2463 31410 DCA LMOMEGAN
059918,000254: 16,2464 53750 DXCH DAPTREG4
059919,000255: 16,2465 31406 CA LMTRAP
059920,000256: 16,2466 55751 +5 TS DAPTREG6
059921,000257: 16,2467 11430 CCS TRAPEDP
059922,000258: 16,2470 12472 TCF +2
059923,000259: 16,2471 12507 TCF SMALPDIF
059924,000260: 16,2472 61751 AD DAPTREG6 # TRAPSIZE > ABOUT 77001 %-1.4DEG/SEC"
059925,000261: 16,2473 00006 EXTEND
059926,000262: 16,2474 62507 BZMF SMALPDIF
059927,000263: 16,2475 22007 ZL
059928,000264: 16,2476 23430 LXCH TRAPEDP
059929,000265: 16,2477 34755 CA ZERO
059930,000266: 16,2500 00006 EXTEND
059931,000267: 16,2501 11433 DV NPTRAPS
059932,000268: 16,2502 27421 ADS OMEGAP
059933,000269: 16,2503 02310 TC OVERSUB
059934,000270: 16,2504 55421 TS OMEGAP
059935,000271: 16,2505 31747 CA DAPTREG4 # ABOUT 10 OR 0 FOR DOCKED OR UNDOCKED
059936,000272: 16,2506 55433 TS NPTRAPS
059937,000273: 16,2507 25433 SMALPDIF INCR NPTRAPS
059938,000274: 16,2510 31744 P-RATE CA JETRATE
059939,000275: 16,2511 27421 ADS OMEGAP
059940,000276: 16,2512 02310 TC OVERSUB
059941,000277: 16,2513 55421 TS OMEGAP
059942,000278:
059943,000279: 16,2514 11431 CCS TRAPEDQ
![]() |
Page 1418 |
059945,000281: 16,2515 12517 TCF +2
059946,000282: 16,2516 12544 TCF Q-RATE
059947,000283: 16,2517 61751 AD DAPTREG6 # TRAPSIZE > ABOUT 77001 %-1.4DEG/SEC"
059948,000284: 16,2520 00006 EXTEND
059949,000285: 16,2521 62544 BZMF Q-RATE
059950,000286: 16,2522 22007 ZL
059951,000287: 16,2523 23431 LXCH TRAPEDQ
059952,000288: 16,2524 34755 CA ZERO
059953,000289: 16,2525 00006 EXTEND
059954,000290: 16,2526 11434 DV NQTRAPS
059955,000291: 16,2527 55736 TS DAPTEMP1 # SAVE FOR OFFSET ESTIMATE
059956,000292: 16,2530 27422 ADS OMEGAQ
059957,000293: 16,2531 02310 TC OVERSUB
059958,000294: 16,2532 55422 TS OMEGAQ
059959,000295: 16,2533 31747 CA DAPTREG4 # ABOUT 10 OR 0 FOR DOCKED OR UNDOCKED
059960,000296: 16,2534 57434 XCH NQTRAPS
059961,000297: 16,2535 61750 AD DAPTREG5 # KAOS > ABOUT 60D %N/N_60"
059962,000298: 16,2536 57736 XCH DAPTEMP1
059963,000299: 16,2537 00006 EXTEND
059964,000300: 16,2540 74756 MP FIVE
059965,000301: 16,2541 00006 EXTEND
059966,000302: 16,2542 11736 DV DAPTEMP1
059967,000303: 16,2543 27536 ADS AOSQ
059968,000304: 16,2544 25434 Q-RATE INCR NQTRAPS
059969,000305: 16,2545 31745 CA JETRATEQ
059970,000306: 16,2546 61544 AD AOSQTERM
059971,000307: 16,2547 27422 ADS OMEGAQ
059972,000308: 16,2550 02310 TC OVERSUB
059973,000309: 16,2551 55422 TS OMEGAQ
059974,000310:
059975,000311: 16,2552 11432 CCS TRAPEDR
059976,000312: 16,2553 12555 TCF +2
059977,000313: 16,2554 12602 TCF R-RATE
059978,000314: 16,2555 61751 AD DAPTREG6 # TRAPSIZE > ABOUT 77001 %-1.4DEG/SEC"
059979,000315: 16,2556 00006 EXTEND
059980,000316: 16,2557 62602 BZMF R-RATE
059981,000317: 16,2560 22007 ZL
059982,000318: 16,2561 23432 LXCH TRAPEDR
059983,000319: 16,2562 34755 CA ZERO
059984,000320: 16,2563 00006 EXTEND
059985,000321: 16,2564 11435 DV NRTRAPS
059986,000322: 16,2565 55737 TS DAPTEMP2 # SAVE FOR OFFSET ESTIMATE
059987,000323: 16,2566 27423 ADS OMEGAR
059988,000324: 16,2567 02310 TC OVERSUB
059989,000325: 16,2570 55423 TS OMEGAR
059990,000326: 16,2571 31747 CA DAPTREG4 # ABOUT 10 OR 0 FOR DOCKED OR UNDOCKED
059991,000327: 16,2572 57435 XCH NRTRAPS
059992,000328: 16,2573 61750 AD DAPTREG5 # KAOS > ABOUT 60D %N/N_60"
059993,000329: 16,2574 57737 XCH DAPTEMP2
059994,000330: 16,2575 00006 EXTEND
![]() |
Page 1419 |
059996,000332: 16,2576 74756 MP FIVE
059997,000333: 16,2577 00006 EXTEND
059998,000334: 16,2600 11737 DV DAPTEMP2
059999,000335: 16,2601 27540 ADS AOSR
060000,000336: 16,2602 25435 R-RATE INCR NRTRAPS
060001,000337: 16,2603 31746 CA JETRATER
060002,000338: 16,2604 61545 AD AOSRTERM
060003,000339: 16,2605 27423 ADS OMEGAR
060004,000340: 16,2606 02310 TC OVERSUB
060005,000341: 16,2607 55423 TS OMEGAR
060006,000342:
060007,000343: # END OF RATE DERIVATION
060008,000344: # BEGIN OFFSET ESTIMATER
060009,000345: # IN POWERED FLIGHT, AOSTASK WILL BE CALLED EVERY 2 SECONDS.
060010,000346: # AOS = AOS + K*SUMRATE
060011,000347:
060012,000348: 16,2610 40111 CS DAPBOOLS
060013,000349: 16,2611 74744 MASK DRIFTBIT
060014,000350: 16,2612 10000 CCS A
060015,000351: 16,2613 12624 TCF WORKTIME
060016,000352: 16,2614 55424 TS ALPHAQ # ZERO THE OFFSET ACCELERATION VALUES.
060017,000353: 16,2615 55425 TS ALPHAR
060018,000354: 16,2616 55544 TS AOSQTERM
060019,000355: 16,2617 55545 TS AOSRTERM
060020,000356: 16,2620 55536 TS AOSQ
060021,000357: 16,2621 55540 TS AOSR
060022,000358: 16,2622 12667 TCF PRETIMCK
060023,000359: 16,2623 00074 KAOS DEC 60 B-14
060024,000360: 16,2624 31510 WORKTIME CA QACCDOT
060025,000361: 16,2625 00006 EXTEND
060026,000362: 16,2626 74766 MP CALLCODE # OCTAL 00032 IS DECIMAL .1 AT 2(6).
060027,000363: 16,2627 21537 DAS AOSQ
060028,000364: 16,2630 31536 CA AOSQ
060029,000365: 16,2631 55424 TS ALPHAQ
060030,000366: 16,2632 00006 EXTEND
060031,000367: 16,2633 73622 MP 200MS # .2 AT 1
060032,000368: 16,2634 55544 TS AOSQTERM
060033,000369: 16,2635 31512 CA RACCDOT
060034,000370: 16,2636 00006 EXTEND
060035,000371: 16,2637 74766 MP CALLCODE # OCTAL 00032 IS DECIMAL .1 AT 2(6).
060036,000372: 16,2640 21541 DAS AOSR
060037,000373: 16,2641 31540 CA AOSR
060038,000374: 16,2642 55425 TS ALPHAR
060039,000375: 16,2643 00006 EXTEND
060040,000376: 16,2644 73622 MP 200MS # .2 AT 1
060041,000377: 16,2645 55545 TS AOSRTERM
060042,000378: 16,2646 12667 TCF PRETIMCK
060043,000379:
![]() |
Page 1420 |
060045,000381: 16,2647 34747 PAXFILT CA CALLGMBL # EXECUTE ACDT+C12, IF NEEDED.
060046,000382: 16,2650 71262 MASK RCSFLAGS
060047,000383: 16,2651 10000 CCS A # CALLGMBL IS NOT BIT15, SO THIS TEST IS
060048,000384: 16,2652 03742 TC ACDT+C12 # VALID.
060049,000385:
060050,000386: 16,2653 52011 DXCH ARUPT
060051,000387: 16,2654 53753 DXCH DAPARUPT
060052,000388: 16,2655 32666 CA SUPERJOB # SETTING UP THE SUPERJOB
060053,000389: 16,2656 56017 XCH BRUPT
060054,000390: 16,2657 22012 LXCH QRUPT
060055,000391: 16,2660 53755 DXCH DAPBQRPT
060056,000392: 16,2661 32665 CA SUPERADR
060057,000393: 16,2662 52016 DXCH ZRUPT
060058,000394: 16,2663 53757 DXCH DAPZRUPT
060059,000395: 16,2664 15275 TCF NOQBRSM +1 # RELINT (JUST IN CASE) AND RESUME, IN THE
060060,000396: # FORM OF A JASK, AT SUPERJOB.
060061,000397:
060062,000398: 16,2665 02667 SUPERADR GENADR SUPERJOB +1
060063,000399:
060064,000400: # COUNT DOWN GIMBAL DRIVE TIMERS AND TURN OFF DRIVES IF REQUIRED.
060065,000401:
060066,000402: 16,2666 13645 SUPERJOB TCF RATELOOP
060067,000403: 16,2667 11631 PRETIMCK CCS QGIMTIMR
060068,000404: 16,2670 12710 TCF DECQTIMR # POSITIVE - COUNTING DOWN
060069,000405: 16,2671 12714 TCF TURNOFFQ # NEGATIVE - DRIVE SHOULD BE ENDED
060070,000406: 16,2672 11633 CHKRTIMR CCS RGIMTIMR # NEGATIVE - INACTIVE
060071,000407: 16,2673 12712 TCF DECRTIMR # (NEG ZERO - IMPOSSIBLE)
060072,000408: 16,2674 12724 TCF TURNOFFR # REPEATED (ABOVE) FOR R AXIS.
060073,000409:
060074,000410: 16,2675 00006 EXTEND # DECREMENT DOCKED JET INHIBITION COUNTERS
060075,000411: 16,2676 27766 DIM PJETCTR
060076,000412: 16,2677 00006 EXTEND
060077,000413: 16,2700 27767 DIM UJETCTR
060078,000414: 16,2701 00006 EXTEND
060079,000415: 16,2702 27770 DIM VJETCTR
060080,000416: 16,2703 34740 CA BIT12
060081,000417: 16,2704 71262 MASK RCSFLAGS
060082,000418: 16,2705 00006 EXTEND
060083,000419: 16,2706 12734 BZF SKIPPAXS
060084,000420: 16,2707 02740 TC CHKVISFZ
060085,000421: 16,2710 55631 DECQTIMR TS QGIMTIMR # COUNT TIMERS DOWN TO POS ZERO.
060086,000422: 16,2711 12672 TCF CHKRTIMR
060087,000423: 16,2712 55633 DECRTIMR TS RGIMTIMR
060088,000424: 16,2713 12675 TCF CHKRTIMR +3
060089,000425:
060090,000426: 16,2714 55501 TURNOFFQ TS NEGUQ # HALT DRIVES.
060091,000427: 16,2715 55510 TS QACCDOT
060092,000428: 16,2716 45007 CS QGIMBITS
060093,000429: 16,2717 00006 EXTEND
![]() |
Page 1421 |
060095,000431: 16,2720 03012 WAND CHAN12
060096,000432: 16,2721 34735 CAF NEGMAX
060097,000433: 16,2722 55631 TS QGIMTIMR
060098,000434: 16,2723 12672 TCF CHKRTIMR
060099,000435: 16,2724 55503 TURNOFFR TS NEGUR
060100,000436: 16,2725 55512 TS RACCDOT
060101,000437: 16,2726 45020 CS RGIMBITS
060102,000438: 16,2727 00006 EXTEND
060103,000439: 16,2730 03012 WAND CHAN12
060104,000440: 16,2731 34735 CAF NEGMAX
060105,000441: 16,2732 55633 TS RGIMTIMR
060106,000442: 16,2733 12675 TCF CHKRTIMR +3
060107,000443: 16,2734 5007 QGIMBITS EQUALS OCT1400 # BITS 9 AND 10 (OF CHANNEL 12).
060108,000444: 16,2734 5020 RGIMBITS EQUALS PRIO6 # BITS 11 AND 12 (OF CHANNEL 12).
060109,000445:
060110,000446: 16,2734 41262 SKIPPAXS CS RCSFLAGS
060111,000447: 16,2735 74740 MASK BIT12
060112,000448: 16,2736 27262 ADS RCSFLAGS # BIT 12 SET TO 1.
060113,000449: 16,2737 13630 TCF QRAXIS # GO TO QRAXIS OR TO GTS.
060114,000450:
060115,000451: # Y-Z TRANSLATION
060116,000452:
060117,000453: # INPUT: BITS 9-12 OF CH31 (FROM TRANSLATION CONTROLER)
060118,000454:
060119,000455: # OUTPUT: NEXTP
060120,000456: # NEXTP IS THE CHANNEL 6 CODE OF JETS FOR THE DESIRED TRANSLATION.
060121,000457: # IF THERE ARE FAILURES IN THE DESIRED POLICY, THEN
060122,000458: # (1) FOR DIAGONAL TRANS: UNFAILED PAIR
060123,000459: # ALARM (IF NO PAIR)
060124,000460: # (2) FOR PRINCIPAL TRANS: TRY TO TACK WITH DIAGONAL PAIRS
060125,000461: # ALARM (IF DIAGONAL PAIRS ARE FAILED)
060126,000462:
060127,000463: 16,2740 00006 CHKVISFZ EXTEND
060128,000464: 16,2741 00031 READ CHAN31
060129,000465: 16,2742 40000 CS A
060130,000466: 16,2743 73617 MASK 07400OCT
060131,000467: 16,2744 00006 EXTEND
060132,000468: 16,2745 13014 BZF TSNEXTP
060133,000469: 16,2746 00006 EXTEND
060134,000470: 16,2747 74745 MP BIT7
060135,000471: 16,2750 50000 INDEX A
060136,000472: 16,2751 33576 CA INDXYZ
060137,000473: 16,2752 55743 TS ROTINDEX
060138,000474: 16,2753 36245 TRYUORV CA SIX
060139,000475: 16,2754 03555 TC SELECTYZ
060140,000476: 16,2755 46245 CS SIX
060141,000477: 16,2756 61742 AD NUMBERT
060142,000478: 16,2757 00006 EXTEND
![]() |
Page 1422 |
060144,000480: 16,2760 13013 BZF TSNEXTP -1
060145,000481: 16,2761 44756 CS FIVE
060146,000482: 16,2762 61743 AD ROTINDEX
060147,000483: 16,2763 00006 EXTEND
060148,000484: 16,2764 63002 BZMF ALTERYZ
060149,000485: 16,2765 41742 CS NUMBERT
060150,000486: 16,2766 64751 AD FOUR
060151,000487: 16,2767 00006 EXTEND
060152,000488: 16,2770 63013 BZMF TSNEXTP -1
060153,000489: 16,2771 05567 ABORTYZ TC ALARM
060154,000490: 16,2772 02001 OCT 02001
060155,000491: 16,2773 34753 CA BIT1 # INVERT BIT 1 OF RCSFLAGS.
060156,000492: 16,2774 23262 LXCH RCSFLAGS
060157,000493: 16,2775 00006 EXTEND
060158,000494: 16,2776 06001 RXOR 1
060159,000495: 16,2777 55262 TS RCSFLAGS
060160,000496: 16,3000 34755 CA ZERO
060161,000497: 16,3001 13014 TCF TSNEXTP
060162,000498: 16,3002 34753 ALTERYZ CA BIT1 # INVERT BIT 1 OF RCSFLAGS.
060163,000499: 16,3003 23262 LXCH RCSFLAGS
060164,000500: 16,3004 00006 EXTEND
060165,000501: 16,3005 06001 RXOR 1
060166,000502: 16,3006 55262 TS RCSFLAGS
060167,000503: 16,3007 74753 MASK BIT1
060168,000504: 16,3010 64751 AD FOUR
060169,000505: 16,3011 27743 ADS ROTINDEX
060170,000506: 16,3012 12753 TCF TRYUORV
060171,000507: 16,3013 31740 CA POLYTEMP
060172,000508: 16,3014 55472 TSNEXTP TS NEXTP
060173,000509:
060174,000510: # STATE LOGIC
060175,000511: # CHECK IN ORDER: IF ON
060176,000512: # LPDPHASE GO TO PURGENCY
060177,000513: # PULSES MINIMUM PULSE LOGIC
060178,000514: # DETENT(BIT15 CH31) RATE COMMAND
060179,000515: # GO TO PURGENCY
060180,000516:
060181,000517: 16,3015 34737 CA BIT13 # CHECK STICK IF IN ATT. HOLD.
060182,000518: 16,3016 00006 EXTEND
060183,000519: 16,3017 02031 RAND CHAN31
060184,000520: 16,3020 00006 EXTEND
060185,000521: 16,3021 13027 BZF MANMODE
060186,000522:
060187,000523: 16,3022 30111 CA DAPBOOLS
060188,000524: 16,3023 74743 MASK XOVINHIB
060189,000525: 16,3024 10000 CCS A
060190,000526: 16,3025 13467 TCF PURGENCY # ATTITUDE STEER DURING VISIBILITY PHASE
060191,000527:
060192,000528: 16,3026 13071 TCF DETENTCK
060193,000529: 16,3027 34735 MANMODE CA PULSES # PULSES IS ONE FOR PULSE MODE
060194,000530: 16,3030 70111 MASK DAPBOOLS
![]() |
Page 1423 |
060196,000532: 16,3031 00006 EXTEND
060197,000533: 16,3032 13071 BZF DETENTCK # BRANCH FOR RATE COMMAND
060198,000534:
060199,000535: 16,3033 34755 CA ZERO
060200,000536: 16,3034 55464 TS PERROR
060201,000537:
060202,000538: # MINIMUM IMPULSE MODE
060203,000539:
060204,000540: 16,3035 30032 CA CDUX
060205,000541: 16,3036 55634 TS CDUXD
060206,000542:
060207,000543: 16,3037 11460 CCS OLDPMIN
060208,000544: 16,3040 13054 TCF CHECKP
060209,000545:
060210,000546: 16,3041 34751 FIREP CA BIT3
060211,000547: 16,3042 00006 EXTEND
060212,000548: 16,3043 02031 RAND CHAN31
060213,000549: 16,3044 00006 EXTEND
060214,000550: 16,3045 13064 BZF +XMIN
060215,000551:
060216,000552: 16,3046 34750 CA BIT4
060217,000553: 16,3047 00006 EXTEND
060218,000554: 16,3050 02031 RAND CHAN31
060219,000555: 16,3051 00006 EXTEND
060220,000556: 16,3052 13062 BZF -XMIN
060221,000557:
060222,000558: 16,3053 13446 TCF JETSOFF
060223,000559:
060224,000560: 16,3054 00006 CHECKP EXTEND
060225,000561: 16,3055 00031 READ CHAN31
060226,000562: 16,3056 40000 CS A
060227,000563: 16,3057 75741 MASK OCT14
060228,000564: 16,3060 55460 TS OLDPMIN
060229,000565: 16,3061 13446 TCF JETSOFF
060230,000566:
060231,000567: 16,3062 44363 -XMIN CS TEN # ANYTHING LESS THAN 14MS. CORRECTED
060232,000568: 16,3063 13065 TCF +2 # IN JET SELECTION ROUTINE
060233,000569: 16,3064 34363 +XMIN CA TEN
060234,000570: 16,3065 55524 TS TJP
060235,000571: 16,3066 34753 CA ONE
060236,000572: 16,3067 55460 TS OLDPMIN
060237,000573: 16,3070 13354 TCF PJETSLEC -6
060238,000574:
060239,000575: # MANUAL RATE COMMAND MODE
060240,000576: # ========================
060241,000577: # BY ROBERT F. STENGEL
060242,000578:
060243,000579: # THIS MODE PROVIDES RCAH MANUAL CONTROL THRU 2 CONTROL LAWS: 1) DIRECT RATE AND 2) PSEUDO-AUTO.
060244,000580: # THE DIRECT RATE MODE AFFORDS IMMEDIATE CONTROL WITHOUT OVERSHOOT. THE PSEUDO-AUTO MODE PROVIDES PRECISE
060245,000581: # RATE CONTROL AND ATTITUDE HOLD.
060246,000582:
![]() |
Page 1424 |
060248,000584: # IN DIRECT RATE, JETS ARE FIRED WHEN STICK POSITION CHANGES BY A FIXED NUMBER OF INCREMENTS IN ONE DAP CYCLE.
060249,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
060250,000586: # THE 'TARGET DEADBAND', WHICH EQUALS THE BREAKOUT LEVEL.
060251,000587:
060252,000588: # IN PSEUDO-AUTO, BODY-FIXED RATE AND ATTITUDE ERRORS ARE SUPPLIED TO TJETLAW, WHICH EXERCISES CONTROL.
060253,000589: # CONTROL SWITCHES FROM DIRECT RATE TO PSEUDO-AUTO IF THE TARGET DB IS ACHIEVED OR IF TIME IN (1) EXCEEDS 4 SEC.
060254,000590: # IF THE INITIAL COMMAND DOES NOT EXCEED THE BREAKOUT LEVEL, CONTROL GOES TO PSEUDO-AUTO IMMEDIATELY.
060255,000591:
060256,000592: # 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,
060257,000593: # OR VICE VERSA. THIS ALLOWS A DEGREE OF ATTITUDE HOLD IN UNCONTROLLED AXES. DUE TO U,V CONTROL, HOWEVER, Q AND
060258,000594: # R AXES ARE COUPLED AND MUST USE THE SAME CONTROL LAW.
060259,000595:
060260,000596: # HAND CONTROLLER COMMANDS ARE SCALED BY A LINEAR/QUADRATIC LAW. FOR THE LM-ALONE, MAXIMUM COMMANDED RATES ARE 20
060261,000597: # AND 4 D/S IN NORMAL AND FINE SCALING; HOWEVER, STICK SENSITIVITY AT ZERO COUNTS (OBTAINED AT A STICK DEFLECTION
060262,000598: # OF 2 DEGREES FROM THE CENTERED POSITION) IS .5 OR .1 D/S PER DEGREE. NORMAL AND FINE SCALINGS FOR THE CSM-DOCKED
060263,000599: # CASE IS AUTOMATICALLY SET TO 1/10 THE ABOVE VALUES. SCALING IS DETERMINED IN ROUTINE 3.
060264,000600:
060265,000601: # ZEROENBL ENABLES COUNTERS SO THEY CAN BE READ NEXT TIME
060266,000602: # JUSTOUT FIRST DETECTION OF OUT OF DETENT (BY OURRCBIT)
060267,000603:
060268,000604: 16,3071 00006 DETENTCK EXTEND
060269,000605: 16,3072 00031 READ CHAN31
060270,000606: 16,3073 55443 TS CH31TEMP
060271,000607: 16,3074 74735 MASK BIT15 # CHECK OUT-OF-DETENT BIT.
060272,000608: 16,3075 00006 EXTEND
060273,000609: 16,3076 13223 BZF RHCMOVED # BRANCH IF OUT OF DETENT.
060274,000610: 16,3077 34740 CAF OURRCBIT # IN DETENT. CHECK THE RATE COMMAND BIT.
060275,000611: 16,3100 70111 MASK DAPBOOLS
060276,000612: 16,3101 00006 EXTEND
060277,000613: 16,3102 13467 BZF PURGENCY # BRANCH IF NOT IN RATE COMMAND LAST PASS.
060278,000614:
060279,000615: # ........................................................................
060280,000616:
060281,000617: 16,3103 34743 CA BIT9 # JUST IN DETENT??
060282,000618: 16,3104 71262 MASK RCSFLAGS
060283,000619: 16,3105 00006 EXTEND
060284,000620: 16,3106 13120 BZF RUTH
060285,000621: 16,3107 34737 CAF BIT13 # CHECK FOR ATTITUDE HOLD.
060286,000622: 16,3110 00006 EXTEND
060287,000623: 16,3111 02031 RAND CHAN31
060288,000624: 16,3112 00006 EXTEND
060289,000625: 16,3113 13220 BZF RATEDAMP # BRANCH IF IN ATTITUDE HOLD.
060290,000626:
060291,000627: 16,3114 45014 CS BITS9,11 # IN AUTO.
060292,000628: 16,3115 71262 MASK RCSFLAGS # (X-AXIS OVERRIDE)
060293,000629: 16,3116 55262 TS RCSFLAGS # ZERO ORBIT (BIT 11) AND JUST-IN BIT (9).
060294,000630: 16,3117 13220 TCF RATEDAMP
060295,000631:
060296,000632: 16,3120 31262 RUTH CA RCSFLAGS
060297,000633: 16,3121 74742 MASK PBIT # IN ATTITUDE HOLD.
060298,000634: 16,3122 00006 EXTEND
060299,000635: 16,3123 13125 BZF +2 # BRANCH IF P-RATE DAMPING IS FINISHED.
060300,000636: 16,3124 13220 TCF RATEDAMP
060301,000637:
![]() |
Page 1425 |
060303,000639: 16,3125 31262 CA RCSFLAGS
060304,000640: 16,3126 74741 MASK QRBIT
060305,000641: 16,3127 00006 EXTEND
060306,000642: 16,3130 13134 BZF RATEDONE # BRANCH IF Q,R RATE DAMPING IS FINISHED.
060307,000643: 16,3131 13220 TCF RATEDAMP
060308,000644:
060309,000645: # ============================================
060310,000646:
060311,000647: 16,3132 4753 1/10SEC = BIT1
060312,000648: 16,3132 4771 40CYC = OCT50
060313,000649: 16,3132 74777 PQRBIT OCT 74777
060314,000650: 16,3133 5014 BITS9,11 EQUALS EBANK5
060315,000651: 16,3133 00056 LINRATP DEC 46 B-14
060316,000652:
060317,000653: # ============================================
060318,000654:
060319,000655: 16,3134 44740 RATEDONE CS OURRCBIT # MANUAL COMMAND AND DAMPING COMPLETED IN
060320,000656: 16,3135 00004 INHINT # ALL AXES.
060321,000657: 16,3136 70111 MASK DAPBOOLS
060322,000658: 16,3137 54111 TS DAPBOOLS
060323,000659:
060324,000660: # READ CDUS INTO CDU DESIRED REGISTERS
060325,000661:
060326,000662: 16,3140 34737 CAF BIT13
060327,000663: 16,3141 00006 EXTEND
060328,000664: 16,3142 02031 RAND CHAN31
060329,000665: 16,3143 00006 EXTEND
060330,000666: 16,3144 13150 BZF +4
060331,000667: 16,3145 30032 CA CDUX # (X-AXIS OVERRIDE)
060332,000668: 16,3146 55634 TS CDUXD
060333,000669: 16,3147 03152 TC +3
060334,000670: 16,3150 04674 TC IBNKCALL
060335,000671: 16,3151 40154 FCADR ZATTEROR
060336,000672: 16,3152 00003 RELINT
060337,000673: 16,3153 13467 TCF PURGENCY
060338,000674:
060339,000675: 16,3154 55464 TS PERROR
060340,000676: 16,3155 34740 JUSTOUT CA OURRCBIT # INITIALIZATION - FIRST MANUAL PASS.
060341,000677: 16,3156 26111 ADS DAPBOOLS
060342,000678: 16,3157 34755 CA ZERO
060343,000679: 16,3160 55446 TS DXERROR
060344,000680: 16,3161 55447 TS DXERROR +1
060345,000681: 16,3162 55450 TS DYERROR
060346,000682: 16,3163 55451 TS DYERROR +1
060347,000683: 16,3164 55452 TS DZERROR
060348,000684: 16,3165 55453 TS DZERROR +1
060349,000685: 16,3166 55454 TS PLAST
060350,000686: 16,3167 55455 TS QLAST
060351,000687: 16,3170 55456 TS RLAST
060352,000688: 16,3171 54042 TS Q-RHCCTR
060353,000689: 16,3172 54044 TS R-RHCCTR
060354,000690: 16,3173 33132 CA PQRBIT
060355,000691: 16,3174 71262 MASK RCSFLAGS
060356,000692: 16,3175 55262 TS RCSFLAGS # BITS 10 AND 11 OF RCSFLAGS ARE 0.
![]() |
Page 1426 |
060358,000694: 16,3176 03201 TC ZEROENBL
060359,000695: 16,3177 00003 RELINT
060360,000696: 16,3200 13446 TCF JETSOFF
060361,000697: 16,3201 22044 ZEROENBL LXCH R-RHCCTR
060362,000698: 16,3202 30042 CA Q-RHCCTR
060363,000699: 16,3203 53463 DXCH SAVEHAND
060364,000700: 16,3204 34755 CA ZERO
060365,000701: 16,3205 54043 TS P-RHCCTR
060366,000702: 16,3206 54042 TS Q-RHCCTR
060367,000703: 16,3207 54044 TS R-RHCCTR
060368,000704: 16,3210 00004 INHINT
060369,000705: 16,3211 00006 EXTEND
060370,000706: 16,3212 23265 QXCH C13QSAV
060371,000707: 16,3213 06022 TC C13STALL
060372,000708:
060373,000709: 16,3214 33623 CA BITS8,9
060374,000710: 16,3215 00006 EXTEND
060375,000711: 16,3216 05013 WOR CHAN13 # COUNTERS ZEROED AND ENABLED
060376,000712: 16,3217 01265 TC C13QSAV
060377,000713:
060378,000714: 16,3220 34755 RATEDAMP CA ZERO
060379,000715: 16,3221 54043 TS P-RHCCTR
060380,000716: 16,3222 13232 TCF RATERROR
060381,000717:
060382,000718: 16,3223 41262 RHCMOVED CS RCSFLAGS # SET JUSTIN BIT TO 1
060383,000719: 16,3224 74743 MASK BIT9
060384,000720: 16,3225 27262 ADS RCSFLAGS
060385,000721: 16,3226 34740 CA OURRCBIT # P CONTROL
060386,000722: 16,3227 70111 MASK DAPBOOLS
060387,000723: 16,3230 00006 EXTEND
060388,000724: 16,3231 13154 BZF JUSTOUT -1
060389,000725: 16,3232 30032 RATERROR CA CDUX # FINDCDUW REQUIRES THAT CDUXD=CDUX DURING
060390,000726: 16,3233 55634 TS CDUXD # X-AXIS OVERRIDE
060391,000727: 16,3234 10043 CCS P-RHCCTR
060392,000728: 16,3235 13240 TCF +3
060393,000729: 16,3236 13240 TCF +2
060394,000730: 16,3237 13240 TCF +1
060395,000731: 16,3240 60000 DOUBLE # LINEAR/QUADRATIC CONTROLLER SCALING
060396,000732: 16,3241 60000 DOUBLE # (SEE EXPLANATION IN Q,R-AXES RCS
060397,000733: 16,3242 63133 AD LINRATP # AUTOPILOT)
060398,000734: 16,3243 00006 EXTEND
060399,000735: 16,3244 70043 MP P-RHCCTR
060400,000736: 16,3245 30001 CA L
060401,000737: 16,3246 00006 EXTEND
060402,000738: 16,3247 71444 MP STIKSENS
060403,000739: 16,3250 57454 XCH PLAST
060404,000740: 16,3251 40000 COM
060405,000741: 16,3252 61454 AD PLAST
060406,000742: 16,3253 55736 TS DAPTEMP1
060407,000743: 16,3254 03201 TC ZEROENBL # INTERVAL. ZERO AND ENABLE ACA COUNTERS.
![]() |
Page 1427 |
060409,000745: 16,3255 00003 RELINT
060410,000746: 16,3256 41454 CS PLAST
060411,000747: 16,3257 61421 AD OMEGAP
060412,000748: 16,3260 55427 TS EDOTP
060413,000749: 16,3261 11736 CCS DAPTEMP1 # IF P COMMAND CHANGE EXCEEDS BREAKOUT
060414,000750: 16,3262 13265 TCF +3 # LEVEL, GO TO DIRECT RATE CONTROL. IF NOT
060415,000751: 16,3263 13273 TCF +8D # CHECK FOR DIRECT RATE CONTROL LAST TIME.
060416,000752: 16,3264 13265 TCF +1
060417,000753: 16,3265 61476 AD -RATEDB
060418,000754: 16,3266 00006 EXTEND
060419,000755: 16,3267 63273 BZMF +4
060420,000756: 16,3270 34771 CA 40CYC
060421,000757: 16,3271 55445 TS TCP
060422,000758: 16,3272 03304 TC PEGI
060423,000759: 16,3273 31262 CA RCSFLAGS # CHECK FOR DIRECT RATE COMMAND LAST TIME.
060424,000760: 16,3274 74742 MASK PBIT
060425,000761: 16,3275 00006 EXTEND
060426,000762: 16,3276 13300 BZF +2
060427,000763: 16,3277 03304 TC PEGI # TO PURE RATE COMMAND
060428,000764: 16,3300 31446 CA DXERROR # PSEUDO-AUTO CONTROL.
060429,000765: 16,3301 55751 TS E # X-ATTITUDE ERROR (SP)
060430,000766: 16,3302 55464 TS PERROR # LOAD P-AXIS ERROR FOR MODE1 FDAI DISPLAY
060431,000767: 16,3303 03473 TC PURGENCY +4
060432,000768: 16,3304 30032 PEGI CA CDUX # DIRECT RATE CONTROL.
060433,000769: 16,3305 55634 TS CDUXD
060434,000770: 16,3306 34755 CA ZERO
060435,000771: 16,3307 55446 TS DXERROR
060436,000772: 16,3310 55447 TS DXERROR +1
060437,000773: 16,3311 55464 TS PERROR # ZERO P-AXIS ERROR FOR MODE1 FDAI DISPLAY
060438,000774: 16,3312 11427 CCS EDOTP
060439,000775: 16,3313 03316 TC +3
060440,000776: 16,3314 03316 TC +2
060441,000777: 16,3315 03316 TC +1
060442,000778: 16,3316 55736 TS ABSEDOTP
060443,000779: 16,3317 61476 AD TARGETDB
060444,000780: 16,3320 00006 EXTEND # IF RATE ERROR IS LESS THAN DEADBAND,
060445,000781: 16,3321 63331 BZMF LAST # FIRE, AND SWITCH TO PSEUDO-AUTO.
060446,000782: 16,3322 31445 CA TCP
060447,000783: 16,3323 00006 EXTEND # IF TIME IN RATE COMMAND EXCEEDS 4 SEC.,
060448,000784: 16,3324 63331 BZMF LAST
060449,000785: 16,3325 41262 CS RCSFLAGS
060450,000786: 16,3326 74742 MASK PBIT
060451,000787: 16,3327 27262 ADS RCSFLAGS # BIT 10 IS 1.
060452,000788: 16,3330 13334 TCF +4
060453,000789: 16,3331 44742 LAST CS PBIT
060454,000790: 16,3332 71262 MASK RCSFLAGS
060455,000791: 16,3333 55262 TS RCSFLAGS # BIT 10 IS 0.
060456,000792: 16,3334 41427 CS EDOTP
060457,000793: 16,3335 00006 EXTEND
060458,000794: 16,3336 71550 MP 1/ANETP # 1/2JTACC SCALED AT 2EXP(7)/PI
![]() |
Page 1428 |
060460,000796: 16,3337 20001 DAS A
060461,000797: 16,3340 02310 TC OVERSUB
060462,000798: 16,3341 00006 EXTEND
060463,000799: 16,3342 77721 MP 25/32 # A CONTAINS TJET SCALED AT 2EXP(4)(16/25)
060464,000800: 16,3343 55524 TS TJP # 4.JET TIME
060465,000801: 16,3344 31736 CA ABSEDOTP
060466,000802: 16,3345 61475 AD -2JETLIM # COMPARING DELTA RATE WITH 2 JET LIMIT
060467,000803: 16,3346 00006 EXTEND
060468,000804: 16,3347 63352 BZMF +3
060469,000805:
060470,000806: 16,3350 36245 CA SIX
060471,000807: 16,3351 13361 TCF +8D
060472,000808: 16,3352 31524 CA TJP
060473,000809: 16,3353 27524 ADS TJP
060474,000810:
060475,000811: # GOES TO PJETSLEC FOR TWO JETS
060476,000812: # P-JET-SELECTION-ROUTINE (ROTATION)
060477,000813:
060478,000814: # INPUT: NUMBERT 4,5,6 FOR WHICH PAIR OR 4 JETS
060479,000815: # TJP + FOR +P ROTATION
060480,000816:
060481,000817: # OUTPUT: CHANNEL 6
060482,000818: # PJUMPADR FOR P-AXIS SKIP
060483,000819: # (JTLST CALL) (SMALL TJP)
060484,000820:
060485,000821: # ORDER OF POLICIES TRIED IN CASE OF FAILURE.
060486,000822: # +P -P
060487,000823: # 7,15 8,16
060488,000824: # 4,12 3,11
060489,000825: # 4,7 8,11
060490,000826: # 7,12 11,16
060491,000827: # 12,15 3,16
060492,000828: # 4,15 3,8
060493,000829: # ALARM ALARM
060494,000830:
060495,000831: 16,3354 34747 CA AORBSYST
060496,000832: 16,3355 70101 MASK FLAGWRD5
060497,000833: 16,3356 10000 CCS A
060498,000834: 16,3357 34753 CA ONE
060499,000835: 16,3360 64751 AD FOUR
060500,000836: 16,3361 55742 TS NUMBERT
060501,000837: 16,3362 34753 PJETSLEC CA ONE
060502,000838: 16,3363 54001 TS L
060503,000839: 16,3364 11524 CCS TJP
060504,000840: 16,3365 13372 TCF +5
060505,000841: 16,3366 13446 TCF JETSOFF
060506,000842: 16,3367 13371 TCF +2
060507,000843: 16,3370 13446 TCF JETSOFF
060508,000844: 16,3371 22007 ZL
060509,000845: 16,3372 64753 AD ONE
060510,000846: 16,3373 55736 TS ABSTJ
![]() |
Page 1429 |
060512,000848: 16,3374 23743 LXCH ROTINDEX
060513,000849: 16,3375 03535 TC SELECTP
060514,000850: 16,3376 46245 CS SIX
060515,000851: 16,3377 61742 AD NUMBERT
060516,000852: 16,3400 00006 EXTEND
060517,000853: 16,3401 13403 BZF +2
060518,000854:
060519,000855: 16,3402 44752 CS TWO
060520,000856: 16,3403 64751 AD FOUR
060521,000857: 16,3404 55521 TS NO.PJETS
060522,000858: 16,3405 31740 CA POLYTEMP
060523,000859: 16,3406 05744 TC WRITEP
060524,000860: 16,3407 41736 CS ABSTJ
060525,000861: 16,3410 63616 AD +150MST6
060526,000862: 16,3411 00006 EXTEND
060527,000863: 16,3412 63630 BZMF QRAXIS # GO TO QRAXIS OR TO GTS.
060528,000864:
060529,000865: 16,3413 63576 AD -136MST6
060530,000866: 16,3414 00006 EXTEND
060531,000867: 16,3415 63422 BZMF +5
060532,000868:
060533,000869: 16,3416 27736 ADS ABSTJ
060534,000870: 16,3417 51743 INDEX ROTINDEX
060535,000871: 16,3420 33625 CA MINTIMES
060536,000872: 16,3421 55524 TS TJP
060537,000873:
060538,000874: 16,3422 31736 CA ABSTJ
060539,000875: 16,3423 22007 ZL
060540,000876: 16,3424 00004 INHINT
060541,000877: 16,3425 53471 DXCH T6FURTHA
060542,000878: 16,3426 04674 TC IBNKCALL
060543,000879: 16,3427 37143 CADR JTLST
060544,000880: 16,3430 44740 CS BIT12
060545,000881: 16,3431 71262 MASK RCSFLAGS
060546,000882: 16,3432 55262 TS RCSFLAGS # BIT 12 SET TO 0.
060547,000883: 16,3433 03435 TC ALTSYST
060548,000884: 16,3434 13630 TCF QRAXIS
060549,000885:
060550,000886: 16,3435 30101 ALTSYST CA FLAGWRD5 # ALTERNATE P-AXIS JETS
060551,000887: 16,3436 54001 TS L
060552,000888: 16,3437 34747 CA AORBSYST
060553,000889: 16,3440 00006 EXTEND
060554,000890: 16,3441 06001 RXOR LCHAN
060555,000891: 16,3442 54101 TS FLAGWRD5
060556,000892: 16,3443 00003 RELINT
060557,000893: 16,3444 00002 TC Q
060558,000894:
060559,000895: 16,3445 03435 DKALT TC ALTSYST
060560,000896:
060561,000897: 16,3446 05743 JETSOFF TC WRITEP -1
![]() |
Page 1430 |
060563,000899: 16,3447 34755 CA ZERO
060564,000900: 16,3450 55524 TS TJP
060565,000901: 16,3451 13630 TCF QRAXIS
060566,000902:
060567,000903: # (NOTE -- M13 = 1 IDENTICALLY IMPLIES NULL MULTIPLICATION.)
060568,000904:
060569,000905: 16,3452 30033 CALCPERR CA CDUY # P-ERROR CALCULATION.
060570,000906: 16,3453 00006 EXTEND
060571,000907: 16,3454 21635 MSU CDUYD # CDU VALUE - ANGLE DESIRED (Y-AXIS)
060572,000908: 16,3455 00006 EXTEND
060573,000909: 16,3456 71414 MP M11 # (CDUY-CDUYD)M11 SCALED AT PI RADIANS
060574,000910: 16,3457 57751 XCH E # SAVE FIRST TERM (OF TWO)
060575,000911: 16,3460 30032 CA CDUX # THIRD COMPONENT
060576,000912: 16,3461 00006 EXTEND
060577,000913: 16,3462 21634 MSU CDUXD # CDU VALUE - ANGLE DESIRED (X-AXIS)
060578,000914: # EXTEND
060579,000915: # MP M13
060580,000916: 16,3463 61274 AD DELPEROR # KALCMANU INERFACE ERROR
060581,000917: 16,3464 27751 ADS E # SAVE SUM OF TERMS. COULD BE OVERFLOW.
060582,000918: 16,3465 57464 XCH PERROR # SAVE P-ERROR FOR EIGHT-BALL DISPLAY.
060583,000919: 16,3466 00002 TC Q # RETURN TO CALLER
060584,000920:
060585,000921: # P-AXIS URGENCY FUNCTION CALCULATION.
060586,000922:
060587,000923: 16,3467 03452 PURGENCY TC CALCPERR # CALCULATE P-AXIS ERRORS.
060588,000924: 16,3470 41642 CS OMEGAPD # THIS CODING IS COMMON TO BOTH LM DAP AND
060589,000925: 16,3471 61421 AD OMEGAP # SPS-BACKUP MODE.
060590,000926: 16,3472 55427 TS EDOTP # EDOTP = OMEGAP - OMEGAPD AT PI/4 RAD/SEC
060591,000927:
060592,000928: 16,3473 44753 CS ONE
060593,000929: 16,3474 55505 TS AXISCTR
060594,000930: 16,3475 30111 CA DAPBOOLS
060595,000931: 16,3476 74737 MASK CSMDOCKD
060596,000932: 16,3477 00006 EXTEND
060597,000933: 16,3500 13511 BZF HEADTJET
060598,000934: 16,3501 00004 INHINT # IF CSMDOCKD = 1, GO TO DOCKED RCS LOGIC
060599,000935: 16,3502 04674 TC IBNKCALL
060600,000936: 16,3503 43736 CADR SPSRCS
060601,000937:
060602,000938: 16,3504 31524 CA TJP
060603,000939: 16,3505 00006 EXTEND
060604,000940: 16,3506 13445 BZF DKALT # IF TJP = ZERO, CHANGE AORBSYST.
060605,000941: 16,3507 00003 RELINT
060606,000942: 16,3510 13354 TCF PJETSLEC -6 # SELECT AORBSYST AND USE TWO JETS
060607,000943: 16,3511 34755 HEADTJET CA ZERO
060608,000944: 16,3512 55500 TS SENSETYP
060609,000945: 16,3513 00004 INHINT
060610,000946: 16,3514 04674 TC IBNKCALL
060611,000947: 16,3515 37304 CADR TJETLAW
060612,000948: 16,3516 00003 RELINT
![]() |
Page 1431 |
060614,000950: 16,3517 41740 CS FIREFCT
060615,000951: 16,3520 63534 AD -FOURDEG
060616,000952: 16,3521 00006 EXTEND
060617,000953: 16,3522 63354 BZMF PJETSLEC -6
060618,000954: 16,3523 11524 CCS TJP
060619,000955: 16,3524 13526 TCF +2
060620,000956: 16,3525 13446 TCF JETSOFF
060621,000957: 16,3526 63533 AD -160MST6
060622,000958: 16,3527 00006 EXTEND
060623,000959: 16,3530 63354 BZMF PJETSLEC -6
060624,000960: 16,3531 36245 CA SIX
060625,000961: 16,3532 13361 TCF PJETSLEC -1
060626,000962: 16,3533 77377 -160MST6 DEC -256 B-14
060627,000963: 16,3534 75117 -FOURDEG DEC -.08888
060628,000964:
![]() |
Page 1432 |
060630,000966: # JET POLICY CONSTRUCTION SUBROUTINE
060631,000967:
060632,000968: # INPUT: ROTINDEX, NUMBERT
060633,000969:
060634,000970: # OUTPUT: POLYTEMP (JET POLICY)
060635,000971:
060636,000972: # THIS SUBROUTINE SELECT A SUBSET OF THE DESIRED JETS WHICH HAS NO FAILURE
060637,000973:
060638,000974: 16,3535 36245 SELECTP CA SIX
060639,000975: 16,3536 55741 TS TEMPNUM
060640,000976: 16,3537 51742 INDEX NUMBERT
060641,000977: 16,3540 33567 CA TYPEP
060642,000978: 16,3541 51743 INDEX ROTINDEX
060643,000979: 16,3542 73560 MASK JETSALL
060644,000980: 16,3543 55740 TS POLYTEMP
060645,000981: 16,3544 71260 MASK CH6MASK
060646,000982: 16,3545 10000 CCS A
060647,000983: 16,3546 13550 TCF +2
060648,000984: 16,3547 00002 TC Q
060649,000985: 16,3550 11741 CCS TEMPNUM
060650,000986: 16,3551 13555 TCF +4
060651,000987: 16,3552 05567 TC ALARM
060652,000988: 16,3553 02003 OCT 02003
060653,000989: 16,3554 13446 TCF JETSOFF # *****TCF ALARMJET *********************
060654,000990: 16,3555 55742 SELECTYZ TS NUMBERT
060655,000991: 16,3556 13536 TCF SELECTP +1
060656,000992: 16,3557 12773 -1 TCF ABORTYZ +2
060657,000993: 16,3560 00252 JETSALL OCT 00252
060658,000994: 16,3561 00125 OCT 00125 # +P
060659,000995: 16,3562 00140 OCT 00140 # -Y
060660,000996: 16,3563 00006 OCT 00006 # -Z
060661,000997: 16,3564 00220 OCT 00220 # +Y
060662,000998: 16,3565 00011 OCT 00011 # +Z
060663,000999: 16,3566 00151 OCT 00151 # +V
060664,001000: 16,3567 00146 TYPEP OCT 00146 # -U
060665,001001: 16,3570 00226 OCT 00226 # -V
060666,001002: 16,3571 00231 OCT 00231 # +U
060667,001003: 16,3572 00151 OCT 00151 # +V
060668,001004: 16,3573 00132 OCT 00132 # 1-3
060669,001005: 16,3574 00245 OCT 00245 # 2-4
060670,001006: 16,3575 00377 OCT 00377 # ALL
060671,001007: 16,3576 16,3576 INDXYZ = -136MST6
060672,001008: 16,3576 77445 -136MST6 DEC -218 B-14
060673,001009: 16,3577 00004 DEC 4 B-14
060674,001010: 16,3600 00002 DEC 2 B-14
060675,001011: 16,3601 07776 OCT 07776
060676,001012: 16,3602 00005 DEC 5 B-14
060677,001013: 16,3603 00011 DEC 9 B-14
060678,001014: 16,3604 00012 DEC 10 B-14
060679,001015: 16,3605 07776 OCT 07776
060680,001016: 16,3606 00003 DEC 3 B-14
![]() |
Page 1433 |
060682,001018: 16,3607 00010 DEC 8 B-14
060683,001019: 16,3610 00007 DEC 7 B-14
060684,001020: 16,3611 07776 OCT 07776 # THESE INDEXES OF MASK JETSALL WILL
060685,001021: 16,3612 07776 OCT 07776 # CHANGE THE INSTRUCTION AT SELECTP +4
060686,001022: 16,3613 07776 OCT 07776 # TO BE TC JETSALL -1
060687,001023: 16,3614 07776 OCT 07776 # ONLY USED FOR TRANSLATION FAILURE
060688,001024: 16,3615 07776 OCT 07776
060689,001025: 16,3616 00360 +150MST6 DEC 240 B-14
060690,001026: 16,3617 07400 07400OCT OCT 07400
060691,001027:
060692,001028: # T-JET LAW FIXED CONSTANTS
060693,001029:
060694,001030: 16,3620 00266 NORMSCL OCT 266
060695,001031: 16,3621 74631 -100MS DEC -.1
060696,001032: 16,3622 06315 200MS DEC .2
060697,001033: 16,3623 7721 25/32 = PRIO31 # (DEC .78125)
060698,001034: 16,3623 00600 BITS8,9 OCTAL 00600
060699,001035: 16,3624 00632 1/40 DEC .02500
060700,001036: 16,3625 77751 MINTIMES DEC -22 B-14
060701,001037: 16,3626 00026 DEC 22 B-14
060702,001038: 16,3627 02734 PSKIPADR GENADR SKIPPAXS
060703,001039:
060704,001040: # GOES TO Q,R-AXES RCS AUTOPILOT
060705,001041:
060706,001042: 16,3630 41644 QRAXIS CS OMEGARD
060707,001043: 16,3631 61423 AD OMEGAR
060708,001044: 16,3632 02310 TC OVERSUB
060709,001045: 16,3633 55437 TS EDOTR
060710,001046: 16,3634 41643 CS OMEGAQD
060711,001047: 16,3635 61422 AD OMEGAQ
060712,001048: 16,3636 02310 TC OVERSUB
060713,001049: 16,3637 55436 TS EDOTQ
060714,001050: 16,3640 00006 EXTEND
060715,001051: 16,3641 33644 DCA QERRCALL
060716,001052: 16,3642 52006 DTCB
060717,001053:
060718,001054: 16,3643 E6,1536 EBANK= AOSQ
060719,001055: 16,3643 02124 36106 QERRCALL 2CADR CALLQERR
End of include-file P-AXIS_RCS_AUTOPILOT.agc. Parent file is MAIN.agc