Source Code
|
These source-code files are part of a reconstructed copy of Comanche 051, the
original release of the Apollo 11 Command Module (CM) Apollo Guidance Computer
(AGC) software.
The reconstruction began with source code of Comanche 055 previously transcribed from a digitized copy of that program. The code was then updated by undoing changes related to the R-2 lunar potential model, using hints from program comments and change-indicating asterisks in the Comanche 055 listing as a guide. The reconstruction was verified by matching memory-bank checksums to those listed in drawing 2021153D. Note that page numbers in the reconstructed code match those on the Comanche 055 printout, although the added code would likely have changed page numbers for a real Comanche 051 listing. Comments from the original source code are prefixed with a single '#' symbol, whereas comments added later are prefixed by "##" or "###". Report any errors noted by creating an issue report at the Virtual AGC project's GitHub repository. |
036854,000002: ## Copyright: Public domain.
036855,000003: ## Filename: REENTRY_CONTROL.agc
036856,000004: ## Purpose: A section of Comanche revision 051.
036857,000005: ## It is part of the reconstructed source code for the
036858,000006: ## original release of the flight software for the Command
036859,000007: ## Module's (CM) Apollo Guidance Computer (AGC) for Apollo 11.
036860,000008: ## The code has been recreated from a copy of Comanche 055. It
036861,000009: ## has been adapted such that the resulting bugger words
036862,000010: ## exactly match those specified for Comanche 51 in NASA drawing
036863,000011: ## 2021153D, which gives relatively high confidence that the
036864,000012: ## reconstruction is correct.
036865,000013: ## Reference: pp. 844-882
036866,000014: ## Assembler: yaYUL
036867,000015: ## Contact: Ron Burkey <info@sandroid.org>.
036868,000016: ## Website: www.ibiblio.org/apollo/index.html
036869,000017: ## Mod history: 2019-07-30 MAS Created from Comanche 55.
036870,000018:
|
Page 844 |
036872,000020: # ENTRY INITIALIZATION ROUTINE
036873,000021: # -----------------------------
036874,000022:
036875,000023: 25,2000 BANK 25
036876,000024: 25,2000 SETLOC REENTRY
036877,000025: 25,2000 BANK
036878,000026:
036879,000027: 25,2000 COUNT* $$/ENTRY
036880,000028: 25,2000 E7,1451 EBANK= RTINIT
036881,000029:
036882,000030: 25,2000 5060 EBENTRY = EBANK7
036883,000031: 25,2000 5057 EBAOG EQUALS EBANK6
036884,000032: 25,2000 5002 NTRYPRIO EQUALS PRIO20 # (SERVICER)
036885,000033: 25,2000 0102 CM/FLAGS EQUALS STATE +6
036886,000034:
036887,000035: 25,2000 77776 STARTENT EXIT # MM = 63
036888,000036:
036889,000037: # COME HERE FROM CM/POSE. RESTARTED IN CM/POSE.
036890,000038: 25,2001 42113 CS ENTMASK # INITIALIZE ALL SWITCHES TO ZERO
036891,000039: # EXCEPT LATSW, ENTRYDSP AND GONEPAST.
036892,000040: # GONEBY 112D BIT8 FLAG7, SELF INITIALIZING
036893,000041: 25,2002 00004 INHINT
036894,000042: 25,2003 70102 MASK CM/FLAGS
036895,000043: # ENTRYDSP = 92D B13
036896,000044: # GONEPAST=95D B10, RELVELSW=96D B9
036897,000045: # EGSW = 97D B8 NOSWITCH = 98D B7
036898,000046: # HIND=99D B6 INRLSW=100D B5
036899,000047: # LATSW=101D B4 .05GSW=102D B3
036900,000048:
036901,000049: 25,2004 62114 AD ENTRYSW # SET ENTRYDSP, LATSW, GONEPAST.
036902,000050: 25,2005 54102 TS CM/FLAGS
036903,000051:
036904,000052: 25,2006 00003 RELINT
036905,000053:
036906,000054: 25,2007 06006 TC INTPRET
036907,000055:
036908,000056: 25,2010 77735 SLOAD
036909,000057: 25,2011 03011 LODPAD
036910,000058: 25,2012 03626 STORE LOD
036911,000059:
036912,000060: 25,2013 77735 SLOAD
036913,000061: 25,2014 03010 LADPAD
036914,000062: 25,2015 03624 STORE LAD
036915,000063:
036916,000064: 25,2016 77605 DMP # L/DCMINR = LAD COS(15)
036917,000065: 25,2017 15323 COS15
036918,000066: 25,2020 17630 STODL L/DCMINR
036919,000067: 25,2021 15146 LATSLOPE
036920,000068: 25,2022 70405 DMP SR1 # KLAT = LAD/24
036921,000069: 25,2023 03624 LAD
|
Page 845 |
036923,000071: 25,2024 17632 STODL KLAT
036924,000072: 25,2025 15177 Q7F
036925,000073: 25,2026 17175 STODL Q7 # Q7 = Q7F
036926,000074: 25,2027 17372 NEARONE # 1.0 -1BIT
036927,000075: 25,2030 17614 STODL FACTOR
036928,000076: 25,2031 03624 LAD
036929,000077: 25,2032 57565 SIGN DCOMP
036930,000078: 25,2033 03327 HEADSUP # MAY BE NOISE FOR DISPLAY P61
036931,000079: 25,2034 37634 STCALL L/D # L/D = - LAD SGN(HEADSUP)
036932,000080:
036933,000081: 25,2035 52063 STARTEN1 # RETURN VIA GOTOADDR
036934,000082: 25,2036 47375 VLOAD VXV
036935,000083: 25,2037 01177 VN # (-7) M/CS
036936,000084: 25,2040 01760 UNITR # .5 UNIT REF COORDS
036937,000085: 25,2041 50256 UNIT DOT
036938,000086: 25,2042 03474 RT # RT/2 TARGET VECTOR REF COORDS
036939,000087: 25,2043 03676 STORE LATANG # LATANG = UNI.RT /4
036940,000088: 25,2044 47076 DCOMP RTB
036941,000089: 25,2045 45712 SIGNMPAC
036942,000090: 25,2046 17644 STODL K2ROLL # K2ROLL = -SGN(LATANG)
036943,000091:
036944,000092: 25,2047 03624 LAD
036945,000093: 25,2050 43205 DMP DAD
036946,000094: 25,2051 15201 Q21
036947,000095: 25,2052 15203 Q22
036948,000096: 25,2053 03712 STORE Q2 # Q2 = -1152 + 500 LAD
036949,000097:
036950,000098: 25,2054 66331 SSP SSP
036951,000099: 25,2055 03646 GOTOADDR # SET SELECTOR FOR INITIAL PASS
036952,000100: 25,2056 52260 INITROLL
036953,000101: 25,2057 03325 POSEXIT
036954,000102: 25,2060 52115 SCALEPOP # SET CM/POSE TO CONTINUE AT SCALEPOP
036955,000103:
036956,000104: 25,2061 77634 RTB
036957,000105: 25,2062 53611 SERVNOUT # OMIT INITIAL DISPLAY, SINCE 1ST GUESSBAD
036958,000106:
036959,000107: # CALCULATE THE INITIAL TARGET VECTOR: RTINIT, ALSO RTEAST, RTNORM AND RT. ALL ARE .5 UNIT AND IN
036960,000108: # REFERENCE COORDINATES.
036961,000109:
036962,000110: 25,2063 77220 STARTEN1 STQ VLOAD
036963,000111: 25,2064 03645 GOTOADDR
036964,000112: 25,2065 03401 LAT(SPL) # TARGET COORDINATES
036965,000113: 25,2066 43014 CLEAR CLEAR # DO CALL USING PAD RADIUS. WILL UNIT IT.
036966,000114: 25,2067 00662 ERADFLAG # ANYWAY.
036967,000115: 25,2070 01663 LUNAFLAG
036968,000116: 25,2071 15104 STODL LAT
036969,000117: 25,2072 15335 3ZEROS
036970,000118:
036971,000119: 25,2073 15110 STODL LAT +4 # SET ALT=0.
036972,000120: 25,2074 01205 PIPTIME # ESTABLISH RTINIT AT TIME OF PRESENT
|
Page 846 |
036974,000122: # RN AND VN.
036975,000123: 25,2075 37524 STCALL TIME/RTO # SAVE TIME BASE OF RTINIT.
036976,000124: 25,2076 26441 LALOTORV # C(MPAC) =TIME (PIPTIME)
036977,000125: 25,2077 77656 UNIT # ANSWER IN ALPHAV ALSO
036978,000126: 25,2100 17452 STODL RTINIT # .5 UNIT TARGET REF COORDS
036979,000127: 25,2101 12112 500SEC # NOMINAL ENTRY TIME FOR P63
036980,000128: # TIME/RTO = PIPTIME, STILL.
036981,000129: 25,2102 37606 STCALL DTEAROT # INITIALIZE EARROT
036982,000130: 25,2103 46215 EARROT1 # GET RT
036983,000131: 25,2104 72441 DOT SL1
036984,000132: 25,2105 01760 UNITR # RT/2 IN MPAC
036985,000133: 25,2106 77726 ACOS
036986,000134: 25,2107 37702 STCALL THETAH # RANGE ANGLE /360
036987,000135: 25,2110 03645 GOTOADDR # RETURN TO CALLER
036988,000136:
036989,000137: 25,2111 00003 01520 500SEC 2DEC 50000 B-28 # CS
036990,000138:
036991,000139: 25,2113 11774 ENTMASK OCT 11774
036992,000140: 25,2114 11010 ENTRYSW OCT 11010 # ENTRYDSP B13, GONEPAST B10, LATSW B4
|
Page 847 |
036994,000142:
036995,000143: 25,2115 77624 SCALEPOP CALL
036996,000144: 25,2116 52125 TARGETNG
036997,000145:
036998,000146: 25,2117 77776 EXIT
036999,000147:
037000,000148: 25,2120 05412 REFAZE10 TC PHASCHNG
037001,000149: 25,2121 10035 OCT 10035 # SERVICER 5.3 RESTART AT REFAZE10
037002,000150:
037003,000151: 25,2122 06006 TC INTPRET
037004,000152:
037005,000153: # JUMP TO PARTICULAR RE-ENTRY PHASE:
037006,000154: # SEQUENCE
037007,000155: 25,2123 77650 GOTO
037008,000156: 25,2124 03645 GOTOADDR
037009,000157:
037010,000158: # GOTOADDR CONTAINS THE ADDRESS OF THE ROLL COMMAND EQUATIONS APPROPRIATE TO THE CURRENT PHASE OF
037011,000159: # RE-ENTRY. SEQUENCING IS AS FOLLOWS:
037012,000160:
037013,000161: # INITROLL ADDRESS IS SET HERE INITIALLY. HOLDS INITIAL ROLL ATTITUDE UNTIL KAT IS EXCEEDED. THEN HOLDS NEW ROLL
037014,000162: # ATTITUDE UNTIL VRTHRESH IS EXCEEDED. THEN BRANCHES TO
037015,000163:
037016,000164: # HUNTEST THIS SECTION CHECKS TO SEE IF THE PREDICTED RANGE AT NOMINAL L/D FROM PRESENT CONDITIONS IS LESS
037017,000165: # THAN THE DESIRED RANGE.
037018,000166: # IF NOT - A ROLL COMMAND IS GENERATED BY THE CONSTANT DRAG CONTROLLER.
037019,000167: # IF SO - CONTROL AND GOTOADDR ARE SET TO UPCONTRL.
037020,000168: # USUALLY NO ITERATION IS INVOLVED EXCEPT IF THE RANGE DESIRED IS TOO LONG ON THE FIRST PASS THROUGH
037021,000169: # HUNTEST.
037022,000170:
037023,000171: # UPCONTRL CONTROLS ROLL DURING THE SUPER-CIRCULAR PHASE. UPCONTRL IS TERMINATED EITHER
037024,000172: # (A) WHEN THE DRAG (AS MEASURED BY THE PIPAS) FALLS BELOW Q7, OR
037025,000173: # (B) IF RDOT IS NEGATIVE AND REFERENCE VL EXCEEDS V.
037026,000174: # IN CASE (A), GOTOADDR IS SET TO KEP2 AND IN CASE (B), TO PREDICT3 SKIPPING THE KEPLER PHASE OF
037027,000175: # ENTRY.
037028,000176:
037029,000177: # KEP2 GOTOADDR IS SET HERE DURING THE KEPLER PHASE TO MONITOR DRAG. THE SPACECRAFT IS INSTANTANEOUSLY
037030,000178: # TRIMMED IN PITCH AND YAW TO THE COMPUTED RELATIVE VELOCITY. THE LAST COMPUTED ROLL ANGLE IS MAINTAINED.
037031,000179: # WHEN THE MEASURED DRAG EXCEEDS Q7 +0.5, GOTOADDR IS SET TO
037032,000180:
037033,000181: # PREDICT3 THIS CONTROLS THE FINAL SUB-ORBITAL PHASE. ROLL COMMANDS CEASE
037034,000182: # WHEN V IS LESS THAN VQUIT . AN EXIT IS MADE TO
037035,000183:
037036,000184: # P67.1 THE LAST COMPUTED ROLL ANGLE IS MAINTAINED. RATE DAMPING IS DONE IN PITCH AND YAW. PRESENT LATITUDE
037037,000185: # AND LONGITUDE ARE COMPUTED FOR DISPLAY.
037038,000186: # ENTRY IS TERMINATED WHEN DISKY RESPONSE IS MADE TO TO THIS FINAL FLASHING DISPLAY.
037039,000187:
|
Page 848 |
037041,000189: # PROCESS AVERAGE G OUTPUT...SCALE IT AND GET INPUT DATA
037042,000190:
037043,000191: # * START TARGETING ...
037044,000192:
037045,000193: 25,2125 E7,1451 EBANK= RTINIT
037046,000194:
037047,000195: # TARGETNG IS CALLED BY P61, FROM GROUP 4.
037048,000196: # TARGETNG IS CALLED BY ENTRY, FROM GROUP 5.
037049,000197:
037050,000198: # ALL MM COME HERE.
037051,000199: 25,2125 77214 TARGETNG BOFF VLOAD # ENTER WITH PROPER EB FROM CM/POSE(TEST)
037052,000200: 25,2126 03346 RELVELSW # RELVELSW = 96D BIT9
037053,000201: 25,2127 52133 GETVEL # WANT INERTIAL VEL. GO GET IT.
037054,000202: 25,2130 03526 -VREL # NEW V IS RELATIVE, CONTINUE
037055,000203:
037056,000204: 25,2131 52076 VCOMP GOTO # (VREL) = (V) + KWE UNITR*UNITW
037057,000205: 25,2132 52136 GETUNITV -1 # - VREL WAS LEFT BY CM/POSE
037058,000206:
037059,000207: 25,2133 74375 GETVEL VLOAD VXSC # INERTIAL V WANTED
037060,000208: 25,2134 01177 VN # KVSCALE = (12800 / .3048) / 2VS
037061,000209: 25,2135 15231 KVSCALE # KVSCALE = .81491944
037062,000210: 25,2136 03516 STORE VEL # V/2 VS
037063,000211:
037064,000212: 25,2137 44056 GETUNITV UNIT STQ
037065,000213: 25,2140 03373 60GENRET
037066,000214: 25,2141 17510 STODL UNITV
037067,000215: 25,2142 00043 34D
037068,000216: 25,2143 03622 STORE VSQUARE # VSQ/4
037069,000217:
037070,000218: 25,2144 77625 DSU # LEQ = VSQUARE - 1
037071,000219: 25,2145 15325 FOURTH # 4 G-S FULL SCALE
037072,000220: 25,2146 17654 STODL LEQ # LEQ/4
037073,000221:
037074,000222: 25,2147 00045 36D
037075,000223: 25,2150 27674 STOVL V # V/2 VS = VEL/2 VS
037076,000224:
037077,000225: 25,2151 03516 VEL
037078,000226: 25,2152 72441 DOT SL1 # RDOT= V.UNITR
037079,000227: 25,2153 01760 UNITR
037080,000228: 25,2154 27700 STOVL RDOT # RDOT /2 VS
037081,000229:
037082,000230: 25,2155 01163 DELV # PIPA COUNTS IN PLATFORM COORDS.
037083,000231: 25,2156 41246 ABVAL DMP
037084,000232: 25,2157 15233 KASCALE
037085,000233: 25,2160 53152 SL1 BZE
037086,000234: 25,2161 55133 SETMIND
037087,000235: 25,2162 27640 DSTORE STOVL D # ACCELERATION USED TO APPROX DRAG
037088,000236: 25,2163 03516 VEL
037089,000237: 25,2164 53435 VXV UNIT # UNI = UNIT(V*R)
|
Page 849 |
037091,000239: 25,2165 01760 UNITR
037092,000240: 25,2166 03502 STORE UNI # .5 UNI REF COORDS.
037093,000241:
037094,000242: 25,2167 71214 BOFF DLOAD
037095,000243: 25,2170 03346 RELVELSW
037096,000244: 25,2171 55074 GETETA
037097,000245: 25,2172 15335 3ZEROS
037098,000246: 25,2173 43225 UPDATERT DSU DAD # PIPTIME-TIME/RTO =ELAPSED TIME SINCE
037099,000247: # RTINIT WAS ESTABLISHED.
037100,000248: 25,2174 03524 TIME/RTO
037101,000249: 25,2175 01205 PIPTIME
037102,000250: 25,2176 37606 STCALL DTEAROT # GET PREDICTED TARGET VECTOR RT
037103,000251:
037104,000252: 25,2177 46225 EARROT2
037105,000253: 25,2200 40241 DOT SETPD # SINCE (RT) UNIT VECT, THIS IS 1/4 MAX
037106,000254: 25,2201 03502 UNI # LATANG = RT.UNI
037107,000255: 25,2202 00001 0
037108,000256: 25,2203 27676 STOVL LATANG # LATANG = MAC LATANG / 4
037109,000257:
037110,000258: 25,2204 03474 RT
037111,000259: 25,2205 77614 CLEAR
037112,000260: 25,2206 03667 GONEBY # SHOW HAVE NOT GONE PAST TARGET.
037113,000261: 25,2207 50235 VXV DOT # IF RT*UNITR.UNI NEG, GONEBY=1
037114,000262: 25,2210 01760 UNITR # GONEPAST IS CONDITIONAL SW SET IN
037115,000263: 25,2211 03502 UNI # FINAL PHASE.
037116,000264: 25,2212 43044 BPL SET
037117,000265: 25,2213 52215 +2
037118,000266: 25,2214 03467 GONEBY # SHOW HAVE GONE PAST TARGET.
037119,000267:
037120,000268: 25,2215 77775 VLOAD
037121,000269: 25,2216 03474 RT
037122,000270: 25,2217 45241 GETANGLE DOT DSU # THETA = ARCCOS(RT.UNITR)
037123,000271: 25,2220 01760 UNITR
037124,000272: 25,2221 15163 NEAR1/4 # TO IMPROVE ACCURACY, CALC RANGE BY
037125,000273: 25,2222 43244 BPL DAD # TINYTHET IF HIGH ORDER PART OF
037126,000274: 25,2223 55136 TINYTHET # ARCCOS ARGUMENT IS ZERO
037127,000275: 25,2224 15163 NEAR1/4
037128,000276: 25,2225 65552 SL1 ACOS
037129,000277: 25,2226 03702 THETDONE STORE THETAH # THETAH/360
037130,000278: # HI WORD, LO BIT =1.32 NM=360 60/16384
037131,000279:
037132,000280: 25,2227 57414 BON DCOMP
037133,000281: 25,2230 03707 GONEBY # =1 IF HAVE GONE PAST TARGET.
037134,000282: # (SIGN MAY BECOME ERRATIC VERY NEAR
037135,000283: # TARGET DUE TO LOSS OF PRECISION.)
037136,000284: 25,2231 52232 +1
037137,000285: 25,2232 17714 STODL RTGON67 # RANGE ERROR: NEG IF WILL FALL SHORT.
037138,000286:
037139,000287: 25,2233 03640 D
037140,000288: 25,2234 50025 DSU BMN
|
Page 850 |
037142,000290: 25,2235 15241 .05G
037143,000291: 25,2236 52255 NO.05G
037144,000292: 25,2237 77214 SET VLOAD
037145,000293: 25,2240 03074 .05GSW
037146,000294: 25,2241 03433 DELVREF
037147,000295: 25,2242 50206 PUSH DOT
037148,000296: 25,2243 03542 UXA/2
037149,000297: 25,2244 63552 SL1 DSQ
037150,000298: 25,2245 47515 PDVL VSQ # EXCHANGE WITH PDL.
037151,000299: 25,2246 56225 DSU DDV
037152,000300: 25,2247 00001 0
037153,000301: 25,2250 75400 BOV SQRT
037154,000302: 25,2251 52253 NOLDCALC # OVFL LAST CLEARED IN EARROT2 ABOVE.
037155,000303: 25,2252 03727 STORE L/DCALC
037156,000304:
037157,000305: 25,2253 77650 NOLDCALC GOTO
037158,000306: 25,2254 03373 60GENRET
037159,000307:
037160,000308: 25,2255 52014 NO.05G CLEAR GOTO # THIS WAY FOR DAP. (MAY INTERRUPT)
037161,000309: 25,2256 03274 .05GSW # .05GSW = 102D B3
037162,000310: 25,2257 52253 NOLDCALC # KEEP SINGLE EXIT FOR TARGETNG
037163,000311:
|
Page 851 |
037165,000313: # SUBROUTINES CALLED BY SCALEPOP (TARGETING):
037166,000314:
037167,000315: 26,3074 BANK 26
037168,000316: 26,2000 SETLOC REENTRY1
037169,000317: 26,2000 BANK
037170,000318:
037171,000319: 26,3074 COUNT* $$/ENTRY
037172,000320:
037173,000321: 26,3074 56345 GETETA DLOAD DDV # D = D +D(-RDOT/HS -2D/V) DT/2
037174,000322: # DT/2 = 2/2 =1
037175,000323: 26,3075 03700 RDOT
037176,000324: 26,3076 15317 -HSCALED
037177,000325: 26,3077 41325 PDDL DMP
037178,000326: 26,3100 03640 D
037179,000327: 26,3101 15321 -KSCALE
037180,000328: 26,3102 43271 DDV DAD
037181,000329: 26,3103 03674 V
037182,000330: # -RDOT/HS FROM PDL.
037183,000331: 26,3104 43205 DMP DAD
037184,000332: 26,3105 03640 D
037185,000333: 26,3106 03640 D
037186,000334: 26,3107 03640 STORE D
037187,000335:
037188,000336: 26,3110 71214 BON DLOAD # EGSW INDICATES FINAL PHASE.
037189,000337: 26,3111 03307 EGSW
037190,000338: 26,3112 55117 SUBETA
037191,000339: 26,3113 03702 THETAH
037192,000340: 26,3114 52005 DMP GOTO
037193,000341: 26,3115 15235 KTETA # = 1000X2PI/(2)E14 163.84
037194,000342: 26,3116 52173 UPDATERT
037195,000343:
037196,000344: 26,3117 45345 SUBETA DLOAD DSU # SWITCH FROM INERTIAL TO RELATIVE VEL.
037197,000345: 26,3120 03674 V
037198,000346: 26,3121 15325 VMIN
037199,000347: 26,3122 43044 BPL SET
037200,000348: 26,3123 55125 SUBETA2
037201,000349: 26,3124 03066 RELVELSW
037202,000350:
037203,000351: 26,3125 41345 SUBETA2 DLOAD DMP
037204,000352:
037205,000353: 26,3126 03702 THETAH
037206,000354: 26,3127 15237 KT1 # KT1 = KT
037207,000355: 26,3130 52071 DDV GOTO
037208,000356: 26,3131 03674 V # KT = RE(2 PI)/2 VS 16384 163.84/ 2 VSAT
037209,000357: 26,3132 52173 UPDATERT
037210,000358:
037211,000359: 26,3133 52145 SETMIND DLOAD GOTO
037212,000360: 26,3134 16326 1BITDP
037213,000361: 26,3135 52162 DSTORE
037214,000362:
|
Page 852 |
037216,000364: 26,3136 51425 TINYTHET DSU ABS # ENTER WITH X-.249
037217,000365: 26,3137 16327 1BITDP +1 # GET 1/4 - MPAC
037218,000366: 26,3140 75461 SL SQRT # SCALE UP BEFORE SQRT
037219,000367: 26,3141 20216 13D # HAS FACTOR FOR UP SCALING
037220,000368: 26,3142 52005 DMP GOTO
037221,000369: 26,3143 15247 KACOS
037222,000370: 26,3144 52226 THETDONE
037223,000371:
|
Page 853 |
037225,000373: # * START INITIAL ROLL ...
037226,000374:
037227,000375: 25,2260 BANK 25
037228,000376: 25,2000 SETLOC REENTRY
037229,000377: 25,2000 BANK
037230,000378:
037231,000379: 25,2260 COUNT* $$/ENTRY
037232,000380:
037233,000381: # MM = 63, 64 ..
037234,000382: 25,2260 43014 INITROLL BON BOFF # IF D- .05G NEG, GO TO LIMITL/D
037235,000383: 25,2261 03312 INRLSW
037236,000384: 25,2262 52362 INITRL1
037237,000385: 25,2263 03354 .05GSW
037238,000386: 25,2264 53526 LIMITL/D
037239,000387:
037240,000388: # MM = 64, NOW
037241,000389: # 3
037242,000390: # KA = KA1 LEQ + KA2
037243,000391: 25,2265 63545 DLOAD DSQ
037244,000392: 25,2266 03654 LEQ
037245,000393: 25,2267 56205 DMP DDV
037246,000394: 25,2270 03654 LEQ
037247,000395: 25,2271 15305 1/KA1 # = 25 /(64 1.8)
037248,000396: 25,2272 47015 DAD RTB
037249,000397: 25,2273 15307 KA2 # = .2
037250,000398: 25,2274 54433 P64 # ROLLC VI RDOT
037251,000399: # XXX.XX DEG XXXXX. FPS XXXXX. FPS
037252,000400: 25,2275 03720 STORE KAT
037253,000401:
037254,000402: 25,2276 50025 DSU BMN
037255,000403: 25,2277 15315 KALIM
037256,000404: 25,2300 52304 +4
037257,000405: 25,2301 77745 DLOAD
037258,000406: 25,2302 15315 KALIM
037259,000407: 25,2303 03720 STORE KAT
037260,000408: 25,2304 45345 DLOAD DSU # IF V-VFINAL1 NEG, GO TO FINAL PHASE.
037261,000409: 25,2305 03674 V
037262,000410: 25,2306 15303 VFINAL1
037263,000411: 25,2307 51014 CLEAR BPL # (CAN'T CLEAR INRLSW AFTER HERE: RESTARTS)
037264,000412: 25,2310 03265 GONEPAST # GONEPAST WAS INITIALLY SET=1 TO FORCE
037265,000413: # ROLLC TO REMAIN AS DEFINED BY HEADSUP
037266,000414: # UNTIL START OF P64. (UNTIL D > .05G)
037267,000415: 25,2311 52316 D0EQ
037268,000416: 25,2312 52131 SSP GOTO
037269,000417: 25,2313 03646 GOTOADDR
037270,000418: 25,2314 53317 KEP2 # AND IDLE UNTIL D > 0.2 G. (NO P66 HERE)
037271,000419: 25,2315 52351 INROLOUT # GO TO LIMITL/D AFTER SETTING INRLSW.
037272,000420:
037273,000421: 25,2316 41345 D0EQ DLOAD DMP # D0 = KA3 LEQ + KA4
|
Page 854 |
037275,000423: 25,2317 03654 LEQ
037276,000424: 25,2320 15311 KA3
037277,000425: 25,2321 77615 DAD
037278,000426: 25,2322 15313 KA4
037279,000427: 25,2323 03710 STORE D0 # D0/805
037280,000428: 25,2324 40065 BDDV BOV
037281,000429: 25,2325 15267 C001 # (-4/25 G) B-8
037282,000430: 25,2326 52327 +1 # CLEAR OVFIND, IF ON.
037283,000431: 25,2327 17706 STODL C/D0 # (-4/D0) B-8
037284,000432: 25,2330 03624 LAD # IF V-VFINAL +K(RDOT/V)CUBED POS,L/D=-LAD
037285,000433: 25,2331 17634 STODL L/D
037286,000434: 25,2332 03700 RDOT
037287,000435: 25,2333 41471 DDV PUSH
037288,000436: 25,2334 03674 V
037289,000437: 25,2335 41316 DSQ DMP
037290,000438: 25,2336 45271 DDV DSU
037291,000439: 25,2337 15277 1/K44
037292,000440: 25,2340 15301 VFINAL
037293,000441: # 3
037294,000442: # V-VFINAL +(RDOT/V) / K44 OVFL $
037295,000443:
037296,000444: 25,2341 40015 DAD BOV
037297,000445: 25,2342 03674 V
037298,000446: 25,2343 52351 INROLOUT # GO TO LIMITL/D AFTER SETTING INRLSW.
037299,000447: 25,2344 71240 BMN DLOAD
037300,000448: 25,2345 52351 INROLOUT # GO TO LIMITL/D AFTER SETTING INRLSW.
037301,000449: 25,2346 03624 LAD
037302,000450: 25,2347 77676 DCOMP
037303,000451: 25,2350 03634 STORE L/D
037304,000452:
037305,000453: # SET INRLSW AT END FOR RESTART PROTECTION
037306,000454: 25,2351 77614 INROLOUT BOFSET # END OF PRE .05G PATH OF INITROLL.
037307,000455: 25,2352 03052 INRLSW # SWITCH IS ZERO INITIALLY.
037308,000456: 25,2353 53526 LIMITL/D # (GO TO)
037309,000457:
037310,000458: 25,2354 45345 KATEST DLOAD DSU # IF KAT - D POS, GO TO CONSTD
037311,000459: 25,2355 03720 KAT
037312,000460: 25,2356 03640 D # IF POS, OUT WITH COMMAND VIA LIMITL/D
037313,000461: 25,2357 52044 BPL GOTO
037314,000462: 25,2360 53526 LIMITL/D
037315,000463: 25,2361 53232 CONSTD
037316,000464:
037317,000465: 25,2362 43345 INITRL1 DLOAD DAD # IF RDOT + VRCONT POS, GO TO HUNTEST
037318,000466: 25,2363 03700 RDOT
037319,000467: 25,2364 15261 VRCONT
037320,000468: 25,2365 45040 BMN CALL # IF POSITIVE, FALL INTO HUNTEST.
037321,000469: 25,2366 52354 KATEST
037322,000470:
037323,000471: 25,2367 53022 FOREHUNT # INITIALIZE HUNTEST.
037324,000472:
|
Page 855 |
037326,000474: # * START HUNT TEST ..
037327,000475: # MM = 64
037328,000476: 25,2370 77731 SSP # INITIALIZE HUNTEST ON FIRST PASS
037329,000477: 25,2371 03646 GOTOADDR
037330,000478: 25,2372 52373 HUNTEST # MUST GO AFTER FOREHUNT FOR RESTARTS.
037331,000479:
037332,000480: 25,2373 77745 HUNTEST DLOAD
037333,000481: 25,2374 03640 D
037334,000482: 25,2375 17664 STODL A1 # A1/805 = A1/25G
037335,000483:
037336,000484: 25,2376 03624 LAD
037337,000485: 25,2377 17647 STODL TEM1B
037338,000486: 25,2400 03700 RDOT
037339,000487: 25,2401 71240 BMN DLOAD # IF RDOT NEG,TEM1B=LAD, OTHERWISE = LEWD
037340,000488: 25,2402 52406 A0CALC
037341,000489: 25,2403 03725 LEWD
037342,000490: 25,2404 17647 STODL TEM1B
037343,000491:
037344,000492: 25,2405 03700 RDOT
037345,000493: 25,2406 43271 A0CALC DDV DAD # V1 = V + RDOT/TEM1B
037346,000494: 25,2407 03647 TEM1B
037347,000495: 25,2410 03674 V
037348,000496: 25,2411 14326 STODL V1 # V1/2 VS
037349,000497:
037350,000498: 25,2412 03700 RDOT
037351,000499: 25,2413 56316 DSQ DDV # A0=(V1/V)SQ(D+RDOT SQ/(TEM1B 2 C1 HS)
037352,000500: 25,2414 03647 TEM1B
037353,000501: 25,2415 43271 DDV DAD
037354,000502: 25,2416 15273 2C1HS
037355,000503: 25,2417 03640 D
037356,000504: 25,2420 41205 DMP DMP
037357,000505: 25,2421 00326 V1
037358,000506: 25,2422 00326 V1
037359,000507: 25,2423 77671 DDV
037360,000508: 25,2424 03622 VSQUARE
037361,000509: 25,2425 14330 STODL A0 # A0/805 = A0/25G
037362,000510:
037363,000511: 25,2426 03700 RDOT
037364,000512: 25,2427 71244 BPL DLOAD
037365,000513: 25,2430 52433 V1LEAD
037366,000514: 25,2431 00330 A0
037367,000515: 25,2432 03664 STORE A1 # A1/25G
037368,000516:
037369,000517: 25,2433 51145 V1LEAD DLOAD BPL # IF L/D NEG, V1=V1 - 1000
037370,000518: 25,2434 03634 L/D
037371,000519: 25,2435 52442 HUNTEST1
037372,000520:
037373,000521: 25,2436 45345 DLOAD DSU
037374,000522: 25,2437 00326 V1
|
Page 856 |
037376,000524: 25,2440 15215 VQUIT
037377,000525: 25,2441 00326 STORE V1
037378,000526:
037379,000527: 25,2442 41345 HUNTEST1 DLOAD DMP # ALP = 2 C1 HS A0/LEWD V1 V1
037380,000528: 25,2443 00330 A0
037381,000529: 25,2444 15273 2C1HS
037382,000530: 25,2445 40271 DDV SETPD
037383,000531: 25,2446 00326 V1
037384,000532: 25,2447 00001 0
037385,000533: 25,2450 56271 DDV DDV
037386,000534: 25,2451 00326 V1
037387,000535: 25,2452 03725 LEWD
037388,000536: 25,2453 03704 STORE ALP
037389,000537:
037390,000538: 25,2454 55221 BDSU BDDV # FACT1 = V1 / (1 - ALP)
037391,000539: 25,2455 17372 BARELY1
037392,000540: 25,2456 00326 V1
037393,000541: 25,2457 17616 STODL FACT1 # FACT1 / 2VS
037394,000542:
037395,000543: 25,2460 03704 ALP
037396,000544: 25,2461 41225 DSU DMP # FACT2 = ALP(ALP - 1) / A0
037397,000545: 25,2462 17372 BARELY1
037398,000546: 25,2463 03704 ALP
037399,000547: 25,2464 77671 DDV
037400,000548: 25,2465 00330 A0
037401,000549: 25,2466 03620 STORE FACT2 # FACT2 (25G)
037402,000550:
037403,000551: 25,2467 43205 DMP DAD
037404,000552: 25,2470 03175 Q7 # Q7 / 805 = Q7 / 25G
037405,000553: 25,2471 03704 ALP # VL=FACT1 (1-SQRT(Q7 FACT2 +ALP) )
037406,000554: 25,2472 44366 SQRT BDSU
037407,000555: 25,2473 17372 BARELY1
037408,000556: 25,2474 77605 DMP
037409,000557: 25,2475 03616 FACT1
037410,000558: 25,2476 03767 STORE VL # VL / 2 VS
037411,000559:
037412,000560: 25,2477 41221 BDSU DMP # GAMMAL1 = LEWD (V1-VL)/VL
037413,000561: 25,2500 00326 V1
037414,000562: 25,2501 03725 LEWD
037415,000563: 25,2502 77671 DDV
037416,000564: 25,2503 03767 VL
037417,000565: 25,2504 14027 STODL GAMMAL1 # GAMMAL1 USED IN UPCONTROL
037418,000566:
037419,000567: # GAMMAL1 = PDL 22D.
037420,000568: 25,2505 03767 VL
037421,000569: 25,2506 50025 DSU BMN # IF VL-VLMIN NEG, GO TO PREFINAL
037422,000570: 25,2507 15205 VLMIN
037423,000571: 25,2510 53333 PREFINAL
037424,000572:
037425,000573: 25,2511 63545 DLOAD DSQ
|
Page 857 |
037427,000575: 25,2512 03767 VL
037428,000576: 25,2513 17666 STODL VBARS # VBARS / 4 VS VS
037429,000577:
037430,000578: 25,2514 15333 HALVE # IF VSAT-VL NEG, GO TO CONSTD
037431,000579: 25,2515 50025 DSU BMN
037432,000580: 25,2516 03767 VL
037433,000581: 25,2517 53226 BECONSTD # SET MODE=HUNTEST, CONTINUE IN CONSTD
037434,000582: 25,2520 17662 STODL DVL # DVL / 2VS
037435,000583:
037436,000584: 25,2521 15333 HALVE
037437,000585: 25,2522 03672 STORE VS1 # VS1 = VSAT
037438,000586:
037439,000587: 25,2523 50025 DSU BMN # IF V1 GREATER THAN VSAT, GO ON
037440,000588: 25,2524 00326 V1
037441,000589: 25,2525 52533 GETDHOOK
037442,000590: 25,2526 77621 BDSU
037443,000591: 25,2527 03662 DVL
037444,000592: 25,2530 17662 STODL DVL # DVL = DVL - (VSAT-V1) = V1 - VL
037445,000593: 25,2531 00326 V1
037446,000594: 25,2532 03672 STORE VS1 # VS1 = V1, IN THIS CASE
037447,000595:
037448,000596: 25,2533 45145 GETDHOOK DLOAD CALL # DHOOK=((1-VS1/FACT1) SQ -ALP)/FACT2
037449,000597: 25,2534 03672 VS1 # VS1 / 2 VS
037450,000598: 25,2535 53004 DHOOKYQ7 # GO CALC DHOOK
037451,000599: 25,2536 03656 STORE DHOOK # DHOOK / 25G
037452,000600:
037453,000601: 25,2537 56261 SR DDV
037454,000602: 25,2540 20607 6 # CHOOK
037455,000603: 25,2541 03175 Q7
037456,000604: 25,2542 77625 DSU
037457,000605: 25,2543 15251 CHOOK # = .25/16 = (-6)
037458,000606: 25,2544 03660 STORE AHOOKDV
037459,000607:
037460,000608: 25,2545 41215 DAD DMP # GAMMAL= GAMMAL1-CH1 DVL SQ(1+AHOOK DVL)
037461,000609: 25,2546 17366 1/16TH
037462,000610: 25,2547 15255 CH1
037463,000611: 25,2550 41205 DMP DMP
037464,000612: 25,2551 03662 DVL
037465,000613: 25,2552 03662 DVL
037466,000614: 25,2553 56271 DDV DDV
037467,000615: 25,2554 03656 DHOOK
037468,000616: 25,2555 03666 VBARS
037469,000617: 25,2556 50021 BDSU BMN
037470,000618: 25,2557 00027 GAMMAL1
037471,000619: 25,2560 52751 NEGAMA
037472,000620: 25,2561 03771 HUNTEST3 STORE GAMMAL
037473,000621:
037474,000622: 25,2562 77625 DSU # GAMMAL1=GAMMAL1 +Q19 (GAMMAL-GAMMAL1)
037475,000623: 25,2563 00027 GAMMAL1
037476,000624: 25,2564 43205 DMP DAD
|
Page 858 |
037478,000626: 25,2565 15333 Q19
037479,000627: 25,2566 00027 GAMMAL1
037480,000628: 25,2567 14027 STODL GAMMAL1
037481,000629: 25,2570 03771 GAMMAL
037482,000630:
|
Page 859 |
037484,000632: # *START RANGE PREDICTION ...
037485,000633: # C(MPAC) = GAMMAL
037486,000634: 25,2571 60516 RANGER DSQ SR2 # COSG = 1-GAMMAL SQ/2, TRUNCATED SERIES
037487,000635: 25,2572 77621 BDSU
037488,000636: 25,2573 15333 HALVE
037489,000637: 25,2574 17670 STODL COSG/2
037490,000638: 25,2575 03666 VBARS # E=SQRT(1+VBARS........
037491,000639:
037492,000640: 25,2576 41225 DSU DMP
037493,000641: 25,2577 15333 HALVE
037494,000642: 25,2600 03666 VBARS
037495,000643: 25,2601 41205 DMP DMP
037496,000644: 25,2602 03670 COSG/2
037497,000645: 25,2603 03670 COSG/2
037498,000646: 25,2604 43312 SL2 DAD
037499,000647: 25,2605 17366 C1/16 # C1/16 = 1/16
037500,000648: 25,2606 65366 SQRT PDDL # E/4 INTO PDL
037501,000649:
037502,000650: 25,2607 03666 VBARS
037503,000651: 25,2610 41205 DMP DMP # ASKEP/2 = ARCSIN(VBARS COSG SING/E)
037504,000652: 25,2611 03670 COSG/2
037505,000653: 25,2612 03771 GAMMAL
037506,000654: 25,2613 67471 DDV ASIN
037507,000655: 25,2614 41552 SL1 PUSH # ASKEP TO PDL 0.
037508,000656: 25,2615 17731 STODL ASKEP # BALLISTIC RANGE ASKEP/2PI
037509,000657:
037510,000658: # FOR TM, STORE RANGE COMPONENTS OVERLAPPING (SP)
037511,000659: 25,2616 03767 VL
037512,000660: 25,2617 43205 DMP DAD # ASP1 = Q2 + Q3 VL
037513,000661: 25,2620 15171 Q3
037514,000662: 25,2621 03712 Q2
037515,000663: 25,2622 03732 STORE ASP1 # FINAL PHASE RANGE ASP1/2 PI
037516,000664:
037517,000665: 25,2623 63525 PDDL DSQ # ASP1 TO PDL 2.
037518,000666: 25,2624 00326 V1
037519,000667: # 2
037520,000668: # ASPUP= -C12 LOG(V1 Q7/VBARS A0)/GAMMAL1
037521,000669: 25,2625 56205 DMP DDV
037522,000670: 25,2626 03175 Q7
037523,000671: 25,2627 03666 VBARS
037524,000672: 25,2630 45071 DDV CALL
037525,000673: 25,2631 00330 A0
037526,000674: 25,2632 46155 LOG # RETURN WITH -LOG IN MPAC
037527,000675:
037528,000676: 25,2633 56205 DMP DDV
037529,000677: 25,2634 15207 C12
037530,000678: 25,2635 00027 GAMMAL1
037531,000679: 25,2636 03733 STORE ASPUP # UP PHASE RANGE ASPUP / 2 PI
|
Page 860 |
037533,000681: 25,2637 41325 PDDL DMP # ASPUP TO PDL 4.
037534,000682: 25,2640 15257 KC3 # KC3 = -4 VS VS / 2 PI 805 RE
037535,000683: # ASPDWN = KC3 RDOT V / A0
037536,000684: 25,2641 03700 RDOT
037537,000685: 25,2642 56205 DMP DDV
037538,000686: 25,2643 03674 V
037539,000687: 25,2644 00330 A0
037540,000688: 25,2645 41471 DDV PUSH # ASPDWN TO PDL 6.
037541,000689: 25,2646 03624 LAD
037542,000690: 25,2647 17734 STODL ASPDWN # RANGE TO PULL OUT ASPDWN /2 PI
037543,000691:
037544,000692: 25,2650 15175 Q6
037545,000693: 25,2651 41225 DSU DMP # ASP3 = Q5(Q6-GAMMAL)
037546,000694: 25,2652 03771 GAMMAL
037547,000695: 25,2653 15173 Q5
037548,000696: 25,2654 27735 STOVL ASP3 # GAMMA CORRECTION ASP3/2PI
037549,000697:
037550,000698: 25,2655 03731 ASKEP # GET HI-WD AND
037551,000699: 25,2656 17126 STODL ASPS(TM) # SAVE HI-WORD OF ASP'S FOR TM.
037552,000700:
037553,000701: 25,2657 03735 ASP3
037554,000702: 25,2660 43215 DAD DAD
037555,000703: # ASPDWN FROM PDL 6.
037556,000704: # ASPUP FROM PDL 4.
037557,000705: 25,2661 43215 DAD DAD
037558,000706: # ASP1 FROM PDL 2.
037559,000707: # ASKEP FROM PDL 0.
037560,000708: 25,2662 41025 DSU BOVB # CLEAR OVFIND.
037561,000709: 25,2663 03702 THETAH
037562,000710: 25,2664 57352 TCDANZIG
037563,000711: 25,2665 03610 STORE DIFF # DIFF = (ASP-THETAH) / 2 PI
037564,000712: # ASP=ASKEP+ASP1+ASPUP+ASP3+ASPDWN = TOTAL RANGE
037565,000713:
037566,000714: 25,2666 45246 ABS DSU # IF ABS(THETAH-ASP) -25NM NEG, GO TO UPSY
037567,000715: 25,2667 15223 25NM
037568,000716: 25,2670 43040 BMN BON
037569,000717: 25,2671 53033 GOTOUPSY
037570,000718: 25,2672 03311 HIND
037571,000719: 25,2673 52677 GETLEWD
037572,000720:
037573,000721: 25,2674 51145 DLOAD BPL
037574,000722: 25,2675 03610 DIFF
037575,000723: 25,2676 53221 DCONSTD # EVENTUALLY SETS MODE = HUNTEST.
037576,000724: 25,2677 41345 GETLEWD DLOAD DMP
037577,000725: # DLEWD = DLEWD (DIFF/(DIFFOLD-DIFF))
037578,000726: 25,2700 03642 DLEWD
037579,000727: 25,2701 03610 DIFF
037580,000728: 25,2702 45325 PDDL DSU
037581,000729: 25,2703 03612 DIFFOLD
037582,000730: 25,2704 03610 DIFF
|
Page 861 |
037584,000732: 25,2705 77665 BDDV
037585,000733: 25,2706 77626 LWDSTORE STADR
037586,000734: 25,2707 74135 STORE DLEWD
037587,000735: 25,2710 50015 DAD BMN # IF LEWD+DLEWD NEG, DLEWD=-LEWD/2
037588,000736: 25,2711 03725 LEWD
037589,000737: 25,2712 52745 LEWDPTR
037590,000738: 25,2713 77600 BOV
037591,000739: 25,2714 52741 LEWDOVFL
037592,000740: 25,2715 03725 STORE LEWD
037593,000741:
037594,000742: 25,2716 77776 SIDETRAK EXIT
037595,000743:
037596,000744: 25,2717 35060 CA EBENTRY
037597,000745: 25,2720 54003 TS EBANK
037598,000746:
037599,000747: 25,2721 35070 CA PRIO16 # DROP GRP 5 RESTART PRIO TO 1 LESS THAN
037600,000748: 25,2722 55064 TS PHSPRDT5 # GRP 4.
037601,000749:
037602,000750: 25,2723 05412 TC PHASCHNG
037603,000751: 25,2724 00474 OCT 00474 # RESTART GRP 4 AT PRE-HUNT.
037604,000752: # FORCE RESTART TO PICK UP IN GRP 4:
037605,000753: # USE PRIO 17 FOR GRP 4 (< SERVICER PRIO)
037606,000754: 25,2725 35070 CA PRIO16 # CONTINUE GRP 5 AT LOWER PRIO THAN EITHER
037607,000755: # GRP 4 OR SERVICER.
037608,000756: 25,2726 05210 TC PRIOCHNG
037609,000757:
037610,000758: 25,2727 33032 CAF ADENDEXT # SIDETRACK NEXT PASS UNTIL THIS ONE DONE.
037611,000759: 25,2730 55645 TS GOTOADDR # ONLY AFTER RESTART IS LEFT AFTER DETOUR.
037612,000760:
037613,000761: 25,2731 06006 TC INTPRET
037614,000762:
037615,000763: 25,2732 43145 DLOAD SET
037616,000764: 25,2733 03610 DIFF
037617,000765: 25,2734 03071 HIND
037618,000766: 25,2735 17612 STODL DIFFOLD # DIFFOLD / 2 PI
037619,000767:
037620,000768: 25,2736 15177 Q7F
037621,000769: 25,2737 37175 STCALL Q7 # Q7 / 805 FPSS
037622,000770: 25,2740 52373 HUNTEST # (GO TO)
037623,000771:
037624,000772: 25,2741 77745 LEWDOVFL DLOAD
037625,000773: 25,2742 17372 NEARONE
037626,000774: 25,2743 37725 STCALL LEWD
037627,000775: 25,2744 53221 DCONSTD # (GO TO) ALSO WILL SET MODE = HUNTEST
037628,000776:
037629,000777: 25,2745 70545 LEWDPTR DLOAD SR1
037630,000778: 25,2746 03725 LEWD
037631,000779: 25,2747 52076 DCOMP GOTO
037632,000780: 25,2750 52706 LWDSTORE
037633,000781:
|
Page 862 |
037635,000783: # NEGAMA IS PART OF HUNTEST ...
037636,000784:
037637,000785: 25,2751 41205 NEGAMA DMP DMP # ENTER WITH GAMMAL IN MPAC
037638,000786:
037639,000787: 25,2752 03767 VL
037640,000788: 25,2753 15147 1/3RD
037641,000789: 25,2754 41325 PDDL DMP # PUSH GAMMAL VL/3
037642,000790: 25,2755 03725 LEWD
037643,000791: 25,2756 15147 1/3RD
037644,000792: 25,2757 43325 PDDL DAD # PUSH LEWD/3
037645,000793: 25,2760 03660 AHOOKDV
037646,000794: 25,2761 15253 1/24TH
037647,000795: 25,2762 41205 DMP DMP # DEL VL = (GAMMAL VL/3)/(LEWD/3-DVL
037648,000796: 25,2763 03662 DVL # (2/3 + AHOOKDV)(CH1 GS/DHOOK VL))
037649,000797: 25,2764 15255 CH1
037650,000798: 25,2765 56271 DDV DDV
037651,000799: 25,2766 03656 DHOOK
037652,000800: 25,2767 03767 VL
037653,000801: 25,2770 55221 BDSU BDDV
037654,000802: # LEWD/3
037655,000803: # GAMMAL VL /3
037656,000804: 25,2771 77615 DAD
037657,000805: 25,2772 03767 VL
037658,000806: 25,2773 37767 STCALL VL # VL/2 VS
037659,000807:
037660,000808: 25,2774 53004 DHOOKYQ7 # GO CALC Q7
037661,000809: # Q7=((1-VL/FACT1)SQ - ALP)/FACT2
037662,000810: 25,2775 17175 STODL Q7 # Q7 / 25G
037663,000811:
037664,000812: 25,2776 03767 VL
037665,000813: 25,2777 77716 DSQ
037666,000814: 25,3000 17666 STODL VBARS # VBARS / 4 VS VS
037667,000815:
037668,000816: 25,3001 15335 3ZEROS
037669,000817: 25,3002 77650 GOTO # SET GAMMAL = 0
037670,000818: 25,3003 52561 HUNTEST3
037671,000819:
037672,000820: 25,3004 56342 DHOOKYQ7 SR1 DDV # SUBROUTINE TO CALC DHOOK OR Q7)
037673,000821: 25,3005 03616 FACT1
037674,000822: 25,3006 72421 BDSU SL1
037675,000823: 25,3007 15333 HALVE
037676,000824: 25,3010 45316 DSQ DSU
037677,000825: 25,3011 03704 ALP
037678,000826: 25,3012 43471 DDV RVQ
037679,000827: 25,3013 03620 FACT2
037680,000828:
|
Page 863 |
037682,000830: # COME TO PRE-HUNT WHEN RESTART OCCURS AFTER
037683,000831: # HUNTEST IS SIDE-TRACKED AT SIDETRAK.
037684,000832: # PICK UP IN GROUP 4.
037685,000833:
037686,000834: 25,3014 06006 PRE-HUNT TC INTPRET
037687,000835: 25,3015 45014 CLEAR CALL
037688,000836: 25,3016 03271 HIND # HIND 99D BIT 6 FLAG 6
037689,000837: 25,3017 53022 FOREHUNT # RE-INITIALIZE HUNTEST AFTER RE-START.
037690,000838: 25,3020 77650 GOTO
037691,000839: 25,3021 52373 HUNTEST
037692,000840:
037693,000841: 25,3022 77745 FOREHUNT DLOAD # INITIALIZE HUNTEST.
037694,000842: 25,3023 15335 3ZEROS
037695,000843: 25,3024 17612 STODL DIFFOLD
037696,000844: 25,3025 15157 DLEWD0
037697,000845: 25,3026 17642 STODL DLEWD
037698,000846: 25,3027 15151 LEWD1
037699,000847: 25,3030 03725 STORE LEWD
037700,000848: 25,3031 77616 RVQ
037701,000849:
037702,000850: 25,3032 53576 ADENDEXT CADR ENDEXIT
037703,000851:
|
Page 864 |
037705,000853: # * START UP CONTROL ...
037706,000854: # MM = 65
037707,000855: 25,3033 77634 GOTOUPSY RTB # END OF HUNTEST
037708,000856: 25,3034 54441 P65 # HUNTEST USE OF GRP4 IS DISABLED BY P65
037709,000857: # USE FOR DISPLAY.
037710,000858: # SET MODE = UPCONTRL.
037711,000859: # RETURN FROM P65 DIRECTLY TO UPCONTRL
037712,000860: # VIA THE GOTOADDR AT REFAZE10.
037713,000861:
037714,000862: 25,3035 45345 UPCONTRL DLOAD DSU # IF D-140 POS, NOSWITCH =1
037715,000863: 25,3036 03640 D # (SUPPRESS LATERAL SWITCH)
037716,000864: 25,3037 15221 C21
037717,000865: 25,3040 43040 BMN SET
037718,000866: 25,3041 53043 +2
037719,000867: 25,3042 03070 NOSWITCH
037720,000868:
037721,000869: 25,3043 45345 DLOAD DSU # IF V-V1 POS, GO TO DOWN CONTROL.
037722,000870: 25,3044 03674 V
037723,000871: 25,3045 00326 V1
037724,000872: 25,3046 71244 BPL DLOAD
037725,000873: 25,3047 53260 DOWNCNTL
037726,000874: 25,3050 03640 D
037727,000875: 25,3051 50025 DSU BMN # IF D- Q7 NEG, GO TO KEP
037728,000876: 25,3052 03175 Q7
037729,000877: 25,3053 53313 KEP
037730,000878: 25,3054 51145 DLOAD BPL # IF RDOT NEG, DO VLTEST
037731,000879: 25,3055 03700 RDOT
037732,000880: 25,3056 53065 CONT1
037733,000881:
037734,000882: 25,3057 45345 VLTEST DLOAD DSU # IF V-VL-C18 NEG,EGSW=1,MODE=PREDICT3
037735,000883: 25,3060 03674 V
037736,000884: 25,3061 03767 VL
037737,000885: 25,3062 50025 DSU BMN
037738,000886: 25,3063 15165 C18
037739,000887: 25,3064 53333 PREFINAL
037740,000888:
037741,000889: 25,3065 77745 CONT1 DLOAD # IF D-A0 POS, L/D = LAD, GO TO LIMITL/D
037742,000890: 25,3066 03640 D
037743,000891: 25,3067 50025 DSU BMN
037744,000892: 25,3070 00330 A0
037745,000893: 25,3071 53075 CONT3
037746,000894: 25,3072 52145 DLOAD GOTO
037747,000895: 25,3073 03624 LAD
037748,000896: 25,3074 53525 STOREL/D
037749,000897:
037750,000898: 25,3075 41345 CONT3 DLOAD DMP # VREF=FACT1(1-SQRT(FACT2 D + ALP))
037751,000899: 25,3076 03640 D
037752,000900: 25,3077 03620 FACT2
|
Page 865 |
037754,000902: 25,3100 75415 DAD SQRT
037755,000903: 25,3101 03704 ALP
037756,000904: 25,3102 41221 BDSU DMP
037757,000905: 25,3103 17372 BARELY1
037758,000906: 25,3104 03616 FACT1
037759,000907: 25,3105 01160 STORE VREF # VREF / 2VS
037760,000908:
037761,000909: 25,3106 41221 BDSU DMP # RDOTREF = LEWD(V1-VREF)
037762,000910: 25,3107 00326 V1
037763,000911: 25,3110 03725 LEWD
037764,000912: 25,3111 15156 STODL RDOTREF # RDOTREF / 2VS
037765,000913:
037766,000914: 25,3112 03672 VS1
037767,000915: 25,3113 50025 DSU BMN # IF VSAT-VREF NEG, GO TO CONTINU2
037768,000916: 25,3114 01160 VREF
037769,000917: 25,3115 53134 CONTINU2
037770,000918:
037771,000919: 25,3116 41406 PUSH PUSH # VS1-VREF TO PDL TWICE
037772,000920: 25,3117 56205 DMP DDV # RDHOOK=CH1(1+DV AHOOKDV/DVL) DV DV
037773,000921: 25,3120 03660 AHOOKDV # /DHOOK VREF
037774,000922: 25,3121 03662 DVL # WHERE DV = (VS1-VREF)
037775,000923: 25,3122 41215 DAD DMP
037776,000924: 25,3123 17366 1/16TH
037777,000925: 25,3124 15255 CH1
037778,000926: 25,3125 41205 DMP DMP
037779,000927: # VS1-VREF FROM PDL TWICE.
037780,000928: 25,3126 77671 DDV
037781,000929: 25,3127 03656 DHOOK
037782,000930: 25,3130 44271 DDV BDSU
037783,000931: 25,3131 01160 VREF
037784,000932: 25,3132 01156 RDOTREF # C(RDOTREF)= LEWD (V1-VREF)
037785,000933: 25,3133 01156 STORE RDOTREF # RDOTREF = RDOTREF - RDHOOK
037786,000934:
037787,000935: 25,3134 45345 CONTINU2 DLOAD DSU
037788,000936: 25,3135 03640 D
037789,000937: 25,3136 15313 Q7MIN
037790,000938: 25,3137 50004 BOVB BMN
037791,000939: 25,3140 57352 TCDANZIG # CLEAR OVFL IND, IF ON.
037792,000940: 25,3141 53152 UPCNTRL3
037793,000941: 25,3142 45345 DLOAD DSU
037794,000942: 25,3143 03664 A1
037795,000943: 25,3144 03175 Q7
037796,000944: 25,3145 45325 PDDL DSU
037797,000945: 25,3146 03640 D
037798,000946: 25,3147 03175 Q7
037799,000947: 25,3150 45471 DDV STADR
037800,000948: 25,3151 74163 STORE FACTOR # FACTOR / 25G
037801,000949:
|
Page 866 |
037803,000951: # SKIPPER
037804,000952: # DELTA L/D=-((RDOT-RDOTREF)F1 KB1+V-VREF)F1 KB2
037805,000953: # WHERE F1 = FACTOR
037806,000954:
037807,000955: 25,3152 77745 UPCNTRL3 DLOAD
037808,000956: 25,3153 03700 RDOT
037809,000957: 25,3154 41225 DSU DMP # L/D = LEWD
037810,000958: 25,3155 01156 RDOTREF # -((RDOT-RDOTREF)F1/KB1+V-VREF)F1/KB2
037811,000959: 25,3156 03614 FACTOR
037812,000960: 25,3157 43271 DDV DAD
037813,000961: 25,3160 15211 1/KB1
037814,000962: 25,3161 03674 V
037815,000963: 25,3162 41225 DSU DMP
037816,000964: 25,3163 01160 VREF
037817,000965: 25,3164 03614 FACTOR
037818,000966: 25,3165 41471 DDV PUSH
037819,000967:
037820,000968: 25,3166 15213 -1/KB2 # DELTA L/D INTO PDL
037821,000969: 25,3167 51400 BOV ABS # NONLINEAR CIRCUIT FOR REDUCING HIGH GAIN
037822,000970: 25,3170 53472 GOMAXL/D
037823,000971: 25,3171 50025 DSU BMN
037824,000972: 25,3172 15275 PT1/16
037825,000973: 25,3173 53200 NEXT1
037826,000974: 25,3174 43205 DMP DAD
037827,000975: 25,3175 15153 POINT1
037828,000976: 25,3176 15275 PT1/16
037829,000977: 25,3177 41565 SIGN PUSH # ATTACH SIGN OF PUSH TO MPAC THEN PUSH
037830,000978:
037831,000979: 25,3200 42545 NEXT1 DLOAD SL4
037832,000980: # DELTA L/D FROM PDL.
037833,000981:
037834,000982: 25,3201 77615 DAD
037835,000983: 25,3202 03725 LEWD
037836,000984: 25,3203 41400 NEGTESTS BOV PUSH # L/D TO PDL FOR USE IN NEGTESTS.
037837,000985: 25,3204 53472 GOMAXL/D
037838,000986: 25,3205 17634 STODL L/D
037839,000987: # IF D-C20 POS, LATSW =0
037840,000988: # AND IF L/D NEG, L/D = 0.
037841,000989: 25,3206 03640 D
037842,000990: 25,3207 50025 DSU BMN
037843,000991: 25,3210 15217 C20
037844,000992: 25,3211 53526 LIMITL/D
037845,000993: 25,3212 71214 CLEAR DLOAD
037846,000994: 25,3213 03273 LATSW # =21D. ROLL OVER TOP, REGARDLESS.
037847,000995: # L/D FROM PDL.
037848,000996: 25,3214 71244 BPL DLOAD
037849,000997: 25,3215 53526 LIMITL/D
037850,000998: 25,3216 15335 3ZEROS
037851,000999: 25,3217 37634 STCALL L/D
037852,001000: 25,3220 53526 LIMITL/D # (GO TO)
037853,001001:
|
Page 867 |
037855,001003: 25,3221 77745 DCONSTD DLOAD # TWO RANGER ENTRIES TO CONSTD HERE
037856,001004: 25,3222 03610 DIFF
037857,001005: # SAVE OLD VALUE OF DIFF FOR NEXT PASS.
037858,001006: 25,3223 17612 STODL DIFFOLD # DIFFOLD / 2 PI
037859,001007:
037860,001008: 25,3224 15177 Q7F
037861,001009: 25,3225 03175 STORE Q7
037862,001010:
037863,001011: 25,3226 47131 BECONSTD SSP RTB # A HUNTEST ENTRY INTO CONSTD.
037864,001012: 25,3227 03646 GOTOADDR # RESET MODE TO HUNTEST
037865,001013: 25,3230 52373 HUNTEST
037866,001014: 25,3231 54506 KILLGRP4 # DEACTIVATE GRP4 FROM HUNTEST.
037867,001015:
037868,001016: 25,3232 77604 CONSTD BOVB
037869,001017: 25,3233 57352 TCDANZIG # CLEAR OVF IND IF ON.
037870,001018:
037871,001019: 25,3234 41345 DLOAD DMP
037872,001020: 25,3235 03654 LEQ
037873,001021: 25,3236 03706 C/D0 # C/D0 = -4/D0 B-8
037874,001022: 25,3237 41325 PDDL DMP # LEQ C/D0 INTO PDL
037875,001023: 25,3240 15263 2HS # 2HS / 4 VS VS
037876,001024: 25,3241 03710 D0
037877,001025: 25,3242 43271 DDV DAD # RDOTREF = -2 HS D0/V
037878,001026: 25,3243 03674 V
037879,001027: 25,3244 03700 RDOT
037880,001028: 25,3245 43205 DMP DAD
037881,001029: 25,3246 15227 K2D # C/D0 LEQ + K2D(RDOT-RDOTREF) INTO PD
037882,001030: 25,3247 77725 PDDL
037883,001031: 25,3250 03710 D0 # D0 /805
037884,001032:
037885,001033: 25,3251 77621 CONSTD1 BDSU # ENTER WITH DREF IN MPAC
037886,001034: 25,3252 03640 D
037887,001035: 25,3253 43205 DMP DAD
037888,001036: 25,3254 15225 K1D # K2D TERM FROM PUSH
037889,001037: 25,3255 52061 SL GOTO
037890,001038: 25,3256 20211 8D
037891,001039: 25,3257 53203 NEGTESTS # (GO TO)
037892,001040:
037893,001041: 25,3260 77604 DOWNCNTL BOVB # INITIAL PART OF UPCONTROL.
037894,001042: 25,3261 57352 TCDANZIG # CLEAR OVFIND, IF ON.
037895,001043:
037896,001044: 25,3262 54345 DLOAD SR
037897,001045: 25,3263 03624 LAD
037898,001046: 25,3264 20611 8D
037899,001047: 25,3265 45325 PDDL DSU # RDTR = LAD(V1-V)
037900,001048: 25,3266 03674 V
037901,001049: 25,3267 00326 V1
037902,001050: 25,3270 43205 DMP DAD
037903,001051: 25,3271 03624 LAD
|
Page 868 |
037905,001053: 25,3272 03700 RDOT
037906,001054: 25,3273 43205 DMP DAD
037907,001055: 25,3274 15227 K2D
037908,001056: # PUSH UP LAD.
037909,001057: 25,3275 45325 PDDL DSU # LAD + K2D(RDOT-RDTR) INTO PD
037910,001058: 25,3276 00326 V1
037911,001059: 25,3277 03674 V
037912,001060: 25,3300 41316 DSQ DMP
037913,001061: 25,3301 03624 LAD
037914,001062: 25,3302 65271 DDV PDDL # (V1-V)SQ LAD/(2 C1 HS) INTO PD
037915,001063: 25,3303 15273 2C1HS
037916,001064: 25,3304 00326 V1
037917,001065: 25,3305 56316 DSQ DDV
037918,001066: 25,3306 03622 VSQUARE
037919,001067: 25,3307 45265 BDDV DSU # DREF = (V/V1)SQ A0 - PD
037920,001068: 25,3310 00330 A0
037921,001069: # PUSH UP HERE
037922,001070: 25,3311 77650 GOTO # C(MPAC) = DREF
037923,001071: 25,3312 53251 CONSTD1
037924,001072:
037925,001073: # 2 2
037926,001074: # DREF = (V/V1) A0 -(V-V1) LAD/2 C1 HS
|
Page 869 |
037928,001076: # * START BALLISTIC PHASE ...
037929,001077: # MM = 66 UPCONTRL ENTRY INTO KEP2.
037930,001078: 25,3313 66234 KEP RTB SSP
037931,001079: 25,3314 54474 P66 # DISPLAY TRIM GIMBAL ANGLE VALUES.
037932,001080: 25,3315 03646 GOTOADDR # SET GOTOADDR TO KEPLER PHASE.
037933,001081: 25,3316 53317 KEP2
037934,001082:
037935,001083: # KEP2 CAN ALSO BE STARTED UP DIRECTLY FROM INITROLL
037936,001084: # IN P64. PROGRAM WILL IDLE IN P64 UNTIL D EXCEEDS
037937,001085: # .2 G BEFORE GOING ON TO P67.
037938,001086:
037939,001087: 25,3317 45345 KEP2 DLOAD DSU # IF Q7F+KDMIN -D NEG, GO TO FINAL PHASE.
037940,001088: 25,3320 15167 Q7FKDMIN # (Q7F + KDMIN)/805
037941,001089: 25,3321 03640 D
037942,001090: 25,3322 72240 BMN TLOAD
037943,001091: 25,3323 53333 PREFINAL
037944,001092: # SET ROLLHOLD = ROLLC, IN CASE CMDAPMOD
037945,001093: 25,3324 03316 ROLLC # = +1 EVER ENTERED.
037946,001094: 25,3325 72214 BON TLOAD # IF D > .05G, KEEP PRESENT ROLL COMMAND.
037947,001095: 25,3326 03314 .05GSW # IF D < .05G, SET ROLL COMMAND = 0.
037948,001096: 25,3327 53331 +2
037949,001097: 25,3330 15335 3ZEROS # SET ROLLC & ROLLHOLD =0.
037950,001098: 25,3331 37316 +2 STCALL ROLLC # (SP ROLLHOLD FOLLOWS DP ROLLC)
037951,001099: 25,3332 54401 P62.3 # CALC DESIRED GIMBAL ANGLES AT PRESENT
037952,001100: # RN, VN TO YIELD TRIM ATTITUDE.
037953,001101: # AVAILABLE IN CPHI'S FOR N22.
|
Page 870 |
037955,001103: # START FINAL PHASE ..
037956,001104: # MM = 67
037957,001105: 25,3333 47131 PREFINAL SSP RTB
037958,001106: 25,3334 03646 GOTOADDR # RESTART PROTECT: RESET GOTOADDR IF CAME
037959,001107: 25,3335 53333 PREFINAL # FROM HUNTEST.
037960,001108: 25,3336 54500 P67 # DISABLES GRP4. FINE IF FROM HUNTEST. BUT
037961,001109: # MAY ALSO REMOVE RESTART PROTECTION OF
037962,001110: # N69 (P65).
037963,001111: # ROLLC XRNGERR DNRNGERR
037964,001112: # XXX.XX DEG XXXX.X NM XXXX.X NM
037965,001113:
037966,001114: 25,3337 66214 SET SSP
037967,001115: 25,3340 03067 EGSW
037968,001116: 25,3341 03646 GOTOADDR
037969,001117: 25,3342 53343 PREDICT3
037970,001118:
037971,001119: 25,3343 45345 PREDICT3 DLOAD DSU # IF V-VQUIT NEG, STOP STEERING
037972,001120: 25,3344 03674 V
037973,001121: 25,3345 15215 VQUIT
037974,001122: 25,3346 77440 BMN EXIT
037975,001123: 25,3347 53613 STEEROFF
037976,001124:
037977,001125: 25,3350 35060 CA EBENTRY # PRECAUTIONARY.
037978,001126: 25,3351 54003 TS EBANK
037979,001127:
037980,001128: 25,3352 35771 CA TWELVE
037981,001129: 25,3353 55771 BACK TS JJ
037982,001130:
037983,001131: 25,3354 41673 CS V
037984,001132: 25,3355 51771 INDEX JJ
037985,001133: 25,3356 63637 AD VREFER # VREF - V, HIGHEST VREF AT END OF TABLE.
037986,001134: 25,3357 10000 CCS A # IF VREF-V POS LOOP BACK
037987,001135: 25,3360 11771 CCS JJ # DECREMENT JJ, JJ CANNOT BE ZERO
037988,001136: 25,3361 13353 TCF BACK
037989,001137: 25,3362 65017 AD ONE
037990,001138: 25,3363 55646 TS TEM1B # V-VREF IN TEM1B (MUST BE POSITIVE NUM)
037991,001139:
037992,001140: 25,3364 51771 INDEX JJ
037993,001141: 25,3365 43637 CS VREFER
037994,001142: 25,3366 51771 INDEX JJ
037995,001143: 25,3367 63640 AD VREFER +1 # V(K+1) - V(K) (POS NUM)
037996,001144: 25,3370 57646 XCH TEM1B
037997,001145: 25,3371 22007 ZL
037998,001146: 25,3372 00006 EXTEND
037999,001147: 25,3373 11646 DV TEM1B
038000,001148: 25,3374 55651 TS GRAD # GRAD = (V-VREF)/(VK+1 - VK) (POS NUM
038001,001149:
038002,001150: 25,3375 35022 CAF FIVE
038003,001151:
|
Page 871 |
038005,001153: 25,3376 55650 BACK2 TS MM
038006,001154: 25,3377 35025 CAF THIRTEEN
038007,001155: 25,3400 27771 ADS JJ
038008,001156: 25,3401 50000 INDEX A
038009,001157: 25,3402 43637 CS VREFER
038010,001158: 25,3403 51771 INDEX JJ
038011,001159: 25,3404 63640 AD VREFER +1 # X(K+1) - X(K)
038012,001160: 25,3405 00006 EXTEND
038013,001161: 25,3406 71651 MP GRAD
038014,001162: 25,3407 51771 INDEX JJ
038015,001163: 25,3410 63637 AD VREFER
038016,001164: 25,3411 51650 INDEX MM
038017,001165: 25,3412 55652 TS FX # FX = AK + GRAD (AK+1 - AK)
038018,001166: 25,3413 11650 CCS MM
038019,001167: 25,3414 13376 TCF BACK2
038020,001168: 25,3415 57653 XCH FX +1 # ZERO FX +1 AND GET DREFR
038021,001169: 25,3416 61637 AD D
038022,001170: 25,3417 00006 EXTEND
038023,001171: 25,3420 71657 MP FX +5 # F1
038024,001172: 25,3421 52155 DXCH MPAC # MPAC = F1(D-DREF)
038025,001173:
038026,001174: 25,3422 00006 EXTEND
038027,001175: 25,3423 41700 DCS RDOT # FORM RDOTREF - RDOT
038028,001176: 25,3424 20001 DDOUBL
038029,001177: 25,3425 20001 DDOUBL
038030,001178: 25,3426 20001 DDOUBL # SCALE UP BY 8 FOR THIS PHASE.
038031,001179: 25,3427 61655 AD FX +3 # RDOTREF
038032,001180: 25,3430 00006 EXTEND
038033,001181: 25,3431 71656 MP FX +4 # F2
038034,001182: 25,3432 61654 AD FX +2 # RTOGO
038035,001183: 25,3433 20155 DAS MPAC # ADD F2(DADV1-DADVR)
038036,001184: 25,3434 30154 CA MPAC
038037,001185: 25,3435 55770 TS PREDANG
038038,001186: # L/D = LOD + (THETA- PREDANG)/ Y
038039,001187: 25,3436 06006 TC INTPRET
038040,001188:
038041,001189: 25,3437 45242 SR3 DSU
038042,001190: 25,3440 03702 THETAH
038043,001191: 25,3441 43014 BON BOFF
038044,001192: 25,3442 03305 GONEPAST
038045,001193: 25,3443 53470 GONEGLAD
038046,001194: 25,3444 03747 GONEBY
038047,001195: 25,3445 53453 HAVDNRNG
038048,001196: 25,3446 43145 DLOAD SET # SET GONEPAST IF GONEBY SET & LATCH IN-
038049,001197: 25,3447 13773 MAXRNG # DISPLAY = 9999.9 IF GONEBY PLACE
038050,001198: 25,3450 03065 GONEPAST
038051,001199: 25,3451 37716 STCALL DNRNGERR
038052,001200: 25,3452 53470 GONEGLAD
038053,001201:
038054,001202: 25,3453 03716 HAVDNRNG STORE DNRNGERR # = (PREDANG - THETA) /360
|
Page 872 |
038056,001204: 25,3454 77676 DCOMP # FALL SHORT IF NEG, OVERSHOOT IF POS
038057,001205: 25,3455 56204 BOVB DDV
038058,001206: 25,3456 57352 TCDANZIG # CLEAR OVFIND IF ON.
038059,001207: 25,3457 03653 FX # FX= DRANGE/D L/D = Y
038060,001208: 25,3460 40061 SL BOV
038061,001209: 25,3461 20206 5
038062,001210: 25,3462 53472 GOMAXL/D
038063,001211: 25,3463 40015 DAD BOV
038064,001212: 25,3464 03626 LOD
038065,001213: 25,3465 53472 GOMAXL/D
038066,001214: 25,3466 37634 STCALL L/D
038067,001215: 25,3467 53476 GLIMITER # (GO TO)
038068,001216:
038069,001217: # GONEGLAD AND GOPOSMAX ENTRY POINTS FOR GLIMITER ...
038070,001218:
038071,001219: 25,3470 77745 GONEGLAD DLOAD # SET L/D = -LAD
038072,001220: 25,3471 13471 GONEGLAD # (ANY NEGATIVE NUMBER WILL DO)
038073,001221:
038074,001222: 25,3472 41234 GOMAXL/D RTB DMP # L/D = LAD SIGN(MPAC)
038075,001223: 25,3473 45712 SIGNMPAC
038076,001224: 25,3474 03624 LAD
038077,001225: 25,3475 03634 STORE L/D # AND FALL INTO GLIMITER SECTION
038078,001226:
038079,001227: 25,3476 45345 GLIMITER DLOAD DSU # IF GMAX/2-D POS, GO TO LIMITL/D
038080,001228: 25,3477 15161 GMAX/2
038081,001229: 25,3500 03640 D
038082,001230: 25,3501 43244 BPL DAD # IF GMAX -D NEG, GO TO GOPOSLAD
038083,001231: 25,3502 53526 LIMITL/D
038084,001232: 25,3503 15161 GMAX/2
038085,001233: 25,3504 41240 BMN DMP
038086,001234: 25,3505 53523 GOPOSLAD
038087,001235: 25,3506 15263 2HS
038088,001236: 25,3507 41325 PDDL DMP # 2HS(GMAX-D) INTO PD
038089,001237: 25,3510 03654 LEQ
038090,001238: 25,3511 15333 1/GMAX
038091,001239: 25,3512 41215 DAD DMP
038092,001240: 25,3513 03624 LAD
038093,001241: 25,3514 56325 PDDL DDV # 2HS(GMAX-D) (LEQ/GMAX+LAD) INTO PD
038094,001242: 25,3515 15265 2HSGMXSQ
038095,001243: 25,3516 03622 VSQUARE
038096,001244: 25,3517 75415 DAD SQRT # XLIM = SQRT(PD+(2HSGMAX/V)SQ)
038097,001245: 25,3520 51015 DAD BPL # IF RDOT+XLIM POS, GO TO LIMITL/D
038098,001246: 25,3521 03700 RDOT
038099,001247: 25,3522 53526 LIMITL/D
038100,001248:
038101,001249: 25,3523 77745 GOPOSLAD DLOAD
038102,001250: 25,3524 03624 LAD
038103,001251: 25,3525 03634 STOREL/D STORE L/D
038104,001252:
|
Page 873 |
038106,001254: 25,3526 77745 LIMITL/D DLOAD
038107,001255: 25,3527 03634 L/D
038108,001256: 25,3530 17636 STODL L/D1
038109,001257: 25,3531 03622 VSQUARE
038110,001258:
038111,001259: 25,3532 77614 BON # NO LATERAL CONTROL IF PAST TARGET
038112,001260: 25,3533 03305 GONEPAST
038113,001261: 25,3534 53566 L355
038114,001262: 25,3535 43205 DMP DAD # Y= KLAT VSQUARE + LATBIAS
038115,001263: 25,3536 03632 KLAT
038116,001264: 25,3537 15243 LATBIAS # Y INTO PD
038117,001265: 25,3540 51525 L350 PDDL ABS # IF ABS(L/D)-L/DCMINR NEG, GO TO L353
038118,001266: 25,3541 03634 L/D
038119,001267: 25,3542 50025 DSU BMN
038120,001268: 25,3543 03630 L/DCMINR
038121,001269: 25,3544 53553 L353
038122,001270: 25,3545 75345 DLOAD SIGN # IF K2ROLL LATANG NEG, GO TO L357
038123,001271: 25,3546 03676 LATANG
038124,001272: 25,3547 03644 K2ROLL
038125,001273: 25,3550 71240 BMN DLOAD
038126,001274: 25,3551 53632 L357
038127,001275: 25,3552 41542 SR1 PUSH # Y = Y/2
038128,001276: 25,3553 75345 L353 DLOAD SIGN # IF LATANG SIGN(K2ROLL)-Y POS, SWITCH
038129,001277: 25,3554 03676 LATANG
038130,001278: 25,3555 03644 K2ROLL
038131,001279: 25,3556 77625 DSU
038132,001280: 25,3557 71240 BMN DLOAD
038133,001281: 25,3560 53566 L355
038134,001282: 25,3561 03644 K2ROLL
038135,001283: 25,3562 57414 BONCLR DCOMP # IF NOSWITCH =1, K2ROLL= K2ROLL
038136,001284: 25,3563 03210 NOSWITCH
038137,001285: 25,3564 53566 L355
038138,001286: 25,3565 03644 STORE K2ROLL # K2ROLL = -K2ROLL
038139,001287:
038140,001288: 25,3566 56345 L355 DLOAD DDV # ROLLC = ACOS( (L/D1) / LAD)
038141,001289: 25,3567 03636 L/D1
038142,001290: 25,3570 03624 LAD # MPAC SET TO +-1 IF OVERFLOW***
038143,001291: 25,3571 65542 SR1 ACOS
038144,001292: 25,3572 43165 SIGN CLEAR
038145,001293: 25,3573 03644 K2ROLL
038146,001294: 25,3574 03270 NOSWITCH
038147,001295: 25,3575 03316 STORE ROLLC
038148,001296:
038149,001297: 25,3576 77776 ENDEXIT EXIT
038150,001298:
038151,001299: 25,3577 35003 OVERNOUT CA BIT13 # ENTRYDSP =92D B13
038152,001300: 25,3600 70102 MASK CM/FLAGS
038153,001301: 25,3601 00006 EXTEND
038154,001302: 25,3602 13606 BZF NODISKY # OMIT DISPLAY.
|
Page 874 |
038156,001304: 25,3603 31263 CA ENTRYVN # ALL ENTRY DISPLAYS ARE DONE HERE.
038157,001305: 25,3604 04662 TC BANKCALL
038158,001306: 25,3605 20712 CADR REGODSPR # NO ABORT IF DISKY IN USE
038159,001307:
038160,001308: 25,3606 00004 NODISKY INHINT
038161,001309: 25,3607 10067 CCS NEWJOB # PROTECT READACCS GRP 5, IF SIDETRACKED.
038162,001310: 25,3610 05164 TC CHANG1
038163,001311: 25,3611 04701 SERVNOUT TC POSTJUMP # ( COME HERE FROM P67.3 )
038164,001312: 25,3612 77227 CADR SERVEXIT # AND END AVERAGEG JOB VIA ENDOFJOB.
038165,001313:
|
Page 875 |
038167,001315: # DISPLAY WHEN V IS LESS THAN VQUIT.
038168,001316:
038169,001317: 25,3613 77776 STEEROFF EXIT
038170,001318: 25,3614 35060 CA EBENTRY # PRECAUTIONARY.
038171,001319: 25,3615 54003 TS EBANK
038172,001320:
038173,001321: 25,3616 35070 CA PRIO16 # 2 LESS THAN NTRYPRIO.
038174,001322: 25,3617 05134 TC NOVAC
038175,001323: 25,3620 E6,1661 EBANK= AOG # ANY EB HERE
038176,001324: 25,3620 02512 54066 2CADR P67.1 # START UP REMAINDER OF P67
038177,001325:
038178,001326: # RTOGO LAT LONG
038179,001327: # XXXX.X NM XXX.XX DEG XXX.XX DEG
038180,001328:
038181,001329: 25,3622 05372 TC 2PHSCHNG # INHINT/RELINT DONE.
038182,001330: 25,3623 00414 OCT 00414 # 4.41 RESTART FOR P67.1 DISPLAY JOB.
038183,001331: 25,3624 10035 OCT 10035 # SERVICER 5.3 RESTART.
038184,001332:
038185,001333: 25,3625 33631 CA P67.2CAD # HEREAFTER, DO LAT, LONG.
038186,001334: 25,3626 55645 TS GOTOADDR
038187,001335:
038188,001336: 25,3627 06006 TC INTPRET
038189,001337: 25,3630 77650 GOTO
038190,001338: 25,3631 54531 P67.2CAD P67.2 # CONTINUE FOR LAT, LONG THIS TIME.
038191,001339:
038192,001340: 25,3632 75345 L357 DLOAD SIGN # L/D = L/DCMINR SIGN(L/D)
038193,001341: 25,3633 03630 L/DCMINR
038194,001342: 25,3634 03634 L/D
038195,001343: 25,3635 37636 STCALL L/D1
038196,001344: 25,3636 53566 L355 # (GO TO)
038197,001345:
|
Page 876 |
038199,001347: # TABLE USED FOR SUB-ORBITAL REFERENCE TRAJECTORY CONTROL.
038200,001348:
038201,001349: 25,3637 00474 VREFER DEC .019288 # REFERENCE VELOCITY SCALED V/51532.3946
038202,001350: 25,3640 01235 DEC .040809 # 13 POINTS ARE STORED AS THE INDEPENDENT
038203,001351: 25,3641 02337 DEC .076107 # VARIABLE AND THEN SIX 13 POINT FUNCTIONS
038204,001352: 25,3642 03721 DEC .122156 # OF V ARE STORED CONSECUTIVELY
038205,001353: 25,3643 05230 DEC .165546
038206,001354: 25,3644 06213 DEC .196012
038207,001355: 25,3645 10550 DEC .271945
038208,001356: 25,3646 11717 DEC .309533
038209,001357: 25,3647 13314 DEC .356222
038210,001358: 25,3650 14736 DEC .404192
038211,001359: 25,3651 16255 DEC .448067
038212,001360: 25,3652 16457 DEC .456023
038213,001361: 25,3653 25570 DEC .67918 # HIGHVELOCITY FOR SAFETY
038214,001362:
038215,001363: 25,3654 77526 DEC -.010337 # DRANGE/DA SCALED DRDA/(2700/805)
038216,001364: 25,3655 77360 DEC -.016550
038217,001365: 25,3656 77106 DEC -.026935
038218,001366: 25,3657 76516 DEC -.042039
038219,001367: 25,3660 76071 DEC -.058974
038220,001368: 25,3661 75570 DEC -.070721
038221,001369: 25,3662 74661 DEC -.098538
038222,001370: 25,3663 74436 DEC -.107482
038223,001371: 25,3664 73212 DEC -.147762
038224,001372: 25,3665 71640 DEC -.193289
038225,001373: 25,3666 54557 DEC -.602557
038226,001374: 25,3667 40000 DEC -.99999
038227,001375: 25,3670 40000 DEC -.99999
038228,001376:
038229,001377: 25,3671 77635 DEC -.0478599 B-3 # -DRANGE/DRDOT
038230,001378: 25,3672 77563 DEC -.0683663 B-3 # SCALED ((2VS/8 2700) DR/DRDOT)
038231,001379: 25,3673 77354 DEC -.1343468 B-3
038232,001380: 25,3674 76712 DEC -.2759846 B-3
038233,001381: 25,3675 76066 DEC -.4731437 B-3
038234,001382: 25,3676 75322 DEC -.6472087 B-3
038235,001383: 25,3677 73237 DEC -1.171693 B-3
038236,001384: 25,3700 72104 DEC -1.466382 B-3
038237,001385: 25,3701 70301 DEC -1.905171 B-3
038238,001386: 25,3702 65635 DEC -2.547990 B-3
038239,001387: 25,3703 57311 DEC -4.151220 B-3
038240,001388: 25,3704 50575 DEC -5.813617 B-3
038241,001389: 25,3705 50575 DEC -5.813617 B-3
038242,001390:
|
Page 877 |
038244,001392: 25,3706 74443 DEC -.0134001 B3 # RDOTREF SCALED (8 RDT/2VS)
038245,001393: 25,3707 74333 DEC -.013947 B3
038246,001394: 25,3710 74433 DEC -.013462 B3
038247,001395: 25,3711 74763 DEC -.011813 B3
038248,001396: 25,3712 75432 DEC -.0095631 B3
038249,001397: 25,3713 75735 DEC -.00806946 B3
038250,001398: 25,3714 76200 DEC -.006828 B3
038251,001399: 25,3715 75735 DEC -.00806946 B3
038252,001400: 25,3716 75140 DEC -.0109791 B3
038253,001401: 25,3717 74075 DEC -.0151498 B3
038254,001402: 25,3720 73312 DEC -.0179817 B3
038255,001403: 25,3721 73732 DEC -.0159061 B3
038256,001404: 25,3722 73732 DEC -.0159061 B3
038257,001405:
038258,001406: 25,3723 00015 DEC .0008067 # RANGE TO GO SCALED RTOGO/2700
038259,001407: 25,3724 00066 DEC .0032963 # 8.9
038260,001408: 25,3725 00206 DEC .0081852 # 22.1
038261,001409: 25,3726 00431 DEC .017148
038262,001410: 25,3727 00712 DEC .027926
038263,001411: 25,3730 01136 DEC .037
038264,001412: 25,3731 02015 DEC .063298
038265,001413: 25,3732 02374 DEC .077889
038266,001414: 25,3733 03123 DEC .098815
038267,001415: 25,3734 04051 DEC .127519
038268,001416: 25,3735 05767 DEC .186963
038269,001417: 25,3736 07476 DEC .238148
038270,001418: 25,3737 11324 DEC .294185185
038271,001419:
038272,001420: 25,3740 76272 DEC -.051099 # -AREF/805
038273,001421: 25,3741 75472 DEC -.074534
038274,001422: 25,3742 74604 DEC -.101242
038275,001423: 25,3743 74210 DEC -.116646
038276,001424: 25,3744 74052 DEC -.122360
038277,001425: 25,3745 73735 DEC -.127081
038278,001426: 25,3746 73217 DEC -.147453
038279,001427: 25,3747 73013 DEC -.155528
038280,001428: 25,3750 73155 DEC -.149565
038281,001429: 25,3751 74151 DEC -.118509
038282,001430: 25,3752 76703 DEC -.034907
038283,001431: 25,3753 77575 DEC -.007950
038284,001432: 25,3754 77575 DEC -.007950
038285,001433:
|
Page 878 |
038287,001435: 25,3755 00112 DEC .004491 # DRANGE/D L/D SCALED Y/2700
038288,001436: 25,3756 00204 DEC .008081
038289,001437: 25,3757 00407 DEC .016030
038290,001438: 25,3760 01113 DEC .035815
038291,001439: 25,3761 02161 DEC .069422
038292,001440: 25,3762 03260 DEC .104519
038293,001441: 25,3763 03717 DEC .122
038294,001442: 25,3764 05411 DEC .172407
038295,001443: 25,3765 10057 DEC .252852
038296,001444: 25,3766 13476 DEC .363148
038297,001445: 25,3767 20324 DEC .512963
038298,001446: 25,3770 21677 DEC .558519
038299,001447: 25,3771 21677 DEC .558519 # END OF STORED REFERENCE
038300,001448:
|
Page 879 |
038302,001450: # REENTRY CONSTANTS.
038303,001451:
038304,001452: # DEFINED BY EQUALS
038305,001453:
038306,001454: 25,3772 5026 DEC15 = LOW4
038307,001455: # GAMMAL1 = 22D
038308,001456:
038309,001457: 25,3772 16631 06755 MAXRNG 2OCT 1663106755 # DNRNGERR = 9999.9 IF GONEPAST=1
038310,001458:
038311,001459: 26,3145 BANK 26
038312,001460: 26,2000 SETLOC REENTRY1
038313,001461: 26,2000 BANK
038314,001462:
038315,001463: 26,3145 COUNT* $$/ENTRY
038316,001464:
038317,001465: 26,3145 27,3371 BARELY1 = NEARONE # COMMON TO BOTH DISK,DANCE.DEFND IN TFF
038318,001466: # 1BITDP COMMON TO BOTH DISK AND DANCE. DEFND IN VECPOINT.
038319,001467:
038320,001468: 26,3145 02525 1/12TH DEC .083333 # DP 1/12 USES HI WORD IN 1/3 BELOW
038321,001469: 26,3146 12525 12525 1/3RD 2DEC .3333333333 # DP 1/3
038322,001470:
038323,001471: 26,3150 27,3365 1/16TH = DP2(-4)
038324,001472:
038325,001473: # BELOW: VS = VSAT = 25766.1973 FT/SEC
038326,001474:
038327,001475: # RE = 21,202,900 FEET
038328,001476:
038329,001477: 26,3150 04631 23146 LEWD1 2DEC .15
038330,001478:
038331,001479: 26,3152 03146 14632 POINT1 2DEC .1
038332,001480:
038333,001481: 26,3154 06314 31463 POINT2 2DEC .2 # .2
038334,001482:
038335,001483: 26,3156 76314 71462 DLEWD0 2DEC -.05 # -.05
038336,001484:
038337,001485: 26,3160 05075 16051 GMAX/2 2DEC .16 # 8 GS / 2
038338,001486:
038339,001487: 26,3162 26,3334 3ZEROS EQUALS HI6ZEROS
038340,001488: 26,3162 07777 00000 NEAR1/4 2OCT 0777700000 # 1/4 LESS 1 BIT IN UPPER PART.
038341,001489:
038342,001490: 26,3164 00236 36763 C18 2DEC .0097026346 # 500/2VS
038343,001491:
038344,001492: 26,3166 00204 11303 Q7FKDMIN 2DEC .0080745342 # 6.5/805 (Q7F +KDMIN) = 6 + .5)
038345,001493:
038346,001494: 26,3170 27,3365 C1/16 = DP2(-4)
038347,001495:
038348,001496: 26,3170 05260 05572 Q3 2DEC .167003132 # .07 2VS/21600
|
Page 880 |
038350,001498: 26,3172 12343 21616 Q5 2DEC .326388889 # .3 23500/21600
038351,001499:
038352,001500: 26,3174 01073 31515 Q6 2DEC .0349 # 2 DEG, APPROX 820/23500
038353,001501:
038354,001502: 26,3176 00172 03571 Q7F 2DEC .0074534161 # 6/805 (VALUE OF Q7 IN FIXED MEM.)
038355,001503:
038356,001504: 26,3200 26,3332 Q19 = HALVE # Q19 = .5
038357,001505:
038358,001506: 26,3200 00573 10230 Q21 2DEC .0231481481 # 500/21600
038359,001507:
038360,001508: 26,3202 76226 45761 Q22 2DEC -.053333333 # -1152/21600
038361,001509:
038362,001510: 26,3204 13132 33062 VLMIN 2DEC .34929485 # 18000/2 VS
038363,001511:
038364,001512: 26,3206 26,3324 VMIN = FOURTH # (VS/2) / 2VS
038365,001513: 26,3206 00160 05104 C12 2DEC .00684572901 # 32 28500/(21202900 2 PI)
038366,001514:
038367,001515: 26,3210 11322 32265 1/KB1 2DEC .29411765 # 1 / 3.4
038368,001516:
038369,001517: 26,3212 75047 72454 -1/KB2 2DEC -.0057074322 B4 # = -1/(.0034 2 VS) EXP +4
038370,001518:
038371,001519: 26,3214 00475 35746 VQUIT 2DEC .019405269 # 1000 /2VS
038372,001520:
038373,001521: 26,3216 06751 27515 C20 2DEC .21739130 # (175 FPSS) LIFT UP IF ABOVE C20
038374,001522:
038375,001523: 26,3220 05441 14412 C21 2DEC .17391304 # 140/805
038376,001524:
038377,001525: 26,3222 00022 36641 25NM 2DEC .0011574074 # 25/21600 (25 NAUT MILES)
038378,001526:
038379,001527: 26,3224 01003 06315 K1D 2DEC .0314453125 # =C16 805/256 = .01 805/256
038380,001528:
038381,001529: 26,3226 71435 75516 K2D 2DEC -.201298418 # -C17 2VS/256 = -.001 2VS/256
038382,001530:
038383,001531: 26,3230 32047 24367 KVSCALE 2DEC .81491944 # 12800/(2 VS .3048)
038384,001532:
038385,001533: 26,3232 37200 05636 KASCALE 2DEC .97657358 # 5.85 16384/(4 .3048 100 805)
038386,001534:
038387,001535: 26,3234 00046 13137 KTETA 2DEC* .383495203 E2 B-14* # 1000 2PI/16384(163.84)
038388,001536:
038389,001537: 26,3236 00017 30730 KT1 2DEC* .157788327 E2 B-14* # RE(2PI)/2 VS(16384) 163.84
038390,001538:
038391,001539: 26,3240 00040 30447 .05G 2DEC .002 # .05/25
038392,001540:
038393,001541: 26,3242 00000 17565 LATBIAS 2DEC .00003 # APPRX .5 NM/ 4(21600/2 PI)
038394,001542:
038395,001543: 26,3244 01727 20103 KWE 2DEC .120056652 B-1
038396,001544:
038397,001545: 26,3246 00121 17460 KACOS 2DEC .004973592 # 1/32(2PI)
038398,001546:
038399,001547: 26,3250 00400 00000 CHOOK 2DEC 1 B-6 # .25/16
|
Page 881 |
038401,001549: 26,3252 01252 25253 1/24TH 2DEC .0833333333 B-1
038402,001550:
038403,001551: 26,3254 24365 30244 CH1 2DEC .32 B1 # 16 CH1/25 = 16 (1) /25
038404,001552:
038405,001553: 26,3256 77152 51354 KC3 2DEC -.0247622232 # -(4 VS VS/ 2 PI 805 RE)
038406,001554:
038407,001555: 26,3260 00336 21610 VRCONT 2DEC .0135836886 # 700/2 VSAT
038408,001556:
038409,001557: 26,3262 26,3332 HALVE EQUALS HIDPHALF
038410,001558: 26,3262 26,3324 FOURTH EQUALS HIDP1/4
038411,001559:
038412,001560: 26,3262 26,3332 1/GMAX EQUALS HALVE # 4/GMAX = 4 / 8
038413,001561: 26,3262 00433 02775 2HS 2DEC .0172786611 # 2 28500 25 32.2/(4 VS VS)
038414,001562:
038415,001563: 26,3264 00000 20017 2HSGMXSQ 2DEC .0000305717 # (2 28500 8 32.2/ 4 VS VS)SQ
038416,001564:
038417,001565: 26,3266 77765 70243 C001 2DEC -.000625 # -(4/25)/256 LEQ/D0 CONST
038418,001566:
038419,001567: 26,3270 31463 06315 POINT8 2DEC .8
038420,001568:
038421,001569: 26,3272 00541 33575 2C1HS 2DEC .0215983264 # 2 1.25 28500 805/(2 VS)SQ
038422,001570:
038423,001571: 26,3274 00146 14632 PT1/16 2DEC .1 B-4
038424,001572:
038425,001573: 26,3276 00052 30013 1/K44 2DEC .00260929464 # 2 VS/19749550
038426,001574:
038427,001575: 26,3300 20411 03041 VFINAL 2DEC .51618016 # 26600/2 VS
038428,001576:
038429,001577: 26,3302 20610 10513 VFINAL1 2DEC .523942273 # = 27000 / 2 VS
038430,001578:
038431,001579: 26,3304 11473 02355 1/KA1 2DEC .30048077 # 25/(1.3 64)
038432,001580:
038433,001581: 26,3306 00203 02234 KA2 2DEC .008 # .2/25
038434,001582:
038435,001583: 26,3310 16237 00146 KA3 2DEC .44720497 # = 90 4/805
038436,001584:
038437,001585: 26,3312 01456 03450 KA4 2DEC .049689441 # 40/805
038438,001586:
038439,001587: 26,3314 01727 01217 KALIM 2DEC .06 # 1.5/25
038440,001588:
038441,001589: 26,3316 26,3312 Q7MIN = KA4 # = 40/805 = .049689441
038442,001590: 26,3316 56232 72332 -HSCALED 2DEC -.55305018 # -28500/2 VS
038443,001591:
038444,001592: 26,3320 77000 43741 -KSCALE 2DEC -.0312424837 # -805/VS
038445,001593:
038446,001594: 26,3322 36702 21727 COS15 2DEC .965
038447,001595:
038448,001596: 26,3324 26,3145 LATSLOPE EQUALS 1/12TH
038449,001597: # ... END OF RE-ENTRY CONSTANTS ...
038450,001598:
End of include-file REENTRY_CONTROL.agc. Parent file is MAIN.agc