Source Code

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