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. |
012686,000002: ## Copyright: Public domain.
012687,000003: ## Filename: ORBITAL_INTEGRATION_FOR_501.agc
012688,000004: ## Purpose: Part of the source code for Solarium build 55. This
012689,000005: ## is for the Command Module's (CM) Apollo Guidance
012690,000006: ## Computer (AGC), for Apollo 6.
012691,000007: ## Assembler: yaYUL --block1
012692,000008: ## Contact: Jim Lawton <jim DOT lawton AT gmail DOT com>
012693,000009: ## Website: www.ibiblio.org/apollo/index.html
012694,000010: ## Page Scans: www.ibiblio.org/apollo/ScansForConversion/Solarium055/
012695,000011: ## Mod history: 2009-09-22 JL Created.
012696,000012: ## 2009-09-22 JL Fixed typo.
012697,000013: ## 2009-10-30 JL Fixed filename comment.
012698,000014: ## 2016-12-28 RSB Proofed comment text using octopus/ProoferComments,
012699,000015: ## and fixed errors found.
012700,000016:
Page 326 |
012702,000018:
012703,000019: 30,6000 SETLOC 60000
012704,000020:
012705,000021: 30,6000 53574 AVETOMD1 AXC,1 2
012706,000022: 30,6001 45535 ITA SXA,1
012707,000023: 30,6002 76776 ITC
012708,000024: 30,6003 00002 1
012709,000025: 30,6004 01303 MIDEXIT
012710,000026: 30,6005 01301 MEASMODE
012711,000027: 30,6006 20015 AVETOMID
012712,000028:
012713,000029: 30,6007 53575 AVETOMD2 AXC,1 1
012714,000030: 30,6010 45535 ITA SXA,1
012715,000031: 30,6011 00003 2
012716,000032: 30,6012 01303 MIDEXIT
012717,000033: 30,6013 01301 MEASMODE
012718,000034:
012719,000035: 30,6014 75170 AVETOMID VMOVE 6
012720,000036: 30,6015 75535 AXT,1 SXA,1
012721,000037: 30,6016 75535 AXT,1 SXA,1
012722,000038: 30,6017 75535 AXT,1 SXA,1
012723,000039: 30,6020 75535 AXT,1 SXA,1
012724,000040: 30,6021 75535 AXT,1 SXA,1
012725,000041: 30,6022 75535 AXT,1 SXA,1
012726,000042: 30,6023 15575 ZEROVEC
012727,000043: 30,6024 00001 0
012728,000044: 30,6025 01304 WMATFLAG # TURN OFF WMATRIX INTEGRATION.
012729,000045: 30,6026 00021 RSCALE
012730,000046: 30,6027 01313 SCALER # SET SCALE OF POSITION.
012731,000047: 30,6030 00005 4
012732,000048: 30,6031 01312 SCALDELT # ALSO DEVIATION.
012733,000049: 30,6032 00023 18D
012734,000050: 30,6033 01311 SCALEDT # AND TIME STEP.
012735,000051: 30,6034 07431 EARTHTAB
012736,000052: 30,6035 01040 PBODY
012737,000053: 30,6036 20070 TESTTET
012738,000054: 30,6037 01305 STEPEXIT
012739,000055: 30,6040 33115 STORE TDELTAV # ZERO POSITION DEVIATION.
012740,000056:
012741,000057: 30,6041 47576 NOLOD 0
012742,000058: 30,6042 33123 STORE TNUV # ALSO VELOCITY.
012743,000059:
012744,000060: 30,6043 47576 NOLOD 0 # AND TIME SINCE RECTIFICATION, TIME,
012745,000061: 30,6044 33145 STORE TC # AND KEPLER X.
Page 327 |
012747,000063: 30,6045 75575 AXT,1 1
012748,000064: 30,6046 55576 AST,1
012749,000065: 30,6047 00015 12D
012750,000066: 30,6050 00007 6
012751,000067:
012752,000068: 30,6051 75375 RVTOMID VXSC* 1 # TRANSFORM POSITION AND VELOCITY TO
012753,000069: 30,6052 51622 VXM VSLT
012754,000070: 30,6053 02231 RRECT +12D,1
012755,000071: 30,6054 27273 SCLRAVMD +12D,1
012756,000072: 30,6055 01052 REFSMMAT
012757,000073: 30,6056 00003 2
012758,000074: 30,6057 36231 STORE RRECT +12D,1
012759,000075:
012760,000076: 30,6060 47576 NOLOD 0
012761,000077: 30,6061 36311 STORE RCV +12D,1
012762,000078:
012763,000079: 30,6062 51576 TIX,1 0
012764,000080: 30,6063 20052 RVTOMID
012765,000081:
012766,000082: 30,6064 45176 DMOVE 0
012767,000083: 30,6065 01211 TAVEGON
012768,000084: 30,6066 33267 STORE TDEC
012769,000085:
Page 328 |
012771,000087:
012772,000088: 30,6067 77576 TESTTET EXIT 0 # FOR DUMP ONLY
012773,000089: 30,6070 04000 TC INTPRET
012774,000090: 30,6071 71575 LXC,1 1
012775,000091: 30,6072 55445 AST,1 TIX,1
012776,000092: 30,6073 01301 MEASMODE
012777,000093: 30,6074 00002 1
012778,000094: 30,6075 20101 +3
012779,000095:
012780,000096: 30,6076 76776 ITC 0
012781,000097: 30,6077 20104 +4
012782,000098:
012783,000099: 30,6100 43576 TEST 0
012784,000100: 30,6101 00023 UPDATFLG
012785,000101: 30,6102 10310 NOSTATE
012786,000102:
012787,000103: 30,6103 72776 STZ 0
012788,000104: 30,6104 00123 OVFIND
012789,000105:
012790,000106: 30,6105 66774 DSU 2
012791,000107: 30,6106 76516 RTB TSLT
012792,000108: 30,6107 62776 DDV
012793,000109: 30,6110 01267 TDEC
012794,000110: 30,6111 01147 TET
012795,000111: 30,6112 20404 SGNAGREE
012796,000112: 30,6113 00014 11D
012797,000113: 30,6114 07431 EARTHTAB
012798,000114: 30,6115 33263 STORE DT/2
012799,000115:
012800,000116: 30,6116 71773 BOV 3
012801,000117: 30,6117 65132 ABS DSU
012802,000118: 30,6120 73742 BMN DAD
012803,000119: 30,6121 66756 DSU BMN
012804,000120: 30,6122 20132 USEMAXDT
012805,000121: 30,6123 01263 DT/2
012806,000122: 30,6124 20246 DT/2MIN
012807,000123: 30,6125 20141 DODCSION
012808,000124: 30,6126 20246 DT/2MIN
012809,000125: 30,6127 20250 DT/2MAX
012810,000126: 30,6130 07110 TIMESTEP
012811,000127:
012812,000128: 30,6131 45175 USEMAXDT DMOVE 1
012813,000129: 30,6132 53776 SIGN
012814,000130: 30,6133 20250 DT/2MAX
012815,000131: 30,6134 01263 DT/2
012816,000132: 30,6135 33263 STORE DT/2
012817,000133:
012818,000134: 30,6136 76776 ITC 0
012819,000135: 30,6137 07110 TIMESTEP
012820,000136:
Page 329 |
012822,000138:
012823,000139: 30,6140 76776 DODCSION ITC 0 # RECTIFY TO OBTAIN FULL POSITION
012824,000140: 30,6141 07144 RECTIFY # AND VELOCUTY VECTORS.
012825,000141:
012826,000142: 30,6142 43175 SMOVE 1
012827,000143: 30,6143 73636 BMN BZE
012828,000144: 30,6144 01301 MEASMODE # TEST MEASMODE.
012829,000145: 30,6145 20176 AVEGON # MEASMODE = -1.
012830,000146: 30,6146 20222 IGN-4SEC # MEASMODE = 0.
012831,000147:
012832,000148: 30,6147 75575 AXT,1 1 # MEASMODE = +1.
012833,000149: 30,6150 55576 AST,1
012834,000150: 30,6151 00015 12D
012835,000151: 30,6152 00007 6
012836,000152:
012837,000153: 30,6153 75375 RVTOAVE VXSC* 1 # TRANSFORM POSITION AND VELOCITY VECTORS
012838,000154: 30,6154 52622 MXV VSLT
012839,000155: 30,6155 02231 RRECT +12D,1
012840,000156: 30,6156 27277 SCLRMDAV +12D,1
012841,000157: 30,6157 01052 REFSMMAT
012842,000158: 30,6160 00002 1
012843,000159: 30,6161 36231 STORE RIGNTION +12D,1
012844,000160:
012845,000161: 30,6162 75375 VXSC* 1
012846,000162: 30,6163 52622 MXV VSLT
012847,000163: 30,6164 02461 RAVEGON +12D,1
012848,000164: 30,6165 27277 SCLRMDAV +12D,1
012849,000165: 30,6166 01052 REFSMMAT
012850,000166: 30,6167 00002 1
012851,000167: 30,6170 36461 STORE RAVEGON +12D,1
012852,000168:
012853,000169: 30,6171 51576 TIX,1 0
012854,000170: 30,6172 20154 RVTOAVE
012855,000171:
012856,000172: 30,6173 44576 ITCI 0
012857,000173: 30,6174 01303 MIDEXIT # RETURN.
012858,000174:
Page 330 |
012860,000176:
012861,000177: 30,6175 75176 AVEGON VMOVE 0 # SAVE POSITION AND VELOCITY AT
012862,000178: 30,6176 01101 RRECT # AVERAGE G ON TIME.
012863,000179: 30,6177 33215 STORE RAVEGON
012864,000180:
012865,000181: 30,6200 75176 VMOVE 0
012866,000182: 30,6201 01107 VRECT
012867,000183: 30,6202 33223 STORE VAVEGON
012868,000184:
012869,000185: 30,6203 71575 LXC,1 1
012870,000186: 30,6204 55445 AST,1 TIX,1
012871,000187: 30,6205 01301 MEASMODE
012872,000188: 30,6206 00002 1
012873,000189: 30,6207 20150 RVTOAVE -4
012874,000190:
012875,000191: 30,6210 70775 DAD 1
012876,000192: 30,6211 75535 AXT,1 SXA,1
012877,000193: 30,6212 01267 TDEC
012878,000194: 30,6213 20242 12M56S # 12 MINUTES, 56 SECS
012879,000195: 30,6214 00001 0
012880,000196: 30,6215 01301 MEASMODE # MAKE MEASMODE 0.
012881,000197: 30,6216 33267 STORE TDEC
012882,000198:
012883,000199: 30,6217 76776 ITC 0
012884,000200: 30,6220 20070 TESTTET # CONTINUE INTEGRATION.
012885,000201:
012886,000202:
012887,000203:
012888,000204: 30,6221 75775 IGN-4SEC VXSC 1 # TRANSFORM AND SAVE POSITION ONLY
012889,000205: 30,6222 52622 MXV VSLT
012890,000206: 30,6223 01101 RRECT
012891,000207: 30,6224 13524 SCLRMDAV
012892,000208: 30,6225 01052 REFSMMAT
012893,000209: 30,6226 00002 1
012894,000210: 30,6227 33231 STORE RIG-4SEC
012895,000211:
012896,000212: 30,6230 70775 DAD 1
012897,000213: 30,6231 75535 AXT,1 SXA,1
012898,000214: 30,6232 01267 TDEC
012899,000215: 30,6233 20244 4SECONDS # ADD 4 SECONDS TO DECISION TIME.
012900,000216: 30,6234 00002 1
012901,000217: 30,6235 01301 MEASMODE # MAKE MEASMODE +1.
012902,000218: 30,6236 33267 STORE TDEC
012903,000219:
012904,000220: 30,6237 76776 ITC 0
012905,000221: 30,6240 20070 TESTTET # DO LAST INTEGRATION STEP.
012906,000222:
Page 331 |
012908,000224: 30,6241 00004 27440 12M56S 2DEC 77600 B-28 # 12 MINUTES, 56 SECS
012909,000225: 30,6243 00000 00620 4SECONDS 2DEC 400 B-28
012910,000226: 30,6245 00000 14452 DT/2MIN 2DEC .000024
012911,000227: 30,6247 12317 00451 DT/2MAX 2DEC .65027077 B-1 # .075 HOUR MAXIMUM TIME STEP
012912,000228: 30,6251 30000 INITMSK OCT 30000
End of include-file ORBITAL_INTEGRATION_FOR_501.agc. Parent file is MAIN.agc