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