Source Code

037505,000001: # Copyright: Public domain. 037506,000002: # Filename: REENTRY_CONTROL.agc 037507,000003: # Purpose: Part of the source code for Colossus 2A, AKA Comanche 055. 037508,000004: # It is part of the source code for the Command Module's (CM) 037509,000005: # Apollo Guidance Computer (AGC), for Apollo 11. 037510,000006: # Assembler: yaYUL 037511,000007: # Contact: Ron Burkey <info@sandroid.org>. 037512,000008: # Website: www.ibiblio.org/apollo. 037513,000009: # Pages: 844-882 037514,000010: # Mod history: 2009-05-08 RSB Adapted from the Colossus249/ file of the 037515,000011: # same name, using Comanche055 page images. 037516,000012: # 2009-05-23 RSB In a couple of 2OCT statements, removed the 037517,000013: # space between the first and second octal words. 037518,000014: 037519,000015: # This source code has been transcribed or otherwise adapted from digitized 037520,000016: # images of a hardcopy from the MIT Museum. The digitization was performed 037521,000017: # by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many 037522,000018: # thanks to both. The images (with suitable reduction in storage size and 037523,000019: # consequent reduction in image quality as well) are available online at 037524,000020: # www.ibiblio.org/apollo. If for some reason you find that the images are 037525,000021: # illegible, contact me at info@sandroid.org about getting access to the 037526,000022: # (much) higher-quality images which Paul actually created. 037527,000023: 037528,000024: # Notations on the hardcopy document read, in part: 037529,000025: 037530,000026: # Assemble revision 055 of AGC program Comanche by NASA 037531,000027: # 2021113-051. 10:28 APR. 1, 1969 037532,000028: 037533,000029: # This AGC program shall also be referred to as 037534,000030: # Colossus 2A 037535,000031: 037536,000032: # Page 844 037537,000033: # ENTRY INITIALIZATION ROUTINE 037538,000034: # ---------------------------- 037539,000035: 037540,000036: 25,2000 BANK 25 037541,000037: 25,2000 SETLOC REENTRY 037542,000038: 25,2000 BANK 037543,000039: 037544,000040: 25,2000 COUNT* $$/ENTRY 037545,000041: 25,2000 E7,1451 EBANK= RTINIT 037546,000042: 037547,000043: 25,2000 5060 EBENTRY = EBANK7 037548,000044: 25,2000 5057 EBAOG EQUALS EBANK6 037549,000045: 25,2000 5002 NTRYPRIO EQUALS PRIO20 # (SERVICER) 037550,000046: 25,2000 0102 CM/FLAGS EQUALS STATE +6 037551,000047: 037552,000048: 25,2000 77776 STARTENT EXIT # MM = 63 037553,000049: 037554,000050: # COME HERE FROM CM/POSE. RESTARTED IN CM/POSE. 037555,000051: 25,2001 42113 CS ENTMASK # INITIALIZE ALL SWITCHES TO ZERO 037556,000052: # EXCEPT LATSW, ENTRYDSP, AND GONEPAST. 037557,000053: # GONEBY 112D BIT8 FLAG7, SELF-INITIALIZING. 037558,000054: 25,2002 00004 INHINT 037559,000055: 25,2003 70102 MASK CM/FLAGS 037560,000056: # ENTRYDSP = 92D B13 037561,000057: # GONEPAST=95D B10 RELVELSW=96D B9 037562,000058: # EGSW = 97D B8 037563,000059: # HIND=99D B6 INRLSW=100D B5 037564,000060: # LATSW=101D B4 .05GSW=102D B3 037565,000061: 037566,000062: 25,2004 62114 AD ENTRYSW 037567,000063: 25,2005 54102 TS CM/FLAGS 037568,000064: 037569,000065: 25,2006 00003 RELINT 037570,000066: 037571,000067: 25,2007 06006 TC INTPRET 037572,000068: 037573,000069: 25,2010 77735 SLOAD 037574,000070: 25,2011 03011 LODPAD 037575,000071: 25,2012 03626 STORE LOD 037576,000072: 037577,000073: 25,2013 77735 SLOAD 037578,000074: 25,2014 03010 LADPAD 037579,000075: 25,2015 03624 STORE LAD 037580,000076: 037581,000077: 25,2016 77605 DMP # L/DCMINR = LAD COS(15) 037582,000078: 25,2017 15323 COS15 037583,000079: 25,2020 17630 STODL L/DCMINR 037584,000080: 25,2021 15146 LATSLOPE 037585,000081: 25,2022 70405 DMP SR1 # KLAT = LAD/24 037586,000082: 25,2023 03624 LAD 037587,000083: # Page 845 037588,000084: 25,2024 17632 STODL KLAT 037589,000085: 25,2025 15177 Q7F 037590,000086: 25,2026 17175 STODL Q7 # Q7 = Q7F 037591,000087: 25,2027 17372 NEARONE # 1.0 -1BIT 037592,000088: 25,2030 17614 STODL FACTOR 037593,000089: 25,2031 03624 LAD 037594,000090: 25,2032 57565 SIGN DCOMP 037595,000091: 25,2033 03327 HEADSUP # MAY BE NOISE FOR DISPLAY P61 037596,000092: 25,2034 37634 STCALL L/D # L/D = - LAD SGN(HEADSUP) 037597,000093: 037598,000094: 25,2035 52063 STARTEN1 # RETURN VIA GOTOADDR 037599,000095: 25,2036 47375 VLOAD VXV 037600,000096: 25,2037 01177 VN # (-7) M/CS 037601,000097: 25,2040 01760 UNITR # .5 UNIT REF COORDS 037602,000098: 25,2041 50256 UNIT DOT 037603,000099: 25,2042 03474 RT # RT/2 TARGET VECTOR REF COORDS 037604,000100: 25,2043 03676 STORE LATANG # LATANG = UNI.RT /4 037605,000101: 25,2044 47076 DCOMP RTB 037606,000102: 25,2045 45712 SIGNMPAC 037607,000103: 25,2046 17644 STODL K2ROLL # K2ROLL = -SGN(LATANG) 037608,000104: 037609,000105: 25,2047 03624 LAD 037610,000106: 25,2050 43205 DMP DAD 037611,000107: 25,2051 15201 Q21 037612,000108: 25,2052 15203 Q22 037613,000109: 25,2053 03712 STORE Q2 # Q2 = -1152 + 500 LAD 037614,000110: 037615,000111: 25,2054 66331 SSP SSP 037616,000112: 25,2055 03646 GOTOADDR # SET SELECTOR FOR INITIAL PASS 037617,000113: 25,2056 52260 INITROLL 037618,000114: 25,2057 03325 POSEXIT 037619,000115: 25,2060 52115 SCALEPOP # SET CM/POSE TO CONTINUE AT SCALEPOP 037620,000116: 037621,000117: 25,2061 77634 RTB 037622,000118: 25,2062 53611 SERVNOUT # OMIT INITIAL DISPLAY, SINCE 1ST GUESSBAD 037623,000119: 037624,000120: # CALCULATE THE INITIAL TARGET VECTOR: RTINIT, ALSO RTEAST, RTNORM, AND RT. ALL ARE .5 UNIT AND IN 037625,000121: # REFERENCE COORDINATES. 037626,000122: 037627,000123: 25,2063 77220 STARTEN1 STQ VLOAD 037628,000124: 25,2064 03645 GOTOADDR 037629,000125: 25,2065 03401 LAT(SPL) # TARGET COORDINATES 037630,000126: 25,2066 43014 CLEAR CLEAR # DO CALL USING PAD RADIUS. WILL UNIT IT. 037631,000127: 25,2067 00662 ERADFLAG # ANYWAY. 037632,000128: 25,2070 01663 LUNAFLAG 037633,000129: 25,2071 15104 STODL LAT 037634,000130: 25,2072 15335 3ZEROS 037635,000131: 037636,000132: 25,2073 15110 STODL LAT +4 # SET ALT=0. 037637,000133: 25,2074 01205 PIPTIME # ESTABLISH RTINIT AT TIME OF PRESENT 037638,000134: # Page 846 037639,000135: # RN AND VN. 037640,000136: 25,2075 37524 STCALL TIME/RTO # SAVE TIME BASE OF RTINIT. 037641,000137: 25,2076 26441 LALOTORV # C(MPAC) =TIME (PIPTIME) 037642,000138: 25,2077 77656 UNIT # ANSWER IN ALPHAV ALSO 037643,000139: 25,2100 17452 STODL RTINIT # .5 UNIT TARGET REF COORDS 037644,000140: 25,2101 12112 500SEC # NOMINAL ENTRY TIME FOR P63 037645,000141: # TIME/RTO = PIPTIME, STILL. 037646,000142: 25,2102 37606 STCALL DTEAROT # INITIALIZE EARROT 037647,000143: 25,2103 46215 EARROT1 # GET R5 037648,000144: 25,2104 72441 DOT SL1 037649,000145: 25,2105 01760 UNITR # RT/2 IN MPAC 037650,000146: 25,2106 77726 ACOS 037651,000147: 25,2107 37702 STCALL THETAH # RANGE ANGLE /360 037652,000148: 25,2110 03645 GOTOADDR # RETURN TO CALLER 037653,000149: 037654,000150: 25,2111 00003 01520 500SEC 2DEC 50000 B-28 # CS. 037655,000151: 037656,000152: 25,2113 11774 ENTMASK OCT 11774 037657,000153: 25,2114 11010 ENTRYSW OCT 11010 # ENTRYDSP B13. GONEPAST B10. LATSW B4 037658,000154: # Page 847 037659,000155: 037660,000156: 25,2115 77624 SCALEPOP CALL 037661,000157: 25,2116 52125 TARGETNG 037662,000158: 037663,000159: 25,2117 77776 EXIT 037664,000160: 037665,000161: 25,2120 05412 REFAZE10 TC PHASCHNG 037666,000162: 25,2121 10035 OCT 10035 # SERVICER 5.3 RESTART AT REFAZE10 037667,000163: 037668,000164: 25,2122 06006 TC INTPRET 037669,000165: 037670,000166: # JUMP TO PARTICULAR RE-ENTRY PHASE: 037671,000167: # SEQUENCE 037672,000168: 25,2123 77650 GOTO 037673,000169: 25,2124 03645 GOTOADDR 037674,000170: 037675,000171: # GOTOADDR CONTAINS THE ADDRESS OF THE ROLL COMMAND EQUATIONS TO THE CURRENT PHASE OF 037676,000172: # RE-ENTRY. SEQUENCING IS AS FOLLOWS: 037677,000173: 037678,000174: # INITROLL ADDRESS IS SET HERE INITIALLY. HOLDS INITIAL ROLL ATTITUDE UNTIL KAT IS EXCEEDED. THEN HOLDS NEW ROLL 037679,000175: # ATTITUDE UNTIL VRTHRESH IS EXCEEDED. THEN BRANCHES TO 037680,000176: 037681,000177: # HUNTEST THIS SECTION CHECKS TO SEE IF THE PREDICTED RANGE AT NOMINAL L/D FROM PRESENT CONDITIONS IS LESS 037682,000178: # THAN THE DESIRED RANGE. 037683,000179: # IF NOT --- A ROLL COMMAND IS GENERATED BY THE CONSTANT DRAG CONTROLLER. 037684,000180: # IF SO --- CONTROL AND GOTOADDR ARE SET TO UPCONTRL. 037685,000181: # USUALLY NO ITERATION IS INVOLVED EXCEPT IF THE RANGE DESIRED IS TOO LONG ON THE FIRST PASS THROUGH 037686,000182: # HUNTEST. 037687,000183: 037688,000184: # UPCONTRL CONTROLS ROLL DURING THE SUPER-CIRCULAR PHASE. UPCONTRL IS TERMINATED EITHER 037689,000185: # (A) WHEN THE DRAG (AS MEASURED BY THE PIPAS) FALLS BELOW Q7, OR 037690,000186: # (B) IF RDOT IS NEGATIVE AND REFERENCE VL EXCEEDS V. 037691,000187: # IN CASE (A), GOTOADDR IS SET TO KEP2 AND IN CASE (B), TO PREDICT3 SKIPPING THE KEPLER PHASE OF 037692,000188: # ENTRY. 037693,000189: 037694,000190: # KEP2 GOTOADDR IS SET HERE DURING THE KEPLER PHASE TO MONITOR DRAG. THE SPACECRAFT IS INSTANTANEOUSLY 037695,000191: # TRIMMED IN PITCH AND YAW TO THE COMPUTED RELATIVE VELOCITY. THE LAST COMPUTED ROLL ANGLE IS MAINTAINED. 037696,000192: # WHEN THE MEASURED DRAG EXCEEDS Q7 +0.5, GOTOADDR IS SET TO 037697,000193: 037698,000194: # PREDICT3 THIS CONTROLS THE FINAL SUB-ORBITAL PHASE. ROLL COMMANDS CEASE 037699,000195: # WHEN V IS LESS THAN VQUIT . AN EXIT IS MADE TO 037700,000196: 037701,000197: # P67.1 THE LAST COMPUTED ROLL ANGLE IS MAINTAINED. RATE DAMPING IS DONE IN PITCH AND YAW. PRESENT LATITUDE 037702,000198: # AND LONGITUDE ARE COMPUTED FOR DISPLAY. 037703,000199: # ENTRY IS TERMINATED WHEN DISKY RESPONSE IS MADE TO THIS FINAL FLASHING DISPLAY. 037704,000200: 037705,000201: # Page 848 037706,000202: # PROCESS AVERAGE G OUTPUT...SCALE IT AND GET INPUT DATA 037707,000203: 037708,000204: # * START TARGETING ... 037709,000205: 037710,000206: 25,2125 E7,1451 EBANK= RTINIT 037711,000207: 037712,000208: # TARGETNG IS CALLED BY P61, FROM GROUP 4. 037713,000209: # TARGETNG IS CALLED BY ENTRY, FROM GROUP 5. 037714,000210: 037715,000211: # ALL MM COME HERE. 037716,000212: 25,2125 77214 TARGETNG BOFF VLOAD # ENTER WITH PROPER EB FROM CM/POSE(TEST) 037717,000213: 25,2126 03346 RELVELSW # RELVELSW = 96D BIT9 037718,000214: 25,2127 52133 GETVEL # WANT INERTIAL VEL. GO GET IT. 037719,000215: 25,2130 03526 -VREL # NEW V IS RELATIVE, CONTINUE 037720,000216: 037721,000217: 25,2131 52076 VCOMP GOTO # (VREL) = (V) + KWE UNITR*UNITW 037722,000218: 25,2132 52136 GETUNITV -1 # - VREL WAS LEFT BY CM/POSE 037723,000219: 037724,000220: 25,2133 74375 GETVEL VLOAD VXSC # INERTIAL V WANTED 037725,000221: 25,2134 01177 VN # KVSCALE = (12800 / .3048) / 2VS 037726,000222: 25,2135 15231 KVSCALE # KVSCALE = .81491944 037727,000223: 25,2136 03516 STORE VEL # V/2 VS 037728,000224: 037729,000225: 25,2137 44056 GETUNITV UNIT STQ 037730,000226: 25,2140 03373 60GENRET 037731,000227: 25,2141 17510 STODL UNITV 037732,000228: 25,2142 00043 34D 037733,000229: 25,2143 03622 STORE VSQUARE # VSQ/4 037734,000230: 037735,000231: 25,2144 77625 DSU # LEQ = VSQUARE - 1 037736,000232: 25,2145 15325 FOURTH # 4 G'S FULL SCALE 037737,000233: 25,2146 17654 STODL LEQ # LEQ/4 037738,000234: 037739,000235: 25,2147 00045 36D 037740,000236: 25,2150 27674 STOVL V # V/2 VS = VEL/2 VS 037741,000237: 037742,000238: 25,2151 03516 VEL 037743,000239: 25,2152 72441 DOT SL1 # RDOT= V.UNITR 037744,000240: 25,2153 01760 UNITR 037745,000241: 25,2154 27700 STOVL RDOT # RDOT /2 VS 037746,000242: 037747,000243: 25,2155 01163 DELV # PIPA COUNTS IN PLATFORM COORDS. 037748,000244: 25,2156 41246 ABVAL DMP 037749,000245: 25,2157 15233 KASCALE 037750,000246: 25,2160 53152 SL1 BZE 037751,000247: 25,2161 55133 SETMIND 037752,000248: 25,2162 27640 DSTORE STOVL D # ACCELERATION USED TO APPROX DRAG 037753,000249: 25,2163 03516 VEL 037754,000250: 25,2164 53435 VXV UNIT # UNI = UNIT(V*R) 037755,000251: # Page 849 037756,000252: 25,2165 01760 UNITR 037757,000253: 25,2166 03502 STORE UNI # .5 UNI REF COORDS. 037758,000254: 037759,000255: 25,2167 71214 BOFF DLOAD 037760,000256: 25,2170 03346 RELVELSW 037761,000257: 25,2171 55074 GETETA 037762,000258: 25,2172 15335 3ZEROS 037763,000259: 25,2173 43225 UPDATERT DSU DAD # PIPTIME-TIME/RTO =ELAPSED TIME SINCE 037764,000260: # RTINIT WAS ESTABLISHED. 037765,000261: 25,2174 03524 TIME/RTO 037766,000262: 25,2175 01205 PIPTIME 037767,000263: 25,2176 37606 STCALL DTEAROT # GET PREDICTED TARGET VECTOR RT 037768,000264: 037769,000265: 25,2177 46225 EARROT2 037770,000266: 25,2200 40241 DOT SETPD # SINCE (RT) UNIT VECT, THIS IS 1/4 MAX 037771,000267: 25,2201 03502 UNI # LATANG = RT.UNI 037772,000268: 25,2202 00001 0 037773,000269: 25,2203 27676 STOVL LATANG # LATANG = MAC LATANG / 4 037774,000270: 037775,000271: 25,2204 03474 RT 037776,000272: 25,2205 77614 CLEAR 037777,000273: 25,2206 03667 GONEBY # SHOW HAVE NOT GONE PAST TARGET. 037778,000274: 25,2207 50235 VXV DOT # IF RT*UNITR.UNI NEG, GONEBY=1 037779,000275: 25,2210 01760 UNITR # GONEPAST IS CONDITIONAL SW SET IN 037780,000276: 25,2211 03502 UNI # FINAL PHASE. 037781,000277: 25,2212 43044 BPL SET 037782,000278: 25,2213 52215 +2 037783,000279: 25,2214 03467 GONEBY # SHOW HAVE GONE PAST TARGET. 037784,000280: 037785,000281: 25,2215 77775 VLOAD 037786,000282: 25,2216 03474 RT 037787,000283: 25,2217 45241 GETANGLE DOT DSU # THETA = ARCCOS(RT.UNITR) 037788,000284: 25,2220 01760 UNITR 037789,000285: 25,2221 15163 NEAR1/4 # TO IMPROVE ACCURACY, CALC RANGE BY 037790,000286: 25,2222 43244 BPL DAD # TINYTHET IF HIGH ORDER PART OF 037791,000287: 25,2223 55136 TINYTHET # ARCCOS ARGUMENT IS ZERO 037792,000288: 25,2224 15163 NEAR1/4 037793,000289: 25,2225 65552 SL1 ACOS 037794,000290: 25,2226 03702 THETDONE STORE THETAH # THETAH/360 037795,000291: # HI WORD, LO BIT =1.32 NM=360 60/16384 037796,000292: 037797,000293: 25,2227 57414 BON DCOMP 037798,000294: 25,2230 03707 GONEBY # =1 IF HAVE GONE PAST TARGET. 037799,000295: # (SIGN MAY BECOME ERRATIC VERY NEAR 037800,000296: # TARGET DUE TO LOSS OF PRECISION.) 037801,000297: 25,2231 52232 +1 037802,000298: 25,2232 17714 STODL RTGON67 # RANGE ERROR: NEG IF WILL FALL SHORT. 037803,000299: 037804,000300: 25,2233 03640 D 037805,000301: 25,2234 50025 DSU BMN 037806,000302: # Page 850 037807,000303: 25,2235 15241 .05G 037808,000304: 25,2236 52255 NO.05G 037809,000305: 25,2237 77214 SET VLOAD 037810,000306: 25,2240 03074 .05GSW 037811,000307: 25,2241 03433 DELVREF 037812,000308: 25,2242 50206 PUSH DOT 037813,000309: 25,2243 03542 UXA/2 037814,000310: 25,2244 63552 SL1 DSQ 037815,000311: 25,2245 47515 PDVL VSQ # EXCHANGE WITH PDL. 037816,000312: 25,2246 56225 DSU DDV 037817,000313: 25,2247 00001 0 037818,000314: 25,2250 75400 BOV SQRT 037819,000315: 25,2251 52253 NOLDCALC # OVFL LAST CLEARED IN EARROT2 ABOVE. 037820,000316: 25,2252 03727 STORE L/DCALC 037821,000317: 037822,000318: 25,2253 77650 NOLDCALC GOTO 037823,000319: 25,2254 03373 60GENRET 037824,000320: 037825,000321: 25,2255 52014 NO.05G CLEAR GOTO # THIS WAY FOR DAP. (MAY INTERRUPT) 037826,000322: 25,2256 03274 .05GSW # .05GSW = 102D B3 037827,000323: 25,2257 52253 NOLDCALC # KEEP SINGLE EXIT FOR TARGETING 037828,000324: 037829,000325: # Page 851 037830,000326: # SUBROUTINES CALLED BY SCALEPOP (TARGETING): 037831,000327: 037832,000328: 26,3074 BANK 26 037833,000329: 26,2000 SETLOC REENTRY1 037834,000330: 26,2000 BANK 037835,000331: 037836,000332: 26,3074 COUNT* $$/ENTRY 037837,000333: 037838,000334: 26,3074 56345 GETETA DLOAD DDV # D = D +D(-RDOT/HS -2D/V) DT/2 037839,000335: # DT/2 = 2/2 =1 037840,000336: 26,3075 03700 RDOT 037841,000337: 26,3076 15317 -HSCALED 037842,000338: 26,3077 41325 PDDL DMP 037843,000339: 26,3100 03640 D 037844,000340: 26,3101 15321 -KSCALE 037845,000341: 26,3102 43271 DDV DAD 037846,000342: 26,3103 03674 V 037847,000343: # -RDOT/HS FROM PDL. 037848,000344: 26,3104 43205 DMP DAD 037849,000345: 26,3105 03640 D 037850,000346: 26,3106 03640 D 037851,000347: 26,3107 03640 STORE D 037852,000348: 037853,000349: 26,3110 71214 BON DLOAD # EGSW INDICATES FINAL PHASE 037854,000350: 26,3111 03307 EGSW 037855,000351: 26,3112 55117 SUBETA 037856,000352: 26,3113 03702 THETAH 037857,000353: 26,3114 52005 DMP GOTO 037858,000354: 26,3115 15235 KTETA # = 1000x2PI/(2)E14 163.84 037859,000355: 26,3116 52173 UPDATERT 037860,000356: 037861,000357: 26,3117 45345 SUBETA DLOAD DSU # SWITCH FROM INERTIAL TO RELATIVE VEL. 037862,000358: 26,3120 03674 V 037863,000359: 26,3121 15325 VMIN 037864,000360: 26,3122 43044 BPL SET 037865,000361: 26,3123 55125 SUBETA2 037866,000362: 26,3124 03066 RELVELSW 037867,000363: 037868,000364: 26,3125 41345 SUBETA2 DLOAD DMP 037869,000365: 037870,000366: 26,3126 03702 THETAH 037871,000367: 26,3127 15237 KT1 # KT1 = KT 037872,000368: 26,3130 52071 DDV GOTO 037873,000369: 26,3131 03674 V # KT = RE(2 PI)/2 VS 16384 163.84/ 2 VSAT 037874,000370: 26,3132 52173 UPDATERT 037875,000371: 037876,000372: 26,3133 52145 SETMIND DLOAD GOTO 037877,000373: 26,3134 16326 1BITDP 037878,000374: 26,3135 52162 DSTORE 037879,000375: 037880,000376: # Page 852 037881,000377: 26,3136 51425 TINYTHET DSU ABS # ENTER WITH X-.249 037882,000378: 26,3137 16327 1BITDP +1 # GET 1/4 - MPAC 037883,000379: 26,3140 75461 SL SQRT # SCALE UP BEFORE SQRT 037884,000380: 26,3141 20216 13D # HAS FACTOR FOR UP SCALING 037885,000381: 26,3142 52005 DMP GOTO 037886,000382: 26,3143 15247 KACOS 037887,000383: 26,3144 52226 THETDONE 037888,000384: 037889,000385: # Page 853 037890,000386: # * START INITIAL ROLL ... 037891,000387: 037892,000388: 25,2260 BANK 25 037893,000389: 25,2000 SETLOC REENTRY 037894,000390: 25,2000 BANK 037895,000391: 037896,000392: 25,2260 COUNT* $$/ENTRY 037897,000393: 037898,000394: # MM = 63, 64, ... 037899,000395: 25,2260 43014 INITROLL BON BOFF # IF D- .05G NEG, GO TO LIMITL/D 037900,000396: 25,2261 03312 INRLSW 037901,000397: 25,2262 52362 INITRL1 037902,000398: 25,2263 03354 .05GSW 037903,000399: 25,2264 53526 LIMITL/D 037904,000400: 037905,000401: # MM = 64, NOW 037906,000402: # 3 037907,000403: # KA = KA1 LEG + KA2 037908,000404: 25,2265 63545 DLOAD DSQ 037909,000405: 25,2266 03654 LEQ 037910,000406: 25,2267 56205 DMP DDV 037911,000407: 25,2270 03654 LEQ 037912,000408: 25,2271 15305 1/KA1 # = 25 /(64 1.8) 037913,000409: 25,2272 47015 DAD RTB 037914,000410: 25,2273 15307 KA2 # = .2 037915,000411: 25,2274 54433 P64 # ROLLC VI RDOT 037916,000412: # XXX.XX DEG XXXXX. FPS XXXXX. FPS 037917,000413: 25,2275 03720 STORE KAT 037918,000414: 037919,000415: 25,2276 50025 DSU BMN 037920,000416: 25,2277 15315 KALIM 037921,000417: 25,2300 52304 +4 037922,000418: 25,2301 77745 DLOAD 037923,000419: 25,2302 15315 KALIM 037924,000420: 25,2303 03720 STORE KAT 037925,000421: 25,2304 45345 DLOAD DSU # IF V-VFINAL1 NEG, GO TO FINAL PHASE. 037926,000422: 25,2305 03674 V 037927,000423: 25,2306 15303 VFINAL1 037928,000424: 25,2307 51014 CLEAR BPL # (CAN'T CLEAR INRLSW AFTER HERE: RESTARTS) 037929,000425: 25,2310 03265 GONEPAST # GONEPAST WAS INITIALLY SET=1 TO FORCE 037930,000426: # ROLLC TO REMAIN AS DEFINED BY HEADSUP 037931,000427: # UNTIL START OF P64. (UNTIL D > .05G) 037932,000428: 25,2311 52316 D0EQ 037933,000429: 25,2312 52131 SSP GOTO 037934,000430: 25,2313 03646 GOTOADDR 037935,000431: 25,2314 53317 KEP2 # AND IDLE UNTIL D > 0.2 G. (NO P66 HERE) 037936,000432: 25,2315 52351 INROLOUT # GO TO LIMITL/D AFTER SETTING INRLSW. 037937,000433: 037938,000434: 25,2316 41345 D0EQ DLOAD DMP # D0 = KA3 LEQ + KA4 037939,000435: # Page 854 037940,000436: 25,2317 03654 LEQ 037941,000437: 25,2320 15311 KA3 037942,000438: 25,2321 77615 DAD 037943,000439: 25,2322 15313 KA4 037944,000440: 25,2323 03710 STORE D0 # D0/805 037945,000441: 25,2324 40065 BDDV BOV 037946,000442: 25,2325 15267 C001 # (-4/25 G) B-8 037947,000443: 25,2326 52327 +1 # CLEAR OVFIND, IF ON. 037948,000444: 25,2327 17706 STODL C/D0 # (-4/D0) B-8 037949,000445: 25,2330 03624 LAD # IF V-VFINAL +K(RDOT/V)CUBED POS,L/D=-LAD 037950,000446: 25,2331 17634 STODL L/D 037951,000447: 25,2332 03700 RDOT 037952,000448: 25,2333 41471 DDV PUSH 037953,000449: 25,2334 03674 V 037954,000450: 25,2335 41316 DSQ DMP 037955,000451: 25,2336 45271 DDV DSU 037956,000452: 25,2337 15277 1/K44 037957,000453: 25,2340 15301 VFINAL 037958,000454: # 3 037959,000455: # V-VFINAL +(RDOT/V) / K44 OVFL $ 037960,000456: 037961,000457: 25,2341 40015 DAD BOV 037962,000458: 25,2342 03674 V 037963,000459: 25,2343 52351 INROLOUT # GO TO LIMITL/D AFTER SETTING INRLSW. 037964,000460: 25,2344 71240 BMN DLOAD 037965,000461: 25,2345 52351 INROLOUT # GO TO LIMITL/D AFTER SETTING INRLSW. 037966,000462: 25,2346 03624 LAD 037967,000463: 25,2347 77676 DCOMP 037968,000464: 25,2350 03634 STORE L/D 037969,000465: 037970,000466: # SET INRLSW AT END FOR RESTART PROTECTION 037971,000467: 25,2351 77614 INROLOUT BOFSET # END OF PRE .05G PATH OF INITROLL. 037972,000468: 25,2352 03052 INRLSW # SWITCH IS ZERO INITIALLY. 037973,000469: 25,2353 53526 LIMITL/D # (GO TO) 037974,000470: 037975,000471: 25,2354 45345 KATEST DLOAD DSU # IF KAT - D POS, GO TO CONSTD 037976,000472: 25,2355 03720 KAT 037977,000473: 25,2356 03640 D # IF POS, OUT WITH COMMAND VIA LIMITL/D 037978,000474: 25,2357 52044 BPL GOTO 037979,000475: 25,2360 53526 LIMITL/D 037980,000476: 25,2361 53232 CONSTD 037981,000477: 037982,000478: 25,2362 43345 INITRL1 DLOAD DAD # IF RDOT + VRCONT POS, GO TO HUNTEST 037983,000479: 25,2363 03700 RDOT 037984,000480: 25,2364 15261 VRCONT 037985,000481: 25,2365 45040 BMN CALL # IF POSITIVE, FALL INTO HUNTEST. 037986,000482: 25,2366 52354 KATEST 037987,000483: 037988,000484: 25,2367 53022 FOREHUNT # INITIALIZE HUNTEST. 037989,000485: 037990,000486: # Page 855 037991,000487: # * START HUNT TEST ... 037992,000488: # MM = 64 037993,000489: 25,2370 77731 SSP # INITIALIZE HUNTEST ON FIRST PASS 037994,000490: 25,2371 03646 GOTOADDR 037995,000491: 25,2372 52373 HUNTEST # MUST GO AFTER FOREHUNT FOR RESTARTS. 037996,000492: 037997,000493: 25,2373 77745 HUNTEST DLOAD 037998,000494: 25,2374 03640 D 037999,000495: 25,2375 17664 STODL A1 # A1/805 = A1/25G 038000,000496: 038001,000497: 25,2376 03624 LAD 038002,000498: 25,2377 17647 STODL TEM1B 038003,000499: 25,2400 03700 RDOT 038004,000500: 25,2401 71240 BMN DLOAD # IF RDOT NEG,TEM1B=LAD, OTHERWISE = LEWD 038005,000501: 25,2402 52406 A0CALC 038006,000502: 25,2403 03725 LEWD 038007,000503: 25,2404 17647 STODL TEM1B 038008,000504: 038009,000505: 25,2405 03700 RDOT 038010,000506: 25,2406 43271 A0CALC DDV DAD # V1 = V + RDOT/TEM1B 038011,000507: 25,2407 03647 TEM1B 038012,000508: 25,2410 03674 V 038013,000509: 25,2411 14326 STODL V1 # V1/2 VS 038014,000510: 038015,000511: 25,2412 03700 RDOT 038016,000512: 25,2413 56316 DSQ DDV # A0=(V1/V)SQ(D+RDOT SQ/(TEM1B 2 C1 HS) 038017,000513: 25,2414 03647 TEM1B 038018,000514: 25,2415 43271 DDV DAD 038019,000515: 25,2416 15273 2C1HS 038020,000516: 25,2417 03640 D 038021,000517: 25,2420 41205 DMP DMP 038022,000518: 25,2421 00326 V1 038023,000519: 25,2422 00326 V1 038024,000520: 25,2423 77671 DDV 038025,000521: 25,2424 03622 VSQUARE 038026,000522: 25,2425 14330 STODL A0 # A0/805 = A0/25G 038027,000523: 038028,000524: 25,2426 03700 RDOT 038029,000525: 25,2427 71244 BPL DLOAD 038030,000526: 25,2430 52433 V1LEAD 038031,000527: 25,2431 00330 A0 038032,000528: 25,2432 03664 STORE A1 # A1/25G 038033,000529: 038034,000530: 25,2433 51145 V1LEAD DLOAD BPL # IF L/D NEG, V1=V1 - 1000 038035,000531: 25,2434 03634 L/D 038036,000532: 25,2435 52442 HUNTEST1 038037,000533: 038038,000534: 25,2436 45345 DLOAD DSU 038039,000535: 25,2437 00326 V1 038040,000536: # Page 856 038041,000537: 25,2440 15215 VQUIT 038042,000538: 25,2441 00326 STORE V1 038043,000539: 038044,000540: 25,2442 41345 HUNTEST1 DLOAD DMP # ALP = 2 C1 HS A0/LEWD V1 V1 038045,000541: 25,2443 00330 A0 038046,000542: 25,2444 15273 2C1HS 038047,000543: 25,2445 40271 DDV SETPD 038048,000544: 25,2446 00326 V1 038049,000545: 25,2447 00001 0 038050,000546: 25,2450 56271 DDV DDV 038051,000547: 25,2451 00326 V1 038052,000548: 25,2452 03725 LEWD 038053,000549: 25,2453 03704 STORE ALP 038054,000550: 038055,000551: 25,2454 55221 BDSU BDDV # FACT1 = V1 / (1 - ALP) 038056,000552: 25,2455 17372 BARELY1 038057,000553: 25,2456 00326 V1 038058,000554: 25,2457 17616 STODL FACT1 # FACT1 / 2VS 038059,000555: 038060,000556: 25,2460 03704 ALP 038061,000557: 25,2461 41225 DSU DMP # FACT2 = ALP(ALP - 1) / A0 038062,000558: 25,2462 17372 BARELY1 038063,000559: 25,2463 03704 ALP 038064,000560: 25,2464 77671 DDV 038065,000561: 25,2465 00330 A0 038066,000562: 25,2466 03620 STORE FACT2 # FACT2 (25G) 038067,000563: 038068,000564: 25,2467 43205 DMP DAD 038069,000565: 25,2470 03175 Q7 # Q7 / 805 = Q7 / 25G 038070,000566: 25,2471 03704 ALP # VL=FACT1 (1-SQRT(Q7 FACT2 +ALP) ) 038071,000567: 25,2472 44366 SQRT BDSU 038072,000568: 25,2473 17372 BARELY1 038073,000569: 25,2474 77605 DMP 038074,000570: 25,2475 03616 FACT1 038075,000571: 25,2476 03767 STORE VL # VL / 2 VS 038076,000572: 038077,000573: 25,2477 41221 BDSU DMP # GAMMAL1 = LEWD (V1-VL)/VL 038078,000574: 25,2500 00326 V1 038079,000575: 25,2501 03725 LEWD 038080,000576: 25,2502 77671 DDV 038081,000577: 25,2503 03767 VL 038082,000578: 25,2504 14027 STODL GAMMAL1 # GAMMAL1 USED IN UPCONTROL. 038083,000579: 038084,000580: # GAMMAL1 = PDL 22D. 038085,000581: 25,2505 03767 VL 038086,000582: 25,2506 50025 DSU BMN # IF VL-VLMIN NEG, GO TO PREFINAL 038087,000583: 25,2507 15205 VLMIN 038088,000584: 25,2510 53333 PREFINAL 038089,000585: 038090,000586: 25,2511 63545 DLOAD DSQ 038091,000587: # Page 857 038092,000588: 25,2512 03767 VL 038093,000589: 25,2513 17666 STODL VBARS # VBARS / 4 VS VS 038094,000590: 038095,000591: 25,2514 15333 HALVE # IF VSAT-VL NEG, GO TO CONSTD 038096,000592: 25,2515 50025 DSU BMN 038097,000593: 25,2516 03767 VL 038098,000594: 25,2517 53226 BECONSTD # SET MODE=HUNTEST, CONTINUE IN CONSTD 038099,000595: 25,2520 17662 STODL DVL # DVL / 2VS 038100,000596: 038101,000597: 25,2521 15333 HALVE 038102,000598: 25,2522 03672 STORE VS1 # VS1 = VSAT 038103,000599: 038104,000600: 25,2523 50025 DSU BMN # IF V1 GREATER THAN VSAT, GO ON 038105,000601: 25,2524 00326 V1 038106,000602: 25,2525 52533 GETDHOOK 038107,000603: 25,2526 77621 BDSU 038108,000604: 25,2527 03662 DVL 038109,000605: 25,2530 17662 STODL DVL # DVL = DVL - (VSAT-V1) = V1 - VL 038110,000606: 25,2531 00326 V1 038111,000607: 25,2532 03672 STORE VS1 # VS1 = V1, IN THIS CASE 038112,000608: 038113,000609: 25,2533 45145 GETDHOOK DLOAD CALL # DHOOK=((1-VS1/FACT1) SQ -ALP)/FACT2 038114,000610: 25,2534 03672 VS1 # VS1 / 2 VS 038115,000611: 25,2535 53004 DHOOKYQ7 # GO CALC DHOOK 038116,000612: 25,2536 03656 STORE DHOOK # DHOOK / 25G 038117,000613: 038118,000614: 25,2537 56261 SR DDV 038119,000615: 25,2540 20607 6 # CHOOK 038120,000616: 25,2541 03175 Q7 038121,000617: 25,2542 77625 DSU 038122,000618: 25,2543 15251 CHOOK # = .25/16 = (-6) 038123,000619: 25,2544 03660 STORE AHOOKDV 038124,000620: 038125,000621: 25,2545 41215 DAD DMP # GAMMAL= GAMMAL1-CH1 DVL SQ(1+AHOOK DVL) 038126,000622: 25,2546 17366 1/16TH 038127,000623: 25,2547 15255 CH1 038128,000624: 25,2550 41205 DMP DMP 038129,000625: 25,2551 03662 DVL 038130,000626: 25,2552 03662 DVL 038131,000627: 25,2553 56271 DDV DDV 038132,000628: 25,2554 03656 DHOOK 038133,000629: 25,2555 03666 VBARS 038134,000630: 25,2556 50021 BDSU BMN 038135,000631: 25,2557 00027 GAMMAL1 038136,000632: 25,2560 52751 NEGAMA 038137,000633: 25,2561 03771 HUNTEST3 STORE GAMMAL 038138,000634: 038139,000635: 25,2562 77625 DSU # GAMMAL1=GAMMAL1 +Q19 (GAMMAL-GAMMAL1) 038140,000636: 25,2563 00027 GAMMAL1 038141,000637: 25,2564 43205 DMP DAD 038142,000638: # Page 858 038143,000639: 25,2565 15333 Q19 038144,000640: 25,2566 00027 GAMMAL1 038145,000641: 25,2567 14027 STODL GAMMAL1 038146,000642: 25,2570 03771 GAMMAL 038147,000643: 038148,000644: # Page 859 038149,000645: # *START RANGE PREDICTION ... 038150,000646: # C(MPAC) = GAMMAL. 038151,000647: 25,2571 60516 RANGER DSQ SR2 # COSG = 1-GAMMAL SQ/2, TRUNCATED SERIES 038152,000648: 25,2572 77621 BDSU 038153,000649: 25,2573 15333 HALVE 038154,000650: 25,2574 17670 STODL COSG/2 038155,000651: 25,2575 03666 VBARS # E=SQRT(1+VBARS........ 038156,000652: 038157,000653: 25,2576 41225 DSU DMP 038158,000654: 25,2577 15333 HALVE 038159,000655: 25,2600 03666 VBARS 038160,000656: 25,2601 41205 DMP DMP 038161,000657: 25,2602 03670 COSG/2 038162,000658: 25,2603 03670 COSG/2 038163,000659: 25,2604 43312 SL2 DAD 038164,000660: 25,2605 17366 C1/16 # C1/16 = 1/16 038165,000661: 25,2606 65366 SQRT PDDL # E/4 INTO PDL 038166,000662: 038167,000663: 25,2607 03666 VBARS 038168,000664: 25,2610 41205 DMP DMP # ASKEP/2 = ARCSIN(VBARS COSG SING/E) 038169,000665: 25,2611 03670 COSG/2 038170,000666: 25,2612 03771 GAMMAL 038171,000667: 25,2613 67471 DDV ASIN 038172,000668: 25,2614 41552 SL1 PUSH # ASKEP TO PDL 0. 038173,000669: 25,2615 17731 STODL ASKEP # BALLISTIC RANGE ASKEP/2PI 038174,000670: 038175,000671: # FOR TM, STORE RANGE COMPONENTS OVERLAPPING (SP) 038176,000672: 25,2616 03767 VL 038177,000673: 25,2617 43205 DMP DAD # ASP1 = Q2 + Q3 VL 038178,000674: 25,2620 15171 Q3 038179,000675: 25,2621 03712 Q2 038180,000676: 25,2622 03732 STORE ASP1 # FINAL PHASE RANGE ASP1/2 PI 038181,000677: 038182,000678: 25,2623 63525 PDDL DSQ # ASP1 TO PDL 2. 038183,000679: 25,2624 00326 V1 038184,000680: # 2 038185,000681: # ASPUP= -C12 LOG(V1 Q7/VBARS A0)/GAMMAL1 038186,000682: 25,2625 56205 DMP DDV 038187,000683: 25,2626 03175 Q7 038188,000684: 25,2627 03666 VBARS 038189,000685: 25,2630 45071 DDV CALL 038190,000686: 25,2631 00330 A0 038191,000687: 25,2632 46155 LOG # RETURN WITH -LOG IN MPAC 038192,000688: 038193,000689: 25,2633 56205 DMP DDV 038194,000690: 25,2634 15207 C12 038195,000691: 25,2635 00027 GAMMAL1 038196,000692: 25,2636 03733 STORE ASPUP # UP PHASE RANGE ASPUP / 2 PI 038197,000693: # Page 860 038198,000694: 25,2637 41325 PDDL DMP # ASPUP TO PDL 4. 038199,000695: 25,2640 15257 KC3 # KC3 = -4 VS VS / 2 PI 805 RE 038200,000696: # ASPDWN = KC3 RDOT V / A0 038201,000697: 25,2641 03700 RDOT 038202,000698: 25,2642 56205 DMP DDV 038203,000699: 25,2643 03674 V 038204,000700: 25,2644 00330 A0 038205,000701: 25,2645 41471 DDV PUSH # ASPDWN TO PDL 6. 038206,000702: 25,2646 03624 LAD 038207,000703: 25,2647 17734 STODL ASPDWN # RANGE TO PULL OUT ASPDWN /2 PI 038208,000704: 038209,000705: 25,2650 15175 Q6 038210,000706: 25,2651 41225 DSU DMP # ASP3 = Q5(Q6-GAMMAL) 038211,000707: 25,2652 03771 GAMMAL 038212,000708: 25,2653 15173 Q5 038213,000709: 25,2654 27735 STOVL ASP3 # GAMMA CORRECTION ASP3/2PI 038214,000710: 038215,000711: 25,2655 03731 ASKEP # GET HI-WD AND 038216,000712: 25,2656 17126 STODL ASPS(TM) # SAVE HI-WORD OF ASP'S FOR TM. 038217,000713: 038218,000714: 25,2657 03735 ASP3 038219,000715: 25,2660 43215 DAD DAD 038220,000716: # ASPDWN FROM PDL 6. 038221,000717: # ASPUP FROM PDL 4. 038222,000718: 25,2661 43215 DAD DAD 038223,000719: # ASP1 FROM PDL 2. 038224,000720: # ASKEP FROM PDL 0. 038225,000721: 25,2662 41025 DSU BOVB # CLEAR OVFIND. 038226,000722: 25,2663 03702 THETAH 038227,000723: 25,2664 57352 TCDANZIG 038228,000724: 25,2665 03610 STORE DIFF # DIFF = (ASP-THETAH) / 2 PI 038229,000725: # ASP=ASKEP+ASP1+ASPUP+ASP3+ASPDWN = TOTAL RANGE 038230,000726: 038231,000727: 25,2666 45246 ABS DSU # IF ABS(THETAH-ASP) -25NM NEG, GO TO UPSY 038232,000728: 25,2667 15223 25NM 038233,000729: 25,2670 43040 BMN BON 038234,000730: 25,2671 53033 GOTOUPSY 038235,000731: 25,2672 03311 HIND 038236,000732: 25,2673 52677 GETLEWD 038237,000733: 038238,000734: 25,2674 51145 DLOAD BPL 038239,000735: 25,2675 03610 DIFF 038240,000736: 25,2676 53221 DCONSTD # EVENTUALLY SETS MODE = HUNTEST. 038241,000737: 25,2677 41345 GETLEWD DLOAD DMP 038242,000738: # DLEWD = DLEWD (DIFF/(DIFFOLD-DIFF)) 038243,000739: 25,2700 03642 DLEWD 038244,000740: 25,2701 03610 DIFF 038245,000741: 25,2702 45325 PDDL DSU 038246,000742: 25,2703 03612 DIFFOLD 038247,000743: 25,2704 03610 DIFF 038248,000744: # Page 861 038249,000745: 25,2705 77665 BDDV 038250,000746: 25,2706 77626 LWDSTORE STADR 038251,000747: 25,2707 74135 STORE DLEWD 038252,000748: 25,2710 50015 DAD BMN # IF LEWD+DLEWD NEG, DLEWD=-LEWD/2 038253,000749: 25,2711 03725 LEWD 038254,000750: 25,2712 52745 LEWDPTR 038255,000751: 25,2713 77600 BOV 038256,000752: 25,2714 52741 LEWDOVFL 038257,000753: 25,2715 03725 STORE LEWD 038258,000754: 038259,000755: 25,2716 77776 SIDETRAK EXIT 038260,000756: 038261,000757: 25,2717 35060 CA EBENTRY 038262,000758: 25,2720 54003 TS EBANK 038263,000759: 038264,000760: 25,2721 35070 CA PRIO16 # DROP GRP 5 RESTART PRIO TO 1 LESS THAN 038265,000761: 25,2722 55064 TS PHSPRDT5 # GRP 4. 038266,000762: 038267,000763: 25,2723 05412 TC PHASCHNG 038268,000764: 25,2724 00474 OCT 00474 # RESTART GRP 4 AT PRE-HUN. 038269,000765: # FORCE RESTART TO PICK UP IN GRP 4: 038270,000766: # USE PRIO 17 FOR GRP 4 (< SERVICER PRIO) 038271,000767: 25,2725 35070 CA PRIO16 # CONTINUE GRP 5 AT LOWER PRIO THAN EITHER 038272,000768: # GRP 4 OR SERVICER. 038273,000769: 25,2726 05210 TC PRIOCHNG 038274,000770: 038275,000771: 25,2727 33032 CAF ADENDEXT # SIDETRACK NEXT PASS UNTIL THIS ONE DONE. 038276,000772: 25,2730 55645 TS GOTOADDR # ONLY AFTER RESTART IS LEFT AFTER DETOUR. 038277,000773: 038278,000774: 25,2731 06006 TC INTPRET 038279,000775: 038280,000776: 25,2732 43145 DLOAD SET 038281,000777: 25,2733 03610 DIFF 038282,000778: 25,2734 03071 HIND 038283,000779: 25,2735 17612 STODL DIFFOLD # DIFFOLD / 2 PI 038284,000780: 038285,000781: 25,2736 15177 Q7F 038286,000782: 25,2737 37175 STCALL Q7 # Q7 / 805 FPSS 038287,000783: 25,2740 52373 HUNTEST # (GO TO) 038288,000784: 038289,000785: 25,2741 77745 LEWDOVFL DLOAD 038290,000786: 25,2742 17372 NEARONE 038291,000787: 25,2743 37725 STCALL LEWD 038292,000788: 25,2744 53221 DCONSTD # (GO TO) ALSO WILL SET MODE = HUNTEST 038293,000789: 038294,000790: 25,2745 70545 LEWDPTR DLOAD SR1 038295,000791: 25,2746 03725 LEWD 038296,000792: 25,2747 52076 DCOMP GOTO 038297,000793: 25,2750 52706 LWDSTORE 038298,000794: 038299,000795: # Page 862 038300,000796: 25,2751 41205 NEGAMA DMP DMP # ENTER WITH GAMMAL IN MPAC 038301,000797: 038302,000798: 25,2752 03767 VL 038303,000799: 25,2753 15147 1/3RD 038304,000800: 25,2754 41325 PDDL DMP # PUSH GAMMAL VL/3 038305,000801: 25,2755 03725 LEWD 038306,000802: 25,2756 15147 1/3RD 038307,000803: 25,2757 43325 PDDL DAD # PUSH LEWD/3 038308,000804: 25,2760 03660 AHOOKDV 038309,000805: 25,2761 15253 1/24TH 038310,000806: 25,2762 41205 DMP DMP # DEL VL = (GAMMAL VL/3)/(LEWD/3-DVL 038311,000807: 25,2763 03662 DVL # (2/3 + AHOOKDV)(CH1 GS/DHOOK VL)) 038312,000808: 25,2764 15255 CH1 038313,000809: 25,2765 56271 DDV DDV 038314,000810: 25,2766 03656 DHOOK 038315,000811: 25,2767 03767 VL 038316,000812: 25,2770 55221 BDSU BDDV 038317,000813: # LEWD/3 038318,000814: # GAMMAL VL /3 038319,000815: 25,2771 77615 DAD 038320,000816: 25,2772 03767 VL 038321,000817: 25,2773 37767 STCALL VL # VL/2 VS 038322,000818: 038323,000819: 25,2774 53004 DHOOKYQ7 # GO CALC Q7 038324,000820: # Q7=((1-VL/FACT1)SQ - ALP)/FACT2 038325,000821: 25,2775 17175 STODL Q7 # Q7 / 25G 038326,000822: 038327,000823: 25,2776 03767 VL 038328,000824: 25,2777 77716 DSQ 038329,000825: 25,3000 17666 STODL VBARS # VBARS / 4 VS VS 038330,000826: 038331,000827: 25,3001 15335 3ZEROS 038332,000828: 25,3002 77650 GOTO # SET GAMMAL = 0 038333,000829: 25,3003 52561 HUNTEST3 038334,000830: 038335,000831: 25,3004 56342 DHOOKYQ7 SR1 DDV # SUBROUTINE TO CALC DHOOK OR Q7 038336,000832: 25,3005 03616 FACT1 038337,000833: 25,3006 72421 BDSU SL1 038338,000834: 25,3007 15333 HALVE 038339,000835: 25,3010 45316 DSQ DSU 038340,000836: 25,3011 03704 ALP 038341,000837: 25,3012 43471 DDV RVQ 038342,000838: 25,3013 03620 FACT2 038343,000839: 038344,000840: # Page 863 038345,000841: # COME TO PRE-HUNT WHEN RESTART OCCURS AFTER 038346,000842: # HUNTEST IS SIDE-TRACKED AT SIDETRAK. 038347,000843: # PICK UP IN GROUP 4. 038348,000844: 038349,000845: 25,3014 06006 PRE-HUNT TC INTPRET 038350,000846: 25,3015 45014 CLEAR CALL 038351,000847: 25,3016 03271 HIND # HIND 99D BIT 6 FLAG 6 038352,000848: 25,3017 53022 FOREHUNT # RE-INITIALIZE HUNTEST AFTER RE-START. 038353,000849: 25,3020 77650 GOTO 038354,000850: 25,3021 52373 HUNTEST 038355,000851: 038356,000852: 25,3022 77745 FOREHUNT DLOAD # INITIALIZE HUNTEST. 038357,000853: 25,3023 15335 3ZEROS 038358,000854: 25,3024 17612 STODL DIFFOLD 038359,000855: 25,3025 15157 DLEWD0 038360,000856: 25,3026 17642 STODL DLEWD 038361,000857: 25,3027 15151 LEWD1 038362,000858: 25,3030 03725 STORE LEWD 038363,000859: 25,3031 77616 RVQ 038364,000860: 038365,000861: 25,3032 53576 ADENDEXT CADR ENDEXIT 038366,000862: 038367,000863: # Page 864 038368,000864: # * START UP CONTROL ... 038369,000865: # MM = 65 038370,000866: 25,3033 77634 GOTOUPSY RTB # END OF HUNTEST 038371,000867: 25,3034 54441 P65 # HUNTEST USE OF GRP4 IS DISABLED BY P65 038372,000868: # USE FOR DISPLAY. 038373,000869: # SET MODE = UPCONTRL. 038374,000870: # RETURN FROM P65 DIRECTLY TO UPDONTRL 038375,000871: # VIA THE GOTOADDR AT REFAZE10. 038376,000872: 038377,000873: 25,3035 45345 UPCONTRL DLOAD DSU # IF D-140 POS, NOSWITCH =1 038378,000874: 25,3036 03640 D # (SUPPRESS LATERAL SWITCH) 038379,000875: 25,3037 15221 C21 038380,000876: 25,3040 43040 BMN SET 038381,000877: 25,3041 53043 +2 038382,000878: 25,3042 03070 NOSWITCH 038383,000879: 038384,000880: 25,3043 45345 DLOAD DSU # IF V-V1 POS, GO TO DOWN CONTROL. 038385,000881: 25,3044 03674 V 038386,000882: 25,3045 00326 V1 038387,000883: 25,3046 71244 BPL DLOAD 038388,000884: 25,3047 53260 DOWNCNTL 038389,000885: 25,3050 03640 D 038390,000886: 25,3051 50025 DSU BMN # IF D- Q7 NEG, GO TO KEP 038391,000887: 25,3052 03175 Q7 038392,000888: 25,3053 53313 KEP 038393,000889: 25,3054 51145 DLOAD BPL # IF RDOT NEG, DO VLTEST 038394,000890: 25,3055 03700 RDOT 038395,000891: 25,3056 53065 CONT1 038396,000892: 038397,000893: 25,3057 45345 VLTEST DLOAD DSU # IF V-VL-C18 NEG,EGSW=1,MODE=PREDICT3 038398,000894: 25,3060 03674 V 038399,000895: 25,3061 03767 VL 038400,000896: 25,3062 50025 DSU BMN 038401,000897: 25,3063 15165 C18 038402,000898: 25,3064 53333 PREFINAL 038403,000899: 038404,000900: 25,3065 77745 CONT1 DLOAD # IF D-A0 POS, L/D = LAD, GO TO LIMITL/D 038405,000901: 25,3066 03640 D 038406,000902: 25,3067 50025 DSU BMN 038407,000903: 25,3070 00330 A0 038408,000904: 25,3071 53075 CONT3 038409,000905: 25,3072 52145 DLOAD GOTO 038410,000906: 25,3073 03624 LAD 038411,000907: 25,3074 53525 STOREL/D 038412,000908: 038413,000909: 25,3075 41345 CONT3 DLOAD DMP # VREF=FACT1(1-SQRT(FACT2 D + ALP)) 038414,000910: 25,3076 03640 D 038415,000911: 25,3077 03620 FACT2 038416,000912: # Page 865 038417,000913: 25,3100 75415 DAD SQRT 038418,000914: 25,3101 03704 ALP 038419,000915: 25,3102 41221 BDSU DMP 038420,000916: 25,3103 17372 BARELY1 038421,000917: 25,3104 03616 FACT1 038422,000918: 25,3105 01160 STORE VREF # VREF / 2VS 038423,000919: 038424,000920: 25,3106 41221 BDSU DMP # RDOTREF = LEWD(V1-VREF) 038425,000921: 25,3107 00326 V1 038426,000922: 25,3110 03725 LEWD 038427,000923: 25,3111 15156 STODL RDOTREF # RDOTREF / 2VS 038428,000924: 038429,000925: 25,3112 03672 VS1 038430,000926: 25,3113 50025 DSU BMN # IF VSAT-VREF NEG, GO TO CONTINU2 038431,000927: 25,3114 01160 VREF 038432,000928: 25,3115 53134 CONTINU2 038433,000929: 038434,000930: 25,3116 41406 PUSH PUSH # VS1-VREF TO PDL TWICE 038435,000931: 25,3117 56205 DMP DDV # RDHOOK=CHI1(1+DV AHOOKDV/DVL) DV DV 038436,000932: 25,3120 03660 AHOOKDV # /DHOOK VREF 038437,000933: 25,3121 03662 DVL # WHERE DV = (VS1-VREF) 038438,000934: 25,3122 41215 DAD DMP 038439,000935: 25,3123 17366 1/16TH 038440,000936: 25,3124 15255 CH1 038441,000937: 25,3125 41205 DMP DMP 038442,000938: # VS1-VREF FROM PDL TWICE. 038443,000939: 25,3126 77671 DDV 038444,000940: 25,3127 03656 DHOOK 038445,000941: 25,3130 44271 DDV BDSU 038446,000942: 25,3131 01160 VREF 038447,000943: 25,3132 01156 RDOTREF # C(RDOTREF)= LEWD (V1-VREF) 038448,000944: 25,3133 01156 STORE RDOTREF # RDOTREF = RDOTREF - RDHOOK 038449,000945: 038450,000946: 25,3134 45345 CONTINU2 DLOAD DSU 038451,000947: 25,3135 03640 D 038452,000948: 25,3136 15313 Q7MIN 038453,000949: 25,3137 50004 BOVB BMN 038454,000950: 25,3140 57352 TCDANZIG # CLEAR OVFL IND, IF ON. 038455,000951: 25,3141 53152 UPCNTRL3 038456,000952: 25,3142 45345 DLOAD DSU 038457,000953: 25,3143 03664 A1 038458,000954: 25,3144 03175 Q7 038459,000955: 25,3145 45325 PDDL DSU 038460,000956: 25,3146 03640 D 038461,000957: 25,3147 03175 Q7 038462,000958: 25,3150 45471 DDV STADR 038463,000959: 25,3151 74163 STORE FACTOR # FACTOR / 25G 038464,000960: 038465,000961: # Page 866 038466,000962: # SKIPPER 038467,000963: # DELTA L/D=-((RDOT-RDOTREF)F1 KB1+V-VREF)F1 KB2 038468,000964: # WHERE F1 = FACTOR 038469,000965: 038470,000966: 25,3152 77745 UPCNTRL3 DLOAD 038471,000967: 25,3153 03700 RDOT 038472,000968: 25,3154 41225 DSU DMP # L/D = LEWD 038473,000969: 25,3155 01156 RDOTREF # -((RDOT-RDOTREF)F1/KB1+V-VREF)F1/KB2 038474,000970: 25,3156 03614 FACTOR 038475,000971: 25,3157 43271 DDV DAD 038476,000972: 25,3160 15211 1/KB1 038477,000973: 25,3161 03674 V 038478,000974: 25,3162 41225 DSU DMP 038479,000975: 25,3163 01160 VREF 038480,000976: 25,3164 03614 FACTOR 038481,000977: 25,3165 41471 DDV PUSH 038482,000978: 038483,000979: 25,3166 15213 -1/KB2 # DELTA L/D INTO PDL 038484,000980: 25,3167 51400 BOV ABS # NONLINEAR CIRCUIT FOR REDUCING HIGH GAIN 038485,000981: 25,3170 53472 GOMAXL/D 038486,000982: 25,3171 50025 DSU BMN 038487,000983: 25,3172 15275 PT1/16 038488,000984: 25,3173 53200 NEXT1 038489,000985: 25,3174 43205 DMP DAD 038490,000986: 25,3175 15153 POINT1 038491,000987: 25,3176 15275 PT1/16 038492,000988: 25,3177 41565 SIGN PUSH # ATTACH SIGN OF PUSH TO MPAC THEN PUSH 038493,000989: 038494,000990: 25,3200 42545 NEXT1 DLOAD SL4 038495,000991: # DELTA L/D FROM PDL. 038496,000992: 038497,000993: 25,3201 77615 DAD 038498,000994: 25,3202 03725 LEWD 038499,000995: 25,3203 41400 NEGTESTS BOV PUSH # L/D TO PDL FOR USE IN NEGTESTS. 038500,000996: 25,3204 53472 GOMAXL/D 038501,000997: 25,3205 17634 STODL L/D 038502,000998: # IF D-C20 POS, LATSW =0 038503,000999: # AND IF L/D NEG, L/D = 0. 038504,001000: 25,3206 03640 D 038505,001001: 25,3207 50025 DSU BMN 038506,001002: 25,3210 15217 C20 038507,001003: 25,3211 53526 LIMITL/D 038508,001004: 25,3212 71214 CLEAR DLOAD 038509,001005: 25,3213 03273 LATSW # =21D. ROLL OVER TOP, REGARDLESS. 038510,001006: # L/D FROM PDL. 038511,001007: 25,3214 71244 BPL DLOAD 038512,001008: 25,3215 53526 LIMITL/D 038513,001009: 25,3216 15335 3ZEROS 038514,001010: 25,3217 37634 STCALL L/D 038515,001011: 25,3220 53526 LIMITL/D # (GO TO) 038516,001012: 038517,001013: # Page 867 038518,001014: 25,3221 77745 DCONSTD DLOAD # TWO RANGER ENTRIES TO CONSTD HERE 038519,001015: 25,3222 03610 DIFF 038520,001016: # SAVE OLD VALUE OF DIFF FOR NEXT PASS. 038521,001017: 25,3223 17612 STODL DIFFOLD # DIFFOLD / 2 PI 038522,001018: 038523,001019: 25,3224 15177 Q7F 038524,001020: 25,3225 03175 STORE Q7 038525,001021: 038526,001022: 25,3226 47131 BECONSTD SSP RTB # A HUNTEST ENTRY INTO CONSTD. 038527,001023: 25,3227 03646 GOTOADDR # RESET MODE TO HUNTEST 038528,001024: 25,3230 52373 HUNTEST 038529,001025: 25,3231 54506 KILLGRP4 # DEACTIVATE GRP4 FROM HUNTEST. 038530,001026: 038531,001027: 25,3232 77604 CONSTD BOVB 038532,001028: 25,3233 57352 TCDANZIG # CLEAR OVF IND IF ON. 038533,001029: 038534,001030: 25,3234 41345 DLOAD DMP 038535,001031: 25,3235 03654 LEQ 038536,001032: 25,3236 03706 C/D0 # C/D0 = -4/D0 B-8 038537,001033: 25,3237 41325 PDDL DMP # LEQ C/D0 INTO PDL 038538,001034: 25,3240 15263 2HS # 2HS / 4 VS VS 038539,001035: 25,3241 03710 D0 038540,001036: 25,3242 43271 DDV DAD # RDOTREF = -2 HS D0/V 038541,001037: 25,3243 03674 V 038542,001038: 25,3244 03700 RDOT 038543,001039: 25,3245 43205 DMP DAD 038544,001040: 25,3246 15227 K2D # C/D0 LEQ + K2D(RDOT-RDOTREF) INTO PD 038545,001041: 25,3247 77725 PDDL 038546,001042: 25,3250 03710 D0 # D0 /805 038547,001043: 038548,001044: 25,3251 77621 CONSTD1 BDSU # ENTER WITH DREF IN MPAC 038549,001045: 25,3252 03640 D 038550,001046: 25,3253 43205 DMP DAD 038551,001047: 25,3254 15225 K1D # K2D TERM FROM PUSH 038552,001048: 25,3255 52061 SL GOTO 038553,001049: 25,3256 20211 8D 038554,001050: 25,3257 53203 NEGTESTS # (GO TO) 038555,001051: 038556,001052: 25,3260 77604 DOWNCNTL BOVB # INITIAL PART OF UPCONTROL. 038557,001053: 25,3261 57352 TCDANZIG # CLEAR OVFIND, IF ON. 038558,001054: 038559,001055: 25,3262 54345 DLOAD SR 038560,001056: 25,3263 03624 LAD 038561,001057: 25,3264 20611 8D 038562,001058: 25,3265 45325 PDDL DSU # RDTR = LAD(V1-V) 038563,001059: 25,3266 03674 V 038564,001060: 25,3267 00326 V1 038565,001061: 25,3270 43205 DMP DAD 038566,001062: 25,3271 03624 LAD 038567,001063: # Page 868 038568,001064: 25,3272 03700 RDOT 038569,001065: 25,3273 43205 DMP DAD 038570,001066: 25,3274 15227 K2D 038571,001067: # PUSH UP LAD. 038572,001068: 25,3275 45325 PDDL DSU # LAD + K2D(RDOT-RDTR) INTO PD 038573,001069: 25,3276 00326 V1 038574,001070: 25,3277 03674 V 038575,001071: 25,3300 41316 DSQ DMP 038576,001072: 25,3301 03624 LAD 038577,001073: 25,3302 65271 DDV PDDL # (V1-V)SQ LAD/(2 C1 HS) INTO PD 038578,001074: 25,3303 15273 2C1HS 038579,001075: 25,3304 00326 V1 038580,001076: 25,3305 56316 DSQ DDV 038581,001077: 25,3306 03622 VSQUARE 038582,001078: 25,3307 45265 BDDV DSU # DREF = (V/V1)SQ A0 - PD 038583,001079: 25,3310 00330 A0 038584,001080: # PUSH UP HERE 038585,001081: 25,3311 77650 GOTO # C(MPAC) = DREF 038586,001082: 25,3312 53251 CONSTD1 038587,001083: 038588,001084: # 2 2 038589,001085: # DREF = (V/V1) A0 -(V-V1) LAD/2 C1 HS 038590,001086: # Page 869 038591,001087: # * START BALLISTIC PHASE ... 038592,001088: # MM = 66 UPCONTRL ENTRY INTO KEP2 038593,001089: 25,3313 66234 KEP RTB SSP 038594,001090: 25,3314 54474 P66 # DISPLAY TRIM GIMBAL ANGLE VALUES. 038595,001091: 25,3315 03646 GOTOADDR # SET GOTOADDR TO KEPLER PHASE. 038596,001092: 25,3316 53317 KEP2 038597,001093: 038598,001094: # KEP2 CAN ALSO BE STARTED UP DIRECTLY FROM INITROLL 038599,001095: # IN P64. PROGRAM WILL IDLE IN P64 UNTIL D EXCEEDS 038600,001096: # .2 G BEFORE GOING ON TO P67. 038601,001097: 038602,001098: 25,3317 45345 KEP2 DLOAD DSU # IF Q7F+KDMIN -D NEG, GO TO FINAL PHASE. 038603,001099: 25,3320 15167 Q7FKDMIN # (Q7F + KDMIN)/805 038604,001100: 25,3321 03640 D 038605,001101: 25,3322 72240 BMN TLOAD 038606,001102: 25,3323 53333 PREFINAL 038607,001103: # SET ROLLHOLD = ROLLC, IN CASE CMDAPMOD 038608,001104: 25,3324 03316 ROLLC # = +1 EVER ENTERED. 038609,001105: 25,3325 72214 BON TLOAD # IF D > .05G, KEEP PRESENT ROLL COMMAND. 038610,001106: 25,3326 03314 .05GSW # IF D < .06G, SET ROLL COMMAND = 0. 038611,001107: 25,3327 53331 +2 038612,001108: 25,3330 15335 3ZEROS # SET ROLLC & ROLLHOLD =0. 038613,001109: 25,3331 37316 +2 STCALL ROLLC # (SP ROLLHOLD FOLLOWS DP ROLLC) 038614,001110: 25,3332 54401 P62.3 # CALC DESIRED GIMBAL ANGLES AT PRESENT 038615,001111: # RN, VN TO YIELD TRIM ATTITUDE. 038616,001112: # AVAILABLE IN CPHI'S FOR N22. 038617,001113: # Page 870 038618,001114: # START FINAL PHASE ... 038619,001115: # MM = 67 038620,001116: 25,3333 47131 PREFINAL SSP RTB 038621,001117: 25,3334 03646 GOTOADDR # RESTART PROTECT: RESET GOTOADDR IF CAME 038622,001118: 25,3335 53333 PREFINAL # FROM HUNTEST. 038623,001119: 25,3336 54500 P67 # DISABLES GRP4. FINE IF FROM HUNTEST, BUT 038624,001120: # MAY ALSO REMOVE RESTART PROTECTION OF 038625,001121: # N69 (P65). 038626,001122: # ROLLC XRNGERR DNRNGERR 038627,001123: # XXX.XX DEG XXXX.X NM XXXX.XX NM 038628,001124: 038629,001125: 25,3337 66214 SET SSP 038630,001126: 25,3340 03067 EGSW 038631,001127: 25,3341 03646 GOTOADDR 038632,001128: 25,3342 53343 PREDICT3 038633,001129: 038634,001130: 25,3343 45345 PREDICT3 DLOAD DSU # IF V-VQUIT NEG, STOP STEERING 038635,001131: 25,3344 03674 V 038636,001132: 25,3345 15215 VQUIT 038637,001133: 25,3346 77440 BMN EXIT 038638,001134: 25,3347 53613 STEEROFF 038639,001135: 038640,001136: 25,3350 35060 CA EBENTRY # PRECAUTIONARY. 038641,001137: 25,3351 54003 TS EBANK 038642,001138: 038643,001139: 25,3352 35771 CA TWELVE 038644,001140: 25,3353 55771 BACK TS JJ 038645,001141: 038646,001142: 25,3354 41673 CS V 038647,001143: 25,3355 51771 INDEX JJ 038648,001144: 25,3356 63637 AD VREFER # VREF - V, HIGHEST VREF AT END OF TABLE. 038649,001145: 25,3357 10000 CCS A # IF VREF-V POS LOOP BACK 038650,001146: 25,3360 11771 CCS JJ # DECREMENT JJ, JJ CANNOT BE ZERO 038651,001147: 25,3361 13353 TCF BACK 038652,001148: 25,3362 65017 AD ONE 038653,001149: 25,3363 55646 TS TEM1B # V-VREF IN TEM1B (MUST BE POSITIVE NUM) 038654,001150: 038655,001151: 25,3364 51771 INDEX JJ 038656,001152: 25,3365 43637 CS VREFER 038657,001153: 25,3366 51771 INDEX JJ 038658,001154: 25,3367 63640 AD VREFER +1 # V(K+1) - V(K) (POS NUM) 038659,001155: 25,3370 57646 XCH TEM1B 038660,001156: 25,3371 22007 ZL 038661,001157: 25,3372 00006 EXTEND 038662,001158: 25,3373 11646 DV TEM1B 038663,001159: 25,3374 55651 TS GRAD # GRAD = (V-VREF)/(VK+1 - VK) (POS NUM) 038664,001160: 038665,001161: 25,3375 35022 CAF FIVE 038666,001162: 038667,001163: # Page 871 038668,001164: 25,3376 55650 BACK2 TS MM 038669,001165: 25,3377 35025 CAF THIRTEEN 038670,001166: 25,3400 27771 ADS JJ 038671,001167: 25,3401 50000 INDEX A 038672,001168: 25,3402 43637 CS VREFER 038673,001169: 25,3403 51771 INDEX JJ 038674,001170: 25,3404 63640 AD VREFER +1 # X(K+1) - X(K) 038675,001171: 25,3405 00006 EXTEND 038676,001172: 25,3406 71651 MP GRAD 038677,001173: 25,3407 51771 INDEX JJ 038678,001174: 25,3410 63637 AD VREFER 038679,001175: 25,3411 51650 INDEX MM 038680,001176: 25,3412 55652 TS FX # FX = AK + GRAD (AK+1 - AK) 038681,001177: 25,3413 11650 CCS MM 038682,001178: 25,3414 13376 TCF BACK2 038683,001179: 25,3415 57653 XCH FX +1 # ZERO FX +1 AND GET DREFR 038684,001180: 25,3416 61637 AD D 038685,001181: 25,3417 00006 EXTEND 038686,001182: 25,3420 71657 MP FX +5 # F1 038687,001183: 25,3421 52155 DXCH MPAC # MPAC = F1(D-DREF) 038688,001184: 038689,001185: 25,3422 00006 EXTEND 038690,001186: 25,3423 41700 DCS RDOT # FORM RDOTREF - RDOT 038691,001187: 25,3424 20001 DDOUBL 038692,001188: 25,3425 20001 DDOUBL 038693,001189: 25,3426 20001 DDOUBL # SCALE UP BY 8 FOR THIS PHASE. 038694,001190: 25,3427 61655 AD FX +3 # RDOTREF 038695,001191: 25,3430 00006 EXTEND 038696,001192: 25,3431 71656 MP FX +4 # F2 038697,001193: 25,3432 61654 AD FX +2 # RTOGO 038698,001194: 25,3433 20155 DAS MPAC # ADD F2(DADV1-DADVR) 038699,001195: 25,3434 30154 CA MPAC 038700,001196: 25,3435 55770 TS PREDANG 038701,001197: # L/D = LOD + (THETA- PREDANG)/ Y 038702,001198: 25,3436 06006 TC INTPRET 038703,001199: 038704,001200: 25,3437 45242 SR3 DSU 038705,001201: 25,3440 03702 THETAH 038706,001202: 25,3441 43014 BON BOFF 038707,001203: 25,3442 03305 GONEPAST 038708,001204: 25,3443 53470 GONEGLAD 038709,001205: 25,3444 03747 GONEBY 038710,001206: 25,3445 53453 HAVDNRNG 038711,001207: 25,3446 43145 DLOAD SET # SET GONEPAST IF GONEBY SET & LATCH IN-PLACE 038712,001208: 25,3447 13773 MAXRNG # DISPLAY = 9999.9 IF GONEBY 038713,001209: 25,3450 03065 GONEPAST 038714,001210: 25,3451 37716 STCALL DNRNGERR 038715,001211: 25,3452 53470 GONEGLAD 038716,001212: 038717,001213: 25,3453 03716 HAVDNRNG STORE DNRNGERR # = (PREDANG - THETA) /360 038718,001214: # Page 872 038719,001215: 25,3454 77676 DCOMP # FALLS SHORT IF NEG, OVERSHOOT IF POS 038720,001216: 25,3455 56204 BOVB DDV 038721,001217: 25,3456 57352 TCDANZIG # CLEAR OVFIND IF ON. 038722,001218: 25,3457 03653 FX # FX= DRANGE/D L/D = Y 038723,001219: 25,3460 40061 SL BOV 038724,001220: 25,3461 20206 5 038725,001221: 25,3462 53472 GOMAXL/D 038726,001222: 25,3463 40015 DAD BOV 038727,001223: 25,3464 03626 LOD 038728,001224: 25,3465 53472 GOMAXL/D 038729,001225: 25,3466 37634 STCALL L/D 038730,001226: 25,3467 53476 GLIMITER # (GO TO) 038731,001227: 038732,001228: # GONEGLAD AND GOPOSMAX ENTRY POINTS FOR GLIMITER ... 038733,001229: 038734,001230: 25,3470 77745 GONEGLAD DLOAD # SET L/D = -LAD 038735,001231: 25,3471 13471 GONEGLAD # (ANY NEGATIVE NUMBER WILL DO) 038736,001232: 038737,001233: 25,3472 41234 GOMAXL/D RTB DMP L/D = 038738,001234: 25,3473 45712 SIGNMPAC 038739,001235: 25,3474 03624 LAD 038740,001236: 25,3475 03634 STORE L/D # AND FALL INTO GLIMITER SECTION 038741,001237: 038742,001238: 25,3476 45345 GLIMITER DLOAD DSU # IF GMAX/2-D POS, GO TO LIMITL/D 038743,001239: 25,3477 15161 GMAX/2 038744,001240: 25,3500 03640 D 038745,001241: 25,3501 43244 BPL DAD # IF GMAX -D NEG, GO TO GOPOSLAD 038746,001242: 25,3502 53526 LIMITL/D 038747,001243: 25,3503 15161 GMAX/2 038748,001244: 25,3504 41240 BMN DMP 038749,001245: 25,3505 53523 GOPOSLAD 038750,001246: 25,3506 15263 2HS 038751,001247: 25,3507 41325 PDDL DMP # 2HS(GMAX-D) INTO PD 038752,001248: 25,3510 03654 LEQ 038753,001249: 25,3511 15333 1/GMAX 038754,001250: 25,3512 41215 DAD DMP 038755,001251: 25,3513 03624 LAD 038756,001252: 25,3514 56325 PDDL DDV # 2HS(GMAX-D) (LEQ/GMAX+LAD) INTO PD 038757,001253: 25,3515 15265 2HSGMXSQ 038758,001254: 25,3516 03622 VSQUARE 038759,001255: 25,3517 75415 DAD SQRT # XLIM = SQRT(PD+(2HSGMAX/V)SQ) 038760,001256: 25,3520 51015 DAD BPL # IF RDOT+XLIM POS, GO TO LIMITL/D 038761,001257: 25,3521 03700 RDOT 038762,001258: 25,3522 53526 LIMITL/D 038763,001259: 038764,001260: 25,3523 77745 GOPOSLAD DLOAD 038765,001261: 25,3524 03624 LAD 038766,001262: 25,3525 03634 STOREL/D STORE L/D 038767,001263: 038768,001264: # Page 873 038769,001265: 25,3526 77745 LIMITL/D DLOAD 038770,001266: 25,3527 03634 L/D 038771,001267: 25,3530 17636 STODL L/D1 038772,001268: 25,3531 03622 VSQUARE 038773,001269: 038774,001270: 25,3532 77614 BON # NO LATERAL CONTROL IF PAST TARGET 038775,001271: 25,3533 03305 GONEPAST 038776,001272: 25,3534 53566 L355 038777,001273: 25,3535 43205 DMP DAD # Y= KLAT VSQUARE + LATBIAS 038778,001274: 25,3536 03632 KLAT 038779,001275: 25,3537 15243 LATBIAS # Y INTO PD 038780,001276: 25,3540 51525 L350 PDDL ABS # IF ABS(L/D)-L/DCMINR NEG, GO TO L353 038781,001277: 25,3541 03634 L/D 038782,001278: 25,3542 50025 DSU BMN 038783,001279: 25,3543 03630 L/DCMINR 038784,001280: 25,3544 53553 L353 038785,001281: 25,3545 75345 DLOAD SIGN # IF K2ROLL LATANG NEG, GO TO L357 038786,001282: 25,3546 03676 LATANG 038787,001283: 25,3547 03644 K2ROLL 038788,001284: 25,3550 71240 BMN DLOAD 038789,001285: 25,3551 53632 L357 038790,001286: 25,3552 41542 SR1 PUSH # Y = Y/2 038791,001287: 25,3553 75345 L353 DLOAD SIGN # IF LATANG SIGN(K2ROLL)-Y POS, SWITCH 038792,001288: 25,3554 03676 LATANG 038793,001289: 25,3555 03644 K2ROLL 038794,001290: 25,3556 77625 DSU 038795,001291: 25,3557 71240 BMN DLOAD 038796,001292: 25,3560 53566 L355 038797,001293: 25,3561 03644 K2ROLL 038798,001294: 25,3562 57414 BONCLR DCOMP # IF NOSWITCH =1, K2ROLL= K2ROLL 038799,001295: 25,3563 03210 NOSWITCH 038800,001296: 25,3564 53566 L355 038801,001297: 25,3565 03644 STORE K2ROLL # K2ROLL = -K2ROLL 038802,001298: 038803,001299: 25,3566 56345 L355 DLOAD DDV # ROLLC = ACOS( (L/D1) / LAD) 038804,001300: 25,3567 03636 L/D1 038805,001301: 25,3570 03624 LAD # MPAC SET TO +-1 IF OVERFLOW*** 038806,001302: 25,3571 65542 SR1 ACOS 038807,001303: 25,3572 43165 SIGN CLEAR 038808,001304: 25,3573 03644 K2ROLL 038809,001305: 25,3574 03270 NOSWITCH 038810,001306: 25,3575 03316 STORE ROLLC 038811,001307: 038812,001308: 25,3576 77776 ENDEXIT EXIT 038813,001309: 038814,001310: 25,3577 35003 OVERNOUT CA BIT13 # ENTRYDSP =92D B13 038815,001311: 25,3600 70102 MASK CM/FLAGS 038816,001312: 25,3601 00006 EXTEND 038817,001313: 25,3602 13606 BZF NODISKY # OMIT DISPLAY. 038818,001314: # Page 874 038819,001315: 25,3603 31263 CA ENTRYVN # ALL ENTRY DISPLAYS ARE DONE HERE. 038820,001316: 25,3604 04662 TC BANKCALL 038821,001317: 25,3605 20712 CADR REGODSPR # NO ABORT IF DISKY IN USE 038822,001318: 038823,001319: 25,3606 00004 NODISKY INHINT 038824,001320: 25,3607 10067 CCS NEWJOB # PROTECT READACCS GRP 5, IF SIDETRACKED. 038825,001321: 25,3610 05164 TC CHANG1 038826,001322: 25,3611 04701 SERVNOUT TC POSTJUMP # ( COME HERE FROM P67.3 ) 038827,001323: 25,3612 77227 CADR SERVEXIT # AND END AVERAGEG JOB VIA ENDOJOB. 038828,001324: 038829,001325: # Page 875 038830,001326: # DISPLAY WHEN V IS LESS THAN VQUIT. 038831,001327: 038832,001328: 25,3613 77776 STEEROFF EXIT 038833,001329: 25,3614 35060 CA EBENTRY # PRECAUTIONARY. 038834,001330: 25,3615 54003 TS EBANK 038835,001331: 038836,001332: 25,3616 35070 CA PRIO16 # 2 LESS THAN NTRYPRIO. 038837,001333: 25,3617 05134 TC NOVAC 038838,001334: 25,3620 E6,1661 EBANK= AOG # ANY EB HERE 038839,001335: 25,3620 02512 54066 2CADR P67.1 # START UP REMAINDER OF P67 038840,001336: 038841,001337: # RTOGO LAT LONG 038842,001338: # XXXX.X NM XXX.XX DEG XXX.XX DEG 038843,001339: 038844,001340: 25,3622 05372 TC 2PHSCHNG # INHINT/RELINT DONE. 038845,001341: 25,3623 00414 OCT 00414 # 4.41 RESTART FOR P67.1 DISPLAY JOB. 038846,001342: 25,3624 10035 OCT 10035 # SERVICER 5.3 RESTART. 038847,001343: 038848,001344: 25,3625 33631 CA P67.2CAD # HEREAFTER, DO LAT, LONG. 038849,001345: 25,3626 55645 TS GOTOADDR 038850,001346: 038851,001347: 25,3627 06006 TC INTPRET 038852,001348: 25,3630 77650 GOTO 038853,001349: 25,3631 54531 P67.2CAD P67.2 # CONTINUE FOR LAT, LONG THIS TIME. 038854,001350: 038855,001351: 25,3632 75345 L357 DLOAD SIGN # L/D = L/DCMINR SIGN(L/D) 038856,001352: 25,3633 03630 L/DCMINR 038857,001353: 25,3634 03634 L/D 038858,001354: 25,3635 37636 STCALL L/D1 038859,001355: 25,3636 53566 L355 # (GO TO) 038860,001356: 038861,001357: # Page 876 038862,001358: # TABLE USED FOR SUB-ORBITAL REFERENCE TRAJECTORY CONTROL. 038863,001359: 038864,001360: 25,3637 00474 VREFER DEC .019288 # REFERENCE VELOCITY SCALED V/51532.3946 038865,001361: 25,3640 01235 DEC .040809 # 13 POINTS ARE STORED AS THE INDEPENDENT 038866,001362: 25,3641 02337 DEC .076107 # VARIABLE AND THEN SIX 13-POINT FUNCTIONS 038867,001363: 25,3642 03721 DEC .122156 # OF V ARE STORED CONSECUTIVELY 038868,001364: 25,3643 05230 DEC .165546 038869,001365: 25,3644 06213 DEC .196012 038870,001366: 25,3645 10550 DEC .271945 038871,001367: 25,3646 11717 DEC .309533 038872,001368: 25,3647 13314 DEC .356222 038873,001369: 25,3650 14736 DEC .404192 038874,001370: 25,3651 16255 DEC .448067 038875,001371: 25,3652 16457 DEC .456023 038876,001372: 25,3653 25570 DEC .67918 # HIGHVELOCITY FOR SAFETY. 038877,001373: 038878,001374: 25,3654 77526 DEC -.010337 # DRANGE/DA SCALED DRDA/(2700/805) 038879,001375: 25,3655 77360 DEC -.016550 038880,001376: 25,3656 77106 DEC -.026935 038881,001377: 25,3657 76516 DEC -.042039 038882,001378: 25,3660 76071 DEC -.058974 038883,001379: 25,3661 75570 DEC -.070721 038884,001380: 25,3662 74661 DEC -.098538 038885,001381: 25,3663 74436 DEC -.107482 038886,001382: 25,3664 73212 DEC -.147762 038887,001383: 25,3665 71640 DEC -.193289 038888,001384: 25,3666 54557 DEC -.602557 038889,001385: 25,3667 40000 DEC -.99999 038890,001386: 25,3670 40000 DEC -.99999 038891,001387: 038892,001388: 25,3671 77635 DEC -.0478599 B-3 # -DRANGE/DRDOT 038893,001389: 25,3672 77563 DEC -.0683663 B-3 # SCALED ((2VS/8 2700) DR/DRDOT) 038894,001390: 25,3673 77354 DEC -.1343468 B-3 038895,001391: 25,3674 76712 DEC -.2759846 B-3 038896,001392: 25,3675 76066 DEC -.4731437 B-3 038897,001393: 25,3676 75322 DEC -.6472087 B-3 038898,001394: 25,3677 73237 DEC -1.171693 B-3 038899,001395: 25,3700 72104 DEC -1.466382 B-3 038900,001396: 25,3701 70301 DEC -1.905171 B-3 038901,001397: 25,3702 65635 DEC -2.547990 B-3 038902,001398: 25,3703 57311 DEC -4.151220 B-3 038903,001399: 25,3704 50575 DEC -5.813617 B-3 038904,001400: 25,3705 50575 DEC -5.813617 B-3 038905,001401: 038906,001402: # Page 877 038907,001403: 25,3706 74443 DEC -.0134001 B3 # RDOTREF SCALED (8 RDT/2VS) 038908,001404: 25,3707 74333 DEC -.013947 B3 038909,001405: 25,3710 74433 DEC -.013462 B3 038910,001406: 25,3711 74763 DEC -.011813 B3 038911,001407: 25,3712 75432 DEC -.0095631 B3 038912,001408: 25,3713 75735 DEC -.00806946 B3 038913,001409: 25,3714 76200 DEC -.006828 B3 038914,001410: 25,3715 75735 DEC -.00806946 B3 038915,001411: 25,3716 75140 DEC -.0109791 B3 038916,001412: 25,3717 74075 DEC -.0151498 B3 038917,001413: 25,3720 73312 DEC -.0179817 B3 038918,001414: 25,3721 73732 DEC -.0159061 B3 038919,001415: 25,3722 73732 DEC -.0159061 B3 038920,001416: 038921,001417: 25,3723 00015 DEC .0008067 # RANGE TO GO SCALED RTOGO/2700 038922,001418: 25,3724 00066 DEC .0032963 # 8.9 038923,001419: 25,3725 00206 DEC .0081852 # 22.1 038924,001420: 25,3726 00431 DEC .017148 038925,001421: 25,3727 00712 DEC .027926 038926,001422: 25,3730 01136 DEC .037 038927,001423: 25,3731 02015 DEC .063298 038928,001424: 25,3732 02374 DEC .077889 038929,001425: 25,3733 03123 DEC .098815 038930,001426: 25,3734 04051 DEC .127519 038931,001427: 25,3735 05767 DEC .186963 038932,001428: 25,3736 07476 DEC .238148 038933,001429: 25,3737 11324 DEC .294185185 038934,001430: 038935,001431: 25,3740 76272 DEC -.051099 # -AREF/805 038936,001432: 25,3741 75472 DEC -.074534 038937,001433: 25,3742 74604 DEC -.101242 038938,001434: 25,3743 74210 DEC -.116646 038939,001435: 25,3744 74052 DEC -.122360 038940,001436: 25,3745 73735 DEC -.127081 038941,001437: 25,3746 73217 DEC -.147453 038942,001438: 25,3747 73013 DEC -.155528 038943,001439: 25,3750 73155 DEC -.149565 038944,001440: 25,3751 74151 DEC -.118509 038945,001441: 25,3752 76703 DEC -.034907 038946,001442: 25,3753 77575 DEC -.007950 038947,001443: 25,3754 77575 DEC -.007950 038948,001444: 038949,001445: # Page 878 038950,001446: 25,3755 00112 DEC .004491 # DRANGE/D L/D SCALED Y/2700 038951,001447: 25,3756 00204 DEC .008081 038952,001448: 25,3757 00407 DEC .016030 038953,001449: 25,3760 01113 DEC .035815 038954,001450: 25,3761 02161 DEC .069422 038955,001451: 25,3762 03260 DEC .104519 038956,001452: 25,3763 03717 DEC .122 038957,001453: 25,3764 05411 DEC .172407 038958,001454: 25,3765 10057 DEC .252852 038959,001455: 25,3766 13476 DEC .363148 038960,001456: 25,3767 20324 DEC .512963 038961,001457: 25,3770 21677 DEC .558519 038962,001458: 25,3771 21677 DEC .558519 # END OF STORED REFERENCE 038963,001459: 038964,001460: # Page 879 038965,001461: # REENTRY CONSTANTS. 038966,001462: 038967,001463: # DEFINED BY EQUALS 038968,001464: 038969,001465: 25,3772 5026 DEC15 = LOW4 038970,001466: # GAMMAL1 = 22D 038971,001467: 038972,001468: 25,3772 16631 06755 MAXRNG 2OCT 1663106755 # DNRNGERR = 9999.9 IF GONEPAST=1 038973,001469: 038974,001470: 26,3145 BANK 26 038975,001471: 26,2000 SETLOC REENTRY1 038976,001472: 26,2000 BANK 038977,001473: 038978,001474: 26,3145 COUNT* $$/ENTRY 038979,001475: 038980,001476: 26,3145 27,3371 BARELY1 = NEARONE # COMMON TO BOTH DISK,DANCE, DEFND IN TFF 038981,001477: # 1BITDP # COMMON TO BOTH DISK AND DANCE. DEFND IN VECPOINT. 038982,001478: 038983,001479: 26,3145 02525 1/12TH DEC .083333 # DP 1/12 USES HI WORD IN 1/3 BELOW 038984,001480: 26,3146 12525 12525 1/3RD 2DEC .3333333333 # DP 1/3 038985,001481: 038986,001482: 26,3150 27,3365 1/16TH = DP2(-4) 038987,001483: 038988,001484: # BELOW: VS = VSAT = 25766.1973 FT/SEC 038989,001485: 038990,001486: # RE = 21,202,900 FEET 038991,001487: 038992,001488: 26,3150 04631 23146 LEWD1 2DEC .15 038993,001489: 038994,001490: 26,3152 03146 14632 POINT1 2DEC .1 038995,001491: 038996,001492: 26,3154 06314 31463 POINT2 2DEC .2 # .2 038997,001493: 038998,001494: 26,3156 76314 71462 DLEWD0 2DEC -.05 # -.05 038999,001495: 039000,001496: 26,3160 05075 16051 GMAX/2 2DEC .16 # 8 GS / 2 039001,001497: 039002,001498: 26,3162 26,3334 3ZEROS EQUALS HI6ZEROS 039003,001499: 26,3162 07777 00000 NEAR1/4 2OCT 0777700000 # 1/4 LESS 1 BIT IN UPPER PART. 039004,001500: 039005,001501: 26,3164 00236 36763 C18 2DEC .0097026346 # 500/2VS 039006,001502: 039007,001503: 26,3166 00204 11303 Q7FKDMIN 2DEC .0080745342 # 6.5/805 (Q7F +KDMIN) = 6 + .5) 039008,001504: 039009,001505: 26,3170 27,3365 C1/16 = DP2(-4) 039010,001506: 039011,001507: 26,3170 05260 05572 Q3 2DEC .167003132 # .07 2VS/21600 039012,001508: # Page 880 039013,001509: 26,3172 12343 21616 Q5 2DEC .326388889 # .3 23500/21600 039014,001510: 039015,001511: 26,3174 01073 31515 Q6 2DEC .0349 # 2 DEG. APPROX 820/23500 039016,001512: 039017,001513: 26,3176 00172 03571 Q7F 2DEC .0074534161 # 6/805 (VALUE OF Q7 IN FIXED MEM.) 039018,001514: 039019,001515: 26,3200 26,3332 Q19 = HALVE # Q19 = .5 039020,001516: 039021,001517: 26,3200 00573 10230 Q21 2DEC .0231481481 # 500/21600 039022,001518: 039023,001519: 26,3202 76226 45761 Q22 2DEC -.053333333 # -1152/21600 039024,001520: 039025,001521: 26,3204 13132 33062 VLMIN 2DEC .34929485 # 18000/2 VS 039026,001522: 039027,001523: 26,3206 26,3324 VMIN = FOURTH # (VS/2) / 2VS 039028,001524: 26,3206 00160 05104 C12 2DEC .00684572901 # 32 28500/(21202900 2 PI) 039029,001525: 039030,001526: 26,3210 11322 32265 1/KB1 2DEC .29411765 # 1 / 3.4 039031,001527: 039032,001528: 26,3212 75047 72454 -1/KB2 2DEC -.0057074322 B4 # - 1/(.0034 2 VS) EXP +4 039033,001529: 039034,001530: 26,3214 00475 35746 VQUIT 2DEC .019405269 # 1000 /2VS 039035,001531: 039036,001532: 26,3216 06751 27515 C20 2DEC .21739130 # (175 FPSS) LIFT UP IF ABOVE C20 039037,001533: 039038,001534: 26,3220 05441 14412 C21 2DEC .17391304 # 140/805 039039,001535: 039040,001536: 26,3222 00022 36641 25NM 2DEC .0011574074 # 25/21600 (25 NAUT MILES) 039041,001537: 039042,001538: 26,3224 01003 06315 K1D 2DEC .0314453125 # =C16 805/256 = .01 805/256 039043,001539: 039044,001540: 26,3226 71435 75516 K2D 2DEC -.201298418 # -C17 2VS/256 = -.001 2VS/256 039045,001541: 039046,001542: 26,3230 32047 24367 KVSCALE 2DEC .81491944 # 12800/(2 VS .3048) 039047,001543: 039048,001544: 26,3232 37200 05636 KASCALE 2DEC .97657358 # 5.85 16384/(4 .3048 100 805) 039049,001545: 039050,001546: 26,3234 00046 13137 KTETA 2DEC* .383495203 E2 B-14* # 1000 2PI/16384(163.84) 039051,001547: 039052,001548: 26,3236 00017 30730 KT1 2DEC* .157788327 E2 B-14* # RE(2PI)/2 VS(16384) 163.84 039053,001549: 039054,001550: 26,3240 00040 30447 .05G 2DEC .002 # .05/25 039055,001551: 039056,001552: 26,3242 00000 17565 LATBIAS 2DEC .00003 # APPRX .5 NM/ 4(21600/2 PI) 039057,001553: 039058,001554: 26,3244 01727 20103 KWE 2DEC .120056652 B-1 039059,001555: 039060,001556: 26,3246 00121 17460 KACOS 2DEC .004973592 # 1/32(2PI) 039061,001557: 039062,001558: 26,3250 00400 00000 CHOOK 2DEC 1 B-6 # .25/16 039063,001559: # Page 881 039064,001560: 26,3252 01252 25253 1/24TH 2DEC .0833333333 B-1 039065,001561: 039066,001562: 26,3254 24365 30244 CH1 2DEC .32 B1 # 16 CH1/25 = 16 (1) /25 039067,001563: 039068,001564: 26,3256 77152 51354 KC3 2DEC -.0247622232 # -(4 VS VS/ 2 PI 805 RE) 039069,001565: 039070,001566: 26,3260 00336 21610 VRCONT 2DEC .0135836886 # 700/2 VSAT 039071,001567: 039072,001568: 26,3262 26,3332 HALVE EQUALS HIDPHALF 039073,001569: 26,3262 26,3324 FOURTH EQUALS HIDP1/4 039074,001570: 039075,001571: 26,3262 26,3332 1/GMAX EQUALS HALVE # 4/GMAX = 4 / 8 039076,001572: 26,3262 00433 02775 2HS 2DEC .0172786611 # 2 28500 25 32.2/(4 VS VS) 039077,001573: 039078,001574: 26,3264 00000 20017 2HSGMXSQ 2DEC .0000305717 # (2 28500 8 32.2/ 4 VS VS)SQ 039079,001575: 039080,001576: 26,3266 77765 70243 C001 2DEC -.000625 # -(4/25)/256 LEQ/D0 CONST 039081,001577: 039082,001578: 26,3270 31463 06315 POINT8 2DEC .8 039083,001579: 039084,001580: 26,3272 00541 33575 2C1HS 2DEC .0215983264 # 2 1.25 28500 805/(2 VS)SQ 039085,001581: 039086,001582: 26,3274 00146 14632 PT1/16 2DEC .1 B-4 039087,001583: 039088,001584: 26,3276 00052 30013 1/K44 2DEC .00260929464 # 2 VS/19749550 039089,001585: 039090,001586: 26,3300 20411 03041 VFINAL 2DEC .51618016 # 26600/2 VS 039091,001587: 039092,001588: 26,3302 20610 10513 VFINAL1 2DEC .523942273 # = 27000 / 2 VS 039093,001589: 039094,001590: 26,3304 11473 02355 1/KA1 2DEC .30048077 # 25/(1.3 64) 039095,001591: 039096,001592: 26,3306 00203 02234 KA2 2DEC .008 # .2/25 039097,001593: 039098,001594: 26,3310 16237 00146 KA3 2DEC .44720497 # = 90 4/805 039099,001595: 039100,001596: 26,3312 01456 03450 KA4 2DEC .049689441 # 40/805 039101,001597: 039102,001598: 26,3314 01727 01217 KALIM 2DEC .06 # 1.5/25 039103,001599: 039104,001600: 26,3316 26,3312 Q7MIN = KA4 # = 40/805 = .049689441 039105,001601: 26,3316 56232 72332 -HSCALED 2DEC -.55305018 # -28500/2 VS 039106,001602: 039107,001603: 26,3320 77000 43741 -KSCALE 2DEC -.0312424837 # -805/VS 039108,001604: 039109,001605: 26,3322 36702 21727 COS15 2DEC .965 039110,001606: 039111,001607: 26,3324 26,3145 LATSLOPE EQUALS 1/12TH 039112,001608: # ... END OF RE-ENTRY CONSTANTS ... 039113,001609: End of include-file REENTRY_CONTROL.agc. Parent file is MAIN.agc