Source Code
These source-code files are part of a reconstructed copy of Comanche 67, the
Apollo Guidance Computer (AGC) Command Module (CM) software for Apollo 12.
They have been adapted from sources files for Comanche 55, and updated via disassembly of binary dumps of original core rope memory modules, part numbers 2003972-1081, 2003972-1091, 2003972-1111, 2003972-1121, 2003972-1131, and 2003972-1141. Since only binary dumps (rather than listings) of Comanche 67 are available as source material, all comments and labels are approximate. They have been taken from other AGC programs where possible, or, in some places, written from scratch to match what we believe would have been in the original listing. |
041016,000002: ## Copyright: Public domain.
041017,000003: ## Filename: TVCDAPS.agc
041018,000004: ## Purpose: A section of Comanche revision 067.
041019,000005: ## It is part of the reconstructed source code for the flight
041020,000006: ## software for the Command Module's (CM) Apollo Guidance Computer
041021,000007: ## (AGC) for Apollo 12. No original listings of this program are
041022,000008: ## available; instead, this file was created via dissassembly of
041023,000009: ## dumps of Comanche 067 core rope modules and comparison with
041024,000010: ## other AGC programs.
041025,000011: ## Assembler: yaYUL
041026,000012: ## Contact: Ron Burkey <info@sandroid.org>.
041027,000013: ## Website: www.ibiblio.org/apollo/index.html
041028,000014: ## Mod history: 2023-08-16 MAS Created from Comanche 055.
041029,000015: ## 2024-05-13 MAS Updated for Comanche 067.
041030,000016:
041031,000017: # PROGRAM NAME....TVCDAP, CONSISTING OF PITCHDAP, YAWDAP, ETC.
041032,000018: # LOG SECTION...TVCDAPS SUBROUTINE...DAPCSM
041033,000019: # MODIFIED BY SCHLUNDT 21 OCTOBER 1968
041034,000020:
041035,000021: # FUNCTIONAL DESCRIPTION....
041036,000022:
041037,000023: # SELF-PERPETUATING T5 TASKS WHICH GENERATE THE COMMAND SIGNALS
041038,000024: # FOR THE PITCH AND YAW SPS GIMBAL ACTUATORS DURING TVC (SPS) BURNS,
041039,000025: # IN RESPONSE TO BODY-AXIS RATE COMMANDS FROM CROSS-PRODUCT STEERING
041040,000026: # (S40.8). IF NO STEERING (IMPULSIVE BURNS) MAINTAINS ATTITUDE-HOLD
041041,000027: # ABOUT THE REFERENCE (INITIAL) DIRECTIONS (ZERO RATE COMMANDS).
041042,000028:
041043,000029: # THE PITCH AND YAW LOOPS ARE SEPARATE, BUT STRUCTURED IDENTICALLY.
041044,000030: # EACH ATTITUDE-RATE LOOP INCLUDES GIMBAL ANGLE RATE DERIVATION,
041045,000031: # GIMBAL/BODY AXIS TRANSFORMATION, BODY-AXIS ATTITUDE ERROR
041046,000032: # INTEGRATION WITH ERROR LIMITING, THE GENERALIZED 6TH-ORDER FILTER
041047,000033: # FOR CSM OR CSM/LM OPERATION, A FILTER OUTPUT LIMITER,
041048,000034: # CG-OFFSET TRACKER FILTER, AND THE CG-TRACKER MINOR LOOP.
041049,000035:
041050,000036: # THE DAPS ARE CYCLIC, CALLING EACH OTHER AT 1/2 THE DAP SAMPLE
041051,000037: # TIME, AS DETERMINED BY T5TVCDT. THE ACTUATOR COMMANDS ARE
041052,000038: # REGENERATED AS ANALOG VOLTAGES BY THE OPTICS ERROR COUNTERS, WHICH
041053,000039: # TRANSMIT THE SIGNAL TO THE ACTUATOR SERVOS WHEN THERE IS PROPER CDU
041054,000040: # MODING.
041055,000041:
041056,000042: # CALLING SEQUENCE.... (TYPICALLY)
041057,000043:
041058,000044: # T5 CALL OF TVCDAPON (TVCINITIALIZE) BY DOTVCON (P40)
041059,000045: # T5 CALL OF DAPINIT (TVCDAPS) BY TVCINIT4 (TVCINITIALIZE)
041060,000046: # T5 CALL OF PITCHDAP BY DAPINIT
041061,000047: # T5 CALL OF YAWDAP BY PITCHDAP
041062,000048: # T5 CALL OF PITCHDAP BY YAWDAP
041063,000049: # ETC.
041064,000050: # (AUTOMATIC SEQUENCING FROM TVCDAPON)
041065,000051:
041066,000052: # NORMAL EXIT MODE....RESUME
041067,000053:
041068,000054: # ALARM OR ABORT EXIT MODES....NONE
041069,000055:
041070,000056: # SUBROUTINES CALLED....
041071,000057:
041072,000058: # HACK FOR STROKE TEST (V68) WAVEFORM GENERATION
041073,000059: # PCOPY, YCOPY FOR COPY-CYCLES (USED ALSO BY TVC RESTART PACKAGE)
041074,000060: # DAPINIT FOR INITIAL CDUS FOR RATE MEASUREMENTS
041075,000061: # ERRORLIM, ACTLIM FOR INPUT (ATTITUDE-ERROR INTEGRATION) AND
041076,000062: # OUTPUT (ACTUATOR COMMAND) LIMITING, COMMON TO PITCH AND
041077,000063: # YAW DAPS
041078,000064: # FWDFLTR (INCLUDING OPTVARK) AND PRECOMP, TO COMPUTE FILTER
041079,000065: # OUTPUTS AND STORAGE VALUES
041080,000066: # RESUME
041081,000067:
041082,000068: # OTHER INTERFACES....
041083,000069:
041084,000070: # S40.8 CROSS-PRODUCT STEERING FOR BODY AXIS RATE COMMANDS OMEGAY,ZC
041085,000071: # S40.15 FOR THE INITIAL DAP GAINS VARK AND 1/CONACC
041086,000072: # TVCEXECUTIVE FOR DAP GAIN UPDATES AND TMC LOOP OPERATIONS
041087,000073: # TVCRESTART PACKAGE FOR TVC RESTART PROTECTION.
041088,000074:
041089,000075: # ERASABLE INITIALIZATION REQUIRED....
041090,000076:
041091,000077: # PAD-LOAD ERASABLES (SEE ERASABLE ASSIGNMENTS)
041092,000078: # CONFIGURATION BITS (14, 13) OF DAPDATR1 AS IN R03
041093,000079: # ENGINE-ON BIT (11.13) FOR RESTARTS
041094,000080: # TVCPHASE FOR RESTARTS (SEE DOTVCON, AND TVCINIT4)
041095,000081: # T5 BITS (15,14 OF FLAGWRD6) FOR RESTARTS
041096,000082: # MISCELLANEOUS VARIABLES SET UP OR COMPUTED BY TVCDAPON....TVCINIT4,
041097,000083: # INCLUDING THE ZEROING OF TEMPORARIES BY MRCLEAN
041098,000084: # CDUX,Y,Z AND SINCDUX.... COSCDUZ AS PREPARED BY QUICTRIG (WITH
041099,000085: # UPDATES EVERY 1/2 SECOND)
041100,000086: # ALSO G+N PRIMARY, TVC ENABLE, AND OPTICS ERROR COUNTER ENABLE
041101,000087: # UNLESS BENCH-TESTING.
041102,000088:
041103,000089: # OUTPUT....
041104,000090:
041105,000091: # TVCPITCH AND TVCYAW WITH COUNTER RELEASE (11.14 AND 11.13 INCREMEN-
041106,000092: # TAL COMMANDS TO OPTICS ERROR COUNTERS), FILTER NODES, BODY-
041107,000093: # AXIS ATTITUDE ERROR INTEGRATOR, TOTAL ACTUATOR COMMANDS,
041108,000094: # OFFSET-TRACKER-FILTER OUTPUTS, ETC.
041109,000095:
041110,000096: # DEBRIS....
041111,000097:
041112,000098: # MUCH, SHAREABLE WITH RCS/ENTRY, IN EBANK6 ONLY
041113,000099:
041114,000100: 17,2610 BANK 17
041115,000101: 20,2000 SETLOC DAPS2
041116,000102: 20,2000 BANK
041117,000103:
041118,000104: 20,2547 E6,1704 EBANK= BZERO
041119,000105:
041120,000106: 20,2547 COUNT* $$/DAPS
041121,000107:
041122,000108: # PITCH TVCDAP STARTS HERE....(INCORPORATES CSM/LEM DAP FILTER, MODOR DESIGN)
041123,000109:
041124,000110: 20,2547 22016 PITCHDAP LXCH BANKRUPT # T5 ENTRY, NORMAL OR VIA DAPINIT
041125,000111: 20,2550 00006 EXTEND
041126,000112: 20,2551 22012 QXCH QRUPT
041127,000113:
041128,000114: 20,2552 33534 CAF YAWT5 # SET UP T5 CALL FOR YAW AUTOPILOT (LOW-
041129,000115: 20,2553 55312 TS T5LOC # ORDER PART OF 2CADR ALREADY THERE)
041130,000116: 20,2554 31625 CAE T5TVCDT
041131,000117: 20,2555 54030 TS TIME5
041132,000118:
041133,000119: 20,2556 11574 PSTROKER CCS STROKER # (STRKFLG) CHECK FOR STROKE TEST
041134,000120: 20,2557 03572 TC HACK # TEST-START OR TEST-IN-PROGRESS
041135,000121: 20,2560 12562 TCF +2 # NO-TEST
041136,000122: 20,2561 03572 TC HACK # TEST-IN-PROGRESS
041137,000123:
041138,000124: 20,2562 30033 PCDUDOTS CAE CDUY # COMPUTE CDUYDOT (USED BY PITCH AND YAW)
041139,000125: 20,2563 57645 XCH PCDUYPST
041140,000126: 20,2564 00006 EXTEND
041141,000127: 20,2565 21645 MSU PCDUYPST
041142,000128: 20,2566 02577 TCR RLIMTEST # RATE TEST
041143,000129: 20,2567 55651 TS MCDUYDOT # (MINUS, SC.AT 1/2TVCDT REVS/SEC)
041144,000130:
041145,000131: 20,2570 30034 CAE CDUZ # COMPUTE CDUZDOT (USED BY PITCH AND YAW)
041146,000132: 20,2571 57646 XCH PCDUZPST
041147,000133: 20,2572 00006 EXTEND
041148,000134: 20,2573 21646 MSU PCDUZPST
041149,000135: 20,2574 02577 TCR RLIMTEST # RATE TEST
041150,000136: 20,2575 55652 TS MCDUZDOT # (MINUS, SC.AT 1/2TVCDT REVS/SEC)
041151,000137: 20,2576 12610 TCF PINTEGRL
041152,000138:
041153,000139: 20,2577 55611 RLIMTEST TS TTMP1 # TEST FOR EXCESSIVE CDU RATES (GREATER
041154,000140: 20,2600 00006 EXTEND # THAN 2.33 DEG IN ONE SAMPLE PERIOD)
041155,000141: 20,2601 73535 MP 1/RTLIM
041156,000142: 20,2602 00006 EXTEND
041157,000143: 20,2603 12606 BZF +3
041158,000144: 20,2604 35035 CAF ZERO
041159,000145: 20,2605 55611 TS TTMP1
041160,000146: 20,2606 31611 CAE TTMP1
041161,000147: 20,2607 00002 TC Q
041162,000148:
041163,000149: 20,2610 00006 PINTEGRL EXTEND # COMPUTE INTEGRAL OF BODY-AXIS PITCH-RATE
041164,000150: 20,2611 31576 DCA PERRB # ERROR, SC.AT B-1 REVS
041165,000151: 20,2612 53705 DXCH ERRBTMP
041166,000152:
041167,000153: 20,2613 00006 EXTEND
041168,000154: 20,2614 31530 DCA OMEGAYC
041169,000155: 20,2615 21705 DAS ERRBTMP
041170,000156:
041171,000157: 20,2616 40746 CS COSCDUZ # PREPARE BODY-AXIS PITCH RATE, OMEGAYB
041172,000158: 20,2617 00006 EXTEND
041173,000159: 20,2620 70750 MP COSCDUX
041174,000160: 20,2621 20001 DDOUBL
041175,000161: 20,2622 00006 EXTEND
041176,000162: 20,2623 71651 MP MCDUYDOT
041177,000163: 20,2624 20001 DDOUBL
041178,000164: 20,2625 53536 DXCH OMEGAYB
041179,000165:
041180,000166: 20,2626 41652 CS MCDUZDOT
041181,000167: 20,2627 00006 EXTEND
041182,000168: 20,2630 70742 MP SINCDUX
041183,000169: 20,2631 20001 DDOUBL
041184,000170: 20,2632 21536 DAS OMEGAYB # (COMPLETED OMEGAYB, SC.AT 1/2TVCDT REVS)
041185,000171:
041186,000172: 20,2633 00006 EXTEND # PICK UP -OMEGAYB (SIGN CHNG, INTEGRATE)
041187,000173: 20,2634 41536 DCS OMEGAYB
041188,000174: 20,2635 21705 DAS ERRBTMP
041189,000175:
041190,000176: 20,2636 03161 PERORLIM TCR ERRORLIM # PITCH BODY-AXIS-ERROR INPUT LIMITER
041191,000177:
041192,000178: 20,2637 00006 PFORWARD EXTEND # PREPARE THE FILTER STORAGE LOCATIONS
041193,000179: 20,2640 31542 DCA PTMP1 # FOR THE PITCH CHANNEL
041194,000180: 20,2641 53711 DXCH TMP1
041195,000181: 20,2642 00006 EXTEND
041196,000182: 20,2643 31546 DCA PTMP3
041197,000183: 20,2644 53715 DXCH TMP3
041198,000184: 20,2645 00006 EXTEND
041199,000185: 20,2646 31552 DCA PTMP5
041200,000186: 20,2647 53721 DXCH TMP5
041201,000187:
041202,000188: 20,2650 03213 TCR FWDFLTR # GO COMPUTE PRESENT OUTPUT
041203,000189: # (INCLUDES VARIABLE GAIN PACKAGE)
041204,000190:
041205,000191: 20,2651 00006 POFFSET EXTEND
041206,000192: 20,2652 31606 DCA PDELOFF
041207,000193: 20,2653 21707 DAS CMDTMP # NOW SCALED AT B+0 ASCREV
041208,000194:
041209,000195: 20,2654 03174 PACLIM TCR ACTLIM # ROUND OFF & LIMIT PITCH ACTUATOR COMMAND
041210,000196:
041211,000197: 20,2655 41623 POUT CS PCMD # INCREMENTAL PITCH COMMAND
041212,000198: 20,2656 61706 AD CMDTMP
041213,000199: 20,2657 26054 ADS TVCPITCH # UPDATE THE ERROR COUNTER (NO RESTART-
041214,000200: # PROTECT, SINCE ERROR CNTR ZEROED)
041215,000201:
041216,000202: 20,2660 35021 CAF BIT11 # BIT FOR TVCPITCH COUNT RELEASE
041217,000203: 20,2661 00006 EXTEND
041218,000204: 20,2662 05014 WOR CHAN14
041219,000205:
041220,000206: 20,2663 00006 PPRECOMP EXTEND # PREPARE THE FILTER STORAGE FOR PITCH
041221,000207: 20,2664 31544 DCA PTMP2
041222,000208: 20,2665 53713 DXCH TMP2
041223,000209: 20,2666 00006 EXTEND
041224,000210: 20,2667 31550 DCA PTMP4
041225,000211: 20,2670 53717 DXCH TMP4
041226,000212: 20,2671 00006 EXTEND
041227,000213: 20,2672 31554 DCA PTMP6
041228,000214: 20,2673 53723 DXCH TMP6
041229,000215:
041230,000216: 20,2674 03306 TCR PRECOMP # TO THE FILTER FOR PRECOMPUTATION
041231,000217:
041232,000218: 20,2675 31602 DELBARP CAE DELPBAR +1 # UPDATE PITCH OFFSET-TRACKER-FILTER
041233,000219: 20,2676 00006 EXTEND
041234,000220: 20,2677 73537 MP E(-AT)
041235,000221: 20,2700 55703 TS DELBRTMP +1
041236,000222: 20,2701 31601 CAE DELPBAR
041237,000223: 20,2702 00006 EXTEND
041238,000224: 20,2703 73537 MP E(-AT)
041239,000225: 20,2704 21703 DAS DELBRTMP
041240,000226: 20,2705 31706 CAE CMDTMP
041241,000227: 20,2706 00006 EXTEND
041242,000228: 20,2707 73536 MP 1-E(-AT)
041243,000229: 20,2710 21703 DAS DELBRTMP
041244,000230:
041245,000231: 20,2711 02713 PCOPYCYC TCR PCOPY # PITCH COPYCYCLE
041246,000232:
041247,000233: 20,2712 15347 PDAPEND TCF RESUME # PITCH DAP COMPLETED
041248,000234: # PITCH TVCDAP COPYCYCLE SUBROUTINE (CALLED VIA PITCH TVCDAP OR TVC RESTART PACKAGE)
041249,000235:
041250,000236: 20,2713 25644 PCOPY INCR TVCPHASE # RESTART-PROTECT THE COPYCYCLE. (1)
041251,000237: # NOTE POSSIBLE RE-ENTRY FROM RESTART
041252,000238: # PACKAGE, SHOULD A RESTART OCCUR
041253,000239: # DURING PITCH COPYCYCLE.
041254,000240:
041255,000241: 20,2714 00006 EXTEND
041256,000242: 20,2715 31711 DCA TMP1
041257,000243: 20,2716 53542 DXCH PTMP1
041258,000244: 20,2717 00006 EXTEND
041259,000245: 20,2720 31713 DCA TMP2
041260,000246: 20,2721 53544 DXCH PTMP2
041261,000247: 20,2722 00006 EXTEND
041262,000248: 20,2723 31715 DCA TMP3
041263,000249: 20,2724 53546 DXCH PTMP3
041264,000250: 20,2725 00006 EXTEND
041265,000251: 20,2726 31717 DCA TMP4
041266,000252: 20,2727 53550 DXCH PTMP4
041267,000253: 20,2730 00006 EXTEND
041268,000254: 20,2731 31721 DCA TMP5
041269,000255: 20,2732 53552 DXCH PTMP5
041270,000256: 20,2733 00006 EXTEND
041271,000257: 20,2734 31723 DCA TMP6
041272,000258: 20,2735 53554 DXCH PTMP6
041273,000259:
041274,000260: 20,2736 00006 PMISC EXTEND # MISC....PITCH-RATE-ERROR INTEGRATOR
041275,000261: 20,2737 31705 DCA ERRBTMP
041276,000262: 20,2740 55477 TS AK1 # FOR PITCH NEEDLES, SC.AT B-1 REVS
041277,000263: 20,2741 53576 DXCH PERRB
041278,000264:
041279,000265: 20,2742 31706 CAE CMDTMP # PITCH ACTUATOR COMMAND
041280,000266: 20,2743 55623 TS PCMD
041281,000267:
041282,000268: 20,2744 00006 EXTEND # PITCH OFFSET-TRACKER-FILTER
041283,000269: 20,2745 31703 DCA DELBRTMP
041284,000270: 20,2746 53602 DXCH DELPBAR
041285,000271:
041286,000272: 20,2747 25644 INCR TVCPHASE # PITCH COPYCYCLE COMPLETED (2)
041287,000273:
041288,000274: 20,2750 00002 TC Q
041289,000275:
041290,000276: # YAW TVCDAP STARTS HERE....(INCORPORATES CSM/LEM DAP FILTER, MODOR DESIGN)
041291,000277:
041292,000278: 20,2751 22016 YAWDAP LXCH BANKRUPT # T5 ENTRY, NORMAL
041293,000279: 20,2752 00006 EXTEND
041294,000280: 20,2753 22012 QXCH QRUPT
041295,000281:
041296,000282: 20,2754 33532 CAF PITCHT5 # SET UP T5 CALL FOR PITCH AUTOPILOT (LOW-
041297,000283: 20,2755 55312 TS T5LOC # ORDER PART OF 2CADR ALREADY THERE)
041298,000284: 20,2756 31625 CAE T5TVCDT
041299,000285: 20,2757 54030 TS TIME5
041300,000286:
041301,000287: 20,2760 11574 YSTROKER CCS STROKER # (STRKFLG) CHECK FOR STROKE TEST
041302,000288: 20,2761 03572 TC HACK # TEST-START OR TEST-IN-PROGRESS
041303,000289: 20,2762 12764 TCF +2 # NO-TEST
041304,000290: 20,2763 03572 TC HACK # TEST-IN-PROGRESS
041305,000291:
041306,000292: 20,2764 30033 YCDUDOTS CAE CDUY # COMPUTE CDUYDOT
041307,000293: 20,2765 57647 XCH YCDUYPST
041308,000294: 20,2766 00006 EXTEND
041309,000295: 20,2767 21647 MSU YCDUYPST
041310,000296: 20,2770 02577 TCR RLIMTEST # RATE TEST
041311,000297: 20,2771 55651 TS MCDUYDOT # (MINUS, SCALED 1/2TVCDT REV/SEC)
041312,000298:
041313,000299: 20,2772 30034 CAE CDUZ # COMPUTE CDUZDOT
041314,000300: 20,2773 57650 XCH YCDUZPST
041315,000301: 20,2774 00006 EXTEND
041316,000302: 20,2775 21650 MSU YCDUZPST
041317,000303: 20,2776 02577 TCR RLIMTEST # RATE TEST
041318,000304: 20,2777 55652 TS MCDUZDOT # (MINUS, SCALED 1/2TVCDT REV/SEC)
041319,000305:
041320,000306: 20,3000 00006 YINTEGRL EXTEND # COMPUTE INTEGRAL OF BODY-AXIS YAW-RATE
041321,000307: 20,3001 31600 DCA YERRB # ERROR, SC.AT B-1 REVS
041322,000308: 20,3002 53705 DXCH ERRBTMP
041323,000309:
041324,000310: 20,3003 00006 EXTEND
041325,000311: 20,3004 31532 DCA OMEGAZC
041326,000312: 20,3005 21705 DAS ERRBTMP
041327,000313:
041328,000314: 20,3006 30746 CAE COSCDUZ # PREPARE BODY-AXIS YAW-RATE, OMEGAZB
041329,000315: 20,3007 00006 EXTEND
041330,000316: 20,3010 70742 MP SINCDUX
041331,000317: 20,3011 20001 DDOUBL
041332,000318: 20,3012 00006 EXTEND
041333,000319: 20,3013 71651 MP MCDUYDOT
041334,000320: 20,3014 20001 DDOUBL
041335,000321: 20,3015 53540 DXCH OMEGAZB
041336,000322:
041337,000323: 20,3016 41652 CS MCDUZDOT
041338,000324: 20,3017 00006 EXTEND
041339,000325: 20,3020 70750 MP COSCDUX
041340,000326: 20,3021 20001 DDOUBL
041341,000327: 20,3022 21540 DAS OMEGAZB # (COMPLETED OMEGAZB, SC.AT 1/2TVCDT REVS)
041342,000328:
041343,000329: 20,3023 00006 EXTEND # PICK UP -OMEGAZB (SIGN CHNG, INTEGRATE)
041344,000330: 20,3024 41540 DCS OMEGAZB
041345,000331: 20,3025 21705 DAS ERRBTMP
041346,000332:
041347,000333: 20,3026 03161 YERORLIM TCR ERRORLIM # YAW BODY-AXIS-ERROR INPUT LIMITER
041348,000334:
041349,000335: 20,3027 00006 YFORWARD EXTEND # PREPARE THE FILTER STORAGE LOCATIONS
041350,000336: 20,3030 31556 DCA YTMP1 # FOR THE YAW CHANNEL
041351,000337: 20,3031 53711 DXCH TMP1
041352,000338: 20,3032 00006 EXTEND
041353,000339: 20,3033 31562 DCA YTMP3
041354,000340: 20,3034 53715 DXCH TMP3
041355,000341: 20,3035 00006 EXTEND
041356,000342: 20,3036 31566 DCA YTMP5
041357,000343: 20,3037 53721 DXCH TMP5
041358,000344:
041359,000345: 20,3040 03213 TCR FWDFLTR # GO COMPUTE PRESENT OUTPUT
041360,000346: # (INCLUDES VARIABLE GAIN PACKAGE)
041361,000347:
041362,000348: 20,3041 00006 YOFFSET EXTEND
041363,000349: 20,3042 31610 DCA YDELOFF
041364,000350: 20,3043 21707 DAS CMDTMP # NOW SCALED AT B+0 ASCREV
041365,000351:
041366,000352: 20,3044 03174 YACLIM TCR ACTLIM # ROUND OFF & LIMIT YAW ACTUATOR COMMAND
041367,000353:
041368,000354: 20,3045 41624 YOUT CS YCMD # INCREMENTAL YAW COMMAND
041369,000355: 20,3046 61706 AD CMDTMP
041370,000356: 20,3047 26053 ADS TVCYAW # UPDATE THE ERROR COUNTER (NO RESTART-
041371,000357: # PROTECT, SINCE ERROR CNTR ZEROED)
041372,000358:
041373,000359: 20,3050 35020 CAF BIT12 # BIT FOR TVCYAW COUNT RELEASE
041374,000360: 20,3051 00006 EXTEND
041375,000361: 20,3052 05014 WOR CHAN14
041376,000362:
041377,000363: 20,3053 00006 YPRECOMP EXTEND # PREPARE THE FILTER STORAGE FOR YAW
041378,000364: 20,3054 31560 DCA YTMP2
041379,000365: 20,3055 53713 DXCH TMP2
041380,000366: 20,3056 00006 EXTEND
041381,000367: 20,3057 31564 DCA YTMP4
041382,000368: 20,3060 53717 DXCH TMP4
041383,000369: 20,3061 00006 EXTEND
041384,000370: 20,3062 31570 DCA YTMP6
041385,000371: 20,3063 53723 DXCH TMP6
041386,000372:
041387,000373: 20,3064 03306 TCR PRECOMP # TO THE FILTER FOR PRECOMPUTATION
041388,000374:
041389,000375: 20,3065 31604 DELBARY CAE DELYBAR +1 # UPDATE YAW OFFSET-TRACKER-FILTER
041390,000376: 20,3066 00006 EXTEND
041391,000377: 20,3067 73537 MP E(-AT)
041392,000378: 20,3070 55703 TS DELBRTMP +1
041393,000379: 20,3071 31603 CAE DELYBAR
041394,000380: 20,3072 00006 EXTEND
041395,000381: 20,3073 73537 MP E(-AT)
041396,000382: 20,3074 21703 DAS DELBRTMP
041397,000383: 20,3075 31706 CAE CMDTMP
041398,000384: 20,3076 00006 EXTEND
041399,000385: 20,3077 73536 MP 1-E(-AT)
041400,000386: 20,3100 21703 DAS DELBRTMP
041401,000387:
041402,000388: 20,3101 03103 YCOPYCYC TCR YCOPY # YAW COPYCYCLE
041403,000389:
041404,000390: 20,3102 15347 YDAPEND TCF RESUME # YAW DAP COMPLETED
041405,000391:
041406,000392: # YAW TVCDAP COPYCYCLE SUBROUTINE (CALLED VIA YAW TVCDAP OR TVC RESTART PACKAGE)
041407,000393:
041408,000394: 20,3103 25644 YCOPY INCR TVCPHASE # RESTART-PROTECT THE COPYCYCLE. (3)
041409,000395: # NOTE POSSIBLE RE-ENTRY FROM RESTART
041410,000396: # PACKAGE, SHOULD A RESTART OCCUR
041411,000397: # DURING YAW COPYCYCLE.
041412,000398:
041413,000399: 20,3104 00006 EXTEND
041414,000400: 20,3105 31711 DCA TMP1
041415,000401: 20,3106 53556 DXCH YTMP1
041416,000402: 20,3107 00006 EXTEND
041417,000403: 20,3110 31713 DCA TMP2
041418,000404: 20,3111 53560 DXCH YTMP2
041419,000405: 20,3112 00006 EXTEND
041420,000406: 20,3113 31715 DCA TMP3
041421,000407: 20,3114 53562 DXCH YTMP3
041422,000408: 20,3115 00006 EXTEND
041423,000409: 20,3116 31717 DCA TMP4
041424,000410: 20,3117 53564 DXCH YTMP4
041425,000411: 20,3120 00006 EXTEND
041426,000412: 20,3121 31721 DCA TMP5
041427,000413: 20,3122 53566 DXCH YTMP5
041428,000414: 20,3123 00006 EXTEND
041429,000415: 20,3124 31723 DCA TMP6
041430,000416: 20,3125 53570 DXCH YTMP6
041431,000417:
041432,000418: 20,3126 00006 YMISC EXTEND # MISC....YAW-RATE-ERROR INTEGRATOR
041433,000419: 20,3127 31705 DCA ERRBTMP
041434,000420: 20,3130 55500 TS AK2 # FOR YAW NEEDLES, SC.AT B-1 REVS
041435,000421: 20,3131 53600 DXCH YERRB
041436,000422:
041437,000423: 20,3132 31706 CAE CMDTMP
041438,000424: 20,3133 55624 TS YCMD
041439,000425:
041440,000426: 20,3134 00006 EXTEND
041441,000427: 20,3135 31703 DCA DELBRTMP
041442,000428: 20,3136 53604 DXCH DELYBAR
041443,000429:
041444,000430: 20,3137 35035 CAF ZERO # YAW COPYCYCLE COMPLETED
041445,000431: 20,3140 55644 TS TVCPHASE # RESET TVCPHASE
041446,000432:
041447,000433: 20,3141 00002 TC Q
041448,000434:
041449,000435: # SUBROUTINES COMMON TO BOTH PITCH AND YAW DAPS....
041450,000436:
041451,000437: # INITIALIZATION PACKAGE FOR CDURATES....
041452,000438:
041453,000439: 20,3142 22016 DAPINIT LXCH BANKRUPT # T5 RUPT ENTRY (CALLED BY TVCINT4)
041454,000440:
041455,000441: 20,3143 37716 CAF NEGONE # SET UP
041456,000442: 20,3144 61625 AD T5TVCDT # T5 CALL FOR PITCHDAP IN TVCDT SECS
041457,000443: 20,3145 65015 AD NEGMAX # (T5TVCDT = POSMAX - TVCDT/2 +1)
041458,000444: 20,3146 61625 AD T5TVCDT
041459,000445: 20,3147 54030 TS TIME5
041460,000446: 20,3150 33532 CAF PITCHT5 # (BBCON ALREADY THERE)
041461,000447: 20,3151 55312 TS T5LOC
041462,000448:
041463,000449: 20,3152 30033 CAE CDUY # READ AND STORE CDUS FOR DIFFERENTIATOR
041464,000450: 20,3153 55645 TS PCDUYPST # PAST-VALUES
041465,000451: 20,3154 55647 TS YCDUYPST
041466,000452: 20,3155 30034 CAE CDUZ
041467,000453: 20,3156 55646 TS PCDUZPST
041468,000454: 20,3157 55650 TS YCDUZPST
041469,000455:
041470,000456: 20,3160 15351 TCF NOQRSM
041471,000457:
041472,000458: # BODY-AXIS-ERROR INPUT LIMITER PACKAGE....
041473,000459:
041474,000460: 20,3161 31704 ERRORLIM CAE ERRBTMP # CHECK FOR INPUT-ERROR LIMIT
041475,000461: 20,3162 00006 EXTEND # CHECKS UPPER WORD ONLY
041476,000462: 20,3163 75031 MP 1/ERRLIM
041477,000463: 20,3164 00006 EXTEND
041478,000464: 20,3165 13173 BZF +6
041479,000465: 20,3166 11704 CCS ERRBTMP
041480,000466: 20,3167 35017 CAF ERRLIM
041481,000467: 20,3170 13172 TCF +2
041482,000468: 20,3171 45017 CS ERRLIM
041483,000469: 20,3172 55704 TS ERRBTMP # LIMIT WRITES OVER UPPER WORD ONLY
041484,000470:
041485,000471: 20,3173 00002 TC Q
041486,000472:
041487,000473: # ACTUATOR-COMMAND LIMITER PACKAGE....
041488,000474:
041489,000475: 20,3174 31707 ACTLIM CAE CMDTMP +1 # ROUND UP FOR OUTPUT
041490,000476: 20,3175 60000 DOUBLE
041491,000477: 20,3176 54001 TS L
041492,000478: 20,3177 35035 CAF ZERO
041493,000479: 20,3200 61706 AD CMDTMP
041494,000480:
041495,000481: 20,3201 00006 EXTEND # CHECK FOR ACTUATOR COMMAND LIMIT
041496,000482: 20,3202 73531 MP 1/ACTSAT
041497,000483: 20,3203 00006 EXTEND
041498,000484: 20,3204 13212 BZF +6
041499,000485: 20,3205 11706 CCS CMDTMP # APPLY LIMITS
041500,000486: 20,3206 33530 CAF ACTSAT
041501,000487: 20,3207 13211 TCF +2
041502,000488: 20,3210 43530 CS ACTSAT
041503,000489: 20,3211 55706 TS CMDTMP # LIMITS WRITE OVER CMDTMP
041504,000490:
041505,000491: 20,3212 00002 TC Q
041506,000492:
041507,000493: # FILTER COMPUTATIONS FOR PRESENT OUTPUT................
041508,000494:
041509,000495: 20,3213 35035 FWDFLTR CAF ZERO
041510,000496: 20,3214 55615 TS DAP1
041511,000497: 20,3215 55617 TS DAP2
041512,000498: 20,3216 55621 TS DAP3
041513,000499: 20,3217 55706 TS CMDTMP
041514,000500:
041515,000501: 20,3220 55702 TS DELBRTMP
041516,000502:
041517,000503: 20,3221 31705 1DAPCAS CAE ERRBTMP +1 # FIRST DAP CASCADE
041518,000504: 20,3222 00006 EXTEND
041519,000505: 20,3223 71725 MP N10 # N10
041520,000506: 20,3224 55616 TS DAP1 +1
041521,000507: 20,3225 31704 CA ERRBTMP
041522,000508: 20,3226 00006 EXTEND
041523,000509: 20,3227 71725 MP N10 # N10
041524,000510: 20,3230 21616 DAS DAP1
041525,000511: 20,3231 53711 DXCH TMP1
041526,000512: 20,3232 21616 DAS DAP1
041527,000513:
041528,000514: 20,3233 31616 2DAPCAS CAE DAP1 +1 # SECOND DAP CASCADE
041529,000515: 20,3234 00006 EXTEND
041530,000516: 20,3235 71732 MP N10 +5 # N20
041531,000517: 20,3236 55620 TS DAP2 +1
041532,000518: 20,3237 31615 CA DAP1
041533,000519: 20,3240 00006 EXTEND
041534,000520: 20,3241 71732 MP N10 +5 # N20
041535,000521: 20,3242 21620 DAS DAP2
041536,000522: 20,3243 53715 DXCH TMP3
041537,000523: 20,3244 21620 DAS DAP2
041538,000524:
041539,000525: 20,3245 31466 CAE DAPDATR1 # TEST FOR LEM ON OR OFF
041540,000526: 20,3246 75016 MASK BIT14
041541,000527: 20,3247 10000 CCS A
041542,000528: 20,3250 13257 TCF 3DAPCAS # LEM ON
041543,000529: 20,3251 00006 EXTEND # LEM OFF
041544,000530: 20,3252 31620 DCA DAP2
041545,000531: 20,3253 20001 DDOUBL
041546,000532: 20,3254 20001 DDOUBL
041547,000533: 20,3255 53622 DXCH DAP3
041548,000534: 20,3256 13271 TCF OPTVARK
041549,000535:
041550,000536: 20,3257 31620 3DAPCAS CAE DAP2 +1 # THIRD DAP CASCADE
041551,000537: 20,3260 00006 EXTEND
041552,000538: 20,3261 71737 MP N10 +10D # N30
041553,000539: 20,3262 55622 TS DAP3 +1
041554,000540: 20,3263 31617 CA DAP2
041555,000541: 20,3264 00006 EXTEND
041556,000542: 20,3265 71737 MP N10 +10D # N30
041557,000543: 20,3266 21622 DAS DAP3
041558,000544: 20,3267 53721 DXCH TMP5
041559,000545: 20,3270 21622 DAS DAP3
041560,000546:
041561,000547: 20,3271 41622 OPTVARK CS DAP3 +1 # VARIABLE GAIN PACKAGE
041562,000548: 20,3272 00006 EXTEND # (ALSO, SIGN CHANGE IN FORWARD LOOP)
041563,000549: 20,3273 71641 MP VARK # SCALED (1.08 B+2) CSM/LM
041564,000550: 20,3274 55707 TS CMDTMP +1 # ( " B+4) CSM
041565,000551: 20,3275 55707 TS CMDTMP +1
041566,000552: 20,3276 41621 CS DAP3
041567,000553: 20,3277 00006 EXTEND
041568,000554: 20,3300 71641 MP VARK
041569,000555: 20,3301 21707 DAS CMDTMP
041570,000556:
041571,000557: 20,3302 53707 DXCH CMDTMP # FIX UP SCALING - SCALED B+3 ASCREVS
041572,000558: 20,3303 20001 DDOUBL
041573,000559: 20,3304 53707 DXCH CMDTMP # - SCALED B+1 ASCREVS
041574,000560: # NOTE - THERE IS AN INHERANT GAIN OF
041575,000561: # (B+1 ASCREVS) ON THE OUTPUT DACS.
041576,000562:
041577,000563: 20,3305 00002 TC Q
041578,000564:
041579,000565: # FILTER PRECOMPUTATIONS FOR NEXT PASS...................
041580,000566:
041581,000567: 20,3306 35035 PRECOMP CAF ZERO # ***** FIRST CASCADE FILTER **********
041582,000568: 20,3307 55611 TS TTMP1
041583,000569: 20,3310 55613 TS TTMP2
041584,000570:
041585,000571: 20,3311 31705 CA ERRBTMP +1 # MULTIPLY INPUT BY
041586,000572: 20,3312 00006 EXTEND
041587,000573: 20,3313 71726 MP N10 +1 # N11/2
041588,000574: 20,3314 55612 TS TTMP1 +1
041589,000575: 20,3315 31704 CA ERRBTMP
041590,000576: 20,3316 00006 EXTEND
041591,000577: 20,3317 71726 MP N10 +1 # N11/2
041592,000578: 20,3320 21612 DAS TTMP1
041593,000579:
041594,000580: 20,3321 41616 CS DAP1 +1 # MULTIPLY OUTPUT BY
041595,000581: 20,3322 00006 EXTEND
041596,000582: 20,3323 71730 MP N10 +3 # D11/2
041597,000583: 20,3324 55614 TS TTMP2 +1
041598,000584: 20,3325 41615 CS DAP1
041599,000585:
041600,000586: 20,3326 00006 EXTEND
041601,000587: 20,3327 71730 MP N10 +3 # D11/2
041602,000588: 20,3330 21614 DAS TTMP2
041603,000589:
041604,000590: 20,3331 53614 DXCH TTMP2
041605,000591: 20,3332 21612 DAS TTMP1
041606,000592: 20,3333 53612 DXCH TTMP1
041607,000593: 20,3334 20001 DDOUBL
041608,000594: 20,3335 21713 DAS TMP2
041609,000595:
041610,000596: 20,3336 53713 DXCH TMP2
041611,000597: 20,3337 53711 DXCH TMP1
041612,000598:
041613,000599: 20,3340 35035 CAF ZERO
041614,000600: 20,3341 55611 TS TTMP1
041615,000601: 20,3342 55712 TS TMP2
041616,000602:
041617,000603: 20,3343 31705 CA ERRBTMP +1 # MULTIPLY INPUT BY
041618,000604: 20,3344 00006 EXTEND # SECOND-ORDER NUMERATOR COEFF.
041619,000605: 20,3345 71727 MP N10 +2 # N12
041620,000606: 20,3346 55612 TS TTMP1 +1
041621,000607: 20,3347 31704 CA ERRBTMP
041622,000608: 20,3350 00006 EXTEND
041623,000609: 20,3351 71727 MP N10 +2 # N12
041624,000610: 20,3352 21612 DAS TTMP1
041625,000611:
041626,000612: 20,3353 41616 CS DAP1 +1 # MULTIPLY OUTPUT BY
041627,000613: 20,3354 00006 EXTEND
041628,000614: 20,3355 71731 MP N10 +4 # D12
041629,000615: 20,3356 55713 TS TMP2 +1
041630,000616: 20,3357 41615 CS DAP1
041631,000617: 20,3360 00006 EXTEND
041632,000618: 20,3361 71731 MP N10 +4 # D12
041633,000619: 20,3362 21713 DAS TMP2
041634,000620:
041635,000621: 20,3363 53612 DXCH TTMP1
041636,000622: 20,3364 21713 DAS TMP2
041637,000623:
041638,000624: 20,3365 35035 2CASFLTR CAF ZERO # ***** SECOND CASCADE FILTER *****
041639,000625: 20,3366 55611 TS TTMP1
041640,000626: 20,3367 55613 TS TTMP2
041641,000627:
041642,000628: 20,3370 31616 CA DAP1 +1 # MULTIPLY INPUT BY
041643,000629: 20,3371 00006 EXTEND
041644,000630: 20,3372 71733 MP N10 +6 # N21/2
041645,000631: 20,3373 55612 TS TTMP1 +1
041646,000632: 20,3374 31615 CA DAP1
041647,000633: 20,3375 00006 EXTEND
041648,000634: 20,3376 71733 MP N10 +6 # N21/2
041649,000635: 20,3377 21612 DAS TTMP1
041650,000636:
041651,000637: 20,3400 41620 CS DAP2 +1 # MULTIPLY OUTPUT BY
041652,000638: 20,3401 00006 EXTEND
041653,000639: 20,3402 71735 MP N10 +8D # D21/2
041654,000640: 20,3403 55614 TS TTMP2 +1
041655,000641: 20,3404 41617 CS DAP2
041656,000642: 20,3405 00006 EXTEND
041657,000643: 20,3406 71735 MP N10 +8D # D21/2
041658,000644: 20,3407 21614 DAS TTMP2
041659,000645:
041660,000646: 20,3410 53614 DXCH TTMP2
041661,000647: 20,3411 21612 DAS TTMP1
041662,000648: 20,3412 53612 DXCH TTMP1
041663,000649: 20,3413 20001 DDOUBL
041664,000650: 20,3414 21717 DAS TMP4
041665,000651:
041666,000652: 20,3415 53717 DXCH TMP4
041667,000653: 20,3416 53715 DXCH TMP3
041668,000654:
041669,000655: 20,3417 35035 CAF ZERO
041670,000656: 20,3420 55611 TS TTMP1
041671,000657: 20,3421 55716 TS TMP4
041672,000658:
041673,000659: 20,3422 31616 CA DAP1 +1 # MULTIPLY INPUT BY
041674,000660: 20,3423 00006 EXTEND
041675,000661: 20,3424 71734 MP N10 +7 # N22
041676,000662: 20,3425 55612 TS TTMP1 +1
041677,000663: 20,3426 31615 CA DAP1
041678,000664: 20,3427 00006 EXTEND
041679,000665: 20,3430 71734 MP N10 +7 # N22
041680,000666: 20,3431 21612 DAS TTMP1
041681,000667:
041682,000668: 20,3432 41620 CS DAP2 +1 # MULTIPLY OUTPUT BY
041683,000669: 20,3433 00006 EXTEND
041684,000670: 20,3434 71736 MP N10 +9D # D22
041685,000671: 20,3435 55717 TS TMP4 +1
041686,000672: 20,3436 41617 CS DAP2
041687,000673: 20,3437 00006 EXTEND
041688,000674: 20,3440 71736 MP N10 +9D # D22
041689,000675: 20,3441 21717 DAS TMP4
041690,000676:
041691,000677: 20,3442 53612 DXCH TTMP1
041692,000678: 20,3443 21717 DAS TMP4
041693,000679:
041694,000680: 20,3444 31466 CAE DAPDATR1 # TEST FOR LEM ON OR OFF
041695,000681: 20,3445 75017 MASK BIT13
041696,000682: 20,3446 10000 CCS A
041697,000683: 20,3447 00002 TC Q # EXIT IF LEM OFF
041698,000684:
041699,000685: 20,3450 35035 3CASFLTR CAF ZERO # ***** THIRD CASCADE FILTER *****
041700,000686: 20,3451 55611 TS TTMP1
041701,000687: 20,3452 55613 TS TTMP2
041702,000688:
041703,000689: 20,3453 31620 CA DAP2 +1 # MULTIPLY INPUT BY (1/2)
041704,000690: 20,3454 00006 EXTEND
041705,000691: 20,3455 71740 MP N10 +11D # N31/2
041706,000692: 20,3456 55612 TS TTMP1 +1
041707,000693: 20,3457 31617 CA DAP2
041708,000694: 20,3460 00006 EXTEND
041709,000695: 20,3461 71740 MP N10 +11D # N31/2
041710,000696: 20,3462 21612 DAS TTMP1
041711,000697:
041712,000698: 20,3463 41622 CS DAP3 +1
041713,000699: 20,3464 00006 EXTEND
041714,000700: 20,3465 71742 MP N10 +13D # D31/2
041715,000701: 20,3466 55614 TS TTMP2 +1
041716,000702: 20,3467 41621 CS DAP3
041717,000703: 20,3470 00006 EXTEND
041718,000704: 20,3471 71742 MP N10 +13D # D31/2
041719,000705: 20,3472 21614 DAS TTMP2
041720,000706:
041721,000707: 20,3473 53614 DXCH TTMP2
041722,000708: 20,3474 21612 DAS TTMP1
041723,000709: 20,3475 53612 DXCH TTMP1
041724,000710: 20,3476 20001 DDOUBL
041725,000711: 20,3477 21723 DAS TMP6
041726,000712:
041727,000713: 20,3500 53723 DXCH TMP6
041728,000714: 20,3501 53721 DXCH TMP5
041729,000715:
041730,000716: 20,3502 35035 CAF ZERO
041731,000717: 20,3503 55611 TS TTMP1
041732,000718: 20,3504 55722 TS TMP6
041733,000719:
041734,000720: 20,3505 31620 CA DAP2 +1 # MULTIPLY INPUT BY
041735,000721: 20,3506 00006 EXTEND
041736,000722: 20,3507 71741 MP N10 +12D # N32
041737,000723: 20,3510 55612 TS TTMP1 +1
041738,000724: 20,3511 31617 CA DAP2
041739,000725: 20,3512 00006 EXTEND
041740,000726: 20,3513 71741 MP N10 +12D # N32
041741,000727: 20,3514 21612 DAS TTMP1
041742,000728:
041743,000729: 20,3515 41622 CS DAP3 +1
041744,000730: 20,3516 00006 EXTEND
041745,000731: 20,3517 71743 MP N10 +14D # D32
041746,000732: 20,3520 55723 TS TMP6 +1
041747,000733: 20,3521 41621 CS DAP3
041748,000734: 20,3522 00006 EXTEND
041749,000735: 20,3523 71743 MP N10 +14D # D32
041750,000736: 20,3524 21723 DAS TMP6
041751,000737:
041752,000738: 20,3525 53612 DXCH TTMP1
041753,000739: 20,3526 21723 DAS TMP6
041754,000740:
041755,000741: 20,3527 00002 TC Q
041756,000742:
041757,000743: # CONSTANTS FOR AUTOPILOTS
041758,000744:
041759,000745: # NOTE....1 ASCREV (ACTUATOR CMD SCALING) = 85.41 ARCSEC/BIT OR 1.07975111 REVS (85.41X16384/3600/360)
041760,000746: # 1 SPASCREV (SPECIAL ACTUATOR CMD SCALING) = 1.04620942 REVS
041761,000747:
041762,000748: 20,3530 00375 ACTSAT DEC 253 B-14 # ACTUATOR LIMIT (6 DEG), SC.AT 1ASCREV
041763,000749: 20,3531 00101 1/ACTSAT DEC .0039525692 # RECIPROCAL (1/253)
041764,000750:
041765,000751: 20,3532 5017 ERRLIM EQUALS BIT13 # FILTER INPUT LIMIT....B-3 REVS (45DEG),
041766,000752: 20,3532 5031 1/ERRLIM EQUALS BIT3 # SC.AT B-1 REV, AND ITS RECIPROCAL
041767,000753:
041768,000754: 20,3532 02547 PITCHT5 GENADR PITCHDAP # UPPER WORDS OF T5 2CADRS, LOWER WORDS
041769,000755: 20,3533 03142 DAPT5 GENADR DAPINIT # (BBCON) ALREADY THERE. ORDER IS
041770,000756: 20,3534 02751 YAWT5 GENADR YAWDAP # REQUIRED.
041771,000757:
041772,000758: 20,3535 00115 1/RTLIM DEC 0.004715 # .004715(CDUDIF) = 0 IF CDUDIF < 2.33 DEG
041773,000759: 20,3536 00243 1-E(-AT) OCT 00243 # AT = .01SEC....EITHER(1/A=4SEC, T=40MS),
041774,000760: 20,3537 37535 E(-AT) OCT 37535 # OR(1/A=8SEC, T=80MS)
041775,000761:
End of include-file TVCDAPS.agc. Parent file is MAIN.agc