Apollo-11/Comanche055/TVCDAPS.s

782 lines
16 KiB
ArmAsm
Raw Normal View History

2016-07-07 08:47:26 +00:00
# Copyright: Public domain.
# Filename: TVCDAPS.agc
# Purpose: Part of the source code for Colossus 2A, AKA Comanche 055.
# It is part of the source code for the Command Module's (CM)
# Apollo Guidance Computer (AGC), for Apollo 11.
# Assembler: yaYUL
# Contact: Ron Burkey <info@sandroid.org>.
# Website: www.ibiblio.org/apollo.
# Pages: 961-978
# Mod history: 2009-05-13 RSB Adapted from the Colossus249/ file of the
# same name, using Comanche055 page images.
# 2009-05-20 RSB Corrections: Eliminated an extraneous EXTEND,
# added a missing instruction to PFORWARD.
# 2000-05-21 RSB Wrong opcode was used with DELBRTMP and
# DELBRTMP +1 operands in 4 places. Corrected
# an MP operation in 2CASFLTR.
#
# This source code has been transcribed or otherwise adapted from digitized
# images of a hardcopy from the MIT Museum. The digitization was performed
# by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many
# thanks to both. The images (with suitable reduction in storage size and
# consequent reduction in image quality as well) are available online at
# www.ibiblio.org/apollo. If for some reason you find that the images are
# illegible, contact me at info@sandroid.org about getting access to the
# (much) higher-quality images which Paul actually created.
#
# Notations on the hardcopy document read, in part:
#
# Assemble revision 055 of AGC program Comanche by NASA
# 2021113-051. 10:28 APR. 1, 1969
#
# This AGC program shall also be referred to as
# Colossus 2A
# Page 961
# PROGRAM NAME....TVCDAP, CONSISTING OF PITCHDAP, YAWDAP, ETC.
# LOG SECTION....TVCDAPS SUBROUTINE....DAPCSM
# MODIFIED BY SCHLUNDT 21 OCTOBER 1968
#
# FUNCTIONAL DESCRIPTION
#
# SELF-PERPETUATING T5 TASKS WHICH GENERATE THE COMMAND SIGNALS
# FOR THE PITCH AND YAW SPS GIMBAL ACTUATORS DURING TVC (SPS) BURNS,
# IN RESPONSE TO BODY-AXIS RATE COMMANDS FROM CROSS-PRODUCT STEERING
# (S40.8). IF NO STEERING (IMPULSIVE BURNS) MAINTAINS ATTITUDE-HOLD
# ABOUT THE REFERENCE (INITIAL) DIRECTIONS (ZERO RATE COMMANDS).
#
# THE PITCH AND YAW LOOPS ARE SEPARATE, BUT STRUCTURED IDENTICALLY.
# EACH ATTITUDE-RATE LOOP INCLUDES GIMBAL ANGLE RATE DERIVATION,
# GIMBAL/BODY AXIS TRANSFORMATION, BODY-AXIS ATTITUDE ERROR
# INTEGRATION WITH ERROR LIMITING, THE GENERALIZED 6TH-ORDER FILTERS
# FOR CSM OR CSM/LM OPERATION. A FILTER OUTPUT LIMITER.
# CG-OFFSET TRACKER FILTER, AND THE CG-TRACKER MINOR LOOP.
#
# THE DAPS ARE CYCLIC, CALLING EACH OTHER AT 1/2 THE DAP SAMPLE
# TIME, AS DETERMINED BY T5TVCDT. THE ACTUATOR COMMANDS ARE
# REGENERATED AS ANALOG VOLTAGES BY THE OPTICS ERROR COUNTERS, WHICH
# TRANSMIT THE SIGNAL TO THE ACTUATOR SERVOS WHEN THERE IS PROPER CDU
# MODING.
#
# CALLING SEQUENCE.... (TYPICALLY)
#
# T5 CALL OF TVCDAPON (TVCINITIALIZE) BY DOTVCON (P40)
# T5 CALL OF DAPINIT (TVCDAPS) BY TVCINIT4 (TVCINITIALIZE)
# T5 CALL OF PITCHDAP BY DAPINIT
# T5 CALL OF YAWDAP BY PITCHDAP
# T5 CALL OF PITCHDAP BY YAWDAP
# ETC.
# (AUTOMATIC SEQUENCING FROM TVCDAPON)
#
# NORMAL EXIT MODE....RESUME
#
# ALARM OR ABORT EXIT MODES....NONE
#
# SUBROUTINES CALLED....
#
# HACK FOR STROKE TEST (V68) WAVEFORM GENERATION
# PCOPY, YCOPY FOR COPY-CYCLES (USED ALSO BY TVC RESTART PACKAGE)
# DAPINIT FOR INITIAL CDUS FOR RATE MEASUREMENTS
# ERRORLIM, ACTLIM FOR INPUT (ATTITUDE-ERROR INTEGRATION) AND
# OUTPUT (ACTUATOR COMMAND) LIMITING, COMMON TO PITCH AND
# YAW DAPS
# FWDFLTR (INCLUDING OPTVARK) AND PRECOMP, TO COMPUTE FILTER
# OUTPUTS AND STORAGE VALUES
# RESUME
#
# Page 962
# OTHER INTERFACES
#
# S40.8 CROSS-PRODUCT STEERING FOR BODY AXIS RATE COMMANDS OMEGAY,ZC
# S40.15 FOR THE INITIAL DAP GAINS VARK AND 1/CONACC
# TVCEXECUTIVE FOR DAP GAIN UPDATES AND TMC LOOP OPERATIONS
# TVCRESTART PACKAGE FOR TVC RESTART PROTECTION.
#
# ERASABLE INITIALIZATION REQUIRED....
#
# PAD-LOAD ERASABLES (SEE ERASABLE ASSIGNMENTS)
# CONFIGURATION BITS (14, 13) OF DAPDATR1 AS IN R03
# ENGINE-ON BIT (11.13) FOR RESTARTS
# TVCPHASE FOR RESTARTS (SEE DOTVCON, AND TVCINIT4)
# T5 BITS (15,14 OF FLAGWRD6) FOR RESTARTS
# MISCELLANEOUS VARIABLES SET UP OR COMPUTED BY TVCDAPON....TVCINIT4,
# INCLUDING THE ZEROING OF TEMPORARIES BY MRCLEAN
# CDUX,Y,Z AND SINCDUX.... COSCDUX AS PREPARED BY QUICTRIG1 (WITH
# UPDATES EVERY 1/2 SECOND)
# ALSO G+N PRIMARY, TVC ENABLE, AND OPTICS ERROR COUNTER ENABLE
# UNLESS BENCH-TESTING.
#
# OUTPUT....
#
# TVCPITCH AND TVCYAW WITH COUNTER RELEASE (11.14 AND 11.13 INCREMENTAL
# COMMANDS TO OPTICS ERROR COUNTERS), FILTER NODES, BODY-
# AXIS ATTITUDE ERROR INTEGRATOR, TOTAL ACTUATOR COMMANDS,
# OFFSET-TRACKER-FILTER OUTPUTS, ETC.
#
# DEBRIS....
#
# MUCH, SHAREABLE WITH RCS/ENTRY, IN EBANK6 ONLY
BANK 17
SETLOC DAPS2
BANK
EBANK= BZERO
COUNT* $$/DAPS
# Page 963
# PITCH TVCDAP STARTS HERE....(INCOPORATES CSM/LEM DAP FILTER, MODOR DESIGN)
PITCHDAP LXCH BANKRUPT # T5 ENTRY, NORMAL OR VIA DAPINIT
EXTEND
QXCH QRUPT
CAF YAWT5 # SET UP T5 CALL FOR YAW AUTOPILOT (LOW-
TS T5LOC # ORDER PART OF 2CADR ALREADY THERE)
CAE T5TVCDT
TS TIME5
PSTROKER CCS STROKER # (STRKFLG) CHECK FOR STROKE TEST
TC HACK # TEST-START OR TEST-IN-PROGRESS
TCF +2 # NO-TEST
TC HACK # TEST-IN-PROGRESS
PCDUDOTS CAE CDUY # COMPUTE CDUYDOT (USED BY PITCH AND YAW)
XCH PCDUYPST
EXTEND
MSU PCDUYPST
TCR RLIMTEST # RATE TEST
TS MCDUYDOT # (MINUS, SC.AT 1/2TVCDT REVS/SEC)
CAE CDUZ # COMPUTE CDUZDOT (USED BY PITCH AND YAW)
XCH PCDUZPST
EXTEND
MSU PCDUZPST
TCR RLIMTEST # RATE TEST
TS MCDUZDOT # (MINUS, SC.AT 1/2TVCDT REVS/SEC)
TCF PINTEGRL
RLIMTEST TS TTMP1 # TEST FOR EXCESSIVE CDU RATES (GREATER
EXTEND # THAN 2.33 DEG IN ONE SAMPLE PERIOD
MP 1/RTLIM
EXTEND
BZF +3
CAF ZERO
TS TTMP1
CAE TTMP1
TC Q
PINTEGRL EXTEND # COMPUTE INTEGRAL OF BODY-AXIS PITCH-RATE
DCA PERRB # ERROR, SC.AT B-1 REVS
DXCH ERRBTMP
EXTEND
DCA OMEGAYC
DAS ERRBTMP
# Page 964
CS COSCDUZ # PREPARE BODY-AXIS PITCH RATE, OMEGAYB
EXTEND
MP COSCDUX
DDOUBL
EXTEND
MP MCDUYDOT
DDOUBL
DXCH OMEGAYB
CS MCDUZDOT
EXTEND
MP SINCDUX
DDOUBL
DAS OMEGAYB # (COMPLETED OMEGAYB, SC.AT 1/2TVCDT REVS)
EXTEND # PICK UP -OMEGAYB (SIGN CHNG, INTEGRATE)
DCS OMEGAYB
DAS ERRBTMP
PERORLIM TCR ERRORLIM # PITCH BODY-AXIS-ERROR INPUT LIMITER
PFORWARD EXTEND # PREPARE THE FILTER STORAGE LOCATIONS
DCA PTMP1 # FOR THE PITCH CHANNEL
DXCH TMP1
EXTEND
DCA PTMP3
DXCH TMP3
EXTEND
DCA PTMP5
DXCH TMP5
TCR FWDFLTR # GO COMPUTE PRESENT OUTPUT
# (INCLUDES VARIABLE GAIN PACKAGE)
POFFSET EXTEND
DCA PDELOFF
DAS CMDTMP # NO SCALED AT B+0 ASCREV
PACLIM TCR ACTLIM # ROUND OFF & LIMIT PITCH ACTUATOR COMMAND
POUT CS PCMD # INCREMENTAL PITCH COMMAND
AD CMDTMP
ADS TVCPITCH # UPDATE THE ERROR COUNTER (NO RESTART-
# PROTECT. SINCE ERROR CNTR ZEROED)
CAF BIT11 # BIT FOR TVCPITCH COUNT RELEASE
EXTEND
WOR CHAN14
PPRECOMP EXTEND # PREPARE THE FILTER STORAGE FOR PITCH
# Page 965
DCA PTMP2
DXCH TMP2
EXTEND
DCA PTMP4
DXCH TMP4
EXTEND
DCA PTMP6
DXCH TMP6
TCR PRECOMP # TO THE FILTER FOR PRECOMPUTATION
DELBARP CAE DELPBAR +1
EXTEND
MP E(-AT)
TS DELBRTMP +1
CAE DELPBAR
EXTEND
MP E(-AT)
DAS DELBRTMP
CAE CMDTMP
EXTEND
MP 1-E(-AT)
DAS DELBRTMP
PCOPYCYC TCR PCOPY # PITCH COPYCYCLE
PDAPEND TCF RESUME # PITCH DAP COMPLETED
# Page 966
# PITCH TVCDAP COPYCYCLE SUBROUTINE (CALLED VIA PITCH TVCDAP OR TVC RESTART PACKAGE)
PCOPY INCR TVCPHASE # RESTART-PROTECT THE COPYCYCLE. (1)
# NOTE POSSIBLE RE-ENTRY FROM RESTART
# PACKAGE, SHOULD A RESTART OCCUR
# DURING PITCH COPYCYCLE.
EXTEND
DCA TMP1
DXCH PTMP1
EXTEND
DCA TMP2
DXCH PTMP2
EXTEND
DCA TMP3
DXCH PTMP3
EXTEND
DCA TMP4
DXCH PTMP4
EXTEND
DCA TMP5
DXCH PTMP5
EXTEND
DCA TMP6
DXCH PTMP6
PMISC EXTEND # MISC....PITCH-RATE-ERROR INTEGRATOR
DCA ERRBTMP
TS AK1 # FOR PITCH NEEDLES, SC.AT B-1 REVS
DXCH PERRB
CAE CMDTMP # PITCH ACTUATOR COMMAND
TS PCMD
EXTEND # PITCH OFFSET-TRACKER-FILTER
DCA DELBRTMP
DXCH DELPBAR
INCR TVCPHASE # PITCH COPYCYCLE COMPLETED (2)
TC Q
# Page 967
# YAW TVCDAP STARTS HERE....(INCORPORATES CSM/LEM DAP FILTER, MODOR DESIGN)
YAWDAP LXCH BANKRUPT # T5 ENTRY, NORMAL
EXTEND
QXCH QRUPT
CAF PITCHT5 # SET UP T5 CALL FOR PITCH AUTOPILOT (LOW-
TS T5LOC # ORDER PART OF 2CADR ALREADY THERE)
CAE T5TVCDT
TS TIME5
YSTROKER CCS STROKER # (STRKFLG) CHECK FOR STROKE TEST
TC HACK # TEST-START OR TEST-IN-PROGRESS
TCF +2 # NO-TEST
TC HACK # TEST-IN-PROGRESS
# USE BODY RATES FROM PITCHDAP (PCDUDOTS)
YINTEGRL EXTEND # COMPUTE INTEGRAL OF BODY-AXIS YAW-RATE
DCA YERRB # ERROR, SC.AT B-1 REVS
DXCH ERRBTMP
EXTEND
DCA OMEGAZC
DAS ERRBTMP
CAE COSCDUZ # PREPARE BODY-AXIS YAW-RATE, OMEGAZB
EXTEND
MP SINCDUX
DDOUBL
EXTEND
MP MCDUYDOT
DDOUBL
DXCH OMEGAZB
CS MCDUZDOT
EXTEND
MP COSCDUX
DDOUBL
DAS OMEGAZB # (COMPLETED OMEGAZB, SC.AT 1/2TVCDT REVS)
EXTEND # PICK UP -OMEGAZB (SIGN CHNG, INTEGRATE)
DCS OMEGAZB
DAS ERRBTMP
YERORLIM TCR ERRORLIM # YAW BODY-AXIS-ERROR INPUT LIMITER
YFORWARD EXTEND # PREPARE THE FILTER STORAGE LOCATIONS
DCA YTMP1 # FOR THE YAW CHANNEL
# Page 968
DXCH TMP1
EXTEND
DCA YTMP3
DXCH TMP3
EXTEND
DCA YTMP5
DXCH TMP5
TCR FWDFLTR # GO COMPUTE PRESENT OUTPUT
# (INCLUDES VARIABLE GAIN PACKAGE)
YOFFSET EXTEND
DCA YDELOFF
DAS CMDTMP # NOW SCALED AT B+0 ASCREV
YACLIM TCR ACTLIM # YAW ACTUATOR-COMMAND-LIMITER
YOUT CS YCMD # INCRMENTAL YAW COMMAND
AD CMDTMP
ADS TVCYAW # UPDATE THE ERROR COUNTER (NO RESTART-
# PROTECT, SINCE ERROR CNTR ZEROED)
CAF BIT12 # BIT FOR TVCYAW COUNT RELEASE
EXTEND
WOR CHAN14
YPRECOMP EXTEND # PREPARE THE FILTER STORAGE FOR YAW
DCA YTMP2
DXCH TMP2
EXTEND
DCA YTMP4
DXCH TMP4
EXTEND
DCA YTMP6
DXCH TMP6
TCR PRECOMP # TO THE FILTER FOR PRECOMPUTATION
DELBARY CAE DELYBAR +1 # UPDATE YAW OFFSET-TRACKER-FILTER
EXTEND
MP E(-AT)
TS DELBRTMP +1
CAE DELYBAR
EXTEND
MP E(-AT)
DAS DELBRTMP
CAE CMDTMP
EXTEND
MP 1-E(-AT)
DAS DELBRTMP
# Page 969
YCOPYCYC TCR YCOPY # YAW COPYCYCLE
YDAPEND TCF RESUME # YAW DAP COMPLETED
# Page 970
# TVCDAP COPYCYCLE SUBROUTINE (CALLED VIA YAW TVCDAP OR TVC RESTART PACKAGE)
YCOPY INCR TVCPHASE # RESTART-PROTECT THE COPYCYCLE. (3)
# NOTE POSSIBLE RE-ENTRY FROM RESTART
# PACKAGE, SHOULD A RESTART OCCUR
# DURING YAW COPYCYCLE.
EXTEND
DCA TMP1
DXCH YTMP1
EXTEND
DCA TMP2
DXCH YTMP2
EXTEND
DCA TMP3
DXCH YTMP3
EXTEND
DCA TMP4
DXCH YTMP4
EXTEND
DCA TMP5
DXCH YTMP5
EXTEND
DCA TMP6
DXCH YTMP6
YMISC EXTEND # MISC....YAW-RATE-ERROR INTEGRATOR
DCA ERRBTMP
TS AK2 # FOR YAW NEEDLES, SC.AT B-1 REVS
DXCH YERRB
CAE CMDTMP
TS YCMD
EXTEND
DCA DELBRTMP
DXCH DELYBAR
CAF ZERO # YAW COPYCYCLE COMPLETED
TS TVCPHASE # RESET TVCPHASE
TC Q
# Page 971
# SUBROUTINES COMMON TO BOTH PITCH AND YAW DAPS....
# INITIALIZATION PACKAGE FOR CDURATES....
DAPINIT LXCH BANKRUPT # T5 RUPT ENTRY (CALLED BY TVCINT4)
CAF NEGONE # SET UP
AD T5TVCDT # T5 CALL FOR PITCHDAP IN TVCDT SECS
AD NEGMAX # (T5TVCDT = POSMAX - TVCDT/2 +1)
AD T5TVCDT
TS TIME5
CAF PITCHT5 # (BBCON ALREADY THERE)
TS T5LOC
CAE CDUY # READ AND STORE CDUS FOR DIFFERENTIATOR
TS PCDUYPST # PAST-VALUES
CAE CDUZ
TS PCDUZPST
TCF NOQRSM
# BODY-AXIS-ERROR INPUT LIMITER PACKAGE....
ERRORLIM CAE ERRBTMP # CHECK FOR INPUT-ERROR LIMIT
EXTEND # CHECKS UPPER WORD ONLY
MP 1/ERRLIM
EXTEND
BZF +6
CCS ERRBTMP
CAF ERRLIM
TCF +2
CS ERRLIM
TS ERRBTMP # LIMIT WRITES OVER UPPER WORD ONLY
TC Q
# ACTUATOR-COMMAND LIMITER PACKAGE....
ACTLIM CAE CMDTMP +1 # ROUND UP FOR OUTPUT
DOUBLE
TS L
CAF ZERO
AD CMDTMP
EXTEND # CHECK FOR ACTUATOR COMMAND LIMIT
MP 1/ACTSAT
EXTEND
# Page 972
BZF +6
CCS CMDTMP # APPLY LIMITS
CAF ACTSAT
TCF +2
CS ACTSAT
TS CMDTMP # LIMITS WRITE OVER CMDTMP
TC Q
# FILTER COMPUTATIONS FOR PRESENT OUTPUT................
FWDFLTR CAF ZERO
TS DAP1
TS DAP2
TS DAP3
TS CMDTMP
TS DELBRTMP
1DAPCAS CAE ERRBTMP +1 # FIRST DAP CASCADE
EXTEND
MP N10 # N10
TS DAP1 +1
CA ERRBTMP
EXTEND
MP N10 # N10
DAS DAP1
DXCH TMP1
DAS DAP1
2DAPCAS CAE DAP1 +1 # SECOND DAP CASCADE
EXTEND
MP N10 +5 # N20
TS DAP2 +1
CA DAP1
EXTEND
MP N10 +5 # N20
DAS DAP2
DXCH TMP3
DAS DAP2
CAE DAPDATR1 # TEST FOR LEM ON OR OFF
MASK BIT14
CCS A
TCF 3DAPCAS # LEM ON
EXTEND # LEM OFF
DCA DAP2
DXCH DAP3
TCF OPTVARK
# Page 973
3DAPCAS CAE DAP2 +1 # THIRD DAP CASCADE
EXTEND
MP N10 +10D # N30
TS DAP3 +1
CA DAP2
EXTEND
MP N10 +10D # N30
DAS DAP3
DXCH TMP5
DAS DAP3
OPTVARK CS DAP3 +1 # VARIABLE GAIN PACKAGE
EXTEND # (ALSO, SIGN CHANGE IN FORWARD LOOP)
MP VARK # SCALED AT 1/(8 ASCREV) OF ACTUAL VALUE
TS CMDTMP +1
CS DAP3
EXTEND
MP VARK
DAS CMDTMP
DXCH CMDTMP # FIX UP SCALING -- SCALED B+3 ASCREVS
DDOUBL
DDOUBL
DXCH CMDTMP # -- SCALED B+1 ASCREVS
# NOTE -- THERE IS AN INHERENT GAIN OF
# (B+1 ASCREVS) ON THE OUTPUT DACS.
TC Q
# FILTER PRECOMPUTATIONS FOR NEXT PASS................
PRECOMP CAF ZERO # **** FIRST CASCADE FILTER **********
TS TTMP1
TS TTMP2
CA ERRBTMP +1 # MULTIPLY INPUT BY
EXTEND
MP N10 +1 # N11/2
TS TTMP1 +1
CA ERRBTMP
EXTEND
MP N10 +1 # N11/2
DAS TTMP1
CS DAP1 +1 # MULTIPLY OUTPUT BY
EXTEND
MP N10 +3 # D11/2
TS TTMP2 +1
CS DAP1
# Page 974
EXTEND
MP N10 +3 # D11/2
DAS TTMP2
DXCH TTMP2
DAS TTMP1
DXCH TTMP1
DDOUBL
DAS TMP2
DXCH TMP2
DXCH TMP1
CAF ZERO
TS TTMP1
TS TMP2
CA ERRBTMP +1 # MULTIPLY INPUT BY
EXTEND # SECOND-ORDER NUMERATOR COEFF.
MP N10 +2 # N12
TS TTMP1 +1
CA ERRBTMP
EXTEND
MP N10 +2 # N12
DAS TTMP1
CS DAP1 +1 # MULTIPLY OUTPUT BY
EXTEND
MP N10 +4 # D12
TS TMP2 +1
CS DAP1
EXTEND
MP N10 +4 # D12
DAS TMP2
DXCH TTMP1
DAS TMP2
2CASFLTR CAF ZERO # **** SECOND CASCADE FILTER **********
TS TTMP1
TS TTMP2
CA DAP1 +1 # MULTIPLY INPUT BY
EXTEND
MP N10 +6 # N21/2
TS TTMP1 +1
CA DAP1
EXTEND
MP N10 +6 # N21/2
# Page 975
DAS TTMP1
CS DAP2 +1 # MULTIPLY OUTPUT BY
EXTEND
MP N10 +8D # D21/2
TS TTMP2 +1
CS DAP2
EXTEND
MP N10 +8D # D21/2
DAS TTMP2
DXCH TTMP2
DAS TTMP1
DXCH TTMP1
DDOUBL
DAS TMP4
DXCH TMP4
DXCH TMP3
CAF ZERO
TS TTMP1
TS TMP4
CA DAP1 +1 # MULTIPLY INPUT BY
EXTEND # SECOND-ORDER NUMERATOR COEFF.
MP N10 +7 # N22
TS TTMP1 +1
CA DAP1
EXTEND
MP N10 +7 # N22
DAS TTMP1
CS DAP2 +1 # MULTIPLY OUTPUT BY
EXTEND
MP N10 +9D # D22
TS TMP4 +1
CS DAP2
EXTEND
MP N10 +9D # D22
DAS TMP4
DXCH TTMP1
DAS TMP4
CAE DAPDATR1 # TEST FOR LEM ON OR OFF
MASK BIT13
CCS A
TC Q # EXIT IF LEM OFF
# Page 976
3CASFLTR CAF ZERO # **** THIRD CASCADE FILTER **********
TS TTMP1
TS TTMP2
CA DAP2 +1 # MULTIPLY INPUT BY (1/2)
EXTEND
MP N10 +11D # N31/2
TS TTMP1 +1
CA DAP2
EXTEND
MP N10 +11D # N31/2
DAS TTMP1
CS DAP3 +1
EXTEND
MP N10 +13D # D31/2
TS TTMP2 +1
CS DAP3
EXTEND
MP N10 +13D # D31/2
DAS TTMP2
DXCH TTMP2
DAS TTMP1
DXCH TTMP1
DDOUBL
DAS TMP6
DXCH TMP6
DXCH TMP5
CAF ZERO
TS TTMP1
TS TMP6
CA DAP2 +1 # MULTIPLY INPUT BY
EXTEND
MP N10 +12D # N32
TS TTMP1 +1
CA DAP2
EXTEND
MP N10 +12D # N32
DAS TTMP1
CS DAP3 +1
EXTEND
MP N10 +14D # D32
TS TMP6 +1
CS DAP3
EXTEND
# Page 977
MP N10 +14D # D32
DAS TMP6
DXCH TTMP1
DAS TMP6
TC Q
# Page 978
# CONSTANTS FOR AUTOPILOTS
# NOTE....1 ASCREV (ACTUATOR CMD SCALING) = 85.41 ARCSEC/BIT OR 1.07975111 REVS (85.41x16384/3600/360)
# 1 SPASCREV (SPECIAL ACTUATOR CMD SCALING) = 1.04620942 REVS
ACTSAT DEC 253 # ACTUATOR LIMIT (6 DEG), SC.AT 1ASCREV
1/ACTSAT DEC .0039525692 # RECIPROCAL (1/253)
ERRLIM EQUALS BIT13 # FILTER INPUT LIMIT....B-3 REVS (45DEG),
1/ERRLIM EQUALS BIT3 # SC.AT B-1 REV, AND ITS RECIPROCAL
PITCHT5 GENADR PITCHDAP # UPPER WORDS OF T5 2CADRS, LOWER WORDS
DAPT5 GENADR DAPINIT # (BBCON) ALREADY THERE. ORDER IS
YAWT5 GENADR YAWDAP # REQUIRED.
1/RTLIM DEC 0.004715 # .004715(CDUDIF) = 0 IF CDUIF < 2.33 DEG
1-E(-AT) OCT 00243 # AT = .01SEC....EITHER(1/A=4SEC, T=40MS),
E(-AT) OCT 37535 # OR(1/A=8SEC, T=80MS)