Source Code
These source-code files were obtained by digitally photographing
a Solarium 55 (Apollo 6) program listing from the American Computer Museum in
Bozeman, Montana. Photography was by Ron Burkey, with assistance from
museum curator George Keremedjiev and Montana
State University curator Kim Scott. The listing originally belonged to Eldon C. Hall,
who donated it to the museum. Volunteers then manually typed in the
source code or else modified similar pre-existing Colossus 249
(Apollo 9) source files to incorporate changes, although this transcription was
principally done by Jim Lawton and corrected by Ron Burkey.
Notations on the program listing read, in part:YUL SYSTEM FOR AGC4: REVISION 0 OF PROGRAM SOLRUM55 BY NASA 1021108-021 DEC. 4, 1966Note that the date is the date of the printout, not the date of the program revision. Due to statements by Jay Sampson, the original contractor from AC Electronics who created Solarium 54 (Apollo 4) from the earlier Corona (AS-202 mission) program, it is believed that Solarium 54 and Solarium 55 (Apollo 6) are actually identical programs. The change in numbering, from 54 to 55, is believed to be for some administrative purpose. Thus, it is believed that the source-code represented here is equally appropriate for both Apollo 4 and Apollo 6 missions. |
011595,000002: ## Copyright: Public domain.
011596,000003: ## Filename: ORBITAL_INTEGRATION_PROGRAM.agc
011597,000004: ## Purpose: Part of the source code for Solarium build 55. This
011598,000005: ## is for the Command Module's (CM) Apollo Guidance
011599,000006: ## Computer (AGC), for Apollo 6.
011600,000007: ## Assembler: yaYUL --block1
011601,000008: ## Contact: Jim Lawton <jim DOT lawton AT gmail DOT com>
011602,000009: ## Website: www.ibiblio.org/apollo/index.html
011603,000010: ## Page Scans: www.ibiblio.org/apollo/ScansForConversion/Solarium055/
011604,000011: ## Mod history: 2009-09-22 JL Created.
011605,000012: ## 2016-08-20 RSB Typos.
011606,000013: ## 2016-12-28 RSB Proofed comment text using octopus/ProoferComments,
011607,000014: ## and fixed errors found.
011608,000015:
Page 296 |
011610,000017:
011611,000018: 23,6000 BANK 23
011612,000019:
011613,000020: # *** SCALING FACTORS AND ARGUMENTS ***
011614,000021:
011615,000022: 23,6000 DEL = 2
011616,000023: 23,6000 DEL+E = 2
011617,000024: 23,6000 2DEL = 4
011618,000025: 23,6000 2DEL+E = 4
011619,000026: 23,6000 E = 0
011620,000027: 23,6000 RSCALE = 16D
011621,000028: 23,6000 VSCALE = 6
011622,000029: 23,6000 TSCALE = 27D
011623,000030: 23,6000 2VSCALE = 12D
011624,000031: 23,6000 4RSCALE = 64D
011625,000032: 23,6000 R+VSCALE = 22D
011626,000033:
011627,000034: # FBR3 SETS UP A TIMESTEP CALL TO KEPLER.
011628,000035:
011629,000036: 23,6000 56775 FBR3 TSRT 1
011630,000037: 23,6001 46542 ROUND DAD
011631,000038: 23,6002 01265 H
011632,000039: 23,6003 00012 TSCALE -18D
011633,000040: 23,6004 01145 TC
011634,000041: 23,6005 33261 STORE TAU
011635,000042:
011636,000043: 23,6006 64774 DMP 2
011637,000044: 23,6007 56631 TSRT ROUND
011638,000045: 23,6010 70776 DAD
011639,000046: 23,6011 07431 EARTHTAB
011640,000047: 23,6012 01263 DT/2
011641,000048: 23,6013 00015 12D
011642,000049: 23,6014 01147 TET
011643,000050: 23,6015 33147 STORE TET
011644,000051:
011645,000052: 23,6016 76776 ITC 0
011646,000053: 23,6017 06027 KEPLER
011647,000054:
011648,000055: 23,6020 76776 ITC 0
011649,000056: 23,6021 06066 KEPLER2
011650,000057:
011651,000058: 23,6022 76776 GETKTIME ITC 0
011652,000059: 23,6023 06145 KTIMEN+1
011653,000060:
011654,000061: 23,6024 76776 ITC 0
011655,000062: 23,6025 06225 KEPLER3
011656,000063:
Page 297 |
011658,000065:
011659,000066: # THIS ORBITAL KEPLER SUBROUTINE FINDS THE POSITION AND VELOCITY OF THE VEHICLE AFTER TIME FOUND IN
011660,000067: # GIVENT SINCE RECTIFICATION TO POSITION RRECT AND VELOCITY VRECT . THE RESULTING POSITION AND VELOCITY ARE
011661,000068: # LEFT IN FOUNDR AND FOUNDV , RESPECTIVELY.
011662,000069:
011663,000070: 23,6026 73575 KEPLER LXA,1 1 # UNIT OF RECTIFICATION POSITION TO 0
011664,000071: 23,6027 67553 SXA,1 UNIT
011665,000072: 23,6030 00070 FIXLOC
011666,000073: 23,6031 00124 PUSHLOC
011667,000074: 23,6032 01101 RRECT
011668,000075:
011669,000076: 23,6033 63776 TSLT 0 # AND LENGTH OF ORIGINAL IN 6.
011670,000077: 23,6034 00037 30D
011671,000078: 23,6035 00002 1
011672,000079:
011673,000080: 23,6036 67173 VSQ 3 # A4 TO REGISTER 8.
011674,000081: 23,6037 46522 ROUND DMP
011675,000082: 23,6040 63732 TSLT DSU
011676,000083: 23,6041 63631 TSLT ROUND
011677,000084: 23,6042 01107 VRECT
011678,000085: 23,6043 00007 6 # LENGTH OF POSITION AT RECTIFICATION.
011679,000086: 23,6044 00004 2DEL+E -1
011680,000087: 23,6045 07445 DP1/2
011681,000088: 23,6046 00002 1
011682,000089:
011683,000090: 23,6047 47573 NOLOD 3 # ALPHA TO REGISTER 10.
011684,000091: 23,6050 56633 TSRT COMP
011685,000092: 23,6051 70672 DAD TSRT
011686,000093: 23,6052 62776 DDV
011687,000094: 23,6053 00002 1
011688,000095: 23,6054 07445 DP1/2
011689,000096: 23,6055 00004 2DEL+E -1
011690,000097: 23,6056 00007 6
011691,000098:
011692,000099: 23,6057 42775 DOT 1 # A1 TO REGISTER 12.
011693,000100: 23,6060 63631 TSLT ROUND
011694,000101: 23,6061 01101 RRECT
011695,000102: 23,6062 01107 VRECT
011696,000103: 23,6063 00003 DEL+E
011697,000104:
011698,000105: 23,6064 40576 ITCQ 0
011699,000106:
Page 298 |
011701,000108:
011702,000109: 23,6065 73175 KEPLER2 UNIT 1
011703,000110: 23,6066 74412 AXT,2 DOT
011704,000111: 23,6067 01131 RCV
011705,000112: 23,6070 00013 10D # SET MAXIMUM ITERATION COUNT TO 10.
011706,000113: 23,6071 01137 VCV # IR/2 . VC IN 14
011707,000114:
011708,000115: 23,6072 63776 TSLT 0
011709,000116: 23,6073 00037 30D
011710,000117: 23,6074 00002 1
011711,000118: 23,6075 33255 STORE ALPHAM # RC IN ALPHAM.
011712,000119:
011713,000120: 23,6076 56775 TSRT 1
011714,000121: 23,6077 46512 ROUND DDV
011715,000122: 23,6100 01263 DT/2
011716,000123: 23,6101 00012 TSCALE -18D
011717,000124: 23,6102 01255 ALPHAM # Q IN 16.
011718,000125:
011719,000126: 23,6103 56772 TSRT 4
011720,000127: 23,6104 62732 DDV DSU
011721,000128: 23,6105 55666 DMPR DMPR
011722,000129: 23,6106 55661 DMPR AST,2
011723,000130: 23,6107 63776 TSLT
011724,000131: 23,6110 07445 DP1/2
011725,000132: 23,6111 00004 2DEL+E -1
011726,000133: 23,6112 01255 ALPHAM
011727,000134: 23,6113 00013 10D # 1/4RC - ALPHA
011728,000135: 23,6114 00021 16D # Q ( )
011729,000136: 23,6115 00021 16D # Q Q ( )
011730,000137: 23,6116 06306 DP1/3
011731,000138: 23,6117 00002 1
011732,000139: 23,6120 00011 2DEL +4
011733,000140:
011734,000141: 23,6121 55775 DMPR 1
011735,000142: 23,6122 63776 TSLT
011736,000143: 23,6123 00017 14D
011737,000144: 23,6124 00021 16D
011738,000145: 23,6125 00006 DEL +3
011739,000146:
011740,000147: 23,6126 47572 NOLOD 4
011741,000148: 23,6127 65666 BDSU DMPR
011742,000149: 23,6130 65732 BDSU DSU
011743,000150: 23,6131 64716 DMP TSLT
011744,000151: 23,6132 46542 ROUND DAD
011745,000152: 23,6133 07445 DP1/2
011746,000153: 23,6134 77777 - # 20
011747,000154: 23,6135 07445 DP1/2
011748,000155: 23,6136 77777 - # 18
011749,000156: 23,6137 77777 - # 16
011750,000157: 23,6140 00002 1
011751,000158: 23,6141 01151 XKEP
Page 299 |
011753,000160: 23,6142 33151 STORE XKEP
011754,000161:
011755,000162: 23,6143 40576 ITCQ 0
011756,000163:
Page 300 |
011758,000165:
011759,000166: # ITERATING EQUATIONS - GIVEN X IN MPAC AND 14D, FIND TIME OF FLIGHT.
011760,000167:
011761,000168:
011762,000169:
011763,000170: 23,6144 47571 KTIMEN+1 NOLOD 5 # FORM ALPHA X-SQUARED AND CALL S AND C.
011764,000171: 23,6145 51031 DSQ ROUND
011765,000172: 23,6146 64716 DMP TSLT
011766,000173: 23,6147 46555 ROUND LXA,1 # AND SET PD INDICATOR TO 16 AS WELL.
011767,000174: 23,6150 63535 INCR,1 SXA,1
011768,000175: 23,6151 45572 ITA ITC
011769,000176: 23,6152 00013 10D # ALPHA
011770,000177: 23,6153 00005 2DEL
011771,000178: 23,6154 00070 FIXLOC
011772,000179: 23,6155 00021 16D
011773,000180: 23,6156 00124 PUSHLOC
011774,000181: 23,6157 01273 GMODE
011775,000182: 23,6160 06312 S(X)C(X)
011776,000183:
011777,000184: 23,6161 47572 NOLOD 4 # S RETURNS IN MPAC, C ON TOP OF PDL.
011778,000185: 23,6162 64716 DMP TSLT
011779,000186: 23,6163 64716 DMP TSLT
011780,000187: 23,6164 64716 DMP TSLT
011781,000188: 23,6165 46576 ROUND
011782,000189: 23,6166 01151 XKEP
011783,000190: 23,6167 00005 4
011784,000191: 23,6170 01151 XKEP
011785,000192: 23,6171 00002 E +1
011786,000193: 23,6172 01151 XKEP
011787,000194: 23,6173 00002 1
011788,000195: 23,6174 32030 STORE 23D # A3.
011789,000196:
011790,000197: 23,6175 47575 NOLOD 1
011791,000198: 23,6176 55776 DMPR
011792,000199: 23,6177 00011 8D
011793,000200:
011794,000201: 23,6200 64774 DMP 2
011795,000202: 23,6201 63722 TSLT DMP
011796,000203: 23,6202 63631 TSLT ROUND
011797,000204: 23,6203 01151 XKEP
011798,000205: 23,6204 00021 16D # VALUE OF C.
011799,000206: 23,6205 00006 5
011800,000207: 23,6206 01151 XKEP
011801,000208: 23,6207 00003 E +2
011802,000209: 23,6210 32026 STORE 21D # A2.
011803,000210:
011804,000211: 23,6211 47574 NOLOD 2
011805,000212: 23,6212 64672 DMP TSRT
011806,000213: 23,6213 46542 ROUND DAD
011807,000214: 23,6214 00015 12D # A1.
011808,000215: 23,6215 00003 2
Page 301 |
011810,000217: 23,6216 55775 DMPR 1
011811,000218: 23,6217 70776 DAD
011812,000219: 23,6220 00007 6
011813,000220: 23,6221 01151 XKEP # COMPUTED TIME TO PD+18.
011814,000221:
011815,000222: 23,6222 44576 ITCI 0
011816,000223: 23,6223 01273 GMODE
011817,000224:
011818,000225: 23,6224 47575 KEPLER3 NOLOD 1 # COMPARE COMPUTED TIME WITH GIVEN TIME.
011819,000226: 23,6225 65776 BDSU
011820,000227: 23,6226 01261 GIVENT
011821,000228: 23,6227 32021 STORE 16D # DIFFERENCE TO REGISTER 16.
011822,000229:
011823,000230: 23,6230 77576 EXIT 0 # FOR DUMP ONLY **************
011824,000231: 23,6231 04000 DUMPDUMP TC INTPRET
011825,000232:
011826,000233: 23,6232 47573 NOLOD 3
011827,000234: 23,6233 65132 ABS DSU
011828,000235: 23,6234 73641 BMN TIX,2
011829,000236: 23,6235 76776 ITC
011830,000237: 23,6236 06300 KEPSILON # SEE IF WITHIN EPSILON OF GIVEN TIME.
011831,000238: 23,6237 06407 GETRANDV # IF SO, GET R AND V AND EXIT.
011832,000239:
011833,000240: 23,6240 06243 GETNEWX
011834,000241: 23,6241 06407 GETRANDV
011835,000242:
011836,000243: 23,6242 64772 GETNEWX DMP 4
011837,000244: 23,6243 63631 TSLT ROUND
011838,000245: 23,6244 65722 BDSU DMP
011839,000246: 23,6245 53514 AXC,1 TSLT*
011840,000247: 23,6246 46576 ROUND
011841,000248: 23,6247 00013 10D # ALPHA
011842,000249: 23,6250 00030 23D # A3
011843,000250: 23,6251 00005 2DEL+E
011844,000251: 23,6252 01151 XKEP
011845,000252: 23,6253 00015 12D # A1
011846,000253: 23,6254 00004 E -3
011847,000254: 23,6255 00001 0,1
011848,000255: 23,6256 32023 STORE 18D
011849,000256:
011850,000257: 23,6257 64774 DMP 2
011851,000258: 23,6260 63631 TSLT ROUND
011852,000259: 23,6261 70742 DAD DAD
011853,000260: 23,6262 00026 21D # A2
011854,000261: 23,6263 00011 8D # A4
011855,000262: 23,6264 00002 1
011856,000263: 23,6265 77777 -
011857,000264: 23,6266 00007 6 # R0
011858,000265:
011859,000266: 23,6267 62775 DDV 1
Page 302 |
011861,000268: 23,6270 70776 DAD
011862,000269: 23,6271 00021 16D
011863,000270: 23,6272 00023 18D
011864,000271: 23,6273 01151 XKEP
011865,000272: 23,6274 33151 STORE XKEP
011866,000273:
011867,000274: 23,6275 76776 ITC 0
011868,000275: 23,6276 06023 GETKTIME
011869,000276:
Page 303 |
011871,000278:
011872,000279: # CONSTANTS.
011873,000280:
011874,000281: 23,6277 00000 KEPSILON OCT 00000
011875,000282: 23,6300 00002 OCT 00002
011876,000283: 23,6301 14000 00000 THREE/8 2DEC .375
011877,000284: 23,6303 10000 00000 DP1/4 2DEC .25
011878,000285: 23,6305 12525 12525 DP1/3 2DEC .333333333
011879,000286: 23,6307 23,6303 DQUARTER EQUALS DP1/4
011880,000287: 23,6307 02000 00000 POS1/16 2DEC .0625
011881,000288: 23,6311 23,6303 POS1/4 EQUALS DP1/4
011882,000289: 23,6311 23,6301 3/8 EQUALS THREE/8
011883,000290:
Page 304 |
011885,000292:
011886,000293: # SUBROUTINE FOR COMPUTING THE UNIVERSAL CONIC FUNCTIONS S(X) AND C(X). THE ACTUAL OUTPUT OF THIS ROUTINE
011887,000294: # CONSISTS OF SCALED VERSIONS DEFINED AS FOLLOWS:
011888,000295:
011889,000296: # S (X) = S(64X) C (X) = C(64X)/4
011890,000297: # S S
011891,000298:
011892,000299: # IT IS ASSUMED THAT THE INPUT ARRIVES IN MPAC,MPAC+1, AND THAT IT LIES BETWEEN -30/64 AND 40/64. UPON
011893,000300: # EXIT, S(X) WILL BE LEFT IN MPAC,MPAC+1 AND C(X) ON TOP OF THE PUSHDOWN LIST.
011894,000301:
011895,000302:
011896,000303:
011897,000304: 23,6311 47576 S(X)C(X) NOLOD 0 # SAVE ARGUMENT
011898,000305: 23,6312 32033 STORE XSTOREX
011899,000306:
011900,000307: 23,6313 47574 NOLOD 2 # 2
011901,000308: 23,6314 76443 RTB DSQ # COMPUTE A (X)
011902,000309: 23,6315 46576 ROUND
011903,000310: 23,6316 06351 A(X)
011904,000311: 23,6317 32031 STORE ASQ
011905,000312:
011906,000313: 23,6320 47573 NOLOD 3 # 2 2
011907,000314: 23,6321 64716 DMP TSLT # C (X)=A (.25 - 2XA ) TO PUSHDOWN LIST
011908,000315: 23,6322 46526 ROUND BDSU # S
011909,000316: 23,6323 55776 DMPR
011910,000317: 23,6324 00033 XSTOREX
011911,000318: 23,6325 00002 1
011912,000319: 23,6326 06304 POS1/4
011913,000320: 23,6327 00031 ASQ
011914,000321:
011915,000322: 23,6330 56775 TSRT 1 # 2
011916,000323: 23,6331 46576 ROUND # A /4 TO PUSHDOWN LIST
011917,000324: 23,6332 00031 ASQ
011918,000325: 23,6333 00003 2
011919,000326:
011920,000327: 23,6334 45174 DMOVE 2 # 2
011921,000328: 23,6335 76443 RTB DSQ # B TO PUSHDOWN LIST
011922,000329: 23,6336 46576 ROUND
011923,000330: 23,6337 00033 XSTOREX
011924,000331: 23,6340 06370 B(X)
011925,000332:
011926,000333: 23,6341 55774 DMPR 2 # 2 2 2
011927,000334: 23,6342 65666 BDSU DMPR # LEAVE S (X)=B (.0625-A X)+A /4 IN MPAC
011928,000335: 23,6343 70601 DAD ITCQ # S
011929,000336: 23,6344 00033 XSTOREX
011930,000337: 23,6345 00031 ASQ
011931,000338: 23,6346 06310 POS1/16
011932,000339:
011933,000340: 23,6347 XSTOREX = 26D
011934,000341: 23,6347 ASQ = 24D
011935,000342: 23,6347 70707 OCT 70707 # THIS HAS TO BE NEGATIVE TO TERMINATE EQN
011936,000343:
Page 305 |
011938,000345:
011939,000346: 23,6350 05554 A(X) TC POLY # A AND B POLYNOMIALS WHOSE COEFFICI-
011940,000347:
011941,000348: 23,6351 00012 DEC 10 B-14 # ENTS WERE OBTAINED WITH THE *AUTO-
011942,000349:
011943,000350: 23,6352 26501 07463 2DEC 7.071067810 E-1 # CURVEFIT* PROGRAM
011944,000351: 23,6354 60724 60210 2DEC -4.714045180 E-1
011945,000352: 23,6356 03010 26256 2DEC 9.42808914 E-2
011946,000353: 23,6360 77554 74242 2DEC -8.9791893 E-3
011947,000354: 23,6362 00010 05475 2DEC 4.989987 E-4
011948,000355: 23,6364 77777 66460 2DEC -1.79357 E-5
011949,000356:
011950,000357: 23,6366 04024 TC DANZIG # RE-ENTER INTERPRETER
011951,000358:
011952,000359:
011953,000360:
011954,000361: 23,6367 05554 B(X) TC POLY
011955,000362:
011956,000363: 23,6370 00012 DEC 10 B-14
011957,000364:
011958,000365: 23,6371 32101 17270 2DEC 8.164965793 E-1
011959,000366: 23,6373 65431 40174 2DEC -3.265986572 E-1
011960,000367: 23,6375 01710 10660 2DEC 5.90988980 E-2
011961,000368: 23,6377 77676 52270 2DEC -4.0085592 E-3
011962,000369: 23,6401 00004 21652 2DEC 2.781528 E-4
011963,000370: 23,6403 77777 71323 2DEC -1.25610 E-5
011964,000371:
011965,000372: 23,6405 04024 TC DANZIG # RETURN AS BEFORE
011966,000373:
Page 306 |
011968,000375:
011969,000376: # ROUTINE FOR OBTAINING R AND V, NOW THAT THE PROPER X HAS BEEN FOUND.
011970,000377:
011971,000378:
011972,000379:
011973,000380: 23,6406 73574 GETRANDV LXA,1 2
011974,000381: 23,6407 63535 INCR,1 SXA,1
011975,000382: 23,6410 47166 COMP VXSC
011976,000383: 23,6411 00070 FIXLOC
011977,000384: 23,6412 00032 25D
011978,000385: 23,6413 00124 PUSHLOC
011979,000386: 23,6414 00026 21D # AZ FROM LAST ITERATION.
011980,000387: 23,6415 00001 0 # UNIT OF GIVEN POSITION VECTOR.
011981,000388:
011982,000389: 23,6416 66774 DSU 2
011983,000390: 23,6417 63766 TSLT VXSC
011984,000391: 23,6420 50622 VAD VSLT
011985,000392: 23,6421 00023 18D # LAST VALUE OF T.
011986,000393: 23,6422 00030 23D # LAST VALUE OF A3.
011987,000394: 23,6423 00004 DEL +1
011988,000395: 23,6424 01107 VRECT
011989,000396: 23,6425 77777 -
011990,000397: 23,6426 00002 1
011991,000398:
011992,000399: 23,6427 47575 NOLOD 1 # ADDITION MUST BE DONE IN THIS ORDER.
011993,000400: 23,6430 50642 VAD VAD
011994,000401: 23,6431 01101 RRECT
011995,000402: 23,6432 33131 STORE FOUNDR # RESULTING CONIC POSITION.
011996,000403:
011997,000404: 23,6433 47575 NOLOD 1 # LENGTH OF ABOVE TO PD+16.
011998,000405: 23,6434 71116 ABVAL TSLT
011999,000406: 23,6435 00002 1
012000,000407: 23,6436 32021 STORE 16D
012001,000408:
012002,000409: 23,6437 64772 DMP 4
012003,000410: 23,6440 63631 TSLT ROUND
012004,000411: 23,6441 66672 DSU TSRT
012005,000412: 23,6442 62766 DDV VXSC
012006,000413: 23,6443 44776 VSLT
012007,000414: 23,6444 00013 10D # ALPHA.
012008,000415: 23,6445 00030 23D # A3
012009,000416: 23,6446 00005 2DEL+E
012010,000417: 23,6447 01151 XKEP
012011,000418: 23,6450 00003 DEL+E
012012,000419: 23,6451 00021 16D # LENGTH OF FOUND POSITION.
012013,000420: 23,6452 00001 0 # UNIT OF RECTIFICATION POSITION.
012014,000421: 23,6453 00004 3
012015,000422: 23,6454 56773 TSRT 3
012016,000423: 23,6455 66712 DSU DDV
012017,000424: 23,6456 75642 VXSC VAD
012018,000425: 23,6457 44776 VSLT
Page 307 |
012020,000427: 23,6460 00021 16D
012021,000428: 23,6461 00002 1
012022,000429: 23,6462 00026 21D
012023,000430: 23,6463 00021 16D
012024,000431: 23,6464 01107 VRECT
012025,000432: 23,6465 77777 -
012026,000433: 23,6466 00002 1
012027,000434: 23,6467 33137 STORE FOUNDV # THIS COMPLETES THE CALCULATION.
012028,000435:
012029,000436: 23,6470 44576 ITCI 0
012030,000437: 23,6471 01272 HBRANCH
012031,000438:
Page 308 |
012033,000440:
012034,000441: # THE POSTRUE ROUTINES SET UP THE BETA VECTOR AND OTHER INITIAL CONDITIONS FOR THE NEXT ACCOMP.
012035,000442:
012036,000443:
012037,000444:
012038,000445: 23,6472 73573 POSTRUE LXA,1 3
012039,000446: 23,6473 67426 SXA,1 VSRT
012040,000447: 23,6474 50751 VAD LXA,2
012041,000448: 23,6475 73535 LXA,1 SXA,1
012042,000449: 23,6476 01312 SCALDELT # SETS UP SCALE A.
012043,000450: 23,6477 01307 SCALEA
012044,000451: 23,6500 01153 ALPHAV
012045,000452: 23,6501 00015 RSCALE -4
012046,000453: 23,6502 01131 RCV # POSITION OUTPUT OF KEPLER.
012047,000454: 23,6503 01306 DIFEQCNT
012048,000455: 23,6504 01313 SCALER
012049,000456: 23,6505 01310 SCALEB # SET UP SCALE B AND G MODE.
012050,000457: 23,6506 33161 STORE BETAV
012051,000458:
012052,000459: 23,6507 67776 BHIZ 0
012053,000460: 23,6510 01304 WMATFLAG # TEST W MATRIX FLAG.
012054,000461: 23,6511 06516 ACCOMP
012055,000462:
012056,000463: 23,6512 75176 VMOVE 0
012057,000464: 23,6513 01161 BETAV
012058,000465: 23,6514 36422 STORE VECTAB,2 # SAVE R/PV IN VECTAB FOR W MATRIX UPDATE.
012059,000466:
Page 309 |
012061,000468:
012062,000469: # AGC ROUTINE TO COMPUTE ACCELERATION COMPONENTS.
012063,000470:
012064,000471:
012065,000472:
012066,000473: 23,6515 73176 ACCOMP UNIT 0 # UNITIZE ALPHA VECTOR
012067,000474: 23,6516 01153 ALPHAV
012068,000475: 23,6517 33153 STORE ALPHAV
012069,000476:
012070,000477: 23,6520 45176 DMOVE 0 # SAVE LENGTH OF ALPHA VECTOR
012071,000478: 23,6521 00037 30D
012072,000479: 23,6522 33255 STORE ALPHAM
012073,000480:
012074,000481: 23,6523 72776 STZ 0
012075,000482: 23,6524 00123 OVFIND
012076,000483:
012077,000484: 23,6525 45773 ACCOMP2 VSRT 3 # 2
012078,000485: 23,6526 67155 VSQ LXA,1 # NORMED B TO PD.
012079,000486: 23,6527 67476 SXA,1 TSLC
012080,000487: 23,6530 46576 ROUND
012081,000488: 23,6531 01161 BETAV
012082,000489: 23,6532 00002 1
012083,000490: 23,6533 00070 FIXLOC
012084,000491: 23,6534 00124 PUSHLOC
012085,000492: 23,6535 00051 S1
012086,000493:
012087,000494: 23,6536 57775 TSLC 1 # NORMALIZE (LESS ONE) LENGTH OF ALPHA
012088,000495: 23,6537 56776 TSRT # SAVING NORM. SCALE FACTOR IN X1
012089,000496: 23,6540 01255 ALPHAM
012090,000497: 23,6541 00047 X1
012091,000498: 23,6542 00002 1 # C(PDL+2)= ALMOST NORMED ALPHAM
012092,000499:
012093,000500: 23,6543 73176 UNIT 0 # SAME PROCEDURE FOR BETA VECTOR
012094,000501: 23,6544 01161 BETAV
012095,000502: 23,6545 33161 STORE BETAV
012096,000503:
012097,000504: 23,6546 45176 DMOVE 0
012098,000505: 23,6547 00037 30D
012099,000506: 23,6550 33257 STORE BETAM
012100,000507:
012101,000508: 23,6551 47574 NOLOD 2
012102,000509: 23,6552 57706 TSLC BDDV # FORM NORMALIZED QUOTIENT ALPHAM/BETAM
012103,000510: 23,6553 56631 TSRT ROUND
012104,000511: 23,6554 00050 X2
012105,000512: 23,6555 77777 -
012106,000513: 23,6556 00002 1 # C(PDL +2) = ALMOST NORMALIZED RHO.
Page 310 |
012108,000515: 23,6557 70573 LXC,2 3 # C(X2) = -SCALE(RHO) + 1.
012109,000516: 23,6560 60501 XAD,2 XAD,2 # = -S(B)-N(B)+S(A)+N(A)+1
012110,000517: 23,6561 56511 XSU,2 INCR,2
012111,000518: 23,6562 47470 NOLOD TSRT*
012112,000519: 23,6563 00050 X2
012113,000520: 23,6564 01307 SCALEA
012114,000521: 23,6565 00047 X1
012115,000522: 23,6566 01310 SCALEB
012116,000523: 23,6567 00003 2
012117,000524: 23,6570 00002 0,2
012118,000525:
012119,000526: 23,6571 47575 NOLOD 1 # RHO/4 PD +6
012120,000527: 23,6572 56631 TSRT ROUND
012121,000528: 23,6573 00003 2
012122,000529:
012123,000530: 23,6574 42774 DOT 2
012124,000531: 23,6575 63631 TSLT ROUND # (RHO/4)- 2 (ALPHAV/2.BETAV/2)
012125,000532: 23,6576 65776 BDSU # TO PDL +6
012126,000533: 23,6577 01153 ALPHAV
012127,000534: 23,6600 01161 BETAV
012128,000535: 23,6601 00002 1
012129,000536:
012130,000537: 23,6602 47575 NOLOD 1 # Q/4 = RHO(C(PDL +4)) TO PD +8D
012131,000538: 23,6603 55776 DMPR
012132,000539: 23,6604 00005 4
012133,000540:
012134,000541: 23,6605 47575 NOLOD 1 # (Q + 1)/4 TO PD +10D.
012135,000542: 23,6606 70776 DAD
012136,000543: 23,6607 06304 DQUARTER
012137,000544:
012138,000545: 23,6610 47575 NOLOD 1 # 3/2
012139,000546: 23,6611 53066 SQRT DMPR # ((Q + 1)/4) TO PD +12D.
012140,000547: 23,6612 00013 10D
012141,000548:
012142,000549: 23,6613 47575 NOLOD 1 # 3/2
012143,000550: 23,6614 63742 TSLT DAD # (1/4) + 2((Q + 1)/4) TO PD +14D.
012144,000551: 23,6615 00002 1
012145,000552: 23,6616 06304 DQUARTER
Page 311 |
012147,000554: 23,6617 70773 DAD 3 # -
012148,000555: 23,6620 55716 DMPR TSLT # (G/2)(C(PD +4))B/2 TO PD +16D.
012149,000556: 23,6621 70712 DAD DDV
012150,000557: 23,6622 55766 DMPR VXSC
012151,000558: 23,6623 00013 10D
012152,000559: 23,6624 07445 DP1/2
012153,000560: 23,6625 00011 8D
012154,000561: 23,6626 00002 1
012155,000562: 23,6627 06302 THREE/8
012156,000563: 23,6630 00017 14D
012157,000564: 23,6631 00007 6
012158,000565: 23,6632 01161 BETAV
012159,000566:
012160,000567: 23,6633 45775 VSRT 1 # A12 + C(PD +16D) TO PD +16D.
012161,000568: 23,6634 50776 VAD
012162,000569: 23,6635 01153 ALPHAV
012163,000570: 23,6636 00004 3
012164,000571:
012165,000572: 23,6637 64771 DMP 5 # -
012166,000573: 23,6640 57631 TSLC ROUND # GAMMA TO PD +22D, -SCALE(GAMMA)-1 TO
012167,000574: 23,6641 61745 BDDV LXC,1 # X1.
012168,000575: 23,6642 61505 XAD,1 XAD,1
012169,000576: 23,6643 61505 XAD,1 XAD,1
012170,000577: 23,6644 47166 COMP VXSC
012171,000578: 23,6645 00001 0
012172,000579: 23,6646 00015 12D
012173,000580: 23,6647 00052 S2
012174,000581: 23,6650 00003 2
012175,000582: 23,6651 00050 X2 # C(X2) = SCALE (RHO).
012176,000583: 23,6652 00052 S2 # C(S2) = N((B.B/4)(...)3/2)
012177,000584: 23,6653 00051 S1 # C(S1) = N(B.B/4)
012178,000585: 23,6654 01310 SCALEB
012179,000586: 23,6655 01310 SCALEB
012180,000587: 23,6656 00021 16D # RESULT OF PRECEDING EQUATION.
012181,000588:
012182,000589: 23,6657 47575 NOLOD 1 # -SCALE(GAMMA)-1 IS LEFT IN X1.
012183,000590: 23,6660 44376 VSLT* # ADJUST GAMMA TO SCALE OF -32.
012184,000591: 23,6661 00077 31D,1
012185,000592: 23,6662 33203 STORE FV
012186,000593:
012187,000594: 23,6663 75176 VMOVE 0
012188,000595: 23,6664 01161 BETAV
012189,000596: 23,6665 33153 STORE ALPHAV # BETA VECTOR INTO ALPHA FOR NEXT ACCOMP.
012190,000597:
012191,000598: 23,6666 45176 DMOVE 0
012192,000599: 23,6667 01257 BETAM
012193,000600: 23,6670 33255 STORE ALPHAM
Page 312 |
012195,000602:
012196,000603: # THE OBLATE ROUTINE COMPUTES THE ACCELERATION DUE THE THE EARTHS OBLATENESS. IT USES THE UNIT OF THE
012197,000604: # VEHICLE POSITION VECTOR FOUND IN ALPHAV AND THE DISTANCE TO THE CENTER OF THE EARTH IN ALPHAM. THIS IS ADDED TO
012198,000605: # THE SUM OF THE DISTURBING ACCELERATIONS IN FV AND THE PROPER DIFEQ STAGE IS CALLED VIA X1.
012199,000606:
012200,000607:
012201,000608:
012202,000609: 23,6671 73575 OBLATE LXA,1 1
012203,000610: 23,6672 67516 SXA,1 TSLT
012204,000611: 23,6673 00070 FIXLOC # SET PUSH-DOWN COUNTER TO ZERO.
012205,000612: 23,6674 00124 PUSHLOC
012206,000613: 23,6675 01255 ALPHAM
012207,000614: 23,6676 00002 1
012208,000615: 23,6677 33255 STORE ALPHAM
012209,000616:
012210,000617: 23,6700 55776 DMPR 0 # P2'/8 TO REGISTER 0.
012211,000618: 23,6701 01157 ALPHAV +4 # Z COMPONENT OF POSITION IS COS PHI.
012212,000619: 23,6702 07435 3/4
012213,000620:
012214,000621: 23,6703 51174 DSQ 2 # P3'/4 TO REGISTER 2.
012215,000622: 23,6704 63666 TSLT DMPR
012216,000623: 23,6705 66776 DSU
012217,000624: 23,6706 01157 ALPHAV +4
012218,000625: 23,6707 00004 3
012219,000626: 23,6710 07433 15/16
012220,000627: 23,6711 06302 3/8
012221,000628:
012222,000629: 23,6712 47574 NOLOD 2 # P4'/16 TO REGISTER 4.
012223,000630: 23,6713 55666 DMPR DMPR
012224,000631: 23,6714 63776 TSLT
012225,000632: 23,6715 01157 ALPHAV +4
012226,000633: 23,6716 07211 7/12
012227,000634: 23,6717 00002 1 # TO STACK.
012228,000635:
012229,000636: 23,6720 55775 DMPR 1 # FINISH P4'/16.
012230,000637: 23,6721 65776 BDSU
012231,000638: 23,6722 00001 P2'/8
012232,000639: 23,6723 07231 2/3
012233,000640:
012234,000641: 23,6724 47575 NOLOD 1 # BEGIN COMPUTING P5'/128.
012235,000642: 23,6725 55666 DMPR DMPR
012236,000643: 23,6726 01157 ALPHAV +4
012237,000644: 23,6727 07213 9/16
Page 313 |
012239,000646: 23,6730 55770 DMPR 6 # FINISH P5'/128 AND TERM USING UNIT
012240,000647: 23,6731 65722 BDSU DMP # POSITION VECTOR AT ALPHA.
012241,000648: 23,6732 63672 TSLT TSRT
012242,000649: 23,6733 62742 DDV DAD
012243,000650: 23,6734 55672 DMPR TSRT
012244,000651: 23,6735 62742 DDV DAD
012245,000652: 23,6736 75776 VXSC
012246,000653: 23,6737 00003 P3'/4
012247,000654: 23,6740 07215 5/128
012248,000655: 23,6741 77777 -
012249,000656: 23,6742 07443 J4REQ/J3
012250,000657: 23,6743 00003 2
012251,000658: 23,6744 00003 RSCALE -14D
012252,000659: 23,6745 01255 ALPHAM
012253,000660: 23,6746 00005 P4'/16
012254,000661: 23,6747 07441 2J3RE/J2
012255,000662: 23,6750 00003 RSCALE -14D
012256,000663: 23,6751 01255 ALPHAM
012257,000664: 23,6752 00003 P3'/4
012258,000665: 23,6753 01153 ALPHAV
012259,000666: 23,6754 33153 STORE ALPHAV
012260,000667:
012261,000668: 23,6755 64774 DMP 2 # COMPUTE TERM USING IZ.
012262,000669: 23,6756 63672 TSLT TSRT
012263,000670: 23,6757 62742 DDV DAD
012264,000671: 23,6760 07443 J4REQ/J3
012265,000672: 23,6761 77777 -
012266,000673: 23,6762 00002 1
012267,000674: 23,6763 00003 RSCALE -14D
012268,000675: 23,6764 01255 ALPHAM
Page 314 |
012270,000677: 23,6765 56774 TSRT 2
012271,000678: 23,6766 55712 DMPR DDV
012272,000679: 23,6767 70726 DAD BDSU
012273,000680: 23,6770 07441 2J3RE/J2
012274,000681: 23,6771 00006 RSCALE -11D
012275,000682: 23,6772 77777 -
012276,000683: 23,6773 01255 ALPHAM
012277,000684: 23,6774 77777 -
012278,000685: 23,6775 01157 ALPHAV +4
012279,000686: 23,6776 33157 STORE ALPHAV +4
012280,000687:
012281,000688: 23,6777 51172 DSQ 4
012282,000689: 23,7000 51076 DSQ TSLC
012283,000690: 23,7001 61766 BDDV VXSC
012284,000691: 23,7002 63420 INCR,1 VSLT* # SHIFTS LEFT ON+, RIGHT ON -.
012285,000692: 23,7003 50776 VAD
012286,000693: 23,7004 01255 ALPHAM
012287,000694: 23,7005 00047 X1
012288,000695: 23,7006 07437 J2REQSQ
012289,000696: 23,7007 01153 ALPHAV
012290,000697: 23,7010 00015 4RSCALE -52D
012291,000698: 23,7011 00001 0,1
012292,000699: 23,7012 01203 FV
012293,000700: 23,7013 33203 STORE FV
Page 315 |
012295,000702:
012296,000703: # THE DRAG ROUTINE IS AN INSERTION TO THE OBLATE ROUTINE. IT USES
012297,000704: # THE VEHICLE POSITION VECTOR FOUND IN RCV. THE DISTANCE TO THE CENTER OF
012298,000705: # THE EARTH IN ALPHAM, AND THE VEHICLE VELOCITY VECTOR IN VCV.
012299,000706:
012300,000707: # IT APPROXIMATES THE U.S. STD ATMOSPHERE 1962 (OVER THE RANGE OF
012301,000708: # 100 TO 300 KM ABOVE SEA LEVEL) WITH AN EQUATION OF THE FORM
012302,000709: # 2 3 4 4
012303,000710: # RHO = BASERHO /((1 +C1 X +C2 X +C3 X +C4 X ) ).
012304,000711:
012305,000712: # IT ASSUMES THE VEHICLE MASS TO BE THAT EXPECTED AFTER THE
012306,000713: # FIFTH SPS BURN.
012307,000714:
012308,000715:
012309,000716: 23,7014 56774 DENSITY TSRT 2 # IF THE ALTITUDE IS GREATER THAN THE
012310,000717: 23,7015 66616 DSU BPL # CEILING ALTITUDE, DENCEIL (300 KM),
012311,000718: 23,7016 76776 ITC # SKIP THE DRAG CALCULATIONS AND GO
012312,000719: 23,7017 07475 DENCEIL # TO NBRANCH.
012313,000720: 23,7020 00003 RSCALE -14D
012314,000721: 23,7021 01255 ALPHAM
012315,000722: 23,7022 07025 DENSITY1
012316,000723: 23,7023 07104 NBRANCH
012317,000724:
012318,000725: 23,7024 56774 DENSITY1 TSRT 2 # NORMALIZE ALTITUDE FOR AIR DENSITY
012319,000726: 23,7025 65716 BDSU TSLT # FUNCTION SO THAT IT RANGES FROM
012320,000727: 23,7026 62716 DDV TSLT # 0 TO 1 OVER THE ALTITUDES OF 100 KM
012321,000728: 23,7027 07447 DENBASE # TO 300 KM RELATIVE TO THE REFERENCE
012322,000729: 23,7030 00003 RSCALE -14D # SPHERE AND STORE IN DENALT.
012323,000730: 23,7031 01255 ALPHAM
012324,000731: 23,7032 00007 6
012325,000732: 23,7033 07451 DENFACT
012326,000733: 23,7034 00003 RSCALE -14D
012327,000734: 23,7035 32033 STORE DENALT
012328,000735:
012329,000736: 23,7036 47567 DRAG1 NOLOD 7 # CALCULATE SCALAR PART OF DRAG, I.E.,
012330,000737: 23,7037 64742 DMP DAD # ((RHO)(AREA)(DRAG COEFF))/MASS.
012331,000738: 23,7040 64742 DMP DAD
012332,000739: 23,7041 64742 DMP DAD # LEAVE IN PDL AS D. P. NUMBER
012333,000740: 23,7042 64742 DMP DAD
012334,000741: 23,7043 63643 TSLT DSQ
012335,000742: 23,7044 51116 DSQ TSLT
012336,000743: 23,7045 61776 BDDV
012337,000744: 23,7046 07453 DEN4
012338,000745: 23,7047 07455 DEN3
012339,000746: 23,7050 00033 DENALT
012340,000747: 23,7051 07457 DEN2
012341,000748: 23,7052 00033 DENALT
012342,000749: 23,7053 07461 DEN1
012343,000750: 23,7054 00033 DENALT
012344,000751: 23,7055 07463 DEN0
012345,000752: 23,7056 00002 1
Page 316 |
012347,000754: 23,7057 00003 2
012348,000755: 23,7060 07465 PACD/M
012349,000756: 23,7061 41774 DRAG2 VXV 2
012350,000757: 23,7062 75420 AXT,1 VSLT*
012351,000758: 23,7063 74776 VSU
012352,000759: 23,7064 07467 OMEGA
012353,000760: 23,7065 01131 RCV
012354,000761: 23,7066 00030 23D
012355,000762: 23,7067 00055 R+VSCALE,1
012356,000763: 23,7070 01137 VCV
012357,000764: 23,7071 47573 NOLOD 3
012358,000765: 23,7072 71166 ABVAL VXSC
012359,000766: 23,7073 75765 VXSC AXT,1
012360,000767: 23,7074 44242 VSLT* VAD
012361,000768: 23,7075 77777 - # (-1/2)(ABVAL(-V))(V)
012362,000769: 23,7076 77777 - # - -
012363,000770: 23,7077 00002 1 # (-1/2)(RHO A CD/M)(ABVAL(-V))(V)
012364,000771: 23,7100 00001 2VSCALE -12D,1
012365,000772: 23,7101 01203 FV
012366,000773: 23,7102 33203 STORE FV # SUM OF PERTURB ACCELERATIONS
012367,000774: 23,7103 73575 NBRANCH LXA,1 1
012368,000775: 23,7104 76376 ITC*
012369,000776: 23,7105 01306 DIFEQCNT
012370,000777: 23,7106 16405 DIFEQ,1
012371,000778:
Page 317 |
012373,000780:
012374,000781: # BEGIN INTEGRATION STEP WITH RECTIFICATION TEST.
012375,000782:
012376,000783:
012377,000784:
012378,000785: 23,7107 71174 TIMESTEP ABVAL 2 # RECTIFICATION REQUIRED IF THE LENGTH OF
012379,000786: 23,7110 66756 DSU BMN # DELTA IS GREATER THAN .5 (8 KM).
012380,000787: 23,7111 76776 ITC
012381,000788: 23,7112 01115 YV
012382,000789: 23,7113 06304 DP1/4
012383,000790: 23,7114 07117 INTGRATE
012384,000791: 23,7115 07144 RECTIFY # CALL RECTIFICATION SUBROUTINE.
012385,000792:
012386,000793: 23,7116 75573 INTGRATE AXT,1 3 # INITIALIZE INDEXES AND SWITCHES.
012387,000794: 23,7117 67565 SXA,1 AXT,1
012388,000795: 23,7120 67415 SXA,1 TEST
012389,000796: 23,7121 42576 SWITCH
012390,000797: 23,7122 06001 FBR3
012391,000798: 23,7123 01271 FBRANCH # EXIT FROM DIFEQCOM
012392,000799: 23,7124 06473 POSTRUE
012393,000800: 23,7125 01272 HBRANCH # EXIT FROM KEPLER.
012394,000801: 23,7126 00002 JSWITCH # 0 FOR STATE VECTOR, 1 FOR W MATRIX.
012395,000802: 23,7127 07132 +2 # TURN IT OFF HERE.
012396,000803: 23,7130 00002 JSWITCH
012397,000804:
Page 318 |
012399,000806:
012400,000807: 23,7131 75176 DIFEQ0 VMOVE 0 # POSITION DEVIATION INTO ALPHA.
012401,000808: 23,7132 01115 YV
012402,000809: 23,7133 33153 STORE ALPHAV
012403,000810:
012404,000811: 23,7134 45176 DMOVE 0 # START H AT 0.
012405,000812: 23,7135 07227 DPZERO
012406,000813: 23,7136 33265 STORE H # GOES 0(DELT/2)DELT.
012407,000814:
012408,000815: 23,7137 47576 NOLOD 0 # ZERO DIFEQCNT AND REGISTER FOLLOWING.
012409,000816: 23,7140 33306 STORE DIFEQCNT # GOES 0(-12D)(-24D).
012410,000817:
012411,000818: 23,7141 44576 ITCI 0 # BEGIN AT ADDRESS IN HBRANCH.
012412,000819: 23,7142 01272 HBRANCH
012413,000820:
Page 319 |
012415,000822:
012416,000823: # THE RECTIFY SUBROUTINE IS CALLED BY THE INTEGRATION PROGRAM (AND OCCASIONALLY BY THE MEASUREMENT
012417,000824: # INCORPORATION ROUTINES) TO ESTABLISH A NEW CONIC.
012418,000825:
012419,000826:
012420,000827:
012421,000828: 23,7143 45775 RECTIFY VSRT 1 # RECTIFY - FORM TOTAL POSITION AND VEL.
012422,000829: 23,7144 50776 VAD # ADJUST SCALE DIFFERENCE (ASSUMED
012423,000830: 23,7145 01115 TDELTAV
012424,000831: 23,7146 00015 RSCALE -4
012425,000832: 23,7147 01131 RCV
012426,000833: 23,7150 33101 STORE RRECT
012427,000834:
012428,000835: 23,7151 47576 NOLOD 0 # SET UP CONIC 'ANSWER' FOR TIMESTEP.
012429,000836: 23,7152 33131 STORE RCV
012430,000837:
012431,000838: 23,7153 75574 AXT,1 2
012432,000839: 23,7154 75020 VMOVE VSLT*
012433,000840: 23,7155 50776 VAD
012434,000841: 23,7156 00011 VSCALE -14D
012435,000842: 23,7157 01123 TNUV
012436,000843: 23,7160 00001 0,1
012437,000844: 23,7161 01137 VCV
012438,000845: 23,7162 33107 STORE VRECT
012439,000846:
012440,000847: 23,7163 47576 NOLOD 0
012441,000848: 23,7164 33137 STORE VCV
012442,000849:
012443,000850: 23,7165 75575 AXT,1 1 # ZERO DELTA, NU, AND TIME SINCE RECTIFI-
012444,000851: 23,7166 55423 AST,1 DMOVE
012445,000852: 23,7167 00015 12D
012446,000853: 23,7170 00003 2
012447,000854: 23,7171 07227 DPZERO
012448,000855: 23,7172 33145 STORE TC
012449,000856:
012450,000857: 23,7173 47576 NOLOD 0
012451,000858: 23,7174 33151 STORE XKEP # ZERO X.
012452,000859:
012453,000860: 23,7175 47576 ZEROLOOP NOLOD 0 # INDEXES CAUSE LOOP TO ZERO 6 CONSECUTIVE
012454,000861: 23,7176 36261 STORE YV +12D,1 # DP NUMBERS (DELTA AND NU ARE ADJACENT).
012455,000862:
012456,000863: 23,7177 51575 TIX,1 1 # LOOP OR START INTEGRATION STEP IF DONE.
012457,000864: 23,7200 40576 ITCQ
012458,000865: 23,7201 07176 ZEROLOOP
012459,000866:
Page 320 |
012461,000868:
012462,000869: # THE THREE DIFEQ ROUTINES - DIFEQ+0, DIFEQ+12, AND DIFEQ+24 - ARE ENTERED TO PROCESS THE CONTRIBUTIONS
012463,000870: # AT THE BEGINNING, MIDDLE, AND END OF THE TIME STEP, RESPECTIVELY. THE UPDATING IS DONE BY THE NYSTROM METHOD.
012464,000871:
012465,000872:
012466,000873:
012467,000874: 23,7202 45776 DIFEQ+0 VSRT 0
012468,000875: 23,7203 01203 FV
012469,000876: 23,7204 00004 3
012470,000877: 23,7205 33167 STORE PHIV
012471,000878:
012472,000879: 23,7206 76776 ITC 0
012473,000880: 23,7207 07354 DIFEQCOM
012474,000881:
012475,000882: 23,7210 22525 12525 7/12 2DEC .5833333333 # ENTRIES MUST BE 12 WORDS APART SO FILL
012476,000883: 23,7212 22000 00000 9/16 2DEC 9 B-4 # HOLES WITH CONSTANTS
012477,000884: 23,7214 01200 00000 5/128 2DEC 5 B-7
012478,000885:
012479,000886: 23,7216 45775 DIFEQ+12 VSRT 1
012480,000887: 23,7217 50776 VAD
012481,000888: 23,7220 01203 FV
012482,000889: 23,7221 00002 1
012483,000890: 23,7222 01167 PHIV
012484,000891: 23,7223 33175 STORE PSIV
012485,000892:
012486,000893: 23,7224 76776 ITC 0
012487,000894: 23,7225 07346 DIFEQCOM -6
012488,000895:
012489,000896: 23,7226 00000 00000 DPZERO 2DEC 0.0
012490,000897:
012491,000898: 23,7230 25252 25253 DP2/3 2DEC .6666666667
012492,000899:
012493,000900: 23,7232 75773 DIFEQ+24 VXSC 3 # DO FINAL CALCULATION FOR Y AND Z.
012494,000901: 23,7233 75622 VXSC VSLT
012495,000902: 23,7234 50766 VAD VXSC
012496,000903: 23,7235 50776 VAD
012497,000904: 23,7236 01167 PHIV
012498,000905: 23,7237 01265 H
012499,000906: 23,7240 07231 DP2/3
012500,000907: 23,7241 00002 1
012501,000908: 23,7242 01123 ZV
012502,000909: 23,7243 01265 H
012503,000910: 23,7244 01115 YV
012504,000911: 23,7245 33115 STORE YV
Page 321 |
012506,000913: 23,7246 45772 VSRT 4
012507,000914: 23,7247 50766 VAD VXSC
012508,000915: 23,7250 75622 VXSC VSLT
012509,000916: 23,7251 50615 VAD TEST # SEE IF THIS IS STATE VECTOR OR W COLUMN.
012510,000917: 23,7252 75576 AXT,1
012511,000918: 23,7253 01203 FV
012512,000919: 23,7254 00004 3
012513,000920: 23,7255 01175 PSIV
012514,000921: 23,7256 01265 H
012515,000922: 23,7257 07231 DP2/3
012516,000923: 23,7260 00002 1
012517,000924: 23,7261 01123 ZV
012518,000925: 23,7262 00002 JSWITCH
012519,000926: 23,7263 07314 ENDSTATE
012520,000927: 23,7264 00001 0
012521,000928: 23,7265 37564 STORE W +72D,2 # VELOCITY COLUMN VECTOR.
012522,000929:
012523,000930: 23,7266 75176 VMOVE 0
012524,000931: 23,7267 01115 YV
012525,000932: 23,7270 37454 STORE W +36D,2 # POSITION COLUMN VECTOR.
012526,000933:
012527,000934: 23,7271 50576 TIX,2 0
012528,000935: 23,7272 07304 NEXTCOL
012529,000936:
012530,000937: 23,7273 75176 VMOVE 0
012531,000938: 23,7274 01002 DELTAV
012532,000939: 23,7275 33115 STORE TDELTAV
012533,000940:
012534,000941: 23,7276 75176 VMOVE 0
012535,000942: 23,7277 01010 NUV
012536,000943: 23,7300 33123 STORE TNUV
012537,000944:
012538,000945: 23,7301 44576 ITCI 0
012539,000946: 23,7302 01305 STEPEXIT
012540,000947:
012541,000948: 23,7303 74176 NEXTCOL VMOVE* 0 # SET UP NEXT COLUMNS OF W MATRIX.
012542,000949: 23,7304 03454 W +36D,2
012543,000950: 23,7305 33115 STORE YV
012544,000951:
012545,000952: 23,7306 74176 VMOVE* 0
012546,000953: 23,7307 03564 W +72D,2
012547,000954: 23,7310 33123 STORE ZV
012548,000955:
012549,000956: 23,7311 76776 ITC 0
012550,000957: 23,7312 07132 DIFEQ0
012551,000958:
012552,000959: 23,7313 47576 ENDSTATE NOLOD 0
012553,000960: 23,7314 33123 STORE TNUV
Page 322 |
012555,000962: 23,7315 56775 TSRT 1 # UPDATE TIME SINCE RECTIFICATION.
012556,000963: 23,7316 46542 ROUND DAD
012557,000964: 23,7317 01265 H
012558,000965: 23,7320 00012 TSCALE -18D
012559,000966: 23,7321 01145 TC
012560,000967: 23,7322 33145 STORE TC
012561,000968:
012562,000969: 23,7323 67776 BHIZ 0
012563,000970: 23,7324 01304 WMATFLAG
012564,000971: 23,7325 07302 NEXTCOL -2
012565,000972:
012566,000973: 23,7326 76776 ITC 0
012567,000974: 23,7327 07331 SETWINT # FOR NOW
012568,000975: 23,7330 74572 SETWINT AXT,2 4 # SET UP W MATRIX EXTRAPOLATION ROUTINES.
012569,000976: 23,7331 54565 AST,2 AXT,1 # PROGRAM DESCRIPTION IS AT DOW.. .
012570,000977: 23,7332 67535 SXA,1 SXA,1
012571,000978: 23,7333 42565 SWITCH AXT,1
012572,000979: 23,7334 76776 ITC
012573,000980: 23,7335 00045 36D
012574,000981: 23,7336 00007 6
012575,000982: 23,7337 07377 DOW..
012576,000983: 23,7340 01271 FBRANCH
012577,000984: 23,7341 01272 HBRANCH
012578,000985: 23,7342 00002 JSWITCH
012579,000986: 23,7343 00001 0
012580,000987: 23,7344 07304 NEXTCOL
012581,000988:
Page 323 |
012583,000990:
012584,000991: # COMES HERE TO FINISH FIRST TWO DIFEQ COMPUTATIONS.
012585,000992:
012586,000993:
012587,000994:
012588,000995: 23,7345 45775 -6 VSRT 1 # ENTERS HERE FROM DIFEQ+12 MIDPOINT
012589,000996: 23,7346 50776 VAD # COMPUTATION.
012590,000997: 23,7347 01203 FV
012591,000998: 23,7350 00003 2
012592,000999: 23,7351 01167 PHIV
012593,001000: 23,7352 33167 STORE PHIV
012594,001001:
012595,001002: 23,7353 70775 DIFEQCOM DAD 1 # INCREMENT H AND DIFEQCNT.
012596,001003: 23,7354 63535 INCR,1 SXA,1
012597,001004: 23,7355 01263 DT/2
012598,001005: 23,7356 01265 H
012599,001006: 23,7357 77764 -12D
012600,001007: 23,7360 01306 DIFEQCNT # DIFEQCNT SET FOR NEXT ENTRY.
012601,001008: 23,7361 33265 STORE H
012602,001009:
012603,001010: 23,7362 75774 VXSC 2
012604,001011: 23,7363 45642 VSRT VAD
012605,001012: 23,7364 75642 VXSC VAD
012606,001013: 23,7365 01203 FV
012607,001014: 23,7366 01265 H
012608,001015: 23,7367 00002 1
012609,001016: 23,7370 01123 ZV
012610,001017: 23,7371 01265 H
012611,001018: 23,7372 01115 YV
012612,001019: 23,7373 33153 STORE ALPHAV
012613,001020:
012614,001021: 23,7374 44576 ITCI 0 # EXIT VIA FBRANCH.
012615,001022: 23,7375 01271 FBRANCH
012616,001023:
012617,001024: 23,7376 23,7202 DIFEQ EQUALS DIFEQ+0
012618,001025:
Page 324 |
012620,001027:
012621,001028: # ORBITAL ROUTINE FOR EXTRAPOLATING THE W MATRIX. IT COMPUTES THE
012622,001029: # SECOND DERIVATIVE OF EACH COLUMN POSITION VECTOR OF THE MATRIX AND CALLS
012623,001030: # THE NYSTOM INTEGRATION ROUTINES TO SOLVE THE DIFFERENTIAL EQUATIONS. THE
012624,001031: # PROGRAM USES A TABLE OF VEHICLE POSITION VECTORS COMPUTED DURING THE
012625,001032: # INTEGRATION OF THE VEHICLES POSITION AND VELOCITY.
012626,001033:
012627,001034: 23,7376 45776 DOW.. VSRT 0
012628,001035: 23,7377 01153 ALPHAV
012629,001036: 23,7400 00005 4
012630,001037:
012631,001038: 23,7401 72174 UNIT* 2 # X1 REFERENCES THE TABLE OF POSITION
012632,001039: 23,7402 40766 VPROJ VXSC # VECTORS AND CALLS THE CORRECT DIFEQ PROG
012633,001040: 23,7403 74776 VSU
012634,001041: 23,7404 02421 VECTAB,1
012635,001042: 23,7405 01153 ALPHAV
012636,001043: 23,7406 07435 3/4
012637,001044:
012638,001045: 23,7407 64772 DMP 4 # CUBE OF LENGTH OF POSITION VECTOR
012639,001046: 23,7410 57631 TSLC ROUND # DIVIDES VECTOR IN PUSH-DOWN LIST TO
012640,001047: 23,7411 61766 BDDV VXSC # FORM FINAL RESULT.
012641,001048: 23,7412 64511 XCHX,2 INCR,2 # INCREMENT COMPENSATES FOR .5 R IN 30D.
012642,001049: 23,7413 44351 VSLT* LXA,2
012643,001050: 23,7414 00035 28D
012644,001051: 23,7415 00037 30D
012645,001052: 23,7416 00051 S1
012646,001053: 23,7417 06304 DP1/4
012647,001054: 23,7420 77777 -
012648,001055: 23,7421 00051 S1
012649,001056: 23,7422 00004 3
012650,001057: 23,7423 00002 0,2
012651,001058: 23,7424 00051 S1
012652,001059: 23,7425 33203 STORE FV
012653,001060:
012654,001061: 23,7426 76376 ITC* 0 # CALL NYSTROM ROUTINES ACCORDING TO X1.
012655,001062: 23,7427 16405 DIFEQ,1
012656,001063:
Page 325 |
012658,001065:
012659,001066: 23,7430 24214 11244 EARTHTAB 2DEC .6335627 # 400 / SQRT(MU).
012660,001067: 23,7432 36000 00000 15/16 2DEC 15. B-4
012661,001068: 23,7434 30000 00000 3/4 2DEC 3.0 B-2
012662,001069: 23,7436 12577 24106 J2REQSQ 2DEC .335914874
012663,001070: 23,7440 77711 71033 2J3RE/J2 2DEC -.003309146
012664,001071: 23,7442 23377 06703 J4REQ/J3 2DEC .60932709
012665,001072: 23,7444 23,7230 2/3 EQUALS DP2/3
012666,001073: 23,7444 P2'/8 EQUALS 0
012667,001074: 23,7444 P3'/4 EQUALS 2
012668,001075: 23,7444 P4'/16 EQUALS 4
012669,001076:
012670,001077: 23,7444 20000 00000 DP1/2 2DEC .5
012671,001078: 23,7446 14467 00000 DENBASE 2DEC 6455 B-14 # EARTHRAD +100 KM SCALED AT 2 TO THE (14)
012672,001079: 23,7450 31000 00000 DENFACT 2DEC 0.781250 # 200/256
012673,001080: 23,7452 70345 62314 DEN4 2DEC -7.55161127 B-5 # CONSTANTS FOR DENSITY FUNCTION SCALED AT
012674,001081: 23,7454 25201 06602 DEN3 2DEC 21.2523654 B-5 # 2 TO THE (5)
012675,001082: 23,7456 54046 46744 DEN2 2DEC -19.9253572 B-5
012676,001083: 23,7460 20033 11303 DEN1 2DEC 16.0533069 B-5
012677,001084: 23,7462 01000 00000 DEN0 2DEC 1.0 B-5
012678,001085: 23,7464 00000 23042 PACD/M 2DEC 0.0000363648 # (RHO AREA CD)/MASS AT 100KM
012679,001086: 23,7466 00000 00000 OMEGA 2DEC 0 B-28 # EARTH ROT VECTOR/SQRT(MU) SCALED
012680,001087: 23,7470 00000 00000 2DEC 0 B-28 # AT 2 TO THE (-23) KM TO (-3/2)
012681,001088: 23,7472 37002 12436 2DEC 0.968892208
012682,001089: 23,7474 DENALT = 26D # TEMPORARY STORAGE FOR ALTITUDE
012683,001090: 23,7474 14777 00000 DENCEIL 2DEC 6655 B-14 # EARTHRAD +300 KM SCALED AT 2(14)
End of include-file ORBITAL_INTEGRATION_PROGRAM.agc. Parent file is MAIN.agc