Source Code
043519,000001: # Copyright: Public domain.
043520,000002: # Filename: TVCSTROKETEST.agc
043521,000003: # Purpose: Part of the source code for Colossus 2A, AKA Comanche 055.
043522,000004: # It is part of the source code for the Command Module's (CM)
043523,000005: # Apollo Guidance Computer (AGC), for Apollo 11.
043524,000006: # Assembler: yaYUL
043525,000007: # Contact: Ron Burkey <info@sandroid.org>.
043526,000008: # Website: www.ibiblio.org/apollo.
043527,000009: # Pages: 979-983
043528,000010: # Mod history: 2009-05-13 RSB Adapted from the Colossus249/ file of the
043529,000011: # same name, using Comanche055 page images.
043530,000012:
043531,000013: # This source code has been transcribed or otherwise adapted from digitized
043532,000014: # images of a hardcopy from the MIT Museum. The digitization was performed
043533,000015: # by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many
043534,000016: # thanks to both. The images (with suitable reduction in storage size and
043535,000017: # consequent reduction in image quality as well) are available online at
043536,000018: # www.ibiblio.org/apollo. If for some reason you find that the images are
043537,000019: # illegible, contact me at info@sandroid.org about getting access to the
043538,000020: # (much) higher-quality images which Paul actually created.
043539,000021:
043540,000022: # Notations on the hardcopy document read, in part:
043541,000023:
043542,000024: # Assemble revision 055 of AGC program Comanche by NASA
043543,000025: # 2021113-051. 10:28 APR. 1, 1969
043544,000026:
043545,000027: # This AGC program shall also be referred to as
043546,000028: # Colossus 2A
043547,000029:
043548,000030: # Page 979
043549,000031: # NAME STROKE TEST PACKAGE (INCLUDING INITIALIZATION PACKAGE)
043550,000032: # LOG SECTION...TVCSTROKETEST SUBROUTINE...DAPCSM
043551,000033: # MODIFIED BY SCHLUNDT 21 OCTOBER 1968
043552,000034:
043553,000035: # FUNCTIONAL DESCRIPTION....
043554,000036: # STROKE TEST PACKAGE GENERATES A WAVEFORM DESIGNED TO EXCITE BENDING
043555,000037: # STRKTSTI (STROKE TEST INITIALIZATION) IS CALLED AS A JOB BY VB68.
043556,000038: # IT INITIALIZES ALL ERASABLES REQD FOR A STROKE TEST, AND
043557,000039: # THEN TESTS FOR CSM/LM (BIT 13 OF DAPDATR1). IF CSM/LM,
043558,000040: # IN EITHER HIGH OR LOW-BANDWIDTH MODE, THE TEST IS STARTED
043559,000041: # IMMEDIATELY. IF NOT CSM/LM, PROGRAM EXITS WITH NO ACTION.
043560,000042: # HACK (STROKE TEST) GENERATES THE WAVEFORM BY DUMPING PULSE BURSTS
043561,000043: # OF PROPER SIGN AND IN PROPER SEQUENCE DIRECTLY INTO
043562,000044: # TVCPITCH, WORKING IN CONJUNCITON WITH BOTH PITCH AND YAW
043563,000045: # TVC DAPS, WITH INTERMEDIAT WAITLIST CALLS. NOTE, HOWEVER
043564,000046: # THAT THE STROKE TEST IS PERFORMED ONLY IN THE PITCH AXIS.
043565,000047: # AN EXAMPLE WAVEFORM IS GIVEN BELOW, TO DEMONSTRATE STROKE-
043566,000048: # TEST PARAMETER SELECTION.
043567,000049: # RESTARTS CAUSE TEST TO BE TERMINATED. ANOTHER V68 REQD IF TEST
043568,000050: # IS TO BE RE-RUN.
043569,000051: # PULSE BURST SIZE IS PAD-LOADED (ESTROKER) SO THAT AMPLITUDE OF
043570,000052: # WAVEFORM CAN BE CHANGED. THERE ARE TEN PULSE BURSTS IN
043571,000053: # THE HALF-AMPLITUDE OF THE FIRST FREQUENCY SET IN THE
043572,000054: # STANDARD WAVEFORM. AMPLITUDE IS 10(ESTROKER)(1/42.15),
043573,000055: # NOMINALLY 50/42.15 = 1.185 DEG
043574,000056:
043575,000057: # CALLING SEQUENCE....
043576,000058: # EXTENDED VERB 68 SETS UP STRKTSTI JOB
043577,000059: # PITCH AND YAW TVCDAPS, FINDING STROKER NON-ZERO, DO A "TC HACK"
043578,000060: # AN INTERNALLY-GENERATED WAITLIST CALL ENTERS AT "HACKWLST"
043579,000061:
043580,000062: # NORMAL EXIT MODES....
043581,000063: # TC BUNKER ("Q" IF ENTRY FROM DAP, "TCTSKOVR" IF FROM WAITLIST) LIST
043582,000064:
043583,000065: # SUBROUTINES CALLED....
043584,000066: # WAITLIST
043585,000067:
043586,000068: # ALARM OR ABORT EXIT MODES....
043587,000069: # NONE
043588,000070:
043589,000071: # ERASABLE INITIALIZATION REQUIRED....
043590,000072: # ESTROKER (PAD-LOAD)
043591,000073: # STROKER, CADDY, REVS, CARD, N
043592,000074:
043593,000075: # OUTPUT....
043594,000076: # STRKTSTI...INITIALIZATION FOR STROKE TEST
043595,000077: # HACK, HACKWLST...PULSE BURSTS INTO TVCPITCH VIA "ADS"
043596,000078: # RESETS STROKER = +0 WHEN TEST COMPLETED
043597,000079:
043598,000080: # DEBRIS....
043599,000081: # N = CADDY = +0, CARD = -0, REVS = -1
043600,000082: # BUNKER
043601,000083: # Page 980
043602,000084:
043603,000085: # EXAMPLE STROKE TEST WAVE FORM, DEMONSTRATING PARAMETER SELECTION
043604,000086:
043605,000087: # NOTE....THIS IS NOT THE OFFICIAL WAVEFORM....
043606,000088:
043607,000089: # ** **
043608,000090: # ** **
043609,000091: # ** ** EXAMPLE WAVEFORM (EACH * REPRESENTS
043610,000092: # * * * * (85.41 ARCSEC OF ACTUATOR CMD)
043611,000093: # * * * *
043612,000094: # * * * *
043613,000095: # * * * * ** ** ** ** **
043614,000096: # * * * * ** ** ** ** **
043615,000097: # * * * * ** ** ** ** **
043616,000098: # * * * * * * * * * * * * * * ** ** ** ** **
043617,000099: # * * * * * * * * * * * * * * ** ** ** ** **
043618,000100: # * * * * * * * * * * * * * * ** ** ** ** **
043619,000101: # ----------------------------------------------------------------------------------------------------
043620,000102: # * * * * * * * * * * * * * * ** ** ** ** **
043621,000103: # * * * * * * * * * * * * * * ** ** ** ** **
043622,000104: # * * * * * * * * * * * * * * ** ** ** ** **
043623,000105: # * * * * ** ** ** ** **
043624,000106: # * * * * ** ** ** ** **
043625,000107: # * * * * ** ** ** ** **
043626,000108: # * * * *
043627,000109: # * * * *
043628,000110: # * * * *
043629,000111: # ** **
043630,000112: # ** **
043631,000113: # ** **
043632,000114:
043633,000115: # FOR THIS (UNOFFICIAL, EXAMPLE) WAVEFORM, THE REQUIRED PARAMETERS ARE AS FOLLOWS....
043634,000116:
043635,000117: # FCARD = +3 (NUMBER OF SETS)
043636,000118: # ESTROKER = +3 (PULSE BURST SIZE, SC.AT 85.41 ARCSEC/BIT)
043637,000119:
043638,000120: # SET1:
043639,000121: # FREVS = +3 (NUMBER REVERSALS MINUS 1)
043640,000122: # FCADDY = +4 (NUMBER OF PULSE BURSTS IN 1/2 AMPLITUDE)
043641,000123: # SET2:
043642,000124: # FCARD1 = +9 (NUMBER REVERSALS MINUS 1)
043643,000125: # FCARD4 = +2 (NUMBER OF PULSE BURSTS IN 1/2 AMPLITUDE)
043644,000126: # SET3:
043645,000127: # FCARD2 = +9 (NUMBER REVERSALS MINUS 1)
043646,000128: # FCARD5 = +1 (NUMBER OF PULSE BURSTS IN 1/2 AMPLITUDE)
043647,000129: # SET4:
043648,000130: # FCARD3 = +0 (NUMBER OF REVERSALS MINUS 1)
043649,000131: # FCARD6 = +0 (NUMBER OF PULSE BURSTS IN 1/2 AMPLUTUDE)
043650,000132:
043651,000133: # Page 981
043652,000134: # STROKE TEST INITIALIZATION PACKAGE (AS A JOB, FROM VERB 68)
043653,000135:
043654,000136: 17,2552 BANK 17
043655,000137: 20,2000 SETLOC DAPS2
043656,000138: 20,2000 BANK
043657,000139:
043658,000140: 20,3501 COUNT* $$/STRK
043659,000141: 20,3501 E6,1655 EBANK= CADDY
043660,000142:
043661,000143: 20,3501 03512 STRKTSTI TCR TSTINIT # STROKE TEST INITIALIZATION PKG (CALLED
043662,000144: # AS A JOB BY VERB68)
043663,000145:
043664,000146: 20,3502 00004 STRKCHK INHINT
043665,000147:
043666,000148: 20,3503 31466 CAE DAPDATR1 # CHECK FOR CSM/LM CONFIGURATION
043667,000149: 20,3504 75002 MASK BIT14
043668,000150: 20,3505 00006 EXTEND
043669,000151: 20,3506 13511 BZF +3
043670,000152:
043671,000153: 20,3507 31413 CAE ESTROKER # BEGIN ON NEXT DAP PASS (PITCH OR YAW)
043672,000154: 20,3510 55574 TS STROKER # (STROKING DONE IN PITCH ONLY, HOWEVER)
043673,000155:
043674,000156: 20,3511 15217 TCF ENDOFJOB
043675,000157:
043676,000158: 20,3512 43522 TSTINIT CS FCADDY # NORMAL ENTRY FROM STRKTSTI
043677,000159: 20,3513 55655 TS CADDY
043678,000160: 20,3514 55656 TS N # NOTE SGN CHNG FCADDY(+) TO CADDY(-)
043679,000161:
043680,000162: 20,3515 33523 CAF FREVS
043681,000163: 20,3516 55660 TS REVS
043682,000164:
043683,000165: 20,3517 43524 CS FCARD # NOTE SGN CHNG FCARD(+) TO CARD(-)
043684,000166: 20,3520 55661 TS CARD
043685,000167:
043686,000168: 20,3521 00002 TC Q # RETURN TO STRKTSTI+1 (OR CHKSTRK+2 OR +4)
043687,000169:
043688,000170: # Page 982
043689,000171: # THE OFFICIAL STROKE TEST WAVEFORM (3 JAN, 1967) CONSISTS OF FOUR STROKE SETS, AS FOLLOWS....
043690,000172:
043691,000173: # SET 1...10 BURSTS IN 1/2 AMP, 4 REVERSALS
043692,000174: # SET 2... 6 BURSTS IN 1/2 AMP, 6 REVERSALS
043693,000175: # SET 3... 5 BURSTS IN 1/2 AMP, 10 REVERSALS
043694,000176: # SET 4... 4 BURSTS IN 1/2 AMP, 14 REVERSALS
043695,000177:
043696,000178: # THE PULSE BURST SIZE (ESTROKER) IS PAD-LOADED (5 BITS AS OF 3 JAN, 1967)
043697,000179: # THE REMAINING WAVEFORM-GENERATING PARAMETERS ARE AS FOLLOWS....
043698,000180:
043699,000181: 20,3522 00012 FCADDY DEC 10 B-14 # NO. PULSE BURSTS IN 1/2 AMP, SET1..(+10)
043700,000182: 20,3523 00003 FREVS DEC 3 B-14 # NO. REVERSALS MINUS 1, SET1........( 3)
043701,000183:
043702,000184: 20,3524 00004 FCARD DEC 4 B-14 # NO. STROKE SETS....................(+ 4)
043703,000185:
043704,000186: 20,3525 00005 FCARD1 DEC 5 B-14 # NO. REVERSALS MINUS 1, SET2........( 5)
043705,000187:
043706,000188: 20,3526 00011 FCARD2 DEC 9 B-14 # 3........( 9)
043707,000189: 20,3527 00015 FCARD3 DEC 13 B-14 # 4........( 13)
043708,000190:
043709,000191: 20,3530 00006 FCARD4 DEC 6 B-14 # NO. PULSE BURSTS IN 1/2 AMP, SET2..(+ 6)
043710,000192: 20,3531 00005 FCARD5 DEC 5 B-14 # 3..(+ 5)
043711,000193: 20,3532 00004 FCARD6 DEC 4 B-14 # 4..(+ 4)
043712,000194:
043713,000195: 20,3533 5016 20MS = BIT2
043714,000196:
043715,000197: # STROKE TEST PACKAGE PROPER....
043716,000198:
043717,000199: 20,3533 E6,1657 EBANK= BUNKER
043718,000200:
043719,000201: 20,3533 00006 HACK EXTEND # ENTRY (IN T5 RUPT) FROM TVCDAPS
043720,000202: 20,3534 23657 QXCH BUNKER # SAVE Q FOR DAP RETURN
043721,000203:
043722,000204: 20,3535 35016 CAF 20MS # 2DAPSx2(PASSES/DAP)x2(CS/PASS)=8CS=TVCDT
043723,000205: 20,3536 05245 TC WAITLIST
043724,000206: 20,3537 E6,1657 EBANK= BUNKER
043725,000207: 20,3537 03542 40066 2CADR HACKWLST
043726,000208:
043727,000209: 20,3541 13544 TCF +3
043728,000210:
043729,000211: 20,3542 34367 HACKWLST CAF TCTSKOVR # ENTRY FROM WAITLIST
043730,000212: 20,3543 55657 TS BUNKER # BUNKER IS TC TASKOVER
043731,000213:
043732,000214: 20,3544 31574 CA STROKER # STROKE
043733,000215: 20,3545 26054 ADS TVCPITCH
043734,000216:
043735,000217: 20,3546 35005 CAF BIT11 # RELEASE THE ERROR COUNTERS
043736,000218: 20,3547 00006 EXTEND
043737,000219: 20,3550 05014 WOR CHAN14
043738,000220: 20,3551 25655 INCR CADDY # COUNT DOWN THE NO. BURSTS, THIS SLOPE
043739,000221: # Page 982
043740,000222: 20,3552 41655 CS CADDY
043741,000223: 20,3553 00006 EXTEND
043742,000224: 20,3554 63556 BZMF +2
043743,000225: 20,3555 01657 TC BUNKER # EXIT, WHILE ON A SLOPE
043744,000226:
043745,000227: 20,3556 11660 CCS REVS
043746,000228: 20,3557 13577 TCF REVUP # POSITIVE REVS
043747,000229: 20,3560 13603 TCF REVUP +4 # FINAL REVERSAL, THE SET
043748,000230:
043749,000231: 20,3561 25661 INCR CARD # NEGATIVE REVS SET LAST PASS, READY FOR
043750,000232: 20,3562 41661 CS CARD # THE NEXT SET. CHECK IF NO MORE SETS
043751,000233: 20,3563 00006 EXTEND
043752,000234: 20,3564 13575 BZF STROKILL # ALL SETS COMPLETED
043753,000235:
043754,000236: 20,3565 51661 INDEX CARD
043755,000237: 20,3566 33530 CAF FCARD +4 # PICK UP NO. REVERSALS (-), NEXT SET
043756,000238: 20,3567 55660 TS REVS # REINITIALIZE
043757,000239: 20,3570 51661 INDEX CARD
043758,000240: 20,3571 43533 CS FCARD +7 # PICK UP NO. BURSTS IN 1/2AMP, NEXT SET
043759,000241: 20,3572 55656 TS N # REINITIALIZE
043760,000242: 20,3573 55655 TS CADDY
043761,000243: 20,3574 01657 TC BUNKER # EXIT, AT END OF SET
043762,000244:
043763,000245: 20,3575 55574 STROKILL TS STROKER # RESET (TO +0) TO END TEST
043764,000246: 20,3576 01657 TC BUNKER # EXIT, STROKE TEST FINIS
043765,000247:
043766,000248: 20,3577 55660 REVUP TS REVS # ALL REVERSALS EXCEPT LAST OF SET
043767,000249: 20,3600 31656 CA N
043768,000250: 20,3601 60000 DOUBLE # 2 x 1/2AMP
043769,000251: 20,3602 13606 TCF +4
043770,000252:
043771,000253: 20,3603 45017 +4 CS ONE # FINAL REVERSAL, THIS SET
043772,000254: 20,3604 55660 TS REVS # PREPARE TO BRANCH TO NEW BURST
043773,000255: 20,3605 31656 CA N # JUST RETURN TO ZERO, FINAL SLOPE OF SET
043774,000256: 20,3606 55655 TS CADDY # CADUP
043775,000257:
043776,000258: 20,3607 41574 CS STROKER # CHANGE SIGN OF SLOPE
043777,000259: 20,3610 55574 TS STROKER
043778,000260: 20,3611 01657 TC BUNKER # EXIT AT A REVERSAL (SLOPE CHANGE)
043779,000261:
End of include-file TVCSTROKETEST.agc. Parent file is MAIN.agc