Source Code
These source-code files are part of a reconstructed copy of Comanche 72/3 (AKA Manche72 revision 3),
the final, flown mission release of the Apollo Guidance Computer (AGC) Command Module (CM) software
for Apollo 13.
The starting point was the source code of Comanche 72 (itself previously reconstructed). Comanche 72 source code was then modified by incorporating changes known from contemporary documentation to have been made between revisions 72 and 72/3. The resulting code assembles to have identical memory-bank checksums as those specified in NASA drawing 2021153G; this gives reasonably high confidence that the changes that have been made are correct. In places where ambiguity exists, this ambiguity is discussed in "## Reconstruction:" comments. Since no contemporary listings of Comanche 72/3 are available as source material, all comments and labels are approximate. They have been taken from other AGC programs where possible, or, in some places, written from scratch to match what we believe would have been in the original listing. |
033966,000002: ## Copyright: Public domain.
033967,000003: ## Filename: P61-P67.agc
033968,000004: ## Purpose: A section of Manche72 revision 3.
033969,000005: ## It is part of the reconstructed source code for the final, flown
033970,000006: ## release of the software for the Command Module's (CM) Apollo
033971,000007: ## Guidance Computer (AGC) for Apollo 13. No original listings
033972,000008: ## of this program are available; instead, this file was recreated
033973,000009: ## from a reconstructed copy of Comanche 072. It has been adapted
033974,000010: ## such that the resulting bugger words exactly match those
033975,000011: ## specified for Manche72 revision 3 in NASA drawing 2021153G,
033976,000012: ## which gives relatively high confidence that the reconstruction
033977,000013: ## is correct.
033978,000014: ## Assembler: yaYUL
033979,000015: ## Contact: Ron Burkey <info@sandroid.org>.
033980,000016: ## Website: www.ibiblio.org/apollo/index.html
033981,000017: ## Mod history: 2024-05-19 MAS Created from Comanche 072.
033982,000018:
033983,000019: # PROGRAM: P61
033984,000020: # MOD NO.: 0 MAR. 13, 1967
033985,000021: # MOD BY: R. HIRSCHKOP
033986,000022: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 22 JUN 67 RESTARTS.
033987,000023: # MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 17 JAN 68 COLOSSUS GSOP CHANGES.
033988,000024: # MOD NO: 3 MOD BY: RR BAIRNSFATHER DATE: 8 MAY 68 DELETE CMSM MANEUVER (PCR 50)
033989,000025: # MOD NO: 4 MOD BY: RR BAIRNSFATHER DATE: 1 JUL 69 PCR 787: TICK TTE
033990,000026: # FUNCTION: TO CALCULATE AND DISPLAY EMS INITIALIZATION DATA
033991,000027: # CALLING SEQUENCE- BY V37
033992,000028: # EXIT- TO P62
033993,000029: # SUBROUTINE CALLS- S61.1, S61.3, GOFLASH, FLAGUP, R02BOTH
033994,000030: # ERASABLE INITIALIZATION:
033995,000031: # EMSALT (-29) M .05G ALTITUDE ABOVE FISCHER ELLIPSOID PAD LOADED.
033996,000032: # ALFAPAD /180 HYPERSONIC CM TRIM ANGLE OF ATTACK PAD LOADED
033997,000033: # OUTPUT: THE FOLLOWING REGISTERS ARE WRITTEN IN FOR USE BY DISPLAYS
033998,000034: # GMAX 100 GMAX (-14) G,S MAXIMUM ACCELERATION
033999,000035: # VPRED (-7) M/CS PREDICTED VELOCITY AT 400K FT
034000,000036: # GAMMAEI GAMMA/360 PREDICTED GAMMA AT 400K FT
034001,000037: # RTGO THETAH/360 RANGE ANGLE TO SPLASH FROM EMSALT EMSALT IS PAD LOADED
034002,000038: # VIO (-7) M/CS INERTIAL VELOCITY AT EMSALT EMSALT IS PAD LOADED
034003,000039: # TTE (-28) CS TIME TO EMSALT EMSALT IS PAD LOADED
034004,000040: # LAT(SPL) /360 TARGET LOCATION LEFT BY DSKY
034005,000041: # LNG(SPL) /360 TARGET LOCATION LEFT BY DSKY
034006,000042: # HEADSUP (0) +1 = LIFT DOWN, -1 = LIFT UP LEFT BY DSKY
034007,000043: # DEBRIS: SEE SUBROUTINES.
034008,000044:
034009,000045: 26,2217 BANK 26
034010,000046: 26,2000 SETLOC P60S
034011,000047: 26,2000 BANK
034012,000048:
034013,000049: 26,2217 E6,1661 EBANK= AOG
034014,000050:
034015,000051: 26,2217 COUNT* $$/P61
034016,000052:
034017,000053: 26,2217 35016 P61 CA BIT14 # EXTENDED VERB SHOULD BE FREE THIS CLOSE
034018,000054: 26,2220 55044 TS EXTVBACT # TO V37
034019,000055: # LOCK OUT EXTENDED VERBS SO CAN USE TFF
034020,000056: # ROUTINES. EXT VERB ERASE IS USED
034021,000057:
034022,000058: 26,2221 45033 CS ONE # REMOVE IF HEADSUP EVER ON UPLINK DATA
034023,000059: 26,2222 55726 TS HEADSUP # PRELOAD
034024,000060:
034025,000061: 26,2223 02537 TC S61.1 # CHECK STATE VECTOR AND IMU ORIENTATION
034026,000062: # RV 60GENRET. DOES PHASCHNG, GROUP 4.
034027,000063:
034028,000064: 26,2224 32420 CA V06N61 # LAT(SPL) LNG(SPL) HEADSUP
034029,000065: # XXX.XX DEG XXX.XX DEG XXXXX.
034030,000066: 26,2225 04676 TC BANKCALL
034031,000067: 26,2226 21057 CADR GOFLASHR
034032,000068: 26,2227 04106 TC GOTOPOOH
034033,000069: 26,2230 02235 TC P61.4
034034,000070: 26,2231 02224 TC -5
034035,000071:
034036,000072: 26,2232 05426 P61.3 TC PHASCHNG
034037,000073: 26,2233 00014 OCT 00014
034038,000074:
034039,000075: 26,2234 05233 TC ENDOFJOB
034040,000076:
034041,000077: 26,2235 22007 P61.4 ZL
034042,000078: 26,2236 11726 CCS HEADSUP # C(HEADSUP)= +1/-1
034043,000079: 26,2237 35016 CA BIT14 # IF HEADSUP POS,ROLLC =180 DEG.(LIFT DWN)
034044,000080: 26,2240 12241 NOOP # IF HEADSUP NEG,ROLLC =0 (LIFT UP)
034045,000081: 26,2241 53716 DXCH ROLLC # ROLLC IS USED BY S62.3: GIM ANG AT .05G
034046,000082:
034047,000083: 26,2242 35016 AGIN,MON CA BIT14 # LOCK OUT EXTENDED VERBS.(REDUNDANT ON
034048,000084: 26,2243 55044 TS EXTVBACT # INITIAL PASS)
034049,000085:
034050,000086: 26,2244 06006 TC INTPRET
034051,000087: 26,2245 77745 NEWRNVN DLOAD
034052,000088: 26,2246 01205 PIPTIME # SAVE TIME OF RN,VN TO DETERMINE IF AN
034053,000089: 26,2247 37651 STCALL MM # UPDATE HAS OCCURRED
034054,000090: 26,2250 52063 STARTEN1 # INITIALIZE
034055,000091: 26,2251 43175 VLOAD CLEAR # 'TTE' WILL BE DECREMENTED UNTIL
034056,000092: 26,2252 01171 RN
034057,000093: 26,2253 03274 .05GSW # THE DRAG > 0.05 G .
034058,000094: # .05GSW SET =1 BY FRESH START.
034059,000095: 26,2254 02327 STORE RONE
034060,000096: 26,2255 77656 UNIT
034061,000097: 26,2256 26343 STOVL URONE
034062,000098: 26,2257 01177 VN
034063,000099: 26,2260 02335 STORE VONE
034064,000100: 26,2261 53435 VXV UNIT
034065,000101: 26,2262 02343 URONE
034066,000102: 26,2263 03502 STORE UNI
034067,000103: 26,2264 45345 DUMPP61 DLOAD DSU
034068,000104: 26,2265 03651 MM # INITIAL VALUE OF PIPTIME
034069,000105: 26,2266 01205 PIPTIME
034070,000106: 26,2267 45040 BMN CALRB
034071,000107: 26,2270 54245 NEWRNVN # UPDATED... GO TRY AGAIN
034072,000108: 26,2271 54644 S61.2 # GET DISPLAY DATA FOR N60 AND N63
034073,000109: # AND RETURN IN BASIC, BELOW.
034074,000110: 26,2272 05552 P61.1 TC CLEARMRK
034075,000111: 26,2273 32417 CA V06N60 # GMAX VPRED GAMMAEI
034076,000112: # XXX.XX G XXXXX. FPS XXX.XX DEG
034077,000113: 26,2274 04676 TC BANKCALL
034078,000114: 26,2275 20720 CADR GOFLASH
034079,000115:
034080,000116: 26,2276 04106 TC GOTOPOOH
034081,000117: 26,2277 02301 TC +2 # PROCEED
034082,000118: 26,2300 02273 TC -5
034083,000119:
034084,000120: # 'TICKTTE' DECREMENTS 'TTE' DISPLAY NOUN N63 AT A 2 SECOND RATE. 'TICKTTE' IS LOCATED IN 'SERVICER' AND
034085,000121: # OPERATES ONLY DURING P61 THROUGH P63. THUS N63 IS 'ON CALL' & ON ENTRY DOWNLIST THROUGH P63.
034086,000122: # 'TICKTTE' WILL GIVE PROPER ANSWER IN EVENT OF RESTART OR A RECYCLE VIA V32.
034087,000123:
034088,000124: 26,2301 32421 CA V16N63 # RTGO VIO TTE
034089,000125: # XXXX.X NM XXXXX. FPS XXBXX M,S
034090,000126: 26,2302 04676 TC BANKCALL
034091,000127: 26,2303 20720 CADR GOFLASH
034092,000128: 26,2304 04106 TC GOTOPOOH
034093,000129: 26,2305 02307 TC +2
034094,000130: 26,2306 02242 TC AGIN,MON # REDO CONIC CALC. ASSUME EXT VB INACTIVE
034095,000131:
034096,000132: # .... THEN FALL INTO P62
034097,000133:
034098,000134: # PROGRAM- P62
034099,000135: # MOD NO.- 0 MAR. 13, 1967
034100,000136: # MOD BY- R. HIRSCHKOP
034101,000137: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 67
034102,000138: # MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 22 JUN 67 RESTARTS.
034103,000139: # MOD NO: 3 MOD BY: RR BAIRNSFATHER DATE: 17 JAN 68 COLOSSUS GSOP CHANGES.
034104,000140: # MOD NO: 4 MOD BY: RR BAIRNSFATHER DATE: 8 MAY 68 MOVE START OF DESIRED GIMBAL CALC.
034105,000141: # FUNCTION- 1) TO NOTIFY CREW WHEN GNC SYSTEM IS PREPARED FOR CM/SM SEPARATION
034106,000142: # 2) TO ORIENT THE CM TO THE CORRECT ATTITUDE FOR ATMOSPHERIC ENTRY
034107,000143: # CALLING SEQUENCE- BY V37 OR DIRECTLY FROM P61
034108,000144: # EXIT- TO P63
034109,000145: # ERASABLE INITIALIZATION:
034110,000146: # ALFAPAD LEFT BY PAD LOAD
034111,000147: # LADPAD LEFT BY PAD LOAD
034112,000148: # LODPAD LEFT BY PAD LOAD
034113,000149: # LAT(SPL) (MAY BE CHANGED BELOW) LEFT BY DSKY, VIA P61
034114,000150: # LNG(SPL) (MAY BE CHANGED BELOW) LEFT BY DSKY, VIA P61
034115,000151: # HEADSUP (MAY BE CHANGED BELOW) LEFT BY DSKY, VIA P61
034116,000152: # SUBROUTINE CALLS: NEWMODEX, S61.1, CM/DAPIC, CM/DAPON, R02BOTH, GOPERF1, GOFLASH, GODSPR
034117,000153:
034118,000154: 26,2307 COUNT* $$/P62
034119,000155:
034120,000156: 26,2307 05370 TC NEWMODEX # MODE CHANGE IF CAME FROM P61.
034121,000157: 26,2310 00076 MM 62 B-14 # MODE CHANGE AUTOMATIC VIA V 37.
034122,000158: 26,2311 35033 CA ONE
034123,000159: 26,2312 54332 TS DNLSTCOD
034124,000160:
034125,000161: 26,2313 02537 P62 TC S61.1 # CHECK STATE VECTOR AND IMU ORIENTATION.
034126,000162:
034127,000163: 26,2314 06006 TC INTPRET
034128,000164: 26,2315 47131 SSP RTB
034129,000165: 26,2316 03325 POSEXIT
034130,000166: 26,2317 54374 P62.3 # CALCULATE DESIRED .05G GIMBAL ANGLES,
034131,000167: # WITHOUT DISPLAY.
034132,000168: 26,2320 41730 CM/DAPIC # START CM/POSE AND BODY RATE CALC
034133,000169:
034134,000170: # DOES 2PHSCHNG, OCT 40116, OCT 05024, OCT 13000.
034135,000171: # CM/DAPIC SETS EBANK = EBAOG
034136,000172: # AND RETURNS IN BASIC TO P62.2.
034137,000173: 26,2321 00006 P62.2 EXTEND
034138,000174: 26,2322 32425 DCA POSECADR # CONTINUE WITH CM/POSE AFTER AV G.
034139,000175: 26,2323 53223 DXCH AVEGEXIT
034140,000176:
034141,000177: 26,2324 34270 CAF OCT41 # REQUEST SEPARATION
034142,000178: 26,2325 04676 TC BANKCALL
034143,000179: 26,2326 21125 CADR GOPERF1R
034144,000180: 26,2327 04106 TC GOTOPOOH
034145,000181: 26,2330 02333 TC +3 # PROCEED
034146,000182: # NOTE: NODOFLAG WILL BE SET IN CM/DAPON. <<<
034147,000183: 26,2331 02324 TC -5 # ENTER
034148,000184: 26,2332 02232 TC P61.3 # FOR PHASCHNG AND ENDOFJOB.
034149,000185:
034150,000186: 26,2333 04715 +3 TC POSTJUMP
034151,000187: 26,2334 41650 CADR CM/DAPON # DISABLE RCS DAP, ENABLE ENTRY DAP AND
034152,000188: # DO ATTITUDE HOLD.
034153,000189:
034154,000190: # WILL IDLE UNTIL CM/POSE DOES ONE UPDATE.
034155,000191: # CM/DAPON DOES NO PHASCHNG.
034156,000192:
034157,000193: 26,2335 32420 P62.1 CA V06N61 # LAT(SPL) LNG(SPL) HEADSUP
034158,000194: # XXX.XX DEG XXX.XX DEG 0000X.
034159,000195:
034160,000196: # TERMINATE ATTITUDE HOLD. SET UP COMMANDS:
034161,000197: # ROLLC, ALFACOM, BETACOM. BEGIN MANUVER TO
034162,000198: # ENTRY ATTITUDE.
034163,000199:
034164,000200: 26,2336 04676 TC BANKCALL
034165,000201: 26,2337 20720 CADR GOFLASH
034166,000202: 26,2340 02335 TC -3
034167,000203: 26,2341 02343 TC +2
034168,000204: 26,2342 02335 TC -5
034169,000205:
034170,000206: 26,2343 05426 TC PHASCHNG
034171,000207: 26,2344 04024 OCT 04024 # USE ENTRYVN FOR DISPLAY BELOW.
034172,000208: # EBANK WAS SET IN CM/DAPON TO EBAOG
034173,000209:
034174,000210: 26,2345 11726 CCS HEADSUP # C(HEADSUP) = +/- 1
034175,000211: 26,2346 35016 CA BIT14 # IF HEADSUP POS, ROLLC=180 DEG (LIFT DWN)
034176,000212: 26,2347 12350 NOOP # IF HEADSUP NEG, ROLLC=0 DEG (LIFT UP)
034177,000213: 26,2350 55715 TS ROLLC
034178,000214: 26,2351 31411 CA ALFAPAD # NOMINAL ALFATRIM PAD LOADED, NEG. NO.
034179,000215: 26,2352 22007 ZL
034180,000216: 26,2353 53604 DXCH ALFACOM # SET ALFACOM = ALFA TRIM, BETACOM=0
034181,000217:
034182,000218: 26,2354 35033 CA ONE # PERMITS EXDAP2 TO CHANGE FLAG TO +0
034183,000219: 26,2355 55727 TS P63FLAG # AS INDICATOR. STARTS UP P63.
034184,000220:
034185,000221: 26,2356 35066 CA V06N22 # SET UP DISPLAY FOR CDU DESIRED VALUES
034186,000222: 26,2357 55263 TS ENTRYVN # FROM ENTRY ATTITUDE CALC, THAT IS
034187,000223: # ALREADY GOING.
034188,000224: 26,2360 05562 TC UPFLAG # TURN ON ENTRY DISPLAY
034189,000225: 26,2361 00134 ADRES ENTRYDSP # ENTRYDSP = 92D BIT 13 FLAG 6
034190,000226: # SKIP
034191,000227: 26,2362 41700 CS CMDAPMOD # GO DIRECTLY TO P63 IF BODY ATTITUDE
034192,000228: 26,2363 75033 MASK ONE # IS SUCH THAT THE DELAY TASK: WAKEP62
034193,000229: 26,2364 00006 EXTEND # WILL BE OMITTED.
034194,000230: 26,2365 12414 BZF P63.1 # DISABLE GRP 4, GO TO ENDOFJOB.
034195,000231: # (IE, CONTINUE IF CMDAPMOD = -1, OR +0)
034196,000232: 26,2366 02400 TC P63
034197,000233:
034198,000234: # PUT JOB TO SLEEP UNTIL VEHICLE MANUVER HAS
034199,000235: # REDUCED ALFA TO +/-45 DEG. CONSIDER REMAINING
034200,000236: # 65 DEG (25 DEG IF ALFA NEG) TO ALFA TRIM TO
034201,000237: # OCCUR AT 3 DEG/SEC, AND TERMINATE P62 AT THAT
034202,000238: # TIME.
034203,000239:
034204,000240: # TASK WAKEP62 IS CALLED FROM ENTRY DAP.
034205,000241: 26,2367 35101 WAKEP62 CA PRIO13
034206,000242: 26,2370 05150 TC NOVAC
034207,000243: 26,2371 E6,1661 EBANK= AOG
034208,000244: 26,2371 02400 54066 2CADR P63
034209,000245:
034210,000246: 26,2373 05340 TC TASKOVER
034211,000247:
034212,000248: # EACH 2 SEC, CALCULATE GIMBAL ANGLES FOR ENTRY CON-
034213,000249: # DITIONS THAT WILL HOLD IF REORIENTATION WERE MADE
034214,000250: # AT PRESENT RN, VN. COME HERE FROM CM/POSE AND ALSO
034215,000251: # IN KEPLER PHASE OF ENTRY.
034216,000252:
034217,000253: 26,2374 52131 P62.3 SSP GOTO # SET RETURN ADDRESS SO THAT ROUTINE
034218,000254: 26,2375 00053 QPRET # GOES DIRECTLY TO ENTRY GUIDANCE EXIT
034219,000255: 26,2376 53576 ENDEXIT # THAT DOES ENTRY DISPLAY, GRP 5.
034220,000256: 26,2377 20376 S62.3 # PUT DESIRED CDU VALUES IN CPHI'S FOR
034221,000257: # N22 DISPLAY.
034222,000258:
034223,000259: # P63
034224,000260: # PROGRAM- P63
034225,000261: # MOD NO.- 0 MAR. 13, 1967
034226,000262: # MOD BY- R. HIRSCHKOP
034227,000263: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 22 JIN 67 RESTARTS.
034228,000264: # MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 14 JUL 67 REVISED RESTARTS
034229,000265: # FUNCTION- 1) TO INITIALIZE THE ENTRY EQUATIONS
034230,000266: # 2) TO CONTINUE TO HOLD THE CM TO THE CORRECT ATTITUDE WITH RESPECT TO THE ATMOSPHERE FOR
034231,000267: # THE ONSET OF ENTRY DECELERATION. ROLL ANGLE IS LIFT UP/DOWN AS SPECIFIED BY HEADSUP.
034232,000268: # 3) TO SENSE .05 G
034233,000269: # CALLING SEQUENCE- DIRECTLY FROM P62
034234,000270: # EXIT- TO ENDOFJOB
034235,000271: # SUBROUTINE CALLS- NEWMODEX, GODSPR
034236,000272:
034237,000273: 26,2400 COUNT* $$/P63
034238,000274:
034239,000275: 26,2400 05370 P63 TC NEWMODEX
034240,000276: 26,2401 00077 MM 63 B-14
034241,000277:
034242,000278: # ARRIVE WITH EBANK = AOG.
034243,000279:
034244,000280: 26,2402 32423 CA ENTCADR # CONTINUE AT STARTENT AFTER CM/POSE.
034245,000281:
034246,000282: # AT END OF STARTENT, CHANGE ADDRESS IN GOTOADDR
034247,000283: # TO CONTINUE AT SCALEPOP THEREAFTER.
034248,000284:
034249,000285: 26,2403 55724 TS POSEXIT
034250,000286:
034251,000287: 26,2404 32422 CA V06N64 # G VI R TO SPLSH
034252,000288: # XXX.XX G XXXXX. FPS XXXX.X NM
034253,000289: 26,2405 55263 TS ENTRYVN # FOR DISPLAY CALL IN OVERNOUT.
034254,000290:
034255,000291: 26,2406 45033 CS ONE # IN CASE FLAG IS LEFT AT +1 BY DAP. THE
034256,000292: 26,2407 55727 TS P63FLAG # -1 ASSURES THAT EXO-ATM DAP WILL NOT
034257,000293: # CALL P63 OUT OF SEQUENCE IN P66.
034258,000294:
034259,000295: 26,2410 05426 TC PHASCHNG # THIS IS REQUIRED TO PRESERVE CLEANDSP
034260,000296: 26,2411 00004 OCT 00004 # RETURN IN EVENT OF AN EXTENDED VERB..
034261,000297:
034262,000298: 26,2412 04676 TC BANKCALL # FLUSH 'N22' DISPLAY, IF ON. (OMIT
034263,000299: 26,2413 20703 CADR CLEANDSP # DISPLAY DURING 'STARTENT' PASS.)
034264,000300:
034265,000301: 26,2414 05426 P63.1 TC PHASCHNG
034266,000302: 26,2415 00004 OCT 00004 # DISABLE. DISPLAY RESTARTED VIA ENTRY.
034267,000303:
034268,000304: 26,2416 05233 TC ENDOFJOB
034269,000305:
034270,000306: 26,2417 01474 V06N60 VN 0660
034271,000307: 26,2420 01475 V06N61 VN 0661
034272,000308: 26,2421 04077 V16N63 VN 1663
034273,000309: 26,2422 01500 V06N64 VN 0664
034274,000310: 26,2423 52000 ENTCADR CADR STARTENT
034275,000311:
034276,000312: 26,2424 E7,1451 EBANK= RTINIT # TO CARY OVER INTO ENTRY STEERING.
034277,000313: 26,2424 03473 76067 POSECADR 2CADR CM/POSE
034278,000314:
034279,000315: # PROGRAM- P64
034280,000316: # MOD NO.- 1 SEPT. 19, 1967
034281,000317: # MOD BY- R. HIRSCHKOP
034282,000318: # MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 8 MAY 68 REVISED COMMENTS FOR COLOSSUS
034283,000319: # MOD NO: 3 MOD BY: RR BAIRNSFATHER DATE: 1 MAR '69 N74
034284,000320: # FUNCTION- 1. TO START ENTRY GUIDANCE AT .05G SELECTING ROLL ATTITUDE, CONSTANT DRAG LEVEL, AND
034285,000321: # DRAG THRESHOLD, KA, WHICH ARE KEYED TO THE .05G POINT.
034286,000322: # 2. SELECT FINAL PHASE P67 IF V < 27000 FPS WHEN .2G OCCURS.
034287,000323: # 3. ITERATE FOR UP-CONTROL SOLUTION P65 IF V > 27000 FPS AND IF ALTITUDE RATE AND DRAG
034288,000324: # LEVEL CONDITIONS ARE SATISFIED. ENTER P65 WHEN CONSTANT DRAG CONTROLLER HAS BROUGHT RANGE
034289,000325: # AS PREDICTED TO WITHIN 25 NM OF DESIRED RANGE.
034290,000326: # 4. SELECT FINAL PHASE P67 IF NO UP-CONTROL SOLUTION EXISTS WITH VL > 18000 FPS.
034291,000327: # CALLING SEQUENCE- BY RTB FROM REENTRY CONTROL
034292,000328: # EXIT- BACK TO REENTRY CONTROL
034293,000329: # SUBROUTINE CALLS- NEWMODEX
034294,000330:
034295,000331: 25,2000 BANK 25
034296,000332: 26,2000 SETLOC P60S1
034297,000333: 26,2000 BANK
034298,000334:
034299,000335: # THIS DISPLAY IS CALLED EACH PASS THROUGH STEERING. RESTART PROTECTION IS VIA STEERING.
034300,000336:
034301,000337: 26,2426 COUNT* $$/P64
034302,000338:
034303,000339: 26,2426 05370 P64 TC NEWMODEX # ENTER VIA RTB WHEN .05G IS EXCEEDED.
034304,000340: 26,2427 00100 MM 64 B-14
034305,000341: 26,2430 32433 CA V06N74 # ROLLC VI D
034306,000342: # XXX.XX DEG XXXXX. FPS XXX.XX G
034307,000343: 26,2431 55263 TS ENTRYVN # DISPLAY VIA OVERNOUT.
034308,000344:
034309,000345: 26,2432 06030 TC DANZIG # ... AND CONTINUE IN INITROLL ...
034310,000346:
034311,000347: 26,2433 01512 V06N74 VN 0674
034312,000348:
034313,000349: # PROGRAM: P65
034314,000350: # MOD NO: 0 MOD BY: RR BAIRNSFATHER DATE: 17 JAN 68 COLOSSUS GSOP ADDITION.
034315,000351: # FUNCTION: TO CONTINUE ENTRY GUIDANCE, USING THE UP-CONTROL PHASE TO STEER TO A CONTROLLED EXIT
034316,000352: # CONDITION. THIS PHASE TERMINATES A) IF D < Q7 FPSS, GO TO P66 ,
034317,000353: # B) IF RDOT NEG, AND IF V < VL +500 FPS, GO TO P67.
034318,000354: # CALLING SEQUENCE: BY RTB FROM REENTRY CONTROL
034319,000355: # EXIT: BACK TO REENTRY CONTROL, OR TO ENDOFJOB.
034320,000356: # SUBROUTINE CALLS: NEWMODEX
034321,000357:
034322,000358: 26,2434 COUNT* $$/P65
034323,000359:
034324,000360: 26,2434 05370 P65 TC NEWMODEX # ENTER VIA RTB WHEN RANGE < 25 N M OF
034325,000361: 26,2435 00101 MM 65 B-14 # TARGET.
034326,000362:
034327,000363: 26,2436 35101 CA PRIO13
034328,000364: 26,2437 05150 TC NOVAC
034329,000365: 26,2440 1263 EBANK= ENTRYVN
034330,000366: 26,2440 02452 54062 2CADR P65.1
034331,000367:
034332,000368: 26,2442 05406 TC 2PHSCHNG # 2 PHASE CHG REQUIRED TO PREVENT RE-
034333,000369: 26,2443 00554 OCT 00554 # STARTING FLASHING DISPLAY TWICE.
034334,000370: 26,2444 10035 OCT 10035 # 4.55 SPOT AND SERVICER, HERE.
034335,000371: 26,2445 06006 TC INTPRET
034336,000372: 26,2446 47131 SSP RTB
034337,000373: 26,2447 03646 GOTOADDR # CHANGE ENTRY MODE TO UPCONTRL.
034338,000374: 26,2450 53035 UPCONTRL
034339,000375: 26,2451 52120 REFAZE10 # GO HERE TO REESTABLISH ENTRY SEQUENCER.
034340,000376: # AND CONTINUE AT UPCONTRL...
034341,000377:
034342,000378: 26,2452 05574 P65.1 TC DOWNFLAG
034343,000379: 26,2453 00134 ADRES ENTRYDSP # ENTRYDSP = 92D BIT 13 FLAG 6
034344,000380:
034345,000381: 26,2454 32466 CA V16N69 # ROLLC DL (Q7) VL
034346,000382: 26,2455 04676 TC BANKCALL # XXX.XX DEG XXX.XX G XXXXX. FPS
034347,000383: 26,2456 21057 CADR GOFLASHR
034348,000384: 26,2457 02454 TC -3 # NODOFLAG IS SET..
034349,000385: 26,2460 02463 TC +3
034350,000386: 26,2461 02454 TC -5
034351,000387: 26,2462 02232 TC P61.3 # EST. GRP 4 FOR DSPLAY AND DO ENDOFJOB
034352,000388: # IF PROCEED, CONTINUE.
034353,000389: 26,2463 05562 TC UPFLAG
034354,000390: 26,2464 00134 ADRES ENTRYDSP # ENTRYDSP = 92D BIT 13 FLAG 6
034355,000391:
034356,000392: 26,2465 02414 TC P63.1 # DISABLE GRP 4,START UP ENTRY DISPLAY
034357,000393: # N06V68 VIA OVERNOUT, AS USED IN P64.
034358,000394: 26,2466 04105 V16N69 VN 1669
034359,000395:
034360,000396: # PROGRAM: P66
034361,000397: # MOD NO: 0 MOD BY: RR BAIRNSFATHER DATE: 17 JAN 68 COLOSSUS GSOP ADDITIONS.
034362,000398: # FUNCTION: KEEP CM ATTITUDE IN TRIM TO THE RELATIVE VELOCITY VECTOR. ENTRY GUIDANCE STOPS GENERATING
034363,000399: # ROLL COMMANDS UNTIL DRAG BUILDS UP TO Q7+0.5 FPSS.
034364,000400: # CALLING SEQUENCE: VIA RTB FROM REENTRY CONTROL.
034365,000401: # EXIT: BACK TO REENTRY CONTROL.
034366,000402: # SUBROUTINE CALLS: NEWMODEX
034367,000403:
034368,000404: 26,2467 COUNT* $$/P66
034369,000405:
034370,000406: 26,2467 05370 P66 TC NEWMODEX # ENTER VIA RTB WHEN D < Q7 FPSS
034371,000407: 26,2470 00102 MM 66 B-14
034372,000408:
034373,000409: 26,2471 35066 CA V06N22 # OGA IGA MGA
034374,000410: # XXX.XX DEG XXX.XX DEG XXX.XX DEG
034375,000411: 26,2472 02476 TC P66END # IN CASE CAME FROM P65, GO DISABLE GRP4,
034376,000412: # AND SET ENTRYDSP TO DO DISPLAY VIA
034377,000413: # OVERNOUT.
034378,000414:
034379,000415: # ... AND CONTINUE AT KEP2
034380,000416:
034381,000417: # P67
034382,000418:
034383,000419: # PROGRAM- P67
034384,000420: # MOD NO.- 0 MAR. 16, 1967
034385,000421: # MOD BY- R. HIRSCHKOP
034386,000422: # FUNCTION- TO TERMINATE STEERING WHEN THE CM VELOCITY WRT EARTH = 1000 FT/SEC
034387,000423: # CALLING SEQUENCE-
034388,000424: # EXIT- TO POOH
034389,000425: # SUBROUTINE CALLS- GOFLASH
034390,000426:
034391,000427: # THIS DISPLAY IS CALLED EACH PASS THROUGH STEERING. RESTART PROTECTION IS VIA STEERING.
034392,000428:
034393,000429: 26,2473 COUNT* $$/P67
034394,000430:
034395,000431: 26,2473 05370 P67 TC NEWMODEX # ENTER VIA RTB
034396,000432: 26,2474 00103 MM 67 B-14
034397,000433: 26,2475 32504 CA V06N66 # ROLLC XRNGERR DNRNGERR
034398,000434: # XXX.XX DEG XXXX.X NM XXXX.X NM
034399,000435: 26,2476 55263 P66END TS ENTRYVN # DISPLAY VIA OVERNOUT.
034400,000436:
034401,000437: 26,2477 05562 TC UPFLAG # (IN CASE CAME FROM P65. ENTRY DISPLAY
034402,000438: 26,2500 00134 ADRES ENTRYDSP # WILL FLUSH FLASHING DISP. IF STILL ON)
034403,000439: # BIT 13 FLAG 6
034404,000440: 26,2501 05426 KILLGRP4 TC PHASCHNG # DISABLE GRP4, IN CASE CAME FROM HUNTEST.
034405,000441: 26,2502 00004 OCT 00004 # (COME TO KILLGRP4 VIA RTB, RET TO CALLER)
034406,000442:
034407,000443: 26,2503 06030 TC DANZIG # ... AND CONTINUE AT PREDICT3 ...
034408,000444:
034409,000445: 26,2504 01502 V06N66 VN 0666
034410,000446:
034411,000447: 26,2505 BANK 26
034412,000448: 26,2000 SETLOC P60S2
034413,000449: 26,2000 BANK
034414,000450:
034415,000451: 26,2505 32536 P67.1 CA V16N67 # RTOGO LAT LONG
034416,000452: # XXXX.X NM XXX.XX DEG XXX.XX DEG
034417,000453: 26,2506 04676 TC BANKCALL
034418,000454: 26,2507 20720 CADR GOFLASH
034419,000455: 26,2510 02513 TC +3 # EFFECTIVE GOTOPOOH
034420,000456: 26,2511 02513 TC +2
034421,000457: 26,2512 02505 TC P67.1 # REDO
034422,000458:
034423,000459: 26,2513 46214 CS THREE # TURN OFF ENTRY DAP
034424,000460: 26,2514 00004 INHINT
034425,000461: 26,2515 70102 MASK CM/FLAGS # CM/DSTBY, GAMDIFSW
034426,000462: 26,2516 54102 TS CM/FLAGS
034427,000463: 26,2517 00003 RELINT
034428,000464: 26,2520 00006 EXTEND
034429,000465: 26,2521 32636 DCA SERVCAD2
034430,000466:
034431,000467: 26,2522 53223 DXCH AVEGEXIT
034432,000468:
034433,000469: 26,2523 14106 TCF GOTOPOOH
034434,000470:
034435,000471: 26,2524 43175 P67.2 VLOAD CLEAR # CALC PRESENT LAT, LONG, ALT.
034436,000472: 26,2525 01171 RN
034437,000473: 26,2526 00662 ERADFLAG # USE PAD RAD FOR ALT. (NOT SEEN ANYWAY)
034438,000474: 26,2527 16152 STODL ALPHAV
034439,000475: 26,2530 01205 PIPTIME # USE TIME OF RN
034440,000476: 26,2531 45014 CLEAR CALL
034441,000477: 26,2532 01663 LUNAFLAG
034442,000478: 26,2533 26376 LAT-LONG
034443,000479: 26,2534 77634 P67.3 RTB # ENTRY EXIT THAT OMITS DISPLAY.
034444,000480: 26,2535 53611 SERVNOUT
034445,000481:
034446,000482: 26,2536 04103 V16N67 VN 1667
034447,000483: 26,2537 4270 OCT41 = 33DEC
034448,000484: 26,2537 26,2635 SERVCAD2 = SERVCAD1
034449,000485:
034450,000486: # SUBROUTINE NAME: S61.1
034451,000487: # MOD NO: 0 DATE: 21 FEB 67
034452,000488: # MOD BY: RR BAIRNSFATHER LOG SECTION: P61-P67
034453,000489: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 22 JUN 67 RESTARTS.
034454,000490:
034455,000491: # FUNCTIONAL DESCRIPTION: CALLED BY BOTH P61 AND P62
034456,000492: # FIRST, TEST TO SEE IF AVERAGEG IS ON. IF NOT, UPDATE THE STATE VECTOR TO PRESENT TIME + TOLERANCE
034457,000493: # AND TURN ON AVERAGEG AT THAT TIME, AND CONTINUE. OTHERWISE CONTINUE: SEE IF IMU Y AXIS IS
034458,000494: # WITHIN 30 DEG OF V*R. IF YES, EXIT SUBROUTINE S61.1. IF NO, SEE IF -Y AXIS OF IMU IS WITHIN
034459,000495: # 30 DEG OF V*R. IF YES, DISPLAY ALARM: 01427 IMU REVERSED.
034460,000496: # IF NO, DISPLAY ALARM: 01426 IMU UNSATISFACTORY.
034461,000497: # IN EITHER OF THESE LAST 2 CASES, WAIT 10 SEC AND THEN EXIT SUBROUTINE S61.1.
034462,000498:
034463,000499: # REMARK: THERE WILL BE A SHORT 10 SEC DELAY IF AN ALARM EXIT IS TAKEN. THE DELAY FOR INTEGRATION IS
034464,000500: # AS SHORT AS CAN BE MADE, BUT IS ARBITRARY SINCE IT DEPENDS ON THE AGE OF THE STATE VECTOR.
034465,000501:
034466,000502: # CALLING SEQUENCE: CALL
034467,000503: # S61.1
034468,000504:
034469,000505: # C(MPAC) UNSPECIFIED
034470,000506: # PUSHLOC UNSPECIFIED
034471,000507:
034472,000508: # SUBROUTINES CALLED: LOADTIME, CSMPREC, TPAGREE,
034473,000509: # WAITLIST, JOBSLEEP, JOBWAKE, PREREAD, ALARM, GODSPR, BANKCALL, DELAYJOB
034474,000510:
034475,000511: # NORMAL EXIT MODES: RVQ
034476,000512:
034477,000513: # ALARMS: 01426 IMU UNSATISFACTORY
034478,000514: # 01427 IMU REVERSED
034479,000515:
034480,000516: # OUTPUT: POSSIBLE ALARMS
034481,000517: # POSSIBLY TDEC1, RATT, VATT, RN, VN
034482,000518:
034483,000519: # ERASABLE INITIALIZATION REQUIRED:
034484,000520: # AVEGFLAG AVERAGEG ON OR OFF LEFT BY SERVICER
034485,000521: # PIPTIME (-28) CS TIME OF PIPA UPDATE LEFT BY READACCS
034486,000522: # RN (-29) M STATE VECTOR LEFT BY AVERAGEG
034487,000523: # VN (-7) M/CS STATE VECTOR LEFT BY AVERAGEG
034488,000524: # REFSMMAT (-1) .5 REF TO SM MATRIX LEFT BY LAST IMU ALIGNMENT
034489,000525:
034490,000526: # DEBRIS: QPRET
034491,000527: # POSSIBLY PIPTIME1, RATT, VATT, TDEC1, RN1, VN1, QTEMP, X1 IF UPDATED
034492,000528: # PUSH LIST LOCS USED BY CSMPREC
034493,000529:
034494,000530: 26,2537 E6,1661 EBANK= AOG # FOR 60GENRET, S61DT
034495,000531: 26,2537 BANK 26
034496,000532: 26,2000 SETLOC P60S3
034497,000533: 26,2000 BANK
034498,000534:
034499,000535: 26,2537 COUNT* $$/S61.1
034500,000536:
034501,000537: 26,2537 00006 S61.1 EXTEND
034502,000538: 26,2540 23773 QXCH 60GENRET # SAVE RET ADDR IN EB 6
034503,000539: 26,2541 04676 TC BANKCALL
034504,000540: 26,2542 17653 CADR R02BOTH
034505,000541: 26,2543 06006 TC INTPRET
034506,000542: 26,2544 45014 BON CALRB
034507,000543: 26,2545 00716 AVEGFLAG # IS AVERAGEG ON
034508,000544: 26,2546 54577 S61.1A # YES
034509,000545: 26,2547 27547 MIDTOAV2 # GET FUTURE STATE VECTOR SOON AS CAN
034510,000546:
034511,000547: 26,2550 30155 CA MPAC +1 # RETURN INHINTED ***
034512,000548: 26,2551 55774 TS S61DT # FOR RESTART.
034513,000549: 26,2552 05261 TC WAITLIST
034514,000550: 26,2553 E7,1431 EBANK= DVCNTR
034515,000551: 26,2553 02560 54067 2CADR S61.1C
034516,000552:
034517,000553: 26,2555 05426 TC PHASCHNG
034518,000554: 26,2556 40434 OCT 40434
034519,000555: 26,2557 05233 TC ENDOFJOB
034520,000556:
034521,000557: 26,2560 35101 S61.1C CA PRIO13
034522,000558: 26,2561 05163 TC FINDVAC
034523,000559: 26,2562 E6,1661 EBANK= AOG
034524,000560: 26,2562 02576 54066 2CADR S61.1A -1
034525,000561:
034526,000562: 26,2564 00006 EXTEND
034527,000563: 26,2565 32636 DCA SERVCAD1 # HE WHO STARTS AVERAGEG MUST SERVICE
034528,000564: 26,2566 53223 DXCH AVEGEXIT # THE EXIT.
034529,000565:
034530,000566: 26,2567 05406 TC 2PHSCHNG
034531,000567: 26,2570 00454 OCT 00454
034532,000568: 26,2571 00415 OCT 00415
034533,000569:
034534,000570: 26,2572 35074 CA EBENTRY # SET EB= 7 FOR PREREAD.
034535,000571: 26,2573 54003 TS EBANK
034536,000572:
034537,000573: 26,2574 04715 TC POSTJUMP
034538,000574: 26,2575 76714 CADR PREREAD # PREREAD DOES TC TASKOVER.
034539,000575:
034540,000576: 26,2576 06006 TC INTPRET
034541,000577: 26,2577 77204 S61.1A BOVB VLOAD
034542,000578: 26,2600 57353 TCDANZIG # TURN OFF OVFIND, IF ON
034543,000579: 26,2601 01177 VN # VN (-7) M/CS
034544,000580: 26,2602 64235 VXV MXV
034545,000581: 26,2603 01171 RN # RN (-29) M
034546,000582: 26,2604 01736 REFSMMAT # .5 UNIT MATRIX
034547,000583: 26,2605 71256 UNIT DLOAD
034548,000584: 26,2606 00160 MPAC +3 # GET COS(THETA)/2
034549,000585: 26,2607 43240 BMN DAD
034550,000586: 26,2610 54615 S61.1B # DO TEST ON -YSM
034551,000587: 26,2611 14640 C(30)LIM # = 1.0 -.5 COS(30)
034552,000588: 26,2612 47004 BOVB RTB
034553,000589: 26,2613 54634 RETRN1
034554,000590: 26,2614 54621 RETRN3
034555,000591: 26,2615 43276 S61.1B DCOMP DAD
034556,000592: 26,2616 14640 C(30)LIM # = 1.0 - .5 COS(30)
034557,000593: 26,2617 77404 BOVB EXIT
034558,000594: 26,2620 54624 RETRN2
034559,000595:
034560,000596: 26,2621 05664 RETRN3 TC ALARM
034561,000597: 26,2622 01426 OCT 01426 # IMU UNSATISFACTORY
034562,000598: 26,2623 02626 TC RETRN2 +2
034563,000599:
034564,000600: 26,2624 05664 RETRN2 TC ALARM
034565,000601: 26,2625 01427 OCT 01427 # IMU REVERSED
034566,000602:
034567,000603: 26,2626 35064 +2 CAF V05N09
034568,000604: 26,2627 04676 TC BANKCALL
034569,000605: 26,2630 20676 CADR GODSPR # DO DISPLAY
034570,000606: 26,2631 32641 CA 10SECS
034571,000607: 26,2632 04676 TC BANKCALL
034572,000608: 26,2633 01732 CADR DELAYJOB
034573,000609:
034574,000610: 26,2634 01773 RETRN1 TC 60GENRET
034575,000611:
034576,000612: 26,2635 E7,1431 EBANK= DVCNTR
034577,000613: 26,2635 03231 76067 SERVCAD1 2CADR SERVEXIT
034578,000614:
034579,000615: 26,2637 22111 17335 C(30)LIM 2DEC .566985 # = 1.0 - .5 COS(30)
034580,000616:
034581,000617: 26,2641 01750 10SECS DEC 1000 B-14 # 1000 CS
034582,000618: 26,2642 00000 13560 60SECDP 2DEC 6000 B-28 # 6000 CS
034583,000619:
034584,000620: # PROGRAM NAME: S61.2 DATE: 14 FEB 67
034585,000621: # MOD NO: 1 LOG SECTION: P61-P67
034586,000622: # MOD BY: MORTH / BAIRNSFATHER
034587,000623: # MOD NO: 2 MOD BY: MORTH/BAIRNSFATHER DATE: 11 MAY 67 ADD 2ND ITER FOR ERAD AT 400K FT.
034588,000624: # MOD NO: 3 MOD BY: RR BAIRNSFATHER DATE: 21 NOV 67 VARIABLE MU ADDED.
034589,000625: # MOD NO: 4 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 68 DIFFERENT EARTH/MOON SCALES IN TFF'S
034590,000626:
034591,000627: # FUNCTIONAL DESCRIPTION: CALLED BY P61. PROVIDES DISPLAYS FOR NOUNS N60 AND N63 .
034592,000628: # PROGRAM CALCULATES ENTRY DISPLAY OF MAXIMUM ACCELERATION EXPECTED (GMAX) AND ALSO THE EXPECTED
034593,000629: # INERTIAL VELOCITY (VPRED) AND ENTRY ANGLE (GAMMAEI) THAT WILL OBTAIN AT 400K FT ABOVE THE FISCHER
034594,000630: # ELLIPSOID. PROGRAM ALSO CALCULATES A SECOND DISPLAY RELATIVE TO THE EMSALT ABOVE FISCHER ELLIPSOID
034595,000631: # AND CONSISTS OF RANGE TO SPLASH FROM NOW (RTGO) , PREDICTED INERTIAL VELOCITY (VIO) , AND THE TIME TO
034596,000632: # GO FROM NOW (TTE) .
034597,000633:
034598,000634: # CALLING SEQUENCE: CALL
034599,000635: # S61.2
034600,000636: # C(MPAC) UNSPECIFIED
034601,000637: # PUSHLOC WILL BE SET TO ZERO.
034602,000638:
034603,000639: # SUBROUTINES CALLED: TFFCONIC, CALCTFF, TFF/TRIG, FISHCALC, GETERAD, VGAMCALC
034604,000640:
034605,000641: # NORMAL EXIT MODES: RTB P61.1
034606,000642:
034607,000643: # ALARMS: NONE
034608,000644:
034609,000645: # OUTPUT: THE FOLLOWING REGISTERS ARE WRITTEN IN FOR USE BY DISPLAYS
034610,000646: # GMAX 100 GMAX (-14) G,S MAXIMUM ACCELERATION
034611,000647: # VPRED (-7) M/CS PREDICTED VELOCITY AT 400K FT
034612,000648: # GAMMAEI GAMMA/360 PREDICTED GAMMA AT 400K FT
034613,000649: # FOR TM, DP(GAMMAEI) = (GAMMAEI, RTGO) / 360
034614,000650: # RTGO THETAH/360 RANGE ANGLE TO SPLASH FROM EMSALT EMSALT IS PAD LOADED
034615,000651: # VIO (-7) M/CS INERTIAL VELOCITY AT EMSALT EMSALT IS PAD LOADED
034616,000652: # TTE (-28) CS TIME TO EMSALT EMSALT IS PAD LOADED
034617,000653: # PUSHLOC = 0
034618,000654: # CONIC PARAMETERS STORED IN VAC AREA (SEE TFF SUBROUTINES)
034619,000655:
034620,000656: # ERASABLE INITIALIZATION REQUIRED:
034621,000657: # RONE (-29) M STATE VECTOR LEFT BY USER
034622,000658: # VONE (-7) M/CS STATE VECTOR LEFT BY USER
034623,000659: # URONE UR/2 LEFT BY USER
034624,000660: # UNI (-1) UNIT NORMAL V*R LEFT BY ENTRY / P61
034625,000661: # THETAH THETAH/360 RANGE ANGLE LEFT BY ENTRY / P61
034626,000662: # UNITW (0) UNIT POLAR VECTOR LEFT BY PAD LOAD
034627,000663: # EMSALT (-29) M EMS INTERFACE ALTITUDE LEFT BY PAD LOAD
034628,000664: # ORBITAL REENTRY: 284643 FT, LUNAR REENTRY: 297431 FT.
034629,000665:
034630,000666: # DEBRIS: QPRET,
034631,000667: # ALL PDL LOCATIONS ABOVE 12D, INCLUDING X1,X2,S1,S2
034632,000668: # ALSO PDL+0 ... PDL+5, WHERE INITIAL PUSHLOC = PDL
034633,000669:
034634,000670: # THE FOLLOWING PUSH LIST LOCATIONS HAVE BEEN RESERVED FOR TFF ROUTINES AND ARE REPEATED HERE FOR CONVENIENCE.
034635,000671: # OF COURSE FOR S61.2 USAGE, EARTH ORIGIN SCALING IS USED.
034636,000672:
034637,000673: # BELOW E: IS USED FOR EARTH ORIGIN SCALE
034638,000674: # M: IS USED FOR MOON ORIGIN SCALE
034639,000675:
034640,000676: # RTERM = 18D TERMINAL RADIUS M E: (-29) M: (-27)
034641,000677: # NRTERM = 16D TERMINAL RADIUS M E: (-29+NR)
034642,000678: # M: (-27+NR)
034643,000679: # RMAG1 = 12D PRESENT RADIUS M E: (-29) M: (-27)
034644,000680: # NRMAG = 32D PRESENT RADIUS M E: (-29+NR)
034645,000681: # M: (-27+NR)
034646,000682: # SDELF/2 SIN(THETA) / 2
034647,000683: # CDELF/2 = 14D COS(THETA) / 2
034648,000684: # TFFX = 34D X, ARGUMENT OF SERIES T(X).
034649,000685: # TFFTEM = 36D ARG FOR TRANSFER ANGLE CALCULATION.
034650,000686: # TFFNP = 28D LC P M E: (-38+2NR) M: (-36+2NR)
034651,000687: # TFF/RTMU= 30D 1/SQRT(MU) E: (17) M: (14)
034652,000688: # TFFVSQ = 20D -(VN.VN/MU) 1/M E: (20) M: (18)
034653,000689:
034654,000690: 34,3763 BANK 34
034655,000691: 26,2000 SETLOC P60S2
034656,000692: 26,2000 BANK
034657,000693:
034658,000694: 26,2644 COUNT* $$/S61.2
034659,000695: # PDL LEFT AT ZERO BY TARGETNG
034660,000696:
034661,000697: 26,2644 45345 S61.2 DLOAD DSU
034662,000698: 26,2645 02020 EMSALT
034663,000699: 26,2646 15000 290KFT
034664,000700: 26,2647 71244 BPL DLOAD
034665,000701: 26,2650 54774 LUNENT
034666,000702: 26,2651 17355 1/RTMU # ESTABLISH MU FOR ORBITAL ENTRIES
034667,000703: 26,2652 77624 CALLCON CALL
034668,000704: 26,2653 56760 TFFCONIC # FILL VAC AREA WITH CONIC PARAMETERS
034669,000705:
034670,000706: 26,2654 45145 DLOAD CALL
034671,000707: 26,2655 15020 RTRIAL # 1ST GUESS AT TERMINAL RADIUS (-29)
034672,000708: 26,2656 57070 CALCTFF # SAVES MPAC IN RTERM (18D)
034673,000709:
034674,000710: 26,2657 77624 CALL # CALC SDELF/2, CDELF/2
034675,000711: 26,2660 56632 TFF/TRIG # RETURN WITH S(THETA) IN MPAC
034676,000712:
034677,000713: 26,2661 77624 CALL # GET FISCHER RADIUS (-29) M
034678,000714: 26,2662 55027 FISHCALC # ANS IN MPAC AND IN ERADM.
034679,000715:
034680,000716: 26,2663 45015 DAD CALL
034681,000717: 26,2664 02020 EMSALT
034682,000718: 26,2665 57070 CALCTFF # SAVES MPAC IN RTERM (18D)
034683,000719:
034684,000720: 26,2666 03733 STORE TTE1 # USED IN TARGET ITERATION (DISPTARG)
034685,000721: 26,2667 57415 DAD DCOMP # DECR 'TTE' FROM BASE 'TTE2' IN 'SERVICER
034686,000722: 26,2670 03651 MM # 'PIPTIME' FOR STATE VECTOR
034687,000723: # DNLIST AND DSKY WILL USE TTE.
034688,000724: 26,2671 03735 STORE TTE2 # TTE=PIPTIME+TTE2=-(TTE1+MM-PIPTIME)
034689,000725: 26,2672 77615 DAD # DECREMENT 'TTE' FOR DISPLAY AND DOWNLINK
034690,000726: 26,2673 01205 PIPTIME # UNTIL SERVICER COMES ALONG.
034691,000727: 26,2674 37727 STCALL TTE # 'TTE' IS NEGATIVE AS IN COUNTDOWN.
034692,000728:
034693,000729: # TTE= TIME FROM NOW TO EMSALT +FISCHER
034694,000730:
034695,000731: 26,2675 56632 TFF/TRIG # S(THETA) IN MPAC ON RETURNING
034696,000732: # AND THETA= RANGE FROM NOW TO EMSALT
034697,000733:
034698,000734: 26,2676 77624 CALL
034699,000735: 26,2677 55027 FISHCALC
034700,000736: 26,2700 77624 CALL
034701,000737: 26,2701 56665 VRCALC
034702,000738: 26,2702 77624 CALL
034703,000739: 26,2703 56652 DISPTARG
034704,000740: 26,2704 77624 CALL
034705,000741: 26,2705 56652 DISPTARG
034706,000742: 26,2706 37714 STCALL RTGO
034707,000743: 26,2707 55050 VGAMCALC
034708,000744:
034709,000745: 26,2710 77605 DMP # MPAC = GAMMA
034710,000746: # PDL0 HAS VGAM.
034711,000747: 26,2711 43265 BDDV DAD
034712,000748: 26,2712 15026 VEMSCON # -HS D 180/PI (-14)
034713,000749: 26,2713 00001 0 # VGAM FROM PDL0.
034714,000750: 26,2714 17725 STODL VIO # PREDICTED VELOCITY AT EMSALT.
034715,000751:
034716,000752: # GAMMA AND VGAM AT 300K FT ARE REQUIRED BY GMAX
034717,000753: # ALGORITHM.
034718,000754:
034719,000755: 26,2715 02241 ERADM # EARTH RADIUS FROM GETERAD (-29) M
034720,000756: # = FISCHER RADIUS (-29)
034721,000757:
034722,000758: 26,2716 77615 DAD
034723,000759: 26,2717 06502 300KFT # M (-29)
034724,000760: 26,2720 34023 STCALL RTERM # TERMINAL RADIUS M (-29)
034725,000761:
034726,000762: 26,2721 55045 PREVGAM # VGAMCALC WITH NEW RTERM
034727,000763:
034728,000764: # VBAR = (V(FPS) - 36KF/S) / 20KF/S
034729,000765: # GMAX = (4/(1 + 4.8 VBARSQ))(GAM - 6.05 - 2.4 VBARSQ) - 10(L/D - .3) + 10 ASSUME L/D = 0.3, BANK =0.
034730,000766:
034731,000767: # GMAXCALC
034732,000768: 26,2722 45325 PDDL DSU # GAM TO PDL2
034733,000769: 26,2723 00001 0 # VGAM IS IN PDL0 (-7)
034734,000770: 26,2724 15004 36KFT/S # (-7) M/CS
034735,000771: 26,2725 63471 DDV DSQ
034736,000772: 26,2726 15006 20KFT/S # (-6) M/CS
034737,000773: 26,2727 00001 STORE 0 # VBARSQ (-2) TO PDL0
034738,000774:
034739,000775: 26,2730 43205 DMP DAD
034740,000776: 26,2731 15010 KR1
034741,000777: # GAM, POS DOWN, FROM PDL2
034742,000778: 26,2732 41215 DAD DMP
034743,000779: 26,2733 15012 -6.05DEG
034744,000780: 26,2734 15014 KR2
034745,000781: 26,2735 77725 PDDL # XCH PDL+0 FOR VBARSQ (-2)
034746,000782: 26,2736 43271 DDV DAD
034747,000783: 26,2737 15024 KR4
034748,000784: 26,2740 17367 DP2(-4)
034749,000785: 26,2741 77665 BDDV
034750,000786: # NUM FROM PDL+0
034751,000787: 26,2742 51015 DAD BPL
034752,000788: 26,2743 15016 KR3
034753,000789: 26,2744 54747 +3
034754,000790: 26,2745 77745 DLOAD
034755,000791: 26,2746 15334 HI6ZEROS
034756,000792: 26,2747 17722 STODL GMAX # 100 GMAX (-14)
034757,000793: # DISPLAY USES GMAX AS SP, SO LO WORD IS WRITTEN OVER BY VPRED.
034758,000794: 26,2750 02241 ERADM # = FISCHER RADIUS (-29) M
034759,000795: 26,2751 45015 DAD CALL # 2 ND ITERATION FOR FISCHER RADIUS
034760,000796: 26,2752 15022 400KFT
034761,000797: 26,2753 57070 CALCTFF # ESTABLISH TRANSFER ANGLE DATA.
034762,000798: 26,2754 77624 CALL
034763,000799: 26,2755 56632 TFF/TRIG # GET SIN, COS DELF
034764,000800: 26,2756 77624 CALL
034765,000801: 26,2757 55027 FISHCALC # GET CORRESPONDING FISCHER RADIUS.
034766,000802:
034767,000803: 26,2760 73015 DAD LXA,2 # SAVE HI-WORD FOR DOWNLIST.
034768,000804: 26,2761 15022 400KFT # M (-29)
034769,000805: 26,2762 03713 RTGO # (RANGE ANGLE FROM EMSALT) / 360
034770,000806: 26,2763 34023 STCALL RTERM
034771,000807: 26,2764 55045 PREVGAM # VGAMCALC WITH NEW RTERM
034772,000808:
034773,000809: 26,2765 67076 DCOMP SXA,2 # HI-WORD OF EACH ON DOWNLIST.
034774,000810: 26,2766 00155 MPAC +1
034775,000811: 26,2767 17771 STODL GAMMAEI # CONIC GAMMA/360 AT 400K FT. (HI-WORD)
034776,000812: # CONIC RTGO/360 FROM EMSALT (LOW-WORD)
034777,000813: # FOR TM, DP(GAMMAEI) = (GAMMA, RTGO) / 360
034778,000814:
034779,000815: # VGAM FROM PDL+0 (-7)
034780,000816: 26,2770 77626 STADR
034781,000817: 26,2771 74010 STORE VPRED # CONIC VELOCITY AT 400K FT
034782,000818:
034783,000819: 26,2772 77634 RTB
034784,000820: 26,2773 54272 P61.1
034785,000821: # PDL BACK TO ZERO.
034786,000822:
034787,000823: 26,2774 52145 LUNENT DLOAD GOTO
034788,000824: 26,2775 06476 1/RTMUE # ESTABLISH MU FOR LUNAR TYPE ENTRIES
034789,000825: 26,2776 54652 CALLCON
034790,000826: 26,2777 00002 26244 290KFT 2DEC 88392.0 B-29
034791,000827:
034792,000828: 26,3001 00052 05716 KTETA1 2DEC* .421844723 E2 B-14* # 1100 2PI/16384(163.84)
034793,000829:
034794,000830: 26,3003 33335 05707 36KFT/S 2DEC 109.728 B-7 # (-7) M/CS = 36 KFT/S (-7)
034795,000831:
034796,000832: 26,3005 36365 30244 20KFT/S 2DEC 121.92 B-7 # (-6) M/CS = 2 20KFT/S (-7)
034797,000833:
034798,000834: 26,3007 77113 42770 KR1 2DEC -.026666667 # = -2.4 4 / 360
034799,000835:
034800,000836: 26,3011 77354 65030 -6.05DEG 2DEC -.016805556 # = -6.05 / 360
034801,000837:
034802,000838: 26,3013 21450 00001 KR2 2DEC .54931641 # = (360/4) 100 (-14) = 9000 B-14
034803,000839:
034804,000840: 26,3015 01750 00000 KR3 2DEC 1000 B-14 # = 100 (10.0) (-14) G,S
034805,000841: # ASSUMES L/D = 0.3, BANK =0.
034806,000842: 26,3017 00305 04541 RTRIAL 2DEC 6460097.18 B-29 # RPAD +284643 FT =21 194 545 FT
034807,000843: # RPAD DEFINED AS 20 909 901.57 FT =6 373 338 M
034808,000844: 26,3021 00003 27040 400KFT 2DEC 121920 B-29 # METERS
034809,000845:
034810,000846: # 300KFT 2DEC 91440 B-29 (-29) M
034811,000847:
034812,000848: # EMSALT 2DEC 86759.2 B-29 284643 FT (-29) M (ORBITAL REENTRY)
034813,000849:
034814,000850: # EMSALT 2DEC 90657 B-29 297431 FT (-29) M (LUNAR REENTRY)
034815,000851:
034816,000852: 26,3023 32525 12525 KR4 2DEC .833333333
034817,000853:
034818,000854: 26,3025 23,2501 300KFT EQUALS MINPERE
034819,000855: 26,3025 77777 76601 VEMSCON 2DEC -.0389676 B-14 # = -HS D / 2 PI (-14) M SQ / CS SQ
034820,000856:
034821,000857: # = -16369 .05G 32.2 .3048 .3048/2 PI (-14)
034822,000858:
034823,000859: # SUBROUTINE NAME: FISHCALC (USED BY S61.2) DATE: 01.21.67
034824,000860: # MOD NO: 0 LOG SECTION: P61-P67
034825,000861: # MOD BY: MORTH / BAIRNSFATHER
034826,000862: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 11 MAY 67 INCLUDE GETERAD CALL
034827,000863:
034828,000864: # FUNCTIONAL DESCRIPTION: GIVEN THE PRESENT POSITION, UNITR, CALCULATE A NEW UNITR THAT IS ROTATED THROUGH
034829,000865: # TRANSFER ANGLE, THETA, ALONG TRAJECTORY. THEN CALCULATE SIN(LAT) AND USE TO OBTAIN FISCHER RADIUS.
034830,000866:
034831,000867: # SINCE FISHCALC USES UNI (LEFT BY ENTRY) EARTH SCALING IS ASSUMED. (WILL IMPROVE FOR SUITABLE TENNANT)
034832,000868:
034833,000869: # CALLING SEQUENCE: CALL
034834,000870: # FISHCALC
034835,000871: # ENTER WITH .5 SIN(THETA) IN MPAC.
034836,000872: # PUSHLOC IS AT PDL+0, AN ARBITRARY BASE VALUE IF LEQ 8D
034837,000873:
034838,000874: # SUBROUTINES CALLED: GET ERAD
034839,000875:
034840,000876: # NORMAL EXIT MODE: RVQ
034841,000877:
034842,000878: # EXIT MODES: NONE
034843,000879:
034844,000880: # OUTPUT: ERADM (-29) M IN MPAC ON RETURNING
034845,000881: # NEW UNIT VECTOR NOT SAVED.
034846,000882: # SIN(LAT) NOT SAVED.
034847,000883: # PUSHLOC AT PDL+0
034848,000884:
034849,000885: # ERASEABLE INITIALIZATION REQUIRED:
034850,000886: # SDELF/2 =SIN(THETA) / 2, IN MPAC LEFT BY TFF/TRIG
034851,000887: # CDELF/2 =COS(THETA) / 2, STORED IN PDL 14D LEFT BY TFF/TRIG
034852,000888: # RONE (-29) M LEFT BY USER
034853,000889: # VONE (-7) M/CS LEFT BY USER
034854,000890: # URONE UR/2 LEFT BY USER
034855,000891: # UNI .5 UNIT(V*R) LEFT BY ENTRY / P61
034856,000892: # UNITW UNIT NORTH POLE LEFT BY PAD LOAD
034857,000893:
034858,000894: # DEBRIS: QPRET, PDL+0 ... PDL+5
034859,000895: # - - -
034860,000896: 26,3027 47315 FISHCALC PDVL VXV # URPR = UR CDELF + UHOR SDELF
034861,000897: 26,3030 02343 URONE
034862,000898: 26,3031 03502 UNI
034863,000899: 26,3032 76561 VXSC VSL1
034864,000900: # SIN(THETA) / 2 FROM PDL+0
034865,000901: 26,3033 74315 PDVL VXSC # TO PDL+0, +5
034866,000902: 26,3034 02343 URONE
034867,000903: 26,3035 00017 CDELF/2 # COS(THETA) / 2
034868,000904: 26,3036 45455 VAD STADR
034869,000905: 26,3037 74235 STORE URH # FOR USE IN RTGO FROM EMS DISPLAY
034870,000906: 26,3040 72441 DOT SL1
034871,000907: 26,3041 01714 UNITW # FULL UNIT VECTOR UNIT NORTH
034872,000908: 26,3042 02156 STORE ALPHAV +4 # = .5 SIN(LAT)
034873,000909: 26,3043 77650 DUMPFISH GOTO
034874,000910: 26,3044 26513 GETERAD # SAVES FISCHER RAD (-29) M IN ERADM AND
034875,000911: # IN MPAC. RETURNS TO CALLER VIQ QPRET.
034876,000912:
034877,000913: # SUBROUTINE NAME: VGAMCALC (USED BY S61.2) DATE: 01.21.67
034878,000914: # MOD NO: 0 LOG SECTION: P61-P67
034879,000915: # MOD BY: MORTH / BAIRNSFATHER
034880,000916: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 11 APR 67
034881,000917: # MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 21 NOV 67 VARIABLE MU ADDED.
034882,000918: # MOD NO: 3 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 68 ACCEPT DIFFERENT EARTH/MOON SCALE
034883,000919:
034884,000920: # FUNCTIONAL DESCRIPTION: EARTH CENTERED VIS VIVA CALCULATION OF TERMINAL VELOCITY AND GAMMA (REL TO
034885,000921: # HORIZONTAL) GIVEN THE SCALAR QUANTITIES: PRESENT RADIUS AND VELOCITY AND THE TERMINAL RADIUS.
034886,000922: # THE USER MUST APPEND PROPER SIGN TO GAMMA, SINCE IT IS CALCULATED AS A POSITIVE NUMBER.
034887,000923: # THE EQUATIONS ARE
034888,000924:
034889,000925: # VGAM = SQRT(VN VN/MU + 2(RN-RTERM)/(RN RTERM) ) RTMU
034890,000926:
034891,000927: # COSGAM = H / RTERM VGAM = SQRT (LCP) / (RTERM VGAM/RTMU)
034892,000928:
034893,000929: # VGAMCALC ASSUMES THAT THE TERMINAL RADIUS IS LESS THAN THE PRESENT RADIUS. BOTH CALCTFF AND CALCTPER
034894,000930: # MAKE THIS ASSUMPTION.
034895,000931:
034896,000932: # CALLING SEQUENCE: CALL STCALL RTERM
034897,000933: # VGAMCALC PREVGAM
034898,000934: # PUSHLOC AT PDL+0, ARBITRARY IF LEQ 12D
034899,000935: # C(MPAC) UNSPECIFIED C(MPAC)=NEW RTERM
034900,000936:
034901,000937: # SUBROUTINES CALLED: NONE
034902,000938:
034903,000939: # NORMAL EXIT MODE: RVQ
034904,000940:
034905,000941: # ALARMS: NONE
034906,000942: #
034907,000943: # OUTPUT: GAMMA / 360 IN MPAC, POSITIVE NUMBER
034908,000944: # VGAM E: (-7) M: (-5) M/CS IN PDL+0
034909,000945: # PUSHLOC AT PDL+2
034910,000946:
034911,000947: # ERASABLE INITIALIZATION REQD:
034912,000948: # TFF/RTMU E: (17) M: (14) 1/SQRT(MU) LEFT BY TFFCONIC.
034913,000949: # RMAG1 E: (-29) M: (-27) M PRESENT RADIUS LENGTH LEFT BY TFFCONIC
034914,000950: # NRMAG E: (-29+NR) M NORM LENGTH OF PRESENT POSITION LEFT BY TFFCONIC
034915,000951: # M: (-27+NR)
034916,000952: # RTERM E: (-29) M: (-27) M TERMINAL RADIUS LENGTH LEFT BY CALCTFF
034917,000953: # NRTERM E: (-29+NR) M NORM LENGTH OF TERMINAL RADIUS LEFT BY CALCTFF
034918,000954: # M: (-27+NR)
034919,000955: # TFFVSQ E: (20) M: (18) 1/M -(V SQ/MU): PRESENT VELOCITY, NORM LEFT BY TFFCONIC
034920,000956: # TFFNP E: (-38+2NR) M LCP, SEMI-LATUS RECTUM, WEIGHT NR LEFT BY TFFCONIC
034921,000957: # M: (-36+2NR)
034922,000958:
034923,000959: # DEBRIS: QPRET, PDL+0 ... PDL+3
034924,000960: # RTERM, NRTERM IF PREVGAM ENTERED.
034925,000961:
034926,000962: 26,3045 77657 PREVGAM SL* # ENTER WITH NEW RTERM IN MPAC
034927,000963: # E: (-29) M: (-27)
034928,000964: 26,3046 20201 0,1 # X1 = -NR
034929,000965: 26,3047 00021 STORE NRTERM # RTERM M E: (-29+NR) M: (-27+NR)
034930,000966:
034931,000967: 26,3050 41345 VGAMCALC DLOAD DMP
034932,000968: 26,3051 00041 NRMAG # RMAG M E: (-29+NR) M: (-27+NR)
034933,000969: 26,3052 00021 NRTERM # RTERM M E: (-29+NR) M: (-27+NR)
034934,000970: 26,3053 45325 PDDL DSU # RMAG RTERM M E: (-58+2NR) M: (-54+2NR)
034935,000971: 26,3054 00041 NRMAG # RMAG M E: (-29+NR) M: (-27+NR)
034936,000972: 26,3055 00021 NRTERM # RTERM M E: (-29+NR) M: (-27+NR)
034937,000973: 26,3056 56257 SL* DDV # 2(RN-RTERM) E: (-30+NR) M: (-28+NR)
034938,000974: 26,3057 20171 0 -8D,1 # (-8+NR)
034939,000975: # PUSH UP PRODUCT.
034940,000976: 26,3060 77625 DSU
034941,000977: 26,3061 00025 TFFVSQ # -(V SQ/MU) E: (20) M: (18)
034942,000978: 26,3062 41566 SQRT PUSH # SAVE VGAM/RT(MU) FOR NOW. E: (10) M: (9)
034943,000979: 26,3063 65271 DDV PDDL # XCH PDL+0, LEAVING VGAM FOR OUTPUT.
034944,000980: # VGAM TO PDL M/CS E: (-7) M: (-2)
034945,000981: 26,3064 00037 TFF/RTMU # E: (17) M: (14)
034946,000982: 26,3065 65205 DMP PDDL # RTERM VGAM/RTMU E: (-19+NR) M: (-18+NR)
034947,000983: 26,3066 00021 NRTERM # RTERM M E: (-29+NR) M: (-27+NR)
034948,000984: 26,3067 00035 TFFNP # LC P =H.H/MU M E: (-38+2NR) M: (-36+2NR)
034949,000985: 26,3070 56366 SQRT DDV # E: (-19+NR) M: (-18+NR)
034950,000986: # PUSH UP DEN E: (-19+NR) M: (-18+NR)
034951,000987: # USE DDV OVFL AS LIMITER (|COS| <1.0)
034952,000988: 26,3071 65542 SR1 ACOS
034953,000989: 26,3072 77616 DUMPVGAM RVQ
034954,000990: # CALLER MUST SUPPLY OWN SIGN ...
034955,000991: # 22W 27MS
034956,000992:
034957,000993: # SUBROUTINE NAME: TFF/TRIG (USED BY S61.2) DATE 01.17.67
034958,000994: # MOD NO: 0 LOG SECTION: P61-P67
034959,000995: # MOD BY: RR BAIRNSFATHER
034960,000996: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 14 APR 67
034961,000997: # MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 68 ACCEPT DIFFERENT EARTH/MOON SCALE
034962,000998:
034963,000999: # FUNCTIONAL DESCRIPTION: USED BY ENTRY DISPLAY TO CALCULATE SIN(THETA), COS(THETA) FROM DATA LEFT IN
034964,001000: # PDL BY TFF SUBROUTINES. THE EQNS ARE
034965,001001:
034966,001002: # COS(THETA) = 1-2 ABS(ARG) / (RN RTERM (1+X) )
034967,001003: # 2
034968,001004: # SIN(THETA) = SGN(ARG) SQRT(1-COS (THETA) )
034969,001005:
034970,001006: # WHERE THETA = TRANSFER ANGLE
034971,001007: # AND ARG = P Z ABS(Z) IF ALFA ZZ LEQ 1
034972,001008: # ARG = (P / ALFA) SGN(Q1 + R 1/Z) IF ALFA Z Z G 1
034973,001009: # AND ARG HAS BEEN AFFIXED WITH THE SIGN OF SIN(THETA).
034974,001010:
034975,001011: # CALLING SEQUENCE: CALL
034976,001012: # TFF/TRIG
034977,001013: # PUSHLOC AT PDL+0, ARBITRARY IF NOT EQ 14D
034978,001014: # C(MPAC) UNSPECIFIED
034979,001015:
034980,001016: # SUBROUTINES CALLED: NONE
034981,001017:
034982,001018: # NORMAL EXIT MODES: RVQ
034983,001019:
034984,001020: # ALARMS: NONE
034985,001021:
034986,001022: # OUTPUT: C(MPAC) = .5 SIN(THETA)
034987,001023: # CDELF/2 = .5 COS(THETA) (IN PDL 14D)
034988,001024: # PUSHLOC AT PDL+0
034989,001025:
034990,001026: # ERASABLE INITIALIZATION REQUIRED:
034991,001027: # TFFX X LEFT BY CALCTFF OR CALCTPER
034992,001028: # TFFTEM E: (-59+2NR) ARG LEFT BY CALCTFF OR CALCTPER
034993,001029: # M: (-55+2NR) WHERE ARG = LCP ZZ SGN(DELF) OR ARG = LCP/ALFA SGN(DELF)
034994,001030: # NRTERM E: (-29+NR) M NORM LENGTH OF TERMINAL RADIUS LEFT BY CALCTFF OR CALCTPER
034995,001031: # M: (-27+NR)
034996,001032: # NRMAG E: (-29+NR) M NORM LENGTH OF PRESENT POSITION LEFT BY TFFCONIC
034997,001033: # M: (-27+NR)
034998,001034:
034999,001035: # DEBRIS: QPRET, CDELF/2
035000,001036:
035001,001037: 27,2632 BANK 27
035002,001038: 27,2000 SETLOC P60S5
035003,001039: 27,2000 BANK
035004,001040: 27,2632 70545 TFF/TRIG DLOAD SR1
035005,001041: 27,2633 00043 TFFX
035006,001042: 27,2634 41215 DAD DMP
035007,001043: 27,2635 15332 HIDPHALF
035008,001044: 27,2636 00041 NRMAG # RMAG M E: (-29+NR) M: (-27+NR)
035009,001045: 27,2637 55205 DMP BDDV
035010,001046: 27,2640 00021 NRTERM # RTERM M E: (-29+NR) M: (-27+NR)
035011,001047: 27,2641 00045 TFFTEM # P ZSQ OR P/ALFA E: (-59+2NR) M: (-55+2NR)
035012,001048: 27,2642 44246 ABS BDSU # THE SIGN IS FOR SDELF.
035013,001049: 27,2643 15332 HIDPHALF
035014,001050: 27,2644 00017 STORE CDELF/2 # .5 COS(THETA)
035015,001051: 27,2645 57516 DSQ DCOMP # KEEP HONEST FOR SQRT.
035016,001052: 27,2646 75415 DAD SQRT
035017,001053: 27,2647 15324 HIDP1/4
035018,001054: 27,2650 43565 DUMPTRIG SIGN RVQ
035019,001055: 27,2651 00045 TFFTEM # AFFIX SIGN(DELE/2)
035020,001056: # RETURN WITH .5 SIN(THETA) IN MPAC
035021,001057:
035022,001058: # 16W 15MS
035023,001059:
035024,001060: 27,2652 77620 DISPTARG STQ # C(MPAC) = TRGO ESTIMATE
035025,001061: 27,2653 03373 60GENRET
035026,001062: 27,2654 43205 DMP DAD # (TTE1 IS POSITIVE)
035027,001063: 27,2655 15002 KTETA1
035028,001064: 27,2656 03733 TTE1
035029,001065: 27,2657 37606 STCALL DTEAROT
035030,001066: 27,2660 46225 EARROT2
035031,001067: 27,2661 77624 CALL
035032,001068: 27,2662 56665 VRCALC
035033,001069: 27,2663 77650 GOTO
035034,001070: 27,2664 03373 60GENRET
035035,001071: 27,2665 50375 VRCALC VLOAD DOT
035036,001072: 27,2666 03542 URH
035037,001073: 27,2667 03474 RT
035038,001074: 27,2670 65512 SL2 ACOS
035039,001075: 27,2671 77616 RVQ
035040,001076:
035041,001077: # END OF PROGRAM S61.2
035042,001078:
035043,001079: # PROGRAM DESCRIPTION S62.3 DATE 10JAN67
035044,001080: # MOD NO 1 LOG SECTION P60-P67
035045,001081: # MOD BY ZELDIN
035046,001082: # MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 15 MAY 67 CHANGED TO REF COORDS.
035047,001083: # MOD NO: 3 MOD BY: RR BAIRNSFATHER DATE: 17 JAN 68 ALFAPAD CHANGES MADE.
035048,001084:
035049,001085: # FUNCTIONAL DESCRIPTION
035050,001086:
035051,001087: # COMPUTE DESIRED GIMBOL ANGLES FOR ENTRY ATTITUDE
035052,001088: # THE FOLLOWING TRAJECTORY TRIAD IS AVAILABLE IN MEMORY AND IS COMPUTED EACH 2 SECONDS BY CM/POSE IN
035053,001089: # REFERENCE COORDINATES (V = VELOCITY RELATIVE TO EARTH) :
035054,001090:
035055,001091: # UXA = -UNIT(V)
035056,001092: # UYA = UNIT(V*R)
035057,001093: # UZA = UXA*UYA
035058,001094:
035059,001095: # GENERATE A DESIRED BODY TRIAD FOR TRIMMED FLIGHT WITH RESPECT TO THE RELATIVE VELOCITY VECTOR, USING
035060,001096: # ROLL COMMAND AND TRIM ANGLE OF ATTACK:
035061,001097:
035062,001098: # UXD = UNIT(UYD*UXA) SIN(ALFATRIM) + UXA COS(ALFATRIM)
035063,001099: # UYD = UYA COS(ROLLC) + UZA SIN(ROLLC)
035064,001100: # UZD = UXD * UYD
035065,001101:
035066,001102: # USE THE DESIRED SET (IN REFERENCE COORDS) AND REFSMMAT TO CALL CALCGA AND OBTAIN GIMBAL ANGLES
035067,001103: # IN 2S, C IN MPAC, +2 AND THETAD, +2.
035068,001104:
035069,001105: # CALLING SEQUENCE
035070,001106:
035071,001107: # L CALL
035072,001108: # L+1 S62.3
035073,001109:
035074,001110: # NORMAL EXIT MODE
035075,001111:
035076,001112: # RETURN VIA QPRET DIRECTLY FROM CALCGA.
035077,001113:
035078,001114: # SUBROUTINES CALLED
035079,001115:
035080,001116: # CALCGA
035081,001117:
035082,001118: # ALARM OR ABORT MODES
035083,001119:
035084,001120: # NONE
035085,001121:
035086,001122: # ERASABLE INITIALIZATION REQUIRED
035087,001123:
035088,001124: # ROLLC ROLL COMMAND DP 1:S COMP AT 1REV
035089,001125: # ALFAPAD SP 1S,C / 180 LEFT BY PAD LOAD ALFATRIM IS NEGATIVE.
035090,001126: # UXA/2 REF COORDS LEFT BY CM/POSE
035091,001127: # UYA/2 REF COORDS LEFT BY CM/POSE
035092,001128: # UZA/2 REF COORDS LEFT BY CM/POSE
035093,001129:
035094,001130: # OUTPUT
035095,001131: #
035096,001132: # CPHI GIMBAL ANGLES (O,I,M) 2:S COMP TP (O,I,M)/180
035097,001133:
035098,001134: # DEBRIS
035099,001135:
035100,001136: # QTEMP, QPRET, PUSHLIST
035101,001137:
035102,001138: 10,2376 BANK 10
035103,001139: 10,2000 SETLOC P60S4
035104,001140: 10,2000 BANK
035105,001141: 10,2376 COUNT* $$/S62.3
035106,001142:
035107,001143: 10,2376 67201 S62.3 SETPD SLOAD
035108,001144: 10,2377 00001 0
035109,001145: 10,2400 03012 ALFAPAD # ALFATRIM / 180, ALFA IS NEG.
035110,001146: 10,2401 41542 SR1 PUSH
035111,001147: 10,2402 65346 COS PDDL # XCH PDL, COS TO PDL0
035112,001148: 10,2403 65356 SIN PDDL # SIN TO PDL2
035113,001149: 10,2404 03316 ROLLC
035114,001150: 10,2405 74346 COS VXSC
035115,001151: 10,2406 03550 UYA/2 # REF COORDS
035116,001152: 10,2407 73525 PDDL SIN # PUSH VECTOR INTO PDL4,.9
035117,001153: 10,2410 03316 ROLLC
035118,001154: 10,2411 53361 VXSC VAD
035119,001155: 10,2412 03556 UZA/2 # REF COORDS
035120,001156: # VECTOR FROM PDL4, 9
035121,001157: 10,2413 77772 VSL1
035122,001158: 10,2414 02722 STORE YNB # = UYD REF COORDS
035123,001159:
035124,001160: 10,2415 76435 VXV VSL1
035125,001161: 10,2416 03542 UXA/2 # REF COORDS
035126,001162: 10,2417 65361 VXSC PDDL
035127,001163: # SIN TRIM FROM PDL2
035128,001164: # XCH PDL0 FOR COS TRIM
035129,001165: 10,2420 53361 VXSC VAD
035130,001166: 10,2421 03542 UXA/2 # REF COORDS
035131,001167: # FROM PDL0
035132,001168: 10,2422 77772 VSL1
035133,001169: 10,2423 02714 STORE XNB # X SC AXIS (.5 UNIT) REF COORDS
035134,001170:
035135,001171: 10,2424 76435 VXV VSL1
035136,001172: 10,2425 02722 YNB
035137,001173: 10,2426 26730 STOVL ZNB # Z SC IN REF COOR. SCALED AT 2
035138,001174: 10,2427 01736 REFSMMAT
035139,001175: 10,2430 26672 STOVL XSM
035140,001176: 10,2431 01744 REFSMMAT +6
035141,001177: 10,2432 26700 STOVL YSM
035142,001178: 10,2433 01752 REFSMMAT +12D
035143,001179: 10,2434 02706 STORE ZSM
035144,001180:
035145,001181: 10,2435 52014 CLEAR GOTO
035146,001182: 10,2436 00260 CPHIFLAG # CAUSE CALCGA TO STORE ANS IN TP CPHI
035147,001183: 10,2437 47313 CALCGA
035148,001184: # CALCGA WILL RETURN TO ORIGINAL CALLER
035149,001185: # VIA QPRET WITH 2,S COMP. ANGLES IN CPHI
035150,001186:
035151,001187:
035152,001188:
End of include-file P61-P67.agc. Parent file is MAIN.agc