2214 lines
40 KiB
ArmAsm
2214 lines
40 KiB
ArmAsm
# Copyright: Public domain.
|
|
# Filename: P51-P53.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. 737-784
|
|
# 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: SETI/PDT -> SET1/PDT,
|
|
# GOTOPOOH -> GOTOP00H, R33EXIT -> R53EXIT,
|
|
# V853 -> VB53, R56A -> R56A1 (some places
|
|
# only), added missing R56A1 label, added a
|
|
# missing CAF in COARSTYP, corrected a SETLOC
|
|
# from P50S to P50S3.
|
|
# 2009-05-21 RSB In COARFINE, a TC BANKCALL was corrected to
|
|
# TC PHASCHNG. In R53C, a CADR GOFLASHR was
|
|
# corrected to CADR GOFLASH.
|
|
#
|
|
# 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 737
|
|
# PROGRAM NAME -- PROG52 DATE -- NOV 30, 1966
|
|
# MOD NO -- 2 LOG SECTION -- P51-P53
|
|
# MODIFICATION BY -- LONSKE ASSEMBLY -- SUNDISK REV 30
|
|
#
|
|
# FUNCTIONAL DESCRIPTION --
|
|
#
|
|
# ALIGNS THE IMU TO ONE OF THREE ORIENTATIONS SELECTED BY THE ASTRONAUT. THE PRESENT IMU ORIENTATION IS KNOWN
|
|
# AND IS STORED IN REFSMMAT. THE THREE POSSIBLE ORIENTATIONS MAY BE:
|
|
#
|
|
# (A) PREFERRED ORIENTATION
|
|
#
|
|
# AN OPTIMUM ORIENTATION FOR A PREVIOUSLY CALCULATED MANEUVER. THIS ORIENTATION MUST BE CALCULATED AND
|
|
# STORED BY A PREVIOUSLY SELECTED PROGRAM.
|
|
#
|
|
# (B) NOMINAL ORIENTATION
|
|
#
|
|
# X = UNIT ( Y x Z )
|
|
# -SM -SM -SM
|
|
#
|
|
# Y = UNIT (V X R)
|
|
# -SM - -
|
|
#
|
|
# Z = UNIT ( -R )
|
|
# -SM -
|
|
#
|
|
# WHERE:
|
|
#
|
|
# R = THE GEOMETRIC RADIUS VECTOR AT TIME T(ALIGN) SELECTED BY THE ASTRONAUT
|
|
# -
|
|
#
|
|
# V = THE INERTIAL VELOCITY VECTOR AT TIME T(ALIGN) SELECTED BY THE ASTRONAUT
|
|
# -
|
|
#
|
|
# (C) RERSMMAT ORIENTATION
|
|
#
|
|
# THIS SELECTION CORRECTS THE PRESENT IMU ORIENTATION. THE PRESENT ORIENTATION DIFFERS FROM THAT TO WHICH IT
|
|
# WAS LAST ALIGNED ONLY DUE TO GYRO DRIVE (I.E., NEITHER GIMBAL LOCK NOR IMU POWER INTERRUPT HAS OCCURRED
|
|
# SINCE THE LAST ALIGNMENT).
|
|
#
|
|
# AFTER A IMU ORIENTATION HAS BEEN SELECTED ROUTINE S52.2 IS OPERATED TO COMPUTE THE GIMBAL ANGLES USING THE
|
|
# NEW ORIENTATION AND THE PRESENT VEHICLE ATTITUDE. CAL52A THEN USES THESE ANGLES, STORED IN THETAD,+1,+2, TO
|
|
# COARSE ALIGN THE IMU. THE STARS SELECTION ROUTINE, R56, IS THEN OPERATED. IF 2 STARS ARE NOT AVAILABLE AN ALARM
|
|
# IS FLASHED TO NOTIFY THE ASTRONAUT. AT THIS POINT THE ASTRONAUT WILL MANEUVER THE VEHICLE AND SELECT 2 STARS
|
|
# EITHER MANUALLY OR AUTOMATICALLY. AFTER 2 STARS HAVE BEEN SELECTED THE IMU IS FINE ALIGNED USING ROUTINE R51. IF
|
|
# THE RENDEZVOUS NAVIGATION PROCESS IS OPERATING (INDICATED BY RNDVZFLG) P20 IS DISPLAYED. OTHERWISE P00 IS
|
|
# REQUESTED.
|
|
#
|
|
# CALLING SEQUENCE --
|
|
#
|
|
# THE PROGRAM IS CALLED BY THE ASTRONAUT BY DSKY ENTRY.
|
|
# Page 738
|
|
#
|
|
# SUBROUTINES CALLED --
|
|
#
|
|
# 1. FLAGDOWN 7. S52.2 13. NEWMODEX
|
|
# 2. R02BOTH 8. CAL53A 14. PRIOLARM
|
|
# 3. GOPERF4 9. FLAGUP
|
|
# 4. MATMOVE 10. R56
|
|
# 5. GOFLASH 11. R51
|
|
# 6. S52.3 12. GOPERF3
|
|
#
|
|
# NORMAL EXIT MODES --
|
|
#
|
|
# EXITS TO ENDOFJOB
|
|
#
|
|
# ALARM OR ABORT EXIT MODES --
|
|
#
|
|
# NONE
|
|
#
|
|
# OUTPUT --
|
|
#
|
|
# THE FOLLOWING MAY BE FLASHED ON THE DSKY
|
|
# 1. IMU ORIENTATION CODE
|
|
# 2. ALARM CODE 215 -- PREFERRED IMU ORIENTATION NOT SPECIFIED
|
|
# 3. TIME OF NEXT IGNITION
|
|
# 4. GIMBAL ANGLES
|
|
# 5. ALARM CODE 405 -- TWO STARS NOT AVAILABLE
|
|
# 6. PLEASE PERFORM P00
|
|
# THE MODE DISPLAY MAY BE CHANGED TO 20
|
|
#
|
|
# ERASABLE INITIALIZATION REQUIRED --
|
|
#
|
|
# PFRATFLG SHOULD BE SET IF A PREFERRED ORIENTATION HAS BEEN COMPUTED. IF IT HAS BEEN COMPUTED IT IS STORED IN
|
|
# XSMD, YSMD, ZSMD.
|
|
#
|
|
# RNDVZFLG INDICATES WHETHER THE RENDEZVOUS NAVIGATION PROCESS IS OPERATING.
|
|
#
|
|
# DEBRIS --
|
|
#
|
|
# WORK AREA
|
|
|
|
P54 = PROG52
|
|
BANK 33
|
|
SETLOC P50S
|
|
BANK
|
|
|
|
SBANK= LOWSUPER
|
|
EBANK= SAC
|
|
COUNT 15/P52
|
|
|
|
PROG52 TC PHASCHNG
|
|
OCT 00254
|
|
TC DOWNFLAG
|
|
ADRES UPDATFLG # BIT 7 FLAG 1
|
|
# Page 739
|
|
TC DOWNFLAG
|
|
ADRES TRACKFLG # BIT 5 FLAG 1
|
|
TC BANKCALL
|
|
CADR R02BOTH # IMU STATUS CHECK
|
|
CAF BIT4
|
|
MASK STATE +2 # IS PFRATFLG SET?
|
|
CCS A
|
|
TC P52A # YES
|
|
CAF BIT2 # NO
|
|
TC P52A +1
|
|
P52A CAF BIT1
|
|
TS OPTION2
|
|
P52B CAF BIT1
|
|
TC BANKCALL # FLASH OPTION CODE AND ORIENTATION CODE
|
|
CADR GOPERF4R
|
|
TC GOTOP00H
|
|
TC +5
|
|
TC P52B # NEW CODE -- NEW ORIENTATION CODE INPUT
|
|
TC PHASCHNG
|
|
OCT 00014
|
|
TC ENDOFJOB
|
|
CA OPTION2
|
|
MASK THREE
|
|
INDEX A
|
|
TC +1
|
|
TC P52T # L.S.
|
|
TC P52J # PREF
|
|
TC P52T # NORM
|
|
TCF P52C # REF
|
|
P52T EXTEND
|
|
DCA NEG0
|
|
DXCH DSPTEM1
|
|
CAF V06N34
|
|
TC BANKCALL
|
|
CADR GOFLASH
|
|
TC GOTOP00H
|
|
TC +2
|
|
TC -5
|
|
EXTEND
|
|
DCA DSPTEM1
|
|
EXTEND
|
|
BZF +2
|
|
TCF +4
|
|
|
|
EXTEND
|
|
DCA TIME2
|
|
DXCH DSPTEM1
|
|
CA OPTION2
|
|
MASK BIT2
|
|
CCS A
|
|
# Page 740
|
|
TCF +6 # NOM
|
|
TC INTPRET # LS
|
|
CALL
|
|
P52LS
|
|
GOTO
|
|
P52D
|
|
TC INTPRET
|
|
DLOAD
|
|
DSPTEM1
|
|
CALL # COMPUTE NOMINAL IMU
|
|
S52.3 # ORIENTATION
|
|
P52D CALL # READ VEHICLE ATTITUDE AND
|
|
S52.2 # COMPUTE GIMBAL ANGLES
|
|
EXIT
|
|
CAF VB06N22
|
|
TC BANKCALL # DISPLAY GIMBAL ANGLES
|
|
CADR GOFLASH
|
|
TC GOTOP00H
|
|
TC COARSTYP
|
|
P52J TC INTPRET # RECYCLE: VEHICLE HAS BEEN MANEUVERED
|
|
GOTO
|
|
P52D
|
|
TC INTPRET
|
|
CALL # DO COARSE ALIGN
|
|
CAL53A # ROUTINE
|
|
CAL53RET SET EXIT
|
|
REFSMFLG
|
|
P52C TC PHASCHNG
|
|
OCT 04024
|
|
CAF ALRM15
|
|
TC BANKCALL
|
|
CADR GOPERF1
|
|
TC GOTOP00H
|
|
TC +2 # V33
|
|
TC P52F # E
|
|
TC INTPRET
|
|
RTB DAD
|
|
LOADTIME
|
|
TSIGHT1
|
|
CALL
|
|
LOCSAM
|
|
EXIT
|
|
P52E TC BANKCALL # DO STAR SELECTION
|
|
CADR PICAPAR
|
|
TC P52I # 2 STARS NOT AVAILABLE
|
|
P52F TC INTPRET # 2 STARS AVAILABLE
|
|
CALL
|
|
R51
|
|
ENDP50S EXIT
|
|
TC GOTOP00H
|
|
# Page 741
|
|
P52I TC ALARM
|
|
OCT 405
|
|
CAF V05N09
|
|
TC BANKCALL
|
|
CADR GOFLASH
|
|
TC GOTOP00H
|
|
TC P52F # PROCEED: DO FINE ALIGN-R51
|
|
TC P52C # RECYCLE: VEHICLE HAS BEEN MANEUVERED
|
|
V06N34 VN 0634
|
|
VB06N22 VN 00622
|
|
COARSTYP CAF OCT13
|
|
TC BANKCALL
|
|
CADR GOPERF1
|
|
TCF GOTOP00H # V34
|
|
TCF P52J +3 # NORMAL
|
|
TC INTPRET # GYRO COARSE
|
|
GYCRS VLOAD MXV
|
|
XSMD
|
|
REFSMMAT
|
|
UNIT
|
|
STOVL XDC
|
|
YSMD
|
|
MXV UNIT
|
|
REFSMMAT
|
|
STOVL YDC
|
|
ZSMD
|
|
MXV UNIT
|
|
REFSMMAT
|
|
STCALL ZDC
|
|
CALCGTA
|
|
CLEAR CLEAR
|
|
DRIFTFLG
|
|
REFSMFLG
|
|
EXIT
|
|
CAF V16N20
|
|
TC BANKCALL
|
|
CADR GODSPR
|
|
CA R55CDR
|
|
TC BANKCALL
|
|
CADR IMUPULSE
|
|
TC BANKCALL
|
|
CADR IMUSTALL
|
|
TC CURTAINS
|
|
TC PHASCHNG
|
|
OCT 04024
|
|
TC INTPRET
|
|
AXC,1 AXC,2
|
|
XSMD
|
|
REFSMMAT
|
|
CALL
|
|
# Page 742
|
|
MATMOVE
|
|
CLEAR SET
|
|
PFRATFLG
|
|
REFSMFLG
|
|
RTB VLOAD
|
|
SET1/PDT
|
|
ZEROVEC
|
|
STORE GCOMP
|
|
SET GOTO
|
|
DRIFTFLG
|
|
R51K
|
|
V16N20 VN 1620
|
|
ALRM15 EQUALS OCT15
|
|
SETLOC P50S2
|
|
BANK
|
|
V06N89* VN 0689
|
|
|
|
# NAME -- P52LS
|
|
#
|
|
# FUNCTION -- TO DISPLAY THE LANDING SITE LATITUDE,
|
|
# LONGITUDE AND ALTITUDE. TO ACCEPT NEW DATA VIA
|
|
# THE KEYBOARD. TO COMPUT THE LANDING SITE
|
|
# ORIENTATION FOR P52 OR P54.
|
|
#
|
|
# LET:
|
|
# RLS = LANDING SITE VECTOR IN REF COORDINATES
|
|
# R = CSM POSITION VECTOR IN REF COORDINATES
|
|
# V = CSM VELOCITY VECTOR IN REF COORDINATES
|
|
# THEN THE LANDING SITE ORIENTATION IS:
|
|
# XSMD = UNIT(RLS)
|
|
# YSMD = UNIT(ZSMD*XSMD)
|
|
# ZSMD = UNIT((R*V)*RLS)
|
|
#
|
|
# CALL: CALL
|
|
# P52LS
|
|
#
|
|
# INPUTS: DSPTEM1 = TIME OF ALIGNMENT
|
|
# RLS = LANDING SITE VECTOR IN MOON FIXED COORDINATES
|
|
#
|
|
# OUTPUTS: XSMD, YSMD, ZSMD
|
|
#
|
|
# SUBROUTINES: RP-TO-R, LAT-LONG, LLASRD, LLASRDA, CSMPREC
|
|
#
|
|
# DEBRIS: VAC, SEE SUBROUTINES
|
|
|
|
P52LS STQ SET
|
|
QMAJ
|
|
LUNAFLAG
|
|
DLOAD
|
|
DSPTEM1
|
|
STORE TSIGHT
|
|
VLOAD SET
|
|
RLS
|
|
ERADFLAG
|
|
STODL 0D
|
|
TSIGHT
|
|
STCALL 6D
|
|
# Page 743
|
|
RP-TO-R
|
|
VSR2
|
|
STODL ALPHAV
|
|
TSIGHT
|
|
CALL
|
|
LAT-LONG
|
|
CALL
|
|
LLASRD
|
|
EXIT
|
|
LSDISP CAF V06N89*
|
|
TC BANKCALL
|
|
CADR GOFLASH
|
|
TC GOTOP00H
|
|
TC +2
|
|
TC LSDISP
|
|
TC INTPRET
|
|
CALL
|
|
LLASRDA
|
|
DLOAD CALL
|
|
TSIGHT
|
|
LALOTORV
|
|
VLOAD UNIT
|
|
ALPHAV
|
|
STODL XSMD
|
|
TSIGHT
|
|
STCALL TDEC1
|
|
CSMPREC
|
|
VLOAD VXV
|
|
RATT
|
|
VATT
|
|
VXV UNIT
|
|
XSMD
|
|
STORE ZSMD
|
|
VXV UNIT
|
|
XSMD
|
|
STCALL YSMD
|
|
QMAJ
|
|
SETLOC P50S1
|
|
BANK
|
|
|
|
# NAME: AUTOMATIC OPTICS POSITIONING ROUTINE
|
|
#
|
|
# FUNCTION: (1) TO POINT THE STAR LOS OF THE OPTICS AT A STAR OR LANDMARK DEFINED BY THE PROGRAM OR BY DSKY INPUT.
|
|
# (2) TO POINT THE STAR LOS OF THE OPTICS AT THE LEM DURING RENDEZVOUS TRACKING OPERATIONS.
|
|
#
|
|
# CALLING: CALL R52
|
|
#
|
|
# INPUT: 1. TARG1FLG AND TARG2FLG: PRESET BY CALLER
|
|
# 2. RNDVZFLG AND TRACKFLG: PRESET BY CALLER
|
|
# 3. STAR CODE: PRESET BY CALLER. ALSO INPUT THROUGH DSKY
|
|
# 4. LAT, LONG, AND ALT OF LANDMARK: INPUT THROUGH DSKY
|
|
# Page 744
|
|
# 5. NO. OF MARKS (MARKINDX): PRESET BY CALLER
|
|
#
|
|
# OUTPUT: DRIVE SHAFT AND TRUNNION CDUS.
|
|
#
|
|
# SUBROUTINES: 1. FIXDELAY 7. CLEANDSP
|
|
# 2. GOPERF1 8. GODSPR
|
|
# 3. GOFLASH 9. REFLASHR
|
|
# 4. R53 10. R52.2
|
|
# 5. ALARM 11. R52.3
|
|
# 6. SR52.1
|
|
|
|
COUNT 15/R52
|
|
|
|
R52 STQ CLEAR
|
|
SAVQR52
|
|
ADVTRK
|
|
R52VRB EXIT
|
|
EXTEND
|
|
DCA CDUT
|
|
DXCH DESOPTT
|
|
TC INTPRET
|
|
SSP CLEAR
|
|
OPTIND
|
|
0
|
|
R53FLAG
|
|
EXIT
|
|
R52A TC INTPRET
|
|
SET BON
|
|
TRUNFLAG
|
|
TARG1FLG
|
|
R52H
|
|
CLEAR EXIT
|
|
TERMIFLG
|
|
R52C CA SWSAMPLE # IS OPTICS MODE IN AGC
|
|
EXTEND
|
|
BZMF R52M # MANUAL
|
|
R52D TC BANKCALL # AGC
|
|
CADR SR52.1
|
|
TCF R52L # GR 90 DEGREES
|
|
TCF R52J # GR 50 DEGREES
|
|
TC UPFLAG # LS 50 DEGREES
|
|
ADRES TRUNFLAG # SET TRUNFLAG BIT 4 FLAG 0
|
|
R52JA CAF BIT10 # IS THIS A LEM
|
|
MASK STATE +1
|
|
CCS A
|
|
TC R52E # YES
|
|
CAF BIT6 # NO, IS R53FLAG SET
|
|
MASK STATE
|
|
CCS A
|
|
TCF R52E # YES
|
|
# Page 745
|
|
CAF V06N92 # NO
|
|
TC BANKCALL
|
|
CADR GODSPR
|
|
R52E CA SWSAMPLE # IS OSS IN CMC MODE
|
|
EXTEND
|
|
BZMF R52F # NO
|
|
CS STATE # YES: IS TRUNFLAG SET
|
|
MASK BIT4
|
|
CCS A
|
|
TC +3 # NO
|
|
CA PAC # YES
|
|
TS DESOPTT
|
|
CA SAC
|
|
TS DESOPTS
|
|
R52F CAF .5SEC # WAIT 1/2 SEC
|
|
TC BANKCALL
|
|
CADR DELAYJOB
|
|
CAF BIT10
|
|
MASK STATE +1
|
|
CCS A
|
|
TCF R52HA # YES, LEM
|
|
CAF BIT15 # NO
|
|
MASK STATE +7 # IS TERMIFLG SET
|
|
EXTEND
|
|
BZF R52C # NO
|
|
R52Q TC INTPRET # YES
|
|
GOTO
|
|
SAVQR52
|
|
R52H EXIT # LEM
|
|
R52HA TC BANKCALL
|
|
CADR R61CSM
|
|
CA STATE +1
|
|
MASK BIT5
|
|
EXTEND # TRACKFLG
|
|
BZF R52Q
|
|
|
|
CS STATE +1
|
|
MASK BIT7 # UPDATFLG
|
|
CCS A
|
|
TCF R52SYNC
|
|
|
|
R52I CA STATE +5
|
|
MASK BIT10
|
|
CCS A
|
|
TC R52D # PRFTRKAT = 1
|
|
R52SYNC CAF 1.8SEC # MAKE UP FOR LOST TIME
|
|
TCF R52F +1
|
|
|
|
R52J TC DOWNFLAG # CLEAR TRUNFLAG
|
|
ADRES TRUNFLAG # BIT 4 FLAG 0
|
|
# Page 746
|
|
TC ALARM # SET 407 ALARM
|
|
OCT 407
|
|
TC R52JA
|
|
R52M CAF BIT6 # IS R53FLAG SET
|
|
MASK STATE
|
|
CCS A
|
|
TC R52F # YES
|
|
INHINT # NO
|
|
CAF PRIO24
|
|
TC FINDVAC
|
|
EBANK= SAC
|
|
2CADR R53JOB
|
|
|
|
RELINT
|
|
TCF R52F
|
|
R53JOB TC INTPRET
|
|
CALL
|
|
R53
|
|
ENDPLAC EXIT # INTERPRETER RETURN TO ENDOFJOB (R22 USES)
|
|
TC ENDOFJOB
|
|
V06N92 VN 00692
|
|
V06N89A VN 0689
|
|
SHAXIS 2DEC .5376381241 B-1
|
|
|
|
2DEC 0
|
|
|
|
2DEC .8431766920 B-1
|
|
|
|
R52L CAF BIT10 # IS THIS A LEM
|
|
MASK STATE +1
|
|
CCS A
|
|
TC R52J # YES
|
|
CAF OCT404
|
|
TC BANKCALL
|
|
CADR PRIOLARM
|
|
TCF TERM52 # TERMINATE
|
|
TCF R52F # PROCEED
|
|
TCF R52F # NO PROVISION FOR NEW DATA
|
|
TCF ENDOFJOB
|
|
|
|
OCT404 OCT 404
|
|
1.8SEC DEC 180
|
|
|
|
TERM52 TC CLEARMRK
|
|
|
|
TC BANKCALL # KILL MARK SYSTEM
|
|
CADR MKRELEAS
|
|
|
|
# Page 747
|
|
|
|
CAF ZERO
|
|
TS OPTCADR
|
|
|
|
TC BANKCALL # CLEAR OUT EXTENDED VERBS
|
|
CADR KLEENEX
|
|
|
|
TC GOTOP00H # NO GO TO P00
|
|
|
|
ADVORB STQ SET # SETS UP ADVANCED ORBIT TRACKING
|
|
SAVQR52
|
|
ADVTRK
|
|
SET SET
|
|
LUNAFLAG
|
|
ERADFLAG
|
|
GOTO
|
|
R52VRB
|
|
|
|
# Page 748
|
|
# NAME -- S50 ALIAS LOCSAM
|
|
# NAME: LOCSAM
|
|
#
|
|
# FUNCTION -- TO COMPUTE QUATITIGS LISTED BELOW, USED IN THE
|
|
# IMU ALIGNMENT PROGRAMS.
|
|
#
|
|
# DEFINE:
|
|
#
|
|
# RATT = POSITION VECTOR OF CM WRT PRIMARY BODY
|
|
#
|
|
# VATT = VELOCITY VECTOR OF CM WRT PRIMARY BODY
|
|
#
|
|
# RE = RADIUS OF EARTH
|
|
#
|
|
# RM = RADIUS OF MOON
|
|
#
|
|
# ECLIPOL = POLE OF ECLIPTIC SCALED BY TANGENTIAL VELOCITY OF EARTH
|
|
# WRT TO SUN OVER THE VELOCITY OF LIGHT
|
|
#
|
|
# REM = POSITION OF MOON WRT EARTH
|
|
#
|
|
# RES = POSITION OF SUN WRT EARTH
|
|
#
|
|
# C = VELOCITY OF LIGHT
|
|
#
|
|
# EARTH IS PRIMARY MOON IS PRIMARY
|
|
# _ _
|
|
# VEARTH=-1(RATT) VEARTH=-1(REM+RATT)
|
|
# _ _
|
|
# VMOON = 1(REM-RATT) VMOON =-1(RATT)
|
|
# _ _
|
|
# VSUN = 1(RES) VSUN = 1(RES-REM)
|
|
# -1
|
|
# CEARTH=COS(SIN (RE/RATT)+5) CEARTH=COS 5
|
|
# -1
|
|
# CMOON =COS 5 CMOON =COS(SIN CRM/RATT)+5)
|
|
#
|
|
# CSUN =COS 15 CSUN =COS 15
|
|
#
|
|
# VEL/C = VSUN x ECLIPOL + VATT/C
|
|
#
|
|
# CALL: DLOAD CALL
|
|
# DESIRED TIME
|
|
# LOCSAM
|
|
#
|
|
# INPUTS: MPAC = TIME
|
|
#
|
|
# OUTPUTS: VEARTH, VMOON, VSUN, CEARTH, CMOON, CSUN, VEL/C
|
|
#
|
|
# SUBROUTINES: LSPOS, CSMCONIC
|
|
#
|
|
# DEBRIS: VAC AREA, SEE SUBROUTINES.
|
|
|
|
# Page 749
|
|
SETLOC P50S1
|
|
BANK
|
|
|
|
COUNT* $$/S50
|
|
|
|
LOCSAM = S50
|
|
S50 STQ
|
|
QMAJ
|
|
STCALL TSIGHT
|
|
LSPOS
|
|
STOVL VMOON
|
|
2D
|
|
STODL VSUN
|
|
TSIGHT
|
|
STCALL TDEC1
|
|
CSMCONIC
|
|
SSP TIX,2
|
|
S2
|
|
0
|
|
MOONCNTR
|
|
EARTCNTR VLOAD VSU
|
|
VMOON
|
|
RATT
|
|
UNIT
|
|
STOVL VMOON
|
|
RATT
|
|
UNIT VCOMP
|
|
STODL VEARTH
|
|
RSUBE
|
|
CALL
|
|
OCCOS
|
|
STODL CEARTH
|
|
CSS5
|
|
STOVL CMOON
|
|
VSUN
|
|
UNIT
|
|
STCALL VSUN
|
|
ENDSAM
|
|
MOONCNTR VLOAD VSR8
|
|
VMOON
|
|
VSR1 BVSU
|
|
VSUN
|
|
UNIT
|
|
STOVL VSUN
|
|
VMOON
|
|
VAD UNIT
|
|
RATT
|
|
VCOMP
|
|
STOVL VEARTH
|
|
# Page 750
|
|
|
|
RATT
|
|
UNIT VCOMP
|
|
STODL VMOON
|
|
RSUBM
|
|
CALL
|
|
OCCOS
|
|
STODL CMOON
|
|
CSS5
|
|
STOVL CEARTH
|
|
VSUN
|
|
ENDSAM VXV
|
|
ECLIPOL
|
|
STOVL VEL/C
|
|
VATT
|
|
VXSC VAD
|
|
1/C
|
|
VEL/C
|
|
STODL VEL/C
|
|
CSSUN
|
|
STCALL CSUN
|
|
QMAJ
|
|
OCCOS DDV SR1
|
|
36D
|
|
ASIN DAD
|
|
5DEGREES
|
|
COS SR1
|
|
RVQ
|
|
SETLOC P50S
|
|
BANK
|
|
RSUBM 2DEC 1738090 B-29 # MOON RADIUS IN METERS
|
|
|
|
RSUBE 2DEC 6378166 B-29
|
|
|
|
5DEGREES 2DEC .013888889 # SCALED IN REVS
|
|
|
|
1/C 2DEC .000042699 B-1 # *
|
|
|
|
ECLIPOL 2DEC 0 # *
|
|
|
|
2DEC -.00007896 B-1 # *
|
|
|
|
2DEC .00018209 B-1 # * * FOR USE BY CSM ONLY
|
|
|
|
TSIGHT1 2DEC 24000
|
|
|
|
CEARTH = 14D
|
|
CSUN = 16D
|
|
CMOON = 18D
|
|
CSS5 2DEC .2490475 # (COS 5)/4
|
|
# Page 751
|
|
CSSUN 2DEC .24148 # (COS 15)/4
|
|
|
|
# Page 752
|
|
# PROGRAM NAME -- PICAPAR DATE: DEC 20 66
|
|
# MOD 1 LOG SECTION: P51-P53
|
|
# ASSEMBLY: SUNDISK REV40
|
|
# BY KEN VINCENT
|
|
#
|
|
# FUNCTION
|
|
# THIS PROGRAM READS THE IMU-CDUS AND COMPUTES THE VEHICLE ORIENTATION
|
|
# WITH RESPECT TO INERTIAL SPACE. IT THEN COMPUTES THE SHAFT AXIS (SAX)
|
|
# WITH RESPECT TO REFERENCE INTERTIAL. EACH STAR IN THE CATALOG IS TESTED
|
|
# TO DETERMINE IF IT IS OCCULTED BY EITHER EARTH, SUN OR MOON. IF A
|
|
# STAR IS NOT OCCULTED THEN IT IS PAIRED WITH ALL STARS OF LOWER INDEX.
|
|
# THE PAIRED STAR IS TESTED FOR OCCULTATION. PAIRS OF STARS THAT PASS
|
|
# THE OCCULTATION TESTS ARE TESTED FOR GOOD SEPARATION. A PAIR OF STARS
|
|
# HAVE GOOD SEPARATION IF THE ANGLE BETWEEN THEM IS LESS THAN 66 DEGREES
|
|
# AND MORE THAN 40 DEGREES. THOSE PAIRS WITH GOOD SEPARATION
|
|
# ARE THEN TESTED TO SEE IF THEY LIE IN CURRENT FIELD OF VIEW. (WITHIN
|
|
# 33 DEGREES OF SAX). THE PAIR WITH MAX SEPARATION IS CHOSEN FROM
|
|
# THOSE WITH GOOD SEPARATION, AND IN FIELD OF VIEW.
|
|
#
|
|
# CALLING SEQUENCE
|
|
# L TC BANKCALL
|
|
# L+1 CADR PICAPAR
|
|
# L+2 ERROR RETURN -- NO STARS IN FIELD OF VIEW
|
|
# L+3 NORMAL RETURN
|
|
#
|
|
# OUTPUT
|
|
# BESTI, BESTJ -- SINGLE PREC, INTEGERS, STAR NUMBERS TIMES 6
|
|
# VFLAG -- FLAG BIT SET IMPLIES NO STARS IN FIELD OF VIEW
|
|
#
|
|
# INITIALIZATION
|
|
# 1) A CALL TO LOCSAM MUST BE MADE
|
|
# 2) VEARTH = -UNIT(R) WHERE R HAS BEEN UPDATED TO APPROXIMATE TIME OF
|
|
# SIGHTINGS.
|
|
#
|
|
# DEBRIS
|
|
# WORK AREA
|
|
# X,Y,ZNB
|
|
# SINCDU, COSCDU
|
|
# STARAD -- STAR +5
|
|
|
|
COUNT 14/PICAP
|
|
|
|
SETLOC P50S1
|
|
BANK
|
|
PICAPAR TC MAKECADR
|
|
TS QMIN
|
|
TC INTPRET
|
|
CALL
|
|
CDUTRIG
|
|
CALL
|
|
CALCSMSC
|
|
# Page 753
|
|
SETPD
|
|
0
|
|
SET DLOAD # VFLAG = 1
|
|
VFLAG
|
|
DPZERO
|
|
STOVL BESTI
|
|
XNB
|
|
VXSC PDVL
|
|
SIN33
|
|
ZNB
|
|
AXT,1 VXSC
|
|
228D # X1 = 37 X 6 + 6
|
|
COS33
|
|
VAD
|
|
VXM UNIT
|
|
REFSMMAT
|
|
STORE SAX # SAX = SHAFT AXIS
|
|
SSP SSP # S1 = S2 = 6
|
|
S1
|
|
6
|
|
S2
|
|
6
|
|
PIC1 TIX,1 GOTO # MAJOR STAR
|
|
PIC2
|
|
PICEND
|
|
PIC2 VLOAD* CALL
|
|
CATLOG,1
|
|
OCCULT
|
|
BON LXA,2
|
|
CULTFLAG
|
|
PIC1
|
|
X1
|
|
PIC3 TIX,2 GOTO
|
|
PIC4
|
|
PIC1
|
|
PIC4 VLOAD* CALL
|
|
CATLOG,2
|
|
OCCULT
|
|
BON VLOAD*
|
|
CULTFLAG
|
|
PIC3
|
|
CATLOG,1
|
|
DOT* DSU
|
|
CATLOG,2
|
|
CSS66 # SEPARATION LESS THAN 66 DEG.
|
|
BMN DAD
|
|
PIC3
|
|
CSS6640 # SEPARATION MORE THAN 40 DEG.
|
|
BPL
|
|
PIC3
|
|
# Page 754
|
|
VLOAD* DOT
|
|
CATLOG,1
|
|
SAX
|
|
DSU BMN # MAJOR STAR IN CONE
|
|
CSS33
|
|
PIC1
|
|
VLOAD* DOT
|
|
CATLOG,2
|
|
SAX
|
|
DSU BPL
|
|
CSS33
|
|
STRATGY
|
|
GOTO
|
|
PIC3
|
|
STRATGY BONCLR
|
|
VFLAG
|
|
NEWPAR
|
|
XCHX,1 XCHX,2
|
|
BESTI
|
|
BESTJ
|
|
STRAT VLOAD* DOT*
|
|
CATLOG,1
|
|
CATLOG,2
|
|
PUSH BOFINV
|
|
VFLAG
|
|
STRAT -3
|
|
DLOAD DSU
|
|
BPL
|
|
PIC3
|
|
NEWPAR SXA,1 SXA,2
|
|
BESTI
|
|
BESTJ
|
|
GOTO
|
|
PIC3
|
|
OCCULT MXV BVSU
|
|
CULTRIX
|
|
CSS
|
|
BZE
|
|
CULTED
|
|
BMN SIGN
|
|
CULTED
|
|
MPAC +3
|
|
BMN SIGN
|
|
CULTED
|
|
MPAC +5
|
|
BMN CLRGO
|
|
CULTED
|
|
CULTFLAG
|
|
QPRET
|
|
CULTED SETGO
|
|
# Page 755
|
|
CULTFLAG
|
|
QPRET
|
|
CSS = CEARTH
|
|
SIN33 2DEC .5376381241
|
|
|
|
COS33 2DEC .8431756920
|
|
|
|
CSS66 2DEC .060480472 # (COS76)/4
|
|
|
|
CSS6640 2DEC -.15602587 # (COS76 - COS30)/4
|
|
|
|
CSS33 2DEC .197002688 # (COS(1/2(76))/4
|
|
|
|
PICEND BOFF EXIT
|
|
VFLAG
|
|
PICGXT
|
|
TC PICBXT
|
|
PICGXT EXIT
|
|
INCR QMIN
|
|
PICBXT CA QMIN
|
|
TC SWCALL
|
|
#V1 = 12D
|
|
|
|
# Page 756
|
|
# NAME -- R51 FINE ALIGN
|
|
# FUNCTION -- TO ALIGN THE STABLE MEMBER TO REFSSMAT
|
|
# CALLING SEQ -- CALL R51
|
|
# INPUT -- BESTI, BESTJ (PAIR OF STAR NO)
|
|
# OUTPUT -- GYRO TORQUE PULSES
|
|
# SUBROUTINES -- R52, R54, R55 (SXTNB, NBSM, AXISGEN)
|
|
|
|
COUNT 14/R51
|
|
|
|
R51 EXIT
|
|
CAF BIT1
|
|
TS STARIND
|
|
TS MARKINDX
|
|
R51.2 TC INTPRET
|
|
R51.3 CLEAR CLEAR
|
|
TARG2FLG
|
|
TARG1FLG
|
|
EXIT
|
|
TC PHASCHNG
|
|
OCT 05024 # RESTART GR 4 FOR R52-R53
|
|
OCT 13000
|
|
INDEX STARIND
|
|
CA BESTI
|
|
EXTEND
|
|
MP 1/6TH
|
|
TS STARCODE
|
|
R51DSP CAF V01N70
|
|
TC BANKCALL
|
|
CADR GOFLASHR
|
|
TC GOTOP00H
|
|
TC +5
|
|
TC -5
|
|
CAF SIX
|
|
TC BLANKET
|
|
TCF ENDOFJOB
|
|
TC CHKSCODE
|
|
TC FALTON
|
|
TC R51DSP
|
|
TC INTPRET
|
|
RTB CALL
|
|
LOADTIME
|
|
PLANET
|
|
SSP LXA,1
|
|
S1
|
|
0
|
|
STARIND
|
|
TIX,1
|
|
R51ST
|
|
STCALL STARSAV2 # 2ND STAR
|
|
R51ST +1
|
|
R51ST STORE STARSAV1 # 1ST STAR
|
|
# Page 757
|
|
EXIT
|
|
CS MODREG # IS THIS P54
|
|
AD OCT66
|
|
EXTEND
|
|
BZF R51B # YES
|
|
TC INTPRET
|
|
CALL
|
|
R52 # AOP WILL MAKE CALLS TO SIGHTING
|
|
R51A CALL # COMPUTE LOS IN SM FROM MARK DATA
|
|
SXTSM
|
|
STORE STARSAV2
|
|
EXIT
|
|
TC BANKCALL
|
|
CADR MKRELEAS
|
|
TC INTPRET
|
|
DLOAD CALL
|
|
TSIGHT
|
|
PLANET
|
|
EXIT
|
|
CCS STARIND
|
|
TC R51.4
|
|
TC INTPRET
|
|
MXV UNIT
|
|
REFSMMAT
|
|
STORE STARAD
|
|
VLOAD
|
|
STARSAV2
|
|
STOVL 6D
|
|
STARSAV1
|
|
STOVL 12D
|
|
PLANVEC
|
|
STCALL STARAD +6
|
|
R54 # STAR DATA TEST
|
|
BOFF CALL
|
|
FREEFLAG
|
|
R51K
|
|
AXISGEN
|
|
CALL
|
|
R55 # GYRO TORQUE
|
|
CLEAR
|
|
PFRATFLG
|
|
R51K EXIT
|
|
CAF OCT14
|
|
TC BANKCALL
|
|
CADR GOPERF1
|
|
TC GOTOP00H
|
|
TC +2 # V33
|
|
TC +3
|
|
TC BANKCALL
|
|
CADR P52C
|
|
# Page 758
|
|
TC INTPRET
|
|
GOTO
|
|
ENDP50S
|
|
R51.4 TC INTPRET
|
|
MXV UNIT
|
|
REFSMMAT
|
|
STOVL PLANVEC
|
|
STARSAV2
|
|
STORE STARSAV1
|
|
SSP
|
|
STARIND
|
|
0
|
|
GOTO
|
|
R51.3
|
|
R51B TC INTPRET
|
|
CALL
|
|
R56
|
|
GOTO
|
|
R51A
|
|
OCT66 OCT 00066
|
|
V01N70 VN 0170
|
|
1/6TH DEC .1666667
|
|
|
|
# Page 759
|
|
# NAME: R55 GYRO TORQUE
|
|
# FUNCTION -- COMPUTE AND SEND GYRO PULSES
|
|
# CALLING SEQ -- CALL R55
|
|
# INPUT -- X,Y,ZDC -- REFSMMAT WRT PRESENT STABLE MEMBER
|
|
# OUTPUT -- GYRO PULSES
|
|
# SUBROUTINES -- CALCGTA, GOFLASH, GODSPR, IMUFINE, IMUPULSE, GOPERF1
|
|
|
|
SETLOC P50S
|
|
BANK
|
|
COUNT* $$/R55
|
|
R55 STQ
|
|
QMIN
|
|
CALL
|
|
CALCGTA
|
|
PULSEM EXIT
|
|
R55.1 CAF V06N93
|
|
TC BANKCALL
|
|
CADR GOFLASH
|
|
TC GOTOP00H
|
|
TC R55.2
|
|
TC R55RET
|
|
R55.2 TC PHASCHNG
|
|
OCT 00314
|
|
CA R55CDR
|
|
TC BANKCALL
|
|
CADR IMUPULSE
|
|
TC BANKCALL
|
|
CADR IMUSTALL
|
|
TC CURTAINS
|
|
TC PHASCHNG
|
|
OCT 05024
|
|
OCT 13000
|
|
R55RET TC INTPRET
|
|
GOTO
|
|
QMIN
|
|
V06N93 VN 0693
|
|
R55CDR ECADR OGC
|
|
R54 = CHKSDATA
|
|
|
|
# ROUTINE NAME -- CHKSDATA DATE -- JAN 9, 1967
|
|
# MOD NO -- 0 LOG SECTION -- P51-P53
|
|
# MODIFICATION BY -- LONSKE ASSEMBLY --
|
|
#
|
|
# FUNCTIONAL DESCRIPTION -- CHECKS THE VALIDITY OF A PAIR OF STAR SIGHTINGS. WHEN A PAIR OF STAR SIGHTINGS ARE MADE
|
|
# BY THE ASTRONAUT THIS ROUTINE OPERATES AND CHECKS THE OBSERVED SIGHTINGS AGAINST STORED STAR VECTORS IN THE
|
|
# COMPUTER TO INSURE A PROPER SIGHTING WAS MADE. THE FOLLOWING COMPUTATIONS ARE PERFORMED --
|
|
# OS1 = OBSERVED STAR 1 VECTOR
|
|
# OS2 = OBSERVED STAR 2 VECTOR
|
|
# SS1 = STORED STAR 1 VECTOR
|
|
# SS2 = STORED STAR 2 VECTOR
|
|
# A1 = ARCCOS(OS1 - OS2)
|
|
# Page 760
|
|
# A2 = ARCCOS(SS1 - SS2)
|
|
# A = ABS(2(A1 - A2))
|
|
|
|
# THE ANGULAR DIFFERENCE IS DISPLAYED FOR ASTRONAUT ACCEPTANCE.
|
|
#
|
|
# EXIT MODE -- 1. FREEFLAG SET IMPLIES ASTRONAUT WANTS TO PROCEED
|
|
# 2. FREEFLAG RESET IMPLIES ASTRONAUT WANTS TO RECYCLE
|
|
#
|
|
# OUTPUT -- 1. VERB 6,NOUN 3 -- DISPLAYS ANGULAR DIFFERENCE BETWEEN 2 SETS OF STARS.
|
|
# 2. STAR VECTORS FROM STAR CATALOG ARE LEFT IN 6D AND 12D.
|
|
#
|
|
# ERASABLE INITIALIZATION REQUIRED --
|
|
# 1. MARK VECTORS ARE STORED IN STARAD AND STARAD +6.
|
|
# 2. CATALOG VECTORS ARE STORED IN 6D AND 12D.
|
|
#
|
|
# DEBRIS --
|
|
|
|
SETLOC P50S1
|
|
BANK
|
|
COUNT* $$/R50
|
|
CHKSDATA STQ SET
|
|
QMIN
|
|
FREEFLAG
|
|
CHKSAB AXC,1 # SET X1 TO STORE EPHEMERIS DATA
|
|
STARAD
|
|
|
|
CHKSB VLOAD* DOT* # CAL. ANGLE THETA
|
|
0,1
|
|
6,1
|
|
SL1 ACOS
|
|
STORE THETA
|
|
BOFF INVERT # BRANCH TO CHKSD IF THIS IS 2ND PASS
|
|
FREEFLAG
|
|
CHKSD
|
|
FREEFLAG # CLEAR FREEFLAG
|
|
AXC,1 DLOAD # SET X1 TO MARK ANGLES
|
|
6D
|
|
THETA
|
|
STORE 18D
|
|
GOTO
|
|
CHKSB # RETURN TO CAL. 2ND ANGLE
|
|
CHKSD DLOAD DSU
|
|
THETA # COMPUTE POS DIFF
|
|
18D
|
|
ABS RTB
|
|
SGNAGREE
|
|
STORE NORMTEM1
|
|
SET EXIT
|
|
FREEFLAG
|
|
CAF ZERO
|
|
TC BANKCALL
|
|
CADR CLEANDSP
|
|
|
|
CAF VB6N5
|
|
# Page 761
|
|
TC BANKCALL
|
|
CADR GOFLASH
|
|
TCF GOTOP00H
|
|
TC CHKSDA # PROCEED
|
|
TC INTPRET
|
|
CLEAR GOTO
|
|
FREEFLAG
|
|
QMIN
|
|
CHKSDA TC INTPRET
|
|
GOTO
|
|
QMIN
|
|
VB6N5 VN 605
|
|
|
|
# NAME -- CAL53A
|
|
# FUNCTION -- COARSE ALIGN THE IMU, IF NECESSARY
|
|
# CALLING SEQUENCE -- CALL CAL53A
|
|
# INPUT -- PRESENT GIMBAL ANGLES -- CDUX, CDUY, CDUZ
|
|
# DESIRED GIMBAL ANGLES -- THETAD,+1,+2
|
|
# OUTPUT -- THE IMU COORDINATES AT STORED IN REFSMMAT
|
|
# SUBROUTINES -- 1.IMUCOARS, 2.IMUSTALL, 3CURTAINS
|
|
|
|
COUNT 14/R50
|
|
|
|
CAL53A CALL
|
|
S52.2 # MAKE FINAL COMP OF GIMBAL ANGLES
|
|
RTB SSP
|
|
RDCDUS # READ CDUS
|
|
S1
|
|
1
|
|
AXT,1 SETPD
|
|
3
|
|
4
|
|
CALOOP DLOAD* SR1
|
|
THETAD +3D,1
|
|
PDDL* SR1
|
|
4,1
|
|
DSU ABS
|
|
PUSH DSU
|
|
DEGREE1
|
|
BMN DLOAD
|
|
CALOOP1
|
|
DSU BPL
|
|
DEG359
|
|
CALOOP1
|
|
COARFINE EXIT
|
|
TC PHASCHNG
|
|
OCT 04024
|
|
TC BANKCALL
|
|
CADR IMUCOARS # PERFORM COARSE ALIGNMENT
|
|
TC BANKCALL
|
|
CADR IMUSTALL # REQUEST MODE SWITCH
|
|
# Page 762
|
|
TC CURTAINS
|
|
TC BANKCALL
|
|
CADR IMUFIN20
|
|
TC BANKCALL
|
|
CADR IMUSTALL
|
|
TC CURTAINS # TEST FOR MALFUNCTION
|
|
TC INTPRET
|
|
RTB VLOAD
|
|
SET1/PDT
|
|
ZEROVEC
|
|
STORE GCOMP
|
|
SET GOTO
|
|
DRIFTFLG
|
|
FINEONLY
|
|
CALOOP1 TIX,1
|
|
CALOOP
|
|
FINEONLY AXC,1 AXC,2
|
|
XSM
|
|
REFSMMAT
|
|
CALL
|
|
MATMOVE
|
|
GOTO
|
|
CAL53RET
|
|
MATMOVE VLOAD* # TRANSFER MATRIX
|
|
0,1
|
|
STORE 0,2
|
|
VLOAD*
|
|
6D,1
|
|
STORE 6D,2
|
|
VLOAD*
|
|
12D,1
|
|
STORE 12D,2
|
|
RVQ
|
|
DEGREE1 DEC 46
|
|
DEG359 DEC 16338
|
|
SETLOC P50S
|
|
BANK
|
|
RDCDUS INHINT # READ CDUS
|
|
CA CDUX
|
|
INDEX FIXLOC
|
|
TS 1
|
|
CA CDUY
|
|
INDEX FIXLOC
|
|
TS 2
|
|
CA CDUZ
|
|
INDEX FIXLOC
|
|
TS 3
|
|
RELINT
|
|
TC DANZIG
|
|
|
|
# Page 763
|
|
# NAME: GIMB
|
|
#
|
|
# FUNCTION: DETERMINE AND COMPUTE THE DESIRED GIMBAL ANGLES TO BE USED FOR COARSE ALIGNMENT.
|
|
#
|
|
# CALLING SEQUENCE: CALL GIMB
|
|
#
|
|
# INPUT: DESIRED IMU INERTIAL ORIENTATION VECTORS: XSMD, YSMD, ZSMD
|
|
#
|
|
# OUTPUT: GIMBAL ANGLES LEFT IN THETAD, +1, +2
|
|
#
|
|
# SUBROUTINES USED: 1.CDUTRIG 2.CALCSMSC 3.CALCGA
|
|
|
|
SETLOC P50S2
|
|
BANK
|
|
COUNT 14/INFLT
|
|
|
|
CALCSMSC DLOAD DMP
|
|
SINCDUY
|
|
COSCDUZ
|
|
DCOMP
|
|
PDDL SR1
|
|
SINCDUZ
|
|
PDDL DMP
|
|
COSCDUY
|
|
COSCDUZ
|
|
VDEF VSL1
|
|
STORE XNB
|
|
DLOAD DMP
|
|
SINCDUX
|
|
SINCDUZ
|
|
SL1
|
|
STORE 26D
|
|
DMP
|
|
SINCDUY
|
|
PDDL DMP
|
|
COSCDUX
|
|
COSCDUY
|
|
DSU
|
|
PDDL DMP
|
|
SINCDUX
|
|
COSCDUZ
|
|
DCOMP
|
|
PDDL DMP
|
|
COSCDUX
|
|
SINCDUY
|
|
PDDL DMP
|
|
COSCDUY
|
|
26D
|
|
DAD VDEF
|
|
VSL1
|
|
STORE ZNB
|
|
VXV VSL1
|
|
XNB
|
|
STORE YNB
|
|
RVQ
|
|
|
|
# NAME -- P51 -- IMU ORIENTATION DETERMINATION
|
|
# MOD. NO. 2 21 DEC 66 LOG SECTION -- P51-P53
|
|
# Page 764
|
|
# MOD BY STURLAUGSON ASSEMBLY SUNDISK REV15
|
|
#
|
|
# FUNCTIONAL DESCRIPTION
|
|
# DETERMINES THE INERTIAL ORIENTATION OF THE IMU. THE PROGRAM IS SELECTED BY DSKY ENTRY. THE SIGHTING
|
|
# ROUTINE IS CALLED TO COLLECT THE CDU COUNTERS AND SHAFT AND TRUNNION ANGLES FOR A SIGHTED STAR. THE DATA IS
|
|
# THEN PROCESSED AS FOLLOWS.
|
|
#
|
|
# 1. SEXTANT ANGLES ARE COMPUTED IN TERMS OF NAVIGATIONAL BASE COORDINATES. LET SA AND TA BE THE SHAFT AND
|
|
# TRUNNION ANGLES, RESPECTIVELY. THEN,
|
|
# _
|
|
# V = (SIN(TA)*COS(SA), SIN(TA)*SIN(SA), COS(TA)) (A COLUMN VECTOR)
|
|
# NB
|
|
# THE OUTPUT IS A HALF-UNIT VECTOR STORED IN STARM.
|
|
#
|
|
# 2. THIS VECTOR IN NAV. BASE COORDS. IS THEN TRANSFORMED TO ONE IN STABLE MEMBER COORDINATES.
|
|
# _ T T T _
|
|
# V = Q *Q *Q *V , WHERE
|
|
# 1 2 3 NB
|
|
#
|
|
# ( COS(IG) 0 -SIN(IG) )
|
|
# ( ) THE GIMBAL ANGLES ARE COMPUTED FROM
|
|
# Q = ( 0 1 0 ), IG= INNER GIMBAL ANGLE THE CDU COUNTERS AT NBSM (USING AXIS-
|
|
# 1 ( ) ROT AND CDULOGIC)
|
|
# ( SIN(IG) 0 COS(IG) )
|
|
#
|
|
# ( COS(MG) SIN(MG) 0 )
|
|
# ( )
|
|
# Q = (-SIN(MG) COS(MG) 0 ), MG= MIDDLE GIMBAL ANGLE
|
|
# 2 ( )
|
|
# ( 0 0 1 )
|
|
#
|
|
# ( 1 0 0 )
|
|
# ( )
|
|
# Q = ( 0 COS(OG) SIN(OG) ), OG= OUTER GIMBAL ANGLE
|
|
# 3 ( )
|
|
# ( 0 -SIN(OG) COS(OG) )
|
|
#
|
|
# 3. THE STAR NUMBER IS SAVED AND THE SECOND STAR IS THEN SIMILARLY PROCESSED.
|
|
#
|
|
# 4. THE ANGLE BETWEEN THE TWO STARS IS THEN CHECKED AT CKSDATA.
|
|
#
|
|
# 5. REFSMMAT IS THEN COMPUTED AT AXISGEN AS FOLLOWS.
|
|
# _ _
|
|
# LET S AND S BE TWO STAR VECTORS EXPRESSED IN TWO COORDINATE SYSTEMS, A AND B (BASIC AND STABLE MEMBER).
|
|
# 1 2
|
|
# Page 765
|
|
# DEFINE,
|
|
# _ _
|
|
# U = S
|
|
# A A1
|
|
# _ _ _
|
|
# V = UNIT(S x S )
|
|
# A A1 A2
|
|
# _ _ _
|
|
# W = U x V
|
|
# A A A
|
|
#
|
|
# AND,
|
|
# _ _
|
|
# U = S
|
|
# B B1
|
|
# _ _ _
|
|
# V = UNIT(S x S )
|
|
# B B1 B2
|
|
# _ _ _
|
|
# W = U x V
|
|
# B B B
|
|
#
|
|
# THEN
|
|
# _ _ _ _
|
|
# X = U *U + V *V + W *W
|
|
# B1 A B1 A B1 A
|
|
# _ _ _ _
|
|
# Y = U *U + V *V + W *W (REFSMMAT)
|
|
# B2 A B2 A B2 A
|
|
# _ _ _ _
|
|
# Z = U *U + V *V + W *W
|
|
# B3 A B3 A B3 A
|
|
#
|
|
# THE INPUTS CONSIST OF THE FOUR HALF-UNIT VECTORS STORED AS FOLLOWS
|
|
# _
|
|
# S IN 6-11 OF THE VAC AREA
|
|
# A1
|
|
# _
|
|
# S IN 12-17 OF THE VAC AREA
|
|
# A2
|
|
# _
|
|
# S IN STARAD
|
|
# B1
|
|
# Page 766 _
|
|
# S IN STARAD +6
|
|
# B2
|
|
#
|
|
# CALLING SEQUENCE:
|
|
#
|
|
# THE PROGRAM IS CALLED BY THE ASTRONAUT BY DSKY ENTRY.
|
|
#
|
|
# SUBROUTINES CALLED:
|
|
#
|
|
# GOPERF3
|
|
# GOPERF1R
|
|
# GODSPR
|
|
# IMUCOARS
|
|
# IMUFIN20
|
|
# R53
|
|
# SXTNB
|
|
# NBSM
|
|
# MKRELEAS
|
|
# CHKSDATA
|
|
# MATMOVE
|
|
#
|
|
# ALARMS
|
|
#
|
|
# NONE
|
|
#
|
|
# ERASABLE INITIALIZATION:
|
|
#
|
|
# IMU ZERO FLAG SHOULD BE SET.
|
|
#
|
|
# OUTPUT
|
|
#
|
|
# REFSMMAT
|
|
# REFSMFLG
|
|
#
|
|
# DEBRIS
|
|
#
|
|
# WORK AREA
|
|
# STARAD
|
|
# STARIND
|
|
# BESTI
|
|
# BESTJ
|
|
|
|
SETLOC P50S1
|
|
BANK
|
|
COUNT 14/P5153
|
|
|
|
P53 EQUALS P51
|
|
P51 CS IMODES30
|
|
MASK BIT9
|
|
CCS A
|
|
# Page 767
|
|
TC P51A
|
|
TC ALARM
|
|
OCT 210
|
|
TC GOTOP00H
|
|
P51A TC BANKCALL
|
|
CADR R02ZERO
|
|
|
|
P51AA CAF PRFMSTAQ
|
|
TC BANKCALL
|
|
CADR GOPERF1
|
|
TC GOTOP00H # TERM.
|
|
TC P51B # V33
|
|
TC PHASCHNG
|
|
OCT 05024
|
|
OCT 13000
|
|
CAF P51ZERO
|
|
TS THETAD # ZERO THE GIMBALS
|
|
TS THETAD +1
|
|
TS THETAD +2
|
|
CAF V6N22
|
|
TC BANKCALL
|
|
CADR GODSPRET
|
|
CAF V41K # NOW DISPLAY COARSE ALIGN VERB 41
|
|
TC BANKCALL
|
|
CADR GODSPRET
|
|
TC BANKCALL
|
|
CADR IMUCOARS
|
|
TC BANKCALL
|
|
CADR IMUSTALL
|
|
TC CURTAINS # CAGING OR BAD END
|
|
TC BANKCALL # SCHEDULE IFAILOK AND IMUFINED TASKS, IN 5
|
|
CADR IMUFIN20 # AND 20 SECS. DIRECT RETURN AND NO STALL,
|
|
TC BANKCALL # IF CAGING, BUT T4 WILL ZERO C/A ENABLE.
|
|
CADR IMUSTALL # IF PUT TO SLEEP, IMUFINED WILL WAKE US
|
|
TC CURTAINS # UP.
|
|
TC PHASCHNG
|
|
OCT 05024
|
|
OCT 13000
|
|
TCF P51AA # COARSE ALIGN DONE: RECYCLE FOR FINE
|
|
|
|
# Page 768
|
|
# DO STAR SIGHTING AND COMPUTE NEW REFSMMAT
|
|
P51B TC PHASCHNG
|
|
OCT 00014
|
|
TC INTPRET
|
|
SSP SETPD
|
|
STARIND # INDEX -- STAR 1 OR 2
|
|
0
|
|
0
|
|
RTB VLOAD
|
|
SET1/PDT
|
|
ZEROVEC
|
|
STORE GCOMP
|
|
SET CLEAR
|
|
DRIFTFLG # ENABLE T4 COMPENSATION
|
|
TARG2FLG # SHOW MARK IS STAR --- NOT LANDMARK
|
|
EXIT
|
|
CAF BIT1
|
|
TS MARKINDX # INITIALIZE FOR ONE MARK
|
|
|
|
P51C TC PHASCHNG
|
|
OCT 05024
|
|
OCT 13000
|
|
TC CHECKMM
|
|
MM 53 # BACKUP PROGRAM
|
|
TCF P51C.1 # NOT P53
|
|
TC INTPRET
|
|
CALL
|
|
R56
|
|
GOTO
|
|
P51C.2
|
|
P51C.1 TC INTPRET
|
|
CALL
|
|
R53 # SIGHTING ROUTINE
|
|
P51C.2 CALL # COMPUTE LOS IN SM FROM MARK DATA
|
|
SXTSM
|
|
PUSH
|
|
SLOAD BZE
|
|
STARIND
|
|
P51D
|
|
VLOAD STADR
|
|
STORE STARSAV2 # DOWNLINK
|
|
GOTO
|
|
P51E
|
|
P51D VLOAD STADR
|
|
STODL STARSAV1
|
|
TSIGHT
|
|
CALL
|
|
PLANET
|
|
STORE PLANVEC
|
|
# Page 769
|
|
P51E EXIT
|
|
TC PHASCHNG
|
|
OCT 05024
|
|
OCT 13000
|
|
TC BANKCALL
|
|
CADR MKRELEAS # ZERO MARKSTAT
|
|
CCS STARIND
|
|
TCF P51F # STAR 2
|
|
TC PHASCHNG
|
|
OCT 05024
|
|
OCT 13000
|
|
CAF BIT1
|
|
TS STARIND
|
|
TCF P51C # GO DO SECOND STAR
|
|
P51F TC PHASCHNG
|
|
OCT 05024
|
|
OCT 13000
|
|
TC INTPRET
|
|
DLOAD CALL
|
|
TSIGHT
|
|
PLANET
|
|
STOVL 12D
|
|
PLANVEC
|
|
STOVL 6D
|
|
STARSAV1
|
|
STOVL STARAD
|
|
STARSAV2
|
|
STCALL STARAD +6
|
|
CHKSDATA # CHECK STAR ANGLES IN STARAD AND
|
|
BON EXIT
|
|
FREEFLAG
|
|
P51G
|
|
TC P51AA
|
|
P51G CALL
|
|
AXISGEN # COME BACK WITH REFSMMAT IN XDC
|
|
AXC,1 AXC,2
|
|
XDC
|
|
REFSMMAT
|
|
CLEAR CALL
|
|
REFSMFLG
|
|
MATMOVE
|
|
SET GOTO
|
|
REFSMFLG
|
|
ENDP50S
|
|
PRFMSTAQ = OCT15
|
|
P51ZERO = ZERO
|
|
P51FIVE = FIVE
|
|
V6N22 VN 0622
|
|
V41K VN 4100
|
|
SET1/PDT CA TIME1
|
|
# Page 770
|
|
TS 1/PIPADT
|
|
TCF DANZIG
|
|
|
|
# Page 771
|
|
# SXTSM COMPUTES AN LOS VECTOR IN SM COORD FROM OCDU AND ICDU MARK DATA
|
|
|
|
SETLOC P50S3
|
|
BANK
|
|
SXTSM STQ
|
|
QMAJ
|
|
LXC,1 DLOAD*
|
|
MARKSTAT
|
|
0D,1
|
|
STORE TSIGHT
|
|
LXC,2 SLOAD*
|
|
STARIND
|
|
MKDNCDR,2
|
|
LXC,2 VLOAD*
|
|
MPAC
|
|
0,1
|
|
STORE 0,2
|
|
DLOAD*
|
|
5,1
|
|
STORE 5,2
|
|
CALL
|
|
SXTNB # COMPUTE LOS VECTOR FROM OCDU IN MKVAC
|
|
LXA,1 INCR,1
|
|
MARKSTAT
|
|
2 # INCREMENT TO BASE ADR OF ICDU
|
|
SXA,1 CALL
|
|
S1
|
|
NBSM # TRANSFORM LOS TO SM
|
|
GOTO
|
|
QMAJ
|
|
MKDNCDR ECADR MARKDOWN
|
|
ECADR MARK2DWN
|
|
|
|
# Page 772
|
|
# PROGRAM DESCRIPTION: R53 -- SIGHTING MARK ROUTINE
|
|
# MOD. NO. 2 21 DEC 66
|
|
# MOD. BY STURLAUGSON
|
|
#
|
|
# FUNCTIONAL DESCRIPTION:
|
|
#
|
|
# TO PERFORM A SATISFACTORY NUMBER OF SIGHTING MARKS FOR THE REQUESTING PROGRAM (OR ROUTINE). SIGHTINGS
|
|
# CAN BE MADE ON A STAR OR LANDMARK. WHEN THE CMC ACCEPTS A MARK IT RECORDS AND STORES 5 ANGLES (3 ICDUS AND 2
|
|
# OCDUS) AND THE TIME OF THE MARK.
|
|
#
|
|
# CALLING SEQUENCE:
|
|
#
|
|
# R53 IS CALLED AND RETURNS IN INTERPRETIVE CODE. RETURN IS VIA QPRET.
|
|
# THERE IS NO ERROR EXIT IN THIS ROUTINE ITSELF.
|
|
#
|
|
# SUBROUTINES CALLED
|
|
#
|
|
# SXTMARK
|
|
# OPTSTALL
|
|
# GOFLASH
|
|
#
|
|
# ERASABLE INITIALIZATION:
|
|
#
|
|
# TARGET FLAG -- STAR OR LANDMARK
|
|
# MARKINDX -- NUMBER OF MARKS WANTED
|
|
# STARIND -- INDEX TO BESTI OR BESTJ (STAR NUMBER)
|
|
#
|
|
# OUTPUT
|
|
#
|
|
# MARKSTAT CONTAINS INDEX TO VACANT AREA WEHRE MARK DATA IS STORED
|
|
# BESTI (INDEXED BY STARIND) CONTAINS STAR NUMBER SIGHTED.
|
|
#
|
|
# DEBRIS
|
|
#
|
|
# MARKINDX CONTAINS NUMBER OF MARKS DESIRED
|
|
|
|
SETLOC RT53
|
|
BANK
|
|
|
|
COUNT 14/R53
|
|
|
|
R53 STQ SET # SET SIGHTING MARK FLAG
|
|
R53EXIT
|
|
R53FLAG
|
|
EXIT
|
|
R53A CA MARKINDX # NUMBER OF MARKS
|
|
MASK LOW3
|
|
TC BANKCALL
|
|
CADR SXTMARK
|
|
TC BANKCALL
|
|
CADR OPTSTALL
|
|
TC CURTAINS
|
|
INDEX MARKSTAT
|
|
CCS QPRET # NUMBER OF MARKS ACTUALLY DONE
|
|
TCF R53B
|
|
TCF +2 # ZERO
|
|
TCF +1 # CCS HOLE
|
|
CAF ZERO # HOUSEKEEP VAC AREA SAVE
|
|
XCH MARKSTAT # AND MARKSTAT
|
|
# Page 773
|
|
CCS A
|
|
INDEX A
|
|
TS 0
|
|
TCF R53A
|
|
R53B TC CHECKMM
|
|
MM 22
|
|
TCF +2
|
|
TCF R53D
|
|
TC CHECKMM
|
|
MM 23
|
|
TCF R53C1
|
|
TCF R53D
|
|
R53C1 CAF ZERO
|
|
TC BANKCALL
|
|
CADR CLEANDSP
|
|
R53C CAF V01N71
|
|
TC BANKCALL
|
|
CADR GOFLASH
|
|
TC GOTOP00H # TERM.
|
|
TCF R53Z
|
|
TC R53C # RECYCLE
|
|
R53Z TC CHKSCODE
|
|
TC FALTON
|
|
TC R53C
|
|
CS HIGH9
|
|
MASK STARCODE
|
|
EXTEND
|
|
MP SIGHTSIX
|
|
XCH L
|
|
INDEX STARIND
|
|
TS BESTI
|
|
R53D TC INTPRET
|
|
R53OUT SETGO
|
|
TERMIFLG # SET TERMINATE FOR R52
|
|
R53EXIT
|
|
SIGHTSIX = SIX
|
|
V01N71 VN 0171
|
|
|
|
# ****** KEEP IN SAME BANK AS R51 AND R53 ********
|
|
CHKSCODE CCS STARCODE
|
|
AD NEG47
|
|
CCS A
|
|
TC Q # SC < 0 OR SC > 50
|
|
TCF +2 # SC = + OR - 0
|
|
TCF +1 # 0 <= SC< 50
|
|
INDEX Q # SC = 50
|
|
TC 00002
|
|
NEG47 OCT 77730
|
|
|
|
# Page 774
|
|
# NAME -- S52.2
|
|
# FUNCTION -- COMPUTE GIMBAL ANGLES FOR DESIRED SM AND PRESENT VEHICLE
|
|
# CALL -- CALL S52.2
|
|
# INPUT -- X,Y,ZSMD
|
|
# OUTPUT -- OGC,IGC,MGC,THETAD,+1,+2
|
|
# SUBROUTINES -- CDUTRIG, CALCSMSC, MATMOVE, CALCGA
|
|
|
|
SETLOC S52/2
|
|
BANK
|
|
|
|
COUNT 13/S52.2
|
|
S52.2 STQ
|
|
QMAJ
|
|
CALL
|
|
CDUTRIG
|
|
CALL
|
|
CALCSMSC
|
|
AXT,1 SSP
|
|
18D
|
|
S1
|
|
6D
|
|
S52.2A VLOAD* VXM
|
|
XNB +18D,1
|
|
REFSMMAT
|
|
UNIT
|
|
STORE XNB +18D,1
|
|
TIX,1
|
|
S52.2A
|
|
S52.2.1 AXC,1 AXC,2
|
|
XSMD
|
|
XSM
|
|
CALL
|
|
MATMOVE
|
|
CALL
|
|
CALCGA
|
|
GOTO
|
|
QMAJ
|
|
|
|
# Page 775
|
|
# PROGRAM NAME: SR52.1 DATE: DEC 20 1968
|
|
# MOD 1 LOG SEC: P51-P53
|
|
# BY KEN VINCENT ASSEMBLY: SUNDISK REV 40
|
|
#
|
|
# FUNCTION
|
|
#
|
|
# TARG1 AND TARG2 FLAGS ARE LOOKED AT TO DETERMINE IF THE TARGET IS THE
|
|
# LEM, STAR, OR LANDMARK. IN CASE OF LEM OR LMK, THE PRESENT TIME PLUS
|
|
# 2 SECONDS IS SAVED IN AOPTIME (ALIAS STARAD, +1). IF THE LEM IS
|
|
# THE TARGET THEN CONIC UPDATES OF TEH CSM AND LEM ARE MADE TO
|
|
# THE TIME IN AOPTIME. THE UNIT OF THE DIFFERENCE OF LEM AND CSM
|
|
# POSITION VECTORS BECOMES THE REFERENCE SIGHTING VECTOR USED IN THE
|
|
# COMMON PART OF THE THIS PROGRAM.
|
|
#
|
|
# IN THE CASE OF LANDMARK, THE CSM IS UPDATED CONICALLY. THE RADIUS
|
|
# VECTOR FOR THE LANDMARK IS OBTAINED FROM LALOTORV. BOTH OF THESE ARE
|
|
# FOUND FOR THE TIME IN AOPTIME. THE UNIT OF THE DIFFERENCE BETWEEN
|
|
# THE LANDMARK AND CSM RADIUS VECTORS BECOMES THE REFERENCE SIGHTING
|
|
# VECTOR FOR THE COMMON PART OF THIS ROUTINE.
|
|
#
|
|
# IF A STAR IS THE TARGET, THE PROPER STAR IS OBTAINED FROM THE CATALOG
|
|
# AND THIS VECTOR BECOMES THE REFERENCE SIGHTING VECTOR.
|
|
#
|
|
# THE COMMON PART OF THIS PROGRAM TRANSFORMS THE REFERENCE SIGHTING
|
|
# VECTOR INTO STABLE MEMBER COORDINATES. IT READS THE IMU-CDUS AND USES
|
|
# THIS DATA IN A CALL TO CALCSXA. ON RETURN FROM CALCSXA A TEST IS
|
|
# MADE TO SEE IF THE TRUNNION ANGLE IS GREATER THAN 90DEG OR 38DEG.
|
|
# MADE TO SEE IF THE TRUNNION ANGLE IS GREATER THAN 90DEG. OR 50DEG.
|
|
#
|
|
# CALLING SEQUENCE
|
|
#
|
|
# L+4 RETURN WHEN SHAFT OR TRUNION NOT WITHIN 5 DEG OF DESIRED
|
|
# L TC BANKCALL
|
|
# L+1 CADR SR52.1
|
|
# L+2 ERROR RETURN TRUNNION GREATER THAN 90 DEG.
|
|
# L+3 ERROR RETURN TRUNNION GREATER THAN 50 DEG
|
|
# L+4 NORMAL RETURN
|
|
#
|
|
# OUTPUT
|
|
#
|
|
# SAC: SINGLE PREC, 2'S COMP, SCALED AT HALF REVS -- SHAFT ANGLE DESIRED.
|
|
# PAC: SINGLE PREC, 2'S COMP, SCALED AT EIGHTH REVS -- TRUNNION ANGLE DESIRED.
|
|
#
|
|
# INITIALIZATION
|
|
#
|
|
# IF TARG1FLG =1 THEN TARGET IS LEM -- NO OTHER INPUT REQUIRED.
|
|
#
|
|
# IF TARG1FLG =0 AND TARG2FLG =0 THE TARGET IS STAR, STARIND SHOULD
|
|
# 0 OR 1 DENOTING BESTI OR BESTJ RESPECTIVELY AS STAR CODE. STAR CODES
|
|
# ARE 6 TIMES STAR NUMBER.
|
|
#
|
|
# IF TARG1FLG =0 AND TARG2FLG =1 THEN TARGET IS LANDMARK. SETT ROUTINE
|
|
# LALOTORV FOR INPUT REQUIREMENTS. HERE FIXERAD=1 FOR CONSTANT EARTH
|
|
# RADIUS
|
|
#
|
|
# DEBRIS
|
|
#
|
|
# WORK AREA
|
|
# STARAD -- STAR+5 (STAR IS DESIRED LOS IN STABLE MEMBER COORDINATES)
|
|
|
|
COUNT* $$/SR521
|
|
# Page 776
|
|
SETLOC SR52/1
|
|
BANK
|
|
|
|
SR52.1 TC MAKECADR
|
|
TS QMIN
|
|
TC INTPRET
|
|
RTB DAD
|
|
LOADTIME
|
|
1.3SECDP
|
|
STORE AOPTIME
|
|
BON BON
|
|
TARG1FLG
|
|
LEM52
|
|
TARG2FLG
|
|
LMK52
|
|
GOTO
|
|
STAR52
|
|
LEM52 DLOAD
|
|
AOPTIME
|
|
STCALL TDEC1
|
|
LEMCONIC
|
|
VLOAD
|
|
RATT
|
|
GOTO
|
|
LMKLMCOM
|
|
LMK52 BON DLOAD
|
|
ADVTRK
|
|
ADVTRACK
|
|
AOPTIME
|
|
CALL
|
|
LALOTORV
|
|
VLOAD
|
|
ALPHAV
|
|
LMKLMCOM STODL STAR
|
|
AOPTIME
|
|
STCALL TDEC1
|
|
CSMCONIC
|
|
VLOAD VSU
|
|
STAR
|
|
RATT
|
|
UNIT GOTO
|
|
COM52
|
|
STAR52 SSP LXA,1
|
|
S1
|
|
0
|
|
STARIND
|
|
TIX,1
|
|
ST52ST
|
|
VLOAD GOTO
|
|
STARSAV2
|
|
# Page 777
|
|
COM52
|
|
ST52ST VLOAD
|
|
STARSAV1
|
|
COM52 MXV UNIT
|
|
REFSMMAT
|
|
STORE STAR
|
|
SETPD CALL
|
|
0
|
|
CDUTRIG # COMPUTES SINES AND COSINES FOR CALCSXA
|
|
CALL # NOW EXPECT TO SEE THE CDU ANGLES.
|
|
CALCSXA
|
|
BOFF EXIT
|
|
CULTFLAG
|
|
TRUN38
|
|
TC SR52E1
|
|
TRUN38 DLOAD DSU
|
|
PAC
|
|
38TRDEG
|
|
BPL DLOAD
|
|
SR52E22
|
|
PAC
|
|
DSU BPL
|
|
20DEGSMN
|
|
SR52E3
|
|
SR52E22 EXIT
|
|
TC SR52E2
|
|
SR52E3 EXIT
|
|
INCR QMIN
|
|
SR52E2 INCR QMIN
|
|
SR52E1 CA QMIN
|
|
TC SWCALL
|
|
38TRDEG 2DEC .66666667 # CORRESPONDS TO 50 DEGS IN TRUNION
|
|
|
|
1.3SECDP 2DEC 130
|
|
|
|
20DEGSMN DEC -07199
|
|
DEC -0
|
|
|
|
# Page 778
|
|
# THE ADVTRACK ROUTINE IS USED TO COMPUTE AN OPTICS LOS VECTOR TO
|
|
# A POINT ON THE GROUND TRACK 60 DEGREES FORWARD OF THE LOCAL VERTICAL
|
|
# OF AN ADVANCED ORBIT A SPECIFIED NUMBER OF REVOLUTIONS FROM NOW.
|
|
|
|
SETLOC 26P50S
|
|
BANK
|
|
ADVTRACK SETPD
|
|
0
|
|
VLOAD PUSH # INITIALIZE FOR RP-TO-R
|
|
UNITZ # UZ VEC IN PD 0-5
|
|
RTB PUSH # TIME IN PD 6-7
|
|
LOADTIME
|
|
STCALL AOPTIME # TIME ALSO IN AOPTIME FOR CSMCONIC
|
|
RP-TO-R # GET MOON ROTATION VEC IN REF
|
|
STODL STAR
|
|
AOPTIME # PICK UP TIME
|
|
STCALL TDEC1 # UPDATE STATE TO TIME
|
|
CSMCONIC
|
|
VLOAD VXV
|
|
VATT
|
|
RATT
|
|
UNIT
|
|
STOVL 24D # SAVE -UNIT(VxR) FOR 2ND ROTATION
|
|
RATT
|
|
UNIT VCOMP
|
|
SETPD PUSH # PUSH LOS=-UNIT(RVEC) PD 0-5
|
|
0
|
|
EXIT
|
|
CA LANDMARK
|
|
MASK SEVEN # GET NUMBER OF ADVANCE PERIODS
|
|
EXTEND
|
|
MP BIT11 # GET N/16
|
|
XCH L
|
|
INDEX FIXLOC
|
|
TS 30D # TEMP STORE N/16
|
|
TC INTPRET
|
|
SLOAD DMP
|
|
30D
|
|
MPERIOD
|
|
STCALL AOPTIME # ROTATE ANG ABOUT UR
|
|
ROTA
|
|
VLOAD
|
|
24D # PICK UP 2ND ROTATION AXIS
|
|
STODL STAR
|
|
DP1/6
|
|
DSU
|
|
AOPTIME # 2ND RAT ANGLE = 60 - A
|
|
STCALL AOPTIME
|
|
ROTA # GO ROTATE 2ND TIME
|
|
VLOAD
|
|
# Page 779
|
|
0
|
|
STCALL STAR # STORE FINAL LOS IN STAR
|
|
COM52 # RETURN TO SR52.1
|
|
|
|
ROTA DLOAD SIN
|
|
AOPTIME
|
|
PDVL VXV # PUSH 1/2SIN(A) PD 6-7
|
|
STAR # UR VEC
|
|
0 # LOS
|
|
VXSC VSL2 # 1/2SIN(A)(URXLOS) PD 6-11
|
|
PDVL DOT
|
|
STAR
|
|
0
|
|
VXSC VSL2
|
|
STAR
|
|
PDDL COS # 1/2(UR . LOS)UR 12-17
|
|
AOPTIME
|
|
PDVL BVSU # PUSH 1/2COS(A) 18-19
|
|
12D
|
|
0
|
|
VXSC VSL1 # UP 18-19
|
|
VAD VAD # UP 12-17 UP 6011
|
|
UNIT SETPD
|
|
0
|
|
PUSH RVQ
|
|
|
|
DP1/6 2DEC .16666666
|
|
|
|
MPERIOD 2DEC .047619 # APPROX LUNAR ROT ANG IN 2HRS x 16
|
|
|
|
# Page 780
|
|
# NAME -- S52.3
|
|
# FUNCTION -- XSMD= UNIT(YSMD x ZSMD)
|
|
# YSMD= UNIT(V X R)
|
|
# ZSMD= UNIT(-R)
|
|
# CALL -- DLOAD CALL
|
|
# TALIGN
|
|
# S52.3
|
|
# INPUT -- TIME OF ALIGNMENT IN MPAC
|
|
# OUTPUT -- X,Y,ZSMD
|
|
# SUBROUTINES -- CSMCONIC
|
|
|
|
SETLOC P50S2
|
|
BANK
|
|
|
|
COUNT 15/S52.3
|
|
S52.3 STQ
|
|
QMAJ
|
|
STCALL TDEC1
|
|
CSMPREC
|
|
SETPD
|
|
0
|
|
VLOAD VCOMP
|
|
RATT
|
|
UNIT
|
|
STOVL ZSMD
|
|
VATT
|
|
VXV UNIT
|
|
RATT
|
|
STORE YSMD
|
|
VXV UNIT
|
|
ZSMD
|
|
STCALL XSMD
|
|
QMAJ
|
|
|
|
# Page 781
|
|
# PROGRAM DESCRIPTION: R56 -- ALTERNATE LOS SIGHTING MARK ROUTINE
|
|
#
|
|
# FUNCTIONAL DESCRIPTION
|
|
#
|
|
# TO PERFORM SIGHTING MARKS FOR THE BACK-UP ALIGNMENT PROGRAMS (P53,P54). THE ASTRONAUT KNOWS THE
|
|
# COORDINATES (OPTICS) OF THE ALTERNATE LINE OF SIGHT HE MUST USE FOR THIS ROUTINE. WHEN THE ASTRONAUT KEYS IN
|
|
# ENTER IN RESPONSE TO THE FLASHING V50 N25 R1-XXXXX THE CMC STORES THE THREE ICDU ANGLES AND TWO ANGLES DISPLAYED
|
|
# IN N92.
|
|
#
|
|
# CALLING SEQUENCE
|
|
#
|
|
# CALL
|
|
# R56
|
|
#
|
|
# SUBROUTINES CALLED
|
|
#
|
|
# A PORTION OF SXTMARK (VAC.AREA SEARCH)
|
|
# GOFLASH
|
|
# GOPERF1
|
|
#
|
|
# ERASABLE INITIALIZATION
|
|
#
|
|
# STARIND: INDEX TO STAR NUMBER
|
|
#
|
|
# OUTPUT
|
|
#
|
|
# MARKSTAT: INDEX TO VAC.AREA WHERE OUTPUT IS STORED.
|
|
# BESTI (INDEXED BY STARIND) CONTAINS STAR NUMBER.
|
|
# ICDU AND OCDU ANGLES IN VAC. AREA AS FOLLOWS:
|
|
# VAC +2 CDUY
|
|
# VAC +3 CDUS
|
|
# VAC +4 CDUZ
|
|
# VAC +5 CDUT
|
|
# VAC +6 CDUX
|
|
|
|
COUNT* $$/R56
|
|
SETLOC P50S3
|
|
BANK
|
|
R56 STQ EXIT
|
|
R53EXIT
|
|
CAF V06N94B
|
|
TC BANKCALL
|
|
CADR GOFLASH
|
|
TC GOTOP00H # TERM.
|
|
TC R56A # PROCEED: ANGLES OK
|
|
TC -5 # ENTER: NEW ANGLES
|
|
R56A TC BANKCALL
|
|
CADR SXTMARK +2 # INHIBIR EXT VB ACT AND FIND VAC AREA
|
|
|
|
CAF ZERO
|
|
TC BANKCALL
|
|
CADR CLEANDSP
|
|
|
|
R56A1 CAF VB53 # DISPLAY V53 REQUESTING ALTERNATE MARK
|
|
TC BANKCALL
|
|
# Page 782
|
|
CADR GOMARK2
|
|
TCF GOTOP00H # V34: TERMINATE
|
|
TCF R56A1 # V33: DON'T PROCEED -- JUST ENTER TO MARK
|
|
TC INTPRET
|
|
DLOAD
|
|
MRKBUF1 +3
|
|
STODL SAC
|
|
MRKBUF1 +5
|
|
STORE PAC
|
|
EXIT
|
|
INHINT
|
|
EXTEND
|
|
DCA TIME2
|
|
INDEX MARKSTAT
|
|
DXCH 0
|
|
CA CDUY # ENTER: THIS IS A BACKUP SYSTEM MARK
|
|
INDEX MARKSTAT
|
|
TS 2
|
|
CA SAC
|
|
INDEX MARKSTAT
|
|
TS 3
|
|
CA CDUZ
|
|
INDEX MARKSTAT
|
|
TS 4
|
|
CA PAC
|
|
INDEX MARKSTAT
|
|
TS 5
|
|
CA CDUX
|
|
INDEX MARKSTAT
|
|
TS 6
|
|
RELINT
|
|
TC CLEARMRK # ENABLE EXTENDED VERBS
|
|
CAF OCT16
|
|
TC BANKCALL
|
|
CADR GOPERF1
|
|
TC GOTOP00H # TERM.
|
|
TCF R56B # PROCEED: MARK COMPLETED
|
|
TCF R56A +2 # RECYCLE: DO ANOTHER MARK -- LIKE REJECT.
|
|
R56B TC BANKCALL
|
|
CADR R53C1
|
|
VB53 VN 05300 # ALTERNATE MARK VERB
|
|
V06N94B VN 00694
|
|
SETLOC P50S
|
|
BANK
|
|
|
|
PLANET STORE TSIGHT
|
|
STQ CALL
|
|
QMIN
|
|
LOCSAM
|
|
VLOAD
|
|
# Page 783
|
|
VEARTH
|
|
STOVL 0D
|
|
VSUN
|
|
STOVL VEARTH
|
|
0D
|
|
STORE VSUN
|
|
NOSAM EXIT
|
|
CS HIGH9
|
|
MASK STARCODE
|
|
EXTEND
|
|
MP SIGHTSIX
|
|
XCH L
|
|
INDEX STARIND
|
|
TS BESTI
|
|
CCS A
|
|
TCF NOTPLAN
|
|
CAF VNPLANV
|
|
TC BANKCALL
|
|
CADR GOFLASH
|
|
TC GOTOP00H
|
|
TC +2
|
|
TC -5
|
|
TC INTPRET
|
|
VLOAD VXSC
|
|
STARSAV3
|
|
1/SQR3
|
|
UNIT GOTO
|
|
CORPLAN
|
|
NOTPLAN CS A
|
|
AD DEC227
|
|
EXTEND
|
|
BZMF CALSAM1
|
|
INDEX STARIND
|
|
CA BESTI
|
|
INDEX FIXLOC
|
|
TS X1
|
|
TC INTPRET
|
|
VLOAD* GOTO
|
|
CATLOG,1
|
|
CORPLAN
|
|
CALSAM1 TC INTPRET
|
|
LXC,1 DLOAD*
|
|
STARIND
|
|
BESTI,1
|
|
LXC,1 VLOAD*
|
|
MPAC
|
|
STARAD -228D,1
|
|
CORPLAN VAD UNIT
|
|
VEL/C
|
|
GOTO
|
|
# Page 784
|
|
QMIN
|
|
DEC227 DEC 227
|
|
VNPLANV VN 0688
|
|
1/SQR3 2DEC .57735021
|
|
|
|
|