Source Code
|
These source-code files are part of a reconstructed copy of Luminary 98, a
development version of the Apollo 11 Lunar Module (LM) Apollo Guidance Computer
(AGC) software.
The reconstruction began with source code of Luminary 99 revision 1 previously transcribed from a digitized copy of that program. The code was then updated by undoing changes described in original Luminary memo 85, using asterisks indicating changed lines in the listing as a guide. While no listing of this version is known to exist, nor are the memory-bank checksums available, the reconstruction is believed to be correct because it was an an intermediate step in reconstructing Luminary 97 whose reconstruction was verified by matching memory-bank checksums to those listed in drawing 2021152G. Note that page numbers in the reconstructed code match those on the Luminary 099 revision 001 printout, although the added code would likely have changed page numbers for a real Luminary 98 listing. Comments from the original source code are prefixed with a single '#' symbol, whereas comments added later are prefixed by "##" or "###". Report any errors noted by creating an issue report at the Virtual AGC project's GitHub repository. |
015645,000002: ## Copyright: Public domain.
015646,000003: ## Filename: IMU_PERFORMANCE_TESTS_4.agc
015647,000004: ## Purpose: A section of Luminary revision 98.
015648,000005: ## It is part of the reconstructed source code for the a
015649,000006: ## development version of the flight software for the Lunar
015650,000007: ## Module's (LM) Apollo Guidance Computer (AGC) for Apollo 11.
015651,000008: ## The code has been recreated from a copy of Luminary 99
015652,000009: ## revision 001, using asterisks indicating changed lines in
015653,000010: ## the listing and Luminary Memo #85, which lists changes between
015654,000011: ## Luminary 98 and 99.
015655,000012: ## Reference: pp. 382-389
015656,000013: ## Assembler: yaYUL
015657,000014: ## Contact: Ron Burkey <info@sandroid.org>.
015658,000015: ## Website: www.ibiblio.org/apollo/index.html
015659,000016: ## Mod history: 2019-07-28 MAS Created from Luminary 99.
015660,000017:
|
Page 382 |
015662,000019: # PROGRAM - IMU PERFORMANCE TESTS 4
015663,000020: # DATE - NOV 15, 1966
015664,000021: # BY - GEORGE SCHMIDT IL7-146 EXT 1126
015665,000022: # MOD NO-ZERO
015666,000023:
015667,000024: # FUNCTIONAL DESCRIPTION
015668,000025:
015669,000026: # THIS SECTION CONSISTS OF THE FILTER FOR THE GYRO DRIFT TESTS. NO COMPASS
015670,000027: # IS DONE IN LEM. FOR A DESCRIPTION OF THE FILTER SEE E-1973. THIS
015671,000028: # SECTION IS ENTERED FROM IMU 2. IT RETURNS THERE AT END OF TEST.
015672,000029:
015673,000030: # EARTHR,OGC ZERO,ERTHRVSE
015674,000031:
015675,000032: # NORMAL EXIT
015676,000033:
015677,000034: # LENGTHOT GOES TO ZERO - RETURN TO IMU PERF TESTS 2 CONTROL
015678,000035:
015679,000036: # ALARMS
015680,000037:
015681,000038: # 1600 OVERFLOW IN DRIFT TEST
015682,000039: # 1601 BAD IMU MODING IN ANY ROUTINE THAT USES IMUSTALL
015683,000040: # OUTPUT
015684,000041:
015685,000042: # FLASHING DISPLAY OF RESULTS - CONTROLLED IN IMU PERF TESTS 2
015686,000043:
015687,000044: # DEBRIS
015688,000045:
015689,000046: # ALL CENTRALS - ALL OF EBANK XSM
015690,000047:
|
Page 383 |
015692,000049: 33,2045 BANK 33
015693,000050: 37,2000 SETLOC IMU4
015694,000051: 37,2000 BANK
015695,000052: 37,2500 COUNT* $$/P07
015696,000053:
015697,000054: 37,2500 E5,1642 EBANK= XSM
015698,000055:
015699,000056: 37,2500 00004 ESTIMS INHINT
015700,000057: 37,2501 31572 CAE 1SECXT
015701,000058: 37,2502 05173 TC TWIDDLE
015702,000059: 37,2503 E5,1642 EBANK= XSM
015703,000060: 37,2503 02536 ADRES ALLOOP
015704,000061: 37,2504 34755 CAF ZERO # ZERO THE PIPAS
015705,000062: 37,2505 54037 TS PIPAX
015706,000063: 37,2506 54040 TS PIPAY
015707,000064: 37,2507 54041 TS PIPAZ
015708,000065: 37,2510 00003 RELINT
015709,000066: 37,2511 33075 CA 77DECML
015710,000067: 37,2512 55571 TS ZERONDX
015711,000068: 37,2513 33076 CA ALXXXZ
015712,000069: 37,2514 02367 TC ZEROING
015713,000070: 37,2515 06037 TC INTPRET
015714,000071: 37,2516 77735 SLOAD
015715,000072: 37,2517 37057 SCHZEROS
015716,000073: 37,2520 25477 STOVL GCOMPSW -1
015717,000074: 37,2521 37070 INTVAL +2
015718,000075: 37,2522 26445 STOVL ALX1S
015719,000076: 37,2523 37057 SCHZEROS
015720,000077: 37,2524 00325 STORE DELVX
015721,000078: 37,2525 01472 STORE GCOMP
015722,000079: 37,2526 77735 SLOAD
015723,000080: 37,2527 02441 TORQNDX
015724,000081: 37,2530 50076 DCOMP BMN
015725,000082: 37,2531 76534 VERTSKIP
015726,000083: 37,2532 77624 CALL
015727,000084: 37,2533 76401 ERTHRVSE
015728,000085: 37,2534 77776 VERTSKIP EXIT
015729,000086: 37,2535 03035 TC SLEEPIE +1
015730,000087:
|
Page 384 |
015732,000089: 37,2536 31576 ALLOOP CA OVFLOWCK
015733,000090: 37,2537 00006 EXTEND
015734,000091: 37,2540 12542 BZF +2
015735,000092: 37,2541 05261 TC TASKOVER
015736,000093: 37,2542 11530 CCS ALTIM
015737,000094: 37,2543 30000 CA A # SHOULD NEVER HIT THIS LOCATION
015738,000095: 37,2544 55531 TS ALTIMS
015739,000096: 37,2545 40000 CS A
015740,000097: 37,2546 55530 TS ALTIM
015741,000098: 37,2547 44753 CS ONE
015742,000099: 37,2550 61562 AD GEOCOMPS
015743,000100: 37,2551 00006 EXTEND
015744,000101: 37,2552 12556 BZF +4
015745,000102: 37,2553 31412 CA LENGTHOT
015746,000103: 37,2554 00006 EXTEND
015747,000104: 37,2555 62562 BZMF +5
015748,000105: 37,2556 31572 CAE 1SECXT
015749,000106: 37,2557 05173 TC TWIDDLE
015750,000107: 37,2560 E5,1642 EBANK= XSM
015751,000108: 37,2560 02536 ADRES ALLOOP
015752,000109: 37,2561 34755 CAF ZERO
015753,000110: 37,2562 56037 XCH PIPAX
015754,000111: 37,2563 54324 TS DELVX
015755,000112: 37,2564 34755 CAF ZERO
015756,000113: 37,2565 56040 XCH PIPAY
015757,000114: 37,2566 54326 TS DELVY
015758,000115: 37,2567 34755 CAF ZERO
015759,000116: 37,2570 56041 XCH PIPAZ
015760,000117: 37,2571 54330 TS DELVZ
015761,000118: 37,2572 34736 SPECSTS CAF PRIO20
015762,000119: 37,2573 05105 TC FINDVAC
015763,000120: 37,2574 E5,1642 EBANK= XSM
015764,000121: 37,2574 02577 76065 2CADR ALFLT # START THE JOB
015765,000122:
015766,000123: 37,2576 05261 TC TASKOVER
015767,000124:
|
Page 385 |
015769,000126: 37,2577 11562 ALFLT CCS GEOCOMPS
015770,000127: 37,2600 02602 TC +2
015771,000128: 37,2601 02604 TC NORMLOP
015772,000129: 37,2602 04616 TC BANKCALL
015773,000130: 37,2603 15263 CADR 1/PIPA
015774,000131: 37,2604 06037 NORMLOP TC INTPRET
015775,000132: 37,2605 77745 DLOAD
015776,000133: 37,2606 37066 INTVAL
015777,000134: 37,2607 24051 STOVL S1
015778,000135: 37,2610 00325 DELVX
015779,000136: 37,2611 76505 VXM VSL1
015780,000137: 37,2612 02643 XSM
015781,000138: 37,2613 57545 DLOAD DCOMP
015782,000139: 37,2614 00160 MPAC +3
015783,000140: 37,2615 16523 STODL DPIPAY
015784,000141: 37,2616 00162 MPAC +5
015785,000142: 37,2617 02527 STORE DPIPAZ
015786,000143:
015787,000144: 37,2620 76001 SETPD AXT,1
015788,000145: 37,2621 00001 0
015789,000146: 37,2622 00010 8D
015790,000147: 37,2623 57535 SLOAD DCOMP
015791,000148: 37,2624 02563 GEOCOMPS
015792,000149: 37,2625 77640 BMN
015793,000150: 37,2626 76772 PERFERAS
015794,000151: 37,2627 50135 ALCGKK SLOAD BMN
015795,000152: 37,2630 02532 ALTIMS
015796,000153: 37,2631 76644 ALFLT3
015797,000154: 37,2632 72174 ALKCG AXT,2 LXA,1 # LOADS SLOPES AND TIME CONSTANTS AT RQST
015798,000155: 37,2633 00014 12D
015799,000156: 37,2634 02444 ALX1S
015800,000157: 37,2635 62143 ALKCG2 DLOAD* INCR,1
015801,000158: 37,2636 02243 ALFDK +144D,1
015802,000159: 37,2637 77775 DEC -2 B-14
015803,000160: 37,2640 12545 STORE ALDK +10D,2
015804,000161: 37,2641 66104 TIX,2 SXA,1
015805,000162: 37,2642 76635 ALKCG2
015806,000163: 37,2643 02444 ALX1S
015807,000164:
015808,000165: 37,2644 77770 ALFLT3 AXT,1
015809,000166: 37,2645 00010 8D
015810,000167: 37,2646 41343 DELMLP DLOAD* DMP
015811,000168: 37,2647 02533 DPIPAY +8D,1
015812,000169: 37,2650 37100 PIPASC
015813,000170: 37,2651 43661 SLR BDSU*
015814,000171: 37,2652 21212 9D
015815,000172: 37,2653 02501 INTY +8D,1
015816,000173: 37,2654 06501 STORE INTY +8D,1
015817,000174: 37,2655 40725 PDDL DMP*
015818,000175: 37,2656 37102 VELSC
|
Page 386 |
015820,000177: 37,2657 02521 VLAUN +8D,1
015821,000178: 37,2660 77732 SL2R
015822,000179: 37,2661 45425 DSU STADR
015823,000180: 37,2662 71216 STORE DELM +8D,1
015824,000181: 37,2663 06563 STORE DELM +10D,1
015825,000182: 37,2664 77100 TIX,1 AXT,2
015826,000183: 37,2665 76646 DELMLP
015827,000184: 37,2666 00004 4
015828,000185: 37,2667 56743 ALILP DLOAD* DMPR*
015829,000186: 37,2670 75324 ALK +4,2
015830,000187: 37,2671 75240 ALDK +4,2
015831,000188: 37,2672 12453 STORE ALK +4,2
015832,000189: 37,2673 77104 TIX,2 AXT,2
015833,000190: 37,2674 76667 ALILP
015834,000191: 37,2675 00010 8D
015835,000192: 37,2676 66140 ALKLP LXC,1 SXA,1
015836,000193: 37,2677 02445 CMPX1
015837,000194: 37,2700 02445 CMPX1
015838,000195: 37,2701 56743 DLOAD* DMPR*
015839,000196: 37,2702 02450 ALK +1,1
015840,000197: 37,2703 75216 DELM +8D,2
015841,000198: 37,2704 77613 DAD*
015842,000199: 37,2705 75276 INTY +8D,2
015843,000200: 37,2706 12501 STORE INTY +8D,2
015844,000201: 37,2707 42743 DLOAD* DAD*
015845,000202: 37,2710 75314 ALK +12D,2
015846,000203: 37,2711 75230 ALDK +12D,2
015847,000204: 37,2712 12463 STORE ALK +12D,2
015848,000205: 37,2713 42673 DMPR* DAD*
015849,000206: 37,2714 75216 DELM +8D,2
015850,000207: 37,2715 75266 INTY +16D,2
015851,000208: 37,2716 12511 STORE INTY +16D,2
015852,000209: 37,2717 40743 DLOAD* DMP*
015853,000210: 37,2720 37105 ALSK +1,1
015854,000211: 37,2721 75216 DELM +8D,2
015855,000212: 37,2722 42772 SL1R DAD*
015856,000213: 37,2723 75256 VLAUN +8D,2
015857,000214: 37,2724 12521 STORE VLAUN +8D,2
015858,000215: 37,2725 76104 TIX,2 AXT,1
015859,000216: 37,2726 76676 ALKLP
015860,000217: 37,2727 00010 8D
015861,000218:
015862,000219: 37,2730 64743 LOOSE DLOAD* PDDL*
015863,000220: 37,2731 02523 ACCWD +8D,1
015864,000221: 37,2732 02521 VLAUN +8D,1
015865,000222: 37,2733 55523 PDDL* VDEF
015866,000223: 37,2734 02531 POSNV +8D,1
015867,000224: 37,2735 76521 MXV VSL1
015868,000225: 37,2736 02001 TRANSM1
|
Page 387 |
015870,000227: 37,2737 77745 DLOAD
015871,000228: 37,2740 00155 MPAC
015872,000229: 37,2741 06531 STORE POSNV +8D,1
015873,000230: 37,2742 77745 DLOAD
015874,000231: 37,2743 00160 MPAC +3
015875,000232: 37,2744 06521 STORE VLAUN +8D,1
015876,000233: 37,2745 77745 DLOAD
015877,000234: 37,2746 00162 MPAC +5
015878,000235: 37,2747 06523 STORE ACCWD +8D,1
015879,000236: 37,2750 77700 TIX,1
015880,000237: 37,2751 76730 LOOSE
015881,000238:
015882,000239: 37,2752 76174 AXT,2 AXT,1 # EVALUATE SINES AND COSINES
015883,000240: 37,2753 00006 6
015884,000241: 37,2754 00002 2
015885,000242: 37,2755 57343 BOOP DLOAD* DMPR
015886,000243: 37,2756 02503 ANGX +2,1
015887,000244: 37,2757 37110 GEORGEJ
015888,000245: 37,2760 77722 SR2R
015889,000246: 37,2761 73406 PUSH SIN
015890,000247: 37,2762 56072 SL3R XAD,1
015891,000248: 37,2763 00046 X1
015892,000249: 37,2764 10021 STORE 16D,2
015893,000250: 37,2765 77745 DLOAD
015894,000251: 37,2766 77746 COS
015895,000252: 37,2767 10027 STORE 22D,2 # COSINES
015896,000253: 37,2770 77704 TIX,2
015897,000254: 37,2771 76755 BOOP
015898,000255:
015899,000256: 37,2772 77776 PERFERAS EXIT
015900,000257: 37,2773 35016 CA EBANK7
015901,000258: 37,2774 54003 TS EBANK
015902,000259: 37,2775 E7,1400 EBANK= ATIGINC
015903,000260: 37,2775 01400 TC ATIGINC # GOTO ERASABLE TO CALCULATE ONLY TO RETN
015904,000261:
015905,000262: # CAUTION
015906,000263:
015907,000264: # THE ERASABLE PROGRAM THAT DOES THE CALCULATIONS MUST BE LOADED
015908,000265: # BEFORE ANY ATTEMPT IS MADE TO RUN THE IMU PERFORMANCE TEST
015909,000266:
015910,000267: 37,2776 E5,1400 EBANK= AZIMUTH
015911,000268: 37,2776 11412 CCS LENGTHOT
015912,000269: 37,2777 03034 TC SLEEPIE
015913,000270: 37,3000 11440 CCS TORQNDX
015914,000271: 37,3001 13003 TCF +2
015915,000272: 37,3002 03005 TC SETUPER1
015916,000273: 37,3003 30032 CA CDUX
015917,000274: 37,3004 55414 TS LOSVEC +1 # FOR TROUBLESHOOTING VD POSNS 2$4
015918,000275:
|
Page 388 |
015920,000277: 37,3005 06037 SETUPER1 TC INTPRET
015921,000278: 37,3006 65345 DLOAD PDDL # ANGLES FROM DRIFT TEST ONLY
015922,000279: 37,3007 02473 ANGZ
015923,000280: 37,3010 02477 ANGY
015924,000281: 37,3011 55525 PDDL VDEF
015925,000282: 37,3012 02501 ANGX
015926,000283: 37,3013 74276 VCOMP VXSC
015927,000284: 37,3014 37110 GEORGEJ
015928,000285: 37,3015 74521 MXV VSR1
015929,000286: 37,3016 02643 XSM
015930,000287: 37,3017 02740 STORE OGC
015931,000288: 37,3020 77776 EXIT
015932,000289:
015933,000290: 37,3021 32475 CA OGCPL
015934,000291: 37,3022 04616 TC BANKCALL
015935,000292: 37,3023 17323 CADR IMUPULSE
015936,000293: 37,3024 02315 TC IMUSLLLG
015937,000294: 37,3025 11440 GEOSTRT4 CCS TORQNDX # ONLY POSITIVE IF IN VERTICAL DRIFT TEST
015938,000295: 37,3026 02263 TC VALMIS
015939,000296: 37,3027 06037 TC INTPRET
015940,000297: 37,3030 77624 CALL
015941,000298: 37,3031 76401 ERTHRVSE
015942,000299: 37,3032 77776 EXIT
015943,000300: 37,3033 02117 TC TORQUE
015944,000301:
015945,000302: 37,3034 55412 SLEEPIE TS LENGTHOT # TEST NOT OVER-DECREMENT LENGTHOT
015946,000303: 37,3035 11440 CCS TORQNDX # ARE WE DOING VERTDRIFT
015947,000304: 37,3036 02447 TC EARTHR*
015948,000305: 37,3037 05155 TC ENDOFJOB
015949,000306:
015950,000307: 37,3040 35014 SOMEERRR CA EBANK5
015951,000308: 37,3041 54003 TS EBANK
015952,000309: 37,3042 34753 CA ONE
015953,000310: 37,3043 55576 TS OVFLOWCK # STOP ALLOOP FROM CALLING ITSELF
015954,000311: 37,3044 05567 TC ALARM
015955,000312: 37,3045 01600 OCT 1600
015956,000313: 37,3046 02270 TC ENDTEST1
015957,000314: 37,3047 33054 SOMERR2 CAF OCT1601
015958,000315: 37,3050 05744 TC VARALARM
015959,000316: 37,3051 05516 TC DOWNFLAG
015960,000317: 37,3052 00007 ADRES IMUSE
015961,000318: 37,3053 05155 TC ENDOFJOB
015962,000319:
015963,000320: 37,3054 01601 OCT1601 OCT 01601
015964,000321: 37,3055 06200 DEC585 OCT 06200 # 3200 B+14 ORDER IS IMPORTANT
015965,000322: 37,3056 00000 00000 SCHZEROS 2DEC .00000000
|
Page 389 |
015967,000324: 37,3060 00000 00000 2DEC .00000000
015968,000325:
015969,000326: 37,3062 00000 OCT 00000
015970,000327: 37,3063 00000 ONEDPP OCT 00000 # ORDER IS IMPORTANT
015971,000328: 37,3064 00001 OCT 00001
015972,000329:
015973,000330: 37,3065 00004 INTVAL OCT 4
015974,000331: 37,3066 00002 OCT 2
015975,000332: 37,3067 00220 DEC 144 B-14
015976,000333: 37,3070 77776 DEC -1 B-14
015977,000334: 37,3071 35730 00035 SOUPLY 2DEC .93505870 # INITIAL GAINS FOR PIP OUTPUTS
015978,000335:
015979,000336: 37,3073 10317 17550 2DEC .26266423 # INITIAL GAINS/4 FOR ERECTION ANGLES
015980,000337:
015981,000338: 37,3075 00115 77DECML DEC 77 B-14
015982,000339: 37,3076 01443 ALXXXZ GENADR ALX1S -1
015983,000340: 37,3077 04133 02265 PIPASC 2DEC .13055869
015984,000341:
015985,000342: 37,3101 57223 66451 VELSC 2DEC -.52223476 # 512/980.402
015986,000343:
015987,000344: 37,3103 05427 12577 ALSK 2DEC .17329931 # SSWAY VEL GAIN X 980.402/4096
015988,000345:
015989,000346: 37,3105 77567 44202 2DEC -.00835370 # SSWAY ACCEL GAIN X 980.402/4096
015990,000347:
015991,000348: 37,3107 24276 14066 GEORGEJ 2DEC .63661977
015992,000349:
015993,000350: 37,3111 23073 11773 GEORGEK 2DEC .59737013
015994,000351:
End of include-file IMU_PERFORMANCE_TESTS_4.agc. Parent file is MAIN.agc