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.

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

Page 1371

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

Page 1372

058716,000074:                                                                                                  #                REGISTERS S1, S2 ARE UNTOUCHED BY ANY TFF SUBROUTINE
058717,000075:                                                                                                  #                INDEX REGISTERS X1, X2 ARE USED BY ALL TFF SUBROUTINES. THEY ARE ESTAB-
058718,000076:                                                                                                  #                LISHED IN TFF/CONIC AND MUST BE PRESERVED BETWEEN CALLS TO SUBSEQUENT
058719,000077:                                                                                                  #                SUBROUTINES.
058720,000078:                                                                                                  #                -NR                             C(X1) = NORM COUNT OF RMAG
058721,000079:                                                                                                  #                -NA                             C(X2) = NORM COUNT OF SQRT(ABS(ALFA))
058722,000080: 

Page 1373

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

Page 1374

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

Page 1375

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

Page 1376

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

Page 1377

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

Page 1378

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

Page 1379

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

Page 1380

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

Page 1381

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

Page 1382

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

Page 1383

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

Page 1384

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

Page 1385

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

Page 1386

059324,000682:                                                                                                  #  TFF CONSTANTS
059325,000683: 
059326,000684: 34,2000                                           SETLOC   TOF-FF1                               
059327,000685: 34,2000                                           BANK                                           
059328,000686: 
059329,000687: 34,3756                                           COUNT*   $$/TFF                                
059330,000688:                                                                                                  #                                                NOTE _  NOTE _ ADJUSTED MUE FOR NEAR EARTH TRAJ.
059331,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.

059336,000694: 
059337,000695:                                                                                                  # MUE            =       3.990815471 E10         M CUBE/CS SQ
059338,000696:                                                                                                  # RTMUE          =       1.997702549 E5 B-18*    MODIFIED EARTH MU
059339,000697: 
059340,000698: 34,3756           24775 30424  1/RTMU             2DEC*    .5005750271 E-5        B17*            #  MODIFIED EARTH MU
059341,000699: 

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

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

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