Source Code

These source-code files were from the printout at the MIT Museum, with many thanks to Deborah Douglas, the Museum's Curator of Science and Technology, for releasing it to us. The printout was digitally photographed by Paul Fjeld. A team of volunteers transcribed the source code manually from these images or, where appropriate, modified already-transcribed but similar source Colossus 249 (Apollo 9) source code to agree with the images from the printout. 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:

	GAP:  ASSEMBLE REVISION 055 OF AGC PROGRAM COMANCHE BY NASA 2021113-051
	10:28 APR.  1,1969
Note that the date is the date of the printout, not the date of the program revision.

059771,000002:                                                                                                  ## Copyright:   Public domain.
059772,000003:                                                                                                  ## Filename:    TIME_OF_FREE_FALL.agc
059773,000004:                                                                                                  ## Purpose:     Part of the source code for Colossus 2A, AKA Comanche 055.
059774,000005:                                                                                                  ##              It is part of the source code for the Command Module's (CM)
059775,000006:                                                                                                  ##              Apollo Guidance Computer (AGC), for Apollo 11.
059776,000007:                                                                                                  ## Assembler:   yaYUL
059777,000008:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
059778,000009:                                                                                                  ## Website:     www.ibiblio.org/apollo.
059779,000010:                                                                                                  ## Pages:       1373-1388
059780,000011:                                                                                                  ## Mod history: 2009-05-10 SN   (Sergio Navarro). Started adapting
059781,000012:                                                                                                  ##                              from the Colossus249/ file of the same
059782,000013:                                                                                                  ##                              name, using Comanche055 page images.
059783,000014:                                                                                                  ##              2010-08-29 JL   Fixed indentation, whitespace.
059784,000015:                                                                                                  ##              2016-12-22 RSB  Proofed comment text using octopus/ProoferComments
059785,000016:                                                                                                  ##                              and corrected the errors found.
059786,000017:                                                                                                  ##              2017-01-20 RSB  Fixed comment-text errors noted while diff'ing
059787,000018:                                                                                                  ##                              vs Colossus 249.
059788,000019:                                                                                                  ##              2017-03-14 RSB  Comment-text fixes noted in proofing Luminary 116.
059789,000020: 
059790,000021:                                                                                                  ## This source code has been transcribed or otherwise adapted from digitized
059791,000022:                                                                                                  ## images of a hardcopy from the MIT Museum.  The digitization was performed
059792,000023:                                                                                                  ## by Paul Fjeld, and arranged for by Deborah Douglas of the Museum.  Many
059793,000024:                                                                                                  ## thanks to both.  The images (with suitable reduction in storage size and
059794,000025:                                                                                                  ## consequent reduction in image quality as well) are available online at
059795,000026:                                                                                                  ## www.ibiblio.org/apollo.  If for some reason you find that the images are
059796,000027:                                                                                                  ## illegible, contact me at info@sandroid.org about getting access to the
059797,000028:                                                                                                  ## (much) higher-quality images which Paul actually created.
059798,000029:                                                                                                  ##
059799,000030:                                                                                                  ## Notations on the hardcopy document read, in part:
059800,000031:                                                                                                  ##
059801,000032:                                                                                                  ##    Assemble revision 055 of AGC program Comanche by NASA
059802,000033:                                                                                                  ##    2021113-051.  10:28 APR. 1, 1969 
059803,000034:                                                                                                  ##
059804,000035:                                                                                                  ##    This AGC program shall also be referred to as
059805,000036:                                                                                                  ##            Colossus 2A
059806,000037: 

Page 1373

059808,000039:                                                                                                  #  THE TFF SUBROUTINES MAY BE USED IN EITHER EARTH OR MOON CENTERED COORDINATES.  THE TFF ROUTINES NEVER
059809,000040:                                                                                                  #  KNOW WHICH ORIGIN APPLIES.  IT IS THE USER WHO KNOWS, AND WHO SUPPLIES RONE, VONE AND 1/SQRT(MU) AT THE
059810,000041:                                                                                                  #  APPROPRIATE SCALE LEVEL FOR THE PROPER PRIMARY BODY.
059811,000042: 
059812,000043:                                                                                                  #        EARTH ORIGIN    POSITION        -29     METERS
059813,000044:                                                                                                  #                        VELOCITY        -7      METERS/CENTISECOND
059814,000045:                                                                                                  #                        1/SQRT(MU)      +17     SQRT(CS SQ/METERS CUBED)
059815,000046: 
059816,000047:                                                                                                  #        MOON ORIGIN     POSITION        -27     METERS
059817,000048:                                                                                                  #                        VELOCITY        -5      METERS/CENTISECONDS
059818,000049:                                                                                                  #                        1/SQRT(MU)      +14     SQRT(CS SQ/METERS CUBED)
059819,000050: 
059820,000051:                                                                                                  #  ALL DATA PROVIDED TO AND RECEIVED FROM ANY TFF SUBROUTINE WILL BE AT ONE OF THE LEVELS ABOVE.  IN ALL CASES,
059821,000052:                                                                                                  #  THE FREE FALL TIME IS RETURNED IN CENTISECONDS AT (-28).  PROGRAM TFF/CONIC WILL GENERATE VONE/RTMU AND
059822,000053:                                                                                                  #  LEAVE IT IN VONE' AT (+10) IF EARTH ORIGIN AND (+9) IF MOON ORIGIN.
059823,000054: 
059824,000055:                                                                                                  #  THE USER MUST STORE THE STATE VECTOR IN RONE, VONE  AND MU IN THE FORM 1/SQRT(MU) IN TFF/RTMU
059825,000056:                                                                                                  #  AT THE PROPER SCALE BEFORE CALLING TFF/CONIC.  SINCE RONE, VONE ARE IN THE EXTENDED VERB STORAGE AREA,
059826,000057:                                                                                                  #  THE USER MUST ALSO LOCK OUT THE EXTENDED VERBS, AND RELEASE THEM WHEN FINISHED.
059827,000058: 
059828,000059:                                                                                                  #  PROGRAMS CALC/TFF AND CALC/TPER ASSUME THAT THE TERMINAL RADIUS IS LESS THAN THE PRESENT
059829,000060:                                                                                                  #  RADIUS.  THIS RESTRICTION CAN BE REMOVED BY A 15 W CODING CHANGE, BUT AT PRESENT IT IS NOT DEEMED NECESSARY.
059830,000061: 
059831,000062:                                                                                                  #  THE FOLLOWING ERASABLE QUANTITIES ARE USED BY THE TFF ROUTINES, AND ARE LOCATED IN THE PUSH LIST.
059832,000063: 
059833,000064:                                                                                                  #                                        BELOW   E:  IS USED FOR EARTH ORIGIN SCALE
059834,000065:                                                                                                  #                                                M:  IS USED FOR MOON  ORIGIN SCALE
059835,000066: 
059836,000067:                                                                                                  # TFFSW          =       119D            BIT1    0 = CALCTFF             1 = CALCTPER
059837,000068: 23,3772                        TFFDELQ            =        10D                                   #        Q2-Q1                   E: (-16)  M: (-15)
059838,000069: 23,3772                        RMAG1              =        12D                                   #        ABVAL(RN)  M            E: (-29)  M: (-27)
059839,000070:                                                                                                  # RPER           =       14D             PERIGEE RADIUS  M       E: (-29)  M: (-27)
059840,000071: 23,3772                        TFFQ1              =        14D                                   #        R.V / SQRT(MUE)         E: (-16)  M: (-15)
059841,000072:                                                                                                  # SDELF/2                                SIN(THETA) /2
059842,000073: 23,3772                        CDELF/2            =        14D                                   #        COS(THETA) /2
059843,000074:                                                                                                  # RAPO           =       16D             APOGEE RADIUS  M        E: (-29)  M: (-27)
059844,000075: 23,3772                        NRTERM             =        16D                                   #        TERMINAL RADIUS  M      E: (-29+NR)
059845,000076:                                                                                                  #                                          M: (-27+NR)
059846,000077: 23,3772                        RTERM              =        18D                                   #        TERMINAL RADIUS  M      E: (-29)  M: (-27)
059847,000078: 23,3772                        TFFVSQ             =        20D                                   #        -(V SQUARED/MU)  1/M    E: (20)   M: (18)
059848,000079: 23,3772                        TFF1/ALF           =        22D                                   #        SEMI MAJ AXIS  M        E: (-22-2 NA)
059849,000080:                                                                                                  #                                          M: (-20-2 NA)
059850,000081: 23,3772                        TFFRTALF           =        24D                                   #        SQRT(ALFA)              E:(10+NA) M: (9+NA)
059851,000082: 23,3772                        TFFALFA            =        26D                                   #        ALFA  1/M               E:(26-NR) M: (24-NR)
059852,000083: 23,3772                        TFFNP              =        28D                                   #        SEMI LATUS RECTUM  M    E: (-38+2 NR)
059853,000084:                                                                                                  #                                          M: (-36+2 NR)
059854,000085: 23,3772                        TFF/RTMU           =        30D                                   #        1/SQRT(MU)              E: (17)   M: (14)
059855,000086: 23,3772                        NRMAG              =        32D                                   #        PRESENT RADIUS  M       E: (-29+NR)
059856,000087:                                                                                                  #                                          M: (-27+NR)
059857,000088: 23,3772                        TFFX               =        34D                                   
059858,000089: 23,3772                        TFFTEM             =        36D                                   #        TEMPORARY

Page 1374

059860,000091:                                                                                                  #                REGISTERS S1, S2 ARE UNTOUCHED BY ANY TFF SUBROUTINE
059861,000092:                                                                                                  #                INDEX REGISTERS X1, X2 ARE USED BY ALL TFF SUBROUTINES.  THEY ARE ESTAB-
059862,000093:                                                                                                  #                LISHED IN TFF/CONIC AND MUST BE PRESERVED BETWEEN CALLS TO SUBSEQUENT
059863,000094:                                                                                                  #                SUBROUTINES.
059864,000095:                                                                                                  #                -NR                             C(X1) = NORM COUNT OF RMAG
059865,000096:                                                                                                  #                -NA                             C(X2) = NORM COUNT OF SQRT(ABS(ALFA))
059866,000097: 

Page 1375

059868,000099:                                                                                                  #  SUBROUTINE NAME:  TFFCONIC                    DATE:  01.29.67
059869,000100:                                                                                                  #  MOD NO:  0                                    LOG SECTION:  TIME OF FREE FALL
059870,000101:                                                                                                  #  MOD BY:  RR BAIRNSFATHER
059871,000102:                                                                                                  #  MOD NO:  1    MOD BY:  RR BAIRNSFATHER        DATE: 11 APR 67
059872,000103:                                                                                                  #  MOD NO:  2    MOD BY:  RR BAIRNSFATHER        DATE: 21 NOV 67         ADD MOON MU.
059873,000104:                                                                                                  #  MOD NO:  3    MOD BY:  RR BAIRNSFATHER        DATE: 21 MAR 68         ACCEPT DIFFERENT EARTH/MOON SCALES
059874,000105: 
059875,000106:                                                                                                  #  FUNCTIONAL DESCRIPTION:  THIS SUBROUTINE IS CALLED TO COMPUTE THOSE CONIC PARAMETERS REQUIRED BY THE TFF
059876,000107:                                                                                                  #        SUBROUTINES AND TO ESTABLISH THEM IN THE PUSH LIST AREA.  THE PARAMETERS ARE LISTED UNDER OUTPUT.
059877,000108:                                                                                                  #        THE EQUATIONS ARE
059878,000109:                                                                                                  #                -   -  -
059879,000110:                                                                                                  #                H = RN*VN                       ANGULAR MOMENTUM
059880,000111:                                                                                                  #                      - -
059881,000112:                                                                                                  #                LCP = H.H / MU                  SEMI LATUS RECTUM
059882,000113:                                                                                                  #                              -  -
059883,000114:                                                                                                  #                ALFA = 2/RN - VN.VN / MU        RECIPROCAL SEMI MAJ AXIS, SIGNED
059884,000115: 
059885,000116:                                                                                                  #        AND ALFA IS POS FOR ELLIPTIC ORBITS
059886,000117:                                                                                                  #                      0 FOR PARABOLIC ORBITS
059887,000118:                                                                                                  #                    NEG FOR HYPERBOLIC ORBITS.
059888,000119:                                                                                                  #        SUBROUTINE ALSO COMPUTES AND SAVES RMAG.
059889,000120: 
059890,000121:                                                                                                  #  CALLING SEQUENCE:
059891,000122:                                                                                                  #        TFFCONIC EXPECTS CALLER TO ENTER WITH CORRECT GRAVITATIONAL CONSTANT IN MPAC, IN THE FORM
059892,000123:                                                                                                  #        1/SQRT(MU).  PROGRAM WILL SAVE IN TFF/RTMU.  THE SCALE IS DETERMINED BY WHETHER EARTH OR MOON
059893,000124:                                                                                                  #        ORIGIN IS USED.  THE CALLER MUST LOCK OUT THE EXTENDED VERBS BEFORE PROVIDING STATE VECTOR IN RONE,
059894,000125:                                                                                                  #        VONE AT PROPER SCALE.  THE EXTENDED VERBS MUST BE RESTORED WHEN THE CALLER IS FINISHED USING THE
059895,000126:                                                                                                  #        TFF ROUTINES.
059896,000127: 
059897,000128:                                                                                                  #        ENTRY POINT TFFCONMU EXPECTS THAT TFF/RTMU IS ALREADY LOADED.
059898,000129: 
059899,000130:                                                                                                  #        TO SPECIFY MU:  DLOAD   CALL            IF MU ALREADY STORED:           CALL
059900,000131:                                                                                                  #                                YOURMU          1/RTMU E:(17) M:(14)                    TFFCONMU
059901,000132:                                                                                                  #                                TFFCONIC
059902,000133:                                                                                                  #        PUSHLOC = PDL+0, ARBITRARY IF LEQ 18D
059903,000134: 
059904,000135:                                                                                                  #  SUBROUTINES CALLED:  NONE
059905,000136: 
059906,000137:                                                                                                  #  NORMAL EXIT MODES:  RVQ
059907,000138: 
059908,000139:                                                                                                  #  ALARMS:  NONE
059909,000140: 
059910,000141:                                                                                                  #  OUTPUT:       THE FOLLOWING ARE STORED IN THE PUSH LIST AREA.
059911,000142:                                                                                                  #                RMAG1           E:(-29) M:(-27)         M  RN, PRESENT RADIUS LENGTH.
059912,000143:                                                                                                  #                NRMAG           E:(-29+NR)              M  RMAG, NORMALIZED
059913,000144:                                                                                                  #                                M:(-27+NR)
059914,000145:                                                                                                  #                X1                                      -NR, NORM COUNT
059915,000146:                                                                                                  #                TFFNP           E:(-38+2NR)             M  LCP, SEMI LATUS RECTUM, WEIGHTED BY NR.  FOR VGAMCALC
059916,000147:                                                                                                  #                                M:(-36+2NR)
059917,000148:                                                                                                  #                TFF/RTMU        E:(17) M:(14)           1/SQRT(MU)
059918,000149:                                                                                                  #                TFFVSQ          E:(20) M:(18)           1/M  -(V SQ/MU):  PRESENT VELOCITY, NORMLIZED.  FOR VGAMCALC
059919,000150:                                                                                                  #                TFFALFA         E:(26-NR)               1/M  ALFA, WEIGHTED BY NR
059920,000151:                                                                                                  #                                M:(24-NR)
059921,000152:                                                                                                  #                TFFRTALF        E:(10+NA)               SQRT(ALFA), NORMALIZED
059922,000153:                                                                                                  #                                M:(9+NA)

Page 1376

059924,000155:                                                                                                  #                X2                                      -NA, NORM COUNT
059925,000156:                                                                                                  #                TFF1/ALF        E:(-22-2NA)             SIGNED SEMI MAJ AXIS, WEIGHTED BY NA
059926,000157:                                                                                                  #                                M:(-20-2NA)
059927,000158:                                                                                                  #                PUSHLOC AT PDL+0
059928,000159: 
059929,000160:                                                                                                  #        THE FOLLOWING IS STORED IN GENERAL ERASABLE
059930,000161:                                                                                                  #                VONE'           E:(10) M:(9)            V/RT(MU), NORMALIZED VELOCITY
059931,000162: 
059932,000163:                                                                                                  #  ERASABLE INITIALIZATION REQUIRED:
059933,000164:                                                                                                  #                RONE            E:(-29) M:(-27)         M  STATE VECTOR         LEFT BY CALLER
059934,000165:                                                                                                  #                VONE            E:(-7) M:(-5)           M/CS  STATE VECTOR      LEFT BY CALLER
059935,000166:                                                                                                  #                TFF/RTMU        E:(17) M:(14)           1/RT(CS SQ/M CUBE)      IF ENTER VIA TFFCONMU.
059936,000167: 
059937,000168:                                                                                                  #  DEBRIS:       QPRET,  PDL+0 ... PDL+3
059938,000169: 
059939,000170: 33,3776                                           BANK     33                                    
059940,000171: 27,2000                                           SETLOC   TOF-FF                                
059941,000172: 27,2000                                           BANK                                           
059942,000173: 
059943,000174: 27,2757                                           COUNT*   $$/TFF                                
059944,000175: 
059945,000176: 27,2757           00037        TFFCONIC           STORE    TFF/RTMU                              #  1/SQRT(MU)    E:(17) M:(14)
059946,000177: 
059947,000178: 27,2760           53575        TFFCONMU           VLOAD    UNIT                                  #  COME HERE WITH TFFRTMU LOADED.
059948,000179: 27,2761           02327                                    RONE                                  #  SAVED RN.  M  E:(-29) M:(-27)
059949,000180: 27,2762           77725                           PDDL                                           #  UR/2 TO PDL+0, +5
059950,000181: 27,2763           00045                                    36D                                   #  MAGNITUDE
059951,000182: 27,2764           00015                           STORE    RMAG1                                 #  M  E:(-29) M:(-27)
059952,000183: 
059953,000184: 27,2765           77701                           NORM                                           
059954,000185: 27,2766           00047                                    X1                                    #  -NR
059955,000186: 27,2767           24041                           STOVL    NRMAG                                 #  RMAG  M  E:(-29+NR) M:(-27+NR)
059956,000187: 27,2770           02335                                    VONE                                  #  SAVED VN.  M/CS  E:(-7) M:(-5)
059957,000188: 27,2771           77761                           VXSC                                           
059958,000189: 27,2772           00037                                    TFF/RTMU                              #  E:(17) M:(14)
059959,000190: 27,2773           02372                           STORE    VONE'                                 #  VN/SQRT(MU)  E:(10) M:(9)
059960,000191: 
059961,000192: 27,2774           47361                           VXSC     VXV                                   
059962,000193: 27,2775           00041                                    NRMAG                                 #  E:(-29+NR) M:(-27+NR)
059963,000194:                                                                                                  #  UR/2 FROM PDL
059964,000195: 27,2776           47572                           VSL1     VSQ                                   #  BEFORE:  E:(-19+NR) M:(-18+NR)
059965,000196: 27,2777           14035                           STODL    TFFNP                                 #  LC P  M  E:(-38+2NR) M:(-36+2NR)
059966,000197:                                                                                                  #  SAVE ALSO FOR VGAMCALC
059967,000198: 27,3000           15325                                    TFF1/4                                
059968,000199: 27,3001           63271                           DDV      PDVL                                  #  (2/RMAG)  1/M  E:(26-NR) M:(24-NR)
059969,000200: 27,3002           00041                                    NRMAG                                 #  RMAG  M  E:(-29+NR) M:(-27+NR)
059970,000201: 27,3003           02372                                    VONE'                                 #  SAVED VN.  E:(10) M:(9)
059971,000202: 27,3004           57436                           VSQ      DCOMP                                 #  KEEP MPAC+2 HONEST FOR SQRT.
059972,000203: 27,3005           00025                           STORE    TFFVSQ                                #  -(V SQ/MU)  E:(20) M:(18)
059973,000204:                                                                                                  #  SAVE FOR VGAMCALC
059974,000205: 27,3006           43257                           SR*      DAD                                   

Page 1377

059976,000207: 27,3007           20573                                    0          -6,1                       #  GET -VSQ/MU  E:(26-NR) M:(24-NR)
059977,000208: 27,3010           77626                           STADR                                          
059978,000209:                                                                                                  #  2/RMAG  FROM PDL+2
059979,000210: 27,3011           77744                           STORE    TFFALFA                               #  ALFA  1/M  E:(26-NR) M:(24-NR)
059980,000211: 27,3012           41457                           SL*      PUSH                                  #  TEMP SAVE ALFA  E:(20) M:(18)
059981,000212: 27,3013           20173                                    0          -6,1                       
059982,000213: 27,3014           75446                           ABS      SQRT                                  #  E:(10) M:(9)
059983,000214: 27,3015           77701                           NORM                                           
059984,000215: 27,3016           00050                                    X2                                    #  X2 = -NA
059985,000216: 27,3017           00031                           STORE    TFFRTALF                              #  SQRT( ABS(ALFA) )  E:(10+NA) M:(9+NA)
059986,000217: 27,3020           75316                           DSQ      SIGN                                  #  NOT SO ACCURATE, BUT OK
059987,000218:                                                                                                  #  ALFA FROM PDL+2  E:(20) M:(18)
059988,000219: 27,3021           55254                           BZE      BDDV                                  #  SET 1/ALFA =0, TO SHOW SMALL ALFA
059989,000220: 27,3022           57024                                    +2                                    
059990,000221: 27,3023           15325                                    TFF1/4                                
059991,000222: 27,3024           00027                 +2        STORE    TFF1/ALF                              #  1/ALFA  E:(-22-2NA) M:(-20-2NA)
059992,000223: 27,3025           77616        DUMPCNIC           RVQ                                            
059993,000224:                                                                                                  #                        39 W

Page 1378

059995,000226:                                                                                                  #  SUBROUTINE NAME:  TFFRP/RA                    DATE: 01.17.67
059996,000227:                                                                                                  #  MOD NO:  0                                    LOG SECTION:  TIME OF FREE FALL
059997,000228:                                                                                                  #  MOD BY:  RR BAIRNSFATHER
059998,000229:                                                                                                  #  MOD NO:  1    MOD BY:  RR BAIRNSFATHER        DATE: 11 APR 67
059999,000230:                                                                                                  #  MOD NO:  2    MOD BY:  RR BAIRNSFATHER        DATE: 21 MAR 68         ACCEPT DIFFERENT EARTH/MOON SCALES
060000,000231:                                                                                                  #                                                                        ALSO IMPROVE ACCURACY OF RAPO.
060001,000232: 
060002,000233:                                                                                                  #  FUNCTIONAL DESCRIPTION:  USED BY CALCTPER AND TFF DISPLAYS TO CALCULATE PERIGEE RADIUS AND ALSO
060003,000234:                                                                                                  #        APOGEE RADIUS FOR A GENERAL CONIC.
060004,000235:                                                                                                  #        PROGRAM GIVES PERIGEE RADIUS AS         APOGEE RADIUS IS GIVEN BY
060005,000236:                                                                                                  #                RP = P/(1+E)                            RA = (1+E) / ALFA
060006,000237:                                                                                                  #        WHERE    2
060007,000238:                                                                                                  #                E  = 1 - P ALFA
060008,000239:                                                                                                  #        IF RA IS NEGATIVE OR SHOWS DIVIDE OVERFLOW, THEN RA = POSMAX BECAUSE
060009,000240:                                                                                                  #                1. APOGEE RADIUS IS NOT MEANINGFUL FOR HYPERBOLA
060010,000241:                                                                                                  #                2. APOGEE RADIUS IS NOT DEFINED FOR PARABOLA
060011,000242:                                                                                                  #                3. APOGEE RADIUS EXCEEDS THE SCALING FOR ELLIPSE.
060012,000243: 
060013,000244:                                                                                                  #        THIS SUBROUTINE REQUIRES THE SIGNED RECIPROCAL SEMI MAJ AXIS, ALFA, AND SEMI LATUS RECTUM AS DATA.
060014,000245: 
060015,000246:                                                                                                  #  CALLING SEQUENCE:     CALL
060016,000247:                                                                                                  #                                TFFRP/RA
060017,000248:                                                                                                  #        PUSHLOC = PDL+0, ARBITRARY IF LEQ 10D
060018,000249:                                                                                                  #        C(MPAC) UNSPECIFIED
060019,000250: 
060020,000251:                                                                                                  #  SUBROUTINES CALLED:   NONE
060021,000252: 
060022,000253:                                                                                                  #  NORMAL EXIT MODE:     RVQ
060023,000254:                                                                                                  #        IF ELLIPSE, WITHIN NORMAL SCALING, RAPO IS CORRECT.
060024,000255:                                                                                                  #        OTHERWISE, RAPO = POSMAX.
060025,000256: 
060026,000257:                                                                                                  #  ALARMS:       NONE
060027,000258: 
060028,000259:                                                                                                  #  OUTPUT:       STORED IN PUSH LIST AREA.  SCALE OF OUTPUT AGREES WITH DATA SUPPLIED TO TFF/CONIC.
060029,000260:                                                                                                  #        RPER    E:(-29) M:(-27)         M       PERIGEE RADIUS          DESTROYED BY CALCTFF/CALCTPER, TFFTRIG.
060030,000261:                                                                                                  #        RAPO    E:(-29) M:(-27)         M       APOGEE RADIUS           WILL BE DESTROYED BY CALCTFF/CALCTPER
060031,000262:                                                                                                  #        PUSHLOC AT PDL+0
060032,000263: 
060033,000264:                                                                                                  #  ERASABLE INITIALIZATION REQUIRED:
060034,000265:                                                                                                  #        TFFALFA E:(26-NR)               M       1/SEMI MAJ AXIS LEFT BY TFFCONIC
060035,000266:                                                                                                  #                M:(24-NR)
060036,000267:                                                                                                  #        TFFNP   E:(-38+2NR)             M       LC P, SEMI LATUS RECTUM LEFT BY TFFCONIC
060037,000268:                                                                                                  #                M:(-36+2NR)
060038,000269:                                                                                                  #        X1                              -NR, NORM COUNT OF RMAG         LEFT BY TFFCONIC
060039,000270:                                                                                                  #        X2                              -NA, NORM COUNT OF ALFA         LEFT BY TFFCONIC
060040,000271: 
060041,000272:                                                                                                  #  DEBRIS:       QPRET, PDL+0 ... PDL+1
060042,000273: 

Page 1379

060044,000275: 27,3026                        RAPO               =        16D                                   #  APOGEE RADIUS  M  E:(-29) M:(-27)
060045,000276: 27,3026                        RPER               =        14D                                   #  PERIGEE RADIUS  M  E:(-29) M:(-27)
060046,000277: 
060047,000278: 27,3026           41345        TFFRP/RA           DLOAD    DMP                                   
060048,000279: 27,3027           00033                                    TFFALFA                               #  ALFA  1/M  E:(26-NR) M:(24-NR)
060049,000280: 27,3030           00035                                    TFFNP                                 #  LC P  M E:(-38+2NR) M:(-36+2NR)
060050,000281: 27,3031           57457                           SR*      DCOMP                                 #  ALFA P (-12+NR)
060051,000282: 27,3032           20571                                    0          -8D,1                      #  ALFA P (-4)
060052,000283: 27,3033           51415                           DAD      ABS                                   #  (DCOMP GIVES VALID TP RESULT FOR SQRT)
060053,000284:                                                                                                  #  (ABS PROTECTS SQRT IF E IS VERY NEAR 0)
060054,000285: 27,3034           17366                                    DP2(-4)                               
060055,000286: 27,3035           43366                           SQRT     DAD                                   #  E SQ = (1- P ALFA) (-4)
060056,000287: 27,3036           15325                                    TFF1/4                                
060057,000288: 27,3037           55206                           PUSH     BDDV                                  #  (1+E)  (-2)  TO PDL+0
060058,000289: 27,3040           00035                                    TFFNP                                 #  LCP  M  E:(-38+2NR) M:(-36+2NR)
060059,000290: 27,3041           53657                           SR*      SR*                                   #  (DOES SR THEN SL TO AVOID OVFL)
060060,000291: 27,3042           20601                                    0,1                                   #  X1=-NR
060061,000292: 27,3043           20572                                    0          -7,1                       #  (EFFECTIVE SL)
060062,000293: 27,3044           14017                           STODL    RPER                                  #  PERIGEE RADIUS  M  E:(-29) M:(-27)
060063,000294:                                                                                                  #  (1+E)  (-2)  FROM PDL+0
060064,000295: 27,3045           41005                           DMP      BOVB                                  
060065,000296: 27,3046           00027                                    TFF1/ALF                              #  E:(-22-2NA) M:(-20-2NA)
060066,000297: 27,3047           57352                                    TCDANZIG                              #  CLEAR OVFIND, IF ON.
060067,000298: 27,3050           53654                           BZE      SL*                                   
060068,000299: 27,3051           57060                                    MAXRA                                 #  SET POSMAX, IF ALFA=0
060069,000300: 27,3052           57603                                    0          -5,2                       #  -5+NA
060070,000301: 27,3053           40057                           SL*      BOV                                   
060071,000302: 27,3054           57576                                    0,2                                   
060072,000303: 27,3055           57060                                    MAXRA                                 #  SET POSMAX IF OVFL.
060073,000304: 27,3056           77644                           BPL                                            #  CONTINUE WITH VALID RAPO.
060074,000305: 27,3057           57062                                    +3                                    
060075,000306: 27,3060           77745        MAXRA              DLOAD                                          #  RAPO CALC IS NOT VALID.  SET RAPO =
060076,000307: 27,3061           17372                                    NEARONE                               #  POSMAX AS A TAG.
060077,000308: 27,3062           00021                 +3        STORE    RAPO                                  #  APOGEE RADIUS  M  E:(-29) M:(-27)
060078,000309: 27,3063           77616        DUMPRPRA           RVQ                                            
060079,000310:                                                                                                  #                        30 W

Page 1380

060081,000312:                                                                                                  #  SUBROUTINE NAME:  CALCTPER / CALCTFF          DATE:  01.29.67
060082,000313:                                                                                                  #  MOD NO:  0                                    LOG SECTION:  TIME OF FREE FALL
060083,000314:                                                                                                  #  MOD BY:  RR BAIRNSFATHER
060084,000315:                                                                                                  #  MOD NO:  1    MOD BY:  RR BAIRNSFATHER        DATE: 21 MAR 67
060085,000316:                                                                                                  #  MOD NO:  2    MOD BY:  RR BAIRNSFATHER        DATE: 14 APR 67
060086,000317:                                                                                                  #  MOD NO:  3    MOD BY:  RR BAIRNSFATHER        DATE: 8 JUL 67          NEAR EARTH MUE AND NEG TFF (GONEPAST)
060087,000318:                                                                                                  #  MOD NO:  4    MOD BY:  RR BAIRNSFATHER        DATE: 21 NOV 67         ADD VARIABLE MU.
060088,000319:                                                                                                  #  MOD NO:  5    MOD BY:  RR BAIRNSFATHER        DATE: 21 MAR 68         ACCEPT DIFFERENT EARTH/MOON SCALES
060089,000320: 
060090,000321:                                                                                                  #  FUNCTIONAL DESCRIPTION:  PROGRAM CALCULATES THE FREE-FALL TIME OF FLIGHT FROM PRESENT POSITION RN AND
060091,000322:                                                                                                  #        VELOCITY VN TO A RADIUS LENGTH SPECIFIED BY RTERM, SUPPLIED BY THE USER.  THE POSITION VECTOR
060092,000323:                                                                                                  #        RN MAY BE ON EITHER SIDE OF THE CONIC, BUT RTERM IS CONSIDERED ON THE INBOUND SIDE.
060093,000324:                                                                                                  #        THE EQUATIONS ARE
060094,000325: 
060095,000326:                                                                                                  #                Q2 = -SQRT(RTERM (2-RTERM ALFA) - LCP)  (INBOUND SIDE)) LEQ +- LCE/SQRT(ALFA)
060096,000327:                                                                                                  #                     -  -
060097,000328:                                                                                                  #                Q1 = RN.VN / SQRT(MU)                                   LEQ +- LCE/SQRT(ALFA)
060098,000329: 
060099,000330:                                                                                                  #                Z = NUM / DEN                                           LEQ +- 1/SQRT(ALFA)
060100,000331: 
060101,000332:                                                                                                  #        WHERE, IF INBOUND
060102,000333:                                                                                                  #                NUM = RTERM -RN                                         LEQ +- 2 LCE/ALFA
060103,000334:                                                                                                  #                DEN = Q2+Q1                                             LEQ +- 2 LCE/SQRT(ALFA)
060104,000335: 
060105,000336:                                                                                                  #        AND, IF OUTBOUND
060106,000337:                                                                                                  #                NUM = Q2-Q1                                             LEQ +- 2 LCE/SQRT(ALFA)
060107,000338:                                                                                                  #                DEN = 2 - ALFA (RTERM + RN).                            LEQ +- 2 LCE
060108,000339: 
060109,000340:                                                                                                  #        IF      ALFA ZZ < 1.0           (FOR ALL CONICS EXCEPT ELLIPSES HAVING ABS(DEL ECC ANOM) G 90 DEG)
060110,000341:                                                                                                  #        THEN    X = ALFA Z Z
060111,000342:                                                                                                  #        AND     TFF = (RTERM +RN -2 ZZ T(X) ) Z/SQRT(MU)
060112,000343:                                                                                                  #                EXCEPT  IF ALFA PNZ, AND IF TFF NEG,
060113,000344:                                                                                                  #                THEN    TFF = 2 PI /(ALFA SQRT(ALFA)) + TFF
060114,000345:                                                                                                  #        OR      IF ALFA ZZ GEQ 1.0      (FOR ELLIPSES HAVING ABS(DEL ECC ANOM) GEQ 90 DEG)
060115,000346:                                                                                                  #        THEN    X = 1/ALFA Z Z
060116,000347:                                                                                                  #        AND     TFF = (PI/SQRT(ALFA) -Q2 +Q1 +2(X T(X) -1) /ALFA Z) /ALFA SQRT(MU)
060117,000348:                                                                                                  #        WHERE   T(X) IS A POLYNOMIAL APPROXIMATION TO THE SERIES
060118,000349:                                                                                                  #                             2      3             2
060119,000350:                                                                                                  #                1/3 - X/5 + X /7 - X /9 ...     (X  < 1.0)
060120,000351: 
060121,000352:                                                                                                  #  CALLING SEQUENCE:     TIME TO RTERM                   TIME TO PERIGEE
060122,000353:                                                                                                  #                        CALL                            CALL
060123,000354:                                                                                                  #                                CALCTFF                         CALCTPER
060124,000355:                                                                                                  #                        C(MPAC) = TERMNL RAD M          C(MPAC) = PERIGEE RAD M
060125,000356:                                                                                                  #        FOR EITHER, E:(-29) M:(-27)
060126,000357:                                                                                                  #        FOR EITHER, PUSHLOC = PDL+0, ARBITRARY IF LEQ 8D.

Page 1381

060128,000359: 
060129,000360:                                                                                                  #  SUBROUTINES CALLED:   T(X), VIA RTB
060130,000361: 
060131,000362:                                                                                                  #  NORMAL EXIT MODE:     RVQ
060132,000363:                                                                                                  #        HOWEVER, PROGRAM EXITS WITH ONE OF THE FOLLOWING VALUES FOR TFF (-28) CS IN MPAC.  USER MUST STORE.
060133,000364:                                                                                                  #                A. TFF = FLIGHT TIME.  NORMAL CASE FOR POSITIVE FLIGHT TIME LESS THAN ONE ORBITAL PERIOD.
060134,000365:                                                                                                  #                B. (THIS OPTION IS NO LONGER USED.)
060135,000366:                                                                                                  #                C. TFF = POSMAX.  THIS INDICATES THAT THE CONIC FROM THE PRESENT POSITION WILL NOT RETURN TO
060136,000367:                                                                                                  #                   THE SPECIFIED ALTITUDE.  ALSO INDICATES OUTBOUND PARABOLA OR HYPERBOLA.
060137,000368: 
060138,000369:                                                                                                  #  OUTPUT:       C(MPAC)         (-28) CS        TIME OF FLIGHT, OR TIME TO PERIGEE
060139,000370:                                                                                                  #                TFFX            (0)             X,                                      LEFT FOR ENTRY DISPLAY TFF ROUTINES
060140,000371:                                                                                                  #                NRTERM          E:(-29+NR) M    RTERM, WEIGHTED BY NR                   LEFT FOR ENTRY DISPLAY TFF ROUTINES
060141,000372:                                                                                                  #                                M:(-27+NR)
060142,000373:                                                                                                  #                TFFTEM          E:(-59+2NR)     LCP Z Z SGN(SDELF)                      LEFT FOR ENTRY DISPLAY TFF ROUTINES
060143,000374:                                                                                                  #                                M:(-55+2NR)     LCP /ALFA SGN(SDELF)                    LEFT FOR ENTRY DISPLAY TFF ROUTINES
060144,000375:                                                                                                  #                NOTE:   TFFTEM = PDL 36D AND WILL BE DESTROYED BY .:UNIT:.
060145,000376:                                                                                                  #                RMAG1           E:(-29) M:(-27) PDL 12 NOT TOUCHED.
060146,000377:                                                                                                  #                TFFQ1           E:(-16) M:(-15) PDL 14D
060147,000378:                                                                                                  #                TFFDELQ         E:(-16) M:(-15) PDL 10D
060148,000379:                                                                                                  #                PUSHLOC AT PDL+0
060149,000380: 
060150,000381:                                                                                                  #  ERASABLE INITIALIZATION REQUIRED:
060151,000382:                                                                                                  #                RONE            E:(-29) M:(-27) M  STATE VECTOR                         LEFT BY USER
060152,000383:                                                                                                  #                VONE'           E:(+10) M:(+9)  VN/SQRT(MU)                             LEFT BY TFF/CONIC
060153,000384:                                                                                                  #                RMAG1           E:(-29) M:(-27) PRESENT RADIUS, M                       LEFT BY TFFCONIC
060154,000385:                                                                                                  #                C(MPAC)         E:(-29) M:(-27) RTERM, TERMINAL RADIUS LENGTH, M        LEFT BY USER
060155,000386: 
060156,000387:                                                                                                  #                THE FOLLOWING ARE STORED IN THE PUSH LIST AREA.
060157,000388:                                                                                                  #                TFF/RTMU        E:(17) M:(14)   1/SQRT(MU)                              LEFT BY TFFCONIC.
060158,000389:                                                                                                  #                NRMAG           E:(-29+NR)      M  RMAG, NORMALIZED                     LEFT BY TFFCONIC
060159,000390:                                                                                                  #                                M:(-27+NR)
060160,000391:                                                                                                  #                X1                              -NR, NORM COUNT                         LEFT BY TFFCONIC
060161,000392:                                                                                                  #                TFFNP           E:(-38+2NR)     M  LCP, SEMI LATUS RECTUM, WEIGHT NR    LEFT BY TFFCONIC
060162,000393:                                                                                                  #                                M:(-36+2NR)
060163,000394:                                                                                                  #                TFFALFA         E:(26-NR)       1/M  ALFA, WEIGHT NR                    LEFT BY TFFCONIC
060164,000395:                                                                                                  #                                M:(24-NR)
060165,000396:                                                                                                  #                TFFRTALF        E:(10+NA)       SQRT(ALFA), NORMALIZED                  LEFT BY TFFCONIC
060166,000397:                                                                                                  #                                M:(9+NA)
060167,000398:                                                                                                  #                X2                              -NA, NORM COUNT                         LEFT BY TFFCONIC
060168,000399:                                                                                                  #                TFF1/ALF        E:(-22-2NA)     SIGNED SEMIMAJ AXIS, WEIGHTED BY NA     LEFT BY TFFCONIC
060169,000400:                                                                                                  #                                M:(-20-2NA)
060170,000401: 
060171,000402:                                                                                                  #  DEBRIS:       QPRET, PDL+0 ... PDL+3
060172,000403:                                                                                                  #                RTERM           E:(-29) M:(-27) RTERM, TERMINAL RADIUS LENGTH
060173,000404:                                                                                                  #                RAPO            E:(-29) M:(-27) PDL 16D (=NRTERM)
060174,000405:                                                                                                  #                RPER            E:(-29) M:(-27) PDL 14D (=TFFQ1)
060175,000406: 

Page 1382

060177,000408: 27,3064           77614        CALCTPER           SETGO                                          #  ENTER WITH RPER IN MPAC
060178,000409: 27,3065           03436                                    TFFSW                                 
060179,000410: 27,3066           57071                                    +3                                    
060180,000411: 27,3067           77614        CALCTFF            CLEAR                                          #  ENTER WITH RTERM IN MPAC
060181,000412: 27,3070           03676                                    TFFSW                                 
060182,000413: 27,3071           00023                 +3        STORE    RTERM                                 #  E:(-29) M:(-27)
060183,000414: 27,3072           77657                           SL*                                            
060184,000415: 27,3073           20201                                    0,1                                   #  X1=-NR
060185,000416: 27,3074           00021                           STORE    NRTERM                                #  RTERM  E:(-29+NR) M:(-27+NR)
060186,000417: 27,3075           44205                           DMP      BDSU                                  
060187,000418: 27,3076           00033                                    TFFALFA                               #  ALFA  E:(26-NR) M:(24-NR)
060188,000419: 27,3077           15325                                    TFF1/4                                
060189,000420: 27,3100           41206                           PUSH     DMP                                   #  (2-ALFA RTERM)  (-3)  TO PDL+0
060190,000421: 27,3101           00021                                    NRTERM                                #  E:(-29+NR) M:(-27+NR)
060191,000422: 27,3102           53725                           PDDL     SR*                                   #  RTERM(2-ALFA RTERM) TO PDL+2
060192,000423:                                                                                                  #  E:(-32+NR) M:(-30+NR)
060193,000424: 27,3103           00035                                    TFFNP                                 #  LC P  E:(-38+2NR) M:(-36+2NR)
060194,000425: 27,3104           20573                                    0          -6,1                       #  X1 = -NR
060195,000426: 27,3105           43276                           DCOMP    DAD                                   #  DUE TO SHIFTS, KEEP PRECISION FOR SQRT
060196,000427:                                                                                                  #  RTERM(2-ALFA RTERM) FROM PDL +2
060197,000428:                                                                                                  #  E:(-32+NR) M:(-30+NR)
060198,000429: 27,3106           77657                           SR*                                            #  LEAVE  E:(-32) M:(-30)
060199,000430: 27,3107           20601                                    0,1                                   #  X1 = -NR
060200,000431: 27,3110           71214                           BOFF     DLOAD                                 #  CHECK TFF /TPER SWITCH
060201,000432: 27,3111           03756                                    TFFSW                                 
060202,000433: 27,3112           57114                                    +2                                    #  IF TFF, CONTINUE
060203,000434: 27,3113           15335                                    TFFZEROS                              #  IF TPER, SET Q2 = 0
060204,000435: 27,3114           75440                 +2        BMN      SQRT                                  #  E:(-16) M:(-15)
060205,000436: 27,3115           57247                                    MAXTFF1                               #  NO FREE FALL CONIC TO RTERM FROM HERE
060206,000437:                                                                                                  #  RESET PDL, SET TFF=POSMAX, AND EXIT.
060207,000438: 
060208,000439: 27,3116           41076                           DCOMP    BOVB                                  #  RT IS ON INBOUND SIDE.  ASSURE OVFIND=0
060209,000440: 27,3117           57352                                    TCDANZIG                              #  ANY PORT IN A STORM.
060210,000441: 27,3120           24045                           STOVL    TFFTEM                                #  Q2  E:(-16) M:(-15)
060211,000442: 27,3121           02372                                    VONE'                                 #  VN/SQRT(MU)  E:(10) M:(9)
060212,000443: 27,3122           52441                           DOT      SL3                                   
060213,000444: 27,3123           02327                                    RONE                                  #  SAVED RN.  E:(-29) M:(-27)
060214,000445: 27,3124           00017                           STORE    TFFQ1                                 #  Q1, SAVE FOR GONEPAST TEST.
060215,000446:                                                                                                  #  E:(-16) M:(-15)
060216,000447: 27,3125           44240                           BMN      BDSU                                  
060217,000448: 27,3126           57147                                    INBOUND                               #  USE ALTERNATE Z
060218,000449: 27,3127           00045                                    TFFTEM                                #  Q2  E:(-16) M:(-15)
060219,000450: 
060220,000451:                                                                                                  #  OUTBOUND Z CALC CONTINUES HERE
060221,000452: 
060222,000453: 27,3130           14043                           STODL    TFFX                                  #  NUM=Q2-Q1  E:(-16) M:(-15)
060223,000454: 27,3131           00033                                    TFFALFA                               #  ALFA  E:(26-NR) M:(24-NR)
060224,000455: 27,3132           44205                           DMP      BDSU                                  

Page 1383

060226,000457: 27,3133           00041                                    NRMAG                                 #  RMAG  E:(-29+NR) M:(-27+NR)
060227,000458:                                                                                                  #  (2-RTERM ALFA)  (-3) FROM PDL+0
060228,000459: 27,3134           51406        SAVEDEN            PUSH     ABS                                   #  DEN TO PDL+0  E:(-3) OR (-16)
060229,000460:                                                                                                  #                M:(-3) OR (-15)
060230,000461: 27,3135           40015                           DAD      BOV                                   #  INDETERMINANCY TEST
060231,000462: 27,3136           17360                                    LIM(-22)                              #  =1.0-B(-22)
060232,000463: 27,3137           57160                                    TFFXTEST                              #  GO IF DEN >/= B(-22)
060233,000464: 27,3140           65345                           DLOAD    PDDL                                  #  SET DEN=0 OTHERWISE
060234,000465: 27,3141           15335                                    TFFZEROS                              
060235,000466:                                                                                                  #  XCH ZERO WITH PDL+0
060236,000467: 27,3142           57545                           DLOAD    DCOMP                                 
060237,000468: 27,3143           00033                                    TFFALFA                               #  ALFA  E:(26-NR) M:(24-NR)
060238,000469: 27,3144           71240                           BMN      DLOAD                                 #  FOR TPER:  Z INDET AT DELE/2=0 AND 90.
060239,000470: 27,3145           57254                                    TFFEL1                                #  ASSUME 90, AND LEAVE 0 IN PDL: 1/Z=D/N
060240,000471: 
060241,000472:                                                                                                  #  Z INDET. AT PERIGEE FOR PARAB OR HYPERB.
060242,000473: 27,3146           77616        DUMPTFF1           RVQ                                            #  RETURN TFF =0
060243,000474: 
060244,000475:                                                                                                  #  INBOUND Z CALC CONTINUES HERE
060245,000476: 
060246,000477: 27,3147           77745        INBOUND            DLOAD                                          #  RESET PDL+0
060247,000478: 27,3150           45345                           DLOAD    DSU                                   #  ALTERNATE Z CALC
060248,000479: 27,3151           00023                                    RTERM                                 #  E:(-29) M:(-27)
060249,000480: 27,3152           00015                                    RMAG1                                 #  E:(-29) M:(-27)
060250,000481: 27,3153           14043                           STODL    TFFX                                  #  NUM=RTERM-RN  E:(-29) M:(-27)
060251,000482: 27,3154           00045                                    TFFTEM                                #  Q2  E:(-16) M:(-15)
060252,000483: 27,3155           52015                           DAD      GOTO                                  
060253,000484: 27,3156           00017                                    TFFQ1                                 #  Q1  E:(-16) M:(-15)
060254,000485: 27,3157           57134                                    SAVEDEN                               #  DEN = Q2+Q1  E:(-16) M:(-15)
060255,000486: 
060256,000487: 27,3160           65215        TFFXTEST           DAD      PDDL                                  #  (ABS(DEN) TO PDL+2))  E:(-3) OR (-16)
060257,000488:                                                                                                  #                        M:(-3) OR (-15)
060258,000489: 27,3161           17362                                    DP(-22)                               #  RESTORE ABS(DEN) TO MPAC
060259,000490: 27,3162           00043                                    TFFX                                  #  NUM  E:(-16) OR (-29)  M:(-15) OR (-27)
060260,000491: 27,3163           53605                           DMP      SR*                                   
060261,000492: 27,3164           00031                                    TFFRTALF                              #  SQRT(ALFA)  E:(10+NA) M:(9+NA)
060262,000493: 27,3165           57201                                    0          -3,2                       #  X2=-NA
060263,000494: 27,3166           77671                           DDV                                            #  C(MPAC) =NUM SQRT(ALFA)       E:(-3) OR (-16)
060264,000495:                                                                                                  #                                M:(-3) OR (-15)
060265,000496:                                                                                                  #  ABS(DEN) FROM PDL+2   E:(-3) OR (-16)
060266,000497:                                                                                                  #                        M:(-3) OR (-15)
060267,000498: 27,3167           40145                           DLOAD    BOV                                   #  (THE DLOAD IS SHARED WITH TFFELL)
060268,000499: 27,3170           00043                                    TFFX                                  #  NUM  E:(-16) OR (-29)  M:(-15) OR (-27)
060269,000500: 27,3171           57252                                    TFFELL                                #  USE EQN FOR DELE GEQ 90, LEQ -90
060270,000501: 
060271,000502:                                                                                                  #  OTHERWISE, CONTINUE FOR GENERAL CONIC FOR TFF EQN
060272,000503: 
060273,000504: 27,3172           45471                           DDV      STADR                                 
060274,000505:                                                                                                  #  DEN FROM PDL+0        E:(-3) OR (-16)
060275,000506:                                                                                                  #                        M:(-3) OR (-15)
060276,000507: 27,3173           77732                           STORE    TFFTEM                                #  Z SAVE FOR SIGN OF SDELF.

Page 1384

060278,000509:                                                                                                  #  E:(-13) M:(-12)
060279,000510: 27,3174           63406                           PUSH     DSQ                                   #  Z TO PDL+0
060280,000511: 27,3175           41206                           PUSH     DMP                                   #  Z SQ TO PDL+2  E:(-26) M:(-24)
060281,000512: 27,3176           00035                                    TFFNP                                 #  LC P  E:(-38+2NR) M:(-36+2NR)
060282,000513: 27,3177           75261                           SL       SIGN                                  
060283,000514: 27,3200           20206                                    5                                     
060284,000515: 27,3201           00045                                    TFFTEM                                #  AFFIX SIGN FOR SDELF (ENTRY DISPLAY)
060285,000516: 27,3202           14045                           STODL    TFFTEM                                #  P ZSQ  E:(-59+2NR) M:(-55+2NR)
060286,000517:                                                                                                  #  (ARG IS USED IN TFF/TRIG)
060287,000518:                                                                                                  #  ZSQ FROM PDL+2  E:(-26) M:(-24)
060288,000519: 27,3203           41206                           PUSH     DMP                                   #  RESTORE PUSH LOC
060289,000520: 27,3204           00033                                    TFFALFA                               #  ALFA  E:(26-NR) M:(24-NR)
060290,000521: 27,3205           77657                           SL*                                            
060291,000522: 27,3206           20201                                    0,1                                   #  X1=-NR
060292,000523: 27,3207           00043                           STORE    TFFX                                  #  X
060293,000524: 27,3210           41234                           RTB      DMP                                   
060294,000525: 27,3211           57334                                    T(X)                                  #  POLY
060295,000526:                                                                                                  #  ZSQ FROM PDL+2  E:(-26) M:(-24)
060296,000527: 27,3212           44302                           SR2      BDSU                                  #  2 ZSQ T(X)  E:(-29) M:(-27)
060297,000528: 27,3213           00023                                    RTERM                                 #  RTERM  E:(-29) M:(-27)
060298,000529: 27,3214           41215                           DAD      DMP                                   
060299,000530: 27,3215           00015                                    RMAG1                                 #  E:(-29) M:(-27)
060300,000531:                                                                                                  #  Z FROM PDL+0  E:(-13) M:(-12)
060301,000532: 27,3216           51042                           SR3      BPL                                   #  TFF SQRT(MU)  E:(-45) M:(-42)
060302,000533: 27,3217           57240                                    ENDTFF                                #  (NO PUSH UP)
060303,000534: 27,3220           75206                           PUSH     SIGN                                  #  TFF SQRT(MU) TO PDL+0
060304,000535: 27,3221           00017                                    TFFQ1                                 #  Q1 FOR GONEPAST TEST
060305,000536: 27,3222           71244                           BPL      DLOAD                                 #  GONE PAST ?
060306,000537: 27,3223           57244                                    NEGTFF                                #  YES. TFF < 0.
060307,000538: 27,3224           00027                                    TFF1/ALF                              #  1/ALFA  E:(-22-2NA) M:(-20-2NA)
060308,000539: 27,3225           51076                           DCOMP    BPL                                   #  ALFA > 0 ?
060309,000540: 27,3226           57244                                    NEGTFF                                #  NO. TFF IS NEGATIVE.
060310,000541: 
060311,000542:                                                                                                  #  CORRECT FOR ORBITAL PERIOD.
060312,000543: 
060313,000544: 27,3227           77676                           DCOMP                                          #  YES.  CORRECT FOR ORB PERIOD.
060314,000545: 27,3230           56205                           DMP      DDV                                   
060315,000546: 27,3231           17356                                    PI/16                                 #  2 PI (-5)
060316,000547: 27,3232           00031                                    TFFRTALF                              #  SQRT(ALFA)  E:(10+NA) M:(9+NA)
060317,000548: 27,3233           53657                           SL*      SL*                                   
060318,000549: 27,3234           57602                                    0          -4,2                       #  X2=-NA
060319,000550: 27,3235           57602                                    0          -4,2                       
060320,000551: 27,3236           43257                           SL*      DAD                                   
060321,000552: 27,3237           57576                                    0,2                                   
060322,000553:                                                                                                  #  TFF SQRT(MU) FROM PDL+0       E:(-45) M:(-42)
060323,000554: 27,3240           40005        ENDTFF             DMP      BOV                                   #  TFF SQRT(MU) IN MPAC          E:(-45) M:(-42)
060324,000555: 27,3241           00037                                    TFF/RTMU                              #  E:(17) M:(14)
060325,000556: 27,3242           57250                                    MAXTFF                                #  SET POSMAX IF OVFL.
060326,000557: 
060327,000558: 27,3243           77616        DUMPTFF2           RVQ                                            #  RETURN TFF (-28) CS IN MPAC.
060328,000559: 

Page 1385

060330,000561: 27,3244           77745        NEGTFF             DLOAD                                          
060331,000562:                                                                                                  #  TFF SQRT(MU) FROM PDL+0, NEGATIVE.
060332,000563: 27,3245           77650                           GOTO                                           
060333,000564: 27,3246           57240                                    ENDTFF                                
060334,000565: 
060335,000566: 27,3247           77745        MAXTFF1            DLOAD                                          #  RESET PDL
060336,000567: 27,3250           43545        MAXTFF             DLOAD    RVQ                                   
060337,000568: 27,3251           17372                                    NEARONE                               
060338,000569: 
060339,000570:                                                                                                  #  TIME OF FLIGHT ELLIPSE WHEN DEL (ECCENTRIC ANOM) GEQ 90 AND LEQ -90.
060340,000571: 
060341,000572:                                                                                                  #  NUM FROM TFFX.        E:(-16) OR (-29)
060342,000573:                                                                                                  #                        M:(-15) OR (-27)
060343,000574: 27,3252           77712        TFFELL             SL2                                            #  NUM  E:(-14) OR (-27)  M:(-13) OR (-25)
060344,000575: 27,3253           41465                           BDDV     PUSH                                  #  TEMP SAVE D/N IN PDL+0
060345,000576:                                                                                                  #  DEN FROM PDL+0  E:(-3)/( 16)  M:(-3)/(-15)
060346,000577:                                                                                                  #  N/D TO PDL+0  E:(11) M:(10)
060347,000578: 27,3254           45345        TFFEL1             DLOAD    DSU                                   #  (ENTER WITH D/N=0 IN PDL+0)
060348,000579: 27,3255           00045                                    TFFTEM                                #  Q2  E:(-16) M:(-15)
060349,000580: 27,3256           00017                                    TFFQ1                                 #  Q1  E:(-16) M:(-15)
060350,000581: 27,3257           14013                           STODL    TFFDELQ                               #  Q2-Q1  E:(-16) M:(-15)
060351,000582:                                                                                                  #  D/N FROM PDL+0
060352,000583: 27,3260           77626                           STADR                                          
060353,000584: 27,3261           77732                           STORE    TFFTEM                                #  D/N  E:(11) M:(10)
060354,000585: 27,3262           53605                           DMP      SL*                                   
060355,000586: 27,3263           00027                                    TFF1/ALF                              #  1/ALFA  E:(-22-2NA) M:(-20-2NA)
060356,000587: 27,3264           57576                                    0,2                                   #  1/ALFA Z  E:(-11-NA) M:(-10-NA)
060357,000588: 27,3265           41206                           PUSH     DMP                                   #  TO PDL+0
060358,000589: 27,3266           00045                                    TFFTEM                                #  1/Z  E:(11) M:(10)
060359,000590: 27,3267           41057                           SL*      BOVB                                  
060360,000591: 27,3270           57576                                    0,2                                   #  X2= -NA
060361,000592: 27,3271           45712                                    SIGNMPAC                              #  IN CASE X= 1.0, CONTINUE
060362,000593: 27,3272           00043                           STORE    TFFX                                  #  X=1/ALFA ZSQ
060363,000594: 27,3273           41234                           RTB      DMP                                   
060364,000595: 27,3274           57334                                    T(X)                                  #  POLY
060365,000596: 27,3275           00043                                    TFFX                                  
060366,000597: 27,3276           45242                           SR3      DSU                                   
060367,000598: 27,3277           17364                                    DP2(-3)                               
060368,000599: 27,3300           41405                           DMP      PUSH                                  #  2(X T(X)-1) /Z ALFA   E:(-15-NA)
060369,000600:                                                                                                  #                        M:(-14-NA)
060370,000601:                                                                                                  #  1/ALFA Z FROM PDL+0   E:(-11-NA)
060371,000602:                                                                                                  #                        M:(-10-NA)
060372,000603: 27,3301           41345                           DLOAD    DMP                                   #  GET SIGN FOR SDELF
060373,000604: 27,3302           00045                                    TFFTEM                                #  1/Z  E:(11) M:(10)
060374,000605: 27,3303           00015                                    RMAG1                                 #  E:(-29) M:(-27)
060375,000606: 27,3304           43312                           SL2      DAD                                   
060376,000607: 27,3305           00017                                    TFFQ1                                 #  Q1  E:(-16) M:(-15)
060377,000608: 27,3306           14045                           STODL    TFFTEM                                #  (Q1+R 1/Z) =SGN OF SDELF  E:(-16) M:(-15
060378,000609: 27,3307           00035                                    TFFNP                                 #  LC P  E:(-38+2NR) M:(-36+2NR)
060379,000610: 27,3310           53605                           DMP      SL*                                   #  CALC FOR ARG FOR TFF/TRIG.

Page 1386

060381,000612: 27,3311           00027                                    TFF1/ALF                              #  1/ALFA  E:(-22-2NA) M:(-20-2NA)
060382,000613: 27,3312           57575                                    1,2                                   #  X2=-NA
060383,000614: 27,3313           53765                           SIGN     SL*                                   
060384,000615: 27,3314           00045                                    TFFTEM                                #  AFFIX SIGN FOR SDELF
060385,000616: 27,3315           57576                                    0,2                                   
060386,000617: 27,3316           14045                           STODL    TFFTEM                                #  P/ALFA  E:(-59+2NR) M:(-55+2NR)
060387,000618:                                                                                                  #  (ARG FOR USE IN TFF/TRIG)
060388,000619: 27,3317           00027                                    TFF1/ALF                              #  1/ALFA  E:(-22-2NA) M:(-20-2NA)
060389,000620: 27,3320           41366                           SQRT     DMP                                   
060390,000621: 27,3321           17356                                    PI/16                                 #  PI (-4)
060391,000622: 27,3322           77615                           DAD                                            
060392,000623:                                                                                                  #  2(XT(X)-1)/Z ALFA FROM PDL    E:(-15-NA)
060393,000624:                                                                                                  #                                M:(-14-NA)
060394,000625: 27,3323           45257                           SL*      DSU                                   
060395,000626: 27,3324           57577                                    0          -1,2                       
060396,000627: 27,3325           00013                                    TFFDELQ                               #  Q2-Q1  E:(-16) M:(-15)
060397,000628: 27,3326           53605                           DMP      SL*                                   
060398,000629: 27,3327           00027                                    TFF1/ALF                              #  1/ALFA  E:(-22-2NA) M:(-20-2NA)
060399,000630: 27,3330           57601                                    0          -3,2                       
060400,000631: 27,3331           52057                           SL*      GOTO                                  
060401,000632: 27,3332           57602                                    0          -4,2                       
060402,000633: 27,3333           57240                                    ENDTFF                                #  TFF SQRT(MU) IN MPAC E:(-45) M:(-42)
060403,000634: 

Page 1387

060405,000636:                                                                                                  #  PROGRAM NAME:  T(X)                           DATE:  01.17.67
060406,000637:                                                                                                  #  MOD NO:  0                                    LOG SECTION:  TIME OF FREE FALL
060407,000638:                                                                                                  #  MOD BY:  RR BAIRNSFATHER
060408,000639: 
060409,000640:                                                                                                  #  FUNCTIONAL DESCRIPTION:  THE POLYNOMIAL T(X) IS USED BY TIME OF FLIGHT SUBROUTINES CALCTFF AND
060410,000641:                                                                                                  #        CALCTPER TO APPROXIMATE THE SERIES
060411,000642:                                                                                                  #                           2     3
060412,000643:                                                                                                  #                1/3 -X/5 +X /7 -X /9 ...
060413,000644: 
060414,000645:                                                                                                  #        WHERE   X = ALFA Z Z            IF ALFA Z Z LEQ 1
060415,000646:                                                                                                  #                X = 1/(ALFA Z Z)        IF ALFA Z Z G 1
060416,000647: 
060417,000648:                                                                                                  #        ALSO    X IS NEG FOR HYPERBOLIC ORBITS
060418,000649:                                                                                                  #                X = 0 FOR PARABOLIC ORBITS
060419,000650:                                                                                                  #                X IS POSITIVE FOR ELLIPTIC ORBITS
060420,000651: 
060421,000652:                                                                                                  #        FOR FLIGHT 278, THE POLYNOMIAL T(X) IS FITTED OVER THE RANGE (0,+1) AND HAS A MAXIMUM
060422,000653:                                                                                                  #        DEVIATION FROM THE SERIES OF 2 E-5       (T(X) IS A CHEBYCHEV TYPE FIT AND WAS OBTAINED USING
060423,000654:                                                                                                  #        MAC PROGRAM AUTCURFIT294RRB AND IS VALID TO THE SAME TOLERANCE OVER THE RANGE (-.08,+1).)
060424,000655: 
060425,000656:                                                                                                  #  CALLING SEQUENCE:     RTB
060426,000657:                                                                                                  #                                T(X)
060427,000658:                                                                                                  #        C(MPAC) = X
060428,000659: 
060429,000660:                                                                                                  #  SUBROUTINES CALLED:  NONE
060430,000661: 
060431,000662:                                                                                                  #  NORMAL EXIT MODE:  TC DANZIG
060432,000663: 
060433,000664:                                                                                                  #  ALARMS:  NONE
060434,000665: 
060435,000666:                                                                                                  #  OUTPUT:  C(MPAC) = T(X)
060436,000667: 
060437,000668:                                                                                                  #  ERASABLE INITIALIZATION REQUIRED:
060438,000669:                                                                                                  #        C(MPAC) = X
060439,000670: 
060440,000671:                                                                                                  #  DEBRIS:  NONE
060441,000672: 
060442,000673: 27,3334           07171        T(X)               TC       POLY                                  
060443,000674: 27,3335           00004                           DEC      4          B-14                       #  N-1
060444,000675: 27,3336           12525 12525                     2DEC     3.333333333 E-1                        
060445,000676: 27,3340           71463 57703                     2DEC*    -1.999819135 E-1*                       
060446,000677: 27,3342           04423 17645                     2DEC*    1.418148467 E-1*                       
060447,000678: 27,3344           74604 43667                     2DEC*    -1.01310997 E-1*                       
060448,000679: 27,3346           01626 37256                     2DEC*    5.609004986 E-2*                       
060449,000680: 27,3350           77404 52071                     2DEC*    -1.536156925 E-2*                       
060450,000681: 
060451,000682: 27,3352           06030        ENDT(X)            TC       DANZIG                                
060452,000683: 
060453,000684: 27,3353  27,3352               TCDANZIG           =        ENDT(X)                               
060454,000685: 

Page 1388

060456,000687:                                                                                                  #  TFF CONSTANTS
060457,000688: 
060458,000689: 32,3770                                           BANK     32                                    
060459,000690: 
060460,000691: 27,2000                                           SETLOC   TOF-FF1                               
060461,000692: 27,2000                                           BANK                                           
060462,000693: 
060463,000694:                                                                                                  #                                                NOTE _  NOTE _ ADJUSTED MUE FOR NEAR EARTH TRAJ.
060464,000695:                                                                                                  # MUE            =       3.990815471 E10         M CUBE/CS SQ
060465,000696:                                                                                                  # RTMUE          =       1.997702549 E5 B-18*    MODIFIED EARTH MU
060466,000697: 
060467,000698: 27,3353           24775 30424  1/RTMU             2DEC*    .5005750271 E-5        B17*            #  MODIFIED EARTH MU
060468,000699: 
060469,000700:                                                                                                  #                                                NOTE _  NOTE _ ADJUSTED MUE FOR NEAR EARTH TRAJ.
060470,000701:                                                                                                  # MUM            =       4.902778 E8             M CUBE/CS SQ
060471,000702:                                                                                                  # RTMUM          2DEC*   2.21422176 E4 B-18*
060472,000703: 27,3355           06220 37553  PI/16              2DEC     3.141592653 B-4                        
060473,000704: 27,3357           37777 37700  LIM(-22)           2OCT     3777737700                            #  1.0 -B(-22)
060474,000705: 27,3361           00000 00100  DP(-22)            2OCT     0000000100                            #  B(-22)
060475,000706: 27,3363           04000 00000  DP2(-3)            2DEC     1          B-3                        
060476,000707: 27,3365           02000 00000  DP2(-4)            2DEC     1          B-4                        #  1/16
060477,000708: 
060478,000709:                                                                                                  #  RPAD1         2DEC    6373338 B-29            M (-29) = 20909901.57 FT
060479,000710: 27,3367  22,3151               RPAD1              =        RPAD                                  
060480,000711: 
060481,000712: 27,3367           00305 11205  R300K              2DEC     6464778    B-29                       #  (-29) M
060482,000713: 27,3371           37777 37777  NEARONE            2DEC     .999999999                            
060483,000714: 27,3373  26,3334               TFFZEROS           EQUALS   HI6ZEROS                              
060484,000715: 27,3373  26,3324               TFF1/4             EQUALS   HIDP1/4                               

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