Source Code
These source-code files derive from a printout of Luminary 210 (Apollo 15-17
Lunar Module guidance computer program), from the personal library of
original AGC developer Don Eyles, digitally photographed at archive.org,
financially sponsored by Jim Lawton, and transcribed to source code by a
team of volunteers. This colorized, syntax-highlighted form was created
by assembling that transcribed source code. Note that the full page images
are available on the
Virtual AGC project page at archive.org, while reduced-size images
are presented at the VirtualAGC project website. Report or fix any
transcription errors at
the Virtual AGC project code repository. Notations on the program listing read, in part: GAP: ASSEMBLE REVISION 210 OF AGC PROGRAM LUMINARY BY NASA 2021112-161 17:11 MAR. 19,1971Note that the date is the date of the printout, not the date of the program revision. |
017216,000002: ## Copyright: Public domain.
017217,000003: ## Filename: IMU_PERFORMANCE_TESTS_4.agc
017218,000004: ## Purpose: A section of Luminary revision 210.
017219,000005: ## It is part of the source code for the Lunar Module's (LM)
017220,000006: ## Apollo Guidance Computer (AGC) for Apollo 15-17.
017221,000007: ## This file is intended to be a faithful transcription, except
017222,000008: ## that the code format has been changed to conform to the
017223,000009: ## requirements of the yaYUL assembler rather than the
017224,000010: ## original YUL assembler.
017225,000011: ## Reference: pp. 394-401
017226,000012: ## Assembler: yaYUL
017227,000013: ## Contact: Ron Burkey <info@sandroid.org>.
017228,000014: ## Website: www.ibiblio.org/apollo/index.html
017229,000015: ## Mod history: 2016-11-17 JL Created from Luminary131 version.
017230,000016: ## 2016-11-26 HG Transcribed
017231,000017: ## 2016-12-23 RSB Proofed comment text with octopus/ProoferComments
017232,000018: ## and fixed all errors found.
017233,000019: ## 2017-03-07 RSB Comment-text error-fixes noted in proofing Luminary 116.
017234,000020:
Page 394 |
017236,000022: # PROGRAM- IMU PERFORMANCE TESTS 4
017237,000023: # DATE- NOV 15, 1966
017238,000024: # BY- GEORGE SCHMIDT IL7-146 EXT 1126
017239,000025: # MOD NO-ZERO
017240,000026:
017241,000027:
017242,000028: # FUNCTIONAL DESCRIPTION
017243,000029:
017244,000030: # THIS SECTION CONSISTS OF THE FILTER FOR THE GYRO DRIFT TESTS. NO COMPASS
017245,000031: # IS DONE IN LEM. FOR A DESCRIPTION OF THE FILTER SEE E-1973. THIS
017246,000032: # SECTION IS ENTERED FROM IMU 2. IT RETURNS THERE AT END OF TEST.
017247,000033:
017248,000034: # EARTHR,OGC ZERO,ERTHRVSE
017249,000035:
017250,000036: # NORMAL EXIT
017251,000037:
017252,000038: # LENGTHOT GOES TO ZERO-RETURN TO IMU PERF TESTS 2 CONTROL
017253,000039:
017254,000040: # ALARMS
017255,000041:
017256,000042: # 1600 OVERFLOW IN DRIFT TEST
017257,000043: # 1601 BAD IMU MODING IN ANY ROUTINE THAT USES IMUSTALL
017258,000044: # OUTPUT
017259,000045:
017260,000046: # FLASHING DISPLAY OF RESULTS-CONTROLLED IN IMU PERF TESTS 2
017261,000047:
017262,000048: # DEBRIS
017263,000049:
017264,000050: # ALL CENTRALS-ALL OF EBANK XSM
017265,000051:
Page 395 |
017267,000053: 33,2113 BANK 33
017268,000054: 37,2000 SETLOC IMU4
017269,000055: 37,2000 BANK
017270,000056: 37,2500 COUNT* $$/P07
017271,000057:
017272,000058: 37,2500 E5,1642 EBANK= XSM
017273,000059:
017274,000060:
017275,000061: 37,2500 00004 ESTIMS INHINT
017276,000062: 37,2501 31572 CAE 1SECXT
017277,000063: 37,2502 05175 TC TWIDDLE
017278,000064: 37,2503 E5,1642 EBANK= XSM
017279,000065: 37,2503 02536 ADRES ALLOOP
017280,000066: 37,2504 34746 CAF ZERO # ZERO THE PIPAS
017281,000067: 37,2505 54037 TS PIPAX
017282,000068: 37,2506 54040 TS PIPAY
017283,000069: 37,2507 54041 TS PIPAZ
017284,000070: 37,2510 00003 RELINT
017285,000071: 37,2511 33075 CA 77DECML
017286,000072: 37,2512 55571 TS ZERONDX
017287,000073: 37,2513 33076 CA ALXXXZ
017288,000074: 37,2514 02367 TC ZEROING
017289,000075: 37,2515 06060 TC INTPRET
017290,000076: 37,2516 77735 SLOAD
017291,000077: 37,2517 37057 SCHZEROS
017292,000078: 37,2520 25477 STOVL GCOMPSW -1
017293,000079: 37,2521 37070 INTVAL +2
017294,000080: 37,2522 26445 STOVL ALX1S
017295,000081: 37,2523 37057 SCHZEROS
017296,000082: 37,2524 00325 STORE DELVX
017297,000083: 37,2525 01472 STORE GCOMP
017298,000084: 37,2526 77735 SLOAD
017299,000085: 37,2527 02441 TORQNDX
017300,000086: 37,2530 50076 DCOMP BMN
017301,000087: 37,2531 76534 VERTSKIP
017302,000088: 37,2532 77624 CALL
017303,000089: 37,2533 76401 ERTHRVSE
017304,000090: 37,2534 77776 VERTSKIP EXIT
017305,000091: 37,2535 03035 TC SLEEPIE +1
017306,000092:
Page 396 |
017308,000094: 37,2536 31576 ALLOOP CA OVFLOWCK
017309,000095: 37,2537 00006 EXTEND
017310,000096: 37,2540 12542 BZF +2
017311,000097: 37,2541 05263 TC TASKOVER
017312,000098: 37,2542 11530 CCS ALTIM
017313,000099: 37,2543 30000 CA A # SHOULD NEVER HIT THIS LOCATION
017314,000100: 37,2544 55531 TS ALTIMS
017315,000101: 37,2545 40000 CS A
017316,000102: 37,2546 55530 TS ALTIM
017317,000103: 37,2547 44744 CS ONE
017318,000104: 37,2550 61562 AD GEOCOMPS
017319,000105: 37,2551 00006 EXTEND
017320,000106: 37,2552 12556 BZF +4
017321,000107: 37,2553 31412 CA LENGTHOT
017322,000108: 37,2554 00006 EXTEND
017323,000109: 37,2555 62562 BZMF +5
017324,000110: 37,2556 31572 CAE 1SECXT
017325,000111: 37,2557 05175 TC TWIDDLE
017326,000112: 37,2560 E5,1642 EBANK= XSM
017327,000113: 37,2560 02536 ADRES ALLOOP
017328,000114: 37,2561 34746 CAF ZERO
017329,000115: 37,2562 56037 XCH PIPAX
017330,000116: 37,2563 54324 TS DELVX
017331,000117: 37,2564 34746 CAF ZERO
017332,000118: 37,2565 56040 XCH PIPAY
017333,000119: 37,2566 54326 TS DELVY
017334,000120: 37,2567 34746 CAF ZERO
017335,000121: 37,2570 56041 XCH PIPAZ
017336,000122: 37,2571 54330 TS DELVZ
017337,000123: 37,2572 34727 SPECSTS CAF PRIO20
017338,000124: 37,2573 05076 TC FINDVAC
017339,000125: 37,2574 E5,1642 EBANK= XSM
017340,000126: 37,2574 02577 76065 2CADR ALFLT # START THE JOB
017341,000127: 37,2576 05263 TC TASKOVER
017342,000128:
Page 397 |
017344,000130: 37,2577 11562 ALFLT CCS GEOCOMPS
017345,000131: 37,2600 02602 TC +2
017346,000132: 37,2601 02604 TC NORMLOP
017347,000133: 37,2602 04607 TC BANKCALL
017348,000134: 37,2603 15333 CADR 1/PIPA
017349,000135: 37,2604 06060 NORMLOP TC INTPRET
017350,000136: 37,2605 77745 DLOAD
017351,000137: 37,2606 37066 INTVAL
017352,000138: 37,2607 24051 STOVL S1
017353,000139: 37,2610 00325 DELVX
017354,000140: 37,2611 76505 VXM VSL1
017355,000141: 37,2612 02643 XSM
017356,000142: 37,2613 57545 DLOAD DCOMP
017357,000143: 37,2614 00160 MPAC +3
017358,000144: 37,2615 16523 STODL DPIPAY
017359,000145: 37,2616 00162 MPAC +5
017360,000146: 37,2617 02527 STORE DPIPAZ
017361,000147:
017362,000148: 37,2620 76001 SETPD AXT,1
017363,000149: 37,2621 00001 0
017364,000150: 37,2622 00010 8D
017365,000151: 37,2623 57535 SLOAD DCOMP
017366,000152: 37,2624 02563 GEOCOMPS
017367,000153: 37,2625 77640 BMN
017368,000154: 37,2626 76772 PERFERAS
017369,000155: 37,2627 50135 ALCGKK SLOAD BMN
017370,000156: 37,2630 02532 ALTIMS
017371,000157: 37,2631 76644 ALFLT3
017372,000158: 37,2632 72174 ALKCG AXT,2 LXA,1 # LOADS SLOPES AND TIME CONSTANTS AT RQST
017373,000159: 37,2633 00014 12D
017374,000160: 37,2634 02444 ALX1S
017375,000161: 37,2635 62143 ALKCG2 DLOAD* INCR,1
017376,000162: 37,2636 02243 ALFDK +144D,1
017377,000163: 37,2637 77775 DEC -2 B-14
017378,000164: 37,2640 12545 STORE ALDK +10D,2
017379,000165: 37,2641 66104 TIX,2 SXA,1
017380,000166: 37,2642 76635 ALKCG2
017381,000167: 37,2643 02444 ALX1S
017382,000168:
017383,000169: 37,2644 77770 ALFLT3 AXT,1
017384,000170: 37,2645 00010 8D
017385,000171: 37,2646 41343 DELMLP DLOAD* DMP
017386,000172: 37,2647 02533 DPIPAY +8D,1
017387,000173: 37,2650 37100 PIPASC
017388,000174: 37,2651 43661 SLR BDSU*
017389,000175: 37,2652 21212 9D
017390,000176: 37,2653 02501 INTY +8D,1
017391,000177: 37,2654 06501 STORE INTY +8D,1
017392,000178: 37,2655 40725 PDDL DMP*
017393,000179: 37,2656 37102 VELSC
017394,000180:
Page 398 |
017396,000182: 37,2657 02521 VLAUN +8D,1
017397,000183: 37,2660 77732 SL2R
017398,000184: 37,2661 45425 DSU STADR
017399,000185: 37,2662 71216 STORE DELM +8D,1
017400,000186: 37,2663 06563 STORE DELM +10D,1
017401,000187: 37,2664 77100 TIX,1 AXT,2
017402,000188: 37,2665 76646 DELMLP
017403,000189: 37,2666 00004 4
017404,000190: 37,2667 56743 ALILP DLOAD* DMPR*
017405,000191: 37,2670 75324 ALK +4,2
017406,000192: 37,2671 75240 ALDK +4,2
017407,000193: 37,2672 12453 STORE ALK +4,2
017408,000194: 37,2673 77104 TIX,2 AXT,2
017409,000195: 37,2674 76667 ALILP
017410,000196: 37,2675 00010 8D
017411,000197: 37,2676 66140 ALKLP LXC,1 SXA,1
017412,000198: 37,2677 02445 CMPX1
017413,000199: 37,2700 02445 CMPX1
017414,000200: 37,2701 56743 DLOAD* DMPR*
017415,000201: 37,2702 02450 ALK +1,1
017416,000202: 37,2703 75216 DELM +8D,2
017417,000203: 37,2704 77613 DAD*
017418,000204: 37,2705 75276 INTY +8D,2
017419,000205: 37,2706 12501 STORE INTY +8D,2
017420,000206: 37,2707 42743 DLOAD* DAD*
017421,000207: 37,2710 75314 ALK +12D,2
017422,000208: 37,2711 75230 ALDK +12D,2
017423,000209: 37,2712 12463 STORE ALK +12D,2
017424,000210: 37,2713 42673 DMPR* DAD*
017425,000211: 37,2714 75216 DELM +8D,2
017426,000212: 37,2715 75266 INTY +16D,2
017427,000213: 37,2716 12511 STORE INTY +16D,2
017428,000214: 37,2717 40743 DLOAD* DMP*
017429,000215: 37,2720 37105 ALSK +1,1
017430,000216: 37,2721 75216 DELM +8D,2
017431,000217: 37,2722 42772 SL1R DAD*
017432,000218: 37,2723 75256 VLAUN +8D,2
017433,000219: 37,2724 12521 STORE VLAUN +8D,2
017434,000220: 37,2725 76104 TIX,2 AXT,1
017435,000221: 37,2726 76676 ALKLP
017436,000222: 37,2727 00010 8D
017437,000223:
017438,000224:
017439,000225: 37,2730 64743 LOOSE DLOAD* PDDL*
017440,000226: 37,2731 02523 ACCWD +8D,1
017441,000227: 37,2732 02521 VLAUN +8D,1
017442,000228: 37,2733 55523 PDDL* VDEF
017443,000229: 37,2734 02531 POSNV +8D,1
017444,000230: 37,2735 76521 MXV VSL1
017445,000231: 37,2736 02001 TRANSM1
Page 399 |
017447,000233: 37,2737 77745 DLOAD
017448,000234: 37,2740 00155 MPAC
017449,000235: 37,2741 06531 STORE POSNV +8D,1
017450,000236: 37,2742 77745 DLOAD
017451,000237: 37,2743 00160 MPAC +3
017452,000238: 37,2744 06521 STORE VLAUN +8D,1
017453,000239: 37,2745 77745 DLOAD
017454,000240: 37,2746 00162 MPAC +5
017455,000241: 37,2747 06523 STORE ACCWD +8D,1
017456,000242: 37,2750 77700 TIX,1
017457,000243: 37,2751 76730 LOOSE
017458,000244:
017459,000245:
017460,000246: 37,2752 76174 AXT,2 AXT,1 # EVALUATE SINES AND COSINES
017461,000247: 37,2753 00006 6
017462,000248: 37,2754 00002 2
017463,000249: 37,2755 57343 BOOP DLOAD* DMPR
017464,000250: 37,2756 02503 ANGX +2,1
017465,000251: 37,2757 37110 GEORGEJ
017466,000252: 37,2760 77722 SR2R
017467,000253: 37,2761 73406 PUSH SIN
017468,000254: 37,2762 56072 SL3R XAD,1
017469,000255: 37,2763 00046 X1
017470,000256: 37,2764 10021 STORE 16D,2
017471,000257: 37,2765 77745 DLOAD
017472,000258: 37,2766 77746 COS
017473,000259: 37,2767 10027 STORE 22D,2 # COSINES
017474,000260: 37,2770 77704 TIX,2
017475,000261: 37,2771 76755 BOOP
017476,000262:
017477,000263: 37,2772 77776 PERFERAS EXIT
017478,000264: 37,2773 35007 CA EBANK7
017479,000265: 37,2774 54003 TS EBANK
017480,000266: 37,2775 E7,1400 EBANK= ATIGINC
017481,000267: 37,2775 01400 TC ATIGINC # GOTO ERASABLE TO CALCULATE ONLY TO RETN
017482,000268:
017483,000269: # CAUTION
017484,000270:
017485,000271: # THE ERASABLE PROGRAM THAT DOES THE CALCULATIONS MUST BE LOADED
017486,000272: # BEFORE ANY ATTEMPT IS MADE TO RUN THE IMU PERFORMANCE TEST
017487,000273:
017488,000274: 37,2776 E5,1400 EBANK= AZIMUTH
017489,000275: 37,2776 11412 CCS LENGTHOT
017490,000276: 37,2777 03034 TC SLEEPIE
017491,000277: 37,3000 11440 CCS TORQNDX
017492,000278: 37,3001 13003 TCF +2
017493,000279: 37,3002 03005 TC SETUPER1
017494,000280: 37,3003 30032 CA CDUX
017495,000281: 37,3004 55414 TS LOSVEC +1 # FOR TROUBLESHOOTING VD POSNS 2$4
017496,000282:
Page 400 |
017498,000284: 37,3005 06060 SETUPER1 TC INTPRET
017499,000285: 37,3006 65345 DLOAD PDDL # ANGLES FROM DRIFT TEST ONLY
017500,000286: 37,3007 02473 ANGZ
017501,000287: 37,3010 02477 ANGY
017502,000288: 37,3011 55525 PDDL VDEF
017503,000289: 37,3012 02501 ANGX
017504,000290: 37,3013 74276 VCOMP VXSC
017505,000291: 37,3014 37110 GEORGEJ
017506,000292: 37,3015 74521 MXV VSR1
017507,000293: 37,3016 02643 XSM
017508,000294: 37,3017 02740 STORE OGC
017509,000295: 37,3020 77776 EXIT
017510,000296:
017511,000297:
017512,000298: 37,3021 32475 CA OGCPL
017513,000299: 37,3022 04607 TC BANKCALL
017514,000300: 37,3023 17310 CADR IMUPULSE
017515,000301: 37,3024 02315 TC IMUSLLLG
017516,000302: 37,3025 11440 GEOSTRT4 CCS TORQNDX # ONLY POSITIVE IF IN VERTICAL DRIFT TEST
017517,000303: 37,3026 02263 TC VALMIS
017518,000304: 37,3027 06060 TC INTPRET
017519,000305: 37,3030 77624 CALL
017520,000306: 37,3031 76401 ERTHRVSE
017521,000307: 37,3032 77776 EXIT
017522,000308: 37,3033 02117 TC TORQUE
017523,000309:
017524,000310:
017525,000311: 37,3034 55412 SLEEPIE TS LENGTHOT # TEST NOT OVER-DECREMENT LENGTHOT
017526,000312: 37,3035 11440 CCS TORQNDX # ARE WE DOING VERTDRIFT
017527,000313: 37,3036 02447 TC EARTHR*
017528,000314: 37,3037 05146 TC ENDOFJOB
017529,000315:
017530,000316:
017531,000317: 37,3040 35005 SOMEERRR CA EBANK5
017532,000318: 37,3041 54003 TS EBANK
017533,000319: 37,3042 34744 CA ONE
017534,000320: 37,3043 55576 TS OVFLOWCK # STOP ALLOOP FROM CALLING ITSELF
017535,000321: 37,3044 05571 TC ALARM
017536,000322: 37,3045 01600 OCT 1600
017537,000323: 37,3046 02270 TC ENDTEST1
017538,000324: 37,3047 33054 SOMERR2 CAF OCT1601
017539,000325: 37,3050 05740 TC VARALARM
017540,000326: 37,3051 05520 TC DOWNFLAG
017541,000327: 37,3052 00007 ADRES IMUSE
017542,000328: 37,3053 05146 TC ENDOFJOB
017543,000329:
017544,000330: 37,3054 01601 OCT1601 OCT 01601
017545,000331: 37,3055 06200 DEC585 OCT 06200 # 3200 B+14 ORDER IS IMPORTANT
017546,000332: 37,3056 00000 00000 SCHZEROS 2DEC .00000000
017547,000333:
Page 401 |
017549,000335: 37,3060 00000 00000 2DEC .00000000
017550,000336: 37,3062 00000 OCT 00000
017551,000337: 37,3063 00000 ONEDPP OCT 00000 # ORDER IS IMPORTANT
017552,000338: 37,3064 00001 OCT 00001
017553,000339:
017554,000340: 37,3065 00004 INTVAL OCT 4
017555,000341: 37,3066 00002 OCT 2
017556,000342: 37,3067 00220 DEC 144 B-14
017557,000343: 37,3070 77776 DEC -1 B-14
017558,000344: 37,3071 35730 00035 SOUPLY 2DEC .93505870 # INITIAL GAINS FOR PIP OUTPUTS
017559,000345: 37,3073 10317 17550 2DEC .26266423 # INITIAL GAINS/4 FOR ERECTION ANGLES
017560,000346:
017561,000347: 37,3075 00115 77DECML DEC 77 B-14
017562,000348: 37,3076 01443 ALXXXZ GENADR ALX1S -1
017563,000349: 37,3077 04133 02265 PIPASC 2DEC .13055869
017564,000350: 37,3101 57223 66451 VELSC 2DEC -.52223476 # 512/980.402
017565,000351: 37,3103 05427 12577 ALSK 2DEC .17329931 # SSWAY VEL GAIN X 980.402/4096
017566,000352: 37,3105 77567 44202 2DEC -.00835370 # SSWAY ACCEL GAIN X 980.402/4096
017567,000353:
017568,000354:
017569,000355: 37,3107 24276 14066 GEORGEJ 2DEC .63661977
017570,000356: 37,3111 23073 11773 GEORGEK 2DEC .59737013
End of include-file IMU_PERFORMANCE_TESTS_4.agc. Parent file is MAIN.agc