Source Code

024119,000001: # Copyright: Public domain. 024120,000002: # Filename: TPI_SEARCH.agc 024121,000003: # Purpose: Part of the source code for Colossus 2A, AKA Comanche 055. 024122,000004: # It is part of the source code for the Command Module's (CM) 024123,000005: # Apollo Guidance Computer (AGC), for Apollo 11. 024124,000006: # Assembler: yaYUL 024125,000007: # Contact: Ron Burkey <info@sandroid.org>. 024126,000008: # Website: www.ibiblio.org/apollo. 024127,000009: # Pages: 551-561 024128,000010: # Mod history: 2009-05-15 RSB Adapted from the Colossus249/ file of the 024129,000011: # same name, using Comanche055 page images. 024130,000012: # 2009-05-20 RSB Corrections: On p. 551, "SETLOC P17S" -> P17S1. 024131,000013: 024132,000014: # This source code has been transcribed or otherwise adapted from digitized 024133,000015: # images of a hardcopy from the MIT Museum. The digitization was performed 024134,000016: # by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many 024135,000017: # thanks to both. The images (with suitable reduction in storage size and 024136,000018: # consequent reduction in image quality as well) are available online at 024137,000019: # www.ibiblio.org/apollo. If for some reason you find that the images are 024138,000020: # illegible, contact me at info@sandroid.org about getting access to the 024139,000021: # (much) higher-quality images which Paul actually created. 024140,000022: 024141,000023: # Notations on the hardcopy document read, in part: 024142,000024: 024143,000025: # Assemble revision 055 of AGC program Comanche by NASA 024144,000026: # 2021113-051. 10:28 APR. 1, 1969 024145,000027: 024146,000028: # This AGC program shall also be referred to as 024147,000029: # Colossus 2A 024148,000030: 024149,000031: # Page 551 024150,000032: # TPI SEARCH 024151,000033: 024152,000034: # PROGRAM DESCRIPTION S17.1 AND S17.2 024153,000035: 024154,000036: # FUNCTIONAL DESCRIPTION 024155,000037: 024156,000038: # THE TPI SEARCH ROUTINE DETERMINES THE MINIMUM TOTAL VELOCITY TRANSFER TRAJECTORY FROM A GIVEN TPI 024157,000039: # MANEUVER TIME WITHIN THE CONSTRAINT OF A SAFE PERICENTER. THIS VELOCITY IS THE SUM OF THE IMPULSIVE VELOCITIES 024158,000040: # FOR THE TPI AND TPF MANEUVERS. 024159,000041: 024160,000042: # THE S17.1 ROUTINE EXTRAPOLATES THE STATE VECTORS OF BOTH VEHICLES TO THE TPI TIME AND COMPUTES THE 024161,000043: # RELATIVE PHASE ANGLE BETWEEN THE VEHICLES, THE ALTITUDE DIFFERENCE (I.E., THE MAGNITUDE DIFFERENCE OF THE 024162,000044: # POSITION VECTORS) AND SELECTS A SEARCH SECTOR BASED ON THE SIGN OF THE ALTITUDE DIFFERENCE. 024163,000045: 024164,000046: # THE S17.2 ROUTINE FURTHER DEFINES THE SEARCH SECTOR BY COMPUTING ANGULAR LIMITS AND USES THE TIME THETA 024165,000047: # SUBROUTINE TO COMPUTE THE SEARCH START AND END TIMES. THE SEARCH IS THEN MADE IN AN ITERATIVE LOOP USING THE 024166,000048: # LAMBERT SUBROUTINE TO COMPUTE TEH VELOCITIES REQUIRED AT TPI TIME AND AT TPF TIME. EXIT FROM THE SEARCH LOOP 024167,000049: # IS MADE WHEN SOLUTION CRITERIA ARE MET (NORMAL EXIT) OR AS SOON AS IT IS EVIDENT THAT NO SOLUTION EXISTS IN 024168,000050: # THE SECTOR SEARCHED. 024169,000051: 024170,000052: # CALLING SEQUENCE 024171,000053: 024172,000054: # BOTH ROUTINES ARE CALLED IN INTERPRETIVE CODE AND RETURN VIA QPRET. S17.1 HAS ONLY A NORMAL EXIT. 024173,000055: # S17.2 RETURNS VIA QPRET FOR NORMAL EXIT AND TO ALARUMS FOR ERROR EXIT. 024174,000056: 024175,000057: # SUBROUTINES CALLED 024176,000058: 024177,000059: # CSMCONIC 024178,000060: # LEMCONIC 024179,000061: # TIMETHET 024180,000062: # INITVEL 024181,000063: 024182,000064: 36,2012 BANK 36 024183,000065: 35,2000 SETLOC P17S1 024184,000066: 35,2000 BANK 024185,000067: 024186,000068: 35,3123 COUNT 36/TPI 024187,000069: 024188,000070: 35,3123 E7,1537 EBANK= RACT3 024189,000071: 024190,000072: # **** TEMPORARY **** 024191,000073: 024192,000074: 35,3123 00004 31566 HPE 2DEC 157420.0 B-29 # EARTH'S MIN. PERICENTER ALTITUDE 85 N.M. 024193,000075: 024194,000076: 35,3125 00000 12326 HPL 2DEC 10668.0213 B-29 # MOON'S MIN. PERICENTER ALTITUDE 35000 FT. 024195,000077: 024196,000078: 35,3127 00002 16100 CDSEC 2DEC 40000 B-28 024197,000079: 024198,000080: 35,3131 00000 35230 CLSEC 2DEC 15000 B-28 024199,000081: 024200,000082: 35,3133 12137 06033 PIINVERS 2DEC .3183098862 024201,000083: 024202,000084: 35,3135 06161 30707 SEC1THET 2DEC .1944444444 024203,000085: 024204,000086: # Page 552 024205,000087: 35,3137 35252 25253 SEC2THET 2DEC .9166666667 024206,000088: 024207,000089: 35,3141 67777 77777 MANYFEET 2DEC -1.0 B-2 024208,000090: 024209,000091: 35,3143 00000 30760 LIMVEL 2DEC .6096 E-2 B-7 # 2FPS 024210,000092: 024211,000093: 35,3145 00000 00114 DFTMOON 2DEC .1524 E3 B-29 # 500 FEET 024212,000094: 024213,000095: 35,3147 00040 30447 DP-.002 2DEC 0.002 024214,000096: 024215,000097: 36,2000 SETLOC P17S 024216,000098: 36,2000 BANK 024217,000099: 36,2012 71220 S17.1 STQ DLOAD 024218,000100: 36,2013 01340 NORMEX 024219,000101: 36,2014 03663 TTPI 024220,000102: 36,2015 34041 STCALL TDEC1 # ADVANCE PASSIVE VEHICLE TO TPI 024221,000103: 36,2016 27126 LEMCONIC 024222,000104: 36,2017 77624 CALL 024223,000105: 36,2020 45233 LEMSTORE 024224,000106: 36,2021 77745 DLOAD 024225,000107: 36,2022 03663 TTPI 024226,000108: 36,2023 34041 STCALL TDEC1 # ADVANCE ACTIVE VEHICLE TO TPI 024227,000109: 36,2024 27114 CSMCONIC 024228,000110: 36,2025 77624 CALL 024229,000111: 36,2026 45243 CSMSTORE 024230,000112: 36,2027 77775 VLOAD 024231,000113: 36,2030 03540 RACT3 024232,000114: 36,2031 63246 ABVAL PDVL # /RA/ 0D PL 2D 024233,000115: 36,2032 03554 RPASS3 024234,000116: 36,2033 65256 UNIT PDDL # UNIT RP 0D PL 6D 024235,000117: 36,2034 43021 BDSU SET 024236,000118: 36,2035 00045 36D # /RP/ -/RA/ 024237,000119: 36,2036 00076 KFLAG # OFF = + 024238,000120: 36,2037 43040 BMN CLEAR 024239,000121: 36,2040 74042 +2 024240,000122: 36,2041 00276 KFLAG # ON = - 024241,000123: 36,2042 27754 STOVL DELHITE 024242,000124: 36,2043 00001 0D 024243,000125: 36,2044 53435 VXV UNIT 024244,000126: 36,2045 03562 VPASS3 024245,000127: 36,2046 27646 STOVL E2 # ALMOST IT SAVE FOR 17.2 024246,000128: 36,2047 03540 RACT3 024247,000129: 36,2050 46206 PUSH VPROJ 024248,000130: 36,2051 03646 E2 024249,000131: 36,2052 51352 VSL2 BVSU # RPA 024250,000132: 36,2053 50256 UNIT DOT 024251,000133: 36,2054 00001 0D 024252,000134: 36,2055 65552 SL1 ACOS 024253,000135: 36,2056 77715 PDVL 024254,000136: 36,2057 50235 VXV DOT 024255,000137: # Page 553 024256,000138: 36,2060 03540 RACT3 024257,000139: 36,2061 03646 E2 024258,000140: 36,2062 75325 PDDL SIGN 024259,000141: 36,2063 77626 STADR 024260,000142: 36,2064 61160 STODL THETZERO # CENTRAL ANGLE 024261,000143: 36,2065 00047 X1 024262,000144: 36,2066 37746 STCALL XRS # SAVE INDICES FOR FURTHER USE 024263,000145: 36,2067 01340 NORMEX # += ACTIVE AHEAD -= ACTIVE BEHIND 024264,000146: 36,2070 77220 S17.2 STQ VLOAD # COMPUTE SEARCH SECTOR LIMITS 024265,000147: 36,2071 03657 QTEMP 024266,000148: 36,2072 03540 RACT3 024267,000149: 36,2073 50256 UNIT DOT 024268,000150: 36,2074 03646 E2 024269,000151: 36,2075 75446 ABS SQRT 024270,000152: 36,2076 43352 SL1 DAD 024271,000153: 36,2077 33150 DP-.002 # ADD .002 RADIANS TO IT 024272,000154: 36,2100 57414 BON DCOMP # GIVES CORRECT SINE, COSINE MUST BE 024273,000155: 36,2101 00316 KFLAG # COMP. ADD .5 FOR ANGLE 024274,000156: 36,2102 74103 +1 024275,000157: # PHI(0)=180-(-(THETAZERO +K5IT)), PHI(I)=180-(-THETAZERO+K2IT)) 024276,000158: # SIN(180-ALPHA)=SIN(ALPHA) ETC 024277,000159: 36,2103 40205 DMP SETPD 024278,000160: 36,2104 33134 PIINVERS # REVOLUTIONARY HERES TWO IT 024279,000161: 36,2105 00001 0D 024280,000162: 36,2106 45206 PUSH DSU 024281,000163: 36,2107 02617 THETZERO 024282,000164: 36,2110 02611 STORE IT # PHI(I) , -(THETZERO + K2IT) 024283,000165: 36,2111 41525 PDDL PUSH 024284,000166: 36,2112 43342 SR1 DAD 024285,000167: 36,2113 41415 DAD PUSH # PHI(0) , -(THETZERO + K5IT) 024286,000168: 36,2114 43156 SIN SET 024287,000169: 36,2115 03466 RVSW 024288,000170: 36,2116 16732 STODL SNTH 024289,000171: 36,2117 50146 COS BMN 024290,000172: 36,2120 74122 +2 024291,000173: 36,2121 77676 DCOMP 024292,000174: 36,2122 16734 STODL CSTH 024293,000175: 36,2123 03746 XRS 024294,000176: 36,2124 24047 STOVL X1 024295,000177: 36,2125 03554 RPASS3 024296,000178: 36,2126 77657 VSR* 024297,000179: 36,2127 57176 0,2 024298,000180: 36,2130 26657 STOVL RVEC 024299,000181: 36,2131 03562 VPASS3 024300,000182: 36,2132 77657 VSR* 024301,000183: 36,2133 57176 0,2 024302,000184: 36,2134 36746 STCALL VVEC 024303,000185: 36,2135 24744 TIMETHET 024304,000186: 36,2136 77745 DLOAD # SAVE START TIME AND GET END TIME 024305,000187: 36,2137 00037 T 024306,000188: # Page 554 024307,000189: 36,2140 03752 STORE TF 024308,000190: 36,2141 16627 STODL TFO 024309,000191: 36,2142 02611 IT 024310,000192: 36,2143 73406 PUSH SIN 024311,000193: 36,2144 16732 STODL SNTH 024312,000194: 36,2145 50146 COS BMN 024313,000195: 36,2146 74150 +2 024314,000196: 36,2147 77676 DCOMP 024315,000197: 36,2150 02734 STORE CSTH 024316,000198: 36,2151 45150 LXA,1 CALL 024317,000199: 36,2152 03745 XRS 024318,000200: 36,2153 24744 TIMETHET 024319,000201: # INITIALIZE LOOP 024320,000202: 36,2154 43145 DLOAD CLEAR 024321,000203: 36,2155 00037 T 024322,000204: 36,2156 03661 ITSWICH 024323,000205: 36,2157 16621 STODL TFI # SAVE TIME FOR LOOP TEST 024324,000206: 36,2160 15343 DPPOSMAX 024325,000207: 36,2161 16623 STODL DELVEE 024326,000208: 36,2162 33142 MANYFEET 024327,000209: 36,2163 16625 STODL HP 024328,000210: 36,2164 33136 SEC1THET # 70 DEGREES 024329,000211: 36,2165 71214 BON DLOAD 024330,000212: 36,2166 00316 KFLAG 024331,000213: 36,2167 74171 +2 024332,000214: 36,2170 33140 SEC2THET # 330 DEGREES 024333,000215: 36,2171 37750 STCALL THETL 024334,000216: 36,2172 74214 CONCAUL 024335,000217: 36,2173 70545 BIS DLOAD SR1 024336,000218: 36,2174 02734 CSTH 024337,000219: 36,2175 14021 STODL COSTH 024338,000220: 36,2176 02732 SNTH 024339,000221: 36,2177 77742 SR1 024340,000222: 36,2200 34023 STCALL SINTH # GET 4 QUADRANT THETA 024341,000223: 36,2201 47256 ARCTRIG 024342,000224: 36,2202 43244 BPL DAD 024343,000225: 36,2203 74205 +2 024344,000226: 36,2204 15343 DPPOSMAX # PUT THETA BETWEEN 0,1 024345,000227: 36,2205 65221 BDSU PDDL 024346,000228: 36,2206 03750 THETL 024347,000229: 36,2207 03752 TF 024348,000230: 36,2210 75225 DSU SIGN # FAST TIMES 024349,000231: 36,2211 02621 TFI 024350,000232: 36,2212 77640 BMN 024351,000233: 36,2213 74416 RNGETEST # TIME MUST HAVE A STOP 024352,000234: # ADVANCE PASSIVE FOR TARGET VECTOR 024353,000235: 36,2214 77745 CONCAUL DLOAD 024354,000236: 36,2215 03663 TTPI 024355,000237: 36,2216 43015 DAD BON 024356,000238: 36,2217 03752 TF 024357,000239: # Page 555 024358,000240: 36,2220 01312 AVFLAG 024359,000241: 36,2221 74226 ADVCSM 024360,000242: 36,2222 34041 STCALL TDEC1 024361,000243: 36,2223 27126 LEMCONIC 024362,000244: 36,2224 77650 GOTO 024363,000245: 36,2225 74230 JUNCT3 024364,000246: 36,2226 34041 ADVCSM STCALL TDEC1 024365,000247: 36,2227 27114 CSMCONIC 024366,000248: # SAVE BACK VALUES OF HP AND DELVEE 024367,000249: 36,2230 77775 JUNCT3 VLOAD 024368,000250: 36,2231 00007 VATT 024369,000251: 36,2232 27640 STOVL VPASS4 024370,000252: 36,2233 00001 RATT 024371,000253: 36,2234 03632 STORE RPASS4 024372,000254: 36,2235 17415 STODL RTARG 024373,000255: 36,2236 03752 TF 024374,000256: 36,2237 17423 STODL DELLT4 024375,000257: 36,2240 02625 HP 024376,000258: 36,2241 16631 STODL HPO 024377,000259: 36,2242 02623 DELVEE 024378,000260: 36,2243 16633 STODL DELVEO 024379,000261: # PREPARE FOR LAMBERT 024380,000262: 36,2244 03663 TTPI 024381,000263: 36,2245 17503 STODL INTIME 024382,000264: 36,2246 03746 XRS 024383,000265: 36,2247 17746 STODL RTX1 024384,000266: 36,2250 15335 HI6ZEROS 024385,000267: 36,2251 65201 SETPD PDDL 024386,000268: 36,2252 00001 0D 024387,000269: 36,2253 33122 EPSFOUR 024388,000270: 36,2254 77715 PDVL 024389,000271: 36,2255 03540 RACT3 024390,000272: 36,2256 27570 STOVL RINIT 024391,000273: 36,2257 03546 VACT3 024392,000274: 36,2260 37576 STCALL VINIT 024393,000275: 36,2261 22000 INITVEL 024394,000276: # COMPUTE H ET CETERA 024395,000277: 36,2262 52375 VLOAD VSU 024396,000278: 36,2263 03620 VTPRIME 024397,000279: 36,2264 03640 VPASS4 024398,000280: 36,2265 41446 ABVAL PUSH 024399,000281: 36,2266 26637 STOVL RELDELV # /V2-VP(TPI+TF)/ 024400,000282: 36,2267 03646 DELVEET3 # V1-VA 024401,000283: 36,2270 77646 ABVAL # /V1-VA/ 024402,000284: 36,2271 02635 STORE MAGVTPI 024403,000285: 36,2272 45415 DAD STADR 024404,000286: 36,2273 61154 STODL DELVEE 024405,000287: 36,2274 03746 XRS 024406,000288: 36,2275 24047 STOVL X1 024407,000289: 36,2276 03612 VIPRIME 024408,000290: # Page 556 024409,000291: 36,2277 77657 VSR* 024410,000292: 36,2300 57176 0,2 024411,000293: 36,2301 26746 STOVL VVEC 024412,000294: 36,2302 03540 RACT3 024413,000295: 36,2303 77657 VSR* 024414,000296: 36,2304 57176 0,2 024415,000297: 36,2305 36657 STCALL RVEC 024416,000298: 36,2306 45163 PERIAPO 024417,000299: 36,2307 71354 LXA,2 DLOAD 024418,000300: 36,2310 03746 XRS +1 024419,000301: 36,2311 77657 SL* 024420,000302: 36,2312 57576 0,2 024421,000303: 36,2313 02625 STORE HP 024422,000304: # ITSWICH DENOTES INTERPOLATION -- SOLUTION ACCEPTANCE IS FORCED 024423,000305: 36,2314 71214 BON DLOAD 024424,000306: 36,2315 03701 ITSWICH 024425,000307: 36,2316 74427 ENDEN 024426,000308: 36,2317 02321 HPERMIN 024427,000309: 36,2320 50025 DSU BMN 024428,000310: 36,2321 02625 HP 024429,000311: 36,2322 74365 HALFSAFE 024430,000312: 36,2323 45325 PDDL DSU # WAS PERICENTER ALT SAFE 024431,000313: 36,2324 02321 HPERMIN 024432,000314: 36,2325 02631 HPO 024433,000315: 36,2326 45240 BMN DSU # (HPLIM-HPO)-(HPLIM-HP)=HP-HPO 024434,000316: 36,2327 74344 INTERP # SOLUTION AT HAND 024435,000317: 36,2330 71240 BMN DLOAD 024436,000318: 36,2331 73254 ALARUMS # IT'S GETTING WORSE -- SOUND THE ALARM 024437,000319: 36,2332 33130 CDSEC 024438,000320: 36,2333 57414 JUNCT1 BOFF DCOMP # OFF IS PLUS, ON IS MINUS 024439,000321: 36,2334 00356 KFLAG 024440,000322: 36,2335 74336 +1 024441,000323: 36,2336 03744 STORE DELTEE 024442,000324: 36,2337 43345 JUNCT2 DLOAD DAD 024443,000325: 36,2340 03744 DELTEE 024444,000326: 36,2341 03752 TF 024445,000327: 36,2342 37752 STCALL TF 024446,000328: 36,2343 74173 BIS # RECYCLE 024447,000329: 36,2344 45214 INTERP SET DSU # HP-HPO 024448,000330: 36,2345 03461 ITSWICH 024449,000331: 36,2346 65301 NORM PDDL 024450,000332: 36,2347 00047 X1 024451,000333: 36,2350 33146 DFTMOON 024452,000334: 36,2351 45215 DAD DSU 024453,000335: 36,2352 02321 HPERMIN 024454,000336: 36,2353 02625 HP 024455,000337: 36,2354 70501 NORM SR1 024456,000338: 36,2355 00050 X2 024457,000339: 36,2356 56264 XSU,2 DDV 024458,000340: 36,2357 00046 X1 024459,000341: # Page 557 024460,000342: 36,2360 53605 DMP SR* 024461,000343: 36,2361 03744 DELTEE 024462,000344: 36,2362 57177 0 -1,2 024463,000345: 36,2363 37744 STCALL DELTEE 024464,000346: 36,2364 74337 JUNCT2 024465,000347: 36,2365 45325 HALFSAFE PDDL DSU # SAVE HP-HPLIM FOR POSSIBLE 024466,000348: 36,2366 02623 DELVEE 024467,000349: 36,2367 02633 DELVEO # SAVE THIS TOO 024468,000350: 36,2370 51406 PUSH ABS 024469,000351: 36,2371 50025 DSU BMN 024470,000352: 36,2372 33144 LIMVEL # 2 FT PS 024471,000353: 36,2373 74427 ENDEN 024472,000354: 36,2374 45345 DLOAD DSU 024473,000355: 36,2375 02321 HPERMIN 024474,000356: 36,2376 02631 HPO 024475,000357: 36,2377 77725 PDDL 024476,000358: 36,2400 71240 BMN DLOAD 024477,000359: 36,2401 74410 LRGRDVO 024478,000360: 36,2402 71244 BPL DLOAD 024479,000361: 36,2403 74344 INTERP 024480,000362: 36,2404 03744 DELTEE 024481,000363: 36,2405 57542 SR1 DCOMP 024482,000364: 36,2406 37744 STCALL DELTEE 024483,000365: 36,2407 74337 JUNCT2 024484,000366: 36,2410 77745 LRGRDVO DLOAD 024485,000367: 36,2411 71240 BMN DLOAD 024486,000368: 36,2412 74337 JUNCT2 024487,000369: 36,2413 33132 CLSEC 024488,000370: 36,2414 77650 GOTO 024489,000371: 36,2415 74333 JUNCT1 024490,000372: # TIME RAN OUT ASSUME SOLUTION IF SAVE PERICENTER 024491,000373: 36,2416 45345 RNGETEST DLOAD DSU 024492,000374: 36,2417 02625 HP 024493,000375: 36,2420 02321 HPERMIN 024494,000376: 36,2421 71240 BMN DLOAD 024495,000377: 36,2422 73254 ALARUMS 024496,000378: 36,2423 03752 TF 024497,000379: 36,2424 77625 DSU 024498,000380: 36,2425 03744 DELTEE 024499,000381: 36,2426 03752 STORE TF # TIME OF SOLUTION 024500,000382: 36,2427 77775 ENDEN VLOAD 024501,000383: 36,2430 03620 VTPRIME 024502,000384: 36,2431 65241 DOT PDDL # SG2 WITH MAGNITUDE 024503,000385: 36,2432 03632 RPASS4 024504,000386: 36,2433 02637 RELDELV 024505,000387: 36,2434 45565 SIGN STADR # NOW SIGN(RELDELV)=SIGN(SG2) 024506,000388: 36,2435 41140 STCALL RELDELV 024507,000389: 36,2436 16441 TRANSANG # COMPUTE OMEGA T, CENTRAL ANGLE 024508,000390: 36,2437 50375 VLOAD DOT 024509,000391: 36,2440 03540 RACT3 024510,000392: # Page 558 024511,000393: 36,2441 03612 VIPRIME # SG1 024512,000394: 36,2442 51165 SIGN BPL # IF POSITIVE THEN SG1 = SG2 OTHERWISE 024513,000395: 36,2443 02637 RELDELV 024514,000396: 36,2444 74454 USEKAY # SIGN(SG2-SG1)=SIGN(SG2)=SIGN(RELDELV) 024515,000397: 36,2445 57535 SLOAD DCOMP 024516,000398: 36,2446 33117 DECTWO 024517,000399: 36,2447 51165 SIGN BPL 024518,000400: 36,2450 02637 RELDELV 024519,000401: 36,2451 74462 NEXUS 024520,000402: 36,2452 52076 DCOMP GOTO 024521,000403: 36,2453 74460 USEKAY +4 024522,000404: 36,2454 43135 USEKAY SLOAD BON 024523,000405: 36,2455 33117 DECTWO 024524,000406: 36,2456 00316 KFLAG 024525,000407: 36,2457 74462 NEXUS 024526,000408: 36,2460 77625 DSU 024527,000409: 36,2461 36150 P21ONENN 024528,000410: 36,2462 17766 NEXUS STODL NN1 024529,000411: 36,2463 02625 HP 024530,000412: 36,2464 36641 STCALL POSTTPI 024531,000413: 36,2465 03657 QTEMP 024532,000414: 07,2441 BANK 07 024533,000415: 07,2000 SETLOC XANG 024534,000416: 07,2000 BANK 024535,000417: 07,2441 COUNT 07/XANG 024536,000418: 024537,000419: # CENTRAL ANGLE SUBROUTINE 024538,000420: 024539,000421: # THIS SUBROUTINE COMPUTES THE CENTRAL ANGLE OF TRAVEL OF THE 024540,000422: # PASSIVE VEHICLE DURING THE TRANSFER. 024541,000423: 024542,000424: 07,2441 40220 TRANSANG STQ SETPD 024543,000425: 07,2442 02370 SUBEXIT 024544,000426: 07,2443 00001 0 024545,000427: 07,2444 73150 LXA,1 LXA,2 024546,000428: 07,2445 03745 XRS 024547,000429: 07,2446 03746 XRS +1 024548,000430: 07,2447 53775 VLOAD VSR* 024549,000431: 07,2450 03640 VPASS4 024550,000432: 07,2451 57176 0,2 024551,000433: 07,2452 22746 STODL* VVEC 024552,000434: 07,2453 11742 MUTABLE +2,1 024553,000435: 07,2454 53715 PDVL VSR* # SQRT MU (+18 OR +15) 00D 024554,000436: 07,2455 03632 RPASS4 024555,000437: 07,2456 57176 0,2 024556,000438: 07,2457 64646 ABVAL PDDL* # MAGNITUDE OF R (+29 OR +27) 02D 024557,000439: 07,2460 11740 MUTABLE,1 024558,000440: 07,2461 47515 PDVL VSQ # 1/MU (+34 OR +28) 04D 024559,000441: 07,2462 02746 VVEC 024560,000442: 07,2463 57301 NORM DMPR # PUSH LIST AT 02D 024561,000443: 07,2464 00047 X1 024562,000444: # Page 559 024563,000445: 07,2465 53605 DMP SRR* 024564,000446: 07,2466 00003 02D 024565,000447: 07,2467 21576 0 -3,1 024566,000448: 07,2470 77621 BDSU # R V**/MU (+6) 024567,000449: 07,2471 11616 D1/32 024568,000450: 07,2472 65301 NORM PDDL 024569,000451: 07,2473 00047 X1 # (2 - R V**/MU) (+6-N) 024570,000452: 07,2474 56362 SR1R DDV # MAGNITUDE OF R (+30 OR +28) 024571,000453: 07,2475 41457 SL* PUSH # R/(2 - R V**/MU) (+29 OR +27) 02D 024572,000454: 07,2476 20174 0 -5,1 024573,000455: 07,2477 75542 SR1 SQRT 024574,000456: 07,2500 77605 DMP 024575,000457: 07,2501 65301 NORM PDDL # ASUBP*** 00D 024576,000458: 07,2502 00047 X1 024577,000459: 07,2503 56342 SR1 DDV 024578,000460: 07,2504 53605 DMP SL* 024579,000461: 07,2505 03752 TF 024580,000462: 07,2506 20201 0,1 024581,000463: 07,2507 60325 PDDL NORM 024582,000464: 07,2510 11630 2PISC 024583,000465: 07,2511 00047 X1 024584,000466: 07,2512 56325 PDDL DDV 024585,000467: 07,2513 77657 SL* 024586,000468: 07,2514 20176 0 -3,1 # CENTANG = (SQRT(MU/ASUP***)TF) 024587,000469: 07,2515 37754 STCALL CENTANG # IN REVOLUTIONS B-0 024588,000470: 07,2516 02370 SUBEXIT 024589,000471: 35,3151 BANK 35 024590,000472: 35,2000 SETLOC P17S1 024591,000473: 35,2000 BANK 024592,000474: 35,3151 COUNT 35/P17 024593,000475: 024594,000476: # TPI SEARCH DISPLAY ROUTNE 024595,000477: 024596,000478: 35,3151 04627 P17 TC AVFLAGA # AVFLAG = CSM, SET TRACK + UPDATE FLAGS 024597,000479: 35,3152 03154 TC P17.1 024598,000480: 35,3153 04642 P77 TC AVFLAGP # AVFLAG = LEM, SET TRACK + UPDATE FLAGS 024599,000481: 35,3154 04647 P17.1 TC P20FLGON # SET UPDATE FLAG 024600,000482: 35,3155 34614 CAF V06N37 # DISPLAY TTPI TIME 024601,000483: 35,3156 04575 TC VNP00H 024602,000484: 35,3157 06006 TC INTPRET 024603,000485: 35,3160 45014 CLEAR CALL 024604,000486: 35,3161 00670 UPDATFLG 024605,000487: 35,3162 74012 S17.1 # UPDATE STATE VECTORS TO TTPI 024606,000488: 35,3163 76014 SET AXT,1 024607,000489: 35,3164 00470 UPDATFLG 024608,000490: 35,3165 00002 DEC 2 B-14 # DELTA H = 2 K POSITIVE, KFLAG OFF 024609,000491: 35,3166 76014 BOFF AXT,1 024610,000492: 35,3167 00356 KFLAG 024611,000493: 35,3170 73172 +2 024612,000494: 35,3171 00001 DEC 1 B-14 # DELTA H = 1 K NEGATIVE, KFLAG ON 024613,000495: # Page 560 024614,000496: 35,3172 77530 SXA,1 EXIT 024615,000497: 35,3173 01132 OPTION2 024616,000498: 35,3174 33263 CAF V06N72 # DISPLAY PHI, DELTA H, SEARCH OPTION K 024617,000499: 35,3175 03237 TC VNCOMP17 024618,000500: 35,3176 06006 TC INTPRET 024619,000501: 35,3177 43014 CLEAR SET 024620,000502: 35,3200 00670 UPDATFLG 024621,000503: 35,3201 00076 KFLAG 024622,000504: 35,3202 45335 SLOAD DSU 024623,000505: 35,3203 01133 OPTION2 # RESET KFLAG ON FOR OPTION =1 024624,000506: 35,3204 36150 P21ONENN # OFF FOR OPTION =2 024625,000507: 35,3205 43030 BHIZ CLEAR 024626,000508: 35,3206 73210 +2 024627,000509: 35,3207 00276 KFLAG 024628,000510: 35,3210 46135 SLOAD BHIZ 024629,000511: 35,3211 03747 XRS +1 024630,000512: 35,3212 73216 +4 024631,000513: 35,3213 52145 DLOAD GOTO 024632,000514: 35,3214 33126 HPL 024633,000515: 35,3215 73220 P17.2 024634,000516: 35,3216 77745 DLOAD 024635,000517: 35,3217 33124 HPE 024636,000518: 35,3220 36321 P17.2 STCALL HPERMIN 024637,000519: 35,3221 74070 S17.2 024638,000520: 35,3222 77414 SET EXIT 024639,000521: 35,3223 00470 UPDATFLG 024640,000522: 35,3224 34616 P17.3 CAF V06N58 # DISPLAY DELTA VTPI, DELTA VTPF, AND H 024641,000523: 35,3225 03237 TC VNCOMP17 024642,000524: 35,3226 34615 CAF V06N55 # DISPLAY PERICENTER CODE AND CENTRAL ANG, 024643,000525: 35,3227 04662 TC BANKCALL 024644,000526: 35,3230 21057 CADR GOFLASHR 024645,000527: 35,3231 04106 TC GOTOP00H # TERMINATE PROGRAM 024646,000528: 35,3232 04106 TC GOTOP00H # END PROGRAM 024647,000529: 35,3233 03154 TC P17.1 # RECYCLE WITH NEW TTPI OR SEARCH OPTION 024648,000530: 35,3234 35016 CAF TWO # BLANK R2 024649,000531: 35,3235 05526 TC BLANKET 024650,000532: 35,3236 15217 TCF ENDOFJOB 024651,000533: 35,3237 E4,1767 EBANK= RTRN 024652,000534: 024653,000535: 35,3237 00006 VNCOMP17 EXTEND 024654,000536: 35,3240 23766 QXCH QSAVED 024655,000537: 35,3241 55765 TS VERBNOUN 024656,000538: 35,3242 31765 CA VERBNOUN 024657,000539: 35,3243 04662 TCR BANKCALL 024658,000540: 35,3244 20720 CADR GOFLASH 024659,000541: 35,3245 03242 TC -3 # TERMINATE ILLEGAL REDISPLAY 024660,000542: 35,3246 01766 TC QSAVED # PROCEED 024661,000543: 35,3247 40154 CS MPAC # RECYCLE WITH NEW TPI TIME 024662,000544: 35,3250 65012 AD BIT6 # OR PROCEED WITH NEW SEARCH OPTION 024663,000545: 35,3251 00006 EXTEND 024664,000546: # Page 561 024665,000547: 35,3252 13154 BZF P17.1 024666,000548: 35,3253 03242 TC VNCOMP17 +3 024667,000549: 35,3254 77414 ALARUMS SET EXIT 024668,000550: 35,3255 00470 UPDATFLG 024669,000551: 35,3256 05650 TC ALARM 024670,000552: 35,3257 00124 OCT 00124 # NO SAFE PERICENTER IN THIS SECTOR 024671,000553: 35,3260 35050 CAF V05N09 024672,000554: 35,3261 03237 TC VNCOMP17 024673,000555: 35,3262 04106 TC GOTOP00H # PROCEED ILLEGAL TERMINATE PROGRAM 024674,000556: 35,3263 01510 V06N72 VN 0672 024675,000557: End of include-file TPI_SEARCH.agc. Parent file is MAIN.agc