Source Code
These source code files are a reconstruction of Sundance, the Apollo 9 LM (Lunar Module) AGC
(Apollo Guidance Computer) flight software, created from binary dumps of original core rope
program modules, as follows:
Since only binary dumps (rather than listings) of Sundance are available as source material, all comments and labels are approximate. They have been taken from other AGC programs where possible, or, in some places, written from scratch to match what we believe would have been in the original listing. |
013761,000002: ## Copyright: Public domain.
013762,000003: ## Filename: IMU_PERFORMANCE_TESTS_2.agc
013763,000004: ## Purpose: A section of a reconstructed, mixed version of Sundance
013764,000005: ## It is part of the reconstructed source code for the Lunar
013765,000006: ## Module's (LM) Apollo Guidance Computer (AGC) for Apollo 9.
013766,000007: ## No original listings of this program are available;
013767,000008: ## instead, this file was created via disassembly of dumps
013768,000009: ## of various revisions of Sundance core rope modules.
013769,000010: ## Assembler: yaYUL
013770,000011: ## Contact: Ron Burkey <info@sandroid.org>.
013771,000012: ## Website: www.ibiblio.org/apollo/index.html
013772,000013: ## Mod history: 2020-06-17 MAS Created from Luminary 69.
013773,000014:
013774,000015: ## Sundance 306
013775,000016:
013776,000017: # NAME- IMU PERFORMANCE TESTS 2
013777,000018:
013778,000019: # DATE- MARCH 20, 1967
013779,000020:
013780,000021: # BY- SYSTEM TEST GROUP 864-6900 EXT. 1274
013781,000022:
013782,000023: # MODNO.- ZERO
013783,000024:
013784,000025: # FUNCTIONAL DESCRIPTION
013785,000026:
013786,000027: # POSITIONING ROUTINES FOR THE IMU PERFORMANCE TESTS AS WELL AS SOME OF
013787,000028: # THE TESTS THEMSELVES. FOR A DESCRIPTION OF THESE SUBROUTINES AND THE
013788,000029: # OPERATING PROCEDURES (TYPICALLY) SEE STG MEMO 685.THEORETICAL REF.E-1973
013789,000030:
013790,000031: 33,2000 BANK 33
013791,000032: 37,2000 SETLOC IMU2
013792,000033: 37,2000 BANK
013793,000034: 37,2000 E5,1416 EBANK= POSITON
013794,000035: 37,2000 COUNT* $$/P07
013795,000036:
013796,000037: 37,2000 05351 REDO TC NEWMODEX
013797,000038: 37,2001 00007 MM 07 B-14
013798,000039:
013799,000040: 37,2002 02322 GEOIMUTT TC IMUZERR
013800,000041: 37,2003 35030 IMUBACK CA ZERO
013801,000042: 37,2004 55414 TS NDXCTR
013802,000043: 37,2005 55440 TS TORQNDX
013803,000044: 37,2006 55441 TS TORQNDX +1
013804,000045: 37,2007 34373 NBPOSPL CA DEC17
013805,000046: 37,2010 55571 TS ZERONDX
013806,000047: 37,2011 32473 CA XNBADR
013807,000048: 37,2012 02364 TC ZEROING
013808,000049: 37,2013 35011 CA HALF
013809,000050: 37,2014 55664 TS XNB
013810,000051: 37,2015 06014 GUESS TC INTPRET
013811,000052: 37,2016 62545 LATAZCHK DLOAD SL2
013812,000053: 37,2017 02403 LATITUDE
013813,000054: 37,2020 15050 STODL DSPTEM1 +1
013814,000055: 37,2021 02401 AZIMUTH
013815,000056: 37,2022 77434 RTB EXIT
013816,000057: 37,2023 21512 1STO2S
013817,000058: 37,2024 56154 XCH MPAC
013818,000059: 37,2025 55046 TS DSPTEM1
013819,000060: 37,2026 32470 CAF VN0641
013820,000061: 37,2027 04655 TC BANKCALL
013821,000062: 37,2030 20406 CADR GOFLASH
013822,000063: 37,2031 02265 TC ENDTEST1
013823,000064: 37,2032 02034 TC +2
013824,000065: 37,2033 02026 TC -5
013825,000066: 37,2034 06014 TC INTPRET
013826,000067: 37,2035 47135 SLOAD RTB
013827,000068: 37,2036 01047 DSPTEM1
013828,000069: 37,2037 21457 CDULOGIC
013829,000070: 37,2040 02401 STORE AZIMUTH
013830,000071: 37,2041 60535 SLOAD SR2
013831,000072: 37,2042 01050 DSPTEM1 +1
013832,000073: 37,2043 02403 STORE LATITUDE
013833,000074: 37,2044 57546 COS DCOMP
013834,000075: 37,2045 77752 SL1
013835,000076: 37,2046 16437 STODL WANGI
013836,000077: 37,2047 02403 LATITUDE
013837,000078: 37,2050 72556 SIN SL1
013838,000079: 37,2051 16435 STODL WANGO
013839,000080: 37,2052 02401 AZIMUTH
013840,000081: 37,2053 73406 PUSH SIN
013841,000082: 37,2054 02675 STORE YNB +2
013842,000083: 37,2055 16705 STODL ZNB +4
013843,000084: 37,2056 77746 COS
013844,000085: 37,2057 02677 STORE YNB +4
013845,000086: 37,2060 77676 DCOMP
013846,000087: 37,2061 36703 POSGMBL STCALL ZNB +2
013847,000088: 37,2062 47063 CALCGA
013848,000089: 37,2063 77776 EXIT
013849,000090: 37,2064 04655 TC BANKCALL
013850,000091: 37,2065 16711 CADR IMUCOARS
013851,000092: 37,2066 35011 CAF BIT14 # IF BIT14 SET, GIMBAL LOCK
013852,000093: 37,2067 70077 MASK FLAGWRD3
013853,000094: 37,2070 00006 EXTEND
013854,000095: 37,2071 12073 BZF +2
013855,000096: 37,2072 25414 INCR NDXCTR # +1 IF IN GIMBAL LOCK, OTHERWISE 0
013856,000097: 37,2073 05575 TC DOWNFLAG
013857,000098: 37,2074 00056 ADRES GLOKFAIL # RESET GIMBAL LOCK FLAG
013858,000099: 37,2075 02312 TC IMUSLLLG
013859,000100: 37,2076 11414 CCS NDXCTR # IF ONE GO AND DO A PIPA TEST ONLY
013860,000101: 37,2077 02123 TC PIPACHK # ALIGN AND MEASURE VERTICAL PIPA RATE
013861,000102: 37,2100 02315 TC FINIMUDD
013862,000103: 37,2101 00006 EXTEND
013863,000104: 37,2102 31575 DCA PERFDLAY
013864,000105: 37,2103 05337 TC LONGCALL # DELAY WHILE SUSPENSION STABILIZES
013865,000106: 37,2104 E5,1416 EBANK= POSITON
013866,000107: 37,2104 02110 76065 2CADR GOESTIMS
013867,000108:
013868,000109: 37,2106 32113 CA ESTICADR
013869,000110: 37,2107 05203 TC JOBSLEEP
013870,000111: 37,2110 32113 GOESTIMS CA ESTICADR
013871,000112: 37,2111 05207 TC JOBWAKE
013872,000113: 37,2112 05321 TC TASKOVER
013873,000114: 37,2113 76477 ESTICADR CADR ESTIMS
013874,000115: 37,2114 35030 TORQUE CA ZERO
013875,000116: 37,2115 55051 TS DSPTEM2
013876,000117: 37,2116 31504 CA DRIFTI
013877,000118: 37,2117 55052 TS DSPTEM2 +1
013878,000119: 37,2120 51416 INDEX POSITON
013879,000120: 37,2121 55420 TS SOUTHDR -1
013880,000121: 37,2122 02454 TC SHOW
013881,000122:
013882,000123: 37,2123 51414 PIPACHK INDEX NDXCTR # PIPA TEST
013883,000124: 37,2124 02125 TC +1
013884,000125: 37,2125 02444 TC EARTHR*
013885,000126: 37,2126 34373 CA DEC17 # ALLOW PIP COUNTER TO OVERFLOW 17 TIMES
013886,000127: 37,2127 55476 TS DATAPL +4 # IN THE ALLOTED TIME INTERVAL
013887,000128: 37,2130 32471 CA DEC58
013888,000129: 37,2131 55412 TS LENGTHOT
013889,000130: 37,2132 35026 CA ONE
013890,000131: 37,2133 55537 TS RESULTCT
013891,000132: 37,2134 35030 CA ZERO
013892,000133: 37,2135 51415 INDEX PIPINDEX
013893,000134: 37,2136 54037 TS PIPAX
013894,000135: 37,2137 55472 TS DATAPL
013895,000136: 37,2140 02327 TC CHECKG
013896,000137: 37,2141 00004 INHINT
013897,000138: 37,2142 35025 CAF TWO
013898,000139: 37,2143 05243 TC TWIDDLE
013899,000140: 37,2144 E5,1642 EBANK= XSM
013900,000141: 37,2144 02146 ADRES PIPATASK
013901,000142: 37,2145 05225 TC ENDOFJOB
013902,000143:
013903,000144: 37,2146 00006 PIPATASK EXTEND
013904,000145: 37,2147 27412 DIM LENGTHOT
013905,000146: 37,2150 31412 CA LENGTHOT
013906,000147: 37,2151 00006 EXTEND
013907,000148: 37,2152 62156 BZMF STARTPIP
013908,000149: 37,2153 35015 CAF BIT10
013909,000150: 37,2154 05243 TC TWIDDLE
013910,000151: 37,2155 E5,1642 EBANK= XSM
013911,000152: 37,2155 02146 ADRES PIPATASK
013912,000153: 37,2156 35011 STARTPIP CAF PRIO20
013913,000154: 37,2157 05155 TC FINDVAC
013914,000155: 37,2160 E5,1642 EBANK= XSM
013915,000156: 37,2160 02163 76065 2CADR PIPJOBB
013916,000157:
013917,000158: 37,2162 05321 TC TASKOVER
013918,000159:
013919,000160: 37,2163 51414 PIPJOBB INDEX NDXCTR
013920,000161: 37,2164 02165 TC +1
013921,000162: 37,2165 02444 TC EARTHR*
013922,000163: 37,2166 31412 CA LENGTHOT
013923,000164: 37,2167 00006 EXTEND
013924,000165: 37,2170 62172 BZMF +2
013925,000166: 37,2171 05225 TC ENDOFJOB
013926,000167:
013927,000168: 37,2172 35031 CA FIVE
013928,000169: 37,2173 55537 TS RESULTCT
013929,000170: 37,2174 02327 TC CHECKG
013930,000171: 37,2175 11473 CCS DATAPL +1
013931,000172: 37,2176 02202 TC +4
013932,000173: 37,2177 05723 TC CCSHOLE
013933,000174: 37,2200 41476 CS DATAPL +4
013934,000175: 37,2201 55476 TS DATAPL +4
013935,000176: 37,2202 00006 EXTEND
013936,000177: 37,2203 41473 DCS DATAPL
013937,000178: 37,2204 21477 DAS DATAPL +4
013938,000179:
013939,000180: 37,2205 06014 TC INTPRET
013940,000181: 37,2206 45345 DLOAD DSU
013941,000182: 37,2207 02501 DATAPL +6
013942,000183: 37,2210 02475 DATAPL +2
013943,000184: 37,2211 45044 BPL CALL
013944,000185: 37,2212 76214 AINGOTN
013945,000186: 37,2213 76272 OVERFFIX
013946,000187: 37,2214 56325 AINGOTN PDDL DDV
013947,000188: 37,2215 02477 DATAPL +4
013948,000189: 37,2216 47075 DMPR RTB
013949,000190: 37,2217 37042 DEC585 # DEC585 HAS BEEN REDEFINED FOR LEM
013950,000191: 37,2220 21510 SGNAGREE
013951,000192: 37,2221 01052 STORE DSPTEM2
013952,000193: 37,2222 77776 EXIT
013953,000194: 37,2223 11414 CCS NDXCTR
013954,000195: 37,2224 02276 TC COAALIGN # TAKE PLATFORM OUT OF GIMBAL LOCK
013955,000196: 37,2225 02454 TC SHOW
013956,000197: 37,2226 32466 VERTDRFT CA 3990DEC # ABOUT 1 HOUR VERTICAL DRIFT TEST
013957,000198: 37,2227 55412 TS LENGTHOT
013958,000199: 37,2230 51416 INDEX POSITON
013959,000200: 37,2231 41417 CS SOUTHDR -2
013960,000201: 37,2232 55442 TS DRIFTT
013961,000202: 37,2233 11415 CCS PIPINDEX # OFFSET PLATFORM TO MISS PIP DEAD-ZONES
013962,000203: 37,2234 12242 TCF PON4 # Z UP IN POS 4
013963,000204: 37,2235 45022 PON2 CS BIT5 # X UP
013964,000205: 37,2236 27565 ADS ERCOMP +2
013965,000206: 37,2237 35022 CA BIT5
013966,000207: 37,2240 27567 ADS ERCOMP +4
013967,000208: 37,2241 12246 TCF PON
013968,000209: 37,2242 45022 PON4 CS BIT5
013969,000210: 37,2243 27565 ADS ERCOMP +2
013970,000211: 37,2244 35022 CA BIT5
013971,000212: 37,2245 27563 ADS ERCOMP
013972,000213: 37,2246 02444 PON TC EARTHR*
013973,000214: 37,2247 35030 CA ZERO # ALLOW ONLY SOUTH GYRO EARTH RATE COMPENS
013974,000215: 37,2250 55404 TS ERVECTOR
013975,000216: 37,2251 55405 TS ERVECTOR +1
013976,000217: 37,2252 35006 GUESS1 CAF POSMAX
013977,000218: 37,2253 55440 TS TORQNDX
013978,000219: 37,2254 55441 TS TORQNDX +1
013979,000220: 37,2255 30032 CA CDUX
013980,000221: 37,2256 55413 TS LOSVEC
013981,000222: 37,2257 02477 TC ESTIMS
013982,000223: 37,2260 31502 VALMIS CA DRIFTO
013983,000224: 37,2261 55052 TS DSPTEM2 +1
013984,000225: 37,2262 35030 CA ZERO
013985,000226: 37,2263 55051 TS DSPTEM2
013986,000227: 37,2264 02454 TC SHOW
013987,000228:
013988,000229: 37,2265 05575 ENDTEST1 TC DOWNFLAG
013989,000230: 37,2266 00007 ADRES IMUSE
013990,000231: 37,2267 45030 CS ZERO
013991,000232: 37,2270 05354 TC NEWMODEA
013992,000233: 37,2271 05561 TC ENDEXT
013993,000234:
013994,000235: 37,2272 43215 OVERFFIX DAD DAD
013995,000236: 37,2273 06241 DPPOSMAX
013996,000237: 37,2274 37050 ONEDPP
013997,000238: 37,2275 77616 RVQ
013998,000239:
013999,000240: 37,2276 00006 COAALIGN EXTEND # COARSE ALIGN SUBROUTINE
014000,000241: 37,2277 23571 QXCH ZERONDX
014001,000242: 37,2300 35030 CA ZERO
014002,000243: 37,2301 55206 TS THETAD
014003,000244: 37,2302 55207 TS THETAD +1
014004,000245: 37,2303 55210 TS THETAD +2
014005,000246: 37,2304 04655 TC BANKCALL
014006,000247: 37,2305 16711 CADR IMUCOARS
014007,000248: 37,2306 04655 ALIGNCOA TC BANKCALL
014008,000249: 37,2307 17625 CADR IMUSTALL
014009,000250: 37,2310 03036 TC SOMERR2
014010,000251: 37,2311 01571 TC ZERONDX
014011,000252:
014012,000253: 37,2312 00006 IMUSLLLG EXTEND
014013,000254: 37,2313 23571 QXCH ZERONDX
014014,000255: 37,2314 02306 TC ALIGNCOA
014015,000256:
014016,000257: 37,2315 00006 FINIMUDD EXTEND
014017,000258: 37,2316 23571 QXCH ZERONDX
014018,000259: 37,2317 04655 TC BANKCALL
014019,000260: 37,2320 17121 CADR IMUFINE
014020,000261: 37,2321 02306 TC ALIGNCOA
014021,000262:
014022,000263: 37,2322 00006 IMUZERR EXTEND
014023,000264: 37,2323 23571 QXCH ZERONDX
014024,000265: 37,2324 04655 TC BANKCALL
014025,000266: 37,2325 16622 CADR IMUZERO
014026,000267: 37,2326 02306 TC ALIGNCOA
014027,000268:
014028,000269: 37,2327 00006 CHECKG EXTEND # PIP PULSE CATCHING ROUTINE
014029,000270: 37,2330 23417 QXCH QPLACE
014030,000271: 37,2331 02337 TC +6
014031,000272: 37,2332 00003 CHECKG1 RELINT
014032,000273: 37,2333 30067 CA NEWJOB
014033,000274: 37,2334 00006 EXTEND
014034,000275: 37,2335 62343 BZMF +6
014035,000276: 37,2336 05172 TC CHANG1
014036,000277: 37,2337 00004 INHINT
014037,000278: 37,2340 51415 INDEX PIPINDEX
014038,000279: 37,2341 40037 CS PIPAX
014039,000280: 37,2342 55571 TS ZERONDX
014040,000281: 37,2343 00004 INHINT
014041,000282: 37,2344 51415 INDEX PIPINDEX
014042,000283: 37,2345 30037 CA PIPAX
014043,000284: 37,2346 61571 AD ZERONDX
014044,000285: 37,2347 00006 EXTEND
014045,000286: 37,2350 12332 BZF CHECKG1
014046,000287: 37,2351 51415 INDEX PIPINDEX
014047,000288: 37,2352 30037 CA PIPAX
014048,000289: 37,2353 51537 INDEX RESULTCT
014049,000290: 37,2354 55472 TS DATAPL
014050,000291: 37,2355 04114 TC FINETIME
014051,000292: 37,2356 51537 INDEX RESULTCT
014052,000293: 37,2357 55473 TS DATAPL +1
014053,000294: 37,2360 51537 INDEX RESULTCT
014054,000295: 37,2361 23474 LXCH DATAPL +2
014055,000296: 37,2362 00003 RELINT
014056,000297: 37,2363 01417 ENDCHKG TC QPLACE
014057,000298:
014058,000299: 37,2364 54001 ZEROING TS L
014059,000300: 37,2365 12367 TCF +2
014060,000301: 37,2366 55571 ZEROING1 TS ZERONDX
014061,000302: 37,2367 35030 CAF ZERO
014062,000303: 37,2370 50001 INDEX L
014063,000304: 37,2371 54000 TS 0
014064,000305: 37,2372 24001 INCR L
014065,000306: 37,2373 11571 CCS ZERONDX
014066,000307: 37,2374 12366 TCF ZEROING1
014067,000308: 37,2375 00002 TC Q
014068,000309:
014069,000310: 37,2376 65345 ERTHRVSE DLOAD PDDL
014070,000311: 37,2377 37043 SCHZEROS # PD24 = (SIN -COS 0)(OMEG/MS)
014071,000312: 37,2400 02403 LATITUDE
014072,000313: 37,2401 57546 COS DCOMP
014073,000314: 37,2402 73525 PDDL SIN
014074,000315: 37,2403 02403 LATITUDE
014075,000316: 37,2404 74266 VDEF VXSC
014076,000317: 37,2405 36476 OMEG/MS
014077,000318: 37,2406 02405 STORE ERVECTOR
014078,000319: 37,2407 77634 RTB
014079,000320: 37,2410 21454 LOADTIME
014080,000321: 37,2411 26433 STOVL TMARK
014081,000322: 37,2412 37043 SCHZEROS
014082,000323: 37,2413 02564 STORE ERCOMP
014083,000324: 37,2414 77616 RVQ
014084,000325:
014085,000326: 37,2415 47020 EARTHR ITA RTB
014086,000327: 37,2416 00051 S2
014087,000328: 37,2417 21454 LOADTIME
014088,000329: 37,2420 02431 STORE TEMPTIME
014089,000330: 37,2421 51025 DSU BPL
014090,000331: 37,2422 02433 TMARK
014091,000332: 37,2423 76426 ERTHR
014092,000333: 37,2424 77624 CALL
014093,000334: 37,2425 76272 OVERFFIX
014094,000335: 37,2426 74261 ERTHR SL VXSC
014095,000336: 37,2427 20212 9D
014096,000337: 37,2430 02405 ERVECTOR
014097,000338: 37,2431 53321 MXV VAD
014098,000339: 37,2432 02643 XSM
014099,000340: 37,2433 02564 ERCOMP
014100,000341: 37,2434 16564 STODL ERCOMP
014101,000342: 37,2435 02431 TEMPTIME
014102,000343: 37,2436 02433 STORE TMARK
014103,000344: 37,2437 47170 AXT,1 RTB
014104,000345: 37,2440 02563 ECADR ERCOMP
014105,000346: 37,2441 21617 PULSEIMU
014106,000347: 37,2442 77650 GOTO
014107,000348: 37,2443 00051 S2
014108,000349:
014109,000350: 37,2444 00006 EARTHR* EXTEND
014110,000351: 37,2445 23420 QXCH QPLACES
014111,000352: 37,2446 06014 TC INTPRET
014112,000353: 37,2447 77624 CALL
014113,000354: 37,2450 76415 EARTHR
014114,000355: 37,2451 77776 EXIT
014115,000356: 37,2452 02312 TC IMUSLLLG
014116,000357: 37,2453 01420 TC QPLACES
014117,000358:
014118,000359: 37,2454 00006 SHOW EXTEND
014119,000360: 37,2455 23417 QXCH QPLACE
014120,000361: 37,2456 31416 SHOW1 CA POSITON
014121,000362: 37,2457 55053 TS DSPTEM2 +2
014122,000363: 37,2460 32467 CA VB06N98
014123,000364: 37,2461 04655 TC BANKCALL
014124,000365: 37,2462 20406 CADR GOFLASH
014125,000366: 37,2463 02265 TC ENDTEST1 # V 34
014126,000367: 37,2464 01417 TC QPLACE # V33
014127,000368: 37,2465 12456 TCF SHOW1
014128,000369:
014129,000370: 37,2466 07626 3990DEC DEC 3990 B-14
014130,000371: 37,2467 01542 VB06N98 VN 0698
014131,000372: 37,2470 01451 VN0641 VN 0641
014132,000373: 37,2471 4373 DEC17 = ND1
014133,000374: 37,2471 00072 DEC58 DEC 58 B-14
014134,000375: 37,2472 02737 OGCPL ECADR OGC
014135,000376: 37,2473 5047 1SECX = 1SEC
014136,000377: 37,2473 01664 XNBADR GENADR XNB
014137,000378: 37,2474 01642 XSMADR GENADR XSM
014138,000379: 37,2475 07623 26552 OMEG/MS 2DEC .24339048
014139,000380:
Sundance 292 |
014141,000382:
014142,000383: 4114 BLOCK 2
014143,000384: 4114 COUNT* $$/P07
014144,000385: 4114 00004 FINETIME INHINT # RETURNS WITH INTERRUPT INHIBITED
014145,000386: 4115 00006 EXTEND
014146,000387: 4116 00004 READ LOSCALAR
014147,000388: 4117 54001 TS L
014148,000389: 4120 00006 EXTEND
014149,000390: 4121 06004 RXOR LOSCALAR
014150,000391: 4122 00006 EXTEND
014151,000392: 4123 14127 BZF +4
014152,000393: 4124 00006 EXTEND
014153,000394: 4125 00004 READ LOSCALAR
014154,000395: 4126 54001 TS L
014155,000396: 4127 45006 +4 CS POSMAX
014156,000397: 4130 60001 AD L
014157,000398: 4131 00006 EXTEND
014158,000399: 4132 14115 BZF FINETIME +1
014159,000400: 4133 00006 EXTEND
014160,000401: 4134 00003 READ HISCALAR
014161,000402: 4135 00002 TC Q
014162,000403:
End of include-file IMU_PERFORMANCE_TESTS_2.agc. Parent file is MAIN.agc