Source Code
These source-code files were derived from scans of the
Colossus 237 (Apollo 8 Command Module) program listing from the private collection of original
AGC developer Fred Martin. Scanning was by Ron Burkey. Pre-existing Colossus 249
(Apollo 9 CM) source files were used as a template, and changes between Colossus 249
and Colossus 237 were manually transcribed by a team of volunteers. Note
that the page images
presented online are of reduced quality, and that additional images
are available. Report any conversion errors or legibility
problems in page images to info@sandroid.org.
Notations on the program listing read, in part:GAP: ASSEMBLE REVISION 237 OF AGC PROGRAM COLOSSUS BY NASA 2021111-031 1:17 AUG. 24, 1968Note that the date is the date of the printout, not the date of the program revision. |
056840,000002: ## Copyright: Public domain.
056841,000003: ## Filename: TIME_OF_FREE_FALL.agc
056842,000004: ## Purpose: Part of the source code for Colossus build 237.
056843,000005: ## This is for the Command Module's (CM) Apollo Guidance
056844,000006: ## Computer (AGC), for Apollo 8.
056845,000007: ## Assembler: yaYUL
056846,000008: ## Contact: Jim Lawton <jim DOT lawton AT gmail DOT com>
056847,000009: ## Website: www.ibiblio.org/apollo/index.html
056848,000010: ## Page Scans: www.ibiblio.org/apollo/ScansForConversion/Colossus237/
056849,000011: ## Mod history: 2011-04-17 JL Adapted from corresponding Colossus 249 file.
056850,000012: ## 2011-04-17 JL Removed temporary line.
056851,000013: ## 2016-11-02 RSB Typo (various offset-references +2 and +3 not indented).
056852,000014: ## 2017-01-01 RSB Proofed comment text using octopus/ProoferComments,
056853,000015: ## and fixed errors found.
056854,000016: ## 2017-01-20 RSB Fixed comment-text errors noted while diff'ing
056855,000017: ## vs Colossus 249.
056856,000018: ## 2017-03-14 RSB Comment-text fixes noted in proofing Luminary 116.
056857,000019:
Page 1337 |
056859,000021: # THE TFF SUBROUTINES MAY BE USED IN EITHER EARTH OR MOON CENTERED COORDINATES. THE TFF ROUTINES NEVER
056860,000022: # KNOW WHICH ORIGIN APPLIES. IT IS THE USER WHO KNOWS, AND WHO SUPPLIES RONE, VONE AND 1/SQRT(MU) AT THE
056861,000023: # APPROPRIATE SCALE LEVEL FOR THE PROPER PRIMARY BODY.
056862,000024:
056863,000025: # EARTH ORIGIN POSITION -29 METERS
056864,000026: # VELOCITY -7 METERS/CENTISECOND
056865,000027: # 1/SQRT(MU) +17 SQRT(CS SQ/METERS CUBED)
056866,000028:
056867,000029: # MOON ORIGIN POSITION -27 METERS
056868,000030: # VELOCITY -5 METERS/CENTISECONDS
056869,000031: # 1/SQRT(MU) +14 SQRT(CS SQ/METERS CUBED)
056870,000032:
056871,000033: # ALL DATA PROVIDED TO AND RECEIVED FROM ANY TFF SUBROUTINE WILL BE AT ONE OF THE LEVELS ABOVE. IN ALL CASES,
056872,000034: # THE FREE FALL TIME IS RETURNED IN CENTISECONDS AT (-28). PROGRAM TFF/CONIC WILL GENERATE VONE/RTMU AND
056873,000035: # LEAVE IT IN VONE' AT (+10) IF EARTH ORIGIN AND (+9) IF MOON ORIGIN.
056874,000036: # THE USER MUST STORE THE STATE VECTOR IN RONE, VONE AND MU IN THE FORM 1/SQRT(MU) IN TFF/RTMU
056875,000037: # AT THE PROPER SCALE BEFORE CALLING TFF/CONIC. SINCE RONE, VONE ARE IN THE EXTENDED VERB STORAGE AREA,
056876,000038: # THE USER MUST ALSO LOCK OUT THE EXTENDED VERBS, AND RELEASE THEM WHEN FINISHED.
056877,000039: # PROGRAMS CALC/TFF AND CALC/TPER ASSUME THAT THE TERMINAL RADIUS IS LESS THAN THE PRESENT
056878,000040: # RADIUS. THIS RESTRICTION CAN BE REMOVED BY A 15 W CODING CHANGE, BUT AT PRESENT IT IS NOT DEEMED NECESSARY.
056879,000041:
056880,000042: # THE FOLLOWING ERASABLE QUANTITIES ARE USED BY THE TFF ROUTINES, AND ARE LOCATED IN THE PUSH LIST.
056881,000043:
056882,000044:
056883,000045: # BELOW E: IS USED FOR EARTH ORIGIN SCALE
056884,000046: # M: IS USED FOR MOON ORIGIN SCALE
056885,000047:
056886,000048: # TFFSW = 119D BIT1 0 = CALCTFF 1 = CALCTPER
056887,000049: 23,3725 TFFDELQ = 10D # Q2-Q1 E: (-16) M: (-15)
056888,000050: 23,3725 RMAG1 = 12D # ABVAL(RN) M E: (-29) M: (-27)
056889,000051: # RPER = 14D PERIGEE RADIUS M E: (-29) M: (-27)
056890,000052: 23,3725 TFFQ1 = 14D # R.V / SQRT(MUE) E: (-16) M: (-15)
056891,000053: # SDELF/2 SIN(THETA) /2
056892,000054: 23,3725 CDELF/2 = 14D # COS(THETA) /2
056893,000055: # RAPO = 16D APOGEE RADIUS M E: (-29) M: (-27)
056894,000056: 23,3725 NRTERM = 16D # TERMINAL RADIUS M E: (-29+NR)
056895,000057: # M: (-27+NR)
056896,000058: 23,3725 RTERM = 18D # TERMINAL RADIUS M E: (-29) M: (-27)
056897,000059: 23,3725 TFFVSQ = 20D # -(V SQUARED/MU) 1/M E: (20) M: (18)
056898,000060: 23,3725 TFF1/ALF = 22D # SEMI MAJ AXIS M E: (-22-2 NA)
056899,000061: # M: (-20-2 NA)
056900,000062: 23,3725 TFFRTALF = 24D # SQRT(ALFA) E: (10+NA) M: (9+NA)
056901,000063: 23,3725 TFFALFA = 26D # ALFA 1/M E: (26-NR) M: (24-NR)
056902,000064: 23,3725 TFFNP = 28D # SEMI LATUS RECTUM M E: (-38+2 NR)
056903,000065: # M: (-36+2 NR)
056904,000066: 23,3725 TFF/RTMU = 30D # 1/SQRT(MU) E: (17) M: (14)
056905,000067: 23,3725 NRMAG = 32D # PRESENT RADIUS M E: (-29+NR)
056906,000068: # M: (-27+NR)
056907,000069: 23,3725 TFFX = 34D
056908,000070: 23,3725 TFFTEM = 36D # TEMPORARY
Page 1338 |
056910,000072: # REGISTERS S1, S2 ARE UNTOUCHED BY ANY TFF SUBROUTINE
056911,000073: # INDEX REGISTERS X1, X2 ARE USED BY ALL TFF SUBROUTINES. THEY ARE ESTAB-
056912,000074: # LISHED IN TFF/CONIC AND MUST BE PRESERVED BETWEEN CALLS TO SUBSEQUENT
056913,000075: # SUBROUTINES.
056914,000076: # -NR C(X1) = NORM COUNT OF RMAG
056915,000077: # -NA C(X2)= NORM COUNT OF SQRT(ABS(ALFA))
056916,000078:
Page 1339 |
056918,000080:
056919,000081:
056920,000082: # SUBROUTINE NAME: TFFCONIC DATE: 01.29.67
056921,000083: # MOD NO: 0 LOG SECTION: TIME OF FREE FALL
056922,000084: # MOD BY: RR BAIRNSFATHER
056923,000085: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 11 APR 67
056924,000086: # MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 21 NOV 67 ADD MOON MU.
056925,000087: # MOD NO: 3 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 68 ACCEPT DIFFERENT EARTH/MOON SCALES
056926,000088: # FUNCTIONAL DESCRIPTION: THIS SUBROUTINE IS CALLED TO COMPUTE THOSE CONIC PARAMETERS REQUIRED BY THE TFF
056927,000089: # SUBROUTINES AND TO ESTABLISH THEM IN THE PUSH LIST AREA. THE PARAMETERS ARE LISTED UNDER OUTPUT.
056928,000090: # THE EQUATIONS ARE
056929,000091: # - - -
056930,000092: # H = RN*VN ANGULAR MOMENTUM
056931,000093: # - -
056932,000094: # LCP = H.H / MU SEMI LATUS RECTUM
056933,000095: # - -
056934,000096: # ALFA = 2/RN - VN.VN / MU RECIPROCAL SEMI MAJ AXIS, SIGNED
056935,000097:
056936,000098: # AND ALFA IS POS FOR ELLIPTIC ORBITS
056937,000099: # 0 FOR PARABOLIC ORBITS
056938,000100: # NEG FOR HYPERBOLIC ORBITS.
056939,000101: # SUBROUTINE ALSO COMPUTES AND SAVES RMAG.
056940,000102: # CALLING SEQUENCE:
056941,000103: # TFFCONIC EXPECTS CALLER TO ENTER WITH CORRECT GRAVITATIONAL CONSTANT IN MPAC, IN THE FORM
056942,000104: # 1/SQRT(MU). PROGRAM WILL SAVE IN TFF/RTMU . THE SCALE IS DETERMINED BY WHETHER EARTH OR MOON
056943,000105: # ORIGIN IS USED. THE CALLER MUST LOCK OUT THE EXTENDED VERBS BEFORE PROVIDING STATE VECTOR IN RONE,
056944,000106: # VONE AT PROPER SCALE. THE EXTENDED VERBS MUST BE RESTORED WHEN THE CALLER IS FINISHED USING THE
056945,000107: # TFF ROUTINES.
056946,000108: # ENTRY POINT TFFCONMU EXPECTS THAT TFF/RTMU IS ALREADY LOADED.
056947,000109: # TO SPECIFY MU: DLOAD CALL IF MU ALREADY STORED: CALL
056948,000110: # YOURMU 1/RTMU E: (17) M: (14) TFFCONMU
056949,000111: # TFFCONIC
056950,000112: # PUSHLOC = PDL+0, ARBITRARY IF LEQ 18D
056951,000113:
056952,000114: # SUBROUTINES CALLED: NONE
056953,000115: # NORMAL EXIT MODES: RVQ
056954,000116: # ALARMS: NONE
056955,000117: # OUTPUT: THE FOLLOWING ARE STORED IN THE PUSH LIST AREA.
056956,000118: # RMAG1 E:(-29) M:(-27) M RN, PRESENT RADIUS LENGTH.
056957,000119: # NRMAG E: (-29+NR) M RMAG, NORMALIZED
056958,000120: # M: (-27+NR)
056959,000121: # X1 -NR, NORM COUNT
056960,000122: # TFFNP E: (-38+2NR) M LCP, SEMI LATUS RECTUM, WEIGHTED BY NR. FOR VGAMCALC
056961,000123: # M: (-36+2NR)
056962,000124: # TFF/RTMU E:(17) M:(14) 1/SQRT(MU)
056963,000125: # TFFVSQ E:(20) M:(18) 1/M -(V SQ/MU): PRESENT VELOCITY,NORMLIZED. FOR VGAMCALC
056964,000126: # TFFALFA E: (26-NR) 1/M ALFA, WEIGHTED BY NR
056965,000127: # M: (24-NR)
056966,000128: # TFFRTALF E: (10+NA) SQRT(ALFA), NORMALIZED
056967,000129: # M: (9+NA)
Page 1340 |
056969,000131: # X2 -NA, NORMCOUNT
056970,000132: # TFF1/ALF E: (-22-2NA) SIGNED SEMI MAJ AXIS, WEIGHTED BY NA
056971,000133: # M: (-20-2NA)
056972,000134: # PUSHLOC AT PDL+0
056973,000135: # THE FOLLOWING IS STORED IN GENERAL ERASABLE
056974,000136: # VONE' E:(10) M:(9) V/RT(MU), NORMALIZED VELOCITY
056975,000137: # ERASABLE INITIALIZATION REQUIRED:
056976,000138: # RONE E:(-29) M:(-27) M STATE VECTOR LEFT BY CALLER
056977,000139: # VONE E:(-7) M:(-5) M/CS STATE VECTOR LEFT BY CALLER
056978,000140: # TFF/RTMU E:(17) M:(14) 1/RT(CS SQ/M CUBE) IF ENTER VIA TFFCONMU.
056979,000141: # DEBRIS: QPRET, PDL+0 ... PDL+3
056980,000142:
056981,000143:
056982,000144:
056983,000145: 33,3773 BANK 33
056984,000146: 27,2000 SETLOC TOF-FF
056985,000147: 27,2000 BANK
056986,000148:
056987,000149: 27,2721 COUNT* $$/TFF
056988,000150:
056989,000151: 27,2721 00037 TFFCONIC STORE TFF/RTMU # 1/SQRT(MU) E: (17) M: (14)
056990,000152:
056991,000153: 27,2722 53575 TFFCONMU VLOAD UNIT # COME HERE WITH TFFRTMU LOADED.
056992,000154: 27,2723 02327 RONE # SAVED RN. M E: (-29) M: (-27)
056993,000155: 27,2724 77725 PDDL # UR/2 TO PDL+0, +5
056994,000156: 27,2725 00045 36D # MAGNITUDE
056995,000157: 27,2726 00015 STORE RMAG1 # M E: (-29) M: (-27)
056996,000158:
056997,000159: 27,2727 77701 NORM
056998,000160: 27,2730 00047 X1 # -NR
056999,000161: 27,2731 24041 STOVL NRMAG # RMAG M E: (-29+NR) M: (-27+NR)
057000,000162: 27,2732 02335 VONE # SAVED VN. M/CS E: (-7) M: (-5)
057001,000163: 27,2733 77761 VXSC
057002,000164: 27,2734 00037 TFF/RTMU # E: (17) M: (14)
057003,000165: 27,2735 02372 STORE VONE' # VN/SQRT(MU) E: (10) M: (9)
057004,000166:
057005,000167: 27,2736 47361 VXSC VXV
057006,000168: 27,2737 00041 NRMAG # E: (-29+NR) M: (-27+NR)
057007,000169: # UR/2 FROM PDL
057008,000170: 27,2740 47572 VSL1 VSQ # BEFORE: E:(-19+NR) M:(-18+NR)
057009,000171: 27,2741 14035 STODL TFFNP # LC P M E:(-38+2NR) M:(-36+2NR)
057010,000172: # SAVE ALSO FOR VGAMCALC
057011,000173: 27,2742 15322 TFF1/4
057012,000174: 27,2743 63271 DDV PDVL # (2/RMAG) 1/M E:(26-NR) M:(24-NR)
057013,000175: 27,2744 00041 NRMAG # RMAG M E:(-29+NR) M:(-27+NR)
057014,000176: 27,2745 02372 VONE' # SAVED VN. E: (10) M: (9)
057015,000177: 27,2746 57436 VSQ DCOMP # KEEP MPAC+2 HONEST FOR SQRT.
057016,000178: 27,2747 00025 STORE TFFVSQ # -(V SQ/MU) E:(20) M:(18)
057017,000179: # SAVE FOR VGAMCALC
057018,000180: 27,2750 43257 SR* DAD
Page 1341 |
057020,000182: 27,2751 20573 0 -6,1 # GET -VSQ/MU E:(26-NR) M:(24-NR)
057021,000183: 27,2752 77626 STADR
057022,000184: # 2/RMAG FROM PDL+2
057023,000185: 27,2753 77744 STORE TFFALFA # ALFA 1/M E:(26-NR) M:(24-NR)
057024,000186: 27,2754 41457 SL* PUSH # TEMP SAVE ALFA E:(20) M:(18)
057025,000187: 27,2755 20173 0 -6,1
057026,000188: 27,2756 75446 ABS SQRT # E:(10) M:(9)
057027,000189: 27,2757 77701 NORM
057028,000190: 27,2760 00050 X2 # X2 = -NA
057029,000191: 27,2761 00031 STORE TFFRTALF # SQRT( ABS(ALFA) ) E:(10+NA) M:(9+NA)
057030,000192: 27,2762 75316 DSQ SIGN # NOT SO ACCURATE, BUT OK
057031,000193: # ALFA FROM PDL+2 E:(20) M:(18)
057032,000194: 27,2763 55254 BZE BDDV # SET 1/ALFA =0, TO SHOW SMALL ALFA
057033,000195: 27,2764 56766 +2
057034,000196: 27,2765 15322 TFF1/4
057035,000197: 27,2766 00027 +2 STORE TFF1/ALF # 1/ALFA E:(-22-2NA) M:(-20-2NA)
057036,000198: 27,2767 77616 DUMPCNIC RVQ
057037,000199: # 39 W
057038,000200:
Page 1342 |
057040,000202: # SUBROUTINE NAME: TFFRP/RA DATE: 01.17.67
057041,000203: # MOD NO: 0 LOG SECTION: TIME OF FREE FALL
057042,000204: # MOD BY: RR BAIRNSFATHER
057043,000205: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 11 APR 67
057044,000206: # MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 68 ACCEPT DIFFERENT EARTH/MOON SCALES
057045,000207: # ALSO IMPROVE ACCURACY OF RAPO.
057046,000208: # FUNCTIONAL DESCRIPTION: USED BY CALCTPER AND TFF DISPLAYS TO CALCULATE PERIGEE RADIUS AND ALSO
057047,000209: # APOGEE RADIUS FOR A GENERAL CONIC.
057048,000210: # PROGRAM GIVES PERIGEE RADIUS AS APOGEE RADIUS IS GIVEN BY
057049,000211: # RP = P /(1+E) RA = (1+E) / ALFA
057050,000212: # WHERE 2
057051,000213: # E = 1 - P ALFA
057052,000214: # IF RA IS NEGATIVE OR SHOWS DIVIDE OVERFLOW, THEN RA = POSMAX BECAUSE
057053,000215: # 1. APOGEE RADIUS IS NOT MEANINGFUL FOR HYPERBOLA
057054,000216: # 2. APOGEE RADIUS IS NOT DEFINED FOR PARABOLA
057055,000217: # 3. APOGEE RADIUS EXCEEDS THE SCALING FOR ELLIPSE.
057056,000218: # THIS SUBROUTINE REQUIRES THE SIGNED RECIPROCAL SEMI MAJ AXIS, ALFA, AND SEMI LATUS RECTUM AS DATA.
057057,000219: # CALLING SEQUENCE: CALL
057058,000220: # TFFRP/RA
057059,000221: # PUSHLOC = PDL+0, ARBITRARY IF LEQ 10D
057060,000222: # C(MPAC) UNSPECIFIED
057061,000223:
057062,000224: # SUBROUTINES CALLED: NONE
057063,000225: # NORMAL EXIT MODE: RVQ
057064,000226: # IF ELLIPSE, WITHIN NORMAL SCALING, RAPO IS CORRECT.
057065,000227: # OTHERWISE, RAPO = POSMAX.
057066,000228: # ALARMS: NONE
057067,000229: # OUTPUT: STORED IN PUSH LIST AREA. SCALE OF OUTPUT AGREES WITH DATA SUPPLIED TO TFF/CONIC.
057068,000230: # RPER E:(-29) M:(-27) M PERIGEE RADIUS DESTROYED BY CALCTFF/CALCTPER, TFFTRIG.
057069,000231: # RAPO E:(-29) M:(-27) M APOGEE RADIUS WILL BE DESTROYED BY CALCTFF/CALCTPER
057070,000232: # PUSHLOC AT PDL+0
057071,000233: # ERASABLE INITIALIZATION REQUIRED:
057072,000234: # TFFALFA E:(26-NR) M 1/SEMI MAJ AXIS LEFT BY TFFCONIC
057073,000235: # M:(24-NR)
057074,000236: # TFFNP E: (-38+2NR) M LC P, SEMI LATUS RECTUM LEFT BY TFFCONIC
057075,000237: # M: (-36+2NR)
057076,000238: # X1 -NR, NORM COUNT OF RMAG LEFT BY TFFCONIC
057077,000239: # X2 -NA, NORM COUNT OF ALFA LEFT BY TFFCONIC
057078,000240: # DEBRIS: QPRET, PDL+0 ... PDL+1
057079,000241:
Page 1343 |
057081,000243:
057082,000244: 27,2770 RAPO = 16D # APOGEE RADIUS M E:(-29) M:(-27)
057083,000245: 27,2770 RPER = 14D # PERIGEE RADIUS M E:(-29) M:(-27)
057084,000246:
057085,000247: 27,2770 41345 TFFRP/RA DLOAD DMP
057086,000248: 27,2771 00033 TFFALFA # ALFA 1/M E:(26-NR) M:(24-NR)
057087,000249: 27,2772 00035 TFFNP # LC P M E:(-38+2NR) M:(-36+2NR)
057088,000250: 27,2773 57457 SR* DCOMP # ALFA P (-12+NR)
057089,000251: 27,2774 20571 0 -8D,1 # ALFA P (-4)
057090,000252: 27,2775 51415 DAD ABS # (DCOMP GIVES VALID TP RESULT FOR SQRT)
057091,000253: # (ABS PROTECTS SQRT IF E IS VERY NEAR 0)
057092,000254: 27,2776 17330 DP2(-4)
057093,000255: 27,2777 43366 SQRT DAD # E SQ = (1- P ALFA) (-4)
057094,000256: 27,3000 15322 TFF1/4
057095,000257: 27,3001 55206 PUSH BDDV # (1+E) (-2) TO PDL+0
057096,000258: 27,3002 00035 TFFNP # LCP M E:(-38+2NR) M:(-36+2NR)
057097,000259: 27,3003 53657 SR* SR* # (DOES SR THEN SL TO AVOID OVFL)
057098,000260: 27,3004 20601 0,1 # X1=-NR
057099,000261: 27,3005 20572 0 -7,1 # (EFFECTIVE SL)
057100,000262: 27,3006 14017 STODL RPER # PERIGEE RADIUS M E:(-29) M:(-27)
057101,000263: # (1+E) (-2) FROM PDL+0
057102,000264: 27,3007 41005 DMP BOVB
057103,000265: 27,3010 00027 TFF1/ALF # E:(-22-2NA) M:(-20-2NA)
057104,000266: 27,3011 57314 TCDANZIG # CLEAR OVFIND, IF ON.
057105,000267: 27,3012 53654 BZE SL*
057106,000268: 27,3013 57022 MAXRA # SET POSMAX, IF ALFA=0
057107,000269: 27,3014 57603 0 -5,2 # -5+NA
057108,000270: 27,3015 40057 SL* BOV
057109,000271: 27,3016 57576 0,2
057110,000272: 27,3017 57022 MAXRA # SET POSMAX IF OVFL.
057111,000273: 27,3020 77644 BPL # CONTINUE WITH VALID RAPO.
057112,000274: 27,3021 57024 +3
057113,000275: 27,3022 77745 MAXRA DLOAD # RAPO CALC IS NOT VALID. SET RAPO =
057114,000276: 27,3023 17334 NEARONE # POSMAX AS A TAG.
057115,000277: 27,3024 00021 +3 STORE RAPO # APOGEE RADIUS M E:(-29) M:(-27)
057116,000278: 27,3025 77616 DUMPRPRA RVQ
057117,000279:
057118,000280: # 30 W
057119,000281:
Page 1344 |
057121,000283: # SUBROUTINE NAME: CALCTPER / CALCTFF DATE: 01.29.67
057122,000284: # MOD NO: 0 LOG SECTION: TIME OF FREE FALL
057123,000285: # MOD BY: RR BAIRNSFATHER
057124,000286: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 67
057125,000287: # MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 14 APR 67
057126,000288: # MOD NO: 3 MOD BY: RR BAIRNSFATHER DATE: 8JUL 67 NEAR EARTH MUE AND NEG TFF (GONEPAST)
057127,000289: # MOD NO: 4 MOD BY: RR BAIRNSFATHER DATE: 21 NOV 67 ADD VARIABLE MU.
057128,000290: # MOD NO: 5 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 68 ACCEPT DIFFERENT EARTH/MOON SCALES
057129,000291: # FUNCTIONAL DESCRIPTION: PROGRAM CALCULATES THE FREE-FALL TIME OF FLIGHT FROM PRESENT POSITION RN AND
057130,000292: # VELOCITY VN TO A RADIUS LENGTH SPECIFIED BY RTERM , SUPPLIED BY THE USER. THE POSITION VECTOR
057131,000293: # RN MAY BE ON EITHER SIDE OF THE CONIC, BUT RTERM IS CONSIDERED ON THE INBOUND SIDE.
057132,000294: # THE EQUATIONS ARE
057133,000295:
057134,000296: # Q2 = -SQRT(RTERM (2-RTERM ALFA) - LCP) (INBOUND SIDE)) LEQ +- LCE/SQRT(ALFA)
057135,000297: # - -
057136,000298: # Q1 = RN.VN / SQRT(MU) LEQ +- LCE/SQRT(ALFA)
057137,000299:
057138,000300: # Z = NUM / DEN LEQ +- 1/SQRT(ALFA)
057139,000301:
057140,000302: # WHERE, IF INBOUND
057141,000303: # NUM = RTERM -RN LEQ +- 2 LCE/ALFA
057142,000304: # DEN = Q2+Q1 LEQ +- 2 LCE/SQRT(ALFA)
057143,000305:
057144,000306: # AND, IF OUTBOUND
057145,000307: # NUM = Q2-Q1 LEQ +- 2 LCE/SQRT(ALFA)
057146,000308: # DEN = 2 - ALFA (RTERM + RN) . LEQ +- 2 LCE
057147,000309:
057148,000310: # IF ALFA ZZ < 1.0 (FOR ALL CONICS EXCEPT ELLIPSES HAVING ABS(DEL ECC ANOM) G 90 DEG)
057149,000311:
057150,000312: # THEN X = ALFA Z Z
057151,000313: # AND TFF = (RTERM +RN -2 ZZ T(X) ) Z/SQRT(MU)
057152,000314:
057153,000315: # EXCEPT IF ALFA PNZ, AND IF TFF NEG,
057154,000316: # THEN TFF = 2 PI /(ALFA SQRT(ALFA)) + TFF
057155,000317:
057156,000318: # OR IF ALFA ZZ GEQ 1.0 (FOR ELLIPSES HAVING ABS(DEL ECC ANOM) GEQ 90 DEG)
057157,000319:
057158,000320: # THEN X = 1/ALFA Z Z
057159,000321: # AND TFF = (PI/SQRT(ALFA) -Q2 +Q1 +2(X T(X) -1) /ALFA Z) /ALFA SQRT(MU)
057160,000322:
057161,000323: # WHERE T(X) IS A POLYNOMIAL APPROXIMATION TO THE SERIES
057162,000324: # 2 3 2
057163,000325: # 1/3 - X/5 + X /7 - X /9 ... (X < 1.0)
057164,000326:
057165,000327: # CALLING SEQUENCE: TIME TO RTERM TIME TO PERIGEE
057166,000328: # CALL CALL
057167,000329: # CALCTFF CALCTPER
057168,000330: # C(MPAC) = TERMNL RAD M C(MPAC) = PERIGEE RAD M
057169,000331: # FOR EITHER, E: (-29) M: (-27)
057170,000332: # FOR EITHER, PUSHLOC = PDL+0 , ARBITRARY IF LEQ 8D.
Page 1345 |
057172,000334: # SUBROUTINES CALLED: T(X), VIA RTB
057173,000335: # NORMAL EXIT MODE: RVQ
057174,000336: # HOWEVER, PROGRAM EXITS WITH ONE OF THE FOLLOWING VALUES FOR TFF (-28) CS IN MPAC. USER MUST STORE.
057175,000337: # A. TFF= FLIGHT TIME. NORMAL CASE FOR POSITIVE FLIGHT TIME LESS THAN ONE ORBITAL PERIOD.
057176,000338: # B. (THIS OPTION IS NO LONGER USED.)
057177,000339: # C. TFF = POSMAX. THIS INDICATES THAT THE CONIC FROM THE PRESENT POSITION WILL NOT RETURN TO
057178,000340: # THE SPECIFIED ALTITUDE. ALSO INDICATES OUTBOUND PARABOLA OR HYPERBOLA.
057179,000341: # OUTPUT: C(MPAC) (-28) CS TIME OF FLIGHT, OR TIME TO PERIGEE
057180,000342: # TFFX (0) X, LEFT FOR ENTRY DISPLAY TFF ROUTINES
057181,000343: # NRTERM E: (-29+NR) M RTERM, WEIGHTED BY NR LEFT FOR ENTRY DISPLAY TFF ROUTINES
057182,000344: # M: (-27+NR)
057183,000345: # TFFTEM E: (-59+2NR) LCP Z Z SGN(SDELF) LEFT FOR ENTRY DISPLAY TFF ROUTINES
057184,000346: # M: (-55+2NR) LCP /ALFA SGN(SDELF) LEFT FOR ENTRY DISPLAY TFF ROUTINES
057185,000347: # NOTE: TFFTEM = PDL 36D AND WILL BE DESTROYED BY .:UNIT:.
057186,000348: # RMAG1 E:(-29) M:(-27) PDL 12 NOT TOUCHED.
057187,000349: # TFFQ1 E:(-16) M:(-15) PDL 14D
057188,000350: # TFFDELQ E:(-16) M:(-15) PDL 10D
057189,000351: # PUSHLOC AT PDL+0
057190,000352: # ERASABLE INITIALIZATION REQUIRED:
057191,000353: # RONE E:(-29) M:(-27) M STATE VECTOR LEFT BY USER
057192,000354: # VONE' E:(+10) M:(+9) VN/SQRT(MU) LEFT BY TFF/CONIC
057193,000355: # RMAG1 E:(-29) M:(-27) PRESENT RADIUS, M LEFT BY TFFCONIC
057194,000356: # C(MPAC)E:(-29) M:(-27) RTERM, TERMINAL RADIUS LENGTH, M LEFT BY USER
057195,000357:
057196,000358: # THE FOLLOWING ARE STORED IN THE PUSH LIST AREA.
057197,000359: # TFF/RTMU E:(17) M:(14) 1/SQRT(MU) LEFT BY TFFCONIC.
057198,000360: # NRMAG E: (-29+NR) M RMAG, NORMALIZED LEFT BY TFFCONIC
057199,000361: # M: (-27+NR)
057200,000362: # X1 -NR, NORM COUNT LEFT BY TFFCONIC
057201,000363: # TFFNP E: (-38+2NR) M LCP, SEMI LATUS RECTUM, WEIGHT NR LEFT BY TFFCONIC
057202,000364: # M: (-36+2NR)
057203,000365: # TFFALFA E: (26-NR) 1/M ALFA, WEIGHT NR LEFT BY TFFCONIC
057204,000366: # M: (24-NR)
057205,000367: # TFFRTALF E:(10+NA) SQRT(ALFA), NORMALIZED LEFT BY TFFCONIC
057206,000368: # M:(9+NA)
057207,000369: # X2 -NA, NORM COUNT LEFT BY TFFCONIC
057208,000370: # TFF1/ALF E: (-22-2NA) SIGNED SEMIMAJ AXIS, WEIGHTED BY NA LEFT BY TFFCONIC
057209,000371: # M: (-20-2NA)
057210,000372: # DEBRIS: QPRET, PDL+0 ... PDL+3
057211,000373: # RTERM E:(-29) M:(-27) RTERM, TERMINAL RADIUS LENGTH
057212,000374: # RAPO E:(-29) M:(-27) PDL 16D (=NRTERM)
057213,000375: # RPER E:(-29) M:(-27) PDL 14D (=TFFQ1)
057214,000376:
Page 1346 |
057216,000378: 27,3026 77614 CALCTPER SETGO # ENTER WITH RPER IN MPAC
057217,000379: 27,3027 03436 TFFSW
057218,000380: 27,3030 57033 +3
057219,000381: 27,3031 77614 CALCTFF CLEAR # ENTER WITH RTERM IN MPAC
057220,000382: 27,3032 03676 TFFSW
057221,000383: 27,3033 00023 +3 STORE RTERM # E: (-29) M: (-27)
057222,000384: 27,3034 77657 SL*
057223,000385: 27,3035 20201 0,1 # X1=-NR
057224,000386: 27,3036 00021 STORE NRTERM # RTERM E: (-29+NR) M: (-27+NR)
057225,000387: 27,3037 44205 DMP BDSU
057226,000388: 27,3040 00033 TFFALFA # ALFA E: (26-NR) M: (24-NR)
057227,000389: 27,3041 15322 TFF1/4
057228,000390: 27,3042 41206 PUSH DMP # (2-ALFA RTERM) (-3) TO PDL+0
057229,000391: 27,3043 00021 NRTERM # E: (-29+NR) M: (-27+NR)
057230,000392: 27,3044 53725 PDDL SR* # RTERM(2-ALFA RTERM) TO PDL+2
057231,000393: # E: (-32+NR) M: (-30+NR)
057232,000394: 27,3045 00035 TFFNP # LC P E:(-38+2NR) M:(-36+2NR)
057233,000395: 27,3046 20573 0 -6,1 # X1 = -NR
057234,000396: 27,3047 43276 DCOMP DAD # DUE TO SHIFTS, KEEP PRECISION FOR SQRT
057235,000397: # RTERM(2-ALFA RTERM) FROM PDL +2
057236,000398: # E: (-32+NR) M: (-30+NR)
057237,000399: 27,3050 77657 SR* # LEAVE E: (-32) M: (-30)
057238,000400: 27,3051 20601 0,1 # X1 = -NR
057239,000401: 27,3052 71214 BOFF DLOAD # CHECK TFF / TPER SWITCH
057240,000402: 27,3053 03756 TFFSW
057241,000403: 27,3054 57056 +2 # IF TFF, CONTINUE
057242,000404: 27,3055 15332 TFFZEROS # IF TPER, SET Q2 = 0
057243,000405: 27,3056 75440 +2 BMN SQRT # E: (-16) M: (-15)
057244,000406:
057245,000407: 27,3057 57211 MAXTFF1 # NO FREE FALL CONIC TO RTERM FROM HERE
057246,000408: # RESET PDL, SET TFF=POSMAX, AND EXIT.
057247,000409:
057248,000410: 27,3060 41076 DCOMP BOVB # RT IS ON INBOUND SIDE. ASSURE OVFIND=0
057249,000411: 27,3061 57314 TCDANZIG # ANY PORT IN A STORM.
057250,000412: 27,3062 24045 STOVL TFFTEM # Q2 E: (-16) M: (-15)
057251,000413: 27,3063 02372 VONE' # VN/SQRT(MU) E: (10) M: (9)
057252,000414: 27,3064 52441 DOT SL3
057253,000415: 27,3065 02327 RONE # SAVED RN. E: (-29) M: (-27)
057254,000416: 27,3066 00017 STORE TFFQ1 # Q1, SAVE FOR GONEPAST TEST.
057255,000417: # E: (-16) M: (-15)
057256,000418: 27,3067 44240 BMN BDSU
057257,000419: 27,3070 57111 INBOUND # USE ALTERNATE Z
057258,000420: 27,3071 00045 TFFTEM # Q2 E: (-16) M: (-15)
057259,000421:
057260,000422: # OUTBOUND Z CALC CONTINUES HERE
057261,000423:
057262,000424: 27,3072 14043 STODL TFFX # NUM=Q2-Q1 E: (-16) M: (-15)
057263,000425: 27,3073 00033 TFFALFA # ALFA E: (26-NR) M: (24-NR)
057264,000426: 27,3074 44205 DMP BDSU
Page 1347 |
057266,000428: 27,3075 00041 NRMAG # RMAG E: (-29+NR) M: (-27+NR)
057267,000429: # (2-RTERM ALFA) (-3) FROM PDL+0
057268,000430: 27,3076 51406 SAVEDEN PUSH ABS # DEN TO PDL+0 E:(-3) OR (-16)
057269,000431: # M:(-3) OR (-15)
057270,000432: 27,3077 40015 DAD BOV # INDETERMINANCY TEST
057271,000433: 27,3100 17322 LIM(-22) # =1.0-B(-22)
057272,000434: 27,3101 57122 TFFXTEST # GO IF DEN >/= B(-22)
057273,000435: 27,3102 65345 DLOAD PDDL # SET DEN=0 OTHERWISE
057274,000436: 27,3103 15332 TFFZEROS
057275,000437: # XCH ZERO WITH PDL+0
057276,000438: 27,3104 57545 DLOAD DCOMP
057277,000439: 27,3105 00033 TFFALFA # ALFA E: (26-NR) M: (24-NR)
057278,000440: 27,3106 71240 BMN DLOAD # FOR TPER: Z INDET AT DELE/2=0 AND 90.
057279,000441: 27,3107 57216 TFFEL1 # ASSUME 90, AND LEAVE 0 IN PDL: 1/Z=D/N
057280,000442:
057281,000443: # Z INDET. AT PERIGEE FOR PARAB OR HYPERB.
057282,000444: 27,3110 77616 DUMPTFF1 RVQ # RETURN TFF =0
057283,000445:
057284,000446: # INBOUND Z CALC CONTINUES HERE
057285,000447: 27,3111 77745 INBOUND DLOAD # RESET PDL+0
057286,000448: 27,3112 45345 DLOAD DSU # ALTERNATE Z CALC
057287,000449: 27,3113 00023 RTERM # E: (-29) M: (-27)
057288,000450: 27,3114 00015 RMAG1 # E: (-29) M: (-27)
057289,000451: 27,3115 14043 STODL TFFX # NUM=RTERM-RN E: (-29) M: (-27)
057290,000452: 27,3116 00045 TFFTEM # Q2 E: (-16) M: (-15)
057291,000453: 27,3117 52015 DAD GOTO
057292,000454: 27,3120 00017 TFFQ1 # Q1 E: (-16) M: (-15)
057293,000455: 27,3121 57076 SAVEDEN # DEN = Q2+Q1 E: (-16) M: (-15)
057294,000456:
057295,000457: 27,3122 65215 TFFXTEST DAD PDDL # (ABS(DEN) TO PDL+2)) E: (-3) OR (-16)
057296,000458: # M: (-3) OR (-15)
057297,000459: 27,3123 17324 DP(-22) # RESTORE ABS(DEN) TO MPAC
057298,000460: 27,3124 00043 TFFX # NUM E:(-16) OR (-29) M:(-15) OR (-27)
057299,000461: 27,3125 53605 DMP SR*
057300,000462: 27,3126 00031 TFFRTALF # SQRT(ALFA) E: (10+NA) M: (9+NA)
057301,000463: 27,3127 57201 0 -3,2 # X2=-NA
057302,000464: 27,3130 77671 DDV # C(MPAC) =NUM SQRT(ALFA) E:(-3) OR (-16)
057303,000465: # M:(-3) OR (-15)
057304,000466: # ABS(DEN) FROM PDL+2 E:(-3) OR (-16)
057305,000467: # M:(-3) OR (-15)
057306,000468: 27,3131 40145 DLOAD BOV # (THE DLOAD IS SHARED WITH TFFELL)
057307,000469: 27,3132 00043 TFFX # NUM E: (-16) OR (-29) M:(-15) OR (-27)
057308,000470: 27,3133 57214 TFFELL # USE EQN FOR DELE GEQ 90, LEQ -90
057309,000471:
057310,000472: # OTHERWISE, CONTINUE FOR GENERAL CONIC FOR TFF EQN
057311,000473:
057312,000474: 27,3134 45471 DDV STADR
057313,000475: # DEN FROM PDL+0 E: (-3) OR (-16)
057314,000476: # M: (-3) OR (-15)
057315,000477: 27,3135 77732 STORE TFFTEM # Z SAVE FOR SIGN OF SDELF.
Page 1348 |
057317,000479: # E: (-13) M: (-12)
057318,000480: 27,3136 63406 PUSH DSQ # Z TO PDL+0
057319,000481: 27,3137 41206 PUSH DMP # Z SQ TO PDL+2 E: (-26) M: (-24)
057320,000482: 27,3140 00035 TFFNP # LC P E: (-38+2NR) M: (-36+2NR)
057321,000483: 27,3141 75261 SL SIGN
057322,000484: 27,3142 20206 5
057323,000485: 27,3143 00045 TFFTEM # AFFIX SIGN FOR SDELF (ENTRY DISPLAY)
057324,000486: 27,3144 14045 STODL TFFTEM # P ZSQ E: (-59+2NR) M: (-55+2NR)
057325,000487: # (ARG IS USED IN TFF/TRIG)
057326,000488: # ZSQ FROM PDL+2 E: (-26) M: (-24)
057327,000489: 27,3145 41206 PUSH DMP # RESTORE PUSH LOC
057328,000490: 27,3146 00033 TFFALFA # ALFA E: (26-NR) M: (24-NR)
057329,000491: 27,3147 77657 SL*
057330,000492: 27,3150 20201 0,1 # X1=-NR
057331,000493: 27,3151 00043 STORE TFFX # X
057332,000494: 27,3152 41234 RTB DMP
057333,000495: 27,3153 57276 T(X) # POLY
057334,000496: # ZSQ FROM PDL+2 E: (-26) M: (-24)
057335,000497: 27,3154 44302 SR2 BDSU # 2 ZSQ T(X) E: (-29) M: (-27)
057336,000498: 27,3155 00023 RTERM # RTERM E: (-29) M: (-27)
057337,000499: 27,3156 41215 DAD DMP
057338,000500: 27,3157 00015 RMAG1 # E: (-29) M: (-27)
057339,000501: # Z FROM PDL+0 E: (-13) M: (-12)
057340,000502: 27,3160 51042 SR3 BPL # TFF SQRT(MU) E: (-45) M: (-42)
057341,000503: 27,3161 57202 ENDTFF # (NO PUSH UP)
057342,000504: 27,3162 75206 PUSH SIGN # TFF SQRT(MU) TO PDL+0
057343,000505: 27,3163 00017 TFFQ1 # Q1 FOR GONEPAST TEST
057344,000506: 27,3164 71244 BPL DLOAD # GONE PAST ?
057345,000507: 27,3165 57206 NEGTFF # YES. TFF < 0 .
057346,000508: 27,3166 00027 TFF1/ALF # 1/ALFA E: (-22-2NA) M: (-20-2NA)
057347,000509: 27,3167 51076 DCOMP BPL # ALFA > 0 ?
057348,000510: 27,3170 57206 NEGTFF # NO. TFF IS NEGATIVE.
057349,000511:
057350,000512: # CORRECT FOR ORBITAL PERIOD.
057351,000513:
057352,000514: 27,3171 77676 DCOMP # YES. CORRECT FOR ORB PERIOD.
057353,000515: 27,3172 56205 DMP DDV
057354,000516: 27,3173 17320 PI/16 # 2 PI (-5)
057355,000517: 27,3174 00031 TFFRTALF # SQRT(ALFA) E: (10+NA) M: (9+NA)
057356,000518: 27,3175 53657 SL* SL*
057357,000519: 27,3176 57602 0 -4,2 # X2=-NA
057358,000520: 27,3177 57602 0 -4,2
057359,000521: 27,3200 43257 SL* DAD
057360,000522: 27,3201 57576 0,2
057361,000523: # TFF SQRT(MU) FROM PDL+0 E:(-45) M:(-42)
057362,000524: 27,3202 40005 ENDTFF DMP BOV # TFF SQRT(MU) IN MPAC E:(-45) M:(-42)
057363,000525: 27,3203 00037 TFF/RTMU # E: (17) M: (14)
057364,000526: 27,3204 57212 MAXTFF # SET POSMAX IF OVFL.
057365,000527:
057366,000528: 27,3205 77616 DUMPTFF2 RVQ # RETURN TFF (-28) CS IN MPAC.
Page 1349 |
057368,000530: 27,3206 77745 NEGTFF DLOAD
057369,000531: # TFF SQRT(MU) FROM PDL+0, NEGATIVE.
057370,000532: 27,3207 77650 GOTO
057371,000533: 27,3210 57202 ENDTFF
057372,000534:
057373,000535: 27,3211 77745 MAXTFF1 DLOAD # RESET PDL
057374,000536: 27,3212 43545 MAXTFF DLOAD RVQ
057375,000537: 27,3213 17334 NEARONE
057376,000538:
057377,000539: # TIME OF FLIGHT ELLIPSE WHEN DEL (ECCENTRIC ANOM) GEQ 90 AND LEQ -90.
057378,000540:
057379,000541: # NUM FROM TFFX. E: (-16) OR (-29)
057380,000542: # M: (-15) OR (-27)
057381,000543: 27,3214 77712 TFFELL SL2 # NUM E:(-14) OR (-27) M:(-13) OR (-25)
057382,000544: 27,3215 41465 BDDV PUSH # TEMP SAVE D/N IN PDL+0
057383,000545: # DEN FROM PDL+0 E:(-3)/( 16) M:(-3)/(-15)
057384,000546: # N/D TO PDL+0 E: (11) M: (10)
057385,000547: 27,3216 45345 TFFEL1 DLOAD DSU # (ENTER WITH D/N=0 IN PDL+0)
057386,000548: 27,3217 00045 TFFTEM # Q2 E: (-16) M: (-15)
057387,000549: 27,3220 00017 TFFQ1 # Q1 E: (-16) M: (-15)
057388,000550: 27,3221 14013 STODL TFFDELQ # Q2-Q1 E: (-16) M: (-15)
057389,000551: # D/N FROM PDL+0
057390,000552: 27,3222 77626 STADR
057391,000553: 27,3223 77732 STORE TFFTEM # D/N E: (11) M: (10)
057392,000554: 27,3224 53605 DMP SL*
057393,000555: 27,3225 00027 TFF1/ALF # 1/ALFA E: (-22-2NA) M: (-20-2NA)
057394,000556: 27,3226 57576 0,2 # 1/ALFA Z E: (-11-NA) M: (-10-NA)
057395,000557: 27,3227 41206 PUSH DMP # TO PDL+0
057396,000558: 27,3230 00045 TFFTEM # 1/Z E: (11) M: (10)
057397,000559: 27,3231 41057 SL* BOVB
057398,000560: 27,3232 57576 0,2 # X2= -NA
057399,000561: 27,3233 45707 SIGNMPAC # IN CASE X= 1.0, CONTINUE
057400,000562: 27,3234 00043 STORE TFFX # X=1/ALFA ZSQ
057401,000563: 27,3235 41234 RTB DMP
057402,000564: 27,3236 57276 T(X) # POLY
057403,000565: 27,3237 00043 TFFX
057404,000566: 27,3240 45242 SR3 DSU
057405,000567: 27,3241 17326 DP2(-3)
057406,000568: 27,3242 41405 DMP PUSH # 2(X T(X)-1) /Z ALFA E: (-15-NA)
057407,000569: # M: (-14-NA)
057408,000570: # 1/ALFA Z FROM PDL+0 E: (-11-NA)
057409,000571: # M: (-10-NA)
057410,000572: 27,3243 41345 DLOAD DMP # GET SIGN FOR SDELF
057411,000573: 27,3244 00045 TFFTEM # 1/Z E: (11) M: (10)
057412,000574: 27,3245 00015 RMAG1 # E: (-29) M: (-27)
057413,000575: 27,3246 43312 SL2 DAD
057414,000576: 27,3247 00017 TFFQ1 # Q1 E: (-16) M: (-15)
057415,000577: 27,3250 14045 STODL TFFTEM # (Q1+R 1/Z) =SGN OF SDELF E:(-16) M:(-15
057416,000578: 27,3251 00035 TFFNP # LC P E: (-38+2NR) M: (-36+2NR)
057417,000579: 27,3252 53605 DMP SL* # CALC FOR ARG FOR TFF/TRIG.
Page 1350 |
057419,000581: 27,3253 00027 TFF1/ALF # 1/ALFA E:(-22-2NA) M:(-20-2NA)
057420,000582: 27,3254 57575 1,2 # X2=-NA
057421,000583: 27,3255 53765 SIGN SL*
057422,000584: 27,3256 00045 TFFTEM # AFFIX SIGN FOR SDELF
057423,000585: 27,3257 57576 0,2
057424,000586: 27,3260 14045 STODL TFFTEM # P/ALFA E:(-59+2NR) M:(-55+2NR)
057425,000587: # (ARG FOR USE IN TFF/TRIG)
057426,000588: 27,3261 00027 TFF1/ALF # 1/ALFA E:(-22-2NA) M:(-20-2NA)
057427,000589: 27,3262 41366 SQRT DMP
057428,000590: 27,3263 17320 PI/16 # PI (-4)
057429,000591: 27,3264 77615 DAD
057430,000592: # 2(XT(X)-1)/Z ALFA FROM PDL E:(-15-NA)
057431,000593: # M:(-14-NA)
057432,000594: 27,3265 45257 SL* DSU
057433,000595: 27,3266 57577 0 -1,2
057434,000596: 27,3267 00013 TFFDELQ # Q2-Q1 E: (-16) M: (-15)
057435,000597: 27,3270 53605 DMP SL*
057436,000598: 27,3271 00027 TFF1/ALF # 1/ALFA E:(-22-2NA) M:(-20-2NA)
057437,000599: 27,3272 57601 0 -3,2
057438,000600: 27,3273 52057 SL* GOTO
057439,000601: 27,3274 57602 0 -4,2
057440,000602: 27,3275 57202 ENDTFF # TFF SQRT(MU) IN MPAC E:(-45) M:(-42)
057441,000603:
Page 1351 |
057443,000605: # PROGRAM NAME: T(X) DATE: 01.17.67
057444,000606: # MOD NO: 0 LOG SECTION: TIME OF FREE FALL
057445,000607: # MOD BY: RR BAIRNSFATHER
057446,000608: # FUNCTIONAL DESCRIPTION: THE POLYNOMIAL T(X) IS USED BY TIME OF FLIGHT SUBROUTINES CALCTFF AND
057447,000609: # CALCTPER TO APPROXIMATE THE SERIES
057448,000610: # 2 3
057449,000611: # 1/3 -X/5 +X /7 -X /9 ...
057450,000612:
057451,000613: # WHERE X = ALFA Z Z IF ALFA Z Z LEQ 1
057452,000614: # X = 1/(ALFA Z Z ) IF ALFA Z Z G 1
057453,000615:
057454,000616: # ALSO X IS NEG FOR HYPERBOLIC ORBITS
057455,000617: # X = 0 FOR PARABOLIC ORBITS
057456,000618: # X IS POSITIVE FOR ELLIPTIC ORBITS
057457,000619: # FOR FLIGHT 278, THE POLYNOMIAL T(X) IS FITTED OVER THE RANGE (0,+1) AND HAS A MAXIMUM
057458,000620: # DEVIATION FROM THE SERIES OF 2 E-5 (T(X) IS A CHEBYCHEV TYPE FIT AND WAS OBTAINED USING
057459,000621: # MAC PROGRAM AUTCURFIT294RRB AND IS VALID TO THE SAME TOLERANCE OVER THE RANGE (-.08,+1). )
057460,000622: # CALLING SEQUENCE: RTB
057461,000623: # T(X)
057462,000624: # C(MPAC) = X
057463,000625:
057464,000626: # SUBROUTINES CALLED: NONE
057465,000627: # NORMAL EXIT MODE: TC DANZIG
057466,000628: # ALARMS: NONE
057467,000629: # OUTPUT: C(MPAC) = T(X)
057468,000630: # ERASABLE INITIALIZATION REQUIRED:
057469,000631: # C(MPAC) = X
057470,000632: # DEBRIS: NONE
057471,000633:
057472,000634: 27,3276 07171 T(X) TC POLY
057473,000635: 27,3277 00004 DEC 4 B-14 # N-1
057474,000636: 27,3300 12525 12525 2DEC 3.333333333 E-1
057475,000637: 27,3302 71463 57703 2DEC* -1.999819135 E-1*
057476,000638: 27,3304 04423 17645 2DEC* 1.418148467 E-1*
057477,000639: 27,3306 74604 43667 2DEC* -1.01310997 E-1*
057478,000640: 27,3310 01626 37256 2DEC* 5.609004986 E-2*
057479,000641: 27,3312 77404 52071 2DEC* -1.536156925 E-2*
057480,000642: 27,3314 06030 ENDT(X) TC DANZIG
057481,000643:
057482,000644: 27,3315 27,3314 TCDANZIG = ENDT(X)
057483,000645:
Page 1352 |
057485,000647: # TFF CONSTANTS
057486,000648: 32,3776 BANK 32
057487,000649:
057488,000650: 27,2000 SETLOC TOF-FF1
057489,000651: 27,2000 BANK
057490,000652:
057491,000653: # NOTE _ NOTE _ ADJUSTED MUE FOR NEAR EARTH TRAJ.
057492,000654:
057493,000655: # MUE = 3.990 815 471 E10 M CUBE/CS SQ
057494,000656: # RTMUE = 1.997702549 E5 B-18* MODIFIED EARTH MU
057495,000657:
057496,000658: 27,3315 24775 30424 1/RTMU 2DEC* .5005750271 E-5 B17* # MODIFIED EARTH MU
057497,000659: # NOTE _ NOTE _ ADJUSTED MUE FOR NEAR EARTH TRAJ.
057498,000660:
057499,000661: # MUM = 4.902 778 E8 M CUBE /CS SQ
057500,000662:
057501,000663: # RTMUM 2DEC* 2.21422176 E4 B-18*
057502,000664: 27,3317 06220 37553 PI/16 2DEC 3.141592653 B-4
057503,000665: 27,3321 37777 37700 LIM(-22) 2OCT 37777 37700 # 1.0 -B(-22)
057504,000666: 27,3323 00000 00100 DP(-22) 2OCT 00000 00100 # B(-22)
057505,000667: 27,3325 04000 00000 DP2(-3) 2DEC 1 B-3
057506,000668: 27,3327 02000 00000 DP2(-4) 2DEC 1 B-4 # 1/16
057507,000669: # RPAD1 2DEC 6373338 B-29 M (-29) =20 909 901.57 FT
057508,000670:
057509,000671: 27,3331 22,3310 RPAD1 = RPAD
057510,000672: 27,3331 00305 11205 R300K 2DEC 6464778 B-29 # (-29) M
057511,000673: 27,3333 37777 37777 NEARONE 2DEC .999999999
057512,000674: 27,3335 26,3331 TFFZEROS EQUALS HI6ZEROS
057513,000675: 27,3335 26,3321 TFF1/4 EQUALS HIDP1/4
End of include-file TIME_OF_FREE_FALL.agc. Parent file is MAIN.agc