Source Code
These source-code files are part of a reconstructed copy of Corona 261, the
final, flown release of the Block I Command Module (CM) Apollo Guidance Computer
(AGC) software for the AS-202 mission.
They have been created via disassembly of binary dumps of the original core rope memory modules actually flown on the mission, part numbers 1003733-171, 1003733-241, 1003733-191, 1003733-211, 1003733-221, and 1003733-241. The source code for the Apollo 4 and 6 software, Solarium 55, was used as a starting point, since it was directly derived from Corona and (at least in theory) only minimally modified. Since only binary dumps (rather than listings) of Corona are available as source material, all comments and labels are approximate. They have been taken from other AGC programs where possible, or, in some places, written from scratch to match what we believe would have been in the original listing. |
011116,000002: ## Copyright: Public domain.
011117,000003: ## Filename: ORBITAL_INTEGRATION_PROGRAM.agc
011118,000004: ## Purpose: A section of Corona revision 261.
011119,000005: ## It is part of the source code for the Apollo Guidance Computer
011120,000006: ## (AGC) for AS-202. No original listings of this software are
011121,000007: ## available; instead, this file was created via disassembly of
011122,000008: ## the core rope modules actually flown on the mission.
011123,000009: ## Assembler: yaYUL
011124,000010: ## Contact: Ron Burkey <info@sandroid.org>.
011125,000011: ## Website: www.ibiblio.org/apollo/index.html
011126,000012: ## Mod history: 2023-05-27 MAS Created from Solarium 55.
011127,000013: ## 2023-06-17 MAS Updated for Corona.
011128,000014:
011129,000015:
011130,000016: 23,6000 BANK 23
011131,000017:
011132,000018: # *** SCALING FACTORS AND ARGUMENTS ***
011133,000019:
011134,000020: 23,6000 DEL = 1
011135,000021: 23,6000 DEL+E = 1
011136,000022: 23,6000 2DEL = 2
011137,000023: 23,6000 2DEL+E = 2
011138,000024: 23,6000 E = 0
011139,000025: 23,6000 RSCALE = 14D
011140,000026: 23,6000 VSCALE = 6
011141,000027: 23,6000 TSCALE = 24D
011142,000028: 23,6000 2VSCALE = 12D
011143,000029: 23,6000 4RSCALE = 56D
011144,000030: 23,6000 R+VSCALE = 22D
011145,000031:
011146,000032: # FBR3 SETS UP A TIMESTEP CALL TO KEPLER.
011147,000033:
011148,000034: 23,6000 56775 FBR3 TSRT 1
011149,000035: 23,6001 46542 ROUND DAD
011150,000036: 23,6002 01265 H
011151,000037: 23,6003 00007 TSCALE -18D
011152,000038: 23,6004 01145 TC
011153,000039: 23,6005 33261 STORE TAU
011154,000040:
011155,000041: 23,6006 71576 LXC,1 0
011156,000042: 23,6007 01040 PBODY
011157,000043:
011158,000044: 23,6010 42175 SMOVE* 1
011159,000045: 23,6011 70471 LXC,2 XSU,2
011160,000046: 23,6012 00021 8D,1
011161,000047: 23,6013 00116 MPAC
011162,000048: 23,6014 01311 SCALEDT
011163,000049:
011164,000050: 23,6015 44174 DMOVE* 2
011165,000051: 23,6016 64714 DMP TSLT*
011166,000052: 23,6017 46542 ROUND DAD
011167,000053: 23,6020 00023 9D,1
011168,000054: 23,6021 01263 DT/2
011169,000055: 23,6022 00002 0,2
011170,000056: 23,6023 01147 TET
011171,000057: 23,6024 33147 STORE TET
011172,000058:
011173,000059: 23,6025 76776 CALLKEP ITC 0
011174,000060: 23,6026 06036 KEPLER
011175,000061:
011176,000062: 23,6027 76776 ITC 0
011177,000063: 23,6030 06071 KEPLER2
011178,000064:
011179,000065: 23,6031 76776 GETKTIME ITC 0
011180,000066: 23,6032 06146 KTIMEN+1
011181,000067:
011182,000068: 23,6033 76776 ITC 0
011183,000069: 23,6034 06226 KEPLER3
011184,000070:
011185,000071:
011186,000072: # THIS ORBITAL KEPLER SUBROUTINE FINDS THE POSITION AND VELOCITY OF THE VEHICLE AFTER TIME FOUND IN
011187,000073: # GIVENT SINCE RECTIFICATION TO POSITION RRECT AND VELOCITY VRECT . THE RESULTING POSITION AND VELOCITY ARE
011188,000074: # LEFT IN FOUNDR AND FOUNDV , RESPECTIVELY.
011189,000075:
011190,000076: 23,6035 73575 KEPLER LXA,1 1 # UNIT OF RECTIFICATION POSITION TO 0
011191,000077: 23,6036 67553 SXA,1 UNIT
011192,000078: 23,6037 00070 FIXLOC
011193,000079: 23,6040 00124 PUSHLOC
011194,000080: 23,6041 01101 RRECT
011195,000081:
011196,000082: 23,6042 63776 TSLT 0 # AND LENGTH OF ORIGINAL IN 6.
011197,000083: 23,6043 00037 30D
011198,000084: 23,6044 00002 1
011199,000085:
011200,000086: 23,6045 67173 VSQ 3 # A4 TO REGISTER 8.
011201,000087: 23,6046 46522 ROUND DMP
011202,000088: 23,6047 66716 DSU TSLT
011203,000089: 23,6050 46576 ROUND
011204,000090: 23,6051 01107 VRECT
011205,000091: 23,6052 00007 6 # LENGTH OF POSITION AT RECTIFICATION.
011206,000092: 23,6053 06303 DP1/4
011207,000093: 23,6054 00003 2
011208,000094:
011209,000095: 23,6055 47574 NOLOD 2 # ALPHA TO REGISTER 10.
011210,000096: 23,6056 56633 TSRT COMP
011211,000097: 23,6057 70712 DAD DDV
011212,000098: 23,6060 00003 2
011213,000099: 23,6061 06303 DP1/4
011214,000100: 23,6062 00007 6
011215,000101:
011216,000102: 23,6063 42775 DOT 1 # A1 TO REGISTER 12.
011217,000103: 23,6064 46576 ROUND
011218,000104: 23,6065 01101 RRECT
011219,000105: 23,6066 01107 VRECT
011220,000106:
011221,000107: 23,6067 40576 ITCQ 0
011222,000108:
011223,000109:
011224,000110: 23,6070 73175 KEPLER2 UNIT 1
011225,000111: 23,6071 74412 AXT,2 DOT
011226,000112: 23,6072 01131 RCV
011227,000113: 23,6073 00013 10D # SET MAXIMUM ITERATION COUNT TO 10.
011228,000114: 23,6074 01137 VCV # IR/2 . VC IN 14
011229,000115:
011230,000116: 23,6075 63776 TSLT 0
011231,000117: 23,6076 00037 30D
011232,000118: 23,6077 00002 1
011233,000119: 23,6100 33255 STORE ALPHAM # RC IN ALPHAM.
011234,000120:
011235,000121: 23,6101 56775 TSRT 1
011236,000122: 23,6102 46512 ROUND DDV
011237,000123: 23,6103 01263 DT/2
011238,000124: 23,6104 00007 TSCALE -18D
011239,000125: 23,6105 01255 ALPHAM # Q IN 16.
011240,000126:
011241,000127: 23,6106 62773 DDV 3
011242,000128: 23,6107 66666 DSU DMPR
011243,000129: 23,6110 55666 DMPR DMPR
011244,000130: 23,6111 54516 AST,2 TSLT
011245,000131: 23,6112 06303 DP1/4
011246,000132: 23,6113 01255 ALPHAM
011247,000133: 23,6114 00013 10D # 1/4RC - ALPHA
011248,000134: 23,6115 00021 16D # Q ( )
011249,000135: 23,6116 00021 16D # Q Q ( )
011250,000136: 23,6117 06305 DP1/3
011251,000137: 23,6120 00002 1
011252,000138: 23,6121 00007 2DEL +4
011253,000139:
011254,000140: 23,6122 55775 DMPR 1
011255,000141: 23,6123 63776 TSLT
011256,000142: 23,6124 00017 14D
011257,000143: 23,6125 00021 16D
011258,000144: 23,6126 00005 DEL +3
011259,000145:
011260,000146: 23,6127 47572 NOLOD 4
011261,000147: 23,6130 65666 BDSU DMPR
011262,000148: 23,6131 65732 BDSU DSU
011263,000149: 23,6132 64716 DMP TSLT
011264,000150: 23,6133 46542 ROUND DAD
011265,000151: 23,6134 07506 DP1/2
011266,000152: 23,6135 77777 - # 20
011267,000153: 23,6136 07506 DP1/2
011268,000154: 23,6137 77777 - # 18
011269,000155: 23,6140 77777 - # 16
011270,000156: 23,6141 00002 1
011271,000157: 23,6142 01151 XKEP
011272,000158: 23,6143 33151 STORE XKEP
011273,000159:
011274,000160: 23,6144 40576 ITCQ 0
011275,000161:
011276,000162:
011277,000163: # ITERATING EQUATIONS - GIVEN X IN MPAC AND 14D, FIND TIME OF FLIGHT.
011278,000164:
011279,000165:
011280,000166:
011281,000167: 23,6145 47571 KTIMEN+1 NOLOD 5 # FORM ALPHA X-SQUARED AND CALL S AND C.
011282,000168: 23,6146 51031 DSQ ROUND
011283,000169: 23,6147 64716 DMP TSLT
011284,000170: 23,6150 46555 ROUND LXA,1 # AND SET PD INDICATOR TO 16 AS WELL.
011285,000171: 23,6151 63535 INCR,1 SXA,1
011286,000172: 23,6152 45572 ITA ITC
011287,000173: 23,6153 00013 10D # ALPHA
011288,000174: 23,6154 00003 2DEL
011289,000175: 23,6155 00070 FIXLOC
011290,000176: 23,6156 00021 16D
011291,000177: 23,6157 00124 PUSHLOC
011292,000178: 23,6160 01273 GMODE
011293,000179: 23,6161 06311 S(X)C(X)
011294,000180:
011295,000181: 23,6162 47572 NOLOD 4 # S RETURNS IN MPAC, C ON TOP OF PDL.
011296,000182: 23,6163 64716 DMP TSLT
011297,000183: 23,6164 64716 DMP TSLT
011298,000184: 23,6165 64716 DMP TSLT
011299,000185: 23,6166 46576 ROUND
011300,000186: 23,6167 01151 XKEP
011301,000187: 23,6170 00005 4
011302,000188: 23,6171 01151 XKEP
011303,000189: 23,6172 00002 E +1
011304,000190: 23,6173 01151 XKEP
011305,000191: 23,6174 00002 1
011306,000192: 23,6175 32030 STORE 23D # A3.
011307,000193:
011308,000194: 23,6176 47575 NOLOD 1
011309,000195: 23,6177 55776 DMPR
011310,000196: 23,6200 00011 8D
011311,000197:
011312,000198: 23,6201 64774 DMP 2
011313,000199: 23,6202 63722 TSLT DMP
011314,000200: 23,6203 63631 TSLT ROUND
011315,000201: 23,6204 01151 XKEP
011316,000202: 23,6205 00021 16D # VALUE OF C.
011317,000203: 23,6206 00006 5
011318,000204: 23,6207 01151 XKEP
011319,000205: 23,6210 00003 E +2
011320,000206: 23,6211 32026 STORE 21D # A2.
011321,000207:
011322,000208: 23,6212 47574 NOLOD 2
011323,000209: 23,6213 64672 DMP TSRT
011324,000210: 23,6214 46542 ROUND DAD
011325,000211: 23,6215 00015 12D # A1.
011326,000212: 23,6216 00002 1
011327,000213: 23,6217 55775 DMPR 1
011328,000214: 23,6220 70776 DAD
011329,000215: 23,6221 00007 6
011330,000216: 23,6222 01151 XKEP # COMPUTED TIME TO PD+18.
011331,000217:
011332,000218: 23,6223 44576 ITCI 0
011333,000219: 23,6224 01273 GMODE
011334,000220:
011335,000221: 23,6225 47575 KEPLER3 NOLOD 1 # COMPARE COMPUTED TIME WITH GIVEN TIME.
011336,000222: 23,6226 65776 BDSU
011337,000223: 23,6227 01261 GIVENT
011338,000224: 23,6230 32021 STORE 16D # DIFFERENCE TO REGISTER 16.
011339,000225:
011340,000226: 23,6231 77576 EXIT 0 # FOR DUMP ONLY **************
011341,000227: 23,6232 04000 DUMPDUMP TC INTPRET
011342,000228:
011343,000229: 23,6233 47573 NOLOD 3
011344,000230: 23,6234 65132 ABS DSU
011345,000231: 23,6235 73641 BMN TIX,2
011346,000232: 23,6236 76776 ITC
011347,000233: 23,6237 06277 KEPSILON # SEE IF WITHIN EPSILON OF GIVEN TIME.
011348,000234: 23,6240 06406 GETRANDV # IF SO, GET R AND V AND EXIT.
011349,000235:
011350,000236: 23,6241 06244 GETNEWX
011351,000237: 23,6242 06406 GETRANDV
011352,000238:
011353,000239: 23,6243 64773 GETNEWX DMP 3
011354,000240: 23,6244 63631 TSLT ROUND
011355,000241: 23,6245 65722 BDSU DMP
011356,000242: 23,6246 63631 TSLT ROUND
011357,000243: 23,6247 00013 10D # ALPHA
011358,000244: 23,6250 00030 23D # A3
011359,000245: 23,6251 00003 2DEL+E
011360,000246: 23,6252 01151 XKEP
011361,000247: 23,6253 00015 12D # A1
011362,000248: 23,6254 00005 E -4
011363,000249: 23,6255 32023 STORE 18D
011364,000250:
011365,000251: 23,6256 64774 DMP 2
011366,000252: 23,6257 63631 TSLT ROUND
011367,000253: 23,6260 70742 DAD DAD
011368,000254: 23,6261 00026 21D # A2
011369,000255: 23,6262 00011 8D # A4
011370,000256: 23,6263 00002 1
011371,000257: 23,6264 77777 -
011372,000258: 23,6265 00007 6 # R0
011373,000259:
011374,000260: 23,6266 62775 DDV 1
011375,000261: 23,6267 70776 DAD
011376,000262: 23,6270 00021 16D
011377,000263: 23,6271 00023 18D
011378,000264: 23,6272 01151 XKEP
011379,000265: 23,6273 33151 STORE XKEP
011380,000266:
011381,000267: 23,6274 76776 ITC 0
011382,000268: 23,6275 06032 GETKTIME
011383,000269:
011384,000270:
011385,000271: # CONSTANTS.
011386,000272:
011387,000273: 23,6276 00000 KEPSILON OCT 00000
011388,000274: 23,6277 00002 OCT 00002
011389,000275: 23,6300 14000 00000 THREE/8 2DEC .375
011390,000276: 23,6302 10000 00000 DP1/4 2DEC .25
011391,000277: 23,6304 12525 12525 DP1/3 2DEC .333333333
011392,000278: 23,6306 23,6302 DQUARTER EQUALS DP1/4
011393,000279: 23,6306 02000 00000 POS1/16 2DEC .0625
011394,000280: 23,6310 23,6302 POS1/4 EQUALS DP1/4
011395,000281: 23,6310 23,6300 3/8 EQUALS THREE/8
011396,000282:
011397,000283:
011398,000284: # SUBROUTINE FOR COMPUTING THE UNIVERSAL CONIC FUNCTIONS S(X) AND C(X). THE ACTUAL OUTPUT OF THIS ROUTINE
011399,000285: # CONSISTS OF SCALED VERSIONS DEFINED AS FOLLOWS:
011400,000286:
011401,000287: # S (X) = S(64X) C (X) = C(64X)/4
011402,000288: # S S
011403,000289:
011404,000290: # IT IS ASSUMED THAT THE INPUT ARRIVES IN MPAC,MPAC+1, AND THAT IT LIES BETWEEN -30/64 AND 40/64. UPON
011405,000291: # EXIT, S(X) WILL BE LEFT IN MPAC,MPAC+1 AND C(X) ON TOP OF THE PUSHDOWN LIST.
011406,000292:
011407,000293:
011408,000294:
011409,000295: 23,6310 47576 S(X)C(X) NOLOD 0 # SAVE ARGUMENT
011410,000296: 23,6311 32033 STORE XSTOREX
011411,000297:
011412,000298: 23,6312 47574 NOLOD 2 # 2
011413,000299: 23,6313 76443 RTB DSQ # COMPUTE A (X)
011414,000300: 23,6314 46576 ROUND
011415,000301: 23,6315 06350 A(X)
011416,000302: 23,6316 32031 STORE ASQ
011417,000303:
011418,000304: 23,6317 47573 NOLOD 3 # 2 2
011419,000305: 23,6320 64716 DMP TSLT # C (X)=A (.25 - 2XA ) TO PUSHDOWN LIST
011420,000306: 23,6321 46526 ROUND BDSU # S
011421,000307: 23,6322 55776 DMPR
011422,000308: 23,6323 00033 XSTOREX
011423,000309: 23,6324 00002 1
011424,000310: 23,6325 06303 POS1/4
011425,000311: 23,6326 00031 ASQ
011426,000312:
011427,000313: 23,6327 56775 TSRT 1 # 2
011428,000314: 23,6330 46576 ROUND # A /4 TO PUSHDOWN LIST
011429,000315: 23,6331 00031 ASQ
011430,000316: 23,6332 00003 2
011431,000317:
011432,000318: 23,6333 45174 DMOVE 2 # 2
011433,000319: 23,6334 76443 RTB DSQ # B TO PUSHDOWN LIST
011434,000320: 23,6335 46576 ROUND
011435,000321: 23,6336 00033 XSTOREX
011436,000322: 23,6337 06367 B(X)
011437,000323:
011438,000324: 23,6340 55774 DMPR 2 # 2 2 2
011439,000325: 23,6341 65666 BDSU DMPR # LEAVE S (X)=B (.0625-A X)+A /4 IN MPAC
011440,000326: 23,6342 70601 DAD ITCQ # S
011441,000327: 23,6343 00033 XSTOREX
011442,000328: 23,6344 00031 ASQ
011443,000329: 23,6345 06307 POS1/16
011444,000330:
011445,000331: 23,6346 XSTOREX = 26D
011446,000332: 23,6346 ASQ = 24D
011447,000333: 23,6346 70707 OCT 70707 # THIS HAS TO BE NEGATIVE TO TERMINATE EQN
011448,000334:
011449,000335:
011450,000336: 23,6347 05554 A(X) TC POLY # A AND B POLYNOMIALS WHOSE COEFFICI-
011451,000337:
011452,000338: 23,6350 00012 DEC 10 B-14 # ENTS WERE OBTAINED WITH THE *AUTO-
011453,000339:
011454,000340: 23,6351 26501 07463 2DEC 7.071067810 E-1 # CURVEFIT* PROGRAM
011455,000341: 23,6353 60724 60210 2DEC -4.714045180 E-1
011456,000342: 23,6355 03010 26256 2DEC 9.42808914 E-2
011457,000343: 23,6357 77554 74242 2DEC -8.9791893 E-3
011458,000344: 23,6361 00010 05475 2DEC 4.989987 E-4
011459,000345: 23,6363 77777 66460 2DEC -1.79357 E-5
011460,000346:
011461,000347: 23,6365 04024 TC DANZIG # RE-ENTER INTERPRETER
011462,000348:
011463,000349:
011464,000350:
011465,000351: 23,6366 05554 B(X) TC POLY
011466,000352:
011467,000353: 23,6367 00012 DEC 10 B-14
011468,000354:
011469,000355: 23,6370 32101 17270 2DEC 8.164965793 E-1
011470,000356: 23,6372 65431 40174 2DEC -3.265986572 E-1
011471,000357: 23,6374 01710 10660 2DEC 5.90988980 E-2
011472,000358: 23,6376 77676 52270 2DEC -4.0085592 E-3
011473,000359: 23,6400 00004 21652 2DEC 2.781528 E-4
011474,000360: 23,6402 77777 71323 2DEC -1.25610 E-5
011475,000361:
011476,000362: 23,6404 04024 TC DANZIG # RETURN AS BEFORE
011477,000363:
011478,000364:
011479,000365: # ROUTINE FOR OBTAINING R AND V, NOW THAT THE PROPER X HAS BEEN FOUND.
011480,000366:
011481,000367:
011482,000368:
011483,000369: 23,6405 73574 GETRANDV LXA,1 2
011484,000370: 23,6406 63535 INCR,1 SXA,1
011485,000371: 23,6407 47166 COMP VXSC
011486,000372: 23,6410 00070 FIXLOC
011487,000373: 23,6411 00032 25D
011488,000374: 23,6412 00124 PUSHLOC
011489,000375: 23,6413 00026 21D # AZ FROM LAST ITERATION.
011490,000376: 23,6414 00001 0 # UNIT OF GIVEN POSITION VECTOR.
011491,000377:
011492,000378: 23,6415 66774 DSU 2
011493,000379: 23,6416 63766 TSLT VXSC
011494,000380: 23,6417 50622 VAD VSLT
011495,000381: 23,6420 00023 18D # LAST VALUE OF T.
011496,000382: 23,6421 00030 23D # LAST VALUE OF A3.
011497,000383: 23,6422 00003 DEL +1
011498,000384: 23,6423 01107 VRECT
011499,000385: 23,6424 77777 -
011500,000386: 23,6425 00002 1
011501,000387:
011502,000388: 23,6426 47575 NOLOD 1 # ADDITION MUST BE DONE IN THIS ORDER.
011503,000389: 23,6427 50642 VAD VAD
011504,000390: 23,6430 01101 RRECT
011505,000391: 23,6431 33131 STORE FOUNDR # RESULTING CONIC POSITION.
011506,000392:
011507,000393: 23,6432 47575 NOLOD 1 # LENGTH OF ABOVE TO PD+16.
011508,000394: 23,6433 71116 ABVAL TSLT
011509,000395: 23,6434 00002 1
011510,000396: 23,6435 32021 STORE 16D
011511,000397:
011512,000398: 23,6436 64773 DMP 3
011513,000399: 23,6437 63631 TSLT ROUND
011514,000400: 23,6440 66712 DSU DDV
011515,000401: 23,6441 75622 VXSC VSLT
011516,000402: 23,6442 00013 10D # ALPHA.
011517,000403: 23,6443 00030 23D # A3
011518,000404: 23,6444 00003 2DEL+E
011519,000405: 23,6445 01151 XKEP
011520,000406: 23,6446 00021 16D # LENGTH OF FOUND POSITION.
011521,000407: 23,6447 00001 0 # UNIT OF RECTIFICATION POSITION.
011522,000408: 23,6450 00003 2
011523,000409: 23,6451 56773 TSRT 3
011524,000410: 23,6452 66712 DSU DDV
011525,000411: 23,6453 75642 VXSC VAD
011526,000412: 23,6454 44776 VSLT
011527,000413: 23,6455 00021 16D
011528,000414: 23,6456 00002 1
011529,000415: 23,6457 00026 21D
011530,000416: 23,6460 00021 16D
011531,000417: 23,6461 01107 VRECT
011532,000418: 23,6462 77777 -
011533,000419: 23,6463 00002 1
011534,000420: 23,6464 33137 STORE FOUNDV # THIS COMPLETES THE CALCULATION.
011535,000421:
011536,000422: 23,6465 44576 ITCI 0
011537,000423: 23,6466 01272 HBRANCH
011538,000424:
011539,000425:
011540,000426: # THE POSTRUE ROUTINES SET UP THE BETA VECTOR AND OTHER INITIAL CONDITIONS FOR THE NEXT ACCOMP.
011541,000427:
011542,000428:
011543,000429:
011544,000430: 23,6467 73571 POSTRUE LXA,1 5
011545,000431: 23,6470 67475 SXA,1 XSU,1
011546,000432: 23,6471 75024 VMOVE VSRT*
011547,000433: 23,6472 50751 VAD LXA,2
011548,000434: 23,6473 73535 LXA,1 SXA,1
011549,000435: 23,6474 75535 AXT,1 SXA,1
011550,000436: 23,6475 01312 SCALDELT # SETS UP SCALE A.
011551,000437: 23,6476 01307 SCALEA
011552,000438: 23,6477 01313 SCALER
011553,000439: 23,6500 01153 ALPHAV
011554,000440: 23,6501 00001 0,1
011555,000441: 23,6502 01131 RCV # POSITION OUTPUT OF KEPLER.
011556,000442: 23,6503 01306 DIFEQCNT
011557,000443: 23,6504 01313 SCALER
011558,000444: 23,6505 01310 SCALEB # SET UP SCALE B AND G MODE.
011559,000445: 23,6506 00003 2
011560,000446: 23,6507 01273 GMODE
011561,000447: 23,6510 33161 STORE BETAV
011562,000448:
011563,000449: 23,6511 67776 BHIZ 0
011564,000450: 23,6512 01304 WMATFLAG # TEST W MATRIX FLAG.
011565,000451: 23,6513 06520 ACCOMP
011566,000452:
011567,000453: 23,6514 75176 VMOVE 0
011568,000454: 23,6515 01161 BETAV
011569,000455: 23,6516 36422 STORE VECTAB,2 # SAVE R/PV IN VECTAB FOR W MATRIX UPDATE.
011570,000456:
011571,000457:
011572,000458: # AGC ROUTINE TO COMPUTE ACCELERATION COMPONENTS.
011573,000459:
011574,000460:
011575,000461:
011576,000462: 23,6517 73176 ACCOMP UNIT 0 # UNITIZE ALPHA VECTOR
011577,000463: 23,6520 01153 ALPHAV
011578,000464: 23,6521 33153 STORE ALPHAV
011579,000465:
011580,000466: 23,6522 45176 DMOVE 0 # SAVE LENGTH OF ALPHA VECTOR
011581,000467: 23,6523 00037 30D
011582,000468: 23,6524 33255 STORE ALPHAM
011583,000469:
011584,000470: 23,6525 47575 NOLOD 1
011585,000471: 23,6526 71776 BOV
011586,000472: 23,6527 06531 ACCOMP2
011587,000473:
011588,000474: 23,6530 45773 ACCOMP2 VSRT 3 # 2
011589,000475: 23,6531 67155 VSQ LXA,1 # NORMED B TO PD.
011590,000476: 23,6532 67476 SXA,1 TSLC
011591,000477: 23,6533 46576 ROUND
011592,000478: 23,6534 01161 BETAV
011593,000479: 23,6535 00002 1
011594,000480: 23,6536 00070 FIXLOC
011595,000481: 23,6537 00124 PUSHLOC
011596,000482: 23,6540 00051 S1
011597,000483:
011598,000484: 23,6541 57775 TSLC 1 # NORMALIZE (LESS ONE) LENGTH OF ALPHA
011599,000485: 23,6542 56776 TSRT # SAVING NORM. SCALE FACTOR IN X1
011600,000486: 23,6543 01255 ALPHAM
011601,000487: 23,6544 00047 X1
011602,000488: 23,6545 00002 1 # C(PDL+2)= ALMOST NORMED ALPHAM
011603,000489:
011604,000490: 23,6546 73176 UNIT 0 # SAME PROCEDURE FOR BETA VECTOR
011605,000491: 23,6547 01161 BETAV
011606,000492: 23,6550 33161 STORE BETAV
011607,000493:
011608,000494: 23,6551 45176 DMOVE 0
011609,000495: 23,6552 00037 30D
011610,000496: 23,6553 33257 STORE BETAM
011611,000497:
011612,000498: 23,6554 47574 NOLOD 2
011613,000499: 23,6555 57706 TSLC BDDV # FORM NORMALIZED QUOTIENT ALPHAM/BETAM
011614,000500: 23,6556 56631 TSRT ROUND
011615,000501: 23,6557 00050 X2
011616,000502: 23,6560 77777 -
011617,000503: 23,6561 00002 1 # C(PDL +2) = ALMOST NORMALIZED RHO.
011618,000504: 23,6562 70573 LXC,2 3 # C(X2) = -SCALE(RHO) + 1.
011619,000505: 23,6563 60501 XAD,2 XAD,2 # = -S(B)-N(B)+S(A)+N(A)+1
011620,000506: 23,6564 56511 XSU,2 INCR,2
011621,000507: 23,6565 47470 NOLOD TSRT*
011622,000508: 23,6566 00050 X2
011623,000509: 23,6567 01307 SCALEA
011624,000510: 23,6570 00047 X1
011625,000511: 23,6571 01310 SCALEB
011626,000512: 23,6572 00003 2
011627,000513: 23,6573 00002 0,2
011628,000514:
011629,000515: 23,6574 47575 NOLOD 1 # RHO/4 PD +6
011630,000516: 23,6575 56631 TSRT ROUND
011631,000517: 23,6576 00003 2
011632,000518:
011633,000519: 23,6577 42774 DOT 2
011634,000520: 23,6600 63631 TSLT ROUND # (RHO/4)- 2 (ALPHAV/2.BETAV/2)
011635,000521: 23,6601 65776 BDSU # TO PDL +6
011636,000522: 23,6602 01153 ALPHAV
011637,000523: 23,6603 01161 BETAV
011638,000524: 23,6604 00002 1
011639,000525:
011640,000526: 23,6605 47575 NOLOD 1 # Q/4 = RHO(C(PDL +4)) TO PD +8D
011641,000527: 23,6606 55776 DMPR
011642,000528: 23,6607 00005 4
011643,000529:
011644,000530: 23,6610 47575 NOLOD 1 # (Q + 1)/4 TO PD +10D.
011645,000531: 23,6611 70776 DAD
011646,000532: 23,6612 06303 DQUARTER
011647,000533:
011648,000534: 23,6613 47575 NOLOD 1 # 3/2
011649,000535: 23,6614 53066 SQRT DMPR # ((Q + 1)/4) TO PD +12D.
011650,000536: 23,6615 00013 10D
011651,000537:
011652,000538: 23,6616 47575 NOLOD 1 # 3/2
011653,000539: 23,6617 63742 TSLT DAD # (1/4) + 2((Q + 1)/4) TO PD +14D.
011654,000540: 23,6620 00002 1
011655,000541: 23,6621 06303 DQUARTER
011656,000542: 23,6622 70773 DAD 3 # -
011657,000543: 23,6623 55716 DMPR TSLT # (G/2)(C(PD +4))B/2 TO PD +16D.
011658,000544: 23,6624 70712 DAD DDV
011659,000545: 23,6625 55766 DMPR VXSC
011660,000546: 23,6626 00013 10D
011661,000547: 23,6627 07506 DP1/2
011662,000548: 23,6630 00011 8D
011663,000549: 23,6631 00002 1
011664,000550: 23,6632 06301 THREE/8
011665,000551: 23,6633 00017 14D
011666,000552: 23,6634 00007 6
011667,000553: 23,6635 01161 BETAV
011668,000554:
011669,000555: 23,6636 45775 VSRT 1 # A12 + C(PD +16D) TO PD +16D.
011670,000556: 23,6637 50776 VAD
011671,000557: 23,6640 01153 ALPHAV
011672,000558: 23,6641 00004 3
011673,000559:
011674,000560: 23,6642 64771 DMP 5 # -
011675,000561: 23,6643 57631 TSLC ROUND # GAMMA TO PD +22D, -SCALE(GAMMA)-1 TO
011676,000562: 23,6644 61745 BDDV LXC,1 # X1.
011677,000563: 23,6645 61505 XAD,1 XAD,1
011678,000564: 23,6646 61505 XAD,1 XAD,1
011679,000565: 23,6647 47166 COMP VXSC
011680,000566: 23,6650 00001 0
011681,000567: 23,6651 00015 12D
011682,000568: 23,6652 00052 S2
011683,000569: 23,6653 00003 2
011684,000570: 23,6654 00050 X2 # C(X2) = SCALE (RHO).
011685,000571: 23,6655 00052 S2 # C(S2) = N((B.B/4)(...)3/2)
011686,000572: 23,6656 00051 S1 # C(S1) = N(B.B/4)
011687,000573: 23,6657 01310 SCALEB
011688,000574: 23,6660 01310 SCALEB
011689,000575: 23,6661 00021 16D # RESULT OF PRECEDING EQUATION.
011690,000576:
011691,000577: 23,6662 77576 EXIT 0
011692,000578:
011693,000579: 23,6663 11272 CCS GMODE
011694,000580: 23,6664 31272 XCH GMODE
011695,000581: 23,6665 20000 INDEX A
011696,000582: 23,6666 06667 TC +1
011697,000583: 23,6667 06754 TC GMODE10
011698,000584: 23,6670 06732 TC GMODE11
011699,000585:
011700,000586: # THE GMODE12 ROUTINE SETS UP THE SECONDARY BODY DISTURBING ACCELERATION FOR ACCOMP.
011701,000587: 23,6671 04000 GMODE12 TC INTPRET
011702,000588: 23,6672 47575 NOLOD 1 # -SCALE(GAMMA)-1 IS LEFT IN X1.
011703,000589: 23,6673 44376 VSLT* # ADJUST GAMMA TO SCALE OF -32.
011704,000590: 23,6674 00077 31D,1
011705,000591: 23,6675 33203 STORE FV
011706,000592:
011707,000593: 23,6676 75176 VMOVE 0
011708,000594: 23,6677 01161 BETAV
011709,000595: 23,6700 33153 STORE ALPHAV # BETA VECTOR INTO ALPHA FOR NEXT ACCOMP.
011710,000596:
011711,000597: 23,6701 45176 DMOVE 0
011712,000598: 23,6702 01257 BETAM
011713,000599: 23,6703 33255 STORE ALPHAM
011714,000600:
011715,000601: 23,6704 43576 TEST 0
011716,000602: 23,6705 00003 MIDFLAG
011717,000603: 23,6706 06763 OBLATEST
011718,000604:
011719,000605: 23,6707 76776 ITC 0
011720,000606: 23,6710 07450 MOONPOS
011721,000607:
011722,000608: 23,6711 47576 NOLOD 0
011723,000609: 23,6712 33161 STORE BETAV # MOON(EARTH) POSITION WILL BE BETA NEXT
011724,000610:
011725,000611: 23,6713 67776 BHIZ 0
011726,000612: 23,6714 01304 WMATFLAG
011727,000613: 23,6715 06724 SETSCALE
011728,000614:
011729,000615: 23,6716 75175 VMOVE 1
011730,000616: 23,6717 73576 LXA,1
011731,000617: 23,6720 01161 BETAV
011732,000618: 23,6721 01306 DIFEQCNT # SAVE R/QV IN VECTAB FOR W-MATRIX UPDATE
011733,000619: 23,6722 36435 STORE VECTAB +6,1
011734,000620:
011735,000621: 23,6723 74574 SETSCALE AXT,2 2 # SETUP ALPHAM AND SCALEA
011736,000622: 23,6724 64531 XCHX,2 SXA,2
011737,000623: 23,6725 76776 ITC
011738,000624: 23,6726 00024 19D # SCALE FOR R/QV
011739,000625: 23,6727 01310 SCALEB # SWAP SCALEB AND X2
011740,000626: 23,6730 01307 SCALEA
011741,000627: 23,6731 06531 ACCOMP2 # ENTRY IF UNIT(ALPHAV) AVAILABLE
011742,000628:
011743,000629: # THE GMODE11 ROUTINE SETS UP THE SUNS DISTURBING ACCELERATION.
011744,000630:
011745,000631: 23,6732 04000 GMODE11 TC INTPRET
011746,000632: 23,6733 70575 LXC,2 1 # SET X2 TO TABLE OF PROPER CONSTANTS
011747,000633: 23,6734 76776 ITC
011748,000634: 23,6735 01040 PBODY
011749,000635: 23,6736 07113 ADDTOFV
011750,000636:
011751,000637: 23,6737 76776 ITC 0 # BARICENTER-TO-SUN POSITION VECTOR.
011752,000638: 23,6740 07453 SUNPOS # LEAVES VECTOR IN PDL
011753,000639:
011754,000640: 23,6741 73575 LXA,1 1 # COMPUTE R/PS USING CORRECT TABLE FOR
011755,000641: 23,6742 75242 VXSC* VAD # MASS RATIO, ETC.
011756,000642: 23,6743 01306 DIFEQCNT
011757,000643: 23,6744 02435 VECTAB +6,1 # USE SCALAR AT ENTRY 6 IN THE TABLE
011758,000644: 23,6745 00016 13D
011759,000645: 23,6746 33161 STORE BETAV
011760,000646:
011761,000647: 23,6747 75575 AXT,1 1
011762,000648: 23,6750 67572 SXA,1 ITC
011763,000649: 23,6751 00035 28D
011764,000650: 23,6752 01310 SCALEB # SET SCALEB AND RETURN TO ACCOMP
011765,000651: 23,6753 06531 ACCOMP2
011766,000652:
011767,000653: # THE GMODE10 ROUTINE ADDS IN THE SUNS PERTURBING ACCELERATION AND COMPUTES THE OBLATENESS CONTRIBUTION
011768,000654: 23,6754 04000 GMODE10 TC INTPRET
011769,000655: 23,6755 70575 LXC,2 1
011770,000656: 23,6756 62572 INCR,2 ITC
011771,000657: 23,6757 01040 PBODY
011772,000658: 23,6760 77775 -3
011773,000659: 23,6761 07113 ADDTOFV
011774,000660:
011775,000661: 23,6762 43576 OBLATEST TEST 0
011776,000662: 23,6763 00004 MOONFLAG
011777,000663: 23,6764 06770 OBLATE
011778,000664:
011779,000665: 23,6765 76776 ITC 0
011780,000666: 23,6766 07107 NBRANCH
011781,000667:
011782,000668:
011783,000669: # THE OBLATE ROUTINE COMPUTES THE ACCELERATION DUE THE THE EARTHS OBLATENESS. IT USES THE UNIT OF THE
011784,000670: # VEHICLE POSITION VECTOR FOUND IN ALPHAV AND THE DISTANCE TO THE CENTER OF THE EARTH IN ALPHAM. THIS IS ADDED TO
011785,000671: # THE SUM OF THE DISTURBING ACCELERATIONS IN FV AND THE PROPER DIFEQ STAGE IS CALLED VIA X1.
011786,000672:
011787,000673:
011788,000674:
011789,000675: 23,6767 73575 OBLATE LXA,1 1
011790,000676: 23,6770 67516 SXA,1 TSLT
011791,000677: 23,6771 00070 FIXLOC # SET PUSH-DOWN COUNTER TO ZERO.
011792,000678: 23,6772 00124 PUSHLOC
011793,000679: 23,6773 01255 ALPHAM
011794,000680: 23,6774 00002 1
011795,000681: 23,6775 33255 STORE ALPHAM
011796,000682:
011797,000683: 23,6776 55776 DMPR 0 # P2'/8 TO REGISTER 0.
011798,000684: 23,6777 01157 ALPHAV +4 # Z COMPONENT OF POSITION IS COS PHI.
011799,000685: 23,7000 07476 3/4
011800,000686:
011801,000687: 23,7001 51174 DSQ 2 # P3'/4 TO REGISTER 2.
011802,000688: 23,7002 63666 TSLT DMPR
011803,000689: 23,7003 66776 DSU
011804,000690: 23,7004 01157 ALPHAV +4
011805,000691: 23,7005 00004 3
011806,000692: 23,7006 07474 15/16
011807,000693: 23,7007 06301 3/8
011808,000694:
011809,000695: 23,7010 47574 NOLOD 2 # P4'/16 TO REGISTER 4.
011810,000696: 23,7011 55666 DMPR DMPR
011811,000697: 23,7012 63776 TSLT
011812,000698: 23,7013 01157 ALPHAV +4
011813,000699: 23,7014 07230 7/12
011814,000700: 23,7015 00002 1 # TO STACK.
011815,000701:
011816,000702: 23,7016 55775 DMPR 1 # FINISH P4'/16.
011817,000703: 23,7017 65776 BDSU
011818,000704: 23,7020 00001 P2'/8
011819,000705: 23,7021 07250 2/3
011820,000706:
011821,000707: 23,7022 47575 NOLOD 1 # BEGIN COMPUTING P5'/128.
011822,000708: 23,7023 55666 DMPR DMPR
011823,000709: 23,7024 01157 ALPHAV +4
011824,000710: 23,7025 07232 9/16
011825,000711: 23,7026 55771 DMPR 5 # FINISH P5'/128 AND TERM USING UNIT
011826,000712: 23,7027 65722 BDSU DMP # POSITION VECTOR AT ALPHA.
011827,000713: 23,7030 63712 TSLT DDV
011828,000714: 23,7031 70666 DAD DMPR
011829,000715: 23,7032 62742 DDV DAD
011830,000716: 23,7033 75776 VXSC
011831,000717: 23,7034 00003 P3'/4
011832,000718: 23,7035 07234 5/128
011833,000719: 23,7036 77777 -
011834,000720: 23,7037 07504 J4REQ/J3
011835,000721: 23,7040 00003 2
011836,000722: 23,7041 01255 ALPHAM
011837,000723: 23,7042 00005 P4'/16
011838,000724: 23,7043 07502 2J3RE/J2
011839,000725: 23,7044 01255 ALPHAM
011840,000726: 23,7045 00003 P3'/4
011841,000727: 23,7046 01153 ALPHAV
011842,000728: 23,7047 33153 STORE ALPHAV
011843,000729:
011844,000730: 23,7050 64774 DMP 2 # COMPUTE TERM USING IZ.
011845,000731: 23,7051 63712 TSLT DDV
011846,000732: 23,7052 70776 DAD
011847,000733: 23,7053 07504 J4REQ/J3
011848,000734: 23,7054 77777 -
011849,000735: 23,7055 00002 1
011850,000736: 23,7056 01255 ALPHAM
011851,000737: 23,7057 56774 TSRT 2
011852,000738: 23,7060 55712 DMPR DDV
011853,000739: 23,7061 70726 DAD BDSU
011854,000740: 23,7062 07502 2J3RE/J2
011855,000741: 23,7063 00004 RSCALE -11D
011856,000742: 23,7064 77777 -
011857,000743: 23,7065 01255 ALPHAM
011858,000744: 23,7066 77777 -
011859,000745: 23,7067 01157 ALPHAV +4
011860,000746: 23,7070 33157 STORE ALPHAV +4
011861,000747:
011862,000748: 23,7071 51172 DSQ 4
011863,000749: 23,7072 51076 DSQ TSLC
011864,000750: 23,7073 61766 BDDV VXSC
011865,000751: 23,7074 63420 INCR,1 VSLT* # SHIFTS LEFT ON+, RIGHT ON -.
011866,000752: 23,7075 50776 VAD
011867,000753: 23,7076 01255 ALPHAM
011868,000754: 23,7077 00047 X1
011869,000755: 23,7100 07500 J2REQSQ
011870,000756: 23,7101 01153 ALPHAV
011871,000757: 23,7102 00005 4RSCALE -52D
011872,000758: 23,7103 00001 0,1
011873,000759: 23,7104 01203 FV
011874,000760: 23,7105 33203 STORE FV
011875,000761:
011876,000762: 23,7106 73575 NBRANCH LXA,1 1
011877,000763: 23,7107 76376 ITC*
011878,000764: 23,7110 01306 DIFEQCNT
011879,000765: 23,7111 16443 DIFEQ,1
011880,000766:
011881,000767: 23,7112 44176 ADDTOFV DMOVE* 0 # SETS UP S1 AND S2 PER PRIMARY BODY TABLE
011882,000768: 23,7113 00002 0,2
011883,000769: 23,7114 32051 STORE S1
011884,000770:
011885,000771: 23,7115 61574 XAD,1 2
011886,000772: 23,7116 75164 VMOVE VXSC*
011887,000773: 23,7117 44242 VSLT* VAD
011888,000774: 23,7120 00051 S1
011889,000775: 23,7121 00027 22D
011890,000776: 23,7122 00004 1,2
011891,000777: 23,7123 00077 31D,1
011892,000778: 23,7124 01203 FV
011893,000779: 23,7125 33203 STORE FV
011894,000780:
011895,000781: 23,7126 40576 ITCQ 0
011896,000782:
011897,000783: 23,7127 00000 OCT 0
011898,000784:
011899,000785: # BEGIN INTEGRATION STEP WITH RECTIFICATION TEST.
011900,000786:
011901,000787:
011902,000788:
011903,000789: 23,7130 71174 TIMESTEP ABVAL 2 # RECTIFICATION REQUIRED IF THE LENGTH OF
011904,000790: 23,7131 66756 DSU BMN # DELTA IS GREATER THAN .5 (8 KM).
011905,000791: 23,7132 76776 ITC
011906,000792: 23,7133 01115 YV
011907,000793: 23,7134 06303 DP1/4
011908,000794: 23,7135 07140 INTGRATE
011909,000795: 23,7136 07165 RECTIFY # CALL RECTIFICATION SUBROUTINE.
011910,000796:
011911,000797: 23,7137 75573 INTGRATE AXT,1 3 # INITIALIZE INDEXES AND SWITCHES.
011912,000798: 23,7140 67565 SXA,1 AXT,1
011913,000799: 23,7141 67415 SXA,1 TEST
011914,000800: 23,7142 42576 SWITCH
011915,000801: 23,7143 06001 FBR3
011916,000802: 23,7144 01271 FBRANCH # EXIT FROM DIFEQCOM
011917,000803: 23,7145 06470 POSTRUE
011918,000804: 23,7146 01272 HBRANCH # EXIT FROM KEPLER.
011919,000805: 23,7147 00002 JSWITCH # 0 FOR STATE VECTOR, 1 FOR W MATRIX.
011920,000806: 23,7150 07153 +2 # TURN IT OFF HERE.
011921,000807: 23,7151 00002 JSWITCH
011922,000808:
011923,000809:
011924,000810: 23,7152 75176 DIFEQ0 VMOVE 0 # POSITION DEVIATION INTO ALPHA.
011925,000811: 23,7153 01115 YV
011926,000812: 23,7154 33153 STORE ALPHAV
011927,000813:
011928,000814: 23,7155 45176 DMOVE 0 # START H AT 0.
011929,000815: 23,7156 07246 DPZERO
011930,000816: 23,7157 33265 STORE H # GOES 0(DELT/2)DELT.
011931,000817:
011932,000818: 23,7160 47576 NOLOD 0 # ZERO DIFEQCNT AND REGISTER FOLLOWING.
011933,000819: 23,7161 33306 STORE DIFEQCNT # GOES 0(-12D)(-24D).
011934,000820:
011935,000821: 23,7162 44576 ITCI 0 # BEGIN AT ADDRESS IN HBRANCH.
011936,000822: 23,7163 01272 HBRANCH
011937,000823:
011938,000824:
011939,000825: # THE RECTIFY SUBROUTINE IS CALLED BY THE INTEGRATION PROGRAM (AND OCCASIONALLY BY THE MEASUREMENT
011940,000826: # INCORPORATION ROUTINES) TO ESTABLISH A NEW CONIC.
011941,000827:
011942,000828:
011943,000829:
011944,000830: 23,7164 45775 RECTIFY VSRT 1 # RECTIFY - FORM TOTAL POSITION AND VEL.
011945,000831: 23,7165 50776 VAD # ADJUST SCALE DIFFERENCE (ASSUMED
011946,000832: 23,7166 01115 TDELTAV
011947,000833: 23,7167 00013 RSCALE -4
011948,000834: 23,7170 01131 RCV
011949,000835: 23,7171 33101 STORE RRECT
011950,000836:
011951,000837: 23,7172 47576 NOLOD 0 # SET UP CONIC 'ANSWER' FOR TIMESTEP.
011952,000838: 23,7173 33131 STORE RCV
011953,000839:
011954,000840: 23,7174 45775 VSRT 1
011955,000841: 23,7175 50776 VAD
011956,000842: 23,7176 01123 TNUV
011957,000843: 23,7177 00011 VSCALE -14D
011958,000844: 23,7200 01137 VCV
011959,000845: 23,7201 33107 STORE VRECT
011960,000846:
011961,000847: 23,7202 47576 NOLOD 0
011962,000848: 23,7203 33137 STORE VCV
011963,000849:
011964,000850: 23,7204 75575 AXT,1 1 # ZERO DELTA, NU, AND TIME SINCE RECTIFI-
011965,000851: 23,7205 55423 AST,1 DMOVE
011966,000852: 23,7206 00015 12D
011967,000853: 23,7207 00003 2
011968,000854: 23,7210 07246 DPZERO
011969,000855: 23,7211 33145 STORE TC
011970,000856:
011971,000857: 23,7212 47576 NOLOD 0
011972,000858: 23,7213 33151 STORE XKEP # ZERO X.
011973,000859:
011974,000860: 23,7214 47576 ZEROLOOP NOLOD 0 # INDEXES CAUSE LOOP TO ZERO 6 CONSECUTIVE
011975,000861: 23,7215 36261 STORE YV +12D,1 # DP NUMBERS (DELTA AND NU ARE ADJACENT).
011976,000862:
011977,000863: 23,7216 51575 TIX,1 1 # LOOP OR START INTEGRATION STEP IF DONE.
011978,000864: 23,7217 40576 ITCQ
011979,000865: 23,7220 07215 ZEROLOOP
011980,000866:
011981,000867:
011982,000868: # THE THREE DIFEQ ROUTINES - DIFEQ+0, DIFEQ+12, AND DIFEQ+24 - ARE ENTERED TO PROCESS THE CONTRIBUTIONS
011983,000869: # AT THE BEGINNING, MIDDLE, AND END OF THE TIME STEP, RESPECTIVELY. THE UPDATING IS DONE BY THE NYSTROM METHOD.
011984,000870:
011985,000871:
011986,000872:
011987,000873: 23,7221 45776 DIFEQ+0 VSRT 0
011988,000874: 23,7222 01203 FV
011989,000875: 23,7223 00004 3
011990,000876: 23,7224 33167 STORE PHIV
011991,000877:
011992,000878: 23,7225 76776 ITC 0
011993,000879: 23,7226 07373 DIFEQCOM
011994,000880:
011995,000881: 23,7227 22525 12525 7/12 2DEC .5833333333 # ENTRIES MUST BE 12 WORDS APART SO FILL
011996,000882: 23,7231 22000 00000 9/16 2DEC 9 B-4 # HOLES WITH CONSTANTS
011997,000883: 23,7233 01200 00000 5/128 2DEC 5 B-7
011998,000884:
011999,000885: 23,7235 45775 DIFEQ+12 VSRT 1
012000,000886: 23,7236 50776 VAD
012001,000887: 23,7237 01203 FV
012002,000888: 23,7240 00002 1
012003,000889: 23,7241 01167 PHIV
012004,000890: 23,7242 33175 STORE PSIV
012005,000891:
012006,000892: 23,7243 76776 ITC 0
012007,000893: 23,7244 07365 DIFEQCOM -6
012008,000894:
012009,000895: 23,7245 00000 00000 DPZERO 2DEC 0.0
012010,000896:
012011,000897: 23,7247 25252 25253 DP2/3 2DEC .6666666667
012012,000898:
012013,000899: 23,7251 75773 DIFEQ+24 VXSC 3 # DO FINAL CALCULATION FOR Y AND Z.
012014,000900: 23,7252 75622 VXSC VSLT
012015,000901: 23,7253 50766 VAD VXSC
012016,000902: 23,7254 50776 VAD
012017,000903: 23,7255 01167 PHIV
012018,000904: 23,7256 01265 H
012019,000905: 23,7257 07250 DP2/3
012020,000906: 23,7260 00002 1
012021,000907: 23,7261 01123 ZV
012022,000908: 23,7262 01265 H
012023,000909: 23,7263 01115 YV
012024,000910: 23,7264 33115 STORE YV
012025,000911: 23,7265 45772 VSRT 4
012026,000912: 23,7266 50766 VAD VXSC
012027,000913: 23,7267 75622 VXSC VSLT
012028,000914: 23,7270 50615 VAD TEST # SEE IF THIS IS STATE VECTOR OR W COLUMN.
012029,000915: 23,7271 75576 AXT,1
012030,000916: 23,7272 01203 FV
012031,000917: 23,7273 00004 3
012032,000918: 23,7274 01175 PSIV
012033,000919: 23,7275 01265 H
012034,000920: 23,7276 07250 DP2/3
012035,000921: 23,7277 00002 1
012036,000922: 23,7300 01123 ZV
012037,000923: 23,7301 00002 JSWITCH
012038,000924: 23,7302 07333 ENDSTATE
012039,000925: 23,7303 00001 0
012040,000926: 23,7304 37564 STORE W +72D,2 # VELOCITY COLUMN VECTOR.
012041,000927:
012042,000928: 23,7305 75176 VMOVE 0
012043,000929: 23,7306 01115 YV
012044,000930: 23,7307 37454 STORE W +36D,2 # POSITION COLUMN VECTOR.
012045,000931:
012046,000932: 23,7310 50576 TIX,2 0
012047,000933: 23,7311 07323 NEXTCOL
012048,000934:
012049,000935: 23,7312 75176 VMOVE 0
012050,000936: 23,7313 01002 DELTAV
012051,000937: 23,7314 33115 STORE TDELTAV
012052,000938:
012053,000939: 23,7315 75176 VMOVE 0
012054,000940: 23,7316 01010 NUV
012055,000941: 23,7317 33123 STORE TNUV
012056,000942:
012057,000943: 23,7320 44576 ITCI 0
012058,000944: 23,7321 01305 STEPEXIT
012059,000945:
012060,000946: 23,7322 74176 NEXTCOL VMOVE* 0 # SET UP NEXT COLUMNS OF W MATRIX.
012061,000947: 23,7323 03454 W +36D,2
012062,000948: 23,7324 33115 STORE YV
012063,000949:
012064,000950: 23,7325 74176 VMOVE* 0
012065,000951: 23,7326 03564 W +72D,2
012066,000952: 23,7327 33123 STORE ZV
012067,000953:
012068,000954: 23,7330 76776 ITC 0
012069,000955: 23,7331 07153 DIFEQ0
012070,000956:
012071,000957: 23,7332 47576 ENDSTATE NOLOD 0
012072,000958: 23,7333 33123 STORE TNUV
012073,000959: 23,7334 56775 TSRT 1 # UPDATE TIME SINCE RECTIFICATION.
012074,000960: 23,7335 46542 ROUND DAD
012075,000961: 23,7336 01265 H
012076,000962: 23,7337 00007 TSCALE -18D
012077,000963: 23,7340 01145 TC
012078,000964: 23,7341 33145 STORE TC
012079,000965:
012080,000966: 23,7342 67776 BHIZ 0
012081,000967: 23,7343 01304 WMATFLAG
012082,000968: 23,7344 07321 NEXTCOL -2
012083,000969:
012084,000970: 23,7345 76776 ITC 0
012085,000971: 23,7346 10335 DOMID16
012086,000972:
012087,000973: 23,7347 74572 SETWINT AXT,2 4 # SET UP W MATRIX EXTRAPOLATION ROUTINES.
012088,000974: 23,7350 54565 AST,2 AXT,1 # PROGRAM DESCRIPTION IS AT DOW.. .
012089,000975: 23,7351 67535 SXA,1 SXA,1
012090,000976: 23,7352 42565 SWITCH AXT,1
012091,000977: 23,7353 76776 ITC
012092,000978: 23,7354 00045 36D
012093,000979: 23,7355 00007 6
012094,000980: 23,7356 07416 DOW..
012095,000981: 23,7357 01271 FBRANCH
012096,000982: 23,7360 01272 HBRANCH
012097,000983: 23,7361 00002 JSWITCH
012098,000984: 23,7362 00001 0
012099,000985: 23,7363 07323 NEXTCOL
012100,000986:
012101,000987:
012102,000988: # COMES HERE TO FINISH FIRST TWO DIFEQ COMPUTATIONS.
012103,000989:
012104,000990:
012105,000991:
012106,000992: 23,7364 45775 -6 VSRT 1 # ENTERS HERE FROM DIFEQ+12 MIDPOINT
012107,000993: 23,7365 50776 VAD # COMPUTATION.
012108,000994: 23,7366 01203 FV
012109,000995: 23,7367 00003 2
012110,000996: 23,7370 01167 PHIV
012111,000997: 23,7371 33167 STORE PHIV
012112,000998:
012113,000999: 23,7372 70775 DIFEQCOM DAD 1 # INCREMENT H AND DIFEQCNT.
012114,001000: 23,7373 63535 INCR,1 SXA,1
012115,001001: 23,7374 01263 DT/2
012116,001002: 23,7375 01265 H
012117,001003: 23,7376 77764 -12D
012118,001004: 23,7377 01306 DIFEQCNT # DIFEQCNT SET FOR NEXT ENTRY.
012119,001005: 23,7400 33265 STORE H
012120,001006:
012121,001007: 23,7401 75774 VXSC 2
012122,001008: 23,7402 45642 VSRT VAD
012123,001009: 23,7403 75642 VXSC VAD
012124,001010: 23,7404 01203 FV
012125,001011: 23,7405 01265 H
012126,001012: 23,7406 00002 1
012127,001013: 23,7407 01123 ZV
012128,001014: 23,7410 01265 H
012129,001015: 23,7411 01115 YV
012130,001016: 23,7412 33153 STORE ALPHAV
012131,001017:
012132,001018: 23,7413 44576 ITCI 0 # EXIT VIA FBRANCH.
012133,001019: 23,7414 01271 FBRANCH
012134,001020:
012135,001021: 23,7415 23,7221 DIFEQ EQUALS DIFEQ+0
012136,001022:
012137,001023:
012138,001024: # ORBITAL ROUTINE FOR EXTRAPOLATING THE W MATRIX. IT COMPUTES THE
012139,001025: # SECOND DERIVATIVE OF EACH COLUMN POSITION VECTOR OF THE MATRIX AND CALLS
012140,001026: # THE NYSTOM INTEGRATION ROUTINES TO SOLVE THE DIFFERENTIAL EQUATIONS. THE
012141,001027: # PROGRAM USES A TABLE OF VEHICLE POSITION VECTORS COMPUTED DURING THE
012142,001028: # INTEGRATION OF THE VEHICLES POSITION AND VELOCITY.
012143,001029:
012144,001030: 23,7415 45776 DOW.. VSRT 0
012145,001031: 23,7416 01153 ALPHAV
012146,001032: 23,7417 00005 4
012147,001033:
012148,001034: 23,7420 72174 UNIT* 2 # X1 REFERENCES THE TABLE OF POSITION
012149,001035: 23,7421 40766 VPROJ VXSC # VECTORS AND CALLS THE CORRECT DIFEQ PROG
012150,001036: 23,7422 74776 VSU
012151,001037: 23,7423 02421 VECTAB,1
012152,001038: 23,7424 01153 ALPHAV
012153,001039: 23,7425 07476 3/4
012154,001040:
012155,001041: 23,7426 64772 DMP 4 # CUBE OF LENGTH OF POSITION VECTOR
012156,001042: 23,7427 57631 TSLC ROUND # DIVIDES VECTOR IN PUSH-DOWN LIST TO
012157,001043: 23,7430 61766 BDDV VXSC # FORM FINAL RESULT.
012158,001044: 23,7431 64511 XCHX,2 INCR,2 # INCREMENT COMPENSATES FOR .5 R IN 30D.
012159,001045: 23,7432 44351 VSLT* LXA,2
012160,001046: 23,7433 00035 28D
012161,001047: 23,7434 00037 30D
012162,001048: 23,7435 00051 S1
012163,001049: 23,7436 06303 DP1/4
012164,001050: 23,7437 77777 -
012165,001051: 23,7440 00051 S1
012166,001052: 23,7441 00004 3
012167,001053: 23,7442 00002 0,2
012168,001054: 23,7443 00051 S1
012169,001055: 23,7444 33203 STORE FV
012170,001056:
012171,001057: 23,7445 76376 ITC* 0 # CALL NYSTROM ROUTINES ACCORDING TO X1.
012172,001058: 23,7446 16443 DIFEQ,1
012173,001059:
012174,001060: # DUMMYMOON POSITION ROUTINE, SUN POSITION ROUTINE, AND PBODY TABLE FOR CHECKOUT OF EARTH-ORBITAL ONLY.
012175,001061: 23,7447 75175 MOONPOS VMOVE 1 # LOAD CONSTANT VECTOR INTO A AND EXIT.
012176,001062: 23,7450 40576 ITCQ
012177,001063: 23,7451 07461 MOONVEC
012178,001064:
012179,001065: 23,7452 73575 SUNPOS LXA,1 1 # RETURNS WITH VECTOR IN VAC AND IN PDL.
012180,001066: 23,7453 67563 SXA,1 VMOVE
012181,001067: 23,7454 00070 FIXLOC
012182,001068: 23,7455 00124 PUSHLOC
012183,001069: 23,7456 07464 SUNVEC
012184,001070: 23,7457 40576 ITCQ 0
012185,001071:
012186,001072: 23,7460 00006 EARTHTAB DEC 6 B-14
012187,001073: 23,7461 00000 00000 2DEC 0.0
012188,001074: 23,7463 00012 DEC 10 B-14
012189,001075: 23,7464 00000 00000 2DEC 0.0
012190,001076: 23,7466 00000 00000 2DEC 0.0
012191,001077: 23,7470 77743 DEC -28 B-14 # 28 3/2
012192,001078: 23,7471 26376 00370 2DEC .703003854 # 443.8417 / SQRT(MU).
012193,001079:
012194,001080: 23,7473 23,7460 MOONVEC EQUALS EARTHTAB
012195,001081: 23,7473 23,7463 SUNVEC EQUALS EARTHTAB +3 # ******
012196,001082:
012197,001083:
012198,001084:
012199,001085:
012200,001086: 23,7473 36000 00000 15/16 2DEC 15. B-4
012201,001087: 23,7475 30000 00000 3/4 2DEC 3.0 B-2
012202,001088: 23,7477 12577 24106 J2REQSQ 2DEC .335914874
012203,001089: 23,7501 77711 71033 2J3RE/J2 2DEC -.003309146
012204,001090: 23,7503 23377 06703 J4REQ/J3 2DEC .60932709
012205,001091: 23,7505 23,7247 2/3 EQUALS DP2/3
012206,001092: 23,7505 P2'/8 EQUALS 0
012207,001093: 23,7505 P3'/4 EQUALS 2
012208,001094: 23,7505 P4'/16 EQUALS 4
012209,001095:
012210,001096: 23,7505 20000 00000 DP1/2 2DEC .5
End of include-file ORBITAL_INTEGRATION_PROGRAM.agc. Parent file is MAIN.agc