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