Source Code
These source-code files were transcribed from a printout in Don Eyles's personal
collection, scanned by archive.org, and financially sponsored by Peter McDermott.
A team of volunteers performed the transcription and proof-reading. The scanned
page images are available at
the Virtual AGC Project website, as well as higher-quality (but much larger)
images at
the Virtual AGC Project's collection in the Internet Archive. Report any problems by creating
"issues" at
the Virtual AGC Project's GitHub Repository. Notations on the program listing read, in part: YUL SYSTEM FOR AGC: NEW PROGRAM SHEPATIN BY EYLES DEC 13, 1966 THIS PROGRAM WAS ASSEMBLED AS A VERSION OF REVISION 37 OF PROGRAM SUNBURST BY LEM GROUPNote that the date is the date of the printout, not the date of the program revision. |
022999,000002: ## Copyright: Public domain.
023000,000003: ## Filename: Q,R-AXES_JET_SELECT_AND_FAILURE_CONTROL_LOGIC.agc
023001,000004: ## Purpose: A section of Sunburst revision 37, or Shepatin revision 0.
023002,000005: ## It is part of an early development version of the software
023003,000006: ## for Apollo Guidance Computer (AGC) on the unmanned Lunar
023004,000007: ## Module (LM) flight Apollo 5. Sunburst 37 was the program
023005,000008: ## upon which Don Eyles's offline development program Shepatin
023006,000009: ## was based; the listing herein transcribed was actually for
023007,000010: ## the equivalent revision 0 of Shepatin.
023008,000011: ## This file is intended to be a faithful transcription, except
023009,000012: ## that the code format has been changed to conform to the
023010,000013: ## requirements of the yaYUL assembler rather than the
023011,000014: ## original YUL assembler.
023012,000015: ## Reference: pp. 520-534
023013,000016: ## Assembler: yaYUL
023014,000017: ## Contact: Ron Burkey <info@sandroid.org>.
023015,000018: ## Website: www.ibiblio.org/apollo/index.html
023016,000019: ## Mod history: 2017-05-24 MAS Created from Sunburst 120.
023017,000020: ## 2017-05-30 HG Transcribed
023018,000021: ## 2017-06-22 RSB Proofed comment text with
023019,000022: ## octopus/ProoferComments.
023020,000023:
Page 520 |
023022,000025: # PROGRAM: POLTYPEP MOD. NO. 1 DATE: NOVEMBER 14, 1966
023023,000026:
023024,000027: # AUTHOR: JONATHAN D. ADDELSTON (ADAMS ASSOCIATES)
023025,000028:
023026,000029: # THIS PROGRAM IS DESIGNED TO SELECT A POLICY OF JETS (OF WHICH NONE HAVE FAILED) WHICH CAN BE USED TO CREATE THE
023027,000030: # ROTATION AND/OR TRANSLATION WHICH IS REQUIRED BY THE LM DAP. FROM THE INDEX "NETACNDX" (WHICH MUST BE SET WHEN
023028,000031: # ROTATION IS REQUESTED), THE OPTIMAL POLICY IS SELECTED. WHEN FAILURES ARE DETECTED WITHIN A CHOSEN POLICY, AN
023029,000032: # ALTERNATE POLICY IS SELECTED. IF ALL ALTERNATE POLICIES ARE EXHAUSTED WITHOUT FINDING AN UNFAILED POLICY, A JET
023030,000033: # FAILURE ABORT IS INITIATED. WHEN THE ROUTINE IS USE FOR TRANSLATION JETS ONLY, "TRANONLY" MUST BE SET POSITIVE
023031,000034: # (NONZERO) AND THE ENTRY POINT IS "+/-XTRAN".
023032,000035:
023033,000036: # CALLING SEQUENCES:
023034,000037:
023035,000038: # 1. FOR ROTATION (WITH POSSIBLE +X TRANSLATION):
023036,000039:
023037,000040: # CAF RETURN (GENADR OF RETURN)
023038,000041: # TS TJETADR
023039,000042: # ...
023040,000043: # CAF INDEXVAL INDICATE ROT. AXIS, DIRECTION,
023041,000044: # TS NETACNDX AND NUMBER OF JETS.
023042,000045: # EXTEND
023043,000046: # DCA POLADR TRANSFER ACROSS BANKS TO POLTYPEP.
023044,000047: # DTCB
023045,000048:
023046,000049: # 2. FOR TRANSLATION ONLY:
023047,000050:
023048,000051: # CAF POSMAX/NEGMAX INDICATE -X TRANSLATION BY POSMAX.
023049,000052: # TS ANYTRANS +X TRANSLATION BY NEGMAX.
023050,000053: # CAF ZERO ZERO EXTRANEOUS FLAGS FOR ROUTINE
023051,000054: # TS TRANSNOW ...
023052,000055: # TS TRANSAVE ...
023053,000056: # EXTEND
023054,000057: # DCA JTPOLADR TRANSFER ACROSS BANKS TO +/-XTRAN
023055,000058: # TS TRANONLY (AND SET TRANONLY POSITIVE NONZERO.)
023056,000059: # DTCB
023057,000060:
023058,000061: # SUBROUTINES CALLED: NONE.
023059,000062:
023060,000063: # NORMAL RETURN 1. FOR ROTATION, TO ADDRESS IN BANK 17 SPECIFIED BY C(TJETADR).
023061,000064: # 2. FOR TRANSLATION, RESUME.
023062,000065:
023063,000066: # ALARM/ABORT MODE: WHENEVER THERE IS NO USABLE JET POLICY FOUND, TRANSFER TO JETABORT.
023064,000067:
023065,000068: # INPUT: NETACNDX,CH5MASK,1/NETACS.
023066,000069:
023067,000070: # OUTPUT: JETS ON IN CHANNEL 5, JTSATCHG.
023068,000071:
023069,000072: # DEBRIS: A,L,ALLL ITEMPS,ALL RUPTREGS.
023070,000073:
023071,000074: # INITIALIZATION AT ROTATION REQUEST ENTRY POINT:
023072,000075:
Page 521 |
023074,000077: 20,2170 BANK 20
023075,000078: 20,2170 E6,1471 EBANK= JTSONNOW
023076,000079:
023077,000080: 20,2170 37761 POLTYPEP CAF ZERO # SET VOLATILE SWITCHES TO INDICATE
023078,000081: 20,2171 54070 TS TRANONLY # 1) TRANSLATION ENTRY NOT MADE (ROTATION)
023079,000082: 20,2172 54071 TS ANYTRANS # 2) NO TRANSLATION KNOWN YET.
023080,000083: 20,2173 54072 TS TRANSNOW # 3) NO TRANS. DURING ROT. KNOWN YET.
023081,000084: 20,2174 54073 TS TRANSAVE # 4) NO TRANSLATION POLICY SELECTED YET.
023082,000085:
023083,000086: # TEST FOR SENSE OF ROTATION JETS. (MAKE TRANSLATION REQUEST FROM THE ASTRONAUT'S STICK OVERRIDE INTERNAL ULLAGE)
023084,000087:
023085,000088: 20,2175 37747 CAF BIT7 # ASTRONAUT +X TRANSLATION REQUEST TEST.
023086,000089: 20,2176 00006 EXTEND
023087,000090: 20,2177 02031 RAND 31
023088,000091: 20,2200 00006 EXTEND
023089,000092: 20,2201 12264 BZF +XTRANSL
023090,000093:
023091,000094: 20,2202 37746 CAF BIT8 # ASTRONAUT -X TRANSLATION REQUEST TEST.
023092,000095: 20,2203 00006 EXTEND
023093,000096: 20,2204 02031 RAND 31
023094,000097: 20,2205 00006 EXTEND
023095,000098: 20,2206 12271 BZF -XSENSE
023096,000099:
023097,000100: # CHECK FOR ULLAGE OR ASCENT BURN:
023098,000101:
023099,000102: 20,2207 32455 ULL/+X CAF BITS6&8 # CHECK FOR ULLAGE OR ASCENT BURN: (EITHER
023100,000103: 20,2210 70077 MASK DAPBOOLS # BIT REQUIRES +X SENSE FOR ROTATION JETS)
023101,000104: 20,2211 10000 CCS A # BIT6: ULLAGE BIT (+X TRANSLATION ASKED)
023102,000105: 20,2212 12260 TCF +XSELECT # BIT8: ASCENT BURN (NO TRANSLATION ASKED)
023103,000106:
023104,000107: # LM IS EITHER IN POWERED DESCENT OR IN COASTING FLIGHT SELECT JETS WHICH ARE PAIRED IN FORCE COUPLES.
023105,000108:
023106,000109: 20,2213 50061 INDEX NETACNDX # PICK UP FORCE-COUPLE TABLE INDEX AND THE
023107,000110: 20,2214 32475 CAF NORMLPOL # NUMBER OF POLICIES TO CHECK (PACKED).
023108,000111:
023109,000112: # UNPACK THE RELATIVE ADDRESS OF THE BEST POLICY AND THE NUMBER OF ALTERNATE POLICIES TO CHECK WITHIN THE LOOP.
023110,000113:
023111,000114: # THIS BITS ARE PACKED THUSLY 0XYYY, WHERE X BECOMES C(LOOPCTR) AND YYY BECOMES C(POLRELOC). BITS8,9 ARE ZERO.
023112,000115:
023113,000116: 20,2215 54001 NUMBALTS TS L # SAVE FULL WORD TO GET BITS 10-12, LATER.
023114,000117: 20,2216 76130 MASK LOW7 # MASK BITS GIVING INDEX VALUE FOR BEST
023115,000118: 20,2217 54063 TS POLRELOC # POLICY (W.R.T. TOP OF POLTABLE).
023116,000119:
023117,000120: 20,2220 37750 CAF BIT6 # EXTRACT BITS 10-12 OF ORIGINAL WORD:
023118,000121: 20,2221 00006 EXTEND # THIS VALUE IS USED AS A LOOP COUNTER TO
023119,000122: 20,2222 70001 MP L # TEST ALL THE FEASIBLE JET POLICIES FOR
023120,000123: 20,2223 54064 BESTPOLS TS LOOPCTR # THE GIVEN REQUEST. (ALSO TOP 0F LOOP.)
023121,000124:
Page 522 |
023123,000126: # LOOP TP SET UP "TRANSNOW" AND REJECT ALL FAILED POLICIES:
023124,000127:
023125,000128: 20,2224 50063 INDEX POLRELOC # PICK UP NEXT POLICY TO CHECK FOR FAILURE
023126,000129: 20,2225 32553 CAF POLTABLE # (MUST DO A "CAF" THEN "CCS" FOR RANGE.)
023127,000130: 20,2226 10000 CCS A # IF POLICY TABLE ENTRY IS NEGATIVE, THEN
023128,000131: 20,2227 54065 CHKFAILS TS THISPOLY # A FLAG IS SET TO DO SOME TRANSLATION
023129,000132: 20,2230 12233 TCF +3 # WITH THE ROTATION POLICY SELECTED. IF
023130,000133: 20,2231 54072 TS TRANSNOW # REQUESTED. POLTABLE VALUES ARE CCS-ABLE.
023131,000134: 20,2232 12227 TCF CHKFAILS # TRANSNOW (ONCE ON) STAYS ON FOR THIS CSP
023132,000135:
023133,000136: 20,2233 71502 MASK CH5MASK # COMPARE THISPOLY WITH BITS OF FAILED JET
023134,000137: 20,2234 10000 CCS A # IF C(A) = +0, THEN THERE ARE NO FAILURES
023135,000138: 20,2235 12237 TCF +2 # IN THIS POLICY AND THE LM DAP USES IT.
023136,000139: 20,2236 12276 TCF POLFOUND # IF C(A) IS NOT +0, IT IS POSITIVE AND
023137,000140:
023138,000141: 20,2237 00006 EXTEND # FIRST THE RELATIVE ADDRESS INDEXER IS
023139,000142: 20,2240 26063 DIM POLRELOC # DECREMENTED BY ONE FOR THE NEXT POLICY,
023140,000143: 20,2241 10064 CCS LOOPCTR # THEN A CHECK IS MADE FOR ANY MORE USABLE
023141,000144: 20,2242 12223 TCF BESTPOLS # POLICIES, IF NO MORE, C(LOOPCTR) = +0.
023142,000145:
023143,000146: # ***** JET FAILURE ABORT SEQUENCE. *****
023144,000147:
023145,000148: 20,2243 37761 ABORTJET CAF ZERO # TURN OFF ALL JETS.
023146,000149: 20,2244 00006 EXTEND
023147,000150: 20,2245 01005 WRITE 5
023148,000151: 20,2246 00006 EXTEND
023149,000152: 20,2247 01006 WRITE 6
023150,000153:
023151,000154: 20,2250 35676 CAF PRIO37 # ABORT PRIORITY.
023152,000155: 20,2251 05523 TC NOVAC # CALL JETABORT THROUGH EXECUTIVE.
023153,000156: 20,2252 E6,1471 EBANK= JTSONNOW
023154,000157: 20,2252 02070 16006 2CADR JETABORT
023155,000158: 20,2254 47743 CS GODAPGO # SET GODAPGO TO TURN LM DAP OFF WHEN THIS
023156,000159: 20,2255 70077 MASK DAPBOOLS # BIT IS CHECKED IN THE NEXT P-AXIS RUPT.
023157,000160: 20,2256 54077 TS DAPBOOLS
023158,000161:
023159,000162: 20,2257 15751 TCF RESUME
023160,000163:
023161,000164: # ***** END JET FAILURE ABORT SEQUENCE. *****
023162,000165:
Page 523 |
023164,000167: # ENTER HERE AFTER ULLAGE/ASCENT DETECTION:
023165,000168:
023166,000169: 20,2260 40077 +XSELECT CS DAPBOOLS # CHECK FOR ULLAGE BIT6/DAPBOOLS =1.
023167,000170: 20,2261 77750 MASK ULLAGER # IF THE ULLAGE BIT IS 0, THEN THE LM IS
023168,000171: 20,2262 10000 CCS A # IN AN ASCENT BURN AND NO +X TRANSLATION
023169,000172: 20,2263 12266 TCF +XSENSE # HAS BEEN REQUESTED (SEE ULL/+X).
023170,000173:
023171,000174: # ENTER HERE FOR +X TRANSLATION:
023172,000175:
023173,000176: 20,2264 37737 +XTRANSL CAF NEGMAX # INDICATE +X TRANSLATION FOR CCS LATER.
023174,000177: 20,2265 54071 TS ANYTRANS # (ANYTRANS IS A VOLATILE SWITCH.)
023175,000178:
023176,000179: # ENTER HERE FOR +X SENSE JETS:
023177,000180:
023178,000181: 20,2266 50061 +XSENSE INDEX NETACNDX # PICK UP +X SENSE TABLE INDEX AND THE
023179,000182: 20,2267 32515 CAF +SENSTAB # NUMBER OF ALTERNATE POLICIES TO CHECK.
023180,000183:
023181,000184: 20,2270 12215 TCF NUMBALTS # GO TO BEGIN FAILURE CHECKING (ROTATION).
023182,000185:
023183,000186: # ENTER HERE FOR -X TRANSLATION:
023184,000187:
023185,000188: 20,2271 37735 -XSENSE CAF POSMAX # INDICATE -X TRANSLATION FOR CCS LATER.
023186,000189: 20,2272 54071 TS ANYTRANS # (ANYTRANS IS A VOLATILE SWITCH.)
023187,000190:
023188,000191: 20,2273 50061 INDEX NETACNDX # PICK UP -X SENSE TABLE INDEX AND THE
023189,000192: 20,2274 32535 CAF -SENSTAB # NUMBER OF ALTERNATE POLICIES TO CHECK.
023190,000193:
023191,000194: 20,2275 12215 TCF NUMBALTS # GO TO BEGIN FAILURE CHECKING (ROTATION).
023192,000195:
023193,000196: # ENTER HERE AFTER A ROTATION POLICY HAS BEEN FOUND:
023194,000197:
023195,000198: 20,2276 30065 POLFOUND CAE THISPOLY # GET POSITIVE-VALUED POLICY TABLE ENTRY
023196,000199: 20,2277 00006 EXTEND # WHICH IS INSURED AGAINST FAILURE.
023197,000200: 20,2300 77752 MP BIT4 # UNPACK BITS 12-14 OF TABLE ENTRY GET THE
023198,000201: 20,2301 50000 INDEX A # NUMBER OF Q-AXIS JETS FROM TORQUE TABLE.
023199,000202: 20,2302 32456 CAF TORKTABL # SAVE FOR TORQUE VECTOR RECONSTRUCTION
023200,000203: 20,2303 55606 TS NO.QJETS # AND FOR DETERMINING 1/NETACC.
023201,000204:
023202,000205: 20,2304 30001 CAE L # UNPACK BITS 9-11 OF TABLE ENTRY WHICH
023203,000206: 20,2305 00006 EXTEND # ARE NOW BITS 12-14 OF THE L-REGISTER.
023204,000207: 20,2306 77752 MP BIT4 # (BIT15 OF L IS 0 DUE TO SIGN AGREEMENT.)
023205,000208: 20,2307 50000 INDEX A # GET NUMBER OF R-AXIS JETS FROM TORQUE
023206,000209: 20,2310 32456 CAF TORKTABL # TABLE. SAVE FOR TORQUE VECTOR RECON-
023207,000210:
023208,000211: 20,2311 55607 TS NO.RJETS # STRUCTION AND FOR GETTING 1/NETACC.
023209,000212:
023210,000213: # PICK OUT ROTATION JETS FROM TABLE ENTRY:
023211,000214:
023212,000215: 20,2312 30065 CAE THISPOLY # UNPACK BITS 1-8 OF TABLE ENTRY (DONE
023213,000216: 20,2313 74553 MASK LOW8 # MOST EASILY BY THE MASKING OPERATION).
023214,000217: 20,2314 67737 AD BIT15 # SET SIGN TO INDICATE Q,R-AXES JETS.
023215,000218:
Page 524 |
023217,000220: 20,2315 55471 TS JTSONNOW # SET POLICY UP FOR IMMEDIATE USE.
023218,000221:
Page 525 |
023220,000223:
023221,000224: # ENTRY POINT FOR +X TRANS, OR -X TRANS. REQUEST ALONE:
023222,000225:
023223,000226: # (ALSO CONTINUATION OF TRANSLATION-WITH-ROTATION LOGIC.)
023224,000227:
023225,000228: 20,2316 37754 +/-XTRAN CAF TWO # SET UP LOOP TO TEST ALL THREE POSSIBLE
023226,000229: 20,2317 54064 TS LOOPCTR # TRANSLATION POLICIES, IF 4 JETS ASKED.
023227,000230:
023228,000231: 20,2320 10071 CCS ANYTRANS # TEST FOR TRANSLATION REQUESTS: -0 UNUSED
023229,000232:
023230,000233: 20,2321 12325 TCF -XPOLICY # POSMAX: -X TRANSLATION.
023231,000234: 20,2322 12412 TCF LATERJET # +ZERO: NO TRANSLATION.
023232,000235:
023233,000236: # ENTER HERE FOR +X TRANSLATION POLICIES:
023234,000237:
023235,000238: 20,2323 37754 +XPOLICY CAF TWO # NEGMAX: +X TRANSLATION.
023236,000239: 20,2324 12326 TCF +2 # SET POLRELOC FOR +X TRANS. INDEXING.
023237,000240:
023238,000241: # ENTER HERE FOR -X TRANSLATION POLICIES:
023239,000242:
023240,000243: 20,2325 37760 -XPOLICY CAF FIVE # SET POLRELOC FOR -X TRANS. INDEXING.
023241,000244: 20,2326 54063 TS POLRELOC # (INITIAL VALUE ALWAYS FOR 4-JET POLICY.)
023242,000245:
023243,000246: # TEST FOR TRANSLATION TO BE COMBINED WITH ROTATION JETS.
023244,000247:
023245,000248: 20,2327 10072 CCS TRANSNOW # TEST IF TRANSLATION WITH ROTATION IS
023246,000249: 20,2330 12375 TCF TRANCONT # REQUESTED, IF SO, OVER-RIDE 4-JET TEST.
023247,000250:
023248,000251: # DETERMINE IF LM DAP IS IN 2 OR 4 JET TRANSLATION MODE:
023249,000252:
023250,000253: 20,2331 40077 CS DAPBOOLS # TEST FOR 2/4-JET TRANSLATION MODE IN
023251,000254: 20,2332 77752 MASK ACC4OR2X # BIT4/DAPBOOLS (ASTRONAUT DSKY INPUT)
023252,000255: 20,2333 10000 CCS A # 0: 2 JET MODE (SKIP OUT).
023253,000256:
023254,000257: 20,2334 12375 TCF TRANCONT # 1: 4 JET MODE (CONTINUE).
023255,000258:
023256,000259: # TEST TRANSLATION POLICIES FOR JET FAILURES:
023257,000260:
023258,000261: 20,2335 50063 TRANNEXT INDEX POLRELOC # PICK UP POLICY FOR +/-X TRANSLATION
023259,000262: 20,2336 32545 CAF TRANPOLY # FROM TABLE (INDEXED WITHIN REQUESTED
023260,000263: 20,2337 54065 TS THISPOLY # RANGE OF POLICIES); TEST FOR FAILURES
023261,000264: 20,2340 71502 MASK CH5MASK # IF NO FAILURES, C(A) = +0. IF POLICY
023262,000265: 20,2341 10000 CCS A # CANNOT BE USED , C(A) IS POSITIVE.
023263,000266: 20,2342 12373 TCF TRANCNTD # IF FAILED, CHECK FOR STORE GOOD TRANS.
023264,000267:
023265,000268: # SPECIAL TESTS ARE NEEDED FOR TRANSLATION DURING ROTATION:
023266,000269:
023267,000270: 20,2343 10072 CCS TRANSNOW # TEST FOR TRANSLATION DURING ROTATION
023268,000271: 20,2344 12363 TCF TRANSTOR # IF SO, GO TEST THIS POLICY FOR USE NOW.
023269,000272:
023270,000273: # TEST FOR ONLY TRANSLATION REQUEST:
023271,000274:
023272,000275: 20,2345 10070 CCS TRANONLY # TEST FOR PURE TRANSLATION REQUEST
023273,000276:
Page 526 |
023275,000278: 20,2346 12357 TCF TRANOROT # IF SO, GIVE TRANSLATION, NO ROTATION
023276,000279:
023277,000280: # SPECIAL TEST FOR GOOD 4-JET TRANSLATION:
023278,000281:
023279,000282: 20,2347 47754 CS TWO # TEST IF POLICY IS USING FOUR JETS (WHICH
023280,000283: 20,2350 60064 AD LOOPCTR # IS EQUIVALENT TO LOOPCTR = 2). IF 4-JET
023281,000284: 20,2351 00006 EXTEND # THIS POLICY MUST BE USED AS JTSATCHG.
023282,000285: 20,2352 12355 BZF TRAN4JET # OTHERWISE, MUST CHECK TRANSAVE FIRST.
023283,000286:
023284,000287: # WHEN NOT 4-JET TRANSLATION, CHECK FOR SAVED POLICY:
023285,000288:
023286,000289: 20,2353 10073 CCS TRANSAVE # TEST FOR SAVED POLICY; IF SAVED, USE IT.
023287,000290: 20,2354 12411 TCF TRANUSED # IF NOT SAVED YET, USE THIS POLICY.
023288,000291:
023289,000292: # USE THIS POLICY (EITHER 4 JETS OR BEST 2 JET):
023290,000293:
023291,000294: 20,2355 30065 TRAN4JET CAE THISPOLY # USE THIS UNFAILED POLICY AS THE TRANS-
023292,000295: 20,2356 12412 TCF LATERJET # LATION POLICY AFTER ROTATION.
023293,000296:
023294,000297: # FOR TRANSLATION WITHOUT ROTATION, TURN JETS ON IMMEDIATELY AND RESUME:
023295,000298:
023296,000299: 20,2357 30065 TRANOROT CAE THISPOLY # TURN ON UNFAILED Q,R-AXES JETS AS A PURE
023297,000300: 20,2360 00006 EXTEND # TRANSLATION POLICY WITHOUT ANY TJETLAW
023298,000301: 20,2361 01005 WRITE 5 # CALCULATIONS (AND NO TIME6 SETTING).
023299,000302:
023300,000303: 20,2362 15751 TCF RESUME # END T5RUPT SINCE JETS ON FOR FULL CSP.
023301,000304:
023302,000305: # TEST THIS TRANSLATION FOR USE DURING ROTATION:
023303,000306:
023304,000307: 20,2363 30065 TRANSTOR CAE THISPOLY # SAVE THIS POLICY FOR LATER USE AS THE
023305,000308: 20,2364 54073 TS TRANSAVE # JTSATCHG POLICY UNLESS IT IS SUPERCEDED.
023306,000309: 20,2365 71471 MASK JTSONNOW # TEST FOR USE WITH ROTATION POLICY MUST
023307,000310: 20,2366 10000 CCS A # HAVE NO JETS IN COMMON WITH JTSONNOW.
023308,000311: 20,2367 12375 TCF TRANCONT # C(A) POSITIVE MEANS POLICIES CONFLICT.
023309,000312:
023310,000313: # COINCIDENT TRANSLATION FOUND, GO FIND PURE TRANSLATION POLICY (FOR USE AFTER ROTATION):
023311,000314:
023312,000315: 20,2370 30065 CAE THISPOLY # USE BOTH ROTATION AND TRANSLATION JETS
023313,000316:
023314,000317: 20,2371 27471 ADS JTSONNOW # AT JTSONNOW (BIT 15 IS ALREADY SET).
023315,000318:
023316,000319: 20,2372 12404 TCF TRANSLAT # GO TO START FINDING JTSATCHG POLICY.
023317,000320:
023318,000321: # STOP SEARCH IF GOOD TRANSLATION POLICY ALREADY RECORDED:
023319,000322:
023320,000323: 20,2373 10073 TRANCNTD CCS TRANSAVE # TEST FOR PREVIOUSLY SAVED TRANSLATION
023321,000324: 20,2374 12411 TCF TRANUSED # POLICY, IF IT EXISTS, USE IT.
023322,000325:
023323,000326: # CONTINUE FAILURE CHECKING LOOP:
023324,000327:
023325,000328: 20,2375 00006 TRANCONT EXTEND # CONTINUE THE TRANSLATION-FAIL LOOP
023326,000329:
Page 527 |
023328,000331: 20,2376 26063 DIM POLRELOC # DECREMENT THE TRANSLATION POLICY INDEX
023329,000332: 20,2377 10064 CCS LOOPCTR # AND THEN TEST LOOPCTR FOR CONTINUATION
023330,000333: 20,2400 12407 TCF TRNRESET # OF JET FAILURE TESTING.
023331,000334:
023332,000335: # IF NO TRANSLATION CAN BE FOUND FOR ROTATION POLICY, ALL IS NOT LOST, OTHERWISE, START JET FAILURE ABORT:
023333,000336:
023334,000337: 20,2401 10072 CCS TRANSNOW # IF FAILURES STOP TRANSLATION DURING
023335,000338: 20,2402 12404 TCF TRANSLAT # ROTATION' CONTINUE BY FINDING JTSATCHG.
023336,000339:
023337,000340: 20,2403 12243 TCF ABORTJET # TURN OFF JETS AND ABORT.
023338,000341:
023339,000342: # BEGIN SEARCH FOR JTSATCHG POLICY:
023340,000343:
023341,000344: 20,2404 37761 TRANSLAT CAF ZERO # SET VOLATILE FLAG TO INDICATE SEARCH IS
023342,000345: 20,2405 54072 TS TRANSNOW # FOR JTSATCHG, AFTER TRANSNOW DONE.
023343,000346:
023344,000347: 20,2406 12316 TCF +/-XTRAN # GO TO RE-INITIALIZE LOOP FROM SCRATCH.
023345,000348:
023346,000349: # "TOP OF LOOP" (FOR ALL BUT FIRST PASS):
023347,000350:
023348,000351: 20,2407 54064 TRNRESET TS LOOPCTR # RESET LOOP COUNTER TO CONTINUE LOOPING
023349,000352: 20,2410 12335 TCF TRANNEXT # GO TO CONTINUATION OF LOOP (AT THE TOP).
023350,000353:
023351,000354: # RECONSTRUCT FLAGGED JET POLICY:
023352,000355:
023353,000356: 20,2411 67755 TRANUSED AD ONE # RESET POLICY THAT WAS POSITIVE AND CCSED
023354,000357: 20,2412 67737 LATERJET AD BIT15 # SET BIT 15 TO INDICATE Q,R-AXES POLICY.
023355,000358: 20,2413 55472 TS JTSATCHG # USE FOR JTSATCHG TRANSLATION POLICY.
023356,000359:
023357,000360: # TRANSFORM INITIAL POINTER TO 2-JET POLICY:
023358,000361:
023359,000362: 20,2414 37755 CAF ONE # FROM THE INDEX VALUE INDICATING NUMBER
023360,000363: 20,2415 70061 MASK NETACNDX # OF JETS, DIRECTION, AND AXIS' COMPUTE
023361,000364: 20,2416 10000 CCS A # THE INDEX VALUE FOR 2 JETS ABOUT THAT
023362,000365: 20,2417 12422 TCF +3 # AXIS (IN THAT DIRECTION). CONTRIVANCE
023363,000366: 20,2420 00006 EXTEND # MAKES THIS EQUIVALENT TO IF BIT1 IS ON.
023364,000367: 20,2421 24061 AUG NETACNDX # (INDEP. OF SIGN) AUGMENT NETACNDX.
023365,000368:
023366,000369: # TRANSFORM POINTER TO CORRESPOND TO JETS ACTUALLY CHOSEN.
023367,000370:
023368,000371: 20,2422 11606 CCS NO.QJETS # TRANSFORM INDEX TO APPROPRIATE VALUE FOR
023369,000372: 20,2423 12425 TCF +2 # THE NUMBER OF JETS SELECTED.
023370,000373: 20,2424 12436 TCF ALLRJETS # IF NO.QJETS ZERO, NO.RJETS IS NONZERO.
023371,000374:
023372,000375: 20,2425 10000 CCS A # IF NO.QJETS +/-1, NO.RJETS IS +/-1 (BY
023373,000376: 20,2426 12430 TCF +2 # DEFINITION) SO SUBTRACT ONE FROM INDEX.
023374,000377: 20,2427 12433 TCF SMALAXIS # GO TRANSFORM FOR 1 U,V-AXIS JET.
023375,000378: 20,2430 10000 CCS A # IF STILL NONZERO ON THIRD CCS, NO.QJETS
023376,000379: 20,2431 24061 INCR NETACNDX # MUST HAVE BEEN +/-4, SO ADD ONE TO THE
023377,000380: 20,2432 12445 TCF NETACGET # INDEX, OTHERWISE, NO CHANGE (2 JETS).
023378,000381:
Page 528 |
023380,000383: 20,2433 00006 SMALAXIS EXTEND # DECREMENT INDEX FOR 1 JET AROUND EITHER
023381,000384: 20,2434 26061 DIM NETACNDX # THE U- OR V- AXIS.
023382,000385:
023383,000386: 20,2435 12445 TCF NETACGET # (GO PICK UP INVERSE OF NET ACCELERATION)
023384,000387:
023385,000388: 20,2436 11607 ALLRJETS CCS NO.RJETS # WHEN NO.QJETS ZERO, TEST NO.RJETS WHICH
023386,000389: 20,2437 77754 MASK TWO # IS ONLY +/-2 OR +/-4. NOTE LAST THREE
023387,000390: 20,2440 12442 TCF +2 # BITS OF THESE AFTER CCS 001 OR 011.
023388,000391: 20,2441 77754 MASK TWO # ONLY BIT2 DISTINGUISHES BETWEEN THE TWO.
023389,000392: 20,2442 00006 EXTEND # IF BIT2 = 0, THEN TWO JETS, NO CHANGE.
023390,000393: 20,2443 12445 BZF +2 # IF BIT2 = 1, THEN FOUR JETS, SO THE
023391,000394: 20,2444 24061 INCR NETACNDX # INDEX MUST BE INCREMENTED.
023392,000395:
023393,000396: # PICK UP AND SAVE 1/NETACC FOR TJETLAW:
023394,000397:
023395,000398: 20,2445 50061 NETACGET INDEX NETACNDX # USE THE INDEX VALUE FOR THE EXACT JETS
023396,000399: 20,2446 31700 CAE 1/NETACS # USED, PICK UP THE APPROPRIATE 1/NETACC
023397,000400: 20,2447 54066 TS 1/NETACC # AND SAVE FOR USE BY THE TJETLAW.
023398,000401:
023399,000402: # RETURN TO APPROPRIATE TJETLAW:
023400,000403:
023401,000404: 20,2450 32454 CAF BBANKSET # ALWAYS RETURN TO THE FIXED BANK OF THE
023402,000405: 20,2451 54001 TS L # Q,R-AXES REACTION CONTROL SYSTEM LM DAP.
023403,000406: 20,2452 30062 CAE TJETADR # USE VARIABLE GENADR WITH WHICH TO
023404,000407: 20,2453 52006 DTCB # CROSS BANKS TO RETURN.
023405,000408:
023406,000409: 20,2454 E6,1417 EBANK= OMEGAQ
023407,000410: 20,2454 36006 BBANKSET BBCON QRAXIS # BBCON OF Q,R-AXES RCS LM DAP.
023408,000411:
023409,000412: 20,2455 00240 BITS6&8 OCTAL 00240 # ULLAGE AND ASCENT BURN DAPBOOLS BITS.
023410,000413:
Page 529 |
023412,000415:
023413,000416: # TABLE OF Q,R-JET NUMBERS AND DIRECTIONS:
023414,000417:
023415,000418: 20,2456 00000 TORKTABL DEC 0 B-14 # FROM THE 3 PACKED BITS IN A WORD FROM
023416,000419: 20,2457 00001 DEC +1 B-14 # POLTABLE, THE POLTYPEP PROGRAM SELECTS
023417,000420: 20,2460 77776 DEC -1 B-14 # THE APPROPRIATE NO.QJETS OR NO.RJETS
023418,000421: 20,2461 00002 DEC +2 B-14 # AS FOLLOWS:
023419,000422: 20,2462 77775 DEC -2 B-14 # 000: NO JETS
023420,000423: 20,2463 00004 DEC +4 B-14 # 001: +1 JET 011: +2 JETS 101: +4 JETS
023421,000424:
023422,000425: 20,2464 77773 DEC -4 B-14 # 010: -1 JET 100: -2 JETS 110: -4 JETS
023423,000426:
023424,000427:
023425,000428: # RELATIVE ADDRESSES AND NUMBER OF ALTERNATE POLICIES ARE LISTED IN THE FOLLOWING TABLES. EACH ENTRY HAS THE FORM
023426,000429: # 0XYYY WHERE X INDICATES THE NUMBER OF ALTERNATE POLICIES AND
023427,000430: # YYY IS THE RELATIVE ADDRESS IN POLTABLE OF THE "OPTIMAL" POLICY.
023428,000431:
023429,000432: # FORCE-COUPLE POLICIES:
023430,000433:
023431,000434: 20,2465 03003 OCTAL 03003 # +2 Q-AXIS JETS
023432,000435: 20,2466 04004 OCTAL 04004 # +4 Q-AXIS JETS
023433,000436: 20,2467 03010 OCTAL 03010 # -2 Q-AXIS JETS
023434,000437: 20,2470 04011 OCTAL 04011 # -4 Q-AXIS JETS
023435,000438: 20,2471 03015 OCTAL 03015 # +2 R-AXIS JETS
023436,000439: 20,2472 04016 OCTAL 04016 # +4 R-AXIS JETS
023437,000440: 20,2473 03022 OCTAL 03022 # -2 R-AXIS JETS
023438,000441: 20,2474 04023 OCTAL 04023 # -4 R-AXIS JETS
023439,000442: 20,2475 02026 NORMLPOL OCTAL 02026 # +2 U-AXIS JETS
023440,000443: 20,2476 02026 OCTAL 02026 # +2 U-AXIS JETS
023441,000444: 20,2477 02031 OCTAL 02031 # -2 U-AXIS JETS
023442,000445: 20,2500 02031 OCTAL 02031 # -2 U-AXIS JETS
023443,000446: 20,2501 02034 OCTAL 02034 # +2 V-AXIS JETS
023444,000447:
023445,000448: 20,2502 02034 OCTAL 02034 # +2 V-AXIS JETS
023446,000449: 20,2503 02037 OCTAL 02037 # -2 V-AXIS JETS
023447,000450: 20,2504 02037 OCTAL 02037 # -2 V-AXIS JETS
023448,000451:
Page 530 |
023450,000453:
023451,000454: # +X SENSE POLICIES:
023452,000455:
023453,000456: 20,2505 03043 OCTAL 03043 # +2 Q-AXIS JETS
023454,000457: 20,2506 04044 OCTAL 04044 # +4 Q-AXIS JETS
023455,000458: 20,2507 03050 OCTAL 03050 # -2 Q-AXIS JETS
023456,000459: 20,2510 04051 OCTAL 04051 # -4 Q-AXIS JETS
023457,000460: 20,2511 03055 OCTAL 03055 # +2 R-AXIS JETS
023458,000461: 20,2512 04056 OCTAL 04056 # +4 R-AXIS JETS
023459,000462: 20,2513 03062 OCTAL 03062 # -2 R-AXIS JETS
023460,000463: 20,2514 04063 OCTAL 04063 # -4 R-AXIS JETS
023461,000464: 20,2515 01024 +SENSTAB OCTAL 01024 # +1 U-AXIS JETS
023462,000465: 20,2516 02025 OCTAL 02025 # +2 U-AXIS JETS
023463,000466: 20,2517 01027 OCTAL 01027 # -1 U-AXIS JETS
023464,000467: 20,2520 02030 OCTAL 02030 # -2 U-AXIS JETS
023465,000468:
023466,000469: 20,2521 01032 OCTAL 01032 # +1 V-AXIS JETS
023467,000470: 20,2522 02033 OCTAL 02033 # +2 V-AXIS JETS
023468,000471: 20,2523 01036 OCTAL 01036 # -1 V-AXIS JETS
023469,000472: 20,2524 02037 OCTAL 02037 # -2 V-AXIS JETS
023470,000473:
023471,000474: # -X SENSE POLICIES:
023472,000475:
023473,000476: 20,2525 03067 OCTAL 03067 # +2 Q-AXIS JETS
023474,000477: 20,2526 04070 OCTAL 04070 # +4 Q-AXIS JETS
023475,000478: 20,2527 03074 OCTAL 03074 # -2 Q-AXIS JETS
023476,000479: 20,2530 04075 OCTAL 04075 # -4 Q-AXIS JETS
023477,000480: 20,2531 03101 OCTAL 03101 # +2 R-AXIS JETS
023478,000481: 20,2532 04102 OCTAL 04102 # +4 R-AXIS JETS
023479,000482: 20,2533 03106 OCTAL 03106 # -2 R-AXIS JETS
023480,000483: 20,2534 04107 OCTAL 04107 # -4 R-AXIS JETS
023481,000484: 20,2535 01111 -SENSTAB OCTAL 01111 # +1 U-AXIS JETS
023482,000485: 20,2536 02112 OCTAL 02112 # +2 U-AXIS JETS
023483,000486: 20,2537 01114 OCTAL 01114 # -1 U-AXIS JETS
023484,000487: 20,2540 02115 OCTAL 02115 # -2 U-AXIS JETS
023485,000488: 20,2541 01117 OCTAL 01117 # +1 V-AXIS JETS
023486,000489: 20,2542 02120 OCTAL 02120 # +2 V-AXIS JETS
023487,000490: 20,2543 01122 OCTAL 01122 # -1 V-AXIS JETS
023488,000491: 20,2544 02123 OCTAL 02123 # -2 V AXIS JETS
023489,000492:
Page 531 |
023491,000494:
023492,000495: # X-AXIS TRANSLATION POLICIES:
023493,000496:
023494,000497: 20,2545 00042 TRANPOLY OCTAL +00042 # 2 10 * +X TRANSLATION JETS 0
023495,000498: 20,2546 00210 OCTAL +00210 # 6 14 * 1
023496,000499: 20,2547 00252 OCTAL +00252 # 2 6 10 14 * 2
023497,000500:
023498,000501: 20,2550 00104 OCTAL +00104 # 3 13 * -X TRANSLATION JETS 3
023499,000502: 20,2551 00021 OCTAL +00021 # 1 9 * 4
023500,000503: 20,2552 00125 OCTAL +00125 # 1 5 9 13 * 5
023501,000504:
Page 532 |
023503,000506:
023504,000507: # ROTATION JET POLICIES;
023505,000508:
023506,000509: # FORCE COUPLE POLICIES:
023507,000510:
023508,000511: 20,2553 14025 POLTABLE OCTAL +14025 # 5 9 * +Q-AXIS FORCE COUPLES 0
023509,000512: 20,2554 14203 OCTAL +14203 # 2 14 * 1
023510,000513: 20,2555 14221 OCTAL +14221 # 9 14 * 2
023511,000514: 20,2556 14007 OCTAL +14007 # 2 5 * 3
023512,000515: 20,2557 24227 OCTAL +24227 # 2 5 9 14 * 4
023513,000516:
023514,000517: 20,2560 20051 OCTAL +20051 # 6 10 * -Q-AXIS FORCE-COUPLES 5
023515,000518: 20,2561 20102 OCTAL +20102 # 1 13 * 6
023516,000519: 20,2562 20141 OCTAL +20141 # 10 13 * 7
023517,000520: 20,2563 20012 OCTAL +20012 # 1 6 * 10
023518,000521: 20,2564 30152 OCTAL +30152 # 1 6 10 13 * 11
023519,000522:
023520,000523: 20,2565 01641 OCTAL +01641 # 10 14 * +R-AXIS FORCE-COUPLES 12
023521,000524: 20,2566 01406 OCTAL +01406 # 1 5 * 13
023522,000525: 20,2567 01445 OCTAL +01445 # 5 10 * 14
023523,000526: 20,2570 01602 OCTAL +01602 # 1 14 * 15
023524,000527: 20,2571 02646 OCTAL +02646 # 1 5 10 14 * 16
023525,000528:
023526,000529: 20,2572 02121 OCTAL +02121 # 9 13 * -R-AXIS FORCE-COUPLES 17
023527,000530: 20,2573 02013 OCTAL +02013 # 2 6 * 20
023528,000531: 20,2574 02103 OCTAL +02103 # 2 13 * 21
023529,000532: 20,2575 02031 OCTAL +02031 # 6 9 * 22
023530,000533:
023531,000534: 20,2576 03133 OCTAL +03133 # 2 6 9 13 * 23
023532,000535:
023533,000536: # FORCE COUPLE AND +X SENSE POLICIES:
023534,000537:
023535,000538: 20,2577 73372 OCTAL -04405 # 5 * +U-AXIS FORCE-COUPLES 24
023536,000539: 20,2600 73176 OCTAL -04601 # 14 * AND +X SENSE 25
023537,000540: 20,2601 62172 OCTAL -15605 # 5 14 * 26
023538,000541:
023539,000542: 20,2602 66676 OCTAL -11101 # 13 * -U-AXIS FORCE-COUPLES 27
023540,000543: 20,2603 66766 OCTAL -11011 # 6 * AND +X SENSE 30
023541,000544: 20,2604 55666 OCTAL -22111 # 6 13 * 31
023542,000545:
023543,000546: 20,2605 67375 OCTAL -10402 # 1 * +V-AXIS FORCE-COUPLES 32
023544,000547: 20,2606 67336 OCTAL -10441 # 10 * AND +X SENSE 33
023545,000548: 20,2607 56335 OCTAL -21442 # 1 10 * 34
023546,000549:
023547,000550: 20,2610 72756 OCTAL -05021 # 9 * -V-AXIS FORCE-COUPLES 35
023548,000551: 20,2611 72774 OCTAL -05003 # 2 * AND +X SENSE 36
023549,000552: 20,2612 61754 OCTAL -16023 # 2 9 * 37
023550,000553:
Page 533 |
023552,000555:
023553,000556: # +X SENSE POLICIES:
023554,000557:
023555,000558: 20,2613 14025 OCTAL +14025 # 5 9 * +Q-AXIS +X SENSE JETS 40
023556,000559: 20,2614 14221 OCTAL +14221 # 9 14 * 41
023557,000560: 20,2615 14007 OCTAL +14007 # 2 5 * 42
023558,000561: 20,2616 14203 OCTAL +14203 # 2 14 * 43
023559,000562: 20,2617 24227 OCTAL +24227 # 2 5 9 14 * 44
023560,000563:
023561,000564: 20,2620 20102 OCTAL +20102 # 1 13 * -Q-AXIS +X SENSE JETS 45
023562,000565: 20,2621 20141 OCTAL +20141 # 10 13 * 46
023563,000566: 20,2622 20012 OCTAL +20012 # 1 6 * 47
023564,000567: 20,2623 20051 OCTAL +20051 # 6 10 * 50
023565,000568: 20,2624 30152 OCTAL +30152 # 1 6 10 13 * 51
023566,000569:
023567,000570: 20,2625 01406 OCTAL +01406 # 1 5 * +R-AXIS +X SENSE JETS 52
023568,000571: 20,2626 01445 OCTAL +01445 # 5 10 * 53
023569,000572: 20,2627 01602 OCTAL +01602 # 1 14 * 54
023570,000573: 20,2630 01641 OCTAL +01641 # 10 14 * 55
023571,000574: 20,2631 02646 OCTAL +02646 # 1 5 10 14 * 56
023572,000575:
023573,000576: 20,2632 02121 OCTAL +02121 # 9 13 * -R-AXIS +X SENSE JETS 57
023574,000577: 20,2633 02103 OCTAL +02103 # 2 13 * 60
023575,000578: 20,2634 02031 OCTAL +02031 # 6 9 * 61
023576,000579: 20,2635 02013 OCTAL +02013 # 2 6 * 62
023577,000580: 20,2636 03133 OCTAL +03133 # 2 6 9 13 * 63
023578,000581:
Page 534 |
023580,000583:
023581,000584: # -X SENSE POLICIES:
023582,000585:
023583,000586: 20,2637 14203 OCTAL +14203 # 2 14 * +Q-AXIS -X SENSE JETS 64
023584,000587: 20,2640 14221 OCTAL +14221 # 9 14 * 65
023585,000588: 20,2641 14007 OCTAL +14007 # 2 5 * 66
023586,000589: 20,2642 14025 OCTAL +14025 # 5 9 * 67
023587,000590: 20,2643 24227 OCTAL +24227 # 2 5 9 14 * 70
023588,000591:
023589,000592: 20,2644 20051 OCTAL +20051 # 6 10 * -Q-AXIS -X SENSE JETS 71
023590,000593: 20,2645 20141 OCTAL +20141 # 10 13 * 72
023591,000594: 20,2646 20012 OCTAL +20012 # 1 6 * 73
023592,000595: 20,2647 20102 OCTAL +20102 # 1 13 * 74
023593,000596: 20,2650 30152 OCTAL +30152 # 1 6 10 13 * 75
023594,000597:
023595,000598: 20,2651 01641 OCTAL +01641 # 10 14 * +R-AXIS -X SENSE JETS 76
023596,000599: 20,2652 01445 OCTAL +01445 # 5 10 * 77
023597,000600: 20,2653 01602 OCTAL +01602 # 1 14 * 100
023598,000601: 20,2654 01406 OCTAL +01406 # 1 5 * 101
023599,000602: 20,2655 02646 OCTAL +02646 # 1 5 10 14 * 102
023600,000603:
023601,000604: 20,2656 02013 OCTAL +02013 # 2 6 * -R-AXIS -X SENSE JETS 103
023602,000605: 20,2657 02103 OCTAL +02103 # 2 13 * 104
023603,000606: 20,2660 02031 OCTAL +02031 # 6 9 * 105
023604,000607: 20,2661 02121 OCTAL +02121 # 9 13 * 106
023605,000608: 20,2662 03133 OCTAL +03133 # 2 6 9 13 * 107
023606,000609:
023607,000610: 20,2663 73176 OCTAL -04601 # 14 * +U-AXIS -X SENSE JETS 110
023608,000611: 20,2664 73372 OCTAL -04405 # 5 * 111
023609,000612: 20,2665 62172 OCTAL -15605 # 5 14 * 112
023610,000613:
023611,000614: 20,2666 66766 OCTAL -11011 # 6 * -U-AXIS -X SENSE JETS 113
023612,000615: 20,2667 66676 OCTAL -11101 # 13 * 114
023613,000616: 20,2670 55666 OCTAL -22111 # 6 13 * 115
023614,000617:
023615,000618: 20,2671 67336 OCTAL -10441 # 10 * +V-AXIS -X SENSE JETS 116
023616,000619: 20,2672 67375 OCTAL -10402 # 1 * 117
023617,000620: 20,2673 56335 OCTAL -21442 # 1 10 * 120
023618,000621:
023619,000622: 20,2674 72774 OCTAL -05003 # 2 * -V-AXIS -X SENSE JETS 121
023620,000623: 20,2675 72756 OCTAL -05021 # 9 * 122
023621,000624: 20,2676 61754 OCTAL -16023 # 2 9 * 123
End of include-file Q,R-AXES_JET_SELECT_AND_FAILURE_CONTROL_LOGIC.agc. Parent file is MAIN.agc