Source Code

044596,000001: # Copyright: Public domain. 044597,000002: # Filename: JET_SELECTION_LOGIC.agc 044598,000003: # Purpose: Part of the source code for Colossus, build 249. 044599,000004: # It is part of the source code for the Command Module's (CM) 044600,000005: # Apollo Guidance Computer (AGC), possibly for Apollo 8 and 9. 044601,000006: # Assembler: yaYUL 044602,000007: # Reference: Starts on p. 1014 of 1701.pdf. 044603,000008: # Contact: Ron Burkey <info@sandroid.org>. 044604,000009: # Website: www.ibiblio.org/apollo. 044605,000010: # Mod history: 08/26/04 RSB. Began transcribing. 044606,000011: 044607,000012: # The contents of the "Colossus249" files, in general, are transcribed 044608,000013: # from a scanned document obtained from MIT's website, 044609,000014: # http://hrst.mit.edu/hrs/apollo/public/archive/1701.pdf. Notations on this 044610,000015: # document read, in part: 044611,000016: 044612,000017: # Assemble revision 249 of AGC program Colossus by NASA 044613,000018: # 2021111-041. October 28, 1968. 044614,000019: 044615,000020: # This AGC program shall also be referred to as 044616,000021: # Colossus 1A 044617,000022: 044618,000023: # Prepared by 044619,000024: # Massachussets Institute of Technology 044620,000025: # 75 Cambridge Parkway 044621,000026: # Cambridge, Massachusetts 044622,000027: # under NASA contract NAS 9-4065. 044623,000028: 044624,000029: # Refer directly to the online document mentioned above for further information. 044625,000030: # Please report any errors (relative to 1701.pdf) to info@sandroid.org. 044626,000031: 044627,000032: # In some cases, where the source code for Luminary 131 overlaps that of 044628,000033: # Colossus 249, this code is instead copied from the corresponding Luminary 131 044629,000034: # source file, and then is proofed to incorporate any changes. 044630,000035: 044631,000036: # Page 1014 044632,000037: 21,3751 BANK 21 044633,000038: 17,2000 SETLOC DAPS4 044634,000039: 17,2000 BANK 044635,000040: 044636,000041: 17,2577 COUNT 17/DAPJS 044637,000042: 044638,000043: 17,2577 E6,1510 EBANK= KMPAC 044639,000044: 044640,000045: # EXAMINE CHANNEL 31 FOR TRANSLATION COMMANDS 044641,000046: 044642,000047: 17,2577 22016 JETSLECT LXCH BANKRUPT 044643,000048: 17,2600 32661 CAF DELTATT3 # = 60 MS RESET TO EXECUTIVE PHASE1 044644,000049: 17,2601 61634 AD T5TIME 044645,000050: 17,2602 54030 TS TIME5 044646,000051: 17,2603 12606 TCF +3 044647,000052: 17,2604 32662 CAF DELATT20 # = 20 MS TO ASSURE A T5RUPT 044648,000053: 17,2605 54030 TS TIME5 044649,000054: 17,2606 33340 CAF =14MS # RESET T6 TO INITIALIZE THE JET CHANNELS 044650,000055: 17,2607 54031 TS TIME6 # IN 14 MS 044651,000056: 17,2610 34674 CAF NEGMAX 044652,000057: 17,2611 00006 EXTEND 044653,000058: 17,2612 05013 WOR CHAN13 044654,000059: 17,2613 00006 EXTEND 044655,000060: 17,2614 22012 QXCH QRUPT 044656,000061: 17,2615 32660 CAF XLNMASK # = 7700 OCT 044657,000062: 17,2616 00006 EXTEND # EXAMINE THE TRANSLATION 044658,000063: 17,2617 06031 RXOR CHAN31 # HAND CONTROLLER 044659,000064: 17,2620 72660 MASK XLNMASK 044660,000065: 17,2621 00006 EXTEND 044661,000066: 17,2622 12663 BZF NOXLNCMD 044662,000067: 17,2623 55502 TS T5TEMP 044663,000068: 17,2624 00006 EXTEND 044664,000069: 17,2625 74702 MP BIT9 044665,000070: 17,2626 76214 MASK THREE 044666,000071: 17,2627 55513 TS XNDX1 # AC QUAD X-TRANSLATION INDEX 044667,000072: 17,2630 55514 TS XNDX2 # BD QUAD X-TRANSLATION INDEX 044668,000073: 17,2631 31502 CA T5TEMP 044669,000074: 17,2632 00006 EXTEND # 1 = + XLN 044670,000075: 17,2633 74704 MP BIT7 # 2 = - XLN 044671,000076: 17,2634 76214 MASK THREE # 3 = NO XLN 044672,000077: 17,2635 55515 TS YNDX # Y-TRANSLATION INDEX 044673,000078: 044674,000079: 17,2636 31502 CA T5TEMP 044675,000080: 17,2637 00006 EXTEND 044676,000081: 17,2640 74706 MP BIT5 044677,000082: 17,2641 76214 MASK THREE 044678,000083: 17,2642 55516 TS ZNDX # Z-TRANSLATION INDEX 044679,000084: 044680,000085: 17,2643 31466 CA DAPDATR1 # SET ATTKALMN TO PICK UP FILTER GAINS FOR 044681,000086: 17,2644 74675 MASK BIT14 # TRANSLATIONS. 044682,000087: 17,2645 00006 EXTEND # CHECK DAPDATR1 BIT 14 FOR LEM ATTACHED. 044683,000088: # Page 1015 044684,000089: 17,2646 12651 BZF NOLEM 044685,000090: 17,2647 46214 CS THREE # IF LEM IS ON, SET ATTKALMN = -3 044686,000091: 17,2650 12652 TCF +2 044687,000092: 17,2651 44711 NOLEM CS TWO # IF LEM IS OFF, SET ATTKALMN = -2. 044688,000093: 17,2652 55617 TS ATTKALMN 044689,000094: 17,2653 11631 CCS XTRANS # (+, -1, 0) 044690,000095: 17,2654 55513 TS XNDX1 # USING BD-X ZERO XNDX1 044691,000096: 17,2655 12667 TCF PWORD 044692,000097: 17,2656 55514 TS XNDX2 # USING AC-X ZERO XNDX2 044693,000098: 17,2657 12667 TCF PWORD 044694,000099: 17,2660 07700 XLNMASK OCT 7700 044695,000100: 17,2661 37772 DELTATT3 DEC 16378 B-14 # = 60 MS 044696,000101: 17,2662 37776 DELATT20 DEC 16382 B-14 # = 20 MS 044697,000102: 044698,000103: 17,2663 55513 NOXLNCMD TS XNDX1 # ZERO ALL REQUESTS FOR TRANSLATION 044699,000104: 17,2664 55514 TS XNDX2 044700,000105: 17,2665 55515 TS YNDX 044701,000106: 17,2666 55516 TS ZNDX 044702,000107: 044703,000108: # PITCH COMMANDS TIMING(NO X-TRANS, NO QUAD FAILS) 32MCT 044704,000109: 044705,000110: 17,2667 11562 PWORD CCS TAU1 # CHECK FOR PITCH COMMANDS 044706,000111: 17,2670 34712 CAF ONE 044707,000112: 17,2671 12673 TCF +2 # 0 = NO PITCH 044708,000113: 17,2672 34711 CAF TWO # +1 = + PITCH 044709,000114: 17,2673 55520 TS PINDEX # +2 = - PITCH 044710,000115: 044711,000116: 17,2674 11626 CCS RACFAIL # FLAG FOR REAL AC QUAD FAILURES 044712,000117: 17,2675 12701 TCF AFAILP 044713,000118: 17,2676 12711 TCF TABPCOM # 0 = NO REAL AC FAILURES 044714,000119: 17,2677 12703 TCF CFAILP # + = A QUAD FAILED 044715,000120: 17,2700 12711 TCF TABPCOM # - = C QUAD FAILED 044716,000121: # IF FAILURES ARE PRESENT IGNORE 044717,000122: # X-TRANSLATIONS ON THIS AXIS 044718,000123: 044719,000124: 17,2701 34334 AFAILP CAF NINE # IF FAILURE IS PRESENT 1JET OPERATION 044720,000125: 17,2702 12713 TCF TABPCOM +2 # IS ASSUMED. IGNORE X-TRANSLATION 044721,000126: 17,2703 35656 CFAILP CAF TWELVE 044722,000127: 17,2704 12713 TCF TABPCOM +2 044723,000128: 044724,000129: 17,2705 00000 XLNNDX DEC 0 B-14 # INDICES FOR TRANSLATION COMMANDS 044725,000130: 17,2706 00003 DEC 3 B-14 # FOR USE IN TABLE LOOK UP 044726,000131: 17,2707 00006 DEC 6 B-14 044727,000132: 17,2710 00000 DEC 0 B-14 044728,000133: 044729,000134: 17,2711 5656 TWELVE = OCT14 044730,000135: 044731,000136: # TABLE LOOK UP FOR PITCH COMMANDS WITH AND WITHOUT X-TRANSLATION AND AC QUAD FAILURES PRESENT. 044732,000137: # BITS 9, 10 CONTAIN THE NUMBER OF PITCH JETS USED TO PERFORM THE PITCH ROTATION 044733,000138: # Page 1016 044734,000139: 044735,000140: 17,2711 51513 TABPCOM INDEX XNDX1 044736,000141: 17,2712 32705 CA XLNNDX 044737,000142: 17,2713 61520 AD PINDEX 044738,000143: 17,2714 50000 INDEX A 044739,000144: 17,2715 32741 CA PYTABLE 044740,000145: 17,2716 72760 MASK PJETS # =1417 OCT 044741,000146: 17,2717 55453 TS PWORD1 044742,000147: 17,2720 00006 EXTEND 044743,000148: 17,2721 74704 MP BIT7 044744,000149: 17,2722 55523 TS NPJETS # = NO. OF PITCH JETS 044745,000150: 044746,000151: # YAW JET COMMANDS TIMING(N X-TRANS, NO QUAD FAILURES) 32MCT 044747,000152: 044748,000153: 17,2723 11563 YWORD CCS TAU2 # CHECK FOR YAW COMMANDS 044749,000154: 17,2724 34712 CAF ONE 044750,000155: 17,2725 12727 TCF +2 044751,000156: 17,2726 34711 CAF TWO 044752,000157: 17,2727 55521 TS YINDEX # YAW ROTATION INDEX 044753,000158: 044754,000159: 17,2730 11627 CCS RBDFAIL # FLAG FOR B OR D QUAD FAILURES 044755,000160: 17,2731 12735 TCF BFAILY # 0 = NO BD FAILURE 044756,000161: 17,2732 12762 TCF TABYCOM # + - B QUAD FAILED 044757,000162: 17,2733 12737 TCF DFAILY # - = D QUAD FAILED 044758,000163: 17,2734 12762 TCF TABYCOM 044759,000164: 044760,000165: 17,2735 34334 BFAILY CAF NINE 044761,000166: 17,2736 12764 TCF TABYCOM +2 044762,000167: 17,2737 35656 DFAILY CAF TWELVE 044763,000168: 17,2740 12764 TCF TABYCOM +2 044764,000169: 044765,000170: # Page 1017 044766,000171: # TABLE FOR PITCH(YAW) COMMANDS 044767,000172: # BITS 4,3,2,1 = PITCH, X-TRANSLATION JETS SELECTED 044768,000173: # BITS 10,9 = NO. PITCH JETS USED TO PERFORM ROTATION 044769,000174: # BITS 8,7,6,5 = YAW, X-TRANSLATION JETS SELECTED 044770,000175: # BITS 12,11: NO. YAW JETS USED TO PERFORM ROTATION 044771,000176: 044772,000177: # ROT TRANS QUAD BIAS 044773,000178: 17,2741 00000 PYTABLE OCT 0 # 0 0 0 044774,000179: 17,2742 05125 OCT 5125 # + 0 0 044775,000180: 17,2743 05252 OCT 5252 # - 0 0 044776,000181: 17,2744 00231 OCT 0231 # 0 + 3 044777,000182: 17,2745 02421 OCT 2421 # + + 3 044778,000183: 17,2746 02610 OCT 2610 # - + 3 044779,000184: 17,2747 00146 OCT 0146 # 0 - 6 044780,000185: 17,2750 02504 OCT 2504 # + - 6 044781,000186: 17,2751 02442 OCT 2442 # - - 6 044782,000187: 17,2752 00000 OCT 0 # 0 A(B) 9 044783,000188: 17,2753 02421 OCT 2421 # + A(B) 9 044784,000189: 17,2754 02442 OCT 2442 # - A(B) 9 044785,000190: 17,2755 00000 OCT 0 # 0 C(D) 12 044786,000191: 17,2756 02504 OCT 2504 # + C(D) 12 044787,000192: 17,2757 02610 OCT 2610 # - C(D) 12 044788,000193: 044789,000194: # MASKS FOR PITCH AND YAW COMMANDS 044790,000195: 044791,000196: 17,2760 01417 PJETS OCT 1417 044792,000197: 17,2761 06360 YJETS OCT 6360 044793,000198: 044794,000199: # TABLE LOOK UP FOR YAW COMMANDS WTIH AND WITHOUT X-TRANSLATION AND AC QUAD FAILURES PRESENT 044795,000200: # BITS 11, 12 CONTAIN THE NUMBER OF YAW JETS USED TO PERFORM THE YAW ROTATION 044796,000201: 044797,000202: 17,2762 51514 TABYCOM INDEX XNDX2 044798,000203: 17,2763 32705 CA XLNNDX 044799,000204: 17,2764 61521 AD YINDEX 044800,000205: 17,2765 50000 INDEX A 044801,000206: 17,2766 32741 CA PYTABLE 044802,000207: 17,2767 72761 MASK YJETS # = 6360 OCT 044803,000208: 17,2770 55455 TS YWORD1 044804,000209: 17,2771 00006 EXTEND 044805,000210: 17,2772 74706 MP BIT5 044806,000211: 17,2773 55524 TS NYJETS # NO. OF YAW JETS USED TO PERFORM ROTATION 044807,000212: 044808,000213: # Page 1018 044809,000214: # ROLL COMMANDS TIMING(NO Y,Z TRANS, NO QUAD FAILS) 45MCT 044810,000215: 044811,000216: 17,2774 11561 RWORD CCS TAU # CHECK FOR ROLL COMMANDS 044812,000217: 17,2775 34712 CAF ONE 044813,000218: 17,2776 13000 TCF +2 044814,000219: 17,2777 34711 CAF TWO 044815,000220: 17,3000 55517 TS RINDEX 044816,000221: 044817,000222: 17,3001 11630 CCS ACORBD # FLAG FOR AC OR BD QUAD SELECTION FOR 044818,000223: 17,3002 13073 TCF BDROLL # ROLL COMMANDS 044819,000224: 17,3003 13073 TCF BDROLL # +, +0 = BD ROLL 044820,000225: 17,3004 13005 TCF +1 # -, -0 = AC ROLL 044821,000226: 044822,000227: 17,3005 11626 ACROLL CCS RACFAIL # CHECK FOR REAL FAILURES 044823,000228: 17,3006 13012 TCF RAFAIL # ON AC QUADS 044824,000229: 17,3007 13022 TCF RXLNS 044825,000230: 17,3010 13014 TCF RCFAIL 044826,000231: 17,3011 13022 TCF RXLNS 044827,000232: 044828,000233: 17,3012 34334 RAFAIL CAF NINE # QUAD FAILURE WILL GET 044829,000234: 17,3013 13024 TCF TABRCOM # 1-JET OPERATION 044830,000235: 17,3014 35656 RCFAIL CAF TWELVE 044831,000236: 17,3015 13024 TCF TABRCOM 044832,000237: 044833,000238: 17,3016 00000 XLN1NDX DEC 0 B-14 044834,000239: 17,3017 00001 DEC 1 B-14 # INDICES FOR TRANSLATION 044835,000240: 17,3020 00002 DEC 2 B-14 044836,000241: 17,3021 00000 DEC 0 B-14 044837,000242: 044838,000243: # TABLE LOOK UP FOR AC-ROLL COMMANDS WITH AND WITHOUT Y-TRANSLATION AND ACQUAD FAILURES PRESENT 044839,000244: # BITS 9,10,11 CONTAIN THE MAGNITUDE AND DIRECTION OF THE ROLL 044840,000245: 044841,000246: 17,3022 51515 RXLNS INDEX YNDX # NO AC QUAD FAILURES 044842,000247: 17,3023 32705 CA XLNNDX # INCLUDE +,-,0, Y-TRANSLATION 044843,000248: 17,3024 61517 TABRCOM AD RINDEX 044844,000249: 17,3025 50000 INDEX A 044845,000250: 17,3026 33155 CA RTABLE 044846,000251: 17,3027 73174 MASK ACRJETS # = 3760 OCT 044847,000252: 17,3030 55451 TS RWORD1 044848,000253: 044849,000254: # CHECK FOR Z-TRANSLATIONS ON BD 044850,000255: 044851,000256: 17,3031 31516 BDZCHECK CA ZNDX 044852,000257: 17,3032 00006 EXTEND 044853,000258: 17,3033 63065 BZMF NOBDZ # NO Z-TRANSLATION 044854,000259: 044855,000260: # Page 1019 044856,000261: # TABLE LOOK UP FOR BD Z-TRANSLATION WITH AND WITHOUT REAL BD QUAD FAILURES. Z-TRANSLATION WILL BE POSSIBLE 044857,000262: # AS LONG AS ROLL COMMANDS CAN BE SATISFIED WITH THE AC ROLL JETS. CRITERION: IF THE RESULTANT NET ROLL 044858,000263: # COMMANDS = 0 (WITH Z-TRANSLATION) AND IF TAU = 0, THEN INCLUDE THE BD Z-TRANSLATION COMMANDS. IF THE RESULTANT 044859,000264: # ROLL COMMAND = 0, AND IF TAU NZ, THEN IGNORE THE BD Z-TRANSLATION 044860,000265: 044861,000266: 17,3034 11627 CCS RBDFAIL 044862,000267: 17,3035 36214 CAF THREE 044863,000268: 17,3036 13040 TCF +2 044864,000269: 17,3037 36211 CAF SIX 044865,000270: 17,3040 51516 INDEX ZNDX 044866,000271: 17,3041 63016 AD XLN1NDX 044867,000272: 17,3042 50000 INDEX A 044868,000273: 17,3043 33176 CA YZTABLE 044869,000274: 17,3044 73207 MASK BDZJETS # = 3417 OCT 044870,000275: 17,3045 61451 AD RWORD1 # ADD TO ROLL COMMANDS 044871,000276: 17,3046 55502 TS T5TEMP # IF POSSIBLE. MUST CHECK TAU FIRST 044872,000277: 044873,000278: 17,3047 00006 EXTEND 044874,000279: 17,3050 74704 MP BIT7 # DETERMINE THE NET ROLL COMMAND WITH 044875,000280: 17,3051 66061 AD =-4 # Z-TRANSLATION ADDED ON 044876,000281: 17,3052 55522 TS NRJETS # NET NO. OF +,- ROLL JETS ON 044877,000282: 17,3053 00006 EXTEND 044878,000283: 17,3054 13060 BZF TAUCHECK 044879,000284: 044880,000285: 17,3055 31502 ACRBDZ CA T5TEMP # Z-TRANSLATION ACCEPTED EVEN THO WE MAY 044881,000286: 17,3056 55451 TS RWORD1 # HAVE INTRODUCED AND UNDESIREABLE ROLL 044882,000287: 17,3057 13321 TCF ROLLTIME # BRANCH TO JET ON-TIME CALCULATIONS 044883,000288: 044884,000289: 17,3060 11561 TAUCHECK CCS TAU 044885,000290: 17,3061 13065 TCF NOBDZ 044886,000291: 17,3062 13055 TCF ACRBDZ 044887,000292: 17,3063 13065 TCF NOBDZ 044888,000293: 17,3064 13055 TCF ACRBDZ 044889,000294: 044890,000295: 17,3065 31451 NOBDZ CA RWORD1 # Z-TRANSLATION NOT ACCEPTED 044891,000296: 17,3066 00006 EXTEND 044892,000297: 17,3067 74704 MP BIT7 044893,000298: 17,3070 67715 AD =-2 044894,000299: 17,3071 55522 TS NRJETS 044895,000300: 17,3072 13321 TCF ROLLTIME # BRANCH TO JET ON-TIME CALCULATION 044896,000301: 044897,000302: # Page 1020 044898,000303: # BD QUAD SELECTION FOR ROLL COMMANDS 044899,000304: 044900,000305: 17,3073 11627 BDROLL CCS RBDFAIL 044901,000306: 17,3074 13100 TCF RBFAIL 044902,000307: 17,3075 13104 TCF RZXLNS 044903,000308: 17,3076 13102 TCF RDFAIL 044904,000309: 17,3077 13104 TCF RZXLNS 044905,000310: 17,3100 34334 RBFAIL CAF NINE 044906,000311: 17,3101 13106 TCF TABRZCMD 044907,000312: 17,3102 35656 RDFAIL CAF TWELVE 044908,000313: 17,3103 13106 TCF TABRZCMD 044909,000314: 044910,000315: 17,3104 51516 RZXLNS INDEX ZNDX # NO BD FAILURES 044911,000316: 17,3105 32705 CA XLNNDX # +,-,0 Z-TRANSLATION PRESENT 044912,000317: 17,3106 61517 TABRZCMD AD RINDEX 044913,000318: 17,3107 50000 INDEX A 044914,000319: 17,3110 33155 CA RTABLE 044915,000320: 17,3111 73175 MASK BDRJETS # = 34017 OCT 044916,000321: 17,3112 55451 TS RWORD1 044917,000322: 044918,000323: 17,3113 31515 ACYCHECK CA YNDX # ANY Y-TRANSLATION 044919,000324: 17,3114 00006 EXTEND 044920,000325: 17,3115 13147 BZF NOACY # NO Y-TRANSLATION 044921,000326: 17,3116 11626 CCS RACFAIL 044922,000327: 17,3117 36214 CAF THREE 044923,000328: 17,3120 13122 TCF +2 044924,000329: 17,3121 36211 CAF SIX 044925,000330: 17,3122 51515 INDEX YNDX 044926,000331: 17,3123 63016 AD XLN1NDX 044927,000332: 17,3124 50000 INDEX A 044928,000333: 17,3125 33176 CA YZTABLE 044929,000334: 17,3126 73210 MASK ACYJETS # = 34360 OCT 044930,000335: 17,3127 61451 AD RWORD1 044931,000336: 17,3130 55502 TS T5TEMP 044932,000337: 17,3131 00006 EXTEND # FOR EXPLANATION SEE CODING ON RTABLE 044933,000338: 17,3132 74707 MP BIT4 044934,000339: 17,3133 66061 AD =-4 044935,000340: 17,3134 55522 TS NRJETS # NO. OF NET ROLL JETS 044936,000341: 17,3135 00006 EXTEND 044937,000342: 17,3136 13142 BZF TAUCHCK # IF NRJETS = 0 044938,000343: 044939,000344: 17,3137 31502 BDRACZ CA T5TEMP # Y-TRANSLATION ACCEPTED 044940,000345: 17,3140 55451 TS RWORD1 044941,000346: 17,3141 13321 TCF ROLLTIME # BRANCH TO JET ON-TIME CALCULATIONS 044942,000347: 044943,000348: 17,3142 11561 TAUCHCK CCS TAU 044944,000349: 17,3143 13147 TCF NOACY 044945,000350: 17,3144 13137 TCF BDRACZ 044946,000351: 17,3145 13147 TCF NOACY 044947,000352: 17,3146 13137 TCF BDRACZ 044948,000353: 044949,000354: # Page 1021 044950,000355: 17,3147 31451 NOACY CA RWORD1 # Y-TRANSLATION NOT ACCEPTED 044951,000356: 17,3150 00006 EXTEND 044952,000357: 17,3151 74707 MP BIT4 044953,000358: 17,3152 67715 AD =-2 044954,000359: 17,3153 55522 TS NRJETS 044955,000360: 17,3154 13321 TCF ROLLTIME 044956,000361: 044957,000362: # Page 1022 044958,000363: # TABLE FOR ROLL, Y AND Z-TRANSLATION COMMANDS 044959,000364: 044960,000365: # EITHER AC OR BD ROLL MAY BE SELECTED. IF AC ROLL IS SELECTED, Y-TRANSLATIONS MAY BE SATISFIED SIMULTANEOUSLY 044961,000366: # PROVIDED THAT THERE ARE NO AC QUAD FAILURES. IF THERE ARE AC FAILURES, Y-TRANSLATION COMMANDS WILL BE IGNORED, 044962,000367: # IN WHICH CASE THE ASTRONAUT SHOULD SWITCH TO BD ROLL. 044963,000368: 044964,000369: # IF BDROLL IS SELECTED, Z-TRANSLATIONS MAY BE SATISFIED SIMULTANEOUSLY PROVIDED THAT THERE ARE NO BD QUAD 044965,000370: # FAILURES. IF THERE ARE BD FAILURES, Z-TRANSLATION COMMANDS WILL BE IGNORED, IN WHICH CASE THE ASTRONAUT SHOULD 044966,000371: # SWITCH TO AC ROLL. 044967,000372: 044968,000373: # NOTE THAT IF ONE QUAD FAILS (E.G. B FAILED), Z-TRANSLATION IS STILL POSSIBLE AND THAT THE UNDESIREABLE ROLL 044969,000374: # INTRODUCED BY THIS TRANSLATION WILL BE COMPENSATED BY THE TWO AC ROLL JETS ACTUATED BY THE AUTOPILOT LOGIC. 044970,000375: 044971,000376: # WORD MAKE UP....RTABLE 044972,000377: 044973,000378: # TWO WORDS, CORRESPONDING TO AC OR BD ROLL SELECTION, HAVE BEEN COMBINED INTO ONE TABLE. THE WORD CORRESPONDING 044974,000379: # TO AC ROLL HAS THE FOLLOWING INTERPRETATION: 044975,000380: 044976,000381: # BITS 9,10,11 ARE CODED TO GIVE THE NET ROLL TORQUE FOR THE WORD SELECTED. THE CODING IS: 044977,000382: 044978,000383: # BIT NO. 11 10 9 NO. OF ROLL JETS 044979,000384: 044980,000385: # 0 0 0 -2 044981,000386: # 0 0 1 -1 044982,000387: # 0 1 0 0 044983,000388: # 0 1 1 +1 044984,000389: # 1 0 0 +2 044985,000390: 044986,000391: # THIS WORD MAY THEN BE ADDED TO THE WORD SELECTED FROM THE YZ-TRANSLATION TABLE, WHICH HAS THE SAME TYPE OF 044987,000392: # CODING AS ABOVE, AND THE NET ROLL DETERMINED BY SHIFTING THE RESULTANT WORD RIGHT 8 PLACES AND SUBTRACTING FOUR. 044988,000393: 044989,000394: # THE WORD CORRESPONDING TO THE BD ROLL HAS A SIMILAR INTEPRETATION, EXCEPT THAT BITS 12, 13, 14 ARE CODED 044990,000395: # (AS ABOVE) TO GIVE THE NET ROLL TORQUE. 044991,000396: 044992,000397: # ROLL TRANS QUADFAIL BIAS 044993,000398: 044994,000399: 17,3155 11000 RTABLE OCT 11000 # 0 0 044995,000400: 17,3156 22125 OCT 22125 # + 0 044996,000401: 17,3157 00252 OCT 00252 # - 0 044997,000402: 17,3160 11231 OCT 11231 # 0 +Y(+Z) 3 044998,000403: 17,3161 15421 OCT 15421 # + +Y(+Z) 3 044999,000404: 17,3162 04610 OCT 04610 # - +Y(+Z) 3 045000,000405: 17,3163 11146 OCT 11146 # 0 -Y(-Z) 6 045001,000406: 17,3164 15504 OCT 15504 # + -Y(-Z) 6 045002,000407: 17,3165 04442 OCT 04442 # - -Y(-Z) 6 045003,000408: 17,3166 11000 OCT 11000 # 0 A(B) 9 045004,000409: 17,3167 15504 OCT 15504 # + A(B) 9 045005,000410: 17,3170 04610 OCT 04610 # - A(B) 9 045006,000411: 17,3171 11000 OCT 11000 # 0 C(D) 12 045007,000412: 17,3172 15421 OCT 15421 # + C(D) 12 045008,000413: 17,3173 04442 OCT 04442 # - C(D) 12 045009,000414: 045010,000415: # Page 1023 045011,000416: # RTABLE MASKS: 045012,000417: 045013,000418: 17,3174 03760 ACRJETS OCT 03760 045014,000419: 17,3175 34017 BDRJETS OCT 34017 045015,000420: 045016,000421: # Page 1024 045017,000422: # Y, Z TRANSLATION TABLE 045018,000423: 045019,000424: # ONCE AC OR BD ROLL IS SELECTED THE QUAD PAIR WHICH IS NOT BEING USED TO SATISFY THE ROLL COMMANDS MAY BE 045020,000425: # USED TO SATISFY THE REMAINING TRANSLATION COMMANDS. HOWEVER, WE MUST MAKE SURE THAT ROLL COMMANDS ARE SATISFIED 045021,000426: # WHEN THEY OCCUR. THEREFORE, THE Y-Z TRANSLATIONS FROM THIS TABLE WILL BE IGNORED IF THE NET ROLL TORQUE OF THE 045022,000427: # COMBINED WORD IS ZERO AND THE ROLL COMMANDS ARE NON-ZERO. THIS SITUATION WOULD OCCUR, FOR EXAMPLE, IF WE ENCOUNTER 045023,000428: # SIMULTANEOUS +R +Y -Z COMMANDS AND A QUAD D FAILURE WHILE USING AC FOR ROLL. 045024,000429: 045025,000430: # TO FACILITATE THE LOGIC, THE Y-Z TRANSLATION TABLE HAS BEEN CODED IN A MANNER SIMILAR TO THE ROLL TABLE 045026,000431: # ABOVE. 045027,000432: 045028,000433: # BITS 9,10,11 ARE CODED TO GIVE THE NET ROLL TORQUE INCURRED BY Z-TRANSLATIONS. THE WORD SELECTED CAN THEN BE 045029,000434: # ADDED TO TEH AC-ROLL WORD AND THE RESULTANT ROLL TORQUE DETERMINED FROM THE COMBINED WORD. SIMILARLY BITS 045030,000435: # 12,13,14 ARE CODED TO GIVE THE NET ROLL TORQUE INCURRED BY Y-TRANSLATIONS WHEN BD-ROLL IS SELECTED. 045031,000436: 045032,000437: # TRANSLATION QUADFAIL BIAS 045033,000438: 045034,000439: 17,3176 11000 YZTABLE OCT 11000 # 0 0 045035,000440: 17,3177 11231 OCT 11231 # +Z(+Y) 0 045036,000441: 17,3200 11146 OCT 11146 # -Z(-Y) 0 045037,000442: 17,3201 11000 OCT 11000 # 0 B(A) 3 045038,000443: 17,3202 04610 OCT 04610 # +Z(+Y) B(A) 3 045039,000444: 17,3203 15504 OCT 15504 # -Z(-Y) B(A) 3 045040,000445: 17,3204 11000 OCT 11000 # 0 D(C) 6 045041,000446: 17,3205 15421 OCT 15421 # +Z(+Y) D(C) 6 045042,000447: 17,3206 04442 OCT 04442 # -Z(-Y) D(C) 6 045043,000448: 045044,000449: # YZ-TABLE MASKS: 045045,000450: 045046,000451: 17,3207 03417 BDZJETS OCT 03417 045047,000452: 17,3210 34360 ACYJETS OCT 34360 045048,000453: 045049,000454: # ADDITIONAL CONSTANTS 045050,000455: 045051,000456: 17,3211 7715 =-2 = NEG2 045052,000457: 17,3211 6061 =-4 = NEG4 045053,000458: 045054,000459: # Page 1025 045055,000460: # CALCULATION OF JET ON-TIMES 045056,000461: 045057,000462: # THE ROTATION COMMANDS (TAU'S), WHICH WERE DETERMINED FROM THE JET SWITCHING LOGIC ON THE BASIS OF SINGLE JET 045058,000463: # OPERATION, MUST NOW BE UPDATED BY THE ACTUAL NUMBER OF JETS TO BE USED IN SATISFYING THESE COMMANDS. TAU MUST 045059,000464: # ALSO BE DECREMENTED ACCORDING TO THE EXPECTED TORQUE GENERATED BY THE NEW COMMANDS ACTING OVER THE NEXT T5 045060,000465: # INTERVAL. 045061,000466: 045062,000467: # IN ORDER TO MAINTAIN ACCURATE KNOWLEDGE OF VEHICLE ANGULAR RATES, WE MUST ALSO PROVIDE EXPECTED FIRING TIMES 045063,000468: # (DFT'S, ALSO IN TERMS OF 1-JET OPERATION) FOR THE RATE FILTER. 045064,000469: 045065,000470: # NOTE THAT TRANSLATIONS CAN PRODUCE ROTATIONS EVEN THOUGH NO ROTATIONS WERE CALLED FOR. NEVERTHELESS, WE MUST 045066,000471: # UPDATE DFT. 045067,000472: 045068,000473: # WHEN THE ROTATIONS HAVE FINISHED, WE MUST PROVIDE CHANNEL INFORMATION TO THE T6 PROGRAM TO CONTINUE ON WITH 045069,000474: # THE TRANSLATIONS. THIS WILL BE DONE IN THE NEXT SECTION. HOWEVER, TO INSURE THAT JETS ARE NOT FIRED FOR LESS 045070,000475: # THAN A MINIMUM IMPULSE (14MS), ALL JET CHANNEL COMMANDS WILL BE HELD FIXED FROM THE START OF THE T5 PROGRAM FOR 045071,000476: # AT LEAST 14MS UNTIL THE INITIALIZATION OF NEW COMMANDS. MOREOVER, A 14MS ON-TIME WILL BE ADDED TO ANY ROTATIONAL 045072,000477: # COMMANDS GENERATED BY THE MANUAL CONTROLS OR THE JET SWITCHING LOGIC, AND ALL TRANSLATION COMMANDS WILL BE 045073,000478: # ACTIVE FOR AT LEAST ONE CYCLE OF THE T5 PROGRAM (.1SEC) 045074,000479: 045075,000480: # PITCH JET ON-TIME CALCULATION 045076,000481: 045077,000482: 17,3211 11562 PITCHTIM CCS TAU1 045078,000483: 17,3212 13221 TCF PTAUPOS 045079,000484: 17,3213 13215 TCF +2 045080,000485: 17,3214 13217 TCF PTAUNEG 045081,000486: 17,3215 55550 TS DFT1 # NO PITCH ROTATION 045082,000487: 17,3216 13417 TCF PBYPASS # COMMANDS 045083,000488: 045084,000489: 17,3217 41523 PTAUNEG CS NPJETS 045085,000490: 17,3220 55523 TS NPJETS 045086,000491: 17,3221 31562 PTAUPOS CA TAU1 045087,000492: 17,3222 00006 EXTEND 045088,000493: 17,3223 51523 INDEX NPJETS 045089,000494: 17,3224 73400 MP NJET 045090,000495: 17,3225 55461 TS BLAST1 045091,000496: 17,3226 63333 AD =-.1SEC 045092,000497: 17,3227 00006 EXTEND 045093,000498: 17,3230 63241 BZMF AD14MSP 045094,000499: 17,3231 51523 INDEX NPJETS 045095,000500: 17,3232 33334 CA DFTMAX # THE PITCH ON-TIME IS GREATER THAN .1 SEC 045096,000501: 17,3233 55550 TS DFT1 045097,000502: 17,3234 40000 COM 045098,000503: 17,3235 27562 ADS TAU1 # UPDATE TAU1 045099,000504: 17,3236 33335 CAF =+.1SEC # LIMIT THE LENGTH OF PITCH ROTATION 045100,000505: 17,3237 55461 TS BLAST1 # COMMANDS TO 0.1 SEC SO THAT ONLY 045101,000506: 17,3240 13404 TCF ASMBLWP # X-TRANSLATIONS WILL CONTINUE ON SWITCH 045102,000507: # OVER TO TVC 045103,000508: 17,3241 41461 AD14MSP CS BLAST1 # SEE IF JET ON TIME IS LESS THAN 045104,000509: 17,3242 63340 AD =14MS # MINIMUM IMPULSE TIME 045105,000510: 17,3243 00006 EXTEND 045106,000511: 17,3244 63247 BZMF PBLASTOK # IF SO LIMIT MINIMUM ON TIME TO 14 MS 045107,000512: 17,3245 33340 CAF =14MS 045108,000513: # Page 1026 045109,000514: 17,3246 55461 TS BLAST1 045110,000515: 17,3247 31461 PBLASTOK CA BLAST1 045111,000516: 17,3250 00006 EXTEND # THE PITCH COMMANDS WILL BE COMPLETED 045112,000517: 17,3251 71523 MP NPJETS # WITHIN THE TS-CYCLE TIME 045113,000518: 17,3252 23550 LXCH DFT1 # FOR USE IN UPDATING RATE FILTER 045114,000519: 17,3253 55562 TS TAU1 # ZERO TAU1 (ACC CONTAINS ZERO) 045115,000520: 17,3254 13404 TCF ASMBLWP 045116,000521: 045117,000522: # Page 1027 045118,000523: # YAW JET ON-TIME CALCULATION 045119,000524: 045120,000525: 17,3255 11563 YAWTIME CCS TAU2 045121,000526: 17,3256 13265 TCF YTAUPOS 045122,000527: 17,3257 13261 TCF +2 045123,000528: 17,3260 13263 TCF YTAUNEG 045124,000529: 17,3261 55551 TS DFT2 # NO YAW ROTATION COMMANDS 045125,000530: 17,3262 13563 TCF YBYPASS 045126,000531: 045127,000532: 17,3263 41524 YTAUNEG CS NYJETS 045128,000533: 17,3264 55524 TS NYJETS 045129,000534: 17,3265 31563 YTAUPOS CA TAU2 045130,000535: 17,3266 00006 EXTEND 045131,000536: 17,3267 51524 INDEX NYJETS 045132,000537: 17,3270 73400 MP NJET 045133,000538: 17,3271 55463 TS BLAST2 045134,000539: 17,3272 63333 AD =-.1SEC 045135,000540: 17,3273 00006 EXTEND 045136,000541: 17,3274 63305 BZMF AD14MSY 045137,000542: 17,3275 51524 INDEX NYJETS 045138,000543: 17,3276 33334 CA DFTMAX # YAW COMMANDS WILL LAST LONGER THAN .1SEC 045139,000544: 17,3277 55551 TS DFT2 045140,000545: 17,3300 40000 COM 045141,000546: 17,3301 27563 ADS TAU2 # DECREMENT TAU2 045142,000547: 17,3302 33335 CAF =+.1SEC # LIMIT THE LENGTH OF YAW ROTATION COMMAND 045143,000548: 17,3303 55463 TS BLAST2 # TO 0.1 SEC SO THAT ONLY X-TRANSLATION 045144,000549: 17,3304 13550 TCF ASMBLWY # WILL CONTINUE ON SWITCH OVER TO TVC 045145,000550: 045146,000551: 17,3305 41463 AD14MSY CS BLAST2 # SEE IF JET ON-TIME LESS THAN 045147,000552: 17,3306 63340 AD =14MS # MINIMUM IMPULSE TIME 045148,000553: 17,3307 00006 EXTEND 045149,000554: 17,3310 63313 BZMF YBLASTOK # IF SO, LIMIT MINIMUM ON-TIME TO 14 MS 045150,000555: 17,3311 33340 CAF =14MS 045151,000556: 17,3312 55463 TS BLAST2 045152,000557: 17,3313 31463 YBLASTOK CA BLAST2 # YAW COMMANDS WILL BE COMPLETED WITHIN 045153,000558: 17,3314 00006 EXTEND # THE T5CYCLE TIME 045154,000559: 17,3315 71524 MP NYJETS 045155,000560: 17,3316 23551 LXCH DFT2 045156,000561: 17,3317 55563 TS TAU2 # ZERO TAU2 045157,000562: 17,3320 13550 TCF ASMBLWY 045158,000563: 045159,000564: # Page 1028 045160,000565: # ROLL ON-TIME CALCULATION: 045161,000566: 045162,000567: 17,3321 11561 ROLLTIME CCS TAU 045163,000568: 17,3322 13341 TCF RBLAST 045164,000569: 17,3323 13325 TCF +2 045165,000570: 17,3324 13341 TCF RBLAST 045166,000571: 17,3325 51522 INDEX NRJETS 045167,000572: 17,3326 33334 CA DFTMAX # UPDATE DFT EVEN THO NO ROLL COMMANDS ARE 045168,000573: 17,3327 55547 TS DFT # PRESENT 045169,000574: 17,3330 13543 TCF RBYPASS 045170,000575: 045171,000576: 17,3331 77037 DEC -480 B-14 # =-.3SEC 045172,000577: 17,3332 77277 DEC -320 B-14 # =-.2SEC 045173,000578: 17,3333 77537 =-.1SEC DEC -160 B-14 # =-.1SEC 045174,000579: 17,3334 00000 DFTMAX DEC 0 B-14 # 0 045175,000580: 17,3335 00240 =+.1SEC DEC 160 B-14 # =+.1SEC 045176,000581: 17,3336 00500 DEC 320 B-14 # =+.2SEC 045177,000582: 17,3337 00740 DEC 480 B-14 # =+.3SEC 045178,000583: 17,3340 00027 =14MS DEC 23 B-14 # =14MS 045179,000584: 045180,000585: 17,3341 31561 RBLAST CA TAU 045181,000586: 17,3342 00006 EXTEND 045182,000587: 17,3343 51522 INDEX NRJETS 045183,000588: 17,3344 73400 MP NJET 045184,000589: 17,3345 55457 TS BLAST # BLAST IS AN INTERMEDIATE VARIABLE 045185,000590: # USED IN DETERMINING THE JET ON-TIMES 045186,000591: 17,3346 63333 AD =-.1SEC 045187,000592: 17,3347 00006 EXTEND 045188,000593: 17,3350 63361 BZMF AD14MSR 045189,000594: 17,3351 51522 INDEX NRJETS # THE ROLL ROTATION WILL LAST LONGER 045190,000595: 17,3352 33334 CA DFTMAX # THAN THE T5 CYCLE TIME 045191,000596: 17,3353 55547 TS DFT 045192,000597: 17,3354 40000 COM 045193,000598: 17,3355 27561 ADS TAU 045194,000599: 17,3356 33335 CAF =+.1SEC # LIMIT THE LENGTH OF ROLL ROTATION 045195,000600: 17,3357 55457 TS BLAST # COMMANDS TO 0.1 SEC SO THAT ONLY Y-Z 045196,000601: 17,3360 13424 TCF ASMBLWR # TRANSLATION COMMANDS CONTINUE 045197,000602: 045198,000603: 17,3361 41457 AD14MSR CS BLAST # SEE IF THE JET ON-TIME LESS THAN 045199,000604: 17,3362 63340 AD =14MS # MINIMUM IMPULSE TIME 045200,000605: 17,3363 00006 EXTEND 045201,000606: 17,3364 63367 BZMF RBLASTOK 045202,000607: 17,3365 33340 CAF =14MS # IF SO, LIMIT MINIMUM ON-TIME TO 14 MS 045203,000608: 17,3366 55457 TS BLAST 045204,000609: 17,3367 31457 RBLASTOK CA BLAST 045205,000610: 17,3370 00006 EXTEND 045206,000611: 17,3371 71522 MP NRJETS 045207,000612: 17,3372 23547 LXCH DFT 045208,000613: 17,3373 55561 TS TAU # ZERO TAU 045209,000614: 17,3374 13424 TCF ASMBLWR 045210,000615: 045211,000616: # Page 1029 045212,000617: 17,3375 65252 DEC -.333333 # = -1/3 045213,000618: 17,3376 57777 DEC -.500000 # = -1.2 045214,000619: 17,3377 40000 DEC -.999999 # = -1 (NEGMAX) 045215,000620: 17,3400 00000 NJET DEC 0 B-14 045216,000621: 17,3401 37777 DEC .999999 # = +1 (POSMAX) 045217,000622: 17,3402 20000 DEC .500000 # = +1/2 045218,000623: 17,3403 12525 DEC .333333 # = +1/3 045219,000624: 045220,000625: # Page 1030 045221,000626: # WHEN THE ROTATION COMMANDS ARE COMPLETED, IT IS NECESSARY TO REPLACE THESE COMMANDS BY NEW COMMANDS WHICH 045222,000627: # CONTINUE ON WITH THE TRANSLATIONS IF ANY ARE PRESENT. 045223,000628: 045224,000629: # IN THIS SECTION THESE NEW COMMANDS ARE GENERATED AND STORED FOR REPLACEMENT OF THE CHANNEL COMMANDS WHEN THE 045225,000630: # CORRESPONDING ROTATIONS ARE COMPLETED. 045226,000631: 045227,000632: # GENERATION OF THE SECOND PITCH(X-TRANS) WORD...PWORD2 045228,000633: 045229,000634: 17,3404 11626 ASMBLWP CCS RACFAIL 045230,000635: 17,3405 13413 TCF FPX2 # IF FAILURE ON AC IGNORE X-TRANSLATION 045231,000636: 17,3406 13410 TCF +2 045232,000637: 17,3407 13413 TCF FPX2 045233,000638: 17,3410 51513 INDEX XNDX1 045234,000639: 17,3411 32705 CA XLNNDX 045235,000640: 17,3412 50000 INDEX A 045236,000641: 17,3413 32741 FPX2 CA PYTABLE 045237,000642: 17,3414 72760 MASK PJETS 045238,000643: 17,3415 55454 TS PWORD2 045239,000644: 17,3416 13255 TCF YAWTIME 045240,000645: 045241,000646: 17,3417 31453 PBYPASS CA PWORD1 # THE T6 PROGRAM WILL LOAD PWORD2 045242,000647: 17,3420 55454 TS PWORD2 # UPON ENTRY 045243,000648: 17,3421 34714 CAF ZERO 045244,000649: 17,3422 55461 TS BLAST1 # THERE IS NO PWORD2 045245,000650: 17,3423 13255 TCF YAWTIME 045246,000651: 045247,000652: # Page 1031 045248,000653: # GENERATION OF THE SECOND ROLL (Y,Z) WORD (RWORD2) 045249,000654: 045250,000655: 17,3424 11515 ASMBLWR CCS YNDX # CHECK FOR Y-TRANS 045251,000656: 17,3425 13435 TCF ACBD2Y 045252,000657: 17,3426 34714 NO2Y CAF ZERO 045253,000658: 17,3427 55452 TS RWORD2 045254,000659: 17,3430 11516 CCS ZNDX # CHECK FOR Z-TRANS 045255,000660: 17,3431 13500 TCF ACBD2Z 045256,000661: 17,3432 34714 NO2Z CAF ZERO 045257,000662: 17,3433 27452 ADS RWORD2 045258,000663: 17,3434 13211 TCF PITCHTIM # RWORD2 ASSEMBLED 045259,000664: 045260,000665: 17,3435 11630 ACBD2Y CCS ACORBD 045261,000666: 17,3436 13453 TCF AC2Y # CAN DO Y-TRANS 045262,000667: 17,3437 13453 TCF AC2Y 045263,000668: 17,3440 13441 TCF +1 # USING AC FOR ROLL 045264,000669: 17,3441 11626 CCS RACFAIL 045265,000670: 17,3442 13426 TCF NO2Y # USING AC AND AC HAS FAILED 045266,000671: 17,3443 13445 TCF +2 045267,000672: 17,3444 13426 TCF NO2Y # DITTO 045268,000673: 045269,000674: 17,3445 51515 INDEX YNDX # NO FAILURES, CAN DO Y 045270,000675: 17,3446 32705 CA XLNNDX 045271,000676: 17,3447 50000 INDEX A 045272,000677: 17,3450 33155 CA RTABLE 045273,000678: 17,3451 73174 MASK ACRJETS 045274,000679: 17,3452 13427 TCF NO2Y +1 045275,000680: 045276,000681: 17,3453 11626 AC2Y CCS RACFAIL 045277,000682: 17,3454 36214 CAF THREE 045278,000683: 17,3455 13457 TCF +2 045279,000684: 17,3456 36211 CAF SIX 045280,000685: 17,3457 51515 INDEX YNDX 045281,000686: 17,3460 63016 AD XLN1NDX 045282,000687: 17,3461 50000 INDEX A 045283,000688: 17,3462 33176 CA YZTABLE 045284,000689: 17,3463 73210 MASK ACYJETS 045285,000690: 17,3464 55452 TS RWORD2 045286,000691: 17,3465 00006 EXTEND 045287,000692: 17,3466 74707 MP BIT4 045288,000693: 17,3467 67715 AD =-2 045289,000694: 17,3470 55522 TS NRJETS 045290,000695: 17,3471 41457 CS BLAST 045291,000696: 17,3472 63335 AD =+.1SEC 045292,000697: 17,3473 00006 EXTEND 045293,000698: 17,3474 71522 MP NRJETS 045294,000699: 17,3475 30001 CA L 045295,000700: 17,3476 27547 ADS DFT 045296,000701: 17,3477 13430 TCF NO2Y +2 045297,000702: # Page 1032 045298,000703: 17,3500 11630 ACBD2Z CCS ACORBD 045299,000704: 17,3501 13531 TCF BDF2Z # USING BD-ROLL 045300,000705: 17,3502 13531 TCF BDF2Z # MUST CHECK FOR BD FAILURES 045301,000706: 17,3503 13504 TCF +1 045302,000707: 17,3504 11627 CCS RBDFAIL # USING AC FOR ROLL, CAN DO Z-TRANS 045303,000708: 17,3505 36214 CAF THREE 045304,000709: 17,3506 13510 TCF +2 045305,000710: 17,3507 36211 CAF SIX 045306,000711: 17,3510 51516 INDEX ZNDX 045307,000712: 17,3511 63016 AD XLN1NDX 045308,000713: 17,3512 50000 INDEX A 045309,000714: 17,3513 33176 CA YZTABLE 045310,000715: 17,3514 73207 MASK BDZJETS 045311,000716: 17,3515 27452 ADS RWORD2 045312,000717: 17,3516 00006 EXTEND 045313,000718: 17,3517 74704 MP BIT7 045314,000719: 17,3520 67715 AD =-2 045315,000720: 17,3521 55522 TS NRJETS 045316,000721: 17,3522 41457 CS BLAST 045317,000722: 17,3523 63335 AD =+.1SEC 045318,000723: 17,3524 00006 EXTEND 045319,000724: 17,3525 71522 MP NRJETS 045320,000725: 17,3526 30001 CA L 045321,000726: 17,3527 27547 ADS DFT 045322,000727: 17,3530 13211 TCF PITCHTIM 045323,000728: 045324,000729: 17,3531 11627 BDF2Z CCS RBDFAIL 045325,000730: 17,3532 13432 TCF NO2Z # USING BD-ROLL AND BD HAS FAILED 045326,000731: 17,3533 13535 TCF +2 045327,000732: 17,3534 13432 TCF NO2Z # DITTO 045328,000733: 17,3535 51516 INDEX ZNDX 045329,000734: 17,3536 32705 CA XLNNDX 045330,000735: 17,3537 50000 INDEX A 045331,000736: 17,3540 33155 CA RTABLE 045332,000737: 17,3541 73175 MASK BDRJETS 045333,000738: 17,3542 13433 TCF NO2Z +1 045334,000739: 045335,000740: 17,3543 31451 RBYPASS CA RWORD1 045336,000741: 17,3544 55452 TS RWORD2 045337,000742: 17,3545 34714 CAF ZERO 045338,000743: 17,3546 55457 TS BLAST 045339,000744: 17,3547 13211 TCF PITCHTIM 045340,000745: 045341,000746: # Page 1033 045342,000747: # GENERATION OF THE SECOND YAW (X-TRANS) WORD...YWORD2 045343,000748: 045344,000749: 17,3550 11627 ASMBLWY CCS RBDFAIL 045345,000750: 17,3551 13557 TCF FYX2 # IF FAILURE ON BD IGNORE X-TRANSLATION 045346,000751: 17,3552 13554 TCF +2 045347,000752: 17,3553 13557 TCF FYX2 045348,000753: 17,3554 51514 INDEX XNDX2 045349,000754: 17,3555 32705 CA XLNNDX 045350,000755: 17,3556 50000 INDEX A 045351,000756: 17,3557 32741 FYX2 CA PYTABLE 045352,000757: 17,3560 72761 MASK YJETS 045353,000758: 17,3561 55456 TS YWORD2 045354,000759: 17,3562 13567 TCF T6SETUP 045355,000760: 045356,000761: 17,3563 31455 YBYPASS CA YWORD1 045357,000762: 17,3564 55456 TS YWORD2 045358,000763: 17,3565 34714 CAF ZERO 045359,000764: 17,3566 55463 TS BLAST2 045360,000765: 045361,000766: # Page 1034 045362,000767: # SORT THE JET ON-TIMES 045363,000768: 045364,000769: # AT THIS POINT ALL THE CHANNEL COMMANDS AND JET ON-TIMES HAVE BEEN DETERMINED. IN SUMMARY THESE ARE: 045365,000770: 045366,000771: # RWORD1 045367,000772: # RWORD2 BLAST 045368,000773: 045369,000774: # PWORD1 045370,000775: # PWORD2 BLAST1 045371,000776: 045372,000777: # YWORD1 045373,000778: # YWORD2 BLAST2 045374,000779: 045375,000780: # IN THIS SECTION THE JET ON-TIMES ARE SORTED AND THE SEQUENCE OF T6 INTERRUPTS IS DETERMINED. TO FACILITATE 045376,000781: # THE SORTING PROCESS AND THE T6 PROGRAM, THE VARIABLES BLAST, BLAST1, BLAST2, ARE RESERVED AS DOUBLE PRECISION 045377,000782: # WORDS. THE LOWER PART OF THESE WORDS CONTAIN A BRANCH INDEX ASSOCIATED WITH THE ROTATION AXIS OF THE HIGHER 045378,000783: # ORDER WORD. 045379,000784: 045380,000785: 17,3567 34714 T6SETUP CAF ZERO # BRANCH INDEX FOR ROLL 045381,000786: 17,3570 55460 TS BLAST +1 045382,000787: 17,3571 34710 CAF FOUR # BRANCH INDEX FOR PITCH 045383,000788: 17,3572 55462 TS BLAST1 +1 045384,000789: 17,3573 34717 CAF ELEVEN # BRANCH INDEX FOR YAW 045385,000790: 17,3574 55464 TS BLAST2 +1 045386,000791: 045387,000792: 17,3575 41457 CS BLAST 045388,000793: 17,3576 61461 AD BLAST1 045389,000794: 17,3577 00006 EXTEND 045390,000795: 17,3600 63624 BZMF DXCHT12 # T1 OR T2 045391,000796: 17,3601 41461 CHECKT23 CS BLAST1 045392,000797: 17,3602 61463 AD BLAST2 045393,000798: 17,3603 00006 EXTEND 045394,000799: 17,3604 63630 BZMF DXCHT23 045395,000800: 17,3605 41461 CALCDT6 CS BLAST1 045396,000801: 17,3606 27463 ADS BLAST2 045397,000802: 17,3607 41457 CS BLAST 045398,000803: 17,3610 27461 ADS BLAST1 # END OF SORTING PROCEDURE 045399,000804: 17,3611 00006 EXTEND # RESET T5LOC TO BEGIN PHASE1 045400,000805: 17,3612 33623 DCA RCS2CADR 045401,000806: 17,3613 53313 DXCH T5LOC 045402,000807: 17,3614 44712 ENDJETS CS BIT1 # RESET BIT1 FOR INITIALIZATION OF 045403,000808: 17,3615 71501 MASK RCSFLAGS # T6 PROGRAM 045404,000809: 17,3616 55501 TS RCSFLAGS 045405,000810: 17,3617 44714 CS ZERO # RESET T5PHASE FOR PHASE1 045406,000811: 17,3620 55465 TS T5PHASE 045407,000812: 17,3621 15222 TCF RESUME # RESUME INTERRUPTED PROGRAM 045408,000813: 17,3622 E6,1510 EBANK= KMPAC 045409,000814: 17,3622 02106 42066 RCS2CADR 2CADR RCSATT 045410,000815: 045411,000816: # Page 1035 045412,000817: 17,3624 53460 DXCHT12 DXCH BLAST 045413,000818: 17,3625 53462 DXCH BLAST1 045414,000819: 17,3626 53460 DXCH BLAST 045415,000820: 17,3627 13601 TCF CHECKT23 045416,000821: 045417,000822: 17,3630 53462 DXCHT23 DXCH BLAST1 045418,000823: 17,3631 53464 DXCH BLAST2 045419,000824: 17,3632 53462 DXCH BLAST1 045420,000825: 17,3633 41457 CS BLAST 045421,000826: 17,3634 61461 AD BLAST1 045422,000827: 17,3635 00006 EXTEND 045423,000828: 17,3636 63640 BZMF +2 045424,000829: 17,3637 13605 TCF CALCDT6 045425,000830: 17,3640 53460 DXCH BLAST 045426,000831: 17,3641 53462 DXCH BLAST1 045427,000832: 17,3642 53460 DXCH BLAST 045428,000833: 17,3643 13605 TCF CALCDT6 045429,000834: 045430,000835: # Page 1036 045431,000836: # T6 PROGRAM AND CHANNEL SETUP 045432,000837: 045433,000838: 21,3751 BANK 21 045434,000839: 17,2000 SETLOC DAPS5 045435,000840: 17,2000 BANK 045436,000841: 045437,000842: 17,3644 22016 T6START LXCH BANKRUPT 045438,000843: 17,3645 00006 EXTEND 045439,000844: 17,3646 22012 QXCH QRUPT 045440,000845: 17,3647 10031 CCS TIME6 # CHECK TO SEE IF TIME6 WAS RESET 045441,000846: 17,3650 15222 TCF RESUME # AFTER T6RUPT OCCURRED (IN T5RUPT) 045442,000847: 17,3651 13653 TCF +2 # IF SO WAIT FOR NEXT T6RUPT BEFORE 045443,000848: 17,3652 15222 TCF RESUME # TAKING ACTION 045444,000849: 045445,000850: 17,3653 41501 CS RCSFLAGS 045446,000851: 17,3654 74712 MASK BIT1 # IF BIT1 IS 0 RESET TO 1 045447,000852: 17,3655 00006 EXTEND # AND INITIALIZE CHANNEL 045448,000853: 17,3656 13667 BZF T6RUPTOR 045449,000854: 17,3657 27501 ADS RCSFLAGS 045450,000855: 17,3660 31451 CA RWORD1 045451,000856: 17,3661 00006 EXTEND # INITIALIZE CHANNELS 5,6 WITH WORD1 045452,000857: 17,3662 01006 WRITE CHAN6 045453,000858: 17,3663 31453 CA PWORD1 045454,000859: 17,3664 61455 AD YWORD1 045455,000860: 17,3665 00006 EXTEND 045456,000861: 17,3666 01005 WRITE CHAN5 045457,000862: 045458,000863: 17,3667 11457 T6RUPTOR CCS BLAST 045459,000864: 17,3670 13747 TCF ZBLAST # ZERO BLAST1 045460,000865: 17,3671 13706 TCF REPLACE # REPLACE WORD1 045461,000866: 17,3672 13674 TCF +2 045462,000867: 17,3673 13706 TCF REPLACE 045463,000868: 17,3674 11461 T6L1 CCS BLAST1 045464,000869: 17,3675 13752 TCF ZBLAST1 045465,000870: 17,3676 13713 TCF REPLACE1 045466,000871: 17,3677 13701 TCF +2 045467,000872: 17,3700 13713 TCF REPLACE1 045468,000873: 17,3701 11463 T6L2 CCS BLAST2 045469,000874: 17,3702 13755 TCF ZBLAST2 045470,000875: 17,3703 13720 TCF REPLACE2 045471,000876: 17,3704 15222 TCF RESUME 045472,000877: 17,3705 13720 TCF REPLACE2 045473,000878: 045474,000879: 17,3706 51460 REPLACE INDEX BLAST +1 045475,000880: 17,3707 03725 TC REPLACER 045476,000881: 17,3710 44712 CS ONE 045477,000882: 17,3711 55457 TS BLAST 045478,000883: 17,3712 13674 TCF T6L1 045479,000884: 045480,000885: 17,3713 51462 REPLACE1 INDEX BLAST1 +1 045481,000886: # Page 1037 045482,000887: 17,3714 03725 TC REPLACER 045483,000888: 17,3715 44712 CS ONE 045484,000889: 17,3716 55461 TS BLAST1 045485,000890: 17,3717 13701 TCF T6L2 045486,000891: 045487,000892: 17,3720 51464 REPLACE2 INDEX BLAST2 +1 045488,000893: 17,3721 03725 TC REPLACER 045489,000894: 17,3722 44712 CS ONE 045490,000895: 17,3723 55463 TS BLAST2 045491,000896: 17,3724 15222 TCF RESUME 045492,000897: 045493,000898: 17,3725 31452 REPLACER CA RWORD2 # INITIALIZE CHANNELS 5,6 WITH WORD2 045494,000899: 17,3726 00006 EXTEND 045495,000900: 17,3727 01006 WRITE CHAN6 045496,000901: 17,3730 00002 TC Q 045497,000902: 045498,000903: 17,3731 32761 REPLACEP CA YJETS 045499,000904: 17,3732 00006 EXTEND 045500,000905: 17,3733 02005 RAND CHAN5 045501,000906: 17,3734 61454 AD PWORD2 045502,000907: 17,3735 00006 EXTEND 045503,000908: 17,3736 01005 WRITE CHAN5 045504,000909: 17,3737 00002 TC Q 045505,000910: 045506,000911: 17,3740 32760 REPLACEY CA PJETS 045507,000912: 17,3741 00006 EXTEND 045508,000913: 17,3742 02005 RAND CHAN5 045509,000914: 17,3743 61456 AD YWORD2 045510,000915: 17,3744 00006 EXTEND 045511,000916: 17,3745 01005 WRITE CHAN5 045512,000917: 17,3746 00002 TC Q 045513,000918: 045514,000919: 17,3747 34714 ZBLAST CAF ZERO 045515,000920: 17,3750 57457 XCH BLAST 045516,000921: 17,3751 13757 TCF ENABT6 045517,000922: 17,3752 34714 ZBLAST1 CAF ZERO 045518,000923: 17,3753 57461 XCH BLAST1 045519,000924: 17,3754 13757 TCF ENABT6 045520,000925: 17,3755 34714 ZBLAST2 CAF ZERO 045521,000926: 17,3756 57463 XCH BLAST2 045522,000927: 17,3757 54031 ENABT6 TS TIME6 045523,000928: 17,3760 34674 CAF NEGMAX 045524,000929: 17,3761 00006 EXTEND 045525,000930: 17,3762 05013 WOR CHAN13 # ENABLE T6RUPT 045526,000931: 17,3763 15222 TCF RESUME 045527,000932: 045528,000933: # END OF T6 INTERRUPT 045529,000934: 045530,000935: 17,3764 ENDSLECT EQUALS 045531,000936: End of include-file JET_SELECTION_LOGIC.agc. Parent file is MAIN.agc