Source Code
![]() |
These source-code files were transcribed from scans made from Don Eyles's personal
copy of BURST120 (SUNBURST 120). They were scanned at archive.org's Boston
facility, and the scanning was sponsored by Mike Stewart. The code was transcribed
from these scans by a team of volunteers who are referenced in the program
comments. Comments from the original source code are in ALL-CAPS, whereas
comments added later in transcription are in Mixed-Case. In some cases, where
similar code blocks exist in previously-transcribed AGC programs (primarily
Luminary 99, from Apollo 11) those code blocks were used as a starting point and
then corrected to agree with the BURST120 scans. The full scans are available
at the Virtual AGC
project's collection at archive.org, while more-convenient reduced-size (but reduced-quality)
images are available at
the main Virtual AGC website. Report any errors noted by creating an
issue report at the Virtual AGC
project's GitHub repository. Notations on the program listing read, in part:YUL SYSTEM FOR AGC: REVISION 0 OF PROGRAM BURST120 BY NASA 2021106-031 DEC 7, 1967 THIS LISTING IS A COPY OF A VERSION OF THE PROGRAM INTENDED FOR USE IN THE ON-BOARD PRIMARY GUIDANCE COMPUTER IN THE UNMANNED FLIGHT OF APOLLO LUNAR MODULE 1 --- THE AS206 MISSION.Note that the date is the date of the printout, not the date of the program revision. |
020444,000002: ## Copyright: Public domain.
020445,000003: ## Filename: P-AXIS_REACTION_CONTROL_SYSTEM_AUTOPILOT.agc
020446,000004: ## Purpose: A module for revision 0 of BURST120 (Sunburst). It
020447,000005: ## is part of the source code for the Lunar Module's
020448,000006: ## (LM) Apollo Guidance Computer (AGC) for Apollo 5.
020449,000007: ## Assembler: yaYUL
020450,000008: ## Contact: Ron Burkey <info@sandroid.org>.
020451,000009: ## Website: www.ibiblio.org/apollo/index.html
020452,000010: ## Mod history: 2016-09-30 RSB Created draft version.
020453,000011: ## 2016-10-24 RSB Transcribed through page 504.
020454,000012: ## 2016-10-28 RSB Finished transcribing.
020455,000013: ## 2016-10-31 RSB Typos.
020456,000014: ## 2016-11-01 RSB More typos.
020457,000015: ## 2016-12-05 RSB Comment-proofing with octopus/ProoferComments
020458,000016: ## completed, changes made.
020459,000017:
![]() |
Page 492 |
020461,000019: # THE FOLLOWING T5RUPT ENTRY BEGINS THE PROGRAM WHICH CONTROLS THE P-AXIS ACTION OF THE LEM USING THE RCS JETS.
020462,000020: # THE NOMINAL TIME BETWEEN THE P-AXIS RUPTS IS 100 MS IN ALL NON-IDLING MODES OF THE DAP.
020463,000021:
020464,000022: 16,2255 33754 PAXIS CAF TWENTYMS # RESET TIMER IMMEDIATELY - DT= 20 MS
020465,000023: 16,2256 54030 TS TIME5
020466,000024:
020467,000025: 16,2257 22016 LXCH BANKRUPT # INTERRUPT LEAD IN (CONTINUED)
020468,000026: 16,2260 00006 EXTEND
020469,000027: 16,2261 22012 QXCH QRUPT
020470,000028:
020471,000029: # CHECK TO SEE IF DAP IS STILL IN USE:
020472,000030:
020473,000031: 16,2262 02005 TC CHEKBITS # RETURN IS TO I+1 IF DAP SHOULD STAY ON.
020474,000032:
020475,000033: # WHILE DAP IS ON, SET UP EITHER A KALMAN FILTER RUPT OR A DUMMY FILTER RUPT BY SETTING UP T5ADR FROM ERASABLE.
020476,000034:
020477,000035: 16,2263 00006 EXTEND # T5ADR IS SET TO EITHER FILTER OR
020478,000036: 16,2264 31573 DCA PFILTADR # DUMMYFIL IN A BLIND MANNER SINCE
020479,000037: # PFILTADR IS SET UP ELSEWHERE
020480,000038:
020481,000039: # START CODING FOR MODULE 3 REMAKE, AUGUST 1967***START CODING FOR MODULE 3 REMAKE, AUGUST 1967*******************
020482,000040:
020483,000041: 16,2265 12406 INSRT16A TCF PAXISCNT # GO DECREMENT COUNTERS.
020484,000042:
020485,000043: # **END CODING FOR MODULE 3 REMAKE, AUGUST 1967*****END CODING FOR MODULE 3 REMAKE, AUGUST 1967*******************
020486,000044:
020487,000045: # ***** KALCMANU-DAP AND "RATE-HOLD"-DAP INTERFACE *****
020488,000046:
020489,000047: # THE FOLLOWING SECTION IS EXECUTED EVERY 100 MS (10 TIMES A SECOND) WITHIN THE P-AXIS REACTION CONTROL SYSTEM
020490,000048: # AUTOPILOT (WHENEVER THE DAP IS IN OPERATION).
020491,000049:
020492,000050: 16,2266 37762 CAF TWO # SET UP LOOP TO DO Z,Y,X CDU AXES:
020493,000051: 16,2267 54066 KALCLOOP TS QRCNTR
020494,000052:
020495,000053: 16,2270 50066 INDEX QRCNTR # KALCMANU AND RATE-HOLD USE THIS SECTI
020496,000054: 16,2271 30766 CAE CDUXD # TO PERFORM THEIR INDEPENDENT FUNCTION
020497,000055: 16,2272 00006 EXTEND # BOTH PROCEDURES SET UP THE DELCUD'S
020498,000056: 16,2273 50066 INDEX QRCNTR # TO HAVE THE NEGATIVE VALUE OF THE
020499,000057: 16,2274 20771 MSU DELCDUX # DESIRED CDU CHANGE FOR EACH 100 MS CS
020500,000058: 16,2275 10000 CCS A # DURING THE MANEUVER (OR MODE). EACH
020501,000059: 16,2276 67763 AD ONE # STORED AT PI RADIANS IN 2'S COMPLEMEN
020502,000060: 16,2277 12301 TCF +2 # SINCE THE MODULAR SUBTRACT YIELDS THE
020503,000061: 16,2300 40000 COM # NEW CDUD VALUE IN 1'S COMPLEMENT, THE
020504,000062: 16,2301 50066 INDEX QRCNTR # CCS SECTION IS NEEDED FOR 1'S TO 2'S
020505,000063: 16,2302 54766 TS CDUXD # CONVERSION OF DESIRED CDU ANGLES.
020506,000064:
020507,000065: 16,2303 10066 CCS QRCNTR # (THIS MAKES THE LOOP DO ALL THREE
![]() |
Page 493 |
020509,000067: 16,2304 12267 TCF KALCLOOP # AXES. A = QRCNTR. DO NEXT DELCDU.
020510,000068: # DO P AXIS RATE DERIVATION AND CONTROL LAW.
020511,000069: # DERIVE DELTA P.
020512,000070:
020513,000071: 16,2305 37767 CA ZERO
020514,000072: 16,2306 54061 TS ITEMP1
020515,000073: 16,2307 31611 CAE TP
020516,000074: 16,2310 63566 AD NEGCSP1
020517,000075: 16,2311 00006 EXTEND
020518,000076: 16,2312 62316 BZMF DOTORQUE
020519,000077: 16,2313 54061 TS ITEMP1
020520,000078: 16,2314 33603 CA CSPAT1P
020521,000079: 16,2315 12324 TCF SCALEDTP
020522,000080: 16,2316 31611 DOTORQUE CA TP
020523,000081: 16,2317 00006 EXTEND
020524,000082: 16,2320 77757 MP BIT5
020525,000083: 16,2321 30001 CAE L
020526,000084: 16,2322 00006 EXTEND
020527,000085: 16,2323 73571 MP 16/25
020528,000086: 16,2324 55611 SCALEDTP TS TP
020529,000087: 16,2325 00006 EXTEND
020530,000088: 16,2326 71640 MP WFORP
020531,000089: 16,2327 61643 AD (1-K)/8
020532,000090: 16,2330 00006 EXTEND
020533,000091: 16,2331 71611 MP TP
020534,000092: 16,2332 00006 EXTEND
020535,000093: 16,2333 77760 MP BIT4
020536,000094: 16,2334 31613 CA 1JACC
020537,000095: 16,2335 00006 EXTEND
020538,000096: 16,2336 70001 MP L
020539,000097: 16,2337 00006 EXTEND
020540,000098: 16,2340 71657 MP NO.PJETS
020541,000099: 16,2341 23604 LXCH JETRATE
020542,000100: 16,2342 30061 CA ITEMP1
020543,000101: 16,2343 55611 TS TP
020544,000102:
020545,000103: 16,2344 30032 CAE CDUX
020546,000104: 16,2345 54001 TS L
020547,000105: 16,2346 00006 EXTEND
020548,000106: 16,2347 21425 MSU OLDXFORP # SCALED AT PI
020549,000107: 16,2350 23425 LXCH OLDXFORP
020550,000108: 16,2351 22007 ZL
020551,000109: 16,2352 52063 DXCH DELTAP
020552,000110: 16,2353 37753 CAF BIT9
020553,000111: 16,2354 54002 TS Q
020554,000112: 16,2355 30033 CA CDUY
020555,000113: 16,2356 54001 TS L
020556,000114: 16,2357 00006 EXTEND
020557,000115: 16,2360 21426 MSU OLDYFORP # SCALED AT PI
020558,000116: 16,2361 23426 LXCH OLDYFORP
![]() |
Page 494 |
020560,000118: 16,2362 00006 EXTEND
020561,000119: 16,2363 71404 MP M11 # M11 SCALED AT 1
020562,000120: 16,2364 20063 DAS DELTAP
020563,000121: 16,2365 00006 EXTEND
020564,000122: 16,2366 30063 DCA DELTAP
020565,000123: 16,2367 00006 EXTEND
020566,000124: 16,2370 10002 DV Q # NOW SCALED AT PI/64
020567,000125: 16,2371 00006 EXTEND
020568,000126: 16,2372 71640 MP WFORP # SCALED AT 2(4)=16, RESULT IN A AT PI/4.
020569,000127: 16,2373 57415 XCH OMEGAP # W*DELTAP IN OMEGAP LOC. OLD OMEGAP IN A.
020570,000128: 16,2374 00006 EXTEND
020571,000129: 16,2375 71642 MP (1-K) # SCALED AT 1
020572,000130: 16,2376 61604 AD JETRATE # RATE DUE TO JETS TORQUING.
020573,000131: 16,2377 27415 ADS OMEGAP # PRATE= WFORP*DELTAP+ALPHA*LAST-PRATE+TPF
020574,000132: 16,2400 01652 PAXFILT TC PJUMPADR
020575,000133: 16,2401 32240 SKIPPAXS CA VISNORMQ
020576,000134: 16,2402 55652 TS PJUMPADR
020577,000135: 16,2403 15733 TCF RESUME
020578,000136:
020579,000137: 16,2404 06013 CHKVISFZ TC T6JOBCHK # CHECK FOR T6 RUPT.
020580,000138:
020581,000139: 16,2405 12777 TCF PURGENCY # NO RHC INPUTS ON 206
020582,000140:
020583,000141: # START CODING FOR MODULE 3 REMAKE, AUGUST 1967***START CODING FOR MODULE 3 REMAKE, AUGUST 1967*******************
020584,000142:
020585,000143: # FROM P-AXIS-
020586,000144: # 1. COUNT DOWN GIMBAL DRIVE TIMES.
020587,000145: # 2. END DRIVES WHEN APPROPRIATE.
020588,000146: # 3. COUNT DOWN TIME FOR FORCED GTS JUST BEFORE THROTTLE-UP.
020589,000147:
020590,000148: 16,2406 53001 PAXISCNT DXCH T5ADR # (PRESERVE OLD CODING)
020591,000149:
020592,000150: 16,2407 11764 CCS SIMPCNTR # COUNT DOWN SIMPCNTR TO +0. DECISECONDS
020593,000151: 16,2410 55764 TS SIMPCNTR
020594,000152:
020595,000153: 16,2411 11753 CCS QGIMTIMR # Q-AXIS GIMBAL DRIVE TIMER-
020596,000154: 16,2412 12427 TCF DECQTIMR # POSITIVE- COUNTING DOWN
020597,000155: 16,2413 12433 TCF TURNOFFQ # POS ZERO- DRIVE SHOULD BE ENDED
020598,000156: 16,2414 11754 CHKRTIMR CCS RGIMTIMR # NEGATIVE- INACTIVE
020599,000157: 16,2415 12431 TCF DECRTIMR # NEG ZERO- IMPOSSIBLE
020600,000158: 16,2416 12443 TCF TURNOFFR # REPEATED FOR R-AXIS (ABOVE).
020601,000159:
020602,000160: 16,2417 11744 CKTRMCTR CCS TRIMCNTR # COUNT DOWN FOR FORCED GTS ENTRY.
020603,000161: 16,2420 12424 TCF +4 # POSITIVE- COUNTING DOWN
020604,000162: 16,2421 04736 TC CCSHOLE # POS ZERO-IMPOSSIBLE
020605,000163: 16,2422 12566 TCF CHKSMART # NEGATIVE- INACTIVE- RETURN
020606,000164: 16,2423 12566 TCF CHKSMART # NEG ZERO- THIS VALUE UNTIL DRIVE DONE.
020607,000165: 16,2424 37771 CAF NEGONE
020608,000166: 16,2425 27744 ADS TRIMCNTR # COUNT TRIMCNTR DOWN TO NEG ZERO.
020609,000167: 16,2426 12566 TCF CHKSMART
020610,000168:
![]() |
Page 495 |
020612,000170: 16,2427 55753 DECQTIMR TS QGIMTIMR # COUNT QGIMTIMR DOWN TO POS ZERO.
020613,000171: 16,2430 12414 TCF CHKRTIMR
020614,000172: 16,2431 55754 DECRTIMR TS RGIMTIMR # COUNT RGIMTIMR DOWN TO POS ZERO.
020615,000173: 16,2432 12417 TCF CKTRMCTR
020616,000174:
020617,000175: 16,2433 55523 TURNOFFQ TS NEGUQ # REWRITE GIMBAL-DRIVE BITS TO HALT 0.
020618,000176: 16,2434 55533 TS QACCDOT
020619,000177: 16,2435 42453 CS QGIMBITS
020620,000178: 16,2436 00006 EXTEND
020621,000179: 16,2437 03012 WAND 12
020622,000180: 16,2440 37745 CAF NEGMAX
020623,000181: 16,2441 55753 TS QGIMTIMR # DEACITIVATE TIMER.
020624,000182: 16,2442 12414 TCF CHKRTIMR
020625,000183: 16,2443 55525 TURNOFFR TS NEGUR # REWRITE GIMBAL DRIVE BITS TO HALT R.
020626,000184: 16,2444 55535 TS RACCDOT
020627,000185: 16,2445 42454 CS RGIMBITS
020628,000186: 16,2446 00006 EXTEND
020629,000187: 16,2447 03012 WAND 12
020630,000188: 16,2450 37745 CAF NEGMAX
020631,000189: 16,2451 55754 TS RGIMTIMR # DEACTIVATE TIMER.
020632,000190: 16,2452 12417 TCF CKTRMCTR
020633,000191: 16,2453 01400 QGIMBITS OCTAL 01400
020634,000192: 16,2454 06000 RGIMBITS OCTAL 06000
020635,000193:
020636,000194: # FROM STARTDAP- RESTART PROTECT THE CHANNEL 11 ENGINE-ON BIT AND THE CHANNEL 12 GIMBAL-DRIVE BITS.
020637,000195:
020638,000196: 16,2455 55643 PROTCTOR TS (1-K)/8 # (OLD CODING)
020639,000197:
020640,000198: 16,2456 30075 CAE FLAGWRD1
020641,000199: 16,2457 77757 MASK ENGINBIT
020642,000200: 16,2460 00006 EXTEND
020643,000201: 16,2461 12102 BZF INSRT16B +1 # RETURN TO STARTDAP IF ENGINE SHOULD BE
020644,000202: # OFF.
020645,000203: 16,2462 37747 CAF BIT13 # OTHERWISE-
020646,000204: 16,2463 00006 EXTEND
020647,000205: 16,2464 05011 WOR 11 # RESET ENGINE-ON BIT.
020648,000206: 16,2465 41753 CS QGIMTIMR
020649,000207: 16,2466 00006 EXTEND
020650,000208: 16,2467 62472 BZMF +3 # BRANCH IF Q-DRIVE TIMER ACTIVE.
020651,000209: 16,2470 37767 CAF ZERO # OTHERWISE ZERO NEGUQ.
020652,000210: 16,2471 55523 TS NEGUQ
020653,000211: 16,2472 41754 CS RGIMTIMR # REPEAT FOR R-DRIVE.
020654,000212: 16,2473 00006 EXTEND
020655,000213: 16,2474 62477 BZMF +3
020656,000214: 16,2475 37767 CAF ZERO
020657,000215: 16,2476 55525 TS NEGUR
020658,000216: 16,2477 05270 TC IBNKCALL # SET UP DRIVES ACCORDING TO NEGUS.
020659,000217: 16,2500 43243 FCADR WRCHN12
020660,000218: 16,2501 12102 TCF INSRT16B +1 # RETURN TO OLD CODING.
020661,000219:
![]() |
Page 496 |
020663,000221: 16,2502 37756 NODAPNO CAF ULLAGER
020664,000222: 16,2503 70077 MASK DAPBOOLS
020665,000223: 16,2504 00006 EXTEND
020666,000224: 16,2505 12521 BZF ZEROFIVE
020667,000225: 16,2506 40764 CS PHASENUM # ULLAGE BIT IS SET.PROTECT MP7 +X COMMAND
020668,000226: 16,2507 67765 AD SEVEN
020669,000227: 16,2510 00006 EXTEND
020670,000228: 16,2511 12513 BZF PROTCT+X
020671,000229: 16,2512 12516 TCF LEAVASIS # THIS IS NOT MP7. THIS IS NOT COLD PURGE.
020672,000230: 16,2513 32523 PROTCT+X CAF +XJETS
020673,000231: 16,2514 00006 TWINEXIT EXTEND
020674,000232: 16,2515 01005 WRITE 5
020675,000233:
020676,000234: 16,2516 33567 LEAVASIS CAF MS30P
020677,000235: 16,2517 54030 TS TIME5
020678,000236: 16,2520 15733 TCF RESUME
020679,000237:
020680,000238: 16,2521 37767 ZEROFIVE CAF ZERO
020681,000239: 16,2522 12514 TCF TWINEXIT
020682,000240:
020683,000241: 16,2523 00252 +XJETS OCT 00252
020684,000242:
020685,000243: 16,2524 00006 ADDLT5ID EXTEND # (ARRIVE WITH BIT 11 IN A, FROM T5IDLERI)
020686,000244: 16,2525 02011 RAND DSALMOUT
020687,000245: 16,2526 10000 CCS A
020688,000246: 16,2527 12544 TCF MORET5ID # SMARTJOB IS ALREADY RUNNING. NO ACTION.
020689,000247:
020690,000248: 16,2530 11355 CCS SMODE # NOT RUNNING. SEE IF SELFCHECK WANTED.
020691,000249: 16,2531 12544 TCF MORET5ID # SELFCHECK IS ON, SO DON'T RUN SMARTJOB.
020692,000250: 16,2532 12535 TCF GETSMART # SELFCHECK IS OFF, SO START SMARTJOB.
020693,000251: 16,2533 12544 TCF MORET5ID # SELFCHECK IS ON, SO DON'T RUN SMARTJOB.
020694,000252: 16,2534 12544 TCF MORET5ID # SELFCHECK IS ON, SO DON'T RUN SMARTJOB.
020695,000253:
020696,000254: 16,2535 37752 GETSMART CAF PRIO1
020697,000255: 16,2536 05505 TC NOVAC
020698,000256: 16,2537 0377 EBANK= SMARTFLG
020699,000257: 16,2537 02551 34060 2CADR SMARTJOB
020700,000258:
020701,000259: 16,2541 37751 CAF BIT11 # SET THE SMARTJOB-RUNNING FLAG.
020702,000260: 16,2542 00006 EXTEND
020703,000261: 16,2543 05011 WOR DSALMOUT
020704,000262:
020705,000263: 16,2544 37751 MORET5ID CAF GODAPGO
020706,000264: 16,2545 70077 MASK DAPBOOLS
020707,000265: 16,2546 00006 EXTEND # NODAPNO WILL STOP COLD FIRE PURGE AND
020708,000266: 16,2547 12502 BZF NODAPNO # RESTART-PROTECT MP 7 +X TRANSLATION.
020709,000267:
020710,000268: 16,2550 12042 TCF DAPIDLEI # GODAPGO IS ON, SO RUN DAPIDLER NOW.
020711,000269:
![]() |
Page 497 |
020713,000271: # SMARTJOB IS A DUMMYJOB-LIKE FUNCTION DESIGNED TO ABSORB IDLE TIME. IT CAUSES THE COMPUTER-ACTIVITY LAMP TO
020714,000272: # REMAIN ON, AND PREVENTS THE EXISTENCE OF A JOB SLEEPING IN TH ELOWEST NUMBERED CORE SET. IT IS PREVENTED FROM
020715,000273: # STARTING, OR MADE TO TERMINATE IF ALREADY RUNNING, BY MAKING SMARTFLG CONTAIN ANY NEGATIVE VALUE OR ZERO, OR
020716,000274: # BY MAKING SMODE (THE SELFCHECK CONTROL REGISTER) UNEQUAL TO +0.
020717,000275:
020718,000276: 16,2551 10067 SMARTJOB CCS NEWJOB # ANY HIGHER PRIORITY JOB WAITING?
020719,000277: 16,2552 05532 TC CHANG1 # YES. GO DO IT.
020720,000278:
020721,000279: 16,2553 30377 CA SMARTFLG # NO. SHOULD SMARTJOB TERMINATE?
020722,000280: 16,2554 00006 EXTEND
020723,000281: 16,2555 62562 BZMF STOPSMRT # YES. GO KILL IT.
020724,000282:
020725,000283: 16,2556 11355 CCS SMODE # MAYBE NOT. SEE IF SELFCHECK WANTED.
020726,000284: 16,2557 12562 TCF STOPSMRT # WANTED. TERMINATE SMARTJOB.
020727,000285: 16,2560 12551 TCF SMARTJOB # NOT WANTED. CONTINUE SMARTJOB.
020728,000286: 16,2561 12562 NOOP # WANTED. TERMINATE SMARTJOB.
020729,000287: 16,2562 47751 STOPSMRT CS BIT11 # TERMINATE SMARTJOB.
020730,000288: 16,2563 00006 EXTEND # FIRST, TURN THE SMARTJOB-RUNNING FLAG
020731,000289: 16,2564 03011 WAND DSALMOUT # OFF.
020732,000290:
020733,000291: 16,2565 15567 TCF ENDOFJOB # THEN KILL JOB.
020734,000292:
020735,000293: 16,2566 30377 CHKSMART CA SMARTFLG # IS SMARTJOB DESIRED?
020736,000294: 16,2567 00006 EXTEND
020737,000295: 16,2570 62266 BZMF INSRT16A +1 # NO. TAKE NO ACTION.
020738,000296:
020739,000297: 16,2571 37751 CAF BIT11 # YES. SEE IF IT IS ALREADY RUNNING.
020740,000298: 16,2572 00006 EXTEND
020741,000299: 16,2573 02011 RAND DSALMOUT
020742,000300: 16,2574 10000 CCS A
020743,000301: 16,2575 12266 TCF INSRT16A +1 # SMARTJOB IS ALREADY RUNNING. NO ACTION.
020744,000302:
020745,000303: 16,2576 11355 CCS SMODE # NOT RUNNING. SEE IF SELFCHECK WANTED.
020746,000304: 16,2577 12266 TCF INSRT16A +1 # SELFCHECK IS ON, SO DON'T RUN SMARTJOB.
020747,000305: 16,2600 12603 TCF SETSMART # SELFCHECK IS OFF, SO START SMARTJOB.
020748,000306: 16,2601 12266 TCF INSRT16A +1 # SELFCHECK IS ON, SO DON'T RUN SMARTJOB.
020749,000307: 16,2602 12266 TCF INSRT16A +1 # DITTO.
020750,000308:
020751,000309: 16,2603 37752 SETSMART CAF PRIO1
020752,000310: 16,2604 05505 TC NOVAC
020753,000311: 16,2605 0377 EBANK= SMARTFLG
020754,000312: 16,2605 02551 34060 2CADR SMARTJOB
020755,000313:
020756,000314: 16,2607 37751 CAF BIT11 # SET THE SMARTJOB-RUNNING FLAG.
020757,000315: 16,2610 00006 EXTEND
020758,000316: 16,2611 05011 WOR DSALMOUT
020759,000317:
020760,000318: 16,2612 12266 TCF INSRT16A +1 # RETURN TO PAXIS.
020761,000319:
020762,000320: # **END CODING FOR MODULE 3 REMAKE, AUGUST 1967**** END CODING FOR MODULE 3 REMAKE, AUGUST 1967*******************
020763,000321:
![]() |
Page 498 |
020765,000323: # THE FOLLOWING CODING IS LEFT IN PLACE TO PRESERVE ADDRESSES.
020766,000324:
020767,000325: 16,2613 00006 EXTEND
020768,000326: 16,2614 77761 MP BIT3 # ENOUGH FOR 4 JETS
020769,000327: 16,2615 30001 CAE L
020770,000328: 16,2616 00006 EXTEND
020771,000329: 16,2617 73576 MP 25/32 # A CONTAINS TJET SCALED AT 2EXP(4)(16/25)
020772,000330: 16,2620 55611 TS TP
020773,000331: 16,2621 55475 TS TOFJTCHG
020774,000332:
020775,000333: 16,2622 31462 CAE PRATEDIF # TEST WHETHER 2 OR 4 JETS TO BE USED BY
020776,000334: 16,2623 61500 AD -2JETLIM # COMPARING DELTA RATE WITH 2 JET LIMIT
020777,000335: 16,2624 00006 EXTEND
020778,000336: 16,2625 62631 BZMF +4 # IF NEGATIVE, 2 JETS ARE ENOUGH
020779,000337:
020780,000338: 16,2626 37743 CAF POSMAX # POSITIVE, NON-ZERO. PUT POSMAX IN NJET
020781,000339: 16,2627 55461 TS NJET
020782,000340: 16,2630 12642 TCF PJETSLEC # AND GO SELECT GOOD POLICY
020783,000341:
020784,000342: 16,2631 37745 CAF NEGMAX # 2 JETS, PUT NEGMAX IN NJET.
020785,000343: 16,2632 55461 TS NJET
020786,000344: 16,2633 31611 CAE TP # DOUBLE TP.
020787,000345: 16,2634 60000 DOUBLE
020788,000346: 16,2635 55611 TS TP # AND GO CHECK MINIMUM IMPULSE
020789,000347:
020790,000348: # ........................................................................
020791,000349: # CHECK RATE COMMAND ON TIME AGAINST MINIMUM IMPULSE
020792,000350: 16,2636 55475 TS TOFJTCHG
020793,000351: 16,2637 63577 AD -TJMINT6
020794,000352: 16,2640 00006 EXTEND # AS TP. TEST JET TIME. IS IT GREATER OR
020795,000353: 16,2641 62772 BZMF JETSOFF # LESS THAN A MINIMUM IMPULSE
020796,000354: # ........................................................................
020797,000355:
![]() |
Page 499 |
020799,000357: # PROGRAM NAME: PJETSLEC DATE: DECEMBER 9, 1966
020800,000358:
020801,000359: # MODIFICATION 2 TO SUNBURST REVISION 58 ON DECEMBER 30, 1966 BY JOHN BLISS(ADAMS ASSOCIATES) RM 7-286, X183
020802,000360:
020803,000361: # LOG SECTION: P-AXIS REACTION CONTROL SYSTEM AUTOPILOT -- FIRST PUT INTO SUNBURST(III) REVISION 29
020804,000362:
020805,000363:
020806,000364: # FUNCTIONAL DESCRIPTION:
020807,000365:
020808,000366: # THE OBJECT OF PJETSLEC IS TO CHOOSE THE BEST JET POLICY WHOSE NECESSARY JETS HAVE NOT BEEN RECORDED AS
020809,000367: # FAILED IN THE CH6MASK REGISTER. THE CONDITIONS ON SELECTION ARE THE NUMBER OF JETS REQUESTED(2 OR 4), THE
020810,000368: # SENSE OF P-AXIS ROTATION REQUIRED(+/-), AND ALTERNATING USE OF DIAGONAL FORCE-COUPLED PAIRS OF JETS.
020811,000369:
020812,000370: # PJETSLEC FIRST READS CHANNEL 6 TO SEE IF THE JETS ARE CURRENTLY FIRING. IF THEY ARE OFF, THE DIAGONAL JETS
020813,000371: # ARE SWITCHED TO COMPLY WITH THE ALTERNATION CONDITION, AS THERE IS NO DANGER OF SWITCHING ONE OFF AND THE OTHER
020814,000372: # ON IN RAPID SUCCESSION. AFTER SWITCHING THE DIAGONALS, OR IF THE JETS ARE ON, 6.5 MS IS ADDED TO THE JET
020815,000373: # FIRING TIME, TOFJTCHG, TO ALLOW FOR DELAY IN TURNING ON THE JETS OR IN CASE THE CURRENT POLICY HAS SUFFERED A
020816,000374: # JET FAILURE AND JUST BE REPLACED. HOWEVER, IF THE SAME JET POLICY IS SELECTED, THE FACT WILL BE DETECTED BEFORE
020817,000375: # THE POLICY IS WRITTEN INTO CHANNEL 6, THE UNNECESSARY 6.5MS DELAY TIME WILL BE DEDUCTED FROM TOFJTCHG. THE TIME
020818,000376: # OF CALCULATION, 5MS, IS SUBTRACTED AT THE SAME TIME IN THE COMBINED CONSTANT, -COM-6.5 = -11.5MS. NOTE THAT IN
020819,000377: # CASE JET FAILURE REQUIRES SELECTION OF A NEW POLICY, TOFJTCHG IS NOT MODIFIED BY -5MS, AND SO THERE WILL BE AN
020820,000378: # OVERSHOOT OF 5MS OF JET FIRING.
020821,000379:
020822,000380: # NEXT, THE SENSE OF P-AXIS ROTATION(ROLL) IS TESTED, TO DETERMINE WHICH SET OF JET POLICIES MUST BE INDEXED.
020823,000381:
020824,000382: # IF THE P-AXIS IS +, REL = 7, IF -, REL = 0,. NJET IS TESTED NEXT; IF POSMAX, 4 JETS DESIRED, REL = REL + 6,
020825,000383: # CTR = 6. IF NEGMAX, 2 JETS DESIRED, REL = REL + 5, CTR = 5. IF 4 JETS DESIRED, GO TO POLICY TESTING LOOP
020826,000384: # WITHOUT TESTING TO SEE WHICH DIAGONAL PAIR IS PREFERRED THIS TIME.
020827,000385:
020828,000386: # IF 2 JETS ARE DESIRED, SEE WHETHER NO. 2 PAIR IS PREFERRED. IF IT IS, TEST IT FIRST AND USE IT IF IT'S OK.
020829,000387: # IF IT HAS FAILED, GO TO THE TEST LOOP TO TEST THE POLICIES IN ORDER. IF NO. 1 POLICY IS PREFERRED, GO DIRECTLY
020830,000388: # TO THE TEST LOOP.
020831,000389:
020832,000390: # THE TEST LOOP USES REL TO PICK UP THE NEXT POLICY IN PPOLTABL AND CTR TO KEEP TRACK OF THE NUMBER OF
020833,000391: # POLICIES(1-7) TESTED. WHEN A GOOD POLICY IS FOUND, IT IS WRITTEN INTO CHANNEL 6, OTHERWISE THE NEXT POLICY IS
020834,000392: # TRIED. IF NO GOOD POLICIES ARE FOUND, CONTROL GOES TO ABORTJET TO TURN OFF THE JETS AND THE DAP.
020835,000393:
020836,000394: # WHEN A GOOD POLICY IS FOUND, CONTROL TRANSFERS TO WRITEPOL. THERE, THE SELECTED POLICY IS COMPARED TO THE
020837,000395: # CURRENT POLICY IN CHANNEL 6. IF THEY ARE NOT THE SAME, EITHER THE JETS HAVE NOT BEEN ON, OR A JET FAILED IN THE
020838,000396: # CURRENT POLICY. IN EITHER CASE, TOFJTCHG HAS ALREADY BEEN INCREASED BY THE 6.5MS JET FIRE DELAY. AS DESCRIBED
020839,000397: # ABOVE, HOWEVER, THE EFFECT OF THE OLD POLICY FIRING DURING THE COMPUTATION IS NOT TAKEN INTO ACCOUNT. THIS IS
020840,000398: # CONSIDERED SAFER, SINCE OTHERWISE, A TOFJTCHG ALREADY CALCULATED NEAR THE MINIMUM IMPULSE TIME MIGHT BE REDUCED
020841,000399: # TO LESS THAN 14MS AND THE RESULT WOULD BE THE EXPLOSION OF THE JETS.
020842,000400:
020843,000401: # IF THE JET POLICY IS THE SAME AS THE LAST ONE, THE 6.5MS DELAY TIME IS DEDUCTED FROM TOFJTCHG, AND IN ANY
020844,000402: # CASE, THE POLICY IS WRITTEN INTO CHANNEL 6, +/-2/4 IS STORED IN NO-PJETS, AND BIT9 IS PUT INTO JTSATCHG TO CAUSE
020845,000403: # THE P-AXIS JETS TO BE TURNED OFF ON THE NEXT T6RUPT. CONTROL THEN TRANSFERS TO SKIPTEST.
020846,000404:
020847,000405: # CALLING SEQUENCES: NONE SUBROUTINES CALLED:
020848,000406:
![]() |
Page 500 |
020850,000408: # WRITEP - WRITES C(A). THE
020851,000409: # SELECTED JET POLICY, INTO
020852,000410: # CHANNEL 6
020853,000411:
020854,000412: # NORMAL EXIT MODES: ALARM OR ABORT EXIT MODES:
020855,000413:
020856,000414: # TCF SKIPTEST EXTEND
020857,000415: # DCA ABORTADR
020858,000416: # DTCB
020859,000417:
020860,000418: # EBANK= JTSONNOW
020861,000419: # ABORTADR 2CADR ABORTJET
020862,000420:
020863,000421: # THIS SEQUENCE IS FOLLOWED
020864,000422: # IF NONE OF THE POLICIES IS
020865,000423: # WITHOUT JET FAILURES
020866,000424:
020867,000425: # ERASABLE INITIALIZATION REQUIRED
020868,000426:
020869,000427: # TP = ) TIME PERIOD OF JET FIRING
020870,000428: # TOFJTCHG = ) AT T6 SCALING, 625 MICROSECONDS PER BIT
020871,000429: # NJET = 37777, 40000, DEPENDING ON WHETHER 4 OR 2 JETS DESIRED
020872,000430: # TJETSIGN = +/-00001, DEPENDING ON DESIRED SENSE OF P-AXIS ROTATION
020873,000431: # CH6MASK = BITS 1-8 INDICATE WHETHER CORRESPONDING JETS HAVE FAILED - BIT ON IS FAILURE, BIT OFF IS OK.
020874,000432: # DAPBOOLS,BIT5(AORBSYST) =0/1, DEPENDING UPON WHETHER DIAGONAL 1 OR DIAGONAL 2 WAS PREFERRED DURING LAST PASS
020875,000433:
020876,000434: # OUTPUT:
020877,000435:
020878,000436: # CHANNEL 6 - CONTAINS SELECTED JET POLICY UNLESS NONE IS AVAILABLE
020879,000437: # NO.PJETS - +/-2/4, SENSE OF P-AXIS ROTATION AND NUMBER OF JETS USED
020880,000438: # BY POLICY ACTUALLY SELECTED(MAY NOT = 4 IF 4 JETS RE-
020881,000439: # QUESTED BUT ONE OR MORE JETS FAILED)
020882,000440: # TOFJTCHG - MODIFIED BY -5MS OR +6.5MS OR NEITHER, DEPENDING ON WHETHER THE JETS WERE ON, AND WHETHER THE
020883,000441: # NEW POLICY IS A CHANGE FROM THE OLD OR NOT.
020884,000442: # DAPBOOLS, BIT5(AORBSYST) = 1/0, IF THE INPUT VALUE WAS 0/1, UNLESS JETS WERE ON WHEN PJETSLEC STARTED.
020885,000443:
020886,000444: # JTSATCHG - = BIT9, UNLESS NO POLICIES AVAILABLE
020887,000445:
020888,000446: # NJET, TP, TJETSIGN, AND CH6MASK NOT CHANGED BY PJETSLEC
020889,000447:
020890,000448: # REL AND CTR ARE LEFT AT THEIR LAST VALUES WHEN THE GOOD POLICY WAS
020891,000449: # FOUND
020892,000450:
020893,000451: # DEBRIS:
020894,000452:
020895,000453: # REL = ITEMP5
020896,000454: # CTR = ITEMP6
020897,000455: # A,L,Q
020898,000456:
020899,000457: 16,2642 00006 PJETSLEC EXTEND # BEGIN JET SELECT ROUTINE BY SEEING WHE-
![]() |
Page 501 |
020901,000459: 16,2643 00006 READ 6 # THER THE JETS ARE TURNED ON(CHANNEL 6
020902,000460: 16,2644 10000 CCS A # NON-ZERO)
020903,000461: 16,2645 12653 TCF ADDELAY # JETS ON, DON'T SWITCH DIAGONALS.
020904,000462:
020905,000463: 16,2646 37757 CAF AORBSYST # JETS NOT ON NOW, START BY SWITCHING BIT5
020906,000464: 16,2647 22077 LXCH DAPBOOLS # IN DAPBOOLS
020907,000465: 16,2650 00006 EXTEND # BIT5 ON - DIAGONAL JETS 15, 7 AND 8, 16
020908,000466: 16,2651 06001 RXOR L
020909,000467: 16,2652 54077 TS DAPBOOLS # BIT5 OFF - DIAGONAL JETS 4, 12 AND 3, 11
020910,000468:
020911,000469: 16,2653 33565 ADDELAY CAF 14-TJMIN # ADD DELAY TIME BECAUSE JETS USUALLY OFF
020912,000470: 16,2654 27475 ADS TOFJTCHG # AND EASIER IF JET POLICY NOW HAS FAILED.
020913,000471:
020914,000472: 16,2655 37767 CAF ZERO # BEFORE TESTING P-AXIS SIGN.
020915,000473: 16,2656 54065 TS REL # INITIALIZE ADDRESSING INDEX AT ZERO
020916,000474: 16,2657 11434 CCS TJETSIGN # TEST DIRECTION OF P-AXIS ROTATION(ROLL)
020917,000475: 16,2660 37765 CAF SEVEN # IF POSITIVE, GET POLICY FROM LOWER SEVEN
020918,000476: 16,2661 26065 ADS REL # LOCATIONS OF TABLE
020919,000477:
020920,000478: 16,2662 11461 CCS NJET # SET IF 4-JET POLICY IS REQUESTED
020921,000479: 16,2663 36306 CAF SIX # IT IS, PICK UP 6 FOR REL AND CTR
020922,000480: 16,2664 12705 TCF FOURJETS # AND GO STORE THEM
020923,000481: 16,2665 37766 CAF FIVE # 2 JETS ONLY REQUESTED, PICK UP 5, STORE
020924,000482: 16,2666 54066 TS CTR # IN CTR AND ADD TO REL.
020925,000483: 16,2667 26065 ADS REL
020926,000484: 16,2670 40077 CS DAPBOOLS # CHECK BIT5 IN DAPBOOLS TO SEE WHICH PAIR
020927,000485: 16,2671 77757 MASK AORBSYST # OF DIAGONAL JETS SHOULD BE USED NEXT
020928,000486: 16,2672 10000 CCS A
020929,000487: 16,2673 12710 TCF TESTPOL # FIRST PAIR, SO GO TO TESTING LOOP NOW
020930,000488:
020931,000489: 16,2674 00006 EXTEND # SECOND PAIR, DECREMENT REL TO 4 OR 11.
020932,000490: 16,2675 26065 DIM REL
020933,000491: 16,2676 50065 INDEX REL # PICK UP SECOND DIAGONAL PAIR FROM POLICY
020934,000492: 16,2677 32754 CAF PPOLTABL
020935,000493: 16,2700 70103 MASK CH6MASK # TABLE AND COMPARE WITH FAILURE BITS
020936,000494: 16,2701 00006 EXTEND
020937,000495: 16,2702 12724 BZF WRITEPOL # THE JETS ARE GOOD, GO WRITE IN CHANNEL
020938,000496:
020939,000497: 16,2703 24065 INCR REL # THE JET(S) HAVE FAILED FOR THIS POLICY,
020940,000498: 16,2704 12710 TCF TESTPOL # RESTORE REL AND DO TEST POLICY LOOP
020941,000499:
020942,000500: 16,2705 26065 FOURJETS ADS REL # COME HERE TO SET REL AND CTR FOR 4-JET
020943,000501: 16,2706 36306 CAF SIX # ****ADS STINKS****
020944,000502: 16,2707 54066 TS CTR # POLICY REQUESTED. ALSO, SET CTR -1 HERE
020945,000503:
020946,000504: 16,2710 50065 TESTPOL INDEX REL # PICK UP NEXT POLICY AS LOCATED RELATIVE
020947,000505: 16,2711 32754 CAF PPOLTABL # TO PPOLTABL BY REL.
020948,000506: 16,2712 70103 MASK CH6MASK # COMPARE WITH FAILURE BITS
020949,000507: 16,2713 00006 EXTEND
020950,000508: 16,2714 12724 BZF WRITEPOL # THE JETS ARE GOOD, WRITE IN THE CHANNEL
![]() |
Page 502 |
020952,000510: 16,2715 00006 EXTEND # THE JET(S) HAVE FAILED FOR THIS POLICY
020953,000511: 16,2716 26065 DIM REL # DECREMENT THE INDEX.
020954,000512: 16,2717 10066 CCS CTR # SEE IF ALL POLICIES HAVE BEEN TESTED.
020955,000513: 16,2720 12707 TCF TESTPOL -1 # CTR NOT ZERO, A = CTR -1, DO LOOP AGAIN
020956,000514: 16,2721 00006 EXTEND # CTR ZERO, ALL ALLOWABLE POLICIES FAILED
020957,000515: 16,2722 32753 DCA ABORTADR # PICK UP 2CADR OF ABORTJET
020958,000516: 16,2723 52006 DTCB # AND GO THERE
020959,000517:
020960,000518: 16,2724 50065 WRITEPOL INDEX REL # A GOOD POLICY IS FOUND, PICK IT UP AND
020961,000519: 16,2725 32754 CAF PPOLTABL
020962,000520: 16,2726 00006 EXTEND # BEFORE WRITING IT, CHECK TO SEE IF THE
020963,000521: 16,2727 06006 RXOR 6 # SAME POLICY IS CURRENTLY IN CHANNEL 6.
020964,000522: 16,2730 00006 EXTEND
020965,000523: 16,2731 12747 BZF SAMEJETS # SAME POLICY, GO ADJUST TOFJTCHG
020966,000524: 16,2732 50065 OK2WRITE INDEX REL # DIFFERENT POLICY(CHANNEL 6 WAS ZERO OF A
020967,000525: 16,2733 32754 CAF PPOLTABL # JET FAILED IN LAST POLICY). GET POLICY,
020968,000526: 16,2734 06043 TC WRITEP # GO WRITE IT IN CHANNEL 6 AND RETURN
020969,000527:
020970,000528: 16,2735 10000 CCS A # THE POLICY IS STILL IN A, TEST NUMBER OF
020971,000529: 16,2736 37762 CAF TWO
020972,000530: 16,2737 12741 TCF +2 # JETS(BIT15 ON FOR 4-JET POLICIES) AND
020973,000531: 16,2740 37761 CAF FOUR
020974,000532: 16,2741 00006 EXTEND # MULTIPLY BY TJETSIGN(+/-1) TO GET +/-2,4
020975,000533: 16,2742 71434 MP TJETSIGN
020976,000534: 16,2743 23657 LXCH NO.PJETS # IN L, WHICH IS THEN STORED IN NO-PJETS
020977,000535:
020978,000536: 16,2744 37753 CAF BIT9 # TURN OFF P-AXIS JETS AFTER T6RJPT
020979,000537: 16,2745 55472 TS JTSATCHG
020980,000538:
020981,000539: 16,2746 13374 TCF SKIPTEST # CHECK FOR SKIP.PERHAPS TO DO JETLIST
020982,000540:
020983,000541: 16,2747 33564 SAMEJETS CAF -COM-6.5 # COME HERE TO ADJUST TOFJTCHG BY FACTOR
020984,000542: 16,2750 27475 ADS TOFJTCHG # OF 11.5MS(COMP TIME + MINIMP DELAY) WHEN
020985,000543: 16,2751 12732 TCF OK2WRITE # CURRENT JET POLICY IS TO BE MAINTAINED.
020986,000544:
020987,000545: 16,2752 E6,1471 EBANK= JTSONNOW # WOULD YOU BELIEVE, EBANK = 6
020988,000546: 16,2752 02374 40066 ABORTADR 2CADR ABORTJET # WHERE TO GO WHEN ALL JET POLICIES FAIL
020989,000547: # ................................................................................................................
020990,000548:
020991,000549: # TABLE OF P-AXIS JET POLICIES IS ASSEMBLED HERE TO BE ADDRESSED BY RELATIVE INDEX FROM BASE ADDRESS PPOLTABLE
020992,000550:
020993,000551: # CHANNEL 6 BITS INDEX JETS ON
020994,000552:
020995,000553: 16,2754 00202 PPOLTABL OCTAL 00202 # REL=0 -P NON-FORCE COUPLE 4- 16, 3
020996,000554: 16,2755 00210 OCTAL 00210 # REL=1 -P NON-FORCE COUPLE 3- 11, 16
020997,000555: 16,2756 00050 OCTAL 00050 # REL=2 -P NON-FORCE COUPLE 2- 8, 11
020998,000556: 16,2757 00042 OCTAL 00042 # REL=3 -P NON-FORCE COUPLE 1- 3, 8
020999,000557: 16,2760 00240 OCTAL 00240 # REL=4 NUMBER TWO FORCE COUPLE- 8, 16
021000,000558: 16,2761 00012 OCTAL 00012 # REL=5 -P 2-JET FORCE COUPLE- 3, 11
![]() |
Page 503 |
021002,000560: 16,2762 40252 OCTAL 40252 # REL=6 -P 4-JET POLICY- 3, 8, 11, 16
021003,000561:
021004,000562: 16,2763 00101 OCTAL 00101 # REL=7 +P NON-FORCE COUPLE 4- 7, 4
021005,000563: 16,2764 00021 OCTAL 00021 # REL=8D +P NON-FORCE COUPLE 3- 12, 7
021006,000564: 16,2765 00024 OCTAL 00024 # REL=9D +P NON-FORCE COUPLE 2- 15, 12
021007,000565: 16,2766 00104 OCTAL 00104 # REL=10D +P NON-FORCE COUPLE 1- 4, 15
021008,000566: 16,2767 00005 OCTAL 00005 # REL=11D NUMBER TWO FORCE COUPLE- 15, 7
021009,000567: 16,2770 00120 OCTAL 00120 # REL=12D +P 2-JET FORCE COUPLE- 4, 12
021010,000568: 16,2771 40125 OCTAL 40125 # REL=13D +P 4-JET POLICY- 4, 15, 12, 7
021011,000569:
021012,000570: # ................................................................................................................
021013,000571:
021014,000572: 16,2772 37767 JETSOFF CAF ZERO
021015,000573: 16,2773 55611 TS TP
021016,000574: 16,2774 55475 TS TOFJTCHG
021017,000575: 16,2775 06043 TC WRITEP # TURN ON P JETS USING T6JOB SUBROUTINE
021018,000576: 16,2776 15733 TCF RESUME
021019,000577: # P-AXIS URGENCY FUNCTION CALCULATION
021020,000578:
021021,000579: # (NOTE -- M13 = 1 IDENTICALLY IMPLIES NULL MULTIPLICATION.)
021022,000580:
021023,000581: 16,2777 30033 PURGENCY CA CDUY # P-ERROR CALCULATION
021024,000582: 16,3000 00006 EXTEND
021025,000583: 16,3001 20767 MSU CDUYD # CDU VALUE - ANGLE DESIRED (Y-AXIS)
021026,000584: 16,3002 00006 EXTEND
021027,000585: 16,3003 71404 MP M11 # (CDUY-CDUYD)M11 SCALED AT PI RADIANS
021028,000586: 16,3004 57411 XCH E # SAVE FIRST TERM (OF TWO)
021029,000587: 16,3005 30032 CA CDUX # THIRD COMPONENT
021030,000588: 16,3006 00006 EXTEND
021031,000589: 16,3007 20766 MSU CDUXD # CDU VALUE - ANGLE DESIRED (X-AXIS)
021032,000590: # EXTEND
021033,000591: # MP M13
021034,000592: 16,3010 27411 ADS E # SAVE SUM OF TERMS, NO OVERFLOW EVR
021035,000593:
021036,000594: 16,3011 55466 TS PERROR # SAVE P ERROR FOR DISPLAY
021037,000595:
021038,000596: 16,3012 40774 CS OMEGAPD # THIS CODING IS COMMON TO BOTH LM DAP AND
021039,000597: 16,3013 61415 AD OMEGAP # SPS-BACKUP MODE.
021040,000598: 16,3014 55422 TS EDOTP # EDOTP = OMEGAP - OMEGAPD AT PI/4 RAD/SEC
021041,000599:
![]() |
Page 504 |
021043,000601: # P-AXIS SPS BACK-UP TEST AND SPS BACK-UP CONTROL LOGIC:
021044,000602:
021045,000603: 16,3015 30077 CAE DAPBOOLS # BIT15 = 0 FOR SPS BACK-UP
021046,000604: 16,3016 00006 EXTEND
021047,000605: 16,3017 63074 BZMF NOBACKUP # DAPBOOLS IS NEVER +0.
021048,000606:
021049,000607: # SPS BACK-UP CONTROL LOGIC:
021050,000608:
021051,000609: 16,3020 37743 CAF SLOPEMP
021052,000610: 16,3021 00006 EXTEND
021053,000611: 16,3022 71411 MP E
021054,000612: 16,3023 61422 AD EDOTP
021055,000613: 16,3024 00006 EXTEND
021056,000614: 16,3025 63061 BZMF PLUSDP
021057,000615:
021058,000616: 16,3026 33072 CAF NEGDP
021059,000617:
021060,000618: 16,3027 54063 GCOMPER TS ITEMP3
021061,000619: 16,3030 31422 CAE EDOTP
021062,000620: 16,3031 00006 EXTEND
021063,000621: 16,3032 73073 MP ACONSTP
021064,000622: 16,3033 10000 CCS A
021065,000623: 16,3034 13067 TCF LIMPRATE
021066,000624: 16,3035 13037 TCF +2
021067,000625: 16,3036 13067 TCF LIMPRATE
021068,000626: 16,3037 22000 LXCH A
021069,000627: 16,3040 00006 EXTEND
021070,000628: 16,3041 70000 SQUARE
021071,000629: 16,3042 61411 LIMSQP AD E
021072,000630: 16,3043 63072 AD NEGDP
021073,000631: 16,3044 00006 EXTEND
021074,000632: 16,3045 62772 BZMF JETSOFF
021075,000633: 16,3046 33071 CAF 50MS/625
021076,000634: 16,3047 55611 TS TP
021077,000635: 16,3050 55475 TS TOFJTCHG
021078,000636: 16,3051 37745 CAF NEGMAX
021079,000637: 16,3052 55461 TS NJET
021080,000638: 16,3053 10063 CCS ITEMP3
021081,000639: 16,3054 37763 CAF BIT1
021082,000640: 16,3055 13057 TCF +2
021083,000641: 16,3056 47763 CS BIT1
021084,000642: 16,3057 55434 TS TJETSIGN
021085,000643: 16,3060 12642 TCF PJETSLEC
021086,000644: 16,3061 41411 PLUSDP CS E
021087,000645: 16,3062 57411 XCH E
021088,000646: 16,3063 41422 CS EDOTP
021089,000647: 16,3064 57422 XCH EDOTP
021090,000648: 16,3065 43072 CS NEGDP
021091,000649: 16,3066 13027 TCF GCOMPER
021092,000650: 16,3067 37747 LIMPRATE CAF QUARTER
![]() |
Page 505 |
021094,000652: 16,3070 13042 TCF LIMSQP
021095,000653: 16,3071 00120 50MS/625 OCTAL 00120 # TJET = 50 MS IN SPS BACKUP MODE
021096,000654: 16,3072 77644 NEGDP DEC -0.00555
021097,000655: 16,3073 7743 SLOPEMP EQUALS POSMAX
021098,000656: 16,3073 00007 ACONSTP OCTAL 00007
021099,000657:
![]() |
Page 506 |
021101,000659: # CONTINUATION OF P-AXIS RCS AUTOPILOT:
021102,000660:
021103,000661: 16,3074 37746 NOBACKUP CAF BIT14
021104,000662: 16,3075 55716 TS SIGNTAG # INDICATES EDOT POSITIVE FOR TIME BEING
021105,000663: 16,3076 11422 CCS EDOTP
021106,000664: 16,3077 13111 TCF SCALEDOT
021107,000665: 16,3100 13121 TCF PTJETLAW
021108,000666: 16,3101 13103 TCF REFLECT
021109,000667: 16,3102 13121 TCF PTJETLAW
021110,000668: 16,3103 55407 REFLECT TS EDOT
021111,000669: 16,3104 47746 CS BIT14
021112,000670: 16,3105 55716 TS SIGNTAG # INDICATES EDOT REALLY NEGATIVE
021113,000671: 16,3106 41466 CS PERROR
021114,000672: 16,3107 55411 TS E
021115,000673: 16,3110 31407 CAE EDOT # EDOT SCALED AT 45 DEG/SEC
021116,000674: 16,3111 67763 SCALEDOT AD BIT1
021117,000675: 16,3112 00006 EXTEND
021118,000676: 16,3113 77761 MP BIT3
021119,000677: 16,3114 00006 EXTEND
021120,000678: 16,3115 13120 BZF PTJETLAW -1
021121,000679: 16,3116 37743 CAF POSMAX
021122,000680: 16,3117 13121 TCF PTJETLAW
021123,000681: 16,3120 30001 CAE L # EDOT NOW SCALED AT 11.25 DEG/SEC
021124,000682: 16,3121 55407 PTJETLAW TS EDOT
021125,000683: 16,3122 00006 EXTEND
021126,000684: 16,3123 71407 MP EDOT
021127,000685: 16,3124 55412 TS EDOT(2)
021128,000686: 16,3125 37771 CAF NEGONE
021129,000687: 16,3126 55434 TS TJETSIGN
021130,000688: 16,3127 37745 CAF NEGMAX
021131,000689: 16,3130 55461 TS NJET # INDICATES 2 JETS ONLY FOR TIME BEING
021132,000690: 16,3131 31412 CAE EDOT(2)
021133,000691: 16,3132 00006 EXTEND
021134,000692: 16,3133 71440 MP 1/2JTSP
021135,000693: 16,3134 00006 EXTEND
021136,000694: 16,3135 77746 MP BIT14
021137,000695: 16,3136 61411 AD E
021138,000696: 16,3137 00006 EXTEND
021139,000697: 16,3140 60375 SU DB
021140,000698: 16,3141 55444 TS FCT1
021141,000699: 16,3142 00006 EXTEND
021142,000700: 16,3143 63202 BZMF 5,6,7,8
021143,000701: 16,3144 63555 AD -5DEG+1
021144,000702: 16,3145 00006 EXTEND # IN ERROR BY OVER 5 DEG WITH THE
021145,000703: 16,3146 63153 BZMF +5 # RATE IN THE OTHER DIRECTION
021146,000704: 16,3147 41407 CS EDOT
021147,000705: 16,3150 63757 AD HULLSLIM # 0.5 DEG/SEC SCALED AT 11.25 DEG/SEC
021148,000706: 16,3151 00006 EXTEND
021149,000707: 16,3152 63177 BZMF MULTIJET
021150,000708: 16,3153 31407 CAE EDOT
021151,000709:
![]() |
Page 507 |
021153,000711: 16,3154 00006 EXTEND
021154,000712: 16,3155 71440 MP 1/2JTSP
021155,000713: 16,3156 55510 TS TERMA
021156,000714: 16,3157 43563 CS 1.5CSP16
021157,000715: 16,3160 61510 AD TERMA
021158,000716: 16,3161 00006 EXTEND
021159,000717: 16,3162 63165 BZMF +3
021160,000718: 16,3163 37746 MAXPTJET CAF BIT14
021161,000719: 16,3164 13356 TCF FINDSIGN
021162,000720: 16,3165 41444 CS FCT1
021163,000721: 16,3166 61632 AD DBMNMPAX
021164,000722: 16,3167 00006 EXTEND
021165,000723: 16,3170 63232 BZMF PMBR
021166,000724: 16,3171 31510 CAE TERMA
021167,000725: 16,3172 63554 AD -35AT16
021168,000726: 16,3173 00006 EXTEND
021169,000727: 16,3174 63342 BZMF ZONE4
021170,000728: 16,3175 63556 AD 38.7AT16
021171,000729: 16,3176 13316 TCF SCALTJET
021172,000730: 16,3177 37743 MULTIJET CAF POSMAX
021173,000731: 16,3200 55461 TS NJET
021174,000732: 16,3201 13163 TCF MAXPTJET
021175,000733: 16,3202 31412 5,6,7,8 CAE EDOT(2)
021176,000734: 16,3203 00006 EXTEND
021177,000735: 16,3204 72234 MP .5ACCMIN
021178,000736: 16,3205 61411 AD E
021179,000737: 16,3206 60375 AD DB
021180,000738: 16,3207 61632 AD DBMNMPAX
021181,000739: 16,3210 00006 EXTEND
021182,000740: 16,3211 63213 BZMF +2
021183,000741: 16,3212 12772 ZONE5 TCF JETSOFF
021184,000742: 16,3213 43552 +2 CS RATEMAX
021185,000743: 16,3214 61407 AD EDOT
021186,000744: 16,3215 00006 EXTEND
021187,000745: 16,3216 63220 BZMF ZONES6,7
021188,000746: 16,3217 12772 ZONE8 TCF JETSOFF
021189,000747: 16,3220 37763 ZONES6,7 CAF BIT1
021190,000748: 16,3221 55434 TS TJETSIGN
021191,000749: 16,3222 41407 CS EDOT
021192,000750: 16,3223 00006 EXTEND
021193,000751: 16,3224 71440 MP 1/2JTSP
021194,000752: 16,3225 55510 TS TERMA
021195,000753: 16,3226 41444 CS FCT1
021196,000754: 16,3227 61411 AD E
021197,000755: 16,3230 61411 AD E
021198,000756: 16,3231 61632 AD DBMNMPAX
021199,000757: 16,3232 55444 PMBR TS FCT1 # FCT1 NOW HOLDS -FCT5 OR -FCT2
021200,000758: 16,3233 31440 CAE 1/2JTSP
021201,000759: 16,3234 00006 EXTEND
021202,000760: 16,3235 77746 MP BIT14
021203,000761:
![]() |
Page 508 |
021205,000763: 16,3236 62234 AD .5ACCMIN
021206,000764: 16,3237 55446 TS DENOM
021207,000765: 16,3240 00006 EXTEND
021208,000766: 16,3241 73553 MP RATEMAX2
021209,000767: 16,3242 61444 AD FCT1
021210,000768: 16,3243 00006 EXTEND
021211,000769: 16,3244 63322 BZMF MISSROOT
021212,000770: 16,3245 31440 CAE 1/2JTSP
021213,000771: 16,3246 00006 EXTEND
021214,000772: 16,3247 71440 MP 1/2JTSP # (1/2JTSP)(1/2JTSP) SCALED AT 2(16)/PI(2)
021215,000773: 16,3250 52073 DXCH RUPTREG3 # DP PRODUCT STORED IN RUPTREG3,RUPTREG4
021216,000774: 16,3251 31444 CAE FCT1 # SCALED AT PI
021217,000775: 16,3252 22007 ZL
021218,000776: 16,3253 00006 EXTEND
021219,000777: 16,3254 11446 DV DENOM # (FCT1/DENOM) IN A SCALED AT PI(2)/2(8).
021220,000778: 16,3255 54071 TS RUPTREG2 # (FCT1/DENOM) STORED IN RUPTREG2
021221,000779: 16,3256 00006 EXTEND
021222,000780: 16,3257 70073 MP RUPTREG4 # (FCT1/DENOM)(LOWER PART OF (1/2JTSP)(2))
021223,000781: 16,3260 54073 TS RUPTREG4 # IS STORED IN RUPTREG4
021224,000782: 16,3261 37767 CAF ZERO
021225,000783: 16,3262 56072 XCH RUPTREG3
021226,000784: 16,3263 00006 EXTEND
021227,000785: 16,3264 70071 MP RUPTREG2 # PRODUCT OF SP FCT1/DENOM AND DP
021228,000786: 16,3265 20073 DAS RUPTREG3 # (1/2JSP)(2) IS STORED DP IN RUPTREG3 AND
021229,000787: 16,3266 00006 EXTEND # RUPTREG4 AT A SCALING OF 2(8). PRODUCT
021230,000788: 16,3267 30073 DCA RUPTREG3 # IS ALSO STORED IN ITEMP3 AND ITEMP4.
021231,000789: 16,3270 52064 DXCH ITEMP3
021232,000790: 16,3271 43563 CS 1.5CSP16
021233,000791: 16,3272 61510 AD TERMA # SCALED AT 2(4)
021234,000792: 16,3273 00006 EXTEND
021235,000793: 16,3274 70000 SQUARE # (TERMA-1.5CSP)(2) IN A,L SCALED AT 2(8)
021236,000794: 16,3275 20073 DAS RUPTREG3 # DP EXPRESSION STORED IN RUPTREG3 AND
021237,000795: 16,3276 30072 CAE RUPTREG3 # RUPTREG4. IF NEG, TP EXCEEDS 1.5CSP.
021238,000796: 16,3277 00006 EXTEND
021239,000797: 16,3300 13302 BZF TESTONL1 # IF RUPTREG3 ZERO,MUST TEST ON RUPTREG4
021240,000798: 16,3301 13303 TCF TESTONL1 +1
021241,000799:
021242,000800: 16,3302 30073 TESTONL1 CAE RUPTREG4
021243,000801: 16,3303 00006 EXTEND
021244,000802: 16,3304 63163 BZMF MAXPTJET
021245,000803:
021246,000804: 16,3305 43560 MINTJCHK CS PTJMINT6 # 11.5 MS SCALED AT 16. (4MS ADDED TO TMIN
021247,000805: 16,3306 61510 AD TERMA # TO PREVENT COMPUTED TP LESS THAN TMIN)
021248,000806: 16,3307 00006 EXTEND
021249,000807: 16,3310 63326 BZMF LASTTEST # LASTTEST TESTS FOR TP LESS THAN MIN IMP.
021250,000808: 16,3311 00006 ROOTNEXT EXTEND
021251,000809: 16,3312 40064 DCS ITEMP3 # DP NUMBER SCALED AT 2(8) TO BE ENTERED
021252,000810: 16,3313 05270 TC IBNKCALL # SQUARE ROOT SUBROUTINE CALL.
021253,000811: 16,3314 54525 CADR DAPSQRT
021254,000812: 16,3315 61510 SUMTJ AD TERMA
021255,000813:
![]() |
Page 509 |
021257,000815: 16,3316 60000 SCALTJET DOUBLE
021258,000816: 16,3317 00006 EXTEND
021259,000817: 16,3320 73576 MP 25/32
021260,000818: 16,3321 13356 TCF FINDSIGN
021261,000819: 16,3322 33551 MISSROOT CAF RATEMAX+ # RATEMAX+ = RATEMAX+0.6DEGREES/SECOND
021262,000820: 16,3323 00006 EXTEND
021263,000821: 16,3324 71440 MP 1/2JTSP
021264,000822: 16,3325 13315 TCF SUMTJ
021265,000823: 16,3326 00006 LASTTEST EXTEND
021266,000824: 16,3327 30064 DCA ITEMP3
021267,000825: 16,3330 52073 DXCH RUPTREG3
021268,000826: 16,3331 43560 CS PTJMINT6 # 11.5 MS SCALED AT 16
021269,000827: 16,3332 61510 AD TERMA
021270,000828: 16,3333 00006 EXTEND
021271,000829: 16,3334 70000 SQUARE
021272,000830: 16,3335 20073 DAS RUPTREG3 # DP EXPRESSION STORED IN RUPTREG3 AND
021273,000831: 16,3336 30072 CAE RUPTREG3 # RUPTREG4. IF POS, TP LESS THAN MIN IMP
021274,000832: 16,3337 00006 EXTEND
021275,000833: 16,3340 13370 BZF TESTONL2 # IF RUPTREG3 ZERO, MUST TEST ON RUPTREG4
021276,000834: 16,3341 13371 TCF TESTONL2 +1
021277,000835: 16,3342 31407 ZONE4 CAE EDOT # IF EDOT IS ZERO IN ZONE4, NO JETS FIRED
021278,000836: 16,3343 00006 EXTEND
021279,000837: 16,3344 12772 BZF JETSOFF
021280,000838: 16,3345 31716 CAE SIGNTAG
021281,000839: 16,3346 00006 EXTEND
021282,000840: 16,3347 63352 BZMF +3
021283,000841: 16,3350 43561 CS .1DPS
021284,000842: 16,3351 13353 TCF +2
021285,000843: 16,3352 33561 CA .1DPS
021286,000844: 16,3353 60774 AD OMEGAPD
021287,000845: 16,3354 55415 TS OMEGAP
021288,000846: 16,3355 33560 CAF PTJMINT6
021289,000847: 16,3356 55611 FINDSIGN TS TP
021290,000848: 16,3357 31716 CAE SIGNTAG # NEVER ZERO
021291,000849: 16,3360 00006 EXTEND
021292,000850: 16,3361 63363 BZMF +2 # EQUIVALENT TO BRANCH ON MINUS
021293,000851: 16,3362 13365 TCF +3
021294,000852: 16,3363 41434 CS TJETSIGN
021295,000853: 16,3364 55434 TS TJETSIGN
021296,000854: 16,3365 31611 CAE TP # LOAD TOFJTCHG
021297,000855: 16,3366 55475 TS TOFJTCHG
021298,000856: 16,3367 12642 TCF PJETSLEC # AND GO SELECT GOOD POLICY
021299,000857:
021300,000858: 16,3370 30073 TESTONL2 CAE RUPTREG4
021301,000859: 16,3371 00006 EXTEND
021302,000860: 16,3372 63311 BZMF ROOTNEXT
021303,000861: 16,3373 12772 TCF JETSOFF
021304,000862: # TORQUE VECTOR RECONSTRUCTION FOR THE P-AXIS
021305,000863:
021306,000864: 16,3374 41475 SKIPTEST CS TOFJTCHG # COME HERE FROM PJETSLEC TO TEST P SKIP
![]() |
Page 510 |
021308,000866: 16,3375 63562 AD +1.5CSP # USE 150 MS. TO TEST FOR A PAXIS SKIP.
021309,000867: 16,3376 00006 EXTEND
021310,000868: 16,3377 65733 BZMF RESUME # TP GREATER THAN 150MS THEN DO NORMAL P.
021311,000869: 16,3400 33604 CA PSKIPADR # SET UP A P AXIS SKIP.
021312,000870: 16,3401 55652 TS PJUMPADR # GOES TO JTLST FROM HERE
021313,000871:
![]() |
Page 511 |
021315,000873: # PROGRAM NAME JTLST
021316,000874:
021317,000875: # WRITTEN BY DICK GRAN ( GAEC - CALL LR-5-1331 AREA CODE 516 )
021318,000876:
021319,000877: # THIS PROGRAM IN CONJUNCTION WITH T6-RUPT PROGRAMS ALLOWS JETS TO BE
021320,000878: # TURNED OFF AT THE COMPUTED OFF TIME. THIS TASK IS ACCOMPLISHED BY USING
021321,000879: # A JET LIST WHICH IS SET UP AS FOLLOWS ....
021322,000880:
021323,000881: # JET OFF TIMES DESIRED JETS AT THIS TIME
021324,000882:
021325,000883: # TIME6 T6NEXTJT
021326,000884: # T6NEXT T6NEXTJT +1
021327,000885: # T6NEXT +1 T6NEXTJT +2
021328,000886:
021329,000887: # THESE LOCATIONS RECEIVE THE JET ON TIMES SCALED AS T6 (.625 MS/BIT). AS
021330,000888: # AN EXAMPLE OF HOW THE PROGRAM WORKS, CONSIDER THE FOLLOWING PROBLEM...
021331,000889: # 50 MS AGO A P AXIS JET COMPUTATION DECIDED JETS 12 AND 15 SHOULD BE
021332,000890: # ON FOR 120 MS. AFTER 120 MS IT WAS FURTHER DECIDED THAT JETS 12,15
021333,000891: # 16 AND 3 SHOULD BE ON UNTIL THE NEXT P AXIS COMPUTATION (WHICH
021334,000892: # OCCURS IN 200 MS AFTER THE LAST P AXIS JET COMPUTATION). AT THE
021335,000893: # CURRENT TIME THE QR AXES COMPUTES THAT JET 2 SHOULD BE ON FOR 65 MS
021336,000894: # AND JET 9 SHOULD BE ON FOR 72.5 MS. AFTER 72.5 MS NO FURTHER QR JETS
021337,000895: # SHOULD BE ON. THIS SEQUENCE OF JETS CORRESPONDS TO A +P ROTATION
021338,000896: # WITH A SIMULTANEOUS +Y AND -Z TRANSLATION AND ALSO A -V (DIAGONAL)
021339,000897: # ROTATION ABOUT THE Y AND Z AXES . NOTE JET 9 IS ON LONGER THAN JET 2
021340,000898: # WHICH WOULD BE THE CASE IF THE Q-R JETS HAD BEEN ON BEFORE. IN THIS
021341,000899: # CASE, THE FOLLOWING SEQUENCE OF EVENTS OCCURRED AT THE P AXIS
021342,000900: # COMPUTATION .....
021343,000901:
021344,000902: # 1) CHANNEL 6 WAS LOADED WITH OCTAL 24 TO TURN ON JETS 12 AND 15
021345,000903:
021346,000904: # 2) TIME 6 WAS LOADED WITH 120 MS
021347,000905:
021348,000906: # 3) T6NEXT WAS LOADED WITH +0 ( THIS INDICATES THE CONTENTS OF
021349,000907: # T6NEXT ARE NOT TO BE USED IN THE T6JOB PROGRAM)
021350,000908:
021351,000909: # 4) T6NEXTJT WAS LOADED WITH OCTAL 226 TO CAUSE JETS 3,12,15
021352,000910: # AND 16 TO GO ON WHEN T6 HAS BEEN DECREMENTED TO -0.
021353,000911:
021354,000912: # 5) THE T6 CLOCK WAS TURNED ON TO BEGIN COUNTING DOWN TIME 6
021355,000913:
021356,000914: # AT THE QR AXES JET LIST COMPUTATION, THE T6 CLOCK AS BEEN REDUCED
021357,000915: # TO 70 MS (120-50) THEREFORE THE FOLLOWING OCCURS ....
021358,000916:
021359,000917: # 1) CHANNEL 5 IS LOADED WITH OCTAL 40022 TO TURN ON JETS 2 AND
021360,000918: # 9. ( THIS IS PERFORMED IN THE SECTION CALLED RATE)
021361,000919:
021362,000920: # 2) THE BANK IS SWITCHED FROM THE QR BANK TO THE P BANK (WHERE
021363,000921: # THE JET LIST IS STORED) AS FOLLOWS ....
021364,000922: # DCA JTLSTADR
![]() |
Page 512 |
021366,000924: # DTCB ( IN THE QR AXES ONLY)
021367,000925:
021368,000926: # 3) THE DESIRED JET ON TIME FOR JET 2 IS COMPARED WITH T6.
021369,000927:
021370,000928: # 4) SINCE T6 IS GREATER THAN THE DESIRED JET ON TIME FOR JET 2,
021371,000929: # T6 IS CHANGED TO 65 MS AND T6NEXT IS LOADED WITH 5 MS.
021372,000930: # ( THE DIFFERENCE BETWEEN JET ON TIME AND T6)
021373,000931:
021374,000932: # 5) T6NEXTJT IS CHANGED TO OCTAL 40020 , AND THE FORMER CONTENTS
021375,000933: # OF T6NEXTJT IS PLACED IN T6NEXTJT +1. THIS CAUSES JET 9 TO
021376,000934: # REMAIN ON AND JET 2 TO BE TURNED OFF WHEN T6 IS DECREMENTED
021377,000935: # TO ZERO. IT ALSO ASSIGNS THE P AXIS JET CODE TO THE
021378,000936: # TIME IN T6NEXT.
021379,000937:
021380,000938: # 6) THE CONTENTS OF T6NEXT (5MS) IS COMPARED WITH THE
021381,000939: # DIFFERENCE BETWEEN THE TWO QR AXIS JET ON TIMES. SINCE HERE
021382,000940: # THE DIFFERENCE IS 7.5 MS WHICH IS GREATER THAN THE CONTENTS
021383,000941: # OF T6NEXT (5MS), THE ADDITIONAL QR AXIS RUPT OCCURS AFTER
021384,000942: # THE RUPT STORED IN T6NEXT. THUS 2.5 MS (7.5 - 5) IS STORED
021385,000943: # IN T6NEXT +1
021386,000944:
021387,000945: # 7) T6NEXTJT +2 IS MADE EQUAL TO THE JETS WHICH ARE TO BE ON
021388,000946: # AFTER THE 75 MS HAS ELAPSED (IN THE CASE HERE IT IS ZERO)
021389,000947:
021390,000948: # THUS FOR THE EXAMPLE CONSIDERED THE JET LIST IS ....
021391,000949:
021392,000950: # JET TIMES JET CODES
021393,000951: # TIME6 = 65MS. T6NEXTJT = 40020 SIGN IS NEGATIVE TO
021394,000952: # T6NEXT = 5 MS. T6NEXTJT +1 = 00226 INDICATES Q-R AXIS
021395,000953: # T6NEXT +1 =2.5 MS. T6NEXTJT +2=, 40000 JETS,POSITIVE TO
021396,000954: # INDICATE P JETS.
021397,000955: # CHANNEL 6 = 00024
021398,000956: # CHANNEL 5 = 00022 SIGN IS LOST ONCE THE JET CODE IS LOADED
021399,000957:
021400,000958: # THIS EXAMPLE AND THE CODING SHOULD ALLOW ONE TO UNDERSTAND THE JET LIST.
021401,000959: # ONE FURTHER COMMENT IS IN ORDER - IF THE JET ON TIMES EXCEED 150 MS,
021402,000960: # THE JETS ARE TURNED ON AND THE JET LIST IS NOT ENTERED. IN 100 MS
021403,000961: # A NEW JET ON TIME IS COMPUTED WHICH WILL RESET THE JETS IF NEEDED.
021404,000962: # WHEN THE JET ON TIME IS LESS THAN 150MS, THE JET LIST IS LOADED AS
021405,000963: # DISCUSSED ABOVE AND THE TJET COMPUTATION IS SKIPPED NEXT TIME, THAT IS
021406,000964: # THE AXIS IS NOT REPEATED AGAIN UNTIL 200 MS HAS ELAPSED. THIS INSURES
021407,000965: # THAT WHEN A NEW JET TIME IS COMPUTED THE JET LIST WILL NOT HAVE
021408,000966: # A TIME STORED WHICH CORRESPONDS TO THE AXIS JUST COMPLETED.
021409,000967:
021410,000968: 16,3402 10031 JTLST CCS TIME6 # TEST CURRENT STATE OF T6.
021411,000969: 16,3403 13426 TCF T6ONNOW # IF T6 IS + THEN CLOCK IS ON.
021412,000970: 16,3404 13410 TCF T6OFFNOW # IF T6 IS + ZERO THEN T6 MUST BE OFF
021413,000971: 16,3405 13426 TCF T6ONNOW # SINCE ALL DINC S LEAD TO MINUS ZERO.
021414,000972: 16,3406 06017 TC T6JOB # WE ARE IN THE UNIQUE STATE WHICH SAYS
021415,000973: 16,3407 13402 TCF JTLST # A T6 INTERRUPT IS WAITING.DO T6 JOB.
021416,000974:
![]() |
Page 513 |
021418,000976: 16,3410 31475 T6OFFNOW CA TOFJTCHG
021419,000977: 16,3411 54031 TS TIME6 # WE ARE HERE IF T6 CLOCK IS OFF.
021420,000978: 16,3412 37745 CA BIT15
021421,000979: 16,3413 00006 EXTEND # TURN CLOCK PULSE FOR T6 ON AND LOAD T6.
021422,000980: 16,3414 05013 WOR 13
021423,000981: 16,3415 31472 CA JTSATCHG
021424,000982: 16,3416 55004 TS T6NEXTJT
021425,000983: 16,3417 37767 CA ZERO
021426,000984: 16,3420 57474 XCH ADDTLT6 # SET UP NEXT T6 INTERRUPT AFTER THE
021427,000985: 16,3421 55002 TS T6NEXT # CURRENT ONE IS COMPLETE. ADDTLT6 MAY
021428,000986: 16,3422 37767 CA ZERO # BE ZERO IN WHICH CASE NO MORE T6.
021429,000987: 16,3423 57473 XCH ADDT6JTS
021430,000988: 16,3424 55005 TS T6NEXTJT +1
021431,000989: 16,3425 15733 TCF RESUME
021432,000990: 16,3426 11002 T6ONNOW CCS T6NEXT # HERE IF T6 IS NOW ON. SEE IF T6NEXT IS
021433,000991: 16,3427 13507 TCF T6NXT=+ # ZERO OR NOT.
021434,000992: 16,3430 41475 CS TOFJTCHG # T6NEXT IS NEVER NEGATIVE.
021435,000993: 16,3431 60031 AD TIME6 # A CONTAINS T6 - TJET.
021436,000994: 16,3432 10000 CCS A # TEST SIGN OF A (SAVING THE DIFFERENCE).
021437,000995: 16,3433 67763 AD ONE
021438,000996: 16,3434 13451 TCF JTSFIRST # TJET IS LESS THAN T6.
021439,000997: 16,3435 13436 NOOP # IF DIFFERENCE I SNEGATIVE OR ZERO
021440,000998: 16,3436 67763 AD ONE # WE ADD 1 SO ZERO CAN NEVER BE IN LIST.
021441,000999: 16,3437 55002 TS T6NEXT
021442,001000: 16,3440 31472 CA JTSATCHG
021443,001001: 16,3441 55005 TS T6NEXTJT +1 # BEGIN SETTING UP JETS IN THE JET LIST.
021444,001002: 16,3442 37767 CA ZERO
021445,001003: 16,3443 57474 XCH ADDTLT6
021446,001004: 16,3444 55003 TS T6NEXT +1
021447,001005: 16,3445 37767 CA ZERO
021448,001006: 16,3446 57473 XCH ADDT6JTS
021449,001007: 16,3447 55006 TS T6NEXTJT +2
021450,001008: 16,3450 15733 TCF RESUME
021451,001009: 16,3451 55002 JTSFIRST TS T6NEXT # HERE IF TJET IS LESS THAN T6.
021452,001010: 16,3452 31475 CA TOFJTCHG
021453,001011: 16,3453 54031 TS TIME6 # SWITCH T6 AND TJET)
021454,001012: 16,3454 31472 CA JTSATCHG
021455,001013: 16,3455 57004 XCH T6NEXTJT # BEGIN SWITCHING JET WORDS IN JET LIST.
021456,001014: 16,3456 55005 TS T6NEXTJT +1
021457,001015: 16,3457 41474 CS ADDTLT6
021458,001016: 16,3460 00006 EXTEND
021459,001017: 16,3461 15733 BZF RESUME # SEE IF AN ADDITIONAL (QR) JET TIME IS
021460,001018: 16,3462 61002 AD T6NEXT # REQUIRED.
021461,001019: 16,3463 10000 CCS A # IF AN ADDITIONAL T6 IS NEEDEN, COMPARE
021462,001020: 16,3464 67763 AD ONE # IT WITH THE CONTENTS OF T6NEXT.
021463,001021: 16,3465 13476 TCF +11
021464,001022: 16,3466 13467 NOOP
021465,001023: 16,3467 67763 AD ONE
021466,001024: 16,3470 55003 TS T6NEXT +1
021467,001025: 16,3471 37767 CA ZERO
![]() |
Page 514 |
021469,001027: 16,3472 55474 TS ADDTLT6
021470,001028: 16,3473 57473 XCH ADDT6JTS
021471,001029: 16,3474 55006 TS T6NEXTJT +2
021472,001030: 16,3475 15733 TCF RESUME
021473,001031: 16,3476 55003 +11 TS T6NEXT +1
021474,001032: 16,3477 37767 CA ZERO
021475,001033: 16,3500 57474 XCH ADDTLT6
021476,001034: 16,3501 55002 TS T6NEXT
021477,001035: 16,3502 37767 CA ZERO
021478,001036: 16,3503 57473 XCH ADDT6JTS
021479,001037: 16,3504 57005 XCH T6NEXTJT +1
021480,001038: 16,3505 55006 TS T6NEXTJT +2
021481,001039: 16,3506 15733 TCF RESUME
021482,001040: 16,3507 41475 T6NXT=+ CS TOFJTCHG
021483,001041: 16,3510 60031 AD TIME6
021484,001042: 16,3511 61002 AD T6NEXT
021485,001043: 16,3512 10000 CCS A
021486,001044: 16,3513 67763 AD ONE
021487,001045: 16,3514 13523 TCF +7
021488,001046: 16,3515 13516 NOOP
021489,001047: 16,3516 67763 AD ONE
021490,001048: 16,3517 55003 TS T6NEXT +1
021491,001049: 16,3520 31472 CA JTSATCHG
021492,001050: 16,3521 55006 TS T6NEXTJT +2
021493,001051: 16,3522 15733 TCF RESUME
021494,001052: 16,3523 54001 +7 TS L
021495,001053: 16,3524 41475 CS TOFJTCHG
021496,001054: 16,3525 60031 AD TIME6
021497,001055: 16,3526 10000 CCS A
021498,001056: 16,3527 67763 AD ONE
021499,001057: 16,3530 13540 TCF JTSB4T6
021500,001058: 16,3531 13532 NOOP
021501,001059: 16,3532 67763 AD ONE
021502,001060: 16,3533 55002 TS T6NEXT
021503,001061: 16,3534 30001 CA L
021504,001062: 16,3535 55003 TS T6NEXT +1
021505,001063: 16,3536 31472 CA JTSATCHG
021506,001064: 16,3537 13546 TCF +7
021507,001065: 16,3540 57002 JTSB4T6 XCH T6NEXT
021508,001066: 16,3541 55003 TS T6NEXT +1
021509,001067: 16,3542 31475 CA TOFJTCHG
021510,001068: 16,3543 54031 TS TIME6
021511,001069: 16,3544 31472 CA JTSATCHG
021512,001070: 16,3545 57004 XCH T6NEXTJT
021513,001071: 16,3546 57005 +7 XCH T6NEXTJT +1
021514,001072: 16,3547 57006 XCH T6NEXTJT +2
021515,001073: 16,3550 15733 TCF RESUME
021516,001074: # T-JET LAW FIXED CONSTANTS
021517,001075:
021518,001076: 16,3551 36115 RATEMAX+ DEC 0.94222
![]() |
Page 515 |
021520,001078: 16,3552 34344 RATEMAX DEC 0.88889
021521,001079: 16,3553 31221 RATEMAX2 DEC 0.79012
021522,001080: 16,3554 77733 -35AT16 DEC -0.00219
021523,001081: 16,3555 77071 -5DEG+1 DEC -.02772 # -5 DEGREES + CCSBIT SCALED AT PI RADIANS
021524,001082: 16,3556 00050 38.7AT16 DEC 0.00242
021525,001083: 16,3557 00010 TMINAT16 DEC 0.00047
021526,001084: 16,3560 00014 PTJMINT6 DEC 0.00073
021527,001085: 16,3561 00044 .1DPS DEC 0.00222
021528,001086: 16,3562 00360 +1.5CSP DEC +0.01465
021529,001087: 16,3563 00232 1.5CSP16 DEC 0.00938
021530,001088: 16,3564 77753 -COM-6.5 DEC -.00122 # -SUM OF 5MS COMP TIME AND 6.5MS DELAY
021531,001089: 16,3565 00013 14-TJMIN DEC 11 B-14
021532,001090: 16,3566 77537 NEGCSP1 DEC -.00977
021533,001091: 16,3567 37775 MS30P OCTAL 37775
021534,001092: 16,3570 34362 0.88975 DEC 0.88975
021535,001093: 16,3571 24366 16/25 DEC 0.64000
021536,001094: 16,3572 77555 -DRATEDB OCTAL 77555 # -0.4 DEG/SEC SCALED AT PI/4 RADIANS/SEC
021537,001095: 16,3573 77001 -D2JTLIM OCTAL 77001 # -1.4 DEG/SEC SCALED AT PI/4
021538,001096: 16,3574 76447 -A2JTLIM OCTAL 76447 # -2.0 DEG/SEC SCALED AT PI/4
021539,001097: 16,3575 77223 -ARATEDB OCTAL 77223 # -1.0 DEG/SEC SCALED AT PI/4
021540,001098: 16,3576 31000 25/32 DEC .78125
021541,001099: 16,3577 77764 -TJMINT6 OCTAL 77764 # -(7.5 MS) + 1 BIT(FOR BZMF), T6 SCALING
021542,001100: 16,3600 00077 DAPLOW6 OCT 00077
021543,001101: 16,3601 00600 BITS8,9 OCTAL 00600
021544,001102: 16,3602 71462 UPM DEC -.2 # TEMPORARY ESTIMATE
021545,001103: 16,3603 03146 CSPAT1P DEC 0.10000 # 100 MS AT 1.
021546,001104: 16,3604 02401 PSKIPADR GENADR SKIPPAXS
021547,001105: 16,3605 37533 JETLWADR CADR TJETLAW
021548,001106:
021549,001107:
021550,001108: 16,3606 22016 SETIDLE LXCH BANKRUPT # FIRST T5RUPT AFTER FRESH START COMES
021551,001109: 16,3607 00006 EXTEND
021552,001110: 16,3610 22012 QXCH QRUPT
021553,001111: 16,3611 33640 CAF T5IDADR # HERE. T5IDLER IS STARTED IN 1 SEC.
021554,001112: 16,3612 55000 TS T5ADR
021555,001113: 16,3613 33636 CAF 1SECRUPT
021556,001114: 16,3614 54030 TS TIME5
021557,001115: 16,3615 05270 TC IBNKCALL
021558,001116: 16,3616 40114 FCADR STOPRATE
021559,001117: 16,3617 05270 TC IBNKCALL
021560,001118: 16,3620 40127 FCADR ALLCOAST
021561,001119: 16,3621 33637 CAF DBWIDE
021562,001120: 16,3622 54375 TS DB
021563,001121: 16,3623 37771 CAF NEGONE
021564,001122: 16,3624 55732 TS AOSCOUNT # MAKES APS CODING INACTIVE
021565,001123: 16,3625 15733 TCF RESUME
021566,001124:
021567,001125: 16,3626 22016 T5IDLER LXCH BANKRUPT # LOOKS FOR GODAPGO TO START THE DAP.
021568,001126: # START CODING FOR MODULE 3 REMAKE, AUGUST 1967***START CODING FOR MODULE 3 REMAKE, AUGUST 1967*******************
![]() |
Page 516 |
021570,001128: 16,3627 00006 T5IDLERI EXTEND
021571,001129: 16,3630 22012 QXCH QRUPT
021572,001130:
021573,001131: 16,3631 30377 CA SMARTFLG # IS SMARTJOB DESIRED?
021574,001132: 16,3632 00006 EXTEND
021575,001133: 16,3633 62544 BZMF MORET5ID # NO. TAKE NO ACTION.
021576,001134:
021577,001135: 16,3634 37751 CAF BIT11 # YES. SEE IF IT IS ALREADY RUNNING.
021578,001136: 16,3635 12524 TCF ADDLT5ID # GO TO ADDITIONAL CODING.
021579,001137:
021580,001138: # **END CODING FOR MODULE 3 REMAKE, AUGUST 1967*****END CODING FOR MODULE 3 REMAKE, AUGUST 1967********************
021581,001139:
021582,001140: 16,3636 37634 1SECRUPT OCTAL 37634 # 1 SECOND SCALED AS TIME5 (100 PULSES)
021583,001141:
021584,001142: 16,3637 00707 DBWIDE DEC 0.02778
021585,001143: 16,3640 E6,1664 EBANK= AOSQTERM
021586,001144: 16,3640 03626 34066 T5IDADR 2CADR T5IDLER
021587,001145:
021588,001146: # DUMMY FILTER RUPT AFTER P-AXIS RUPT.
021589,001147: 16,3642 E6,1664 EBANK= AOSQTERM
021590,001148: 16,3642 33567 DUMMYFIL CAF MS30P # RESET TIMER IMMEDIATELY - DT = 30 MS
021591,001149: 16,3643 54030 TS TIME5
021592,001150: 16,3644 22016 LXCH BANKRUPT # INTERRUPT LEAD-IN (CONTINUED).
021593,001151:
021594,001152: 16,3645 00006 EXTEND # SET UP QRAXIS RUPT.
021595,001153: 16,3646 33756 DCA DFQRAXIS
021596,001154: 16,3647 53001 DXCH T5ADR
021597,001155:
021598,001156: # INCREMENT AOSTERM IN DESCENT MODE TO IMPROVE RATE DERIVATION DURING QRAXIS CONTROL.
021599,001157:
021600,001158: 16,3650 37762 CAF BIT2 # STAGE BIT IS ONE FOR DESCENT.
021601,001159: 16,3651 00006 EXTEND
021602,001160: 16,3652 02030 RAND 30 # READ STAGE BIT
021603,001161: 16,3653 00006 EXTEND
021604,001162: 16,3654 13716 BZF CHKAPS # NOT IN DESCENT. HOW ABOUT APS BURN.
021605,001163: 16,3655 40075 CS FLAGWRD1 # SEE IF ENGINE IS OFF.
021606,001164: 16,3656 77757 MASK ENGINBIT # READ COMPLEMENT OF ENGINE-ON FLAG.
021607,001165: 16,3657 13660 NOOP
021608,001166: 16,3660 00006 EXTEND
021609,001167: 16,3661 13666 BZF DLOOPBGN # ZERO WHEN ENGINE IS NOT OFF.
021610,001168:
021611,001169: 16,3662 37767 CAF ZERO # YES. ENGINE IS OFF.
021612,001170: 16,3663 55664 TS AOSQTERM
021613,001171: 16,3664 55665 TS AOSRTERM
021614,001172: 16,3665 15735 TCF NOQRSM # RESUME.
021615,001173: 16,3666 37763 DLOOPBGN CAF BIT1 # FIRST THE R-AXIS, THEN THE Q-AXIS.
021616,001174: 16,3667 54061 DLOOP TS ITEMP1
021617,001175: 16,3670 60000 DOUBLE
021618,001176: 16,3671 54062 TS ITEMP2
021619,001177: 16,3672 50061 INDEX ITEMP1
![]() |
Page 517 |
021621,001179: 16,3673 33751 CA PITCHBTS
021622,001180: 16,3674 00006 EXTEND
021623,001181: 16,3675 02012 RAND 12 # IS PITCH(ROLL) GIMBAL MOVING.
021624,001182: 16,3676 00006 EXTEND
021625,001183: 16,3677 13713 BZF DLOOPCHK # ZERO WHEN GIMBAL IS NOT MOVING.
021626,001184:
021627,001185: # FORM ACCDOT*CSP(2)*(1-.5*K) SCALED AT PI/4. THIS IS THE INCREMENT TO BE ADDED TO THE OFFSET ACCELERATION TERM.
021628,001186:
021629,001187: 16,3700 41642 CS (1-K) # (1-K) SCALED AT 1. CS TO COMPENSATE FOR
021630,001188: # INVERTED SIGN OF QACCDOT.
021631,001189: 16,3701 00006 EXTEND
021632,001190: 16,3702 77753 MP BIT9 # .5*(1-K) , SCALED AT 2(5).
021633,001191: 16,3703 63760 AD NEGBIT9 # (1.-.5*K) SCALED AT 2(5).
021634,001192: 16,3704 00006 EXTEND
021635,001193: 16,3705 73753 MP CSPSQ # CSP(2)*(1.-.5*K) AT 2(5)
021636,001194: 16,3706 00006 EXTEND
021637,001195: 16,3707 50062 INDEX ITEMP2 # SELECT THE AXIS .
021638,001196: 16,3710 71533 MP QACCDOT # QACCDOT AT PI/2(7).
021639,001197: 16,3711 50061 INDEX ITEMP1
021640,001198: 16,3712 27664 ADS AOSQTERM # ADD INCREMENT SCALED AT PI/4.
021641,001199: 16,3713 10061 DLOOPCHK CCS ITEMP1
021642,001200: 16,3714 13667 TCF DLOOP # R-AXIS DONE. NOW DO THE Q-AXIS.
021643,001201: 16,3715 15735 TCF NOQRSM # RESUME.
021644,001202: 16,3716 11732 CHKAPS CCS AOSCOUNT # 4 WAY BRANCH EXPLOITED
021645,001203: 16,3717 13737 TCF DECCOUNT # COUNTING DOWN FOR AOSTASK
021646,001204: 16,3720 13741 TCF AOSNEXT # TIME TO DO AOSTASK
021647,001205: 16,3721 15735 TCF NOQRSM # AOSCOUNT NOT IN USE.INACTIVE AOSTASK.
021648,001206: 16,3722 55624 TS SUMRATEQ # MINUS ZERO PUT IN AOSCOUNT BY APSENGON.
021649,001207: 16,3723 55625 TS SUMRATER
021650,001208: 16,3724 55622 TS SAVRATEQ
021651,001209: 16,3725 55623 TS SAVRATER
021652,001210: 16,3726 55650 TS KCOEFCTR
021653,001211: 16,3727 41416 CS OMEGAQ # RECORD -(OLD OMEGA) FOR BOTH AXES FOR
021654,001212: 16,3730 55626 TS OLDWFORQ
021655,001213: 16,3731 41420 CS OMEGAR # THE FIRST PASS OF AOSTASK.
021656,001214: 16,3732 55627 TS OLDWFORR
021657,001215: 16,3733 40077 CS DAPBOOLS
021658,001216: 16,3734 77754 MASK APSGOING
021659,001217: 16,3735 26077 ADS DAPBOOLS
021660,001218: 16,3736 33750 CAF 19DECIML
021661,001219:
021662,001220: 16,3737 55732 DECCOUNT TS AOSCOUNT
021663,001221: 16,3740 15735 TCF NOQRSM
021664,001222:
021665,001223: 16,3741 33750 AOSNEXT CAF 19DECIML
021666,001224: 16,3742 55732 TS AOSCOUNT
021667,001225: 16,3743 00006 EXTEND
021668,001226: 16,3744 33747 DCA TOAOSTSK
021669,001227: 16,3745 52005 DTCF
021670,001228:
![]() |
Page 518 |
021672,001230: 16,3746 41245 03245 TOAOSTSK 2FCADR AOSTASK
021673,001231:
021674,001232: 16,3750 00023 19DECIML DEC 19 B-14
021675,001233: 16,3751 01400 PITCHBTS OCT 01400 # PITCH GIMBAL BITS (9,10).
021676,001234: 16,3752 06000 OCT 06000 # ROLL GIMBAL BITS, (11,12).
021677,001235: 16,3753 00243 CSPSQ OCT 00243 # .01 SCALED AT 1, FOR CSP(2).
021678,001236: 16,3754 37776 TWENTYMS OCT 37776 # 20 MS FOR T5.
021679,001237: 16,3755 E6,1467 EBANK= QERROR
021680,001238: 16,3755 02002 36066 DFQRAXIS 2CADR QRAXIS
021681,001239:
021682,001240: 16,3757 01330 HULLSLIM DEC 0.04444 # 0.5 DEG/SEC SCALED AT 11.25 DEG/SEC
021683,001241: 16,3760 77377 NEGBIT9 OCT -400
021684,001242: 16,3761 37777 CHKSUM16 OCT 37777
End of include-file P-AXIS_REACTION_CONTROL_SYSTEM_AUTOPILOT.agc. Parent file is MAIN.agc