Source Code

These source-code files are part of a reconstructed copy of Luminary 97, the second release of the Apollo 11 Lunar Module (LM) Apollo Guidance Computer (AGC) software. It was created to fix two incorrect ephemeris constants in Luminary 96, as described by anomaly report LNY-59.

The reconstruction began with source code of Luminary 99 revision 1 previously transcribed from a digitized copy of that program. The code was then updated by undoing changes described in original Luminary memos 83 and 85, using asterisks indicating changed lines in the listing as a guide. 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 97 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.

046407,000002:                                                                                                  ## Copyright:   Public domain.
046408,000003:                                                                                                  ## Filename:    SINGLE_PRECISION_SUBROUTINES.agc
046409,000004:                                                                                                  ## Purpose:     A section of Luminary revision 97.
046410,000005:                                                                                                  ##              It is part of the reconstructed source code for the
046411,000006:                                                                                                  ##              second release of the flight software for the Lunar 
046412,000007:                                                                                                  ##              Module's (LM) Apollo Guidance Computer (AGC) for Apollo 11.
046413,000008:                                                                                                  ##              It was created to fix two incorrect ephemeris constants in
046414,000009:                                                                                                  ##              Luminary 96, as described by anomaly report LNY-59.
046415,000010:                                                                                                  ##              The code has been recreated from a copy of Luminary 99
046416,000011:                                                                                                  ##              revision 001, using asterisks indicating changed lines in
046417,000012:                                                                                                  ##              the listing and Luminary Memos #83 and #85, which list 
046418,000013:                                                                                                  ##              changes between Luminary 97 and 98, and 98 and 99. The
046419,000014:                                                                                                  ##              code has been adapted such that the resulting bugger words
046420,000015:                                                                                                  ##              exactly match those specified for Luminary 97 in NASA drawing
046421,000016:                                                                                                  ##              2021152D, which gives relatively high confidence that the
046422,000017:                                                                                                  ##              reconstruction is correct.
046423,000018:                                                                                                  ## Reference:   p.  1102
046424,000019:                                                                                                  ## Assembler:   yaYUL
046425,000020:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
046426,000021:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
046427,000022:                                                                                                  ## Mod history: 2019-07-28 MAS  Created from Luminary 99.
046428,000023: 

Page 1102

046430,000025:    5032                                           BLOCK    02                                    
046431,000026: 
046432,000027:                                                                                                  #  SINGLE PRECISION SINE AND COSINE
046433,000028: 
046434,000029:    5032                                           COUNT*   $$/INTER                              
046435,000030:    5032           64736        SPCOS              AD       HALF                                  #  ARGUMENTS SCALED AT PI
046436,000031:    5033           55076        SPSIN              TS       TEMK                                  
046437,000032:    5034           15036                           TCF      SPT                                   
046438,000033:    5035           41076                           CS       TEMK                                  
046439,000034:    5036           60000        SPT                DOUBLE                                         
046440,000035:    5037           55076                           TS       TEMK                                  
046441,000036:    5040           15051                           TCF      POLLEY                                
046442,000037:    5041           57076                           XCH      TEMK                                  
046443,000038:    5042           51076                           INDEX    TEMK                                  
046444,000039:    5043           64734                           AD       LIMITS                                
046445,000040:    5044           40000                           COM                                            
046446,000041:    5045           61076                           AD       TEMK                                  
046447,000042:    5046           55076                           TS       TEMK                                  
046448,000043:    5047           15051                           TCF      POLLEY                                
046449,000044:    5050           15067                           TCF      ARG90                                 
046450,000045:    5051           00006        POLLEY             EXTEND                                         
046451,000046:    5052           71076                           MP       TEMK                                  
046452,000047:    5053           55077                           TS       SQ                                    
046453,000048:    5054           00006                           EXTEND                                         
046454,000049:    5055           75005                           MP       C5/2                                  
046455,000050:    5056           67737                           AD       C3/2                                  
046456,000051:    5057           00006                           EXTEND                                         
046457,000052:    5060           71077                           MP       SQ                                    
046458,000053:    5061           67717                           AD       C1/2                                  
046459,000054:    5062           00006                           EXTEND                                         
046460,000055:    5063           71076                           MP       TEMK                                  
046461,000056:    5064           20001                           DDOUBL                                         
046462,000057:    5065           55076                           TS       TEMK                                  
046463,000058:    5066           00002                           TC       Q                                     
046464,000059:    5067           50000        ARG90              INDEX    A                                     
046465,000060:    5070           44734                           CS       LIMITS                                
046466,000061:    5071           00002                           TC       Q                                     #  RESULT SCALED AT 1
046467,000062: 
046468,000063: 

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