Source Code
These source-code files are part of a reconstructed copy of Luminary 173, the
second (unflown) release of the Apollo 14 Lunar Module (LM) Apollo Guidance
Computer (AGC) software.
The reconstruction began with reconstructed source code for Luminary 178. Changes between revision 173 and 178 were backed out, as described by Luminary memo 167 (revision 1). The reconstruction was verified by matching memory-bank checksums to those listed in drawing 2021152N. Note that page numbers in the reconstructed code match those for the baseline log section mentioned in each file's changelog; the page numbers for a real Luminary 173 listing would be different. Comments from the original source code are prefixed with a single '#' symbol, whereas comments added later are prefixed by "##" or "###". Report any errors noted by creating an issue report at the Virtual AGC project's GitHub repository. |
053629,000002: ## Copyright: Public domain.
053630,000003: ## Filename: TIME_OF_FREE_FALL.agc
053631,000004: ## Purpose: A section of Luminary revision 173.
053632,000005: ## It is part of the reconstructed source code for the second
053633,000006: ## (unflown) release of the flight software for the Lunar
053634,000007: ## Module's (LM) Apollo Guidance Computer (AGC) for Apollo 14.
053635,000008: ## The code has been recreated from a reconstructed copy of
053636,000009: ## Luminary 178, as well as Luminary memo 167 (revision 1).
053637,000010: ## It has been adapted such that the resulting bugger words
053638,000011: ## exactly match those specified for Luminary 173 in NASA
053639,000012: ## drawing 2021152N, which gives relatively high confidence
053640,000013: ## that the reconstruction is correct.
053641,000014: ## Reference: pp. 1257-1272
053642,000015: ## Assembler: yaYUL
053643,000016: ## Contact: Ron Burkey <info@sandroid.org>.
053644,000017: ## Website: www.ibiblio.org/apollo/index.html
053645,000018: ## Mod history: 2019-09-18 MAS Created from Luminary 178.
053646,000019:
Page 1257 |
053648,000021: # THE TFF SUBROUTINES MAY BE USED IN EITHER EARTH OR MOON CENTERED COORDINATES. THE TFF ROUTINES NEVER
053649,000022: # KNOW WHICH ORIGIN APPLIES. IT IS THE USER WHO KNOWS, AND WHO SUPPLIES RONE, VONE AND 1/SQRT(MU) AT THE
053650,000023: # APPROPRIATE SCALE LEVEL FOR THE PROPER PRIMARY BODY.
053651,000024:
053652,000025: # EARTH ORIGIN POSITION -29 METERS
053653,000026: # VELOCITY -7 METERS/CENTISECOND
053654,000027: # 1/SQRT(MU) +17 SQRT(CS SQ/METERS CUBED)
053655,000028:
053656,000029: # MOON ORIGIN POSITION -27 METERS
053657,000030: # VELOCITY -5 METERS/CENTISECONDS
053658,000031: # 1/SQRT(MU) +14 SQRT(CS SQ/METERS CUBED)
053659,000032:
053660,000033: # ALL DATA PROVIDED TO AND RECEIVED FROM ANY TFF SUBROUTINE WILL BE AT ONE OF THE LEVELS ABOVE. IN ALL CASES,
053661,000034: # THE FREE FALL TIME IS RETURNED IN CENTISECONDS AT (-28). PROGRAM TFF/CONIC WILL GENERATE VONE/RTMU AND
053662,000035: # LEAVE IT IN VONE' AT (+10) IF EARTH ORIGIN AND (+9) IF MOON ORIGIN.
053663,000036: # THE USER MUST STORE THE STATE VECTOR IN RONE, VONE AND MU IN THE FORM 1/SQRT(MU) IN TFF/RTMU
053664,000037: # AT THE PROPER SCALE BEFORE CALLING TFF/CONIC. SINCE RONE, VONE ARE IN THE EXTENDED VERB STORAGE AREA,
053665,000038: # THE USER MUST ALSO LOCK OUT THE EXTENDED VERBS, AND RELEASE THEM WHEN FINISHED.
053666,000039: # PROGRAMS CALC/TFF AND CALC/TPER ASSUME THAT THE TERMINAL RADIUS IS LESS THAN THE PRESENT
053667,000040: # RADIUS. THIS RESTRICTION CAN BE REMOVED BY A 15 W CODING CHANGE, BUT AT PRESENT IT IS NOT DEEMED NECESSARY.
053668,000041:
053669,000042: # THE FOLLOWING ERASABLE QUANTITIES ARE USED BY THE TFF ROUTINES, AND ARE LOCATED IN THE PUSH LIST.
053670,000043:
053671,000044: # BELOW E: IS USED FOR EARTH ORIGIN SCALE
053672,000045: # M: IS USED FOR MOON ORIGIN SCALE
053673,000046:
053674,000047: # TFFSW = 119D BIT1 0 = CALCTFF 1 = CALCTPER
053675,000048: 10,2213 TFFDELQ = 10D # Q2-Q1 E: (-16) M: (-15)
053676,000049: 10,2213 RMAG1 = 12D # ABVAL(RN) M E: (-29) M: (-27)
053677,000050: # RPER = 14D PERIGEE RADIUS M E: (-29) M: (-27)
053678,000051: 10,2213 TFFQ1 = 14D # R.V / SQRT(MUE) E: (-16) M: (-15)
053679,000052: # SDELF/2 SIN(THETA) /2
053680,000053: 10,2213 CDELF/2 = 14D # COS(THETA) /2
053681,000054: # RAPO = 16D APOGEE RADIUS M E: (-29) M: (-27)
053682,000055: 10,2213 NRTERM = 16D # TERMINAL RADIUS M E: (-29+NR)
053683,000056: # M: (-27+NR)
053684,000057: 10,2213 RTERM = 18D # TERMINAL RADIUS M E: (-29) M: (-27)
053685,000058: 10,2213 TFFVSQ = 20D # -(V SQUARED/MU) 1/M E: (20) M: (18)
053686,000059: 10,2213 TFF1/ALF = 22D # SEMI MAJ AXIS M E: (-22-2 NA)
053687,000060: # M: (-20-2 NA)
053688,000061: 10,2213 TFFRTALF = 24D # SQRT(ALFA) E: (10+NA) M: (9+NA)
053689,000062: 10,2213 TFFALFA = 26D # ALFA 1/M E: (26-NR) M: (24-NR)
053690,000063: 10,2213 TFFNP = 28D # SEMI LATUS RECTUM M E: (-38+2 NR)
053691,000064: # M: (-36+2 NR)
053692,000065: 10,2213 TFF/RTMU = 30D # 1/SQRT(MU) E: (17) M: (14)
053693,000066: 10,2213 NRMAG = 32D # PRESENT RADIUS M E: (-29+NR)
053694,000067: # M: (-27+NR)
053695,000068: 10,2213 TFFX = 34D
053696,000069: 10,2213 TFFTEM = 36D # TEMPORARY
053697,000070:
Page 1258 |
053699,000072: # REGISTERS S1, S2 ARE UNTOUCHED BY ANY TFF SUBROUTINE
053700,000073: # INDEX REGISTERS X1, X2 ARE USED BY ALL TFF SUBROUTINES. THEY ARE ESTAB-
053701,000074: # LISHED IN TFF/CONIC AND MUST BE PRESERVED BETWEEN CALLS TO SUBSEQUENT
053702,000075: # SUBROUTINES.
053703,000076: # -NR C(X1) = NORM COUNT OF RMAG
053704,000077: # -NA C(X2)= NORM COUNT OF SQRT(ABS(ALFA))
053705,000078:
Page 1259 |
053707,000080:
053708,000081:
053709,000082: # SUBROUTINE NAME: TFFCONIC DATE: 01.29.67
053710,000083: # MOD NO: 0 LOG SECTION: TIME OF FREE FALL
053711,000084: # MOD BY: RR BAIRNSFATHER
053712,000085: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 11 APR 67
053713,000086: # MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 21 NOV 67 ADD MOON MU.
053714,000087: # MOD NO: 3 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 68 ACCEPT DIFFERENT EARTH/MOON SCALES
053715,000088: # FUNCTIONAL DESCRIPTION: THIS SUBROUTINE IS CALLED TO COMPUTE THOSE CONIC PARAMETERS REQUIRED BY THE TFF
053716,000089: # SUBROUTINES AND TO ESTABLISH THEM IN THE PUSH LIST AREA. THE PARAMETERS ARE LISTED UNDER OUTPUT.
053717,000090: # THE EQUATIONS ARE
053718,000091: # - - -
053719,000092: # H = RN*VN ANGULAR MOMENTUM
053720,000093: # - -
053721,000094: # LCP = H.H / MU SEMI LATUS RECTUM
053722,000095: # - -
053723,000096: # ALFA = 2/RN - VN.VN / MU RECIPROCAL SEMI MAJ AXIS, SIGNED
053724,000097:
053725,000098: # AND ALFA IS POS FOR ELLIPTIC ORBITS
053726,000099: # 0 FOR PARABOLIC ORBITS
053727,000100: # NEG FOR HYPERBOLIC ORBITS.
053728,000101: # SUBROUTINE ALSO COMPUTES AND SAVES RMAG.
053729,000102: # CALLING SEQUENCE:
053730,000103: # TFFCONIC EXPECTS CALLER TO ENTER WITH CORRECT GRAVITATIONAL CONSTANT IN MPAC, IN THE FORM
053731,000104: # 1/SQRT(MU). PROGRAM WILL SAVE IN TFF/RTMU . THE SCALE IS DETERMINED BY WHETHER EARTH OR MOON
053732,000105: # ORIGIN IS USED. THE CALLER MUST LOCK OUT THE EXTENDED VERBS BEFORE PROVIDING STATE VECTOR IN RONE,
053733,000106: # VONE AT PROPER SCALE. THE EXTENDED VERBS MUST BE RESTORED WHEN THE CALLER IS FINISHED USING THE
053734,000107: # TFF ROUTINES.
053735,000108: # ENTRY POINT TFFCONMU EXPECTS THAT TFF/RTMU IS ALREADY LOADED.
053736,000109: # TO SPECIFY MU: DLOAD CALL IF MU ALREADY STORED: CALL
053737,000110: # YOURMU 1/RTMU E: (17) M: (14) TFFCONMU
053738,000111: # TFFCONIC
053739,000112: # PUSHLOC = PDL+0, ARBITRARY IF LEQ 18D
053740,000113:
053741,000114: # SUBROUTINES CALLED: NONE
053742,000115: # NORMAL EXIT MODES: RVQ
053743,000116: # ALARMS: NONE
053744,000117: # OUTPUT: THE FOLLOWING ARE STORED IN THE PUSH LIST AREA.
053745,000118: # RMAG1 E:(-29) M:(-27) M RN, PRESENT RADIUS LENGTH.
053746,000119: # NRMAG E: (-29+NR) M RMAG, NORMALIZED
053747,000120: # M: (-27+NR)
053748,000121: # X1 -NR, NORM COUNT
053749,000122: # TFFNP E: (-38+2NR) M LCP, SEMI LATUS RECTUM, WEIGHTED BY NR. FOR VGAMCALC
053750,000123: # M: (-36+2NR)
053751,000124: # TFF/RTMU E:(17) M:(14) 1/SQRT(MU)
053752,000125: # TFFVSQ E:(20) M:(18) 1/M -(V SQ/MU): PRESENT VELOCITY,NORMLIZED. FOR VGAMCALC
053753,000126: # TFFALFA E: (26-NR) 1/M ALFA, WEIGHTED BY NR
053754,000127: # M: (24-NR)
053755,000128: # TFFRTALF E: (10+NA) SQRT(ALFA), NORMALIZED
053756,000129: # M: (9+NA)
Page 1260 |
053758,000131: # X2 -NA, NORM COUNT
053759,000132: # TFF1/ALF E: (-22-2NA) SIGNED SEMI MAJ AXIS, WEIGHTED BY NA
053760,000133: # M: (-20-2NA)
053761,000134: # PUSHLOC AT PDL+0
053762,000135: # THE FOLLOWING IS STORED IN GENERAL ERASABLE
053763,000136: # VONE' E:(10) M:(9) V/RT(MU), NORMALIZED VELOCITY
053764,000137: # ERASABLE INITIALIZATION REQUIRED:
053765,000138: # RONE E:(-29) M:(-27) M STATE VECTOR LEFT BY CALLER
053766,000139: # VONE E:(-7) M:(-5) M/CS STATE VECTOR LEFT BY CALLER
053767,000140: # TFF/RTMU E:(17) M:(14) 1/RT(CS SQ/M CUBE) IF ENTER VIA TFFCONMU.
053768,000141: # DEBRIS: QPRET, PDL+0 ... PDL+3
053769,000142:
053770,000143:
053771,000144: 33,3530 BANK 33
053772,000145: 27,2000 SETLOC TOF-FF
053773,000146: 27,2000 BANK
053774,000147:
053775,000148: 27,3357 COUNT* $$/TFF
053776,000149:
053777,000150: 27,3357 00037 TFFCONIC STORE TFF/RTMU # 1/SQRT(MU) E: (17) M: (14)
053778,000151:
053779,000152: 27,3360 53575 TFFCONMU VLOAD UNIT # COME HERE WITH TFFRTMU LOADED.
053780,000153: 27,3361 02207 RONE # SAVED RN. M E: (-29) M: (-27)
053781,000154: 27,3362 77725 PDDL # UR/2 TO PDL+0, +5
053782,000155: 27,3363 00045 36D # MAGNITUDE
053783,000156: 27,3364 00015 STORE RMAG1 # M E: (-29) M: (-27)
053784,000157:
053785,000158: 27,3365 77701 NORM
053786,000159: 27,3366 00047 X1 # -NR
053787,000160: 27,3367 24041 STOVL NRMAG # RMAG M E: (-29+NR) M: (-27+NR)
053788,000161: 27,3370 02215 VONE # SAVED VN. M/CS E: (-7) M: (-5)
053789,000162: 27,3371 77761 VXSC
053790,000163: 27,3372 00037 TFF/RTMU # E: (17) M: (14)
053791,000164: 27,3373 02170 STORE VONE' # VN/SQRT(MU) E: (10) M: (9)
053792,000165:
053793,000166: 27,3374 47361 VXSC VXV
053794,000167: 27,3375 00041 NRMAG # E: (-29+NR) M: (-27+NR)
053795,000168: # UR/2 FROM PDL
053796,000169: 27,3376 47572 VSL1 VSQ # BEFORE: E:(-19+NR) M:(-18+NR)
053797,000170: 27,3377 14035 STODL TFFNP # LC P M E:(-38+2NR) M:(-36+2NR)
053798,000171: # SAVE ALSO FOR VGAMCALC
053799,000172: 27,3400 06510 TFF1/4
053800,000173: 27,3401 63271 DDV PDVL # (2/RMAG) 1/M E:(26-NR) M:(24-NR)
053801,000174: 27,3402 00041 NRMAG # RMAG M E:(-29+NR) M:(-27+NR)
053802,000175: 27,3403 02170 VONE' # SAVED VN. E: (10) M: (9)
053803,000176: 27,3404 57436 VSQ DCOMP # KEEP MPAC+2 HONEST FOR SQRT.
053804,000177: 27,3405 00025 STORE TFFVSQ # -(V SQ/MU) E:(20) M:(18)
053805,000178: # SAVE FOR VGAMCALC
053806,000179: 27,3406 43257 SR* DAD
Page 1261 |
053808,000181: 27,3407 20573 0 -6,1 # GET -VSQ/MU E:(26-NR) M:(24-NR)
053809,000182: 27,3410 77626 STADR
053810,000183: # 2/RMAG FROM PDL+2
053811,000184: 27,3411 77744 STORE TFFALFA # ALFA 1/M E:(26-NR) M:(24-NR)
053812,000185: 27,3412 41457 SL* PUSH # TEMP SAVE ALFA E:(20) M:(18)
053813,000186: 27,3413 20173 0 -6,1
053814,000187: 27,3414 75446 ABS SQRT # E:(10) M:(9)
053815,000188: 27,3415 77701 NORM
053816,000189: 27,3416 00050 X2 # X2 = -NA
053817,000190: 27,3417 00031 STORE TFFRTALF # SQRT( ABS(ALFA) ) E:(10+NA) M:(9+NA)
053818,000191: 27,3420 75316 DSQ SIGN # NOT SO ACCURATE, BUT OK
053819,000192: # ALFA FROM PDL+2 E:(20) M:(18)
053820,000193: 27,3421 55254 BZE BDDV # SET 1/ALFA =0, TO SHOW SMALL ALFA
053821,000194: 27,3422 57424 +2
053822,000195: 27,3423 06510 TFF1/4
053823,000196: 27,3424 00027 +2 STORE TFF1/ALF # 1/ALFA E:(-22-2 NA) M:(-20-2 NA)
053824,000197: 27,3425 77616 DUMPCNIC RVQ
053825,000198:
053826,000199: # 39 W
053827,000200:
Page 1262 |
053829,000202: # SUBROUTINE NAME: TFFRP/RA DATE: 01.17.67
053830,000203: # MOD NO: 0 LOG SECTION: TIME OF FREE FALL
053831,000204: # MOD BY: RR BAIRNSFATHER
053832,000205: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 11 APR 67
053833,000206: # MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 68 ACCEPT DIFFERENT EARTH/MOON SCALES
053834,000207: # ALSO IMPROVE ACCURACY OF RAPO.
053835,000208: # FUNCTIONAL DESCRIPTION: USED BY CALCTPER AND TFF DISPLAYS TO CALCULATE PERIGEE RADIUS AND ALSO
053836,000209: # APOGEE RADIUS FOR A GENERAL CONIC.
053837,000210: # PROGRAM GIVES PERIGEE RADIUS AS APOGEE RADIUS IS GIVEN BY
053838,000211: # RP = P /(1+E) RA = (1+E) / ALFA
053839,000212: # WHERE 2
053840,000213: # E = 1 - P ALFA
053841,000214: # IF RA IS NEGATIVE OR SHOWS DIVIDE OVERFLOW, THEN RA = POSMAX BECAUSE
053842,000215: # 1. APOGEE RADIUS IS NOT MEANINGFUL FOR HYPERBOLA
053843,000216: # 2. APOGEE RADIUS IS NOT DEFINED FOR PARABOLA
053844,000217: # 3. APOGEE RADIUS EXCEEDS THE SCALING FOR ELLIPSE.
053845,000218: # THIS SUBROUTINE REQUIRES THE SIGNED RECIPROCAL SEMI MAJ AXIS, ALFA, AND SEMI LATUS RECTUM AS DATA.
053846,000219: # CALLING SEQUENCE: CALL
053847,000220: # TFFRP/RA
053848,000221: # PUSHLOC = PDL+0, ARBITRARY IF LEQ 10D
053849,000222: # C(MPAC) UNSPECIFIED
053850,000223:
053851,000224: # SUBROUTINES CALLED: NONE
053852,000225: # NORMAL EXIT MODE: RVQ
053853,000226: # IF ELLIPSE, WITHIN NORMAL SCALING, RAPO IS CORRECT.
053854,000227: # OTHERWISE, RAPO = POSMAX.
053855,000228: # ALARMS: NONE
053856,000229: # OUTPUT: STORED IN PUSH LIST AREA. SCALE OF OUTPUT AGREES WITH DATA SUPPLIED TO TFF/CONIC.
053857,000230: # RPER E:(-29) M:(-27) M PERIGEE RADIUS DESTROYED BY CALCTFF/CALCTPER, TFFTRIG.
053858,000231: # RAPO E:(-29) M:(-27) M APOGEE RADIUS WILL BE DESTROYED BY CALCTFF/CALCTPER
053859,000232: # PUSHLOC AT PDL+0
053860,000233: # ERASABLE INITIALIZATION REQUIRED:
053861,000234: # TFFALFA E:(26-NR) M 1/SEMI MAJ AXIS LEFT BY TFFCONIC
053862,000235: # M:(24-NR)
053863,000236: # TFFNP E: (-38+2NR) M LC P, SEMI LATUS RECTUM LEFT BY TFFCONIC
053864,000237: # M: (-36+2NR)
053865,000238: # X1 -NR, NORM COUNT OF RMAG LEFT BY TFFCONIC
053866,000239: # X2 -NA, NORM COUNT OF ALFA LEFT BY TFFCONIC
053867,000240: # DEBRIS: QPRET, PDL+0 ... PDL+1
053868,000241:
Page 1263 |
053870,000243: 27,3426 RAPO = 16D # APOGEE RADIUS M E:(-29) M:(-27)
053871,000244: 27,3426 RPER = 14D # PERIGEE RADIUS M E:(-29) M:(-27)
053872,000245:
053873,000246: 27,3426 41345 TFFRP/RA DLOAD DMP
053874,000247: 27,3427 00033 TFFALFA # ALFA 1/M E:(26-NR) M:(24-NR)
053875,000248: 27,3430 00035 TFFNP # LC P M E:(-38+2NR) M:(-36+2NR)
053876,000249: 27,3431 57457 SR* DCOMP # ALFA P (-12+NR)
053877,000250: 27,3432 20571 0 -8D,1 # ALFA P (-4)
053878,000251: 27,3433 51415 DAD ABS # (DCOMP GIVES VALID TP RESULT FOR SQRT)
053879,000252: # (ABS PROTECTS SQRT IF E IS VERY NEAR 0)
053880,000253: 27,3434 17764 DP2(-4)
053881,000254: 27,3435 43366 SQRT DAD # E SQ = (1- P ALFA) (-4)
053882,000255: 27,3436 06510 TFF1/4
053883,000256: 27,3437 55206 PUSH BDDV # (1+E) (-2) TO PDL+0
053884,000257: 27,3440 00035 TFFNP # LCP M E:(-38+2NR) M:(-36+2NR)
053885,000258: 27,3441 53657 SR* SR* # (DOES SR THEN SL TO AVOID OVFL)
053886,000259: 27,3442 20601 0,1 # X1=-NR
053887,000260: 27,3443 20572 0 -7,1 # (EFFECTIVE SL)
053888,000261: 27,3444 14017 STODL RPER # PERIGEE RADIUS M E:(-29) M:(-27)
053889,000262: # (1+E) (-2) FROM PDL+0
053890,000263: 27,3445 41005 DMP BOVB
053891,000264: 27,3446 00027 TFF1/ALF # E:(-22-2NA) M:(-20-2NA)
053892,000265: 27,3447 57752 TCDANZIG # CLEAR OVFIND, IF ON.
053893,000266: 27,3450 53654 BZE SL*
053894,000267: 27,3451 57460 MAXRA # SET POSMAX, IF ALFA=0
053895,000268: 27,3452 57603 0 -5,2 # -5+NA
053896,000269: 27,3453 40057 SL* BOV
053897,000270: 27,3454 57576 0,2
053898,000271: 27,3455 57460 MAXRA # SET POSMAX IF OVFL.
053899,000272: 27,3456 77644 BPL # CONTINUE WITH VALID RAPO.
053900,000273: 27,3457 57462 +3
053901,000274: 27,3460 77745 MAXRA DLOAD # RAPO CALC IS NOT VALID. SET RAPO =
053902,000275: 27,3461 17770 NEARONE # POSMAX AS A TAG.
053903,000276: 27,3462 00021 +3 STORE RAPO # APOGEE RADIUS M E:(-29) M:(-27)
053904,000277: 27,3463 77616 DUMPRPRA RVQ
053905,000278:
053906,000279: # 30 W
053907,000280:
Page 1264 |
053909,000282: # SUBROUTINE NAME: CALCTPER / CALCTFF DATE: 01.29.67
053910,000283: # MOD NO: 0 LOG SECTION: TIME OF FREE FALL
053911,000284: # MOD BY: RR BAIRNSFATHER
053912,000285: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 67
053913,000286: # MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 14 APR 67
053914,000287: # MOD NO: 3 MOD BY: RR BAIRNSFATHER DATE: 8JUL 67 NEAR EARTH MUE AND NEG TFF (GONEPAST)
053915,000288: # MOD NO: 4 MOD BY: RR BAIRNSFATHER DATE: 21 NOV 67 ADD VARIABLE MU.
053916,000289: # MOD NO: 5 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 68 ACCEPT DIFFERENT EARTH/MOON SCALES
053917,000290: # FUNCTIONAL DESCRIPTION: PROGRAM CALCULATES THE FREE-FALL TIME OF FLIGHT FROM PRESENT POSITION RN AND
053918,000291: # VELOCITY VN TO A RADIUS LENGTH SPECIFIED BY RTERM , SUPPLIED BY THE USER. THE POSITION VECTOR
053919,000292: # RN MAY BE ON EITHER SIDE OF THE CONIC, BUT RTERM IS CONSIDERED ON THE INBOUND SIDE.
053920,000293: # THE EQUATIONS ARE
053921,000294:
053922,000295: # Q2 = -SQRT(RTERM (2-RTERM ALFA) - LCP) (INBOUND SIDE)) LEQ +- LCE/SQRT(ALFA)
053923,000296: # - -
053924,000297: # Q1 = RN.VN / SQRT(MU) LEQ +- LCE/SQRT(ALFA)
053925,000298:
053926,000299: # Z = NUM / DEN LEQ +- 1/SQRT(ALFA)
053927,000300:
053928,000301: # WHERE, IF INBOUND
053929,000302: # NUM = RTERM - RN LEQ +- 2 LCE/ALFA
053930,000303: # DEN = Q2+Q1 LEQ +- 2 LCE/SQRT(ALFA)
053931,000304:
053932,000305: # AND, IF OUTBOUND
053933,000306: # NUM = Q2-Q1 LEQ +- 2 LCE/SQRT(ALFA)
053934,000307: # DEN = 2 - ALFA (RTERM + RN) . LEQ +- 2 LCE
053935,000308:
053936,000309: # IF ALFA ZZ < 1.0 (FOR ALL CONICS EXCEPT ELLIPSES HAVING ABS(DEL ECC ANOM) G 90 DEG)
053937,000310:
053938,000311: # THEN X = ALFA Z Z
053939,000312: # AND TFF = (RTERM +RN -2 ZZ T(X) ) Z/SQRT(MU)
053940,000313:
053941,000314: # EXCEPT IF ALFA PNZ, AND IF TFF NEG,
053942,000315: # THEN TFF = 2 PI /(ALFA SQRT(ALFA)) + TFF
053943,000316:
053944,000317: # OR IF ALFA ZZ GEQ 1.0 (FOR ELLIPSES HAVING ABS(DEL ECC ANOM) GEQ 90 DEG)
053945,000318:
053946,000319: # THEN X = 1/ALFA Z Z
053947,000320: # AND TFF = (PI/SQRT(ALFA) -Q2 +Q1 +2(X T(X) -1) /ALFA Z) /ALFA SQRT(MU)
053948,000321:
053949,000322: # WHERE T(X) IS A POLYNOMIAL APPROXIMATION TO THE SERIES
053950,000323: # 2 3 2
053951,000324: # 1/3 -X/5 +X /7 -X /9 ... (X < 1.0)
053952,000325:
053953,000326: # CALLING SEQUENCE: TIME TO RTERM TIME TO PERIGEE
053954,000327: # CALL CALL
053955,000328: # CALCTFF CALCTPER
053956,000329: # C(MPAC) = TERMNL RAD M C(MPAC) = PERIGEE RAD M
053957,000330: # FOR EITHER, E: (-29) M: (-27)
053958,000331: # FOR EITHER, PUSHLOC = PDL+0, ARBITRARY IF LEQ 8D.
053959,000332:
Page 1265 |
053961,000334: # SUBROUTINES CALLED: T(X), VIA RTB
053962,000335: # NORMAL EXIT MODE: RVQ
053963,000336: # HOWEVER, PROGRAM EXITS WITH ONE OF THE FOLLOWING VALUES FOR TFF (-28) CS IN MPAC. USER MUST STORE.
053964,000337: # A. TFF= FLIGHT TIME. NORMAL CASE FOR POSITIVE FLIGHT TIME LESS THAN ONE ORBITAL PERIOD.
053965,000338: # B. (THIS OPTION IS NO LONGER USED.)
053966,000339: # C. TFF = POSMAX. THIS INDICATES THAT THE CONIC FROM THE PRESENT POSITION WILL NOT RETURN TO
053967,000340: # THE SPECIFIED ALTITUDE. ALSO INDICATES OUTBOUND PARABOLA OR HYPERBOLA.
053968,000341: # OUTPUT: C(MPAC) (-28) CS TIME OF FLIGHT, OR TIME TO PERIGEE
053969,000342: # TFFX (0) X, LEFT FOR ENTRY DISPLAY TFF ROUTINES
053970,000343: # NRTERM E: (-29+NR) M RTERM, WEIGHTED BY NR LEFT FOR ENTRY DISPLAY TFF ROUTINES
053971,000344: # M: (-27+NR)
053972,000345: # TFFTEM E: (-59+2NR) LCP Z Z SGN(SDELF) LEFT FOR ENTRY DISPLAY TFF ROUTINES
053973,000346: # M: (-55+2NR) LCP /ALFA SGN(SDELF) LEFT FOR ENTRY DISPLAY TFF ROUTINES
053974,000347: # NOTE: TFFTEM = PDL 36D AND WILL BE DESTROYED BY .:UNIT:.
053975,000348: # RMAG1 E:(-29) M:(-27) PDL 12 NOT TOUCHED.
053976,000349: # TFFQ1 E:(-16) M:(-15) PDL 14D
053977,000350: # TFFDELQ E:(-16) M:(-15) PDL 10D
053978,000351: # PUSHLOC AT PDL+0
053979,000352: # ERASABLE INITIALIZATION REQUIRED:
053980,000353: # RONE E:(-29) M:(-27) M STATE VECTOR LEFT BY USER
053981,000354: # VONE' E:(+10) M:(+9) VN/SQRT(MU) LEFT BY TFF/CONIC
053982,000355: # RMAG1 E:(-29) M:(-27) PRESENT RADIUS, M LEFT BY TFFCONIC
053983,000356: # C(MPAC)E:(-29) M:(-27) RTERM, TERMINAL RADIUS LENGTH, M LEFT BY USER
053984,000357:
053985,000358: # THE FOLLOWING ARE STORED IN THE PUSH LIST AREA.
053986,000359: # TFF/RTMU E:(17) M:(14) 1/SQRT(MU) LEFT BY TFFCONIC.
053987,000360: # NRMAG E: (-29+NR) M RMAG, NORMALIZED LEFT BY TFFCONIC
053988,000361: # M: (-27+NR)
053989,000362: # X1 -NR, NORM COUNT LEFT BY TFFCONIC
053990,000363: # TFFNP E: (-38+2NR) M LCP, SEMI LATUS RECTUM, WEIGHT NR LEFT BY TFFCONIC
053991,000364: # M: (-36+2NR)
053992,000365: # TFFALFA E: (26-NR) 1/M ALFA, WEIGHT NR LEFT BY TFFCONIC
053993,000366: # M: (24-NR)
053994,000367: # TFFRTALF E:(10+NA) SQRT(ALFA), NORMALIZED LEFT BY TFFCONIC
053995,000368: # M:(9+NA)
053996,000369: # X2 -NA, NORM COUNT LEFT BY TFFCONIC
053997,000370: # TFF1/ALF E: (-22-2NA) SIGNED SEMIMAJ AXIS, WEIGHTED BY NA LEFT BY TFFCONIC
053998,000371: # M: (-20-2NA)
053999,000372: # DEBRIS: QPRET, PDL+0 ... PDL+3
054000,000373: # RTERM E:(-29) M:(-27) RTERM, TERMINAL RADIUS LENGTH
054001,000374: # RAPO E:(-29) M:(-27) PDL 16D (=NRTERM)
054002,000375: # RPER E:(-29) M:(-27) PDL 14D (=TFFQ1)
054003,000376:
Page 1266 |
054005,000378: 27,3464 77614 CALCTPER SETGO # ENTER WITH RPER IN MPAC
054006,000379: 27,3465 03436 TFFSW
054007,000380: 27,3466 57471 +3
054008,000381: 27,3467 77614 CALCTFF CLEAR # ENTER WITH RTERM IN MPAC
054009,000382: 27,3470 03676 TFFSW
054010,000383: 27,3471 00023 +3 STORE RTERM # E: (-29) M: (-27)
054011,000384: 27,3472 77657 SL*
054012,000385: 27,3473 20201 0,1 # X1=-NR
054013,000386: 27,3474 00021 STORE NRTERM # RTERM E: (-29+NR) M: (-27+NR)
054014,000387: 27,3475 44205 DMP BDSU
054015,000388: 27,3476 00033 TFFALFA # ALFA E: (26-NR) M: (24-NR)
054016,000389: 27,3477 06510 TFF1/4
054017,000390: 27,3500 41206 PUSH DMP # (2-ALFA RTERM) (-3) TO PDL+0
054018,000391: 27,3501 00021 NRTERM # E: (-29+NR) M: (-27+NR)
054019,000392: 27,3502 53725 PDDL SR* # RTERM(2-ALFA RTERM) TO PDL+2
054020,000393: # E: (-32+NR) M: (-30+NR)
054021,000394: 27,3503 00035 TFFNP # LC P E:(-38+2NR) M:(-36+2NR)
054022,000395: 27,3504 20573 0 -6,1 # X1 = -NR
054023,000396: 27,3505 43276 DCOMP DAD # DUE TO SHIFTS, KEEP PRECISION FOR SQRT
054024,000397: # RTERM(2-ALFA RTERM) FROM PDL+2
054025,000398: # E: (-32+NR) M: (-30+NR)
054026,000399: 27,3506 77657 SR* # LEAVE E: (-32) M: (-30)
054027,000400: 27,3507 20601 0,1 # X1 = -NR
054028,000401: 27,3510 71214 BOFF DLOAD # CHECK TFF / TPER SWITCH
054029,000402: 27,3511 03756 TFFSW
054030,000403: 27,3512 57514 +2 # IF TFF, CONTINUE
054031,000404: 27,3513 06520 TFFZEROS # IF TPER, SET Q2 = 0
054032,000405: 27,3514 75440 +2 BMN SQRT # E: (-16) M: (-15)
054033,000406:
054034,000407: 27,3515 57647 MAXTFF1 # NO FREE FALL CONIC TO RTERM FROM HERE
054035,000408: # RESET PDL, SET TFF=POSMAX, AND EXIT.
054036,000409:
054037,000410: 27,3516 41076 DCOMP BOVB # RT IS ON INBOUND SIDE. ASSURE OVFIND=0
054038,000411: 27,3517 57752 TCDANZIG # ANY PORT IN A STORM.
054039,000412: 27,3520 24045 STOVL TFFTEM # Q2 E: (-16) M: (-15)
054040,000413: 27,3521 02170 VONE' # VN/SQRT(MU) E: (10) M: (9)
054041,000414: 27,3522 52441 DOT SL3
054042,000415: 27,3523 02207 RONE # SAVED RN. E: (-29) M: (-27)
054043,000416: 27,3524 00017 STORE TFFQ1 # Q1, SAVE FOR GONEPAST TEST.
054044,000417: # E: (-16) M: (-15)
054045,000418: 27,3525 44240 BMN BDSU
054046,000419: 27,3526 57547 INBOUND # USE ALTERNATE Z
054047,000420: 27,3527 00045 TFFTEM # Q2 E: (-16) M: (-15)
054048,000421:
054049,000422: # OUTBOUND Z CALC CONTINUES HERE
054050,000423:
054051,000424: 27,3530 14043 STODL TFFX # NUM=Q2-Q1 E: (-16) M: (-15)
054052,000425: 27,3531 00033 TFFALFA # ALFA E: (26-NR) M: (24-NR)
054053,000426: 27,3532 44205 DMP BDSU
Page 1267 |
054055,000428: 27,3533 00041 NRMAG # RMAG E: (-29+NR) M: (-27+NR)
054056,000429: # (2-RTERM ALFA) (-3) FROM PDL+0
054057,000430: 27,3534 51406 SAVEDEN PUSH ABS # DEN TO PDL+0 E: (-3) OR (-16)
054058,000431: # M: (-3) OR (-15)
054059,000432: 27,3535 40015 DAD BOV # INDETERMINANCY TEST
054060,000433: 27,3536 17756 LIM(-22) # =1.0-B(-22)
054061,000434: 27,3537 57560 TFFXTEST # GO IF DEN >/= B(-22)
054062,000435: 27,3540 65345 DLOAD PDDL # SET DEN=0 OTHERWISE
054063,000436: 27,3541 06520 TFFZEROS
054064,000437: # XCH ZERO WITH PDL+0
054065,000438: 27,3542 57545 DLOAD DCOMP
054066,000439: 27,3543 00033 TFFALFA # ALFA E: (26-NR) M: (24-NR)
054067,000440: 27,3544 71240 BMN DLOAD # FOR TPER: Z INDET AT DELE/2=0 AND 90.
054068,000441: 27,3545 57654 TFFEL1 # ASSUME 90, AND LEAVE 0 IN PDL: 1/Z=D/N
054069,000442:
054070,000443: # Z INDET. AT PERIGEE FOR PARAB OR HYPERB.
054071,000444: 27,3546 77616 DUMPTFF1 RVQ # RETURN TFF =0
054072,000445:
054073,000446: # INBOUND Z CALC CONTINUES HERE
054074,000447: 27,3547 77745 INBOUND DLOAD # RESET PDL+0
054075,000448: 27,3550 45345 DLOAD DSU # ALTERNATE Z CALC
054076,000449: 27,3551 00023 RTERM # E: (-29) M: (-27)
054077,000450: 27,3552 00015 RMAG1 # E: (-29) M: (-27)
054078,000451: 27,3553 14043 STODL TFFX # NUM=RTERM-RN E: (-29) M: (-27)
054079,000452: 27,3554 00045 TFFTEM # Q2 E: (-16) M: (-15)
054080,000453: 27,3555 52015 DAD GOTO
054081,000454: 27,3556 00017 TFFQ1 # Q1 E: (-16) M: (-15)
054082,000455: 27,3557 57534 SAVEDEN # DEN = Q2+Q1 E: (-16) M: (-15)
054083,000456:
054084,000457: 27,3560 65215 TFFXTEST DAD PDDL # (ABS(DEN) TO PDL+2)) E: (-3) OR (-16)
054085,000458: # M: (-3) OR (-15)
054086,000459: 27,3561 17760 DP(-22) # RESTORE ABS(DEN) TO MPAC
054087,000460: 27,3562 00043 TFFX # NUM E:(-16) OR (-29) M:(-15) OR (-27)
054088,000461: 27,3563 53605 DMP SR*
054089,000462: 27,3564 00031 TFFRTALF # SQRT(ALFA) E: (10+NA) M: (9+NA)
054090,000463: 27,3565 57201 0 -3,2 # X2=-NA
054091,000464: 27,3566 77671 DDV # C(MPAC) =NUM SQRT(ALFA) E:(-3) OR (-16)
054092,000465: # M:(-3) OR (-15)
054093,000466: # ABS(DEN) FROM PDL+2 E:(-3) OR (-16)
054094,000467: # M:(-3) OR (-15)
054095,000468: 27,3567 40145 DLOAD BOV # (THE DLOAD IS SHARED WITH TFFELL)
054096,000469: 27,3570 00043 TFFX # NUM E: (-16) OR (-29) M:(-15) OR (-27)
054097,000470: 27,3571 57652 TFFELL # USE EQN FOR DELE GEQ 90, LEQ -90
054098,000471:
054099,000472: # OTHERWISE, CONTINUE FOR GENERAL CONIC FOR TFF EQN
054100,000473:
054101,000474: 27,3572 45471 DDV STADR
054102,000475: # DEN FROM PDL+0 E: (-3) OR (-16)
054103,000476: # M: (-3) OR (-15)
054104,000477: 27,3573 77732 STORE TFFTEM # Z SAVE FOR SIGN OF SDELF.
Page 1268 |
054106,000479: # E: (-13) M: (-12)
054107,000480: 27,3574 63406 PUSH DSQ # Z TO PDL+0
054108,000481: 27,3575 41206 PUSH DMP # Z SQ TO PDL+2 E: (-26) M: (-24)
054109,000482: 27,3576 00035 TFFNP # LC P E: (-38+2NR) M: (-36+2NR)
054110,000483: 27,3577 75261 SL SIGN
054111,000484: 27,3600 20206 5
054112,000485: 27,3601 00045 TFFTEM # AFFIX SIGN FOR SDELF (ENTRY DISPLAY)
054113,000486: 27,3602 14045 STODL TFFTEM # P ZSQ E: (-59+2NR) M: (-55+2NR)
054114,000487: # (ARG IS USED IN TFF/TRIG)
054115,000488: # ZSQ FROM PDL+2 E: (-26) M: (-24)
054116,000489: 27,3603 41206 PUSH DMP # RESTORE PUSH LOC
054117,000490: 27,3604 00033 TFFALFA # ALFA E: (26-NR) M: (24-NR)
054118,000491: 27,3605 77657 SL*
054119,000492: 27,3606 20201 0,1 # X1=-NR
054120,000493: 27,3607 00043 STORE TFFX # X
054121,000494: 27,3610 41234 RTB DMP
054122,000495: 27,3611 57734 T(X) # POLY
054123,000496: # ZSQ FROM PDL+2 E: (-26) M: (-24)
054124,000497: 27,3612 44302 SR2 BDSU # 2 ZSQ T(X) E: (-29) M: (-27)
054125,000498: 27,3613 00023 RTERM # RTERM E: (-29) M: (-27)
054126,000499: 27,3614 41215 DAD DMP
054127,000500: 27,3615 00015 RMAG1 # E: (-29) M: (-27)
054128,000501: # Z FROM PDL+0 E: (-13) M: (-12)
054129,000502: 27,3616 51042 SR3 BPL # TFF SQRT(MU) E: (-45) M: (-42)
054130,000503: 27,3617 57640 ENDTFF # (NO PUSH UP)
054131,000504: 27,3620 75206 PUSH SIGN # TFF SQRT(MU) TO PDL+0
054132,000505: 27,3621 00017 TFFQ1 # Q1 FOR GONEPAST TEST
054133,000506: 27,3622 71244 BPL DLOAD # GONE PAST ?
054134,000507: 27,3623 57644 NEGTFF # YES. TFF < 0 .
054135,000508: 27,3624 00027 TFF1/ALF # 1/ALFA E: (-22-2NA) M: (-20-2NA)
054136,000509: 27,3625 51076 DCOMP BPL # ALFA > 0 ?
054137,000510: 27,3626 57644 NEGTFF # NO. TFF IS NEGATIVE.
054138,000511:
054139,000512: # CORRECT FOR ORBITAL PERIOD.
054140,000513:
054141,000514: 27,3627 77676 DCOMP # YES. CORRECT FOR ORB PERIOD.
054142,000515: 27,3630 56205 DMP DDV
054143,000516: 27,3631 17754 PI/16 # 2 PI (-5)
054144,000517: 27,3632 00031 TFFRTALF # SQRT(ALFA) E: (10+NA) M: (9+NA)
054145,000518: 27,3633 53657 SL* SL*
054146,000519: 27,3634 57602 0 -4,2 # X2=-NA
054147,000520: 27,3635 57602 0 -4,2
054148,000521: 27,3636 43257 SL* DAD
054149,000522: 27,3637 57576 0,2
054150,000523: # TFF SQRT(MU) FROM PDL+0 E:(-45) M:(-42)
054151,000524: 27,3640 40005 ENDTFF DMP BOV # TFF SQRT(MU) IN MPAC E:(-45) M:(-42)
054152,000525: 27,3641 00037 TFF/RTMU # E: (17) M: (14)
054153,000526: 27,3642 57650 MAXTFF # SET POSMAX IF OVFL.
054154,000527:
054155,000528: 27,3643 77616 DUMPTFF2 RVQ # RETURN TFF (-28) CS IN MPAC.
054156,000529:
Page 1269 |
054158,000531: 27,3644 77745 NEGTFF DLOAD
054159,000532: # TFF SQRT(MU) FROM PDL+0, NEGATIVE.
054160,000533: 27,3645 77650 GOTO
054161,000534: 27,3646 57640 ENDTFF
054162,000535:
054163,000536: 27,3647 77745 MAXTFF1 DLOAD # RESET PDL
054164,000537: 27,3650 43545 MAXTFF DLOAD RVQ
054165,000538: 27,3651 17770 NEARONE
054166,000539:
054167,000540: # TIME OF FLIGHT ELLIPSE WHEN DEL (ECCENTRIC ANOM) GEQ 90 AND LEQ -90.
054168,000541:
054169,000542: # NUM FROM TFFX. E: (-16) OR (-29)
054170,000543: # M: (-15) OR (-27)
054171,000544: 27,3652 77712 TFFELL SL2 # NUM E:(-14) OR (-27) M:(-13) OR (-25)
054172,000545: 27,3653 41465 BDDV PUSH # TEMP SAVE D/N IN PDL+0
054173,000546: # DEN FROM PDL+0 E:(-3)/( 16) M:(-3)/(-15)
054174,000547: # N/D TO PDL+0 E: (11) M: (10)
054175,000548: 27,3654 45345 TFFEL1 DLOAD DSU # (ENTER WITH D/N=0 IN PDL+0)
054176,000549: 27,3655 00045 TFFTEM # Q2 E: (-16) M: (-15)
054177,000550: 27,3656 00017 TFFQ1 # Q1 E: (-16) M: (-15)
054178,000551: 27,3657 14013 STODL TFFDELQ # Q2-Q1 E: (-16) M: (-15)
054179,000552: # D/N FROM PDL+0
054180,000553: 27,3660 77626 STADR
054181,000554: 27,3661 77732 STORE TFFTEM # D/N E: (11) M: (10)
054182,000555: 27,3662 53605 DMP SL*
054183,000556: 27,3663 00027 TFF1/ALF # 1/ALFA E: (-22-2NA) M: (-20-2NA)
054184,000557: 27,3664 57576 0,2 # 1/ALFA Z E: (-11-NA) M: (-10-NA)
054185,000558: 27,3665 41206 PUSH DMP # TO PDL+0
054186,000559: 27,3666 00045 TFFTEM # 1/Z E: (11) M: (10)
054187,000560: 27,3667 41057 SL* BOVB
054188,000561: 27,3670 57576 0,2 # X2= -NA
054189,000562: 27,3671 21713 SIGNMPAC # IN CASE X= 1.0, CONTINUE
054190,000563: 27,3672 00043 STORE TFFX # X=1/ALFA ZSQ
054191,000564: 27,3673 41234 RTB DMP
054192,000565: 27,3674 57734 T(X) # POLY
054193,000566: 27,3675 00043 TFFX
054194,000567: 27,3676 45242 SR3 DSU
054195,000568: 27,3677 17762 DP2(-3)
054196,000569: 27,3700 41405 DMP PUSH # 2(X T(X)-1) /Z ALFA E: (-15-NA)
054197,000570: # M: (-14-NA)
054198,000571: # 1/ALFA Z FROM PDL+0 E: (-11-NA)
054199,000572: # M: (-10-NA)
054200,000573: 27,3701 41345 DLOAD DMP # GET SIGN FOR SDELF
054201,000574: 27,3702 00045 TFFTEM # 1/Z E: (11) M: (10)
054202,000575: 27,3703 00015 RMAG1 # E: (-29) M: (-27)
054203,000576: 27,3704 43312 SL2 DAD
054204,000577: 27,3705 00017 TFFQ1 # Q1 E: (-16) M: (-15)
054205,000578: 27,3706 14045 STODL TFFTEM # (Q1+R 1/Z) =SGN OF SDELF E:(-16) M:(-15
054206,000579: 27,3707 00035 TFFNP # LC P E: (-38+2NR) M: (-36+2NR)
054207,000580: 27,3710 53605 DMP SL* # CALC FOR ARG FOR TFF/TRIG.
Page 1270 |
054209,000582: 27,3711 00027 TFF1/ALF # 1/ALFA E:(-22-2NA) M:(-20-2NA)
054210,000583: 27,3712 57575 1,2 # X2=-NA
054211,000584: 27,3713 53765 SIGN SL*
054212,000585: 27,3714 00045 TFFTEM # AFFIX SIGN FOR SDELF
054213,000586: 27,3715 57576 0,2
054214,000587: 27,3716 14045 STODL TFFTEM # P/ALFA E:(-59+2NR) M:(-55+2NR)
054215,000588: # (ARG FOR USE IN TFF/TRIG)
054216,000589: 27,3717 00027 TFF1/ALF # 1/ALFA E:(-22-2NA) M:(-20-2NA)
054217,000590: 27,3720 41366 SQRT DMP
054218,000591: 27,3721 17754 PI/16 # PI (-4)
054219,000592: 27,3722 77615 DAD
054220,000593: # 2(XT(X)-1)/Z ALFA FROM PDL E:(-15-NA)
054221,000594: # M:(-14-NA)
054222,000595: 27,3723 45257 SL* DSU
054223,000596: 27,3724 57577 0 -1,2
054224,000597: 27,3725 00013 TFFDELQ # Q2-Q1 E: (-16) M: (-15)
054225,000598: 27,3726 53605 DMP SL*
054226,000599: 27,3727 00027 TFF1/ALF # 1/ALFA E:(-22-2NA) M:(-20-2NA)
054227,000600: 27,3730 57601 0 -3,2
054228,000601: 27,3731 52057 SL* GOTO
054229,000602: 27,3732 57602 0 -4,2
054230,000603: 27,3733 57640 ENDTFF # TFF SQRT(MU) IN MPAC E:(-45) M:(-42)
054231,000604:
Page 1271 |
054233,000606: # PROGRAM NAME: T(X) DATE: 01.17.67
054234,000607: # MOD NO: 0 LOG SECTION: TIME OF FREE FALL
054235,000608: # MOD BY: RR BAIRNSFATHER
054236,000609: # FUNCTIONAL DESCRIPTION: THE POLYNOMIAL T(X) IS USED BY TIME OF FLIGHT SUBROUTINES CALCTFF AND
054237,000610: # CALCTPER TO APPROXIMATE THE SERIES
054238,000611: # 2 3
054239,000612: # 1/3 -X/5 +X /7 -X /9 ...
054240,000613:
054241,000614: # WHERE X = ALFA Z Z IF ALFA Z Z LEQ 1
054242,000615: # X = 1/(ALFA Z Z ) IF ALFA Z Z G 1
054243,000616:
054244,000617: # ALSO X IS NEG FOR HYPERBOLIC ORBITS
054245,000618: # X = 0 FOR PARABOLIC ORBITS
054246,000619: # X IS POSITIVE FOR ELLIPTIC ORBITS
054247,000620: # FOR FLIGHT 278, THE POLYNOMIAL T(X) IS FITTED OVER THE RANGE (0,+1) AND HAS A MAXIMUM
054248,000621: # DEVIATION FROM THE SERIES OF 2 E-5 (T(X) IS A CHEBYCHEV TYPE FIT AND WAS OBTAINED USING
054249,000622: # MAC PROGRAM AUTCURFIT294RRB AND IS VALID TO THE SAME TOLERANCE OVER THE RANGE (-.08,+1). )
054250,000623: # CALLING SEQUENCE: RTB
054251,000624: # T(X)
054252,000625: # C(MPAC) = X
054253,000626:
054254,000627: # SUBROUTINES CALLED: NONE
054255,000628: # NORMAL EXIT MODE: TC DANZIG
054256,000629: # ALARMS: NONE
054257,000630: # OUTPUT: C(MPAC) = T(X)
054258,000631: # ERASABLE INITIALIZATION REQUIRED:
054259,000632: # C(MPAC) = X
054260,000633: # DEBRIS: NONE
054261,000634:
054262,000635: 27,3734 07225 T(X) TC POLY
054263,000636: 27,3735 00004 DEC 4 B-14 # N-1
054264,000637: 27,3736 12525 12525 2DEC 3.333333333 E-1
054265,000638:
054266,000639: 27,3740 71463 57703 2DEC* -1.999819135 E-1*
054267,000640:
054268,000641: 27,3742 04423 17645 2DEC* 1.418148467 E-1*
054269,000642:
054270,000643: 27,3744 74604 43667 2DEC* -1.01310997 E-1*
054271,000644:
054272,000645: 27,3746 01626 37256 2DEC* 5.609004986 E-2*
054273,000646:
054274,000647: 27,3750 77404 52071 2DEC* -1.536156925 E-2*
054275,000648:
054276,000649: 27,3752 06064 ENDT(X) TC DANZIG
054277,000650:
054278,000651: 27,3753 27,3752 TCDANZIG = ENDT(X)
054279,000652:
Page 1272 |
054281,000654: # TFF CONSTANTS
054282,000655:
054283,000656: 32,3652 BANK 32
054284,000657:
054285,000658: 27,2000 SETLOC TOF-FF1
054286,000659: 27,2000 BANK
054287,000660:
054288,000661: # NOTE _ NOTE _ ADJUSTED MUE FOR NEAR EARTH TRAJ.
054289,000662:
054290,000663: # MUE = 3.990 815 471 E10 M CUBE/CS SQ
054291,000664: # RTMUE = 1.997702549 E5 B-18* MODIFIED EARTH MU
054292,000665:
054293,000666: # NOTE _ NOTE _ ADJUSTED MUE FOR NEAR EARTH TRAJ.
054294,000667:
054295,000668: # MUM = 4.902 778 E8 M CUBE /CS SQ
054296,000669:
054297,000670: # RTMUM 2DEC* 2.21422176 E4 B-18*
054298,000671: 27,3753 06220 37553 PI/16 2DEC 3.141592653 B-4
054299,000672:
054300,000673: 27,3755 37777 37700 LIM(-22) 2OCT 3777737700 # 1.0 -B(-22)
054301,000674:
054302,000675: 27,3757 00000 00100 DP(-22) 2OCT 0000000100 # B(-22)
054303,000676:
054304,000677: 27,3761 04000 00000 DP2(-3) 2DEC 1 B-3
054305,000678:
054306,000679: 27,3763 02000 00000 DP2(-4) 2DEC 1 B-4 # 1/16
054307,000680:
054308,000681: # RPAD1 2DEC 6373338 B-29 M (-29) =20 909 901.57 FT
054309,000682:
054310,000683: 27,3765 23,2333 RPAD1 = RPAD
054311,000684:
054312,000685: 27,3765 00305 11205 R300K 2DEC 6464778 B-29 # (-29) M
054313,000686:
054314,000687: 27,3767 37777 37777 NEARONE 2DEC .999999999
054315,000688:
054316,000689: 27,3771 23,2517 TFFZEROS EQUALS HI6ZEROS
054317,000690: 27,3771 23,2507 TFF1/4 EQUALS HIDP1/4
054318,000691:
End of include-file TIME_OF_FREE_FALL.agc. Parent file is MAIN.agc