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, 1966
Note 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.

014176,000002:                                                                                                  ## Copyright:   Public domain.
014177,000003:                                                                                                  ## Filename:    INFLIGHT_ALIGNMENT_PROGRAM.agc
014178,000004:                                                                                                  ## Purpose:     Part of the source code for Solarium build 55. This
014179,000005:                                                                                                  ##              is for the Command Module's (CM) Apollo Guidance
014180,000006:                                                                                                  ##              Computer (AGC), for Apollo 6.
014181,000007:                                                                                                  ## Assembler:   yaYUL --block1
014182,000008:                                                                                                  ## Contact:     Jim Lawton <jim DOT lawton AT gmail DOT com>
014183,000009:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
014184,000010:                                                                                                  ## Page Scans:  www.ibiblio.org/apollo/ScansForConversion/Solarium055/
014185,000011:                                                                                                  ## Mod history: 2009-10-03 JL   Created.
014186,000012:                                                                                                  ##              2016-12-28 RSB  Proofed comment text using octopus/ProoferComments,
014187,000013:                                                                                                  ##                              and fixed errors found.
014188,000014: 

Page 366

014190,000016: 
014191,000017: 22,6000                                           SETLOC   44000                                 
014192,000018: 
014193,000019: 22,6000           34475        SWAYSTAT           CAF      SIX                                   #  PROGRAM START AND INITIAL CONDITIONS
014194,000020: 22,6001           51100                           TS       DTCOUNT                               #  SET DTCOUNT = 6
014195,000021: 22,6002           51101                           TS       DTCOUNT    +1                         
014196,000022: 22,6003           34516                           CAF      ONE                                   
014197,000023: 22,6004           51102                           TS       SWAYPULS                              #  SET FIRST PIPA PULSE = +1
014198,000024: 22,6005           51103                           TS       SWAYPULS   +1                         
014199,000025: 22,6006           34516                           CAF      ONE                                   
014200,000026: 22,6007           02173                           TC       WAITLIST                              
014201,000027: 22,6010           44024                           CADR     SWAYROTY                              
014202,000028: 22,6011           34516                           CAF      ONE                                   
014203,000029: 22,6012           61104                           AD       PHAZING                               
014204,000030: 22,6013           02173                           TC       WAITLIST                              
014205,000031: 22,6014           44017                           CADR     SWAYROTZ                              
014206,000032: 22,6015           20016                           RELINT                                         
014207,000033: 22,6016           02124                           TC       ENDOFJOB                              
014208,000034: 
014209,000035: 
014210,000036: 
014211,000037: 22,6017           30003        SWAYROTZ           XCH      LP                                    #  STORE LP IN LPRUPT
014212,000038: 22,6020           30032                           XCH      LPRUPT                                
014213,000039: 22,6021           34516                           CAF      ONE                                   #  SET INDEX PIPSLECT FOR SELECTION OF
014214,000040: 22,6022           51111                           TS       PIPSLECT                              #  PIPA TO BE INCREMENTED
014215,000041: 22,6023           06030                           TC       SWAYROTY   +4                         
014216,000042: 
014217,000043: 22,6024           30003        SWAYROTY           XCH      LP                                    
014218,000044: 22,6025           30032                           XCH      LPRUPT                                
014219,000045: 22,6026           35501                           CAF      ZERO                                  
014220,000046: 22,6027           51111                           TS       PIPSLECT                              
014221,000047: 
014222,000048: 22,6030           45501                           CS       ZERO                                  
014223,000049: 22,6031           21111                           INDEX    PIPSLECT                              
014224,000050: 22,6032           30045                           XCH      PIPAY                                 
014225,000051: 22,6033           21111                           INDEX    PIPSLECT                              
014226,000052: 22,6034           61102                           AD       SWAYPULS                              
014227,000053: 22,6035           21111                           INDEX    PIPSLECT                              
014228,000054: 22,6036           30045                           XCH      PIPAY                                 
014229,000055: 22,6037           10000                           CCS      A                                     
014230,000056: 22,6040           64516                           AD       ONE                                   #  INCREMENT PIPA COUNTER IF PULSE
014231,000057: 22,6041           06045                           TC       ADDINC     +1                         
014232,000058: 22,6042           06044                           TC       ADDINC                                
014233,000059: 22,6043           06051                           TC       ENDCHEC                               
014234,000060: 
014235,000061: 
014236,000062: 
014237,000063: 22,6044           44516        ADDINC             CS       ONE                                   
014238,000064: 22,6045           21111                           INDEX    PIPSLECT                              
014239,000065: 22,6046           60045                           AD       PIPAY                                 
014240,000066: 22,6047           21111                           INDEX    PIPSLECT                              

Page 367

014242,000068: 22,6050           30045                           XCH      PIPAY                                 
014243,000069: 
014244,000070: 
014245,000071: 
014246,000072: 22,6051           11105        ENDCHEC            CCS      ENDSROT                               #  IF ENDSROT = +1 EXIT PROGRAM
014247,000073: 22,6052           06055                           TC       CDTTHREE                              #  WHEN DTCOUNT = 6
014248,000074: 22,6053           06065                           TC       TIMCALC                               
014249,000075: 22,6054           06055                           TC       CDTTHREE                              
014250,000076: 22,6055           44475        CDTTHREE           CS       SIX                                   
014251,000077: 22,6056           21111                           INDEX    PIPSLECT                              
014252,000078: 22,6057           61100                           AD       DTCOUNT                               
014253,000079: 22,6060           10000                           CCS      A                                     
014254,000080: 22,6061           06065                           TC       TIMCALC                               #  EXIT ON DTCOUNT = 6
014255,000081: 22,6062           06124                           TC       ENDSWAY                               
014256,000082: 22,6063           06065                           TC       TIMCALC                               
014257,000083: 22,6064           06124                           TC       ENDSWAY                               
014258,000084: 
014259,000085: 
014260,000086: 
014261,000087: 22,6065           21111        TIMCALC            INDEX    PIPSLECT                              
014262,000088: 22,6066           11100                           CCS      DTCOUNT                               
014263,000089: 22,6067           06100                           TC       DIMCOUNT                              #  ACC NOW CONTAINS DTCOUNT - 1
014264,000090: 22,6070           06073                           TC       ALTPULSS                              #  IF DTCOUNT NORZ CHANGE
014265,000091: 22,6071           06073                           TC       ALTPULSS                              #  SIGN OF SWAYPULSE
014266,000092: 22,6072           30000                           NOOP                                           
014267,000093: 22,6073           21111        ALTPULSS           INDEX    PIPSLECT                              
014268,000094: 22,6074           41102                           CS       SWAYPULS                              
014269,000095: 22,6075           21111                           INDEX    PIPSLECT                              
014270,000096: 22,6076           51102                           TS       SWAYPULS                              
014271,000097: 22,6077           33535                           CAF      THIRTEEN                              #  AND RESTART DTCOUNT AT 13
014272,000098: 22,6100           21111        DIMCOUNT           INDEX    PIPSLECT                              
014273,000099: 22,6101           51100                           TS       DTCOUNT                               #  DTCOUNT NOW DIMINISHED BY ONE
014274,000100:                                                                                                  #  OR RESET TO 13
014275,000101: 22,6102           21111                           INDEX    PIPSLECT                              
014276,000102: 22,6103           21100                           INDEX    DTCOUNT                               #  SELECT APPROPRIATE DELTA T FROM LIST
014277,000103: 22,6104           36130                           CAF      DELTA                                 
014278,000104: 22,6105           25777                           EXTEND                                         
014279,000105: 22,6106           41110                           MP       TPERIOD                               #  AND MULTIPLY BY PERIOD
014280,000106: 22,6107           64477                           AD       FIVE                                  #  ROUND RESULT
014281,000107: 22,6110           25777                           EXTEND                                         
014282,000108: 22,6111           46146                           MP       ONETENTH                              
014283,000109: 22,6112           50575                           TS       RUPTSTOR   +3                         #  TIME (DT) TILL NEXT INTERRUPT 10MS
014284,000110: 22,6113           11111        NEXTRUPT           CCS      PIPSLECT                              
014285,000111: 22,6114           06121                           TC       ZPIPRUPT                              #  CALL WAITLIST FOR ZPIPA
014286,000112: 22,6115           30575                           XCH      RUPTSTOR   +3                         
014287,000113: 22,6116           02173                           TC       WAITLIST                              #  CALL WAITLIST FOR YPIPA
014288,000114: 22,6117           44024                           CADR     SWAYROTY                              
014289,000115: 22,6120           06124                           TC       ENDSWAY                               
014290,000116: 
014291,000117: 22,6121           30575        ZPIPRUPT           XCH      RUPTSTOR   +3                         

Page 368

014293,000119: 22,6122           02173                           TC       WAITLIST                              
014294,000120: 22,6123           44017                           CADR     SWAYROTZ                              
014295,000121: 22,6124           30032        ENDSWAY            XCH      LPRUPT                                #  REPLACE LP
014296,000122: 22,6125           25777                           EXTEND                                         
014297,000123: 22,6126           44516                           MP       BIT1                                  
014298,000124: 22,6127           02256                           TC       TASKOVER                              #  END OF SWAY ROUTINE
014299,000125: 

Page 369

014301,000127: 
014302,000128:                                                                                                  #  MEMORY ASSIGNMENTS
014303,000129: 
014304,000130: 
014305,000131: 
014306,000132: 22,6130     1100               DTCOUNT            EQUALS   AMEMORY                               #  YPIPA STATE COUNTER (0-7)
014307,000133: 22,6130     1102               SWAYPULS           EQUALS   AMEMORY    +2                         #  NEXT YPIPA PULSE (+1,-1)
014308,000134: 22,6130     1104               PHAZING            EQUALS   AMEMORY    +4                         #  TIME DELAY FOR ZPIPA START
014309,000135:                                                                                                  #  INITIALIZED BY KEYBOARD
014310,000136:                                                                                                  #  +XXXXX. E-2 SEC
014311,000137:                                                                                                  #  MUST BE GREATER THAN 00001
014312,000138: 22,6130     1105               ENDSROT            EQUALS   AMEMORY    +5                         #  FLAG FOR PROGRAM EXIT
014313,000139:                                                                                                  #  SET BY KEYBOARD
014314,000140:                                                                                                  #  = 00001. TO END SWAYROUTINE
014315,000141:                                                                                                  #  = +00000. TO CONTINUE
014316,000142: 22,6130     1110               TPERIOD            EQUALS   AMEMORY    +8D                        #  PERIOD OF SWAY
014317,000143:                                                                                                  #  SET BY KEYBOARD
014318,000144:                                                                                                  #  = XX.XXX SEC
014319,000145: 22,6130     1111               PIPSLECT           EQUALS   AMEMORY    +9D                        #  INDEX FOR PIPA SELECTION
014320,000146: 22,6130           01602        DELTA              DEC      .05482                                #  DELTA  TO
014321,000147: 22,6131           01064                           DEC      .03444                                #  1
014322,000148: 22,6132           00720                           DEC      .02833                                #  2
014323,000149: 22,6133           00636                           DEC      .02528                                #  3
014324,000150: 22,6134           00602                           DEC      .02356                                #  4
014325,000151: 22,6135           00562                           DEC      .02259                                #  5
014326,000152: 22,6136           00553                           DEC      .02213                                #  6
014327,000153: 22,6137           00553                           DEC      .02213                                #  7
014328,000154: 22,6140           00562                           DEC      .02259                                #  8
014329,000155: 22,6141           00602                           DEC      .02356                                #  9
014330,000156: 22,6142           00636                           DEC      .02528                                #  10
014331,000157: 22,6143           00720                           DEC      .02833                                #  11
014332,000158: 22,6144           01064                           DEC      .03444                                #  12
014333,000159: 22,6145           04173                           DEC      .1325                                 #  13
014334,000160: 22,6146           03146        ONETENTH           DEC      E-1        B-14                       
014335,000161: 

Page 370

014337,000163: 
014338,000164:                                                                                                  #  VERIFICATION ASSISTANVE FOR INFLIGHT
014339,000165: 
014340,000166: 
014341,000167: 
014342,000168: 22,6147           04000        MYTEST             TC       INTPRET                               #                                        456
014343,000169: 22,6150           45176                           DMOVE    0                                     #                                        356
014344,000170: 22,6151           05174                                    ZERODP                                #  SET ANGLES TO ZERO AND TEST           256
014345,000171: 22,6152           33523                           STORE    IGC                                   #                                        156
014346,000172: 
014347,000173: 22,6153           47576                           NOLOD    0                                     #                                        056
014348,000174: 22,6154           33525                           STORE    MGC                                   #                                        -56
014349,000175: 
014350,000176: 22,6155           47576                           NOLOD    0                                     #                                        +56
014351,000177: 22,6156           33521                           STORE    OGC                                   
014352,000178: 
014353,000179: 22,6157           76776                           ITC      0                                     
014354,000180: 22,6160           04262                                    DOTEST                                
014355,000181: 
014356,000182: 22,6161           47176                           COMP     0                                     #  SET ANGLES TO -HALF AND TEST
014357,000183: 22,6162           05200                                    HALFDP                                
014358,000184: 22,6163           33523                           STORE    IGC                                   
014359,000185: 
014360,000186: 22,6164           47576                           NOLOD    0                                     
014361,000187: 22,6165           33525                           STORE    MGC                                   
014362,000188: 
014363,000189: 22,6166           47576                           NOLOD    0                                     
014364,000190: 22,6167           33521                           STORE    OGC                                   
014365,000191: 
014366,000192: 22,6170           76776                           ITC      0                                     
014367,000193: 22,6171           04262                                    DOTEST                                
014368,000194: 
014369,000195: 22,6172           45175        CHGIGC             DMOVE    1                                     #  CHANGE IGC,MGC, AND OGC AND TEST
014370,000196: 22,6173           70776                           DAD                                            
014371,000197: 22,6174           01317                                    AZIMUTH                               
014372,000198: 22,6175           04256                                    INCRMT                                
014373,000199: 22,6176           33523                           STORE    IGC                                   
014374,000200: 
014375,000201: 22,6177           47576                           NOLOD    0                                     
014376,000202: 22,6200           33317                           STORE    AZIMUTH                               
014377,000203: 
014378,000204: 22,6201           66775                           DSU      1                                     
014379,000205: 22,6202           43772                           BPL      ITC                                   
014380,000206: 22,6203           01523                                    IGC                                   
014381,000207: 22,6204           05200                                    HALFDP                                
014382,000208: 22,6205           04260                                    OUT                                   
014383,000209: 22,6206           04262                                    DOTEST                                
014384,000210: 
014385,000211: 22,6207           45175        CHGMGC             DMOVE    1                                     #  CHANGE MGC AND OGC AND TEST
014386,000212: 22,6210           70776                           DAD                                            
014387,000213: 22,6211           01321                                    GYROCSW                               

Page 371

014389,000215: 22,6212           04256                                    INCRMT                                
014390,000216: 22,6213           33525                           STORE    MGC                                   
014391,000217: 
014392,000218: 22,6214           47576                           NOLOD    0                                     
014393,000219: 22,6215           33321                           STORE    GYROCSW                               
014394,000220: 
014395,000221: 22,6216           66775                           DSU      1                                     
014396,000222: 22,6217           43772                           BPL      ITC                                   
014397,000223: 22,6220           01525                                    MGC                                   
014398,000224: 22,6221           05200                                    HALFDP                                
014399,000225: 22,6222           04251                                    RESETM                                
014400,000226: 22,6223           04262                                    DOTEST                                
014401,000227: 
014402,000228: 22,6224           45175        CHGOGC             DMOVE    1                                     #  RESET OGC AND TEST
014403,000229: 22,6225           70776                           DAD                                            
014404,000230: 22,6226           01323                                    PRELXGA                               
014405,000231: 22,6227           04256                                    INCRMT                                
014406,000232: 22,6230           33521                           STORE    OGC                                   
014407,000233: 
014408,000234: 22,6231           47576                           NOLOD    0                                     
014409,000235: 22,6232           33323                           STORE    PRELXGA                               
014410,000236: 
014411,000237: 22,6233           66775                           DSU      1                                     
014412,000238: 22,6234           43772                           BPL      ITC                                   
014413,000239: 22,6235           01521                                    OGC                                   
014414,000240: 22,6236           05200                                    HALFDP                                
014415,000241: 22,6237           04244                                    RESETO                                
014416,000242: 22,6240           04262                                    DOTEST                                
014417,000243: 
014418,000244: 22,6241           76776                           ITC      0                                     
014419,000245: 22,6242           04225                                    CHGOGC                                
014420,000246: 
014421,000247: 22,6243           47176        RESETO             COMP     0                                     #  RESET OGC TO-HALF
014422,000248: 22,6244           05200                                    HALFDP                                #  LOOP TO CHGMGC
014423,000249: 22,6245           33323                           STORE    PRELXGA                               
014424,000250: 
014425,000251: 22,6246           76776                           ITC      0                                     
014426,000252: 22,6247           04210                                    CHGMGC                                
014427,000253: 
014428,000254: 22,6250           47176        RESETM             COMP     0                                     #  RESET MGC TO -HALF
014429,000255: 22,6251           05200                                    HALFDP                                #  LOOP TO CHGIGC
014430,000256: 22,6252           33321                           STORE    GYROCSW                               
014431,000257: 
014432,000258: 22,6253           76776                           ITC      0                                     
014433,000259: 22,6254           04173                                    CHGIGC                                
014434,000260: 
014435,000261: 22,6255           06314 31463  INCRMT             2DEC     .20                                   
014436,000262: 
014437,000263: 22,6257           77576        OUT                EXIT     0                                     #  END OF MAIN
014438,000264: 22,6260           02124        LASTWORD           TC       ENDOFJOB                              

Page 372

014440,000266: 
014441,000267: 22,6261           45575        DOTEST             ITA      1                                     
014442,000268: 22,6262           75172                           VMOVE    ITC                                   
014443,000269: 22,6263           01315                                    LATITUDE                              
014444,000270: 22,6264           15573                                    UNITX                                 
014445,000271: 22,6265           04313                                    MYROT                                 
014446,000272: 
014447,000273: 22,6266           47576                           NOLOD    0                                     
014448,000274: 22,6267           33403                           STORE    STARAD                                
014449,000275: 
014450,000276: 22,6270           75175                           VMOVE    1                                     
014451,000277: 22,6271           76776                           ITC                                            
014452,000278: 22,6272           15601                                    UNITY                                 
014453,000279: 22,6273           04313                                    MYROT                                 
014454,000280: 
014455,000281: 22,6274           47576                           NOLOD    0                                     
014456,000282: 22,6275           33411                           STORE    STARAD     +6D                        
014457,000283: 
014458,000284: 22,6276           75176                           VMOVE    0                                     
014459,000285: 22,6277           15573                                    UNITX                                 
014460,000286: 22,6300           32007                           STORE    6D                                    
014461,000287: 
014462,000288: 22,6301           75176                           VMOVE    0                                     
014463,000289: 22,6302           15601                                    UNITY                                 
014464,000290: 22,6303           32015                           STORE    12D                                   
014465,000291: 
014466,000292: 22,6304           76776                           ITC      0                                     
014467,000293: 22,6305           04761                                    AXISGEN                               
014468,000294: 
014469,000295: 22,6306           76776                           ITC      0                                     #  SEND NEW VECTORS TO CALCGTA
014470,000296: 22,6307           04353                                    CALCGTA                               
014471,000297: 
014472,000298: 22,6310           44576                           ITCI     0                                     
014473,000299: 22,6311           01315                                    LATITUDE                              
014474,000300: 22,6312           45575        MYROT              ITA      1                                     #  INITIALIZE
014475,000301: 22,6313           43411                           TEST     SWITCH                                
014476,000302: 22,6314           00052                                    S2                                    
014477,000303: 22,6315           00006                                    NBSMBIT                               
014478,000304: 22,6316           04321                                    MYROT1                                
014479,000305: 22,6317           00006                                    NBSMBIT                               
014480,000306: 
014481,000307: 22,6320           75575        MYROT1             AXT,1    1                                     #  ROTATE X,Z  ABOUT  Y
014482,000308: 22,6321           74423                           AXT,2    DMOVE                                 
014483,000309: 22,6322           00005                                    4                                     
014484,000310: 22,6323           00001                                    0                                     
014485,000311: 22,6324           01523                                    IGC                                   
014486,000312: 22,6325           32037                           STORE    30D                                   
014487,000313: 
014488,000314: 22,6326           76776                           ITC      0                                     
014489,000315: 22,6327           04566                                    ACCUROT                               

Page 373

014491,000317: 22,6330           75575                           AXT,1    1                                     #   ROTATE X,Y  ABOUT  Z
014492,000318: 22,6331           74423                           AXT,2    DMOVE                                 
014493,000319: 22,6332           00003                                    2                                     
014494,000320: 22,6333           00005                                    4                                     
014495,000321: 22,6334           01525                                    MGC                                   
014496,000322: 22,6335           32037                           STORE    30D                                   
014497,000323: 
014498,000324: 22,6336           76776                           ITC      0                                     
014499,000325: 22,6337           04566                                    ACCUROT                               
014500,000326: 
014501,000327: 22,6340           75575                           AXT,1    1                                     #  ROTATE  Z,Y ABOUT  X
014502,000328: 22,6341           74423                           AXT,2    DMOVE                                 
014503,000329: 22,6342           00001                                    0                                     
014504,000330: 22,6343           00003                                    2                                     
014505,000331: 22,6344           01521                                    OGC                                   
014506,000332: 22,6345           32037                           STORE    30D                                   
014507,000333: 
014508,000334: 22,6346           76776                           ITC      0                                     
014509,000335: 22,6347           04566                                    ACCUROT                               
014510,000336: 
014511,000337: 22,6350           44576                           ITCI     0                                     
014512,000338: 22,6351           00052                                    S2                                    

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