Source Code

These source-code files are part of a reconstructed copy of Comanche 44, the initial release (though not the final mission release) of the Apollo 10 Command Module (CM) Apollo Guidance Computer (AGC) software. Subsequent releases were Comanche 45 and Comanche 45/2 (the flown release on Apollo 10). The reconstruction is believed to be exactly accurate, but in the absence of an actual Apollo-era listing of Comanche 44, some explanation of the reconstruction process is needed to insure confidence in that accuracy.

The starting point was the source code of Comanche 51 (separately previously reconstructed from an Apollo-era listing of Comanche 55, flown on Apollo 11). Comanche 51 source code was then modified by undoing changes known to have been made between revisions 44 and 51. The now-reconstructed Comanche 44 source code was verified by assembling it and checking that the assembled code had the expected known-correct memory-bank checksums. Note that page numbers in the reconstructed code match those on the Comanche 55 printout, although the source code would likely have different page numbers in a contemporary Comanche 44 listing.

Annotations that were not present in the contemporary source code have been added to the reconstructed code to justify each change relative to Comanche 51. Here's a guide to the Apollo documentation referenced in those annotations:
In most cases, only the titles (rather than the full texts) of PCRs are known. In addition to the explanatory annotations, there is also a step-by-step commentary about the reconstruction process.

Comments expected to have been present in 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.

023984,000002:                                                                                                  ## Copyright:   Public domain.
023985,000003:                                                                                                  ## Filename:    TPI_SEARCH.agc
023986,000004:                                                                                                  ## Purpose:     A section of Comanche revision 044.
023987,000005:                                                                                                  ##              It is part of the reconstructed source code for the
023988,000006:                                                                                                  ##              original release of the flight software for the Command
023989,000007:                                                                                                  ##              Module's (CM) Apollo Guidance Computer (AGC) for Apollo 10.
023990,000008:                                                                                                  ##              The code has been recreated from a copy of Comanche 055. It
023991,000009:                                                                                                  ##              has been adapted such that the resulting bugger words
023992,000010:                                                                                                  ##              exactly match those specified for Comanche 44 in NASA drawing
023993,000011:                                                                                                  ##              2021153D, which gives relatively high confidence that the
023994,000012:                                                                                                  ##              reconstruction is correct.
023995,000013:                                                                                                  ## Assembler:   yaYUL
023996,000014:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
023997,000015:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
023998,000016:                                                                                                  ## Mod history: 2020-12-03 MAS  Created from Comanche 51.
023999,000017: 

Page 551

024001,000019:                                                                                                  #  PROGRAM DESCRIPTION S17.1 AND S17.2
024002,000020: 
024003,000021:                                                                                                  #  FUNCTIONAL DESCRIPTION
024004,000022: 
024005,000023:                                                                                                  #  THE TPI SEARCH ROUTINE DETERMINES THE MINIMUM TOTAL VELOCITY TRANSFER TRAJECTORY FROM A GIVEN TPI
024006,000024:                                                                                                  #  MANEUVER TIME WITHIN THE CONSTRAINT OF A SAFE PERICENTER.  THIS VELOCITY IS THE SUM OF THE IMPULSIVE VELOCITIES
024007,000025:                                                                                                  #  FOR THE TPI AND TPF MANEUVERS.
024008,000026: 
024009,000027:                                                                                                  #  THE S17.1 ROUTINE EXTRAPOLATES THE STATE VECTORS OF BOTH VEHICLES TO THE TPI TIME AND COMPUTES THE
024010,000028:                                                                                                  #  RELATIVE PHASE ANGLE BETWEEN THE VEHICLES, THE ALTITUDE DIFFERENCE (I.E. THE MAGNITUDE DIFFERENCE OF THE 
024011,000029:                                                                                                  #  POSITION VECTORS) AND SELECTS A SEARCH SECTOR BASED ON THE SIGN OF THE ALTITUDE DIFFERENCE.
024012,000030: 
024013,000031:                                                                                                  #  THE S17.2 ROUTINE FURTHER DEFINES THE SEARCH SECTOR BY COMPUTING ANGULAR LIMITS AND USES THE TIME THETA
024014,000032:                                                                                                  #  SUBROUTINE TO COMPUTE THE SEARCH START AND END TIMES.  THE SEARCH IS THEN MADE IN AN ITERATIVE LOOP USING THE
024015,000033:                                                                                                  #  LAMBERT SUBROUTINE TO COMPUTE THE VELOCITIES REQUIRED AT TPI TIME AND AT TPF TIME.  EXIT FROM THE SEARCH LOOP
024016,000034:                                                                                                  #  IS MADE WHEN SOLUTION CRITERIA ARE MET (NORMAL EXIT) OR AS SOON AS IT IS EVIDENT THAT NO SOLUTION EXISTS IN
024017,000035:                                                                                                  #  THE SECTOR SEARCHED.
024018,000036: 
024019,000037:                                                                                                  #  CALLING SEQUENCE
024020,000038: 
024021,000039:                                                                                                  #        BOTH ROUTINES ARE CALLED IN INTERPRETIVE CODE AND RETURN VIA QPRET.  S17.1 HAS ONLY A NORMAL EXIT.
024022,000040:                                                                                                  #        S17.2 RETURNS VIA QPRET FOR NORMAL EXIT AND TO ALARUMS FOR ERROR EXIT.
024023,000041: 
024024,000042:                                                                                                  #  SUBROUTINES CALLED
024025,000043: 
024026,000044:                                                                                                  #        CSMCONIC
024027,000045:                                                                                                  #        LEMCONIC
024028,000046:                                                                                                  #        TIMETHET
024029,000047:                                                                                                  #        INITVEL
024030,000048: 
024031,000049: 36,2000                                           BANK     36                                    
024032,000050: 35,2000                                           SETLOC   P17S1                                 
024033,000051: 35,2000                                           BANK                                           
024034,000052: 
024035,000053: 35,3127                                           COUNT    36/TPI                                
024036,000054: 
024037,000055: 35,3127  E7,1537                                  EBANK=   RACT3                                 
024038,000056: 
024039,000057:                                                                                                  #  **** TEMPORARY ****
024040,000058: 
024041,000059: 35,3127           00004 31566  HPE                2DEC     157420.0   B-29                       #  EARTH'S MIN. PERICENTER ALTITUDE 85 N.M.
024042,000060: 
024043,000061: 35,3131           00000 12326  HPL                2DEC     10668.0213 B-29                       #  MOON:S MIN. PERICENTER ALTITUDE 35000 FT
024044,000062: 
024045,000063: 35,3133           00002 16100  CDSEC              2DEC     40000      B-28                       
024046,000064: 
024047,000065: 35,3135           00000 35230  CLSEC              2DEC     15000      B-28                       
024048,000066: 
024049,000067: 35,3137           12137 06033  PIINVERS           2DEC     .3183098862                            
024050,000068: 
024051,000069: 35,3141           06161 30707  SEC1THET           2DEC     .1944444444                            
024052,000070: 

Page 552

024054,000072: 35,3143           35252 25253  SEC2THET           2DEC     .9166666667                            
024055,000073: 
024056,000074: 35,3145           67777 77777  MANYFEET           2DEC     -1.0       B-2                        
024057,000075: 
024058,000076: 35,3147           00000 30760  LIMVEL             2DEC     .6096      E-2        B-7             #  2FPS
024059,000077: 
024060,000078: 35,3151           00000 00114  DFTMOON            2DEC     .1524      E3         B-29            #  500 FEET
024061,000079: 
024062,000080: 35,3153           00040 30447  DP-.002            2DEC     0.002                                 
024063,000081: 
024064,000082: 36,2000                                           SETLOC   P17S                                  
024065,000083: 36,2000                                           BANK                                           
024066,000084: 36,2000           71220        S17.1              STQ      DLOAD                                 
024067,000085: 36,2001           01340                                    NORMEX                                
024068,000086: 36,2002           03663                                    TTPI                                  
024069,000087: 36,2003           34041                           STCALL   TDEC1                                 #  ADVANCE PASSIVE VEHICLE TO TPI
024070,000088: 36,2004           27126                                    LEMCONIC                              
024071,000089: 36,2005           77624                           CALL                                           
024072,000090: 36,2006           45233                                    LEMSTORE                              
024073,000091: 36,2007           77745                           DLOAD                                          
024074,000092: 36,2010           03663                                    TTPI                                  
024075,000093: 36,2011           34041                           STCALL   TDEC1                                 #  ADVANCE ACTIVE VEHICLE TO TPI
024076,000094: 36,2012           27114                                    CSMCONIC                              
024077,000095: 36,2013           77624                           CALL                                           
024078,000096: 36,2014           45243                                    CSMSTORE                              
024079,000097: 36,2015           77775                           VLOAD                                          
024080,000098: 36,2016           03540                                    RACT3                                 
024081,000099: 36,2017           63246                           ABVAL    PDVL                                  #  /RA/ 0D                       PL 2D
024082,000100: 36,2020           03554                                    RPASS3                                
024083,000101: 36,2021           65256                           UNIT     PDDL                                  #  UNIT RP 0D                    PL 6D
024084,000102: 36,2022           43021                           BDSU     SET                                   
024085,000103: 36,2023           00045                                    36D                                   #  /RP/ -/RA/
024086,000104: 36,2024           00076                                    KFLAG                                 #  OFF = +
024087,000105: 36,2025           43040                           BMN      CLEAR                                 
024088,000106: 36,2026           74030                                    +2                                    
024089,000107: 36,2027           00276                                    KFLAG                                 #  ON = -
024090,000108: 36,2030           27754                           STOVL    DELHITE                               
024091,000109: 36,2031           00001                                    0D                                    
024092,000110: 36,2032           53435                           VXV      UNIT                                  
024093,000111: 36,2033           03562                                    VPASS3                                
024094,000112: 36,2034           27646                           STOVL    E2                                    #  ALMOST IT SAVE FOR 17.2
024095,000113: 36,2035           03540                                    RACT3                                 
024096,000114: 36,2036           46206                           PUSH     VPROJ                                 
024097,000115: 36,2037           03646                                    E2                                    
024098,000116: 36,2040           51352                           VSL2     BVSU                                  #  RPA
024099,000117: 36,2041           50256                           UNIT     DOT                                   
024100,000118: 36,2042           00001                                    0D                                    
024101,000119: 36,2043           65552                           SL1      ACOS                                  
024102,000120: 36,2044           77715                           PDVL                                           
024103,000121: 36,2045           50235                           VXV      DOT                                   

Page 553

024105,000123: 36,2046           03540                                    RACT3                                 
024106,000124: 36,2047           03646                                    E2                                    
024107,000125: 36,2050           75325                           PDDL     SIGN                                  
024108,000126: 36,2051           77626                           STADR                                          
024109,000127: 36,2052           61160                           STODL    THETZERO                              #  CENTRAL ANGLE
024110,000128: 36,2053           00047                                    X1                                    
024111,000129: 36,2054           37746                           STCALL   XRS                                   #  SAVE INDICES FOR FURTHER USE
024112,000130: 36,2055           01340                                    NORMEX                                #    += ACTIVE AHEAD  -= ACTIVE BEHIND
024113,000131: 36,2056           77220        S17.2              STQ      VLOAD                                 #  COMPUTE SEARCH SECTOR LIMITS
024114,000132: 36,2057           03657                                    QTEMP                                 
024115,000133: 36,2060           03540                                    RACT3                                 
024116,000134: 36,2061           50256                           UNIT     DOT                                   
024117,000135: 36,2062           03646                                    E2                                    
024118,000136: 36,2063           75446                           ABS      SQRT                                  
024119,000137: 36,2064           43352                           SL1      DAD                                   
024120,000138: 36,2065           33154                                    DP-.002                               #  ADD .002 RADIANS TO IT
024121,000139: 36,2066           57414                           BON      DCOMP                                 #  GIVES CORRECT SINE, COSINE MUST BE
024122,000140: 36,2067           00316                                    KFLAG                                 #  COMP. ADD .5 FOR ANGLE
024123,000141: 36,2070           74071                                    +1                                    
024124,000142:                                                                                                  #  PHI(0)=180-(-(THETAZERO +K5IT)), PHI(I)=180-(-(THETAZERO+K2IT))
024125,000143:                                                                                                  #  SIN(180-ALPHA)=SIN(ALPHA) ETC
024126,000144: 36,2071           40205                           DMP      SETPD                                 
024127,000145: 36,2072           33140                                    PIINVERS                              #  REVOLUTIONARY HERES TWO IT
024128,000146: 36,2073           00001                                    0D                                    
024129,000147: 36,2074           45206                           PUSH     DSU                                   
024130,000148: 36,2075           02617                                    THETZERO                              
024131,000149: 36,2076           02611                           STORE    IT                                    #  PHI(I) , -(THETZERO + K2IT)
024132,000150: 36,2077           41525                           PDDL     PUSH                                  
024133,000151: 36,2100           43342                           SR1      DAD                                   
024134,000152: 36,2101           41415                           DAD      PUSH                                  #  PHI(0) , -(THETZERO + K5IT)
024135,000153: 36,2102           43156                           SIN      SET                                   
024136,000154: 36,2103           03466                                    RVSW                                  
024137,000155: 36,2104           16732                           STODL    SNTH                                  
024138,000156: 36,2105           50146                           COS      BMN                                   
024139,000157: 36,2106           74110                                    +2                                    
024140,000158: 36,2107           77676                           DCOMP                                          
024141,000159: 36,2110           16734                           STODL    CSTH                                  
024142,000160: 36,2111           03746                                    XRS                                   
024143,000161: 36,2112           24047                           STOVL    X1                                    
024144,000162: 36,2113           03554                                    RPASS3                                
024145,000163: 36,2114           77657                           VSR*                                           
024146,000164: 36,2115           57176                                    0,2                                   
024147,000165: 36,2116           26657                           STOVL    RVEC                                  
024148,000166: 36,2117           03562                                    VPASS3                                
024149,000167: 36,2120           77657                           VSR*                                           
024150,000168: 36,2121           57176                                    0,2                                   
024151,000169: 36,2122           36746                           STCALL   VVEC                                  
024152,000170: 36,2123           24744                                    TIMETHET                              
024153,000171: 36,2124           77745                           DLOAD                                          #  SAVE START TIME AND GET END TIME
024154,000172: 36,2125           00037                                    T                                     

Page 554

024156,000174: 36,2126           03752                           STORE    TF                                    
024157,000175: 36,2127           16627                           STODL    TFO                                   
024158,000176: 36,2130           02611                                    IT                                    
024159,000177: 36,2131           73406                           PUSH     SIN                                   
024160,000178: 36,2132           16732                           STODL    SNTH                                  
024161,000179: 36,2133           50146                           COS      BMN                                   
024162,000180: 36,2134           74136                                    +2                                    
024163,000181: 36,2135           77676                           DCOMP                                          
024164,000182: 36,2136           02734                           STORE    CSTH                                  
024165,000183: 36,2137           45150                           LXA,1    CALL                                  
024166,000184: 36,2140           03745                                    XRS                                   
024167,000185: 36,2141           24744                                    TIMETHET                              
024168,000186:                                                                                                  #  INITIALIZE LOOP
024169,000187: 36,2142           43145                           DLOAD    CLEAR                                 
024170,000188: 36,2143           00037                                    T                                     
024171,000189: 36,2144           03661                                    ITSWICH                               
024172,000190: 36,2145           16621                           STODL    TFI                                   #  SAVE TIME FOR LOOP TEST
024173,000191: 36,2146           15343                                    DPPOSMAX                              
024174,000192: 36,2147           16623                           STODL    DELVEE                                
024175,000193: 36,2150           33146                                    MANYFEET                              
024176,000194: 36,2151           16625                           STODL    HP                                    
024177,000195: 36,2152           33142                                    SEC1THET                              #  70 DEGREES
024178,000196: 36,2153           71214                           BON      DLOAD                                 
024179,000197: 36,2154           00316                                    KFLAG                                 
024180,000198: 36,2155           74157                                    +2                                    
024181,000199: 36,2156           33144                                    SEC2THET                              #  330 DEGREES
024182,000200: 36,2157           37750                           STCALL   THETL                                 
024183,000201: 36,2160           74202                                    CONCAUL                               
024184,000202: 36,2161           70545        BIS                DLOAD    SR1                                   
024185,000203: 36,2162           02734                                    CSTH                                  
024186,000204: 36,2163           14021                           STODL    COSTH                                 
024187,000205: 36,2164           02732                                    SNTH                                  
024188,000206: 36,2165           77742                           SR1                                            
024189,000207: 36,2166           34023                           STCALL   SINTH                                 #  GET 4 QUADRANT THETA
024190,000208: 36,2167           47256                                    ARCTRIG                               
024191,000209: 36,2170           43244                           BPL      DAD                                   
024192,000210: 36,2171           74173                                    +2                                    
024193,000211: 36,2172           15343                                    DPPOSMAX                              #  PUT THETA BETWEEN 0,1
024194,000212: 36,2173           65221                           BDSU     PDDL                                  
024195,000213: 36,2174           03750                                    THETL                                 
024196,000214: 36,2175           03752                                    TF                                    
024197,000215: 36,2176           75225                           DSU      SIGN                                  #  FAST TIMES
024198,000216: 36,2177           02621                                    TFI                                   
024199,000217: 36,2200           77640                           BMN                                            
024200,000218: 36,2201           74404                                    RNGETEST                              #  TIME MUST HAVE A STOP
024201,000219:                                                                                                  #  ADVANCE PASSIVE FOR TARGET VECTOR
024202,000220: 36,2202           77745        CONCAUL            DLOAD                                          
024203,000221: 36,2203           03663                                    TTPI                                  
024204,000222: 36,2204           43015                           DAD      BON                                   
024205,000223: 36,2205           03752                                    TF                                    

Page 555

024207,000225: 36,2206           01312                                    AVFLAG                                
024208,000226: 36,2207           74214                                    ADVCSM                                
024209,000227: 36,2210           34041                           STCALL   TDEC1                                 
024210,000228: 36,2211           27126                                    LEMCONIC                              
024211,000229: 36,2212           77650                           GOTO                                           
024212,000230: 36,2213           74216                                    JUNCT3                                
024213,000231: 36,2214           34041        ADVCSM             STCALL   TDEC1                                 
024214,000232: 36,2215           27114                                    CSMCONIC                              
024215,000233:                                                                                                  #  SAVE BACK VALUES OF HP AND DELVEE
024216,000234: 36,2216           77775        JUNCT3             VLOAD                                          
024217,000235: 36,2217           00007                                    VATT                                  
024218,000236: 36,2220           27640                           STOVL    VPASS4                                
024219,000237: 36,2221           00001                                    RATT                                  
024220,000238: 36,2222           03632                           STORE    RPASS4                                
024221,000239: 36,2223           17415                           STODL    RTARG                                 
024222,000240: 36,2224           03752                                    TF                                    
024223,000241: 36,2225           17423                           STODL    DELLT4                                
024224,000242: 36,2226           02625                                    HP                                    
024225,000243: 36,2227           16631                           STODL    HPO                                   
024226,000244: 36,2230           02623                                    DELVEE                                
024227,000245: 36,2231           16633                           STODL    DELVEO                                
024228,000246:                                                                                                  #  PREPARE FOR LAMBERT
024229,000247: 36,2232           03663                                    TTPI                                  
024230,000248: 36,2233           17503                           STODL    INTIME                                
024231,000249: 36,2234           03746                                    XRS                                   
024232,000250: 36,2235           17746                           STODL    RTX1                                  
024233,000251: 36,2236           15335                                    HI6ZEROS                              
024234,000252: 36,2237           65201                           SETPD    PDDL                                  
024235,000253: 36,2240           00001                                    0D                                    
024236,000254: 36,2241           33126                                    EPSFOUR                               
024237,000255: 36,2242           77715                           PDVL                                           
024238,000256: 36,2243           03540                                    RACT3                                 
024239,000257: 36,2244           27570                           STOVL    RINIT                                 
024240,000258: 36,2245           03546                                    VACT3                                 
024241,000259: 36,2246           37576                           STCALL   VINIT                                 
024242,000260: 36,2247           22000                                    INITVEL                               
024243,000261:                                                                                                  #  COMPUTE H ET CETERA
024244,000262: 36,2250           52375                           VLOAD    VSU                                   
024245,000263: 36,2251           03620                                    VTPRIME                               
024246,000264: 36,2252           03640                                    VPASS4                                
024247,000265: 36,2253           41446                           ABVAL    PUSH                                  
024248,000266: 36,2254           26637                           STOVL    RELDELV                               #  /V2-VP(TPI+TF)/
024249,000267: 36,2255           03646                                    DELVEET3                              #  V1-VA
024250,000268: 36,2256           77646                           ABVAL                                          #  /V1-VA/
024251,000269: 36,2257           02635                           STORE    MAGVTPI                               
024252,000270: 36,2260           45415                           DAD      STADR                                 
024253,000271: 36,2261           61154                           STODL    DELVEE                                
024254,000272: 36,2262           03746                                    XRS                                   
024255,000273: 36,2263           24047                           STOVL    X1                                    
024256,000274: 36,2264           03612                                    VIPRIME                               

Page 556

024258,000276: 36,2265           77657                           VSR*                                           
024259,000277: 36,2266           57176                                    0,2                                   
024260,000278: 36,2267           26746                           STOVL    VVEC                                  
024261,000279: 36,2270           03540                                    RACT3                                 
024262,000280: 36,2271           77657                           VSR*                                           
024263,000281: 36,2272           57176                                    0,2                                   
024264,000282: 36,2273           36657                           STCALL   RVEC                                  
024265,000283: 36,2274           45163                                    PERIAPO                               
024266,000284: 36,2275           71354                           LXA,2    DLOAD                                 
024267,000285: 36,2276           03746                                    XRS        +1                         
024268,000286: 36,2277           77657                           SL*                                            
024269,000287: 36,2300           57576                                    0,2                                   
024270,000288: 36,2301           02625                           STORE    HP                                    
024271,000289:                                                                                                  #  ITSWICH DENOTES INTERPOLATION -- SOLUTION ACCEPTANCE IS FORCED
024272,000290: 36,2302           71214                           BON      DLOAD                                 
024273,000291: 36,2303           03701                                    ITSWICH                               
024274,000292: 36,2304           74415                                    ENDEN                                 
024275,000293: 36,2305           02321                                    HPERMIN                               
024276,000294: 36,2306           50025                           DSU      BMN                                   
024277,000295: 36,2307           02625                                    HP                                    
024278,000296: 36,2310           74353                                    HALFSAFE                              
024279,000297: 36,2311           45325                           PDDL     DSU                                   #  WAS PERICENTER ALT SAFE
024280,000298: 36,2312           02321                                    HPERMIN                               
024281,000299: 36,2313           02631                                    HPO                                   
024282,000300: 36,2314           45240                           BMN      DSU                                   #  (HPLIM-HPO)-(HPLIM-HP)=HP-HPO
024283,000301: 36,2315           74332                                    INTERP                                #  SOLUTION AT HAND
024284,000302: 36,2316           71240                           BMN      DLOAD                                 
024285,000303: 36,2317           73260                                    ALARUMS                               #  ITS GETTING WORSE - SOUND THE ALARM
024286,000304: 36,2320           33134                                    CDSEC                                 
024287,000305: 36,2321           57414        JUNCT1             BOFF     DCOMP                                 #  OFF IS PLUS ON IS MINUS
024288,000306: 36,2322           00356                                    KFLAG                                 
024289,000307: 36,2323           74324                                    +1                                    
024290,000308: 36,2324           03744                           STORE    DELTEE                                
024291,000309: 36,2325           43345        JUNCT2             DLOAD    DAD                                   
024292,000310: 36,2326           03744                                    DELTEE                                
024293,000311: 36,2327           03752                                    TF                                    
024294,000312: 36,2330           37752                           STCALL   TF                                    
024295,000313: 36,2331           74161                                    BIS                                   #  RECYCLE
024296,000314: 36,2332           45214        INTERP             SET      DSU                                   #  HP-HPO
024297,000315: 36,2333           03461                                    ITSWICH                               
024298,000316: 36,2334           65301                           NORM     PDDL                                  
024299,000317: 36,2335           00047                                    X1                                    
024300,000318: 36,2336           33152                                    DFTMOON                               
024301,000319: 36,2337           45215                           DAD      DSU                                   
024302,000320: 36,2340           02321                                    HPERMIN                               
024303,000321: 36,2341           02625                                    HP                                    
024304,000322: 36,2342           70501                           NORM     SR1                                   
024305,000323: 36,2343           00050                                    X2                                    
024306,000324: 36,2344           56264                           XSU,2    DDV                                   
024307,000325: 36,2345           00046                                    X1                                    

Page 557

024309,000327: 36,2346           53605                           DMP      SR*                                   
024310,000328: 36,2347           03744                                    DELTEE                                
024311,000329: 36,2350           57177                                    0          -1,2                       
024312,000330: 36,2351           37744                           STCALL   DELTEE                                
024313,000331: 36,2352           74325                                    JUNCT2                                
024314,000332: 36,2353           45325        HALFSAFE           PDDL     DSU                                   #  SAVE HP-HPLIM FOR POSSIBLE
024315,000333: 36,2354           02623                                    DELVEE                                
024316,000334: 36,2355           02633                                    DELVEO                                #  SAVE THIS TOO
024317,000335: 36,2356           51406                           PUSH     ABS                                   
024318,000336: 36,2357           50025                           DSU      BMN                                   
024319,000337: 36,2360           33150                                    LIMVEL                                #  2 FT PS
024320,000338: 36,2361           74415                                    ENDEN                                 
024321,000339: 36,2362           45345                           DLOAD    DSU                                   
024322,000340: 36,2363           02321                                    HPERMIN                               
024323,000341: 36,2364           02631                                    HPO                                   
024324,000342: 36,2365           77725                           PDDL                                           
024325,000343: 36,2366           71240                           BMN      DLOAD                                 
024326,000344: 36,2367           74376                                    LRGRDVO                               
024327,000345: 36,2370           71244                           BPL      DLOAD                                 
024328,000346: 36,2371           74332                                    INTERP                                
024329,000347: 36,2372           03744                                    DELTEE                                
024330,000348: 36,2373           57542                           SR1      DCOMP                                 
024331,000349: 36,2374           37744                           STCALL   DELTEE                                
024332,000350: 36,2375           74325                                    JUNCT2                                
024333,000351: 36,2376           77745        LRGRDVO            DLOAD                                          
024334,000352: 36,2377           71240                           BMN      DLOAD                                 
024335,000353: 36,2400           74325                                    JUNCT2                                
024336,000354: 36,2401           33136                                    CLSEC                                 
024337,000355: 36,2402           77650                           GOTO                                           
024338,000356: 36,2403           74321                                    JUNCT1                                
024339,000357:                                                                                                  #  TIME RAN OUT ASSUME SOLUTION IF SAFE PERICENTER
024340,000358: 36,2404           45345        RNGETEST           DLOAD    DSU                                   
024341,000359: 36,2405           02625                                    HP                                    
024342,000360: 36,2406           02321                                    HPERMIN                               
024343,000361: 36,2407           71240                           BMN      DLOAD                                 
024344,000362: 36,2410           73260                                    ALARUMS                               
024345,000363: 36,2411           03752                                    TF                                    
024346,000364: 36,2412           77625                           DSU                                            
024347,000365: 36,2413           03744                                    DELTEE                                
024348,000366: 36,2414           03752                           STORE    TF                                    #  TIME OF SOLUTION
024349,000367: 36,2415           77775        ENDEN              VLOAD                                          
024350,000368: 36,2416           03620                                    VTPRIME                               
024351,000369: 36,2417           65241                           DOT      PDDL                                  #  SG2 WITH MAGNITUDE
024352,000370: 36,2420           03632                                    RPASS4                                
024353,000371: 36,2421           02637                                    RELDELV                               
024354,000372: 36,2422           45565                           SIGN     STADR                                 #  NOW SIGN(RELDELV)=SIGN(SG2)
024355,000373: 36,2423           41140                           STCALL   RELDELV                               
024356,000374: 36,2424           16441                                    TRANSANG                              #  COMPUTE OMEGA T, CENTRAL ANGLE
024357,000375: 36,2425           50375                           VLOAD    DOT                                   
024358,000376: 36,2426           03540                                    RACT3                                 

Page 558

024360,000378: 36,2427           03612                                    VIPRIME                               #  SG1
024361,000379: 36,2430           51165                           SIGN     BPL                                   #  IF POSITIVE THEN SG1 = SG2 OTHERWISE
024362,000380: 36,2431           02637                                    RELDELV                               
024363,000381: 36,2432           74442                                    USEKAY                                #  SIGN(SG2-SG1)=SIGN(SG2)=SIGN(RELDELV)
024364,000382: 36,2433           57535                           SLOAD    DCOMP                                 
024365,000383: 36,2434           33123                                    DECTWO                                
024366,000384: 36,2435           51165                           SIGN     BPL                                   
024367,000385: 36,2436           02637                                    RELDELV                               
024368,000386: 36,2437           74450                                    NEXUS                                 
024369,000387: 36,2440           52076                           DCOMP    GOTO                                  
024370,000388: 36,2441           74446                                    USEKAY     +4                         
024371,000389: 36,2442           43135        USEKAY             SLOAD    BON                                   
024372,000390: 36,2443           33123                                    DECTWO                                
024373,000391: 36,2444           00316                                    KFLAG                                 
024374,000392: 36,2445           74450                                    NEXUS                                 
024375,000393: 36,2446           77625                           DSU                                            
024376,000394: 36,2447           36147                                    P21ONENN                              
024377,000395: 36,2450           17766        NEXUS              STODL    NN1                                   
024378,000396: 36,2451           02625                                    HP                                    
024379,000397: 36,2452           36641                           STCALL   POSTTPI                               
024380,000398: 36,2453           03657                                    QTEMP                                 
024381,000399: 07,2441                                           BANK     07                                    
024382,000400: 07,2000                                           SETLOC   XANG                                  
024383,000401: 07,2000                                           BANK                                           
024384,000402: 07,2441                                           COUNT    07/XANG                               
024385,000403: 
024386,000404:                                                                                                  #  CENTRAL ANGLE SUBROUTINE
024387,000405: 
024388,000406:                                                                                                  #  THIS SUBROUTINE COMPUTES THE CENTRAL ANGLE OF TRAVEL OF THE
024389,000407:                                                                                                  #  PASSIVE VEHICLE DURING THE TRANSFER.
024390,000408: 
024391,000409: 07,2441           40220        TRANSANG           STQ      SETPD                                 
024392,000410: 07,2442           02370                                    SUBEXIT                               
024393,000411: 07,2443           00001                                    0                                     
024394,000412: 07,2444           73150                           LXA,1    LXA,2                                 
024395,000413: 07,2445           03745                                    XRS                                   
024396,000414: 07,2446           03746                                    XRS        +1                         
024397,000415: 07,2447           53775                           VLOAD    VSR*                                  
024398,000416: 07,2450           03640                                    VPASS4                                
024399,000417: 07,2451           57176                                    0,2                                   
024400,000418: 07,2452           22746                           STODL*   VVEC                                  
024401,000419: 07,2453           11737                                    MUTABLE    +2,1                       
024402,000420: 07,2454           53715                           PDVL     VSR*                                  #  SQRT MU (+18 OR +15)                  00D
024403,000421: 07,2455           03632                                    RPASS4                                
024404,000422: 07,2456           57176                                    0,2                                   
024405,000423: 07,2457           64646                           ABVAL    PDDL*                                 #  MAGNITUDE OF R        (+29 OR +27)    02D
024406,000424: 07,2460           11735                                    MUTABLE,1                             
024407,000425: 07,2461           47515                           PDVL     VSQ                                   #  1/MU                  (+34 OR +28)    04D
024408,000426: 07,2462           02746                                    VVEC                                  
024409,000427: 07,2463           57301                           NORM     DMPR                                  #  PUSH LIST AT 02D
024410,000428: 07,2464           00047                                    X1                                    

Page 559

024412,000430: 07,2465           53605                           DMP      SRR*                                  
024413,000431: 07,2466           00003                                    02D                                   
024414,000432: 07,2467           21576                                    0          -3,1                       
024415,000433: 07,2470           77621                           BDSU                                           #  R V**/MU              (+6)
024416,000434: 07,2471           11613                                    D1/32                                 
024417,000435: 07,2472           65301                           NORM     PDDL                                  
024418,000436: 07,2473           00047                                    X1                                    #  (2 - R V**/MU)        (+6-N)
024419,000437: 07,2474           56362                           SR1R     DDV                                   #  MAGNITUDE OF R        (+30 OR +28)
024420,000438: 07,2475           41457                           SL*      PUSH                                  #  R/(2 - R V**/MU)      (+29 OR +27)    02D
024421,000439: 07,2476           20174                                    0          -5,1                       
024422,000440: 07,2477           75542                           SR1      SQRT                                  
024423,000441: 07,2500           77605                           DMP                                            
024424,000442: 07,2501           65301                           NORM     PDDL                                  #  ASUBP***                              00D
024425,000443: 07,2502           00047                                    X1                                    
024426,000444: 07,2503           56342                           SR1      DDV                                   
024427,000445: 07,2504           53605                           DMP      SL*                                   
024428,000446: 07,2505           03752                                    TF                                    
024429,000447: 07,2506           20201                                    0,1                                   
024430,000448: 07,2507           60325                           PDDL     NORM                                  
024431,000449: 07,2510           11625                                    2PISC                                 
024432,000450: 07,2511           00047                                    X1                                    
024433,000451: 07,2512           56325                           PDDL     DDV                                   
024434,000452: 07,2513           77657                           SL*                                            
024435,000453: 07,2514           20176                                    0          -3,1                       #  CENTANG = (SQRT(MU/ASUP***)TF)
024436,000454: 07,2515           37754                           STCALL   CENTANG                               #  IN REVOLUTIONS B-0
024437,000455: 07,2516           02370                                    SUBEXIT                               
024438,000456: 35,3155                                           BANK     35                                    
024439,000457: 35,2000                                           SETLOC   P17S1                                 
024440,000458: 35,2000                                           BANK                                           
024441,000459: 35,3155                                           COUNT    35/P17                                
024442,000460: 
024443,000461:                                                                                                  #  TPI SEARCH DISPLAY ROUTINE
024444,000462: 
024445,000463: 35,3155           04627        P17                TC       AVFLAGA                               #  AVFLAG = CSM, SET TRACK + UPDATE FLAGS
024446,000464: 35,3156           03160                           TC       P17.1                                 
024447,000465: 35,3157           04642        P77                TC       AVFLAGP                               #  AVFLAG = LEM, SET TRACK + UPDATE FLAGS
024448,000466: 35,3160           04647        P17.1              TC       P20FLGON                              #        SET UPDATE FLAG
024449,000467: 35,3161           34614                           CAF      V06N37                                #        DISPLAY TTPI TIME
024450,000468: 35,3162           04575                           TC       VNPOOH                                
024451,000469: 35,3163           06006                           TC       INTPRET                               
024452,000470: 35,3164           45014                           CLEAR    CALL                                  
024453,000471: 35,3165           00670                                    UPDATFLG                              
024454,000472: 35,3166           74000                                    S17.1                                 #  UPDATE STATE VECTORS TO TTPI
024455,000473: 35,3167           76014                           SET      AXT,1                                 
024456,000474: 35,3170           00470                                    UPDATFLG                              
024457,000475: 35,3171           00002                           DEC      2          B-14                       #  DELTA H = 2 K POSITIVE, KFLAG OFF
024458,000476: 35,3172           76014                           BOFF     AXT,1                                 
024459,000477: 35,3173           00356                                    KFLAG                                 
024460,000478: 35,3174           73176                                    +2                                    
024461,000479: 35,3175           00001                           DEC      1          B-14                       #  DELTA H = 1 K NEGATIVE, KFLAG ON

Page 560

024463,000481: 35,3176           77530                           SXA,1    EXIT                                  
024464,000482: 35,3177           01132                                    OPTION2                               
024465,000483: 35,3200           33267                           CAF      V06N72                                #  DISPLAY PHI, DELTA H, SEARCH OPTION K
024466,000484: 35,3201           03243                           TC       VNCOMP17                              
024467,000485: 35,3202           06006                           TC       INTPRET                               
024468,000486: 35,3203           43014                           CLEAR    SET                                   
024469,000487: 35,3204           00670                                    UPDATFLG                              
024470,000488: 35,3205           00076                                    KFLAG                                 
024471,000489: 35,3206           45335                           SLOAD    DSU                                   
024472,000490: 35,3207           01133                                    OPTION2                               #  RESET KFLAG ON FOR OPTION =1
024473,000491: 35,3210           36147                                    P21ONENN                              #             OFF FOR OPTION =2
024474,000492: 35,3211           43030                           BHIZ     CLEAR                                 
024475,000493: 35,3212           73214                                    +2                                    
024476,000494: 35,3213           00276                                    KFLAG                                 
024477,000495: 35,3214           46135                           SLOAD    BHIZ                                  
024478,000496: 35,3215           03747                                    XRS        +1                         
024479,000497: 35,3216           73222                                    +4                                    
024480,000498: 35,3217           52145                           DLOAD    GOTO                                  
024481,000499: 35,3220           33132                                    HPL                                   
024482,000500: 35,3221           73224                                    P17.2                                 
024483,000501: 35,3222           77745                           DLOAD                                          
024484,000502: 35,3223           33130                                    HPE                                   
024485,000503: 35,3224           36321        P17.2              STCALL   HPERMIN                               
024486,000504: 35,3225           74056                                    S17.2                                 
024487,000505: 35,3226           77414                           SET      EXIT                                  
024488,000506: 35,3227           00470                                    UPDATFLG                              
024489,000507: 35,3230           34616        P17.3              CAF      V06N58                                #  DISPLAY DELTA VTPI, DELTA VTPF, AND H
024490,000508: 35,3231           03243                           TC       VNCOMP17                              
024491,000509: 35,3232           34615                           CAF      V06N55                                #  DISPLAY PERICENTER CODE AND CENTRAL ANG,
024492,000510: 35,3233           04662                           TC       BANKCALL                              
024493,000511: 35,3234           21057                           CADR     GOFLASHR                              
024494,000512: 35,3235           04106                           TC       GOTOPOOH                              #  TERMINATE PROGRAM
024495,000513: 35,3236           04106                           TC       GOTOPOOH                              #  END PROGRAM
024496,000514: 35,3237           03160                           TC       P17.1                                 #  RECYCLE WITH NEW TTPI OR SEARCH OPTION
024497,000515: 35,3240           35016                           CAF      TWO                                   #  BLANK R2
024498,000516: 35,3241           05526                           TC       BLANKET                               
024499,000517: 35,3242           15217                           TCF      ENDOFJOB                              
024500,000518: 35,3243  E4,1767                                  EBANK=   RTRN                                  
024501,000519: 
024502,000520: 35,3243           00006        VNCOMP17           EXTEND                                         
024503,000521: 35,3244           23766                           QXCH     QSAVED                                
024504,000522: 35,3245           55765                           TS       VERBNOUN                              
024505,000523: 35,3246           31765                           CA       VERBNOUN                              
024506,000524: 35,3247           04662                           TCR      BANKCALL                              
024507,000525: 35,3250           20720                           CADR     GOFLASH                               
024508,000526: 35,3251           03246                           TC       -3                                    #  TERMINATE ILLEGAL REDISPLAY
024509,000527: 35,3252           01766                           TC       QSAVED                                #  PROCEED
024510,000528: 35,3253           40154                           CS       MPAC                                  #  RECYCLE WITH NEW TPI TIME
024511,000529: 35,3254           65012                           AD       BIT6                                  #  OR PROCEED WITH NEW SEARCH OPTION
024512,000530: 35,3255           00006                           EXTEND                                         

Page 561

024514,000532: 35,3256           13160                           BZF      P17.1                                 
024515,000533: 35,3257           03246                           TC       VNCOMP17   +3                         
024516,000534: 35,3260           77414        ALARUMS            SET      EXIT                                  
024517,000535: 35,3261           00470                                    UPDATFLG                              
024518,000536: 35,3262           05650                           TC       ALARM                                 
024519,000537: 35,3263           00124                           OCT      00124                                 #  NO SAFE PERCENTER IN THIS SECTOR
024520,000538: 35,3264           35050                           CAF      V05N09                                
024521,000539: 35,3265           03243                           TC       VNCOMP17                              
024522,000540: 35,3266           04106                           TC       GOTOPOOH                              #  PROCEED ILLEGAL TERMINATE PROGRAM
024523,000541: 35,3267           01510        V06N72             VN       0672                                  
024524,000542: 

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