Source Code

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