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

038806,000002:                                                                                                 #  Copyright:    Public domain.
038807,000003:                                                                                                 #  Filename:      TVCINITIALIZE.agc
038808,000004:                                                                                                 #  Purpose:      Part of the source code for Colossus build 237.
038809,000005:                                                                                                 #                This is for the Command Module's (CM) Apollo Guidance
038810,000006:                                                                                                 #                Computer (AGC), we believe for Apollo 8.
038811,000007:                                                                                                 #  Assembler:    yaYUL
038812,000008:                                                                                                 #  Contact:      Jim Lawton <jim DOT lawton AT gmail DOT com>
038813,000009:                                                                                                 #  Website:      www.ibiblio.org/apollo/index.html
038814,000010:                                                                                                 #  Page scans:   www.ibiblio.org/apollo/ScansForConversion/Colossus237/
038815,000011:                                                                                                 #  Mod history:  2011-03-06 JL    Adapted from corresponding Colossus 249 file.
038816,000012:                                                                                                 #                 2011-04-17 JL   Removed temporary line.
038817,000013: 
038818,000014:                                                                                                 # # Page 896
038819,000015:                                                                                                 #  NAME     TVCDAPON (TVC DAP INITIALIZATION AND STARTUP CALL)
038820,000016:                                                                                                 #  MOD NO 3                        DATE  8 JUNE,1967
038821,000017:                                                                                                 #  MOD BY ENGEL                    LOG SECTION P40-P47
038822,000018: 
038823,000019:                                                                                                 #  FUNCTIONAL DESCRIPTION
038824,000020:                                                                                                 #       PERFORMS TVCDAP INITIALIZATION (GAINS, TIMING PARAMETERS, FILTER VARIABLES, ETC.)
038825,000021:                                                                                                 #       COMPUTES STEERING (S40.8) GAIN KPRIMEDT, AND ZEROES PASTDELV,+1 VARIABLE
038826,000022:                                                                                                 #       MAKES INITIALIZATION CALL TO ..NEEDLER.. FOR TVC DAP NEEDLES-SETUP
038827,000023:                                                                                                 #       PERFORMS INITIALIZATION FOR ROLL DAP
038828,000024:                                                                                                 #       CALLS TVCEXECUTIVE AT TVCEXEC, VIA WAITLIST
038829,000025:                                                                                                 #       CALLS TVCDAP CDU-RATE INITIALIZATION PKG AT DAPINIT  VIA T5
038830,000026:                                                                                                 #       MRCLEAN AND TVCINIT4 ARE POSSIBLE TVC-RESTART ENTRIES
038831,000027:                                                                                                 #  CALLING SEQUENCE - T5LOC=2CADR(TVCDAPON,EBANK=BZERO), T5=.6SECT5
038832,000028:                                                                                                 #       IN PARTICULAR, CALLED BY ..IGNOVER..
038833,000029:                                                                                                 #  NORMAL EXIT MODE
038834,000030:                                                                                                 #       TCF RESUME
038835,000031:                                                                                                 #  SUBROUTINES CALLED
038836,000032:                                                                                                 #       NEEDLER, MASSPROP
038837,000033:                                                                                                 #  ALARM OR ABORT EXIT MODES
038838,000034:                                                                                                 #       NONE
038839,000035:                                                                                                 #  ERASABLE INITIALIZATION REQUIRED
038840,000036:                                                                                                 #       CSMMASS, LEMMASS, DAPDATR1 (FOR MASSPROP SUBROUTINE)
038841,000037:                                                                                                 #       TVC PAD LOADS (SEE LEVEL III DAP AND/OR P40 TESTS)
038842,000038:                                                                                                 #       PACTOFF, YACTOFF, CDUX
038843,000039:                                                                                                 #       TVCPHASE, T5BITS OF FLAGWRD6, FOR RESTART PROTECTION (SEE IGNOVER)
038844,000040:                                                                                                 #  OUTPUT
038845,000041:                                                                                                 #       ALL TVC AND ROLL DAP ERASABLES, FLAGWRD6 (BITS 13,14), T5, WAITLIST
038846,000042:                                                                                                 #  DEBRIS
038847,000043:                                                                                                 #       NONE
038848,000044: 
038849,000045: ???????                                          COUNT*   $$/INIT                               
038850,000046: 17,2032                                          BANK     17                                    
038851,000047: 17,2000                                          SETLOC   DAPS7                                 
038852,000048: 17,2000                                          BANK                                           
038853,000049: 
038854,000050: 17,2032  E6,1742                                 EBANK=   BZERO                                 
038855,000051: 
038856,000052: 17,2032           22016        TVCDAPON          LXCH     BANKRUPT                              #  T5 RUPT ARRIVAL (CALL BY DOTVCON - P40)
038857,000053: 17,2033           00006                          EXTEND                                         #  SAVE Q REQUIRED IN RESTART (MRCLEAN AND
038858,000054: 17,2034           22012                          QXCH     QRUPT                                 #       TVCINIT4 ARE ENTRIES)
038859,000055: 17,2035           32207        MRCLEAN           CAF      NZERO                                 #  NUMBER TO ZERO, LESS ONE  (MUST BE ODD)
038860,000056:                                                                                                 #                                                TVC RESTARTS ENTER HERE  (NEW BANK)
038861,000057: 17,2036           10000                 +1       CCS      A                                     
038862,000058: 17,2037           55447                          TS       CNTR                                  
038863,000059: 17,2040           34714                          CAF      ZERO                                  
038864,000060: 17,2041           54001                          TS       L                                     
038865,000061: 17,2042           51447                          INDEX    CNTR                                  
038866,000062: 17,2043           53530                          DXCH     OMEGAYC                               #  FIRST (LAST) TWO LOCATIONS
038867,000063: 17,2044           11447                          CCS      CNTR                                  
038868,000064: 17,2045           12036                          TCF      MRCLEAN    +1                         
038869,000065:                                                                                                 # # Page 897
038870,000066: 17,2046           00006                          EXTEND                                         #  SET UP ANOTHER T5 RUPT TO CONTINUE
038871,000067: 17,2047           32214                          DCA      INITLOC2                              #       INITIALIZATION AT TVCINIT1
038872,000068: 17,2050           53313                          DXCH     T5LOC                                 #  THE PHSCHK2 ENTRY (REDOTVC) AT TVCDAPON
038873,000069: 17,2051           34672                          CAF      POSMAX                                #       +3 IS IN ANOTHER BANK. MUST RESET
038874,000070: 17,2052           54030                          TS       TIME5                                 #       BBCON TOO (FULL 2CADR), FOR THAT
038875,000071: 17,2053           15222        ENDMRC            TCF      RESUME                                #       ENTRY.
038876,000072: 
038877,000073: 17,2054           22016        TVCINIT1          LXCH     BANKRUPT                              
038878,000074: 17,2055           00006                          EXTEND                                         
038879,000075: 17,2056           22012                          QXCH     QRUPT                                 
038880,000076: 
038881,000077: 17,2057           04633                          TC       IBNKCALL                              #  UPDATE IXX, IAVG/TLX FOR DAP GAINS (R03
038882,000078: 17,2060           13176                          CADR     MASSPROP                              #       OR NOUNS 46 AND 47 MUST BE CORRECT)
038883,000079: 
038884,000080: 17,2061           32030                          CAF      MDOTLO                                #  SPS FLOW RATE, SC.AT B+3 KG/CS
038885,000081: 17,2062           00006                          EXTEND                                         
038886,000082: 17,2063           72210                          MP       ONETHOU                               
038887,000083: 17,2064           55647                          TS       TENMDOT                               #  10-SEC MASS LOSS B+16 KG
038888,000084: 17,2065           40000                          COM                                            
038889,000085: 17,2066           61474                          AD       CSMMASS                               
038890,000086: 17,2067           55662                          TS       MASSTMP                               #  DECREMENT FOR FIRST 10 SEC OF BURN
038891,000087: 
038892,000088: 17,2070           31466                          CAE      DAPDATR1                              #  CHECK LEM-ON/OFF
038893,000089: 17,2071           74675                          MASK     BIT14                                 
038894,000090: 17,2072           10000                          CCS      A                                     
038895,000091: 17,2073           34712                          CAF      BIT1                                  #  LEM-ON (BIT1)
038896,000092: 17,2074           55447                          TS       CNTR                                  #  LEM-OFF (ZERO)
038897,000093: 
038898,000094: 17,2075           51447                          INDEX    CNTR                                  #  PICK UP LM-OFF,-ON KTLX/I
038899,000095: 17,2076           31416                          CAE      EKTLX/I                               
038900,000096: 17,2077           55646                          TS       KTLX/I                                
038901,000097: 
038902,000098: 17,2100           04633                          TC       IBNKCALL                              #  COMPUTE 1/CONACC, VARK
038903,000099: 17,2101           35145                          CADR     S40.15                                
038904,000100: 
038905,000101: 17,2102           31420        TVCINIT2          CAE      ETVCDT/2                              #  LEM-ON VALUE (PAD-LOAD,  CS / 2)
038906,000102: 17,2103           54001                          TS       L                                     
038907,000103: 17,2104           34711                          CAF      BIT2                                  #  LEM-OFF VALUE (4CS / 2)
038908,000104: 17,2105           51447                          INDEX    CNTR                                  
038909,000105: 17,2106           30000                          CAE      A                                     
038910,000106: 17,2107           55644                          TS       KPRIMEDT                              #  (TEMP STORE)
038911,000107: 
038912,000108: 17,2110           40000                          COM                                            #  PREPARE T5TVCDT
038913,000109: 17,2111           64672                          AD       POSMAX                                
038914,000110: 17,2112           64712                          AD       BIT1                                  
038915,000111: 17,2113           55635                          TS       T5TVCDT                               
038916,000112: 
038917,000113: 17,2114           44674                          CS       BIT15                                 #  RESET SWTOVER FLAG
038918,000114: 17,2115           70105                          MASK     FLAGWRD9                              
038919,000115: 17,2116           54105                          TS       FLAGWRD9                              
038920,000116:                                                                                                 # # Page 898
038921,000117: 17,2117           51447                          INDEX    CNTR                                  #  PICK UP LEM-OFF,-ON KPRIME
038922,000118: 17,2120           31413                          CAE      EKPRIME                               
038923,000119: 17,2121           00006                          EXTEND                                         
038924,000120: 17,2122           71644                          MP       KPRIMEDT                              #  (TVCDT/2, BC.AT B+14CS)
038925,000121: 17,2123           22000                          LXCH     A                                     #       SC.AT PI/8    (DIMENSIONLESS)
038926,000122: 17,2124           53645                          DXCH     KPRIMEDT                              
038927,000123: 
038928,000124: 17,2125           51447                          INDEX    CNTR                                  #  PICK UP LEM-OFF,-ON REPFRAC
038929,000125: 17,2126           31423                          CAE      EREPFRAC                              
038930,000126: 17,2127           55652                          TS       REPFRAC                               
038931,000127: 
038932,000128: 17,2130           37716                          CAF      NEGONE                                #  PREVENT STOKE TEST UNTIL CALLED
038933,000129: 17,2131           55664                          TS       STRKTIME                              
038934,000130: 
038935,000131: 17,2132           34374                          CAF      NINETEEN                              #  SET VCNTR FOR VARIABLE-GAIN UPDATES IN
038936,000132: 17,2133           55653                          TS       VCNTR                                 #       10 SECONDS (TVCEXEC 1/2 SEC RATE)
038937,000133: 17,2134           55444                          TS       V97VCNTR                              #  FOR ENGFAIL (R41) LOGIC
038938,000134: 
038939,000135: 17,2135           31421                          CAE      ETSWITCH                              #  PREPARE SWITCHOVER COUNTER
038940,000136: 17,2136           54001                          TS       L                                     
038941,000137: 17,2137           60000                          DOUBLE                                         #  (COUNTER DECREMENTS EVERY 1/2 SEC)
038942,000138: 17,2140           22000                          LXCH     A                                     #  LEM-OFF IN A, LEM-ON IN L
038943,000139: 17,2141           51447                          INDEX    CNTR                                  
038944,000140: 17,2142           30000                          CAE      A                                     
038945,000141: 17,2143           67716                          AD       NEGONE                                
038946,000142: 17,2144           55447                          TS       CNTR                                  #  CNTR = 2(SWITCHOVER TIME, SEC) -1
038947,000143: 
038948,000144: 
038949,000145: 17,2145           31425        TVCINIT3          CAE      PACTOFF                               #  TRIM VALUES TO TRIM-TRACKERS, OUTPUT
038950,000146: 17,2146           55625                          TS       PDELOFF                               #       TRACKERS, OFFSET-UPDATES, AND
038951,000147: 17,2147           55631                          TS       PCMD                                  #       OFFSET-TRACKER FILTERS
038952,000148: 17,2150           55621                          TS       DELPBAR                               #       NOTE, LO-ORDER DELOFF,DELBAR ZEROED
038953,000149: 
038954,000150: 17,2151           31426                          CAE      YACTOFF                               
038955,000151: 17,2152           55627                          TS       YDELOFF                               
038956,000152: 17,2153           55632                          TS       YCMD                                  
038957,000153: 17,2154           55623                          TS       DELYBAR                               
038958,000154: 
038959,000155: 17,2155           41501        NEEDLEIN          CS       RCSFLAGS                              #  SET BIT 3 FOR INITIALIZATION PASS AND GO
038960,000156: 17,2156           74710                          MASK     BIT3                                  #       TO NEEDLER.  WILL CLEAR FOR TVC DAP
038961,000157: 17,2157           27501                          ADS      RCSFLAGS                              #       (RETURNS AFTER CADR)
038962,000158: 17,2160           04633                          TC       IBNKCALL                              
038963,000159: 17,2161           42404                          CADR     NEEDLER                               
038964,000160: 
038965,000161: 17,2162           34714        TVCINIT4          CAF      ZERO                                  #  SET TVCPHASE TO INDICATE TVCDAPON-THRU-
038966,000162: 17,2163           55654                          TS       TVCPHASE                              #       NEEDLEIN INITIALIZATION FINISHED.
038967,000163:                                                                                                 #                                                (POSSIBLE TVC-RESTART ENTRY)
038968,000164: 
038969,000165: 17,2164           30032                          CAE      CDUX                                  #  PREPARE ROLL DAP LADDERS
038970,000166: 17,2165           55672                          TS       OGANOW                                
038971,000167:                                                                                                 # # Page 899
038972,000168:                                                                                                 #                                           ROLL DAPS RE-START UPON A RESTART, BUT
038973,000169:                                                                                                 #                                                RETAIN ORIGINAL OGAD (IGNOVER CDUX)
038974,000170: 
038975,000171: 17,2166           34676                          CAF      BIT13                                 #  IF ENGINE IS ALREADY OFF, ENGINOFF HAS
038976,000172: 17,2167           00006                          EXTEND                                         #       ALREADY ESTABLISHED THE POST-BURN
038977,000173: 17,2170           02011                          RAND     DSALMOUT                              #       CSMMASS (MASSBACK DOES IT). DONT
038978,000174: 17,2171           00006                          EXTEND                                         #       TOUCH CSMMASS.  IF ENGINE IS ON,
038979,000175: 17,2172           12175                          BZF      +3                                    #       THEN ITS OK TO DO THE COPYCYCLE
038980,000176:                                                                                                 #                                                EVEN BURNS LESS THAN 0.4 SEC ARE AOK
038981,000177: 
038982,000178: 17,2173           31662                          CAE      MASSTMP                               #  COPYCYCLE
038983,000179: 17,2174           55474                          TS       CSMMASS                               
038984,000180: 
038985,000181: 17,2175           34731                 +3       CAF      .5SEC                                 #  CALL TVCEXECUTIVE (ROLLDAP CALL, ETC)
038986,000182: 17,2176           05140                          TC       WAITLIST                              
038987,000183: 17,2177  E6,1742                                 EBANK=   BZERO                                 
038988,000184: 17,2177           02660 34066                    2CADR    TVCEXEC                               
038989,000185: 
038990,000186: 
038991,000187: 17,2201           00006                          EXTEND                                         #  CALL FOR DAPINIT
038992,000188: 17,2202           32212                          DCA      DAPINIT5                              
038993,000189: 17,2203           53313                          DXCH     T5LOC                                 
038994,000190: 17,2204           31635                          CAE      T5TVCDT                               #  (ALLOW TIME FOR RESTART COMPUTATIONS)
038995,000191: 17,2205           54030                          TS       TIME5                                 
038996,000192: 
038997,000193: 17,2206           15222        ENDTVCIN          TCF      RESUME                                
038998,000194: 
038999,000195: 
039000,000196: 17,2207           00101        NZERO             DEC      65         B-14                       #  MUST BE ODD FOR MRCLEAN
039001,000197: 
039002,000198: 17,2210     4374               NINETEEN          =        VD1                                   
039003,000199: 
039004,000200: 17,2210           03720        ONETHOU           DEC      1000       B-13                       #  KG/CS B3 TO KG/10SEC B16 CONVERSION
039005,000201: 
039006,000202: 17,2211  E6,1742                                 EBANK=   BZERO                                 
039007,000203: 17,2211           03075 40066  DAPINIT5          2CADR    DAPINIT                               
039008,000204: 
039009,000205: 
039010,000206: 17,2213  E6,1742                                 EBANK=   BZERO                                 
039011,000207: 17,2213           02054 36066  INITLOC2          2CADR    TVCINIT1                              

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