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