Source Code
![]() |
These source-code files were obtained by digitally photographing
an Artemis 72 (Apollo 15-17 Command Module) program listing from a private
collection and then
modifying pre-existing Comanche 55 (Apollo 11) source files to
incorporate changes. Photography was by Ron Burkey, and transcription
was performed by a team of volunteers. Note that the page images
presented online are of reduced quality, and that additional images
may be 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 072 OF AGC PROGRAM ARTEMIS BY NASA 2021114-011 11:40 FEB. 26, 1971Note that the date is the date of the printout, not the date of the program revision. |
042588,000002: ## Copyright: Public domain.
042589,000003: ## Filename: TVCDAPS.agc
042590,000004: ## Purpose: Part of the source code for Artemis (i.e., Colossus 3),
042591,000005: ## build 072. This is for the Command Module's (CM)
042592,000006: ## Apollo Guidance Computer (AGC), for
042593,000007: ## Apollo 15-17.
042594,000008: ## Assembler: yaYUL
042595,000009: ## Contact: Steve Case <case1780@adelphia.net>
042596,000010: ## Website: www.ibiblio.org/apollo/index.html
042597,000011: ## Page Scans: www.ibiblio.org/apollo/ScansForConversion/Artemis072/
042598,000012: ## Mod history: 2009-09-13 SMC Adapted from Comanche055 files.
042599,000013: ## 2009-09-14 JL Fix typos. Fix page numbers. Remove change comments. Restore hard tabs.
042600,000014: ## 2010-02-20 RSB Un-##'d this header.
042601,000015: ## 2017-02-09 RSB Proofed comment text by diff'ing vs Comanche 55
042602,000016: ## and/or octopus/ProoferComments as most-appropriate.
042603,000017:
![]() |
Page 964 |
042605,000019: # PROGRAM NAME....TVCDAP, CONSISTING OF PITCHDAP, YAWDAP, ETC.
042606,000020: # LOG SECTION...TVCDAPS SUBROUTINE...DAPCSM
042607,000021: # MODIFIED BY SCHLUNDT 21 OCTOBER 1968
042608,000022: # FUNCTIONAL DESCRIPTION....
042609,000023:
042610,000024: # SELF-PERPETUATING T5 TASKS WHICH GENERATE THE COMMAND SIGNALS
042611,000025: # FOR THE PITCH AND YAW SPS GIMBAL ACTUATORS DURING TVC (SPS) BURNS,
042612,000026: # IN RESPONSE TO BODY-AXIS RATE COMMANDS FROM CROSS-PRODUCT STEERING
042613,000027: # (S40.8). IF NO STEERING (IMPULSIVE BURNS) MAINTAINS ATTITUDE-HOLD
042614,000028: # ABOUT THE REFERENCE (INITIAL) DIRECTIONS (ZERO RATE COMMANDS).
042615,000029:
042616,000030: # THE PITCH AND YAW LOOPS ARE SEPARATE, BUT STRUCTURED IDENTICALLY.
042617,000031: # EACH ATTITUDE-RATE LOOP INCLUDES GIMBAL ANGLE RATE DERIVATION,
042618,000032: # GIMBAL/BODY AXIS TRANSFORMATION, BODY-AXIS ATTITUDE ERROR
042619,000033: # INTEGRATION WITH ERROR LIMITING, THE GENERALIZED 6TH-ORDER FILTER
042620,000034: # FOR CSM OR CSM/LM OPERATION, A FILTER OUTPUT LIMITER,
042621,000035: # CG-OFFSET TRACKER FILTER, AND THE CG-TRACKER MINOR LOOP.
042622,000036:
042623,000037: # THE DAPS ARE CYCLIC, CALLING EACH OTHER AT 1/2 THE DAP SAMPLE
042624,000038: # TIME, AS DETERMINED BY T5TVCDT. THE ACTUATOR COMMANDS ARE
042625,000039: # REGENERATED AS ANALOG VOLTAGES BY THE OPTICS ERROR COUNTERS, WHICH
042626,000040: # TRANSMIT THE SIGNAL TO THE ACTUATOR SERVOS WHEN THERE IS PROPER CDU
042627,000041: # MODING.
042628,000042:
042629,000043: # CALLING SEQUENCE.... (TYPICALLY)
042630,000044:
042631,000045: # T5 CALL OF TVCDAPON (TVCINITIALIZE) BY DOTVCON (P40)
042632,000046: # T5 CALL OF DAPINIT (TVCDAPS) BY TVCINIT4 (TVCINITIALIZE)
042633,000047: # T5 CALL OF PITCHDAP BY DAPINIT
042634,000048: # T5 CALL OF YAWDAP BY PITCHDAP
042635,000049: # T5 CALL OF PITCHDAP BY YAWDAP
042636,000050: # ETC.
042637,000051: # (AUTOMATIC SEQUENCING FROM TVCDAPON)
042638,000052:
042639,000053: # NORMAL EXIT MODE....RESUME
042640,000054:
042641,000055: # ALARM OR ABORT EXIT MODES....NONE
042642,000056:
042643,000057: # SUBROUTINES CALLED....
042644,000058:
042645,000059: # HACK FOR STROKE TEST (V68) WAVEFORM GENERATION
042646,000060: # PCOPY, YCOPY FOR COPY-CYCLES (USED ALSO BY TVC RESTART PACKAGE)
042647,000061: # DAPINIT FOR INITIAL CDUS FOR RATE MEASUREMENTS
042648,000062: # ERRORLIM, ACTLIM FOR INPUT (ATTITUDE-ERROR INTEGRATION) AND
042649,000063: # OUTPUT (ACTUATOR COMMAND) LIMITING, COMMON TO PITCH AND
042650,000064: # YAW DAPS
042651,000065: # FWDFLTR (INCLUDING OPTVARK) AND PRECOMP, TO COMPUTE FILTER
042652,000066: # OUTPUTS AND STORAGE VALUES
042653,000067: # RESUME
042654,000068:
![]() |
Page 965 |
042656,000070: # OTHER INTERFACES....
042657,000071:
042658,000072: # S40.8 CROSS-PRODUCT STEERING FOR BODY AXIS RATE COMMANDS OMEGAY,ZC
042659,000073: # S40.15 FOR THE INITIAL DAP GAINS VARK AND 1/CONACC
042660,000074: # TVCEXECUTIVE FOR DAP GAIN UPDATES AND TMC LOOP OPERATIONS
042661,000075: # TVCRESTART PACKAGE FOR TVC RESTART PROTECTION.
042662,000076:
042663,000077: # ERASABLE INITIALIZATION REQUIRED....
042664,000078:
042665,000079: # PAD-LOAD ERASABLES ( SEE ERASABLE ASSIGNMENTS )
042666,000080: # CONFIGURATION BITS (14, 13) OF DAPDATR1 AS IN R03
042667,000081: # ENGINE-ON BIT (11.13) FOR RESTARTS
042668,000082: # TVCPHASE FOR RESTARTS ( SEE DOTVCON, AND TVCINIT4 )
042669,000083: # T5 BITS (15,14 OF FLAGWRD6) FOR RESTARTS
042670,000084: # MISCELLANEOUS VARIABLES SET UP OR COMPUTED BY TVCDAPON....TVCINIT4,
042671,000085: # INCLUDING THE ZEROING OF TEMPORARIES BY MRCLEAN
042672,000086: # CDUX,Y,Z AND SINCDUX....COSCDUZ AS PREPARED BY QUICTRIG (WITH
042673,000087: # UPDATES EVERY 1/2 SECOND)
042674,000088: # ALSO G+N PRIMARY, TVC ENABLE, AND OPTICS ERROR COUNTER ENABLE
042675,000089: # UNLESS BENCH-TESTING.
042676,000090:
042677,000091: # OUTPUT....
042678,000092:
042679,000093: # TVCPITCH AND TVCYAW WITH COUNTER RELEASE (11.14 AND 11.13 INCREMEN-
042680,000094: # TAL COMMANDS TO OPTICS ERROR COUNTERS), FILTER NODES, BODY-
042681,000095: # AXIS ATTITUDE ERROR INTEGRATOR, TOTAL ACTUATOR COMMANDS,
042682,000096: # OFFSET-TRACKER-FILTER OUTPUTS, ETC.
042683,000097: # DEBRIS....
042684,000098:
042685,000099: # MUCH, SHAREABLE WITH RCS/ENTRY, IN EBANK6 ONLY
042686,000100:
042687,000101: 20,2000 SETLOC DAPS2
042688,000102: 20,2000 BANK
042689,000103:
042690,000104: 20,2644 E6,1446 EBANK= CNTR
042691,000105:
042692,000106:
042693,000107: 20,2644 COUNT* $$/DAPS
042694,000108:
![]() |
Page 966 |
042696,000110:
042697,000111: # PITCH TVCDAP STARTS HERE....(INCORPORATES CSM/LEM DAP FILTER, MODOR DESIGN)
042698,000112:
042699,000113:
042700,000114: 20,2644 22016 PITCHDAP LXCH BANKRUPT # T5 ENTRY, NORMAL OR VIA DAPINIT
042701,000115: 20,2645 00006 EXTEND
042702,000116: 20,2646 22012 QXCH QRUPT
042703,000117:
042704,000118: 20,2647 33620 CAF YAWT5 # SET UP T5 CALL FOR YAW AUTOPILOT (LOW-
042705,000119: 20,2650 54112 TS T5LOC # ORDER PART OF 2CADR ALREADY THERE)
042706,000120: 20,2651 31625 CAE T5TVCDT
042707,000121: 20,2652 54030 TS TIME5
042708,000122:
042709,000123: 20,2653 30033 PCDUDOTS CAE CDUY # COMPUTE CDUYDOT
042710,000124: 20,2654 57636 XCH PCDUYPST
042711,000125: 20,2655 00006 EXTEND
042712,000126: 20,2656 21636 MSU PCDUYPST
042713,000127: 20,2657 02670 TCR RLIMTEST # RATE TEST
042714,000128: 20,2660 55642 TS MCDUYDOT # (MINUS, SC.AT 1/2TVCDT REVS/SEC)
042715,000129:
042716,000130: 20,2661 30034 CAE CDUZ # COMPUTE CDUZDOT
042717,000131: 20,2662 57637 XCH PCDUZPST
042718,000132: 20,2663 00006 EXTEND
042719,000133: 20,2664 21637 MSU PCDUZPST
042720,000134: 20,2665 02670 TCR RLIMTEST # RATE TEST
042721,000135: 20,2666 55643 TS MCDUZDOT # (MINUS, SC.AT 1/2TVCDT REVS/SEC)
042722,000136: 20,2667 12701 TCF PINTEGRL
042723,000137:
042724,000138: 20,2670 55611 RLIMTEST TS TTMP1 # TEST FOR EXCESSIVE CDU RATES (GREATER
042725,000139: 20,2671 00006 EXTEND # THAN 2.33 DEG IN ONE SAMPLE PERIOD)
042726,000140: 20,2672 73621 MP 1/RTLIM # (USED BY PITCH AND YAW PASSES)
042727,000141: 20,2673 00006 EXTEND
042728,000142: 20,2674 12677 BZF +3
042729,000143: 20,2675 34772 CAF ZERO
042730,000144: 20,2676 55611 TS TTMP1
042731,000145: 20,2677 31611 CAE TTMP1
042732,000146: 20,2700 00002 TC Q
042733,000147:
042734,000148: 20,2701 00006 PINTEGRL EXTEND # COMPUTE INTEGRAL OF BODY-AXIS PITCH-RATE
042735,000149: 20,2702 31576 DCA PERRB # ERROR, SC.AT B-1 REVS
042736,000150: 20,2703 53665 DXCH ERRBTMP
042737,000151:
042738,000152: 20,2704 00006 EXTEND
042739,000153: 20,2705 31530 DCA OMEGAYC
042740,000154: 20,2706 21665 DAS ERRBTMP
042741,000155:
042742,000156: 20,2707 41151 CS COSCDUZ # PREPARE BODY-AXIS PITCH RATE, OMEGAYB
042743,000157: 20,2710 00006 EXTEND
042744,000158: 20,2711 71153 MP COSCDUX
042745,000159: 20,2712 20001 DDOUBL
042746,000160: 20,2713 00006 EXTEND
![]() |
Page 967 |
042748,000162: 20,2714 71642 MP MCDUYDOT
042749,000163: 20,2715 20001 DDOUBL
042750,000164: 20,2716 53536 DXCH OMEGAYB
042751,000165:
042752,000166: 20,2717 41643 CS MCDUZDOT
042753,000167: 20,2720 00006 EXTEND
042754,000168: 20,2721 71145 MP SINCDUX
042755,000169: 20,2722 20001 DDOUBL
042756,000170: 20,2723 21536 DAS OMEGAYB # OMEGAYB, SCALED (B-1)/TVCDT REVS/SEC
042757,000171:
042758,000172: 20,2724 00006 EXTEND # PICK UP -OMEGAYB (SIGN CHNG, INTEGRATE)
042759,000173: 20,2725 41536 DCS OMEGAYB
042760,000174: 20,2726 21665 DAS ERRBTMP
042761,000175:
042762,000176: 20,2727 03246 PERORLIM TCR ERRORLIM # PITCH BODY-AXIS-ERROR INPUT LIMITER
042763,000177:
042764,000178: 20,2730 00006 PFORWARD EXTEND # PREPARE THE FILTER STORAGE LOCATIONS
042765,000179: 20,2731 31542 DCA PTMP1 # FOR THE PITCH CHANNEL
042766,000180: 20,2732 53671 DXCH TMP1
042767,000181: 20,2733 00006 EXTEND
042768,000182: 20,2734 31546 DCA PTMP3
042769,000183: 20,2735 53675 DXCH TMP3
042770,000184: 20,2736 00006 EXTEND
042771,000185: 20,2737 31552 DCA PTMP5
042772,000186: 20,2740 53701 DXCH TMP5
042773,000187:
042774,000188: 20,2741 03300 TCR FWDFLTR # GO COMPUTE PRESENT OUTPUT
042775,000189: # (INCLUDES VARIABLE GAIN PACKAGE)
042776,000190:
042777,000191: 20,2742 00006 POFFSET EXTEND
042778,000192: 20,2743 31606 DCA PDELOFF
042779,000193: 20,2744 21667 DAS CMDTMP # NOW SCALED AT B+0 ASCREV
042780,000194:
042781,000195: 20,2745 03261 PACLIM TCR ACTLIM # ROUND OFF & LIMIT PITCH ACTUATOR COMMAND
042782,000196:
042783,000197: 20,2746 41623 POUT CS PCMD # INCREMENTAL PITCH COMMAND
042784,000198: 20,2747 61666 AD CMDTMP
042785,000199: 20,2750 26054 ADS TVCPITCH # UPDATE THE ERROR COUNTER (NO RESTART-
042786,000200: # PROTECT, SINCE ERROR CNTR ZEROED)
042787,000201:
042788,000202: 20,2751 34756 CAF BIT11 # BIT FOR TVCPITCH COUNT RELEASE
042789,000203: 20,2752 00006 EXTEND
042790,000204: 20,2753 05014 WOR CHAN14
042791,000205:
042792,000206: 20,2754 00006 PPRECOMP EXTEND # PREPARE THE FILTER STORAGE FOR PITCH
042793,000207: 20,2755 31544 DCA PTMP2
042794,000208: 20,2756 53673 DXCH TMP2
042795,000209: 20,2757 00006 EXTEND
042796,000210: 20,2760 31550 DCA PTMP4
042797,000211: 20,2761 53677 DXCH TMP4
![]() |
Page 968 |
042799,000213: 20,2762 00006 EXTEND
042800,000214: 20,2763 31554 DCA PTMP6
042801,000215: 20,2764 53703 DXCH TMP6
042802,000216:
042803,000217: 20,2765 03372 TCR PRECOMP # TO THE FILTER FOR PRECOMPUTATION
042804,000218:
042805,000219: 20,2766 31602 DELBARP CAE DELPBAR +1 # UPDATE PITCH OFFSET-TRACKER-FILTER
042806,000220: 20,2767 00006 EXTEND
042807,000221: 20,2770 73623 MP E(-AT)
042808,000222: 20,2771 55663 TS DELBRTMP +1
042809,000223: 20,2772 31601 CAE DELPBAR
042810,000224: 20,2773 00006 EXTEND
042811,000225: 20,2774 73623 MP E(-AT)
042812,000226: 20,2775 21663 DAS DELBRTMP
042813,000227: 20,2776 31666 CAE CMDTMP
042814,000228: 20,2777 00006 EXTEND
042815,000229: 20,3000 73622 MP 1-E(-AT)
042816,000230: 20,3001 21663 DAS DELBRTMP
042817,000231:
042818,000232: 20,3002 03004 PCOPYCYC TCR PCOPY # PITCH COPYCYCLE
042819,000233:
042820,000234: 20,3003 15323 PDAPEND TCF RESUME # PITCH DAP COMPLETED
042821,000235:
![]() |
Page 969 |
042823,000237:
042824,000238: # PITCH TVCDAP COPYCYCLE SUBROUTINE (CALLED VIA PITCH TVCDAP OR TVC RESTART PACKAGE)
042825,000239:
042826,000240: 20,3004 25635 PCOPY INCR TVCPHASE # RESTART-PROTECT THE COPYCYCLE. (1)
042827,000241: # NOTE POSSIBLE RE-ENTRY FROM RESTART
042828,000242: # PACKAGE, SHOULD A RESTART OCCUR
042829,000243: # DURING PITCH COPYCYCLE.
042830,000244:
042831,000245: 20,3005 00006 EXTEND
042832,000246: 20,3006 31671 DCA TMP1
042833,000247: 20,3007 53542 DXCH PTMP1
042834,000248: 20,3010 00006 EXTEND
042835,000249: 20,3011 31673 DCA TMP2
042836,000250: 20,3012 53544 DXCH PTMP2
042837,000251: 20,3013 00006 EXTEND
042838,000252: 20,3014 31675 DCA TMP3
042839,000253: 20,3015 53546 DXCH PTMP3
042840,000254: 20,3016 00006 EXTEND
042841,000255: 20,3017 31677 DCA TMP4
042842,000256: 20,3020 53550 DXCH PTMP4
042843,000257: 20,3021 00006 EXTEND
042844,000258: 20,3022 31701 DCA TMP5
042845,000259: 20,3023 53552 DXCH PTMP5
042846,000260: 20,3024 00006 EXTEND
042847,000261: 20,3025 31703 DCA TMP6
042848,000262: 20,3026 53554 DXCH PTMP6
042849,000263:
042850,000264: 20,3027 00006 PMISC EXTEND # MISC....PITCH-RATE-ERROR INTEGRATOR
042851,000265: 20,3030 31665 DCA ERRBTMP
042852,000266: 20,3031 55477 TS AK1 # FOR PITCH NEEDLES, SC.AT B-1 REVS
042853,000267: 20,3032 53576 DXCH PERRB
042854,000268:
042855,000269: 20,3033 31666 CAE CMDTMP # PITCH ACTUATOR COMMAND
042856,000270: 20,3034 55623 TS PCMD
042857,000271:
042858,000272: 20,3035 00006 EXTEND # PITCH OFFSET-TRACKER-FILTER
042859,000273: 20,3036 31663 DCA DELBRTMP
042860,000274: 20,3037 53602 DXCH DELPBAR
042861,000275:
042862,000276: 20,3040 25635 INCR TVCPHASE # PITCH COPYCYCLE COMPLETED (2)
042863,000277:
042864,000278: 20,3041 00002 TC Q
042865,000279:
![]() |
Page 970 |
042867,000281:
042868,000282: # YAW TVCDAP STARTS HERE....(INCORPORATES CSM/LEM DAP FILTER, MODOR DESIGN)
042869,000283:
042870,000284:
042871,000285: 20,3042 22016 YAWDAP LXCH BANKRUPT # T5 ENTRY, NORMAL
042872,000286: 20,3043 00006 EXTEND
042873,000287: 20,3044 22012 QXCH QRUPT
042874,000288:
042875,000289: 20,3045 33616 CAF PITCHT5 # SET UP T5 CALL FOR PITCH AUTOPILOT (LOW-
042876,000290: 20,3046 54112 TS T5LOC # ORDER PART OF 2CADR ALREADY THERE)
042877,000291: 20,3047 31625 CAE T5TVCDT
042878,000292: 20,3050 54030 TS TIME5
042879,000293:
042880,000294: 20,3051 30033 YCDUDOTS CAE CDUY # COMPUTE CDUYDOT
042881,000295: 20,3052 57640 XCH YCDUYPST
042882,000296: 20,3053 00006 EXTEND
042883,000297: 20,3054 21640 MSU YCDUYPST
042884,000298: 20,3055 02670 TCR RLIMTEST # RATE TEST
042885,000299: 20,3056 55642 TS MCDUYDOT # (MINUS, SCALED 1/2TVCDT REV/SEC)
042886,000300:
042887,000301: 20,3057 30034 CAE CDUZ # COMPUTE CDUZDOT
042888,000302: 20,3060 57641 XCH YCDUZPST
042889,000303: 20,3061 00006 EXTEND
042890,000304: 20,3062 21641 MSU YCDUZPST
042891,000305: 20,3063 02670 TCR RLIMTEST # RATE TEST
042892,000306: 20,3064 55643 TS MCDUZDOT # (MINUS, SCALED 1/2TVCDT REV/SEC)
042893,000307:
042894,000308: 20,3065 00006 YINTEGRL EXTEND # COMPUTE INTEGRAL OF BODY-AXIS YAW-RATE
042895,000309: 20,3066 31600 DCA YERRB # ERROR, SC.AT B-1 REVS
042896,000310: 20,3067 53665 DXCH ERRBTMP
042897,000311:
042898,000312: 20,3070 00006 EXTEND
042899,000313: 20,3071 31532 DCA OMEGAZC
042900,000314: 20,3072 21665 DAS ERRBTMP
042901,000315:
042902,000316: 20,3073 31151 CAE COSCDUZ # PREPARE BODY-AXIS YAW-RATE, OMEGAZB
042903,000317: 20,3074 00006 EXTEND
042904,000318: 20,3075 71145 MP SINCDUX
042905,000319: 20,3076 20001 DDOUBL
042906,000320: 20,3077 00006 EXTEND
042907,000321: 20,3100 71642 MP MCDUYDOT
042908,000322: 20,3101 20001 DDOUBL
042909,000323: 20,3102 53540 DXCH OMEGAZB
042910,000324:
042911,000325: 20,3103 41643 CS MCDUZDOT
042912,000326: 20,3104 00006 EXTEND
042913,000327: 20,3105 71153 MP COSCDUX
042914,000328: 20,3106 20001 DDOUBL
042915,000329: 20,3107 21540 DAS OMEGAZB # OMEGAZB, SCALED (B-1)/TVCDT REVS/SEC
042916,000330:
042917,000331: 20,3110 00006 EXTEND # PICK UP -OMEGAZB (SIGN CHNG, INTEGRATE)
![]() |
Page 971 |
042919,000333: 20,3111 41540 DCS OMEGAZB
042920,000334: 20,3112 21665 DAS ERRBTMP
042921,000335:
042922,000336: 20,3113 03246 YERORLIM TCR ERRORLIM # YAW BODY-AXIS-ERROR INPUT LIMITER
042923,000337:
042924,000338: 20,3114 00006 YFORWARD EXTEND # PREPARE THE FILTER STORAGE LOCATIONS
042925,000339: 20,3115 31556 DCA YTMP1 # FOR THE YAW CHANNEL
042926,000340: 20,3116 53671 DXCH TMP1
042927,000341: 20,3117 00006 EXTEND
042928,000342: 20,3120 31562 DCA YTMP3
042929,000343: 20,3121 53675 DXCH TMP3
042930,000344: 20,3122 00006 EXTEND
042931,000345: 20,3123 31566 DCA YTMP5
042932,000346: 20,3124 53701 DXCH TMP5
042933,000347:
042934,000348: 20,3125 03300 TCR FWDFLTR # GO COMPUTE PRESENT OUTPUT
042935,000349: # (INCLUDES VARIABLE GAIN PACKAGE)
042936,000350:
042937,000351: 20,3126 00006 YOFFSET EXTEND
042938,000352: 20,3127 31610 DCA YDELOFF
042939,000353: 20,3130 21667 DAS CMDTMP # NOW SCALED AT B+0 ASCREV
042940,000354:
042941,000355: 20,3131 03261 YACLIM TCR ACTLIM # ROUND OFF & LIMIT YAW ACTUATOR COMMAND
042942,000356:
042943,000357: 20,3132 41624 YOUT CS YCMD # INCREMENTAL YAW COMMAND
042944,000358: 20,3133 61666 AD CMDTMP
042945,000359: 20,3134 26053 ADS TVCYAW # UPDATE THE ERROR COUNTER (NO RESTART-
042946,000360: # PROTECT, SINCE ERROR CNTR ZEROED)
042947,000361:
042948,000362: 20,3135 34755 CAF BIT12 # BIT FOR TVCYAW COUNT RELEASE
042949,000363: 20,3136 00006 EXTEND
042950,000364: 20,3137 05014 WOR CHAN14
042951,000365:
042952,000366: 20,3140 00006 YPRECOMP EXTEND # PREPARE THE FILTER STORAGE FOR YAW
042953,000367: 20,3141 31560 DCA YTMP2
042954,000368: 20,3142 53673 DXCH TMP2
042955,000369: 20,3143 00006 EXTEND
042956,000370: 20,3144 31564 DCA YTMP4
042957,000371: 20,3145 53677 DXCH TMP4
042958,000372: 20,3146 00006 EXTEND
042959,000373: 20,3147 31570 DCA YTMP6
042960,000374: 20,3150 53703 DXCH TMP6
042961,000375:
042962,000376: 20,3151 03372 TCR PRECOMP # TO THE FILTER FOR PRECOMPUTATION
042963,000377:
042964,000378: 20,3152 31604 DELBARY CAE DELYBAR +1 # UPDATE YAW OFFSET-TRACKER-FILTER
042965,000379: 20,3153 00006 EXTEND
042966,000380: 20,3154 73623 MP E(-AT)
042967,000381: 20,3155 55663 TS DELBRTMP +1
042968,000382: 20,3156 31603 CAE DELYBAR
![]() |
Page 972 |
042970,000384: 20,3157 00006 EXTEND
042971,000385: 20,3160 73623 MP E(-AT)
042972,000386: 20,3161 21663 DAS DELBRTMP
042973,000387: 20,3162 31666 CAE CMDTMP
042974,000388: 20,3163 00006 EXTEND
042975,000389: 20,3164 73622 MP 1-E(-AT)
042976,000390: 20,3165 21663 DAS DELBRTMP
042977,000391:
042978,000392: 20,3166 03170 YCOPYCYC TCR YCOPY # YAW COPYCYCLE
042979,000393:
042980,000394: 20,3167 15323 YDAPEND TCF RESUME # YAW DAP COMPLETED
042981,000395:
![]() |
Page 973 |
042983,000397:
042984,000398: # YAW TVCDAP COPYCYCLE SUBROUTINE (CALLED VIA YAW TVCDAP OR TVC RESTART PACKAGE)
042985,000399:
042986,000400: 20,3170 25635 YCOPY INCR TVCPHASE # RESTART-PROTECT THE COPYCYCLE. (3)
042987,000401: # NOTE POSSIBLE RE-ENTRY FROM RESTART
042988,000402: # PACKAGE, SHOULD A RESTART OCCUR
042989,000403: # DURING YAW COPYCYCLE.
042990,000404:
042991,000405: 20,3171 00006 EXTEND
042992,000406: 20,3172 31671 DCA TMP1
042993,000407: 20,3173 53556 DXCH YTMP1
042994,000408: 20,3174 00006 EXTEND
042995,000409: 20,3175 31673 DCA TMP2
042996,000410: 20,3176 53560 DXCH YTMP2
042997,000411: 20,3177 00006 EXTEND
042998,000412: 20,3200 31675 DCA TMP3
042999,000413: 20,3201 53562 DXCH YTMP3
043000,000414: 20,3202 00006 EXTEND
043001,000415: 20,3203 31677 DCA TMP4
043002,000416: 20,3204 53564 DXCH YTMP4
043003,000417: 20,3205 00006 EXTEND
043004,000418: 20,3206 31701 DCA TMP5
043005,000419: 20,3207 53566 DXCH YTMP5
043006,000420: 20,3210 00006 EXTEND
043007,000421: 20,3211 31703 DCA TMP6
043008,000422: 20,3212 53570 DXCH YTMP6
043009,000423:
043010,000424: 20,3213 00006 YMISC EXTEND # MISC....YAW-RATE-ERROR INTEGRATOR
043011,000425: 20,3214 31665 DCA ERRBTMP
043012,000426: 20,3215 55500 TS AK2 # FOR YAW NEEDLES, SC.AT B-1 REVS
043013,000427: 20,3216 53600 DXCH YERRB
043014,000428:
043015,000429: 20,3217 31666 CAE CMDTMP
043016,000430: 20,3220 55624 TS YCMD
043017,000431:
043018,000432: 20,3221 00006 EXTEND
043019,000433: 20,3222 31663 DCA DELBRTMP
043020,000434: 20,3223 53604 DXCH DELYBAR
043021,000435:
043022,000436: 20,3224 34772 CAF ZERO # YAW COPYCYCLE COMPLETED
043023,000437: 20,3225 55635 TS TVCPHASE # RESET TVCPHASE
043024,000438:
043025,000439: 20,3226 00002 TC Q
043026,000440:
![]() |
Page 974 |
043028,000442:
043029,000443: # SUBROUTINES COMMON TO BOTH PITCH AND YAW DAPS....
043030,000444:
043031,000445:
043032,000446: # INITIALIZATION PACKAGE FOR CDURATES....
043033,000447:
043034,000448: 20,3227 22016 DAPINIT LXCH BANKRUPT # T5 RUPT ENTRY (CALLED BY TVCINT4)
043035,000449:
043036,000450: 20,3230 37702 CAF NEGONE # SET UP
043037,000451: 20,3231 61625 AD T5TVCDT # T5 CALL FOR PITCHDAP IN TVCDT SECS
043038,000452: 20,3232 64752 AD NEGMAX # (T5TVCDT = POSMAX - TVCDT/2 +1)
043039,000453: 20,3233 61625 AD T5TVCDT
043040,000454: 20,3234 54030 TS TIME5
043041,000455: 20,3235 33616 CAF PITCHT5 # (BBCON ALREADY THERE)
043042,000456: 20,3236 54112 TS T5LOC
043043,000457:
043044,000458: 20,3237 30033 CAE CDUY # READ AND STORE CDUS FOR DIFFERENTIATOR
043045,000459: 20,3240 55636 TS PCDUYPST # PAST-VALUES
043046,000460: 20,3241 55640 TS YCDUYPST
043047,000461: 20,3242 30034 CAE CDUZ
043048,000462: 20,3243 55637 TS PCDUZPST
043049,000463: 20,3244 55641 TS YCDUZPST
043050,000464:
043051,000465: 20,3245 15325 TCF NOQRSM
043052,000466:
043053,000467:
043054,000468: # BODY-AXIS-ERROR INPUT LIMITER PACKAGE....
043055,000469:
043056,000470: 20,3246 31664 ERRORLIM CAE ERRBTMP # CHECK FOR INPUT-ERROR LIMIT
043057,000471: 20,3247 00006 EXTEND # CHECKS UPPER WORD ONLY
043058,000472: 20,3250 74766 MP 1/ERRLIM
043059,000473: 20,3251 00006 EXTEND
043060,000474: 20,3252 13260 BZF +6
043061,000475: 20,3253 11664 CCS ERRBTMP
043062,000476: 20,3254 34754 CAF ERRLIM
043063,000477: 20,3255 13257 TCF +2
043064,000478: 20,3256 44754 CS ERRLIM
043065,000479: 20,3257 55664 TS ERRBTMP # LIMIT WRITES OVER UPPER WORD ONLY
043066,000480:
043067,000481: 20,3260 00002 TC Q
043068,000482:
043069,000483:
043070,000484: # ACTUATOR-COMMAND LIMITER PACKAGE....
043071,000485:
043072,000486: 20,3261 31667 ACTLIM CAE CMDTMP +1 # ROUND UP FOR OUTPUT
043073,000487: 20,3262 60000 DOUBLE
043074,000488: 20,3263 54001 TS L
043075,000489: 20,3264 34772 CAF ZERO
043076,000490: 20,3265 61666 AD CMDTMP
043077,000491:
043078,000492: 20,3266 00006 EXTEND # CHECK FOR ACTUATOR COMMAND LIMIT
![]() |
Page 975 |
043080,000494: 20,3267 73615 MP 1/ACTSAT
043081,000495: 20,3270 00006 EXTEND
043082,000496: 20,3271 13277 BZF +6
043083,000497: 20,3272 11666 CCS CMDTMP # APPLY LIMITS
043084,000498: 20,3273 33614 CAF ACTSAT
043085,000499: 20,3274 13276 TCF +2
043086,000500: 20,3275 43614 CS ACTSAT
043087,000501: 20,3276 55666 TS CMDTMP # LIMITS WRITE OVER CMDTMP
043088,000502:
043089,000503: 20,3277 00002 TC Q
043090,000504:
043091,000505: # FILTER COMPUTATIONS FOR PRESENT OUTPUT................
043092,000506:
043093,000507: 20,3300 34772 FWDFLTR CAF ZERO
043094,000508: 20,3301 55615 TS DAP1
043095,000509: 20,3302 55617 TS DAP2
043096,000510: 20,3303 55621 TS DAP3
043097,000511: 20,3304 55666 TS CMDTMP
043098,000512:
043099,000513: 20,3305 55662 TS DELBRTMP
043100,000514:
043101,000515: 20,3306 31665 1DAPCAS CAE ERRBTMP +1 # FIRST DAP CASCADE
043102,000516: 20,3307 00006 EXTEND
043103,000517: 20,3310 71705 MP N10 # N10
043104,000518: 20,3311 55616 TS DAP1 +1
043105,000519: 20,3312 31664 CA ERRBTMP
043106,000520: 20,3313 00006 EXTEND
043107,000521: 20,3314 71705 MP N10 # N10
043108,000522: 20,3315 21616 DAS DAP1
043109,000523: 20,3316 53671 DXCH TMP1
043110,000524: 20,3317 21616 DAS DAP1
043111,000525:
043112,000526: 20,3320 31616 2DAPCAS CAE DAP1 +1 # SECOND DAP CASCADE
043113,000527: 20,3321 00006 EXTEND
043114,000528: 20,3322 71712 MP N10 +5 # N20
043115,000529: 20,3323 55620 TS DAP2 +1
043116,000530: 20,3324 31615 CA DAP1
043117,000531: 20,3325 00006 EXTEND
043118,000532: 20,3326 71712 MP N10 +5 # N20
043119,000533: 20,3327 21620 DAS DAP2
043120,000534: 20,3330 53675 DXCH TMP3
043121,000535: 20,3331 21620 DAS DAP2
043122,000536:
043123,000537: 20,3332 31465 CAE DAPDATR1 # TEST FOR LEM ON OR OFF
043124,000538: 20,3333 74753 MASK BIT14
043125,000539: 20,3334 10000 CCS A
043126,000540: 20,3335 13344 TCF 3DAPCAS # LEM ON
043127,000541: 20,3336 00006 EXTEND # LEM OFF
043128,000542: 20,3337 31620 DCA DAP2
![]() |
Page 976 |
043130,000544: 20,3340 20001 DDOUBL
043131,000545: 20,3341 20001 DDOUBL
043132,000546: 20,3342 53622 DXCH DAP3
043133,000547: 20,3343 13356 TCF OPTVARK
043134,000548:
043135,000549: 20,3344 31620 3DAPCAS CAE DAP2 +1 # THIRD DAP CASCADE
043136,000550: 20,3345 00006 EXTEND
043137,000551: 20,3346 71717 MP N10 +10D # N30
043138,000552: 20,3347 55622 TS DAP3 +1
043139,000553: 20,3350 31617 CA DAP2
043140,000554: 20,3351 00006 EXTEND
043141,000555: 20,3352 71717 MP N10 +10D # N30
043142,000556: 20,3353 21622 DAS DAP3
043143,000557: 20,3354 53701 DXCH TMP5
043144,000558: 20,3355 21622 DAS DAP3
043145,000559:
043146,000560: 20,3356 41622 OPTVARK CS DAP3 +1 # VARIABLE GAIN PACKAGE
043147,000561: 20,3357 00006 EXTEND # (ALSO, SIGN CHANGE IN FORWARD LOOP)
043148,000562: 20,3360 71632 MP VARK # SCALED (1.08 B+2) CSM/LM
043149,000563: 20,3361 55667 TS CMDTMP +1 # ( " B+4) CSM
043150,000564: 20,3362 41621 CS DAP3
043151,000565: 20,3363 00006 EXTEND
043152,000566: 20,3364 71632 MP VARK
043153,000567: 20,3365 21667 DAS CMDTMP
043154,000568:
043155,000569: 20,3366 53667 DXCH CMDTMP # FIX UP SCALING - SCALED B+1 ASCREV
043156,000570: 20,3367 20001 DDOUBL
043157,000571: 20,3370 53667 DXCH CMDTMP # - SCALED B+0 ASCREV
043158,000572: # NOTE - THERE IS AN INHERANT GAIN OF
043159,000573: # (B+1 ASCREV/REV) ON THE OUTPUT DACS.
043160,000574:
043161,000575: 20,3371 00002 TC Q
043162,000576:
043163,000577:
043164,000578: # FILTER PRECOMPUTATIONS FOR NEXT PASS...................
043165,000579:
043166,000580: 20,3372 34772 PRECOMP CAF ZERO # ***** FIRST CASCADE FILTER **********
043167,000581: 20,3373 55611 TS TTMP1
043168,000582: 20,3374 55613 TS TTMP2
043169,000583:
043170,000584: 20,3375 31665 CA ERRBTMP +1 # MULTIPLY INPUT BY
043171,000585: 20,3376 00006 EXTEND
043172,000586: 20,3377 71706 MP N10 +1 # N11/2
043173,000587: 20,3400 55612 TS TTMP1 +1
043174,000588: 20,3401 31664 CA ERRBTMP
043175,000589: 20,3402 00006 EXTEND
043176,000590: 20,3403 71706 MP N10 +1 # N11/2
043177,000591: 20,3404 21612 DAS TTMP1
043178,000592:
043179,000593: 20,3405 41616 CS DAP1 +1 # MULTIPLY OUTPUT BY
![]() |
Page 977 |
043181,000595: 20,3406 00006 EXTEND
043182,000596: 20,3407 71710 MP N10 +3 # D11/2
043183,000597: 20,3410 55614 TS TTMP2 +1
043184,000598: 20,3411 41615 CS DAP1
043185,000599: 20,3412 00006 EXTEND
043186,000600: 20,3413 71710 MP N10 +3 # D11/2
043187,000601: 20,3414 21614 DAS TTMP2
043188,000602:
043189,000603: 20,3415 53614 DXCH TTMP2
043190,000604: 20,3416 21612 DAS TTMP1
043191,000605: 20,3417 53612 DXCH TTMP1
043192,000606: 20,3420 20001 DDOUBL
043193,000607: 20,3421 21673 DAS TMP2
043194,000608:
043195,000609: 20,3422 53673 DXCH TMP2
043196,000610: 20,3423 53671 DXCH TMP1
043197,000611:
043198,000612: 20,3424 34772 CAF ZERO
043199,000613: 20,3425 55611 TS TTMP1
043200,000614: 20,3426 55672 TS TMP2
043201,000615:
043202,000616: 20,3427 31665 CA ERRBTMP +1 # MULTIPLY INPUT BY
043203,000617: 20,3430 00006 EXTEND # SECOND-ORDER NUMERATOR COEFF.
043204,000618: 20,3431 71707 MP N10 +2 # N12
043205,000619: 20,3432 55612 TS TTMP1 +1
043206,000620: 20,3433 31664 CA ERRBTMP
043207,000621: 20,3434 00006 EXTEND
043208,000622: 20,3435 71707 MP N10 +2 # N12
043209,000623: 20,3436 21612 DAS TTMP1
043210,000624:
043211,000625: 20,3437 41616 CS DAP1 +1 # MULTIPLY OUTPUT BY
043212,000626: 20,3440 00006 EXTEND
043213,000627: 20,3441 71711 MP N10 +4 # D12
043214,000628: 20,3442 55673 TS TMP2 +1
043215,000629: 20,3443 41615 CS DAP1
043216,000630: 20,3444 00006 EXTEND
043217,000631: 20,3445 71711 MP N10 +4 # D12
043218,000632: 20,3446 21673 DAS TMP2
043219,000633:
043220,000634: 20,3447 53612 DXCH TTMP1
043221,000635: 20,3450 21673 DAS TMP2
043222,000636:
043223,000637: 20,3451 34772 2CASFLTR CAF ZERO # *****SECOND CASCADE FILTER*****
043224,000638: 20,3452 55611 TS TTMP1
043225,000639: 20,3453 55613 TS TTMP2
043226,000640:
043227,000641: 20,3454 31616 CA DAP1 +1 # MULTIPLY INPUT BY
043228,000642: 20,3455 00006 EXTEND
043229,000643: 20,3456 71713 MP N10 +6 # N21/2
![]() |
Page 978 |
043231,000645: 20,3457 55612 TS TTMP1 +1
043232,000646: 20,3460 31615 CA DAP1
043233,000647: 20,3461 00006 EXTEND
043234,000648: 20,3462 71713 MP N10 +6 # N21/2
043235,000649: 20,3463 21612 DAS TTMP1
043236,000650:
043237,000651: 20,3464 41620 CS DAP2 +1 # MULTIPLY OUTPUT BY
043238,000652: 20,3465 00006 EXTEND
043239,000653: 20,3466 71715 MP N10 +8D # D21/2
043240,000654: 20,3467 55614 TS TTMP2 +1
043241,000655: 20,3470 41617 CS DAP2
043242,000656: 20,3471 00006 EXTEND
043243,000657: 20,3472 71715 MP N10 +8D # D21/2
043244,000658: 20,3473 21614 DAS TTMP2
043245,000659:
043246,000660: 20,3474 53614 DXCH TTMP2
043247,000661: 20,3475 21612 DAS TTMP1
043248,000662: 20,3476 53612 DXCH TTMP1
043249,000663: 20,3477 20001 DDOUBL
043250,000664: 20,3500 21677 DAS TMP4
043251,000665:
043252,000666: 20,3501 53677 DXCH TMP4
043253,000667: 20,3502 53675 DXCH TMP3
043254,000668:
043255,000669: 20,3503 34772 CAF ZERO
043256,000670: 20,3504 55611 TS TTMP1
043257,000671: 20,3505 55676 TS TMP4
043258,000672:
043259,000673: 20,3506 31616 CA DAP1 +1 # MULTIPLY INPUT BY
043260,000674: 20,3507 00006 EXTEND
043261,000675: 20,3510 71714 MP N10 +7 # N22
043262,000676: 20,3511 55612 TS TTMP1 +1
043263,000677: 20,3512 31615 CA DAP1
043264,000678: 20,3513 00006 EXTEND
043265,000679: 20,3514 71714 MP N10 +7 # N22
043266,000680: 20,3515 21612 DAS TTMP1
043267,000681:
043268,000682: 20,3516 41620 CS DAP2 +1 # MULTIPLY OUTPUT BY
043269,000683: 20,3517 00006 EXTEND
043270,000684: 20,3520 71716 MP N10 +9D # D22
043271,000685: 20,3521 55677 TS TMP4 +1
043272,000686: 20,3522 41617 CS DAP2
043273,000687: 20,3523 00006 EXTEND
043274,000688: 20,3524 71716 MP N10 +9D # D22
043275,000689: 20,3525 21677 DAS TMP4
043276,000690:
043277,000691: 20,3526 53612 DXCH TTMP1
043278,000692: 20,3527 21677 DAS TMP4
![]() |
Page 979 |
043280,000694: 20,3530 31465 CAE DAPDATR1 # TEST FOR LEM ON OR OFF
043281,000695: 20,3531 74754 MASK BIT13
043282,000696: 20,3532 10000 CCS A
043283,000697: 20,3533 00002 TC Q # EXIT IF LEM OFF
043284,000698:
043285,000699: 20,3534 34772 3CASFLTR CAF ZERO # *****THIRD CASCADE FILTER*****
043286,000700: 20,3535 55611 TS TTMP1
043287,000701: 20,3536 55613 TS TTMP2
043288,000702:
043289,000703: 20,3537 31620 CA DAP2 +1 # MULTIPLY INPUT BY (1/2)
043290,000704: 20,3540 00006 EXTEND
043291,000705: 20,3541 71720 MP N10 +11D # N31/2
043292,000706: 20,3542 55612 TS TTMP1 +1
043293,000707: 20,3543 31617 CA DAP2
043294,000708: 20,3544 00006 EXTEND
043295,000709: 20,3545 71720 MP N10 +11D # N31/2
043296,000710: 20,3546 21612 DAS TTMP1
043297,000711:
043298,000712: 20,3547 41622 CS DAP3 +1
043299,000713: 20,3550 00006 EXTEND
043300,000714: 20,3551 71722 MP N10 +13D # D31/2
043301,000715: 20,3552 55614 TS TTMP2 +1
043302,000716: 20,3553 41621 CS DAP3
043303,000717: 20,3554 00006 EXTEND
043304,000718: 20,3555 71722 MP N10 +13D # D31/2
043305,000719: 20,3556 21614 DAS TTMP2
043306,000720:
043307,000721: 20,3557 53614 DXCH TTMP2
043308,000722: 20,3560 21612 DAS TTMP1
043309,000723: 20,3561 53612 DXCH TTMP1
043310,000724: 20,3562 20001 DDOUBL
043311,000725: 20,3563 21703 DAS TMP6
043312,000726:
043313,000727: 20,3564 53703 DXCH TMP6
043314,000728: 20,3565 53701 DXCH TMP5
043315,000729:
043316,000730: 20,3566 34772 CAF ZERO
043317,000731: 20,3567 55611 TS TTMP1
043318,000732: 20,3570 55702 TS TMP6
043319,000733:
043320,000734: 20,3571 31620 CA DAP2 +1 # MULTIPLY INPUT BY
043321,000735: 20,3572 00006 EXTEND
043322,000736: 20,3573 71721 MP N10 +12D # N32
043323,000737: 20,3574 55612 TS TTMP1 +1
043324,000738: 20,3575 31617 CA DAP2
043325,000739: 20,3576 00006 EXTEND
043326,000740: 20,3577 71721 MP N10 +12D # N32
043327,000741: 20,3600 21612 DAS TTMP1
043328,000742:
043329,000743: 20,3601 41622 CS DAP3 +1
![]() |
Page 980 |
043331,000745: 20,3602 00006 EXTEND
043332,000746: 20,3603 71723 MP N10 +14D # D32
043333,000747: 20,3604 55703 TS TMP6 +1
043334,000748: 20,3605 41621 CS DAP3
043335,000749: 20,3606 00006 EXTEND
043336,000750:
043337,000751: 20,3607 71723 MP N10 +14D # D32
043338,000752: 20,3610 21703 DAS TMP6
043339,000753:
043340,000754: 20,3611 53612 DXCH TTMP1
043341,000755: 20,3612 21703 DAS TMP6
043342,000756:
043343,000757: 20,3613 00002 TC Q
043344,000758:
![]() |
Page 981 |
043346,000760:
043347,000761: # CONSTANTS FOR AUTOPILOTS
043348,000762:
043349,000763: # NOTE....1 ASCREV (ACTUATOR CMD SCALING) = 85.41 ARCSEC/BIT OR 1.07975111 REVS (85.41X16384/3600/360)
043350,000764:
043351,000765: # 1 SPASCREV (SPECIAL ACTUATOR CMD SCALING) = 1.04620942 REVS
043352,000766:
043353,000767: 20,3614 00375 ACTSAT DEC 253 B-14 # ACTUATOR LIMIT (6 DEG), SC.AT 1ASCREV
043354,000768: 20,3615 00101 1/ACTSAT DEC .0039525692 # RECIPROCAL (1/253)
043355,000769:
043356,000770: 20,3616 4754 ERRLIM EQUALS BIT13 # FILTER INPUT LIMIT....B-3 REVS (45DEG),
043357,000771: 20,3616 4766 1/ERRLIM EQUALS BIT3 # SC.AT B-1 REV, AND ITS RECIPROCAL
043358,000772:
043359,000773: 20,3616 02644 PITCHT5 GENADR PITCHDAP # UPPER WORDS OF T5 2CADRS, LOWER WORDS
043360,000774: 20,3617 03227 DAPT5 GENADR DAPINIT # (BBCON) ALREADY THERE. ORDER IS
043361,000775: 20,3620 03042 YAWT5 GENADR YAWDAP # REQUIRED.
043362,000776:
043363,000777:
043364,000778: 20,3621 00115 1/RTLIM DEC 0.004715 # .004715(CDUDIF) = 0 IF CDUDIF < 2.33 DEG
043365,000779: 20,3622 00243 1-E(-AT) OCT 00243 # AT = .01SEC....EITHER(1/A=4SEC, T=40MS),
043366,000780: 20,3623 37535 E(-AT) OCT 37535 # OR(1/A=8SEC, T=80MS)
End of include-file TVCDAPS.agc. Parent file is MAIN.agc