Source Code

015403,000001: # Copyright: Public domain. 015404,000002: # Filename: IMU_PERFORMANCE_TEST_2.agc 015405,000003: # Purpose: A section of Luminary 1C, revision 131. 015406,000004: # It is part of the source code for the Lunar Module's (LM) 015407,000005: # Apollo Guidance Computer (AGC) for Apollo 13 and Apollo 14. 015408,000006: # This file is intended to be a faithful transcription, except 015409,000007: # that the code format has been changed to conform to the 015410,000008: # requirements of the yaYUL assembler rather than the 015411,000009: # original YUL assembler. 015412,000010: # Reference: pp. 380-388 of 1729.pdf. 015413,000011: # Contact: Ron Burkey <info@sandroid.org>. 015414,000012: # Website: www.ibiblio.org/apollo/index.html 015415,000013: # Mod history: 05/11/03 RSB. Began transcribing. 015416,000014: # 05/14/05 RSB Corrected website reference above. 015417,000015: 015418,000016: # Page 380 015419,000017: # NAME -- IMU PERFORMANCE TESTS 2 015420,000018: 015421,000019: # DATE -- MARCH 20, 1967 015422,000020: 015423,000021: # BY -- SYSTEM TEST GROUP 864-6900 EXT. 1274 015424,000022: 015425,000023: # MODNO. -- ZERO 015426,000024: 015427,000025: # FUNCTIONAL DESCRIPTION 015428,000026: 015429,000027: # POSITIONING ROUTINES FOR THE IMU PERFORMANCE TESTS AS WELL AS SOME OF 015430,000028: # THE TESTS THEMSELVES. FOR A DESCRIPTION OF THESE SUBROUTINES AND THE 015431,000029: # OPERATING PROCEDURES (TYPICALLY) SEE STG MEMO 685. THEORETICAL REF. E-1973 015432,000030: 015433,000031: 33,2045 BANK 33 015434,000032: 37,2000 SETLOC IMU2 015435,000033: 37,2000 BANK 015436,000034: 37,2002 E5,1416 EBANK= POSITON 015437,000035: 37,2002 COUNT* $$/P07 015438,000036: 015439,000037: 37,2002 05311 REDO TC NEWMODEX 015440,000038: 37,2003 00007 MM 07 B-14 015441,000039: 015442,000040: 37,2004 02325 GEOIMUTT TC IMUZERR 015443,000041: 37,2005 34755 IMUBACK CA ZERO 015444,000042: 37,2006 55414 TS NDXCTR 015445,000043: 37,2007 55440 TS TORQNDX 015446,000044: 37,2010 55441 TS TORQNDX +1 015447,000045: 37,2011 55576 TS OVFLOWCK 015448,000046: 37,2012 34361 NBPOSPL CA DEC17 015449,000047: 37,2013 55571 TS ZERONDX 015450,000048: 37,2014 32476 CA XNBADR 015451,000049: 37,2015 02367 TC ZEROING 015452,000050: 37,2016 34736 CA HALF 015453,000051: 37,2017 55664 TS XNB 015454,000052: 37,2020 06042 GUESS TC INTPRET 015455,000053: 37,2021 62545 LATAZCHK DLOAD SL2 015456,000054: 37,2022 02403 LATITUDE 015457,000055: 37,2023 15046 STODL DSPTEM1 +1 015458,000056: 37,2024 02401 AZIMUTH 015459,000057: 37,2025 77434 RTB EXIT 015460,000058: 37,2026 21615 1STO2S 015461,000059: 37,2027 56154 XCH MPAC 015462,000060: 37,2030 55044 TS DSPTEM1 015463,000061: 37,2031 32473 CAF VN0641 015464,000062: 37,2032 04616 TC BANKCALL 015465,000063: 37,2033 20477 CADR GOFLASH 015466,000064: 37,2034 02270 TC ENDTEST1 015467,000065: 37,2035 02037 TC +2 015468,000066: 37,2036 02031 TC -5 015469,000067: # Page 381 015470,000068: 37,2037 06042 TC INTPRET 015471,000069: 37,2040 47135 SLOAD RTB 015472,000070: 37,2041 01045 DSPTEM1 015473,000071: 37,2042 21577 CDULOGIC 015474,000072: 37,2043 02401 STORE AZIMUTH 015475,000073: 37,2044 60535 SLOAD SR2 015476,000074: 37,2045 01046 DSPTEM1 +1 015477,000075: 37,2046 02403 STORE LATITUDE 015478,000076: 37,2047 57546 COS DCOMP 015479,000077: 37,2050 77752 SL1 015480,000078: 37,2051 16437 STODL WANGI 015481,000079: 37,2052 02403 LATITUDE 015482,000080: 37,2053 72556 SIN SL1 015483,000081: 37,2054 16435 STODL WANGO 015484,000082: 37,2055 02401 AZIMUTH 015485,000083: 37,2056 73406 PUSH SIN 015486,000084: 37,2057 02675 STORE YNB +2 015487,000085: 37,2060 16705 STODL ZNB +4 015488,000086: 37,2061 77746 COS 015489,000087: 37,2062 02677 STORE YNB +4 015490,000088: 37,2063 77676 DCOMP 015491,000089: 37,2064 36703 POSGMBL STCALL ZNB +2 015492,000090: 37,2065 47355 CALCGA 015493,000091: 37,2066 77776 EXIT 015494,000092: 37,2067 04616 TC BANKCALL 015495,000093: 37,2070 16771 CADR IMUCOARS 015496,000094: 37,2071 34736 CAF BIT14 # IF BIT14 SET, GIMBAL LOCK 015497,000095: 37,2072 70077 MASK FLAGWRD3 015498,000096: 37,2073 00006 EXTEND 015499,000097: 37,2074 12076 BZF +2 015500,000098: 37,2075 25414 INCR NDXCTR # +1 IF IN GIMBAL LOCK, OTHERWISE 0 015501,000099: 37,2076 05516 TC DOWNFLAG 015502,000100: 37,2077 00056 ADRES GLOKFAIL # RESET GIMBAL LOCK FLAG 015503,000101: 37,2100 02315 TC IMUSLLLG 015504,000102: 37,2101 11414 CCS NDXCTR # IF ONE GO AND DO A PIPA TEST ONLY 015505,000103: 37,2102 02126 TC PIPACHK # ALIGN AND MEASURE VERTICAL PIPA RATE 015506,000104: 37,2103 02320 TC FINIMUDD 015507,000105: 37,2104 00006 EXTEND 015508,000106: 37,2105 31575 DCA PERFDLAY 015509,000107: 37,2106 05277 TC LONGCALL # DELAY WHILE SUSPENSION STABILIZES 015510,000108: 37,2107 E5,1416 EBANK= POSITON 015511,000109: 37,2107 02113 76065 2CADR GOESTIMS 015512,000110: 015513,000111: 37,2111 32116 CA ESTICADR 015514,000112: 37,2112 05133 TC JOBSLEEP 015515,000113: 37,2113 32116 GOESTIMS CA ESTICADR 015516,000114: 37,2114 05137 TC JOBWAKE 015517,000115: 37,2115 05261 TC TASKOVER 015518,000116: 37,2116 76500 ESTICADR CADR ESTIMS 015519,000117: 37,2117 34755 TORQUE CA ZERO 015520,000118: # Page 382 015521,000119: 37,2120 55047 TS DSPTEM2 015522,000120: 37,2121 31504 CA DRIFTI 015523,000121: 37,2122 55050 TS DSPTEM2 +1 015524,000122: 37,2123 51416 INDEX POSITON 015525,000123: 37,2124 55420 TS SOUTHDR -1 015526,000124: 37,2125 02457 TC SHOW 015527,000125: 015528,000126: 37,2126 51414 PIPACHK INDEX NDXCTR # PIPA TEST 015529,000127: 37,2127 02130 TC +1 015530,000128: 37,2130 02447 TC EARTHR* 015531,000129: 37,2131 34361 CA DEC17 # ALLOW PIP COUNTER TO OVERFLOW 17 TIMES 015532,000130: 37,2132 55476 TS DATAPL +4 # IN THE ALLOTTED TIME INTERVAL 015533,000131: 37,2133 32474 CA DEC58 015534,000132: 37,2134 55412 TS LENGTHOT 015535,000133: 37,2135 34753 CA ONE 015536,000134: 37,2136 55537 TS RESULTCT 015537,000135: 37,2137 34755 CA ZERO 015538,000136: 37,2140 51415 INDEX PIPINDEX 015539,000137: 37,2141 54037 TS PIPAX 015540,000138: 37,2142 55472 TS DATAPL 015541,000139: 37,2143 02332 TC CHECKG 015542,000140: 37,2144 00004 INHINT 015543,000141: 37,2145 34752 CAF TWO 015544,000142: 37,2146 05173 TC TWIDDLE 015545,000143: 37,2147 E5,1642 EBANK= XSM 015546,000144: 37,2147 02151 ADRES PIPATASK 015547,000145: 37,2150 05155 TC ENDOFJOB 015548,000146: 015549,000147: 37,2151 00006 PIPATASK EXTEND 015550,000148: 37,2152 27412 DIM LENGTHOT 015551,000149: 37,2153 31412 CA LENGTHOT 015552,000150: 37,2154 00006 EXTEND 015553,000151: 37,2155 62161 BZMF STARTPIP 015554,000152: 37,2156 34742 CAF BIT10 015555,000153: 37,2157 05173 TC TWIDDLE 015556,000154: 37,2160 E5,1642 EBANK= XSM 015557,000155: 37,2160 02151 ADRES PIPATASK 015558,000156: 37,2161 34736 STARTPIP CAF PRIO20 015559,000157: 37,2162 05105 TC FINDVAC 015560,000158: 37,2163 E5,1642 EBANK= XSM 015561,000159: 37,2163 02166 76065 2CADR PIPJOBB 015562,000160: 015563,000161: 37,2165 05261 TC TASKOVER 015564,000162: 015565,000163: 37,2166 51414 PIPJOBB INDEX NDXCTR 015566,000164: 37,2167 02170 TC +1 015567,000165: 37,2170 02447 TC EARTHR* 015568,000166: 37,2171 31412 CA LENGTHOT 015569,000167: # Page 383 015570,000168: 37,2172 00006 EXTEND 015571,000169: 37,2173 62175 BZMF +2 015572,000170: 37,2174 05155 TC ENDOFJOB 015573,000171: 015574,000172: 37,2175 34756 CA FIVE 015575,000173: 37,2176 55537 TS RESULTCT 015576,000174: 37,2177 02332 TC CHECKG 015577,000175: 37,2200 11473 CCS DATAPL +1 015578,000176: 37,2201 02205 TC +4 015579,000177: 37,2202 05675 TC CCSHOLE 015580,000178: 37,2203 41476 CS DATAPL +4 015581,000179: 37,2204 55476 TS DATAPL +4 015582,000180: 37,2205 00006 EXTEND 015583,000181: 37,2206 41473 DCS DATAPL 015584,000182: 37,2207 21477 DAS DATAPL +4 015585,000183: 015586,000184: 37,2210 06042 TC INTPRET 015587,000185: 37,2211 45345 DLOAD DSU 015588,000186: 37,2212 02501 DATAPL +6 015589,000187: 37,2213 02475 DATAPL +2 015590,000188: 37,2214 45044 BPL CALL 015591,000189: 37,2215 76217 AINGOTN 015592,000190: 37,2216 76275 OVERFFIX 015593,000191: 37,2217 56325 AINGOTN PDDL DDV 015594,000192: 37,2220 02477 DATAPL +4 015595,000193: 37,2221 47075 DMPR RTB 015596,000194: 37,2222 37056 DEC585 # DEC585 HAS BEEN REDEVINED FOR LEM 015597,000195: 37,2223 21613 SGNAGREE 015598,000196: 37,2224 01050 STORE DSPTEM2 015599,000197: 37,2225 77776 EXIT 015600,000198: 37,2226 11414 CCS NDXCTR 015601,000199: 37,2227 02301 TC COAALIGN # TAKE PLATFORM OUT OF GIMBAL LOCK 015602,000200: 37,2230 02457 TC SHOW 015603,000201: 37,2231 32471 VERTDRFT CA 3990DEC # ABOUT 1 HOUR VERTICAL DRIFT TEST 015604,000202: 37,2232 55412 TS LENGTHOT 015605,000203: 37,2233 51416 INDEX POSITON 015606,000204: 37,2234 41417 CS SOUTHDR -2 015607,000205: 37,2235 55442 TS DRIFTT 015608,000206: 37,2236 11415 CCS PIPINDEX # OFFSET PLATFORM TO MIS PIP DEAD-ZONES 015609,000207: 37,2237 12245 TCF PON4 # Z-UP IN POS 4 015610,000208: 37,2240 44747 PON2 CS BIT5 # X-UP 015611,000209: 37,2241 27565 ADS ERCOMP +2 015612,000210: 37,2242 34747 CA BIT5 015613,000211: 37,2243 27567 ADS ERCOMP +4 015614,000212: 37,2244 12251 TCF PON 015615,000213: 37,2245 44747 PON4 CS BIT5 015616,000214: 37,2246 27565 ADS ERCOMP +2 015617,000215: 37,2247 34747 CA BIT5 015618,000216: 37,2250 27563 ADS ERCOMP 015619,000217: 37,2251 02447 PON TC EARTHR* 015620,000218: # Page 384 015621,000219: 37,2252 34755 CA ZERO # ALLOW ONLY SOUTH GYRO EARTH RATE COMPENS 015622,000220: 37,2253 55404 TS ERVECTOR 015623,000221: 37,2254 55405 TS ERVECTOR +1 015624,000222: 37,2255 34733 GUESS1 CAF POSMAX 015625,000223: 37,2256 55440 TS TORQNDX 015626,000224: 37,2257 55441 TS TORQNDX +1 015627,000225: 37,2260 30032 CA CDUX 015628,000226: 37,2261 55413 TS LOSVEC 015629,000227: 37,2262 02500 TC ESTIMS 015630,000228: 37,2263 31502 VALMIS CA DRIFTO 015631,000229: 37,2264 55050 TS DSPTEM2 +1 015632,000230: 37,2265 34755 CA ZERO 015633,000231: 37,2266 55047 TS DSPTEM2 015634,000232: 37,2267 02457 TC SHOW 015635,000233: 015636,000234: 37,2270 05516 ENDTEST1 TC DOWNFLAG 015637,000235: 37,2271 00007 ADRES IMUSE 015638,000236: 37,2272 44755 CS ZERO 015639,000237: 37,2273 05314 TC NEWMODEA 015640,000238: 37,2274 05472 TC ENDEXT 015641,000239: 015642,000240: # Page 385 015643,000241: 37,2275 43215 OVERFFIX DAD DAD 015644,000242: 37,2276 06532 DPPOSMAX 015645,000243: 37,2277 37064 ONEDPP 015646,000244: 37,2300 77616 RVQ 015647,000245: 015648,000246: 37,2301 00006 COAALIGN EXTEND # COARSE ALIGN SUBROUTINE 015649,000247: 37,2302 23571 QXCH ZERONDX 015650,000248: 37,2303 34755 CA ZERO 015651,000249: 37,2304 54321 TS THETAD 015652,000250: 37,2305 54322 TS THETAD +1 015653,000251: 37,2306 54323 TS THETAD +2 015654,000252: 37,2307 04616 TC BANKCALL 015655,000253: 37,2310 16771 CADR IMUCOARS 015656,000254: 37,2311 04616 ALIGNCOA TC BANKCALL 015657,000255: 37,2312 17707 CADR IMUSTALL 015658,000256: 37,2313 03047 TC SOMERR2 015659,000257: 37,2314 01571 TC ZERONDX 015660,000258: 015661,000259: 37,2315 00006 IMUSLLLG EXTEND 015662,000260: 37,2316 23571 QXCH ZERONDX 015663,000261: 37,2317 02311 TC ALIGNCOA 015664,000262: 015665,000263: 37,2320 00006 FINIMUDD EXTEND 015666,000264: 37,2321 23571 QXCH ZERONDX 015667,000265: 37,2322 04616 TC BANKCALL 015668,000266: 37,2323 17201 CADR IMUFINE 015669,000267: 37,2324 02311 TC ALIGNCOA 015670,000268: 015671,000269: 37,2325 00006 IMUZERR EXTEND 015672,000270: 37,2326 23571 QXCH ZERONDX 015673,000271: 37,2327 04616 TC BANKCALL 015674,000272: 37,2330 16705 CADR IMUZERO 015675,000273: 37,2331 02311 TC ALIGNCOA 015676,000274: 015677,000275: 37,2332 00006 CHECKG EXTEND # PIP PULSE CATCHING ROUTINE 015678,000276: 37,2333 23417 QXCH QPLACE 015679,000277: 37,2334 02342 TC +6 015680,000278: 37,2335 00003 CHECKG1 RELINT 015681,000279: 37,2336 30067 CA NEWJOB 015682,000280: 37,2337 00006 EXTEND 015683,000281: 37,2340 62346 BZMF +6 015684,000282: 37,2341 05122 TC CHANG1 015685,000283: 37,2342 00004 INHINT 015686,000284: 37,2343 51415 INDEX PIPINDEX 015687,000285: 37,2344 40037 CS PIPAX 015688,000286: 37,2345 55571 TS ZERONDX 015689,000287: 37,2346 00004 INHINT 015690,000288: # Page 386 015691,000289: 37,2347 51415 INDEX PIPINDEX 015692,000290: 37,2350 30037 CA PIPAX 015693,000291: 37,2351 61571 AD ZERONDX 015694,000292: 37,2352 00006 EXTEND 015695,000293: 37,2353 12335 BZF CHECKG1 015696,000294: 37,2354 51415 INDEX PIPINDEX 015697,000295: 37,2355 30037 CA PIPAX 015698,000296: 37,2356 51537 INDEX RESULTCT 015699,000297: 37,2357 55472 TS DATAPL 015700,000298: 37,2360 04102 TC FINETIME 015701,000299: 37,2361 51537 INDEX RESULTCT 015702,000300: 37,2362 55473 TS DATAPL +1 015703,000301: 37,2363 51537 INDEX RESULTCT 015704,000302: 37,2364 23474 LXCH DATAPL +2 015705,000303: 37,2365 00003 RELINT 015706,000304: 37,2366 01417 ENDCHKG TC QPLACE 015707,000305: 015708,000306: 37,2367 54001 ZEROING TS L 015709,000307: 37,2370 12372 TCF +2 015710,000308: 37,2371 55571 ZEROING1 TS ZERONDX 015711,000309: 37,2372 34755 CAF ZERO 015712,000310: 37,2373 50001 INDEX L 015713,000311: 37,2374 54000 TS 0 015714,000312: 37,2375 24001 INCR L 015715,000313: 37,2376 11571 CCS ZERONDX 015716,000314: 37,2377 12371 TCF ZEROING1 015717,000315: 37,2400 00002 TC Q 015718,000316: 015719,000317: # Page 387 015720,000318: 37,2401 65345 ERTHRVSE DLOAD PDDL 015721,000319: 37,2402 37057 SCHZEROS # PD24 = (SIN (missing) -COS (missing) 0)(OMEG/MS) 015722,000320: 37,2403 02403 LATITUDE 015723,000321: 37,2404 57546 COS DCOMP 015724,000322: 37,2405 73525 PDDL SIN 015725,000323: 37,2406 02403 LATITUDE 015726,000324: 37,2407 74266 VDEF VXSC 015727,000325: 37,2410 36001 OMEG/MS 015728,000326: 37,2411 02405 STORE ERVECTOR 015729,000327: 37,2412 77634 RTB 015730,000328: 37,2413 21574 LOADTIME 015731,000329: 37,2414 26433 STOVL TMARK 015732,000330: 37,2415 37057 SCHZEROS 015733,000331: 37,2416 02564 STORE ERCOMP 015734,000332: 37,2417 77616 RVQ 015735,000333: 015736,000334: 37,2420 47020 EARTHR ITA RTB 015737,000335: 37,2421 00051 S2 015738,000336: 37,2422 21574 LOADTIME 015739,000337: 37,2423 02431 STORE TEMPTIME 015740,000338: 37,2424 51025 DSU BPL 015741,000339: 37,2425 02433 TMARK 015742,000340: 37,2426 76431 ERTHR 015743,000341: 37,2427 77624 CALL 015744,000342: 37,2430 76275 OVERFFIX 015745,000343: 37,2431 74261 ERTHR SL VXSC 015746,000344: 37,2432 20212 9D 015747,000345: 37,2433 02405 ERVECTOR 015748,000346: 37,2434 53321 MXV VAD 015749,000347: 37,2435 02643 XSM 015750,000348: 37,2436 02564 ERCOMP 015751,000349: 37,2437 16564 STODL ERCOMP 015752,000350: 37,2440 02431 TEMPTIME 015753,000351: 37,2441 02433 STORE TMARK 015754,000352: 37,2442 47170 AXT,1 RTB 015755,000353: 37,2443 02563 ECADR ERCOMP 015756,000354: 37,2444 21706 PULSEIMU 015757,000355: 37,2445 77650 GOTO 015758,000356: 37,2446 00051 S2 015759,000357: 015760,000358: 37,2447 00006 EARTHR* EXTEND 015761,000359: 37,2450 23420 QXCH QPLACES 015762,000360: 37,2451 06042 TC INTPRET 015763,000361: 37,2452 77624 CALL 015764,000362: 37,2453 76420 EARTHR 015765,000363: 37,2454 77776 EXIT 015766,000364: 37,2455 02315 TC IMUSLLLG 015767,000365: 37,2456 01420 TC QPLACES 015768,000366: 015769,000367: 37,2457 00006 SHOW EXTEND 015770,000368: # Page 388 015771,000369: 37,2460 23417 QXCH QPLACE 015772,000370: 37,2461 31416 SHOW1 CA POSITON 015773,000371: 37,2462 55051 TS DSPTEM2 +2 015774,000372: 37,2463 32472 CA VB06N98 015775,000373: 37,2464 04616 TC BANKCALL 015776,000374: 37,2465 20477 CADR GOFLASH 015777,000375: 37,2466 02270 TC ENDTEST1 # V34 015778,000376: 37,2467 01417 TC QPLACE # V33 015779,000377: 37,2470 12461 TCF SHOW1 015780,000378: 015781,000379: 37,2471 07626 3990DEC DEC 3990 B-14 015782,000380: 37,2472 01542 VB06N98 VN 0698 015783,000381: 37,2473 01451 VN0641 VN 0641 015784,000382: 37,2474 4361 DEC17 = ND1 015785,000383: 37,2474 00072 DEC58 DEC 58 B-14 015786,000384: 37,2475 02737 OGCPL ECADR OGC 015787,000385: 37,2476 4777 1SECX = 1SEC 015788,000386: 37,2476 01664 XNBADR GENADR XNB 015789,000387: 37,2477 01642 XSMADR GENADR XSM 015790,000388: 015791,000389: 4102 BLOCK 2 015792,000390: 4102 COUNT* $$/P07 015793,000391: 4102 00004 FINETIME INHINT # RETURNS WITH INTERRUPT INHIBITED 015794,000392: 4103 00006 EXTEND 015795,000393: 4104 00004 READ LOSCALAR 015796,000394: 4105 54001 TS L 015797,000395: 4106 00006 EXTEND 015798,000396: 4107 06004 RXOR LOSCALAR 015799,000397: 4110 00006 EXTEND 015800,000398: 4111 14115 BZF +4 015801,000399: 4112 00006 EXTEND 015802,000400: 4113 00004 READ LOSCALAR 015803,000401: 4114 54001 TS L 015804,000402: 4115 44733 CS POSMAX 015805,000403: 4116 60001 AD L 015806,000404: 4117 00006 EXTEND 015807,000405: 4120 14103 BZF FINETIME +1 015808,000406: 4121 00006 EXTEND 015809,000407: 4122 00003 READ HISCALAR 015810,000408: 4123 00002 TC Q 015811,000409: End of include-file IMU_PERFORMANCE_TEST_2.agc. Parent file is MAIN.agc