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