https://github.com/virtualagc/virtualagc
Raw File
Tip revision: d10bfaaf9cc06b7b75f73640f41dfaa3c2d3f895 authored by Ron Burkey on 27 August 2024, 21:50:25 UTC
Incremental progress on ASM101.
Tip revision: d10bfaa
P34.agc
### FILE="Main.annotation"
## Copyright:	Public domain.
## Filename:	P34.agc
## Purpose:	A section of Skylark revision 048.
##		It is part of the source code for the Apollo Guidance Computer (AGC)
##		for Skylab-2, Skylab-3, Skylab-4, and ASTP. No original listings of
##		this software are available; instead, this file was created via
##		disassembly of dumps of the core rope modules actually flown on
##		Skylab-2. Access to these modules was provided by the New Mexico
##		Museum of Space History.
## Assembler:	yaYUL
## Contact:	Ron Burkey <info@sandroid.org>.
## Website:	www.ibiblio.org/apollo/index.html
## Mod history:	2024-02-18 MAS  Created.
##		2024-03-05 MAS  Finished filling out.


## This log section is derived from Artemis's P32-P33, P72-P73.

# CONSTANT DELTA HEIGHT (CDH) PROGRAMS (P33 AND P73)
# MOD NO -1		LOG SECTION - P32-P35, P72-P75
# MOD BY WHITE.P	DATE  1 JUNE 67
#
# PURPOSE
#
#	(1) TO CALCULATE PARAMETERS ASSOCIATED WITH THE CONSTANT DELTA
#	    ALTITUDE MANEUVER (CDH).
#
#	(2) TO CALCULATE THESE PARAMETERS BASED UPON MANEUVER DATA
#	    APPROVED AND KEYED INTO THE DSKY BY THE ASTRONAUT.
#
#	(3) TO DISPLAY TO THE ASTRONAUT AND THE GROUND DEPENDENT VARIABLES
#	    ASSOCIATED WITH THE CDH MANEUVER FOR APPROVAL BY THE
#	    ASTRONAUT/GROUND.
#
#	(4) TO STORE THE CDH TARGET PARAMETERS FOR USE BY THE DESIRED
#	    THRUSTING PROGRAM.
#
# ASSUMPTIONS
#
#	(1) THIS PROGRAM IS BASED UPON PREVIOUS COMPLETION OF THE
#	    CO-ELLIPTIC SEQUENCE INITIATION (CSI) PROGRAM (P32/P72).
#	    THERFORE -
#
#		(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 CSI IGNITION AND CDH IGNITION WAS
#		    COMPUTED TO BE GREATER THAN 10 MINUTES.
#
#		(C) THE TIME BETWEEN CDH IGNITION AND TPI IGNITION WAS
#		    COMPUTED TO BE GREATER THAN 10 MINUTES.
#
#		(D) THE VARIATION OF THE ALTITUDE DIFFERENCE BETWEEN THE
#		    ORBITS WAS MINMIZED.
#
#		(E) CSI BURN WAS DEFINED SUCH THAT THE IMPULSIVE DELTA V WAS
#		    IN THE HORIZONTAL PLANE DEFINED BY ACTIVE VEHICLE
#		    POSITION AT CSI IGNITION.
#
#		(F) THE PERICENTER ALTITUDES OF THE ORBITS FOLLOWING CSI AND
#		    CDH WERE COMPUTED TO BE GREATER THAN 35,000 FT FOR LUNAR
#		    ORBIT OR 85 NM FOR EARTH ORBIT.
#
#		(G) 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 UPDATES BY P27 ARE DISALLOWED DURING AUTOMATIC
#	    STATE VECTOR UPDATING INITIATED BY P20 (SEE ASSUMPTION 4).
#
#	(3) COMPUTED VARIABLES MAY BE STORED FOR LATER VERIFICATION BY
#	    THE GROUND.  THESE STORAGE CAPABILITES ARE NORMALLY 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 VEGICLE 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
#		COMPLETED THE FINAL MANEUVER COMPUTATION AND DISPLAY
#		CYCLE.
#
#		EXTERNAL DELTA V STEERING FLAG - DESIGNATES THE TYPE OF
#		STEERING REQUIRED FOR EXECUTION OF THIS MANEUVER BY THE
#		THRUSTING PROGRAM SELECTED AFTER COMPLETION OF THIS
#		PROGRAM.
#
#	(7) IT IS NORMALLY REQUIRED THAT THE ISS BE ON FOR 1 HOUR PRIOR TO
#	    A THRUSTING MANEUVER.
#
#	(8) THIS PROGRAM IS SELECTED BY THE ASTRONAUT BY DSKY ENTRY -
#
#		P33 IF THIS VEHICLE IS ACTIVE VEHICLE.
#
#		P73 IF THIS VEHICLE IS PASSIVE VEHICLE.
#
# INPUT
#
#	(1) TTPI0	TIME OF THE TPI MANEUVER - SAVED FROM P32/P72
#	(2) ELEV	DESIRED LOS ANGLE AT TPI - SAVED FROM P32/P72
#	(3) TCDH	TIME OF THE CDH MANEUVER
#
# OUTPUT
#
#	(1) TRKMKCNT	NUMBER OF MARKS
#	(2) TTOGO	TIME TO GO
#	(3) +MGA	MIDDLE GIMBAL ANGLE
#	(4) DIFFALT	DELTA ALTITUDE AT CDH
#	(5) T2TOT3	DELTA TIME FROM CDH TO COMPUTED TPI
#	(6) NOMTPI	DELTA TIME FROM NOMINAL TPI TO COMPUTED TPI
#	(7) DELVLVC	DELTA VELOCITY AT CDH - LOCAL VERTICAL COORDINATES
#
# DOWNLINK
#
#	(1) TCDH	TIME OF THE CDH MANEUVER
#	(2) TTPI	TIME OF THE TPI MANEUVER
#	(3) TIG		TIME OF THE CDH MANEUVER
#	(4) DELVEET2	DELTA VELOCITY AT CDH - REFERENCE COORDINATES
#	(5) DIFFALT	DELTA ALTITUDE AT CDH
#	(6) ELEV	DESIRED LOS ANGLE AT TPI
#
# COMMUNICATION TO THRUSTING PROGRAMS
#
#	(1) TIG		TIME OF THE CDH MANEUVER
#	(2) RTIG	POSITION OF ACTIVE VEHICLE AT CDH - BEFORE ROTATION
#			INTO PLANE OF PASSIVE VEHICLE
#	(3) VTIG	VELOCITY OF ACTIVE VEHICLE AT CDH - BEFORE ROTATION
#			INTO PLANE OF PASSIVE VEHICLE
#	(4) DELVSIN	DELTA VELOCITY AT CDH - REFERENCE COORDINATES
#	(5) DELVSAB	MAGNITUDE OF DELTA VELOCITY AT CDH
#	(6) XDELVFLG	SET TO INDICATE EXTERNAL DELTA V VG COMPUTATION
#
# SUBROUTINES USED
#
#	P20FLGON
#	VNPOOH
#	ADVANCE
#	CDHMVR
#	INTINT3P
#	ACTIVE
#	PASSIVE
#	S33/34.1
#	ALARM
#	BANKCALL
#	GOFLASH
#	GOTOPOOH
#	S32/33.1
#	VN1645

		SETLOC	CSI/CDH1
		BANK
		EBANK=	SUBEXIT
		COUNT*	$$/P34
P34		TC	P20FLGON
		CAF	V06N13		# TCDH
		TC	VNFLASH
		TC	INTPRET
		DLOAD	CLEAR
			TTPI
			FINALFLG
		STODL	TTPI0
			TCDH
		STCALL	TIG
			VN1645
P33/P73B	DLOAD	CALL
			TIG
			ADVANCE
		CALL
			CDHMVR
		STORE	DELVEET1	# CDH DV TO USE DISDVLVC SUB FOR N81 DISP
		SETPD	VLOAD
			0D
			VACT3
		PDVL	CALL
			RACT2
			INTINT3P
		CALL
			ACTIVE
		SETPD	VLOAD
			0D
			VPASS2
		PDVL	CALL
			RPASS2
			INTINT3P
		CALL
			PASSIVE
		DLOAD	SET
			ZEROVECS
			ITSWICH
		STCALL	NOMTPI
			S33/34.1
		BZE	EXIT
			P33/P73C
		TC	ALARM
		OCT	611
		CAF	V05N09
		TC	BANKCALL
		CADR	GOFLASH
		TC	GOTOPOOH
		TC	+2
		TC	P34
		TC	INTPRET
		DLOAD
			ZEROVECS
		STORE	NOMTPI
P33/P73C	BON	SET
			FINALFLG
			P33/P73D
			UPDATFLG
P33/P73D	DLOAD	DAD
			NOMTPI
			TTPI
		STORE	TTPI
		DSU
			TCDH
P33/P73E	DSU	BPL
			60MIN
			P33/P73E
		DAD
			60MIN
		STCALL	T1TOT2
			P33/73F
		EXIT	

		CAF	V06N75
		TC	VNFLASH
		TC	INTPRET
SKIP75		CALL
			DISDVLVC	# PUT UP N81, COMPUTE DELVSIN
		CALL
			VN1645
		GOTO
			P33/P73B

60MIN		2DEC	360000 B-28


		SETLOC	FFTAG12
		BANK

		COUNT*	$$/P34
V06N11		VN	0611
V06N13		VN	0613
V06N75		VN	0675


# ..... DISDVLVC  .....
#
# SUBROUTINES USED
#
#	S32/33.X
#	VNPOOH

		SETLOC	CDHTAG3
		BANK

		COUNT*	$$/CSI
DISDVLVC	STQ	CALL
			NORMEX
			S32/33.X
		VLOAD	MXV
			DELVEET1
			0D
		VSL1
		STCALL	DELVLVC		# REF TO L V
			DISPN90
		CALL
			S32/33.X
		VLOAD	VXM
			DELVLVC
			0D
		VSL1
		STCALL	DELVSIN		# L V TO REF
			NORMEX

# ..... ADVANCE   .....
#
# SUBROUTINES USED
#	PRECSET
#	ROTATE

		SETLOC	CDHTAG3
		BANK

		COUNT*	$$/CDH
ADVANCE		STQ
			SUBEXIT
		STCALL	TDEC1
			PRECSET
		SET	VLOAD
			XDELVFLG
			VPASS3
		STOVL	VPASS2
			RPASS3
		STOVL	RPASS2
			RACT3
		STCALL	RTIG
			ROTATE
		STOVL	RACT2
			VACT3
		STCALL	VTIG
			ROTATE
		STCALL	VACT2
			SUBEXIT

# ..... ROTATE    .....

		SETLOC	CSIPROG6
		BANK

		COUNT*	$$/CSI
ROTATE		PUSH	PUSH
		DOT	VXSC
			UP1
			UP1
		VSL2	BVSU
		UNIT	PDVL
		ABVAL	VXSC
		VSL1	RVQ

# .... DISPN90 .....

		SETLOC CSIPROG
		BANK
		COUNT*	$$/CSI
DISPN90		STQ
			ANEXIT
		VLOAD	VCOMP
			AUTOY
		STODL	YCSM		# COMPLEMENT VALUES FOR N90 DISPLAYS.
			CMYDOT
		STORE	DELVLVC +2
		BOFF	ABS
			PCFLAG
			OKN81		# NOT IN P36
		DSU	BPL		# IS YDOT LESS THAN .1 FPS
			1/10FPS
			OKN81		# NO
		VLOAD			# YES - FORCE DSKY DISPLAY TO BE 0
			ZEROVEC
		STORE	DELVLVC
OKN81		EXIT

		CAF	V06N81
		TC	VNFLASH

		TC	INTPRET
		GOTO
			ANEXIT

1/10FPS		2DEC	.0003048 B-7	# .1 FPS

# ..... INTINTNA  .....

		SETLOC	CDHTAG2
		BANK

		COUNT*	$$/CDH
INTINT3P	PDDL	PDDL
			TCDH
			TTPI
		PDDL	PUSH
			TWOPI		# FOR CONIC INTEGRATION
		GOTO
			INTINT

# ..... S32/33.X  .....

		SETLOC	CDHTAGS
		BANK

		COUNT*	$$/CDH
S32/33.X	SETPD	VLOAD
			6D
			UP1
		VCOMP	PDVL
			RACT2
		UNIT	VCOMP
		PUSH	VXV
			UP1
		VSL1
		STORE	0D
		RVQ

		SETLOC	CDHTAG
		BANK

		COUNT*	$$/CDH

# The name of the following label is a guess.
P33/73F		DLOAD	DSU
			TTPI
			TTPI0
		PUSH
P33/P73F	ABS	DSU
			60MINH
		BPL	DAD
			P33/P73F
			60MINH
		SIGN	STADR
		STORE	T2TOT3
		RVQ


# ..... CDHMVR    .....
#
# SUBROUTINES USED
#	TIMETHET


CDHMVR		STQ	VLOAD
			SUBEXIT
			RACT2
		PUSH	UNIT
		STOVL	UNVEC		# UR SUB A
			RPASS2
		UNIT	DOT
			UNVEC
		PUSH	SL1
		STODL	CSTH
		DSQ	PDDL
			DP1/4TH
		SR2	DSU
		SQRT	SL1
		PDVL	VCOMP
		VXV
			RPASS2
		DOT	PDDL
			UP1
		SIGN	STADR
		STOVL	SNTH
			RPASS2
		STOVL	RVEC
			VPASS2
		CLEAR
			RVSW
		STCALL	VVEC
			TIMETHET
		STORE	18D
		DOT	SL1R
			UNVEC
		PDVL	ABVAL		# 0D = V SUB PV
		PDVL
			RACT2
		ABVAL	PDDL		# 2D = LENGTH OF R SUB A
		DSU
			02D
		STODL	DIFFALT		# DELTA H IN METERS		B+29
			R1A
		NORM	PDDL		# 2 - R V**/MU				04D
			X1
			R1
		SR1R	DDV
		SL*	PUSH
			0 -5,1
		DSU	PDDL		# A SUB A			B+29 	04D
			DIFFALT
		SR2	DDV		# A SUB P			B+31
			04D		#				B+2
		PUSH	SQRT		# A SUB P/A SUB A			06D
		DMPR	DMP
			06D
			00D
		SL3R	PDDL		# V SUB AV METERS/CS		B+7 	08D
			02D		# R SUB A MAGNITUDE		B+29
		NORM	PDDL
			X1
			RTMU
		SR1	DDV		# 2MU 				B+38
		SL*	PDDL		# 2 MU/R SUBAA			B+14 	10D
			0 -5,1
			04D		# ASUBA				B+29
		NORM	PDDL
			X2
			RTMU
		SR1	DDV
		SL*	BDSU
			0 -6,2		# 2U/R - U/A	 B+14  (METERS/CS)SQ
		PDDL	DSQ		#					10D
			08D
		BDSU	SQRT
		PDVL	VXV		# SQRT(MU(2/R SUB A-1/A SUB A)-VSUBA2)	10D
			UP1
			UNVEC
		UNIT	VXSC
			10D
		PDVL	VXSC
			UNVEC
			08D
		VAD	VSL1
		STADR
		STORE	VACT3
		VSU
			VACT2
		STCALL	DELVEET2	# DELTA VCDH - REFERENCE COORDINATES
			SUBEXIT

RTMU		2DEC*	3.986032 E10 B-36*
back to top