Apollo-11/Comanche055/STABLE_ORBIT.agc

429 lines
9.0 KiB
Plaintext
Raw Normal View History

2016-07-07 08:47:26 +00:00
# Copyright: Public domain.
# Filename: STABLE_ORBIT.agc
# Purpose: Part of the source code for Colossus 2A, AKA Comanche 055.
# It is part of the source code for the Command Module's (CM)
# Apollo Guidance Computer (AGC), for Apollo 11.
# Assembler: yaYUL
# Contact: Hartmuth Gutsche <hgutsche@xplornet.com>.
# Website: www.ibiblio.org/apollo.
# Pages: 525-532
# Mod history: 2009-05-10 HG Started adapting from the Colossus249/ file
# of the same name, using Comanche055 page
# images 0525.jpg - 0532.jpg.
#
# 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 055 of AGC program Comanche by NASA
# 2021113-051. 10:28 APR. 1, 1969
#
# This AGC program shall also be referred to as
# Colossus 2A
# Page 525
# 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 526
# (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) DELTA VELOCITY AT SOI (AND SOR) - LOCAL VERTICAL
2016-07-08 10:45:31 +00:00
# COORDINATES
2016-07-07 08:47:26 +00:00
#
# SUBROUTINES USED
#
# AVFLAGA
# AVFLAGP
# VNDSPLY
# BANKCALL
# GOFLASHR
# GOTOP00H
# BLANKET
# ENDOFJOB
# PREC/TT
# SELECTMU
# INTRPVP
# MAINRTNE
BANK 04
SETLOC STBLEORB
BANK
EBANK= SUBEXIT
COUNT* $$/P3879
P38 TC AVFLAGA # THIS VEHICLE ACTIVE
TC +2
P78 TC AVFLAGP # OTHER VEHICLE ACTIVE
TC P20FLGON # SET UPDATFLG, TRACKFLG
CAF V06N33SR # DISPLAY TIG
TC VNDSPLY
CAF V06N55SR # DISPLAY CENTANG
TCR BANKCALL
CADR GOFLASHR
TCF GOTOP00H # TERMINATE
TCF +5 # PROCEED
TCF -5 # RECYCLE
CAF THREE # IMMEDIATE RETURN -- BLANK R1, R2
TCR BLANKET
TCF ENDOFJOB
CAF FIVE
TS OPTION1
CAF ONE
TS OPTION2 # OPTION CODE IS SET TO 1
# Page 527
CAF V04N06SR # DISPLAY OPTION CODE -1 = SOI, 2 = SOR
TCR BANKCALL
CADR GOFLASHR
TCF GOTOP00H # TERMINATE
TCF +5 # PROCEED
TCF -5 # RECYCLE
CAF BIT3 # IMMEDIATE RETURN -- BLANK R3
TCR BLANKET
TCF ENDOFJOB
TC INTPRET
SSP
NN
2
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
SET DAD
UPDATFLG
TIG
STORE TINT # TI = TIG + TF
STORE DSPTEM1 # FOR DISPLAY
EXIT
CAF V06N57SR # DISPLAY DELTA R
TCR BANKCALL
CADR GOFLASHR
TCF GOTOP00H # TERMINATE
TCF +5 # PROCEED
TCF -5 # RECYCLE
CAF SIX # IMMEDIATE RETURN - BLANK R2, R3
TCR BLANKET
TCF ENDOFJOB
CAF V06N34SR # DISPLAY TIME OF INTERCEPT
TC VNDSPLY
TC INTPRET
JUNCTN1 CLEAR CALL
P39/79SW
SELECTMU # SELECT MU, CLEAR FINALFLG, GO TO VN1645
RECYCLE CALL
PREC/TT
# Page 528
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
# .... MAINRTNE ....
#
# SUBROUTINES USED
#
# S3435.25
# PERIAPO1
# SHIFTR1
# VNDSPLY
# BANKCALL
# GOFLASH
# GOTOP00H
# VN1645
MAINRTNE STCALL TDEC1 # PRECISION UPDATE PASSIVE VEHICLE TO
INTRPVP # TARGET TIME
DLOAD
TIG
STORE INTIME
SSP VLOAD
SUBEXIT
TEST3979
RATT
CALL
S3435.25
TEST3979 BOFF BON
# Page 529
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
# STABLE ORBIT MIDCOURSE PROGRAM (P39 AND P79)
#
# MOD NO -1 LOG SECTION - STABLE ORBIT - P38-P39
# MOD BY RUDNICKI, S DATE 25JAN68
#
# FUNCTIONAL DESCRIPTION
#
# P39 AND P79 CALCULATE THE REQUIRED DELTA V AND OTHER INITIAL
# CONDITIONS REQUIRED BY THE AGC TO MAKE A MIDCOURSE CORRECTION
# Page 530
# 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 AVFLAGA # THIS VEHICLE ACTIVE
EXTEND
DCA ATIGINC
TC P39/P79A
P79 TC AVFLAGP # OTHER VEHICLE ACTIVE
EXTEND
DCA PTIGINC
P39/P79A DXCH KT # TIME TO PREPARE FOR BURN
TC P20FLGON # SET UPDATFLG, TRACKFLG
TC INTPRET
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
# Page531
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)
# .... 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
# .... INTRPVP ....
#
# SUBROUTINES USED
#
# CSMPREC
# LEMPREC
INTRPVP STQ BOFF # PRECISION UPDATE PASSIVE VEHICLE TO
RTRN # TDEC1
AVFLAG
OTHERV
CALL
# Page 532
CSMPREC
GOTO
RTRN
OTHERV CALL
LEMPREC
GOTO
RTRN
# .... VNDSPLY ....
#
# SUBROUTINES USED
#
# BANKCALL
# GOFLASH
# GOTOP00H
VNDSPLY EXTEND # FLASH DISPLAY
QXCH RTRN
TS VERBNOUN
CA VERBNOUN
TCR BANKCALL
CADR GOFLASH
TCF GOTOP00H # 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
# *** END OF COMEKISS.020 ***