Make remaining changes for page1485-1495

Fixes #565
This commit is contained in:
HeroicHitesh 2020-11-01 11:53:37 +05:30
parent 3ceecbaf65
commit a16401cb34

View file

@ -29,52 +29,54 @@
# 16:27 JULY 14, 1969 # 16:27 JULY 14, 1969
# Page 1485 # Page 1485
# PROGRAM NAME: 1/ACCS # PROGRAM NAME: 1/ACCS
# PROGRAM WRITTEN BY: BOB COVELLI AND MIKE HOUSTON # PROGRAM WRITTEN BY: BOB COVELLI AND MIKE HOUSTON
# LAST MODIFICATION: FEB. 14, 1969 BY G. KALAN # LAST MODIFICATION: FEB. 14, 1969 BY G. KALAN
# #
# PROGRAM DESCRIPTION: # PROGRAM DESCRIPTION:
# 1/ACCS PROVIDES THE INTERFACE BETWEEN THE GUIDANCE PROGRAMS AND THE DIGITAL AUTOPILOT. WHENEVER THERE IS A # 1/ACCS PROVIDES THE INTERFACE BETWEEN THE GUIDANCE PROGRAMS AND THE DIGITAL AUTOPILOT. WHENEVER THERE IS A
# CHANGE IN THE MASS OF THE VEHICLE, IN THE DEADBAND SELECTED, IN THE VEHICLE CONFIGURATION (ASCENT-DESCENT- # CHANGE IN THE MASS OF THE VEHICLE, IN THE DEADBAND SELECTED, IN THE VEHICLE CONFIGURATION (ASCENT-DESCENT-
# DOCKED), AND DURING A FRESH START OR A RESTART, 1/ACCS IS CALLED TO COMMUNICATE THE DATA CHANGES TO THE DAP. # DOCKED), AND DURING A FRESH START OR A RESTART, 1/ACCS IS CALLED TO COMMUNICATE THE DATA CHANGES TO THE DAP.
# #
# THE INPUTS TO 1/ACCS ARE MASS, ACCELERATION (ABDELV), DEADBAND (DB), OFFSET ACCELERATIONS (AOSQ AND AOSR), # THE INPUTS TO 1/ACCS ARE MASS, ACCELERATION (ABDELV), DEADBAND (DB), OFFSET ACCELERATIONS (AOSQ AND AOSR),
# STAGE VERIFY BIT (CHAN30, BIT2), DOCKED BIT (DAPBOOLS, BIT13), DRIFT BIT (DAPBOOLS, BIT8), USEQRJTS (DAPBOOLS, # STAGE VERIFY BIT (CHAN30,BIT2), DOCKED BIT (DAPBOOLS,BIT13), DRIFT BIT (DAPBOOLS,BIT8), USEQRJTS (DAPBOOLS,
# BIT14), AND SURFACE FLAG (FLAGWRDB, BIT8), AND CH5MASK. # BIT14), AND SURFACE FLAG (FLAGWRDB,BIT8), AND CH5MASK.
# #
# 1/ACCS COMPUTES THE JET ACCELERATIONS (1JACC, 1JACCQ, 1JACCR) AS FUNCTIONS OF MASS. 1JACCU AND 1JACCV ARE # 1/ACCS COMPUTES THE JET ACCELERATIONS (1JACC, 1JACCQ, 1JACCR) AS FUNCTIONS OF MASS. 1JACCU AND 1JACCV ARE
# FORMED BY RESOLVING 1JACCQ AND 1JACCR. IN THE DESCENT CASE, THE DESCENT ENGINE MOMENT ARM (L, PVT-CG) IS ALSO # FORMED BY RESOLVING 1JACCQ AND 1JACCR. IN THE DESCENT CASE, THE DESCENT ENGINE MOMENT ARM (L,PVT-CG) IS ALSO
# COMPUTED AS A FUNCTION OF MASS. THE RATE OF CHANGE OF ACCELERATION DUE TO ROTATION OF THE GIMBAL (ACCDOTQ, # COMPUTED AS A FUNCTION OF MASS. THE RATE OF CHANGE OF ACCELERATION DUE TO ROTATION OF THE GIMBAL (ACCDOTQ,
# ACCDOTR) IS ALSO COMPUTED IN THE DESCENT CASE. # ACCDOTR) IS ALSO COMPUTED IN THE DESCENT CASE.
#
# AFTER THE ABOVE COMPUTATIONS, THE PROGRAM 1/ACCONT COMPUTES THE RECIPROCAL NET ACCELERATIONS ABOUT THE P, U,
# AND V AXES (2 JETS FOR P-AXIS, BOTH 1 AND 2 JETS FOR U AND V AXES), AND THE RECIPROCAL COAST ACCELERATIONS ABOUT
# THE P, U, AND V AXES. THE ACCELERATION FUNCTIONS (ACCFCTZ1 AND ACCFCTZ5)ARE ALSO COMPUTED FOR THESE AXES. THE
# FIRE AND COAST DEADBANDS AND AXISDIST ARE COMPUTED FOR EACH AXIS. FLAT AND ZONE3LIM, THE WIDTH AND HEIGHT OF THE
# MINIMUM IMPULSE ZONE, ARE COMPUTED. 1/ACCONT ALSO SETS ACCSWU AND ACCSWV, WHICH INDICATE WHEN 1 JET ACCELERATION
# IS NOT SUFFICIENT TO PRODUCE MINIMUM ACCELERATION. AT THE COMPLETION OF 1/ACCS, THE ACCSOKAY BIT IS SET.
# #
# AFTER THE ABOVE COMPUTATIONS, THE PROGRAM 1/ACCONT COMPUTES THE RECIPROCAL NET ACCELERATIONS ABOUT THE P, U,
# AND V AXES (2 JETS FOR P-AXIS, BOTH 1 AND 2 JETS FOR U AND V AXES), AND THE RECIPROCAL COAST ACCELERATIONS ABOUT
# THE P, U, AND V AXES. THE ACCELERATION FUNCTIONS (ACCFCTZ1 AND ACCFCTZ5) ARE ALSO COMPUTED FOR THESE AXES. THE
# FIRE AND COAST DEADBANDS AND AXISDIST ARE COMPUTED FOR EACH AXIS. FLAT AND ZONE3LIM, THE WIDTH AND HEIGHT OF THE
# MINIMUM IMPULSE ZONE, ARE COMPUTED. 1/ACCONT ALSO SETS ACCSWU AND ACCSWV, WHICH INDICATE WHEN 1 JET ACCELERATION
# IS NOT SUFFICIENT TO PRODUCE MINIMUM ACCELERATION. AT THE COMPLETION OF 1/ACCS, THE ACCSOKAY BIT IS SET.
# #
# SUBROUTINES CALLED: # SUBROUTINES CALLED:
# TIMEGMBL #
# MAKECADR # TIMEGMBL
# ROT45DEG # MAKECADR
# ROT45DEG
# #
# CALLING SEQUENCE: # CALLING SEQUENCE:
# TC BANKCALL # (1/ACCS MUST BE CALLED BY BANKCALL) # TC BANKCALL # (1/ACCS MUST BE CALL BY BANKCALL)
# CADR 1/ACCS # CADR 1/ACCS
# #
# NORMAL EXIT: VIA BANKJUMP # NORMAL EXIT: VIA BANKJUMP ALARM AND EXIT MODES: NONE.
# #
# ALARM AND EXIT MODES: NONE # INPUT/OUTPUT: SEE PROGRAM DESCRIPTION.
#
# INPUT/OUTPUT: SEE PROGRAM DESCRIPTION.
# #
# DEBRIS: # DEBRIS:
# ALL OF THE EXECUTIVE TEMPORARY REGISTERS, EXCEPT FIXLOC AND OVFIND, AND THE CORE SET AREA FROM MPAC TO BANKSET. #
# ALL OF THE EXECUTIVE TEMPORARY REGISTERS, EXCEPT FIXLOC AND OVFIND, AND THE CORE SET AREA FROM MPAC TO BANKSET.
# #
# RESTRICTIONS: # RESTRICTIONS:
# 1/ACCS MUST BE CALLED BY BANKCALL #
# EBANK IS SET TO 6, BUT NOT RESTORED. # 1/ACCS MUST BE CALLED BY BANKCALL
# EBANK IS SET TO 6, BUT NOT RESTORED.
# Page 1486 # Page 1486
BANK 20 BANK 20
@ -85,18 +87,19 @@
EBANK= AOSQ EBANK= AOSQ
# ENTRY IS THROUGH 1/ACCJOB OR 1/ACCSIT WHEN 1/ACCS IS TO BE DONE AS A SEPARATE NOVAC JOB. # ENTRY IS THROUGH 1/ACCJOB OR 1/ACCSET WHEN 1/ACCS IS TO BE DONE AS A SEPARATE NOVAC JOB.
#
# IT IS POSSIBLE FOR MORE THAN ONE OF THESE JOBS TO BE SET UP CONCURRENTLY. HOWEVER, SINCE THERE IS NO CHECK OF # IT IS POSSIBLE FOR MORE THAN ONE OF THESE JOBS TO BE SET UP CONCURRENTLY. HOWEVER, SINCE THERE IS NO CHECK OF
# NEWJOB, A SECOND MANIFESTATION CANNOT BE STARTED UNTIL THE FIRST IS COMPLETED. # NEWJOB, A SECOND MANIFESTATION CANNOT BE STARTED UNTIL THE FIRST IS COMPLETED.
1/ACCSET CAF ZERO # ENTRY FROM FRESH START/RESTART CODING. 1/ACCSET CAF ZERO # ENTRY FROM FRESH START/RESTART CODING.
TS AOSQ # NULL THE OFFSET ESTIMATES FOR 1/ACCS. TS AOSQ # NULL THE OFFSET ESTIMATES FOR 1/ACCS.
TS AOSR TS AOSR
TS ALPHAQ # NULL THE OFFSET ESTIMATES FOR DOWNLIST TS ALPHAQ # NULL THE OFFSET ESTIMATES FOR DOWNLIST
TS ALPHAR TS ALPHAR
1/ACCJOB TC BANKCALL # 1/ACCS ASSUMES ENTRY VIA BANKCALL. 1/ACCJOB TC BANKCALL # 1/ACCS ASSUMES ENTRY VIA BANKCALL.
CADR 1/ACCS +2 # SKIP EBANK SETTING. CADR 1/ACCS +2 # SKIP EBANK SETTING.
TC ENDOFJOB TC ENDOFJOB
@ -107,19 +110,18 @@
TS ACCRETRN TS ACCRETRN
# DETERMINE MASS OF THE LEM. # DETERMINE MASS OF THE LEM.
CA DAPBOOLS # IS CSM DOCKED
CA DAPBOOLS # IS THE CSM DOCKED
MASK CSMDOCKD MASK CSMDOCKD
TS DOCKTEMP # STORE RECORD OF STATE IN TEMP (MPAC +3). TS DOCKTEMP # STORE RECORD OF STATE IN TEMP (MPAC +3).
CCS A CCS A
CS CSMMASS # DOCKED: LEMMAS = MASS - CSMMASS CS CSMMASS # DOCKED: LEMMAS = MASS - CSMMASS
AD MASS # LEM ALONE: LEMMASS = MASS AD MASS # LEM ALONE: LEMMASS = MASS
TS LEMMASS TS LEMMASS
# ON THE BASIS OF APSFLAG: # ON THE BASIS OF APSFLAG:
# SET THE P-AXIS RATE COMMAND LIMIT FOR 2-JET/2-JET CONTROL # SET THE P-AXIS RATE COMMAND LIMIT FOR 2-JET/4-JET CONTROL
# SET MPAC, WHICH INDICATES THE PROPER SET OF COEFFICIENTS FOR THE LEM-ALONE F(MASS) CALCULATIONS # SET MPAC, WHICH INDICATES THE PROPER SET OF COEFFICIENTS FOR THE LEM-ALONE F(MASS) CALCULATIONS
# ENSURE THAT THE LEM MASS VALUE IS WITHIN THE ACCEPTABLE RANGE # ENSURE THAT THE LEM MASS VALUE IS WITHIN THE ACCEPTABLE RANGE
INHINT INHINT
CAE FLGWRD10 # DETERMINE WHETHER STAGED. CAE FLGWRD10 # DETERMINE WHETHER STAGED.
@ -136,40 +138,39 @@
EXTEND EXTEND
BZMF MASSFIX BZMF MASSFIX
CS LEMMASS # CHECK IF MASS TOO LOW. THIS LIMITS THE CS LEMMASS # CHECK IF MASS TOO LOW. THIS LIMITS THE
AD LOASCENT # DECREMENTING BY MASSMON. AD LOASCENT # DECREMENTING BY MASSMON.
EXTEND EXTEND
BZMF F(MASS) BZMF F(MASS)
MASSFIX ADS LEMMASS # STORE THE VIOLATED LIMIT AS LEMMASS. MASSFIX ADS LEMMASS # STORE THE VIOLATED LIMIT AS LEMMASS.
ZL # ALSO CORRECT TOTAL MASS, ZEROING THE ZL # ALSO CORRECT TOTAL MASS, ZEROING THE
CCS DOCKTEMP # LOW-ORDER WORD. CCS DOCKTEMP # LOW-ORDER WORD.
CAE CSMMASS # DOCKED: MASS = LEMMASS + CSMMASS CAE CSMMASS # DOCKED: MASS = LEMMASS + CSMMASS
AD LEMMASS # LEM ALONE: MASS = LEMMASS AD LEMMASS # LEM ALONE: MASS = LEMMASS
DXCH MASS DXCH MASS
TCF F(MASS) TCF F(MASS)
DPSFLITE CS BIT10 # FOUR JETS FOR P-AXIS RATE COMMAND ERRORS DPSFLITE CS BIT10 # FOUR JETS FOR P-AXIS RATE COMMAND ERRORS
TS -2JETLIM # EXCEEDING 1.4 DEG/SEC (SCALED AT 45) TS -2JETLIM # EXCEEDING 1.4 DEG/SEC (SCALED AT 45)
CAF SIX # INITIALIZE INDEX AT 6. CAF SIX # INITIALIZE INDEX AT 6.
TS MPAC TS MPAC
CS LEMMASS # CHECK IF MASS TOO HIGH. SHOULD NEVER CS LEMMASS # CHECK IF MASS TOO HIGH. SHOULD NEVER
AD HIDESCNT # OCCUR EXCEPT PERHAPS BEFORE THE PAD AD HIDESCNT # OCCUR EXCEPT PERHAPS BEFORE THE PAD
EXTEND # LOAD IS DONE. EXTEND # LOAD IS DONE.
BZMF MASSFIX BZMF MASSFIX
CS LEMMASS # CHECK IF MASS TOO LOW. THIS LIMITS THE CS LEMMASS # CHECK IF MASS TOO LOW. THIS LIMITS THE
AD LODESCNT # DECREMENTING BY MASSMON. AD LODESCNT # DECREMENTING BY MASSMON.
AD HIASCENT AD HIASCENT
EXTEND EXTEND
BZMF F(MASS) BZMF F(MASS)
TCF MASSFIX TCF MASSFIX
# COMPUTATION OF FUNCTIONS OF MASS # COMPUTATION OF FUNCTIONS OF MASS
F(MASS) RELINT F(MASS) RELINT
CCS DOCKTEMP CCS DOCKTEMP
TCF DOCKED # DOCKED: USE SEPARATE COMPUTATION. TCF DOCKED # DOCKED: USE SEPARATE COMPUTATION.
CA TWO CA TWO
STCTR TS MPAC +1 # J=2,1,0 FOR 1JACCR,1JACCQ,1JACC STCTR TS MPAC +1 # J=2,1,0 FOR 1JACCR,1JACCQ,1JACC
CS TWO CS TWO
ADS MPAC # JX=10,8,6 OR 4,2,0 TO INDEX COEFS. ADS MPAC # JX=10,8,6 OR 4,2,0 TO INDEX COEFS.
@ -177,24 +178,24 @@ STCTR TS MPAC +1 # J=2,1,0 FOR 1JACCR,1JACCQ,1JACC
STCTR1 CAE LEMMASS STCTR1 CAE LEMMASS
INDEX MPAC INDEX MPAC
AD INERCONC AD INERCONC
TS MPAC +2 # MASS + C TS MPAC +2 # MASS + C
# Page 1488 # Page 1488
EXTEND EXTEND
INDEX MPAC INDEX MPAC
DCA INERCONA DCA INERCONA
EXTEND EXTEND
DV MPAC +2 DV MPAC +2
INDEX MPAC INDEX MPAC
AD INERCONB AD INERCONB
INDEX MPAC +1 # 1JACC(J)=A(JX)/(MASS+C(JX) + B(JX) INDEX MPAC +1 # 1JACC(J)=A(JX)/(MASS+C(JX) + B(JX)
TS 1JACC # 1JACC(-1)=L,PVT-CG SCALED AT 8 FEET TS 1JACC # 1JACC(-1)=L,PVT-CG SCALED AT 8 FEET
CCS MPAC +1 CCS MPAC +1
TCF STCTR TCF STCTR
TCF COMMEQS TCF COMMEQS
TCF LRESC TCF LRESC
# COEFFQ AND COEFFR ARE COMPUTED IN THIS SECTION. THEY ARE USED TO RESOLVE Q-R COMPONENTS INTO NON-ORTHOGONAL # COEFFQ AND COEFFR ARE COMPUTED IN THIS SECTION. THEY ARE USED TO RESOLVE Q-R COMPONENTS INTO NON-ORTHOGONAL
# U AND V COMPONENTS (SEE ROT-TOUV SECTION). # U AND V COMPONENTS (SEE ROT-TOUV SECTION).
COMMEQS CS 1JACCR COMMEQS CS 1JACCR
@ -221,7 +222,7 @@ GOODEPS1 CA EPSILON
TS COEFFQ TS COEFFQ
TCF JACCUV TCF JACCUV
BIGIQ EXTEND # EPSILON IS DEFINED AS 1-IR/IQ FOR IQ BIGIQ EXTEND # EPSILON IS DEFINED AS 1-IR/IQ FOR IQ
DV 1JACCR # GREATER THAN IR. -EPSILON IS COMPUTED DV 1JACCR # GREATER THAN IR. -EPSILON IS COMPUTED
TS -EPSILON # RATHER THAN EPSILON FOR CONVENIENCE TS -EPSILON # RATHER THAN EPSILON FOR CONVENIENCE
CS -EPSILON CS -EPSILON
AD -EPSMAX AD -EPSMAX
@ -254,20 +255,19 @@ JACCUV CS COEFFQ
TS 1JACCV # SCALED AT PI/2 RADIANS/SEC(2) TS 1JACCV # SCALED AT PI/2 RADIANS/SEC(2)
CCS MPAC # COMPUTE L,PVT-CG IF IN DESCENT CCS MPAC # COMPUTE L,PVT-CG IF IN DESCENT
CAF ZERO # ZERO SWITCHES AND GO TO 1/ACCONT IN CAF ZERO # ZERO SWITCHES AND GO TO 1/ACCONT IN
TS ALLOWGTS # ASCENT TS ALLOWGTS # ASCENT
TCF 1/ACCONT -1 TCF 1/ACCONT -1
CS TWO CS TWO
TS MPAC TS MPAC
CS ONE CS ONE
TS MPAC +1 TS MPAC +1
TCF STCTR1 TCF STCTR1
# THIS SECTION COMPUTES THE RATE OF CHANGE OF ACCELERATION DUE TO THE ROTATION OF THE GIMBALS. THE EQUATION IMPLE
# THIS SECTION COMPUTES THE RATE OF CHANGE OF ACCELERATION DUE TO THE ROTATION OF THE GIMBALS. THE EQUATION # MENTED IN BOTH THE Y-X PLANE AND THE Z-X PLANE IS -- D(ALPHA)/DT = TL/I*D(DELTA)/DT, WHERE
# IMPLEMENTED IN BOTH THE Y-X PLANE AND THE Z-X PLANE IS -- D(ALPHA)/DT = TL/I*D(DELTA)/DT, WHERE # T = ENGINE THRUST FORCE
# T = ENGINE THRUST FORCE # L = PIVOT TO CG DISTANCE OF ENGINE
# L = PIVOT TO CG DISTANCE OF ENGINE # I = MOMENT OF INERTIA
# I = MOMENT OF INERTIA
LRESC CAE ABDELV # SCALED AT 2(13) CM/SEC(2) LRESC CAE ABDELV # SCALED AT 2(13) CM/SEC(2)
EXTEND EXTEND
@ -277,7 +277,7 @@ LRESC CAE ABDELV # SCALED AT 2(13) CM/SEC(2)
# MASS IS DIVIDED BY ACCELERATION OF GRAVITY IN ORDER TO MATCH THE UNITS OF IXX,IYY,IZZ, WHICH ARE SLUG-FT(2). # MASS IS DIVIDED BY ACCELERATION OF GRAVITY IN ORDER TO MATCH THE UNITS OF IXX,IYY,IZZ, WHICH ARE SLUG-FT(2).
# THE RATIO OF ACCELERATION FROM PIPAS TO ACCELERATION OF GRAVITY IS THE SAME IN METRIC OR ENGINEERING UNITS, SO # THE RATIO OF ACCELERATION FROM PIPAS TO ACCELERATION OF GRAVITY IS THE SAME IN METRIC OR ENGINEERING UNITS, SO
# THAT IS UNCONVERTED. 2.20462 CONVERTS KG. TO LB. NOW T IN IN A SCALED AT 2(14). # THAT IS UNCONVERTED. 2.20462 CONVERTS KG. TO LB. NOW T IS IN A SCALED AT 2(14).
EXTEND EXTEND
MP L,PVT-CG # SCALED AT 8 FEET. MP L,PVT-CG # SCALED AT 8 FEET.
@ -305,18 +305,18 @@ SPSCONT TS ACCDOTQ # SCALED AT PI/2(7)
MP DGBF MP DGBF
TS KRDAP TS KRDAP
EXTEND # NOW COMPUTE QACCDOT, RACCDOT, THE SIGNED EXTEND # NOW COMPUTE QACCDOT, RACCDOT, THE SIGNED
READ CHAN12 # JERK TERMS. STORE CHANNEL 12. WITH GIMBAL READ CHAN12 # JERK TERMS. STORE CHANNEL 12. WITH GIM
TS MPAC +1 # DRIVE BITS 9 THROUGH 12 SET LOOP TS MPAC +1 # BAL DRIVE BITS 9 THROUGH 12. SET LOOP
CAF BIT2 # INDEX TO COMPUTE RACCDOT, THEN QACCDOT. CAF BIT2 # INDEX TO COMPUTE RACCDOT, THEN QACCDOT.
TCF LOOP3 TCF LOOP3
CAF ZERO # ACCDOTQ AND ACCDOTR ARE NOT NEGATIVE, CAF ZERO # ACCDOTQ AND ACCDOTR ARE NOT NEGATIVE,
LOOP3 TS MPAC # BECAUSE THEY ARE MAGNITUDES LOOP3 TS MPAC # BECAUSE THEY ARE MAGNITUDES
CA MPAC +1 CA MPAC +1
INDEX MPAC # MASK CHANNEL IMAGE FOR ANY GIMBAL MOTION INDEX MPAC # MASK CHANNEL IMAGE FOR ANY GIMBAL MOTION
MASK GIMBLBTS MASK GIMBLBTS
EXTEND EXTEND
BZF ZACCDOT # IF NONE, Q(R)ACCDOT IS ZERO. BZF ZACCDOT # IF NONE, Q(R)ACCDOT IS ZERO.
CA MPAC +1 CA MPAC +1
INDEX MPAC # GIMBAL IS MOVING. IS ROTATION POSITIVE. INDEX MPAC # GIMBAL IS MOVING. IS ROTATION POSITIVE.
MASK GIMBLBTS +1 MASK GIMBLBTS +1
EXTEND EXTEND
@ -331,20 +331,20 @@ ZACCDOT CAF ZERO
STACCDOT INDEX MPAC STACCDOT INDEX MPAC
TS QACCDOT # STORE Q(R)ACCDOT. TS QACCDOT # STORE Q(R)ACCDOT.
CCS MPAC CCS MPAC
TCF LOOP3 -1 # NOW DO QACCDOT. TCF LOOP3 -1 # NOW DO QACCDOT.
# Page 1491 # Page 1491
CS DAPBOOLS # IS GIMBAL USABLE? CS DAPBOOLS # IS GIMBAL USABLE?
MASK USEQRJTS MASK USEQRJTS
EXTEND EXTEND
BZF DOWNGTS # NO. BE SURE THE GIMBAL SWITCHES ARE DOWN BZF DOWNGTS # NO. BE SURE THE GIMBAL SWITCHES ARE DOWN
CS T5ADR # YES. IS THE DAP RUNNINT? CS T5ADR # YES. IS THE DAP RUNNING?
AD PAXISADR AD PAXISADR
EXTEND EXTEND
BZF +2 BZF +2
TCF DOWNGTS # NO. BE SURE THE GIMBAL SWITCHES ARE DOWN TCF DOWNGTS # NO. BE SURE THE GIMBAL SWITCHES ARE DOWN
CCS INGTS # YES. IS GTS IN CONTROL? CCS INGTS # YES. IS GTS IN CONTROL?
TCF DOCKTEST # YES. PROCEED WITH 1/ACCS. TCF DOCKTEST # YES. PROCEED WITH 1/ACCS.
TC IBNKCALL # NO. NULL OFFSET AND FIND ALLOWGTS TC IBNKCALL # NO. NULL OFFSET AND FIND ALLOWGTS
CADR TIMEGMBL CADR TIMEGMBL
DOCKTEST CCS DOCKTEMP # BYPASS 1/ACCONT WHEN DOCKED. DOCKTEST CCS DOCKTEMP # BYPASS 1/ACCONT WHEN DOCKED.
@ -352,25 +352,32 @@ DOCKTEST CCS DOCKTEMP # BYPASS 1/ACCONT WHEN DOCKED.
TCF 1/ACCONT TCF 1/ACCONT
# Page 1492 # Page 1492
# SUBROUTINE: DVOVSUB # SUBROUTINE: DVOVSUB
# AUTHOR: C. WORK, MOD 0, 12 JUNE 68 # AUTHOR: C. WORK, MOD 0 12 JUNE 68
# PURPOSE: THIS SUBROUTINE PROVIDES A SINGLE-PRECISION MACHINE LANGUAGE DIVISION OPERATION WHICH RETURNS # PURPOSE: THIS SUBROUTINE PROVIDES A SINGLE-PRECISION MACHINE LANGUAGE DIVISION OPERATION WHICH RETURNS
# (1) THE QUOTIENT, IF THE DIVISION WAS NORMAL. # (1) THE QUOTIENT, IF THE DIVISION WAS NORMAL.
# (2) NEGMAX, IF THE QUOTIENT WAS IMPROPER AND NEGATIVE. # (2) NEGMAX, IF THE QUOTIENT WAS IMPROPER AND NEGATIVE.
# (3) POSMAX, IF THE QUOTIENT WAS IMPROPER AND POSITIVE OR IF THERE WAS A ZERO DIVISOR. # (3) POSMAX, IF THE QUOTIENT WAS IMPROPER AND POSITIVE OR IF THERE WAS A ZERO DIVISOR.
# THE CALLING PROGRAM IS PRESUMED TO BE A JOB IN THE F BANK WHICH CONTAINS DVOVSUB. E BANK MUST BE 6. # THE CALLING PROGRAM IS PRESUMED TO BE A JOB IN THE F BANK WHICH CONTAINS DVOVSUB. E BANK MUST BE 6.
# THE DIVISOR FOR THIS ROUTINE MAY BE IN EITHER FIXED OR ERASABLE STORAGE. SIGN AGREEMENT IS # THE DIVISOR FOR THIS ROUTINE MAY BE IN EITHER FIXED OR ERASABLE STORAGE. SIGN AGREEMENT IS
# ASSUMED BETWEEN THE TWO HALVES OF THE DIVIDEND. (THIS IS CERTAIN IF THE A AND L REGISTERS ARE THE # ASSUMED BETWEEN THE TWO HALVES OF THE DIVIDEND. (THIS IS CERTAIN IF THE A AND L REGISTERS ARE THE RE-
# RESULT OF A MULTIPLICATION OPERATION.) # SULT OF A MULTIPLICATION OPERATION.)
# CALL SEQUENCE: L TC DVOVSUB # CALL SEQUENCE:
# L +1 ADRES (DIVISOR) # L TC DVOVSUB
# L +2 RETURN HERE, WITH RESULT IN A,L # L +1 ADRES (DIVISOR)
# INPUT: DIVIDEND IN A,L (SIGN AGREEMENT ASSUMED), DIVISOR IN LOCATION DESIGNATED BY "ADRES". # L +2 RETURN HERE, WITH RESULT IN A,L
# DIVISOR MAY BE IN THE DVOVSUB FBANK,FIXED-FIXED FBANK,EBANK 6, OR UNSWITCHED ERASABLE. #
# OUTPUT: QUOTIENT AND REMAINDER, OR POSMAX (NEGMAX), WHICHEVER IS APPROPRIATE. # INPUT: DIVIDEND IN A,L (SIGN AGREEMENT ASSUMED), DIVISOR IN LOCATION DESIGNATED BY "ADRES".
# DEBRIS: SCRATCHX,SCRATCHY,SCRATCHZ,A,L (NOTE: SCRATCHX,Y,Z ARE EQUATED TO MPAC +4,+5, AND +6.) # DIVISOR MAY BE IN THE DVOVSUB FBANK,FIXED-FIXED FBANK,EBANK 6, OR UNSWITCHED ERASABLE.
#
# OUTPUT: QUOTIENT AND REMAINDER, OR POSMAX (NEGMAX), WHICHEVER IS APPROPRIATE.
#
# DEBRIS: SCRATCHX,SCRATCHY,SCRATCHZ,A,L (NOTE: SCRATCHX,Y,Z ARE EQUATED TO MPAC +4,+5,AND +6.)
#
# ABORTS OR ALARMS: NONE # ABORTS OR ALARMS: NONE
# EXITS: TO THE CALL POINT +2. #
# EXITS: TO THE CALL POINT + 2.
#
# SUBROUTINES CALLED: NONE. # SUBROUTINES CALLED: NONE.
DVOVSUB TS SCRATCHY # SAVE UPPER HALF OF DIVIDEND DVOVSUB TS SCRATCHY # SAVE UPPER HALF OF DIVIDEND
@ -392,7 +399,7 @@ DVOVSUB TS SCRATCHY # SAVE UPPER HALF OF DIVIDEND
ZEROPLUS XCH SCRATCHY # STORE ABS(DIVISOR). PICK UP TOP HALF OF ZEROPLUS XCH SCRATCHY # STORE ABS(DIVISOR). PICK UP TOP HALF OF
EXTEND # DIVIDEND. EXTEND # DIVIDEND.
BZMF GOODNEG # GET -ABS(DIVIDEND) BZMF GOODNEG # GET -ABS(DIVIDEND)
# Page 1493 # Page 1493
CS A CS A
@ -400,7 +407,7 @@ GOODNEG AD SCRATCHY # ABS(DIVISOR) - ABS(DIVIDEND)
EXTEND EXTEND
BZMF MAKEMAX # BRANCH IF DIVISION IS NOT PROPER. BZMF MAKEMAX # BRANCH IF DIVISION IS NOT PROPER.
CA SCRATCHX # RE-ESTABLISH THE DIVIDEND CA SCRATCHX # RE-ESTABLISH THE DIVIDEND.
EXTEND EXTEND
DV SCRATCHZ # QUOTIENT IN THE A, REMAINDER IN L. DV SCRATCHZ # QUOTIENT IN THE A, REMAINDER IN L.
TC Q # RETURN TO CALLER. TC Q # RETURN TO CALLER.
@ -415,66 +422,69 @@ MAXPLUS CAF POSMAX # -,- OR +,+
TC Q TC Q
# COEFFICIENTS FOR THE JET ACCELERATION CURVE FITS # COEFFICIENTS FOR THE JET ACCELERATION CURVE FITS
# THE CURVE FITS ARE OF THE FORM -- # THE CURVE FITS ARE OF THE FORM -
# #
# 1JACC = A/(MASS + C) + B # 1JACC = A/(MASS + C) + B
# #
# A IS SCALED AT PI/4 RAD/SEC**2 B+16KG, B IS SCALED AT PI/4 RAD/SEC**2, AND C IS SCALED AT B +16 KG. # A IS SCALED AT PI/4 RAD/SEC**2 B+16KG, B IS SCALED AT PI/4 RAD/SEC**2, AND C IS SCALED AT B +16 KG.
# #
# THE CURVE FIT FOR L,PVT-CG IS OF THE SAME FORM, EXCEPT THAT A IS SCALED AT 8 FT B+16 KG, B IS SCALED AT 8 FT, # THE CURVE FIT FOR L,PVT-CG IS OF THE SAME FORM, EXCEPT THAT A IS SCALED AT 8 FT B+16 KG, B IS SCALED AT 8 FT,
# AND C IS SCALED AT B+16 KG. # AND C IS SCALED AT B+16 KG.
2DEC +.0410511917 # L A DESCENT
INERCONA 2DEC +.0059347674 # 1JACCP A DESCENT 2DEC +.0410511917 # L A DESCENT
2DEC +.0014979264 # 1JACCQ A DESCENT
2DEC +.0010451889 # 1JACCR A DESCENT INERCONA 2DEC +.0059347674 # 1JACCP A DESCENT
2DEC +.0065443852 # 1JACCP A ASCENT 2DEC +.0014979264 # 1JACCQ A DESCENT
2DEC +.0035784354 # 1JACCQ A ASCENT 2DEC +.0010451889 # 1JACCR A DESCENT
2DEC +.0056946631 # 1JACCR A ASCENT
DEC +.155044 # L B DESCENT 2DEC +.0065443852 # 1JACCP A ASCENT
DEC -.025233 # L C DESCENT
2DEC +.0035784354 # 1JACCQ A ASCENT
2DEC +.0056946631 # 1JACCR A ASCENT
DEC +.155044 # L B DESCENT
DEC -.025233 # L C DESCENT
# Page 1494 # Page 1494
INERCONB DEC +.002989 # 1JACCP B DESCENT INERCONB DEC +.002989 # 1JACCP B DESCENT
INERCONC DEC +.008721 # 1JACCP C DESCENT INERCONC DEC +.008721 # 1JACCP C DESCENT
DEC +.018791 # 1JACCQ B DESCENT DEC +.018791 # 1JACCQ B DESCENT
DEC -.068163 # 1JACCQ C DESCENT DEC -.068163 # 1JACCQ C DESCENT
DEC +.021345 # 1JACCR B DESCENT DEC +.021345 # 1JACCR B DESCENT
DEC -.066027 # 1JACCR C DESCENT DEC -.066027 # 1JACCR C DESCENT
DEC +.000032 # 1JACCP B ASCENT DEC +.000032 # 1JACCP B ASCENT
DEC -.006923 # 1JACCP C ASCENT DEC -.006923 # 1JACCP C ASCENT
DEC +.162862 # 1JACCQ B ASCENT DEC +.162862 # 1JACCQ B ASCENT
DEC +.002588 # 1JACCQ C ASCENT DEC +.002588 # 1JACCQ C ASCENT
DEC +.009312 # 1JACCR B ASCENT DEC +.009312 # 1JACCR B ASCENT
DEC -.023608 # 1JACCR C ASCENT DEC -.023608 # 1JACCR C ASCENT
GIMBLBTS OCTAL 01400 GIMBLBTS OCTAL 01400
OCTAL 01000 OCTAL 01000
OCTAL 06000 OCTAL 06000
OCTAL 04000 OCTAL 04000
DGBF DEC 0.6 # .3 SCALED AT 1/2 DGBF DEC 0.6 # .3 SCALED AT 1/2
0.35356 DEC 0.35356 # .70711 SCALED AT 2 0.35356 DEC 0.35356 # .70711 SCALED AT 2
GFACTM OCT 337 # 979.24/2.20462 AT B+15 GFACTM OCT 337 # 979.24/2.20462 AT B+15
.7071 DEC .70711 .7071 DEC .70711
-.7071 DEC -.70711 -.7071 DEC -.70711
-EPSMAX DEC -.42265 -EPSMAX DEC -.42265
# CSM-DOCKED INERTIA COMPUTATIONS # CSM-DOCKED INERTIA COMPUTATIONS
DOCKED CA ONE # COEFTR = 1 FOR INERTIA COEFFICIENTS DOCKED CA ONE # COEFTR = 1 FOR INERTIA COEFFICIENTS
SPSLOOP1 TS COEFCTR # = 7 FOR CG COEFFICIENTS SPSLOOP1 TS COEFCTR # = 7 FOR CG COEFFICIENTS
CA ONE # MASSCTR = 1 FOR CSM CA ONE # MASSCTR = 1 FOR CSM
TS MASSCTR # = 0 FOR LEM TS MASSCTR # = 0 FOR LEM
INDEX COEFCTR INDEX COEFCTR
CA COEFF -1 # COEFF -1 = C CA COEFF -1 # COEFF -1 = C
EXTEND EXTEND
MP LEMMASS MP LEMMASS
EXTEND EXTEND
@ -489,7 +499,7 @@ SPSLOOP2 TS MASSCTR # LOOP TWICE THROUGH HERE TO OBTAIN
EXTEND # MPAC = MPAC + (A X +D)X + (B Y +E)Y EXTEND # MPAC = MPAC + (A X +D)X + (B Y +E)Y
DIM COEFCTR # LOOP #1 LOOP #2 DIM COEFCTR # LOOP #1 LOOP #2
INDEX COEFCTR INDEX COEFCTR
CA COEFF +2 # COEFF +2 = A OR B CA COEFF +2 # COEFF +2 = A OR B
EXTEND EXTEND
# Page 1495 # Page 1495
INDEX MASSCTR INDEX MASSCTR