Source Code

This source code is very close to the Apollo Guidance Computer software for the Apollo 13 Lunar module. This revision of the Luminary 131 program is from December of 1969, whereas there was a later revision in January of 1970, and still another revision in February, which is the code that flew on the mission. As far as this transcription is concerned, it was originally from a copy made in 1991 of a printout from the collection of AGC developer Don Eyles for collector David Craig. It was subsequently scanned by Gary Neff, reprocessed for online presentation at the now-discontinued History of Recent Science and Technology (HRST) website of MIT's Dibner Institute (the full-quality scans being discarded in the process), and finally transcribed by Ron Burkey for the Virtual AGC Project. Although a high-quality replacement scan for a completely illegible page was later provided by Gary Neff, the reduced legibility of the reprocessed HRST posting nevertheless caused many errors to be introduced into the transcription. Accordingly, a second scan of the same physical printout was made in 2017 for the Virtual AGC Project's collection at the Internet Archive, and used to correct the transcription errors. All of the scanned materials mentioned, as well as other Luminary 131 related material, are available online. Don Eyles apprently made additional hand-written notes in printout between 1991 and 2017, so the two scans are not identical in that respect. The page-headings in the printout read, in part:
	GAP:  ASSEMBLE REVISION 131 OF AGC PROGRAM LUMINARY BY NASA 2021112-091
	17:53 DEC. 19, 1969
Note that the date is the date the printout was made, not the date on which the program revision was released, although these happen to be very close together.

053003,000002:                                                                                                  ## Copyright:   Public domain.
053004,000003:                                                                                                  ## Filename:    TIME_OF_FREE_FALL.agc
053005,000004:                                                                                                  ## Purpose:     A section of Luminary 1C, revision 131.
053006,000005:                                                                                                  ##              It is part of the source code for the Lunar Module's (LM)
053007,000006:                                                                                                  ##              Apollo Guidance Computer (AGC) for Apollo 13.
053008,000007:                                                                                                  ##              This file is intended to be a faithful transcription, except
053009,000008:                                                                                                  ##              that the code format has been changed to conform to the
053010,000009:                                                                                                  ##              requirements of the yaYUL assembler rather than the
053011,000010:                                                                                                  ##              original YUL assembler.
053012,000011:                                                                                                  ## Reference:   pp. 1260-1275
053013,000012:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
053014,000013:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
053015,000014:                                                                                                  ## Mod history: 06/03/03 RSB.   Began transcribing.
053016,000015:                                                                                                  ##              05/14/05 RSB    Corrected website reference above
053017,000016:                                                                                                  ##              2010-10-25 JL   Indentation fixes.
053018,000017:                                                                                                  ##              2017-01-06 RSB  Page numbers now agree with those on the
053019,000018:                                                                                                  ##                              original hardcopy, as opposed to the PDF page
053020,000019:                                                                                                  ##                              numbers in 1701.pdf.
053021,000020:                                                                                                  ##              2017-02-27 RSB  Proofed comment text using octopus/ProoferComments.
053022,000021:                                                                                                  ##              2017-03-14 RSB  Comment-text fixes noted in proofing Luminary 116.
053023,000022:                                                                                                  ##              2017-03-16 RSB  Comment-text fixes identified in 5-way
053024,000023:                                                                                                  ##                              side-by-side diff of Luminary 69/99/116/131/210.
053025,000024: 

Page 1260

053027,000026:                                                                                                  #  THE TFF SUBROUTINES MAY BE USED IN EITHER EARTH OR MOON CENTERED COORDINATES.  THE TFF ROUTINES NEVER
053028,000027:                                                                                                  #  KNOW WHICH ORIGIN APPLIES.  IT IS THE USER WHO KNOWS, AND WHO SUPPLIES RONE, VONE AND 1/SQRT(MU) AT THE
053029,000028:                                                                                                  #  APPROPRIATE SCALE LEVEL FOR THE PROPER PRIMARY BODY.
053030,000029: 
053031,000030:                                                                                                  #        EARTH ORIGIN    POSITION        -29     METERS
053032,000031:                                                                                                  #                        VELOCITY        -7      METERS/CENTISECOND
053033,000032:                                                                                                  #                        1/SQRT(MU)      +17     SQRT(CS SQ/METERS CUBED)
053034,000033: 
053035,000034:                                                                                                  #        MOON ORIGIN     POSITION        -27     METERS
053036,000035:                                                                                                  #                        VELOCITY        -5      METERS/CENTISECONDS
053037,000036:                                                                                                  #                        1/SQRT(MU)      +14     SQRT(CS SQ/METERS CUBED)
053038,000037: 
053039,000038:                                                                                                  #  ALL DATA PROVIDED TO AND RECEIVED FROM ANY TFF SUBROUTINE WILL BE AT ONE OF THE LEVELS ABOVE.  IN ALL CASES,
053040,000039:                                                                                                  #  THE FREE FALL TIME IS RETURNED IN CENTISECONDS AT (-28).  PROGRAM TFF/CONIC WILL GENERATE VONE/RTMU AND
053041,000040:                                                                                                  #  LEAVE IT IN VONE' AT (+10) IF EARTH ORIGIN AND (+9) IF MOON ORIGIN.
053042,000041: 
053043,000042:                                                                                                  #  THE USER MUST STORE THE STATE VECTOR IN RONE, VONE AND MU IN THE FORM 1/SQRT(MU) IN TFF/RTMU
053044,000043:                                                                                                  #  AT THE PROPER SCALE BEFORE CALLING TFF/CONIC.  SINCE RONE, VONE ARE IN THE EXTENDED VERB STORAGE AREA,
053045,000044:                                                                                                  #  THE USER MUST ALSO LOCK OUT THE EXTENDED VERBS, AND RELEASE THEM WHEN FINISHED.
053046,000045: 
053047,000046:                                                                                                  #  PROGRAMS CALC/TFF AND CALC/TPER ASSUME THAT THE TERMINAL RADIUS IS LESS THAN THE PRESENT
053048,000047:                                                                                                  #  RADIUS.  THIS RESTRICTION CAN BE REMOVED BY A 15 W CODING CHANGE, BUT AT PRESENT IT IS NOT DEEMED NECESSARY.
053049,000048: 
053050,000049:                                                                                                  #  THE FOLLOWING ERASABLE QUANTITIES ARE USED BY THE TFF ROUTINES, AND ARE LOCATED IN THE PUSH LIST.
053051,000050: 
053052,000051:                                                                                                  #                                        BELOW   E:  IS USED FOR EARTH ORIGIN SCALE
053053,000052:                                                                                                  #                                                M:  IS USED FOR MOON  ORIGIN SCALE
053054,000053: 
053055,000054:                                                                                                  # TFFSW          =       119D            BIT1    0 = CALCTFF             1 = CALCTPER
053056,000055: 10,2213                        TFFDELQ            =        10D                                   #  Q2-Q1                 E: (-16)  M: (-15)
053057,000056: 10,2213                        RMAG1              =        12D                                   #  ABVAL(RN)  M          E: (-29)  M: (-27)
053058,000057:                                                                                                  # RPER           =       14D             PERIGEE RADIUS  M       E: (-29)  M: (-27)
053059,000058: 10,2213                        TFFQ1              =        14D                                   #  R.V / SQRT(MUE)               E: (-16)  M: (-15)
053060,000059:                                                                                                  # SDELF/2                                SIN(THETA) /2
053061,000060: 10,2213                        CDELF/2            =        14D                                   #  COS(THETA) /2
053062,000061:                                                                                                  # RAPO           =       16D             APOGEE RADIUS  M        E: (-29)  M: (-27)
053063,000062: 10,2213                        NRTERM             =        16D                                   #  TERMINAL RADIUS  M    E: (-29+NR)
053064,000063:                                                                                                  #                                  M: (-27+NR)
053065,000064: 10,2213                        RTERM              =        18D                                   #  TERMINAL RADIUS  M    E: (-29)  M: (-27)
053066,000065: 10,2213                        TFFVSQ             =        20D                                   #  -(V SQUARED/MU)  1/M  E: (20)   M: (18)
053067,000066: 10,2213                        TFF1/ALF           =        22D                                   #  SEMI MAJ AXIS  M      E: (-22-2 NA)
053068,000067:                                                                                                  #                                  M: (-20-2 NA)
053069,000068: 10,2213                        TFFRTALF           =        24D                                   #  SQRT(ALFA)            E:(10+NA) M: (9+NA)
053070,000069: 10,2213                        TFFALFA            =        26D                                   #  ALFA  1/M             E:(26-NR) M: (24-NR)
053071,000070: 10,2213                        TFFNP              =        28D                                   #  SEMI LATUS RECTUM  M  E: (-38+2 NR)
053072,000071:                                                                                                  #                                  M: (-36+2 NR)
053073,000072: 10,2213                        TFF/RTMU           =        30D                                   #  1/SQRT(MU)            E: (17)   M: (14)
053074,000073: 10,2213                        NRMAG              =        32D                                   #  PRESENT RADIUS  M     E: (-29+NR)
053075,000074:                                                                                                  #                                  M: (-27+NR)
053076,000075: 10,2213                        TFFX               =        34D                                   
053077,000076: 10,2213                        TFFTEM             =        36D                                   #  TEMPORARY

Page 1261

053079,000078:                                                                                                  #                REGISTERS S1, S2 ARE UNTOUCHED BY ANY TFF SUBROUTINE
053080,000079:                                                                                                  #                INDEX REGISTERS X1, X2 ARE USED BY ALL TFF SUBROUTINES.  THEY ARE ESTAB-
053081,000080:                                                                                                  #                LISHED IN TFF/CONIC AND MUST BE PRESERVED BETWEEN CALLS TO SUBSEQUENT
053082,000081:                                                                                                  #                SUBROUTINES.
053083,000082:                                                                                                  #                -NR                             C(X1) = NORM COUNT OF RMAG
053084,000083:                                                                                                  #                -NA                             C(X2) = NORM COUNT OF SQRT(ABS(ALFA))
053085,000084: 

Page 1262

053087,000086:                                                                                                  #  SUBROUTINE NAME:  TFFCONIC                    DATE:  01.29.67
053088,000087:                                                                                                  #  MOD NO:  0                                    LOG SECTION:  TIME OF FREE FALL
053089,000088:                                                                                                  #  MOD BY:  RR BAIRNSFATHER
053090,000089:                                                                                                  #  MOD NO:  1    MOD BY:  RR BAIRNSFATHER        DATE: 11 APR 67
053091,000090:                                                                                                  #  MOD NO:  2    MOD BY:  RR BAIRNSFATHER        DATE: 21 NOV 67         ADD MOON MU.
053092,000091:                                                                                                  #  MOD NO:  3    MOD BY:  RR BAIRNSFATHER        DATE: 21 MAR 68         ACCEPT DIFFERENT EARTH/MOON SCALES
053093,000092: 
053094,000093:                                                                                                  #  FUNCTIONAL DESCRIPTION:  THIS SUBROUTINE IS CALLED TO COMPUTE THOSE CONIC PARAMETERS REQUIRED BY THE TFF
053095,000094:                                                                                                  #        SUBROUTINES AND TO ESTABLISH THEM IN THE PUSH LIST AREA.  THE PARAMETERS ARE LISTED UNDER OUTPUT.
053096,000095:                                                                                                  #        THE EQUATIONS ARE
053097,000096:                                                                                                  #                -   -  -
053098,000097:                                                                                                  #                H = RN*VN                       ANGULAR MOMENTUM
053099,000098:                                                                                                  #                      - -
053100,000099:                                                                                                  #                LCP = H.H / MU                  SEMI LATUS RECTUM
053101,000100:                                                                                                  #                              -  -
053102,000101:                                                                                                  #                ALFA = 2/RN - VN.VN / MU        RECIPROCAL SEMI MAJ AXIS, SIGNED
053103,000102: 
053104,000103:                                                                                                  #        AND ALFA IS POS FOR ELLIPTIC ORBITS
053105,000104:                                                                                                  #                      0 FOR PARABOLIC ORBITS
053106,000105:                                                                                                  #                    NEG FOR HYPERBOLIC ORBITS.
053107,000106:                                                                                                  #        SUBROUTINE ALSO COMPUTES AND SAVES RMAG.
053108,000107: 
053109,000108:                                                                                                  #  CALLING SEQUENCE:
053110,000109:                                                                                                  #        TFFCONIC EXPECTS CALLER TO ENTER WITH CORRECT GRAVITATIONAL CONSTANT IN MPAC, IN THE FORM
053111,000110:                                                                                                  #        1/SQRT(MU).  PROGRAM WILL SAVE IN TFF/RTMU  . THE SCALE IS DETERMINED BY WHETHER EARTH OR MOON
053112,000111:                                                                                                  #        ORIGIN IS USED.  THE CALLER MUST LOCK OUT THE EXTENDED VERBS BEFORE PROVIDING STATE VECTOR IN RONE,
053113,000112:                                                                                                  #        VONE AT PROPER SCALE.  THE EXTENDED VERBS MUST BE RESTORED WHEN THE CALLER IS FINISHED USING THE
053114,000113:                                                                                                  #        TFF ROUTINES.
053115,000114: 
053116,000115:                                                                                                  #        ENTRY POINT TFFCONMU EXPECTS THAT TFF/RTMU IS ALREADY LOADED.
053117,000116: 
053118,000117:                                                                                                  #        TO SPECIFY MU:  DLOAD   CALL            IF MU ALREADY STORED:           CALL
053119,000118:                                                                                                  #                                YOURMU          1/RTMU E:(17) M:(14)                    TFFCONMU
053120,000119:                                                                                                  #                                TFFCONIC
053121,000120:                                                                                                  #        PUSHLOC = PDL+0, ARBITRARY IF LEQ 18D
053122,000121: 
053123,000122:                                                                                                  #  SUBROUTINES CALLED:  NONE
053124,000123: 
053125,000124:                                                                                                  #  NORMAL EXIT MODES:  RVQ
053126,000125: 
053127,000126:                                                                                                  #  ALARMS:  NONE
053128,000127: 
053129,000128:                                                                                                  #  OUTPUT:       THE FOLLOWING ARE STORED IN THE PUSH LIST AREA.
053130,000129:                                                                                                  #                RMAG1           E:(-29) M:(-27)         M  RN, PRESENT RADIUS LENGTH.
053131,000130:                                                                                                  #                NRMAG           E:(-29+NR)              M  RMAG, NORMALIZED
053132,000131:                                                                                                  #                                M:(-27+NR)
053133,000132:                                                                                                  #                X1                                      -NR, NORM COUNT
053134,000133:                                                                                                  #                TFFNP           E:(-38+2NR)             M  LCP, SEMI LATUS RECTUM, WEIGHTED BY NR.  FOR VGAMCALC
053135,000134:                                                                                                  #                                M:(-36+2NR)
053136,000135:                                                                                                  #                TFF/RTMU        E:(17) M:(14)           1/SQRT(MU)
053137,000136:                                                                                                  #                TFFVSQ          E:(20) M:(18)           1/M  -(V SQ/MU):  PRESENT VELOCITY, NORMLIZED.  FOR VGAMCALC
053138,000137:                                                                                                  #                TFFALFA         E:(26-NR)               1/M  ALFA, WEIGHTED BY NR
053139,000138:                                                                                                  #                                M:(24-NR)
053140,000139:                                                                                                  #                TFFRTALF        E:(10+NA)               SQRT(ALFA), NORMALIZED
053141,000140:                                                                                                  #                                M:(9+NA)

Page 1263

053143,000142:                                                                                                  #                X2                                      -NA, NORMCOUNT
053144,000143:                                                                                                  #                TFF1/ALF        E:(-22-2NA)             SIGNED SEMI MAJ AXIS, WEIGHTED BY NA
053145,000144:                                                                                                  #                                M:(-20-2NA)
053146,000145:                                                                                                  #                PUSHLOC AT PDL+0
053147,000146: 
053148,000147:                                                                                                  #        THE FOLLOWING IS STORED IN GENERAL ERASABLE
053149,000148:                                                                                                  #                VONE'           E:(10) M:(9)            V/RT(MU), NORMALIZED VELOCITY
053150,000149: 
053151,000150:                                                                                                  #  ERASABLE INITIALIZATION REQUIRED:
053152,000151:                                                                                                  #                RONE            E:(-29) M:(-27)         M  STATE VECTOR         LEFT BY CALLER
053153,000152:                                                                                                  #                VONE            E:(-7) M:(-5)           M/CS  STATE VECTOR      LEFT BY CALLER
053154,000153:                                                                                                  #                TFF/RTMU        E:(17) M:(14)           1/RT(CS SQ/M CUBE)      IF ENTER VIA TFFCONMU.
053155,000154: 
053156,000155:                                                                                                  #  DEBRIS:       QPRET,          PDL+0 ... PDL+3
053157,000156: 
053158,000157: 33,3760                                           BANK     33                                    
053159,000158: 27,2000                                           SETLOC   TOF-FF                                
053160,000159: 27,2000                                           BANK                                           
053161,000160: 
053162,000161: 27,3361                                           COUNT*   $$/TFF                                
053163,000162: 
053164,000163: 27,3361           00037        TFFCONIC           STORE    TFF/RTMU                              #  1/SQRT(MU)    E:(17) M:(14)
053165,000164: 
053166,000165: 27,3362           53575        TFFCONMU           VLOAD    UNIT                                  #  COME HERE WITH TFFRTMU LOADED.
053167,000166: 27,3363           02207                                    RONE                                  #  SAVED RN.  M  E:(-29) M:(-27)
053168,000167: 27,3364           77725                           PDDL                                           #  UR/2 TO PDL+0, +5
053169,000168: 27,3365           00045                                    36D                                   #  MAGNITUDE
053170,000169: 27,3366           00015                           STORE    RMAG1                                 #  M  E:(-29) M:(-27)
053171,000170: 
053172,000171: 27,3367           77701                           NORM                                           
053173,000172: 27,3370           00047                                    X1                                    #  -NR
053174,000173: 27,3371           24041                           STOVL    NRMAG                                 #  RMAG  M  E:(-29+NR) M:(-27+NR)
053175,000174: 27,3372           02215                                    VONE                                  #  SAVED VN.  M/CS  E:(-7) M:(-5)
053176,000175: 27,3373           77761                           VXSC                                           
053177,000176: 27,3374           00037                                    TFF/RTMU                              #  E:(17) M:(14)
053178,000177: 27,3375           02170                           STORE    VONE'                                 #  VN/SQRT(MU)  E:(10) M:(9)
053179,000178: 
053180,000179: 27,3376           47361                           VXSC     VXV                                   
053181,000180: 27,3377           00041                                    NRMAG                                 #  E:(-29+NR) M:(-27+NR)
053182,000181:                                                                                                  #  UR/2 FROM PDL
053183,000182: 27,3400           47572                           VSL1     VSQ                                   #  BEFORE:  E:(-19+NR) M:(-18+NR)
053184,000183: 27,3401           14035                           STODL    TFFNP                                 #  LC P  M  E:(-38+2NR) M:(-36+2NR)
053185,000184:                                                                                                  #  SAVE ALSO FOR VGAMCALC
053186,000185: 27,3402           06514                                    TFF1/4                                
053187,000186: 27,3403           63271                           DDV      PDVL                                  #  (2/RMAG)  1/M  E:(26-NR) M:(24-NR)
053188,000187: 27,3404           00041                                    NRMAG                                 #  RMAG  M  E:(-29+NR) M:(-27+NR)
053189,000188: 27,3405           02170                                    VONE'                                 #  SAVED VN.  E:(10) M:(9)
053190,000189: 27,3406           57436                           VSQ      DCOMP                                 #  KEEP MPAC+2 HONEST FOR SQRT.
053191,000190: 27,3407           00025                           STORE    TFFVSQ                                #  -(V SQ/MU)  E:(20) M:(18)
053192,000191:                                                                                                  #  SAVE FOR VGAMCALC
053193,000192: 27,3410           43257                           SR*      DAD                                   

Page 1264

053195,000194: 27,3411           20573                                    0          -6,1                       #  GET -VSQ/MU  E:(26-NR) M:(24-NR)
053196,000195: 27,3412           77626                           STADR                                          
053197,000196:                                                                                                  #  2/RMAG  FROM PDL+2
053198,000197: 27,3413           77744                           STORE    TFFALFA                               #  ALFA  1/M  E:(26-NR) M:(24-NR)
053199,000198: 27,3414           41457                           SL*      PUSH                                  #  TEMP SAVE ALFA  E:(20) M:(18)
053200,000199: 27,3415           20173                                    0          -6,1                       
053201,000200: 27,3416           75446                           ABS      SQRT                                  #  E:(10) M:(9)
053202,000201: 27,3417           77701                           NORM                                           
053203,000202: 27,3420           00050                                    X2                                    #  X2 = -NA
053204,000203: 27,3421           00031                           STORE    TFFRTALF                              #  SQRT( ABS(ALFA) )  E:(10+NA) M:(9+NA)
053205,000204: 27,3422           75316                           DSQ      SIGN                                  #  NOT SO ACCURATE, BUT OK
053206,000205:                                                                                                  #  ALFA FROM PDL+2  E:(20) M:(18)
053207,000206: 27,3423           55254                           BZE      BDDV                                  #  SET 1/ALFA =0, TO SHOW SMALL ALFA
053208,000207: 27,3424           57426                                    +2                                    
053209,000208: 27,3425           06514                                    TFF1/4                                
053210,000209: 27,3426           00027                 +2        STORE    TFF1/ALF                              #  1/ALFA  E:(-22-2NA) M:(-20-2NA)
053211,000210: 27,3427           77616        DUMPCNIC           RVQ                                            
053212,000211: 
053213,000212:                                                                                                  #                        39 W

Page 1265

053215,000214:                                                                                                  #  SUBROUTINE NAME:  TFFRP/RA                    DATE: 01.17.67
053216,000215:                                                                                                  #  MOD NO:  0                                    LOG SECTION:  TIME OF FREE FALL
053217,000216:                                                                                                  #  MOD BY:  RR BAIRNSFATHER
053218,000217:                                                                                                  #  MOD NO:  1    MOD BY:  RR BAIRNSFATHER        DATE: 11 APR 67
053219,000218:                                                                                                  #  MOD NO:  2    MOD BY:  RR BAIRNSFATHER        DATE: 21 MAR 68         ACCEPT DIFFERENT EARTH/MOON SCALES
053220,000219:                                                                                                  #                                                                        ALSO IMPROVE ACCURACY OF RAPO.
053221,000220: 
053222,000221:                                                                                                  #  FUNCTIONAL DESCRIPTION:  USED BY CALCTPER AND TFF DISPLAYS TO CALCULATE PERIGEE RADIUS AND ALSO
053223,000222:                                                                                                  #        APOGEE RADIUS FOR A GENERAL CONIC.
053224,000223:                                                                                                  #        PROGRAM GIVES PERIGEE RADIUS AS         APOGEE RADIUS IS GIVEN BY
053225,000224:                                                                                                  #                RP = P/(1+E)                            RA = (1+E) / ALFA
053226,000225:                                                                                                  #        WHERE    2
053227,000226:                                                                                                  #                E  = 1 - P ALFA
053228,000227:                                                                                                  #        IF RA IS NEGATIVE OR SHOWS DIVIDE OVERFLOW, THEN RA = POSMAX BECAUSE
053229,000228:                                                                                                  #                1. APOGEE RADIUS IS NOT MEANINGFUL FOR HYPERBOLA
053230,000229:                                                                                                  #                2. APOGEE RADIUS IS NOT DEFINED FOR PARABOLA
053231,000230:                                                                                                  #                3. APOGEE RADIUS EXCEEDS THE SCALING FOR ELLIPSE.
053232,000231: 
053233,000232:                                                                                                  #        THIS SUBROUTINE REQUIRES THE SIGNED RECIPROCAL SEMI MAJ AXIS, ALFA, AND SEMI LATUS RECTUM AS DATA.
053234,000233: 
053235,000234:                                                                                                  #  CALLING SEQUENCE:     CALL
053236,000235:                                                                                                  #                                TFFRP/RA
053237,000236:                                                                                                  #        PUSHLOC = PDL+0, ARBITRARY IF LEQ 10D
053238,000237:                                                                                                  #        C(MPAC) UNSPECIFIED
053239,000238: 
053240,000239:                                                                                                  #  SUBROUTINES CALLED:   NONE
053241,000240: 
053242,000241:                                                                                                  #  NORMAL EXIT MODE:     RVQ
053243,000242:                                                                                                  #        IF ELLIPSE, WITHIN NORMAL SCALING, RAPO IS CORRECT.
053244,000243:                                                                                                  #        OTHERWISE, RAPO = POSMAX.
053245,000244: 
053246,000245:                                                                                                  #  ALARMS:       NONE
053247,000246: 
053248,000247:                                                                                                  #  OUTPUT:       STORED IN PUSH LIST AREA.  SCALE OF OUTPUT AGREES WITH DATA SUPPLIED TO TFF/CONIC.
053249,000248:                                                                                                  #        RPER    E:(-29) M:(-27)         M       PERIGEE RADIUS          DESTROYED BY CALCTFF/CALCTPER, TFFTRIG.
053250,000249:                                                                                                  #        RAPO    E:(-29) M:(-27)         M       APOGEE RADIUS           WILL BE DESTROYED BY CALCTFF/CALCTPER
053251,000250:                                                                                                  #        PUSHLOC AT PDL+0
053252,000251: 
053253,000252:                                                                                                  #  ERASABLE INITIALIZATION REQUIRED:
053254,000253:                                                                                                  #        TFFALFA E:(26-NR)               M       1/SEMI MAJ AXIS         LEFT BY TFFCONIC
053255,000254:                                                                                                  #                M:(24-NR)
053256,000255:                                                                                                  #        TFFNP   E:(-38+2NR)             M       LC P, SEMI LATUS RECTUM LEFT BY TFFCONIC
053257,000256:                                                                                                  #                M:(-36+2NR)
053258,000257:                                                                                                  #        X1                              -NR, NORM COUNT OF RMAG         LEFT BY TFFCONIC
053259,000258:                                                                                                  #        X2                              -NA, NORM COUNT OF ALFA         LEFT BY TFFCONIC
053260,000259: 
053261,000260:                                                                                                  #  DEBRIS:       QPRET, PDL+0 ... PDL+1
053262,000261: 

Page 1266

053264,000263: 27,3430                        RAPO               =        16D                                   #  APOGEE RADIUS  M  E:(-29) M:(-27)
053265,000264: 27,3430                        RPER               =        14D                                   #  PERIGEE RADIUS  M  E:(-29) M:(-27)
053266,000265: 
053267,000266: 27,3430           41345        TFFRP/RA           DLOAD    DMP                                   
053268,000267: 27,3431           00033                                    TFFALFA                               #  ALFA  1/M  E:(26-NR) M:(24-NR)
053269,000268: 27,3432           00035                                    TFFNP                                 #  LC P  M E:(-38+2NR) M:(-36+2NR)
053270,000269: 27,3433           57457                           SR*      DCOMP                                 #  ALFA P (-12+NR)
053271,000270: 27,3434           20571                                    0          -8D,1                      #  ALFA P (-4)
053272,000271: 27,3435           51415                           DAD      ABS                                   #  (DCOMP GIVES VALID TP RESULT FOR SQRT)
053273,000272:                                                                                                  #  (ABS PROTECTS SQRT IF E IS VERY NEAR 0)
053274,000273: 27,3436           17766                                    DP2(-4)                               
053275,000274: 27,3437           43366                           SQRT     DAD                                   #  E SQ = (1- P ALFA) (-4)
053276,000275: 27,3440           06514                                    TFF1/4                                
053277,000276: 27,3441           55206                           PUSH     BDDV                                  #  (1+E)  (-2)  TO PDL+0
053278,000277: 27,3442           00035                                    TFFNP                                 #  LCP  M  E:(-38+2NR) M:(-36+2NR)
053279,000278: 27,3443           53657                           SR*      SR*                                   #  (DOES SR THEN SL TO AVOID OVFL)
053280,000279: 27,3444           20601                                    0,1                                   #  X1=-NR
053281,000280: 27,3445           20572                                    0          -7,1                       #  (EFFECTIVE SL)
053282,000281: 27,3446           14017                           STODL    RPER                                  #  PERIGEE RADIUS  M  E:(-29) M:(-27)
053283,000282:                                                                                                  #  (1+E)  (-2)  FROM PDL+0
053284,000283: 27,3447           41005                           DMP      BOVB                                  
053285,000284: 27,3450           00027                                    TFF1/ALF                              #  E:(-22-2NA) M:(-20-2NA)
053286,000285: 27,3451           57754                                    TCDANZIG                              #  CLEAR OVFIND, IF ON.
053287,000286: 27,3452           53654                           BZE      SL*                                   
053288,000287: 27,3453           57462                                    MAXRA                                 #  SET POSMAX, IF ALFA=0
053289,000288: 27,3454           57603                                    0          -5,2                       #  -5+NA
053290,000289: 27,3455           40057                           SL*      BOV                                   
053291,000290: 27,3456           57576                                    0,2                                   
053292,000291: 27,3457           57462                                    MAXRA                                 #  SET POSMAX IF OVFL.
053293,000292: 27,3460           77644                           BPL                                            #  CONTINUE WITH VALID RAPO.
053294,000293: 27,3461           57464                                    +3                                    
053295,000294: 27,3462           77745        MAXRA              DLOAD                                          #  RAPO CALC IS NOT VALID.  SET RAPO =
053296,000295: 27,3463           17772                                    NEARONE                               #  POSMAX AS A TAG.
053297,000296: 27,3464           00021                 +3        STORE    RAPO                                  #  APOGEE RADIUS  M  E:(-29) M:(-27)
053298,000297: 27,3465           77616        DUMPRPRA           RVQ                                            
053299,000298: 
053300,000299:                                                                                                  #                        30 W
053301,000300: 

Page 1267

053303,000302:                                                                                                  #  SUBROUTINE NAME:  CALCTPER / CALCTFF          DATE:  01.29.67
053304,000303:                                                                                                  #  MOD NO:  0                                    LOG SECTION:  TIME OF FREE FALL
053305,000304:                                                                                                  #  MOD BY:  RR BAIRNSFATHER
053306,000305:                                                                                                  #  MOD NO:  1    MOD BY:  RR BAIRNSFATHER        DATE: 21 MAR 67
053307,000306:                                                                                                  #  MOD NO:  2    MOD BY:  RR BAIRNSFATHER        DATE: 14 APR 67
053308,000307:                                                                                                  #  MOD NO:  3    MOD BY:  RR BAIRNSFATHER        DATE: 8 JUL 67          NEAR EARTH MUE AND NEG TFF (GONEPAST)
053309,000308:                                                                                                  #  MOD NO:  4    MOD BY:  RR BAIRNSFATHER        DATE: 21 NOV 67         ADD VARIABLE MU.
053310,000309:                                                                                                  #  MOD NO:  5    MOD BY:  RR BAIRNSFATHER        DATE: 21 MAR 68         ACCEPT DIFFERENT EARTH/MOON SCALES
053311,000310: 
053312,000311:                                                                                                  #  FUNCTIONAL DESCRIPTION:  PROGRAM CALCULATES THE FREE-FALL TIME OF FLIGHT FROM PRESENT POSITION RN AND
053313,000312:                                                                                                  #        VELOCITY VN TO A RADIUS LENGTH SPECIFIED BY RTERM, SUPPLIED BY THE USER.  THE POSITION VECTOR
053314,000313:                                                                                                  #        RN MAY BE ON EITHER SIDE OF THE CONIC, BUT RTERM IS CONSIDERED ON THE INBOUND SIDE.
053315,000314:                                                                                                  #        THE EQUATIONS ARE
053316,000315: 
053317,000316:                                                                                                  #                Q2 = -SQRT(RTERM (2-RTERM ALFA) - LCP)  (INBOUND SIDE)) LEQ +- LCE/SQRT(ALFA)
053318,000317:                                                                                                  #                     -  -
053319,000318:                                                                                                  #                Q1 = RN.VN / SQRT(MU)                                   LEQ +- LCE/SQRT(ALFA)
053320,000319: 
053321,000320:                                                                                                  #                Z = NUM / DEN                                           LEQ +- 1/SQRT(ALFA)
053322,000321: 
053323,000322:                                                                                                  #        WHERE, IF INBOUND
053324,000323:                                                                                                  #                NUM = RTERM -RN                                         LEQ +- 2 LCE/ALFA
053325,000324:                                                                                                  #                DEN = Q2+Q1                                             LEQ +- 2 LCE/SQRT(ALFA)
053326,000325: 
053327,000326:                                                                                                  #        AND, IF OUTBOUND
053328,000327:                                                                                                  #                NUM = Q2-Q1                                             LEQ +- 2 LCE/SQRT(ALFA)
053329,000328:                                                                                                  #                DEN = 2 - ALFA (RTERM + RN).                            LEQ +- 2 LCE
053330,000329: 
053331,000330:                                                                                                  #        IF      ALFA ZZ < 1.0           (FOR ALL CONICS EXCEPT ELLIPSES HAVING ABS(DEL ECC ANOM) G 90 DEG)
053332,000331:                                                                                                  #        THEN    X = ALFA Z Z
053333,000332:                                                                                                  #        AND     TFF = (RTERM +RN -2 ZZ T(X) ) Z/SQRT(MU)
053334,000333:                                                                                                  #                EXCEPT  IF ALFA PNZ, AND IF TFF NEG,
053335,000334:                                                                                                  #                THEN    TFF = 2 PI /(ALFA SQRT(ALFA)) + TFF
053336,000335:                                                                                                  #        OR      IF ALFA ZZ GEQ 1.0      (FOR ELLIPSES HAVING ABS(DEL ECC ANOM) GEQ 90 DEG)
053337,000336:                                                                                                  #        THEN    X = 1/ALFA Z Z
053338,000337:                                                                                                  #        AND     TFF = (PI/SQRT(ALFA) -Q2 +Q1 +2(X T(X) -1) /ALFA Z) /ALFA SQRT(MU)
053339,000338:                                                                                                  #        WHERE   T(X) IS A POLYNOMIAL APPROXIMATION TO THE SERIES
053340,000339:                                                                                                  #                             2      3             2
053341,000340:                                                                                                  #                1/3 - X/5 + X /7 - X /9 ...     (X  < 1.0)
053342,000341: 
053343,000342:                                                                                                  #  CALLING SEQUENCE:     TIME TO RTERM                   TIME TO PERIGEE
053344,000343:                                                                                                  #                        CALL                            CALL
053345,000344:                                                                                                  #                                CALCTFF                         CALCTPER
053346,000345:                                                                                                  #                        C(MPAC) = TERMNL RAD M          C(MPAC) = PERIGEE RAD M
053347,000346:                                                                                                  #        FOR EITHER, E:(-29) M:(-27)
053348,000347:                                                                                                  #        FOR EITHER, PUSHLOC = PDL+0, ARBITRARY IF LEQ 8D.

Page 1268

053350,000349: 
053351,000350:                                                                                                  #  SUBROUTINES CALLED:   T(X), VIA RTB
053352,000351: 
053353,000352:                                                                                                  #  NORMAL EXIT MODE:     RVQ
053354,000353:                                                                                                  #        HOWEVER, PROGRAM EXITS WITH ONE OF THE FOLLOWING VALUES FOR TFF (-28) CS IN MPAC.  USER MUST STORE.
053355,000354:                                                                                                  #                A. TFF = FLIGHT TIME.  NORMAL CASE FOR POSITIVE FLIGHT TIME LESS THAN ONE ORBITAL PERIOD.
053356,000355:                                                                                                  #                B. (THIS OPTION IS NO LONGER USED.)
053357,000356:                                                                                                  #                C. TFF = POSMAX.  THIS INDICATES THAT THE CONIC FROM THE PRESENT POSITION WILL NOT RETURN TO
053358,000357:                                                                                                  #                   THE SPECIFIED ALTITUDE.  ALSO INDICATES OUTBOUND PARABOLA OR HYPERBOLA.
053359,000358: 
053360,000359:                                                                                                  #  OUTPUT:       C(MPAC)         (-28) CS        TIME OF FLIGHT, OR TIME TO PERIGEE
053361,000360:                                                                                                  #                TFFX            (0)             X,                                      LEFT FOR ENTRY DISPLAY TFF ROUTINES
053362,000361:                                                                                                  #                NRTERM          E:(-29+NR) M    RTERM, WEIGHTED BY NR                   LEFT FOR ENTRY DISPLAY TFF ROUTINES
053363,000362:                                                                                                  #                                M:(-27+NR)
053364,000363:                                                                                                  #                TFFTEM          E:(-59+2NR)     LCP Z Z SGN(SDELF)                      LEFT FOR ENTRY DISPLAY TFF ROUTINES
053365,000364:                                                                                                  #                                M:(-55+2NR)     LCP /ALFA SGN(SDELF)                    LEFT FOR ENTRY DISPLAY TFF ROUTINES
053366,000365:                                                                                                  #                NOTE:   TFFTEM = PDL 36D AND WILL BE DESTROYED BY .:UNIT:.
053367,000366:                                                                                                  #                RMAG1           E:(-29) M:(-27) PDL 12 NOT TOUCHED.
053368,000367:                                                                                                  #                TFFQ1           E:(-16) M:(-15) PDL 14D
053369,000368:                                                                                                  #                TFFDELQ         E:(-16) M:(-15) PDL 10D
053370,000369:                                                                                                  #                PUSHLOC AT PDL+0
053371,000370: 
053372,000371:                                                                                                  #  ERASABLE INITIALIZATION REQUIRED:
053373,000372:                                                                                                  #                RONE            E:(-29) M:(-27) M  STATE VECTOR                         LEFT BY USER
053374,000373:                                                                                                  #                VONE'           E:(+10) M:(+9)  VN/SQRT(MU)                             LEFT BY TFF/CONIC
053375,000374:                                                                                                  #                RMAG1           E:(-29) M:(-27) PRESENT RADIUS, M                       LEFT BY TFFCONIC
053376,000375:                                                                                                  #                C(MPAC)         E:(-29) M:(-27) RTERM, TERMINAL RADIUS LENGTH, M        LEFT BY USER
053377,000376: 
053378,000377:                                                                                                  #                THE FOLLOWING ARE STORED IN THE PUSH LIST AREA.
053379,000378:                                                                                                  #                TFF/RTMU        E:(17) M:(14)   1/SQRT(MU)                              LEFT BY TFFCONIC.
053380,000379:                                                                                                  #                NRMAG           E:(-29+NR)      M  RMAG, NORMALIZED                     LEFT BY TFFCONIC
053381,000380:                                                                                                  #                                M:(-27+NR)
053382,000381:                                                                                                  #                X1                              -NR, NORM COUNT                         LEFT BY TFFCONIC
053383,000382:                                                                                                  #                TFFNP           E:(-38+2NR)     M  LCP, SEMI LATUS RECTUM, WEIGHT NR    LEFT BY TFFCONIC
053384,000383:                                                                                                  #                                M:(-36+2NR)
053385,000384:                                                                                                  #                TFFALFA         E:(26-NR)       1/M  ALFA, WEIGHT NR                    LEFT BY TFFCONIC
053386,000385:                                                                                                  #                                M:(24-NR)
053387,000386:                                                                                                  #                TFFRTALF        E:(10+NA)       SQRT(ALFA), NORMALIZED                  LEFT BY TFFCONIC
053388,000387:                                                                                                  #                                M:(9+NA)
053389,000388:                                                                                                  #                X2                              -NA, NORMCOUNT                          LEFT BY TFFCONIC
053390,000389:                                                                                                  #                TFF1/ALF        E:(-22-2NA)     SIGNED SEMIMAJ AXIS, WEIGHTED BY NA     LEFT BY TFFCONIC
053391,000390:                                                                                                  #                                M:(-20-2NA)
053392,000391: 
053393,000392:                                                                                                  #  DEBRIS:       QPRET, PDL+0 ... PDL+3
053394,000393:                                                                                                  #                RTERM           E:(-29) M:(-27) RTERM, TERMINAL RADIUS LENGTH
053395,000394:                                                                                                  #                RAPO            E:(-29) M:(-27) PDL 16D (=NRTERM)
053396,000395:                                                                                                  #                RPER            E:(-29) M:(-27) PDL 14D (=TFFQ1)
053397,000396: 

Page 1269

053399,000398: 27,3466           77614        CALCTPER           SETGO                                          #  ENTER WITH RPER IN MPAC
053400,000399: 27,3467           03436                                    TFFSW                                 
053401,000400: 27,3470           57473                                    +3                                    
053402,000401: 27,3471           77614        CALCTFF            CLEAR                                          #  ENTER WITH RTERM IN MPAC
053403,000402: 27,3472           03676                                    TFFSW                                 
053404,000403: 27,3473           00023                 +3        STORE    RTERM                                 #  E:(-29) M:(-27)
053405,000404: 27,3474           77657                           SL*                                            
053406,000405: 27,3475           20201                                    0,1                                   #  X1=-NR
053407,000406: 27,3476           00021                           STORE    NRTERM                                #  RTERM  E:(-29+NR) M:(-27+NR)
053408,000407: 27,3477           44205                           DMP      BDSU                                  
053409,000408: 27,3500           00033                                    TFFALFA                               #  ALFA  E:(26-NR) M:(24-NR)
053410,000409: 27,3501           06514                                    TFF1/4                                
053411,000410: 27,3502           41206                           PUSH     DMP                                   #  (2-ALFA RTERM)  (-3)  TO PDL+0
053412,000411: 27,3503           00021                                    NRTERM                                #  E:(-29+NR) M:(-27+NR)
053413,000412: 27,3504           53725                           PDDL     SR*                                   #  RTERM(2-ALFA RTERM) TO PDL+2
053414,000413:                                                                                                  #  E:(-32+NR) M:(-30+NR)
053415,000414: 27,3505           00035                                    TFFNP                                 #  LC P  E:(-38+2NR) M:(-36+2NR)
053416,000415: 27,3506           20573                                    0          -6,1                       #  X1 = -NR
053417,000416: 27,3507           43276                           DCOMP    DAD                                   #  DUE TO SHIFTS, KEEP PRECISION FOR SQRT
053418,000417:                                                                                                  #  RTERM(2-ALFA RTERM) FROM PDL +2
053419,000418:                                                                                                  #  E:(-32+NR) M:(-30+NR)
053420,000419: 27,3510           77657                           SR*                                            #  LEAVE  E:(-32) M:(-30)
053421,000420: 27,3511           20601                                    0,1                                   #  X1 = -NR
053422,000421: 27,3512           71214                           BOFF     DLOAD                                 #  CHECK TFF /TPER SWITCH
053423,000422: 27,3513           03756                                    TFFSW                                 
053424,000423: 27,3514           57516                                    +2                                    #  IF TFF, CONTINUE
053425,000424: 27,3515           06524                                    TFFZEROS                              #  IF TPER, SET Q2 = 0
053426,000425: 27,3516           75440                 +2        BMN      SQRT                                  #  E:(-16) M:(-15)
053427,000426: 27,3517           57651                                    MAXTFF1                               #  NO FREE FALL CONIC TO RTERM FROM HERE
053428,000427:                                                                                                  #  RESET PDL, SET TFF=POSMAX, AND EXIT.
053429,000428: 
053430,000429: 27,3520           41076                           DCOMP    BOVB                                  #  RT IS ON INBOUND SIDE.  ASSURE OVFIND=0
053431,000430: 27,3521           57754                                    TCDANZIG                              #  ANY PORT IN A STORM.
053432,000431: 27,3522           24045                           STOVL    TFFTEM                                #  Q2  E:(-16) M:(-15)
053433,000432: 27,3523           02170                                    VONE'                                 #  VN/SQRT(MU)  E:(10) M:(9)
053434,000433: 27,3524           52441                           DOT      SL3                                   
053435,000434: 27,3525           02207                                    RONE                                  #  SAVED RN.  E:(-29) M:(-27)
053436,000435: 27,3526           00017                           STORE    TFFQ1                                 #  Q1, SAVE FOR GONEPAST TEST.
053437,000436:                                                                                                  #  E:(-16) M:(-15)
053438,000437: 27,3527           44240                           BMN      BDSU                                  
053439,000438: 27,3530           57551                                    INBOUND                               #  USE ALTERNATE Z
053440,000439: 27,3531           00045                                    TFFTEM                                #  Q2  E:(-16) M:(-15)
053441,000440: 
053442,000441:                                                                                                  #  OUTBOUND Z CALC CONTINUES HERE
053443,000442: 
053444,000443: 27,3532           14043                           STODL    TFFX                                  #  NUM=Q2-Q1  E:(-16) M:(-15)
053445,000444: 27,3533           00033                                    TFFALFA                               #  ALFA  E:(26-NR) M:(24-NR)
053446,000445: 27,3534           44205                           DMP      BDSU                                  

Page 1270

053448,000447: 27,3535           00041                                    NRMAG                                 #  RMAG  E:(-29+NR) M:(-27+NR)
053449,000448:                                                                                                  #  (2-RTERM ALFA)  (-3) FROM PDL+0
053450,000449: 27,3536           51406        SAVEDEN            PUSH     ABS                                   #  DEN TO PDL+0  E:(-3) OR (-16)
053451,000450:                                                                                                  #                M:(-3) OR (-15)
053452,000451: 27,3537           40015                           DAD      BOV                                   #  INDETERMINANCY TEST
053453,000452: 27,3540           17760                                    LIM(-22)                              #  =1.0-B(-22)
053454,000453: 27,3541           57562                                    TFFXTEST                              #  GO IF DEN >/= B(-22)
053455,000454: 27,3542           65345                           DLOAD    PDDL                                  #  SET DEN=0 OTHERWISE
053456,000455: 27,3543           06524                                    TFFZEROS                              
053457,000456:                                                                                                  #  XCH ZERO WITH PDL+0
053458,000457: 27,3544           57545                           DLOAD    DCOMP                                 
053459,000458: 27,3545           00033                                    TFFALFA                               #  ALFA  E:(26-NR) M:(24-NR)
053460,000459: 27,3546           71240                           BMN      DLOAD                                 #  FOR TPER:  Z INDET AT DELE/2=0 AND 90.
053461,000460: 27,3547           57656                                    TFFEL1                                #  ASSUME 90, AND LEAVE 0 IN PDL: 1/Z=D/N
053462,000461: 
053463,000462:                                                                                                  #  Z INDET. AT PERIGEE FOR PARAB OR HYPERB.
053464,000463: 27,3550           77616        DUMPTFF1           RVQ                                            #  RETURN TFF =0
053465,000464: 
053466,000465:                                                                                                  #  INBOUND Z CALC CONTINUES HERE
053467,000466: 
053468,000467: 27,3551           77745        INBOUND            DLOAD                                          #  RESET PDL+0
053469,000468: 27,3552           45345                           DLOAD    DSU                                   #  ALTERNATE Z CALC
053470,000469: 27,3553           00023                                    RTERM                                 #  E:(-29) M:(-27)
053471,000470: 27,3554           00015                                    RMAG1                                 #  E:(-29) M:(-27)
053472,000471: 27,3555           14043                           STODL    TFFX                                  #  NUM=RTERM-RN  E:(-29) M:(-27)
053473,000472: 27,3556           00045                                    TFFTEM                                #  Q2  E:(-16) M:(-15)
053474,000473: 27,3557           52015                           DAD      GOTO                                  
053475,000474: 27,3560           00017                                    TFFQ1                                 #  Q1  E:(-16) M:(-15)
053476,000475: 27,3561           57536                                    SAVEDEN                               #  DEN = Q2+Q1  E:(-16) M:(-15)
053477,000476: 
053478,000477: 27,3562           65215        TFFXTEST           DAD      PDDL                                  #  (ABS(DEN) TO PDL+2))  E:(-3) OR (-16)
053479,000478:                                                                                                  #                        M:(-3) OR (-15)
053480,000479: 27,3563           17762                                    DP(-22)                               #  RESTORE ABS(DEN) TO MPAC
053481,000480: 27,3564           00043                                    TFFX                                  #  NUM  E:(-16) OR (-29)  M:(-15) OR (-27)
053482,000481: 27,3565           53605                           DMP      SR*                                   
053483,000482: 27,3566           00031                                    TFFRTALF                              #  SQRT(ALFA)  E:(10+NA) M:(9+NA)
053484,000483: 27,3567           57201                                    0          -3,2                       #  X2=-NA
053485,000484: 27,3570           77671                           DDV                                            #  C(MPAC) =NUM SQRT(ALFA)       E:(-3) OR (-16)
053486,000485:                                                                                                  #                                M:(-3) OR (-15)
053487,000486:                                                                                                  #  ABS(DEN) FROM PDL+2   E:(-3) OR (-16)
053488,000487:                                                                                                  #                        M:(-3) OR (-15)
053489,000488: 27,3571           40145                           DLOAD    BOV                                   #  (THE DLOAD IS SHARED WITH TFFELL)
053490,000489: 27,3572           00043                                    TFFX                                  #  NUM  E:(-16) OR (-29)  M:(-15) OR (-27)
053491,000490: 27,3573           57654                                    TFFELL                                #  USE EQN FOR DELE GEQ 90, LEQ -90
053492,000491: 
053493,000492:                                                                                                  #  OTHERWISE, CONTINUE FOR GENERAL CONIC FOR TFF EQN
053494,000493: 
053495,000494: 27,3574           45471                           DDV      STADR                                 
053496,000495:                                                                                                  #  DEN FROM PDL+0        E:(-3) OR (-16)
053497,000496:                                                                                                  #                        M:(-3) OR (-15)
053498,000497: 27,3575           77732                           STORE    TFFTEM                                #  Z SAVE FOR SIGN OF SDELF.

Page 1271

053500,000499:                                                                                                  #  E:(-13) M:(-12)
053501,000500: 27,3576           63406                           PUSH     DSQ                                   #  Z TO PDL+0
053502,000501: 27,3577           41206                           PUSH     DMP                                   #  Z SQ TO PDL+2  E:(-26) M:(-24)
053503,000502: 27,3600           00035                                    TFFNP                                 #  LC P  E:(-38+2NR) M:(-36+2NR)
053504,000503: 27,3601           75261                           SL       SIGN                                  
053505,000504: 27,3602           20206                                    5                                     
053506,000505: 27,3603           00045                                    TFFTEM                                #  AFFIX SIGN FOR SDELF (ENTRY DISPLAY)
053507,000506: 27,3604           14045                           STODL    TFFTEM                                #  P ZSQ  E:(-59+2NR) M:(-55+2NR)
053508,000507:                                                                                                  #  (ARG IS USED IN TFF/TRIG)
053509,000508:                                                                                                  #  ZSQ FROM PDL+2  E:(-26) M:(-24)
053510,000509: 27,3605           41206                           PUSH     DMP                                   #  RESTORE PUSH LOC
053511,000510: 27,3606           00033                                    TFFALFA                               #  ALFA  E:(26-NR) M:(24-NR)
053512,000511: 27,3607           77657                           SL*                                            
053513,000512: 27,3610           20201                                    0,1                                   #  X1=-NR
053514,000513: 27,3611           00043                           STORE    TFFX                                  #  X
053515,000514: 27,3612           41234                           RTB      DMP                                   
053516,000515: 27,3613           57736                                    T(X)                                  #  POLY
053517,000516:                                                                                                  #  ZSQ FROM PDL+2  E:(-26) M:(-24)
053518,000517: 27,3614           44302                           SR2      BDSU                                  #  2 ZSQ T(X)  E:(-29) M:(-27)
053519,000518: 27,3615           00023                                    RTERM                                 #  RTERM  E:(-29) M:(-27)
053520,000519: 27,3616           41215                           DAD      DMP                                   
053521,000520: 27,3617           00015                                    RMAG1                                 #  E:(-29) M:(-27)
053522,000521:                                                                                                  #  Z FROM PDL+0  E:(-13) M:(-12)
053523,000522: 27,3620           51042                           SR3      BPL                                   #  TFF SQRT(MU)  E:(-45) M:(-42)
053524,000523: 27,3621           57642                                    ENDTFF                                #  (NO PUSH UP)
053525,000524: 27,3622           75206                           PUSH     SIGN                                  #  TFF SQRT(MU) TO PDL+0
053526,000525: 27,3623           00017                                    TFFQ1                                 #  Q1 FOR GONEPAST TEST
053527,000526: 27,3624           71244                           BPL      DLOAD                                 #  GONE PAST ?
053528,000527: 27,3625           57646                                    NEGTFF                                #  YES. TFF < 0.
053529,000528: 27,3626           00027                                    TFF1/ALF                              #  1/ALFA  E:(-22-2NA) M:(-20-2NA)
053530,000529: 27,3627           51076                           DCOMP    BPL                                   #  ALFA > 0 ?
053531,000530: 27,3630           57646                                    NEGTFF                                #  NO. TFF IS NEGATIVE.
053532,000531: 
053533,000532:                                                                                                  #  CORRECT FOR ORBITAL PERIOD.
053534,000533: 
053535,000534: 27,3631           77676                           DCOMP                                          #  YES.  CORRECT FOR ORB PERIOD.
053536,000535: 27,3632           56205                           DMP      DDV                                   
053537,000536: 27,3633           17756                                    PI/16                                 #  2 PI (-5)
053538,000537: 27,3634           00031                                    TFFRTALF                              #  SQRT(ALFA)  E:(10+NA) M:(9+NA)
053539,000538: 27,3635           53657                           SL*      SL*                                   
053540,000539: 27,3636           57602                                    0          -4,2                       #  X2=-NA
053541,000540: 27,3637           57602                                    0          -4,2                       
053542,000541: 27,3640           43257                           SL*      DAD                                   
053543,000542: 27,3641           57576                                    0,2                                   
053544,000543:                                                                                                  #  TFF SQRT(MU) FROM PDL+0       E:(-45) M:(-42)
053545,000544: 27,3642           40005        ENDTFF             DMP      BOV                                   #  TFF SQRT(MU) IN MPAC          E:(-45) M:(-42)
053546,000545: 27,3643           00037                                    TFF/RTMU                              #  E:(17) M:(14)
053547,000546: 27,3644           57652                                    MAXTFF                                #  SET POSMAX IF OVFL.
053548,000547: 
053549,000548: 27,3645           77616        DUMPTFF2           RVQ                                            #  RETURN TFF (-28) CS IN MPAC.
053550,000549: 

Page 1272

053552,000551: 27,3646           77745        NEGTFF             DLOAD                                          
053553,000552:                                                                                                  #  TFF SQRT(MU) FROM PDL+0, NEGATIVE.
053554,000553: 27,3647           77650                           GOTO                                           
053555,000554: 27,3650           57642                                    ENDTFF                                
053556,000555: 
053557,000556: 27,3651           77745        MAXTFF1            DLOAD                                          #  RESET PDL
053558,000557: 27,3652           43545        MAXTFF             DLOAD    RVQ                                   
053559,000558: 27,3653           17772                                    NEARONE                               
053560,000559: 
053561,000560:                                                                                                  #  TIME OF FLIGHT ELLIPSE WHEN DEL (ECCENTRIC ANOM) GEQ 90 AND LEQ -90.
053562,000561: 
053563,000562:                                                                                                  #  NUM FROM TFFX.        E:(-16) OR (-29)
053564,000563:                                                                                                  #                        M:(-15) OR (-27)
053565,000564: 27,3654           77712        TFFELL             SL2                                            #  NUM  E:(-14) OR (-27)  M:(-13) OR (-25)
053566,000565: 27,3655           41465                           BDDV     PUSH                                  #  TEMP SAVE D/N IN PDL+0
053567,000566:                                                                                                  #  DEN FROM PDL+0  E:(-3)/( 16)  M:(-3)/(-15)
053568,000567:                                                                                                  #  N/D TO PDL+0  E:(11) M:(10)
053569,000568: 27,3656           45345        TFFEL1             DLOAD    DSU                                   #  (ENTER WITH D/N=0 IN PDL+0)
053570,000569: 27,3657           00045                                    TFFTEM                                #  Q2  E:(-16) M:(-15)
053571,000570: 27,3660           00017                                    TFFQ1                                 #  Q1  E:(-16) M:(-15)
053572,000571: 27,3661           14013                           STODL    TFFDELQ                               #  Q2-Q1  E:(-16) M:(-15)
053573,000572:                                                                                                  #  D/N FROM PDL+0
053574,000573: 27,3662           77626                           STADR                                          
053575,000574: 27,3663           77732                           STORE    TFFTEM                                #  D/N  E:(11) M:(10)
053576,000575: 27,3664           53605                           DMP      SL*                                   
053577,000576: 27,3665           00027                                    TFF1/ALF                              #  1/ALFA  E:(-22-2NA) M:(-20-2NA)
053578,000577: 27,3666           57576                                    0,2                                   #  1/ALFA Z  E:(-11-NA) M:(-10-NA)
053579,000578: 27,3667           41206                           PUSH     DMP                                   #  TO PDL+0
053580,000579: 27,3670           00045                                    TFFTEM                                #  1/Z  E:(11) M:(10)
053581,000580: 27,3671           41057                           SL*      BOVB                                  
053582,000581: 27,3672           57576                                    0,2                                   #  X2= -NA
053583,000582: 27,3673           21713                                    SIGNMPAC                              #  IN CASE X= 1.0, CONTINUE
053584,000583: 27,3674           00043                           STORE    TFFX                                  #  X=1/ALFA ZSQ
053585,000584: 27,3675           41234                           RTB      DMP                                   
053586,000585: 27,3676           57736                                    T(X)                                  #  POLY
053587,000586: 27,3677           00043                                    TFFX                                  
053588,000587: 27,3700           45242                           SR3      DSU                                   
053589,000588: 27,3701           17764                                    DP2(-3)                               
053590,000589: 27,3702           41405                           DMP      PUSH                                  #  2(X T(X)-1) /Z ALFA   E:(-15-NA)
053591,000590:                                                                                                  #                        M:(-14-NA)
053592,000591:                                                                                                  #  1/ALFA Z FROM PDL+0   E:(-11-NA)
053593,000592:                                                                                                  #                        M:(-10-NA)
053594,000593: 27,3703           41345                           DLOAD    DMP                                   #  GET SIGN FOR SDELF
053595,000594: 27,3704           00045                                    TFFTEM                                #  1/Z  E:(11) M:(10)
053596,000595: 27,3705           00015                                    RMAG1                                 #  E:(-29) M:(-27)
053597,000596: 27,3706           43312                           SL2      DAD                                   
053598,000597: 27,3707           00017                                    TFFQ1                                 #  Q1  E:(-16) M:(-15)
053599,000598: 27,3710           14045                           STODL    TFFTEM                                #  (Q1+R 1/Z) =SGN OF SDELF  E:(-16) M:(-15
053600,000599: 27,3711           00035                                    TFFNP                                 #  LC P  E:(-38+2NR) M:(-36+2NR)
053601,000600: 27,3712           53605                           DMP      SL*                                   #  CALC FOR ARG FOR TFF/TRIG.

Page 1273

053603,000602: 27,3713           00027                                    TFF1/ALF                              #  1/ALFA  E:(-22-2NA) M:(-20-2NA)
053604,000603: 27,3714           57575                                    1,2                                   #  X2=-NA
053605,000604: 27,3715           53765                           SIGN     SL*                                   
053606,000605: 27,3716           00045                                    TFFTEM                                #  AFFIX SIGN FOR SDELF
053607,000606: 27,3717           57576                                    0,2                                   
053608,000607: 27,3720           14045                           STODL    TFFTEM                                #  P/ALFA  E:(-59+2NR) M:(-55+2NR)
053609,000608:                                                                                                  #  (ARG FOR USE IN TFF/TRIG)
053610,000609: 27,3721           00027                                    TFF1/ALF                              #  1/ALFA  E:(-22-2NA) M:(-20-2NA)
053611,000610: 27,3722           41366                           SQRT     DMP                                   
053612,000611: 27,3723           17756                                    PI/16                                 #  PI (-4)
053613,000612: 27,3724           77615                           DAD                                            
053614,000613:                                                                                                  #  2(XT(X)-1)/Z ALFA FROM PDL    E:(-15-NA)
053615,000614:                                                                                                  #                                M:(-14-NA)
053616,000615: 27,3725           45257                           SL*      DSU                                   
053617,000616: 27,3726           57577                                    0          -1,2                       
053618,000617: 27,3727           00013                                    TFFDELQ                               #  Q2-Q1  E:(-16) M:(-15)
053619,000618: 27,3730           53605                           DMP      SL*                                   
053620,000619: 27,3731           00027                                    TFF1/ALF                              #  1/ALFA  E:(-22-2NA) M:(-20-2NA)
053621,000620: 27,3732           57601                                    0          -3,2                       
053622,000621: 27,3733           52057                           SL*      GOTO                                  
053623,000622: 27,3734           57602                                    0          -4,2                       
053624,000623: 27,3735           57642                                    ENDTFF                                #  TFF SQRT(MU) IN MPAC E:(-45) M:(-42)
053625,000624: 

Page 1274

053627,000626:                                                                                                  #  PROGRAM NAME:  T(X)                           DATE:  01.17.67
053628,000627:                                                                                                  #  MOD NO:  0                                    LOG SECTION:  TIME OF FREE FALL
053629,000628:                                                                                                  #  MOD BY:  RR BAIRNSFATHER
053630,000629: 
053631,000630:                                                                                                  #  FUNCTIONAL DESCRIPTION:  THE POLYNOMIAL T(X) IS USED BY TIME OF FLIGHT SUBROUTINES CALCTFF AND
053632,000631:                                                                                                  #        CALCTPER TO APPROXIMATE THE SERIES
053633,000632:                                                                                                  #                           2     3
053634,000633:                                                                                                  #                1/3 -X/5 +X /7 -X /9 ...
053635,000634: 
053636,000635:                                                                                                  #        WHERE   X = ALFA Z Z            IF ALFA Z Z LEQ 1
053637,000636:                                                                                                  #                X = 1/(ALFA Z Z)        IF ALFA Z Z G 1
053638,000637: 
053639,000638:                                                                                                  #        ALSO    X IS NEG FOR HYPERBOLIC ORBITS
053640,000639:                                                                                                  #                X = 0 FOR PARABOLIC ORBITS
053641,000640:                                                                                                  #                X IS POSITIVE FOR ELLIPTIC ORBITS
053642,000641: 
053643,000642:                                                                                                  #        FOR FLIGHT 278, THE POLYNOMIAL T(X) IS FITTED OVER THE RANGE (0,+1) AND HAS A MAXIMUM
053644,000643:                                                                                                  #        DEVIATION FROM THE SERIES OF 2 E-5   (T(X) IS A CHEBYCHEV TYPE FIT AND WAS OBTAINED USING
053645,000644:                                                                                                  #        MAC PROGRAM AUTCURFIT294RRB AND IS VALID TO THE SAME TOLERANCE OVER THE RANGE (-.08,+1).)
053646,000645: 
053647,000646:                                                                                                  #  CALLING SEQUENCE:     RTB
053648,000647:                                                                                                  #                                T(X)
053649,000648:                                                                                                  #        C(MPAC) = X
053650,000649: 
053651,000650:                                                                                                  #  SUBROUTINES CALLED:  NONE
053652,000651: 
053653,000652:                                                                                                  #  NORMAL EXIT MODE:  TC DANZIG
053654,000653: 
053655,000654:                                                                                                  #  ALARMS:  NONE
053656,000655: 
053657,000656:                                                                                                  #  OUTPUT:  C(MPAC) = T(X)
053658,000657: 
053659,000658:                                                                                                  #  ERASABLE INITIALIZATION REQUIRED:
053660,000659:                                                                                                  #        C(MPAC) = X
053661,000660: 
053662,000661:                                                                                                  #  DEBRIS:  NONE
053663,000662: 
053664,000663: 27,3736           07225        T(X)               TC       POLY                                  
053665,000664: 27,3737           00004                           DEC      4          B-14                       #  N-1
053666,000665: 27,3740           12525 12525                     2DEC     3.333333333 E-1                        
053667,000666: 27,3742           71463 57703                     2DEC*    -1.999819135 E-1*                       
053668,000667: 27,3744           04423 17645                     2DEC*    1.418148467 E-1*                       
053669,000668: 27,3746           74604 43667                     2DEC*    -1.01310997 E-1*                       
053670,000669: 27,3750           01626 37256                     2DEC*    5.609004986 E-2*                       
053671,000670: 27,3752           77404 52071                     2DEC*    -1.536156925 E-2*                       
053672,000671: 
053673,000672: 27,3754           06064        ENDT(X)            TC       DANZIG                                
053674,000673: 
053675,000674: 27,3755  27,3754               TCDANZIG           =        ENDT(X)                               
053676,000675: 

Page 1275

053678,000677:                                                                                                  #  TFF CONSTANTS
053679,000678: 
053680,000679: 32,3751                                           BANK     32                                    
053681,000680: 
053682,000681: 27,2000                                           SETLOC   TOF-FF1                               
053683,000682: 27,2000                                           BANK                                           
053684,000683: 
053685,000684:                                                                                                  #                                                NOTE _  NOTE _ ADJUSTED MUE FOR NEAR EARTH TRAJ.
053686,000685:                                                                                                  # MUE            =       3.990815471 E10         M CUBE/CS SQ
053687,000686:                                                                                                  # RTMUE          =       1.997702549 E5 B-18*    MODIFIED EARTH MU
053688,000687: 
053689,000688:                                                                                                  #                                                NOTE _  NOTE _ ADJUSTED MUE FOR NEAR EARTH TRAJ.
053690,000689:                                                                                                  # MUM            =       4.902778 E8             M CUBE/CS SQ
053691,000690:                                                                                                  # RTMUM          2DEC*   2.21422176 E4 B-18*
053692,000691: 27,3755           06220 37553  PI/16              2DEC     3.141592653 B-4                        
053693,000692: 27,3757           37777 37700  LIM(-22)           2OCT     3777737700                            #  1.0 -B(-22)
053694,000693: 27,3761           00000 00100  DP(-22)            2OCT     0000000100                            #  B(-22)
053695,000694: 27,3763           04000 00000  DP2(-3)            2DEC     1          B-3                        
053696,000695: 27,3765           02000 00000  DP2(-4)            2DEC     1          B-4                        #  1/16
053697,000696: 
053698,000697:                                                                                                  #  RPAD1         2DEC    6373338 B-29            M (-29) = 20909901.57 FT
053699,000698: 27,3767  23,2337               RPAD1              =        RPAD                                  
053700,000699: 
053701,000700: 27,3767           00305 11205  R300K              2DEC     6464778    B-29                       #  (-29) M
053702,000701: 27,3771           37777 37777  NEARONE            2DEC     .999999999                            
053703,000702: 27,3773  23,2523               TFFZEROS           EQUALS   HI6ZEROS                              
053704,000703: 27,3773  23,2513               TFF1/4             EQUALS   HIDP1/4                               
053705,000704: 

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