Source Code

These source-code files are part of a reconstructed copy of Sunrise 45, the penultimate 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, and 1003133-20. 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.

009085,000002:                                                                                                  ## Copyright:   Public domain.
009086,000003:                                                                                                  ## Filename:    RTB_OP_CODES.agc
009087,000004:                                                                                                  ## Purpose:     A section of Sunrise 45.
009088,000005:                                                                                                  ##              It is part of the reconstructed source code for the penultimate
009089,000006:                                                                                                  ##              release of the Block I Command Module system test software. No
009090,000007:                                                                                                  ##              original listings of this program are available; instead, this
009091,000008:                                                                                                  ##              file was created via disassembly of dumps of Sunrise core rope
009092,000009:                                                                                                  ##              memory modules and comparison with the later Block I program
009093,000010:                                                                                                  ##              Solarium 55.
009094,000011:                                                                                                  ## Assembler:   yaYUL --block1
009095,000012:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
009096,000013:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
009097,000014:                                                                                                  ## Mod history: 2022-12-09 MAS  Initial reconstructed source.
009098,000015: 
009099,000016: 
009100,000017: 23,7021                                           BANK     23                                    
009101,000018:                                                                                                  #  ROUTINE TO LOAD TIME OF DAY INTO MPAC
009102,000019: 
009103,000020: 23,7021           02473        LOADTIME           TC       READTIME                              
009104,000021: 23,7022           40565                           CS       RUPTSTOR                              
009105,000022: 23,7023           50114                           TS       MPAC                                  
009106,000023: 23,7024           40566                           CS       RUPTSTOR   +1                         
009107,000024: 23,7025           50115                           TS       MPAC       +1                         
009108,000025: 23,7026           20016                           RELINT                                         
009109,000026: 23,7027           35500                           CAF      ZERO                                  
009110,000027: 23,7030           50065                           TS       NEWEQIND                              
009111,000028: 23,7031           50116                           TS       MPAC       +2                         
009112,000029: 23,7032           05236                           TC       DPEXIT                                
009113,000030: 
009114,000031: 
009115,000032:                                                                                                  #  ROUTINE TO RESET THE PUSHDOWN POUNTER
009116,000033: 
009117,000034: 23,7033           40066        FRESHPD            CS       FIXLOC                                
009118,000035: 23,7034           40000                           COM                                            
009119,000036: 23,7035           50122                           TS       PUSHLOC                               
009120,000037: 23,7036           04702                           TC       RE-ENTER                              
009121,000038: 
009122,000039: 
009123,000040:                                                                                                  #  ROUTINE TO ZERO OUT THE FIRST 38 LOCS OF A VAC AREA
009124,000041: 
009125,000042: 23,7037           37051        ZEROVAC            CAF      37DEC                                 
009126,000043: 23,7040           50114        ZVLOOP             TS       MPAC                                  
009127,000044: 23,7041           60066                           AD       FIXLOC                                
009128,000045: 23,7042           50001                           TS       Q                                     
009129,000046: 23,7043           35500                           CAF      ZERO                                  
009130,000047: 23,7044           20001                           INDEX    Q                                     
009131,000048: 23,7045           50000                           TS       0                                     
009132,000049: 23,7046           10114                           CCS      MPAC                                  
009133,000050: 23,7047           07040                           TC       ZVLOOP                                
009134,000051: 23,7050           04702                           TC       RE-ENTER                              
009135,000052: 
009136,000053: 23,7051           00045        37DEC              DEC      37         B-14                       
009137,000054: 
009138,000055: 
009139,000056:                                                                                                  #  ROUTINE TO CONVERT IS COMP. NOS. TO 1S COMP.
009140,000057: 
009141,000058: 23,7052           10114        CDULOGIC           CCS      MPAC                                  #  THIS BASIC ROUTINE TESTS CDU ANGLES FOR
009142,000059: 23,7053           07060                           TC       CDULOG1                               #  +OR-SIGN INCLUDING ZERO AND FORMS A DP
009143,000060: 23,7054           07060                           TC       CDULOG1                               #  NUMBER CORRESPONDING TO ANGLE
009144,000061: 23,7055           07056                           TC       +1                                    
009145,000062: 23,7056           44521                           CS       HALF                                  #  USE           SMOVE   1
009146,000063: 23,7057           07061                           TC       +2                                    #                RTB
009147,000064: 23,7060           45500        CDULOG1            CS       ZERO                                  #                        CDUXYZ
009148,000065: 23,7061           30034                           XCH      OVCTR                                 #                        CDULOGIC
009149,000066: 23,7062           30114                           XCH      MPAC                                  
009150,000067: 23,7063           25777                           EXTEND                                         
009151,000068: 23,7064           44521                           MP       HALF                                  
009152,000069: 23,7065           30034                           XCH      OVCTR                                 
009153,000070: 23,7066           60003                           AD       LP                                    
009154,000071: 23,7067           30115                           XCH      MPAC       +1                         
009155,000072: 23,7070           30034                           XCH      OVCTR                                 
009156,000073: 23,7071           30114                           XCH      MPAC                                  
009157,000074: 23,7072           04024                           TC       DANZIG                                
009158,000075: 
009159,000076: 
009160,000077:                                                                                                  #  ROUTINE TO CONVERT 1S COMP. NOS. TO 2S COMP.
009161,000078: 
009162,000079: 23,7073           35500        1STO2S             CAF      ZERO                                  
009163,000080: 23,7074           30115                           XCH      MPAC       +1                         
009164,000081: 23,7075           60000                           DOUBLE                                         
009165,000082: 23,7076           50034                           TS       OVCTR                                 
009166,000083: 23,7077           35500                           CAF      ZERO                                  
009167,000084: 23,7100           60114                           AD       MPAC                                  
009168,000085: 23,7101           60114                           AD       MPAC                                  
009169,000086: 23,7102           10000                           CCS      A                                     
009170,000087: 23,7103           64516                           AD       ONE                                   
009171,000088: 23,7104           07106                           TC       +2                                    
009172,000089: 23,7105           40000                           COM                                            
009173,000090: 23,7106           50114        ZYXR               TS       MPAC                                  #  AND MAYBE OVERFLOW.
009174,000091: 23,7107           04024                           TC       DANZIG                                
009175,000092: 
009176,000093: 23,7110           20000                           INDEX    A                                     #  HANDLE OVERFLOW IN STANDARD ANGULAR WAY.
009177,000094: 23,7111           34477                           CAF      LIMITS                                
009178,000095: 23,7112           60114                           AD       MPAC                                  #  GUARANTEED NO OVERFLOW.
009179,000096: 23,7113           07106                           TC       ZYXR                                  
009180,000097: 
009181,000098: 
009182,000099: 23,7114           20017        READPIPS           INHINT                                         
009183,000100: 23,7115           40044                           CS       PIPAX                                 
009184,000101: 23,7116           40000                           CS       A                                     
009185,000102: 23,7117           20066                           INDEX    FIXLOC                                
009186,000103: 23,7120           50040                           TS       VAC                                   
009187,000104: 23,7121           40045                           CS       PIPAY                                 
009188,000105: 23,7122           40000                           CS       A                                     
009189,000106: 23,7123           20066                           INDEX    FIXLOC                                
009190,000107: 23,7124           50042                           TS       VAC        +2                         
009191,000108: 23,7125           40046                           CS       PIPAZ                                 
009192,000109: 23,7126           40000                           CS       A                                     
009193,000110: 23,7127           20066                           INDEX    FIXLOC                                
009194,000111: 23,7130           50044                           TS       VAC        +4                         
009195,000112: 23,7131           20016                           RELINT                                         
009196,000113: 23,7132           35500                           CAF      ZERO                                  
009197,000114: 23,7133           20066                           INDEX    FIXLOC                                
009198,000115: 23,7134           50041                           TS       VAC        +1                         
009199,000116: 23,7135           20066                           INDEX    FIXLOC                                
009200,000117: 23,7136           50043                           TS       VAC        +3                         
009201,000118: 23,7137           20066                           INDEX    FIXLOC                                
009202,000119: 23,7140           50045                           TS       VAC        +5                         
009203,000120: 23,7141           45500        VMODE              CS       ZERO                                  
009204,000121: 23,7142           05237                           TC       DPEXIT     +1                         
009205,000122: 
009206,000123: 
009207,000124: 
009208,000125: 23,7143           02516        PULSEIMU           TC       BANKCALL                              
009209,000126: 23,7144           21440                           CADR     IMUPULSE                              
009210,000127: 
009211,000128: 23,7145           04702                           TC       RE-ENTER                              
009212,000129: 
009213,000130: 
009214,000131: 23,7146           02516        SGNAGREE           TC       BANKCALL                              
009215,000132: 23,7147           07132                           CADR     TPAGREE                               
009216,000133: 23,7150           04024                           TC       DANZIG                                
009217,000134: 
009218,000135: 
009219,000136: 
009220,000137:                                                                                                  #  ROUTINE TO COMPLETE OPTICS TRUNNION ANGLE CONVERSION FROM COUNTER
009221,000138:                                                                                                  #  READING TO DP REVOLUTIONS. CALLS TO TRUNLOG SHOULD BE IMMEDIATELY
009222,000139:                                                                                                  #  PRECEDED BY A CALL TO CDULOGIC.  (NO NEED TO CHECK SXT POWER-ON BIT.)
009223,000140: 23,7151           34502        TRUNLOG            CAF      BIT13                                 
009224,000141: 23,7152           70750                           MASK     WASOPSET                              
009225,000142: 23,7153           10000                           CCS      A                                     
009226,000143: 23,7154           07160                           TC       +4                                    
009227,000144: 
009228,000145: 23,7155           34521                           CAF      HALF                                  
009229,000146: 23,7156           05415        TRUNLOG1           TC       SHORTMP                               
009230,000147: 23,7157           04024                           TC       DANZIG                                #  WITH PD IF AT END W/ NO ADDRESSES.
009231,000148: 
009232,000149: 23,7160           37165                           CAF      10DEGS                                #  CORRECT FOR 20 DEG OFFSET (CDULOGIC
009233,000150: 23,7161           60114                           AD       MPAC                                  #   ALREADY SHIFTED IT RIGHT ONE) AND SHIFT
009234,000151: 23,7162           50114                           TS       MPAC                                  #   RIGHT TWO ADDITIONAL PLACES.
009235,000152: 23,7163           34502                           CAF      QUARTER                               
009236,000153: 23,7164           07156                           TC       TRUNLOG1                              
009237,000154: 
009238,000155: 23,7165           07020        10DEGS             DEC      3600       B-14                       #  HALF OF SXT TRUNION OFFSET

End of include-file RTB_OP_CODES.agc.  Parent file is MAIN.agc