Source Code

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