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