Source Code

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

The reconstruction began with reconstructed source code for Luminary 178. Changes between revision 173 and 178 were backed out, as described by Luminary memo 167 (revision 1). 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 173 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.

036209,000002:                                                                                                  ## Copyright:   Public domain.
036210,000003:                                                                                                  ## Filename:    P12.agc
036211,000004:                                                                                                  ## Purpose:     A section of Luminary revision 173.
036212,000005:                                                                                                  ##              It is part of the reconstructed source code for the second
036213,000006:                                                                                                  ##              (unflown) release of the flight software for the Lunar
036214,000007:                                                                                                  ##              Module's (LM) Apollo Guidance Computer (AGC) for Apollo 14.
036215,000008:                                                                                                  ##              The code has been recreated from a reconstructed copy of
036216,000009:                                                                                                  ##              Luminary 178, as well as Luminary memo 167 (revision 1).
036217,000010:                                                                                                  ##              It has been adapted such that the resulting bugger words
036218,000011:                                                                                                  ##              exactly match those specified for Luminary 173 in NASA
036219,000012:                                                                                                  ##              drawing 2021152N, which gives relatively high confidence
036220,000013:                                                                                                  ##              that the reconstruction is correct.
036221,000014:                                                                                                  ## Reference:   pp. 829-833
036222,000015:                                                                                                  ## Assembler:   yaYUL
036223,000016:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
036224,000017:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
036225,000018:                                                                                                  ## Mod history: 2019-09-18 MAS  Created from Luminary 178.
036226,000019:                                                                                                  ##              2019-09-21 MAS  Added back initialization of ZAXIS1.
036227,000020: 

Page 829

036229,000022: 24,3642                                           BANK     24                                    
036230,000023: 30,2000                                           SETLOC   P12                                   
036231,000024: 30,2000                                           BANK                                           
036232,000025: 
036233,000026: 30,2061  E7,1515                                  EBANK=   DVCNTR                                
036234,000027: 30,2061                                           COUNT*   $$/P12                                
036235,000028: 
036236,000029: 30,2061           05364        P12LM              TC       PHASCHNG                              
036237,000030: 30,2062           04024                           OCT      04024                                 
036238,000031: 
036239,000032: 30,2063           04616                           TC       BANKCALL                              
036240,000033: 30,2064           11241                           CADR     R02BOTH                               #  CHECK THE STATUS OF THE IMU.
036241,000034: 
036242,000035: 30,2065           36000                           CAF      THRESH2                               #  INITIALIZE DVMON
036243,000036: 30,2066           55250                           TS       DVTHRUSH                              
036244,000037: 30,2067           34751                           CAF      FOUR                                  
036245,000038: 30,2070           55515                           TS       DVCNTR                                
036246,000039: 
036247,000040: 30,2071           33014                           CAF      V06N33A                               
036248,000041: 30,2072           04616                           TC       BANKCALL                              #  FLASH TIG
036249,000042: 30,2073           20477                           CADR     GOFLASH                               
036250,000043: 30,2074           16001                           TCF      GOTOPOOH                              
036251,000044: 30,2075           12077                           TCF      +2                                    #  PROCEED
036252,000045: 30,2076           12071                           TCF      -5                                    #  ENTER
036253,000046: 
036254,000047: 30,2077           05364                           TC       PHASCHNG                              
036255,000048: 30,2100           04024                           OCT      04024                                 
036256,000049: 
036257,000050: 30,2101           06042                           TC       INTPRET                               
036258,000051: 30,2102           43014                           SET      SET                                   
036259,000052: 30,2103           03067                                    MUNFLAG                               
036260,000053: 30,2104           06464                                    ACC4-2FL                              
036261,000054: 30,2105           43014                           SET      CLEAR                                 
036262,000055: 30,2106           00075                                    R10FLAG                               
036263,000056: 30,2107           00270                                    RNDVZFLG                              
036264,000057: 30,2110           43014                           SET      SET                                   
036265,000058: 30,2111           04464                                    FLPI                                  
036266,000059: 30,2112           04461                                    FLVR                                  
036267,000060: 30,2113           77624                           CALL                                           
036268,000061: 30,2114           71346                                    GUIDINIT                              
036269,000062: 30,2115           77624                           CALL                                           
036270,000063: 30,2116           60246                                    P12INIT                               
036271,000064: 30,2117           77745        P12LMB             DLOAD                                          
036272,000065: 30,2120           25641                                    (TGO)A                                #  SET TGO TO AN INITIAL NOMINAL VALUE.
036273,000066: 30,2121           17517                           STODL    TGO                                   
036274,000067: 30,2122           03442                                    TIG                                   
036275,000068: 30,2123           34041                           STCALL   TDEC1                                 
036276,000069: 30,2124           27056                                    LEMPREC                               #  ROTATE THE STATE VECTORS TO THE
036277,000070: 30,2125           64375                           VLOAD    MXV                                   #  IGNITION TIME.

Page 830

036279,000072: 30,2126           00007                                    VATT                                  
036280,000073: 30,2127           01732                                    REFSMMAT                              
036281,000074: 30,2130           77772                           VSL1                                           
036282,000075: 30,2131           27601                           STOVL    V1S                                   #  COMPUTE V1S = VEL(TIG)*2(-7)M/CS.
036283,000076: 30,2132           00001                                    RATT                                  
036284,000077: 30,2133           52521                           MXV      VSL6                                  
036285,000078: 30,2134           01732                                    REFSMMAT                              
036286,000079: 30,2135           37521                           STCALL   R                                     #  COMPUTE R = POS(TIG)*2(-24) M.
036287,000080: 30,2136           67000                                    MUNGRAV                               #  COMPUTE GDT1/2(TIG)*2(-7)M/CS.
036288,000081: 30,2137           53575                           VLOAD    UNIT                                  
036289,000082: 30,2140           03521                                    R                                     
036290,000083: 30,2141           37537                           STCALL   UNIT/R/                               #  COMPUTE UNIT/R/ FOR YCOMP.
036291,000084: 30,2142           57311                                    YCOMP                                 
036292,000085: 30,2143           57461                           SR       DCOMP                                 
036293,000086: 30,2144           20606                                    5D                                    
036294,000087: 30,2145           17643                           STODL    XRANGE                                #  INITIALIZE XRANGE FOR NOUN 76.
036295,000088: 30,2146           31372                                    VINJNOM                               
036296,000089: 30,2147           16277                           STODL    ZDOTD                                 
036297,000090: 30,2150           31374                                    RDOTDNOM                              
036298,000091: 30,2151           02273                           STORE    RDOTD                                 
036299,000092: 30,2152           77776                           EXIT                                           
036300,000093: 
036301,000094: 30,2153           05364                           TC       PHASCHNG                              
036302,000095: 30,2154           04024                           OCT      04024                                 
036303,000096: 
036304,000097: 30,2155           33013        NEWLOAD            CAF      V06N76                                #  FLASH CROSS-RANGE AND APOLUNE VALUES.
036305,000098: 30,2156           04616                           TC       BANKCALL                              
036306,000099: 30,2157           20477                           CADR     GOFLASH                               
036307,000100: 30,2160           16001                           TCF      GOTOPOOH                              
036308,000101: 30,2161           12163                           TCF      +2                                    #  PROCEED
036309,000102: 30,2162           12155                           TCF      NEWLOAD                               #  ENTER NEW DATA.
036310,000103: 
036311,000104: 30,2163           32311                           CAF      P12ADRES                              
036312,000105: 30,2164           55455                           TS       WHICH                                 
036313,000106: 
036314,000107: 30,2165           05364                           TC       PHASCHNG                              
036315,000108: 30,2166           04024                           OCT      04024                                 
036316,000109: 
036317,000110: 30,2167           06042                           TC       INTPRET                               
036318,000111: 30,2170           54345                           DLOAD    SL                                    
036319,000112: 30,2171           03643                                    XRANGE                                
036320,000113: 30,2172           20206                                    5D                                    
036321,000114: 30,2173           77615                           DAD                                            
036322,000115: 30,2174           02335                                    Y                                     
036323,000116: 30,2175           27633                           STOVL    YCO                                   
036324,000117: 30,2176           03537                                    UNIT/R/                               
036325,000118: 30,2177           53361                           VXSC     VAD                                   
036326,000119: 30,2200           31370                                    49FPS                                 
036327,000120: 30,2201           03601                                    V1S                                   
036328,000121: 30,2202           03527                           STORE    V                                     #  V(TIPOVER) = V(IGN) + 57FPS (UNIT/R/)

Page 831

036330,000123: 30,2203           72441                           DOT      SL1                                   
036331,000124: 30,2204           03537                                    UNIT/R/                               
036332,000125: 30,2205           27474                           STOVL    RDOT                                  #  RDOT * 2(-7)
036333,000126: 30,2206           03537                                    UNIT/R/                               
036334,000127: 30,2207           53435                           VXV      UNIT                                  
036335,000128: 30,2210           03720                                    QAXIS                                 
036336,000129: 30,2211           37726                           STCALL   ZAXIS1                                
036337,000130: 30,2212           60312                                    ASCENT                                
036338,000131: 30,2213           77745        P12RET             DLOAD                                          
036339,000132: 30,2214           02361                                    ATP                                   #  ATP(2)*2(18)
036340,000133: 30,2215           65316                           DSQ      PDDL                                  
036341,000134: 30,2216           02355                                    ATY                                   #  ATY(2)*2(18)
036342,000135: 30,2217           43316                           DSQ      DAD                                   
036343,000136: 30,2220           75454                           BZE      SQRT                                  
036344,000137: 30,2221           60225                                    YAWDUN                                
036345,000138: 30,2222           55352                           SL1      BDDV                                  
036346,000139: 30,2223           02355                                    ATY                                   
036347,000140: 30,2224           77736                           ARCSIN                                         
036348,000141: 30,2225           26363        YAWDUN             STOVL    YAW                                   
036349,000142: 30,2226           03253                                    UNFC/2                                
036350,000143: 30,2227           50256                           UNIT     DOT                                   
036351,000144: 30,2230           03537                                    UNIT/R/                               
036352,000145: 30,2231           65552                           SL1      ARCCOS                                
036353,000146: 30,2232           77676                           DCOMP                                          
036354,000147: 30,2233           02365                           STORE    PITCH                                 
036355,000148: 30,2234           77776                           EXIT                                           
036356,000149: 30,2235           05364                           TC       PHASCHNG                              
036357,000150: 30,2236           04024                           OCT      04024                                 
036358,000151: 
036359,000152: 30,2237           00004                           INHINT                                         
036360,000153: 30,2240           04674                           TC       IBNKCALL                              
036361,000154: 30,2241           40143                           CADR     PFLITEDB                              
036362,000155: 30,2242           05527                           TC       DOWNFLAG                              
036363,000156: 30,2243           00213                           ADRES    FLPI                                  
036364,000157: 
036365,000158: 30,2244           04635                           TC       POSTJUMP                              
036366,000159: 30,2245           74130                           CADR     BURNBABY                              
036367,000160: 
036368,000161: 30,2246           77745        P12INIT            DLOAD                                          #  INITIALIZE ENGINE DATA. USED FOR P12 AND
036369,000162: 30,2247           16013                                    (1/DV)A                               #  P71.
036370,000163: 30,2250           03641                           STORE    1/DV3                                 
036371,000164: 30,2251           03637                           STORE    1/DV2                                 
036372,000165: 30,2252           17635                           STODL    1/DV1                                 
036373,000166: 30,2253           16017                                    (AT)A                                 
036374,000167: 30,2254           16263                           STODL    AT                                    
036375,000168: 30,2255           16021                                    (TBUP)A                               
036376,000169: 30,2256           16271                           STODL    TBUP                                  
036377,000170: 30,2257           34013                                    ATDECAY                               
036378,000171: 30,2260           54276                           DCOMP    SL                                    
036379,000172: 30,2261           20214                                    11D                                   
036380,000173: 30,2262           02267                           STORE    TTO                                   
036381,000174: 30,2263           57535                           SLOAD    DCOMP                                 
036382,000175: 30,2264           26001                                    APSVEX                                
036383,000176: 30,2265           77702                           SR2                                            

Page 832

036385,000178: 30,2266           02265                           STORE    VE                                    
036386,000179: 30,2267           43414                           BOFF     RVQ                                   
036387,000180: 30,2270           04747                                    FLAP                                  
036388,000181: 30,2271           60272                                    COMMINIT                              
036389,000182: 30,2272           43345        COMMINIT           DLOAD    DAD                                   #  INITIALIZE TARGET DATA. USED BY P12, P70
036390,000183: 30,2273           25637                                    HINJECT                               #  AND P71 IF IT DOES NOT FOLLOW P70.
036391,000184: 30,2274           02333                                    /LAND/                                
036392,000185: 30,2275           17631                           STODL    RCO                                   
036393,000186: 30,2276           06520                                    HI6ZEROS                              
036394,000187: 30,2277           03654                           STORE    TXO                                   
036395,000188: 30,2300           03633                           STORE    YCO                                   
036396,000189: 30,2301           26275                           STOVL    YDOTD                                 
036397,000190: 30,2302           01563                                    VRECTCSM                              
036398,000191: 30,2303           64235                           VXV      MXV                                   
036399,000192: 30,2304           01555                                    RRECTCSM                              
036400,000193: 30,2305           01732                                    REFSMMAT                              
036401,000194: 30,2306           77656                           UNIT                                           
036402,000195: 30,2307           03720                           STORE    QAXIS                                 
036403,000196: 30,2310           77616                           RVQ                                            
036404,000197: 
036405,000198: 30,2311           02024        P12ADRES           REMADR   P12TABLE                              
036406,000199: 
036407,000200: 34,2000                                           SETLOC   ASENT8                                
036408,000201: 34,2000                                           BANK                                           
036409,000202: 34,3346                                           COUNT*   $$/P12                                
036410,000203: 
036411,000204: 34,3346           40220        GUIDINIT           STQ      SETPD                                 
036412,000205: 34,3347           01163                                    TEMPR60                               
036413,000206: 34,3350           00001                                    0D                                    
036414,000207: 34,3351           41575                           VLOAD    PUSH                                  
036415,000208: 34,3352           06512                                    UNITZ                                 
036416,000209: 34,3353           41434                           RTB      PUSH                                  
036417,000210: 34,3354           21574                                    LOADTIME                              
036418,000211: 34,3355           77624                           CALL                                           
036419,000212: 34,3356           55720                                    RP-TO-R                               
036420,000213: 34,3357           74321                           MXV      VXSC                                  
036421,000214: 34,3360           01732                                    REFSMMAT                              
036422,000215: 34,3361           16027                                    MOONRATE                              
036423,000216: 34,3362           26325                           STOVL    WM                                    
036424,000217: 34,3363           02021                                    RLS                                   
036425,000218: 34,3364           52446                           ABVAL    SL3                                   
036426,000219: 34,3365           36333                           STCALL   /LAND/                                
036427,000220: 34,3366           01163                                    TEMPR60                               
036428,000221: 
036429,000222: 34,3367           00046 07374  49FPS              2DEC     .149352    B-6                        #  EXPECTED RDOT AT TIPOVER
036430,000223: 
036431,000224: 34,3371           04145 15527  VINJNOM            2DEC     16.7924    B-7                        #  5509.5 FPS(APO=30NM WITH RDOT=19.5FPS)
036432,000225: 
036433,000226: 34,3373           00007 23346  RDOTDNOM           2DEC     .059436    B-7                        #  19.5 FPS
036434,000227: 

Page 833 This page is empty in the hardcopy of the original assembly listing.


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