Source Code
![]() |
These source-code files are part of a reconstructed copy of Comanche 72/3 (AKA Manche72 revision 3),
the final, flown mission release of the Apollo Guidance Computer (AGC) Command Module (CM) software
for Apollo 13.
The starting point was the source code of Comanche 72 (itself previously reconstructed). Comanche 72 source code was then modified by incorporating changes known from contemporary documentation to have been made between revisions 72 and 72/3. The resulting code assembles to have identical memory-bank checksums as those specified in NASA drawing 2021153G; this gives reasonably high confidence that the changes that have been made are correct. In places where ambiguity exists, this ambiguity is discussed in "## Reconstruction:" comments. Since no contemporary listings of Comanche 72/3 are available as source material, all comments and labels are approximate. They have been taken from other AGC programs where possible, or, in some places, written from scratch to match what we believe would have been in the original listing. |
036304,000002: ## Copyright: Public domain. 036305,000003: ## Filename: REENTRY_CONTROL.agc 036306,000004: ## Purpose: A section of Manche72 revision 3. 036307,000005: ## It is part of the reconstructed source code for the final, flown 036308,000006: ## release of the software for the Command Module's (CM) Apollo 036309,000007: ## Guidance Computer (AGC) for Apollo 13. No original listings 036310,000008: ## of this program are available; instead, this file was recreated 036311,000009: ## from a reconstructed copy of Comanche 072. It has been adapted 036312,000010: ## such that the resulting bugger words exactly match those 036313,000011: ## specified for Manche72 revision 3 in NASA drawing 2021153G, 036314,000012: ## which gives relatively high confidence that the reconstruction 036315,000013: ## is correct. 036316,000014: ## Assembler: yaYUL 036317,000015: ## Contact: Ron Burkey <info@sandroid.org>. 036318,000016: ## Website: www.ibiblio.org/apollo/index.html 036319,000017: ## Mod history: 2024-05-19 MAS Created from Comanche 072. 036320,000018: 036321,000019: # ENTRY INITIALIZATION ROUTINE 036322,000020: # ----------------------------- 036323,000021: 036324,000022: 25,2000 BANK 25 036325,000023: 25,2000 SETLOC REENTRY 036326,000024: 25,2000 BANK 036327,000025: 036328,000026: 25,2000 COUNT* $$/ENTRY 036329,000027: 25,2000 E7,1451 EBANK= RTINIT 036330,000028: 036331,000029: 25,2000 5074 EBENTRY = EBANK7 036332,000030: 25,2000 5073 EBAOG EQUALS EBANK6 036333,000031: 25,2000 5016 NTRYPRIO EQUALS PRIO20 # (SERVICER) 036334,000032: 25,2000 0102 CM/FLAGS EQUALS STATE +6 036335,000033: 036336,000034: 25,2000 77776 STARTENT EXIT # MM = 63 036337,000035: 036338,000036: # COME HERE FROM CM/POSE. RESTARTED IN CM/POSE. 036339,000037: 25,2001 42113 CS ENTMASK # INITIALIZE ALL SWITCHES TO ZERO 036340,000038: # EXCEPT LATSW, ENTRYDSP AND GONEPAST. 036341,000039: # GONEBY 112D BIT8 FLAG7, SELF INITIALIZING 036342,000040: 25,2002 00004 INHINT 036343,000041: 25,2003 70102 MASK CM/FLAGS 036344,000042: # ENTRYDSP = 92D B13 036345,000043: # GONEPAST=95D B10, RELVELSW=96D B9 036346,000044: # EGSW = 97D B8 NOSWITCH = 98D B7 036347,000045: # HIND=99D B6 INRLSW=100D B5 036348,000046: # LATSW=101D B4 .05GSW=102D B3 036349,000047: 036350,000048: 25,2004 62114 AD ENTRYSW # SET ENTRYDSP, LATSW, GONEPAST. 036351,000049: 25,2005 54102 TS CM/FLAGS 036352,000050: 036353,000051: 25,2006 00003 RELINT 036354,000052: 036355,000053: 25,2007 06006 TC INTPRET 036356,000054: 036357,000055: 25,2010 77735 SLOAD 036358,000056: 25,2011 03011 LODPAD 036359,000057: 25,2012 03626 STORE LOD 036360,000058: 036361,000059: 25,2013 77735 SLOAD 036362,000060: 25,2014 03010 LADPAD 036363,000061: 25,2015 03624 STORE LAD 036364,000062: 036365,000063: 25,2016 77605 DMP # L/DCMINR = LAD COS(15) 036366,000064: 25,2017 15322 COS15 036367,000065: 25,2020 17630 STODL L/DCMINR 036368,000066: 25,2021 15145 LATSLOPE 036369,000067: 25,2022 70405 DMP SR1 # KLAT = LAD/24 036370,000068: 25,2023 03624 LAD 036371,000069: 25,2024 17632 STODL KLAT 036372,000070: 25,2025 15176 Q7F 036373,000071: 25,2026 17175 STODL Q7 # Q7 = Q7F 036374,000072: 25,2027 17373 NEARONE # 1.0 -1BIT 036375,000073: 25,2030 17614 STODL FACTOR 036376,000074: 25,2031 03624 LAD 036377,000075: 25,2032 57565 SIGN DCOMP 036378,000076: 25,2033 03327 HEADSUP # MAY BE NOISE FOR DISPLAY P61 036379,000077: 25,2034 37634 STCALL L/D # L/D = - LAD SGN(HEADSUP) 036380,000078: 036381,000079: 25,2035 52063 STARTEN1 # RETURN VIA GOTOADDR 036382,000080: 25,2036 47375 VLOAD VXV 036383,000081: 25,2037 01177 VN # (-7) M/CS 036384,000082: 25,2040 01760 UNITR # .5 UNIT REF COORDS 036385,000083: 25,2041 50256 UNIT DOT 036386,000084: 25,2042 03474 RT # RT/2 TARGET VECTOR REF COORDS 036387,000085: 25,2043 03676 STORE LATANG # LATANG = UNI.RT /4 036388,000086: 25,2044 47076 DCOMP RTB 036389,000087: 25,2045 45712 SIGNMPAC 036390,000088: 25,2046 17644 STODL K2ROLL # K2ROLL = -SGN(LATANG) 036391,000089: 036392,000090: 25,2047 03624 LAD 036393,000091: 25,2050 43205 DMP DAD 036394,000092: 25,2051 15200 Q21 036395,000093: 25,2052 15202 Q22 036396,000094: 25,2053 03712 STORE Q2 # Q2 = -1152 + 500 LAD 036397,000095: 036398,000096: 25,2054 66331 SSP SSP 036399,000097: 25,2055 03646 GOTOADDR # SET SELECTOR FOR INITIAL PASS 036400,000098: 25,2056 52260 INITROLL 036401,000099: 25,2057 03325 POSEXIT 036402,000100: 25,2060 52115 SCALEPOP # SET CM/POSE TO CONTINUE AT SCALEPOP 036403,000101: 036404,000102: 25,2061 77634 RTB 036405,000103: 25,2062 53611 SERVNOUT # OMIT INITIAL DISPLAY, SINCE 1ST GUESSBAD 036406,000104: 036407,000105: # CALCULATE THE INITIAL TARGET VECTOR: RTINIT, ALSO RTEAST, RTNORM AND RT. ALL ARE .5 UNIT AND IN 036408,000106: # REFERENCE COORDINATES. 036409,000107: 036410,000108: 25,2063 77220 STARTEN1 STQ VLOAD 036411,000109: 25,2064 03645 GOTOADDR 036412,000110: 25,2065 03401 LAT(SPL) # TARGET COORDINATES 036413,000111: 25,2066 43014 CLEAR CLEAR # DO CALL USING PAD RADIUS. WILL UNIT IT. 036414,000112: 25,2067 00662 ERADFLAG # ANYWAY. 036415,000113: 25,2070 01663 LUNAFLAG 036416,000114: 25,2071 15104 STODL LAT 036417,000115: 25,2072 15334 3ZEROS 036418,000116: 036419,000117: 25,2073 15110 STODL LAT +4 # SET ALT=0. 036420,000118: 25,2074 01205 PIPTIME # ESTABLISH RTINIT AT TIME OF PRESENT 036421,000119: # RN AND VN. 036422,000120: 25,2075 37524 STCALL TIME/RTO # SAVE TIME BASE OF RTINIT. 036423,000121: 25,2076 26447 LALOTORV # C(MPAC) =TIME (PIPTIME) 036424,000122: 25,2077 77656 UNIT # ANSWER IN ALPHAV ALSO 036425,000123: 25,2100 17452 STODL RTINIT # .5 UNIT TARGET REF COORDS 036426,000124: 25,2101 12112 500SEC # NOMINAL ENTRY TIME FOR P63 036427,000125: # TIME/RTO = PIPTIME, STILL. 036428,000126: 25,2102 37606 STCALL DTEAROT # INITIALIZE EARROT 036429,000127: 25,2103 46215 EARROT1 # GET RT 036430,000128: 25,2104 72441 DOT SL1 036431,000129: 25,2105 01760 UNITR # RT/2 IN MPAC 036432,000130: 25,2106 77726 ACOS 036433,000131: 25,2107 37702 STCALL THETAH # RANGE ANGLE /360 036434,000132: 25,2110 03645 GOTOADDR # RETURN TO CALLER 036435,000133: 036436,000134: 25,2111 00003 01520 500SEC 2DEC 50000 B-28 # CS 036437,000135: 036438,000136: 25,2113 11774 ENTMASK OCT 11774 036439,000137: 25,2114 11010 ENTRYSW OCT 11010 # ENTRYDSP B13, GONEPAST B10, LATSW B4 036440,000138: 036441,000139: 25,2115 77624 SCALEPOP CALL 036442,000140: 25,2116 52125 TARGETNG 036443,000141: 036444,000142: 25,2117 77776 EXIT 036445,000143: 036446,000144: 25,2120 05426 REFAZE10 TC PHASCHNG 036447,000145: 25,2121 10035 OCT 10035 # SERVICER 5.3 RESTART AT REFAZE10 036448,000146: 036449,000147: 25,2122 06006 TC INTPRET 036450,000148: 036451,000149: # JUMP TO PARTICULAR RE-ENTRY PHASE: 036452,000150: # SEQUENCE 036453,000151: 25,2123 77650 GOTO 036454,000152: 25,2124 03645 GOTOADDR 036455,000153: 036456,000154: # GOTOADDR CONTAINS THE ADDRESS OF THE ROLL COMMAND EQUATIONS APPROPRIATE TO THE CURRENT PHASE OF 036457,000155: # RE-ENTRY. SEQUENCING IS AS FOLLOWS: 036458,000156: 036459,000157: # INITROLL ADDRESS IS SET HERE INITIALLY. HOLDS INITIAL ROLL ATTITUDE UNTIL KAT IS EXCEEDED. THEN HOLDS NEW ROLL 036460,000158: # ATTITUDE UNTIL VRTHRESH IS EXCEEDED. THEN BRANCHES TO 036461,000159: 036462,000160: # HUNTEST THIS SECTION CHECKS TO SEE IF THE PREDICTED RANGE AT NOMINAL L/D FROM PRESENT CONDITIONS IS LESS 036463,000161: # THAN THE DESIRED RANGE. 036464,000162: # IF NOT - A ROLL COMMAND IS GENERATED BY THE CONSTANT DRAG CONTROLLER. 036465,000163: # IF SO - CONTROL AND GOTOADDR ARE SET TO UPCONTRL. 036466,000164: # USUALLY NO ITERATION IS INVOLVED EXCEPT IF THE RANGE DESIRED IS TOO LONG ON THE FIRST PASS THROUGH 036467,000165: # HUNTEST. 036468,000166: 036469,000167: # UPCONTRL CONTROLS ROLL DURING THE SUPER-CIRCULAR PHASE. UPCONTRL IS TERMINATED EITHER 036470,000168: # (A) WHEN THE DRAG (AS MEASURED BY THE PIPAS) FALLS BELOW Q7, OR 036471,000169: # (B) IF RDOT IS NEGATIVE AND REFERENCE VL EXCEEDS V. 036472,000170: # IN CASE (A), GOTOADDR IS SET TO KEP2 AND IN CASE (B), TO PREDICT3 SKIPPING THE KEPLER PHASE OF 036473,000171: # ENTRY. 036474,000172: 036475,000173: # KEP2 GOTOADDR IS SET HERE DURING THE KEPLER PHASE TO MONITOR DRAG. THE SPACECRAFT IS INSTANTANEOUSLY 036476,000174: # TRIMMED IN PITCH AND YAW TO THE COMPUTED RELATIVE VELOCITY. THE LAST COMPUTED ROLL ANGLE IS MAINTAINED. 036477,000175: # WHEN THE MEASURED DRAG EXCEEDS Q7 +0.5, GOTOADDR IS SET TO 036478,000176: 036479,000177: # PREDICT3 THIS CONTROLS THE FINAL SUB-ORBITAL PHASE. ROLL COMMANDS CEASE 036480,000178: # WHEN V IS LESS THAN VQUIT . AN EXIT IS MADE TO 036481,000179: 036482,000180: # P67.1 THE LAST COMPUTED ROLL ANGLE IS MAINTAINED. RATE DAMPING IS DONE IN PITCH AND YAW. PRESENT LATITUDE 036483,000181: # AND LONGITUDE ARE COMPUTED FOR DISPLAY. 036484,000182: # ENTRY IS TERMINATED WHEN DISKY RESPONSE IS MADE TO TO THIS FINAL FLASHING DISPLAY. 036485,000183: 036486,000184: # PROCESS AVERAGE G OUTPUT...SCALE IT AND GET INPUT DATA 036487,000185: 036488,000186: # * START TARGETING ... 036489,000187: 036490,000188: 25,2125 E7,1451 EBANK= RTINIT 036491,000189: 036492,000190: # TARGETNG IS CALLED BY P61, FROM GROUP 4. 036493,000191: # TARGETNG IS CALLED BY ENTRY, FROM GROUP 5. 036494,000192: 036495,000193: # ALL MM COME HERE. 036496,000194: 25,2125 77214 TARGETNG BOFF VLOAD # ENTER WITH PROPER EB FROM CM/POSE(TEST) 036497,000195: 25,2126 03346 RELVELSW # RELVELSW = 96D BIT9 036498,000196: 25,2127 52133 GETVEL # WANT INERTIAL VEL. GO GET IT. 036499,000197: 25,2130 03526 -VREL # NEW V IS RELATIVE, CONTINUE 036500,000198: 036501,000199: 25,2131 52076 VCOMP GOTO # (VREL) = (V) + KWE UNITR*UNITW 036502,000200: 25,2132 52136 GETUNITV -1 # - VREL WAS LEFT BY CM/POSE 036503,000201: 036504,000202: 25,2133 74375 GETVEL VLOAD VXSC # INERTIAL V WANTED 036505,000203: 25,2134 01177 VN # KVSCALE = (12800 / .3048) / 2VS 036506,000204: 25,2135 15230 KVSCALE # KVSCALE = .81491944 036507,000205: 25,2136 03516 STORE VEL # V/2 VS 036508,000206: 036509,000207: 25,2137 44056 GETUNITV UNIT STQ 036510,000208: 25,2140 03373 60GENRET 036511,000209: 25,2141 17510 STODL UNITV 036512,000210: 25,2142 00043 34D 036513,000211: 25,2143 03622 STORE VSQUARE # VSQ/4 036514,000212: 036515,000213: 25,2144 77625 DSU # LEQ = VSQUARE - 1 036516,000214: 25,2145 15324 FOURTH # 4 G-S FULL SCALE 036517,000215: 25,2146 17654 STODL LEQ # LEQ/4 036518,000216: 036519,000217: 25,2147 00045 36D 036520,000218: 25,2150 27674 STOVL V # V/2 VS = VEL/2 VS 036521,000219: 036522,000220: 25,2151 03516 VEL 036523,000221: 25,2152 72441 DOT SL1 # RDOT= V.UNITR 036524,000222: 25,2153 01760 UNITR 036525,000223: 25,2154 27700 STOVL RDOT # RDOT /2 VS 036526,000224: 036527,000225: 25,2155 01163 DELV # PIPA COUNTS IN PLATFORM COORDS. 036528,000226: 25,2156 41246 ABVAL DMP 036529,000227: 25,2157 15232 KASCALE 036530,000228: 25,2160 53152 SL1 BZE 036531,000229: 25,2161 55132 SETMIND 036532,000230: 25,2162 27640 DSTORE STOVL D # ACCELERATION USED TO APPROX DRAG 036533,000231: 25,2163 03516 VEL 036534,000232: 25,2164 53435 VXV UNIT # UNI = UNIT(V*R) 036535,000233: 25,2165 01760 UNITR 036536,000234: 25,2166 03502 STORE UNI # .5 UNI REF COORDS. 036537,000235: 036538,000236: 25,2167 71214 BOFF DLOAD 036539,000237: 25,2170 03346 RELVELSW 036540,000238: 25,2171 55073 GETETA 036541,000239: 25,2172 15334 3ZEROS 036542,000240: 25,2173 43225 UPDATERT DSU DAD # PIPTIME-TIME/RTO =ELAPSED TIME SINCE 036543,000241: # RTINIT WAS ESTABLISHED. 036544,000242: 25,2174 03524 TIME/RTO 036545,000243: 25,2175 01205 PIPTIME 036546,000244: 25,2176 37606 STCALL DTEAROT # GET PREDICTED TARGET VECTOR RT 036547,000245: 036548,000246: 25,2177 46225 EARROT2 036549,000247: 25,2200 40241 DOT SETPD # SINCE (RT) UNIT VECT, THIS IS 1/4 MAX 036550,000248: 25,2201 03502 UNI # LATANG = RT.UNI 036551,000249: 25,2202 00001 0 036552,000250: 25,2203 27676 STOVL LATANG # LATANG = MAC LATANG / 4 036553,000251: 036554,000252: 25,2204 03474 RT 036555,000253: 25,2205 77614 CLEAR 036556,000254: 25,2206 03667 GONEBY # SHOW HAVE NOT GONE PAST TARGET. 036557,000255: 25,2207 50235 VXV DOT # IF RT*UNITR.UNI NEG, GONEBY=1 036558,000256: 25,2210 01760 UNITR # GONEPAST IS CONDITIONAL SW SET IN 036559,000257: 25,2211 03502 UNI # FINAL PHASE. 036560,000258: 25,2212 43044 BPL SET 036561,000259: 25,2213 52215 +2 036562,000260: 25,2214 03467 GONEBY # SHOW HAVE GONE PAST TARGET. 036563,000261: 036564,000262: 25,2215 77775 VLOAD 036565,000263: 25,2216 03474 RT 036566,000264: 25,2217 45241 GETANGLE DOT DSU # THETA = ARCCOS(RT.UNITR) 036567,000265: 25,2220 01760 UNITR 036568,000266: 25,2221 15162 NEAR1/4 # TO IMPROVE ACCURACY, CALC RANGE BY 036569,000267: 25,2222 43244 BPL DAD # TINYTHET IF HIGH ORDER PART OF 036570,000268: 25,2223 55135 TINYTHET # ARCCOS ARGUMENT IS ZERO 036571,000269: 25,2224 15162 NEAR1/4 036572,000270: 25,2225 65552 SL1 ACOS 036573,000271: 25,2226 03702 THETDONE STORE THETAH # THETAH/360 036574,000272: # HI WORD, LO BIT =1.32 NM=360 60/16384 036575,000273: 036576,000274: 25,2227 57414 BON DCOMP 036577,000275: 25,2230 03707 GONEBY # =1 IF HAVE GONE PAST TARGET. 036578,000276: # (SIGN MAY BECOME ERRATIC VERY NEAR 036579,000277: # TARGET DUE TO LOSS OF PRECISION.) 036580,000278: 25,2231 52232 +1 036581,000279: 25,2232 17714 STODL RTGON67 # RANGE ERROR: NEG IF WILL FALL SHORT. 036582,000280: 036583,000281: 25,2233 03640 D 036584,000282: 25,2234 50025 DSU BMN 036585,000283: 25,2235 15240 .05G 036586,000284: 25,2236 52255 NO.05G 036587,000285: 25,2237 77214 SET VLOAD 036588,000286: 25,2240 03074 .05GSW 036589,000287: 25,2241 03433 DELVREF 036590,000288: 25,2242 50206 PUSH DOT 036591,000289: 25,2243 03542 UXA/2 036592,000290: 25,2244 63552 SL1 DSQ 036593,000291: 25,2245 47515 PDVL VSQ # EXCHANGE WITH PDL. 036594,000292: 25,2246 56225 DSU DDV 036595,000293: 25,2247 00001 0 036596,000294: 25,2250 75400 BOV SQRT 036597,000295: 25,2251 52253 NOLDCALC # OVFL LAST CLEARED IN EARROT2 ABOVE. 036598,000296: 25,2252 03727 STORE L/DCALC 036599,000297: 036600,000298: 25,2253 77650 NOLDCALC GOTO 036601,000299: 25,2254 03373 60GENRET 036602,000300: 036603,000301: 25,2255 52014 NO.05G CLEAR GOTO # THIS WAY FOR DAP. (MAY INTERRUPT) 036604,000302: 25,2256 03274 .05GSW # .05GSW = 102D B3 036605,000303: 25,2257 52253 NOLDCALC # KEEP SINGLE EXIT FOR TARGETNG 036606,000304: 036607,000305: # SUBROUTINES CALLED BY SCALEPOP (TARGETING): 036608,000306: 036609,000307: 26,3073 BANK 26 036610,000308: 26,2000 SETLOC REENTRY1 036611,000309: 26,2000 BANK 036612,000310: 036613,000311: 26,3073 COUNT* $$/ENTRY 036614,000312: 036615,000313: 26,3073 56345 GETETA DLOAD DDV # D = D +D(-RDOT/HS -2D/V) DT/2 036616,000314: # DT/2 = 2/2 =1 036617,000315: 26,3074 03700 RDOT 036618,000316: 26,3075 15316 -HSCALED 036619,000317: 26,3076 41325 PDDL DMP 036620,000318: 26,3077 03640 D 036621,000319: 26,3100 15320 -KSCALE 036622,000320: 26,3101 43271 DDV DAD 036623,000321: 26,3102 03674 V 036624,000322: # -RDOT/HS FROM PDL. 036625,000323: 26,3103 43205 DMP DAD 036626,000324: 26,3104 03640 D 036627,000325: 26,3105 03640 D 036628,000326: 26,3106 03640 STORE D 036629,000327: 036630,000328: 26,3107 71214 BON DLOAD # EGSW INDICATES FINAL PHASE. 036631,000329: 26,3110 03307 EGSW 036632,000330: 26,3111 55116 SUBETA 036633,000331: 26,3112 03702 THETAH 036634,000332: 26,3113 52005 DMP GOTO 036635,000333: 26,3114 15234 KTETA # = 1000X2PI/(2)E14 163.84 036636,000334: 26,3115 52173 UPDATERT 036637,000335: 036638,000336: 26,3116 45345 SUBETA DLOAD DSU # SWITCH FROM INERTIAL TO RELATIVE VEL. 036639,000337: 26,3117 03674 V 036640,000338: 26,3120 15324 VMIN 036641,000339: 26,3121 43044 BPL SET 036642,000340: 26,3122 55124 SUBETA2 036643,000341: 26,3123 03066 RELVELSW 036644,000342: 036645,000343: 26,3124 41345 SUBETA2 DLOAD DMP 036646,000344: 036647,000345: 26,3125 03702 THETAH 036648,000346: 26,3126 15236 KT1 # KT1 = KT 036649,000347: 26,3127 52071 DDV GOTO 036650,000348: 26,3130 03674 V # KT = RE(2 PI)/2 VS 16384 163.84/ 2 VSAT 036651,000349: 26,3131 52173 UPDATERT 036652,000350: 036653,000351: 26,3132 52145 SETMIND DLOAD GOTO 036654,000352: 26,3133 16326 1BITDP 036655,000353: 26,3134 52162 DSTORE 036656,000354: 036657,000355: 26,3135 51425 TINYTHET DSU ABS # ENTER WITH X-.249 036658,000356: 26,3136 16327 1BITDP +1 # GET 1/4 - MPAC 036659,000357: 26,3137 75461 SL SQRT # SCALE UP BEFORE SQRT 036660,000358: 26,3140 20216 13D # HAS FACTOR FOR UP SCALING 036661,000359: 26,3141 52005 DMP GOTO 036662,000360: 26,3142 15246 KACOS 036663,000361: 26,3143 52226 THETDONE 036664,000362: 036665,000363: # * START INITIAL ROLL ... 036666,000364: 036667,000365: 25,2260 BANK 25 036668,000366: 25,2000 SETLOC REENTRY 036669,000367: 25,2000 BANK 036670,000368: 036671,000369: 25,2260 COUNT* $$/ENTRY 036672,000370: 036673,000371: # MM = 63, 64 .. 036674,000372: 25,2260 43014 INITROLL BON BOFF # IF D- .05G NEG, GO TO LIMITL/D 036675,000373: 25,2261 03312 INRLSW 036676,000374: 25,2262 52362 INITRL1 036677,000375: 25,2263 03354 .05GSW 036678,000376: 25,2264 53526 LIMITL/D 036679,000377: 036680,000378: # MM = 64, NOW 036681,000379: # 3 036682,000380: # KA = KA1 LEQ + KA2 036683,000381: 25,2265 63545 DLOAD DSQ 036684,000382: 25,2266 03654 LEQ 036685,000383: 25,2267 56205 DMP DDV 036686,000384: 25,2270 03654 LEQ 036687,000385: 25,2271 15304 1/KA1 # = 25 /(64 1.8) 036688,000386: 25,2272 47015 DAD RTB 036689,000387: 25,2273 15306 KA2 # = .2 036690,000388: 25,2274 54426 P64 # ROLLC VI RDOT 036691,000389: # XXX.XX DEG XXXXX. FPS XXXXX. FPS 036692,000390: 25,2275 03720 STORE KAT 036693,000391: 036694,000392: 25,2276 50025 DSU BMN 036695,000393: 25,2277 15314 KALIM 036696,000394: 25,2300 52304 +4 036697,000395: 25,2301 77745 DLOAD 036698,000396: 25,2302 15314 KALIM 036699,000397: 25,2303 03720 STORE KAT 036700,000398: 25,2304 45345 DLOAD DSU # IF V-VFINAL1 NEG, GO TO FINAL PHASE. 036701,000399: 25,2305 03674 V 036702,000400: 25,2306 15302 VFINAL1 036703,000401: 25,2307 51014 CLEAR BPL # (CAN'T CLEAR INRLSW AFTER HERE: RESTARTS) 036704,000402: 25,2310 03265 GONEPAST # GONEPAST WAS INITIALLY SET=1 TO FORCE 036705,000403: # ROLLC TO REMAIN AS DEFINED BY HEADSUP 036706,000404: # UNTIL START OF P64. (UNTIL D > .05G) 036707,000405: 25,2311 52316 D0EQ 036708,000406: 25,2312 52131 SSP GOTO 036709,000407: 25,2313 03646 GOTOADDR 036710,000408: 25,2314 53317 KEP2 # AND IDLE UNTIL D > 0.2 G. (NO P66 HERE) 036711,000409: 25,2315 52351 INROLOUT # GO TO LIMITL/D AFTER SETTING INRLSW. 036712,000410: 036713,000411: 25,2316 41345 D0EQ DLOAD DMP # D0 = KA3 LEQ + KA4 036714,000412: 25,2317 03654 LEQ 036715,000413: 25,2320 15310 KA3 036716,000414: 25,2321 77615 DAD 036717,000415: 25,2322 15312 KA4 036718,000416: 25,2323 03710 STORE D0 # D0/805 036719,000417: 25,2324 40065 BDDV BOV 036720,000418: 25,2325 15266 C001 # (-4/25 G) B-8 036721,000419: 25,2326 52327 +1 # CLEAR OVFIND, IF ON. 036722,000420: 25,2327 17706 STODL C/D0 # (-4/D0) B-8 036723,000421: 25,2330 03624 LAD # IF V-VFINAL +K(RDOT/V)CUBED POS,L/D=-LAD 036724,000422: 25,2331 17634 STODL L/D 036725,000423: 25,2332 03700 RDOT 036726,000424: 25,2333 41471 DDV PUSH 036727,000425: 25,2334 03674 V 036728,000426: 25,2335 41316 DSQ DMP 036729,000427: 25,2336 45271 DDV DSU 036730,000428: 25,2337 15276 1/K44 036731,000429: 25,2340 15300 VFINAL 036732,000430: # 3 036733,000431: # V-VFINAL +(RDOT/V) / K44 OVFL $ 036734,000432: 036735,000433: 25,2341 40015 DAD BOV 036736,000434: 25,2342 03674 V 036737,000435: 25,2343 52351 INROLOUT # GO TO LIMITL/D AFTER SETTING INRLSW. 036738,000436: 25,2344 71240 BMN DLOAD 036739,000437: 25,2345 52351 INROLOUT # GO TO LIMITL/D AFTER SETTING INRLSW. 036740,000438: 25,2346 03624 LAD 036741,000439: 25,2347 77676 DCOMP 036742,000440: 25,2350 03634 STORE L/D 036743,000441: 036744,000442: # SET INRLSW AT END FOR RESTART PROTECTION 036745,000443: 25,2351 77614 INROLOUT BOFSET # END OF PRE .05G PATH OF INITROLL. 036746,000444: 25,2352 03052 INRLSW # SWITCH IS ZERO INITIALLY. 036747,000445: 25,2353 53526 LIMITL/D # (GO TO) 036748,000446: 036749,000447: 25,2354 45345 KATEST DLOAD DSU # IF KAT - D POS, GO TO CONSTD 036750,000448: 25,2355 03720 KAT 036751,000449: 25,2356 03640 D # IF POS, OUT WITH COMMAND VIA LIMITL/D 036752,000450: 25,2357 52044 BPL GOTO 036753,000451: 25,2360 53526 LIMITL/D 036754,000452: 25,2361 53232 CONSTD 036755,000453: 036756,000454: 25,2362 43345 INITRL1 DLOAD DAD # IF RDOT + VRCONT POS, GO TO HUNTEST 036757,000455: 25,2363 03700 RDOT 036758,000456: 25,2364 15260 VRCONT 036759,000457: 25,2365 45040 BMN CALL # IF POSITIVE, FALL INTO HUNTEST. 036760,000458: 25,2366 52354 KATEST 036761,000459: 036762,000460: 25,2367 53022 FOREHUNT # INITIALIZE HUNTEST. 036763,000461: 036764,000462: # * START HUNT TEST .. 036765,000463: # MM = 64 036766,000464: 25,2370 77731 SSP # INITIALIZE HUNTEST ON FIRST PASS 036767,000465: 25,2371 03646 GOTOADDR 036768,000466: 25,2372 52373 HUNTEST # MUST GO AFTER FOREHUNT FOR RESTARTS. 036769,000467: 036770,000468: 25,2373 77745 HUNTEST DLOAD 036771,000469: 25,2374 03640 D 036772,000470: 25,2375 17664 STODL A1 # A1/805 = A1/25G 036773,000471: 036774,000472: 25,2376 03624 LAD 036775,000473: 25,2377 17647 STODL TEM1B 036776,000474: 25,2400 03700 RDOT 036777,000475: 25,2401 71240 BMN DLOAD # IF RDOT NEG,TEM1B=LAD, OTHERWISE = LEWD 036778,000476: 25,2402 52406 A0CALC 036779,000477: 25,2403 03725 LEWD 036780,000478: 25,2404 17647 STODL TEM1B 036781,000479: 036782,000480: 25,2405 03700 RDOT 036783,000481: 25,2406 43271 A0CALC DDV DAD # V1 = V + RDOT/TEM1B 036784,000482: 25,2407 03647 TEM1B 036785,000483: 25,2410 03674 V 036786,000484: 25,2411 14326 STODL V1 # V1/2 VS 036787,000485: 036788,000486: 25,2412 03700 RDOT 036789,000487: 25,2413 56316 DSQ DDV # A0=(V1/V)SQ(D+RDOT SQ/(TEM1B 2 C1 HS) 036790,000488: 25,2414 03647 TEM1B 036791,000489: 25,2415 43271 DDV DAD 036792,000490: 25,2416 15272 2C1HS 036793,000491: 25,2417 03640 D 036794,000492: 25,2420 41205 DMP DMP 036795,000493: 25,2421 00326 V1 036796,000494: 25,2422 00326 V1 036797,000495: 25,2423 77671 DDV 036798,000496: 25,2424 03622 VSQUARE 036799,000497: 25,2425 14330 STODL A0 # A0/805 = A0/25G 036800,000498: 036801,000499: 25,2426 03700 RDOT 036802,000500: 25,2427 71244 BPL DLOAD 036803,000501: 25,2430 52433 V1LEAD 036804,000502: 25,2431 00330 A0 036805,000503: 25,2432 03664 STORE A1 # A1/25G 036806,000504: 036807,000505: 25,2433 51145 V1LEAD DLOAD BPL # IF L/D NEG, V1=V1 - 1000 036808,000506: 25,2434 03634 L/D 036809,000507: 25,2435 52442 HUNTEST1 036810,000508: 036811,000509: 25,2436 45345 DLOAD DSU 036812,000510: 25,2437 00326 V1 036813,000511: 25,2440 15214 VQUIT 036814,000512: 25,2441 00326 STORE V1 036815,000513: 036816,000514: 25,2442 41345 HUNTEST1 DLOAD DMP # ALP = 2 C1 HS A0/LEWD V1 V1 036817,000515: 25,2443 00330 A0 036818,000516: 25,2444 15272 2C1HS 036819,000517: 25,2445 40271 DDV SETPD 036820,000518: 25,2446 00326 V1 036821,000519: 25,2447 00001 0 036822,000520: 25,2450 56271 DDV DDV 036823,000521: 25,2451 00326 V1 036824,000522: 25,2452 03725 LEWD 036825,000523: 25,2453 03704 STORE ALP 036826,000524: 036827,000525: 25,2454 55221 BDSU BDDV # FACT1 = V1 / (1 - ALP) 036828,000526: 25,2455 17373 BARELY1 036829,000527: 25,2456 00326 V1 036830,000528: 25,2457 17616 STODL FACT1 # FACT1 / 2VS 036831,000529: 036832,000530: 25,2460 03704 ALP 036833,000531: 25,2461 41225 DSU DMP # FACT2 = ALP(ALP - 1) / A0 036834,000532: 25,2462 17373 BARELY1 036835,000533: 25,2463 03704 ALP 036836,000534: 25,2464 77671 DDV 036837,000535: 25,2465 00330 A0 036838,000536: 25,2466 03620 STORE FACT2 # FACT2 (25G) 036839,000537: 036840,000538: 25,2467 43205 DMP DAD 036841,000539: 25,2470 03175 Q7 # Q7 / 805 = Q7 / 25G 036842,000540: 25,2471 03704 ALP # VL=FACT1 (1-SQRT(Q7 FACT2 +ALP) ) 036843,000541: 25,2472 44366 SQRT BDSU 036844,000542: 25,2473 17373 BARELY1 036845,000543: 25,2474 77605 DMP 036846,000544: 25,2475 03616 FACT1 036847,000545: 25,2476 03767 STORE VL # VL / 2 VS 036848,000546: 036849,000547: 25,2477 41221 BDSU DMP # GAMMAL1 = LEWD (V1-VL)/VL 036850,000548: 25,2500 00326 V1 036851,000549: 25,2501 03725 LEWD 036852,000550: 25,2502 77671 DDV 036853,000551: 25,2503 03767 VL 036854,000552: 25,2504 14027 STODL GAMMAL1 # GAMMAL1 USED IN UPCONTROL 036855,000553: 036856,000554: # GAMMAL1 = PDL 22D. 036857,000555: 25,2505 03767 VL 036858,000556: 25,2506 50025 DSU BMN # IF VL-VLMIN NEG, GO TO PREFINAL 036859,000557: 25,2507 15204 VLMIN 036860,000558: 25,2510 53333 PREFINAL 036861,000559: 036862,000560: 25,2511 63545 DLOAD DSQ 036863,000561: 25,2512 03767 VL 036864,000562: 25,2513 17666 STODL VBARS # VBARS / 4 VS VS 036865,000563: 036866,000564: 25,2514 15332 HALVE # IF VSAT-VL NEG, GO TO CONSTD 036867,000565: 25,2515 50025 DSU BMN 036868,000566: 25,2516 03767 VL 036869,000567: 25,2517 53226 BECONSTD # SET MODE=HUNTEST, CONTINUE IN CONSTD 036870,000568: 25,2520 17662 STODL DVL # DVL / 2VS 036871,000569: 036872,000570: 25,2521 15332 HALVE 036873,000571: 25,2522 03672 STORE VS1 # VS1 = VSAT 036874,000572: 036875,000573: 25,2523 50025 DSU BMN # IF V1 GREATER THAN VSAT, GO ON 036876,000574: 25,2524 00326 V1 036877,000575: 25,2525 52533 GETDHOOK 036878,000576: 25,2526 77621 BDSU 036879,000577: 25,2527 03662 DVL 036880,000578: 25,2530 17662 STODL DVL # DVL = DVL - (VSAT-V1) = V1 - VL 036881,000579: 25,2531 00326 V1 036882,000580: 25,2532 03672 STORE VS1 # VS1 = V1, IN THIS CASE 036883,000581: 036884,000582: 25,2533 45145 GETDHOOK DLOAD CALL # DHOOK=((1-VS1/FACT1) SQ -ALP)/FACT2 036885,000583: 25,2534 03672 VS1 # VS1 / 2 VS 036886,000584: 25,2535 53004 DHOOKYQ7 # GO CALC DHOOK 036887,000585: 25,2536 03656 STORE DHOOK # DHOOK / 25G 036888,000586: 036889,000587: 25,2537 56261 SR DDV 036890,000588: 25,2540 20607 6 # CHOOK 036891,000589: 25,2541 03175 Q7 036892,000590: 25,2542 77625 DSU 036893,000591: 25,2543 15250 CHOOK # = .25/16 = (-6) 036894,000592: 25,2544 03660 STORE AHOOKDV 036895,000593: 036896,000594: 25,2545 41215 DAD DMP # GAMMAL= GAMMAL1-CH1 DVL SQ(1+AHOOK DVL) 036897,000595: 25,2546 17367 1/16TH 036898,000596: 25,2547 15254 CH1 036899,000597: 25,2550 41205 DMP DMP 036900,000598: 25,2551 03662 DVL 036901,000599: 25,2552 03662 DVL 036902,000600: 25,2553 56271 DDV DDV 036903,000601: 25,2554 03656 DHOOK 036904,000602: 25,2555 03666 VBARS 036905,000603: 25,2556 50021 BDSU BMN 036906,000604: 25,2557 00027 GAMMAL1 036907,000605: 25,2560 52751 NEGAMA 036908,000606: 25,2561 03771 HUNTEST3 STORE GAMMAL 036909,000607: 036910,000608: 25,2562 77625 DSU # GAMMAL1=GAMMAL1 +Q19 (GAMMAL-GAMMAL1) 036911,000609: 25,2563 00027 GAMMAL1 036912,000610: 25,2564 43205 DMP DAD 036913,000611: 25,2565 15332 Q19 036914,000612: 25,2566 00027 GAMMAL1 036915,000613: 25,2567 14027 STODL GAMMAL1 036916,000614: 25,2570 03771 GAMMAL 036917,000615: 036918,000616: # *START RANGE PREDICTION ... 036919,000617: # C(MPAC) = GAMMAL 036920,000618: 25,2571 60516 RANGER DSQ SR2 # COSG = 1-GAMMAL SQ/2, TRUNCATED SERIES 036921,000619: 25,2572 77621 BDSU 036922,000620: 25,2573 15332 HALVE 036923,000621: 25,2574 17670 STODL COSG/2 036924,000622: 25,2575 03666 VBARS # E=SQRT(1+VBARS........ 036925,000623: 036926,000624: 25,2576 41225 DSU DMP 036927,000625: 25,2577 15332 HALVE 036928,000626: 25,2600 03666 VBARS 036929,000627: 25,2601 41205 DMP DMP 036930,000628: 25,2602 03670 COSG/2 036931,000629: 25,2603 03670 COSG/2 036932,000630: 25,2604 43312 SL2 DAD 036933,000631: 25,2605 17367 C1/16 # C1/16 = 1/16 036934,000632: 25,2606 65366 SQRT PDDL # E/4 INTO PDL 036935,000633: 036936,000634: 25,2607 03666 VBARS 036937,000635: 25,2610 41205 DMP DMP # ASKEP/2 = ARCSIN(VBARS COSG SING/E) 036938,000636: 25,2611 03670 COSG/2 036939,000637: 25,2612 03771 GAMMAL 036940,000638: 25,2613 67471 DDV ASIN 036941,000639: 25,2614 41552 SL1 PUSH # ASKEP TO PDL 0. 036942,000640: 25,2615 17731 STODL ASKEP # BALLISTIC RANGE ASKEP/2PI 036943,000641: 036944,000642: # FOR TM, STORE RANGE COMPONENTS OVERLAPPING (SP) 036945,000643: 25,2616 03767 VL 036946,000644: 25,2617 43205 DMP DAD # ASP1 = Q2 + Q3 VL 036947,000645: 25,2620 15170 Q3 036948,000646: 25,2621 03712 Q2 036949,000647: 25,2622 03732 STORE ASP1 # FINAL PHASE RANGE ASP1/2 PI 036950,000648: 036951,000649: 25,2623 63525 PDDL DSQ # ASP1 TO PDL 2. 036952,000650: 25,2624 00326 V1 036953,000651: # 2 036954,000652: # ASPUP= -C12 LOG(V1 Q7/VBARS A0)/GAMMAL1 036955,000653: 25,2625 56205 DMP DDV 036956,000654: 25,2626 03175 Q7 036957,000655: 25,2627 03666 VBARS 036958,000656: 25,2630 45071 DDV CALL 036959,000657: 25,2631 00330 A0 036960,000658: 25,2632 46155 LOG # RETURN WITH -LOG IN MPAC 036961,000659: 036962,000660: 25,2633 56205 DMP DDV 036963,000661: 25,2634 15206 C12 036964,000662: 25,2635 00027 GAMMAL1 036965,000663: 25,2636 03733 STORE ASPUP # UP PHASE RANGE ASPUP / 2 PI 036966,000664: 25,2637 41325 PDDL DMP # ASPUP TO PDL 4. 036967,000665: 25,2640 15256 KC3 # KC3 = -4 VS VS / 2 PI 805 RE 036968,000666: # ASPDWN = KC3 RDOT V / A0 036969,000667: 25,2641 03700 RDOT 036970,000668: 25,2642 56205 DMP DDV 036971,000669: 25,2643 03674 V 036972,000670: 25,2644 00330 A0 036973,000671: 25,2645 41471 DDV PUSH # ASPDWN TO PDL 6. 036974,000672: 25,2646 03624 LAD 036975,000673: 25,2647 17734 STODL ASPDWN # RANGE TO PULL OUT ASPDWN /2 PI 036976,000674: 036977,000675: 25,2650 15174 Q6 036978,000676: 25,2651 41225 DSU DMP # ASP3 = Q5(Q6-GAMMAL) 036979,000677: 25,2652 03771 GAMMAL 036980,000678: 25,2653 15172 Q5 036981,000679: 25,2654 27735 STOVL ASP3 # GAMMA CORRECTION ASP3/2PI 036982,000680: 036983,000681: 25,2655 03731 ASKEP # GET HI-WD AND 036984,000682: 25,2656 17126 STODL ASPS(TM) # SAVE HI-WORD OF ASP'S FOR TM. 036985,000683: 036986,000684: 25,2657 03735 ASP3 036987,000685: 25,2660 43215 DAD DAD 036988,000686: # ASPDWN FROM PDL 6. 036989,000687: # ASPUP FROM PDL 4. 036990,000688: 25,2661 43215 DAD DAD 036991,000689: # ASP1 FROM PDL 2. 036992,000690: # ASKEP FROM PDL 0. 036993,000691: 25,2662 41025 DSU BOVB # CLEAR OVFIND. 036994,000692: 25,2663 03702 THETAH 036995,000693: 25,2664 57353 TCDANZIG 036996,000694: 25,2665 03610 STORE DIFF # DIFF = (ASP-THETAH) / 2 PI 036997,000695: # ASP=ASKEP+ASP1+ASPUP+ASP3+ASPDWN = TOTAL RANGE 036998,000696: 036999,000697: 25,2666 45246 ABS DSU # IF ABS(THETAH-ASP) -25NM NEG, GO TO UPSY 037000,000698: 25,2667 15222 25NM 037001,000699: 25,2670 43040 BMN BON 037002,000700: 25,2671 53033 GOTOUPSY 037003,000701: 25,2672 03311 HIND 037004,000702: 25,2673 52677 GETLEWD 037005,000703: 037006,000704: 25,2674 51145 DLOAD BPL 037007,000705: 25,2675 03610 DIFF 037008,000706: 25,2676 53221 DCONSTD # EVENTUALLY SETS MODE = HUNTEST. 037009,000707: 25,2677 41345 GETLEWD DLOAD DMP 037010,000708: # DLEWD = DLEWD (DIFF/(DIFFOLD-DIFF)) 037011,000709: 25,2700 03642 DLEWD 037012,000710: 25,2701 03610 DIFF 037013,000711: 25,2702 45325 PDDL DSU 037014,000712: 25,2703 03612 DIFFOLD 037015,000713: 25,2704 03610 DIFF 037016,000714: 25,2705 77665 BDDV 037017,000715: 25,2706 77626 LWDSTORE STADR 037018,000716: 25,2707 74135 STORE DLEWD 037019,000717: 25,2710 50015 DAD BMN # IF LEWD+DLEWD NEG, DLEWD=-LEWD/2 037020,000718: 25,2711 03725 LEWD 037021,000719: 25,2712 52745 LEWDPTR 037022,000720: 25,2713 77600 BOV 037023,000721: 25,2714 52741 LEWDOVFL 037024,000722: 25,2715 03725 STORE LEWD 037025,000723: 037026,000724: 25,2716 77776 SIDETRAK EXIT 037027,000725: 037028,000726: 25,2717 35074 CA EBENTRY 037029,000727: 25,2720 54003 TS EBANK 037030,000728: 037031,000729: 25,2721 35104 CA PRIO16 # DROP GRP 5 RESTART PRIO TO 1 LESS THAN 037032,000730: 25,2722 55064 TS PHSPRDT5 # GRP 4. 037033,000731: 037034,000732: 25,2723 05426 TC PHASCHNG 037035,000733: 25,2724 00474 OCT 00474 # RESTART GRP 4 AT PRE-HUNT. 037036,000734: # FORCE RESTART TO PICK UP IN GRP 4: 037037,000735: # USE PRIO 17 FOR GRP 4 (< SERVICER PRIO) 037038,000736: 25,2725 35104 CA PRIO16 # CONTINUE GRP 5 AT LOWER PRIO THAN EITHER 037039,000737: # GRP 4 OR SERVICER. 037040,000738: 25,2726 05224 TC PRIOCHNG 037041,000739: 037042,000740: 25,2727 33032 CAF ADENDEXT # SIDETRACK NEXT PASS UNTIL THIS ONE DONE. 037043,000741: 25,2730 55645 TS GOTOADDR # ONLY AFTER RESTART IS LEFT AFTER DETOUR. 037044,000742: 037045,000743: 25,2731 06006 TC INTPRET 037046,000744: 037047,000745: 25,2732 43145 DLOAD SET 037048,000746: 25,2733 03610 DIFF 037049,000747: 25,2734 03071 HIND 037050,000748: 25,2735 17612 STODL DIFFOLD # DIFFOLD / 2 PI 037051,000749: 037052,000750: 25,2736 15176 Q7F 037053,000751: 25,2737 37175 STCALL Q7 # Q7 / 805 FPSS 037054,000752: 25,2740 52373 HUNTEST # (GO TO) 037055,000753: 037056,000754: 25,2741 77745 LEWDOVFL DLOAD 037057,000755: 25,2742 17373 NEARONE 037058,000756: 25,2743 37725 STCALL LEWD 037059,000757: 25,2744 53221 DCONSTD # (GO TO) ALSO WILL SET MODE = HUNTEST 037060,000758: 037061,000759: 25,2745 70545 LEWDPTR DLOAD SR1 037062,000760: 25,2746 03725 LEWD 037063,000761: 25,2747 52076 DCOMP GOTO 037064,000762: 25,2750 52706 LWDSTORE 037065,000763: 037066,000764: # NEGAMA IS PART OF HUNTEST ... 037067,000765: 037068,000766: 25,2751 41205 NEGAMA DMP DMP # ENTER WITH GAMMAL IN MPAC 037069,000767: 037070,000768: 25,2752 03767 VL 037071,000769: 25,2753 15146 1/3RD 037072,000770: 25,2754 41325 PDDL DMP # PUSH GAMMAL VL/3 037073,000771: 25,2755 03725 LEWD 037074,000772: 25,2756 15146 1/3RD 037075,000773: 25,2757 43325 PDDL DAD # PUSH LEWD/3 037076,000774: 25,2760 03660 AHOOKDV 037077,000775: 25,2761 15252 1/24TH 037078,000776: 25,2762 41205 DMP DMP # DEL VL = (GAMMAL VL/3)/(LEWD/3-DVL 037079,000777: 25,2763 03662 DVL # (2/3 + AHOOKDV)(CH1 GS/DHOOK VL)) 037080,000778: 25,2764 15254 CH1 037081,000779: 25,2765 56271 DDV DDV 037082,000780: 25,2766 03656 DHOOK 037083,000781: 25,2767 03767 VL 037084,000782: 25,2770 55221 BDSU BDDV 037085,000783: # LEWD/3 037086,000784: # GAMMAL VL /3 037087,000785: 25,2771 77615 DAD 037088,000786: 25,2772 03767 VL 037089,000787: 25,2773 37767 STCALL VL # VL/2 VS 037090,000788: 037091,000789: 25,2774 53004 DHOOKYQ7 # GO CALC Q7 037092,000790: # Q7=((1-VL/FACT1)SQ - ALP)/FACT2 037093,000791: 25,2775 17175 STODL Q7 # Q7 / 25G 037094,000792: 037095,000793: 25,2776 03767 VL 037096,000794: 25,2777 77716 DSQ 037097,000795: 25,3000 17666 STODL VBARS # VBARS / 4 VS VS 037098,000796: 037099,000797: 25,3001 15334 3ZEROS 037100,000798: 25,3002 77650 GOTO # SET GAMMAL = 0 037101,000799: 25,3003 52561 HUNTEST3 037102,000800: 037103,000801: 25,3004 56342 DHOOKYQ7 SR1 DDV # SUBROUTINE TO CALC DHOOK OR Q7) 037104,000802: 25,3005 03616 FACT1 037105,000803: 25,3006 72421 BDSU SL1 037106,000804: 25,3007 15332 HALVE 037107,000805: 25,3010 45316 DSQ DSU 037108,000806: 25,3011 03704 ALP 037109,000807: 25,3012 43471 DDV RVQ 037110,000808: 25,3013 03620 FACT2 037111,000809: 037112,000810: # COME TO PRE-HUNT WHEN RESTART OCCURS AFTER 037113,000811: # HUNTEST IS SIDE-TRACKED AT SIDETRAK. 037114,000812: # PICK UP IN GROUP 4. 037115,000813: 037116,000814: 25,3014 06006 PRE-HUNT TC INTPRET 037117,000815: 25,3015 45014 CLEAR CALL 037118,000816: 25,3016 03271 HIND # HIND 99D BIT 6 FLAG 6 037119,000817: 25,3017 53022 FOREHUNT # RE-INITIALIZE HUNTEST AFTER RE-START. 037120,000818: 25,3020 77650 GOTO 037121,000819: 25,3021 52373 HUNTEST 037122,000820: 037123,000821: 25,3022 77745 FOREHUNT DLOAD # INITIALIZE HUNTEST. 037124,000822: 25,3023 15334 3ZEROS 037125,000823: 25,3024 17612 STODL DIFFOLD 037126,000824: 25,3025 15156 DLEWD0 037127,000825: 25,3026 17642 STODL DLEWD 037128,000826: 25,3027 15150 LEWD1 037129,000827: 25,3030 03725 STORE LEWD 037130,000828: 25,3031 77616 RVQ 037131,000829: 037132,000830: 25,3032 53576 ADENDEXT CADR ENDEXIT 037133,000831: 037134,000832: # * START UP CONTROL ... 037135,000833: # MM = 65 037136,000834: 25,3033 77634 GOTOUPSY RTB # END OF HUNTEST 037137,000835: 25,3034 54434 P65 # HUNTEST USE OF GRP4 IS DISABLED BY P65 037138,000836: # USE FOR DISPLAY. 037139,000837: # SET MODE = UPCONTRL. 037140,000838: # RETURN FROM P65 DIRECTLY TO UPCONTRL 037141,000839: # VIA THE GOTOADDR AT REFAZE10. 037142,000840: 037143,000841: 25,3035 45345 UPCONTRL DLOAD DSU # IF D-140 POS, NOSWITCH =1 037144,000842: 25,3036 03640 D # (SUPPRESS LATERAL SWITCH) 037145,000843: 25,3037 15220 C21 037146,000844: 25,3040 43040 BMN SET 037147,000845: 25,3041 53043 +2 037148,000846: 25,3042 03070 NOSWITCH 037149,000847: 037150,000848: 25,3043 45345 DLOAD DSU # IF V-V1 POS, GO TO DOWN CONTROL. 037151,000849: 25,3044 03674 V 037152,000850: 25,3045 00326 V1 037153,000851: 25,3046 71244 BPL DLOAD 037154,000852: 25,3047 53260 DOWNCNTL 037155,000853: 25,3050 03640 D 037156,000854: 25,3051 50025 DSU BMN # IF D- Q7 NEG, GO TO KEP 037157,000855: 25,3052 03175 Q7 037158,000856: 25,3053 53313 KEP 037159,000857: 25,3054 51145 DLOAD BPL # IF RDOT NEG, DO VLTEST 037160,000858: 25,3055 03700 RDOT 037161,000859: 25,3056 53065 CONT1 037162,000860: 037163,000861: 25,3057 45345 VLTEST DLOAD DSU # IF V-VL-C18 NEG,EGSW=1,MODE=PREDICT3 037164,000862: 25,3060 03674 V 037165,000863: 25,3061 03767 VL 037166,000864: 25,3062 50025 DSU BMN 037167,000865: 25,3063 15164 C18 037168,000866: 25,3064 53333 PREFINAL 037169,000867: 037170,000868: 25,3065 77745 CONT1 DLOAD # IF D-A0 POS, L/D = LAD, GO TO LIMITL/D 037171,000869: 25,3066 03640 D 037172,000870: 25,3067 50025 DSU BMN 037173,000871: 25,3070 00330 A0 037174,000872: 25,3071 53075 CONT3 037175,000873: 25,3072 52145 DLOAD GOTO 037176,000874: 25,3073 03624 LAD 037177,000875: 25,3074 53525 STOREL/D 037178,000876: 037179,000877: 25,3075 41345 CONT3 DLOAD DMP # VREF=FACT1(1-SQRT(FACT2 D + ALP)) 037180,000878: 25,3076 03640 D 037181,000879: 25,3077 03620 FACT2 037182,000880: 25,3100 75415 DAD SQRT 037183,000881: 25,3101 03704 ALP 037184,000882: 25,3102 41221 BDSU DMP 037185,000883: 25,3103 17373 BARELY1 037186,000884: 25,3104 03616 FACT1 037187,000885: 25,3105 01160 STORE VREF # VREF / 2VS 037188,000886: 037189,000887: 25,3106 41221 BDSU DMP # RDOTREF = LEWD(V1-VREF) 037190,000888: 25,3107 00326 V1 037191,000889: 25,3110 03725 LEWD 037192,000890: 25,3111 15156 STODL RDOTREF # RDOTREF / 2VS 037193,000891: 037194,000892: 25,3112 03672 VS1 037195,000893: 25,3113 50025 DSU BMN # IF VSAT-VREF NEG, GO TO CONTINU2 037196,000894: 25,3114 01160 VREF 037197,000895: 25,3115 53134 CONTINU2 037198,000896: 037199,000897: 25,3116 41406 PUSH PUSH # VS1-VREF TO PDL TWICE 037200,000898: 25,3117 56205 DMP DDV # RDHOOK=CH1(1+DV AHOOKDV/DVL) DV DV 037201,000899: 25,3120 03660 AHOOKDV # /DHOOK VREF 037202,000900: 25,3121 03662 DVL # WHERE DV = (VS1-VREF) 037203,000901: 25,3122 41215 DAD DMP 037204,000902: 25,3123 17367 1/16TH 037205,000903: 25,3124 15254 CH1 037206,000904: 25,3125 41205 DMP DMP 037207,000905: # VS1-VREF FROM PDL TWICE. 037208,000906: 25,3126 77671 DDV 037209,000907: 25,3127 03656 DHOOK 037210,000908: 25,3130 44271 DDV BDSU 037211,000909: 25,3131 01160 VREF 037212,000910: 25,3132 01156 RDOTREF # C(RDOTREF)= LEWD (V1-VREF) 037213,000911: 25,3133 01156 STORE RDOTREF # RDOTREF = RDOTREF - RDHOOK 037214,000912: 037215,000913: 25,3134 45345 CONTINU2 DLOAD DSU 037216,000914: 25,3135 03640 D 037217,000915: 25,3136 15312 Q7MIN 037218,000916: 25,3137 50004 BOVB BMN 037219,000917: 25,3140 57353 TCDANZIG # CLEAR OVFL IND, IF ON. 037220,000918: 25,3141 53152 UPCNTRL3 037221,000919: 25,3142 45345 DLOAD DSU 037222,000920: 25,3143 03664 A1 037223,000921: 25,3144 03175 Q7 037224,000922: 25,3145 45325 PDDL DSU 037225,000923: 25,3146 03640 D 037226,000924: 25,3147 03175 Q7 037227,000925: 25,3150 45471 DDV STADR 037228,000926: 25,3151 74163 STORE FACTOR # FACTOR / 25G 037229,000927: 037230,000928: # SKIPPER 037231,000929: # DELTA L/D=-((RDOT-RDOTREF)F1 KB1+V-VREF)F1 KB2 037232,000930: # WHERE F1 = FACTOR 037233,000931: 037234,000932: 25,3152 77745 UPCNTRL3 DLOAD 037235,000933: 25,3153 03700 RDOT 037236,000934: 25,3154 41225 DSU DMP # L/D = LEWD 037237,000935: 25,3155 01156 RDOTREF # -((RDOT-RDOTREF)F1/KB1+V-VREF)F1/KB2 037238,000936: 25,3156 03614 FACTOR 037239,000937: 25,3157 43271 DDV DAD 037240,000938: 25,3160 15210 1/KB1 037241,000939: 25,3161 03674 V 037242,000940: 25,3162 41225 DSU DMP 037243,000941: 25,3163 01160 VREF 037244,000942: 25,3164 03614 FACTOR 037245,000943: 25,3165 41471 DDV PUSH 037246,000944: 037247,000945: 25,3166 15212 -1/KB2 # DELTA L/D INTO PDL 037248,000946: 25,3167 51400 BOV ABS # NONLINEAR CIRCUIT FOR REDUCING HIGH GAIN 037249,000947: 25,3170 53472 GOMAXL/D 037250,000948: 25,3171 50025 DSU BMN 037251,000949: 25,3172 15274 PT1/16 037252,000950: 25,3173 53200 NEXT1 037253,000951: 25,3174 43205 DMP DAD 037254,000952: 25,3175 15152 POINT1 037255,000953: 25,3176 15274 PT1/16 037256,000954: 25,3177 41565 SIGN PUSH # ATTACH SIGN OF PUSH TO MPAC THEN PUSH 037257,000955: 037258,000956: 25,3200 42545 NEXT1 DLOAD SL4 037259,000957: # DELTA L/D FROM PDL. 037260,000958: 037261,000959: 25,3201 77615 DAD 037262,000960: 25,3202 03725 LEWD 037263,000961: 25,3203 41400 NEGTESTS BOV PUSH # L/D TO PDL FOR USE IN NEGTESTS. 037264,000962: 25,3204 53472 GOMAXL/D 037265,000963: 25,3205 17634 STODL L/D 037266,000964: # IF D-C20 POS, LATSW =0 037267,000965: # AND IF L/D NEG, L/D = 0. 037268,000966: 25,3206 03640 D 037269,000967: 25,3207 50025 DSU BMN 037270,000968: 25,3210 15216 C20 037271,000969: 25,3211 53526 LIMITL/D 037272,000970: 25,3212 71214 CLEAR DLOAD 037273,000971: 25,3213 03273 LATSW # =21D. ROLL OVER TOP, REGARDLESS. 037274,000972: # L/D FROM PDL. 037275,000973: 25,3214 71244 BPL DLOAD 037276,000974: 25,3215 53526 LIMITL/D 037277,000975: 25,3216 15334 3ZEROS 037278,000976: 25,3217 37634 STCALL L/D 037279,000977: 25,3220 53526 LIMITL/D # (GO TO) 037280,000978: 037281,000979: 25,3221 77745 DCONSTD DLOAD # TWO RANGER ENTRIES TO CONSTD HERE 037282,000980: 25,3222 03610 DIFF 037283,000981: # SAVE OLD VALUE OF DIFF FOR NEXT PASS. 037284,000982: 25,3223 17612 STODL DIFFOLD # DIFFOLD / 2 PI 037285,000983: 037286,000984: 25,3224 15176 Q7F 037287,000985: 25,3225 03175 STORE Q7 037288,000986: 037289,000987: 25,3226 47131 BECONSTD SSP RTB # A HUNTEST ENTRY INTO CONSTD. 037290,000988: 25,3227 03646 GOTOADDR # RESET MODE TO HUNTEST 037291,000989: 25,3230 52373 HUNTEST 037292,000990: 25,3231 54501 KILLGRP4 # DEACTIVATE GRP4 FROM HUNTEST. 037293,000991: 037294,000992: 25,3232 77604 CONSTD BOVB 037295,000993: 25,3233 57353 TCDANZIG # CLEAR OVF IND IF ON. 037296,000994: 037297,000995: 25,3234 41345 DLOAD DMP 037298,000996: 25,3235 03654 LEQ 037299,000997: 25,3236 03706 C/D0 # C/D0 = -4/D0 B-8 037300,000998: 25,3237 41325 PDDL DMP # LEQ C/D0 INTO PDL 037301,000999: 25,3240 15262 2HS # 2HS / 4 VS VS 037302,001000: 25,3241 03710 D0 037303,001001: 25,3242 43271 DDV DAD # RDOTREF = -2 HS D0/V 037304,001002: 25,3243 03674 V 037305,001003: 25,3244 03700 RDOT 037306,001004: 25,3245 43205 DMP DAD 037307,001005: 25,3246 15226 K2D # C/D0 LEQ + K2D(RDOT-RDOTREF) INTO PD 037308,001006: 25,3247 77725 PDDL 037309,001007: 25,3250 03710 D0 # D0 /805 037310,001008: 037311,001009: 25,3251 77621 CONSTD1 BDSU # ENTER WITH DREF IN MPAC 037312,001010: 25,3252 03640 D 037313,001011: 25,3253 43205 DMP DAD 037314,001012: 25,3254 15224 K1D # K2D TERM FROM PUSH 037315,001013: 25,3255 52061 SL GOTO 037316,001014: 25,3256 20211 8D 037317,001015: 25,3257 53203 NEGTESTS # (GO TO) 037318,001016: 037319,001017: 25,3260 77604 DOWNCNTL BOVB # INITIAL PART OF UPCONTROL. 037320,001018: 25,3261 57353 TCDANZIG # CLEAR OVFIND, IF ON. 037321,001019: 037322,001020: 25,3262 54345 DLOAD SR 037323,001021: 25,3263 03624 LAD 037324,001022: 25,3264 20611 8D 037325,001023: 25,3265 45325 PDDL DSU # RDTR = LAD(V1-V) 037326,001024: 25,3266 03674 V 037327,001025: 25,3267 00326 V1 037328,001026: 25,3270 43205 DMP DAD 037329,001027: 25,3271 03624 LAD 037330,001028: 25,3272 03700 RDOT 037331,001029: 25,3273 43205 DMP DAD 037332,001030: 25,3274 15226 K2D 037333,001031: # PUSH UP LAD. 037334,001032: 25,3275 45325 PDDL DSU # LAD + K2D(RDOT-RDTR) INTO PD 037335,001033: 25,3276 00326 V1 037336,001034: 25,3277 03674 V 037337,001035: 25,3300 41316 DSQ DMP 037338,001036: 25,3301 03624 LAD 037339,001037: 25,3302 65271 DDV PDDL # (V1-V)SQ LAD/(2 C1 HS) INTO PD 037340,001038: 25,3303 15272 2C1HS 037341,001039: 25,3304 00326 V1 037342,001040: 25,3305 56316 DSQ DDV 037343,001041: 25,3306 03622 VSQUARE 037344,001042: 25,3307 45265 BDDV DSU # DREF = (V/V1)SQ A0 - PD 037345,001043: 25,3310 00330 A0 037346,001044: # PUSH UP HERE 037347,001045: 25,3311 77650 GOTO # C(MPAC) = DREF 037348,001046: 25,3312 53251 CONSTD1 037349,001047: 037350,001048: # 2 2 037351,001049: # DREF = (V/V1) A0 -(V-V1) LAD/2 C1 HS 037352,001050: # * START BALLISTIC PHASE ... 037353,001051: # MM = 66 UPCONTRL ENTRY INTO KEP2. 037354,001052: 25,3313 66234 KEP RTB SSP 037355,001053: 25,3314 54467 P66 # DISPLAY TRIM GIMBAL ANGLE VALUES. 037356,001054: 25,3315 03646 GOTOADDR # SET GOTOADDR TO KEPLER PHASE. 037357,001055: 25,3316 53317 KEP2 037358,001056: 037359,001057: # KEP2 CAN ALSO BE STARTED UP DIRECTLY FROM INITROLL 037360,001058: # IN P64. PROGRAM WILL IDLE IN P64 UNTIL D EXCEEDS 037361,001059: # .2 G BEFORE GOING ON TO P67. 037362,001060: 037363,001061: 25,3317 45345 KEP2 DLOAD DSU # IF Q7F+KDMIN -D NEG, GO TO FINAL PHASE. 037364,001062: 25,3320 15166 Q7FKDMIN # (Q7F + KDMIN)/805 037365,001063: 25,3321 03640 D 037366,001064: 25,3322 72240 BMN TLOAD 037367,001065: 25,3323 53333 PREFINAL 037368,001066: # SET ROLLHOLD = ROLLC, IN CASE CMDAPMOD 037369,001067: 25,3324 03316 ROLLC # = +1 EVER ENTERED. 037370,001068: 25,3325 72214 BON TLOAD # IF D > .05G, KEEP PRESENT ROLL COMMAND. 037371,001069: 25,3326 03314 .05GSW # IF D < .05G, SET ROLL COMMAND = 0. 037372,001070: 25,3327 53331 +2 037373,001071: 25,3330 15334 3ZEROS # SET ROLLC & ROLLHOLD =0. 037374,001072: 25,3331 37316 +2 STCALL ROLLC # (SP ROLLHOLD FOLLOWS DP ROLLC) 037375,001073: 25,3332 54374 P62.3 # CALC DESIRED GIMBAL ANGLES AT PRESENT 037376,001074: # RN, VN TO YIELD TRIM ATTITUDE. 037377,001075: # AVAILABLE IN CPHI'S FOR N22. 037378,001076: # START FINAL PHASE .. 037379,001077: # MM = 67 037380,001078: 25,3333 47131 PREFINAL SSP RTB 037381,001079: 25,3334 03646 GOTOADDR # RESTART PROTECT: RESET GOTOADDR IF CAME 037382,001080: 25,3335 53333 PREFINAL # FROM HUNTEST. 037383,001081: 25,3336 54473 P67 # DISABLES GRP4. FINE IF FROM HUNTEST. BUT 037384,001082: # MAY ALSO REMOVE RESTART PROTECTION OF 037385,001083: # N69 (P65). 037386,001084: # ROLLC XRNGERR DNRNGERR 037387,001085: # XXX.XX DEG XXXX.X NM XXXX.X NM 037388,001086: 037389,001087: 25,3337 66214 SET SSP 037390,001088: 25,3340 03067 EGSW 037391,001089: 25,3341 03646 GOTOADDR 037392,001090: 25,3342 53343 PREDICT3 037393,001091: 037394,001092: 25,3343 45345 PREDICT3 DLOAD DSU # IF V-VQUIT NEG, STOP STEERING 037395,001093: 25,3344 03674 V 037396,001094: 25,3345 15214 VQUIT 037397,001095: 25,3346 77440 BMN EXIT 037398,001096: 25,3347 53613 STEEROFF 037399,001097: 037400,001098: 25,3350 35074 CA EBENTRY # PRECAUTIONARY. 037401,001099: 25,3351 54003 TS EBANK 037402,001100: 037403,001101: 25,3352 35775 CA TWELVE 037404,001102: 25,3353 55771 BACK TS JJ 037405,001103: 037406,001104: 25,3354 41673 CS V 037407,001105: 25,3355 51771 INDEX JJ 037408,001106: 25,3356 63637 AD VREFER # VREF - V, HIGHEST VREF AT END OF TABLE. 037409,001107: 25,3357 10000 CCS A # IF VREF-V POS LOOP BACK 037410,001108: 25,3360 11771 CCS JJ # DECREMENT JJ, JJ CANNOT BE ZERO 037411,001109: 25,3361 13353 TCF BACK 037412,001110: 25,3362 65033 AD ONE 037413,001111: 25,3363 55646 TS TEM1B # V-VREF IN TEM1B (MUST BE POSITIVE NUM) 037414,001112: 037415,001113: 25,3364 51771 INDEX JJ 037416,001114: 25,3365 43637 CS VREFER 037417,001115: 25,3366 51771 INDEX JJ 037418,001116: 25,3367 63640 AD VREFER +1 # V(K+1) - V(K) (POS NUM) 037419,001117: 25,3370 57646 XCH TEM1B 037420,001118: 25,3371 22007 ZL 037421,001119: 25,3372 00006 EXTEND 037422,001120: 25,3373 11646 DV TEM1B 037423,001121: 25,3374 55651 TS GRAD # GRAD = (V-VREF)/(VK+1 - VK) (POS NUM 037424,001122: 037425,001123: 25,3375 35036 CAF FIVE 037426,001124: 037427,001125: 25,3376 55650 BACK2 TS MM 037428,001126: 25,3377 35041 CAF THIRTEEN 037429,001127: 25,3400 27771 ADS JJ 037430,001128: 25,3401 50000 INDEX A 037431,001129: 25,3402 43637 CS VREFER 037432,001130: 25,3403 51771 INDEX JJ 037433,001131: 25,3404 63640 AD VREFER +1 # X(K+1) - X(K) 037434,001132: 25,3405 00006 EXTEND 037435,001133: 25,3406 71651 MP GRAD 037436,001134: 25,3407 51771 INDEX JJ 037437,001135: 25,3410 63637 AD VREFER 037438,001136: 25,3411 51650 INDEX MM 037439,001137: 25,3412 55652 TS FX # FX = AK + GRAD (AK+1 - AK) 037440,001138: 25,3413 11650 CCS MM 037441,001139: 25,3414 13376 TCF BACK2 037442,001140: 25,3415 57653 XCH FX +1 # ZERO FX +1 AND GET DREFR 037443,001141: 25,3416 61637 AD D 037444,001142: 25,3417 00006 EXTEND 037445,001143: 25,3420 71657 MP FX +5 # F1 037446,001144: 25,3421 52155 DXCH MPAC # MPAC = F1(D-DREF) 037447,001145: 037448,001146: 25,3422 00006 EXTEND 037449,001147: 25,3423 41700 DCS RDOT # FORM RDOTREF - RDOT 037450,001148: 25,3424 20001 DDOUBL 037451,001149: 25,3425 20001 DDOUBL 037452,001150: 25,3426 20001 DDOUBL # SCALE UP BY 8 FOR THIS PHASE. 037453,001151: 25,3427 61655 AD FX +3 # RDOTREF 037454,001152: 25,3430 00006 EXTEND 037455,001153: 25,3431 71656 MP FX +4 # F2 037456,001154: 25,3432 61654 AD FX +2 # RTOGO 037457,001155: 25,3433 20155 DAS MPAC # ADD F2(DADV1-DADVR) 037458,001156: 25,3434 30154 CA MPAC 037459,001157: 25,3435 55770 TS PREDANG 037460,001158: # L/D = LOD + (THETA- PREDANG)/ Y 037461,001159: 25,3436 06006 TC INTPRET 037462,001160: 037463,001161: 25,3437 45242 SR3 DSU 037464,001162: 25,3440 03702 THETAH 037465,001163: 25,3441 43014 BON BOFF 037466,001164: 25,3442 03305 GONEPAST 037467,001165: 25,3443 53470 GONEGLAD 037468,001166: 25,3444 03747 GONEBY 037469,001167: 25,3445 53453 HAVDNRNG 037470,001168: 25,3446 43145 DLOAD SET # SET GONEPAST IF GONEBY SET & LATCH IN- 037471,001169: 25,3447 13773 MAXRNG # DISPLAY = 9999.9 IF GONEBY PLACE 037472,001170: 25,3450 03065 GONEPAST 037473,001171: 25,3451 37716 STCALL DNRNGERR 037474,001172: 25,3452 53470 GONEGLAD 037475,001173: 037476,001174: 25,3453 03716 HAVDNRNG STORE DNRNGERR # = (PREDANG - THETA) /360 037477,001175: 25,3454 77676 DCOMP # FALL SHORT IF NEG, OVERSHOOT IF POS 037478,001176: 25,3455 56204 BOVB DDV 037479,001177: 25,3456 57353 TCDANZIG # CLEAR OVFIND IF ON. 037480,001178: 25,3457 03653 FX # FX= DRANGE/D L/D = Y 037481,001179: 25,3460 40061 SL BOV 037482,001180: 25,3461 20206 5 037483,001181: 25,3462 53472 GOMAXL/D 037484,001182: 25,3463 40015 DAD BOV 037485,001183: 25,3464 03626 LOD 037486,001184: 25,3465 53472 GOMAXL/D 037487,001185: 25,3466 37634 STCALL L/D 037488,001186: 25,3467 53476 GLIMITER # (GO TO) 037489,001187: 037490,001188: # GONEGLAD AND GOPOSMAX ENTRY POINTS FOR GLIMITER ... 037491,001189: 037492,001190: 25,3470 77745 GONEGLAD DLOAD # SET L/D = -LAD 037493,001191: 25,3471 13471 GONEGLAD # (ANY NEGATIVE NUMBER WILL DO) 037494,001192: 037495,001193: 25,3472 41234 GOMAXL/D RTB DMP # L/D = LAD SIGN(MPAC) 037496,001194: 25,3473 45712 SIGNMPAC 037497,001195: 25,3474 03624 LAD 037498,001196: 25,3475 03634 STORE L/D # AND FALL INTO GLIMITER SECTION 037499,001197: 037500,001198: 25,3476 45345 GLIMITER DLOAD DSU # IF GMAX/2-D POS, GO TO LIMITL/D 037501,001199: 25,3477 15160 GMAX/2 037502,001200: 25,3500 03640 D 037503,001201: 25,3501 43244 BPL DAD # IF GMAX -D NEG, GO TO GOPOSLAD 037504,001202: 25,3502 53526 LIMITL/D 037505,001203: 25,3503 15160 GMAX/2 037506,001204: 25,3504 41240 BMN DMP 037507,001205: 25,3505 53523 GOPOSLAD 037508,001206: 25,3506 15262 2HS 037509,001207: 25,3507 41325 PDDL DMP # 2HS(GMAX-D) INTO PD 037510,001208: 25,3510 03654 LEQ 037511,001209: 25,3511 15332 1/GMAX 037512,001210: 25,3512 41215 DAD DMP 037513,001211: 25,3513 03624 LAD 037514,001212: 25,3514 56325 PDDL DDV # 2HS(GMAX-D) (LEQ/GMAX+LAD) INTO PD 037515,001213: 25,3515 15264 2HSGMXSQ 037516,001214: 25,3516 03622 VSQUARE 037517,001215: 25,3517 75415 DAD SQRT # XLIM = SQRT(PD+(2HSGMAX/V)SQ) 037518,001216: 25,3520 51015 DAD BPL # IF RDOT+XLIM POS, GO TO LIMITL/D 037519,001217: 25,3521 03700 RDOT 037520,001218: 25,3522 53526 LIMITL/D 037521,001219: 037522,001220: 25,3523 77745 GOPOSLAD DLOAD 037523,001221: 25,3524 03624 LAD 037524,001222: 25,3525 03634 STOREL/D STORE L/D 037525,001223: 037526,001224: 25,3526 77745 LIMITL/D DLOAD 037527,001225: 25,3527 03634 L/D 037528,001226: 25,3530 17636 STODL L/D1 037529,001227: 25,3531 03622 VSQUARE 037530,001228: 037531,001229: 25,3532 77614 BON # NO LATERAL CONTROL IF PAST TARGET 037532,001230: 25,3533 03305 GONEPAST 037533,001231: 25,3534 53566 L355 037534,001232: 25,3535 43205 DMP DAD # Y= KLAT VSQUARE + LATBIAS 037535,001233: 25,3536 03632 KLAT 037536,001234: 25,3537 15242 LATBIAS # Y INTO PD 037537,001235: 25,3540 51525 L350 PDDL ABS # IF ABS(L/D)-L/DCMINR NEG, GO TO L353 037538,001236: 25,3541 03634 L/D 037539,001237: 25,3542 50025 DSU BMN 037540,001238: 25,3543 03630 L/DCMINR 037541,001239: 25,3544 53553 L353 037542,001240: 25,3545 75345 DLOAD SIGN # IF K2ROLL LATANG NEG, GO TO L357 037543,001241: 25,3546 03676 LATANG 037544,001242: 25,3547 03644 K2ROLL 037545,001243: 25,3550 71240 BMN DLOAD 037546,001244: 25,3551 53632 L357 037547,001245: 25,3552 41542 SR1 PUSH # Y = Y/2 037548,001246: 25,3553 75345 L353 DLOAD SIGN # IF LATANG SIGN(K2ROLL)-Y POS, SWITCH 037549,001247: 25,3554 03676 LATANG 037550,001248: 25,3555 03644 K2ROLL 037551,001249: 25,3556 77625 DSU 037552,001250: 25,3557 71240 BMN DLOAD 037553,001251: 25,3560 53566 L355 037554,001252: 25,3561 03644 K2ROLL 037555,001253: 25,3562 57414 BONCLR DCOMP # IF NOSWITCH =1, K2ROLL= K2ROLL 037556,001254: 25,3563 03210 NOSWITCH 037557,001255: 25,3564 53566 L355 037558,001256: 25,3565 03644 STORE K2ROLL # K2ROLL = -K2ROLL 037559,001257: 037560,001258: 25,3566 56345 L355 DLOAD DDV # ROLLC = ACOS( (L/D1) / LAD) 037561,001259: 25,3567 03636 L/D1 037562,001260: 25,3570 03624 LAD # MPAC SET TO +-1 IF OVERFLOW*** 037563,001261: 25,3571 65542 SR1 ACOS 037564,001262: 25,3572 43165 SIGN CLEAR 037565,001263: 25,3573 03644 K2ROLL 037566,001264: 25,3574 03270 NOSWITCH 037567,001265: 25,3575 03316 STORE ROLLC 037568,001266: 037569,001267: 25,3576 77776 ENDEXIT EXIT 037570,001268: 037571,001269: 25,3577 35017 OVERNOUT CA BIT13 # ENTRYDSP =92D B13 037572,001270: 25,3600 70102 MASK CM/FLAGS 037573,001271: 25,3601 00006 EXTEND 037574,001272: 25,3602 13606 BZF NODISKY # OMIT DISPLAY. 037575,001273: 25,3603 31263 CA ENTRYVN # ALL ENTRY DISPLAYS ARE DONE HERE. 037576,001274: 25,3604 04676 TC BANKCALL 037577,001275: 25,3605 20712 CADR REGODSPR # NO ABORT IF DISKY IN USE 037578,001276: 037579,001277: 25,3606 00004 NODISKY INHINT 037580,001278: 25,3607 10067 CCS NEWJOB # PROTECT READACCS GRP 5, IF SIDETRACKED. 037581,001279: 25,3610 05200 TC CHANG1 037582,001280: 25,3611 04715 SERVNOUT TC POSTJUMP # ( COME HERE FROM P67.3 ) 037583,001281: 25,3612 77231 CADR SERVEXIT # AND END AVERAGEG JOB VIA ENDOFJOB. 037584,001282: 037585,001283: # DISPLAY WHEN V IS LESS THAN VQUIT. 037586,001284: 037587,001285: 25,3613 77776 STEEROFF EXIT 037588,001286: 25,3614 35074 CA EBENTRY # PRECAUTIONARY. 037589,001287: 25,3615 54003 TS EBANK 037590,001288: 037591,001289: 25,3616 35104 CA PRIO16 # 2 LESS THAN NTRYPRIO. 037592,001290: 25,3617 05150 TC NOVAC 037593,001291: 25,3620 E6,1661 EBANK= AOG # ANY EB HERE 037594,001292: 25,3620 02505 54066 2CADR P67.1 # START UP REMAINDER OF P67 037595,001293: 037596,001294: # RTOGO LAT LONG 037597,001295: # XXXX.X NM XXX.XX DEG XXX.XX DEG 037598,001296: 037599,001297: 25,3622 05406 TC 2PHSCHNG # INHINT/RELINT DONE. 037600,001298: 25,3623 00414 OCT 00414 # 4.41 RESTART FOR P67.1 DISPLAY JOB. 037601,001299: 25,3624 10035 OCT 10035 # SERVICER 5.3 RESTART. 037602,001300: 037603,001301: 25,3625 33631 CA P67.2CAD # HEREAFTER, DO LAT, LONG. 037604,001302: 25,3626 55645 TS GOTOADDR 037605,001303: 037606,001304: 25,3627 06006 TC INTPRET 037607,001305: 25,3630 77650 GOTO 037608,001306: 25,3631 54524 P67.2CAD P67.2 # CONTINUE FOR LAT, LONG THIS TIME. 037609,001307: 037610,001308: 25,3632 75345 L357 DLOAD SIGN # L/D = L/DCMINR SIGN(L/D) 037611,001309: 25,3633 03630 L/DCMINR 037612,001310: 25,3634 03634 L/D 037613,001311: 25,3635 37636 STCALL L/D1 037614,001312: 25,3636 53566 L355 # (GO TO) 037615,001313: 037616,001314: # TABLE USED FOR SUB-ORBITAL REFERENCE TRAJECTORY CONTROL. 037617,001315: 037618,001316: 25,3637 00474 VREFER DEC .019288 # REFERENCE VELOCITY SCALED V/51532.3946 037619,001317: 25,3640 01235 DEC .040809 # 13 POINTS ARE STORED AS THE INDEPENDENT 037620,001318: 25,3641 02337 DEC .076107 # VARIABLE AND THEN SIX 13 POINT FUNCTIONS 037621,001319: 25,3642 03721 DEC .122156 # OF V ARE STORED CONSECUTIVELY 037622,001320: 25,3643 05230 DEC .165546 037623,001321: 25,3644 06213 DEC .196012 037624,001322: 25,3645 10550 DEC .271945 037625,001323: 25,3646 11717 DEC .309533 037626,001324: 25,3647 13314 DEC .356222 037627,001325: 25,3650 14736 DEC .404192 037628,001326: 25,3651 16255 DEC .448067 037629,001327: 25,3652 16457 DEC .456023 037630,001328: 25,3653 25570 DEC .67918 # HIGHVELOCITY FOR SAFETY 037631,001329: 037632,001330: 25,3654 77526 DEC -.010337 # DRANGE/DA SCALED DRDA/(2700/805) 037633,001331: 25,3655 77360 DEC -.016550 037634,001332: 25,3656 77106 DEC -.026935 037635,001333: 25,3657 76516 DEC -.042039 037636,001334: 25,3660 76071 DEC -.058974 037637,001335: 25,3661 75570 DEC -.070721 037638,001336: 25,3662 74661 DEC -.098538 037639,001337: 25,3663 74436 DEC -.107482 037640,001338: 25,3664 73212 DEC -.147762 037641,001339: 25,3665 71640 DEC -.193289 037642,001340: 25,3666 54557 DEC -.602557 037643,001341: 25,3667 40000 DEC -.99999 037644,001342: 25,3670 40000 DEC -.99999 037645,001343: 037646,001344: 25,3671 77635 DEC -.0478599 B-3 # -DRANGE/DRDOT 037647,001345: 25,3672 77563 DEC -.0683663 B-3 # SCALED ((2VS/8 2700) DR/DRDOT) 037648,001346: 25,3673 77354 DEC -.1343468 B-3 037649,001347: 25,3674 76712 DEC -.2759846 B-3 037650,001348: 25,3675 76066 DEC -.4731437 B-3 037651,001349: 25,3676 75322 DEC -.6472087 B-3 037652,001350: 25,3677 73237 DEC -1.171693 B-3 037653,001351: 25,3700 72104 DEC -1.466382 B-3 037654,001352: 25,3701 70301 DEC -1.905171 B-3 037655,001353: 25,3702 65635 DEC -2.547990 B-3 037656,001354: 25,3703 57311 DEC -4.151220 B-3 037657,001355: 25,3704 50575 DEC -5.813617 B-3 037658,001356: 25,3705 50575 DEC -5.813617 B-3 037659,001357: 037660,001358: 25,3706 74443 DEC -.0134001 B3 # RDOTREF SCALED (8 RDT/2VS) 037661,001359: 25,3707 74333 DEC -.013947 B3 037662,001360: 25,3710 74433 DEC -.013462 B3 037663,001361: 25,3711 74763 DEC -.011813 B3 037664,001362: 25,3712 75432 DEC -.0095631 B3 037665,001363: 25,3713 75735 DEC -.00806946 B3 037666,001364: 25,3714 76200 DEC -.006828 B3 037667,001365: 25,3715 75735 DEC -.00806946 B3 037668,001366: 25,3716 75140 DEC -.0109791 B3 037669,001367: 25,3717 74075 DEC -.0151498 B3 037670,001368: 25,3720 73312 DEC -.0179817 B3 037671,001369: 25,3721 73732 DEC -.0159061 B3 037672,001370: 25,3722 73732 DEC -.0159061 B3 037673,001371: 037674,001372: 25,3723 00026 DEC .00137037 # 3.7 RTOGO SCALED RTOGO/2700 037675,001373: 25,3724 00077 DEC .00385185 # 10.4 037676,001374: 25,3725 00217 DEC .00874074 # 23.6 037677,001375: 25,3726 00431 DEC .017148 037678,001376: 25,3727 00712 DEC .027926 037679,001377: 25,3730 01136 DEC .037 037680,001378: 25,3731 02015 DEC .063298 037681,001379: 25,3732 02374 DEC .077889 037682,001380: 25,3733 03123 DEC .098815 037683,001381: 25,3734 04051 DEC .127519 037684,001382: 25,3735 05767 DEC .186963 037685,001383: 25,3736 07476 DEC .238148 037686,001384: 25,3737 11324 DEC .294185185 037687,001385: 037688,001386: 25,3740 76272 DEC -.051099 # -AREF/805 037689,001387: 25,3741 75472 DEC -.074534 037690,001388: 25,3742 74604 DEC -.101242 037691,001389: 25,3743 74210 DEC -.116646 037692,001390: 25,3744 74052 DEC -.122360 037693,001391: 25,3745 73735 DEC -.127081 037694,001392: 25,3746 73217 DEC -.147453 037695,001393: 25,3747 73013 DEC -.155528 037696,001394: 25,3750 73155 DEC -.149565 037697,001395: 25,3751 74151 DEC -.118509 037698,001396: 25,3752 76703 DEC -.034907 037699,001397: 25,3753 77575 DEC -.007950 037700,001398: 25,3754 77575 DEC -.007950 037701,001399: 037702,001400: 25,3755 00112 DEC .004491 # DRANGE/D L/D SCALED Y/2700 037703,001401: 25,3756 00204 DEC .008081 037704,001402: 25,3757 00407 DEC .016030 037705,001403: 25,3760 01113 DEC .035815 037706,001404: 25,3761 02161 DEC .069422 037707,001405: 25,3762 03260 DEC .104519 037708,001406: 25,3763 03717 DEC .122 037709,001407: 25,3764 05411 DEC .172407 037710,001408: 25,3765 10057 DEC .252852 037711,001409: 25,3766 13476 DEC .363148 037712,001410: 25,3767 20324 DEC .512963 037713,001411: 25,3770 21677 DEC .558519 037714,001412: 25,3771 21677 DEC .558519 # END OF STORED REFERENCE 037715,001413: 037716,001414: # REENTRY CONSTANTS. 037717,001415: 037718,001416: # DEFINED BY EQUALS 037719,001417: 037720,001418: 25,3772 5042 DEC15 = LOW4 037721,001419: # GAMMAL1 = 22D 037722,001420: 037723,001421: 25,3772 16631 06755 MAXRNG 2OCT 1663106755 # DNRNGERR = 9999.9 IF GONEPAST=1 037724,001422: 037725,001423: 26,3144 BANK 26 037726,001424: 26,2000 SETLOC REENTRY1 037727,001425: 26,2000 BANK 037728,001426: 037729,001427: 26,3144 COUNT* $$/ENTRY 037730,001428: 037731,001429: 26,3144 27,3372 BARELY1 = NEARONE # COMMON TO BOTH DISK,DANCE.DEFND IN TFF 037732,001430: # 1BITDP COMMON TO BOTH DISK AND DANCE. DEFND IN VECPOINT. 037733,001431: 037734,001432: 26,3144 02525 1/12TH DEC .083333 # DP 1/12 USES HI WORD IN 1/3 BELOW 037735,001433: 26,3145 12525 12525 1/3RD 2DEC .3333333333 # DP 1/3 037736,001434: 037737,001435: 26,3147 27,3366 1/16TH = DP2(-4) 037738,001436: 037739,001437: # BELOW: VS = VSAT = 25766.1973 FT/SEC 037740,001438: 037741,001439: # RE = 21,202,900 FEET 037742,001440: 037743,001441: 26,3147 04631 23146 LEWD1 2DEC .15 037744,001442: 037745,001443: 26,3151 03146 14632 POINT1 2DEC .1 037746,001444: 037747,001445: 26,3153 06314 31463 POINT2 2DEC .2 # .2 037748,001446: 037749,001447: 26,3155 76314 71462 DLEWD0 2DEC -.05 # -.05 037750,001448: 037751,001449: 26,3157 05075 16051 GMAX/2 2DEC .16 # 8 GS / 2 037752,001450: 037753,001451: 26,3161 26,3333 3ZEROS EQUALS HI6ZEROS 037754,001452: 26,3161 07777 00000 NEAR1/4 2OCT 0777700000 # 1/4 LESS 1 BIT IN UPPER PART. 037755,001453: 037756,001454: 26,3163 00236 36763 C18 2DEC .0097026346 # 500/2VS 037757,001455: 037758,001456: 26,3165 00204 11303 Q7FKDMIN 2DEC .0080745342 # 6.5/805 (Q7F +KDMIN) = 6 + .5) 037759,001457: 037760,001458: 26,3167 27,3366 C1/16 = DP2(-4) 037761,001459: 037762,001460: 26,3167 05260 05572 Q3 2DEC .167003132 # .07 2VS/21600 037763,001461: 26,3171 12343 21616 Q5 2DEC .326388889 # .3 23500/21600 037764,001462: 037765,001463: 26,3173 01073 31515 Q6 2DEC .0349 # 2 DEG, APPROX 820/23500 037766,001464: 037767,001465: 26,3175 00172 03571 Q7F 2DEC .0074534161 # 6/805 (VALUE OF Q7 IN FIXED MEM.) 037768,001466: 037769,001467: 26,3177 26,3331 Q19 = HALVE # Q19 = .5 037770,001468: 037771,001469: 26,3177 00573 10230 Q21 2DEC .0231481481 # 500/21600 037772,001470: 037773,001471: 26,3201 76226 45761 Q22 2DEC -.053333333 # -1152/21600 037774,001472: 037775,001473: 26,3203 13132 33062 VLMIN 2DEC .34929485 # 18000/2 VS 037776,001474: 037777,001475: 26,3205 26,3323 VMIN = FOURTH # (VS/2) / 2VS 037778,001476: 26,3205 00160 05104 C12 2DEC .00684572901 # 32 28500/(21202900 2 PI) 037779,001477: 037780,001478: 26,3207 11322 32265 1/KB1 2DEC .29411765 # 1 / 3.4 037781,001479: 037782,001480: 26,3211 75047 72454 -1/KB2 2DEC -.0057074322 B4 # = -1/(.0034 2 VS) EXP +4 037783,001481: 037784,001482: 26,3213 00475 35746 VQUIT 2DEC .019405269 # 1000 /2VS 037785,001483: 037786,001484: 26,3215 10262 02622 C20 2DEC .26086957 # 210/805 90 DEG MAX ROLL IF ABOVE C20 037787,001485: 037788,001486: 26,3217 05441 14412 C21 2DEC .17391304 # 140/805 037789,001487: 037790,001488: 26,3221 00022 36641 25NM 2DEC .0011574074 # 25/21600 (25 NAUT MILES) 037791,001489: 037792,001490: 26,3223 01003 06315 K1D 2DEC .0314453125 # =C16 805/256 = .01 805/256 037793,001491: 037794,001492: 26,3225 63073 73236 K2D 2DEC -.402596836 # -C17 2VS/256 = -.002 2VS/256 037795,001493: 037796,001494: 26,3227 32047 24367 KVSCALE 2DEC .81491944 # 12800/(2 VS .3048) 037797,001495: 037798,001496: 26,3231 37200 05636 KASCALE 2DEC .97657358 # 5.85 16384/(4 .3048 100 805) 037799,001497: 037800,001498: 26,3233 00046 13137 KTETA 2DEC* .383495203 E2 B-14* # 1000 2PI/16384(163.84) 037801,001499: 037802,001500: 26,3235 00017 30730 KT1 2DEC* .157788327 E2 B-14* # RE(2PI)/2 VS(16384) 163.84 037803,001501: 037804,001502: 26,3237 00040 30447 .05G 2DEC .002 # .05/25 037805,001503: 037806,001504: 26,3241 00000 17565 LATBIAS 2DEC .00003 # APPRX .5 NM/ 4(21600/2 PI) 037807,001505: 037808,001506: 26,3243 01727 20103 KWE 2DEC .120056652 B-1 037809,001507: 037810,001508: 26,3245 00121 17460 KACOS 2DEC .004973592 # 1/32(2PI) 037811,001509: 037812,001510: 26,3247 00400 00000 CHOOK 2DEC 1 B-6 # .25/16 037813,001511: 26,3251 01252 25253 1/24TH 2DEC .0833333333 B-1 037814,001512: 037815,001513: 26,3253 24365 30244 CH1 2DEC .32 B1 # 16 CH1/25 = 16 (1) /25 037816,001514: 037817,001515: 26,3255 77152 51354 KC3 2DEC -.0247622232 # -(4 VS VS/ 2 PI 805 RE) 037818,001516: 037819,001517: 26,3257 00336 21610 VRCONT 2DEC .0135836886 # 700/2 VSAT 037820,001518: 037821,001519: 26,3261 26,3331 HALVE EQUALS HIDPHALF 037822,001520: 26,3261 26,3323 FOURTH EQUALS HIDP1/4 037823,001521: 037824,001522: 26,3261 26,3331 1/GMAX EQUALS HALVE # 4/GMAX = 4 / 8 037825,001523: 26,3261 00433 02775 2HS 2DEC .0172786611 # 2 28500 25 32.2/(4 VS VS) 037826,001524: 037827,001525: 26,3263 00000 20017 2HSGMXSQ 2DEC .0000305717 # (2 28500 8 32.2/ 4 VS VS)SQ 037828,001526: 037829,001527: 26,3265 77765 70243 C001 2DEC -.000625 # -(4/25)/256 LEQ/D0 CONST 037830,001528: 037831,001529: 26,3267 31463 06315 POINT8 2DEC .8 037832,001530: 037833,001531: 26,3271 00541 33575 2C1HS 2DEC .0215983264 # 2 1.25 28500 805/(2 VS)SQ 037834,001532: 037835,001533: 26,3273 00146 14632 PT1/16 2DEC .1 B-4 037836,001534: 037837,001535: 26,3275 00052 30013 1/K44 2DEC .00260929464 # 2 VS/19749550 037838,001536: 037839,001537: 26,3277 20411 03041 VFINAL 2DEC .51618016 # 26600/2 VS 037840,001538: 037841,001539: 26,3301 20610 10513 VFINAL1 2DEC .523942273 # = 27000 / 2 VS 037842,001540: 037843,001541: 26,3303 11473 02355 1/KA1 2DEC .30048077 # 25/(1.3 64) 037844,001542: 037845,001543: 26,3305 00203 02234 KA2 2DEC .008 # .2/25 037846,001544: 037847,001545: 26,3307 16237 00146 KA3 2DEC .44720497 # = 90 4/805 037848,001546: 037849,001547: 26,3311 01456 03450 KA4 2DEC .049689441 # 40/805 037850,001548: 037851,001549: 26,3313 01727 01217 KALIM 2DEC .06 # 1.5/25 037852,001550: 037853,001551: 26,3315 26,3311 Q7MIN = KA4 # = 40/805 = .049689441 037854,001552: 26,3315 56232 72332 -HSCALED 2DEC -.55305018 # -28500/2 VS 037855,001553: 037856,001554: 26,3317 77000 43741 -KSCALE 2DEC -.0312424837 # -805/VS 037857,001555: 037858,001556: 26,3321 36702 21727 COS15 2DEC .965 037859,001557: 037860,001558: 26,3323 26,3144 LATSLOPE EQUALS 1/12TH 037861,001559: # ... END OF RE-ENTRY CONSTANTS ... End of include-file REENTRY_CONTROL.agc. Parent file is MAIN.agc