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