Source Code
These source-code files were transcribed from scans made from Don Eyles's personal
copy of BURST120 (SUNBURST 120). They were scanned at archive.org's Boston
facility, and the scanning was sponsored by Mike Stewart. The code was transcribed
from these scans by a team of volunteers who are referenced in the program
comments. Comments from the original source code are in ALL-CAPS, whereas
comments added later in transcription are in Mixed-Case. In some cases, where
similar code blocks exist in previously-transcribed AGC programs (primarily
Luminary 99, from Apollo 11) those code blocks were used as a starting point and
then corrected to agree with the BURST120 scans. The full scans are available
at the Virtual AGC
project's collection at archive.org, while more-convenient reduced-size (but reduced-quality)
images are available at
the main Virtual AGC website. Report any errors noted by creating an
issue report at the Virtual AGC
project's GitHub repository. Notations on the program listing read, in part:YUL SYSTEM FOR AGC: REVISION 0 OF PROGRAM BURST120 BY NASA 2021106-031 DEC 7, 1967 THIS LISTING IS A COPY OF A VERSION OF THE PROGRAM INTENDED FOR USE IN THE ON-BOARD PRIMARY GUIDANCE COMPUTER IN THE UNMANNED FLIGHT OF APOLLO LUNAR MODULE 1 --- THE AS206 MISSION.Note that the date is the date of the printout, not the date of the program revision. |
024018,000002: ## Copyright: Public domain.
024019,000003: ## Filename: KALMAN_FILTER_FOR_LM_DAP.agc
024020,000004: ## Purpose: A module for revision 0 of BURST120 (Sunburst). It
024021,000005: ## is part of the source code for the Lunar Module's
024022,000006: ## (LM) Apollo Guidance Computer (AGC) for Apollo 5.
024023,000007: ## Assembler: yaYUL
024024,000008: ## Contact: Ron Burkey <info@sandroid.org>.
024025,000009: ## Website: www.ibiblio.org/apollo/index.html
024026,000010: ## Mod history: 2016-09-30 RSB Created draft version.
024027,000011: ## 2016-10-17 MAS Began.
024028,000012: ## 2016-10-18 MAS Completed adaptation from Aurora 12 / transcription.
024029,000013: ## 2016-10-31 RSB Typos
024030,000014: ## 2016-12-06 RSB Comment-proofing via octopus/ProoferComments; changes
024031,000015: ## were made.
024032,000016:
Page 574 |
024034,000018: # THE FOLLOWING T5RUPT ENTRY BEGINS THE PROGRAM WHICH INITIALIZES THE KALMAN FILTER AND SETS UP A P-AXIS RUPT TO
024035,000019: # OCCUR 20 MS FROM ITS BEGINNING.
024036,000020:
024037,000021: 26,2713 E6,1542 EBANK= DT
024038,000022: 21,2000 BANK 21
024039,000023: 21,2000 32402 FILTINIT CAF MS30F # RESET TIMER IMMEDIATELY - DT = 30 MS
024040,000024: 21,2001 54030 TS TIME5
024041,000025:
024042,000026: 21,2002 22016 LXCH BANKRUPT # INTERRUPT LEAD IN (CONTINUED)
024043,000027: 21,2003 00006 EXTEND
024044,000028: 21,2004 22012 QXCH QRUPT
024045,000029:
024046,000030: 21,2005 00006 EXTEND # SET UP FOR P-AXIS RUPT
024047,000031: 21,2006 32100 DCA PAX/FILT
024048,000032: 21,2007 53001 DXCH T5ADR
024049,000033:
024050,000034: 21,2010 32014 CAF MOSTPASS # SET UP TO PERMIT DT CALCULATION DURING
024051,000035: 21,2011 55544 TS STEERADR # KALMAN FILTER INITIALIZATION PASS.
024052,000036:
024053,000037: 21,2012 13675 TCF CLEARCH5 # TURN OFF Q,R-AXES RCS JETS.
024054,000038:
024055,000039: 21,2013 02322 FIRSTADR GENADR FILFIRST
024056,000040:
024057,000041: # THE FOLLOWING T5RUPT ENTRY BEGINS THE KALMAN FILTER PROGRAM. THIS SECTION ALSO SETS UP A T5RUPT TO OCCUR 20 MS
024058,000042: # FROM ITS BEGINNING AND SETS IT TO GO TO THE LOCATION AT THE TOP OF THE POST FILTER RUPT LIST.
024059,000043:
024060,000044: 21,2014 02060 MOSTPASS GENADR DTCALC # WORD IN FILTPASS FOR THESE PASSES
024061,000045:
024062,000046: 21,2015 32402 FILTER CAF MS30F # RESET TIMER IMMEDIATELY - DT = 30 MS
024063,000047: 21,2016 54030 TS TIME5
024064,000048:
024065,000049: 21,2017 22016 LXCH BANKRUPT # INTERRUPT LEAD IN (CONTINUED)
024066,000050: 21,2020 00006 EXTEND
024067,000051: 21,2021 22012 QXCH QRUPT
024068,000052:
024069,000053: 21,2022 00006 EXTEND # SET RUPT ADDRESS TO TOP OF
024070,000054: 21,2023 31575 DCA PFRPTLST # POST FILTER RUPT LIST
024071,000055: 21,2024 53001 DXCH T5ADR
024072,000056:
024073,000057: 21,2025 41000 CS T5ADR # IF THE TRIM GIMBAL CONTROL RUPT IS NEXT,
024074,000058: 21,2026 62406 AD GTS2CADR # REDUCE THE LENGTH OF THIS TIME5 RUPT.
024075,000059: 21,2027 00006 EXTEND
024076,000060: 21,2030 12032 BZF +2
024077,000061: 21,2031 12034 TCF +3
024078,000062: 21,2032 32401 CAF MS20F # RESET TIMER IMMEDIATELY - DT = 20MS
024079,000063: 21,2033 54030 TS TIME5
024080,000064:
024081,000065: 21,2034 53575 DXCH PFRPTLST # ROTATE 2CADR'S IN POST FILTER RUPT LIST
024082,000066: 21,2035 53603 DXCH PFRPTLST +6
024083,000067: 21,2036 53601 DXCH PFRPTLST +4
Page 575 |
024085,000069: 21,2037 53577 DXCH PFRPTLST +2
024086,000070: 21,2040 13703 TCF COUNTDWN # DECREMENT PASSCTR
024087,000071:
024088,000072: # BEGIN THE KALMAN FILTER BY READING CDU ANGLES AND TIME.
024089,000073:
024090,000074: 21,2041 06013 FILSTART TC T6JOBCHK # CHECK T6 CLOCK FOR P-AXIS ACTIVITY
024091,000075:
024092,000076: 21,2042 00006 EXTEND
024093,000077: 21,2043 30034 DCA CDUY # STORE CDUY AND CDUZ AT PI AND IN 2,S COM
024094,000078: 21,2044 53541 DXCH STORCDUY
024095,000079: 21,2045 00006 EXTEND # BEGIN READING THE CLOCK TO GET TIME
024096,000080: 21,2046 00004 READ 4 # INCREMENT.
024097,000081: 21,2047 54001 TS L
024098,000082: 21,2050 00006 EXTEND
024099,000083: 21,2051 06004 RXOR 4 # CHECK TO SEE IF CH 4 WAS IN TRANSITION
024100,000084: 21,2052 00006 EXTEND # WHEN IT WAS FIRST READ.
024101,000085: 21,2053 12057 BZF +4 # BRANCH IF TIME WAS THE SAME IN 2 READS.
024102,000086: 21,2054 00006 EXTEND
024103,000087: 21,2055 00004 READ 4
024104,000088: 21,2056 54001 TS L # THIS TIME READ ALWAYS GIVES GOOD NO.
024105,000089: 21,2057 01544 TC STEERADR # SKIP DTCALC DURING INITIAL PASS
024106,000090:
024107,000091: 21,2060 40001 DTCALC CS L
024108,000092: 21,2061 61543 AD DAPTIME # A CONTAINS THE TIME DIFFERENCE (DT)
024109,000093: 21,2062 23543 LXCH DAPTIME # SINCE THE LAST FILTER.
024110,000094: 21,2063 00006 EXTEND
024111,000095: 21,2064 62067 BZMF +3
024112,000096: 21,2065 67744 AD NEG1/2 # THIS IS ADDING -1.0 TO -DT AND ACCOUNTS
024113,000097: 21,2066 67744 AD NEG1/2 # FOR AN OVERFLOW INTO CHANNEL 5
024114,000098:
024115,000099: # SCALING OF DELTA T FOR KALMAN FILTER IS 1/8 SECOND.
024116,000100:
024117,000101: 21,2067 00006 EXTEND # TIME NOW SCALED AT 5.12 SECONDS
024118,000102: 21,2070 77755 MP BIT7 # FIRST RESCALE TO 5.12/64
024119,000103: 21,2071 42376 CS .64
024120,000104: 21,2072 00006 EXTEND # THEN RESCALE TO 5.12/(64*.64) OR
024121,000105: 21,2073 70001 MP L # 5.12/40.96 WHICH IS THE SAME AS
024122,000106: 21,2074 13707 TCF TIMEDONE # DT SCALED AT 1/8. JUMP VIA STEERAD2.
024123,000107: # SET UP FILTER WEIGHTING VECTOR FOR THIS FILTER PASS.
024124,000108:
024125,000109: 21,2075 11547 CCS WPOINTER # TEST FOR WEIGHTING VECTOR STEADY-STATE
024126,000110: 21,2076 12102 TCF MOVEWGTS # POINTER NOT YET ZERO (MULTIPLE OF THREE)
024127,000111: 21,2077 E6,1542 EBANK= DT
024128,000112: 21,2077 02255 34066 PAX/FILT 2CADR PAXIS # (ROOM FOR 2CADR IN CCS HOLES)
024129,000113:
024130,000114: 21,2101 12113 TCF FLTZAXIS # STEADY-STATE ALREADY, NO UPDATING AGAIN
024131,000115:
024132,000116: 21,2102 46311 MOVEWGTS CS THREE # SET UP POINTER FOR THIS PASS
024133,000117: 21,2103 27547 ADS WPOINTER # (NEVER GETS BELOW ZERO HERE)
Page 576 |
024135,000119: 21,2104 00006 EXTEND # WPOINTER IS INDEX = 87 FIRST TIME HERE
024136,000120: 21,2105 51547 INDEX WPOINTER # AND IS DECREASED BY 3 EVERY FILTER PASS
024137,000121: 21,2106 32413 DCA WVECTOR # UNTIL THE STEADY-STATE IS REACHED.
024138,000122: 21,2107 53551 DXCH W0 # MOVE IN NEW W0,W1
024139,000123: 21,2110 51547 INDEX WPOINTER
024140,000124: 21,2111 32414 CAF WVECTOR +2
024141,000125: 21,2112 55552 TS W2 # MOVE IN NEW W2
024142,000126:
024143,000127: 21,2113 37762 FLTZAXIS CAF TWO # SET UP INDEXER FOR D.P. PICKUP AND TO
024144,000128: 21,2114 54066 TS QRCNTR # INDICATE Z-AXIS FILTER PASS
024145,000129:
024146,000130: 21,2115 12121 TCF FLTYAXIS
024147,000131:
024148,000132: 21,2116 37767 GOYFILTR CAF ZERO # SET INDEXER FOR Y-AXIS
024149,000133: 21,2117 54066 TS QRCNTR
024150,000134:
024151,000135: 21,2120 06013 TC T6JOBCHK # CHECK T6 CLOCK FOR P-AXIS ACTIVITY
024152,000136:
024153,000137: 21,2121 50066 FLTYAXIS INDEX QRCNTR
024154,000138: 21,2122 53554 DXCH CDUYFIL # THETA IS D.P. SCALED AT 2 PI RADIANS
024155,000139: 21,2123 52073 DXCH CDU
024156,000140: 21,2124 50066 INDEX QRCNTR # .
024157,000141: 21,2125 53560 DXCH DCDUYFIL # THETA IS D.P. SCALED AT PI/4 RAD/SEC
024158,000142: 21,2126 52062 DXCH CDUDOT
024159,000143: 21,2127 50066 INDEX QRCNTR # .. 2
024160,000144: 21,2130 53564 DXCH D2CDUYFL # THETA IS D.P. SCALED AT PI/8 RAD/SEC
024161,000145: 21,2131 52064 DXCH CDU2DOT
024162,000146: 21,2132 50066 INDEX QRCNTR # ... 7 3
024163,000147: 21,2133 31567 CAE Y3DOT # THETA IS S.P. SCALED AT PI/2 RAD/SEC
024164,000148: 21,2134 57570 XCH CDU3DOT
024165,000149:
024166,000150: # NOTE THAT THE FILTERED VARIABLES ARE READ DESTRUCTIVELY FOR SPEED AND EFFICIENCY AND THAT Y3DOT IS NOT UPDATED,
024167,000151: # SO IT MUST BE READ NON-DESTRUCTIVELY BUT NEED NOT BE RESTORED AFTER EACH KALMAN FILTER PASS.
024168,000152:
Page 577 |
024170,000154: # INTEGRATION EXTRAPOLATION EQUATIONS:
024171,000155:
024172,000156: 21,2135 30063 KLMNFLTR CAE CDU2DOT # A SCALED AT PI/8 (USE S.P.)
024173,000157: 21,2136 00006 EXTEND
024174,000158: 21,2137 71542 MP DT # ADT SCALED AT PI/64 OR .5ADT AT PI/128
024175,000159: 21,2140 00006 EXTEND
024176,000160: 21,2141 77752 MP BIT10 # RESCALE BY RIGHT SHIFT 5
024177,000161: 21,2142 60061 AD CDUDOT # W + .5ADT SCALED AT PI/4
024178,000162: 21,2143 00006 EXTEND
024179,000163: 21,2144 71542 MP DT # (W + .5ADT)DT SCALED AT PI/32
024180,000164: 21,2145 00006 EXTEND
024181,000165: 21,2146 77753 MP BIT9 # RESCALE BY RIGHT SHIFT 6 (KEEP D.P.)
024182,000166: 21,2147 20073 DAS CDU # CDU = CDU + (W + .5ADT)DT SCALED AT 2PI
024183,000167:
024184,000168: 21,2150 31570 CAE CDU3DOT # ADOT SCALED AT PI/2(7)
024185,000169: 21,2151 00006 EXTEND
024186,000170: 21,2152 71542 MP DT # .5ADOTDT SCALED AT PI/2(11)
024187,000171: 21,2153 54065 TS ITEMP5 # (SAVE FOR ALPHA INTEGRATION)
024188,000172: 21,2154 00006 EXTEND
024189,000173: 21,2155 77755 MP BIT7 # RESCALE BY RIGHT SHIFT 8
024190,000174: 21,2156 60063 AD CDU2DOT # A + .5ADOTDT SCALED AT PI/8
024191,000175: 21,2157 00006 EXTEND
024192,000176: 21,2160 71542 MP DT # (A + .5ADOTDT)DT SCALED AT PI/64
024193,000177: 21,2161 00006 EXTEND
024194,000178: 21,2162 77751 MP BIT11 # RESCALE BY RIGHT SHIFT 4 (KEEP D.P.)
024195,000179: 21,2163 20062 DAS CDUDOT # W = W + (A + .5ADOTDT)DT SCALED AT PI/4
024196,000180:
024197,000181: 21,2164 30065 CAE ITEMP5 # ADOTDT SCALED AT PI/2(10) (FROM ABOVE)
024198,000182: 21,2165 00006 EXTEND
024199,000183: 21,2166 77754 MP BIT8 # RESCALE BY RIGHT SHIFT 7 (KEEP D.P.)
024200,000184: 21,2167 20064 DAS CDU2DOT # A = A + ADOTDT SCALED AT PI/8
024201,000185:
Page 578 |
024203,000187:
024204,000188: # WEIGHTING VECTOR ADJUSTMENT EQUATIONS:
024205,000189:
024206,000190: 21,2170 00006 EXTEND # CONVERT CDU INTEGRATED VALUE FROM DOUBLE
024207,000191: 21,2171 30073 DCA CDU # PRECISION SCALED AT 2PI IN ONES COMPLE-
024208,000192: 21,2172 02307 TC ONETOTWO # MENT TO SINGLE PRECISION SCALED AT PI
024209,000193: 21,2173 10066 CCS QRCNTR
024210,000194: 21,2174 50000 INDEX A # IN TWOS COMPLEMENT, THEN DIFFERENCE WITH
024211,000195: 21,2175 31540 CAE STORCDUY
024212,000196: 21,2176 00006 EXTEND # STORED CDU REGISTER READING TO GET A
024213,000197: 21,2177 20065 MSU ITEMP5 # SINGLE PRECISION ONES COMPLEMENT RESULT
024214,000198: 21,2200 55545 TS DPDIFF # SCALED AT PI RADIANS (UPPER HALF)
024215,000199:
024216,000200: 21,2201 40073 CS CDU +1 # CREATE LOW ORDER WORD OF D.P. DIFFERENCE
024217,000201: 21,2202 60000 DOUBLE # ONES COMPLEMENT SCALED AT PI RADIANS AND
024218,000202: 21,2203 57546 XCH DPDIFF +1 # USE S.P. RESULT ABOVE AS HIGH ORDER WORD
024219,000203:
024220,000204: 21,2204 00006 EXTEND # DPDIFF IS D.P. AT PI
024221,000205: 21,2205 31546 DCA DPDIFF
024222,000206: 21,2206 22065 LXCH ITEMP5 # SAVE LOW ORDER WORD FOR D.P. MULTIPLY
024223,000207: 21,2207 00006 EXTEND
024224,000208: 21,2210 71550 MP W0 # CDU = CDU + DPDIFF (D.P.) * W0 (S.P.)
024225,000209: 21,2211 20073 DAS CDU
024226,000210: 21,2212 30065 CAE ITEMP5 # W0 IS SCALED AT 2
024227,000211: 21,2213 00006 EXTEND # DPDIFF IS RESCALED TO PI
024228,000212: 21,2214 71550 MP W0 # W0*DPDIFF IS SCALED AT 2PI (AS CDU)
024229,000213: 21,2215 26073 ADS CDU +1
024230,000214: 21,2216 54001 TS L
024231,000215: 21,2217 12221 TCF +2
024232,000216: 21,2220 26072 ADS CDU
024233,000217:
024234,000218: 21,2221 31545 CAE DPDIFF # RESCALE DPDIFF TO PI/128
024235,000219: 21,2222 00006 EXTEND
024236,000220: 21,2223 77754 MP BIT8 # DPDIFF (D.P.) * 128
024237,000221: 21,2224 22065 LXCH ITEMP5
024238,000222: 21,2225 31546 CAE DPDIFF +1
024239,000223: 21,2226 00006 EXTEND
024240,000224: 21,2227 77754 MP BIT8
024241,000225: 21,2230 60065 AD ITEMP5
024242,000226: 21,2231 22065 LXCH ITEMP5
024243,000227:
024244,000228: 21,2232 00006 EXTEND # . .
024245,000229: 21,2233 71551 MP W1 # CDU = CDU + DPDIFF (D.P.) * W1 (S.P.)
024246,000230: 21,2234 20062 DAS CDUDOT
024247,000231: 21,2235 30065 CAE ITEMP5 # W1 IS SCALED AT 32
024248,000232: 21,2236 00006 EXTEND # DPDIFF IS RESCALED TO PI/128
024249,000233: 21,2237 71551 MP W1 # W1*DPDIFF IS SCALED AT PI/4 (AS CDUDOT)
024250,000234: 21,2240 26062 ADS CDUDOT +1
024251,000235: 21,2241 54001 TS L
024252,000236: 21,2242 12244 TCF +2
024253,000237: 21,2243 26061 ADS CDUDOT
024254,000238:
Page 579 |
024256,000240: 21,2244 31545 CAE DPDIFF # RESCALE DPDIFF TO PI/64
024257,000241: 21,2245 00006 EXTEND
024258,000242: 21,2246 77755 MP BIT7 # DPDIFF (D.P.) * 64
024259,000243: 21,2247 22065 LXCH ITEMP5
024260,000244: 21,2250 31546 CAE DPDIFF +1
024261,000245: 21,2251 00006 EXTEND
024262,000246: 21,2252 77755 MP BIT7
024263,000247: 21,2253 60065 AD ITEMP5
024264,000248: 21,2254 22065 LXCH ITEMP5
024265,000249:
024266,000250: 21,2255 00006 EXTEND # .. ..
024267,000251: 21,2256 71552 MP W2 # CDU = CDU + DPDIFF (D.P.) * W2 (S.P.)
024268,000252: 21,2257 20064 DAS CDU2DOT
024269,000253: 21,2260 30065 CAE ITEMP5 # W2 IS SCALED AT 8
024270,000254: 21,2261 00006 EXTEND
024271,000255: 21,2262 71552 MP W2 # W2*DPDIFF IS SCALED AT PI/8 (AS CDU2DOT)
024272,000256: 21,2263 26064 ADS CDU2DOT +1
024273,000257: 21,2264 54001 TS L
024274,000258: 21,2265 12267 TCF +2
024275,000259: 21,2266 26063 ADS CDU2DOT
024276,000260:
024277,000261: # RESTORE VARIABLES AND TEST FOR COMPLETION OR ADDITIONAL AXIS.
024278,000262:
024279,000263: 21,2267 52073 FILTAXIS DXCH CDU
024280,000264: 21,2270 50066 INDEX QRCNTR # THETA IS D.P. SCALED AT 2 PI RADIANS
024281,000265: 21,2271 53554 DXCH CDUYFIL
024282,000266: 21,2272 52062 DXCH CDUDOT # .
024283,000267: 21,2273 50066 INDEX QRCNTR # THETA IS D.P. SCALED AT PI/4 RAD/SEC
024284,000268: 21,2274 53560 DXCH DCDUYFIL
024285,000269: 21,2275 52064 DXCH CDU2DOT # .. 2
024286,000270: 21,2276 50066 INDEX QRCNTR # THETA IS D.P. SCALED AT PI/8 RAD/SEC
024287,000271: 21,2277 53564 DXCH D2CDUYFL
024288,000272:
024289,000273: 21,2300 10066 CCS QRCNTR
024290,000274: 21,2301 12116 TCF GOYFILTR # IF 2, Y-AXIS STILL TO GO
024291,000275:
024292,000276: 21,2302 41000 CS T5ADR # IF THE TRIM GIMBAL CONTROL RUPT IS NEXT,
024293,000277: 21,2303 62406 AD GTS2CADR # DO THE Q,R-AXIS STATE TRANSFORMATIONS
024294,000278: 21,2304 00006 EXTEND # AND THE 20 MS STATE EXTRAPOLATION
024295,000279: 21,2305 12603 BZF GIMBAL
024296,000280: 21,2306 15733 TCF RESUME # OTHERWISE, RESUME
024297,000281:
024298,000282: # SUBROUTINE FOR FILTER WHICH TAKES 1 COMPLEMENT NUMBER INTO A 2 COMP.
024299,000283:
024300,000284: 21,2307 20001 ONETOTWO DDOUBL # SEE RTB OP CODES IN BANK 15 FOR NOTES ON
024301,000285: 21,2310 10000 CCS A # THIS COMPUTATION.
024302,000286: 21,2311 67763 AD ONE
024303,000287: 21,2312 12314 TCF +2
024304,000288: 21,2313 40000 COM
024305,000289: 21,2314 54065 TS ITEMP5
Page 580 |
024307,000291: 21,2315 12321 TCF +4
024308,000292: 21,2316 50000 INDEX A
024309,000293: 21,2317 37744 CAF LIMITS
024310,000294: 21,2320 26065 ADS ITEMP5
024311,000295: 21,2321 00002 TC Q # RETURN
024312,000296:
024313,000297: # THIS PROGRAM INITIALIZES THE KALMAN FILTER PROGRAM.
024314,000298:
024315,000299: 21,2322 23543 FILFIRST LXCH DAPTIME # INITIALIZE TIME.
024316,000300: 21,2323 32400 CAF POINT=90 # INITIALIZE THE WEIGHTING VECTOR POINTER
024317,000301: 21,2324 55547 TS WPOINTER
024318,000302: 21,2325 32014 CAF MOSTPASS # SET UP FOR NEXT PASSES
024319,000303: 21,2326 55544 TS STEERADR
024320,000304: 21,2327 00006 EXTEND # SET UP POST FILTER RUPT LIST
024321,000305: 21,2330 32404 DCA DGTSFADR
024322,000306: 21,2331 53575 DXCH PFRPTLST
024323,000307: 21,2332 00006 EXTEND
024324,000308: 21,2333 32100 DCA PAX/FILT
024325,000309: 21,2334 53577 DXCH PFRPTLST +2
024326,000310: 21,2335 00006 EXTEND
024327,000311: 21,2336 32100 DCA PAX/FILT
024328,000312: 21,2337 53603 DXCH PFRPTLST +6
024329,000313: 21,2340 00006 EXTEND
024330,000314: 21,2341 32407 DCA GTS2CADR
024331,000315: 21,2342 53601 DXCH PFRPTLST +4
024332,000316: 21,2343 00006 EXTEND # CHANGE POST P FILTER TO FILTER
024333,000317: 21,2344 32411 DCA POSTPFIL
024334,000318: 21,2345 53573 DXCH PFILTADR
024335,000319:
024336,000320: 21,2346 31540 CAE STORCDUY
024337,000321: 21,2347 00006 EXTEND
024338,000322: 21,2350 77746 MP BIT14
024339,000323: 21,2351 53554 DXCH CDUYFIL # INITIALIZE THE STATE VECTOR TO CDU VALUE
024340,000324: 21,2352 31541 CAE STORCDUZ
024341,000325: 21,2353 00006 EXTEND
024342,000326: 21,2354 77746 MP BIT14
024343,000327: 21,2355 53556 DXCH CDUZFIL
024344,000328: 21,2356 37767 CA ZERO
024345,000329: 21,2357 12363 TCF +4 # RATES INITIALIZED BY RATEINIT.
024346,000330: 21,2360 55560 TS DCDUYFIL +1
024347,000331: 21,2361 55561 TS DCDUZFIL
024348,000332: 21,2362 55562 TS DCDUZFIL +1
024349,000333: 21,2363 55563 TS D2CDUYFL
024350,000334: 21,2364 55564 TS D2CDUYFL +1
024351,000335: 21,2365 55565 TS D2CDUZFL
024352,000336: 21,2366 55566 TS D2CDUZFL +1
024353,000337: 21,2367 55567 TS Y3DOT
024354,000338: 21,2370 55571 TS Z3DOT
024355,000339: 21,2371 55523 TS NEGUQ
024356,000340: 21,2372 55525 TS NEGUR
Page 581 |
024358,000342: 21,2373 55733 TS QACDOTMP # INITIALIZE TEMPORARY STORAGE FOR QACCDOT
024359,000343: 21,2374 55735 TS RACDOTMP # AND RACCDOT VALUES COMING FROM GTS.
024360,000344: 21,2375 15733 TCF RESUME
024361,000345:
024362,000346:
024363,000347:
024364,000348: 21,2376 24366 .64 DEC 0.64000
024365,000349: 21,2377 14000 BIT12-13 OCTAL 14000
024366,000350: 21,2400 00132 POINT=90 DEC 90 B-14 # POINTER INITIALIZED ONE GROUP PAST END
024367,000351: 21,2401 37776 MS20F OCTAL 37776
024368,000352: 21,2402 37775 MS30F OCTAL 37775
024369,000353: 21,2403 E6,1542 EBANK= DT
024370,000354: 21,2403 02544 42066 DGTSFADR 2CADR DGTS
024371,000355:
024372,000356: 21,2405 02255 PAXISADR GENADR PAXIS
024373,000357: 21,2406 E6,1542 EBANK= DT
024374,000358: 21,2406 02572 42066 GTS2CADR 2CADR GTS
024375,000359:
024376,000360: 21,2410 E6,1542 EBANK= DT
024377,000361: 21,2410 02015 42066 POSTPFIL 2CADR FILTER
024378,000362:
Page 582 |
024380,000364: # THE KALMAN FILTER WEIGHTINF VECTORS ARE LISTED IN THE FOLLOWING TABLE ALONG WITH THE TIME FROM THE LAST FILTER
024381,000365: # INITIALIZATION FOR WHICH THEY ARE TO BE USED. (THE VECTORS ARE STORED IN ORDERED TRIPLES (W0,W1,W2) IN
024382,000366: # DESCENDING ORDER IN TIME WITH THE STEADY STATE VALUES AT THE TOP.)
024383,000367:
024384,000368: # START CODING FOR MODULE 3 REMAKE, AUGUST 1967***START CODING FOR MODULE 3 REMAKE, AUGUST 1967*******************
024385,000369:
024386,000370: # WEIGHTING VECTOR SET : 07/28/67 9:07
024387,000371:
024388,000372: # THE COMPONENTS ARE SCALED AS FOLLOWS:
024389,000373: # W0 : SCALED AT 2
024390,000374: # W1 : SCALED AT 32
024391,000375: # W2 : SCALED AT 8
024392,000376:
024393,000377: 21,2412 02352 WVECTOR DEC 0.07679 # W0 AT RELATIVE TIME : 1.50 SECS. OR MORE
024394,000378: 21,2413 00203 DEC 0.00799 # W1 AT RELATIVE TIME : 1.50 SECS. OR MORE
024395,000379: 21,2414 00665 DEC 0.02665 # W2 AT RELATIVE TIME : 1.50 SECS. OR MORE
024396,000380: 21,2415 04136 DEC 0.13072 # W0 AT RELATIVE TIME : 1.45 SECONDS
024397,000381: 21,2416 00553 DEC 0.02213 # W1 AT RELATIVE TIME : 1.45 SECONDS
024398,000382: 21,2417 03164 DEC 0.10086 # W2 AT RELATIVE TIME : 1.45 SECONDS
024399,000383: 21,2420 04231 DEC 0.13435 # W0 AT RELATIVE TIME : 1.40 SECONDS
024400,000384: 21,2421 00601 DEC 0.02350 # W1 AT RELATIVE TIME : 1.40 SECONDS
024401,000385: 21,2422 03423 DEC 0.11054 # W2 AT RELATIVE TIME : 1.40 SECONDS
024402,000386: 21,2423 04330 DEC 0.13816 # W0 AT RELATIVE TIME : 1.35 SECONDS
024403,000387: 21,2424 00631 DEC 0.02499 # W1 AT RELATIVE TIME : 1.35 SECONDS
024404,000388: 21,2425 03707 DEC 0.12154 # W2 AT RELATIVE TIME : 1.35 SECONDS
024405,000389: 21,2426 04431 DEC 0.14215 # W0 AT RELATIVE TIME : 1.30 SECONDS
024406,000390: 21,2427 00664 DEC 0.02662 # W1 AT RELATIVE TIME : 1.30 SECONDS
024407,000391: 21,2430 04224 DEC 0.13403 # W2 AT RELATIVE TIME : 1.30 SECONDS
024408,000392: 21,2431 04535 DEC 0.14632 # W0 AT RELATIVE TIME : 1.25 SECONDS
024409,000393: 21,2432 00721 DEC 0.02841 # W1 AT RELATIVE TIME : 1.25 SECONDS
024410,000394: 21,2433 04575 DEC 0.14826 # W2 AT RELATIVE TIME : 1.25 SECONDS
024411,000395: 21,2434 04644 DEC 0.15066 # W0 AT RELATIVE TIME : 1.20 SECONDS
024412,000396: 21,2435 00761 DEC 0.03035 # W1 AT RELATIVE TIME : 1.20 SECONDS
024413,000397: 21,2436 05207 DEC 0.16446 # W2 AT RELATIVE TIME : 1.20 SECONDS
024414,000398: 21,2437 04756 DEC 0.15516 # W0 AT RELATIVE TIME : 1.15 SECONDS
024415,000399: 21,2440 01024 DEC 0.03247 # W1 AT RELATIVE TIME : 1.15 SECONDS
024416,000400: 21,2441 05665 DEC 0.18293 # W2 AT RELATIVE TIME : 1.15 SECONDS
024417,000401: 21,2442 05072 DEC 0.15980 # W0 AT RELATIVE TIME : 1.10 SECONDS
024418,000402: 21,2443 01072 DEC 0.03477 # W1 AT RELATIVE TIME : 1.10 SECONDS
024419,000403: 21,2444 06416 DEC 0.20395 # W2 AT RELATIVE TIME : 1.10 SECONDS
024420,000404: 21,2445 05207 DEC 0.16452 # W0 AT RELATIVE TIME : 1.05 SECONDS
024421,000405: 21,2446 01142 DEC 0.03726 # W1 AT RELATIVE TIME : 1.05 SECONDS
024422,000406: 21,2447 07224 DEC 0.22781 # W2 AT RELATIVE TIME : 1.05 SECONDS
024423,000407: 21,2450 05325 DEC 0.16926 # W0 AT RELATIVE TIME : 1.00 SECONDS
024424,000408: 21,2451 01216 DEC 0.03991 # W1 AT RELATIVE TIME : 1.00 SECONDS
024425,000409: 21,2452 10116 DEC 0.25475 # W2 AT RELATIVE TIME : 1.00 SECONDS
024426,000410: 21,2453 05442 DEC 0.17393 # W0 AT RELATIVE TIME : 0.95 SECONDS
024427,000411: 21,2454 01274 DEC 0.04272 # W1 AT RELATIVE TIME : 0.95 SECONDS
024428,000412: 21,2455 11073 DEC 0.28488 # W2 AT RELATIVE TIME : 0.95 SECONDS
024429,000413: 21,2456 05553 DEC 0.17839 # W0 AT RELATIVE TIME : 0.90 SECONDS
Page 583 |
024431,000415: 21,2457 01353 DEC 0.04562 # W1 AT RELATIVE TIME : 0.90 SECONDS
024432,000416: 21,2460 12134 DEC 0.31809 # W2 AT RELATIVE TIME : 0.90 SECONDS
024433,000417: 21,2461 05656 DEC 0.18247 # W0 AT RELATIVE TIME : 0.85 SECONDS
024434,000418: 21,2462 01433 DEC 0.04853 # W1 AT RELATIVE TIME : 0.85 SECONDS
024435,000419: 21,2463 13245 DEC 0.35383 # W2 AT RELATIVE TIME : 0.85 SECONDS
024436,000420: 21,2464 05747 DEC 0.18597 # W0 AT RELATIVE TIME : 0.80 SECONDS
024437,000421: 21,2465 01511 DEC 0.05132 # W1 AT RELATIVE TIME : 0.80 SECONDS
024438,000422: 21,2466 14404 DEC 0.39087 # W2 AT RELATIVE TIME : 0.80 SECONDS
024439,000423: 21,2467 06023 DEC 0.18867 # W0 AT RELATIVE TIME : 0.75 SECONDS
024440,000424: 21,2470 01561 DEC 0.05380 # W1 AT RELATIVE TIME : 0.75 SECONDS
024441,000425: 21,2471 15524 DEC 0.42701 # W2 AT RELATIVE TIME : 0.75 SECONDS
024442,000426: 21,2472 06060 DEC 0.19040 # W0 AT RELATIVE TIME : 0.70 SECONDS
024443,000427: 21,2473 01622 DEC 0.05576 # W1 AT RELATIVE TIME : 0.70 SECONDS
024444,000428: 21,2474 16535 DEC 0.45880 # W2 AT RELATIVE TIME : 0.70 SECONDS
024445,000429: 21,2475 06074 DEC 0.19117 # W0 AT RELATIVE TIME : 0.65 SECONDS
024446,000430: 21,2476 01646 DEC 0.05698 # W1 AT RELATIVE TIME : 0.65 SECONDS
024447,000431: 21,2477 17323 DEC 0.48160 # W2 AT RELATIVE TIME : 0.65 SECONDS
024448,000432: 21,2500 06076 DEC 0.19127 # W0 AT RELATIVE TIME : 0.60 SECONDS
024449,000433: 21,2501 01654 DEC 0.05736 # W1 AT RELATIVE TIME : 0.60 SECONDS
024450,000434: 21,2502 17536 DEC 0.49013 # W2 AT RELATIVE TIME : 0.60 SECONDS
024451,000435: 21,2503 06100 DEC 0.19142 # W0 AT RELATIVE TIME : 0.55 SECONDS
024452,000436: 21,2504 01646 DEC 0.05702 # W1 AT RELATIVE TIME : 0.55 SECONDS
024453,000437: 21,2505 17266 DEC 0.47984 # W2 AT RELATIVE TIME : 0.55 SECONDS
024454,000438: 21,2506 06126 DEC 0.19273 # W0 AT RELATIVE TIME : 0.50 SECONDS
024455,000439: 21,2507 01635 DEC 0.05644 # W1 AT RELATIVE TIME : 0.50 SECONDS
024456,000440: 21,2510 16267 DEC 0.44869 # W2 AT RELATIVE TIME : 0.50 SECONDS
024457,000441: 21,2511 06225 DEC 0.19660 # W0 AT RELATIVE TIME : 0.45 SECONDS
024458,000442: 21,2512 01636 DEC 0.05649 # W1 AT RELATIVE TIME : 0.45 SECONDS
024459,000443: 21,2513 14600 DEC 0.39845 # W2 AT RELATIVE TIME : 0.45 SECONDS
024460,000444: 21,2514 06425 DEC 0.20443 # W0 AT RELATIVE TIME : 0.40 SECONDS
024461,000445: 21,2515 01674 DEC 0.05837 # W1 AT RELATIVE TIME : 0.40 SECONDS
024462,000446: 21,2516 12552 DEC 0.33458 # W2 AT RELATIVE TIME : 0.40 SECONDS
024463,000447: 21,2517 06753 DEC 0.21746 # W0 AT RELATIVE TIME : 0.35 SECONDS
024464,000448: 21,2520 02022 DEC 0.06360 # W1 AT RELATIVE TIME : 0.35 SECONDS
024465,000449: 21,2521 10356 DEC 0.26452 # W2 AT RELATIVE TIME : 0.35 SECONDS
024466,000450: 21,2522 07447 DEC 0.23678 # W0 AT RELATIVE TIME : 0.30 SECONDS
024467,000451: 21,2523 02300 DEC 0.07419 # W1 AT RELATIVE TIME : 0.30 SECONDS
024468,000452: 21,2524 06204 DEC 0.19555 # W2 AT RELATIVE TIME : 0.30 SECONDS
024469,000453: 21,2525 10340 DEC 0.26366 # W0 AT RELATIVE TIME : 0.25 SECONDS
024470,000454: 21,2526 02767 DEC 0.09322 # W1 AT RELATIVE TIME : 0.25 SECONDS
024471,000455: 21,2527 04210 DEC 0.13332 # W2 AT RELATIVE TIME : 0.25 SECONDS
024472,000456: 21,2530 11461 DEC 0.29988 # W0 AT RELATIVE TIME : 0.20 SECONDS
024473,000457: 21,2531 04030 DEC 0.12645 # W1 AT RELATIVE TIME : 0.20 SECONDS
024474,000458: 21,2532 02466 DEC 0.08144 # W2 AT RELATIVE TIME : 0.20 SECONDS
024475,000459: 21,2533 13107 DEC 0.34809 # W0 AT RELATIVE TIME : 0.15 SECONDS
024476,000460: 21,2534 05760 DEC 0.18652 # W1 AT RELATIVE TIME : 0.15 SECONDS
024477,000461: 21,2535 01255 DEC 0.04182 # W2 AT RELATIVE TIME : 0.15 SECONDS
024478,000462: 21,2536 15114 DEC 0.41088 # W0 AT RELATIVE TIME : 0.10 SECONDS
024479,000463: 21,2537 11614 DEC 0.30542 # W1 AT RELATIVE TIME : 0.10 SECONDS
024480,000464: 21,2540 00372 DEC 0.01526 # W2 AT RELATIVE TIME : 0.10 SECONDS
Page 584 |
024482,000466: 21,2541 17234 DEC 0.47825 # W0 AT RELATIVE TIME : 0.05 SECONDS
024483,000467: 21,2542 22205 DEC 0.57064 # W1 AT RELATIVE TIME : 0.05 SECONDS
024484,000468: 21,2543 00035 DEC 0.00174 # W2 AT RELATIVE TIME : 0.05 SECONDS
024485,000469: # **END CODING FOR MODULE 3 REMAKE, AUGUST 1967*****END CODING FOR MODULE 3 REMAKE, AUGUST 1967*******************
024486,000470:
Page 585 |
024488,000472: # DUMMY TRIM GIMBAL RUPT:
024489,000473:
024490,000474: 21,2544 32401 DGTS CAF MS20F # RESET TIMER IMMEDIATELY - DT = 20 MS
024491,000475: 21,2545 54030 TS TIME5
024492,000476: 21,2546 22016 LXCH BANKRUPT # INTERRUPT LEAD IN (CONTINUED)
024493,000477: 21,2547 00006 EXTEND
024494,000478: 21,2550 22012 QXCH QRUPT
024495,000479:
024496,000480: 21,2551 00006 EXTEND # SET UP FILTER RUPT
024497,000481: 21,2552 32411 DCA POSTPFIL
024498,000482: 21,2553 53001 DXCH T5ADR
024499,000483:
024500,000484: 21,2554 41735 CS RACDOTMP # STORE NEW VALUES OF QACCDOT, RACCDOT NOW
024501,000485: 21,2555 55535 TS RACCDOT # THAT 100 MS HAVE PASSED. (REMEMBER THAT
024502,000486: 21,2556 41733 CS QACDOTMP # THESE ARE STORED COMPLEMENTED.)
024503,000487: 21,2557 55533 TS QACCDOT
024504,000488: 21,2560 15733 TCF RESUME
024505,000489:
024506,000490: 21,2561 E6,1542 EBANK= DT
024507,000491: 20,3030 BANK 20
024508,000492:
024509,000493: # DUMMY FILTER RUPT AFTER Q,R-AXES RUPT:
024510,000494:
024511,000495: 20,3030 37775 MS30120 OCTAL 37775
024512,000496: 20,3031 E6,1612 EBANK= TQR
024513,000497: 20,3031 02255 34066 PAXBNK20 2CADR PAXIS
024514,000498:
024515,000499: 20,3033 33030 FILDUMMY CAF MS30120 # RESET TIMER IMMEDIATELY - DT= 30 MS
024516,000500: 20,3034 54030 TS TIME5
024517,000501:
024518,000502: 20,3035 22016 LXCH BANKRUPT # INTERRUPT LEAD IN (CONTINUED)
024519,000503: 20,3036 00006 EXTEND # SAVE THE LAST Q ON ALL T5RUPT LEAD IN'S
024520,000504: 20,3037 22012 QXCH QRUPT
024521,000505:
024522,000506: 20,3040 00006 EXTEND # SET UP PAXIS RUPT
024523,000507: 20,3041 33032 DCA PAXBNK20
024524,000508: 20,3042 53001 DXCH T5ADR
024525,000509:
024526,000510: 20,3043 03105 TC TORQUEVK
024527,000511: 20,3044 15733 TCF RESUME
024528,000512:
024529,000513: # START CODING FOR MODULE 3 REMAKE, AUGUST 1967***START CODING FOR MODULE 3 REMAKE, AUGUST 1967*******************
024530,000514:
024531,000515: # CODING FOR RATE HOLD MODE WRITTEN OVER.
024532,000516:
024533,000517: # FROM ENGINOF1. MAKE SURE FLAGS FOR EXTRAORDINARY GTS ARE DOWN.
024534,000518:
024535,000519: 20,3045 35632 RESETCTR CA EBANK6 # SAVE CALLERS EBANK.
024536,000520: 20,3046 56003 XCH EBANK
024537,000521: 20,3047 54066 TS ITEMP6 # SAVE L IN CASE THIS WAS 1STENGOF.
Page 586 |
024539,000523: 20,3050 37745 CAF NEGMAX
024540,000524: 20,3051 55744 TS TRIMCNTR
024541,000525: 20,3052 37767 CAF ZERO
024542,000526: 20,3053 55745 TS GTSMNITR
024543,000527:
024544,000528: 20,3054 30066 CA ITEMP6 # RESTORE CALLERS EBANK.
024545,000529: 20,3055 54003 TS EBANK
024546,000530:
024547,000531: 20,3056 00002 TC Q # RETURN TO CALLER OF ENGINOFF OR ENGINOF1
024548,000532:
024549,000533: # FROM APSENGON - STORE IGNITION TIME FOR THE ENGINOFF DELAY LOGIC.
024550,000534:
024551,000535: 20,3057 55310 20INSRTA TS DVSELECT # STORE PGNSCADR IN DVSELECT
024552,000536:
024553,000537: 20,3060 00006 EXTEND
024554,000538: 20,3061 30025 DCA TIME2 # STORE CURRENT TIME IN /TEMP3/
024555,000539: 20,3062 53760 DXCH /TEMP3/
024556,000540: 20,3063 12204 TCF 20INSRT +1
024557,000541:
024558,000542: # FROM ENGINOFF - PREPARE FOR TRANSFER TO THE ENGINOFF DELAY LOGIC.
024559,000543:
024560,000544: 20,3064 00006 20INSRTB EXTEND # SAVE Q FOR AN INDEFINITE TIME - IT
024561,000545: 20,3065 22376 QXCH /TEMP1/ # POINTS TO SWRETURN OR ISWRETRN.
024562,000546: 20,3066 35632 CAF EBANK6
024563,000547: 20,3067 56003 XCH EBANK # GO TO EBANK 6 AND STORE CALLERS EBANK.
024564,000548: 20,3070 55756 TS /TEMP2/
024565,000549:
024566,000550: 20,3071 31763 CA TMINAPS # IF TMINAPS IS NEGATIVE OR ZERO DO NOT
024567,000551: 20,3072 00006 EXTEND # DELAY THE ENGINOFF CALL.
024568,000552: 20,3073 63076 BZMF 20INSRTC
024569,000553:
024570,000554: 20,3074 05225 TC POSTJUMP # *TMINAPS OK. JUMP TO THE DELAY LOGIC*
024571,000555: 20,3075 36173 CADR 17INSRT
024572,000556:
024573,000557: 20,3076 31756 20INSRTC CA /TEMP2/ # RESTORE EBANK AND RETURN TO ENGINOFF.
024574,000558: 20,3077 54003 TS EBANK
024575,000559: 20,3100 12264 TCF ENGINOFF +1
024576,000560:
024577,000561: # FOLLOWING CODING LEFT IN PLACE TO PRESERVE RELATIVE ADDRESSES.
024578,000562:
024579,000563: 20,3101 54771 TS DELCDUX # IF 0, DONE DELCDUY AND ZERO DELCDUX.
024580,000564:
024581,000565:
024582,000566:
024583,000567: 20,3102 03105 +5 TC TORQUEVK
024584,000568: 20,3103 15733 TCF RESUME
024585,000569: 20,3104 04736 TC CCSHOLE
024586,000570:
024587,000571: # **END CODING FOR MODULE 3 REMAKE, AUGUST 1967*****END CODING FOR MODULE 3 REMAKE, AUGUST 1967*******************
024588,000572:
Page 587 |
024590,000574: # THIS SUBROUTINE COMPUTES JET TORQUE CONTRIBUTION TO RATE
024591,000575:
024592,000576:
024593,000577: 20,3105 41612 TORQUEVK CS TQR # TQR IS SCALED THE SAME AS TIME 6
024594,000578: 20,3106 63213 AD CSPINKF
024595,000579: 20,3107 00006 EXTEND
024596,000580: 20,3110 63126 BZMF FULLCSP
024597,000581: 20,3111 31612 CA TQR
024598,000582: 20,3112 00006 EXTEND
024599,000583: 20,3113 77757 MP BIT5
024600,000584: 20,3114 30001 CAE L
024601,000585: 20,3115 00006 EXTEND
024602,000586: 20,3116 73210 MP 16/25KF
024603,000587: 20,3117 55612 TS TQR
024604,000588: 20,3120 00006 EXTEND
024605,000589: 20,3121 22066 QXCH ITEMP6
024606,000590: 20,3122 03140 TC JETTSUB
024607,000591: 20,3123 37767 CAF ZERO
024608,000592: 20,3124 55612 TS TQR
024609,000593: 20,3125 00066 TC ITEMP6 # RETURN TO TORQUEVK CALLER
024610,000594: 20,3126 40000 FULLCSP COM # WE COME HERE WHEN TQR GREATER THAN .1SEC
024611,000595: 20,3127 54062 TS ITEMP2
024612,000596: 20,3130 33211 CA CSPAT1 # CSP (.1 SEC) SCALED AT 1.
024613,000597: 20,3131 55612 TS TQR # TEMPORARY, LATER TQR:.1=TQR
024614,000598: 20,3132 00006 EXTEND
024615,000599: 20,3133 22066 QXCH ITEMP6
024616,000600: 20,3134 03140 TC JETTSUB
024617,000601: 20,3135 30062 CAE ITEMP2
024618,000602: 20,3136 55612 TS TQR
024619,000603: 20,3137 00066 TC ITEMP6 # RETURN TO TORQUEVK CALLER.
024620,000604:
024621,000605: # A SUBROUTINE WHICH,GIVEN TQR SCALED AT 1, FINDS JETRATE AND SUMRATE.
024622,000606:
024623,000607: 20,3140 00006 JETTSUB EXTEND
024624,000608: 20,3141 71607 MP NO.QJETS
024625,000609: 20,3142 30001 CAE L
024626,000610: 20,3143 00006 EXTEND
024627,000611: 20,3144 71614 MP 1JACCQ
024628,000612: 20,3145 55605 TS JETRATEQ # TEMP STORE OF ACC*NJETS*TQR FOR Q AXIS.
024629,000613: 20,3146 27624 ADS SUMRATEQ # SUMRATE =SUMRATE+ACC*NJETS*TQR, WHICH IS
024630,000614: 20,3147 31612 CAE TQR # THE ACCUMULATED JET FIRING ACC. OVER
024631,000615: 20,3150 00006 EXTEND # A TWO SECOND INTERVAL.
024632,000616: 20,3151 71610 MP NO.RJETS # SAME AS ABOVE FOR R AXIS THIS TIME.
024633,000617: 20,3152 30001 CAE L
024634,000618: 20,3153 00006 EXTEND
024635,000619: 20,3154 71615 MP 1JACCR
024636,000620: 20,3155 55606 TS JETRATER
024637,000621: 20,3156 27625 ADS SUMRATER
024638,000622:
Page 588 |
024640,000624: 20,3157 11732 CCS AOSCOUNT # TEST TO SEE IF AOSTASK IS COMING UP:
024641,000625: 20,3160 13167 TCF WATERATE # NO, SKIP.
024642,000626:
024643,000627: 20,3161 41605 CS JETRATEQ # REMOVE THE MOST RECENT JETRATES FROM THE
024644,000628: 20,3162 55622 TS SAVRATEQ # SUMRATES AND SET UP INITIALIZATION OF
024645,000629: 20,3163 27624 ADS SUMRATEQ # THE SUMRATES FOR THE NEXT 2 SECOND
024646,000630: 20,3164 41606 CS JETRATER # INTERVAL. (SAVED AS NEGATIVES.)
024647,000631: 20,3165 55623 TS SAVRATER
024648,000632: 20,3166 27625 ADS SUMRATER
024649,000633:
024650,000634: 20,3167 31641 WATERATE CAE WFORQR # WFORQR IS SCALED AT 16 BUT THE ALGORITHM
024651,000635: 20,3170 00006 EXTEND # USES W/2 THUS THE SCALING IS 8 HERE.
024652,000636: 20,3171 71612 MP TQR
024653,000637: 20,3172 61643 AD (1-K)/8 # THE ALGORITHM IMPLEMENTED IS....
024654,000638: 20,3173 00006 EXTEND # JETRATE = TQR*NJET*ACC*(1-K+N*TQR/2)
024655,000639: 20,3174 77760 MP BIT4 # FOR THE Q AND R AXES RESPECTIVELY.
024656,000640: 20,3175 22061 LXCH ITEMP1 # THE FINAL SCALING OF JETRATE IS PI/4.
024657,000641: 20,3176 31605 CAE JETRATEQ
024658,000642: 20,3177 00006 EXTEND
024659,000643: 20,3200 70061 MP ITEMP1
024660,000644: 20,3201 55605 TS JETRATEQ
024661,000645: 20,3202 31606 CAE JETRATER
024662,000646: 20,3203 00006 EXTEND
024663,000647: 20,3204 70061 MP ITEMP1
024664,000648: 20,3205 55606 TS JETRATER
024665,000649: 20,3206 00002 TC Q
024666,000650: 20,3207 00632 100MSCAL DEC 0.025
024667,000651: 20,3210 24366 16/25KF DEC 0.64000
024668,000652: 20,3211 03146 CSPAT1 DEC 0.10000
024669,000653: 20,3212 77754 -DELAYT DEC -19 B-14 # -11.875 MS SCALED AS TIME6.
024670,000654: 20,3213 00240 CSPINKF DEC 0.00977
024671,000655:
Page 589 |
024673,000657: # THIS T5RUPT TAKES THE SQUARE ROOT AND CALLS TORQUEVK
024674,000658: 20,3214 33030 DORUTDUM CAF MS30120 # FILDUMMY ENTRY EVERY TIME WE DO SQ. ROOT
024675,000659: 20,3215 54030 TS TIME5
024676,000660: 20,3216 22016 LXCH BANKRUPT
024677,000661: 20,3217 00006 EXTEND
024678,000662: 20,3220 22012 QXCH QRUPT
024679,000663:
024680,000664: 20,3221 00006 EXTEND
024681,000665: 20,3222 33032 DCA PAXBNK20
024682,000666: 20,3223 53001 DXCH T5ADR
024683,000667:
024684,000668: 20,3224 00006 EXTEND
024685,000669: 20,3225 41512 DCS TERMB
024686,000670: 20,3226 05270 TC IBNKCALL
024687,000671: 20,3227 54525 CADR DAPSQRT
024688,000672: 20,3230 61510 AD TERMA
024689,000673: 20,3231 60000 DOUBLE # RESCALE TO T6 SCALING
024690,000674: 20,3232 00006 EXTEND
024691,000675: 20,3233 73244 MP 25/32KF
024692,000676: 20,3234 55612 TS TQR
024693,000677: 20,3235 63212 AD -DELAYT # TQR SHOULD HOLD THE COMPLETE ON-TIME.
024694,000678: 20,3236 55475 TS TOFJTCHG
024695,000679: 20,3237 03105 TC TORQUEVK
024696,000680:
024697,000681: 20,3240 31654 CAE CH5TEMP
024698,000682: 20,3241 71471 MASK JTSONNOW
024699,000683: 20,3242 05225 TC POSTJUMP
024700,000684: 20,3243 36500 CADR FROMROOT
024701,000685:
024702,000686: 20,3244 31000 25/32KF DEC 0.78125
024703,000687:
Page 590 |
024705,000689: # SUBROUTINE: DISPDRIV MOD. NO. 0 DATE: NOVEMBER 14, 1966
024706,000690:
024707,000691: # AUTHOR: JONATHAN D. ADDELSTON (ADAMS ASSOCIATES)
024708,000692:
024709,000693: # THIS SUBROUTINE SETS THE ICDU DRIVE BITS EVERY OTHER TIME IT IS CALLED. IT ALWAYS CHANGES THE VALUE OF
024710,000694: # "DISPLACT" TO INDICATE THE PASSING OF 100 MS, SINCE THIS FLAG IS TESTED BY "EIGHTBAL" IN THE P-AXIS T5RUPT.
024711,000695: # THE ICDU IS DRIVEN ONLY 30 MS AFTER "EIGHTBAL" ENABLED IT.
024712,000696:
024713,000697: # CALLING SEQUENCES (FROM "DUMMYFIL" AND "FILTER"):
024714,000698:
024715,000699: # L TC DISPDRIV (MUST BE FROM SAME BANK)
024716,000700: # L +1 (RETURN)
024717,000701:
024718,000702: # SUBROUTINES CALLED: NONE. NORMAL EXIT: BY TC Q TO L +1 .
024719,000703:
024720,000704: # ALARM/ABORT MODES: NONE. INPUT: PRESENT VALUE IN DISPLACT ,
024721,000705:
024722,000706: # OUTPUT: OPPOSITE VALUE OF "DISPLACT" AND ICDU BITS (WHEN NECESSARY).
024723,000707:
024724,000708: # DEBRIS: A,Q.
024725,000709:
024726,000710:
024727,000711:
024728,000712: 20,3245 E6,1542 EBANK= DT
024729,000713: 21,2561 BANK 21
024730,000714: 21,2561 11515 DISPDRIV CCS DISPLACT # TEST PHASE OF EIGHTBAL .
024731,000715: 21,2562 12567 TCF +5 # (NO DRIVING ON THIS PASS.) RESET FLAG.
024732,000716:
024733,000717: 21,2563 32571 CAF OCT70000 # SET ICDU DRIVE BITS.
024734,000718: 21,2564 00006 EXTEND
024735,000719: 21,2565 05014 WOR 14
024736,000720:
024737,000721: 21,2566 37763 CAF ONE # RESET FLAG.
024738,000722: 21,2567 55515 TS DISPLACT
024739,000723:
024740,000724: 21,2570 00002 TC Q # RETURN
024741,000725:
024742,000726: 21,2571 70000 OCT70000 OCTAL 70000 # ICDU DRIVE BITS OF CHANNEL 14.
End of include-file KALMAN_FILTER_FOR_LM_DAP.agc. Parent file is MAIN.agc