Source Code

035296,000001: # Copyright: Public domain. 035297,000002: # Filename: Template.agc 035298,000003: # Purpose: Part of the source code for Colossus, build 249. 035299,000004: # It is part of the source code for the Command Module's (CM) 035300,000005: # Apollo Guidance Computer (AGC), possibly for Apollo 8 and 9. 035301,000006: # Assembler: yaYUL 035302,000007: # Reference: pp. 802-839 of 1701.pdf. 035303,000008: # Contact: Ron Burkey <info@sandroid.org>. 035304,000009: # Website: www.ibiblio.org/apollo. 035305,000010: # Mod history: 08/21/04 RSB. Began transcribing. 035306,000011: 035307,000012: # The contents of the "Colossus249" files, in general, are transcribed 035308,000013: # from a scanned document obtained from MIT's website, 035309,000014: # http://hrst.mit.edu/hrs/apollo/public/archive/1701.pdf. Notations on this 035310,000015: # document read, in part: 035311,000016: 035312,000017: # Assemble revision 249 of AGC program Colossus by NASA 035313,000018: # 2021111-041. October 28, 1968. 035314,000019: 035315,000020: # This AGC program shall also be referred to as 035316,000021: # Colossus 1A 035317,000022: 035318,000023: # Prepared by 035319,000024: # Massachussets Institute of Technology 035320,000025: # 75 Cambridge Parkway 035321,000026: # Cambridge, Massachusetts 035322,000027: # under NASA contract NAS 9-4065. 035323,000028: 035324,000029: # Refer directly to the online document mentioned above for further information. 035325,000030: # Please report any errors (relative to 1701.pdf) to info@sandroid.org. 035326,000031: 035327,000032: # In some cases, where the source code for Luminary 131 overlaps that of 035328,000033: # Colossus 249, this code is instead copied from the corresponding Luminary 131 035329,000034: # source file, and then is proofed to incorporate any changes. 035330,000035: 035331,000036: # Page 802 035332,000037: # ENTRY INITIALIZATION ROUTINE 035333,000038: # ---------------------------- 035334,000039: 035335,000040: 25,2000 BANK 25 035336,000041: 25,2000 SETLOC REENTRY 035337,000042: 25,2000 BANK 035338,000043: 035339,000044: 25,2000 COUNT* $$/ENTRY 035340,000045: 25,2000 E7,1451 EBANK= RTINIT 035341,000046: 035342,000047: 25,2000 4753 EBENTRY = EBANK7 035343,000048: 25,2000 4752 EBAOG EQUALS EBANK6 035344,000049: 25,2000 4675 NTRYPRIO EQUALS PRIO20 # (SERVICER) 035345,000050: 25,2000 0102 CM/FLAGS EQUALS STATE +6 035346,000051: 035347,000052: 25,2000 77776 STARTENT EXIT # MM = 63 035348,000053: 035349,000054: # COME HERE FROM CM/POSE. RESTARTED IN CM/POSE. 035350,000055: 25,2001 42113 CS ENTMASK # INITIALIZE ALL SWITCHES TO ZERO 035351,000056: # EXCEPT LATSW, ENTRYDSP, AND GONEPAST. 035352,000057: # GONEBY 112D BIT8 FLAG7, SELF-INITIALIZING. 035353,000058: 25,2002 00004 INHINT 035354,000059: 25,2003 70102 MASK CM/FLAGS 035355,000060: # ENTRYDSP = 92D B13 035356,000061: # GONEPAST=95D B10 RELVELSW=96D B9 035357,000062: # EGSW = 97D B8 035358,000063: # HIND=99D B6 INRLSW=100D B5 035359,000064: # LATSW=101D B4 .05GSW=102D B3 035360,000065: 035361,000066: 25,2004 62114 AD ENTRYSW 035362,000067: 25,2005 54102 TS CM/FLAGS 035363,000068: 035364,000069: 25,2006 00003 RELINT 035365,000070: 035366,000071: 25,2007 06006 TC INTPRET 035367,000072: 035368,000073: 25,2010 77735 SLOAD 035369,000074: 25,2011 03011 LODPAD 035370,000075: 25,2012 03626 STORE LOD 035371,000076: 035372,000077: 25,2013 77735 SLOAD 035373,000078: 25,2014 03010 LADPAD 035374,000079: 25,2015 03624 STORE LAD 035375,000080: 035376,000081: 25,2016 77605 DMP # L/DCMINR = LAD COS(15) 035377,000082: 25,2017 15320 COS15 035378,000083: 25,2020 17630 STODL L/DCMINR 035379,000084: 25,2021 15145 LATSLOPE 035380,000085: 25,2022 70405 DMP SR1 # KLAT = LAD/24 035381,000086: 25,2023 03624 LAD 035382,000087: # Page 803 035383,000088: 25,2024 17632 STODL KLAT 035384,000089: 25,2025 15176 Q7F 035385,000090: 25,2026 17175 STODL Q7 # Q7 = Q7F 035386,000091: 25,2027 17363 NEARONE # 1.0 -1BIT 035387,000092: 25,2030 17614 STODL FACTOR 035388,000093: 25,2031 03624 LAD 035389,000094: 25,2032 57565 SIGN DCOMP 035390,000095: 25,2033 03327 HEADSUP # MAY BE NOISE FOR DISPLAY P61 035391,000096: 25,2034 37634 STCALL L/D # L/D = - LAD SGN(HEADSUP) 035392,000097: 035393,000098: 25,2035 52063 STARTEN1 # RETURN VIA GOTOADDR 035394,000099: 25,2036 47375 VLOAD VXV 035395,000100: 25,2037 01177 VN # (-7) M/CS 035396,000101: 25,2040 01760 UNITR # .5 UNIT REF COORDS 035397,000102: 25,2041 50256 UNIT DOT 035398,000103: 25,2042 03474 RT # RT/2 TARGET VECTOR REF COORDS 035399,000104: 25,2043 03676 STORE LATANG # LATANG = UNI.RT /4 035400,000105: 25,2044 47076 DCOMP RTB 035401,000106: 25,2045 45707 SIGNMPAC 035402,000107: 25,2046 17644 STODL K2ROLL # K2ROLL = -SGN(LATANG) 035403,000108: 035404,000109: 25,2047 03624 LAD 035405,000110: 25,2050 43205 DMP DAD 035406,000111: 25,2051 15200 Q21 035407,000112: 25,2052 15202 Q22 035408,000113: 25,2053 03712 STORE Q2 # Q2 = -1152 + 500 LAD 035409,000114: 035410,000115: 25,2054 66331 SSP SSP 035411,000116: 25,2055 03646 GOTOADDR # SET SELECTOR FOR INITIAL PASS 035412,000117: 25,2056 52260 INITROLL 035413,000118: 25,2057 03325 POSEXIT 035414,000119: 25,2060 52115 SCALEPOP # SET CM/POSE TO CONTINUE AT SCALEPOP 035415,000120: 035416,000121: 25,2061 77634 RTB 035417,000122: 25,2062 53603 SERVNOUT # OMIT INITIAL DISPLAY, SINCE 1ST GUESSBAD 035418,000123: 035419,000124: # CALCULATE THE INITIAL TARGET VECTOR: RTINIT, ALSO RTEAST, RTNORM, AND RT. ALL ARE .5 UNIT AND IN 035420,000125: # REFERENCE COORDINATES. 035421,000126: 035422,000127: 25,2063 77220 STARTEN1 STQ VLOAD 035423,000128: 25,2064 03645 GOTOADDR 035424,000129: 25,2065 03401 LAT(SPL) # TARGET COORDINATES 035425,000130: 25,2066 43014 CLEAR CLEAR # DO CALL USING PAD RADIUS. WILL UNIT IT. 035426,000131: 25,2067 00662 ERADFLAG # ANYWAY. 035427,000132: 25,2070 01663 LUNAFLAG 035428,000133: 25,2071 15104 STODL LAT 035429,000134: 25,2072 15332 3ZEROS 035430,000135: 035431,000136: 25,2073 15110 STODL LAT +4 # SET ALT=0. 035432,000137: 25,2074 01205 PIPTIME # ESTABLISH RTINIT AT TIME OF PRESENT 035433,000138: # Page 804 035434,000139: # RN AND VN. 035435,000140: 25,2075 37524 STCALL TIME/RTO # SAVE TIME BASE OF RTINIT. 035436,000141: 25,2076 26373 LALOTORV # C(MPAC) =TIME (PIPTIME) 035437,000142: 25,2077 77656 UNIT # ANSWER IN ALPHAV ALSO 035438,000143: 25,2100 17452 STODL RTINIT # .5 UNIT TARGET REF COORDS 035439,000144: 25,2101 12112 500SEC # NOMINAL ENTRY TIME FOR P63 035440,000145: # TIME/RTO = PIPTIME, STILL. 035441,000146: 25,2102 37606 STCALL DTEAROT # INITIALIZE EARROT 035442,000147: 25,2103 46215 EARROT1 # GET R5 035443,000148: 25,2104 72441 DOT SL1 035444,000149: 25,2105 01760 UNITR # RT/2 IN MPAC 035445,000150: 25,2106 77726 ACOS 035446,000151: 25,2107 37702 STCALL THETAH # RANGE ANGLE /360 035447,000152: 25,2110 03645 GOTOADDR # RETURN TO CALLER 035448,000153: 035449,000154: 25,2111 00003 01520 500SEC 2DEC 50000 B-28 # CS. 035450,000155: 25,2113 11774 ENTMASK OCT 11774 035451,000156: 25,2114 11010 ENTRYSW OCT 11010 # ENTRYDSP B13. GONEPAST B10. LATSW B4 035452,000157: # Page 805 035453,000158: 035454,000159: 25,2115 77624 SCALEPOP CALL 035455,000160: 25,2116 52125 TARGETNG 035456,000161: 035457,000162: 25,2117 77776 EXIT 035458,000163: 035459,000164: 25,2120 05301 REFAZE10 TC PHASCHNG 035460,000165: 25,2121 10035 OCT 10035 # SERVICER 5.3 RESTART AT REFAZE10 035461,000166: 035462,000167: 25,2122 06006 TC INTPRET 035463,000168: 035464,000169: # JUMP TO PARTICULAR RE-ENTRY PHASE: 035465,000170: # SEQUENCE 035466,000171: 25,2123 77650 GOTO 035467,000172: 25,2124 03645 GOTOADDR 035468,000173: 035469,000174: # GOTOADDR CONTAINS THE ADDRESS OF THE ROLL COMMAND EQUATIONS TO THE CURRENT PHASE OF 035470,000175: # RE-ENTRY. SEQUENCING IS AS FOLLOWS: 035471,000176: 035472,000177: # INITROLL ADDRESS IS SET HERE INITIALLY. HOLDS INITIAL ROLL ATTITUDE UNTIL KAT IS EXCEEDED. THEN HOLDS NEW ROLL 035473,000178: # ATTITUDE UNTIL VRTHRESH IS EXCEEDED. THEN BRANCHES TO 035474,000179: 035475,000180: # HUNTEST THIS SECTION CHECKS TO SEE IF THE PREDICTED RANGE AT NOMINAL L/D FROM PRESENT CONDITIONS IS LESS 035476,000181: # THAN THE DESIRED RANGE. 035477,000182: # IF NOT --- A ROLL COMMAND IS GENERATED BY THE CONSTANT DRAG CONTROLLER. 035478,000183: # IF SO --- CONTROL AND GOTOADDR ARE SET TO UPCONTRL. 035479,000184: # USUALLY NO ITERATION IS INVOLVED EXCEPT IF THE RANGE DESIRED IS TOO LONG ON THE FIRST PASS THROUGH 035480,000185: # HUNTEST. 035481,000186: 035482,000187: # UPCONTRL CONTROLS ROLL DURING THE SUPER-CIRCULAR PHASE. UPCONTRL IS TERMINATED EITHER 035483,000188: # (A) WHEN THE DRAG (AS MEASURED BY THE PIPAS) FALLS BELOW Q7, OR 035484,000189: # (B) IF RDOT IS NEGATIVE AND REFERENCE VL EXCEEDS V. 035485,000190: # IN CASE (A), GOTOADDR IS SET TO KEP2 AND IN CASE (B), TO PREDICT3 SKIPPING THE KEPLER PHASE OF 035486,000191: # ENTRY. 035487,000192: 035488,000193: # KEP2 GOTOADDR IS SET HERE DURING THE KEPLER PHASE TO MONITOR DRAG. THE SPACECRAFT IS INSTANTANEOUSLY 035489,000194: # TRIMMED IN PITCH AND YAW TO THE COMPUTED RELATIVE VELOCITY. THE LAST COMPUTED ROLL ANGLE IS MAINTAINED. 035490,000195: # WHEN THE MEASURED DRAG EXCEEDS Q7 +0.5, GOTO ADDRESS IS SET TO 035491,000196: 035492,000197: # PREDICT3 THIS CONTROLS THE FINAL SUB-ORBITAL PHASE. ROLL COMMANDS CEASE 035493,000198: # WHEN V IS LESS THAN VQUIT. AN EXIT IS MADE TO 035494,000199: 035495,000200: # P67.1 THE LAST COMPUTED ROLL ANGLE IS MAINTAINED. RATE DAMPING IS DONE IN PITCH AND YAW. PRESENT LATITUDE 035496,000201: # AND LONGITUDE ARE COMPUTED FOR DISPLAY. 035497,000202: # ENTRY IS TERMINATED WHEN DISKY RESPONSE IS MADE TO THIS FINAL FLASHING DISPLAY. 035498,000203: 035499,000204: # Page 806 035500,000205: # PROCESS AVERAGE G OUTPUT...SCALE IT AND GET INPUT DATA 035501,000206: 035502,000207: # * START TARGETING ... 035503,000208: 035504,000209: 25,2125 E7,1451 EBANK= RTINIT 035505,000210: 035506,000211: # TARGETNG IS CALLED BY P61, FROM GROUP 4. 035507,000212: # TARGETNG IS CALLED BY ENTRY, FROM GROUP 5. 035508,000213: 035509,000214: # ALL MM COME HERE. 035510,000215: 25,2125 77214 TARGETNG BOFF VLOAD # ENTER WITH PROPER EB FROM CM/POSE(TEST) 035511,000216: 25,2126 03346 RELVELSW # RELVELSW = 96D BIT9 035512,000217: 25,2127 52133 GETVEL # WANT INERTIAL VEL. GO GET IT. 035513,000218: 25,2130 03526 -VREL # NEW V IS RELATIVE, CONTINUE 035514,000219: 035515,000220: 25,2131 52076 VCOMP GOTO # (VREL) = (V) + KWE UNITR*UNITW 035516,000221: 25,2132 52136 GETUNITV -1 # - VREL WAS LEFT BY CM/POSE 035517,000222: 035518,000223: 25,2133 74375 GETVEL VLOAD VXSC # INERTIAL V WANTED 035519,000224: 25,2134 01177 VN # KVSCALE = (12800 / .3048) / 2VS 035520,000225: 25,2135 15230 KVSCALE # KVSCALE = .81491944 035521,000226: 25,2136 03516 STORE VEL # V/2 VS 035522,000227: 035523,000228: 25,2137 44056 GETUNITV UNIT STQ 035524,000229: 25,2140 03373 60GENRET 035525,000230: 25,2141 17510 STODL UNITV 035526,000231: 25,2142 00043 34D 035527,000232: 25,2143 03622 STORE VSQUARE # VSQ/4 035528,000233: 035529,000234: 25,2144 77625 DSU # LEQ = VSQUARE - 1 035530,000235: 25,2145 15322 FOURTH # 4 G'S FULL SCALE 035531,000236: 25,2146 17654 STODL LEQ # LEQ/4 035532,000237: 035533,000238: 25,2147 00045 36D 035534,000239: 25,2150 27674 STOVL V # V/2 VS = VEL/2 VS 035535,000240: 035536,000241: 25,2151 03516 VEL 035537,000242: 25,2152 72441 DOT SL1 # RDOT= V.UNITR 035538,000243: 25,2153 01760 UNITR 035539,000244: 25,2154 27700 STOVL RDOT # RDOT /2 VS 035540,000245: 035541,000246: 25,2155 01163 DELV # PIPA COUNTS IN PLATFORM COORDS. 035542,000247: 25,2156 41246 ABVAL DMP 035543,000248: 25,2157 15232 KASCALE 035544,000249: 25,2160 53152 SL1 BZE 035545,000250: 25,2161 55132 SETMIND 035546,000251: 25,2162 27640 DSTORE STOVL D # ACCELERATION USED TO APPROX DRAG 035547,000252: 25,2163 03516 VEL 035548,000253: 25,2164 53435 VXV UNIT # UNI = UNIT(V*R) 035549,000254: # Page 807 035550,000255: 25,2165 01760 UNITR 035551,000256: 25,2166 03502 STORE UNI # .5 UNI REF COORDS. 035552,000257: 035553,000258: 25,2167 71214 BOFF DLOAD 035554,000259: 25,2170 03346 RELVELSW 035555,000260: 25,2171 55073 GETETA 035556,000261: 25,2172 15332 3ZEROS 035557,000262: 25,2173 43225 UPDATERT DSU DAD # PIPTIME-TIME/RTO =ELAPSED TIME SINCE 035558,000263: # RTINIT WAS ESTABLISHED. 035559,000264: 25,2174 03524 TIME/RTO 035560,000265: 25,2175 01205 PIPTIME 035561,000266: 25,2176 37606 STCALL DTEAROT # GET PREDICTED TARGET VECTOR RT 035562,000267: 035563,000268: 25,2177 46225 EARROT2 035564,000269: 25,2200 40241 DOT SETPD # SINCE (RT) UNIT VECT, THIS IS 1/4 MAX 035565,000270: 25,2201 03502 UNI # LATANG = RT.UNI 035566,000271: 25,2202 00001 0 035567,000272: 25,2203 27676 STOVL LATANG # LATANG = MAC LATANG / 4 035568,000273: 035569,000274: 25,2204 03474 RT 035570,000275: 25,2205 77614 CLEAR 035571,000276: 25,2206 03667 GONEBY # SHOW HAVE NOT GONE PAST TARGET. 035572,000277: 25,2207 50235 VXV DOT # IF RT*UNITR.UNI NEG, GONEBY=1 035573,000278: 25,2210 01760 UNITR # GONEPAST IS CONDITIONAL SW SET IN 035574,000279: 25,2211 03502 UNI # FINAL PHASE. 035575,000280: 25,2212 43044 BPL SET 035576,000281: 25,2213 52215 +2 035577,000282: 25,2214 03467 GONEBY # SHOW HAVE GONE PAST TARGET. 035578,000283: 035579,000284: 25,2215 77775 VLOAD 035580,000285: 25,2216 03474 RT 035581,000286: 25,2217 45241 GETANGLE DOT DSU # THETA = ARCCOS(RT.UNITR) 035582,000287: 25,2220 01760 UNITR 035583,000288: 25,2221 15162 NEAR1/4 # TO IMPROVE ACCURACY, CALC RANGE BY 035584,000289: 25,2222 43244 BPL DAD # TINYTHET IF HIGH ORDER PART OF 035585,000290: 25,2223 55135 TINYTHET # ARCCOS ARGUMENT IS ZERO 035586,000291: 25,2224 15162 NEAR1/4 035587,000292: 25,2225 65552 SL1 ACOS 035588,000293: 25,2226 03702 THETDONE STORE THETAH # THETAH/360 035589,000294: # HI WORD, LO BIT =1.32 NM=360 60/16384 035590,000295: 035591,000296: 25,2227 57414 BON DCOMP 035592,000297: 25,2230 03707 GONEBY # =1 IF HAVE GONE PAST TARGET. 035593,000298: # (SIGN MAY BECOME ERRATIC VERY NEAR 035594,000299: # TARGET DUE TO LOSS OF PRECISIONL.) 035595,000300: 25,2231 52232 +1 035596,000301: 25,2232 17714 STODL RTGON67 # RANGE ERROR: NEG IF WILL FALL SHORT. 035597,000302: 035598,000303: 25,2233 03640 D 035599,000304: 25,2234 50025 DSU BMN 035600,000305: # Page 808 035601,000306: 25,2235 15240 .05G 035602,000307: 25,2236 52255 NO.05G 035603,000308: 25,2237 77214 SET VLOAD 035604,000309: 25,2240 03074 .05GSW 035605,000310: 25,2241 03433 DELVREF 035606,000311: 25,2242 50206 PUSH DOT 035607,000312: 25,2243 03542 UXA/2 035608,000313: 25,2244 63552 SL1 DSQ 035609,000314: 25,2245 47515 PDVL VSQ # EXCHANGE WITH PDL. 035610,000315: 25,2246 56225 DSU DDV 035611,000316: 25,2247 00001 0 035612,000317: 25,2250 75400 BOV SQRT 035613,000318: 25,2251 52253 NOLDCALC # OVFL LAST CLEARED IN EARROT2 ABOVE. 035614,000319: 25,2252 03727 STORE L/DCALC 035615,000320: 035616,000321: 25,2253 77650 NOLDCALC GOTO 035617,000322: 25,2254 03373 60GENRET 035618,000323: 035619,000324: 25,2255 52014 NO.05G CLEAR GOTO # THIS WAY FOR DAP. (MAY INTERRUPT) 035620,000325: 25,2256 03274 .05GSW # .05GSW = 102D B3 035621,000326: 25,2257 52253 NOLDCALC # KEEP SINGLE EXIT FOR TARGETING 035622,000327: 035623,000328: # Page 809 035624,000329: # SUBROUTINES CALLED BY SCALEPOP (TARGETING): 035625,000330: 035626,000331: 26,3073 BANK 26 035627,000332: 26,2000 SETLOC REENTRY1 035628,000333: 26,2000 BANK 035629,000334: 035630,000335: 26,3073 COUNT* $$/ENTRY 035631,000336: 035632,000337: 26,3073 56345 GETETA DLOAD DDV # D = D +D(-RDOT/HS -2D/V) DT/2 035633,000338: # DT/2 = 2/2 =1 035634,000339: 26,3074 03700 RDOT 035635,000340: 26,3075 15314 -HSCALED 035636,000341: 26,3076 41325 PDDL DMP 035637,000342: 26,3077 03640 D 035638,000343: 26,3100 15316 -KSCALE 035639,000344: 26,3101 43271 DDV DAD 035640,000345: 26,3102 03674 V 035641,000346: # -RDOT/HS FROM PDL. 035642,000347: 26,3103 43205 DMP DAD 035643,000348: 26,3104 03640 D 035644,000349: 26,3105 03640 D 035645,000350: 26,3106 03640 STORE D 035646,000351: 035647,000352: 26,3107 71214 BON DLOAD # EGSW INDICATES FINAL PHASE 035648,000353: 26,3110 03307 EGSW 035649,000354: 26,3111 55116 SUBETA 035650,000355: 26,3112 03702 THETAH 035651,000356: 26,3113 52005 DMP GOTO 035652,000357: 26,3114 15234 KTETA # = 1000x2PI/(2)E14 163.84 035653,000358: 26,3115 52173 UPDATERT 035654,000359: 035655,000360: 26,3116 45345 SUBETA DLOAD DSU # SWITCH FROM INERTIAL TO RELATIVE VEL. 035656,000361: 26,3117 03674 V 035657,000362: 26,3120 15322 VMIN 035658,000363: 26,3121 43044 BPL SET 035659,000364: 26,3122 55124 SUBETA2 035660,000365: 26,3123 03066 RELVELSW 035661,000366: 035662,000367: 26,3124 41345 SUBETA2 DLOAD DMP 035663,000368: 035664,000369: 26,3125 03702 THETAH 035665,000370: 26,3126 15236 KT1 # KT1 = KT 035666,000371: 26,3127 52071 DDV GOTO 035667,000372: 26,3130 03674 V # KT = RE(2 PI)/2 VS 16384 163.84/ 2 VSAT 035668,000373: 26,3131 52173 UPDATERT 035669,000374: 035670,000375: 26,3132 52145 SETMIND DLOAD GOTO 035671,000376: 26,3133 16326 1BITDP 035672,000377: 26,3134 52162 DSTORE 035673,000378: 035674,000379: # Page 810 035675,000380: 26,3135 51425 TINYTHET DSU ABS # ENTER WITH X-.249 035676,000381: 26,3136 16327 1BITDP +1 # GET 1/4 - MPAC 035677,000382: 26,3137 75461 SL SQRT # SCALE UP BEFORE SQRT 035678,000383: 26,3140 20216 13D # HAS FACTOR FOR UP SCALING 035679,000384: 26,3141 52005 DMP GOTO 035680,000385: 26,3142 15246 KACOS 035681,000386: 26,3143 52226 THETDONE 035682,000387: 035683,000388: # Page 811 035684,000389: # * START INITIAL ROLL ... 035685,000390: 035686,000391: 25,2260 BANK 25 035687,000392: 25,2000 SETLOC REENTRY 035688,000393: 25,2000 BANK 035689,000394: 035690,000395: 25,2260 COUNT* $$/ENTRY 035691,000396: 035692,000397: # MM = 63, 64, ... 035693,000398: 25,2260 43014 INITROLL BON BOFF # IF D- .05G NEG, GO TO LIMITL/D 035694,000399: 25,2261 03312 INRLSW 035695,000400: 25,2262 52354 INITRL1 035696,000401: 25,2263 03354 .05GSW 035697,000402: 25,2264 53520 LIMITL/D 035698,000403: 035699,000404: # MM = 64, NOW 035700,000405: # 3 035701,000406: # KA = KA1 LEG + KA2 035702,000407: 25,2265 63545 DLOAD DSQ 035703,000408: 25,2266 03654 LEQ 035704,000409: 25,2267 56205 DMP DDV 035705,000410: 25,2270 03654 LEQ 035706,000411: 25,2271 15304 1/KA1 # = 25 /(64 1.8) 035707,000412: 25,2272 47015 DAD RTB 035708,000413: 25,2273 15306 KA2 # = .2 035709,000414: 25,2274 54432 P64 # ROLLC VI RDOT 035710,000415: # XXX.XX DEG XXXXX. FPS XXXXX. FPS 035711,000416: 25,2275 03720 STORE KAT 035712,000417: 035713,000418: 25,2276 45345 DLOAD DSU # IF V-VFINAL1 NEG, GO TO FINAL PHASE. 035714,000419: 25,2277 03674 V 035715,000420: 25,2300 15302 VFINAL1 035716,000421: 25,2301 51014 CLEAR BPL # (CAN'T CLEAR INRLSW AFTER HERE: RESTARTS) 035717,000422: 25,2302 03265 GONEPAST # GONEPAST WAS INITIALLY SET=1 TO FORCE 035718,000423: # ROLLC TO REMAIN AS DEFINED BY HEADSUP 035719,000424: # UNTIL START OF P64. (UNTIL D > .05G) 035720,000425: 25,2303 52310 D0EQ 035721,000426: 25,2304 52131 SSP GOTO 035722,000427: 25,2305 03646 GOTOADDR 035723,000428: 25,2306 53311 KEP2 # AND IDLE UNTIL D > 0.2G. (NO P66 HERE) 035724,000429: 25,2307 52343 INROLOUT # GO TO LIMITL/D AFTER SETTING INRLSW. 035725,000430: 035726,000431: 25,2310 41345 D0EQ DLOAD DMP # D0 = KA3 LEQ + KA4 035727,000432: 25,2311 03654 LEQ 035728,000433: 25,2312 15310 KA3 035729,000434: 25,2313 77615 DAD 035730,000435: 25,2314 15312 KA4 035731,000436: 25,2315 03710 STORE D0 # D0/805 035732,000437: 25,2316 40065 BDDV BOV 035733,000438: # Page 812 035734,000439: 25,2317 15266 C001 # (-4/25 G) B-8 035735,000440: 25,2320 52321 +1 # CLEAR OVFIND, IF ON. 035736,000441: 25,2321 17706 STODL C/D0 # (-4/D0) B-8 035737,000442: 25,2322 03624 LAD # IF V-VFINAL +K(RDOT/V)CUBED POS,L/D=-LAD 035738,000443: 25,2323 17634 STODL L/D 035739,000444: 25,2324 03700 RDOT 035740,000445: 25,2325 41471 DDV PUSH 035741,000446: 25,2326 03674 V 035742,000447: 25,2327 41316 DSQ DMP 035743,000448: 25,2330 45271 DDV DSU 035744,000449: 25,2331 15276 1/K44 035745,000450: 25,2332 15300 VFINAL 035746,000451: # 3 035747,000452: # V-VFINAL +(RDOT/V) / K44 OVFL'S 035748,000453: 035749,000454: 25,2333 40015 DAD BOV 035750,000455: 25,2334 03674 V 035751,000456: 25,2335 52343 INROLOUT # GO TO LIMITL/D AFTER SETTING INRLSW. 035752,000457: 25,2336 71240 BMN DLOAD 035753,000458: 25,2337 52343 INROLOUT # GO TO LIMITL/D AFTER SETTING INRLSW. 035754,000459: 25,2340 03624 LAD 035755,000460: 25,2341 77676 DCOMP 035756,000461: 25,2342 03634 STORE L/D 035757,000462: 035758,000463: # SET INRLSW AT END FOR RESTART PROTECTION 035759,000464: 25,2343 77614 INROLOUT BOFSET # END OF PRE .05G PATH OF INITROLL. 035760,000465: 25,2344 03052 INRLSW # SWITCH IS ZERO INITIALLY. 035761,000466: 25,2345 53520 LIMITL/D # (GO TO) 035762,000467: 035763,000468: 25,2346 45345 KATEST DLOAD DSU # IF KAT - D POS, GO TO CONSTD 035764,000469: 25,2347 03720 KAT 035765,000470: 25,2350 03640 D # IF POS, OUT WITH COMMAND VIA LIMITL/D 035766,000471: 25,2351 52044 BPL GOTO 035767,000472: 25,2352 53520 LIMITL/D 035768,000473: 25,2353 53224 CONSTD 035769,000474: 035770,000475: 25,2354 43345 INITRL1 DLOAD DAD # IF RDOT + VRCONT POS, GO TO HUNTEST 035771,000476: 25,2355 03700 RDOT 035772,000477: 25,2356 15260 VRCONT 035773,000478: 25,2357 45040 BMN CALL # IF POSITIVE, FALL INTO HUNTEST. 035774,000479: 25,2360 52346 KATEST 035775,000480: 035776,000481: 25,2361 53014 FOREHUNT # INITIALIZE HUNTEST. 035777,000482: 035778,000483: # Page 813 035779,000484: # * START HUNT TEST ... 035780,000485: # MM = 64 035781,000486: 25,2362 77731 SSP # INITIALIZE HUNTEST ON FIRST PASS 035782,000487: 25,2363 03646 GOTOADDR 035783,000488: 25,2364 52365 HUNTEST # MUST GO AFTER FOREHUNT FOR RESTARTS. 035784,000489: 035785,000490: 25,2365 77745 HUNTEST DLOAD 035786,000491: 25,2366 03640 D 035787,000492: 25,2367 17664 STODL A1 # A1/805 = A1/25G 035788,000493: 035789,000494: 25,2370 03624 LAD 035790,000495: 25,2371 17647 STODL TEM1B 035791,000496: 25,2372 03700 RDOT 035792,000497: 25,2373 71240 BMN DLOAD # IF RDOT NEG,TEM1B=LAD, OTHERWISE = LEWD 035793,000498: 25,2374 52400 A0CALC 035794,000499: 25,2375 03725 LEWD 035795,000500: 25,2376 17647 STODL TEM1B 035796,000501: 035797,000502: 25,2377 03700 RDOT 035798,000503: 25,2400 43271 A0CALC DDV DAD # V1 = V + RDOT/TEM1B 035799,000504: 25,2401 03647 TEM1B 035800,000505: 25,2402 03674 V 035801,000506: 25,2403 14326 STODL V1 # V1/2 VS 035802,000507: 035803,000508: 25,2404 03700 RDOT 035804,000509: 25,2405 56316 DSQ DDV # A0=(V1/V)SQ(D+RDOT SQ/(TEM1D 2 C1 HS) 035805,000510: 25,2406 03647 TEM1B 035806,000511: 25,2407 43271 DDV DAD 035807,000512: 25,2410 15272 2C1HS 035808,000513: 25,2411 03640 D 035809,000514: 25,2412 41205 DMP DMP 035810,000515: 25,2413 00326 V1 035811,000516: 25,2414 00326 V1 035812,000517: 25,2415 77671 DDV 035813,000518: 25,2416 03622 VSQUARE 035814,000519: 25,2417 14330 STODL A0 # A0/805 = A0/25G 035815,000520: 035816,000521: 25,2420 03700 RDOT 035817,000522: 25,2421 71244 BPL DLOAD 035818,000523: 25,2422 52425 V1LEAD 035819,000524: 25,2423 00330 A0 035820,000525: 25,2424 03664 STORE A1 # A1/25G 035821,000526: 035822,000527: 25,2425 51145 V1LEAD DLOAD BPL # IF L/D NEG, V1=V1 - 1000 035823,000528: 25,2426 03634 L/D 035824,000529: 25,2427 52434 HUNTEST1 035825,000530: 035826,000531: 25,2430 45345 DLOAD DSU 035827,000532: 25,2431 00326 V1 035828,000533: # Page 814 035829,000534: 25,2432 15214 VQUIT 035830,000535: 25,2433 00326 STORE V1 035831,000536: 035832,000537: 25,2434 41345 HUNTEST1 DLOAD DMP # ALP = 2 C1 HS A0/LEWD V1 V1 035833,000538: 25,2435 00330 A0 035834,000539: 25,2436 15272 2C1HS 035835,000540: 25,2437 40271 DDV SETPD 035836,000541: 25,2440 00326 V1 035837,000542: 25,2441 00001 0 035838,000543: 25,2442 56271 DDV DDV 035839,000544: 25,2443 00326 V1 035840,000545: 25,2444 03725 LEWD 035841,000546: 25,2445 03704 STORE ALP 035842,000547: 035843,000548: 25,2446 55221 BDSU BDDV # FACT1 = V1 / (1 - ALP) 035844,000549: 25,2447 17363 BARELY1 035845,000550: 25,2450 00326 V1 035846,000551: 25,2451 17616 STODL FACT1 # FACT1 / 2VS 035847,000552: 035848,000553: 25,2452 03704 ALP 035849,000554: 25,2453 41225 DSU DMP # FACT2 = ALP(ALP - 1) / A0 035850,000555: 25,2454 17363 BARELY1 035851,000556: 25,2455 03704 ALP 035852,000557: 25,2456 77671 DDV 035853,000558: 25,2457 00330 A0 035854,000559: 25,2460 03620 STORE FACT2 # FACT2 (25G) 035855,000560: 035856,000561: 25,2461 43205 DMP DAD 035857,000562: 25,2462 03175 Q7 # Q7 / 805 = Q7 / 25G 035858,000563: 25,2463 03704 ALP # VL=FACT1 (1-SQRT(Q7 FACT2 +ALP) ) 035859,000564: 25,2464 44366 SQRT BDSU 035860,000565: 25,2465 17363 BARELY1 035861,000566: 25,2466 77605 DMP 035862,000567: 25,2467 03616 FACT1 035863,000568: 25,2470 03767 STORE VL # VL / 2 VS 035864,000569: 035865,000570: 25,2471 41221 BDSU DMP # GAMMAL1 = LEWD (V1-VL)/VL 035866,000571: 25,2472 00326 V1 035867,000572: 25,2473 03725 LEWD 035868,000573: 25,2474 77671 DDV 035869,000574: 25,2475 03767 VL 035870,000575: 25,2476 14027 STODL GAMMAL1 # GAMMAL1 USED IN UPCONTROL. 035871,000576: 035872,000577: # GAMMAL1 = PDL 22D. 035873,000578: 25,2477 03767 VL 035874,000579: 25,2500 50025 DSU BMN # IF VL-VLMIN NEG, GO TO PREFINAL 035875,000580: 25,2501 15204 VLMIN 035876,000581: 25,2502 53325 PREFINAL 035877,000582: 035878,000583: 25,2503 63545 DLOAD DSQ 035879,000584: # Page 815 035880,000585: 25,2504 03767 VL 035881,000586: 25,2505 17666 STODL VBARS # VBARS / 4 VS VS 035882,000587: 035883,000588: 25,2506 15330 HALVE # IF VSAT-VL NEG, GO TO CONSTD 035884,000589: 25,2507 50025 DSU BMN 035885,000590: 25,2510 03767 VL 035886,000591: 25,2511 53220 BECONSTD # SET MODE=HUNTEST, CONTINUE IN CONSTD 035887,000592: 25,2512 17662 STODL DVL # DVL / 2VS 035888,000593: 035889,000594: 25,2513 15330 HALVE 035890,000595: 25,2514 03672 STORE VS1 # VS1 = VSAT 035891,000596: 035892,000597: 25,2515 50025 DSU BMN # IF V1 GREATER THAN VSAT, GO ON 035893,000598: 25,2516 00326 V1 035894,000599: 25,2517 52525 GETDHOOK 035895,000600: 25,2520 77621 BDSU 035896,000601: 25,2521 03662 DVL 035897,000602: 25,2522 17662 STODL DVL # DVL = DVL - (VSAT-V1) = V1 - VL 035898,000603: 25,2523 00326 V1 035899,000604: 25,2524 03672 STORE VS1 # VS1 = V1, IN THIS CASE 035900,000605: 035901,000606: 25,2525 45145 GETDHOOK DLOAD CALL # DHOOK=((1-VS1/FACT1) SQ -ALP)/FACT2 035902,000607: 25,2526 03672 VS1 # VS1 / 2 VS 035903,000608: 25,2527 52776 DHOOKYQ7 # GO CALC DHOOK 035904,000609: 25,2530 03656 STORE DHOOK # DHOOK / 25G 035905,000610: 035906,000611: 25,2531 56261 SR DDV 035907,000612: 25,2532 20607 6 # CHOOK 035908,000613: 25,2533 03175 Q7 035909,000614: 25,2534 77625 DSU 035910,000615: 25,2535 15250 CHOOK # = .25/16 = (-6) 035911,000616: 25,2536 03660 STORE AHOOKDV 035912,000617: 035913,000618: 25,2537 41215 DAD DMP # GAMMAL= GAMMAL1-CH1 DVL SQ(1+AHOOK DVL) 035914,000619: 25,2540 17357 1/16TH 035915,000620: 25,2541 15254 CH1 035916,000621: 25,2542 41205 DMP DMP 035917,000622: 25,2543 03662 DVL 035918,000623: 25,2544 03662 DVL 035919,000624: 25,2545 56271 DDV DDV 035920,000625: 25,2546 03656 DHOOK 035921,000626: 25,2547 03666 VBARS 035922,000627: 25,2550 50021 BDSU BMN 035923,000628: 25,2551 00027 GAMMAL1 035924,000629: 25,2552 52743 NEGAMA 035925,000630: 25,2553 03771 HUNTEST3 STORE GAMMAL 035926,000631: 035927,000632: 25,2554 77625 DSU # GAMMAL1=GAMMAL1 +Q19 (GAMMAL-GAMMAL1) 035928,000633: 25,2555 00027 GAMMAL1 035929,000634: 25,2556 43205 DMP DAD 035930,000635: # Page 816 035931,000636: 25,2557 15330 Q19 035932,000637: 25,2560 00027 GAMMAL1 035933,000638: 25,2561 14027 STODL GAMMAL1 035934,000639: 25,2562 03771 GAMMAL 035935,000640: 035936,000641: # Page 817 035937,000642: # *START RANGE PREDICTION ... 035938,000643: # C(MPAC) = GAMMAL. 035939,000644: 25,2563 60516 RANGER DSQ SR2 # COSG = 1-GAMMAL SQ/2, TRUNCATED SERIES 035940,000645: 25,2564 77621 BDSU 035941,000646: 25,2565 15330 HALVE 035942,000647: 25,2566 17670 STODL COSG/2 035943,000648: 25,2567 03666 VBARS # E=SQRT(1+VBARS........ 035944,000649: 035945,000650: 25,2570 41225 DSU DMP 035946,000651: 25,2571 15330 HALVE 035947,000652: 25,2572 03666 VBARS 035948,000653: 25,2573 41205 DMP DMP 035949,000654: 25,2574 03670 COSG/2 035950,000655: 25,2575 03670 COSG/2 035951,000656: 25,2576 43312 SL2 DAD 035952,000657: 25,2577 17357 C1/16 # C1/16 = 1/16 035953,000658: 25,2600 65366 SQRT PDDL # E/4 INTO PDL 035954,000659: 035955,000660: 25,2601 03666 VBARS 035956,000661: 25,2602 41205 DMP DMP # ASKEP/2 = ARCSIN(VBARS COSG SING/E) 035957,000662: 25,2603 03670 COSG/2 035958,000663: 25,2604 03771 GAMMAL 035959,000664: 25,2605 67471 DDV ASIN 035960,000665: 25,2606 41552 SL1 PUSH # ASKEP TO PDL 0. 035961,000666: 25,2607 17731 STODL ASKEP # BALLISTIC RANGE ASKEP/2PI 035962,000667: 035963,000668: # FOR TM, STORE RANGE COMPONENTS OVERLAPPING (SP) 035964,000669: 25,2610 03767 VL 035965,000670: 25,2611 43205 DMP DAD # ASP1 = Q2 + Q3 VL 035966,000671: 25,2612 15170 Q3 035967,000672: 25,2613 03712 Q2 035968,000673: 25,2614 03732 STORE ASP1 # FINAL PHASE RANGE ASP1/2 PI 035969,000674: 035970,000675: 25,2615 63525 PDDL DSQ # ASP1 TO PDL 2. 035971,000676: 25,2616 00326 V1 035972,000677: # 2 035973,000678: # ASPUP= -C12 LOG(V1 Q7/VBARS A0)/GAMMAL1 035974,000679: 25,2617 56205 DMP DDV 035975,000680: 25,2620 03175 Q7 035976,000681: 25,2621 03666 VBARS 035977,000682: 25,2622 45071 DDV CALL 035978,000683: 25,2623 00330 A0 035979,000684: 25,2624 46155 LOG # RETURN WITH -LOG IN MPAC 035980,000685: 035981,000686: 25,2625 56205 DMP DDV 035982,000687: 25,2626 15206 C12 035983,000688: 25,2627 00027 GAMMAL1 035984,000689: 25,2630 03733 STORE ASPUP # UP PHASE RANGE ASPUP / 2 PI 035985,000690: # Page 818 035986,000691: 25,2631 41325 PDDL DMP # ASPUP TO PDL 4. 035987,000692: 25,2632 15256 KC3 # KC3 = -4 VS VS / 2 PI 805 RE 035988,000693: # ASPDWN = KC3 RDOT V / A0 035989,000694: 25,2633 03700 RDOT 035990,000695: 25,2634 56205 DMP DDV 035991,000696: 25,2635 03674 V 035992,000697: 25,2636 00330 A0 035993,000698: 25,2637 41471 DDV PUSH # ASPDWN TO PDL 6. 035994,000699: 25,2640 03624 LAD 035995,000700: 25,2641 17734 STODL ASPDWN # RANGE TO PULL OUT ASPDWN /2 PI 035996,000701: 035997,000702: 25,2642 15174 Q6 035998,000703: 25,2643 41225 DSU DMP # ASP3 = Q5(Q6-GAMMAL) 035999,000704: 25,2644 03771 GAMMAL 036000,000705: 25,2645 15172 Q5 036001,000706: 25,2646 27735 STOVL ASP3 # GAMMA CORRECTION ASP3/2PI 036002,000707: 036003,000708: 25,2647 03731 ASKEP # GET HI-WD AND 036004,000709: 25,2650 17126 STODL ASPS(TM) # SAVE HI-WORD OF ASP'S FOR TM. 036005,000710: 036006,000711: 25,2651 03735 ASP3 036007,000712: 25,2652 43215 DAD DAD 036008,000713: # ASPDWN FROM PDL 6. 036009,000714: # ASPUP FROM PDL 4. 036010,000715: 25,2653 43215 DAD DAD 036011,000716: # ASP1 FROM PDL 2. 036012,000717: # ASKEP FROM PDL 0. 036013,000718: 25,2654 41025 DSU BOVB # CLEAR OVFIND. 036014,000719: 25,2655 03702 THETAH 036015,000720: 25,2656 57343 TCDANZIG 036016,000721: 25,2657 03610 STORE DIFF # DIFF = (ASP-THETAH) / 2 PI 036017,000722: # ASP=ASKEP+ASP1+ASPUP+ASP3+ASPDWN = TOTAL RANGE 036018,000723: 036019,000724: 25,2660 45246 ABS DSU # IF ABS(THETAH-ASP) -25NM NEG, GO TO UPSY 036020,000725: 25,2661 15222 25NM 036021,000726: 25,2662 43040 BMN BON 036022,000727: 25,2663 53025 GOTOUPSY 036023,000728: 25,2664 03311 HIND 036024,000729: 25,2665 52671 GETLEWD 036025,000730: 036026,000731: 25,2666 51145 DLOAD BPL 036027,000732: 25,2667 03610 DIFF 036028,000733: 25,2670 53213 DCONSTD # EVENTUALLY SETS MODE = HUNTEST. 036029,000734: 25,2671 41345 GETLEWD DLOAD DMP 036030,000735: # DLEWD = DLEWD (DIFF/(DIFFOLD-DIFF)) 036031,000736: 25,2672 03642 DLEWD 036032,000737: 25,2673 03610 DIFF 036033,000738: 25,2674 45325 PDDL DSU 036034,000739: 25,2675 03612 DIFFOLD 036035,000740: 25,2676 03610 DIFF 036036,000741: # Page 819 036037,000742: 25,2677 77665 BDDV 036038,000743: 25,2700 77626 LWDSTORE STADR 036039,000744: 25,2701 74135 STORE DLEWD 036040,000745: 25,2702 50015 DAD BMN # IF LEWD+DLEWD NEG, DLEWD=-LEWD/2 036041,000746: 25,2703 03725 LEWD 036042,000747: 25,2704 52737 LEWDPTR 036043,000748: 25,2705 77600 BOV 036044,000749: 25,2706 52733 LEWDOVFL 036045,000750: 25,2707 03725 STORE LEWD 036046,000751: 036047,000752: 25,2710 77776 SIDETRAK EXIT 036048,000753: 036049,000754: 25,2711 34753 CA EBENTRY 036050,000755: 25,2712 54003 TS EBANK 036051,000756: 036052,000757: 25,2713 34763 CA PRIO16 # DROP GRP 5 RESTART PRIO TO 1 LESS THAN 036053,000758: 25,2714 55064 TS PHSPRDT5 # GRP 4. 036054,000759: 036055,000760: 25,2715 05301 TC PHASCHNG 036056,000761: 25,2716 00474 OCT 00474 # RESTART GRP 4 AT PRE-HUN. 036057,000762: # FORCE RESTART TO PICK UP IN GRP 4: 036058,000763: # USE PRIO 17 FOR GRP 4 (< SERVICER PRIO) 036059,000764: 25,2717 34763 CA PRIO16 # CONTINUE GRP 5 AT LOWER PRIO THAN EITHER 036060,000765: # GRP 4 OR SERVICER. 036061,000766: 25,2720 05103 TC PRIOCHNG 036062,000767: 036063,000768: 25,2721 33024 CAF ADENDEXT # SIDETRACK NEXT PASS UNTIL THIS ONE DONE. 036064,000769: 25,2722 55645 TS GOTOADDR # ONLY AFTER RESTART IS LEFT AFTER DETOUR. 036065,000770: 036066,000771: 25,2723 06006 TC INTPRET 036067,000772: 036068,000773: 25,2724 43145 DLOAD SET 036069,000774: 25,2725 03610 DIFF 036070,000775: 25,2726 03071 HIND 036071,000776: 25,2727 17612 STODL DIFFOLD # DIFFOLD / 2 PI 036072,000777: 036073,000778: 25,2730 15176 Q7F 036074,000779: 25,2731 37175 STCALL Q7 # Q7 / 805 FPSS 036075,000780: 25,2732 52365 HUNTEST # (GO TO) 036076,000781: 036077,000782: 25,2733 77745 LEWDOVFL DLOAD 036078,000783: 25,2734 17363 NEARONE 036079,000784: 25,2735 37725 STCALL LEWD 036080,000785: 25,2736 53213 DCONSTD # (GO TO) ALSO WILL SET MODE = HUNTEST 036081,000786: 036082,000787: 25,2737 70545 LEWDPTR DLOAD SR1 036083,000788: 25,2740 03725 LEWD 036084,000789: 25,2741 52076 DCOMP GOTO 036085,000790: 25,2742 52700 LWDSTORE 036086,000791: 036087,000792: # Page 820 036088,000793: 25,2743 41205 NEGAMA DMP DMP # ENTER WITH GAMMAL IN MPAC 036089,000794: 036090,000795: 25,2744 03767 VL 036091,000796: 25,2745 15146 1/3RD 036092,000797: 25,2746 41325 PDDL DMP # PUSH GAMMAL VL/3 036093,000798: 25,2747 03725 LEWD 036094,000799: 25,2750 15146 1/3RD 036095,000800: 25,2751 43325 PDDL DAD # PUSH LEWD/3 036096,000801: 25,2752 03660 AHOOKDV 036097,000802: 25,2753 15252 1/24TH 036098,000803: 25,2754 41205 DMP DMP # DEL VL = (GAMMAL VL/3)/(LEWD/3-DVL 036099,000804: 25,2755 03662 DVL # (2/3 + AHOOKDV)(CH1 GS/DHOOK VL)) 036100,000805: 25,2756 15254 CH1 036101,000806: 25,2757 56271 DDV DDV 036102,000807: 25,2760 03656 DHOOK 036103,000808: 25,2761 03767 VL 036104,000809: 25,2762 55221 BDSU BDDV 036105,000810: # LEWD/3 036106,000811: # GAMMAL VL /3 036107,000812: 25,2763 77615 DAD 036108,000813: 25,2764 03767 VL 036109,000814: 25,2765 37767 STCALL VL # VL/2 VS 036110,000815: 036111,000816: 25,2766 52776 DHOOKYQ7 # GO CALC Q7 036112,000817: # Q7=((1-VL/FACT1)SQ - ALP)/FACT2 036113,000818: 25,2767 17175 STODL Q7 # Q7 / 25G 036114,000819: 036115,000820: 25,2770 03767 VL 036116,000821: 25,2771 77716 DSQ 036117,000822: 25,2772 17666 STODL VBARS # VBARS / 4 VS VS 036118,000823: 036119,000824: 25,2773 15332 3ZEROS 036120,000825: 25,2774 77650 GOTO # SET GAMMAL = 0 036121,000826: 25,2775 52553 HUNTEST3 036122,000827: 036123,000828: 25,2776 56342 DHOOKYQ7 SR1 DDV # SUBROUTINE TO CALC DHOOK OR Q7 036124,000829: 25,2777 03616 FACT1 036125,000830: 25,3000 72421 BDSU SL1 036126,000831: 25,3001 15330 HALVE 036127,000832: 25,3002 45316 DSQ DSU 036128,000833: 25,3003 03704 ALP 036129,000834: 25,3004 43471 DDV RVQ 036130,000835: 25,3005 03620 FACT2 036131,000836: 036132,000837: # Page 821 036133,000838: # COME TO PRE-HUNT WHEN RESTART OCCURS AFTER 036134,000839: # HUNTEST IS SIDE-TRACKED AT SIDETRAK. 036135,000840: # PICK UP IN GROUP 4. 036136,000841: 036137,000842: 25,3006 06006 PRE-HUNT TC INTPRET 036138,000843: 25,3007 45014 CLEAR CALL 036139,000844: 25,3010 03271 HIND # HIND 99D BIT 6 FLAG 6 036140,000845: 25,3011 53014 FOREHUNT # RE-INITIALIZE HUNTEST AFTER RE-START. 036141,000846: 25,3012 77650 GOTO 036142,000847: 25,3013 52365 HUNTEST 036143,000848: 25,3014 77745 FOREHUNT DLOAD # INITIALIZE HUNTEST. 036144,000849: 25,3015 15332 3ZEROS 036145,000850: 25,3016 17612 STODL DIFFOLD 036146,000851: 25,3017 15156 DLEWD0 036147,000852: 25,3020 17642 STODL DLEWD 036148,000853: 25,3021 15150 LEWD1 036149,000854: 25,3022 03725 STORE LEWD 036150,000855: 25,3023 77616 RVQ 036151,000856: 036152,000857: 25,3024 53570 ADENDEXT CADR ENDEXIT 036153,000858: 036154,000859: # Page 822 036155,000860: # * START UP CONTROL ... 036156,000861: # MM = 65 036157,000862: 25,3025 77634 GOTOUPSY RTB # END OF HUNTEST 036158,000863: 25,3026 54440 P65 # HUNTEST USE OF GRP4 IS DISABLED BY P65 036159,000864: # USE FOR DISPLAY. 036160,000865: # SET MODE = UPCONTRL. 036161,000866: # RETURN FROM P65 DIRECTLY TO UPDONTRL 036162,000867: # VIA THE GOTOADDR AT REFAZE10. 036163,000868: 036164,000869: 25,3027 45345 UPCONTRL DLOAD DSU # IF D-140 POS, NOSWITCH =1 036165,000870: 25,3030 03640 D # (SUPPRESS LATERAL SWITCH) 036166,000871: 25,3031 15220 C21 036167,000872: 25,3032 43040 BMN SET 036168,000873: 25,3033 53035 +2 036169,000874: 25,3034 03070 NOSWITCH 036170,000875: 036171,000876: 25,3035 45345 DLOAD DSU # IF V-V1 POS, GO TO DOWN CONTROL. 036172,000877: 25,3036 03674 V 036173,000878: 25,3037 00326 V1 036174,000879: 25,3040 71244 BPL DLOAD 036175,000880: 25,3041 53252 DOWNCNTL 036176,000881: 25,3042 03640 D 036177,000882: 25,3043 50025 DSU BMN # IF D- Q7 NEG, GO TO KEP 036178,000883: 25,3044 03175 Q7 036179,000884: 25,3045 53305 KEP 036180,000885: 25,3046 51145 DLOAD BPL # IF RDOT NEG, DO VLTEST 036181,000886: 25,3047 03700 RDOT 036182,000887: 25,3050 53057 CONT1 036183,000888: 036184,000889: 25,3051 45345 VLTEST DLOAD DSU # IF V-VL-C18 NEG,EGSW=1,MODE=PREDICT3 036185,000890: 25,3052 03674 V 036186,000891: 25,3053 03767 VL 036187,000892: 25,3054 50025 DSU BMN 036188,000893: 25,3055 15164 C18 036189,000894: 25,3056 53325 PREFINAL 036190,000895: 036191,000896: 25,3057 77745 CONT1 DLOAD # IF D-A0 POS, L/D = LAD, GO TO LIMITL/D 036192,000897: 25,3060 03640 D 036193,000898: 25,3061 50025 DSU BMN 036194,000899: 25,3062 00330 A0 036195,000900: 25,3063 53067 CONT3 036196,000901: 25,3064 52145 DLOAD GOTO 036197,000902: 25,3065 03624 LAD 036198,000903: 25,3066 53517 STOREL/D 036199,000904: 036200,000905: 25,3067 41345 CONT3 DLOAD DMP # VREF=FACT1(1-SQRT(FACT2 D + ALP)) 036201,000906: 25,3070 03640 D 036202,000907: 25,3071 03620 FACT2 036203,000908: # Page 823 036204,000909: 25,3072 75415 DAD SQRT 036205,000910: 25,3073 03704 ALP 036206,000911: 25,3074 41221 BDSU DMP 036207,000912: 25,3075 17363 BARELY1 036208,000913: 25,3076 03616 FACT1 036209,000914: 25,3077 01160 STORE VREF # VREF / 2VS 036210,000915: 036211,000916: 25,3100 41221 BDSU DMP # RDOTREF = LEWD(V1-VREF) 036212,000917: 25,3101 00326 V1 036213,000918: 25,3102 03725 LEWD 036214,000919: 25,3103 15156 STODL RDOTREF # RDOTREF / 2VS 036215,000920: 036216,000921: 25,3104 03672 VS1 036217,000922: 25,3105 50025 DSU BMN # IF VSAT-VREF NEG, GO TO CONTINU2 036218,000923: 25,3106 01160 VREF 036219,000924: 25,3107 53126 CONTINU2 036220,000925: 036221,000926: 25,3110 41406 PUSH PUSH # VS1-VREF TO PDL TWICE 036222,000927: 25,3111 56205 DMP DDV # RDHOOK=CHI1(1+DV AHOOKDV/DVL) DV DV 036223,000928: 25,3112 03660 AHOOKDV # /DHOOK VREF 036224,000929: 25,3113 03662 DVL # WHERE DV = (VS1-VREF) 036225,000930: 25,3114 41215 DAD DMP 036226,000931: 25,3115 17357 1/16TH 036227,000932: 25,3116 15254 CH1 036228,000933: 25,3117 41205 DMP DMP 036229,000934: # VS1-VREF FROM PDL TWICE. 036230,000935: 25,3120 77671 DDV 036231,000936: 25,3121 03656 DHOOK 036232,000937: 25,3122 44271 DDV BDSU 036233,000938: 25,3123 01160 VREF 036234,000939: 25,3124 01156 RDOTREF # C(RDOTREF)= LEWD (V1-VREF) 036235,000940: 25,3125 01156 STORE RDOTREF # RDOTREF = RDOTREF - RDHOOK 036236,000941: 036237,000942: 25,3126 45345 CONTINU2 DLOAD DSU 036238,000943: 25,3127 03640 D 036239,000944: 25,3130 15312 Q7MIN 036240,000945: 25,3131 50004 BOVB BMN 036241,000946: 25,3132 57343 TCDANZIG # CLEAR OVFL IND, IF ON. 036242,000947: 25,3133 53144 UPCNTRL3 036243,000948: 25,3134 45345 DLOAD DSU 036244,000949: 25,3135 03664 A1 036245,000950: 25,3136 03175 Q7 036246,000951: 25,3137 45325 PDDL DSU 036247,000952: 25,3140 03640 D 036248,000953: 25,3141 03175 Q7 036249,000954: 25,3142 45471 DDV STADR 036250,000955: 25,3143 74163 STORE FACTOR # FACTOR / 25G 036251,000956: 036252,000957: # Page 824 036253,000958: # SKIPPER 036254,000959: # DELTA L/D=-((RDOT-RDOTREF)F1 KB1+V-VREF)F1 KB2 036255,000960: # WHERE F1 = FACTOR 036256,000961: 036257,000962: 25,3144 77745 UPCNTRL3 DLOAD 036258,000963: 25,3145 03700 RDOT 036259,000964: 25,3146 41225 DSU DMP # L/D = LEWD 036260,000965: 25,3147 01156 RDOTREF # -((RDOT-RDOTREF)F1/KB1+V-VREF)F1/KB2 036261,000966: 25,3150 03614 FACTOR 036262,000967: 25,3151 43271 DDV DAD 036263,000968: 25,3152 15210 1/KB1 036264,000969: 25,3153 03674 V 036265,000970: 25,3154 41225 DSU DMP 036266,000971: 25,3155 01160 VREF 036267,000972: 25,3156 03614 FACTOR 036268,000973: 25,3157 41471 DDV PUSH 036269,000974: 036270,000975: 25,3160 15212 -1/KB2 # DELTA L/D INTO PDL 036271,000976: 25,3161 51400 BOV ABS # NONLINEAR CIRCUIT FOR REDUCING HIGH GAIN 036272,000977: 25,3162 53464 GOMAXL/D 036273,000978: 25,3163 50025 DSU BMN 036274,000979: 25,3164 15274 PT1/16 036275,000980: 25,3165 53172 NEXT1 036276,000981: 25,3166 43205 DMP DAD 036277,000982: 25,3167 15152 POINT1 036278,000983: 25,3170 15274 PT1/16 036279,000984: 25,3171 41565 SIGN PUSH # ATTACH SIGN OF PUSH TO MPAC THEN PUSH 036280,000985: 036281,000986: 25,3172 42545 NEXT1 DLOAD SL4 036282,000987: # DELTA L/D FROM PDL. 036283,000988: 036284,000989: 25,3173 77615 DAD 036285,000990: 25,3174 03725 LEWD 036286,000991: 25,3175 41400 NEGTESTS BOV PUSH # L/D TO PDL FOR USE IN NEGTESTS. 036287,000992: 25,3176 53464 GOMAXL/D 036288,000993: 25,3177 17634 STODL L/D 036289,000994: # IF D-C20 POS, LATSW =0 036290,000995: # AND IF L/D NEG, L/D = 0. 036291,000996: 25,3200 03640 D 036292,000997: 25,3201 50025 DSU BMN 036293,000998: 25,3202 15216 C20 036294,000999: 25,3203 53520 LIMITL/D 036295,001000: 25,3204 71214 CLEAR DLOAD 036296,001001: 25,3205 03273 LATSW # =21D. ROLL OVER TOP, REGARDLESS. 036297,001002: # L/D FROM PDL. 036298,001003: 25,3206 71244 BPL DLOAD 036299,001004: 25,3207 53520 LIMITL/D 036300,001005: 25,3210 15332 3ZEROS 036301,001006: 25,3211 37634 STCALL L/D 036302,001007: 25,3212 53520 LIMITL/D # (GO TO) 036303,001008: 036304,001009: # Page 825 036305,001010: 25,3213 77745 DCONSTD DLOAD # TWO RANGER ENTRIES TO CONSTD HERE 036306,001011: 25,3214 03610 DIFF 036307,001012: # SAVE OLD VALUE OF DIFF FOR NEXT PASS. 036308,001013: 25,3215 17612 STODL DIFFOLD # DIFFOLD / 2 PI 036309,001014: 036310,001015: 25,3216 15176 Q7F 036311,001016: 25,3217 03175 STORE Q7 036312,001017: 036313,001018: 25,3220 47131 BECONSTD SSP RTB # A HUNTEST ENTRY INTO CONSTD. 036314,001019: 25,3221 03646 GOTOADDR # RESET MODE TO HUNTEST 036315,001020: 25,3222 52365 HUNTEST 036316,001021: 25,3223 54505 KILLGRP4 # DEACTIVATE GRP4 FROM HUNTEST. 036317,001022: 036318,001023: 25,3224 77604 CONSTD BOVB 036319,001024: 25,3225 57343 TCDANZIG # CLEAR OVF IND IF ON. 036320,001025: 036321,001026: 25,3226 41345 DLOAD DMP 036322,001027: 25,3227 03654 LEQ 036323,001028: 25,3230 03706 C/D0 # C/D0 = -4/D0 B-8 036324,001029: 25,3231 41325 PDDL DMP # LEQ C/D0 INTO PDL 036325,001030: 25,3232 15262 2HS # 2HS / 4 VS VS 036326,001031: 25,3233 03710 D0 036327,001032: 25,3234 43271 DDV DAD # RDOTREF = -2 HS D0/V 036328,001033: 25,3235 03674 V 036329,001034: 25,3236 03700 RDOT 036330,001035: 25,3237 43205 DMP DAD 036331,001036: 25,3240 15226 K2D # C/D0 LEQ + K2D(RDOT-RDOTREF) INTO PD 036332,001037: 25,3241 77725 PDDL 036333,001038: 25,3242 03710 D0 # D0 /805 036334,001039: 036335,001040: 25,3243 77621 CONSTD1 BDSU # ENTER WITH DREF IN MPAC 036336,001041: 25,3244 03640 D 036337,001042: 25,3245 43205 DMP DAD 036338,001043: 25,3246 15224 K1D # K2D TERM FROM PUSH 036339,001044: 25,3247 52061 SL GOTO 036340,001045: 25,3250 20211 8D 036341,001046: 25,3251 53175 NEGTESTS # (GO TO) 036342,001047: 25,3252 77604 DOWNCNTL BOVB # INITIAL PART OF UPCONTROL. 036343,001048: 25,3253 57343 TCDANZIG # CLEAR OVFIND, IF ON. 036344,001049: 036345,001050: 25,3254 54345 DLOAD SR 036346,001051: 25,3255 03624 LAD 036347,001052: 25,3256 20611 8D 036348,001053: 25,3257 45325 PDDL DSU # RDTR = LAD(V1-V) 036349,001054: 25,3260 03674 V 036350,001055: 25,3261 00326 V1 036351,001056: 25,3262 43205 DMP DAD 036352,001057: 25,3263 03624 LAD 036353,001058: # Page 826 036354,001059: 25,3264 03700 RDOT 036355,001060: 25,3265 43205 DMP DAD 036356,001061: 25,3266 15226 K2D 036357,001062: # PUSH UP LAD. 036358,001063: 25,3267 45325 PDDL DSU # LAD + K2D(RDOT-RDTR) INTO PD 036359,001064: 25,3270 00326 V1 036360,001065: 25,3271 03674 V 036361,001066: 25,3272 41316 DSQ DMP 036362,001067: 25,3273 03624 LAD 036363,001068: 25,3274 65271 DDV PDDL # (V1-V)SQ LAD/(2 C1 HS) INTO PD 036364,001069: 25,3275 15272 2C1HS 036365,001070: 25,3276 00326 V1 036366,001071: 25,3277 56316 DSQ DDV 036367,001072: 25,3300 03622 VSQUARE 036368,001073: 25,3301 45265 BDDV DSU # DREF = (V/V1)SQ A0 - PD 036369,001074: 25,3302 00330 A0 036370,001075: # PUSH UP HERE 036371,001076: 25,3303 77650 GOTO # C(MPAC) = DREF 036372,001077: 25,3304 53243 CONSTD1 036373,001078: 036374,001079: # 2 2 036375,001080: # DREF = (V/V1) A0 -(V-V1) LAD/2 C1 HS 036376,001081: # Page 827 036377,001082: # * START BALLISTIC PHASE ... 036378,001083: # MM = 66 UPCONTRL ENTRY INTO KEP2 036379,001084: 25,3305 66234 KEP RTB SSP 036380,001085: 25,3306 54473 P66 # DISPLAY TRIM GIMBAL ANGLE VALUES. 036381,001086: 25,3307 03646 GOTOADDR # SET GOTOADDR TO KEPLER PHASE. 036382,001087: 25,3310 53311 KEP2 036383,001088: 036384,001089: # KEP2 CAN ALSO BE STARTED UP DIRECTLY FROM INITROLL 036385,001090: # IN P64. PROGRAM WILL IDLE IN P64 UNTIL D EXCEEDS 036386,001091: # .2 G BEFORE GOING ON TO P67. 036387,001092: 036388,001093: 25,3311 45345 KEP2 DLOAD DSU # IF Q7F+KDMIN -D NEG, GO TO FINAL PHASE. 036389,001094: 25,3312 15166 Q7FKDMIN # (Q7F + KDMIN)/805 036390,001095: 25,3313 03640 D 036391,001096: 25,3314 72240 BMN TLOAD 036392,001097: 25,3315 53325 PREFINAL 036393,001098: # SET ROLLHOLD = ROLLC, IN CASE CMDAPMOD 036394,001099: 25,3316 03316 ROLLC # = +1 EVER ENTERED. 036395,001100: 25,3317 72214 BON TLOAD # IF D > .05G, KEEP PRESENT ROLL COMMAND. 036396,001101: 25,3320 03314 .05GSW # IF D < .06G, SET ROLL COMMAND = 0. 036397,001102: 25,3321 53323 +2 036398,001103: 25,3322 15332 3ZEROS # SET ROLLC & ROLLHOLD =0. 036399,001104: 25,3323 37316 +2 STCALL ROLLC # (SP ROLLHOLD FOLLOWS DP ROLLC) 036400,001105: 25,3324 54402 P62.3 # CALC DESIRED GIMBAL ANGLES AT PRESENT 036401,001106: # RN, VN TO YIELD TRIM ATTITUDE. 036402,001107: # AVAILABLE IN CPHI'S FOR N22. 036403,001108: # Page 828 036404,001109: # START FINAL PHASE ... 036405,001110: # MM = 67 036406,001111: 25,3325 47131 PREFINAL SSP RTB 036407,001112: 25,3326 03646 GOTOADDR # RESTART PROTECT: RESET GOTOADDR IF CAME 036408,001113: 25,3327 53325 PREFINAL # FROM HUNTEST. 036409,001114: 25,3330 54477 P67 # DISABLES GRP4. FINE IF FROM HUNTEST, BUT 036410,001115: # MAY ALSO REMOVE RESTART PROTECTION OF 036411,001116: # M69 (P65). 036412,001117: # ROLLC XRNGERR DNRNGERR 036413,001118: # XXX.XX DEG XXXX.X NM XXXX.XX NM 036414,001119: 036415,001120: 25,3331 66214 SET SSP 036416,001121: 25,3332 03067 EGSW 036417,001122: 25,3333 03646 GOTOADDR 036418,001123: 25,3334 53335 PREDICT3 036419,001124: 25,3335 45345 PREDICT3 DLOAD DSU # IF V-VQUIT NEG, STOP STEERING 036420,001125: 25,3336 03674 V 036421,001126: 25,3337 15214 VQUIT 036422,001127: 25,3340 77440 BMN EXIT 036423,001128: 25,3341 53605 STEEROFF 036424,001129: 036425,001130: 25,3342 34753 CA EBENTRY # PRECAUTIONARY. 036426,001131: 25,3343 54003 TS EBANK 036427,001132: 036428,001133: 25,3344 35656 CA TWELVE 036429,001134: 25,3345 55771 BACK TS JJ 036430,001135: 036431,001136: 25,3346 41673 CS V 036432,001137: 25,3347 51771 INDEX JJ 036433,001138: 25,3350 63631 AD VREFER # VREF - V, HIGHEST VREF AT END OF TABLE. 036434,001139: 25,3351 10000 CCS A # IF VREF-V POS LOOP BACK 036435,001140: 25,3352 11771 CCS JJ # DECREMENT JJ, JJ CANNOT BE ZERO 036436,001141: 25,3353 13345 TCF BACK 036437,001142: 25,3354 64712 AD ONE 036438,001143: 25,3355 55646 TS TEM1B # V-VREF IN TEM1B (MUST BE POSITIVE NUM) 036439,001144: 036440,001145: 25,3356 51771 INDEX JJ 036441,001146: 25,3357 43631 CS VREFER 036442,001147: 25,3360 51771 INDEX JJ 036443,001148: 25,3361 63632 AD VREFER +1 # V(K+1) - V(K) (POS NUM) 036444,001149: 25,3362 57646 XCH TEM1B 036445,001150: 25,3363 22007 ZL 036446,001151: 25,3364 00006 EXTEND 036447,001152: 25,3365 11646 DV TEM1B 036448,001153: 25,3366 55651 TS GRAD # GRAD = (V-VREF)/(VK+1 - VK) (POS NUM) 036449,001154: 036450,001155: 25,3367 34715 CAF FIVE 036451,001156: 036452,001157: # Page 829 036453,001158: 25,3370 55650 BACK2 TS MM 036454,001159: 25,3371 34720 CAF THIRTEEN 036455,001160: 25,3372 27771 ADS JJ 036456,001161: 25,3373 50000 INDEX A 036457,001162: 25,3374 43631 CS VREFER 036458,001163: 25,3375 51771 INDEX JJ 036459,001164: 25,3376 63632 AD VREFER +1 # X(K+1) - X(K) 036460,001165: 25,3377 00006 EXTEND 036461,001166: 25,3400 71651 MP GRAD 036462,001167: 25,3401 51771 INDEX JJ 036463,001168: 25,3402 63631 AD VREFER 036464,001169: 25,3403 51650 INDEX MM 036465,001170: 25,3404 55652 TS FX # FX = AK + GRAD (AK+1 - AK) 036466,001171: 25,3405 11650 CCS MM 036467,001172: 25,3406 13370 TCF BACK2 036468,001173: 25,3407 57653 XCH FX +1 # ZERO FX +1 AND GET DREFR 036469,001174: 25,3410 61637 AD D 036470,001175: 25,3411 00006 EXTEND 036471,001176: 25,3412 71657 MP FX +5 # F1 036472,001177: 25,3413 52155 DXCH MPAC # MPAC = F1(D-DREF) 036473,001178: 036474,001179: 25,3414 00006 EXTEND 036475,001180: 25,3415 41700 DCS RDOT # FORM RDOTREF - RDOT 036476,001181: 25,3416 20001 DDOUBL 036477,001182: 25,3417 20001 DDOUBL 036478,001183: 25,3420 20001 DDOUBL # SCALE UP BY 8 FOR THIS PHASE. 036479,001184: 25,3421 61655 AD FX +3 # RDOTREF 036480,001185: 25,3422 00006 EXTEND 036481,001186: 25,3423 71656 MP FX +4 # F2 036482,001187: 25,3424 61654 AD FX +2 # RTOGO 036483,001188: 25,3425 20155 DAS MPAC # ADD F2(DADV1-DADVR) 036484,001189: 25,3426 30154 CA MPAC 036485,001190: 25,3427 55770 TS PREDANG 036486,001191: # L/D = LOD + (THETA- PREDANG)/ Y 036487,001192: 25,3430 06006 TC INTPRET 036488,001193: 036489,001194: 25,3431 45242 SR3 DSU 036490,001195: 25,3432 03702 THETAH 036491,001196: 25,3433 43014 BON BOFF 036492,001197: 25,3434 03305 GONEPAST 036493,001198: 25,3435 53462 GONEGLAD 036494,001199: 25,3436 03747 GONEBY 036495,001200: 25,3437 53445 HAVDNRNG 036496,001201: 25,3440 43145 DLOAD SET # SET GONEPAST IF GONEBY SET & LATCH IN-PLACE 036497,001202: 25,3441 13765 MAXRNG # DISPLAY = 9999.9 IF GONEBY 036498,001203: 25,3442 03065 GONEPAST 036499,001204: 25,3443 37716 STCALL DNRNGERR 036500,001205: 25,3444 53462 GONEGLAD 036501,001206: 036502,001207: 25,3445 03716 HAVDNRNG STORE DNRNGERR # = (PREDANG - THETA) /360 036503,001208: # Page 830 036504,001209: 25,3446 77676 DCOMP # FALLS SHORT IF NEG, OVERSHOOT IF POS 036505,001210: 25,3447 56204 BOVB DDV 036506,001211: 25,3450 57343 TCDANZIG # CLEAR OVFIND IF ON. 036507,001212: 25,3451 03653 FX # FX= DRANGE/D L/D = Y 036508,001213: 25,3452 40061 SL BOV 036509,001214: 25,3453 20206 5 036510,001215: 25,3454 53464 GOMAXL/D 036511,001216: 25,3455 40015 DAD BOV 036512,001217: 25,3456 03626 LOD 036513,001218: 25,3457 53464 GOMAXL/D 036514,001219: 25,3460 37634 STCALL L/D 036515,001220: 25,3461 53470 GLIMITER # (GO TO) 036516,001221: 036517,001222: # GONEGLAD AND GOPOSMAX ENTRY POINTS FOR GLIMITER ... 036518,001223: 036519,001224: 25,3462 77745 GONEGLAD DLOAD # SET L/D = -LAD 036520,001225: 25,3463 13463 GONEGLAD # (ANY NEGATIVE NUMBER WILL DO) 036521,001226: 036522,001227: 25,3464 41234 GOMAXL/D RTB DMP L/D = 036523,001228: 25,3465 45707 SIGNMPAC 036524,001229: 25,3466 03624 LAD 036525,001230: 25,3467 03634 STORE L/D # AND FALL INTO GLIMITER SECTION 036526,001231: 036527,001232: 25,3470 45345 GLIMITER DLOAD DSU # IF GMAX/2-D POS, GO TO LIMITL/D 036528,001233: 25,3471 15160 GMAX/2 036529,001234: 25,3472 03640 D 036530,001235: 25,3473 43244 BPL DAD # IF GMAX -D NEG, GO TO GOPOSLAD 036531,001236: 25,3474 53520 LIMITL/D 036532,001237: 25,3475 15160 GMAX/2 036533,001238: 25,3476 41240 BMN DMP 036534,001239: 25,3477 53515 GOPOSLAD 036535,001240: 25,3500 15262 2HS 036536,001241: 25,3501 41325 PDDL DMP # 2HS(GMAX-D) INTO PD 036537,001242: 25,3502 03654 LEQ 036538,001243: 25,3503 15330 1/GMAX 036539,001244: 25,3504 41215 DAD DMP 036540,001245: 25,3505 03624 LAD 036541,001246: 25,3506 56325 PDDL DDV # 2HS(GMAX-D) (LEQ/GMAX+LAD) INTO PD 036542,001247: 25,3507 15264 2HSGMXSQ 036543,001248: 25,3510 03622 VSQUARE 036544,001249: 25,3511 75415 DAD SQRT # XLIM = SQRT(PD+(2HSGMAX/V)SQ) 036545,001250: 25,3512 51015 DAD BPL # IF RDOT+XLIM POS, GO TO LIMITL/D 036546,001251: 25,3513 03700 RDOT 036547,001252: 25,3514 53520 LIMITL/D 036548,001253: 036549,001254: 25,3515 77745 GOPOSLAD DLOAD 036550,001255: 25,3516 03624 LAD 036551,001256: 25,3517 03634 STOREL/D STORE L/D 036552,001257: 036553,001258: # Page 831 036554,001259: 25,3520 77745 LIMITL/D DLOAD 036555,001260: 25,3521 03634 L/D 036556,001261: 25,3522 17636 STODL L/D1 036557,001262: 25,3523 03622 VSQUARE 036558,001263: 036559,001264: 25,3524 77614 BON # NO LATERAL CONTROL IF PAST TARGET 036560,001265: 25,3525 03305 GONEPAST 036561,001266: 25,3526 53560 L355 036562,001267: 25,3527 43205 DMP DAD # Y= KLAT VSQUARE + LATBIAS 036563,001268: 25,3530 03632 KLAT 036564,001269: 25,3531 15242 LATBIAS # Y INTO PD 036565,001270: 25,3532 51525 L350 PDDL ABS # IF ABS(L/D)-L/DCMINR NEG, GO TO L353 036566,001271: 25,3533 03634 L/D 036567,001272: 25,3534 50025 DSU BMN 036568,001273: 25,3535 03630 L/DCMINR 036569,001274: 25,3536 53545 L353 036570,001275: 25,3537 75345 DLOAD SIGN # IF K2ROLL LATANG NEG, GO TO L357 036571,001276: 25,3540 03676 LATANG 036572,001277: 25,3541 03644 K2ROLL 036573,001278: 25,3542 71240 BMN DLOAD 036574,001279: 25,3543 53624 L357 036575,001280: 25,3544 41542 SR1 PUSH # Y = Y/2 036576,001281: 25,3545 75345 L353 DLOAD SIGN # IF LATANG SIGN(K2ROLL)-Y POS, SWITCH 036577,001282: 25,3546 03676 LATANG 036578,001283: 25,3547 03644 K2ROLL 036579,001284: 25,3550 77625 DSU 036580,001285: 25,3551 71240 BMN DLOAD 036581,001286: 25,3552 53560 L355 036582,001287: 25,3553 03644 K2ROLL 036583,001288: 25,3554 57414 BONCLR DCOMP # IF NOSWITCH =1, K2ROLL= K2ROLL 036584,001289: 25,3555 03210 NOSWITCH 036585,001290: 25,3556 53560 L355 036586,001291: 25,3557 03644 STORE K2ROLL # K2ROLL = -K2ROLL 036587,001292: 036588,001293: 25,3560 56345 L355 DLOAD DDV # ROLLC = ACOS( (L/D1) / LAD) 036589,001294: 25,3561 03636 L/D1 036590,001295: 25,3562 03624 LAD # MPAC SET TO +-1 IF OVERFLOW*** 036591,001296: 25,3563 65542 SR1 ACOS 036592,001297: 25,3564 43165 SIGN CLEAR 036593,001298: 25,3565 03644 K2ROLL 036594,001299: 25,3566 03270 NOSWITCH 036595,001300: 25,3567 03316 STORE ROLLC 036596,001301: 036597,001302: 25,3570 77776 ENDEXIT EXIT 036598,001303: 036599,001304: 25,3571 34676 OVERNOUT CA BIT13 # ENTRYDSP =92D B13 036600,001305: 25,3572 70102 MASK CM/FLAGS 036601,001306: 25,3573 00006 EXTEND 036602,001307: 25,3574 13600 BZF NODISKY # OMIT DISPLAY. 036603,001308: # Page 832 036604,001309: 25,3575 31263 CA ENTRYVN # ALL ENTRY DISPLAYS ARE DONE HERE. 036605,001310: 25,3576 04555 TC BANKCALL 036606,001311: 25,3577 20621 CADR REGODSPR # NO ABORT IF DISKY IN USE 036607,001312: 036608,001313: 25,3600 00004 NODISKY INHINT 036609,001314: 25,3601 10067 CCS NEWJOB # PROTECT READACCS GRP 5, IF SIDETRACKED. 036610,001315: 25,3602 05057 TC CHANG1 036611,001316: 25,3603 04574 SERVNOUT TC POSTJUMP # ( COME HERE FROM P67.3 ) 036612,001317: 25,3604 77132 CADR SERVEXIT # AND END AVERAGEG JOB VIA ENDOJOB. 036613,001318: 036614,001319: # Page 833 036615,001320: # DISPLAY WHEN V IS LESS THAN VQUIT. 036616,001321: 036617,001322: 25,3605 77776 STEEROFF EXIT 036618,001323: 25,3606 34753 CA EBENTRY # PRECAUTIONARY. 036619,001324: 25,3607 54003 TS EBANK 036620,001325: 036621,001326: 25,3610 34763 CA PRIO16 # 2 LESS THAN NTRYPRIO. 036622,001327: 25,3611 05027 TC NOVAC 036623,001328: 25,3612 E6,1661 EBANK= AOG # ANY EB HERE 036624,001329: 25,3612 02511 54066 2CADR P67.1 # START UP REMAINDER OF P67 036625,001330: 036626,001331: # RTOGO LAT LONG 036627,001332: # XXXX.X NM XXX.XX DEG XXX.XX DEG 036628,001333: 036629,001334: 25,3614 05261 TC 2PHSCHNG # INHINT/RELINT DONE. 036630,001335: 25,3615 00414 OCT 00414 # 4.41 RESTART FOR P67.1 DISPLAY JOB. 036631,001336: 25,3616 10035 OCT 10035 # SERVICER 5.3 RESTART. 036632,001337: 036633,001338: 25,3617 33623 CA P67.2CAD # HEREAFTER, DO LAT, LONG. 036634,001339: 25,3620 55645 TS GOTOADDR 036635,001340: 036636,001341: 25,3621 06006 TC INTPRET 036637,001342: 25,3622 77650 GOTO 036638,001343: 25,3623 54530 P67.2CAD P67.2 # CONTINUE FOR LAT, LONG THIS TIME. 036639,001344: 036640,001345: 25,3624 75345 L357 DLOAD SIGN # L/D = L/DCMINR SIGN(L/D) 036641,001346: 25,3625 03630 L/DCMINR 036642,001347: 25,3626 03634 L/D 036643,001348: 25,3627 37636 STCALL L/D1 036644,001349: 25,3630 53560 L355 # (GO TO) 036645,001350: 036646,001351: # Page 834 036647,001352: # TABLE USED FOR SUB-ORBITAL REFERENCT TRAJECTORY CONTROL. 036648,001353: 25,3631 00474 VREFER DEC .019288 # REFERENCE VELOCITY SCALED V/51532.3946 036649,001354: 25,3632 01235 DEC .040809 # 13 POINTS ARE STORED AS THE INDEPENDENT 036650,001355: 25,3633 02337 DEC .076107 # VARIABLE AND THEN SIX 13-POINT FUNCTIONS 036651,001356: 25,3634 03721 DEC .122156 # OF V ARE STORED CONSECUTIVELY 036652,001357: 25,3635 05230 DEC .165546 036653,001358: 25,3636 06213 DEC .196012 036654,001359: 25,3637 10550 DEC .271945 036655,001360: 25,3640 11717 DEC .309533 036656,001361: 25,3641 13314 DEC .356222 036657,001362: 25,3642 14736 DEC .404192 036658,001363: 25,3643 16255 DEC .448067 036659,001364: 25,3644 16457 DEC .456023 036660,001365: 25,3645 25570 DEC .67918 # HIGHVELOCITY FOR SAFETY. 036661,001366: 036662,001367: 25,3646 77526 DEC -.010337 # DRANGE/DA SCALED DRDA/(2700/805) 036663,001368: 25,3647 77360 DEC -.016550 036664,001369: 25,3650 77106 DEC -.026935 036665,001370: 25,3651 76516 DEC -.042039 036666,001371: 25,3652 76071 DEC -.058974 036667,001372: 25,3653 75570 DEC -.070721 036668,001373: 25,3654 74661 DEC -.098538 036669,001374: 25,3655 74436 DEC -.107482 036670,001375: 25,3656 73212 DEC -.147762 036671,001376: 25,3657 71640 DEC -.193289 036672,001377: 25,3660 54557 DEC -.602557 036673,001378: 25,3661 40000 DEC -.99999 036674,001379: 25,3662 40000 DEC -.99999 036675,001380: 036676,001381: 25,3663 77635 DEC -.0478599 B-3 # -DRANGE/DRDOT 036677,001382: 25,3664 77563 DEC -.0683663 B-3 # SCALED ((2VS/8 2700) DR/DRDOT) 036678,001383: 25,3665 77354 DEC -.1343468 B-3 036679,001384: 25,3666 76712 DEC -.2759846 B-3 036680,001385: 25,3667 76066 DEC -.4731437 B-3 036681,001386: 25,3670 75322 DEC -.6472087 B-3 036682,001387: 25,3671 73237 DEC -1.171693 B-3 036683,001388: 25,3672 72104 DEC -1.466382 B-3 036684,001389: 25,3673 70301 DEC -1.905171 B-3 036685,001390: 25,3674 65635 DEC -2.547990 B-3 036686,001391: 25,3675 57311 DEC -4.151220 B-3 036687,001392: 25,3676 50575 DEC -5.813617 B-3 036688,001393: 25,3677 50575 DEC -5.813617 B-3 036689,001394: 036690,001395: # Page 835 036691,001396: 25,3700 74443 DEC -.0134001 B3 # RDOTREF SCALED (8 RDT/2VS) 036692,001397: 25,3701 74333 DEC -.013947 B3 036693,001398: 25,3702 74433 DEC -.013462 B3 036694,001399: 25,3703 74763 DEC -.011813 B3 036695,001400: 25,3704 75432 DEC -.0095631 B3 036696,001401: 25,3705 75735 DEC -.00806946 B3 036697,001402: 25,3706 76200 DEC -.006828 B3 036698,001403: 25,3707 75735 DEC -.00806946 B3 036699,001404: 25,3710 75140 DEC -.0109791 B3 036700,001405: 25,3711 74075 DEC -.0151498 B3 036701,001406: 25,3712 73312 DEC -.0179817 B3 036702,001407: 25,3713 73732 DEC -.0159061 B3 036703,001408: 25,3714 73732 DEC -.0159061 B3 036704,001409: 036705,001410: 25,3715 00015 DEC .0008067 # RANGE TO GO SCALED RTOGO/2700 036706,001411: 25,3716 00066 DEC .0032963 # 8.9 036707,001412: 25,3717 00206 DEC .0081852 # 22.1 036708,001413: 25,3720 00431 DEC .017148 036709,001414: 25,3721 00712 DEC .027926 036710,001415: 25,3722 01136 DEC .037 036711,001416: 25,3723 02015 DEC .063298 036712,001417: 25,3724 02374 DEC .077889 036713,001418: 25,3725 03123 DEC .098815 036714,001419: 25,3726 04051 DEC .127519 036715,001420: 25,3727 05767 DEC .186963 036716,001421: 25,3730 07476 DEC .238148 036717,001422: 25,3731 11324 DEC .294185185 036718,001423: 036719,001424: 25,3732 76272 DEC -.051099 # -AREF/805 036720,001425: 25,3733 75472 DEC -.074534 036721,001426: 25,3734 74604 DEC -.101242 036722,001427: 25,3735 74210 DEC -.116646 036723,001428: 25,3736 74052 DEC -.122360 036724,001429: 25,3737 73735 DEC -.127081 036725,001430: 25,3740 73217 DEC -.147453 036726,001431: 25,3741 73013 DEC -.155528 036727,001432: 25,3742 73155 DEC -.149565 036728,001433: 25,3743 74151 DEC -.118509 036729,001434: 25,3744 76703 DEC -.034907 036730,001435: 25,3745 77575 DEC -.007950 036731,001436: 25,3746 77575 DEC -.007950 036732,001437: 036733,001438: # Page 836 036734,001439: 25,3747 00112 DEC .004491 # DRANGE/D L/D SCALED Y/2700 036735,001440: 25,3750 00204 DEC .008081 036736,001441: 25,3751 00407 DEC .016030 036737,001442: 25,3752 01113 DEC .035815 036738,001443: 25,3753 02161 DEC .069422 036739,001444: 25,3754 03260 DEC .104519 036740,001445: 25,3755 03717 DEC .122 036741,001446: 25,3756 05411 DEC .172407 036742,001447: 25,3757 10057 DEC .252852 036743,001448: 25,3760 13476 DEC .363148 036744,001449: 25,3761 20324 DEC .512963 036745,001450: 25,3762 21677 DEC .558519 036746,001451: 25,3763 21677 DEC .558519 # END OF STORED REFERENCE 036747,001452: 036748,001453: # Page 837 036749,001454: # REENTRY CONSTANTS. 036750,001455: 036751,001456: # DEFINED BY EQUALS 036752,001457: 036753,001458: 25,3764 4721 DEC15 = LOW4 036754,001459: # GAMMAL1 = 22D 036755,001460: 036756,001461: 25,3764 16631 06755 MAXRNG 2OCT 1663106755 # DNRNGERR = 9999.9 IF GONEPAST=1 036757,001462: 036758,001463: 26,3144 BANK 26 036759,001464: 26,2000 SETLOC REENTRY1 036760,001465: 26,2000 BANK 036761,001466: 036762,001467: 26,3144 COUNT* $$/ENTRY 036763,001468: 036764,001469: 26,3144 27,3362 BARELY1 = NEARONE # COMMON TO BOTH DISK,DANCE, DEFND IN TFF 036765,001470: # 1BITDP # COMMON TO BOTH DISK AND DANCE. DEFND IN VECPOINT. 036766,001471: 036767,001472: 26,3144 02525 1/12TH DEC .083333 # DP 1/12 USES HI WORD IN 1/3 BELOW 036768,001473: 26,3145 12525 12525 1/3RD 2DEC .3333333333 # DP 1/3 036769,001474: 036770,001475: 26,3147 27,3356 1/16TH = DP2(-4) 036771,001476: 036772,001477: # BELOW: VS = VSAT = 25766.1973 FT/SEC 036773,001478: # RE = 21,202,900 FEET 036774,001479: 036775,001480: 26,3147 04631 23146 LEWD1 2DEC .15 036776,001481: 26,3151 03146 14632 POINT1 2DEC .1 036777,001482: 26,3153 06314 31463 POINT2 2DEC .2 # .2 036778,001483: 26,3155 76314 71462 DLEWD0 2DEC -.05 # -.05 036779,001484: 26,3157 05075 16051 GMAX/2 2DEC .16 # 8 GS / 2 036780,001485: 036781,001486: 26,3161 26,3331 3ZEROS EQUALS HI6ZEROS 036782,001487: 036783,001488: 26,3161 07777 00000 NEAR1/4 2OCT 0777700000 # 1/4 LESS 1 BIT IN UPPER PART. 036784,001489: 26,3163 00236 36763 C18 2DEC .0097026346 # 500/2VS 036785,001490: 26,3165 00204 11303 Q7FKDMIN 2DEC .0080745342 # 6.5/805 (Q7F +KDMIN) = 6 + .5) 036786,001491: 036787,001492: 26,3167 27,3356 C1/16 = DP2(-4) 036788,001493: 036789,001494: 26,3167 05260 05572 Q3 2DEC .167003132 # .07 2VS/21600 036790,001495: # Page 838 036791,001496: 26,3171 12343 21616 Q5 2DEC .326388889 # .3 23500/21600 036792,001497: 26,3173 01073 31515 Q6 2DEC .0349 # 2 DEG, APPROX 820/23500 036793,001498: 26,3175 00172 03571 Q7F 2DEC .0074534161 # 6/805 (VALUE OF Q7 IN FIXED MEM.) 036794,001499: 26,3177 26,3327 Q19 = HALVE # Q19 = .5 036795,001500: 26,3177 00573 10230 Q21 2DEC .0231481481 # 500/21600 036796,001501: 26,3201 76226 45761 Q22 2DEC -.053333333 # -1152/21600 036797,001502: 26,3203 13132 33062 VLMIN 2DEC .34929485 # 18000/2 VS 036798,001503: 26,3205 26,3321 VMIN = FOURTH # (VS/2) / 2VS 036799,001504: 26,3205 00160 05104 C12 2DEC .00684572901 # 32 28500/(21202900 2 PI) 036800,001505: 26,3207 11322 32265 1/KB1 2DEC .29411765 # 1 / 3.4 036801,001506: 26,3211 75047 72454 -1/KB2 2DEC -.0057074322 B4 # - 1/(.0034 2 VS) EXP +4 036802,001507: 26,3213 00475 35746 VQUIT 2DEC .019405269 # 1000 /2VS 036803,001508: 26,3215 06751 27515 C20 2DEC .21739130 # (175 FPSS) LIFT UP IF ABOVE C20 036804,001509: 26,3217 05441 14412 C21 2DEC .17391304 # 140/805 036805,001510: 26,3221 00022 36641 25NM 2DEC .0011574074 # 25/21600 (25 NAUT MILES) 036806,001511: 26,3223 01003 06315 K1D 2DEC .0314453125 # =C16 805/256 = .01 805/256 036807,001512: 26,3225 71435 75516 K2D 2DEC -.201298418 # -C17 2VS/256 = -.001 2VS/256 036808,001513: 26,3227 32047 24367 KVSCALE 2DEC .81491944 # 12800/(2 VS .3048) 036809,001514: 26,3231 37200 05636 KASCALE 2DEC .97657358 # 5.85 16384/(4 .3048 100 805) 036810,001515: 26,3233 00046 13137 KTETA 2DEC* .383495203 E2 B-14* # 1000 2PI/16384(163.84) 036811,001516: 26,3235 00017 30730 KT1 2DEC* .157788327 E2 B-14* # RE(2PI)/2 VS(16384) 163.84 036812,001517: 26,3237 00040 30447 .05G 2DEC .002 # .05/25 036813,001518: 26,3241 00000 17565 LATBIAS 2DEC .00003 # APPRX .5 NM/ 4(21600/2 PI) 036814,001519: 26,3243 01727 20103 KWE 2DEC .120056652 B-1 036815,001520: 26,3245 00121 17460 KACOS 2DEC .004973592 # 1/32(2PI) 036816,001521: 26,3247 00400 00000 CHOOK 2DEC 1 B-6 # .25/16 036817,001522: # Page 839 036818,001523: 26,3251 01252 25253 1/24TH 2DEC .0833333333 B-1 036819,001524: 26,3253 24365 30244 CH1 2DEC .32 B1 # 16 CH1/25 = 16 (1) /25 036820,001525: 26,3255 77152 51354 KC3 2DEC -.0247622232 # -(4 VS VS/ 2 PI 805 RE) 036821,001526: 26,3257 00336 21610 VRCONT 2DEC .0135836886 # 700/2 VSAT 036822,001527: 036823,001528: 26,3261 26,3327 HALVE EQUALS HIDPHALF 036824,001529: 26,3261 26,3321 FOURTH EQUALS HIDP1/4 036825,001530: 036826,001531: 26,3261 26,3327 1/GMAX EQUALS HALVE # 4/GMAX = 4 / 8 036827,001532: 036828,001533: 26,3261 00433 02775 2HS 2DEC .0172786611 # 2 28500 25 32.2/(4 VS VS) 036829,001534: 26,3263 00000 20017 2HSGMXSQ 2DEC .0000305717 # (2 28500 8 32.2/ 4 VS VS)SQ 036830,001535: 26,3265 77765 70243 C001 2DEC -.000625 # -(4/25)/256 LEQ/D0 CONST 036831,001536: 26,3267 31463 06315 POINT8 2DEC .8 036832,001537: 26,3271 00541 33575 2C1HS 2DEC .0215983264 # 2 1.25 28500 805/(2 VS)SQ 036833,001538: 26,3273 00146 14632 PT1/16 2DEC .1 B-4 036834,001539: 26,3275 00052 30013 1/K44 2DEC .00260929464 # 2 VS/19749550 036835,001540: 26,3277 20411 03041 VFINAL 2DEC .51618016 # 26600/2 VS 036836,001541: 26,3301 20610 10513 VFINAL1 2DEC .523942273 # = 27000 / 2 VS 036837,001542: 26,3303 11473 02355 1/KA1 2DEC .30048077 # 25/(1.3 64) 036838,001543: 26,3305 00203 02234 KA2 2DEC .008 # .2/25 036839,001544: 26,3307 16237 00146 KA3 2DEC .44720497 # = 90 4/805 036840,001545: 26,3311 01456 03450 KA4 2DEC .049689441 # 40/805 036841,001546: 26,3313 26,3311 Q7MIN = KA4 # = 40/805 = .049689441 036842,001547: 26,3313 56232 72332 -HSCALED 2DEC -.55305018 # -28500/2 VS 036843,001548: 26,3315 77000 43741 -KSCALE 2DEC -.0312424837 # -805/VS 036844,001549: 26,3317 36702 21727 COS15 2DEC .965 036845,001550: 26,3321 26,3144 LATSLOPE EQUALS 1/12TH 036846,001551: 036847,001552: # ... END OF RE-ENTRY CONSTANTS ... 036848,001553: End of include-file REENTRY_CONTROL.agc. Parent file is MAIN.agc