Source Code

032911,000001: # Copyright: Public domain. 032912,000002: # Filename: Template.agc 032913,000003: # Purpose: Part of the source code for Colossus, build 249. 032914,000004: # It is part of the source code for the Command Module's (CM) 032915,000005: # Apollo Guidance Computer (AGC), possibly for Apollo 8 and 9. 032916,000006: # Assembler: yaYUL 032917,000007: # Reference: pp. 747-776 of 1701.pdf. 032918,000008: # Contact: Ron Burkey <info@sandroid.org>. 032919,000009: # Website: www.ibiblio.org/apollo. 032920,000010: # Mod history: 08/17/04 RSB. Began transcribing. 032921,000011: 032922,000012: # The contents of the "Colossus249" files, in general, are transcribed 032923,000013: # from a scanned document obtained from MIT's website, 032924,000014: # http://hrst.mit.edu/hrs/apollo/public/archive/1701.pdf. Notations on this 032925,000015: # document read, in part: 032926,000016: 032927,000017: # Assemble revision 249 of AGC program Colossus by NASA 032928,000018: # 2021111-041. October 28, 1968. 032929,000019: 032930,000020: # This AGC program shall also be referred to as 032931,000021: # Colossus 1A 032932,000022: 032933,000023: # Prepared by 032934,000024: # Massachussets Institute of Technology 032935,000025: # 75 Cambridge Parkway 032936,000026: # Cambridge, Massachusetts 032937,000027: # under NASA contract NAS 9-4065. 032938,000028: 032939,000029: # Refer directly to the online document mentioned above for further information. 032940,000030: # Please report any errors (relative to 1701.pdf) to info@sandroid.org. 032941,000031: 032942,000032: # In some cases, where the source code for Luminary 131 overlaps that of 032943,000033: # Colossus 249, this code is instead copied from the corresponding Luminary 131 032944,000034: # source file, and then is proofed to incorporate any changes. 032945,000035: 032946,000036: # Page 747 032947,000037: # PROGRAM: P61 032948,000038: # MOD NO.: 0 MAR. 13, 1967 032949,000039: # MOD BY: R. HIRSCHKOP 032950,000040: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 22 JUN 67 RESTARTS 032951,000041: # MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 17 JAN 68 COLOSSUS GSOP CHANGES 032952,000042: # MOD NO: 3 MOD BY: RR BAIRNSFATHER DATE: 8 MAY 68 DELETE CMSM MANEUVER (PCR 50) 032953,000043: # FUNCTION: TO CALCULATE AND DISPLAY EMS INITIALIZATION DATA 032954,000044: # CALLING SEQUENCE: BY V37 032955,000045: # EXIT: TO P62 032956,000046: # SUBROUTINE CALLS: S61.1, S61.3, GOFLASH, FLAGUP, R02BOTH 032957,000047: # ERASABLE INITIALIZATION: 032958,000048: # EMSALT (-29) M .05G ALTITUDE ABOVE FISCHER ELLIPSOID PAD LOADED. 032959,000049: # ALFAPAD /180 HYPERSONIC CM TRIM ANGLE OF ATTACK PAD LOADED 032960,000050: # OUTPUT: THE FOLLOWING REGISTERS ARE WRITTEN IN FOR USE BY DISPLAYS 032961,000051: # GMAX 100 GMAX (-14) G,S MAXIMUM ACCELERATION 032962,000052: # VPRED (-7) M/CS PREDICTED VELOCITY AT 400K FT 032963,000053: # GAMMAEI (GAMMA/360 PREDICTED GAMMA AT 400K FT 032964,000054: # RTGO THETAH/360 RANGE ANGLE TO SPLASH FROM EMSALT EMSALT IS PAD LOADED 032965,000055: # VIO (-7) M/CS INERTIAL VELOCITY AT EMSALT EMSALT IS PAD LOADED 032966,000056: # TTE (-28) CS TIME TO EMSALT EMSALT IS PAD LOADED 032967,000057: # LAT(SPL) /360 TARGET LOCATION LEFT BY DSKY 032968,000058: # LNG(SPL) /360 TARGET LOCATION LEFT BY DSKY 032969,000059: # HEADSUP (0) +1 = LIFT DOWN, -1 = LIFT UP LEFT BY DSKY 032970,000060: # DEBRIS: SEE SUBROUTINES. 032971,000061: 032972,000062: 26,2217 BANK 26 032973,000063: 26,2000 SETLOC P60S 032974,000064: 26,2000 BANK 032975,000065: 032976,000066: 26,2217 E6,1661 EBANK= AOG 032977,000067: 032978,000068: 26,2217 COUNT* $$/P61 032979,000069: 032980,000070: 26,2217 34675 P61 CA BIT14 # EXTENDED VERB SHOULD BE FREE THIS CLOSE 032981,000071: 26,2220 55044 TS EXTVBACT # TO V37 032982,000072: # LOCK OUT EXTENDED VERBS SO CAN USE TFF 032983,000073: # ROUTINES. EXT VERB ERASE IS USED 032984,000074: 032985,000075: 26,2221 44712 CS ONE # REMOVE IF HEADSUP EVER ON UPLINK DATA 032986,000076: 26,2222 55726 TS HEADSUP # PRELOAD 032987,000077: 032988,000078: 26,2223 02543 TC S61.1 # CHECK STATE VECTOR AND IMU ORIENTATION 032989,000079: # RV 50GENRET. DOES PHASCHNG, GROUP 4. 032990,000080: 032991,000081: 26,2224 32424 CA V06N61 # LAT(SPL) LNG(SPL) HEADSUP 032992,000082: # XXX.XX DEG XXX.XX DEG XXXXX. 032993,000083: 26,2225 04555 TC BANKCALL 032994,000084: 26,2226 20763 CADR GOFLASHR 032995,000085: 26,2227 04106 TC GOTOP00H 032996,000086: # Page 748 032997,000087: 26,2230 02235 TC P61.4 032998,000088: 26,2231 02224 TC -5 032999,000089: 033000,000090: 26,2232 05301 P61.3 TC PHASCHNG 033001,000091: 26,2233 00014 OCT 00014 033002,000092: 033003,000093: 26,2234 05112 TC ENDOFJOB 033004,000094: 033005,000095: 26,2235 22007 P61.4 ZL 033006,000096: 26,2236 11726 CCS HEADSUP # C(HEADSUP)= +1/-1 033007,000097: 26,2237 34675 CA BIT14 # IF HEADSUP POS,ROLLC =180 DEG.(LIFT DWN) 033008,000098: 26,2240 12241 NOOP # IF HEADSUP NEG,ROLLC =0 (LIFT UP) 033009,000099: 26,2241 53716 DXCH ROLLC # ROLLC IS USED BY S62.3: GIM ANG AT .05G 033010,000100: 033011,000101: 26,2242 06006 TC INTPRET 033012,000102: 26,2243 77745 NEWRNVN DLOAD 033013,000103: 26,2244 01205 PIPTIME # SAVE TIME OF RN,VN TO DETERMINE IF AN 033014,000104: 26,2245 37651 STCALL MM # UPDATE HAS OCCURRED. 033015,000105: 26,2246 52063 STARTEN1 # INITIALIZE 033016,000106: 26,2247 77775 VLOAD 033017,000107: 26,2250 01171 RN 033018,000108: 26,2251 02327 STORE RONE 033019,000109: 26,2252 77656 UNIT 033020,000110: 26,2253 26343 STOVL URONE 033021,000111: 26,2254 01177 VN 033022,000112: 26,2255 02335 STORE VONE 033023,000113: 26,2256 53435 VXV UNIT 033024,000114: 26,2257 02343 URONE 033025,000115: 26,2260 03502 STORE UNI 033026,000116: 26,2261 45345 DUMPP61 DLOAD DSU 033027,000117: 26,2262 03651 MM # INITIAL VALUE OF PIPTIME 033028,000118: 26,2263 01205 PIPTIME 033029,000119: 26,2264 45040 BMN CALRB 033030,000120: 26,2265 54243 NEWRNVN # UPDATED... GO TRY AGAIN 033031,000121: 26,2266 54650 S61.2 # GET DISPLAY DATA FOR N60 AND N63 033032,000122: # AND RETURN IN BASIC, BELOW. 033033,000123: 26,2267 05425 P61.1 TC CLEARMRK 033034,000124: 26,2270 32423 CA V06N60 # GMAX VPRED GAMMAEI 033035,000125: # XXX.XX G XXXXX. FPS XXX.XX DEG 033036,000126: 26,2271 04555 TC BANKCALL 033037,000127: 26,2272 20624 CADR GOFLASH 033038,000128: 033039,000129: 26,2273 04106 TC GOTOP00H 033040,000130: 26,2274 02276 TC P61.2 # PROCEED 033041,000131: 26,2275 02270 TC -5 033042,000132: 033043,000133: 26,2276 06006 P61.2 TC INTPRET # CORRECT TTE FOR TIME LAPSE DURING 033044,000134: # ABOVE DISPLAY. 033045,000135: 26,2277 45234 RTB DSU 033046,000136: 26,2300 45505 LOADTIME # CURRENT TIME. 033047,000137: # Page 749 033048,000138: 26,2301 03651 MM # PIPTIME FOR RONE & VONE. 033049,000139: 26,2302 77615 DAD 033050,000140: 26,2303 03733 TTE1 # NEGATIVE OF FREE FALL TIME. 033051,000141: 26,2304 03727 STORE TTE # DECREMENTED 033052,000142: 033053,000143: 26,2305 77776 EXIT 033054,000144: 033055,000145: 26,2306 32425 CA V06N63 # RTGO VIO TTE 033056,000146: # XXXX.X NM XXXXX. FPS XXBXX M,S 033057,000147: 26,2307 04555 TC BANKCALL 033058,000148: 26,2310 20624 CADR GOFLASH 033059,000149: 26,2311 04106 TC GOTOP00H 033060,000150: 26,2312 02314 TC +2 033061,000151: 26,2313 02276 TC P61.2 # REDO 033062,000152: 033063,000153: # .... THEN FALL INTO P62 033064,000154: # Page 750 033065,000155: 033066,000156: # PROGRAM: P62 033067,000157: # MOD NO.: 0 MAR. 13, 1967 033068,000158: # MOD BY: R. HIRSCHKOP 033069,000159: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 67 033070,000160: # MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 22 JUN 67 RESTARTS. 033071,000161: # MOD NO: 3 MOD BY: RR BAIRNSFATHER DATE: 17 JAN 68 COLOSSUS GSOP CHANGES. 033072,000162: # MOD NO: 4 MOD BY: RR BAIRNSFATHER DATE: 8 MAY 68 MOVE START OF DESIRED GIMBAL CALC. 033073,000163: # FUNCTION: 1) TO NOTIFY CREW WHEN GNC SYSTEM IS PREPARED FOR CM/SM SEPARATION. 033074,000164: # 2) TO ORIENT THE CM TO THE CORRECT ATTITUDE FOR ATMOSPHERIC ENTRY. 033075,000165: # CALLING SEQUENCE: BY V37 OR DIRECTLY FROM P61 033076,000166: # EXIT: TO P63 033077,000167: # ERASABLE INITIALIZATION: 033078,000168: # ALFAPAD LEFT BY PAD LOAD 033079,000169: # LADPAD LEFT BY PAD LOAD 033080,000170: # (?) LEFT BY PAD LOAD 033081,000171: # LAT(SPL) (MAY BE CHANGED BELOW) LEFT BY DSKY, VIA P61 033082,000172: # LNG(SPL) (MAY BE CHANGED BELOW) LEFT BY DSKY, VIA P61 033083,000173: # HEADSUP (MAY BE CHANGED BELOW) LEFT BY DSKY, VIA P61 033084,000174: # SUBROUTINE CALLS: NEWMODEX, S61.1, CM/DAPIC, CM/DAPON, R02BOTH, GOPERF1, GOFLASH, GODSPR. 033085,000175: 033086,000176: 26,2314 COUNT* $$/P62 033087,000177: 033088,000178: 26,2314 05243 TC NEWMODEX # MODE CHANGE IF CAME FROM P61. 033089,000179: 26,2315 00076 MM 62 B-14 # MODE CHANGE AUTOMATIC VIA V 37. 033090,000180: 26,2316 34712 CA ONE 033091,000181: 26,2317 54332 TS DNLSTCOD 033092,000182: 033093,000183: 26,2320 02543 P62 TC S61.1 # CHECK STATE VECTOR AND IMU ORIENTATION. 033094,000184: 033095,000185: 26,2321 06006 TC INTPRET 033096,000186: 26,2322 47131 SSP RTB 033097,000187: 26,2323 03325 POSEXIT 033098,000188: 26,2324 54402 P62.3 # CALCULATE DESIRED .05G GIMBAL ANGLES. 033099,000189: # (Garbled --- RSB 2004). 033100,000190: 26,2325 41645 CM/DAPIC # START CM/POSE AND BODY RATE CALC 033101,000191: 033102,000192: # (Garbled --- RSB 2004). 033103,000193: # CM/DAPIC SETS EBANK = EBAOG 033104,000194: # AND RETURNS IN BASIC TO P62.2. 033105,000195: 26,2326 00006 P62.2 EXTEND 033106,000196: 26,2327 32431 DCA POSECADR # CONTINUE WITH CM/POSE AFTER AV G. 033107,000197: 26,2330 53223 DXCH AVEGEXIT 033108,000198: 033109,000199: 26,2331 34270 CAF OCT41 # REQUEST SEPARATION 033110,000200: 26,2332 04555 TC BANKCALL 033111,000201: 26,2333 21031 CADR GOPERF1R 033112,000202: 26,2334 04106 TC GOTOP00H 033113,000203: 26,2335 02340 TC +3 # PROCEED 033114,000204: # Page 751 033115,000205: # NOTE: NODOFLAG WILL BE SET IN CM/DAPON. *** 033116,000206: 26,2336 02331 TC -5 # ENTER 033117,000207: 26,2337 02232 TC P61.3 # FOR PHASCHNG AND ENDOFJOB 033118,000208: 033119,000209: 26,2340 04574 (?) TC POSTJUMP 033120,000210: 26,2341 41565 CADR CM/DAPON # DISABLE RCS DAP, ENABLE ENTRY DAP AND 033121,000211: # DO ATTITUDE HOLD. 033122,000212: 033123,000213: # WILL IDLE UNTIL CM/POSE DOES ONE UPDATE. 033124,000214: # CM/DAPON DOES NO PHASCHNG. 033125,000215: 033126,000216: 26,2342 32424 P62.1 CA V06N61 # LAT(SPL) LNG(SPL) HEADSUP 033127,000217: # XXX.XX DEG XXX.XX DEG 0000X. 033128,000218: 033129,000219: # TERMINATE ATTITUDE HOLD. SET UP COMMANDS: 033130,000220: # ROLLC, ALFACOM, BETACOM. BEGIN MANEUVER TO 033131,000221: # ENTRY ATTITUDE. 033132,000222: 033133,000223: 26,2343 04555 TC BANKCALL 033134,000224: 26,2344 20624 CADR GOFLASH 033135,000225: 26,2345 02342 TC -3 033136,000226: 26,2346 02350 TC +2 033137,000227: 26,2347 02342 TC -5 033138,000228: 033139,000229: 26,2350 05301 TC PHASCHNG 033140,000230: 26,2351 04024 OCT 04024 # USE ENTRYVN FOR DISPLAY BELOW. 033141,000231: # EBANK WAS SET IN CM/DAPON TO EBAOG 033142,000232: 033143,000233: 26,2352 11726 CCS HEADSUP # C(HEADSUP) = +/- 1 033144,000234: 26,2353 34675 CA BIT14 # IF HEADSUP POS, ROLLC=180 DEG (LIFT DWN) 033145,000235: 26,2354 12355 NOOP # IF HEADSUP NEG, ROLLC=0 DEG (LIFT UP) 033146,000236: 26,2355 55715 TS ROLLC 033147,000237: 26,2356 31411 CA ALFAPAD # NOMINAL ALFATRIM PAD LOADED, NEG. NO. 033148,000238: 26,2357 22007 ZL 033149,000239: 26,2360 53604 DXCH ALFACOM # SET ALFACOM = ALFA TRIM, BETACOM=0 033150,000240: 033151,000241: 26,2361 34712 CA ONE # PERMITS EXDAP2 TO CHANGE FLAG TO +0 033152,000242: 26,2362 55727 TS P63FLAG # AS INDICATOR. STARTS UP P63. 033153,000243: 033154,000244: 26,2363 34745 CA V06N22 # SET UP DISPLAY FOR CDU DESIRED VALUES 033155,000245: 26,2364 55263 TS ENTRYVN # FROM ENTRY ATTITUDE CALC, THAT IS 033156,000246: # ALREADY GOING. 033157,000247: 26,2365 05435 TC UPFLAG # TURN ON ENTRY DISPLAY 033158,000248: 26,2366 00134 ADRES ENTRYDSP # ENTRYDSP = 92D BIT 13 FLAG 6 033159,000249: 26,2367 SKIP 033160,000250: # Page 752 033161,000251: 26,2367 41700 CS CMDAPMOD # GO DIRECTLY TO P63 IF BODY ATTITUDE 033162,000252: 26,2370 74712 MASK ONE # IS SUCH THAT THE DELAY TASK: WAKEP62 033163,000253: 26,2371 00006 EXTEND # WILL BE OMITTED. 033164,000254: 26,2372 12420 BZF P63.1 # DISABLE GRP 4, GO TO ENDOFJOB. 033165,000255: # (I.E., CONTINUE IF CMDAPMOD = -1, OR +0) 033166,000256: 26,2373 02406 TC P63 033167,000257: 033168,000258: # PUT JOB TO SLEEP UNTIL VEHICLE MANEUVER HAS 033169,000259: # REDUCED ALFA TO +/-45 DEG. CONSIDER REMAINING 033170,000260: # 65 DEG (25 DEG IF ALFA NEG) TO ALFA TRIM TO 033171,000261: # OCCUR AT 3 DEG/SEC, AND TERMINATE P62 AT THAT 033172,000262: # TIME. 033173,000263: 033174,000264: # TASK WAKEP62 IS CALLED FROM ENTRY DAP. 033175,000265: 26,2374 34760 WAKEP62 CA PRIO13 033176,000266: 26,2375 05027 TC NOVAC 033177,000267: 26,2376 E6,1661 EBANK= AOG 033178,000268: 26,2376 02406 54066 2CADR P63 033179,000269: 033180,000270: 26,2400 05213 TC TASKOVER 033181,000271: 033182,000272: 26,2401 54402 P62.3CAD CADR P62.3 033183,000273: 033184,000274: # EACH 2 SEC, CALCULATE GIMBAL ANGLES FOR ENTRY CON- 033185,000275: # DITIONS THAT WILL HOLD IF REORIENTATION WERE MADE 033186,000276: # AT PRESENT RN, VN. COME HERE FROM CM/POSE AND ALSO 033187,000277: # IN KEPLER PHASE OF ENTRY. 033188,000278: 033189,000279: 26,2402 52131 P62.3 SSP GOTO # SET RETURN ADDRESS SO THAT ROUTINE 033190,000280: 26,2403 00053 QPRET # GOES DIRECTLY TO ENTRY GUIDANCE EXIT 033191,000281: 26,2404 53570 ENDEXIT # THAT DOES ENTRY DISPLAY, GRP 5. 033192,000282: 26,2405 20302 S62.3 # PUT DESIRED CDU VALUES IN CPHI=5 FOR 033193,000283: # N22 DISPLAY. 033194,000284: 033195,000285: # Page 753 033196,000286: # PROGRAM: P63 033197,000287: # MOD NO: 0 MAR. 13, 1967 033198,000288: # MOD BY: R. HIRSCHKOP 033199,000289: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 22 JUN 67 RESTARTS 033200,000290: # MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 14 JUL 67 REVISED RESTARTS 033201,000291: # FUNCTION: 1) TO INITIALIZE THE ENTRY EQUATIONS. 033202,000292: # 2) TO CONTINUE TO HOLD THE CM TO THE CORRECT ATTITUDE WITH RESPECT TO THE ATMOSPHERE FOR 033203,000293: # THE ONSET OF ENTRY DECELERATION. ROLL ANGLE IS LIFT UP/DOWN AS SPECIFIED BY HEADSUP. 033204,000294: # 3) TO SENSE .05G. 033205,000295: # CALLING SEQUENCE: DIRECTLY FROM P62 033206,000296: # EXIT: TO ENDOFJOB 033207,000297: # SUBROUTINE CALLS: NEWMODEX, GODSPR 033208,000298: 033209,000299: 26,2406 COUNT* $$/P63 033210,000300: 033211,000301: 26,2406 05243 P63 TC NEWMODEX 033212,000302: 26,2407 00077 MM 63 B-14 033213,000303: 033214,000304: 26,2410 04555 TC BANKCALL # FLUSH N22 DISPLAY, IF ON. (ONIT DISP 033215,000305: 26,2411 20607 CADR CLEANDSP # DURING STATEMENT PASS.) 033216,000306: 033217,000307: # ARRIVE WITH EBANK = AOG. 033218,000308: 033219,000309: 26,2412 32427 CA ENTCADR # CONTINUE AT STARTENT AFTER CM/POSE. 033220,000310: 033221,000311: # AT END OF STATEMENT, CHANGE ADDRESS IN GOTOADDR 033222,000312: # TO CONTINUE AT SCALEPOP THEREAFTER. 033223,000313: 033224,000314: 26,2413 55724 TS POSEXIT 033225,000315: 033226,000316: 26,2414 32426 CA V06N64 # G VI R TO SPLSH 033227,000317: # XXX.XX G XXXX. FPS XXXX.X NM 033228,000318: 26,2415 55263 TS ENTRYVN # FOR DISPLAY CALL IN OVERNOUT 033229,000319: 033230,000320: 26,2416 44712 CS ONE # IN CASE FLAG IS LEFT AT +1 BY DAP. THE 033231,000321: 26,2417 55727 TS P63FLAG # -1 ASSURES THAT EXO-ATM DAP WILL NOT 033232,000322: # CALL P63 OUT OF SEQUENCE IN P66. 033233,000323: 033234,000324: 26,2420 05301 P63.1 TC PHASCHNG 033235,000325: 26,2421 00004 OCT 00004 # DISABLE. DISPLAY RESTARTED VIA ENTRY. 033236,000326: 033237,000327: 26,2422 05112 TC ENDOFJOB 033238,000328: 033239,000329: 26,2423 01474 V06N60 VN 0660 033240,000330: 26,2424 01475 V06N61 VN 0661 033241,000331: 26,2425 01477 V06N63 VN 0663 033242,000332: 26,2426 01500 V06N64 VN 0664 033243,000333: 26,2427 52000 ENTCADR CADR STARTENT 033244,000334: 033245,000335: # Page 754 033246,000336: 26,2430 E7,1451 EBANK= RTINIT # TO CARRY OVER INTO ENTRY STEERING. 033247,000337: 26,2430 03373 76067 POSECADR 2CADR CM/POSE 033248,000338: 033249,000339: # Page 755 033250,000340: # PROGRAM: P64 033251,000341: # MOD NO: 1 SEPT. 19, 1967 033252,000342: # MOD BY: R. HIRSCHKOP 033253,000343: # MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 8 MAY 68 REVISED COMMENTS FOR COLOSSUS 033254,000344: # FUNCTION: 1. TO START ENTRY GUIDANCE AT .05G SELECTING ROLL ATTITUDE, CONSTANT DRAG LEVEL, AND 033255,000345: # DRAG THRESHHOLD, KA, WHICH ARE KEYED TO THE .05G POINT. 033256,000346: # 2. SELECT FINAL PHASE P67 IF V < 27000 FPS WHEN .2G OCCURS. 033257,000347: # 3. ITERATE FOR UP-CONTROL SOLUTION P65 IF V < 27000 FPS AND IF ALTITUDE RATE AND DRAG 033258,000348: # LEVEL CONDITIONS ARE SATISFIED. ENTER P65 WHEN CONSTANT DRAG CONTROLLER HAS BROUGHT RANGE 033259,000349: # AS PREDICTED TO WITHIN 25 NM OF DESIRED RANGE. 033260,000350: # 4. SELECT FINAL PHASE P67(?) IF NO UP-CONTROL SOLUTION EXISTS WITH VL > 18000(?) FPS. 033261,000351: # CALLING SEQUENCE: BY RTB FROM REENTRY CONTROL 033262,000352: # EXIT: BACK TO REENTRY CONTROL. 033263,000353: # SUBROUTINE CALLS: NEWMODEX 033264,000354: 033265,000355: 25,2000 BANK 25 033266,000356: 26,2000 SETLOC P60S1 033267,000357: 26,2000 BANK 033268,000358: 033269,000359: # THIS DISPLAY IS CALLED EACH PASS THROUGH STEERING. RESTART PROTECTION IS VIA STEERING. 033270,000360: 26,2432 COUNT* $$/P64 033271,000361: 033272,000362: 26,2432 05243 P64 TC NEWMODEX # ENTER VIA RTB WHEN .05G IS EXCEEDED. 033273,000363: 26,2433 00100 MM 64 B-14 033274,000364: 26,2434 32437 CA V06N68 # ROLLC VI HDOT 033275,000365: # XXX.XX DEG XXXXX. FPS XXXXX. FPS 033276,000366: 26,2435 55263 TS ENTRYVN # DISPLAY VIA OVERNOUT. 033277,000367: 033278,000368: 26,2436 06030 TC DANZIG # ... AND CONTINUE IN INITROLL ... 033279,000369: 26,2437 01504 V06N68 VN 0668 033280,000370: 033281,000371: # Page 756 033282,000372: # PROGRAM: P65 033283,000373: # MOD NO: 0 MOD BY: RR BAIRNSFATHER DATE: 17 JAN 68 COLOSSUS GSOP ADDITION. 033284,000374: # FUNCTION: TO CONTINUE ENTRY GUIDANCE, USING THE UP-CONTROL PHASE TO STEER TO A CONTROLLED EXIT 033285,000375: # CONDITION. THIS PHASE TERMINATES A) IF D < Q7 FPSS, GOTO TO P66. 033286,000376: # B) IF RDOT NEG, AND IF V < VL +500 FPS, GO TO P67. 033287,000377: # CALLING SEQUENCE: BY RTB FROM REENTRY CONTROL 033288,000378: # EXIT: BACK TO REENTRY CONTROL, OR TO ENDOFJOB. 033289,000379: # SUBROUTINE CALLS: NEWMODEX 033290,000380: 033291,000381: 26,2440 COUNT* $$/P65 033292,000382: 033293,000383: 26,2440 05243 P65 TC NEWMODEX # ENTER VIA RTB WHEN RANGE < 25 N M OF 033294,000384: 26,2441 00101 MM 65 B-14 # TARGET. 033295,000385: 033296,000386: 26,2442 34760 CA PRIO13 033297,000387: 26,2443 05027 TC NOVAC 033298,000388: 26,2444 1263 EBANK= ENTRYVN 033299,000389: 26,2444 02456 54062 2CADR P65.1 033300,000390: 033301,000391: 26,2446 05261 TC 2PHSCHNG # 2 PHASE CHG REQUIRED TO PREVENT RE- 033302,000392: 26,2447 00554 OCT 00554 # STARTING FLASHING DISPLAY TWICE. 033303,000393: 26,2450 10035 OCT 10035 # 4.55 SPOT AND SERVICER, HERE. 033304,000394: 26,2451 06006 TC INTPRET 033305,000395: 26,2452 47131 SSP RTB 033306,000396: 26,2453 03646 GOTOADDR # CHANGE ENTRY MODE TO UPCONTRL. 033307,000397: 26,2454 53027 UPCONTRL 033308,000398: 26,2455 52120 REFAZE10 # GO HERE TO REESTABLISH ENTRY SEQUENCER. 033309,000399: # AND CONTINUE AT UPCONTRL... 033310,000400: 033311,000401: 26,2456 05447 P65.1 TC DOWNFLAG 033312,000402: 26,2457 00134 ADRES ENTRYDSP # ENTRYDSP = 92D BIT 13 FLAG 6 033313,000403: 033314,000404: 26,2460 32472 CA V16N69 # ROLLC DL (Q7) VL 033315,000405: 26,2461 04555 TC BANKCALL # XXX.XX DEG XXX.XX G XXXXX. FPS 033316,000406: 26,2462 20763 CADR GOFLASHR 033317,000407: 26,2463 02460 TC -3 # NODOFLAG IS SET ... 033318,000408: 26,2464 02467 TC +3 033319,000409: 26,2465 02460 TC -5 033320,000410: 26,2466 02232 TC P61.3 # EST. GRP 4 FOR DISPLAY AND DO ENDOFJOB 033321,000411: # IF PROCEED, CONTINUE 033322,000412: 26,2467 05435 TC UPFLAG 033323,000413: 26,2470 00134 ADRES ENTRYDSP # ENTRYDSP = 92D BIT 13 FLAG 6 033324,000414: 033325,000415: 26,2471 02420 TC P63.1 # DISABLE GRP 4, START UP ENTRY DISPLAY 033326,000416: # N06V68 VIA OVERNOUT, AS USED IN P64 033327,000417: 26,2472 04105 V16N69 VN 1669 033328,000418: 033329,000419: # Page 757 033330,000420: # PROGRAM: P66 033331,000421: # MOD NO: 0 MOD BY: RR BAIRNSFATHER DATE: 17 JAN 68 COLOSSUS GSOP ADDITIONS 033332,000422: # FUNCTION: KEEP CM ATTITUDE IN TRIM TO THE RELATIVE VELOCITY VECTOR. ENTRY GUIDANCE STOPS GENERATING 033333,000423: # ROLL COMMANDS UNTIL DRAG BUILDS UP TO Q7+0.5 FPSS. 033334,000424: # CALLING SEQUENCE: VIA RTB FROM REENTRY CONTROL. 033335,000425: # EXIT: BACK TO REENTRY CONTROL. 033336,000426: # SUBROUTINE CALLS: NEWMODEX 033337,000427: 033338,000428: 26,2473 COUNT* $$/P66 033339,000429: 033340,000430: 26,2473 05243 P66 TC NEWMODEX # ENTER VIA RTB WHEN D < Q7 FPSS 033341,000431: 26,2474 00102 MM 66 B-14 033342,000432: 033343,000433: 26,2475 34745 CA V06N22 # OGA IGA MGA 033344,000434: # XXX.XX DEG XXX.XX DEG XXX.XX DEG 033345,000435: 26,2476 02502 TC P66END # IN CASE CAME FROM P65, GO TO DISABLE GRP 4, 033346,000436: # AND SET ENTRYDSP TO DO DISPLAY VIA 033347,000437: # OVERNOUT. 033348,000438: 033349,000439: # ... AND CONTINUE AT KEP2 033350,000440: 033351,000441: # Page 758 033352,000442: # PROGRAM: P67 033353,000443: # MOD NO: 0 MAR. 16, 1967 033354,000444: # MOD BY: R. HIRSCHKOP 033355,000445: # FUNCTION: TO TERMINATE STEERING WHEN THE CM VELOCITY WRT EARTH = 1000 FT/SEC 033356,000446: # CALLING SEQUENCE: (Nothing here, sorry. --- RSB 2004) 033357,000447: # EXIT: TO P00H 033358,000448: # SUBROUTINE CALLS: GOFLASH 033359,000449: 033360,000450: # THIS DISPLAY IS CALLED EACH PASS THROUGH STEERING. RESTART PROTECTION IS VIA STEERING. 033361,000451: 033362,000452: 26,2477 COUNT* $$/P67 033363,000453: 033364,000454: 26,2477 05243 P67 TC NEWMODEX # ENTER VIA RTB 033365,000455: 26,2500 00103 MM 67 B-14 033366,000456: 26,2501 32510 CA V06N66 # ROLLC XRNGERR DNRNGERR 033367,000457: # XXX.XX DEG XXXX.X NM XXXX.X NM 033368,000458: 26,2502 55263 P66END TS ENTRYVN # DISPLAY VIA OVERNOUT. 033369,000459: 033370,000460: 26,2503 05435 TC UPFLAG # (IN CASE CAME FROM P65. ENTRY DISPLAY 033371,000461: 26,2504 00134 ADRES ENTRYDSP # WILL FLUSH FLASHING DISP. IF STILL ON) 033372,000462: # BIT 13 FLAG 6 033373,000463: 26,2505 05301 KILLGRP4 TC PHASCHNG # DISABLE GRP4, IN CASE CAME FROM HUNTEST. 033374,000464: 26,2506 00004 OCT 00004 # (COME TO KILLGRP4 VIA RTB, RET TO CALLER) 033375,000465: 033376,000466: 26,2507 06030 TC DANZIG # ... AND CONTINUE AT PREDICT3 ... 033377,000467: 033378,000468: 26,2510 01502 V06N66 VN 0666 033379,000469: 033380,000470: 26,2511 BANK 26 033381,000471: 26,2000 SETLOC P60S2 033382,000472: 26,2000 BANK 033383,000473: 033384,000474: 26,2511 32542 P67.1 CA V16N67 # RTOGO LAT LONG 033385,000475: # XXXX.X NM XXX.XX DEG XXX.XX DEG 033386,000476: 26,2512 04555 TC BANKCALL 033387,000477: 26,2513 20624 CADR GOFLASH 033388,000478: 26,2514 02517 TC +3 # EFFECTIVE GOTOP00H 033389,000479: 26,2515 02517 TC +2 033390,000480: 26,2516 02511 TC P67.1 # REDO 033391,000481: 033392,000482: 26,2517 46214 CS THREE # TURN OFF ENTRY DAP 033393,000483: 26,2520 00004 INHINT 033394,000484: 26,2521 70102 MASK CM/FLAGS # CM/DSTBY, GAMDIFSW 033395,000485: 26,2522 54102 TS CM/FLAGS 033396,000486: 26,2523 00003 RELINT 033397,000487: 26,2524 00006 EXTEND 033398,000488: 26,2525 32642 DCA SERVCAD2 033399,000489: 033400,000490: # Page 759 033401,000491: 26,2526 53223 DXCH AVEGEXIT 033402,000492: 26,2527 14106 TCF GOTOP00H 033403,000493: 033404,000494: # Page 760 033405,000495: 26,2530 43175 P67.2 VLOAD CLEAR # CALC PRESENT LAT, LONG, ALT. 033406,000496: 26,2531 01171 RN 033407,000497: 26,2532 00662 ERADFLAG # USE PAD RAD FOR ALT. (NOT SEEN ANYWAY) 033408,000498: 26,2533 16152 STODL ALPHAV 033409,000499: 26,2534 01205 PIPTIME # USE TIME OF RN 033410,000500: 26,2535 45014 CLEAR CALL 033411,000501: 26,2536 01663 LUNAFLAG 033412,000502: 26,2537 26322 LAT-LONG 033413,000503: 26,2540 77634 P67.3 RTB # ENTRY EXIT THAT OMITS DISPLAY. 033414,000504: 26,2541 53603 SERVNOUT 033415,000505: 033416,000506: 26,2542 04103 V16N67 VN 1667 033417,000507: 26,2543 4270 OCT41 = 33DEC 033418,000508: 26,2543 26,2641 SERVCAD2 = SERVCAD1 033419,000509: 033420,000510: # Page 761 033421,000511: # SUBROUTINE NAME: S61.1 033422,000512: # MOD NO: 0 DATE: 21 FEB 67 033423,000513: # MOD BY: RR BAIRNSFATHER LOG SECTION: P61-P67 033424,000514: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 22 JUN 67 RESTARTS. 033425,000515: 033426,000516: # FUNCTIONAL DESCRIPTION: 033427,000517: # FIRST, TEST TO SEE IF AVERAGEG IS ON. IF NOT, UPDATE THE STATE VECTOR TO PRESENT TIME + TOLERANCE 033428,000518: # AND TURN ON AVERAGEG AT THAT TIME, AND CONTINUE. OTHERWISE CONTINUE: SEE IF IMU Y AXIS IS 033429,000519: # WITHIN 30 DEG OF VAR. IF YES, EXIT SUBROUTINE S61.1. IF SO, SEE IF -Y AXIS OF IMU IS WITHIN 033430,000520: # 30 DEG OF VAR. IF YES, DISPLAY ALARM: 01427 IMU REVERSED. 033431,000521: # IF NO, DISPLAY ALARM: 01426 IMU UNSATISFACTORY. 033432,000522: # IN EITHER OF THESE LAST 2 CASES, WAIT 10 SEC AND THEN EXIT SUBROUTINE S61.1. 033433,000523: 033434,000524: # REMARK: THERE WILL BE A SHORT 10 SEC DELAY IF AN ALARM EXIT IS TAKEN. THE DELAY FOR INTEGRATION IS 033435,000525: # AS SHORT AS CAN BE MADE, BUT IS ARBITRARY SINCE IT DEPENDS ON THE AGE OF THE STATE VECTOR. 033436,000526: 033437,000527: # CALLING SEQUENCE: CALL 033438,000528: # S61.1 033439,000529: 033440,000530: # C(MPAC) UNSPECIFIED 033441,000531: # PUSHLOC UNSPECIFIED 033442,000532: 033443,000533: # SUBROUTINES CALLED: LOADTIME, CSMPREC, TPAGTREE, 033444,000534: # WAITLIST, JOBSLEEP, JOBWAKE, PREREAD, ALARM, GODSPR, BANKCALL, DELAYJOB 033445,000535: 033446,000536: # NORMAL EXIT MODES: RVQ 033447,000537: 033448,000538: # ALARMS: 01426 IMU UNSATISFACTORY 033449,000539: # 01427 IMU REVERSED 033450,000540: 033451,000541: # OUTPUT: POSSIBLE ALARMS 033452,000542: # POSSIBLY TDEC1, RATT, VATT, RN, VN 033453,000543: 033454,000544: # ERASABLE INITIALIZATION REQUIRED: 033455,000545: # AVEGFLAG AVERAGEG ON OR OFF LEFT BY SERVICER 033456,000546: # PIPTIME (-26) CS TIME OF PIPA UPDATE LEFT BY READACCS 033457,000547: # RN (-29) M STATE VECTOR LEFT BY AVERAGEG 033458,000548: # VN (-7) M/CS STATE VECTOR LEFT BY AVERAGEG 033459,000549: # REFSMMAT (-1) .5 REF TO SM MATRIX LEFT BY LAST IMU ALIGNMENT 033460,000550: 033461,000551: # DEBRIS: QPRET 033462,000552: # POSSIBLY PIPTIME1, RATT, VATT, TDEC1, RN1, VN1, QTEMP, X1 IF UPDATED 033463,000553: # PUSH LIST LOCS USED BY CSMPREC 033464,000554: 033465,000555: 26,2543 E6,1661 EBANK= AOG # FOR 60GENRET, S61DT 033466,000556: 26,2543 BANK 26 033467,000557: 26,2000 SETLOC P60S3 033468,000558: 26,2000 BANK 033469,000559: 033470,000560: 26,2543 COUNT* $$/S61.1 033471,000561: 033472,000562: 26,2543 00006 S61.1 EXTEND 033473,000563: 26,2544 23773 QXCH 60GENRET # SAVE RET ADDR IN EB 6 033474,000564: 26,2545 04555 TC BANKCALL 033475,000565: 26,2546 17573 CADR R02BOTH 033476,000566: 26,2547 06006 TC INTPRET 033477,000567: # Page 762 033478,000568: 26,2550 45014 BON CALRB 033479,000569: 26,2551 00716 AVEGFLAG # IS AVERAGEG ON 033480,000570: 26,2552 54603 S61.1A # YES 033481,000571: 26,2553 27573 MIDTOAV2 # GET FUTURE STATE VECTOR SOON AS CAN 033482,000572: 033483,000573: 26,2554 30155 CA MPAC +1 # RETURN INHINTED *** 033484,000574: 26,2555 55774 TS S61DT # FOR RESTART. 033485,000575: 26,2556 05140 TC WAITLIST 033486,000576: 26,2557 E7,1431 EBANK= DVCNTR 033487,000577: 26,2557 02564 54067 2CADR S61.1C 033488,000578: 033489,000579: 26,2561 05301 TC PHASCHNG 033490,000580: 26,2562 40434 OCT 40434 033491,000581: 26,2563 05112 TC ENDOFJOB 033492,000582: 033493,000583: 26,2564 34760 S61.1C CA PRIO13 033494,000584: 26,2565 05042 TC FINDVAC 033495,000585: 26,2566 E6,1661 EBANK= AOG 033496,000586: 26,2566 02602 54066 2CADR S61.1A -1 033497,000587: 033498,000588: 26,2570 00006 EXTEND 033499,000589: 26,2571 32642 DCA SERVCAD1 # HE WHO START AVERAGEG MUST SERVICE 033500,000590: 26,2572 53223 DXCH AVEGEXIT # THE EXIT. 033501,000591: 033502,000592: 26,2573 05261 TC 2PHSCHNG 033503,000593: 26,2574 00454 OCT 00454 033504,000594: 26,2575 00415 OCT 00415 033505,000595: 033506,000596: 26,2576 34753 CA EBENTRY # SET EB= 7 FOR PREREAD. 033507,000597: 26,2577 54003 TS EBANK 033508,000598: 033509,000599: 26,2600 04574 TC POSTJUMP 033510,000600: 26,2601 76604 CADR PREREAD # PREREAD DOES TC TASKOVER. 033511,000601: 033512,000602: 26,2602 06006 TC INTPRET 033513,000603: 26,2603 77204 S61.1A BOVB VLOAD 033514,000604: 26,2604 57343 TCDANZIG # TURN OFF OVFIND, IF ON 033515,000605: 26,2605 01177 VN # VN (-7) M/CS 033516,000606: 26,2606 64235 VXV MXV 033517,000607: 26,2607 01171 RN # RN (-29) M 033518,000608: 26,2610 01736 REFSMMAT # .5 UNIT MATRIX 033519,000609: 26,2611 71256 UNIT DLOAD 033520,000610: 26,2612 00160 MPAC +3 # GET COS(THETA)/2 033521,000611: 26,2613 43240 BMN DAD 033522,000612: 26,2614 54621 S61.1B # DO TEST ON -YSM 033523,000613: 26,2615 14644 C(30)LIM # = 1.0 -.5 COS(30) 033524,000614: 26,2616 47004 BOVB RTB 033525,000615: 26,2617 54640 RETRN1 033526,000616: 26,2620 54625 RETRN3 033527,000617: # Page 763 033528,000618: 26,2621 43276 S61.1B DCOMP DAD 033529,000619: 26,2622 14644 C(30)LIM # = 1.0 - .5 COS(30) 033530,000620: 26,2623 77404 BOVB EXIT 033531,000621: 26,2624 54630 RETRN2 033532,000622: 033533,000623: 26,2625 05537 RETRN3 TC ALARM 033534,000624: 26,2626 01426 OCT 01426 # IMU UNSATISFACTORY 033535,000625: 26,2627 02632 TC RETRN2 +2 033536,000626: 033537,000627: 26,2630 05537 RETRN2 TC ALARM 033538,000628: 26,2631 01427 OCT 01427 # IMU REVERSED 033539,000629: 033540,000630: 26,2632 34743 +2 CAF V05N09 033541,000631: 26,2633 04555 TC BANKCALL 033542,000632: 26,2634 20602 CADR GODSPR # DO DISPLAY 033543,000633: 26,2635 32645 CA 10SECS 033544,000634: 26,2636 04555 TC BANKCALL 033545,000635: 26,2637 01732 CADR DELAYJOB 033546,000636: 033547,000637: 26,2640 01773 RETRN1 TC 60GENRET 033548,000638: 033549,000639: 26,2641 E7,1431 EBANK= DVCNTR 033550,000640: 26,2641 03132 76067 SERVCAD1 2CADR SERVEXIT 033551,000641: 26,2643 22111 17335 C(30)LIM 2DEC .566985 # = 1.0 - .5 COS(30) 033552,000642: 26,2645 01750 10SECS DEC 1000 B-14 # 1000 CS 033553,000643: 26,2646 00000 13560 60SECDP 2DEC 6000 B-28 # 6000 CS 033554,000644: 033555,000645: # Page 764 033556,000646: # PROGRAM NAME: S61.2 DATE: 14 FEB 67 033557,000647: # MOD NO: 1 LOG SECTION: P61-P67 033558,000648: # MOD BY: NORTH / BAIRNSFATHER 033559,000649: # MOD NO: 2 MOD BY: NORTH/BAIRNSFATHER DATE: 11 MAY 67 ADD 2ND ITER FOR ERAD AT 400K FT. 033560,000650: # MOD NO: 3 MOD BY: RR BAIRNSFATHER DATE: 21 NOV 67 VARIABLE MU ADDED. 033561,000651: # MOD NO: 4 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 68 DIFFERENT EARTH/MOON SCALES IN TFF'S 033562,000652: 033563,000653: # FUNCTIONAL DESCRIPTION: CALLED IN P61. PROVIDES DISPLAYS FOR NOUNS N60 AND N63. 033564,000654: # PROGRAM CALCULATES ENTRY DISPLAY OF MAXIMUM ACCELERATION EXPECTED (GMAX) AND ALSO THE EXPECTED 033565,000655: # INERTIAL VELOCITY (VPRED) AND ENTRY ANGLE (GAMMABI) THAT WILL OBTAIN AT 400K FT ABOVE THE FISCHER 033566,000656: # ELLIPSOID. PROGRAM ALSO CALCULATES A SECOND DISPLAY RELATIVE TO THE EMSALT ABOVE FISCHER ELLIPSOID 033567,000657: # AND CONSISTS OF RANGE TO SPLASH FOM NOW (RTGO), PREDICTED INERTIAL VELOCITY (VIO), AND THE TIME TO 033568,000658: # GO FROM NOW (TTE). 033569,000659: 033570,000660: # CALLING SEQUENCE: CALL 033571,000661: # S61.2 033572,000662: # C(MPAC) UNSPECIFIED 033573,000663: # PUSHLOC WILL BE SET TO ZERO. 033574,000664: 033575,000665: # SUBROUTINES CALLED: TFFCONIC, CALCTFF, TFF/TRIG, FISHCALC, GETERAD, VGAMCALC 033576,000666: 033577,000667: # NORMAL EXIT MODES: RTB, P61.1 033578,000668: 033579,000669: # ALARMS: NONE 033580,000670: 033581,000671: # OUTPUT: THE FOLLOWING REGISTERS ARE WRITTEN IN FOR USE BY DISPLAYS 033582,000672: # GMAX 100 GMAX (-14) G,S MAXIMUM ACCELERATION 033583,000673: # VPRED (-7) M/CS PREDICTED VELOCITY AT 400K FT 033584,000674: # GAMMAEI GAMMA/360 PREDICTED GAMMA AT 400K FT 033585,000675: # FOR TM, DP(GAMMAEI) = (GAMMAEI, RTGO) / 360 033586,000676: # RTGO THETAH/360 RANGE ANGLE TO SPLASH FROM EMSALT EMSALT IS PAD LOADED. 033587,000677: # VIO (-7) M/CS INTERTIAL VELOCITY AT EMSALT EMSALT IS PAD LOADED. 033588,000678: # TTE (-28) CS TIME TO EMSALT EMSALT IS PAD LOADED. 033589,000679: # PUSHLOC = 0 033590,000680: # CONIC PARAMETERS STORED IN VAC AREA (SEE TFF SUBROUTINES) 033591,000681: 033592,000682: # ERASABLE INITIALIZATION REQUIRED: 033593,000683: # RONE (-29) M STATE VECTOR LEFT BY USER 033594,000684: # VONE (-7) M/CS STATE VECTOR LEFT BY USER 033595,000685: # URONE UR/2 LEFT BY USER 033596,000686: # UNI (-1) UNIT NORMAL V*R LEFT BY ENTRY / P61 033597,000687: # THETAH THETAH/360 RANGE ANGLE LEFT BY ENTRY / P61 033598,000688: # UNITW (0) UNIT POLAR VECTOR LEFT BY PAD LOAD 033599,000689: # EMSALT (-29) M EMS INTERFACE ALTITUDE LEFT BY PAD LOAD 033600,000690: # ORBITAL REENTRY: 284843 FT., LUNAR REENTRY: 297431 FT. 033601,000691: 033602,000692: # DEBRIS: QPRET, 033603,000693: # ALL PDL LOCATIONS ABOVE 12D, INCLUDING X1,X2,S1,S2 033604,000694: # ALSO PDL+0 ... PDL+5, WHERE INITIAL PUSHLOC = PDL 033605,000695: 033606,000696: # Page 765 033607,000697: # THE FOLLOWING PUSH LIST LOCATIONS HAVE BEEN RESERVED FOR TFF ROUTINES AND ARE REPEATED HERE FOR CONVENIENCE. 033608,000698: # OF COURSE FOR S61.2 USAGE, EARTH ORIGIN SCALING IS USED. 033609,000699: 033610,000700: # BELOW E: IS USED FOR EARTH ORIGIN SCALE 033611,000701: # M: IS USED FOR MOON ORIGIN SCALE 033612,000702: 033613,000703: # RTERM = 18D TERMINAL RADIUS M E: (-29) M: (-27) 033614,000704: # NRTERM = 16D TERMINAL RADIUS M E: (-29+NR) 033615,000705: # M: (-27+NR) 033616,000706: # RMAG1 = 12D PRESENT RADIUS M E: (-29) M: (-27) 033617,000707: # NRMAG = 32D PRESENT RADIUS M E: (-29+NR) 033618,000708: # M: (-27+NR) 033619,000709: # SDELF/2 SIN(THETA) / 2 033620,000710: # CDELF/2 = 14D COS(THETA) / 2 033621,000711: # TFFX = 34D X, ARGUMENT OF SERIES T(X) 033622,000712: # TFFTEM = 36D ARG FOR TRANSFER ANGLE CALCULATION 033623,000713: # TFFNP = 28D LC P M E: (-38+2NR) M: (-36+2NR) 033624,000714: # TFF/RTMU= 30D 1/SQRT(MU) E: (17) M: (14) 033625,000715: # TFFVSQ = 20D -(VN.VN/MU) 1/M E: (20) M: (18) 033626,000716: 033627,000717: # Page 766 033628,000718: 34,3652 BANK 34 033629,000719: 26,2000 SETLOC P60S2 033630,000720: 26,2000 BANK 033631,000721: 033632,000722: 26,2650 COUNT* $$/S61.2 033633,000723: # PDL LEFT AT ZERO BY TARGETING 033634,000724: 033635,000725: 26,2650 45345 S61.2 DLOAD DSU 033636,000726: 26,2651 02020 EMSALT 033637,000727: 26,2652 15000 290KFT 033638,000728: 26,2653 71244 BPL DLOAD 033639,000729: 26,2654 54774 LUNENT 033640,000730: 26,2655 17345 1/RTMU # ESTABLISH MU FOR ORBITAL ENTRIES 033641,000731: 26,2656 77624 CALLCON CALL 033642,000732: 26,2657 56750 TFFCONIC # FILL VAC AREA WITH CONIC PARAMETERS 033643,000733: 033644,000734: 26,2660 45145 DLOAD CALL 033645,000735: 26,2661 15020 RTRIAL # 1ST GUESS AT TERMINAL RADIUS (-29) 033646,000736: 26,2662 57060 CALCTFF # SAVES MPAC IN RTERM (18D) 033647,000737: 033648,000738: 26,2663 77624 CALL # CALC SDELF/2, CDELF/2 033649,000739: 26,2664 56573 TFF/TRIG # RETURN WITH S(THETA) IN MPAC 033650,000740: 033651,000741: 26,2665 77624 CALL # GET FISCHER RADIUS (-29) M 033652,000742: 26,2666 55027 FISHCALC # ANS IN MPAC AND IN ERADM 033653,000743: 033654,000744: 26,2667 45015 DAD CALL 033655,000745: 26,2670 02020 EMSALT 033656,000746: 26,2671 57060 CALCTFF # SAVES MPAC IN RTERM (18D) 033657,000747: 033658,000748: 26,2672 77676 DCOMP # NEGATIVE AS IN COUNTDOWN 033659,000749: 26,2673 03733 STORE TTE1 # DECR TTE FROM BASB TTE1. (RESTART) 033660,000750: # DNLIST AND DSKY WILL USE TTE. 033661,000751: 26,2674 37727 STCALL TTE # LET MISS CONTRL DECR BY ELAPSED TIME 033662,000752: # TTE= TIME FROM NOW TO EMSALT +FISCHER 033663,000753: 033664,000754: 26,2675 56573 TFF/TRIG # S(THETA) IN MPAC ON RETURNING 033665,000755: # AND THETA= RANGE FROM NOW TO EMSALT 033666,000756: 033667,000757: 26,2676 77624 CALL 033668,000758: 26,2677 55027 FISHCALC 033669,000759: 26,2700 77624 CALL 033670,000760: 26,2701 56626 VRCALC 033671,000761: 26,2702 77624 CALL 033672,000762: 26,2703 56613 DISPTARG 033673,000763: 26,2704 77624 CALL 033674,000764: 26,2705 56613 DISPTARG 033675,000765: 26,2706 37714 STCALL RTGO 033676,000766: # Page 767 033677,000767: 26,2707 55050 VGAMCALC 033678,000768: 033679,000769: 26,2710 77605 DMP # MPAC = GAMMA 033680,000770: # PDL0 HAS VGAM. 033681,000771: 26,2711 43265 BDDV DAD 033682,000772: 26,2712 15026 VEMSCON # -HS D 180/PI (-14) 033683,000773: 26,2713 00001 0 # VGAM FROM PDL0 033684,000774: 26,2714 17725 STODL VIO # PREDICTED VELOCITY AT EMSALT. 033685,000775: # GAMMA AND VGAM AT 300K FT ARE REQUIRED BY GMAX 033686,000776: # ALGORITHM. 033687,000777: 26,2715 02241 ERADM # EARTH RADIUS FROM GETERAD (-29) M 033688,000778: # = FISCHER RADIUS (-29) 033689,000779: 033690,000780: 26,2716 77615 DAD 033691,000781: 26,2717 06462 300KFT # M (-29) 033692,000782: 26,2720 34023 STCALL RTERM # TERMINAL RADIUS M (-29) 033693,000783: 26,2721 55045 PREVGAM # VGAMCALC WITH NEW RTERM 033694,000784: # VBAR = (V(FPS) - 36KF/S) / 20 F/S 033695,000785: 033696,000786: # GMAX = (4/(1 + 4.8 VBARSQ))(GAM - 6.05 - 2.4 VBARSQ) - 10(L/D - .3) + 10 ASSUME L/D = 0.3, BANK =0. 033697,000787: # GMAXCALC 033698,000788: 033699,000789: 26,2722 45325 PDDL DSU # GAM TO PDL2 033700,000790: 26,2723 00001 0 # VGAM IS IN PDL0 (-7) 033701,000791: 26,2724 15004 36KFT/S # (-7) M/CS 033702,000792: 26,2725 63471 DDV DSQ 033703,000793: 26,2726 15006 20KFT/S # (-6) M/CS 033704,000794: 26,2727 00001 STORE 0 # VBARSQ (-2) TO PDL0 033705,000795: 033706,000796: 26,2730 43205 DMP DAD 033707,000797: 26,2731 15010 KR1 033708,000798: # GAM, POS DOWN, FROM PDL2 033709,000799: 26,2732 41215 DAD DMP 033710,000800: 26,2733 15012 -6.05DEG 033711,000801: 26,2734 15014 KR2 033712,000802: 26,2735 77725 PDDL # XCH PDL+0 FOR VBARSQ (-2) 033713,000803: 26,2736 43271 DDV DAD 033714,000804: 26,2737 15024 KR4 033715,000805: 26,2740 17357 DP2(-4) 033716,000806: 26,2741 77665 BDDV 033717,000807: # NUM FROM PDL+0 033718,000808: 26,2742 51015 DAD BPL 033719,000809: 26,2743 15016 KR3 033720,000810: 26,2744 54747 +3 033721,000811: 26,2745 77745 DLOAD 033722,000812: 26,2746 15332 HI6ZEROS 033723,000813: 26,2747 17722 STODL GMAX # 100 GMAX (-14) 033724,000814: # Page 768 033725,000815: # DISPLAY USES GMAX AS SP, SO LO WORD IS WRITTEN OVER BY VPRED. 033726,000816: 26,2750 02241 ERADM # = FISCHER RADIUS (-29) M 033727,000817: 26,2751 45015 DAD CALL # 2 ND ITERATION FOR FISCHER RADIUS 033728,000818: 26,2752 15022 400KFT 033729,000819: 26,2753 57060 CALCTFF # ESTABLISH TRANSFER ANGLE DATA. 033730,000820: 26,2754 77624 CALL 033731,000821: 26,2755 56573 TFF/TRIG # GET SIN, COS DELF 033732,000822: 26,2756 77624 CALL 033733,000823: 26,2757 55027 FISHCALC # GET CORRESPONDING FISCHER RADIUS. 033734,000824: 033735,000825: 26,2760 73015 DAD LXA,2 # SAVE HI-WORD FOR DOWNLIST. 033736,000826: 26,2761 15022 400KFT # M (-29) 033737,000827: 26,2762 03713 RTGO # (RANGE ANGLE FROM EMSALT) / 360 033738,000828: 26,2763 34023 STCALL RTERM 033739,000829: 26,2764 55045 PREVGAM # VGAMCALC WITH NEW RTERM 033740,000830: 033741,000831: 26,2765 67076 DCOMP SXA,2 # HI-WORD OF EACH ON DOWNLIST. 033742,000832: 26,2766 00155 MPAC +1 033743,000833: 26,2767 17771 STODL GAMMAEI # CONIC GAMMA/360 AT 400K FT. (HI-WORD) 033744,000834: # CONIC RTGO/360 FROM EMSALT (LOW-WORD) 033745,000835: # FOR TM, DP(GAMMAEI) = (GAMMA, RTGO) / 360 033746,000836: 033747,000837: # VGAM FROM PDL+0 (-7) 033748,000838: 26,2770 77626 STADR 033749,000839: 26,2771 74010 STORE VPRED # CONIC VELOCITY AT 400K FT 033750,000840: 033751,000841: 26,2772 77634 RTB 033752,000842: 26,2773 54267 P61.1 033753,000843: # PDL BACK TO ZERO. 033754,000844: 033755,000845: 26,2774 52145 LUNENT DLOAD GOTO 033756,000846: 26,2775 06456 1/RTMUE # ESTABLISH MU FOR LUNAR TYPE ENTRIES 033757,000847: 26,2776 54656 CALLCON 033758,000848: 033759,000849: 26,2777 00002 26244 290KFT 2DEC 88392 B-29 033760,000850: 26,3001 00052 05716 KTETA1 2DEC* .421844723 E2 B-14* # 110 2PI/16384(163.84) 033761,000851: 26,3003 33335 05707 36KFT/S 2DEC 109.728 B-7 # (-7) M/CS = 36 KFT/S (-7) 033762,000852: 26,3005 36365 30244 20KFT/S 2DEC 121.92 B-7 # (-6) M/CS = 2 20KFT/S (-7) 033763,000853: 26,3007 77113 42770 KR1 2DEC -.026666667 # = -2.4 4 / 360 033764,000854: 26,3011 77354 65030 -6.05DEG 2DEC -.016805556 # = -6.05 / 360 033765,000855: 26,3013 21450 00001 KR2 2DEC .54931641 # = (360/4) 100 (-14) = 9000 B-14 033766,000856: 26,3015 01750 00000 KR3 2DEC 1000 B-14 # = 100 (10.0) (-14) O,S 033767,000857: # Page 769 033768,000858: # ASSUMES L/D = 0.3, BANK =0. 033769,000859: 26,3017 00305 04541 RTRIAL 2DEC 6460097.16 B-29 # RPAD +264643 FT =21 194 545 FT 033770,000860: # RPAD DEFINED AS 20 909 901.57 FT =6 373 336 M 033771,000861: 26,3021 00003 27040 400KFT 2DEC 121920 B-29 # METERS 033772,000862: 033773,000863: # 300KFT 2DEC 91440 B-29 # (-29) M 033774,000864: # EMSALT 2DEC 86759.2 B-29 # 284643 FT (-29) M (ORBITAL REENTRY) 033775,000865: # EMSALT 2DEC 90657 B-29 # 297431 FT (-29) M (LUNAR REENTRY) 033776,000866: 033777,000867: 26,3023 32525 12525 KR4 2DEC .833333333 033778,000868: 26,3025 23,2461 300KFT EQUALS MINPERE 033779,000869: 26,3025 77777 76601 VEMSCON 2DEC -.0389676 B-14 # = -HS D / 2 PI (-14) M SQ / CS SQ 033780,000870: # = -16369 .05G 32.2 .3048 .3048/2 PI (-14) 033781,000871: 033782,000872: # Page 770 033783,000873: # SUBROUTINE NAME: FISHCALC (USED BY S61.2) DATE: 01.21.67 033784,000874: # MOD NO: 0 LOG SECTION: P61-P67 033785,000875: # MOD BY: NORTH / BAIRNSFATHER 033786,000876: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 11 MAY 67 INCLUDE GETERAD CALL 033787,000877: 033788,000878: # FUNCTIONAL DESCRIPTION: TIVEN TEH PRESENT POSITION, UNITR, CALCULATE A NEW UNITR THAT IS ROTATED THROUGH 033789,000879: # TRANSFER ANGLE, THETA, ALONG THE TRAJECTORY. THEN CALCULATE SIN(LAT) AND USE TO OBTAIN FISCHER RADIUS. 033790,000880: # SINCE FISHCALC USED UNIT (LEFT BY ENTRY) EARTH SCALING IS ASSUMED. (WILL IMPROVE FOR SUITABLE TENNANT) 033791,000881: 033792,000882: # CALLING SEQUENCE: CALL 033793,000883: # FISHCALC 033794,000884: # ENTER WITH .5 SIN(THETA) IN MPAC. 033795,000885: # PUSHLOC IS AT PDL+0, AN ARBITRARY BASE VALUE IF LEQ 8D 033796,000886: 033797,000887: # SUBROUTINES CALLED: GET ERAD 033798,000888: 033799,000889: # NORMAL EXIT MODE: RVQ 033800,000890: 033801,000891: # EXIT MODES: NONE 033802,000892: 033803,000893: # OUTPUT: ERADM (-29) M IN MPAC ON RETURNING 033804,000894: # NEW UNIT VECTOR NOT SAVED. 033805,000895: # SIN(LAT) NOT SAVED. 033806,000896: # PUSHLOC AT PDL+0 033807,000897: 033808,000898: # ERASABLE INITIALIZATION REQUIRED: 033809,000899: # SDELF/2 =SIN(THETA) / 2, IN MPAC LEFT BY TFF/TRIG(?) 033810,000900: # CDELF/2 =COS(THETA) / 2, STORED IN PDL 14D LEFT BY TFF/TRIG(?) 033811,000901: # RONE (-29) M LEFT BY USER(?) 033812,000902: # VONE (-7) M/CS LEFT BY USER(?) 033813,000903: # URONE UR/2 LEFT BY USER(?) 033814,000904: # UNI .5 UNIT(V*R) LEFT BY (?) / P61 033815,000905: # UNITW UNIT NORTH POLE LEFT BY (?) LOAD 033816,000906: 033817,000907: # DEBRIS: QPRET, PDL+0 ... PDL+5 033818,000908: # _ _ _ 033819,000909: 26,3027 47315 FISHCALC PDVL VXV # URPR = UR CDELF + UHOR SDELF 033820,000910: 26,3030 02343 URONE 033821,000911: 26,3031 03502 UNI 033822,000912: 26,3032 76561 VXSC VSL1 033823,000913: # SIN(THETA) / 2 FROM PDL+0 033824,000914: 26,3033 74315 PDVL VXSC # TO PDL+0, (garbled) 033825,000915: 26,3034 02343 URONE 033826,000916: 26,3035 00017 CDELF/2 # COS(THETA) / 2 033827,000917: 26,3036 45455 VAD STADR 033828,000918: 26,3037 74235 STORE URH # FOR USE IN (?) FROM EMS DISPLAY 033829,000919: 26,3040 72441 DOT SL1 033830,000920: 26,3041 01714 UNITW # PULL UNIT VECTOR UNIT NORTH 033831,000921: 26,3042 02156 STORE ALPHAV +4 # = .5 (garbled) 033832,000922: 26,3043 77650 DUMPFISH GOTO 033833,000923: 26,3044 26437 GETERAD # SAVES FISCHER RAD (-29) M IN ERADM AND 033834,000924: # IN MPAC. RETURNS TO CALLER VIO QPRET. 033835,000925: 033836,000926: # Page 771 033837,000927: # SUBROUTINE NAME: VGAMCALC (USED BY S61.2) DATE: 01.21.67 033838,000928: # MOD NO: 0 LOG SECTION: P61-P67 033839,000929: # MOD BY: NORTH / BAIRNSFATHER 033840,000930: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 11 APR 67 033841,000931: # MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 21 NOV 67 VARIABLE MU ADDED. 033842,000932: # MOD NO: 3 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 68 ACCEPT DIFFERENT EARTH/MOON SCALE 033843,000933: 033844,000934: # FUNCTONAL DESCRIPTION: EARTH CENTERED VIS VIVA CALCULATION OF TERMINAL VELOCITY AND GAMMA (REL TO 033845,000935: # HORIZONTAL) GIVEN THE SCALAR QUANTITIES: PRESENT RADIUS AND VELOCITY AND THE TERMINAL RADIUS. 033846,000936: # THE USER MUST APPEND PROPER SIGN TO GAMMA, SINCE IT IS CALCULATED AS A POSITIVE NUMBER. 033847,000937: # THE EQUATIONS ARE 033848,000938: 033849,000939: # VGAM = SQRT(VN VN/MU + 2(RN-RTERM)/(RN RTERM) ) RTMU 033850,000940: 033851,000941: # COSGAM = H / RTERM VGAM = SQRT (LCP) / (RTERM VGAM/RTMU) 033852,000942: 033853,000943: # VGAMCALC ASSUMES THAT THE TERMINAL RADIUS IS LESS THAN THE PRESENT RADIUS. BOTH CALCTFF AND CALCTPER 033854,000944: # MAKE THIS ASSUMPTION. 033855,000945: 033856,000946: # CALLING SEQUENCE: CALL STCALL RTERM 033857,000947: # VGAMCALC PREVGAM 033858,000948: # PUSHLOC AT PDL+0, ARBITRARY IF LEQ 12D 033859,000949: # C(MPAC) UNSPECIFIED C(MPAC)=NEW RTERM 033860,000950: 033861,000951: # SUBROUTINES CALLED: NONE 033862,000952: 033863,000953: # NORMAL EXIT MODE: RVQ 033864,000954: 033865,000955: # ALARMS: NONE 033866,000956: # 033867,000957: # OUTPUT: GAMMA / 360 IN MPAC, POSITIVE NUMBER 033868,000958: # VGAM E: (-7) M: (-5) M/CS IN PDL+0 033869,000959: # PUSHLOC AT PDL+2 033870,000960: 033871,000961: # ERASABLE INITIALIZATION REQD: 033872,000962: # TFF/RTMU E: (17) M: (14) 1/SQRT(MU) LEFT BY TFFCONIC 033873,000963: # RMAG1 E: (-29) M: (-27) M PRESENT RADIUS LENGTH LEFT BY TFFCONIC 033874,000964: # NRMAG E: (-29+NR) M NORM LENGTH OF PRESENT POSITION LEFT BY TFFCONIC 033875,000965: # M: (-27+NR) 033876,000966: # RTERM E: (-29) M: (-27) M TERMINAL RADIUS LENGHT LEFT BY CALCTFF 033877,000967: # NRTERM E: (-29+NR) M NORM LENGTH OF TERMINAL RADIUS LEFT BY CALCTFF 033878,000968: # M: (-27+NR) 033879,000969: # TFFVSQ E: (20) M: (18) 1/M -(V SQ/MU): PRESENT VELOCITY, NORM LEFT BY TFFCONIC 033880,000970: # TFFNP E: (-38+2NR) M LCP, SEMI-LATUS RECTUM, WEIGHT NR LEFT BY TFFCONIC 033881,000971: # M: (-36+2NR) 033882,000972: 033883,000973: # DEBRIS: QPRET, PDL+0 ... PDL+3 033884,000974: # RTERM, NRTERM IF PREVGAM ENTERED. 033885,000975: # Page 772 033886,000976: 033887,000977: 26,3045 77657 PREVGAM SL* # ENTER WITH NEW RTERM IN MPAC 033888,000978: # E: (-29) M: (-27) 033889,000979: 26,3046 20201 0,1 # X1 = -NR 033890,000980: 26,3047 00021 STORE NRTERM # RTERM M E: (-29+NR) M: (-27+NR) 033891,000981: 26,3050 41345 VGAMCALC DLOAD DMP 033892,000982: 26,3051 00041 NRMAG # RMAG M E: (-29+NR) M: (-27+NR) 033893,000983: 26,3052 00021 NRTERM # RTERM M E: (-29+NR) M: (-27+NR) 033894,000984: 26,3053 45325 PDDL DSU # RMAG RTERM M E: (-58+2NR) M: (-54+2NR) 033895,000985: 26,3054 00041 NRMAG # RMAG M E: (-29+NR) M: (-27+NR) 033896,000986: 26,3055 00021 NRTERM # RTERM M E: (-29+NR) M: (-27+NR) 033897,000987: 26,3056 56257 SL* DDV # 2(RN-RTERM) E: (-30+NR) M: (-28+NR) 033898,000988: 26,3057 20171 0 -8D,1 # (-8+NR) 033899,000989: # PUSH UP PRODUCT. 033900,000990: 033901,000991: 26,3060 77625 DSU 033902,000992: 26,3061 00025 TFFVSQ # -(V SQ/MU) E: (20) M: (18) 033903,000993: 26,3062 41566 SQRT PUSH # SAVE VGAM/RT(MU) FOR NOW. E: (10) M: (9) 033904,000994: 26,3063 65271 DDV PDDL # XCH PDL+0, LEAVING VGAM FOR OUTPUT. 033905,000995: # VGAM TO PDL M/CS E: (-7) M: (-2) 033906,000996: 26,3064 00037 TFF/RTMU # E: (17) M: (14) 033907,000997: 26,3065 65205 DMP PDDL # RTERM VGAM/RTMU E: (-19+NR) M: (-18+NR) 033908,000998: 26,3066 00021 NRTERM # RTERM M E: (-29+NR) M: (-27+NR) 033909,000999: 26,3067 00035 TFFNP # LC P =H.H/MU M E: (-38+2NR) M: (-36+2NR) 033910,001000: 26,3070 56366 SQRT DDV # E: (-19+NR) M: (-18+NR) 033911,001001: # PUSH UP DEN E: (-19+NR) M: (-18+NR) 033912,001002: # USE DDV OVFL AS LIMITER (|COS| <1.0) 033913,001003: 26,3071 65542 SR1 ACOS 033914,001004: 26,3072 77616 DUMPVGAM RVQ 033915,001005: # CALLER MUST SUPPLY OWN SIGN ... 033916,001006: # 22W 27MS 033917,001007: 033918,001008: # Page 773 033919,001009: # SUBROUTINE NAME: TFF/TRIG (USED BY S61.2) DATE: 01.17.67 033920,001010: # MOD NO: 0 LOG SECTION: P61-P67 033921,001011: # MOD BY: RR BAIRNSFATHER 033922,001012: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 14 APR 67 033923,001013: # MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 68 ACCEPT DIFFERENT EARTH/MOON SCALE 033924,001014: 033925,001015: # FUNCTIONAL DESCRIPTION: USED BY ENTRY DISPLAY TO CALCULATE SIN(THETA), COS(THETA) FROM DATA LEFT IN 033926,001016: # PDL BY TFF SUBROUTINES. THE EQNS ARE 033927,001017: 033928,001018: # COS(THETA) = 1-2 ABS(ARG) / (RN RTERM (1+X) ) 033929,001019: # 2 033930,001020: # SIN(THETA) = SGN(ARG) SQRT(1-COS (THETA) ) 033931,001021: 033932,001022: # WHERE THETA = TRANSFER ANGLE 033933,001023: # AND ARG = P Z ABS(Z) IF ALFA ZZ LEQ 1 033934,001024: # ARG = (P / ALFA) SGN(Q1 + R 1/Z) IF ALFA Z Z G 1 033935,001025: # AND ARG HAS BEEN AFFIXED WITH THE SIGN OF SIN(THETA) 033936,001026: 033937,001027: # CALLING SEQUENCE: CALL 033938,001028: # TFF/TRIG 033939,001029: # PUSHLOC AT PDL+0, ARBITRARY IF NOT EQ 14D 033940,001030: # C(MPAC) UNSPECIFIED 033941,001031: 033942,001032: # SUBROUTINES CALLED: NONE 033943,001033: 033944,001034: # NORMAL EXIT MODES: RVQ 033945,001035: 033946,001036: # ALARMS: NONE 033947,001037: 033948,001038: # OUTPUT: C(MPAC) = .5 SIN(THETA) 033949,001039: # CDELF/2 = .5 COS(THETA) (IN PDL 14D) 033950,001040: # PUSHLOC AT PDL+0 033951,001041: 033952,001042: # ERASABLE INITIALIZATION REQUIRED: 033953,001043: # TFFX X LEFT BY CALCTFF OR CALCTPER 033954,001044: # TFFTEM E: (-59+2NR) ARG LEFT BY CALCTFF OR CALCTPER 033955,001045: # M: (-55+2NR) WHERE ARG = LCF ZZ SGN(DELF) OR ARG = LCP/ALFA SGN(DELF) 033956,001046: # NRTERM E: (-29+NR) M NORM LENGTH OF TERMINAL RADIUS LEFT BY CALCTFF OR CALCTPER 033957,001047: # M: (-27+NR) 033958,001048: # NRMAG E: (-29+NR) M NORM LENGTH OF PRESENT POSITION LEFT BY TFFCONIC 033959,001049: # M: (-27+NR) 033960,001050: 033961,001051: # DEBRIS: QPRET, CDELF/2 033962,001052: 033963,001053: 27,2573 BANK 27 033964,001054: 27,2000 SETLOC P60S5 033965,001055: 27,2000 BANK 033966,001056: 27,2573 70545 TFF/TRIG DLOAD SR1 033967,001057: 27,2574 00043 TFFX 033968,001058: 27,2575 41215 DAD DMP 033969,001059: 27,2576 15330 HIDPHALF 033970,001060: 27,2577 00041 NRMAG # RMAG M E: (-29+NR) M: (-27+NR) 033971,001061: 27,2600 55205 DMP BDDV 033972,001062: 27,2601 00021 NRTERM # RTERM M E: (-29+NR) M: (-27+NR) 033973,001063: 27,2602 00045 TFFTEM # P ZSQ OR P/ALFA E: (-59+2NR) M: (-55+2NR) 033974,001064: 27,2603 44246 ABS BDSU # THE SIGN IS FOR SDELF. 033975,001065: 27,2604 15330 HIDPHALF 033976,001066: 27,2605 00017 STORE CDELF/2 # .5 COS(THETA) 033977,001067: 27,2606 57516 DSQ DCOMP # KEEP HONEST FOR SQRT. 033978,001068: # Page 774 033979,001069: 27,2607 75415 DAD SQRT 033980,001070: 27,2610 15322 HIDP1/4 033981,001071: 27,2611 43565 DUMPTRIG SIGN RVQ 033982,001072: 27,2612 00045 TFFTEM # AFFIX SIGN(DELE/2) 033983,001073: # RETURN WITH .5 SIN(THETA) IN MPAC 033984,001074: # 16W 15MS 033985,001075: 033986,001076: 27,2613 77620 DISPTARG STQ # C(MPAC = TRGO ESTIMATE 033987,001077: 27,2614 03373 60GENRET 033988,001078: 27,2615 45205 DMP DSU 033989,001079: 27,2616 15002 KTETA1 033990,001080: 27,2617 03733 TTE1 033991,001081: 27,2620 37606 STCALL DTEAROT 033992,001082: 27,2621 46225 EARROT2 033993,001083: 27,2622 77624 CALL 033994,001084: 27,2623 56626 VRCALC 033995,001085: 27,2624 77650 GOTO 033996,001086: 27,2625 03373 60GENRET 033997,001087: 27,2626 50375 VRCALC VLOAD DOT 033998,001088: 27,2627 03542 URH 033999,001089: 27,2630 03474 RT 034000,001090: 27,2631 65512 SL2 ACOS 034001,001091: 27,2632 77616 RVQ 034002,001092: 034003,001093: # END OF PROGRAM S61.2 034004,001094: # PROGRAM DESCRIPTION S62.3 DATE 10JAN67 034005,001095: # MOD NO 1: LOG SECTION P60-P67 034006,001096: # MOD BY ZELDIN 034007,001097: # MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 15 MAY 67 CHANGED TO REF COORDS. 034008,001098: # MOD NO: 3 MOD BY: RR BAIRNSFATHER DATE: 17 JAN 68 ALFAPAD CHANGES MADE. 034009,001099: 034010,001100: # FUNCTIONAL DESCRIPTION 034011,001101: 034012,001102: # COMPUTE DESIRED GIMBAL ANGLES FOR ENTRY ATTITUDE 034013,001103: # THE FOLLOWING TRAJECTORY TRIAD IS AVAILABLE IN MEMORY AND IS COMPUTED EACH 2 SECONDS BY CM/POSE IN 034014,001104: # REFERENCE COORDINATES (V = VELOCITY RELATIVE TO EARTH): 034015,001105: 034016,001106: # UXA = -UNIT(V) 034017,001107: # UYA = UNIT(V*R) 034018,001108: # UZA = UXA*UYA 034019,001109: 034020,001110: # GENERATE A DESIRED BODY TRIAD FOR TRIMMED FLIGHT WITH RESPECT TO THE RELATIVE VELOCITY VECTOR, USING 034021,001111: # ROLL COMMAND AND TRIM ANGLE OF ATTACK: 034022,001112: 034023,001113: # UXD = UNIT(UYD*UXA) SIN(ALFATRIM) + UXA COS(ALFATRIM) 034024,001114: # UYD = UYA COS(ROLLC) + UZA SIN(ROLLC) 034025,001115: # UZD = UXD * UYD 034026,001116: 034027,001117: # USE THE DESIRED SET (IN REFERENCE COORDS) AND REFSMMAT TO CALL CALCGA AND OBTAIN GIMBAL ANGLES 034028,001118: # IN 2S, C IN MPAC, +2 AND THETAD, +2. 034029,001119: 034030,001120: # CALLING SEQUENCE 034031,001121: 034032,001122: # L CALL 034033,001123: # L+1 S62.3 034034,001124: 034035,001125: # NORMAL EXIT MODE 034036,001126: 034037,001127: # RETURN VIA QPRET DIRECTLY FROM CALCGA. 034038,001128: 034039,001129: # SUBROUTINES CALLED 034040,001130: 034041,001131: # CALCGA 034042,001132: 034043,001133: # ALARM OR ABORT MODES 034044,001134: 034045,001135: # NONE 034046,001136: 034047,001137: # ERASABLE INITIALIZATION REQUIRED 034048,001138: 034049,001139: # ROLLC ROLL COMMAND DP 1'S COMP AT 1REV 034050,001140: # ALFAPAD SP 1'S C / 180 LEFT BY PAD LOAD ALFATRIM IS NEGATIVE. 034051,001141: # UXA/2 REF COORDS LEFT BY CM/POSE 034052,001142: # UYA/2 REF COORDS LEFT BY CM/POSE 034053,001143: # UZA/2 REF COORDS LEFT BY CM/POSE 034054,001144: 034055,001145: # OUTPUT 034056,001146: # 034057,001147: # CPHI GIMBAL ANGLES (O,I.M) 2'S COMP TP (O,I.M)/180 034058,001148: 034059,001149: # DEBRIS 034060,001150: 034061,001151: # QTEMP, QPRET, PUSHLIST 034062,001152: 034063,001153: 10,2302 BANK 10 034064,001154: 10,2000 SETLOC P60S4 034065,001155: 10,2000 BANK 034066,001156: # Page 776 034067,001157: 10,2302 COUNT* $$/S62.3 034068,001158: 034069,001159: 10,2302 67201 S62.3 SETPD SLOAD 034070,001160: 10,2303 00001 0 034071,001161: 10,2304 03012 ALFAPAD # ALFATRIM / 180, ALFA IS NEG. 034072,001162: 10,2305 41542 SR1 PUSH 034073,001163: 10,2306 65346 COS PDDL # XCH PDL, COS TO PDL0 034074,001164: 10,2307 65356 SIN PDDL # SIN TO PDL2 034075,001165: 10,2310 03316 ROLLC 034076,001166: 10,2311 74346 COS VXSC 034077,001167: 10,2312 03550 UYA/2 # REF COORDS 034078,001168: 10,2313 73525 PDDL SIN # PUSH VECTOR INTO PDL4...9 034079,001169: 10,2314 03316 ROLLC 034080,001170: 10,2315 53361 VXSC VAD 034081,001171: 10,2316 03556 UZA/2 # REF COORDS 034082,001172: # VECTOR FROM PDL4...9 034083,001173: 10,2317 77772 VSL1 034084,001174: 10,2320 02722 STORE YNB # = UYD REF COORDS 034085,001175: 034086,001176: 10,2321 76435 VXV VSL1 034087,001177: 10,2322 03542 UXA/2 # REF COORDS 034088,001178: 10,2323 65361 VXSC PDDL 034089,001179: # SIN TRIM FROM PDL2 034090,001180: # XCH PDL0 FOR COS TRIM 034091,001181: 10,2324 53361 VXSC VAD 034092,001182: 10,2325 03542 UXA/2 # REF COORDS 034093,001183: # FROM PDL0 034094,001184: 10,2326 77772 VSL1 034095,001185: 10,2327 02714 STORE XNB # X SC AXIS (.5 UNIT) REF COORDS 034096,001186: 034097,001187: 10,2330 76435 VXV VSL1 034098,001188: 10,2331 02722 YNB 034099,001189: 10,2332 26730 STOVL ZNB # Z SC IN REF COOR. SCALED AT 2 034100,001190: 10,2333 01736 REFSMMAT 034101,001191: 10,2334 26672 STOVL XSM 034102,001192: 10,2335 01744 REFSMMAT +6 034103,001193: 10,2336 26700 STOVL YSM 034104,001194: 10,2337 01752 REFSMMAT +12D 034105,001195: 10,2340 02706 STORE ZSM 034106,001196: 034107,001197: 10,2341 52014 CLEAR GOTO 034108,001198: 10,2342 00260 CPHIFLAG # CAUSE CALCGA TO STORE ANS IN TP CPHI 034109,001199: 10,2343 47244 CALCGA 034110,001200: # CALCGA WILL RETURN TO ORIGINAL CALLER 034111,001201: # VIA QPRET WITH 2'S COMP. ANGLES IN CPHI 034112,001202: 034113,001203: 034114,001204: End of include-file P61-P67.agc. Parent file is MAIN.agc