Source Code
These source-code files are part of a reconstructed copy of Sunrise 69, the
final 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, 1003133-20, and 1003733-071. 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. |
003598,000002: ## Copyright: Public domain.
003599,000003: ## Filename: MASTER_CONTROL.agc
003600,000004: ## Purpose: A section of Sunrise 69.
003601,000005: ## It is part of the reconstructed source code for the final
003602,000006: ## release of the Block I Command Module system test software. No
003603,000007: ## original listings of this program are available; instead, this
003604,000008: ## file was created via disassembly of dumps of Sunrise core rope
003605,000009: ## memory modules and comparison with the later Block I program
003606,000010: ## Solarium 55.
003607,000011: ## Assembler: yaYUL --block1
003608,000012: ## Contact: Ron Burkey <info@sandroid.org>.
003609,000013: ## Website: www.ibiblio.org/apollo/index.html
003610,000014: ## Mod history: 2023-06-19 MAS Created from Sunrise 45.
003611,000015:
003612,000016: ## This log section is not present in any currently-known surviving program listings, so
003613,000017: ## it has been written from scratch to match the module disassembly. Label names were
003614,000018: ## taken from AGC Information Series Issue 16: Progress Control and Fresh Start, and
003615,000019: ## should be mostly correct. The name of the section itself could have originally been
003616,000020: ## PROGRESS CONTROL; the original sources are evenly split between calling it PROGRESS
003617,000021: ## CONTROL and MASTER CONTROL, and it is unclear which was actually in the listing.
003618,000022:
003619,000023: 2217 BANK 1
003620,000024:
003621,000025: 2217 30001 GETPHASE XCH Q
003622,000026: 2220 50034 TS OVCTR
003623,000027: 2221 02256 TC PHASCOM2
003624,000028: 2222 50571 TS EXECTEM5
003625,000029:
003626,000030: 2223 06502 TC REPHASE2
003627,000031:
003628,000032: 2224 06701 TC ONSKIP
003629,000033: 2225 02230 TC +3
003630,000034: 2226 10565 CCS PHASE
003631,000035: 2227 34516 CAF ONE
003632,000036: 2230 60571 AD EXECTEM5
003633,000037: 2231 50015 TS BANKREG
003634,000038: 2232 74605 MASK LOW10
003635,000039: 2233 50001 TS Q
003636,000040:
003637,000041: 2234 30565 XCH PHASE
003638,000042: 2235 20016 RELINT
003639,000043:
003640,000044: 2236 20001 INDEX Q
003641,000045: 2237 06000 TC 6000
003642,000046:
003643,000047: 04,6502 BANK 4
003644,000048:
003645,000049: 04,6502 30001 REPHASE2 XCH Q
003646,000050: 04,6503 50573 TS ITEMP2
003647,000051:
003648,000052: 04,6504 32765 PHASESUB CAF LOW5
003649,000053: 04,6505 70574 MASK PHASDATA
003650,000054: 04,6506 50566 TS PROG
003651,000055:
003652,000056: 04,6507 25777 EXTEND
003653,000057: 04,6510 46625 MP OCT12540
003654,000058: 04,6511 50572 TS PHASEWD
003655,000059: 04,6512 60000 DOUBLE
003656,000060: 04,6513 60572 AD PHASEWD
003657,000061: 04,6514 40000 COM
003658,000062: 04,6515 60566 AD PROG
003659,000063: 04,6516 50567 TS PHASEDIG
003660,000064:
003661,000065: 04,6517 20000 INDEX A
003662,000066: 04,6520 36540 CAF PHASMASK
003663,000067: 04,6521 20572 INDEX PHASEWD
003664,000068: 04,6522 70655 MASK PHASETAB
003665,000069: 04,6523 50565 TS PHASE
003666,000070:
003667,000071: 04,6524 20567 INDEX PHASEDIG
003668,000072: 04,6525 06526 TC +1
003669,000073: 04,6526 00573 TC ITEMP2
003670,000074: 04,6527 06532 TC +3
003671,000075: 04,6530 34512 CAF BIT5
003672,000076: 04,6531 06533 TC +2
003673,000077: 04,6532 34505 CAF BIT10
003674,000078: 04,6533 25777 EXTEND
003675,000079: 04,6534 40565 MP PHASE
003676,000080: 04,6535 72765 MASK LOW5
003677,000081: 04,6536 50565 TS PHASE
003678,000082:
003679,000083: 04,6537 00573 TC ITEMP2
003680,000084:
003681,000085: 04,6540 00037 PHASMASK OCT 00037
003682,000086: 04,6541 01740 OCT 01740
003683,000087: 04,6542 76000 OCT 76000
003684,000088:
003685,000089: 2240 BANK 1
003686,000090:
003687,000091: 2240 30001 PHASCHNG XCH Q
003688,000092: 2241 02251 TC PHASECOM
003689,000093: 2242 06543 TC PHASCH3
003690,000094:
003691,000095: 04,6543 BANK 4
003692,000096:
003693,000097: 04,6543 10565 PHASCH3 CCS PHASE
003694,000098: 04,6544 06713 TC INCET4
003695,000099:
003696,000100: 04,6545 34506 PHASCH4 CAF BIT9
003697,000101: 04,6546 25777 EXTEND
003698,000102: 04,6547 40574 MP PHASDATA
003699,000103:
003700,000104: 04,6550 06651 TC SETPHASE
003701,000105:
003702,000106: 04,6551 40565 CS PHASE
003703,000107: 04,6552 40000 COM
003704,000108: 04,6553 50114 TS MPAC
003705,000109:
003706,000110: 04,6554 06701 TC ONSKIP
003707,000111: 04,6555 06557 TC +2
003708,000112: 04,6556 02275 TC PHASREL
003709,000113:
003710,000114: 04,6557 07064 TC DEMANDON
003711,000115: 04,6560 20566 INDEX PROG
003712,000116: 04,6561 36717 CAF PROGCADR
003713,000117: 04,6562 02524 TC SWCALL
003714,000118:
003715,000119: 04,6563 20016 STARTRET RELINT
003716,000120: 04,6564 02516 TC BANKCALL
003717,000121: 04,6565 42001 CADR DSPMM
003718,000122: 04,6566 02276 TC PHASEOUT
003719,000123:
003720,000124: 2243 BANK 1
003721,000125:
003722,000126: 2243 30001 PHASWAIT XCH Q
003723,000127: 2244 02251 TC PHASECOM
003724,000128: 2245 06567 TC PHASWT3
003725,000129:
003726,000130: 04,6567 BANK 4
003727,000131:
003728,000132: 04,6567 06701 PHASWT3 TC ONSKIP
003729,000133: 04,6570 02272 TC PHASOUT2
003730,000134:
003731,000135: 04,6571 35500 CAF ZERO
003732,000136: 04,6572 06651 TC SETPHASE
003733,000137:
003734,000138: 04,6573 34516 CAF ONE
003735,000139: 04,6574 50034 PHASWT5 TS OVCTR
003736,000140: 04,6575 20000 INDEX A
003737,000141: 04,6576 10673 CCS PWTCADR
003738,000142: 04,6577 06601 TC +2
003739,000143: 04,6600 06605 TC PHASWT4
003740,000144:
003741,000145: 04,6601 10034 CCS OVCTR
003742,000146: 04,6602 06574 TC PHASWT5
003743,000147:
003744,000148: 04,6603 02652 TC ABORT
003745,000149: 04,6604 01205 OCT 01205
003746,000150:
003747,000151: 04,6605 30566 PHASWT4 XCH PROG
003748,000152: 04,6606 20034 INDEX OVCTR
003749,000153: 04,6607 50671 TS PWTPROG
003750,000154:
003751,000155: 04,6610 30115 XCH MPAC +1
003752,000156: 04,6611 20034 INDEX OVCTR
003753,000157: 04,6612 50673 TS PWTCADR
003754,000158: 04,6613 02120 TC JOBSLEEP
003755,000159:
003756,000160: 2246 BANK 1
003757,000161:
003758,000162: 2246 30001 MAJEXIT XCH Q
003759,000163: 2247 02251 TC PHASECOM
003760,000164: 2250 06614 TC MAJEX3
003761,000165:
003762,000166: 04,6614 BANK 4
003763,000167:
003764,000168: 04,6614 32765 MAJEX3 CAF LOW5
003765,000169: 04,6615 06651 TC SETPHASE
003766,000170:
003767,000171: 04,6616 34516 CAF ONE
003768,000172: 04,6617 50034 MAJEX4 TS OVCTR
003769,000173: 04,6620 40566 CS PROG
003770,000174: 04,6621 20034 INDEX OVCTR
003771,000175: 04,6622 60671 AD PWTPROG
003772,000176:
003773,000177: 04,6623 10000 CCS A
003774,000178: 04,6624 06636 TC MAJEX5
003775,000179: 04,6625 12540 OCT12540 OCT 12540
003776,000180: 04,6626 06636 TC MAJEX5
003777,000181:
003778,000182: 04,6627 20034 INDEX OVCTR
003779,000183: 04,6630 30673 XCH PWTCADR
003780,000184: 04,6631 02051 TC JOBWAKE
003781,000185:
003782,000186: 04,6632 32765 CAF LOW5
003783,000187: 04,6633 20034 INDEX OVCTR
003784,000188: 04,6634 50671 TS PWTPROG
003785,000189:
003786,000190: 04,6635 06640 TC DEMOFF
003787,000191:
003788,000192: 04,6636 10034 MAJEX5 CCS OVCTR
003789,000193: 04,6637 06617 TC MAJEX4
003790,000194:
003791,000195: 04,6640 40566 DEMOFF CS PROG
003792,000196: 04,6641 20000 INDEX A
003793,000197: 04,6642 44516 CS BIT1
003794,000198: 04,6643 70622 MASK MODREG
003795,000199: 04,6644 50622 TS MODREG
003796,000200:
003797,000201: 04,6645 20016 RELINT
003798,000202: 04,6646 02516 TC BANKCALL
003799,000203: 04,6647 42001 CADR DSPMM
003800,000204:
003801,000205: 04,6650 02115 DOEJ TC ENDOFJOB
003802,000206:
003803,000207: 04,6651 50034 SETPHASE TS OVCTR
003804,000208: 04,6652 20567 INDEX PHASEDIG
003805,000209: 04,6653 36710 CAF PHASESHL
003806,000210:
003807,000211: 04,6654 25777 EXTEND
003808,000212: 04,6655 40034 MP OVCTR
003809,000213: 04,6656 50034 TS OVCTR
003810,000214:
003811,000215: 04,6657 20567 INDEX PHASEDIG
003812,000216: 04,6660 46540 CS PHASMASK
003813,000217: 04,6661 20572 INDEX PHASEWD
003814,000218: 04,6662 70655 MASK PHASETAB
003815,000219: 04,6663 60003 AD LP
003816,000220: 04,6664 20034 INDEX OVCTR
003817,000221: 04,6665 66704 AD B15FIX
003818,000222: 04,6666 20572 INDEX PHASEWD
003819,000223: 04,6667 50655 TS PHASETAB
003820,000224: 04,6670 20572 INDEX PHASEWD
003821,000225: 04,6671 50661 TS BACKPHAS
003822,000226: 04,6672 40000 COM
003823,000227: 04,6673 20572 INDEX PHASEWD
003824,000228: 04,6674 50665 TS PHASEBAR
003825,000229:
003826,000230: 04,6675 34516 CAF ONE
003827,000231: 04,6676 25777 EXTEND
003828,000232: 04,6677 40570 MP PHASELP
003829,000233:
003830,000234: 04,6700 00001 TC Q
003831,000235:
003832,000236: 04,6701 42765 ONSKIP CS LOW5
003833,000237: 04,6702 60565 AD PHASE
003834,000238: 04,6703 10000 CCS A
003835,000239: 04,6704 00000 B15FIX OCT 00000
003836,000240: 04,6705 40000 OCT 40000
003837,000241: 04,6706 20001 INDEX Q
003838,000242: 04,6707 00001 TC Q
003839,000243:
003840,000244: 04,6710 00001 PHASESHL OCT 00001
003841,000245: 04,6711 00040 OCT 00040
003842,000246: 04,6712 02000 OCT 02000
003843,000247:
003844,000248: 04,6713 34516 INCET4 CAF ONE
003845,000249: 04,6714 60115 AD MPAC +1
003846,000250: 04,6715 50115 TS MPAC +1
003847,000251: 04,6716 00001 TC Q
003848,000252:
003849,000253: 04,6717 46656 PROGCADR CADR STARTPL
003850,000254: 04,6720 44241 CADR STARTFF
003851,000255: 04,6721 10721 CADR 10721
003852,000256: 04,6722 10722 CADR 10722
003853,000257: 04,6723 10723 CADR 10723
003854,000258:
003855,000259: 04,6724 50021 MODROUT TS SR
003856,000260: 04,6725 25777 EXTEND
003857,000261: 04,6726 44510 MP BIT7
003858,000262: 04,6727 40021 CS SR
003859,000263: 04,6730 40021 CS SR
003860,000264: 04,6731 36742 CAF OCT700
003861,000265: 04,6732 70003 MASK LP
003862,000266: 04,6733 60021 AD SR
003863,000267: 04,6734 20017 INHINT
003864,000268: 04,6735 50574 TS PHASDATA
003865,000269:
003866,000270: 04,6736 36743 CAF TCEND-1
003867,000271: 04,6737 50115 TS MPAC +1
003868,000272: 04,6740 06502 TC REPHASE2
003869,000273: 04,6741 06545 TC PHASCH4
003870,000274:
003871,000275: 04,6742 00700 OCT700 OCT 700
003872,000276: 04,6743 10650 TCEND-1 CADR DOEJ
003873,000277:
003874,000278: 2251 BANK 1
003875,000279:
003876,000280: 2251 50034 PHASECOM TS OVCTR
003877,000281: 2252 30001 XCH Q
003878,000282: 2253 02256 TC PHASCOM2
003879,000283: 2254 50115 TS MPAC +1
003880,000284: 2255 06504 TC PHASESUB
003881,000285:
003882,000286: 2256 20017 PHASCOM2 INHINT
003883,000287: 2257 50573 TS ITEMP2
003884,000288:
003885,000289: 2260 20034 INDEX OVCTR
003886,000290: 2261 30000 CAF 00000
003887,000291: 2262 50574 TS PHASDATA
003888,000292:
003889,000293: 2263 30003 XCH LP
003890,000294: 2264 50570 TS PHASELP
003891,000295:
003892,000296: 2265 32066 CAF PHASBANK
003893,000297: 2266 30015 XCH BANKREG
003894,000298: 2267 60034 AD OVCTR
003895,000299: 2270 62300 AD 72K
003896,000300:
003897,000301: 2271 00001 TC Q
003898,000302:
003899,000303: 2272 2066 PHASBANK EQUALS EXECBANK
003900,000304:
003901,000305: 2272 34516 PHASOUT2 CAF ONE
003902,000306: 2273 25777 EXTEND
003903,000307: 2274 40570 MP PHASELP
003904,000308: 2275 20016 PHASREL RELINT
003905,000309: 2276 30115 PHASEOUT XCH MPAC +1
003906,000310: 2277 02566 TC BANKJUMP
003907,000311:
003908,000312: 2300 72000 72K OCT 72000
End of include-file MASTER_CONTROL.agc. Parent file is MAIN.agc