Source Code
These source-code files are part of a reconstructed copy of Sunrise 45, the
penultimate release of the Block I Command Module (CM) Apollo Guidance Computer
(AGC) system test software.
They have been created via disassembly of binary dumps of original core rope memory modules, part numbers 1003133-18, 1003133-19, and 1003133-20. Corresponding portions of code have been copied from Solarium 55 where applicable. Extensive use was also made of the AGC Information Series documents, which were specifically written about the Sunrise software. Since only binary dumps (rather than listings) of Sunrise 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. |
007099,000002: ## Copyright: Public domain.
007100,000003: ## Filename: ORBITAL_INTEGRATION_PROGRAM.agc
007101,000004: ## Purpose: A section of Sunrise 45.
007102,000005: ## It is part of the reconstructed source code for the penultimate
007103,000006: ## release of the Block I Command Module system test software. No
007104,000007: ## original listings of this program are available; instead, this
007105,000008: ## file was created via disassembly of dumps of Sunrise core rope
007106,000009: ## memory modules and comparison with the later Block I program
007107,000010: ## Solarium 55.
007108,000011: ## Assembler: yaYUL --block1
007109,000012: ## Contact: Ron Burkey <info@sandroid.org>.
007110,000013: ## Website: www.ibiblio.org/apollo/index.html
007111,000014: ## Mod history: 2022-12-09 MAS Initial reconstructed source.
007112,000015:
007113,000016: ## This log section contains a significant amount of code not present in
007114,000017: ## Solarium 55 or any other surviving program listing. Furthermore, we have
007115,000018: ## essentially no surviving documentation (and it appears an AGC Information
007116,000019: ## Series issue was never written for this section). As such, label names
007117,000020: ## herein are mostly modern guesses, wherever they were unable to be taken
007118,000021: ## from Solarium.
007119,000022:
007120,000023: 22,6000 BANK 22
007121,000024:
007122,000025: # *** SCALING FACTORS AND ARGUMENTS ***
007123,000026:
007124,000027: 22,6000 DEL = 1
007125,000028: 22,6000 DEL+E = 1
007126,000029: 22,6000 2DEL = 2
007127,000030: 22,6000 2DEL+E = 3
007128,000031: 22,6000 E = 0
007129,000032: 22,6000 XKEP = 14D
007130,000033: 22,6000 RSCALE = 14D
007131,000034: 22,6000 VSCALE = 6
007132,000035: 22,6000 TSCALE = 24D
007133,000036: 22,6000 4RSCALE = 56D
007134,000037:
007135,000038:
007136,000039: 22,6000 45502 FFINIT CS TWO
007137,000040: 22,6001 60114 AD MPAC
007138,000041: 22,6002 10000 CCS A
007139,000042: 22,6003 06005 TC +2
007140,000043: 22,6004 06005 TC +1
007141,000044: 22,6005 44516 CS ONE
007142,000045: 22,6006 51210 TS FDSPWAIT
007143,000046:
007144,000047: 22,6007 36240 CAF DEC200
007145,000048: 22,6010 50114 FFZLOOP TS MPAC
007146,000049: 22,6011 35500 CAF ZERO
007147,000050: 22,6012 20114 INDEX MPAC
007148,000051: 22,6013 51211 TS STEPEXIT
007149,000052: 22,6014 10114 CCS MPAC
007150,000053: 22,6015 06010 TC FFZLOOP
007151,000054:
007152,000055: 22,6016 04000 TC INTPRET
007153,000056: 22,6017 75575 AXT,1 1
007154,000057: 22,6020 67563 SXA,1 VMOVE
007155,000058: 22,6021 05706 TESTVEC1
007156,000059: 22,6022 01221 TESTVADR
007157,000060: 22,6023 04206 RINIT
007158,000061: 22,6024 33274 STORE RRECT
007159,000062:
007160,000063: 22,6025 47576 NOLOD 0
007161,000064: 22,6026 33360 STORE RCV
007162,000065:
007163,000066: 22,6027 75176 VMOVE 0
007164,000067: 22,6030 04214 VINIT
007165,000068: 22,6031 33302 STORE VRECT
007166,000069:
007167,000070: 22,6032 47572 NOLOD 4
007168,000071: 22,6033 75535 AXT,1 SXA,1
007169,000072: 22,6034 75535 AXT,1 SXA,1
007170,000073: 22,6035 75535 AXT,1 SXA,1
007171,000074: 22,6036 75535 AXT,1 SXA,1
007172,000075: 22,6037 00017 RSCALE
007173,000076: 22,6040 01220 SCALER # SET SCALE OF POSITION.
007174,000077: 22,6041 00005 4
007175,000078: 22,6042 01217 SCALDELT # ALSO DEVIATION.
007176,000079: 22,6043 00023 18D
007177,000080: 22,6044 01216 SCALEDT # AND TIME STEP.
007178,000081: 22,6045 04147 FDISPLAY
007179,000082: 22,6046 01212 STEPEXIT
007180,000083: 22,6047 33366 STORE VCV
007181,000084:
007182,000085: 22,6050 75176 VMOVE 0
007183,000086: 22,6051 06003 FFZERO
007184,000087: 22,6052 33330 STORE TDELTAV # ZERO POSITION DEVIATION.
007185,000088:
007186,000089: 22,6053 47576 NOLOD 0
007187,000090: 22,6054 33336 STORE TNUV # ALSO VELOCITY.
007188,000091:
007189,000092: 22,6055 45176 DMOVE 0
007190,000093: 22,6056 04224 TETINIT
007191,000094: 22,6057 33320 STORE TET
007192,000095:
007193,000096: 22,6060 45176 DMOVE 0
007194,000097: 22,6061 04230 TETLIMIT
007195,000098: 22,6062 33322 STORE ENDTET
007196,000099:
007197,000100: 22,6063 45176 DMOVE 0
007198,000101: 22,6064 04226 TCINIT
007199,000102: 22,6065 33312 STORE TC
007200,000103:
007201,000104: 22,6066 75575 AXT,1 1
007202,000105: 22,6067 76465 RTB AST,1
007203,000106: 22,6070 00111 72D
007204,000107: 22,6071 07040 ZEROVAC
007205,000108: 22,6072 00007 6D
007206,000109:
007207,000110: 22,6073 74176 INITWMAT VMOVE* 0
007208,000111: 22,6074 14221 WINIT +72D,1
007209,000112: 22,6075 37357 STORE W +72D,1
007210,000113:
007211,000114: 22,6076 51576 TIX,1 0
007212,000115: 22,6077 04074 INITWMAT
007213,000116:
007214,000117: 22,6100 77576 EXIT 0
007215,000118:
007216,000119: 22,6101 02240 TC PHASCHNG
007217,000120: 22,6102 01401 OCT 01401
007218,000121: 22,6103 06144 TC FFEXIT
007219,000122:
007220,000123: 22,6104 04000 TC INTPRET
007221,000124: 22,6105 76776 ITC 0
007222,000125: 22,6106 04147 FDISPLAY
007223,000126:
007224,000127: 22,6107 02240 STARTFF2 TC PHASCHNG
007225,000128: 22,6110 01101 OCT 01101
007226,000129: 22,6111 06144 TC FFEXIT
007227,000130:
007228,000131: 22,6112 06246 TC FLSTCHK
007229,000132:
007230,000133: 22,6113 04000 FFENDCHK TC INTPRET
007231,000134: 22,6114 66772 DSU 4
007232,000135: 22,6115 66756 DSU BMN
007233,000136: 22,6116 70732 DAD DSU
007234,000137: 22,6117 43742 BPL DAD
007235,000138: 22,6120 62716 DDV TSLT
007236,000139: 22,6121 01322 ENDTET
007237,000140: 22,6122 01316 TETDISP
007238,000141: 22,6123 04234 STEPMIN
007239,000142: 22,6124 04144 FFEXIT -1
007240,000143: 22,6125 04234 STEPMIN
007241,000144: 22,6126 04232 STEPMAX
007242,000145: 22,6127 04137 USEMAXDT
007243,000146: 22,6130 04232 STEPMAX
007244,000147: 22,6131 05717 EARTHTAB
007245,000148: 22,6132 00012 9D
007246,000149: 22,6133 33324 STORE DT/2
007247,000150:
007248,000151: 22,6134 76776 ITC 0
007249,000152: 22,6135 05340 TIMESTEP
007250,000153:
007251,000154: 22,6136 45176 USEMAXDT DMOVE 0
007252,000155: 22,6137 04222 DT/2MAX
007253,000156: 22,6140 33324 STORE DT/2
007254,000157:
007255,000158: 22,6141 76776 ITC 0
007256,000159: 22,6142 05340 TIMESTEP
007257,000160:
007258,000161: 22,6143 77576 EXIT 0
007259,000162:
007260,000163: 22,6144 02246 FFEXIT TC MAJEXIT
007261,000164: 22,6145 00001 OCT 1
007262,000165:
007263,000166: 22,6146 45775 FDISPLAY VSRT 1
007264,000167: 22,6147 50776 VAD
007265,000168: 22,6150 01330 TDELTAV
007266,000169: 22,6151 00013 RSCALE -4
007267,000170: 22,6152 01360 RCV
007268,000171: 22,6153 33432 STORE RDISP
007269,000172:
007270,000173: 22,6154 45775 VSRT 1
007271,000174: 22,6155 50776 VAD
007272,000175: 22,6156 01336 TNUV
007273,000176: 22,6157 00011 VSCALE -14D
007274,000177: 22,6160 01366 VCV
007275,000178: 22,6161 33440 STORE VDISP
007276,000179:
007277,000180: 22,6162 77576 EXIT 0
007278,000181:
007279,000182: 22,6163 03025 TC GRABDSP
007280,000183: 22,6164 06174 TC FGBSY
007281,000184:
007282,000185: 22,6165 36237 FDSPLAY2 CAF LTETDISP
007283,000186: 22,6166 50116 TS MPAC +2
007284,000187:
007285,000188: 22,6167 36235 FPASTE CAF V07N01
007286,000189: 22,6170 02670 TC NVSUB
007287,000190: 22,6171 06201 TC FNVBSY
007288,000191:
007289,000192: 22,6172 03107 FDSPFREE TC FREEDSP
007290,000193: 22,6173 06107 TC STARTFF2
007291,000194:
007292,000195: 22,6174 11210 FGBSY CCS FDSPWAIT
007293,000196: 22,6175 06107 TC STARTFF2
007294,000197: 22,6176 06107 TC STARTFF2
007295,000198: 22,6177 03033 TC PREGBSY
007296,000199: 22,6200 06165 TC FDSPLAY2
007297,000200:
007298,000201: 22,6201 11210 FNVBSY CCS FDSPWAIT
007299,000202: 22,6202 06167 TC FPASTE
007300,000203: 22,6203 06172 TC FDSPFREE
007301,000204: 22,6204 03040 TC PRENVBSY
007302,000205:
007303,000206: 22,6205 14445 01766 RINIT 2DEC 6437.06189 B-14 # KILOMETERS.
007304,000207: 22,6207 00000 00000 2DEC 0.0
007305,000208: 22,6211 00000 00000 2DEC 0.0
007306,000209:
007307,000210: 22,6213 00000 00000 VINIT 2DEC 0.0 # METERS PER SECOND SCALED SQRT(MU).
007308,000211: 22,6215 26423 23312 2DEC 11.00502594 E-3 B6
007309,000212: 22,6217 13767 26753 2DEC 5.85147616 E-3 B6
007310,000213:
007311,000214: 22,6221 11771 22015 DT/2MAX 2DEC .62421427 B-1 # .072 HOUR MAXIMUM TIME STEP
007312,000215:
007313,000216: 22,6223 00000 00000 TETINIT 2DEC 0.0
007314,000217: 22,6225 00000 00000 TCINIT 2DEC 0.0
007315,000218: 22,6227 00223 16457 TETLIMIT 2DEC 0.009 # WEEKS
007316,000219:
007317,000220: 22,6231 00007 00544 STEPMAX 2DEC .000428572 # .072 HOUR MAXIMUM TIME STEP
007318,000221: 22,6233 00000 00414 STEPMIN 2DEC .9983777999 E-6 # .6 SECOND MINIMUM TIME STEP
007319,000222:
007320,000223: 22,6235 00701 V07N01 OCT 00701
007321,000224: 22,6236 77776 FFUNUSED DEC -1 B-14
007322,000225: 22,6237 01315 LTETDISP ADRES TETDISP
007323,000226: 22,6240 00310 DEC200 DEC 200 B-14
007324,000227:
007325,000228: 22,6241 36245 STARTFF CAF FFPRIO
007326,000229: 22,6242 02037 TC FINDVAC
007327,000230: 22,6243 44107 CADR STARTFF2
007328,000231: 22,6244 02544 TC SWRETURN
007329,000232:
007330,000233: 22,6245 05000 FFPRIO OCT 05000
007331,000234:
007332,000235: 22,6246 44513 FLSTCHK CS EIGHT
007333,000236: 22,6247 60114 AD MPAC
007334,000237: 22,6250 10000 CCS A
007335,000238: 22,6251 00001 TC Q
007336,000239: 22,6253 LOC +1
007337,000240: 22,6253 06000 TC FFINIT
007338,000241: 22,6254 06000 TC FFINIT
007339,000242:
007340,000243: 22,6255 36245 FFGO CAF FFPRIO
007341,000244: 22,6256 02037 TC FINDVAC
007342,000245: 22,6257 44261 CADR FRESTART
007343,000246: 22,6260 02544 TC SWRETURN
007344,000247:
007345,000248: 22,6261 02217 FRESTART TC GETPHASE
007346,000249: 22,6262 00001 OCT 1
007347,000250: 22,6263 06144 TC FFEXIT
007348,000251:
007349,000252: 22,6264 50114 TS MPAC
007350,000253: 22,6265 06246 TC FLSTCHK
007351,000254:
007352,000255: 22,6266 46272 CS MAXPHAS
007353,000256: 22,6267 60114 AD MPAC
007354,000257: 22,6270 10000 CCS A
007355,000258: 22,6271 06302 TC FFEXIT2
007356,000259: 22,6272 00014 MAXPHAS DEC 12 B-14
007357,000260: 22,6273 06275 TC +2
007358,000261: 22,6274 07531 TC ENDSTEP
007359,000262:
007360,000263: 22,6275 20000 INDEX A
007361,000264: 22,6276 06277 TC +1
007362,000265: 22,6277 07575 TC SETWINT -1
007363,000266: 22,6300 06302 TC FFEXIT2
007364,000267: 22,6301 06113 TC FFENDCHK
007365,000268:
007366,000269: 22,6302 40114 FFEXIT2 CS MPAC
007367,000270: 22,6303 51223 TS FLSTPHAS
007368,000271: 22,6304 06144 TC FFEXIT
007369,000272:
007370,000273:
007371,000274: # FBR3 SETS UP A TIMESTEP CALL TO KEPLER.
007372,000275:
007373,000276: 22,6305 56775 FBR3 TSRT 1
007374,000277: 22,6306 46542 ROUND DAD
007375,000278: 22,6307 01326 H
007376,000279: 22,6310 00007 TSCALE -18D
007377,000280: 22,6311 01312 TC
007378,000281: 22,6312 33314 STORE TAU
007379,000282:
007380,000283: 22,6313 71575 LXC,1 1
007381,000284: 22,6314 70417 LXC,2 DMOVE*
007382,000285: 22,6315 01221 TESTVADR
007383,000286: 22,6316 01216 SCALEDT
007384,000287: 22,6317 00021 8D,1
007385,000288: 22,6320 32051 STORE S1
007386,000289:
007387,000290: 22,6321 56574 XSU,2 2
007388,000291: 22,6322 63266 TSLT* DMPR
007389,000292: 22,6323 70776 DAD
007390,000293: 22,6324 00051 S1
007391,000294: 22,6325 00023 18D
007392,000295: 22,6326 00002 1
007393,000296: 22,6327 01324 DT/2
007394,000297: 22,6330 01320 TET
007395,000298: 22,6331 33320 STORE TET
007396,000299:
007397,000300: 22,6332 76776 ITC 0
007398,000301: 22,6333 04335 KEPLER
007399,000302:
007400,000303: # THIS ORBITAL KEPLER SUBROUTINE FINDS THE POSITION AND VELOCITY OF THE VEHICLE AFTER TIME FOUND IN
007401,000304: # GIVENT SINCE RECTIFICATION TO POSITION RRECT AND VELOCITY VRECT . THE RESULTING POSITION AND VELOCITY ARE
007402,000305: # LEFT IN FOUNDR AND FOUNDV , RESPECTIVELY.
007403,000306:
007404,000307: 22,6334 73575 KEPLER LXA,1 1 # UNIT OF RECTIFICATION POSITION TO 0
007405,000308: 22,6335 67553 SXA,1 UNIT
007406,000309: 22,6336 00067 FIXLOC
007407,000310: 22,6337 00123 PUSHLOC
007408,000311: 22,6340 01274 RRECT
007409,000312:
007410,000313: 22,6341 63776 TSLT 0 # AND LENGTH OF ORIGINAL IN 6.
007411,000314: 22,6342 00037 30D
007412,000315: 22,6343 00002 1
007413,000316:
007414,000317: 22,6344 67173 VSQ 3 # A4 TO REGISTER 8.
007415,000318: 22,6345 46522 ROUND DMP
007416,000319: 22,6346 66716 DSU TSLT
007417,000320: 22,6347 46576 ROUND
007418,000321: 22,6350 01302 VRECT
007419,000322: 22,6351 00007 6 # LENGTH OF POSITION AT RECTIFICATION.
007420,000323: 22,6352 04505 DP1/4
007421,000324: 22,6353 00003 2DEL+E -1
007422,000325:
007423,000326: 22,6354 47574 NOLOD 2 # ALPHA TO REGISTER 10.
007424,000327: 22,6355 56633 TSRT COMP
007425,000328: 22,6356 70712 DAD DDV
007426,000329: 22,6357 00003 2DEL+E -1
007427,000330: 22,6360 04505 DP1/4
007428,000331: 22,6361 00007 6
007429,000332:
007430,000333: 22,6362 42775 DOT 1 # A1 TO REGISTER 12.
007431,000334: 22,6363 46576 ROUND
007432,000335: 22,6364 01274 RRECT
007433,000336: 22,6365 01302 VRECT
007434,000337:
007435,000338: 22,6366 53175 SQRT 1
007436,000339: 22,6367 61776 BDDV
007437,000340: 22,6370 00013 10D
007438,000341: 22,6371 04404 DP2PI/16
007439,000342: 22,6372 33450 STORE XKEPHI
007440,000343:
007441,000344: 22,6373 45176 DMOVE 0
007442,000345: 22,6374 05460 DPZERO
007443,000346: 22,6375 33452 STORE XKEPLO
007444,000347:
007445,000348: 22,6376 74575 AXT,2 1
007446,000349: 22,6377 54572 AST,2 ITC
007447,000350: 22,6400 00035 28D
007448,000351: 22,6401 00002 1
007449,000352: 22,6402 04616 GETNEWX
007450,000353:
007451,000354: 22,6403 14441 37325 DP2PI/16 2DEC .39269908
007452,000355:
007453,000356: # ITERATING EQUATIONS - GIVEN X IN MPAC AND 14D, FIND TIME OF FLIGHT.
007454,000357:
007455,000358:
007456,000359:
007457,000360: 22,6405 47571 KTIMEN+1 NOLOD 5 # FORM ALPHA X-SQUARED AND CALL S AND C.
007458,000361: 22,6406 51031 DSQ ROUND
007459,000362: 22,6407 64716 DMP TSLT
007460,000363: 22,6410 46555 ROUND LXA,1 # AND SET PD INDICATOR TO 16 AS WELL.
007461,000364: 22,6411 63535 INCR,1 SXA,1
007462,000365: 22,6412 76776 ITC
007463,000366: 22,6413 00013 10D # ALPHA
007464,000367: 22,6414 00003 2DEL
007465,000368: 22,6415 00067 FIXLOC
007466,000369: 22,6416 00021 16D
007467,000370: 22,6417 00123 PUSHLOC
007468,000371: 22,6420 04511 S(X)C(X)
007469,000372:
007470,000373: 22,6421 47572 NOLOD 4 # S RETURNS IN MPAC, C ON TOP OF PDL.
007471,000374: 22,6422 64716 DMP TSLT
007472,000375: 22,6423 64716 DMP TSLT
007473,000376: 22,6424 64716 DMP TSLT
007474,000377: 22,6425 46576 ROUND
007475,000378: 22,6426 00017 XKEP
007476,000379: 22,6427 00005 4
007477,000380: 22,6430 00017 XKEP
007478,000381: 22,6431 00002 E +1
007479,000382: 22,6432 00017 XKEP
007480,000383: 22,6433 00002 1
007481,000384: 22,6434 32030 STORE 23D # A3.
007482,000385:
007483,000386: 22,6435 47575 NOLOD 1
007484,000387: 22,6436 55776 DMPR
007485,000388: 22,6437 00011 8D
007486,000389:
007487,000390: 22,6440 64774 DMP 2
007488,000391: 22,6441 63722 TSLT DMP
007489,000392: 22,6442 63631 TSLT ROUND
007490,000393: 22,6443 00017 XKEP
007491,000394: 22,6444 00021 16D # VALUE OF C.
007492,000395: 22,6445 00006 5
007493,000396: 22,6446 00017 XKEP
007494,000397: 22,6447 00003 E +2
007495,000398: 22,6450 32026 STORE 21D # A2.
007496,000399:
007497,000400: 22,6451 47574 NOLOD 2
007498,000401: 22,6452 64672 DMP TSRT
007499,000402: 22,6453 46542 ROUND DAD
007500,000403: 22,6454 00015 12D # A1.
007501,000404: 22,6455 00002 1
007502,000405: 22,6456 55775 DMPR 1
007503,000406: 22,6457 70776 DAD
007504,000407: 22,6460 00007 6
007505,000408: 22,6461 00017 XKEP # COMPUTED TIME TO PD+18.
007506,000409:
007507,000410: 22,6462 47575 KEPLER3 NOLOD 1 # COMPARE COMPUTED TIME WITH GIVEN TIME.
007508,000411: 22,6463 66776 DSU
007509,000412: 22,6464 01314 TAU
007510,000413: 22,6465 32021 STORE 16D # DIFFERENCE TO REGISTER 16.
007511,000414:
007512,000415: 22,6466 47574 NOLOD 2
007513,000416: 22,6467 65132 ABS DSU
007514,000417: 22,6470 73776 BMN
007515,000418: 22,6471 04501 KEPSILON
007516,000419: 22,6472 04630 GETRANDV
007517,000420:
007518,000421: 22,6473 73775 BMN 1
007519,000422: 22,6474 76776 ITC
007520,000423: 22,6475 00021 16D
007521,000424: 22,6476 04613 DIFFNEG
007522,000425: 22,6477 04606 DIFFPOS
007523,000426:
007524,000427: # CONSTANTS.
007525,000428:
007526,000429: 22,6500 00000 KEPSILON OCT 00000
007527,000430: 22,6501 00000 OCT 00000
007528,000431: 22,6502 14000 00000 THREE/8 2DEC .375
007529,000432: 22,6504 10000 00000 DP1/4 2DEC .25
007530,000433: 22,6506 22,6504 DQUARTER EQUALS DP1/4
007531,000434: 22,6506 02000 00000 POS1/16 2DEC .0625
007532,000435: 22,6510 22,6504 POS1/4 EQUALS DP1/4
007533,000436: 22,6510 22,6502 3/8 EQUALS THREE/8
007534,000437:
007535,000438:
007536,000439: # SUBROUTINE FOR COMPUTING THE UNIVERSAL CONIC FUNCTIONS S(X) AND C(X). THE ACTUAL OUTPUT OF THIS ROUTINE
007537,000440: # CONSISTS OF SCALED VERSIONS DEFINED AS FOLLOWS:
007538,000441:
007539,000442: # S (X) = S(64X) C (X) = C(64X)/4
007540,000443: # S S
007541,000444:
007542,000445: # IT IS ASSUMED THAT THE INPUT ARRIVES IN MPAC,MPAC+1, AND THAT IT LIES BETWEEN -30/64 AND 40/64. UPON
007543,000446: # EXIT, S(X) WILL BE LEFT IN MPAC,MPAC+1 AND C(X) ON TOP OF THE PUSHDOWN LIST.
007544,000447:
007545,000448:
007546,000449:
007547,000450: 22,6510 47576 S(X)C(X) NOLOD 0 # SAVE ARGUMENT
007548,000451: 22,6511 33454 STORE XSTOREX
007549,000452:
007550,000453: 22,6512 47574 NOLOD 2 # 2
007551,000454: 22,6513 76443 RTB DSQ # COMPUTE A (X)
007552,000455: 22,6514 46576 ROUND
007553,000456: 22,6515 04550 A(X)
007554,000457: 22,6516 33456 STORE ASQ
007555,000458:
007556,000459: 22,6517 47573 NOLOD 3 # 2 2
007557,000460: 22,6520 64716 DMP TSLT # C (X)=A (.25 - 2XA ) TO PUSHDOWN LIST
007558,000461: 22,6521 46526 ROUND BDSU # S
007559,000462: 22,6522 55776 DMPR
007560,000463: 22,6523 01454 XSTOREX
007561,000464: 22,6524 00002 1
007562,000465: 22,6525 04505 POS1/4
007563,000466: 22,6526 01456 ASQ
007564,000467:
007565,000468: 22,6527 56775 TSRT 1 # 2
007566,000469: 22,6530 46576 ROUND # A /4 TO PUSHDOWN LIST
007567,000470: 22,6531 01456 ASQ
007568,000471: 22,6532 00003 2
007569,000472:
007570,000473: 22,6533 45174 DMOVE 2 # 2
007571,000474: 22,6534 76443 RTB DSQ # B TO PUSHDOWN LIST
007572,000475: 22,6535 46576 ROUND
007573,000476: 22,6536 01454 XSTOREX
007574,000477: 22,6537 04567 B(X)
007575,000478:
007576,000479: 22,6540 55774 DMPR 2 # 2 2 2
007577,000480: 22,6541 65666 BDSU DMPR # LEAVE S (X)=B (.0625-A X)+A /4 IN MPAC
007578,000481: 22,6542 70601 DAD ITCQ # S
007579,000482: 22,6543 01454 XSTOREX
007580,000483: 22,6544 01456 ASQ
007581,000484: 22,6545 04507 POS1/16
007582,000485:
007583,000486: 22,6546 70707 OCT 70707 # THIS HAS TO BE NEGATIVE TO TERMINATE EQN
007584,000487:
007585,000488:
007586,000489: 22,6547 05553 A(X) TC POLY # A AND B POLYNOMIALS WHOSE COEFFICI-
007587,000490:
007588,000491: 22,6550 00012 DEC 10 B-14 # ENTS WERE OBTAINED WITH THE *AUTO-
007589,000492:
007590,000493: 22,6551 26501 07463 2DEC 7.071067810 E-1 # CURVEFIT* PROGRAM
007591,000494: 22,6553 60724 60210 2DEC -4.714045180 E-1
007592,000495: 22,6555 03010 26256 2DEC 9.42808914 E-2
007593,000496: 22,6557 77554 74242 2DEC -8.9791893 E-3
007594,000497: 22,6561 00010 05475 2DEC 4.989987 E-4
007595,000498: 22,6563 77777 66460 2DEC -1.79357 E-5
007596,000499:
007597,000500: 22,6565 04024 TC DANZIG # RE-ENTER INTERPRETER
007598,000501:
007599,000502:
007600,000503:
007601,000504: 22,6566 05553 B(X) TC POLY
007602,000505:
007603,000506: 22,6567 00012 DEC 10 B-14
007604,000507:
007605,000508: 22,6570 32101 17270 2DEC 8.164965793 E-1
007606,000509: 22,6572 65431 40174 2DEC -3.265986572 E-1
007607,000510: 22,6574 01710 10660 2DEC 5.90988980 E-2
007608,000511: 22,6576 77676 52270 2DEC -4.0085592 E-3
007609,000512: 22,6600 00004 21652 2DEC 2.781528 E-4
007610,000513: 22,6602 77777 71323 2DEC -1.25610 E-5
007611,000514:
007612,000515: 22,6604 04024 TC DANZIG # RETURN AS BEFORE
007613,000516:
007614,000517: 22,6605 45176 DIFFPOS DMOVE 0
007615,000518: 22,6606 00017 XKEP
007616,000519: 22,6607 33450 STORE XKEPHI # Diff was >= 0 -- XKEPHI = XKEP
007617,000520: 22,6610 76776 ITC 0
007618,000521: 22,6611 04616 GETNEWX
007619,000522:
007620,000523: 22,6612 45176 DIFFNEG DMOVE 0
007621,000524: 22,6613 00017 XKEP
007622,000525: 22,6614 33452 STORE XKEPLO # Diff was negative -- XKEPLO = XKEP
007623,000526:
007624,000527: 22,6615 66774 GETNEWX DSU 2
007625,000528: 22,6616 56631 TSRT ROUND
007626,000529: 22,6617 70776 DAD
007627,000530: 22,6620 01450 XKEPHI
007628,000531: 22,6621 01452 XKEPLO
007629,000532: 22,6622 00002 1
007630,000533: 22,6623 01452 XKEPLO
007631,000534: 22,6624 32017 STORE XKEP # XKEP = XKEPLO + (XKEPHI - XKEPLO)/2
007632,000535:
007633,000536: 22,6625 50576 TIX,2 0
007634,000537: 22,6626 04406 KTIMEN+1
007635,000538:
007636,000539:
007637,000540: # ROUTINE FOR OBTAINING R AND V, NOW THAT THE PROPER X HAS BEEN FOUND.
007638,000541:
007639,000542:
007640,000543:
007641,000544: 22,6627 73574 GETRANDV LXA,1 2
007642,000545: 22,6630 63535 INCR,1 SXA,1
007643,000546: 22,6631 47166 COMP VXSC
007644,000547: 22,6632 00067 FIXLOC
007645,000548: 22,6633 00032 25D
007646,000549: 22,6634 00123 PUSHLOC
007647,000550: 22,6635 00026 21D # AZ FROM LAST ITERATION.
007648,000551: 22,6636 00001 0 # UNIT OF GIVEN POSITION VECTOR.
007649,000552:
007650,000553: 22,6637 66774 DSU 2
007651,000554: 22,6640 63766 TSLT VXSC
007652,000555: 22,6641 50622 VAD VSLT
007653,000556: 22,6642 00023 18D # LAST VALUE OF T.
007654,000557: 22,6643 00030 23D # LAST VALUE OF A3.
007655,000558: 22,6644 00003 DEL +1
007656,000559: 22,6645 01302 VRECT
007657,000560: 22,6646 77777 -
007658,000561: 22,6647 00002 1
007659,000562:
007660,000563: 22,6650 47575 NOLOD 1 # ADDITION MUST BE DONE IN THIS ORDER.
007661,000564: 22,6651 50642 VAD VAD
007662,000565: 22,6652 01274 RRECT
007663,000566: 22,6653 33360 STORE FOUNDR # RESULTING CONIC POSITION.
007664,000567:
007665,000568: 22,6654 47575 NOLOD 1 # LENGTH OF ABOVE TO PD+16.
007666,000569: 22,6655 71116 ABVAL TSLT
007667,000570: 22,6656 00002 1
007668,000571: 22,6657 32021 STORE 16D
007669,000572:
007670,000573: 22,6660 64773 DMP 3
007671,000574: 22,6661 63631 TSLT ROUND
007672,000575: 22,6662 66712 DSU DDV
007673,000576: 22,6663 75622 VXSC VSLT
007674,000577: 22,6664 00013 10D # ALPHA.
007675,000578: 22,6665 00030 23D # A3
007676,000579: 22,6666 00003 2DEL+E -1
007677,000580: 22,6667 00017 XKEP
007678,000581: 22,6670 00021 16D # LENGTH OF FOUND POSITION.
007679,000582: 22,6671 00001 0 # UNIT OF RECTIFICATION POSITION.
007680,000583: 22,6672 00003 2
007681,000584: 22,6673 56773 TSRT 3
007682,000585: 22,6674 66712 DSU DDV
007683,000586: 22,6675 75642 VXSC VAD
007684,000587: 22,6676 44776 VSLT
007685,000588: 22,6677 00021 16D
007686,000589: 22,6700 00002 1
007687,000590: 22,6701 00026 21D
007688,000591: 22,6702 00021 16D
007689,000592: 22,6703 01302 VRECT
007690,000593: 22,6704 77777 -
007691,000594: 22,6705 00002 1
007692,000595: 22,6706 33366 STORE FOUNDV # THIS COMPLETES THE CALCULATION.
007693,000596:
007694,000597: 22,6707 44576 ITCI 0
007695,000598: 22,6710 01223 HBRANCH
007696,000599:
007697,000600:
007698,000601: # THE POSTRUE ROUTINES SET UP THE BETA VECTOR AND OTHER INITIAL CONDITIONS FOR THE NEXT ACCOMP.
007699,000602:
007700,000603: 22,6711 45176 POSTRUE2 DMOVE 0
007701,000604: 22,6712 01316 TETDISP
007702,000605: 22,6713 33320 STORE TET
007703,000606:
007704,000607: 22,6714 73573 POSTRUE LXA,1 3
007705,000608: 22,6715 67475 SXA,1 XSU,1
007706,000609: 22,6716 75024 VMOVE VSRT*
007707,000610: 22,6717 50751 VAD LXA,2
007708,000611: 22,6720 01217 SCALDELT # SETS UP SCALE A.
007709,000612: 22,6721 01214 SCALEA
007710,000613: 22,6722 01220 SCALER
007711,000614: 22,6723 01374 ALPHAV
007712,000615: 22,6724 00001 0,1
007713,000616: 22,6725 01360 RCV # POSITION OUTPUT OF KEPLER.
007714,000617: 22,6726 01213 DIFEQCNT
007715,000618: 22,6727 36460 STORE VECTAB,2 # SAVE R/PV IN VECTAB FOR W MATRIX UPDATE.
007716,000619:
007717,000620: 22,6730 47574 NOLOD 2
007718,000621: 22,6731 73535 LXA,1 SXA,1
007719,000622: 22,6732 75535 AXT,1 SXA,1
007720,000623: 22,6733 01220 SCALER
007721,000624: 22,6734 01215 SCALEB
007722,000625: 22,6735 00003 2
007723,000626: 22,6736 01225 ACCIDX
007724,000627: 22,6737 33402 STORE BETAV
007725,000628:
007726,000629:
007727,000630: # AGC ROUTINE TO COMPUTE ACCELERATION COMPONENTS.
007728,000631:
007729,000632:
007730,000633:
007731,000634: 22,6740 73176 ACCOMP UNIT 0 # UNITIZE ALPHA VECTOR
007732,000635: 22,6741 01374 ALPHAV
007733,000636: 22,6742 33374 STORE ALPHAV
007734,000637:
007735,000638: 22,6743 45176 DMOVE 0 # SAVE LENGTH OF ALPHA VECTOR
007736,000639: 22,6744 00037 30D
007737,000640: 22,6745 33310 STORE ALPHAM
007738,000641:
007739,000642: 22,6746 45773 ACCOMP2 VSRT 3 # 2
007740,000643: 22,6747 67155 VSQ LXA,1 # NORMED B TO PD.
007741,000644: 22,6750 67476 SXA,1 TSLC
007742,000645: 22,6751 46576 ROUND
007743,000646: 22,6752 01402 BETAV
007744,000647: 22,6753 00002 1
007745,000648: 22,6754 00067 FIXLOC
007746,000649: 22,6755 00123 PUSHLOC
007747,000650: 22,6756 00051 S1
007748,000651:
007749,000652: 22,6757 57775 TSLC 1 # NORMALIZE (LESS ONE) LENGTH OF ALPHA
007750,000653: 22,6760 56776 TSRT # SAVING NORM. SCALE FACTOR IN X1
007751,000654: 22,6761 01310 ALPHAM
007752,000655: 22,6762 00047 X1
007753,000656: 22,6763 00002 1 # C(PDL+2)= ALMOST NORMED ALPHAM
007754,000657:
007755,000658: 22,6764 73176 UNIT 0 # SAME PROCEDURE FOR BETA VECTOR
007756,000659: 22,6765 01402 BETAV
007757,000660: 22,6766 33402 STORE BETAV
007758,000661:
007759,000662: 22,6767 45176 DMOVE 0
007760,000663: 22,6770 00037 30D
007761,000664: 22,6771 33226 STORE BETAM
007762,000665:
007763,000666: 22,6772 47574 NOLOD 2
007764,000667: 22,6773 57706 TSLC BDDV # FORM NORMALIZED QUOTIENT ALPHAM/BETAM
007765,000668: 22,6774 56631 TSRT ROUND
007766,000669: 22,6775 00050 X2
007767,000670: 22,6776 77777 -
007768,000671: 22,6777 00002 1 # C(PDL +2) = ALMOST NORMALIZED RHO.
007769,000672: 22,7000 70573 LXC,2 3 # C(X2) = -SCALE(RHO) + 1.
007770,000673: 22,7001 60501 XAD,2 XAD,2 # = -S(B)-N(B)+S(A)+N(A)+1
007771,000674: 22,7002 56511 XSU,2 INCR,2
007772,000675: 22,7003 47470 NOLOD TSRT*
007773,000676: 22,7004 00050 X2
007774,000677: 22,7005 01214 SCALEA
007775,000678: 22,7006 00047 X1
007776,000679: 22,7007 01215 SCALEB
007777,000680: 22,7010 00003 2
007778,000681: 22,7011 00002 0,2
007779,000682:
007780,000683: 22,7012 47575 NOLOD 1 # RHO/4 PD +6
007781,000684: 22,7013 56631 TSRT ROUND
007782,000685: 22,7014 00003 2
007783,000686:
007784,000687: 22,7015 42774 DOT 2
007785,000688: 22,7016 63631 TSLT ROUND # (RHO/4)- 2 (ALPHAV/2.BETAV/2)
007786,000689: 22,7017 65776 BDSU # TO PDL +6
007787,000690: 22,7020 01374 ALPHAV
007788,000691: 22,7021 01402 BETAV
007789,000692: 22,7022 00002 1
007790,000693:
007791,000694: 22,7023 47575 NOLOD 1 # Q/4 = RHO(C(PDL +4)) TO PD +8D
007792,000695: 22,7024 55776 DMPR
007793,000696: 22,7025 00005 4
007794,000697:
007795,000698: 22,7026 47575 NOLOD 1 # (Q + 1)/4 TO PD +10D.
007796,000699: 22,7027 70776 DAD
007797,000700: 22,7030 04505 DQUARTER
007798,000701:
007799,000702: 22,7031 47575 NOLOD 1 # 3/2
007800,000703: 22,7032 53066 SQRT DMPR # ((Q + 1)/4) TO PD +12D.
007801,000704: 22,7033 00013 10D
007802,000705:
007803,000706: 22,7034 47575 NOLOD 1 # 3/2
007804,000707: 22,7035 63742 TSLT DAD # (1/4) + 2((Q + 1)/4) TO PD +14D.
007805,000708: 22,7036 00002 1
007806,000709: 22,7037 04505 DQUARTER
007807,000710: 22,7040 70773 DAD 3 # -
007808,000711: 22,7041 55716 DMPR TSLT # (G/2)(C(PD +4))B/2 TO PD +16D.
007809,000712: 22,7042 70712 DAD DDV
007810,000713: 22,7043 55766 DMPR VXSC
007811,000714: 22,7044 00013 10D
007812,000715: 22,7045 05743 DP1/2
007813,000716: 22,7046 00011 8D
007814,000717: 22,7047 00002 1
007815,000718: 22,7050 04503 THREE/8
007816,000719: 22,7051 00017 14D
007817,000720: 22,7052 00007 6
007818,000721: 22,7053 01402 BETAV
007819,000722:
007820,000723: 22,7054 45775 VSRT 1 # A12 + C(PD +16D) TO PD +16D.
007821,000724: 22,7055 50776 VAD
007822,000725: 22,7056 01374 ALPHAV
007823,000726: 22,7057 00004 3
007824,000727:
007825,000728: 22,7060 64771 DMP 5 # -
007826,000729: 22,7061 57631 TSLC ROUND # GAMMA TO PD +22D, -SCALE(GAMMA)-1 TO
007827,000730: 22,7062 61745 BDDV LXC,1 # X1.
007828,000731: 22,7063 61505 XAD,1 XAD,1
007829,000732: 22,7064 61505 XAD,1 XAD,1
007830,000733: 22,7065 47166 COMP VXSC
007831,000734: 22,7066 00001 0
007832,000735: 22,7067 00015 12D
007833,000736: 22,7070 00052 S2
007834,000737: 22,7071 00003 2
007835,000738: 22,7072 00050 X2 # C(X2) = SCALE (RHO).
007836,000739: 22,7073 00052 S2 # C(S2) = N((B.B/4)(...)3/2)
007837,000740: 22,7074 00051 S1 # C(S1) = N(B.B/4)
007838,000741: 22,7075 01215 SCALEB
007839,000742: 22,7076 01215 SCALEB
007840,000743: 22,7077 00021 16D # RESULT OF PRECEDING EQUATION.
007841,000744:
007842,000745: 22,7100 77576 EXIT 0
007843,000746:
007844,000747: 22,7101 11224 CCS ACCIDX
007845,000748: 22,7102 31224 XCH ACCIDX
007846,000749: 22,7103 20000 INDEX A
007847,000750: 22,7104 07105 TC +1
007848,000751: 22,7105 07171 TC ACCOMP4
007849,000752: 22,7106 07147 TC ACCOMP3
007850,000753:
007851,000754: 22,7107 04000 TC INTPRET
007852,000755: 22,7110 47575 NOLOD 1 # -SCALE(GAMMA)-1 IS LEFT IN X1.
007853,000756: 22,7111 44376 VSLT* # ADJUST GAMMA TO SCALE OF -32.
007854,000757: 22,7112 00077 31D,1
007855,000758: 22,7113 33424 STORE FV
007856,000759:
007857,000760: 22,7114 75176 VMOVE 0
007858,000761: 22,7115 01402 BETAV
007859,000762: 22,7116 33374 STORE ALPHAV # BETA VECTOR INTO ALPHA FOR NEXT ACCOMP.
007860,000763:
007861,000764: 22,7117 76776 ITC 0
007862,000765: 22,7120 05675 LOADVEC1
007863,000766:
007864,000767: 22,7121 47575 NOLOD 1
007865,000768: 22,7122 73576 LXA,1
007866,000769: 22,7123 01213 DIFEQCNT
007867,000770: 22,7124 36473 STORE BETAVTAB,1
007868,000771:
007869,000772: 22,7125 47575 NOLOD 1
007870,000773: 22,7126 74531 AXT,2 SXA,2
007871,000774: 22,7127 04306 FBR3
007872,000775: 22,7130 01222 FBRANCH
007873,000776: 22,7131 33402 STORE BETAV
007874,000777:
007875,000778: 22,7132 74574 AXT,2 2
007876,000779: 22,7133 64531 XCHX,2 SXA,2
007877,000780: 22,7134 45176 DMOVE
007878,000781: 22,7135 00024 19D
007879,000782: 22,7136 01215 SCALEB
007880,000783: 22,7137 01214 SCALEA
007881,000784: 22,7140 01226 BETAM
007882,000785: 22,7141 33310 STORE ALPHAM
007883,000786:
007884,000787: 22,7142 75575 AXT,1 1
007885,000788: 22,7143 67572 SXA,1 ITC
007886,000789: 22,7144 04306 FBR3
007887,000790: 22,7145 01222 FBRANCH
007888,000791: 22,7146 04747 ACCOMP2
007889,000792:
007890,000793: 22,7147 04000 ACCOMP3 TC INTPRET
007891,000794: 22,7150 70575 LXC,2 1
007892,000795: 22,7151 76776 ITC
007893,000796: 22,7152 01221 TESTVADR
007894,000797: 22,7153 05323 CALCFV
007895,000798:
007896,000799: 22,7154 76776 ITC 0
007897,000800: 22,7155 05700 LOADVEC2
007898,000801:
007899,000802: 22,7156 73575 LXA,1 1
007900,000803: 22,7157 75242 VXSC* VAD
007901,000804: 22,7160 01213 DIFEQCNT
007902,000805: 22,7161 02473 BETAVTAB,1
007903,000806: 22,7162 00016 13D
007904,000807: 22,7163 33402 STORE BETAV
007905,000808:
007906,000809: 22,7164 75575 AXT,1 1
007907,000810: 22,7165 67572 SXA,1 ITC
007908,000811: 22,7166 00035 28D
007909,000812: 22,7167 01215 SCALEB
007910,000813: 22,7170 04747 ACCOMP2
007911,000814:
007912,000815: 22,7171 04000 ACCOMP4 TC INTPRET
007913,000816: 22,7172 70575 LXC,2 1
007914,000817: 22,7173 62572 INCR,2 ITC
007915,000818: 22,7174 01221 TESTVADR
007916,000819: 22,7175 77775 -3
007917,000820: 22,7176 05323 CALCFV
007918,000821:
007919,000822:
007920,000823: # THE OBLATE ROUTINE COMPUTES THE ACCELERATION DUE THE THE EARTHS OBLATENESS. IT USES THE UNIT OF THE
007921,000824: # VEHICLE POSITION VECTOR FOUND IN ALPHAV AND THE DISTANCE TO THE CENTER OF THE EARTH IN ALPHAM. THIS IS ADDED TO
007922,000825: # THE SUM OF THE DISTURBING ACCELERATIONS IN FV AND THE PROPER DIFEQ STAGE IS CALLED VIA X1.
007923,000826:
007924,000827:
007925,000828:
007926,000829: 22,7177 73575 OBLATE LXA,1 1
007927,000830: 22,7200 67516 SXA,1 TSLT
007928,000831: 22,7201 00067 FIXLOC # SET PUSH-DOWN COUNTER TO ZERO.
007929,000832: 22,7202 00123 PUSHLOC
007930,000833: 22,7203 01310 ALPHAM
007931,000834: 22,7204 00002 1
007932,000835: 22,7205 33310 STORE ALPHAM
007933,000836:
007934,000837: 22,7206 55776 DMPR 0 # P2'/8 TO REGISTER 0.
007935,000838: 22,7207 01400 ALPHAV +4 # Z COMPONENT OF POSITION IS COS PHI.
007936,000839: 22,7210 05723 3/4
007937,000840:
007938,000841: 22,7211 51174 DSQ 2 # P3'/4 TO REGISTER 2.
007939,000842: 22,7212 63666 TSLT DMPR
007940,000843: 22,7213 66776 DSU
007941,000844: 22,7214 01400 ALPHAV +4
007942,000845: 22,7215 00004 3
007943,000846: 22,7216 05721 15/16
007944,000847: 22,7217 04503 3/8
007945,000848:
007946,000849: 22,7220 47574 NOLOD 2 # P4'/16 TO REGISTER 4.
007947,000850: 22,7221 55666 DMPR DMPR
007948,000851: 22,7222 63776 TSLT
007949,000852: 22,7223 01400 ALPHAV +4
007950,000853: 22,7224 05727 7/12
007951,000854: 22,7225 00002 1 # TO STACK.
007952,000855:
007953,000856: 22,7226 55775 DMPR 1 # FINISH P4'/16.
007954,000857: 22,7227 65776 BDSU
007955,000858: 22,7230 00001 P2'/8
007956,000859: 22,7231 05741 2/3
007957,000860:
007958,000861: 22,7232 47575 NOLOD 1 # BEGIN COMPUTING P5'/128.
007959,000862: 22,7233 55666 DMPR DMPR
007960,000863: 22,7234 01400 ALPHAV +4
007961,000864: 22,7235 05731 9/16
007962,000865: 22,7236 55771 DMPR 5 # FINISH P5'/128 AND TERM USING UNIT
007963,000866: 22,7237 65722 BDSU DMP # POSITION VECTOR AT ALPHA.
007964,000867: 22,7240 63712 TSLT DDV
007965,000868: 22,7241 70666 DAD DMPR
007966,000869: 22,7242 62742 DDV DAD
007967,000870: 22,7243 75776 VXSC
007968,000871: 22,7244 00003 P3'/4
007969,000872: 22,7245 05733 5/128
007970,000873: 22,7246 77777 -
007971,000874: 22,7247 05737 J4REQ/J3
007972,000875: 22,7250 00003 RSCALE -12D
007973,000876: 22,7251 01310 ALPHAM
007974,000877: 22,7252 00005 P4'/16
007975,000878: 22,7253 05735 2J3RE/J2
007976,000879: 22,7254 01310 ALPHAM
007977,000880: 22,7255 00003 P3'/4
007978,000881: 22,7256 01374 ALPHAV
007979,000882: 22,7257 33374 STORE ALPHAV
007980,000883:
007981,000884: 22,7260 64774 DMP 2 # COMPUTE TERM USING IZ.
007982,000885: 22,7261 63712 TSLT DDV
007983,000886: 22,7262 70776 DAD
007984,000887: 22,7263 05737 J4REQ/J3
007985,000888: 22,7264 77777 -
007986,000889: 22,7265 00002 1
007987,000890: 22,7266 01310 ALPHAM
007988,000891: 22,7267 56774 TSRT 2
007989,000892: 22,7270 55712 DMPR DDV
007990,000893: 22,7271 70726 DAD BDSU
007991,000894: 22,7272 05735 2J3RE/J2
007992,000895: 22,7273 00004 RSCALE -11D
007993,000896: 22,7274 77777 -
007994,000897: 22,7275 01310 ALPHAM
007995,000898: 22,7276 77777 -
007996,000899: 22,7277 01400 ALPHAV +4
007997,000900: 22,7300 33400 STORE ALPHAV +4
007998,000901:
007999,000902: 22,7301 51172 DSQ 4
008000,000903: 22,7302 51076 DSQ TSLC
008001,000904: 22,7303 61766 BDDV VXSC
008002,000905: 22,7304 63420 INCR,1 VSLT* # SHIFTS LEFT ON+, RIGHT ON -.
008003,000906: 22,7305 50776 VAD
008004,000907: 22,7306 01310 ALPHAM
008005,000908: 22,7307 00047 X1
008006,000909: 22,7310 05725 J2REQSQ
008007,000910: 22,7311 01374 ALPHAV
008008,000911: 22,7312 00005 4RSCALE -52D
008009,000912: 22,7313 00001 0,1
008010,000913: 22,7314 01424 FV
008011,000914: 22,7315 33424 STORE FV
008012,000915:
008013,000916: 22,7316 73575 NBRANCH LXA,1 1
008014,000917: 22,7317 76376 ITC*
008015,000918: 22,7320 01213 DIFEQCNT
008016,000919: 22,7321 13067 DIFEQ,1
008017,000920:
008018,000921: 22,7322 44176 CALCFV DMOVE* 0
008019,000922: 22,7323 00002 0,2
008020,000923: 22,7324 32051 STORE S1
008021,000924:
008022,000925: 22,7325 61574 XAD,1 2
008023,000926: 22,7326 75164 VMOVE VXSC*
008024,000927: 22,7327 44242 VSLT* VAD
008025,000928: 22,7330 00051 S1
008026,000929: 22,7331 00027 22D
008027,000930: 22,7332 00004 1,2
008028,000931: 22,7333 00077 31D,1
008029,000932: 22,7334 01424 FV
008030,000933: 22,7335 33424 STORE FV
008031,000934:
008032,000935: 22,7336 40576 ITCQ 0
008033,000936:
008034,000937:
008035,000938:
008036,000939: # BEGIN INTEGRATION STEP WITH RECTIFICATION TEST.
008037,000940:
008038,000941:
008039,000942:
008040,000943: 22,7337 71174 TIMESTEP ABVAL 2 # RECTIFICATION REQUIRED IF THE LENGTH OF
008041,000944: 22,7340 66756 DSU BMN # DELTA IS GREATER THAN .5 (8 KM).
008042,000945: 22,7341 76776 ITC
008043,000946: 22,7342 01330 TDELTAV
008044,000947: 22,7343 04505 DP1/4
008045,000948: 22,7344 05347 INTGRATE
008046,000949: 22,7345 05402 RECTIFY # CALL RECTIFICATION SUBROUTINE.
008047,000950:
008048,000951: 22,7346 75573 INTGRATE AXT,1 3 # INITIALIZE INDEXES AND SWITCHES.
008049,000952: 22,7347 67565 SXA,1 AXT,1
008050,000953: 22,7350 67415 SXA,1 TEST
008051,000954: 22,7351 42576 SWITCH
008052,000955: 22,7352 04712 POSTRUE2
008053,000956: 22,7353 01222 FBRANCH # EXIT FROM DIFEQCOM
008054,000957: 22,7354 04715 POSTRUE
008055,000958: 22,7355 01223 HBRANCH # EXIT FROM KEPLER.
008056,000959: 22,7356 00002 JSWITCH # 0 FOR STATE VECTOR, 1 FOR W MATRIX.
008057,000960: 22,7357 05362 +2 # TURN IT OFF HERE.
008058,000961: 22,7360 00002 JSWITCH
008059,000962:
008060,000963: 22,7361 75176 VMOVE 0
008061,000964: 22,7362 01330 TDELTAV
008062,000965: 22,7363 33344 STORE YV
008063,000966:
008064,000967: 22,7364 75176 VMOVE 0
008065,000968: 22,7365 01336 TNUV
008066,000969: 22,7366 33352 STORE ZV
008067,000970:
008068,000971: 22,7367 75176 DIFEQ0 VMOVE 0 # POSITION DEVIATION INTO ALPHA.
008069,000972: 22,7370 01344 YV
008070,000973: 22,7371 33374 STORE ALPHAV
008071,000974:
008072,000975: 22,7372 45176 DMOVE 0 # START H AT 0.
008073,000976: 22,7373 05460 DPZERO
008074,000977: 22,7374 33326 STORE H # GOES 0(DELT/2)DELT.
008075,000978:
008076,000979: 22,7375 47576 NOLOD 0 # ZERO DIFEQCNT AND REGISTER FOLLOWING.
008077,000980: 22,7376 33213 STORE DIFEQCNT # GOES 0(-12D)(-24D).
008078,000981:
008079,000982: 22,7377 44576 ITCI 0 # BEGIN AT ADDRESS IN FBRANCH.
008080,000983: 22,7400 01222 FBRANCH
008081,000984:
008082,000985:
008083,000986: # THE RECTIFY SUBROUTINE IS CALLED BY THE INTEGRATION PROGRAM (AND OCCASIONALLY BY THE MEASUREMENT
008084,000987: # INCORPORATION ROUTINES) TO ESTABLISH A NEW CONIC.
008085,000988:
008086,000989:
008087,000990:
008088,000991: 22,7401 45775 RECTIFY VSRT 1 # RECTIFY - FORM TOTAL POSITION AND VEL.
008089,000992: 22,7402 50776 VAD # ADJUST SCALE DIFFERENCE (ASSUMED
008090,000993: 22,7403 01330 TDELTAV
008091,000994: 22,7404 00013 RSCALE -4
008092,000995: 22,7405 01360 RCV
008093,000996: 22,7406 33274 STORE RRECT
008094,000997:
008095,000998: 22,7407 47576 NOLOD 0 # SET UP CONIC 'ANSWER' FOR TIMESTEP.
008096,000999: 22,7410 33360 STORE RCV
008097,001000:
008098,001001: 22,7411 45775 VSRT 1
008099,001002: 22,7412 50776 VAD
008100,001003: 22,7413 01336 TNUV
008101,001004: 22,7414 00011 VSCALE -14D
008102,001005: 22,7415 01366 VCV
008103,001006: 22,7416 33302 STORE VRECT
008104,001007:
008105,001008: 22,7417 75575 AXT,1 1 # ZERO DELTA, NU, AND TIME SINCE RECTIFI-
008106,001009: 22,7420 55423 AST,1 DMOVE
008107,001010: 22,7421 00015 12D
008108,001011: 22,7422 00003 2
008109,001012: 22,7423 05460 DPZERO
008110,001013: 22,7424 33312 STORE TC
008111,001014:
008112,001015: 22,7425 47576 ZEROLOOP NOLOD 0 # INDEXES CAUSE LOOP TO ZERO 6 CONSECUTIVE
008113,001016: 22,7426 36707 STORE YV,1 # DP NUMBERS (DELTA AND NU ARE ADJACENT).
008114,001017:
008115,001018: 22,7427 51575 TIX,1 1 # LOOP OR START INTEGRATION STEP IF DONE.
008116,001019: 22,7430 72601 STZ ITCQ
008117,001020: 22,7431 05426 ZEROLOOP
008118,001021: 22,7432 01213 DIFEQCNT
008119,001022:
008120,001023:
008121,001024: # THE THREE DIFEQ ROUTINES - DIFEQ+0, DIFEQ+12, AND DIFEQ+24 - ARE ENTERED TO PROCESS THE CONTRIBUTIONS
008122,001025: # AT THE BEGINNING, MIDDLE, AND END OF THE TIME STEP, RESPECTIVELY. THE UPDATING IS DONE BY THE NYSTROM METHOD.
008123,001026:
008124,001027:
008125,001028:
008126,001029: 22,7433 45776 DIFEQ+0 VSRT 0
008127,001030: 22,7434 01424 FV
008128,001031: 22,7435 00004 3
008129,001032: 22,7436 33410 STORE PHIV
008130,001033:
008131,001034: 22,7437 76776 ITC 0
008132,001035: 22,7440 05620 DIFEQCOM
008133,001036:
008134,001037: 22,7447 LOC +6 # ENTRIES MUST BE 12 WORDS APART
008135,001038:
008136,001039: 22,7447 45775 DIFEQ+12 VSRT 1
008137,001040: 22,7450 50776 VAD
008138,001041: 22,7451 01424 FV
008139,001042: 22,7452 00002 1
008140,001043: 22,7453 01410 PHIV
008141,001044: 22,7454 33416 STORE PSIV
008142,001045:
008143,001046: 22,7455 76776 ITC 0
008144,001047: 22,7456 05612 DIFEQCOM -6
008145,001048:
008146,001049: 22,7457 00000 00000 DPZERO 2DEC 0.0
008147,001050:
008148,001051: 22,7461 25252 25253 DP2/3 2DEC .6666666667
008149,001052:
008150,001053: 22,7463 75773 DIFEQ+24 VXSC 3 # DO FINAL CALCULATION FOR Y AND Z.
008151,001054: 22,7464 75622 VXSC VSLT
008152,001055: 22,7465 50766 VAD VXSC
008153,001056: 22,7466 50776 VAD
008154,001057: 22,7467 01410 PHIV
008155,001058: 22,7470 01326 H
008156,001059: 22,7471 05462 DP2/3
008157,001060: 22,7472 00002 1
008158,001061: 22,7473 01352 ZV
008159,001062: 22,7474 01326 H
008160,001063: 22,7475 01344 YV
008161,001064: 22,7476 33344 STORE YV
008162,001065: 22,7477 45772 VSRT 4
008163,001066: 22,7500 50766 VAD VXSC
008164,001067: 22,7501 75622 VXSC VSLT
008165,001068: 22,7502 50615 VAD TEST # SEE IF THIS IS STATE VECTOR OR W COLUMN.
008166,001069: 22,7503 75576 AXT,1
008167,001070: 22,7504 01424 FV
008168,001071: 22,7505 00004 3
008169,001072: 22,7506 01416 PSIV
008170,001073: 22,7507 01326 H
008171,001074: 22,7510 05462 DP2/3
008172,001075: 22,7511 00002 1
008173,001076: 22,7512 01352 ZV
008174,001077: 22,7513 00002 JSWITCH
008175,001078: 22,7514 05545 ENDSTATE
008176,001079: 22,7515 00001 0
008177,001080: 22,7516 37360 STORE W +72D,2 # VELOCITY COLUMN VECTOR.
008178,001081:
008179,001082: 22,7517 75176 VMOVE 0
008180,001083: 22,7520 01344 YV
008181,001084: 22,7521 37250 STORE W +36D,2 # POSITION COLUMN VECTOR.
008182,001085:
008183,001086: 22,7522 50575 TIX,2 1
008184,001087: 22,7523 77576 EXIT
008185,001088: 22,7524 05535 NEXTCOL
008186,001089:
008187,001090: 22,7525 02240 TC PHASCHNG
008188,001091: 22,7526 01401 OCT 01401
008189,001092: 22,7527 06144 TC FFEXIT
008190,001093:
008191,001094: 22,7530 06246 TC FLSTCHK
008192,001095:
008193,001096: 22,7531 04000 ENDSTEP TC INTPRET
008194,001097: 22,7532 44576 ITCI 0
008195,001098: 22,7533 01212 STEPEXIT
008196,001099:
008197,001100: 22,7534 74176 NEXTCOL VMOVE* 0 # SET UP NEXT COLUMNS OF W MATRIX.
008198,001101: 22,7535 03250 W +36D,2
008199,001102: 22,7536 33344 STORE YV
008200,001103:
008201,001104: 22,7537 74176 VMOVE* 0
008202,001105: 22,7540 03360 W +72D,2
008203,001106: 22,7541 33352 STORE ZV
008204,001107:
008205,001108: 22,7542 76776 ITC 0
008206,001109: 22,7543 05370 DIFEQ0
008207,001110:
008208,001111: 22,7544 77576 ENDSTATE EXIT 0
008209,001112:
008210,001113: 22,7545 02240 TC PHASCHNG
008211,001114: 22,7546 01201 OCT 01201
008212,001115: 22,7547 06144 TC FFEXIT
008213,001116:
008214,001117: 22,7550 06246 TC FLSTCHK
008215,001118:
008216,001119: 22,7551 04000 TC INTPRET
008217,001120: 22,7552 47576 NOLOD 0
008218,001121: 22,7553 33336 STORE TNUV
008219,001122: 22,7554 75176 VMOVE 0
008220,001123: 22,7555 01344 YV
008221,001124: 22,7556 33330 STORE TDELTAV
008222,001125: 22,7557 56775 TSRT 1 # UPDATE TIME SINCE RECTIFICATION.
008223,001126: 22,7560 46542 ROUND DAD
008224,001127: 22,7561 01326 H
008225,001128: 22,7562 00007 TSCALE -18D
008226,001129: 22,7563 01312 TC
008227,001130: 22,7564 33312 STORE TC
008228,001131:
008229,001132: 22,7565 45176 DMOVE 0
008230,001133: 22,7566 01320 TET
008231,001134: 22,7567 33316 STORE TETDISP
008232,001135:
008233,001136: 22,7570 77576 EXIT 0
008234,001137:
008235,001138: 22,7571 02240 TC PHASCHNG
008236,001139: 22,7572 01301 OCT 01301
008237,001140: 22,7573 06144 TC FFEXIT
008238,001141:
008239,001142: 22,7574 06246 TC FLSTCHK
008240,001143:
008241,001144: 22,7575 04000 TC INTPRET
008242,001145: 22,7576 74573 SETWINT AXT,2 3 # SET UP W MATRIX EXTRAPOLATION ROUTINES.
008243,001146: 22,7577 54565 AST,2 AXT,1 # PROGRAM DESCRIPTION IS AT DOW.. .
008244,001147: 22,7600 67411 SXA,1 SWITCH
008245,001148: 22,7601 75572 AXT,1 ITC
008246,001149: 22,7602 00045 36D
008247,001150: 22,7603 00007 6
008248,001151: 22,7604 05643 DOW..
008249,001152: 22,7605 01222 FBRANCH
008250,001153: 22,7606 00002 JSWITCH
008251,001154: 22,7607 00001 0
008252,001155: 22,7610 05535 NEXTCOL
008253,001156:
008254,001157:
008255,001158: # COMES HERE TO FINISH FIRST TWO DIFEQ COMPUTATIONS.
008256,001159:
008257,001160:
008258,001161:
008259,001162: 22,7611 45775 -6 VSRT 1 # ENTERS HERE FROM DIFEQ+12 MIDPOINT
008260,001163: 22,7612 50776 VAD # COMPUTATION.
008261,001164: 22,7613 01424 FV
008262,001165: 22,7614 00003 2
008263,001166: 22,7615 01410 PHIV
008264,001167: 22,7616 33410 STORE PHIV
008265,001168:
008266,001169: 22,7617 70775 DIFEQCOM DAD 1 # INCREMENT H AND DIFEQCNT.
008267,001170: 22,7620 63535 INCR,1 SXA,1
008268,001171: 22,7621 01324 DT/2
008269,001172: 22,7622 01326 H
008270,001173: 22,7623 77764 -12D
008271,001174: 22,7624 01213 DIFEQCNT # DIFEQCNT SET FOR NEXT ENTRY.
008272,001175: 22,7625 33326 STORE H
008273,001176:
008274,001177: 22,7626 75774 VXSC 2
008275,001178: 22,7627 45642 VSRT VAD
008276,001179: 22,7630 75642 VXSC VAD
008277,001180: 22,7631 01424 FV
008278,001181: 22,7632 01326 H
008279,001182: 22,7633 00002 1
008280,001183: 22,7634 01352 ZV
008281,001184: 22,7635 01326 H
008282,001185: 22,7636 01344 YV
008283,001186: 22,7637 33374 STORE ALPHAV
008284,001187:
008285,001188: 22,7640 44576 ITCI 0 # EXIT VIA FBRANCH.
008286,001189: 22,7641 01222 FBRANCH
008287,001190:
008288,001191: 22,7642 22,7433 DIFEQ EQUALS DIFEQ+0
008289,001192:
008290,001193:
008291,001194: # ORBITAL ROUTINE FOR EXTRAPOLATING THE W MATRIX. IT COMPUTES THE
008292,001195: # SECOND DERIVATIVE OF EACH COLUMN POSITION VECTOR OF THE MATRIX AND CALLS
008293,001196: # THE NYSTOM INTEGRATION ROUTINES TO SOLVE THE DIFFERENTIAL EQUATIONS. THE
008294,001197: # PROGRAM USES A TABLE OF VEHICLE POSITION VECTORS COMPUTED DURING THE
008295,001198: # INTEGRATION OF THE VEHICLES POSITION AND VELOCITY.
008296,001199:
008297,001200: 22,7642 45776 DOW.. VSRT 0
008298,001201: 22,7643 01374 ALPHAV
008299,001202: 22,7644 00005 4
008300,001203:
008301,001204: 22,7645 72174 UNIT* 2 # X1 REFERENCES THE TABLE OF POSITION
008302,001205: 22,7646 40766 VPROJ VXSC # VECTORS AND CALLS THE CORRECT DIFEQ PROG
008303,001206: 22,7647 74776 VSU
008304,001207: 22,7650 02457 VECTAB,1
008305,001208: 22,7651 01374 ALPHAV
008306,001209: 22,7652 05723 3/4
008307,001210:
008308,001211: 22,7653 64772 DMP 4 # CUBE OF LENGTH OF POSITION VECTOR
008309,001212: 22,7654 57631 TSLC ROUND # DIVIDES VECTOR IN PUSH-DOWN LIST TO
008310,001213: 22,7655 61766 BDDV VXSC # FORM FINAL RESULT.
008311,001214: 22,7656 64511 XCHX,2 INCR,2 # INCREMENT COMPENSATES FOR .5 R IN 30D.
008312,001215: 22,7657 44351 VSLT* LXA,2
008313,001216: 22,7660 00035 28D
008314,001217: 22,7661 00037 30D
008315,001218: 22,7662 00051 S1
008316,001219: 22,7663 04505 DP1/4
008317,001220: 22,7664 77777 -
008318,001221: 22,7665 00051 S1
008319,001222: 22,7666 00004 3
008320,001223: 22,7667 00002 0,2
008321,001224: 22,7670 00051 S1
008322,001225: 22,7671 33424 STORE FV
008323,001226:
008324,001227: 22,7672 76376 ITC* 0 # CALL NYSTROM ROUTINES ACCORDING TO X1.
008325,001228: 22,7673 13067 DIFEQ,1
008326,001229:
008327,001230: 22,7674 75175 LOADVEC1 VMOVE 1
008328,001231: 22,7675 40576 ITCQ
008329,001232: 22,7676 05706 TESTVEC1
008330,001233:
008331,001234: 22,7677 73575 LOADVEC2 LXA,1 1
008332,001235: 22,7700 67563 SXA,1 VMOVE
008333,001236: 22,7701 00067 FIXLOC
008334,001237: 22,7702 00123 PUSHLOC
008335,001238: 22,7703 05711 TESTVEC2
008336,001239:
008337,001240: 22,7704 40576 ITCQ 0
008338,001241:
The following set of constants are loaded as vectors, which are stored directly into BETAV or used for other calculations. It's unclear what exactly they are, and they are specified in a form that suggests the original listing also used octal constants instead of 2DEC formulations (i.e., the two overlap by 3 words, splitting a DP boundary, and the last element of TESTVEC2 has mixed signs, which Yul is incapable of directly generating). |
008345,001248: 22,7705 00006 TESTVEC1 OCT 00006
008346,001249: 22,7706 00000 OCT 00000
008347,001250: 22,7707 00000 OCT 00000
008348,001251: 22,7710 00012 TESTVEC2 OCT 00012
008349,001252: 22,7711 00000 OCT 00000
008350,001253: 22,7712 00000 OCT 00000
008351,001254: 22,7713 00000 OCT 00000
008352,001255: 22,7714 00000 OCT 00000
008353,001256: 22,7715 77743 OCT 77743
008354,001257:
008355,001258: 22,7716 26376 33347 EARTHTAB 2DEC .70305529 # 443.87417 / SQRT(MU).
008356,001259: 22,7720 36000 00000 15/16 2DEC 15. B-4
008357,001260: 22,7722 30000 00000 3/4 2DEC 3.0 B-2
008358,001261: 22,7724 12576 37656 J2REQSQ 2DEC .33587616
008359,001262: 22,7726 22525 12525 7/12 2DEC .5833333333
008360,001263: 22,7730 22000 00000 9/16 2DEC 9 B-4
008361,001264: 22,7732 01200 00000 5/128 2DEC 5 B-7
008362,001265: 22,7734 77711 71071 2J3RE/J2 2DEC -.0033090338
008363,001266: 22,7736 26755 15117 J4REQ/J3 2DEC .71761542
008364,001267: 22,7740 25252 25253 2/3 2DEC .6666666667
008365,001268: 22,7742 P2'/8 EQUALS 0
008366,001269: 22,7742 P3'/4 EQUALS 2
008367,001270: 22,7742 P4'/16 EQUALS 4
008368,001271:
008369,001272: 22,7742 20000 00000 DP1/2 2DEC .5
008370,001273:
008371,001274: 23,6000 BANK 23
008372,001275:
008373,001276: # INITIAL W-MATRIX FOR ORBITAL INTEGRATION.
008374,001277:
008375,001278: 23,6000 06337 30644 WINIT 2DEC 0.20115818
008376,001279: 23,6002 00000 00000 FFZERO 2DEC 0.0
008377,001280: 23,6004 00000 00000 2DEC 0.0
008378,001281:
008379,001282: 23,6006 00000 00000 2DEC 0.0
008380,001283: 23,6010 06337 30644 2DEC 0.20115818
008381,001284: 23,6012 00000 00000 2DEC 0.0
008382,001285:
008383,001286: 23,6014 00000 00000 2DEC 0.0
008384,001287: 23,6016 00000 00000 2DEC 0.0
008385,001288: 23,6020 06337 30644 2DEC 0.20115818
008386,001289:
008387,001290: 23,6022 00000 00000 2DEC 0.0
008388,001291: 23,6024 00000 00000 2DEC 0.0
008389,001292: 23,6026 00000 00000 2DEC 0.0
008390,001293:
008391,001294: 23,6030 00000 00000 2DEC 0.0
008392,001295: 23,6032 00000 00000 2DEC 0.0
008393,001296: 23,6034 00000 00000 2DEC 0.0
008394,001297:
008395,001298: 23,6036 00000 00000 2DEC 0.0
008396,001299: 23,6040 00000 00000 2DEC 0.0
008397,001300: 23,6042 00000 00000 2DEC 0.0
008398,001301:
008399,001302: 23,6044 00000 00000 2DEC 0.0
008400,001303: 23,6046 00000 00000 2DEC 0.0
008401,001304: 23,6050 00000 00000 2DEC 0.0
008402,001305:
008403,001306: 23,6052 00000 00000 2DEC 0.0
008404,001307: 23,6054 00000 00000 2DEC 0.0
008405,001308: 23,6056 00000 00000 2DEC 0.0
008406,001309:
008407,001310: 23,6060 00000 00000 2DEC 0.0
008408,001311: 23,6062 00000 00000 2DEC 0.0
008409,001312: 23,6064 00000 00000 2DEC 0.0
008410,001313:
008411,001314: 23,6066 00574 04656 2DEC 0.02320259
008412,001315: 23,6070 00000 00000 2DEC 0.0
008413,001316: 23,6072 00000 00000 2DEC 0.0
008414,001317:
008415,001318: 23,6074 00000 00000 2DEC 0.0
008416,001319: 23,6076 00574 04656 2DEC 0.02320259
008417,001320: 23,6100 00000 00000 2DEC 0.0
008418,001321:
008419,001322: 23,6102 00000 00000 2DEC 0.0
008420,001323: 23,6104 00000 00000 2DEC 0.0
008421,001324: 23,6106 00574 04656 2DEC 0.02320259
End of include-file ORBITAL_INTEGRATION_PROGRAM.agc. Parent file is MAIN.agc