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