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