Source Code

These source-code files were from the printout at the MIT Museum, with many thanks to Deborah Douglas, the Museum's Curator of Science and Technology, for releasing it to us. The printout was digitally photographed by Paul Fjeld. A team of volunteers transcribed the source code manually from these images or, where appropriate, modified already-transcribed but similar source Colossus 249 (Apollo 9) source code to agree with the images from the printout. Note that the page images presented online are of reduced quality, and that higher-quality images are available. Report any conversion errors or legibility problems in page images to info@sandroid.org. Notations on the program listing read, in part:

	GAP:  ASSEMBLE REVISION 055 OF AGC PROGRAM COMANCHE BY NASA 2021113-051
	10:28 APR.  1,1969
Note that the date is the date of the printout, not the date of the program revision.

018161,000002:                                                                                                  ## Copyright:   Public domain.
018162,000003:                                                                                                  ## Filename:    KALCMANU_STEERING.agc
018163,000004:                                                                                                  ## Purpose:     Part of the source code for Comanche, build 055.
018164,000005:                                                                                                  ##              It is part of the source code for the Command Module's (CM)
018165,000006:                                                                                                  ##              Apollo Guidance Computer (AGC), Apollo 11.
018166,000007:                                                                                                  ## Assembler:   yaYUL
018167,000008:                                                                                                  ## Reference:   pp. 414-419
018168,000009:                                                                                                  ## Contact:     Onno Hommes <ohommes@cmu.edu>.
018169,000010:                                                                                                  ## Website:     www.ibiblio.org/apollo.
018170,000011:                                                                                                  ## Mod history: 05/07/09 OH     Transcription Batch 1 Assignment 
018171,000012:                                                                                                  ##              2016-12-10 RSB  Proofed comments with octopus/ProoferComments
018172,000013:                                                                                                  ##                              and fixed the errors found.
018173,000014:                                                                                                  ##              2017-01-28 RSB  WTIH -> WITH.
018174,000015:                                                                                                  ##
018175,000016:                                                                                                  ## The contents of the "Comanche055" files, in general, are transcribed 
018176,000017:                                                                                                  ## from scanned documents. 
018177,000018:                                                                                                  ##
018178,000019:                                                                                                  ##      Assemble revision 055 of AGC program Comanche by NASA
018179,000020:                                                                                                  ##      2021113-051.  April 1, 1969.  
018180,000021:                                                                                                  ##
018181,000022:                                                                                                  ##      This AGC program shall also be referred to as Colossus 2A
018182,000023:                                                                                                  ##
018183,000024:                                                                                                  ##      Prepared by
018184,000025:                                                                                                  ##                      Massachusetts Institute of Technology
018185,000026:                                                                                                  ##                      75 Cambridge Parkway
018186,000027:                                                                                                  ##                      Cambridge, Massachusetts
018187,000028:                                                                                                  ##
018188,000029:                                                                                                  ##      under NASA contract NAS 9-4065.
018189,000030:                                                                                                  ##
018190,000031:                                                                                                  ## Refer directly to the online document mentioned above for further information.
018191,000032:                                                                                                  ## Please report any errors to info@sandroid.org.
018192,000033: 

Page 414

018194,000035:                                                                                                  #  GENERATION OF STEERING COMMANDS FOR DIGITAL AUTOPILOT FREE FALL MANEUVERS
018195,000036: 
018196,000037:                                                                                                  #  NEW COMMANDS WILL BE GENERATED EVERY ONE SECOND DURING THE MANEUVER
018197,000038: 
018198,000039: 15,2000                                           BANK     15                                    
018199,000040: 
018200,000041: 22,2000                                           SETLOC   KALCMON1                              
018201,000042: 22,2000                                           BANK                                           
018202,000043: 
018203,000044: 22,3026  E6,1661                                  EBANK=   BCDU                                  
018204,000045: 
018205,000046: 22,3026                                           COUNT    22/KALC                               
018206,000047: 
018207,000048: 22,3026           41332        NEWDELHI           CS       HOLDFLAG                              #  SEE IF MANEUVER HAS BEEN INTERRUPTED
018208,000049: 22,3027           00006                           EXTEND                                         #  BY ASTRONAUT
018209,000050: 22,3030           62726                           BZMF     NOGO       -2                         #  IF SO, TERMINATE KALCMANU
018210,000051: 22,3031           06006        NEWANGL            TC       INTPRET                               
018211,000052: 22,3032           75160                           AXC,1    AXC,2                                 
018212,000053: 22,3033           03320                                    MIS                                   #  COMPUTE THE NEW MATRIX FROM S/C TO
018213,000054: 22,3034           03425                                    DEL                                   #  STABLE MEMBER AXES
018214,000055: 22,3035           77624                           CALL                                           
018215,000056: 22,3036           44304                                    MXM3                                  
018216,000057: 22,3037           45575                           VLOAD    STADR                                 
018217,000058: 22,3040           50442                           STOVL    MIS        +12D                       #  CALCULATE NEW DESIRED CDU ANGLES
018218,000059: 22,3041           77626                           STADR                                          
018219,000060: 22,3042           50450                           STOVL    MIS        +6D                        
018220,000061: 22,3043           77626                           STADR                                          
018221,000062: 22,3044           74456                           STORE    MIS                                   
018222,000063: 22,3045           45160                           AXC,1    CALL                                  
018223,000064: 22,3046           03320                                    MIS                                   
018224,000065: 22,3047           44655                                    DCMTOCDU                              #  PICK UP THE NEW CDU ANGLES FROM MATRIX
018225,000066: 22,3050           77634                           RTB                                            
018226,000067: 22,3051           45552                                    V1STO2S                               
018227,000068: 22,3052           03267                           STORE    NCDU                                  #  NEW CDU ANGLES
018228,000069: 22,3053           77414                           BONCLR   EXIT                                  
018229,000070: 22,3054           01215                                    CALCMAN2                              
018230,000071: 22,3055           40065                                    MANUSTAT                              #  TO START MANEUVER
018231,000072: 22,3056           35016                           CAF      TWO                                   #           +0 OTHERWISE
018232,000073: 22,3057           55664        INCRDCDU           TS       KSPNDX                                
018233,000074: 22,3060           60000                           DOUBLE                                         
018234,000075: 22,3061           55665                           TS       KDPNDX                                
018235,000076: 22,3062           51664                           INDEX    KSPNDX                                
018236,000077: 22,3063           31666                           CA       NCDU                                  #  NEW DESIRED CDU ANGLES
018237,000078: 22,3064           00006                           EXTEND                                         
018238,000079: 22,3065           51664                           INDEX    KSPNDX                                
018239,000080: 22,3066           21661                           MSU      BCDU                                  #  INITIAL S/C ANGLE OR PREVIOUS DESIRED
018240,000081: 22,3067           00006                           EXTEND                                         #  CDU ANGLES
018241,000082: 22,3070           73002                           MP       QUADROT                               
018242,000083: 22,3071           51665                           INDEX    KDPNDX                                
018243,000084: 22,3072           53576                           DXCH     DELCDUX                               #  ANGLE INCREMENTS TO BE ADDED TO

Page 415

018245,000086: 22,3073           51664                           INDEX    KSPNDX                                #  DCDU EVERY TENTH SEC
018246,000087: 22,3074           31666                           CA       NCDU                                  #  BY LEM DAP
018247,000088: 22,3075           51664                           INDEX    KSPNDX                                
018248,000089: 22,3076           57661                           XCH      BCDU                                  
018249,000090: 22,3077           51665                           INDEX    KDPNDX                                
018250,000091: 22,3100           55646                           TS       CDUXD                                 
018251,000092: 22,3101           11664                           CCS      KSPNDX                                
018252,000093: 22,3102           13057                           TCF      INCRDCDU                              #  LOOP FOR THREE AXES
018253,000094: 
018254,000095: 22,3103           00003                           RELINT                                         
018255,000096:                                                                                                  #  COMPARE PRESENT TIME WITH TIME TO TERMINATE MANEUVER
018256,000097: 
018257,000098: 22,3104           03115        TMANUCHK           TC       TIMECHK                               
018258,000099: 22,3105           04701                           TC       POSTJUMP                              
018259,000100: 22,3106           40131                           CADR     CONTMANU                              
018260,000101: 
018261,000102: 22,3107           35017                           CAF      ONE                                   
018262,000103: 22,3110           05245        MANUSTAL           TC       WAITLIST                              
018263,000104: 22,3111  E6,1661                                  EBANK=   BCDU                                  
018264,000105: 22,3111           02000 42066                     2CADR    MANUSTOP                              
018265,000106: 
018266,000107: 22,3113           00003                           RELINT                                         
018267,000108: 22,3114           15217                           TCF      ENDOFJOB                              
018268,000109: 
018269,000110: 
018270,000111: 22,3115           00006        TIMECHK            EXTEND                                         
018271,000112: 22,3116           40025                           DCS      TIME2                                 
018272,000113: 22,3117           53673                           DXCH     TTEMP                                 
018273,000114: 22,3120           00006                           EXTEND                                         
018274,000115: 22,3121           31717                           DCA      TM                                    
018275,000116: 22,3122           21673                           DAS      TTEMP                                 
018276,000117: 22,3123           11672                           CCS      TTEMP                                 
018277,000118: 22,3124           00002                           TC       Q                                     
018278,000119: 22,3125           13127                           TCF      +2                                    
018279,000120: 22,3126           13137                           TCF      2NDRETRN                              
018280,000121: 22,3127           11673                           CCS      TTEMP      +1                         
018281,000122: 22,3130           00002                           TC       Q                                     
018282,000123: 22,3131           13133                           TCF      MANUOFF                               
018283,000124: 22,3132           40000                           COM                                            
018284,000125: 22,3133           65041        MANUOFF            AD       1SEC                                  
018285,000126: 22,3134           00006                           EXTEND                                         
018286,000127: 22,3135           63137                           BZMF     2NDRETRN                              
018287,000128: 22,3136           24002                           INCR     Q                                     
018288,000129: 22,3137           24002        2NDRETRN           INCR     Q                                     
018289,000130: 22,3140           24002                           INCR     Q                                     
018290,000131: 22,3141           00002                           TC       Q                                     
018291,000132: 
018292,000133: 20,2000                                           SETLOC   MANUSTUF                              
018293,000134: 20,2000                                           BANK                                           

Page 416

018295,000136: 20,2065           77776        MANUSTAT           EXIT                                           #  INITIALIZATION ROUTINE
018296,000137: 20,2066           00006                           EXTEND                                         #  FOR AUTOMATIC MANEUVERS
018297,000138: 20,2067           30025                           DCA      TIME2                                 
018298,000139: 20,2070           21717                           DAS      TM                                    #  TM+T0    MANEUVER COMPLETION TIME
018299,000140: 20,2071           45041                           CS       1SEC                                  
018300,000141: 20,2072           54001                           TS       L                                     
018301,000142: 20,2073           45021                           CS       ZERO                                  
018302,000143: 20,2074           21717                           DAS      TM                                    #  (TM+T0)-1
018303,000144: 20,2075           00004                           INHINT                                         
018304,000145: 20,2076           45017                           CS       ONE                                   #  ENABLE AUTOPILOT TO PERFORM
018305,000146: 20,2077           55332                           TS       HOLDFLAG                              #  AUTOMATIC MANEUVERS
018306,000147: 20,2100           41130                           CS       RATEINDX                              #  SEE IF MANEUVERING AT HIGH RATE
018307,000148: 20,2101           66211                           AD       SIX                                   
018308,000149: 20,2102           00006                           EXTEND                                         
018309,000150: 20,2103           62105                           BZMF     HIGHGAIN                              
018310,000151: 20,2104           12110                           TCF      +4                                    
018311,000152: 20,2105           41501        HIGHGAIN           CS       RCSFLAGS                              #  IF SO, SET HIGH RATE FLAG (BIT 15 OF
018312,000153: 20,2106           75001                           MASK     BIT15                                 #  RCSFLAGS)
018313,000154: 20,2107           27501                           ADS      RCSFLAGS                              
018314,000155: 20,2110           53711                           DXCH     BRATE                                 #  X-AXIS MANEUVER RATE
018315,000156: 20,2111           53526                           DXCH     WBODY                                 
018316,000157: 20,2112           53713                           DXCH     BRATE      +2                         #  Y-AXIS MANEUVER RATE
018317,000158: 20,2113           53530                           DXCH     WBODY1                                
018318,000159: 20,2114           53715                           DXCH     BRATE      +4                         #  Z-AXIS MANEUVER RATE
018319,000160: 20,2115           53532                           DXCH     WBODY2                                
018320,000161: 20,2116           31675                           CA       BIASTEMP   +1                         #  INSERT ATTITUDE ERROR BIASES
018321,000162: 20,2117           55564                           TS       BIAS                                  #  INTO AUTOPILOT
018322,000163: 20,2120           31677                           CA       BIASTEMP   +3                         
018323,000164: 20,2121           55565                           TS       BIAS1                                 
018324,000165: 20,2122           31701                           CA       BIASTEMP   +5                         
018325,000166: 20,2123           55566                           TS       BIAS2                                 
018326,000167: 20,2124           30025                           CA       TIME1                                 
018327,000168: 20,2125           65041                           AD       1SEC                                  
018328,000169: 20,2126           57671                           XCH      NEXTIME                               
018329,000170: 20,2127           04701                           TC       POSTJUMP                              
018330,000171: 20,2130           45056                           CADR     INCRDCDU   -1                         
018331,000172: 
018332,000173: 20,2131           00004        CONTMANU           INHINT                                         #  CONTINUE WITH UPDATE PROCESS
018333,000174: 20,2132           40025                           CS       TIME1                                 
018334,000175: 20,2133           61671                           AD       NEXTIME                               
018335,000176: 20,2134           10000                           CCS      A                                     
018336,000177: 20,2135           65017                           AD       ONE                                   
018337,000178: 20,2136           12141                           TCF      MANUCALL                              
018338,000179: 20,2137           65001                           AD       NEGMAX                                
018339,000180: 20,2140           40000                           COM                                            
018340,000181: 20,2141           05245        MANUCALL           TC       WAITLIST                              
018341,000182: 20,2142  E6,1661                                  EBANK=   BCDU                                  
018342,000183: 20,2142           02150 40066                     2CADR    UPDTCALL                              
018343,000184: 
018344,000185: 20,2144           00003                           RELINT                                         

Page 417

018346,000187: 20,2145           35041                           CAF      1SEC                                  #  INCREMENT TIME FOR NEXT UPDATE
018347,000188: 20,2146           27671                           ADS      NEXTIME                               
018348,000189: 20,2147           15217                           TCF      ENDOFJOB                              
018349,000190: 
018350,000191: 
018351,000192: 20,2150           37663        UPDTCALL           CAF      PRIO26                                #  CALL FOR UPDATE
018352,000193: 20,2151           05147                           TC       FINDVAC                               #  OF STEERING COMMANDS
018353,000194: 20,2152  E6,1661                                  EBANK=   BCDU                                  
018354,000195: 20,2152           03026 44066                     2CADR    NEWDELHI                              
018355,000196: 
018356,000197: 20,2154           05324                           TC       TASKOVER                              
018357,000198: 

Page 418

018359,000200:                                                                                                  #  ROUTINE FOR TERMINATING AUTOMATIC MANEUVERS
018360,000201: 
018361,000202: 21,2000                                           SETLOC   KALCMON3                              
018362,000203: 21,2000                                           BANK                                           
018363,000204: 
018364,000205: 21,2000           04537        MANUSTOP           TC       STOPYZ                                
018365,000206: 21,2001           04740                           TC       IBNKCALL                              
018366,000207: 21,2002           45144                           CADR     LOADYZ                                
018367,000208: 
018368,000209: 21,2003           31155        ENDROLL            CA       CPHI                                  
018369,000210: 21,2004           55646                           TS       CDUXD                                 #  SET CDUXD TO THE COMMANDED OUTER GIMBAL
018370,000211: 21,2005           04526                           TC       STOPRATE                              
018371,000212: 21,2006           31327        ENDMANU            CA       ATTPRIO                               #  RESTORE USERS PRIORITY
018372,000213: 21,2007           54063                           TS       NEWPRIO                               
018373,000214: 
018374,000215: 21,2010           35021                           CA       ZERO                                  #  ZERO ATTCADR
018375,000216: 21,2011           53326                           DXCH     ATTCADR                               
018376,000217: 
018377,000218: 21,2012           05160                           TC       SPVAC                                 #  RETURN TO USER OF GOMANUR
018378,000219: 
018379,000220: 21,2013           05324                           TC       TASKOVER                              
018380,000221: 
018381,000222:    4000                                           SETLOC   STOPRAT                               
018382,000223:    4000                                           BANK                                           
018383,000224:    4526           35021        STOPRATE           CAF      ZERO                                  
018384,000225:    4527           55575                           TS       DELCDUX                               
018385,000226:    4530           55576                           TS       DELCDUX    +1                         #  ZERO ROLL INCREMENTAL ANGLES
018386,000227:    4531           55525                           TS       WBODY                                 #  RATE
018387,000228:    4532           55526                           TS       WBODY      +1                         
018388,000229:    4533           55564                           TS       BIAS                                  #  BIAS
018389,000230: 
018390,000231:    4534           45001                           CS       BIT15                                 #  MAKE SURE HIGH RATE FLAG (BIT 15 OF
018391,000232:    4535           71501                           MASK     RCSFLAGS                              #  RCSFLAGS) IS RESET.
018392,000233:    4536           55501                           TS       RCSFLAGS                              
018393,000234: 
018394,000235:    4537           35021        STOPYZ             CAF      ZERO                                  
018395,000236:    4540           55577                           TS       DELCDUY                               #  ZERO PITCH, YAW
018396,000237:    4541           55600                           TS       DELCDUY    +1                         #  INCREMENTAL ANGLES
018397,000238:    4542           55601                           TS       DELCDUZ                               
018398,000239:    4543           55602                           TS       DELCDUZ    +1                         
018399,000240:    4544           55527                           TS       WBODY1                                #  RATES
018400,000241:    4545           55530                           TS       WBODY1     +1                         
018401,000242:    4546           55531                           TS       WBODY2                                
018402,000243:    4547           55532                           TS       WBODY2     +1                         
018403,000244:    4550           55565                           TS       BIAS1                                 #  BIASES
018404,000245:    4551           55566                           TS       BIAS2                                 
018405,000246:    4552           00002                           TC       Q                                     
018406,000247: 
018407,000248: 20,2000                                           SETLOC   MANUSTUF                              
018408,000249: 20,2000                                           BANK                                           
018409,000250: 

Page 419

018411,000252: 20,2155           30032        ZEROERROR           CA       CDUX                                  #  PICK UP CDU ANGLES AND STORE IN
018412,000253: 20,2156           55646                           TS       CDUXD                                 #  CDU DESIRED
018413,000254: 20,2157           30033                           CA       CDUY                                  
018414,000255: 20,2160           55650                           TS       CDUYD                                 
018415,000256: 20,2161           30034                           CA       CDUZ                                  
018416,000257: 20,2162           55652                           TS       CDUZD                                 
018417,000258: 20,2163           00002                           TC       Q                                     
018418,000259: 
018419,000260: 22,2000                                           SETLOC   KALCMON1                              
018420,000261: 22,2000                                           BANK                                           
018421,000262: 
018422,000263: 22,3142           31155        LOADCDUD           CA       CPHI                                  #  STORE TERMINAL ANGLES INTO
018423,000264: 22,3143           55646                           TS       CDUXD                                 #  COMMAND ANGLES
018424,000265: 22,3144           31156        LOADYZ             CA       CTHETA                                
018425,000266: 22,3145           55650                           TS       CDUYD                                 
018426,000267: 22,3146           31157                           CA       CPSI                                  
018427,000268: 22,3147           55652                           TS       CDUZD                                 
018428,000269: 22,3150           00002                           TC       Q                                     

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