Source Code

These source-code files are part of a reconstructed copy of Luminary 163, the first (unflown) release of the Apollo 14 Lunar Module (LM) Apollo Guidance Computer (AGC) software.

The reconstruction began with reconstructed source code for Luminary 173. Changes between revision 163 and 173 were backed out, as described by Luminary memos 157 and 158. The reconstruction was verified by matching memory-bank checksums to those listed in drawing 2021152N. Note that page numbers in the reconstructed code match those for the baseline log section mentioned in each file's changelog; the page numbers for a real Luminary 163 listing would be different.

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.

016558,000002:                                                                                                  ## Copyright:   Public domain.
016559,000003:                                                                                                  ## Filename:    IMU_PERFORMANCE_TESTS_4.agc
016560,000004:                                                                                                  ## Purpose:     A section of Luminary revision 163.
016561,000005:                                                                                                  ##              It is part of the reconstructed source code for the first
016562,000006:                                                                                                  ##              (unflown) release of the flight software for the Lunar
016563,000007:                                                                                                  ##              Module's (LM) Apollo Guidance Computer (AGC) for Apollo 14.
016564,000008:                                                                                                  ##              The code has been recreated from a reconstructed copy of
016565,000009:                                                                                                  ##              Luminary 173, as well as Luminary memos 157 amd 158.
016566,000010:                                                                                                  ##              It has been adapted such that the resulting bugger words
016567,000011:                                                                                                  ##              exactly match those specified for Luminary 163 in NASA
016568,000012:                                                                                                  ##              drawing 2021152N, which gives relatively high confidence
016569,000013:                                                                                                  ##              that the reconstruction is correct.
016570,000014:                                                                                                  ## Reference:   pp. 387-394
016571,000015:                                                                                                  ## Assembler:   yaYUL
016572,000016:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
016573,000017:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
016574,000018:                                                                                                  ## Mod history: 2019-08-21 MAS  Created from Luminary 173.
016575,000019: 

Page 387

016577,000021:                                                                                                  #  PROGRAM-IMU PERFORMANCE TESTS 4
016578,000022:                                                                                                  #  DATE-NOV 15,1966
016579,000023:                                                                                                  #  BY- GEORGE SCHMIDT IL7-146 EXT 1126
016580,000024:                                                                                                  #  MOD NO-ZERO
016581,000025: 
016582,000026: 
016583,000027:                                                                                                  #  FUNCTIONAL DESCRIPTION
016584,000028: 
016585,000029:                                                                                                  #  THIS SECTION CONSISTS OF THE FILTER FOR THE GYRO DRIFT TESTS. NO COMPASS
016586,000030:                                                                                                  #  IS DONE IN LEM. FOR A DESCRIPTION OF THE FILTER SEE E-1973. THIS
016587,000031:                                                                                                  #  SECTION IS ENTERED FROM IMU 2. IT RETURNS THERE AT END OF TEST.
016588,000032: 
016589,000033:                                                                                                  #  EARTHR,OGC ZERO,ERTHRVSE
016590,000034: 
016591,000035:                                                                                                  #  NORMAL EXIT
016592,000036: 
016593,000037:                                                                                                  #  LENGTHOT GOES TO ZERO-RETURN TO IMU PERF TESTS 2 CONTROL
016594,000038: 
016595,000039:                                                                                                  #  ALARMS
016596,000040: 
016597,000041:                                                                                                  #  1600 OVERFLOW IN DRIFT TEST
016598,000042:                                                                                                  #  1601    BAD IMU MODING IN ANY ROUTINE THAT USES IMUSTALL
016599,000043:                                                                                                  #  OUTPUT
016600,000044: 
016601,000045:                                                                                                  #  FLASHING DISPLAY OF RESULTS-CONTROLLED IN IMU PERF TESTS 2
016602,000046: 
016603,000047:                                                                                                  #  DEBRIS
016604,000048: 
016605,000049:                                                                                                  #  ALL CENTRALS-ALL OF EBANK XSM
016606,000050: 

Page 388

016608,000052: 33,2117                                           BANK     33                                    
016609,000053: 37,2000                                           SETLOC   IMU4                                  
016610,000054: 37,2000                                           BANK                                           
016611,000055: 37,2500                                           COUNT*   $$/P07                                
016612,000056: 
016613,000057: 37,2500  E5,1642                                  EBANK=   XSM                                   
016614,000058: 
016615,000059: 
016616,000060: 37,2500           00004        ESTIMS             INHINT                                         
016617,000061: 37,2501           31572                           CAE      1SECXT                                
016618,000062: 37,2502           05204                           TC       TWIDDLE                               
016619,000063: 37,2503  E5,1642                                  EBANK=   XSM                                   
016620,000064: 37,2503           02536                           ADRES    ALLOOP                                
016621,000065: 37,2504           34755                           CAF      ZERO                                  #  ZERO THE PIPAS
016622,000066: 37,2505           54037                           TS       PIPAX                                 
016623,000067: 37,2506           54040                           TS       PIPAY                                 
016624,000068: 37,2507           54041                           TS       PIPAZ                                 
016625,000069: 37,2510           00003                           RELINT                                         
016626,000070: 37,2511           33075                           CA       77DECML                               
016627,000071: 37,2512           55571                           TS       ZERONDX                               
016628,000072: 37,2513           33076                           CA       ALXXXZ                                
016629,000073: 37,2514           02367                           TC       ZEROING                               
016630,000074: 37,2515           06042                           TC       INTPRET                               
016631,000075: 37,2516           77735                           SLOAD                                          
016632,000076: 37,2517           37057                                    SCHZEROS                              
016633,000077: 37,2520           25477                           STOVL    GCOMPSW    -1                         
016634,000078: 37,2521           37070                                    INTVAL     +2                         
016635,000079: 37,2522           26445                           STOVL    ALX1S                                 
016636,000080: 37,2523           37057                                    SCHZEROS                              
016637,000081: 37,2524           00325                           STORE    DELVX                                 
016638,000082: 37,2525           01472                           STORE    GCOMP                                 
016639,000083: 37,2526           77735                           SLOAD                                          
016640,000084: 37,2527           02441                                    TORQNDX                               
016641,000085: 37,2530           50076                           DCOMP    BMN                                   
016642,000086: 37,2531           76534                                    VERTSKIP                              
016643,000087: 37,2532           77624                           CALL                                           
016644,000088: 37,2533           76401                                    ERTHRVSE                              
016645,000089: 37,2534           77776        VERTSKIP           EXIT                                           
016646,000090: 37,2535           03035                           TC       SLEEPIE    +1                         
016647,000091: 

Page 389

016649,000093: 37,2536           31576        ALLOOP             CA       OVFLOWCK                              
016650,000094: 37,2537           00006                           EXTEND                                         
016651,000095: 37,2540           12542                           BZF      +2                                    
016652,000096: 37,2541           05272                           TC       TASKOVER                              
016653,000097: 37,2542           11530                           CCS      ALTIM                                 
016654,000098: 37,2543           30000                           CA       A                                     #  SHOULD NEVER HIT THIS LOCATION
016655,000099: 37,2544           55531                           TS       ALTIMS                                
016656,000100: 37,2545           40000                           CS       A                                     
016657,000101: 37,2546           55530                           TS       ALTIM                                 
016658,000102: 37,2547           44753                           CS       ONE                                   
016659,000103: 37,2550           61562                           AD       GEOCOMPS                              
016660,000104: 37,2551           00006                           EXTEND                                         
016661,000105: 37,2552           12556                           BZF      +4                                    
016662,000106: 37,2553           31412                           CA       LENGTHOT                              
016663,000107: 37,2554           00006                           EXTEND                                         
016664,000108: 37,2555           62562                           BZMF     +5                                    
016665,000109: 37,2556           31572                           CAE      1SECXT                                
016666,000110: 37,2557           05204                           TC       TWIDDLE                               
016667,000111: 37,2560  E5,1642                                  EBANK=   XSM                                   
016668,000112: 37,2560           02536                           ADRES    ALLOOP                                
016669,000113: 37,2561           34755                           CAF      ZERO                                  
016670,000114: 37,2562           56037                           XCH      PIPAX                                 
016671,000115: 37,2563           54324                           TS       DELVX                                 
016672,000116: 37,2564           34755                           CAF      ZERO                                  
016673,000117: 37,2565           56040                           XCH      PIPAY                                 
016674,000118: 37,2566           54326                           TS       DELVY                                 
016675,000119: 37,2567           34755                           CAF      ZERO                                  
016676,000120: 37,2570           56041                           XCH      PIPAZ                                 
016677,000121: 37,2571           54330                           TS       DELVZ                                 
016678,000122: 37,2572           34736        SPECSTS            CAF      PRIO20                                
016679,000123: 37,2573           05105                           TC       FINDVAC                               
016680,000124: 37,2574  E5,1642                                  EBANK=   XSM                                   
016681,000125: 37,2574           02577 76065                     2CADR    ALFLT                                 #  START THE JOB
016682,000126: 
016683,000127: 37,2576           05272                           TC       TASKOVER                              
016684,000128: 

Page 390

016686,000130: 37,2577           11562        ALFLT              CCS      GEOCOMPS                              
016687,000131: 37,2600           02602                           TC       +2                                    
016688,000132: 37,2601           02604                           TC       NORMLOP                               
016689,000133: 37,2602           04616                           TC       BANKCALL                              
016690,000134: 37,2603           15271                           CADR     1/PIPA                                
016691,000135: 37,2604           06042        NORMLOP            TC       INTPRET                               
016692,000136: 37,2605           77745                           DLOAD                                          
016693,000137: 37,2606           37066                                    INTVAL                                
016694,000138: 37,2607           24051                           STOVL    S1                                    
016695,000139: 37,2610           00325                                    DELVX                                 
016696,000140: 37,2611           76505                           VXM      VSL1                                  
016697,000141: 37,2612           02643                                    XSM                                   
016698,000142: 37,2613           57545                           DLOAD    DCOMP                                 
016699,000143: 37,2614           00160                                    MPAC       +3                         
016700,000144: 37,2615           16523                           STODL    DPIPAY                                
016701,000145: 37,2616           00162                                    MPAC       +5                         
016702,000146: 37,2617           02527                           STORE    DPIPAZ                                
016703,000147: 
016704,000148: 37,2620           76001                           SETPD    AXT,1                                 
016705,000149: 37,2621           00001                                    0                                     
016706,000150: 37,2622           00010                                    8D                                    
016707,000151: 37,2623           57535                           SLOAD    DCOMP                                 
016708,000152: 37,2624           02563                                    GEOCOMPS                              
016709,000153: 37,2625           77640                           BMN                                            
016710,000154: 37,2626           76772                                    PERFERAS                              
016711,000155: 37,2627           50135        ALCGKK             SLOAD    BMN                                   
016712,000156: 37,2630           02532                                    ALTIMS                                
016713,000157: 37,2631           76644                                    ALFLT3                                
016714,000158: 37,2632           72174        ALKCG              AXT,2    LXA,1                                 #  LOADS SLOPES AND TIME CONSTANTS AT RQST
016715,000159: 37,2633           00014                                    12D                                   
016716,000160: 37,2634           02444                                    ALX1S                                 
016717,000161: 37,2635           62143        ALKCG2             DLOAD*   INCR,1                                
016718,000162: 37,2636           02243                                    ALFDK      +144D,1                    
016719,000163: 37,2637           77775                           DEC      -2         B-14                       
016720,000164: 37,2640           12545                           STORE    ALDK       +10D,2                     
016721,000165: 37,2641           66104                           TIX,2    SXA,1                                 
016722,000166: 37,2642           76635                                    ALKCG2                                
016723,000167: 37,2643           02444                                    ALX1S                                 
016724,000168: 
016725,000169: 37,2644           77770        ALFLT3             AXT,1                                          
016726,000170: 37,2645           00010                                    8D                                    
016727,000171: 37,2646           41343        DELMLP             DLOAD*   DMP                                   
016728,000172: 37,2647           02533                                    DPIPAY     +8D,1                      
016729,000173: 37,2650           37100                                    PIPASC                                
016730,000174: 37,2651           43661                           SLR      BDSU*                                 
016731,000175: 37,2652           21212                                    9D                                    
016732,000176: 37,2653           02501                                    INTY       +8D,1                      
016733,000177: 37,2654           06501                           STORE    INTY       +8D,1                      
016734,000178: 37,2655           40725                           PDDL     DMP*                                  
016735,000179: 37,2656           37102                                    VELSC                                 
016736,000180: 

Page 391

016738,000182: 37,2657           02521                                    VLAUN      +8D,1                      
016739,000183: 37,2660           77732                           SL2R                                           
016740,000184: 37,2661           45425                           DSU      STADR                                 
016741,000185: 37,2662           71216                           STORE    DELM       +8D,1                      
016742,000186: 37,2663           06563                           STORE    DELM       +10D,1                     
016743,000187: 37,2664           77100                           TIX,1    AXT,2                                 
016744,000188: 37,2665           76646                                    DELMLP                                
016745,000189: 37,2666           00004                                    4                                     
016746,000190: 37,2667           56743        ALILP              DLOAD*   DMPR*                                 
016747,000191: 37,2670           75324                                    ALK        +4,2                       
016748,000192: 37,2671           75240                                    ALDK       +4,2                       
016749,000193: 37,2672           12453                           STORE    ALK        +4,2                       
016750,000194: 37,2673           77104                           TIX,2    AXT,2                                 
016751,000195: 37,2674           76667                                    ALILP                                 
016752,000196: 37,2675           00010                                    8D                                    
016753,000197: 37,2676           66140        ALKLP              LXC,1    SXA,1                                 
016754,000198: 37,2677           02445                                    CMPX1                                 
016755,000199: 37,2700           02445                                    CMPX1                                 
016756,000200: 37,2701           56743                           DLOAD*   DMPR*                                 
016757,000201: 37,2702           02450                                    ALK        +1,1                       
016758,000202: 37,2703           75216                                    DELM       +8D,2                      
016759,000203: 37,2704           77613                           DAD*                                           
016760,000204: 37,2705           75276                                    INTY       +8D,2                      
016761,000205: 37,2706           12501                           STORE    INTY       +8D,2                      
016762,000206: 37,2707           42743                           DLOAD*   DAD*                                  
016763,000207: 37,2710           75314                                    ALK        +12D,2                     
016764,000208: 37,2711           75230                                    ALDK       +12D,2                     
016765,000209: 37,2712           12463                           STORE    ALK        +12D,2                     
016766,000210: 37,2713           42673                           DMPR*    DAD*                                  
016767,000211: 37,2714           75216                                    DELM       +8D,2                      
016768,000212: 37,2715           75266                                    INTY       +16D,2                     
016769,000213: 37,2716           12511                           STORE    INTY       +16D,2                     
016770,000214: 37,2717           40743                           DLOAD*   DMP*                                  
016771,000215: 37,2720           37105                                    ALSK       +1,1                       
016772,000216: 37,2721           75216                                    DELM       +8D,2                      
016773,000217: 37,2722           42772                           SL1R     DAD*                                  
016774,000218: 37,2723           75256                                    VLAUN      +8D,2                      
016775,000219: 37,2724           12521                           STORE    VLAUN      +8D,2                      
016776,000220: 37,2725           76104                           TIX,2    AXT,1                                 
016777,000221: 37,2726           76676                                    ALKLP                                 
016778,000222: 37,2727           00010                                    8D                                    
016779,000223: 
016780,000224: 
016781,000225: 37,2730           64743        LOOSE              DLOAD*   PDDL*                                 
016782,000226: 37,2731           02523                                    ACCWD      +8D,1                      
016783,000227: 37,2732           02521                                    VLAUN      +8D,1                      
016784,000228: 37,2733           55523                           PDDL*    VDEF                                  
016785,000229: 37,2734           02531                                    POSNV      +8D,1                      
016786,000230: 37,2735           76521                           MXV      VSL1                                  
016787,000231: 37,2736           02001                                    TRANSM1                               

Page 392

016789,000233: 37,2737           77745                           DLOAD                                          
016790,000234: 37,2740           00155                                    MPAC                                  
016791,000235: 37,2741           06531                           STORE    POSNV      +8D,1                      
016792,000236: 37,2742           77745                           DLOAD                                          
016793,000237: 37,2743           00160                                    MPAC       +3                         
016794,000238: 37,2744           06521                           STORE    VLAUN      +8D,1                      
016795,000239: 37,2745           77745                           DLOAD                                          
016796,000240: 37,2746           00162                                    MPAC       +5                         
016797,000241: 37,2747           06523                           STORE    ACCWD      +8D,1                      
016798,000242: 37,2750           77700                           TIX,1                                          
016799,000243: 37,2751           76730                                    LOOSE                                 
016800,000244: 
016801,000245: 
016802,000246: 37,2752           76174                           AXT,2    AXT,1                                 #  EVALUATE SINES AND COSINES
016803,000247: 37,2753           00006                                    6                                     
016804,000248: 37,2754           00002                                    2                                     
016805,000249: 37,2755           57343        BOOP               DLOAD*   DMPR                                  
016806,000250: 37,2756           02503                                    ANGX       +2,1                       
016807,000251: 37,2757           37110                                    GEORGEJ                               
016808,000252: 37,2760           77722                           SR2R                                           
016809,000253: 37,2761           73406                           PUSH     SIN                                   
016810,000254: 37,2762           56072                           SL3R     XAD,1                                 
016811,000255: 37,2763           00046                                    X1                                    
016812,000256: 37,2764           10021                           STORE    16D,2                                 
016813,000257: 37,2765           77745                           DLOAD                                          
016814,000258: 37,2766           77746                           COS                                            
016815,000259: 37,2767           10027                           STORE    22D,2                                 #  COSINES
016816,000260: 37,2770           77704                           TIX,2                                          
016817,000261: 37,2771           76755                                    BOOP                                  
016818,000262: 
016819,000263: 37,2772           77776        PERFERAS           EXIT                                           
016820,000264: 37,2773           35016                           CA       EBANK7                                
016821,000265: 37,2774           54003                           TS       EBANK                                 
016822,000266: 37,2775  E7,1400                                  EBANK=   ATIGINC                               
016823,000267: 37,2775           01400                           TC       ATIGINC                               #  GOTO ERASABLE TO CALCULATE ONLY TO RETN
016824,000268: 
016825,000269:                                                                                                  #              CAUTION
016826,000270: 
016827,000271:                                                                                                  #  THE ERASABLE PROGRAM THAT DOES THE CALCULATIONS MUST BE LOADED
016828,000272:                                                                                                  #  BEFORE ANY ATTEMPT IS MADE TO RUN THE IMU PERFORMANCE TEST
016829,000273: 
016830,000274: 37,2776  E5,1400                                  EBANK=   AZIMUTH                               
016831,000275: 37,2776           11412                           CCS      LENGTHOT                              
016832,000276: 37,2777           03034                           TC       SLEEPIE                               
016833,000277: 37,3000           11440                           CCS      TORQNDX                               
016834,000278: 37,3001           13003                           TCF      +2                                    
016835,000279: 37,3002           03005                           TC       SETUPER1                              
016836,000280: 37,3003           30032                           CA       CDUX                                  
016837,000281: 37,3004           55414                           TS       LOSVEC     +1                         #  FOR TROUBLESHOOTING VD POSNS 2$4
016838,000282: 

Page 393

016840,000284: 37,3005           06042        SETUPER1           TC       INTPRET                               
016841,000285: 37,3006           65345                           DLOAD    PDDL                                  #  ANGLES FROM DRIFT TEST ONLY
016842,000286: 37,3007           02473                                    ANGZ                                  
016843,000287: 37,3010           02477                                    ANGY                                  
016844,000288: 37,3011           55525                           PDDL     VDEF                                  
016845,000289: 37,3012           02501                                    ANGX                                  
016846,000290: 37,3013           74276                           VCOMP    VXSC                                  
016847,000291: 37,3014           37110                                    GEORGEJ                               
016848,000292: 37,3015           74521                           MXV      VSR1                                  
016849,000293: 37,3016           02643                                    XSM                                   
016850,000294: 37,3017           02740                           STORE    OGC                                   
016851,000295: 37,3020           77776                           EXIT                                           
016852,000296: 
016853,000297: 
016854,000298: 37,3021           32475                           CA       OGCPL                                 
016855,000299: 37,3022           04616                           TC       BANKCALL                              
016856,000300: 37,3023           17307                           CADR     IMUPULSE                              
016857,000301: 37,3024           02315                           TC       IMUSLLLG                              
016858,000302: 37,3025           11440        GEOSTRT4           CCS      TORQNDX                               #  ONLY POSITIVE IF IN VERTICAL DRIFT TEST
016859,000303: 37,3026           02263                           TC       VALMIS                                
016860,000304: 37,3027           06042                           TC       INTPRET                               
016861,000305: 37,3030           77624                           CALL                                           
016862,000306: 37,3031           76401                                    ERTHRVSE                              
016863,000307: 37,3032           77776                           EXIT                                           
016864,000308: 37,3033           02117                           TC       TORQUE                                
016865,000309: 
016866,000310: 
016867,000311: 37,3034           55412        SLEEPIE            TS       LENGTHOT                              #  TEST NOT OVER-DECREMENT LENGTHOT
016868,000312: 37,3035           11440                           CCS      TORQNDX                               #  ARE WE DOING VERTDRIFT
016869,000313: 37,3036           02447                           TC       EARTHR*                               
016870,000314: 37,3037           05155                           TC       ENDOFJOB                              
016871,000315: 
016872,000316: 
016873,000317: 37,3040           35014        SOMEERRR           CA       EBANK5                                
016874,000318: 37,3041           54003                           TS       EBANK                                 
016875,000319: 37,3042           34753                           CA       ONE                                   
016876,000320: 37,3043           55576                           TS       OVFLOWCK                              #  STOP ALLOOP FROM CALLING ITSELF
016877,000321: 37,3044           05600                           TC       ALARM                                 
016878,000322: 37,3045           01600                           OCT      1600                                  
016879,000323: 37,3046           02270                           TC       ENDTEST1                              
016880,000324: 37,3047           33054        SOMERR2            CAF      OCT1601                               
016881,000325: 37,3050           05745                           TC       VARALARM                              
016882,000326: 37,3051           05527                           TC       DOWNFLAG                              
016883,000327: 37,3052           00007                           ADRES    IMUSE                                 
016884,000328: 37,3053           05155                           TC       ENDOFJOB                              
016885,000329: 
016886,000330: 37,3054           01601        OCT1601            OCT      01601                                 
016887,000331: 37,3055           06200        DEC585             OCT      06200                                 #  3200 B+14   ORDER IS IMPORTANT
016888,000332: 37,3056           00000 00000  SCHZEROS           2DEC     .00000000                             
016889,000333: 

Page 394

016891,000335: 37,3060           00000 00000                     2DEC     .00000000                             
016892,000336: 37,3062           00000                           OCT      00000                                 
016893,000337: 37,3063           00000        ONEDPP             OCT      00000                                 #  ORDER IS IMPORTANT
016894,000338: 37,3064           00001                           OCT      00001                                 
016895,000339: 
016896,000340: 37,3065           00004        INTVAL             OCT      4                                     
016897,000341: 37,3066           00002                           OCT      2                                     
016898,000342: 37,3067           00220                           DEC      144        B-14                       
016899,000343: 37,3070           77776                           DEC      -1         B-14                       
016900,000344: 37,3071           35730 00035  SOUPLY             2DEC     .93505870                             #  INITIAL GAINS FOR PIP OUTPUTS
016901,000345: 37,3073           10317 17550                     2DEC     .26266423                             #  INITIAL GAINS/4 FOR ERECTION ANGLES
016902,000346: 
016903,000347: 37,3075           00115        77DECML            DEC      77         B-14                       
016904,000348: 37,3076           01443        ALXXXZ             GENADR   ALX1S      -1                         
016905,000349: 37,3077           04133 02265  PIPASC             2DEC     .13055869                             
016906,000350: 37,3101           57223 66451  VELSC              2DEC     -.52223476                            #  512/980.402
016907,000351: 37,3103           05427 12577  ALSK               2DEC     .17329931                             #  SSWAY VEL GAIN X 980.402/4096
016908,000352: 37,3105           77567 44202                     2DEC     -.00835370                            #  SSWAY ACCEL GAIN X 980.402/4096
016909,000353: 
016910,000354: 
016911,000355: 37,3107           24276 14066  GEORGEJ            2DEC     .63661977                             
016912,000356: 37,3111           23073 11773  GEORGEK            2DEC     .59737013                             

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