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