diff --git a/Comanche055/TVCEXECUTIVE.agc b/Comanche055/TVCEXECUTIVE.agc index 79c7e45..fccbdb8 100644 --- a/Comanche055/TVCEXECUTIVE.agc +++ b/Comanche055/TVCEXECUTIVE.agc @@ -33,22 +33,23 @@ # Page 945 # PROGRAM NAME.... TVCEXECUTIVE, CONSISTING OF TVCEXEC, NEEDLEUP, VARGAINS # 1SHOTCHK, REPCHEK, CG.CORR, COPYCYCLES, ETC. -# LOG SECTION.... TVCEXECUTIVE SUBROUTINE ....DAPCSM -# MOD BY SCHLUNDT 21 OCTOBER 1968 -# +# LOG SECTION...TVCEXECUTIVE SUBROUTINE...DAPCSM +# MODIFIED BY SCHLUNDT 21 OCTOBER 1968 # FUNCTIONAL DESCRIPTION.... +# # *A SELF-PERPETUATING WAITLIST TASK AT 1/2 SECOND INTERVALS WHICH: -# PREPARES THE ROLL WITH OGA (CDUX) +# PREPARES THE ROLL DAP WITH OGA (CDUX) # PREPARES THE ROLL FDAI NEEDLE (FLY-TO OGA ERROR) # PREPARES THE ROLL PHASE PLANE OGAERR (FLY-FROM OGA ERROR) # PREPARES THE TVC ROLLDAP TASK WAITLIST CALL (3 CS DELAY) # UPDATES THE NEEDLES DISPLAY -# UPDATES THE VEHICLE MASS AND CALLS MASSPROP TO UPDATE INERTIA DATA +# UPDATES VEHICLE MASS AND CALLS MASSPROP TO UPDATE INERTIA DATA # UPDATES PITCH, YAW, AND ROLL DAP GAINS FROM MASSPROP DATA # PERFORMS ONE-SHOT CORRECTION FOR TMC LOOP 0-3 SEC AFTER IGNITION -# PERFORMS REPETITIVE UPDATES FOR THE TMC LOOP AFTER THE ONE-SHOT CORR. +# PERFORMS REPETITIVE UPDATES FOR TMC LOOP AFTER THE ONE-SHOT CORR. # # CALLING SEQUENCE.... +# # *TVCEXEC CALLED AS A WAITLIST TASK, IN PARTICULAR BY TVCINIT4 AND BY # ITSELF, BOTH AT 1/2 SECOND INTERVALS # @@ -59,12 +60,13 @@ # SUBROUTINES CALLED....NEEDLER, S40.15, MASSPROP, TASKOVER, IBNKCALL # # OTHER INTERFACES.... +# # *TVCRESTART PACKAGE FOR RESTARTS # *PITCHDAP, YAWDAP FOR VARIABLE GAINS AND ENGINE TRIM ANGLES -# # ERASABLE INITIALIZATION REQUIRED.... +# # *SEE TVCDAPON....TVCINIT4 -# *VARK AND 1/CONACC (S40.15 OF R03) +# *VARK AND 1/CONACC (S40.15 OF TVCINITIALIZE) # *PAD LOAD EREPFRAC # *BITS 15,14 OF FLAGWRD6 (T5 BITS) # *TVCEXPHS FOR RESTARTS @@ -72,7 +74,8 @@ # *CDUX, OGAD # # OUTPUT.... -# *ROLL DAP OGANOW, FDAI NEEDLE= (AK). AND PHASE PLANE OGAERR +# +# *ROLL DAP OGANOW, FDAI NEEDLE (AK), AND PHASE PLANE OGAERR # *VARIABLE GAINS FOR PITCH/YAW AND ROLL TVC DAPS # *SINGLE-SHOT AND REPETITIVE CORRECTIONS TO ENGINE TRIM ANGLES # PACTOFF AND YACTOFF @@ -87,7 +90,7 @@ COUNT* $$/TVCX TVCEXEC CS FLAGWRD6 # CHECK FOR TERMINATION (BITS 15,14 READ - MASK OCT60000 # 10 FROM TVCDAPON TO RCSDAPON) + MASK OCT60000 # 10 FROM TVCDAPON TO RCSDAPON) EXTEND BZMF TVCEXFIN # TERMINATE @@ -97,18 +100,18 @@ TVCEXEC CS FLAGWRD6 # CHECK FOR TERMINATION (BITS 15,14 READ 2CADR TVCEXEC ROLLPREP CAE CDUX # UPDATE ROLL LADDERS (NO NEED TO RESTART- - XCH OGANOW # PROTECT, SINCE ROLL DAPS RE-START) + XCH OGANOW # PROTECT, SINCE ROLL DAPS RE-START) XCH OGAPAST CAE OGAD # PREPARE ROLL FDAI NEEDLE WITH FLY-TO - EXTEND # ERROR (COMMAND - MEASURED) + EXTEND # ERROR (COMMAND - MEASURED) MSU OGANOW TS AK # FLY-TO OGA ERROR, SC.AT B-1 REVS - EXTEND # PREPARE ROLL DAP PHASE PLANE OGAERR + EXTEND # PREPARE ROLL DAP PHASE PLANE OGAERR MP -BIT14 TS OGAERR # PHASE-PLANE (FLY-FROM) OGAERROR, - # SC.AT B+0 REVS + # SC.AT B+0 REVS CAF THREE # SET UP ROLL DAP TASK (ALLOW SOME TIME) TC WAITLIST @@ -116,32 +119,32 @@ ROLLPREP CAE CDUX # UPDATE ROLL LADDERS (NO NEED TO RESTART- 2CADR ROLLDAP NEEDLEUP TC IBNKCALL # DO A NEEDLES UPDATE (RETURNS AFTER CADR) - CADR NEEDLER # (NEEDLES RESTARTS ITSELF) + CADR NEEDLER # (NEEDLES RESTARTS ITSELF) VARGAINS CAF BIT13 # CHECK ENGINE-ON BIT TO INHIBIT VARIABLE - EXTEND # GAINS AND MASS IF ENGINE OFF + EXTEND # GAINS AND MASS IF ENGINE OFF RAND DSALMOUT # CHANNEL 11 CCS A - TCF +4 # ON, SO OK TO UPDATE GAINS AND MASS - +5 CAF TWO # OFF, SO BYPASS MASS/GAIN UPDATES, - TS TVCEXPHS # ALSO ENTRY FROM CCS BELOW WITH - TCF 1SHOTCHK # VCNTR = -0 (V97 R40 ENGFAIL) - CCS VCNTR # TEST FOR GAIN OF UPDATE TIME - TCF +4 # NOT YET + TCF +4 # ON , SO OK TO UPDATE GAINS AND MASS + +5 CAF TWO # OFF, SO BYPASS MASS/GAIN UPDATES, + TS TVCEXPHS # ALSO ENTRY FROM CCS BELOW WITH + TCF 1SHOTCHK # VCNTR = -0 (V97 R40 ENGFAIL) + CCS VCNTR # TEST FOR GAIN OF UPDATE TIME + TCF +4 # NOT YET # Page 947 TCF GAINCHNG # NOW TCF +0 # NOT USED - TCF VARGAINS +5 # NO, LOTHRUST (S40.6 R40) + TCF VARGAINS +5 # NO, LOTHRUST (S40.8 R40) - +4 TS VCNTRTMP # PROTECT VCNTR AND + +4 TS VCNTRTMP # PROTECT VCNTR AND CAE CSMMASS # CSMMASS DURING AN IMPULSIVE BURN TS MASSTMP TCF EXECCOPY GAINCHNG TC IBNKCALL # UPDATE IXX, IAVG, IAVG/TLX - CADR FIXCW # MASSPROP ENTRY (ALREADY INITIALIZED) + CADR FIXCW # MASSPROP ENTRY (ALREADY INITIALIZED) TC IBNKCALL # UPDATE 1/CONACC, VARK - CADR S40.15 # (S40.15 IS IN TVCINITIALIZE) + CADR S40.15 # (S40.15 IS IN TVCINITIALIZE) CS TENMDOT # UPDATE MASS FOR NEXT 10 SEC. OF BURN AD CSMMASS TS MASSTMP # KG B+16 @@ -149,49 +152,49 @@ GAINCHNG TC IBNKCALL # UPDATE IXX, IAVG, IAVG/TLX CAF NINETEEN # RESET THE VARIABLE-GAIN UPDATE COUNTER TS VCNTRTMP -EXECCOPY INCR TVCEXPHS # RESTART-PROTECT THE COPYCYCLE (1) +EXECCOPY INCR TVCEXPHS # RESTART-PROTECT THE COPYCYCLE (1) CAE MASSTMP # CSMMASS KG B+16 TS CSMMASS CAE VCNTRTMP # VCNTR TS VCNTR - TS V97VCNTR # FOR ENGFAIL (R41) MASS UPATES AT SPSOFF + TS V97VCNTR # FOR ENGFAIL (R41) MASS UPDATES AT SPSOFF - INCR TVCEXPHS # COPYCYCLE OVER (2) + INCR TVCEXPHS # COPYCYCLE OVER (2) -1SHOTCHK CCS CNTR # CHECK FOR ONE-SHOT OR REPCORR - TCF +4 # NOT YET - TCF 1SHOTOK # NOW - TCF REPCHEK # ONE-SHOT OVER, ON TO REPCORR - TCF 1SHOTOK # NOW (ONE-SHOT ONLY, NO REPCORR) +1SHOTCHK CCS CNTR # CHECK TIME FOR ONE-SHOT OR REPCORR + TCF +4 # NOT YET + TCF 1SHOTOK # NOW + TCF REPCHEK # ONE-SHOT OVER, ON TO REPCORR + TCF 1SHOTOK # NOW (ONE-SHOT ONLY, NO REPCORR) +4 TS CNTRTMP # COUNT DOWN - CAF SIX # SETUP TVCEXPHS FOR ENTRY AT CNTRCOPY + CAF SIX # SET UP TVCEXPHS FOR ENTRY AT CNTRCOPY TS TVCEXPHS TCF CNTRCOPY REPCHEK CAE REPFRAC # CHECK FOR REPETITIVE UPDATES EXTEND - BZMF TVCEXFIN # NO (NEG OR +-ZERO) - TS TEMPDAP +1 # YES, SET UP CORRECTION FUNCTION + BZMF TVCEXFIN # NO, OVER-AND-OUT + TS TEMPDAP +1 # YES, SET UP CORRECTION FRACTION CAF FOUR # SET UP TVCEXPHS FOR ENTRY AT CORSETUP TS TVCEXPHS TCF CORSETUP # Page 948 1SHOTOK CAF BIT13 # CHECK ENGINE-ON BIT, NOT PERMITTING - EXTEND # SWITCHOVER DURING ENGINE-SHUTDOWN + EXTEND # ONE-SHOT DURING ENGINE-SHUTDOWN RAND DSALMOUT CCS A - TCF +2 # ONE-SHOT OK - TCF TVCEXFIN # NO, TERMINATE + TCF +2 # ONE-SHOT OK + TCF TVCEXFIN # NO, TERMINATE INCR TVCEXPHS # (3) # RSB 2009. The following instruction was previously "CAE FCORFRAC", but FCORFRAC # is not in erasable memory as implied by the use of CAE. I've accordingly changed # it to CAF instead to indicate fixed memory. -TEMPSET CAF FCORFRAC # SET UP CORRECTION FRACTION +TEMPSET CAF FCORFRAC # SET UP CORRECTION FRACTION TS TEMPDAP +1 INCR TVCEXPHS # ENTRY FROM REPCHECK AT NEXT LOCATION (4) @@ -204,8 +207,8 @@ CORSETUP CAE DAPDATR1 # CHECK FOR LEM-OFF/ON AD TEMPDAP +1 TS TEMPDAP # CG.CORR USES TEMPDAP - CAF NEGONE # SET UP FOR CNTR = -1 (SWTCHOVR DONE) - TS CNTRTMP # (COPYCYCLE AT "CNTRCOPY") + CAF NEGONE # SET UP FOR CNTR = -1 (ONE-SHOT DONE) + TS CNTRTMP # (COPYCYCLE AT .CNTRCOPY. ) CG.CORR EXTEND # PITCH TMC LOOP DCA PDELOFF @@ -246,7 +249,7 @@ CG.CORR EXTEND # PITCH TMC LOOP MP TEMPDAP DAS YACTTMP -CORCOPY INCR TVCEXPHS # RESTART-PROTECT THE COPYCYCLE (5) +CORCOPY INCR TVCEXPHS # RESTART PROTECT THE COPYCYCLE (5) EXTEND # TRIM-ESTIMATES, AND DCA PACTTMP