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