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