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