Source Code

These source-code files are part of a reconstructed copy of Artemis 071, the first release of the Apollo 15 through 17 Command Module (CM) Apollo Guidance Computer (AGC) software.

The reconstruction began with source code of Artemis 072 previously transcribed from a digitized copy of that program. The code was then updated by undoing changes between the two versions. The reconstruction was verified by matching memory-bank checksums to those listed in drawing 2021154-. Note that page numbers in the reconstructed code match those on the Artemis 072 printout, although the changed code would likely have changed page numbers for a real Artemis 071 listing.

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.

058632,000002:                                                                                                  ## Copyright:   Public domain.
058633,000003:                                                                                                  ## Filename:    TIME_OF_FREE_FALL.agc
058634,000004:                                                                                                  ## Purpose:     A section of Artemis revision 071.
058635,000005:                                                                                                  ##              It is part of the reconstructed source code for the first
058636,000006:                                                                                                  ##              release of the flight software for the Command Module's
058637,000007:                                                                                                  ##              (CM) Apollo Guidance Computer (AGC) for Apollo 15 through
058638,000008:                                                                                                  ##              17. The code has been recreated from a copy of Artemis 072.
058639,000009:                                                                                                  ##              It has been adapted such that the resulting bugger words
058640,000010:                                                                                                  ##              exactly match those specified for Artemis 071 in NASA
058641,000011:                                                                                                  ##              drawing 2021154-, which gives relatively high confidence
058642,000012:                                                                                                  ##              that the reconstruction is correct.
058643,000013:                                                                                                  ## Reference:   1371
058644,000014:                                                                                                  ## Assembler:   yaYUL
058645,000015:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
058646,000016:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
058647,000017:                                                                                                  ## Mod history: 2019-08-14 MAS  Created from Artemis 072.
058648,000018: 

Page 1371

058650,000020: 
058651,000021:                                                                                                  #  THE TFF SUBROUTINES MAY BE USED IN EITHER EARTH OR MOON CENTERED COORDINATES. THE TFF ROUTINES NEVER
058652,000022:                                                                                                  #  KNOW WHICH ORIGIN APPLIES. IT IS THE USER WHO KNOWS, AND WHO SUPPLIES  RONE, VONE AND 1/SQRT(MU)  AT THE
058653,000023:                                                                                                  #  APPROPRIATE SCALE LEVEL FOR THE PROPER PRIMARY BODY.
058654,000024: 
058655,000025:                                                                                                  #        EARTH ORIGIN    POSITION        -29     METERS
058656,000026:                                                                                                  #                        VELOCITY        -7      METERS/CENTISECOND
058657,000027:                                                                                                  #                        1/SQRT(MU)      +17     SQRT(CS SQ/METERS CUBED)
058658,000028: 
058659,000029:                                                                                                  #        MOON ORIGIN     POSITION        -27     METERS
058660,000030:                                                                                                  #                        VELOCITY        -5      METERS/CENTISECONDS
058661,000031:                                                                                                  #                        1/SQRT(MU)      +14     SQRT(CS SQ/METERS CUBED)
058662,000032: 
058663,000033:                                                                                                  #  ALL DATA PROVIDED TO AND RECEIVED FROM ANY TFF SUBROUTINE WILL BE AT ONE OF THE LEVELS ABOVE. IN ALL CASES,
058664,000034:                                                                                                  #  THE FREE FALL TIME IS RETURNED IN CENTISECONDS AT (-28). PROGRAM TFF/CONIC WILL GENERATE VONE/RTMU AND
058665,000035:                                                                                                  #  LEAVE IT IN VONE' AT (+10) IF EARTH ORIGIN AND (+9) IF MOON ORIGIN.
058666,000036: 
058667,000037:                                                                                                  #  THE USER MUST STORE THE STATE VECTOR IN  RONE, VONE  AND MU  IN THE FORM 1/SQRT(MU) IN TFF/RTMU
058668,000038:                                                                                                  #  AT THE PROPER SCALE BEFORE CALLING TFF/CONIC. SINCE  RONE, VONE  ARE IN THE EXTENDED VERB STORAGE AREA,
058669,000039:                                                                                                  #  THE USER MUST ALSO LOCK OUT THE EXTENDED VERBS, AND RELEASE THEM WHEN FINISHED.
058670,000040: 
058671,000041:                                                                                                  #  PROGRAMS CALC/TFF AND CALC/TPER ASSUME THAT THE TERMINAL RADIUS IS LESS THAN THE PRESENT
058672,000042:                                                                                                  #  RADIUS. THIS RESTRICTION CAN BE REMOVED BY A 15 W CODING CHANGE, BUT AT PRESENT IT IS NOT DEEMED NECESSARY.
058673,000043: 
058674,000044:                                                                                                  #  THE FOLLOWING ERASABLE QUANTITIES ARE USED BY THE TFF ROUTINES, AND ARE LOCATED IN THE PUSH LIST.
058675,000045: 
058676,000046:                                                                                                  #                                        BELOW   E:  IS USED FOR EARTH ORIGIN SCALE
058677,000047:                                                                                                  #                                                M:  IS USED FOR MOON  ORIGIN SCALE
058678,000048: 
058679,000049:                                                                                                  # TFFSW          =       119D    BIT1    0 = CALCTFF             1 = CALCTPER
058680,000050: 23,3773                        TFFDELQ            =        10D                                   #        Q2-Q1                   E: (-16)  M: (-15)
058681,000051: 23,3773                        RMAG1              =        12D                                   #        ABVAL(RN)  M            E: (-29)  M: (-27)
058682,000052:                                                                                                  # RPER           =       14D             PERIGEE RADIUS  M       E: (-29)  M: (-27)
058683,000053: 23,3773                        TFFQ1              =        14D                                   #        R.V / SQRT(MUE)         E: (-16)  M: (-15)
058684,000054:                                                                                                  # SDELF/2                                SIN(THETA) /2
058685,000055: 23,3773                        CDELF/2            =        14D                                   #        COS(THETA) /2
058686,000056:                                                                                                  # RAPO           =       16D             APOGEE RADIUS  M        E: (-29)  M: (-27)
058687,000057: 23,3773                        NRTERM             =        16D                                   #        TERMINAL RADIUS M       E: (-29+NR)
058688,000058:                                                                                                  #                                M: (-27+NR)
058689,000059: 23,3773                        RTERM              =        18D                                   #        TERMINAL RADIUS  M      E: (-29)  M: (-27)
058690,000060: 23,3773                        TFFVSQ             =        20D                                   #        -(V SQUARED/MU)  1/M    E: (20)   M: (18)
058691,000061: 23,3773                        TFF1/ALF           =        22D                                   #        SEMI MAJ AXIS  M        E: (-22-2 NA)
058692,000062:                                                                                                  #                                M: (-20-2 NA)
058693,000063: 23,3773                        TFFRTALF           =        24D                                   #        SQRT(ALFA)              E: (10+NA) M: (9+NA)
058694,000064: 23,3773                        TFFALFA            =        26D                                   #        ALFA  1/M               E: (26-NR) M: (24-NR)
058695,000065: 23,3773                        TFFNP              =        28D                                   #        SEMI LATUS RECTUM  M    E: (-38+2 NR)
058696,000066:                                                                                                  #                                M: (-36+2 NR)
058697,000067: 23,3773                        TFF/RTMU           =        30D                                   #        1/SQRT(MU)              E: (17)   M: (14)
058698,000068: 23,3773                        NRMAG              =        32D                                   #        PRESENT RADIUS  M       E: (-29+NR)
058699,000069:                                                                                                  #                                M: (-27+NR)
058700,000070: 23,3773                        TFFX               =        34D                                   
058701,000071: 23,3773                        TFFTEM             =        36D                                   #        TEMPORARY
058702,000072: 

Page 1372

058704,000074:                                                                                                  #                REGISTERS S1, S2 ARE UNTOUCHED BY ANY TFF SUBROUTINE
058705,000075:                                                                                                  #                INDEX REGISTERS X1, X2 ARE USED BY ALL TFF SUBROUTINES. THEY ARE ESTAB-
058706,000076:                                                                                                  #                LISHED IN TFF/CONIC AND MUST BE PRESERVED BETWEEN CALLS TO SUBSEQUENT
058707,000077:                                                                                                  #                SUBROUTINES.
058708,000078:                                                                                                  #                -NR                             C(X1) = NORM COUNT OF RMAG
058709,000079:                                                                                                  #                -NA                             C(X2) = NORM COUNT OF SQRT(ABS(ALFA))
058710,000080: 

Page 1373

058712,000082: 
058713,000083:                                                                                                  #  SUBROUTINE NAME:      TFFCONIC                                        DATE:  01.29.67
058714,000084:                                                                                                  #  MOD NO:  0                                                            LOG SECTION:  TIME OF FREE FALL
058715,000085:                                                                                                  #  MOD BY:  RR BAIRNSFATHER
058716,000086:                                                                                                  #  MOD NO:  1    MOD BY:  RR BAIRNSFATHER        DATE: 11 APR 67
058717,000087:                                                                                                  #  MOD NO:  2    MOD BY:  RR BAIRNSFATHER        DATE: 21 NOV 67         ADD MOON MU.
058718,000088:                                                                                                  #  MOD NO:  3    MOD BY:  RR BAIRNSFATHER        DATE: 21 MAR 68         ACCEPT DIFFERENT EARTH/MOON SCALES
058719,000089: 
058720,000090:                                                                                                  #  FUNCTIONAL DESCRIPTION:       THIS SUBROUTINE IS CALLED TO COMPUTE THOSE CONIC PARAMETERS REQUIRED BY THE TFF
058721,000091:                                                                                                  #        SUBROUTINES AND TO ESTABLISH THEM IN THE PUSH LIST AREA. THE PARAMETERS ARE LISTED UNDER OUTPUT.
058722,000092:                                                                                                  #        THE EQUATIONS ARE
058723,000093:                                                                                                  #                -   -  -
058724,000094:                                                                                                  #                H = RN*VN                       ANGULAR MOMENTUM
058725,000095:                                                                                                  #                      - -
058726,000096:                                                                                                  #                LCP = H.H / MU                  SEMI LATUS RECTUM
058727,000097:                                                                                                  #                              -  -
058728,000098:                                                                                                  #                ALFA = 2/RN - VN.VN / MU        RECIPROCAL SEMI MAJ AXIS, SIGNED
058729,000099: 
058730,000100:                                                                                                  #        AND ALFA IS POS FOR ELLIPTIC ORBITS
058731,000101:                                                                                                  #                     0  FOR PARABOLIC ORBITS
058732,000102:                                                                                                  #                    NEG FOR HYPERBOLIC ORBITS.
058733,000103:                                                                                                  #        SUBROUTINE ALSO COMPUTES AND SAVES RMAG.
058734,000104: 
058735,000105:                                                                                                  #  CALLING SEQUENCE:
058736,000106:                                                                                                  #        TFFCONIC  EXPECTS CALLER TO ENTER WITH CORRECT GRAVITATIONAL CONSTANT IN MPAC, IN THE FORM
058737,000107:                                                                                                  #        1/SQRT(MU). PROGRAM WILL SAVE IN  TFF/RTMU  . THE SCALE IS DETERMINED BY WHETHER EARTH OR MOON
058738,000108:                                                                                                  #        ORIGIN IS USED. THE CALLER MUST LOCK OUT THE EXTENDED VERBS BEFORE PROVIDING STATE VECTOR IN RONE,
058739,000109:                                                                                                  #        VONE  AT PROPER SCALE. THE EXTENDED VERBS MUST BE RESTORED WHEN THE CALLER IS FINISHED USING THE
058740,000110:                                                                                                  #        TFF ROUTINES.
058741,000111: 
058742,000112:                                                                                                  #        ENTRY POINT  TFFCONMU  EXPECTS THAT  TFF/RTMU  IS ALREADY LOADED.
058743,000113: 
058744,000114:                                                                                                  #        TO SPECIFY MU:  DLOAD   CALL                    IF MU ALREADY STORED:   CALL
058745,000115:                                                                                                  #                                YOURMU          1/RTMU  E: (17)  M: (14)                TFFCONMU
058746,000116:                                                                                                  #                                TFFCONIC
058747,000117: 
058748,000118:                                                                                                  #        PUSHLOC = PDL+0, ARBITRARY IF LEQ 18D
058749,000119: 
058750,000120:                                                                                                  #  SUBROUTINES CALLED:  NONE
058751,000121: 
058752,000122:                                                                                                  #  NORMAL EXIT MODES:  RVQ
058753,000123: 
058754,000124:                                                                                                  #  ALARMS:  NONE
058755,000125: 
058756,000126:                                                                                                  #  OUTPUT:       THE FOLLOWING ARE STORED IN THE PUSH LIST AREA.
058757,000127:                                                                                                  #                RMAG1           E:(-29) M:(-27) M  RN, PRESENT RADIUS LENGTH.
058758,000128:                                                                                                  #                NRMAG           E: (-29+NR)     M  RMAG, NORMALIZED
058759,000129:                                                                                                  #                                M: (-27+NR)
058760,000130:                                                                                                  #                X1                              -NR, NORM COUNT
058761,000131:                                                                                                  #                TFFNP           E: (-38+2NR)    M  LCP, SEMI LATUS RECTUM, WEIGHTED BY NR.      FOR VGAMCALC
058762,000132:                                                                                                  #                                M: (-36+2NR)
058763,000133:                                                                                                  #                TFF/RTMU        E:(17)  M:(14)  1/SQRT(MU)
058764,000134:                                                                                                  #                TFFVSQ          E:(20)  M:(18)  1/M  -(V SQ/MU):  PRESENT VELOCITY, NORMLIZED.  FOR VGAMCALC
058765,000135:                                                                                                  #                TFFALFA         E: (26-NR)      1/M  ALFA, WEIGHTED BY NR
058766,000136:                                                                                                  #                                M: (24-NR)
058767,000137:                                                                                                  #                TFFRTALF        E: (10+NA)      SQRT(ALFA), NORMALIZED
058768,000138:                                                                                                  #                                M: (9+NA)

Page 1374

058770,000140:                                                                                                  #                X2                              -NA, NORM COUNT
058771,000141:                                                                                                  #                TFF1/ALF        E: (-22-2NA)    SIGNED SEMI MAJ AXIS, WEIGHTED BY NA
058772,000142:                                                                                                  #                                M: (-20-2NA)
058773,000143:                                                                                                  #                PUSHLOC AT PDL+0
058774,000144:                                                                                                  #                THE FOLLOWING IS STORED IN GENERAL ERASABLE
058775,000145:                                                                                                  #                VONE'           E:(10)  M:(9)   V/RT(MU), NORMALIZED VELOCITY
058776,000146: 
058777,000147:                                                                                                  #  ERASABLE INITIALIZATION REQUIRED:
058778,000148:                                                                                                  #                RONE            E:(-29) M:(-27) M       STATE VECTOR    LEFT BY CALLER
058779,000149:                                                                                                  #                VONE            E:(-7)  M:(-5)  M/CS    STATE VECTOR    LEFT BY CALLER
058780,000150:                                                                                                  #                TFF/RTMU        E:(17)  M:(14)  1/RT(CS SQ/M CUBE)      IF ENTER VIA  TFFCONMU.
058781,000151: 
058782,000152:                                                                                                  #  DEBRIS:       QPRET,          PDL+0 ... PDL+3
058783,000153: 
058784,000154: 27,2000                                           SETLOC   TOF-FF                                
058785,000155: 27,2000                                           BANK                                           
058786,000156: 
058787,000157: 27,3151                                           COUNT*   $$/TFF                                
058788,000158: 
058789,000159: 27,3151           00037        TFFCONIC           STORE    TFF/RTMU                              #  1/SQRT(MU)            E: (17)  M: (14)
058790,000160: 
058791,000161: 27,3152           53575        TFFCONMU           VLOAD    UNIT                                  #  COME HERE WITH TFFRTMU LOADED.
058792,000162: 27,3153           02320                                    RONE                                  #  SAVED RN.  M          E: (-29)  M: (-27)
058793,000163: 27,3154           77725                           PDDL                                           #  UR/2 TO PDL+0, +5
058794,000164: 27,3155           00045                                    36D                                   #  MAGNITUDE
058795,000165: 27,3156           00015                           STORE    RMAG1                                 #  M     E: (-29)  M: (-27)
058796,000166: 
058797,000167: 27,3157           77701                           NORM                                           
058798,000168: 27,3160           00047                                    X1                                    #  -NR
058799,000169: 27,3161           24041                           STOVL    NRMAG                                 #  RMAG  M       E: (-29+NR)  M: (-27+NR)
058800,000170: 27,3162           02326                                    VONE                                  #  SAVED VN.  M/CS       E: (-7)  M: (-5)
058801,000171: 27,3163           77761                           VXSC                                           
058802,000172: 27,3164           00037                                    TFF/RTMU                              #  E: (17)  M: (14)
058803,000173: 27,3165           02362                           STORE    VONE'                                 #  VN/SQRT(MU)  E:(10)  M:(9)
058804,000174: 
058805,000175: 27,3166           47361                           VXSC     VXV                                   
058806,000176: 27,3167           00041                                    NRMAG                                 #  E: (-29+NR)  M: (-27+NR)
058807,000177:                                                                                                  #  UR/2 FROM PDL
058808,000178: 27,3170           47572                           VSL1     VSQ                                   #  BEFORE:  E:(-19+NR)  M:(-18+NR)
058809,000179: 27,3171           14035                           STODL    TFFNP                                 #  LC P  M  E:(-38+2NR)  M:(-36+2NR)
058810,000180:                                                                                                  #  SAVE ALSO FOR VGAMCALC
058811,000181: 27,3172           15326                                    TFF1/4                                
058812,000182: 27,3173           63271                           DDV      PDVL                                  #  (2/RMAG)  1/M  E:(26-NR)  M:(24-NR)
058813,000183: 27,3174           00041                                    NRMAG                                 #  RMAG  M   E:(-29+NR)  M:(-27+NR)
058814,000184: 27,3175           02362                                    VONE'                                 #  SAVED VN.   E: (10)   M: (9)
058815,000185: 27,3176           57436                           VSQ      DCOMP                                 #  KEEP MPAC+2 HONEST FOR SQRT.
058816,000186: 27,3177           00025                           STORE    TFFVSQ                                #  -(V SQ/MU)  E:(20)  M:(18)
058817,000187:                                                                                                  #  SAVE FOR VGAMCALC
058818,000188: 27,3200           43257                           SR*      DAD                                   
058819,000189: 27,3201           20573                                    0          -6,1                       #  GET -VSQ/MU  E:(26-NR)  M:(24-NR)

Page 1375

058821,000191: 27,3202           77626                           STADR                                          
058822,000192:                                                                                                  #  2/RMAG  FROM PDL+2
058823,000193: 27,3203           77744                           STORE    TFFALFA                               #  ALFA  1/M  E:(26-NR)  M:(24-NR)
058824,000194: 27,3204           41457                           SL*      PUSH                                  #  TEMP SAVE ALFA  E:(20)  M:(18)
058825,000195: 27,3205           20173                                    0          -6,1                       
058826,000196: 27,3206           75446                           ABS      SQRT                                  #  E:(10)  M:(9)
058827,000197: 27,3207           77701                           NORM                                           
058828,000198: 27,3210           00050                                    X2                                    #  X2 = -NA
058829,000199: 27,3211           00031                           STORE    TFFRTALF                              #  SQRT( ABS(ALFA) )  E:(10+NA)  M:(9+NA)
058830,000200: 27,3212           75316                           DSQ      SIGN                                  #  NOT SO ACCURATE, BUT OK
058831,000201:                                                                                                  #  ALFA FROM PDL+2  E:(20)  M:(18)
058832,000202: 27,3213           55254                           BZE      BDDV                                  #  SET 1/ALFA =0, TO SHOW SMALL ALFA
058833,000203: 27,3214           57216                                    +2                                    
058834,000204: 27,3215           15326                                    TFF1/4                                
058835,000205: 27,3216           00027                 +2        STORE    TFF1/ALF                              #  1/ALFA  E:(-22-2 NA)  M:(-20-2 NA)
058836,000206: 27,3217           77616        DUMPCNIC           RVQ                                            
058837,000207: 
058838,000208:                                                                                                  #                        39 W
058839,000209: 

Page 1376

058841,000211: 
058842,000212:                                                                                                  #  SUBROUTINE NAME:      TFFRP/RA                                        DATE: 01.17.67
058843,000213:                                                                                                  #  MOD NO:  0                                                            LOG SECTION:  TIME OF FREE FALL
058844,000214:                                                                                                  #  MOD BY:  RR BAIRNSFATHER
058845,000215:                                                                                                  #  MOD NO:  1    MOD BY:  RR BAIRNSFATHER        DATE: 11 APR 67
058846,000216:                                                                                                  #  MOD NO:  2    MOD BY:  RR BAIRNSFATHER        DATE: 21 MAR 68         ACCEPT DIFFERENT EARTH/MOON SCALES
058847,000217:                                                                                                  #                                                                        ALSO IMPROVE ACCURACY OF RAPO.
058848,000218: 
058849,000219:                                                                                                  #  FUNCTIONAL DESCRIPTION:       USED BY CALCTPER AND TFF DISPLAYS TO CALCULATE PERIGEE RADIUS AND ALSO
058850,000220:                                                                                                  #        APOGEE RADIUS FOR A GENERAL CONIC.
058851,000221:                                                                                                  #        PROGRAM GIVES PERIGEE RADIUS AS         APOGEE RADIUS IS GIVEN BY
058852,000222:                                                                                                  #                RP = P /(1+E)                           RA = (1+E) / ALFA
058853,000223:                                                                                                  #        WHERE    2
058854,000224:                                                                                                  #                E  = 1 - P ALFA
058855,000225:                                                                                                  #        IF RA IS NEGATIVE OR SHOWS DIVIDE OVERFLOW, THEN RA = POSMAX BECAUSE
058856,000226:                                                                                                  #                1. APOGEE RADIUS IS NOT MEANINGFUL FOR HYPERBOLA
058857,000227:                                                                                                  #                2. APOGEE RADIUS IS NOT DEFINED FOR PARABOLA
058858,000228:                                                                                                  #                3. APOGEE RADIUS EXCEEDS THE SCALING FOR ELLIPSE.
058859,000229: 
058860,000230:                                                                                                  #        THIS SUBROUTINE REQUIRES THE SIGNED RECIPROCAL SEMI MAJ AXIS, ALFA, AND SEMI LATUS RECTUM AS DATA.
058861,000231: 
058862,000232:                                                                                                  #  CALLING SEQUENCE:     CALL
058863,000233:                                                                                                  #                                TFFRP/RA
058864,000234: 
058865,000235:                                                                                                  #        PUSHLOC = PDL+0, ARBITRARY IF LEQ 10D
058866,000236:                                                                                                  #        C(MPAC) UNSPECIFIED
058867,000237: 
058868,000238:                                                                                                  #  SUBROUTINES CALLED:   NONE
058869,000239: 
058870,000240:                                                                                                  #  NORMAL EXIT MODE:     RVQ
058871,000241:                                                                                                  #        IF ELLIPSE, WITHIN NORMAL SCALING, RAPO IS CORRECT.
058872,000242:                                                                                                  #        OTHERWISE, RAPO = POSMAX.
058873,000243: 
058874,000244:                                                                                                  #  ALARMS:       NONE
058875,000245: 
058876,000246:                                                                                                  #  OUTPUT:       STORED IN PUSH LIST AREA. SCALE OF OUTPUT AGREES WITH DATA SUPPLIED TO  TFF/CONIC.
058877,000247:                                                                                                  #        RPER    E:(-29)  M:(-27)        M       PERIGEE RADIUS                  DESTROYED BY CALCTFF/CALCTPER, TFFTRIG.
058878,000248:                                                                                                  #        RAPO    E:(-29)  M:(-27)        M       APOGEE RADIUS                   WILL BE DESTROYED BY CALCTFF/CALCTPER
058879,000249:                                                                                                  #        PUSHLOC AT PDL+0
058880,000250: 
058881,000251:                                                                                                  #  ERASABLE INITIALIZATION REQUIRED:
058882,000252:                                                                                                  #        TFFALFA E:(26-NR)               M       1/SEMI MAJ AXIS                 LEFT BY TFFCONIC
058883,000253:                                                                                                  #                M:(24-NR)
058884,000254:                                                                                                  #        TFFNP   E:(-38+2NR)             M       LC P, SEMI LATUS RECTUM         LEFT BY TFFCONIC
058885,000255:                                                                                                  #                M:(-36+2NR)
058886,000256:                                                                                                  #        X1                              -NR, NORM COUNT OF RMAG                 LEFT BY TFFCONIC
058887,000257:                                                                                                  #        X2                              -NA, NORM COUNT OF ALFA                 LEFT BY TFFCONIC
058888,000258: 
058889,000259:                                                                                                  #  DEBRIS:       QPRET, PDL+0 ... PDL+1
058890,000260: 

Page 1377

058892,000262: 27,3220                        RAPO               =        16D                                   #  APOGEE RADIUS  M  E:(-29)  M:(-27)
058893,000263: 27,3220                        RPER               =        14D                                   #  PERIGEE RADIUS  M  E:(-29)  M:(-27)
058894,000264: 
058895,000265: 27,3220           41345        TFFRP/RA           DLOAD    DMP                                   
058896,000266: 27,3221           00033                                    TFFALFA                               #  ALFA  1/M     E:(26-NR)  M:(24-NR)
058897,000267: 27,3222           00035                                    TFFNP                                 #  LC P  M       E:(-38+2NR)  M:(-36+2NR)
058898,000268: 27,3223           57457                           SR*      DCOMP                                 #  ALFA P (-12+NR)
058899,000269: 27,3224           20571                                    0          -8D,1                      #  ALFA P (-4)
058900,000270: 27,3225           51415                           DAD      ABS                                   #  (DCOMP GIVES VALID TP RESULT FOR SQRT)
058901,000271:                                                                                                  #  (ABS PROTECTS SQRT IF E IS VERY NEAR 0)
058902,000272: 27,3226           31771                                    DP2(-4)                               
058903,000273: 27,3227           43366                           SQRT     DAD                                   #  E SQ = (1- P ALFA)    (-4)
058904,000274: 27,3230           15326                                    TFF1/4                                
058905,000275: 27,3231           55206                           PUSH     BDDV                                  #  (1+E)  (-2)  TO PDL+0
058906,000276: 27,3232           00035                                    TFFNP                                 #  LCP  M        E:(-38+2NR)  M:(-36+2NR)
058907,000277: 27,3233           53657                           SR*      SR*                                   #  (DOES SR THEN SL TO AVOID OVFL)
058908,000278: 27,3234           20601                                    0,1                                   #  X1=-NR
058909,000279: 27,3235           20572                                    0          -7,1                       #  (EFFECTIVE SL)
058910,000280: 27,3236           14017                           STODL    RPER                                  #  PERIGEE RADIUS  M     E:(-29)  M:(-27)
058911,000281:                                                                                                  #  (1+E)  (-2)  FROM PDL+0
058912,000282: 27,3237           41005                           DMP      BOVB                                  
058913,000283: 27,3240           00027                                    TFF1/ALF                              #  E:(-22-2NA)  M:(-20-2NA)
058914,000284: 27,3241           57544                                    TCDANZIG                              #  CLEAR OVFIND, IF ON.
058915,000285: 27,3242           53654                           BZE      SL*                                   
058916,000286: 27,3243           57252                                    MAXRA                                 #  SET POSMAX, IF ALFA=0
058917,000287: 27,3244           57603                                    0          -5,2                       #  -5+NA
058918,000288: 27,3245           40057                           SL*      BOV                                   
058919,000289: 27,3246           57576                                    0,2                                   
058920,000290: 27,3247           57252                                    MAXRA                                 #  SET POSMAX IF OVFL.
058921,000291: 27,3250           77644                           BPL                                            #  CONTINUE WITH VALID RAPO.
058922,000292: 27,3251           57254                                    +3                                    
058923,000293: 27,3252           77745        MAXRA              DLOAD                                          #  RAPO CALC IS NOT VALID. SET RAPO =
058924,000294: 27,3253           15344                                    NEARONE                               #  POSMAX AS A TAG.
058925,000295: 27,3254           00021                 +3        STORE    RAPO                                  #  APOGEE RADIUS  M  E:(-29)  M:(-27)
058926,000296: 27,3255           77616        DUMPRPRA           RVQ                                            
058927,000297: 
058928,000298:                                                                                                  #                        30 W
058929,000299: 

Page 1378

058931,000301: 
058932,000302:                                                                                                  #  SUBROUTINE NAME:      CALCTPER / CALCTFF                              DATE:  01.29.67
058933,000303:                                                                                                  #  MOD NO:  0                                                            LOG SECTION:  TIME OF FREE FALL
058934,000304:                                                                                                  #  MOD BY:  RR BAIRNSFATHER
058935,000305:                                                                                                  #  MOD NO:  1    MOD BY:  RR BAIRNSFATHER        DATE: 21 MAR 67
058936,000306:                                                                                                  #  MOD NO:  2    MOD BY:  RR BAIRNSFATHER        DATE: 14 APR 67
058937,000307:                                                                                                  #  MOD NO:  3    MOD BY:  RR BAIRNSFATHER        DATE: 8 JUL 67          NEAR EARTH MUE AND NEG TFF (GONEPAST)
058938,000308:                                                                                                  #  MOD NO:  4    MOD BY:  RR BAIRNSFATHER        DATE: 21 NOV 67         ADD VARIABLE MU.
058939,000309:                                                                                                  #  MOD NO:  5    MOD BY:  RR BAIRNSFATHER        DATE: 21 MAR 68         ACCEPT DIFFERENT EARTH/MOON SCALES
058940,000310: 
058941,000311:                                                                                                  #  FUNCTIONAL DESCRIPTION:       PROGRAM CALCULATES THE FREE-FALL TIME OF FLIGHT FROM PRESENT POSITION  RN  AND
058942,000312:                                                                                                  #        VELOCITY  VN  TO A RADIUS LENGTH SPECIFIED BY  RTERM  , SUPPLIED BY THE USER. THE POSITION VECTOR
058943,000313:                                                                                                  #        RN  MAY BE ON EITHER SIDE OF THE CONIC, BUT  RTERM  IS CONSIDERED ON THE INBOUND SIDE.
058944,000314:                                                                                                  #        THE EQUATIONS ARE
058945,000315: 
058946,000316:                                                                                                  #                Q2 = -SQRT(RTERM (2-RTERM ALFA) - LCP)  (INBOUND SIDE)) LEQ +- LCE/SQRT(ALFA)
058947,000317:                                                                                                  #                     -  -
058948,000318:                                                                                                  #                Q1 = RN.VN / SQRT(MU)                                   LEQ +- LCE/SQRT(ALFA)
058949,000319: 
058950,000320:                                                                                                  #                Z = NUM / DEN                                           LEQ +- 1/SQRT(ALFA)
058951,000321: 
058952,000322:                                                                                                  #        WHERE, IF INBOUND
058953,000323:                                                                                                  #                NUM = RTERM - RN                                        LEQ +- 2 LCE/ALFA
058954,000324:                                                                                                  #                DEN = Q2+Q1                                             LEQ +- 2 LCE/SQRT(ALFA)
058955,000325: 
058956,000326:                                                                                                  #        AND, IF OUTBOUND
058957,000327:                                                                                                  #                NUM = Q2-Q1                                             LEQ +- 2 LCE/SQRT(ALFA)
058958,000328:                                                                                                  #                DEN = 2 - ALFA (RTERM + RN) .                           LEQ +- 2 LCE
058959,000329: 
058960,000330:                                                                                                  #        IF      ALFA ZZ < 1.0           (FOR ALL CONICS EXCEPT ELLIPSES HAVING ABS(DEL ECC ANOM) G 90 DEG)
058961,000331: 
058962,000332:                                                                                                  #        THEN    X = ALFA Z Z
058963,000333:                                                                                                  #        AND     TFF = (RTERM +RN -2 ZZ T(X) ) Z/SQRT(MU)
058964,000334: 
058965,000335:                                                                                                  #                EXCEPT  IF ALFA PNZ, AND IF TFF NEG,
058966,000336:                                                                                                  #                THEN    TFF = 2 PI /(ALFA SQRT(ALFA)) + TFF
058967,000337: 
058968,000338:                                                                                                  #        OR      IF ALFA ZZ GEQ 1.0      (FOR ELLIPSES HAVING ABS(DEL ECC ANOM) GEQ 90 DEG)
058969,000339: 
058970,000340:                                                                                                  #        THEN    X = 1/ALFA Z Z
058971,000341:                                                                                                  #        AND     TFF = (PI/SQRT(ALFA) -Q2 +Q1 +2(X T(X) -1) /ALFA Z) /ALFA SQRT(MU)
058972,000342: 
058973,000343:                                                                                                  #        WHERE   T(X) IS A POLYNOMIAL APPROXIMATION TO THE SERIES
058974,000344:                                                                                                  #                             2      3             2
058975,000345:                                                                                                  #                1/3 - X/5 + X /7 - X /9 ...     (X  < 1.0)
058976,000346: 
058977,000347:                                                                                                  #  CALLING SEQUENCE:     TIME TO RTERM                   TIME TO PERIGEE
058978,000348:                                                                                                  #                        CALL                            CALL
058979,000349:                                                                                                  #                                CALCTFF                         CALCTPER
058980,000350:                                                                                                  #                        C(MPAC) = TERMNL RAD M          C(MPAC) = PERIGEE RAD M
058981,000351:                                                                                                  #        FOR EITHER, E: (-29)    M: (-27)
058982,000352:                                                                                                  #        FOR EITHER, PUSHLOC = PDL+0 , ARBITRARY IF LEQ 8D.

Page 1379

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

Page 1380

059033,000403: 27,3256           77614        CALCTPER           SETGO                                          #  ENTER WITH RPER IN MPAC
059034,000404: 27,3257           03436                                    TFFSW                                 
059035,000405: 27,3260           57263                                    +3                                    
059036,000406: 27,3261           77614        CALCTFF            CLEAR                                          #  ENTER WITH RTERM IN MPAC
059037,000407: 27,3262           03676                                    TFFSW                                 
059038,000408: 27,3263           00023                 +3        STORE    RTERM                                 #  E: (-29)  M: (-27)
059039,000409: 27,3264           77657                           SL*                                            
059040,000410: 27,3265           20201                                    0,1                                   #  X1=-NR
059041,000411: 27,3266           00021                           STORE    NRTERM                                #  RTERM  E: (-29+NR)  M: (-27+NR)
059042,000412: 27,3267           44205                           DMP      BDSU                                  
059043,000413: 27,3270           00033                                    TFFALFA                               #  ALFA  E: (26-NR)  M: (24-NR)
059044,000414: 27,3271           15326                                    TFF1/4                                
059045,000415: 27,3272           41206                           PUSH     DMP                                   #  (2-ALFA RTERM)  (-3)  TO PDL+0
059046,000416: 27,3273           00021                                    NRTERM                                #  E: (-29+NR)  M: (-27+NR)
059047,000417: 27,3274           53725                           PDDL     SR*                                   #  RTERM(2-ALFA RTERM) TO PDL+2
059048,000418:                                                                                                  #  E: (-32+NR)  M: (-30+NR)
059049,000419: 27,3275           00035                                    TFFNP                                 #  LC P  E:(-38+2NR)  M:(-36+2NR)
059050,000420: 27,3276           20573                                    0          -6,1                       #  X1 = -NR
059051,000421: 27,3277           43276                           DCOMP    DAD                                   #  DUE TO SHIFTS, KEEP PRECISION FOR SQRT
059052,000422:                                                                                                  #  RTERM(2-ALFA RTERM) FROM PDL +2
059053,000423:                                                                                                  #  E: (-32+NR)  M: (-30+NR)
059054,000424: 27,3300           77657                           SR*                                            #  LEAVE  E: (-32)  M: (-30)
059055,000425: 27,3301           20601                                    0,1                                   #  X1 = -NR
059056,000426: 27,3302           71214                           BOFF     DLOAD                                 #  CHECK TFF /TPER SWITCH
059057,000427: 27,3303           03756                                    TFFSW                                 
059058,000428: 27,3304           57306                                    +2                                    #  IF TFF, CONTINUE
059059,000429: 27,3305           15336                                    TFFZEROS                              #  IF TPER, SET Q2 = 0
059060,000430: 27,3306           75440                 +2        BMN      SQRT                                  #  E: (-16)  M: (-15)
059061,000431: 
059062,000432: 27,3307           57441                                    MAXTFF1                               #  NO FREE FALL CONIC TO RTERM FROM HERE
059063,000433:                                                                                                  #  RESET PDL, SET TFF=POSMAX, AND EXIT.
059064,000434: 
059065,000435: 27,3310           41076                           DCOMP    BOVB                                  #  RT IS ON INBOUND SIDE.  ASSURE OVFIND=0
059066,000436: 27,3311           57544                                    TCDANZIG                              #  ANY PORT IN A STORM.
059067,000437: 27,3312           24045                           STOVL    TFFTEM                                #  Q2  E: (-16)  M: (-15)
059068,000438: 27,3313           02362                                    VONE'                                 #  VN/SQRT(MU)  E: (10)  M: (9)
059069,000439: 27,3314           52441                           DOT      SL3                                   
059070,000440: 27,3315           02320                                    RONE                                  #  SAVED RN.  E: (-29)  M: (-27)
059071,000441: 27,3316           00017                           STORE    TFFQ1                                 #  Q1, SAVE FOR GONEPAST TEST.
059072,000442:                                                                                                  #  E: (-16)  M: (-15)
059073,000443: 27,3317           44240                           BMN      BDSU                                  
059074,000444: 27,3320           57341                                    INBOUND                               #  USE ALTERNATE Z
059075,000445: 27,3321           00045                                    TFFTEM                                #  Q2  E: (-16)  M: (-15)
059076,000446: 
059077,000447:                                                                                                  #  OUTBOUND Z CALC CONTINUES HERE
059078,000448: 
059079,000449: 27,3322           14043                           STODL    TFFX                                  #  NUM=Q2-Q1  E: (-16)  M: (-15)
059080,000450: 27,3323           00033                                    TFFALFA                               #  ALFA  E: (26-NR)  M: (24-NR)
059081,000451: 27,3324           44205                           DMP      BDSU                                  

Page 1381

059083,000453: 27,3325           00041                                    NRMAG                                 #  RMAG  E: (-29+NR) M: (-27+NR)
059084,000454:                                                                                                  #  (2-RTERM ALFA)  (-3) FROM PDL+0
059085,000455: 27,3326           51406        SAVEDEN            PUSH     ABS                                   #  DEN TO PDL+0  E: (-3) OR (-16)
059086,000456:                                                                                                  #                M: (-3) OR (-15)
059087,000457: 27,3327           40015                           DAD      BOV                                   #  INDETERMINANCY TEST
059088,000458: 27,3330           31763                                    LIM(-22)                              #  =1.0-B(-22)
059089,000459: 27,3331           57352                                    TFFXTEST                              #  GO IF DEN >/= B(-22)
059090,000460: 27,3332           65345                           DLOAD    PDDL                                  #  SET DEN=0 OTHERWISE
059091,000461: 27,3333           15336                                    TFFZEROS                              
059092,000462:                                                                                                  #  XCH ZERO WITH PDL+0
059093,000463: 27,3334           57545                           DLOAD    DCOMP                                 
059094,000464: 27,3335           00033                                    TFFALFA                               #  ALFA  E: (26-NR)  M: (24-NR)
059095,000465: 27,3336           71240                           BMN      DLOAD                                 #  FOR TPER:  Z INDET AT DELE/2=0 AND 90.
059096,000466: 27,3337           57446                                    TFFEL1                                #  ASSUME 90, AND LEAVE 0 IN PDL: 1/Z=D/N
059097,000467: 
059098,000468:                                                                                                  #  Z INDET. AT PERIGEE FOR PARAB OR HYPERB.
059099,000469: 27,3340           77616        DUMPTFF1           RVQ                                            #  RETURN TFF =0
059100,000470: 
059101,000471:                                                                                                  #  INBOUND Z CALC CONTINUES HERE
059102,000472: 27,3341           77745        INBOUND            DLOAD                                          #  RESET PDL+0
059103,000473: 27,3342           45345                           DLOAD    DSU                                   #  ALTERNATE Z CALC
059104,000474: 27,3343           00023                                    RTERM                                 #  E: (-29)  M: (-27)
059105,000475: 27,3344           00015                                    RMAG1                                 #  E: (-29)  M: (-27)
059106,000476: 27,3345           14043                           STODL    TFFX                                  #  NUM=RTERM-RN  E: (-29)  M: (-27)
059107,000477: 27,3346           00045                                    TFFTEM                                #  Q2  E: (-16)  M: (-15)
059108,000478: 27,3347           52015                           DAD      GOTO                                  
059109,000479: 27,3350           00017                                    TFFQ1                                 #  Q1  E: (-16)  M:(-15)
059110,000480: 27,3351           57326                                    SAVEDEN                               #  DEN = Q2+Q1  E: (-16)  M: (-15)
059111,000481: 
059112,000482: 27,3352           65215        TFFXTEST           DAD      PDDL                                  #   (ABS(DEN) TO PDL+2)) E: (-3) OR (-16)
059113,000483:                                                                                                  #                        M: (-3) OR (-15)
059114,000484: 27,3353           31765                                    DP(-22)                               #  RESTORE ABS(DEN) TO MPAC
059115,000485: 27,3354           00043                                    TFFX                                  #  NUM  E:(-16) OR (-29)  M:(-15) OR (-27)
059116,000486: 27,3355           53605                           DMP      SR*                                   
059117,000487: 27,3356           00031                                    TFFRTALF                              #  SQRT(ALFA)  E: (10+NA)  M: (9+NA)
059118,000488: 27,3357           57201                                    0          -3,2                       #  X2=-NA
059119,000489: 27,3360           77671                           DDV                                            #  C(MPAC) =NUM SQRT(ALFA)       E:(-3) OR (-16)
059120,000490:                                                                                                  #                                M:(-3) OR (-15)
059121,000491:                                                                                                  #  ABS(DEN) FROM PDL+2   E:(-3) OR (-16)
059122,000492:                                                                                                  #                        M:(-3) OR (-15)
059123,000493: 27,3361           40145                           DLOAD    BOV                                   #  (THE DLOAD IS SHARED WITH TFFELL)
059124,000494: 27,3362           00043                                    TFFX                                  #  NUM  E: (-16) OR (-29)  M:(-15) OR (-27)
059125,000495: 27,3363           57444                                    TFFELL                                #  USE EQN FOR DELE GEQ 90, LEQ -90
059126,000496: 
059127,000497:                                                                                                  #  OTHERWISE, CONTINUE FOR GENERAL CONIC FOR TFF EQN
059128,000498: 
059129,000499: 27,3364           45471                           DDV      STADR                                 
059130,000500:                                                                                                  #  DEN FROM PDL+0        E: (-3) OR (-16)
059131,000501:                                                                                                  #                        M: (-3) OR (-15)
059132,000502: 27,3365           77732                           STORE    TFFTEM                                #  Z  SAVE FOR SIGN OF SDELF.

Page 1382

059134,000504:                                                                                                  #  E: (-13)  M: (-12)
059135,000505: 27,3366           63406                           PUSH     DSQ                                   #  Z TO PDL+0
059136,000506: 27,3367           41206                           PUSH     DMP                                   #  Z SQ TO PDL+2  E: (-26)  M: (-24)
059137,000507: 27,3370           00035                                    TFFNP                                 #  LC P  E: (-38+2NR)  M: (-36+2NR)
059138,000508: 27,3371           75261                           SL       SIGN                                  
059139,000509: 27,3372           20206                                    5                                     
059140,000510: 27,3373           00045                                    TFFTEM                                #  AFFIX SIGN FOR SDELF (ENTRY DISPLAY)
059141,000511: 27,3374           14045                           STODL    TFFTEM                                #  P ZSQ  E: (-59+2NR)  M: (-55+2NR)
059142,000512:                                                                                                  #  (ARG IS USED IN TFF/TRIG)
059143,000513:                                                                                                  #  ZSQ FROM PDL+2  E: (-26)  M: (-24)
059144,000514: 27,3375           41206                           PUSH     DMP                                   #  RESTORE PUSH LOC
059145,000515: 27,3376           00033                                    TFFALFA                               #  ALFA  E: (26-NR)  M: (24-NR)
059146,000516: 27,3377           77657                           SL*                                            
059147,000517: 27,3400           20201                                    0,1                                   #  X1=-NR
059148,000518: 27,3401           00043                           STORE    TFFX                                  #  X
059149,000519: 27,3402           41234                           RTB      DMP                                   
059150,000520: 27,3403           57526                                    T(X)                                  #   POLY
059151,000521:                                                                                                  #  ZSQ FROM PDL+2  E: (-26)  M: (-24)
059152,000522: 27,3404           44302                           SR2      BDSU                                  #  2 ZSQ T(X)  E: (-29)  M: (-27)
059153,000523: 27,3405           00023                                    RTERM                                 #  RTERM  E: (-29)  M: (-27)
059154,000524: 27,3406           41215                           DAD      DMP                                   
059155,000525: 27,3407           00015                                    RMAG1                                 #  E: (-29)  M: (-27)
059156,000526:                                                                                                  #  Z FROM PDL+0  E: (-13)  M: (-12)
059157,000527: 27,3410           51042                           SR3      BPL                                   #  TFF SQRT(MU)  E: (-45)  M: (-42)
059158,000528: 27,3411           57432                                    ENDTFF                                #  (NO PUSH UP)
059159,000529: 27,3412           75206                           PUSH     SIGN                                  #  TFF SQRT(MU)  TO PDL+0
059160,000530: 27,3413           00017                                    TFFQ1                                 #  Q1 FOR GONEPAST TEST
059161,000531: 27,3414           71244                           BPL      DLOAD                                 #  GONE PAST ?
059162,000532: 27,3415           57436                                    NEGTFF                                #  YES. TFF < 0.
059163,000533: 27,3416           00027                                    TFF1/ALF                              #  1/ALFA  E: (-22-2NA)  M: (-20-2NA)
059164,000534: 27,3417           51076                           DCOMP    BPL                                   #  ALFA > 0 ?
059165,000535: 27,3420           57436                                    NEGTFF                                #  NO. TFF IS NEGATIVE.
059166,000536: 
059167,000537:                                                                                                  #  CORRECT FOR ORBITAL PERIOD.
059168,000538: 
059169,000539: 27,3421           77676                           DCOMP                                          #  YES.  CORRECT FOR ORB PERIOD.
059170,000540: 27,3422           56205                           DMP      DDV                                   
059171,000541: 27,3423           31761                                    PI/16                                 #  2 PI (-5)
059172,000542: 27,3424           00031                                    TFFRTALF                              #  SQRT(ALFA)  E: (10+NA)  M: (9+NA)
059173,000543: 27,3425           53657                           SL*      SL*                                   
059174,000544: 27,3426           57602                                    0          -4,2                       #  X2=-NA
059175,000545: 27,3427           57602                                    0          -4,2                       
059176,000546: 27,3430           43257                           SL*      DAD                                   
059177,000547: 27,3431           57576                                    0,2                                   
059178,000548:                                                                                                  #  TFF SQRT(MU) FROM PDL+0       E:(-45) M:(-42)
059179,000549: 27,3432           40005        ENDTFF             DMP      BOV                                   #  TFF SQRT(MU) IN MPAC          E:(-45) M:(-42)
059180,000550: 27,3433           00037                                    TFF/RTMU                              #  E: (17)  M: (14)
059181,000551: 27,3434           57442                                    MAXTFF                                #  SET POSMAX IF OVFL.
059182,000552: 
059183,000553: 27,3435           77616        DUMPTFF2           RVQ                                            #  RETURN TFF    (-28) CS IN MPAC.
059184,000554: 

Page 1383

059186,000556: 27,3436           77745        NEGTFF             DLOAD                                          
059187,000557:                                                                                                  #  TFF SQRT(MU) FROM PDL+0, NEGATIVE.
059188,000558: 27,3437           77650                           GOTO                                           
059189,000559: 27,3440           57432                                    ENDTFF                                
059190,000560: 
059191,000561: 27,3441           77745        MAXTFF1            DLOAD                                          #  RESET PDL
059192,000562: 27,3442           43545        MAXTFF             DLOAD    RVQ                                   
059193,000563: 27,3443           15344                                    NEARONE                               
059194,000564: 
059195,000565:                                                                                                  #  TIME OF FLIGHT ELLIPSE WHEN DEL (ECCENTRIC ANOM) GEQ 90 AND LEQ -90.
059196,000566: 
059197,000567:                                                                                                  #  NUM FROM TFFX.        E: (-16) OR (-29)
059198,000568:                                                                                                  #                        M: (-15) OR (-27)
059199,000569: 27,3444           77712        TFFELL             SL2                                            #  NUM  E:(-14) OR (-27)  M:(-13) OR (-25)
059200,000570: 27,3445           41465                           BDDV     PUSH                                  #  TEMP SAVE D/N IN PDL+0
059201,000571:                                                                                                  #  DEN FROM PDL+0  E:(-3)/( 16)  M:(-3)/(-15)
059202,000572:                                                                                                  #  N/D TO PDL+0  E: (11)  M: (10)
059203,000573: 27,3446           45345        TFFEL1             DLOAD    DSU                                   #  (ENTER WITH D/N=0 IN PDL+0)
059204,000574: 27,3447           00045                                    TFFTEM                                #  Q2  E: (-16)  M: (-15)
059205,000575: 27,3450           00017                                    TFFQ1                                 #  Q1  E: (-16)  M: (-15)
059206,000576: 27,3451           14013                           STODL    TFFDELQ                               #  Q2-Q1  E: (-16)  M: (-15)
059207,000577:                                                                                                  #  D/N FROM PDL+0
059208,000578: 27,3452           77626                           STADR                                          
059209,000579: 27,3453           77732                           STORE    TFFTEM                                #  D/N  E: (11)  M: (10)
059210,000580: 27,3454           53605                           DMP      SL*                                   
059211,000581: 27,3455           00027                                    TFF1/ALF                              #  1/ALFA  E: (-22-2NA)  M: (-20-2NA)
059212,000582: 27,3456           57576                                    0,2                                   #  1/ALFA Z  E: (-11-NA)  M: (-10-NA)
059213,000583: 27,3457           41206                           PUSH     DMP                                   #  TO PDL+0
059214,000584: 27,3460           00045                                    TFFTEM                                #  1/Z  E: (11)  M: (10)
059215,000585: 27,3461           41057                           SL*      BOVB                                  
059216,000586: 27,3462           57576                                    0,2                                   #  X2= -NA
059217,000587: 27,3463           45761                                    SIGNMPAC                              #  IN CASE X= 1.0, CONTINUE
059218,000588: 27,3464           00043                           STORE    TFFX                                  #  X=1/ALFA ZSQ
059219,000589: 27,3465           41234                           RTB      DMP                                   
059220,000590: 27,3466           57526                                    T(X)                                  #  POLY
059221,000591: 27,3467           00043                                    TFFX                                  
059222,000592: 27,3470           45242                           SR3      DSU                                   
059223,000593: 27,3471           31767                                    DP2(-3)                               
059224,000594: 27,3472           41405                           DMP      PUSH                                  #  2(X T(X)-1) /Z ALFA   E: (-15-NA)
059225,000595:                                                                                                  #                        M: (-14-NA)
059226,000596:                                                                                                  #  1/ALFA Z FROM PDL+0   E: (-11-NA)
059227,000597:                                                                                                  #                        M: (-10-NA)
059228,000598: 27,3473           41345                           DLOAD    DMP                                   #  GET SIGN FOR SDELF
059229,000599: 27,3474           00045                                    TFFTEM                                #  1/Z  E: (11)  M: (10)
059230,000600: 27,3475           00015                                    RMAG1                                 #  E: (-29)  M: (-27)
059231,000601: 27,3476           43312                           SL2      DAD                                   
059232,000602: 27,3477           00017                                    TFFQ1                                 #  Q1  E: (-16)  M: (-15)
059233,000603: 27,3500           14045                           STODL    TFFTEM                                #  (Q1+R 1/Z) =SGN OF SDELF  E:(-16) M:(-15
059234,000604: 27,3501           00035                                    TFFNP                                 #  LC P  E: (-38+2NR)  M: (-36+2NR)
059235,000605: 27,3502           53605                           DMP      SL*                                   #  CALC FOR ARG FOR TFF/TRIG.

Page 1384

059237,000607: 27,3503           00027                                    TFF1/ALF                              #  1/ALFA  E:(-22-2NA)  M:(-20-2NA)
059238,000608: 27,3504           57575                                    1,2                                   #  X2=-NA
059239,000609: 27,3505           53765                           SIGN     SL*                                   
059240,000610: 27,3506           00045                                    TFFTEM                                #  AFFIX SIGN FOR SDELF
059241,000611: 27,3507           57576                                    0,2                                   
059242,000612: 27,3510           14045                           STODL    TFFTEM                                #  P/ALFA  E:(-59+2NR)  M:(-55+2NR)
059243,000613:                                                                                                  #  (ARG FOR USE IN TFF/TRIG)
059244,000614: 27,3511           00027                                    TFF1/ALF                              #  1/ALFA  E:(-22-2NA)  M:(-20-2NA)
059245,000615: 27,3512           41366                           SQRT     DMP                                   
059246,000616: 27,3513           31761                                    PI/16                                 #  PI (-4)
059247,000617: 27,3514           77615                           DAD                                            
059248,000618:                                                                                                  #  2(XT(X)-1)/Z ALFA FROM PDL    E:(-15-NA)
059249,000619:                                                                                                  #                                M:(-14-NA)
059250,000620: 27,3515           45257                           SL*      DSU                                   
059251,000621: 27,3516           57577                                    0          -1,2                       
059252,000622: 27,3517           00013                                    TFFDELQ                               #  Q2-Q1  E: (-16)  M: (-15)
059253,000623: 27,3520           53605                           DMP      SL*                                   
059254,000624: 27,3521           00027                                    TFF1/ALF                              #  1/ALFA  E:(-22-2NA)  M:(-20-2NA)
059255,000625: 27,3522           57601                                    0          -3,2                       
059256,000626: 27,3523           52057                           SL*      GOTO                                  
059257,000627: 27,3524           57602                                    0          -4,2                       
059258,000628: 27,3525           57432                                    ENDTFF                                #  TFF SQRT(MU) IN MPAC E:(-45) M:(-42)
059259,000629: 

Page 1385

059261,000631: 
059262,000632:                                                                                                  #  PROGRAM NAME:         T(X)                                            DATE:  01.17.67
059263,000633:                                                                                                  #  MOD NO:  0                                                            LOG SECTION:  TIME OF FREE FALL
059264,000634:                                                                                                  #  MOD BY:  RR BAIRNSFATHER
059265,000635: 
059266,000636:                                                                                                  #  FUNCTIONAL DESCRIPTION:       THE POLYNOMIAL T(X) IS USED BY TIME OF FLIGHT SUBROUTINES  CALCTFF AND
059267,000637:                                                                                                  #        CALCTPER TO APPROXIMATE THE SERIES
059268,000638:                                                                                                  #                           2     3
059269,000639:                                                                                                  #                1/3 -X/5 +X /7 -X /9 ...
059270,000640: 
059271,000641:                                                                                                  #        WHERE   X = ALFA Z Z            IF ALFA Z Z LEQ 1
059272,000642:                                                                                                  #                X = 1/(ALFA Z Z)        IF ALFA Z Z  G  1
059273,000643: 
059274,000644:                                                                                                  #        ALSO    X IS NEG FOR HYPERBOLIC ORBITS
059275,000645:                                                                                                  #                X = 0 FOR PARABOLIC ORBITS
059276,000646:                                                                                                  #                X IS POSITIVE FOR ELLIPTIC ORBITS
059277,000647:                                                                                                  #        FOR FLIGHT 278, THE POLYNOMIAL T(X) IS FITTED OVER THE RANGE  (0,+1)  AND HAS A MAXIMUM
059278,000648:                                                                                                  #        DEVIATION FROM THE SERIES OF  2 E-5   (T(X) IS A CHEBYCHEV TYPE FIT AND WAS OBTAINED USING
059279,000649:                                                                                                  #        MAC PROGRAM AUTCURFIT294RRB AND IS VALID TO THE SAME TOLERANCE OVER THE RANGE  (-.08,+1). )
059280,000650: 
059281,000651:                                                                                                  #  CALLING SEQUENCE:     RTB
059282,000652:                                                                                                  #                                T(X)
059283,000653:                                                                                                  #        C(MPAC) = X
059284,000654: 
059285,000655:                                                                                                  #  SUBROUTINES CALLED:  NONE
059286,000656: 
059287,000657:                                                                                                  #  NORMAL EXIT MODE:    TC DANZIG
059288,000658: 
059289,000659:                                                                                                  #  ALARMS:  NONE
059290,000660: 
059291,000661:                                                                                                  #  OUTPUT:  C(MPAC) = T(X)
059292,000662: 
059293,000663:                                                                                                  #  ERASABLE INITIALIZATION REQUIRED:
059294,000664:                                                                                                  #        C(MPAC) = X
059295,000665: 
059296,000666:                                                                                                  #  DEBRIS:  NONE
059297,000667: 
059298,000668: 27,3526           07171        T(X)               TC       POLY                                  
059299,000669: 27,3527           00004                           DEC      4          B-14                       #  N-1
059300,000670: 27,3530           12525 12525                     2DEC     3.333333333 E-1                        
059301,000671: 27,3532           71463 57703                     2DEC*    -1.999819135 E-1*                       
059302,000672: 27,3534           04423 17645                     2DEC*    1.418148467 E-1*                       
059303,000673: 27,3536           74604 43667                     2DEC*    -1.01310997 E-1*                       
059304,000674: 27,3540           01626 37256                     2DEC*    5.609004986 E-2*                       
059305,000675: 27,3542           77404 52071                     2DEC*    -1.536156925 E-2*                       
059306,000676: 
059307,000677: 27,3544           06030        ENDT(X)            TC       DANZIG                                
059308,000678: 
059309,000679: 27,3545  27,3544               TCDANZIG           =        ENDT(X)                               
059310,000680: 

Page 1386

059312,000682:                                                                                                  #  TFF CONSTANTS
059313,000683: 
059314,000684: 34,2000                                           SETLOC   TOF-FF1                               
059315,000685: 34,2000                                           BANK                                           
059316,000686: 
059317,000687: 34,3756                                           COUNT*   $$/TFF                                
059318,000688:                                                                                                  #                                                NOTE _  NOTE _ ADJUSTED MUE FOR NEAR EARTH TRAJ.
059319,000689: 

(JL,2009-08-21) The Artemis072 page scan for the following three lines is garbled (lines 0660, 0661, 0662 in the original printout), due to what looks like overprinting in the original printout. I checked the generated octal (which is not overprinted) against the Comanche055 listing and they are both identical.

059324,000694: 
059325,000695:                                                                                                  # MUE            =       3.990815471 E10         M CUBE/CS SQ
059326,000696:                                                                                                  # RTMUE          =       1.997702549 E5 B-18*    MODIFIED EARTH MU
059327,000697: 
059328,000698: 34,3756           24775 30424  1/RTMU             2DEC*    .5005750271 E-5        B17*            #  MODIFIED EARTH MU
059329,000699: 

(JL,2009-08-21) End of garbled section.

059331,000701: 
059332,000702:                                                                                                  #                                                NOTE _  NOTE _ ADJUSTED MUE FOR NEAR EARTH TRAJ.
059333,000703:                                                                                                  # MUM            =       4.902778 E8             M CUBE/CS SQ
059334,000704:                                                                                                  # RTMUM          2DEC*   2.21422176 E4 B-18*
059335,000705: 34,3760           06220 37553  PI/16              2DEC     3.141592653 B-4                        
059336,000706: 34,3762           37777 37700  LIM(-22)           2OCT     3777737700                            #  1.0 -B(-22)
059337,000707: 34,3764           00000 00100  DP(-22)            2OCT     0000000100                            #  B(-22)
059338,000708: 34,3766           04000 00000  DP2(-3)            2DEC     1          B-3                        
059339,000709: 34,3770           02000 00000  DP2(-4)            2DEC     1          B-4                        #  1/16
059340,000710: 
059341,000711:                                                                                                  #  RPAD1         2DEC    6373338 B-29            M (-29) = 20 909 901.57 FT
059342,000712: 34,3772  22,3172               RPAD1              =        RPAD                                  
059343,000713: 34,3772  26,3343               NEARONE            EQUALS   DPPOSMAX                              
059344,000714: 34,3772  26,3335               TFFZEROS           EQUALS   HI6ZEROS                              
059345,000715: 34,3772  26,3325               TFF1/4             EQUALS   HIDP1/4                               

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