Source Code

This is the source-code for the Apollo 9 Command Module's Guidance Computer. These files were derived originally from the scan from MIT's Dibner Institute's now-discontinued website titled "History of Recent Science and Technology", which in turn was originally created by Gary Neff, though his high-quality scans were unfortunately reduced in legibility when presented online. The markings on the front of the printout imply that it was the original AGC developer Norm Brodeur's copy. A scan by Ron Burkey has superceded it, made from a more-legible copy from the collection of original AGC developer Fred Martin. The source code was transcribed from those images by Ron Burkey. Note that the page images presented online are of reduced quality, and that higher-quality images are available. Report any conversion errors or legibility problems in page images to info@sandroid.org. Notations on the program listing read, in part:

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

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

Page 1341

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

Page 1342

058728,000098:                                                                                                  #                REGISTERS S1, S2 ARE UNTOUCHED BY ANY TFF SUBROUTINE
058729,000099:                                                                                                  #                INDEX REGISTERS X1, X2 ARE USED BY ALL TFF SUBROUTINES.  THEY ARE ESTAB-
058730,000100:                                                                                                  #                LISHED IN TFF/CONIC AND MUST BE PRESERVED BETWEEN CALLS TO SUBSEQUENT
058731,000101:                                                                                                  #                SUBROUTINES.
058732,000102:                                                                                                  #                -NR                             C(X1) = NORM COUNT OF RMAG
058733,000103:                                                                                                  #                -NA                             C(X2) = NORM COUNT OF SQRT(ABS(ALFA))
058734,000104: 

Page 1343

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

Page 1344

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

Page 1345

058844,000214: 27,3000           20573                                    0          -6,1                       #  GET -VSQ/MU  E:(26-NR) M:(24-NR)
058845,000215: 27,3001           77626                           STADR                                          
058846,000216:                                                                                                  #  2/RMAG  FROM PDL+2
058847,000217: 27,3002           77744                           STORE    TFFALFA                               #  ALFA  1/M  E:(26-NR) M:(24-NR)
058848,000218: 27,3003           41457                           SL*      PUSH                                  #  TEMP SAVE ALFA  E:(20) M:(18)
058849,000219: 27,3004           20173                                    0          -6,1                       
058850,000220: 27,3005           75446                           ABS      SQRT                                  #  E:(10) M:(9)
058851,000221: 27,3006           77701                           NORM                                           
058852,000222: 27,3007           00050                                    X2                                    #  X2 = -NA
058853,000223: 27,3010           00031                           STORE    TFFRTALF                              #  SQRT( ABS(ALFA) )  E:(10+NA) M:(9+NA)
058854,000224: 27,3011           75316                           DSQ      SIGN                                  #  NOT SO ACCURATE, BUT OK
058855,000225:                                                                                                  #  ALFA FROM PDL+2  E:(20) M:(18)
058856,000226: 27,3012           55254                           BZE      BDDV                                  #  SET 1/ALFA =0, TO SHOW SMALL ALFA
058857,000227: 27,3013           57015                                    +2                                    
058858,000228: 27,3014           15322                                    TFF1/4                                
058859,000229: 27,3015           00027                 +2        STORE    TFF1/ALF                              #  1/ALFA  E:(-22-2NA) M:(-20-2NA)
058860,000230: 27,3016           77616        DUMPCNIC           RVQ                                            
058861,000231:                                                                                                  #                        39 W

Page 1346

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

Page 1347

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

Page 1348

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

Page 1349

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

Page 1350

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

Page 1351

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

Page 1352

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

Page 1353

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

Page 1354

059249,000619: 27,3302           00027                                    TFF1/ALF                              #  1/ALFA  E:(-22-2NA) M:(-20-2NA)
059250,000620: 27,3303           57575                                    1,2                                   #  X2=-NA
059251,000621: 27,3304           53765                           SIGN     SL*                                   
059252,000622: 27,3305           00045                                    TFFTEM                                #  AFFIX SIGN FOR SDELF
059253,000623: 27,3306           57576                                    0,2                                   
059254,000624: 27,3307           14045                           STODL    TFFTEM                                #  P/ALFA  E:(-59+2NR) M:(-55+2NR)
059255,000625:                                                                                                  #  (ARG FOR USE IN TFF/TRIG)
059256,000626: 27,3310           00027                                    TFF1/ALF                              #  1/ALFA  E:(-22-2NA) M:(-20-2NA)
059257,000627: 27,3311           41366                           SQRT     DMP                                   
059258,000628: 27,3312           17347                                    PI/16                                 #  PI (-4)
059259,000629: 27,3313           77615                           DAD                                            
059260,000630:                                                                                                  #  2(XT(X)-1)/Z ALFA FROM PDL    E:(-15-NA)
059261,000631:                                                                                                  #                                M:(-14-NA)
059262,000632: 27,3314           45257                           SL*      DSU                                   
059263,000633: 27,3315           57577                                    0          -1,2                       
059264,000634: 27,3316           00013                                    TFFDELQ                               #  Q2-Q1  E:(-16) M:(-15)
059265,000635: 27,3317           53605                           DMP      SL*                                   
059266,000636: 27,3320           00027                                    TFF1/ALF                              #  1/ALFA  E:(-22-2NA) M:(-20-2NA)
059267,000637: 27,3321           57601                                    0          -3,2                       
059268,000638: 27,3322           52057                           SL*      GOTO                                  
059269,000639: 27,3323           57602                                    0          -4,2                       
059270,000640: 27,3324           57231                                    ENDTFF                                #  TFF SQRT(MU) IN MPAC E:(-45) M:(-42)
059271,000641: 

Page 1355

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

Page 1356

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

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