Source Code
These source-code files are part of a reconstructed copy of Corona 261, the
final, flown release of the Block I Command Module (CM) Apollo Guidance Computer
(AGC) software for the AS-202 mission.
They have been created via disassembly of binary dumps of the original core rope memory modules actually flown on the mission, part numbers 1003733-171, 1003733-241, 1003733-191, 1003733-211, 1003733-221, and 1003733-241. The source code for the Apollo 4 and 6 software, Solarium 55, was used as a starting point, since it was directly derived from Corona and (at least in theory) only minimally modified. Since only binary dumps (rather than listings) of Corona are available as source material, all comments and labels are approximate. They have been taken from other AGC programs where possible, or, in some places, written from scratch to match what we believe would have been in the original listing. |
013800,000002: ## Copyright: Public domain.
013801,000003: ## Filename: ORBITAL_INTEGRATION_FOR_202.agc
013802,000004: ## Purpose: A section of Corona revision 261.
013803,000005: ## It is part of the source code for the Apollo Guidance Computer
013804,000006: ## (AGC) for AS-202. No original listings of this software are
013805,000007: ## available; instead, this file was created via disassembly of
013806,000008: ## the core rope modules actually flown on the mission.
013807,000009: ## Assembler: yaYUL
013808,000010: ## Contact: Ron Burkey <info@sandroid.org>.
013809,000011: ## Website: www.ibiblio.org/apollo/index.html
013810,000012: ## Mod history: 2023-05-27 MAS Created from Solarium 55.
013811,000013: ## 2023-06-17 MAS Updated for Corona.
013812,000014:
013813,000015:
013814,000016: 30,6000 SETLOC 60000
013815,000017:
013816,000018: 30,6000 53574 AVETOMD1 AXC,1 2
013817,000019: 30,6001 45535 ITA SXA,1
013818,000020: 30,6002 76776 ITC
013819,000021: 30,6003 00002 1
013820,000022: 30,6004 01303 MIDEXIT
013821,000023: 30,6005 01301 MEASMODE
013822,000024: 30,6006 20015 AVETOMID
013823,000025:
013824,000026: 30,6007 53575 AVETOMD2 AXC,1 1
013825,000027: 30,6010 45535 ITA SXA,1
013826,000028: 30,6011 00003 2
013827,000029: 30,6012 01303 MIDEXIT
013828,000030: 30,6013 01301 MEASMODE
013829,000031:
013830,000032: 30,6014 75170 AVETOMID VMOVE 6
013831,000033: 30,6015 75535 AXT,1 SXA,1
013832,000034: 30,6016 75535 AXT,1 SXA,1
013833,000035: 30,6017 75535 AXT,1 SXA,1
013834,000036: 30,6020 75535 AXT,1 SXA,1
013835,000037: 30,6021 75535 AXT,1 SXA,1
013836,000038: 30,6022 75535 AXT,1 SXA,1
013837,000039: 30,6023 15575 ZEROVEC
013838,000040: 30,6024 00001 0
013839,000041: 30,6025 01304 WMATFLAG # TURN OFF WMATRIX INTEGRATION.
013840,000042: 30,6026 00017 RSCALE
013841,000043: 30,6027 01313 SCALER # SET SCALE OF POSITION.
013842,000044: 30,6030 00005 4
013843,000045: 30,6031 01312 SCALDELT # ALSO DEVIATION.
013844,000046: 30,6032 00023 18D
013845,000047: 30,6033 01311 SCALEDT # AND TIME STEP.
013846,000048: 30,6034 07461 EARTHTAB
013847,000049: 30,6035 01040 PBODY
013848,000050: 30,6036 20077 TESTTET
013849,000051: 30,6037 01305 STEPEXIT
013850,000052: 30,6040 33115 STORE TDELTAV # ZERO POSITION DEVIATION.
013851,000053:
013852,000054: 30,6041 47576 NOLOD 0
013853,000055: 30,6042 33123 STORE TNUV # ALSO VELOCITY.
013854,000056:
013855,000057: 30,6043 47576 NOLOD 0 # AND TIME SINCE RECTIFICATION, TIME,
013856,000058: 30,6044 33145 STORE TC # AND KEPLER X.
013857,000059: 30,6045 75575 AXT,1 1
013858,000060: 30,6046 55575 AST,1 EXIT
013859,000061: 30,6047 00015 12D
013860,000062: 30,6050 00007 6
013861,000063:
013862,000064: 30,6051 46250 CS INITMSK
013863,000065: 30,6052 70645 MASK STATE
013864,000066: 30,6053 50645 TS STATE
013865,000067: 30,6054 04000 TC INTPRET
013866,000068:
013867,000069: 30,6055 75375 RVTOMID VXSC* 1 # TRANSFORM POSITION AND VELOCITY TO
013868,000070: 30,6056 51622 VXM VSLT
013869,000071: 30,6057 02231 RRECT +12D,1
013870,000072: 30,6060 27455 SCLRAVMD +12D,1
013871,000073: 30,6061 01052 REFSMMAT
013872,000074: 30,6062 00003 2
013873,000075: 30,6063 36231 STORE RRECT +12D,1
013874,000076:
013875,000077: 30,6064 47576 NOLOD 0
013876,000078: 30,6065 36311 STORE RCV +12D,1
013877,000079:
013878,000080: 30,6066 51576 TIX,1 0
013879,000081: 30,6067 20056 RVTOMID
013880,000082:
013881,000083: 30,6070 64775 DMP 1
013882,000084: 30,6071 63776 TSLT
013883,000085: 30,6072 01211 TAVEGON
013884,000086: 30,6073 13617 SCLTAVMD
013885,000087: 30,6074 00004 3
013886,000088: 30,6075 33267 STORE TDEC
013887,000089:
013888,000090:
013889,000091: 30,6076 71575 TESTTET LXC,1 1
013890,000092: 30,6077 55445 AST,1 TIX,1
013891,000093: 30,6100 01301 MEASMODE
013892,000094: 30,6101 00002 1
013893,000095: 30,6102 20106 +3
013894,000096:
013895,000097: 30,6103 76776 ITC 0
013896,000098: 30,6104 20111 +4
013897,000099:
013898,000100: 30,6105 43576 TEST 0
013899,000101: 30,6106 00023 UPDATFLG
013900,000102: 30,6107 27200 NOSTATE
013901,000103:
013902,000104: 30,6110 72776 STZ 0
013903,000105: 30,6111 00123 OVFIND
013904,000106:
013905,000107: 30,6112 66775 DSU 1
013906,000108: 30,6113 63712 TSLT DDV
013907,000109: 30,6114 01267 TDEC
013908,000110: 30,6115 01147 TET
013909,000111: 30,6116 00012 9D
013910,000112: 30,6117 07472 EARTHTAB +9D
013911,000113: 30,6120 33263 STORE DT/2
013912,000114:
013913,000115: 30,6121 71773 BOV 3
013914,000116: 30,6122 65132 ABS DSU
013915,000117: 30,6123 73742 BMN DAD
013916,000118: 30,6124 66756 DSU BMN
013917,000119: 30,6125 20135 USEMAXDT
013918,000120: 30,6126 01263 DT/2
013919,000121: 30,6127 11340 DT/2MIN
013920,000122: 30,6130 20144 DODCSION
013921,000123: 30,6131 11340 DT/2MIN
013922,000124: 30,6132 11342 DT/2MAX
013923,000125: 30,6133 07131 TIMESTEP
013924,000126:
013925,000127: 30,6134 45175 USEMAXDT DMOVE 1
013926,000128: 30,6135 53776 SIGN
013927,000129: 30,6136 11342 DT/2MAX
013928,000130: 30,6137 01263 DT/2
013929,000131: 30,6140 33263 STORE DT/2
013930,000132:
013931,000133: 30,6141 76776 ITC 0
013932,000134: 30,6142 07131 TIMESTEP
013933,000135:
013934,000136:
013935,000137: 30,6143 76776 DODCSION ITC 0 # RECTIFY TO OBTAIN FULL POSITION
013936,000138: 30,6144 07165 RECTIFY # AND VELOCUTY VECTORS.
013937,000139:
013938,000140: 30,6145 43175 SMOVE 1
013939,000141: 30,6146 73636 BMN BZE
013940,000142: 30,6147 01301 MEASMODE # TEST MEASMODE.
013941,000143: 30,6150 20201 AVEGON # MEASMODE = -1.
013942,000144: 30,6151 20225 IGN-4SEC # MEASMODE = 0.
013943,000145:
013944,000146: 30,6152 75575 AXT,1 1 # MEASMODE = +1.
013945,000147: 30,6153 55576 AST,1
013946,000148: 30,6154 00015 12D
013947,000149: 30,6155 00007 6
013948,000150:
013949,000151: 30,6156 75375 RVTOAVE VXSC* 1 # TRANSFORM POSITION AND VELOCITY VECTORS
013950,000152: 30,6157 52622 MXV VSLT
013951,000153: 30,6160 02231 RRECT +12D,1
013952,000154: 30,6161 27461 SCLRMDAV +12D,1
013953,000155: 30,6162 01052 REFSMMAT
013954,000156: 30,6163 00002 1
013955,000157: 30,6164 36231 STORE RIGNTION +12D,1
013956,000158:
013957,000159: 30,6165 75375 VXSC* 1
013958,000160: 30,6166 52622 MXV VSLT
013959,000161: 30,6167 02461 RAVEGON +12D,1
013960,000162: 30,6170 27461 SCLRMDAV +12D,1
013961,000163: 30,6171 01052 REFSMMAT
013962,000164: 30,6172 00002 1
013963,000165: 30,6173 36461 STORE RAVEGON +12D,1
013964,000166:
013965,000167: 30,6174 51576 TIX,1 0
013966,000168: 30,6175 20157 RVTOAVE
013967,000169:
013968,000170: 30,6176 44576 ITCI 0
013969,000171: 30,6177 01303 MIDEXIT # RETURN.
013970,000172:
013971,000173:
013972,000174: 30,6200 75176 AVEGON VMOVE 0 # SAVE POSITION AND VELOCITY AT
013973,000175: 30,6201 01101 RRECT # AVERAGE G ON TIME.
013974,000176: 30,6202 33215 STORE RAVEGON
013975,000177:
013976,000178: 30,6203 75176 VMOVE 0
013977,000179: 30,6204 01107 VRECT
013978,000180: 30,6205 33223 STORE VAVEGON
013979,000181:
013980,000182: 30,6206 71575 LXC,1 1
013981,000183: 30,6207 55445 AST,1 TIX,1
013982,000184: 30,6210 01301 MEASMODE
013983,000185: 30,6211 00002 1
013984,000186: 30,6212 20153 RVTOAVE -4
013985,000187:
013986,000188: 30,6213 70775 DAD 1
013987,000189: 30,6214 75535 AXT,1 SXA,1
013988,000190: 30,6215 01267 TDEC
013989,000191: 30,6216 20245 1M555S # 1 MINUTES, 55.4 SECS
013990,000192: 30,6217 00001 0
013991,000193: 30,6220 01301 MEASMODE # MAKE MEASMODE 0.
013992,000194: 30,6221 33267 STORE TDEC
013993,000195:
013994,000196: 30,6222 76776 ITC 0
013995,000197: 30,6223 20077 TESTTET # CONTINUE INTEGRATION.
013996,000198:
013997,000199:
013998,000200:
013999,000201: 30,6224 75775 IGN-4SEC VXSC 1 # TRANSFORM AND SAVE POSITION ONLY
014000,000202: 30,6225 52622 MXV VSLT
014001,000203: 30,6226 01101 RRECT
014002,000204: 30,6227 13615 SCLRMDAV
014003,000205: 30,6230 01052 REFSMMAT
014004,000206: 30,6231 00002 1
014005,000207: 30,6232 33231 STORE RIG-4SEC
014006,000208:
014007,000209: 30,6233 70775 DAD 1
014008,000210: 30,6234 75535 AXT,1 SXA,1
014009,000211: 30,6235 01267 TDEC
014010,000212: 30,6236 20247 17.75SEC # ADD 17.75 SECONDS TO DECISION TIME.
014011,000213: 30,6237 00002 1
014012,000214: 30,6240 01301 MEASMODE # MAKE MEASMODE +1.
014013,000215: 30,6241 33267 STORE TDEC
014014,000216:
014015,000217: 30,6242 76776 ITC 0
014016,000218: 30,6243 20077 TESTTET # DO LAST INTEGRATION STEP.
014017,000219:
014018,000220: 30,6244 00000 26424 1M555S 2DEC 11540 B-28
014019,000221: 30,6246 00000 03357 17.75SEC 2DEC 1775 B-28
014020,000222: 30,6250 30000 INITMSK OCT 30000
End of include-file ORBITAL_INTEGRATION_FOR_202.agc. Parent file is MAIN.agc