Source Code

035099,000001: # Copyright: Public domain. 035100,000002: # Filename: P61-P67.agc 035101,000003: # Purpose: Part of the source code for Comanche, build 055. It 035102,000004: # is part of the source code for the Command Module's 035103,000005: # (CM) Apollo Guidance Computer (AGC), Apollo 11. 035104,000006: # Assembler: yaYUL 035105,000007: # Reference: pp. 789-818 035106,000008: # Contact: Ron Burkey <info@sandroid.org> 035107,000009: # Website: http://www.ibiblio.org/apollo. 035108,000010: # Mod history: 2009-05-12 RSB Adapted from Colossus249 file of the same 035109,000011: # name and Comanche 055 page images. 035110,000012: # 2009-05-20 RSB Corrections: V06N68 -> V06N74, added missing 035111,000013: # definition of V06N74, in several 035112,000014: # interpreter operands fixed stuff like 035113,000015: # N-M,1 to N -M,1 035114,000016: 035115,000017: # The contents of the "Comanche055" files, in general, are transcribed 035116,000018: # from scanned documents. 035117,000019: 035118,000020: # Assemble revision 055 of AGC program Comanche by NASA 035119,000021: # 2021113-051. April 1, 1969. 035120,000022: 035121,000023: # This AGC program shall also be referred to as Colossus 2A 035122,000024: 035123,000025: # Prepared by 035124,000026: # Massachussets Institute of Technology 035125,000027: # 75 Cambridge Parkway 035126,000028: # Cambridge, Massachusetts 035127,000029: 035128,000030: # under NASA contract NAS 9-4065. 035129,000031: 035130,000032: # Refer directly to the online document mentioned above for further 035131,000033: # information. Please report any errors to info@sandroid.org. 035132,000034: 035133,000035: # Page 789 035134,000036: # PROGRAM: P61 035135,000037: # MOD NO.: 0 MAR. 13, 1967 035136,000038: # MOD BY: R. HIRSCHKOP 035137,000039: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 22 JUN 67 RESTARTS 035138,000040: # MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 17 JAN 68 COLOSSUS GSOP CHANGES 035139,000041: # MOD NO: 3 MOD BY: RR BAIRNSFATHER DATE: 8 MAY 68 DELETE CMSM MANEUVER (PCR 50) 035140,000042: # FUNCTION: TO CALCULATE AND DISPLAY EMS INITIALIZATION DATA 035141,000043: # CALLING SEQUENCE: BY V37 035142,000044: # EXIT: TO P62 035143,000045: # SUBROUTINE CALLS: S61.1, S61.3, GOFLASH, FLAGUP, R02BOTH 035144,000046: # ERASABLE INITIALIZATION: 035145,000047: # EMSALT (-29) M .05G ALTITUDE ABOVE FISCHER ELLIPSOID PAD LOADED. 035146,000048: # ALFAPAD /180 HYPERSONIC CM TRIM ANGLE OF ATTACK PAD LOADED 035147,000049: # OUTPUT: THE FOLLOWING REGISTERS ARE WRITTEN IN FOR USE BY DISPLAYS 035148,000050: # GMAX 100 GMAX (-14) G,S MAXIMUM ACCELERATION 035149,000051: # VPRED (-7) M/CS PREDICTED VELOCITY AT 400K FT 035150,000052: # GAMMAEI (GAMMA/360 PREDICTED GAMMA AT 400K FT 035151,000053: # RTGO THETAH/360 RANGE ANGLE TO SPLASH FROM EMSALT EMSALT IS PAD LOADED 035152,000054: # VIO (-7) M/CS INERTIAL VELOCITY AT EMSALT EMSALT IS PAD LOADED 035153,000055: # TTE (-28) CS TIME TO EMSALT EMSALT IS PAD LOADED 035154,000056: # LAT(SPL) /360 TARGET LOCATION LEFT BY DSKY 035155,000057: # LNG(SPL) /360 TARGET LOCATION LEFT BY DSKY 035156,000058: # HEADSUP (0) +1 = LIFT DOWN, -1 = LIFT UP LEFT BY DSKY 035157,000059: # DEBRIS: SEE SUBROUTINES. 035158,000060: 035159,000061: 26,2217 BANK 26 035160,000062: 26,2000 SETLOC P60S 035161,000063: 26,2000 BANK 035162,000064: 035163,000065: 26,2217 E6,1661 EBANK= AOG 035164,000066: 035165,000067: 26,2217 COUNT* $$/P61 035166,000068: 035167,000069: 26,2217 35002 P61 CA BIT14 # EXTENDED VERB SHOULD BE FREE THIS CLOSE 035168,000070: 26,2220 55044 TS EXTVBACT # TO V37 035169,000071: # LOCK OUT EXTENDED VERBS SO CAN USE TFF 035170,000072: # ROUTINES. EXT VERB ERASE IS USED 035171,000073: 035172,000074: 26,2221 45017 CS ONE # REMOVE IF HEADSUP EVER ON UPLINK DATA 035173,000075: 26,2222 55726 TS HEADSUP # PRELOAD 035174,000076: 035175,000077: 26,2223 02544 TC S61.1 # CHECK STATE VECTOR AND IMU ORIENTATION 035176,000078: # RV 50GENRET. DOES PHASCHNG, GROUP 4. 035177,000079: 035178,000080: 26,2224 32425 CA V06N61 # LAT(SPL) LNG(SPL) HEADSUP 035179,000081: # XXX.XX DEG XXX.XX DEG XXXXX. 035180,000082: 26,2225 04662 TC BANKCALL 035181,000083: 26,2226 21057 CADR GOFLASHR 035182,000084: 26,2227 04106 TC GOTOP00H 035183,000085: # Page 790 035184,000086: 26,2230 02235 TC P61.4 035185,000087: 26,2231 02224 TC -5 035186,000088: 035187,000089: 26,2232 05412 P61.3 TC PHASCHNG 035188,000090: 26,2233 00014 OCT 00014 035189,000091: 035190,000092: 26,2234 05217 TC ENDOFJOB 035191,000093: 035192,000094: 26,2235 22007 P61.4 ZL 035193,000095: 26,2236 11726 CCS HEADSUP # C(HEADSUP)= +1/-1 035194,000096: 26,2237 35002 CA BIT14 # IF HEADSUP POS,ROLLC =180 DEG.(LIFT DWN) 035195,000097: 26,2240 12241 NOOP # IF HEADSUP NEG,ROLLC =0 (LIFT UP) 035196,000098: 26,2241 53716 DXCH ROLLC # ROLLC IS USED BY S62.3: GIM ANG AT .05G 035197,000099: 035198,000100: 26,2242 06006 TC INTPRET 035199,000101: 26,2243 77745 NEWRNVN DLOAD 035200,000102: 26,2244 01205 PIPTIME # SAVE TIME OF RN,VN TO DETERMINE IF AN 035201,000103: 26,2245 37651 STCALL MM # UPDATE HAS OCCURRED. 035202,000104: 26,2246 52063 STARTEN1 # INITIALIZE 035203,000105: 26,2247 77775 VLOAD 035204,000106: 26,2250 01171 RN 035205,000107: 26,2251 02327 STORE RONE 035206,000108: 26,2252 77656 UNIT 035207,000109: 26,2253 26343 STOVL URONE 035208,000110: 26,2254 01177 VN 035209,000111: 26,2255 02335 STORE VONE 035210,000112: 26,2256 53435 VXV UNIT 035211,000113: 26,2257 02343 URONE 035212,000114: 26,2260 03502 STORE UNI 035213,000115: 26,2261 45345 DUMPP61 DLOAD DSU 035214,000116: 26,2262 03651 MM # INITIAL VALUE OF PIPTIME 035215,000117: 26,2263 01205 PIPTIME 035216,000118: 26,2264 45040 BMN CALRB 035217,000119: 26,2265 54243 NEWRNVN # UPDATED... GO TRY AGAIN 035218,000120: 26,2266 54651 S61.2 # GET DISPLAY DATA FOR N60 AND N63 035219,000121: # AND RETURN IN BASIC, BELOW. 035220,000122: 26,2267 05536 P61.1 TC CLEARMRK 035221,000123: 26,2270 32424 CA V06N60 # GMAX VPRED GAMMAEI 035222,000124: # XXX.XX G XXXXX. FPS XXX.XX DEG 035223,000125: 26,2271 04662 TC BANKCALL 035224,000126: 26,2272 20720 CADR GOFLASH 035225,000127: 035226,000128: 26,2273 04106 TC GOTOP00H 035227,000129: 26,2274 02276 TC P61.2 # PROCEED 035228,000130: 26,2275 02270 TC -5 035229,000131: 035230,000132: 26,2276 06006 P61.2 TC INTPRET # CORRECT TTE FOR TIME LAPSE DURING 035231,000133: # ABOVE DISPLAY. 035232,000134: 26,2277 45234 RTB DSU 035233,000135: 26,2300 45510 LOADTIME # CURRENT TIME. 035234,000136: # Page 791 035235,000137: 26,2301 03651 MM # PIPTIME FOR RONE & VONE. 035236,000138: 26,2302 77615 DAD 035237,000139: 26,2303 03733 TTE1 # NEGATIVE OF FREE FALL TIME. 035238,000140: 26,2304 03727 STORE TTE # DECREMENTED 035239,000141: 035240,000142: 26,2305 77776 EXIT 035241,000143: 035242,000144: 26,2306 32426 CA V06N63 # RTGO VIO TTE 035243,000145: # XXXX.X NM XXXXX. FPS XXBXX M,S 035244,000146: 26,2307 04662 TC BANKCALL 035245,000147: 26,2310 20720 CADR GOFLASH 035246,000148: 26,2311 04106 TC GOTOP00H 035247,000149: 26,2312 02314 TC +2 035248,000150: 26,2313 02276 TC P61.2 # REDO 035249,000151: 035250,000152: # .... THEN FALL INTO P62 035251,000153: # Page 792 035252,000154: 035253,000155: # PROGRAM: P62 035254,000156: # MOD NO.: 0 MAR. 13, 1967 035255,000157: # MOD BY: R. HIRSCHKOP 035256,000158: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 67 035257,000159: # MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 22 JUN 67 RESTARTS. 035258,000160: # MOD NO: 3 MOD BY: RR BAIRNSFATHER DATE: 17 JAN 68 COLOSSUS GSOP CHANGES. 035259,000161: # MOD NO: 4 MOD BY: RR BAIRNSFATHER DATE: 8 MAY 68 MOVE START OF DESIRED GIMBAL CALC. 035260,000162: # FUNCTION: 1) TO NOTIFY CREW WHEN GNC SYSTEM IS PREPARED FOR CM/SM SEPARATION. 035261,000163: # 2) TO ORIENT THE CM TO THE CORRECT ATTITUDE FOR ATMOSPHERIC ENTRY. 035262,000164: # CALLING SEQUENCE: BY V37 OR DIRECTLY FROM P61 035263,000165: # EXIT: TO P63 035264,000166: # ERASABLE INITIALIZATION: 035265,000167: # ALFAPAD LEFT BY PAD LOAD 035266,000168: # LADPAD LEFT BY PAD LOAD 035267,000169: # LODPAD LEFT BY PAD LOAD 035268,000170: # LAT(SPL) (MAY BE CHANGED BELOW) LEFT BY DSKY, VIA P61 035269,000171: # LNG(SPL) (MAY BE CHANGED BELOW) LEFT BY DSKY, VIA P61 035270,000172: # HEADSUP (MAY BE CHANGED BELOW) LEFT BY DSKY, VIA P61 035271,000173: # SUBROUTINE CALLS: NEWMODEX, S61.1, CM/DAPIC, CM/DAPON, R02BOTH, GOPERF1, GOFLASH, GODSPR. 035272,000174: 035273,000175: 26,2314 COUNT* $$/P62 035274,000176: 035275,000177: 26,2314 05354 TC NEWMODEX # MODE CHANGE IF CAME FROM P61. 035276,000178: 26,2315 00076 MM 62 B-14 # MODE CHANGE AUTOMATIC VIA V 37. 035277,000179: 26,2316 35017 CA ONE 035278,000180: 26,2317 54332 TS DNLSTCOD 035279,000181: 035280,000182: 26,2320 02544 P62 TC S61.1 # CHECK STATE VECTOR AND IMU ORIENTATION. 035281,000183: 035282,000184: 26,2321 06006 TC INTPRET 035283,000185: 26,2322 47131 SSP RTB 035284,000186: 26,2323 03325 POSEXIT 035285,000187: 26,2324 54401 P62.3 # CALCULATE DESIRED .05G GIMBAL ANGLES. 035286,000188: # WITHOUT DISPLAY. 035287,000189: 26,2325 41672 CM/DAPIC # START CM/POSE AND BODY RATE CALC 035288,000190: 035289,000191: # DOES 2PHSCHNG, OCT 40116, OCT 05024, OCT 13000. 035290,000192: # CM/DAPIC SETS EBANK = EBAOG 035291,000193: # AND RETURNS IN BASIC TO P62.2. 035292,000194: 26,2326 00006 P62.2 EXTEND 035293,000195: 26,2327 32432 DCA POSECADR # CONTINUE WITH CM/POSE AFTER AV G. 035294,000196: 26,2330 53223 DXCH AVEGEXIT 035295,000197: 035296,000198: 26,2331 34270 CAF OCT41 # REQUEST SEPARATION 035297,000199: 26,2332 04662 TC BANKCALL 035298,000200: 26,2333 21125 CADR GOPERF1R 035299,000201: 26,2334 04106 TC GOTOP00H 035300,000202: 26,2335 02340 TC +3 # PROCEED 035301,000203: # Page 793 035302,000204: # NOTE: NODOFLAG WILL BE SET IN CM/DAPON. *** 035303,000205: 26,2336 02331 TC -5 # ENTER 035304,000206: 26,2337 02232 TC P61.3 # FOR PHASCHNG AND ENDOFJOB 035305,000207: 035306,000208: 26,2340 04701 +3 TC POSTJUMP 035307,000209: 26,2341 41612 CADR CM/DAPON # DISABLE RCS DAP, ENABLE ENTRY DAP AND 035308,000210: # DO ATTITUDE HOLD. 035309,000211: 035310,000212: # WILL IDLE UNTIL CM/POSE DOES ONE UPDATE. 035311,000213: # CM/DAPON DOES NO PHASCHNG. 035312,000214: 035313,000215: 26,2342 32425 P62.1 CA V06N61 # LAT(SPL) LNG(SPL) HEADSUP 035314,000216: # XXX.XX DEG XXX.XX DEG 0000X. 035315,000217: 035316,000218: # TERMINATE ATTITUDE HOLD. SET UP COMMANDS: 035317,000219: # ROLLC, ALFACOM, BETACOM. BEGIN MANEUVER TO 035318,000220: # ENTRY ATTITUDE. 035319,000221: 035320,000222: 26,2343 04662 TC BANKCALL 035321,000223: 26,2344 20720 CADR GOFLASH 035322,000224: 26,2345 02342 TC -3 035323,000225: 26,2346 02350 TC +2 035324,000226: 26,2347 02342 TC -5 035325,000227: 035326,000228: 26,2350 05412 TC PHASCHNG 035327,000229: 26,2351 04024 OCT 04024 # USE ENTRYVN FOR DISPLAY BELOW. 035328,000230: # EBANK WAS SET IN CM/DAPON TO EBAOG 035329,000231: 035330,000232: 26,2352 11726 CCS HEADSUP # C(HEADSUP) = +/- 1 035331,000233: 26,2353 35002 CA BIT14 # IF HEADSUP POS, ROLLC=180 DEG (LIFT DWN) 035332,000234: 26,2354 12355 NOOP # IF HEADSUP NEG, ROLLC=0 DEG (LIFT UP) 035333,000235: 26,2355 55715 TS ROLLC 035334,000236: 26,2356 31411 CA ALFAPAD # NOMINAL ALFATRIM PAD LOADED, NEG. NO. 035335,000237: 26,2357 22007 ZL 035336,000238: 26,2360 53604 DXCH ALFACOM # SET ALFACOM = ALFA TRIM, BETACOM=0 035337,000239: 035338,000240: 26,2361 35017 CA ONE # PERMITS EXDAP2 TO CHANGE FLAG TO +0 035339,000241: 26,2362 55727 TS P63FLAG # AS INDICATOR. STARTS UP P63. 035340,000242: 035341,000243: 26,2363 35052 CA V06N22 # SET UP DISPLAY FOR CDU DESIRED VALUES 035342,000244: 26,2364 55263 TS ENTRYVN # FROM ENTRY ATTITUDE CALC, THAT IS 035343,000245: # ALREADY GOING. 035344,000246: 26,2365 05546 TC UPFLAG # TURN ON ENTRY DISPLAY 035345,000247: 26,2366 00134 ADRES ENTRYDSP # ENTRYDSP = 92D BIT 13 FLAG 6 035346,000248: 26,2367 SKIP 035347,000249: # Page 794 035348,000250: 26,2367 41700 CS CMDAPMOD # GO DIRECTLY TO P63 IF BODY ATTITUDE 035349,000251: 26,2370 75017 MASK ONE # IS SUCH THAT THE DELAY TASK: WAKEP62 035350,000252: 26,2371 00006 EXTEND # WILL BE OMITTED. 035351,000253: 26,2372 12421 BZF P63.1 # DISABLE GRP 4, GO TO ENDOFJOB. 035352,000254: # (I.E., CONTINUE IF CMDAPMOD = -1, OR +0) 035353,000255: 26,2373 02405 TC P63 035354,000256: 035355,000257: # PUT JOB TO SLEEP UNTIL VEHICLE MANEUVER HAS 035356,000258: # REDUCED ALFA TO +/-45 DEG. CONSIDER REMAINING 035357,000259: # 65 DEG (25 DEG IF ALFA NEG) TO ALFA TRIM TO 035358,000260: # OCCUR AT 3 DEG/SEC, AND TERMINATE P62 AT THAT 035359,000261: # TIME. 035360,000262: 035361,000263: # TASK WAKEP62 IS CALLED FROM ENTRY DAP. 035362,000264: 26,2374 35065 WAKEP62 CA PRIO13 035363,000265: 26,2375 05134 TC NOVAC 035364,000266: 26,2376 E6,1661 EBANK= AOG 035365,000267: 26,2376 02405 54066 2CADR P63 035366,000268: 035367,000269: 26,2400 05324 TC TASKOVER 035368,000270: 035369,000271: # EACH 2 SEC, CALCULATE GIMBAL ANGLES FOR ENTRY CON- 035370,000272: # DITIONS THAT WILL HOLD IF REORIENTATION WERE MADE 035371,000273: # AT PRESENT RN, VN. COME HERE FROM CM/POSE AND ALSO 035372,000274: # IN KEPLER PHASE OF ENTRY. 035373,000275: 035374,000276: 26,2401 52131 P62.3 SSP GOTO # SET RETURN ADDRESS SO THAT ROUTINE 035375,000277: 26,2402 00053 QPRET # GOES DIRECTLY TO ENTRY GUIDANCE EXIT 035376,000278: 26,2403 53576 ENDEXIT # THAT DOES ENTRY DISPLAY, GRP 5. 035377,000279: 26,2404 20376 S62.3 # PUT DESIRED CDU VALUES IN CPHI'S FOR 035378,000280: # N22 DISPLAY. 035379,000281: 035380,000282: # Page 795 035381,000283: # P63 035382,000284: # PROGRAM: P63 035383,000285: # MOD NO: 0 MAR. 13, 1967 035384,000286: # MOD BY: R. HIRSCHKOP 035385,000287: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 22 JUN 67 RESTARTS 035386,000288: # MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 14 JUL 67 REVISED RESTARTS 035387,000289: # FUNCTION: 1) TO INITIALIZE THE ENTRY EQUATIONS. 035388,000290: # 2) TO CONTINUE TO HOLD THE CM TO THE CORRECT ATTITUDE WITH RESPECT TO THE ATMOSPHERE FOR 035389,000291: # THE ONSET OF ENTRY DECELERATION. ROLL ANGLE IS LIFT UP/DOWN AS SPECIFIED BY HEADSUP. 035390,000292: # 3) TO SENSE .05G. 035391,000293: # CALLING SEQUENCE: DIRECTLY FROM P62 035392,000294: # EXIT: TO ENDOFJOB 035393,000295: # SUBROUTINE CALLS: NEWMODEX, GODSPR 035394,000296: 035395,000297: 26,2405 COUNT* $$/P63 035396,000298: 035397,000299: 26,2405 05354 P63 TC NEWMODEX 035398,000300: 26,2406 00077 MM 63 B-14 035399,000301: 035400,000302: # ARRIVE WITH EBANK = AOG. 035401,000303: 035402,000304: 26,2407 32430 CA ENTCADR # CONTINUE AT STARTENT AFTER CM/POSE. 035403,000305: 035404,000306: # AT END OF STATEMENT, CHANGE ADDRESS IN GOTOADDR 035405,000307: # TO CONTINUE AT SCALEPOP THEREAFTER. 035406,000308: 035407,000309: 26,2410 55724 TS POSEXIT 035408,000310: 035409,000311: 26,2411 32427 CA V06N64 # G VI R TO SPLSH 035410,000312: # XXX.XX G XXXX. FPS XXXX.X NM 035411,000313: 26,2412 55263 TS ENTRYVN # FOR DISPLAY CALL IN OVERNOUT 035412,000314: 035413,000315: 26,2413 45017 CS ONE # IN CASE FLAG IS LEFT AT +1 BY DAP. THE 035414,000316: 26,2414 55727 TS P63FLAG # -1 ASSURES THAT EXO-ATM DAP WILL NOT 035415,000317: # CALL P63 OUT OF SEQUENCE IN P66. 035416,000318: 035417,000319: 26,2415 05412 TC PHASCHNG # THIS IS REQUIRED TO PRESERVE CLEANDSP 035418,000320: 26,2416 00004 OCT 00004 # RETURN IN EVENT OF AN EXTENDED VERB 035419,000321: 035420,000322: 26,2417 04662 TC BANKCALL # FLUSH 'N22' DISPLAY, IF ON, (OMIT 035421,000323: 26,2420 20703 CADR CLEANDSP # DISPLAY DURING 'STARTENT' PASS.) 035422,000324: 035423,000325: 26,2421 05412 P63.1 TC PHASCHNG 035424,000326: 26,2422 00004 OCT 00004 # DISABLE. DISPLAY RESTARTED VIA ENTRY. 035425,000327: 035426,000328: 26,2423 05217 TC ENDOFJOB 035427,000329: 035428,000330: 26,2424 01474 V06N60 VN 0660 035429,000331: 26,2425 01475 V06N61 VN 0661 035430,000332: 26,2426 01477 V06N63 VN 0663 035431,000333: # Page 796 035432,000334: 26,2427 01500 V06N64 VN 0664 035433,000335: 26,2430 52000 ENTCADR CADR STARTENT 035434,000336: 035435,000337: 26,2431 E7,1451 EBANK= RTINIT # TO CARRY OVER INTO ENTRY STEERING. 035436,000338: 26,2431 03470 76067 POSECADR 2CADR CM/POSE 035437,000339: 035438,000340: # Page 797 035439,000341: # PROGRAM: P64 035440,000342: # MOD NO: 1 SEPT. 19, 1967 035441,000343: # MOD BY: R. HIRSCHKOP 035442,000344: # MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 8 MAY 68 REVISED COMMENTS FOR COLOSSUS 035443,000345: # FUNCTION: 1. TO START ENTRY GUIDANCE AT .05G SELECTING ROLL ATTITUDE, CONSTANT DRAG LEVEL, AND 035444,000346: # DRAG THRESHHOLD, KA, WHICH ARE KEYED TO THE .05G POINT. 035445,000347: # 2. SELECT FINAL PHASE P67 IF V < 27000 FPS WHEN .2G OCCURS. 035446,000348: # 3. ITERATE FOR UP-CONTROL SOLUTION P65 IF V > 27000 FPS AND IF ALTITUDE RATE AND DRAG 035447,000349: # LEVEL CONDITIONS ARE SATISFIED. ENTER P65 WHEN CONSTANT DRAG CONTROLLER HAS BROUGHT RANGE 035448,000350: # AS PREDICTED TO WITHIN 25 NM OF DESIRED RANGE. 035449,000351: # 4. SELECT FINAL PHASE P67 IF NO UP-CONTROL SOLUTION EXISTS WITH VL > 18000 FPS. 035450,000352: # CALLING SEQUENCE: BY RTB FROM REENTRY CONTROL 035451,000353: # EXIT: BACK TO REENTRY CONTROL. 035452,000354: # SUBROUTINE CALLS: NEWMODEX 035453,000355: 035454,000356: 25,2000 BANK 25 035455,000357: 26,2000 SETLOC P60S1 035456,000358: 26,2000 BANK 035457,000359: 035458,000360: # THIS DISPLAY IS CALLED EACH PASS THROUGH STEERING. RESTART PROTECTION IS VIA STEERING. 035459,000361: 035460,000362: 26,2433 COUNT* $$/P64 035461,000363: 035462,000364: 26,2433 05354 P64 TC NEWMODEX # ENTER VIA RTB WHEN .05G IS EXCEEDED. 035463,000365: 26,2434 00100 MM 64 B-14 035464,000366: 26,2435 32440 CA V06N74 # ROLLC VI D 035465,000367: # XXX.XX DEG XXXXX. FPS XXX.XX G 035466,000368: 26,2436 55263 TS ENTRYVN # DISPLAY VIA OVERNOUT. 035467,000369: 035468,000370: 26,2437 06030 TC DANZIG # ... AND CONTINUE IN INITROLL ... 035469,000371: 035470,000372: 26,2440 01512 V06N74 VN 0674 035471,000373: 035472,000374: # Page 798 035473,000375: # PROGRAM: P65 035474,000376: # MOD NO: 0 MOD BY: RR BAIRNSFATHER DATE: 17 JAN 68 COLOSSUS GSOP ADDITION. 035475,000377: # FUNCTION: TO CONTINUE ENTRY GUIDANCE, USING THE UP-CONTROL PHASE TO STEER TO A CONTROLLED EXIT 035476,000378: # CONDITION. THIS PHASE TERMINATES A) IF D < Q7 FPSS, GOTO TO P66. 035477,000379: # B) IF RDOT NEG, AND IF V < VL +500 FPS, GO TO P67. 035478,000380: # CALLING SEQUENCE: BY RTB FROM REENTRY CONTROL 035479,000381: # EXIT: BACK TO REENTRY CONTROL, OR TO ENDOFJOB. 035480,000382: # SUBROUTINE CALLS: NEWMODEX 035481,000383: 035482,000384: 26,2441 COUNT* $$/P65 035483,000385: 035484,000386: 26,2441 05354 P65 TC NEWMODEX # ENTER VIA RTB WHEN RANGE < 25 N M OF 035485,000387: 26,2442 00101 MM 65 B-14 # TARGET. 035486,000388: 035487,000389: 26,2443 35065 CA PRIO13 035488,000390: 26,2444 05134 TC NOVAC 035489,000391: 26,2445 1263 EBANK= ENTRYVN 035490,000392: 26,2445 02457 54062 2CADR P65.1 035491,000393: 035492,000394: 26,2447 05372 TC 2PHSCHNG # 2 PHASE CHG REQUIRED TO PREVENT RE- 035493,000395: 26,2450 00554 OCT 00554 # STARTING FLASHING DISPLAY TWICE. 035494,000396: 26,2451 10035 OCT 10035 # 4.55 SPOT AND SERVICER, HERE. 035495,000397: 26,2452 06006 TC INTPRET 035496,000398: 26,2453 47131 SSP RTB 035497,000399: 26,2454 03646 GOTOADDR # CHANGE ENTRY MODE TO UPCONTRL. 035498,000400: 26,2455 53035 UPCONTRL 035499,000401: 26,2456 52120 REFAZE10 # GO HERE TO REESTABLISH ENTRY SEQUENCER. 035500,000402: # AND CONTINUE AT UPCONTRL... 035501,000403: 035502,000404: 26,2457 05560 P65.1 TC DOWNFLAG 035503,000405: 26,2460 00134 ADRES ENTRYDSP # ENTRYDSP = 92D BIT 13 FLAG 6 035504,000406: 035505,000407: 26,2461 32473 CA V16N69 # ROLLC DL (Q7) VL 035506,000408: 26,2462 04662 TC BANKCALL # XXX.XX DEG XXX.XX G XXXXX. FPS 035507,000409: 26,2463 21057 CADR GOFLASHR 035508,000410: 26,2464 02461 TC -3 # NODOFLAG IS SET ... 035509,000411: 26,2465 02470 TC +3 035510,000412: 26,2466 02461 TC -5 035511,000413: 26,2467 02232 TC P61.3 # EST. GRP 4 FOR DISPLAY AND DO ENDOFJOB 035512,000414: # IF PROCEED, CONTINUE 035513,000415: 26,2470 05546 TC UPFLAG 035514,000416: 26,2471 00134 ADRES ENTRYDSP # ENTRYDSP = 92D BIT 13 FLAG 6 035515,000417: 035516,000418: 26,2472 02421 TC P63.1 # DISABLE GRP 4, START UP ENTRY DISPLAY 035517,000419: # N06V68 VIA OVERNOUT, AS USED IN P64 035518,000420: 26,2473 04105 V16N69 VN 1669 035519,000421: 035520,000422: # Page 799 035521,000423: # PROGRAM: P66 035522,000424: # MOD NO: 0 MOD BY: RR BAIRNSFATHER DATE: 17 JAN 68 COLOSSUS GSOP ADDITIONS 035523,000425: # FUNCTION: KEEP CM ATTITUDE IN TRIM TO THE RELATIVE VELOCITY VECTOR. ENTRY GUIDANCE STOPS GENERATING 035524,000426: # ROLL COMMANDS UNTIL DRAG BUILDS UP TO Q7+0.5 FPSS. 035525,000427: # CALLING SEQUENCE: VIA RTB FROM REENTRY CONTROL. 035526,000428: # EXIT: BACK TO REENTRY CONTROL. 035527,000429: # SUBROUTINE CALLS: NEWMODEX 035528,000430: 035529,000431: 26,2474 COUNT* $$/P66 035530,000432: 035531,000433: 26,2474 05354 P66 TC NEWMODEX # ENTER VIA RTB WHEN D < Q7 FPSS 035532,000434: 26,2475 00102 MM 66 B-14 035533,000435: 035534,000436: 26,2476 35052 CA V06N22 # OGA IGA MGA 035535,000437: # XXX.XX DEG XXX.XX DEG XXX.XX DEG 035536,000438: 26,2477 02503 TC P66END # IN CASE CAME FROM P65, GO TO DISABLE GRP 4, 035537,000439: # AND SET ENTRYDSP TO DO DISPLAY VIA 035538,000440: # OVERNOUT. 035539,000441: 035540,000442: # ... AND CONTINUE AT KEP2 035541,000443: 035542,000444: # Page 800 035543,000445: # PROGRAM: P67 035544,000446: # MOD NO: 0 MAR. 16, 1967 035545,000447: # MOD BY: R. HIRSCHKOP 035546,000448: # FUNCTION: TO TERMINATE STEERING WHEN THE CM VELOCITY WRT EARTH = 1000 FT/SEC 035547,000449: # CALLING SEQUENCE: 035548,000450: # EXIT: TO P00H 035549,000451: # SUBROUTINE CALLS: GOFLASH 035550,000452: 035551,000453: # THIS DISPLAY IS CALLED EACH PASS THROUGH STEERING. RESTART PROTECTION IS VIA STEERING. 035552,000454: 035553,000455: 26,2500 COUNT* $$/P67 035554,000456: 035555,000457: 26,2500 05354 P67 TC NEWMODEX # ENTER VIA RTB 035556,000458: 26,2501 00103 MM 67 B-14 035557,000459: 26,2502 32511 CA V06N66 # ROLLC XRNGERR DNRNGERR 035558,000460: # XXX.XX DEG XXXX.X NM XXXX.X NM 035559,000461: 26,2503 55263 P66END TS ENTRYVN # DISPLAY VIA OVERNOUT. 035560,000462: 035561,000463: 26,2504 05546 TC UPFLAG # (IN CASE CAME FROM P65. ENTRY DISPLAY 035562,000464: 26,2505 00134 ADRES ENTRYDSP # WILL FLUSH FLASHING DISP. IF STILL ON) 035563,000465: # BIT 13 FLAG 6 035564,000466: 26,2506 05412 KILLGRP4 TC PHASCHNG # DISABLE GRP4, IN CASE CAME FROM HUNTEST. 035565,000467: 26,2507 00004 OCT 00004 # (COME TO KILLGRP4 VIA RTB, RET TO CALLER) 035566,000468: 035567,000469: 26,2510 06030 TC DANZIG # ... AND CONTINUE AT PREDICT3 ... 035568,000470: 035569,000471: 26,2511 01502 V06N66 VN 0666 035570,000472: 035571,000473: 26,2512 BANK 26 035572,000474: 26,2000 SETLOC P60S2 035573,000475: 26,2000 BANK 035574,000476: 035575,000477: 26,2512 32543 P67.1 CA V16N67 # RTOGO LAT LONG 035576,000478: # XXXX.X NM XXX.XX DEG XXX.XX DEG 035577,000479: 26,2513 04662 TC BANKCALL 035578,000480: 26,2514 20720 CADR GOFLASH 035579,000481: 26,2515 02520 TC +3 # EFFECTIVE GOTOP00H 035580,000482: 26,2516 02520 TC +2 035581,000483: 26,2517 02512 TC P67.1 # REDO 035582,000484: 035583,000485: 26,2520 46214 CS THREE # TURN OFF ENTRY DAP 035584,000486: 26,2521 00004 INHINT 035585,000487: 26,2522 70102 MASK CM/FLAGS # CM/DSTBY, GAMDIFSW 035586,000488: 26,2523 54102 TS CM/FLAGS 035587,000489: 26,2524 00003 RELINT 035588,000490: 26,2525 00006 EXTEND 035589,000491: 26,2526 32643 DCA SERVCAD2 035590,000492: 035591,000493: # Page 801 035592,000494: 26,2527 53223 DXCH AVEGEXIT 035593,000495: 035594,000496: 26,2530 14106 TCF GOTOP00H 035595,000497: 035596,000498: # Page 802 035597,000499: 26,2531 43175 P67.2 VLOAD CLEAR # CALC PRESENT LAT, LONG, ALT. 035598,000500: 26,2532 01171 RN 035599,000501: 26,2533 00662 ERADFLAG # USE PAD RAD FOR ALT. (NOT SEEN ANYWAY) 035600,000502: 26,2534 16152 STODL ALPHAV 035601,000503: 26,2535 01205 PIPTIME # USE TIME OF RN 035602,000504: 26,2536 45014 CLEAR CALL 035603,000505: 26,2537 01663 LUNAFLAG 035604,000506: 26,2540 26370 LAT-LONG 035605,000507: 26,2541 77634 P67.3 RTB # ENTRY EXIT THAT OMITS DISPLAY. 035606,000508: 26,2542 53611 SERVNOUT 035607,000509: 035608,000510: 26,2543 04103 V16N67 VN 1667 035609,000511: 26,2544 4270 OCT41 = 33DEC 035610,000512: 26,2544 26,2642 SERVCAD2 = SERVCAD1 035611,000513: 035612,000514: # Page 803 035613,000515: # SUBROUTINE NAME: S61.1 035614,000516: # MOD NO: 0 DATE: 21 FEB 67 035615,000517: # MOD BY: RR BAIRNSFATHER LOG SECTION: P61-P67 035616,000518: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 22 JUN 67 RESTARTS. 035617,000519: 035618,000520: # FUNCTIONAL DESCRIPTION: CALLED BY BOTH P61 AND P62 035619,000521: # FIRST, TEST TO SEE IF AVERAGEG IS ON. IF NOT, UPDATE THE STATE VECTOR TO PRESENT TIME + TOLERANCE 035620,000522: # AND TURN ON AVERAGEG AT THAT TIME, AND CONTINUE. OTHERWISE CONTINUE: SEE IF IMU Y AXIS IS 035621,000523: # WITHIN 30 DEG OF VAR. IF YES, EXIT SUBROUTINE S61.1. IF SO, SEE IF -Y AXIS OF IMU IS WITHIN 035622,000524: # 30 DEG OF VAR. IF YES, DISPLAY ALARM: 01427 IMU REVERSED. 035623,000525: # IF NO, DISPLAY ALARM: 01426 IMU UNSATISFACTORY. 035624,000526: # IN EITHER OF THESE LAST 2 CASES, WAIT 10 SEC AND THEN EXIT SUBROUTINE S61.1. 035625,000527: 035626,000528: # REMARK: THERE WILL BE A SHORT 10 SEC DELAY IF AN ALARM EXIT IS TAKEN. THE DELAY FOR INTEGRATION IS 035627,000529: # AS SHORT AS CAN BE MADE, BUT IS ARBITRARY SINCE IT DEPENDS ON THE AGE OF THE STATE VECTOR. 035628,000530: 035629,000531: # CALLING SEQUENCE: CALL 035630,000532: # S61.1 035631,000533: 035632,000534: # C(MPAC) UNSPECIFIED 035633,000535: # PUSHLOC UNSPECIFIED 035634,000536: 035635,000537: # SUBROUTINES CALLED: LOADTIME, CSMPREC, TPAGTREE, 035636,000538: # WAITLIST, JOBSLEEP, JOBWAKE, PREREAD, ALARM, GODSPR, BANKCALL, DELAYJOB 035637,000539: 035638,000540: # NORMAL EXIT MODES: RVQ 035639,000541: 035640,000542: # ALARMS: 01426 IMU UNSATISFACTORY 035641,000543: # 01427 IMU REVERSED 035642,000544: 035643,000545: # OUTPUT: POSSIBLE ALARMS 035644,000546: # POSSIBLY TDEC1, RATT, VATT, RN, VN 035645,000547: 035646,000548: # ERASABLE INITIALIZATION REQUIRED: 035647,000549: # AVEGFLAG AVERAGEG ON OR OFF LEFT BY SERVICER 035648,000550: # PIPTIME (-28) CS TIME OF PIPA UPDATE LEFT BY READACCS 035649,000551: # RN (-29) M STATE VECTOR LEFT BY AVERAGEG 035650,000552: # VN (-7) M/CS STATE VECTOR LEFT BY AVERAGEG 035651,000553: # REFSMMAT (-1) .5 REF TO SM MATRIX LEFT BY LAST IMU ALIGNMENT 035652,000554: 035653,000555: # DEBRIS: QPRET 035654,000556: # POSSIBLY PIPTIME1, RATT, VATT, TDEC1, RN1, VN1, QTEMP, X1 IF UPDATED 035655,000557: # PUSH LIST LOCS USED BY CSMPREC 035656,000558: 035657,000559: 26,2544 E6,1661 EBANK= AOG # FOR 60GENRET, S61DT 035658,000560: 26,2544 BANK 26 035659,000561: 26,2000 SETLOC P60S3 035660,000562: 26,2000 BANK 035661,000563: 035662,000564: 26,2544 COUNT* $$/S61.1 035663,000565: 035664,000566: 26,2544 00006 S61.1 EXTEND 035665,000567: 26,2545 23773 QXCH 60GENRET # SAVE RET ADDR IN EB 6 035666,000568: 26,2546 04662 TC BANKCALL 035667,000569: 26,2547 17653 CADR R02BOTH 035668,000570: 26,2550 06006 TC INTPRET 035669,000571: # Page 804 035670,000572: 26,2551 45014 BON CALRB 035671,000573: 26,2552 00716 AVEGFLAG # IS AVERAGEG ON 035672,000574: 26,2553 54604 S61.1A # YES 035673,000575: 26,2554 27543 MIDTOAV2 # GET FUTURE STATE VECTOR SOON AS CAN 035674,000576: 035675,000577: 26,2555 30155 CA MPAC +1 # RETURN INHINTED *** 035676,000578: 26,2556 55774 TS S61DT # FOR RESTART. 035677,000579: 26,2557 05245 TC WAITLIST 035678,000580: 26,2560 E7,1431 EBANK= DVCNTR 035679,000581: 26,2560 02565 54067 2CADR S61.1C 035680,000582: 035681,000583: 26,2562 05412 TC PHASCHNG 035682,000584: 26,2563 40434 OCT 40434 035683,000585: 26,2564 05217 TC ENDOFJOB 035684,000586: 035685,000587: 26,2565 35065 S61.1C CA PRIO13 035686,000588: 26,2566 05147 TC FINDVAC 035687,000589: 26,2567 E6,1661 EBANK= AOG 035688,000590: 26,2567 02603 54066 2CADR S61.1A -1 035689,000591: 035690,000592: 26,2571 00006 EXTEND 035691,000593: 26,2572 32643 DCA SERVCAD1 # HE WHO START AVERAGEG MUST SERVICE 035692,000594: 26,2573 53223 DXCH AVEGEXIT # THE EXIT. 035693,000595: 035694,000596: 26,2574 05372 TC 2PHSCHNG 035695,000597: 26,2575 00454 OCT 00454 035696,000598: 26,2576 00415 OCT 00415 035697,000599: 035698,000600: 26,2577 35060 CA EBENTRY # SET EB= 7 FOR PREREAD. 035699,000601: 26,2600 54003 TS EBANK 035700,000602: 035701,000603: 26,2601 04701 TC POSTJUMP 035702,000604: 26,2602 76701 CADR PREREAD # PREREAD DOES TC TASKOVER. 035703,000605: 035704,000606: 26,2603 06006 TC INTPRET 035705,000607: 26,2604 77204 S61.1A BOVB VLOAD 035706,000608: 26,2605 57352 TCDANZIG # TURN OFF OVFIND, IF ON 035707,000609: 26,2606 01177 VN # VN (-7) M/CS 035708,000610: 26,2607 64235 VXV MXV 035709,000611: 26,2610 01171 RN # RN (-29) M 035710,000612: 26,2611 01736 REFSMMAT # .5 UNIT MATRIX 035711,000613: 26,2612 71256 UNIT DLOAD 035712,000614: 26,2613 00160 MPAC +3 # GET COS(THETA)/2 035713,000615: 26,2614 43240 BMN DAD 035714,000616: 26,2615 54622 S61.1B # DO TEST ON -YSM 035715,000617: 26,2616 14645 C(30)LIM # = 1.0 -.5 COS(30) 035716,000618: 26,2617 47004 BOVB RTB 035717,000619: 26,2620 54641 RETRN1 035718,000620: 26,2621 54626 RETRN3 035719,000621: # Page 805 035720,000622: 26,2622 43276 S61.1B DCOMP DAD 035721,000623: 26,2623 14645 C(30)LIM # = 1.0 - .5 COS(30) 035722,000624: 26,2624 77404 BOVB EXIT 035723,000625: 26,2625 54631 RETRN2 035724,000626: 035725,000627: 26,2626 05650 RETRN3 TC ALARM 035726,000628: 26,2627 01426 OCT 01426 # IMU UNSATISFACTORY 035727,000629: 26,2630 02633 TC RETRN2 +2 035728,000630: 035729,000631: 26,2631 05650 RETRN2 TC ALARM 035730,000632: 26,2632 01427 OCT 01427 # IMU REVERSED 035731,000633: 035732,000634: 26,2633 35050 +2 CAF V05N09 035733,000635: 26,2634 04662 TC BANKCALL 035734,000636: 26,2635 20676 CADR GODSPR # DO DISPLAY 035735,000637: 26,2636 32646 CA 10SECS 035736,000638: 26,2637 04662 TC BANKCALL 035737,000639: 26,2640 01732 CADR DELAYJOB 035738,000640: 035739,000641: 26,2641 01773 RETRN1 TC 60GENRET 035740,000642: 035741,000643: 26,2642 E7,1431 EBANK= DVCNTR 035742,000644: 26,2642 03227 76067 SERVCAD1 2CADR SERVEXIT 035743,000645: 035744,000646: 26,2644 22111 17335 C(30)LIM 2DEC .566985 # = 1.0 - .5 COS(30) 035745,000647: 035746,000648: 26,2646 01750 10SECS DEC 1000 B-14 # 1000 CS 035747,000649: 26,2647 00000 13560 60SECDP 2DEC 6000 B-28 # 6000 CS 035748,000650: 035749,000651: # Page 806 035750,000652: # PROGRAM NAME: S61.2 DATE: 14 FEB 67 035751,000653: # MOD NO: 1 LOG SECTION: P61-P67 035752,000654: # MOD BY: NORTH / BAIRNSFATHER 035753,000655: # MOD NO: 2 MOD BY: NORTH/BAIRNSFATHER DATE: 11 MAY 67 ADD 2ND ITER FOR ERAD AT 400K FT. 035754,000656: # MOD NO: 3 MOD BY: RR BAIRNSFATHER DATE: 21 NOV 67 VARIABLE MU ADDED. 035755,000657: # MOD NO: 4 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 68 DIFFERENT EARTH/MOON SCALES IN TFF'S 035756,000658: 035757,000659: # FUNCTIONAL DESCRIPTION: CALLED IN P61. PROVIDES DISPLAYS FOR NOUNS N60 AND N63 . 035758,000660: # PROGRAM CALCULATES ENTRY DISPLAY OF MAXIMUM ACCELERATION EXPECTED (GMAX) AND ALSO THE EXPECTED 035759,000661: # INERTIAL VELOCITY (VPRED) AND ENTRY ANGLE (GAMMAEI) THAT WILL OBTAIN AT 400K FT ABOVE THE FISCHER 035760,000662: # ELLIPSOID. PROGRAM ALSO CALCULATES A SECOND DISPLAY RELATIVE TO THE EMSALT ABOVE FISCHER ELLIPSOID 035761,000663: # AND CONSISTS OF RANGE TO SPLASH FOM NOW (RTGO) , PREDICTED INERTIAL VELOCITY (VIO) , AND THE TIME TO 035762,000664: # GO FROM NOW (TTE) . 035763,000665: 035764,000666: # CALLING SEQUENCE: CALL 035765,000667: # S61.2 035766,000668: # C(MPAC) UNSPECIFIED 035767,000669: # PUSHLOC WILL BE SET TO ZERO. 035768,000670: 035769,000671: # SUBROUTINES CALLED: TFFCONIC, CALCTFF, TFF/TRIG, FISHCALC, GETERAD, VGAMCALC 035770,000672: 035771,000673: # NORMAL EXIT MODES: RTB, P61.1 035772,000674: 035773,000675: # ALARMS: NONE 035774,000676: 035775,000677: # OUTPUT: THE FOLLOWING REGISTERS ARE WRITTEN IN FOR USE BY DISPLAYS 035776,000678: # GMAX 100 GMAX (-14) G,S MAXIMUM ACCELERATION 035777,000679: # VPRED (-7) M/CS PREDICTED VELOCITY AT 400K FT 035778,000680: # GAMMAEI GAMMA/360 PREDICTED GAMMA AT 400K FT 035779,000681: # FOR TM, DP(GAMMAEI) = (GAMMAEI, RTGO) / 360 035780,000682: # RTGO THETAH/360 RANGE ANGLE TO SPLASH FROM EMSALT EMSALT IS PAD LOADED. 035781,000683: # VIO (-7) M/CS INTERTIAL VELOCITY AT EMSALT EMSALT IS PAD LOADED. 035782,000684: # TTE (-28) CS TIME TO EMSALT EMSALT IS PAD LOADED. 035783,000685: # PUSHLOC = 0 035784,000686: # CONIC PARAMETERS STORED IN VAC AREA (SEE TFF SUBROUTINES) 035785,000687: 035786,000688: # ERASABLE INITIALIZATION REQUIRED: 035787,000689: # RONE (-29) M STATE VECTOR LEFT BY USER 035788,000690: # VONE (-7) M/CS STATE VECTOR LEFT BY USER 035789,000691: # URONE UR/2 LEFT BY USER 035790,000692: # UNI (-1) UNIT NORMAL V*R LEFT BY ENTRY / P61 035791,000693: # THETAH THETAH/360 RANGE ANGLE LEFT BY ENTRY / P61 035792,000694: # UNITW (0) UNIT POLAR VECTOR LEFT BY PAD LOAD 035793,000695: # EMSALT (-29) M EMS INTERFACE ALTITUDE LEFT BY PAD LOAD 035794,000696: # ORBITAL REENTRY: 284843 FT., LUNAR REENTRY: 297431 FT. 035795,000697: 035796,000698: # DEBRIS: QPRET, 035797,000699: # ALL PDL LOCATIONS ABOVE 12D, INCLUDING X1,X2,S1,S2 035798,000700: # ALSO PDL+0 ... PDL+5, WHERE INITIAL PUSHLOC = PDL 035799,000701: 035800,000702: # Page 807 035801,000703: # THE FOLLOWING PUSH LIST LOCATIONS HAVE BEEN RESERVED FOR TFF ROUTINES AND ARE REPEATED HERE FOR CONVENIENCE. 035802,000704: # OF COURSE FOR S61.2 USAGE, EARTH ORIGIN SCALING IS USED. 035803,000705: 035804,000706: # BELOW E: IS USED FOR EARTH ORIGIN SCALE 035805,000707: # M: IS USED FOR MOON ORIGIN SCALE 035806,000708: 035807,000709: # RTERM = 18D TERMINAL RADIUS M E: (-29) M: (-27) 035808,000710: # NRTERM = 16D TERMINAL RADIUS M E: (-29+NR) 035809,000711: # M: (-27+NR) 035810,000712: # RMAG1 = 12D PRESENT RADIUS M E: (-29) M: (-27) 035811,000713: # NRMAG = 32D PRESENT RADIUS M E: (-29+NR) 035812,000714: # M: (-27+NR) 035813,000715: # SDELF/2 SIN(THETA) / 2 035814,000716: # CDELF/2 = 14D COS(THETA) / 2 035815,000717: # TFFX = 34D X, ARGUMENT OF SERIES T(X) 035816,000718: # TFFTEM = 36D ARG FOR TRANSFER ANGLE CALCULATION 035817,000719: # TFFNP = 28D LC P M E: (-38+2NR) M: (-36+2NR) 035818,000720: # TFF/RTMU= 30D 1/SQRT(MU) E: (17) M: (14) 035819,000721: # TFFVSQ = 20D -(VN.VN/MU) 1/M E: (20) M: (18) 035820,000722: 035821,000723: # Page 808 035822,000724: 34,3763 BANK 34 035823,000725: 26,2000 SETLOC P60S2 035824,000726: 26,2000 BANK 035825,000727: 035826,000728: 26,2651 COUNT* $$/S61.2 035827,000729: # PDL LEFT AT ZERO BY TARGETING 035828,000730: 035829,000731: 26,2651 45345 S61.2 DLOAD DSU 035830,000732: 26,2652 02020 EMSALT 035831,000733: 26,2653 15001 290KFT 035832,000734: 26,2654 71244 BPL DLOAD 035833,000735: 26,2655 54775 LUNENT 035834,000736: 26,2656 17354 1/RTMU # ESTABLISH MU FOR ORBITAL ENTRIES 035835,000737: 26,2657 77624 CALLCON CALL 035836,000738: 26,2660 56757 TFFCONIC # FILL VAC AREA WITH CONIC PARAMETERS 035837,000739: 035838,000740: 26,2661 45145 DLOAD CALL 035839,000741: 26,2662 15021 RTRIAL # 1ST GUESS AT TERMINAL RADIUS (-29) 035840,000742: 26,2663 57067 CALCTFF # SAVES MPAC IN RTERM (18D) 035841,000743: 035842,000744: 26,2664 77624 CALL # CALC SDELF/2, CDELF/2 035843,000745: 26,2665 56631 TFF/TRIG # RETURN WITH S(THETA) IN MPAC 035844,000746: 035845,000747: 26,2666 77624 CALL # GET FISCHER RADIUS (-29) M 035846,000748: 26,2667 55030 FISHCALC # ANS IN MPAC AND IN ERADM 035847,000749: 035848,000750: 26,2670 45015 DAD CALL 035849,000751: 26,2671 02020 EMSALT 035850,000752: 26,2672 57067 CALCTFF # SAVES MPAC IN RTERM (18D) 035851,000753: 035852,000754: 26,2673 77676 DCOMP # NEGATIVE AS IN COUNTDOWN 035853,000755: 26,2674 03733 STORE TTE1 # DECR TTE FROM BASB TTE1. (RESTART) 035854,000756: # DNLIST AND DSKY WILL USE TTE. 035855,000757: 26,2675 37727 STCALL TTE # LET MISS CONTRL DECR BY ELAPSED TIME 035856,000758: # TTE= TIME FROM NOW TO EMSALT +FISCHER 035857,000759: 035858,000760: 26,2676 56631 TFF/TRIG # S(THETA) IN MPAC ON RETURNING 035859,000761: # AND THETA= RANGE FROM NOW TO EMSALT 035860,000762: 035861,000763: 26,2677 77624 CALL 035862,000764: 26,2700 55030 FISHCALC 035863,000765: 26,2701 77624 CALL 035864,000766: 26,2702 56664 VRCALC 035865,000767: 26,2703 77624 CALL 035866,000768: 26,2704 56651 DISPTARG 035867,000769: 26,2705 77624 CALL 035868,000770: 26,2706 56651 DISPTARG 035869,000771: 26,2707 37714 STCALL RTGO 035870,000772: # Page 809 035871,000773: 26,2710 55051 VGAMCALC 035872,000774: 035873,000775: 26,2711 77605 DMP # MPAC = GAMMA 035874,000776: # PDL0 HAS VGAM. 035875,000777: 26,2712 43265 BDDV DAD 035876,000778: 26,2713 15027 VEMSCON # -HS D 180/PI (-14) 035877,000779: 26,2714 00001 0 # VGAM FROM PDL0 035878,000780: 26,2715 17725 STODL VIO # PREDICTED VELOCITY AT EMSALT. 035879,000781: 035880,000782: # GAMMA AND VGAM AT 300K FT ARE REQUIRED BY GMAX 035881,000783: # ALGORITHM. 035882,000784: 035883,000785: 26,2716 02241 ERADM # EARTH RADIUS FROM GETERAD (-29) M 035884,000786: # = FISCHER RADIUS (-29) 035885,000787: 035886,000788: 26,2717 77615 DAD 035887,000789: 26,2720 06462 300KFT # M (-29) 035888,000790: 26,2721 34023 STCALL RTERM # TERMINAL RADIUS M (-29) 035889,000791: 035890,000792: 26,2722 55046 PREVGAM # VGAMCALC WITH NEW RTERM 035891,000793: 035892,000794: # VBAR = (V(FPS) - 36KF/S) / 20 F/S 035893,000795: # GMAX = (4/(1 + 4.8 VBARSQ))(GAM - 6.05 - 2.4 VBARSQ) - 10(L/D - .3) + 10 ASSUME L/D = 0.3, BANK =0. 035894,000796: 035895,000797: # GMAXCALC 035896,000798: 26,2723 45325 PDDL DSU # GAM TO PDL2 035897,000799: 26,2724 00001 0 # VGAM IS IN PDL0 (-7) 035898,000800: 26,2725 15005 36KFT/S # (-7) M/CS 035899,000801: 26,2726 63471 DDV DSQ 035900,000802: 26,2727 15007 20KFT/S # (-6) M/CS 035901,000803: 26,2730 00001 STORE 0 # VBARSQ (-2) TO PDL0 035902,000804: 035903,000805: 26,2731 43205 DMP DAD 035904,000806: 26,2732 15011 KR1 035905,000807: # GAM, POS DOWN, FROM PDL2 035906,000808: 26,2733 41215 DAD DMP 035907,000809: 26,2734 15013 -6.05DEG 035908,000810: 26,2735 15015 KR2 035909,000811: 26,2736 77725 PDDL # XCH PDL+0 FOR VBARSQ (-2) 035910,000812: 26,2737 43271 DDV DAD 035911,000813: 26,2740 15025 KR4 035912,000814: 26,2741 17366 DP2(-4) 035913,000815: 26,2742 77665 BDDV 035914,000816: # NUM FROM PDL+0 035915,000817: 26,2743 51015 DAD BPL 035916,000818: 26,2744 15017 KR3 035917,000819: 26,2745 54750 +3 035918,000820: 26,2746 77745 DLOAD 035919,000821: 26,2747 15335 HI6ZEROS 035920,000822: 26,2750 17722 STODL GMAX # 100 GMAX (-14) 035921,000823: # Page 810 035922,000824: # DISPLAY USES GMAX AS SP, SO LO WORD IS WRITTEN OVER BY VPRED. 035923,000825: 26,2751 02241 ERADM # = FISCHER RADIUS (-29) M 035924,000826: 26,2752 45015 DAD CALL # 2 ND ITERATION FOR FISCHER RADIUS 035925,000827: 26,2753 15023 400KFT 035926,000828: 26,2754 57067 CALCTFF # ESTABLISH TRANSFER ANGLE DATA. 035927,000829: 26,2755 77624 CALL 035928,000830: 26,2756 56631 TFF/TRIG # GET SIN, COS DELF 035929,000831: 26,2757 77624 CALL 035930,000832: 26,2760 55030 FISHCALC # GET CORRESPONDING FISCHER RADIUS. 035931,000833: 035932,000834: 26,2761 73015 DAD LXA,2 # SAVE HI-WORD FOR DOWNLIST. 035933,000835: 26,2762 15023 400KFT # M (-29) 035934,000836: 26,2763 03713 RTGO # (RANGE ANGLE FROM EMSALT) / 360 035935,000837: 26,2764 34023 STCALL RTERM 035936,000838: 26,2765 55046 PREVGAM # VGAMCALC WITH NEW RTERM 035937,000839: 035938,000840: 26,2766 67076 DCOMP SXA,2 # HI-WORD OF EACH ON DOWNLIST. 035939,000841: 26,2767 00155 MPAC +1 035940,000842: 26,2770 17771 STODL GAMMAEI # CONIC GAMMA/360 AT 400K FT. (HI-WORD) 035941,000843: # CONIC RTGO/360 FROM EMSALT (LOW-WORD) 035942,000844: # FOR TM, DP(GAMMAEI) = (GAMMA, RTGO) / 360 035943,000845: 035944,000846: # VGAM FROM PDL+0 (-7) 035945,000847: 26,2771 77626 STADR 035946,000848: 26,2772 74010 STORE VPRED # CONIC VELOCITY AT 400K FT 035947,000849: 035948,000850: 26,2773 77634 RTB 035949,000851: 26,2774 54267 P61.1 035950,000852: # PDL BACK TO ZERO. 035951,000853: 035952,000854: 26,2775 52145 LUNENT DLOAD GOTO 035953,000855: 26,2776 06456 1/RTMUE # ESTABLISH MU FOR LUNAR TYPE ENTRIES 035954,000856: 26,2777 54657 CALLCON 035955,000857: 26,3000 00002 26244 290KFT 2DEC 88392.0 B-29 035956,000858: 035957,000859: 26,3002 00052 05716 KTETA1 2DEC* .421844723 E2 B-14* # 110 2PI/16384(163.84) 035958,000860: 035959,000861: 26,3004 33335 05707 36KFT/S 2DEC 109.728 B-7 # (-7) M/CS = 36 KFT/S (-7) 035960,000862: 035961,000863: 26,3006 36365 30244 20KFT/S 2DEC 121.92 B-7 # (-6) M/CS = 2 20KFT/S (-7) 035962,000864: 035963,000865: 26,3010 77113 42770 KR1 2DEC -.026666667 # = -2.4 4 / 360 035964,000866: 035965,000867: 26,3012 77354 65030 -6.05DEG 2DEC -.016805556 # = -6.05 / 360 035966,000868: 035967,000869: 26,3014 21450 00001 KR2 2DEC .54931641 # = (360/4) 100 (-14) = 9000 B-14 035968,000870: 035969,000871: 26,3016 01750 00000 KR3 2DEC 1000 B-14 # = 100 (10.0) (-14) G,S 035970,000872: # Page 811 035971,000873: # ASSUMES L/D = 0.3, BANK =0. 035972,000874: 26,3020 00305 04541 RTRIAL 2DEC 6460097.18 B-29 # RPAD +264643 FT =21 194 545 FT 035973,000875: # RPAD DEFINED AS 20 909 901.57 FT =6 373 336 M 035974,000876: 26,3022 00003 27040 400KFT 2DEC 121920 B-29 # METERS 035975,000877: 035976,000878: # 300KFT 2DEC 91440 B-29 # (-29) M 035977,000879: 035978,000880: # EMSALT 2DEC 86759.2 B-29 # 284643 FT (-29) M (ORBITAL REENTRY) 035979,000881: 035980,000882: # EMSALT 2DEC 90657 B-29 # 297431 FT (-29) M (LUNAR REENTRY) 035981,000883: 035982,000884: 26,3024 32525 12525 KR4 2DEC .833333333 035983,000885: 035984,000886: 26,3026 23,2461 300KFT EQUALS MINPERE 035985,000887: 26,3026 77777 76601 VEMSCON 2DEC -.0389676 B-14 # = -HS D / 2 PI (-14) M SQ / CS SQ 035986,000888: 035987,000889: # = -16369 .05G 32.2 .3048 .3048/2 PI (-14) 035988,000890: 035989,000891: # Page 812 035990,000892: # SUBROUTINE NAME: FISHCALC (USED BY S61.2) DATE: 01.21.67 035991,000893: # MOD NO: 0 LOG SECTION: P61-P67 035992,000894: # MOD BY: MORTH / BAIRNSFATHER 035993,000895: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 11 MAY 67 INCLUDE GETERAD CALL 035994,000896: 035995,000897: # FUNCTIONAL DESCRIPTION: GIVEN THE PRESENT POSITION, UNITR, CALCULATE A NEW UNITR THAT IS ROTATED THROUGH 035996,000898: # TRANSFER ANGLE, THETA, ALONG THE TRAJECTORY. THEN CALCULATE SIN(LAT) AND USE TO OBTAIN FISCHER RADIUS. 035997,000899: # SINCE FISHCALC USED UNI (LEFT BY ENTRY) EARTH SCALING IS ASSUMED. (WILL IMPROVE FOR SUITABLE TENNANT) 035998,000900: 035999,000901: # CALLING SEQUENCE: CALL 036000,000902: # FISHCALC 036001,000903: # ENTER WITH .5 SIN(THETA) IN MPAC. 036002,000904: # PUSHLOC IS AT PDL+0, AN ARBITRARY BASE VALUE IF LEQ 8D 036003,000905: 036004,000906: # SUBROUTINES CALLED: GET ERAD 036005,000907: 036006,000908: # NORMAL EXIT MODE: RVQ 036007,000909: 036008,000910: # EXIT MODES: NONE 036009,000911: 036010,000912: # OUTPUT: ERADM (-29) M IN MPAC ON RETURNING 036011,000913: # NEW UNIT VECTOR NOT SAVED. 036012,000914: # SIN(LAT) NOT SAVED. 036013,000915: # PUSHLOC AT PDL+0 036014,000916: 036015,000917: # ERASABLE INITIALIZATION REQUIRED: 036016,000918: # SDELF/2 =SIN(THETA) / 2, IN MPAC LEFT BY TFF/TRIG 036017,000919: # CDELF/2 =COS(THETA) / 2, STORED IN PDL 14D LEFT BY TFF/TRIG 036018,000920: # RONE (-29) M LEFT BY USER 036019,000921: # VONE (-7) M/CS LEFT BY USER 036020,000922: # URONE UR/2 LEFT BY USER 036021,000923: # UNI .5 UNIT(V*R) LEFT BY ENTRY / P61 036022,000924: # UNITW UNIT NORTH POLE LEFT BY PAD LOAD 036023,000925: 036024,000926: # DEBRIS: QPRET, PDL+0 ... PDL+5 036025,000927: # _ _ _ 036026,000928: 26,3030 47315 FISHCALC PDVL VXV # URPR = UR CDELF + UHOR SDELF 036027,000929: 26,3031 02343 URONE 036028,000930: 26,3032 03502 UNI 036029,000931: 26,3033 76561 VXSC VSL1 036030,000932: # SIN(THETA) / 2 FROM PDL+0 036031,000933: 26,3034 74315 PDVL VXSC # TO PDL+0, +5 036032,000934: 26,3035 02343 URONE 036033,000935: 26,3036 00017 CDELF/2 # COS(THETA) / 2 036034,000936: 26,3037 45455 VAD STADR 036035,000937: 26,3040 74235 STORE URH # FOR USE IN RTGO FROM EMS DISPLAY 036036,000938: 26,3041 72441 DOT SL1 036037,000939: 26,3042 01714 UNITW # PULL UNIT VECTOR UNIT NORTH 036038,000940: 26,3043 02156 STORE ALPHAV +4 # = .5 SIN(LAT) 036039,000941: 26,3044 77650 DUMPFISH GOTO 036040,000942: 26,3045 26505 GETERAD # SAVES FISCHER RAD (-29) M IN ERADM AND 036041,000943: # IN MPAC. RETURNS TO CALLER VIO QPRET. 036042,000944: 036043,000945: # Page 813 036044,000946: # SUBROUTINE NAME: VGAMCALC (USED BY S61.2) DATE: 01.21.67 036045,000947: # MOD NO: 0 LOG SECTION: P61-P67 036046,000948: # MOD BY: MORTH / BAIRNSFATHER 036047,000949: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 11 APR 67 036048,000950: # MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 21 NOV 67 VARIABLE MU ADDED. 036049,000951: # MOD NO: 3 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 68 ACCEPT DIFFERENT EARTH/MOON SCALE 036050,000952: 036051,000953: # FUNCTONAL DESCRIPTION: EARTH CENTERED VIS VIVA CALCULATION OF TERMINAL VELOCITY AND GAMMA (REL TO 036052,000954: # HORIZONTAL) GIVEN THE SCALAR QUANTITIES: PRESENT RADIUS AND VELOCITY AND THE TERMINAL RADIUS. 036053,000955: # THE USER MUST APPEND PROPER SIGN TO GAMMA, SINCE IT IS CALCULATED AS A POSITIVE NUMBER. 036054,000956: # THE EQUATIONS ARE 036055,000957: 036056,000958: # VGAM = SQRT(VN VN/MU + 2(RN-RTERM)/(RN RTERM) ) RTMU 036057,000959: 036058,000960: # COSGAM = H / RTERM VGAM = SQRT (LCP) / (RTERM VGAM/RTMU) 036059,000961: 036060,000962: # VGAMCALC ASSUMES THAT THE TERMINAL RADIUS IS LESS THAN THE PRESENT RADIUS. BOTH CALCTFF AND CALCTPER 036061,000963: # MAKE THIS ASSUMPTION. 036062,000964: 036063,000965: # CALLING SEQUENCE: CALL STCALL RTERM 036064,000966: # VGAMCALC PREVGAM 036065,000967: # PUSHLOC AT PDL+0, ARBITRARY IF LEQ 12D 036066,000968: # C(MPAC) UNSPECIFIED C(MPAC)=NEW RTERM 036067,000969: 036068,000970: # SUBROUTINES CALLED: NONE 036069,000971: 036070,000972: # NORMAL EXIT MODE: RVQ 036071,000973: 036072,000974: # ALARMS: NONE 036073,000975: # 036074,000976: # OUTPUT: GAMMA / 360 IN MPAC, POSITIVE NUMBER 036075,000977: # VGAM E: (-7) M: (-5) M/CS IN PDL+0 036076,000978: # PUSHLOC AT PDL+2 036077,000979: 036078,000980: # ERASABLE INITIALIZATION REQD: 036079,000981: # TFF/RTMU E: (17) M: (14) 1/SQRT(MU) LEFT BY TFFCONIC 036080,000982: # RMAG1 E: (-29) M: (-27) M PRESENT RADIUS LENGTH LEFT BY TFFCONIC 036081,000983: # NRMAG E: (-29+NR) M NORM LENGTH OF PRESENT POSITION LEFT BY TFFCONIC 036082,000984: # M: (-27+NR) 036083,000985: # RTERM E: (-29) M: (-27) M TERMINAL RADIUS LENGTH LEFT BY CALCTFF 036084,000986: # NRTERM E: (-29+NR) M NORM LENGTH OF TERMINAL RADIUS LEFT BY CALCTFF 036085,000987: # M: (-27+NR) 036086,000988: # TFFVSQ E: (20) M: (18) 1/M -(V SQ/MU): PRESENT VELOCITY, NORM LEFT BY TFFCONIC 036087,000989: # TFFNP E: (-38+2NR) M LCP, SEMI-LATUS RECTUM, WEIGHT NR LEFT BY TFFCONIC 036088,000990: # M: (-36+2NR) 036089,000991: 036090,000992: # DEBRIS: QPRET, PDL+0 ... PDL+3 036091,000993: # RTERM, NRTERM IF PREVGAM ENTERED. 036092,000994: # Page 814 036093,000995: 036094,000996: 26,3046 77657 PREVGAM SL* # ENTER WITH NEW RTERM IN MPAC 036095,000997: # E: (-29) M: (-27) 036096,000998: 26,3047 20201 0,1 # X1 = -NR 036097,000999: 26,3050 00021 STORE NRTERM # RTERM M E: (-29+NR) M: (-27+NR) 036098,001000: 036099,001001: 26,3051 41345 VGAMCALC DLOAD DMP 036100,001002: 26,3052 00041 NRMAG # RMAG M E: (-29+NR) M: (-27+NR) 036101,001003: 26,3053 00021 NRTERM # RTERM M E: (-29+NR) M: (-27+NR) 036102,001004: 26,3054 45325 PDDL DSU # RMAG RTERM M E: (-58+2NR) M: (-54+2NR) 036103,001005: 26,3055 00041 NRMAG # RMAG M E: (-29+NR) M: (-27+NR) 036104,001006: 26,3056 00021 NRTERM # RTERM M E: (-29+NR) M: (-27+NR) 036105,001007: 26,3057 56257 SL* DDV # 2(RN-RTERM) E: (-30+NR) M: (-28+NR) 036106,001008: 26,3060 20171 0 -8D,1 # (-8+NR) 036107,001009: # PUSH UP PRODUCT. 036108,001010: 26,3061 77625 DSU 036109,001011: 26,3062 00025 TFFVSQ # -(V SQ/MU) E: (20) M: (18) 036110,001012: 26,3063 41566 SQRT PUSH # SAVE VGAM/RT(MU) FOR NOW. E: (10) M: (9) 036111,001013: 26,3064 65271 DDV PDDL # XCH PDL+0, LEAVING VGAM FOR OUTPUT. 036112,001014: # VGAM TO PDL M/CS E: (-7) M: (-2) 036113,001015: 26,3065 00037 TFF/RTMU # E: (17) M: (14) 036114,001016: 26,3066 65205 DMP PDDL # RTERM VGAM/RTMU E: (-19+NR) M: (-18+NR) 036115,001017: 26,3067 00021 NRTERM # RTERM M E: (-29+NR) M: (-27+NR) 036116,001018: 26,3070 00035 TFFNP # LC P =H.H/MU M E: (-38+2NR) M: (-36+2NR) 036117,001019: 26,3071 56366 SQRT DDV # E: (-19+NR) M: (-18+NR) 036118,001020: # PUSH UP DEN E: (-19+NR) M: (-18+NR) 036119,001021: # USE DDV OVFL AS LIMITER (|COS| <1.0) 036120,001022: 26,3072 65542 SR1 ACOS 036121,001023: 26,3073 77616 DUMPVGAM RVQ 036122,001024: # CALLER MUST SUPPLY OWN SIGN ... 036123,001025: # 22W 27MS 036124,001026: 036125,001027: # Page 815 036126,001028: # SUBROUTINE NAME: TFF/TRIG (USED BY S61.2) DATE: 01.17.67 036127,001029: # MOD NO: 0 LOG SECTION: P61-P67 036128,001030: # MOD BY: RR BAIRNSFATHER 036129,001031: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 14 APR 67 036130,001032: # MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 68 ACCEPT DIFFERENT EARTH/MOON SCALE 036131,001033: 036132,001034: # FUNCTIONAL DESCRIPTION: USED BY ENTRY DISPLAY TO CALCULATE SIN(THETA), COS(THETA) FROM DATA LEFT IN 036133,001035: # PDL BY TFF SUBROUTINES. THE EQNS ARE 036134,001036: 036135,001037: # COS(THETA) = 1-2 ABS(ARG) / (RN RTERM (1+X) ) 036136,001038: # 2 036137,001039: # SIN(THETA) = SGN(ARG) SQRT(1-COS (THETA) ) 036138,001040: 036139,001041: # WHERE THETA = TRANSFER ANGLE 036140,001042: # AND ARG = P Z ABS(Z) IF ALFA ZZ LEQ 1 036141,001043: # ARG = (P / ALFA) SGN(Q1 + R 1/Z) IF ALFA Z Z G 1 036142,001044: # AND ARG HAS BEEN AFFIXED WITH THE SIGN OF SIN(THETA) 036143,001045: 036144,001046: # CALLING SEQUENCE: CALL 036145,001047: # TFF/TRIG 036146,001048: # PUSHLOC AT PDL+0, ARBITRARY IF NOT EQ 14D 036147,001049: # C(MPAC) UNSPECIFIED 036148,001050: 036149,001051: # SUBROUTINES CALLED: NONE 036150,001052: 036151,001053: # NORMAL EXIT MODES: RVQ 036152,001054: 036153,001055: # ALARMS: NONE 036154,001056: 036155,001057: # OUTPUT: C(MPAC) = .5 SIN(THETA) 036156,001058: # CDELF/2 = .5 COS(THETA) (IN PDL 14D) 036157,001059: # PUSHLOC AT PDL+0 036158,001060: 036159,001061: # ERASABLE INITIALIZATION REQUIRED: 036160,001062: # TFFX X LEFT BY CALCTFF OR CALCTPER 036161,001063: # TFFTEM E: (-59+2NR) ARG LEFT BY CALCTFF OR CALCTPER 036162,001064: # M: (-55+2NR) WHERE ARG = LCF ZZ SGN(DELF) OR ARG = LCP/ALFA SGN(DELF) 036163,001065: # NRTERM E: (-29+NR) M NORM LENGTH OF TERMINAL RADIUS LEFT BY CALCTFF OR CALCTPER 036164,001066: # M: (-27+NR) 036165,001067: # NRMAG E: (-29+NR) M NORM LENGTH OF PRESENT POSITION LEFT BY TFFCONIC 036166,001068: # M: (-27+NR) 036167,001069: 036168,001070: # DEBRIS: QPRET, CDELF/2 036169,001071: 036170,001072: 27,2631 BANK 27 036171,001073: 27,2000 SETLOC P60S5 036172,001074: 27,2000 BANK 036173,001075: 27,2631 70545 TFF/TRIG DLOAD SR1 036174,001076: 27,2632 00043 TFFX 036175,001077: 27,2633 41215 DAD DMP 036176,001078: 27,2634 15333 HIDPHALF 036177,001079: 27,2635 00041 NRMAG # RMAG M E: (-29+NR) M: (-27+NR) 036178,001080: 27,2636 55205 DMP BDDV 036179,001081: 27,2637 00021 NRTERM # RTERM M E: (-29+NR) M: (-27+NR) 036180,001082: 27,2640 00045 TFFTEM # P ZSQ OR P/ALFA E: (-59+2NR) M: (-55+2NR) 036181,001083: 27,2641 44246 ABS BDSU # THE SIGN IS FOR SDELF. 036182,001084: 27,2642 15333 HIDPHALF 036183,001085: 27,2643 00017 STORE CDELF/2 # .5 COS(THETA) 036184,001086: 27,2644 57516 DSQ DCOMP # KEEP HONEST FOR SQRT. 036185,001087: # Page 816 036186,001088: 27,2645 75415 DAD SQRT 036187,001089: 27,2646 15325 HIDP1/4 036188,001090: 27,2647 43565 DUMPTRIG SIGN RVQ 036189,001091: 27,2650 00045 TFFTEM # AFFIX SIGN(DELE/2) 036190,001092: # RETURN WITH .5 SIN(THETA) IN MPAC 036191,001093: 036192,001094: # 16W 15MS 036193,001095: 036194,001096: 27,2651 77620 DISPTARG STQ # C(MPAC = TRGO ESTIMATE 036195,001097: 27,2652 03373 60GENRET 036196,001098: 27,2653 45205 DMP DSU 036197,001099: 27,2654 15003 KTETA1 036198,001100: 27,2655 03733 TTE1 036199,001101: 27,2656 37606 STCALL DTEAROT 036200,001102: 27,2657 46225 EARROT2 036201,001103: 27,2660 77624 CALL 036202,001104: 27,2661 56664 VRCALC 036203,001105: 27,2662 77650 GOTO 036204,001106: 27,2663 03373 60GENRET 036205,001107: 27,2664 50375 VRCALC VLOAD DOT 036206,001108: 27,2665 03542 URH 036207,001109: 27,2666 03474 RT 036208,001110: 27,2667 65512 SL2 ACOS 036209,001111: 27,2670 77616 RVQ 036210,001112: 036211,001113: # END OF PROGRAM S61.2 036212,001114: 036213,001115: # Page 817 036214,001116: # PROGRAM DESCRIPTION S62.3 DATE 10JAN67 036215,001117: # MOD NO 1: LOG SECTION P60-P67 036216,001118: # MOD BY ZELDIN 036217,001119: # MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 15 MAY 67 CHANGED TO REF COORDS. 036218,001120: # MOD NO: 3 MOD BY: RR BAIRNSFATHER DATE: 17 JAN 68 ALFAPAD CHANGES MADE. 036219,001121: 036220,001122: # FUNCTIONAL DESCRIPTION 036221,001123: 036222,001124: # COMPUTE DESIRED GIMBAL ANGLES FOR ENTRY ATTITUDE 036223,001125: # THE FOLLOWING TRAJECTORY TRIAD IS AVAILABLE IN MEMORY AND IS COMPUTED EACH 2 SECONDS BY CM/POSE IN 036224,001126: # REFERENCE COORDINATES (V = VELOCITY RELATIVE TO EARTH): 036225,001127: 036226,001128: # UXA = -UNIT(V) 036227,001129: # UYA = UNIT(V*R) 036228,001130: # UZA = UXA*UYA 036229,001131: 036230,001132: # GENERATE A DESIRED BODY TRIAD FOR TRIMMED FLIGHT WITH RESPECT TO THE RELATIVE VELOCITY VECTOR, USING 036231,001133: # ROLL COMMAND AND TRIM ANGLE OF ATTACK: 036232,001134: 036233,001135: # UXD = UNIT(UYD*UXA) SIN(ALFATRIM) + UXA COS(ALFATRIM) 036234,001136: # UYD = UYA COS(ROLLC) + UZA SIN(ROLLC) 036235,001137: # UZD = UXD * UYD 036236,001138: 036237,001139: # USE THE DESIRED SET (IN REFERENCE COORDS) AND REFSMMAT TO CALL CALCGA AND OBTAIN GIMBAL ANGLES 036238,001140: # IN 2S, C IN MPAC, +2 AND THETAD, +2. 036239,001141: 036240,001142: # CALLING SEQUENCE 036241,001143: 036242,001144: # L CALL 036243,001145: # L+1 S62.3 036244,001146: 036245,001147: # NORMAL EXIT MODE 036246,001148: 036247,001149: # RETURN VIA QPRET DIRECTLY FROM CALCGA. 036248,001150: 036249,001151: # SUBROUTINES CALLED 036250,001152: 036251,001153: # CALCGA 036252,001154: 036253,001155: # ALARM OR ABORT MODES 036254,001156: 036255,001157: # NONE 036256,001158: 036257,001159: # ERASABLE INITIALIZATION REQUIRED 036258,001160: 036259,001161: # ROLLC ROLL COMMAND DP 1'S COMP AT 1REV 036260,001162: # ALFAPAD SP 1'S C / 180 LEFT BY PAD LOAD ALFATRIM IS NEGATIVE. 036261,001163: # UXA/2 REF COORDS LEFT BY CM/POSE 036262,001164: # UYA/2 REF COORDS LEFT BY CM/POSE 036263,001165: # UZA/2 REF COORDS LEFT BY CM/POSE 036264,001166: 036265,001167: # OUTPUT 036266,001168: # 036267,001169: # CPHI GIMBAL ANGLES (O,I,M) 2'S COMP TP (O,I,M)/180 036268,001170: 036269,001171: # DEBRIS 036270,001172: 036271,001173: # QTEMP, QPRET, PUSHLIST 036272,001174: 036273,001175: 10,2376 BANK 10 036274,001176: 10,2000 SETLOC P60S4 036275,001177: 10,2000 BANK 036276,001178: # Page 818 036277,001179: 10,2376 COUNT* $$/S62.3 036278,001180: 036279,001181: 10,2376 67201 S62.3 SETPD SLOAD 036280,001182: 10,2377 00001 0 036281,001183: 10,2400 03012 ALFAPAD # ALFATRIM / 180, ALFA IS NEG. 036282,001184: 10,2401 41542 SR1 PUSH 036283,001185: 10,2402 65346 COS PDDL # XCH PDL, COS TO PDL0 036284,001186: 10,2403 65356 SIN PDDL # SIN TO PDL2 036285,001187: 10,2404 03316 ROLLC 036286,001188: 10,2405 74346 COS VXSC 036287,001189: 10,2406 03550 UYA/2 # REF COORDS 036288,001190: 10,2407 73525 PDDL SIN # PUSH VECTOR INTO PDL4...9 036289,001191: 10,2410 03316 ROLLC 036290,001192: 10,2411 53361 VXSC VAD 036291,001193: 10,2412 03556 UZA/2 # REF COORDS 036292,001194: # VECTOR FROM PDL4...9 036293,001195: 10,2413 77772 VSL1 036294,001196: 10,2414 02722 STORE YNB # = UYD REF COORDS 036295,001197: 036296,001198: 10,2415 76435 VXV VSL1 036297,001199: 10,2416 03542 UXA/2 # REF COORDS 036298,001200: 10,2417 65361 VXSC PDDL 036299,001201: # SIN TRIM FROM PDL2 036300,001202: # XCH PDL0 FOR COS TRIM 036301,001203: 10,2420 53361 VXSC VAD 036302,001204: 10,2421 03542 UXA/2 # REF COORDS 036303,001205: # FROM PDL0 036304,001206: 10,2422 77772 VSL1 036305,001207: 10,2423 02714 STORE XNB # X SC AXIS (.5 UNIT) REF COORDS 036306,001208: 036307,001209: 10,2424 76435 VXV VSL1 036308,001210: 10,2425 02722 YNB 036309,001211: 10,2426 26730 STOVL ZNB # Z SC IN REF COOR. SCALED AT 2 036310,001212: 10,2427 01736 REFSMMAT 036311,001213: 10,2430 26672 STOVL XSM 036312,001214: 10,2431 01744 REFSMMAT +6 036313,001215: 10,2432 26700 STOVL YSM 036314,001216: 10,2433 01752 REFSMMAT +12D 036315,001217: 10,2434 02706 STORE ZSM 036316,001218: 036317,001219: 10,2435 52014 CLEAR GOTO 036318,001220: 10,2436 00260 CPHIFLAG # CAUSE CALCGA TO STORE ANS IN TP CPHI 036319,001221: 10,2437 47311 CALCGA 036320,001222: # CALCGA WILL RETURN TO ORIGINAL CALLER 036321,001223: # VIA QPRET WITH 2'S COMP. ANGLES IN CPHI 036322,001224: 036323,001225: 036324,001226: End of include-file P61-P67.agc. Parent file is MAIN.agc