Source Code

These source-code files were obtained by digitally photographing an Artemis 72 program listing from a private collection and then modifying pre-existing Comanche 55 (Apollo 11) source files to incorporate changes. Note that the page images presented online are of reduced quality, and that additional images may be available. Report any conversion errors or legibility problems in page images to info@sandroid.org. Notations on the program listing read, in part:

	GAP: ASSEMBLE REVISION 072 OF AGC PROGRAM ARTEMIS 
	BY NASA 2021114-011 11:40 FEB. 26, 1971

	THIS AGC PROGRAM SHALL ALSO BE REFERRED TO AS
				COLOSSUS 3
	THIS PROGRAM IS INTENDED FOR USE IN THE CM AS SPECIFIED
	IN REPORT R-577.  THIS PROGRAM WAS PREPARED UNDER OSR
	PROJECT 55-23890, SPONSORED BY THE MANNED SPACECRAFT
	CENTER OF THE NATIONAL AERONAUTICS AND SPACE
	ADMINISTRATION THROUGH CONTRACT NAS 9-4065 WITH THE
	CHARLES STARK DRAPER LABORATORY, MASSACHUSETTS INSTITUTE OF
	TECHNOLOGY, CAMBRIDGE, MASS.

034951,000002:                                                                                                 #  Copyright:     Public domain.
034952,000003:                                                                                                 #  Filename:      LUNAR_AND_SOLAR_EPHEMERIDES_SUBROUTINES.agc
034953,000004:                                                                                                 #  Purpose:       Part of the source code for Artemis (i.e., Colossus 3),
034954,000005:                                                                                                 #                 build 072.  This is for the Command Module's (CM)
034955,000006:                                                                                                 #                 Apollo Guidance Computer (AGC), we believe for
034956,000007:                                                                                                 #                 Apollo 15-17.
034957,000008:                                                                                                 #  Assembler:     yaYUL
034958,000009:                                                                                                 #  Contact:       Jim Lawton <jim DOT lawton AT gmail DOT com>
034959,000010:                                                                                                 #  Website:       www.ibiblio.org/apollo/index.html
034960,000011:                                                                                                 #  Page scans:    www.ibiblio.org/apollo/ScansForConversion/Artemis072/
034961,000012:                                                                                                 #  Mod history:   2009-08-11 JL   Adapted from corresponding Comanche 055 file.
034962,000013:                                                                                                 #                 2010-02-20 RSB  Un-##'d this header.
034963,000014: 
034964,000015:                                                                                                 # # Page 789
034965,000016: 
034966,000017:                                                                                                 #  LUNAR AND SOLAR EPHEMERIDES SUBROUTINES
034967,000018: 
034968,000019:                                                                                                 #  FUNCTIONAL DESCRIPTION
034969,000020: 
034970,000021:                                                                                                 #         THESE SUBROUTINES ARE USED TO DETERMINE THE POSITION AND VELOCITY
034971,000022:                                                                                                 #         VECTORS OF THE SUN AND THE MOON RELATIVE TO THE EARTH AT THE
034972,000023:                                                                                                 #         SPECIFIED GROUND ELAPSED TIME INPUT BY THE USER.
034973,000024: 
034974,000025:                                                                                                 #         THE POSITION OF THE MOON IS STORED IN THE COMPUTER IN THE FORM OF
034975,000026:                                                                                                 #         A NINTH DEGREE POLYNOMIAL APPROXIMATION WHICH IS VALID OVER A 15
034976,000027:                                                                                                 #         DAY INTERVAL BEGINNING SHORTLY BEFORE LAUNCH.  THEREFORE THE TIME
034977,000028:                                                                                                 #         INPUT BY THE USER SHOULD FALL WITHIN THIS 15 DAY INTERVAL.
034978,000029:                                                                                                 #  

The 9th-degree polynomial spoken of here is a pad load, meaning that it is not actually hardcoded into the software. Additional information about calculating the polynomial can be found on the Orbiter NASSP wiki, as well as information about calculation of the solar ephemerides.

034986,000037: 
034987,000038:                                                                                                 #         LSPOS COMPUTES THE POSITION VECTORS OF THE SUN AND THE MOON.
034988,000039: 
034989,000040:                                                                                                 #         LUNPOS COMPUTES THE POSITION VECTOR OF THE MOON.
034990,000041: 
034991,000042:                                                                                                 #         LUNVEL COMPUTES THE VELOCITY VECTOR OF THE MOON.
034992,000043: 
034993,000044:                                                                                                 #  CALLING SEQUENCE
034994,000045: 
034995,000046:                                                                                                 #         DLOAD   CALL
034996,000047:                                                                                                 #                 TIME            GROUND ELAPSED TIME
034997,000048:                                                                                                 #                 SUBROUTINE      LSPOS OR LUNPOS OR LUNVEL
034998,000049: 
034999,000050:                                                                                                 #  INPUT
035000,000051: 
035001,000052:                                                                                                 #         1) SPECIFIED GROUND ELAPSED TIME IN CS x B-28 LOADED IN MPAC.
035002,000053: 
035003,000054:                                                                                                 #         2) TIMEMO - TIME AT THE CENTER OF THE RANGE OVER WHICH THE LUNAR
035004,000055:                                                                                                 #            POSITION POLYNOMIAL IS VALID IN CS x B-42.
035005,000056: 
035006,000057:                                                                                                 #         3) VECOEM - VECTOR COEFFICIENTS OF THE LUNAR POSITION POLYNOMIAL
035007,000058:                                                                                                 #            LOADED IN DESCENDING SEQUENCE IN METERS/CS**N x B-2
035008,000059: 
035009,000060:                                                                                                 #         4) RESO - POSITION VECTOR OF THE SUN RELATIVE TO THE EARTH AT
035010,000061:                                                                                                 #            TIMEMO IN METERS x B-38
035011,000062: 
035012,000063:                                                                                                 #         5) VESO - VELOCITY VECTOR OF THE SUN RELATIVE TO THE EARTH AT
035013,000064:                                                                                                 #            TIMEMO IN METERS/CS x B-9
035014,000065:                                                                                                 #  
035015,000066:                                                                                                 #         6) OMEGAES - ANGULAR VELOCITY OF THE VECTOR RESO AT TIMEMO IN
035016,000067:                                                                                                 #            REV/CS x B+26.
035017,000068: 
035018,000069:                                                                                                 #         ALL EXCEPT THE FIRST INPUT ARE INCLUDED IN THE PRE-LAUNCH
035019,000070:                                                                                                 #         ERASABLE DATA LOAD.
035020,000071: 
035021,000072:                                                                                                 #  OUTPUT - LSPOS
035022,000073: 
035023,000074:                                                                                                 #         1) 2D OF VAC AREA CONTAINS THE POSITION VECTOR OF THE SUN RELATIVE
035024,000075:                                                                                                 # # Page 790
035025,000076:                                                                                                 #            TO THE EARTH AT TIME INPUT BY THE USER IN METERS x B-38.
035026,000077: 
035027,000078:                                                                                                 #         2) MPAC CONTAINS THE POSITION VECTOR OF THE MOON RELATIVE TO THE
035028,000079:                                                                                                 #            EARTH AT TIME INPUT BY THE USER IN METERS x B-29.
035029,000080: 
035030,000081:                                                                                                 #  OUTPUT - LUNPOS
035031,000082: 
035032,000083:                                                                                                 #         MPAC CONTAINS THE POSITION VECTOR OF THE MOON RELATIVE TO THE
035033,000084:                                                                                                 #         EARTH AT THE TIME INPUT BY USER IN METERS x B-29.
035034,000085: 
035035,000086:                                                                                                 #  OUTPUT - LUNVEL
035036,000087: 
035037,000088:                                                                                                 #         MPAC CONTAINS THE VELOCITY VECTOR OF THE MOON RELATIVE TO THE
035038,000089:                                                                                                 #         EARTH AT THE TIME INPUT BY THE USER IN METERS/CS x B-7.
035039,000090: 
035040,000091:                                                                                                 #  SUBROUTINES USED
035041,000092: 
035042,000093:                                                                                                 #         NONE
035043,000094: 
035044,000095:                                                                                                 #  REMARKS
035045,000096: 
035046,000097:                                                                                                 #         THE VAC AREA IS USED FOR STORAGE OF INTERMEDIATE AND FINAL RESULTS
035047,000098:                                                                                                 #         OF COMPUTATIONS.
035048,000099: 
035049,000100:                                                                                                 #         S1, X1, AND X2 ARE USED BY THESE SUBROUTINES.
035050,000101:                                                                                                 #         PRELAUNCH ERASABLE DATA LOAD ARE ONLY ERASABLE STORAGE USED BY
035051,000102:                                                                                                 #         THESE SUBROUTINES.
035052,000103:                                                                                                 #         RESTARTS DURING OPERATION OF THESE SUBROUTINES MUST BE HANDLED BY
035053,000104:                                                                                                 #         THE USER.
035054,000105: 
035055,000106: 26,2000                                          SETLOC   EPHEM                                 
035056,000107: 26,2000                                          BANK                                           
035057,000108: 
035058,000109: 26,2136                                          COUNT*   $$/EPHEM                              
035059,000110: 26,2136  0003777                                 EBANK=   WHOCARES                              
035060,000111: 26,2136           52170        LSPOS             AXT,1    GOTO                                  
035061,000112: 26,2137           54163                                   RES                                   #  AREA.  THE POSITION VECTOR OF THE MOON
035062,000113: 26,2140           54146                                   LSTIME                                #  IS STORED IN MPAC.
035063,000114: 26,2141           52170        LUNPOS            AXT,1    GOTO                                  #  COMPUTES THE POSITION VECTOR OF THE MOON
035064,000115: 26,2142           54201                                   REM                                   #  AND STORES IT IN MPAC.
035065,000116: 26,2143           54146                                   LSTIME                                
035066,000117: 26,2144           77770        LUNVEL            AXT,1                                          
035067,000118: 26,2145           54212                                   VEM                                   #  AND STORES IT IN MPAC.
035068,000119: 26,2146           54201        LSTIME            SETPD    SR                                    
035069,000120: 26,2147           00001                                   0D                                    
035070,000121: 26,2150           20617                                   14D                                   
035071,000122: 26,2151           57571                          TAD      DCOMP                                 
035072,000123: 26,2152           01707                                   TEPHEM                                
035073,000124: 26,2153           57571                          TAD      DCOMP                                 
035074,000125: 26,2154           02034                                   TIMEMO                                
035075,000126:                                                                                                 # # Page 791
035076,000127: 26,2155           66261                          SL       SSP                                   
035077,000128: 26,2156           20221                                   16D                                   
035078,000129: 26,2157           00051                                   S1                                    
035079,000130: 26,2160           00006                                   6D                                    
035080,000131: 26,2161           77650                          GOTO                                           
035081,000132: 26,2162           00046                                   X1                                    
035082,000133: 26,2163           41206        RES               PUSH     DMP                                   #                                         PD- 2
035083,000134: 26,2164           02147                                   OMEGAES                               
035084,000135: 26,2165           71406                          PUSH     COS                                   #                                         PD- 4
035085,000136: 26,2166           65361                          VXSC     PDDL                                  #                                         PD- 8
035086,000137: 26,2167           02133                                   RESO                                  
035087,000138: 26,2170           63356                          SIN      PDVL                                  #                                         PD-10
035088,000139: 26,2171           02133                                   RESO                                  
035089,000140: 26,2172           53406                          PUSH     UNIT                                  #                                         PD-16
035090,000141: 26,2173           53435                          VXV      UNIT                                  
035091,000142: 26,2174           02141                                   VESO                                  
035092,000143: 26,2175           76435                          VXV      VSL1                                  #                                         PD-10
035093,000144: 26,2176           53361                          VXSC     VAD                                   #                                         PD-02
035094,000145: 26,2177           77772                          VSL1                                           
035095,000146: 26,2200           14003        RESA              STODL    2D                                    #  RES IN METERS x B-38 IN 2D OF VAC.     PD- 0
035096,000147: 26,2201           63370        REM               AXT,1    PDVL                                  #                                         PD- 2
035097,000148: 26,2202           00066                                   54D                                   
035098,000149: 26,2203           02037                                   VECOEM                                
035099,000150: 26,2204           52761        REMA              VXSC     VAD*                                  
035100,000151: 26,2205           00001                                   0D                                    
035101,000152: 26,2206           02133                                   VECOEM     +60D,1                     
035102,000153: 26,2207           72500                          TIX,1    VSL2                                  #  REM IN METERS x B-29 IN MPAC.
035103,000154: 26,2210           54204                                   REMA                                  
035104,000155: 26,2211           77616                          RVQ                                            
035105,000156: 26,2212           65370        VEM               AXT,1    PDDL                                  #                                         PD- 2
035106,000157: 26,2213           00060                                   48D                                   
035107,000158: 26,2214           14233                                   NINEB4                                
035108,000159: 26,2215           74206                          PUSH     VXSC                                  #                                         PD- 4
035109,000160: 26,2216           02037                                   VECOEM                                
035110,000161: 26,2217           77761        VEMA              VXSC                                           
035111,000162: 26,2220           00001                                   0D                                    
035112,000163: 26,2221           14005                          STODL    4D                                    #                                         PD- 2
035113,000164: 26,2222           41425                          DSU      PUSH                                  #                                         PD- 4
035114,000165: 26,2223           31771                                   ONEB4                                 
035115,000166: 26,2224           53357                          VXSC*    VAD                                   
035116,000167: 26,2225           02125                                   VECOEM     +54D,1                     
035117,000168: 26,2226           00005                                   4D                                    
035118,000169: 26,2227           72500                          TIX,1    VSL2                                  #  VEM IN METERS/CS x B-7 IN MPAC.
035119,000170: 26,2230           54217                                   VEMA                                  
035120,000171: 26,2231           77616                          RVQ                                            
035121,000172: 26,2232           22000 00000  NINEB4            2DEC     9.0        B-4                        
035122,000173: 26,2234  34,3770               ONEB4             EQUALS   DP2(-4)                               #  1 B-4
035123,000174: 

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