Source Code

These source-code files were derived from scans of the Colossus 237 (Apollo 8 Command Module) program listing from the private collection of original AGC developer Fred Martin. Scanning was by Ron Burkey. Pre-existing Colossus 249 (Apollo 9 CM) source files were used as a template, and changes between Colossus 249 and Colossus 237 were manually transcribed by a team of volunteers. 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
Note that the date is the date of the printout, not the date of the program revision.

038997,000002:                                                                                                  ## Copyright:   Public domain.
038998,000003:                                                                                                  ## Filename:    TVCINITIALIZE.agc
038999,000004:                                                                                                  ## Purpose:     Part of the source code for Colossus build 237.
039000,000005:                                                                                                  ##              This is for the Command Module's (CM) Apollo Guidance
039001,000006:                                                                                                  ##              Computer (AGC), for Apollo 8.
039002,000007:                                                                                                  ## Assembler:   yaYUL
039003,000008:                                                                                                  ## Contact:     Jim Lawton <jim DOT lawton AT gmail DOT com>
039004,000009:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
039005,000010:                                                                                                  ## Page Scans:  www.ibiblio.org/apollo/ScansForConversion/Colossus237/
039006,000011:                                                                                                  ## Mod history: 2011-03-06 JL   Adapted from corresponding Colossus 249 file.
039007,000012:                                                                                                  ##              2011-04-17 JL   Removed temporary line.
039008,000013:                                                                                                  ##              2017-01-01 RSB  Proofed comment text using octopus/ProoferComments,
039009,000014:                                                                                                  ##                              and fixed errors found.
039010,000015: 

Page 896

039012,000017:                                                                                                  #  NAME     TVCDAPON (TVC DAP INITIALIZATION AND STARTUP CALL)
039013,000018:                                                                                                  #  MOD NO 3                        DATE  8 JUNE,1967
039014,000019:                                                                                                  #  MOD BY ENGEL                    LOG SECTION P40-P47
039015,000020: 
039016,000021:                                                                                                  #  FUNCTIONAL DESCRIPTION
039017,000022:                                                                                                  #       PERFORMS TVCDAP INITIALIZATION (GAINS, TIMING PARAMETERS, FILTER VARIABLES, ETC.)
039018,000023:                                                                                                  #       COMPUTES STEERING (S40.8) GAIN KPRIMEDT, AND ZEROES PASTDELV,+1 VARIABLE
039019,000024:                                                                                                  #       MAKES INITIALIZATION CALL TO ..NEEDLER.. FOR TVC DAP NEEDLES-SETUP
039020,000025:                                                                                                  #       PERFORMS INITIALIZATION FOR ROLL DAP
039021,000026:                                                                                                  #       CALLS TVCEXECUTIVE AT TVCEXEC, VIA WAITLIST
039022,000027:                                                                                                  #       CALLS TVCDAP CDU-RATE INITIALIZATION PKG AT DAPINIT  VIA T5
039023,000028:                                                                                                  #       MRCLEAN AND TVCINIT4 ARE POSSIBLE TVC-RESTART ENTRIES
039024,000029:                                                                                                  #  CALLING SEQUENCE - T5LOC=2CADR(TVCDAPON,EBANK=BZERO), T5=.6SECT5
039025,000030:                                                                                                  #       IN PARTICULAR, CALLED BY ..IGNOVER..
039026,000031:                                                                                                  #  NORMAL EXIT MODE
039027,000032:                                                                                                  #       TCF RESUME
039028,000033:                                                                                                  #  SUBROUTINES CALLED
039029,000034:                                                                                                  #       NEEDLER, MASSPROP
039030,000035:                                                                                                  #  ALARM OR ABORT EXIT MODES
039031,000036:                                                                                                  #       NONE
039032,000037:                                                                                                  #  ERASABLE INITIALIZATION REQUIRED
039033,000038:                                                                                                  #       CSMMASS, LEMMASS, DAPDATR1 (FOR MASSPROP SUBROUTINE)
039034,000039:                                                                                                  #       TVC PAD LOADS (SEE LEVEL III DAP AND/OR P40 TESTS)
039035,000040:                                                                                                  #       PACTOFF, YACTOFF, CDUX
039036,000041:                                                                                                  #       TVCPHASE, T5BITS OF FLAGWRD6, FOR RESTART PROTECTION (SEE IGNOVER)
039037,000042:                                                                                                  #  OUTPUT
039038,000043:                                                                                                  #       ALL TVC AND ROLL DAP ERASABLES, FLAGWRD6 (BITS 13,14), T5, WAITLIST
039039,000044:                                                                                                  #  DEBRIS
039040,000045:                                                                                                  #       NONE
039041,000046: 
039042,000047: 31,3766                                           COUNT*   $$/INIT                               
039043,000048: 17,2032                                           BANK     17                                    
039044,000049: 17,2000                                           SETLOC   DAPS7                                 
039045,000050: 17,2000                                           BANK                                           
039046,000051: 
039047,000052: 17,2032  E6,1742                                  EBANK=   BZERO                                 
039048,000053: 
039049,000054: 17,2032           22016        TVCDAPON           LXCH     BANKRUPT                              #  T5 RUPT ARRIVAL (CALL BY DOTVCON - P40)
039050,000055: 17,2033           00006                           EXTEND                                         #  SAVE Q REQUIRED IN RESTARTS (MRCLEAN AND
039051,000056: 17,2034           22012                           QXCH     QRUPT                                 #       TVCINIT4 ARE ENTRIES)
039052,000057: 17,2035           32207        MRCLEAN            CAF      NZERO                                 #  NUMBER TO ZERO, LESS ONE  (MUST BE ODD)
039053,000058:                                                                                                  #                                               TVC RESTARTS ENTER HERE  (NEW BANK)
039054,000059: 17,2036           10000                 +1        CCS      A                                     
039055,000060: 17,2037           55447                           TS       CNTR                                  
039056,000061: 17,2040           34714                           CAF      ZERO                                  
039057,000062: 17,2041           54001                           TS       L                                     
039058,000063: 17,2042           51447                           INDEX    CNTR                                  
039059,000064: 17,2043           53530                           DXCH     OMEGAYC                               #  FIRST (LAST) TWO LOCATIONS
039060,000065: 17,2044           11447                           CCS      CNTR                                  
039061,000066: 17,2045           12036                           TCF      MRCLEAN    +1                         

Page 897

039063,000068: 17,2046           00006                           EXTEND                                         #  SET UP ANOTHER T5 RUPT TO CONTINUE
039064,000069: 17,2047           32214                           DCA      INITLOC2                              #       INITIALIZATION AT TVCINIT1
039065,000070: 17,2050           53313                           DXCH     T5LOC                                 #  THE PHSCHK2 ENTRY (REDOTVC) AT TVCDAPON
039066,000071: 17,2051           34672                           CAF      POSMAX                                #       +3 IS IN ANOTHER BANK. MUST RESET
039067,000072: 17,2052           54030                           TS       TIME5                                 #       BBCON TOO (FULL 2CADR), FOR THAT
039068,000073: 17,2053           15222        ENDMRC             TCF      RESUME                                #       ENTRY.
039069,000074: 
039070,000075: 17,2054           22016        TVCINIT1           LXCH     BANKRUPT                              
039071,000076: 17,2055           00006                           EXTEND                                         
039072,000077: 17,2056           22012                           QXCH     QRUPT                                 
039073,000078: 
039074,000079: 17,2057           04633                           TC       IBNKCALL                              #  UPDATE IXX, IAVG/TLX FOR DAP GAINS (R03
039075,000080: 17,2060           13176                           CADR     MASSPROP                              #       OR NOUNS 46 AND 47 MUST BE CORRECT)
039076,000081: 
039077,000082: 17,2061           32030                           CAF      MDOTLO                                #  SPS FLOW RATE, SC.AT B+3 KG/CS
039078,000083: 17,2062           00006                           EXTEND                                         
039079,000084: 17,2063           72210                           MP       ONETHOU                               
039080,000085: 17,2064           55647                           TS       TENMDOT                               #  10-SEC MASS LOSS B+16 KG
039081,000086: 17,2065           40000                           COM                                            
039082,000087: 17,2066           61474                           AD       CSMMASS                               
039083,000088: 17,2067           55662                           TS       MASSTMP                               #  DECREMENT FOR FIRST 10 SEC OF BURN
039084,000089: 
039085,000090: 17,2070           31466                           CAE      DAPDATR1                              #  CHECK LEM-ON/OFF
039086,000091: 17,2071           74675                           MASK     BIT14                                 
039087,000092: 17,2072           10000                           CCS      A                                     
039088,000093: 17,2073           34712                           CAF      BIT1                                  #  LEM-ON (BIT1)
039089,000094: 17,2074           55447                           TS       CNTR                                  #  LEM-OFF (ZERO)
039090,000095: 
039091,000096: 17,2075           51447                           INDEX    CNTR                                  #  PICK UP LM-OFF,-ON KTLX/I
039092,000097: 17,2076           31416                           CAE      EKTLX/I                               
039093,000098: 17,2077           55646                           TS       KTLX/I                                
039094,000099: 
039095,000100: 17,2100           04633                           TC       IBNKCALL                              #  COMPUTE 1/CONACC, VARK
039096,000101: 17,2101           35145                           CADR     S40.15                                
039097,000102: 
039098,000103: 17,2102           31420        TVCINIT2           CAE      ETVCDT/2                              #  LEM-ON VALUE (PAD-LOAD,  CS / 2)
039099,000104: 17,2103           54001                           TS       L                                     
039100,000105: 17,2104           34711                           CAF      BIT2                                  #  LEM-OFF VALUE (4CS / 2)
039101,000106: 17,2105           51447                           INDEX    CNTR                                  
039102,000107: 17,2106           30000                           CAE      A                                     
039103,000108: 17,2107           55644                           TS       KPRIMEDT                              #  (TEMP STORE)
039104,000109: 
039105,000110: 17,2110           40000                           COM                                            #  PREPARE T5TVCDT
039106,000111: 17,2111           64672                           AD       POSMAX                                
039107,000112: 17,2112           64712                           AD       BIT1                                  
039108,000113: 17,2113           55635                           TS       T5TVCDT                               
039109,000114: 
039110,000115: 17,2114           44674                           CS       BIT15                                 #  RESET SWTOVER FLAG
039111,000116: 17,2115           70105                           MASK     FLAGWRD9                              
039112,000117: 17,2116           54105                           TS       FLAGWRD9                              

Page 898

039114,000119: 17,2117           51447                           INDEX    CNTR                                  #  PICK UP LEM-OFF,-ON KPRIME
039115,000120: 17,2120           31413                           CAE      EKPRIME                               
039116,000121: 17,2121           00006                           EXTEND                                         
039117,000122: 17,2122           71644                           MP       KPRIMEDT                              #  (TVCDT/2, SC.AT B+14CS)
039118,000123: 17,2123           22000                           LXCH     A                                     #       SC.AT PI/8    (DIMENSIONLESS)
039119,000124: 17,2124           53645                           DXCH     KPRIMEDT                              
039120,000125: 
039121,000126: 17,2125           51447                           INDEX    CNTR                                  #  PICK UP LEM-OFF,-ON REPFRAC
039122,000127: 17,2126           31423                           CAE      EREPFRAC                              
039123,000128: 17,2127           55652                           TS       REPFRAC                               
039124,000129: 
039125,000130: 17,2130           37716                           CAF      NEGONE                                #  PREVENT STROKE TEST UNTIL CALLED
039126,000131: 17,2131           55664                           TS       STRKTIME                              
039127,000132: 
039128,000133: 17,2132           34374                           CAF      NINETEEN                              #  SET VCNTR FOR VARIABLE-GAIN UPDATES IN
039129,000134: 17,2133           55653                           TS       VCNTR                                 #       10 SECONDS (TVCEXEC 1/2 SEC RATE)
039130,000135: 17,2134           55444                           TS       V97VCNTR                              #  FOR ENGFAIL (R41) LOGIC
039131,000136: 
039132,000137: 17,2135           31421                           CAE      ETSWITCH                              #  PREPARE SWITCHOVER COUNTER
039133,000138: 17,2136           54001                           TS       L                                     
039134,000139: 17,2137           60000                           DOUBLE                                         #  (COUNTER DECREMENTS EVERY 1/2 SEC)
039135,000140: 17,2140           22000                           LXCH     A                                     #  LEM-OFF IN A, LEM-ON IN L
039136,000141: 17,2141           51447                           INDEX    CNTR                                  
039137,000142: 17,2142           30000                           CAE      A                                     
039138,000143: 17,2143           67716                           AD       NEGONE                                
039139,000144: 17,2144           55447                           TS       CNTR                                  #  CNTR = 2(SWITCHOVER TIME, SEC) -1
039140,000145: 
039141,000146: 
039142,000147: 17,2145           31425        TVCINIT3           CAE      PACTOFF                               #  TRIM VALUES TO TRIM-TRACKERS, OUTPUT
039143,000148: 17,2146           55625                           TS       PDELOFF                               #       TRACKERS, OFFSET-UPDATES, AND
039144,000149: 17,2147           55631                           TS       PCMD                                  #       OFFSET-TRACKER FILTERS
039145,000150: 17,2150           55621                           TS       DELPBAR                               #       NOTE, LO-ORDER DELOFF,DELBAR ZEROED
039146,000151: 
039147,000152: 17,2151           31426                           CAE      YACTOFF                               
039148,000153: 17,2152           55627                           TS       YDELOFF                               
039149,000154: 17,2153           55632                           TS       YCMD                                  
039150,000155: 17,2154           55623                           TS       DELYBAR                               
039151,000156: 
039152,000157: 17,2155           41501        NEEDLEIN           CS       RCSFLAGS                              #  SET BIT 3 FOR INITIALIZATION PASS AND GO
039153,000158: 17,2156           74710                           MASK     BIT3                                  #       TO NEEDLER.  WILL CLEAR FOR TVC DAP
039154,000159: 17,2157           27501                           ADS      RCSFLAGS                              #       (RETURNS AFTER CADR)
039155,000160: 17,2160           04633                           TC       IBNKCALL                              
039156,000161: 17,2161           42404                           CADR     NEEDLER                               
039157,000162: 
039158,000163: 17,2162           34714        TVCINIT4           CAF      ZERO                                  #  SET TVCPHASE TO INDICATE TVCDAPON-THRU-
039159,000164: 17,2163           55654                           TS       TVCPHASE                              #       NEEDLEIN INITIALIZATION FINISHED.
039160,000165:                                                                                                  #                                               (POSSIBLE TVC-RESTART ENTRY)
039161,000166: 
039162,000167: 17,2164           30032                           CAE      CDUX                                  #  PREPARE ROLL DAP LADDERS
039163,000168: 17,2165           55672                           TS       OGANOW                                

Page 899

039165,000170:                                                                                                  #                                          ROLL DAPS RE-START UPON A RESTART, BUT
039166,000171:                                                                                                  #                                               RETAIN ORIGINAL OGAD (IGNOVER CDUX)
039167,000172: 
039168,000173: 17,2166           34676                           CAF      BIT13                                 #  IF ENGINE IS ALREADY OFF, ENGINOFF HAS
039169,000174: 17,2167           00006                           EXTEND                                         #       ALREADY ESTABLISHED THE POST-BURN
039170,000175: 17,2170           02011                           RAND     DSALMOUT                              #       CSMMASS (MASSBACK DOES IT). DONT
039171,000176: 17,2171           00006                           EXTEND                                         #       TOUCH CSMMASS.  IF ENGINE IS ON,
039172,000177: 17,2172           12175                           BZF      +3                                    #       THEN ITS OK TO DO THE COPYCYCLE
039173,000178:                                                                                                  #                                               EVEN BURNS LESS THAN 0.4 SEC ARE AOK
039174,000179: 
039175,000180: 17,2173           31662                           CAE      MASSTMP                               #  COPYCYCLE
039176,000181: 17,2174           55474                           TS       CSMMASS                               
039177,000182: 
039178,000183: 17,2175           34731                 +3        CAF      .5SEC                                 #  CALL TVCEXECUTIVE (ROLLDAP CALL, ETC)
039179,000184: 17,2176           05140                           TC       WAITLIST                              
039180,000185: 17,2177  E6,1742                                  EBANK=   BZERO                                 
039181,000186: 17,2177           02660 34066                     2CADR    TVCEXEC                               
039182,000187: 
039183,000188: 
039184,000189: 17,2201           00006                           EXTEND                                         #  CALL FOR DAPINIT
039185,000190: 17,2202           32212                           DCA      DAPINIT5                              
039186,000191: 17,2203           53313                           DXCH     T5LOC                                 
039187,000192: 17,2204           31635                           CAE      T5TVCDT                               #  (ALLOW TIME FOR RESTART COMPUTATIONS)
039188,000193: 17,2205           54030                           TS       TIME5                                 
039189,000194: 
039190,000195: 17,2206           15222        ENDTVCIN           TCF      RESUME                                
039191,000196: 
039192,000197: 
039193,000198: 17,2207           00101        NZERO              DEC      65         B-14                       #  MUST BE ODD FOR MRCLEAN
039194,000199: 
039195,000200: 17,2210     4374               NINETEEN           =        VD1                                   
039196,000201: 
039197,000202: 17,2210           03720        ONETHOU            DEC      1000       B-13                       #  KG/CS B3 TO KG/10SEC B16 CONVERSION
039198,000203: 
039199,000204: 17,2211  E6,1742                                  EBANK=   BZERO                                 
039200,000205: 17,2211           03075 40066  DAPINIT5           2CADR    DAPINIT                               
039201,000206: 
039202,000207: 
039203,000208: 17,2213  E6,1742                                  EBANK=   BZERO                                 
039204,000209: 17,2213           02054 36066  INITLOC2           2CADR    TVCINIT1                              

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