Update Fork

pull/771/head
atknssl 2020-10-20 20:36:43 +03:00
commit 07a8892632
3 changed files with 103 additions and 115 deletions

View File

@ -37,7 +37,7 @@
NEWDELHI TC BANKCALL # CHECK FOR AUTO STABILIZATION
CADR ISITAUTO # ONLY
CCS A
TCF NOGO -2
TCF NOGO -2
NEWANGL TC INTPRET
AXC,1 AXC,2
MIS # COMPUTE THE NEW MATRIX FROM S/C TO
@ -45,9 +45,9 @@ NEWANGL TC INTPRET
CALL
MXM3
VLOAD STADR
STOVL MIS +12D # CALCULATE NEW DESIRED CDU ANGLES
STOVL MIS +12D # CALCULATE NEW DESIRED CDU ANGLES
STADR
STOVL MIS +6D
STOVL MIS +6D
STADR
STORE MIS
AXC,1 CALL
@ -59,7 +59,7 @@ NEWANGL TC INTPRET
BONCLR EXIT
CALCMAN2
MANUSTAT # TO START MANEUVER
CAF TWO # +0 OTHERWISE
CAF TWO # +0 OTHERWISE
INCRDCDU TS SPNDX
INDEX SPNDX
CA BCDU # INITIAL CDU ANGLES
@ -67,16 +67,10 @@ INCRDCDU TS SPNDX
INDEX SPNDX
MSU NCDU
EXTEND
# The following 2 lines seem to have no purpose at all.
# I am removing them because they only serve to confuse
# the assembler by getting in between EXTEND and MP.
# --- RSB 2009.
#SETLOC KALCMON1
#BANK
SETLOC KALCMON1
BANK
MP DT/TAU
CCS A # CONVERT TO 2'S COMPLEMENT
CCS A # CONVERT TO 2S COMPLEMENT
AD ONE
TCF +2
COM
@ -94,7 +88,7 @@ INCRDCDU TS SPNDX
RELINT
# COMPARE PRESENT TIME WTIH TIME TO TERMINATE MANEUVER
# COMPARE PRESENT TIME WITH TIME TO TERMINATE MANEUVER
TMANUCHK TC TIMECHK
TCF CONTMANU
@ -117,11 +111,11 @@ TIMECHK EXTEND
TC Q
TCF +2
TCF 2NDRETRN
CCS TTEMP +1
CCS TTEMP +1
TC Q
TCF MANUOFF
COM
MANUOFF AD ONESEK +1
MANUOFF AD ONESEK +1
EXTEND
BZMF 2NDRETRN
INCR Q
@ -134,7 +128,7 @@ MANUSTAT EXIT # INITIALIZATION ROUTINE
EXTEND # FOR AUTOMATIC MANEUVERS
DCA TIME2
# Page 367
DAS TM # TM+TO MANEUVER COMPLETION TIME
DAS TM # TM+TO MANEUVER COMPLETION TIME
EXTEND
DCS ONESEK
DAS TM # (TM+TO)-1
@ -157,14 +151,14 @@ RATEBIAS TS KSPNDX
MP BRATE
EXTEND
INDEX KSPNDX
DV 1JACC # = AJX $ 90 DEG/SEC-SEC
DV 1JACC # =AJX $ 90 DEG/SEC-SEC
INDEX KSPNDX
TS DELPEROR # $ 180 DEG
TS DELPEROR # $ 180 DEG
CCS KSPNDX
TCF RATEBIAS
CA TIME1
AD ONESEK +1
AD ONESEK +1
XCH NEXTIME
TCF INCRDCDU -1
@ -185,7 +179,7 @@ MANUCALL INHINT # CALL FOR NEXT UPDATE VIA WAITLIST
EBANK= TTEMP
2CADR UPDTCALL
# Page 368
CAF ONESEK +1 # INCREMENT TIME FOR NEXT UPDATE
CAF ONESEK +1 # INCREMENT TIME FOR NEXT UPDATE
ADS NEXTIME
TCF ENDOFJOB
@ -213,7 +207,7 @@ MANUSTOP CAF ZERO # ZERO MANEUVER RATES
ENDROLL CA CPHI # NO FINAL YAW
TS CDUXD
CAF ZERO
TS OMEGAPD # I.E., MANEUVER DID NOT GO THRU
TS OMEGAPD # I.E. MANEUVER DID NOT GO THRU
TS DELDCDU # GIMBAL LOCK ORIGINALLY
TS DELPEROR
GOODMANU CA ATTPRIO # RESTORE USERS PRIO
@ -225,5 +219,3 @@ GOODMANU CA ATTPRIO # RESTORE USERS PRIO
TC SPVAC # RETURN TO USER
TC TASKOVER

View File

@ -51,7 +51,7 @@ ACCEPTUP CAF CHRPRIO # (NOTE: RUPTREG4 = KEYTEMP1)
CA RUPTREG4
INDEX LOCCTR
TS MPAC # LEAVE 5 BIT KEY CODE IN MPAC FOR CHARIN
TS MPAC # LEAVE 5 BIT KEY CDE IN MPAC FOR CHARIN
TC RESUME
# Page 1339
@ -83,9 +83,9 @@ UPRPT1 CAF LOW5 # TEST FOR TRIPLE CHAR REDUNDANCY
COM
TC UPTEST
UPCK CS ELRCODE # CODE IS GOOD. IF CODE = `ERROR RESET',
AD KEYTEMP1 # CLEAR UPLOCKFL (SET BIT4 OF FLAGWRD7 = 0)
EXTEND # IF CODE DOES NOT = `ERROR RESET', ACCEPT
UPCK CS ELRCODE # CODE IS GOOD. IF CODE = 'ERROR RESET',
AD KEYTEMP1 # CLEAR UPLOCKFL(SET BIT4 OF FLAGWRD7 = 0)
EXTEND # IF CODE DOES NOT = 'ERROR RESET', ACCEPT
BZF CLUPLOCK # CODE ONLY IF UPLOCKFL IS CLEAR (=0).
CAF UPLOCBIT # TEST UPLOCKFL FOR 0 OR 1
@ -94,7 +94,7 @@ UPCK CS ELRCODE # CODE IS GOOD. IF CODE = `ERROR RESET',
TC RESUME # UPLOCKFL = 1
TC ACCEPTUP # UPLOCKFL = 0
CLUPLOCK CS UPLOCBIT # CLEAR UPLOCKFL (I.E., SET BIT 4 OF
CLUPLOCK CS UPLOCBIT # CLEAR UPLOCKFL (I.E.,SET BIT 4 OF )
MASK FLAGWRD7 # FLAGWRD7 = 0)
TS FLAGWRD7
TC ACCEPTUP
@ -102,7 +102,7 @@ CLUPLOCK CS UPLOCBIT # CLEAR UPLOCKFL (I.E., SET BIT 4 OF
# CODE IS BAD
TMFAIL2 CS FLAGWRD7 # LOCK OUT FURTHER UPLINK ACTIVITY
MASK UPLOCBIT # (BY SETTING UPLOCKFL = 1) UNTIL
ADS FLAGWRD7 # `ERROR RESET' IS SENT VIA UPLINK.
ADS FLAGWRD7 # 'ERROR RESET' IS SENT VIA UPLINK.
TC RESUME
UPTEST AD KEYTEMP1
# Page 1340
@ -114,19 +114,17 @@ HI10 OCT 77740
ELRCODE OCT 22
# `UPLINK ACTIVITY LIGHT' IS TURNED OFF BY .....
# 1. VBRELDSP
# 2. ERROR RESET
# 3. UPDATE PROGRAM (P27) ENTERED BY V70,V71,V72, AND V73.
# _
# THE RECEPTION OF A BAD CODE (I.E., CCC FAILURE) LOCKS OUT FURTHER UPLINK ACTIVITY BY SETTING BIT4 OF FLAGWRD7 = 1.
# THIS INDICATION WILL BE TRANSFERRED TO THE GROUND BY THE DOWNLINK WHICH DOWNLINKS ALL FLAGWORDS.
# WHEN UPLINK ACTIVITY IS LOCKED OUT, IT CAN BE ALLOWED WHEN THE GROUND UPLINKS AND `ERROR RESET' CODE.
# (IT IS RECOMMENDED THAT THE `ERROR LIGHT RESET' CODE IS PRECEEDED BY 16 BITS THE FIRST OF WHICH IS 1 FOLLOWED
# BY 15 ZEROS. THIS WILL ELIMINATE EXTRANEOUS BITS FROM INLINK WHICH MAY HAVE BEEN LEFT OVER FROM THE ORIGINAL
# FAILURE).
# 'UPLINK ACTIVITY LIGHT' IS TURNED OFF BY .....
# 1. VBRELDSP
# 2. ERROR RESET
# 3. UPDATE PROGRAM(P27) ENTERED BY V70,V71,V72,AND V73.
#
# UPLINK ACTIVITY IS ALSO ALLOWED (UNLOCKED) DURING FRESH START WHEN FRESH START SETS BIT4 OF FLAGWRD7 = 0.
# _
# THE RECEPTION OF A BAD CODE(I.E CCC FAILURE) LOCKS OUT FURTHER UPLINK ACTIVITY BY SETTING BIT4 OF FLAGWRD7 = 1.
# THIS INDICATION WILL BE TRANSFERRED TO THE GROUND BY THE DOWNLINK WHICH DOWNLINKS ALL FLAGWORDS.
# WHEN UPLINK ACTIVITY IS LOCKED OUT ,IT CAN BE ALLOWED WHEN THE GROUND UPLINKS AND 'ERROR RESET' CODE.
# (IT IS RECOMMENDED THAT THE 'ERROR LIGHT RESET' CODE IS PRECEEDED BY 16 BITS THE FIRST OF WHICH IS 1 FOLLOWED
# BY 15 ZEROES. THIS WILL ELIMINATE EXTRANEOUS BITS FROM INLINK WHICH MAY HAVE BEEN LEFT OVER FROM THE ORIGINAL
# FAILURE)
# UPLINK ACTIVITY IS ALSO ALLOWED(UNLOCKED) DURING FRESH START WHEN FRESH START SETS BIT4 OF FLAGWRD7 = 0.
CS XDSPBIT

View File

@ -29,24 +29,24 @@
# SUBROUTINE TO CONVERT RAD VECTOR AT GIVEN TIME TO LAT,LONG AND ALT
#
# CALLING SEQUENCE
# L-1 CALL
# L LAT-LONG
#
# L-1 CALL
# L LAT-LONG
# SUBROUTINES USED
# R-TO-RP, ARCTAN, SFTGAMMA, SETRE
#
# R-TO-RP,ARCTAN,SETGAMMA,SETRE
# ERASABLE INIT. REQ.
# AXO, -AYO, AZO, TEPHEM (SET AT LAUNCH TIME)
# ALPHAV = POSITION VECTOR METERS B-29
# MPAC -- TIME (CSECS B-28)
# ERADFLAG =1, TO COMPUTE EARTH RADIUS, =0 FOR FIXED EARTH RADIUS
# LUNAFLAG=0 FOR EARTH, 1 FOR MOON
#
# AXO,-AYO,AZO,TEPHEM (SET AT LAUNCH TIME)
# ALPHAV = POSITION VECTOR METERS B-29
# MPAC-- TIME (CSECS B-28)
# ERADFLAG =1, TO COMPUTE EARTH RADIUS, =0 FOR FIXED EARTH RADIUS
# LUNAFLAG=0 FOR EARTH,1 FOR MOON
# OUTPUT
# LATITUDE IN LAT (REVS. B-0)
# LONGITUDE IN LONG (REVS. B-0)
# ALTITUDE IN ALT METERS B-29
#
# LATITUDE IN LAT (REVS. B-0)
# LONGITUDE IN LONG (REVS. B-0)
# ALTITUDE IN ALT METERS B-29
BANK 30
SETLOC LATLONG
BANK
@ -60,16 +60,16 @@ LAT-LONG STQ SETPD
ALPHAV
PUSH ABVAL # 0-5D= R FOR R-TO-RP
STODL ALPHAM # ABS. VALUE OF R FOR ALT FORMULA BELOW
ZEROVEC # SET MPAC=0 FOR EARTH, NON-ZERO FOR MOON
ZEROVEC # SET MPAC=0 FOR EARTH,NON-ZERO FOR MOON
BOFF COS # USE COS(0) TO GET NON-ZERO IN MPAC
LUNAFLAG # 0=EARTH, 1=MOON
LUNAFLAG # 0=EARTH,1=MOON
CALLRTRP
CALLRTRP CALL
R-TO-RP # RP VECTOR CONVERTED FROM R B-29
UNIT # UNIT RP B-1
STCALL ALPHAV # U2= 1/2 SINL FOR SETRE SUBR BELOW
SETGAMMA # SET GAMMA=B2/A2 FOR EARTH, =1 FOR MOON
CALL # SCALED B-1
SETGAMMA # SET GAMMA=B2/A2 FOR EARTH,=1 FOR MOON
CALL # SCALED B-1
SETRE # CALC RE METERS B-29
DLOAD DSQ
ALPHAV
@ -96,49 +96,48 @@ CALLRTRP CALL
STCALL ALT # EXIT WITH ALT METERS B-29
INCORPEX
# Page 1135
# SUBROUTINE TO CONVERT LAT,LONG.ALT AT GIVEN TIME TO RADIUS VECTOR
#
# SUBROUTINE TO CONVERT LAT,LONG,ALT AT GIVEN TIME TO RADIUS VECTOR
# CALLING SEQUENCE
# L-1 CALL
# L LALOTORV
#
# L-1 CALL
# L LALOTORV
# SUBROUTINES USED
# SETGAMMA, SETRE, RP-TO-R
#
# SETGAMMA,SETRE,RP-TO-R
# ERASABLE INIT. REQ.
# AXO, AYO, AZO, TEPHEM SET AT LAUNCH TIME
# LAT -- LATITUDE (REVS B0)
# LONG -- LONGITUDE (REVS B0)
# ALT -- ALTITUDE (METERS) B-29
# MPAC -- TIME (CSECS B-28)
# ERADFLAG =1 TO COMPUTE EARTH RADIUS, =0 FOR FIXED EARTH RADIUS
# LUNAFLAG=0 FOR EARTH, 1 FOR MOON
#
# AXO,AYO,AZO,TEPHEM SET AT LAUNCH TIME
# LAT-- LATITUDE (REVS B0)
# LONG-- LONGITUDE (REVS B0)
# ALT--ALTITUDE (METERS) B-29
# MPAC-- TIME (CSECS B-28)
# ERADFLAG =1 TO COMPUTE EARTH RADIUS, =0 FOR FIXED EARTH RADIUS
# LUNAFLAG=0 FOR EARTH,1 FOR MOON
# OUTPUT
# R-VECTOR IN ALPHAV (METERS B-29)
#
# R-VECTOR IN ALPHAV (METERS B-29)
LALOTORV STQ SETPD # LAT,LONG,ALT TO R VECTOR
INCORPEX
0D
STCALL 6D # 6-7D= TIME FOR RP-TO-R
SETGAMMA # GAMMA=B2/A2 FOR EARTH, 1 FOR MOON B-1
SETGAMMA # GAMMA=B2/A2 FOR EARTH,1 FOR MOON B-1
DLOAD SIN # COS(LONG)COS(LAT) IN MPAC
LAT # UNIT RP = SIN(LONG)COS(LAT) 2-3D
LAT # UNIT RP= SIN(LONG)COS(LAT) 2-3D
DMPR PDDL # PD 2 GAMMA*SIN(LAT) 0-1D
GAMRP
LAT # 0-1D = GAMMA*SIN(LAT) B-2
COS PDDL # PD4 2-3D = COS(LAT) B-1 TEMPORARILY
LAT # 0-1D= GAMMA*SIN(LAT) B-2
COS PDDL # PD4 2-3D=COS(LAT) B-1 TEMPORARILY
LONG
SIN DMPR # PD 2
PDDL COS # PD 4 2-3D = SIN(LONG)COS(LAT) B-2
PDDL COS # PD 4 2-3D=SIN(LONG)COS(LAT) B-2
LAT
PDDL COS # PD 6 4-5D = COS(LAT) B-1 TEMPORARILY
PDDL COS # PD 6 4-5D=COS(LAT) B-1 TEMPORARILY
LONG
DMPR VDEF # PD 4 MPAC = COS(LONG)COS(LAT) B-2
DMPR VDEF # PD 4 MPAC= COS(LONG)COS(LAT) B-2
UNIT PUSH # 0-5D= UNIT RP FOR RP-TO-R SUBR.
STCALL ALPHAV # ALPHAV +4= SINL FOR SETRE SUBR.
SETRE # RE METERS B-29
DLOAD BOFF # SET MPAC=0 FOR EARTH, NON-ZERO FOR MOON
DLOAD BOFF # SET MPAC=0 FOR EARTH,NON-ZERO FOR MOON
ZEROVEC
LUNAFLAG
CALLRPRT
@ -154,14 +153,15 @@ CALLRPRT CALL
VSL1 # R METERS B-29
STCALL ALPHAV # EXIT WITH R IN METERS B-29
INCORPEX
# SUBROUTINE TO COMPUTE EARTH RADIUS
#
# INPUT
# 1/2 SIN LAT IN ALPHAV +4
#
# 1/2 SIN LAT IN ALPHAV +4
#
# OUTPUT
# EARTH RADIUS IN ERADM AND MPAC (METERS B-29)
#
# EARTH RADIUS IN ERADM AND MPAC (METERS B-29)
GETERAD DLOAD DSQ
ALPHAV +4 # SIN**2(L)
@ -176,11 +176,10 @@ GETERAD DLOAD DSQ
STORE ERADM
RVQ
# THE FOLLOWING CONSTANTS WERE COMPUTED WITH A=6378166, B=6356784 METERS
# B2XSC = B**2 SCALED B-51
# B2/A2 = B**2/A**2 SCALED B-1
# EE = (1-B**2/A**2) SCALED B-0
# THE FOLLOWING CONSTANTS WERE COMPUTED WITH A=6378166,B=6356784 METERS
# B2XSC= B**2 SCALED B-51
# B2/A2= B**2/A**2 SCALED B-1
# EE=(1-B**2/A**2) SCALED B-0
B2XSC 2DEC .0179450689 # B**2 SCALED B-51
DP1/2 = XUNIT
B2/A2 2DEC .9933064884 B-1 # GAMMA= B**2/A**2 B-1
@ -190,12 +189,13 @@ EE 2DEC 6.6935116 E-3 # (1-B**2/A**2) B-0
# ARCTAN SUBROUTINE
#
# CALLING SEQUENCE
# SIN THETA IN SINTH B-1
# COS THETA IN COSTH B-1
# CALL ARCTAN
#
# SIN THETA IN SINTH B-1
# COS THETA IN COSTH B-1
# CALL ARCTAN
#
# OUTPUT
# ARCTAN THETA IN MPAC AND THETA B-0 IN RANGE -1/2 TO +1/2
# ARCTAN THETA IN MPAC AND THETA B-0 IN RANGE -1/2 TO +1/2
ARCTAN BOV
CLROVFLW
@ -234,21 +234,21 @@ ATAN=90 DLOAD SIGN
2DZERO = DPZERO
# Page 1138
# ***** SETGAMMA SUBROUTINE *****
# ..... SETGAMMA SUBROUTINE .....
# SUBROUTINE TO SET GAMMA FOR THE LAT-LONG AND LALOTORV SUBROUTINES
#
# GAMMA = B**2/A**2 FOR EARTH (B-1)
# GAMMA = 1 FOR MOON (B-1)
#
# CALLING SEQUENCE
# L CALL
# L+1 SETGAMMA
# L CALL
# L+1 SETGAMMA
#
# INPUT
# LUNAFLAG=0 FOR EARTH, =1 FOR MOON
# LUNAFLAG=0 FOR EARTH,=1 FOR MOON
#
# OUTPUT
# GAMMA IN GAMRP (B-1)
# GAMMA IN GAMRP (B-1)
SETGAMMA DLOAD BOFF # BRANCH FOR EARTH
B2/A2 # EARTH GAMMA
@ -261,27 +261,27 @@ SETGMEX STORE GAMRP
GAMRP = 8D
# Page 1139
# ***** SETRE SUBROUTINE *****
# .....SETRE SUBROUTINE .....
# SUBROUTINE TO SET RE (EARTH OR MOON RADIUS)
#
# RE = RM FOR MOON
# RE = RREF FOR FIXED EARTH RADIUS OR COMPUTED RF FOR FISCHER ELLIPSOID
# RE= RM FOR MOON
# RE= RREF FOR FIXED EARTH RADIUS OR COMPUTED RF FOR FISCHER ELLIPSOID
#
# CALLING SEQUENCE
# L CALL
# L+1 SETRE
# L CALL
# L+1 SETRE
#
# SUBROUTINES USED
# GETERAD
# GETERAD
#
# INPUT
# ERADFLAG = 0 FOR FIXED RE, 1 FOR COMPUTED RE
# ALPHAV +4 = 1/2 SINL IF GETERAD IS CALLED
# LUNAFLAG = 0 FOR EARTH, =1 FOR MOON
# ERADFLAG=0 FOR FIXED RE, 1 FOR COMPUTED RE
# ALPHAV +4= 1/2 SINL IF GETERAD IS CALLED
# LUNAFLAG=0 FOR EARTH,=1 FOR MOON
#
# OUTPUT
# ERADM = 504RM FOR MOON (METERS B-29)
# ERADM = ERAD OR COMPUTED RE FOR EARTH (METERS B-29)
# ERADM= 504RM FOR MOON (METERS B-29)
# ERADM= ERAD OR COMPUTED RE FOR EARTH (METERS B-29)
SETRE STQ DLOAD
SETREX
@ -290,19 +290,17 @@ SETRE STQ DLOAD
LUNAFLAG
TSTRLSRM
ERAD
BOFF CALL # ERADFLAG=0 FOR FIXED RE, 1 FOR COMPUTED
BOFF CALL # ERADFLAG=0 FOR FIXED RE,1 FOR COMPUTED
ERADFLAG
SETRXX
GETERAD
SETRXX STCALL ERADM # EXIT WITH RE OR RM METERS B-29
SETREX
TSTRLSRM BON VLOAD # ERADFLAG=0, SET R0=RLS
ERADFLAG # =1 R0=RM
TSTRLSRM BON VLOAD # ERADFLAG=0,SET R0=RLS
ERADFLAG # =1 R0=RM
SETRXX
RLS
ABVAL SR2R # SCALE FROM B-27 TO B-29
GOTO
SETRXX
SETREX = S2