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