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

040711,000002:                                                                                                 #  Copyright:    Public domain.
040712,000003:                                                                                                 #  Filename:      TVCSTROKETEST.agc
040713,000004:                                                                                                 #  Purpose:      Part of the source code for Colossus build 237.
040714,000005:                                                                                                 #                This is for the Command Module's (CM) Apollo Guidance
040715,000006:                                                                                                 #                Computer (AGC), we believe for Apollo 8.
040716,000007:                                                                                                 #  Assembler:    yaYUL
040717,000008:                                                                                                 #  Contact:      Jim Lawton <jim DOT lawton AT gmail DOT com>
040718,000009:                                                                                                 #  Website:      www.ibiblio.org/apollo/index.html
040719,000010:                                                                                                 #  Page scans:   www.ibiblio.org/apollo/ScansForConversion/Colossus237/
040720,000011:                                                                                                 #  Mod history:  2011-03-12 JL    Adapted from corresponding Colossus 249 file.
040721,000012: 
040722,000013:                                                                                                 # # Page 940
040723,000014:                                                                                                 #  NAME     STROKE TEST PACKAGE   (INCLUDING INITIALIZATION PACKAGE)
040724,000015:                                                                                                 #  ORIGINAL CODING BY OLSSON       LOG SECTION....STROKE TEST PACKAGE
040725,000016:                                                                                                 #  MOD BY ENGEL                    DATE....21 MARCH, 1967
040726,000017: 
040727,000018:                                                                                                 #  FUNCTIONAL DESCRIPTION....
040728,000019:                                                                                                 #       STROKE TEST PACKAGE GENERATES A WAVEFORM DESIGNED TO EXCITE BENDING
040729,000020:                                                                                                 #       STRKTSTI (STROKE TEST INITIALIZATION) IS CALLED AS A JOB BY VB68.
040730,000021:                                                                                                 #                IT INITIALIZES ALL ERASABLES REQD FOR A STROKE TEST, AND
040731,000022:                                                                                                 #                 THEN TESTS FOR AN 80MS DAP. IF 80MS IT SETS STROKER = ESTROKER
040732,000023:                                                                                                 #                 FOR AN IMMEDIATE STROKE TEST, OTEHRWISE IT MERELY ENABLES
040733,000024:                                                                                                 #                 A STROKE TEST BY SETTING STROKER TO -0. THE STROKE TEST
040734,000025:                                                                                                 #                 THEN AWAITS SWITCHOVER TO THE 80MS DAP WHEREUPON IT IS
040735,000026:                                                                                                 #                 ENABLED AFTER AN ADDITIONAL 4 SECOND DELAY TO AVOID
040736,000027:                                                                                                 #                 THE SWITCHOVER TRANSIENTS (SEE STRKCALL, STRKUP IN
040737,000028:                                                                                                 #                 TVCEXECUTIVE)
040738,000029:                                                                                                 #       HACK (STROKE TEST) GENERATES THE WAVEFORM BY DUMPING PULSE BURSTS
040739,000030:                                                                                                 #                 OF PROPER SIGN AND IN PROPER SEQUENCE DIRECTLY INTO
040740,000031:                                                                                                 #                 TVCPITCH, WORKING IN CONJUNCITON WITH BOTH PITCH AND YAW
040741,000032:                                                                                                 #                 TVC DAPS, WITH INTERMEDIAT WAITLIST CALLS. NOTE, HOWEVER
040742,000033:                                                                                                 #                 THAT THE STROKE TEST IS PERFORMED ONLY IN THE PITCH AXIS.
040743,000034:                                                                                                 #                 AN EXAMPLE WAVEFORM IS GIVEN BELOW, TO DEMONSTRATE STROKE-
040744,000035:                                                                                                 #                 TEST PARAMETER SELECTION
040745,000036:                                                                                                 #       RESTARTS CAUSE TEST TO BE TERMINATED. ANOTHER V68 REQD IF TEST
040746,000037:                                                                                                 #                 IS TO BE RE-RUN.
040747,000038:                                                                                                 #       PULSE BURST SIZE IS PAD-LOADED (ESTROKER) SO THAT AMPLITUDE OF
040748,000039:                                                                                                 #                 WAVEFORM CAN BE CHANGED.  THERE ARE TEN PULSE BURSTS IN
040749,000040:                                                                                                 #                 THE HALF-AMPLITUDE OF THE FIRST FREQUENCY SET IN THE
040750,000041:                                                                                                 #                 STANDARD WAVEFORM.  AMPLITUDE IS 10(ESTROKER)(1/42.15),
040751,000042:                                                                                                 #                 NOMINALLY 50/42.15  =  1.185 DEG
040752,000043:                                                                                                 #  CALLING SEQUENCE....
040753,000044:                                                                                                 #       EXTENDED VERB 68 SETS UP STRKTSTI JOB
040754,000045:                                                                                                 #       PITCH AND YAW TVCDAPS, FINDING STROKER NON-ZERO, DO A  ..TC HACK..
040755,000046:                                                                                                 #       AN INTERNALLY-GENERATED WAITLIST CALL ENTERS AT  ..HACKWLST..
040756,000047:                                                                                                 #  NORMAL EXIT MODES....
040757,000048:                                                                                                 #       TC BUNKER  (..Q.. IF ENTRY FROM DAP, ..TCTSKOVR.. IF FROM WAITLIST)LIST
040758,000049:                                                                                                 #  SUBROUTINES CALLED....
040759,000050:                                                                                                 #       WAITLIST
040760,000051:                                                                                                 #  ALARM OR ABORT EXIT MODES....
040761,000052:                                                                                                 #       NONE
040762,000053:                                                                                                 #  ERASABLE INITIALIZATION REQUIRED....
040763,000054:                                                                                                 #       ESTROKER (PAD-LOAD)
040764,000055:                                                                                                 #       STROKER,  CADDY,  REVS,  CARD,  N
040765,000056:                                                                                                 #  OUTPUT....
040766,000057:                                                                                                 #       STRKTSTI...INITIALIZATION FOR STROKE TEST
040767,000058:                                                                                                 #       HACK, HACKWLST...PULSE BURSTS INTO TVCPITCH VIA..ADS..
040768,000059:                                                                                                 #                        RESETS STROKER = +0 WHEN TEST COMPLETED
040769,000060:                                                                                                 #  DEBRIS....
040770,000061:                                                                                                 #         N = CADDY = +0, CARD = -0, REVS = -1
040771,000062:                                                                                                 #         BUNKER
040772,000063: 
040773,000064:                                                                                                 # # Page 941
040774,000065:                                                                                                 #  EXAMPLE STROKE TEST WAVE FORM, DEMONSTRATING PARAMETER SELECTION
040775,000066: 
040776,000067: 
040777,000068:                                                                                                 #  NOTE....THIS IS NOT THE OFFICIAL WAVEFORM....
040778,000069: 
040779,000070: 
040780,000071:                                                                                                 #             **              **
040781,000072:                                                                                                 #             **              **
040782,000073:                                                                                                 #             **              **           EXAMPLE WAVEFORM (EACH * REPRESENTS
040783,000074:                                                                                                 #            *  *            *  *               85.41 ARCSEC OF ACTUATOR CMND)
040784,000075:                                                                                                 #            *  *            *  *
040785,000076:                                                                                                 #            *  *            *  *
040786,000077:                                                                                                 #           *    *          *    *          **      **      **      **      **
040787,000078:                                                                                                 #           *    *          *    *          **      **      **      **      **
040788,000079:                                                                                                 #           *    *          *    *          **      **      **      **      **
040789,000080:                                                                                                 #          *      *        *      *        *  *    *  *    *  *    *  *    *  *    **  **  **  **  **
040790,000081:                                                                                                 #          *      *        *      *        *  *    *  *    *  *    *  *    *  *    **  **  **  **  **
040791,000082:                                                                                                 #          *      *        *      *        *  *    *  *    *  *    *  *    *  *    **  **  **  **  **
040792,000083:                                                                                                 #      -----------------------------------------------------------------------------------------------------
040793,000084:                                                                                                 #                  *      *        *      *    *  *    *  *    *  *    *  *    *  *  **  **  **  **  **
040794,000085:                                                                                                 #                  *      *        *      *    *  *    *  *    *  *    *  *    *  *  **  **  **  **  **
040795,000086:                                                                                                 #                  *      *        *      *    *  *    *  *    *  *    *  *    *  *  **  **  **  **  **
040796,000087:                                                                                                 #                   *    *          *    *      **      **      **      **      **
040797,000088:                                                                                                 #                   *    *          *    *      **      **      **      **      **
040798,000089:                                                                                                 #                   *    *          *    *      **      **      **      **      **
040799,000090:                                                                                                 #                    *  *            *  *
040800,000091:                                                                                                 #                    *  *            *  *
040801,000092:                                                                                                 #                    *  *            *  *
040802,000093:                                                                                                 #                     **              **
040803,000094:                                                                                                 #                     **              **
040804,000095:                                                                                                 #                     **              **
040805,000096: 
040806,000097: 
040807,000098:                                                                                                 #  FOR THIS (UNOFFICIAL, EXAMPLE) WAVEFORM, THE REQUIRED PARAMETERS ARE AS FOLLOWS....
040808,000099: 
040809,000100:                                                                                                 #       FCARD    = +3    (NUMBER OF SETS)
040810,000101:                                                                                                 #       ESTROKER = +3    (PULSE BURST SIZE, SC.AT 85.41 ARCSEC/BIT)
040811,000102: 
040812,000103:                                                                                                 #       SET1..
040813,000104:                                                                                                 #            FREVS  = +3  (NUMBER REVERSALS MINUS 1)
040814,000105:                                                                                                 #            FCADDY = +4  (NUMBER OF PULSE BURSTS IN 1/2 AMPLITUDE)
040815,000106:                                                                                                 #       SET2..
040816,000107:                                                                                                 #            FCARD1 = +9  (NUMBER REVERSALS MINUS 1)
040817,000108:                                                                                                 #            FCARD4 = +2  (NUMBER OF PULSE BURSTS IN 1/2 AMPLITUDE)
040818,000109:                                                                                                 #       SET3..
040819,000110:                                                                                                 #            FCARD2 = +9  (NUMBER REVERSALS MINUS 1)
040820,000111:                                                                                                 #            FCARD5 = +1  (NUMBER OF PULSE BURSTS IN 1/2 AMPLITUDE)
040821,000112:                                                                                                 #       SET4..
040822,000113:                                                                                                 #            FCARD3 = +0  (NUMBER OF REVERSALS MINUS 1)
040823,000114:                                                                                                 #            FCARD6 = +0  (NUMBER OF PULSE BURSTS IN 1/2 AMPLUTUDE)
040824,000115: 
040825,000116:                                                                                                 # # Page 942
040826,000117:                                                                                                 #  STROKE TEST INITIALIZATION PACKAGE  (AS A JOB, FROM VERB 68)
040827,000118: 
040828,000119: 17,2215                                          BANK     17                                    
040829,000120: 20,2000                                          SETLOC   DAPS2                                 
040830,000121: 20,2000                                          BANK                                           
040831,000122: 
040832,000123: 20,3431                                          COUNT*   $$/STRK                               
040833,000124: 20,3431  E6,1665                                 EBANK=   CADDY                                 
040834,000125: 
040835,000126: 20,3431           03450        STRKTSTI          TCR      TSTINIT                               #  STROKE TEST INITIALIZATION PKG  (CALLED
040836,000127:                                                                                                 #                                                AS A JOB BY VERB68)
040837,000128: 
040838,000129: 20,3432           00004        TVCDTCHK          INHINT                                         #  STROKE TEST PERMITTED ONLY WITH 80MS DAP
040839,000130: 20,3433           31635                          CAE      T5TVCDT                               #       CHECK CURRENT TIMING
040840,000131: 20,3434           54001                          TS       L                                     
040841,000132: 20,3435           37677                          CAF      OCT37774                              #       LOOK FOR 80MS (T5)
040842,000133: 20,3436           00006                          EXTEND                                         
040843,000134: 20,3437           06001                          RXOR     LCHAN                                 #  +0 IF 80MS
040844,000135: 20,3440           10000                          CCS      A                                     
040845,000136: 20,3441           13445                          TCF      +4                                    #       NOT 80MS
040846,000137: 
040847,000138: 20,3442           31412                          CAE      ESTROKER                              #       80MS. OK, SET STROKER FOR TEST
040848,000139: 20,3443           55614                          TS       STROKER                               
040849,000140: 20,3444           13447                          TCF      +3                                    
040850,000141: 
040851,000142: 20,3445           44714                          CS       ZERO                                  #       ENABLE, BUT DO NOT ACTIVATE STROKE
040852,000143: 20,3446           55614                          TS       STROKER                               #            TEST, AWAITING SWITCHOVER
040853,000144:                                                                                                 #                                                     TO MOD0R (MOD80)
040854,000145: 20,3447           15112                          TCF      ENDOFJOB                              
040855,000146: 
040856,000147: 
040857,000148: 20,3450           43460        TSTINIT           CS       FCADDY                                #  NORMAL ENTRY FROM STRKTSTI
040858,000149: 20,3451           55665                          TS       CADDY                                 
040859,000150: 20,3452           55666                          TS       N                                     #       NOTE SGN CHNG FCADDY(+) TO CADDY(-)
040860,000151: 
040861,000152: 20,3453           33461                          CAF      FREVS                                 
040862,000153: 20,3454           55670                          TS       REVS                                  
040863,000154: 
040864,000155: 20,3455           43462                          CS       FCARD                                 #       NOTE SGN CHNG FCARD(+) TO CARD(-)
040865,000156: 20,3456           55671                          TS       CARD                                  
040866,000157: 
040867,000158: 20,3457           00002                          TC       Q                                     #  RETURN TO STRKTSTI+1  (OR CHKSTRK+2OR+4)
040868,000159: 
040869,000160:                                                                                                 # # Page 943
040870,000161:                                                                                                 #  THE OFFICIAL STROKE TEST WAVEFORM (3 JAN, 1967) CONSISTS OF FOUR STROKE SETS, AS FOLLOWS....
040871,000162: 
040872,000163:                                                                                                 #       SET 1...10 BURSTS IN 1/2 AMP,   4 REVERSALS
040873,000164:                                                                                                 #       SET 2... 6 BURSTS IN 1/2 AMP,   6 REVERSALS
040874,000165:                                                                                                 #       SET 3... 5 BURSTS IN 1/2 AMP,  10 REVERSALS
040875,000166:                                                                                                 #       SET 4... 4 BURSTS IN 1/2 AMP,  14 REVERSALS
040876,000167:                                                                                                 #  THE PULSE BURST SIZE (ESTROKER) IS PAD-LOADED (5 BITS AS OF 3JAN,1967)
040877,000168:                                                                                                 #  THE REMAINING WAVEFORM-GENERATING PARAMETERS ARE AS FOLLOWS....
040878,000169: 
040879,000170: 20,3460           00012        FCADDY            DEC      10         B-14                       #  NO. PULSE BURSTS IN 1/2 AMP, SET1..(+10)
040880,000171: 20,3461           00003        FREVS             DEC      3          B-14                       #  NO. REVERSALS MINUS 1, SET1........(  3)
040881,000172: 
040882,000173: 20,3462           00004        FCARD             DEC      4          B-14                       #  NO. STROKE SETS....................(+ 4)
040883,000174: 
040884,000175: 20,3463           00005        FCARD1            DEC      5          B-14                       #  NO. REVERSALS MINUS 1, SET2........(  5)
040885,000176: 
040886,000177: 20,3464           00011        FCARD2            DEC      9          B-14                       #                             3........(  9)
040887,000178: 20,3465           00015        FCARD3            DEC      13         B-14                       #                            4........( 13)
040888,000179: 
040889,000180: 20,3466           00006        FCARD4            DEC      6          B-14                       #  NO. PULSE BURSTS IN 1/2 AMP, SET2..(+ 6)
040890,000181: 20,3467           00005        FCARD5            DEC      5          B-14                       #                               SET3..(+ 5)
040891,000182: 20,3470           00004        FCARD6            DEC      4          B-14                       #                               SET4..(+ 4)
040892,000183: 
040893,000184: 20,3471     4711               20MS              =        BIT2                                  
040894,000185: 
040895,000186: 
040896,000187:                                                                                                 #  STROKE TEST PACKAGE PROPER....
040897,000188: 
040898,000189: 20,3471  E6,1667                                 EBANK=   BUNKER                                
040899,000190: 
040900,000191: 20,3471           00006        HACK              EXTEND                                         #  ENTRY (IN T5 RUPT) FROM TVCDAPS
040901,000192: 20,3472           23667                          QXCH     BUNKER                                #  SAVE Q FOR DAP RETURN
040902,000193: 
040903,000194: 20,3473           34711                          CAF      20MS                                  #  2DAPSx2(PASSES/DAP)x2(CS/PASS)=8CS=TVCDT
040904,000195: 20,3474           05140                          TC       WAITLIST                              
040905,000196: 20,3475  E6,1667                                 EBANK=   BUNKER                                
040906,000197: 20,3475           03500 40066                    2CADR    HACKWLST                              
040907,000198: 20,3477           13502                          TCF      +3                                    
040908,000199: 
040909,000200: 20,3500           34367        HACKWLST          CAF      TCTSKOVR                              #  ENTRY FROM WAITLIST
040910,000201: 20,3501           55667                          TS       BUNKER                                #  BUNKER IS TC TASKOVER
040911,000202: 
040912,000203: 20,3502           31614                          CA       STROKER                               #  STROKE
040913,000204: 20,3503           26054                          ADS      TVCPITCH                              
040914,000205: 
040915,000206: 20,3504           34700                          CAF      BIT11                                 #  RELEASE THE ERROR COUNTERS
040916,000207: 20,3505           00006                          EXTEND                                         
040917,000208: 20,3506           05014                          WOR      CHAN14                                
040918,000209: 20,3507           25665                          INCR     CADDY                                 #  COUNT DOWN THE NO. BURSTS, THIS SLOPE
040919,000210:                                                                                                 # # Page 944
040920,000211: 20,3510           41665                          CS       CADDY                                 
040921,000212: 20,3511           00006                          EXTEND                                         
040922,000213: 20,3512           63514                          BZMF     +2                                    
040923,000214: 20,3513           01667                          TC       BUNKER                                #  EXIT, WHILE ON A SLOPE
040924,000215: 
040925,000216: 
040926,000217: 20,3514           11670                          CCS      REVS                                  
040927,000218: 20,3515           13535                          TCF      REVUP                                 #  POSITIVE REVS
040928,000219: 20,3516           13541                          TCF      REVUP      +4                         #  FINAL REVERSAL, THE SET
040929,000220: 
040930,000221: 20,3517           25671                          INCR     CARD                                  #  NEGATIVE REVS SET LAST PASS, READY FOR
040931,000222: 20,3520           41671                          CS       CARD                                  #       THE NEXT SET. CHECK IF NO MORE SETS
040932,000223: 20,3521           00006                          EXTEND                                         
040933,000224: 20,3522           13533                          BZF      STROKILL                              #  ALL SETS COMPLETED
040934,000225: 
040935,000226: 20,3523           51671                          INDEX    CARD                                  
040936,000227: 20,3524           33466                          CAF      FCARD      +4                         #  PICK UP NO. REVERSALS (-), NEXT SET
040937,000228: 20,3525           55670                          TS       REVS                                  #  REINITIALIZE
040938,000229: 20,3526           51671                          INDEX    CARD                                  
040939,000230: 20,3527           43471                          CS       FCARD      +7                         #  PICK UP NO. BURSTS IN 1/2AMP, NEXT SET
040940,000231: 20,3530           55666                          TS       N                                     #  REINITIALIZE
040941,000232: 20,3531           55665                          TS       CADDY                                 
040942,000233: 20,3532           01667                          TC       BUNKER                                #  EXIT, AT END OF SET
040943,000234: 
040944,000235: 
040945,000236: 20,3533           55614        STROKILL          TS       STROKER                               #  RESET (TO +0) TO END TEST
040946,000237: 20,3534           01667                          TC       BUNKER                                #  EXIT, STROKE TEST FINIS
040947,000238: 
040948,000239: 
040949,000240: 20,3535           55670        REVUP             TS       REVS                                  #  ALL REVERSALS EXCEPT LAST OF SET
040950,000241: 20,3536           31666                          CA       N                                     
040951,000242: 20,3537           60000                          DOUBLE                                         #  2 x 1/2AMP
040952,000243: 20,3540           13544                          TCF      +4                                    
040953,000244: 
040954,000245: 20,3541           44712                 +4       CS       ONE                                   #  FINAL REVERSAL, THIS SET
040955,000246: 20,3542           55670                          TS       REVS                                  #  PREPARE TO BRANCH TO NEW BURST
040956,000247: 20,3543           31666                          CA       N                                     #  JUST RETURN TO ZERO, FINAL SLOPE OF SET
040957,000248: 20,3544           55665                          TS       CADDY                                 #  CADUP
040958,000249: 
040959,000250: 20,3545           41614                          CS       STROKER                               #  CHANGE SIGN OF SLOPE
040960,000251: 20,3546           55614                          TS       STROKER                               
040961,000252: 20,3547           01667                          TC       BUNKER                                #  EXIT AT A REVERSAL (SLOPE CHANGE)

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