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