Source Code
|
These source-code files are part of a reconstructed copy of Comanche 051, the
original release of the Apollo 11 Command Module (CM) Apollo Guidance Computer
(AGC) software.
The reconstruction began with source code of Comanche 055 previously transcribed from a digitized copy of that program. The code was then updated by undoing changes related to the R-2 lunar potential model, using hints from program comments and change-indicating asterisks in the Comanche 055 listing as a guide. The reconstruction was verified by matching memory-bank checksums to those listed in drawing 2021153D. Note that page numbers in the reconstructed code match those on the Comanche 055 printout, although the added code would likely have changed page numbers for a real Comanche 051 listing. Comments from the original source code are prefixed with a single '#' symbol, whereas comments added later are prefixed by "##" or "###". Report any errors noted by creating an issue report at the Virtual AGC project's GitHub repository. |
041956,000002: ## Copyright: Public domain.
041957,000003: ## Filename: TVCDAPS.agc
041958,000004: ## Purpose: A section of Comanche revision 051.
041959,000005: ## It is part of the reconstructed source code for the
041960,000006: ## original release of the flight software for the Command
041961,000007: ## Module's (CM) Apollo Guidance Computer (AGC) for Apollo 11.
041962,000008: ## The code has been recreated from a copy of Comanche 055. It
041963,000009: ## has been adapted such that the resulting bugger words
041964,000010: ## exactly match those specified for Comanche 51 in NASA drawing
041965,000011: ## 2021153D, which gives relatively high confidence that the
041966,000012: ## reconstruction is correct.
041967,000013: ## Reference: pp. 961-978
041968,000014: ## Assembler: yaYUL
041969,000015: ## Contact: Ron Burkey <info@sandroid.org>.
041970,000016: ## Website: www.ibiblio.org/apollo/index.html
041971,000017: ## Mod history: 2019-07-30 MAS Created from Comanche 55.
041972,000018:
|
Page 961 |
041974,000020: # PROGRAM NAME....TVCDAP, CONSISTING OF PITCHDAP, YAWDAP, ETC.
041975,000021: # LOG SECTION...TVCDAPS SUBROUTINE...DAPCSM
041976,000022: # MODIFIED BY SCHLUNDT 21 OCTOBER 1968
041977,000023:
041978,000024: # FUNCTIONAL DESCRIPTION....
041979,000025:
041980,000026: # SELF-PERPETUATING T5 TASKS WHICH GENERATE THE COMMAND SIGNALS
041981,000027: # FOR THE PITCH AND YAW SPS GIMBAL ACTUATORS DURING TVC (SPS) BURNS,
041982,000028: # IN RESPONSE TO BODY-AXIS RATE COMMANDS FROM CROSS-PRODUCT STEERING
041983,000029: # (S40.8). IF NO STEERING (IMPULSIVE BURNS) MAINTAINS ATTITUDE-HOLD
041984,000030: # ABOUT THE REFERENCE (INITIAL) DIRECTIONS (ZERO RATE COMMANDS).
041985,000031:
041986,000032: # THE PITCH AND YAW LOOPS ARE SEPARATE, BUT STRUCTURED IDENTICALLY.
041987,000033: # EACH ATTITUDE-RATE LOOP INCLUDES GIMBAL ANGLE RATE DERIVATION,
041988,000034: # GIMBAL/BODY AXIS TRANSFORMATION, BODY-AXIS ATTITUDE ERROR
041989,000035: # INTEGRATION WITH ERROR LIMITING, THE GENERALIZED 6TH-ORDER FILTER
041990,000036: # FOR CSM OR CSM/LM OPERATION, A FILTER OUTPUT LIMITER,
041991,000037: # CG-OFFSET TRACKER FILTER, AND THE CG-TRACKER MINOR LOOP.
041992,000038:
041993,000039: # THE DAPS ARE CYCLIC, CALLING EACH OTHER AT 1/2 THE DAP SAMPLE
041994,000040: # TIME, AS DETERMINED BY T5TVCDT. THE ACTUATOR COMMANDS ARE
041995,000041: # REGENERATED AS ANALOG VOLTAGES BY THE OPTICS ERROR COUNTERS, WHICH
041996,000042: # TRANSMIT THE SIGNAL TO THE ACTUATOR SERVOS WHEN THERE IS PROPER CDU
041997,000043: # MODING.
041998,000044:
041999,000045: # CALLING SEQUENCE.... (TYPICALLY)
042000,000046:
042001,000047: # T5 CALL OF TVCDAPON (TVCINITIALIZE) BY DOTVCON (P40)
042002,000048: # T5 CALL OF DAPINIT (TVCDAPS) BY TVCINIT4 (TVCINITIALIZE)
042003,000049: # T5 CALL OF PITCHDAP BY DAPINIT
042004,000050: # T5 CALL OF YAWDAP BY PITCHDAP
042005,000051: # T5 CALL OF PITCHDAP BY YAWDAP
042006,000052: # ETC.
042007,000053: # (AUTOMATIC SEQUENCING FROM TVCDAPON)
042008,000054:
042009,000055: # NORMAL EXIT MODE....RESUME
042010,000056:
042011,000057: # ALARM OR ABORT EXIT MODES....NONE
042012,000058:
042013,000059: # SUBROUTINES CALLED....
042014,000060:
042015,000061: # HACK FOR STROKE TEST (V68) WAVEFORM GENERATION
042016,000062: # PCOPY, YCOPY FOR COPY-CYCLES (USED ALSO BY TVC RESTART PACKAGE)
042017,000063: # DAPINIT FOR INITIAL CDUS FOR RATE MEASUREMENTS
042018,000064: # ERRORLIM, ACTLIM FOR INPUT (ATTITUDE-ERROR INTEGRATION) AND
042019,000065: # OUTPUT (ACTUATOR COMMAND) LIMITING, COMMON TO PITCH AND
042020,000066: # YAW DAPS
042021,000067: # FWDFLTR (INCLUDING OPTVARK) AND PRECOMP, TO COMPUTE FILTER
042022,000068: # OUTPUTS AND STORAGE VALUES
042023,000069: # RESUME
042024,000070:
|
Page 962 |
042026,000072: # OTHER INTERFACES....
042027,000073:
042028,000074: # S40.8 CROSS-PRODUCT STEERING FOR BODY AXIS RATE COMMANDS OMEGAY,ZC
042029,000075: # S40.15 FOR THE INITIAL DAP GAINS VARK AND 1/CONACC
042030,000076: # TVCEXECUTIVE FOR DAP GAIN UPDATES AND TMC LOOP OPERATIONS
042031,000077: # TVCRESTART PACKAGE FOR TVC RESTART PROTECTION.
042032,000078:
042033,000079: # ERASABLE INITIALIZATION REQUIRED....
042034,000080:
042035,000081: # PAD-LOAD ERASABLES (SEE ERASABLE ASSIGNMENTS)
042036,000082: # CONFIGURATION BITS (14, 13) OF DAPDATR1 AS IN R03
042037,000083: # ENGINE-ON BIT (11.13) FOR RESTARTS
042038,000084: # TVCPHASE FOR RESTARTS (SEE DOTVCON, AND TVCINIT4)
042039,000085: # T5 BITS (15,14 OF FLAGWRD6) FOR RESTARTS
042040,000086: # MISCELLANEOUS VARIABLES SET UP OR COMPUTED BY TVCDAPON....TVCINIT4,
042041,000087: # INCLUDING THE ZEROING OF TEMPORARIES BY MRCLEAN
042042,000088: # CDUX,Y,Z AND SINCDUX.... COSCDUZ AS PREPARED BY QUICTRIG (WITH
042043,000089: # UPDATES EVERY 1/2 SECOND)
042044,000090: # ALSO G+N PRIMARY, TVC ENABLE, AND OPTICS ERROR COUNTER ENABLE
042045,000091: # UNLESS BENCH-TESTING.
042046,000092:
042047,000093: # OUTPUT....
042048,000094:
042049,000095: # TVCPITCH AND TVCYAW WITH COUNTER RELEASE (11.14 AND 11.13 INCREMEN-
042050,000096: # TAL COMMANDS TO OPTICS ERROR COUNTERS), FILTER NODES, BODY-
042051,000097: # AXIS ATTITUDE ERROR INTEGRATOR, TOTAL ACTUATOR COMMANDS,
042052,000098: # OFFSET-TRACKER-FILTER OUTPUTS, ETC.
042053,000099:
042054,000100: # DEBRIS....
042055,000101:
042056,000102: # MUCH, SHAREABLE WITH RCS/ENTRY, IN EBANK6 ONLY
042057,000103:
042058,000104: 17,2552 BANK 17
042059,000105: 20,2000 SETLOC DAPS2
042060,000106: 20,2000 BANK
042061,000107:
042062,000108: 20,2530 E6,1702 EBANK= BZERO
042063,000109:
042064,000110: 20,2530 COUNT* $$/DAPS
042065,000111:
|
Page 963 |
042067,000113: # PITCH TVCDAP STARTS HERE....(INCORPORATES CSM/LEM DAP FILTER, MODOR DESIGN)
042068,000114:
042069,000115: 20,2530 22016 PITCHDAP LXCH BANKRUPT # T5 ENTRY, NORMAL OR VIA DAPINIT
042070,000116: 20,2531 00006 EXTEND
042071,000117: 20,2532 22012 QXCH QRUPT
042072,000118:
042073,000119: 20,2533 33475 CAF YAWT5 # SET UP T5 CALL FOR YAW AUTOPILOT (LOW-
042074,000120: 20,2534 55312 TS T5LOC # ORDER PART OF 2CADR ALREADY THERE)
042075,000121: 20,2535 31625 CAE T5TVCDT
042076,000122: 20,2536 54030 TS TIME5
042077,000123:
042078,000124: 20,2537 11574 PSTROKER CCS STROKER # (STRKFLG) CHECK FOR STROKE TEST
042079,000125: 20,2540 03533 TC HACK # TEST-START OR TEST-IN-PROGRESS
042080,000126: 20,2541 12543 TCF +2 # NO-TEST
042081,000127: 20,2542 03533 TC HACK # TEST-IN-PROGRESS
042082,000128:
042083,000129: 20,2543 30033 PCDUDOTS CAE CDUY # COMPUTE CDUYDOT (USED BY PITCH AND YAW)
042084,000130: 20,2544 57645 XCH PCDUYPST
042085,000131: 20,2545 00006 EXTEND
042086,000132: 20,2546 21645 MSU PCDUYPST
042087,000133: 20,2547 02560 TCR RLIMTEST # RATE TEST
042088,000134: 20,2550 55647 TS MCDUYDOT # (MINUS, SC.AT 1/2TVCDT REVS/SEC)
042089,000135:
042090,000136: 20,2551 30034 CAE CDUZ # COMPUTE CDUZDOT (USED BY PITCH AND YAW)
042091,000137: 20,2552 57646 XCH PCDUZPST
042092,000138: 20,2553 00006 EXTEND
042093,000139: 20,2554 21646 MSU PCDUZPST
042094,000140: 20,2555 02560 TCR RLIMTEST # RATE TEST
042095,000141: 20,2556 55650 TS MCDUZDOT # (MINUS, SC.AT 1/2TVCDT REVS/SEC)
042096,000142: 20,2557 12571 TCF PINTEGRL
042097,000143:
042098,000144: 20,2560 55611 RLIMTEST TS TTMP1 # TEST FOR EXCESSIVE CDU RATES (GREATER
042099,000145: 20,2561 00006 EXTEND # THAN 2.33 DEG IN ONE SAMPLE PERIOD)
042100,000146: 20,2562 73476 MP 1/RTLIM
042101,000147: 20,2563 00006 EXTEND
042102,000148: 20,2564 12567 BZF +3
042103,000149: 20,2565 35021 CAF ZERO
042104,000150: 20,2566 55611 TS TTMP1
042105,000151: 20,2567 31611 CAE TTMP1
042106,000152: 20,2570 00002 TC Q
042107,000153:
042108,000154: 20,2571 00006 PINTEGRL EXTEND # COMPUTE INTEGRAL OF BODY-AXIS PITCH-RATE
042109,000155: 20,2572 31576 DCA PERRB # ERROR, SC.AT B-1 REVS
042110,000156: 20,2573 53703 DXCH ERRBTMP
042111,000157:
042112,000158: 20,2574 00006 EXTEND
042113,000159: 20,2575 31530 DCA OMEGAYC
042114,000160: 20,2576 21703 DAS ERRBTMP
042115,000161:
|
Page 964 |
042117,000163: 20,2577 40746 CS COSCDUZ # PREPARE BODY-AXIS PITCH RATE, OMEGAYB
042118,000164: 20,2600 00006 EXTEND
042119,000165: 20,2601 70750 MP COSCDUX
042120,000166: 20,2602 20001 DDOUBL
042121,000167: 20,2603 00006 EXTEND
042122,000168: 20,2604 71647 MP MCDUYDOT
042123,000169: 20,2605 20001 DDOUBL
042124,000170: 20,2606 53536 DXCH OMEGAYB
042125,000171:
042126,000172: 20,2607 41650 CS MCDUZDOT
042127,000173: 20,2610 00006 EXTEND
042128,000174: 20,2611 70742 MP SINCDUX
042129,000175: 20,2612 20001 DDOUBL
042130,000176: 20,2613 21536 DAS OMEGAYB # (COMPLETED OMEGAYB, SC.AT 1/2TVCDT REVS)
042131,000177:
042132,000178: 20,2614 00006 EXTEND # PICK UP -OMEGAYB (SIGN CHNG, INTEGRATE)
042133,000179: 20,2615 41536 DCS OMEGAYB
042134,000180: 20,2616 21703 DAS ERRBTMP
042135,000181:
042136,000182: 20,2617 03124 PERORLIM TCR ERRORLIM # PITCH BODY-AXIS-ERROR INPUT LIMITER
042137,000183:
042138,000184: 20,2620 00006 PFORWARD EXTEND # PREPARE THE FILTER STORAGE LOCATIONS
042139,000185: 20,2621 31542 DCA PTMP1 # FOR THE PITCH CHANNEL
042140,000186: 20,2622 53707 DXCH TMP1
042141,000187: 20,2623 00006 EXTEND
042142,000188: 20,2624 31546 DCA PTMP3
042143,000189: 20,2625 53713 DXCH TMP3
042144,000190: 20,2626 00006 EXTEND
042145,000191: 20,2627 31552 DCA PTMP5
042146,000192: 20,2630 53717 DXCH TMP5
042147,000193:
042148,000194: 20,2631 03156 TCR FWDFLTR # GO COMPUTE PRESENT OUTPUT
042149,000195: # (INCLUDES VARIABLE GAIN PACKAGE)
042150,000196:
042151,000197: 20,2632 00006 POFFSET EXTEND
042152,000198: 20,2633 31606 DCA PDELOFF
042153,000199: 20,2634 21705 DAS CMDTMP # NOW SCALED AT B+0 ASCREV
042154,000200:
042155,000201: 20,2635 03137 PACLIM TCR ACTLIM # ROUND OFF & LIMIT PITCH ACTUATOR COMMAND
042156,000202:
042157,000203: 20,2636 41623 POUT CS PCMD # INCREMENTAL PITCH COMMAND
042158,000204: 20,2637 61704 AD CMDTMP
042159,000205: 20,2640 26054 ADS TVCPITCH # UPDATE THE ERROR COUNTER (NO RESTART-
042160,000206: # PROTECT, SINCE ERROR CNTR ZEROED)
042161,000207:
042162,000208: 20,2641 35005 CAF BIT11 # BIT FOR TVCPITCH COUNT RELEASE
042163,000209: 20,2642 00006 EXTEND
042164,000210: 20,2643 05014 WOR CHAN14
042165,000211:
042166,000212: 20,2644 00006 PPRECOMP EXTEND # PREPARE THE FILTER STORAGE FOR PITCH
|
Page 965 |
042168,000214: 20,2645 31544 DCA PTMP2
042169,000215: 20,2646 53711 DXCH TMP2
042170,000216: 20,2647 00006 EXTEND
042171,000217: 20,2650 31550 DCA PTMP4
042172,000218: 20,2651 53715 DXCH TMP4
042173,000219: 20,2652 00006 EXTEND
042174,000220: 20,2653 31554 DCA PTMP6
042175,000221: 20,2654 53721 DXCH TMP6
042176,000222:
042177,000223: 20,2655 03247 TCR PRECOMP # TO THE FILTER FOR PRECOMPUTATION
042178,000224:
042179,000225: 20,2656 31602 DELBARP CAE DELPBAR +1 # UPDATE PITCH OFFSET-TRACKER-FILTER
042180,000226: 20,2657 00006 EXTEND
042181,000227: 20,2660 73500 MP E(-AT)
042182,000228: 20,2661 55701 TS DELBRTMP +1
042183,000229: 20,2662 31601 CAE DELPBAR
042184,000230: 20,2663 00006 EXTEND
042185,000231: 20,2664 73500 MP E(-AT)
042186,000232: 20,2665 21701 DAS DELBRTMP
042187,000233: 20,2666 31704 CAE CMDTMP
042188,000234: 20,2667 00006 EXTEND
042189,000235: 20,2670 73477 MP 1-E(-AT)
042190,000236: 20,2671 21701 DAS DELBRTMP
042191,000237:
042192,000238: 20,2672 02674 PCOPYCYC TCR PCOPY # PITCH COPYCYCLE
042193,000239:
042194,000240: 20,2673 15333 PDAPEND TCF RESUME # PITCH DAP COMPLETED
|
Page 966 |
042196,000242: # PITCH TVCDAP COPYCYCLE SUBROUTINE (CALLED VIA PITCH TVCDAP OR TVC RESTART PACKAGE)
042197,000243:
042198,000244: 20,2674 25644 PCOPY INCR TVCPHASE # RESTART-PROTECT THE COPYCYCLE. (1)
042199,000245: # NOTE POSSIBLE RE-ENTRY FROM RESTART
042200,000246: # PACKAGE, SHOULD A RESTART OCCUR
042201,000247: # DURING PITCH COPYCYCLE.
042202,000248:
042203,000249: 20,2675 00006 EXTEND
042204,000250: 20,2676 31707 DCA TMP1
042205,000251: 20,2677 53542 DXCH PTMP1
042206,000252: 20,2700 00006 EXTEND
042207,000253: 20,2701 31711 DCA TMP2
042208,000254: 20,2702 53544 DXCH PTMP2
042209,000255: 20,2703 00006 EXTEND
042210,000256: 20,2704 31713 DCA TMP3
042211,000257: 20,2705 53546 DXCH PTMP3
042212,000258: 20,2706 00006 EXTEND
042213,000259: 20,2707 31715 DCA TMP4
042214,000260: 20,2710 53550 DXCH PTMP4
042215,000261: 20,2711 00006 EXTEND
042216,000262: 20,2712 31717 DCA TMP5
042217,000263: 20,2713 53552 DXCH PTMP5
042218,000264: 20,2714 00006 EXTEND
042219,000265: 20,2715 31721 DCA TMP6
042220,000266: 20,2716 53554 DXCH PTMP6
042221,000267:
042222,000268: 20,2717 00006 PMISC EXTEND # MISC....PITCH-RATE-ERROR INTEGRATOR
042223,000269: 20,2720 31703 DCA ERRBTMP
042224,000270: 20,2721 55477 TS AK1 # FOR PITCH NEEDLES, SC.AT B-1 REVS
042225,000271: 20,2722 53576 DXCH PERRB
042226,000272:
042227,000273: 20,2723 31704 CAE CMDTMP # PITCH ACTUATOR COMMAND
042228,000274: 20,2724 55623 TS PCMD
042229,000275:
042230,000276: 20,2725 00006 EXTEND # PITCH OFFSET-TRACKER-FILTER
042231,000277: 20,2726 31701 DCA DELBRTMP
042232,000278: 20,2727 53602 DXCH DELPBAR
042233,000279:
042234,000280: 20,2730 25644 INCR TVCPHASE # PITCH COPYCYCLE COMPLETED (2)
042235,000281:
042236,000282: 20,2731 00002 TC Q
042237,000283:
|
Page 967 |
042239,000285: # YAW TVCDAP STARTS HERE....(INCORPORATES CSM/LEM DAP FILTER, MODOR DESIGN)
042240,000286:
042241,000287: 20,2732 22016 YAWDAP LXCH BANKRUPT # T5 ENTRY, NORMAL
042242,000288: 20,2733 00006 EXTEND
042243,000289: 20,2734 22012 QXCH QRUPT
042244,000290:
042245,000291: 20,2735 33473 CAF PITCHT5 # SET UP T5 CALL FOR PITCH AUTOPILOT (LOW-
042246,000292: 20,2736 55312 TS T5LOC # ORDER PART OF 2CADR ALREADY THERE)
042247,000293: 20,2737 31625 CAE T5TVCDT
042248,000294: 20,2740 54030 TS TIME5
042249,000295:
042250,000296: 20,2741 11574 YSTROKER CCS STROKER # (STRKFLG) CHECK FOR STROKE TEST
042251,000297: 20,2742 03533 TC HACK # TEST-START OR TEST-IN-PROGRESS
042252,000298: 20,2743 12745 TCF +2 # NO-TEST
042253,000299: 20,2744 03533 TC HACK # TEST-IN-PROGRESS
042254,000300:
042255,000301: # USE BODY RATES FROM PITCHDAP (PCDUDOTS)
042256,000302:
042257,000303: 20,2745 00006 YINTEGRL EXTEND # COMPUTE INTEGRAL OF BODY-AXIS YAW-RATE
042258,000304: 20,2746 31600 DCA YERRB # ERROR, SC.AT B-1 REVS
042259,000305: 20,2747 53703 DXCH ERRBTMP
042260,000306:
042261,000307: 20,2750 00006 EXTEND
042262,000308: 20,2751 31532 DCA OMEGAZC
042263,000309: 20,2752 21703 DAS ERRBTMP
042264,000310:
042265,000311: 20,2753 30746 CAE COSCDUZ # PREPARE BODY-AXIS YAW-RATE, OMEGAZB
042266,000312: 20,2754 00006 EXTEND
042267,000313: 20,2755 70742 MP SINCDUX
042268,000314: 20,2756 20001 DDOUBL
042269,000315: 20,2757 00006 EXTEND
042270,000316: 20,2760 71647 MP MCDUYDOT
042271,000317: 20,2761 20001 DDOUBL
042272,000318: 20,2762 53540 DXCH OMEGAZB
042273,000319:
042274,000320: 20,2763 41650 CS MCDUZDOT
042275,000321: 20,2764 00006 EXTEND
042276,000322: 20,2765 70750 MP COSCDUX
042277,000323: 20,2766 20001 DDOUBL
042278,000324: 20,2767 21540 DAS OMEGAZB # (COMPLETED OMEGAZB, SC.AT 1/2TVCDT REVS)
042279,000325:
042280,000326: 20,2770 00006 EXTEND # PICK UP -OMEGAZB (SIGN CHNG, INTEGRATE)
042281,000327: 20,2771 41540 DCS OMEGAZB
042282,000328: 20,2772 21703 DAS ERRBTMP
042283,000329:
042284,000330: 20,2773 03124 YERORLIM TCR ERRORLIM # YAW BODY-AXIS-ERROR INPUT LIMITER
042285,000331:
042286,000332: 20,2774 00006 YFORWARD EXTEND # PREPARE THE FILTER STORAGE LOCATIONS
042287,000333: 20,2775 31556 DCA YTMP1 # FOR THE YAW CHANNEL
|
Page 968 |
042289,000335: 20,2776 53707 DXCH TMP1
042290,000336: 20,2777 00006 EXTEND
042291,000337: 20,3000 31562 DCA YTMP3
042292,000338: 20,3001 53713 DXCH TMP3
042293,000339: 20,3002 00006 EXTEND
042294,000340: 20,3003 31566 DCA YTMP5
042295,000341: 20,3004 53717 DXCH TMP5
042296,000342:
042297,000343: 20,3005 03156 TCR FWDFLTR # GO COMPUTE PRESENT OUTPUT
042298,000344: # (INCLUDES VARIABLE GAIN PACKAGE)
042299,000345:
042300,000346: 20,3006 00006 YOFFSET EXTEND
042301,000347: 20,3007 31610 DCA YDELOFF
042302,000348: 20,3010 21705 DAS CMDTMP # NOW SCALED AT B+0 ASCREV
042303,000349:
042304,000350: 20,3011 03137 YACLIM TCR ACTLIM # ROUND OFF & LIMIT YAW ACTUATOR COMMAND
042305,000351:
042306,000352: 20,3012 41624 YOUT CS YCMD # INCREMENTAL YAW COMMAND
042307,000353: 20,3013 61704 AD CMDTMP
042308,000354: 20,3014 26053 ADS TVCYAW # UPDATE THE ERROR COUNTER (NO RESTART-
042309,000355: # PROTECT, SINCE ERROR CNTR ZEROED)
042310,000356:
042311,000357: 20,3015 35004 CAF BIT12 # BIT FOR TVCYAW COUNT RELEASE
042312,000358: 20,3016 00006 EXTEND
042313,000359: 20,3017 05014 WOR CHAN14
042314,000360:
042315,000361: 20,3020 00006 YPRECOMP EXTEND # PREPARE THE FILTER STORAGE FOR YAW
042316,000362: 20,3021 31560 DCA YTMP2
042317,000363: 20,3022 53711 DXCH TMP2
042318,000364: 20,3023 00006 EXTEND
042319,000365: 20,3024 31564 DCA YTMP4
042320,000366: 20,3025 53715 DXCH TMP4
042321,000367: 20,3026 00006 EXTEND
042322,000368: 20,3027 31570 DCA YTMP6
042323,000369: 20,3030 53721 DXCH TMP6
042324,000370:
042325,000371: 20,3031 03247 TCR PRECOMP # TO THE FILTER FOR PRECOMPUTATION
042326,000372:
042327,000373: 20,3032 31604 DELBARY CAE DELYBAR +1 # UPDATE YAW OFFSET-TRACKER-FILTER
042328,000374: 20,3033 00006 EXTEND
042329,000375: 20,3034 73500 MP E(-AT)
042330,000376: 20,3035 55701 TS DELBRTMP +1
042331,000377: 20,3036 31603 CAE DELYBAR
042332,000378: 20,3037 00006 EXTEND
042333,000379: 20,3040 73500 MP E(-AT)
042334,000380: 20,3041 21701 DAS DELBRTMP
042335,000381: 20,3042 31704 CAE CMDTMP
042336,000382: 20,3043 00006 EXTEND
042337,000383: 20,3044 73477 MP 1-E(-AT)
042338,000384: 20,3045 21701 DAS DELBRTMP
042339,000385:
|
Page 969 |
042341,000387: 20,3046 03050 YCOPYCYC TCR YCOPY # YAW COPYCYCLE
042342,000388:
042343,000389: 20,3047 15333 YDAPEND TCF RESUME # YAW DAP COMPLETED
042344,000390:
|
Page 970 |
042346,000392: # YAW TVCDAP COPYCYCLE SUBROUTINE (CALLED VIA YAW TVCDAP OR TVC RESTART PACKAGE)
042347,000393:
042348,000394: 20,3050 25644 YCOPY INCR TVCPHASE # RESTART-PROTECT THE COPYCYCLE. (3)
042349,000395: # NOTE POSSIBLE RE-ENTRY FROM RESTART
042350,000396: # PACKAGE, SHOULD A RESTART OCCUR
042351,000397: # DURING YAW COPYCYCLE.
042352,000398:
042353,000399: 20,3051 00006 EXTEND
042354,000400: 20,3052 31707 DCA TMP1
042355,000401: 20,3053 53556 DXCH YTMP1
042356,000402: 20,3054 00006 EXTEND
042357,000403: 20,3055 31711 DCA TMP2
042358,000404: 20,3056 53560 DXCH YTMP2
042359,000405: 20,3057 00006 EXTEND
042360,000406: 20,3060 31713 DCA TMP3
042361,000407: 20,3061 53562 DXCH YTMP3
042362,000408: 20,3062 00006 EXTEND
042363,000409: 20,3063 31715 DCA TMP4
042364,000410: 20,3064 53564 DXCH YTMP4
042365,000411: 20,3065 00006 EXTEND
042366,000412: 20,3066 31717 DCA TMP5
042367,000413: 20,3067 53566 DXCH YTMP5
042368,000414: 20,3070 00006 EXTEND
042369,000415: 20,3071 31721 DCA TMP6
042370,000416: 20,3072 53570 DXCH YTMP6
042371,000417:
042372,000418: 20,3073 00006 YMISC EXTEND # MISC....YAW-RATE-ERROR INTEGRATOR
042373,000419: 20,3074 31703 DCA ERRBTMP
042374,000420: 20,3075 55500 TS AK2 # FOR YAW NEEDLES, SC.AT B-1 REVS
042375,000421: 20,3076 53600 DXCH YERRB
042376,000422:
042377,000423: 20,3077 31704 CAE CMDTMP
042378,000424: 20,3100 55624 TS YCMD
042379,000425:
042380,000426: 20,3101 00006 EXTEND
042381,000427: 20,3102 31701 DCA DELBRTMP
042382,000428: 20,3103 53604 DXCH DELYBAR
042383,000429:
042384,000430: 20,3104 35021 CAF ZERO # YAW COPYCYCLE COMPLETED
042385,000431: 20,3105 55644 TS TVCPHASE # RESET TVCPHASE
042386,000432:
042387,000433: 20,3106 00002 TC Q
042388,000434:
|
Page 971 |
042390,000436: # SUBROUTINES COMMON TO BOTH PITCH AND YAW DAPS....
042391,000437:
042392,000438: # INITIALIZATION PACKAGE FOR CDURATES....
042393,000439:
042394,000440: 20,3107 22016 DAPINIT LXCH BANKRUPT # T5 RUPT ENTRY (CALLED BY TVCINT4)
042395,000441:
042396,000442: 20,3110 37716 CAF NEGONE # SET UP
042397,000443: 20,3111 61625 AD T5TVCDT # T5 CALL FOR PITCHDAP IN TVCDT SECS
042398,000444: 20,3112 65001 AD NEGMAX # (T5TVCDT = POSMAX - TVCDT/2 +1)
042399,000445: 20,3113 61625 AD T5TVCDT
042400,000446: 20,3114 54030 TS TIME5
042401,000447: 20,3115 33473 CAF PITCHT5 # (BBCON ALREADY THERE)
042402,000448: 20,3116 55312 TS T5LOC
042403,000449:
042404,000450: 20,3117 30033 CAE CDUY # READ AND STORE CDUS FOR DIFFERENTIATOR
042405,000451: 20,3120 55645 TS PCDUYPST # PAST-VALUES
042406,000452: 20,3121 30034 CAE CDUZ
042407,000453: 20,3122 55646 TS PCDUZPST
042408,000454:
042409,000455: 20,3123 15335 TCF NOQRSM
042410,000456:
042411,000457: # BODY-AXIS-ERROR INPUT LIMITER PACKAGE....
042412,000458:
042413,000459: 20,3124 31702 ERRORLIM CAE ERRBTMP # CHECK FOR INPUT-ERROR LIMIT
042414,000460: 20,3125 00006 EXTEND # CHECKS UPPER WORD ONLY
042415,000461: 20,3126 75015 MP 1/ERRLIM
042416,000462: 20,3127 00006 EXTEND
042417,000463: 20,3130 13136 BZF +6
042418,000464: 20,3131 11702 CCS ERRBTMP
042419,000465: 20,3132 35003 CAF ERRLIM
042420,000466: 20,3133 13135 TCF +2
042421,000467: 20,3134 45003 CS ERRLIM
042422,000468: 20,3135 55702 TS ERRBTMP # LIMIT WRITES OVER UPPER WORD ONLY
042423,000469:
042424,000470: 20,3136 00002 TC Q
042425,000471:
042426,000472: # ACTUATOR-COMMAND LIMITER PACKAGE....
042427,000473:
042428,000474: 20,3137 31705 ACTLIM CAE CMDTMP +1 # ROUND UP FOR OUTPUT
042429,000475: 20,3140 60000 DOUBLE
042430,000476: 20,3141 54001 TS L
042431,000477: 20,3142 35021 CAF ZERO
042432,000478: 20,3143 61704 AD CMDTMP
042433,000479:
042434,000480: 20,3144 00006 EXTEND # CHECK FOR ACTUATOR COMMAND LIMIT
042435,000481: 20,3145 73472 MP 1/ACTSAT
042436,000482: 20,3146 00006 EXTEND
|
Page 972 |
042438,000484: 20,3147 13155 BZF +6
042439,000485: 20,3150 11704 CCS CMDTMP # APPLY LIMITS
042440,000486: 20,3151 33471 CAF ACTSAT
042441,000487: 20,3152 13154 TCF +2
042442,000488: 20,3153 43471 CS ACTSAT
042443,000489: 20,3154 55704 TS CMDTMP # LIMITS WRITE OVER CMDTMP
042444,000490:
042445,000491: 20,3155 00002 TC Q
042446,000492:
042447,000493: # FILTER COMPUTATIONS FOR PRESENT OUTPUT................
042448,000494:
042449,000495: 20,3156 35021 FWDFLTR CAF ZERO
042450,000496: 20,3157 55615 TS DAP1
042451,000497: 20,3160 55617 TS DAP2
042452,000498: 20,3161 55621 TS DAP3
042453,000499: 20,3162 55704 TS CMDTMP
042454,000500:
042455,000501: 20,3163 55700 TS DELBRTMP
042456,000502:
042457,000503: 20,3164 31703 1DAPCAS CAE ERRBTMP +1 # FIRST DAP CASCADE
042458,000504: 20,3165 00006 EXTEND
042459,000505: 20,3166 71723 MP N10 # N10
042460,000506: 20,3167 55616 TS DAP1 +1
042461,000507: 20,3170 31702 CA ERRBTMP
042462,000508: 20,3171 00006 EXTEND
042463,000509: 20,3172 71723 MP N10 # N10
042464,000510: 20,3173 21616 DAS DAP1
042465,000511: 20,3174 53707 DXCH TMP1
042466,000512: 20,3175 21616 DAS DAP1
042467,000513:
042468,000514: 20,3176 31616 2DAPCAS CAE DAP1 +1 # SECOND DAP CASCADE
042469,000515: 20,3177 00006 EXTEND
042470,000516: 20,3200 71730 MP N10 +5 # N20
042471,000517: 20,3201 55620 TS DAP2 +1
042472,000518: 20,3202 31615 CA DAP1
042473,000519: 20,3203 00006 EXTEND
042474,000520: 20,3204 71730 MP N10 +5 # N20
042475,000521: 20,3205 21620 DAS DAP2
042476,000522: 20,3206 53713 DXCH TMP3
042477,000523: 20,3207 21620 DAS DAP2
042478,000524:
042479,000525: 20,3210 31466 CAE DAPDATR1 # TEST FOR LEM ON OR OFF
042480,000526: 20,3211 75002 MASK BIT14
042481,000527: 20,3212 10000 CCS A
042482,000528: 20,3213 13220 TCF 3DAPCAS # LEM ON
042483,000529: 20,3214 00006 EXTEND # LEM OFF
042484,000530: 20,3215 31620 DCA DAP2
042485,000531: 20,3216 53622 DXCH DAP3
042486,000532: 20,3217 13232 TCF OPTVARK
042487,000533:
|
Page 973 |
042489,000535: 20,3220 31620 3DAPCAS CAE DAP2 +1 # THIRD DAP CASCADE
042490,000536: 20,3221 00006 EXTEND
042491,000537: 20,3222 71735 MP N10 +10D # N30
042492,000538: 20,3223 55622 TS DAP3 +1
042493,000539: 20,3224 31617 CA DAP2
042494,000540: 20,3225 00006 EXTEND
042495,000541: 20,3226 71735 MP N10 +10D # N30
042496,000542: 20,3227 21622 DAS DAP3
042497,000543: 20,3230 53717 DXCH TMP5
042498,000544: 20,3231 21622 DAS DAP3
042499,000545:
042500,000546: 20,3232 41622 OPTVARK CS DAP3 +1 # VARIABLE GAIN PACKAGE
042501,000547: 20,3233 00006 EXTEND # (ALSO, SIGN CHANGE IN FORWARD LOOP)
042502,000548: 20,3234 71641 MP VARK # SCALED AT 1/(8 ASCREV) OF ACTUAL VALUE
042503,000549: 20,3235 55705 TS CMDTMP +1
042504,000550: 20,3236 41621 CS DAP3
042505,000551: 20,3237 00006 EXTEND
042506,000552: 20,3240 71641 MP VARK
042507,000553: 20,3241 21705 DAS CMDTMP
042508,000554:
042509,000555: 20,3242 53705 DXCH CMDTMP # FIX UP SCALING - SCALED B+3 ASCREVS
042510,000556: 20,3243 20001 DDOUBL
042511,000557: 20,3244 20001 DDOUBL
042512,000558: 20,3245 53705 DXCH CMDTMP # - SCALED B+1 ASCREVS
042513,000559: # NOTE - THERE IS AN INHERANT GAIN OF
042514,000560: # (B+1 ASCREVS) ON THE OUTPUT DACS.
042515,000561:
042516,000562: 20,3246 00002 TC Q
042517,000563:
042518,000564: # FILTER PRECOMPUTATIONS FOR NEXT PASS...................
042519,000565:
042520,000566: 20,3247 35021 PRECOMP CAF ZERO # ***** FIRST CASCADE FILTER **********
042521,000567: 20,3250 55611 TS TTMP1
042522,000568: 20,3251 55613 TS TTMP2
042523,000569:
042524,000570: 20,3252 31703 CA ERRBTMP +1 # MULTIPLY INPUT BY
042525,000571: 20,3253 00006 EXTEND
042526,000572: 20,3254 71724 MP N10 +1 # N11/2
042527,000573: 20,3255 55612 TS TTMP1 +1
042528,000574: 20,3256 31702 CA ERRBTMP
042529,000575: 20,3257 00006 EXTEND
042530,000576: 20,3260 71724 MP N10 +1 # N11/2
042531,000577: 20,3261 21612 DAS TTMP1
042532,000578:
042533,000579: 20,3262 41616 CS DAP1 +1 # MULTIPLY OUTPUT BY
042534,000580: 20,3263 00006 EXTEND
042535,000581: 20,3264 71726 MP N10 +3 # D11/2
042536,000582: 20,3265 55614 TS TTMP2 +1
042537,000583: 20,3266 41615 CS DAP1
042538,000584:
|
Page 974 |
042540,000586: 20,3267 00006 EXTEND
042541,000587: 20,3270 71726 MP N10 +3 # D11/2
042542,000588: 20,3271 21614 DAS TTMP2
042543,000589:
042544,000590: 20,3272 53614 DXCH TTMP2
042545,000591: 20,3273 21612 DAS TTMP1
042546,000592: 20,3274 53612 DXCH TTMP1
042547,000593: 20,3275 20001 DDOUBL
042548,000594: 20,3276 21711 DAS TMP2
042549,000595:
042550,000596: 20,3277 53711 DXCH TMP2
042551,000597: 20,3300 53707 DXCH TMP1
042552,000598:
042553,000599: 20,3301 35021 CAF ZERO
042554,000600: 20,3302 55611 TS TTMP1
042555,000601: 20,3303 55710 TS TMP2
042556,000602:
042557,000603: 20,3304 31703 CA ERRBTMP +1 # MULTIPLY INPUT BY
042558,000604: 20,3305 00006 EXTEND # SECOND-ORDER NUMERATOR COEFF.
042559,000605: 20,3306 71725 MP N10 +2 # N12
042560,000606: 20,3307 55612 TS TTMP1 +1
042561,000607: 20,3310 31702 CA ERRBTMP
042562,000608: 20,3311 00006 EXTEND
042563,000609: 20,3312 71725 MP N10 +2 # N12
042564,000610: 20,3313 21612 DAS TTMP1
042565,000611:
042566,000612: 20,3314 41616 CS DAP1 +1 # MULTIPLY OUTPUT BY
042567,000613: 20,3315 00006 EXTEND
042568,000614: 20,3316 71727 MP N10 +4 # D12
042569,000615: 20,3317 55711 TS TMP2 +1
042570,000616: 20,3320 41615 CS DAP1
042571,000617: 20,3321 00006 EXTEND
042572,000618: 20,3322 71727 MP N10 +4 # D12
042573,000619: 20,3323 21711 DAS TMP2
042574,000620:
042575,000621: 20,3324 53612 DXCH TTMP1
042576,000622: 20,3325 21711 DAS TMP2
042577,000623:
042578,000624: 20,3326 35021 2CASFLTR CAF ZERO # ***** SECOND CASCADE FILTER *****
042579,000625: 20,3327 55611 TS TTMP1
042580,000626: 20,3330 55613 TS TTMP2
042581,000627:
042582,000628: 20,3331 31616 CA DAP1 +1 # MULTIPLY INPUT BY
042583,000629: 20,3332 00006 EXTEND
042584,000630: 20,3333 71731 MP N10 +6 # N21/2
042585,000631: 20,3334 55612 TS TTMP1 +1
042586,000632: 20,3335 31615 CA DAP1
042587,000633: 20,3336 00006 EXTEND
042588,000634: 20,3337 71731 MP N10 +6 # N21/2
|
Page 975 |
042590,000636: 20,3340 21612 DAS TTMP1
042591,000637:
042592,000638: 20,3341 41620 CS DAP2 +1 # MULTIPLY OUTPUT BY
042593,000639: 20,3342 00006 EXTEND
042594,000640: 20,3343 71733 MP N10 +8D # D21/2
042595,000641: 20,3344 55614 TS TTMP2 +1
042596,000642: 20,3345 41617 CS DAP2
042597,000643: 20,3346 00006 EXTEND
042598,000644: 20,3347 71733 MP N10 +8D # D21/2
042599,000645: 20,3350 21614 DAS TTMP2
042600,000646:
042601,000647: 20,3351 53614 DXCH TTMP2
042602,000648: 20,3352 21612 DAS TTMP1
042603,000649: 20,3353 53612 DXCH TTMP1
042604,000650: 20,3354 20001 DDOUBL
042605,000651: 20,3355 21715 DAS TMP4
042606,000652:
042607,000653: 20,3356 53715 DXCH TMP4
042608,000654: 20,3357 53713 DXCH TMP3
042609,000655:
042610,000656: 20,3360 35021 CAF ZERO
042611,000657: 20,3361 55611 TS TTMP1
042612,000658: 20,3362 55714 TS TMP4
042613,000659:
042614,000660: 20,3363 31616 CA DAP1 +1 # MULTIPLY INPUT BY
042615,000661: 20,3364 00006 EXTEND
042616,000662: 20,3365 71732 MP N10 +7 # N22
042617,000663: 20,3366 55612 TS TTMP1 +1
042618,000664: 20,3367 31615 CA DAP1
042619,000665: 20,3370 00006 EXTEND
042620,000666: 20,3371 71732 MP N10 +7 # N22
042621,000667: 20,3372 21612 DAS TTMP1
042622,000668:
042623,000669: 20,3373 41620 CS DAP2 +1 # MULTIPLY OUTPUT BY
042624,000670: 20,3374 00006 EXTEND
042625,000671: 20,3375 71734 MP N10 +9D # D22
042626,000672: 20,3376 55715 TS TMP4 +1
042627,000673: 20,3377 41617 CS DAP2
042628,000674: 20,3400 00006 EXTEND
042629,000675: 20,3401 71734 MP N10 +9D # D22
042630,000676: 20,3402 21715 DAS TMP4
042631,000677:
042632,000678: 20,3403 53612 DXCH TTMP1
042633,000679: 20,3404 21715 DAS TMP4
042634,000680:
042635,000681: 20,3405 31466 CAE DAPDATR1 # TEST FOR LEM ON OR OFF
042636,000682: 20,3406 75003 MASK BIT13
042637,000683: 20,3407 10000 CCS A
042638,000684: 20,3410 00002 TC Q # EXIT IF LEM OFF
042639,000685:
|
Page 976 |
042641,000687: 20,3411 35021 3CASFLTR CAF ZERO # ***** THIRD CASCADE FILTER *****
042642,000688: 20,3412 55611 TS TTMP1
042643,000689: 20,3413 55613 TS TTMP2
042644,000690:
042645,000691: 20,3414 31620 CA DAP2 +1 # MULTIPLY INPUT BY (1/2)
042646,000692: 20,3415 00006 EXTEND
042647,000693: 20,3416 71736 MP N10 +11D # N31/2
042648,000694: 20,3417 55612 TS TTMP1 +1
042649,000695: 20,3420 31617 CA DAP2
042650,000696: 20,3421 00006 EXTEND
042651,000697: 20,3422 71736 MP N10 +11D # N31/2
042652,000698: 20,3423 21612 DAS TTMP1
042653,000699:
042654,000700: 20,3424 41622 CS DAP3 +1
042655,000701: 20,3425 00006 EXTEND
042656,000702: 20,3426 71740 MP N10 +13D # D31/2
042657,000703: 20,3427 55614 TS TTMP2 +1
042658,000704: 20,3430 41621 CS DAP3
042659,000705: 20,3431 00006 EXTEND
042660,000706: 20,3432 71740 MP N10 +13D # D31/2
042661,000707: 20,3433 21614 DAS TTMP2
042662,000708:
042663,000709: 20,3434 53614 DXCH TTMP2
042664,000710: 20,3435 21612 DAS TTMP1
042665,000711: 20,3436 53612 DXCH TTMP1
042666,000712: 20,3437 20001 DDOUBL
042667,000713: 20,3440 21721 DAS TMP6
042668,000714:
042669,000715: 20,3441 53721 DXCH TMP6
042670,000716: 20,3442 53717 DXCH TMP5
042671,000717:
042672,000718: 20,3443 35021 CAF ZERO
042673,000719: 20,3444 55611 TS TTMP1
042674,000720: 20,3445 55720 TS TMP6
042675,000721:
042676,000722: 20,3446 31620 CA DAP2 +1 # MULTIPLY INPUT BY
042677,000723: 20,3447 00006 EXTEND
042678,000724: 20,3450 71737 MP N10 +12D # N32
042679,000725: 20,3451 55612 TS TTMP1 +1
042680,000726: 20,3452 31617 CA DAP2
042681,000727: 20,3453 00006 EXTEND
042682,000728: 20,3454 71737 MP N10 +12D # N32
042683,000729: 20,3455 21612 DAS TTMP1
042684,000730:
042685,000731: 20,3456 41622 CS DAP3 +1
042686,000732: 20,3457 00006 EXTEND
042687,000733: 20,3460 71741 MP N10 +14D # D32
042688,000734: 20,3461 55721 TS TMP6 +1
042689,000735: 20,3462 41621 CS DAP3
042690,000736: 20,3463 00006 EXTEND
|
Page 977 |
042692,000738: 20,3464 71741 MP N10 +14D # D32
042693,000739: 20,3465 21721 DAS TMP6
042694,000740:
042695,000741: 20,3466 53612 DXCH TTMP1
042696,000742: 20,3467 21721 DAS TMP6
042697,000743:
042698,000744: 20,3470 00002 TC Q
042699,000745:
|
Page 978 |
042701,000747: # CONSTANTS FOR AUTOPILOTS
042702,000748:
042703,000749: # NOTE....1 ASCREV (ACTUATOR CMD SCALING) = 85.41 ARCSEC/BIT OR 1.07975111 REVS (85.41X16384/3600/360)
042704,000750: # 1 SPASCREV (SPECIAL ACTUATOR CMD SCALING) = 1.04620942 REVS
042705,000751:
042706,000752: 20,3471 00375 ACTSAT DEC 253 B-14 # ACTUATOR LIMIT (6 DEG), SC.AT 1ASCREV
042707,000753: 20,3472 00101 1/ACTSAT DEC .0039525692 # RECIPROCAL (1/253)
042708,000754:
042709,000755: 20,3473 5003 ERRLIM EQUALS BIT13 # FILTER INPUT LIMIT....B-3 REVS (45DEG),
042710,000756: 20,3473 5015 1/ERRLIM EQUALS BIT3 # SC.AT B-1 REV, AND ITS RECIPROCAL
042711,000757:
042712,000758: 20,3473 02530 PITCHT5 GENADR PITCHDAP # UPPER WORDS OF T5 2CADRS, LOWER WORDS
042713,000759: 20,3474 03107 DAPT5 GENADR DAPINIT # (BBCON) ALREADY THERE. ORDER IS
042714,000760: 20,3475 02732 YAWT5 GENADR YAWDAP # REQUIRED.
042715,000761:
042716,000762: 20,3476 00115 1/RTLIM DEC 0.004715 # .004715(CDUDIF) = 0 IF CDUDIF < 2.33 DEG
042717,000763: 20,3477 00243 1-E(-AT) OCT 00243 # AT = .01SEC....EITHER(1/A=4SEC, T=40MS),
042718,000764: 20,3500 37535 E(-AT) OCT 37535 # OR(1/A=8SEC, T=80MS)
042719,000765:
End of include-file TVCDAPS.agc. Parent file is MAIN.agc