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