Source Code

015813,000001: # Copyright: Public domain. 015814,000002: # Filename: IMU_PERFORMANCE_TESTS.agc 015815,000003: # Purpose: A section of Luminary 1C, revision 131. 015816,000004: # It is part of the source code for the Lunar Module's (LM) 015817,000005: # Apollo Guidance Computer (AGC) for Apollo 13 and Apollo 14. 015818,000006: # This file is intended to be a faithful transcription, except 015819,000007: # that the code format has been changed to conform to the 015820,000008: # requirements of the yaYUL assembler rather than the 015821,000009: # original YUL assembler. 015822,000010: # Reference: pp. 389-396 of 1729.pdf. 015823,000011: # Contact: Ron Burkey <info@sandroid.org>. 015824,000012: # Website: www.ibiblio.org/apollo/index.html 015825,000013: # Mod history: 05/11/03 RSB. Began transcribing. 015826,000014: # 05/14/05 RSB. Corrected website reference above. 015827,000015: 015828,000016: # Page 389 015829,000017: # PROGRAM -- IMU PERFORMANCE TESTS 4 015830,000018: # DATA -- NOV 15, 1966 015831,000019: # BY -- GEORGE SCHMIDT IL7-146 EXT 1126 015832,000020: # MCD NO-ZERO 015833,000021: 015834,000022: # FUNCITONAL DESCRIPTION 015835,000023: 015836,000024: # THIS SECTION CONSISTSOF THE FILTER FOR THE GYRO DRIFT TESTS. NO COMPASS 015837,000025: # IS DONE IN LEM. FOR A DESCRIPTION OF THE FILTER SEE E-1973. THIS 015838,000026: # SECTION IS ENTERED FROM IMU 2. IT RETURNS THERE AT END OF TEST. 015839,000027: 015840,000028: # EARTHR,OGC ZERO,ERTHRVSE 015841,000029: 015842,000030: # NORMAL EXIT 015843,000031: 015844,000032: # LENGTHOT GOES TO ZERO -- RETURN TO IMU PERF TESTS 2 CONTROL 015845,000033: 015846,000034: # ALARMS 015847,000035: 015848,000036: # 1600 OVERFLOW IN DRIFT TEST 015849,000037: # 1601 BAD IMU MODING IN ANY ROUTINE THAT USES IMUSTALL 015850,000038: # OUTPUT 015851,000039: 015852,000040: # FLASHING DISPLAY OF RESULTS -- CONTROLLED IN IMU PERF TESTS 2 015853,000041: 015854,000042: # DEBRIS 015855,000043: 015856,000044: # ALL CENTRALS -- ALL OF EBANK XSM 015857,000045: 015858,000046: # Page 390 015859,000047: 33,2045 BANK 33 015860,000048: 37,2000 SETLOC IMU4 015861,000049: 37,2000 BANK 015862,000050: 37,2500 COUNT* $$/P07 015863,000051: 015864,000052: 37,2500 E5,1642 EBANK= XSM 015865,000053: 015866,000054: 37,2500 00004 ESTIMS INHINT 015867,000055: 37,2501 31572 CAE 1SECXT 015868,000056: 37,2502 05173 TC TWIDDLE 015869,000057: 37,2503 E5,1642 EBANK= XSM 015870,000058: 37,2503 02536 ADRES ALLOOP 015871,000059: 37,2504 34755 CAF ZERO # ZERO THE PIPAS 015872,000060: 37,2505 54037 TS PIPAX 015873,000061: 37,2506 54040 TS PIPAY 015874,000062: 37,2507 54041 TS PIPAZ 015875,000063: 37,2510 00003 RELINT 015876,000064: 37,2511 33075 CA 77DECML 015877,000065: 37,2512 55571 TS ZERONDX 015878,000066: 37,2513 33076 CA ALXXXZ 015879,000067: 37,2514 02367 TC ZEROING 015880,000068: 37,2515 06042 TC INTPRET 015881,000069: 37,2516 77735 SLOAD 015882,000070: 37,2517 37057 SCHZEROS 015883,000071: 37,2520 25477 STOVL GCOMPSW -1 015884,000072: 37,2521 37070 INTVAL +2 015885,000073: 37,2522 26445 STOVL ALX1S 015886,000074: 37,2523 37057 SCHZEROS 015887,000075: 37,2524 00325 STORE DELVX 015888,000076: 37,2525 01472 STORE GCOMP 015889,000077: 37,2526 77735 SLOAD 015890,000078: 37,2527 02441 TORQNDX 015891,000079: 37,2530 50076 DCOMP BMN 015892,000080: 37,2531 76534 VERTSKIP 015893,000081: 37,2532 77624 CALL 015894,000082: 37,2533 76401 ERTHRVSE 015895,000083: 37,2534 77776 VERTSKIP EXIT 015896,000084: 37,2535 03035 TC SLEEPIE +1 015897,000085: 015898,000086: # Page 391 015899,000087: 37,2536 31576 ALLOOP CA OVFLOWCK 015900,000088: 37,2537 00006 EXTEND 015901,000089: 37,2540 12542 BZF +2 015902,000090: 37,2541 05261 TC TASKOVER 015903,000091: 37,2542 11530 CCS ALTIM 015904,000092: 37,2543 30000 CA A # SHOULD NEVER HIT THIS LOCATION 015905,000093: 37,2544 55531 TS ALTIMS 015906,000094: 37,2545 40000 CS A 015907,000095: 37,2546 55530 TS ALTIM 015908,000096: 37,2547 44753 CS ONE 015909,000097: 37,2550 61562 AD GEOCOMPS 015910,000098: 37,2551 00006 EXTEND 015911,000099: 37,2552 12556 BZF +4 015912,000100: 37,2553 31412 CA LENGTHOT 015913,000101: 37,2554 00006 EXTEND 015914,000102: 37,2555 62562 BZMF +5 015915,000103: 37,2556 31572 CAE 1SECXT 015916,000104: 37,2557 05173 TC TWIDDLE 015917,000105: 37,2560 E5,1642 EBANK= XSM 015918,000106: 37,2560 02536 ADRES ALLOOP 015919,000107: 37,2561 34755 CAF ZERO 015920,000108: 37,2562 56037 XCH PIPAX 015921,000109: 37,2563 54324 TS DELVX 015922,000110: 37,2564 34755 CAF ZERO 015923,000111: 37,2565 56040 XCH PIPAY 015924,000112: 37,2566 54326 TS DELVY 015925,000113: 37,2567 34755 CAF ZERO 015926,000114: 37,2570 56041 XCH PIPAZ 015927,000115: 37,2571 54330 TS DELVZ 015928,000116: 37,2572 34736 SPECSTS CAF PRIO20 015929,000117: 37,2573 05105 TC FINDVAC 015930,000118: 37,2574 E5,1642 EBANK= XSM 015931,000119: 37,2574 02577 76065 2CADR ALFLT # START THE JOB 015932,000120: 015933,000121: 37,2576 05261 TC TASKOVER 015934,000122: 015935,000123: # Page 392 015936,000124: 37,2577 11562 ALFLT CCS GEOCOMPS 015937,000125: 37,2600 02602 TC +2 015938,000126: 37,2601 02604 TC NORMLOP 015939,000127: 37,2602 04616 TC BANKCALL 015940,000128: 37,2603 15271 CADR 1/PIPA 015941,000129: 37,2604 06042 NORMLOP TC INTPRET 015942,000130: 37,2605 77745 DLOAD 015943,000131: 37,2606 37066 INTVAL 015944,000132: 37,2607 24051 STOVL S1 015945,000133: 37,2610 00325 DELVX 015946,000134: 37,2611 76505 VXM VSL1 015947,000135: 37,2612 02643 XSM 015948,000136: 37,2613 57545 DLOAD DCOMP 015949,000137: 37,2614 00160 MPAC +3 015950,000138: 37,2615 16523 STODL DPIPAY 015951,000139: 37,2616 00162 MPAC +5 015952,000140: 37,2617 02527 STORE DPIPAZ 015953,000141: 015954,000142: 37,2620 76001 SETPD AXT,1 015955,000143: 37,2621 00001 0 015956,000144: 37,2622 00010 8D 015957,000145: 37,2623 57535 SLOAD DCOMP 015958,000146: 37,2624 02563 GEOCOMPS 015959,000147: 37,2625 77640 BMN 015960,000148: 37,2626 76772 PERFERAS 015961,000149: 37,2627 50135 ALCGKK SLOAD BMN 015962,000150: 37,2630 02532 ALTIMS 015963,000151: 37,2631 76644 ALFLT3 015964,000152: 37,2632 72174 ALKCG AXT,2 LXA,1 # LOADS SLOPES AND TIME CONSTANTS AT RQST 015965,000153: 37,2633 00014 12D 015966,000154: 37,2634 02444 ALX1S 015967,000155: 37,2635 62143 ALKCG2 DLOAD* INCR,1 015968,000156: 37,2636 02243 ALFDK +144D,1 015969,000157: 37,2637 77775 DEC -2 B-14 015970,000158: 37,2640 12545 STORE ALDK +10D,2 015971,000159: 37,2641 66104 TIX,2 SXA,1 015972,000160: 37,2642 76635 ALKCG2 015973,000161: 37,2643 02444 ALX1S 015974,000162: 015975,000163: 37,2644 77770 ALFLT3 AXT,1 015976,000164: 37,2645 00010 8D 015977,000165: 37,2646 41343 DELMLP DLOAD* DMP 015978,000166: 37,2647 02533 DPIPAY +8D,1 015979,000167: 37,2650 37100 PIPASC 015980,000168: 37,2651 43661 SLR BDSU* 015981,000169: 37,2652 21212 9D 015982,000170: 37,2653 02501 INTY +8D,1 015983,000171: 37,2654 06501 STORE INTY +8D,1 015984,000172: 37,2655 40725 PDDL DMP* 015985,000173: 37,2656 37102 VELSC 015986,000174: # Page 393 015987,000175: 37,2657 02521 VLAUN +8D,1 015988,000176: 37,2660 77732 SL2R 015989,000177: 37,2661 45425 DSU STADR 015990,000178: 37,2662 71216 STORE DELM +8D,1 015991,000179: 37,2663 06563 STORE DELM +10D,1 015992,000180: 37,2664 77100 TIX,1 AXT,2 015993,000181: 37,2665 76646 DELMLP 015994,000182: 37,2666 00004 4 015995,000183: 37,2667 56743 ALILP DLOAD* DMPR* 015996,000184: 37,2670 75324 ALK +4,2 015997,000185: 37,2671 75240 ALDK +4,2 015998,000186: 37,2672 12453 STORE ALK +4,2 015999,000187: 37,2673 77104 TIX,2 AXT,2 016000,000188: 37,2674 76667 ALILP 016001,000189: 37,2675 00010 8D 016002,000190: 37,2676 66140 ALKLP LXC,1 SXA,1 016003,000191: 37,2677 02445 CMPX1 016004,000192: 37,2700 02445 CMPX1 016005,000193: 37,2701 56743 DLOAD* DMPR* 016006,000194: 37,2702 02450 ALK +1,1 016007,000195: 37,2703 75216 DELM +8D,2 016008,000196: 37,2704 77613 DAD* 016009,000197: 37,2705 75276 INTY +8D,2 016010,000198: 37,2706 12501 STORE INTY +8D,2 016011,000199: 37,2707 42743 DLOAD* DAD* 016012,000200: 37,2710 75314 ALK +12D,2 016013,000201: 37,2711 75230 ALDK +12D,2 016014,000202: 37,2712 12463 STORE ALK +12D,2 016015,000203: 37,2713 42673 DMPR* DAD* 016016,000204: 37,2714 75216 DELM +8D,2 016017,000205: 37,2715 75266 INTY +16D,2 016018,000206: 37,2716 12511 STORE INTY +16D,2 016019,000207: 37,2717 40743 DLOAD* DMP* 016020,000208: 37,2720 37105 ALSK +1,1 016021,000209: 37,2721 75216 DELM +8D,2 016022,000210: 37,2722 42772 SL1R DAD* 016023,000211: 37,2723 75256 VLAUN +8D,2 016024,000212: 37,2724 12521 STORE VLAUN +8D,2 016025,000213: 37,2725 76104 TIX,2 AXT,1 016026,000214: 37,2726 76676 ALKLP 016027,000215: 37,2727 00010 8D 016028,000216: 016029,000217: 37,2730 64743 LOOSE DLOAD* PDDL* 016030,000218: 37,2731 02523 ACCWD +8D,1 016031,000219: 37,2732 02521 VLAUN +8D,1 016032,000220: 37,2733 55523 PDDL* VDEF 016033,000221: 37,2734 02531 POSNV +8D,1 016034,000222: 37,2735 76521 MXV VSL1 016035,000223: 37,2736 02001 TRANSM1 016036,000224: # Page 394 016037,000225: 37,2737 77745 DLOAD 016038,000226: 37,2740 00155 MPAC 016039,000227: 37,2741 06531 STORE POSNV +8D,1 016040,000228: 37,2742 77745 DLOAD 016041,000229: 37,2743 00160 MPAC +3 016042,000230: 37,2744 06521 STORE VLAUN +8D,1 016043,000231: 37,2745 77745 DLOAD 016044,000232: 37,2746 00162 MPAC +5 016045,000233: 37,2747 06523 STORE ACCWD +8D,1 016046,000234: 37,2750 77700 TIX,1 016047,000235: 37,2751 76730 LOOSE 016048,000236: 016049,000237: 37,2752 76174 AXT,2 AXT,1 # EVALUATE SINES AND COSINES 016050,000238: 37,2753 00006 6 016051,000239: 37,2754 00002 2 016052,000240: 37,2755 57343 BOOP DLOAD* DMPR 016053,000241: 37,2756 02503 ANGX +2,1 016054,000242: 37,2757 37110 GEORGEJ 016055,000243: 37,2760 77722 SR2R 016056,000244: 37,2761 73406 PUSH SIN 016057,000245: 37,2762 56072 SL3R XAD,1 016058,000246: 37,2763 00046 X1 016059,000247: 37,2764 10021 STORE 16D,2 016060,000248: 37,2765 77745 DLOAD 016061,000249: 37,2766 77746 COS 016062,000250: 37,2767 10027 STORE 22D,2 # COSINES 016063,000251: 37,2770 77704 TIX,2 016064,000252: 37,2771 76755 BOOP 016065,000253: 016066,000254: 37,2772 77776 PERFERAS EXIT 016067,000255: 37,2773 35016 CA EBANK7 016068,000256: 37,2774 54003 TS EBANK 016069,000257: 37,2775 E7,1400 EBANK= ATIGINC 016070,000258: 37,2775 01400 TC ATIGINC # GOTO ERASABLE TO CALCULATE (garbled) TO RETN 016071,000259: 016072,000260: # CAUTION 016073,000261: 016074,000262: # THE ERASABLE PROGRAM THAT DOES THE CALCULATIONS MUST BE LOADED 016075,000263: # BEFORE ANY ATTEMPT IS MAKE TO RUN THE IMU PERFORMANCE TEST 016076,000264: 016077,000265: 37,2776 E5,1400 EBANK= AZIMUTH 016078,000266: 37,2776 11412 CCS LENGTHOT 016079,000267: 37,2777 03034 TC SLEEPIE 016080,000268: 37,3000 11440 CCS TORQNDX 016081,000269: 37,3001 13003 TCF +2 016082,000270: 37,3002 03005 TC SETUPER1 016083,000271: 37,3003 30032 CA CDUX 016084,000272: 37,3004 55414 TS LOSVEC +1 # FOR TROUBLESHOOTING VD POSNS 2. 016085,000273: 016086,000274: # Page 395 016087,000275: 37,3005 06042 SETUPER1 TC INTPRET 016088,000276: 37,3006 65345 DLOAD PDDL # ANGLES FROM DRIFT TEST ONLY 016089,000277: 37,3007 02473 ANGZ 016090,000278: 37,3010 02477 ANGY 016091,000279: 37,3011 55525 PDDL VDEF 016092,000280: 37,3012 02501 ANGX 016093,000281: 37,3013 74276 VCOMP VXSC 016094,000282: 37,3014 37110 GEORGEJ 016095,000283: 37,3015 74521 MXV VSR1 016096,000284: 37,3016 02643 XSM 016097,000285: 37,3017 02740 STORE OGC 016098,000286: 37,3020 77776 EXIT 016099,000287: 016100,000288: 37,3021 32475 CA OGCPL 016101,000289: 37,3022 04616 TC BANKCALL 016102,000290: 37,3023 17314 CADR IMUPULSE 016103,000291: 37,3024 02315 TC IMUSLLLG 016104,000292: 37,3025 11440 GEOSTRT4 CCS TORQNDX # ONLY POSITIVE IF IN VERTICAL DRIFT TEST 016105,000293: 37,3026 02263 TC VALMIS 016106,000294: 37,3027 06042 TC INTPRET 016107,000295: 37,3030 77624 CALL 016108,000296: 37,3031 76401 ERTHRVSE 016109,000297: 37,3032 77776 EXIT 016110,000298: 37,3033 02117 TC TORQUE 016111,000299: 016112,000300: 37,3034 55412 SLEEPIE TS LENGTHOT # TEST NOT OVER-DECREMENT LENGTHOT 016113,000301: 37,3035 11440 CCS TORQNDX # ARE WE DOING VERTDRIFT 016114,000302: 37,3036 02447 TC EARTHR* 016115,000303: 37,3037 05155 TC ENDOFJOB 016116,000304: 016117,000305: 37,3040 35014 SOMEERRR CA EBANK5 016118,000306: 37,3041 54003 TS EBANK 016119,000307: 37,3042 34753 CA ONE 016120,000308: 37,3043 55576 TS OVFLOWCK # STOP ALLOOP FROM CALLING ITSELF 016121,000309: 37,3044 05567 TC ALARM 016122,000310: 37,3045 01600 OCT 1600 016123,000311: 37,3046 02270 TC ENDTEST1 016124,000312: 37,3047 33054 SOMERR2 CAF OCT1601 016125,000313: 37,3050 05734 TC VARALARM 016126,000314: 37,3051 05516 TC DOWNFLAG 016127,000315: 37,3052 00007 ADRES IMUSE 016128,000316: 37,3053 05155 TC ENDOFJOB 016129,000317: 016130,000318: 37,3054 01601 OCT1601 OCT 01601 016131,000319: 37,3055 06200 DEC585 OCT 06200 # 3200 B+14 ORDER IS IMPORTANT 016132,000320: 37,3056 00000 00000 SCHZEROS 2DEC .00000000 016133,000321: # Page 396 016134,000322: 37,3060 00000 00000 2DEC .00000000 016135,000323: 37,3062 00000 OCT 00000 016136,000324: 37,3063 00000 ONEDPP OCT 00000 # ORDER IS IMPORTANT 016137,000325: 37,3064 00001 OCT 00001 016138,000326: 016139,000327: 37,3065 00004 INTVAL OCT 4 016140,000328: 37,3066 00002 OCT 2 016141,000329: 37,3067 00220 DEC 144 B-14 016142,000330: 37,3070 77776 DEC -1 B-14 016143,000331: 37,3071 35730 00035 SOUPLY 2DEC .93505870 # INITIAL GAINS FOR PIP OUTPUTS 016144,000332: 37,3073 10317 17550 2DEC .26266423 # INITIAL GAINS/4 FOR ERECTION ANGLES 016145,000333: 016146,000334: 37,3075 00115 77DECML DEC 77 B-14 016147,000335: 37,3076 01443 ALXXXZ GENADR ALX1S -1 016148,000336: 37,3077 04133 02265 PIPASC 2DEC .13055869 016149,000337: 37,3101 57223 66451 VELSC 2DEC -.52223476 # 512/980.402 016150,000338: 37,3103 05427 12577 ALSK 2DEC .17329931 # SSWAY VEL GAIN X 980.402/4096 016151,000339: 37,3105 77567 44202 2DEC -.00835370 # SSWAY ACCEL GAIN X 980.402/4096 016152,000340: 016153,000341: 37,3107 24276 14066 GEORGEJ 2DEC .63661977 016154,000342: 37,3111 23073 11773 GEORGEK 2DEC .59737013 016155,000343: End of include-file IMU_PERFORMANCE_TESTS_4.agc. Parent file is MAIN.agc