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