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