Source Code
These source-code files are part of a reconstructed copy of Comanche 44, the
initial release (though not the final mission release) of the Apollo 10
Command Module (CM) Apollo Guidance Computer (AGC) software. Subsequent releases
were Comanche 45 and Comanche 45/2 (the flown release on Apollo 10). The reconstruction
is believed to be exactly accurate, but in the absence of an actual Apollo-era
listing of Comanche 44, some explanation of the reconstruction process is needed
to insure confidence in that accuracy.
The starting point was the source code of Comanche 51 (separately previously reconstructed from an Apollo-era listing of Comanche 55, flown on Apollo 11). Comanche 51 source code was then modified by undoing changes known to have been made between revisions 44 and 51. The now-reconstructed Comanche 44 source code was verified by assembling it and checking that the assembled code had the expected known-correct memory-bank checksums. Note that page numbers in the reconstructed code match those on the Comanche 55 printout, although the source code would likely have different page numbers in a contemporary Comanche 44 listing. Annotations that were not present in the contemporary source code have been added to the reconstructed code to justify each change relative to Comanche 51. Here's a guide to the Apollo documentation referenced in those annotations:
Comments expected to have been present in the original source code are prefixed with a single '#' symbol, whereas comments added later are prefixed by "##" or "###". Report any errors noted by creating an issue report at the Virtual AGC Project's GitHub repository. |
023984,000002: ## Copyright: Public domain.
023985,000003: ## Filename: TPI_SEARCH.agc
023986,000004: ## Purpose: A section of Comanche revision 044.
023987,000005: ## It is part of the reconstructed source code for the
023988,000006: ## original release of the flight software for the Command
023989,000007: ## Module's (CM) Apollo Guidance Computer (AGC) for Apollo 10.
023990,000008: ## The code has been recreated from a copy of Comanche 055. It
023991,000009: ## has been adapted such that the resulting bugger words
023992,000010: ## exactly match those specified for Comanche 44 in NASA drawing
023993,000011: ## 2021153D, which gives relatively high confidence that the
023994,000012: ## reconstruction is correct.
023995,000013: ## Assembler: yaYUL
023996,000014: ## Contact: Ron Burkey <info@sandroid.org>.
023997,000015: ## Website: www.ibiblio.org/apollo/index.html
023998,000016: ## Mod history: 2020-12-03 MAS Created from Comanche 51.
023999,000017:
Page 551 |
024001,000019: # PROGRAM DESCRIPTION S17.1 AND S17.2
024002,000020:
024003,000021: # FUNCTIONAL DESCRIPTION
024004,000022:
024005,000023: # THE TPI SEARCH ROUTINE DETERMINES THE MINIMUM TOTAL VELOCITY TRANSFER TRAJECTORY FROM A GIVEN TPI
024006,000024: # MANEUVER TIME WITHIN THE CONSTRAINT OF A SAFE PERICENTER. THIS VELOCITY IS THE SUM OF THE IMPULSIVE VELOCITIES
024007,000025: # FOR THE TPI AND TPF MANEUVERS.
024008,000026:
024009,000027: # THE S17.1 ROUTINE EXTRAPOLATES THE STATE VECTORS OF BOTH VEHICLES TO THE TPI TIME AND COMPUTES THE
024010,000028: # RELATIVE PHASE ANGLE BETWEEN THE VEHICLES, THE ALTITUDE DIFFERENCE (I.E. THE MAGNITUDE DIFFERENCE OF THE
024011,000029: # POSITION VECTORS) AND SELECTS A SEARCH SECTOR BASED ON THE SIGN OF THE ALTITUDE DIFFERENCE.
024012,000030:
024013,000031: # THE S17.2 ROUTINE FURTHER DEFINES THE SEARCH SECTOR BY COMPUTING ANGULAR LIMITS AND USES THE TIME THETA
024014,000032: # SUBROUTINE TO COMPUTE THE SEARCH START AND END TIMES. THE SEARCH IS THEN MADE IN AN ITERATIVE LOOP USING THE
024015,000033: # LAMBERT SUBROUTINE TO COMPUTE THE VELOCITIES REQUIRED AT TPI TIME AND AT TPF TIME. EXIT FROM THE SEARCH LOOP
024016,000034: # IS MADE WHEN SOLUTION CRITERIA ARE MET (NORMAL EXIT) OR AS SOON AS IT IS EVIDENT THAT NO SOLUTION EXISTS IN
024017,000035: # THE SECTOR SEARCHED.
024018,000036:
024019,000037: # CALLING SEQUENCE
024020,000038:
024021,000039: # BOTH ROUTINES ARE CALLED IN INTERPRETIVE CODE AND RETURN VIA QPRET. S17.1 HAS ONLY A NORMAL EXIT.
024022,000040: # S17.2 RETURNS VIA QPRET FOR NORMAL EXIT AND TO ALARUMS FOR ERROR EXIT.
024023,000041:
024024,000042: # SUBROUTINES CALLED
024025,000043:
024026,000044: # CSMCONIC
024027,000045: # LEMCONIC
024028,000046: # TIMETHET
024029,000047: # INITVEL
024030,000048:
024031,000049: 36,2000 BANK 36
024032,000050: 35,2000 SETLOC P17S1
024033,000051: 35,2000 BANK
024034,000052:
024035,000053: 35,3127 COUNT 36/TPI
024036,000054:
024037,000055: 35,3127 E7,1537 EBANK= RACT3
024038,000056:
024039,000057: # **** TEMPORARY ****
024040,000058:
024041,000059: 35,3127 00004 31566 HPE 2DEC 157420.0 B-29 # EARTH'S MIN. PERICENTER ALTITUDE 85 N.M.
024042,000060:
024043,000061: 35,3131 00000 12326 HPL 2DEC 10668.0213 B-29 # MOON:S MIN. PERICENTER ALTITUDE 35000 FT
024044,000062:
024045,000063: 35,3133 00002 16100 CDSEC 2DEC 40000 B-28
024046,000064:
024047,000065: 35,3135 00000 35230 CLSEC 2DEC 15000 B-28
024048,000066:
024049,000067: 35,3137 12137 06033 PIINVERS 2DEC .3183098862
024050,000068:
024051,000069: 35,3141 06161 30707 SEC1THET 2DEC .1944444444
024052,000070:
Page 552 |
024054,000072: 35,3143 35252 25253 SEC2THET 2DEC .9166666667
024055,000073:
024056,000074: 35,3145 67777 77777 MANYFEET 2DEC -1.0 B-2
024057,000075:
024058,000076: 35,3147 00000 30760 LIMVEL 2DEC .6096 E-2 B-7 # 2FPS
024059,000077:
024060,000078: 35,3151 00000 00114 DFTMOON 2DEC .1524 E3 B-29 # 500 FEET
024061,000079:
024062,000080: 35,3153 00040 30447 DP-.002 2DEC 0.002
024063,000081:
024064,000082: 36,2000 SETLOC P17S
024065,000083: 36,2000 BANK
024066,000084: 36,2000 71220 S17.1 STQ DLOAD
024067,000085: 36,2001 01340 NORMEX
024068,000086: 36,2002 03663 TTPI
024069,000087: 36,2003 34041 STCALL TDEC1 # ADVANCE PASSIVE VEHICLE TO TPI
024070,000088: 36,2004 27126 LEMCONIC
024071,000089: 36,2005 77624 CALL
024072,000090: 36,2006 45233 LEMSTORE
024073,000091: 36,2007 77745 DLOAD
024074,000092: 36,2010 03663 TTPI
024075,000093: 36,2011 34041 STCALL TDEC1 # ADVANCE ACTIVE VEHICLE TO TPI
024076,000094: 36,2012 27114 CSMCONIC
024077,000095: 36,2013 77624 CALL
024078,000096: 36,2014 45243 CSMSTORE
024079,000097: 36,2015 77775 VLOAD
024080,000098: 36,2016 03540 RACT3
024081,000099: 36,2017 63246 ABVAL PDVL # /RA/ 0D PL 2D
024082,000100: 36,2020 03554 RPASS3
024083,000101: 36,2021 65256 UNIT PDDL # UNIT RP 0D PL 6D
024084,000102: 36,2022 43021 BDSU SET
024085,000103: 36,2023 00045 36D # /RP/ -/RA/
024086,000104: 36,2024 00076 KFLAG # OFF = +
024087,000105: 36,2025 43040 BMN CLEAR
024088,000106: 36,2026 74030 +2
024089,000107: 36,2027 00276 KFLAG # ON = -
024090,000108: 36,2030 27754 STOVL DELHITE
024091,000109: 36,2031 00001 0D
024092,000110: 36,2032 53435 VXV UNIT
024093,000111: 36,2033 03562 VPASS3
024094,000112: 36,2034 27646 STOVL E2 # ALMOST IT SAVE FOR 17.2
024095,000113: 36,2035 03540 RACT3
024096,000114: 36,2036 46206 PUSH VPROJ
024097,000115: 36,2037 03646 E2
024098,000116: 36,2040 51352 VSL2 BVSU # RPA
024099,000117: 36,2041 50256 UNIT DOT
024100,000118: 36,2042 00001 0D
024101,000119: 36,2043 65552 SL1 ACOS
024102,000120: 36,2044 77715 PDVL
024103,000121: 36,2045 50235 VXV DOT
Page 553 |
024105,000123: 36,2046 03540 RACT3
024106,000124: 36,2047 03646 E2
024107,000125: 36,2050 75325 PDDL SIGN
024108,000126: 36,2051 77626 STADR
024109,000127: 36,2052 61160 STODL THETZERO # CENTRAL ANGLE
024110,000128: 36,2053 00047 X1
024111,000129: 36,2054 37746 STCALL XRS # SAVE INDICES FOR FURTHER USE
024112,000130: 36,2055 01340 NORMEX # += ACTIVE AHEAD -= ACTIVE BEHIND
024113,000131: 36,2056 77220 S17.2 STQ VLOAD # COMPUTE SEARCH SECTOR LIMITS
024114,000132: 36,2057 03657 QTEMP
024115,000133: 36,2060 03540 RACT3
024116,000134: 36,2061 50256 UNIT DOT
024117,000135: 36,2062 03646 E2
024118,000136: 36,2063 75446 ABS SQRT
024119,000137: 36,2064 43352 SL1 DAD
024120,000138: 36,2065 33154 DP-.002 # ADD .002 RADIANS TO IT
024121,000139: 36,2066 57414 BON DCOMP # GIVES CORRECT SINE, COSINE MUST BE
024122,000140: 36,2067 00316 KFLAG # COMP. ADD .5 FOR ANGLE
024123,000141: 36,2070 74071 +1
024124,000142: # PHI(0)=180-(-(THETAZERO +K5IT)), PHI(I)=180-(-(THETAZERO+K2IT))
024125,000143: # SIN(180-ALPHA)=SIN(ALPHA) ETC
024126,000144: 36,2071 40205 DMP SETPD
024127,000145: 36,2072 33140 PIINVERS # REVOLUTIONARY HERES TWO IT
024128,000146: 36,2073 00001 0D
024129,000147: 36,2074 45206 PUSH DSU
024130,000148: 36,2075 02617 THETZERO
024131,000149: 36,2076 02611 STORE IT # PHI(I) , -(THETZERO + K2IT)
024132,000150: 36,2077 41525 PDDL PUSH
024133,000151: 36,2100 43342 SR1 DAD
024134,000152: 36,2101 41415 DAD PUSH # PHI(0) , -(THETZERO + K5IT)
024135,000153: 36,2102 43156 SIN SET
024136,000154: 36,2103 03466 RVSW
024137,000155: 36,2104 16732 STODL SNTH
024138,000156: 36,2105 50146 COS BMN
024139,000157: 36,2106 74110 +2
024140,000158: 36,2107 77676 DCOMP
024141,000159: 36,2110 16734 STODL CSTH
024142,000160: 36,2111 03746 XRS
024143,000161: 36,2112 24047 STOVL X1
024144,000162: 36,2113 03554 RPASS3
024145,000163: 36,2114 77657 VSR*
024146,000164: 36,2115 57176 0,2
024147,000165: 36,2116 26657 STOVL RVEC
024148,000166: 36,2117 03562 VPASS3
024149,000167: 36,2120 77657 VSR*
024150,000168: 36,2121 57176 0,2
024151,000169: 36,2122 36746 STCALL VVEC
024152,000170: 36,2123 24744 TIMETHET
024153,000171: 36,2124 77745 DLOAD # SAVE START TIME AND GET END TIME
024154,000172: 36,2125 00037 T
Page 554 |
024156,000174: 36,2126 03752 STORE TF
024157,000175: 36,2127 16627 STODL TFO
024158,000176: 36,2130 02611 IT
024159,000177: 36,2131 73406 PUSH SIN
024160,000178: 36,2132 16732 STODL SNTH
024161,000179: 36,2133 50146 COS BMN
024162,000180: 36,2134 74136 +2
024163,000181: 36,2135 77676 DCOMP
024164,000182: 36,2136 02734 STORE CSTH
024165,000183: 36,2137 45150 LXA,1 CALL
024166,000184: 36,2140 03745 XRS
024167,000185: 36,2141 24744 TIMETHET
024168,000186: # INITIALIZE LOOP
024169,000187: 36,2142 43145 DLOAD CLEAR
024170,000188: 36,2143 00037 T
024171,000189: 36,2144 03661 ITSWICH
024172,000190: 36,2145 16621 STODL TFI # SAVE TIME FOR LOOP TEST
024173,000191: 36,2146 15343 DPPOSMAX
024174,000192: 36,2147 16623 STODL DELVEE
024175,000193: 36,2150 33146 MANYFEET
024176,000194: 36,2151 16625 STODL HP
024177,000195: 36,2152 33142 SEC1THET # 70 DEGREES
024178,000196: 36,2153 71214 BON DLOAD
024179,000197: 36,2154 00316 KFLAG
024180,000198: 36,2155 74157 +2
024181,000199: 36,2156 33144 SEC2THET # 330 DEGREES
024182,000200: 36,2157 37750 STCALL THETL
024183,000201: 36,2160 74202 CONCAUL
024184,000202: 36,2161 70545 BIS DLOAD SR1
024185,000203: 36,2162 02734 CSTH
024186,000204: 36,2163 14021 STODL COSTH
024187,000205: 36,2164 02732 SNTH
024188,000206: 36,2165 77742 SR1
024189,000207: 36,2166 34023 STCALL SINTH # GET 4 QUADRANT THETA
024190,000208: 36,2167 47256 ARCTRIG
024191,000209: 36,2170 43244 BPL DAD
024192,000210: 36,2171 74173 +2
024193,000211: 36,2172 15343 DPPOSMAX # PUT THETA BETWEEN 0,1
024194,000212: 36,2173 65221 BDSU PDDL
024195,000213: 36,2174 03750 THETL
024196,000214: 36,2175 03752 TF
024197,000215: 36,2176 75225 DSU SIGN # FAST TIMES
024198,000216: 36,2177 02621 TFI
024199,000217: 36,2200 77640 BMN
024200,000218: 36,2201 74404 RNGETEST # TIME MUST HAVE A STOP
024201,000219: # ADVANCE PASSIVE FOR TARGET VECTOR
024202,000220: 36,2202 77745 CONCAUL DLOAD
024203,000221: 36,2203 03663 TTPI
024204,000222: 36,2204 43015 DAD BON
024205,000223: 36,2205 03752 TF
Page 555 |
024207,000225: 36,2206 01312 AVFLAG
024208,000226: 36,2207 74214 ADVCSM
024209,000227: 36,2210 34041 STCALL TDEC1
024210,000228: 36,2211 27126 LEMCONIC
024211,000229: 36,2212 77650 GOTO
024212,000230: 36,2213 74216 JUNCT3
024213,000231: 36,2214 34041 ADVCSM STCALL TDEC1
024214,000232: 36,2215 27114 CSMCONIC
024215,000233: # SAVE BACK VALUES OF HP AND DELVEE
024216,000234: 36,2216 77775 JUNCT3 VLOAD
024217,000235: 36,2217 00007 VATT
024218,000236: 36,2220 27640 STOVL VPASS4
024219,000237: 36,2221 00001 RATT
024220,000238: 36,2222 03632 STORE RPASS4
024221,000239: 36,2223 17415 STODL RTARG
024222,000240: 36,2224 03752 TF
024223,000241: 36,2225 17423 STODL DELLT4
024224,000242: 36,2226 02625 HP
024225,000243: 36,2227 16631 STODL HPO
024226,000244: 36,2230 02623 DELVEE
024227,000245: 36,2231 16633 STODL DELVEO
024228,000246: # PREPARE FOR LAMBERT
024229,000247: 36,2232 03663 TTPI
024230,000248: 36,2233 17503 STODL INTIME
024231,000249: 36,2234 03746 XRS
024232,000250: 36,2235 17746 STODL RTX1
024233,000251: 36,2236 15335 HI6ZEROS
024234,000252: 36,2237 65201 SETPD PDDL
024235,000253: 36,2240 00001 0D
024236,000254: 36,2241 33126 EPSFOUR
024237,000255: 36,2242 77715 PDVL
024238,000256: 36,2243 03540 RACT3
024239,000257: 36,2244 27570 STOVL RINIT
024240,000258: 36,2245 03546 VACT3
024241,000259: 36,2246 37576 STCALL VINIT
024242,000260: 36,2247 22000 INITVEL
024243,000261: # COMPUTE H ET CETERA
024244,000262: 36,2250 52375 VLOAD VSU
024245,000263: 36,2251 03620 VTPRIME
024246,000264: 36,2252 03640 VPASS4
024247,000265: 36,2253 41446 ABVAL PUSH
024248,000266: 36,2254 26637 STOVL RELDELV # /V2-VP(TPI+TF)/
024249,000267: 36,2255 03646 DELVEET3 # V1-VA
024250,000268: 36,2256 77646 ABVAL # /V1-VA/
024251,000269: 36,2257 02635 STORE MAGVTPI
024252,000270: 36,2260 45415 DAD STADR
024253,000271: 36,2261 61154 STODL DELVEE
024254,000272: 36,2262 03746 XRS
024255,000273: 36,2263 24047 STOVL X1
024256,000274: 36,2264 03612 VIPRIME
Page 556 |
024258,000276: 36,2265 77657 VSR*
024259,000277: 36,2266 57176 0,2
024260,000278: 36,2267 26746 STOVL VVEC
024261,000279: 36,2270 03540 RACT3
024262,000280: 36,2271 77657 VSR*
024263,000281: 36,2272 57176 0,2
024264,000282: 36,2273 36657 STCALL RVEC
024265,000283: 36,2274 45163 PERIAPO
024266,000284: 36,2275 71354 LXA,2 DLOAD
024267,000285: 36,2276 03746 XRS +1
024268,000286: 36,2277 77657 SL*
024269,000287: 36,2300 57576 0,2
024270,000288: 36,2301 02625 STORE HP
024271,000289: # ITSWICH DENOTES INTERPOLATION -- SOLUTION ACCEPTANCE IS FORCED
024272,000290: 36,2302 71214 BON DLOAD
024273,000291: 36,2303 03701 ITSWICH
024274,000292: 36,2304 74415 ENDEN
024275,000293: 36,2305 02321 HPERMIN
024276,000294: 36,2306 50025 DSU BMN
024277,000295: 36,2307 02625 HP
024278,000296: 36,2310 74353 HALFSAFE
024279,000297: 36,2311 45325 PDDL DSU # WAS PERICENTER ALT SAFE
024280,000298: 36,2312 02321 HPERMIN
024281,000299: 36,2313 02631 HPO
024282,000300: 36,2314 45240 BMN DSU # (HPLIM-HPO)-(HPLIM-HP)=HP-HPO
024283,000301: 36,2315 74332 INTERP # SOLUTION AT HAND
024284,000302: 36,2316 71240 BMN DLOAD
024285,000303: 36,2317 73260 ALARUMS # ITS GETTING WORSE - SOUND THE ALARM
024286,000304: 36,2320 33134 CDSEC
024287,000305: 36,2321 57414 JUNCT1 BOFF DCOMP # OFF IS PLUS ON IS MINUS
024288,000306: 36,2322 00356 KFLAG
024289,000307: 36,2323 74324 +1
024290,000308: 36,2324 03744 STORE DELTEE
024291,000309: 36,2325 43345 JUNCT2 DLOAD DAD
024292,000310: 36,2326 03744 DELTEE
024293,000311: 36,2327 03752 TF
024294,000312: 36,2330 37752 STCALL TF
024295,000313: 36,2331 74161 BIS # RECYCLE
024296,000314: 36,2332 45214 INTERP SET DSU # HP-HPO
024297,000315: 36,2333 03461 ITSWICH
024298,000316: 36,2334 65301 NORM PDDL
024299,000317: 36,2335 00047 X1
024300,000318: 36,2336 33152 DFTMOON
024301,000319: 36,2337 45215 DAD DSU
024302,000320: 36,2340 02321 HPERMIN
024303,000321: 36,2341 02625 HP
024304,000322: 36,2342 70501 NORM SR1
024305,000323: 36,2343 00050 X2
024306,000324: 36,2344 56264 XSU,2 DDV
024307,000325: 36,2345 00046 X1
Page 557 |
024309,000327: 36,2346 53605 DMP SR*
024310,000328: 36,2347 03744 DELTEE
024311,000329: 36,2350 57177 0 -1,2
024312,000330: 36,2351 37744 STCALL DELTEE
024313,000331: 36,2352 74325 JUNCT2
024314,000332: 36,2353 45325 HALFSAFE PDDL DSU # SAVE HP-HPLIM FOR POSSIBLE
024315,000333: 36,2354 02623 DELVEE
024316,000334: 36,2355 02633 DELVEO # SAVE THIS TOO
024317,000335: 36,2356 51406 PUSH ABS
024318,000336: 36,2357 50025 DSU BMN
024319,000337: 36,2360 33150 LIMVEL # 2 FT PS
024320,000338: 36,2361 74415 ENDEN
024321,000339: 36,2362 45345 DLOAD DSU
024322,000340: 36,2363 02321 HPERMIN
024323,000341: 36,2364 02631 HPO
024324,000342: 36,2365 77725 PDDL
024325,000343: 36,2366 71240 BMN DLOAD
024326,000344: 36,2367 74376 LRGRDVO
024327,000345: 36,2370 71244 BPL DLOAD
024328,000346: 36,2371 74332 INTERP
024329,000347: 36,2372 03744 DELTEE
024330,000348: 36,2373 57542 SR1 DCOMP
024331,000349: 36,2374 37744 STCALL DELTEE
024332,000350: 36,2375 74325 JUNCT2
024333,000351: 36,2376 77745 LRGRDVO DLOAD
024334,000352: 36,2377 71240 BMN DLOAD
024335,000353: 36,2400 74325 JUNCT2
024336,000354: 36,2401 33136 CLSEC
024337,000355: 36,2402 77650 GOTO
024338,000356: 36,2403 74321 JUNCT1
024339,000357: # TIME RAN OUT ASSUME SOLUTION IF SAFE PERICENTER
024340,000358: 36,2404 45345 RNGETEST DLOAD DSU
024341,000359: 36,2405 02625 HP
024342,000360: 36,2406 02321 HPERMIN
024343,000361: 36,2407 71240 BMN DLOAD
024344,000362: 36,2410 73260 ALARUMS
024345,000363: 36,2411 03752 TF
024346,000364: 36,2412 77625 DSU
024347,000365: 36,2413 03744 DELTEE
024348,000366: 36,2414 03752 STORE TF # TIME OF SOLUTION
024349,000367: 36,2415 77775 ENDEN VLOAD
024350,000368: 36,2416 03620 VTPRIME
024351,000369: 36,2417 65241 DOT PDDL # SG2 WITH MAGNITUDE
024352,000370: 36,2420 03632 RPASS4
024353,000371: 36,2421 02637 RELDELV
024354,000372: 36,2422 45565 SIGN STADR # NOW SIGN(RELDELV)=SIGN(SG2)
024355,000373: 36,2423 41140 STCALL RELDELV
024356,000374: 36,2424 16441 TRANSANG # COMPUTE OMEGA T, CENTRAL ANGLE
024357,000375: 36,2425 50375 VLOAD DOT
024358,000376: 36,2426 03540 RACT3
Page 558 |
024360,000378: 36,2427 03612 VIPRIME # SG1
024361,000379: 36,2430 51165 SIGN BPL # IF POSITIVE THEN SG1 = SG2 OTHERWISE
024362,000380: 36,2431 02637 RELDELV
024363,000381: 36,2432 74442 USEKAY # SIGN(SG2-SG1)=SIGN(SG2)=SIGN(RELDELV)
024364,000382: 36,2433 57535 SLOAD DCOMP
024365,000383: 36,2434 33123 DECTWO
024366,000384: 36,2435 51165 SIGN BPL
024367,000385: 36,2436 02637 RELDELV
024368,000386: 36,2437 74450 NEXUS
024369,000387: 36,2440 52076 DCOMP GOTO
024370,000388: 36,2441 74446 USEKAY +4
024371,000389: 36,2442 43135 USEKAY SLOAD BON
024372,000390: 36,2443 33123 DECTWO
024373,000391: 36,2444 00316 KFLAG
024374,000392: 36,2445 74450 NEXUS
024375,000393: 36,2446 77625 DSU
024376,000394: 36,2447 36147 P21ONENN
024377,000395: 36,2450 17766 NEXUS STODL NN1
024378,000396: 36,2451 02625 HP
024379,000397: 36,2452 36641 STCALL POSTTPI
024380,000398: 36,2453 03657 QTEMP
024381,000399: 07,2441 BANK 07
024382,000400: 07,2000 SETLOC XANG
024383,000401: 07,2000 BANK
024384,000402: 07,2441 COUNT 07/XANG
024385,000403:
024386,000404: # CENTRAL ANGLE SUBROUTINE
024387,000405:
024388,000406: # THIS SUBROUTINE COMPUTES THE CENTRAL ANGLE OF TRAVEL OF THE
024389,000407: # PASSIVE VEHICLE DURING THE TRANSFER.
024390,000408:
024391,000409: 07,2441 40220 TRANSANG STQ SETPD
024392,000410: 07,2442 02370 SUBEXIT
024393,000411: 07,2443 00001 0
024394,000412: 07,2444 73150 LXA,1 LXA,2
024395,000413: 07,2445 03745 XRS
024396,000414: 07,2446 03746 XRS +1
024397,000415: 07,2447 53775 VLOAD VSR*
024398,000416: 07,2450 03640 VPASS4
024399,000417: 07,2451 57176 0,2
024400,000418: 07,2452 22746 STODL* VVEC
024401,000419: 07,2453 11737 MUTABLE +2,1
024402,000420: 07,2454 53715 PDVL VSR* # SQRT MU (+18 OR +15) 00D
024403,000421: 07,2455 03632 RPASS4
024404,000422: 07,2456 57176 0,2
024405,000423: 07,2457 64646 ABVAL PDDL* # MAGNITUDE OF R (+29 OR +27) 02D
024406,000424: 07,2460 11735 MUTABLE,1
024407,000425: 07,2461 47515 PDVL VSQ # 1/MU (+34 OR +28) 04D
024408,000426: 07,2462 02746 VVEC
024409,000427: 07,2463 57301 NORM DMPR # PUSH LIST AT 02D
024410,000428: 07,2464 00047 X1
Page 559 |
024412,000430: 07,2465 53605 DMP SRR*
024413,000431: 07,2466 00003 02D
024414,000432: 07,2467 21576 0 -3,1
024415,000433: 07,2470 77621 BDSU # R V**/MU (+6)
024416,000434: 07,2471 11613 D1/32
024417,000435: 07,2472 65301 NORM PDDL
024418,000436: 07,2473 00047 X1 # (2 - R V**/MU) (+6-N)
024419,000437: 07,2474 56362 SR1R DDV # MAGNITUDE OF R (+30 OR +28)
024420,000438: 07,2475 41457 SL* PUSH # R/(2 - R V**/MU) (+29 OR +27) 02D
024421,000439: 07,2476 20174 0 -5,1
024422,000440: 07,2477 75542 SR1 SQRT
024423,000441: 07,2500 77605 DMP
024424,000442: 07,2501 65301 NORM PDDL # ASUBP*** 00D
024425,000443: 07,2502 00047 X1
024426,000444: 07,2503 56342 SR1 DDV
024427,000445: 07,2504 53605 DMP SL*
024428,000446: 07,2505 03752 TF
024429,000447: 07,2506 20201 0,1
024430,000448: 07,2507 60325 PDDL NORM
024431,000449: 07,2510 11625 2PISC
024432,000450: 07,2511 00047 X1
024433,000451: 07,2512 56325 PDDL DDV
024434,000452: 07,2513 77657 SL*
024435,000453: 07,2514 20176 0 -3,1 # CENTANG = (SQRT(MU/ASUP***)TF)
024436,000454: 07,2515 37754 STCALL CENTANG # IN REVOLUTIONS B-0
024437,000455: 07,2516 02370 SUBEXIT
024438,000456: 35,3155 BANK 35
024439,000457: 35,2000 SETLOC P17S1
024440,000458: 35,2000 BANK
024441,000459: 35,3155 COUNT 35/P17
024442,000460:
024443,000461: # TPI SEARCH DISPLAY ROUTINE
024444,000462:
024445,000463: 35,3155 04627 P17 TC AVFLAGA # AVFLAG = CSM, SET TRACK + UPDATE FLAGS
024446,000464: 35,3156 03160 TC P17.1
024447,000465: 35,3157 04642 P77 TC AVFLAGP # AVFLAG = LEM, SET TRACK + UPDATE FLAGS
024448,000466: 35,3160 04647 P17.1 TC P20FLGON # SET UPDATE FLAG
024449,000467: 35,3161 34614 CAF V06N37 # DISPLAY TTPI TIME
024450,000468: 35,3162 04575 TC VNPOOH
024451,000469: 35,3163 06006 TC INTPRET
024452,000470: 35,3164 45014 CLEAR CALL
024453,000471: 35,3165 00670 UPDATFLG
024454,000472: 35,3166 74000 S17.1 # UPDATE STATE VECTORS TO TTPI
024455,000473: 35,3167 76014 SET AXT,1
024456,000474: 35,3170 00470 UPDATFLG
024457,000475: 35,3171 00002 DEC 2 B-14 # DELTA H = 2 K POSITIVE, KFLAG OFF
024458,000476: 35,3172 76014 BOFF AXT,1
024459,000477: 35,3173 00356 KFLAG
024460,000478: 35,3174 73176 +2
024461,000479: 35,3175 00001 DEC 1 B-14 # DELTA H = 1 K NEGATIVE, KFLAG ON
Page 560 |
024463,000481: 35,3176 77530 SXA,1 EXIT
024464,000482: 35,3177 01132 OPTION2
024465,000483: 35,3200 33267 CAF V06N72 # DISPLAY PHI, DELTA H, SEARCH OPTION K
024466,000484: 35,3201 03243 TC VNCOMP17
024467,000485: 35,3202 06006 TC INTPRET
024468,000486: 35,3203 43014 CLEAR SET
024469,000487: 35,3204 00670 UPDATFLG
024470,000488: 35,3205 00076 KFLAG
024471,000489: 35,3206 45335 SLOAD DSU
024472,000490: 35,3207 01133 OPTION2 # RESET KFLAG ON FOR OPTION =1
024473,000491: 35,3210 36147 P21ONENN # OFF FOR OPTION =2
024474,000492: 35,3211 43030 BHIZ CLEAR
024475,000493: 35,3212 73214 +2
024476,000494: 35,3213 00276 KFLAG
024477,000495: 35,3214 46135 SLOAD BHIZ
024478,000496: 35,3215 03747 XRS +1
024479,000497: 35,3216 73222 +4
024480,000498: 35,3217 52145 DLOAD GOTO
024481,000499: 35,3220 33132 HPL
024482,000500: 35,3221 73224 P17.2
024483,000501: 35,3222 77745 DLOAD
024484,000502: 35,3223 33130 HPE
024485,000503: 35,3224 36321 P17.2 STCALL HPERMIN
024486,000504: 35,3225 74056 S17.2
024487,000505: 35,3226 77414 SET EXIT
024488,000506: 35,3227 00470 UPDATFLG
024489,000507: 35,3230 34616 P17.3 CAF V06N58 # DISPLAY DELTA VTPI, DELTA VTPF, AND H
024490,000508: 35,3231 03243 TC VNCOMP17
024491,000509: 35,3232 34615 CAF V06N55 # DISPLAY PERICENTER CODE AND CENTRAL ANG,
024492,000510: 35,3233 04662 TC BANKCALL
024493,000511: 35,3234 21057 CADR GOFLASHR
024494,000512: 35,3235 04106 TC GOTOPOOH # TERMINATE PROGRAM
024495,000513: 35,3236 04106 TC GOTOPOOH # END PROGRAM
024496,000514: 35,3237 03160 TC P17.1 # RECYCLE WITH NEW TTPI OR SEARCH OPTION
024497,000515: 35,3240 35016 CAF TWO # BLANK R2
024498,000516: 35,3241 05526 TC BLANKET
024499,000517: 35,3242 15217 TCF ENDOFJOB
024500,000518: 35,3243 E4,1767 EBANK= RTRN
024501,000519:
024502,000520: 35,3243 00006 VNCOMP17 EXTEND
024503,000521: 35,3244 23766 QXCH QSAVED
024504,000522: 35,3245 55765 TS VERBNOUN
024505,000523: 35,3246 31765 CA VERBNOUN
024506,000524: 35,3247 04662 TCR BANKCALL
024507,000525: 35,3250 20720 CADR GOFLASH
024508,000526: 35,3251 03246 TC -3 # TERMINATE ILLEGAL REDISPLAY
024509,000527: 35,3252 01766 TC QSAVED # PROCEED
024510,000528: 35,3253 40154 CS MPAC # RECYCLE WITH NEW TPI TIME
024511,000529: 35,3254 65012 AD BIT6 # OR PROCEED WITH NEW SEARCH OPTION
024512,000530: 35,3255 00006 EXTEND
Page 561 |
024514,000532: 35,3256 13160 BZF P17.1
024515,000533: 35,3257 03246 TC VNCOMP17 +3
024516,000534: 35,3260 77414 ALARUMS SET EXIT
024517,000535: 35,3261 00470 UPDATFLG
024518,000536: 35,3262 05650 TC ALARM
024519,000537: 35,3263 00124 OCT 00124 # NO SAFE PERCENTER IN THIS SECTOR
024520,000538: 35,3264 35050 CAF V05N09
024521,000539: 35,3265 03243 TC VNCOMP17
024522,000540: 35,3266 04106 TC GOTOPOOH # PROCEED ILLEGAL TERMINATE PROGRAM
024523,000541: 35,3267 01510 V06N72 VN 0672
024524,000542:
End of include-file TPI_SEARCH.agc. Parent file is MAIN.agc