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