Source Code
![]() |
These source-code files were transcribed from a printout in Don Eyles's personal
collection, scanned by archive.org, and financially sponsored by Linden Sims.
A team of volunteers performed the transcription and proof-reading. The scanned
page images are available at
the Virtual AGC Project website, as well as higher-quality (but much larger)
images at
the Virtual AGC Project's collection in the Internet Archive. Report any problems by creating
"issues" at
the Virtual AGC Project's GitHub Repository. Notations on the program listing read, in part: GAP: ASSEMBLE REVISION 56 OF AGC PROGRAM ZERLINA BY ZOROASTER 9:12 OCT. 21,1970Note that the date is the date of the printout, not the date of the program revision. |
054953,000002: ## Copyright: Public domain.
054954,000003: ## Filename: TIME_OF_FREE_FALL.agc
054955,000004: ## Purpose: A log section of Zerlina 56, the final revision of
054956,000005: ## Don Eyles's offline development program for the variable
054957,000006: ## guidance period servicer. It also includes a new P66 with LPD
054958,000007: ## (Landing Point Designator) capability, based on an idea of John
054959,000008: ## Young's. Neither of these advanced features were actually flown,
054960,000009: ## but Zerlina was also the birthplace of other big improvements to
054961,000010: ## Luminary including the terrain model and new (Luminary 1E)
054962,000011: ## analog display programs. Zerlina was branched off of Luminary 145,
054963,000012: ## and revision 56 includes all changes up to and including Luminary
054964,000013: ## 183. It is therefore quite close to the Apollo 14 program,
054965,000014: ## Luminary 178, where not modified with new features.
054966,000015: ## Reference: pp. 1257-1272
054967,000016: ## Assembler: yaYUL
054968,000017: ## Contact: Ron Burkey <info@sandroid.org>.
054969,000018: ## Website: www.ibiblio.org/apollo/index.html
054970,000019: ## Mod history: 2017-07-28 MAS Created from Luminary 210.
054971,000020: ## 2017-08-29 RSB Transcribed.
054972,000021:
![]() |
Page 1257 |
054974,000023: # THE TFF SUBROUTINES MAY BE USED IN EITHER EARTH OR MOON CENTERED COORDINATES. THE TFF ROUTINES NEVER
054975,000024: # KNOW WHICH ORIGIN APPLIES. IT IS THE USER WHO KNOWS, AND WHO SUPPLIES RONE, VONE AND 1/SQRT(MU) AT THE
054976,000025: # APPROPRIATE SCALE LEVEL FOR THE PROPER PRIMARY BODY.
054977,000026:
054978,000027: # EARTH ORIGIN POSITION -29 METERS
054979,000028: # VELOCITY -7 METERS/CENTISECOND
054980,000029: # 1/SQRT(MU) +17 SQRT(CS SQ/METERS CUBED)
054981,000030:
054982,000031: # MOON ORIGIN POSITION -27 METERS
054983,000032: # VELOCITY -5 METERS/CENTISECONDS
054984,000033: # 1/SQRT(MU) +14 SQRT(CS SQ/METERS CUBED)
054985,000034:
054986,000035: # ALL DATA PROVIDED TO AND RECEIVED FROM ANY TFF SUBROUTINE WILL BE AT ONE OF THE LEVELS ABOVE. IN ALL CASES,
054987,000036: # THE FREE FALL TIME IS RETURNED IN CENTISECONDS AT (-28). PROGRAM TFF/CONIC WILL GENERATE VONE/RTMU AND
054988,000037: # LEAVE IT IN VONE' AT (+10) IF EARTH ORIGIN AND (+9) IF MOON ORIGIN.
054989,000038: # THE USER MUST STORE THE STATE VECTOR IN RONE, VONE AND MU IN THE FORM 1/SQRT(MU) IN TFF/RTMU
054990,000039: # AT THE PROPER SCALE BEFORE CALLING TFF/CONIC. SINCE RONE, VONE ARE IN THE EXTENDED VERB STORAGE AREA,
054991,000040: # THE USER MUST ALSO LOCK OUT THE EXTENDED VERBS, AND RELEASE THEM WHEN FINISHED.
054992,000041: # PROGRAMS CALC/TFF AND CALC/TPER ASSUME THAT THE TERMINAL RADIUS IS LESS THAN THE PRESENT
054993,000042: # RADIUS. THIS RESTRICTION CAN BE REMOVED BY A 15 W CODING CHANGE, BUT AT PRESENT IT IS NOT DEEMED NECESSARY.
054994,000043:
054995,000044: # THE FOLLOWING ERASABLE QUANTITIES ARE USED BY THE TFF ROUTINES, AND ARE LOCATED IN THE PUSH LIST.
054996,000045:
054997,000046: # BELOW E: IS USED FOR EARTH ORIGIN SCALE
054998,000047: # M: IS USED FOR MOON ORIGIN SCALE
054999,000048:
055000,000049: # TFFSW = 119D BIT1 0 = CALCTFF 1 = CALCTPER
055001,000050: 10,2213 TFFDELQ = 10D # Q2-Q1 E: (-16) M: (-15)
055002,000051: 10,2213 RMAG1 = 12D # ABVAL(RN) M E: (-29) M: (-27)
055003,000052: # RPER = 14D PERIGEE RADIUS M E: (-29) M: (-27)
055004,000053: 10,2213 TFFQ1 = 14D # R.V / SQRT(MUE) E: (-16) M: (-15)
055005,000054: # SDELF/2 SIN(THETA) /2
055006,000055: 10,2213 CDELF/2 = 14D # COS(THETA) /2
055007,000056: # RAPO = 16D APOGEE RADIUS M E: (-29) M: (-27)
055008,000057: 10,2213 NRTERM = 16D # TERMINAL RADIUS M E: (-29+NR)
055009,000058: # M: (-27+NR)
055010,000059: 10,2213 RTERM = 18D # TERMINAL RADIUS M E: (-29) M: (-27)
055011,000060: 10,2213 TFFVSQ = 20D # -(V SQUARED/MU) 1/M E: (20) M: (18)
055012,000061: 10,2213 TFF1/ALF = 22D # SEMI MAJ AXIS M E: (-22-2 NA)
055013,000062: # M: (-20-2 NA)
055014,000063: 10,2213 TFFRTALF = 24D # SQRT(ALFA) E: (10+NA) M: (9+NA)
055015,000064: 10,2213 TFFALFA = 26D # ALFA 1/M E: (26-NR) M: (24-NR)
055016,000065: 10,2213 TFFNP = 28D # SEMI LATUS RECTUM M E: (-38+2 NR)
055017,000066: # M: (-36+2 NR)
055018,000067: 10,2213 TFF/RTMU = 30D # 1/SQRT(MU) E: (17) M: (14)
055019,000068: 10,2213 NRMAG = 32D # PRESENT RADIUS M E: (-29+NR)
055020,000069: # M: (-27+NR)
055021,000070: 10,2213 TFFX = 34D
055022,000071: 10,2213 TFFTEM = 36D # TEMPORARY
055023,000072:
![]() |
Page 1258 |
055025,000074: # REGISTERS S1, S2 ARE UNTOUCHED BY ANY TFF SUBROUTINE
055026,000075: # INDEX REGISTERS X1, X2 ARE USED BY ALL TFF SUBROUTINES. THEY ARE ESTAB-
055027,000076: # LISHED IN TFF/CONIC AND MUST BE PRESERVED BETWEEN CALLS TO SUBSEQUENT
055028,000077: # SUBROUTINES.
055029,000078: # -NR C(X1) = NORM COUNT OF RMAG
055030,000079: # -NA C(X2)= NORM COUNT OF SQRT(ABS(ALFA))
055031,000080:
![]() |
Page 1259 |
055033,000082:
055034,000083:
055035,000084: # SUBROUTINE NAME: TFFCONIC DATE: 01.29.67
055036,000085: # MOD NO: 0 LOG SECTION: TIME OF FREE FALL
055037,000086: # MOD BY: RR BAIRNSFATHER
055038,000087: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 11 APR 67
055039,000088: # MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 21 NOV 67 ADD MOON MU.
055040,000089: # MOD NO: 3 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 68 ACCEPT DIFFERENT EARTH/MOON SCALES
055041,000090: # FUNCTIONAL DESCRIPTION: THIS SUBROUTINE IS CALLED TO COMPUTE THOSE CONIC PARAMETERS REQUIRED BY THE TFF
055042,000091: # SUBROUTINES AND TO ESTABLISH THEM IN THE PUSH LIST AREA. THE PARAMETERS ARE LISTED UNDER OUTPUT.
055043,000092: # THE EQUATIONS ARE
055044,000093: # - - -
055045,000094: # H = RN*VN ANGULAR MOMENTUM
055046,000095: # - -
055047,000096: # LCP = H.H / MU SEMI LATUS RECTUM
055048,000097: # - -
055049,000098: # ALFA = 2/RN - VN.VN / MU RECIPROCAL SEMI MAJ AXIS, SIGNED
055050,000099:
055051,000100: # AND ALFA IS POS FOR ELLIPTIC ORBITS
055052,000101: # 0 FOR PARABOLIC ORBITS
055053,000102: # NEG FOR HYPERBOLIC ORBITS.
055054,000103: # SUBROUTINE ALSO COMPUTES AND SAVES RMAG.
055055,000104: # CALLING SEQUENCE:
055056,000105: # TFFCONIC EXPECTS CALLER TO ENTER WITH CORRECT GRAVITATIONAL CONSTANT IN MPAC, IN THE FORM
055057,000106: # 1/SQRT(MU). PROGRAM WILL SAVE IN TFF/RTMU . THE SCALE IS DETERMINED BY WHETHER EARTH OR MOON
055058,000107: # ORIGIN IS USED. THE CALLER MUST LOCK OUT THE EXTENDED VERBS BEFORE PROVIDING STATE VECTOR IN RONE,
055059,000108: # VONE AT PROPER SCALE. THE EXTENDED VERBS MUST BE RESTORED WHEN THE CALLER IS FINISHED USING THE
055060,000109: # TFF ROUTINES.
055061,000110: # ENTRY POINT TFFCONMU EXPECTS THAT TFF/RTMU IS ALREADY LOADED.
055062,000111: # TO SPECIFY MU: DLOAD CALL IF MU ALREADY STORED: CALL
055063,000112: # YOURMU 1/RTMU E: (17) M: (14) TFFCONMU
055064,000113: # TFFCONIC
055065,000114: # PUSHLOC = PDL+0, ARBITRARY IF LEQ 18D
055066,000115:
055067,000116: # SUBROUTINES CALLED: NONE
055068,000117: # NORMAL EXIT MODES: RVQ
055069,000118: # ALARMS: NONE
055070,000119: # OUTPUT: THE FOLLOWING ARE STORED IN THE PUSH LIST AREA.
055071,000120: # RMAG1 E:(-29) M:(-27) M RN, PRESENT RADIUS LENGTH.
055072,000121: # NRMAG E: (-29+NR) M RMAG, NORMALIZED
055073,000122: # M: (-27+NR)
055074,000123: # X1 -NR, NORM COUNT
055075,000124: # TFFNP E: (-38+2NR) M LCP, SEMI LATUS RECTUM, WEIGHTED BY NR. FOR VGAMCALC
055076,000125: # M: (-36+2NR)
055077,000126: # TFF/RTMU E:(17) M:(14) 1/SQRT(MU)
055078,000127: # TFFVSQ E:(20) M:(18) 1/M -(V SQ/MU): PRESENT VELOCITY,NORMLIZED. FOR VGAMCALC
055079,000128: # TFFALFA E: (26-NR) 1/M ALFA, WEIGHTED BY NR
055080,000129: # M: (24-NR)
055081,000130: # TFFRTALF E: (10+NA) SQRT(ALFA), NORMALIZED
055082,000131: # M: (9+NA)
![]() |
Page 1260 |
055084,000133: # X2 -NA, NORM COUNT
055085,000134: # TFF1/ALF E: (-22-2NA) SIGNED SEMI MAJ AXIS, WEIGHTED BY NA
055086,000135: # M: (-20-2NA)
055087,000136: # PUSHLOC AT PDL+0
055088,000137: # THE FOLLOWING IS STORED IN GENERAL ERASABLE
055089,000138: # VONE' E:(10) M:(9) V/RT(MU), NORMALIZED VELOCITY
055090,000139: # ERASABLE INITIALIZATION REQUIRED:
055091,000140: # RONE E:(-29) M:(-27) M STATE VECTOR LEFT BY CALLER
055092,000141: # VONE E:(-7) M:(-5) M/CS STATE VECTOR LEFT BY CALLER
055093,000142: # TFF/RTMU E:(17) M:(14) 1/RT(CS SQ/M CUBE) IF ENTER VIA TFFCONMU.
055094,000143: # DEBRIS: QPRET, PDL+0 ... PDL+3
055095,000144:
055096,000145:
055097,000146: 33,3766 BANK 33
055098,000147: 27,2000 SETLOC TOF-FF
055099,000148: 27,2000 BANK
055100,000149:
055101,000150: 27,3342 COUNT* $$/TFF
055102,000151:
055103,000152: 27,3342 00037 TFFCONIC STORE TFF/RTMU # 1/SQRT(MU) E: (17) M: (14)
055104,000153:
055105,000154: 27,3343 53575 TFFCONMU VLOAD UNIT # COME HERE WITH TFFRTMU LOADED.
055106,000155: 27,3344 02200 RONE # SAVED RN. M E: (-29) M: (-27)
055107,000156: 27,3345 77725 PDDL # UR/2 TO PDL+0, +5
055108,000157: 27,3346 00045 36D # MAGNITUDE
055109,000158: 27,3347 00015 STORE RMAG1 # M E: (-29) M: (-27)
055110,000159:
055111,000160: 27,3350 77701 NORM
055112,000161: 27,3351 00047 X1 # -NR
055113,000162: 27,3352 24041 STOVL NRMAG # RMAG M E: (-29+NR) M: (-27+NR)
055114,000163: 27,3353 02206 VONE # SAVED VN. M/CS E: (-7) M: (-5)
055115,000164: 27,3354 77761 VXSC
055116,000165: 27,3355 00037 TFF/RTMU # E: (17) M: (14)
055117,000166: 27,3356 02161 STORE VONE' # VN/SQRT(MU) E: (10) M: (9)
055118,000167:
055119,000168: 27,3357 47361 VXSC VXV
055120,000169: 27,3360 00041 NRMAG # E: (-29+NR) M: (-27+NR)
055121,000170: # UR/2 FROM PDL
055122,000171: 27,3361 47572 VSL1 VSQ # BEFORE: E:(-19+NR) M:(-18+NR)
055123,000172: 27,3362 14035 STODL TFFNP # LC P M E:(-38+2NR) M:(-36+2NR)
055124,000173: # SAVE ALSO FOR VGAMCALC
055125,000174: 27,3363 06510 TFF1/4
055126,000175: 27,3364 63271 DDV PDVL # (2/RMAG) 1/M E:(26-NR) M:(24-NR)
055127,000176: 27,3365 00041 NRMAG # RMAG M E:(-29+NR) M:(-27+NR)
055128,000177: 27,3366 02161 VONE' # SAVED VN. E: (10) M: (9)
055129,000178: 27,3367 57436 VSQ DCOMP # KEEP MPAC+2 HONEST FOR SQRT.
055130,000179: 27,3370 00025 STORE TFFVSQ # -(V SQ/MU) E:(20) M:(18)
055131,000180: # SAVE FOR VGAMCALC
055132,000181: 27,3371 43257 SR* DAD
![]() |
Page 1261 |
055134,000183: 27,3372 20573 0 -6,1 # GET -VSQ/MU E:(26-NR) M:(24-NR)
055135,000184: 27,3373 77626 STADR
055136,000185: # 2/RMAG FROM PDL+2
055137,000186: 27,3374 77744 STORE TFFALFA # ALFA 1/M E:(26-NR) M:(24-NR)
055138,000187: 27,3375 41457 SL* PUSH # TEMP SAVE ALFA E:(20) M:(18)
055139,000188: 27,3376 20173 0 -6,1
055140,000189: 27,3377 75446 ABS SQRT # E:(10) M:(9)
055141,000190: 27,3400 77701 NORM
055142,000191: 27,3401 00050 X2 # X2 = -NA
055143,000192: 27,3402 00031 STORE TFFRTALF # SQRT( ABS(ALFA) ) E:(10+NA) M:(9+NA)
055144,000193: 27,3403 75316 DSQ SIGN # NOT SO ACCURATE, BUT OK
055145,000194: # ALFA FROM PDL+2 E:(20) M:(18)
055146,000195: 27,3404 55254 BZE BDDV # SET 1/ALFA =0, TO SHOW SMALL ALFA
055147,000196: 27,3405 57407 +2
055148,000197: 27,3406 06510 TFF1/4
055149,000198: 27,3407 00027 +2 STORE TFF1/ALF # 1/ALFA E:(-22-2 NA) M:(-20-2 NA)
055150,000199: 27,3410 77616 DUMPCNIC RVQ
055151,000200:
055152,000201: # 39 W
055153,000202:
![]() |
Page 1262 |
055155,000204: # SUBROUTINE NAME: TFFRP/RA DATE: 01.17.67
055156,000205: # MOD NO: 0 LOG SECTION: TIME OF FREE FALL
055157,000206: # MOD BY: RR BAIRNSFATHER
055158,000207: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 11 APR 67
055159,000208: # MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 68 ACCEPT DIFFERENT EARTH/MOON SCALES
055160,000209: # ALSO IMPROVE ACCURACY OF RAPO.
055161,000210: # FUNCTIONAL DESCRIPTION: USED BY CALCTPER AND TFF DISPLAYS TO CALCULATE PERIGEE RADIUS AND ALSO
055162,000211: # APOGEE RADIUS FOR A GENERAL CONIC.
055163,000212: # PROGRAM GIVES PERIGEE RADIUS AS APOGEE RADIUS IS GIVEN BY
055164,000213: # RP = P /(1+E) RA = (1+E) / ALFA
055165,000214: # WHERE 2
055166,000215: # E = 1 - P ALFA
055167,000216: # IF RA IS NEGATIVE OR SHOWS DIVIDE OVERFLOW, THEN RA = POSMAX BECAUSE
055168,000217: # 1. APOGEE RADIUS IS NOT MEANINGFUL FOR HYPERBOLA
055169,000218: # 2. APOGEE RADIUS IS NOT DEFINED FOR PARABOLA
055170,000219: # 3. APOGEE RADIUS EXCEEDS THE SCALING FOR ELLIPSE.
055171,000220: # THIS SUBROUTINE REQUIRES THE SIGNED RECIPROCAL SEMI MAJ AXIS, ALFA, AND SEMI LATUS RECTUM AS DATA.
055172,000221: # CALLING SEQUENCE: CALL
055173,000222: # TFFRP/RA
055174,000223: # PUSHLOC = PDL+0, ARBITRARY IF LEQ 10D
055175,000224: # C(MPAC) UNSPECIFIED
055176,000225:
055177,000226: # SUBROUTINES CALLED: NONE
055178,000227: # NORMAL EXIT MODE: RVQ
055179,000228: # IF ELLIPSE, WITHIN NORMAL SCALING, RAPO IS CORRECT.
055180,000229: # OTHERWISE, RAPO = POSMAX.
055181,000230: # ALARMS: NONE
055182,000231: # OUTPUT: STORED IN PUSH LIST AREA. SCALE OF OUTPUT AGREES WITH DATA SUPPLIED TO TFF/CONIC.
055183,000232: # RPER E:(-29) M:(-27) M PERIGEE RADIUS DESTROYED BY CALCTFF/CALCTPER, TFFTRIG.
055184,000233: # RAPO E:(-29) M:(-27) M APOGEE RADIUS WILL BE DESTROYED BY CALCTFF/CALCTPER
055185,000234: # PUSHLOC AT PDL+0
055186,000235: # ERASABLE INITIALIZATION REQUIRED:
055187,000236: # TFFALFA E:(26-NR) M 1/SEMI MAJ AXIS LEFT BY TFFCONIC
055188,000237: # M:(24-NR)
055189,000238: # TFFNP E: (-38+2NR) M LC P, SEMI LATUS RECTUM LEFT BY TFFCONIC
055190,000239: # M: (-36+2NR)
055191,000240: # X1 -NR, NORM COUNT OF RMAG LEFT BY TFFCONIC
055192,000241: # X2 -NA, NORM COUNT OF ALFA LEFT BY TFFCONIC
055193,000242: # DEBRIS: QPRET, PDL+0 ... PDL+1
055194,000243:
![]() |
Page 1263 |
055196,000245: 27,3411 RAPO = 16D # APOGEE RADIUS M E:(-29) M:(-27)
055197,000246: 27,3411 RPER = 14D # PERIGEE RADIUS M E:(-29) M:(-27)
055198,000247:
055199,000248: 27,3411 41345 TFFRP/RA DLOAD DMP
055200,000249: 27,3412 00033 TFFALFA # ALFA 1/M E:(26-NR) M:(24-NR)
055201,000250: 27,3413 00035 TFFNP # LC P M E:(-38+2NR) M:(-36+2NR)
055202,000251: 27,3414 57457 SR* DCOMP # ALFA P (-12+NR)
055203,000252: 27,3415 20571 0 -8D,1 # ALFA P (-4)
055204,000253: 27,3416 51415 DAD ABS # (DCOMP GIVES VALID TP RESULT FOR SQRT)
055205,000254: # (ABS PROTECTS SQRT IF E IS VERY NEAR 0)
055206,000255: 27,3417 17747 DP2(-4)
055207,000256: 27,3420 43366 SQRT DAD # E SQ = (1- P ALFA) (-4)
055208,000257: 27,3421 06510 TFF1/4
055209,000258: 27,3422 55206 PUSH BDDV # (1+E) (-2) TO PDL+0
055210,000259: 27,3423 00035 TFFNP # LCP M E:(-38+2NR) M:(-36+2NR)
055211,000260: 27,3424 53657 SR* SR* # (DOES SR THEN SL TO AVOID OVFL)
055212,000261: 27,3425 20601 0,1 # X1=-NR
055213,000262: 27,3426 20572 0 -7,1 # (EFFECTIVE SL)
055214,000263: 27,3427 14017 STODL RPER # PERIGEE RADIUS M E:(-29) M:(-27)
055215,000264: # (1+E) (-2) FROM PDL+0
055216,000265: 27,3430 41005 DMP BOVB
055217,000266: 27,3431 00027 TFF1/ALF # E:(-22-2NA) M:(-20-2NA)
055218,000267: 27,3432 57735 TCDANZIG # CLEAR OVFIND, IF ON.
055219,000268: 27,3433 53654 BZE SL*
055220,000269: 27,3434 57443 MAXRA # SET POSMAX, IF ALFA=0
055221,000270: 27,3435 57603 0 -5,2 # -5+NA
055222,000271: 27,3436 40057 SL* BOV
055223,000272: 27,3437 57576 0,2
055224,000273: 27,3440 57443 MAXRA # SET POSMAX IF OVFL.
055225,000274: 27,3441 77644 BPL # CONTINUE WITH VALID RAPO.
055226,000275: 27,3442 57445 +3
055227,000276: 27,3443 77745 MAXRA DLOAD # RAPO CALC IS NOT VALID. SET RAPO =
055228,000277: 27,3444 17753 NEARONE # POSMAX AS A TAG.
055229,000278: 27,3445 00021 +3 STORE RAPO # APOGEE RADIUS M E:(-29) M:(-27)
055230,000279: 27,3446 77616 DUMPRPRA RVQ
055231,000280:
055232,000281: # 30 W
055233,000282:
![]() |
Page 1264 |
055235,000284: # SUBROUTINE NAME: CALCTPER / CALCTFF DATE: 01.29.67
055236,000285: # MOD NO: 0 LOG SECTION: TIME OF FREE FALL
055237,000286: # MOD BY: RR BAIRNSFATHER
055238,000287: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 67
055239,000288: # MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 14 APR 67
055240,000289: # MOD NO: 3 MOD BY: RR BAIRNSFATHER DATE: 8JUL 67 NEAR EARTH MUE AND NEG TFF (GONEPAST)
055241,000290: # MOD NO: 4 MOD BY: RR BAIRNSFATHER DATE: 21 NOV 67 ADD VARIABLE MU.
055242,000291: # MOD NO: 5 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 68 ACCEPT DIFFERENT EARTH/MOON SCALES
055243,000292: # FUNCTIONAL DESCRIPTION: PROGRAM CALCULATES THE FREE-FALL TIME OF FLIGHT FROM PRESENT POSITION RN AND
055244,000293: # VELOCITY VN TO A RADIUS LENGTH SPECIFIED BY RTERM , SUPPLIED BY THE USER. THE POSITION VECTOR
055245,000294: # RN MAY BE ON EITHER SIDE OF THE CONIC, BUT RTERM IS CONSIDERED ON THE INBOUND SIDE.
055246,000295: # THE EQUATIONS ARE
055247,000296:
055248,000297: # Q2 = -SQRT(RTERM (2-RTERM ALFA) - LCP) (INBOUND SIDE)) LEQ +- LCE/SQRT(ALFA)
055249,000298: # - -
055250,000299: # Q1 = RN.VN / SQRT(MU) LEQ +- LCE/SQRT(ALFA)
055251,000300:
055252,000301: # Z = NUM / DEN LEQ +- 1/SQRT(ALFA)
055253,000302:
055254,000303: # WHERE, IF INBOUND
055255,000304: # NUM = RTERM - RN LEQ +- 2 LCE/ALFA
055256,000305: # DEN = Q2+Q1 LEQ +- 2 LCE/SQRT(ALFA)
055257,000306:
055258,000307: # AND, IF OUTBOUND
055259,000308: # NUM = Q2-Q1 LEQ +- 2 LCE/SQRT(ALFA)
055260,000309: # DEN = 2 - ALFA (RTERM + RN) . LEQ +- 2 LCE
055261,000310:
055262,000311: # IF ALFA ZZ < 1.0 (FOR ALL CONICS EXCEPT ELLIPSES HAVING ABS(DEL ECC ANOM) G 90 DEG)
055263,000312:
055264,000313: # THEN X = ALFA Z Z
055265,000314: # AND TFF = (RTERM +RN -2 ZZ T(X) ) Z/SQRT(MU)
055266,000315:
055267,000316: # EXCEPT IF ALFA PNZ, AND IF TFF NEG,
055268,000317: # THEN TFF = 2 PI /(ALFA SQRT(ALFA)) + TFF
055269,000318:
055270,000319: # OR IF ALFA ZZ GEQ 1.0 (FOR ELLIPSES HAVING ABS(DEL ECC ANOM) GEQ 90 DEG)
055271,000320:
055272,000321: # THEN X = 1/ALFA Z Z
055273,000322: # AND TFF = (PI/SQRT(ALFA) -Q2 +Q1 +2(X T(X) -1) /ALFA Z) /ALFA SQRT(MU)
055274,000323:
055275,000324: # WHERE T(X) IS A POLYNOMIAL APPROXIMATION TO THE SERIES
055276,000325: # 2 3 2
055277,000326: # 1/3 -X/5 +X /7 -X /9 ... (X < 1.0)
055278,000327:
055279,000328: # CALLING SEQUENCE: TIME TO RTERM TIME TO PERIGEE
055280,000329: # CALL CALL
055281,000330: # CALCTFF CALCTPER
055282,000331: # C(MPAC) = TERMNL RAD M C(MPAC) = PERIGEE RAD M
055283,000332: # FOR EITHER, E: (-29) M: (-27)
055284,000333: # FOR EITHER, PUSHLOC = PDL+0, ARBITRARY IF LEQ 8D.
055285,000334:
![]() |
Page 1265 |
055287,000336: # SUBROUTINES CALLED: T(X), VIA RTB
055288,000337: # NORMAL EXIT MODE: RVQ
055289,000338: # HOWEVER, PROGRAM EXITS WITH ONE OF THE FOLLOWING VALUES FOR TFF (-28) CS IN MPAC. USER MUST STORE.
055290,000339: # A. TFF= FLIGHT TIME. NORMAL CASE FOR POSITIVE FLIGHT TIME LESS THAN ONE ORBITAL PERIOD.
055291,000340: # B. (THIS OPTION IS NO LONGER USED.)
055292,000341: # C. TFF = POSMAX. THIS INDICATES THAT THE CONIC FROM THE PRESENT POSITION WILL NOT RETURN TO
055293,000342: # THE SPECIFIED ALTITUDE. ALSO INDICATES OUTBOUND PARABOLA OR HYPERBOLA.
055294,000343: # OUTPUT: C(MPAC) (-28) CS TIME OF FLIGHT, OR TIME TO PERIGEE
055295,000344: # TFFX (0) X, LEFT FOR ENTRY DISPLAY TFF ROUTINES
055296,000345: # NRTERM E: (-29+NR) M RTERM, WEIGHTED BY NR LEFT FOR ENTRY DISPLAY TFF ROUTINES
055297,000346: # M: (-27+NR)
055298,000347: # TFFTEM E: (-59+2NR) LCP Z Z SGN(SDELF) LEFT FOR ENTRY DISPLAY TFF ROUTINES
055299,000348: # M: (-55+2NR) LCP /ALFA SGN(SDELF) LEFT FOR ENTRY DISPLAY TFF ROUTINES
055300,000349: # NOTE: TFFTEM = PDL 36D AND WILL BE DESTROYED BY .:UNIT:.
055301,000350: # RMAG1 E:(-29) M:(-27) PDL 12 NOT TOUCHED.
055302,000351: # TFFQ1 E:(-16) M:(-15) PDL 14D
055303,000352: # TFFDELQ E:(-16) M:(-15) PDL 10D
055304,000353: # PUSHLOC AT PDL+0
055305,000354: # ERASABLE INITIALIZATION REQUIRED:
055306,000355: # RONE E:(-29) M:(-27) M STATE VECTOR LEFT BY USER
055307,000356: # VONE' E:(+10) M:(+9) VN/SQRT(MU) LEFT BY TFF/CONIC
055308,000357: # RMAG1 E:(-29) M:(-27) PRESENT RADIUS, M LEFT BY TFFCONIC
055309,000358: # C(MPAC)E:(-29) M:(-27) RTERM, TERMINAL RADIUS LENGTH, M LEFT BY USER
055310,000359:
055311,000360: # THE FOLLOWING ARE STORED IN THE PUSH LIST AREA.
055312,000361: # TFF/RTMU E:(17) M:(14) 1/SQRT(MU) LEFT BY TFFCONIC.
055313,000362: # NRMAG E: (-29+NR) M RMAG, NORMALIZED LEFT BY TFFCONIC
055314,000363: # M: (-27+NR)
055315,000364: # X1 -NR, NORM COUNT LEFT BY TFFCONIC
055316,000365: # TFFNP E: (-38+2NR) M LCP, SEMI LATUS RECTUM, WEIGHT NR LEFT BY TFFCONIC
055317,000366: # M: (-36+2NR)
055318,000367: # TFFALFA E: (26-NR) 1/M ALFA, WEIGHT NR LEFT BY TFFCONIC
055319,000368: # M: (24-NR)
055320,000369: # TFFRTALF E:(10+NA) SQRT(ALFA), NORMALIZED LEFT BY TFFCONIC
055321,000370: # M:(9+NA)
055322,000371: # X2 -NA, NORM COUNT LEFT BY TFFCONIC
055323,000372: # TFF1/ALF E: (-22-2NA) SIGNED SEMIMAJ AXIS, WEIGHTED BY NA LEFT BY TFFCONIC
055324,000373: # M: (-20-2NA)
055325,000374: # DEBRIS: QPRET, PDL+0 ... PDL+3
055326,000375: # RTERM E:(-29) M:(-27) RTERM, TERMINAL RADIUS LENGTH
055327,000376: # RAPO E:(-29) M:(-27) PDL 16D (=NRTERM)
055328,000377: # RPER E:(-29) M:(-27) PDL 14D (=TFFQ1)
055329,000378:
![]() |
Page 1266 |
055331,000380: 27,3447 77614 CALCTPER SETGO # ENTER WITH RPER IN MPAC
055332,000381: 27,3450 03436 TFFSW
055333,000382: 27,3451 57454 +3
055334,000383: 27,3452 77614 CALCTFF CLEAR # ENTER WITH RTERM IN MPAC
055335,000384: 27,3453 03676 TFFSW
055336,000385: 27,3454 00023 +3 STORE RTERM # E: (-29) M: (-27)
055337,000386: 27,3455 77657 SL*
055338,000387: 27,3456 20201 0,1 # X1=-NR
055339,000388: 27,3457 00021 STORE NRTERM # RTERM E: (-29+NR) M: (-27+NR)
055340,000389: 27,3460 44205 DMP BDSU
055341,000390: 27,3461 00033 TFFALFA # ALFA E: (26-NR) M: (24-NR)
055342,000391: 27,3462 06510 TFF1/4
055343,000392: 27,3463 41206 PUSH DMP # (2-ALFA RTERM) (-3) TO PDL+0
055344,000393: 27,3464 00021 NRTERM # E: (-29+NR) M: (-27+NR)
055345,000394: 27,3465 53725 PDDL SR* # RTERM(2-ALFA RTERM) TO PDL+2
055346,000395: # E: (-32+NR) M: (-30+NR)
055347,000396: 27,3466 00035 TFFNP # LC P E:(-38+2NR) M:(-36+2NR)
055348,000397: 27,3467 20573 0 -6,1 # X1 = -NR
055349,000398: 27,3470 43276 DCOMP DAD # DUE TO SHIFTS, KEEP PRECISION FOR SQRT
055350,000399: # RTERM(2-ALFA RTERM) FROM PDL+2
055351,000400: # E: (-32+NR) M: (-30+NR)
055352,000401: 27,3471 77657 SR* # LEAVE E: (-32) M: (-30)
055353,000402: 27,3472 20601 0,1 # X1 = -NR
055354,000403: 27,3473 71214 BOFF DLOAD # CHECK TFF / TPER SWITCH
055355,000404: 27,3474 03756 TFFSW
055356,000405: 27,3475 57477 +2 # IF TFF, CONTINUE
055357,000406: 27,3476 06520 TFFZEROS # IF TPER, SET Q2 = 0
055358,000407: 27,3477 75440 +2 BMN SQRT # E: (-16) M: (-15)
055359,000408:
055360,000409: 27,3500 57632 MAXTFF1 # NO FREE FALL CONIC TO RTERM FROM HERE
055361,000410: # RESET PDL, SET TFF=POSMAX, AND EXIT.
055362,000411:
055363,000412: 27,3501 41076 DCOMP BOVB # RT IS ON INBOUND SIDE. ASSURE OVFIND=0
055364,000413: 27,3502 57735 TCDANZIG # ANY PORT IN A STORM.
055365,000414: 27,3503 24045 STOVL TFFTEM # Q2 E: (-16) M: (-15)
055366,000415: 27,3504 02161 VONE' # VN/SQRT(MU) E: (10) M: (9)
055367,000416: 27,3505 52441 DOT SL3
055368,000417: 27,3506 02200 RONE # SAVED RN. E: (-29) M: (-27)
055369,000418: 27,3507 00017 STORE TFFQ1 # Q1, SAVE FOR GONEPAST TEST.
055370,000419: # E: (-16) M: (-15)
055371,000420: 27,3510 44240 BMN BDSU
055372,000421: 27,3511 57532 INBOUND # USE ALTERNATE Z
055373,000422: 27,3512 00045 TFFTEM # Q2 E: (-16) M: (-15)
055374,000423:
055375,000424: # OUTBOUND Z CALC CONTINUES HERE
055376,000425:
055377,000426: 27,3513 14043 STODL TFFX # NUM=Q2-Q1 E: (-16) M: (-15)
055378,000427: 27,3514 00033 TFFALFA # ALFA E: (26-NR) M: (24-NR)
055379,000428: 27,3515 44205 DMP BDSU
![]() |
Page 1267 |
055381,000430: 27,3516 00041 NRMAG # RMAG E: (-29+NR) M: (-27+NR)
055382,000431: # (2-RTERM ALFA) (-3) FROM PDL+0
055383,000432: 27,3517 51406 SAVEDEN PUSH ABS # DEN TO PDL+0 E: (-3) OR (-16)
055384,000433: # M: (-3) OR (-15)
055385,000434: 27,3520 40015 DAD BOV # INDETERMINANCY TEST
055386,000435: 27,3521 17741 LIM(-22) # =1.0-B(-22)
055387,000436: 27,3522 57543 TFFXTEST # GO IF DEN >/= B(-22)
055388,000437: 27,3523 65345 DLOAD PDDL # SET DEN=0 OTHERWISE
055389,000438: 27,3524 06520 TFFZEROS
055390,000439: # XCH ZERO WITH PDL+0
055391,000440: 27,3525 57545 DLOAD DCOMP
055392,000441: 27,3526 00033 TFFALFA # ALFA E: (26-NR) M: (24-NR)
055393,000442: 27,3527 71240 BMN DLOAD # FOR TPER: Z INDET AT DELE/2=0 AND 90.
055394,000443: 27,3530 57637 TFFEL1 # ASSUME 90, AND LEAVE 0 IN PDL: 1/Z=D/N
055395,000444:
055396,000445: # Z INDET. AT PERIGEE FOR PARAB OR HYPERB.
055397,000446: 27,3531 77616 DUMPTFF1 RVQ # RETURN TFF =0
055398,000447:
055399,000448: # INBOUND Z CALC CONTINUES HERE
055400,000449: 27,3532 77745 INBOUND DLOAD # RESET PDL+0
055401,000450: 27,3533 45345 DLOAD DSU # ALTERNATE Z CALC
055402,000451: 27,3534 00023 RTERM # E: (-29) M: (-27)
055403,000452: 27,3535 00015 RMAG1 # E: (-29) M: (-27)
055404,000453: 27,3536 14043 STODL TFFX # NUM=RTERM-RN E: (-29) M: (-27)
055405,000454: 27,3537 00045 TFFTEM # Q2 E: (-16) M: (-15)
055406,000455: 27,3540 52015 DAD GOTO
055407,000456: 27,3541 00017 TFFQ1 # Q1 E: (-16) M: (-15)
055408,000457: 27,3542 57517 SAVEDEN # DEN = Q2+Q1 E: (-16) M: (-15)
055409,000458:
055410,000459: 27,3543 65215 TFFXTEST DAD PDDL # (ABS(DEN) TO PDL+2)) E: (-3) OR (-16)
055411,000460: # M: (-3) OR (-15)
055412,000461: 27,3544 17743 DP(-22) # RESTORE ABS(DEN) TO MPAC
055413,000462: 27,3545 00043 TFFX # NUM E:(-16) OR (-29) M:(-15) OR (-27)
055414,000463: 27,3546 53605 DMP SR*
055415,000464: 27,3547 00031 TFFRTALF # SQRT(ALFA) E: (10+NA) M: (9+NA)
055416,000465: 27,3550 57201 0 -3,2 # X2=-NA
055417,000466: 27,3551 77671 DDV # C(MPAC) =NUM SQRT(ALFA) E:(-3) OR (-16)
055418,000467: # M:(-3) OR (-15)
055419,000468: # ABS(DEN) FROM PDL+2 E:(-3) OR (-16)
055420,000469: # M:(-3) OR (-15)
055421,000470: 27,3552 40145 DLOAD BOV # (THE DLOAD IS SHARED WITH TFFELL)
055422,000471: 27,3553 00043 TFFX # NUM E: (-16) OR (-29) M:(-15) OR (-27)
055423,000472: 27,3554 57635 TFFELL # USE EQN FOR DELE GEQ 90, LEQ -90
055424,000473:
055425,000474: # OTHERWISE, CONTINUE FOR GENERAL CONIC FOR TFF EQN
055426,000475:
055427,000476: 27,3555 45471 DDV STADR
055428,000477: # DEN FROM PDL+0 E: (-3) OR (-16)
055429,000478: # M: (-3) OR (-15)
055430,000479: 27,3556 77732 STORE TFFTEM # Z SAVE FOR SIGN OF SDELF.
![]() |
Page 1268 |
055432,000481: # E: (-13) M: (-12)
055433,000482: 27,3557 63406 PUSH DSQ # Z TO PDL+0
055434,000483: 27,3560 41206 PUSH DMP # Z SQ TO PDL+2 E: (-26) M: (-24)
055435,000484: 27,3561 00035 TFFNP # LC P E: (-38+2NR) M: (-36+2NR)
055436,000485: 27,3562 75261 SL SIGN
055437,000486: 27,3563 20206 5
055438,000487: 27,3564 00045 TFFTEM # AFFIX SIGN FOR SDELF (ENTRY DISPLAY)
055439,000488: 27,3565 14045 STODL TFFTEM # P ZSQ E: (-59+2NR) M: (-55+2NR)
055440,000489: # (ARG IS USED IN TFF/TRIG)
055441,000490: # ZSQ FROM PDL+2 E: (-26) M: (-24)
055442,000491: 27,3566 41206 PUSH DMP # RESTORE PUSH LOC
055443,000492: 27,3567 00033 TFFALFA # ALFA E: (26-NR) M: (24-NR)
055444,000493: 27,3570 77657 SL*
055445,000494: 27,3571 20201 0,1 # X1=-NR
055446,000495: 27,3572 00043 STORE TFFX # X
055447,000496: 27,3573 41234 RTB DMP
055448,000497: 27,3574 57717 T(X) # POLY
055449,000498: # ZSQ FROM PDL+2 E: (-26) M: (-24)
055450,000499: 27,3575 44302 SR2 BDSU # 2 ZSQ T(X) E: (-29) M: (-27)
055451,000500: 27,3576 00023 RTERM # RTERM E: (-29) M: (-27)
055452,000501: 27,3577 41215 DAD DMP
055453,000502: 27,3600 00015 RMAG1 # E: (-29) M: (-27)
055454,000503: # Z FROM PDL+0 E: (-13) M: (-12)
055455,000504: 27,3601 51042 SR3 BPL # TFF SQRT(MU) E: (-45) M: (-42)
055456,000505: 27,3602 57623 ENDTFF # (NO PUSH UP)
055457,000506: 27,3603 75206 PUSH SIGN # TFF SQRT(MU) TO PDL+0
055458,000507: 27,3604 00017 TFFQ1 # Q1 FOR GONEPAST TEST
055459,000508: 27,3605 71244 BPL DLOAD # GONE PAST ?
055460,000509: 27,3606 57627 NEGTFF # YES. TFF < 0 .
055461,000510: 27,3607 00027 TFF1/ALF # 1/ALFA E: (-22-2NA) M: (-20-2NA)
055462,000511: 27,3610 51076 DCOMP BPL # ALFA > 0 ?
055463,000512: 27,3611 57627 NEGTFF # NO. TFF IS NEGATIVE.
055464,000513:
055465,000514: # CORRECT FOR ORBITAL PERIOD.
055466,000515:
055467,000516: 27,3612 77676 DCOMP # YES. CORRECT FOR ORB PERIOD.
055468,000517: 27,3613 56205 DMP DDV
055469,000518: 27,3614 17737 PI/16 # 2 PI (-5)
055470,000519: 27,3615 00031 TFFRTALF # SQRT(ALFA) E: (10+NA) M: (9+NA)
055471,000520: 27,3616 53657 SL* SL*
055472,000521: 27,3617 57602 0 -4,2 # X2=-NA
055473,000522: 27,3620 57602 0 -4,2
055474,000523: 27,3621 43257 SL* DAD
055475,000524: 27,3622 57576 0,2
055476,000525: # TFF SQRT(MU) FROM PDL+0 E:(-45) M:(-42)
055477,000526: 27,3623 40005 ENDTFF DMP BOV # TFF SQRT(MU) IN MPAC E:(-45) M:(-42)
055478,000527: 27,3624 00037 TFF/RTMU # E: (17) M: (14)
055479,000528: 27,3625 57633 MAXTFF # SET POSMAX IF OVFL.
055480,000529:
055481,000530: 27,3626 77616 DUMPTFF2 RVQ # RETURN TFF (-28) CS IN MPAC.
055482,000531:
![]() |
Page 1269 |
055484,000533: 27,3627 77745 NEGTFF DLOAD
055485,000534: # TFF SQRT(MU) FROM PDL+0, NEGATIVE.
055486,000535: 27,3630 77650 GOTO
055487,000536: 27,3631 57623 ENDTFF
055488,000537:
055489,000538: 27,3632 77745 MAXTFF1 DLOAD # RESET PDL
055490,000539: 27,3633 43545 MAXTFF DLOAD RVQ
055491,000540: 27,3634 17753 NEARONE
055492,000541:
055493,000542: # TIME OF FLIGHT ELLIPSE WHEN DEL (ECCENTRIC ANOM) GEQ 90 AND LEQ -90.
055494,000543:
055495,000544: # NUM FROM TFFX. E: (-16) OR (-29)
055496,000545: # M: (-15) OR (-27)
055497,000546: 27,3635 77712 TFFELL SL2 # NUM E:(-14) OR (-27) M:(-13) OR (-25)
055498,000547: 27,3636 41465 BDDV PUSH # TEMP SAVE D/N IN PDL+0
055499,000548: # DEN FROM PDL+0 E:(-3)/( 16) M:(-3)/(-15)
055500,000549: # N/D TO PDL+0 E: (11) M: (10)
055501,000550: 27,3637 45345 TFFEL1 DLOAD DSU # (ENTER WITH D/N=0 IN PDL+0)
055502,000551: 27,3640 00045 TFFTEM # Q2 E: (-16) M: (-15)
055503,000552: 27,3641 00017 TFFQ1 # Q1 E: (-16) M: (-15)
055504,000553: 27,3642 14013 STODL TFFDELQ # Q2-Q1 E: (-16) M: (-15)
055505,000554: # D/N FROM PDL+0
055506,000555: 27,3643 77626 STADR
055507,000556: 27,3644 77732 STORE TFFTEM # D/N E: (11) M: (10)
055508,000557: 27,3645 53605 DMP SL*
055509,000558: 27,3646 00027 TFF1/ALF # 1/ALFA E: (-22-2NA) M: (-20-2NA)
055510,000559: 27,3647 57576 0,2 # 1/ALFA Z E: (-11-NA) M: (-10-NA)
055511,000560: 27,3650 41206 PUSH DMP # TO PDL+0
055512,000561: 27,3651 00045 TFFTEM # 1/Z E: (11) M: (10)
055513,000562: 27,3652 41057 SL* BOVB
055514,000563: 27,3653 57576 0,2 # X2= -NA
055515,000564: 27,3654 21674 SIGNMPAC # IN CASE X= 1.0, CONTINUE
055516,000565: 27,3655 00043 STORE TFFX # X=1/ALFA ZSQ
055517,000566: 27,3656 41234 RTB DMP
055518,000567: 27,3657 57717 T(X) # POLY
055519,000568: 27,3660 00043 TFFX
055520,000569: 27,3661 45242 SR3 DSU
055521,000570: 27,3662 17745 DP2(-3)
055522,000571: 27,3663 41405 DMP PUSH # 2(X T(X)-1) /Z ALFA E: (-15-NA)
055523,000572: # M: (-14-NA)
055524,000573: # 1/ALFA Z FROM PDL+0 E: (-11-NA)
055525,000574: # M: (-10-NA)
055526,000575: 27,3664 41345 DLOAD DMP # GET SIGN FOR SDELF
055527,000576: 27,3665 00045 TFFTEM # 1/Z E: (11) M: (10)
055528,000577: 27,3666 00015 RMAG1 # E: (-29) M: (-27)
055529,000578: 27,3667 43312 SL2 DAD
055530,000579: 27,3670 00017 TFFQ1 # Q1 E: (-16) M: (-15)
055531,000580: 27,3671 14045 STODL TFFTEM # (Q1+R 1/Z) =SGN OF SDELF E:(-16) M:(-15
055532,000581: 27,3672 00035 TFFNP # LC P E: (-38+2NR) M: (-36+2NR)
055533,000582: 27,3673 53605 DMP SL* # CALC FOR ARG FOR TFF/TRIG.
![]() |
Page 1270 |
055535,000584: 27,3674 00027 TFF1/ALF # 1/ALFA E:(-22-2NA) M:(-20-2NA)
055536,000585: 27,3675 57575 1,2 # X2=-NA
055537,000586: 27,3676 53765 SIGN SL*
055538,000587: 27,3677 00045 TFFTEM # AFFIX SIGN FOR SDELF
055539,000588: 27,3700 57576 0,2
055540,000589: 27,3701 14045 STODL TFFTEM # P/ALFA E:(-59+2NR) M:(-55+2NR)
055541,000590: # (ARG FOR USE IN TFF/TRIG)
055542,000591: 27,3702 00027 TFF1/ALF # 1/ALFA E:(-22-2NA) M:(-20-2NA)
055543,000592: 27,3703 41366 SQRT DMP
055544,000593: 27,3704 17737 PI/16 # PI (-4)
055545,000594: 27,3705 77615 DAD
055546,000595: # 2(XT(X)-1)/Z ALFA FROM PDL E:(-15-NA)
055547,000596: # M:(-14-NA)
055548,000597: 27,3706 45257 SL* DSU
055549,000598: 27,3707 57577 0 -1,2
055550,000599: 27,3710 00013 TFFDELQ # Q2-Q1 E: (-16) M: (-15)
055551,000600: 27,3711 53605 DMP SL*
055552,000601: 27,3712 00027 TFF1/ALF # 1/ALFA E:(-22-2NA) M:(-20-2NA)
055553,000602: 27,3713 57601 0 -3,2
055554,000603: 27,3714 52057 SL* GOTO
055555,000604: 27,3715 57602 0 -4,2
055556,000605: 27,3716 57623 ENDTFF # TFF SQRT(MU) IN MPAC E:(-45) M:(-42)
055557,000606:
![]() |
Page 1271 |
055559,000608: # PROGRAM NAME: T(X) DATE: 01.17.67
055560,000609: # MOD NO: 0 LOG SECTION: TIME OF FREE FALL
055561,000610: # MOD BY: RR BAIRNSFATHER
055562,000611: # FUNCTIONAL DESCRIPTION: THE POLYNOMIAL T(X) IS USED BY TIME OF FLIGHT SUBROUTINES CALCTFF AND
055563,000612: # CALCTPER TO APPROXIMATE THE SERIES
055564,000613: # 2 3
055565,000614: # 1/3 -X/5 +X /7 -X /9 ...
055566,000615:
055567,000616: # WHERE X = ALFA Z Z IF ALFA Z Z LEQ 1
055568,000617: # X = 1/(ALFA Z Z ) IF ALFA Z Z G 1
055569,000618:
055570,000619: # ALSO X IS NEG FOR HYPERBOLIC ORBITS
055571,000620: # X = 0 FOR PARABOLIC ORBITS
055572,000621: # X IS POSITIVE FOR ELLIPTIC ORBITS
055573,000622: # FOR FLIGHT 278, THE POLYNOMIAL T(X) IS FITTED OVER THE RANGE (0,+1) AND HAS A MAXIMUM
055574,000623: # DEVIATION FROM THE SERIES OF 2 E-5 (T(X) IS A CHEBYCHEV TYPE FIT AND WAS OBTAINED USING
055575,000624: # MAC PROGRAM AUTCURFIT294RRB AND IS VALID TO THE SAME TOLERANCE OVER THE RANGE (-.08,+1). )
055576,000625: # CALLING SEQUENCE: RTB
055577,000626: # T(X)
055578,000627: # C(MPAC) = X
055579,000628:
055580,000629: # SUBROUTINES CALLED: NONE
055581,000630: # NORMAL EXIT MODE: TC DANZIG
055582,000631: # ALARMS: NONE
055583,000632: # OUTPUT: C(MPAC) = T(X)
055584,000633: # ERASABLE INITIALIZATION REQUIRED:
055585,000634: # C(MPAC) = X
055586,000635: # DEBRIS: NONE
055587,000636:
055588,000637: 27,3717 07234 T(X) TC POLY
055589,000638: 27,3720 00004 DEC 4 B-14 # N-1
055590,000639: 27,3721 12525 12525 2DEC 3.333333333 E-1
055591,000640:
055592,000641: 27,3723 71463 57703 2DEC* -1.999819135 E-1*
055593,000642:
055594,000643: 27,3725 04423 17645 2DEC* 1.418148467 E-1*
055595,000644:
055596,000645: 27,3727 74604 43667 2DEC* -1.01310997 E-1*
055597,000646:
055598,000647: 27,3731 01626 37256 2DEC* 5.609004986 E-2*
055599,000648:
055600,000649: 27,3733 77404 52071 2DEC* -1.536156925 E-2*
055601,000650:
055602,000651: 27,3735 06073 ENDT(X) TC DANZIG
055603,000652:
055604,000653: 27,3736 27,3735 TCDANZIG = ENDT(X)
055605,000654:
![]() |
Page 1272 |
055607,000656: # TFF CONSTANTS
055608,000657:
055609,000658: 32,3733 BANK 32
055610,000659:
055611,000660: 27,2000 SETLOC TOF-FF1
055612,000661: 27,2000 BANK
055613,000662:
055614,000663: # NOTE _ NOTE _ ADJUSTED MUE FOR NEAR EARTH TRAJ.
055615,000664:
055616,000665: # MUE = 3.990 815 471 E10 M CUBE/CS SQ
055617,000666: # RTMUE = 1.997702549 E5 B-18* MODIFIED EARTH MU
055618,000667:
055619,000668: # NOTE _ NOTE _ ADJUSTED MUE FOR NEAR EARTH TRAJ.
055620,000669:
055621,000670: # MUM = 4.902 778 E8 M CUBE /CS SQ
055622,000671:
055623,000672: # RTMUM 2DEC* 2.21422176 E4 B-18*
055624,000673: 27,3736 06220 37553 PI/16 2DEC 3.141592653 B-4
055625,000674:
055626,000675: 27,3740 37777 37700 LIM(-22) 2OCT 3777737700 # 1.0 -B(-22)
055627,000676:
055628,000677: 27,3742 00000 00100 DP(-22) 2OCT 0000000100 # B(-22)
055629,000678:
055630,000679: 27,3744 04000 00000 DP2(-3) 2DEC 1 B-3
055631,000680:
055632,000681: 27,3746 02000 00000 DP2(-4) 2DEC 1 B-4 # 1/16
055633,000682:
055634,000683: # RPAD1 2DEC 6373338 B-29 M (-29) =20 909 901.57 FT
055635,000684:
055636,000685: 27,3750 23,2335 RPAD1 = RPAD
055637,000686:
055638,000687: 27,3750 00305 11205 R300K 2DEC 6464778 B-29 # (-29) M
055639,000688:
055640,000689: 27,3752 37777 37777 NEARONE 2DEC .999999999
055641,000690:
055642,000691: 27,3754 23,2517 TFFZEROS EQUALS HI6ZEROS
055643,000692: 27,3754 23,2507 TFF1/4 EQUALS HIDP1/4
055644,000693:
End of include-file TIME_OF_FREE_FALL.agc. Parent file is MAIN.agc