Source Code
034886,000001: # Copyright: Public domain.
034887,000002: # Filename: LUNAR_AND_SOLAR_EPHEMERIDES_SUBROUTINES.agc
034888,000003: # Purpose: Part of the source code for Comanche, build 055. It
034889,000004: # is part of the source code for the Command Module's
034890,000005: # (CM) Apollo Guidance Computer (AGC), Apollo 11.
034891,000006: # Assembler: yaYUL
034892,000007: # Reference: pp. 785-788
034893,000008: # Contact: Ron Burkey <info@sandroid.org>
034894,000009: # Website: http://www.ibiblio.org/apollo.
034895,000010: # Mod history: 2009-05-12 RSB Adapted from Colossus249 file of the same
034896,000011: # name and Comanche 055 page images.
034897,000012: # 2009-07-26 RSB Added annotations related to computation
034898,000013: # of the ephemeral(?) polynomials.
034899,000014:
034900,000015: # The contents of the "Comanche055" files, in general, are transcribed
034901,000016: # from scanned documents.
034902,000017:
034903,000018: # Assemble revision 055 of AGC program Comanche by NASA
034904,000019: # 2021113-051. April 1, 1969.
034905,000020:
034906,000021: # This AGC program shall also be referred to as Colossus 2A
034907,000022:
034908,000023: # Prepared by
034909,000024: # Massachussets Institute of Technology
034910,000025: # 75 Cambridge Parkway
034911,000026: # Cambridge, Massachusetts
034912,000027:
034913,000028: # under NASA contract NAS 9-4065.
034914,000029:
034915,000030: # Refer directly to the online document mentioned above for further
034916,000031: # information. Please report any errors to info@sandroid.org.
034917,000032:
034918,000033: # Page 785
034919,000034: # LUNAR AND SOLAR EPHEMERIDES SUBROUTINES
034920,000035:
034921,000036: # FUNCTIONAL DESCRIPTION
034922,000037:
034923,000038: # THESE SUBROUTINES ARE USED TO DETERMINE THE POSITION AND VELOCITY
034924,000039: # VECTORS OF THE SUN AND THE MOON RELATIVE TO THE EARTH AT THE
034925,000040: # SPECIFIED GROUND ELAPSED TIME INPUT BY THE USER.
034926,000041:
034927,000042: # THE POSITION OF THE MOON IS STORED IN THE COMPUTER IN THE FORM OF
034928,000043: # A NINTH DEGREE POLYNOMIAL APPROXIMATION WHICH IS VALID OVER A 15
034929,000044: # DAY INTERVAL BEGINNING SHORTLY BEFORE LAUNCH. THEREFORE THE TIME
034930,000045: # INPUT BY THE USER SHOULD FALL WITHIN THIS 15 DAY INTERVAL.
034931,000046: # # The 9th-degree polynomial spoken of here is a pad load, meaning
034932,000047: # # that it is not actually hardcoded into the software. Additional
034933,000048: # # information about calculating the polynomial can be found on the
034934,000049: # # <a href="http://nassp.sourceforge.net/wiki/Lunar_Ephemeris_Polynomials">
034935,000050: # # <b>Orbiter</b> NASSP wiki</a>, as well as information about calculation
034936,000051: # # of the <a href="http://nassp.sourceforge.net/wiki/Solar_Ephemeris">
034937,000052: # # solar ephemerides</a>.
034938,000053:
034939,000054: # LSPOS COMPUTES THE POSITION VECTORS OF THE SUN AND THE MOON.
034940,000055:
034941,000056: # LUNPOS COMPUTES THE POSITION VECTOR OF THE MOON.
034942,000057:
034943,000058: # LUNVEL COMPUTES THE VELOCITY VECTOR OF THE MOON.
034944,000059:
034945,000060: # SOLPOS COMPUTES THE POSITION VECTOR OF THE SUN.
034946,000061:
034947,000062: # CALLING SEQUENCE
034948,000063:
034949,000064: # DLOAD CALL
034950,000065: # TIME GROUND ELAPSED TIME
034951,000066: # SUBROUTINE LSPOS OR LUNPOS OR LUNVEL OR SOLPOS
034952,000067:
034953,000068: # INPUT
034954,000069:
034955,000070: # 1) SPECIFIED GROUND ELAPSED TIME IN CS x B-28 LOADED IN MPAC.
034956,000071:
034957,000072: # 2) TIMEMO -- TIME AT THE CENTER OF THE RANGE OVER WHICH THE LUNAR
034958,000073: # POSITION POLYNOMIAL IS VALID IN CS x B-42.
034959,000074:
034960,000075: # 3) VECOEM -- VECTOR COEFFICIENTS OF THE LUNAR POSITION POLYNOMIAL
034961,000076: # LOADED IN DESCENDING SEQUENCE IN METERS/CS**N x B-2
034962,000077:
034963,000078: # 4) RESO -- POSITION VECTOR OF THE SUN RELATIVE TO THE EARTH AT
034964,000079: # TIMEMO IN METERS x B-38
034965,000080:
034966,000081: # 5) VESO -- VELOCITY VECTOR OF THE SUN RELATIVE TO THE EARTH AT
034967,000082: # TIMEMO IN METERS/CS x B-9
034968,000083: #
034969,000084: # 6) OMEGAES -- ANGULAR VELOCITY OF THE VECTOR RESO AT TIMEMO IN
034970,000085: # REV/CS x B+26
034971,000086:
034972,000087: # ALL EXCEPT THE FIRST INPUT ARE INCLUDED IN THE PRE-LAUNCH
034973,000088: # ERASABLE DATA LOAD.
034974,000089:
034975,000090: # OUTPUT -- LSPOS
034976,000091: # Page 786
034977,000092:
034978,000093: # 1) 2D OF VAC AREA CONTAINS THE POSITION VECTOR OF THE SUN RELATIVE
034979,000094: # TO THE EARTH AT TIME INPUT BY THE USER IN METERS x B-38.
034980,000095:
034981,000096: # 2) MPAC CONTAINS THE POSITION VECTOR OF THE MOON RELATIVE TO THE
034982,000097: # EARTH AT TIME INPUT BY THE USER IN METERS x B-29
034983,000098:
034984,000099: # OUTPUT -- LUNPOS
034985,000100:
034986,000101: # MPAC CONTAINS THE POSITION VECTOR OF THE MOON RELATIVE TO THE
034987,000102: # EARTH AT THE TIME INPUT BY USER IN METERS x B-29
034988,000103:
034989,000104: # OUTPUT -- LUNVEL
034990,000105:
034991,000106: # MPAC CONTAINS THE VELOCITY VECTOR OF THE MOON RELATIVE TO THE
034992,000107: # EARTH AT THE TIME INPUT BY THE USER IN METERS/CS x B-7
034993,000108:
034994,000109: # OUTPUT -- SOLPOS
034995,000110:
034996,000111: # MPAC CONTAINS THE POSITION VECTOR OF THE SUN RELATIVE TO THE EARTH
034997,000112: # AT TIME INPUT BY THE USER IN METERS x B-38.
034998,000113:
034999,000114: # SUBROUTINES USED
035000,000115:
035001,000116: # NONE
035002,000117:
035003,000118: # REMARKS
035004,000119:
035005,000120: # THE VAC AREA IS USED FOR STORAGE OF INTERMEDIATE AND FINAL RESULTS
035006,000121: # OF COMPUTATIONS.
035007,000122:
035008,000123: # S1, X1, AND X2 ARE USED BY THESE SUBROUTINES.
035009,000124:
035010,000125: # PRELAUNCH ERASABLE DATA LOAD ARE ONLY ERASABLE STORAGE USED BY
035011,000126: # THESE SUBROUTINES.
035012,000127:
035013,000128: # RESTARTS DURING OPERATION OF THESE SUBROUTINES MUST BE HANDLED BY
035014,000129: # THE USER.
035015,000130:
035016,000131: 36,2466 BANK 36
035017,000132: 26,2000 SETLOC EPHEM
035018,000133: 26,2000 BANK
035019,000134:
035020,000135: 26,2110 COUNT* $$/EPHEM
035021,000136: 26,2110 E7,1777 EBANK= END-E7
035022,000137: 26,2110 77774 LSPOS AXT,2 # COMPUTES POSITION VECTORS OF BOTH THE
035023,000138: 26,2111 54161 RESA # SUN AND THE MOON. THE POSITION VECTOR
035024,000139: 26,2112 52170 AXT,1 GOTO # OF THE SUN IS STORED IN 2D OF THE VAC
035025,000140: 26,2113 54143 RES # AREA. THE POSITION VECTOR OF THE MOON
035026,000141: 26,2114 54126 LSTIME # IS STORED IN MPAC.
035027,000142: 26,2115 52170 LUNPOS AXT,1 GOTO # COMPUTES THE POSITION VECTOR OF THE MOON
035028,000143: 26,2116 54162 REM # AND STORES IT IN MPAC.
035029,000144: 26,2117 54126 LSTIME
035030,000145: # Page 787
035031,000146: 26,2120 52170 LUNVEL AXT,1 GOTO # COMPUTES THE VELOCITY VECTOR OF THE MOON
035032,000147: 26,2121 54173 VEM # AND STORES IT IN MPAC.
035033,000148: 26,2122 54126 LSTIME
035034,000149: 26,2123 76020 SOLPOS STQ AXT,1 # COMPUTES THE POSITION VECTOR OF THE SUN
035035,000150: 26,2124 00047 X2 # AND STORES IT IN MPAC.
035036,000151: 26,2125 54143 RES
035037,000152: 26,2126 54201 LSTIME SETPD SR
035038,000153: 26,2127 00001 0D
035039,000154: 26,2130 20617 14D
035040,000155: 26,2131 57571 TAD DCOMP
035041,000156: 26,2132 01707 TEPHEM
035042,000157: 26,2133 57571 TAD DCOMP
035043,000158: 26,2134 02034 TIMEMO
035044,000159: 26,2135 66261 SL SSP
035045,000160: 26,2136 20221 16D
035046,000161: 26,2137 00051 S1
035047,000162: 26,2140 00006 6D
035048,000163: 26,2141 77650 GOTO
035049,000164: 26,2142 00046 X1
035050,000165: 26,2143 41206 RES PUSH DMP # PD- 2
035051,000166: 26,2144 02147 OMEGAES
035052,000167: 26,2145 71406 PUSH COS # PD- 4
035053,000168: 26,2146 65361 VXSC PDDL # PD- 8
035054,000169: 26,2147 02133 RESO
035055,000170: 26,2150 63356 SIN PDVL # PD-10
035056,000171: 26,2151 02133 RESO
035057,000172: 26,2152 53406 PUSH UNIT # PD-16
035058,000173: 26,2153 53435 VXV UNIT
035059,000174: 26,2154 02141 VESO
035060,000175: 26,2155 76435 VXV VSL1 # PD-10
035061,000176: 26,2156 53361 VXSC VAD # PD-02
035062,000177: 26,2157 52172 VSL1 GOTO # RES IN METERS x B-38 IN MPAC.
035063,000178: 26,2160 00047 X2
035064,000179: 26,2161 14003 RESA STODL 2D # RES IN METERS x B-38 IN 2D OF VAC. PD- 0
035065,000180: 26,2162 63370 REM AXT,1 PDVL # PD- 2
035066,000181: 26,2163 00066 54D
035067,000182: 26,2164 02037 VECOEM
035068,000183: 26,2165 52761 REMA VXSC VAD*
035069,000184: 26,2166 00001 0D
035070,000185: 26,2167 02133 VECOEM +60D,1
035071,000186: 26,2170 72500 TIX,1 VSL2 # REM IN METERS x B-29 IN MPAC.
035072,000187: 26,2171 54165 REMA
035073,000188: 26,2172 77616 RVQ
035074,000189: 26,2173 65370 VEM AXT,1 PDDL # PD- 2
035075,000190: 26,2174 00060 48D
035076,000191: 26,2175 14214 NINEB4
035077,000192: 26,2176 74206 PUSH VXSC # PD- 4
035078,000193: 26,2177 02037 VECOEM
035079,000194: 26,2200 77761 VEMA VXSC
035080,000195: 26,2201 00001 0D
035081,000196: # Page 788
035082,000197: 26,2202 14005 STODL 4D # PD- 2
035083,000198: 26,2203 41425 DSU PUSH # PD- 4
035084,000199: 26,2204 14216 ONEB4
035085,000200: 26,2205 53357 VXSC* VAD
035086,000201: 26,2206 02125 VECOEM +54D,1
035087,000202: 26,2207 00005 4D
035088,000203: 26,2210 72500 TIX,1 VSL2 # VEM IN METERS/CS x B-7 IN MPAC.
035089,000204: 26,2211 54200 VEMA
035090,000205: 26,2212 77616 RVQ
035091,000206: 26,2213 22000 00000 NINEB4 2DEC 9.0 B-4
035092,000207:
035093,000208: 26,2215 02000 00000 ONEB4 2DEC 1.0 B-4
035094,000209:
035095,000210:
035096,000211:
End of include-file LUNAR_AND_SOLAR_EPHEMERIDES_SUBROUTINES.agc. Parent file is MAIN.agc