Source Code

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