Source Code
These source code files are an attempted reconstruction of Sundance revision 306, the Apollo 9
LM (Lunar Module) AGC (Apollo Guidance Computer) flight software, created from binary dumps of
original core rope program modules, as follows:
|
055824,000002: ## Copyright: Public domain.
055825,000003: ## Filename: DAPIDLER_PROGRAM.agc
055826,000004: ## Purpose: A section of an attempt to reconstruct Sundance revision 306
055827,000005: ## as closely as possible with available information. Sundance
055828,000006: ## 306 is the source code for the Lunar Module's (LM) Apollo
055829,000007: ## Guidance Computer (AGC) for Apollo 9. This program was created
055830,000008: ## using the mixed-revision SundanceXXX as a starting point, and
055831,000009: ## pulling back features from Luminary 69 believed to have been
055832,000010: ## added based on memos, checklists, observed address changes,
055833,000011: ## or the Sundance GSOPs.
055834,000012: ## Assembler: yaYUL
055835,000013: ## Contact: Ron Burkey <info@sandroid.org>.
055836,000014: ## Website: www.ibiblio.org/apollo/index.html
055837,000015: ## Mod history: 2020-07-24 MAS Created from SundanceXXX.
055838,000016:
055839,000017:
055840,000018:
055841,000019: # THE DAPIDLER PROGRAM IS STARTED BY FRESH START AND RESTART. THE DAPIDLER PROGRAM IS DONE 10 TIMES
055842,000020: # PER SECOND UNTIL THE ASTRONAUT DESIRES THE DAP TO WAKE UP, AND THE IMU AND CDUS ARE READY FOR USE BY THE DAP.
055843,000021: # THE NECESSARY INITIALIZATION OF THE DAP IS DONE BY THE DAPIDLER PROGRAM.
055844,000022:
055845,000023: 16,2043 BANK 16
055846,000024: 16,2000 SETLOC DAPS1
055847,000025: 16,2000 BANK
055848,000026:
055849,000027: 16,2043 E6,1532 EBANK= AOSQ
055850,000028:
055851,000029: 16,2043 COUNT* $$/DAPID
055852,000030:
055853,000031: 16,2043 00006 CHEKBITS EXTEND
055854,000032: 16,2044 00031 READ CHAN31 # IF BOTH BIT13 AND BIT14 ARE ONE, THEN
055855,000033: 16,2045 40000 COM # THE MODE SELECT SWITCH IS IN THE OFF
055856,000034: 16,2046 74367 MASK BIT13-14 # POSITION, AND SO THE DAP SHOULD BE OFF,
055857,000035: 16,2047 00006 EXTEND # WITH NO ATTITUDE ERROR DISPLAY.
055858,000036: 16,2050 12206 BZF MOREIDLE
055859,000037:
055860,000038: 16,2051 41305 CS IMODES33
055861,000039: 16,2052 75021 MASK BIT6
055862,000040: 16,2053 10000 CCS A
055863,000041: 16,2054 12236 TCF ALTDSPLY
055864,000042: 16,2055 41275 CS RCSFLAGS # IMU NOT USABLE. SET UP INITIALIZATION
055865,000043: 16,2056 75024 MASK BIT3 # FLAG FOR ATT ERROR DISPLAY ROUTINE.
055866,000044: 16,2057 27275 ADS RCSFLAGS
055867,000045: 16,2060 12212 TCF SHUTDOWN
055868,000046:
055869,000047: 16,2061 35015 CHEKMORE CAF BIT10 # BIT 10 OF 30 IS PGNCS CONTROL OF S/C
055870,000048: 16,2062 00006 EXTEND
055871,000049: 16,2063 02030 RAND CHAN30 # BITS IN 30 ARE INVERTED
055872,000050: 16,2064 10000 CCS A
055873,000051: 16,2065 12206 TCF MOREIDLE
055874,000052:
055875,000053: 16,2066 00002 RETURN
055876,000054:
055877,000055: # DAPIDLER ENTRY.
055878,000056:
055879,000057: 16,2067 22016 DAPIDLER LXCH BANKRUPT # INTERRUPT LEAD INS (CONTINUED)
055880,000058: 16,2070 00006 EXTEND
055881,000059: 16,2071 22012 QXCH QRUPT
055882,000060:
055883,000061: 16,2072 11631 CCS ACCSET # CHECK IF 1/ACCJOB HAS BEEN SET UP SINCE
055884,000062: 16,2073 12101 TCF CHECKUP # THE LAST FRESH START OR RESTART.
055885,000063: 16,2074 37667 CAF PRIO27
055886,000064: 16,2075 55631 TS ACCSET # ACCSET IS POSITIVE.
055887,000065: 16,2076 05142 TC NOVAC # SET UP JOB TO DO A LITTLE INITIALIZATION
055888,000066: 16,2077 E6,1532 EBANK= AOSQ # AND EXECUTE 1/ACCS.
055889,000067: 16,2077 02305 40106 1/ACCSAD 2CADR 1/ACCSET # (WILL BRANCH TO MOREIDLE ON ACCSOKAY)
055890,000068:
055891,000069: 16,2101 02043 CHECKUP TC CHEKBITS # CHECK TO SEE IF LM DAP IS TO GO ON AND
055892,000070: # DO ERROR DISPLAY.
055893,000071:
055894,000072: 16,2102 31102 CAE DAPBOOLS # IF 1/ACCS HAS NOT BEEN COMPLETED, IDLE.
055895,000073: 16,2103 75024 MASK ACCSOKAY # NOTE: ONLY FRESH START AND RESTART
055896,000074: 16,2104 00006 EXTEND # KNOCK THIS BIT DOWN.
055897,000075: 16,2105 12206 BZF MOREIDLE
055898,000076:
055899,000077: 16,2106 04737 STARTDAP TC IBNKCALL # ZERO ATTITUDE ERROR AND DESIRED RATES.
055900,000078: 16,2107 40232 FCADR ZATTEROR
055901,000079: 16,2110 35030 CAF ZERO # ********** INITIALIZE: **********
055902,000080: 16,2111 55516 TS TJP
055903,000081: 16,2112 55517 TS TJU
055904,000082: 16,2113 55520 TS TJV
055905,000083: 16,2114 55417 TS OMEGAP # RATES IN BODY (PILOT) COORDINATES.
055906,000084: 16,2115 55420 TS OMEGAQ
055907,000085: 16,2116 55421 TS OMEGAR
055908,000086: 16,2117 55426 TS TRAPEDP
055909,000087: 16,2120 55427 TS TRAPEDQ
055910,000088: 16,2121 55430 TS TRAPEDR
055911,000089: 16,2122 55532 TS AOSQ # OFFSET ACCELERATION ESTIMATES.
055912,000090: 16,2123 55533 TS AOSQ +1
055913,000091: 16,2124 55534 TS AOSR
055914,000092: 16,2125 55535 TS AOSR +1
055915,000093: 16,2126 55422 TS ALPHAQ # COPIES OF OFFSET ESTIMATES FOR DOWNLIST.
055916,000094: 16,2127 55423 TS ALPHAR
055917,000095: 16,2130 55540 TS AOSQTERM # QRAXIS RATE DERIVATION TERMS AND KALMAN
055918,000096: 16,2131 55541 TS AOSRTERM # FILTER INITIALIZATION TERMS.
055919,000097: 16,2132 55510 TS QACCDOT # DESCENT ACCELERATION DERIVATIVE EST.
055920,000098: 16,2133 55512 TS RACCDOT
055921,000099: 16,2134 55624 TS ALLOWGTS # AOSTASK FLAG FOR QRAXIS RCS CONTROL USE.
055922,000100: 16,2135 55625 TS COTROLER # DO TRYGTS ON FIRST PASS (WILL GO TO RCS)
055923,000101: 16,2136 55627 TS INGTS # RECOGNIZE FIRST GTS PASS AS SUCH.
055924,000102: 16,2137 55626 TS QGIMTIMR # STOP GIMBAL DRIVES. (PROBABLY WOULD BE
055925,000103: 16,2140 55630 TS RGIMTIMR # GOOD ENOUGH JUST TO INACTIVATE TIMERS)
055926,000104: 16,2141 55443 TS OLDPMIN # MINIMUM IMPULSE MODE ERASABLES
055927,000105: 16,2142 55444 TS OLDQRMIN
055928,000106:
055929,000107: # SET UP "OLD" MEASURED CDU ANGLES:
055930,000108:
055931,000109: 16,2143 00006 EXTEND
055932,000110: 16,2144 30033 DCA CDUX # OLDXFORP AND OLDYFORP
055933,000111: 16,2145 53437 DXCH OLDXFORP
055934,000112: 16,2146 30034 CA CDUZ
055935,000113: 16,2147 55440 TS OLDZFORQ
055936,000114: 16,2150 32234 CAF CHKVISAD
055937,000115: 16,2151 55527 TS PJUMPADR
055938,000116: 16,2152 35024 CA FOUR
055939,000117: 16,2153 55530 TS SKIPU
055940,000118: 16,2154 55531 TS SKIPV
055941,000119: 16,2155 35006 CA POSMAX
055942,000120: 16,2156 54031 TS TIME6
055943,000121: 16,2157 55454 TS T6NEXT
055944,000122: 16,2160 55456 TS T6FURTHA
055945,000123: 16,2161 35030 CA ZERO
055946,000124: 16,2162 55455 TS T6NEXT +1
055947,000125: 16,2163 55457 TS T6FURTHA +1
055948,000126: 16,2164 55453 TS NXT6ADR
055949,000127: 16,2165 55460 TS NEXTP
055950,000128: 16,2166 55461 TS NEXTU
055951,000129: 16,2167 55462 TS NEXTV
055952,000130: 16,2170 44375 CS TEN
055953,000131: 16,2171 55752 TS DAPZRUPT # JASK NOT IN PROGRESS, INITIALIZE NEG.
055954,000132: 16,2172 35025 CA TWO
055955,000133: 16,2173 55431 TS NPTRAPS
055956,000134: 16,2174 55432 TS NQTRAPS
055957,000135: 16,2175 55433 TS NRTRAPS
055958,000136: 16,2176 00006 EXTEND
055959,000137: 16,2177 32233 DCA PAXADIDL
055960,000138: 16,2200 53277 DXCH T5ADR
055961,000139: 16,2201 37701 SETTIME5 CAF MS100
055962,000140: 16,2202 54030 TS TIME5
055963,000141: 16,2203 15340 TCF RESUME
055964,000142: 16,2204 E6,1532 EBANK= AOSQ
055965,000143: 16,2204 02067 34106 IDLERADR 2CADR DAPIDLER
055966,000144: 16,2206 04737 MOREIDLE TC IBNKCALL # CALCULATE Q,R-AXES ATTITUDE ERRORS.
055967,000145: 16,2207 36426 CADR QERRCALC
055968,000146:
055969,000147: 16,2210 04737 TC IBNKCALL
055970,000148: 16,2211 35476 CADR CALCPERR # CALCULATE P AXIS ATTITUDE ERRORS.
055971,000149:
055972,000150: 16,2212 00006 SHUTDOWN EXTEND
055973,000151: 16,2213 32205 DCA IDLERADR
055974,000152: 16,2214 53277 DXCH T5ADR
055975,000153:
055976,000154: 16,2215 35030 CAF ZERO # KILL ANY POSSIBLE JET REQUESTS
055977,000155: 16,2216 55460 TS NEXTP
055978,000156: 16,2217 55461 TS NEXTU
055979,000157: 16,2220 55462 TS NEXTV
055980,000158: 16,2221 00006 EXTEND # COMMAND JETS OFF.
055981,000159: 16,2222 01005 WRITE CHAN5
055982,000160: 16,2223 00006 EXTEND
055983,000161: 16,2224 01006 WRITE CHAN6
055984,000162: 16,2225 42231 CS BGIM23 # TURN TRIM GIMBAL OFF
055985,000163: 16,2226 00006 EXTEND
055986,000164: 16,2227 03012 WAND CHAN12
055987,000165: 16,2230 12201 TCF SETTIME5 # RETURN IN 100 MSEC.
055988,000166:
055989,000167: 16,2231 07400 BGIM23 OCTAL 07400
055990,000168: 16,2232 E6,1417 EBANK= OMEGAP
055991,000169: 16,2232 02444 34106 PAXADIDL 2CADR PAXIS
055992,000170:
055993,000171: 16,2234 03112 CHKVISAD ADRES CHKVISFZ
055994,000172: 16,2235 02077 ACCSETAD ADRES 1/ACCSAD
055995,000173:
055996,000174: 16,2236 7701 MS100 = OCT37766
055997,000175: 16,2236 0061 COSMG = ITEMP1
055998,000176:
055999,000177: # PROGRAM: ALTDSPLY
056000,000178: # MOD 0. 6 DEC 1967
056001,000179: # AUTHOR: CRAIG WORK, DON KEENE, MIT IL
056002,000180: # MOD 3 BY DON KEENE AUG 1, 1968 MOVED PROGRAM TO BANK 20
056003,000181:
056004,000182: # PROGRAM DESCRIPTION:
056005,000183: # ALTDSPLY REVERSES THE DSPLYALT BIT OF RCSFLAGS EACH TIME IT IS CALLED, WHICH IS PRESUMABLY EVERY 100 MS.
056006,000184: # IF THE REVERSED BIT IS ONE, NEEDLER IS CALLED TO DISPLAY ATTITUDE ERRORS. IF THE BIT IS ZERO, THE ATTITUDE ERR-
056007,000185: # ORS ARE CALCULATED AS 1) DAP FOLLOWING ERRORS, IF NEEDLFLG = 0, AND 2) TOTAL ATTITUDE ERRORS FOR NEEDLFLG = 1.
056008,000186:
056009,000187:
056010,000188: # WARNING: ALTDSPLY MAY ONLY BE CALLED WITH INTERRUPT INHIBITED.
056011,000189:
056012,000190: # WARNING: EBANK MUST BE SET TO 6 WHEN USING THIS ROUTINE.
056013,000191:
056014,000192: # INPUT: RCSFLAGS AND 1) IF NEEDLFLG = 0, INPUT PERROR, QERROR, RERROR.
056015,000193: # 2) IF NEEDLFLG = 1, INPUT CPHI,CTHETA,CPSI,CDUX,CDUY,CDUZ,M11,M21,M31,M22,M32. (GPMATRIX)
056016,000194:
056017,000195:
056018,000196: # OUTPUTS: RCSFLAGS WITH DSPLYALT REVERSED, AK, AK1, AK2, + NEEDLER OUTPUTS.
056019,000197:
056020,000198: # ENTRY: TCF ALTDSPLY
056021,000199:
056022,000200: # EXIT: TCF CHEKMORE
056023,000201:
056024,000202: # ALARM OR ABORT EXITS: NONE
056025,000203:
056026,000204: # SUBPROGRAMS CALLED: NEEDLER, OVERSUB2
056027,000205:
056028,000206: # DEBRIS: A, L, AND NEEDLER DEBRIS.
056029,000207:
056030,000208: 16,2236 31275 ALTDSPLY CA RCSFLAGS # INVERT THE DISPLAY ALTERNATION BIT.
056031,000209: 16,2237 54001 TS L
056032,000210: 16,2240 35023 CA DSPLYALT
056033,000211: 16,2241 00006 EXTEND
056034,000212: 16,2242 06001 RXOR LCHAN
056035,000213: 16,2243 55275 TS RCSFLAGS
056036,000214:
056037,000215: 16,2244 75023 MASK DSPLYALT
056038,000216: 16,2245 10000 CCS A # IS ALTERNATION FLAG ZERO?
056039,000217: 16,2246 12331 TCF NEEDLER
056040,000218:
056041,000219: 16,2247 30074 CAE FLAGWRD0 # NEEDLFLG WILL INDICATE TOTAL OR DAP AT-
056042,000220: 16,2250 75023 MASK NEEDLBIT # TITUDE ERROR DISPLAY REQUEST.
056043,000221: 16,2251 10000 CCS A
056044,000222: 16,2252 12261 TCF DSPLYTOT # TOTAL ERROR IS NEEDED IN AK, AK +1, AK +2
056045,000223:
056046,000224: 16,2253 00006 EXTEND
056047,000225: 16,2254 41452 DCS QERROR # YES. DISPLAY ATT ERRORS ON THE ,-BALL.
056048,000226: 16,2255 53756 DXCH AK +1 # ERROR COMPLEMENTS ARE INPUT TO NEEDLER.
056049,000227: 16,2256 41450 CS PERROR
056050,000228: 16,2257 57754 XCH AK
056051,000229:
056052,000230: 16,2260 12061 TCF CHEKMORE # DISPLAY THESE THE NEXT TIME THROUGH
056053,000231:
056054,000232: # CALCULATE GIMBAL ANGLE TOTAL ERRORS, RESOLVE INTO PILOT AXES, STORE TOTAL ERRORS FOR NEEDLER. Q-AXIS FIRST.
056055,000233:
056056,000234: 16,2261 00006 DSPLYTOT EXTEND
056057,000235: 16,2262 22061 QXCH ITEMP1 # SAVE Q FOR CHEKBITS RETURN.
056058,000236:
056059,000237: 16,2263 31207 CA CTHETA # DESIRED ATTITUDE, Y-AXIS, 2'S COMP.
056060,000238: 16,2264 00006 EXTEND # SUBTRACT CURRENT ATTITUDE.
056061,000239: 16,2265 20033 MSU CDUY # DIFFERENCE SCALED AT PI, 1'S COMP.
056062,000240: 16,2266 55754 TS AK # SAVE FOR R-ERROR CALCULATION.
056063,000241: 16,2267 00006 EXTEND
056064,000242: 16,2270 71413 MP M21 # (CHTETA-CDUY)*M21 SCALED AT PI RADIANS.
056065,000243: 16,2271 57755 XCH AK +1 # STORE FIRST TERM OF Q ERROR.
056066,000244: 16,2272 31210 CA CPSI # DESIRED ATTITUDE, Z-AXIS, 2'S COMP.
056067,000245: 16,2273 00006 EXTEND # SUBTRACT CURRENT ATTITUDE.
056068,000246: 16,2274 20034 MSU CDUZ # DIFFERENCE SCALED AT PI, 1'S COMP.
056069,000247: 16,2275 55756 TS AK +2 # SAVE Z-AXIS TERM FOR R ERROR CALCULATION
056070,000248: 16,2276 00006 EXTEND
056071,000249: 16,2277 71415 MP M22 # (CPSI-CDUZ)*M22, SCALED AT PI RADIANS.
056072,000250: 16,2300 61755 AD AK +1 # Q ERROR COMPLETE , AT PI RAD.
056073,000251: 16,2301 02524 TC OVERSUB # PIN NEEDLES IN CASE OF OVERFLOW.
056074,000252: 16,2302 55755 TS AK +1
056075,000253:
056076,000254: # R ERROR CALCULATION NEXT.
056077,000255:
056078,000256: 16,2303 31754 CA AK # Y-AXIS DIFFERENCE STORED BY Q-AXIS CALC.
056079,000257: 16,2304 00006 EXTEND
056080,000258: 16,2305 71414 MP M31 # (CTHETA-CDUY)*M31, SCALED AT PI RADIANS.
056081,000259: 16,2306 57756 XCH AK +2 # FIRST TERM OF R ERROR.
056082,000260: # Z-AXIS DIFFERENCE, STORED BY A CALC. IS
056083,000261: 16,2307 00006 EXTEND # RECOVERED BY THE EXCHANGE.
056084,000262: 16,2310 71416 MP M32 # (CPSI-CDUZ)*M32, SCALED AT PI RADIANS.
056085,000263: 16,2311 61756 AD AK +2 # R ERROR COMPLETE , AT PI RAD.
056086,000264: 16,2312 02524 TC OVERSUB # PIN NEEDLES IN CASE OF OVERFLOW.
056087,000265: 16,2313 55756 TS AK +2
056088,000266:
056089,000267: # NOW CALCULATE P ERROR. (NOTE THAT M13 = 1, SCALED AT 1, SO THE MULTIPLICATION IS BY-PASSED.)
056090,000268: 16,2314 31754 CA AK # Y-AXIS DIFFERENCE STORED BY Q AXIS CALC.
056091,000269: 16,2315 00006 EXTEND
056092,000270: 16,2316 71412 MP M11 # (CTHETA-CDUY)*M11 SCALED AT PI RADIANS.
056093,000271: 16,2317 57754 XCH AK # FIRST TERM OF P ERROR IN AK, AT PI RAD.
056094,000272: 16,2320 31206 CAE CPHI # DESIRED ATTITUDE, X-AXIS, 2'S COMP.
056095,000273: 16,2321 00006 EXTEND # SUBTRACT CURRENT X ATTITUDE.
056096,000274: 16,2322 20032 MSU CDUX # X-AXIS DIFFERENCE, 1'S COMP, AT PI RAD.
056097,000275:
056098,000276: # M13 = 1, SO BYPASS THE MULTIPLICATION.
056099,000277: # EXTEND
056100,000278: # MP M13 (CPHI-CDUX)*M13 SCALED AT PI RADIANS.
056101,000279:
056102,000280: 16,2323 61754 AD AK # P ERROR COMPLETE , SCALED AT PI RAD
056103,000281: 16,2324 02524 TC OVERSUB # PIN NEEDLES IN CASE OF OVERFLOW.
056104,000282: 16,2325 55754 TS AK
056105,000283:
056106,000284: 16,2326 00006 EXTEND
056107,000285: 16,2327 22061 QXCH ITEMP1 # RESTORE Q FOR CHEKBITS RETURN.
056108,000286:
056109,000287: 16,2330 12061 TCF CHEKMORE # DISPLAY THESE THE NEXT TIME THROUGH
056110,000288:
056111,000289: # FDAI ATTITUDE ERROR DISPLAY SUBROUTINE
056112,000290:
056113,000291: # PROGRAM DESCRIPTION: D. KEENE 5/24/67
056114,000292: # MOD 1 BY CRAIG WORK, 12 DEC 67
056115,000293: # MOD 2 BY CRAIG WORK, 6 APRIL 68 CONVERTS ATTITUDE ERROR DISPLAY SCALING FROM 16 7/8 DEG. TO 42 3/16 DEGREES.
056116,000294:
056117,000295: # THIS SUBROUTINE IS USED TO DISPLAY ATTITUDE ERRORS ON THE FDAI VIA THE DIGITAL TO ANALOG CONVERTERS (DACS)
056118,000296: # IN THE CDUS. CARE IS TAKEN TO METER OUT THE APPROPRIATE NUMBER OF PULSES TO THE IMU ERROR COUNTERS AND PREVENT
056119,000297: # OVERFLOW, TO CONTROL THE RELAY SEQUENCING, AND TO AVOID INTERFERENCE WITH THE COARSE ALIGN LOOP WHICH ALSO USES
056120,000298: # THE DACS.
056121,000299:
056122,000300: # CALLING SEQUENCE:
056123,000301: # DURING THE INITIALIZATION SECTION OF THE USER'S PROGRAM, BIT3 OF RCSFLAGS SHOULD BE SET TO INITIATE THE
056124,000302: # TURN-ON SEQUENCE WITHIN THE NEEDLES PROGRAM:
056125,000303: # CS RCSFLAGS IN EBANK6
056126,000304: # MASK BIT3
056127,000305: # ADS RCSFLAGS
056128,000306: # THEREAFTER, THE ATTITUDE ERRORS GENERATED BY THE USER SHOULD BE TRANSFERED TO THE FOLLOWING LOCATIONS IN EBANK6:
056129,000307: # AK SCALED 180 DEGREES NOTE: THESE LOCATIONS ARE SUBJECT
056130,000308: # AK1 SCALED 180 DEGREES TO CHANGE
056131,000309: # AK2 SCALED 180 DEGREES
056132,000310: # FULL SCALED DEFLECTION OF THE NEEDLES CORRESPONDS TO 5 1/16 DEGREES, WHILE 384 BITS IN THE IMU ERROR COUNTER
056133,000311: # CORRESPONDS TO 42 3/16 DEGREES. (DAC MAXIMUM CAPACITY IS 384 BITS.) 46 BITS EFFECTIVELY PIN THE NEEDLES.
056134,000312:
056135,000313: # A CALL TO NEEDLER WILL THEN UPDATE THE DISPLAY:
056136,000314: # INHINT
056137,000315: # TC IBNKCALL NOTE: EBANK SHOULD BE SET TO E6
056138,000316: # CADR NEEDLER
056139,000317: # RELINT
056140,000318: # THIS PROCESS SHOULD BE REPEATED EACH TIME THE ERRORS ARE UPDATED. AT LEAST 3 PASSES THRU THE PROGRAM ARE
056141,000319: # REQUIRED BEFORE ANYTHING IS ACTUALLY DISPLAYED ON THE ERROR METERS.
056142,000320: # NOTE: EACH CALL TO NEEDLER MUST BE SEPARATED BY AT LEAST 50 MS TO ASSURE PROPER RELAY SEQUENCING.
056143,000321:
056144,000322: # ERASABLE USED:
056145,000323: # AK CDUXCMD
056146,000324: # AK1 CDUYCMD
056147,000325: # AK2 CDUZCMD
056148,000326: # EDRIVEX A,L,Q
056149,000327: # EDRIVEY T5TEMP
056150,000328: # EDRIVEZ DINDX
056151,000329:
056152,000330: # SWITCHES: RCSFLAGS BITS 3,2
056153,000331:
056154,000332: # I/O CHANNELS: CHAN12 BIT 4 (COARSE ALIGN - READ ONLY)
056155,000333: # CHAN12 BIT 6 (IMU ERROR COUNTER ENABLE)
056156,000334: # CHAN14 BIT 13,14,15 (DAC ACTIVITY)
056157,000335:
056158,000336: # SIGN CONVENTION< AK = THETAC - THETA
056159,000337: # WHERE THETAC = COMMAND ANGLE
056160,000338: # THETA = PRESENT ANGLE
056161,000339:
056162,000340: 16,2331 31275 NEEDLER CA RCSFLAGS
056163,000341: 16,2332 76216 MASK SIX
056164,000342: 16,2333 00006 EXTEND
056165,000343: 16,2334 12371 BZF NEEDLES3
056166,000344: 16,2335 75024 MASK BIT3
056167,000345: 16,2336 00006 EXTEND
056168,000346: 16,2337 12362 BZF NEEDLER2 # BIT3 = 0, BIT2 = 1
056169,000347:
056170,000348: 16,2340 45021 CS BIT6 # FIRST PASS BIT3 = 1
056171,000349: 16,2341 00006 EXTEND # DISABLE IMU ERROR COUNTER TO ZERO DACS
056172,000350: 16,2342 03012 WAND CHAN12 # MUST WAIT AT LEAST 60 MS BEFORE
056173,000351: 16,2343 45030 NEEDLE11 CS ZERO # ENABLING COUNTERS.
056174,000352: 16,2344 55754 TS AK # ZERO THE INPUTS ON FIRST PASS
056175,000353: 16,2345 55755 TS AK1
056176,000354: 16,2346 55756 TS AK2
056177,000355: 16,2347 55757 TS EDRIVEX # ZERO THE DISPLAY REGISTERS
056178,000356: 16,2350 55760 TS EDRIVEY
056179,000357: 16,2351 55761 TS EDRIVEZ
056180,000358: 16,2352 54050 TS CDUXCMD # ZERO THE OUT COUNTERS
056181,000359: 16,2353 54051 TS CDUYCMD
056182,000360: 16,2354 54052 TS CDUZCMD
056183,000361: 16,2355 46216 CS SIX # RESET RCSFLAGS FOR PASS2
056184,000362: 16,2356 71275 MASK RCSFLAGS
056185,000363: 16,2357 65025 AD BIT2
056186,000364: 16,2360 55275 TS RCSFLAGS
056187,000365: 16,2361 12061 TCF CHEKMORE
056188,000366:
056189,000367: 16,2362 35021 NEEDLER2 CAF BIT6 # ENABLE IMU ERROR COUNTERS
056190,000368: 16,2363 00006 EXTEND
056191,000369: 16,2364 05012 WOR CHAN12
056192,000370: 16,2365 46216 CS SIX # RESET RCSFLAGS TO DISPLAY ATTITUDE
056193,000371: 16,2366 71275 MASK RCSFLAGS # ERRORS WAIT AT LEAST 4 MS FOR
056194,000372: 16,2367 55275 TS RCSFLAGS # RELAY CLOSURE
056195,000373: 16,2370 12061 TCF CHEKMORE
056196,000374:
056197,000375: 16,2371 35021 NEEDLES3 CAF BIT6 # CHECK TO SEE IF IMU ERROR COUNTER
056198,000376: 16,2372 00006 EXTEND # IS ENABLED
056199,000377: 16,2373 02012 RAND CHAN12
056200,000378: 16,2374 10000 CCS A # IF NOT, RE-INITIALIZE NEEDLER.
056201,000379: 16,2375 12402 TCF NEEDLES
056202,000380:
056203,000381: 16,2376 41275 CS RCSFLAGS # SET UP INITIALIZATION FLAG IN RCSFLAGS.
056204,000382: 16,2377 75024 MASK BIT3
056205,000383: 16,2400 27275 ADS RCSFLAGS
056206,000384: 16,2401 12061 TCF CHEKMORE
056207,000385:
056208,000386: 16,2402 35025 NEEDLES CAF TWO
056209,000387: 16,2403 54063 DACLOOP TS DINDX
056210,000388: 16,2404 42443 CS ONETENTH # RESCALE INPUTS TO + OR - 1800 DEGREES.
056211,000389: 16,2405 00006 EXTEND
056212,000390: 16,2406 50063 INDEX DINDX
056213,000391: 16,2407 71754 MP AK
056214,000392: 16,2410 54001 TS L
056215,000393: 16,2411 10000 CCS A
056216,000394: 16,2412 32441 CA DACLIMIT
056217,000395: 16,2413 12415 TCF +2
056218,000396: 16,2414 42441 CS DACLIMIT
056219,000397: 16,2415 60001 AD L
056220,000398: 16,2416 54061 TS T5TEMP # OVFLO CHK
056221,000399: 16,2417 12423 TCF +4
056222,000400: 16,2420 50000 INDEX A # ON OVERFLOW LIMIT OUTPUT TO +-384
056223,000401: 16,2421 32441 CAF DACLIMIT
056224,000402: 16,2422 54001 TS L
056225,000403: 16,2423 50063 INDEX DINDX
056226,000404: 16,2424 41757 CS EDRIVEX # CURRENT VALUE OF DAC
056227,000405: 16,2425 60001 AD L
056228,000406: 16,2426 50063 INDEX DINDX
056229,000407: 16,2427 26050 ADS CDUXCMD
056230,000408: 16,2430 50063 INDEX DINDX
056231,000409: 16,2431 23757 LXCH EDRIVEX
056232,000410: 16,2432 10063 CCS DINDX
056233,000411: 16,2433 12403 TCF DACLOOP
056234,000412: 16,2434 37711 CAF 13,14,15
056235,000413: 16,2435 00006 EXTEND
056236,000414: 16,2436 05014 WOR CHAN14 # SET DAC ACTIVITY BITS
056237,000415: 16,2437 12061 TCF CHEKMORE
056238,000416:
056239,000417: 16,2440 77177 DEC -384 B-14
056240,000418: 16,2441 37200 DACLIMIT DEC 16000 B-14
056241,000419: 16,2442 00600 DEC 384 B-14
056242,000420:
056243,000421: 16,2443 03146 ONETENTH OCT 03146 # DECIMAL +0.1, SCALED AT 1.
056244,000422: 16,2444 5023 DSPLYALT EQUALS BIT4 # 100 MS ALTERNATION BIT IN RCSFLAGS
End of include-file DAPIDLER_PROGRAM.agc. Parent file is MAIN.agc