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