Pre-launch Review
P61 P67
It name and Comanche 055 page images. definition of V06N74, in several interpreter operands fixed stuff like N-M,1 to N -M,1
# 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# Massachusetts 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 60GENRET. DOES PHASCHNG, GROUP 4.
CA V06N61 # LAT(SPL) LNG(SPL) HEADSUP # XXX.XX DEG XXX.XX DEG XXXXX. TC BANKCALL CADR GOFLASHR TC GOTOPOOH# 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 INTPRETNEWRNVN 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 UNIDUMPP61 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 GOTOPOOH 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 GOTOPOOH 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 GOTOPOOH 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 6SKIP# 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 0660V06N61 VN 0661V06N63 VN 0663# Page 796V06N64 VN 0664ENTCADR 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 THRESHOLD, 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 P64V16N69 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 POOH# 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 NMP66END 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 6KILLGRP4 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 GOTOPOOH 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 GOTOPOOH
# Page 802P67.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-LONGP67.3 RTB # ENTRY EXIT THAT OMITS DISPLAY. SERVNOUT
V16N67 VN 1667OCT41 = 33DECSERVCAD2 = 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 INTPRETS61.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 805S61.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= DVCNTRSERVCAD1 2CADR SERVEXIT
C(30)LIM 2DEC .566985 # = 1.0 - .5 COS(30)
10SECS DEC 1000 # 1000 CS60SECDP 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 FROM 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 ENTRIESCALLCON 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 CALLCON290KFT 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 M400KFT 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 MINPEREVEMSCON 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## FUNCTIONAL 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 ACOSDUMPVGAM 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 BANKTFF/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/4DUMPTRIG 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 60GENRETVRCALC 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