Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  P34-35_P74-75.agc   Sprache: Apollo

 

# Copyright: Public domain.
# Filename: P34-35_P74-75.agc
# Purpose:  Part of the source code for Luminary 1A build 099.
# It is part of the source code for the Lunar Module's (LM)
# Apollo Guidance Computer (AGC), for Apollo 11.
# Assembler: yaYUL
# Contact: Ron Burkey <info@sandroid.org>.
# Website: www.ibiblio.org/apollo.
# Pages: 658-702
# Mod history: 2009-05-19 RSB Adapted from the corresponding
# Luminary131 file, using page
# images from Luminary 1A.
# 2009-06-05 RSB Corrected a typo.
# 2011-01-06 JL Fixed pseudo-label indentation.
# 2011-01-06 JL Added missing comment characters.
# 2011-05-07 JL Removed workaround.

# This source code has been transcribed or otherwise adapted from
# digitized images of a hardcopy from the MIT Museum.  The digitization
# was performed by Paul Fjeld, and arranged for by Deborah Douglas of
# the Museum.  Many thanks to both.  The images (with suitable reduction
# in storage size and consequent reduction in image quality as well) are
# available online at www.ibiblio.org/apollo.  If for some reason you
# find that the images are illegible, contact me at info@sandroid.org
# about getting access to the (much) higher-quality images which Paul
# actually created.
#
# Notations on the hardcopy document read, in part:
#
# Assemble revision 001 of AGC program LMY99 by NASA 2021112-061
# 16:27 JULY 14, 1969

# Page 658
# TRANSFER PHASE INITITIATION (TPI) PROGRAMS (P34 AND P74)

# MOD NO -1 LOG SECTION -- P32-P35, P72-P75
# MOD BY WHITE, P. DATE: 1 JUNE 67
#
# PURPOSE
#
# (1) TO CALCULATE THE REQUIRED DELTA V AND OTHER INITIAL CONDITIONS
# REQUIRED BY THE ACTIVE VEHICLE FOR EXECUTION OF THE TRANSFER
# PHASE INITITATION (TPI) MANEUVER, GIVEN --

# (A) TIME OF IGNITION TIG (TPI) OR THE ELEVATION ANGLE (E) OF
# THE ACTIVE/PASSIVE VEHICLE LOS AT TIG (TPI).

# (B) CENTRAL ANGLE OF TRANSFER (CENTANG) FROM TIG (TPI) TO
# INTERCEPT TIME (TIG (TPF)).

# (2) TO CALCULATE TIG (TPI) GIVEN E OR E GIVEN TIG (TPI).

# (3) TO CALCULATE THESE PARAMETERS BASED UPON MANEUVER DATA
# APPROVED AND KEYED INTO THE DSKY BY THE ASTRONAUT.

# (4) TO DISPLAY TO THE ASTRONAUT AND THE GROUND CERTAIN DEPENDENT
# VARIABLES ASSOCIATED WITH THE MANEUVER FOR APPROVAL BY THE
# ASTRONAUT/GROUND.

# (5) TO STORE THE TPI TARGET PARAMETERS FOR USE BY THE DESIRED
# THRUSTING PROGRAM.
#
# ASSUMPTIONS

# (1) LM ONLY -- THIS PROGRAM IS BASED UPON PREVIOUS COMPLETION OF
# THE CONSTANT DELTA ALTITUDE (CDH) PROGRAM (P33/P73).
# THEREFORE --

# (A) AT A SELECTED TPI TIME (NOW IN STORAGE) THE LINE OF SIGHT
# BETWEEN THE ACTIVE AND PASSIVE VEHICLES WAS SELECTED TO BE
# A PRESCRIBED ANGLE (E) (NOW IN STORAGE) FROM THE
# HORIZONTAL PLANE DEFINED BY THE ACTIVE VEHICLE POSITION.

# (B) THE TIME BETWEEN CDH IGNITION AND TPI IGNITION WAS
# COMPUTED TO BE GREATER THAN 10 MINUTES.

# (C) THE VARIATION OF THE ALTITUDE DIFFERENCE BETWEEN THE
# ORBITS WAS MINIMIZED.

# (D) THE PERICENTER ALTITUDES OF ORBITS FOLLOWING CSI AND
# CDH WERE COMPUTED TO BE GREATER THAN 35,000 FT FOR LUNAR
# Page 659
# ORBIT OR 85 NM FOR EARTH ORBIT.

# (E) THE CSI AND CDH MANEUVERS WERE ASSUMED TO BE PARALLEL TO
# THE PLANE OF THE PASSIVE VEHICLE ORBIT.  HOWEVER, CREW
# MODIFICATION OF DELTA V (LV) COMPONENTS MAY HAVE RESULTED
# IN AN OUT-OF-PLANE MANEUVER.

# (2) STATE VECTOR UPDATED BY P27 ARE DISALLOWED DURING AUTOMATIC
# STATE VECTOR UPDATING INITIATED BY P20 (SEE ASSUMPTION (4)).

# (3) THIS PROGRAM MUST BE DONE OVER A TRACKING STATION FOR REAL
# TIME GROUND PARTICIPATION IN DATA INPUT AND OUTPUT.  COMPUTED
# VARIABLES MAY BE STORED FOR LATER VERIFICATION BY THE GROUND.
# THESE STORAGE CAPABILITIES ARE LIMITED ONLY TO THE PARAMETERS
# FOR ONE THRUSTING MANEUVER AT A TIME EXCEPT FOR CONCENTRIC
# FLIGHT PLAN MANEUVER SEQUENCES.

# (4) THE RENDEZVOUS RADAR MAY OR MAY NOT BE USED TO UPDATE THE LM
# OR CSM STATE VECTORS FOR THIS PROGRAM.  IF RADAR USE IS
# DESIRED THE RADAR WAS TURNED ON AND LOCKED ON THE CSM BY
# PREVIOUS SELECTION OF P20.  RADAR SIGHTING MARKS WILL BE MADE
# AUTOMATICALLY APPROXIMATELY ONCE A MINUTE WHEN ENABLED BY THE
# TRACK AND UPDATE FLAGS (SEE P20).  THE RENDEZVOUS TRACKING
# MARK COUNTER IS ZEROED BY THE SELECTION OF P20 AND AFTER EACH
# THRUSTING MANEUVER.

# (5) THE ISS NEED NOT BE ON TO COMPLETE THIS PROGRAM.

# (6) THE OPERATION OF THE PROGRAM UTILIZES THE FOLLOWING FLAGS --
#
# ACTIVE VEHICLE FLAG -- DESIGNATES THE VEHICLE WHICH IS
# DOING RENDEZVOUS THRUSTING MANEUVERS TO THE PROGRAM WHICH
# CALCULATES THE MANEUVER PARAMETERS.  SET AT THE START OF
# EACH RENDEZVOUS PRE-THRUSTING PROGRAM.
#
# FINAL FLAG -- SELECTS FINAL PROGRAM DISPLAYS AFTER CREW HAS
# SELECTED THE FINAL MANEUVER COMPUTATION CYCLE.
#
# EXTERNAL DELTA V FLAG -- DESIGNATES THE TYPE OF STEERING
# REQUIRED FOR EXECUTION OF THIS MANEUVER BY THE THRUSTING
# PROGRAM SELECTED AFTER COMPLETION OF THIS PROGRAM.
#
# (7) ONCE THE PARAMETERS REQUIRED FOR COMPUTATION OF THE MANEUVER
# HAVE BEEN COMPLETELY SPECIFIED, THE VALUE OF THE ACTIVE
# VEHICLE CENTRAL ANGLE OF TRANSFER IS COMPUTED AND STURED.
# THIS NUMBER WILL BE AVAILABLE FOR DISPLAY TO THE ASTRONAUT
# THROUGH THE USE OF V06N52.
#
# THE ASTRONAUT WILL CALL THIS DISPLAY TO VERIFY THAT THE
# CENTRAL ANGLE OF TRANSFER OF THE ACTIVE VEHICLE IS NOT WITHIN
# Page 660
# 170 TO 190 DEGREES.  IF THE ANGLE IS WITHIN THIS ZONE THE
# ASTRONAUT SHOULD REASSES THE INPUT TARGETING PARAMETERS BASED
# UPON DELTA V AND EXPECTED MANEUVER TIME.
#
# (8) THIS PROGRAM IS SELECTED BY THE ASTRONAUT BY DSKY ENTRY --
#
# P34 IF THIS VEHICLE IS ACTIVE VEHICLE.
#
# P74 IF THIS VEHICLE IS PASSIVE VEHICLE.
#
# INPUT
#
# (1) TTPI TIME OF THE TPI MANEUVER.
# (2) ELEV DESIRED LOS ANGLE AT TPI
# (3) CENTANG ORBITAL CENTRAL ANGLE OF THE PASSIVE VEHICLE DURING
# TRANSFER FROM TPI TO TIME OF INTERCEPT
#
# OUTPUT
#
# (1) TRKMKCNT NUMBER OF MARKS
# (2) TTOGO TIME TO GO
# (3) +MGA MIDDLE GIMBAL ANGLE
# (4) TTPI COMPUTED TIME OF TPI MANEUVER
#  OR
# ELEV COMPUTED LOS ANGLE AT TPI
# (5) POSTTPI PERIGEE ALTITUDE AFTER THE TPI MANEUVER
# (6) DELVTPI MAGNITUDE OF DELTA V AT TPI
# (7) DELVTPF MAGNITUDE OF DELTA V AT INTERCEPT
# (8) DVLOS DELTA VELOCITY AT TPI -- LINE OF SIGHT
# (9) DELVLVC DELTA VELOCITY AT TPI -- LOCAL VERTICAL COORDINATES
#
# DOWNLINK
#
# (1) TTPI TIME OF TPI MANEUVER
# (2) TIG TIME OF TPI MANEUVER
# (3) ELEV DESIRED LOS ANGLE AT TPI
# (4) CENTANG ORBITAL CENTRAL ANGLE OF THE PASSIVE VEHICLE DURING
# TRANSFER FROM TPI TO TIME OF INTERCEPT
# (5) DELVEET3 DELTA VELOCITY AT TPI -- REFERENCE COORDINATES
# (6) TPASS4 TIME OF INTERCEPT
#
# COMMUNICATION TO THRUSTING PROGRAMS
#
# (1) TIG TIME OF THE TPI MANEUVER
# (2) RTARG OFFSET TARGET POSITION
# (3) TPASS4 TIME OF INTERCEPT
# (4) XDELVFLG RESET TO INDICATE LAMBERT (AIMPOINT) VG COMPUTATION
#
# SUBROUTINES USED
#
# AVFLAGA
# Page 661
# AVFLAGP
# VNPOOH
# DISPLAYE
# SELECTMU
# PRECSET
# S33/34.1
# ALARM
# BANKCALL
# GOFLASH
# GOTOPOOH
# TIMETHET
# S34/35.2
# PERIAPO1
# SHIFTR1
# S34/35.5
# VN1645

  SETLOC CSI/CDH
  BANK
  EBANK= SUBEXIT
  COUNT* $$/P3474
P34  TC AVFLAGA
  TC P34/P74A
P74  TC AVFLAGP
P34/P74A TC P20FLGON # SET UPDATFLG, TRACKFLG
  CAF V06N37  # TTPI
  TC VNPOOH
  EXTEND
  DCA 130DEG
  DXCH CENTANG
  CAF P30ZERO
  TS NN
  TC DISPLAYE # ELEV AND CENTANG
  TC INTPRET
  CLEAR DLOAD
   ETPIFLAG
   TTPI
  STODL TIG
   ELEV
  BZE SET
   P34/P74B
   ETPIFLAG
P34/P74B CALL
   SELECTMU
DELELO  EQUALS 26D
P34/P74C DLOAD SET
   ZEROVECS
   ITSWICH
  BON CLEAR
   ETPIFLAG
# Page 662
   SWCHSET
   ITSWICH
SWCHSET  STORE NOMTPI
INTLOOP  DLOAD DAD
   TTPI
   NOMTPI
  STCALL TDEC1
   PRECSET
  CALL
   S33/34.1
  BZE EXIT
   SWCHCLR
  TC ALARM
  OCT 611
  CAF V05N09
  TC BANKCALL
  CADR GOFLASH
  TC GOTOPOOH
  TC P34/P74A # PROCEED
  TC -7  # V32

SWCHCLR  BONCLR BON
   ITSWICH
   INTLOOP
   ETPIFLAG
   P34/P74D # DISPLAY TTPI
  EXIT
  TC DISPLAYE # DISPLAY ELEV AND CENTANG
  TC P34/P74E
P34/P74D EXIT
  CAF V06N37  # TTPI
  TC VNPOOH
P34/P74E TC INTPRET
  SETPD DLOAD
   0D
   RTX1
  STODL X1
   CENTANG
  PUSH COS
  STODL CSTH
  SIN
  STOVL SNTH
   RPASS3
  VSR*
   0,2
  STOVL RVEC
   VPASS3
  VSR* SET
   0,2
   RVSW
# Page 663
  STCALL VVEC
   TIMETHET
  DLOAD
   TTPI
  STORE INTIME  # FOR INITVEL
  DAD
   T  # RENDEZVOUS TIME
  STCALL TPASS4  # FOR INITVEL
   S34/35.2
  VLOAD ABVAL
   DELVEET3
  STOVL DELVTPI
   VPASS4
  VSU ABVAL
   VTPRIME
  STOVL DELVTPF
   RACT3
  PDVL CALL
   VIPRIME
   PERIAPO1
  CALL
   SHIFTR1
  STODL POSTTPI
   TTPI
  STORE TIG
  EXIT
  CAF V06N58
  TC VNPOOH
  TC INTPRET
  CALL
   S34/35.5
  CALL
   VN1645
  GOTO
   P34/P74C
# Page 664
# RENDEZVOUS MID-COURSE MANEUVER PROGRAMS (P35 AND P75)

# MOD NO -1 LOG SECTION -- P32-P35, P72-P75
# MOD BY WHITE, P. DATE:  1 JUNE 67
#
# PURPOSE
#
# (1)  TO CALCULATE THE REQUIRED DELTA V AND OTHER INITIAL CONDITIONS
# REQUIRED BY THE ACTIVE VEHICLE FOR EXECUTION OF THE NEXT
# MID-COURSE CORRECTION OF THE TRANSFER PHASE OF AN ACTIVE
# VEHICLE RENDEZVOUS.
#
# (2) TO DISPLAY TO THE ASTRONAUT AND THE GROUND CERTAIN DEPENDENT
# VARIABLES ASSOCIATED WITH THE MANEUVER FOR APPROVAL BY THE
# ASTRONAUT/GROUND.
#
# (3) TO STORE THE TPM TARGET PARAMETERS FOR USE BY THE DESIRED
# THRUSTING PROGRAM.
#
# ASSUMPTIONS
#
# (1) THE ISS NEED NOT BE ON TO COMPLETE THIS PROGRAM.
#
# (2) STATE VECTOR UPDATES BY P27 ARE DISALLOWED DURING AUTOMATIC
# STATE VECTOR UPDATING INITIATED BY P20 (SEE ASSUMPTION (3)).
#
# (3) THE RENDEZVOUS RADAR IS ON AND IS LOCKED ON THE CSM.  THIS WAS
# DONE DURING PREVIOUS SELECTION OF P20.  RADAR SIGHTING MARKS
# WILL BE MADE AUTOMATICALLY APPROXIMATELY ONCE A MINUTE WHEN
# ENABLED BY THE TRACK AND UPDATE FLAGS (SEE P20).  THE
# RENDEZVOUS TRACKING MARK COUNTER IS ZEROED BY THE SELECTION OF
# P20 AND AFTER EACH THRUSTING MANEUVER.
#
# (4) THE OPERATION OF THE PROGRAM UTILIZES THE FOLLOWING FLAGS --
#
# THE ACTIVE VEHICLE FLAG -- DESIGNATES THE VEHICLE WHICH IS
# DOING RENDEZVOUS THRUSTING MANEUVERS TO THE PROGRAM WHICH
# CALCULATES THE MANEUVER PARAMETERS.  SET AT THE START OF
# EACH RENDEZVOUS PRE-THRUSTING PROGRAM.
#
# FINAL FLAG -- SELECTS FINAL PROGRAM DISPLAYS AFTER CREW HAS
# SELECTED THE FINAL MANEUVER COMPUTATION CYCLE.
#
# EXTERNAL DELTA V FLAG -- DESIGNATES THE TYPE OF STEERING
# REQUIRED FOR EXECUTION OF THIS MANEUVER BY THE THRUSTING
# PROGRAM SELECTED AFTER COMPLETION OF THIS PROGRAM.
#
# (5) THE TIME OF INTERCEPT (T(INT)) WAS DEFINED BY PREVIOUS
# COMPLETION OF THE TRANSFER PHASE INITIATION (TPI) PROGRAM
# (P34/P74) AND IS PRESENTLY AVAILABLE IN STORAGE.
#
# Page 665
# (6) ONCE THE PARAMETERS REQUIRED FOR COMPUTATION OF THE MANEUVER
# HAVE BEEN COMPLETELY SPECIFIED, THE VALUE OF THE ACTIVE
# VEHICLE CENTRAL ANGLE OF TRANSFER IS COMPUTED AND STORED.
# THIS NUMBER WILL BE AVAILABLE FOR DISPLAY TO THE ASTRONAUT
# THROUGH THE USE OF V06N52
#
# THE ASTRONAUT WILL CALL THIS DISPLAY TO VERIFY THAT THE
# CENTRAL ANGLE OF TRANSFER OF THE ACTIVE VEHICLE IS NOT WITHIN
# 170 TO 190 DEGREES.  IF THE ANGLE IS WITHIN THIS ZONE THE
# ASTRONAUT SHOULD REASSESS THE INPUT TARGETING PARAMETERS BASED
# UPON DELTA V AND EXPECTED MANEUVER TIME.
#
# (7) THIS PROGRAM IS SELECTED BY THE ASTRONAUT BY DSKY ENTRY --
#
# P35 IF THIS VEHICLE IS ACTIVE VEHICLE.
#
# P75 IF THIS VEHICLE IS PASSIVE VEHICLE.
#
# INPUT
#
# (1) TPASS4 TIME OF INTERCEPT -- SAVED FROM P34/P74
#
# OUTPUT
#
# (1) TRKMKCNT NUMBER OF MARKS
# (2) TTOGO TIME TO GO
# (3) +MGA MIDOLF GIMBAL ANGLE
# (4) DVLOS DELTA VELOCITY AT MID -- LINE OF SIGHT
# (5) DELVLVC DELTA VELOCITY AT MID -- LOCAL VERTICAL COORDINATES
#
# DOWNLINK
#
# (1) TIG TIME OF THE TPM MANEUVER
# (2) DELVEET3 DELTA VELOCITY AT TPM -- REFERENCE COORDINATES
# (3) TPASS4 TIME OF INTERCEPT
#
# COMMUNICATION TO THRUSTING PROGRAMS
#
# (1) TIG TIME OF THE TPM MANEUVER
# (2) RTARG OFFSET TARGET POSITION
# (3) TPASS4 TIME OF INTERCEPT
# (4) XDELVFLG RESET TO INDICATE LAMBERT (AIMPOINT) VG COMPUTATION.
#
# SUBROUTINES USED
#
# AVFLAGA
# AVFLAGP
# LOADTIME
# SELECTMU
# PRECSET
# S34/35.1
# S34/35.2
# Page 666
# S34/35.5
# VN1645

  COUNT* $$/P3575
  EBANK= KT

P35  TC AVFLAGA
  EXTEND
  DCA ATIGINC
  TC P35/P75A
P75  TC AVFLAGP
  EXTEND
  DCA PTIGINC
P35/P75A DXCH KT
  TC P20FLGON # SET UPDATFLG, TRACKFLG
  TC INTPRET
  CALL
   SELECTMU
P35/P75B RTB
   LOADTIME
  STORE TSTRT
  DAD
   KT
  STORE TIG
  STORE INTIME  # FOR INITVEL
  STCALL TDEC1
   PRECSET  # ADVANCE BOTH VEHICLES
  CALL
   S34/35.1 # GET NORM AND LOS FOR TRANSFORM
  CALL
   S34/35.2 # GET DELTA V(LV)
  CALL
   S34/35.5
  CALL
   VN1645
  GOTO
   P35/P75B
# Page 667
# ***** S33/34.1 *****

S33/34.1 STQ SSP
   NORMEX
   TITER
  OCT 40000
  DLOAD SETPD
   MAX250
   0D
  STOVL SECMAX
   RACT3
  STOVL RAPREC
   VACT3
  STOVL VAPREC
   RPASS3
  STOVL RPPREC
   VPASS3
  STORE VPPREC
ELCALC  CALL
   S34/35.1 # NORMAL AND LOS
  VXV PDVL
   RACT3  # (RA*VA)*RA 0D
  PDVL UNIT  # ULOS AT 6D
   RACT3
  PDVL VPROJ  # XCHNJ AND UP
  VSL2 BVSU
   ULOS
  UNIT PDVL  # UP AT 0D
  DOT PDVL  # UP.UN*RA AT 0D
   0D  # UP IN MPAC
  DOT SIGN
   ULOS
  SL1 ACOS
  PDVL DOT  # EA AT 0D
   ULOS
   RACT3
  BPL DLOAD
   TESTY
   DPPOSMAX
  DSU PUSH
TESTY  BOFF DLOAD
   ITSWICH
   ELEX
   DELEL
  STODL DELELO
  DSU
   ELEV
  STORE DELEL
  ABS DSU
   ELEPS
# Page 668
  BMN
   TIMEX  # COMMERCIALS EVERYWHERE
FIGTIME  SLOAD SR1
   TITER
  BHIZ LXA,1
   NORMEX  # TOO MANY ITERATIONS
   MPAC
  SXA,1 VLOAD
   TITER
   RPASS3
  UNIT PDDL
   36D
  PDVL UNIT
   RACT3
  PDDL
  PDDL PUSH
   36D
  BDSU
   12D
  STODL 30D  # RP - RA MAGNITUDES
   DPHALF
  DSU PUSH
   ELEV
  SIGN BMN
   30D
   NORMEX
  DLOAD COS
  DMP DDV
   14D
   12D
  DCOMP   # SINCE COS(180-A)=-COS A
  STORE 28D
  ABS BDSU
   DPHALF
  BMN VLOAD
   NORMEX
   UNRM
  VXV UNIT
   6D  # UN*RA
  DOT DMP
   VACT3
   12D
  PDVL VXV
   0D
   VPASS3
  VXV UNIT
   0D  # (RP*VP)*RP
  DOT DMP
   VPASS3
   14D
# Page 669
  BDSU
  NORM PDVL  # NORMALIZED WA - WP 12D
   X1
   6D
  VXV DOT
   0D
   UNRM  # RA*RP.UN 14D
  PDVL DOT
   0D
   6D
  SL1 ACOS
  SIGN
  DSU DAD  # ALPHA PI
   DPHALF
   ELEV
  PDDL ACOS
   28D
  BDSU SIGN
   DPHALF
   30D  # CONTAINS RP-RA
  DAD
  DMP DDV
   TWOPI
  DMP
  SL* DMP
   0  -3,1
  PUSH ABS
  DSU BMN
   SECMAX
   OKMAX
  DLOAD SIGN  # REPLACE TIME WITH MAX TIME SIGNED
   SECMAX
  PUSH
OKMAX  SLOAD BPL  # TEST FIRST ITERATION
   TITER
   REPETE
  SSP DLOAD
   TITER
  OCT 37777
  GOTO
   STORDELT
REPETE  DLOAD DMP
   DELEL
   DELELO
  BPL DLOAD
   NEXTES
   SECMAX
  DMP
   THIRD
  STODL SECMAX
# Page 670
  ABS SR1  # CROSSED OVER SOLUTION
  DCOMP GOTO  # DT=(-SIGN(DTO)//DT//)/2
   RESIGN
NEXTES  DLOAD ABS
   DELEL
  PDDL ABS
   DELELO
  DSU
  BMN DLOAD
   REVERS  # WRONG DIRECTION
  ABS
RESIGN  SIGN  GOTO
   DELTEEO
   STORDELT
REVERS  DLOAD DCOMP
   DELTEEO
  PUSH SR1
  STORE DELTEEO
  DAD
  GOTO
   ADTIME
STORDELT STORE DELTEEO
ADTIME  DAD
   NOMTPI  # SUM OF DELTA T'S
  STORE NOMTPI
  VLOAD PDVL
   VAPREC
   RAPREC
  CALL
   GOINT
  CALL
   ACTIVE  # STORE NEW RACT3 VACT3
  VLOAD PDVL
   VPPREC
   RPPREC
  CALL
   GOINT
  CALL
   PASSIVE  # STORE NEW RPASS3 VPASS3
  GOTO
   ELCALC
ELEX  DLOAD DAD
   TTPI
   NOMTPI
  STODL TTPI
  BON
   ETPIFLAG
   TIMEX
  STORE ELEV
TIMEX  DLOAD GOTO
# Page 671
   ZEROVECS
   NORMEX

# Page 672
# ***** S34/35.1 *****

# COMPUTE UNIT NORMAL AND LINE OF SIGHT VECTORS GIVEN THE ACTIVE AND
# PASSIVE POS AND VEL AT TIME T3

S34/35.1 VLOAD VSU
   RPASS3
   RACT3
  UNIT PUSH
  STOVL ULOS
   RACT3
  VXV UNIT
   VACT3
  STORE UNRM
  RVQ

# Page 673
# ***** S34/35.2 *****

# ADVANCE PASSIVE VEH TO RENDEZVOUS TIME AND GET REQ VEL FROM LAMBERT

S34/35.2  STQ VLOAD
   SUBEXIT
   VPASS3
  PDVL PDDL
   RPASS3
   INTIME
  PDDL PDDL
   TPASS4
   TWOPI  # CONIC
  PDDL BHIZ
   NN
   S3435.23
  DLOAD
  DLOAD PUSH
   ZEROVECS # PRECISION
S3435.23 CALL
   INTINT  # GET TARGET VECTOR
S3435.25 STOVL RTARG
   VATT
  STOVL VPASS4
   RTARG
# COMPUTE PHI = PI + (ACOS(UNIT RA.UNIT RP) - PI)SIGN(RA*RP.U)
  UNIT PDVL  # UNIT RP
   RACT3
  UNIT PUSH  # UNIT RA
  VXV DOT
   0D
   UNRM  # RA*RP.U
  PDVL
  DOT SL1  # UNIT RA.UNIT RP
   0D
  ACOS SIGN
  BPL DAD
   NOPIE
   DPPOSMAX # REASONABLE TWO PI
NOPIE  STODL ACTCENT
   TPASS4
  DSU
   INTIME
  STORE DELLT4
  SLOAD SETPD
   NN  # NUMBER OF OFFSETS
   0D
  PDDL PDVL
   EPSFOUR
   RACT3
  STOVL RINIT
# Page 674
   VACT3
  STCALL VINIT
   INITVEL
  CALL
   LOMAT
  VLOAD MXV
   DELVEET3
   0D
  VSL1
  STCALL DELVLVC
   SUBEXIT

# Page 675
# ***** S34/35.3 *****

S34/35.3 STQ CALL
   NORMEX
   LOMAT  # GET MATRIX IN PUSH LIST
  VLOAD VXM
   DELVLVC  # NEW DEL V TPI
   0D
  VSL1
  STORE DELVEET3 # SAVE FOR TRANSFORM
  VAD PDVL
   VACT3  # NEW V REQ
   RACT3
  PDDL PDDL
   TIG
   TPASS4
  PDDL PUSH
   DPPOSMAX
  CALL   # INTEG. FOR NEW TARGET VEC
   INTINT
  VLOAD
   RATT
  STORE RTARG
NOVRWRT  VLOAD PUSH
   ULOS
  VXV VCOMP
   UNRM
  UNIT PUSH
  VXV VSL1
   ULOS
  PDVL
  PDVL MXV
   DELVEET3
   0D
  VSL1
  STCALL DVLOS
   NORMEX

# Page 676
# ***** S34/35.4 *****

S34/35.4 STQ SETPD  # NO ASTRONAUT OVERWRITE
   NORMEX
   0D
  GOTO
   NOVRWRT

# Page 677
# ***** LOMAT *****

LOMAT  VLOAD VCOMP
   UNRM
  STOVL 6D  # Y
   RACT3
  UNIT VCOMP
  STORE 12D
  VXV VSL1
   UNRM  # Z*-Y
  STORE 0D
  SETPD RVQ
   18D
GOINT  PDDL PDDL  # DO
   ZEROVECS # NOT
   NOMTPI  #
  PUSH PUSH  # ORDER OR INSERT BEFORE INTINT
INTINT  STQ CALL
   RTRN
   INTSTALL
  CLEAR DLOAD
   INTYPFLG
  BZE SET
   +2
   INTYPFLG
  DLOAD STADR
  STODL TDEC1
  SET LXA,2
   MOONFLAG
   RTX2
  BON CLEAR
   CMOONFLG
   ALLSET
   MOONFLAG
ALLSET  STOVL TET
  VSR*
   0,2
  STOVL RCV
  VSR*
   0,2
  STCALL VCV
   INTEGRVS
  VLOAD GOTO
   RATT
   RTRN

# Page 678
# ***** S34/35.5 *****
# SUBROUTINES USED
# BANKCALL
# GOFLASH
# GOTOPOOH
# S34/35.3
# S34.35.4
# VNPOOH

S34/35.5 STQ BON
   SUBEXIT
   FINALFLG
   FLAGON
  SET GOTO
   UPDATFLG
   FLAGOFF
FLAGON  CLEAR VLOAD
   NTARGFLG
   DELVLVC
  STORE GDT/2
  EXIT
 +5  CAF V06N81
  TC BANKCALL
  CADR GOFLASH
  TC GOTOPOOH
  TC +2  # PRO
  TC FLAGON  +5 # LOAD
 +2  CA EBANK7
  TS EBANK  # TO BE SURE

  ZL
  CA FIVE
NTARGCHK TS Q
  INDEX Q
  CS DELVLVC
  INDEX Q
  AD GDT/2
  ADS L
  CCS Q
  TCF NTARGCHK
  LXCH A
  EXTEND
  BZF +3
  TC UPFLAG
  ADRES NTARGFLG

  TC INTPRET
  BOFF CALL
   NTARGFLG
# Page 679
   NOCHG
   S34/35.3
NOCHG  CLEAR VLOAD
   XDELVFLG
   DELVEET3
  STORE DELVSIN
FLAGOFF  CALL
   S34/35.4
  EXIT
  CAF V06N59
  TC VNPOOH
  TC INTPRET
  GOTO
   SUBEXIT

# Page 680
# ***** VN1645 *****
#
# SUBROUTINES USED
# P3XORP7X
# GET+MGA
# BANKCALL
# DELAYJOB
# COMPTGO
# GOFLASHR
# GOTOPOOH
# FLAGUP

VN1645  STQ DLOAD
   SUBEXIT
   DP-.01
  STORE +MGA  # MGA = -.01
  BOFF DLOAD
   FINALFLG
   GET45
   DP-.01
  DAD
   DP-.01
  STORE +MGA  # MGA = -.02
  BOFF EXIT
   REFSMFLG
   GET45
  TC P3XORP7X
  TC +2  # P3X
  TC GET45  +1 # P7X
  TC INTPRET
  VLOAD PUSH
   DELVSIN
  CALL   # COMPUTE MGA
   GET+MGA
GET45  EXIT
  TC COMPTGO  # INITIATE TASK TO UPDATE TTOGO
  CA SUBEXIT
  TS QSAVED
  CAF 1SEC
  TC BANKCALL
  CADR DELAYJOB
  CAF V16N45  # TRKMKCNT, TTOGO, +MGA
  TC BANKCALL
  CADR GOFLASH
  TC KILCLOCK # TERMINATE
  TC N45PROC  # PROCEED
  TC CLUPDATE # RECYCLE -- RETURN FOR INITIAL COMPUTATION
KILCLOCK CA Z
  TS DISPDEX
# Page 681
  TC GOTOPOOH
N45PROC  CS FLAGWRD2
  MASK BIT6
  EXTEND
  BZF KILCLOCK # FINALFLG IS SET -- FLASH V37 -- AWAIT NEW PGM
  TC PHASCHNG
  OCT 04024
  TC UPFLAG  # SET
  ADRES FINALFLG # FINALFLG
CLUPDATE CA Z
  TS DISPDEX
  TC PHASCHNG
  OCT 04024
  TC INTPRET
  CLEAR GOTO
   UPDATFLG
   QSAVED

# Page 682
# ***** DISPLAYE *****
#
# SUBROUTINES USED
# BANKCALL
# GOFLASHR
# GOTOPOOH
# BLANKET
# ENDOFJOB

DISPLAYE EXTEND
  QXCH NORMEX
  CAF V06N55
  TCR BANKCALL
  CADR GOFLASH
  TCF GOTOPOOH
  TC NORMEX
  TCF -5

# Page 683
# ***** P3XORP7X *****

P3XORP7X CAF HIGH9
  MASK MODREG
  EXTEND
  BZF +2
  INCR Q
  RETURN

# ***** VNPOOH *****
#
# SUBROUTINES USED
# BANKCALL
# GOFLASH
# GOTOPOOH

VNPOOH  EXTEND
  QXCH RTRN
  TS VERBNOUN
  CA VERBNOUN
  TCR BANKCALL
  CADR GOFLASH
  TCF GOTOPOOH
  TC RTRN
  TCF -5

# Page 684
# ***** CONSTANTS *****

V06N37  VN 0637
V06N55  VN 0655
V06N58  VN 0658
V06N59  VN 0659
V06N81  VN 0681
V16N45  VN 1645
TWOPI  2DEC 6.283185307 B-4

MAX250  2DEC 25 E3

THIRD  2DEC .333333333

ELEPS  2DEC .27777777 E-3

DP-.01  OCT 77777  # CONSTANTS
  OCT 61337  # ADJACENT -.01 FOR MGA DSP
EPSFOUR  2DEC .0416666666

130DEG  2DEC .3611111111

# Page 685
# ***** INITVEL *****

# MOD NO -1 LOG SECTION -- P34-P35, P74-P75
# MOD BY WHITE, P. DATE:  21 NOV 67
#
# FUNCTIONAL
#
# THIS SUBROUTINE COMPUTES THE REQUIRED INITIAL VELOCITY VECTOR FOR
# A TRAJECTORY OF SPECIFIC TRANSFER TIME BETWEEN SPECIFIED INITIAL
# AND TARGET POSITIONS.  THE TRAJECTORY MAY BE EITHER CONIC OR
# PRECISION DEPENDING ON AN INPUT PARAMETER (NAMELY, NUMBER OF
# OFFSETS).  IN ADDITION, IN THE PRECISION TRAJECTORY CASE, THE
# SUBROUTINE ALSO COMPUTES AN OFFSET TARGET VECTOR, TO BE USED
# DURING PURE-CONIC CROSS-PRODUCT STEERING.  THE OFFSET TARGET
# VECTOR IS THE TERMINAL POSITION VECTOR OF A CONIC TRAJECTORY WHICH
# HAS THE SAME INITIAL STATE AS A PRECISION TRAJECTORY WHOSE
# TERMINAL POSITION VECTOR IS THE SPECIFIED TARGET VECTOR.
#
# IN ORDER TO AVOID THE INHERENT SINGULARITIES IN THE 180 DEGREE
# TRANSFER CASE WHEN THE (TRUE OR OFFSET) TARGET VECTOR MAY BE
# SLIGHTLY OUT OF THE ORBITAL PLANE, THIS SUBROUTINE ROTATES THIS
# VECTOR INTO A PLANE DEFINED BY THE INPUT INITIAL POSITION VECTOR
# AND ANOTHER INPUT VECTOR (USUALLY THE INITIAL VELOCITY VECTOR),
# WHENEVER THE INPUT TARGET VECTOR LIES INSIDE A CONE WHOSE VERTEX
# IS THE ORIGIN OF COORDINATES, WHOSE AXIS IS THE 180 DEGREE
# TRANSFER DIRECTION, AND WHOSE CONE ANGLE IS SPECIFIED BY THE USER.
#
# THE LAMBERT SUBROUTINE IS UTILIZED FOR THE CONIC COMPUTATIONS AND
# THE COASTING INTEGRATION SUBROUTINE IS UTILIZED FOR THE PRECISION
# TRAJECTORY COMPUTATIONS.
#
# CALLING SEQUENCE
#
# L CALL
# L+1 INITVEL
# L+2 (RETURN -- ALWAYS)
#
# INPUT
#
# (1) RINIT INITIAL POSITION RADIUS VECTOR
# (2) VINIT INITIAL POSITION VELOCITY VECTOR
# (3) RTARG TARGET POSITION RADIUS VECTOR
# (4) DELLT4 DESIRED TIME OF FLIGHT FROM RINIT TO RTARG
# (5) INTIME TIME OF RINIT
# (6) 0D NUMBER OF ITERATIONS OF LAMBERT/INTEGRVS
# (7) 2D ANGLE TO 180 DEGREES WHEN ROTATION STARTS
# (8) RTX1 -2 FOR EARTH, -10D FOR LUNAR
# (9) RTX2 COORDINATE SYSTEM ORIGIN -- 0 FOR EARTH, 2 FOR LUNAR
# PUSHLOC SET AT 4D
#
# Page 686
# OUTPUT
#
# (1) RTARG OFFSET TARGET POSITION VECTOR
# (2) VIPRIME MANEUVER VELOCITY REQUIRED
# (3) VTPRIME VELOCITY AT TARGET AFTER MANEUVER
# (4) DELVEET3 DELTA VELOCITY REQUIRED FOR MANEUVER
#
# SUBROUTINES USED
#
# LAMBERT
# INTSTALL
# INTEGRVS

  SETLOC INTVEL
  BANK

  COUNT* $$/INITV
INITVEL  SET   # COGA GUESS NOT AVAILABLE
   GUESSW
HAVEGUES VLOAD STQ
   RTARG
   NORMEX
  STORE RTARG1
  ABVAL
  STORE RTMAG
  SLOAD BHIZ
   RTX2
   INITVEL1
  VLOAD VSL2
   RINIT  # B29
  STOVL RINIT  # B27
   VINIT  # B7
  VSL2
  STOVL VINIT  # B5
   RTARG1
  VSL2
  STORE RTARG1
  ABVAL
  STORE RTMAG

# INITIALIZATION

INITVEL1 SSP DLOAD  # SET ITCTR TO -1,LOAD MPAC WITH E4 (PL 2D)
   ITCTR
   0  -1
  COSINE SR1  # CALCULATE COSINE (E4) (+2)
  STODL COZY4  # SET COZY4 TO COSINE (E4)      (PL 0D)
  LXA,2 SXA,2
   MPAC
   VTARGTAG # SET VTARGTAG TO 0D (SP)
  VLOAD
# Page 687
   RINIT
  STOVL R1VEC  # R1VEC EQ RINIT
   RTARG1
  STODL R2VEC  # R2VEC EQ RTARG
   DELLT4
  STORE TDESIRED # TDESIRED EQ DELLT4
  SETPD VLOAD
   0D  # INITIALIZE PL TO 0D
   RINIT  # MPAC EQ RINIT (+29)
  UNIT PUSH  # UNIT(RI) (+1)             (PL 6D)
  VXV UNIT
   VINIT  # MPAC EQ UNIT(RI) X VI (+8)
  STOVL UN
   RTARG1
  UNIT DOT  # TEMP*RT.URI (+2)     (PL 0D)
  DAD CLEAR
   COZY4
   NORMSW
  STORE COZY4
INITVEL2 BPL SET
   INITVEL3 # UN CALCULATED IN LAMBERT
   NORMSW

# ROTATE RC INTO YC PLANE -- SET UNIT NORMAL TO YC

  VLOAD PUSH  #     (PL 6D)
   R2VEC  # RC TO 6D (+29)
  ABVAL PDVL  # RC TO MPAC, ABVAL(RC) (+29) TO OD (PL 2D)
  PUSH VPROJ  #     (PL 8D)
   UN
  VSL2 BVSU
  UNIT VXSC  #     (PL 0D)
  VSL1
  STORE R2VEC
  TLOAD SLOAD
   ZEROVEC
   ITCTR
  BPL VLOAD
   INITVEL3
   R2VEC
  STORE RTARG1
INITVEL3 DLOAD PDVL  #     (PL 2D)
   MUEARTH  # POSITIVE VALUE
   R2VEC
  UNIT PDVL  # 2D = UNIT(R2VEC)     (PL 8D)
   R1VEC
  UNIT PUSH  # 8D = UNIT(R1VEC)    (PL 14D)
  VXV VCOMP  # -N = UNIT(R2VEC) X UNIT(R1VEC)
   2D
  PUSH   #    (PL 20D)
  LXA,1 DLOAD
# Page 688
   RTX1
   18D
  BMN INCR,1
   +2
  DEC -8
  INCR,1 SLOAD
   10D
   X1
  BHIZ VLOAD  #    (PL 14D)
   +2
  VCOMP PUSH  #    (PL 20D)
  VLOAD   #    (PL 14D)
  VXV DOT  #     (PL 2D)
  BPL DLOAD  #     (PL 0D)
   INITVEL4
  DCOMP PUSH  #     (PL 2D)
INITVEL4 LXA,2 SXA,2
   0D
   GEOMSGN

# SET INPUTS UP FOR LAMBERT

  LXA,1 CALL
   RTX1

#  OPERATE THE LAMBERT CONIC ROUTINE (COASTFLT SUBROUTINE)

   SETITCTR # GO TO END OF BANK TO SET ITERCTR BEFORE
     # CALLING LAMBER (FOR REMANUFACTURE ONLY)

# ARRIVED AT SOLUTION IS GOOD ENOUGH ACCORDING TO SLIGHTLY WIDER BOUNDS.

  CLEAR VLOAD
   GUESSW
   VVEC

# STORE CALCULATED INITIAL VELOCITY REQUIRED IN VIPRIME

  STODL VIPRIME  # INITIAL VELOCITY REQUIRED (+7)

# IF NUMIT IS ZERO, CONTINUE AT INITVELB, OTHERWISE
# SET UP INPUTS FOR ENCKE INTEGRATION (INTEGRVS).

   VTARGTAG
  BHIZ CALL
   INITVEL7
   INTSTALL
  SLOAD CLEAR
   RTX2
   MOONFLAG
  BHIZ SET
   INITVEL5
# Page 689
   MOONFLAG
INITVEL5 VLOAD
   RINIT
  STORE R1VEC
  STOVL RCV
   VIPRIME
  STODL VCV
   INTIME
  STORE TET
  DAD CLEAR
   DELLT4
   INTYPFLG
  STCALL TDEC1
   INTEGRVS
  VLOAD
   VATT1
  STORE VTARGET

# IF ITERATION COUNTER (ITCTR) EQ NO. ITERATIONS (NUMIT), CONTINUE AT
# INITVELC, OTHERWISE REITERATE LAMBERT AND ENCKE

  LXA,2 INCR,2
   ITCTR
   1D  # INCREMENT ITCTR
  SXA,2 XSU,2
   ITCTR
   VTARGTAG
  SLOAD BHIZ  # IF SP(MPAC) EQ 0, CONTINUE AT INITVELC
   X2
   INITVEL6

# OFFSET CONIC TARGET VECTOR

  VLOAD VSU
   RTARG1
   RATT1
  VAD
   R2VEC
  STODL R2VEC
   COZY4
  GOTO
   INITVEL2 # CONTINUE ITERATING AT INITVEL2

# COMPUTE THE DELTA VELOCITY

INITVEL6 VLOAD
   R2VEC
  STORE RTARG1
INITVEL7 VLOAD VSU
   VIPRIME
   VINIT
  STOVL DELVEET3 # DELVEET3 = VIPRIME-VINIT (+7)
# Page 690
   VTARGET
  STORE VTPRIME
  SLOAD BHIZ
   RTX2
   INITVELX
  VLOAD VSR2
   VTPRIME
  STOVL VTPRIME
   VIPRIME
  VSR2
  STOVL VIPRIME
   RTARG1
  VSR2
  STOVL RTARG1
   DELVEET3
  VSR2
  STORE DELVEET3
INITVELX LXA,1 DLOAD*
   RTX1
   MUTABLE -2,1
  PUSH DMP
   R1A
  SR1 DDV
   R1
  STODL MU/A
  SR
   6
  STORE MUASTEER
  SETPD VLOAD
   0D
   RTARG1
  STCALL RTARG
   NORMEX

# ***** END OF INITVEL ROUTINE *****

# Page 691
# ***** MIDGIM *****

# MOD NO. 0, BY WILLMAN, SUBROUTINE RENDGUID, LOG P34-P35, P74-P75
# REVISION 03, 17 FEB 67
#
# IF THE ACTIVE VEHICLE IS DOING THE COMPUTATION, MIDGIM COMPUTES
# THE POSITIVE MIDDLE GIMBAL ANGLE OF THE ACTIVE VEHICLE TO THE INPUT
# DELTA VELOCITY VECTOR (0D IN PUSH LIST), OTHERWISE
# MIDGIM CONVERTS THE INPUT DELTA VELOCITY VECTOR FROM INERTIAL COORDIN-
# ATES TO LOCAL VERTICAL COORDINATES OF THE ACTIVE VEHICLE.
#
# ** INPUTS **
#
# NAME MEANING UNITS/SCALING/MODE
#
# AVFLAG INT FLAG -- 0 IS CSM ACTIVE, 1 IS LEM ACTIVE BIT
# RINIT ACTIVE VEHICLE RADIUS VECTOR METERS/CSEC (+7) VT
# VINIT ACTIVE VEHICLE VELOCITY VECTOR METERS/CSEC (+7) VT
# 0D(PL) ACTIVE VEHICLE DELTA VELOCITY VECTOR METERS/CSEC (+7) VT
#
# ** OUTPUTS **
#
#    NAME MEANING UNITS/SCALING/MODE
#
#    +MGA + MIDDLE GIMBAL ANGLE REVOLUTIONS (+0) DP
#    DELVLVC DELTA VELOCITY VECTOR IN LV COORD. METERS/CSEC (+7) VT
#    MGLVFLAG INT FLAG: 0 IS +MGA COMPUTED, 1 IS DELVLVC COMP. BIT
#
# ** CALLING SEQUENCE **
#
# L  CALL
# L+1 MIDGIM
# L+2 (RETURN -- ALWAYS)
#
# ** NO SUBROUTINES CALLED **
#
# ** DEBRIS -- ERASABLE TEMPORARY USAGE **
#
# A,Q,L, PUSH LIST, MPAC.
#
# ** ALARMS -- NONE **

# Page 692
# MIDDLE GIMBAL ANGLE COMPUTATION.

  SETLOC MIDDGIM
  BANK

  COUNT* $$/MIDG

HALFREV  2DEC 1 B-1

GET+MGA  VLOAD UNIT  # (PL 0D) V (+7) TO MPAC UNITIZE UV (+1)
  UNIT
  DOT SL1  # DOT UV WITH Y(STABLE MEMBER) AND RESCALE
   REFSMMAT +6 # FROM +2 TO +1 FOR ASIN ROUTINE
  ARCSIN BPL
   SETMGA
  DAD DAD  # CONVERT -MGA TO +MGA BY
   HALFREV  # ADDING ONE REVOLUTION
   HALFREV
SETMGA  STORE +MGA
  CLR RVQ  # CLEAR MGLVFLAG TO INDICATE +MGA CALC
   MGLVFLAG # AND EXIT
GET.LVC  VLOAD UNIT  # (PL 6D) R (+29) IN MPAC UNITIZE UR
   RINIT
  VCOMP   # U(-R)
  STORE 18D  # U(-R) TO 18D
  VXV UNIT  # U(-R)*V EQ V*U(R), U(V*R)
   VINIT
  STORE 12D  # U(V*R) TO 12D
  VXV UNIT  # U(V*R)*U(-R), U((V*R)*(-R))
   18D
  STOVL 6D  # TRANSFORMATION MATRIX IS IN 6D (+1)
   0D  # DELTA V (+7) IN 0D
  MXV VSL1  # CONVERT FROM INER COOR TO LV COOR (+8)
   6D  # AND SCALE +7 IN MPAC
  STORE DELVLVC  # STORE IN DELVLVC (+7)
  SET RVQ  # SET MGLVFLAG TO INDICATE LVC CALC
   MGLVFLAG # AND EXIT

# ***** END OF MIDGIM ROUTINE *****

# Page 693
  BANK 10
  SETLOC SLCTMU
  BANK
  COUNT* $$/MIDG

SELECTMU AXC,1 AXT,2
   2D
   0D
  BOFF
   CMOONFLG
   SETMUER
  AXC,1 AXT,2
   10D
   2D
SETMUER  DLOAD* SXA,1
   MUTABLE +4,1
   RTX1
  STODL* RTSR1/MU
   MUTABLE -2,1
  BOFF SR
   CMOONFLG
   RTRNMU
   6D
RTRNMU  STORE RTMU
  SXA,2 CLEAR
   RTX2
   FINALFLG
  GOTO
   VN1645

# Page 694
# ***** PERIAPO *****
#
# MOD NO -1 LOG SECTION -- P34-P35, P74-P75
# MOD BY WHITE, P. DATE 18 JAN 68
#
# FUNCTIONAL DESCRIPTION
#
# THIS SUBROUTINE COMPUTES THE TWO BODY APOCENTER AND PERICENTER
# ALTITUDES GIVEN THE POSITION AND VELOCITY VECTORS FOR A POINT ON
# TRAJECTORY AND THE PRIMARY BODY.
#
# SETRAD IS CALLED TO DETERMINE THE RADIUS OF THE PRIMARY BODY.
#
# APSIDES IS CALLED TO SOVE FOR THE TWO BODY RADII OF APOCENTER AND
# PERICENTER AND THE ECCENTRICITY OF THE TRAJECTORY.
#
# CALLING SEQUENCE
#
# L CALL
# L+1 PERIAPO
# L+2 (RETURN -- ALWAYS)
#
# INPUT
#
# (1) RVEC POSITION VECTOR IN METERS
# SCALE FACTOR -- EARTH +29, MOON +27
# (2) VVEC VELOCITY VECTOR IN METERS/CENTISECOND
# SCALE FACTOR -- EARTH +7, MOON +5
# (3) X1 PRIMARY BODY INDICATOR
# EARTH -1, MOON -10
#
# OUTPUT
#
# (1) 2D APOCENTER RADIUS IN METERS
# SCALE FACTOR -- EARTH +29, MOON +27
# (2) 4D APOCENTER ALTITUDE IN METERS
# SCALE FACTOR -- EARTH +29, MOON +27
# (3) 6D PERICENTER RADIUS IN METERS
# SCALE FACTOR -- EARTH +29, MOON +27
# (4) 8D PERICENTER ALTITUDE IN METERS
# SCALE FACTOR -- EARTH +29, MOON +27
# (5) ECC ECCENTRICITY OF CONIC TRAJECTORY
# SCALE FACTOR -- +3
# (6) XXXALT RADIUS OF THE PRIMARY BODY IN METERS
# SCALE FACTOR -- EARTH +29, MOON +27
# (7) PUSHLOC EQUALS 10D
#
# SUBROUTINES USED
#
# SETRAD
# Page 695
# APSIDES

  SETLOC APOPERI
  BANK

  COUNT* $$/PERAP

RPAD  2DEC 6373338 B-29 # STANDARD RADIUS OF PAD 37-B.
     # = 20 909 901.57 FT

PERIAPO1 LXA,2 VSR*
   RTX2
   0,2
  STOVL VVEC
  LXA,1 VSR*
   RTX1
   0,2
  STORE RVEC
PERIAPO  STQ CALL
   NORMEX
   SETRAD
  STCALL XXXALT
   APSIDES
  SETPD PUSH  # 2D = APOCENTER RADIUS B29 OR B27
   2D
  DSU PDDL  # 4D = APOGEE ALTITUDE  B29 OR B27
   XXXALT
   0D
  PUSH DSU  # 6D = PERICENTER RADIUS B29 OR B27
   XXXALT
  PUSH GOTO  # 8D = PERIGEE ALTITUDE  B29 OR B27
   NORMEX

# Page 696
SETRAD  DLOAD PUSH
   RPAD
  SXA,1 INCR,2
   X2
   2D
  SLOAD BHIZ
   X2
   SETRADX
  VLOAD ABVAL
   RLS
  PDDL
SETRADX  DLOAD RVQ

# Page 697
PRECSET  STQ
   NORMEX
  STCALL TDEC2
   LEMPREC
  CALL
   LEMSTORE
  DLOAD
   TDEC2
  STCALL TDEC1
   CSMPREC
  CALL
   CSMSTORE
  GOTO
   NORMEX
LEMSTORE VLOAD BOFF
   RATT
   AVFLAG
   PASSIVE
ACTIVE  STOVL RACT3
   VATT
  STORE VACT3
  RVQ
CSMSTORE VLOAD BOFF
   RATT
   AVFLAG
   ACTIVE
PASSIVE  STOVL RPASS3
   VATT
  STORE VPASS3
  RVQ

# Page 698
VECSHIFT LXA,2 VSR*
   RTX2
   0,2
  LXA,1 PDVL
   RTX1
  VSR* PDVL
   0,2
  RVQ

# Page 699
SHIFTR1  LXA,2 SL*
   RTX2
   0,2
  RVQ

# Page 700
# PROGRAM DESCRIPTION
# SUBROUTINE NAME R36 OUT-OF-PLANE RENDEZVOUS ROUTINE
# MOD NO. 0 DATE  22 DECEMBER 67
# MOD BY N.M.NEVILLE LOG SECTION EXTENDED VERBS
# FUNCTIONAL DESCRIPTION
#
# TO DISPLAY AT ASTRONAUT REQUEST LGC CALCULATED RENDEZVOUS
# OUT-OF-PLANE PARAMETERS (Y, YDOT, PSI).  (REQUESTED BY DSKY).
#
# CALLING SEQUENCE
#
# ASTRONAUT REQUEST THROUGH DSKY V 90 E
#
# SUBROUTINES CALLED
#
# EXDSPRET
# GOMARKF
# CSMPREC
# LEMPREC
# SGNAGREE
# LOADTIME
#
# NORMAL EXIT MODES
#
# ASTRONAUT REQUEST THROUGH DSKY TO TERMINATE PROGRAM V 34 E
#
# ALARM OR ABORT EXIT MODES
#
# NONE
#
# OUTPUT
#
# DECIMAL DISPLAY OF TIME, Y, YDOT AND PSI
#
# DISPLAYED VALUES Y, YDOT, AND PSI, ARE STORED IN ERASABLE
# REGISTERS RANGE, RRATE, AND RTHETA RESPECTIVELY.
#
# ERASABLE INITIALIZATION REQUIRED
#
# CSM AND LEM STATE VECTORS
#
# DEBRIS
#
# CENTRALS A,Q,L
# OTHER:  THOSE USED BY THE ABOVE LISTED SUBROUTINES

  BANK 20
  SETLOC R36LM
  BANK
# Page 701
  EBANK= RPASS36

  COUNT* $$/R36

R36  ZL
  CAF ZERO  # SET TIME OF EVENT TO ZERO FOR FIRST
  DXCH DSPTEMX  # DISPLAY
  CAF V06N16N
  TC BANKCALL
  CADR GOMARKF
  TCF ENDEXT  # TERMINATE
  TCF +2  # PROCEED
  TCF -5  # RECYCLE FOR ASTRONAUT INPUT TIME
  DXCH DSPTEMX
  EXTEND
  BZF LREGCHK  # A-REG ZERO GOTO CHECK L-REG FOR ZERO
ASTROTIM DXCH MPAC  # A-REG NON-ZERO, TIME = ASTRO INPUT TIME
  TC INTPRET
  RTB
   DPMODE
R36INT  STCALL TDEC1
   OTHPREC
  VLOAD PDVL
   VATT
   RATT  # _
  STORE RPASS36  # R
  UNIT PDVL  #  P
  VXV UNIT
  STADR   # _
  STODL UNP36  # U
   TAT
  STCALL TDEC1
   THISPREC
  VLOAD PDVL  #   -
   VATT  # VELOCITY VECTOR V 00D
   RATT  #     A
  PDDL
   TAT  # SAVE TIME IN LOCATION 30D FOR REDISPLAY
  STOVL 30D  #   _
  PUSH PUSH  # POSITION VECTOR R  IN 06D AND 12D
  BVSU PDVL  #    A   _   _
   RPASS36  # LINE OF SIGHT VECTOR R - R   12D
  DOT SL1  # P   A
   UNP36  #     _   _
  STOVL RANGE  # Y = U . R
   00D  #          A
  DOT SL1
   UNP36  # .   _   _
  STOVL RRATE  # Y = U . V
   06D  #          A
# Page 702
     # _           _
  UNIT PUSH  # U  = UNIT ( R  ) 18D
  VXV VXV  #  RA          A
   00D  #  _    _     _     _
   18D  # (U  X V ) X U   = U
  VSL2 UNIT  #   RA   A     RA    A
  UNIT
  STOVL 00D  # UNIT HORIZONTAL IN FORWARD DIR. 00D
   18D
  DOT VXSC  # _
   12D  # U
  VSL2   #  L
  BVSU UNIT
  UNIT
  PUSH DOT  # LOS PROJECTED INTO HORIZONTAL  12D
   00D  # PLANE
  SL1 ARCCOS  #              _   _
  STOVL RTHETA  # PSI = ARCCOS(U . U )
  VXV DOT  #               A   L
   00D
  BPL DLOAD
   R36TAG2
   LODPMAX
  DSU
   RTHETA
  STORE RTHETA
R36TAG2  DLOAD RTB
   30D
   SGNAGREE
  STORE DSPTEMX
  EXIT
  CAF V06N90N  # DISPLAY Y, YDOT, AND PSI.
  TC BANKCALL
  CADR GOMARKF
  TCF ENDEXT  # TERMINATE
  TCF ENDEXT  # PROCEED, END OF PROGRAM
  TCF R36 +3 # REDISPLAY OUTPUT
LREGCHK  XCH L
  EXTEND
  BZF ENTTIM2  # L-REG ZERO, SET TIME = PRESENT TIME
  XCH L  # L-REG NON ZERO, TIME = ASTRO INPUT TIME
  TCF ASTROTIM
ENTTIM2  TC INTPRET
  RTB GOTO
   LOADTIME
   R36INT
V06N16N  VN 00616
V06N90N  VN 00690

Messung V0.5 in Prozent
C=56 H=100 G=80

¤ Dauer der Verarbeitung: 0.23 Sekunden  (vorverarbeitet am  2026-10-12) ¤

*© Formatika GbR, Deutschland






Wurzel

Ziele

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Ergonomie der
Schnittstellen

Diese beiden folgenden Angebotsgruppen bietet das Unternehmen

Angebot

Hier finden Sie eine Liste der Produkte des Unternehmens






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Statistik
#Sources=1128594
#Domains=1976912