Source Code

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