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