Source Code

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