Source Code
015589,000001: # Copyright: Public domain.
015590,000002: # Filename: IMU_PERFORMANCE_TEST_2.agc
015591,000003: # Purpose: Part of the source code for Luminary 1A build 099.
015592,000004: # It is part of the source code for the Lunar Module's (LM)
015593,000005: # Apollo Guidance Computer (AGC), for Apollo 11.
015594,000006: # Assembler: yaYUL
015595,000007: # Contact: Ron Burkey <info@sandroid.org>.
015596,000008: # Website: www.ibiblio.org/apollo.
015597,000009: # Pages: 373-381
015598,000010: # Mod history: 2009-05-17 RSB Adapted from the corresponding
015599,000011: # Luminary131 file, using page
015600,000012: # images from Luminary 1A.
015601,000013:
015602,000014: # This source code has been transcribed or otherwise adapted from
015603,000015: # digitized images of a hardcopy from the MIT Museum. The digitization
015604,000016: # was performed by Paul Fjeld, and arranged for by Deborah Douglas of
015605,000017: # the Museum. Many thanks to both. The images (with suitable reduction
015606,000018: # in storage size and consequent reduction in image quality as well) are
015607,000019: # available online at www.ibiblio.org/apollo. If for some reason you
015608,000020: # find that the images are illegible, contact me at info@sandroid.org
015609,000021: # about getting access to the (much) higher-quality images which Paul
015610,000022: # actually created.
015611,000023:
015612,000024: # Notations on the hardcopy document read, in part:
015613,000025:
015614,000026: # Assemble revision 001 of AGC program LMY99 by NASA 2021112-61
015615,000027: # 16:27 JULY 14, 1969
015616,000028:
015617,000029: # Page 373
015618,000030: # NAME -- IMU PERFORMANCE TESTS 2
015619,000031:
015620,000032: # DATE -- MARCH 20, 1967
015621,000033:
015622,000034: # BY -- SYSTEM TEST GROUP 864-6900 EXT. 1274
015623,000035:
015624,000036: # MODNO. -- ZERO
015625,000037:
015626,000038: # FUNCTIONAL DESCRIPTION
015627,000039:
015628,000040: # POSITIONING ROUTINES FOR THE IMU PERFORMANCE TESTS AS WELL AS SOME OF
015629,000041: # THE TESTS THEMSELVES. FOR A DESCRIPTION OF THESE SUBROUTINES AND THE
015630,000042: # OPERATING PROCEDURES (TYPICALLY) SEE STG MEMO 685. THEORETICAL REF. E-1973
015631,000043:
015632,000044: 33,2045 BANK 33
015633,000045: 37,2000 SETLOC IMU2
015634,000046: 37,2000 BANK
015635,000047: 37,2002 E5,1416 EBANK= POSITON
015636,000048: 37,2002 COUNT* $$/P07
015637,000049:
015638,000050: 37,2002 05311 REDO TC NEWMODEX
015639,000051: 37,2003 00007 MM 07 B-14
015640,000052:
015641,000053: 37,2004 02325 GEOIMUTT TC IMUZERR
015642,000054: 37,2005 34755 IMUBACK CA ZERO
015643,000055: 37,2006 55414 TS NDXCTR
015644,000056: 37,2007 55440 TS TORQNDX
015645,000057: 37,2010 55441 TS TORQNDX +1
015646,000058: 37,2011 55576 TS OVFLOWCK
015647,000059: 37,2012 34361 NBPOSPL CA DEC17
015648,000060: 37,2013 55571 TS ZERONDX
015649,000061: 37,2014 32476 CA XNBADR
015650,000062: 37,2015 02367 TC ZEROING
015651,000063: 37,2016 34736 CA HALF
015652,000064: 37,2017 55664 TS XNB
015653,000065: 37,2020 06037 GUESS TC INTPRET
015654,000066: 37,2021 62545 LATAZCHK DLOAD SL2
015655,000067: 37,2022 02403 LATITUDE
015656,000068: 37,2023 15047 STODL DSPTEM1 +1
015657,000069: 37,2024 02401 AZIMUTH
015658,000070: 37,2025 77434 RTB EXIT
015659,000071: 37,2026 21614 1STO2S
015660,000072: 37,2027 56154 XCH MPAC
015661,000073: 37,2030 55045 TS DSPTEM1
015662,000074: 37,2031 32473 CAF VN0641
015663,000075: 37,2032 04616 TC BANKCALL
015664,000076: 37,2033 20476 CADR GOFLASH
015665,000077: 37,2034 02270 TC ENDTEST1
015666,000078: 37,2035 02037 TC +2
015667,000079: 37,2036 02031 TC -5
015668,000080: # Page 374
015669,000081: 37,2037 06037 TC INTPRET
015670,000082: 37,2040 47135 SLOAD RTB
015671,000083: 37,2041 01046 DSPTEM1
015672,000084: 37,2042 21576 CDULOGIC
015673,000085: 37,2043 02401 STORE AZIMUTH
015674,000086: 37,2044 60535 SLOAD SR2
015675,000087: 37,2045 01047 DSPTEM1 +1
015676,000088: 37,2046 02403 STORE LATITUDE
015677,000089: 37,2047 57546 COS DCOMP
015678,000090: 37,2050 77752 SL1
015679,000091: 37,2051 16437 STODL WANGI
015680,000092: 37,2052 02403 LATITUDE
015681,000093: 37,2053 72556 SIN SL1
015682,000094: 37,2054 16435 STODL WANGO
015683,000095: 37,2055 02401 AZIMUTH
015684,000096: 37,2056 73406 PUSH SIN
015685,000097: 37,2057 02675 STORE YNB +2
015686,000098: 37,2060 16705 STODL ZNB +4
015687,000099: 37,2061 77746 COS
015688,000100: 37,2062 02677 STORE YNB +4
015689,000101: 37,2063 77676 DCOMP
015690,000102: 37,2064 36703 POSGMBL STCALL ZNB +2
015691,000103: 37,2065 47353 CALCGA
015692,000104: 37,2066 77776 EXIT
015693,000105: 37,2067 04616 TC BANKCALL
015694,000106: 37,2070 17000 CADR IMUCOARS
015695,000107: 37,2071 34736 CAF BIT14 # IF BIT14 SET, GIMBAL LOCK
015696,000108: 37,2072 70077 MASK FLAGWRD3
015697,000109: 37,2073 00006 EXTEND
015698,000110: 37,2074 12076 BZF +2
015699,000111: 37,2075 25414 INCR NDXCTR # +1 IF IN GIMBAL LOCK, OTHERWISE 0
015700,000112: 37,2076 05516 TC DOWNFLAG
015701,000113: 37,2077 00056 ADRES GLOKFAIL # RESET GIMBAL LOCK FLAG
015702,000114: 37,2100 02315 TC IMUSLLLG
015703,000115: 37,2101 11414 CCS NDXCTR # IF ONE GO AND DO A PIPA TEST ONLY
015704,000116: 37,2102 02126 TC PIPACHK # ALIGN AND MEASURE VERTICAL PIPA RATE
015705,000117: 37,2103 02320 TC FINIMUDD
015706,000118: 37,2104 00006 EXTEND
015707,000119: 37,2105 31575 DCA PERFDLAY
015708,000120: 37,2106 05277 TC LONGCALL # DELAY WHILE SUSPENSION STABILIZES
015709,000121: 37,2107 E5,1416 EBANK= POSITON
015710,000122: 37,2107 02113 76065 2CADR GOESTIMS
015711,000123:
015712,000124: 37,2111 32116 CA ESTICADR
015713,000125: 37,2112 05133 TC JOBSLEEP
015714,000126: 37,2113 32116 GOESTIMS CA ESTICADR
015715,000127: 37,2114 05137 TC JOBWAKE
015716,000128: 37,2115 05261 TC TASKOVER
015717,000129: 37,2116 76500 ESTICADR CADR ESTIMS
015718,000130: 37,2117 34755 TORQUE CA ZERO
015719,000131: # Page 375
015720,000132: 37,2120 55050 TS DSPTEM2
015721,000133: 37,2121 31504 CA DRIFTI
015722,000134: 37,2122 55051 TS DSPTEM2 +1
015723,000135: 37,2123 51416 INDEX POSITON
015724,000136: 37,2124 55420 TS SOUTHDR -1
015725,000137: 37,2125 02457 TC SHOW
015726,000138:
015727,000139: 37,2126 51414 PIPACHK INDEX NDXCTR # PIPA TEST
015728,000140: 37,2127 02130 TC +1
015729,000141: 37,2130 02447 TC EARTHR*
015730,000142: 37,2131 34361 CA DEC17 # ALLOW PIP COUNTER TO OVERFLOW 17 TIMES
015731,000143: 37,2132 55476 TS DATAPL +4 # IN THE ALLOTTED TIME INTERVAL
015732,000144: 37,2133 32474 CA DEC58
015733,000145: 37,2134 55412 TS LENGTHOT
015734,000146: 37,2135 34753 CA ONE
015735,000147: 37,2136 55537 TS RESULTCT
015736,000148: 37,2137 34755 CA ZERO
015737,000149: 37,2140 51415 INDEX PIPINDEX
015738,000150: 37,2141 54037 TS PIPAX
015739,000151: 37,2142 55472 TS DATAPL
015740,000152: 37,2143 02332 TC CHECKG
015741,000153: 37,2144 00004 INHINT
015742,000154: 37,2145 34752 CAF TWO
015743,000155: 37,2146 05173 TC TWIDDLE
015744,000156: 37,2147 E5,1642 EBANK= XSM
015745,000157: 37,2147 02151 ADRES PIPATASK
015746,000158: 37,2150 05155 TC ENDOFJOB
015747,000159:
015748,000160: 37,2151 00006 PIPATASK EXTEND
015749,000161: 37,2152 27412 DIM LENGTHOT
015750,000162: 37,2153 31412 CA LENGTHOT
015751,000163: 37,2154 00006 EXTEND
015752,000164: 37,2155 62161 BZMF STARTPIP
015753,000165: 37,2156 34742 CAF BIT10
015754,000166: 37,2157 05173 TC TWIDDLE
015755,000167: 37,2160 E5,1642 EBANK= XSM
015756,000168: 37,2160 02151 ADRES PIPATASK
015757,000169: 37,2161 34736 STARTPIP CAF PRIO20
015758,000170: 37,2162 05105 TC FINDVAC
015759,000171: 37,2163 E5,1642 EBANK= XSM
015760,000172: 37,2163 02166 76065 2CADR PIPJOBB
015761,000173:
015762,000174: 37,2165 05261 TC TASKOVER
015763,000175:
015764,000176: 37,2166 51414 PIPJOBB INDEX NDXCTR
015765,000177: 37,2167 02170 TC +1
015766,000178: 37,2170 02447 TC EARTHR*
015767,000179: 37,2171 31412 CA LENGTHOT
015768,000180: # Page 376
015769,000181: 37,2172 00006 EXTEND
015770,000182: 37,2173 62175 BZMF +2
015771,000183: 37,2174 05155 TC ENDOFJOB
015772,000184:
015773,000185: 37,2175 34756 CA FIVE
015774,000186: 37,2176 55537 TS RESULTCT
015775,000187: 37,2177 02332 TC CHECKG
015776,000188: 37,2200 11473 CCS DATAPL +1
015777,000189: 37,2201 02205 TC +4
015778,000190: 37,2202 05705 TC CCSHOLE
015779,000191: 37,2203 41476 CS DATAPL +4
015780,000192: 37,2204 55476 TS DATAPL +4
015781,000193: 37,2205 00006 EXTEND
015782,000194: 37,2206 41473 DCS DATAPL
015783,000195: 37,2207 21477 DAS DATAPL +4
015784,000196:
015785,000197: 37,2210 06037 TC INTPRET
015786,000198: 37,2211 45345 DLOAD DSU
015787,000199: 37,2212 02501 DATAPL +6
015788,000200: 37,2213 02475 DATAPL +2
015789,000201: 37,2214 45044 BPL CALL
015790,000202: 37,2215 76217 AINGOTN
015791,000203: 37,2216 76275 OVERFFIX
015792,000204: 37,2217 56325 AINGOTN PDDL DDV
015793,000205: 37,2220 02477 DATAPL +4
015794,000206: 37,2221 47075 DMPR RTB
015795,000207: 37,2222 37056 DEC585 # DEC585 HAS BEEN REDEFINED FOR LEM
015796,000208: 37,2223 21612 SGNAGREE
015797,000209: 37,2224 01051 STORE DSPTEM2
015798,000210: 37,2225 77776 EXIT
015799,000211: 37,2226 11414 CCS NDXCTR
015800,000212: 37,2227 02301 TC COAALIGN # TAKE PLATFORM OUT OF GIMBAL LOCK
015801,000213: 37,2230 02457 TC SHOW
015802,000214: 37,2231 32471 VERTDRFT CA 3990DEC # ABOUT 1 HOUR VERTICAL DRIFT TEST
015803,000215: 37,2232 55412 TS LENGTHOT
015804,000216: 37,2233 51416 INDEX POSITON
015805,000217: 37,2234 41417 CS SOUTHDR -2
015806,000218: 37,2235 55442 TS DRIFTT
015807,000219: 37,2236 11415 CCS PIPINDEX # OFFSET PLATFORM TO MISS PIP DEAD-ZONES
015808,000220: 37,2237 12245 TCF PON4 # Z-UP IN POS 4
015809,000221: 37,2240 44747 PON2 CS BIT5 # X-UP
015810,000222: 37,2241 27565 ADS ERCOMP +2
015811,000223: 37,2242 34747 CA BIT5
015812,000224: 37,2243 27567 ADS ERCOMP +4
015813,000225: 37,2244 12251 TCF PON
015814,000226: 37,2245 44747 PON4 CS BIT5
015815,000227: 37,2246 27565 ADS ERCOMP +2
015816,000228: 37,2247 34747 CA BIT5
015817,000229: 37,2250 27563 ADS ERCOMP
015818,000230: 37,2251 02447 PON TC EARTHR*
015819,000231: # Page 377
015820,000232: 37,2252 34755 CA ZERO # ALLOW ONLY SOUTH GYRO EARTH RATE COMPENS
015821,000233: 37,2253 55404 TS ERVECTOR
015822,000234: 37,2254 55405 TS ERVECTOR +1
015823,000235: 37,2255 34733 GUESS1 CAF POSMAX
015824,000236: 37,2256 55440 TS TORQNDX
015825,000237: 37,2257 55441 TS TORQNDX +1
015826,000238: 37,2260 30032 CA CDUX
015827,000239: 37,2261 55413 TS LOSVEC
015828,000240: 37,2262 02500 TC ESTIMS
015829,000241: 37,2263 31502 VALMIS CA DRIFTO
015830,000242: 37,2264 55051 TS DSPTEM2 +1
015831,000243: 37,2265 34755 CA ZERO
015832,000244: 37,2266 55050 TS DSPTEM2
015833,000245: 37,2267 02457 TC SHOW
015834,000246:
015835,000247: 37,2270 05516 ENDTEST1 TC DOWNFLAG
015836,000248: 37,2271 00007 ADRES IMUSE
015837,000249: 37,2272 44755 CS ZERO
015838,000250: 37,2273 05314 TC NEWMODEA
015839,000251: 37,2274 05472 TC ENDEXT
015840,000252:
015841,000253: # Page 378
015842,000254: 37,2275 43215 OVERFFIX DAD DAD
015843,000255: 37,2276 06530 DPPOSMAX
015844,000256: 37,2277 37064 ONEDPP
015845,000257: 37,2300 77616 RVQ
015846,000258:
015847,000259: 37,2301 00006 COAALIGN EXTEND # COARSE ALIGN SUBROUTINE
015848,000260: 37,2302 23571 QXCH ZERONDX
015849,000261: 37,2303 34755 CA ZERO
015850,000262: 37,2304 54321 TS THETAD
015851,000263: 37,2305 54322 TS THETAD +1
015852,000264: 37,2306 54323 TS THETAD +2
015853,000265: 37,2307 04616 TC BANKCALL
015854,000266: 37,2310 17000 CADR IMUCOARS
015855,000267: 37,2311 04616 ALIGNCOA TC BANKCALL
015856,000268: 37,2312 17716 CADR IMUSTALL
015857,000269: 37,2313 03047 TC SOMERR2
015858,000270: 37,2314 01571 TC ZERONDX
015859,000271:
015860,000272: 37,2315 00006 IMUSLLLG EXTEND
015861,000273: 37,2316 23571 QXCH ZERONDX
015862,000274: 37,2317 02311 TC ALIGNCOA
015863,000275:
015864,000276: 37,2320 00006 FINIMUDD EXTEND
015865,000277: 37,2321 23571 QXCH ZERONDX
015866,000278: 37,2322 04616 TC BANKCALL
015867,000279: 37,2323 17210 CADR IMUFINE
015868,000280: 37,2324 02311 TC ALIGNCOA
015869,000281:
015870,000282: 37,2325 00006 IMUZERR EXTEND
015871,000283: 37,2326 23571 QXCH ZERONDX
015872,000284: 37,2327 04616 TC BANKCALL
015873,000285: 37,2330 16714 CADR IMUZERO
015874,000286: 37,2331 02311 TC ALIGNCOA
015875,000287:
015876,000288: 37,2332 00006 CHECKG EXTEND # PIP PULSE CATCHING ROUTINE
015877,000289: 37,2333 23417 QXCH QPLACE
015878,000290: 37,2334 02342 TC +6
015879,000291: 37,2335 00003 CHECKG1 RELINT
015880,000292: 37,2336 30067 CA NEWJOB
015881,000293: 37,2337 00006 EXTEND
015882,000294: 37,2340 62346 BZMF +6
015883,000295: 37,2341 05122 TC CHANG1
015884,000296: 37,2342 00004 INHINT
015885,000297: 37,2343 51415 INDEX PIPINDEX
015886,000298: 37,2344 40037 CS PIPAX
015887,000299: 37,2345 55571 TS ZERONDX
015888,000300: 37,2346 00004 INHINT
015889,000301: # Page 379
015890,000302: 37,2347 51415 INDEX PIPINDEX
015891,000303: 37,2350 30037 CA PIPAX
015892,000304: 37,2351 61571 AD ZERONDX
015893,000305: 37,2352 00006 EXTEND
015894,000306: 37,2353 12335 BZF CHECKG1
015895,000307: 37,2354 51415 INDEX PIPINDEX
015896,000308: 37,2355 30037 CA PIPAX
015897,000309: 37,2356 51537 INDEX RESULTCT
015898,000310: 37,2357 55472 TS DATAPL
015899,000311: 37,2360 04102 TC FINETIME
015900,000312: 37,2361 51537 INDEX RESULTCT
015901,000313: 37,2362 55473 TS DATAPL +1
015902,000314: 37,2363 51537 INDEX RESULTCT
015903,000315: 37,2364 23474 LXCH DATAPL +2
015904,000316: 37,2365 00003 RELINT
015905,000317: 37,2366 01417 ENDCHKG TC QPLACE
015906,000318:
015907,000319: 37,2367 54001 ZEROING TS L
015908,000320: 37,2370 12372 TCF +2
015909,000321: 37,2371 55571 ZEROING1 TS ZERONDX
015910,000322: 37,2372 34755 CAF ZERO
015911,000323: 37,2373 50001 INDEX L
015912,000324: 37,2374 54000 TS 0
015913,000325: 37,2375 24001 INCR L
015914,000326: 37,2376 11571 CCS ZERONDX
015915,000327: 37,2377 12371 TCF ZEROING1
015916,000328: 37,2400 00002 TC Q
015917,000329:
015918,000330: # Page 380
015919,000331: 37,2401 65345 ERTHRVSE DLOAD PDDL
015920,000332: 37,2402 37057 SCHZEROS # PD24 = (SIN -COS 0)(OMEG/MS)
015921,000333: 37,2403 02403 LATITUDE
015922,000334: 37,2404 57546 COS DCOMP
015923,000335: 37,2405 73525 PDDL SIN
015924,000336: 37,2406 02403 LATITUDE
015925,000337: 37,2407 74266 VDEF VXSC
015926,000338: 37,2410 36001 OMEG/MS
015927,000339: 37,2411 02405 STORE ERVECTOR
015928,000340: 37,2412 77634 RTB
015929,000341: 37,2413 21573 LOADTIME
015930,000342: 37,2414 26433 STOVL TMARK
015931,000343: 37,2415 37057 SCHZEROS
015932,000344: 37,2416 02564 STORE ERCOMP
015933,000345: 37,2417 77616 RVQ
015934,000346:
015935,000347: 37,2420 47020 EARTHR ITA RTB
015936,000348: 37,2421 00051 S2
015937,000349: 37,2422 21573 LOADTIME
015938,000350: 37,2423 02431 STORE TEMPTIME
015939,000351: 37,2424 51025 DSU BPL
015940,000352: 37,2425 02433 TMARK
015941,000353: 37,2426 76431 ERTHR
015942,000354: 37,2427 77624 CALL
015943,000355: 37,2430 76275 OVERFFIX
015944,000356: 37,2431 74261 ERTHR SL VXSC
015945,000357: 37,2432 20212 9D
015946,000358: 37,2433 02405 ERVECTOR
015947,000359: 37,2434 53321 MXV VAD
015948,000360: 37,2435 02643 XSM
015949,000361: 37,2436 02564 ERCOMP
015950,000362: 37,2437 16564 STODL ERCOMP
015951,000363: 37,2440 02431 TEMPTIME
015952,000364: 37,2441 02433 STORE TMARK
015953,000365: 37,2442 47170 AXT,1 RTB
015954,000366: 37,2443 02563 ECADR ERCOMP
015955,000367: 37,2444 21705 PULSEIMU
015956,000368: 37,2445 77650 GOTO
015957,000369: 37,2446 00051 S2
015958,000370:
015959,000371: 37,2447 00006 EARTHR* EXTEND
015960,000372: 37,2450 23420 QXCH QPLACES
015961,000373: 37,2451 06037 TC INTPRET
015962,000374: 37,2452 77624 CALL
015963,000375: 37,2453 76420 EARTHR
015964,000376: 37,2454 77776 EXIT
015965,000377: 37,2455 02315 TC IMUSLLLG
015966,000378: 37,2456 01420 TC QPLACES
015967,000379:
015968,000380: 37,2457 00006 SHOW EXTEND
015969,000381: # Page 381
015970,000382: 37,2460 23417 QXCH QPLACE
015971,000383: 37,2461 31416 SHOW1 CA POSITON
015972,000384: 37,2462 55052 TS DSPTEM2 +2
015973,000385: 37,2463 32472 CA VB06N98
015974,000386: 37,2464 04616 TC BANKCALL
015975,000387: 37,2465 20476 CADR GOFLASH
015976,000388: 37,2466 02270 TC ENDTEST1 # V34
015977,000389: 37,2467 01417 TC QPLACE # V33
015978,000390: 37,2470 12461 TCF SHOW1
015979,000391:
015980,000392: 37,2471 07626 3990DEC DEC 3990 B-14
015981,000393: 37,2472 01542 VB06N98 VN 0698
015982,000394: 37,2473 01451 VN0641 VN 0641
015983,000395: 37,2474 4361 DEC17 = ND1
015984,000396: 37,2474 00072 DEC58 DEC 58 B-14
015985,000397: 37,2475 02737 OGCPL ECADR OGC
015986,000398: 37,2476 4777 1SECX = 1SEC
015987,000399: 37,2476 01664 XNBADR GENADR XNB
015988,000400: 37,2477 01642 XSMADR GENADR XSM
015989,000401: 4102 BLOCK 2
015990,000402: 4102 COUNT* $$/P07
015991,000403: 4102 00004 FINETIME INHINT # RETURNS WITH INTERRUPT INHIBITED
015992,000404: 4103 00006 EXTEND
015993,000405: 4104 00004 READ LOSCALAR
015994,000406: 4105 54001 TS L
015995,000407: 4106 00006 EXTEND
015996,000408: 4107 06004 RXOR LOSCALAR
015997,000409: 4110 00006 EXTEND
015998,000410: 4111 14115 BZF +4
015999,000411: 4112 00006 EXTEND
016000,000412: 4113 00004 READ LOSCALAR
016001,000413: 4114 54001 TS L
016002,000414: 4115 44733 +4 CS POSMAX
016003,000415: 4116 60001 AD L
016004,000416: 4117 00006 EXTEND
016005,000417: 4120 14103 BZF FINETIME +1
016006,000418: 4121 00006 EXTEND
016007,000419: 4122 00003 READ HISCALAR
016008,000420: 4123 00002 TC Q
016009,000421:
End of include-file IMU_PERFORMANCE_TEST_2.agc. Parent file is MAIN.agc