1227 lines
34 KiB
ArmAsm
1227 lines
34 KiB
ArmAsm
|
# Copyright: Public domain.
|
||
|
# Filename: P61-P67.agc
|
||
|
# Purpose: Part of the source code for Comanche, build 055. It
|
||
|
# is part of the source code for the Command Module's
|
||
|
# (CM) Apollo Guidance Computer (AGC), Apollo 11.
|
||
|
# Assembler: yaYUL
|
||
|
# Reference: pp. 789-818
|
||
|
# Contact: Ron Burkey <info@sandroid.org>
|
||
|
# Website: http://www.ibiblio.org/apollo.
|
||
|
# Mod history: 2009-05-12 RSB Adapted from Colossus249 file of the same
|
||
|
# name and Comanche 055 page images.
|
||
|
# 2009-05-20 RSB Corrections: V06N68 -> V06N74, added missing
|
||
|
# definition of V06N74, in several
|
||
|
# interpreter operands fixed stuff like
|
||
|
# N-M,1 to N -M,1
|
||
|
#
|
||
|
# The contents of the "Comanche055" files, in general, are transcribed
|
||
|
# from scanned documents.
|
||
|
#
|
||
|
# Assemble revision 055 of AGC program Comanche by NASA
|
||
|
# 2021113-051. April 1, 1969.
|
||
|
#
|
||
|
# This AGC program shall also be referred to as Colossus 2A
|
||
|
#
|
||
|
# Prepared by
|
||
|
# Massachussets Institute of Technology
|
||
|
# 75 Cambridge Parkway
|
||
|
# Cambridge, Massachusetts
|
||
|
#
|
||
|
# under NASA contract NAS 9-4065.
|
||
|
#
|
||
|
# Refer directly to the online document mentioned above for further
|
||
|
# information. Please report any errors to info@sandroid.org.
|
||
|
|
||
|
# Page 789
|
||
|
# PROGRAM: P61
|
||
|
# MOD NO.: 0 MAR. 13, 1967
|
||
|
# MOD BY: R. HIRSCHKOP
|
||
|
# MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 22 JUN 67 RESTARTS
|
||
|
# MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 17 JAN 68 COLOSSUS GSOP CHANGES
|
||
|
# MOD NO: 3 MOD BY: RR BAIRNSFATHER DATE: 8 MAY 68 DELETE CMSM MANEUVER (PCR 50)
|
||
|
# FUNCTION: TO CALCULATE AND DISPLAY EMS INITIALIZATION DATA
|
||
|
# CALLING SEQUENCE: BY V37
|
||
|
# EXIT: TO P62
|
||
|
# SUBROUTINE CALLS: S61.1, S61.3, GOFLASH, FLAGUP, R02BOTH
|
||
|
# ERASABLE INITIALIZATION:
|
||
|
# EMSALT (-29) M .05G ALTITUDE ABOVE FISCHER ELLIPSOID PAD LOADED.
|
||
|
# ALFAPAD /180 HYPERSONIC CM TRIM ANGLE OF ATTACK PAD LOADED
|
||
|
# OUTPUT: THE FOLLOWING REGISTERS ARE WRITTEN IN FOR USE BY DISPLAYS
|
||
|
# GMAX 100 GMAX (-14) G,S MAXIMUM ACCELERATION
|
||
|
# VPRED (-7) M/CS PREDICTED VELOCITY AT 400K FT
|
||
|
# GAMMAEI (GAMMA/360 PREDICTED GAMMA AT 400K FT
|
||
|
# RTGO THETAH/360 RANGE ANGLE TO SPLASH FROM EMSALT EMSALT IS PAD LOADED
|
||
|
# VIO (-7) M/CS INERTIAL VELOCITY AT EMSALT EMSALT IS PAD LOADED
|
||
|
# TTE (-28) CS TIME TO EMSALT EMSALT IS PAD LOADED
|
||
|
# LAT(SPL) /360 TARGET LOCATION LEFT BY DSKY
|
||
|
# LNG(SPL) /360 TARGET LOCATION LEFT BY DSKY
|
||
|
# HEADSUP (0) +1 = LIFT DOWN, -1 = LIFT UP LEFT BY DSKY
|
||
|
# DEBRIS: SEE SUBROUTINES.
|
||
|
|
||
|
BANK 26
|
||
|
SETLOC P60S
|
||
|
BANK
|
||
|
|
||
|
EBANK= AOG
|
||
|
|
||
|
COUNT* $$/P61
|
||
|
|
||
|
P61 CA BIT14 # EXTENDED VERB SHOULD BE FREE THIS CLOSE
|
||
|
TS EXTVBACT # TO V37
|
||
|
# LOCK OUT EXTENDED VERBS SO CAN USE TFF
|
||
|
# ROUTINES. EXT VERB ERASE IS USED
|
||
|
|
||
|
CS ONE # REMOVE IF HEADSUP EVER ON UPLINK DATA
|
||
|
TS HEADSUP # PRELOAD
|
||
|
|
||
|
TC S61.1 # CHECK STATE VECTOR AND IMU ORIENTATION
|
||
|
# RV 50GENRET. DOES PHASCHNG, GROUP 4.
|
||
|
|
||
|
CA V06N61 # LAT(SPL) LNG(SPL) HEADSUP
|
||
|
# XXX.XX DEG XXX.XX DEG XXXXX.
|
||
|
TC BANKCALL
|
||
|
CADR GOFLASHR
|
||
|
TC GOTOP00H
|
||
|
# Page 790
|
||
|
TC P61.4
|
||
|
TC -5
|
||
|
|
||
|
P61.3 TC PHASCHNG
|
||
|
OCT 00014
|
||
|
|
||
|
TC ENDOFJOB
|
||
|
|
||
|
P61.4 ZL
|
||
|
CCS HEADSUP # C(HEADSUP)= +1/-1
|
||
|
CA BIT14 # IF HEADSUP POS,ROLLC =180 DEG.(LIFT DWN)
|
||
|
NOOP # IF HEADSUP NEG,ROLLC =0 (LIFT UP)
|
||
|
DXCH ROLLC # ROLLC IS USED BY S62.3: GIM ANG AT .05G
|
||
|
|
||
|
TC INTPRET
|
||
|
NEWRNVN DLOAD
|
||
|
PIPTIME # SAVE TIME OF RN,VN TO DETERMINE IF AN
|
||
|
STCALL MM # UPDATE HAS OCCURRED.
|
||
|
STARTEN1 # INITIALIZE
|
||
|
VLOAD
|
||
|
RN
|
||
|
STORE RONE
|
||
|
UNIT
|
||
|
STOVL URONE
|
||
|
VN
|
||
|
STORE VONE
|
||
|
VXV UNIT
|
||
|
URONE
|
||
|
STORE UNI
|
||
|
DUMPP61 DLOAD DSU
|
||
|
MM # INITIAL VALUE OF PIPTIME
|
||
|
PIPTIME
|
||
|
BMN CALRB
|
||
|
NEWRNVN # UPDATED... GO TRY AGAIN
|
||
|
S61.2 # GET DISPLAY DATA FOR N60 AND N63
|
||
|
# AND RETURN IN BASIC, BELOW.
|
||
|
P61.1 TC CLEARMRK
|
||
|
CA V06N60 # GMAX VPRED GAMMAEI
|
||
|
# XXX.XX G XXXXX. FPS XXX.XX DEG
|
||
|
TC BANKCALL
|
||
|
CADR GOFLASH
|
||
|
|
||
|
TC GOTOP00H
|
||
|
TC P61.2 # PROCEED
|
||
|
TC -5
|
||
|
|
||
|
P61.2 TC INTPRET # CORRECT TTE FOR TIME LAPSE DURING
|
||
|
# ABOVE DISPLAY.
|
||
|
RTB DSU
|
||
|
LOADTIME # CURRENT TIME.
|
||
|
# Page 791
|
||
|
MM # PIPTIME FOR RONE & VONE.
|
||
|
DAD
|
||
|
TTE1 # NEGATIVE OF FREE FALL TIME.
|
||
|
STORE TTE # DECREMENTED
|
||
|
|
||
|
EXIT
|
||
|
|
||
|
CA V06N63 # RTGO VIO TTE
|
||
|
# XXXX.X NM XXXXX. FPS XXBXX M,S
|
||
|
TC BANKCALL
|
||
|
CADR GOFLASH
|
||
|
TC GOTOP00H
|
||
|
TC +2
|
||
|
TC P61.2 # REDO
|
||
|
|
||
|
# .... THEN FALL INTO P62
|
||
|
# Page 792
|
||
|
|
||
|
# PROGRAM: P62
|
||
|
# MOD NO.: 0 MAR. 13, 1967
|
||
|
# MOD BY: R. HIRSCHKOP
|
||
|
# MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 67
|
||
|
# MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 22 JUN 67 RESTARTS.
|
||
|
# MOD NO: 3 MOD BY: RR BAIRNSFATHER DATE: 17 JAN 68 COLOSSUS GSOP CHANGES.
|
||
|
# MOD NO: 4 MOD BY: RR BAIRNSFATHER DATE: 8 MAY 68 MOVE START OF DESIRED GIMBAL CALC.
|
||
|
# FUNCTION: 1) TO NOTIFY CREW WHEN GNC SYSTEM IS PREPARED FOR CM/SM SEPARATION.
|
||
|
# 2) TO ORIENT THE CM TO THE CORRECT ATTITUDE FOR ATMOSPHERIC ENTRY.
|
||
|
# CALLING SEQUENCE: BY V37 OR DIRECTLY FROM P61
|
||
|
# EXIT: TO P63
|
||
|
# ERASABLE INITIALIZATION:
|
||
|
# ALFAPAD LEFT BY PAD LOAD
|
||
|
# LADPAD LEFT BY PAD LOAD
|
||
|
# LODPAD LEFT BY PAD LOAD
|
||
|
# LAT(SPL) (MAY BE CHANGED BELOW) LEFT BY DSKY, VIA P61
|
||
|
# LNG(SPL) (MAY BE CHANGED BELOW) LEFT BY DSKY, VIA P61
|
||
|
# HEADSUP (MAY BE CHANGED BELOW) LEFT BY DSKY, VIA P61
|
||
|
# SUBROUTINE CALLS: NEWMODEX, S61.1, CM/DAPIC, CM/DAPON, R02BOTH, GOPERF1, GOFLASH, GODSPR.
|
||
|
|
||
|
COUNT* $$/P62
|
||
|
|
||
|
TC NEWMODEX # MODE CHANGE IF CAME FROM P61.
|
||
|
MM 62 # MODE CHANGE AUTOMATIC VIA V 37.
|
||
|
CA ONE
|
||
|
TS DNLSTCOD
|
||
|
|
||
|
P62 TC S61.1 # CHECK STATE VECTOR AND IMU ORIENTATION.
|
||
|
|
||
|
TC INTPRET
|
||
|
SSP RTB
|
||
|
POSEXIT
|
||
|
P62.3 # CALCULATE DESIRED .05G GIMBAL ANGLES.
|
||
|
# WITHOUT DISPLAY.
|
||
|
CM/DAPIC # START CM/POSE AND BODY RATE CALC
|
||
|
|
||
|
# DOES 2PHSCHNG, OCT 40116, OCT 05024, OCT 13000.
|
||
|
# CM/DAPIC SETS EBANK = EBAOG
|
||
|
# AND RETURNS IN BASIC TO P62.2.
|
||
|
P62.2 EXTEND
|
||
|
DCA POSECADR # CONTINUE WITH CM/POSE AFTER AV G.
|
||
|
DXCH AVEGEXIT
|
||
|
|
||
|
CAF OCT41 # REQUEST SEPARATION
|
||
|
TC BANKCALL
|
||
|
CADR GOPERF1R
|
||
|
TC GOTOP00H
|
||
|
TC +3 # PROCEED
|
||
|
# Page 793
|
||
|
# NOTE: NODOFLAG WILL BE SET IN CM/DAPON. ***
|
||
|
TC -5 # ENTER
|
||
|
TC P61.3 # FOR PHASCHNG AND ENDOFJOB
|
||
|
|
||
|
+3 TC POSTJUMP
|
||
|
CADR CM/DAPON # DISABLE RCS DAP, ENABLE ENTRY DAP AND
|
||
|
# DO ATTITUDE HOLD.
|
||
|
|
||
|
# WILL IDLE UNTIL CM/POSE DOES ONE UPDATE.
|
||
|
# CM/DAPON DOES NO PHASCHNG.
|
||
|
|
||
|
P62.1 CA V06N61 # LAT(SPL) LNG(SPL) HEADSUP
|
||
|
# XXX.XX DEG XXX.XX DEG 0000X.
|
||
|
|
||
|
# TERMINATE ATTITUDE HOLD. SET UP COMMANDS:
|
||
|
# ROLLC, ALFACOM, BETACOM. BEGIN MANEUVER TO
|
||
|
# ENTRY ATTITUDE.
|
||
|
|
||
|
TC BANKCALL
|
||
|
CADR GOFLASH
|
||
|
TC -3
|
||
|
TC +2
|
||
|
TC -5
|
||
|
|
||
|
TC PHASCHNG
|
||
|
OCT 04024 # USE ENTRYVN FOR DISPLAY BELOW.
|
||
|
# EBANK WAS SET IN CM/DAPON TO EBAOG
|
||
|
|
||
|
CCS HEADSUP # C(HEADSUP) = +/- 1
|
||
|
CA BIT14 # IF HEADSUP POS, ROLLC=180 DEG (LIFT DWN)
|
||
|
NOOP # IF HEADSUP NEG, ROLLC=0 DEG (LIFT UP)
|
||
|
TS ROLLC
|
||
|
CA ALFAPAD # NOMINAL ALFATRIM PAD LOADED, NEG. NO.
|
||
|
ZL
|
||
|
DXCH ALFACOM # SET ALFACOM = ALFA TRIM, BETACOM=0
|
||
|
|
||
|
CA ONE # PERMITS EXDAP2 TO CHANGE FLAG TO +0
|
||
|
TS P63FLAG # AS INDICATOR. STARTS UP P63.
|
||
|
|
||
|
CA V06N22 # SET UP DISPLAY FOR CDU DESIRED VALUES
|
||
|
TS ENTRYVN # FROM ENTRY ATTITUDE CALC, THAT IS
|
||
|
# ALREADY GOING.
|
||
|
TC UPFLAG # TURN ON ENTRY DISPLAY
|
||
|
ADRES ENTRYDSP # ENTRYDSP = 92D BIT 13 FLAG 6
|
||
|
SKIP
|
||
|
# Page 794
|
||
|
CS CMDAPMOD # GO DIRECTLY TO P63 IF BODY ATTITUDE
|
||
|
MASK ONE # IS SUCH THAT THE DELAY TASK: WAKEP62
|
||
|
EXTEND # WILL BE OMITTED.
|
||
|
BZF P63.1 # DISABLE GRP 4, GO TO ENDOFJOB.
|
||
|
# (I.E., CONTINUE IF CMDAPMOD = -1, OR +0)
|
||
|
TC P63
|
||
|
|
||
|
# PUT JOB TO SLEEP UNTIL VEHICLE MANEUVER HAS
|
||
|
# REDUCED ALFA TO +/-45 DEG. CONSIDER REMAINING
|
||
|
# 65 DEG (25 DEG IF ALFA NEG) TO ALFA TRIM TO
|
||
|
# OCCUR AT 3 DEG/SEC, AND TERMINATE P62 AT THAT
|
||
|
# TIME.
|
||
|
|
||
|
# TASK WAKEP62 IS CALLED FROM ENTRY DAP.
|
||
|
WAKEP62 CA PRIO13
|
||
|
TC NOVAC
|
||
|
EBANK= AOG
|
||
|
2CADR P63
|
||
|
|
||
|
TC TASKOVER
|
||
|
|
||
|
# EACH 2 SEC, CALCULATE GIMBAL ANGLES FOR ENTRY CON-
|
||
|
# DITIONS THAT WILL HOLD IF REORIENTATION WERE MADE
|
||
|
# AT PRESENT RN, VN. COME HERE FROM CM/POSE AND ALSO
|
||
|
# IN KEPLER PHASE OF ENTRY.
|
||
|
|
||
|
P62.3 SSP GOTO # SET RETURN ADDRESS SO THAT ROUTINE
|
||
|
QPRET # GOES DIRECTLY TO ENTRY GUIDANCE EXIT
|
||
|
ENDEXIT # THAT DOES ENTRY DISPLAY, GRP 5.
|
||
|
S62.3 # PUT DESIRED CDU VALUES IN CPHI'S FOR
|
||
|
# N22 DISPLAY.
|
||
|
|
||
|
# Page 795
|
||
|
# P63
|
||
|
# PROGRAM: P63
|
||
|
# MOD NO: 0 MAR. 13, 1967
|
||
|
# MOD BY: R. HIRSCHKOP
|
||
|
# MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 22 JUN 67 RESTARTS
|
||
|
# MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 14 JUL 67 REVISED RESTARTS
|
||
|
# FUNCTION: 1) TO INITIALIZE THE ENTRY EQUATIONS.
|
||
|
# 2) TO CONTINUE TO HOLD THE CM TO THE CORRECT ATTITUDE WITH RESPECT TO THE ATMOSPHERE FOR
|
||
|
# THE ONSET OF ENTRY DECELERATION. ROLL ANGLE IS LIFT UP/DOWN AS SPECIFIED BY HEADSUP.
|
||
|
# 3) TO SENSE .05G.
|
||
|
# CALLING SEQUENCE: DIRECTLY FROM P62
|
||
|
# EXIT: TO ENDOFJOB
|
||
|
# SUBROUTINE CALLS: NEWMODEX, GODSPR
|
||
|
|
||
|
COUNT* $$/P63
|
||
|
|
||
|
P63 TC NEWMODEX
|
||
|
MM 63
|
||
|
|
||
|
# ARRIVE WITH EBANK = AOG.
|
||
|
|
||
|
CA ENTCADR # CONTINUE AT STARTENT AFTER CM/POSE.
|
||
|
|
||
|
# AT END OF STATEMENT, CHANGE ADDRESS IN GOTOADDR
|
||
|
# TO CONTINUE AT SCALEPOP THEREAFTER.
|
||
|
|
||
|
TS POSEXIT
|
||
|
|
||
|
CA V06N64 # G VI R TO SPLSH
|
||
|
# XXX.XX G XXXX. FPS XXXX.X NM
|
||
|
TS ENTRYVN # FOR DISPLAY CALL IN OVERNOUT
|
||
|
|
||
|
CS ONE # IN CASE FLAG IS LEFT AT +1 BY DAP. THE
|
||
|
TS P63FLAG # -1 ASSURES THAT EXO-ATM DAP WILL NOT
|
||
|
# CALL P63 OUT OF SEQUENCE IN P66.
|
||
|
|
||
|
TC PHASCHNG # THIS IS REQUIRED TO PRESERVE CLEANDSP
|
||
|
OCT 00004 # RETURN IN EVENT OF AN EXTENDED VERB
|
||
|
|
||
|
TC BANKCALL # FLUSH 'N22' DISPLAY, IF ON, (OMIT
|
||
|
CADR CLEANDSP # DISPLAY DURING 'STARTENT' PASS.)
|
||
|
|
||
|
P63.1 TC PHASCHNG
|
||
|
OCT 00004 # DISABLE. DISPLAY RESTARTED VIA ENTRY.
|
||
|
|
||
|
TC ENDOFJOB
|
||
|
|
||
|
V06N60 VN 0660
|
||
|
V06N61 VN 0661
|
||
|
V06N63 VN 0663
|
||
|
# Page 796
|
||
|
V06N64 VN 0664
|
||
|
ENTCADR CADR STARTENT
|
||
|
|
||
|
EBANK= RTINIT # TO CARRY OVER INTO ENTRY STEERING.
|
||
|
POSECADR 2CADR CM/POSE
|
||
|
|
||
|
# Page 797
|
||
|
# PROGRAM: P64
|
||
|
# MOD NO: 1 SEPT. 19, 1967
|
||
|
# MOD BY: R. HIRSCHKOP
|
||
|
# MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 8 MAY 68 REVISED COMMENTS FOR COLOSSUS
|
||
|
# FUNCTION: 1. TO START ENTRY GUIDANCE AT .05G SELECTING ROLL ATTITUDE, CONSTANT DRAG LEVEL, AND
|
||
|
# DRAG THRESHHOLD, KA, WHICH ARE KEYED TO THE .05G POINT.
|
||
|
# 2. SELECT FINAL PHASE P67 IF V < 27000 FPS WHEN .2G OCCURS.
|
||
|
# 3. ITERATE FOR UP-CONTROL SOLUTION P65 IF V > 27000 FPS AND IF ALTITUDE RATE AND DRAG
|
||
|
# LEVEL CONDITIONS ARE SATISFIED. ENTER P65 WHEN CONSTANT DRAG CONTROLLER HAS BROUGHT RANGE
|
||
|
# AS PREDICTED TO WITHIN 25 NM OF DESIRED RANGE.
|
||
|
# 4. SELECT FINAL PHASE P67 IF NO UP-CONTROL SOLUTION EXISTS WITH VL > 18000 FPS.
|
||
|
# CALLING SEQUENCE: BY RTB FROM REENTRY CONTROL
|
||
|
# EXIT: BACK TO REENTRY CONTROL.
|
||
|
# SUBROUTINE CALLS: NEWMODEX
|
||
|
|
||
|
BANK 25
|
||
|
SETLOC P60S1
|
||
|
BANK
|
||
|
|
||
|
# THIS DISPLAY IS CALLED EACH PASS THROUGH STEERING. RESTART PROTECTION IS VIA STEERING.
|
||
|
|
||
|
COUNT* $$/P64
|
||
|
|
||
|
P64 TC NEWMODEX # ENTER VIA RTB WHEN .05G IS EXCEEDED.
|
||
|
MM 64
|
||
|
CA V06N74 # ROLLC VI D
|
||
|
# XXX.XX DEG XXXXX. FPS XXX.XX G
|
||
|
TS ENTRYVN # DISPLAY VIA OVERNOUT.
|
||
|
|
||
|
TC DANZIG # ... AND CONTINUE IN INITROLL ...
|
||
|
|
||
|
V06N74 VN 0674
|
||
|
|
||
|
# Page 798
|
||
|
# PROGRAM: P65
|
||
|
# MOD NO: 0 MOD BY: RR BAIRNSFATHER DATE: 17 JAN 68 COLOSSUS GSOP ADDITION.
|
||
|
# FUNCTION: TO CONTINUE ENTRY GUIDANCE, USING THE UP-CONTROL PHASE TO STEER TO A CONTROLLED EXIT
|
||
|
# CONDITION. THIS PHASE TERMINATES A) IF D < Q7 FPSS, GOTO TO P66.
|
||
|
# B) IF RDOT NEG, AND IF V < VL +500 FPS, GO TO P67.
|
||
|
# CALLING SEQUENCE: BY RTB FROM REENTRY CONTROL
|
||
|
# EXIT: BACK TO REENTRY CONTROL, OR TO ENDOFJOB.
|
||
|
# SUBROUTINE CALLS: NEWMODEX
|
||
|
|
||
|
COUNT* $$/P65
|
||
|
|
||
|
P65 TC NEWMODEX # ENTER VIA RTB WHEN RANGE < 25 N M OF
|
||
|
MM 65 # TARGET.
|
||
|
|
||
|
CA PRIO13
|
||
|
TC NOVAC
|
||
|
EBANK= ENTRYVN
|
||
|
2CADR P65.1
|
||
|
|
||
|
TC 2PHSCHNG # 2 PHASE CHG REQUIRED TO PREVENT RE-
|
||
|
OCT 00554 # STARTING FLASHING DISPLAY TWICE.
|
||
|
OCT 10035 # 4.55 SPOT AND SERVICER, HERE.
|
||
|
TC INTPRET
|
||
|
SSP RTB
|
||
|
GOTOADDR # CHANGE ENTRY MODE TO UPCONTRL.
|
||
|
UPCONTRL
|
||
|
REFAZE10 # GO HERE TO REESTABLISH ENTRY SEQUENCER.
|
||
|
# AND CONTINUE AT UPCONTRL...
|
||
|
|
||
|
P65.1 TC DOWNFLAG
|
||
|
ADRES ENTRYDSP # ENTRYDSP = 92D BIT 13 FLAG 6
|
||
|
|
||
|
CA V16N69 # ROLLC DL (Q7) VL
|
||
|
TC BANKCALL # XXX.XX DEG XXX.XX G XXXXX. FPS
|
||
|
CADR GOFLASHR
|
||
|
TC -3 # NODOFLAG IS SET ...
|
||
|
TC +3
|
||
|
TC -5
|
||
|
TC P61.3 # EST. GRP 4 FOR DISPLAY AND DO ENDOFJOB
|
||
|
# IF PROCEED, CONTINUE
|
||
|
TC UPFLAG
|
||
|
ADRES ENTRYDSP # ENTRYDSP = 92D BIT 13 FLAG 6
|
||
|
|
||
|
TC P63.1 # DISABLE GRP 4, START UP ENTRY DISPLAY
|
||
|
# N06V68 VIA OVERNOUT, AS USED IN P64
|
||
|
V16N69 VN 1669
|
||
|
|
||
|
# Page 799
|
||
|
# PROGRAM: P66
|
||
|
# MOD NO: 0 MOD BY: RR BAIRNSFATHER DATE: 17 JAN 68 COLOSSUS GSOP ADDITIONS
|
||
|
# FUNCTION: KEEP CM ATTITUDE IN TRIM TO THE RELATIVE VELOCITY VECTOR. ENTRY GUIDANCE STOPS GENERATING
|
||
|
# ROLL COMMANDS UNTIL DRAG BUILDS UP TO Q7+0.5 FPSS.
|
||
|
# CALLING SEQUENCE: VIA RTB FROM REENTRY CONTROL.
|
||
|
# EXIT: BACK TO REENTRY CONTROL.
|
||
|
# SUBROUTINE CALLS: NEWMODEX
|
||
|
|
||
|
COUNT* $$/P66
|
||
|
|
||
|
P66 TC NEWMODEX # ENTER VIA RTB WHEN D < Q7 FPSS
|
||
|
MM 66
|
||
|
|
||
|
CA V06N22 # OGA IGA MGA
|
||
|
# XXX.XX DEG XXX.XX DEG XXX.XX DEG
|
||
|
TC P66END # IN CASE CAME FROM P65, GO TO DISABLE GRP 4,
|
||
|
# AND SET ENTRYDSP TO DO DISPLAY VIA
|
||
|
# OVERNOUT.
|
||
|
|
||
|
# ... AND CONTINUE AT KEP2
|
||
|
|
||
|
# Page 800
|
||
|
# PROGRAM: P67
|
||
|
# MOD NO: 0 MAR. 16, 1967
|
||
|
# MOD BY: R. HIRSCHKOP
|
||
|
# FUNCTION: TO TERMINATE STEERING WHEN THE CM VELOCITY WRT EARTH = 1000 FT/SEC
|
||
|
# CALLING SEQUENCE:
|
||
|
# EXIT: TO P00H
|
||
|
# SUBROUTINE CALLS: GOFLASH
|
||
|
|
||
|
# THIS DISPLAY IS CALLED EACH PASS THROUGH STEERING. RESTART PROTECTION IS VIA STEERING.
|
||
|
|
||
|
COUNT* $$/P67
|
||
|
|
||
|
P67 TC NEWMODEX # ENTER VIA RTB
|
||
|
MM 67
|
||
|
CA V06N66 # ROLLC XRNGERR DNRNGERR
|
||
|
# XXX.XX DEG XXXX.X NM XXXX.X NM
|
||
|
P66END TS ENTRYVN # DISPLAY VIA OVERNOUT.
|
||
|
|
||
|
TC UPFLAG # (IN CASE CAME FROM P65. ENTRY DISPLAY
|
||
|
ADRES ENTRYDSP # WILL FLUSH FLASHING DISP. IF STILL ON)
|
||
|
# BIT 13 FLAG 6
|
||
|
KILLGRP4 TC PHASCHNG # DISABLE GRP4, IN CASE CAME FROM HUNTEST.
|
||
|
OCT 00004 # (COME TO KILLGRP4 VIA RTB, RET TO CALLER)
|
||
|
|
||
|
TC DANZIG # ... AND CONTINUE AT PREDICT3 ...
|
||
|
|
||
|
V06N66 VN 0666
|
||
|
|
||
|
BANK 26
|
||
|
SETLOC P60S2
|
||
|
BANK
|
||
|
|
||
|
P67.1 CA V16N67 # RTOGO LAT LONG
|
||
|
# XXXX.X NM XXX.XX DEG XXX.XX DEG
|
||
|
TC BANKCALL
|
||
|
CADR GOFLASH
|
||
|
TC +3 # EFFECTIVE GOTOP00H
|
||
|
TC +2
|
||
|
TC P67.1 # REDO
|
||
|
|
||
|
CS THREE # TURN OFF ENTRY DAP
|
||
|
INHINT
|
||
|
MASK CM/FLAGS # CM/DSTBY, GAMDIFSW
|
||
|
TS CM/FLAGS
|
||
|
RELINT
|
||
|
EXTEND
|
||
|
DCA SERVCAD2
|
||
|
|
||
|
# Page 801
|
||
|
DXCH AVEGEXIT
|
||
|
|
||
|
TCF GOTOP00H
|
||
|
|
||
|
# Page 802
|
||
|
P67.2 VLOAD CLEAR # CALC PRESENT LAT, LONG, ALT.
|
||
|
RN
|
||
|
ERADFLAG # USE PAD RAD FOR ALT. (NOT SEEN ANYWAY)
|
||
|
STODL ALPHAV
|
||
|
PIPTIME # USE TIME OF RN
|
||
|
CLEAR CALL
|
||
|
LUNAFLAG
|
||
|
LAT-LONG
|
||
|
P67.3 RTB # ENTRY EXIT THAT OMITS DISPLAY.
|
||
|
SERVNOUT
|
||
|
|
||
|
V16N67 VN 1667
|
||
|
OCT41 = 33DEC
|
||
|
SERVCAD2 = SERVCAD1
|
||
|
|
||
|
# Page 803
|
||
|
# SUBROUTINE NAME: S61.1
|
||
|
# MOD NO: 0 DATE: 21 FEB 67
|
||
|
# MOD BY: RR BAIRNSFATHER LOG SECTION: P61-P67
|
||
|
# MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 22 JUN 67 RESTARTS.
|
||
|
#
|
||
|
# FUNCTIONAL DESCRIPTION: CALLED BY BOTH P61 AND P62
|
||
|
# FIRST, TEST TO SEE IF AVERAGEG IS ON. IF NOT, UPDATE THE STATE VECTOR TO PRESENT TIME + TOLERANCE
|
||
|
# AND TURN ON AVERAGEG AT THAT TIME, AND CONTINUE. OTHERWISE CONTINUE: SEE IF IMU Y AXIS IS
|
||
|
# WITHIN 30 DEG OF VAR. IF YES, EXIT SUBROUTINE S61.1. IF SO, SEE IF -Y AXIS OF IMU IS WITHIN
|
||
|
# 30 DEG OF VAR. IF YES, DISPLAY ALARM: 01427 IMU REVERSED.
|
||
|
# IF NO, DISPLAY ALARM: 01426 IMU UNSATISFACTORY.
|
||
|
# IN EITHER OF THESE LAST 2 CASES, WAIT 10 SEC AND THEN EXIT SUBROUTINE S61.1.
|
||
|
#
|
||
|
# REMARK: THERE WILL BE A SHORT 10 SEC DELAY IF AN ALARM EXIT IS TAKEN. THE DELAY FOR INTEGRATION IS
|
||
|
# AS SHORT AS CAN BE MADE, BUT IS ARBITRARY SINCE IT DEPENDS ON THE AGE OF THE STATE VECTOR.
|
||
|
#
|
||
|
# CALLING SEQUENCE: CALL
|
||
|
# S61.1
|
||
|
#
|
||
|
# C(MPAC) UNSPECIFIED
|
||
|
# PUSHLOC UNSPECIFIED
|
||
|
#
|
||
|
# SUBROUTINES CALLED: LOADTIME, CSMPREC, TPAGTREE,
|
||
|
# WAITLIST, JOBSLEEP, JOBWAKE, PREREAD, ALARM, GODSPR, BANKCALL, DELAYJOB
|
||
|
#
|
||
|
# NORMAL EXIT MODES: RVQ
|
||
|
#
|
||
|
# ALARMS: 01426 IMU UNSATISFACTORY
|
||
|
# 01427 IMU REVERSED
|
||
|
#
|
||
|
# OUTPUT: POSSIBLE ALARMS
|
||
|
# POSSIBLY TDEC1, RATT, VATT, RN, VN
|
||
|
#
|
||
|
# ERASABLE INITIALIZATION REQUIRED:
|
||
|
# AVEGFLAG AVERAGEG ON OR OFF LEFT BY SERVICER
|
||
|
# PIPTIME (-28) CS TIME OF PIPA UPDATE LEFT BY READACCS
|
||
|
# RN (-29) M STATE VECTOR LEFT BY AVERAGEG
|
||
|
# VN (-7) M/CS STATE VECTOR LEFT BY AVERAGEG
|
||
|
# REFSMMAT (-1) .5 REF TO SM MATRIX LEFT BY LAST IMU ALIGNMENT
|
||
|
#
|
||
|
# DEBRIS: QPRET
|
||
|
# POSSIBLY PIPTIME1, RATT, VATT, TDEC1, RN1, VN1, QTEMP, X1 IF UPDATED
|
||
|
# PUSH LIST LOCS USED BY CSMPREC
|
||
|
|
||
|
EBANK= AOG # FOR 60GENRET, S61DT
|
||
|
BANK 26
|
||
|
SETLOC P60S3
|
||
|
BANK
|
||
|
|
||
|
COUNT* $$/S61.1
|
||
|
|
||
|
S61.1 EXTEND
|
||
|
QXCH 60GENRET # SAVE RET ADDR IN EB 6
|
||
|
TC BANKCALL
|
||
|
CADR R02BOTH
|
||
|
TC INTPRET
|
||
|
# Page 804
|
||
|
BON CALRB
|
||
|
AVEGFLAG # IS AVERAGEG ON
|
||
|
S61.1A # YES
|
||
|
MIDTOAV2 # GET FUTURE STATE VECTOR SOON AS CAN
|
||
|
|
||
|
CA MPAC +1 # RETURN INHINTED ***
|
||
|
TS S61DT # FOR RESTART.
|
||
|
TC WAITLIST
|
||
|
EBANK= DVCNTR
|
||
|
2CADR S61.1C
|
||
|
|
||
|
TC PHASCHNG
|
||
|
OCT 40434
|
||
|
TC ENDOFJOB
|
||
|
|
||
|
S61.1C CA PRIO13
|
||
|
TC FINDVAC
|
||
|
EBANK= AOG
|
||
|
2CADR S61.1A -1
|
||
|
|
||
|
EXTEND
|
||
|
DCA SERVCAD1 # HE WHO START AVERAGEG MUST SERVICE
|
||
|
DXCH AVEGEXIT # THE EXIT.
|
||
|
|
||
|
TC 2PHSCHNG
|
||
|
OCT 00454
|
||
|
OCT 00415
|
||
|
|
||
|
CA EBENTRY # SET EB= 7 FOR PREREAD.
|
||
|
TS EBANK
|
||
|
|
||
|
TC POSTJUMP
|
||
|
CADR PREREAD # PREREAD DOES TC TASKOVER.
|
||
|
|
||
|
TC INTPRET
|
||
|
S61.1A BOVB VLOAD
|
||
|
TCDANZIG # TURN OFF OVFIND, IF ON
|
||
|
VN # VN (-7) M/CS
|
||
|
VXV MXV
|
||
|
RN # RN (-29) M
|
||
|
REFSMMAT # .5 UNIT MATRIX
|
||
|
UNIT DLOAD
|
||
|
MPAC +3 # GET COS(THETA)/2
|
||
|
BMN DAD
|
||
|
S61.1B # DO TEST ON -YSM
|
||
|
C(30)LIM # = 1.0 -.5 COS(30)
|
||
|
BOVB RTB
|
||
|
RETRN1
|
||
|
RETRN3
|
||
|
# Page 805
|
||
|
S61.1B DCOMP DAD
|
||
|
C(30)LIM # = 1.0 - .5 COS(30)
|
||
|
BOVB EXIT
|
||
|
RETRN2
|
||
|
|
||
|
RETRN3 TC ALARM
|
||
|
OCT 01426 # IMU UNSATISFACTORY
|
||
|
TC RETRN2 +2
|
||
|
|
||
|
RETRN2 TC ALARM
|
||
|
OCT 01427 # IMU REVERSED
|
||
|
|
||
|
+2 CAF V05N09
|
||
|
TC BANKCALL
|
||
|
CADR GODSPR # DO DISPLAY
|
||
|
CA 10SECS
|
||
|
TC BANKCALL
|
||
|
CADR DELAYJOB
|
||
|
|
||
|
RETRN1 TC 60GENRET
|
||
|
|
||
|
EBANK= DVCNTR
|
||
|
SERVCAD1 2CADR SERVEXIT
|
||
|
|
||
|
C(30)LIM 2DEC .566985 # = 1.0 - .5 COS(30)
|
||
|
|
||
|
10SECS DEC 1000 # 1000 CS
|
||
|
60SECDP 2DEC 6000 B-28 # 6000 CS
|
||
|
|
||
|
# Page 806
|
||
|
# PROGRAM NAME: S61.2 DATE: 14 FEB 67
|
||
|
# MOD NO: 1 LOG SECTION: P61-P67
|
||
|
# MOD BY: NORTH / BAIRNSFATHER
|
||
|
# MOD NO: 2 MOD BY: NORTH/BAIRNSFATHER DATE: 11 MAY 67 ADD 2ND ITER FOR ERAD AT 400K FT.
|
||
|
# MOD NO: 3 MOD BY: RR BAIRNSFATHER DATE: 21 NOV 67 VARIABLE MU ADDED.
|
||
|
# MOD NO: 4 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 68 DIFFERENT EARTH/MOON SCALES IN TFF'S
|
||
|
#
|
||
|
# FUNCTIONAL DESCRIPTION: CALLED IN P61. PROVIDES DISPLAYS FOR NOUNS N60 AND N63 .
|
||
|
# PROGRAM CALCULATES ENTRY DISPLAY OF MAXIMUM ACCELERATION EXPECTED (GMAX) AND ALSO THE EXPECTED
|
||
|
# INERTIAL VELOCITY (VPRED) AND ENTRY ANGLE (GAMMAEI) THAT WILL OBTAIN AT 400K FT ABOVE THE FISCHER
|
||
|
# ELLIPSOID. PROGRAM ALSO CALCULATES A SECOND DISPLAY RELATIVE TO THE EMSALT ABOVE FISCHER ELLIPSOID
|
||
|
# AND CONSISTS OF RANGE TO SPLASH FOM NOW (RTGO) , PREDICTED INERTIAL VELOCITY (VIO) , AND THE TIME TO
|
||
|
# GO FROM NOW (TTE) .
|
||
|
#
|
||
|
# CALLING SEQUENCE: CALL
|
||
|
# S61.2
|
||
|
# C(MPAC) UNSPECIFIED
|
||
|
# PUSHLOC WILL BE SET TO ZERO.
|
||
|
#
|
||
|
# SUBROUTINES CALLED: TFFCONIC, CALCTFF, TFF/TRIG, FISHCALC, GETERAD, VGAMCALC
|
||
|
#
|
||
|
# NORMAL EXIT MODES: RTB, P61.1
|
||
|
#
|
||
|
# ALARMS: NONE
|
||
|
#
|
||
|
# OUTPUT: THE FOLLOWING REGISTERS ARE WRITTEN IN FOR USE BY DISPLAYS
|
||
|
# GMAX 100 GMAX (-14) G,S MAXIMUM ACCELERATION
|
||
|
# VPRED (-7) M/CS PREDICTED VELOCITY AT 400K FT
|
||
|
# GAMMAEI GAMMA/360 PREDICTED GAMMA AT 400K FT
|
||
|
# FOR TM, DP(GAMMAEI) = (GAMMAEI, RTGO) / 360
|
||
|
# RTGO THETAH/360 RANGE ANGLE TO SPLASH FROM EMSALT EMSALT IS PAD LOADED.
|
||
|
# VIO (-7) M/CS INTERTIAL VELOCITY AT EMSALT EMSALT IS PAD LOADED.
|
||
|
# TTE (-28) CS TIME TO EMSALT EMSALT IS PAD LOADED.
|
||
|
# PUSHLOC = 0
|
||
|
# CONIC PARAMETERS STORED IN VAC AREA (SEE TFF SUBROUTINES)
|
||
|
#
|
||
|
# ERASABLE INITIALIZATION REQUIRED:
|
||
|
# RONE (-29) M STATE VECTOR LEFT BY USER
|
||
|
# VONE (-7) M/CS STATE VECTOR LEFT BY USER
|
||
|
# URONE UR/2 LEFT BY USER
|
||
|
# UNI (-1) UNIT NORMAL V*R LEFT BY ENTRY / P61
|
||
|
# THETAH THETAH/360 RANGE ANGLE LEFT BY ENTRY / P61
|
||
|
# UNITW (0) UNIT POLAR VECTOR LEFT BY PAD LOAD
|
||
|
# EMSALT (-29) M EMS INTERFACE ALTITUDE LEFT BY PAD LOAD
|
||
|
# ORBITAL REENTRY: 284843 FT., LUNAR REENTRY: 297431 FT.
|
||
|
#
|
||
|
# DEBRIS: QPRET,
|
||
|
# ALL PDL LOCATIONS ABOVE 12D, INCLUDING X1,X2,S1,S2
|
||
|
# ALSO PDL+0 ... PDL+5, WHERE INITIAL PUSHLOC = PDL
|
||
|
|
||
|
# Page 807
|
||
|
# THE FOLLOWING PUSH LIST LOCATIONS HAVE BEEN RESERVED FOR TFF ROUTINES AND ARE REPEATED HERE FOR CONVENIENCE.
|
||
|
# OF COURSE FOR S61.2 USAGE, EARTH ORIGIN SCALING IS USED.
|
||
|
#
|
||
|
# BELOW E: IS USED FOR EARTH ORIGIN SCALE
|
||
|
# M: IS USED FOR MOON ORIGIN SCALE
|
||
|
#
|
||
|
# RTERM = 18D TERMINAL RADIUS M E: (-29) M: (-27)
|
||
|
# NRTERM = 16D TERMINAL RADIUS M E: (-29+NR)
|
||
|
# M: (-27+NR)
|
||
|
# RMAG1 = 12D PRESENT RADIUS M E: (-29) M: (-27)
|
||
|
# NRMAG = 32D PRESENT RADIUS M E: (-29+NR)
|
||
|
# M: (-27+NR)
|
||
|
# SDELF/2 SIN(THETA) / 2
|
||
|
# CDELF/2 = 14D COS(THETA) / 2
|
||
|
# TFFX = 34D X, ARGUMENT OF SERIES T(X)
|
||
|
# TFFTEM = 36D ARG FOR TRANSFER ANGLE CALCULATION
|
||
|
# TFFNP = 28D LC P M E: (-38+2NR) M: (-36+2NR)
|
||
|
# TFF/RTMU= 30D 1/SQRT(MU) E: (17) M: (14)
|
||
|
# TFFVSQ = 20D -(VN.VN/MU) 1/M E: (20) M: (18)
|
||
|
|
||
|
# Page 808
|
||
|
BANK 34
|
||
|
SETLOC P60S2
|
||
|
BANK
|
||
|
|
||
|
COUNT* $$/S61.2
|
||
|
# PDL LEFT AT ZERO BY TARGETING
|
||
|
|
||
|
S61.2 DLOAD DSU
|
||
|
EMSALT
|
||
|
290KFT
|
||
|
BPL DLOAD
|
||
|
LUNENT
|
||
|
1/RTMU # ESTABLISH MU FOR ORBITAL ENTRIES
|
||
|
CALLCON CALL
|
||
|
TFFCONIC # FILL VAC AREA WITH CONIC PARAMETERS
|
||
|
|
||
|
DLOAD CALL
|
||
|
RTRIAL # 1ST GUESS AT TERMINAL RADIUS (-29)
|
||
|
CALCTFF # SAVES MPAC IN RTERM (18D)
|
||
|
|
||
|
CALL # CALC SDELF/2, CDELF/2
|
||
|
TFF/TRIG # RETURN WITH S(THETA) IN MPAC
|
||
|
|
||
|
CALL # GET FISCHER RADIUS (-29) M
|
||
|
FISHCALC # ANS IN MPAC AND IN ERADM
|
||
|
|
||
|
DAD CALL
|
||
|
EMSALT
|
||
|
CALCTFF # SAVES MPAC IN RTERM (18D)
|
||
|
|
||
|
DCOMP # NEGATIVE AS IN COUNTDOWN
|
||
|
STORE TTE1 # DECR TTE FROM BASB TTE1. (RESTART)
|
||
|
# DNLIST AND DSKY WILL USE TTE.
|
||
|
STCALL TTE # LET MISS CONTRL DECR BY ELAPSED TIME
|
||
|
# TTE= TIME FROM NOW TO EMSALT +FISCHER
|
||
|
|
||
|
TFF/TRIG # S(THETA) IN MPAC ON RETURNING
|
||
|
# AND THETA= RANGE FROM NOW TO EMSALT
|
||
|
|
||
|
CALL
|
||
|
FISHCALC
|
||
|
CALL
|
||
|
VRCALC
|
||
|
CALL
|
||
|
DISPTARG
|
||
|
CALL
|
||
|
DISPTARG
|
||
|
STCALL RTGO
|
||
|
# Page 809
|
||
|
VGAMCALC
|
||
|
|
||
|
DMP # MPAC = GAMMA
|
||
|
# PDL0 HAS VGAM.
|
||
|
BDDV DAD
|
||
|
VEMSCON # -HS D 180/PI (-14)
|
||
|
0 # VGAM FROM PDL0
|
||
|
STODL VIO # PREDICTED VELOCITY AT EMSALT.
|
||
|
|
||
|
# GAMMA AND VGAM AT 300K FT ARE REQUIRED BY GMAX
|
||
|
# ALGORITHM.
|
||
|
|
||
|
ERADM # EARTH RADIUS FROM GETERAD (-29) M
|
||
|
# = FISCHER RADIUS (-29)
|
||
|
|
||
|
DAD
|
||
|
300KFT # M (-29)
|
||
|
STCALL RTERM # TERMINAL RADIUS M (-29)
|
||
|
|
||
|
PREVGAM # VGAMCALC WITH NEW RTERM
|
||
|
|
||
|
# VBAR = (V(FPS) - 36KF/S) / 20 F/S
|
||
|
# GMAX = (4/(1 + 4.8 VBARSQ))(GAM - 6.05 - 2.4 VBARSQ) - 10(L/D - .3) + 10 ASSUME L/D = 0.3, BANK =0.
|
||
|
|
||
|
# GMAXCALC
|
||
|
PDDL DSU # GAM TO PDL2
|
||
|
0 # VGAM IS IN PDL0 (-7)
|
||
|
36KFT/S # (-7) M/CS
|
||
|
DDV DSQ
|
||
|
20KFT/S # (-6) M/CS
|
||
|
STORE 0 # VBARSQ (-2) TO PDL0
|
||
|
|
||
|
DMP DAD
|
||
|
KR1
|
||
|
# GAM, POS DOWN, FROM PDL2
|
||
|
DAD DMP
|
||
|
-6.05DEG
|
||
|
KR2
|
||
|
PDDL # XCH PDL+0 FOR VBARSQ (-2)
|
||
|
DDV DAD
|
||
|
KR4
|
||
|
DP2(-4)
|
||
|
BDDV
|
||
|
# NUM FROM PDL+0
|
||
|
DAD BPL
|
||
|
KR3
|
||
|
+3
|
||
|
DLOAD
|
||
|
HI6ZEROS
|
||
|
STODL GMAX # 100 GMAX (-14)
|
||
|
# Page 810
|
||
|
# DISPLAY USES GMAX AS SP, SO LO WORD IS WRITTEN OVER BY VPRED.
|
||
|
ERADM # = FISCHER RADIUS (-29) M
|
||
|
DAD CALL # 2 ND ITERATION FOR FISCHER RADIUS
|
||
|
400KFT
|
||
|
CALCTFF # ESTABLISH TRANSFER ANGLE DATA.
|
||
|
CALL
|
||
|
TFF/TRIG # GET SIN, COS DELF
|
||
|
CALL
|
||
|
FISHCALC # GET CORRESPONDING FISCHER RADIUS.
|
||
|
|
||
|
DAD LXA,2 # SAVE HI-WORD FOR DOWNLIST.
|
||
|
400KFT # M (-29)
|
||
|
RTGO # (RANGE ANGLE FROM EMSALT) / 360
|
||
|
STCALL RTERM
|
||
|
PREVGAM # VGAMCALC WITH NEW RTERM
|
||
|
|
||
|
DCOMP SXA,2 # HI-WORD OF EACH ON DOWNLIST.
|
||
|
MPAC +1
|
||
|
STODL GAMMAEI # CONIC GAMMA/360 AT 400K FT. (HI-WORD)
|
||
|
# CONIC RTGO/360 FROM EMSALT (LOW-WORD)
|
||
|
# FOR TM, DP(GAMMAEI) = (GAMMA, RTGO) / 360
|
||
|
|
||
|
# VGAM FROM PDL+0 (-7)
|
||
|
STADR
|
||
|
STORE VPRED # CONIC VELOCITY AT 400K FT
|
||
|
|
||
|
RTB
|
||
|
P61.1
|
||
|
# PDL BACK TO ZERO.
|
||
|
|
||
|
LUNENT DLOAD GOTO
|
||
|
1/RTMUE # ESTABLISH MU FOR LUNAR TYPE ENTRIES
|
||
|
CALLCON
|
||
|
290KFT 2DEC 88392.0 B-29
|
||
|
|
||
|
KTETA1 2DEC* .421844723 E2 B-14* # 110 2PI/16384(163.84)
|
||
|
|
||
|
36KFT/S 2DEC 109.728 B-7 # (-7) M/CS = 36 KFT/S (-7)
|
||
|
|
||
|
20KFT/S 2DEC 121.92 B-7 # (-6) M/CS = 2 20KFT/S (-7)
|
||
|
|
||
|
KR1 2DEC -.026666667 # = -2.4 4 / 360
|
||
|
|
||
|
-6.05DEG 2DEC -.016805556 # = -6.05 / 360
|
||
|
|
||
|
KR2 2DEC .54931641 # = (360/4) 100 (-14) = 9000 B-14
|
||
|
|
||
|
KR3 2DEC 1000 B-14 # = 100 (10.0) (-14) G,S
|
||
|
# Page 811
|
||
|
# ASSUMES L/D = 0.3, BANK =0.
|
||
|
RTRIAL 2DEC 6460097.18 B-29 # RPAD +264643 FT =21 194 545 FT
|
||
|
# RPAD DEFINED AS 20 909 901.57 FT =6 373 336 M
|
||
|
400KFT 2DEC 121920 B-29 # METERS
|
||
|
|
||
|
# 300KFT 2DEC 91440 B-29 # (-29) M
|
||
|
|
||
|
# EMSALT 2DEC 86759.2 B-29 # 284643 FT (-29) M (ORBITAL REENTRY)
|
||
|
|
||
|
# EMSALT 2DEC 90657 B-29 # 297431 FT (-29) M (LUNAR REENTRY)
|
||
|
|
||
|
KR4 2DEC .833333333
|
||
|
|
||
|
300KFT EQUALS MINPERE
|
||
|
VEMSCON 2DEC -.0389676 B-14 # = -HS D / 2 PI (-14) M SQ / CS SQ
|
||
|
|
||
|
# = -16369 .05G 32.2 .3048 .3048/2 PI (-14)
|
||
|
|
||
|
# Page 812
|
||
|
# SUBROUTINE NAME: FISHCALC (USED BY S61.2) DATE: 01.21.67
|
||
|
# MOD NO: 0 LOG SECTION: P61-P67
|
||
|
# MOD BY: MORTH / BAIRNSFATHER
|
||
|
# MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 11 MAY 67 INCLUDE GETERAD CALL
|
||
|
#
|
||
|
# FUNCTIONAL DESCRIPTION: GIVEN THE PRESENT POSITION, UNITR, CALCULATE A NEW UNITR THAT IS ROTATED THROUGH
|
||
|
# TRANSFER ANGLE, THETA, ALONG THE TRAJECTORY. THEN CALCULATE SIN(LAT) AND USE TO OBTAIN FISCHER RADIUS.
|
||
|
# SINCE FISHCALC USED UNI (LEFT BY ENTRY) EARTH SCALING IS ASSUMED. (WILL IMPROVE FOR SUITABLE TENNANT)
|
||
|
#
|
||
|
# CALLING SEQUENCE: CALL
|
||
|
# FISHCALC
|
||
|
# ENTER WITH .5 SIN(THETA) IN MPAC.
|
||
|
# PUSHLOC IS AT PDL+0, AN ARBITRARY BASE VALUE IF LEQ 8D
|
||
|
#
|
||
|
# SUBROUTINES CALLED: GET ERAD
|
||
|
#
|
||
|
# NORMAL EXIT MODE: RVQ
|
||
|
#
|
||
|
# EXIT MODES: NONE
|
||
|
#
|
||
|
# OUTPUT: ERADM (-29) M IN MPAC ON RETURNING
|
||
|
# NEW UNIT VECTOR NOT SAVED.
|
||
|
# SIN(LAT) NOT SAVED.
|
||
|
# PUSHLOC AT PDL+0
|
||
|
#
|
||
|
# ERASABLE INITIALIZATION REQUIRED:
|
||
|
# SDELF/2 =SIN(THETA) / 2, IN MPAC LEFT BY TFF/TRIG
|
||
|
# CDELF/2 =COS(THETA) / 2, STORED IN PDL 14D LEFT BY TFF/TRIG
|
||
|
# RONE (-29) M LEFT BY USER
|
||
|
# VONE (-7) M/CS LEFT BY USER
|
||
|
# URONE UR/2 LEFT BY USER
|
||
|
# UNI .5 UNIT(V*R) LEFT BY ENTRY / P61
|
||
|
# UNITW UNIT NORTH POLE LEFT BY PAD LOAD
|
||
|
#
|
||
|
# DEBRIS: QPRET, PDL+0 ... PDL+5
|
||
|
# _ _ _
|
||
|
FISHCALC PDVL VXV # URPR = UR CDELF + UHOR SDELF
|
||
|
URONE
|
||
|
UNI
|
||
|
VXSC VSL1
|
||
|
# SIN(THETA) / 2 FROM PDL+0
|
||
|
PDVL VXSC # TO PDL+0, +5
|
||
|
URONE
|
||
|
CDELF/2 # COS(THETA) / 2
|
||
|
VAD STADR
|
||
|
STORE URH # FOR USE IN RTGO FROM EMS DISPLAY
|
||
|
DOT SL1
|
||
|
UNITW # PULL UNIT VECTOR UNIT NORTH
|
||
|
STORE ALPHAV +4 # = .5 SIN(LAT)
|
||
|
DUMPFISH GOTO
|
||
|
GETERAD # SAVES FISCHER RAD (-29) M IN ERADM AND
|
||
|
# IN MPAC. RETURNS TO CALLER VIO QPRET.
|
||
|
|
||
|
# Page 813
|
||
|
# SUBROUTINE NAME: VGAMCALC (USED BY S61.2) DATE: 01.21.67
|
||
|
# MOD NO: 0 LOG SECTION: P61-P67
|
||
|
# MOD BY: MORTH / BAIRNSFATHER
|
||
|
# MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 11 APR 67
|
||
|
# MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 21 NOV 67 VARIABLE MU ADDED.
|
||
|
# MOD NO: 3 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 68 ACCEPT DIFFERENT EARTH/MOON SCALE
|
||
|
#
|
||
|
# FUNCTONAL DESCRIPTION: EARTH CENTERED VIS VIVA CALCULATION OF TERMINAL VELOCITY AND GAMMA (REL TO
|
||
|
# HORIZONTAL) GIVEN THE SCALAR QUANTITIES: PRESENT RADIUS AND VELOCITY AND THE TERMINAL RADIUS.
|
||
|
# THE USER MUST APPEND PROPER SIGN TO GAMMA, SINCE IT IS CALCULATED AS A POSITIVE NUMBER.
|
||
|
# THE EQUATIONS ARE
|
||
|
#
|
||
|
# VGAM = SQRT(VN VN/MU + 2(RN-RTERM)/(RN RTERM) ) RTMU
|
||
|
#
|
||
|
# COSGAM = H / RTERM VGAM = SQRT (LCP) / (RTERM VGAM/RTMU)
|
||
|
#
|
||
|
# VGAMCALC ASSUMES THAT THE TERMINAL RADIUS IS LESS THAN THE PRESENT RADIUS. BOTH CALCTFF AND CALCTPER
|
||
|
# MAKE THIS ASSUMPTION.
|
||
|
#
|
||
|
# CALLING SEQUENCE: CALL STCALL RTERM
|
||
|
# VGAMCALC PREVGAM
|
||
|
# PUSHLOC AT PDL+0, ARBITRARY IF LEQ 12D
|
||
|
# C(MPAC) UNSPECIFIED C(MPAC)=NEW RTERM
|
||
|
#
|
||
|
# SUBROUTINES CALLED: NONE
|
||
|
#
|
||
|
# NORMAL EXIT MODE: RVQ
|
||
|
#
|
||
|
# ALARMS: NONE
|
||
|
#
|
||
|
# OUTPUT: GAMMA / 360 IN MPAC, POSITIVE NUMBER
|
||
|
# VGAM E: (-7) M: (-5) M/CS IN PDL+0
|
||
|
# PUSHLOC AT PDL+2
|
||
|
#
|
||
|
# ERASABLE INITIALIZATION REQD:
|
||
|
# TFF/RTMU E: (17) M: (14) 1/SQRT(MU) LEFT BY TFFCONIC
|
||
|
# RMAG1 E: (-29) M: (-27) M PRESENT RADIUS LENGTH LEFT BY TFFCONIC
|
||
|
# NRMAG E: (-29+NR) M NORM LENGTH OF PRESENT POSITION LEFT BY TFFCONIC
|
||
|
# M: (-27+NR)
|
||
|
# RTERM E: (-29) M: (-27) M TERMINAL RADIUS LENGTH LEFT BY CALCTFF
|
||
|
# NRTERM E: (-29+NR) M NORM LENGTH OF TERMINAL RADIUS LEFT BY CALCTFF
|
||
|
# M: (-27+NR)
|
||
|
# TFFVSQ E: (20) M: (18) 1/M -(V SQ/MU): PRESENT VELOCITY, NORM LEFT BY TFFCONIC
|
||
|
# TFFNP E: (-38+2NR) M LCP, SEMI-LATUS RECTUM, WEIGHT NR LEFT BY TFFCONIC
|
||
|
# M: (-36+2NR)
|
||
|
#
|
||
|
# DEBRIS: QPRET, PDL+0 ... PDL+3
|
||
|
# RTERM, NRTERM IF PREVGAM ENTERED.
|
||
|
# Page 814
|
||
|
|
||
|
PREVGAM SL* # ENTER WITH NEW RTERM IN MPAC
|
||
|
# E: (-29) M: (-27)
|
||
|
0,1 # X1 = -NR
|
||
|
STORE NRTERM # RTERM M E: (-29+NR) M: (-27+NR)
|
||
|
|
||
|
VGAMCALC DLOAD DMP
|
||
|
NRMAG # RMAG M E: (-29+NR) M: (-27+NR)
|
||
|
NRTERM # RTERM M E: (-29+NR) M: (-27+NR)
|
||
|
PDDL DSU # RMAG RTERM M E: (-58+2NR) M: (-54+2NR)
|
||
|
NRMAG # RMAG M E: (-29+NR) M: (-27+NR)
|
||
|
NRTERM # RTERM M E: (-29+NR) M: (-27+NR)
|
||
|
SL* DDV # 2(RN-RTERM) E: (-30+NR) M: (-28+NR)
|
||
|
0 -8D,1 # (-8+NR)
|
||
|
# PUSH UP PRODUCT.
|
||
|
DSU
|
||
|
TFFVSQ # -(V SQ/MU) E: (20) M: (18)
|
||
|
SQRT PUSH # SAVE VGAM/RT(MU) FOR NOW. E: (10) M: (9)
|
||
|
DDV PDDL # XCH PDL+0, LEAVING VGAM FOR OUTPUT.
|
||
|
# VGAM TO PDL M/CS E: (-7) M: (-2)
|
||
|
TFF/RTMU # E: (17) M: (14)
|
||
|
DMP PDDL # RTERM VGAM/RTMU E: (-19+NR) M: (-18+NR)
|
||
|
NRTERM # RTERM M E: (-29+NR) M: (-27+NR)
|
||
|
TFFNP # LC P =H.H/MU M E: (-38+2NR) M: (-36+2NR)
|
||
|
SQRT DDV # E: (-19+NR) M: (-18+NR)
|
||
|
# PUSH UP DEN E: (-19+NR) M: (-18+NR)
|
||
|
# USE DDV OVFL AS LIMITER (|COS| <1.0)
|
||
|
SR1 ACOS
|
||
|
DUMPVGAM RVQ
|
||
|
# CALLER MUST SUPPLY OWN SIGN ...
|
||
|
# 22W 27MS
|
||
|
|
||
|
# Page 815
|
||
|
# SUBROUTINE NAME: TFF/TRIG (USED BY S61.2) DATE: 01.17.67
|
||
|
# MOD NO: 0 LOG SECTION: P61-P67
|
||
|
# MOD BY: RR BAIRNSFATHER
|
||
|
# MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 14 APR 67
|
||
|
# MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 68 ACCEPT DIFFERENT EARTH/MOON SCALE
|
||
|
#
|
||
|
# FUNCTIONAL DESCRIPTION: USED BY ENTRY DISPLAY TO CALCULATE SIN(THETA), COS(THETA) FROM DATA LEFT IN
|
||
|
# PDL BY TFF SUBROUTINES. THE EQNS ARE
|
||
|
#
|
||
|
# COS(THETA) = 1-2 ABS(ARG) / (RN RTERM (1+X) )
|
||
|
# 2
|
||
|
# SIN(THETA) = SGN(ARG) SQRT(1-COS (THETA) )
|
||
|
#
|
||
|
# WHERE THETA = TRANSFER ANGLE
|
||
|
# AND ARG = P Z ABS(Z) IF ALFA ZZ LEQ 1
|
||
|
# ARG = (P / ALFA) SGN(Q1 + R 1/Z) IF ALFA Z Z G 1
|
||
|
# AND ARG HAS BEEN AFFIXED WITH THE SIGN OF SIN(THETA)
|
||
|
#
|
||
|
# CALLING SEQUENCE: CALL
|
||
|
# TFF/TRIG
|
||
|
# PUSHLOC AT PDL+0, ARBITRARY IF NOT EQ 14D
|
||
|
# C(MPAC) UNSPECIFIED
|
||
|
#
|
||
|
# SUBROUTINES CALLED: NONE
|
||
|
#
|
||
|
# NORMAL EXIT MODES: RVQ
|
||
|
#
|
||
|
# ALARMS: NONE
|
||
|
#
|
||
|
# OUTPUT: C(MPAC) = .5 SIN(THETA)
|
||
|
# CDELF/2 = .5 COS(THETA) (IN PDL 14D)
|
||
|
# PUSHLOC AT PDL+0
|
||
|
#
|
||
|
# ERASABLE INITIALIZATION REQUIRED:
|
||
|
# TFFX X LEFT BY CALCTFF OR CALCTPER
|
||
|
# TFFTEM E: (-59+2NR) ARG LEFT BY CALCTFF OR CALCTPER
|
||
|
# M: (-55+2NR) WHERE ARG = LCF ZZ SGN(DELF) OR ARG = LCP/ALFA SGN(DELF)
|
||
|
# NRTERM E: (-29+NR) M NORM LENGTH OF TERMINAL RADIUS LEFT BY CALCTFF OR CALCTPER
|
||
|
# M: (-27+NR)
|
||
|
# NRMAG E: (-29+NR) M NORM LENGTH OF PRESENT POSITION LEFT BY TFFCONIC
|
||
|
# M: (-27+NR)
|
||
|
#
|
||
|
# DEBRIS: QPRET, CDELF/2
|
||
|
|
||
|
BANK 27
|
||
|
SETLOC P60S5
|
||
|
BANK
|
||
|
TFF/TRIG DLOAD SR1
|
||
|
TFFX
|
||
|
DAD DMP
|
||
|
HIDPHALF
|
||
|
NRMAG # RMAG M E: (-29+NR) M: (-27+NR)
|
||
|
DMP BDDV
|
||
|
NRTERM # RTERM M E: (-29+NR) M: (-27+NR)
|
||
|
TFFTEM # P ZSQ OR P/ALFA E: (-59+2NR) M: (-55+2NR)
|
||
|
ABS BDSU # THE SIGN IS FOR SDELF.
|
||
|
HIDPHALF
|
||
|
STORE CDELF/2 # .5 COS(THETA)
|
||
|
DSQ DCOMP # KEEP HONEST FOR SQRT.
|
||
|
# Page 816
|
||
|
DAD SQRT
|
||
|
HIDP1/4
|
||
|
DUMPTRIG SIGN RVQ
|
||
|
TFFTEM # AFFIX SIGN(DELE/2)
|
||
|
# RETURN WITH .5 SIN(THETA) IN MPAC
|
||
|
|
||
|
# 16W 15MS
|
||
|
|
||
|
DISPTARG STQ # C(MPAC = TRGO ESTIMATE
|
||
|
60GENRET
|
||
|
DMP DSU
|
||
|
KTETA1
|
||
|
TTE1
|
||
|
STCALL DTEAROT
|
||
|
EARROT2
|
||
|
CALL
|
||
|
VRCALC
|
||
|
GOTO
|
||
|
60GENRET
|
||
|
VRCALC VLOAD DOT
|
||
|
URH
|
||
|
RT
|
||
|
SL2 ACOS
|
||
|
RVQ
|
||
|
|
||
|
# END OF PROGRAM S61.2
|
||
|
|
||
|
# Page 817
|
||
|
# PROGRAM DESCRIPTION S62.3 DATE 10JAN67
|
||
|
# MOD NO 1: LOG SECTION P60-P67
|
||
|
# MOD BY ZELDIN
|
||
|
# MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 15 MAY 67 CHANGED TO REF COORDS.
|
||
|
# MOD NO: 3 MOD BY: RR BAIRNSFATHER DATE: 17 JAN 68 ALFAPAD CHANGES MADE.
|
||
|
#
|
||
|
# FUNCTIONAL DESCRIPTION
|
||
|
#
|
||
|
# COMPUTE DESIRED GIMBAL ANGLES FOR ENTRY ATTITUDE
|
||
|
# THE FOLLOWING TRAJECTORY TRIAD IS AVAILABLE IN MEMORY AND IS COMPUTED EACH 2 SECONDS BY CM/POSE IN
|
||
|
# REFERENCE COORDINATES (V = VELOCITY RELATIVE TO EARTH):
|
||
|
#
|
||
|
# UXA = -UNIT(V)
|
||
|
# UYA = UNIT(V*R)
|
||
|
# UZA = UXA*UYA
|
||
|
#
|
||
|
# GENERATE A DESIRED BODY TRIAD FOR TRIMMED FLIGHT WITH RESPECT TO THE RELATIVE VELOCITY VECTOR, USING
|
||
|
# ROLL COMMAND AND TRIM ANGLE OF ATTACK:
|
||
|
#
|
||
|
# UXD = UNIT(UYD*UXA) SIN(ALFATRIM) + UXA COS(ALFATRIM)
|
||
|
# UYD = UYA COS(ROLLC) + UZA SIN(ROLLC)
|
||
|
# UZD = UXD * UYD
|
||
|
#
|
||
|
# USE THE DESIRED SET (IN REFERENCE COORDS) AND REFSMMAT TO CALL CALCGA AND OBTAIN GIMBAL ANGLES
|
||
|
# IN 2S, C IN MPAC, +2 AND THETAD, +2.
|
||
|
#
|
||
|
# CALLING SEQUENCE
|
||
|
#
|
||
|
# L CALL
|
||
|
# L+1 S62.3
|
||
|
#
|
||
|
# NORMAL EXIT MODE
|
||
|
#
|
||
|
# RETURN VIA QPRET DIRECTLY FROM CALCGA.
|
||
|
#
|
||
|
# SUBROUTINES CALLED
|
||
|
#
|
||
|
# CALCGA
|
||
|
#
|
||
|
# ALARM OR ABORT MODES
|
||
|
#
|
||
|
# NONE
|
||
|
#
|
||
|
# ERASABLE INITIALIZATION REQUIRED
|
||
|
#
|
||
|
# ROLLC ROLL COMMAND DP 1'S COMP AT 1REV
|
||
|
# ALFAPAD SP 1'S C / 180 LEFT BY PAD LOAD ALFATRIM IS NEGATIVE.
|
||
|
# UXA/2 REF COORDS LEFT BY CM/POSE
|
||
|
# UYA/2 REF COORDS LEFT BY CM/POSE
|
||
|
# UZA/2 REF COORDS LEFT BY CM/POSE
|
||
|
#
|
||
|
# OUTPUT
|
||
|
#
|
||
|
# CPHI GIMBAL ANGLES (O,I,M) 2'S COMP TP (O,I,M)/180
|
||
|
#
|
||
|
# DEBRIS
|
||
|
#
|
||
|
# QTEMP, QPRET, PUSHLIST
|
||
|
|
||
|
BANK 10
|
||
|
SETLOC P60S4
|
||
|
BANK
|
||
|
# Page 818
|
||
|
COUNT* $$/S62.3
|
||
|
|
||
|
S62.3 SETPD SLOAD
|
||
|
0
|
||
|
ALFAPAD # ALFATRIM / 180, ALFA IS NEG.
|
||
|
SR1 PUSH
|
||
|
COS PDDL # XCH PDL, COS TO PDL0
|
||
|
SIN PDDL # SIN TO PDL2
|
||
|
ROLLC
|
||
|
COS VXSC
|
||
|
UYA/2 # REF COORDS
|
||
|
PDDL SIN # PUSH VECTOR INTO PDL4...9
|
||
|
ROLLC
|
||
|
VXSC VAD
|
||
|
UZA/2 # REF COORDS
|
||
|
# VECTOR FROM PDL4...9
|
||
|
VSL1
|
||
|
STORE YNB # = UYD REF COORDS
|
||
|
|
||
|
VXV VSL1
|
||
|
UXA/2 # REF COORDS
|
||
|
VXSC PDDL
|
||
|
# SIN TRIM FROM PDL2
|
||
|
# XCH PDL0 FOR COS TRIM
|
||
|
VXSC VAD
|
||
|
UXA/2 # REF COORDS
|
||
|
# FROM PDL0
|
||
|
VSL1
|
||
|
STORE XNB # X SC AXIS (.5 UNIT) REF COORDS
|
||
|
|
||
|
VXV VSL1
|
||
|
YNB
|
||
|
STOVL ZNB # Z SC IN REF COOR. SCALED AT 2
|
||
|
REFSMMAT
|
||
|
STOVL XSM
|
||
|
REFSMMAT +6
|
||
|
STOVL YSM
|
||
|
REFSMMAT +12D
|
||
|
STORE ZSM
|
||
|
|
||
|
CLEAR GOTO
|
||
|
CPHIFLAG # CAUSE CALCGA TO STORE ANS IN TP CPHI
|
||
|
CALCGA
|
||
|
# CALCGA WILL RETURN TO ORIGINAL CALLER
|
||
|
# VIA QPRET WITH 2'S COMP. ANGLES IN CPHI
|
||
|
|
||
|
|
||
|
|