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