Source Code

These source-code files are part of a reconstructed copy of Luminary 69/2, the flown, final release of the Apollo 10 Lunar Module (LM) Apollo Guidance Computer (AGC) software.

The reconstruction is based on the source code of Luminary 69 — i.e., the initial, unflown version, "revision 0" — of which a contemporary listing was available. The code was then updated by incorporating the differences between Luminary 69 and Luminary 69/2, known from other contemporary documentation. The only such difference is the implementation in Luminary 69/2 of the "R-2 Lunar Potential Model", the source code for which was taken from program Luminary 99/1 (Apollo 11 LM), of which a contemporary listing was also available. Finally, the now-reconstructed Luminary 69/2 was then validated by assembling it to executable form and verifying that its memory banks had the correct checksums, known from still other contemporary documentation.

Note that page numbers in the reconstructed code match those in the original Luminary 69 program listing, or in the ORBITAL INTEGRATION log section, in Luminary 99/1. Page numbers would certainly differ somewhat in a contemporary Luminary 69/2 listing. Moreover, annotations that were not present in the contemporary source code have been added to the reconstructed code to justify each change in Luminary 69/2 relative to Luminary 69. Here's a guide to the Apollo documentation referenced in those annotations:
Comments from the original source code are prefixed with a single '#' symbol, whereas comments added later are prefixed by "##" or "###". Report any errors noted by creating an issue report at the Virtual AGC project's GitHub repository.

054418,000002:                                                                                                  ## Copyright:   Public domain.
054419,000003:                                                                                                  ## Filename:    TIME_OF_FREE_FALL.agc
054420,000004:                                                                                                  ## Purpose:     A section of LUM69 revision 2.
054421,000005:                                                                                                  ##              It is part of the reconstructed source code for the flown
054422,000006:                                                                                                  ##              version of the flight software for the Lunar Module's (LM)
054423,000007:                                                                                                  ##              Apollo Guidance Computer (AGC) for Apollo 10. The code has
054424,000008:                                                                                                  ##              been recreated from a copy of Luminary revsion 069, using
054425,000009:                                                                                                  ##              changes present in Luminary 099 which were described in
054426,000010:                                                                                                  ##              Luminary memos 75 and 78. The code has been adapted such
054427,000011:                                                                                                  ##              that the resulting bugger words exactly match those specified
054428,000012:                                                                                                  ##              for LUM69 revision 2 in NASA drawing 2021152B, which gives
054429,000013:                                                                                                  ##              relatively high confidence that the reconstruction is correct.
054430,000014:                                                                                                  ## Reference:   pp. 1262-1277
054431,000015:                                                                                                  ## Assembler:   yaYUL
054432,000016:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
054433,000017:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
054434,000018:                                                                                                  ## Mod history: 2019-07-27 MAS  Created from Luminary 69.
054435,000019: 

Page 1262

054437,000021:                                                                                                  #           THE TFF SUBROUTINES MAY BE USED IN EITHER EARTH OR MOON CENTERED COORDINATES. THE TFF ROUTINES NEVER
054438,000022:                                                                                                  #  KNOW WHICH ORIGIN APPLIES. IT IS THE USER WHO KNOWS, AND WHO SUPPLIES  RONE, VONE AND 1/SQRT(MU) AT THE
054439,000023:                                                                                                  #  APPROPRIATE SCALE LEVEL FOR THE PROPER PRIMARY BODY.
054440,000024: 
054441,000025:                                                                                                  #           EARTH ORIGIN           POSITION      -29      METERS
054442,000026:                                                                                                  #                                  VELOCITY      -7       METERS/CENTISECOND
054443,000027:                                                                                                  #                                  1/SQRT(MU)    +17      SQRT(CS SQ/METERS CUBED)
054444,000028: 
054445,000029:                                                                                                  #           MOON ORIGIN            POSITION      -27      METERS
054446,000030:                                                                                                  #                                  VELOCITY      -5       METERS/CENTISECONDS
054447,000031:                                                                                                  #                                  1/SQRT(MU)    +14      SQRT(CS SQ/METERS CUBED)
054448,000032: 
054449,000033:                                                                                                  #  ALL DATA PROVIDED TO AND RECEIVED FROM ANY TFF SUBROUTINE WILL BE AT ONE OF THE LEVELS ABOVE. IN ALL CASES,
054450,000034:                                                                                                  #  THE FREE FALL TIME IS RETURNED IN CENTISECONDS AT (-28). PROGRAM  TFF/CONIC WILL GENERATE VONE/RTMU  AND
054451,000035:                                                                                                  #  LEAVE IT IN VONE' AT (+10) IF EARTH ORIGIN AND (+9) IF MOON ORIGIN.
054452,000036:                                                                                                  #           THE USER MUST STORE THE STATE VECTOR IN RONE, VONE  AND MU  IN THE FORM 1/SQRT(MU) IN  TFF/RTMU
054453,000037:                                                                                                  #  AT THE PROPER SCALE BEFORE CALLING  TFF/CONIC. SINCE RONE, VONE  ARE IN THE EXTENDED VERB STORAGE AREA,
054454,000038:                                                                                                  #  THE USER MUST ALSO LOCK OUT THE EXTENDED VERBS, AND RELEASE THEM WHEN FINISHED.
054455,000039:                                                                                                  #           PROGRAMS     CALC/TFF  AND  CALC/TPER  ASSUME THAT THE TERMINAL RADIUS IS LESS THAN THE PRESENT
054456,000040:                                                                                                  #  RADIUS. THIS RESTRICTION CAN BE REMOVED BY A 15 W CODING CHANGE, BUT AT PRESENT IT IS NOT DEEMED NECESSARY.
054457,000041: 
054458,000042:                                                                                                  #           THE FOLLOWING ERASABLE QUANTITIES ARE USED BY THE TFF ROUTINES, AND ARE LOCATED IN THE PUSH LIST.
054459,000043: 
054460,000044:                                                                                                  #                                                               BELOW     E:  IS USED FOR EARTH ORIGIN SCALE
054461,000045:                                                                                                  #                                                                         M:  IS USED FOR MOON  ORIGIN SCALE
054462,000046: 
054463,000047:                                                                                                  # TFFSW          =       119D    BIT1    0 = CALCTFF         1 = CALCTPER
054464,000048: 23,3723                        TFFDELQ            =        10D                                   #        Q2-Q1               E: (-16)  M: (-15)
054465,000049: 23,3723                        RMAG1              =        12D                                   #        ABVAL(RN)  M        E: (-29)  M: (-27)
054466,000050:                                                                                                  # RPER           =       14D             PERIGEE RADIUS M    E: (-29)  M: (-27)
054467,000051: 23,3723                        TFFQ1              =        14D                                   #        R.V / SQRT(MUE)     E: (-16)  M: (-15)
054468,000052:                                                                                                  # SDELF/2                                SIN(THETA) /2
054469,000053: 23,3723                        CDELF/2            =        14D                                   #        COS(THETA) /2
054470,000054:                                                                                                  # RAPO           =       16D             APOGEE RADIUS  M    E: (-29)  M: (-27)
054471,000055: 23,3723                        NRTERM             =        16D                                   #        TERMINAL RADIUS  M  E: (-29+NR)
054472,000056:                                                                                                  #                            M: (-27+NR)
054473,000057: 23,3723                        RTERM              =        18D                                   #        TERMINAL RADIUS  M  E: (-29)  M: (-27)
054474,000058: 23,3723                        TFFVSQ             =        20D                                   #        -(V SQUARED/MU)   1/M  E: (20)   M: (18)
054475,000059: 23,3723                        TFF1/ALF           =        22D                                   #        SEMI MAJ AXIS  M  E: (-22-2 NA)
054476,000060:                                                                                                  #                          M: (-20-2 NA)
054477,000061: 23,3723                        TFFRTALF           =        24D                                   #        SQRT(ALFA)  E:(10+NA)  M: (9+NA)
054478,000062: 23,3723                        TFFALFA            =        26D                                   #        ALFA  1/M   E:(26-NR)  M: (24-NR)
054479,000063: 23,3723                        TFFNP              =        28D                                   #        SEMI LATUS RECTUM M  E: (-38+2 NR)
054480,000064:                                                                                                  #                             M: (-36+2 NR)
054481,000065: 23,3723                        TFF/RTMU           =        30D                                   #        1/SQRT(MU)        E: (17)   M: (14)
054482,000066: 23,3723                        NRMAG              =        32D                                   #        PRESENT RADIUS  M E: (-29+NR)
054483,000067:                                                                                                  #                          M: (-27+NR)
054484,000068: 23,3723                        TFFX               =        34D                                   
054485,000069: 23,3723                        TFFTEM             =        36D                                   #        TEMPORARY

Page 1263

054487,000071:                                                                                                  #                REGISTERS S1, S2 ARE UNTOUCHED BY ANY TFF SUBROUTINE
054488,000072:                                                                                                  #                INDEX REGISTERS X1, X2 ARE USED BY ALL TFF SUBROUTINES. THEY ARE ESTAB-
054489,000073:                                                                                                  #                LISHED IN TFF/CONIC AND MUST BE PRESERVED BETWEEN CALLS TO SUBSEQUENT
054490,000074:                                                                                                  #                SUBROUTINES.
054491,000075:                                                                                                  #                -NR                             C(X1) = NORM COUNT OF RMAG
054492,000076:                                                                                                  #                -NA                             C(X2) = NORM COUNT OF SQRT(ABS(ALFA))
054493,000077: 

Page 1264

054495,000079:                                                                                                  #  SUBROUTINE NAME:  TFFCONIC                                            DATE:  01.29.67
054496,000080:                                                                                                  #  MOD NO:  0                                                            LOG SECTION:  TIME OF FREE FALL
054497,000081:                                                                                                  #  MOD BY:  RR BAIRNSFATHER
054498,000082:                                                                                                  #  MOD NO:  1    MOD BY:  RR BAIRNSFATHER        DATE: 11 APR 67
054499,000083:                                                                                                  #  MOD NO:  2    MOD BY:  RR BAIRNSFATHER        DATE: 21 NOV 67         ADD MOON MU.
054500,000084:                                                                                                  #  MOD NO:  3    MOD BY:  RR BAIRNSFATHER        DATE: 21 MAR 68         ACCEPT DIFFERENT EARTH/MOON SCALES
054501,000085: 
054502,000086:                                                                                                  #  FUNCTIONAL DESCRIPTION:  THIS SUBROUTINE IS CALLED TO COMPUTE THOSE CONIC PARAMETERS REQUIRED BY THE TFF
054503,000087:                                                                                                  #        SUBROUTINES AND TO ESTABLISH THEM IN THE PUSH LIST AREA.  THE PARAMETERS ARE LISTED UNDER OUTPUT.
054504,000088:                                                                                                  #        THE EQUATIONS ARE
054505,000089:                                                                                                  #                -   -  - 
054506,000090:                                                                                                  #                H = RN*VN                       ANGULAR MOMENTUM
054507,000091:                                                                                                  #                      - -
054508,000092:                                                                                                  #                LCP = H.H / MU                  SEMI LATUS RECTUM
054509,000093:                                                                                                  #                              -  - 
054510,000094:                                                                                                  #                ALFA = 2/RN - VN.VN / MU        RECIPROCAL SEMI MAJ AXIS, SIGNED
054511,000095: 
054512,000096:                                                                                                  #        AND ALFA IS POS FOR ELLIPTIC ORBITS
054513,000097:                                                                                                  #                      0 FOR PARABOLIC ORBITS
054514,000098:                                                                                                  #                    NEG FOR HYPERBOLIC ORBITS.
054515,000099:                                                                                                  #        SUBROUTINE ALSO COMPUTES AND SAVES RMAG.
054516,000100: 
054517,000101:                                                                                                  #  CALLING SEQUENCE:
054518,000102:                                                                                                  #        TFFCONIC EXPECTS CALLER TO ENTER WITH CORRECT GRAVITATIONAL CONSTANT IN MPAC, IN THE FORM
054519,000103:                                                                                                  #        1/SQRT(MU).  PROGRAM WILL SAVE IN TFF/RTMU.  THE SCALE IS DETERMINED BY WHETHER EARTH OR MOON
054520,000104:                                                                                                  #        ORIGIN IS USED.  THE CALLER MUST LOCK OUT THE EXTENDED VERBS BEFORE PROVIDING STATE VECTOR IN RONE,
054521,000105:                                                                                                  #        VONE AT PROPER SCALE.  THE EXTENDED VERBS MUST BE RESTORED WHEN THE CALLER IS FINISHED USING THE
054522,000106:                                                                                                  #        TFF ROUTINES.
054523,000107: 
054524,000108:                                                                                                  #        ENTRY POINT TFFCONMU EXPECTS THAT TFF/RTMU IS ALREADY LOADED.
054525,000109: 
054526,000110:                                                                                                  #        TO SPECIFY MU:  DLOAD   CALL                            IF MU ALREADY STORED:   CALL
054527,000111:                                                                                                  #                                YOURMU  1/RTMU E:(17) M:(14)                                    TFFCONMU
054528,000112:                                                                                                  #                                TFFCONIC
054529,000113:                                                                                                  #        PUSHLOC = PDL+0, ARBITRARY IF LEQ 18D
054530,000114: 
054531,000115:                                                                                                  #  SUBROUTINES CALLED:  NONE
054532,000116: 
054533,000117:                                                                                                  #  NORMAL EXIT MODES:  RVQ
054534,000118: 
054535,000119:                                                                                                  #  ALARMS:  NONE
054536,000120: 
054537,000121:                                                                                                  #  OUTPUT:       THE FOLLOWING ARE STORED IN THE PUSH LIST AREA.
054538,000122:                                                                                                  #                RMAG1           E:(-29) M:(-27) M  RN, PRESENT RADIUS LENGTH.
054539,000123:                                                                                                  #                NRMAG           E:(-29+NR)      M  RMAG, NORMALIZED
054540,000124:                                                                                                  #                                M:(-27+NR)
054541,000125:                                                                                                  #                X1                              -NR, NORM COUNT
054542,000126:                                                                                                  #                TFFNP           E:(-38+2NR)     M  LCP, SEMI LATUS RECTUM, WEIGHTED BY NR.      FOR VGAMCALC
054543,000127:                                                                                                  #                                M:(-36+2NR)
054544,000128:                                                                                                  #                TFF/RTMU        E:(17) M:(14)   1/SQRT(MU)
054545,000129:                                                                                                  #                TFFVSQ          E:(20) M:(18)   1/M  -(V SQ/MU):  PRESENT VELOCITY,NORMLIZED.   FOR VGAMCALC
054546,000130:                                                                                                  #                TFFALFA         E:(26-NR)       1/M  ALFA, WEIGHTED BY NR
054547,000131:                                                                                                  #                                M:(24-NR)
054548,000132:                                                                                                  #                TFFRTALF        E:(10+NA)       SQRT(ALFA), NORMALIZED
054549,000133:                                                                                                  #                                M:(9+NA)

Page 1265

054551,000135:                                                                                                  #                X2                              -NA, NORMCOUNT
054552,000136:                                                                                                  #                TFF1/ALF        E:(-22-2NA)     SIGNED SEMI MAJ AXIS, WEIGHTED BY NA
054553,000137:                                                                                                  #                                M:(-20-2NA)
054554,000138:                                                                                                  #                PUSHLOC AT PDL+0
054555,000139: 
054556,000140:                                                                                                  #        THE FOLLOWING IS STORED IN GENERAL ERASABLE
054557,000141:                                                                                                  #                VONE'           E:(10) M:(9)    V/RT(MU), NORMALIZED VELOCITY
054558,000142: 
054559,000143:                                                                                                  #  ERASABLE INITIALIZATION REQUIRED:
054560,000144:                                                                                                  #                RONE            E:(-29) M:(-27) M  STATE VECTOR         LEFT BY CALLER
054561,000145:                                                                                                  #                VONE            E:(-7) M:(-5)   M/CS  STATE VECTOR      LEFT BY CALLER
054562,000146:                                                                                                  #                TFF/RTMU        E:(17) M:(14)   1/RT(CS SQ/M CUBE)      IF ENTER VIA TFFCONMU.
054563,000147: 
054564,000148:                                                                                                  #  DEBRIS:       QPRET,          PDL+0 ... PDL+3
054565,000149: 
054566,000150: 33,3755                                           BANK     33                                    
054567,000151: 27,2000                                           SETLOC   TOF-FF                                
054568,000152: 27,2000                                           BANK                                           
054569,000153: 
054570,000154: 27,3332                                           COUNT*   $$/TFF                                
054571,000155: 
054572,000156: 27,3332           00037        TFFCONIC           STORE    TFF/RTMU                              #  1/SQRT(MU)    E:(17) M:(14)
054573,000157: 
054574,000158: 27,3333           53575        TFFCONMU           VLOAD    UNIT                                  #  COME HERE WITH TFFRTMU LOADED.
054575,000159: 27,3334           02213                                    RONE                                  #  SAVED RN.  M  E:(-29) M:(-27)
054576,000160: 27,3335           77725                           PDDL                                           #  UR/2 TO PDL+0, +5
054577,000161: 27,3336           00045                                    36D                                   #  MAGNITUDE
054578,000162: 27,3337           00015                           STORE    RMAG1                                 #  M  E:(-29) M:(-27)
054579,000163: 
054580,000164: 27,3340           77701                           NORM                                           
054581,000165: 27,3341           00047                                    X1                                    #  -NR
054582,000166: 27,3342           24041                           STOVL    NRMAG                                 #  RMAG  M  E:(-29+NR) M:(-27+NR)
054583,000167: 27,3343           02221                                    VONE                                  #  SAVED VN.  M/CS  E:(-7) M:(-5)
054584,000168: 27,3344           77761                           VXSC                                           
054585,000169: 27,3345           00037                                    TFF/RTMU                              #  E:(17) M:(14)
054586,000170: 27,3346           02170                           STORE    VONE'                                 #  VN/SQRT(MU)  E:(10) M:(9)
054587,000171: 
054588,000172: 27,3347           47361                           VXSC     VXV                                   
054589,000173: 27,3350           00041                                    NRMAG                                 #  E:(-29+NR) M:(-27+NR)
054590,000174:                                                                                                  #  UR/2 FROM PDL
054591,000175: 27,3351           47572                           VSL1     VSQ                                   #  BEFORE:  E:(-19+NR) M:(-18+NR)
054592,000176: 27,3352           14035                           STODL    TFFNP                                 #  LC P  M  E:(-38+2NR) M:(-36+2NR)
054593,000177:                                                                                                  #  SAVE ALSO FOR VGAMCALC
054594,000178: 27,3353           06414                                    TFF1/4                                
054595,000179: 27,3354           63271                           DDV      PDVL                                  #  (2/RMAG)  1/M  E:(26-NR) M:(24-NR)
054596,000180: 27,3355           00041                                    NRMAG                                 #  RMAG  M  E:(-29+NR) M:(-27+NR)
054597,000181: 27,3356           02170                                    VONE'                                 #  SAVED VN.  E:(10) M:(9)
054598,000182: 27,3357           57436                           VSQ      DCOMP                                 #  KEEP MPAC+2 HONEST FOR SQRT.
054599,000183: 27,3360           00025                           STORE    TFFVSQ                                #  -(V SQ/MU)  E:(20) M:(18)
054600,000184:                                                                                                  #  SAVE FOR VGAMCALC
054601,000185: 27,3361           43257                           SR*      DAD                                   

Page 1266

054603,000187: 27,3362           20573                                    0          -6,1                       #  GET -VSQ/MU  E:(26-NR) M:(24-NR)
054604,000188: 27,3363           77626                           STADR                                          
054605,000189:                                                                                                  #  2/RMAG  FROM PDL+2
054606,000190: 27,3364           77744                           STORE    TFFALFA                               #  ALFA  1/M  E:(26-NR) M:(24-NR)
054607,000191: 27,3365           41457                           SL*      PUSH                                  #  TEMP SAVE ALFA  E:(20) M:(18)
054608,000192: 27,3366           20173                                    0          -6,1                       
054609,000193: 27,3367           75446                           ABS      SQRT                                  #  E:(10) M:(9)
054610,000194: 27,3370           77701                           NORM                                           
054611,000195: 27,3371           00050                                    X2                                    #  X2 = -NA
054612,000196: 27,3372           00031                           STORE    TFFRTALF                              #  SQRT( ABS(ALFA) )  E:(10+NA) M:(9+NA)
054613,000197: 27,3373           75316                           DSQ      SIGN                                  #  NOT SO ACCURATE, BUT OK
054614,000198:                                                                                                  #  ALFA FROM PDL+2  E:(20) M:(18)
054615,000199: 27,3374           55254                           BZE      BDDV                                  #  SET 1/ALFA =0, TO SHOW SMALL ALFA
054616,000200: 27,3375           57377                                    +2                                    
054617,000201: 27,3376           06414                                    TFF1/4                                
054618,000202: 27,3377           00027                 +2        STORE    TFF1/ALF                              #  1/ALFA  E:(-22-2NA) M:(-20-2NA)
054619,000203: 27,3400           77616        DUMPCNIC           RVQ                                            
054620,000204: 
054621,000205:                                                                                                  #                                                              39 W

Page 1267

054623,000207:                                                                                                  #  SUBROUTINE NAME:  TFFRP/RA                                            DATE: 01.17.67
054624,000208:                                                                                                  #  MOD NO:  0                                                            LOG SECTION:  TIME OF FREE FALL
054625,000209:                                                                                                  #  MOD BY:  RR BAIRNSFATHER
054626,000210:                                                                                                  #  MOD NO:  1    MOD BY:  RR BAIRNSFATHER        DATE: 11 APR 67
054627,000211:                                                                                                  #  MOD NO:  2    MOD BY:  RR BAIRNSFATHER        DATE: 21 MAR 68         ACCEPT DIFFERENT EARTH/MOON SCALES
054628,000212:                                                                                                  #                                                                        ALSO IMPROVE ACCURACY OF RAPO.
054629,000213: 
054630,000214:                                                                                                  #  FUNCTIONAL DESCRIPTION:  USED BY CALCTPER AND TFF DISPLAYS TO CALCULATE PERIGEE RADIUS AND ALSO
054631,000215:                                                                                                  #        APOGEE RADIUS FOR A GENERAL CONIC.
054632,000216:                                                                                                  #        PROGRAM GIVES PERIGEE RADIUS AS         APOGEE RADIUS IS GIVEN BY
054633,000217:                                                                                                  #                RP = P/(1+E)                            RA = (1+E) / ALFA
054634,000218:                                                                                                  #        WHERE    2
054635,000219:                                                                                                  #                E  = 1 - P ALFA
054636,000220:                                                                                                  #        IF RA IS NEGATIVE OR SHOWS DIVIDE OVERFLOW, THEN RA = POSMAX BECAUSE
054637,000221:                                                                                                  #                1. APOGEE RADIUS IS NOT MEANINGFUL FOR HYPERBOLA
054638,000222:                                                                                                  #                2. APOGEE RADIUS IS NOT DEFINED FOR PARABOLA
054639,000223:                                                                                                  #                3. APOGEE RADIUS EXCEEDS THE SCALING FOR ELLIPSE.
054640,000224: 
054641,000225:                                                                                                  #        THIS SUBROUTINE REQUIRES THE SIGNED RECIPROCAL SEMI MAJ AXIS, ALFA, AND SEMI LATUS RECTUM AS DATA.
054642,000226: 
054643,000227:                                                                                                  #  CALLING SEQUENCE:     CALL
054644,000228:                                                                                                  #                                TFFRP/RA
054645,000229:                                                                                                  #        PUSHLOC = PDL+0, ARBITRARY IF LEQ 10D
054646,000230:                                                                                                  #        C(MPAC) UNSPECIFIED
054647,000231: 
054648,000232:                                                                                                  #  SUBROUTINES CALLED:   NONE
054649,000233: 
054650,000234:                                                                                                  #  NORMAL EXIT MODE:     RVQ
054651,000235:                                                                                                  #        IF ELLIPSE, WITHIN NORMAL SCALING, RAPO IS CORRECT.
054652,000236:                                                                                                  #        OTHERWISE, RAPO = POSMAX.
054653,000237: 
054654,000238:                                                                                                  #  ALARMS:       NONE
054655,000239: 
054656,000240:                                                                                                  #  OUTPUT:       STORED IN PUSH LIST AREA.  SCALE OF OUTPUT AGREES WITH DATA SUPPLIED TO TFF/CONIC.
054657,000241:                                                                                                  #        RPER    E:(-29) M:(-27)         M       PERIGEE RADIUS          DESTROYED BY CALCTFF/CALCTPER, TFFTRIG.
054658,000242:                                                                                                  #        RAPO    E:(-29) M:(-27)         M       APOGEE RADIUS           WILL BE DESTROYED BY CALCTFF/CALCTPER
054659,000243:                                                                                                  #        PUSHLOC AT PDL+0
054660,000244: 
054661,000245:                                                                                                  #  ERASABLE INITIALIZATION REQUIRED:
054662,000246:                                                                                                  #        TFFALFA E:(26-NR)               M       1/SEMI MAJ AXIS         LEFT BY TFFCONIC
054663,000247:                                                                                                  #                M:(24-NR)
054664,000248:                                                                                                  #        TFFNP   E:(-38+2NR)             M       LC P, SEMI LATUS RECTUM LEFT BY TFFCONIC
054665,000249:                                                                                                  #                M:(-36+2NR)
054666,000250:                                                                                                  #        X1                              -NR, NORM COUNT OF RMAG         LEFT BY TFFCONIC
054667,000251:                                                                                                  #        X2                              -NA, NORM COUNT OF ALFA         LEFT BY TFFCONIC
054668,000252: 
054669,000253:                                                                                                  #  DEBRIS:       QPRET, PDL+0 ... PDL+1
054670,000254: 

Page 1268

054672,000256: 27,3401                        RAPO               =        16D                                   #  APOGEE RADIUS  M  E:(-29) M:(-27)
054673,000257: 27,3401                        RPER               =        14D                                   #  PERIGEE RADIUS  M  E:(-29) M:(-27)
054674,000258: 
054675,000259: 27,3401           41345        TFFRP/RA           DLOAD    DMP                                   
054676,000260: 27,3402           00033                                    TFFALFA                               #  ALFA  1/M  E:(26-NR) M:(24-NR)
054677,000261: 27,3403           00035                                    TFFNP                                 #  LC P  M E:(-38+2NR) M:(-36+2NR)
054678,000262: 27,3404           57457                           SR*      DCOMP                                 #  ALFA P (-12+NR)
054679,000263: 27,3405           20571                                    0          -8D,1                      #  ALFA P (-4)
054680,000264: 27,3406           51415                           DAD      ABS                                   #  (DCOMP GIVES VALID TP RESULT FOR SQRT)
054681,000265:                                                                                                  #  (ABS PROTECTS SQRT IF E IS VERY NEAR 0)
054682,000266: 27,3407           17737                                    DP2(-4)                               
054683,000267: 27,3410           43366                           SQRT     DAD                                   #  E SQ = (1- P ALFA) (-4)
054684,000268: 27,3411           06414                                    TFF1/4                                
054685,000269: 27,3412           55206                           PUSH     BDDV                                  #  (1+E)  (-2)  TO PDL+0
054686,000270: 27,3413           00035                                    TFFNP                                 #  LCP  M  E:(-38+2NR) M:(-36+2NR)
054687,000271: 27,3414           53657                           SR*      SR*                                   #  (DOES SR THEN SL TO AVOID OVFL)
054688,000272: 27,3415           20601                                    0,1                                   #  X1=-NR
054689,000273: 27,3416           20572                                    0          -7,1                       #  (EFFECTIVE SL)
054690,000274: 27,3417           14017                           STODL    RPER                                  #  PERIGEE RADIUS  M  E:(-29) M:(-27)
054691,000275:                                                                                                  #  (1+E)  (-2)  FROM PDL+0
054692,000276: 27,3420           41005                           DMP      BOVB                                  
054693,000277: 27,3421           00027                                    TFF1/ALF                              #  E:(-22-2NA) M:(-20-2NA)
054694,000278: 27,3422           57725                                    TCDANZIG                              #  CLEAR OVFIND, IF ON.
054695,000279: 27,3423           53654                           BZE      SL*                                   
054696,000280: 27,3424           57433                                    MAXRA                                 #  SET POSMAX, IF ALFA=0
054697,000281: 27,3425           57603                                    0          -5,2                       #  -5+NA
054698,000282: 27,3426           40057                           SL*      BOV                                   
054699,000283: 27,3427           57576                                    0,2                                   
054700,000284: 27,3430           57433                                    MAXRA                                 #  SET POSMAX IF OVFL.
054701,000285: 27,3431           77644                           BPL                                            #  CONTINUE WITH VALID RAPO.
054702,000286: 27,3432           57435                                    +3                                    
054703,000287: 27,3433           77745        MAXRA              DLOAD                                          #  RAPO CALC IS NOT VALID.  SET RAPO =
054704,000288: 27,3434           17743                                    NEARONE                               #  POSMAX AS A TAG.
054705,000289: 27,3435           00021                 +3        STORE    RAPO                                  #  APOGEE RADIUS  M  E:(-29) M:(-27)
054706,000290: 27,3436           77616        DUMPRPRA           RVQ                                            
054707,000291: 
054708,000292:                                                                                                  #                                                                30 W

Page 1269

054710,000294:                                                                                                  #  SUBROUTINE NAME:  CALCTPER / CALCTFF                                  DATE:  01.29.67
054711,000295:                                                                                                  #  MOD NO:  0                                                            LOG SECTION:  TIME OF FREE FALL
054712,000296:                                                                                                  #  MOD BY:  RR BAIRNSFATHER
054713,000297:                                                                                                  #  MOD NO:  1    MOD BY:  RR BAIRNSFATHER        DATE: 21 MAR 67
054714,000298:                                                                                                  #  MOD NO:  2    MOD BY:  RR BAIRNSFATHER        DATE: 14 APR 67
054715,000299:                                                                                                  #  MOD NO:  3    MOD BY:  RR BAIRNSFATHER        DATE: 8 JUL 67          NEAR EARTH MUE AND NEG TFF (GONEPAST)
054716,000300:                                                                                                  #  MOD NO:  4    MOD BY:  RR BAIRNSFATHER        DATE: 21 NOV 67         ADD VARIABLE MU.
054717,000301:                                                                                                  #  MOD NO:  5    MOD BY:  RR BAIRNSFATHER        DATE: 21 MAR 68         ACCEPT DIFFERENT EARTH/MOON SCALES
054718,000302: 
054719,000303:                                                                                                  #  FUNCTIONAL DESCRIPTION:  PROGRAM CALCULATES THE FREE-FALL TIME OF FLIGHT FROM PRESENT POSITION RN AND
054720,000304:                                                                                                  #        VELOCITY VN TO A RADIUS LENGTH SPECIFIED BY RTERM, SUPPLIED BY THE USER.  THE POSITION VECTOR
054721,000305:                                                                                                  #        RN MAY BE ON EITHER SIDE OF THE CONIC, BUT RTERM IS CONSIDERED ON THE INBOUND SIDE.
054722,000306:                                                                                                  #        THE EQUATIONS ARE
054723,000307: 
054724,000308:                                                                                                  #                Q2 = -SQRT(RTERM (2-RTERM ALFA) - LCP)  (INBOUND SIDE)) LEQ +- LCE/SQRT(ALFA)
054725,000309:                                                                                                  #                     -  - 
054726,000310:                                                                                                  #                Q1 = RN.VN / SQRT(MU)                                   LEQ +- LCE/SQRT(ALFA)
054727,000311: 
054728,000312:                                                                                                  #                Z = NUM / DEN                                           LEQ +- 1/SQRT(ALFA)
054729,000313: 
054730,000314:                                                                                                  #        WHERE, IF INBOUND
054731,000315:                                                                                                  #                NUM = RTERM -RN                                         LEQ +- 2 LCE/ALFA
054732,000316:                                                                                                  #                DEN = Q2+Q1                                             LEQ +- 2 LCE/SQRT(ALFA)
054733,000317: 
054734,000318:                                                                                                  #        AND, IF OUTBOUND
054735,000319:                                                                                                  #                NUM = Q2-Q1                                             LEQ +- 2 LCE/SQRT(ALFA)
054736,000320:                                                                                                  #                DEN = 2 - ALFA (RTERM + RN).                            LEQ +- 2 LCE
054737,000321: 
054738,000322:                                                                                                  #        IF      ALFA ZZ < 1.0           (FOR ALL CONICS EXCEPT ELLIPSES HAVING ABS(DEL ECC ANOM) G 90 DEG)
054739,000323:                                                                                                  #        THEN    X = ALFA Z Z
054740,000324:                                                                                                  #        AND     TFF = (RTERM +RN -2 ZZ T(X) ) Z/SQRT(MU)
054741,000325:                                                                                                  #                EXCEPT  IF ALFA PNZ, AND IF TFF NEG,
054742,000326:                                                                                                  #                THEN    TFF = 2 PI /(ALFA SQRT(ALFA)) + TFF
054743,000327:                                                                                                  #        OR      IF ALFA ZZ GEQ 1.0      (FOR ELLIPSES HAVING ABS(DEL ECC ANOM) GEQ 90 DEG)
054744,000328:                                                                                                  #        THEN    X = 1/ALFA Z Z
054745,000329:                                                                                                  #        AND     TFF = (PI/SQRT(ALFA) -Q2 +Q1 +2(X T(X) -1) /ALFA Z) /ALFA SQRT(MU)
054746,000330:                                                                                                  #        WHERE   T(X) IS A POLYNOMIAL APPROXIMATION TO THE SERIES
054747,000331:                                                                                                  #                             2      3             2
054748,000332:                                                                                                  #                1/3 - X/5 + X /7 - X /9 ...     (X  < 1.0)
054749,000333: 
054750,000334:                                                                                                  #  CALLING SEQUENCE:     TIME TO RTERM                   TIME TO PERIGEE
054751,000335:                                                                                                  #                        CALL                            CALL
054752,000336:                                                                                                  #                                CALCTFF                         CALCTPER
054753,000337:                                                                                                  #                        C(MPAC) = TERMNL RAD M          C(MPAC) = PERIGEE RAD M
054754,000338:                                                                                                  #        FOR EITHER, E:(-29) M:(-27)
054755,000339:                                                                                                  #        FOR EITHER, PUSHLOC = PDL+0, ARBITRARY IF LEQ 8D.

Page 1270

054757,000341: 
054758,000342:                                                                                                  #  SUBROUTINES CALLED:   T(X), VIA RTB
054759,000343: 
054760,000344:                                                                                                  #  NORMAL EXIT MODE:     RVQ
054761,000345:                                                                                                  #        HOWEVER, PROGRAM EXITS WITH ONE OF THE FOLLOWING VALUES FOR TFF (-28) CS IN MPAC.  USER MUST STORE.
054762,000346:                                                                                                  #                A. TFF = FLIGHT TIME.  NORMAL CASE FOR POSITIVE FLIGHT TIME LESS THAN ONE ORBITAL PERIOD.
054763,000347:                                                                                                  #                B. (THIS OPTION IS NO LONGER USED.)
054764,000348:                                                                                                  #                C. TFF = POSMAX.  THIS INDICATES THAT THE CONIC FROM THE PRESENT POSITION WILL NOT RETURN TO
054765,000349:                                                                                                  #                   THE SPECIFIED ALTITUDE.  ALSO INDICATES OUTBOUND PARABOLA OR HYPERBOLA.
054766,000350: 
054767,000351:                                                                                                  #  OUTPUT:       C(MPAC)         (-28) CS        TIME OF FLIGHT, OR TIME TO PERIGEE
054768,000352:                                                                                                  #                TFFX            (0)             X,                                      LEFT FOR ENTRY DISPLAY TFF ROUTINES
054769,000353:                                                                                                  #                NRTERM          E:(-29+NR) M    RTERM, WEIGHTED BY NR                   LEFT FOR ENTRY DISPLAY TFF ROUTINES
054770,000354:                                                                                                  #                                M:(-27+NR)
054771,000355:                                                                                                  #                TFFTEM          E:(-59+2NR)     LCP Z Z SGN(SDELF)                      LEFT FOR ENTRY DISPLAY TFF ROUTINES
054772,000356:                                                                                                  #                                M:(-55+2NR)     LCP /ALFA SGN(SDELF)                    LEFT FOR ENTRY DISPLAY TFF ROUTINES
054773,000357:                                                                                                  #                NOTE:   TFFTEM = PDL 36D AND WILL BE DESTROYED BY .:UNIT:.
054774,000358:                                                                                                  #                RMAG1           E:(-29) M:(-27) PDL 12 NOT TOUCHED.
054775,000359:                                                                                                  #                TFFQ1           E:(-16) M:(-15) PDL 14D
054776,000360:                                                                                                  #                TFFDELQ         E:(-16) M:(-15) PDL 10D
054777,000361:                                                                                                  #                PUSHLOC AT PDL+0
054778,000362: 
054779,000363:                                                                                                  #  ERASABLE INITIALIZATION REQUIRED:
054780,000364:                                                                                                  #                RONE            E:(-29) M:(-27) M  STATE VECTOR                         LEFT BY USER
054781,000365:                                                                                                  #                VONE'           E:(+10) M:(+9)  VN/SQRT(MU)                             LEFT BY TFF/CONIC
054782,000366:                                                                                                  #                RMAG1           E:(-29) M:(-27) PRESENT RADIUS, M                       LEFT BY TFFCONIC
054783,000367:                                                                                                  #                C(MPAC)         E:(-29) M:(-27) RTERM, TERMINAL RADIUS LENGTH, M        LEFT BY USER
054784,000368: 
054785,000369:                                                                                                  #                THE FOLLOWING ARE STORED IN THE PUSH LIST AREA.
054786,000370:                                                                                                  #                TFF/RTMU        E:(17) M:(14)   1/SQRT(MU)                              LEFT BY TFFCONIC.
054787,000371:                                                                                                  #                NRMAG           E:(-29+NR)      M  RMAG, NORMALIZED                     LEFT BY TFFCONIC
054788,000372:                                                                                                  #                                M:(-27+NR)
054789,000373:                                                                                                  #                X1                              -NR, NORM COUNT                         LEFT BY TFFCONIC
054790,000374:                                                                                                  #                TFFNP           E:(-38+2NR)     M  LCP, SEMI LATUS RECTUM, WEIGHT NR    LEFT BY TFFCONIC
054791,000375:                                                                                                  #                                M:(-36+2NR)
054792,000376:                                                                                                  #                TFFALFA         E:(26-NR)       1/M  ALFA, WEIGHT NR                    LEFT BY TFFCONIC
054793,000377:                                                                                                  #                                M:(24-NR)
054794,000378:                                                                                                  #                TFFRTALF        E:(10+NA)       SQRT(ALFA), NORMALIZED                  LEFT BY TFFCONIC
054795,000379:                                                                                                  #                                M:(9+NA)
054796,000380:                                                                                                  #                X2                              -NA, NORMCOUNT                          LEFT BY TFFCONIC
054797,000381:                                                                                                  #                TFF1/ALF        E:(-22-2NA)     SIGNED SEMIMAJ AXIS, WEIGHTED BY NA     LEFT BY TFFCONIC
054798,000382:                                                                                                  #                                M:(-20-2NA)
054799,000383: 
054800,000384:                                                                                                  #  DEBRIS:       QPRET, PDL+0 ... PDL+3
054801,000385:                                                                                                  #                RTERM           E:(-29) M:(-27) RTERM, TERMINAL RADIUS LENGTH
054802,000386:                                                                                                  #                RAPO            E:(-29) M:(-27) PDL 16D (=NRTERM)
054803,000387:                                                                                                  #                RPER            E:(-29) M:(-27) PDL 14D (=TFFQ1)
054804,000388: 

Page 1271

054806,000390: 27,3437           77614        CALCTPER           SETGO                                          #  ENTER WITH RPER IN MPAC
054807,000391: 27,3440           03436                                    TFFSW                                 
054808,000392: 27,3441           57444                                    +3                                    
054809,000393: 27,3442           77614        CALCTFF            CLEAR                                          #  ENTER WITH RTERM IN MPAC
054810,000394: 27,3443           03676                                    TFFSW                                 
054811,000395: 27,3444           00023                 +3        STORE    RTERM                                 #  E:(-29) M:(-27)
054812,000396: 27,3445           77657                           SL*                                            
054813,000397: 27,3446           20201                                    0,1                                   #  X1=-NR
054814,000398: 27,3447           00021                           STORE    NRTERM                                #  RTERM  E:(-29+NR) M:(-27+NR)
054815,000399: 27,3450           44205                           DMP      BDSU                                  
054816,000400: 27,3451           00033                                    TFFALFA                               #  ALFA  E:(26-NR) M:(24-NR)
054817,000401: 27,3452           06414                                    TFF1/4                                
054818,000402: 27,3453           41206                           PUSH     DMP                                   #  (2-ALFA RTERM)  (-3)  TO PDL+0
054819,000403: 27,3454           00021                                    NRTERM                                #  E:(-29+NR) M:(-27+NR)
054820,000404: 27,3455           53725                           PDDL     SR*                                   #  RTERM(2-ALFA RTERM) TO PDL+2
054821,000405:                                                                                                  #  E:(-32+NR) M:(-30+NR)
054822,000406: 27,3456           00035                                    TFFNP                                 #  LC P  E:(-38+2NR) M:(-36+2NR)
054823,000407: 27,3457           20573                                    0          -6,1                       #  X1 = -NR
054824,000408: 27,3460           43276                           DCOMP    DAD                                   #  DUE TO SHIFTS, KEEP PRECISION FOR SQRT
054825,000409:                                                                                                  #  RTERM(2-ALFA RTERM) FROM PDL +2
054826,000410:                                                                                                  #  E:(-32+NR) M:(-30+NR)
054827,000411: 27,3461           77657                           SR*                                            #  LEAVE  E:(-32) M:(-30)
054828,000412: 27,3462           20601                                    0,1                                   #  X1 = -NR
054829,000413: 27,3463           71214                           BOFF     DLOAD                                 #  CHECK TFF /TPER SWITCH
054830,000414: 27,3464           03756                                    TFFSW                                 
054831,000415: 27,3465           57467                                    +2                                    #  IF TFF, CONTINUE
054832,000416: 27,3466           06424                                    TFFZEROS                              #  IF TPER, SET Q2 = 0
054833,000417: 27,3467           75440                 +2        BMN      SQRT                                  #  E:(-16) M:(-15)
054834,000418: 
054835,000419: 27,3470           57622                                    MAXTFF1                               #  NO FREE FALL CONIC TO RTERM FROM HERE
054836,000420:                                                                                                  #  RESET PDL, SET TFF=POSMAX, AND EXIT.
054837,000421: 
054838,000422: 27,3471           41076                           DCOMP    BOVB                                  #  RT IS ON INBOUND SIDE.  ASSURE OVFIND=0
054839,000423: 27,3472           57725                                    TCDANZIG                              #  ANY PORT IN A STORM.
054840,000424: 27,3473           24045                           STOVL    TFFTEM                                #  Q2  E:(-16) M:(-15)
054841,000425: 27,3474           02170                                    VONE'                                 #  VN/SQRT(MU)  E:(10) M:(9)
054842,000426: 27,3475           52441                           DOT      SL3                                   
054843,000427: 27,3476           02213                                    RONE                                  #  SAVED RN.  E:(-29) M:(-27)
054844,000428: 27,3477           00017                           STORE    TFFQ1                                 #  Q1, SAVE FOR GONEPAST TEST.
054845,000429:                                                                                                  #  E:(-16) M:(-15)
054846,000430: 27,3500           44240                           BMN      BDSU                                  
054847,000431: 27,3501           57522                                    INBOUND                               #  USE ALTERNATE Z
054848,000432: 27,3502           00045                                    TFFTEM                                #  Q2  E:(-16) M:(-15)
054849,000433: 
054850,000434:                                                                                                  #  OUTBOUND Z CALC CONTINUES HERE
054851,000435: 
054852,000436: 27,3503           14043                           STODL    TFFX                                  #  NUM=Q2-Q1  E:(-16) M:(-15)
054853,000437: 27,3504           00033                                    TFFALFA                               #  ALFA  E:(26-NR) M:(24-NR)
054854,000438: 27,3505           44205                           DMP      BDSU                                  

Page 1272

054856,000440: 27,3506           00041                                    NRMAG                                 #  RMAG  E:(-29+NR) M:(-27+NR)
054857,000441:                                                                                                  #  (2-RTERM ALFA)  (-3) FROM PDL+0
054858,000442: 27,3507           51406        SAVEDEN            PUSH     ABS                                   #  DEN TO PDL+0  E:(-3) OR (-16)
054859,000443:                                                                                                  #                M:(-3) OR (-15)
054860,000444: 27,3510           40015                           DAD      BOV                                   #  INDETERMINANCY TEST
054861,000445: 27,3511           17731                                    LIM(-22)                              #  =1.0-B(-22)
054862,000446: 27,3512           57533                                    TFFXTEST                              #  GO IF DEN >/= B(-22)
054863,000447: 27,3513           65345                           DLOAD    PDDL                                  #  SET DEN=0 OTHERWISE
054864,000448: 27,3514           06424                                    TFFZEROS                              
054865,000449:                                                                                                  #  XCH ZERO WITH PDL+0
054866,000450: 27,3515           57545                           DLOAD    DCOMP                                 
054867,000451: 27,3516           00033                                    TFFALFA                               #  ALFA  E:(26-NR) M:(24-NR)
054868,000452: 27,3517           71240                           BMN      DLOAD                                 #  FOR TPER:  Z INDET AT DELE/2=0 AND 90.
054869,000453: 27,3520           57627                                    TFFEL1                                #  ASSUME 90, AND LEAVE 0 IN PDL: 1/Z=D/N
054870,000454: 
054871,000455:                                                                                                  #  Z INDET. AT PERIGEE FOR PARAB OR HYPERB.
054872,000456: 27,3521           77616        DUMPTFF1           RVQ                                            #  RETURN TFF =0
054873,000457: 
054874,000458:                                                                                                  #  INBOUND Z CALC CONTINUES HERE
054875,000459: 
054876,000460: 27,3522           77745        INBOUND            DLOAD                                          #  RESET PDL+0
054877,000461: 27,3523           45345                           DLOAD    DSU                                   #  ALTERNATE Z CALC
054878,000462: 27,3524           00023                                    RTERM                                 #  E:(-29) M:(-27)
054879,000463: 27,3525           00015                                    RMAG1                                 #  E:(-29) M:(-27)
054880,000464: 27,3526           14043                           STODL    TFFX                                  #  NUM=RTERM-RN  E:(-29) M:(-27)
054881,000465: 27,3527           00045                                    TFFTEM                                #  Q2  E:(-16) M:(-15)
054882,000466: 27,3530           52015                           DAD      GOTO                                  
054883,000467: 27,3531           00017                                    TFFQ1                                 #  Q1  E:(-16) M:(-15)
054884,000468: 27,3532           57507                                    SAVEDEN                               #  DEN = Q2+Q1  E:(-16) M:(-15)
054885,000469: 
054886,000470: 27,3533           65215        TFFXTEST           DAD      PDDL                                  #  (ABS(DEN) TO PDL+2))  E:(-3) OR (-16)
054887,000471:                                                                                                  #                        M:(-3) OR (-15)
054888,000472: 27,3534           17733                                    DP(-22)                               #  RESTORE ABS(DEN) TO MPAC
054889,000473: 27,3535           00043                                    TFFX                                  #  NUM  E:(-16) OR (-29)  M:(-15) OR (-27)
054890,000474: 27,3536           53605                           DMP      SR*                                   
054891,000475: 27,3537           00031                                    TFFRTALF                              #  SQRT(ALFA)  E:(10+NA) M:(9+NA)
054892,000476: 27,3540           57201                                    0          -3,2                       #  X2=-NA
054893,000477: 27,3541           77671                           DDV                                            #  C(MPAC) =NUM SQRT(ALFA)       E:(-3) OR (-16)
054894,000478:                                                                                                  #                                M:(-3) OR (-15)
054895,000479:                                                                                                  #  ABS(DEN) FROM PDL+2   E:(-3) OR (-16)
054896,000480:                                                                                                  #                        M:(-3) OR (-15)
054897,000481: 27,3542           40145                           DLOAD    BOV                                   #  (THE DLOAD IS SHARED WITH TFFELL)
054898,000482: 27,3543           00043                                    TFFX                                  #  NUM  E:(-16) OR (-29)  M:(-15) OR (-27)
054899,000483: 27,3544           57625                                    TFFELL                                #  USE EQN FOR DELE GEQ 90, LEQ -90
054900,000484: 
054901,000485:                                                                                                  #  OTHERWISE, CONTINUE FOR GENERAL CONIC FOR TFF EQN
054902,000486: 
054903,000487: 27,3545           45471                           DDV      STADR                                 
054904,000488:                                                                                                  #  DEN FROM PDL+0        E:(-3) OR (-16)
054905,000489:                                                                                                  #                        M:(-3) OR (-15)
054906,000490: 27,3546           77732                           STORE    TFFTEM                                #  Z SAVE FOR SIGN OF SDELF.

Page 1273

054908,000492:                                                                                                  #  E:(-13) M:(-12)
054909,000493: 27,3547           63406                           PUSH     DSQ                                   #  Z TO PDL+0
054910,000494: 27,3550           41206                           PUSH     DMP                                   #  Z SQ TO PDL+2  E:(-26) M:(-24)
054911,000495: 27,3551           00035                                    TFFNP                                 #  LC P  E:(-38+2NR) M:(-36+2NR)
054912,000496: 27,3552           75261                           SL       SIGN                                  
054913,000497: 27,3553           20206                                    5                                     
054914,000498: 27,3554           00045                                    TFFTEM                                #  AFFIX SIGN FOR SDELF (ENTRY DISPLAY)
054915,000499: 27,3555           14045                           STODL    TFFTEM                                #  P ZSQ  E:(-59+2NR) M:(-55+2NR)
054916,000500:                                                                                                  #  (ARG IS USED IN TFF/TRIG)
054917,000501:                                                                                                  #  ZSQ FROM PDL+2  E:(-26) M:(-24)
054918,000502: 27,3556           41206                           PUSH     DMP                                   #  RESTORE PUSH LOC
054919,000503: 27,3557           00033                                    TFFALFA                               #  ALFA  E:(26-NR) M:(24-NR)
054920,000504: 27,3560           77657                           SL*                                            
054921,000505: 27,3561           20201                                    0,1                                   #  X1=-NR
054922,000506: 27,3562           00043                           STORE    TFFX                                  #  X
054923,000507: 27,3563           41234                           RTB      DMP                                   
054924,000508: 27,3564           57707                                    T(X)                                  #  POLY
054925,000509:                                                                                                  #  ZSQ FROM PDL+2  E:(-26) M:(-24)
054926,000510: 27,3565           44302                           SR2      BDSU                                  #  2 ZSQ T(X)  E:(-29) M:(-27)
054927,000511: 27,3566           00023                                    RTERM                                 #  RTERM  E:(-29) M:(-27)
054928,000512: 27,3567           41215                           DAD      DMP                                   
054929,000513: 27,3570           00015                                    RMAG1                                 #  E:(-29) M:(-27)
054930,000514:                                                                                                  #  Z FROM PDL+0  E:(-13) M:(-12)
054931,000515: 27,3571           51042                           SR3      BPL                                   #  TFF SQRT(MU)  E:(-45) M:(-42)
054932,000516: 27,3572           57613                                    ENDTFF                                #  (NO PUSH UP)
054933,000517: 27,3573           75206                           PUSH     SIGN                                  #  TFF SQRT(MU) TO PDL+0
054934,000518: 27,3574           00017                                    TFFQ1                                 #  Q1 FOR GONEPAST TEST
054935,000519: 27,3575           71244                           BPL      DLOAD                                 #  GONE PAST ?
054936,000520: 27,3576           57617                                    NEGTFF                                #  YES. TFF < 0.
054937,000521: 27,3577           00027                                    TFF1/ALF                              #  1/ALFA  E:(-22-2NA) M:(-20-2NA)
054938,000522: 27,3600           51076                           DCOMP    BPL                                   #  ALFA > 0 ?
054939,000523: 27,3601           57617                                    NEGTFF                                #  NO. TFF IS NEGATIVE.
054940,000524: 
054941,000525:                                                                                                  #  CORRECT FOR ORBITAL PERIOD.
054942,000526: 
054943,000527: 27,3602           77676                           DCOMP                                          #  YES.  CORRECT FOR ORB PERIOD.
054944,000528: 27,3603           56205                           DMP      DDV                                   
054945,000529: 27,3604           17727                                    PI/16                                 #  2 PI (-5)
054946,000530: 27,3605           00031                                    TFFRTALF                              #  SQRT(ALFA)  E:(10+NA) M:(9+NA)
054947,000531: 27,3606           53657                           SL*      SL*                                   
054948,000532: 27,3607           57602                                    0          -4,2                       #  X2=-NA
054949,000533: 27,3610           57602                                    0          -4,2                       
054950,000534: 27,3611           43257                           SL*      DAD                                   
054951,000535: 27,3612           57576                                    0,2                                   
054952,000536:                                                                                                  #  TFF SQRT(MU) FROM PDL+0       E:(-45) M:(-42)
054953,000537: 27,3613           40005        ENDTFF             DMP      BOV                                   #  TFF SQRT(MU) IN MPAC          E:(-45) M:(-42)
054954,000538: 27,3614           00037                                    TFF/RTMU                              #  E:(17) M:(14)
054955,000539: 27,3615           57623                                    MAXTFF                                #  SET POSMAX IF OVFL.
054956,000540: 
054957,000541: 27,3616           77616        DUMPTFF2           RVQ                                            #  RETURN TFF (-28) CS IN MPAC.
054958,000542: 

Page 1274

054960,000544: 27,3617           77745        NEGTFF             DLOAD                                          
054961,000545:                                                                                                  #  TFF SQRT(MU) FROM PDL+0, NEGATIVE.
054962,000546: 27,3620           77650                           GOTO                                           
054963,000547: 27,3621           57613                                    ENDTFF                                
054964,000548: 
054965,000549: 27,3622           77745        MAXTFF1            DLOAD                                          #  RESET PDL
054966,000550: 27,3623           43545        MAXTFF             DLOAD    RVQ                                   
054967,000551: 27,3624           17743                                    NEARONE                               
054968,000552: 
054969,000553:                                                                                                  #  TIME OF FLIGHT ELLIPSE WHEN DEL (ECCENTRIC ANOM) GEQ 90 AND LEQ -90.
054970,000554: 
054971,000555:                                                                                                  #  NUM FROM TFFX.        E:(-16) OR (-29)
054972,000556:                                                                                                  #                        M:(-15) OR (-27)
054973,000557: 27,3625           77712        TFFELL             SL2                                            #  NUM  E:(-14) OR (-27)  M:(-13) OR (-25)
054974,000558: 27,3626           41465                           BDDV     PUSH                                  #  TEMP SAVE D/N IN PDL+0
054975,000559:                                                                                                  #  DEN FROM PDL+0  E:(-3)/( 16) M:(-3)/(-15)
054976,000560:                                                                                                  #  N/D TO PDL+0  E:(11) M:(10)
054977,000561: 27,3627           45345        TFFEL1             DLOAD    DSU                                   #  (ENTER WITH D/N=0 IN PDL+0)
054978,000562: 27,3630           00045                                    TFFTEM                                #  Q2  E:(-16) M:(-15)
054979,000563: 27,3631           00017                                    TFFQ1                                 #  Q1  E:(-16) M:(-15)
054980,000564: 27,3632           14013                           STODL    TFFDELQ                               #  Q2-Q1  E:(-16) M:(-15)
054981,000565:                                                                                                  #  D/N FROM PDL+0
054982,000566: 27,3633           77626                           STADR                                          
054983,000567: 27,3634           77732                           STORE    TFFTEM                                #  D/N  E:(11) M:(10)
054984,000568: 27,3635           53605                           DMP      SL*                                   
054985,000569: 27,3636           00027                                    TFF1/ALF                              #  1/ALFA  E:(-22-2NA) M:(-20-2NA)
054986,000570: 27,3637           57576                                    0,2                                   #  1/ALFA Z  E:(-11-NA) M:(-10-NA)
054987,000571: 27,3640           41206                           PUSH     DMP                                   #  TO PDL+0
054988,000572: 27,3641           00045                                    TFFTEM                                #  1/Z  E:(11) M:(10)
054989,000573: 27,3642           41057                           SL*      BOVB                                  
054990,000574: 27,3643           57576                                    0,2                                   #  X2= -NA
054991,000575: 27,3644           21664                                    SIGNMPAC                              #  IN CASE X= 1.0, CONTINUE
054992,000576: 27,3645           00043                           STORE    TFFX                                  #  X=1/ALFA ZSQ
054993,000577: 27,3646           41234                           RTB      DMP                                   
054994,000578: 27,3647           57707                                    T(X)                                  #  POLY
054995,000579: 27,3650           00043                                    TFFX                                  
054996,000580: 27,3651           45242                           SR3      DSU                                   
054997,000581: 27,3652           17735                                    DP2(-3)                               
054998,000582: 27,3653           41405                           DMP      PUSH                                  #  2(X T(X)-1) /Z ALFA   E:(-15-NA)
054999,000583:                                                                                                  #                        M:(-14-NA)
055000,000584:                                                                                                  #  1/ALFA Z FROM PDL+0   E:(-11-NA)
055001,000585:                                                                                                  #                        M:(-10-NA)
055002,000586: 27,3654           41345                           DLOAD    DMP                                   #  GET SIGN FOR SDELF
055003,000587: 27,3655           00045                                    TFFTEM                                #  1/Z  E:(11) M:(10)
055004,000588: 27,3656           00015                                    RMAG1                                 #  E:(-29) M:(-27)
055005,000589: 27,3657           43312                           SL2      DAD                                   
055006,000590: 27,3660           00017                                    TFFQ1                                 #  Q1  E:(-16) M:(-15)
055007,000591: 27,3661           14045                           STODL    TFFTEM                                #  (Q1+R 1/Z) =SGN OF SDELF  E:(-16) M:(-15
055008,000592: 27,3662           00035                                    TFFNP                                 #  LC P  E:(-38+2NR) M:(-36+2NR)
055009,000593: 27,3663           53605                           DMP      SL*                                   #  CALC FOR ARG FOR TFF/TRIG.

Page 1275

055011,000595: 27,3664           00027                                    TFF1/ALF                              #  1/ALFA  E:(-22-2NA) M:(-20-2NA)
055012,000596: 27,3665           57575                                    1,2                                   #  X2=-NA
055013,000597: 27,3666           53765                           SIGN     SL*                                   
055014,000598: 27,3667           00045                                    TFFTEM                                #  AFFIX SIGN FOR SDELF
055015,000599: 27,3670           57576                                    0,2                                   
055016,000600: 27,3671           14045                           STODL    TFFTEM                                #  P/ALFA  E:(-59+2NR) M:(-55+2NR)
055017,000601:                                                                                                  #  (ARG FOR USE IN TFF/TRIG)
055018,000602: 27,3672           00027                                    TFF1/ALF                              #  1/ALFA  E:(-22-2NA) M:(-20-2NA)
055019,000603: 27,3673           41366                           SQRT     DMP                                   
055020,000604: 27,3674           17727                                    PI/16                                 #  PI (-4)
055021,000605: 27,3675           77615                           DAD                                            
055022,000606:                                                                                                  #  2(XT(X)-1)/Z ALFA FROM PDL    E:(-15-NA)
055023,000607:                                                                                                  #                                M:(-14-NA)
055024,000608: 27,3676           45257                           SL*      DSU                                   
055025,000609: 27,3677           57577                                    0          -1,2                       
055026,000610: 27,3700           00013                                    TFFDELQ                               #  Q2-Q1  E:(-16) M:(-15)
055027,000611: 27,3701           53605                           DMP      SL*                                   
055028,000612: 27,3702           00027                                    TFF1/ALF                              #  1/ALFA  E:(-22-2NA) M:(-20-2NA)
055029,000613: 27,3703           57601                                    0          -3,2                       
055030,000614: 27,3704           52057                           SL*      GOTO                                  
055031,000615: 27,3705           57602                                    0          -4,2                       
055032,000616: 27,3706           57613                                    ENDTFF                                #  TFF SQRT(MU) IN MPAC E:(-45) M:(-42)
055033,000617: 

Page 1276

055035,000619:                                                                                                  #  PROGRAM NAME:  T(X)                           DATE:  01.17.67
055036,000620:                                                                                                  #  MOD NO:  0                                    LOG SECTION:  TIME OF FREE FALL
055037,000621:                                                                                                  #  MOD BY:  RR BAIRNSFATHER
055038,000622: 
055039,000623:                                                                                                  #  FUNCTIONAL DESCRIPTION:  THE POLYNOMIAL T(X) IS USED BY TIME OF FLIGHT SUBROUTINES CALCTFF AND
055040,000624:                                                                                                  #        CALCTPER TO APPROXIMATE THE SERIES
055041,000625:                                                                                                  #                           2     3
055042,000626:                                                                                                  #                1/3 -X/5 +X /7 -X /9 ...
055043,000627: 
055044,000628:                                                                                                  #        WHERE   X = ALFA Z Z            IF ALFA Z Z LEQ 1
055045,000629:                                                                                                  #                X = 1/(ALFA Z Z)        IF ALFA Z Z G 1
055046,000630: 
055047,000631:                                                                                                  #        ALSO    X IS NEG FOR HYPERBOLIC ORBITS
055048,000632:                                                                                                  #                X = 0 FOR PARABOLIC ORBITS
055049,000633:                                                                                                  #                X IS POSITIVE FOR ELLIPTIC ORBITS
055050,000634: 
055051,000635:                                                                                                  #        FOR FLIGHT 278, THE POLYNOMIAL T(X) IS FITTED OVER THE RANGE (0,+1) AND HAS A MAXIMUM
055052,000636:                                                                                                  #        DEVIATION FROM THE SERIES OF 2 E-5   (T(X) IS A CHEBYCHEV TYPE FIT AND WAS OBTAINED USING
055053,000637:                                                                                                  #        MAC PROGRAM AUTCURFIT294RRB AND IS VALID TO THE SAME TOLERANCE OVER THE RANGE (-.08,+1).)
055054,000638: 
055055,000639:                                                                                                  #  CALLING SEQUENCE:     RTB
055056,000640:                                                                                                  #                                T(X)
055057,000641:                                                                                                  #        C(MPAC) = X
055058,000642: 
055059,000643:                                                                                                  #  SUBROUTINES CALLED:  NONE
055060,000644: 
055061,000645:                                                                                                  #  NORMAL EXIT MODE:  TC   DANZIG
055062,000646: 
055063,000647:                                                                                                  #  ALARMS:  NONE
055064,000648: 
055065,000649:                                                                                                  #  OUTPUT:  C(MPAC) = T(X)
055066,000650: 
055067,000651:                                                                                                  #  ERASABLE INITIALIZATION REQUIRED:
055068,000652:                                                                                                  #        C(MPAC) = X
055069,000653: 
055070,000654:                                                                                                  #  DEBRIS:  NONE
055071,000655: 
055072,000656: 27,3707           07221        T(X)               TC       POLY                                  
055073,000657: 27,3710           00004                           DEC      4          B-14                       #  N-1
055074,000658: 27,3711           12525 12525                     2DEC     3.333333333 E-1                        
055075,000659: 
055076,000660: 27,3713           71463 57703                     2DEC*    -1.999819135 E-1*                       
055077,000661: 
055078,000662: 27,3715           04423 17645                     2DEC*    1.418148467 E-1*                       
055079,000663: 
055080,000664: 27,3717           74604 43667                     2DEC*    -1.01310997 E-1*                       
055081,000665: 
055082,000666: 27,3721           01626 37256                     2DEC*    5.609004986 E-2*                       
055083,000667: 
055084,000668: 27,3723           77404 52071                     2DEC*    -1.536156925 E-2*                       
055085,000669: 
055086,000670: 27,3725           06060        ENDT(X)            TC       DANZIG                                
055087,000671: 
055088,000672: 27,3726  27,3725               TCDANZIG           =        ENDT(X)                               
055089,000673: 

Page 1277

055091,000675:                                                                                                  #  TFF CONSTANTS
055092,000676: 
055093,000677: 32,3766                                           BANK     32                                    
055094,000678: 
055095,000679: 27,2000                                           SETLOC   TOF-FF1                               
055096,000680: 27,2000                                           BANK                                           
055097,000681: 
055098,000682:                                                                                                  #                                                NOTE _  NOTE _  ADJUSTED MUE FOR NEAR EARTH TRAJ.
055099,000683:                                                                                                  # MUE            =       3.990815471 E10         M CUBE/CS SQ
055100,000684:                                                                                                  # RTMUE          =       1.997702549 E5 B-18*    MODIFIED EARTH MU
055101,000685: 
055102,000686:                                                                                                  #                                                NOTE _  NOTE _  ADJUSTED MUE FOR NEAR EARTH TRAJ.
055103,000687:                                                                                                  # MUM            =       4.902778 E8             M CUBE/CS SQ
055104,000688:                                                                                                  # RTMUM          2DEC*   2.21422176 E4 B-18*
055105,000689: 
055106,000690: 27,3726           06220 37553  PI/16              2DEC     3.141592653 B-4                        
055107,000691: 
055108,000692: 27,3730           37777 37700  LIM(-22)           2OCT     37777      37700                      #  1.0 -B(-22)
055109,000693: 
055110,000694: 27,3732           00000 00100  DP(-22)            2OCT     00000      00100                      #  B(-22)
055111,000695: 
055112,000696: 27,3734           04000 00000  DP2(-3)            2DEC     1          B-3                        
055113,000697: 
055114,000698: 27,3736           02000 00000  DP2(-4)            2DEC     1          B-4                        #  1/16
055115,000699: 
055116,000700:                                                                                                  #  RPAD1         2DEC    6373338 B-29            M (-29) = 20909901.57 FT
055117,000701: 
055118,000702: 27,3740  23,2275               RPAD1              =        RPAD                                  
055119,000703: 
055120,000704: 27,3740           00305 11205  R300K              2DEC     6464778    B-29                       #  (-29) M
055121,000705: 
055122,000706: 27,3742           37777 37777  NEARONE            2DEC     .999999999                            
055123,000707: 
055124,000708: 27,3744  23,2423               TFFZEROS           EQUALS   HI6ZEROS                              
055125,000709: 27,3744  23,2413               TFF1/4             EQUALS   HIDP1/4                               
055126,000710: 

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