Source Code

This is the source-code for the Apollo 9 Command Module's Guidance Computer. These files were derived originally from the scan from MIT's Dibner Institute's now-discontinued website titled "History of Recent Science and Technology", which in turn was originally created by Gary Neff, though his high-quality scans were unfortunately reduced in legibility when presented online. The markings on the front of the printout imply that it was the original AGC developer Norm Brodeur's copy. A scan by Ron Burkey has superceded it, made from a more-legible copy from the collection of original AGC developer Fred Martin. The source code was transcribed from those images by Ron Burkey. Note that the page images presented online are of reduced quality, and that higher-quality 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:

	ASSEMBLE REVISION 249 OF AGC PROGRAM COLOSSUS BY NASA 2021111-041
	20'35 OCT. 28,1968
Note that the date is the date of the printout, not the date of the program revision.

058649,000002:                                                                                                  ## Copyright:   Public domain.
058650,000003:                                                                                                  ## Filename:    TIME_OF_FREE_FALL.agc
058651,000004:                                                                                                  ## Purpose:     Part of the source code for Colossus, build 249.
058652,000005:                                                                                                  ##              It is part of the source code for the Command Module's (CM)
058653,000006:                                                                                                  ##              Apollo Guidance Computer (AGC), for Apollo 9.
058654,000007:                                                                                                  ## Assembler:   yaYUL
058655,000008:                                                                                                  ## Reference:   Begins on p. 1341
058656,000009:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
058657,000010:                                                                                                  ## Website:     www.ibiblio.org/apollo.
058658,000011:                                                                                                  ## Mod history: 08/30/04 RSB.   Began adapting from corresponding Luminary131 file.
058659,000012:                                                                                                  ##              2010-10-24 JL   Indentation fixes.
058660,000013:                                                                                                  ##              2017-01-06 RSB  Page numbers now agree with those on the
058661,000014:                                                                                                  ##                              original hardcopy, as opposed to the PDF page
058662,000015:                                                                                                  ##                              numbers in 1701.pdf.
058663,000016:                                                                                                  ##              2017-01-20 RSB  Cross-diff'd comment text (not whitespace)
058664,000017:                                                                                                  ##                              vs the already-proofed corresponding Colossus
058665,000018:                                                                                                  ##                              237 and Comanche 55 source-code files
058666,000019:                                                                                                  ##                              and corrected errors found.
058667,000020:                                                                                                  ##              2017-03-14 RSB  Comment-text fixes noted in proofing Luminary 116.
058668,000021: 
058669,000022:                                                                                                  ## The contents of the "Colossus249" files, in general, are transcribed 
058670,000023:                                                                                                  ## from a scanned copy of the program listing.  Notations on this
058671,000024:                                                                                                  ## document read, in part:
058672,000025:                                                                                                  ##
058673,000026:                                                                                                  ##      Assemble revision 249 of AGC program Colossus by NASA
058674,000027:                                                                                                  ##      2021111-041.  October 28, 1968.  
058675,000028:                                                                                                  ##
058676,000029:                                                                                                  ##      This AGC program shall also be referred to as
058677,000030:                                                                                                  ##                              Colossus 1A
058678,000031:                                                                                                  ##
058679,000032:                                                                                                  ##      Prepared by
058680,000033:                                                                                                  ##                      Massachusetts Institute of Technology
058681,000034:                                                                                                  ##                      75 Cambridge Parkway
058682,000035:                                                                                                  ##                      Cambridge, Massachusetts
058683,000036:                                                                                                  ##      under NASA contract NAS 9-4065.
058684,000037:                                                                                                  ##
058685,000038:                                                                                                  ## Refer directly to the online document mentioned above for further information.
058686,000039:                                                                                                  ## Please report any errors (relative to the scanned pages) to info@sandroid.org.
058687,000040:                                                                                                  ##
058688,000041:                                                                                                  ## In some cases, where the source code for Luminary 131 overlaps that of 
058689,000042:                                                                                                  ## Colossus 249, this code is instead copied from the corresponding Luminary 131
058690,000043:                                                                                                  ## source file, and then is proofed to incorporate any changes.
058691,000044: 

Page 1341

058693,000046:                                                                                                  #  THE TFF SUBROUTINES MAY BE USED IN EITHER EARTH OR MOON CENTERED COORDINATES.  THE TFF ROUTINES NEVER
058694,000047:                                                                                                  #  KNOW WHICH ORIGIN APPLIES.  IT IS THE USER WHO KNOWS, AND WHO SUPPLIES RONE, VONE AND 1/SQRT(MU) AT THE
058695,000048:                                                                                                  #  APPROPRIATE SCALE LEVEL FOR THE PROPER PRIMARY BODY.
058696,000049: 
058697,000050:                                                                                                  #        EARTH ORIGIN    POSITION        -29     METERS
058698,000051:                                                                                                  #                        VELOCITY        -7      METERS/CENTISECOND
058699,000052:                                                                                                  #                        1/SQRT(MU)      +17     SQRT(CS SQ/METERS CUBED)
058700,000053: 
058701,000054:                                                                                                  #        MOON ORIGIN     POSITION        -27     METERS
058702,000055:                                                                                                  #                        VELOCITY        -5      METERS/CENTISECONDS
058703,000056:                                                                                                  #                        1/SQRT(MU)      +14     SQRT(CS SQ/METERS CUBED)
058704,000057: 
058705,000058:                                                                                                  #  ALL DATA PROVIDED TO AND RECEIVED FROM ANY TFF SUBROUTINE WILL BE AT ONE OF THE LEVELS ABOVE.  IN ALL CASES,
058706,000059:                                                                                                  #  THE FREE FALL TIME IS RETURNED IN CENTISECONDS AT (-28).  PROGRAM TFF/CONIC WILL GENERATE VONE/RTMU AND
058707,000060:                                                                                                  #  LEAVE IT IN VONE' AT (+10) IF EARTH ORIGIN AND (+9) IF MOON ORIGIN.
058708,000061: 
058709,000062:                                                                                                  #  THE USER MUST STORE THE STATE VECTOR IN RONE, VONE AND MU IN THE FORM 1/SQRT(MU) IN TFF/RTMU
058710,000063:                                                                                                  #  AT THE PROPER SCALE BEFORE CALLING TFF/CONIC.  SINCE RONE, VONE ARE IN THE EXTENDED VERB STORAGE AREA,
058711,000064:                                                                                                  #  THE USER MUST ALSO LOCK OUT THE EXTENDED VERBS, AND RELEASE THEM WHEN FINISHED.
058712,000065: 
058713,000066:                                                                                                  #  PROGRAMS CALC/TFF AND CALC/TPER ASSUME THAT THE TERMINAL RADIUS IS LESS THAN THE PRESENT
058714,000067:                                                                                                  #  RADIUS.  THIS RESTRICTION CAN BE REMOVED BY A 15 W CODING CHANGE, BUT AT PRESENT IT IS NOT DEEMED NECESSARY.
058715,000068: 
058716,000069:                                                                                                  #  THE FOLLOWING ERASABLE QUANTITIES ARE USED BY THE TFF ROUTINES, AND ARE LOCATED IN THE PUSH LIST.
058717,000070: 
058718,000071:                                                                                                  #                                        BELOW   E:  IS USED FOR EARTH ORIGIN SCALE
058719,000072:                                                                                                  #                                                M:  IS USED FOR MOON  ORIGIN SCALE
058720,000073: 
058721,000074:                                                                                                  # TFFSW          =       119D    BIT1    0 = CALCTFF             1 = CALCTPER
058722,000075: 23,3725                        TFFDELQ            =        10D                                   #        Q2-Q1                   E: (-16)  M: (-15)
058723,000076: 23,3725                        RMAG1              =        12D                                   #        ABVAL(RN)  M            E: (-29)  M: (-27)
058724,000077:                                                                                                  # RPER           =       14D             PERIGEE RADIUS  M       E: (-29)  M: (-27)
058725,000078: 23,3725                        TFFQ1              =        14D                                   #        R.V / SQRT(MUE)         E: (-16)  M: (-15)
058726,000079:                                                                                                  # SDELF/2                                SIN(THETA) /2
058727,000080: 23,3725                        CDELF/2            =        14D                                   #        COS(THETA) /2
058728,000081:                                                                                                  # RAPO           =       16D             APOGEE RADIUS  M        E: (-29)  M: (-27)
058729,000082: 23,3725                        NRTERM             =        16D                                   #        TERMINAL RADIUS  M      E: (-29+NR)
058730,000083:                                                                                                  #                                          M: (-27+NR)
058731,000084: 23,3725                        RTERM              =        18D                                   #        TERMINAL RADIUS  M      E: (-29)  M: (-27)
058732,000085: 23,3725                        TFFVSQ             =        20D                                   #        -(V SQUARED/MU)  1/M    E: (20)   M: (18)
058733,000086: 23,3725                        TFF1/ALF           =        22D                                   #        SEMI MAJ AXIS  M        E: (-22-2 NA)
058734,000087:                                                                                                  #                                          M: (-20-2 NA)
058735,000088: 23,3725                        TFFRTALF           =        24D                                   #        SQRT(ALFA)              E:(10+NA) M: (9+NA)
058736,000089: 23,3725                        TFFALFA            =        26D                                   #        ALFA  1/M               E:(26-NR) M: (24-NR)
058737,000090: 23,3725                        TFFNP              =        28D                                   #        SEMI LATUS RECTUM  M    E: (-38+2 NR)
058738,000091:                                                                                                  #                                          M: (-36+2 NR)
058739,000092: 23,3725                        TFF/RTMU           =        30D                                   #        1/SQRT(MU)              E: (17)   M: (14)
058740,000093: 23,3725                        NRMAG              =        32D                                   #        PRESENT RADIUS  M       E: (-29+NR)
058741,000094:                                                                                                  #                                          M: (-27+NR)
058742,000095: 23,3725                        TFFX               =        34D                                   
058743,000096: 23,3725                        TFFTEM             =        36D                                   #        TEMPORARY

Page 1342

058745,000098:                                                                                                  #                REGISTERS S1, S2 ARE UNTOUCHED BY ANY TFF SUBROUTINE
058746,000099:                                                                                                  #                INDEX REGISTERS X1, X2 ARE USED BY ALL TFF SUBROUTINES.  THEY ARE ESTAB-
058747,000100:                                                                                                  #                LISHED IN TFF/CONIC AND MUST BE PRESERVED BETWEEN CALLS TO SUBSEQUENT
058748,000101:                                                                                                  #                SUBROUTINES.
058749,000102:                                                                                                  #                -NR                             C(X1) = NORM COUNT OF RMAG
058750,000103:                                                                                                  #                -NA                             C(X2) = NORM COUNT OF SQRT(ABS(ALFA))
058751,000104: 

Page 1343

058753,000106:                                                                                                  #  SUBROUTINE NAME:  TFFCONIC                    DATE:  01.29.67
058754,000107:                                                                                                  #  MOD NO:  0                                    LOG SECTION:  TIME OF FREE FALL
058755,000108:                                                                                                  #  MOD BY:  RR BAIRNSFATHER
058756,000109:                                                                                                  #  MOD NO:  1    MOD BY:  RR BAIRNSFATHER        DATE: 11 APR 67
058757,000110:                                                                                                  #  MOD NO:  2    MOD BY:  RR BAIRNSFATHER        DATE: 21 NOV 67         ADD MOON MU.
058758,000111:                                                                                                  #  MOD NO:  3    MOD BY:  RR BAIRNSFATHER        DATE: 21 MAR 68         ACCEPT DIFFERENT EARTH/MOON SCALES
058759,000112: 
058760,000113:                                                                                                  #  FUNCTIONAL DESCRIPTION:  THIS SUBROUTINE IS CALLED TO COMPUTE THOSE CONIC PARAMETERS REQUIRED BY THE TFF
058761,000114:                                                                                                  #        SUBROUTINES AND TO ESTABLISH THEM IN THE PUSH LIST AREA.  THE PARAMETERS ARE LISTED UNDER OUTPUT.
058762,000115:                                                                                                  #        THE EQUATIONS ARE
058763,000116:                                                                                                  #                -   -  -
058764,000117:                                                                                                  #                H = RN*VN                       ANGULAR MOMENTUM
058765,000118:                                                                                                  #                      - -
058766,000119:                                                                                                  #                LCP = H.H / MU                  SEMI LATUS RECTUM
058767,000120:                                                                                                  #                              -  -
058768,000121:                                                                                                  #                ALFA = 2/RN - VN.VN / MU        RECIPROCAL SEMI MAJ AXIS, SIGNED
058769,000122: 
058770,000123:                                                                                                  #        AND ALFA IS POS FOR ELLIPTIC ORBITS
058771,000124:                                                                                                  #                      0 FOR PARABOLIC ORBITS
058772,000125:                                                                                                  #                    NEG FOR HYPERBOLIC ORBITS.
058773,000126:                                                                                                  #        SUBROUTINE ALSO COMPUTES AND SAVES RMAG.
058774,000127: 
058775,000128:                                                                                                  #  CALLING SEQUENCE:
058776,000129:                                                                                                  #        TFFCONIC EXPECTS CALLER TO ENTER WITH CORRECT GRAVITATIONAL CONSTANT IN MPAC, IN THE FORM
058777,000130:                                                                                                  #        1/SQRT(MU).  PROGRAM WILL SAVE IN TFF/RTMU.  THE SCALE IS DETERMINED BY WHETHER EARTH OR MOON
058778,000131:                                                                                                  #        ORIGIN IS USED.  THE CALLER MUST LOCK OUT THE EXTENDED VERBS BEFORE PROVIDING STATE VECTOR IN RONE,
058779,000132:                                                                                                  #        VONE AT PROPER SCALE.  THE EXTENDED VERBS MUST BE RESTORED WHEN THE CALLER IS FINISHED USING THE
058780,000133:                                                                                                  #        TFF ROUTINES.
058781,000134: 
058782,000135:                                                                                                  #        ENTRY POINT TFFCONMU EXPECTS THAT TFF/RTMU IS ALREADY LOADED.
058783,000136: 
058784,000137:                                                                                                  #        TO SPECIFY MU:  DLOAD   CALL            IF MU ALREADY STORED:           CALL
058785,000138:                                                                                                  #                                YOURMU          1/RTMU E:(17) M:(14)                    TFFCONMU
058786,000139:                                                                                                  #                                TFFCONIC
058787,000140:                                                                                                  #        PUSHLOC = PDL+0, ARBITRARY IF LEQ 18D
058788,000141: 
058789,000142:                                                                                                  #  SUBROUTINES CALLED:  NONE
058790,000143: 
058791,000144:                                                                                                  #  NORMAL EXIT MODES:  RVQ
058792,000145: 
058793,000146:                                                                                                  #  ALARMS:  NONE
058794,000147: 
058795,000148:                                                                                                  #  OUTPUT:       THE FOLLOWING ARE STORED IN THE PUSH LIST AREA.
058796,000149:                                                                                                  #                RMAG1           E:(-29) M:(-27)         M  RN, PRESENT RADIUS LENGTH.
058797,000150:                                                                                                  #                NRMAG           E:(-29+NR)              M  RMAG, NORMALIZED
058798,000151:                                                                                                  #                                M:(-27+NR)
058799,000152:                                                                                                  #                X1                                      -NR, NORM COUNT
058800,000153:                                                                                                  #                TFFNP           E:(-38+2NR)             M  LCP, SEMI LATUS RECTUM, WEIGHTED BY NR.  FOR VGAMCALC
058801,000154:                                                                                                  #                                M:(-36+2NR)
058802,000155:                                                                                                  #                TFF/RTMU        E:(17) M:(14)           1/SQRT(MU)
058803,000156:                                                                                                  #                TFFVSQ          E:(20) M:(18)           1/M  -(V SQ/MU):  PRESENT VELOCITY, NORMLIZED.  FOR VGAMCALC
058804,000157:                                                                                                  #                TFFALFA         E:(26-NR)               1/M  ALFA, WEIGHTED BY NR
058805,000158:                                                                                                  #                                M:(24-NR)
058806,000159:                                                                                                  #                TFFRTALF        E:(10+NA)               SQRT(ALFA), NORMALIZED
058807,000160:                                                                                                  #                                M:(9+NA)

Page 1344

058809,000162:                                                                                                  #                X2                                      -NA, NORMCOUNT
058810,000163:                                                                                                  #                TFF1/ALF        E:(-22-2NA)             SIGNED SEMI MAJ AXIS, WEIGHTED BY NA
058811,000164:                                                                                                  #                                M:(-20-2NA)
058812,000165:                                                                                                  #                PUSHLOC AT PDL+0
058813,000166: 
058814,000167:                                                                                                  #        THE FOLLOWING IS STORED IN GENERAL ERASABLE
058815,000168:                                                                                                  #                VONE'           E:(10) M:(9)            V/RT(MU), NORMALIZED VELOCITY
058816,000169: 
058817,000170:                                                                                                  #  ERASABLE INITIALIZATION REQUIRED:
058818,000171:                                                                                                  #                RONE            E:(-29) M:(-27)         M  STATE VECTOR         LEFT BY CALLER
058819,000172:                                                                                                  #                VONE            E:(-7) M:(-5)           M/CS  STATE VECTOR      LEFT BY CALLER
058820,000173:                                                                                                  #                TFF/RTMU        E:(17) M:(14)           1/RT(CS SQ/M CUBE)      IF ENTER VIA TFFCONMU.
058821,000174: 
058822,000175:                                                                                                  #  DEBRIS:       QPRET,  PDL+0 ... PDL+3
058823,000176: 
058824,000177: 33,3772                                           BANK     33                                    
058825,000178: 27,2000                                           SETLOC   TOF-FF                                
058826,000179: 27,2000                                           BANK                                           
058827,000180: 
058828,000181: 27,2750                                           COUNT*   $$/TFF                                
058829,000182: 
058830,000183: 27,2750           00037        TFFCONIC           STORE    TFF/RTMU                              #  1/SQRT(MU)    E:(17) M:(14)
058831,000184: 
058832,000185: 27,2751           53575        TFFCONMU           VLOAD    UNIT                                  #  COME HERE WITH TFFRTMU LOADED.
058833,000186: 27,2752           02327                                    RONE                                  #  SAVED RN.  M  E:(-29) M:(-27)
058834,000187: 27,2753           77725                           PDDL                                           #  UR/2 TO PDL+0, +5
058835,000188: 27,2754           00045                                    36D                                   #  MAGNITUDE
058836,000189: 27,2755           00015                           STORE    RMAG1                                 #  M  E:(-29) M:(-27)
058837,000190: 
058838,000191: 27,2756           77701                           NORM                                           
058839,000192: 27,2757           00047                                    X1                                    #  -NR
058840,000193: 27,2760           24041                           STOVL    NRMAG                                 #  RMAG  M  E:(-29+NR) M:(-27+NR)
058841,000194: 27,2761           02335                                    VONE                                  #  SAVED VN.  M/CS  E:(-7) M:(-5)
058842,000195: 27,2762           77761                           VXSC                                           
058843,000196: 27,2763           00037                                    TFF/RTMU                              #  E:(17) M:(14)
058844,000197: 27,2764           02372                           STORE    VONE'                                 #  VN/SQRT(MU)  E:(10) M:(9)
058845,000198: 
058846,000199: 27,2765           47361                           VXSC     VXV                                   
058847,000200: 27,2766           00041                                    NRMAG                                 #  E:(-29+NR) M:(-27+NR)
058848,000201:                                                                                                  #  UR/2 FROM PDL
058849,000202: 27,2767           47572                           VSL1     VSQ                                   #  BEFORE:  E:(-19+NR) M:(-18+NR)
058850,000203: 27,2770           14035                           STODL    TFFNP                                 #  LC P  M  E:(-38+2NR) M:(-36+2NR)
058851,000204:                                                                                                  #  SAVE ALSO FOR VGAMCALC
058852,000205: 27,2771           15322                                    TFF1/4                                
058853,000206: 27,2772           63271                           DDV      PDVL                                  #  (2/RMAG)  1/M  E:(26-NR) M:(24-NR)
058854,000207: 27,2773           00041                                    NRMAG                                 #  RMAG  M  E:(-29+NR) M:(-27+NR)
058855,000208: 27,2774           02372                                    VONE'                                 #  SAVED VN.  E:(10) M:(9)
058856,000209: 27,2775           57436                           VSQ      DCOMP                                 #  KEEP MPAC+2 HONEST FOR SQRT.
058857,000210: 27,2776           00025                           STORE    TFFVSQ                                #  -(V SQ/MU)  E:(20) M:(18)
058858,000211:                                                                                                  #  SAVE FOR VGAMCALC
058859,000212: 27,2777           43257                           SR*      DAD                                   

Page 1345

058861,000214: 27,3000           20573                                    0          -6,1                       #  GET -VSQ/MU  E:(26-NR) M:(24-NR)
058862,000215: 27,3001           77626                           STADR                                          
058863,000216:                                                                                                  #  2/RMAG  FROM PDL+2
058864,000217: 27,3002           77744                           STORE    TFFALFA                               #  ALFA  1/M  E:(26-NR) M:(24-NR)
058865,000218: 27,3003           41457                           SL*      PUSH                                  #  TEMP SAVE ALFA  E:(20) M:(18)
058866,000219: 27,3004           20173                                    0          -6,1                       
058867,000220: 27,3005           75446                           ABS      SQRT                                  #  E:(10) M:(9)
058868,000221: 27,3006           77701                           NORM                                           
058869,000222: 27,3007           00050                                    X2                                    #  X2 = -NA
058870,000223: 27,3010           00031                           STORE    TFFRTALF                              #  SQRT( ABS(ALFA) )  E:(10+NA) M:(9+NA)
058871,000224: 27,3011           75316                           DSQ      SIGN                                  #  NOT SO ACCURATE, BUT OK
058872,000225:                                                                                                  #  ALFA FROM PDL+2  E:(20) M:(18)
058873,000226: 27,3012           55254                           BZE      BDDV                                  #  SET 1/ALFA =0, TO SHOW SMALL ALFA
058874,000227: 27,3013           57015                                    +2                                    
058875,000228: 27,3014           15322                                    TFF1/4                                
058876,000229: 27,3015           00027                 +2        STORE    TFF1/ALF                              #  1/ALFA  E:(-22-2NA) M:(-20-2NA)
058877,000230: 27,3016           77616        DUMPCNIC           RVQ                                            
058878,000231:                                                                                                  #                        39 W

Page 1346

058880,000233:                                                                                                  #  SUBROUTINE NAME:  TFFRP/RA                    DATE: 01.17.67
058881,000234:                                                                                                  #  MOD NO:  0                                    LOG SECTION:  TIME OF FREE FALL
058882,000235:                                                                                                  #  MOD BY:  RR BAIRNSFATHER
058883,000236:                                                                                                  #  MOD NO:  1    MOD BY:  RR BAIRNSFATHER        DATE: 11 APR 67
058884,000237:                                                                                                  #  MOD NO:  2    MOD BY:  RR BAIRNSFATHER        DATE: 21 MAR 68         ACCEPT DIFFERENT EARTH/MOON SCALES
058885,000238:                                                                                                  #                                                                        ALSO IMPROVE ACCURACY OF RAPO.
058886,000239: 
058887,000240:                                                                                                  #  FUNCTIONAL DESCRIPTION:  USED BY CALCTPER AND TFF DISPLAYS TO CALCULATE PERIGEE RADIUS AND ALSO
058888,000241:                                                                                                  #        APOGEE RADIUS FOR A GENERAL CONIC.
058889,000242:                                                                                                  #        PROGRAM GIVES PERIGEE RADIUS AS         APOGEE RADIUS IS GIVEN BY
058890,000243:                                                                                                  #                RP = P/(1+E)                            RA = (1+E) / ALFA
058891,000244:                                                                                                  #        WHERE    2
058892,000245:                                                                                                  #                E  = 1 - P ALFA
058893,000246:                                                                                                  #        IF RA IS NEGATIVE OR SHOWS DIVIDE OVERFLOW, THEN RA = POSMAX BECAUSE
058894,000247:                                                                                                  #                1. APOGEE RADIUS IS NOT MEANINGFUL FOR HYPERBOLA
058895,000248:                                                                                                  #                2. APOGEE RADIUS IS NOT DEFINED FOR PARABOLA
058896,000249:                                                                                                  #                3. APOGEE RADIUS EXCEEDS THE SCALING FOR ELLIPSE.
058897,000250: 
058898,000251:                                                                                                  #        THIS SUBROUTINE REQUIRES THE SIGNED RECIPROCAL SEMI MAJ AXIS, ALFA, AND SEMI LATUS RECTUM AS DATA.
058899,000252: 
058900,000253:                                                                                                  #  CALLING SEQUENCE:     CALL
058901,000254:                                                                                                  #                                TFFRP/RA
058902,000255:                                                                                                  #        PUSHLOC = PDL+0, ARBITRARY IF LEQ 10D
058903,000256:                                                                                                  #        C(MPAC) UNSPECIFIED
058904,000257: 
058905,000258:                                                                                                  #  SUBROUTINES CALLED:   NONE
058906,000259: 
058907,000260:                                                                                                  #  NORMAL EXIT MODE:     RVQ
058908,000261:                                                                                                  #        IF ELLIPSE, WITHIN NORMAL SCALING, RAPO IS CORRECT.
058909,000262:                                                                                                  #        OTHERWISE, RAPO = POSMAX.
058910,000263: 
058911,000264:                                                                                                  #  ALARMS:       NONE
058912,000265: 
058913,000266:                                                                                                  #  OUTPUT:       STORED IN PUSH LIST AREA.  SCALE OF OUTPUT AGREES WITH DATA SUPPLIED TO TFF/CONIC.
058914,000267:                                                                                                  #        RPER    E:(-29) M:(-27)         M       PERIGEE RADIUS          DESTROYED BY CALCTFF/CALCTPER, TFFTRIG.
058915,000268:                                                                                                  #        RAPO    E:(-29) M:(-27)         M       APOGEE RADIUS           WILL BE DESTROYED BY CALCTFF/CALCTPER
058916,000269:                                                                                                  #        PUSHLOC AT PDL+0
058917,000270: 
058918,000271:                                                                                                  #  ERASABLE INITIALIZATION REQUIRED:
058919,000272:                                                                                                  #        TFFALFA E:(26-NR)               M       1/SEMI MAJ AXIS         LEFT BY TFFCONIC
058920,000273:                                                                                                  #                M:(24-NR)
058921,000274:                                                                                                  #        TFFNP   E:(-38+2NR)             M       LC P, SEMI LATUS RECTUM LEFT BY TFFCONIC
058922,000275:                                                                                                  #                M:(-36+2NR)
058923,000276:                                                                                                  #        X1                              -NR, NORM COUNT OF RMAG         LEFT BY TFFCONIC
058924,000277:                                                                                                  #        X2                              -NA, NORM COUNT OF ALFA         LEFT BY TFFCONIC
058925,000278: 
058926,000279:                                                                                                  #  DEBRIS:       QPRET, PDL+0 ... PDL+1
058927,000280: 

Page 1347

058929,000282: 27,3017                        RAPO               =        16D                                   #  APOGEE RADIUS  M  E:(-29) M:(-27)
058930,000283: 27,3017                        RPER               =        14D                                   #  PERIGEE RADIUS  M  E:(-29) M:(-27)
058931,000284: 
058932,000285: 27,3017           41345        TFFRP/RA           DLOAD    DMP                                   
058933,000286: 27,3020           00033                                    TFFALFA                               #  ALFA  1/M  E:(26-NR) M:(24-NR)
058934,000287: 27,3021           00035                                    TFFNP                                 #  LC P  M E:(-38+2NR) M:(-36+2NR)
058935,000288: 27,3022           57457                           SR*      DCOMP                                 #  ALFA P (-12+NR)
058936,000289: 27,3023           20571                                    0          -8D,1                      #  ALFA P (-4)
058937,000290: 27,3024           51415                           DAD      ABS                                   #  (DCOMP GIVES VALID TP RESULT FOR SQRT)
058938,000291:                                                                                                  #  (ABS PROTECTS SQRT IF E IS VERY NEAR 0)
058939,000292: 27,3025           17357                                    DP2(-4)                               
058940,000293: 27,3026           43366                           SQRT     DAD                                   #  E SQ = (1- P ALFA) (-4)
058941,000294: 27,3027           15322                                    TFF1/4                                
058942,000295: 27,3030           55206                           PUSH     BDDV                                  #  (1+E)  (-2)  TO PDL+0
058943,000296: 27,3031           00035                                    TFFNP                                 #  LCP  M  E:(-38+2NR) M:(-36+2NR)
058944,000297: 27,3032           53657                           SR*      SR*                                   #  (DOES SR THEN SL TO AVOID OVFL)
058945,000298: 27,3033           20601                                    0,1                                   #  X1=-NR
058946,000299: 27,3034           20572                                    0          -7,1                       #  (EFFECTIVE SL)
058947,000300: 27,3035           14017                           STODL    RPER                                  #  PERIGEE RADIUS  M  E:(-29) M:(-27)
058948,000301:                                                                                                  #  (1+E)  (-2)  FROM PDL+0
058949,000302: 27,3036           41005                           DMP      BOVB                                  
058950,000303: 27,3037           00027                                    TFF1/ALF                              #  E:(-22-2NA) M:(-20-2NA)
058951,000304: 27,3040           57343                                    TCDANZIG                              #  CLEAR OVFIND, IF ON.
058952,000305: 27,3041           53654                           BZE      SL*                                   
058953,000306: 27,3042           57051                                    MAXRA                                 #  SET POSMAX, IF ALFA=0
058954,000307: 27,3043           57603                                    0          -5,2                       #  -5+NA
058955,000308: 27,3044           40057                           SL*      BOV                                   
058956,000309: 27,3045           57576                                    0,2                                   
058957,000310: 27,3046           57051                                    MAXRA                                 #  SET POSMAX IF OVFL.
058958,000311: 27,3047           77644                           BPL                                            #  CONTINUE WITH VALID RAPO.
058959,000312: 27,3050           57053                                    +3                                    
058960,000313: 27,3051           77745        MAXRA              DLOAD                                          #  RAPO CALC IS NOT VALID.  SET RAPO =
058961,000314: 27,3052           17363                                    NEARONE                               #  POSMAX AS A TAG.
058962,000315: 27,3053           00021                 +3        STORE    RAPO                                  #  APOGEE RADIUS  M  E:(-29) M:(-27)
058963,000316: 27,3054           77616        DUMPRPRA           RVQ                                            
058964,000317:                                                                                                  #                        30 W

Page 1348

058966,000319:                                                                                                  #  SUBROUTINE NAME:  CALCTPER / CALCTFF          DATE:  01.29.67
058967,000320:                                                                                                  #  MOD NO:  0                                    LOG SECTION:  TIME OF FREE FALL
058968,000321:                                                                                                  #  MOD BY:  RR BAIRNSFATHER
058969,000322:                                                                                                  #  MOD NO:  1    MOD BY:  RR BAIRNSFATHER        DATE: 21 MAR 67
058970,000323:                                                                                                  #  MOD NO:  2    MOD BY:  RR BAIRNSFATHER        DATE: 14 APR 67
058971,000324:                                                                                                  #  MOD NO:  3    MOD BY:  RR BAIRNSFATHER        DATE: 8 JUL 67          NEAR EARTH MUE AND NEG TFF (GONEPAST)
058972,000325:                                                                                                  #  MOD NO:  4    MOD BY:  RR BAIRNSFATHER        DATE: 21 NOV 67         ADD VARIABLE MU.
058973,000326:                                                                                                  #  MOD NO:  5    MOD BY:  RR BAIRNSFATHER        DATE: 21 MAR 68         ACCEPT DIFFERENT EARTH/MOON SCALES
058974,000327: 
058975,000328:                                                                                                  #  FUNCTIONAL DESCRIPTION:  PROGRAM CALCULATES THE FREE-FALL TIME OF FLIGHT FROM PRESENT POSITION RN AND
058976,000329:                                                                                                  #        VELOCITY VN TO A RADIUS LENGTH SPECIFIED BY RTERM, SUPPLIED BY THE USER.  THE POSITION VECTOR
058977,000330:                                                                                                  #        RN MAY BE ON EITHER SIDE OF THE CONIC, BUT RTERM IS CONSIDERED ON THE INBOUND SIDE.
058978,000331:                                                                                                  #        THE EQUATIONS ARE
058979,000332: 
058980,000333:                                                                                                  #                Q2 = -SQRT(RTERM (2-RTERM ALFA) - LCP)  (INBOUND SIDE)) LEQ +- LCE/SQRT(ALFA)
058981,000334:                                                                                                  #                     -  -
058982,000335:                                                                                                  #                Q1 = RN.VN / SQRT(MU)                                   LEQ +- LCE/SQRT(ALFA)
058983,000336: 
058984,000337:                                                                                                  #                Z = NUM / DEN                                           LEQ +- 1/SQRT(ALFA)
058985,000338: 
058986,000339:                                                                                                  #        WHERE, IF INBOUND
058987,000340:                                                                                                  #                NUM = RTERM -RN                                         LEQ +- 2 LCE/ALFA
058988,000341:                                                                                                  #                DEN = Q2+Q1                                             LEQ +- 2 LCE/SQRT(ALFA)
058989,000342: 
058990,000343:                                                                                                  #        AND, IF OUTBOUND
058991,000344:                                                                                                  #                NUM = Q2-Q1                                             LEQ +- 2 LCE/SQRT(ALFA)
058992,000345:                                                                                                  #                DEN = 2 - ALFA (RTERM + RN).                            LEQ +- 2 LCE
058993,000346: 
058994,000347:                                                                                                  #        IF      ALFA ZZ < 1.0           (FOR ALL CONICS EXCEPT ELLIPSES HAVING ABS(DEL ECC ANOM) G 90 DEG)
058995,000348:                                                                                                  #        THEN    X = ALFA Z Z
058996,000349:                                                                                                  #        AND     TFF = (RTERM +RN -2 ZZ T(X) ) Z/SQRT(MU)
058997,000350:                                                                                                  #                EXCEPT  IF ALFA PNZ, AND IF TFF NEG,
058998,000351:                                                                                                  #                THEN    TFF = 2 PI /(ALFA SQRT(ALFA)) + TFF
058999,000352:                                                                                                  #        OR      IF ALFA ZZ GEQ 1.0      (FOR ELLIPSES HAVING ABS(DEL ECC ANOM) GEQ 90 DEG)
059000,000353:                                                                                                  #        THEN    X = 1/ALFA Z Z
059001,000354:                                                                                                  #        AND     TFF = (PI/SQRT(ALFA) -Q2 +Q1 +2(X T(X) -1) /ALFA Z) /ALFA SQRT(MU)
059002,000355:                                                                                                  #        WHERE   T(X) IS A POLYNOMIAL APPROXIMATION TO THE SERIES
059003,000356:                                                                                                  #                             2      3             2
059004,000357:                                                                                                  #                1/3 - X/5 + X /7 - X /9 ...     (X  < 1.0)
059005,000358: 
059006,000359:                                                                                                  #  CALLING SEQUENCE:     TIME TO RTERM                   TIME TO PERIGEE
059007,000360:                                                                                                  #                        CALL                            CALL
059008,000361:                                                                                                  #                                CALCTFF                         CALCTPER
059009,000362:                                                                                                  #                        C(MPAC) = TERMNL RAD M          C(MPAC) = PERIGEE RAD M
059010,000363:                                                                                                  #        FOR EITHER, E:(-29) M:(-27)
059011,000364:                                                                                                  #        FOR EITHER, PUSHLOC = PDL+0, ARBITRARY IF LEQ 8D.

Page 1349

059013,000366: 
059014,000367:                                                                                                  #  SUBROUTINES CALLED:   T(X), VIA RTB
059015,000368: 
059016,000369:                                                                                                  #  NORMAL EXIT MODE:     RVQ
059017,000370:                                                                                                  #        HOWEVER, PROGRAM EXITS WITH ONE OF THE FOLLOWING VALUES FOR TFF (-28) CS IN MPAC.  USER MUST STORE.
059018,000371:                                                                                                  #                A. TFF = FLIGHT TIME.  NORMAL CASE FOR POSITIVE FLIGHT TIME LESS THAN ONE ORBITAL PERIOD.
059019,000372:                                                                                                  #                B. (THIS OPTION IS NO LONGER USED.)
059020,000373:                                                                                                  #                C. TFF = POSMAX.  THIS INDICATES THAT THE CONIC FROM THE PRESENT POSITION WILL NOT RETURN TO
059021,000374:                                                                                                  #                   THE SPECIFIED ALTITUDE.  ALSO INDICATES OUTBOUND PARABOLA OR HYPERBOLA.
059022,000375: 
059023,000376:                                                                                                  #  OUTPUT:       C(MPAC)         (-28) CS        TIME OF FLIGHT, OR TIME TO PERIGEE
059024,000377:                                                                                                  #                TFFX            (0)             X,                                      LEFT FOR ENTRY DISPLAY TFF ROUTINES
059025,000378:                                                                                                  #                NRTERM          E:(-29+NR) M    RTERM, WEIGHTED BY NR                   LEFT FOR ENTRY DISPLAY TFF ROUTINES
059026,000379:                                                                                                  #                                M:(-27+NR)
059027,000380:                                                                                                  #                TFFTEM          E:(-59+2NR)     LCP Z Z SGN(SDELF)                      LEFT FOR ENTRY DISPLAY TFF ROUTINES
059028,000381:                                                                                                  #                                M:(-55+2NR)     LCP /ALFA SGN(SDELF)                    LEFT FOR ENTRY DISPLAY TFF ROUTINES
059029,000382:                                                                                                  #                NOTE:   TFFTEM = PDL 36D AND WILL BE DESTROYED BY .:UNIT:.
059030,000383:                                                                                                  #                RMAG1           E:(-29) M:(-27) PDL 12 NOT TOUCHED.
059031,000384:                                                                                                  #                TFFQ1           E:(-16) M:(-15) PDL 14D
059032,000385:                                                                                                  #                TFFDELQ         E:(-16) M:(-15) PDL 10D
059033,000386:                                                                                                  #                PUSHLOC AT PDL+0
059034,000387: 
059035,000388:                                                                                                  #  ERASABLE INITIALIZATION REQUIRED:
059036,000389:                                                                                                  #                RONE            E:(-29) M:(-27) M  STATE VECTOR                         LEFT BY USER
059037,000390:                                                                                                  #                VONE'           E:(+10) M:(+9)  VN/SQRT(MU)                             LEFT BY TFF/CONIC
059038,000391:                                                                                                  #                RMAG1           E:(-29) M:(-27) PRESENT RADIUS, M                       LEFT BY TFFCONIC
059039,000392:                                                                                                  #                C(MPAC)         E:(-29) M:(-27) RTERM, TERMINAL RADIUS LENGTH, M        LEFT BY USER
059040,000393: 
059041,000394:                                                                                                  #                THE FOLLOWING ARE STORED IN THE PUSH LIST AREA.
059042,000395:                                                                                                  #                TFF/RTMU        E:(17) M:(14)   1/SQRT(MU)                              LEFT BY TFFCONIC.
059043,000396:                                                                                                  #                NRMAG           E:(-29+NR)      M  RMAG, NORMALIZED                     LEFT BY TFFCONIC
059044,000397:                                                                                                  #                                M:(-27+NR)
059045,000398:                                                                                                  #                X1                              -NR, NORM COUNT                         LEFT BY TFFCONIC
059046,000399:                                                                                                  #                TFFNP           E:(-38+2NR)     M  LCP, SEMI LATUS RECTUM, WEIGHT NR    LEFT BY TFFCONIC
059047,000400:                                                                                                  #                                M:(-36+2NR)
059048,000401:                                                                                                  #                TFFALFA         E:(26-NR)       1/M  ALFA, WEIGHT NR                    LEFT BY TFFCONIC
059049,000402:                                                                                                  #                                M:(24-NR)
059050,000403:                                                                                                  #                TFFRTALF        E:(10+NA)       SQRT(ALFA), NORMALIZED                  LEFT BY TFFCONIC
059051,000404:                                                                                                  #                                M:(9+NA)
059052,000405:                                                                                                  #                X2                              -NA, NORMCOUNT                          LEFT BY TFFCONIC
059053,000406:                                                                                                  #                TFF1/ALF        E:(-22-2NA)     SIGNED SEMIMAJ AXIS, WEIGHTED BY NA     LEFT BY TFFCONIC
059054,000407:                                                                                                  #                                M:(-20-2NA)
059055,000408: 
059056,000409:                                                                                                  #  DEBRIS:       QPRET, PDL+0 ... PDL+3
059057,000410:                                                                                                  #                RTERM           E:(-29) M:(-27) RTERM, TERMINAL RADIUS LENGTH
059058,000411:                                                                                                  #                RAPO            E:(-29) M:(-27) PDL 16D (=NRTERM)
059059,000412:                                                                                                  #                RPER            E:(-29) M:(-27) PDL 14D (=TFFQ1)
059060,000413: 

Page 1350

059062,000415: 27,3055           77614        CALCTPER           SETGO                                          #  ENTER WITH RPER IN MPAC
059063,000416: 27,3056           03436                                    TFFSW                                 
059064,000417: 27,3057           57062                                    +3                                    
059065,000418: 27,3060           77614        CALCTFF            CLEAR                                          #  ENTER WITH RTERM IN MPAC
059066,000419: 27,3061           03676                                    TFFSW                                 
059067,000420: 27,3062           00023                 +3        STORE    RTERM                                 #  E:(-29) M:(-27)
059068,000421: 27,3063           77657                           SL*                                            
059069,000422: 27,3064           20201                                    0,1                                   #  X1=-NR
059070,000423: 27,3065           00021                           STORE    NRTERM                                #  RTERM  E:(-29+NR) M:(-27+NR)
059071,000424: 27,3066           44205                           DMP      BDSU                                  
059072,000425: 27,3067           00033                                    TFFALFA                               #  ALFA  E:(26-NR) M:(24-NR)
059073,000426: 27,3070           15322                                    TFF1/4                                
059074,000427: 27,3071           41206                           PUSH     DMP                                   #  (2-ALFA RTERM)  (-3)  TO PDL+0
059075,000428: 27,3072           00021                                    NRTERM                                #  E:(-29+NR) M:(-27+NR)
059076,000429: 27,3073           53725                           PDDL     SR*                                   #  RTERM(2-ALFA RTERM) TO PDL+2
059077,000430:                                                                                                  #  E:(-32+NR) M:(-30+NR)
059078,000431: 27,3074           00035                                    TFFNP                                 #  LC P  E:(-38+2NR) M:(-36+2NR)
059079,000432: 27,3075           20573                                    0          -6,1                       #  X1 = -NR
059080,000433: 27,3076           43276                           DCOMP    DAD                                   #  DUE TO SHIFTS, KEEP PRECISION FOR SQRT
059081,000434:                                                                                                  #  RTERM(2-ALFA RTERM) FROM PDL +2
059082,000435:                                                                                                  #  E:(-32+NR) M:(-30+NR)
059083,000436: 27,3077           77657                           SR*                                            #  LEAVE  E:(-32) M:(-30)
059084,000437: 27,3100           20601                                    0,1                                   #  X1 = -NR
059085,000438: 27,3101           71214                           BOFF     DLOAD                                 #  CHECK TFF /TPER SWITCH
059086,000439: 27,3102           03756                                    TFFSW                                 
059087,000440: 27,3103           57105                                    +2                                    #  IF TFF, CONTINUE
059088,000441: 27,3104           15332                                    TFFZEROS                              #  IF TPER, SET Q2 = 0
059089,000442: 27,3105           75440                 +2        BMN      SQRT                                  #  E:(-16) M:(-15)
059090,000443: 27,3106           57240                                    MAXTFF1                               #  NO FREE FALL CONIC TO RTERM FROM HERE
059091,000444:                                                                                                  #  RESET PDL, SET TFF=POSMAX, AND EXIT.
059092,000445: 
059093,000446: 27,3107           41076                           DCOMP    BOVB                                  #  RT IS ON INBOUND SIDE.  ASSURE OVFIND=0
059094,000447: 27,3110           57343                                    TCDANZIG                              #  ANY PORT IN A STORM.
059095,000448: 27,3111           24045                           STOVL    TFFTEM                                #  Q2  E:(-16) M:(-15)
059096,000449: 27,3112           02372                                    VONE'                                 #  VN/SQRT(MU)  E:(10) M:(9)
059097,000450: 27,3113           52441                           DOT      SL3                                   
059098,000451: 27,3114           02327                                    RONE                                  #  SAVED RN.  E:(-29) M:(-27)
059099,000452: 27,3115           00017                           STORE    TFFQ1                                 #  Q1, SAVE FOR GONEPAST TEST.
059100,000453:                                                                                                  #  E:(-16) M:(-15)
059101,000454: 27,3116           44240                           BMN      BDSU                                  
059102,000455: 27,3117           57140                                    INBOUND                               #  USE ALTERNATE Z
059103,000456: 27,3120           00045                                    TFFTEM                                #  Q2  E:(-16) M:(-15)
059104,000457: 
059105,000458:                                                                                                  #  OUTBOUND Z CALC CONTINUES HERE
059106,000459: 
059107,000460: 27,3121           14043                           STODL    TFFX                                  #  NUM=Q2-Q1  E:(-16) M:(-15)
059108,000461: 27,3122           00033                                    TFFALFA                               #  ALFA  E:(26-NR) M:(24-NR)
059109,000462: 27,3123           44205                           DMP      BDSU                                  

Page 1351

059111,000464: 27,3124           00041                                    NRMAG                                 #  RMAG  E:(-29+NR) M:(-27+NR)
059112,000465:                                                                                                  #  (2-RTERM ALFA)  (-3) FROM PDL+0
059113,000466: 27,3125           51406        SAVEDEN            PUSH     ABS                                   #  DEN TO PDL+0  E:(-3) OR (-16)
059114,000467:                                                                                                  #                M:(-3) OR (-15)
059115,000468: 27,3126           40015                           DAD      BOV                                   #  INDETERMINANCY TEST
059116,000469: 27,3127           17351                                    LIM(-22)                              #  =1.0-B(-22)
059117,000470: 27,3130           57151                                    TFFXTEST                              #  GO IF DEN >/= B(-22)
059118,000471: 27,3131           65345                           DLOAD    PDDL                                  #  SET DEN=0 OTHERWISE
059119,000472: 27,3132           15332                                    TFFZEROS                              
059120,000473:                                                                                                  #  XCH ZERO WITH PDL+0
059121,000474: 27,3133           57545                           DLOAD    DCOMP                                 
059122,000475: 27,3134           00033                                    TFFALFA                               #  ALFA  E:(26-NR) M:(24-NR)
059123,000476: 27,3135           71240                           BMN      DLOAD                                 #  FOR TPER:  Z INDET AT DELE/2=0 AND 90.
059124,000477: 27,3136           57245                                    TFFEL1                                #  ASSUME 90, AND LEAVE 0 IN PDL: 1/Z=D/N
059125,000478: 
059126,000479:                                                                                                  #  Z INDET. AT PERIGEE FOR PARAB OR HYPERB.
059127,000480: 27,3137           77616        DUMPTFF1           RVQ                                            #  RETURN TFF =0
059128,000481: 
059129,000482:                                                                                                  #  INBOUND Z CALC CONTINUES HERE
059130,000483: 
059131,000484: 27,3140           77745        INBOUND            DLOAD                                          #  RESET PDL+0
059132,000485: 27,3141           45345                           DLOAD    DSU                                   #  ALTERNATE Z CALC
059133,000486: 27,3142           00023                                    RTERM                                 #  E:(-29) M:(-27)
059134,000487: 27,3143           00015                                    RMAG1                                 #  E:(-29) M:(-27)
059135,000488: 27,3144           14043                           STODL    TFFX                                  #  NUM=RTERM-RN  E:(-29) M:(-27)
059136,000489: 27,3145           00045                                    TFFTEM                                #  Q2  E:(-16) M:(-15)
059137,000490: 27,3146           52015                           DAD      GOTO                                  
059138,000491: 27,3147           00017                                    TFFQ1                                 #  Q1  E:(-16) M:(-15)
059139,000492: 27,3150           57125                                    SAVEDEN                               #  DEN = Q2+Q1  E:(-16) M:(-15)
059140,000493: 
059141,000494: 27,3151           65215        TFFXTEST           DAD      PDDL                                  #  (ABS(DEN) TO PDL+2))  E:(-3) OR (-16)
059142,000495:                                                                                                  #                        M:(-3) OR (-15)
059143,000496: 27,3152           17353                                    DP(-22)                               #  RESTORE ABS(DEN) TO MPAC
059144,000497: 27,3153           00043                                    TFFX                                  #  NUM  E:(-16) OR (-29)  M:(-15) OR (-27)
059145,000498: 27,3154           53605                           DMP      SR*                                   
059146,000499: 27,3155           00031                                    TFFRTALF                              #  SQRT(ALFA)  E:(10+NA) M:(9+NA)
059147,000500: 27,3156           57201                                    0          -3,2                       #  X2=-NA
059148,000501: 27,3157           77671                           DDV                                            #  C(MPAC) =NUM SQRT(ALFA)       E:(-3) OR (-16)
059149,000502:                                                                                                  #                                M:(-3) OR (-15)
059150,000503:                                                                                                  #  ABS(DEN) FROM PDL+2   E:(-3) OR (-16)
059151,000504:                                                                                                  #                        M:(-3) OR (-15)
059152,000505: 27,3160           40145                           DLOAD    BOV                                   #  (THE DLOAD IS SHARED WITH TFFELL)
059153,000506: 27,3161           00043                                    TFFX                                  #  NUM  E:(-16) OR (-29)  M:(-15) OR (-27)
059154,000507: 27,3162           57243                                    TFFELL                                #  USE EQN FOR DELE GEQ 90, LEQ -90
059155,000508: 
059156,000509:                                                                                                  #  OTHERWISE, CONTINUE FOR GENERAL CONIC FOR TFF EQN
059157,000510: 
059158,000511: 27,3163           45471                           DDV      STADR                                 
059159,000512:                                                                                                  #  DEN FROM PDL+0        E:(-3) OR (-16)
059160,000513:                                                                                                  #                        M:(-3) OR (-15)
059161,000514: 27,3164           77732                           STORE    TFFTEM                                #  Z SAVE FOR SIGN OF SDELF.

Page 1352

059163,000516:                                                                                                  #  E:(-13) M:(-12)
059164,000517: 27,3165           63406                           PUSH     DSQ                                   #  Z TO PDL+0
059165,000518: 27,3166           41206                           PUSH     DMP                                   #  Z SQ TO PDL+2  E:(-26) M:(-24)
059166,000519: 27,3167           00035                                    TFFNP                                 #  LC P  E:(-38+2NR) M:(-36+2NR)
059167,000520: 27,3170           75261                           SL       SIGN                                  
059168,000521: 27,3171           20206                                    5                                     
059169,000522: 27,3172           00045                                    TFFTEM                                #  AFFIX SIGN FOR SDELF (ENTRY DISPLAY)
059170,000523: 27,3173           14045                           STODL    TFFTEM                                #  P ZSQ  E:(-59+2NR) M:(-55+2NR)
059171,000524:                                                                                                  #  (ARG IS USED IN TFF/TRIG)
059172,000525:                                                                                                  #  ZSQ FROM PDL+2  E:(-26) M:(-24)
059173,000526: 27,3174           41206                           PUSH     DMP                                   #  RESTORE PUSH LOC
059174,000527: 27,3175           00033                                    TFFALFA                               #  ALFA  E:(26-NR) M:(24-NR)
059175,000528: 27,3176           77657                           SL*                                            
059176,000529: 27,3177           20201                                    0,1                                   #  X1=-NR
059177,000530: 27,3200           00043                           STORE    TFFX                                  #  X
059178,000531: 27,3201           41234                           RTB      DMP                                   
059179,000532: 27,3202           57325                                    T(X)                                  #  POLY
059180,000533:                                                                                                  #  ZSQ FROM PDL+2  E:(-26) M:(-24)
059181,000534: 27,3203           44302                           SR2      BDSU                                  #  2 ZSQ T(X)  E:(-29) M:(-27)
059182,000535: 27,3204           00023                                    RTERM                                 #  RTERM  E:(-29) M:(-27)
059183,000536: 27,3205           41215                           DAD      DMP                                   
059184,000537: 27,3206           00015                                    RMAG1                                 #  E:(-29) M:(-27)
059185,000538:                                                                                                  #  Z FROM PDL+0  E:(-13) M:(-12)
059186,000539: 27,3207           51042                           SR3      BPL                                   #  TFF SQRT(MU)  E:(-45) M:(-42)
059187,000540: 27,3210           57231                                    ENDTFF                                #  (NO PUSH UP)
059188,000541: 27,3211           75206                           PUSH     SIGN                                  #  TFF SQRT(MU) TO PDL+0
059189,000542: 27,3212           00017                                    TFFQ1                                 #  Q1 FOR GONEPAST TEST
059190,000543: 27,3213           71244                           BPL      DLOAD                                 #  GONE PAST ?
059191,000544: 27,3214           57235                                    NEGTFF                                #  YES. TFF < 0.
059192,000545: 27,3215           00027                                    TFF1/ALF                              #  1/ALFA  E:(-22-2NA) M:(-20-2NA)
059193,000546: 27,3216           51076                           DCOMP    BPL                                   #  ALFA > 0 ?
059194,000547: 27,3217           57235                                    NEGTFF                                #  NO. TFF IS NEGATIVE.
059195,000548: 
059196,000549:                                                                                                  #  CORRECT FOR ORBITAL PERIOD.
059197,000550: 
059198,000551: 27,3220           77676                           DCOMP                                          #  YES.  CORRECT FOR ORB PERIOD.
059199,000552: 27,3221           56205                           DMP      DDV                                   
059200,000553: 27,3222           17347                                    PI/16                                 #  2 PI (-5)
059201,000554: 27,3223           00031                                    TFFRTALF                              #  SQRT(ALFA)  E:(10+NA) M:(9+NA)
059202,000555: 27,3224           53657                           SL*      SL*                                   
059203,000556: 27,3225           57602                                    0          -4,2                       #  X2=-NA
059204,000557: 27,3226           57602                                    0          -4,2                       
059205,000558: 27,3227           43257                           SL*      DAD                                   
059206,000559: 27,3230           57576                                    0,2                                   
059207,000560:                                                                                                  #  TFF SQRT(MU) FROM PDL+0       E:(-45) M:(-42)
059208,000561: 27,3231           40005        ENDTFF             DMP      BOV                                   #  TFF SQRT(MU) IN MPAC          E:(-45) M:(-42)
059209,000562: 27,3232           00037                                    TFF/RTMU                              #  E:(17) M:(14)
059210,000563: 27,3233           57241                                    MAXTFF                                #  SET POSMAX IF OVFL.
059211,000564: 
059212,000565: 27,3234           77616        DUMPTFF2           RVQ                                            #  RETURN TFF (-28) CS IN MPAC.
059213,000566: 

Page 1353

059215,000568: 27,3235           77745        NEGTFF             DLOAD                                          
059216,000569:                                                                                                  #  TFF SQRT(MU) FROM PDL+0, NEGATIVE.
059217,000570: 27,3236           77650                           GOTO                                           
059218,000571: 27,3237           57231                                    ENDTFF                                
059219,000572: 
059220,000573: 27,3240           77745        MAXTFF1            DLOAD                                          #  RESET PDL
059221,000574: 27,3241           43545        MAXTFF             DLOAD    RVQ                                   
059222,000575: 27,3242           17363                                    NEARONE                               
059223,000576: 
059224,000577:                                                                                                  #  TIME OF FLIGHT ELLIPSE WHEN DEL (ECCENTRIC ANOM) GEQ 90 AND LEQ -90.
059225,000578: 
059226,000579:                                                                                                  #  NUM FROM TFFX.        E:(-16) OR (-29)
059227,000580:                                                                                                  #                        M:(-15) OR (-27)
059228,000581: 27,3243           77712        TFFELL             SL2                                            #  NUM  E:(-14) OR (-27)  M:(-13) OR (-25)
059229,000582: 27,3244           41465                           BDDV     PUSH                                  #  TEMP SAVE D/N IN PDL+0
059230,000583:                                                                                                  #  DEN FROM PDL+0  E:(-3)/( 16)  M:(-3)/(-15)
059231,000584:                                                                                                  #  N/D TO PDL+0  E:(11) M:(10)
059232,000585: 27,3245           45345        TFFEL1             DLOAD    DSU                                   #  (ENTER WITH D/N=0 IN PDL+0)
059233,000586: 27,3246           00045                                    TFFTEM                                #  Q2  E:(-16) M:(-15)
059234,000587: 27,3247           00017                                    TFFQ1                                 #  Q1  E:(-16) M:(-15)
059235,000588: 27,3250           14013                           STODL    TFFDELQ                               #  Q2-Q1  E:(-16) M:(-15)
059236,000589:                                                                                                  #  D/N FROM PDL+0
059237,000590: 27,3251           77626                           STADR                                          
059238,000591: 27,3252           77732                           STORE    TFFTEM                                #  D/N  E:(11) M:(10)
059239,000592: 27,3253           53605                           DMP      SL*                                   
059240,000593: 27,3254           00027                                    TFF1/ALF                              #  1/ALFA  E:(-22-2NA) M:(-20-2NA)
059241,000594: 27,3255           57576                                    0,2                                   #  1/ALFA Z  E:(-11-NA) M:(-10-NA)
059242,000595: 27,3256           41206                           PUSH     DMP                                   #  TO PDL+0
059243,000596: 27,3257           00045                                    TFFTEM                                #  1/Z  E:(11) M:(10)
059244,000597: 27,3260           41057                           SL*      BOVB                                  
059245,000598: 27,3261           57576                                    0,2                                   #  X2= -NA
059246,000599: 27,3262           45707                                    SIGNMPAC                              #  IN CASE X= 1.0, CONTINUE
059247,000600: 27,3263           00043                           STORE    TFFX                                  #  X=1/ALFA ZSQ
059248,000601: 27,3264           41234                           RTB      DMP                                   
059249,000602: 27,3265           57325                                    T(X)                                  #  POLY
059250,000603: 27,3266           00043                                    TFFX                                  
059251,000604: 27,3267           45242                           SR3      DSU                                   
059252,000605: 27,3270           17355                                    DP2(-3)                               
059253,000606: 27,3271           41405                           DMP      PUSH                                  #  2(X T(X)-1) /Z ALFA   E:(-15-NA)
059254,000607:                                                                                                  #                        M:(-14-NA)
059255,000608:                                                                                                  #  1/ALFA Z FROM PDL+0   E:(-11-NA)
059256,000609:                                                                                                  #                        M:(-10-NA)
059257,000610: 27,3272           41345                           DLOAD    DMP                                   #  GET SIGN FOR SDELF
059258,000611: 27,3273           00045                                    TFFTEM                                #  1/Z  E:(11) M:(10)
059259,000612: 27,3274           00015                                    RMAG1                                 #  E:(-29) M:(-27)
059260,000613: 27,3275           43312                           SL2      DAD                                   
059261,000614: 27,3276           00017                                    TFFQ1                                 #  Q1  E:(-16) M:(-15)
059262,000615: 27,3277           14045                           STODL    TFFTEM                                #  (Q1+R 1/Z) =SGN OF SDELF  E:(-16) M:(-15
059263,000616: 27,3300           00035                                    TFFNP                                 #  LC P  E:(-38+2NR) M:(-36+2NR)
059264,000617: 27,3301           53605                           DMP      SL*                                   #  CALC FOR ARG FOR TFF/TRIG.

Page 1354

059266,000619: 27,3302           00027                                    TFF1/ALF                              #  1/ALFA  E:(-22-2NA) M:(-20-2NA)
059267,000620: 27,3303           57575                                    1,2                                   #  X2=-NA
059268,000621: 27,3304           53765                           SIGN     SL*                                   
059269,000622: 27,3305           00045                                    TFFTEM                                #  AFFIX SIGN FOR SDELF
059270,000623: 27,3306           57576                                    0,2                                   
059271,000624: 27,3307           14045                           STODL    TFFTEM                                #  P/ALFA  E:(-59+2NR) M:(-55+2NR)
059272,000625:                                                                                                  #  (ARG FOR USE IN TFF/TRIG)
059273,000626: 27,3310           00027                                    TFF1/ALF                              #  1/ALFA  E:(-22-2NA) M:(-20-2NA)
059274,000627: 27,3311           41366                           SQRT     DMP                                   
059275,000628: 27,3312           17347                                    PI/16                                 #  PI (-4)
059276,000629: 27,3313           77615                           DAD                                            
059277,000630:                                                                                                  #  2(XT(X)-1)/Z ALFA FROM PDL    E:(-15-NA)
059278,000631:                                                                                                  #                                M:(-14-NA)
059279,000632: 27,3314           45257                           SL*      DSU                                   
059280,000633: 27,3315           57577                                    0          -1,2                       
059281,000634: 27,3316           00013                                    TFFDELQ                               #  Q2-Q1  E:(-16) M:(-15)
059282,000635: 27,3317           53605                           DMP      SL*                                   
059283,000636: 27,3320           00027                                    TFF1/ALF                              #  1/ALFA  E:(-22-2NA) M:(-20-2NA)
059284,000637: 27,3321           57601                                    0          -3,2                       
059285,000638: 27,3322           52057                           SL*      GOTO                                  
059286,000639: 27,3323           57602                                    0          -4,2                       
059287,000640: 27,3324           57231                                    ENDTFF                                #  TFF SQRT(MU) IN MPAC E:(-45) M:(-42)
059288,000641: 

Page 1355

059290,000643:                                                                                                  #  PROGRAM NAME:  T(X)                           DATE:  01.17.67
059291,000644:                                                                                                  #  MOD NO:  0                                    LOG SECTION:  TIME OF FREE FALL
059292,000645:                                                                                                  #  MOD BY:  RR BAIRNSFATHER
059293,000646: 
059294,000647:                                                                                                  #  FUNCTIONAL DESCRIPTION:  THE POLYNOMIAL T(X) IS USED BY TIME OF FLIGHT SUBROUTINES CALCTFF AND
059295,000648:                                                                                                  #        CALCTPER TO APPROXIMATE THE SERIES
059296,000649:                                                                                                  #                           2     3
059297,000650:                                                                                                  #                1/3 -X/5 +X /7 -X /9 ...
059298,000651: 
059299,000652:                                                                                                  #        WHERE   X = ALFA Z Z            IF ALFA Z Z LEQ 1
059300,000653:                                                                                                  #                X = 1/(ALFA Z Z)        IF ALFA Z Z G 1
059301,000654: 
059302,000655:                                                                                                  #        ALSO    X IS NEG FOR HYPERBOLIC ORBITS
059303,000656:                                                                                                  #                X = 0 FOR PARABOLIC ORBITS
059304,000657:                                                                                                  #                X IS POSITIVE FOR ELLIPTIC ORBITS
059305,000658: 
059306,000659:                                                                                                  #        FOR FLIGHT 278, THE POLYNOMIAL T(X) IS FITTED OVER THE RANGE (0,+1) AND HAS A MAXIMUM
059307,000660:                                                                                                  #        DEVIATION FROM THE SERIES OF 2 E-5  (T(X) IS A CHEBYCHEV TYPE FIT AND WAS OBTAINED USING
059308,000661:                                                                                                  #        MAC PROGRAM AUTCURFIT294RRB AND IS VALID TO THE SAME TOLERANCE OVER THE RANGE (-.08,+1).)
059309,000662: 
059310,000663:                                                                                                  #  CALLING SEQUENCE:     RTB
059311,000664:                                                                                                  #                                T(X)
059312,000665:                                                                                                  #        C(MPAC) = X
059313,000666: 
059314,000667:                                                                                                  #  SUBROUTINES CALLED:  NONE
059315,000668: 
059316,000669:                                                                                                  #  NORMAL EXIT MODE:  TC DANZIG
059317,000670: 
059318,000671:                                                                                                  #  ALARMS:  NONE
059319,000672: 
059320,000673:                                                                                                  #  OUTPUT:  C(MPAC) = T(X)
059321,000674: 
059322,000675:                                                                                                  #  ERASABLE INITIALIZATION REQUIRED:
059323,000676:                                                                                                  #        C(MPAC) = X
059324,000677: 
059325,000678:                                                                                                  #  DEBRIS:  NONE
059326,000679: 
059327,000680: 27,3325           07171        T(X)               TC       POLY                                  
059328,000681: 27,3326           00004                           DEC      4          B-14                       #  N-1
059329,000682: 27,3327           12525 12525                     2DEC     3.333333333 E-1                        
059330,000683: 27,3331           71463 57703                     2DEC*    -1.999819135 E-1*                       
059331,000684: 27,3333           04423 17645                     2DEC*    1.418148467 E-1*                       
059332,000685: 27,3335           74604 43667                     2DEC*    -1.01310997 E-1*                       
059333,000686: 27,3337           01626 37256                     2DEC*    5.609004986 E-2*                       
059334,000687: 27,3341           77404 52071                     2DEC*    -1.536156925 E-2*                       
059335,000688: 
059336,000689: 27,3343           06030        ENDT(X)            TC       DANZIG                                
059337,000690: 
059338,000691: 27,3344  27,3343               TCDANZIG           =        ENDT(X)                               
059339,000692: 

Page 1356

059341,000694:                                                                                                  #  TFF CONSTANTS
059342,000695: 
059343,000696: 32,3755                                           BANK     32                                    
059344,000697: 
059345,000698: 27,2000                                           SETLOC   TOF-FF1                               
059346,000699: 27,2000                                           BANK                                           
059347,000700: 
059348,000701:                                                                                                  #                                                NOTE _  NOTE _ ADJUSTED MUE FOR NEAR EARTH TRAJ.
059349,000702:                                                                                                  # MUE            =       3.990 815 471 E10               M CUBE/CS SQ
059350,000703:                                                                                                  # RTMUE          =       1.997702549 E5 B-18*     MODIFIED EARTH MU
059351,000704: 
059352,000705: 27,3344           24775 30424  1/RTMU             2DEC*    .5005750271 E-5        B17*            #  MODIFIED EARTH MU
059353,000706: 
059354,000707:                                                                                                  #                                                NOTE _  NOTE _ ADJUSTED MUE FOR NEAR EARTH TRAJ.
059355,000708:                                                                                                  # MUM            =       4.902 778 E8            M CUBE/CS SQ
059356,000709:                                                                                                  # RTMUM          2DEC*   2.21422176 E4 B-18*
059357,000710: 27,3346           06220 37553  PI/16              2DEC     3.141592653 B-4                        
059358,000711: 27,3350           37777 37700  LIM(-22)           2OCT     3777737700                            #  1.0 -B(-22)
059359,000712: 27,3352           00000 00100  DP(-22)            2OCT     0000000100                            #  B(-22)
059360,000713: 27,3354           04000 00000  DP2(-3)            2DEC     1          B-3                        
059361,000714: 27,3356           02000 00000  DP2(-4)            2DEC     1          B-4                        #  1/16
059362,000715: 
059363,000716:                                                                                                  #  RPAD1         2DEC    6373338 B-29            M (-29) = 20909901.57 FT
059364,000717: 27,3360  22,3310               RPAD1              =        RPAD                                  
059365,000718: 
059366,000719: 27,3360           00305 11205  R300K              2DEC     6464778    B-29                       #  (-29) M
059367,000720: 27,3362           37777 37777  NEARONE            2DEC     .999999999                            
059368,000721: 27,3364  26,3331               TFFZEROS           EQUALS   HI6ZEROS                              
059369,000722: 27,3364  26,3321               TFF1/4             EQUALS   HIDP1/4                               
059370,000723: 
059371,000724: 
059372,000725: 

End of include-file TIME_OF_FREE_FALL.agc.  Parent file is MAIN.agc