Source Code
These source-code files are part of a reconstructed copy of Comanche 51, the
initial release (though not the final mission release) of the Apollo 11
Command Module (CM) Apollo Guidance Computer (AGC) software. The flown, final
release was Comanche 55. The reconstruction is believed to be exactly accurate,
but in the absence of an actual Apollo-era listing of Comanche 51, some
explanation of the reconstruction process is needed to insure confidence in
that accuracy.
The starting point was the source code of Comanche 55, whose original source code is available. Comanche 55 source code was then modified by undoing changes known to have been made between revisions 51 and 55. The most-significant steps involved reverting changes related to the R-2 lunar potential model, the details of which were known from the previous, separate, independent reconstruction of the Apollo 10 Lunar Module software Luminary 69/2. The now-reconstructed Comanche 51 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 or Luminary 69 printouts, although the source code would likely have different page numbers in a contemporary Comanche 51 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 55. Here's a guide to some of the Apollo documentation relevant to 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. |
023723,000002: ## Copyright: Public domain.
023724,000003: ## Filename: TPI_SEARCH.agc
023725,000004: ## Purpose: A section of Comanche revision 051.
023726,000005: ## It is part of the reconstructed source code for the
023727,000006: ## original release of the flight software for the Command
023728,000007: ## Module's (CM) Apollo Guidance Computer (AGC) for Apollo 11.
023729,000008: ## The code has been recreated from a copy of Comanche 055. It
023730,000009: ## has been adapted such that the resulting bugger words
023731,000010: ## exactly match those specified for Comanche 51 in NASA drawing
023732,000011: ## 2021153D, which gives relatively high confidence that the
023733,000012: ## reconstruction is correct.
023734,000013: ## Reference: pp. 551-561
023735,000014: ## Assembler: yaYUL
023736,000015: ## Contact: Ron Burkey <info@sandroid.org>.
023737,000016: ## Website: www.ibiblio.org/apollo/index.html
023738,000017: ## Mod history: 2019-07-30 MAS Created from Comanche 55.
023739,000018:
Page 551 |
023741,000020: # PROGRAM DESCRIPTION S17.1 AND S17.2
023742,000021:
023743,000022: # FUNCTIONAL DESCRIPTION
023744,000023:
023745,000024: # THE TPI SEARCH ROUTINE DETERMINES THE MINIMUM TOTAL VELOCITY TRANSFER TRAJECTORY FROM A GIVEN TPI
023746,000025: # MANEUVER TIME WITHIN THE CONSTRAINT OF A SAFE PERICENTER. THIS VELOCITY IS THE SUM OF THE IMPULSIVE VELOCITIES
023747,000026: # FOR THE TPI AND TPF MANEUVERS.
023748,000027:
023749,000028: # THE S17.1 ROUTINE EXTRAPOLATES THE STATE VECTORS OF BOTH VEHICLES TO THE TPI TIME AND COMPUTES THE
023750,000029: # RELATIVE PHASE ANGLE BETWEEN THE VEHICLES, THE ALTITUDE DIFFERENCE (I.E. THE MAGNITUDE DIFFERENCE OF THE
023751,000030: # POSITION VECTORS) AND SELECTS A SEARCH SECTOR BASED ON THE SIGN OF THE ALTITUDE DIFFERENCE.
023752,000031:
023753,000032: # THE S17.2 ROUTINE FURTHER DEFINES THE SEARCH SECTOR BY COMPUTING ANGULAR LIMITS AND USES THE TIME THETA
023754,000033: # SUBROUTINE TO COMPUTE THE SEARCH START AND END TIMES. THE SEARCH IS THEN MADE IN AN ITERATIVE LOOP USING THE
023755,000034: # LAMBERT SUBROUTINE TO COMPUTE THE VELOCITIES REQUIRED AT TPI TIME AND AT TPF TIME. EXIT FROM THE SEARCH LOOP
023756,000035: # IS MADE WHEN SOLUTION CRITERIA ARE MET (NORMAL EXIT) OR AS SOON AS IT IS EVIDENT THAT NO SOLUTION EXISTS IN
023757,000036: # THE SECTOR SEARCHED.
023758,000037:
023759,000038: # CALLING SEQUENCE
023760,000039:
023761,000040: # BOTH ROUTINES ARE CALLED IN INTERPRETIVE CODE AND RETURN VIA QPRET. S17.1 HAS ONLY A NORMAL EXIT.
023762,000041: # S17.2 RETURNS VIA QPRET FOR NORMAL EXIT AND TO ALARUMS FOR ERROR EXIT.
023763,000042:
023764,000043: # SUBROUTINES CALLED
023765,000044:
023766,000045: # CSMCONIC
023767,000046: # LEMCONIC
023768,000047: # TIMETHET
023769,000048: # INITVEL
023770,000049:
023771,000050: 36,2012 BANK 36
023772,000051: 35,2000 SETLOC P17S1
023773,000052: 35,2000 BANK
023774,000053:
023775,000054: 35,3123 COUNT 36/TPI
023776,000055:
023777,000056: 35,3123 E7,1537 EBANK= RACT3
023778,000057:
023779,000058: # **** TEMPORARY ****
023780,000059:
023781,000060: 35,3123 00004 31566 HPE 2DEC 157420.0 B-29 # EARTH'S MIN. PERICENTER ALTITUDE 85 N.M.
023782,000061:
023783,000062: 35,3125 00000 12326 HPL 2DEC 10668.0213 B-29 # MOON:S MIN. PERICENTER ALTITUDE 35000 FT
023784,000063:
023785,000064: 35,3127 00002 16100 CDSEC 2DEC 40000 B-28
023786,000065:
023787,000066: 35,3131 00000 35230 CLSEC 2DEC 15000 B-28
023788,000067:
023789,000068: 35,3133 12137 06033 PIINVERS 2DEC .3183098862
023790,000069:
023791,000070: 35,3135 06161 30707 SEC1THET 2DEC .1944444444
023792,000071:
Page 552 |
023794,000073: 35,3137 35252 25253 SEC2THET 2DEC .9166666667
023795,000074:
023796,000075: 35,3141 67777 77777 MANYFEET 2DEC -1.0 B-2
023797,000076:
023798,000077: 35,3143 00000 30760 LIMVEL 2DEC .6096 E-2 B-7 # 2FPS
023799,000078:
023800,000079: 35,3145 00000 00114 DFTMOON 2DEC .1524 E3 B-29 # 500 FEET
023801,000080:
023802,000081: 35,3147 00040 30447 DP-.002 2DEC 0.002
023803,000082:
023804,000083: 36,2000 SETLOC P17S
023805,000084: 36,2000 BANK
023806,000085: 36,2012 71220 S17.1 STQ DLOAD
023807,000086: 36,2013 01340 NORMEX
023808,000087: 36,2014 03663 TTPI
023809,000088: 36,2015 34041 STCALL TDEC1 # ADVANCE PASSIVE VEHICLE TO TPI
023810,000089: 36,2016 27126 LEMCONIC
023811,000090: 36,2017 77624 CALL
023812,000091: 36,2020 45233 LEMSTORE
023813,000092: 36,2021 77745 DLOAD
023814,000093: 36,2022 03663 TTPI
023815,000094: 36,2023 34041 STCALL TDEC1 # ADVANCE ACTIVE VEHICLE TO TPI
023816,000095: 36,2024 27114 CSMCONIC
023817,000096: 36,2025 77624 CALL
023818,000097: 36,2026 45243 CSMSTORE
023819,000098: 36,2027 77775 VLOAD
023820,000099: 36,2030 03540 RACT3
023821,000100: 36,2031 63246 ABVAL PDVL # /RA/ 0D PL 2D
023822,000101: 36,2032 03554 RPASS3
023823,000102: 36,2033 65256 UNIT PDDL # UNIT RP 0D PL 6D
023824,000103: 36,2034 43021 BDSU SET
023825,000104: 36,2035 00045 36D # /RP/ -/RA/
023826,000105: 36,2036 00076 KFLAG # OFF = +
023827,000106: 36,2037 43040 BMN CLEAR
023828,000107: 36,2040 74042 +2
023829,000108: 36,2041 00276 KFLAG # ON = -
023830,000109: 36,2042 27754 STOVL DELHITE
023831,000110: 36,2043 00001 0D
023832,000111: 36,2044 53435 VXV UNIT
023833,000112: 36,2045 03562 VPASS3
023834,000113: 36,2046 27646 STOVL E2 # ALMOST IT SAVE FOR 17.2
023835,000114: 36,2047 03540 RACT3
023836,000115: 36,2050 46206 PUSH VPROJ
023837,000116: 36,2051 03646 E2
023838,000117: 36,2052 51352 VSL2 BVSU # RPA
023839,000118: 36,2053 50256 UNIT DOT
023840,000119: 36,2054 00001 0D
023841,000120: 36,2055 65552 SL1 ACOS
023842,000121: 36,2056 77715 PDVL
023843,000122: 36,2057 50235 VXV DOT
Page 553 |
023845,000124: 36,2060 03540 RACT3
023846,000125: 36,2061 03646 E2
023847,000126: 36,2062 75325 PDDL SIGN
023848,000127: 36,2063 77626 STADR
023849,000128: 36,2064 61160 STODL THETZERO # CENTRAL ANGLE
023850,000129: 36,2065 00047 X1
023851,000130: 36,2066 37746 STCALL XRS # SAVE INDICES FOR FURTHER USE
023852,000131: 36,2067 01340 NORMEX # += ACTIVE AHEAD -= ACTIVE BEHIND
023853,000132: 36,2070 77220 S17.2 STQ VLOAD # COMPUTE SEARCH SECTOR LIMITS
023854,000133: 36,2071 03657 QTEMP
023855,000134: 36,2072 03540 RACT3
023856,000135: 36,2073 50256 UNIT DOT
023857,000136: 36,2074 03646 E2
023858,000137: 36,2075 75446 ABS SQRT
023859,000138: 36,2076 43352 SL1 DAD
023860,000139: 36,2077 33150 DP-.002 # ADD .002 RADIANS TO IT
023861,000140: 36,2100 57414 BON DCOMP # GIVES CORRECT SINE, COSINE MUST BE
023862,000141: 36,2101 00316 KFLAG # COMP. ADD .5 FOR ANGLE
023863,000142: 36,2102 74103 +1
023864,000143: # PHI(0)=180-(-(THETAZERO +K5IT)), PHI(I)=180-(-(THETAZERO+K2IT))
023865,000144: # SIN(180-ALPHA)=SIN(ALPHA) ETC
023866,000145: 36,2103 40205 DMP SETPD
023867,000146: 36,2104 33134 PIINVERS # REVOLUTIONARY HERES TWO IT
023868,000147: 36,2105 00001 0D
023869,000148: 36,2106 45206 PUSH DSU
023870,000149: 36,2107 02617 THETZERO
023871,000150: 36,2110 02611 STORE IT # PHI(I) , -(THETZERO + K2IT)
023872,000151: 36,2111 41525 PDDL PUSH
023873,000152: 36,2112 43342 SR1 DAD
023874,000153: 36,2113 41415 DAD PUSH # PHI(0) , -(THETZERO + K5IT)
023875,000154: 36,2114 43156 SIN SET
023876,000155: 36,2115 03466 RVSW
023877,000156: 36,2116 16732 STODL SNTH
023878,000157: 36,2117 50146 COS BMN
023879,000158: 36,2120 74122 +2
023880,000159: 36,2121 77676 DCOMP
023881,000160: 36,2122 16734 STODL CSTH
023882,000161: 36,2123 03746 XRS
023883,000162: 36,2124 24047 STOVL X1
023884,000163: 36,2125 03554 RPASS3
023885,000164: 36,2126 77657 VSR*
023886,000165: 36,2127 57176 0,2
023887,000166: 36,2130 26657 STOVL RVEC
023888,000167: 36,2131 03562 VPASS3
023889,000168: 36,2132 77657 VSR*
023890,000169: 36,2133 57176 0,2
023891,000170: 36,2134 36746 STCALL VVEC
023892,000171: 36,2135 24744 TIMETHET
023893,000172: 36,2136 77745 DLOAD # SAVE START TIME AND GET END TIME
023894,000173: 36,2137 00037 T
Page 554 |
023896,000175: 36,2140 03752 STORE TF
023897,000176: 36,2141 16627 STODL TFO
023898,000177: 36,2142 02611 IT
023899,000178: 36,2143 73406 PUSH SIN
023900,000179: 36,2144 16732 STODL SNTH
023901,000180: 36,2145 50146 COS BMN
023902,000181: 36,2146 74150 +2
023903,000182: 36,2147 77676 DCOMP
023904,000183: 36,2150 02734 STORE CSTH
023905,000184: 36,2151 45150 LXA,1 CALL
023906,000185: 36,2152 03745 XRS
023907,000186: 36,2153 24744 TIMETHET
023908,000187: # INITIALIZE LOOP
023909,000188: 36,2154 43145 DLOAD CLEAR
023910,000189: 36,2155 00037 T
023911,000190: 36,2156 03661 ITSWICH
023912,000191: 36,2157 16621 STODL TFI # SAVE TIME FOR LOOP TEST
023913,000192: 36,2160 15343 DPPOSMAX
023914,000193: 36,2161 16623 STODL DELVEE
023915,000194: 36,2162 33142 MANYFEET
023916,000195: 36,2163 16625 STODL HP
023917,000196: 36,2164 33136 SEC1THET # 70 DEGREES
023918,000197: 36,2165 71214 BON DLOAD
023919,000198: 36,2166 00316 KFLAG
023920,000199: 36,2167 74171 +2
023921,000200: 36,2170 33140 SEC2THET # 330 DEGREES
023922,000201: 36,2171 37750 STCALL THETL
023923,000202: 36,2172 74214 CONCAUL
023924,000203: 36,2173 70545 BIS DLOAD SR1
023925,000204: 36,2174 02734 CSTH
023926,000205: 36,2175 14021 STODL COSTH
023927,000206: 36,2176 02732 SNTH
023928,000207: 36,2177 77742 SR1
023929,000208: 36,2200 34023 STCALL SINTH # GET 4 QUADRANT THETA
023930,000209: 36,2201 47256 ARCTRIG
023931,000210: 36,2202 43244 BPL DAD
023932,000211: 36,2203 74205 +2
023933,000212: 36,2204 15343 DPPOSMAX # PUT THETA BETWEEN 0,1
023934,000213: 36,2205 65221 BDSU PDDL
023935,000214: 36,2206 03750 THETL
023936,000215: 36,2207 03752 TF
023937,000216: 36,2210 75225 DSU SIGN # FAST TIMES
023938,000217: 36,2211 02621 TFI
023939,000218: 36,2212 77640 BMN
023940,000219: 36,2213 74416 RNGETEST # TIME MUST HAVE A STOP
023941,000220: # ADVANCE PASSIVE FOR TARGET VECTOR
023942,000221: 36,2214 77745 CONCAUL DLOAD
023943,000222: 36,2215 03663 TTPI
023944,000223: 36,2216 43015 DAD BON
023945,000224: 36,2217 03752 TF
Page 555 |
023947,000226: 36,2220 01312 AVFLAG
023948,000227: 36,2221 74226 ADVCSM
023949,000228: 36,2222 34041 STCALL TDEC1
023950,000229: 36,2223 27126 LEMCONIC
023951,000230: 36,2224 77650 GOTO
023952,000231: 36,2225 74230 JUNCT3
023953,000232: 36,2226 34041 ADVCSM STCALL TDEC1
023954,000233: 36,2227 27114 CSMCONIC
023955,000234: # SAVE BACK VALUES OF HP AND DELVEE
023956,000235: 36,2230 77775 JUNCT3 VLOAD
023957,000236: 36,2231 00007 VATT
023958,000237: 36,2232 27640 STOVL VPASS4
023959,000238: 36,2233 00001 RATT
023960,000239: 36,2234 03632 STORE RPASS4
023961,000240: 36,2235 17415 STODL RTARG
023962,000241: 36,2236 03752 TF
023963,000242: 36,2237 17423 STODL DELLT4
023964,000243: 36,2240 02625 HP
023965,000244: 36,2241 16631 STODL HPO
023966,000245: 36,2242 02623 DELVEE
023967,000246: 36,2243 16633 STODL DELVEO
023968,000247: # PREPARE FOR LAMBERT
023969,000248: 36,2244 03663 TTPI
023970,000249: 36,2245 17503 STODL INTIME
023971,000250: 36,2246 03746 XRS
023972,000251: 36,2247 17746 STODL RTX1
023973,000252: 36,2250 15335 HI6ZEROS
023974,000253: 36,2251 65201 SETPD PDDL
023975,000254: 36,2252 00001 0D
023976,000255: 36,2253 33122 EPSFOUR
023977,000256: 36,2254 77715 PDVL
023978,000257: 36,2255 03540 RACT3
023979,000258: 36,2256 27570 STOVL RINIT
023980,000259: 36,2257 03546 VACT3
023981,000260: 36,2260 37576 STCALL VINIT
023982,000261: 36,2261 22000 INITVEL
023983,000262: # COMPUTE H ET CETERA
023984,000263: 36,2262 52375 VLOAD VSU
023985,000264: 36,2263 03620 VTPRIME
023986,000265: 36,2264 03640 VPASS4
023987,000266: 36,2265 41446 ABVAL PUSH
023988,000267: 36,2266 26637 STOVL RELDELV # /V2-VP(TPI+TF)/
023989,000268: 36,2267 03646 DELVEET3 # V1-VA
023990,000269: 36,2270 77646 ABVAL # /V1-VA/
023991,000270: 36,2271 02635 STORE MAGVTPI
023992,000271: 36,2272 45415 DAD STADR
023993,000272: 36,2273 61154 STODL DELVEE
023994,000273: 36,2274 03746 XRS
023995,000274: 36,2275 24047 STOVL X1
023996,000275: 36,2276 03612 VIPRIME
Page 556 |
023998,000277: 36,2277 77657 VSR*
023999,000278: 36,2300 57176 0,2
024000,000279: 36,2301 26746 STOVL VVEC
024001,000280: 36,2302 03540 RACT3
024002,000281: 36,2303 77657 VSR*
024003,000282: 36,2304 57176 0,2
024004,000283: 36,2305 36657 STCALL RVEC
024005,000284: 36,2306 45163 PERIAPO
024006,000285: 36,2307 71354 LXA,2 DLOAD
024007,000286: 36,2310 03746 XRS +1
024008,000287: 36,2311 77657 SL*
024009,000288: 36,2312 57576 0,2
024010,000289: 36,2313 02625 STORE HP
024011,000290: # ITSWICH DENOTES INTERPOLATION -- SOLUTION ACCEPTANCE IS FORCED
024012,000291: 36,2314 71214 BON DLOAD
024013,000292: 36,2315 03701 ITSWICH
024014,000293: 36,2316 74427 ENDEN
024015,000294: 36,2317 02321 HPERMIN
024016,000295: 36,2320 50025 DSU BMN
024017,000296: 36,2321 02625 HP
024018,000297: 36,2322 74365 HALFSAFE
024019,000298: 36,2323 45325 PDDL DSU # WAS PERICENTER ALT SAFE
024020,000299: 36,2324 02321 HPERMIN
024021,000300: 36,2325 02631 HPO
024022,000301: 36,2326 45240 BMN DSU # (HPLIM-HPO)-(HPLIM-HP)=HP-HPO
024023,000302: 36,2327 74344 INTERP # SOLUTION AT HAND
024024,000303: 36,2330 71240 BMN DLOAD
024025,000304: 36,2331 73254 ALARUMS # ITS GETTING WORSE - SOUND THE ALARM
024026,000305: 36,2332 33130 CDSEC
024027,000306: 36,2333 57414 JUNCT1 BOFF DCOMP # OFF IS PLUS ON IS MINUS
024028,000307: 36,2334 00356 KFLAG
024029,000308: 36,2335 74336 +1
024030,000309: 36,2336 03744 STORE DELTEE
024031,000310: 36,2337 43345 JUNCT2 DLOAD DAD
024032,000311: 36,2340 03744 DELTEE
024033,000312: 36,2341 03752 TF
024034,000313: 36,2342 37752 STCALL TF
024035,000314: 36,2343 74173 BIS # RECYCLE
024036,000315: 36,2344 45214 INTERP SET DSU # HP-HPO
024037,000316: 36,2345 03461 ITSWICH
024038,000317: 36,2346 65301 NORM PDDL
024039,000318: 36,2347 00047 X1
024040,000319: 36,2350 33146 DFTMOON
024041,000320: 36,2351 45215 DAD DSU
024042,000321: 36,2352 02321 HPERMIN
024043,000322: 36,2353 02625 HP
024044,000323: 36,2354 70501 NORM SR1
024045,000324: 36,2355 00050 X2
024046,000325: 36,2356 56264 XSU,2 DDV
024047,000326: 36,2357 00046 X1
Page 557 |
024049,000328: 36,2360 53605 DMP SR*
024050,000329: 36,2361 03744 DELTEE
024051,000330: 36,2362 57177 0 -1,2
024052,000331: 36,2363 37744 STCALL DELTEE
024053,000332: 36,2364 74337 JUNCT2
024054,000333: 36,2365 45325 HALFSAFE PDDL DSU # SAVE HP-HPLIM FOR POSSIBLE
024055,000334: 36,2366 02623 DELVEE
024056,000335: 36,2367 02633 DELVEO # SAVE THIS TOO
024057,000336: 36,2370 51406 PUSH ABS
024058,000337: 36,2371 50025 DSU BMN
024059,000338: 36,2372 33144 LIMVEL # 2 FT PS
024060,000339: 36,2373 74427 ENDEN
024061,000340: 36,2374 45345 DLOAD DSU
024062,000341: 36,2375 02321 HPERMIN
024063,000342: 36,2376 02631 HPO
024064,000343: 36,2377 77725 PDDL
024065,000344: 36,2400 71240 BMN DLOAD
024066,000345: 36,2401 74410 LRGRDVO
024067,000346: 36,2402 71244 BPL DLOAD
024068,000347: 36,2403 74344 INTERP
024069,000348: 36,2404 03744 DELTEE
024070,000349: 36,2405 57542 SR1 DCOMP
024071,000350: 36,2406 37744 STCALL DELTEE
024072,000351: 36,2407 74337 JUNCT2
024073,000352: 36,2410 77745 LRGRDVO DLOAD
024074,000353: 36,2411 71240 BMN DLOAD
024075,000354: 36,2412 74337 JUNCT2
024076,000355: 36,2413 33132 CLSEC
024077,000356: 36,2414 77650 GOTO
024078,000357: 36,2415 74333 JUNCT1
024079,000358: # TIME RAN OUT ASSUME SOLUTION IF SAFE PERICENTER
024080,000359: 36,2416 45345 RNGETEST DLOAD DSU
024081,000360: 36,2417 02625 HP
024082,000361: 36,2420 02321 HPERMIN
024083,000362: 36,2421 71240 BMN DLOAD
024084,000363: 36,2422 73254 ALARUMS
024085,000364: 36,2423 03752 TF
024086,000365: 36,2424 77625 DSU
024087,000366: 36,2425 03744 DELTEE
024088,000367: 36,2426 03752 STORE TF # TIME OF SOLUTION
024089,000368: 36,2427 77775 ENDEN VLOAD
024090,000369: 36,2430 03620 VTPRIME
024091,000370: 36,2431 65241 DOT PDDL # SG2 WITH MAGNITUDE
024092,000371: 36,2432 03632 RPASS4
024093,000372: 36,2433 02637 RELDELV
024094,000373: 36,2434 45565 SIGN STADR # NOW SIGN(RELDELV)=SIGN(SG2)
024095,000374: 36,2435 41140 STCALL RELDELV
024096,000375: 36,2436 16441 TRANSANG # COMPUTE OMEGA T, CENTRAL ANGLE
024097,000376: 36,2437 50375 VLOAD DOT
024098,000377: 36,2440 03540 RACT3
Page 558 |
024100,000379: 36,2441 03612 VIPRIME # SG1
024101,000380: 36,2442 51165 SIGN BPL # IF POSITIVE THEN SG1 = SG2 OTHERWISE
024102,000381: 36,2443 02637 RELDELV
024103,000382: 36,2444 74454 USEKAY # SIGN(SG2-SG1)=SIGN(SG2)=SIGN(RELDELV)
024104,000383: 36,2445 57535 SLOAD DCOMP
024105,000384: 36,2446 33117 DECTWO
024106,000385: 36,2447 51165 SIGN BPL
024107,000386: 36,2450 02637 RELDELV
024108,000387: 36,2451 74462 NEXUS
024109,000388: 36,2452 52076 DCOMP GOTO
024110,000389: 36,2453 74460 USEKAY +4
024111,000390: 36,2454 43135 USEKAY SLOAD BON
024112,000391: 36,2455 33117 DECTWO
024113,000392: 36,2456 00316 KFLAG
024114,000393: 36,2457 74462 NEXUS
024115,000394: 36,2460 77625 DSU
024116,000395: 36,2461 36150 P21ONENN
024117,000396: 36,2462 17766 NEXUS STODL NN1
024118,000397: 36,2463 02625 HP
024119,000398: 36,2464 36641 STCALL POSTTPI
024120,000399: 36,2465 03657 QTEMP
024121,000400: 07,2441 BANK 07
024122,000401: 07,2000 SETLOC XANG
024123,000402: 07,2000 BANK
024124,000403: 07,2441 COUNT 07/XANG
024125,000404:
024126,000405: # CENTRAL ANGLE SUBROUTINE
024127,000406:
024128,000407: # THIS SUBROUTINE COMPUTES THE CENTRAL ANGLE OF TRAVEL OF THE
024129,000408: # PASSIVE VEHICLE DURING THE TRANSFER.
024130,000409:
024131,000410: 07,2441 40220 TRANSANG STQ SETPD
024132,000411: 07,2442 02370 SUBEXIT
024133,000412: 07,2443 00001 0
024134,000413: 07,2444 73150 LXA,1 LXA,2
024135,000414: 07,2445 03745 XRS
024136,000415: 07,2446 03746 XRS +1
024137,000416: 07,2447 53775 VLOAD VSR*
024138,000417: 07,2450 03640 VPASS4
024139,000418: 07,2451 57176 0,2
024140,000419: 07,2452 22746 STODL* VVEC
024141,000420: 07,2453 11742 MUTABLE +2,1
024142,000421: 07,2454 53715 PDVL VSR* # SQRT MU (+18 OR +15) 00D
024143,000422: 07,2455 03632 RPASS4
024144,000423: 07,2456 57176 0,2
024145,000424: 07,2457 64646 ABVAL PDDL* # MAGNITUDE OF R (+29 OR +27) 02D
024146,000425: 07,2460 11740 MUTABLE,1
024147,000426: 07,2461 47515 PDVL VSQ # 1/MU (+34 OR +28) 04D
024148,000427: 07,2462 02746 VVEC
024149,000428: 07,2463 57301 NORM DMPR # PUSH LIST AT 02D
024150,000429: 07,2464 00047 X1
Page 559 |
024152,000431: 07,2465 53605 DMP SRR*
024153,000432: 07,2466 00003 02D
024154,000433: 07,2467 21576 0 -3,1
024155,000434: 07,2470 77621 BDSU # R V**/MU (+6)
024156,000435: 07,2471 11616 D1/32
024157,000436: 07,2472 65301 NORM PDDL
024158,000437: 07,2473 00047 X1 # (2 - R V**/MU) (+6-N)
024159,000438: 07,2474 56362 SR1R DDV # MAGNITUDE OF R (+30 OR +28)
024160,000439: 07,2475 41457 SL* PUSH # R/(2 - R V**/MU) (+29 OR +27) 02D
024161,000440: 07,2476 20174 0 -5,1
024162,000441: 07,2477 75542 SR1 SQRT
024163,000442: 07,2500 77605 DMP
024164,000443: 07,2501 65301 NORM PDDL # ASUBP*** 00D
024165,000444: 07,2502 00047 X1
024166,000445: 07,2503 56342 SR1 DDV
024167,000446: 07,2504 53605 DMP SL*
024168,000447: 07,2505 03752 TF
024169,000448: 07,2506 20201 0,1
024170,000449: 07,2507 60325 PDDL NORM
024171,000450: 07,2510 11630 2PISC
024172,000451: 07,2511 00047 X1
024173,000452: 07,2512 56325 PDDL DDV
024174,000453: 07,2513 77657 SL*
024175,000454: 07,2514 20176 0 -3,1 # CENTANG = (SQRT(MU/ASUP***)TF)
024176,000455: 07,2515 37754 STCALL CENTANG # IN REVOLUTIONS B-0
024177,000456: 07,2516 02370 SUBEXIT
024178,000457: 35,3151 BANK 35
024179,000458: 35,2000 SETLOC P17S1
024180,000459: 35,2000 BANK
024181,000460: 35,3151 COUNT 35/P17
024182,000461:
024183,000462: # TPI SEARCH DISPLAY ROUTINE
024184,000463:
024185,000464: 35,3151 04627 P17 TC AVFLAGA # AVFLAG = CSM, SET TRACK + UPDATE FLAGS
024186,000465: 35,3152 03154 TC P17.1
024187,000466: 35,3153 04642 P77 TC AVFLAGP # AVFLAG = LEM, SET TRACK + UPDATE FLAGS
024188,000467: 35,3154 04647 P17.1 TC P20FLGON # SET UPDATE FLAG
024189,000468: 35,3155 34614 CAF V06N37 # DISPLAY TTPI TIME
024190,000469: 35,3156 04575 TC VNPOOH
024191,000470: 35,3157 06006 TC INTPRET
024192,000471: 35,3160 45014 CLEAR CALL
024193,000472: 35,3161 00670 UPDATFLG
024194,000473: 35,3162 74012 S17.1 # UPDATE STATE VECTORS TO TTPI
024195,000474: 35,3163 76014 SET AXT,1
024196,000475: 35,3164 00470 UPDATFLG
024197,000476: 35,3165 00002 DEC 2 B-14 # DELTA H = 2 K POSITIVE, KFLAG OFF
024198,000477: 35,3166 76014 BOFF AXT,1
024199,000478: 35,3167 00356 KFLAG
024200,000479: 35,3170 73172 +2
024201,000480: 35,3171 00001 DEC 1 B-14 # DELTA H = 1 K NEGATIVE, KFLAG ON
Page 560 |
024203,000482: 35,3172 77530 SXA,1 EXIT
024204,000483: 35,3173 01132 OPTION2
024205,000484: 35,3174 33263 CAF V06N72 # DISPLAY PHI, DELTA H, SEARCH OPTION K
024206,000485: 35,3175 03237 TC VNCOMP17
024207,000486: 35,3176 06006 TC INTPRET
024208,000487: 35,3177 43014 CLEAR SET
024209,000488: 35,3200 00670 UPDATFLG
024210,000489: 35,3201 00076 KFLAG
024211,000490: 35,3202 45335 SLOAD DSU
024212,000491: 35,3203 01133 OPTION2 # RESET KFLAG ON FOR OPTION =1
024213,000492: 35,3204 36150 P21ONENN # OFF FOR OPTION =2
024214,000493: 35,3205 43030 BHIZ CLEAR
024215,000494: 35,3206 73210 +2
024216,000495: 35,3207 00276 KFLAG
024217,000496: 35,3210 46135 SLOAD BHIZ
024218,000497: 35,3211 03747 XRS +1
024219,000498: 35,3212 73216 +4
024220,000499: 35,3213 52145 DLOAD GOTO
024221,000500: 35,3214 33126 HPL
024222,000501: 35,3215 73220 P17.2
024223,000502: 35,3216 77745 DLOAD
024224,000503: 35,3217 33124 HPE
024225,000504: 35,3220 36321 P17.2 STCALL HPERMIN
024226,000505: 35,3221 74070 S17.2
024227,000506: 35,3222 77414 SET EXIT
024228,000507: 35,3223 00470 UPDATFLG
024229,000508: 35,3224 34616 P17.3 CAF V06N58 # DISPLAY DELTA VTPI, DELTA VTPF, AND H
024230,000509: 35,3225 03237 TC VNCOMP17
024231,000510: 35,3226 34615 CAF V06N55 # DISPLAY PERICENTER CODE AND CENTRAL ANG,
024232,000511: 35,3227 04662 TC BANKCALL
024233,000512: 35,3230 21057 CADR GOFLASHR
024234,000513: 35,3231 04106 TC GOTOPOOH # TERMINATE PROGRAM
024235,000514: 35,3232 04106 TC GOTOPOOH # END PROGRAM
024236,000515: 35,3233 03154 TC P17.1 # RECYCLE WITH NEW TTPI OR SEARCH OPTION
024237,000516: 35,3234 35016 CAF TWO # BLANK R2
024238,000517: 35,3235 05526 TC BLANKET
024239,000518: 35,3236 15217 TCF ENDOFJOB
024240,000519: 35,3237 E4,1767 EBANK= RTRN
024241,000520:
024242,000521: 35,3237 00006 VNCOMP17 EXTEND
024243,000522: 35,3240 23766 QXCH QSAVED
024244,000523: 35,3241 55765 TS VERBNOUN
024245,000524: 35,3242 31765 CA VERBNOUN
024246,000525: 35,3243 04662 TCR BANKCALL
024247,000526: 35,3244 20720 CADR GOFLASH
024248,000527: 35,3245 03242 TC -3 # TERMINATE ILLEGAL REDISPLAY
024249,000528: 35,3246 01766 TC QSAVED # PROCEED
024250,000529: 35,3247 40154 CS MPAC # RECYCLE WITH NEW TPI TIME
024251,000530: 35,3250 65012 AD BIT6 # OR PROCEED WITH NEW SEARCH OPTION
024252,000531: 35,3251 00006 EXTEND
Page 561 |
024254,000533: 35,3252 13154 BZF P17.1
024255,000534: 35,3253 03242 TC VNCOMP17 +3
024256,000535: 35,3254 77414 ALARUMS SET EXIT
024257,000536: 35,3255 00470 UPDATFLG
024258,000537: 35,3256 05650 TC ALARM
024259,000538: 35,3257 00124 OCT 00124 # NO SAFE PERCENTER IN THIS SECTOR
024260,000539: 35,3260 35050 CAF V05N09
024261,000540: 35,3261 03237 TC VNCOMP17
024262,000541: 35,3262 04106 TC GOTOPOOH # PROCEED ILLEGAL TERMINATE PROGRAM
024263,000542: 35,3263 01510 V06N72 VN 0672
024264,000543:
End of include-file TPI_SEARCH.agc. Parent file is MAIN.agc