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