Source Code

023568,000001: # Copyright: Public domain. 023569,000002: # Filename: Template.agc 023570,000003: # Purpose: Part of the source code for Colossus, build 249. 023571,000004: # It is part of the source code for the Command Module's (CM) 023572,000005: # Apollo Guidance Computer (AGC), possibly for Apollo 8 and 9. 023573,000006: # Assembler: yaYUL 023574,000007: # Reference: pp. 545-555 of 1701.pdf. 023575,000008: # Contact: Ron Burkey <info@sandroid.org>. 023576,000009: # Website: www.ibiblio.org/apollo. 023577,000010: # Mod history: 08/14/04 RSB. Began transcribing. 023578,000011: 023579,000012: # The contents of the "Colossus249" files, in general, are transcribed 023580,000013: # from a scanned document obtained from MIT's website, 023581,000014: # http://hrst.mit.edu/hrs/apollo/public/archive/1701.pdf. Notations on this 023582,000015: # document read, in part: 023583,000016: 023584,000017: # Assemble revision 249 of AGC program Colossus by NASA 023585,000018: # 2021111-041. October 28, 1968. 023586,000019: 023587,000020: # This AGC program shall also be referred to as 023588,000021: # Colossus 1A 023589,000022: 023590,000023: # Prepared by 023591,000024: # Massachussets Institute of Technology 023592,000025: # 75 Cambridge Parkway 023593,000026: # Cambridge, Massachusetts 023594,000027: # under NASA contract NAS 9-4065. 023595,000028: 023596,000029: # Refer directly to the online document mentioned above for further information. 023597,000030: # Please report any errors (relative to 1701.pdf) to info@sandroid.org. 023598,000031: 023599,000032: # In some cases, where the source code for Luminary 131 overlaps that of 023600,000033: # Colossus 249, this code is instead copied from the corresponding Luminary 131 023601,000034: # source file, and then is proofed to incorporate any changes. 023602,000035: 023603,000036: # Page 545 023604,000037: # TPI SEARCH 023605,000038: 023606,000039: # PROGRAM DESCRIPTION S17.1 AND S17.2 023607,000040: 023608,000041: # FUNCTIONAL DESCRIPTION 023609,000042: 023610,000043: # THE TPI SEARCH ROUTINE DETERMINES THE MINIMUM TOTAL VELOCITY TRANSFER TRAJECTORY FROM A GIVEN TPI 023611,000044: # MANEUVER TIME WITHIN THE CONSTRAINT OF A SAFE PERICENTER. THIS VELOCITY IS THE SUM OF THE IMPULSIVE VELOCITIES 023612,000045: # FOR THE TPI AND TPF MANEUVERS. 023613,000046: 023614,000047: # THE S17.1 ROUTINE EXTRAPOLATES THE STATE VECTORS OF BOTH VEHICLES TO THE TPI TIME AND COMPUTES THE 023615,000048: # RELATIVE PHASE ANGLE BETWEEN THE VEHICLES, THE ALTITUDE DIFFERENCE (I.E., THE MAGNITUDE DIFFERENCE OF THE 023616,000049: # POSITION VECTORS) AND SELECTS A SEARCH SECTOR BASED ON THE SIGN OF THE ALTITUDE DIFFERENCE. 023617,000050: 023618,000051: # THE S17.2 ROUTINE FURTHER DEFINES THE SEARCH SECTOR BY COMPUTING ANGULAR LIMITS AND USES THE TIME THETA 023619,000052: # SUBROUTINE TO COMPUTE THE SEARCH START AND END TIMES. THE SEARCH IS THEN MADE IN AN ITERATIVE LOOP USING THE 023620,000053: # LAMBERT SUBROUTINE TO COMPUTE TEH VELOCITIES REQUIRED AT TPI TIME AND AT TPF TIME. EXIT FROM THE SEARCH LOOP 023621,000054: # IS MADE WHEN SOLUTION CRITERIA ARE MET (NORMAL EXIT) OR AS SOON AS IT IS EVIDENT THAT NO SOLUTION EXISTS IN 023622,000055: # THE SECTOR SEARCHED. 023623,000056: 023624,000057: # CALLING SEQUENCE 023625,000058: 023626,000059: # BOTH ROUTINES ARE CALLED IN INTERPRETIVE CODE AND RETURN VIA QPRET. S17.1 HAS ONLY A NORMAL EXIT. 023627,000060: # S17.2 RETURNS VIA QPRET FOR NORMAL EXIT AND TO ALARUMS FOR ERROR EXIT. 023628,000061: 023629,000062: # SUBROUTINES CALLED 023630,000063: 023631,000064: # CSMCONIC 023632,000065: # LEMCONIC 023633,000066: # TIMETHET 023634,000067: # INITVEL 023635,000068: 023636,000069: 36,2000 BANK 36 023637,000070: 36,2000 SETLOC P17S 023638,000071: 36,2000 BANK 023639,000072: 023640,000073: 36,2000 COUNT 36/TPI 023641,000074: 023642,000075: 36,2000 E7,1537 EBANK= RACT3 023643,000076: 023644,000077: # **** TEMPORARY **** 023645,000078: 023646,000079: 36,2000 00004 31566 HPE 2DEC 157420.0 B-29 # EARTH'S MIN. PERICENTER ALTITUDE 85 N.M. 023647,000080: 023648,000081: 36,2002 00000 12326 HPL 2DEC 10668.0213 B-29 # MOON'S MIN. PERICENTER ALTITUDE 35000 FT. 023649,000082: 023650,000083: 36,2004 00002 16100 CDSEC 2DEC 40000 B-28 023651,000084: 023652,000085: 36,2006 00000 35230 CLSEC 2DEC 15000 B-28 023653,000086: 023654,000087: 36,2010 12137 06033 PIINVERS 2DEC .3183098862 023655,000088: 023656,000089: 36,2012 06161 30707 SEC1THET 2DEC .1944444444 023657,000090: 023658,000091: # Page 546 023659,000092: 36,2014 35252 25253 SEC2THET 2DEC .9166666667 023660,000093: 023661,000094: 36,2016 67777 77777 MANYFEET 2DEC -1.0 B-2 023662,000095: 023663,000096: 36,2020 00000 30760 LIMVEL 2DEC .6096 E-2 B-7 # 2FPS 023664,000097: 023665,000098: 36,2022 00000 00114 DFTMOON 2DEC .1524 E3 B-29 # 500 FEET 023666,000099: 023667,000100: 36,2024 00040 30447 DP-.002 2DEC 0.002 023668,000101: 023669,000102: 36,2026 71220 S17.1 STQ DLOAD 023670,000103: 36,2027 01340 NORMEX 023671,000104: 36,2030 03663 TTPI 023672,000105: 36,2031 34041 STCALL TDEC1 # ADVANCE PASSIVE VEHICLE TO TPI 023673,000106: 36,2032 27057 LEMCONIC 023674,000107: 36,2033 77624 CALL 023675,000108: 36,2034 45372 LEMSTORE 023676,000109: 36,2035 77745 DLOAD 023677,000110: 36,2036 03663 TTPI 023678,000111: 36,2037 34041 STCALL TDEC1 # ADVANCE ACTIVE VEHICLE TO TPI 023679,000112: 36,2040 27045 CSMCONIC 023680,000113: 36,2041 77624 CALL 023681,000114: 36,2042 45402 CSMSTORE 023682,000115: 36,2043 77775 VLOAD 023683,000116: 36,2044 03540 RACT3 023684,000117: 36,2045 63246 ABVAL PDVL # /RA/ 0D PL 2D 023685,000118: 36,2046 03554 RPASS3 023686,000119: 36,2047 65256 UNIT PDDL # UNIT RP 0D PL 6D 023687,000120: 36,2050 43021 BDSU SET 023688,000121: 36,2051 00045 36D # /RP/ -/RA/ 023689,000122: 36,2052 00076 KFLAG # OFF = + 023690,000123: 36,2053 43040 BMN CLEAR 023691,000124: 36,2054 74056 +2 023692,000125: 36,2055 00276 KFLAG # ON = - 023693,000126: 36,2056 27754 STOVL DELHITE 023694,000127: 36,2057 00001 0D 023695,000128: 36,2060 53435 VXV UNIT 023696,000129: 36,2061 03562 VPASS3 023697,000130: 36,2062 27646 STOVL E2 # ALMOST IT SAVE FOR 17.2 023698,000131: 36,2063 03540 RACT3 023699,000132: 36,2064 46206 PUSH VPROJ 023700,000133: 36,2065 03646 E2 023701,000134: 36,2066 51352 VSL2 BVSU # RPA 023702,000135: 36,2067 50256 UNIT DOT 023703,000136: 36,2070 00001 0D 023704,000137: 36,2071 65552 SL1 ACOS 023705,000138: 36,2072 77715 PDVL 023706,000139: 36,2073 50235 VXV DOT 023707,000140: 36,2074 03540 RACT3 023708,000141: 36,2075 03646 E2 023709,000142: # Page 547 023710,000143: 36,2076 75325 PDDL SIGN 023711,000144: 36,2077 77626 STADR 023712,000145: 36,2100 61160 STODL THETZERO # CENTRAL ANGLE 023713,000146: 36,2101 00047 X1 023714,000147: 36,2102 37746 STCALL XRS # SAVE INDICES FOR FURTHER USE 023715,000148: 36,2103 01340 NORMEX # += ACTIVE AHEAD -= ACTIVE BEHIND 023716,000149: 36,2104 77220 S17.2 STQ VLOAD # COMPUTE SEARCH SECTOR LIMITS 023717,000150: 36,2105 03657 QTEMP 023718,000151: 36,2106 03540 RACT3 023719,000152: 36,2107 50256 UNIT DOT 023720,000153: 36,2110 03646 E2 023721,000154: 36,2111 75446 ABS SQRT 023722,000155: 36,2112 43352 SL1 DAD 023723,000156: 36,2113 34025 DP-.002 # ADD .002 RADIANS TO IT 023724,000157: 36,2114 57414 BON DCOMP # GIVES CORRECT SINE, COSINE MUST BE 023725,000158: 36,2115 00316 KFLAG # COMP. ADD .5 FOR ANGLE 023726,000159: 36,2116 74117 +1 023727,000160: 023728,000161: # PHI(0)=180-(-(THETAZERO +K5IT)), PHI(I)=180-(-THETAZERO+K2IT)) 023729,000162: # SIN(180-ALPHA)=SIN(ALPHA) ETC 023730,000163: 023731,000164: 36,2117 40205 DMP SETPD 023732,000165: 36,2120 34011 PIINVERS # REVOLUTIONARY HERES TWO IT 023733,000166: 36,2121 00001 0D 023734,000167: 36,2122 45206 PUSH DSU 023735,000168: 36,2123 02617 THETZERO 023736,000169: 36,2124 02611 STORE IT # PHI(I) , -(THETZERO + K2IT) 023737,000170: 36,2125 41525 PDDL PUSH 023738,000171: 36,2126 43342 SR1 DAD 023739,000172: 36,2127 41415 DAD PUSH # PHI(0) , -(THETZERO + K5IT) 023740,000173: 36,2130 43156 SIN SET 023741,000174: 36,2131 03466 RVSW 023742,000175: 36,2132 16732 STODL SNTH 023743,000176: 36,2133 50146 COS BMN 023744,000177: 36,2134 74136 +2 023745,000178: 36,2135 77676 DCOMP 023746,000179: 36,2136 16734 STODL CSTH 023747,000180: 36,2137 03746 XRS 023748,000181: 36,2140 24047 STOVL X1 023749,000182: 36,2141 03554 RPASS3 023750,000183: 36,2142 77657 VSR* 023751,000184: 36,2143 57176 0,2 023752,000185: 36,2144 26657 STOVL RVEC 023753,000186: 36,2145 03562 VPASS3 023754,000187: 36,2146 77657 VSR* 023755,000188: 36,2147 57176 0,2 023756,000189: 36,2150 36746 STCALL VVEC 023757,000190: 36,2151 24737 TIMETHET 023758,000191: 36,2152 77745 DLOAD # SAVE START TIME AND GET END TIME 023759,000192: 36,2153 00037 T 023760,000193: 36,2154 03752 STORE TF 023761,000194: 36,2155 16627 STODL TFO 023762,000195: # Page 548 023763,000196: 36,2156 02611 IT 023764,000197: 36,2157 73406 PUSH SIN 023765,000198: 36,2160 16732 STODL SNTH 023766,000199: 36,2161 50146 COS BMN 023767,000200: 36,2162 74164 +2 023768,000201: 36,2163 77676 DCOMP 023769,000202: 36,2164 02734 STORE CSTH 023770,000203: 36,2165 45150 LXA,1 CALL 023771,000204: 36,2166 03745 XRS 023772,000205: 36,2167 24737 TIMETHET 023773,000206: # INITIALIZE LOOP 023774,000207: 36,2170 43145 DLOAD CLEAR 023775,000208: 36,2171 00037 T 023776,000209: 36,2172 03661 ITSWICH 023777,000210: 36,2173 16621 STODL TFI # SAVE TIME FOR LOOP TEST 023778,000211: 36,2174 15340 DPPOSMAX 023779,000212: 36,2175 16623 STODL DELVEE 023780,000213: 36,2176 34017 MANYFEET 023781,000214: 36,2177 16625 STODL HP 023782,000215: 36,2200 34013 SEC1THET # 70 DEGREES 023783,000216: 36,2201 71214 BON DLOAD 023784,000217: 36,2202 00316 KFLAG 023785,000218: 36,2203 74205 +2 023786,000219: 36,2204 34015 SEC2THET # 330 DEGREES 023787,000220: 36,2205 37750 STCALL THETL 023788,000221: 36,2206 74230 CONCAUL 023789,000222: 36,2207 70545 BIS DLOAD SR1 023790,000223: 36,2210 02734 CSTH 023791,000224: 36,2211 14021 STODL COSTH 023792,000225: 36,2212 02732 SNTH 023793,000226: 36,2213 77742 SR1 023794,000227: 36,2214 34023 STCALL SINTH # GET 4 QUADRANT THETA 023795,000228: 36,2215 47211 ARCTRIG 023796,000229: 36,2216 43244 BPL DAD 023797,000230: 36,2217 74221 +2 023798,000231: 36,2220 15340 DPPOSMAX # PUT THETA BETWEEN 0,1 023799,000232: 36,2221 65221 BDSU PDDL 023800,000233: 36,2222 03750 THETL 023801,000234: 36,2223 03752 TF 023802,000235: 36,2224 75225 DSU SIGN # FAST TIMES 023803,000236: 36,2225 02621 TFI 023804,000237: 36,2226 77640 BMN 023805,000238: 36,2227 74432 RNGETEST # TIME MUST HAVE A STOP 023806,000239: # ADVANCE PASSIVE FOR TARGET VECTOR 023807,000240: 36,2230 77745 CONCAUL DLOAD 023808,000241: 36,2231 03663 TTPI 023809,000242: 36,2232 43015 DAD BON 023810,000243: 36,2233 03752 TF 023811,000244: 36,2234 01312 AVFLAG 023812,000245: 36,2235 74242 ADVCSM 023813,000246: # Page 549 023814,000247: 36,2236 34041 STCALL TDEC1 023815,000248: 36,2237 27057 LEMCONIC 023816,000249: 36,2240 77650 GOTO 023817,000250: 36,2241 74244 JUNCT3 023818,000251: 36,2242 34041 ADVCSM STCALL TDEC1 023819,000252: 36,2243 27045 CSMCONIC 023820,000253: # SAVE BACK VALUES OF HP AND DELVEE 023821,000254: 36,2244 77775 JUNCT3 VLOAD 023822,000255: 36,2245 00007 VATT 023823,000256: 36,2246 27640 STOVL VPASS4 023824,000257: 36,2247 00001 RATT 023825,000258: 36,2250 03632 STORE RPASS4 023826,000259: 36,2251 17415 STODL RTARG 023827,000260: 36,2252 03752 TF 023828,000261: 36,2253 17423 STODL DELLT4 023829,000262: 36,2254 02625 HP 023830,000263: 36,2255 16631 STODL HPO 023831,000264: 36,2256 02623 DELVEE 023832,000265: 36,2257 16633 STODL DELVEO 023833,000266: # PREPARE FOR LAMBERT 023834,000267: 36,2260 03663 TTPI 023835,000268: 36,2261 17503 STODL INTIME 023836,000269: 36,2262 03746 XRS 023837,000270: 36,2263 17746 STODL RTX1 023838,000271: 36,2264 15332 HI6ZEROS 023839,000272: 36,2265 65201 SETPD PDDL 023840,000273: 36,2266 00001 0D 023841,000274: 36,2267 33147 EPSFOUR 023842,000275: 36,2270 77715 PDVL 023843,000276: 36,2271 03540 RACT3 023844,000277: 36,2272 27570 STOVL RINIT 023845,000278: 36,2273 03546 VACT3 023846,000279: 36,2274 37576 STCALL VINIT 023847,000280: 36,2275 22000 INITVEL 023848,000281: # COMPUTE H ET CETERA 023849,000282: 36,2276 52375 VLOAD VSU 023850,000283: 36,2277 03620 VTPRIME 023851,000284: 36,2300 03640 VPASS4 023852,000285: 36,2301 41446 ABVAL PUSH 023853,000286: 36,2302 26637 STOVL RELDELV # /V2-VP(TPI+TF)/ 023854,000287: 36,2303 03646 DELVEET3 # V1-VA 023855,000288: 36,2304 77646 ABVAL # /V1-VA/ 023856,000289: 36,2305 02635 STORE MAGVTPI 023857,000290: 36,2306 45415 DAD STADR 023858,000291: 36,2307 61154 STODL DELVEE 023859,000292: 36,2310 03746 XRS 023860,000293: 36,2311 24047 STOVL X1 023861,000294: 36,2312 03612 VIPRIME 023862,000295: 36,2313 77657 VSR* 023863,000296: 36,2314 57176 0,2 023864,000297: # Page 550 023865,000298: 36,2315 26746 STOVL VVEC 023866,000299: 36,2316 03540 RACT3 023867,000300: 36,2317 77657 VSR* 023868,000301: 36,2320 57176 0,2 023869,000302: 36,2321 36657 STCALL RVEC 023870,000303: 36,2322 45322 PERIAPO 023871,000304: 36,2323 71354 LXA,2 DLOAD 023872,000305: 36,2324 03746 XRS +1 023873,000306: 36,2325 77657 SL* 023874,000307: 36,2326 57576 0,2 023875,000308: 36,2327 02625 STORE HP 023876,000309: # ITSWICH DENOTES INTERPOLATION -- SOLUTION ACCEPTANCE IS FORCED 023877,000310: 36,2330 71214 BON DLOAD 023878,000311: 36,2331 03701 ITSWICH 023879,000312: 36,2332 74443 ENDEN 023880,000313: 36,2333 02321 HPERMIN 023881,000314: 36,2334 50025 DSU BMN 023882,000315: 36,2335 02625 HP 023883,000316: 36,2336 74401 HALFSAFE 023884,000317: 36,2337 45325 PDDL DSU # WAS PERICENTER ALT SAFE 023885,000318: 36,2340 02321 HPERMIN 023886,000319: 36,2341 02631 HPO 023887,000320: 36,2342 45240 BMN DSU # (HPLIM-HPO)-(HPLIM-HP)=HP-HPO 023888,000321: 36,2343 74360 INTERP # SOLUTION AT HAND 023889,000322: 36,2344 71240 BMN DLOAD 023890,000323: 36,2345 73534 ALARUMS # IT'S GETTING WORSE -- SOUND THE ALARM 023891,000324: 36,2346 34005 CDSEC 023892,000325: 36,2347 57414 JUNCT1 BOFF DCOMP # OFF IS PLUS, ON IS MINUS 023893,000326: 36,2350 00356 KFLAG 023894,000327: 36,2351 74352 +1 023895,000328: 36,2352 03744 STORE DELTEE 023896,000329: 36,2353 43345 JUNCT2 DLOAD DAD 023897,000330: 36,2354 03744 DELTEE 023898,000331: 36,2355 03752 TF 023899,000332: 36,2356 37752 STCALL TF 023900,000333: 36,2357 74207 BIS # RECYCLE 023901,000334: 36,2360 45214 INTERP SET DSU # HP-HPO 023902,000335: 36,2361 03461 ITSWICH 023903,000336: 36,2362 65301 NORM PDDL 023904,000337: 36,2363 00047 X1 023905,000338: 36,2364 34023 DFTMOON 023906,000339: 36,2365 45215 DAD DSU 023907,000340: 36,2366 02321 HPERMIN 023908,000341: 36,2367 02625 HP 023909,000342: 36,2370 70501 NORM SR1 023910,000343: 36,2371 00050 X2 023911,000344: 36,2372 56264 XSU,2 DDV 023912,000345: 36,2373 00046 X1 023913,000346: 36,2374 53605 DMP SR* 023914,000347: 36,2375 03744 DELTEE 023915,000348: # Page 551 023916,000349: 36,2376 57177 0 -1,2 023917,000350: 36,2377 37744 STCALL DELTEE 023918,000351: 36,2400 74353 JUNCT2 023919,000352: 36,2401 45325 HALFSAFE PDDL DSU # SAVE HP-HPLIM FOR POSSIBLE 023920,000353: 36,2402 02623 DELVEE 023921,000354: 36,2403 02633 DELVEO # SAVE THIS TOO 023922,000355: 36,2404 51406 PUSH ABS 023923,000356: 36,2405 50025 DSU BMN 023924,000357: 36,2406 34021 LIMVEL # 2 FT PS 023925,000358: 36,2407 74443 ENDEN 023926,000359: 36,2410 45345 DLOAD DSU 023927,000360: 36,2411 02321 HPERMIN 023928,000361: 36,2412 02631 HPO 023929,000362: 36,2413 77725 PDDL 023930,000363: 36,2414 71240 BMN DLOAD 023931,000364: 36,2415 74424 LRGRDVO 023932,000365: 36,2416 71244 BPL DLOAD 023933,000366: 36,2417 74360 INTERP 023934,000367: 36,2420 03744 DELTEE 023935,000368: 36,2421 57542 SR1 DCOMP 023936,000369: 36,2422 37744 STCALL DELTEE 023937,000370: 36,2423 74353 JUNCT2 023938,000371: 36,2424 77745 LRGRDVO DLOAD 023939,000372: 36,2425 71240 BMN DLOAD 023940,000373: 36,2426 74353 JUNCT2 023941,000374: 36,2427 34007 CLSEC 023942,000375: 36,2430 77650 GOTO 023943,000376: 36,2431 74347 JUNCT1 023944,000377: # TIME RAN OUT ASSUME SOLUTION IF PERICENTER 023945,000378: 36,2432 45345 RNGETEST DLOAD DSU 023946,000379: 36,2433 02625 HP 023947,000380: 36,2434 02321 HPERMIN 023948,000381: 36,2435 71240 BMN DLOAD 023949,000382: 36,2436 73534 ALARUMS 023950,000383: 36,2437 03752 TF 023951,000384: 36,2440 77625 DSU 023952,000385: 36,2441 03744 DELTEE 023953,000386: 36,2442 03752 STORE TF # TIME OF SOLUTION 023954,000387: 36,2443 77775 ENDEN VLOAD 023955,000388: 36,2444 03620 VTPRIME 023956,000389: 36,2445 65241 DOT PDDL # SG2 WITH MAGNITUDE 023957,000390: 36,2446 03632 RPASS4 023958,000391: 36,2447 02637 RELDELV 023959,000392: 36,2450 45565 SIGN STADR # NOW SIGN(RELDELV)=SIGN(SG2) 023960,000393: 36,2451 41140 STCALL RELDELV 023961,000394: 36,2452 16440 TRANSANG # COMPUTE OMEGA T, CENTRAL ANGLE 023962,000395: 36,2453 50375 VLOAD DOT 023963,000396: 36,2454 03540 RACT3 023964,000397: 36,2455 03612 VIPRIME # SG1 023965,000398: 36,2456 51165 SIGN BPL # IF POSITIVE THEN SG1 = SG2 OTHERWISE 023966,000399: # Page 552 023967,000400: 36,2457 02637 RELDELV 023968,000401: 36,2460 74470 USEKAY # SIGN(SG2-SG1)=SIGN(SG2)=SIGN(RELDELV) 023969,000402: 36,2461 57535 SLOAD DCOMP 023970,000403: 36,2462 33144 DECTWO 023971,000404: 36,2463 51165 SIGN BPL 023972,000405: 36,2464 02637 RELDELV 023973,000406: 36,2465 74476 NEXUS 023974,000407: 36,2466 52076 DCOMP GOTO 023975,000408: 36,2467 74474 USEKAY +4 023976,000409: 36,2470 43135 USEKAY SLOAD BON 023977,000410: 36,2471 33144 DECTWO 023978,000411: 36,2472 00316 KFLAG 023979,000412: 36,2473 74476 NEXUS 023980,000413: 36,2474 77625 DSU 023981,000414: 36,2475 36100 P21ONENN 023982,000415: 36,2476 17646 NEXUS STODL NN1 023983,000416: 36,2477 02625 HP 023984,000417: 36,2500 36641 STCALL POSTTPI 023985,000418: 36,2501 03657 QTEMP 023986,000419: 07,2440 BANK 07 023987,000420: 07,2000 SETLOC XANG 023988,000421: 07,2000 BANK 023989,000422: 07,2440 COUNT 07/XANG 023990,000423: 023991,000424: # CENTRAL ANGLE SUBROUTINE 023992,000425: 023993,000426: # THIS SUBROUTINE COMPUTES THE CENTRAL ANGLE OF TRAVEL OF TEH 023994,000427: # PASSIVE VEHICLE DURING THE TRANSFER. 023995,000428: 023996,000429: 07,2440 40220 TRANSANG STQ SETPD 023997,000430: 07,2441 02370 SUBEXIT 023998,000431: 07,2442 00001 0 023999,000432: 07,2443 73150 LXA,1 LXA,2 024000,000433: 07,2444 03745 XRS 024001,000434: 07,2445 03746 XRS +1 024002,000435: 07,2446 53775 VLOAD VSR* 024003,000436: 07,2447 03640 VPASS4 024004,000437: 07,2450 57176 0,2 024005,000438: 07,2451 22746 STODL* VVEC 024006,000439: 07,2452 11633 MUTABLE +2,1 024007,000440: 07,2453 53715 PDVL VSR* # SQRT MU (+18 OR +15) 00D 024008,000441: 07,2454 03632 RPASS4 024009,000442: 07,2455 57176 0,2 024010,000443: 07,2456 64646 ABVAL PDDL* # MAGNITUDE OF R (+29 OR +27) 02D 024011,000444: 07,2457 11631 MUTABLE,1 024012,000445: 07,2460 47515 PDVL VSQ # 1/MU (+34 OR +28) 04D 024013,000446: 07,2461 02746 VVEC 024014,000447: 07,2462 57301 NORM DMPR # PUSH LIST AT 02D 024015,000448: 07,2463 00047 X1 024016,000449: 07,2464 53605 DMP SRR* 024017,000450: 07,2465 00003 02D 024018,000451: # Page 553 024019,000452: 07,2466 21576 0 -3,1 024020,000453: 07,2467 77621 BDSU # R V**/MU (+6) 024021,000454: 07,2470 11506 D1/32 024022,000455: 07,2471 65301 NORM PDDL 024023,000456: 07,2472 00047 X1 # (2 - R V**/MU) (+6-N) 024024,000457: 07,2473 56362 SR1R DDV # MAGNITUDE OF R (+30 OR +28) 024025,000458: 07,2474 41457 SL* PUSH # R/(2 - R V**/MU) (+29 OR +27) 02D 024026,000459: 07,2475 20174 0 -5,1 024027,000460: 07,2476 75542 SR1 SQRT 024028,000461: 07,2477 77605 DMP 024029,000462: 07,2500 65301 NORM PDDL # ASUBP*** 00D 024030,000463: 07,2501 00047 X1 024031,000464: 07,2502 56342 SR1 DDV 024032,000465: 07,2503 53605 DMP SL* 024033,000466: 07,2504 03752 TF 024034,000467: 07,2505 20201 0,1 024035,000468: 07,2506 60325 PDDL NORM 024036,000469: 07,2507 11520 2PISC 024037,000470: 07,2510 00047 X1 024038,000471: 07,2511 56325 PDDL DDV 024039,000472: 07,2512 77657 SL* 024040,000473: 07,2513 20176 0 -3,1 # CENTANG = (SQRT(MU/ASUP***)TF) 024041,000474: 07,2514 37754 STCALL CENTANG # IN REVOLUTIONS B-0 024042,000475: 07,2515 02370 SUBEXIT 024043,000476: 35,3431 BANK 35 024044,000477: 35,2000 SETLOC P17S1 024045,000478: 35,2000 BANK 024046,000479: 35,3431 COUNT 35/P17 024047,000480: 024048,000481: # TPI SEARCH DISPLAY ROUTNE 024049,000482: 024050,000483: 35,3431 03726 P17 TC AVFLAGA # AVFLAG = CSM, SET TRACK + UPDATE FLAGS 024051,000484: 35,3432 03434 TC P17.1 024052,000485: 35,3433 03741 P77 TC AVFLAGP # AVFLAG = LEM, SET TRACK + UPDATE FLAGS 024053,000486: 35,3434 03746 P17.1 TC P20FLGON # SET UPDATE FLAG 024054,000487: 35,3435 33125 CAF V06N37 # DISPLAY TTPI TIME 024055,000488: 35,3436 03114 TC VNP00H 024056,000489: 35,3437 06006 TC INTPRET 024057,000490: 35,3440 45014 CLEAR CALL 024058,000491: 35,3441 00670 UPDATFLG 024059,000492: 35,3442 74026 S17.1 # UPDATE STATE VECTORS TO TTPI 024060,000493: 35,3443 76014 SET AXT,1 024061,000494: 35,3444 00470 UPDATFLG 024062,000495: 35,3445 00002 DEC 2 B-14 # DELTA H = 2 K POSITIVE, KFLAG OFF 024063,000496: 35,3446 76014 BOFF AXT,1 024064,000497: 35,3447 00356 KFLAG 024065,000498: 35,3450 73452 +2 024066,000499: 35,3451 00001 DEC 1 B-14 # DELTA H = 1 K NEGATIVE, KFLAG ON 024067,000500: 35,3452 77530 SXA,1 EXIT 024068,000501: 35,3453 01132 OPTION2 024069,000502: # Page 554 024070,000503: 35,3454 33543 CAF V06N72 # DISPLAY PHI, DELTA H, SEARCH OPTION K 024071,000504: 35,3455 03517 TC VNCOMP17 024072,000505: 35,3456 06006 TC INTPRET 024073,000506: 35,3457 43014 CLEAR SET 024074,000507: 35,3460 00670 UPDATFLG 024075,000508: 35,3461 00076 KFLAG 024076,000509: 35,3462 45335 SLOAD DSU 024077,000510: 35,3463 01133 OPTION2 # RESET KFLAG ON FOR OPTION =1 024078,000511: 35,3464 36100 P21ONENN # OFF FOR OPTION =2 024079,000512: 35,3465 43030 BHIZ CLEAR 024080,000513: 35,3466 73470 +2 024081,000514: 35,3467 00276 KFLAG 024082,000515: 35,3470 46135 SLOAD BHIZ 024083,000516: 35,3471 03747 XRS +1 024084,000517: 35,3472 73476 +4 024085,000518: 35,3473 52145 DLOAD GOTO 024086,000519: 35,3474 34003 HPL 024087,000520: 35,3475 73500 P17.2 024088,000521: 35,3476 77745 DLOAD 024089,000522: 35,3477 34001 HPE 024090,000523: 35,3500 36321 P17.2 STCALL HPERMIN 024091,000524: 35,3501 74104 S17.2 024092,000525: 35,3502 77414 SET EXIT 024093,000526: 35,3503 00470 UPDATFLG 024094,000527: 35,3504 33127 P17.3 CAF V06N58 # DISPLAY DELTA VTPI, DELTA VTPF,AND H 024095,000528: 35,3505 03517 TC VNCOMP17 024096,000529: 35,3506 33126 CAF V06N55 # DISPLAY PERICENTER CODE AND CENTRAL ANG, 024097,000530: 35,3507 04555 TC BANKCALL 024098,000531: 35,3510 20763 CADR GOFLASHR 024099,000532: 35,3511 04106 TC GOTOP00H # TERMINATE PROGRAM 024100,000533: 35,3512 04106 TC GOTOP00H # END PROGRAM 024101,000534: 35,3513 03434 TC P17.1 # RECYCLE WITH NEW TTPI OR SEARCH OPTION 024102,000535: 35,3514 34711 CAF TWO # BLANK R2 024103,000536: 35,3515 05415 TC BLANKET 024104,000537: 35,3516 15112 TCF ENDOFJOB 024105,000538: 35,3517 E4,1767 EBANK= RTRN 024106,000539: 024107,000540: 35,3517 00006 VNCOMP17 EXTEND 024108,000541: 35,3520 23766 QXCH QSAVED 024109,000542: 35,3521 55765 TS VERBNOUN 024110,000543: 35,3522 31765 CA VERBNOUN 024111,000544: 35,3523 04555 TCR BANKCALL 024112,000545: 35,3524 20624 CADR GOFLASH 024113,000546: 35,3525 03522 TC -3 # TERMINATE ILLEGAL REDISPLAY 024114,000547: 35,3526 01766 TC QSAVED # PROCEED 024115,000548: 35,3527 40154 CS MPAC # RECYCLE WITH NEW TPI TIME 024116,000549: 35,3530 64705 AD BIT6 # OR PROCEED WITH NEW SEARCH OPTION 024117,000550: 35,3531 00006 EXTEND 024118,000551: 35,3532 13434 BZF P17.1 024119,000552: 35,3533 03522 TC VNCOMP17 +3 024120,000553: # Page 555 024121,000554: 35,3534 77414 ALARUMS SET EXIT 024122,000555: 35,3535 00470 UPDATFLG 024123,000556: 35,3536 05537 TC ALARM 024124,000557: 35,3537 00124 OCT 00124 # NO SAFE PERICENTER IN THIS SECTOR 024125,000558: 35,3540 34743 CAF V05N09 024126,000559: 35,3541 03517 TC VNCOMP17 024127,000560: 35,3542 04106 TC GOTOP00H # PROCEED ILLEGAL TERMINATE PROGRAM 024128,000561: 35,3543 01510 V06N72 VN 0672 024129,000562: End of include-file TPI_SEARCH.agc. Parent file is MAIN.agc