Source Code

These source-code files were obtained by digitally photographing the Colossus 237 program listing from the private collection of original AGC developer Fred Martin, and then modifying pre-existing Colossus 249 (Apollo 9) source files to incorporate changes. Note that the page images presented online are of reduced quality, and that additional 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 237 OF AGC PROGRAM COLOSSUS 
	BY NASA 2021111-031  1:17 AUG. 24, 1968

017681,000002:                                                                                                 #  Copyright:     Public domain.
017682,000003:                                                                                                 #  Filename:      GIMBAL_LOCK_AVOIDANCE.agc
017683,000004:                                                                                                 #  Purpose:       Part of the source code for Colossus build 237.  
017684,000005:                                                                                                 #                 This is for the Command Module's (CM) Apollo Guidance
017685,000006:                                                                                                 #                 Computer (AGC), we believe for Apollo 8.
017686,000007:                                                                                                 #  Assembler:     yaYUL
017687,000008:                                                                                                 #  Contact:       Onno Hommes <ohommes@alumni.cmu.edu>
017688,000009:                                                                                                 #  Website:       www.ibiblio.org/apollo/index.html
017689,000010:                                                                                                 #  Page scans:    www.ibiblio.org/apollo/ScansForConversion/Colossus237/
017690,000011:                                                                                                 #  Mod history:   2010-06-01 OH   Adapted from corresponding Colossus 249 file.
017691,000012:                                                                                                 #                 2010-12-04 JL   Remove Colossus 249 header comments. Change 
017692,000013:                                                                                                 #                                 to double-hash page numbers.
017693,000014:                                                                                                 #                 2011-01-27 JL   Minor fixes.
017694,000015: 
017695,000016:                                                                                                 # # Page 403
017696,000017: 15,2000                                          BANK     15                                    
017697,000018: 22,2000                                          SETLOC   KALCMON1                              
017698,000019: 22,2000                                          BANK                                           
017699,000020: 
017700,000021: 22,2736  E6,1661                                 EBANK=   BCDU                                  
017701,000022: 
017702,000023:                                                                                                 #  DETECTING GIMBAL LOCK
017703,000024: 22,2736  22,2736               LOCSKIRT          EQUALS   NOGIMLOC                              
017704,000025: 
017705,000026: 22,2736           77614        NOGIMLOC          SET                                            
017706,000027: 22,2737           01074                                   CALCMAN3                              
017707,000028: 22,2740           70740        WCALC             LXC,1    DLOAD*                                
017708,000029: 22,2741           01130                                   RATEINDX                              
017709,000030: 22,2742           04772                                   ARATE,1                               
017710,000031: 22,2743           45002                          SR4      CALL                                  #  COMPUTE THE INCREMENTAL ROTATION MATRIX
017711,000032: 22,2744           44530                                   DELCOMP                               #  DEL CORRESPONDING TO A 1 SEC ROTATION
017712,000033:                                                                                                 #                                           ABOUT COF
017713,000034: 22,2745           74343                          DLOAD*   VXSC                                  
017714,000035: 22,2746           04772                                   ARATE,1                               
017715,000036: 22,2747           03343                                   COF                                   
017716,000037: 22,2750           77721                          MXV                                            
017717,000038: 22,2751           05004                                   QUADROT                               
017718,000039: 22,2752           17311                          STODL    BRATE                                 
017719,000040: 22,2753           03365                                   AM                                    
017720,000041: 22,2754           55605                          DMP      DDV*                                  
017721,000042: 22,2755           05002                                   ANGLTIME                              
017722,000043: 22,2756           04772                                   ARATE,1                               
017723,000044: 22,2757           77661                          SR                                             
017724,000045: 22,2760           20606                                   5                                     
017725,000046: 22,2761           27317                          STOVL    TM                                    
017726,000047: 22,2762           03311                                   BRATE                                 
017727,000048: 22,2763           77761                          VXSC                                           
017728,000049: 22,2764           05026                                   BIASCALE                              
017729,000050: 22,2765           03275                          STORE    BIASTEMP                              #  ATTITUDE ERROR BIAS TO PREVENT OVERSHOOT
017730,000051:                                                                                                 #                                           IN SYSTEM
017731,000052: 22,2766           77614                          SETGO                                          #  STATE SWITCH CALCMAN2 (43D)
017732,000053: 22,2767           01035                                   CALCMAN2                              #  0(OFF) = BYPASS STARTING PROCEDURE
017733,000054: 22,2770           45033                                   NEWANGL    +1                         #  1(ON) = START MANEUVER
017734,000055: 
017735,000056: 
017736,000057: 22,2771           00044 15053  ARATE             2DEC     .0022222222                            #  = .05 DEG/SEC
017737,000058: 22,2773           00221 24255                    2DEC     .0088888889                            #  = .2 DEG/SEC
017738,000059: 22,2775           00554 02660                    2DEC     .0222222222                            #  = .5 DEG/SEC
017739,000060: 22,2777           05540 26603                    2DEC     .1777777777                            #  = 4 DEG/SEC                $ 22.5 DEG/SEC
017740,000061: 22,3001           00003 04000  ANGLTIME          2DEC     .000190735                            #  = 100B - 19 
017741,000062:                                                                                                 #                                           MANEUVER ANGLE TO MANEUVER TIME
017742,000063:                                                                                                 # # Page 404
017743,000064: 22,3003           03146 14632  QUADROT           2DEC     .1                                    #  ROTATION MATRIX FROM S/C AXES TO CONTROL
017744,000065: 22,3005           00000 00000                    2DEC     0          B-28                       #  AXES  (X ROT = -7.25 DEG)
017745,000066: 22,3007           00000 00000                    2DEC     0          B-28                       
017746,000067: 22,3011           00000 00000                    2DEC     0          B-28                       
017747,000068: 22,3013           03131 11275                    2DEC     .099200                               #  =(.1)COS7.25
017748,000069: 22,3015           77461 47370                    2DEC     -.012620                              #  =-(.1)SIN7.25
017749,000070: 22,3017           00000 00000                    2DEC     0          B-28                       
017750,000071: 22,3021           00316 30407                    2DEC     .012620                               #  (.1)SIN7.25
017751,000072: 22,3023           03131 11275                    2DEC     .099200                               #  (.1)COS7.25
017752,000073: 22,3025           00004 05253  BIASCALE          2DEC     .0002543132                            #  (450/180)(1/0.6)(1/16384)

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