Source Code

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