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

039363,000002:                                                                                                 #  Copyright:    Public domain.
039364,000003:                                                                                                 #  Filename:      TVCMASSPROP.agc
039365,000004:                                                                                                 #  Purpose:      Part of the source code for Colossus build 237.
039366,000005:                                                                                                 #                This is for the Command Module's (CM) Apollo Guidance
039367,000006:                                                                                                 #                Computer (AGC), we believe for Apollo 8.
039368,000007:                                                                                                 #  Assembler:    yaYUL
039369,000008:                                                                                                 #  Contact:      Jim Lawton <jim DOT lawton AT gmail DOT com>
039370,000009:                                                                                                 #  Website:      www.ibiblio.org/apollo/index.html
039371,000010:                                                                                                 #  Page scans:   www.ibiblio.org/apollo/ScansForConversion/Colossus237/
039372,000011:                                                                                                 #  Mod history:  2011-03-06 JL    Adapted from corresponding Colossus 249 file.
039373,000012: 
039374,000013:                                                                                                 # # Page 908
039375,000014:                                                                                                 #  PROGRAM NAME....MASSPROP
039376,000015:                                                                                                 #  LOG SECTION....TVCMASSPROP      PROGRAMMER...MELANSON (ENGEL , SCHLUNDT)
039377,000016: 
039378,000017: 
039379,000018:                                                                                                 #  FUNCTIONAL DESCRIPTION:
039380,000019: 
039381,000020:                                                                                                 #       MASSPROP OPERATES IN TWO MODES:(1)IF LEM MASS OR CONFIGURATION ARE UPDATED (MASSPROP DOES NOT TEST
039382,000021:                                                                                                 #  FOR THIS) THE ENTIRE PROGRAM MUST BE RUN THROUGH, BREAKPOINT VALUES AND DERIVATIVES OF THE OUTPUTS WITH
039383,000022:                                                                                                 #  RESPECT TO CSM MASS BEING CALCULATED PRIOR TO CALCULATION OF THE OUTPUTS. (2)OTHERWISE, THE OUTPUTS CAN BE
039384,000023:                                                                                                 #  CALCULATED USING PREVIOUSLY COMPUTED BREAKPOINT VALUES AND DERIVATIVES.
039385,000024: 
039386,000025:                                                                                                 #  CALLING SEQUENCES
039387,000026: 
039388,000027:                                                                                                 #     IF LEM MASS OR CONFIGURATION HAS BEEN UPDATED, TRANSFER TO MASSPROP, OTHERWISE TRANSFER TO FIXCW.
039389,000028:                                                                                                 #           L      TC     BANKCALL OR IBNKCALL
039390,000029:                                                                                                 #           L+1    CADR   MASSPROP
039391,000030:                                                                                                 #                     OR
039392,000031:                                                                                                 #           L+1    CADR   FIXCW
039393,000032: 
039394,000033:                                                                                                 #           L+2    RETURNS VIA Q
039395,000034: 
039396,000035:                                                                                                 #  CALLED   IN PARTICULAR BY DONOUN47 (JOB) AND TVCEXECUTIVE (TASK)
039397,000036: 
039398,000037:                                                                                                 #  JOBS OR TASKS INITIATED - NONE
039399,000038: 
039400,000039:                                                                                                 #  SUBROUTINES CALLED - NONE
039401,000040: 
039402,000041:                                                                                                 #  ERASABLE INITIALIZATION REQUIRED
039403,000042: 
039404,000043:                                                                                                 #       LEMMASS MUST CONTAIN LEM MASS SCALED AT B+16 KILOGRAMS
039405,000044:                                                                                                 #       CSMMASS MUST CONTAIN CSM MASS SCALED AT B+16 KILOGRAMS
039406,000045: 
039407,000046:                                                                                                 #       DAPDATR1 MUST BE SET TO INDICATE VEHICLE CONFIGURATION.
039408,000047:                                                                                                 #                BITS (15,14,13)  =  ( 0 , 0 , 1 )     LEM OFF
039409,000048:                                                                                                 #                                    ( 0 , 1 , 0 )     LEM ON (ASCNT,DSCNT)
039410,000049:                                                                                                 #                                    ( 1 , 1 , 0 )     LEM ON (ASCNT ONLY)
039411,000050: 
039412,000051: 
039413,000052:                                                                                                 #  ALARMS - NONE
039414,000053: 
039415,000054:                                                                                                 #  EXIT -   TC     Q
039416,000055: 
039417,000056:                                                                                                 #  OUTPUTS:
039418,000057: 
039419,000058:                                                                                                 #       (1)IXX, SINGLE PRECISION SCALED AT B+20 IN KG-M SQ.
039420,000059:                                                                                                 #       (2)IAVG, SINGLE PRECISION SCALED AT B+20 IN KG-M SQ.
039421,000060:                                                                                                 #       (3)IAVG/TLX, SINGLE PRECISION, SCALED AT B+2 SEC-SQD
039422,000061:                                                                                                 #       THEY ARE STORED IN CONSECUTIVE REGISTERS IXX0, IXX1, IXX2
039423,000062: 
039424,000063:                                                                                                 #       CONVERSION FACTOR :  (SLUG-FTSQ) = 0.737562 (KG-MSQ)
039425,000064:                                                                                                 # # Page 909
039426,000065:                                                                                                 #  OUTPUTS ARE CALCULATED AS FOLLOWS:
039427,000066: 
039428,000067:                                                                                                 #   (1) IF LEM DOCKED, LEMMASS IS FIRST ELIMINATED AS A PARAMETER
039429,000068: 
039430,000069:                                                                                                 #       VARST0 = INTVALUE0 + LEMMASS(SLOPEVAL0)       IXX       BREAKPOINT VALUE
039431,000070:                                                                                                 #       VARST1 = INTVALUE1 + LEMMASS(SLOPEVAL1)       IAVG      BREAKPOINT VALUE
039432,000071:                                                                                                 #       VARST2 = INTVALUE2 + LEMMASS(SLOPEVAL2)       IAVG/TLX  BREAKPOINT VALUE
039433,000072: 
039434,000073:                                                                                                 #       VARST3 = INTVALUE3 + LEMMASS(SLOPEVAL3)       IAVG/TLX  SLOPE  FOR CSMMASS > 33956 LBS  ( SPS > 10000 LBS)
039435,000074:                                                                                                 #       VARST4 = INTVALUE4 + LEMMASS(SLOPEVAL4)       IAVG      SLOPE  FOR CSMMASS > 33956 LBS  ( SPS > 10000 LBS)
039436,000075: 
039437,000076:                                                                                                 #       VARST5 = INTVALUE5 + LEMMASS(SLOPEVAL5)       IXX       SLOPE  FOR ALL VALUES OF CSMMASS
039438,000077: 
039439,000078:                                                                                                 #       VARST6 = INTVALUE6 + LEMMASS(SLOPEVAL6)       IAVG      SLOPE  FOR CSMMASS < 33956 LBS ( SPS < 10000 LBS)
039440,000079:                                                                                                 #       VARST7 = INTVALUE7 + LEMMASS(SLOPEVAL7)       IAVG/TLX  SLOPE  FOR CSMMASS < 33956 LBS ( SPS < 10000 LBS)
039441,000080: 
039442,000081:                                                                                                 #       VARST8 = INTVALUE8 + LEMMASS(SLOPEVAL8)       IAVG      DECREMENT  TO BRKPT VALUE WHEN LEM DSCNT STAGE OFF
039443,000082:                                                                                                 #       VARST9 = INTVALUE9 + LEMMASS(SLOPEVAL9)       IAVG/TLX  DECREMENT  TO BRKPT VALUE WHEN LEM DSCNT STAGE OFF
039444,000083: 
039445,000084: 
039446,000085:                                                                                                 #   (2) IF LEM NOT DOCKED
039447,000086: 
039448,000087:                                                                                                 #       VARST0 = NOLEMVAL0    WHERE THE MEANING AND SCALING OF VARST0
039449,000088:                                                                                                 #          .                  TO VARST9 ARE THE SAME AS GIVEN ABOVE
039450,000089:                                                                                                 #          .
039451,000090:                                                                                                 #          .                  NOTE... FOR THIS CASE, VARST8,9 HAVE NO
039452,000091:                                                                                                 #       VARST9 = NOLEMVAL9    MEANING (THEY ARE COMPUTED BUT NOT USED)
039453,000092: 
039454,000093: 
039455,000094:                                                                                                 #   (3) THE FINAL OUTPUT CALCULATIONS ARE THEN DONE
039456,000095: 
039457,000096:                                                                                                 #       IXX0 =  VARST0 + (CSMMASS + NEGBPW)VARST5            IXX
039458,000097: 
039459,000098:                                                                                                 #       IXX1 =  VARST1 + (CSMMASS + NEGBPW)VARST(4 OR 6)     IAVG
039460,000099: 
039461,000100:                                                                                                 #       IXX2 =  VARST2 + (CSMMASS + NEGBPW)VARST(3 OR 7)     IAVG/TLX
039462,000101: 
039463,000102:                                                                                                 #  THE DATA USED CAME FROM CSM/LM SPACECRAFT OPERATIONAL DATA BOOK.
039464,000103:                                                                                                 #       VOL. 3, NASA DOCUMENT SNA-8-D-027 (MARCH 1968)
039465,000104: 
039466,000105:                                                                                                 #  PERTINENT MASS DATA :           CSM WEIGHT  (FULL)  64100 LBS
039467,000106:                                                                                                 #                                              (EMPTY) 23956 LBS
039468,000107:                                                                                                 #                                  LEM WEIGHT  (FULL)  32000 LBS
039469,000108:                                                                                                 #                                              (EMPTY) 14116 LBS
039470,000109: 
039471,000110:                                                                                                 #  (WEIGHTS ARE FROM AMMENDMENT #1 (APRIL 24,1968) TO ABOVE DATA BOOK)
039472,000111: 
039473,000112:                                                                                                 # # Page 910
039474,000113: 25,3766                                          BANK     25                                    
039475,000114: 05,2000                                          SETLOC   DAPMASS                               
039476,000115: 05,2000                                          BANK                                           
039477,000116: 05,3176  E6,1742                                 EBANK=   BZERO                                 
039478,000117: 05,3176                                          COUNT*   $$/MASP                               
039479,000118: 
039480,000119: 05,3176           34334        MASSPROP          CAF      NINE                                  #  MASSPROP USES TVC/RCS INTERUPT TEMPS
039481,000120: 05,3177           55506                          TS       PHI333                                #  SET UP TEN PASSES
039482,000121: 
039483,000122: 05,3200           31466        LEMTEST           CAE      DAPDATR1                              #  DETERMINE LEM STATUS
039484,000123: 05,3201           74676                          MASK     BIT13                                 
039485,000124: 05,3202           00006                          EXTEND                                         
039486,000125: 05,3203           13207                          BZF      LEMYES                                
039487,000126: 
039488,000127: 05,3204           51506        LEMNO             INDEX    PHI333                                #  LEM NOT ATTACHED
039489,000128: 05,3205           33273                          CAF      NOLEMVAL                              
039490,000129: 05,3206           13217                          TCF      STOINST                               
039491,000130: 
039492,000131: 05,3207           31473        LEMYES            CAE      LEMMASS                               #  LEM IS ATTACHED
039493,000132: 05,3210           60000                          DOUBLE                                         
039494,000133: 05,3211           00006                          EXTEND                                         
039495,000134: 05,3212           51506                          INDEX    PHI333                                
039496,000135: 05,3213           73315                          MP       SLOPEVAL                              
039497,000136: 05,3214           20001                          DDOUBL                                         
039498,000137: 05,3215           51506                          INDEX    PHI333                                
039499,000138: 05,3216           63303                          AD       INTVALUE                              
039500,000139: 
039501,000140: 05,3217           51506        STOINST           INDEX    PHI333                                #  STORAGE INST BEGIN HERE
039502,000141: 05,3220           55511                          TS       VARST0                                
039503,000142: 05,3221           11506                          CCS      PHI333                                #  ARE ALL TEN PASSES COMPLETED
039504,000143: 05,3222           13177                          TCF      MASSPROP   +1                         #  NO - GO DECREMENT PHI333
039505,000144: 
039506,000145: 05,3223           11466        DXTEST            CCS      DAPDATR1                              #  IF NEG, BIT15 IS 1, LEM DSCNT STAGE OFF
039507,000146: 05,3224           13232                          TCF      FIXCW                                 
039508,000147: 05,3225           13232                          TCF      FIXCW                                 
039509,000148: 05,3226           53522                          DXCH     VARST0     +8D                        
039510,000149: 05,3227           21513                          DAS      VARST0     +1                         
039511,000150: 05,3230           33330                          CA       DXITFIX                               
039512,000151: 05,3231           27520                          ADS      VARST0     +7                         
039513,000152: 
039514,000153: 05,3232           34711        FIXCW             CAF      BIT2                                  #  COMPUTATION PHASE BEGINS HERE.  SET UP
039515,000154: 05,3233           55506                          TS       PHI333                                #  THREE PASSES
039516,000155: 05,3234           55507                          TS       PSI333                                
039517,000156: 
039518,000157: 05,3235           31474                          CAE      CSMMASS                               #  GET DELTA CSM WEIGHT - SIGN DETERMINES
039519,000158: 05,3236           63327                          AD       NEGBPW                                #  SLOPE LOCATIONS.
039520,000159: 05,3237           60000                          DOUBLE                                         
039521,000160: 05,3240           55510                          TS       TEMP333                               
039522,000161:                                                                                                 # # Page 911
039523,000162: 05,3241           00006                          EXTEND                                         
039524,000163: 05,3242           63245                          BZMF     PEGGY                                 #  DETERMINE CORRECT SLOPE
039525,000164: 05,3243           37715                          CAF      NEG2                                  
039526,000165: 05,3244           55506                          TS       PHI333                                
039527,000166: 
039528,000167: 05,3245           51506        PEGGY             INDEX    PHI333                                #  ALL IS READY - CALCULATE OUTPUTS NOW
039529,000168: 05,3246           31516                          CAE      VARST5                                #  GET SLOPE
039530,000169: 05,3247           00006                          EXTEND                                         
039531,000170: 05,3250           71510                          MP       TEMP333                               #  MULT BY DELTA CSM WEIGHT
039532,000171: 05,3251           60000                          DOUBLE                                         
039533,000172: 05,3252           51507                          INDEX    PSI333                                
039534,000173: 05,3253           61511                          AD       VARST0                                #  ADD BREAKPOINT VALUE
039535,000174: 05,3254           51507                          INDEX    PSI333                                
039536,000175: 05,3255           55470                          TS       IXX                                   #  ****** OUTPUTS (IXX0, IXX1, IXX2) ******
039537,000176: 
039538,000177: 
039539,000178: 05,3256           11507                          CCS      PSI333                                #  BOOKKEEPING  - MASSPROP FINISHED OR NOT
039540,000179: 05,3257           13267                          TCF      BOKKEP2                               #  NO - GO TAKE CARE OF INDEXING REGISTERS
039541,000180: 
039542,000181: 05,3260           31466                          CAE      DAPDATR1                              #  UPDATE WEIGHT/G
039543,000182: 05,3261           74675                          MASK     BIT14                                 
039544,000183: 05,3262           10000                          CCS      A                                     
039545,000184: 05,3263           31473                          CA       LEMMASS                               
039546,000185: 05,3264           61474                          AD       CSMMASS                               
039547,000186: 05,3265           55475                          TS       WEIGHT/G                              #  SCALED AT B+16 KILOGRAMS
039548,000187: 05,3266           00002        ENDMASSP          TC       Q                                     
039549,000188: 
039550,000189: 05,3267           55507        BOKKEP2           TS       PSI333                                #  REDUCE PSI BY ONE
039551,000190: 05,3270           00006                          EXTEND                                         
039552,000191: 05,3271           27506                          DIM      PHI333                                
039553,000192: 05,3272           13245                          TCF      PEGGY                                 
039554,000193: 
039555,000194:                                                                                                 # # Page 912
039556,000195: 05,3273           00616        NOLEMVAL          DEC      25445.     B-20                       
039557,000196: 05,3274           02526                          DEC      87450.     B-20                       
039558,000197: 05,3275           02352                          DEC      .30715     B-2                        
039559,000198: 05,3276           01471                          DEC      1.22877    E-5        B+12            
039560,000199: 05,3277           00634                          DEC      1.6096     B-6                        
039561,000200: 05,3300           00612                          DEC      1.54       B-6                        
039562,000201: 05,3301           03706                          DEC      7.77177    B-6                        
039563,000202: 05,3302           04425                          DEC      3.46458    E-5        B+12            
039564,000203: 
039565,000204: 05,3303           00644        INTVALUE          DEC      26850      B-20                       
039566,000205: 05,3304           03710                          DEC      127518     B-20                       
039567,000206: 05,3305           04246                          DEC      .54059     B-2                        
039568,000207: 05,3306           02011                          DEC      .153964    E-4        B+12            
039569,000208: 05,3307           77501                          DEC      -.742923   B-6                        
039570,000209: 05,3310           00612                          DEC      1.5398     B-6                        
039571,000210: 05,3311           04656                          DEC      9.68       B-6                        
039572,000211: 05,3312           10372                          DEC      .647625    E-4        B+12            
039573,000212: 05,3313           77126                          DEC      -27228.    B-20                       
039574,000213: 05,3314           76261                          DEC      -.206476   B-2                        
039575,000214: 
039576,000215: 05,3315           00767        SLOPEVAL          DEC      1.96307    B-6                        
039577,000216: 05,3316           15624                          DEC      27.5774    B-6                        
039578,000217: 05,3317           03054                          DEC      2.3548     E-5        B+12            
039579,000218: 05,3320           04532                          DEC      2.1777     E-9        B+26            
039580,000219: 05,3321           10433                          DEC      1.044      E-3        B+8             
039581,000220: 05,3322           00000                          DEC      0          B-14                       
039582,000221: 05,3323           22070                          DEC      2.21068    E-3        B+8             
039583,000222: 05,3324           03204                          DEC      1.5166     E-9        B+26            
039584,000223: 05,3325           77266                          DEC      -1.284     B-6                        
039585,000224: 05,3326           02476                          DEC      2.         E-5        B+12            
039586,000225: 
039587,000226: 05,3327           70364        NEGBPW            DEC      -15402.17  B-16                       
039588,000227: 05,3330           75420        DXITFIX           DEC*     -1.88275   E-5        B+12*           

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