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