Source Code

These source-code files are part of a reconstructed copy of LM131 revision 1, the final release of the Apollo 13 Lunar Module (LM) Apollo Guidance Computer (AGC) software.

The source reconstruction began with source code of Luminary 131 previously transcribed from a digitized copy of that program. A dump of the flight spare core rope memory module B5, part number 2010802-171, serial number RAY 411, was obtained. This module is the only module different between Luminary 131 and LM131 revision 1. The dump was disassembled and all changes were incorporated into these source files. Note that page numbers in the reconstructed code match those on the Luminary 131 printout, although the changed code would likely have changed page numbers for a real LM131 revision 1 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.

015869,000002:                                                                                                  ## Copyright:   Public domain.
015870,000003:                                                                                                  ## Filename:    IMU_PERFORMANCE_TESTS_4.agc
015871,000004:                                                                                                  ## Purpose:     A section of LM131 revision 1.
015872,000005:                                                                                                  ##              It is part of the reconstructed source code for the final
015873,000006:                                                                                                  ##              release of the flight software for the Lunar Module's (LM)
015874,000007:                                                                                                  ##              Apollo Guidance Computer (AGC) for Apollo 13. The code has
015875,000008:                                                                                                  ##              been reconstructed from a listing of Luminary 131 and a dump
015876,000009:                                                                                                  ##              of a core rope memory module B5, part number 2010802-171,
015877,000010:                                                                                                  ##              which is the only module different between LM131 revision 1
015878,000011:                                                                                                  ##              and Luminary 131. The executable generated from this source
015879,000012:                                                                                                  ##              has been verified against the module dump, so while the names,
015880,000013:                                                                                                  ##              comments, and ordering may not be exactly correct, the
015881,000014:                                                                                                  ##              resulting binary is.
015882,000015:                                                                                                  ## Reference:   pp. 384-391
015883,000016:                                                                                                  ## Assembler:   yaYUL
015884,000017:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
015885,000018:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
015886,000019:                                                                                                  ## Mod history: 2022-10-28 MAS  Created from Luminary 131.
015887,000020: 

Page 384

015889,000022:                                                                                                  #  PROGRAM -     IMU PERFORMANCE TESTS 4
015890,000023:                                                                                                  #  DATE -        NOV 15, 1966
015891,000024:                                                                                                  #  BY -          GEORGE SCHMIDT IL7-146 EXT 1126
015892,000025:                                                                                                  #  MOD NO-ZERO
015893,000026: 
015894,000027:                                                                                                  #  FUNCTIONAL DESCRIPTION
015895,000028: 
015896,000029:                                                                                                  #  THIS SECTION CONSISTSOF THE FILTER FOR THE GYRO DRIFT TESTS.  NO COMPASS
015897,000030:                                                                                                  #  IS DONE IN LEM.  FOR A DESCRIPTION OF THE FILTER SEE E-1973.  THIS
015898,000031:                                                                                                  #  SECTION IS ENTERED FROM IMU 2.  IT RETURNS THERE AT END OF TEST.
015899,000032: 
015900,000033:                                                                                                  #  EARTHR,OGC ZERO,ERTHRVSE
015901,000034: 
015902,000035:                                                                                                  #  NORMAL EXIT
015903,000036: 
015904,000037:                                                                                                  #  LENGTHOT GOES TO ZERO - RETURN TO IMU PERF TESTS 2 CONTROL
015905,000038: 
015906,000039:                                                                                                  #  ALARMS
015907,000040: 
015908,000041:                                                                                                  #  1600  OVERFLOW IN DRIFT TEST
015909,000042:                                                                                                  #  1601  BAD IMU MODING IN ANY ROUTINE THAT USES IMUSTALL
015910,000043:                                                                                                  #        OUTPUT
015911,000044: 
015912,000045:                                                                                                  #  FLASHING DISPLAY OF RESULTS - CONTROLLED IN IMU PERF TESTS 2
015913,000046: 
015914,000047:                                                                                                  #  DEBRIS
015915,000048: 
015916,000049:                                                                                                  #  ALL CENTRALS - ALL OF EBANK XSM
015917,000050: 

Page 385

015919,000052: 33,2045                                           BANK     33                                    
015920,000053: 37,2000                                           SETLOC   IMU4                                  
015921,000054: 37,2000                                           BANK                                           
015922,000055: 37,2500                                           COUNT*   $$/P07                                
015923,000056: 
015924,000057: 37,2500  E5,1642                                  EBANK=   XSM                                   
015925,000058: 
015926,000059: 37,2500           00004        ESTIMS             INHINT                                         
015927,000060: 37,2501           31572                           CAE      1SECXT                                
015928,000061: 37,2502           05173                           TC       TWIDDLE                               
015929,000062: 37,2503  E5,1642                                  EBANK=   XSM                                   
015930,000063: 37,2503           02536                           ADRES    ALLOOP                                
015931,000064: 37,2504           34755                           CAF      ZERO                                  #  ZERO THE PIPAS
015932,000065: 37,2505           54037                           TS       PIPAX                                 
015933,000066: 37,2506           54040                           TS       PIPAY                                 
015934,000067: 37,2507           54041                           TS       PIPAZ                                 
015935,000068: 37,2510           00003                           RELINT                                         
015936,000069: 37,2511           33075                           CA       77DECML                               
015937,000070: 37,2512           55571                           TS       ZERONDX                               
015938,000071: 37,2513           33076                           CA       ALXXXZ                                
015939,000072: 37,2514           02367                           TC       ZEROING                               
015940,000073: 37,2515           06042                           TC       INTPRET                               
015941,000074: 37,2516           77735                           SLOAD                                          
015942,000075: 37,2517           37057                                    SCHZEROS                              
015943,000076: 37,2520           25477                           STOVL    GCOMPSW    -1                         
015944,000077: 37,2521           37070                                    INTVAL     +2                         
015945,000078: 37,2522           26445                           STOVL    ALX1S                                 
015946,000079: 37,2523           37057                                    SCHZEROS                              
015947,000080: 37,2524           00325                           STORE    DELVX                                 
015948,000081: 37,2525           01472                           STORE    GCOMP                                 
015949,000082: 37,2526           77735                           SLOAD                                          
015950,000083: 37,2527           02441                                    TORQNDX                               
015951,000084: 37,2530           50076                           DCOMP    BMN                                   
015952,000085: 37,2531           76534                                    VERTSKIP                              
015953,000086: 37,2532           77624                           CALL                                           
015954,000087: 37,2533           76401                                    ERTHRVSE                              
015955,000088: 37,2534           77776        VERTSKIP           EXIT                                           
015956,000089: 37,2535           03035                           TC       SLEEPIE    +1                         
015957,000090: 

Page 386

015959,000092: 37,2536           31576        ALLOOP             CA       OVFLOWCK                              
015960,000093: 37,2537           00006                           EXTEND                                         
015961,000094: 37,2540           12542                           BZF      +2                                    
015962,000095: 37,2541           05261                           TC       TASKOVER                              
015963,000096: 37,2542           11530                           CCS      ALTIM                                 
015964,000097: 37,2543           30000                           CA       A                                     #  SHOULD NEVER HIT THIS LOCATION
015965,000098: 37,2544           55531                           TS       ALTIMS                                
015966,000099: 37,2545           40000                           CS       A                                     
015967,000100: 37,2546           55530                           TS       ALTIM                                 
015968,000101: 37,2547           44753                           CS       ONE                                   
015969,000102: 37,2550           61562                           AD       GEOCOMPS                              
015970,000103: 37,2551           00006                           EXTEND                                         
015971,000104: 37,2552           12556                           BZF      +4                                    
015972,000105: 37,2553           31412                           CA       LENGTHOT                              
015973,000106: 37,2554           00006                           EXTEND                                         
015974,000107: 37,2555           62562                           BZMF     +5                                    
015975,000108: 37,2556           31572                           CAE      1SECXT                                
015976,000109: 37,2557           05173                           TC       TWIDDLE                               
015977,000110: 37,2560  E5,1642                                  EBANK=   XSM                                   
015978,000111: 37,2560           02536                           ADRES    ALLOOP                                
015979,000112: 37,2561           34755                           CAF      ZERO                                  
015980,000113: 37,2562           56037                           XCH      PIPAX                                 
015981,000114: 37,2563           54324                           TS       DELVX                                 
015982,000115: 37,2564           34755                           CAF      ZERO                                  
015983,000116: 37,2565           56040                           XCH      PIPAY                                 
015984,000117: 37,2566           54326                           TS       DELVY                                 
015985,000118: 37,2567           34755                           CAF      ZERO                                  
015986,000119: 37,2570           56041                           XCH      PIPAZ                                 
015987,000120: 37,2571           54330                           TS       DELVZ                                 
015988,000121: 37,2572           34736        SPECSTS            CAF      PRIO20                                
015989,000122: 37,2573           05105                           TC       FINDVAC                               
015990,000123: 37,2574  E5,1642                                  EBANK=   XSM                                   
015991,000124: 37,2574           02577 76065                     2CADR    ALFLT                                 #  START THE JOB
015992,000125: 
015993,000126: 37,2576           05261                           TC       TASKOVER                              
015994,000127: 

Page 387

015996,000129: 37,2577           11562        ALFLT              CCS      GEOCOMPS                              
015997,000130: 37,2600           02602                           TC       +2                                    
015998,000131: 37,2601           02604                           TC       NORMLOP                               
015999,000132: 37,2602           04616                           TC       BANKCALL                              
016000,000133: 37,2603           15271                           CADR     1/PIPA                                
016001,000134: 37,2604           06042        NORMLOP            TC       INTPRET                               
016002,000135: 37,2605           77745                           DLOAD                                          
016003,000136: 37,2606           37066                                    INTVAL                                
016004,000137: 37,2607           24051                           STOVL    S1                                    
016005,000138: 37,2610           00325                                    DELVX                                 
016006,000139: 37,2611           76505                           VXM      VSL1                                  
016007,000140: 37,2612           02643                                    XSM                                   
016008,000141: 37,2613           57545                           DLOAD    DCOMP                                 
016009,000142: 37,2614           00160                                    MPAC       +3                         
016010,000143: 37,2615           16523                           STODL    DPIPAY                                
016011,000144: 37,2616           00162                                    MPAC       +5                         
016012,000145: 37,2617           02527                           STORE    DPIPAZ                                
016013,000146: 
016014,000147: 37,2620           76001                           SETPD    AXT,1                                 
016015,000148: 37,2621           00001                                    0                                     
016016,000149: 37,2622           00010                                    8D                                    
016017,000150: 37,2623           57535                           SLOAD    DCOMP                                 
016018,000151: 37,2624           02563                                    GEOCOMPS                              
016019,000152: 37,2625           77640                           BMN                                            
016020,000153: 37,2626           76772                                    PERFERAS                              
016021,000154: 37,2627           50135        ALCGKK             SLOAD    BMN                                   
016022,000155: 37,2630           02532                                    ALTIMS                                
016023,000156: 37,2631           76644                                    ALFLT3                                
016024,000157: 37,2632           72174        ALKCG              AXT,2    LXA,1                                 #  LOADS SLOPES AND TIME CONSTANTS AT RQST
016025,000158: 37,2633           00014                                    12D                                   
016026,000159: 37,2634           02444                                    ALX1S                                 
016027,000160: 37,2635           62143        ALKCG2             DLOAD*   INCR,1                                
016028,000161: 37,2636           02243                                    ALFDK      +144D,1                    
016029,000162: 37,2637           77775                           DEC      -2         B-14                       
016030,000163: 37,2640           12545                           STORE    ALDK       +10D,2                     
016031,000164: 37,2641           66104                           TIX,2    SXA,1                                 
016032,000165: 37,2642           76635                                    ALKCG2                                
016033,000166: 37,2643           02444                                    ALX1S                                 
016034,000167: 
016035,000168: 37,2644           77770        ALFLT3             AXT,1                                          
016036,000169: 37,2645           00010                                    8D                                    
016037,000170: 37,2646           41343        DELMLP             DLOAD*   DMP                                   
016038,000171: 37,2647           02533                                    DPIPAY     +8D,1                      
016039,000172: 37,2650           37100                                    PIPASC                                
016040,000173: 37,2651           43661                           SLR      BDSU*                                 
016041,000174: 37,2652           21212                                    9D                                    
016042,000175: 37,2653           02501                                    INTY       +8D,1                      
016043,000176: 37,2654           06501                           STORE    INTY       +8D,1                      
016044,000177: 37,2655           40725                           PDDL     DMP*                                  
016045,000178: 37,2656           37102                                    VELSC                                 

Page 388

016047,000180: 37,2657           02521                                    VLAUN      +8D,1                      
016048,000181: 37,2660           77732                           SL2R                                           
016049,000182: 37,2661           45425                           DSU      STADR                                 
016050,000183: 37,2662           71216                           STORE    DELM       +8D,1                      
016051,000184: 37,2663           06563                           STORE    DELM       +10D,1                     
016052,000185: 37,2664           77100                           TIX,1    AXT,2                                 
016053,000186: 37,2665           76646                                    DELMLP                                
016054,000187: 37,2666           00004                                    4                                     
016055,000188: 37,2667           56743        ALILP              DLOAD*   DMPR*                                 
016056,000189: 37,2670           75324                                    ALK        +4,2                       
016057,000190: 37,2671           75240                                    ALDK       +4,2                       
016058,000191: 37,2672           12453                           STORE    ALK        +4,2                       
016059,000192: 37,2673           77104                           TIX,2    AXT,2                                 
016060,000193: 37,2674           76667                                    ALILP                                 
016061,000194: 37,2675           00010                                    8D                                    
016062,000195: 37,2676           66140        ALKLP              LXC,1    SXA,1                                 
016063,000196: 37,2677           02445                                    CMPX1                                 
016064,000197: 37,2700           02445                                    CMPX1                                 
016065,000198: 37,2701           56743                           DLOAD*   DMPR*                                 
016066,000199: 37,2702           02450                                    ALK        +1,1                       
016067,000200: 37,2703           75216                                    DELM       +8D,2                      
016068,000201: 37,2704           77613                           DAD*                                           
016069,000202: 37,2705           75276                                    INTY       +8D,2                      
016070,000203: 37,2706           12501                           STORE    INTY       +8D,2                      
016071,000204: 37,2707           42743                           DLOAD*   DAD*                                  
016072,000205: 37,2710           75314                                    ALK        +12D,2                     
016073,000206: 37,2711           75230                                    ALDK       +12D,2                     
016074,000207: 37,2712           12463                           STORE    ALK        +12D,2                     
016075,000208: 37,2713           42673                           DMPR*    DAD*                                  
016076,000209: 37,2714           75216                                    DELM       +8D,2                      
016077,000210: 37,2715           75266                                    INTY       +16D,2                     
016078,000211: 37,2716           12511                           STORE    INTY       +16D,2                     
016079,000212: 37,2717           40743                           DLOAD*   DMP*                                  
016080,000213: 37,2720           37105                                    ALSK       +1,1                       
016081,000214: 37,2721           75216                                    DELM       +8D,2                      
016082,000215: 37,2722           42772                           SL1R     DAD*                                  
016083,000216: 37,2723           75256                                    VLAUN      +8D,2                      
016084,000217: 37,2724           12521                           STORE    VLAUN      +8D,2                      
016085,000218: 37,2725           76104                           TIX,2    AXT,1                                 
016086,000219: 37,2726           76676                                    ALKLP                                 
016087,000220: 37,2727           00010                                    8D                                    
016088,000221: 
016089,000222: 37,2730           64743        LOOSE              DLOAD*   PDDL*                                 
016090,000223: 37,2731           02523                                    ACCWD      +8D,1                      
016091,000224: 37,2732           02521                                    VLAUN      +8D,1                      
016092,000225: 37,2733           55523                           PDDL*    VDEF                                  
016093,000226: 37,2734           02531                                    POSNV      +8D,1                      
016094,000227: 37,2735           76521                           MXV      VSL1                                  
016095,000228: 37,2736           02001                                    TRANSM1                               

Page 389

016097,000230: 37,2737           77745                           DLOAD                                          
016098,000231: 37,2740           00155                                    MPAC                                  
016099,000232: 37,2741           06531                           STORE    POSNV      +8D,1                      
016100,000233: 37,2742           77745                           DLOAD                                          
016101,000234: 37,2743           00160                                    MPAC       +3                         
016102,000235: 37,2744           06521                           STORE    VLAUN      +8D,1                      
016103,000236: 37,2745           77745                           DLOAD                                          
016104,000237: 37,2746           00162                                    MPAC       +5                         
016105,000238: 37,2747           06523                           STORE    ACCWD      +8D,1                      
016106,000239: 37,2750           77700                           TIX,1                                          
016107,000240: 37,2751           76730                                    LOOSE                                 
016108,000241: 
016109,000242: 37,2752           76174                           AXT,2    AXT,1                                 #  EVALUATE SINES AND COSINES
016110,000243: 37,2753           00006                                    6                                     
016111,000244: 37,2754           00002                                    2                                     
016112,000245: 37,2755           57343        BOOP               DLOAD*   DMPR                                  
016113,000246: 37,2756           02503                                    ANGX       +2,1                       
016114,000247: 37,2757           37110                                    GEORGEJ                               
016115,000248: 37,2760           77722                           SR2R                                           
016116,000249: 37,2761           73406                           PUSH     SIN                                   
016117,000250: 37,2762           56072                           SL3R     XAD,1                                 
016118,000251: 37,2763           00046                                    X1                                    
016119,000252: 37,2764           10021                           STORE    16D,2                                 
016120,000253: 37,2765           77745                           DLOAD                                          
016121,000254: 37,2766           77746                           COS                                            
016122,000255: 37,2767           10027                           STORE    22D,2                                 #  COSINES
016123,000256: 37,2770           77704                           TIX,2                                          
016124,000257: 37,2771           76755                                    BOOP                                  
016125,000258: 
016126,000259: 37,2772           77776        PERFERAS           EXIT                                           
016127,000260: 37,2773           35016                           CA       EBANK7                                
016128,000261: 37,2774           54003                           TS       EBANK                                 
016129,000262: 37,2775  E7,1400                                  EBANK=   ATIGINC                               
016130,000263: 37,2775           01400                           TC       ATIGINC                               #  GOTO ERASABLE TO CALCULATE ONLY TO RETN
016131,000264: 
016132,000265:                                                                                                  #  CAUTION
016133,000266: 
016134,000267:                                                                                                  #  THE ERASABLE PROGRAM THAT DOES THE CALCULATIONS MUST BE LOADED
016135,000268:                                                                                                  #  BEFORE ANY ATTEMPT IS MADE TO RUN THE IMU PERFORMANCE TEST
016136,000269: 
016137,000270: 37,2776  E5,1400                                  EBANK=   AZIMUTH                               
016138,000271: 37,2776           11412                           CCS      LENGTHOT                              
016139,000272: 37,2777           03034                           TC       SLEEPIE                               
016140,000273: 37,3000           11440                           CCS      TORQNDX                               
016141,000274: 37,3001           13003                           TCF      +2                                    
016142,000275: 37,3002           03005                           TC       SETUPER1                              
016143,000276: 37,3003           30032                           CA       CDUX                                  
016144,000277: 37,3004           55414                           TS       LOSVEC     +1                         #  FOR TROUBLESHOOTING VD POSNS 2$4
016145,000278: 

Page 390

016147,000280: 37,3005           06042        SETUPER1           TC       INTPRET                               
016148,000281: 37,3006           65345                           DLOAD    PDDL                                  #  ANGLES FROM DRIFT TEST ONLY
016149,000282: 37,3007           02473                                    ANGZ                                  
016150,000283: 37,3010           02477                                    ANGY                                  
016151,000284: 37,3011           55525                           PDDL     VDEF                                  
016152,000285: 37,3012           02501                                    ANGX                                  
016153,000286: 37,3013           74276                           VCOMP    VXSC                                  
016154,000287: 37,3014           37110                                    GEORGEJ                               
016155,000288: 37,3015           74521                           MXV      VSR1                                  
016156,000289: 37,3016           02643                                    XSM                                   
016157,000290: 37,3017           02740                           STORE    OGC                                   
016158,000291: 37,3020           77776                           EXIT                                           
016159,000292: 
016160,000293: 37,3021           32475                           CA       OGCPL                                 
016161,000294: 37,3022           04616                           TC       BANKCALL                              
016162,000295: 37,3023           17314                           CADR     IMUPULSE                              
016163,000296: 37,3024           02315                           TC       IMUSLLLG                              
016164,000297: 37,3025           11440        GEOSTRT4           CCS      TORQNDX                               #  ONLY POSITIVE IF IN VERTICAL DRIFT TEST
016165,000298: 37,3026           02263                           TC       VALMIS                                
016166,000299: 37,3027           06042                           TC       INTPRET                               
016167,000300: 37,3030           77624                           CALL                                           
016168,000301: 37,3031           76401                                    ERTHRVSE                              
016169,000302: 37,3032           77776                           EXIT                                           
016170,000303: 37,3033           02117                           TC       TORQUE                                
016171,000304: 
016172,000305: 37,3034           55412        SLEEPIE            TS       LENGTHOT                              #  TEST NOT OVER-DECREMENT LENGTHOT
016173,000306: 37,3035           11440                           CCS      TORQNDX                               #  ARE WE DOING VERTDRIFT
016174,000307: 37,3036           02447                           TC       EARTHR*                               
016175,000308: 37,3037           05155                           TC       ENDOFJOB                              
016176,000309: 
016177,000310: 37,3040           35014        SOMEERRR           CA       EBANK5                                
016178,000311: 37,3041           54003                           TS       EBANK                                 
016179,000312: 37,3042           34753                           CA       ONE                                   
016180,000313: 37,3043           55576                           TS       OVFLOWCK                              #  STOP ALLOOP FROM CALLING ITSELF
016181,000314: 37,3044           05567                           TC       ALARM                                 
016182,000315: 37,3045           01600                           OCT      1600                                  
016183,000316: 37,3046           02270                           TC       ENDTEST1                              
016184,000317: 37,3047           33054        SOMERR2            CAF      OCT1601                               
016185,000318: 37,3050           05734                           TC       VARALARM                              
016186,000319: 37,3051           05516                           TC       DOWNFLAG                              
016187,000320: 37,3052           00007                           ADRES    IMUSE                                 
016188,000321: 37,3053           05155                           TC       ENDOFJOB                              
016189,000322: 
016190,000323: 37,3054           01601        OCT1601            OCT      01601                                 
016191,000324: 37,3055           06200        DEC585             OCT      06200                                 #  3200 B+14 ORDER IS IMPORTANT
016192,000325: 37,3056           00000 00000  SCHZEROS           2DEC     .00000000                             

Page 391

016194,000327: 37,3060           00000 00000                     2DEC     .00000000                             
016195,000328: 37,3062           00000                           OCT      00000                                 
016196,000329: 37,3063           00000        ONEDPP             OCT      00000                                 #  ORDER IS IMPORTANT
016197,000330: 37,3064           00001                           OCT      00001                                 
016198,000331: 
016199,000332: 37,3065           00004        INTVAL             OCT      4                                     
016200,000333: 37,3066           00002                           OCT      2                                     
016201,000334: 37,3067           00220                           DEC      144        B-14                       
016202,000335: 37,3070           77776                           DEC      -1         B-14                       
016203,000336: 37,3071           35730 00035  SOUPLY             2DEC     .93505870                             #  INITIAL GAINS FOR PIP OUTPUTS
016204,000337: 37,3073           10317 17550                     2DEC     .26266423                             #  INITIAL GAINS/4 FOR ERECTION ANGLES
016205,000338: 
016206,000339: 37,3075           00115        77DECML            DEC      77         B-14                       
016207,000340: 37,3076           01443        ALXXXZ             GENADR   ALX1S      -1                         
016208,000341: 37,3077           04133 02265  PIPASC             2DEC     .13055869                             
016209,000342: 37,3101           57223 66451  VELSC              2DEC     -.52223476                            #  512/980.402
016210,000343: 37,3103           05427 12577  ALSK               2DEC     .17329931                             #  SSWAY VEL GAIN X 980.402/4096
016211,000344: 37,3105           77567 44202                     2DEC     -.00835370                            #  SSWAY ACCEL GAIN X 980.402/4096
016212,000345: 
016213,000346: 37,3107           24276 14066  GEORGEJ            2DEC     .63661977                             
016214,000347: 37,3111           23073 11773  GEORGEK            2DEC     .59737013                             
016215,000348: 

End of include-file IMU_PERFORMANCE_TESTS_4.agc.  Parent file is MAIN.agc