Source Code

These source-code files are part of a reconstructed copy of Luminary 96, the original release of the Apollo 11 Lunar Module (LM) Apollo Guidance Computer (AGC) software.

The reconstruction began with reconstructed source code for Luminary 97. Changes between revisions 96 and 97 were backed out, as described by anomal report LNY-59. transcribed from a digitized copy of that program. The reconstruction was verified by matching memory-bank checksums to those listed in drawing 2021152D. Note that page numbers in the reconstructed code match those on the Luminary 099 revision 001 printout, although the added code would likely have changed page numbers for a real Luminary 96 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.

046170,000002:                                                                                                  ## Copyright:   Public domain.
046171,000003:                                                                                                  ## Filename:    SINGLE_PRECISION_SUBROUTINES.agc
046172,000004:                                                                                                  ## Purpose:     A section of Luminary revision 96.
046173,000005:                                                                                                  ##              It is part of the reconstructed source code for the
046174,000006:                                                                                                  ##              original release of the flight software for the Lunar 
046175,000007:                                                                                                  ##              Module's (LM) Apollo Guidance Computer (AGC) for Apollo 11.
046176,000008:                                                                                                  ##              The code has been recreated from a previously reconstructed
046177,000009:                                                                                                  ##              copy of Luminary 97 by undoing changes described in anomaly
046178,000010:                                                                                                  ##              report LNY-59. The code has been adapted such that the
046179,000011:                                                                                                  ##              resulting bugger words exactly match those specified for
046180,000012:                                                                                                  ##              Luminary 96 in NASA drawing 2021152D, which gives relatively
046181,000013:                                                                                                  ##              high confidence that the reconstruction is correct.
046182,000014:                                                                                                  ## Reference:   p.  1102
046183,000015:                                                                                                  ## Assembler:   yaYUL
046184,000016:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
046185,000017:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
046186,000018:                                                                                                  ## Mod history: 2019-08-04 MAS  Created from Luminary 97.
046187,000019: 

Page 1102

046189,000021:    5032                                           BLOCK    02                                    
046190,000022: 
046191,000023:                                                                                                  #  SINGLE PRECISION SINE AND COSINE
046192,000024: 
046193,000025:    5032                                           COUNT*   $$/INTER                              
046194,000026:    5032           64736        SPCOS              AD       HALF                                  #  ARGUMENTS SCALED AT PI
046195,000027:    5033           55076        SPSIN              TS       TEMK                                  
046196,000028:    5034           15036                           TCF      SPT                                   
046197,000029:    5035           41076                           CS       TEMK                                  
046198,000030:    5036           60000        SPT                DOUBLE                                         
046199,000031:    5037           55076                           TS       TEMK                                  
046200,000032:    5040           15051                           TCF      POLLEY                                
046201,000033:    5041           57076                           XCH      TEMK                                  
046202,000034:    5042           51076                           INDEX    TEMK                                  
046203,000035:    5043           64734                           AD       LIMITS                                
046204,000036:    5044           40000                           COM                                            
046205,000037:    5045           61076                           AD       TEMK                                  
046206,000038:    5046           55076                           TS       TEMK                                  
046207,000039:    5047           15051                           TCF      POLLEY                                
046208,000040:    5050           15067                           TCF      ARG90                                 
046209,000041:    5051           00006        POLLEY             EXTEND                                         
046210,000042:    5052           71076                           MP       TEMK                                  
046211,000043:    5053           55077                           TS       SQ                                    
046212,000044:    5054           00006                           EXTEND                                         
046213,000045:    5055           75005                           MP       C5/2                                  
046214,000046:    5056           67737                           AD       C3/2                                  
046215,000047:    5057           00006                           EXTEND                                         
046216,000048:    5060           71077                           MP       SQ                                    
046217,000049:    5061           67717                           AD       C1/2                                  
046218,000050:    5062           00006                           EXTEND                                         
046219,000051:    5063           71076                           MP       TEMK                                  
046220,000052:    5064           20001                           DDOUBL                                         
046221,000053:    5065           55076                           TS       TEMK                                  
046222,000054:    5066           00002                           TC       Q                                     
046223,000055:    5067           50000        ARG90              INDEX    A                                     
046224,000056:    5070           44734                           CS       LIMITS                                
046225,000057:    5071           00002                           TC       Q                                     #  RESULT SCALED AT 1
046226,000058: 
046227,000059: 

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