Apollo-11/Luminary099/STABLE_ORBIT.agc

437 lines
9.0 KiB
Plaintext
Raw Normal View History

# Copyright: Public domain.
# Filename: STABLE_ORBIT.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: 723-730
2016-12-28 16:11:25 +00:00
# Mod history: 2009-05-19 RSB Adapted from the corresponding
# Colossus249 file (there being no corresponding
2016-12-28 16:11:25 +00:00
# Luminary131 source-code file), using page
# images from Luminary 1A.
# 2009-06-07 RSB Eliminated an extraneous instruction.
# 2011-01-06 JL Fixed pseudo-label indentation.
#
# 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
2016-12-28 16:11:25 +00:00
# 16:27 JULY 14, 1969
# Page 723
# STABLE ORBIT RENDEZVOUS PROGRAMS (P38 AND P78)
#
# MOD NO -1 LOG SECTION - STABLE ORBIT - P38-P39
# MOD BY RUDNICKI.S DATE 25JAN68
#
# FUNCTIONAL DESCRIPTION
#
# P38 AND P78 CALCULATE THE REQUIRED DELTA V AND OTHER INITIAL
# CONDITIONS REQUIRED BY THE AGC TO (1) PUT THE ACTIVE VEHICLE
# ON A TRANSFER TRAJECTORY THAT INTERCEPTS THE PASSIVE VEHICLE
# ORBIT A GIVEN DISTANCE, DELTA R, EITHER AHEAD OF OR BEHIND THE
# PASSIVE VEHICLE AND (2) ACTUALLY PLACE THE ACTIVE VEHICLE IN THE
# PASSIVE VEHICLE ORBIT WITH A DELTA R SEPARATION BETWEEN THE TWO
# VEHICLES
#
# CALLING SEQUENCE
#
# ASTRONAUT REQUEST THRU DSKY
#
# V37E38E IF THIS VEHICLE IS ACTIVE VEHICLE
# V37E78E IF OTHER VEHICLE IS ACTIVE VEHICLE
#
# INPUT
#
# (1) SOI MANEUVER
#
# (A) TIG TIME OF SOI MANEUVER
# (B) CENTANG ORBITAL CENTRAL ANGLE OF THE PASSIVE VEHICLE
# DURING THE TRANSFER FROM TIG TO TIME OF INTERCEPT
# (C) DELTAR THE DESIRED SEPARATION OF THE TWO VEHICLES
# SPECIFIED AS A DISTANCE ALONG THE PASSIVE VEHICLE
# ORBIT
# (D) OPTION EQUALS 1 FOR SOI
#
# (2) SOR MANEUVER
#
# (A) TIG TIME OF SOR MANEUVER
# (B) CENTANG AN OPTIONAL RESPECIFICATION OF 1 (B) ABOVE
# (C) OPTION EQUALS 2 FOR SOR
# (D) DELTTIME THE TIME REQUIRED TO TRAVERSE DELTA R WHEN
# TRAVELING AT A VELOCITY EQUAL TO THE HORIZONTAL
# VELOCITY OF THE PASSIVE VEHICLE - SAVED FROM
# SOI PHASE
# (E) TINT TIME OF INTERCEPT (SOI) - SAVED FROM SOI PHASE
#
# OUTPUT
#
# (1) TRKMKCNT NUMBER OF MARKS
# (2) TTOGO TIME TO GO
# (3) +MGA MIDDLE GIMBAL ANGLE
# Page 724
# (4) DSPTEM1 TIME OF INTERCEPT OF PASSIVE VEHICLE ORBIT
# (FOR SOI ONLY)
# (5) POSTTPI PERIGEE ALTITUDE OF ACTIVE VEHICLE ORBIT AFTER
# THE SOI (SOR) MANEUVER
# (6) DELVTPI MAGNITUDE OF DELTA V AT SOI (SOR) TIME
# (7) DELVTPF MAGNITUDE OF DELTA V AT INTERCEPT TIME
# (8) DELVLVC DELTA VELOCITY AT SOI (AND SOR) - LOCAL VERTICAL
# COORDINATES
#
# SUBROUTINE USED
#
# AVFLAGA
# AVFLAGP
# VNDSPLY
# BANKCALL
# GOFLASHR
# GOTOPOOH
# BLANKET
# ENDOFJOB
# PREC/TT
# SELECTMU
# INTRPVP
# MAINRTNE
BANK 04
SETLOC STBLEORB
BANK
2016-12-28 16:11:25 +00:00
EBANK= SUBEXIT
COUNT* $$/P3879
2016-12-28 16:11:25 +00:00
P38 TC BANKCALL
CADR AVFLAGA # THIS VEHICLE ACTIVE
TC +3
P78 TC BANKCALL
CADR AVFLAGP # OTHER VEHICLE ACTIVE
TC BANKCALL
CADR P20FLGON # SET UPDATFLG, TRACKFLG
CAF DECTWO
TS NN
CAF V06N33SR # DISPLAY TIG
TC VNDSPLY
CAF V06N55SR # DISPLAY CENTANG
TCR BANKCALL
CADR GOFLASHR
TCF GOTOPOOH # TERMINATE
TCF +5 # PROCEED
TCF -5 # RECYCLE
CAF THREE # IMMEDIATE RETURN - BLANK R1, R2
TCR BLANKET
2016-12-28 16:11:25 +00:00
# Page 725
TCF ENDOFJOB
CAF FIVE
TS OPTION1
CAF ONE
TS OPTION2 # OPTION CODE IS SET TO 1
CAF V04N06SR # DISPLAY OPTION CODE - 1 = SOI, 2 = SOR
TCR BANKCALL
CADR GOFLASHR
TCF GOTOPOOH # TERMINATE
TCF +5 # PROCEED
TCF -5 # RECYCLE
CAF BIT3 # IMMEDIATE RETURN - BLANK R3
TCR BLANKET
TCF ENDOFJOB
TC INTPRET
SLOAD SR1
OPTION2
BHIZ DLOAD
OPTN1
TINT
STORE TINTSOI # STORE FOR SOR PHASE
CLRGO
OPTNSW # OPTNSW: ON = SOI, OFF = SOR
JUNCTN1
OPTN1 SET CLEAR # SOI
OPTNSW
UPDATFLG
CALL
PREC/TT
DAD SET
TIG
UPDATFLG
STORE TINT # TI = TIG + TF
EXIT
CAF V06N57SR # DISPLAY DELTA R
TCR BANKCALL
CADR GOFLASHR
TCF GOTOPOOH # TERMINATE
TCF +5 # PROCEED
TCF -5 # RECYCLE
CAF SIX # IMMEDIATE RETURN - BLANK R2, R3
TCR BLANKET
TCF ENDOFJOB
+5 EXTEND
DCA TINT
DXCH DSPTEM1 # FOR DISPLAY
CAF V06N34SR # DISPLAY TIME OF INTERCEPT
TC VNDSPLY
TC INTPRET
JUNCTN1 CLEAR CALL
# Page 726
P39/79SW
SELECTMU # SELECT MU, CLEAR FINALFLG, GO TO VN1645
RECYCLE CALL
PREC/TT
BOFF DLOAD
OPTNSW
OPTN2
TINT
STCALL TDEC1 # PRECISION UPDATE PASSIVE VEHICLE TO
INTRPVP # INTERCEPT TIME
VLOAD UNIT
RATT # RP/(RP)
PDVL VXV
VATT
ABVAL NORM # (VP X RP/(RP))
X1
PDDL DDV
DELTAR
SL* # DELTA R / (VP X RP/RP)
0 -7,1
STCALL DELTTIME # DELTA T = (RP) DELTA R / (VP X RP)
JUNCTN2
OPTN2 DLOAD DAD
TINTSOI
T
STORE TINT # TI = TI + TF
JUNCTN2 DLOAD DSU
TINT
DELTTIME
STORE TARGTIME # TT = TI - DELTA T
2016-12-28 16:11:25 +00:00
# .... MAINRTNE ....
# SUBROUTINES USED:
#
# S3435.25
# PERIAPO1
# SHIFTR1
# VNDSPLY
# BANKCALL
# GOFLASH
# GOTOPOOH
# VN1645
MAINRTNE STCALL TDEC1 # PRECISION UPDATE PASSIVE VEHICLE TO
INTRPVP # TARGET TIME
DLOAD
TIG
STORE INTIME
SSP VLOAD
SUBEXIT
TEST3979
2016-12-28 16:11:25 +00:00
# Page 727
RATT
CALL
S3435.25
TEST3979 BOFF BON
P39/79SW
MAINRTN1
FINALFLG
P39P79
SET
UPDATFLG
P39P79 EXIT
TC DSPLY81 # FOR P39 AND P79
MAINRTN1 VLOAD ABVAL
DELVEET3
STOVL DELVTPI # DELTA V
VPASS4
VSU ABVAL
VTPRIME
STOVL DELVTPF # DELTA V (FINAL) = V'T - VT
RACT3
PDVL CALL
VIPRIME
PERIAPO1 # GET PERIGEE ALTITUDE
CALL
SHIFTR1
STORE POSTTPI
BON SET
FINALFLG
DSPLY58
UPDATFLG
DSPLY58 EXIT
CAF V06N58SR # DISPLAY HP, DELTA V, DELTA V (FINAL)
TC VNDSPLY
DSPLY81 CAF V06N81SR # DISPLAY DELTA V (LV)
TC VNDSPLY
TC INTPRET
CLEAR VLOAD
XDELVFLG
DELVEET3
STCALL DELVSIN
VN1645 # DISPLAY TRKMKCNT, TTOGO, +MGA
BON GOTO
P39/79SW
P39/P79B
RECYCLE
2016-12-28 16:11:25 +00:00
# STABLE ORBIT MIDCOURSE PROGRAM (P39 AND P79)
#
# MOD NO -1 LOG SECTION - STABLE ORBIT - P38-P39
# MOD BY RUDNICKI.S DATE 25JAN68
#
# Page 728
# FUNCTIONAL DESCRIPTION
#
# P39 AND P79 CALCULATE THE REQUIRED DELTA V AND OTHER INITIAL
# CONDITIONS REQUIRED BY THE AGC TO MAKE A MIDCOURSE CORRECTION
# MANEUVER AFTER COMPLETING THE SOI MANEUVER BUT BEFORE MAKING
# THE SOR MANEUVER.
#
# CALLING SEQUENCE
#
# ASTRONAUT REQUEST THRU DSKY
#
# V37E39E IF THIS VEHICLE IS ACTIVE VEHICLE
# V37E79E IF OTHER VEHICLE IS ACTIVE VEHICLE
#
# INPUT
#
# (1) TPASS4 TIME OF INTERCEPT - SAVED FROM P38/P78
# (2) TARGTIME TIME THAT PASSIVE VEHICLE IS AT INTERCEPT POINT -
# SAVED FROM P38/P78
#
# OUTPUT
#
# (1) TRKMKCNT NUMBER OF MARKS.
# (2) TTOGO TIME TO GO
# (3) +MGA MIDDLE GIMBAL ANGLE
# (4) DELVLVC DELTA VELOCITY AT MID - LOCAL VERTICAL COORDINATES
#
# SUBROUTINES USED
#
# AVFLAGA
# AVFLAGP
# LOADTIME
# SELECTMU
# PRECSET
# S34/35.1
# MAINRTNE
P39 TC BANKCALL
CADR AVFLAGA # THIS VEHICLE ACTIVE
EXTEND
DCA ATIGINC
TC P39/P79A
P79 TC BANKCALL
CADR AVFLAGP # OTHER VEHICLE ACTIVE
EXTEND
DCA PTIGINC
P39/P79A DXCH KT # TIME TO PREPARE FOR BURN
TC BANKCALL
CADR P20FLGON # SET UPDATFLG, TRACKFLG
TC INTPRET
2016-12-28 16:11:25 +00:00
# Page 729
SET CALL
P39/79SW
SELECTMU # SELECT MU, CLEAR FINALFLG, GO TO VN1645
P39/P79B RTB DAD
LOADTIME
KT
STORE TIG # TIG = T (PRESENT) + PREPARATION TIME
STCALL TDEC1 # PRECISION UPDATE ACTIVE AND PASSIVE
PRECSET # VEHICLES TO TIG
CALL
S34/35.1 # GET UNIT NORMAL
DLOAD GOTO
TARGTIME
MAINRTNE # CALCULATE DELTA V AND DELTA V (LV)
2016-12-28 16:11:25 +00:00
# .... PREC/TT ....
# SUBROUTINES USED
#
# PRECSET
# TIMETHET
# S34/35.1
PREC/TT STQ DLOAD
RTRN
TIG
STCALL TDEC1 # PRECISION UPDATE ACTIVE AND PASSIVE
PRECSET # VEHICLES TO TIG
VLOAD VSR*
RPASS3
0,2
STODL RVEC
CENTANG
PUSH COS
STODL CSTH
SIN SET
RVSW
STOVL SNTH
VPASS3
VSR*
0,2
STCALL VVEC # GET TRANSFER TIME BASED ON CENTANG OF
TIMETHET # PASSIVE VEHICLE
CALL
S34/35.1 # GET UNIT NORMAL
DLOAD GOTO
T
RTRN
2016-12-28 16:11:25 +00:00
# .... INTRPVP ....
# SUBROUTINES USED
#
# CSMPREC
# Page 730
# LEMPREC
INTRPVP STQ BOFF # PRECISION UPDATE PASSIVE VEHICLE TO
RTRN # TDEC1
AVFLAG
OTHERV
CALL
CSMPREC
GOTO
RTRN
OTHERV CALL
LEMPREC
GOTO
RTRN
2016-12-28 16:11:25 +00:00
# .... VNDSPLY ....
# SUBROUTINES USED
#
# BANKCALL
# GOFLASH
# GOTOPOOH
VNDSPLY EXTEND # FLASH DISPLAY
QXCH RTRN
TS VERBNOUN
CA VERBNOUN
TCR BANKCALL
CADR GOFLASH
TCF GOTOPOOH # TERMINATE
TC RTRN # PROCEED
TCF -5 # RECYCLE
V06N33SR VN 0633
V06N55SR VN 0655
V04N06SR VN 0406
V06N57SR VN 0657
V06N34SR VN 0634
V06N58SR VN 0658
V06N81SR VN 0681
DECTWO OCT 2
# *** END OF KISSING .050 ***