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