Merge pull request #754 from serialhex/POWERED_FLIGHT_SUBROUTINES-proofread
Proof POWERED_FLIGHT_SUBROUTINES #624
This commit is contained in:
commit
6b3d6cea81
@ -35,22 +35,22 @@
|
|||||||
EBANK= DEXDEX
|
EBANK= DEXDEX
|
||||||
COUNT* $$/POWFL
|
COUNT* $$/POWFL
|
||||||
|
|
||||||
# CDUTRIG, CDUTRIG1, CDUTRIG2, AND CD*TR*GS ALL COMPUTE THE SINES AND
|
# CDUTRIG, CDUTRIG1, CDUTRIG2, AND CD*TR*GS ALL COMPUTE THE SINES AND
|
||||||
# COSINES OF THREE 2'S COMPLEMENT ANGLES AND PLACE THE RESULT, DOUBLE
|
# COSINES OF THREE 2'S COMPLEMENT ANGLES AND PLACE THE RESULT, DOUBLE
|
||||||
# PRECISION, IN THE SAME ORDER AS THE INPUTS, AT SINCDU AND COSCDU. AN
|
# PRECISION, IN THE SAME ORDER AS THE INPUTS, AT SINCDU AND COSCDU. AN
|
||||||
# ADDITIONAL OUTPUT IS THE 1'S COMPLEMENT ANGLES AT CDUSPOT. THESE
|
# ADDITIONAL OUTPUT IS THE 1'S COMPLEMENT ANGLES AT CDUSPOT. THESE
|
||||||
# ROUTINES GO OUT OF THEIR WAY TO LEAVE THE MPAC AREA AS THEY FIND IT.
|
# ROUTINES GO OUT OF THEIR WAY TO LEAVE THE MPAC AREA AS THEY FIND IT,
|
||||||
# EXCEPT FOR THE GENERALLY UNIMPORTANT MPAC +2. THEY DIFFER ONLY IN
|
# EXCEPT FOR THE GENERALLY UNIMPORTANT MPAC +2. THEY DIFFER ONLY IN
|
||||||
# WHERE THEY GET THE ANGLES, AND IN METHOD OF CALLING.
|
# WHERE THEY GET THE ANGLES, AND IN METHOD OF CALLING.
|
||||||
#
|
#
|
||||||
# CDUTRIG (AND CDUTRIG1, WHICH CAN BE CALLED IN BASIC) COMPUTE THE
|
# CDUTRIG (AND CDUTRIG1, WHICH CAN BE CALLED IN BASIC) COMPUTE THE
|
||||||
# SINES AND COSINES FROM THE CURRENT CONTENTS OF THE CDU REGISTERS.
|
# SINES AND COSINES FROM THE CURRENT CONTENTS OF THE CDU REGISTERS.
|
||||||
# THE CONTENTS OF CDUTEMP, ETC., ARE NOT TOUCHED SO THAT THEY MAY
|
# THE CONTENTS OF CDUTEMP, ETC., ARE NOT TOUCHED SO THAT THEY MAY
|
||||||
# CONTINUE TO FORM A CONSISTENT SET WITH THE LATEST PIPA READINGS.
|
# CONTINUE TO FORM A CONSISTENT SET WITH THE LATEST PIPA READINGS.
|
||||||
#
|
#
|
||||||
# CDUTRIG1 IS LIKE CDUTRIG EXCEPT THAT IT CAN BE CALLED IN BASIC.
|
# CDUTRIG1 IS LIKE CDUTRIG EXCEPT THAT IT CAN BE CALLED IN BASIC.
|
||||||
#
|
#
|
||||||
# CD*TR*GS FINDS CDU VALUES IN CDUSPOT RATHER THAN IN CDUTEMP. THIS
|
# CD*TR*GS FINDS CDU VALUES IN CDUSPOT RATHER THAN IN CDUTEMP. THIS
|
||||||
# ALLOWS USERS TO MAKE TRANSFORMATIONS USING ARBITRARY ANGLES, OR REAL
|
# ALLOWS USERS TO MAKE TRANSFORMATIONS USING ARBITRARY ANGLES, OR REAL
|
||||||
# ANGLES IN AN ORDER OTHER THAN X Y Z. A CALL TO THIS ROUTINE IS
|
# ANGLES IN AN ORDER OTHER THAN X Y Z. A CALL TO THIS ROUTINE IS
|
||||||
# NECESSARY IN PREPARATION FOR A CALL TO AX*SR*T IN EITHER OF ITS TWO
|
# NECESSARY IN PREPARATION FOR A CALL TO AX*SR*T IN EITHER OF ITS TWO
|
||||||
@ -61,7 +61,7 @@
|
|||||||
# IT CLOBBERS BUF2 (IN THE SINE AND COSINE ROUTINES) CD*TR*GS CANNOT BE
|
# IT CLOBBERS BUF2 (IN THE SINE AND COSINE ROUTINES) CD*TR*GS CANNOT BE
|
||||||
# CALLED USING BANKCALL. SORRY.
|
# CALLED USING BANKCALL. SORRY.
|
||||||
#
|
#
|
||||||
# CD*TR*G IS LIKE CD*TR*GS EXCEPT THAT IT CAN BE CALLED IN
|
# CD*TR*G IS LIKE CD*TR*GS EXCEPT THAT IT CAN BE CALLED IN
|
||||||
# INTERPRETIVE.
|
# INTERPRETIVE.
|
||||||
|
|
||||||
CDUTRIG EXIT
|
CDUTRIG EXIT
|
||||||
@ -116,7 +116,7 @@ TR*GL**P MASK SIX # MAKE IT EVEN AND SMALLER
|
|||||||
TC TEM2
|
TC TEM2
|
||||||
# Page 1261
|
# Page 1261
|
||||||
# *******************************************************************************************************
|
# *******************************************************************************************************
|
||||||
# QUICTRIG, INTENDED FOR QUIDANCE CYCLE USE WHERE TIME IS CRITICAL, IS A MUCH FASTER VERSION OF CD*TR*GS.
|
# QUICTRIG, INTENDED FOR GUIDANCE CYCLE USE WHERE TIME IS CRITICAL, IS A MUCH FASTER VERSION OF CD*TR*GS.
|
||||||
# QUICTRIG COMPUTES AND STORES THE SINES AND COSINES OF THE 2'S COMPLEMENT ANGLES AT CDUSPOT, CDUSPOT +2,
|
# QUICTRIG COMPUTES AND STORES THE SINES AND COSINES OF THE 2'S COMPLEMENT ANGLES AT CDUSPOT, CDUSPOT +2,
|
||||||
# AND CDUSPOT +4. UNLIKE CD*TR*GS, QUICTRIG DOES NOT LEAVE THE 1'S COMPLEMENT VERSIONS OF THE ANGLES IN
|
# AND CDUSPOT +4. UNLIKE CD*TR*GS, QUICTRIG DOES NOT LEAVE THE 1'S COMPLEMENT VERSIONS OF THE ANGLES IN
|
||||||
# CDUSPOT. QUICTRIG'S EXECUTION TIME IS 4.1 MS; THIS IS 10 TIMES AS FAST AS CD*TR*GS. QUICTRIG MAY BE
|
# CDUSPOT. QUICTRIG'S EXECUTION TIME IS 4.1 MS; THIS IS 10 TIMES AS FAST AS CD*TR*GS. QUICTRIG MAY BE
|
||||||
@ -150,23 +150,23 @@ QUICTRIG INHINT # INHINT SINCE DAP USES THE SAME TEMPS
|
|||||||
|
|
||||||
# Page 1262
|
# Page 1262
|
||||||
#****************************************************************************
|
#****************************************************************************
|
||||||
# THESE INTERFACE ROUTINES MAKE IT POSSIBLE TO CALL AX*SR*T, ETC., IN
|
# THESE INTERFACE ROUTINES MAKE IT POSSIBLE TO CALL AX*SR*T, ETC., IN
|
||||||
# INTERPRETIVE. LATER, WHERE POSSIBLE, THEY WILL BE ELIMINATED.
|
# INTERPRETIVE. LATER, WHERE POSSIBLE, THEY WILL BE ELIMINATED.
|
||||||
#
|
#
|
||||||
# THESE INTERFACE ROUTINES ARE PERMANENT. ALL RESTORE USER'S EBANK
|
# THESE INTERFACE ROUTINES ARE PERMANENT. ALL RESTORE USER'S EBANK
|
||||||
# SETTING. ALL ARE STRICT INTERPRETIVE SUBROUTINES, CALLED USING "CALL",
|
# SETTING. ALL ARE STRICT INTERPRETIVE SUBROUTINES, CALLED USING "CALL",
|
||||||
# RETURNING VIA QPRET. ALL EXPECT AND RETURN THE VECTOR TO BE TRANSFORMED
|
# RETURNING VIA QPRET. ALL EXPECT AND RETURN THE VECTOR TO BE TRANSFOR-
|
||||||
# INTERPRETER-STYLE IN MPAC; COMPONENTS AT MPAC, MPAC +3, AND MPAC +5.
|
# MED INTERPRETER-STYLE IN MPAC; COMPONENTS AT MPAC, MPAC +3, AND MPAC +5.
|
||||||
#
|
#
|
||||||
# TRG*SMNB AND TRG*NBSM BOTH EXPECT TO SEE THE 2'S COMPLEMENT ANGLES
|
# TRG*SMNB AND TRG*NBSM BOTH EXPECT TO SEE THE 2'S COMPLEMENT ANGLES
|
||||||
# AT CDUSPOT (ORDER Y Z X, AT CDUSPOT, CDUSPOT +2, AND CDUSPOT +4; ODD
|
# AT CDUSPOT (ORDER Y Z X, AT CDUSPOT, CDUSPOT +2, AND CDUSPOT +4; ODD
|
||||||
# LOCATIONS NEED NOT BE ZEROED). TRG*NBSM DOES THE NB TO SM TRANSFORMATION;
|
# LOCATIONS NEED NOT BE ZEROED). TRG*NBSM DOES THE NB TO SM TRANSFOR-
|
||||||
# TRG*SMNB, VICE VERSA.
|
# MATION; TRG*SMNB, VICE VERSA.
|
||||||
#
|
#
|
||||||
# CDU*NBSM DOES ITS TRANSFORMATION USING THE PRESENT CONTENTS OF
|
# CDU*NBSM DOES ITS TRANSFORMATION USING THE PRESENT CONTENTS OF
|
||||||
# THE CDL COUNTERS. OTHERWISE IT IS LIKE TRG*NBSM.
|
# THE CDU COUNTERS. OTHERWISE IT IS LIKE TRG*NBSM.
|
||||||
#
|
#
|
||||||
# CDU*SMNB IS THE COMPLEMENT OF CDU*NBSM.
|
# CDU*SMNB IS THE COMPLEMENT OF CDU*NBSM.
|
||||||
|
|
||||||
CDU*SMNB EXIT
|
CDU*SMNB EXIT
|
||||||
TC CDUTRIGS
|
TC CDUTRIGS
|
||||||
@ -175,7 +175,7 @@ CDU*SMNB EXIT
|
|||||||
TRG*SMNB EXIT
|
TRG*SMNB EXIT
|
||||||
TC CD*TR*GS
|
TC CD*TR*GS
|
||||||
C*MM*N1 TC MPACVBUF # AX*SR*T EXPECTS VECTOR IN VBUF
|
C*MM*N1 TC MPACVBUF # AX*SR*T EXPECTS VECTOR IN VBUF
|
||||||
CS THREE # SIGNAL FOR SM TO NB TRANSFORMATION.
|
CS THREE # SIGNAL FOR SM TO NB TRANSFORMATION
|
||||||
C*MM*N2 TC AX*SR*T
|
C*MM*N2 TC AX*SR*T
|
||||||
TC INTPRET
|
TC INTPRET
|
||||||
VLOAD RVQ
|
VLOAD RVQ
|
||||||
@ -191,11 +191,11 @@ C*MM*N3 TC MPACVBUF # FOR AX*SR*T
|
|||||||
CA THREE # SIGNAL FOR NB TO SM TRANSFORMATION
|
CA THREE # SIGNAL FOR NB TO SM TRANSFORMATION
|
||||||
TCF C*MM*N2
|
TCF C*MM*N2
|
||||||
|
|
||||||
# *NBSM* AND *SMNB* EXPECT TO SEE THE SINES AND COSINES (AT SINCDU
|
# *NBSM* AND *SMNB* EXPECT TO SEE THE SINES AND COSINES (AT SINCDU
|
||||||
# AND COSCDU) RATHER THAN THE ANGLES THEMSELVES. OTHERWISE THEY ARE
|
# AND COSCDU) RATHER THAN THE ANGLES THEMSELVES. OTHERWISE THEY ARE
|
||||||
# LIKE TRG*NBSM AND TRG*SMNB.
|
# LIKE TRG*NBSM AND TRG*SMNB.
|
||||||
#
|
#
|
||||||
# NOTE THAT JUST AS CD*TR*GS NEED BE CALLED ONLY ONCE FOR EACH SERIES
|
# NOTE THAT JUST AS CD*TR*GS NEED BE CALLED ONLY ONCE FOR EACH SERIES
|
||||||
# OF TRANSFORMATIONS USING THE SAME ANGLES, SO TOO ONLY ONE OF TRG*NBSM
|
# OF TRANSFORMATIONS USING THE SAME ANGLES, SO TOO ONLY ONE OF TRG*NBSM
|
||||||
# Page 1263
|
# Page 1263
|
||||||
# AND TRG*SMNB NEED BE CALLED FOR EACH SERIES. FOR SUBSEQUENT TRANFOR-
|
# AND TRG*SMNB NEED BE CALLED FOR EACH SERIES. FOR SUBSEQUENT TRANFOR-
|
||||||
@ -207,25 +207,25 @@ C*MM*N3 TC MPACVBUF # FOR AX*SR*T
|
|||||||
*NBSM* EXIT
|
*NBSM* EXIT
|
||||||
TCF C*MM*N3
|
TCF C*MM*N3
|
||||||
|
|
||||||
# AX*SR*T COMBINES THE OLD SMNB AND NBSM. FOR THE NB TO SM
|
# AX*SR*T COMBINES THE OLD SMNB AND NBSM. FOR THE NB TO SM
|
||||||
# TRANSFORMATION, ENTER WITH +3 IN A. FOR SM TO NB, ENTER WITH -3.
|
# TRANSFORMATION, ENTER WITH +3 IN A. FOR SM TO NB, ENTER WITH -3.
|
||||||
# THE VECTOR TO BE TRANSFORMED ARRIVES, AND IS RETURNED, IN VBUF.
|
# THE VECTOR TO BE TRANSFORMED ARRIVES, AND IS RETURNED, IN VBUF.
|
||||||
# AX*SR*T EXPECTS TO FIND THE SINES AND COSINES OF THE ANGLES OF ROTATION
|
# AX*SR*T EXPECTS TO FIND THE SINES AND COSINES OF THE ANGLES OF ROTATION
|
||||||
# AT SINCDU AND COSCDU, IN THE ORDER Y Z X. A CALL TO CD*TR*GS, WITH
|
# AT SINCDU AND COSCDU, IN THE ORDER Y Z X. A CALL TO CD*TR*GS, WITH
|
||||||
# THE 2'S COMPLEMENT ANGLES (ORDER Y Z X) AT CDUSPOT, WILL TAKE CARE OF
|
# THE 2'S COMPLEMENT ANGLES (ORDER Y Z X) AT CDUSPOT, WILL TAKE CARE OF
|
||||||
# THIS. HERE IS A SAMPLE CALLING SEQUENCE:--
|
# THIS. HERE IS A SAMPLE CALLING SEQUENCE:-
|
||||||
# TC CDUTRIGS
|
# TC CDUTRIGS
|
||||||
# CS THREE # ("CA THREE" FOR NBSM)
|
# CS THREE # ("CA THREE" FOR NBSM)
|
||||||
# TC AX*SR*T
|
# TC AX*SR*T
|
||||||
# THE CALL TO CD*TR*GS NEED NOT BE REPEATED, WHEN AX*SR*T IS CALLED MORE
|
# THE CALL TO CD*TR*GS NEED NOT BE REPEATED, WHEN AX*SR*T IS CALLED MORE
|
||||||
# THAN ONCE, UNLESS THE ANGLES HAVE CHANGED.
|
# THAN ONCE, UNLESS THE ANGLES HAVE CHANGED.
|
||||||
#
|
#
|
||||||
# AX*SR*T IS GUARANTEED SAFE ONLY FOR VECTORS OF MAGNITUDE LESS THAN
|
# AX*SR*T IS GUARANTEED SAFE ONLY FOR VECTORS OF MAGNITUDE LESS THAN
|
||||||
# UNITY. A LOOK AT THE CASE IN WHICH A VECTOR OF GREATER MAGNITUDE
|
# UNITY. A LOOK AT THE CASE IN WHICH A VECTOR OF GREATER MAGNITUDE
|
||||||
# HAPPENS TO LIE ALONG AN AXIS OF THE SYSTEM TO WHICH IT IS TO BE TRANS-
|
# HAPPENS TO LIE ALONG AN AXIS OF THE SYSTEM TO WHICH IT IS TO BE TRANS-
|
||||||
# FORMED CONVINCES ONE THAT THIS IS A RESTRICTION WHICH MUST BE ACCEPTED.
|
# FORMED CONVINCES ONE THAT THIS IS A RESTRICTION WHICH MUST BE ACCEPTED.
|
||||||
|
|
||||||
AX*SR*T TS DEXDEX # WHERE IT BECOMES THE INDEX OF INDEXES.
|
AX*SR*T TS DEXDEX # WHERE IT BECOMES THE INDEX OF INDEXES
|
||||||
EXTEND
|
EXTEND
|
||||||
QXCH RTNSAVER
|
QXCH RTNSAVER
|
||||||
|
|
||||||
@ -304,7 +304,7 @@ INDEXI DEC 4 # ********** DON'T ***********
|
|||||||
BANK
|
BANK
|
||||||
COUNT* $$/POWFL
|
COUNT* $$/POWFL
|
||||||
|
|
||||||
# ROUTINE FLESHPOT COMPUTES THE BODY-STABLE MEMBER TRANSFORMATION MATRIX (COMMONLY CALLED XNB) AND STORES
|
# ROUTINE FLESHPOT COMPUTES THE BODY-STABLE MEMBER TRANSFORMATION MATRIX (COMMONLY CALLED XNB) AND STORES
|
||||||
# IT IN THE LOCATIONS SPECIFIED BY THE ECADR ENTERING IN A.
|
# IT IN THE LOCATIONS SPECIFIED BY THE ECADR ENTERING IN A.
|
||||||
|
|
||||||
CALCSMSC EXIT
|
CALCSMSC EXIT
|
||||||
@ -405,7 +405,7 @@ FLESHPOT TS TEM2
|
|||||||
EXTEND
|
EXTEND
|
||||||
DCA MPAC
|
DCA MPAC
|
||||||
INDEX TEM1
|
INDEX TEM1
|
||||||
DXCH 14 # = - SINY COSX + SINX SINZ COSY
|
DXCH 14 # = SINY COSX + SINX SINZ COSY
|
||||||
|
|
||||||
EXTEND
|
EXTEND
|
||||||
DCA MPAC +3
|
DCA MPAC +3
|
||||||
@ -444,4 +444,3 @@ FLESHPOT TS TEM2
|
|||||||
CA TEM2
|
CA TEM2
|
||||||
TS EBANK
|
TS EBANK
|
||||||
TCF SWRETURN
|
TCF SWRETURN
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user