Pre-launch Review
P51 P53
It name, and Comanche 055 page images. GOTOPOOH -> GOTOPOOH, 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
# 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 -> GOTOPOOH, 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# 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 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 +1P52A CAF BIT1 TS OPTION2P52B CAF BIT1 TC BANKCALL # FLASH OPTION CODE AND ORIENTATION CODE CADR GOPERF4R TC GOTOPOOH 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 # REFP52T EXTEND DCA NEG0 DXCH DSPTEM1 CAF V06N34 TC BANKCALL CADR GOFLASH TC GOTOPOOH 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 # ORIENTATIONP52D CALL # READ VEHICLE ATTITUDE AND S52.2 # COMPUTE GIMBAL ANGLES EXIT CAF VB06N22 TC BANKCALL # DISPLAY GIMBAL ANGLES CADR GOFLASH TC GOTOPOOH TC COARSTYPP52J TC INTPRET # RECYCLE: VEHICLE HAS BEEN MANEUVERED GOTO P52D TC INTPRET CALL # DO COARSE ALIGN CAL53A # ROUTINECAL53RET SET EXIT REFSMFLGP52C TC PHASCHNG OCT 04024 CAF ALRM15 TC BANKCALL CADR GOPERF1 TC GOTOPOOH TC +2 # V33 TC P52F # E TC INTPRET RTB DAD LOADTIME TSIGHT1 CALL LOCSAM EXITP52E TC BANKCALL # DO STAR SELECTION CADR PICAPAR TC P52I # 2 STARS NOT AVAILABLEP52F TC INTPRET # 2 STARS AVAILABLE CALL R51ENDP50S EXIT TC GOTOPOOH# Page 741P52I TC ALARM OCT 405 CAF V05N09 TC BANKCALL CADR GOFLASH TC GOTOPOOH TC P52F # PROCEED: DO FINE ALIGN-R51 TC P52C # RECYCLE: VEHICLE HAS BEEN MANEUVEREDV06N34 VN 0634VB06N22 VN 00622COARSTYP CAF OCT13 TC BANKCALL CADR GOPERF1 TCF GOTOPOOH # V34 TCF P52J +3 # NORMAL TC INTPRET # GYRO COARSEGYCRS 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 R51KV16N20 VN 1620ALRM15 EQUALS OCT15 SETLOC P50S2 BANKV06N89* VN 0689
# NAME -- P52LS## FUNCTION -- TO DISPLAY THE LANDING SITE LATITUDE,# LONGITUDE AND ALTITUDE. TO ACCEPT NEW DATA VIA# THE KEYBOARD. TO COMPUTE 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 EXITLSDISP CAF V06N89* TC BANKCALL CADR GOFLASH TC GOTOPOOH 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 ADVTRKR52VRB EXIT EXTEND DCA CDUT DXCH DESOPTT TC INTPRET SSP CLEAR OPTIND 0 R53FLAG EXITR52A TC INTPRET SET BON TRUNFLAG TARG1FLG R52H CLEAR EXIT TERMIFLGR52C CA SWSAMPLE # IS OPTICS MODE IN AGC EXTEND BZMF R52M # MANUALR52D 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 0R52JA 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 GODSPRR52E 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 DESOPTSR52F 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 # NOR52Q TC INTPRET # YES GOTO SAVQR52R52H EXIT # LEMR52HA 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 = 1R52SYNC 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 R52JAR52M CAF BIT6 # IS R53FLAG SET MASK STATE CCS A TC R52F # YES INHINT # NO CAF PRIO24 TC FINDVAC EBANK= SAC 2CADR R53JOB
RELINT TCF R52FR53JOB TC INTPRET CALL R53ENDPLAC EXIT # INTERPRETER RETURN TO ENDOFJOB (R22 USES) TC ENDOFJOBV06N92 VN 00692V06N89A VN 0689SHAXIS 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 4041.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 GOTOPOOH # 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 = S50S50 STQ QMAJ STCALL TSIGHT LSPOS STOVL VMOON 2D STODL VSUN TSIGHT STCALL TDEC1 CSMCONIC SSP TIX,2 S2 0 MOONCNTREARTCNTR VLOAD VSU VMOON RATT UNIT STOVL VMOON RATT UNIT VCOMP STODL VEARTH RSUBE CALL OCCOS STODL CEARTH CSS5 STOVL CMOON VSUN UNIT STCALL VSUN ENDSAMMOONCNTR 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 VSUNENDSAM VXV ECLIPOL STOVL VEL/C VATT VXSC VAD 1/C VEL/C STODL VEL/C CSSUN STCALL CSUN QMAJOCCOS DDV SR1 36D ASIN DAD 5DEGREES COS SR1 RVQ SETLOC P50S BANKRSUBM 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 = 14DCSUN = 16DCMOON = 18DCSS5 2DEC .2490475 # (COS 5)/4# Page 751CSSUN 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 INERTIAL. 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 BANKPICAPAR 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 6PIC1 TIX,1 GOTO # MAJOR STAR PIC2 PICENDPIC2 VLOAD* CALL CATLOG,1 OCCULT BON LXA,2 CULTFLAG PIC1 X1PIC3 TIX,2 GOTO PIC4 PIC1PIC4 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 PIC3STRATGY BONCLR VFLAG NEWPAR XCHX,1 XCHX,2 BESTI BESTJSTRAT VLOAD* DOT* CATLOG,1 CATLOG,2 PUSH BOFINV VFLAG STRAT -3 DLOAD DSU BPL PIC3NEWPAR SXA,1 SXA,2 BESTI BESTJ GOTO PIC3OCCULT MXV BVSU CULTRIX CSS BZE CULTED BMN SIGN CULTED MPAC +3 BMN SIGN CULTED MPAC +5 BMN CLRGO CULTED CULTFLAG QPRETCULTED SETGO# Page 755 CULTFLAG QPRETCSS = CEARTHSIN33 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 PICBXTPICGXT EXIT INCR QMINPICBXT 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 MARKINDXR51.2 TC INTPRETR51.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 STARCODER51DSP CAF V01N70 TC BANKCALL CADR GOFLASHR TC GOTOPOOH 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 +1R51ST 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 SIGHTINGR51A 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 PFRATFLGR51K EXIT CAF OCT14 TC BANKCALL CADR GOPERF1 TC GOTOPOOH TC +2 # V33 TC +3 TC BANKCALL CADR P52C# Page 758 TC INTPRET GOTO ENDP50SR51.4 TC INTPRET MXV UNIT REFSMMAT STOVL PLANVEC STARSAV2 STORE STARSAV1 SSP STARIND 0 GOTO R51.3R51B TC INTPRET CALL R56 GOTO R51AOCT66 OCT 00066V01N70 VN 01701/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* $$/R55R55 STQ QMIN CALL CALCGTAPULSEM EXITR55.1 CAF V06N93 TC BANKCALL CADR GOFLASH TC GOTOPOOH TC R55.2 TC R55RETR55.2 TC PHASCHNG OCT 00314 CA R55CDR TC BANKCALL CADR IMUPULSE TC BANKCALL CADR IMUSTALL TC CURTAINS TC PHASCHNG OCT 05024 OCT 13000R55RET TC INTPRET GOTO QMINV06N93 VN 0693R55CDR ECADR OGCR54 = 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* $$/R50CHKSDATA STQ SET QMIN FREEFLAGCHKSAB 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 ANGLECHKSD 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 GOTOPOOH TC CHKSDA # PROCEED TC INTPRET CLEAR GOTO FREEFLAG QMINCHKSDA TC INTPRET GOTO QMINVB6N5 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 4CALOOP DLOAD* SR1 THETAD +3D,1 PDDL* SR1 4,1 DSU ABS PUSH DSU DEGREE1 BMN DLOAD CALOOP1 DSU BPL DEG359 CALOOP1COARFINE 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 FINEONLYCALOOP1 TIX,1 CALOOPFINEONLY AXC,1 AXC,2 XSM REFSMMAT CALL MATMOVE GOTO CAL53RETMATMOVE VLOAD* # TRANSFER MATRIX 0,1 STORE 0,2 VLOAD* 6D,1 STORE 6D,2 VLOAD* 12D,1 STORE 12D,2 RVQDEGREE1 DEC 46DEG359 DEC 16338 SETLOC P50S BANKRDCDUS 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 P51P51 CS IMODES30 MASK BIT9 CCS A# Page 767 TC P51A TC ALARM OCT 210 TC GOTOPOOHP51A TC BANKCALL CADR R02ZERO
P51AA CAF PRFMSTAQ TC BANKCALL CADR GOPERF1 TC GOTOPOOH # 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 REFSMMATP51B 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.2P51C.1 TC INTPRET CALL R53 # SIGHTING ROUTINEP51C.2 CALL # COMPUTE LOS IN SM FROM MARK DATA SXTSM PUSH SLOAD BZE STARIND P51D VLOAD STADR STORE STARSAV2 # DOWNLINK GOTO P51EP51D VLOAD STADR STODL STARSAV1 TSIGHT CALL PLANET STORE PLANVEC# Page 769P51E 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 STARP51F 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 P51AAP51G CALL AXISGEN # COME BACK WITH REFSMMAT IN XDC AXC,1 AXC,2 XDC REFSMMAT CLEAR CALL REFSMFLG MATMOVE SET GOTO REFSMFLG ENDP50SPRFMSTAQ = OCT15P51ZERO = ZEROP51FIVE = FIVEV6N22 VN 0622V41K VN 4100SET1/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 BANKSXTSM 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 QMAJMKDNCDR 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 EXITR53A 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 R53AR53B TC CHECKMM MM 22 TCF +2 TCF R53D TC CHECKMM MM 23 TCF R53C1 TCF R53DR53C1 CAF ZERO TC BANKCALL CADR CLEANDSPR53C CAF V01N71 TC BANKCALL CADR GOFLASH TC GOTOPOOH # TERM. TCF R53Z TC R53C # RECYCLER53Z TC CHKSCODE TC FALTON TC R53C CS HIGH9 MASK STARCODE EXTEND MP SIGHTSIX XCH L INDEX STARIND TS BESTIR53D TC INTPRETR53OUT SETGO TERMIFLG # SET TERMINATE FOR R52 R53EXITSIGHTSIX = SIXV01N71 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 00002NEG47 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.2S52.2 STQ QMAJ CALL CDUTRIG CALL CALCSMSC AXT,1 SSP 18D S1 6DS52.2A VLOAD* VXM XNB +18D,1 REFSMMAT UNIT STORE XNB +18D,1 TIX,1 S52.2AS52.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 THE 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 STAR52LEM52 DLOAD AOPTIME STCALL TDEC1 LEMCONIC VLOAD RATT GOTO LMKLMCOMLMK52 BON DLOAD ADVTRK ADVTRACK AOPTIME CALL LALOTORV VLOAD ALPHAVLMKLMCOM STODL STAR AOPTIME STCALL TDEC1 CSMCONIC VLOAD VSU STAR RATT UNIT GOTO COM52STAR52 SSP LXA,1 S1 0 STARIND TIX,1 ST52ST VLOAD GOTO STARSAV2# Page 777 COM52ST52ST VLOAD STARSAV1COM52 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 SR52E1TRUN38 DLOAD DSU PAC 38TRDEG BPL DLOAD SR52E22 PAC DSU BPL 20DEGSMN SR52E3SR52E22 EXIT TC SR52E2SR52E3 EXIT INCR QMINSR52E2 INCR QMINSR52E1 CA QMIN TC SWCALL38TRDEG 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 BANKADVTRACK 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.3S52.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 BANKR56 STQ EXIT R53EXIT CAF V06N94B TC BANKCALL CADR GOFLASH TC GOTOPOOH # TERM. TC R56A # PROCEED: ANGLES OK TC -5 # ENTER: NEW ANGLESR56A 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 GOTOPOOH # 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 GOTOPOOH # TERM. TCF R56B # PROCEED: MARK COMPLETED TCF R56A +2 # RECYCLE: DO ANOTHER MARK -- LIKE REJECT.R56B TC BANKCALL CADR R53C1VB53 VN 05300 # ALTERNATE MARK VERBV06N94B VN 00694 SETLOC P50S BANK
PLANET STORE TSIGHT STQ CALL QMIN LOCSAM VLOAD# Page 783 VEARTH STOVL 0D VSUN STOVL VEARTH 0D STORE VSUNNOSAM 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 GOTOPOOH TC +2 TC -5 TC INTPRET VLOAD VXSC STARSAV3 1/SQR3 UNIT GOTO CORPLANNOTPLAN CS A AD DEC227 EXTEND BZMF CALSAM1 INDEX STARIND CA BESTI INDEX FIXLOC TS X1 TC INTPRET VLOAD* GOTO CATLOG,1 CORPLANCALSAM1 TC INTPRET LXC,1 DLOAD* STARIND BESTI,1 LXC,1 VLOAD* MPAC STARAD -228D,1CORPLAN VAD UNIT VEL/C GOTO# Page 784 QMINDEC227 DEC 227VNPLANV VN 06881/SQR3 2DEC .57735021