missing Luminary099 files retrieved from virtualagc at https://github.com/rburkey2005/virtualagc/tree/master/Luminary099
This commit is contained in:
		
							
								
								
									
										251
									
								
								Luminary099/ALARM_AND_ABORT.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										251
									
								
								Luminary099/ALARM_AND_ABORT.agc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,251 @@ | |||||||
|  | # Copyright:	Public domain. | ||||||
|  | # Filename:	ALARM_AND_ABORT.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:	1381-1385 | ||||||
|  | # Mod history:  2009-05-10 SN   (Sergio Navarro).  Started adapting | ||||||
|  | #				from the Luminary131/ file of the same | ||||||
|  | #				name, using Luminary099 page images. | ||||||
|  | #		2009-06-05 RSB	Fixed a type. | ||||||
|  | #		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-61 | ||||||
|  | #	16:27 JULY 14, 1969  | ||||||
|  |  | ||||||
|  | # Page 1381 | ||||||
|  | # THE FOLLOWING SUBROUTINE MAY BE CALLED TO DISPLAY A NON-ABORTIVE ALARM CONDITION.  IT MAY BE CALLED | ||||||
|  | # EITHER IN INTERRUPT OR UNDER EXECUTIVE CONTROL. | ||||||
|  | # | ||||||
|  | # CALLING SEQUENCE IS AS FOLLOWS: | ||||||
|  | #		TC	ALARM | ||||||
|  | #		OCT	AAANN		# ALARM NO. NN IN GENERAL AREA AAA. | ||||||
|  | #					# (RETURNS HERE) | ||||||
|  |  | ||||||
|  | 		BLOCK	02 | ||||||
|  | 		SETLOC	FFTAG7 | ||||||
|  | 		BANK | ||||||
|  |  | ||||||
|  | 		EBANK=	FAILREG | ||||||
|  |  | ||||||
|  | 		COUNT*	$$/ALARM | ||||||
|  |  | ||||||
|  | # ALARM TURNS ON THE PROGRAM ALARM LIGHT, BUT DOES NOT DISPLAY. | ||||||
|  |  | ||||||
|  | ALARM		INHINT | ||||||
|  |  | ||||||
|  | 		CA	Q | ||||||
|  | ALARM2		TS	ALMCADR | ||||||
|  | 		INDEX	Q | ||||||
|  | 		CA	0 | ||||||
|  | BORTENT		TS	L | ||||||
|  |  | ||||||
|  | PRIOENT		CA	BBANK | ||||||
|  |  +1		EXTEND | ||||||
|  | 		ROR	SUPERBNK	# ADD SUPER BITS. | ||||||
|  | 		TS	ALMCADR +1 | ||||||
|  |  | ||||||
|  | LARMENT		CA	Q		# STORE RETURN FOR ALARM | ||||||
|  | 		TS	ITEMP1 | ||||||
|  |  | ||||||
|  | CHKFAIL1	CCS	FAILREG		# IS ANYTHING IN FAILREG | ||||||
|  | 		TCF	CHKFAIL2	# YES TRY NEXT REG | ||||||
|  | 		LXCH	FAILREG | ||||||
|  | 		TCF	PROGLARM	# TURN ALARM LIGHT ON FOR FIRST ALARM | ||||||
|  |  | ||||||
|  | CHKFAIL2	CCS	FAILREG +1 | ||||||
|  | 		TCF	FAIL3 | ||||||
|  | 		LXCH	FAILREG +1 | ||||||
|  | 		TCF	MULTEXIT | ||||||
|  |  | ||||||
|  | FAIL3		CA	FAILREG +2 | ||||||
|  | 		MASK	POSMAX | ||||||
|  | 		CCS	A | ||||||
|  | 		TCF	MULTFAIL | ||||||
|  | 		LXCH	FAILREG +2 | ||||||
|  | 		TCF	MULTEXIT | ||||||
|  |  | ||||||
|  | # Page 1382 | ||||||
|  |  | ||||||
|  | PROGLARM	CS	DSPTAB +11D | ||||||
|  | 		MASK	OCT40400 | ||||||
|  | 		ADS	DSPTAB +11D | ||||||
|  |  | ||||||
|  |  | ||||||
|  | MULTEXIT	XCH	ITEMP1		# OBTAIN RETURN ADDRESS IN A | ||||||
|  | 		RELINT | ||||||
|  | 		INDEX	A | ||||||
|  | 		TC	1 | ||||||
|  |  | ||||||
|  | MULTFAIL	CA	L | ||||||
|  | 		AD	BIT15 | ||||||
|  | 		TS	FAILREG +2 | ||||||
|  |  | ||||||
|  | 		TCF	MULTEXIT | ||||||
|  |  | ||||||
|  | # PRIOLARM DISPLAYS V05N09 VIA PRIODSPR WITH 3 RETURNS TO THE USER FROM THE ASTRONAUT AT CALL LOC +1,+2,+3 AND | ||||||
|  | # AN IMMEDIATE RETURN TO THE USER AT CALL LOC +4.  EXAMPLE FOLLOWS, | ||||||
|  | #		CAF	OCTXX		# ALARM CODE | ||||||
|  | #		TC	BANKCALL | ||||||
|  | #		CADR	PRIOLARM | ||||||
|  | #		...	... | ||||||
|  | #		...	... | ||||||
|  | #		...	...		# ASTRONAUT RETURN | ||||||
|  | #		TC	PHASCHNG	# IMMEDIATE RETURN TO USER.  RESTART | ||||||
|  | #		OCT	X.1		# PHASE CHANGE FOR PRIO DISPLAY | ||||||
|  |  | ||||||
|  | 		BANK	10 | ||||||
|  | 		SETLOC	DISPLAYS | ||||||
|  | 		BANK | ||||||
|  |  | ||||||
|  | 		COUNT*	$$/DSPLA | ||||||
|  | PRIOLARM	INHINT			# * * * KEEP IN DISPLAY ROUTINES BANK | ||||||
|  | 		TS	L		# SAVE ALARM CODE | ||||||
|  |  | ||||||
|  | 		CA	BUF2		# 2 CADR OF PRIOLARM USER | ||||||
|  | 		TS	ALMCADR | ||||||
|  | 		CA	BUF2 +1 | ||||||
|  | 		TC	PRIOENT +1	# * LEAVE L ALONE | ||||||
|  | -2SEC		DEC	-200		# *** DONT MOVE | ||||||
|  | 		CAF	V05N09 | ||||||
|  | 		TCF	PRIODSPR | ||||||
|  |  | ||||||
|  | 		BLOCK	02 | ||||||
|  | 		SETLOC	FFTAG7 | ||||||
|  | 		BANK | ||||||
|  |  | ||||||
|  | 		COUNT*	$$/ALARM | ||||||
|  | BAILOUT		INHINT | ||||||
|  | 		CA	Q | ||||||
|  | # Page 1383 | ||||||
|  | 		TS	ALMCADR | ||||||
|  |  | ||||||
|  | 		INDEX	Q | ||||||
|  | 		CAF	0 | ||||||
|  | 		TC	BORTENT | ||||||
|  | OCT40400	OCT	40400 | ||||||
|  |  | ||||||
|  | 		INHINT | ||||||
|  | WHIMPER		CA	TWO | ||||||
|  | 		AD	Z | ||||||
|  | 		TS	BRUPT | ||||||
|  | 		RESUME | ||||||
|  | 		TC	POSTJUMP	# RESUME SENDS CONTROL HERE | ||||||
|  | 		CADR	ENEMA | ||||||
|  | P00DOO		INHINT | ||||||
|  | 		CA	Q | ||||||
|  | ABORT2		TS	ALMCADR | ||||||
|  | 		INDEX	Q | ||||||
|  | 		CAF	0 | ||||||
|  | 		TC	BORTENT | ||||||
|  | OCT77770	OCT	77770		# DON'T MOVE | ||||||
|  |  | ||||||
|  | 		CAF	OCT35		# 4.35SPOT FOR GOP00DOO | ||||||
|  | 		TS	L | ||||||
|  | 		COM | ||||||
|  | 		DXCH	-PHASE4 | ||||||
|  | GOP00DOO	INHINT | ||||||
|  | 		TC	BANKCALL	# RESET STATEFLG, REINTFLG, AND NODOFLAG. | ||||||
|  | 		CADR	FLAGS | ||||||
|  | 		CA	FLAGWRD7	# IS SERVICER CURRENTLY IN OPERATION? | ||||||
|  | 		MASK	V37FLBIT | ||||||
|  | 		CCS	A | ||||||
|  | 		TCF	STRTIDLE | ||||||
|  | 		TC	BANKCALL	# TERMINATE GRPS 1, 3, 5, AND 6 | ||||||
|  | 		CADR	V37KLEAN | ||||||
|  | 		TC	BANKCALL	# TERMINATE GRPS 2, 4, 1, 3, 5, AND 6 | ||||||
|  | 		CADR	MR.KLEAN	#	(I.E., GRP 4 LAST) | ||||||
|  | 		TCF	WHIMPER | ||||||
|  | STRTIDLE	CAF	BBSERVDL | ||||||
|  | 		TC	SUPERSW | ||||||
|  | 		TC	BANKCALL	# PUT SERVICER INTO ITS "GROUND" STATE | ||||||
|  | 		CADR	SERVIDLE	# AND PROCED TO GOTOP00H. | ||||||
|  | CCSHOLE		INHINT | ||||||
|  | 		CA	Q | ||||||
|  | 		TC	ABORT2 | ||||||
|  | OCT21103	OCT	1103 | ||||||
|  | CURTAINS	INHINT | ||||||
|  | 		CA	Q | ||||||
|  | 		TC	ALARM2 | ||||||
|  | OCT217		OCT	00217 | ||||||
|  | # Page 1384 | ||||||
|  | 		TC	ALMCADR		# RETURN TO USER | ||||||
|  |  | ||||||
|  | BAILOUT1	INHINT | ||||||
|  | 		DXCH	ALMCADR | ||||||
|  | 		CAF	ADR40400 | ||||||
|  | BOTHABRT	TS	ITEMP1 | ||||||
|  | 		INDEX	Q | ||||||
|  | 		CAF	0 | ||||||
|  | 		TS	L | ||||||
|  | 		TCF	CHKFAIL1 | ||||||
|  | P00DOO1		INHINT | ||||||
|  | 		DXCH	ALMCADR | ||||||
|  | 		CAF	ADR77770 | ||||||
|  | 		TCF	BOTHABRT | ||||||
|  |  | ||||||
|  | ALARM1		INHINT | ||||||
|  | 		DXCH	ALMCADR | ||||||
|  | ALMNCADR	INHINT | ||||||
|  | 		INDEX	Q | ||||||
|  | 		CA	0 | ||||||
|  | 		TS	L | ||||||
|  | 		TCF	LARMENT | ||||||
|  |  | ||||||
|  | ADR77770	TCF	OCT77770 | ||||||
|  | ADR40400	TCF	OCT40400 | ||||||
|  | DOALARM		EQUALS	ENDOFJOB | ||||||
|  | 		EBANK=	DVCNTR | ||||||
|  | BBSERVDL	BBCON	SERVIDLE | ||||||
|  |  | ||||||
|  | # CALLING SEQUENCE FOR VARALARM | ||||||
|  | #		CAF	(ALARM) | ||||||
|  | #		TC	VARALARM | ||||||
|  | # | ||||||
|  | # VARALARM TURNS ON PROGRAM ALARM LIGHT BUT DOES NOT DISPLAY | ||||||
|  |  | ||||||
|  | VARALARM	INHINT | ||||||
|  |  | ||||||
|  | 		TS	L		# SAVE USER'S ALARM CODE | ||||||
|  |  | ||||||
|  | 		CA	Q		# SAVE USERS Q | ||||||
|  | 		TS	ALMCADR | ||||||
|  |  | ||||||
|  | 		TC	PRIOENT | ||||||
|  | OCT14		OCT	14		# DONT MOVE | ||||||
|  |  | ||||||
|  | 		TC	ALMCADR		# RETURN TO USER | ||||||
|  |  | ||||||
|  | ABORT		EQUALS	WHIMPER | ||||||
|  | 		BANK	13 | ||||||
|  | 		SETLOC	ABTFLGS | ||||||
|  | 		BANK | ||||||
|  | # Page 1385 | ||||||
|  | 		COUNT*	$$/ALARM | ||||||
|  |  | ||||||
|  | FLAGS		CS	STATEBIT | ||||||
|  | 		MASK	FLAGWRD3 | ||||||
|  | 		TS	FLAGWRD3 | ||||||
|  | 		CS	REINTBIT | ||||||
|  | 		MASK	FLGWRD10 | ||||||
|  | 		TS	FLGWRD10 | ||||||
|  | 		CS	NODOBIT | ||||||
|  | 		MASK	FLAGWRD2 | ||||||
|  | 		TS	FLAGWRD2 | ||||||
|  | 		TC	Q | ||||||
|  | 		 | ||||||
							
								
								
									
										1069
									
								
								Luminary099/ASSEMBLY_AND_OPERATION_INFORMATION.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1069
									
								
								Luminary099/ASSEMBLY_AND_OPERATION_INFORMATION.agc
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1864
									
								
								Luminary099/CONIC_SUBROUTINES.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1864
									
								
								Luminary099/CONIC_SUBROUTINES.agc
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										42
									
								
								Luminary099/CONTRACT_AND_APPROVALS.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								Luminary099/CONTRACT_AND_APPROVALS.agc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,42 @@ | |||||||
|  | # Copyright:	Public domain. | ||||||
|  | # Filename:	CONTRACT_AND_APPROVALS.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. | ||||||
|  | # Mod history:	2009-05-06 RSB	Transcribed from page images. | ||||||
|  | # | ||||||
|  | # 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-61 | ||||||
|  | #	16:27 JULY 14, 1969   | ||||||
|  |  | ||||||
|  | # Page 1 | ||||||
|  |  | ||||||
|  | # THIS LGC PROGRAM IS INTENDED FOR USE IN THE LM DURING THE MANNED LUNAR | ||||||
|  | # LANDING MISSION OR ANY SUBSET THEREOF.  THE DETAILS OF IMPLEMENTATION ARE | ||||||
|  | # SPECIFIED IN REPORT R-567, AS AMENDED. | ||||||
|  | # | ||||||
|  | #			GUIDANCE SYSTEM OPERATIONS PLAN | ||||||
|  | #		FOR MANNED LM EARTH ORBITAL AND LUNAR MISSIONS | ||||||
|  | #			    USING PROGRAM LUMINARY | ||||||
|  | # | ||||||
|  | # THIS PROGRAM AND R-567 HAVE BEEN PREPARED BY THE INSTRUMENTATION LABORATORY, | ||||||
|  | # MASSACHUSETTS INSTITUTE OF TECHNOLOGY  75 CAMBRIDGE PARKWAY, CAMBRIDGE,  | ||||||
|  | # MASSACHUSETTS UNDER PROJECT 55-238-70.  SPONSORED BY THE MANNED SPACECRAFT | ||||||
|  | # CENTER OF THE NATIONAL AERONAUTICS AND SPACE ADMINISTRATION, CONTRACT  | ||||||
|  | # NAS 9-4065. | ||||||
|  | # | ||||||
|  | #		THIS PROGRAM IS REFERRED TO AS LUMINARY 1A | ||||||
|  |  | ||||||
							
								
								
									
										1459
									
								
								Luminary099/DISPLAY_INTERFACE_ROUTINES.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1459
									
								
								Luminary099/DISPLAY_INTERFACE_ROUTINES.agc
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										430
									
								
								Luminary099/DOWNLINK_LISTS.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										430
									
								
								Luminary099/DOWNLINK_LISTS.agc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,430 @@ | |||||||
|  | # Copyright:	Public domain. | ||||||
|  | # Filename:	DOWNLINK_LISTS.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:	Hartmuth Gutsche <hgutsche@xplornet.com>. | ||||||
|  | # Website:	www.ibiblio.org/apollo. | ||||||
|  | # Pages:	193-205 | ||||||
|  | # Mod history:	2009-05-19 HG	Transcribed from page images. | ||||||
|  | # | ||||||
|  | # 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-61 | ||||||
|  | #	16:27 JULY 14, 1969 | ||||||
|  |  | ||||||
|  | # Page 193 | ||||||
|  | 		BANK	22 | ||||||
|  | 		SETLOC	DOWNTELM | ||||||
|  | 		BANK | ||||||
|  |  | ||||||
|  | 		EBANK=	DNTMBUFF | ||||||
|  |  | ||||||
|  | # SPECIAL DOWNLINK OP CODES | ||||||
|  | #	OP CODE		ADDRESS (EXAMPLE)	SENDS...		BIT 15		BITS 14-12	BITS 11-0 | ||||||
|  | #	-------		-----------------	--------		------		----------	--------- | ||||||
|  | #	1DNADR		TIME2			(2 AGC WDS)		0		0		ECADR | ||||||
|  | #	2DNADR		TEPHEM			(4 AGC WDS)		0		1		ECADR | ||||||
|  | #	3DNADR		VGBODY			(6 AGC WDS)		0		2		ECADR | ||||||
|  | #	4DNADR		STATE			(8 AGC WDS)		0		3		ECADR | ||||||
|  | #	5DNADR		UPBUFF			(10 AGC WDS)		0		4		ECADR | ||||||
|  | #	6DNADR		DSPTAB			(12 AGC WDS)		0		5		ECADR | ||||||
|  | #	DNCHAN		30			CHANNELS		0		7		CHANNEL | ||||||
|  | #													ADDRESS | ||||||
|  | #	DNPTR		NEXTLIST		POINTS TO NEXT		0		6		ADRES | ||||||
|  | #						LIST | ||||||
|  | # | ||||||
|  | # DOWNLIST FORMAT DEFINITIONS AND RULES -- | ||||||
|  | # 1. END OF A LIST = -XDNADR (X = 1 TO 6), -DNPTR, OR -DNCHAN. | ||||||
|  | # 2. SNAPSHOT SUBLIST = LIST WHICH STARTS WITH A -1DNADR. | ||||||
|  | # 3. SNAPSHOT SUBLIST CAN ONLY CONTAIN 1DNADRS. | ||||||
|  | # 4. TIME2 1DNADR MUST BE LOCATED IN THE CONTROL LIST OF A DOWNLIST. | ||||||
|  | # 5. ERASABLE DOWN TELEMETRY WORDS SHOULD BE GROUPED IN SEQUENTIAL | ||||||
|  | #    LOCATIONS AS MUCH AS POSSIBLE TO SAVE STORAGE USED BY DOWNLINK LISTS. | ||||||
|  |  | ||||||
|  | 		COUNT*	$$/DLIST | ||||||
|  | ERASZERO	EQUALS	7 | ||||||
|  | UNKNOWN		EQUALS	ERASZERO | ||||||
|  | SPARE		EQUALS	ERASZERO			# USE SPARE TO INDICATE AVAILABLE SPACE | ||||||
|  | LOWIDCOD	OCT	77340				# LOW ID CODE | ||||||
|  |  | ||||||
|  | NOMDNLST	EQUALS	LMCSTADL			# FRESH START AND POST P27 DOWNLIST | ||||||
|  |  | ||||||
|  | AGSLIST		EQUALS	LMAGSIDL | ||||||
|  |  | ||||||
|  | UPDNLIST	EQUALS	LMAGSIDL			# UPDATE PROGRAM (P27) DOWNLIST | ||||||
|  |  | ||||||
|  | # Page 194 | ||||||
|  | # LM ORBITAL MANEUVERS LIST | ||||||
|  | # | ||||||
|  | # --------------------- CONTROL LIST ------------------------- | ||||||
|  |  | ||||||
|  | LMORBMDL	EQUALS					# SEND ID BY SPECIAL CODING | ||||||
|  | 		DNPTR	LMORBM01			# COLLECT SNAPSHOT | ||||||
|  | 		6DNADR	DNTMBUFF			# SEND SNAPSHOT | ||||||
|  | 		1DNADR	DELLT4				# DELLT4,+1 | ||||||
|  | 		3DNADR	RTARG				# RTARG,+1...+5 | ||||||
|  | 		1DNADR	ELEV				# ELEV,+1 | ||||||
|  | 		1DNADR	TEVENT				# TEVENT,+1 | ||||||
|  | 		6DNADR	REFSMMAT			# REFSMMAT +0...+11D | ||||||
|  | 		1DNADR	TCSI				# TCSI,+1 | ||||||
|  | 		3DNADR	DELVEET1			# DELVEET1 +0...+5 | ||||||
|  | 		3DNADR	VGTIG				# VGTIG +0...+5 | ||||||
|  | 		1DNADR	DNLRVELZ			# DNLRVELZ,DNLRALT | ||||||
|  | 		1DNADR	TPASS4				# TPASS4,+1 | ||||||
|  | 		DNPTR	LMORBM02			# COMMON DATA | ||||||
|  | 		1DNADR	TIME2				# TIME2/1 | ||||||
|  | 		DNPTR	LMORBM03			# COLLECT SNAPSHOT | ||||||
|  | 		6DNADR	DNTMBUFF			# SEND SNAPSHOT | ||||||
|  | 		DNPTR	LMORBM04			# COMMON DATA | ||||||
|  | 		2DNADR	POSTORKU			# POSTORKU,NEGTORKU,POSTORKV,NEGTORKV | ||||||
|  | 		1DNADR	SPARE | ||||||
|  | 		1DNADR	TCDH				# TCDH,+1 | ||||||
|  | 		3DNADR	DELVEET2			# DELVEET2 +0...+5 | ||||||
|  | 		1DNADR	TTPI				# TTPI,+1 | ||||||
|  | 		3DNADR	DELVEET3			# DELVEET3 +0...+5 | ||||||
|  | 		1DNADR	DNRRANGE			# DNRRANGE,DNRRDOT | ||||||
|  | 		2DNADR	DNLRVELX			# DNLRVELX,DNLRVELY,DNLRVELZ,DNLRALT | ||||||
|  | 		1DNADR	DIFFALT				# DIFFALT,+1 | ||||||
|  | 		1DNADR	LEMMASS				# LEMMASS,CSMMASS | ||||||
|  | 		1DNADR	IMODES30			# IMODES30,IMODES33 | ||||||
|  | 		1DNADR	TIG				# TIG,+1 | ||||||
|  | 		DNPTR	LMORBM05			# COMMON DATA | ||||||
|  | 		DNPTR	LMORBM06			# COMMON DATA | ||||||
|  | 		1DNADR	SPARE				# FORMERLY PIF | ||||||
|  | 		-1DNADR	TGO				# TGO,+1 | ||||||
|  |  | ||||||
|  | # --------------------- SUB-LISTS --------------------------- | ||||||
|  |  | ||||||
|  | LMORBM01	-1DNADR	R-OTHER +2			# R-OTHER +2,+3		SNAPSHOT | ||||||
|  | 		1DNADR	R-OTHER +4			# R-OTHER +4,+5 | ||||||
|  | 		1DNADR	V-OTHER				# V-OTHER,+1 | ||||||
|  | 		1DNADR	V-OTHER +2			# V-OTHER +2,+3 | ||||||
|  | 		1DNADR	V-OTHER +4			# V-OTHER +4,+5 | ||||||
|  | 		1DNADR	T-OTHER				# T-OTHER,+1 | ||||||
|  | 		-1DNADR	R-OTHER				# R-OTHER +0,+1 | ||||||
|  |  | ||||||
|  | LMORBM02	2DNADR	REDOCTR				# REDOCTR,THETAD,+1,+2	COMMON DATA | ||||||
|  | # Page 195 | ||||||
|  | 		1DNADR	RSBBQ				# RSBBQ,+1 | ||||||
|  | 		2DNADR	OMEGAP				# OMEGAP,OMEGAQ,OMEGAR,GARBAGE | ||||||
|  | 		2DNADR	CDUXD				# CDUXD,CDUYD,CDUZD,GARBAGE | ||||||
|  | 		2DNADR	CDUX				# CDUX,CDUY,CDUZ,CDUT | ||||||
|  | 		6DNADR	STATE				# STATE +0...+11D (FLAGWORDS) | ||||||
|  | 		-6DNADR	DSPTAB				# DSPTAB TABLES | ||||||
|  |  | ||||||
|  | LMORBM03	-1DNADR	RN +2				# RN +2,+3		SNAPSHOT | ||||||
|  | 		1DNADR	RN +4				# RN +4,+5 | ||||||
|  | 		1DNADR	VN				# VN,+1 | ||||||
|  | 		1DNADR	VN +2				# VN +2,+3 | ||||||
|  | 		1DNADR	VN +4				# VN +4,+5 | ||||||
|  | 		1DNADR	PIPTIME				# PIPTIME,+1 | ||||||
|  | 		-1DNADR	RN				# RN,+1 | ||||||
|  |  | ||||||
|  | LMORBM04	2DNADR	OMEGAPD				# OMEGAPD,OMEGAQD,OMEGARD,GARBAGE | ||||||
|  | 		3DNADR	CADRFLSH			# CADRFLSH,+1,+2,FAILREG,+1,+2 | ||||||
|  | 		-1DNADR	RADMODES			# RADMODES,DAPBOOLS	COMMON DATA | ||||||
|  |  | ||||||
|  | LMORBM05	2DNADR	OMEGAP				# OMEGAP,OMEGAQ,OMEGAR,GARBAGE | ||||||
|  | 		2DNADR	CDUXD				# CDUXD,CDUYD,CDUZD,GARBAGE | ||||||
|  | 		2DNADR	CDUX				# CDUX,CDUY,CDUZ,CDUT | ||||||
|  | 		1DNADR	ALPHAQ				# ALPHAQ,ALPHAR		COMMON DATA | ||||||
|  | 		1DNADR	POSTORKP			# POSTORKP,NEGTORKP | ||||||
|  | 		DNCHAN	11				# CHANNELS 11,12 | ||||||
|  | 		DNCHAN	13				# CHANNELS 13,14 | ||||||
|  | 		DNCHAN	30				# CHANNELS 30,31 | ||||||
|  | 		-DNCHAN	32				# CHANNELS 32,33 | ||||||
|  |  | ||||||
|  | LMORBM06	1DNADR	PIPTIME1			# PIPTIME,+1		COMMON DATA | ||||||
|  | 		-3DNADR	DELV				# DELV +0...+5 | ||||||
|  |  | ||||||
|  | # -------------------------------------------------------------------- | ||||||
|  |  | ||||||
|  | # Page 196 | ||||||
|  | # LM COAST AND ALIGNMENT DOWNLIST | ||||||
|  | # | ||||||
|  | # ---------------------- CONTROL LIST -------------------------------- | ||||||
|  |  | ||||||
|  | LMCSTADL	EQUALS					# SEND ID BY SPECIAL CODING | ||||||
|  | 		DNPTR	LMCSTA01			# COLLECT SNAPSHOT | ||||||
|  | 		6DNADR	DNTMBUFF			# SEND SNAPSHOT | ||||||
|  | 		1DNADR	AGSK				# AGSK,+1 | ||||||
|  | 		1DNADR	TALIGN				# TALIGN,+1 | ||||||
|  | 		2DNADR	POSTORKU			# POSTORKU,NEGTORKU,POSTORKV,NEGTORKV | ||||||
|  | 		1DNADR	DNRRANGE			# DNRRANGE,DNRRDOT | ||||||
|  | 		1DNADR	TEVENT				# TEVENT,+1 | ||||||
|  | 		6DNADR	REFSMMAT			# REFSMMAT +0...+11D | ||||||
|  | 		1DNADR	AOTCODE				# AOTCODE,GARBAGE | ||||||
|  | 		3DNADR	RLS				# RLS +0...+5 | ||||||
|  | 		2DNADR	DNLRVELX			# DNLRVELX,DNLRVELY,DNLRVELZ,DNLRALT | ||||||
|  | 		DNPTR	LMCSTA06			# COMMON DATA | ||||||
|  | 		DNPTR	LMCSTA02			# COMMON DATA | ||||||
|  | 		1DNADR	TIME2				# TIME2/1 | ||||||
|  | 		DNPTR	LMCSTA03			# COLLECT SNAPSHOT | ||||||
|  | 		6DNADR	DNTMBUFF			# SEND SNAPSHOT | ||||||
|  | 		DNPTR	LMCSTA04			# COMMON DATA | ||||||
|  | 		DNPTR	LMCSTA07			# COMMON DATA | ||||||
|  | 		2DNADR	DNLRVELX			# DNLRVELX,DNLRVELY,DNLRVELZ,DNLRALT | ||||||
|  | 		2DNADR	CDUS				# CDUS,PIPAX,PIPAY,PIPAZ | ||||||
|  | 		1DNADR	LASTYCMD			# LASTYCMD,LASTXCMD | ||||||
|  | 		1DNADR	LEMMASS				# LEMMASS,CSMMASS | ||||||
|  | 		1DNADR	IMODES30			# IMODES30,IMODES33 | ||||||
|  | 		1DNADR	TIG				# TIG,+1 | ||||||
|  | 		DNPTR	LMCSTA05			# COMMON DATA | ||||||
|  | 		-6DNADR	DSPTAB				# DSPTAB +0...+11D TABLE | ||||||
|  |  | ||||||
|  | # ---------------------- SUB-LISTS -------------------------- | ||||||
|  |  | ||||||
|  | LMCSTA01	EQUALS	LMORBM01			# COMMON DOWNLIST DATA | ||||||
|  | LMCSTA02	EQUALS	LMORBM02			# COMMON DOWNLIST DATA | ||||||
|  | LMCSTA03	EQUALS	LMORBM03			# COMMON DOWNLIST DATA | ||||||
|  | LMCSTA04	EQUALS	LMORBM04			# COMMON DOWNLIST DATA | ||||||
|  | LMCSTA05	EQUALS	LMORBM05			# COMMON DOWNLIST DATA | ||||||
|  |  | ||||||
|  | LMCSTA06	2DNADR	X789				# X789 +0...+3		COMMON DATA | ||||||
|  | 		-1DNADR	LASTYCMD			# LASTYCMD,LASTXCMD | ||||||
|  | LMCSTA07	3DNADR	OGC				# OGC,+1,IGC,+1,MGC,+1	COMMON DATA | ||||||
|  | 		1DNADR	BESTI				# BESTI,BESTJ | ||||||
|  | 		3DNADR	STARSAV1			# STARSAV1 +0...+5 | ||||||
|  | 		-3DNADR	STARSAV2			# STARSAV2 +0...+5 | ||||||
|  | # Page 197 | ||||||
|  | # ----------------------------------------------------------- | ||||||
|  |  | ||||||
|  | # Page 198 | ||||||
|  | # LM RENDEZVOUS AND PRE-THRUST DOWNLIST | ||||||
|  | # | ||||||
|  | # --------------------- CONTROL LIST ------------------------ | ||||||
|  |  | ||||||
|  | LMRENDDL	EQUALS					# SEND ID BY SPECIAL CODING | ||||||
|  | 		DNPTR	LMREND01			# COLLECT SNAPSHOT | ||||||
|  | 		6DNADR	DNTMBUFF			# SEND SNAPSHOT | ||||||
|  | 		DNPTR	LMREND07			# COLLECT SNAPSHOT | ||||||
|  | 		4DNADR	DNTMBUFF			# SEND SNAPSHOT | ||||||
|  | 		1DNADR	DELLT4				# DELLT4,+1 | ||||||
|  | 		3DNADR	RTARG				# RTARG +0...+5 | ||||||
|  | 		3DNADR	DELVSLV				# DELVSLV +0...+5 | ||||||
|  | 		1DNADR	TCSI				# TCSI,+1 | ||||||
|  | 		3DNADR	DELVEET1			# DELVEET +0...+5 | ||||||
|  | 		1DNADR	SPARE | ||||||
|  | 		1DNADR	TPASS4				# TPASS4,+1 | ||||||
|  | 		DNPTR	LMREND06			# COMMON DATA | ||||||
|  | 		DNPTR	LMREND02			# COMMON DATA | ||||||
|  | 		1DNADR	TIME2				# TIME2/1 | ||||||
|  | 		DNPTR	LMREND03			# COLLECT SNAPSHOT | ||||||
|  | 		6DNADR	DNTMBUFF			# SEND SNAPSHOT | ||||||
|  | 		DNPTR	LMREND04			# COMMON DATA | ||||||
|  | 		2DNADR	POSTORKU			# POSTORKU,NEGTORKU,POSTORKV,NEGTORKV | ||||||
|  | 		1DNADR	SPARE | ||||||
|  | 		1DNADR	TCDH				# TCDH,+1 | ||||||
|  | 		3DNADR	DELVEET2			# DELVEET2 +0...+5 | ||||||
|  | 		1DNADR	TTPI				# TTPI,+1 | ||||||
|  | 		3DNADR	DELVEET3			# DELVEET3 +0...+5 | ||||||
|  | 		1DNADR	ELEV				# ELEV,+1 | ||||||
|  | 		2DNADR	CDUS				# CDUS,PIPAX,PIPAY,PIPAZ | ||||||
|  | 		1DNADR	LASTYCMD			# LASTYCMD,LASTXCMD | ||||||
|  | 		1DNADR	LEMMASS				# LEMMASS,CSMMASS | ||||||
|  | 		1DNADR	IMODES30			# IMODES30,IMODES33 | ||||||
|  | 		1DNADR	TIG				# TIG,+1 | ||||||
|  | 		DNPTR	LMREND05			# COMMON DATA | ||||||
|  | 		1DNADR	DELTAR				# DELTAR,+1 | ||||||
|  | 		1DNADR	CENTANG				# CENTANG,+1 | ||||||
|  | 		1DNADR	NN				# NN,+1 | ||||||
|  | 		1DNADR	DIFFALT				# DIFFALT,+1 | ||||||
|  | 		1DNADR	DELVTPF				# DELVTPF,+1 | ||||||
|  | 		-1DNADR	SPARE | ||||||
|  |  | ||||||
|  | # --------------------- SUB-LISTS -------------------------- | ||||||
|  |  | ||||||
|  | LMREND01	EQUALS	LMORBM01			# COMMON DOWNLIST DATA | ||||||
|  | LMREND02	EQUALS	LMORBM02			# COMMON DOWNLIST DATA | ||||||
|  | LMREND03	EQUALS	LMORBM03			# COMMON DOWNLIST DATA | ||||||
|  | # Page 199 | ||||||
|  | LMREND04	EQUALS	LMORBM04			# COMMON DOWNLIST DATA | ||||||
|  | LMREND05	EQUALS	LMORBM05			# COMMON DOWNLIST DATA | ||||||
|  | LMREND06	EQUALS	LMCSTA06			# COMMON DOWNLIST DATA | ||||||
|  |  | ||||||
|  | LMREND07	-1DNADR	AIG				# AIG,AMG		SNAPSHOT | ||||||
|  | 		1DNADR	AOG				# AOG,TRKMKCNT | ||||||
|  | 		1DNADR	TANGNB				# TANGNB,+1 | ||||||
|  | 		1DNADR	MKTIME				# MKTIME,+1 | ||||||
|  | 		-1DNADR	RANGRDOT			# DNRRANGE,DNRRDOT | ||||||
|  |  | ||||||
|  | # ----------------------------------------------------------- | ||||||
|  |  | ||||||
|  | # Page 200 | ||||||
|  | # LM DESCENT AND ASCENT DOWNLIST | ||||||
|  |  | ||||||
|  | # ---------------------- CONTROL LIST ------------------------ | ||||||
|  |  | ||||||
|  | LMDSASDL	EQUALS					# SEND ID BY SPECIAL CODING | ||||||
|  | 		DNPTR	LMDSAS07			# COLLECT SNAPSHOT | ||||||
|  | 		DNPTR	LMDSAS08			# SEND SNAPSHOT | ||||||
|  | 		1DNADR	TEVENT				# TEVENT,+1 | ||||||
|  | 		3DNADR	UNFC/2				# UNFC/2 +0...+5 | ||||||
|  | 		3DNADR	VGVECT				# VGVECT +0...+5 | ||||||
|  | 		1DNADR	TTF/8				# TTF/8,+1 | ||||||
|  | 		1DNADR	DELTAH				# DELTAH,+1 | ||||||
|  | 		3DNADR	RLS				# RLS +0...+5 | ||||||
|  | 		1DNADR	SPARE | ||||||
|  | 		DNPTR	LMDSAS09			# COMMON DATA | ||||||
|  | 		DNPTR	LMDSAS02			# COMMON DATA | ||||||
|  | 		1DNADR	TIME2				# TIME2/1 | ||||||
|  | 		DNPTR	LMDSAS03			# COLLECT SNAPSHOT | ||||||
|  | 		6DNADR	DNTMBUFF			# SEND SNAPSHOT | ||||||
|  | 		DNPTR	LMDSAS04			# COMMON DATA | ||||||
|  | 		2DNADR	POSTORKU			# POSTORKU,NEGTORKU,POSTORKV,NEGTORKV | ||||||
|  | 		3DNADR	RGU				# RGU +0...+5 | ||||||
|  | 		3DNADR	VGU				# VGU +0...+5 | ||||||
|  | 		3DNADR	LAND				# LAND +0...+5 | ||||||
|  | 		1DNADR	AT				# AT,+1 | ||||||
|  | 		1DNADR	TLAND				# TLAND,+1 | ||||||
|  | 		1DNADR	FC				# FC,GARBAGE | ||||||
|  | 		1DNADR	LASTYCMD			# LASTYCMD,LASTXCMD | ||||||
|  | 		1DNADR	LEMMASS				# LEMMASS,CSMMASS | ||||||
|  | 		1DNADR	IMODES30			# IMODES30,IMODES33 | ||||||
|  | 		1DNADR	TIG				# TIG,+1 | ||||||
|  | 		DNPTR	LMDSAS05			# COMMON DATA | ||||||
|  | 		DNPTR	LMDSAS06			# COMMON DATA | ||||||
|  | 		1DNADR	PSEUDO55			# PSEUDO55,GARBAGE | ||||||
|  | 		-1DNADR	TTOGO				# TTOGO,+1 | ||||||
|  |  | ||||||
|  | # ---------------------- SUB-LISTS ------------------------ | ||||||
|  |  | ||||||
|  | LMDSAS02	EQUALS	LMORBM02			# COMMON DOWNLIST DATA | ||||||
|  | LMDSAS03	EQUALS	LMORBM03			# COMMON DOWNLIST DATA | ||||||
|  | LMDSAS04	EQUALS	LMORBM04			# COMMON DOWNLIST DATA | ||||||
|  | LMDSAS05	EQUALS	LMORBM05			# COMMON DOWNLIST DATA | ||||||
|  | LMDSAS06	EQUALS	LMORBM06			# COMMON DOWNLIST DATA | ||||||
|  |  | ||||||
|  | LMDSAS07	-1DNADR	LRZCDUDL			# LRZCDUDL,GARBAGE		SNAPSHOT | ||||||
|  | 		1DNADR	VSELECT				# VSELECT,GARBAGE | ||||||
|  | 		1DNADR	LRVTIMDL			# LRVTIMDL,+1 | ||||||
|  | # Page 201 | ||||||
|  | 		1DNADR	VMEAS				# VMEAS,+1 | ||||||
|  | 		1DNADR	MKTIME				# MKTIME,+1 | ||||||
|  | 		1DNADR	HMEAS				# HMEAS,+1 | ||||||
|  | 		1DNADR	RM				# RM,+1 | ||||||
|  | 		1DNADR	AIG				# AIG,AMG | ||||||
|  | 		1DNADR	AOG				# AOG,TRKMKCNT | ||||||
|  | 		1DNADR	TANGNB				# TANGNB,+1 | ||||||
|  | 		1DNADR	MKTIME				# MKTIME,+1 | ||||||
|  | 		-1DNADR	LRXCDUDL			# LRXCDUDL,LRYCDUDL | ||||||
|  |  | ||||||
|  | LMDSAS08	6DNADR	DNTMBUFF			# SEND SNAPSHOT | ||||||
|  | 		-5DNADR	DNTMBUFF +12D | ||||||
|  |  | ||||||
|  | LMDSAS09	EQUALS	LMCSTA06			# COMMON DOWNLIST DATA | ||||||
|  |  | ||||||
|  | # --------------------------------------------------------- | ||||||
|  |  | ||||||
|  | # Page 202 | ||||||
|  | # LM LUNAR SURFACE ALIGN DOWNLIST | ||||||
|  |  | ||||||
|  | # ---------------------- CONTROL LIST --------------------- | ||||||
|  |  | ||||||
|  | LMLSALDL	EQUALS					# SEND ID BY SPECIAL CODING | ||||||
|  | 		DNPTR	LMLSAL01			# COLLECT SNAPSHOT | ||||||
|  | 		6DNADR	DNTMBUFF			# SEND SNAPSHOT | ||||||
|  | 		DNPTR	LMLSAL07			# COLLECT SNAPSHOT | ||||||
|  | 		4DNADR	DNTMBUFF			# SEND SHAPSHOT | ||||||
|  | 		1DNADR	TALIGN				# TALIGN,+1 | ||||||
|  | 		6DNADR	REFSMMAT			# REFSMMAT +0...+11D | ||||||
|  | 		6DNADR	YNBSAV				# YNBSAV +0...+5,SNBSAV +0...+5 | ||||||
|  | 		DNPTR	LMLSAL08			# COMMON DATA | ||||||
|  | 		DNPTR	LMLSAL02			# COMMON DATA | ||||||
|  | 		1DNADR	TIME2				# TIME2/1 | ||||||
|  | 		DNPTR	LMLSAL03			# COLLECT SNAPSHOT | ||||||
|  | 		6DNADR	DNTMBUFF			# SEND SHAPSHOT | ||||||
|  | 		DNPTR	LMLSAL04			# COMMON DATA | ||||||
|  | 		DNPTR	LMLSAL09			# COMMON DATA | ||||||
|  | 		3DNADR	GSAV				# GSAV +0...+5 | ||||||
|  | 		1DNADR	AGSK				# AGSK,+1 | ||||||
|  | 		1DNADR	LASTYCMD			# LASTYCMD,LASTXCMD | ||||||
|  | 		1DNADR	LEMMASS				# LEMMASS,CSMMASS | ||||||
|  | 		1DNADR	IMODES30			# IMODES30,IMODES33 | ||||||
|  | 		1DNADR	TIG				# TIG,+1 | ||||||
|  | 		DNPTR	LMLSAL05			# COMMON DATA | ||||||
|  | 		DNPTR	LMLSAL06			# COMMON DATA | ||||||
|  | 		1DNADR	SPARE | ||||||
|  | 		-1DNADR	SPARE | ||||||
|  |  | ||||||
|  | # ---------------------- SUB-LISTS ---------------------- | ||||||
|  |  | ||||||
|  | LMLSAL01	EQUALS	LMORBM01			# COMMON DOWNLIST DATA | ||||||
|  | LMLSAL02	EQUALS	LMORBM02			# COMMON DOWNLIST DATA | ||||||
|  | LMLSAL03	EQUALS	LMORBM03			# COMMON DOWNLIST DATA | ||||||
|  | LMLSAL04	EQUALS	LMORBM04			# COMMON DOWNLIST DATA | ||||||
|  | LMLSAL05	EQUALS	LMORBM05			# COMMON DOWNLIST DATA | ||||||
|  | LMLSAL06	EQUALS	LMORBM06			# COMMON DOWNLIST DATA | ||||||
|  | LMLSAL07	EQUALS	LMREND07			# COMMON DOWNLIST DATA | ||||||
|  | LMLSAL08	EQUALS	LMCSTA06			# COMMON DOWNLIST DATA | ||||||
|  | LMLSAL09	EQUALS	LMCSTA07			# COMMON DOWNLIST DATA | ||||||
|  |  | ||||||
|  | # Page 203 | ||||||
|  | # -------------------------------------------------------- | ||||||
|  |  | ||||||
|  | # Page 204 | ||||||
|  | # LM AGS INITIALIZATION AND UPDATE DOWNLIST | ||||||
|  |  | ||||||
|  | # ---------------------- CONTROL LIST -------------------- | ||||||
|  |  | ||||||
|  | LMAGSIDL	EQUALS					# SEND IO BY SPECIAL CODING | ||||||
|  | 		3DNADR	AGSBUFF +0			# AGSBUFF +0...+5 | ||||||
|  | 		1DNADR	AGSBUFF +12D			# AGSBUFF +12D,GARBAGE | ||||||
|  | 		3DNADR	AGSBUFF +1			# AGSBUFF +1...+6 | ||||||
|  | 		1DNADR	AGSBUFF +13D			# AGSBUFF +13D, GARBAGE | ||||||
|  | 		3DNADR	AGSBUFF +6			# AGSBUFF +6...+11 | ||||||
|  | 		1DNADR	AGSBUFF +12D			# AGSBUFF +12D,GARBAGE | ||||||
|  | 		3DNADR	AGSBUFF +7			# AGSBUFF +7...+12D | ||||||
|  | 		1DNADR	AGSBUFF +13D			# AGSBUFF +13D,GARBAGE | ||||||
|  | 		6DNADR	COMPNUMB			# COMPNUMB,UPOLDMOD,UPVERB,UPCOUNT, | ||||||
|  | 							# UPBUFF +0...+7 | ||||||
|  | 		6DNADR	UPBUFF +8D			# UPBUFF +8D...+19D | ||||||
|  | 		DNPTR	LMAGSI02			# COMMON DATA | ||||||
|  | 		1DNADR	TIME2				# TIME2/1 | ||||||
|  | 		DNPTR	LMAGSI03			# COLLECT SNAPSHOT | ||||||
|  | 		6DNADR	DNTMBUFF			# SEND SNAPSHOT | ||||||
|  | 		DNPTR	LMAGSI04			# COMMON DATA | ||||||
|  | 		2DNADR	POSTORKU			# POSTORKU,NEGTORKU,POSTORKV,NEGTORKV | ||||||
|  | 		1DNADR	SPARE | ||||||
|  | 		1DNADR	SPARE | ||||||
|  | 		1DNADR	AGSK				# AGSK,+1 | ||||||
|  | 		6DNADR	UPBUFF				# UPBUFF +0...+11D | ||||||
|  | 		4DNADR	UPBUFF +12D			# UPBUFF +12D...+19D | ||||||
|  | 		1DNADR	LEMMASS				# LEMMASS,CSMMASS | ||||||
|  | 		1DNADR	IMODES30			# IMODES30,IMODES33 | ||||||
|  | 		1DNADR	SPARE | ||||||
|  | 		DNPTR	LMAGSI05			# COMMON DATA | ||||||
|  | 		-6DNADR	DSPTAB				# DSPTAB +0...+11D | ||||||
|  |  | ||||||
|  | # ---------------------- SUB-LISTS --------------------- | ||||||
|  |  | ||||||
|  | LMAGSI02	EQUALS	LMORBM02			# COMMON DOWNLIST DATA | ||||||
|  | LMAGSI03	EQUALS	LMORBM03			# COMMON DOWNLIST DATA | ||||||
|  | LMAGSI04	EQUALS	LMORBM04			# COMMON DOWNLIST DATA | ||||||
|  | LMAGSI05	EQUALS	LMORBM05			# COMMON DOWNLIST DATA | ||||||
|  |  | ||||||
|  | # ------------------------------------------------------ | ||||||
|  |  | ||||||
|  | DNTABLE		GENADR	LMCSTADL			# LM COAST AND ALIGN DOWNLIST | ||||||
|  | 		GENADR	LMAGSIDL			# LM AGS INITIALIZATION/UPDATE DOWNLIST | ||||||
|  | 		GENADR	LMRENDDL			# LM RENDEZVOUS AND PRE-THRUST DOWNLIST | ||||||
|  | 		GENADR	LMORBMDL			# LM ORBITAL MANEUVERS DOWNLIST | ||||||
|  | 		GENADR	LMDSASDL			# LM DESCENT AND ASCENT DOWNLIST | ||||||
|  | # Page 205 | ||||||
|  | 		GENADR	LMLSALDL			# LM LUNAR SURFACE ALIGN DOWNLIST | ||||||
|  |  | ||||||
|  | # ------------------------------------------------------ | ||||||
|  |  | ||||||
|  |  | ||||||
							
								
								
									
										2635
									
								
								Luminary099/ERASABLE_ASSIGNMENTS.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2635
									
								
								Luminary099/ERASABLE_ASSIGNMENTS.agc
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										503
									
								
								Luminary099/EXECUTIVE.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										503
									
								
								Luminary099/EXECUTIVE.agc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,503 @@ | |||||||
|  | # Copyright:	Public domain. | ||||||
|  | # Filename:	EXECUTIVE.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:	1103-1114 | ||||||
|  | # Mod history:	2009-05-25 RSB	Adapted from the corresponding  | ||||||
|  | #				Luminary131 file, using page  | ||||||
|  | #				images from Luminary 1A. | ||||||
|  | #		2011-01-06 JL	Fixed pseudo-label indentation. | ||||||
|  | #		2011-05-08 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-61 | ||||||
|  | #	16:27 JULY 14, 1969  | ||||||
|  |  | ||||||
|  | # Page 1103 | ||||||
|  | 		BLOCK	02 | ||||||
|  |  | ||||||
|  | # TO ENTER A JOB REQUEST REQUIRING NO VAC AREA: | ||||||
|  |  | ||||||
|  | 		COUNT*	$$/EXEC | ||||||
|  | NOVAC		INHINT | ||||||
|  | 		AD	FAKEPRET	# LOC(MPAC +6) - LOC(QPRET) | ||||||
|  | 		TS	NEWPRIO		# PRIORITY OF NEW JOB + NOVAC C(FIXLOC) | ||||||
|  |  | ||||||
|  | 		EXTEND | ||||||
|  | 		INDEX	Q		# Q WILL BE UNDISTURBED THROUGHOUT. | ||||||
|  | 		DCA	0		# 2CADR OF JOB ENTERED. | ||||||
|  | 		DXCH	NEWLOC | ||||||
|  | 		CAF	EXECBANK | ||||||
|  | 		XCH	FBANK | ||||||
|  | 		TS	EXECTEM1 | ||||||
|  | 		TCF	NOVAC2		# ENTER EXECUTIVE BANK. | ||||||
|  |  | ||||||
|  | # TO ENTER A JOB REQUEST REQUIREING A VAC AREA -- E.G., ALL (PARTIALLY) INTERPRETIVE JOBS. | ||||||
|  |  | ||||||
|  | FINDVAC		INHINT | ||||||
|  | 		TS	NEWPRIO | ||||||
|  | 		EXTEND | ||||||
|  | 		INDEX	Q | ||||||
|  | 		DCA	0 | ||||||
|  | SPVACIN		DXCH	NEWLOC | ||||||
|  | 		CAF	EXECBANK | ||||||
|  | 		XCH	FBANK | ||||||
|  | 		TCF	FINDVAC2	# OFF TO EXECUTIVE SWITCHED-BANK. | ||||||
|  |  | ||||||
|  | # TO ENTER A FINDVAC WITH THE PRIORITY IN NEWPRIO TO THE 2CADR ARRIVING IN A AND L: | ||||||
|  | # USERS OF SPVAC MUST INHINT BEFORE STORING IN NEWPRIO. | ||||||
|  |  | ||||||
|  | SPVAC		XCH	Q | ||||||
|  | 		AD	NEG2 | ||||||
|  | 		XCH	Q | ||||||
|  | 		TCF	SPVACIN | ||||||
|  |  | ||||||
|  | # TO SUSPEND A BASIC JOB SO A HIGHER PRIORITY JOB MAY BE SERVICED: | ||||||
|  |  | ||||||
|  | CHANG1		LXCH	Q | ||||||
|  | 		CAF	EXECBANK | ||||||
|  | 		XCH	BBANK | ||||||
|  | 		TCF	CHANJOB | ||||||
|  |  | ||||||
|  | # TO SUSPEND AN INTERPRETIVE JOB: | ||||||
|  |  | ||||||
|  | CHANG2		CS	LOC		# NEGATIVE LOC SHOWS JOB = INTERPRETIVE. | ||||||
|  | # ITRACE (4) REFERS TO "CHANG2" | ||||||
|  | 		TS	L | ||||||
|  | # Page 1104 | ||||||
|  |  +2		CAF	EXECBANK | ||||||
|  | 		TS	BBANK | ||||||
|  | 		TCF	CHANJOB -1 | ||||||
|  |  | ||||||
|  | # Page 1105 | ||||||
|  | # TO VOLUNTARILY SUSPEND A JOB UNTIL THE COMPLETION OF SOME ANTICIPATED EVENT (I/O EVENT ETC.): | ||||||
|  |  | ||||||
|  | JOBSLEEP	TS	LOC | ||||||
|  | 		CAF	EXECBANK | ||||||
|  | 		TS	FBANK | ||||||
|  | 		TCF	JOBSLP1 | ||||||
|  |  | ||||||
|  | # TO AWAKEN A JOB PUT TO SLEEP IN THE ABOVE FASHION: | ||||||
|  |  | ||||||
|  | JOBWAKE		INHINT | ||||||
|  | 		TS	NEWLOC | ||||||
|  | 		CS	TWO		# EXIT IS VIA FINDVAC/NOVAC PROCEDURES. | ||||||
|  | 		ADS	Q | ||||||
|  | 		CAF	EXECBANK | ||||||
|  | 		XCH	FBANK | ||||||
|  | 		TCF	JOBWAKE2 | ||||||
|  |  | ||||||
|  | # TO CHANGE THE PRIORITY OF A JOB CURRENTLY UNDER EXECUTION: | ||||||
|  |  | ||||||
|  | PRIOCHNG	INHINT			# NEW PRIORITY ARRIVES IN A.  RETURNS TO | ||||||
|  | 		TS	NEWPRIO		# CALLER AS SOON AS NEW JOB PRIORITY IS | ||||||
|  | 		CAF	EXECBANK	# HIGHEST.  PREPARE FOR POSSIBLE BASIC- | ||||||
|  | 		XCH	BBANK		# STYLE CHANGE-JOB. | ||||||
|  | 		TS	BANKSET | ||||||
|  | 		CA	Q | ||||||
|  | 		TCF	PRIOCH2 | ||||||
|  |  | ||||||
|  | # TO REMOVE A JOB FROM EXECUTIVE CONSIDERATIONS: | ||||||
|  |  | ||||||
|  | ENDOFJOB	CAF	EXECBANK | ||||||
|  | 		TS	FBANK | ||||||
|  | 		TCF	ENDJOB1 | ||||||
|  |  | ||||||
|  | ENDFIND		CA	EXECTEM1	# RETURN TO CALLER AFTER JOB ENTRY | ||||||
|  | 		TS	FBANK		# COMPLETE. | ||||||
|  | 		TCF	Q+2 | ||||||
|  | EXECBANK	CADR	FINDVAC2 | ||||||
|  |  | ||||||
|  | FAKEPRET	ADRES	MPAC -36D	# LOC(MPAC +6) - LOC(QPRET) | ||||||
|  |  | ||||||
|  | # Page 1106 | ||||||
|  | # LOCATE AN AVAILABLE VAC AREA | ||||||
|  |  | ||||||
|  | 		BANK	01 | ||||||
|  | 		COUNT*	$$/EXEC | ||||||
|  | FINDVAC2	TS	EXECTEM1	# (SAVE CALLER'S BANK FIRST.) | ||||||
|  | 		CCS	VAC1USE | ||||||
|  | 		TCF	VACFOUND | ||||||
|  | 		CCS	VAC2USE | ||||||
|  | 		TCF	VACFOUND | ||||||
|  | 		CCS	VAC3USE | ||||||
|  | 		TCF	VACFOUND | ||||||
|  | 		CCS	VAC4USE | ||||||
|  | 		TCF	VACFOUND | ||||||
|  | 		CCS	VAC5USE | ||||||
|  | 		TCF	VACFOUND | ||||||
|  | 		LXCH	EXECTEM1 | ||||||
|  | 		CA	Q | ||||||
|  | 		TC	BAILOUT1 | ||||||
|  | 		OCT	1201		# NO VAC AREAS. | ||||||
|  |  | ||||||
|  | VACFOUND	AD	TWO		# RESERVE THIS VAC AREA BY STORING A ZERO | ||||||
|  | 		ZL			# IN ITS VAC USE REGISTER AND STORE THE | ||||||
|  | 		INDEX	A		# ADDRESS OF THE FIRST WORD OF IT IN THE | ||||||
|  | 		LXCH	0 	-1	# LOW NINE BITS OF THE PRIORITY WORD. | ||||||
|  | 		ADS	NEWPRIO | ||||||
|  |  | ||||||
|  | NOVAC2		CAF	ZERO		# NOVAC ENTERS HERE.  FIND A CORE SET. | ||||||
|  | 		TS	LOCCTR | ||||||
|  | 		CAF	NO.CORES	# SEVEN SETS OF ELEVEN REGISTERS EACH. | ||||||
|  | NOVAC3		TS	EXECTEM2 | ||||||
|  | 		INDEX	LOCCTR | ||||||
|  | 		CCS	PRIORITY	# EACH PRIORITY REGISTER CONTAINS -0 IF | ||||||
|  | 		TCF	NEXTCORE	# THE CORESPONDING CORE SET IS AVAILABLE. | ||||||
|  | NO.CORES	DEC	7 | ||||||
|  | 		TCF	NEXTCORE	# AN ACTIVE JOB HAS A POSITIVE PRIORITY | ||||||
|  | 					# BUT A DORMANT JOB'S PRIORITY IS NEGATIVE | ||||||
|  |  | ||||||
|  | # Page 1107 | ||||||
|  | CORFOUND	CA	NEWPRIO		# SET THE PRIORITY OF THIS JOB IN THE CORE | ||||||
|  | 		INDEX	LOCCTR		# SET'S PRIORITY REGISTER AND SET THE | ||||||
|  | 		TS	PRIORITY	# JOB'S PUSH-DOWN POINTER AT THE BEGINNING | ||||||
|  | 		MASK	LOW9		# OF THE WORK AREA AND OVERFLOW INDICATOR. | ||||||
|  | 		INDEX	LOCCTR | ||||||
|  | 		TS	PUSHLOC		# OFF TO PREPARE FOR INTERPRETIVE PROGRAMS. | ||||||
|  |  | ||||||
|  | 		CCS	LOCCTR		# IF CORE SET ZERO IS BEING LOADED, SET UP | ||||||
|  | 		TCF	SETLOC		# OVFIND AND FIXLOC IMMEDIATELY. | ||||||
|  | 		TS	OVFIND | ||||||
|  | 		CA	PUSHLOC | ||||||
|  | 		TS	FIXLOC | ||||||
|  |  | ||||||
|  | SPECTEST	CCS	NEWJOB		# SEE IF ANY ACTIVE JOBS WAITING (RARE). | ||||||
|  | 		TCF	SETLOC		# MUST BE AWAKENED OUT UNCHANGED JOB. | ||||||
|  | 		TC	CCSHOLE | ||||||
|  | 		TC	CCSHOLE | ||||||
|  | 		TS	NEWJOB		# +0 SHOWS ACTIVE JOB ALREADY SET. | ||||||
|  | 		DXCH	NEWLOC | ||||||
|  | 		DXCH	LOC | ||||||
|  | 		TCF	ENDFIND | ||||||
|  |  | ||||||
|  | SETLOC		DXCH	NEWLOC		# SET UP THE LOCATION REGISTERS FOR THIS | ||||||
|  | 		INDEX	LOCCTR | ||||||
|  | 		DXCH	LOC | ||||||
|  | 		INDEX	NEWJOB		# THIS INDEX INSTRUCTION INSURES THAT THE | ||||||
|  | 		CS	PRIORITY	# HIGHEST ACTIVE PRIORITY WILL BE COMPARED | ||||||
|  | 		AD	NEWPRIO		# WITH THE NEW PRIORITY TO SEE IF NEWJOB | ||||||
|  | 		EXTEND			# SHOULD BE SET TO SIGNAL A SWITCH. | ||||||
|  | 		BZMF	ENDFIND | ||||||
|  | 		CA	LOCCTR		# LOCCTR IS LEFT SET AT THIS CORE SET IF | ||||||
|  | 		TS	NEWJOB		# THE CALLER WANTS TO LOAD ANY MPAC | ||||||
|  | 		TCF	ENDFIND		# REGISTERS, ETC. | ||||||
|  |  | ||||||
|  | NEXTCORE	CAF	COREINC | ||||||
|  | 		ADS	LOCCTR | ||||||
|  | 		CCS	EXECTEM2 | ||||||
|  | 		TCF	NOVAC3 | ||||||
|  | 		LXCH	EXECTEM1 | ||||||
|  | 		CA	Q | ||||||
|  | 		TC	BAILOUT1	# NO CORE SETS AVAILABLE. | ||||||
|  | 		OCT	1202 | ||||||
|  | # Page 1108 | ||||||
|  | # THE FOLLOWING ROUTINE SWAPS CORE SET 0 WITH THAT WHOSE RELATIVE ADDRESS IS IN NEWJOB. | ||||||
|  |  | ||||||
|  |  -2		LXCH	LOC | ||||||
|  |  -1		CAE	BANKSET		# BANKSET, NOT BBANK, HAS RIGHT CONTENTS. | ||||||
|  | CHANJOB		INHINT | ||||||
|  | 		EXTEND | ||||||
|  | 		ROR	SUPERBNK	# PICK UP CURRENT SBANK FOR BBCON | ||||||
|  | 		XCH	L		# LOC IN A AND BBCON IN L. | ||||||
|  |  +4		INDEX	NEWJOB		# SWAP LOC AND BANKSET. | ||||||
|  | 		DXCH	LOC | ||||||
|  | 		DXCH	LOC | ||||||
|  |  | ||||||
|  | 		CAE	BANKSET | ||||||
|  | 		EXTEND | ||||||
|  | 		WRITE	SUPERBNK	# SET SBANK FOR NEW JOB. | ||||||
|  | 		DXCH	MPAC		# SWAP MULTI-PURPOSE ACCUMULATOR AREAS. | ||||||
|  | 		INDEX	NEWJOB | ||||||
|  | 		DXCH	MPAC | ||||||
|  | 		DXCH	MPAC | ||||||
|  | 		DXCH	MPAC 	+2 | ||||||
|  | 		INDEX	NEWJOB | ||||||
|  | 		DXCH	MPAC 	+2 | ||||||
|  | 		DXCH	MPAC	+2 | ||||||
|  | 		DXCH	MPAC 	+4 | ||||||
|  | 		INDEX	NEWJOB | ||||||
|  | 		DXCH	MPAC 	+4 | ||||||
|  | 		DXCH	MPAC 	+4 | ||||||
|  | 		DXCH	MPAC 	+6 | ||||||
|  | 		INDEX	NEWJOB | ||||||
|  | 		DXCH	MPAC 	+6 | ||||||
|  | 		DXCH	MPAC 	+6 | ||||||
|  |  | ||||||
|  | 		CAF	ZERO | ||||||
|  | 		XCH	OVFIND		# MAKE PUSHLOC NEGATIVE IF OVFIND NZ. | ||||||
|  | 		EXTEND | ||||||
|  | 		BZF	+3 | ||||||
|  | 		CS	PUSHLOC | ||||||
|  | 		TS	PUSHLOC | ||||||
|  |  | ||||||
|  | 		DXCH	PUSHLOC | ||||||
|  | 		INDEX	NEWJOB | ||||||
|  | 		DXCH	PUSHLOC | ||||||
|  | 		DXCH	PUSHLOC		# SWAPS PUSHLOC AND PRIORITY. | ||||||
|  | 		CAF	LOW9		# SET FIXLOC TO BASE OF VAC AREA. | ||||||
|  | 		MASK	PRIORITY | ||||||
|  | 		TS	FIXLOC | ||||||
|  |  | ||||||
|  | 		CCS	PUSHLOC		# SET OVERFLOW INDICATOR ACCORDING TO | ||||||
|  | 		CAF	ZERO | ||||||
|  | 		TCF	ENDPRCHG -1 | ||||||
|  |  | ||||||
|  | # Page 1109 | ||||||
|  | 		CS	PUSHLOC | ||||||
|  | 		TS	PUSHLOC | ||||||
|  | 		CAF	ONE | ||||||
|  | 		XCH	OVFIND | ||||||
|  | 		TS	NEWJOB | ||||||
|  |  | ||||||
|  | ENDPRCHG	RELINT | ||||||
|  | 		DXCH	LOC		# BASIC JOBS HAVE POSITIVE ADDRESSES, SO | ||||||
|  | 		EXTEND			# DISPATCH WITH A DTCB. | ||||||
|  | 		BZMF	+2		# IF INTERPRETIVE, SET UP EBANK, ETC. | ||||||
|  | 		DTCB | ||||||
|  | # Page 1110 | ||||||
|  | 		COM			# EPILOGUE TO JOB CHANGE FOR INTERPRETIVE | ||||||
|  | 		AD	ONE | ||||||
|  | 		TS	LOC		# RESUME | ||||||
|  | 		TCF	INTRSM | ||||||
|  |  | ||||||
|  | # COMPLETE JOBSLEEP PREPARATIONS. | ||||||
|  |  | ||||||
|  | JOBSLP1		INHINT | ||||||
|  | 		CS	PRIORITY	# NNZ PRIORITY SHOWS JOB ASLEEP. | ||||||
|  | 		TS	PRIORITY | ||||||
|  | 		CAF	LOW7 | ||||||
|  | 		MASK	BBANK | ||||||
|  | 		EXTEND | ||||||
|  | 		ROR	SUPERBNK	# SAVE OLD SUPERBANK VALUE. | ||||||
|  | 		TS	BANKSET | ||||||
|  | 		CS	ZERO | ||||||
|  | JOBSLP2		TS	BUF 	+1	# HOLDS -- HIGHEST PRIORITY. | ||||||
|  | 		TCF	EJSCAN		# SCAN FOR HIGHEST PRIORITY ALA ENDOFJOB. | ||||||
|  |  | ||||||
|  | NUCHANG2	INHINT			# QUICK... DON'T LET NEWJOB CHANGE TO +0. | ||||||
|  | 		CCS	NEWJOB | ||||||
|  | 		TCF	+3		# NEWJOB STILL PNZ | ||||||
|  | 		RELINT			# NEW JOB HAS CHANGED TO +0.  WAKE UP JOB | ||||||
|  | 		TCF	ADVAN 	+2	# VIA NUDIRECT.  (VERY RARE CASE.) | ||||||
|  |  | ||||||
|  | 		CAF	TWO | ||||||
|  | 		EXTEND | ||||||
|  | 		WOR	DSALMOUT	# TURN ON ACTIVITY LIGHT | ||||||
|  | 		DXCH	LOC		# AND SAVE ADDRESS INFO FOR BENEFIT OF | ||||||
|  | 		TCF	CHANJOB +4	# 	POSSIBLE SLEEPINT JOB. | ||||||
|  |  | ||||||
|  | # Page 1111 | ||||||
|  | # TO WAKE UP A JOB, EACH CORE SET IS FOUND TO LOCATE ALL JOBS WHICH ARE ASLEEP.  IF THE FCADR IN THE | ||||||
|  | # LOC REGISTER OF ANY SUCH JOB MATCHES THAT SUPPLIED BY THE CALLER, THAT JOB IS AWAKENED.  IF NO JOB IS FOUND, | ||||||
|  | # LOCCTR IS SET TO -1 AND NO FURTHER ACTION TAKES PLACE. | ||||||
|  |  | ||||||
|  | JOBWAKE2	TS	EXECTEM1 | ||||||
|  | 		CAF	ZERO		# BEGIN CORE SET SCAN | ||||||
|  | 		TS	LOCCTR | ||||||
|  | 		CAF	NO.CORES | ||||||
|  | JOBWAKE4	TS	EXECTEM2 | ||||||
|  | 		INDEX	LOCCTR | ||||||
|  | 		CCS	PRIORITY | ||||||
|  | 		TCF	JOBWAKE3	# ACTIVE JOB -- CHECK NEXT CORE SET. | ||||||
|  | COREINC		DEC	12		# 12 REGISTERS PER CORE SET. | ||||||
|  | 		TCF	WAKETEST	# SLEEPING JOB -- SEE IF CADR MATCHES. | ||||||
|  |  | ||||||
|  | JOBWAKE3	CAF	COREINC | ||||||
|  | 		ADS	LOCCTR | ||||||
|  | 		CCS	EXECTEM2 | ||||||
|  | 		TCF	JOBWAKE4 | ||||||
|  | 		CS	ONE		# EXIT IF SLEEPIN JOB NOT FOUND. | ||||||
|  | 		TS	LOCCTR | ||||||
|  | 		TCF	ENDFIND | ||||||
|  |  | ||||||
|  | WAKETEST	CS	NEWLOC | ||||||
|  | 		INDEX	LOCCTR | ||||||
|  | 		AD	LOC | ||||||
|  | 		EXTEND | ||||||
|  | 		BZF	+2		# IF MATCH. | ||||||
|  | 		TCF 	JOBWAKE3	# EXAMINE NEXT CORE SET IF NO MATCH. | ||||||
|  |  | ||||||
|  | 		INDEX	LOCCTR		# RE-COMPLEMENT PRIORITY TO SHOW JOB AWAKE | ||||||
|  | 		CS	PRIORITY | ||||||
|  | 		TS	NEWPRIO | ||||||
|  | 		INDEX	LOCCTR | ||||||
|  | 		TS	PRIORITY | ||||||
|  |  | ||||||
|  | 		CS	FBANKMSK	# MAKE UP THE 2CADR OF THE WAKE ADDRESS | ||||||
|  | 		MASK	NEWLOC		# USING THE CADR IN NEWLOC AND THE EBANK | ||||||
|  | 		AD	2K		# HALF OF BBANK SAVED IN BANKSET. | ||||||
|  | 		XCH	NEWLOC | ||||||
|  | 		MASK	FBANKMSK | ||||||
|  | 		INDEX	LOCCTR | ||||||
|  | 		AD	BANKSET | ||||||
|  | 		TS	NEWLOC +1 | ||||||
|  |  | ||||||
|  | 		CCS	LOCCTR		# SPECIAL TREATMENT IF THIS JOB WAS | ||||||
|  | 		TCF	SETLOC		# ALREADY IN THE RUN (0) POSITION. | ||||||
|  | 		TCF	SPECTEST | ||||||
|  |  | ||||||
|  | # Page 1112 | ||||||
|  | # PRIORITY CHANGE.  CHANGE THE CONTENTS OF PRIORITY AND SCAN FOR THE JOB OF HIGHEST PRIORITY. | ||||||
|  |  | ||||||
|  | PRIOCH2		TS	LOC | ||||||
|  | 		CAF	ZERO		# SET FLAG TO TELL ENDJOB SCANNER IF THIS | ||||||
|  | 		TS	BUF		# JOB IS STILL HIGHEST PRIORITY. | ||||||
|  | 		CAF	LOW9 | ||||||
|  | 		MASK	PRIORITY | ||||||
|  | 		AD	NEWPRIO | ||||||
|  | 		TS	PRIORITY | ||||||
|  | 		COM | ||||||
|  | 		TCF	JOBSLP2		# AND TO EJSCAN. | ||||||
|  |  | ||||||
|  | # Page 1113 | ||||||
|  | # RELEASE THIS CORE SET AND VAC AREA AND SCAN FOR THE JOB OF HIGHEST ACTIVE PRIORITY. | ||||||
|  |  | ||||||
|  | ENDJOB1		INHINT | ||||||
|  | 		CS	ZERO | ||||||
|  | 		TS	BUF 	+1 | ||||||
|  | 		XCH	PRIORITY | ||||||
|  | 		MASK	LOW9 | ||||||
|  | 		TS	L | ||||||
|  |  | ||||||
|  | 		CS	FAKEPRET | ||||||
|  | 		AD	L | ||||||
|  |  | ||||||
|  | 		EXTEND | ||||||
|  | 		BZMF	EJSCAN		# NOVAC ENDOFJOB | ||||||
|  |  | ||||||
|  | 		CCS	L | ||||||
|  | 		INDEX	A | ||||||
|  | 		TS	0 | ||||||
|  |  | ||||||
|  | EJSCAN		CCS	PRIORITY +12D | ||||||
|  | 		TC	EJ1 | ||||||
|  | 		TC	CCSHOLE | ||||||
|  | 		TCF	+1 | ||||||
|  |  | ||||||
|  | 		CCS	PRIORITY +24D	# EXAMINE EACH PRIORITY REGISTER TO FIND | ||||||
|  | 		TC	EJ1		# THE JOB OF HIGHEST ACTIVE PRIORITY. | ||||||
|  | 		TC	CCSHOLE | ||||||
|  | 		TCF	+1 | ||||||
|  |  | ||||||
|  | 		CCS	PRIORITY +36D | ||||||
|  | 		TC	EJ1 | ||||||
|  | -CCSPR		-CCS	PRIORITY | ||||||
|  | 		TCF	+1 | ||||||
|  |  | ||||||
|  | 		CCS	PRIORITY +48D | ||||||
|  | 		TC	EJ1 | ||||||
|  | 		TC	CCSHOLE | ||||||
|  | 		TCF	+1 | ||||||
|  |  | ||||||
|  | 		CCS	PRIORITY +60D | ||||||
|  | 		TC	EJ1 | ||||||
|  | 		TC	CCSHOLE | ||||||
|  | 		TCF	+1 | ||||||
|  |  | ||||||
|  | 		CCS	PRIORITY +72D | ||||||
|  | 		TC	EJ1 | ||||||
|  | 		TC	CCSHOLE | ||||||
|  | 		TCF	+1 | ||||||
|  |  | ||||||
|  | 		CCS	PRIORITY +84D | ||||||
|  | # Page 1114 | ||||||
|  | 		TC	EJ1 | ||||||
|  | 		TC	CCSHOLE | ||||||
|  | 		TCF	+1 | ||||||
|  |  | ||||||
|  | # Page 1115 | ||||||
|  | # EVALUATE THE RESULTS OF THE SCAN. | ||||||
|  |  | ||||||
|  | 		CCS	BUF 	+1	# SEE IF THERE ARE ANY ACTIVE JOBS WAITING | ||||||
|  | 		TC	CCSHOLE | ||||||
|  | 		TC	CCSHOLE | ||||||
|  |  | ||||||
|  | 		TCF	+2 | ||||||
|  | 		TCF	DUMMYJOB | ||||||
|  | 		CCS	BUF		# BUF IS ZERO IS THIS IS A PRIOCHNG AND | ||||||
|  | 		TCF	+2		# CHANGED PRIORITY IS STILL HIGHEST. | ||||||
|  | 		TCF	ENDPRCHG -1 | ||||||
|  |  | ||||||
|  | 		INDEX	A		# OTHERWISE, SET NEWJOB TO THE RELATIVE | ||||||
|  | 		CAF	0 	-1	# ADDRESS OF THE NEW JOB'S CORE SET. | ||||||
|  | 		AD	-CCSPR | ||||||
|  | 		TS	NEWJOB | ||||||
|  | 		TCF	CHANJOB -2 | ||||||
|  |  | ||||||
|  | EJ1		TS	BUF 	+2 | ||||||
|  | 		AD	BUF 	+1	# - OLD HIGH PRIORITY. | ||||||
|  | 		CCS	A | ||||||
|  | 		CS	BUF 	+2 | ||||||
|  | 		TCF	EJ2		# NEW HIGH PRIORITY. | ||||||
|  | 		NOOP | ||||||
|  | 		INDEX	Q | ||||||
|  | 		TC	2		# PROCEED WITH SEARCH. | ||||||
|  |  | ||||||
|  | EJ2		TS	BUF 	+1 | ||||||
|  | 		EXTEND | ||||||
|  | 		QXCH	BUF		# FOR LOCATING CCS PRIORITY + X INSTR. | ||||||
|  | 		INDEX	BUF | ||||||
|  | 		TC	2 | ||||||
|  |  | ||||||
|  | # Page 1116 | ||||||
|  | # IDLING AND COMPUTER ACTIVITY (GREEN) LIGHT MAINTENANCE. THE IDLING ROUTINE IS NOT A JOB IN ITSELF, | ||||||
|  | # BUT RATHER A SUBROUTINE OF THE EXECUTIVE. | ||||||
|  |  | ||||||
|  | 		EBANK=	SELFRET		# SELF-CHECK STORAGE IN EBANK. | ||||||
|  |  | ||||||
|  | DUMMYJOB	CS	ZERO		# SET NEWJOB TO -0 FOR IDLING. | ||||||
|  | 		TS	NEWJOB | ||||||
|  | 		RELINT | ||||||
|  | 		CS	TWO		# TURN OFF THE ACTIVITY LIGHT. | ||||||
|  | 		EXTEND | ||||||
|  | 		WAND	DSALMOUT | ||||||
|  | ADVAN		CCS	NEWJOB		# IS THE NEWJOB ACTIVE? | ||||||
|  | 		TCF	NUCHANG2	# YES... ONE REQUIRING A CHANGE JOB. | ||||||
|  | 		CAF	TWO		# NEW JOB ALREADY IN POSITION FOR | ||||||
|  | 		TCF	NUDIRECT	# EXECUTION | ||||||
|  |  | ||||||
|  | 		CA	SELFRET | ||||||
|  | 		TS	L		# PUT RETURN ADDRESS IN L. | ||||||
|  | 		CAF	SELFBANK | ||||||
|  | 		TCF	SUPDXCHZ +1	# AND DISPATCH JOB. | ||||||
|  |  | ||||||
|  | 		EBANK=	SELFRET | ||||||
|  | SELFBANK	BBCON	SELFCHK | ||||||
|  |  | ||||||
|  | NUDIRECT	EXTEND			# TURN THE GREEN LIGHT BACK ON. | ||||||
|  | 		WOR	DSALMOUT | ||||||
|  | 		DXCH	LOC		# JOBS STARTED IN THIS FASHION MUST BE | ||||||
|  | 		TCF	SUPDXCHZ | ||||||
|  |  | ||||||
|  | 		BLOCK	2		# IN FIXED-FIXED SO OTHERS MAY USE. | ||||||
|  |  | ||||||
|  | 		COUNT*	$$/EXEC | ||||||
|  |  | ||||||
|  | # SUPDXCHZ -- ROUTINE TO TRANSFER TO SUPEBANK. | ||||||
|  | # CALLING SEQUENCE: | ||||||
|  | #		TCF	SUPDXCHZ	# WITH 2CADR OF DESIRED LOCATION IN A + L. | ||||||
|  |  | ||||||
|  | SUPDXCHZ	XCH	L		# BASIC. | ||||||
|  |  +1		EXTEND | ||||||
|  | 		WRITE	SUPERBNK | ||||||
|  | 		TS	BBANK | ||||||
|  | 		TC	L | ||||||
|  |  | ||||||
|  | NEG100		OCT	77677 | ||||||
|  |  | ||||||
							
								
								
									
										1682
									
								
								Luminary099/EXTENDED_VERBS.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1682
									
								
								Luminary099/EXTENDED_VERBS.agc
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										264
									
								
								Luminary099/FIXED_FIXED_CONSTANT_POOL.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										264
									
								
								Luminary099/FIXED_FIXED_CONSTANT_POOL.agc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,264 @@ | |||||||
|  | # Copyright:	Public domain. | ||||||
|  | # Filename:	FIXED_FIXED_CONSTANT_POOL.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:	1095-1099 | ||||||
|  | # Mod history:	2009-05-25 RSB	Adapted from the corresponding  | ||||||
|  | #				Luminary131 file, using page  | ||||||
|  | #				images from Luminary 1A. | ||||||
|  | # | ||||||
|  | # 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-61 | ||||||
|  | #	16:27 JULY 14, 1969  | ||||||
|  |  | ||||||
|  | # Page 1095 | ||||||
|  | 		BLOCK	02 | ||||||
|  | 		COUNT*	$$/FCONS | ||||||
|  |  | ||||||
|  | # THE FOLLOWING TABLE OF 18 VALUES IS INDEXED.  DO NOT INSERT OR REMOVE ANY QUANTITIES | ||||||
|  |  | ||||||
|  | DPOSMAX		OCT	37777		# MUST PRECEDE POSMAX | ||||||
|  | POSMAX		OCT	37777 | ||||||
|  |  | ||||||
|  | LIMITS		=	NEG1/2 | ||||||
|  |  | ||||||
|  | NEG1/2		OCT	-20000		# USED BY SIN ROUTINE (MUST BE TWO  | ||||||
|  | 					# LOCATIONS IN FRONT OF BIT14) | ||||||
|  | 					 | ||||||
|  | # BIT TABLE					 | ||||||
|  | 					 | ||||||
|  | BIT15		OCT	40000 | ||||||
|  | BIT14		OCT	20000 | ||||||
|  | BIT13		OCT	10000 | ||||||
|  | BIT12		OCT	04000 | ||||||
|  | BIT11		OCT	02000 | ||||||
|  | BIT10		OCT	01000 | ||||||
|  | BIT9		OCT	00400 | ||||||
|  | BIT8		OCT	00200 | ||||||
|  | BIT7		OCT	00100 | ||||||
|  | BIT6		OCT	00040 | ||||||
|  | BIT5		OCT	00020 | ||||||
|  | BIT4		OCT	00010 | ||||||
|  | BIT3		OCT	00004 | ||||||
|  | BIT2		OCT	00002 | ||||||
|  | BIT1		OCT	00001 | ||||||
|  |  | ||||||
|  | # DO NOT DESTROY THIS COMBINATION, SINCE IT IS USED IN DOUBLE PRECISION INSTRUCTIONS. | ||||||
|  | NEG0		OCT	-0		# MUST PRECEDE ZERO | ||||||
|  | ZERO		OCT	0		# MUST FOLLOW NEG0 | ||||||
|  | # BIT1		OCT	00001 | ||||||
|  | # NO.WDS	OCT	2		# INTERPRETER | ||||||
|  | # OCTAL3	OCT	3		# INTERPRETER | ||||||
|  | # R3D1		OCT	4		# PINBALL | ||||||
|  | FIVE		OCT	5 | ||||||
|  | # REVCNT	OCT	6		# INTERPRETER | ||||||
|  | SEVEN		OCT	7 | ||||||
|  | # BIT4		OCT	00010 | ||||||
|  | # R2D1		OCT	11		# PINBALL | ||||||
|  | OCT11		=	R2D1		# P20S | ||||||
|  | # BINCON	DEC	10		# PINBALL		(OCTAL 12) | ||||||
|  | ELEVEN		DEC	11 | ||||||
|  | # OCT14		OCT	14		# ALARM AND ABORT (FILLER) | ||||||
|  | OCT15		OCT	15 | ||||||
|  | # R1D1		OCT	16		# PINBALL | ||||||
|  | LOW4		OCT	17 | ||||||
|  | # Page 1096 | ||||||
|  | # BIT5		OCT	00020 | ||||||
|  | # NC1		OCT	21		# PINBALL | ||||||
|  | # VD1		OCT	23		# PINBALL | ||||||
|  | # OCT24		OCT	24		# SERVICE ROUTINES | ||||||
|  | # MD1		OCT	25		# PINBALL | ||||||
|  | BITS4&5		OCT	30 | ||||||
|  | # OCT31		OCT	31		# SERVICE ROUTINES | ||||||
|  | OCT33		OCT	33 | ||||||
|  | # DEC27		=	OCT33 | ||||||
|  | OCT35		OCT	35 | ||||||
|  | # DEC29		=	OCT35 | ||||||
|  | CALLCODE	OCT	00032 | ||||||
|  | # LOW5		OCT	37		# PINBALL | ||||||
|  | # 33DEC		DEC	33		# PINBALL		(OCTAL 41) | ||||||
|  | # 34DEC		DEC	34		# PINBALL		(OCTAL 42) | ||||||
|  | TBUILDFX	DEC	37		# BUILDUP FOR CONVENIENCE IN DAPTESTING | ||||||
|  | TDECAYFX	DEC	38		# CONVENIENCE FOR DAPTESTING | ||||||
|  | # BIT6		OCT	00040 | ||||||
|  | OCT50		OCT	50 | ||||||
|  | DEC45		DEC	45 | ||||||
|  | SUPER011	OCT	60		# BITS FOR SUPERBNK SETTING 011. | ||||||
|  | .5SEC		DEC	50 | ||||||
|  | # BIT7		OCT	00100 | ||||||
|  |  | ||||||
|  | SUPER100	=	BIT7		# BITS FOR SUPERBNK SETTING 100 | ||||||
|  | 					# (LAST 4K OF ROPE) | ||||||
|  | SUPER101	OCT	120		# BITS FOR SUPERBNK SETTING 101 | ||||||
|  | # OCT121	OCT	121		# SERVICE ROUTINES | ||||||
|  | 					# (FIRST 8K OF ACM) | ||||||
|  | SUPER110	OCT	140		# BITS FOR SUPERBNK SETTING 110. | ||||||
|  | 					# (LAST BK OF ACM) | ||||||
|  | 1SEC		DEC	100 | ||||||
|  | # LOW7		OCT	177		# INTERPRETER | ||||||
|  | # BIT8		OCT	00200 | ||||||
|  | # OT215		OCT	215		# ALARM AND ABORT | ||||||
|  | # 8,5		OCT	00220		# P20-P25 SUNDANCE | ||||||
|  | 2SECS		DEC	200 | ||||||
|  | # LOW8		OCT	377		# PINBALL | ||||||
|  | # BIT9		OCT	00400 | ||||||
|  | GN/CCODE	OCT	00401		# SET S/C CONTROL SWITCH TO G/N | ||||||
|  | 3SECS		DEC	300 | ||||||
|  | 4SECS		DEC	400 | ||||||
|  | LOW9		OCT	777 | ||||||
|  | # BIT10		OCT	01000 | ||||||
|  | # 5.5DEGS	DEC	.03056		# P20-P25 SUNDANCE 	(OCTAL 00765) | ||||||
|  | # OCT1103	OCT	1103		# ALARM AND ABORT | ||||||
|  | C5/2		DEC	.0363551	#		   	(OCTAL 01124) | ||||||
|  | V05N09		VN	0509		# (SAME AS OCTAL 1211) | ||||||
|  | OCT1400		OCT	01400 | ||||||
|  | V06N22		VN	0622 | ||||||
|  | # Page 1097 | ||||||
|  | # MID5		OCT	1740		# PINBALL | ||||||
|  | BITS2-10	OCT	1776 | ||||||
|  | LOW10		OCT	1777 | ||||||
|  | # BIT11		OCT	02000 | ||||||
|  | # 2K+3		OCT	2003		# PINBALL | ||||||
|  | LOW7+2K		OCT	2177		# OP CODE MASK + BANK 1 FBANK SETTING | ||||||
|  | EBANK5		OCT	02400 | ||||||
|  | PRIO3		OCT	03000 | ||||||
|  | EBANK7		OCT	03400 | ||||||
|  | # LOW11		OCT	3777		# PINBALL | ||||||
|  | # BIT12		OCT	04000 | ||||||
|  | # RELTAB	OCT	04025		# T4RUPT | ||||||
|  | PRIO5		OCT	05000 | ||||||
|  | PRIO6		OCT	06000 | ||||||
|  | PRIO7		OCT	07000 | ||||||
|  |  | ||||||
|  | # BIT13		OCT	10000 | ||||||
|  | #		OCT	10003		# T4RUPT	RELTAB +1D | ||||||
|  | # 13,7,2	OCT	10102		# P20-P25 SUNDANCE | ||||||
|  | PRIO11		OCT	11000 | ||||||
|  | # PRIO12	OCT	12000		# BANKCALL | ||||||
|  | PRIO13		OCT	13000 | ||||||
|  | PRIO14		OCT	14000 | ||||||
|  | #		OCT	14031		# T4RUPT	RELTAB +2D | ||||||
|  | PRIO15		OCT	15000 | ||||||
|  | PRIO16		OCT	16000 | ||||||
|  | # 85DEGS	DEC	.45556		# P20-P25 SUNDANCE	(OCTAL 16450) | ||||||
|  | PRIO17		OCT	17000 | ||||||
|  | OCT17770	OCT	17770 | ||||||
|  | # BIT14		OCT	20000 | ||||||
|  | #		OCT	20033		# T4RUPT	RELTAB +3D | ||||||
|  | PRIO21		OCT	21000 | ||||||
|  | 		BLOCK	03 | ||||||
|  | 		COUNT*	$$/FCONS	 | ||||||
|  | PRIO22		OCT	22000		# SERVICE ROUTINES | ||||||
|  | PRIO23		OCT	23000 | ||||||
|  | PRIO24		OCT	24000 | ||||||
|  | # 5/8+1		OCT	24001		# SINGLE PRECISION SUBROUTINES | ||||||
|  | #		OCT	24017		# T4RUPT	RELTAB +4D | ||||||
|  | PRIO25		OCT	25000 | ||||||
|  | PRIO26		OCT	26000 | ||||||
|  | PRIO27		OCT	27000 | ||||||
|  | # CHRPRIO	OCT	30000		# PINBALL | ||||||
|  | #		OCT	30036		# T4RUPT	RELTAB +5D | ||||||
|  | PRIO31		OCT	31000 | ||||||
|  | C1/2		DEC	.7853134	#			(OCTAL 31103) | ||||||
|  | PRIO32		OCT	32000 | ||||||
|  | PRIO33		OCT	33000 | ||||||
|  | PRIO34		OCT	34000 | ||||||
|  | #		OCT	34034		# T4RUPT	RELTAB +6D		 | ||||||
|  | # Page 1098 | ||||||
|  | PRIO35		OCT	35000 | ||||||
|  | PRIO36		OCT	36000 | ||||||
|  | PRIO37		OCT	37000 | ||||||
|  | 63/64+1		OCT	37401 | ||||||
|  | # MID7		OCT	37600		# PINBALL | ||||||
|  | OCT37766	OCT	37766 | ||||||
|  | OCT37774	OCT	37774 | ||||||
|  | OCT37776	OCT	37776 | ||||||
|  | # DPOSMAX	OCT	37777 | ||||||
|  | # BIT15		OCT	40000 | ||||||
|  | # OCT40001	OCT	40001		# INTERPRETER (CS 1 INSTRUCTION) | ||||||
|  | DLOADCOD	OCT	40014 | ||||||
|  | DLOAD*		OCT	40015 | ||||||
|  | #		OCT	40023		# T4RUPT	RELTAB +7D | ||||||
|  | BIT15+6		OCT	40040 | ||||||
|  | OCT40200	OCT	40200 | ||||||
|  | #		OCT	44035		# T4RUPT	RELTAB +8D | ||||||
|  | #		OCT	50037		# T4RUPT	RELTAB +9D | ||||||
|  | #		OCT	54000		# T4RUPT	RELTAB +10D | ||||||
|  | -BIT14		OCT	57777 | ||||||
|  | # RELTAB11	OCT	60000		# T4RUPT | ||||||
|  | C3/2		DEC	-.3216147	#			(OCTAL 65552) | ||||||
|  | 13,14,15	OCT	70000 | ||||||
|  | -1/8		OCT	73777 | ||||||
|  | HIGH4		OCT	74000 | ||||||
|  | -ENDERAS	DEC	-2001		#			(OCTAL 74056) | ||||||
|  | # HI5		OCT	76000		# PINBALL | ||||||
|  | HIGH9		OCT	77700 | ||||||
|  | # -ENDVAC	DEC	-45		# INTERPRETER		(OCTAL 77722) | ||||||
|  | # -OCT10	OCT	-10		#			(OCTAL 77767) | ||||||
|  | # NEG4		DEC	-4		#			(OCTAL 77773) | ||||||
|  | NEG3		DEC	-3 | ||||||
|  | NEG2		OCT	77775 | ||||||
|  | NEGONE		DEC	-1 | ||||||
|  |  | ||||||
|  | # Page 1099 | ||||||
|  |  | ||||||
|  | # DEFINED BY EQUALS | ||||||
|  |  | ||||||
|  | # IT WOULD BE TO THE USERS ADVANTAGE TO OCCASIONALLY CHECK ANY OF THESE SYMBOLS IN ORDER TO PREVENT ANY | ||||||
|  | # ACCIDENTAL DEFINITION CHANGES. | ||||||
|  |  | ||||||
|  | MINUS1		=	NEG1 | ||||||
|  | NEG1		=	NEGONE | ||||||
|  | ONE		=	BIT1 | ||||||
|  | TWO		=	BIT2 | ||||||
|  | THREE		=	OCTAL3 | ||||||
|  | LOW2		=	THREE | ||||||
|  | FOUR		=	BIT3 | ||||||
|  | SIX		=	REVCNT | ||||||
|  | LOW3		=	SEVEN | ||||||
|  | EIGHT		=	BIT4 | ||||||
|  | NINE		=	R2D1 | ||||||
|  | TEN		=	BINCON | ||||||
|  | NOUTCON		=	ELEVEN | ||||||
|  | OCT23		=	VD1 | ||||||
|  | OCT25		=	MD1 | ||||||
|  | PRIO1		=	BIT10 | ||||||
|  | EBANK3		=	OCT1400 | ||||||
|  | PRIO2		=	BIT11 | ||||||
|  | OCT120		=	SUPER101 | ||||||
|  | OCT140		=	SUPER110 | ||||||
|  | 2K		=	BIT11 | ||||||
|  | EBANK4		=	BIT11 | ||||||
|  | PRIO4		=	BIT12 | ||||||
|  | EBANK6		=	PRIO3 | ||||||
|  | QUARTER		=	BIT13 | ||||||
|  | PRIO10		=	BIT13 | ||||||
|  | OCT10001	=	CCSL | ||||||
|  | POS1/2		=	HALF | ||||||
|  | PRIO20		=	BIT14 | ||||||
|  | HALF		=	BIT14 | ||||||
|  | PRIO30		=	CHRPRIO | ||||||
|  | BIT13-14	=	PRIO30		# INTERPRETER USES IN PROCESSING STORECODE | ||||||
|  | OCT30002	=	TLOAD 	+1 | ||||||
|  | B12T14		=	PRIO34 | ||||||
|  | NEGMAX		=	BIT15 | ||||||
|  | VLOADCOD	=	BIT15 | ||||||
|  | VLOAD*		=	OCT40001 | ||||||
|  | OCT60000	=	RELTAB11 | ||||||
|  | BANKMASK	=	HI5 | ||||||
|  |  | ||||||
							
								
								
									
										1242
									
								
								Luminary099/FRESH_START_AND_RESTART.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1242
									
								
								Luminary099/FRESH_START_AND_RESTART.agc
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										76
									
								
								Luminary099/GIMBAL_LOCK_AVOIDANCE.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										76
									
								
								Luminary099/GIMBAL_LOCK_AVOIDANCE.agc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,76 @@ | |||||||
|  | # Copyright:	Public domain. | ||||||
|  | # Filename:	GIMBAL_LOCK_AVOIDANCE.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:	364 | ||||||
|  | # Mod history:	2009-05-17 RSB	Adapted from the corresponding  | ||||||
|  | #				Luminary131 file, using page  | ||||||
|  | #				images from Luminary 1A. | ||||||
|  | #		2010-12-31 JL	Fixed page number comment. | ||||||
|  | # | ||||||
|  | # 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-61 | ||||||
|  | #	16:27 JULY 14, 1969  | ||||||
|  |  | ||||||
|  | # Page 364 | ||||||
|  | 		BANK	15 | ||||||
|  | 		 | ||||||
|  | 		SETLOC	KALCMON1 | ||||||
|  | 		BANK | ||||||
|  | 		 | ||||||
|  | # DETECTING GIMBAL LOCK | ||||||
|  | LOCSKIRT	EQUALS	NOGIMLOC | ||||||
|  |  | ||||||
|  | NOGIMLOC	SET | ||||||
|  | 			CALCMAN3 | ||||||
|  | WCALC		LXC,1	DLOAD* | ||||||
|  | 			RATEINDX	# CHOOSE THE DESIRED MANEUVER RATE | ||||||
|  | 			ARATE,1		# FROM A LIST OF FOUR | ||||||
|  | 		SR4	CALL		# COMPUTE THE INCREMENTAL ROTATION MATRIX | ||||||
|  | 			DELCOMP		# DEL CORRESPONDING TO A 1 SEC ROTATION | ||||||
|  | 					# ABOUT COF | ||||||
|  | 		DLOAD*	VXSC | ||||||
|  | 			ARATE,1 | ||||||
|  | 			COF | ||||||
|  | 		STODL	BRATE		# COMPONENT MANEUVER RATES 45 DEG/SEC | ||||||
|  | 			AM | ||||||
|  | 		DMP	DDV* | ||||||
|  | 			ANGLTIME | ||||||
|  | 			ARATE,1 | ||||||
|  | 		SR | ||||||
|  | 			5 | ||||||
|  | 		STORE	TM		# MANEUVER EXECUTION TIME SCALED AS T2 | ||||||
|  | 		SETGO	 | ||||||
|  | 			CALCMAN2	# D(OFF) = CONTINUE MANEUVER | ||||||
|  | 			NEWANGL +1	# 1(ON) = START MANEUVER | ||||||
|  | 			 | ||||||
|  | # THE FOUR SELECTABLE FREE FALL MANEUVER RATES SELECTED BY | ||||||
|  | # LOADING RATEINDX WITH 0, 2, 4, 6, RESPECTIVELY | ||||||
|  |  | ||||||
|  | ARATE		2DEC	.0088888888	# = 0.2 DEG/SEC		$ 22.5 DEG/SEC | ||||||
|  |  | ||||||
|  | 		2DEC	.0222222222	# = 0.5 DEG/SEC		$ 22.5 DEG/SEC | ||||||
|  | 		 | ||||||
|  | 		2DEC	.0888888888	# = 2.0 DEG/SEC		$ 22.5 DEG/SEC | ||||||
|  | 		 | ||||||
|  | 		2DEC	.4444444444	# = 10.0 DEG/SEC	$ 22.5 DEG/SEC | ||||||
|  | 		 | ||||||
|  | ANGLTIME	2DEC	.0001907349	# = 100B-19 FUDGE FACTOR TO CONVERT | ||||||
|  | 					# MANEUVER ANGLE TO MANEUVER TIME | ||||||
|  | 					 | ||||||
|  |  | ||||||
							
								
								
									
										205
									
								
								Luminary099/GROUND_TRACKING_DETERMINATION_PROGRAM.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										205
									
								
								Luminary099/GROUND_TRACKING_DETERMINATION_PROGRAM.agc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,205 @@ | |||||||
|  | # Copyright:	Public domain. | ||||||
|  | # Filename:	GROUND_TRACKING_DETERMINATION_PROGRAM.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:	654-657 | ||||||
|  | # Mod history:	2009-05-18 RSB	Adapted from the corresponding  | ||||||
|  | #				Luminary131 file, using page  | ||||||
|  | #				images from Luminary 1A. | ||||||
|  | # | ||||||
|  | # 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-61 | ||||||
|  | #	16:27 JULY 14, 1969  | ||||||
|  |  | ||||||
|  | # Page 654 | ||||||
|  | # GROUND TRACKING DETERMINATION PROGRAM -- P21 | ||||||
|  | # PROGRAM DESCRIPTION | ||||||
|  | #	MOD NO -- 1 | ||||||
|  | #	MOD BY -- N. M. NEVILLE | ||||||
|  | # | ||||||
|  | # FUNCTIONAL DESCRIPTION -- | ||||||
|  | #	TO PROVIDE THE ASTRONAUT DETAILS OF THE LM OR CSM GROUND TRACK WITHOUT | ||||||
|  | #	THE NEED FOR GROUND COMMUNICATION (REQUESTED BY DSKY). | ||||||
|  | # | ||||||
|  | # CALLING SEQUENCE -- | ||||||
|  | #	ASTRONAUT REQUEST THROUGH DSKY V37E21E | ||||||
|  | # | ||||||
|  | # SUBROUTINES CALLED -- | ||||||
|  | #	GOPERF4 | ||||||
|  | #	GOFLASH | ||||||
|  | #	THISPREC | ||||||
|  | #	OTHPREC | ||||||
|  | #	LAT-LONG | ||||||
|  | # | ||||||
|  | # NORMAL EXIT MODES -- | ||||||
|  | #	ASTRONAUT REQUEST THROUGH DSKY TO TERMINATE PROGRAM V34E | ||||||
|  | # | ||||||
|  | # ALARM OR ABORT EXIT MODES -- | ||||||
|  | #	NONE | ||||||
|  | # | ||||||
|  | # OUTPUT -- | ||||||
|  | #	OCTAL DISPLAY OF OPTION CODE AND VEHICLE WHOSE GROUND TRACK IS TO BE | ||||||
|  | #	COMPUTED | ||||||
|  | #		OPTION CODE	00002 | ||||||
|  | #		THIS		00001 | ||||||
|  | #		OTHER		00002 | ||||||
|  | #	DECIMAL DISPLAY OF TIME TO BE INTEGRATED TO HOURS, MINUTES, SECONDS | ||||||
|  | #	DECIMAL DISPLAY OF LAT,LONG,ALT | ||||||
|  | # | ||||||
|  | # ERASABLE INITIALIZATION REQUIRED | ||||||
|  | #	AX0		2DEC	4.652459653 E-5 RADIANS		$68-69 CONSTANTS* | ||||||
|  | #	-AY0		2DEC	2.137535898 E-5 RADIANS | ||||||
|  | #	AZ0		2DEC	.7753206164	REVOLUTIONS | ||||||
|  | # 	FOR LUNAR ORBITS 504LM VECTOR IS NEEDED: | ||||||
|  | #	504LM		2DEC	-2.700340600 E-5 RADIANS | ||||||
|  | #	504LM _2	2DEC	-7.514128400 E-4 RADIANS | ||||||
|  | #	504LM _4	2DEC	_2.553198641 E-4 RADIANS | ||||||
|  | # | ||||||
|  | # 	NONE | ||||||
|  | # | ||||||
|  | # DEBRIS | ||||||
|  | # Page 655 | ||||||
|  | #	CENTRALS -- A,Q,L | ||||||
|  | #	OTHER -- THOSE USED BY THE ABOVE LISTED SUBROUTINES | ||||||
|  | #	SEE LEMPREC, LAT-LONG | ||||||
|  |  | ||||||
|  | 		SBANK=	LOWSUPER	# FOR LOW 2CADR'S. | ||||||
|  |  | ||||||
|  | 		BANK	33 | ||||||
|  | 		SETLOC	P20S | ||||||
|  | 		BANK | ||||||
|  |  | ||||||
|  | 		EBANK=	P21TIME | ||||||
|  | 		COUNT*	$$/P21 | ||||||
|  | PROG21		CAF	ONE | ||||||
|  | 		TS	OPTION2		# ASSUMED VEHICLE IS LM, R2 = 00001 | ||||||
|  | 		CAF	BIT2		# OPTION 2 | ||||||
|  | 		TC	BANKCALL | ||||||
|  | 		CADR	GOPERF4 | ||||||
|  | 		TC	GOTOP00H	# TERMINATE | ||||||
|  | 		TC	+2		# PROCEED VALUE OF ASSUMED VEHICLE OK | ||||||
|  | 		TC	-5		# R2 LOADED THROUGH DSKY | ||||||
|  | P21PROG1	CAF	V6N34		# LOAD DESIRED TIME OF LAT-LONG. | ||||||
|  | 		TC	BANKCALL | ||||||
|  | 		CADR	GOFLASH | ||||||
|  | 		TC	GOTOP00H	# TERM | ||||||
|  | 		TC	+2		# PROCEED VALUES OK | ||||||
|  | 		TC	-5		# TIME LOADED THROUGH DSKY | ||||||
|  | 		TC	INTPRET | ||||||
|  | 		DLOAD | ||||||
|  | 			DSPTEM1 | ||||||
|  | 		STCALL	TDEC1		# INTEG TO TIME SPECIFIED IN TDEC | ||||||
|  | 			INTSTALL | ||||||
|  | 		BON	CLEAR | ||||||
|  | 			P21FLAG | ||||||
|  | 			P21CONT		# ON -- RECYCLE USING BASE VECTOR | ||||||
|  | 			VINTFLAG	# OFF -- 1ST PASS CALL BASE VECTOR | ||||||
|  | 		SLOAD	SR1 | ||||||
|  | 			OPTION2 | ||||||
|  | 		BHIZ	SET | ||||||
|  | 			+2		# ZERO -- THIS VEHICLE (LM) | ||||||
|  | 			VINTFLAG	# ONE -- OTHER VEHICLE (CM) | ||||||
|  | 		CLEAR	CLEAR | ||||||
|  | 			DIM0FLAG | ||||||
|  | 			INTYPFLG	# PRECISION | ||||||
|  | 		CALL | ||||||
|  | 			INTEGRV		#    CALCULATE | ||||||
|  | 		GOTO			#       AND | ||||||
|  | 			P21VSAVE	# SAVE BASE VECTOR | ||||||
|  | P21CONT		VLOAD | ||||||
|  | 			P21BASER	# RECYCLE -- INTEG FROM BASE VECTOR | ||||||
|  | 		STOVL	RCV		# --POS | ||||||
|  | # Page 656		 | ||||||
|  | 			P21BASEV | ||||||
|  | 		STODL	VCV		# --VEL | ||||||
|  | 			P21TIME | ||||||
|  | 		STORE	TET		# --TIME | ||||||
|  | 		CLEAR	CLEAR | ||||||
|  | 			DIM0FLAG | ||||||
|  | 			MOONFLAG | ||||||
|  | 		SLOAD	BZE | ||||||
|  | 			P21ORIG | ||||||
|  | 			+3		# ZERO = EARTH | ||||||
|  | 		SET			# ---2 = MOON | ||||||
|  | 			MOONFLAG | ||||||
|  |  +3		CALL | ||||||
|  | 			INTEGRVS | ||||||
|  | P21VSAVE	DLOAD			# SAVE CURRENT BASE VECTOR | ||||||
|  | 			TAT | ||||||
|  | 		STOVL	P21TIME		# --TIME | ||||||
|  | 			RATT1 | ||||||
|  | 		STOVL	P21BASER	# --POS B-29 OR B-27 | ||||||
|  | 			VATT1 | ||||||
|  | 		STORE	P21BASEV	# --VEL B-07 OR B-05 | ||||||
|  | 		ABVAL	SL* | ||||||
|  | 			0,2 | ||||||
|  | 		STOVL	P21VEL		# VEL/ FOR N91 DISP | ||||||
|  | 			RATT | ||||||
|  | 		UNIT	DOT | ||||||
|  | 			VATT		# U(R).V | ||||||
|  | 		DDV	ASIN		# U(R).U(V) | ||||||
|  | 			P21VEL | ||||||
|  | 		STORE	P21GAM		# SIN-1 U(R).U(V) , -90 TO +90 | ||||||
|  | 		SXA,2	SLOAD | ||||||
|  | 			P21ORIG		# 0 = EARTH | ||||||
|  | 			OPTION2 | ||||||
|  | 		SR1	BHIZ | ||||||
|  | 			+3 | ||||||
|  | 		GOTO | ||||||
|  | 			+4 | ||||||
|  |  +3		BON | ||||||
|  | 			SURFFLAG | ||||||
|  | 			P21DSP | ||||||
|  |  +4		SET | ||||||
|  | 			P21FLAG | ||||||
|  | P21DSP		CLEAR	SLOAD		# GENERATE DISPLAY DATA | ||||||
|  | 			LUNAFLAG | ||||||
|  | 			X2 | ||||||
|  | 		BZE	SET | ||||||
|  | 			+2		# 0 = EARTH | ||||||
|  | 			LUNAFLAG | ||||||
|  | 		VLOAD | ||||||
|  | 			RATT | ||||||
|  | # Page 657			 | ||||||
|  | 		STODL	ALPHAV | ||||||
|  | 			TAT | ||||||
|  | 		CLEAR	CALL | ||||||
|  | 			ERADFLAG | ||||||
|  | 			LAT-LONG | ||||||
|  | 		DMP			# MPAC = ALT, METERS B-29 | ||||||
|  | 			K.01 | ||||||
|  | 		STORE	P21ALT		# ALT/100 FOR N91 DISP | ||||||
|  | 		EXIT | ||||||
|  | 		CAF	V06N43		# DISPLAY LAT, LONG, ALT | ||||||
|  | 		TC	BANKCALL	# LAT, LONG = 1/2 REVS B0 | ||||||
|  | 		CADR	GOFLASH		# ALT = KM B14 | ||||||
|  | 		TC	GOTOP00H	# TERM | ||||||
|  | 		TC	GOTOP00H | ||||||
|  | 		TC	INTPRET		# V32E RECYCLE | ||||||
|  | 		DLOAD	DAD | ||||||
|  | 			P21TIME | ||||||
|  | 			600SEC		# 600 SECONDS OR 10 MIN | ||||||
|  | 		STORE	DSPTEM1 | ||||||
|  | 		RTB | ||||||
|  | 			P21PROG1 | ||||||
|  | 600SEC		2DEC	60000		# 10 MIN | ||||||
|  |  | ||||||
|  | V06N43		VN	00643 | ||||||
|  | V6N34		VN	00634 | ||||||
|  | K.01		2DEC	.01 | ||||||
|  |  | ||||||
							
								
								
									
										418
									
								
								Luminary099/IMU_COMPENSATION_PACKAGE.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										418
									
								
								Luminary099/IMU_COMPENSATION_PACKAGE.agc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,418 @@ | |||||||
|  | # Copyright:	Public domain. | ||||||
|  | # Filename:	IMU_COMPENSATION_PACKAGE.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:	326-337 | ||||||
|  | # Mod history:	2009-05-16 RSB	Adapted from the corresponding  | ||||||
|  | #				Luminary131 file, using page  | ||||||
|  | #				images from Luminary 1A. | ||||||
|  | #		2009-06-07 RSB	Corrected a typo. | ||||||
|  | # | ||||||
|  | # 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-61 | ||||||
|  | #	16:27 JULY 14, 1969  | ||||||
|  |  | ||||||
|  | # Page 326 | ||||||
|  | 		BANK	7 | ||||||
|  | 		SETLOC	IMUCOMP | ||||||
|  | 		BANK | ||||||
|  | 		 | ||||||
|  | 		EBANK=	NBDX | ||||||
|  | 		 | ||||||
|  | 		COUNT*	$$/ICOMP | ||||||
|  | 1/PIPA		CAF	LGCOMP		# SAVE EBANK OF CALLING PROGRAM | ||||||
|  | 		XCH	EBANK | ||||||
|  | 		TS	MODE | ||||||
|  | 		 | ||||||
|  | 		CCS	GCOMPSW		# BYPASS IF GCOMPSW NEGATIVE | ||||||
|  | 		TCF	+3 | ||||||
|  | 		TCF	+2 | ||||||
|  | 		TCF	IRIG1		# RETURN | ||||||
|  | 		 | ||||||
|  | 1/PIPA1		CAF	FOUR		# PIPAZ, PIPAY, PIPAX | ||||||
|  | 		TS	BUF	+2 | ||||||
|  | 		 | ||||||
|  | 		INDEX	BUF 	+2 | ||||||
|  | 		CA	PIPASCF		# (P.P.M.) X 2(-9) | ||||||
|  | 		EXTEND | ||||||
|  | 		INDEX	BUF 	+2 | ||||||
|  | 		MP	DELVX		# (PP) X 2(+14) NOW (PIPA PULSES) X 2(+5) | ||||||
|  | 		TS	Q		# SAVE MAJOR PART | ||||||
|  | 		 | ||||||
|  | 		CA	L		# MINOR PART | ||||||
|  | 		EXTEND | ||||||
|  | 		MP	BIT6		# SCALE 2(+9)	SHIFT RIGHT 9 | ||||||
|  | 		INDEX 	BUF 	+2 | ||||||
|  | 		TS	DELVX 	+1	# FRACTIONAL PIPA PULSES SCALED 2(+14) | ||||||
|  | 		 | ||||||
|  | 		CA	Q		# MAJOR PART | ||||||
|  | 		EXTEND | ||||||
|  | 		MP	BIT6		# SCALE 2(+9)	SHIFT RIGHT 9 | ||||||
|  | 		INDEX	BUF 	+2	 | ||||||
|  | 		DAS	DELVX		# (PIPAI) + (PIPAI)(SF) | ||||||
|  | 		 | ||||||
|  | 		INDEX	BUF 	+2 | ||||||
|  | 		CS	PIPABIAS	# (PIPA PULSES)/(CS) X 2(-5)		 *			* | ||||||
|  | 		EXTEND | ||||||
|  | 		MP	1/PIPADT	# (CS) X 2(+8) NOW (PIPA PULSES) X 2(+5) * | ||||||
|  | 		EXTEND | ||||||
|  | 		MP	BIT4		# SCALE 2(+11) SHIFT RIGHT 11		 * | ||||||
|  | 		INDEX	BUF 	+2 | ||||||
|  | 		DAS	DELVX		# (PIPAI) + (PIPAI)(SFE) - (BIAS)(DELTAT) | ||||||
|  | 		 | ||||||
|  | 		CCS	BUF 	+2	# PIPAZ, PIPAY, PIPAX | ||||||
|  | 		AD	NEG1 | ||||||
|  | 		TCF	1/PIPA1	+1 | ||||||
|  | # Page 327 | ||||||
|  | 		NOOP			# LESS THAN ZERO IMPOSSIBLE | ||||||
|  |  | ||||||
|  | # Page 328 | ||||||
|  | IRIGCOMP	TS	GCOMPSW		# INDICATE COMMANDS 2 PULSES OR LESS. | ||||||
|  | 		TS	BUF		# INDEX COUNTER.  IRIGX, IRIGY, IRIGZ. | ||||||
|  | 		 | ||||||
|  | 		TC	IRIGX		# COMPENSATE ACCELERATION TERMS | ||||||
|  | 		 | ||||||
|  | 		CS	NBDX		# (GYRO PULSES)/(CS) X 2(-5) | ||||||
|  | 		TC	DRIFTSUB	# -(NBOX)(DELTAT)	(GYRO PULSES) X 2(+14) | ||||||
|  | 		 | ||||||
|  | 		TC	IRIGY		# COMPENSATE ACCELERATION TERMS | ||||||
|  | 		 | ||||||
|  | 		CS	NBDY		# (GYRO PULSES)/(CS) X 2(-5) | ||||||
|  | 		TC	DRIFTSUB	# +(NBDY)(DELTAT)	(GYRO PULSES) X 2(+14) | ||||||
|  | 		 | ||||||
|  | 		TC	IRIGZ		# COMPENSATE ACCELERATION TERMS | ||||||
|  | 		 | ||||||
|  | 		CA	NBDZ		# (GYRO PULSES)/(CS) X 2(-5) | ||||||
|  | 		TC	DRIFTSUB	# +(NBDZ)(DELTAT)	(GYRO PULSES) X 2(+14) | ||||||
|  | 		 | ||||||
|  | 		CCS	GCOMPSW		# ARE GYRO COMMANDS GREATER THAN 2 PULSES | ||||||
|  | 		TCF	+2		# YES	SEND OUT GYRO TORQUING COMMANDS. | ||||||
|  | 		TCF	IRIG1		# NO	RETURN | ||||||
|  | 		 | ||||||
|  | 		CA	PRIO21		# PRIO GREATER THAN SERVICER. | ||||||
|  | 		TC	NOVAC		# SEND OUT GYRO TORQUING COMMANDS. | ||||||
|  | 		EBANK=	NBDX | ||||||
|  | 		2CADR	1/GYRO | ||||||
|  | 		 | ||||||
|  | 		RELINT | ||||||
|  | IRIG1		CA	MODE		# RESTORE CALLER'S EBANK | ||||||
|  | 		TS	EBANK | ||||||
|  | 		TCF	SWRETURN | ||||||
|  | 		 | ||||||
|  | # Page 329 | ||||||
|  | IRIGX		EXTEND	 | ||||||
|  | 		QXCH	MPAC	+2	# SAVE Q | ||||||
|  | 		EXTEND | ||||||
|  | 		DCS	DELVX		# (PIPA PULSES) X 2(+14) | ||||||
|  | 		DXCH	MPAC | ||||||
|  | 		CA	ADIAX		# (GYRO PULSES)/(PIPA PULSE) X 2(-6)		* | ||||||
|  | 		TC	GCOMPSUB	# -(ADIAX)(PIPAX)	   (GYRO PULSES) X 2(+14) | ||||||
|  | 		 | ||||||
|  | 		EXTEND			#  | ||||||
|  | 		DCS	DELVY		# 	(PIPA PULSES) X 2(+14) | ||||||
|  | 		DXCH	MPAC		#  | ||||||
|  | 		CS	ADSRAX		# 	(GYRO PULSES)/(PIPA PULSE) X 2(-6)	* | ||||||
|  | 		TC	GCOMPSUB	# 	-(ADSRAX)(PIPAY)   (GYRO PULSES) X 2(+14) | ||||||
|  |  | ||||||
|  | #		EXTEND			# *** | ||||||
|  | #		DCS	DELVY		# ***	(PIPA PULSES) X 2(+14) | ||||||
|  | #		DXCH	MPAC		# *** | ||||||
|  | #		CA	ADOAX		# ***	(GYRO PULSES)/(PIPA PULSE) X 2(-6)	* | ||||||
|  | #		TC	GCOMPSUB	# ***	-(ADOAX)(PIPAZ)	   (GYRO PULSES) X 2(+14) | ||||||
|  |  | ||||||
|  | 		TC	MPAC	+2 | ||||||
|  |  | ||||||
|  | IRIGY		EXTEND | ||||||
|  | 		QXCH	MPAC	+2	# SAVE Q | ||||||
|  | 		EXTEND | ||||||
|  | 		DCS	DELVY		# (PIPA PULSES) X 2(+14) | ||||||
|  | 		DXCH	MPAC | ||||||
|  | 		CA	ADIAY		# (GYRO PULSES)/(PIPA PULSE) X 2(-6)		* | ||||||
|  | 		TC	GCOMPSUB	# -(ADIAY)(PIPAY)	   (GYRO PULSES) X 2(+14) | ||||||
|  |  | ||||||
|  | 		EXTEND | ||||||
|  | 		DCS	DELVZ		# (PIPA PULSES) X 2(+14) | ||||||
|  | 		DXCH	MPAC | ||||||
|  | 		CS	ADSRAY		# (GYRO PULSES)/(PIPA PULSE) X 2(-6)		* | ||||||
|  | 		TC	GCOMPSUB	# +(ADSRAY)(PIPAZ)      	(GYRO PULSES) X 2(+14) | ||||||
|  |  | ||||||
|  | #		EXTEND			# *** | ||||||
|  | #		DCS	DELVX		# ***	(PIPA PULSES) X 2(+14) | ||||||
|  | #		DXCH	MPAC		# *** | ||||||
|  | #		CA	ADOAY		# ***	(GYRO PULSES)/(PIPA PULSE) X 2(-6)	* | ||||||
|  | #		TC	GCOMPSUB	# ***	-(ADOAY)(/PIPAX)   (GYRO PULSES) X 2(+14) | ||||||
|  |  | ||||||
|  | 		TC	MPAC +2 | ||||||
|  |  | ||||||
|  | IRIGZ		EXTEND | ||||||
|  | 		QXCH	MPAC +2		# SAVE Q | ||||||
|  | 		EXTEND | ||||||
|  | 		DCS	DELVY		# (PIPA PULSES) X 2(+14) | ||||||
|  | 		DXCH	MPAC | ||||||
|  | 		CA	ADSRAZ		# (GYRO PULSES)/(PIPA PULSE) X 2(-6)		* | ||||||
|  | # Page 330 | ||||||
|  | 		TC	GCOMPSUB	# -(ADSRAZ)(PIPAY)	  (GYRO PULSES) X 2(+14) | ||||||
|  | 		 | ||||||
|  | 		EXTEND | ||||||
|  | 		DCS	DELVZ		# (PIPA PULSES) X 2(+14) | ||||||
|  | 		DXCH	MPAC | ||||||
|  | 		CA	ADIAZ		# (GYRO PULSES)/(PIPA PULSE) X 2(-6)		* | ||||||
|  | 		TC	GCOMPSUB	# -(ADIAZ)(PIPAZ)	   (GYRO PULSES) X 2(+14) | ||||||
|  | 		 | ||||||
|  | #		EXTEND			# *** | ||||||
|  | #		DCS	DELVX		# ***	(PIPA PULSE) X 2(+14) | ||||||
|  | #		DXCH	MPAC		# *** | ||||||
|  | #		CS	ADOAZ		# ***	(GYRO PULSES)/(PIPA PULSE) X 2(-6)	* | ||||||
|  | #		TC	GCOMPSUB	# ***	+(ADOAZ)(PIPAX)	   (GYRO PULSES) X 2(+14) | ||||||
|  |  | ||||||
|  | 		TC	MPAC +2 | ||||||
|  |  | ||||||
|  | # Page 331 | ||||||
|  | GCOMPSUB	XCH	MPAC		# ADIA OR ADSRA COEFFICIENT ARRIVES IN A | ||||||
|  | 		EXTEND			# C(MPAC) = (PIPA PULSES) X 2(+14) | ||||||
|  | 		MP	MPAC		# (GYRO PULSES)/(PIPA PULSE) X 2(-6)		* | ||||||
|  | 		DXCH	VBUF		# NOW = (GYRO PULSES) X 2(+8)			* | ||||||
|  |  | ||||||
|  | 		CA	MPAC +1		# MINOR PART OF PIPA PULSES | ||||||
|  | 		EXTEND | ||||||
|  | 		MP	MPAC		# ADIA OR ADSRA | ||||||
|  | 		TS	L | ||||||
|  | 		CAF	ZERO | ||||||
|  | 		DAS	VBUF		# NOW = (GYRO PULSES) X 2(+8)			* | ||||||
|  |  | ||||||
|  | 		CA	VBUF		# PARTIAL RESULT -- MAJOR | ||||||
|  | 		EXTEND | ||||||
|  | 		MP	BIT9		# SCALE 2(+6)	SHIFT RIGHT 6			* | ||||||
|  | 		INDEX	BUF		# RESULT = (GYRO PULSES) X 2(+14) | ||||||
|  | 		DAS	GCOMP		# HI(ADIA)(PIPAI) OR HI(ADSRA)(PIPAI) | ||||||
|  |  | ||||||
|  | 		CA	VBUF +1		# PARTIAL RESULT -- MINOR | ||||||
|  | 		EXTEND | ||||||
|  | 		MP	BIT9		# SCALE 2(+6)	SHIFT RIGHT 6			* | ||||||
|  | 		TS	L | ||||||
|  | 		CAF	ZERO | ||||||
|  | 		INDEX	BUF		# RESULT = (GYRO PULSES) X 2(+14) | ||||||
|  | 		DAS	GCOMP		# (ADIA)(PIPAI) OR (ADSRA)(PIPAI) | ||||||
|  |  | ||||||
|  | 		TC	Q | ||||||
|  |  | ||||||
|  | # Page 332 | ||||||
|  | DRIFTSUB	EXTEND | ||||||
|  | 		QXCH	BUF 	+1 | ||||||
|  |  | ||||||
|  | 		EXTEND			# C(A) = NBD	(GYRO PULSES)/(CS) X 2(-5) | ||||||
|  | 		MP	1/PIPADT	# (CS) X 2(+8)	NO (GYRO PULSES) X 2(+3) | ||||||
|  | 		LXCH	MPAC 	+1	# SAVE FOR FRACTIONAL COMPENSATION | ||||||
|  | 		EXTEND | ||||||
|  | 		MP	BIT4		# SCALE 2(+11)	SHIFT RIGHT 11 | ||||||
|  | 		INDEX	BUF | ||||||
|  | 		DAS	GCOMP		# HI(NBD)(DELTAT)	(GYRO PULSES) X 2(+14) | ||||||
|  | 		 | ||||||
|  | 		CA	MPAC 	+1	# NO MINOR PART | ||||||
|  | 		EXTEND | ||||||
|  | 		MP	BIT4		# SCALE 2(+11)		SHIFT RIGHT 11 | ||||||
|  | 		TS	L | ||||||
|  | 		CAF	ZERO | ||||||
|  | 		INDEX	BUF		# ADD IN FRACTIONAL COMPENSATION | ||||||
|  | 		DAS	GCOMP		# (NBD)(DELTAT)		(GYRO PULSES) X 2(+14) | ||||||
|  | 		 | ||||||
|  | DRFTSUB2	CAF	TWO		# PIPAX, PIPAY, PIPAZ | ||||||
|  | 		AD	BUF | ||||||
|  | 		XCH	BUF | ||||||
|  | 		INDEX	A | ||||||
|  | 		CCS	GCOMP		# ARE GYRO COMMANDS 1 PULSE OR GREATER | ||||||
|  | 		TCF	+2		# YES | ||||||
|  | 		TC	BUF 	+1	# NO | ||||||
|  | 		 | ||||||
|  | 		MASK	COMPCHK		# DEC -1 | ||||||
|  | 		CCS	A		# ARE GYRO COMMANDS GREATER THAN 2 PULSES | ||||||
|  | 		TS	GCOMPSW		# YES -- SET GCOMPSW POSITIVE | ||||||
|  | 		TC	BUF 	+1	# NO | ||||||
|  | 		 | ||||||
|  | # Page 333 | ||||||
|  | 1/GYRO		CAF	FOUR		# PIPAZ, PIPAY, PIPAX | ||||||
|  | 		TS	BUF | ||||||
|  | 		 | ||||||
|  | 		INDEX	BUF		# SCALE GYRO COMMANDS FOR IMUPULSE | ||||||
|  | 		CA	GCOMP	+1	# FRACTIONAL PULSES | ||||||
|  | 		EXTEND | ||||||
|  | 		MP	BIT8		# SHIFT RIGHT 7 | ||||||
|  | 		INDEX	BUF | ||||||
|  | 		TS	GCOMP	+1	# FRACTIONAL PULSES SCALED | ||||||
|  | 		 | ||||||
|  | 		CAF	ZERO		# SET GCOMP = 0 FOR DAS INSTRUCTION | ||||||
|  | 		INDEX	BUF | ||||||
|  | 		XCH	GCOMP		# GYRO PULSES | ||||||
|  | 		EXTEND | ||||||
|  | 		MP	BIT8		# SHIFT RIGHT 7 | ||||||
|  | 		INDEX	BUF | ||||||
|  | 		DAS	GCOMP		# ADD THESE TO FRACTIONAL PULSES ABOVE | ||||||
|  | 		 | ||||||
|  | 		CCS	BUF		# PIPAZ, PIPAY, PIPAX | ||||||
|  | 		AD	NEG1 | ||||||
|  | 		TCF	1/GYRO 	+1 | ||||||
|  | LGCOMP		ECADR	GCOMP		# LESS THAN ZERO IMPOSSIBLE | ||||||
|  |  | ||||||
|  | 		CAF	LGCOMP | ||||||
|  | 		TC	BANKCALL | ||||||
|  | 		CADR	IMUPULSE	# CALL GYRO TORQUING ROUTINE | ||||||
|  | 		TC	BANKCALL | ||||||
|  | 		CADR	IMUSTALL	# WAIT FOR PULSES TO GET OUT | ||||||
|  | 		TCF	ENDOFJOB	# TEMPORARY | ||||||
|  | 		 | ||||||
|  | GCOMP1		CAF	FOUR		# PIPAZ, PIPAY, PIPAX | ||||||
|  | 		TS	BUF | ||||||
|  | 		 | ||||||
|  | 		INDEX	BUF		# RESCALE | ||||||
|  | 		CA	GCOMP +1 | ||||||
|  | 		EXTEND | ||||||
|  | 		MP	BIT8		# SHIFT MINOR PART LEFT 7 -- MAJOR PART = 0 | ||||||
|  | 		INDEX	BUF | ||||||
|  | 		LXCH	GCOMP +1	# BITS 8-14 OF MINOR PART WERE = 0 | ||||||
|  | 		 | ||||||
|  | 		CCS	BUF		# PIPAZ, PIPAY, PIPAX | ||||||
|  | 		AD	NEG1 | ||||||
|  | 		TCF	GCOMP1 +1 | ||||||
|  | COMPCHK		DEC	-1		# LESS THAN ZERO IMPOSSIBLE | ||||||
|  | 		TCF	ENDOFJOB | ||||||
|  | 		 | ||||||
|  | # Page 334 | ||||||
|  | NBDONLY		CCS	GCOMPSW		# BYPASS IF GCOMPSW NEGATIVE | ||||||
|  | 		TCF	+3 | ||||||
|  | 		TCF	+2 | ||||||
|  | 		TCF	ENDOFJOB | ||||||
|  |  | ||||||
|  | 		INHINT | ||||||
|  | 		CCS	FLAGWRD2	# PREREAD T3RUPT MAY COINCIDE | ||||||
|  | 		TCF	ENDOFJOB | ||||||
|  | 		TCF	ENDOFJOB | ||||||
|  | 		TCF	+1 | ||||||
|  | 		 | ||||||
|  | 		CA	FLAGWRD8	# IF SURFACE FLAG IS SET, SET TEM1 | ||||||
|  | 		MASK	BIT8		# POSITIVE SO THAT THE ACCELERATION TERMS | ||||||
|  | 		TS	TEM1		# WILL BE COMPENSATED. | ||||||
|  | 		EXTEND | ||||||
|  | 		BZF	+3		# ARE WE ON THE SURFACE | ||||||
|  | 		 | ||||||
|  | 		TC	IBNKCALL	# ON THE SURFACE | ||||||
|  | 		CADR	PIPASR +3	# READ PIPAS, BUT DO NOT SCALE THEM | ||||||
|  | 		 | ||||||
|  | 		CA	TIME1		# (CS) X 2(+14) | ||||||
|  | 		XCH	1/PIPADT	# PREVIOUS TIME | ||||||
|  | 		RELINT | ||||||
|  | 		COM | ||||||
|  | 		AD	1/PIPADT	# PRESENT TIME - PREVIOUS TIME | ||||||
|  | NBD2		AD	HALF		# CORRECT FOR POSSIBLE TIME1 TICK | ||||||
|  | 		AD	HALF | ||||||
|  | 		XCH	L		# IF TIME1 DID NOT DICK, REMOVE RESULTING | ||||||
|  | 		XCH	L		# OVERFLOW. | ||||||
|  | 		 | ||||||
|  | NBD3		EXTEND			# C(A) = DELTAT		(CS) X 2(+14) | ||||||
|  | 		MP	BIT10		# SHIFT RIGHT 5 | ||||||
|  | 		DXCH	VBUF +2 | ||||||
|  | 		 | ||||||
|  | 		CA	ZERO | ||||||
|  | 		TS	GCOMPSW		# INDICATE COMMANDS 2 PULSES OR LESS. | ||||||
|  | 		TS	BUF		# INDEX X, Y, Z. | ||||||
|  | 		 | ||||||
|  | 		CCS	TEM1		# IF SURFACE FLAG IS SET, | ||||||
|  | 		TC	IRIGX		# COMPENSATE ACCELERATION TERMS. | ||||||
|  | 		 | ||||||
|  | 		EXTEND | ||||||
|  | 		DCA	VBUF +2 | ||||||
|  | 		DXCH	MPAC		# DELTAT NOW SCALED (CS) X 2(+19) | ||||||
|  | 		 | ||||||
|  | 		CS	NBDX		# (GYRO PULSES)/(CS) X 2(-5) | ||||||
|  | 		TC	FBIASSUB	# -(NBOX)(DELTAT) 	(GYRO PULSES) X 2(+14) | ||||||
|  | 		 | ||||||
|  | 		CCS	TEM1		# IF SURFACE FLAG IS SET, | ||||||
|  | 		TC	IRIGY		# COMPENSATE ACCELERATION TERMS. | ||||||
|  | # Page 335 | ||||||
|  | 		EXTEND | ||||||
|  | 		DCS	VBUF +2 | ||||||
|  | 		DXCH	MPAC		# DELTAT SCALED (CS) X 2(+19) | ||||||
|  | 		CA	NBDY		# (GYRO PULSES)/(CS) X 2(-5) | ||||||
|  | 		TC	FBIASSUB	# -(NBDY)(DELTAT)	(GYRO PULSES) X 2(+14) | ||||||
|  | 		 | ||||||
|  | 		CCS	TEM1		# IF SURFACE FLAG IS SET, | ||||||
|  | 		TC	IRIGZ		# COMPENSATE ACCELERATION TERMS | ||||||
|  | 		 | ||||||
|  | 		EXTEND | ||||||
|  | 		DCS	VBUF +2 | ||||||
|  | 		DXCH	MPAC		# DELTAT SCALED (CS) X 2(+19) | ||||||
|  | 		CS	NBDZ		# (GYRO PULSES)/(CS) X 2(-5) | ||||||
|  | 		TC	FBIASSUB	# +(NBDZ)(DELTAT)	(GYRO PULSES) X 2(+14) | ||||||
|  | 		 | ||||||
|  | 		CCS	GCOMPSW		# ARE GYRO COMMANDS GREATER THAN 2 PULSES | ||||||
|  | 		TCF	1/GYRO		# YES | ||||||
|  | 		TCF	ENDOFJOB	# NO | ||||||
|  |  | ||||||
|  | # Page 336 | ||||||
|  | FBIASSUB	XCH	Q | ||||||
|  | 		TS	BUF +1 | ||||||
|  | 		 | ||||||
|  | 		CA	Q		# NBD SCALED (GYRO PULSES)/(CS) X 2(-5) | ||||||
|  | 		EXTEND | ||||||
|  | 		MP	MPAC		# DELTAT SCALED (CS) X 2(+19) | ||||||
|  | 		INDEX	BUF | ||||||
|  | 		DAS	GCOMP		# HI(NBD)(DELTAT)	(GYRO PULSES) X 2(+14) | ||||||
|  | 		 | ||||||
|  | 		CA	Q		# NOW FRACTIONAL PART | ||||||
|  | 		EXTEND | ||||||
|  | 		MP	MPAC +1 | ||||||
|  | 		TS	L | ||||||
|  | 		CAF	ZERO | ||||||
|  | 		INDEX	BUF | ||||||
|  | 		DAS	GCOMP		# (NBD)(DELTAT)		(GYRO PULSES) X 2(+14) | ||||||
|  | 		 | ||||||
|  | 		TCF	DRFTSUB2	# CHECK MAGNITUDE OF COMPENSATION | ||||||
|  | 		 | ||||||
|  | LASTBIAS	TC	BANKCALL | ||||||
|  | 		CADR	PIPUSE1 | ||||||
|  | 		 | ||||||
|  | 		CCS	GCOMPSW | ||||||
|  | 		TCF	+3 | ||||||
|  | 		TCF	+2 | ||||||
|  | 		TCF	ENDOFJOB | ||||||
|  | 		 | ||||||
|  | 		CA	FLAGWRD8	# IF SURFACE FLAG IS SET, SET TEM1 | ||||||
|  | 		MASK	SURFFBIT	# POSITIVE SO THAT THE ACCELERATION TERMS | ||||||
|  | 		TS	TEM1		# WILL BE COMPENSATED. | ||||||
|  |  | ||||||
|  | 		CAF	PRIO31		# 2 SECONDS SCALED (CS) X 2(+8) | ||||||
|  | 		XCH	1/PIPADT | ||||||
|  | 		COM | ||||||
|  | 		AD	PIPTIME +1 | ||||||
|  | 		TCF	NBD2 | ||||||
|  | 		 | ||||||
|  | GCOMPZER	CAF	LGCOMP		# ROUTINE TO ZERO GCOMP BEFORE FIRST | ||||||
|  | 		XCH	EBANK		# CALL TO 1/PIPA | ||||||
|  | 		TS	MODE | ||||||
|  | 		 | ||||||
|  | 		CAF	ZERO | ||||||
|  | 		TS	GCOMPSW | ||||||
|  | 		TS	GCOMP | ||||||
|  | 		TS	GCOMP +1 | ||||||
|  | 		TS	GCOMP +2 | ||||||
|  | 		TS	GCOMP +3 | ||||||
|  | 		TS	GCOMP +4 | ||||||
|  | # Page 337 | ||||||
|  | 		TS	GCOMP +5 | ||||||
|  | 		 | ||||||
|  | 		TCF	IRIG1		# RESTORE EBANK AND RETURN | ||||||
|  | 		 | ||||||
							
								
								
									
										1072
									
								
								Luminary099/IMU_MODE_SWITCHING_ROUTINES.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1072
									
								
								Luminary099/IMU_MODE_SWITCHING_ROUTINES.agc
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										300
									
								
								Luminary099/INFLIGHT_ALIGNMENT_ROUTINES.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										300
									
								
								Luminary099/INFLIGHT_ALIGNMENT_ROUTINES.agc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,300 @@ | |||||||
|  | # Copyright:	Public domain. | ||||||
|  | # Filename:	INFLIGHT_ALIGNMENT_ROUTINES.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:	1249-1258 | ||||||
|  | # Mod history:	2009-05-26 RSB	Adapted from the corresponding  | ||||||
|  | #				Luminary131 file, using page  | ||||||
|  | #				images from Luminary 1A. | ||||||
|  | # | ||||||
|  | # 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-61 | ||||||
|  | #	16:27 JULY 14, 1969  | ||||||
|  |  | ||||||
|  | # Page 1249 | ||||||
|  | 		BANK	22 | ||||||
|  | 		SETLOC	INFLIGHT | ||||||
|  | 		BANK | ||||||
|  |  | ||||||
|  | 		EBANK=	XSM | ||||||
|  |  | ||||||
|  | # CALCGTA COMPUTES THE GYRO TORQUE ANGLES REQUIRED TO BRING THE STABLE MEMBER INTO THE DESIRED ORIENTATION. | ||||||
|  | # | ||||||
|  | # THE INPUT IS THE DESIRED STABLE MEMBER COORDINATES REFERRED TO PRESENT STABLE MEMBER COORDINATES.  THE THREE | ||||||
|  | # HALF-UNIT VECTORS ARE STORED AT XDC, YDC, AND ZDC. | ||||||
|  | # | ||||||
|  | # THE OUTPUTS ARE THE THREE GYRO TORQUE ANGLES TO BE APPLIED TO THE Y, Z, AND X GYROS AND ARE STORED DP AT IGC, | ||||||
|  | # MGC, AND OGC RESPECTIVELY. | ||||||
|  |  | ||||||
|  | 		COUNT*	$$/INFLT | ||||||
|  | CALCGTA		ITA	DLOAD		# PUSHDOWN 00-03, 16D-27D, 34D-37D | ||||||
|  | 			S2		# XDC = (XD1 XD2 XD3) | ||||||
|  | 			XDC		# YDC = (YD1 YD2 YD3) | ||||||
|  | 		PDDL	PDDL		# ZDC = (ZD1 ZD2 ZD3) | ||||||
|  | 			HI6ZEROS | ||||||
|  | 			XDC 	+4 | ||||||
|  | 		DCOMP	VDEF | ||||||
|  | 		UNIT | ||||||
|  | 		STODL	ZPRIME		# ZP = UNIT(-XD3 0 XD1) = (ZP1 ZP2 ZP3) | ||||||
|  | 			ZPRIME | ||||||
|  |  | ||||||
|  | 		SR1 | ||||||
|  | 		STODL	SINTH		# SIN(IGC) = ZP1 | ||||||
|  | 			ZPRIME 	+4 | ||||||
|  | 		SR1 | ||||||
|  | 		STCALL	COSTH		# COS(IGC) = ZP3 | ||||||
|  | 			ARCTRIG | ||||||
|  |  | ||||||
|  | 		STODL	IGC		# Y GYRO TORQUING ANGLE   FRACTION OF REV. | ||||||
|  | 			XDC 	+2 | ||||||
|  | 		SR1 | ||||||
|  | 		STODL	SINTH		# SIN(MGC) = XD2 | ||||||
|  | 			ZPRIME | ||||||
|  |  | ||||||
|  | 		DMP	PDDL | ||||||
|  | 			XDC 	+4	# PD00 = (ZP1)(XD3) | ||||||
|  | 			ZPRIME 	+4 | ||||||
|  |  | ||||||
|  | 		DMP	DSU | ||||||
|  | 			XDC		# MPAC = (ZP3)(XD1) | ||||||
|  | 		STADR | ||||||
|  | 		STCALL	COSTH		# COS(MGC) = MPAC - PD00 | ||||||
|  | 			ARCTRIG | ||||||
|  | # Page 1250 | ||||||
|  | 		STOVL	MGC		# Z GYRO TORQUING ANGLE   FRACTION OF REV. | ||||||
|  | 			ZPRIME | ||||||
|  | 		DOT | ||||||
|  | 			ZDC | ||||||
|  | 		STOVL	COSTH		# COS(OGC) = ZP . ZDC | ||||||
|  | 			ZPRIME | ||||||
|  | 		DOT | ||||||
|  | 			YDC | ||||||
|  | 		STCALL	SINTH		# SIN(OGC) = ZP . YDC | ||||||
|  | 			ARCTRIG | ||||||
|  |  | ||||||
|  | 		STCALL	OGC		# X GYRO TORQUING ANGLE   FRACTION OF REV. | ||||||
|  | 			S2 | ||||||
|  |  | ||||||
|  | # Page 1251 | ||||||
|  | # ARCTRIG COMPUTES AN ANGLE GIVEN THE SINE AND COSINE OF THIS ANGLE. | ||||||
|  | # | ||||||
|  | # THE INPUTS ARE SIN/4 AND COS/4 STORED UP AT SINTH AND COSTH. | ||||||
|  | # | ||||||
|  | # THE OUTPUT IS THE CALCULATED ANGLE BETWEEN +.5 AND -.5 REVOLUTIONS AND STORED AT THETA.  THE OUTPUT IS ALSO | ||||||
|  | # AVAILABLE AT MPAC. | ||||||
|  |  | ||||||
|  | ARCTRIG		DLOAD	ABS		# PUSHDOWN  16D-21D | ||||||
|  | 			SINTH | ||||||
|  | 		DSU	BMN | ||||||
|  | 			QTSN45		# ABS(SIN/4) - SIN(45)/4 | ||||||
|  | 			TRIG1		# IF (-45,45) OR (135,-135) | ||||||
|  |  | ||||||
|  | 		DLOAD	SL1		# (45,135) OR (-135,-45) | ||||||
|  | 			COSTH | ||||||
|  | 		ACOS	SIGN | ||||||
|  | 			SINTH | ||||||
|  | 		STORE	THETA		# X = ARCCOS(COS) WITH SIGN(SIN) | ||||||
|  | 		RVQ | ||||||
|  |  | ||||||
|  | TRIG1		DLOAD	SL1		# (-45,45) OR (135,-135) | ||||||
|  | 			SINTH | ||||||
|  | 		ASIN | ||||||
|  | 		STODL	THETA		# X = ARCSIN(SIN) WITH SIGN(SIN) | ||||||
|  | 			COSTH | ||||||
|  | 		BMN | ||||||
|  | 			TRIG2		# IF (135,-135) | ||||||
|  |  | ||||||
|  | 		DLOAD	RVQ | ||||||
|  | 			THETA		# X = ARCSIN(SIN)   (-45,45) | ||||||
|  |  | ||||||
|  | TRIG2		DLOAD	SIGN		# (135,-135) | ||||||
|  | 			HIDPHALF | ||||||
|  | 			SINTH | ||||||
|  | 		DSU | ||||||
|  | 			THETA | ||||||
|  | 		STORE	THETA		# X = .5 WITH SIGN(SIN) - ARCSIN(SIN) | ||||||
|  | 		RVQ			#	(+) - (+) OR (-) - (-) | ||||||
|  |  | ||||||
|  | # Page 1252 | ||||||
|  | # SMNB, NBSM, AND AXISROT, WHICH USED TO APPEAR HERE, HAVE BEEN | ||||||
|  | # COMBINED IN A ROUTINE CALLED AX*SR*T, WHICH APPEARS AMONG THE POWERED | ||||||
|  | # FLIGHT SUBROUTINES. | ||||||
|  |  | ||||||
|  | # Page 1253 | ||||||
|  | # CALCGA COMPUTES THE CDU DRIVING ANGLES REQUIRED TO BRING THE STABLE MEMBER INTO THE DESIRED ORIENTATION. | ||||||
|  | # | ||||||
|  | # THE INPUTS ARE  1) THE NAVIGATION BASE COORDINATES REFERRED TO ANY COORDINATE SYSTEM.  THE THREE HALF-UNIT | ||||||
|  | # VECTORS ARE STORED AT XNB, YNB, AND ZNB.  2) THE DESIRED STABLE MEMBER COORDINATES REFERRED TO THE SAME | ||||||
|  | # COORDINATE SYSTEM ARE STORED AT XSM, YSM, AND ZSM. | ||||||
|  | # | ||||||
|  | # THE OUTPUTS ARE THE THREE CDU DRIVING ANGLES AND ARE STORED SP AT THETAD, THETAD +1, AND THETAD +2. | ||||||
|  |  | ||||||
|  | CALCGA		SETPD			# PUSHDOWN 00-05, 16D-21D, 34D-37D | ||||||
|  | 			0 | ||||||
|  | 		VLOAD	VXV | ||||||
|  | 			XNB		# XNB = OGA (OUTER GIMBAL AXIS) | ||||||
|  | 			YSM		# YSM = IGA (INNER GIMBAL AXIS) | ||||||
|  | 		UNIT	PUSH		# PD0 = UNIT(OGA X IGA) = MGA | ||||||
|  |  | ||||||
|  | 		DOT	ITA | ||||||
|  | 			ZNB | ||||||
|  | 			S2 | ||||||
|  | 		STOVL	COSTH		# COS(OG) = MGA . ZNB | ||||||
|  | 			0 | ||||||
|  | 		DOT | ||||||
|  | 			YNB | ||||||
|  | 		STCALL	SINTH		# SIN(OG) = MGA . YNB | ||||||
|  | 			ARCTRIG | ||||||
|  | 		STOVL	OGC | ||||||
|  | 			0 | ||||||
|  |  | ||||||
|  | 		VXV	DOT		# PROVISION FOR MG ANGLE OF 90 DEGREES | ||||||
|  | 			XNB | ||||||
|  | 			YSM | ||||||
|  | 		SL1 | ||||||
|  | 		STOVL	COSTH		# COS(MG) = IGA . (MGA X OGA) | ||||||
|  | 			YSM | ||||||
|  | 		DOT | ||||||
|  | 			XNB | ||||||
|  | 		STCALL	SINTH		# SIN(MG) = IGA . OGA | ||||||
|  | 			ARCTRIG | ||||||
|  | 		STORE	MGC | ||||||
|  |  | ||||||
|  | 		ABS	DSU | ||||||
|  | 			.166... | ||||||
|  | 		BPL | ||||||
|  | 			GIMLOCK1	# IF ANGLE GREATER THAN 60 DEGREES | ||||||
|  |  | ||||||
|  | CALCGA1		VLOAD	DOT | ||||||
|  | 			ZSM | ||||||
|  | 			0 | ||||||
|  | 		STOVL	COSTH		# COS(IG) = ZSM . MGA | ||||||
|  | 			XSM | ||||||
|  | # Page 1254 | ||||||
|  | 		DOT	STADR | ||||||
|  | 		STCALL	SINTH		# SIN(IG) = XSM . MGA | ||||||
|  | 			ARCTRIG | ||||||
|  |  | ||||||
|  | 		STOVL	IGC | ||||||
|  | 			OGC | ||||||
|  | 		RTB | ||||||
|  | 			V1STO2S | ||||||
|  | 		STCALL	THETAD | ||||||
|  | 			S2 | ||||||
|  |  | ||||||
|  | GIMLOCK1	EXIT | ||||||
|  | 		TC	ALARM | ||||||
|  | 		OCT	00401 | ||||||
|  | 		TC	UPFLAG		# GIMBAL LOCK HAS OCCURRED | ||||||
|  | 		ADRES	GLOKFAIL | ||||||
|  |  | ||||||
|  | 		TC	INTPRET | ||||||
|  | 		GOTO | ||||||
|  | 			CALCGA1 | ||||||
|  |  | ||||||
|  | # Page 1255 | ||||||
|  | # AXISGEN COMPUTES THE COORDINATES OF ONE COORDINATE SYSTEM REFERRED TO ANOTHER COORDINATE SYSTEM. | ||||||
|  | # | ||||||
|  | # THE INPUTS ARE  1) THE STAR1 VECTOR REFERRED TO COORDINATE SYSTEM A STORED AT STARAD.  2) THE STAR2 VECTOR | ||||||
|  | # REFERRED TO COORDINATE SYSTEM A STORED AT STARAD +6.  3) THE STAR1 VECTOR REFERRED TO COORDINATE SYSTEM B STORED | ||||||
|  | # AT LOCATION 6 OF THE VAC AREA.  4) THE STAR2 VECTOR REFERRED TO COORDINATE SYSTEM B STORED AT LOCATION 12D OF | ||||||
|  | # THE VAC AREA. | ||||||
|  | # | ||||||
|  | # THE OUTPUT DEFINES COORDINATE SYSTEM A REFERRED TO COORDINATE SYSTEM B.  THE THREE HALF-UNIT VECTORS ARE STORED | ||||||
|  | # AT LOCATIONS XDC, XDC +6, XDC +12D, AND STARAD, STARAD +6, STARAD +12D. | ||||||
|  |  | ||||||
|  | AXISGEN		AXT,1	SSP		# PUSHDOWN 00-30D, 34D-37D | ||||||
|  | 			STARAD 	+6 | ||||||
|  | 			S1 | ||||||
|  | 			STARAD 	-6 | ||||||
|  |  | ||||||
|  | 		SETPD | ||||||
|  | 			0 | ||||||
|  | AXISGEN1	VLOAD*	VXV*		# 06D	UA = S1 | ||||||
|  | 			STARAD 	+12D,1	#	STARAD +00D	UB = S1 | ||||||
|  | 			STARAD 	+18D,1 | ||||||
|  | 		UNIT			# 12D	VA = UNIT(S1 X S2) | ||||||
|  | 		STORE	STARAD 	+18D,1	#	STARAD +06D	VB = UNIT(S1 X S2) | ||||||
|  | 		VLOAD* | ||||||
|  | 			STARAD 	+12D,1 | ||||||
|  |  | ||||||
|  | 		VXV*	VSL1 | ||||||
|  | 			STARAD 	+18D,1	# 18D	WA = UA X VA | ||||||
|  | 		STORE	STARAD 	+24D,1	#	STARAD +12D	WB = UB X VB | ||||||
|  |  | ||||||
|  | 		TIX,1 | ||||||
|  | 			AXISGEN1 | ||||||
|  |  | ||||||
|  | 		AXC,1	SXA,1 | ||||||
|  | 			6 | ||||||
|  | 			30D | ||||||
|  |  | ||||||
|  | 		AXT,1	SSP | ||||||
|  | 			18D | ||||||
|  | 			S1 | ||||||
|  | 			6 | ||||||
|  |  | ||||||
|  | 		AXT,2	SSP | ||||||
|  | 			6 | ||||||
|  | 			S2 | ||||||
|  | 			2 | ||||||
|  |  | ||||||
|  | AXISGEN2	XCHX,1	VLOAD* | ||||||
|  | 			30D		# X1=-6 X2=+6	X1=-6 X2=+4	X1=-6 X2=+2 | ||||||
|  | 			0,1 | ||||||
|  |  | ||||||
|  | # Page 1256 | ||||||
|  | 		VXSC*	PDVL*		# J=(UA)(UB1)	J=(UA)(UB2)	J=(UA)(UB3) | ||||||
|  | 			STARAD 	+6,2 | ||||||
|  | 			6,1 | ||||||
|  | 		VXSC* | ||||||
|  | 			STARAD 	+12D,2 | ||||||
|  | 		STOVL*	24D		# K=(VA)(VB1)	J=(VA)(VB2)	J=(VA)(VB3) | ||||||
|  | 			12D,1 | ||||||
|  |  | ||||||
|  | 		VXSC*	VAD | ||||||
|  | 			STARAD 	+18D,2	# L=(WA)(WB1)	J=(WA)(WB2)	J=(WA)(WB3) | ||||||
|  | 		VAD	VSL1 | ||||||
|  | 			24D | ||||||
|  | 		XCHX,1	UNIT | ||||||
|  | 			30D | ||||||
|  | 		STORE	XDC 	+18D,1	# XDC = L+J+K	YDC = L+J+K	ZDC = L+J+K | ||||||
|  |  | ||||||
|  | 		TIX,1 | ||||||
|  | 			AXISGEN3 | ||||||
|  |  | ||||||
|  | AXISGEN3	TIX,2 | ||||||
|  | 			AXISGEN2 | ||||||
|  |  | ||||||
|  | 		VLOAD | ||||||
|  | 			XDC | ||||||
|  | 		STOVL	STARAD | ||||||
|  | 			YDC | ||||||
|  | 		STOVL	STARAD 	+6 | ||||||
|  | 			ZDC | ||||||
|  | 		STORE	STARAD 	+12D | ||||||
|  |  | ||||||
|  | 		RVQ | ||||||
|  |  | ||||||
|  | # Page 1257 | ||||||
|  | QTSN45		2DEC	.1768 | ||||||
|  |  | ||||||
|  | .166...		2DEC	.1666666667 | ||||||
|  |  | ||||||
|  | # Page 1258 (empty page) | ||||||
|  |  | ||||||
							
								
								
									
										1102
									
								
								Luminary099/INTEGRATION_INITIALIZATION.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1102
									
								
								Luminary099/INTEGRATION_INITIALIZATION.agc
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										175
									
								
								Luminary099/INTER-BANK_COMMUNICATION.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										175
									
								
								Luminary099/INTER-BANK_COMMUNICATION.agc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,175 @@ | |||||||
|  | # Copyright:	Public domain. | ||||||
|  | # Filename:	INTER-BANK_COMMUNICATION.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:	998-1001 | ||||||
|  | # Mod history:	2009-05-24 RSB	Adapted from the corresponding  | ||||||
|  | #				Luminary131 file, using page  | ||||||
|  | #				images from Luminary 1A. | ||||||
|  | #		2011-05-08 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-61 | ||||||
|  | #	16:27 JULY 14, 1969  | ||||||
|  |  | ||||||
|  | # Page 998 | ||||||
|  | # THE FOLLOWING ROUTINE CAN BE USED TO CALL A SUBROUTINE IN ANOTHER BANK. IN THE BANKCALL VERSION, THE | ||||||
|  | # CADR OF THE SUBROUTINE IMMEDIATELY FOLLOWS THE TC BANKCALL INSTRUCTION, WITH C(A) AND C(L) PRESERVED. | ||||||
|  |  | ||||||
|  | 		BLOCK	02 | ||||||
|  | 		COUNT*	$$/BANK | ||||||
|  | BANKCALL	DXCH	BUF2		# SAVE INCOMING A,L. | ||||||
|  | 		INDEX	Q		# PICK UP CADR. | ||||||
|  | 		CA	0 | ||||||
|  | 		INCR	Q		# SO WE RETURN TO THE LOC. AFTER THE CADR. | ||||||
|  |  | ||||||
|  | # SWCALL IS  IDENTICAL TO BANKCALL, EXCEPT THAT THE CADR ARRIVES IN A. | ||||||
|  |  | ||||||
|  | SWCALL		TS	L | ||||||
|  | 		LXCH	FBANK		# SWITCH BANKS, SAVING RETURN. | ||||||
|  | 		MASK	LOW10		# GET SUB-ADDRESS OF CADR. | ||||||
|  | 		XCH	Q		# A,L NOW CONTAINS DP RETURN. | ||||||
|  | 		DXCH	BUF2		# RESTORING INPUTS IF THIS IS A BANKCALL. | ||||||
|  | 		INDEX	Q | ||||||
|  | 		TC	10000		# SETTING Q TO SWRETURN. | ||||||
|  |  | ||||||
|  | SWRETURN	XCH	BUF2 	+1	# COMES HERE TO RETURN TO CALLER. C(A,L) | ||||||
|  | 		XCH	FBANK		# ARE PRESERVED FOR RETURN. | ||||||
|  | 		XCH	BUF2 	+1 | ||||||
|  | 		TC	BUF2 | ||||||
|  |  | ||||||
|  | # THE FOLLOWING ROUTINE CAN BE USED AS A UNILATERAL JUMP WITH C(A,L) PRESERVED AND THE CADR IMMEDIATELY | ||||||
|  | # FOLLOWING THE TC POSTJUMP INSTRUCTION. | ||||||
|  |  | ||||||
|  | POSTJUMP	XCH	Q		# SAVE INCOMING C(A). | ||||||
|  | 		INDEX	A		# GET CADR. | ||||||
|  | 		CA	0 | ||||||
|  |  | ||||||
|  | # BANKJUMP IS THE SAME AS POSTJUMP, EXCEPT THAT THE CADR ARRIVES IN A. | ||||||
|  |  | ||||||
|  | BANKJUMP	TS	FBANK | ||||||
|  | 		MASK	LOW10 | ||||||
|  | 		XCH	Q		# RESTORING INPUT C(A) IF THIS WAS A | ||||||
|  | Q+10000		INDEX	Q		# POSTJUMP. | ||||||
|  | PRIO12		TCF	10000		# PRIO12 = TCF	10000 = 12000 | ||||||
|  |  | ||||||
|  | # Page 999 | ||||||
|  | # THE FOLLOWING ROUTINE GETS THE RETURN CADR SAVED BY SWCALL OR BANKCALL AND LEAVES IT IN A. | ||||||
|  |  | ||||||
|  | MAKECADR	CAF	LOW10 | ||||||
|  | 		MASK	BUF2 | ||||||
|  | 		AD	BUF2 	+1 | ||||||
|  | 		TC	Q | ||||||
|  |  | ||||||
|  | SUPDACAL	TS	MPTEMP | ||||||
|  | 		XCH	FBANK		# SET FBANK FOR DATA. | ||||||
|  | 		EXTEND | ||||||
|  | 		ROR	SUPERBNK	# SAVE FBANK IN BITS 15-11, AND | ||||||
|  | 		XCH	MPTEMP		# SUPERBANK IN BITS 7-5. | ||||||
|  | 		MASK	LOW10 | ||||||
|  | 		XCH	L		# SAVE REL. ADR. IN BANK, FETCH SUPERBITS | ||||||
|  | 		INHINT			# BECAUSE RUPT DOES NOT SAVE SUPERBANK. | ||||||
|  | 		EXTEND | ||||||
|  | 		WRITE	SUPERBNK	# SET SUPERBANK FOR DATA. | ||||||
|  | 		INDEX	L | ||||||
|  | 		CA	10000		# PINBALL (FIX MEM DISP) PREVENTS DCA HERE | ||||||
|  | 		XCH	MPTEMP		# SAVE 1ST WD, FETCH OLD FBANK AND SBANK. | ||||||
|  | 		EXTEND | ||||||
|  | 		WRITE	SUPERBNK	# RESTORE SUPERBANK. | ||||||
|  | 		RELINT | ||||||
|  | 		TS	FBANK		# RESTORE FBANK. | ||||||
|  | 		CA	MPTEMP		# RECOVER FIRST WORD OF DATA. | ||||||
|  | 		RETURN			# 24 WDS. DATACALL 516 MU, SUPDACAL 432 MU | ||||||
|  |  | ||||||
|  | # Page 1000 | ||||||
|  | # THE FOLLOWING ROUTINES ARE IDENTICAL TO BANKCALL AND SWCALL EXCEPT THAT THEY ARE USED IN INTERRUPT. | ||||||
|  |  | ||||||
|  | IBNKCALL	DXCH	RUPTREG3	# USES RUPTREG3,4 FOR DP RETURN ADDRESS. | ||||||
|  | 		INDEX	Q | ||||||
|  | 		CAF	0 | ||||||
|  | 		INCR	Q | ||||||
|  |  | ||||||
|  | ISWCALLL	TS	L | ||||||
|  | 		LXCH	FBANK | ||||||
|  | 		MASK	LOW10 | ||||||
|  | 		XCH	Q | ||||||
|  | 		DXCH	RUPTREG3 | ||||||
|  | 		INDEX	Q | ||||||
|  | 		TC	10000 | ||||||
|  |  | ||||||
|  | ISWRETRN	XCH	RUPTREG4 | ||||||
|  | 		XCH	FBANK | ||||||
|  | 		XCH	RUPTREG4 | ||||||
|  | 		TC	RUPTREG3 | ||||||
|  |  | ||||||
|  | # 2. USPRCADR ACCESSES INTERPRETIVE CODING IN OTHER THAN THE USER'S FBANK.  THE CALLING SEQUENCE IS AS FOLLOWS: | ||||||
|  | #	L	TC	USPRCADR | ||||||
|  | #	L+1	CADR	INTPRETX	# INTPRETX IS THE INTERPRETIVE CODING | ||||||
|  | #					# RETURN IS TO L+2 | ||||||
|  |  | ||||||
|  | USPRCADR	TS	LOC		# SAVE A | ||||||
|  | 		CA	BIT8 | ||||||
|  | 		TS	EDOP		# EXIT INSTRUCTION TO EDOP | ||||||
|  | 		CA	BBANK | ||||||
|  | 		TS	BANKSET		# USER'S BBANK TO BANKSET | ||||||
|  | 		INDEX	Q | ||||||
|  | 		CA	0 | ||||||
|  | 		TS	FBANK		# INTERPRETIVE BANK TO FBANK | ||||||
|  | 		MASK	LOW10		# YIELDS INTERPRETIVE RELATIVE ADDRESS | ||||||
|  | 		XCH	Q		# INTERPRETIVE ADDRESS TO Q, FETCHING L+1 | ||||||
|  | 		XCH	LOC		# L+1 TO LOC, RETRIEVING ORIGINAL A | ||||||
|  | 		TCF	Q+10000 | ||||||
|  |  | ||||||
|  | # Page 1001 | ||||||
|  | # THERE ARE FOUR POSSIBLE SETTINGS FOR CHANNEL 07.  (CHANNEL 07 CONTAINS SUPERBANK SETTING.) | ||||||
|  | # | ||||||
|  | #					PSEUDO-FIXED	  OCTAL PSEUDO | ||||||
|  | # SUPERBANK	SETTING	S-REG. VALUE	BANK NUMBERS	   ADDRESSES | ||||||
|  | # ---------	-------	------------	------------	   --------- | ||||||
|  | # SUPERBANK 3	  OXX	 2000 - 3777	   30 - 37	 70000 - 107777		(WHERE XX CAN BE ANYTHING AND | ||||||
|  | #										WILL USUALLY BE SEEN AS 11) | ||||||
|  | # SUPERBANK 4	  100	 2000 - 3777	   40 - 47	110000 - 127777		(AS FAR AS IT CAN BE SEEN, | ||||||
|  | #										ONLY BANKS 40-43 WILL EVER BE | ||||||
|  | #										AND ARE PRESENTLY AVAILABLE) | ||||||
|  | # SUPERBANK 5	  101	 2000 - 3777	   50 - 57	130000 - 147777		(PRESENTLY NOT AVAILABLE TO | ||||||
|  | #										THE USER) | ||||||
|  | # SUPERBANK 6	  110	 2000 - 3777	   60 - 67	150000 - 167777		(PRESENTLY NOT AVAILABLE TO | ||||||
|  | #										THE USER) | ||||||
|  | # *** THIS ROUTINE MAY BE CALLED BY ANY PROGRAM LOCATED IN BANKS 00 - 27.  I.E., NO PROGRAM LIVING IN ANY | ||||||
|  | # SUPERBANK SHOULD USE SUPERSW. *** | ||||||
|  | # | ||||||
|  | # SUPERSW MAY BE CALLED IN THIS FASHION: | ||||||
|  | #	CAF	ABBCON		WHERE -- ABBCON  BBCON  SOMETHING -- | ||||||
|  | #	TCR	SUPERSW		(THE SUPERBNK BITS ARE IN THE BBCON) | ||||||
|  | #	...	  ... | ||||||
|  | #	 .	   . | ||||||
|  | #	 .	   . | ||||||
|  | # OR IN THIS FASHION: | ||||||
|  | #	CAF	SUPERSET	WHERE SUPERSET IS ONE OF THE FOUR AVAILABLE | ||||||
|  | #	TCR	SUPERSW		SUPERBANK BIT CONSTANTS: | ||||||
|  | #	...	  ...			SUPER011 OCTAL  60 | ||||||
|  | #	 .	   .			SUPER100 OCTAL 100 | ||||||
|  | #	 .	   .			SUPER101 OCTAL 120 | ||||||
|  | #					SUPER110 OCTAL 140 | ||||||
|  |  | ||||||
|  | SUPERSW		EXTEND | ||||||
|  | 		WRITE	SUPERBNK	# WRITE BITS 7-6-5 OF THE ACCUMULATOR INTO | ||||||
|  | 					# CHANNEL 07 | ||||||
|  | 		TC	Q		# TC TO INSTRUCTION FOLLOWING | ||||||
|  | 					# 	TC SUPERSW | ||||||
|  | 		 | ||||||
							
								
								
									
										3075
									
								
								Luminary099/INTERPRETER.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3075
									
								
								Luminary099/INTERPRETER.agc
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										117
									
								
								Luminary099/INTERRUPT_LEAD_INS.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										117
									
								
								Luminary099/INTERRUPT_LEAD_INS.agc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,117 @@ | |||||||
|  | # Copyright:	Public domain. | ||||||
|  | # Filename:	INTERRUT_LEAD_INS.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:	Onno Hommes <ohommes@cmu.edu>. | ||||||
|  | # Website:	www.ibiblio.org/apollo. | ||||||
|  | # Pages:	0153-0154 | ||||||
|  | # Mod history:	2009-05-14 OH	Transcribed from page images. | ||||||
|  | # | ||||||
|  | # 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-61 | ||||||
|  | #	16:27 JULY 14, 1969  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | # Page 153 | ||||||
|  | 		SETLOC	4000  | ||||||
|  | 		 | ||||||
|  | 		COUNT*	$$/RUPTS	# FIX-FIX LEAD INS | ||||||
|  | 		INHINT			# GO | ||||||
|  | 		CAF	GOBB | ||||||
|  | 		XCH	BBANK | ||||||
|  | 		TCF	GOPROG | ||||||
|  | 		 | ||||||
|  | 		DXCH	ARUPT		# T6RUPT | ||||||
|  | 		EXTEND | ||||||
|  | 		DCA	T6ADR | ||||||
|  | 		DTCB | ||||||
|  | 		 | ||||||
|  | 		DXCH	ARUPT		# T5RUPT -- AUTOPILOT | ||||||
|  | 		EXTEND | ||||||
|  | 		DCA	T5ADR | ||||||
|  | 		DTCB | ||||||
|  | 		 | ||||||
|  | 		DXCH	ARUPT		# T3RUPT | ||||||
|  | 		CAF	T3RPTBB | ||||||
|  | 		XCH	BBANK | ||||||
|  | 		TCF	T3RUPT | ||||||
|  | 		 | ||||||
|  | 		DXCH	ARUPT		# T4RUPT | ||||||
|  | 		CAF	T4RPTBB | ||||||
|  | 		XCH	BBANK | ||||||
|  | 		TCF	T4RUPT | ||||||
|  | 		 | ||||||
|  | 		DXCH	ARUPT		# KEYRUPT1 | ||||||
|  | 		CAF	KEYRPTBB | ||||||
|  | 		XCH	BBANK | ||||||
|  | 		TCF	KEYRUPT1 | ||||||
|  | 		 | ||||||
|  | 		DXCH	ARUPT		# KEYRUPT2 | ||||||
|  | 		CAF	MKRUPTBB | ||||||
|  | 		XCH	BBANK | ||||||
|  | 		TCF	MARKRUPT | ||||||
|  | 		 | ||||||
|  | 		DXCH	ARUPT		# UPRUPT | ||||||
|  | 		CAF	UPRPTBB | ||||||
|  | 		XCH	BBANK | ||||||
|  | 		TCF	UPRUPT | ||||||
|  | 		 | ||||||
|  | 		DXCH	ARUPT		# DOWNRUPT | ||||||
|  | 		CAF	DWNRPTBB | ||||||
|  | 		XCH	BBANK | ||||||
|  | 		TCF	DODOWNTM | ||||||
|  | 		 | ||||||
|  | 		DXCH	ARUPT		# RADAR RUPT | ||||||
|  | 		CAF	RDRPTBB | ||||||
|  | # Page 154 | ||||||
|  | 		XCH	BBANK | ||||||
|  | 		TCF	RADAREAD | ||||||
|  | 		 | ||||||
|  | 		DXCH	ARUPT		# RUPT10 IS USED ONLY BY LANDING GUIDANCE | ||||||
|  | 		CA	RUPT10BB | ||||||
|  | 		XCH	BBANK | ||||||
|  | 		TCF	PITFALL | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 		EBANK=	LST1		# RESTART USES E0, E3 | ||||||
|  | GOBB		BBCON	GOPROG | ||||||
|  |  | ||||||
|  | 		EBANK=	PERROR | ||||||
|  | T6ADR		2CADR	DOT6RUPT | ||||||
|  |  | ||||||
|  | 		EBANK=	LST1 | ||||||
|  | T3RPTBB		BBCON	T3RUPT | ||||||
|  |  | ||||||
|  | 		EBANK=	KEYTEMP1 | ||||||
|  | KEYRPTBB	BBCON	KEYRUPT1 | ||||||
|  |  | ||||||
|  | 		EBANK=	AOTAZ | ||||||
|  | MKRUPTBB	BBCON	MARKRUPT | ||||||
|  |  | ||||||
|  | UPRPTBB		=	KEYRPTBB | ||||||
|  |  | ||||||
|  | 		EBANK=	DNTMBUFF | ||||||
|  | DWNRPTBB	BBCON	DODOWNTM | ||||||
|  |  | ||||||
|  | 		EBANK=	RADMODES | ||||||
|  | RDRPTBB		BBCON	RADAREAD | ||||||
|  |  | ||||||
|  | 		EBANK=	M11 | ||||||
|  | T4RPTBB		BBCON	T4RUPT | ||||||
|  |  | ||||||
|  | 		EBANK=	ELVIRA | ||||||
|  | RUPT10BB	BBCON	PITFALL | ||||||
|  | 				 | ||||||
							
								
								
									
										229
									
								
								Luminary099/KALCMANU_STEERING.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										229
									
								
								Luminary099/KALCMANU_STEERING.agc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,229 @@ | |||||||
|  | # Copyright:	Public domain. | ||||||
|  | # Filename:	KALCMANU_STEERING.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:	365-369 | ||||||
|  | # Mod history:	2009-05-17 RSB	Adapted from the corresponding  | ||||||
|  | #				Luminary131 file, using page  | ||||||
|  | #				images from Luminary 1A. | ||||||
|  | #		2011-01-06 JL	Added missing comment characters. | ||||||
|  | # | ||||||
|  | # 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-61 | ||||||
|  | #	16:27 JULY 14, 1969  | ||||||
|  |  | ||||||
|  | # Page 365 | ||||||
|  | # GENERATION OF STEERING COMMANDS FOR DIGITAL AUTOPILOT FREE FALL MANEUVERS | ||||||
|  | # | ||||||
|  | # NEW COMMANDS WILL BE GENERATED EVERY ONE SECOND DURING THE MANEUVER | ||||||
|  |  | ||||||
|  | 		EBANK=	TTEMP | ||||||
|  | 		 | ||||||
|  | NEWDELHI	TC	BANKCALL	# CHECK FOR AUTO STABILIZATION | ||||||
|  | 		CADR	ISITAUTO	# ONLY | ||||||
|  | 		CCS	A | ||||||
|  | 		TCF	NOGO 	-2 | ||||||
|  | NEWANGL		TC	INTPRET | ||||||
|  | 		AXC,1	AXC,2 | ||||||
|  | 			MIS		# COMPUTE THE NEW MATRIX FROM S/C TO | ||||||
|  | 			KEL		# STABLE MEMBER AXES | ||||||
|  | 		CALL | ||||||
|  | 			MXM3 | ||||||
|  | 		VLOAD	STADR | ||||||
|  | 		STOVL	MIS 	+12D	# CALCULATE NEW DESIRED CDU ANGLES | ||||||
|  | 		STADR | ||||||
|  | 		STOVL	MIS 	+6D | ||||||
|  | 		STADR | ||||||
|  | 		STORE	MIS | ||||||
|  | 		AXC,1	CALL | ||||||
|  | 			MIS | ||||||
|  | 			DCMTOCDU	# PICK UP THE NEW CDU ANGLES FROM MATRIX | ||||||
|  | 		RTB	 | ||||||
|  | 			V1STO2S | ||||||
|  | 		STORE	NCDU		# NEW CDU ANGLES | ||||||
|  | 		BONCLR	EXIT | ||||||
|  | 			CALCMAN2 | ||||||
|  | 			MANUSTAT	# TO START MANEUVER | ||||||
|  | 		CAF	TWO		#	+0 OTHERWISE | ||||||
|  | INCRDCDU	TS	SPNDX | ||||||
|  | 		INDEX	SPNDX | ||||||
|  | 		CA	BCDU		# INITIAL CDU ANGLES | ||||||
|  | 		EXTEND			# OR PREVIOUS DESIRED CDU ANGLES | ||||||
|  | 		INDEX	SPNDX | ||||||
|  | 		MSU	NCDU | ||||||
|  | 		EXTEND | ||||||
|  | 		 | ||||||
|  | 		# The following 2 lines seem to have no purpose at all. | ||||||
|  | 		# I am removing them because they only serve to confuse | ||||||
|  | 		# the assembler by getting in between EXTEND and MP. | ||||||
|  | 		#					--- RSB 2009. | ||||||
|  | 		#SETLOC	KALCMON1 | ||||||
|  | 		#BANK | ||||||
|  | 		 | ||||||
|  | 		MP	DT/TAU | ||||||
|  | 		CCS	A		# CONVERT TO 2'S COMPLEMENT | ||||||
|  | 		AD	ONE | ||||||
|  | 		TCF	+2 | ||||||
|  | 		COM | ||||||
|  | 		INDEX	SPNDX | ||||||
|  | 		TS	DELDCDU		# ANGLE INCREMENTS TO BE ADDED TO | ||||||
|  | 		INDEX	SPNDX		# CDUXD, CDUYD, CDUZD EVERY TENTH SECOND | ||||||
|  | # Page 366 | ||||||
|  | 		CA	NCDU		# BY LEM DAP | ||||||
|  | 		INDEX	SPNDX | ||||||
|  | 		XCH	BCDU | ||||||
|  | 		INDEX	SPNDX | ||||||
|  | 		TS	CDUXD | ||||||
|  | 		CCS	SPNDX | ||||||
|  | 		TCF	INCRDCDU	# LOOP FOR THREE AXES | ||||||
|  | 		 | ||||||
|  | 		RELINT | ||||||
|  | 		 | ||||||
|  | # COMPARE PRESENT TIME WTIH TIME TO TERMINATE MANEUVER | ||||||
|  |  | ||||||
|  | TMANUCHK	TC	TIMECHK | ||||||
|  | 		TCF	CONTMANU | ||||||
|  | 		CAF	ONE | ||||||
|  | MANUSTAL	INHINT			# END MAJOR PART OF MANEUVER WITHIN 1 SEC | ||||||
|  | 		TC	WAITLIST	# UNDER WAITLIST CALL TO MANUSTOP | ||||||
|  | 		EBANK=	TTEMP | ||||||
|  | 		2CADR	MANUSTOP | ||||||
|  | 		 | ||||||
|  | 		RELINT | ||||||
|  | 		TCF	ENDOFJOB | ||||||
|  | 		 | ||||||
|  | TIMECHK		EXTEND | ||||||
|  | 		DCS	TIME2 | ||||||
|  | 		DXCH	TTEMP | ||||||
|  | 		EXTEND | ||||||
|  | 		DCA	TM | ||||||
|  | 		DAS	TTEMP | ||||||
|  | 		CCS	TTEMP | ||||||
|  | 		TC	Q | ||||||
|  | 		TCF	+2 | ||||||
|  | 		TCF	2NDRETRN | ||||||
|  | 		CCS	TTEMP 	+1 | ||||||
|  | 		TC	Q | ||||||
|  | 		TCF	MANUOFF | ||||||
|  | 		COM | ||||||
|  | MANUOFF		AD	ONESEK 	+1 | ||||||
|  | 		EXTEND | ||||||
|  | 		BZMF	2NDRETRN | ||||||
|  | 		INCR	Q | ||||||
|  | 2NDRETRN	INCR	Q | ||||||
|  | 		TC	Q | ||||||
|  | 		 | ||||||
|  | DT/TAU		DEC	.1 | ||||||
|  |  | ||||||
|  | MANUSTAT	EXIT			# INITIALIZATION ROUTINE | ||||||
|  | 		EXTEND			# FOR AUTOMATIC MANEUVERS | ||||||
|  | 		DCA	TIME2 | ||||||
|  | # Page 367 | ||||||
|  | 		DAS	TM		# TM+TO		MANEUVER COMPLETION TIME | ||||||
|  | 		EXTEND | ||||||
|  | 		DCS	ONESEK | ||||||
|  | 		DAS	TM		# (TM+TO)-1 | ||||||
|  | 		INHINT | ||||||
|  | 		CAF	TWO | ||||||
|  | RATEBIAS	TS	KSPNDX | ||||||
|  | 		DOUBLE | ||||||
|  | 		TS	KDPNDX | ||||||
|  | 		INDEX	A | ||||||
|  | 		CA	BRATE | ||||||
|  | 		INDEX	KSPNDX		# STORE MANEUVER RATE IN | ||||||
|  | 		TS	OMEGAPD		# OMEGAPD, OMEGAQD, OMEGARD | ||||||
|  | 		EXTEND | ||||||
|  | 		BZMF	+2		# COMPUTE ATTITUDE ERROR | ||||||
|  | 		COM			# OFFSET = (WX)ABS(WX)/2AJX | ||||||
|  | 		EXTEND			# WHERE AJX= 2-JET ACCELERATION | ||||||
|  | 		MP	BIASCALE	# = -1/16 | ||||||
|  | 		EXTEND | ||||||
|  | 		INDEX	KDPNDX | ||||||
|  | 		MP	BRATE | ||||||
|  | 		EXTEND | ||||||
|  | 		INDEX	KSPNDX | ||||||
|  | 		DV	1JACC		# = AJX		$ 90 DEG/SEC-SEC | ||||||
|  | 		INDEX	KSPNDX | ||||||
|  | 		TS	DELPEROR	#		$ 180 DEG | ||||||
|  | 		CCS	KSPNDX | ||||||
|  | 		TCF	RATEBIAS | ||||||
|  | 		 | ||||||
|  | 		CA	TIME1 | ||||||
|  | 		AD	ONESEK 	+1 | ||||||
|  | 		XCH	NEXTIME | ||||||
|  | 		TCF	INCRDCDU -1 | ||||||
|  | 		 | ||||||
|  | ONESEK		DEC	0 | ||||||
|  | 		DEC	100 | ||||||
|  | 		 | ||||||
|  | BIASCALE	OCT	75777		# = -1/16 | ||||||
|  |  | ||||||
|  | CONTMANU	CS	TIME1		# RESET FOR NEXT DCDU UPDATE | ||||||
|  | 		AD	NEXTIME | ||||||
|  | 		CCS	A | ||||||
|  | 		AD	ONE | ||||||
|  | 		TCF	MANUCALL | ||||||
|  | 		AD	NEGMAX | ||||||
|  | 		COM | ||||||
|  | MANUCALL	INHINT			# CALL FOR NEXT UPDATE VIA WAITLIST | ||||||
|  | 		TC	WAITLIST | ||||||
|  | 		EBANK=	TTEMP | ||||||
|  | 		2CADR	UPDTCALL | ||||||
|  | # Page 368 | ||||||
|  | 		CAF	ONESEK 	+1	# INCREMENT TIME FOR NEXT UPDATE | ||||||
|  | 		ADS	NEXTIME | ||||||
|  | 		TCF	ENDOFJOB | ||||||
|  | 		 | ||||||
|  | UPDTCALL	CAF	PRIO26		# SATELLITE PROGRAM TO CALL FOR UPDATE | ||||||
|  | 		TC	FINDVAC		# OF STEERING COMMANDS | ||||||
|  | 		EBANK=	TTEMP | ||||||
|  | 		2CADR	NEWDELHI | ||||||
|  |  | ||||||
|  | 		TC	TASKOVER | ||||||
|  | 		 | ||||||
|  | # Page 369 | ||||||
|  | # ROUTINE FOR TERMINATING AUTOMATIC MANEUVERS | ||||||
|  |  | ||||||
|  | MANUSTOP	CAF	ZERO		# ZERO MANEUVER RATES | ||||||
|  | 		TS	DELDCDU2 | ||||||
|  | 		TS	OMEGARD | ||||||
|  | 		TS	DELREROR | ||||||
|  | 		TS	DELDCDU1 | ||||||
|  | 		TS	OMEGAQD | ||||||
|  | 		TS	DELQEROR | ||||||
|  | 		CA	CPSI		# SET DESIRED GIMBAL ANGLES TO | ||||||
|  | 		TS	CDUZD		# DESIRED FINAL GIMBAL ANGLES | ||||||
|  | 		CA	CTHETA | ||||||
|  | 		TS	CDUYD | ||||||
|  | ENDROLL		CA	CPHI		# NO FINAL YAW | ||||||
|  | 		TS	CDUXD | ||||||
|  | 		CAF	ZERO | ||||||
|  | 		TS	OMEGAPD		# I.E., MANEUVER DID NOT GO THRU | ||||||
|  | 		TS	DELDCDU		# GIMBAL LOCK ORIGINALLY | ||||||
|  | 		TS	DELPEROR | ||||||
|  | GOODMANU	CA	ATTPRIO		# RESTORE USERS PRIO | ||||||
|  | 		TS	NEWPRIO | ||||||
|  | 		 | ||||||
|  | 		CA	ZERO		# ZERO ATTCADR | ||||||
|  | 		DXCH	ATTCADR | ||||||
|  | 		 | ||||||
|  | 		TC	SPVAC		# RETURN TO USER | ||||||
|  | 		 | ||||||
|  | 		TC	TASKOVER | ||||||
|  | 		 | ||||||
|  |  | ||||||
							
								
								
									
										132
									
								
								Luminary099/KEYRUPT_UPRUPT.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										132
									
								
								Luminary099/KEYRUPT_UPRUPT.agc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,132 @@ | |||||||
|  | # Copyright:	Public domain. | ||||||
|  | # Filename:	KEYRUPT_UPRUPT.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:	1338-1340 | ||||||
|  | # Mod history:	2009-05-27 RSB	Adapted from the corresponding  | ||||||
|  | #				Luminary131 file, using page  | ||||||
|  | #				images from Luminary 1A. | ||||||
|  | # | ||||||
|  | # 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-61 | ||||||
|  | #	16:27 JULY 14, 1969  | ||||||
|  |  | ||||||
|  | # Page 1338 | ||||||
|  | 		BANK	14 | ||||||
|  | 		SETLOC	KEYRUPT | ||||||
|  | 		BANK | ||||||
|  | 		COUNT*	$$/KEYUP | ||||||
|  |  | ||||||
|  | KEYRUPT1	TS	BANKRUPT | ||||||
|  | 		XCH	Q | ||||||
|  | 		TS	QRUPT | ||||||
|  | 		TC	LODSAMPT	# TIME IS SNATCHED IN RUPT FOR NOUN 65. | ||||||
|  | 		CAF	LOW5 | ||||||
|  | 		EXTEND | ||||||
|  | 		RAND	MNKEYIN		# CHECK IF KEYS 5M-1M ON | ||||||
|  | KEYCOM		TS	RUPTREG4 | ||||||
|  | 		CS	FLAGWRD5 | ||||||
|  | 		MASK	DSKYFBIT | ||||||
|  | 		ADS	FLAGWRD5 | ||||||
|  |  | ||||||
|  | ACCEPTUP	CAF	CHRPRIO		# (NOTE: RUPTREG4 = KEYTEMP1) | ||||||
|  | 		TC	NOVAC | ||||||
|  | 		EBANK=	DSPCOUNT | ||||||
|  | 		2CADR	CHARIN | ||||||
|  |  | ||||||
|  | 		CA	RUPTREG4 | ||||||
|  | 		INDEX	LOCCTR | ||||||
|  | 		TS	MPAC		# LEAVE 5 BIT KEY CODE IN MPAC FOR CHARIN | ||||||
|  | 		TC	RESUME | ||||||
|  |  | ||||||
|  | # Page 1339 | ||||||
|  | # UPRUPT PROGRAM | ||||||
|  |  | ||||||
|  | UPRUPT		TS	BANKRUPT | ||||||
|  | 		XCH	Q | ||||||
|  | 		TS	QRUPT | ||||||
|  | 		TC	LODSAMPT	# TIME IS SNATCHED IN RUPT FOR NOUN 65. | ||||||
|  | 		CAF	ZERO | ||||||
|  | 		XCH	INLINK | ||||||
|  | 		TS	KEYTEMP1 | ||||||
|  | 		CAF	BIT3		# TURN ON UPACT LIGHT | ||||||
|  | 		EXTEND			# (BIT 3 OF CHANNEL 11) | ||||||
|  | 		WOR	DSALMOUT | ||||||
|  | UPRPT1		CAF	LOW5		# TEST FOR TRIPLE CHAR REDUNDANCY | ||||||
|  | 		MASK	KEYTEMP1	# LOW5 OF WORD | ||||||
|  | 		XCH	KEYTEMP1	# LOW5 INTO KEYTEMP1 | ||||||
|  | 		EXTEND | ||||||
|  | 		MP	BIT10		# SHIFT RIGHT 5 | ||||||
|  | 		TS	KEYTEMP2 | ||||||
|  | 		MASK	LOW5		# MID 5 | ||||||
|  | 		AD	HI10 | ||||||
|  | 		TC	UPTEST | ||||||
|  | 		CAF	BIT10 | ||||||
|  | 		EXTEND | ||||||
|  | 		MP	KEYTEMP2	# SHIFT RIGHT 5 | ||||||
|  | 		MASK	LOW5		# HIGH 5 | ||||||
|  | 		COM | ||||||
|  | 		TC	UPTEST | ||||||
|  |  | ||||||
|  | UPCK		CS	ELRCODE		# CODE IS GOOD.  IF CODE = `ERROR RESET', | ||||||
|  | 		AD	KEYTEMP1	# CLEAR UPLOCKFL (SET BIT4 OF FLAGWRD7 = 0) | ||||||
|  | 		EXTEND			# IF CODE DOES NOT = `ERROR RESET', ACCEPT | ||||||
|  | 		BZF	CLUPLOCK	# CODE ONLY IF UPLOCKFL IS CLEAR (=0). | ||||||
|  |  | ||||||
|  | 		CAF	UPLOCBIT	# TEST UPLOCKFL FOR 0 OR 1 | ||||||
|  | 		MASK	FLAGWRD7 | ||||||
|  | 		CCS	A | ||||||
|  | 		TC	RESUME		# UPLOCKFL = 1 | ||||||
|  | 		TC	ACCEPTUP	# UPLOCKFL = 0 | ||||||
|  |  | ||||||
|  | CLUPLOCK	CS	UPLOCBIT	# CLEAR UPLOCKFL (I.E., SET BIT 4 OF | ||||||
|  | 		MASK	FLAGWRD7	# FLAGWRD7 = 0) | ||||||
|  | 		TS	FLAGWRD7 | ||||||
|  | 		TC	ACCEPTUP | ||||||
|  |  | ||||||
|  | 					# CODE IS BAD | ||||||
|  | TMFAIL2		CS	FLAGWRD7	# LOCK OUT FURTHER UPLINK ACTIVITY | ||||||
|  | 		MASK	UPLOCBIT	# (BY SETTING UPLOCKFL = 1) UNTIL | ||||||
|  | 		ADS	FLAGWRD7	# `ERROR RESET' IS SENT VIA UPLINK. | ||||||
|  | 		TC	RESUME | ||||||
|  | UPTEST		AD	KEYTEMP1 | ||||||
|  | # Page 1340 | ||||||
|  | 		CCS	A | ||||||
|  | 		TC	TMFAIL2 | ||||||
|  | HI10		OCT	77740 | ||||||
|  | 		TC	TMFAIL2 | ||||||
|  | 		TC	Q | ||||||
|  |  | ||||||
|  | ELRCODE		OCT	22 | ||||||
|  |  | ||||||
|  | # `UPLINK ACTIVITY LIGHT' IS TURNED OFF BY ..... | ||||||
|  | #	1.	VBRELDSP | ||||||
|  | #	2.	ERROR RESET | ||||||
|  | #	3.	UPDATE PROGRAM (P27) ENTERED BY V70,V71,V72, AND V73. | ||||||
|  | #				      _ | ||||||
|  | # THE RECEPTION OF A BAD CODE (I.E., CCC FAILURE) LOCKS OUT FURTHER UPLINK ACTIVITY BY SETTING BIT4 OF FLAGWRD7 = 1. | ||||||
|  | # THIS INDICATION WILL BE TRANSFERRED TO THE GROUND BY THE DOWNLINK WHICH DOWNLINKS ALL FLAGWORDS. | ||||||
|  | # WHEN UPLINK ACTIVITY IS LOCKED OUT, IT CAN BE ALLOWED WHEN THE GROUND UPLINKS AND `ERROR RESET' CODE. | ||||||
|  | # (IT IS RECOMMENDED THAT THE `ERROR LIGHT RESET' CODE IS PRECEEDED BY 16 BITS THE FIRST OF WHICH IS 1 FOLLOWED | ||||||
|  | # BY 15 ZEROS.  THIS WILL ELIMINATE EXTRANEOUS BITS FROM INLINK WHICH MAY HAVE BEEN LEFT OVER FROM THE ORIGINAL | ||||||
|  | # FAILURE). | ||||||
|  | # | ||||||
|  | # UPLINK ACTIVITY IS ALSO ALLOWED (UNLOCKED) DURING FRESH START WHEN FRESH START SETS BIT4 OF FLAGWRD7 = 0. | ||||||
|  |  | ||||||
|  | 		CS	XDSPBIT | ||||||
|  |  | ||||||
							
								
								
									
										308
									
								
								Luminary099/LATITUDE_LONGITUDE_SUBROUTINES.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										308
									
								
								Luminary099/LATITUDE_LONGITUDE_SUBROUTINES.agc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,308 @@ | |||||||
|  | # Copyright:	Public domain. | ||||||
|  | # Filename:	LATITUDE_LONGITUDE_SUBROUTINES.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:	Jim Lawton <jim DOT lawton AT gmail DOT com> | ||||||
|  | # Website:	www.ibiblio.org/apollo. | ||||||
|  | # Pages:	1133-1139 | ||||||
|  | # Mod history:	2009-05-28 JL	Updated from page images. | ||||||
|  | #		2011-01-06 JL	Fixed interpretive 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 | ||||||
|  | #    16:27 JULY 14, 1969 | ||||||
|  |  | ||||||
|  | # Page 1133 | ||||||
|  | # SUBROUTINE TO CONVERT RAD VECTOR AT GIVEN TIME TO LAT,LONG AND ALT | ||||||
|  | # | ||||||
|  | # CALLING SEQUENCE | ||||||
|  | #	L-1	CALL | ||||||
|  | #	L		LAT-LONG | ||||||
|  | # | ||||||
|  | # SUBROUTINES USED | ||||||
|  | #	R-TO-RP, ARCTAN, SFTGAMMA, SETRE | ||||||
|  | # | ||||||
|  | # ERASABLE INIT. REQ. | ||||||
|  | #	AXO, -AYO, AZO, TEPHEM (SET AT LAUNCH TIME) | ||||||
|  | #	ALPHAV = POSITION VECTOR METERS B-29 | ||||||
|  | #	MPAC -- TIME (CSECS B-28) | ||||||
|  | #	ERADFLAG =1, TO COMPUTE EARTH RADIUS, =0 FOR FIXED EARTH RADIUS | ||||||
|  | #	LUNAFLAG=0 FOR EARTH, 1 FOR MOON | ||||||
|  | # | ||||||
|  | # OUTPUT | ||||||
|  | #	LATITUDE IN LAT 	(REVS. B-0) | ||||||
|  | #	LONGITUDE IN LONG	(REVS. B-0) | ||||||
|  | #	ALTITUDE IN ALT 	METERS B-29 | ||||||
|  |  | ||||||
|  | 		BANK	30 | ||||||
|  | 		SETLOC	LATLONG | ||||||
|  | 		BANK | ||||||
|  |  | ||||||
|  | 		COUNT*	$$/LT-LG | ||||||
|  | 		EBANK=	ALPHAV | ||||||
|  | LAT-LONG	STQ	SETPD | ||||||
|  | 			INCORPEX | ||||||
|  | 			0D | ||||||
|  | 		STOVL	6D		# SAVE TIME IN 6-7D FOR R-TO-RP | ||||||
|  | 			ALPHAV | ||||||
|  | 		PUSH	ABVAL		# 0-5D= R FOR R-TO-RP | ||||||
|  | 		STODL	ALPHAM		# ABS. VALUE OF R FOR ALT FORMULA BELOW | ||||||
|  | 			ZEROVEC		# SET MPAC=0 FOR EARTH, NON-ZERO FOR MOON | ||||||
|  | 		BOFF	COS		# USE COS(0) TO GET NON-ZERO IN MPAC | ||||||
|  | 			LUNAFLAG	# 0=EARTH, 1=MOON | ||||||
|  | 			CALLRTRP | ||||||
|  | CALLRTRP	CALL | ||||||
|  | 			R-TO-RP		# RP VECTOR CONVERTED FROM R B-29 | ||||||
|  | 		UNIT			# UNIT RP B-1 | ||||||
|  | 		STCALL	ALPHAV		# U2= 1/2 SINL FOR SETRE SUBR BELOW | ||||||
|  | 			SETGAMMA	#	SET GAMMA=B2/A2 FOR EARTH, =1 FOR MOON | ||||||
|  | 		CALL			#	SCALED B-1 | ||||||
|  | 			SETRE		# CALC RE METERS B-29 | ||||||
|  | 		DLOAD	DSQ | ||||||
|  | 			ALPHAV | ||||||
|  | 		PDDL	DSQ | ||||||
|  | 			ALPHAV +2 | ||||||
|  | 		DAD	SQRT | ||||||
|  | # Page 1134 | ||||||
|  | 		DMP	SL1R | ||||||
|  | 			GAMRP | ||||||
|  | 		STODL	COSTH		# COS(LAT) B-1 | ||||||
|  | 			ALPHAV +4 | ||||||
|  | 		STCALL	SINTH		# SIN(LAT) B-1 | ||||||
|  | 			ARCTAN | ||||||
|  | 		STODL	LAT		# LAT B0 | ||||||
|  | 			ALPHAV | ||||||
|  | 		STODL	COSTH		# COS(LONG) B-1 | ||||||
|  | 			ALPHAV +2 | ||||||
|  | 		STCALL	SINTH		# SIN(LONG) B-1 | ||||||
|  | 			ARCTAN | ||||||
|  | 		STODL	LONG		# LONG. REVS B-0 IN RANGE -1/2 TO 1/2 | ||||||
|  | 			ALPHAM | ||||||
|  | 		DSU			# ALT= R-RE METERS B-29 | ||||||
|  | 			ERADM | ||||||
|  | 		STCALL	ALT		# EXIT WITH ALT METERS B-29 | ||||||
|  | 			INCORPEX | ||||||
|  | # Page 1135 | ||||||
|  | # SUBROUTINE TO CONVERT LAT,LONG.ALT AT GIVEN TIME TO RADIUS VECTOR | ||||||
|  | # | ||||||
|  | # CALLING SEQUENCE | ||||||
|  | #	L-1	CALL | ||||||
|  | #	L		LALOTORV | ||||||
|  | # | ||||||
|  | # SUBROUTINES USED | ||||||
|  | #	SETGAMMA, SETRE, RP-TO-R | ||||||
|  | # | ||||||
|  | # ERASABLE INIT. REQ. | ||||||
|  | #	AXO, AYO, AZO, TEPHEM SET AT LAUNCH TIME | ||||||
|  | #	LAT -- LATITUDE 	(REVS B0) | ||||||
|  | #	LONG -- LONGITUDE	(REVS B0) | ||||||
|  | #	ALT -- ALTITUDE		(METERS) B-29 | ||||||
|  | #	MPAC -- TIME		(CSECS B-28) | ||||||
|  | #	ERADFLAG =1 TO COMPUTE EARTH RADIUS, =0 FOR FIXED EARTH RADIUS | ||||||
|  | #	LUNAFLAG=0 FOR EARTH, 1 FOR MOON | ||||||
|  | # | ||||||
|  | # OUTPUT | ||||||
|  | #	R-VECTOR IN ALPHAV 	(METERS B-29) | ||||||
|  |  | ||||||
|  | LALOTORV	STQ	SETPD		# LAT,LONG,ALT TO R VECTOR | ||||||
|  | 			INCORPEX | ||||||
|  | 			0D | ||||||
|  | 		STCALL	6D		# 6-7D= TIME FOR RP-TO-R | ||||||
|  | 			SETGAMMA	# GAMMA=B2/A2 FOR EARTH, 1 FOR MOON B-1 | ||||||
|  | 		DLOAD	SIN		#           	COS(LONG)COS(LAT) IN MPAC | ||||||
|  | 			LAT		#     UNIT RP =	SIN(LONG)COS(LAT)    2-3D | ||||||
|  | 		DMPR	PDDL		# PD 2      	GAMMA*SIN(LAT)       0-1D | ||||||
|  | 			GAMRP | ||||||
|  | 			LAT		#     	 0-1D =	GAMMA*SIN(LAT) B-2 | ||||||
|  | 		COS	PDDL		# PD4 	 2-3D =	COS(LAT) B-1 TEMPORARILY | ||||||
|  | 			LONG | ||||||
|  | 		SIN	DMPR		# PD 2 | ||||||
|  | 		PDDL	COS		# PD 4 	 2-3D =	SIN(LONG)COS(LAT) B-2 | ||||||
|  | 			LAT | ||||||
|  | 		PDDL	COS		# PD 6 	 4-5D =	COS(LAT) B-1 TEMPORARILY | ||||||
|  | 			LONG | ||||||
|  | 		DMPR	VDEF		# PD 4 	 MPAC =	COS(LONG)COS(LAT) B-2 | ||||||
|  | 		UNIT	PUSH		# 0-5D= UNIT RP FOR RP-TO-R SUBR. | ||||||
|  | 		STCALL	ALPHAV		# ALPHAV +4= SINL FOR SETRE SUBR. | ||||||
|  | 			SETRE		# RE METERS B-29 | ||||||
|  | 		DLOAD	BOFF		# SET MPAC=0 FOR EARTH, NON-ZERO FOR MOON | ||||||
|  | 			ZEROVEC | ||||||
|  | 			LUNAFLAG | ||||||
|  | 			CALLRPRT | ||||||
|  | 		COS			# USE COS(0) TO GET NON-ZERO IN MPAC | ||||||
|  | CALLRPRT	CALL | ||||||
|  | 			RP-TO-R		# EXIT WITH UNIT R VECTOR IN MPAC | ||||||
|  | 		STODL	ALPHAV | ||||||
|  | 			ERADM | ||||||
|  | # Page 1136 | ||||||
|  | 		DAD	VXSC		# (RE + ALT)(UNIT R) METERS B-30 | ||||||
|  | 			ALT | ||||||
|  | 			ALPHAV | ||||||
|  | 		VSL1			# R METERS B-29 | ||||||
|  | 		STCALL	ALPHAV		# EXIT WITH R IN METERS B-29 | ||||||
|  | 			INCORPEX | ||||||
|  |  | ||||||
|  | # SUBROUTINE TO COMPUTE EARTH RADIUS | ||||||
|  | # | ||||||
|  | # INPUT | ||||||
|  | #	1/2 SIN LAT IN ALPHAV +4 | ||||||
|  | # | ||||||
|  | # OUTPUT | ||||||
|  | #	EARTH RADIUS IN ERADM AND MPAC (METERS B-29) | ||||||
|  |  | ||||||
|  | GETERAD		DLOAD	DSQ | ||||||
|  | 			ALPHAV +4	# SIN**2(L) | ||||||
|  | 		SL1	BDSU | ||||||
|  | 			DP1/2		# COS**2(L) | ||||||
|  | 		DMPR	BDSU | ||||||
|  | 			EE | ||||||
|  | 			DP1/2 | ||||||
|  | 		BDDV	SQRT | ||||||
|  | 			B2XSC | ||||||
|  | 		SR4R | ||||||
|  | 		STORE	ERADM | ||||||
|  | 		RVQ | ||||||
|  |  | ||||||
|  | # THE FOLLOWING CONSTANTS WERE COMPUTED WITH A=6378166, B=6356784 METERS | ||||||
|  | # B2XSC = B**2 SCALED B-51 | ||||||
|  | # B2/A2 = B**2/A**2 SCALED B-1 | ||||||
|  | # EE = (1-B**2/A**2) SCALED B-0 | ||||||
|  |  | ||||||
|  | B2XSC		2DEC	.0179450689	# B**2 SCALED B-51 | ||||||
|  | DP1/2		=	XUNIT | ||||||
|  | B2/A2		2DEC	.9933064884 B-1	# GAMMA= B**2/A**2 B-1 | ||||||
|  | EE		2DEC	6.6935116 E-3	# (1-B**2/A**2) B-0 | ||||||
|  |  | ||||||
|  | # Page 1137 | ||||||
|  | # ARCTAN SUBROUTINE | ||||||
|  | # | ||||||
|  | # CALLING SEQUENCE | ||||||
|  | #	SIN THETA IN SINTH B-1 | ||||||
|  | #	COS THETA IN COSTH B-1 | ||||||
|  | #	CALL ARCTAN | ||||||
|  | # | ||||||
|  | # OUTPUT | ||||||
|  | #	ARCTAN THETA IN MPAC AND THETA B-0 IN RANGE -1/2 TO +1/2 | ||||||
|  |  | ||||||
|  | ARCTAN		BOV | ||||||
|  | 			CLROVFLW | ||||||
|  | CLROVFLW	DLOAD	DSQ | ||||||
|  | 			SINTH | ||||||
|  | 		PDDL	DSQ | ||||||
|  | 			COSTH | ||||||
|  | 		DAD | ||||||
|  | 		BZE	SQRT | ||||||
|  | 			ARCTANXX	# ATAN=0/0  SET THETA=0 | ||||||
|  | 		BDDV	BOV | ||||||
|  | 			SINTH | ||||||
|  | 			ATAN=90 | ||||||
|  | 		SR1	ASIN | ||||||
|  | 		STORE	THETA | ||||||
|  | 		PDDL	BMN | ||||||
|  | 			COSTH | ||||||
|  | 			NEGCOS | ||||||
|  | 		DLOAD	RVQ | ||||||
|  | NEGCOS		DLOAD	DCOMP | ||||||
|  | 		BPL	DAD | ||||||
|  | 			NEGOUT | ||||||
|  | 			DP1/2 | ||||||
|  | ARCTANXX	STORE	THETA | ||||||
|  | 		RVQ | ||||||
|  |  | ||||||
|  | NEGOUT		DSU	GOTO | ||||||
|  | 			DP1/2 | ||||||
|  | 			ARCTANXX | ||||||
|  | ATAN=90		DLOAD	SIGN | ||||||
|  | 			LODP1/4 | ||||||
|  | 			SINTH | ||||||
|  | 		STORE	THETA | ||||||
|  | 		RVQ | ||||||
|  |  | ||||||
|  | 2DZERO		=	DPZERO | ||||||
|  |  | ||||||
|  | # Page 1138 | ||||||
|  | # ***** SETGAMMA SUBROUTINE ***** | ||||||
|  | # SUBROUTINE TO SET GAMMA FOR THE LAT-LONG AND LALOTORV SUBROUTINES | ||||||
|  | # | ||||||
|  | # GAMMA = B**2/A**2 FOR EARTH (B-1) | ||||||
|  | # GAMMA = 1 FOR MOON (B-1) | ||||||
|  | # | ||||||
|  | # CALLING SEQUENCE | ||||||
|  | #	L	CALL | ||||||
|  | #	L+1		SETGAMMA | ||||||
|  | # | ||||||
|  | # INPUT | ||||||
|  | #	LUNAFLAG=0 FOR EARTH, =1 FOR MOON | ||||||
|  | # | ||||||
|  | # OUTPUT | ||||||
|  | #	GAMMA IN GAMRP (B-1) | ||||||
|  |  | ||||||
|  | SETGAMMA	DLOAD	BOFF		# BRANCH FOR EARTH | ||||||
|  | 			B2/A2		# EARTH GAMMA | ||||||
|  | 			LUNAFLAG | ||||||
|  | 			SETGMEX | ||||||
|  | 		SLOAD | ||||||
|  | 			1B1		# MOON GAMMA | ||||||
|  | SETGMEX		STORE	GAMRP | ||||||
|  | 		RVQ | ||||||
|  | GAMRP		=	8D | ||||||
|  |  | ||||||
|  | # Page 1139 | ||||||
|  | # ***** SETRE SUBROUTINE ***** | ||||||
|  | # SUBROUTINE TO SET RE (EARTH OR MOON RADIUS) | ||||||
|  | # | ||||||
|  | #	RE = RM FOR MOON | ||||||
|  | #	RE = RREF FOR FIXED EARTH RADIUS OR COMPUTED RF FOR FISCHER ELLIPSOID | ||||||
|  | # | ||||||
|  | # CALLING SEQUENCE | ||||||
|  | #	L	CALL | ||||||
|  | #	L+1		SETRE | ||||||
|  | # | ||||||
|  | # SUBROUTINES USED | ||||||
|  | #	GETERAD | ||||||
|  | # | ||||||
|  | # INPUT | ||||||
|  | #	ERADFLAG = 0 FOR FIXED RE, 1 FOR COMPUTED RE | ||||||
|  | #	ALPHAV +4 = 1/2 SINL IF GETERAD IS CALLED | ||||||
|  | #	LUNAFLAG = 0 FOR EARTH, =1 FOR MOON | ||||||
|  | # | ||||||
|  | # OUTPUT | ||||||
|  | #	ERADM = 504RM FOR MOON (METERS B-29) | ||||||
|  | #	ERADM = ERAD OR COMPUTED RE FOR EARTH (METERS B-29) | ||||||
|  |  | ||||||
|  | SETRE		STQ	DLOAD | ||||||
|  | 			SETREX | ||||||
|  | 			504RM | ||||||
|  | 		BON	DLOAD		# BRANCH FOR MOON | ||||||
|  | 			LUNAFLAG | ||||||
|  | 			TSTRLSRM | ||||||
|  | 			ERAD | ||||||
|  | 		BOFF	CALL		# ERADFLAG=0 FOR FIXED RE, 1 FOR COMPUTED | ||||||
|  | 			ERADFLAG | ||||||
|  | 			SETRXX | ||||||
|  | 			GETERAD | ||||||
|  | SETRXX		STCALL	ERADM		# EXIT WITH RE OR RM METERS B-29 | ||||||
|  | 			SETREX | ||||||
|  | TSTRLSRM	BON	VLOAD		# ERADFLAG=0, SET R0=RLS | ||||||
|  | 			ERADFLAG	#         =1      R0=RM | ||||||
|  | 			SETRXX | ||||||
|  | 			RLS | ||||||
|  | 		ABVAL	SR2R		# SCALE FROM B-27 TO B-29 | ||||||
|  | 		GOTO | ||||||
|  | 			SETRXX | ||||||
|  | SETREX		=	S2 | ||||||
|  |  | ||||||
|  |  | ||||||
							
								
								
									
										196
									
								
								Luminary099/LUNAR_AND_SOLAR_EPHEMERIDES_SUBROUTINES.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										196
									
								
								Luminary099/LUNAR_AND_SOLAR_EPHEMERIDES_SUBROUTINES.agc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,196 @@ | |||||||
|  | # Copyright:	Public domain. | ||||||
|  | # Filename:	LUNAR_AND_SOLAR_EPHEMERIDES_SUBROUTINES.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:	Hartmuth Gutsche <hgutsche@xplornet.com>. | ||||||
|  | # Website:	www.ibiblio.org/apollo. | ||||||
|  | # Pages:	984-987 | ||||||
|  | # Mod history:	2009-05-24 HG	Transcribed from page images. | ||||||
|  | # | ||||||
|  | # 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-61 | ||||||
|  | #	16:27 JULY 14, 1969  | ||||||
|  |  | ||||||
|  | # Page 984 | ||||||
|  | # NAME -- LSPOS -- LOCATE SUN AND MOON			DATE -- 25 OCT 67 | ||||||
|  | # MOD NO. 1 | ||||||
|  | # MOD BY NEVILLE					ASSEMBLY SUNDANCE | ||||||
|  | # | ||||||
|  | # FUNCTIONAL DESCRIPTION | ||||||
|  | # | ||||||
|  | # COMPUTES UNIT POSITION VECTOR OF THE SUN AND MOON IN THE BASIC REFERENCE SYSTEM.  THE SUN VECTOR S IS | ||||||
|  | # LOCATED VIA TWO ANGLES.  THE FIRST ANGLE (OBLIQUITY) IS THE ANGLE BETWEEN THE EARTH EQUATOR AND THE ECLIPTIC.  THE | ||||||
|  | # POSITION VECTOR OF THE SUN IS | ||||||
|  | #	_ | ||||||
|  | #	S = (COS(LOS), COS(OBL)*SIN(LOS), SIN(OBL)*SIN(LOS)), WHERE | ||||||
|  | # | ||||||
|  | #	LOS = LOS +LOS *T-(C *SIN(2PI*T)/365.24 +C *COS(2PI*T)/365.24) | ||||||
|  | #	         0    R     0                     1 | ||||||
|  | #	LOS  (RAD) IS THE LONGITUDE OF THE SUN FOR MIGNIGHT JUNE 30TH OF THE PARTICULAR YEAR. | ||||||
|  | #          0 | ||||||
|  | #	LOS  (RAD/DAY) IS THE MEAN RATE FOR THE PARTICULAR YEAR. | ||||||
|  | #    	   R | ||||||
|  | # | ||||||
|  | # LOS  AND LOS  ARE STORED AS LOSC AND LOSR IN RATESP. | ||||||
|  | #    0        R | ||||||
|  | # COS(OBL) AND SIN(OBL) ARE STORED IN THE MATRIX KONMAT. | ||||||
|  | # | ||||||
|  | # T, TIME MEASURED IN DAYS (24 HOURS) IS STORED IN TIMEP. | ||||||
|  | # | ||||||
|  | # C  AND C  ARE FUDGE FACTORS TO MINIMIZE THE DEVIATION.  THEY ARE STORED AS ONE CONSTANT (CMOD), SINCE | ||||||
|  | #  0      1                               2  2 1/2 | ||||||
|  | # C *SIN(X)+C *COS(X) CAN BE WRITTEN AS (C +C )   *SIN(X+PHI), WHERE PHI=ARCTAN(C /C ). | ||||||
|  | #                                         0  1                                   1  0 | ||||||
|  | # | ||||||
|  | # THE MOON IS LOCATED VIA FOUR ANGLES, THE FIRST IS THE OBLIQUITY. THE SECOND IS THE MEAN LONGITUDE OF THE MOON, | ||||||
|  | # MEASURED IN THE ECLIPTIC FROM THE MEAN EQUINOX TO THE MEAN ASCENDING NODE OF THE LUNAR ORBIT, AND THEN ALONG THE | ||||||
|  | # ORBIT.  THE THIRD ANGLE IS THE ANGLE BETWEEN THE ECLIPTIC AND THE LUNAR ORBIT.  THE FOURTH ANGLE IS THE LONGITUDE | ||||||
|  | # OF THE NODE OF THE MOON, MEASURED IN THE LUNAR ORBIT.  LET THESE ANGLES BE OBL,LOM,IM, AND LON RESPECTIVELY. | ||||||
|  | # | ||||||
|  | # THE SIMPLIFIED POSITION VECTOR OF THE MOON IS | ||||||
|  | #	_ | ||||||
|  | #	M=(COS(LOM), COS(OBL)*SIN(LOM)-SIN(OBL)*SIN(IM)*SIN(LOM-LON), SIN(OBL)*SIN(LOM)+COS(OBL)*SIN(IM)*SIN(LOM-LON)) | ||||||
|  | # | ||||||
|  | # WHERE | ||||||
|  | #	LOM=LOM +LOM *T-(A *SIN(2PI*T/27.5545)+A *COS(2PI*T/27.5545)+B *SIN(2PI*T/32)+B *COS(2PI*T/32)), AND | ||||||
|  | #	       0    R     0                     1                     0                     1 | ||||||
|  | #	LON=LON +LON | ||||||
|  | #	       0    R | ||||||
|  | # A , A , B  AND B  ARE STORE AS AMOD AND BMOD (SEE DESCRIPTION OF CMOD, ABOVE).  COS(OBL), SIN(OBL)*SIN(IM), | ||||||
|  | #  0   1   0      1 | ||||||
|  | # SIN(OBL), AND COS(OBL)*SIN(IM) ARE STORED IN KONMAT AS K1, K2, K3, AND K4, RESPECTIVELY.  LOM , LOM , LON , LON | ||||||
|  | #                                                                                              0     R     0     R | ||||||
|  | # ARE STORED AS LOM0, LOMR, LON0, AND LONR IN RATESP. | ||||||
|  | # | ||||||
|  | # THE THREE PHIS ARE STORED AS AARG, BARG, AND CARG(SUN).  ALL CONSTANTS ARE UPDATED BY YEAR. | ||||||
|  | # | ||||||
|  | # CALLING SEQUENCE | ||||||
|  | # Page 985 | ||||||
|  | #	CALL LSPOS.  RETURN IS VIA CPRET. | ||||||
|  | # | ||||||
|  | # ALARMS OR ABORTS | ||||||
|  | #	NONE | ||||||
|  | # | ||||||
|  | # ERASABLE INITIALIZATION REQUIRED | ||||||
|  | #	TEPHEM -- TIME FROM MIGNIGHT 1 JULY PRECEDING THE LAUNCH TO THE TIME OF THE LAUNCH (WHEN THE AGC CLOCK WENT | ||||||
|  | #	TO ZERO).  TEPHEM IS TP WITH UNITS OF CENTI-SECONDS. | ||||||
|  | # | ||||||
|  | #	TIME2 AND TIME1 ARE IN MPAC AND MPAC +1 WHEN PROGRAM IS CALLED. | ||||||
|  | # | ||||||
|  | # OUTPUT | ||||||
|  | #	UNIT POSITIONAL VECTOR OF SUN IN VSUN.  (SCALED B-1) | ||||||
|  | #	UNIT POSITIONAL VECTOR OF MOON IN VMOON.  (SCALED B-1) | ||||||
|  | # | ||||||
|  | # SUBROUTINES USED | ||||||
|  | #	NONE | ||||||
|  | # | ||||||
|  | # DEBRIS | ||||||
|  | #	CURRENT CORE SET, WORK AREA AND FREEFLAG | ||||||
|  |  | ||||||
|  | 		BANK	04 | ||||||
|  | 		SETLOC	EPHEM | ||||||
|  | 		BANK | ||||||
|  |  | ||||||
|  | 		EBANK=	VSUN | ||||||
|  | 		COUNT*	$$/EPHEM | ||||||
|  | LUNPOS		EQUALS	LSPOS | ||||||
|  |  | ||||||
|  | LSPOS		SETPD	SR | ||||||
|  | 			0 | ||||||
|  | 			14D		# TP | ||||||
|  | 		TAD	DDV | ||||||
|  | # HG comments in [...] are hand written comments in original listing | ||||||
|  | 			TEPHEM		# TIME OF LAUNCH [IN CENTISEC B 42] | ||||||
|  | 			CSTODAY		# 24 HOURS -- 8640000 CENTI-SECS/DAY B-33 | ||||||
|  | 		STORE	TIMEP		# T IN DAYS [@ B 9 = 512 DAYS] | ||||||
|  | 		AXT,1	AXT,2		#	    [GRANULRITY = 0.164 SEC] | ||||||
|  | 			0 | ||||||
|  | 			0 | ||||||
|  | 		CLEAR | ||||||
|  | 			FREEFLAG	# SWITCH BIT | ||||||
|  | POSITA		DLOAD | ||||||
|  | 			KONMAT +2	# ZEROS | ||||||
|  | 		STORE	GTMP | ||||||
|  | POSITB		DLOAD	DMP* | ||||||
|  | 			TIMEP		# T | ||||||
|  | 			VAL67 +4,1	# 1/27 OR 1/32 OR 1/365 | ||||||
|  | # Page 986 | ||||||
|  | 		SL	DAD* | ||||||
|  | 			8D | ||||||
|  | 			VAL67 +2,1	# AARG | ||||||
|  | 		SIN	DMP*		# SIN(T/27+PHI) OR T/32 OR T/365 | ||||||
|  | 			VAL67,1		# (A0**2+A1**2)**1/2 SIN(X+PHIA) | ||||||
|  | 		DAD	INCR,1		# PLUS | ||||||
|  | 			GTMP		# (B0**2+B1**2)**1/2 SIN(X+PHIB) | ||||||
|  | 		DEC	-6 | ||||||
|  | 		STORE	GTMP		# OR (C0**2+C1**2)**1/2 SIN(X+PHIC) | ||||||
|  | 		BOFSET | ||||||
|  | 			FREEFLAG | ||||||
|  | 			POSITB | ||||||
|  | POSITD		DLOAD	DMP* | ||||||
|  | 			TIMEP		# T | ||||||
|  | 			RATESP,2	# LOMR,LOSR,LONR | ||||||
|  | 		SL	DAD* | ||||||
|  | 			5D | ||||||
|  | 			RATESP +6,2	# LOM0,LOS0,LON0 | ||||||
|  | 		DSU | ||||||
|  | 			GTMP | ||||||
|  | 		STORE	STMP,2		# LOM,LOS,LON | ||||||
|  | 		SLOAD	INCR,2 | ||||||
|  | 			X2 | ||||||
|  | 		DEC	-2 | ||||||
|  | 		DAD	BZE | ||||||
|  | 			RCB-13		# PLUS 2 | ||||||
|  | 			POSITE		# 2ND | ||||||
|  | 		BPL | ||||||
|  | 			POSITA		# 1ST | ||||||
|  | POSITF		DLOAD	DSU		# 3RD | ||||||
|  | 			STMP		# LOM | ||||||
|  | 			STMP +4		# LON | ||||||
|  | 		SIN	PDDL		# SIN(LOM-LON) | ||||||
|  | 			STMP | ||||||
|  | 		SIN	PDDL		# SIN LOM | ||||||
|  | 			STMP | ||||||
|  | 		COS	VDEF		# COS LOM | ||||||
|  | 		MXV	UNIT | ||||||
|  | 			KONMAT		# K1,K2,K3,K4, | ||||||
|  | 		STORE	VMOON | ||||||
|  | 		DLOAD	PDDL | ||||||
|  | 			KONMAT +2	# ZERO | ||||||
|  | 			STMP +2 | ||||||
|  | 		SIN	PDDL		# SIN LOS | ||||||
|  | 			STMP +2 | ||||||
|  | 		COS	VDEF		# COS LOS | ||||||
|  | 		MXV	UNIT | ||||||
|  | 			KONMAT | ||||||
|  | 		STORE	VSUN | ||||||
|  | 		RVQ | ||||||
|  | # Page 987 | ||||||
|  | POSITE		DLOAD | ||||||
|  | 			KONMAT +2	# ZEROS | ||||||
|  | 		STORE	GTMP | ||||||
|  | 		GOTO | ||||||
|  | 			POSITD | ||||||
|  | LUNVEL		RVQ | ||||||
|  | 		SETLOC	EPHEM1 | ||||||
|  | 		BANK | ||||||
|  |  | ||||||
|  | 		COUNT*	$$/EPHEM | ||||||
|  | STMP		EQUALS	16D | ||||||
|  | GTMP		EQUALS	22D | ||||||
|  | TIMEP		EQUALS	24D | ||||||
|  |  | ||||||
|  | # *** END OF LEMP50S .115 *** | ||||||
							
								
								
									
										165
									
								
								Luminary099/MAIN.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										165
									
								
								Luminary099/MAIN.agc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,165 @@ | |||||||
|  | # Copyright:	Public domain. | ||||||
|  | # Filename:	MAIN.agc | ||||||
|  | # Purpose:	The main source file for Luminary 1A, revision 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/index.html | ||||||
|  | # Mod history:	2009-05-05 RSB	Adapted from Luminary131/MAIN.agc. | ||||||
|  | # | ||||||
|  | # The contents of the "Luminary099" files, in general, are | ||||||
|  | # transcribed from a digital images created from a hardcopy of the program | ||||||
|  | # residing at the MIT Museum.  Many thanks to Debbie Douglas of the Museum, | ||||||
|  | # and to Paul Fjeld (who made the images). | ||||||
|  | # | ||||||
|  | # Notations on this document read, in part: | ||||||
|  | # | ||||||
|  | #	ASSEMBLE REVISION 001 OF AGC PROGRAM LMY99 BY NASA 2021112-061 | ||||||
|  | #	16:27 JULY 14,1969 | ||||||
|  | #	[Note that this is the date the hardcopy was made, not the | ||||||
|  | #	date of the program revision or the assembly.] | ||||||
|  | #	... | ||||||
|  | #	THIS LGC PROGRAM IS INTENDED FOR USE IN THE LM DURING THE MANNED | ||||||
|  | #	LUNAR LANDING MISSION OR ANY SUBSET THEREOF. | ||||||
|  | #	... | ||||||
|  | # | ||||||
|  | # The page images themselves, as reduced in size (and consequently in | ||||||
|  | # quality) to be suitable for online presentation, are available at  | ||||||
|  | # http://www.ibiblio.org/apollo.  If you want to see the (much) higher | ||||||
|  | # quality digital images that Paul actually made, contact info@sandroi.org | ||||||
|  | # directly. | ||||||
|  | # | ||||||
|  | # This file is a little different from the other Luminary099 files I'm providing,  | ||||||
|  | # in that it doesn't represent anything that appears directly in the original source.   | ||||||
|  | # What I (RSB) have done for organizational purposes is to split the huge monolithic | ||||||
|  | # source code into smaller, more manageable chunks--i.e., into individual source  | ||||||
|  | # files.  Those files are rejoined within this file as "includes".  It just makes | ||||||
|  | # it a little easier to work with.  The code chunks correspond to natural divisions | ||||||
|  | # into sub-programs.  In fact, these divisions are more-or-less specified by | ||||||
|  | # the source code itself.  Refer to the "TABLE OF SUBROUTINE LOG SECTIONS" at the | ||||||
|  | # very beginning of the file ASSEMBLY_AND_OPERATION_INFORMATION.agc. | ||||||
|  | # | ||||||
|  | # It may be reasonably asked why tens of thousands of lines of source are joined by | ||||||
|  | # means of inclusion, rather than simply assembling the source files individually and | ||||||
|  | # then linking them to form the executable.  The answer is that the original  | ||||||
|  | # development team had no linker.  The builds were monolithic just like this. | ||||||
|  | # There was a big emphasis on reusability of the code in the original project,  | ||||||
|  | # apparently, but this reusability took the form of inserting your deck of  | ||||||
|  | # punch-cards at the appropriate position in somebody else's deck of punch-cards. | ||||||
|  | # (Actually, I believe a tape-library method was used to avoid having to continually | ||||||
|  | # reload the card decks, but that doesn't change the basic principle.) | ||||||
|  | # So, indeed, the method of file-inclusion is a very fair representation of the  | ||||||
|  | # methods used in the original development ... with the improvement, of course, | ||||||
|  | # that you no longer have to worry about dropping the card deck.  On the other hand,  | ||||||
|  | # I wasn't there at the time, so I may have no idea what I'm talking about. | ||||||
|  | # | ||||||
|  | # Finally, note that the original Apollo AGC assembler (called "YUL") is no longer  | ||||||
|  | # available (as far as I can tell).  In fact, it was replaced by another assembler | ||||||
|  | # ("GAP") even before Apollo 11, but GAP is no more available than is YUL.  The  | ||||||
|  | # replacement assembler yaYUL accepts a slightly different format for the source  | ||||||
|  | # code from what YUL or GAP accepted, so the source code has been targeted for  | ||||||
|  | # assembly with yaYUL. | ||||||
|  |  | ||||||
|  | # What follows is simply a bunch of file-includes for the individual code chunks. | ||||||
|  | # I've marked the page numbers to make proof-reading easier.  Besides, the digital | ||||||
|  | # images of the assembly listing contains a lot of interesting tables (cross- | ||||||
|  | # referenced to page numbers) created by GAP, but not duplicated by yaYUL, so it's | ||||||
|  | # still valuable even if the source-files listed below are at hand. | ||||||
|  |  | ||||||
|  | $CONTRACT_AND_APPROVALS.agc			# p. 1 | ||||||
|  | $ASSEMBLY_AND_OPERATION_INFORMATION.agc		# pp. 2-27 | ||||||
|  | $TAGS_FOR_RELATIVE_SETLOC.agc			# pp. 28-37 | ||||||
|  | $CONTROLLED_CONSTANTS.agc			# pp. 38-53 | ||||||
|  | $INPUT_OUTPUT_CHANNEL_BIT_DESCRIPTIONS.agc	# pp. 54-60 | ||||||
|  | $FLAGWORD_ASSIGNMENTS.agc			# pp. 61-88 | ||||||
|  | 						# p.  89 is a GAP-generated table						 | ||||||
|  | $ERASABLE_ASSIGNMENTS.agc			# pp. 90-152 | ||||||
|  | $INTERRUPT_LEAD_INS.agc				# pp. 153-154 | ||||||
|  | $T4RUPT_PROGRAM.agc				# pp. 155-189 | ||||||
|  | $RCS_FAILURE_MONITOR.agc				# pp. 190-192 | ||||||
|  | $DOWNLINK_LISTS.agc				# pp. 193-205 | ||||||
|  | $AGS_INITIALIZATION.agc				# pp. 206-210 | ||||||
|  | $FRESH_START_AND_RESTART.agc			# pp. 211-237 | ||||||
|  | $RESTART_TABLES.agc				# pp. 238-243 | ||||||
|  | $AOTMARK.agc					# pp. 244-261 | ||||||
|  | $EXTENDED_VERBS.agc				# pp. 262-300 | ||||||
|  | $PINBALL_NOUN_TABLES.agc			# pp. 301-319 | ||||||
|  | $LEM_GEOMETRY.agc				# pp. 320-325 | ||||||
|  | $IMU_COMPENSATION_PACKAGE.agc			# pp. 326-337 | ||||||
|  | $R63.agc					# pp. 338-341 | ||||||
|  | $ATTITUDE_MANEUVER_ROUTINE.agc			# pp. 342-363 | ||||||
|  | $GIMBAL_LOCK_AVOIDANCE.agc			# p.  364 | ||||||
|  | $KALCMANU_STEERING.agc				# pp. 365-369 | ||||||
|  | $SYSTEM_TEST_STANDARD_LEAD_INS.agc		# pp. 370-372 | ||||||
|  | $IMU_PERFORMANCE_TEST_2.agc			# pp. 373-381 | ||||||
|  | $IMU_PERFORMANCE_TESTS_4.agc			# pp. 382-389 | ||||||
|  | $PINBALL_GAME_BUTTONS_AND_LIGHTS.agc		# pp. 390-471 | ||||||
|  | $R60_62.agc					# pp. 472-485 | ||||||
|  | $S-BAND_ANTENNA_FOR_LM.agc			# pp. 486-489 | ||||||
|  | $RADAR_LEADIN_ROUTINES.agc			# pp. 490-491 | ||||||
|  | $P20-P25.agc					# pp. 492-614 | ||||||
|  | $P30_P37.agc					# pp. 615-617 | ||||||
|  | $P32-P35_P72-P75.agc				# pp. 618-650 | ||||||
|  | $LAMBERT_AIMPOINT_GUIDANCE.agc			# pp. 651-653 | ||||||
|  | $GROUND_TRACKING_DETERMINATION_PROGRAM.agc	# pp. 654-657 | ||||||
|  | $P34-35_P74-75.agc				# pp. 658-702 | ||||||
|  | $R31.agc					# pp. 703-708 | ||||||
|  | $P76.agc					# pp. 709-711 | ||||||
|  | $R30.agc					# pp. 712-722 | ||||||
|  | $STABLE_ORBIT.agc				# pp. 723-730 | ||||||
|  | $BURN_BABY_BURN--MASTER_IGNITION_ROUTINE.agc	# pp. 731-751 | ||||||
|  | $P40-P47.agc					# pp. 752-784 | ||||||
|  | $THE_LUNAR_LANDING.agc				# pp. 785-792 | ||||||
|  | $THROTTLE_CONTROL_ROUTINES.agc			# pp. 793-797 | ||||||
|  | $LUNAR_LANDING_GUIDANCE_EQUATIONS.agc		# pp. 798-828 | ||||||
|  | $P70-P71.agc					# pp. 829-837 | ||||||
|  | $P12.agc					# pp. 838-842 | ||||||
|  | $ASCENT_GUIDANCE.agc				# pp. 843-856 | ||||||
|  | $SERVICER.agc					# pp. 857-897 | ||||||
|  | $LANDING_ANALOG_DISPLAYS.agc			# pp. 898-907 | ||||||
|  | $FINDCDUW--GUIDAP_INTERFACE.agc			# pp. 908-925 | ||||||
|  | $P51-P53.agc					# pp. 926-983 | ||||||
|  | $LUNAR_AND_SOLAR_EPHEMERIDES_SUBROUTINES.agc	# pp. 984-987 | ||||||
|  | $DOWN_TELEMETRY_PROGRAM.agc			# pp. 988-997 | ||||||
|  | $INTER-BANK_COMMUNICATION.agc			# pp. 998-1001 | ||||||
|  | $INTERPRETER.agc				# pp. 1002-1094 | ||||||
|  | $FIXED_FIXED_CONSTANT_POOL.agc			# pp. 1095-1099 | ||||||
|  | $INTERPRETIVE_CONSTANT.agc			# pp. 1100-1101 | ||||||
|  | $SINGLE_PRECISION_SUBROUTINES.agc		# p.  1102 | ||||||
|  | $EXECUTIVE.agc					# pp. 1103-1116 | ||||||
|  | $WAITLIST.agc					# pp. 1117-1132 | ||||||
|  | $LATITUDE_LONGITUDE_SUBROUTINES.agc		# pp. 1133-1139 | ||||||
|  | $PLANETARY_INERTIAL_ORIENTATION.agc		# pp. 1140-1148 | ||||||
|  | $MEASUREMENT_INCORPORATION.agc			# pp. 1149-1158 | ||||||
|  | $CONIC_SUBROUTINES.agc				# pp. 1159-1204 | ||||||
|  | $INTEGRATION_INITIALIZATION.agc			# pp. 1205-1226 | ||||||
|  | $ORBITAL_INTEGRATION.agc			# pp. 1227-1248 | ||||||
|  | $INFLIGHT_ALIGNMENT_ROUTINES.agc		# pp. 1249-1258 | ||||||
|  | $POWERED_FLIGHT_SUBROUTINES.agc			# pp. 1259-1267 | ||||||
|  | $TIME_OF_FREE_FALL.agc				# pp. 1268-1283 | ||||||
|  | $AGC_BLOCK_TWO_SELF_CHECK.agc			# pp. 1284-1293 | ||||||
|  | $PHASE_TABLE_MAINTENANCE.agc			# pp. 1294-1302 | ||||||
|  | $RESTARTS_ROUTINE.agc				# pp. 1303-1308 | ||||||
|  | $IMU_MODE_SWITCHING_ROUTINES.agc		# pp. 1309-1337 | ||||||
|  | $KEYRUPT_UPRUPT.agc				# pp. 1338-1340 | ||||||
|  | $DISPLAY_INTERFACE_ROUTINES.agc			# pp. 1341-1373 | ||||||
|  | $SERVICE_ROUTINES.agc				# pp. 1374-1380 | ||||||
|  | $ALARM_AND_ABORT.agc				# pp. 1381-1385 | ||||||
|  | $UPDATE_PROGRAM.agc				# pp. 1386-1396 | ||||||
|  | $RTB_OP_CODES.agc				# pp. 1397-1402 | ||||||
|  | $T6-RUPT_PROGRAMS.agc				# pp. 1403-1405 | ||||||
|  | $DAP_INTERFACE_SUBROUTINES.agc			# pp. 1406-1409 | ||||||
|  | $DAPIDLER_PROGRAM.agc				# pp. 1410-1420 | ||||||
|  | $P-AXIS_RCS_AUTOPILOT.agc			# pp. 1421-1441 | ||||||
|  | $Q_R-AXIS_RCS_AUTOPILOT.agc			# pp. 1442-1459 | ||||||
|  | $TJET_LAW.agc					# pp. 1460-1469 | ||||||
|  | $KALMAN_FILTER.agc				# pp. 1470-1471 | ||||||
|  | $TRIM_GIMBAL_CNTROL_SYSTEM.agc			# pp. 1472-1484 | ||||||
|  | $AOSTASK_AND_AOSJOB.agc				# pp. 1485-1506 | ||||||
|  | $SPS_BACK-UP_RCS_CONTROL.agc			# pp. 1507-1510 | ||||||
|  | 						# pp. 1511-1743: GAP-generated tables. | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
							
								
								
									
										495
									
								
								Luminary099/MEASUREMENT_INCORPORATION.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										495
									
								
								Luminary099/MEASUREMENT_INCORPORATION.agc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,495 @@ | |||||||
|  | # Copyright:	Public domain. | ||||||
|  | # Filename:	MEASUREMENT_INCORPORATION.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:	Jim Lawton <jim DOT lawton AT gmail DOT com> | ||||||
|  | # Website:	www.ibiblio.org/apollo. | ||||||
|  | # Pages:	1149-1158 | ||||||
|  | # Mod history:	2009-05-28 JL	Updated from page images. | ||||||
|  | #		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 | ||||||
|  | #    16:27 JULY 14, 1969 | ||||||
|  |  | ||||||
|  | # Page 1149 | ||||||
|  | # INCORP1 -- PERFORMS THE SIX DIMENSIONAL STATE VECTOR DEVIATION FOR POSITION | ||||||
|  | # AND VELOCITY OR THE NINE-DIMENSIONAL DEVIATION OF POSITION, VELOCITY, AND | ||||||
|  | # RADAR OR LANDMARK BIAS. THE OUTPUT OF THE BVECTOR ROUTINE ALONG WITH THE | ||||||
|  | # ERROR TRANSITION MATRIX (W) ARE USED AS INPU TO THE ROUTINE. THE DEVIATION | ||||||
|  | # IS OBTAINED BY COMPUTING AN ESTIMATED TRACKING MEASUREMENT FROM THE | ||||||
|  | # CURRENT STATE VECTOR AND COMPARING IT WITH AN ACTUAL TRACKING MEASUREMENT | ||||||
|  | # AND APPLYING A STATISTICAL WEIGHTING VECTOR. | ||||||
|  | # | ||||||
|  | # INPUT | ||||||
|  | #	 DMENFLG = 0 (6-DIMENSIONAL BVECTOR), =1 (9-DIMENSIONAL) | ||||||
|  | #	       W = ERROR TRANSITION MATRIX 6X6 OR 9X9 | ||||||
|  | #	VARIANCE = VARIANCE (SCALAR) | ||||||
|  | #	  DELTAQ = MEASURED DEVIATION (SCALAR) | ||||||
|  | #	 BVECTOR = 6 OR 9 DIMENSIONAL BVECTOR | ||||||
|  | # | ||||||
|  | # OUTPUT | ||||||
|  | #	  DELTAX = STATE VECTOR DEVIATIONS 6 OR 9 DIMENSIONAL | ||||||
|  | #	      ZI = VECTOR USED FOR THE INCORPORATION 6 OR 9 DIMENSIONAL | ||||||
|  | #	   GAMMA = SCALAR | ||||||
|  | #	   OMEGA = OMEGA WEIGHTING VECTOR 6 OR 9 DIMENSIONAL | ||||||
|  | # | ||||||
|  | # CALLING SEQUENCE | ||||||
|  | #	L	CALL 	INCORP1 | ||||||
|  | # | ||||||
|  | # NORMAL EXIT | ||||||
|  | #	L+1 OF CALLING SEQUENCE | ||||||
|  |  | ||||||
|  | 		BANK	37 | ||||||
|  | 		SETLOC	MEASINC | ||||||
|  | 		BANK | ||||||
|  |  | ||||||
|  | 		COUNT*	$$/INCOR | ||||||
|  |  | ||||||
|  | 		EBANK=	W | ||||||
|  |  | ||||||
|  | INCORP1		STQ | ||||||
|  | 			EGRESS | ||||||
|  | 		AXT,1	SSP | ||||||
|  | 			54D | ||||||
|  | 			S1 | ||||||
|  | 			18D		# IX1 = 54 	S1= 18 | ||||||
|  | 		AXT,2	SSP | ||||||
|  | 			18D | ||||||
|  | 			S2 | ||||||
|  | 			6		# IX2 = 18	S2=6 | ||||||
|  | Z123		VLOAD	MXV* | ||||||
|  | 			BVECTOR		# BVECTOR (0) | ||||||
|  | 			W +54D,1 | ||||||
|  | 		STORE	ZI +18D,2 | ||||||
|  | 		VLOAD | ||||||
|  | 			BVECTOR +6	# BVECTOR (1) | ||||||
|  | # Page 1150 | ||||||
|  | 		MXV*	VAD* | ||||||
|  | 			W +108D,1 | ||||||
|  | 			ZI +18D,2 | ||||||
|  | 		STORE	ZI +18D,2 | ||||||
|  | 		VLOAD | ||||||
|  | 			BVECTOR +12D	# BVECTOR (2) | ||||||
|  | 		MXV*	VAD* | ||||||
|  | 			W +162D,1 | ||||||
|  | 			ZI +18D,2	# B(0)*W+B(1)*(W+54)+B(2)*(W+108) FIRST PASS | ||||||
|  | 		STORE	ZI +18D,2	# ZI THEN Z2 THEN Z3 | ||||||
|  | 		TIX,1 | ||||||
|  | 			INCOR1 | ||||||
|  | INCOR1		TIX,2	BON | ||||||
|  | 			Z123		# LOOP FOR Z1,Z2,Z3 | ||||||
|  | 			DMENFLG | ||||||
|  | 			INCOR1A | ||||||
|  | 		VLOAD | ||||||
|  | 			ZEROVECS | ||||||
|  | 		STORE	ZI +12D | ||||||
|  | INCOR1A		SETPD	VLOAD | ||||||
|  | 			0 | ||||||
|  | 			ZI | ||||||
|  | 		VSQ	RTB | ||||||
|  | 			TPMODE | ||||||
|  | 		PDVL	VSQ | ||||||
|  | 			ZI +6 | ||||||
|  | 		RTB	TAD | ||||||
|  | 			TPMODE | ||||||
|  | 		PDVL	VSQ | ||||||
|  | 			ZI +12D | ||||||
|  | 		RTB	TAD | ||||||
|  | 			TPMODE | ||||||
|  | 		TAD	AXT,2 | ||||||
|  | 			VARIANCE | ||||||
|  | 			0 | ||||||
|  | 		STORE	TRIPA		# ZI*2 + Z2*2 + Z3*2 + VARIANCE | ||||||
|  | 		TLOAD	BOV | ||||||
|  | 			VARIANCE	# CLEAR OVFIND | ||||||
|  | 			+1 | ||||||
|  | 		STORE	TEMPVAR		# TEMP STORAGE FOR VARIANCE | ||||||
|  | 		BZE | ||||||
|  | 			INCOR1C | ||||||
|  | INCOR1B		SL2	BOV | ||||||
|  | 			INCOR1C | ||||||
|  | 		STORE	TEMPVAR | ||||||
|  | 		INCR,2	GOTO | ||||||
|  | 		DEC	1 | ||||||
|  | 			INCOR1B | ||||||
|  | INCOR1C		TLOAD	ROUND | ||||||
|  | 			TRIPA | ||||||
|  | # Page 1151 | ||||||
|  | 		DMP	SQRT | ||||||
|  | 			TEMPVAR | ||||||
|  | 		SL*	TAD | ||||||
|  | 			0,2 | ||||||
|  | 			TRIPA | ||||||
|  | 		NORM	INCR,2 | ||||||
|  | 			X2 | ||||||
|  | 		DEC	-2 | ||||||
|  | 		SXA,2	AXT,2 | ||||||
|  | 			NORMGAM		# NORMALIZATION COUNT -2 FOR GAMMA | ||||||
|  | 			162D | ||||||
|  | 		BDDV	SETPD | ||||||
|  | 			DP1/4TH | ||||||
|  | 			0 | ||||||
|  | 		STORE	GAMMA | ||||||
|  | 		TLOAD	NORM | ||||||
|  | 			TRIPA | ||||||
|  | 			X1 | ||||||
|  | 		DLOAD	PDDL		# PD 0-1 = NORM (A) | ||||||
|  | 			MPAC | ||||||
|  | 			DELTAQ | ||||||
|  | 		NORM | ||||||
|  | 			S1 | ||||||
|  | 		XSU,1	SR1 | ||||||
|  | 			S1 | ||||||
|  | 		DDV	PUSH		# PD 0-1 = DELTAQ/A | ||||||
|  | 		GOTO | ||||||
|  | 			NEWZCOMP | ||||||
|  |  -3		SSP | ||||||
|  | 			S2 | ||||||
|  | 			54D | ||||||
|  | INCOR2		VLOAD	VXM*		# COMPUT OMEGA1,2,3 | ||||||
|  | 			ZI | ||||||
|  | 			W +162D,2 | ||||||
|  | 		PUSH	VLOAD | ||||||
|  | 			ZI +6 | ||||||
|  | 		VXM*	VAD | ||||||
|  | 			W +180D,2 | ||||||
|  | 		PUSH	VLOAD | ||||||
|  | 			ZI +12D | ||||||
|  | 		VXM*	VAD | ||||||
|  | 			W +198D,2 | ||||||
|  | 		PUSH	TIX,2		# PD 2-7=OMEGA1, 8-13=OMEGA2, 14-19=OMEGA3 | ||||||
|  | 			INCOR2 | ||||||
|  | 		VLOAD	STADR | ||||||
|  | 		STORE	OMEGA +12D | ||||||
|  | 		VLOAD	STADR | ||||||
|  | 		STORE	OMEGA +6 | ||||||
|  | 		VLOAD	STADR | ||||||
|  | 		STORE	OMEGA | ||||||
|  | # Page 1152 | ||||||
|  | 		BON	VLOAD | ||||||
|  | 			DMENFLG | ||||||
|  | 			INCOR2AB | ||||||
|  | 			ZEROVECS | ||||||
|  | 		STORE	OMEGA +12D | ||||||
|  | INCOR2AB	AXT,2	SSP | ||||||
|  | 			18D | ||||||
|  | 			S2 | ||||||
|  | 			6 | ||||||
|  | INCOR3		VLOAD* | ||||||
|  | 			OMEGA +18D,2 | ||||||
|  | 		VXSC	VSL* | ||||||
|  | 			0		# DELTAQ/A | ||||||
|  | 			0,1 | ||||||
|  | 		STORE	DELTAX +18D,2 | ||||||
|  | 		TIX,2	VLOAD | ||||||
|  | 			INCOR3 | ||||||
|  | 			DELTAX +6 | ||||||
|  | 		VSL3 | ||||||
|  | 		STORE	DELTAX +6 | ||||||
|  | 		GOTO | ||||||
|  | 			EGRESS | ||||||
|  |  | ||||||
|  | # Page 1153 | ||||||
|  | # INCORP2 - INCORPORATES THE COMPUTED STATE VECTOR DEVIATIONS INTO THE | ||||||
|  | # ESTIMATED STATE VECTOR. THE STATE VECTOR UPDATED MAY BE FOR EITHER THE | ||||||
|  | # LEM OR THE CSM. DETERMINED BY FLAG VEHUPFLG. (ZERO = LEM) (1 = CSM) | ||||||
|  | # | ||||||
|  | # INPUT | ||||||
|  | #	PERMANENT STATE VECTOR FOR EITHER THE LEM OR CSM | ||||||
|  | #	VEHUPFLG = UPDATE VEHICLE 0=LEM  1=CSM | ||||||
|  | #	W = ERROR TRANSITION MATRIX | ||||||
|  | #	DELTAX = COMPUTED STATE VECTOR DEVIATIONS | ||||||
|  | # 	DMENFLG = SIZE OF W MATRIX (ZERO=6X6) (1=9X9) | ||||||
|  | #	GAMMA = SCALAR FOR INCORPORATION | ||||||
|  | # 	ZI = VECTOR USED IN INCORPORATION | ||||||
|  | #	OMEGA = WEIGHTING VECTOR | ||||||
|  | # | ||||||
|  | # OUTPUT | ||||||
|  | #	UPDATED PERMANENT STATE VECTOR | ||||||
|  | # | ||||||
|  | # CALLING SEQUENCE | ||||||
|  | #	L	CALL	INCORP2 | ||||||
|  | # | ||||||
|  | # NORMAL EXIT | ||||||
|  | #	L+1 OF CALLING SEQUENCE | ||||||
|  | # | ||||||
|  |  | ||||||
|  | 		SETLOC	MEASINC1 | ||||||
|  | 		BANK | ||||||
|  |  | ||||||
|  | 		COUNT*	$$/INCOR | ||||||
|  |  | ||||||
|  | INCORP2		STQ	CALL | ||||||
|  | 			EGRESS | ||||||
|  | 			INTSTALL | ||||||
|  | 		VLOAD	VXSC		# CALC. GAMMA * OMEGA1,2,3 | ||||||
|  | 			OMEGA | ||||||
|  | 			GAMMA | ||||||
|  | 		STOVL	OMEGAM1 | ||||||
|  | 			OMEGA +6 | ||||||
|  | 		VXSC | ||||||
|  | 			GAMMA | ||||||
|  | 		STOVL	OMEGAM2 | ||||||
|  | 			OMEGA +12D | ||||||
|  | 		VXSC | ||||||
|  | 			GAMMA | ||||||
|  | 		STORE	OMEGAM3 | ||||||
|  | 		EXIT | ||||||
|  | 		CAF	54DD		# INITIAL IX 1 SETTING FOR W MATRIX | ||||||
|  | 		TS	WIXA | ||||||
|  | 		TS	WIXB | ||||||
|  | 		CAF	ZERO | ||||||
|  | 		TS	ZIXA		# INITIAL IX 2 SETTING FOR Z COMPONENT | ||||||
|  | 		TS	ZIXB | ||||||
|  | FAZA		TC	PHASCHNG | ||||||
|  | # Page 1154 | ||||||
|  | 		OCT	04022 | ||||||
|  | 		TC	UPFLAG | ||||||
|  | 		ADRES	REINTFLG | ||||||
|  | FAZA1		CA	WIXB		# START FIRST PHASE OF INCORP2 | ||||||
|  | 		TS	WIXA		# TO UPDATE 6 OR 9 DIM. W MATRIX IN TEMP | ||||||
|  | 		CA	ZIXB | ||||||
|  | 		TS	ZIXA | ||||||
|  | 		TC	INTPRET | ||||||
|  | 		LXA,1	LXA,2 | ||||||
|  | 			WIXA | ||||||
|  | 			ZIXA | ||||||
|  | 		SSP	DLOAD* | ||||||
|  | 			S1 | ||||||
|  | 			6 | ||||||
|  | 			ZI,2 | ||||||
|  | 		DCOMP	NORM		# CALC UPPER 3X9 PARTITION OF W MATRIX | ||||||
|  | 			S2 | ||||||
|  | 		VXSC	XCHX,2 | ||||||
|  | 			OMEGAM1 | ||||||
|  | 			S2 | ||||||
|  | 		LXC,2	XAD,2 | ||||||
|  | 			X2 | ||||||
|  | 			NORMGAM | ||||||
|  | 		VSL*	XCHX,2 | ||||||
|  | 			0,2 | ||||||
|  | 			S2 | ||||||
|  | 		VAD* | ||||||
|  | 			W +54D,1 | ||||||
|  | 		STORE	HOLDW | ||||||
|  | 		DLOAD*	DCOMP		# CALC MIDDLE 3X9 PARTITION OF W MATRIX | ||||||
|  | 			ZI,2 | ||||||
|  | 		NORM	VXSC | ||||||
|  | 			S2 | ||||||
|  | 			OMEGAM2 | ||||||
|  | 		XCHX,2	LXC,2 | ||||||
|  | 			S2 | ||||||
|  | 			X2 | ||||||
|  | 		XAD,2	VSL* | ||||||
|  | 			NORMGAM | ||||||
|  | 			0,2 | ||||||
|  | 		XCHX,2	VAD* | ||||||
|  | 			S2 | ||||||
|  | 			W +108D,1 | ||||||
|  | 		STORE	HOLDW +6 | ||||||
|  | 		BOFF | ||||||
|  | 			DMENFLG		# BRANCH IF 6 DIMENSIONAL | ||||||
|  | 			FAZB | ||||||
|  | 		DLOAD*	DCOMP		# CALC LOWER 3X9 PARTITION OF W MATRIX | ||||||
|  | 			ZI,2 | ||||||
|  | 		NORM	VXSC | ||||||
|  | # Page 1155 | ||||||
|  | 			S2 | ||||||
|  | 			OMEGAM3 | ||||||
|  | 		XCHX,2	LXC,2 | ||||||
|  | 			S2 | ||||||
|  | 			X2 | ||||||
|  | 		XAD,2	VSL* | ||||||
|  | 			NORMGAM | ||||||
|  | 			0,2 | ||||||
|  | 		XCHX,2	VAD* | ||||||
|  | 			S2 | ||||||
|  | 			W +162D,1 | ||||||
|  | 		STORE	HOLDW +12D | ||||||
|  | FAZB		CALL | ||||||
|  | 			GRP2PC | ||||||
|  | 		EXIT | ||||||
|  | FAZB1		CA	WIXA		# START 2ND PHASE OF INCORP2 TO TRANSFER | ||||||
|  | 		AD	6DD		# 	TEMP REG TO PERM W MATRIX | ||||||
|  | 		TS	WIXB | ||||||
|  | 		CA	ZIXA | ||||||
|  | 		AD	MINUS2 | ||||||
|  | 		TS	ZIXB | ||||||
|  | 		TC	INTPRET | ||||||
|  | 		LXA,1	SSP | ||||||
|  | 			WIXA | ||||||
|  | 			S1 | ||||||
|  | 			6 | ||||||
|  | 		VLOAD | ||||||
|  | 			HOLDW | ||||||
|  | 		STORE	W +54D,1 | ||||||
|  | 		VLOAD | ||||||
|  | 			HOLDW +6 | ||||||
|  | 		STORE	W +108D,1 | ||||||
|  | 		BOFF	VLOAD | ||||||
|  | 			DMENFLG | ||||||
|  | 			FAZB5 | ||||||
|  | 			HOLDW +12D | ||||||
|  | 		STORE	W +162D,1 | ||||||
|  | FAZB2		TIX,1	GOTO | ||||||
|  | 			+2 | ||||||
|  | 			FAZC		# DONE WITH W MATRIX.  UPDATE STATE VECTOR | ||||||
|  | 		RTB | ||||||
|  | 			FAZA | ||||||
|  | FAZB5		SLOAD	DAD | ||||||
|  | 			ZIXB | ||||||
|  | 			12DD | ||||||
|  | 		BHIZ	GOTO | ||||||
|  | 			FAZC | ||||||
|  | 			FAZB2 | ||||||
|  | FAZC		CALL | ||||||
|  | 			GRP2PC | ||||||
|  | # Page 1156 | ||||||
|  | 		VLOAD	VAD		# START 3RD PHASE OF INCORP2 | ||||||
|  | 			X789		# 7TH, 8TH, 9TH COMPONENT OF STATE VECTOR | ||||||
|  | 			DELTAX +12D	# INCORPORATION FOR X789 | ||||||
|  | 		STORE	TX789 | ||||||
|  | 		BON	RTB | ||||||
|  | 			VEHUPFLG | ||||||
|  | 			DOCSM | ||||||
|  | 			MOVEPLEM | ||||||
|  | FAZAB		BOVB	AXT,2 | ||||||
|  | 			TCDANZIG | ||||||
|  | 			0 | ||||||
|  | 		BOFF	AXT,2 | ||||||
|  | 			MOONTHIS | ||||||
|  | 			+2 | ||||||
|  | 			2 | ||||||
|  | 		VLOAD	VSR* | ||||||
|  | 			DELTAX		# B27 IF MOON ORBIT, B29 IF EARTH | ||||||
|  | 			0 -7,2 | ||||||
|  | 		VAD	BOV | ||||||
|  | 			TDELTAV | ||||||
|  | 			FAZAB1 | ||||||
|  | 		STOVL	TDELTAV | ||||||
|  | 			DELTAX +6	# B5 IF MOON ORBIT, B7 IF EARTH | ||||||
|  | 		VSR*	VAD | ||||||
|  | 			0 -4,2 | ||||||
|  | 			TNUV | ||||||
|  | 		BOV | ||||||
|  | 			FAZAB2 | ||||||
|  | 		STCALL	TNUV | ||||||
|  | 			FAZAB3 | ||||||
|  | FAZAB1		VLOAD	VAD | ||||||
|  | 			RCV | ||||||
|  | 			DELTAX | ||||||
|  | 		STORE	RCV | ||||||
|  | FAZAB2		VLOAD	VAD | ||||||
|  | 			VCV | ||||||
|  | 			DELTAX +6 | ||||||
|  | 		STORE	VCV | ||||||
|  | 		SXA,2	CALL | ||||||
|  | 			PBODY | ||||||
|  | 			RECTIFY | ||||||
|  | FAZAB3		CALL | ||||||
|  | 			GRP2PC | ||||||
|  | 		BON	RTB | ||||||
|  | 			VEHUPFLG | ||||||
|  | 			DOCSM1 | ||||||
|  | 			MOVEALEM | ||||||
|  | 		CALL | ||||||
|  | 			SVDWN2		# STORE DOWNLINK STATE VECTOR | ||||||
|  | FAZAB4		CALL | ||||||
|  | # Page 1157 | ||||||
|  | 			GRP2PC		# PHASE CHANGE | ||||||
|  | 		BOFF	VLOAD | ||||||
|  | 			DMENFLG | ||||||
|  | 			FAZAB5		# 6 DIMENSIONAL | ||||||
|  | 			TX789		# 9 DIMENSIONAL | ||||||
|  | 		STORE	X789 | ||||||
|  | FAZAB5		LXA,1	SXA,1 | ||||||
|  | 			EGRESS | ||||||
|  | 			QPRET | ||||||
|  | 		EXIT | ||||||
|  | 		TC	POSTJUMP	# EXIT | ||||||
|  | 		CADR	INTWAKE | ||||||
|  | DOCSM		RTB	GOTO | ||||||
|  | 			MOVEPCSM | ||||||
|  | 			FAZAB | ||||||
|  | DOCSM1		RTB	CALL | ||||||
|  | 			MOVEACSM | ||||||
|  | 			SVDWN1		# STORE DOWNLINK STATE VECTOR | ||||||
|  | 		GOTO | ||||||
|  | 			FAZAB4 | ||||||
|  | ZEROD		=	ZEROVECS | ||||||
|  | 54DD		DEC	54 | ||||||
|  | 6DD		DEC	-6 | ||||||
|  | 12DD		DEC	12 | ||||||
|  |  | ||||||
|  | 		SETLOC	RENDEZ | ||||||
|  | 		BANK | ||||||
|  | 		COUNT*	$$/INCOR | ||||||
|  |  | ||||||
|  | NEWZCOMP	VLOAD	ABVAL | ||||||
|  | 			ZI | ||||||
|  | 		STOVL	NORMZI | ||||||
|  | 			ZI +6 | ||||||
|  | 		ABVAL	PUSH | ||||||
|  | 		DSU	BMN | ||||||
|  | 			NORMZI | ||||||
|  | 			+3 | ||||||
|  | 		DLOAD	STADR | ||||||
|  | 		STORE	NORMZI | ||||||
|  | 		VLOAD	ABVAL | ||||||
|  | 			ZI +12D | ||||||
|  | 		PUSH	DSU | ||||||
|  | 			NORMZI | ||||||
|  | 		BMN	DLOAD | ||||||
|  | 			+3 | ||||||
|  | 		STADR | ||||||
|  | 		STORE	NORMZI		# LARGEST ABVAL | ||||||
|  | 		DLOAD	SXA,1 | ||||||
|  | 			NORMZI | ||||||
|  | 			NORMZI		# SAVE X1 | ||||||
|  | 		NORM	INCR,1 | ||||||
|  | # Page 1158 | ||||||
|  | 			X1 | ||||||
|  | 		DEC	2 | ||||||
|  | 		VLOAD	VSL* | ||||||
|  | 			ZI | ||||||
|  | 			0,1 | ||||||
|  | 		STOVL	ZI | ||||||
|  | 			ZI +6 | ||||||
|  | 		VSL* | ||||||
|  | 			0,1 | ||||||
|  | 		STOVL	ZI +6 | ||||||
|  | 			ZI +12D | ||||||
|  | 		VSL*	SXA,1 | ||||||
|  | 			0,1 | ||||||
|  | 			NORMZI +1	# SAVE SHIFT | ||||||
|  | 		STORE	ZI +12D | ||||||
|  | 		LXA,1	XSU,1 | ||||||
|  | 			NORMGAM | ||||||
|  | 			NORMZI +1 | ||||||
|  | 		XSU,1 | ||||||
|  | 			NORMZI +1 | ||||||
|  | 		SXA,1	LXC,1 | ||||||
|  | 			NORMGAM | ||||||
|  | 			NORMZI +1 | ||||||
|  | 		XAD,1	SETPD | ||||||
|  | 			NORMZI | ||||||
|  | 			2D | ||||||
|  | 		GOTO | ||||||
|  | 			INCOR2 -3 | ||||||
|  | NORMZI		=	36D | ||||||
|  |  | ||||||
|  |  | ||||||
							
								
								
									
										977
									
								
								Luminary099/ORBITAL_INTEGRATION.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										977
									
								
								Luminary099/ORBITAL_INTEGRATION.agc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,977 @@ | |||||||
|  | # Copyright:	Public domain. | ||||||
|  | # Filename:	ORBITAL_INTEGRATION.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:	1227-1248 | ||||||
|  | # Mod history:	2009-05-26 RSB	Adapted from the corresponding  | ||||||
|  | #				Luminary131 file, using page  | ||||||
|  | #				images from Luminary 1A. | ||||||
|  | #		2009-06-05 RSB	Fixed 3 typos. | ||||||
|  | #		2009-06-06 RSB	Page 1248 was missing entirely for some reason. | ||||||
|  | #		2009-06-07 RSB	Corrected a typo. | ||||||
|  | # | ||||||
|  | # 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-61 | ||||||
|  | #	16:27 JULY 14, 1969  | ||||||
|  |  | ||||||
|  | # Page 1227 | ||||||
|  | # ORBITAL INTEGRATION | ||||||
|  |  | ||||||
|  | # DELETE | ||||||
|  | 		BANK	13 | ||||||
|  | 		SETLOC	ORBITAL | ||||||
|  | 		BANK | ||||||
|  | 		COUNT*	$$/ORBIT | ||||||
|  |  | ||||||
|  | # DELETE | ||||||
|  | KEPPREP		LXA,2	SETPD | ||||||
|  | 			PBODY | ||||||
|  | 			0 | ||||||
|  | 		DLOAD*	SQRT		# SQRT(MU) (+18 OR +15)		0D	PL 2D | ||||||
|  | 			MUEARTH,2 | ||||||
|  | 		PDVL	UNIT		#					PL 8D | ||||||
|  | 			RCV | ||||||
|  | 		PDDL	NORM		# NORM R (+29 OR +27 - N1)	2D	PL 4D | ||||||
|  | 			36D | ||||||
|  | 			X1 | ||||||
|  | 		PDVL | ||||||
|  | 		DOT	PDDL		# F*SQRT(MU) (+7 OR +5) 	4D	PL 6D | ||||||
|  | 			VCV | ||||||
|  | 			TAU.		# (+28) | ||||||
|  | 		DSU	NORM | ||||||
|  | 			TC | ||||||
|  | 			S1 | ||||||
|  | 		SR1 | ||||||
|  | 		DDV	PDDL | ||||||
|  | 			2D | ||||||
|  | 		DMP	PUSH		# FS (+6 +N1-N2) 		6D	PL 8D | ||||||
|  | 			4D | ||||||
|  | 		DSQ	PDDL		# (FS)SQ (+12 +2(N1-N2))	8D	PL 10D | ||||||
|  | 			4D | ||||||
|  | 		DSQ	PDDL*		# SSQ/MU (-20R +2(N1-N2))	10D	PL 12D | ||||||
|  | 			MUEARTH,2 | ||||||
|  | 		SR3	SR4 | ||||||
|  | 		PDVL	VSQ		# PREALIGN MU (+43 OR +37) 	12D	PL 14D | ||||||
|  | 			VCV | ||||||
|  | 		DMP	BDSU		#					PL 12D | ||||||
|  | 			36D | ||||||
|  | 		DDV	DMP		#					PL 10D | ||||||
|  | 			2D		# -(1/R-ALPHA) (+12 +3N1-2N2) | ||||||
|  | 		DMP	SL* | ||||||
|  | 			DP2/3 | ||||||
|  | 			0 	-3,1	# 10L(1/R-ALPHA) (+13 +2(N1-N2)) | ||||||
|  | 		XSU,1	DAD		# 2(FS)SQ - ETCETERA			PL 8D | ||||||
|  | 			S1		# X1 = N2-N1 | ||||||
|  | 		SL*	DSU		# -FS+2(FS)SQ ETC (+6 +N1-N2)		PL 6D | ||||||
|  | 			8D,1 | ||||||
|  | 		DMP	DMP | ||||||
|  | 			0D | ||||||
|  | 			4D | ||||||
|  | 		SL*	SL* | ||||||
|  | # Page 1228 | ||||||
|  | 			8D,1 | ||||||
|  | 			0,1		# S(-FS(1-2FS)-1/6...) (+17 OR +16) | ||||||
|  | 		DAD	PDDL		#					PL 6D | ||||||
|  | 			XKEP | ||||||
|  | 		DMP	SL*		# S(+17 OR +16) | ||||||
|  | 			0D | ||||||
|  | 			1,1 | ||||||
|  | 		BOVB	DAD | ||||||
|  | 			TCDANZIG | ||||||
|  | 		STADR | ||||||
|  | 		STORE	XKEPNEW | ||||||
|  | 		STQ	AXC,1 | ||||||
|  | 			KEPRTN | ||||||
|  | 		DEC	10 | ||||||
|  | 		BON	AXC,1 | ||||||
|  | 			MOONFLAG | ||||||
|  | 			KEPLERN | ||||||
|  | 		DEC	2 | ||||||
|  | 		GOTO | ||||||
|  | 			KEPLERN | ||||||
|  |  | ||||||
|  | # Page 1229 | ||||||
|  | FBR3		LXA,1	SSP | ||||||
|  | 			DIFEQCNT | ||||||
|  | 			S1 | ||||||
|  | 		DEC	-13 | ||||||
|  | 		DLOAD	SR | ||||||
|  | 			DT/2 | ||||||
|  | 			9D | ||||||
|  | 		TIX,1	ROUND | ||||||
|  | 			+1 | ||||||
|  | 		PUSH	DAD | ||||||
|  | 			TC | ||||||
|  | 		STODL	TAU. | ||||||
|  | 		DAD | ||||||
|  | 			TET | ||||||
|  | 		STCALL	TET | ||||||
|  | 			KEPPREP | ||||||
|  |  | ||||||
|  | # Page 1230 | ||||||
|  | # AGC ROUTINE TO COMPUTE ACCELERATION COMPONENTS. | ||||||
|  |  | ||||||
|  | ACCOMP		LXA,1	LXA,2 | ||||||
|  | 			PBODY | ||||||
|  | 			PBODY | ||||||
|  | 		VLOAD | ||||||
|  | 			ZEROVEC | ||||||
|  | 		STOVL	FV | ||||||
|  | 			ALPHAV | ||||||
|  | 		VSL*	VAD | ||||||
|  | 			0 	-7,2 | ||||||
|  | 			RCV | ||||||
|  | 		STORE	BETAV | ||||||
|  | 		BOF	XCHX,2 | ||||||
|  | 			DIM0FLAG | ||||||
|  | 			+5 | ||||||
|  | 			DIFEQCNT | ||||||
|  | 		STORE	VECTAB,2 | ||||||
|  | 		XCHX,2 | ||||||
|  | 			DIFEQCNT | ||||||
|  | 		VLOAD	UNIT | ||||||
|  | 			ALPHAV | ||||||
|  | 		STODL	ALPHAV | ||||||
|  | 			36D | ||||||
|  | 		STORE	ALPHAM | ||||||
|  | 		CALL | ||||||
|  | 			GAMCOMP | ||||||
|  | 		VLOAD	SXA,1 | ||||||
|  | 			BETAV | ||||||
|  | 			S2 | ||||||
|  | 		STODL	ALPHAV | ||||||
|  | 			BETAM | ||||||
|  | 		STORE	ALPHAM | ||||||
|  | 		BOF	DLOAD | ||||||
|  | 			MIDFLAG | ||||||
|  | 			OBLATE | ||||||
|  | 			TET | ||||||
|  | 		CALL | ||||||
|  | 			LSPOS | ||||||
|  | 		AXT,2	LXA,1 | ||||||
|  | 			2 | ||||||
|  | 			S2 | ||||||
|  | 		BOF | ||||||
|  | 			MOONFLAG | ||||||
|  | 			+3 | ||||||
|  | 		VCOMP	AXT,2 | ||||||
|  | 			0 | ||||||
|  | 		STORE	BETAV | ||||||
|  | 		STOVL	RPQV | ||||||
|  | # Page 1231 | ||||||
|  | 			2D | ||||||
|  | 		STORE	RPSV | ||||||
|  | 		SLOAD	DSU | ||||||
|  | 			MODREG | ||||||
|  | 			OCT27 | ||||||
|  | 		BHIZ	BOF | ||||||
|  | 			+3 | ||||||
|  | 			DIM0FLAG | ||||||
|  | 			GETRPSV | ||||||
|  | 		VLOAD	VXSC | ||||||
|  | 			ALPHAV | ||||||
|  | 			ALPHAM | ||||||
|  | 		VSR*	VSU | ||||||
|  | 			1,2 | ||||||
|  | 			BETAV | ||||||
|  | 		XCHX,2 | ||||||
|  | 			DIFEQCNT | ||||||
|  | 		STORE	VECTAB 	+6,2 | ||||||
|  | 		STORE	RQVV | ||||||
|  | 		XCHX,2 | ||||||
|  | 			DIFEQCNT | ||||||
|  | GETRPSV		VLOAD	INCR,1 | ||||||
|  | 			RPQV | ||||||
|  | 			4 | ||||||
|  | 		CLEAR	BOF | ||||||
|  | 			RPQFLAG | ||||||
|  | 			MOONFLAG | ||||||
|  | 			+5 | ||||||
|  | 		VSR	VAD | ||||||
|  | 			9D | ||||||
|  | 			RPSV | ||||||
|  | 		STORE	RPSV | ||||||
|  | 		CALL | ||||||
|  | 			GAMCOMP | ||||||
|  | 		AXT,2	INCR,1 | ||||||
|  | 			4 | ||||||
|  | 			4 | ||||||
|  | 		VLOAD | ||||||
|  | 			RPSV | ||||||
|  | 		STCALL	BETAV | ||||||
|  | 			GAMCOMP | ||||||
|  | 		GOTO | ||||||
|  | 			OBLATE | ||||||
|  | GAMCOMP		VLOAD	VSR1 | ||||||
|  | 			BETAV | ||||||
|  | 		VSQ	SETPD | ||||||
|  | 			0 | ||||||
|  | 		NORM	ROUND | ||||||
|  | 			31D | ||||||
|  | 		PDDL	NORM		# NORMED B SQUARED TO PD LIST | ||||||
|  | # Page 1232		 | ||||||
|  | 			ALPHAM		# NORMALIZE (LESS ONE) LENGTH OF ALPHA | ||||||
|  | 			32D		# SAVING NORM SCALE FACTOR IN X1 | ||||||
|  | 		SR1	PDVL | ||||||
|  | 			BETAV		# C(PDL+2) = ALMOST NORMED ALPHA | ||||||
|  | 		UNIT | ||||||
|  | 		STODL	BETAV | ||||||
|  | 			36D | ||||||
|  | 		STORE	BETAM | ||||||
|  | 		NORM	BDDV		# FORM NORMALIZE QUOTIEN ALPHAM/BETAM | ||||||
|  | 			33D | ||||||
|  | 		SR1R	PUSH		# C(PDL+2) = ALMOST NORMALIZE RHO. | ||||||
|  | 		DLOAD* | ||||||
|  | 			ASCALE,1 | ||||||
|  | 		STORE	S1 | ||||||
|  | 		XCHX,2	XAD,2 | ||||||
|  | 			S1 | ||||||
|  | 			32D | ||||||
|  | 		XSU,2	DLOAD | ||||||
|  | 			33D | ||||||
|  | 			2D | ||||||
|  | 		SR*	XCHX,2 | ||||||
|  | 			0 	-1,2 | ||||||
|  | 			S1 | ||||||
|  | 		PUSH	SR1R		# RHO/4 TO 4D | ||||||
|  | 		PDVL	DOT | ||||||
|  | 			ALPHAV | ||||||
|  | 			BETAV | ||||||
|  | 		SL1R	BDSU		# (RHO/4) - 2(ALPHAV/2.BETAV/2) | ||||||
|  | 		PUSH	DMPR		# TO PDL+6 | ||||||
|  | 			4 | ||||||
|  | 		SL1 | ||||||
|  | 		PUSH	DAD | ||||||
|  | 			DQUARTER | ||||||
|  | 		PUSH	SQRT | ||||||
|  | 		DMPR	PUSH | ||||||
|  | 			10D | ||||||
|  | 		SL1	DAD | ||||||
|  | 			DQUARTER | ||||||
|  | 		PDDL	DAD		# (1/4)+2((Q+1)/4)	TO PD+14D | ||||||
|  | 			10D | ||||||
|  | 			HALFDP | ||||||
|  | 		DMPR	SL1 | ||||||
|  | 			8D | ||||||
|  | 		DAD	DDV | ||||||
|  | 			THREE/8 | ||||||
|  | 			14D | ||||||
|  | 		DMPR	VXSC | ||||||
|  | 			6 | ||||||
|  | 			BETAV		#		_ | ||||||
|  | 		PDVL	VSR3		# (G/2)(C(PD+4))B/2 TO PD+16D | ||||||
|  | # Page 1233 | ||||||
|  | 			ALPHAV | ||||||
|  | 		VAD	PUSH		# A12 + C(PD+16D) TO PD+16D | ||||||
|  | 		DLOAD	DMP | ||||||
|  | 			0 | ||||||
|  | 			12D | ||||||
|  | 		NORM	ROUND | ||||||
|  | 			30D | ||||||
|  | 		BDDV	DMP* | ||||||
|  | 			2 | ||||||
|  | 			MUEARTH,2 | ||||||
|  | 		DCOMP	VXSC | ||||||
|  | 		XCHX,2	XAD,2 | ||||||
|  | 			S1 | ||||||
|  | 			S2 | ||||||
|  | 		XSU,2	XSU,2 | ||||||
|  | 			30D | ||||||
|  | 			31D | ||||||
|  | 		BOV			# CLEAR OVIND | ||||||
|  | 			+1 | ||||||
|  | 		VSR*	XCHX,2 | ||||||
|  | 			0	-1,2 | ||||||
|  | 			S1 | ||||||
|  | 		VAD | ||||||
|  | 			FV | ||||||
|  | 		STORE	FV | ||||||
|  | 		BOV	RVQ		# RETURN IF NO OVERFLOW | ||||||
|  | 			+1 | ||||||
|  | GOBAQUE		VLOAD	ABVAL | ||||||
|  | 			TDELTAV | ||||||
|  | 		BZE | ||||||
|  | 			INT-ABRT | ||||||
|  | 		DLOAD	SR | ||||||
|  | 			H | ||||||
|  | 			9D | ||||||
|  | 		PUSH	BDSU | ||||||
|  | 			TC | ||||||
|  | 		STODL	TAU. | ||||||
|  | 			TET | ||||||
|  | 		DSU	STADR | ||||||
|  | 		STCALL	TET | ||||||
|  | 			KEPPREP | ||||||
|  | 		CALL | ||||||
|  | 			RECTIFY | ||||||
|  | 		SETGO | ||||||
|  | 			RPQFLAG | ||||||
|  | 			TESTLOOP | ||||||
|  |  | ||||||
|  | INT-ABRT	EXIT | ||||||
|  | 		TC	P00DOO | ||||||
|  | 		OCT	00430 | ||||||
|  |  | ||||||
|  | # Page 1234 | ||||||
|  | # THE OBLATE ROUTINE COMPUTES THE ACCELERATION DUE TO OBLATENESS.  IT USES THE UNIT OF THE VEHICLE | ||||||
|  | # POSITION VECTOR FOUND IN ALPHAV AND THE DISTANCE TO THE CENTER IN ALPHAM.  THIS IS ADDED TO THE SUM OF THE | ||||||
|  | # DISTURBING ACCELERATIONS IN FV AND THE PROPER DIFEQ STAGE IS CALLED VIA X1. | ||||||
|  |  | ||||||
|  | OBLATE		LXA,2	DLOAD | ||||||
|  | 			PBODY | ||||||
|  | 			ALPHAM | ||||||
|  | 		SETPD	DSU* | ||||||
|  | 			0 | ||||||
|  | 			RDE,2 | ||||||
|  | 		BPL	BOF		# GET URPV | ||||||
|  | 			NBRANCH | ||||||
|  | 			MOONFLAG | ||||||
|  | 			COSPHIE | ||||||
|  | 		VLOAD	PDDL | ||||||
|  | 			ALPHAV | ||||||
|  | 			TET | ||||||
|  | 		PDDL	CALL | ||||||
|  | 			3/5 | ||||||
|  | 			R-TO-RP | ||||||
|  | 		STORE	URPV | ||||||
|  | 		VLOAD	VXV | ||||||
|  | 			504LM | ||||||
|  | 			ZUNIT | ||||||
|  | 		VAD	VXM | ||||||
|  | 			ZUNIT | ||||||
|  | 			MMATRIX | ||||||
|  | 		UNIT			# POSSIBLY UNNECESSARY | ||||||
|  | COMTERM		STORE	UZ | ||||||
|  | 		DLOAD	DMPR | ||||||
|  | 			COSPHI/2 | ||||||
|  | 			3/32 | ||||||
|  | 		PDDL	DSQ		# P2/64 TO PD0 | ||||||
|  | 			COSPHI/2 | ||||||
|  | 		DMPR	DSU | ||||||
|  | 			15/16 | ||||||
|  | 			3/64 | ||||||
|  | 		PUSH	DMPR		# P3/32 TO PD2 | ||||||
|  | 			COSPHI/2 | ||||||
|  | 		DMP	SL1R | ||||||
|  | 			7/12 | ||||||
|  | 		PDDL	DMPR | ||||||
|  | 			0 | ||||||
|  | 			2/3 | ||||||
|  | 		BDSU	PUSH		# P4/128 TO PD4 | ||||||
|  | 		DMPR	DMPR | ||||||
|  | 			COSPHI/2	# BEGIN COMPUTING P5/1024 | ||||||
|  | 			9/16 | ||||||
|  | 		PDDL	DMPR | ||||||
|  | 			2 | ||||||
|  | 			5/128 | ||||||
|  | # Page 1235 | ||||||
|  | 		BDSU | ||||||
|  | 		DMP* | ||||||
|  | 			J4REQ/J3,2 | ||||||
|  | 		DDV	DAD		#	       -3 | ||||||
|  | 			ALPHAM		# (((P5/256)B 2  /R+P4/32)  /R+P3/8)ALPHAV | ||||||
|  | 			4		#	     4		   3 | ||||||
|  | 		DMPR*	DDV | ||||||
|  | 			2J3RE/J2,2 | ||||||
|  | 			ALPHAM | ||||||
|  | 		DAD	VXSC | ||||||
|  | 			2 | ||||||
|  | 			ALPHAV | ||||||
|  | 		STODL	TVEC | ||||||
|  | 		DMP*	SR1 | ||||||
|  | 			J4REQ/J3,2 | ||||||
|  | 		DDV	DAD | ||||||
|  | 			ALPHAM | ||||||
|  | 		DMPR*	SR3 | ||||||
|  | 			2J3RE/J2,2 | ||||||
|  | 		DDV	DAD | ||||||
|  | 			ALPHAM | ||||||
|  | 		VXSC	VSL1 | ||||||
|  | 			UZ | ||||||
|  | 		BVSU | ||||||
|  | 			TVEC | ||||||
|  | 		STODL	TVEC | ||||||
|  | 			ALPHAM | ||||||
|  | 		NORM	DSQ | ||||||
|  | 			X1 | ||||||
|  | 		DSQ	NORM | ||||||
|  | 			S1		#	  4 | ||||||
|  | 		PUSH	BDDV*		# NORMED R  TO 0D | ||||||
|  | 			J2REQSQ,2 | ||||||
|  | 		VXSC	BOV | ||||||
|  | 			TVEC | ||||||
|  | 			+1		# (RESET OVERFLOW INDICATOR) | ||||||
|  | 		XAD,1	XAD,1 | ||||||
|  | 			X1 | ||||||
|  | 			X1 | ||||||
|  | 		XAD,1	VSL* | ||||||
|  | 			S1 | ||||||
|  | 			0 -22D,1 | ||||||
|  | 		VAD	BOV | ||||||
|  | 			FV | ||||||
|  | 			GOBAQUE | ||||||
|  | 		STCALL	FV | ||||||
|  | 			QUALITY1	 | ||||||
|  | 			 | ||||||
|  | QUALITY3	DSQ			# J22 TERM X R**4 IN 2D, SCALED B61 | ||||||
|  | 					# AS VECTOR. | ||||||
|  | # Page 1236 | ||||||
|  | 		PUSH	DMP		# STORE COSPHI**2 SCALED B2 IN 8D | ||||||
|  | 			5/8		# 5 SCALED B3 | ||||||
|  | 		PDDL	SR2		# PUT 5 COSPHI**2, D5, IN 8D.  GET | ||||||
|  | 					# COSPHI**2 D2 FROM 8D | ||||||
|  | 		DAD	BDSU		# END UP WITH (1-7 COSPHI**2), B5 | ||||||
|  | 			8D		# ADDING COSPHI**2 B4 SAME AS COSPHI**2 | ||||||
|  | 					# X 2 D5 | ||||||
|  | 			D1/32		# 1 SCALED B5 | ||||||
|  | 		DMP	DMP | ||||||
|  | 			URPV		# X COMPONENT | ||||||
|  | 			5/8		# 5 SCALED B3 | ||||||
|  | 		VXSC	VSL5		# AFTER SHIFT, SCALED B5 | ||||||
|  | 			URPV		# VECTOR, B1. | ||||||
|  | 		PDDL			# VECTOR INTO 8D, 10D, 12D, SCALED B5. | ||||||
|  | 					# GET 5 COSPHI**2 OUT OF 8D | ||||||
|  | 		DSU	DAD | ||||||
|  | 			D1/32		# 1 B5 | ||||||
|  | 			8D		# X COMPONENT (SAME AS MULTIPLYING | ||||||
|  | 					# BY UNITX) | ||||||
|  | 		STODL	8D | ||||||
|  | 			URPV		# X COMPONENT | ||||||
|  | 		DMP	DMP | ||||||
|  | 			URPV	+4	# Z COMPONENT | ||||||
|  | 			5/8		# 5 B3 ANSWER B5 | ||||||
|  | 		SL1	DAD		# FROM 12D FOR Z COMPONENT (SL1 GIVES 10 | ||||||
|  | 					# INSTEAD OF 5 FOR COEFFICIENT) | ||||||
|  | 		PDDL	NORM		# BACK INTO 12D FOR Z COMPNENT. | ||||||
|  | 			ALPHAM		# SCALED B27 FOR MOON | ||||||
|  | 			X2 | ||||||
|  | 		PUSH	SLOAD		# STORE IN 14D, DESTROYING URPV | ||||||
|  | 					# X COMPONENT | ||||||
|  | 			E32C31RM | ||||||
|  | 		DDV	VXSC		# IF X2 = 0, DIVISION GIVES B53, VXSC | ||||||
|  | 					# OUT OF 8D B5 GIVES B58 | ||||||
|  | 		VSL*	VAD		# SHIFT MAKES B61, FOR ADDITION OF  | ||||||
|  | 					# VECTOR IN 2D | ||||||
|  | 			0	-3,2 | ||||||
|  | 		VSL*	V/SC		# OPERAND FROM 0D.  B108 FOR X1 = 0 | ||||||
|  | 			0	-27D,1	# FOR X1 = 0, MAKES B88, GIVING B-20 | ||||||
|  | 					# FOR RESULT. | ||||||
|  | 		PDDL	PDDL | ||||||
|  | 			TET | ||||||
|  | 			5/8		# ANY NON-ZERO CONSTANT | ||||||
|  | 		LXA,2	CALL		# POSITION IN 0D, TIME IN 6D.  X2 LEFT | ||||||
|  | 					# ALONE. | ||||||
|  | 			PBODY | ||||||
|  | 			RP-TO-R | ||||||
|  | 		VAD	BOV		# OVERFLOW INDICATOR RESET IN "RP-TO-R" | ||||||
|  | 			FV | ||||||
|  | 			GOBAQUE | ||||||
|  | # Page 1237			 | ||||||
|  | 		STORE	FV | ||||||
|  | NBRANCH		SLOAD	LXA,1 | ||||||
|  | 			DIFEQCNT | ||||||
|  | 			MPAC | ||||||
|  | 		DMP	CGOTO | ||||||
|  | 			-1/12 | ||||||
|  | 			MPAC | ||||||
|  | 			DIFEQTAB | ||||||
|  | COSPHIE		DLOAD | ||||||
|  | 			ALPHAV 	+4 | ||||||
|  | 		STOVL	COSPHI/2 | ||||||
|  | 			ZUNIT | ||||||
|  | 		GOTO | ||||||
|  | 			COMTERM | ||||||
|  | DIFEQTAB	CADR	DIFEQ+0 | ||||||
|  | 		CADR	DIFEQ+1 | ||||||
|  | 		CADR	DIFEQ+2 | ||||||
|  | TIMESTEP	BOF	VLOAD | ||||||
|  | 			MIDFLAG | ||||||
|  | 			RECTEST | ||||||
|  | 			RCV | ||||||
|  | 		DOT	DMP | ||||||
|  | 			VCV | ||||||
|  | 			DT/2		# (R.V) X (DELTA T) | ||||||
|  | 		BMN | ||||||
|  | 			RECTEST | ||||||
|  | 		BON	BOF | ||||||
|  | 			MOONFLAG | ||||||
|  | 			LUNSPH | ||||||
|  | 			RPQFLAG | ||||||
|  | 			EARSPH | ||||||
|  | 		DLOAD	CALL | ||||||
|  | 			TET | ||||||
|  | 			LSPOS		# RPQV IN MPAC | ||||||
|  | 		STORE	RPQV		# RPQV | ||||||
|  | 		LXA,2 | ||||||
|  | 			PBODY | ||||||
|  | INLUNCHK	BVSU	ABVAL | ||||||
|  | 			RCV | ||||||
|  | 		DSU	BMN | ||||||
|  | 			RSPHERE | ||||||
|  | 			DOSWITCH | ||||||
|  | RECTEST		VLOAD	ABVAL		# RECTIFY IF | ||||||
|  | 			TDELTAV | ||||||
|  | 		BOV | ||||||
|  | 			CALLRECT | ||||||
|  | 		DSU	BPL		#	1) EITHER TDELTAV OR TNUV EQUALS OR | ||||||
|  | 			3/4		#	   EXCEEDS 3/4 IN MAGNITUDE | ||||||
|  | 			CALLRECT	# | ||||||
|  | 		DAD	SL*		#			OR | ||||||
|  | # Page 1238 | ||||||
|  | 			3/4		# | ||||||
|  | 			0 	-7,2	#	2) ABVAL(TDELTAV) EQUALS OR EXCEEDS | ||||||
|  | 		DDV	DSU		#	   .01(ABVAL(RCV)) | ||||||
|  | 			10D | ||||||
|  | 			RECRATIO | ||||||
|  | 		BPL	VLOAD | ||||||
|  | 			CALLRECT | ||||||
|  | 			TNUV | ||||||
|  | 		ABVAL	DSU | ||||||
|  | 			3/4 | ||||||
|  | 		BOV | ||||||
|  | 			CALLRECT | ||||||
|  | 		BMN | ||||||
|  | 			INTGRATE | ||||||
|  | CALLRECT	CALL | ||||||
|  | 			RECTIFY | ||||||
|  | INTGRATE	VLOAD | ||||||
|  | 			TNUV | ||||||
|  | 		STOVL	ZV | ||||||
|  | 			TDELTAV | ||||||
|  | 		STORE	YV | ||||||
|  | 		CLEAR | ||||||
|  | 			JSWITCH | ||||||
|  | DIFEQ0		VLOAD	SSP | ||||||
|  | 			YV | ||||||
|  | 			DIFEQCNT | ||||||
|  | 			0 | ||||||
|  | 		STODL	ALPHAV | ||||||
|  | 			DPZERO | ||||||
|  | 		STORE	H		# START H AT ZERO.  GOES 0(DELT/2)DELT. | ||||||
|  | 		BON	GOTO | ||||||
|  | 			JSWITCH | ||||||
|  | 			DOW.. | ||||||
|  | 			ACCOMP | ||||||
|  | EARSPH		VLOAD	GOTO | ||||||
|  | 			RPQV | ||||||
|  | 			INLUNCHK | ||||||
|  | LUNSPH		DLOAD	SR2 | ||||||
|  | 			10D | ||||||
|  | 		DSU	BMN | ||||||
|  | 			RSPHERE | ||||||
|  | 			RECTEST | ||||||
|  | 		BOF	DLOAD | ||||||
|  | 			RPQFLAG | ||||||
|  | 			DOSWITCH | ||||||
|  | 			TET | ||||||
|  | 		CALL | ||||||
|  | 			LUNPOS | ||||||
|  | 		VCOMP | ||||||
|  | 		STORE	RPQV | ||||||
|  | # Page 1239		 | ||||||
|  | DOSWITCH	CALL | ||||||
|  | 			ORIGCHNG | ||||||
|  | 		GOTO | ||||||
|  | 			INTGRATE | ||||||
|  | ORIGCHNG	STQ	CALL | ||||||
|  | 			ORIGEX | ||||||
|  | 			RECTIFY | ||||||
|  | 		VLOAD	VSL* | ||||||
|  | 			RCV | ||||||
|  | 			0,2 | ||||||
|  | 		VSU	VSL* | ||||||
|  | 			RPQV | ||||||
|  | 			2,2 | ||||||
|  | 		STORE	RRECT | ||||||
|  | 		STODL	RCV | ||||||
|  | 			TET | ||||||
|  | 		CALL | ||||||
|  | 			LUNVEL | ||||||
|  | 		BOF	VCOMP | ||||||
|  | 			MOONFLAG | ||||||
|  | 			+1 | ||||||
|  | 		PDVL	VSL* | ||||||
|  | 			VCV | ||||||
|  | 			0,2 | ||||||
|  | 		VSU | ||||||
|  | 		VSL* | ||||||
|  | 			0 	+2,2 | ||||||
|  | 		STORE	VRECT | ||||||
|  | 		STORE	VCV | ||||||
|  | 		LXA,2	SXA,2 | ||||||
|  | 			ORIGEX | ||||||
|  | 			QPRET | ||||||
|  | 		BON	GOTO | ||||||
|  | 			MOONFLAG | ||||||
|  | 			CLRMOON | ||||||
|  | 			SETMOON | ||||||
|  | # Page 1240 | ||||||
|  | # THE RECTIFY SUBROUTINE IS CALLED BY THE INTEGRATION PROGRAM AND OCCASIONALLY BY THE MEASUREMENT INCORPORATION | ||||||
|  | # ROUTINES TO ESTABLISH A NEW CONIC. | ||||||
|  |  | ||||||
|  | RECTIFY		LXA,2	VLOAD | ||||||
|  | 			PBODY | ||||||
|  | 			TDELTAV | ||||||
|  | 		VSL*	VAD | ||||||
|  | 			0 	-7,2 | ||||||
|  | 			RCV | ||||||
|  | 		STORE	RRECT | ||||||
|  | 		STOVL	RCV | ||||||
|  | 			TNUV | ||||||
|  | 		VSL*	VAD | ||||||
|  | 			0 	-4,2 | ||||||
|  | 			VCV | ||||||
|  | MINIRECT	STORE	VRECT | ||||||
|  | 		STOVL	VCV | ||||||
|  | 			ZEROVEC | ||||||
|  | 		STORE	TDELTAV | ||||||
|  | 		STODL	TNUV | ||||||
|  | 			ZEROVEC | ||||||
|  | 		STORE	TC | ||||||
|  | 		STORE	XKEP | ||||||
|  | 		RVQ | ||||||
|  |  | ||||||
|  | # Page 1241 | ||||||
|  | # THE THREE DIFEQ ROUTINES -- DIFEQ+0, DIFEQ+12, DIFEQ+24 -- ARE ENTERED TO PROCESS THE CONTRIBUTIONS AT THE | ||||||
|  | # BEGINNING, MIDDLE, AND END OF THE TIMESTEP, RESPECTIVELY.  THE UPDATING IS DONE BY THE NYSTROM METHOD. | ||||||
|  |  | ||||||
|  | DIFEQ+0		VLOAD	VSR3 | ||||||
|  | 			FV | ||||||
|  | 		STCALL	PHIV | ||||||
|  | 			DIFEQCOM | ||||||
|  | DIFEQ+1		VLOAD	VSR1 | ||||||
|  | 			FV | ||||||
|  | 		PUSH	VAD | ||||||
|  | 			PHIV | ||||||
|  | 		STOVL	PSIV | ||||||
|  | 		VSR1	VAD | ||||||
|  | 			PHIV | ||||||
|  | 		STCALL	PHIV | ||||||
|  | 			DIFEQCOM | ||||||
|  | DIFEQ+2		DLOAD	DMPR | ||||||
|  | 			H | ||||||
|  | 			DP2/3 | ||||||
|  | 		PUSH	VXSC | ||||||
|  | 			PHIV | ||||||
|  | 		VSL1	VAD | ||||||
|  | 			ZV | ||||||
|  | 		VXSC	VAD | ||||||
|  | 			H | ||||||
|  | 			YV | ||||||
|  | 		STOVL	YV | ||||||
|  | 			FV | ||||||
|  | 		VSR3	VAD | ||||||
|  | 			PSIV | ||||||
|  | 		VXSC	VSL1 | ||||||
|  | 		VAD | ||||||
|  | 			ZV | ||||||
|  | 		STORE	ZV | ||||||
|  | 		BOFF	CALL | ||||||
|  | 			JSWITCH | ||||||
|  | 			ENDSTATE | ||||||
|  | 			GRP2PC | ||||||
|  | 		LXA,2	VLOAD | ||||||
|  | 			COLREG | ||||||
|  | 			ZV | ||||||
|  | 		VSL3			# ADJUST W-POSITION FOR STORAGE | ||||||
|  | 		STORE	W 	+54D,2 | ||||||
|  | 		VLOAD | ||||||
|  | 			YV | ||||||
|  | 		VSL3	BOV | ||||||
|  | 			WMATEND | ||||||
|  | 		STORE	W,2 | ||||||
|  |  | ||||||
|  | 		CALL | ||||||
|  | 			GRP2PC | ||||||
|  | # Page 1242 | ||||||
|  | 		LXA,2	SSP | ||||||
|  | 			COLREG | ||||||
|  | 			S2 | ||||||
|  | 			0 | ||||||
|  | 		INCR,2	SXA,2 | ||||||
|  | 			6 | ||||||
|  | 			YV | ||||||
|  | 		TIX,2	CALL | ||||||
|  | 			RELOADSV | ||||||
|  | 			GRP2PC | ||||||
|  | 		LXA,2	SXA,2 | ||||||
|  | 			YV | ||||||
|  | 			COLREG | ||||||
|  |  | ||||||
|  | NEXTCOL		CALL | ||||||
|  | 			GRP2PC | ||||||
|  | 		LXA,2	VLOAD* | ||||||
|  | 			COLREG | ||||||
|  | 			W,2 | ||||||
|  | 		VSR3			# ADJUST W-POSITION FOR INTEGRATION | ||||||
|  | 		STORE	YV | ||||||
|  | 		VLOAD*	AXT,1 | ||||||
|  | 			W 	+54D,2 | ||||||
|  | 			0 | ||||||
|  | 		VSR3			# ADJUST W-VELOCITY FOR INTEGRATION | ||||||
|  | 		STCALL	ZV | ||||||
|  | 			DIFEQ0 | ||||||
|  |  | ||||||
|  | ENDSTATE	BOV	VLOAD | ||||||
|  | 			GOBAQUE | ||||||
|  | 			ZV | ||||||
|  | 		STOVL	TNUV | ||||||
|  | 			YV | ||||||
|  | 		STORE	TDELTAV | ||||||
|  | 		BON	BOFF | ||||||
|  | 			MIDAVFLG | ||||||
|  | 			CKMID2		# CHECK FOR MID2 BEFORE GOING TO TIMEINC | ||||||
|  | 			DIM0FLAG | ||||||
|  | 			TESTLOOP | ||||||
|  | 		EXIT | ||||||
|  | 		TC	PHASCHNG | ||||||
|  | 		OCT	04022		# PHASE 1 | ||||||
|  | 		TC	UPFLAG		# PHASE CHANGE HAS OCCURRED BETWEEN | ||||||
|  | 		ADRES	REINTFLG	# INSTALL AND INTWAKE | ||||||
|  | 		TC	INTPRET | ||||||
|  | 		SSP | ||||||
|  | 			QPRET | ||||||
|  | 			AMOVED | ||||||
|  | 		BON	GOTO | ||||||
|  | 			VINTFLAG | ||||||
|  | # Page 1243 | ||||||
|  | 			ATOPCSM | ||||||
|  | 			ATOPLEM | ||||||
|  | AMOVED		SET	SSP | ||||||
|  | 			JSWITCH | ||||||
|  | 			COLREG | ||||||
|  | 		DEC	-30 | ||||||
|  | 		BOFF	SSP | ||||||
|  | 			D6OR9FLG | ||||||
|  | 			NEXTCOL | ||||||
|  | 			COLREG | ||||||
|  | 		DEC	-48 | ||||||
|  | 		GOTO | ||||||
|  | 			NEXTCOL | ||||||
|  |  | ||||||
|  | RELOADSV	DLOAD			# RELOAD TEMPORARY STATE VECTOR | ||||||
|  | 			TDEC		# FROM PERMANENT IN CASE OF | ||||||
|  | 		STCALL	TDEC1 | ||||||
|  | 			INTEGRV2	# BY STARTING AT INTEGRV2. | ||||||
|  | DIFEQCOM	DLOAD	DAD		# INCREMENT H AND DIFEQCNT. | ||||||
|  | 			DT/2 | ||||||
|  | 			H | ||||||
|  | 		INCR,1	SXA,1 | ||||||
|  | 		DEC	-12 | ||||||
|  | 			DIFEQCNT	# DIFEQCNT SET FOR NEXT ENTRY. | ||||||
|  | 		STORE	H | ||||||
|  | 		VXSC	VSR1 | ||||||
|  | 			FV | ||||||
|  | 		VAD	VXSC | ||||||
|  | 			ZV | ||||||
|  | 			H | ||||||
|  | 		VAD | ||||||
|  | 			YV | ||||||
|  | 		STORE	ALPHAV | ||||||
|  | 		BON	GOTO | ||||||
|  | 			JSWITCH | ||||||
|  | 			DOW.. | ||||||
|  | 			FBR3 | ||||||
|  |  | ||||||
|  | WMATEND		CLEAR	CLEAR | ||||||
|  | 			DIM0FLAG	# DON'T INTEGRATE W THIS TIME | ||||||
|  | 			ORBWFLAG	# INVALIDATE W | ||||||
|  | 		CLEAR | ||||||
|  | 			RENDWFLG | ||||||
|  | 		SET	EXIT | ||||||
|  | 			STATEFLG	# PICK UP STATE VECTOR UPDATE | ||||||
|  | 		TC	ALARM | ||||||
|  | 		OCT	421 | ||||||
|  | 		TC	INTPRET | ||||||
|  | # Page 1244 | ||||||
|  | 		GOTO | ||||||
|  | 			TESTLOOP	# FINISH INTEGRATING STATE VECTOR | ||||||
|  |  | ||||||
|  | # Page 1245 | ||||||
|  | # ORBITAL ROUTINE FOR EXTRAPOLATION OF THE W MATRIX.  IT COMPUTES THE SECOND DERIVATIVE OF EACH COLUMN POSITION | ||||||
|  | # VECTOR OF THE MATRIX AND CALLS THE NYSTROM INTEGRATION ROUTINES TO SOLVE THE DIFFERENTIAL EQUATIONS.  THE PROGRAM | ||||||
|  | # USES A TABLE OF VEHICLE POSITION VECTORS COMPUTED DURING THE INTEGRATION OF THE VEHICLE'S POSITION AND VELOCITY. | ||||||
|  |  | ||||||
|  | DOW..		LXA,2	DLOAD* | ||||||
|  | 			PBODY | ||||||
|  | 			MUEARTH,2 | ||||||
|  | 		STCALL	BETAM | ||||||
|  | 			DOW..1 | ||||||
|  | 		STORE	FV | ||||||
|  | 		BOF	INCR,1 | ||||||
|  | 			MIDFLAG | ||||||
|  | 			NBRANCH | ||||||
|  | 		DEC	-6 | ||||||
|  | 		LXC,2	DLOAD* | ||||||
|  | 			PBODY | ||||||
|  | 			MUEARTH -2,2 | ||||||
|  | 		STCALL	BETAM | ||||||
|  | 			DOW..1 | ||||||
|  | 		BON	VSR6 | ||||||
|  | 			MOONFLAG | ||||||
|  | 			+1 | ||||||
|  | 		VAD | ||||||
|  | 			FV | ||||||
|  | 		STCALL	FV | ||||||
|  | 			NBRANCH | ||||||
|  | DOW..1		VLOAD	VSR4 | ||||||
|  | 			ALPHAV | ||||||
|  | 		PDVL*	UNIT | ||||||
|  | 			VECTAB,1 | ||||||
|  | 		PDVL	VPROJ | ||||||
|  | 			ALPHAV | ||||||
|  | 		VXSC	VSU | ||||||
|  | 			3/4 | ||||||
|  | 		PDDL	NORM | ||||||
|  | 			36D | ||||||
|  | 			S2 | ||||||
|  | 		PUSH	DSQ | ||||||
|  | 		DMP | ||||||
|  | 		NORM	PDDL | ||||||
|  | 			34D | ||||||
|  | 			BETAM | ||||||
|  | 		SR1	DDV | ||||||
|  | 		VXSC | ||||||
|  | 		LXA,2	XAD,2 | ||||||
|  | 			S2 | ||||||
|  | 			S2 | ||||||
|  | 		XAD,2	XAD,2 | ||||||
|  | 			S2 | ||||||
|  | 			34D | ||||||
|  | 		VSL*	RVQ | ||||||
|  | # Page 1246 | ||||||
|  | 			0 	-8D,2	 | ||||||
|  |  | ||||||
|  | # ******************************************************************************** | ||||||
|  | # ******************************************************************************** | ||||||
|  | SETITCTR	SSP	BOFF		# SET ITERCTR FOR LAMBERT CALLS.  THIS | ||||||
|  | 			ITERCTR		# CODING BELONGS IN INITVEL AND IS HERE | ||||||
|  | 			20D		# FOR PURPOSES OF A ONE-MODULE | ||||||
|  | 			AVEGFLAG	# REMANUFACTURE ONLY.  CODING SHOULD | ||||||
|  | 			LAMBERT		# BE MOVED BACK TO INITVEL FOR LUMINARY 1B | ||||||
|  | 		SSP	GOTO | ||||||
|  | 			ITERCTR | ||||||
|  | 			5 | ||||||
|  | 			LAMBERT | ||||||
|  | # ******************************************************************************** | ||||||
|  | # ******************************************************************************** | ||||||
|  |  | ||||||
|  | 		SETLOC	ORBITAL1 | ||||||
|  | 		BANK | ||||||
|  |  | ||||||
|  | 3/5		2DEC	.6 B-2 | ||||||
|  |  | ||||||
|  | THREE/8		2DEC	.375 | ||||||
|  |  | ||||||
|  | .3D		2DEC	.3 B-2 | ||||||
|  |  | ||||||
|  | 3/64		2DEC	3 B-6 | ||||||
|  |  | ||||||
|  | DP1/4		2DEC	.25 | ||||||
|  |  | ||||||
|  | DQUARTER	EQUALS	DP1/4 | ||||||
|  | POS1/4		EQUALS	DP1/4 | ||||||
|  | 3/32		2DEC	3 B-5 | ||||||
|  |  | ||||||
|  | 15/16		2DEC	15. B-4 | ||||||
|  |  | ||||||
|  | 3/4		2DEC	3.0 B-2 | ||||||
|  |  | ||||||
|  | 7/12		2DEC	.5833333333 | ||||||
|  |  | ||||||
|  | 9/16		2DEC	9 B-4 | ||||||
|  |  | ||||||
|  | 5/128		2DEC	5 B-7 | ||||||
|  |  | ||||||
|  | DPZERO		EQUALS	ZEROVEC | ||||||
|  | DP2/3		2DEC	.6666666667 | ||||||
|  |  | ||||||
|  | 2/3		EQUALS	DP2/3 | ||||||
|  | OCT27		OCT	27 | ||||||
|  |  | ||||||
|  | # Page 1247 | ||||||
|  | 		BANK	13 | ||||||
|  | 		SETLOC	ORBITAL2 | ||||||
|  | 		BANK | ||||||
|  | # IT IS VITAL THAT THE FOLLOWING CONSTANTS NOT BE SHUFFLED | ||||||
|  | 		DEC	-11 | ||||||
|  | 		DEC	-2 | ||||||
|  | 		DEC	-9 | ||||||
|  | 		DEC	-6 | ||||||
|  | 		DEC	-2 | ||||||
|  | 		DEC	-2 | ||||||
|  | 		DEC	0 | ||||||
|  | 		DEC	-12 | ||||||
|  | 		DEC	-9 | ||||||
|  | 		DEC	-4 | ||||||
|  | ASCALE		DEC	-7 | ||||||
|  | 		DEC	-6 | ||||||
|  | 5/8		2DEC	5 B-3 | ||||||
|  |  | ||||||
|  | -1/12		2DEC	-.1 | ||||||
|  |  | ||||||
|  | RECRATIO	2DEC	.01 | ||||||
|  |  | ||||||
|  | RSPHERE		2DEC	64373.76 E3 B-29 | ||||||
|  |  | ||||||
|  | RDM		2DEC	16093.44 E3 B-27 | ||||||
|  |  | ||||||
|  | RDE		2DEC	80467.20 E3 B-29 | ||||||
|  |  | ||||||
|  | RATT		EQUALS 	00 | ||||||
|  | VATT		EQUALS	6D | ||||||
|  | TAT		EQUALS	12D | ||||||
|  | RATT1		EQUALS	14D | ||||||
|  | VATT1		EQUALS	20D | ||||||
|  | MU(P)		EQUALS	26D | ||||||
|  | TDEC1		EQUALS	32D | ||||||
|  | URPV		EQUALS	14D | ||||||
|  | COSPHI/2	EQUALS	URPV 	+4 | ||||||
|  | UZ		EQUALS	20D | ||||||
|  | TVEC		EQUALS	26D | ||||||
|  |  | ||||||
|  | QUALITY1	BOF	DLOAD | ||||||
|  | 			MOONFLAG | ||||||
|  | 			NBRANCH | ||||||
|  | 			URPV | ||||||
|  | 		DSQ | ||||||
|  | QUALITY2	PDDL	DSQ		# SQUARE INTO 2D, B2 | ||||||
|  | 			URPV	+2	# Y COMPONENT, B1 | ||||||
|  | 		DSU | ||||||
|  | 		DMP	VXSC		# 5(Y**2-X**2)UR | ||||||
|  | 			5/8		# CONSTANT, 5B3 | ||||||
|  | 			URPV		# VECTOR.  RESULT MAXIMUM IS 5, SCALING | ||||||
|  | # Page 1248 | ||||||
|  | 					# HERE B6 | ||||||
|  | 		VSL3	PDDL		# STORE SCALED B3 IN 2D, 4D, 6D FOR XYZ | ||||||
|  | 			URPV		# X COMPONENT, B1 | ||||||
|  | 		SR1	DAD		# 2 X X COMPONENT FOR B3 SCALING | ||||||
|  | 			2D		# ADD TO VECTOR X COMPONENT OF ANSWER, | ||||||
|  | 					# SAME AS MULTIPLYING BY UNITX.  MAX IS 7. | ||||||
|  | 		STODL	2D | ||||||
|  | 			URPV	+2	# Y COMPONENT, B1 | ||||||
|  | 		SR1	BDSU		# 2 X Y COMPONENT FOR B3 SCALING | ||||||
|  | 			4D		# SUBTRACT FROM VECTOR Y COMPONENT OF | ||||||
|  | 					# ANSWER, SAME AS MULTIPLYING BY UNITY. | ||||||
|  | 					# MAX IS 7. | ||||||
|  | 		STORE	4D		# 2D HAS VECTOR, B3. | ||||||
|  | 		SLOAD	VXSC		# MULTIPLY COEFFICIENT TIMES VECTOR IN 2D | ||||||
|  | 			E3J22R2M | ||||||
|  | 		PDDL	RVQ		# J22 TERM X R**4 IN 2D, SCALED B61 | ||||||
|  | 			COSPHI/2	# SAME AS URPV +4  Z COMPONENT | ||||||
|  | 			 | ||||||
							
								
								
									
										5182
									
								
								Luminary099/P20-P25.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5182
									
								
								Luminary099/P20-P25.agc
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1764
									
								
								Luminary099/P34-35_P74-75.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1764
									
								
								Luminary099/P34-35_P74-75.agc
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1471
									
								
								Luminary099/P40-P47.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1471
									
								
								Luminary099/P40-P47.agc
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										2341
									
								
								Luminary099/P51-P53.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2341
									
								
								Luminary099/P51-P53.agc
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										164
									
								
								Luminary099/P76.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										164
									
								
								Luminary099/P76.agc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,164 @@ | |||||||
|  | # Copyright:	Public domain. | ||||||
|  | # Filename:	P76.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:	709-711 | ||||||
|  | # Mod history:	2009-05-19 RSB	Adapted from the corresponding  | ||||||
|  | #				Luminary131 file, using page  | ||||||
|  | #				images from Luminary 1A. | ||||||
|  | # | ||||||
|  | # 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-61 | ||||||
|  | #	16:27 JULY 14, 1969  | ||||||
|  |  | ||||||
|  | # Page 709 | ||||||
|  | # 1)	PROGRAM NAME -- TARGET DELTA V PROGRAM (P76). | ||||||
|  | # 2)	FUNCTIONAL DESCRIPTION -- UPON ENTRY BY ASTRONAUT ACTION, P76 FLASHES DSKY REQUESTS TO THE ASTRONAUT | ||||||
|  | #	TO PROVIDE VIA DSKY (1) THE DELTA V TO BE APPLIED TO THE OTHER VEHICLE STATE VECTOR AND (2) THE | ||||||
|  | #	TIME (TIG) AT WHICH THE OTHER VEHICLE VELOCITY WAS CHANGED BY EXECUTION OF A THRUSTING MANEUVER. THE | ||||||
|  | #	OTHER VEHICLE STATE VECTOR IS INTEGRATED TO TIG AND UPDATED BY THE ADDITION OF DELTA V (DELTA V HAVING | ||||||
|  | #	BEEN TRANSFORMED FROM LV TO REF COSYS).  USING INTEGRVS, THE PROGRAM THEN INTEGRATES THE OTHER | ||||||
|  | #	VEHICLE STATE VECTOR TO THE STATE VECTOR OF THIS VEHICLE, THUS INSURING THAT THE W-MATRIX AND BOTH VEHICLE | ||||||
|  | #	STATES CORRESPOND TO THE SAME TIME. | ||||||
|  | # 3)	ERASABLE INIITIALIZATION REQUIRED -- NONE. | ||||||
|  | # 4)	CALLING SEQUENCES AND EXIT MODES -- CALLED BY ASTRONAUT REQUEST THRU DSKY V 37 E 76E. | ||||||
|  | #	EXITS BY TCF ENDOFJOB. | ||||||
|  | # 5)	OUTPUT -- OTHER VEHICLE STATE VECTOR INTEGRATED TO TIG AND INCREMENTED BY DELTA V IN REF COSYS. | ||||||
|  | #	THE PUSHLIST CONTAINS THE MATRIX BY WHICH THE INPUT DELTA V MUST BE POST-MULTIPLIED TO CONVERT FROM LV | ||||||
|  | #	TO REF COSYS. | ||||||
|  | # 6)	DEBRIS -- OTHER VEHICLE STATE VECTOR. | ||||||
|  | # 7)	SUBROUTINES CALLED -- BANKCALL, GOXDSPF, CSMPREC (OR LEMPREC), ATOPCSM (OR ATOPLEM), INTSTALL, INTWAKE, PHASCHNG | ||||||
|  | #	INTPRET, INTEGRVS, AND MINIRECT. | ||||||
|  | # 8)	FLAG USE -- MOONFLAG, CMOONFLG, INTYPFLG, RASFLAG, AND MARKCTR. | ||||||
|  |  | ||||||
|  | 		BANK	30 | ||||||
|  | 		SETLOC	P76LOC | ||||||
|  | 		BANK | ||||||
|  |  | ||||||
|  | 		COUNT*	$$/P76 | ||||||
|  |  | ||||||
|  | 		EBANK=	TIG | ||||||
|  |  | ||||||
|  | P76		TC	UPFLAG | ||||||
|  | 		ADRES	TRACKFLG | ||||||
|  |  | ||||||
|  | 		TC	INTPRET | ||||||
|  | 		VLOAD | ||||||
|  | 			DELVLVC | ||||||
|  | 		STORE	DELVOV | ||||||
|  | 		EXIT | ||||||
|  |  | ||||||
|  | 		CAF	V06N84		# FLASH LAST DELTA V, | ||||||
|  | 		TC	BANKCALL	# AND WAIT FOR KEYBOARD ACTION. | ||||||
|  | 		CADR	GOFLASH | ||||||
|  | 		TCF	ENDP76 | ||||||
|  | 		TC	+2		# PROCEED | ||||||
|  | 		TC	-5		# STORE DATA AND REPEAT FLASHING | ||||||
|  | 		CAF	V06N84 +1	# FLASH VERB 06 NOUN 33, DISPLAY LAST TIG, | ||||||
|  | 		TC	BANKCALL	# AND WAIT FOR KEYBOARD ACTION. | ||||||
|  | 		CADR	GOFLASH | ||||||
|  | 		TCF	ENDP76 | ||||||
|  | 		TC	+2 | ||||||
|  | 		TC	-5 | ||||||
|  | 		TC	INTPRET		# RETURN TO INTERPRETIVE CODE | ||||||
|  | # Page 710 | ||||||
|  | 		DLOAD			# SET D(MPAC)=TIG IN CSEC B28 | ||||||
|  | 			TIG | ||||||
|  | 		STCALL	TDEC1		# SET TDEC1=TIG FOR ORBITAL INTEGRATION | ||||||
|  | 			OTHPREC | ||||||
|  | COMPMAT		VLOAD	UNIT | ||||||
|  | 			RATT | ||||||
|  | 		VCOMP			# U(-R) | ||||||
|  | 		STORE	24D		# U(-R) TO 24D | ||||||
|  | 		VXV	UNIT		# U(-R) X V = U(V X R) | ||||||
|  | 			VATT | ||||||
|  | 		STORE	18D | ||||||
|  | 		VXV	UNIT		# U(V X R) X U(-R) = U((R X V) X R) | ||||||
|  | 			24D | ||||||
|  | 		STOVL	12D | ||||||
|  | 			DELVOV | ||||||
|  | 		VXM	VSL1		# V(MPAC)=DELTA V IN REFCOSYS | ||||||
|  | 			12D | ||||||
|  | 		VAD | ||||||
|  | 			VATT | ||||||
|  | 		STORE	6		# V(PD6)=VATT + DELTA V | ||||||
|  | 		CALL			# PRESENT WOULD-BE USER OF ORBITAL | ||||||
|  | 			INTSTALL	# INTEG FROM INTERFERING WITH UPDATING | ||||||
|  | 		CALL | ||||||
|  | 			P76SUB1 | ||||||
|  | 		VLOAD	VSR* | ||||||
|  | 			6 | ||||||
|  | 			0,2 | ||||||
|  | 		STOVL	VCV | ||||||
|  | 			RATT | ||||||
|  | 		VSR* | ||||||
|  | 			0,2 | ||||||
|  | 		STODL	RCV | ||||||
|  | 			TIG | ||||||
|  | 		STORE	TET | ||||||
|  | 		CLEAR	DLOAD | ||||||
|  | 			INTYPFLG | ||||||
|  | 			TETTHIS | ||||||
|  | INTOTHIS	STCALL	TDEC1 | ||||||
|  | 			INTEGRVS | ||||||
|  | 		CALL | ||||||
|  | 			INTSTALL | ||||||
|  | 		VLOAD | ||||||
|  | 			RATT1 | ||||||
|  | 		STORE	RRECT | ||||||
|  | 		STODL	RCV | ||||||
|  | 			TAT | ||||||
|  | 		STOVL	TET | ||||||
|  | 			VATT1 | ||||||
|  | 		CALL | ||||||
|  | 			MINIRECT | ||||||
|  | # Page 711 | ||||||
|  | 		EXIT | ||||||
|  | 		TC	PHASCHNG | ||||||
|  | 		OCT	04024 | ||||||
|  |  | ||||||
|  | 		TC	UPFLAG | ||||||
|  | 		ADRES	REINTFLG | ||||||
|  |  | ||||||
|  | 		TC	INTPRET | ||||||
|  | 		CALL | ||||||
|  | 			ATOPOTH | ||||||
|  | 		SSP	EXIT | ||||||
|  | 			QPRET | ||||||
|  | 			OUT | ||||||
|  | 		TC	BANKCALL	# PERMIT USE OF ORBITAL INTEGRATION | ||||||
|  | 		CADR	INTWAKE1 | ||||||
|  | OUT		EXIT | ||||||
|  | ENDP76		CAF	ZERO | ||||||
|  | 		TS	MARKCTR		# CLEAR RR TRACKING MARK COUNTER | ||||||
|  | 		TCF	GOTOP00H | ||||||
|  |  | ||||||
|  | V06N84		NV	0684 | ||||||
|  | 		NV	0633 | ||||||
|  | P76SUB1		AXT,2	SET | ||||||
|  | 			2 | ||||||
|  | 			MOONFLAG	# SET MEANS MOON IS SPHERE OF INFLUENCE. | ||||||
|  | 		BON	AXT,2 | ||||||
|  | 			CMOONFLG	# SET MEANS PERM CM STATE IN LUNAR SPHERE. | ||||||
|  | 			QPRET | ||||||
|  | 			0 | ||||||
|  | 		CLEAR	RVQ | ||||||
|  | 			MOONFLAG | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
							
								
								
									
										411
									
								
								Luminary099/PHASE_TABLE_MAINTENANCE.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										411
									
								
								Luminary099/PHASE_TABLE_MAINTENANCE.agc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,411 @@ | |||||||
|  | # Copyright:	Public domain. | ||||||
|  | # Filename:	PHASE_TABLE_MAINTENANCE.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:	Onno Hommes <ohommes@cmu.edu>. | ||||||
|  | # Website:	www.ibiblio.org/apollo. | ||||||
|  | # Pages:	1294-1302 | ||||||
|  | # Mod history:	2009-05-26 OH	Transcribed from page images. | ||||||
|  | #		2009-06-05 RSB	A few lines at the bottom of page image | ||||||
|  | #				1294 were truncated.  I've fixed the page | ||||||
|  | #				image and added those missing lines here. | ||||||
|  | #		2011-05-07 JL	Flagged SBANK= workaround for future  | ||||||
|  | #				removal. | ||||||
|  |  | ||||||
|  | # 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-61 | ||||||
|  | #	16:27 JULY 14, 1969  | ||||||
|  |  | ||||||
|  | # Page 1294 | ||||||
|  | # SUBROUTINE TO UPDATE THE PROGRAM NUMBER DISPLAY ON THE DSKY. | ||||||
|  |  | ||||||
|  | 		COUNT*	$$/PHASE | ||||||
|  | 		BLOCK	02 | ||||||
|  | 		SETLOC	FFTAG1 | ||||||
|  | 		BANK | ||||||
|  |  | ||||||
|  | NEWMODEX	INDEX	Q		# UPDATE MODREG.  ENTRY FOR MODE IN FIXED. | ||||||
|  | 		CAF	0 | ||||||
|  | 		INCR	Q | ||||||
|  |  | ||||||
|  | NEWMODEA	TS	MODREG		# ENTRY FOR MODE IN A. | ||||||
|  | MMDSPLAY	CAF	+3		# DISPLAY MAJOR MODE. | ||||||
|  | PREBJUMP	LXCH	BBANK		# PUTS BBANK IN L | ||||||
|  | 		TCF	BANKJUMP	# PUTS Q INTO A | ||||||
|  | 		CADR	SETUPDSP | ||||||
|  |  | ||||||
|  | # RETURN TO CALLER +3 IF MODE = THAT AT CALLER +1.  OTHERWISE RETURN TO CALLER +2. | ||||||
|  |  | ||||||
|  | CHECKMM		INDEX	Q | ||||||
|  | 		CS	0 | ||||||
|  | 		AD	MODREG | ||||||
|  | 		EXTEND | ||||||
|  | 		BZF	Q+2 | ||||||
|  | 		TCF	Q+1		# NO MATCH | ||||||
|  |  | ||||||
|  | TCQ		=	Q+2 +1 | ||||||
|  |  | ||||||
|  | 		BANK	14 | ||||||
|  | 		SETLOC	PHASETAB | ||||||
|  | 		BANK | ||||||
|  |  | ||||||
|  | 		COUNT*	$$/PHASE | ||||||
|  | SETUPDSP	INHINT | ||||||
|  | 		DXCH	RUPTREG1	# SAVE CALLER'S RETURN 2CADR | ||||||
|  | 		CAF	PRIO30		# 	EITHER A TASK OR JOB CAN COME TO | ||||||
|  | 		TC	NOVAC		#	NEWMODE X | ||||||
|  | 		EBANK=	MODREG | ||||||
|  | 		2CADR	DSPMMJOB | ||||||
|  |  | ||||||
|  | 		DXCH	RUPTREG1 | ||||||
|  | 		RELINT | ||||||
|  | 		DXCH	Z		# RETURN | ||||||
|  |  | ||||||
|  | DSPMMJOB	EQUALS	DSPMMJB | ||||||
|  |  | ||||||
|  | 		BLOCK	02 | ||||||
|  | 		SETLOC	FFTAG1 | ||||||
|  | 		BANK | ||||||
|  | 		 | ||||||
|  | # Page 1295 | ||||||
|  | # PHASCHNG IS THE MAIN WAY OF MAKING PHASE CHANGES FOR RESTARTS.  THERE ARE THREE FORMS OF PHASCHNG, KNOWN AS TYPE | ||||||
|  | # A, TYPE B, AND TYPE C.  THEY ARE ALL CALLED AS FOLLOWS, WHERE OCT XXXXX CONTAINS THE PHASE INFORMATION, | ||||||
|  | #		TC	PHASCHNG | ||||||
|  | #		OCT	XXXXX | ||||||
|  | # TYPE A IS CONCERNED WITH FIXED PHASE CHANGES, THAT IS, PHASE INFORMATION THAT IS STORED PERMANENTLY.  THESE | ||||||
|  | # OPTIONS ARE, WHERE G STANDS FOR A GROUP AND .X FOR THE PHASE, | ||||||
|  | #	G.0		INACTIVE, WILL NOT PERMIT A GROUP G RESTART | ||||||
|  | #	G.1		WILL CAUSE THE LAST DISPLAY TO BE REACTIVATED, USED MAINLY IN MANNED FLIGHTS | ||||||
|  | #	G.EVEN		A DOUBLE TABLE RESTART, CAN CAUSE ANY COMBINATION OF TWO JOBS, TASKS, AND/OR | ||||||
|  | #			LONGCALL TO BE RESTARTED. | ||||||
|  | #	G.ODD NOT .1	A SINGLE TABLE RESTART, CAN CAUSE EITHER A JOB, TASK, OR LONGCALL RESTART. | ||||||
|  | # | ||||||
|  | # THIS INFORMATION IS PUT INTO THE OCTAL WORD AFTER TC PHASCHNG AS FOLLOWS | ||||||
|  | #	TL0 00P PPP PPP GGG | ||||||
|  | # WHERE EACH LETTER OR NUMBER STANTS FOR A BIT.  THE G'S STAND FOR THE GROUP, OCTAL 1-7, THE P'S FOR THE PHASE, | ||||||
|  | # OCTAL 0 - 127.  0'S MUST BE 0.  IF ONE WISHES TO HAVE THE TBASE OF GROUP G TO BE SET AT THIS TIME, | ||||||
|  | # T IS SET TO 1, OTHERWISE IT IS SET TO 0.  SIMILARLY IF ONE WISHES TO SET LONGBASE, THEN L IS SET TO 1, OTHERWISE | ||||||
|  | # IT IS SET TO 0.  SOME EXAMPLES, | ||||||
|  | #		TC	PHASCHNG	# THIS WILL CAUSE GROUP 3 TO BE SET TO 0, | ||||||
|  | #		OCT	00003		# MAKING GROUP 3 INACTIVE | ||||||
|  | # | ||||||
|  | #		TC	PHASCHNG	# IF A RESTART OCCURS THIS WOULD CAUSE | ||||||
|  | #		OCT	00012		# GROUP 2 TO RESTART THE LAST DISPLAY | ||||||
|  | # | ||||||
|  | #		TC	PHASCHNG	# THIS SETS THE TBASE OF GROUP 4 AND IN | ||||||
|  | #		OCT	40064		# CASE OF A RESTART WOULD START UP THE TWO | ||||||
|  | #					# THINGS LOCATED IN THE DOUBLE 4.6 RESTART | ||||||
|  | #					# LOCATION. | ||||||
|  | # | ||||||
|  | #		TC	PHASCHNG	# THIS SETS LONGBASE AND UPON A RESTART | ||||||
|  | #		OCT	20135		# CAUSES 5.13 TO BE RESTARTED (SINCE | ||||||
|  | #					# LONGBASE WAS SET THIS SINGLE ENTRY | ||||||
|  | #					# SHOULD BE A LONGCALL) | ||||||
|  | # | ||||||
|  | #		TC	PHASCHNG	# SINCE BOTH TBASE4 AND LONGBASE ARE SET, | ||||||
|  | #		OCT	60124		# 4.12 SHOULD CONTAIN BOTH A TASK AND A | ||||||
|  | #					# LONGCALL TO BE RESTARTED | ||||||
|  | # | ||||||
|  | # TYPE C PHASCHNG CONTAINS THE VARIABLE TYPE OF PHASCHNG INFORMATION.  INSTEAD OF THE INFORMATION BEING IN A | ||||||
|  | # PERMANENT FORM, ONE STORES THE DESIRED RESTART INFORMATION IN A VARIABLE LOCATION.  THE BITS ARE AS FOLLOWS, | ||||||
|  | #	TL0 1AD XXX CJW GGG | ||||||
|  | # WHERE EACH LETTER OR NUMBER STANDS FOR A BIT.  THE G'S STAND FOR THE GROUP, OCTAL 1 - 7.  IF THE RESTART IS TO | ||||||
|  | # BE BY WAITLIST, W IS SET TO 1, IF IT IS A JOB, J IS SET TO 1, IF IT IS A LONGCALL, C IS SET TO 1.  ONLY ONE OF | ||||||
|  | # THESE THREE BITS MAY BE SET.  X'S ARE IGNORED, 1 MUST BE 1, AND 0 MUST BE 0.  AGAIN T STANDS FOR THE TBASE, | ||||||
|  | # Page 1296 | ||||||
|  | # AND L FOR LONGBASE.  THE BITS A AND D ARE CONCERNED WITH THE VARIABLE INFORMATION.  IF D IS SET TO 1, A PRIORITY | ||||||
|  | # OR DELTA TIME WILL BE READ FROM THE NEXT LOCATION AFTER THE OCTAL INFORMATION., IF THIS IS TO BE INDIRECT, THAT | ||||||
|  | # IS, THE NAME OF A LOCATION CONTAINING THE INFORMATION (DELTA TIME ONLY), THEN THIS IS GIVEN AS THE -GENADR OF | ||||||
|  | # THAT LOCATION WHICH CONTAINS THE DELTA TIME.  IF THE OLD PRIORITY OR DELTA TIME IS TO BE USED, THAT WHICH IS | ||||||
|  | # ALREADY IN THE VARIABLE STORAGE, THEN D IS SET TO 0.  NEXT THE A BIT IS USED.  IF IT IS SET TO 0, THE ADDRESS | ||||||
|  | # THAT WOULD BE RESTARTED DURING A RESTART IS THE NEXT LOCATION AFTER THE PHASE INFORMATION, THAT IS, EITHER | ||||||
|  | # (TC PHASCHNG) +2 OR +3, DEPENDING ON WHETHER D HAD BEEN SET OR NOT.  IF A IS SET TO 1, THEN THE ADDRESS THAT | ||||||
|  | # WOULD BE RESTARTED IS THE 2CADR THAT IS READ FROM THE NEXT TWO LOCATION.  EXAMPLES, | ||||||
|  | #	AD	TC	PHASCHNG	# THIS WOULD CAUSE LOCATION AD +3 TO BE | ||||||
|  | #	AD+1	OCT	05023		# RESTARTED BY GROUP THREE WITH A PRIORITY | ||||||
|  | #	AD+2	OCT	23000		# OF 23.  NOTE UPON RETURNING IT WOULD | ||||||
|  | #	AD+3				# ALSO GO TO AD+3 | ||||||
|  | # | ||||||
|  | #	AD	TC	PHASCHNG	# GROUP 1 WOULD CAUSE CALLCALL TO BE | ||||||
|  | #	AD+1	OCT	27441		# BE STARTED AS A LONGCALL FROM THE TIME | ||||||
|  | #	AD+2	-GENADR	DELTIME		# STORED IN LONGBASE (LONGBASE WAS SET) BY | ||||||
|  | #	AD+3	2CADR	CALLCALL	# A DELTA TIME STORED IN DELTIME.  THE | ||||||
|  | #	AD+4				# BBCON OF THE 2CADR SHOULD CONTAIN THE E | ||||||
|  | #	AD+5				# BANK OF DELTIME.  PHASCHNG RETURNS TO | ||||||
|  | #					# LOCATION AD+5 | ||||||
|  | # | ||||||
|  | # NOTE THAT IF A VARIABLE PRIORITY IS GIVEN FOR A JOB, THE JOB WILL BE RESTARTED AS A NOVAC IF THE PRIORITY IS | ||||||
|  | # NEGATIVE, AS A FINDVAC IF TEH PRIORITY IS POSITIVE. | ||||||
|  | # | ||||||
|  | # TYPE B PHASCHNG IS A COMBINATION OF VARIABLE AND FIXED PHASE CHANGES.  IT WILL START UP A JOB AS INDICATED | ||||||
|  | # BELOW AND ALSO START UP ONE FIXED RESTART, THAT IS EITHER AN G.1 OR A G.ODD OR THE FIRST ENTRY OF G.EVEN | ||||||
|  | # DOUBLE ENTRY.  THE BIT INFORMATION IS AS FOLLOW, | ||||||
|  | #	TL1 DAP PPP PPP GGG | ||||||
|  | # WHERE EACH LETTER OR NUMBER STANDS FOR A BIT.  THE G'S STAND FOR THE GROUP, OCTAL 1 - 7, THE P'S FOR THE FIXED | ||||||
|  | # PHASE INFORMATION, OCTAL 0 - 127.  1 MUST BE 1.  AND AGAIN T STANDS FOR THE TBASE AND L FOR LONGBASE.  D THIS | ||||||
|  | # TIME STANDS ONLY FOR PRIORITY SINCE THIS WILL BE CONSIDERED A JOB, AND IT MUST BE GIVEN DIRECTLY IF GIVEN. | ||||||
|  | # AGAIN A STANDS FOR THE ADDRESS OF THE LOCATION TO BE RESTARTED, 1 IF THE 2CADR IS GIVEN, OR 0 IF IT IS TO BE | ||||||
|  | # THE NEXT LOCATION.  (THE RETURN LOCATION OF PHASCHNG) EXAMPLES, | ||||||
|  | #	AD	TC	PHASCHNG	# TBASE IS SET AND A RESTART CAUSE GROUP 3 | ||||||
|  | #	AD+1	OCT	56043		# TO START THE JOB AJOBAJOB WITH PRIORITY | ||||||
|  | #	AD+2	OCT	31000		# 31 AND THE FIRST ENTRY OF 3.4SPOT (WE CAN | ||||||
|  | #	AD+3	2CADR	AJOBAJOB	# ASSUME IT IS A TASK SINCE WE SET TBASE3) | ||||||
|  | #	AD+4				# UPON RETURN FROM PHASCHNG CONTROL WOULD | ||||||
|  | #	AD+5				# GO TO AD+5 | ||||||
|  | # | ||||||
|  | #	AD	TC	PHASCHNG	# UPON A RESTART THE LAST DISPLAY WOULD BE | ||||||
|  | #	AD+1	OCT	10015		# RESTARTED AND A JOB WITH THE PREVIOUSLY | ||||||
|  | #	AD+2				# STORED PRIORITY WOULD BE BEGUN AT AD+2 | ||||||
|  | #					# BY MEANS OF GROUP 5 | ||||||
|  | # Page 1297 | ||||||
|  | # THE NOVAC-FINDVAC CHOICE FOR JOBS HOLDS HERE ALSO -- NEGATIVE PRIORITY CAUSES A NOVAC CALL, POSITIVE A FINDVAC. | ||||||
|  |  | ||||||
|  | # SUMMARY OF BITS: | ||||||
|  | #	TYPE A		TL0 00P PPP PPP GGG | ||||||
|  | #	TYPE B		TL1 DAP PPP PPP GGG | ||||||
|  | #	TYPE C		TL0 1AD XXX CJW GGG | ||||||
|  |  | ||||||
|  | # Page 1298 | ||||||
|  | # 2PHSCHNG IS USED WHEN ONE WISHES TO START UP A GROUP OR CHANGE A GROUP WHILE UNDER THE CONTROL OF A DIFFERENT | ||||||
|  | # GROUP.  FOR EXAMPLE, CHANGE THE PHASE OF GROUP 3 WHILE THE PORTION OF THE PROGRAM IS UNDER GROUP 5.  ALL 2PHSCHNG | ||||||
|  | # CALLS ARE MADE IN THE FOLLOWING MANNER, | ||||||
|  | #		TC	2PHSCHNG | ||||||
|  | #		OCT	XXXXX | ||||||
|  | #		OCT	YYYYY | ||||||
|  | # WHERE OCT XXXXX MUST BE OF TYPE A AND OCT YYYYY MAY BE OF EITHER TYPE A OR TYPE B OR TYPE C.  THERE IS ONE | ||||||
|  | # DIFFERENCE --- NOTE: IF LONGBASE IS TO BE SET THIS INFORMATION IS GIVEN IN THE OCT YYYYY INFORMATION, IT WILL | ||||||
|  | # BE DISREGARDED IF GIVEN WITH THE OCT XXXXX INFORMATION.  A COUPLE OF EXAMPLES MAY HELP, | ||||||
|  | #	AD	TC	2PHACHNG	# SET TBASE3 AND IF A RESTART OCCURS START | ||||||
|  | #	AD+1	OCT	40083		# THE TWO ENTRIES IN 3.8 TABLE LOCATION | ||||||
|  | #	AD+2	OCT	05025		# THIS IS OF TYPE C, SET THE JOB TO BE | ||||||
|  | #	AD+3	OCT	18000		# TO BE LOCATION AD+4, WITH A PRIORITY 18, | ||||||
|  | #	AD+4				# FOR GROUP 5 PHASE INFORMATION. | ||||||
|  |  | ||||||
|  | ## [WORKAROUND] RSB 2004 | ||||||
|  | 		SBANK=	PINSUPER | ||||||
|  | ## [WORKAROUND] | ||||||
|  |  | ||||||
|  | 		COUNT*	$$/PHASE | ||||||
|  | 2PHSCHNG	INHINT			# THE ENTRY FOR A DOUBLE PHASE CHANGE | ||||||
|  | 		NDX	Q | ||||||
|  | 		CA	0 | ||||||
|  | 		INCR	Q | ||||||
|  | 		TS	TEMPP2 | ||||||
|  |  | ||||||
|  | 		MASK	OCT7 | ||||||
|  | 		DOUBLE | ||||||
|  | 		TS	TEMPG2 | ||||||
|  |  | ||||||
|  | 		CA	TEMPP2 | ||||||
|  | 		MASK	OCT17770	# NEED ONLY 1770, BUT WHY GET A NEW CONST. | ||||||
|  | 		EXTEND | ||||||
|  | 		MP	BIT12 | ||||||
|  | 		XCH	TEMPP2 | ||||||
|  |  | ||||||
|  | 		MASK	BIT15 | ||||||
|  | 		TS	TEMPSW2		# INDICATES WHETHER TO SET TBASE OR NOT | ||||||
|  |  | ||||||
|  | 		INDEX	Q | ||||||
|  | 		CA	0 | ||||||
|  | 		INCR	Q | ||||||
|  | 		TS	TEMPSW | ||||||
|  |  | ||||||
|  | 		TCF	PHASJUMP | ||||||
|  |  | ||||||
|  | PHASCHNG	INHINT			# NORMAL PHASCHNG ENTRY POINT. | ||||||
|  | 		INDEX	Q | ||||||
|  | 		CA	0 | ||||||
|  | 		INCR	Q | ||||||
|  | PHSCHNGA	INHINT			# FIRST OCTAL PARAMETER IN A. | ||||||
|  | # Page 1299 | ||||||
|  | 		TS	TEMPSW | ||||||
|  | 		CA	ONE | ||||||
|  | 		TS	TEMPSW2 | ||||||
|  | PHASJUMP	EXTEND | ||||||
|  | 		DCA	ADRPCHN2	# OFF TO SWITCHED BANK | ||||||
|  | 		DTCB | ||||||
|  |  | ||||||
|  | 		EBANK=	LST1 | ||||||
|  | ADRPCHN2	2CADR	PHSCHNG2 | ||||||
|  |  | ||||||
|  | ONEORTWO	LXCH	TEMPBBCN | ||||||
|  | 		LXCH	BBANK | ||||||
|  | 		LXCH	TEMPBBCN | ||||||
|  |  | ||||||
|  | 		MASK	OCT14000	# SEE WHAT KIND OF PHASE CHANGE IT IS | ||||||
|  | 		CCS	A | ||||||
|  | 		TCF	CHECKB		# IT IS OF TYPE `B'. | ||||||
|  |  | ||||||
|  | 		CA	TEMPP | ||||||
|  | 		MASK	BIT7 | ||||||
|  | 		CCS	A		# SHALL WE USE THE OLD PRIORITY | ||||||
|  | 		TCF	GETPRIO		# NO GET A NEW PRIORITY (OR DELTA T) | ||||||
|  |  | ||||||
|  | OLDPRIO		NDX	TEMPG		# USE THE OLD PRIORITY (OR DELTA T) | ||||||
|  | 		CA	PHSPRDT1 -2 | ||||||
|  | 		TS	TEMPPR | ||||||
|  |  | ||||||
|  | CON1		CA	TEMPP		# SEE IF A 2CADR IS GIVEN | ||||||
|  | 		MASK 	BIT8 | ||||||
|  | 		CCS	A | ||||||
|  | 		TCF	GETNEWNM | ||||||
|  |  | ||||||
|  | 		CA	Q | ||||||
|  | 		TS	TEMPNM | ||||||
|  | 		CA	BB | ||||||
|  | 		EXTEND			# PICK UP USER'S SUPERBANK | ||||||
|  | 		ROR	SUPERBNK | ||||||
|  | 		TS	TEMPBB | ||||||
|  |  | ||||||
|  | TOCON2		CA	CON2ADR		# BACK TO SWITCHED BANK | ||||||
|  | 		LXCH	TEMPBBCN | ||||||
|  | 		DTCB | ||||||
|  |  | ||||||
|  | CON2ADR		GENADR	CON2 | ||||||
|  |  | ||||||
|  | GETPRIO		NDX	Q		# DON'T CARE IF DIRECT OR INDIRECT | ||||||
|  | 		CA	0		# LEAVE THAT DECISION TO RESTARTS | ||||||
|  | 		INCR	Q		# OBTAIN RETURN ADDRESS | ||||||
|  | # Page 1300 | ||||||
|  | 		TCF	CON1 -1 | ||||||
|  |  | ||||||
|  | GETNEWNM	EXTEND | ||||||
|  | 		INDEX	Q | ||||||
|  | 		DCA	0 | ||||||
|  | 		DXCH	TEMPNM | ||||||
|  | 		CA	TWO | ||||||
|  | 		ADS	Q		# OBTAIN RETURN ADDRESS | ||||||
|  |  | ||||||
|  | 		TCF	TOCON2 | ||||||
|  |  | ||||||
|  | OCT14000	EQUALS	PRIO14 | ||||||
|  | TEMPG		EQUALS	ITEMP1 | ||||||
|  | TEMPP		EQUALS	ITEMP2 | ||||||
|  | TEMPNM		EQUALS	ITEMP3 | ||||||
|  | TEMPBB		EQUALS	ITEMP4 | ||||||
|  | TEMPSW		EQUALS	ITEMP5 | ||||||
|  | TEMPSW2		EQUALS	ITEMP6 | ||||||
|  | TEMPPR		EQUALS	RUPTREG1 | ||||||
|  | TEMPG2		EQUALS	RUPTREG2 | ||||||
|  | TEMPP2		EQUALS	RUPTREG3 | ||||||
|  |  | ||||||
|  | TEMPBBCN	EQUALS	RUPTREG4 | ||||||
|  | BB		EQUALS	BBANK | ||||||
|  |  | ||||||
|  | 		BANK	14 | ||||||
|  | 		SETLOC	PHASETAB | ||||||
|  | 		BANK | ||||||
|  |  | ||||||
|  | 		EBANK=	PHSNAME1 | ||||||
|  | 		COUNT*	$$/PHASE | ||||||
|  | PHSCHNG2	LXCH	TEMPBBCN | ||||||
|  | 		CA	TEMPSW | ||||||
|  | 		MASK	OCT7 | ||||||
|  | 		DOUBLE | ||||||
|  | 		TS	TEMPG | ||||||
|  |  | ||||||
|  | 		CA	TEMPSW | ||||||
|  | 		MASK	OCT17770 | ||||||
|  | 		EXTEND | ||||||
|  | 		MP	BIT12 | ||||||
|  | 		TS	TEMPP | ||||||
|  |  | ||||||
|  | 		CA	TEMPSW | ||||||
|  | 		MASK	OCT60000 | ||||||
|  | 		XCH	TEMPSW | ||||||
|  | 		MASK	OCT14000 | ||||||
|  | 		CCS	A | ||||||
|  | # Page 1301 | ||||||
|  | 		TCF	ONEORTWO | ||||||
|  |  | ||||||
|  | 		CA	TEMPP		# START STORING THE PHASE INFORMATION | ||||||
|  | 		NDX	TEMPG | ||||||
|  | 		TS	PHASE1 -2 | ||||||
|  |  | ||||||
|  | BELOW1		CCS	TEMPSW2		# IS IT A PHASCHNG OR A 2PHSCHNG | ||||||
|  | 		TCF	BELOW2		# IT'S A PHASCHNG | ||||||
|  |  | ||||||
|  | 		TCF	+1		# IT'S A 2PHSCHNG | ||||||
|  | 		CS	TEMPP2 | ||||||
|  | 		LXCH	TEMPP2 | ||||||
|  | 		NDX	TEMPG2 | ||||||
|  | 		DXCH	-PHASE1 -2 | ||||||
|  |  | ||||||
|  | 		CCS	TEMPSW2 | ||||||
|  | 		NOOP			# CAN'T GET HERE | ||||||
|  | 		TCF	BELOW2 | ||||||
|  |  | ||||||
|  | 		CS	TIME1 | ||||||
|  | 		NDX	TEMPG2 | ||||||
|  | 		TS	TBASE1 -2 | ||||||
|  |  | ||||||
|  | BELOW2		CCS	TEMPSW		# SEE IF WE SHOULD SET TBASE OR LONGBASE | ||||||
|  | 		TCF	BELOW3		# SET LONGBASE ONLY | ||||||
|  | 		TCF	BELOW4		# SET NEITHER | ||||||
|  |  | ||||||
|  | 		CS	TIME1		# SET TBASE TO BEGIN WITH | ||||||
|  | 		NDX	TEMPG | ||||||
|  | 		TS	TBASE1 -2 | ||||||
|  |  | ||||||
|  | 		CA	TEMPSW		# SHALL WE NOW SET LONGBASE | ||||||
|  | 		AD	BIT14COM | ||||||
|  | 		CCS	A | ||||||
|  | 		NOOP			# ***** CAN'T GET HERE ***** | ||||||
|  | BIT14COM	OCT	17777		# ***** CAN'T GET HERE ***** | ||||||
|  | 		TCF	BELOW4		# NO WE NEED ONLY SET TBASE | ||||||
|  |  | ||||||
|  | BELOW3		EXTEND			# SET LONGBASE | ||||||
|  | 		DCA	TIME2 | ||||||
|  | 		DXCH	LONGBASE | ||||||
|  |  | ||||||
|  | BELOW4		CS	TEMPP		# AND STORE THE FINAL PART OF THE PHASE | ||||||
|  | 		NDX	TEMPG | ||||||
|  | 		TS	-PHASE1 -2 | ||||||
|  |  | ||||||
|  | 		CA	Q | ||||||
|  | 		LXCH	TEMPBBCN | ||||||
|  | 		RELINT | ||||||
|  | 		DTCB | ||||||
|  | # Page 1302 | ||||||
|  | CON2		LXCH	TEMPBBCN | ||||||
|  |  | ||||||
|  | 		CA	TEMPP | ||||||
|  | 		NDX	TEMPG | ||||||
|  | 		TS	PHASE1 -2 | ||||||
|  |  | ||||||
|  | 		CA	TEMPPR | ||||||
|  | 		NDX	TEMPG | ||||||
|  | 		TS	PHSPRDT1 -2 | ||||||
|  |  | ||||||
|  | 		EXTEND | ||||||
|  | 		DCA	TEMPNM | ||||||
|  | 		NDX	TEMPG | ||||||
|  | 		DXCH	PHSNAME1 -2 | ||||||
|  |  | ||||||
|  | 		TCF	BELOW1 | ||||||
|  |  | ||||||
|  | 		BLOCK	03 | ||||||
|  | 		SETLOC	FFTAG6 | ||||||
|  | 		BANK | ||||||
|  |  | ||||||
|  | 		COUNT*	$$/PHASE | ||||||
|  | CHECKB		MASK	BIT12		# SINCE THIS IS OF TYPE 8, THIS BIT WOULD | ||||||
|  | 		CCS	A		# BE HERE IF WE ARE TO GET A NEW PRIORITY | ||||||
|  | 		TCF	GETPRIO		# IT IS, SO GET NEW PRIORITY | ||||||
|  |  | ||||||
|  | 		TCF	OLDPRIO		# IT ISN'T, USE THE OLD PRIORITY. | ||||||
|  | 		 | ||||||
|  |  | ||||||
							
								
								
									
										3798
									
								
								Luminary099/PINBALL_GAME_BUTTONS_AND_LIGHTS.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3798
									
								
								Luminary099/PINBALL_GAME_BUTTONS_AND_LIGHTS.agc
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										906
									
								
								Luminary099/PINBALL_NOUN_TABLES.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										906
									
								
								Luminary099/PINBALL_NOUN_TABLES.agc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,906 @@ | |||||||
|  | # Copyright:	Public domain. | ||||||
|  | # Filename:	PINBALL_NOUN_TABLES.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:	301-319 | ||||||
|  | # Mod history:  2009-05-10 SN   (Sergio Navarro).  Started adapting | ||||||
|  | #				from the Luminary131/ file of the same | ||||||
|  | #				name, using Luminary099 page images. | ||||||
|  | #		2009-06-07 RSB	Corrected two typos. | ||||||
|  | # | ||||||
|  | # 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-61 | ||||||
|  | #	16:27 JULY 14, 1969  | ||||||
|  |  | ||||||
|  | # Page 301 | ||||||
|  | # THE FOLLOWING REFERS TO THE NOUN TABLES | ||||||
|  | # | ||||||
|  | # COMPONENT CODE NUMBER		INTERPRETATION | ||||||
|  | # | ||||||
|  | #	00000			1 COMPONENT | ||||||
|  | #	00001			2 COMPONENT | ||||||
|  | #	00010			3 COMPONENT | ||||||
|  | #	X1XXX			BIT 4 = 1.  DECIMAL ONLY | ||||||
|  | #	1XXXX			BIT 5 = 1.  NO LOAD | ||||||
|  | # END OF COMPONENT CODE NUMBER	 | ||||||
|  | # | ||||||
|  | # SF ROUTINE CODE NUMBER	INTERPRETATION | ||||||
|  | # | ||||||
|  | # 	00000			OCTAL ONLY | ||||||
|  | #	00001			STRAIGHT FRACTIONAL | ||||||
|  | #	00010			CDU DEGREES (XXX.XX) | ||||||
|  | #	00011			ARITHMETIC SF | ||||||
|  | #	00100			ARITH DP1	OUT (MULT BY 2EXP14 AT END)	IN (STRAIGHT) | ||||||
|  | #	00101			ARITH DP2	OUT (STRAIGHT)			IN (SL 7 AT END) | ||||||
|  | #	00110			LANDING RADAR POSITION (+0000X) | ||||||
|  | #	00111			ARITH DP3	OUT (SL 7 AT END)		IN (STRAIGHT) | ||||||
|  | #	01000			WHOLE HOURS IN R1, WHOLE MINUES (MOD 60) IN R2, | ||||||
|  | #					SECONDS (MOD 60) 0XX.XX IN R3.  *** ALARMS IF USED WITH OCTAL | ||||||
|  | #	01001			MINUTES (MOD 60) IN D1D2, D3 BLANK, SECONDS (MOD 60) IN D4D5 | ||||||
|  | #					LIMITS TO 59B59 IF MAG EXCEEDS THIS VALUE. | ||||||
|  | #					ALARMS IF USED WITH OCTAL ******** IN (ALARM) | ||||||
|  | #	01010			ARITH DP4	OUT (STRAIGHT)			IN (SL 3 AT END) | ||||||
|  | #	01011			ARITH1 SF	OUT (MULT BY 2EXP14 AT END)	IN (STRAIGHT) | ||||||
|  | #	01100			2 INTEGERS IN D1D2, D4D5, D3 BLANK. | ||||||
|  | #					ALARMS IF USED WITH OCTAL ******** IN (ALARM) | ||||||
|  | #	01101			360-CDU DEGREES (XXX.XX) | ||||||
|  | # | ||||||
|  | # END OF SF ROUTINE CODE NUMBERS | ||||||
|  |  | ||||||
|  | # SF CONSTANT CODE NUMBER	INTERPRETATION | ||||||
|  | # | ||||||
|  | #	00000			WHOLE				USE ARITH | ||||||
|  | #	00000			DP TIME SEC (XXX.XX SEC)	USE ARITHDP1 | ||||||
|  | #	00000			LR POSITION (+0000X)		USE LR POSITION | ||||||
|  | #	00001			SPARE | ||||||
|  | #	00010			CDU DEGREES			USE CDU DEGREES | ||||||
|  | #	00010			360-CDU DEGREES			USE 360-CDU DEGREES | ||||||
|  | #	00011			DP DEGREES (90 XX.XXX DEG	USE ARITHDP3 | ||||||
|  | #	00100			DP DEGREES (360) XXX.XX DEG	USE ARITHDP4 | ||||||
|  | #	00101			DEGREES (180) XXX.XX DEG	USE ARITH | ||||||
|  | #	00101			OPTICAL TRACKER AZIMUTH ANGLE (XXX.XXDEG) | ||||||
|  | #								USE ARITHDP1 | ||||||
|  | #	00110			WEIGHT2 (XXXXX. LBS)		USE ARITH1 | ||||||
|  | # Page 302 | ||||||
|  | #	00111			POSITION5 (XXX.XX NAUTICAL MILES) | ||||||
|  | #								USE ARITHDP3 | ||||||
|  | #	01000			POSITION4 (XXXX.X NAUTICAL MILES) | ||||||
|  | #								USE ARITHDP3 | ||||||
|  | #	01001			VELOCITY2 (XXXXX. FT/SEC)	USE ARITHDP4 | ||||||
|  | #	01010			VELOCITY3 (XXXX.X FT/SEC)	USE ARITHDP3 | ||||||
|  | #	01011			ELEVATION DEGREES (89.999 MAX)	USE ARITH | ||||||
|  | #	01100			RENDEZVOUS RADAR RANGE (XXX.XX NAUT MI) | ||||||
|  | #								USE ARITHDP1 | ||||||
|  | #	01101			RENDEZVOUS RADAR RANGE RATE (XXXXX.FT/SEC) | ||||||
|  | #								USE ARITHDP1 | ||||||
|  | #	01110			LANDING RADAR ALTITUDE (XXXXX.FEET) | ||||||
|  | #								USE ARITHDP1 | ||||||
|  | #	01111			INITIAL/FINAL ALTITUDE (XXXXX. FEET) | ||||||
|  | #								USE ARITHDP1 | ||||||
|  | #	10000			ALTITUDE RATE (XXXXX.FT/SEC)	USE ARITH | ||||||
|  | #	10001			FORWARD/LATERAL VELOCITY (XXXXX.FEET/SEC) | ||||||
|  | #								USE ARITH | ||||||
|  | #	10010			ROTATIONAL HAND CONTROLLER ANGLE RATES | ||||||
|  | #					XXXXX.DEG/SEC		USE ARITH | ||||||
|  | #	10011			LANDING RADAR VELX (XXXXX.FEET/SEC) | ||||||
|  | #								USE ARITHDP1 | ||||||
|  | #	10100			LANDING RADAR VELY (XXXXX.FEET/SEC) | ||||||
|  | #								USE ARITHDP1 | ||||||
|  | #	10101			LANDING RADAR VELZ (XXXXX.FEET/SEC) | ||||||
|  | #								USE ARITHDP1 | ||||||
|  | #	10110			POSITION7 (XXXX.X NAUT MI)	USE ARITHDP4 | ||||||
|  | #	10111			TRIM DEGREES2 (XXX.XX DEG)	USE ARITH | ||||||
|  | #	11000			COMPUTED ALTITUDE (XXXXX. FEET) | ||||||
|  | #								USE ARITHDP1 | ||||||
|  | #	11001			DP DEGREES (XXXX.X DEG)		USE ARITHDP3 | ||||||
|  | #	11010			POSITION9 (XXXX.X FT)		USE ARITHDP3 | ||||||
|  | #	11011			VELOCITY4 (XXXX.X FT/SEC)	USE ARITHDP2 | ||||||
|  | #	11100			RADIANS (XXX.XXX RADIANS)	USE ARITHDP4 | ||||||
|  | # | ||||||
|  | # END OF SF CONSTANT CODE NUMBERS | ||||||
|  |  | ||||||
|  | # FOR GREATER THAN SINGLE PRECISION SCALES, PUT ADDRESS OF MAJOR PART INTO | ||||||
|  | # NOUN TABLES. | ||||||
|  |  | ||||||
|  | # OCTAL LOADS PLACE +0 INTO MAJOR PART, DATA INTO MINOR PART. | ||||||
|  |  | ||||||
|  | # OCTAL DISPLAYS SHOW MINOR PART ONLY. | ||||||
|  |  | ||||||
|  | # TO GET AT BOTH MAJOR AND MINOR PARTS (IN OCTAL), USE NOUN 01. | ||||||
|  |  | ||||||
|  | # A NOUN MAY BE DECLARED :DECIMAL ONLY: BY MAKING BIT4=1 OF ITS COMPONENT | ||||||
|  | # CODE NUMBER.  IF THIS NOUN IS USED WITH ANY OCTAL DISPLAY VERB, OR IF | ||||||
|  | # DATA IS LOADED IN OCTAL, IT ALARMS. | ||||||
|  |  | ||||||
|  |  | ||||||
|  | # IN LOADING AN :HOURS, MINUTES, SECONDS: NOUN, ALL 3 WORDS MUST BE | ||||||
|  | # LOADED, OR ALARM. | ||||||
|  |  | ||||||
|  | # Page 303 | ||||||
|  |  | ||||||
|  | # ALARM IF AN ATTEMPT IS MADE TO LOAD :SPLIT MINUTES/SECONDS: (MMBSS). | ||||||
|  | # THIS IS USED FOR DISPLAY ONLY. | ||||||
|  |  | ||||||
|  | # Page 304 | ||||||
|  | # THE FOLLOWING ROUTINES ARE FOR READING THE NOUN TABLES AND THE SF TABLES | ||||||
|  | # (WHICH ARE IN A SEPARATE BANK FROM THE REST OF PINBALL).  THESE READING | ||||||
|  | # ROUTINES ARE IN THE SAME BANK AS THE TABLES.  THEY ARE CALLED BY DXCH Z. | ||||||
|  |  | ||||||
|  | # LODNNTAB LOADS NNADTEM WITH THE NNADTAB ENTRY, NNTYPTEM WITH THE | ||||||
|  | # NNTYPTAB ENTRY.  IF THE NOUN IS MIXED, IDADITEM IS LOADED WITH THE FIRST | ||||||
|  | # IDADDTAB ENTRY, IDAD2TEM THE SECOND IDADDTAB ENTRY, IDAD3TEM THE THIRD | ||||||
|  | # IDADDTAB ENTRY, RUTMXTEM WITH THE RUTMXTAB ENTRY.  MIXBR IS SET FOR | ||||||
|  | # MIXED OR NORMAL NOUN. | ||||||
|  |  | ||||||
|  | 		BANK	6 | ||||||
|  | 		SETLOC	PINBALL3 | ||||||
|  | 		BANK | ||||||
|  | 		COUNT*	$$/NOUNS | ||||||
|  | LODNNTAB	DXCH	IDAD2TEM		# SAVE RETURN INFO IN IDAD2TEM, IDAD3TEM. | ||||||
|  | 		INDEX	NOUNREG | ||||||
|  | 		CAF	NNADTAB | ||||||
|  | 		TS	NNADTEM | ||||||
|  | 		INDEX	NOUNREG | ||||||
|  | 		CAF	NNTYPTAB | ||||||
|  | 		TS	NNTYPTEM | ||||||
|  | 		CS	NOUNREG | ||||||
|  | 		AD	MIXCON | ||||||
|  | 		EXTEND | ||||||
|  | 		BZMF	LODMIXNN		# NOUN NUMBER G/E FIRST MIXED NOUN | ||||||
|  | 		CAF	ONE			# NOUN NUMBER L/ FIRST MIXED NOUN | ||||||
|  | 		TS	MIXBR			# NORMAL.  +1 INTO MIXBR | ||||||
|  | 		TC	LODNLV | ||||||
|  | LODMIXNN	CAF	TWO			# MIXED.  +2 INTO MIXBR. | ||||||
|  | 		TS	MIXBR | ||||||
|  | 		INDEX	NOUNREG | ||||||
|  | 		CAF	RUTMXTAB -40D		# FIRST MIXED NOUN = 40. | ||||||
|  | 		TS	RUTMXTEM | ||||||
|  | 		CAF	LOW10 | ||||||
|  | 		MASK	NNADTEM | ||||||
|  | 		TS	Q			# TEMP | ||||||
|  | 		INDEX	A | ||||||
|  | 		CAF	IDADDTAB | ||||||
|  | 		TS	IDAD1TEM		# LOAD IDAD1TEM	WITH FIRST IDADDTAB ENTRY | ||||||
|  | 		EXTEND | ||||||
|  | 		INDEX	Q			# LOAD IDAD2TEM WITH 2ND IDADDTAB ENTRY | ||||||
|  | 		DCA	IDADDTAB +1		# LOAD IDAD3TEM WITH 3RD IDADDTAB ENTRY. | ||||||
|  | LODNLV		DXCH	IDAD2TEM		# PUT RETURN INFO INTO A, L. | ||||||
|  | 		DXCH	Z | ||||||
|  | 		 | ||||||
|  | MIXCON		=	OCT50			# (DEC 40) | ||||||
|  |  | ||||||
|  | # GTSFOUT LOADS SFTEMP1, SFTEMP2 WTIH THE DP SFOUTAB ENTRIES. | ||||||
|  |  | ||||||
|  | GTSFOUT		DXCH	SFTEMP1			# 2X(SFCONUM) ARRIVES IN SFTEMP1. | ||||||
|  | # Page 305 | ||||||
|  | 		EXTEND | ||||||
|  | 		INDEX	A | ||||||
|  | 		DCA	SFOUTAB | ||||||
|  | SFCOM		DXCH	SFTEMP1 | ||||||
|  | 		DXCH	Z | ||||||
|  | 		 | ||||||
|  | # GTSFIN LOADS SFTEMP1, SFTEMP2 WITH THE DP SFINTAB INTRIES. | ||||||
|  |  | ||||||
|  | GTSFIN		DXCH	SFTEMP1			# 2X(SFCONUM) ARIVES IN SFTEMP1. | ||||||
|  | 		EXTEND | ||||||
|  | 		INDEX	A | ||||||
|  | 		DCA	SFINTAB | ||||||
|  | 		TCF	SFCOM | ||||||
|  | 		 | ||||||
|  | 						# NN 	NORMAL NOUNS | ||||||
|  | NNADTAB		OCT	00000			# 00 	NOT IN USE | ||||||
|  | 		OCT	40000			# 01 	SPECIFY MACHINE ADDRESS (FRACTIONAL) | ||||||
|  | 		OCT	40000			# 02 	SPECIFY MACHINE ADDRESS (WHOLE) | ||||||
|  | 		OCT	40000			# 03	SPECIFY MACHINE ADDRESS (DEGREES) | ||||||
|  | 		ECADR	DSPTEM1			# 04	ANGULAR ERROR/DIFFERENCE | ||||||
|  | 		ECADR	DSPTEM1			# 05 	ANGULAR ERROR/DIFFERENCE | ||||||
|  | 		ECADR	OPTION1			# 06	OPTION CODE | ||||||
|  | 		ECADR	XREG			# 07	ECADR OF WORD TO BE MODIFIED | ||||||
|  | 						#	ONES FOR BITS TO BE MODIFIED | ||||||
|  | 						#	1 TO SET OR 0 TO RESET SELECTED BITS | ||||||
|  | 		ECADR	ALMCADR			# 08 	ALARM DATA | ||||||
|  | 		ECADR	FAILREG			# 09	ALARM CODES | ||||||
|  | 		OCT	77776			# 10	CHANNEL TO BE SPECIFIED | ||||||
|  | 		ECADR	TCSI			# 11	TIG OF CSI (HRS,MIN,SEC) | ||||||
|  | 		ECADR	OPTIONX			# 12	OPTION CODE | ||||||
|  | 						#	(USED BY EXTENDED VERBS ONLY) | ||||||
|  | 		ECADR	TCDH			# 13	TIG OF CDH (HRS,MIN,SEC) | ||||||
|  | 		ECADR	DSPTEMX			# 14	CHECKLIST | ||||||
|  | 						#	(USED BY EXTENDED VERBS ONLY) | ||||||
|  | 		OCT	77777			# 15	INCREMENT MACHINE ADDRESS | ||||||
|  | 		ECADR	DSPTEMX			# 16	TIME OF EVENT (HRS,MIN,SEC) | ||||||
|  | 		OCT	00000			# 17	SPARE | ||||||
|  | 		ECADR	FDAIX			# 18	AUTO MANEUVER BALL ANGLES | ||||||
|  | 		OCT	00000			# 19	SPARE | ||||||
|  | 		ECADR	CDUX			# 20	ICDU ANGLES | ||||||
|  | 		ECADR	PIPAX			# 21	PIPAS | ||||||
|  | 		ECADR	THETAD			# 22	NEW ICDU ANGLES | ||||||
|  | 		OCT	00000			# 23	SPARE | ||||||
|  | 		ECADR	DSPTEM2 +1		# 24	DELTA TIME FOR AGC CLOCK (HRS,MIN,SEC) | ||||||
|  | 		ECADR	DSPTEM1			# 25	CHECKLIST | ||||||
|  | 						#	(USED WTIH PLEASE PERFORM ONLY) | ||||||
|  | 		ECADR	DSPTEM1			# 26	PRIO/DELAY, ADRES, BBCON | ||||||
|  | 		ECADR	SMODE			# 27	SELF TEST ON/OFF SWITCH | ||||||
|  | # Page 306 | ||||||
|  | 		OCT	00000			# 28	SPARE | ||||||
|  | 		OCT	00000			# 29	SPARE | ||||||
|  | 		OCT	0			# 30	SPARE | ||||||
|  | 		OCT	0			# 31	SPARE | ||||||
|  | 		ECADR	-TPER			# 32	TIME TO PERIGEE (HRS,MIN,SEC) | ||||||
|  | 		ECADR	TIG			# 33	TIME OF IGNITION (HRS,MIN,SEC) | ||||||
|  | 		ECADR	DSPTEM1			# 34	TIME OF EVENT (HRS,MIN,SEC) | ||||||
|  | 		ECADR	TTOGO			# 35	TIME TO GO TO EVENT (HRS,MIN,SEC) | ||||||
|  | 		ECADR	TIME2			# 36	TIME OF AGC CLOCK (HRS,MIN,SEC) | ||||||
|  | 		ECADR	TTPI			# 37	TIG OF TPI (HRS,MIN,SEC) | ||||||
|  | 		ECADR	TET			# 38	TIME OF STATE BEING INTEGRATED | ||||||
|  | 		OCT	00000			# 39	SPARE | ||||||
|  | 		 | ||||||
|  | # END OF NNADTAB FOR NORMAL NOUNS | ||||||
|  |  | ||||||
|  | 						# NN	MIXED NOUNS | ||||||
|  | 		OCT	64000			# 40	TIME TO IGNITION/CUTOFF | ||||||
|  | 						#	VG | ||||||
|  | 						#	DELTA V (ACCUMULATED) | ||||||
|  | 		OCT	02003			# 41	TARGET	AZIMUTH | ||||||
|  | 						#		ELEVATION | ||||||
|  | 		OCT	24006			# 42	APOGEE | ||||||
|  | 						#	PERIGEE | ||||||
|  | 						#	DELTA V (REQUIRED) | ||||||
|  | 		OCT	24011			# 43	LATITUDE | ||||||
|  | 						#	LONGITUDE | ||||||
|  | 						#	ALTITUDE | ||||||
|  | 		OCT	64014			# 44	APOGEE | ||||||
|  | 						#	PERIGEE | ||||||
|  | 						#	TFF | ||||||
|  | 		OCT	64017			# 45	MARKS | ||||||
|  | 						#	TTI OF NEXT BURN | ||||||
|  | 						#	MGA | ||||||
|  | 		OCT	00022			# 46	AUTOPILOT CONFIGURATION | ||||||
|  | 		OCT	22025			# 47	LEM WEIGHT | ||||||
|  | 						#	CSM WEIGHT | ||||||
|  | 		OCT	22030			# 48	GIMBAL PITCH TRIM | ||||||
|  | 						#	GIMBAL ROLL TRIM | ||||||
|  | 		OCT	24033			# 49	DELTA R | ||||||
|  | 						#	DELTA V | ||||||
|  | 						#	RADAR DATA SOURCE CODE | ||||||
|  | 		OCT	0			# 50	SPARE | ||||||
|  | 		OCT	22041			# 51	S-BAND ANTENNA	PITCH | ||||||
|  | 						#			YAW | ||||||
|  | 		OCT	00044			# 52	CENTRAL ANGLE OF ACTIVE VEHICLE | ||||||
|  | 		OCT	00000			# 53	SPARE | ||||||
|  | 		OCT	24052			# 54	RANGE | ||||||
|  | 						#	RANGE RATE | ||||||
|  | 						#	THETA | ||||||
|  | 		OCT	24055			# 55	NO. OF APSIDAL CROSSINGS | ||||||
|  | # Page 307 | ||||||
|  | 						#	ELEVATION ANGLE | ||||||
|  | 						#	CENTRAL ANGLE | ||||||
|  | 		OCT	02060			# 56	RR LOS	AZIMUTH | ||||||
|  | 						#		ELEVATION | ||||||
|  | 		OCT	20063			# 57	DELTA R | ||||||
|  | 		OCT	24066			# 58	PERIGEE ALT | ||||||
|  | 						#	DELTA V TPI | ||||||
|  | 						#	DELTA V TPF | ||||||
|  | 		OCT	24071			# 59	DELTA VELOCITY LOS | ||||||
|  | 		OCT	24074			# 60	HORIZONTAL VELOCITY | ||||||
|  | 						#	ALTITUDE RATE | ||||||
|  | 						#	COMPUTED ALTITUDE | ||||||
|  | 		OCT	64077			# 61	TIME TO GO IN BRAKING PHASE | ||||||
|  | 						#	TIME TO IGNITION | ||||||
|  | 						#	CROSS RANGE DISTANCE | ||||||
|  | 		OCT	64102			# 62	ABSOLUTE VALUE OF VELOCITY | ||||||
|  | 						#	TIME TO IGNITION | ||||||
|  | 						#	DELTA V (ACCUMULATED) | ||||||
|  | 		OCT	24105			# 63	ABSOLUTE VALUE OF VELOCITY | ||||||
|  | 						#	ALTITUDE RATE | ||||||
|  | 						#	COMPUTED ALTITUDE | ||||||
|  | 		OCT	64110			# 64	TIME LEFT FOR REDESIGNATION -- LPD ANGLE | ||||||
|  | 						#	ALTITUDE RATE | ||||||
|  | 						#	COMPUTED ALTITUDE | ||||||
|  | 		OCT	24113			# 65	SAMPLED AGC TIME (HRS,MIN,SEC) | ||||||
|  | 						#	(FETCHED IN INTERRUPT) | ||||||
|  | 		OCT	62116			# 66	LR	RANGE | ||||||
|  | 						#		POSITION | ||||||
|  | 		OCT	04121			# 67	LRVX | ||||||
|  | 						#	LRVY | ||||||
|  | 						#	LRVZ | ||||||
|  | 		OCT	64124			# 68	SLANT RANGE TO LANDING SIGHT | ||||||
|  | 						#	TIME TO GO IN BRAKING PHASE | ||||||
|  | 						#	LR ALTITUDE -- COMPUTED ALTITUDE | ||||||
|  | 		OCT	00000			# 69	SPARE | ||||||
|  | 		OCT	04132			# 70	AOT DETENT CODE/STAR CODE | ||||||
|  | 		OCT	04135			# 71	AOT DETENT CODE/STAR CODE | ||||||
|  | 		OCT	02140			# 72	RR	360 -- TRUNNION ANGLE | ||||||
|  | 						#		SHAFT ANGLE | ||||||
|  | 		OCT	02143			# 73	NEW RR	360 -- TRUNNION ANGLE | ||||||
|  | 						#		SHAFT ANGLE | ||||||
|  | 		OCT	64146			# 74	TIME TO IGNITION | ||||||
|  | 						#	YAWAFTER VEHICLE RISE | ||||||
|  | 						#	PITCH AFTER VEHICLE RISE | ||||||
|  | 		OCT	64151			# 75	DELTA ALTITUDE CDH | ||||||
|  | 						#	DELTA TIME (CDH-CSI OR TPI-CDH) | ||||||
|  | 						#	DELTA TIME (TPI-CDH OR TPI-NOMTPI) | ||||||
|  | 		OCT	24154			# 76	DESIRED HORIZONTAL VELOCITY | ||||||
|  | 						#	DESIRED RADIAL VELOCITY | ||||||
|  | 						#	CROSS-RANGE DISTANCE | ||||||
|  | # Page 308 | ||||||
|  | 		OCT	62157			# 77	TIME TO ENGINE CUTOFF | ||||||
|  | 						#	VELOCITY NORMAL TO CSM PLANE | ||||||
|  | 		OCT	02162			# 78	RR	RANGE | ||||||
|  | 						#		RANGE RATE | ||||||
|  | 		OCT	24165			# 79	CURSOR ANGLE | ||||||
|  | 						#	SPIRAL ANGLE | ||||||
|  | 						#	POSITION CODE | ||||||
|  | 		OCT	02170			# 80	DATA INDICATOR | ||||||
|  | 						#	OMEGA | ||||||
|  | 		OCT	24173			# 81	DELTA V (LV) | ||||||
|  | 		OCT	24176			# 82	DELTA V (LV) | ||||||
|  | 		OCT	24201			# 83	DELTA V (BODY) | ||||||
|  | 		OCT	24204			# 84	DELTA V (OTHER VEHICLE) | ||||||
|  | 		OCT	24207			# 85	VG (BODY) | ||||||
|  | 		OCT	24212			# 86	VG (LV) | ||||||
|  | 		OCT	02215			# 87	BACKUP OPTICS LOS	AZIMUTH | ||||||
|  | 						#				ELEVATION | ||||||
|  | 		OCT	24220			# 88	HALF UNIT SUN OR PLANET VECTOR | ||||||
|  | 		OCT	24223			# 89	LANDMARK	LATITUDE | ||||||
|  | 						#			LONGITUDE/2 | ||||||
|  | 						#			ALTITUDE | ||||||
|  | 		OCT	24226			# 90	Y | ||||||
|  | 						#	Y DOT | ||||||
|  | 						#	PSI | ||||||
|  | 		OCT	04231			# 91	ALTITUDE | ||||||
|  | 						#	VELOCITY | ||||||
|  | 						#	FLIGHT PATH ANGLE | ||||||
|  | 		OCT	00000			# 92	SPARE | ||||||
|  | 		OCT	04237			# 93	DELTA GYRO ANGLES | ||||||
|  | 		OCT	00000			# 94	SPARE | ||||||
|  | 		OCT	0			# 95	SPARE | ||||||
|  | 		OCT	0			# 96	SPARE | ||||||
|  | 		OCT	04253			# 97	SYSTEM TEST INPUTS | ||||||
|  | 		OCT	04256			# 98	SYSTEM TEST RESULTS | ||||||
|  | 		OCT	24261			# 99	RMS IN POSITION | ||||||
|  | 						#	RMS IN VELOCITY | ||||||
|  | 						#	RMS IN BIAS | ||||||
|  | 						 | ||||||
|  | # END OF NNADTAB FOR MIXED NOUNS | ||||||
|  |  | ||||||
|  | 						# NN	NORMAL NOUNS | ||||||
|  | NNTYPTAB	OCT	00000			# 00	NOT IN USE | ||||||
|  | 		OCT	04040			# 01	3COMP FRACTIONAL | ||||||
|  | 		OCT	04140			# 02	3COMP WHOLE | ||||||
|  | 		OCT	04102			# 03	3COMP CDU DEGREES | ||||||
|  | 		OCT	00504			# 04	1COMP DPDEG(360) | ||||||
|  | 		OCT	00504			# 05	1COMP DPDEG(360) | ||||||
|  | 		OCT	04000			# 06	3COMP OCTAL ONLY | ||||||
|  | 		OCT	04000			# 07 	3COMP OCTAL ONLY | ||||||
|  | 		OCT	04000			# 08	3COMP OCTAL ONLY | ||||||
|  | # Page 309 | ||||||
|  | 		OCT	04000			# 09	3COMP OCTAL ONLY | ||||||
|  | 		OCT	00000			# 10	1COMP OCTAL ONLY | ||||||
|  | 		OCT	24400			# 11	3COMP HMS (DEC ONLY) | ||||||
|  | 		OCT	02000			# 12	2COMP OCTAL ONLY | ||||||
|  | 		OCT	24400			# 13	3COMP HMS (DEC ONLY) | ||||||
|  | 		OCT	04140			# 14	3COMP WHOLE | ||||||
|  | 		OCT	00000			# 15	1COMP OCTAL ONLY | ||||||
|  | 		OCT	24400			# 16	3COMP HMS (DEC ONLY) | ||||||
|  | 		OCT	0			# 17 	SPARE | ||||||
|  | 		OCT	04102			# 18	3COMP CDU DEG | ||||||
|  | 		OCT	00000			# 19	SPARE | ||||||
|  | 		OCT	04102			# 20	3COMP CDU DEGREES | ||||||
|  | 		OCT	04140			# 21	3COMP WHOLE | ||||||
|  | 		OCT	04102			# 22	3COMP CDU DEGREES | ||||||
|  | 		OCT	00000			# 23 	SPARE | ||||||
|  | 		OCT	24400			# 24	3COMP HMS (DEC ONLY) | ||||||
|  | 		OCT	04140			# 25	3COMP WHOLE | ||||||
|  | 		OCT	04000			# 26	3COMP OCTAL ONLY | ||||||
|  | 		OCT	00140			# 27	1COMP WHILE | ||||||
|  | 		OCT	00000			# 28	SPARE | ||||||
|  | 		OCT	00000			# 29	SPARE | ||||||
|  | 		OCT	0			# 30	SPARE | ||||||
|  | 		OCT	0			# 31	SPARE | ||||||
|  | 		OCT	24400			# 32 	3COMP HMS (DEC ONLY) | ||||||
|  | 		OCT	24400			# 33 	3COMP HMS (DEC ONLY) | ||||||
|  | 		OCT	24400			# 34	3COMP HMS (DEC ONLY) | ||||||
|  | 		OCT	24400			# 35 	3COMP HMS (DEC ONLY) | ||||||
|  | 		OCT	24400			# 36 	3COMP HMS (DEC ONLY) | ||||||
|  | 		OCT	24400			# 37 	3COMP HMS (DEC ONLY) | ||||||
|  | 		OCT	24400			# 38 	3COMP HMS (DEC ONLY) | ||||||
|  | 		OCT	00000			# 39	SPARE | ||||||
|  | 		 | ||||||
|  | # END OF NNTYPTAB FOR NORMAL NOUNS | ||||||
|  |  | ||||||
|  | 						# NN	MIXED NOUNS | ||||||
|  | 		OCT	24500			# 40	3COMP	MIN/SEC, VEL3, VEL3 | ||||||
|  | 						#		(NO LOAD, DEC ONLY)	 | ||||||
|  | 		OCT	00542			# 41	2COMP	CDU DEG, ELEV DEG | ||||||
|  | 		OCT	24410			# 42	3COMP	POS4, POS4, VEL3 | ||||||
|  | 						#		(DEC ONLY) | ||||||
|  | 		OCT	20204			# 43	3COMP	DPDEG(360), DPDEG(360) POS4 | ||||||
|  | 						#		(DEC ONLY) | ||||||
|  | 		OCT	00410			# 44	3COMP	POS4, POS4, MIN/SEC | ||||||
|  | 						#		(NO LOAD, DEC ONLY) | ||||||
|  | 		OCT	10000			# 45	3COMP	WHOLE, MIN/SEC, DPDEG(360) | ||||||
|  | 						#		(NO LOAD, DEC ONLY) | ||||||
|  | 		OCT	00000			# 46	1COMP 	OCTAL ONLY | ||||||
|  | 		OCT	00306			# 47	2COMP	WEIGHT2 FOR EACH | ||||||
|  | 						#		(DEC ONLY) | ||||||
|  | 		OCT	01367			# 48	2COMP	TRIM DEG2 FOR EACH | ||||||
|  | # Page 310 | ||||||
|  | 						#		(DEC ONLY) | ||||||
|  | 		OCT	00510			# 49	3COMP	POS4, VEL3, WHOLE | ||||||
|  | 						#		(DEC ONLY) | ||||||
|  | 		OCT	0			# 50	SPARE | ||||||
|  | 		OCT	00204			# 51	2COMP	DPDEG(360), DPDEG(360) | ||||||
|  | 						#		(DEC ONLY) | ||||||
|  | 		OCT	00004			# 52	1COMP	DPDEG(360) | ||||||
|  | 		OCT	00000			# 53	SPARE | ||||||
|  | 		OCT	10507			# 54	3COMP	POS5, VEL3, DPDEG(360) | ||||||
|  | 						#		(DEC ONLY) | ||||||
|  | 		OCT	10200			# 55	3COMP	WHOLE, DPDEG(360), DPDEG(360) | ||||||
|  | 						#		(DEC ONLY) | ||||||
|  | 		OCT	00204			# 56	2COMP	DPDEG(360), DPDEG(360) | ||||||
|  | 		OCT	00010			# 57	1COMP	POS4 | ||||||
|  | 						#		(DEC ONLY) | ||||||
|  | 		OCT	24510			# 58	3COMP	POS4, VEL3, VEL3 | ||||||
|  | 						#		(DEC ONLY) | ||||||
|  | 		OCT	24512			# 59	3COMP	VEL3 FOR EACH | ||||||
|  | 						#		(DEC ONLY) | ||||||
|  | 		OCT	60512			# 60	3COMP	VEL3, VEL3, COMP ALT | ||||||
|  | 						# 		(DEC ONLY) | ||||||
|  | 		OCT	54000			# 61	3COMP 	MIN/SEC, MIN/SEC, POS7 | ||||||
|  | 						#		(NO LOAD, DEC ONLY) | ||||||
|  | 		OCT	24012			# 62	3COMP	VEL3, MIN/SEC, VEL3 | ||||||
|  | 						#		(NO LOAD, DEC ONLY) | ||||||
|  | 		OCT	60512			# 63	3COMP	VEL3, VEL3, COMP ALT | ||||||
|  | 						#		(DEC ONLY) | ||||||
|  | 		OCT	60500			# 64	3COMP	2INT, VEL3, COMP ALT | ||||||
|  | 						#		(NO LOAD, DEC ONLY) | ||||||
|  | 		OCT	00000			# 65	3COMP	HMS (DEC ONLY) | ||||||
|  | 		OCT	00016			# 66	2COMP 	LANDING RADAR ALT, POSITION | ||||||
|  | 						#		(NO LOAD, DEC ONLY) | ||||||
|  | 		OCT	53223			# 67	3COMP	LANDING RADAR VELX, Y, Z | ||||||
|  | 		OCT	60026			# 68	3COMP	POS7, MIN/SEC, COMP ALT | ||||||
|  | 						#		(NO LOAD, DEC ONLY) | ||||||
|  | 		OCT	00000			# 69	SPARE | ||||||
|  | 		OCT	0			# 70	3COMP	OCTAL ONLY FOR EACH | ||||||
|  | 		OCT	0			# 71	3COMP	OCTAL ONLY FOR EACH | ||||||
|  | 		OCT	00102			# 72	2COMP	360-CDU DEG, CDU DEG | ||||||
|  | 		OCT	00102			# 73	2COMP	360-CDU DEG, CDU DEG | ||||||
|  | 		OCT	10200			# 74	3COMP	MIN/SEC, DPDEG(360), DPDEG(360) | ||||||
|  | 						#		(NO LOAD, DEC ONLY) | ||||||
|  | 		OCT	00010			# 75	3COMP	POS4, MIN/SEC, MIN/SEC | ||||||
|  | 						#		(NO LOAD, DEC ONLY) | ||||||
|  |  | ||||||
|  | 		OCT	20512			# 76	3COMP	VEL3, VEL3, POS4 | ||||||
|  | 						#		(DEC ONLY) | ||||||
|  | 		OCT	00500			# 77	2COMP	MIN/SEC, VEL3 | ||||||
|  | 						#		(NO LOAD, DEC ONLY) | ||||||
|  | 		OCT	00654			# 78	2 COMP	RR RANGE, RR RANGE RATE | ||||||
|  | 		OCT	00102			# 79	3COMP	CDU DEG, CDU DEG, WHOLE | ||||||
|  | # Page 311 | ||||||
|  | 						#		(DEC ONLY) | ||||||
|  | 		OCT	00200			# 80	2COMP	WHOLE, DPDEG(360) | ||||||
|  | 		OCT	24512			# 81	3COMP	VEL3 FOR EACH | ||||||
|  | 						#		(DEC ONLY) | ||||||
|  | 		OCT	24512			# 82	3COMP	VEL3 FOR EACH | ||||||
|  | 						#		(DEC ONLY) | ||||||
|  | 		OCT	24512			# 83	3COMP	VEL3 FOR EACH | ||||||
|  | 						#		(DEC ONLY) | ||||||
|  | 		OCT	24512			# 84	3COMP	VEL3 FOR EACH | ||||||
|  | 						#		(DEC ONLY) | ||||||
|  | 		OCT	24512			# 85	3COMP	VEL3 FOR EACH | ||||||
|  | 						#		(DEC ONLY) | ||||||
|  | 		OCT	24512			# 86	3COMP	VEL3 FOR EACH | ||||||
|  | 						#		(DEC ONLY) | ||||||
|  | 		OCT	00102			# 87	2COMP	CDU DEG FOR EACH | ||||||
|  | 		OCT	0			# 88	3COMP	FRAC FOR EACH | ||||||
|  | 						#		(DEC ONLY) | ||||||
|  | 		OCT	16143			# 89	3COMP 	DPDEG(90), DPDEG(90), POS5 | ||||||
|  | 						#		(DEC ONLY) | ||||||
|  | 		OCT	10507			# 90	3COMP	POS5, VEL3, DEPDEG(360) | ||||||
|  | 						#		(DEC ONLY) | ||||||
|  | 		OCT	10450			# 91	3COMP	POS4, VEL2, DPDEG(360) | ||||||
|  | 		OCT	00000			# 92	SPARE | ||||||
|  | 		OCT	06143			# 93	3COMP	DPDEG(90) FOR EACH | ||||||
|  | 		OCT	00000			# 94	SPARE | ||||||
|  | 		OCT	0			# 95	SPARE | ||||||
|  | 		OCT	0			# 96	SPARE | ||||||
|  | 		OCT	00000			# 97	3COMP	WHOLE FOR EACH | ||||||
|  | 		OCT 	00000			# 98	3COMP	WHOLE, FRAC, WHOLE | ||||||
|  | 		OCT	71572			# 99	3COMP	POS9, VEL4, RADIANS | ||||||
|  | 						#		(DEC ONLY) | ||||||
|  | 						 | ||||||
|  | # END OF NNTYPTAB FOR MIXED NOUNS | ||||||
|  |  | ||||||
|  | SFINTAB		OCT	00006			# WHOLE, DP TIME (SEC) | ||||||
|  | 		OCT	03240 | ||||||
|  | 		OCT	00000			# SPARE | ||||||
|  | 		OCT	00000 | ||||||
|  | 		OCT	00000			# CDU DEGREES, 360-CDU DEGREES | ||||||
|  | 		OCT	00000			#	(SFCONS IN DEGINSF) | ||||||
|  | 		OCT	10707			# DP DEGREES (90) | ||||||
|  | 		OCT	03435			#	UPPED BY 1 | ||||||
|  | 		OCT	13070			# DP DEGREES (360) (POINT BETWN BITS 11-12) | ||||||
|  | 		OCT	34345			#	UPPED BY 1 | ||||||
|  | 		OCT	00005			# DEGREES (180) | ||||||
|  | 		OCT	21616 | ||||||
|  | 		OCT	26113			# WEIGHT2 | ||||||
|  | 		OCT	31713 | ||||||
|  | 		OCT	00070			# POSITION5 | ||||||
|  | 		OCT	20460 | ||||||
|  | # Page 312 | ||||||
|  | 		OCT	01065			# POSITION4 | ||||||
|  | 		OCT	05740 | ||||||
|  | 		OCT	11414			# VELOCITY2 	(POINT BETWN BITS 11-12) | ||||||
|  | 		OCT	31463 | ||||||
|  | 		OCT	07475			# VELOCITY3 | ||||||
|  | 		OCT	16051 | ||||||
|  | 		OCT	00001			# ELEVATION DEGREES | ||||||
|  | 		OCT	03434 | ||||||
|  | 		OCT	00047			# RENDEZVOUS RADAR RANGE | ||||||
|  | 		OCT	21135 | ||||||
|  | 		OCT	77766			# RENDESVOUS RADAR RANGE RATE | ||||||
|  | 		OCT	50711 | ||||||
|  | 		2DEC*	.9267840599 E5 B-28*	# LANDING RADAR ALTITUDE | ||||||
|  | 		 | ||||||
|  | 		OCT	00002			# INITIAL/FINAL ALTITUDE | ||||||
|  | 		OCT	23224 | ||||||
|  | 		OCT	00014			# ALTITUDE RATE | ||||||
|  | 		OCT	06500 | ||||||
|  | 		OCT	00012			# FORWARD/LATERAL VELOCITY | ||||||
|  | 		OCT	36455 | ||||||
|  | 		OCT	04256			# ROT HAND CONT ANGLE RATE | ||||||
|  | 		OCT	07071 | ||||||
|  | 		2DEC*	-1.552795030 E5 B-28*	# LANDING RADAR VELX | ||||||
|  | 		 | ||||||
|  | 		2DEC*	.8250825087 E5 B-28*	# LANDING RADAR VELY | ||||||
|  | 		 | ||||||
|  | 		2DEC*	1.153668673 E5 B-28*	# LANDING RADAR VELZ | ||||||
|  | 		 | ||||||
|  | 		OCT	04324			# POSITION7 | ||||||
|  | 		OCT	27600 | ||||||
|  | 		OCT	00036			# TRIM DEGREES2 | ||||||
|  | 		OCT	20440 | ||||||
|  | 		OCT	00035			# COMPUTED ALTITUDE | ||||||
|  | 		OCT	30400 | ||||||
|  | 		OCT	23420			# DP DEGREES | ||||||
|  | 		OCT	00000 | ||||||
|  | 		2DEC	30480 B-19		# POSITION 9 | ||||||
|  | 		 | ||||||
|  | 		2DEC	30.48 B-7		# VELOCITY4 | ||||||
|  | 		 | ||||||
|  | 		2DEC	100 B-8			# RADIANS | ||||||
|  | 		 | ||||||
|  | 						# END OF SFINTAB | ||||||
|  |  | ||||||
|  | SFOUTAB		OCT	05174			# WHOLE, DP TIME (SEC) | ||||||
|  | 		OCT	13261 | ||||||
|  | 		OCT	00000			# SPARE | ||||||
|  | 		OCT	00000 | ||||||
|  | 		OCT	00000			# CDU DEGREES, 360-CDU DEGREES | ||||||
|  | # Page 313 | ||||||
|  | 		OCT	00000			#	(SFCONS IN DEGOUTSF, 360 CDUO) | ||||||
|  | 		OCT	00714			# DP DEGREES (90) (POINT BETWN BITS 7-8) | ||||||
|  | 		OCT	31463 | ||||||
|  | 		OCT	13412			# DP DEGREES (360) | ||||||
|  | 		OCT	07534 | ||||||
|  | 		OCT	05605			# DEGREES (180) | ||||||
|  | 		OCT	03656 | ||||||
|  | 		OCT	00001			# WEIGHT2 | ||||||
|  | 		OCT	16170 | ||||||
|  | 		OCT	00441			# POSITION5 | ||||||
|  | 		OCT	34306 | ||||||
|  | 		OCT	07176			# POSITION4	(POINT BETWN BITS 7-8) | ||||||
|  | 		OCT	21603 | ||||||
|  | 		OCT	15340			# VELOCITY2 | ||||||
|  | 		OCT	15340 | ||||||
|  | 		OCT	01031			# VELOCITY3	(POINT BETWN BITS 7-8) | ||||||
|  | 		OCT	21032 | ||||||
|  | 		OCT	34631			# ELEVATION DETREES | ||||||
|  | 		OCT	23146 | ||||||
|  | 		OCT	00636			# RENDEZVOUS RADAR RANGE | ||||||
|  | 		OCT	14552 | ||||||
|  | 		OCT	74552			# RENDEZVOUS RADAR RANGE RATE | ||||||
|  | 		OCT	70307 | ||||||
|  | 		2DEC	1.079 E-5 B14		# LANDING RADAR ALTITUDE | ||||||
|  | 		 | ||||||
|  | 		OCT	14226			# INITIAL/FINAL ALTITUDE | ||||||
|  | 		OCT	31757 | ||||||
|  | 		OCT	02476			# ALTITUDE RATE | ||||||
|  | 		OCT	05531 | ||||||
|  | 		OCT	02727			# FORWARD/LATERAL VELOCTY | ||||||
|  | 		OCT	16415 | ||||||
|  | 		OCT	00007			# ROT HAND CONT ANGLE RATE | ||||||
|  | 		OCT	13734 | ||||||
|  | 		2DEC	-.6440 E-5 B14		# LANDING RADAR VELX | ||||||
|  | 		 | ||||||
|  | 		2DEC	1.212 E-5 B14		# LANDING RADAR VELY | ||||||
|  | 		 | ||||||
|  | 		2DEC	.8668 E-5 B14		# LANDING RADAR VELZ | ||||||
|  |  | ||||||
|  | 		OCT	34772			# POSITION7 | ||||||
|  | 		OCT	07016 | ||||||
|  | 		OCT	01030			# TRIM DEGREES2 | ||||||
|  | 		OCT	33675 | ||||||
|  | 		OCT	01046			# COMPUTED ALTITUDE | ||||||
|  | 		OCT	15700 | ||||||
|  | 		OCT	00321			# DP DEGREES | ||||||
|  | 		OCT	26706 | ||||||
|  | 		2DEC	17.2010499 B-7		# POSITION 9 | ||||||
|  | 		 | ||||||
|  | 		2DEC	.032808399		# VELOCITY4 | ||||||
|  | # Page 314		 | ||||||
|  | 		2DEC	.32			# RADIANS | ||||||
|  | 		 | ||||||
|  | 						# END OF SFOUTAB | ||||||
|  |  | ||||||
|  | 						# NN 	SF CONSTANT		SF ROUTINE | ||||||
|  | IDADDTAB	ECADR	TTOGO			# 40	MIN/SEC			M/S | ||||||
|  | 		ECADR	VGDISP			# 40	VEL3			DP3 | ||||||
|  | 		ECADR	DVTOTAL			# 40	VEL3			DP3 | ||||||
|  | 		ECADR	DSPTEM1			# 41	CDU DEG			CDU | ||||||
|  | 		ECADR	DSPTEM1 +1		# 41	ELEV DEG		ARTH | ||||||
|  | 		OCT	0			# 41	SPARE COMPONENT | ||||||
|  | 		ECADR	HAPO			# 42	POS4			DP3 | ||||||
|  | 		ECADR	HPER			# 42	POS4			DP3 | ||||||
|  | 		ECADR	VGDISP			# 42 	VEL3			DP3 | ||||||
|  | 		ECADR	LAT			# 43	DPDEG(360)		DP4 | ||||||
|  | 		ECADR	LONG			# 43	DPDEG(360		DP4 | ||||||
|  | 		ECADR	ALT			# 43	POS4			DP3 | ||||||
|  | 		ECADR	HAPOX			# 44	POS4			DP3 | ||||||
|  | 		ECADR	HPERX			# 44	POS4			DP3 | ||||||
|  | 		ECADR	TFF			# 44	MIN/SEC			M/S | ||||||
|  | 		ECADR	TRKMKCNT		# 45	WHOLE			ARTH | ||||||
|  | 		ECADR	TTOGO			# 45	MIN/SEC			M/S | ||||||
|  | 		ECADR	+MGA			# 45	DPDEG(360)		DP4 | ||||||
|  | 		ECADR	DAPDATR1		# 46	OCTAL ONLY		OCT | ||||||
|  | 		OCT	0			# 46	SPARE COMPONENT | ||||||
|  | 		OCT	0			# 46	SPARE COMPONENT | ||||||
|  | 		ECADR	LEMMASS			# 47	WEIGHT2			ARTH1 | ||||||
|  | 		ECADR	CSMMASS			# 47	WEIGHT2			ARTH1 | ||||||
|  | 		OCT	0			# 47	SPARE COMPONENT | ||||||
|  | 		ECADR	PITTIME			# 48	TRIM DEG2		ARTH | ||||||
|  | 		ECADR	ROLLTIME		# 48	TRIM DEG2		ARTH | ||||||
|  | 		OCT	0			# 48	SPARE COMPONENT | ||||||
|  | 		ECADR	R22DISP			# 49	POS4			DP3 | ||||||
|  | 		ECADR	R22DISP +2		# 49	VEL3			DP3 | ||||||
|  | 		ECADR	WHCHREAD		# 49	WHOLE			ARTH | ||||||
|  | 		OCT	0			# 50	SPARE | ||||||
|  | 		OCT	0			# 50 	SPARE | ||||||
|  | 		OCT	0			# 50	SPARE | ||||||
|  | 		ECADR	ALPHASB			# 51	DPDEG(360)		DP4 | ||||||
|  | 		ECADR	BETASB			# 51	DPDEG(360)		DP4 | ||||||
|  | 		OCT	0			# 51	SPARE COMPONENT | ||||||
|  | 		ECADR	ACTCENT			# 52	DPDEG(360)		DP4 | ||||||
|  | 		OCT	00000			# 52	SPARE COMPONENT | ||||||
|  | 		OCT	00000			# 52 	SPARE COMPONENT | ||||||
|  | 		OCT	00000			# 53	SPARE | ||||||
|  | 		OCT	00000			# 53 	 | ||||||
|  | 		OCT	00000			# 53 	 | ||||||
|  | 		ECADR	RANGE			# 54	POS5			DP1 | ||||||
|  | # Page 315 | ||||||
|  | 		ECADR	RRATE			# 54	VEL3			DP3 | ||||||
|  | 		ECADR	RTHETA			# 54	DPDEG(360)		DP4 | ||||||
|  | 		ECADR	NN			# 55	WHOLE			ARTH | ||||||
|  | 		ECADR	ELEV			# 55	DPDEG(360)		DP4 | ||||||
|  | 		ECADR	CENTANG			# 55	DPDEG(360)		DP4 | ||||||
|  | 		ECADR	RR-AZ			# 56	DPDEG(360)		DP4 | ||||||
|  | 		ECADR	RR-ELEV			# 56	DPDEG(360)		DP4 | ||||||
|  | 		OCT	0			# 56	SPARE COMPONENT | ||||||
|  | 		ECADR	DELTAR			# 57	POS4			DP3 | ||||||
|  | 		OCT	0			# 57	SPARE COMPONENT | ||||||
|  | 		OCT	0			# 57	SPARE COMPONENT | ||||||
|  | 		ECADR	POSTTPI			# 58	POS4			DP3 | ||||||
|  | 		ECADR	DELVTPI			# 58	VEL3			DP3 | ||||||
|  | 		ECADR	DELVTPF			# 58	VEL3			DP3 | ||||||
|  | 		ECADR	DVLOS			# 59	VEL3			DP3 | ||||||
|  | 		ECADR	DVLOS +2		# 59	VEL3			DP3 | ||||||
|  | 		ECADR	DVLOS +4		# 59	VEL3			DP3 | ||||||
|  | 		ECADR	VHORIZ			# 60	VEL3			DP3 | ||||||
|  | 		ECADR	HDOTDISP		# 60	VEL3			DP3 | ||||||
|  | 		ECADR	HCALC			# 60	COMP ALT		DP1 | ||||||
|  | 		ECADR	TTFDISP			# 61	MIN/SEC			M/S | ||||||
|  | 		ECADR	TTOGO			# 61	MIN/SEC			M/S | ||||||
|  | 		ECADR	OUTOFPLN		# 61	POS7			DP4 | ||||||
|  | 		ECADR	ABVEL			# 62	VEL3			DP3 | ||||||
|  | 		ECADR	TTOGO			# 62	MIN/SEC			M/S | ||||||
|  | 		ECADR	DVTOTAL			# 62	VEL3			DP3 | ||||||
|  | 		ECADR	ABVEL			# 63	VEL3			DP3 | ||||||
|  | 		ECADR	HDOTDISP		# 63	VEL3			DP3 | ||||||
|  | 		ECADR	HCALC1			# 63	COMP ALT		DP1 | ||||||
|  | 		ECADR	FUNNYDSP		# 64 	2INT			2INT | ||||||
|  | 		ECADR	HDOTDISP		# 64	VEL3			DP3 | ||||||
|  | 		ECADR	HCALC			# 64	COMP ALT		DP1 | ||||||
|  | 		ECADR	SAMPTIME		# 65	HMS (MIXED ONLY TO KEEP CODE 65) HMS | ||||||
|  | 		ECADR	SAMPTIME		# 65	HMS			HMS | ||||||
|  | 		ECADR	SAMPTIME		# 65	HMS			HMS | ||||||
|  | 		ECADR	RSTACK +6		# 66	LANDING RADAR ALT	DP1 | ||||||
|  | 		OCT	0			# 66	LR POSITION		LRPOS | ||||||
|  | 		OCT	0			# 66	SPARE COMPONENT | ||||||
|  | 		ECADR	RSTACK			# 67	LANDING RADAR VELX	DP1 | ||||||
|  | 		ECADR	RSTACK +2		# 67	LANDING RADAR VELY	DP1 | ||||||
|  | 		ECADR	RSTACK +4		# 67	LANDING RADAR VELZ	DP1 | ||||||
|  | 		ECADR	RANGEDSP		# 68	POS7			DP4 | ||||||
|  | 		ECADR	TTFDISP			# 68	MIN/SEC			M/S | ||||||
|  | 		ECADR	DELTAH			# 68	COMP ALT		DP1 | ||||||
|  | 		OCT	00000			# 69	SPARE | ||||||
|  | 		OCT	00000			# 69	 | ||||||
|  | 		OCT	00000			# 69	 | ||||||
|  | 		ECADR	AOTCODE			# 70	OCTAL ONLY		OCT | ||||||
|  | 		ECADR	AOTCODE +1		# 70 	OCTAL ONLY		OCT | ||||||
|  | 		ECADR	AOTCODE +2		# 70	OCTAL ONLY		OCT | ||||||
|  | # Page 316 | ||||||
|  | 		ECADR	AOTCODE			# 71	OCTAL ONLY		OCT | ||||||
|  | 		ECADR	AOTCODE +1		# 71	OCTAL ONLY		OCT | ||||||
|  | 		ECADR	AOTCODE +2		# 71 	OCTAL ONLY		OCT | ||||||
|  | 		ECADR	CDUT			# 72	360-CDU DEG		360-CDU | ||||||
|  | 		ECADR	CDUS			# 72	CDU DEG			CDU | ||||||
|  | 		OCT	0			# 72	SPARE COMPONENT	 | ||||||
|  | 		ECADR	TANG			# 73	360-CDU DEG		360-CDU | ||||||
|  | 		ECADR	TANG +1			# 73	CDU DEG			CDU | ||||||
|  | 		OCT	0			# 73	SPARE COMPONENT | ||||||
|  | 		ECADR	TTOGO			# 74	MIN/SEC			M/S | ||||||
|  | 		ECADR	YAW			# 74	DPDEG(360)		DP4 | ||||||
|  | 		ECADR	PITCH			# 74	DPDEG(360)		DP4 | ||||||
|  | 		ECADR	DIFFALT			# 75	POS4			DP3 | ||||||
|  | 		ECADR	T1TOT2			# 75	MIN/SEC | ||||||
|  | 		ECADR	T2TOT3			# 75	MIN/SEC			M/S | ||||||
|  | 		ECADR	ZDOTD			# 76	VEL3			DP3 | ||||||
|  | 		ECADR	RDOTD			# 76	VEL3			DP3 | ||||||
|  | 		ECADR	XRANGE			# 76	POS4			DP3 | ||||||
|  | 		ECADR	TTOGO			# 77	MIN/SEC			M/S | ||||||
|  | 		ECADR	YDOT			# 77 	VEL3			DP3 | ||||||
|  | 		OCT	0			# 77	SPARE COMPONENT | ||||||
|  | 		ECADR	RSTACK			# 78 	RR RANGE		DP1 | ||||||
|  | 		ECADR	RSTACK +2		# 78	RR RANGE RATE		DP1 | ||||||
|  | 		OCT	00000			# 78	SPARE COMPONENT | ||||||
|  | 		ECADR	CURSOR			# 79	CDU DEG			CDU | ||||||
|  | 		ECADR	SPIRAL			# 79	CDU DEG			CDU | ||||||
|  | 		ECADR	POSCODE			# 79	WHOLE			ARTH | ||||||
|  | 		ECADR	DATAGOOD		# 80	WHOLE			ARTH | ||||||
|  | 		ECADR	OMEGAD			# 80	DPDEG(360)		DP4 | ||||||
|  | 		OCT	0			# 80	SPARE COMPONENT | ||||||
|  | 		ECADR	DELVLVC			# 81	VEL3			DP3 | ||||||
|  | 		ECADR	DELVLVC +2		# 81	VEL3			DP3 | ||||||
|  | 		ECADR	DELVLVC +4		# 81	VEL3			DP3 | ||||||
|  | 		ECADR	DELVLVC			# 82	VEL3			DP3 | ||||||
|  | 		ECADR	DELVLVC +2		# 82	VEL3			DP3 | ||||||
|  | 		ECADR	DELVLVC +4		# 82	VEL3			DP3 | ||||||
|  | 		ECADR	DELVIMU			# 83	VEL3			DP3 | ||||||
|  | 		ECADR	DELVIMU +2		# 83	VEL3			DP3 | ||||||
|  | 		ECADR	DELVIMU +4		# 83	VEL3			DP3 | ||||||
|  | 		ECADR	DELVOV			# 84	VEL3			DP3 | ||||||
|  | 		ECADR	DELVOV +2		# 84	VEL3			DP3 | ||||||
|  | 		ECADR	DELVOV +4		# 84	VEL3			DP3 | ||||||
|  | 		ECADR	VGBODY			# 85	VEL3			DP3 | ||||||
|  | 		ECADR	VGBODY +2		# 85	VEL3			DP3 | ||||||
|  | 		ECADR	VGBODY +4		# 85	VEL3			DP3 | ||||||
|  | 		ECADR	DELVLVC			# 86	VEL3			DP3 | ||||||
|  | 		ECADR	DELVLVC +2		# 86	VEL3			DP3 | ||||||
|  | 		ECADR	DELVLVC +4		# 86	VEL3			DP3 | ||||||
|  | 		ECADR	AZ			# 87	CDU DEG			CDU | ||||||
|  | 		ECADR	EL			# 87	CDU DEG			CDU | ||||||
|  | # Page 317 | ||||||
|  | 		OCT	0			# 87	SPARE COMPONENT | ||||||
|  | 		ECADR	STARAD			# 88	FRAC			FRAC | ||||||
|  | 		ECADR	STARAD +2		# 88	FRAC			FRAC | ||||||
|  | 		ECADR	STARAD +4		# 88	FRAC			FRAC | ||||||
|  | 		ECADR	LANDLAT			# 89	DPDEG(90)		DP3 | ||||||
|  | 		ECADR	LANDLONG		# 89	DPDEG(90)		DP3 | ||||||
|  | 		ECADR	LANDALT			# 89	POS5			DP1 | ||||||
|  | 		ECADR	RANGE			# 90	POS5			DP1 | ||||||
|  | 		ECADR	RRATE			# 90	VEL3			DP3 | ||||||
|  | 		ECADR	RTHETA			# 90	DPDEG(360)		DP4 | ||||||
|  | 		ECADR	P21ALT			# 91	POS4			DP3 | ||||||
|  | 		ECADR	P21VEL			# 91 	VEL2			DP4 | ||||||
|  | 		ECADR	P21GAM			# 91	DPDEG(360)		DP4 | ||||||
|  | 		OCT	00000			# 92	SPARE | ||||||
|  | 		OCT	00000			# 92 | ||||||
|  | 		OCT	00000			# 92 | ||||||
|  | 		ECADR	OGC			# 93	DPDEG(90)		DP3 | ||||||
|  | 		ECADR	OGC +2			# 93	DPDEG(90)		DP3 | ||||||
|  | 		ECADR	OGC +4			# 93	DPDEG(90)		DP3 | ||||||
|  | 		OCT	00000			# 94	SPARE | ||||||
|  | 		OCT	00000			# 94  | ||||||
|  | 		OCT	00000			# 94  | ||||||
|  | 		OCT	0			# 95	SPARE | ||||||
|  | 		OCT	0			# 95	SPARE | ||||||
|  | 		OCT	0			# 95	SPARE | ||||||
|  | 		OCT	0			# 96	SPARE | ||||||
|  | 		OCT	0			# 96	SPARE | ||||||
|  | 		OCT	0			# 96	SPARE | ||||||
|  | 		ECADR	DSPTEM1			# 97	WHOLE			ARTH | ||||||
|  | 		ECADR	DSPTEM1 +1		# 97	WHOLE			ARTH | ||||||
|  | 		ECADR	DSPTEM1 +2		# 97	WHOLE			ARTH | ||||||
|  | 		ECADR	DSPTEM2			# 98	WHOLE			ARTH | ||||||
|  | 		ECADR	DSPTEM2 +1		# 98	FRAC			FRAC | ||||||
|  | 		ECADR	DSPTEM2 +2		# 98	WHOLE			ARTH | ||||||
|  | 		ECADR	WWPOS			# 99 	POS9			DP3 | ||||||
|  | 		ECADR	WWVEL			# 99	VEL4			DP2 | ||||||
|  | 		ECADR	WWBIAS			# 99 	RADIANS			DP4 | ||||||
|  | 		 | ||||||
|  | # END OF IDADDTAB | ||||||
|  |  | ||||||
|  | 						# NN	SF ROUTINES | ||||||
|  | RUTMXTAB	OCT	16351			# 40	M/S, DP3, DP3 | ||||||
|  | 		OCT	00142			# 41	CDU, ARTH | ||||||
|  | 		OCT	16347			# 42	DP3, DP3, DP3 | ||||||
|  | 		OCT	16512			# 43	DP4, DP4, DP3 | ||||||
|  | 		OCT	22347			# 44	DP3, DP3, M/S | ||||||
|  | 		OCT	24443			# 45	ARTH, M/S, DP4 | ||||||
|  | 		OCT	00000			# 46	OCT | ||||||
|  | 		OCT	00553			# 47	ARITH1, ARITH1 | ||||||
|  | # Page 318 | ||||||
|  | 		OCT	00143			# 48	ARTH, ARTH | ||||||
|  | 		OCT	06347			# 49	DP3, DP3, ARTH | ||||||
|  | 		OCT	0			# 50	SPARE | ||||||
|  | 		OCT	00512			# 51	DP4, DP4 | ||||||
|  | 		OCT	00012			# 52	DP4 | ||||||
|  | 		OCT	00000			# 53 	SPARE | ||||||
|  | 		OCT	24344			# 54	DP1, DP3, DP4 | ||||||
|  | 		OCT	24503			# 55	ARTH, DP4, DP4 | ||||||
|  | 		OCT	00512			# 56	DP4, DP4 | ||||||
|  | 		OCT	00007			# 57	DP3 | ||||||
|  | 		OCT	16347			# 58	DP3, DP3, DP3 | ||||||
|  | 		OCT	16347			# 59	DP3, DP3, DP3 | ||||||
|  | 		OCT	10347			# 60	DP3, DP3, DP1 | ||||||
|  | 		OCT	24451			# 61	M/S, M/S, DP4 | ||||||
|  | 		OCT	16447			# 62	DP3, M/S, DP3 | ||||||
|  | 		OCT	10347			# 63	DP3, DP3, DP1 | ||||||
|  | 		OCT	10354			# 64	2INT, DP3, DP1 | ||||||
|  | 		OCT	20410			# 65	HMS, HMS, HMS | ||||||
|  | 		OCT	00304			# 66	DP1, LRPOS | ||||||
|  | 		OCT	10204			# 67	DP1, DP1, DP1 | ||||||
|  | 		OCT	10452			# 68	DP4, M/S, DP1 | ||||||
|  | 		OCT	00000			# 69	SPARE | ||||||
|  | 		OCT	0			# 70	OCT, OCT, OCT | ||||||
|  | 		OCT	0			# 71	OCT, OCT, OCT | ||||||
|  | 		OCT	00115			# 72	360-CDU, CDU | ||||||
|  | 		OCT	00115			# 73	360-CDU, CDU | ||||||
|  | 		OCT	24511			# 74	M/S, DP4, DP4 | ||||||
|  | 		OCT	22447			# 75	DP3, M/S, M/S | ||||||
|  | 		OCT	16347			# 76	DP3, DP3, DP3 | ||||||
|  | 		OCT	00351			# 77	M/S, DP3 | ||||||
|  | 		OCT	00204			# 78	DP1, DP1 | ||||||
|  | 		OCT	06102			# 79	CDU, CDU, ARTH | ||||||
|  | 		OCT	00503			# 80	ARTH, DP4 | ||||||
|  | 		OCT	16347			# 81	DP3, DP3, DP3 | ||||||
|  | 		OCT	16347			# 82	DP3, DP3, DP3 | ||||||
|  | 		OCT	16347			# 83	DP3, DP3, DP3 | ||||||
|  | 		OCT	16347			# 84	DP3, DP3, DP3 | ||||||
|  | 		OCT	16347			# 85	DP3, DP3, DP3 | ||||||
|  | 		OCT	16347			# 86	DP3, DP3, DP3 | ||||||
|  | 		OCT	00102			# 87	CDU, CDU | ||||||
|  | 		OCT	02041			# 88	FRAC FOR EACH | ||||||
|  | 		OCT	10347			# 89	DP3, DP3, DP1 | ||||||
|  | 		OCT	24344			# 90	DP1, DP3, DP4 | ||||||
|  | 		OCT	24507			# 91	DP3, DP4, DP4 | ||||||
|  | 		OCT	00000			# 92	SPARE | ||||||
|  | 		OCT	16347			# 93	DP3, DP3, DP3 | ||||||
|  | 		OCT	00000			# 94	SPARE | ||||||
|  | 		OCT	0			# 95	SPARE | ||||||
|  | 		OCT	0			# 96	SPARE | ||||||
|  | 		OCT	06143			# 97	ARTH, ARTH, ARTH | ||||||
|  | # Page 319 | ||||||
|  | 		OCT	06043			# 98	ARTH, FRAC, ARTH | ||||||
|  | 		OCT	24247			# 99	DP3, DP2, DP4 | ||||||
|  | 		 | ||||||
|  | # END OF RUTMXTAB | ||||||
|  |  | ||||||
|  | 		SBANK=	LOWSUPER | ||||||
|  | 		 | ||||||
							
								
								
									
										391
									
								
								Luminary099/PLANETARY_INERTIAL_ORIENTATION.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										391
									
								
								Luminary099/PLANETARY_INERTIAL_ORIENTATION.agc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,391 @@ | |||||||
|  | # Copyright:	Public domain. | ||||||
|  | # Filename:	PLANETARY_INERTIAL_ORIENTATION.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:	Jim Lawton <jim.lawton@gmail.com> | ||||||
|  | # Website:	www.ibiblio.org/apollo. | ||||||
|  | # Pages:	1140-1148 | ||||||
|  | # Mod history:	2009-05-28	JVL	Updated from page images. | ||||||
|  | # | ||||||
|  | # 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 1140 | ||||||
|  | # ***** RP-TO-R SUBROUTINE ***** | ||||||
|  | # SUBROUTINE TO CONVERT RP (VECTOR IN PLANETARY COORDINATE SYSTEM, EITHER | ||||||
|  | # EARTH-FIXED OR MOON-FIXED) TO R (SAME VECTOR IN THE BASIC REF. SYSTEM) | ||||||
|  | # | ||||||
|  | #	R = MT(T) * (RP + LP X RP)	MT = M MATRIX TRANSPOSE | ||||||
|  | # | ||||||
|  | # CALLING SEQUENCE | ||||||
|  | #	L 	CALL | ||||||
|  | #	L+1		RP-TO-R | ||||||
|  | # | ||||||
|  | # SUBROUTINES USED | ||||||
|  | #	EARTHMX, MOONMX, EARTHL | ||||||
|  | # | ||||||
|  | # 	ITEMS AVAILABLE FROM LAUNCH DATA | ||||||
|  | #		504LM = THE LIBRATION VECTOR L OF THE MOON AT TIME TIMSUBL, EXPRESSED | ||||||
|  | #			IN THE MOON-FIXED COORD. SYSTEM		RADIANS B0 | ||||||
|  | # | ||||||
|  | #	ITEMS NECESSARY FOR SUBR. USED (SEE DESCRIPTION OF SUBR.) | ||||||
|  | # | ||||||
|  | # INPUT | ||||||
|  | #	MPAC = 0 FOR EARTH, NON-ZERO FOR MOON | ||||||
|  | #	0-5D = RP VECTOR | ||||||
|  | #	6-7D = TIME | ||||||
|  | # | ||||||
|  | # OUTPUT | ||||||
|  | #	MPAC = R VECTOR METERS B-29 FOR EARTH, B-27 FOR MOON | ||||||
|  |  | ||||||
|  | 		SETLOC	PLANTIN1 | ||||||
|  | 		BANK | ||||||
|  |  | ||||||
|  | 		COUNT*	$$/LUROT | ||||||
|  |  | ||||||
|  | RP-TO-R		STQ	BHIZ | ||||||
|  | 			RPREXIT | ||||||
|  | 			RPTORA | ||||||
|  | 		CALL			# COMPUTE M MATRIX FOR MOON | ||||||
|  | 			MOONMX		# LP=LM FOR MOON  RADIANS B0 | ||||||
|  | 		VLOAD | ||||||
|  | 			504LM | ||||||
|  | RPTORB		VXV	VAD | ||||||
|  | 			504RPR | ||||||
|  | 			504RPR | ||||||
|  | 		VXM	GOTO | ||||||
|  | 			MMATRIX		# MPAC=R=MT(T)*(RP+LPXRP) | ||||||
|  | 			RPRPXXXX	# RESET PUSHLOC TO 0 BEFORE EXITING | ||||||
|  | RPTORA		CALL			# EARTH COMPUTATIONS | ||||||
|  | 			EARTHMX		# M MATRIX B-1 | ||||||
|  | 		CALL | ||||||
|  | 			EARTHL		# L VECTOR RADIANS B0 | ||||||
|  | 		MXV	VSL1		# LP=M(T)*L  RAD B-0 | ||||||
|  | 			MMATRIX | ||||||
|  | # Page 1141 | ||||||
|  | 		GOTO | ||||||
|  | 			RPTORB | ||||||
|  | 		SETLOC	PLANTIN | ||||||
|  | 		BANK | ||||||
|  | 		COUNT*	$$/LUROT | ||||||
|  |  | ||||||
|  | # Page 1142 | ||||||
|  | # ***** R-TO-RP SUBROUTINE ***** | ||||||
|  | # SUBROUTINE TO CONVERT R (VECTOR IN REFERENCE COORD. SYSTEM) TO RP | ||||||
|  | # (VECTOR IN PLANETARY COORD SYSTEM) EITHER EARTH-FIXED OR MOON-FIXED | ||||||
|  | # | ||||||
|  | #	RP = M(T) * (R - L X R) | ||||||
|  | # | ||||||
|  | # CALLING SEQUENCE | ||||||
|  | #	L	CALL | ||||||
|  | #	L+1		R-TO-RP | ||||||
|  | # | ||||||
|  | # SUBROUTINES USED | ||||||
|  | #	EARTHMX, MOONMX, EARTHL | ||||||
|  | # | ||||||
|  | # INPUT | ||||||
|  | #	MPAC = 0 FOR EARTH, NON-ZERO FOR MOON | ||||||
|  | #	0-5D = R VECTOR | ||||||
|  | #	6-7D = TIME | ||||||
|  | # | ||||||
|  | #	ITEMS AVAILABLE FROM LAUNCH DATA | ||||||
|  | #		504LM = THE LIBRATION VECTOR L OF THE MOON AT TIME TIMSUBL, EXPRESSED | ||||||
|  | #			IN THE MOON-FIXED COORD. SYSTEM	  RADIANS B0 | ||||||
|  | # | ||||||
|  | #	ITEMS NECESSARY FOR SUBROUTINES USED (SEE DESCRIPTION OF SUBR.) | ||||||
|  | # | ||||||
|  | # OUTPUT | ||||||
|  | #	MPAC = RP VECTOR METERS B-29 FOR EARTH, B-27 FOR MOON | ||||||
|  |  | ||||||
|  | R-TO-RP		STQ	BHIZ | ||||||
|  | 			RPREXIT | ||||||
|  | 			RTORPA | ||||||
|  | 		CALL | ||||||
|  | 			MOONMX | ||||||
|  | 		VLOAD	VXM | ||||||
|  | 			504LM		# LP=LM | ||||||
|  | 			MMATRIX | ||||||
|  | 		VSL1			# L = MT(T)*LP 		RADIANS B0 | ||||||
|  | RTORPB		VXV	BVSU | ||||||
|  | 			504RPR | ||||||
|  | 			504RPR | ||||||
|  | 		MXV			# M(T)*(R-LXR)		B-2 | ||||||
|  | 			MMATRIX | ||||||
|  | RPRPXXXX	VSL1	SETPD | ||||||
|  | 			0D | ||||||
|  | 		GOTO | ||||||
|  | 			RPREXIT | ||||||
|  | RTORPA		CALL			# EARTH COMPUTATIONS | ||||||
|  | 			EARTHMX | ||||||
|  | 		CALL | ||||||
|  | 			EARTHL | ||||||
|  | 		GOTO			# MPAC=L=(-AX,-AY,0) 	RAD B-0 | ||||||
|  | 			RTORPB | ||||||
|  |  | ||||||
|  | # Page 1143 | ||||||
|  | # ***** MOONMX SUBROUTINE ***** | ||||||
|  | # SUBROUTINE TO COMPUTE THE TRANSFORMATION MATRIX M FOR THE MOON | ||||||
|  | # | ||||||
|  | # CALLING SEQUENCE | ||||||
|  | #	L	CALL | ||||||
|  | #	L+1		MOONMX | ||||||
|  | # | ||||||
|  | # SUBROUTINES USED | ||||||
|  | #	NEWANGLE | ||||||
|  | # | ||||||
|  | # INPUT | ||||||
|  | #	6-7D = TIME | ||||||
|  | # | ||||||
|  | #	ITEMS AVAILABLE FROM LAUNCH DATA | ||||||
|  | #		BSUBO, BDOT | ||||||
|  | #		TIMSUBO, NODIO, NODDOT, FSUBO, FDOT | ||||||
|  | #		COSI = COS(I)	B-1 | ||||||
|  | #		SINI = SIN(I)	B-1 | ||||||
|  | #		  I IS THE ANGLE BETWEEN THE MEAN LUNAR EQUATORIAL PLANE AND THE | ||||||
|  | #		  PLANE OF THE ECLIPTIC (1 DEGREE 32.1 MINUTES) | ||||||
|  | # | ||||||
|  | # OUTPUT | ||||||
|  | #	MMATRIX = 3X3 M MATRIX B-1	(STORED IN VAC AREA) | ||||||
|  |  | ||||||
|  | MOONMX		STQ	SETPD | ||||||
|  | 			EARTHMXX | ||||||
|  | 			8D | ||||||
|  | 		AXT,1			# B REQUIRES SL 0, SL 5 IN NEWANGLE | ||||||
|  | 			5 | ||||||
|  | 		DLOAD	PDDL		# PD 10D	8-9D=BSUBO | ||||||
|  | 			BSUBO		#		10-11D=BDOT | ||||||
|  | 			BDOT | ||||||
|  | 		PUSH	CALL		# PD 12D | ||||||
|  | 			NEWANGLE	# EXIT WITH PD 8D AND MPAC= B	REVS B0 | ||||||
|  | 		PUSH	COS		# PD 10D | ||||||
|  | 		STODL	COB		# PD 8D		COS(B) B-1 | ||||||
|  | 		SIN			#		SIN(B) B-1 | ||||||
|  | 		STODL	SOB		# SETUP INPUT FOR NEWANGLE | ||||||
|  | 			FSUBO		# 			8-9D=FSUBO | ||||||
|  | 		PDDL	PUSH		# PD 10D THEN 12D	10-11D=FDOT | ||||||
|  | 			FDOT | ||||||
|  | 		AXT,1	CALL		# F REQUIRES SL 1, SL 6 IN NEWANGLE. | ||||||
|  | 			4 | ||||||
|  | 			NEWANGLE	# EXIT WITH PD 8D AND MPAC= F REVS B0 | ||||||
|  | 		STODL	AVECTR +2	# SAVE F TEMP | ||||||
|  | 			NODIO		#			8-9D=NODIO | ||||||
|  | 		PDDL	PUSH		# PD 10D THEN 12D	10-11D=NODDOT | ||||||
|  | 			NODDOT		#			MPAC=T | ||||||
|  | 		AXT,1	CALL		# NODE REQUIRES SL 0, SL 5 IN NEWANGLE | ||||||
|  | 			5 | ||||||
|  | 			NEWANGLE	# EXIT WITH PD 8D AND MPAC= NODI REVS B0 | ||||||
|  | # Page 1144 | ||||||
|  | 		PUSH	COS		# PD 10D	8-9D= NODI REVS B0 | ||||||
|  | 		PUSH			# PD 12D	10-11D= COS(NODI) B-1 | ||||||
|  | 		STORE	AVECTR | ||||||
|  | 		DMP	SL1R | ||||||
|  | 			COB		#			 COS(NODI) B-1 | ||||||
|  | 		STODL	BVECTR +2	# PD 10D  20-25D=AVECTR= COB*SIN(NODI) | ||||||
|  | 		DMP	SL1R		#			 SOB*SIN(NODI) | ||||||
|  | 			SOB | ||||||
|  | 		STODL	BVECTR +4	# PD 8D | ||||||
|  | 		SIN	PUSH		# PD 10D		-SIN(NODI) B-1 | ||||||
|  | 		DCOMP			#         26-31D=BVECTR= COB*COS(NODI) | ||||||
|  | 		STODL	BVECTR		# PD 8D			 SOB*COS(NODI) | ||||||
|  | 			AVECTR +2	# MOVE F FROM TEMP LOC. TO 504F | ||||||
|  | 		STODL	504F | ||||||
|  | 		DMP	SL1R | ||||||
|  | 			COB | ||||||
|  | 		GOTO | ||||||
|  | 			MOONMXA | ||||||
|  |  | ||||||
|  | 		BANK	25 | ||||||
|  | 		SETLOC	PLANTIN3 | ||||||
|  | 		BANK | ||||||
|  | 		COUNT*	$$/LUROT | ||||||
|  |  | ||||||
|  | MOONMXA		STODL	AVECTR +2 | ||||||
|  | 			SINNODI		# 8-9D=SIN(NODI) B-1 | ||||||
|  | 		DMP	SL1R | ||||||
|  | 			SOB | ||||||
|  | 		STODL	AVECTR +4	#			 0 | ||||||
|  | 			HI6ZEROS	#	8-13D= CVECTR= -SOB  B-1 | ||||||
|  | 		PDDL	DCOMP		# PD 10D		COB | ||||||
|  | 			SOB | ||||||
|  | 		PDDL	PDVL		# PD 12D THEN PD 14D | ||||||
|  | 			COB | ||||||
|  | 			BVECTR | ||||||
|  | 		VXSC	PDVL		# PD 20D	BVECTR*SINI  B-2 | ||||||
|  | 			SINI | ||||||
|  | 			CVECTR | ||||||
|  | 		VXSC	VAD		# PD 14D	CVECTR*COSI  B-2 | ||||||
|  | 			COSI | ||||||
|  | 		VSL1 | ||||||
|  | 		STOVL	MMATRIX +12D	# PD 8D  M2=BVECTR*SINI+CVECTR*COSI  B-1 | ||||||
|  | 		VXSC	PDVL		# PD 14D | ||||||
|  | 			SINI		#		CVECTR*SINI  B-2 | ||||||
|  | 			BVECTR | ||||||
|  | 		VXSC	VSU		# PD 8D		BVECTR*COSI  B-2 | ||||||
|  | 			COSI | ||||||
|  | 		VSL1	PDDL		# PD 14D | ||||||
|  | 			504F		# 8-13D=DVECTR=BVECTR*COSI-CVECTR*SINI  B-1 | ||||||
|  | 		COS	VXSC | ||||||
|  | # Page 1145 | ||||||
|  | 			DVECTR | ||||||
|  | 		PDDL	SIN		# PD 20D  14-19D= DVECTR*COSF  B-2 | ||||||
|  | 			504F | ||||||
|  | 		VXSC	VSU		# PD 14D	  AVECTR*SINF  B-2 | ||||||
|  | 			AVECTR | ||||||
|  | 		VSL1 | ||||||
|  | 		STODL	MMATRIX +6	# M1= AVECTR*SINF-DVECTR*COSF  B-1 | ||||||
|  | 			504F | ||||||
|  | 		SIN	VXSC		# PD 8D | ||||||
|  | 		PDDL	COS		# PD 14D  8-13D=DVECTR*SINF B-2 | ||||||
|  | 			504F | ||||||
|  | 		VXSC	VAD		# PD 8D		AVECTR*COSF B-2 | ||||||
|  | 			AVECTR | ||||||
|  | 		VSL1	VCOMP | ||||||
|  | 		STCALL	MMATRIX		# M0= -(AVECTR*COSF+DVECTR*SINF)  B-1 | ||||||
|  | 			EARTHMXX | ||||||
|  |  | ||||||
|  | # COMPUTE X=X0+(XDOT)(T+T0) | ||||||
|  | # 8-9D= X0 (REVS B-0), PUSHLOC SET AT 12D | ||||||
|  | # 10-11D=XDOT (REVS/CSEC) SCALED B+23 FOR WEARTH,B+28 FOR NODDOT AND BDOT | ||||||
|  | #			AND B+27 FOR FDOT | ||||||
|  | # X1=DIFFERENCE IN 23 AND SCALING OF XDOT, =0 FOR WEARTH, 5 FOR NDDOT AND | ||||||
|  | #					BDOT AND 4 FOR FDOT | ||||||
|  | # 6-7D=T (CSEC B-28), TIMSUBO= (CSEC B-42 TRIPLE PREC.) | ||||||
|  |  | ||||||
|  | NEWANGLE	DLOAD	SR		# ENTER PD 12D | ||||||
|  | 			6D | ||||||
|  | 			14D | ||||||
|  | 		TAD	TLOAD		# CHANGE MODE TO TP | ||||||
|  | 			TIMSUBO | ||||||
|  | 			MPAC | ||||||
|  | 		STODL	TIMSUBM		# T+T0 CSEC B-42 | ||||||
|  | 			TIMSUBM +1 | ||||||
|  | 		DMP			# PD 10D	MULT BY XDOT IN 10-11D | ||||||
|  | 		SL*	DAD		# PD 8D		ADD X0 IN 8-9D AFTER SHIFTING | ||||||
|  | 			5,1		#		SUCH THAT SCALING IS B-0 | ||||||
|  | 		PUSH	SLOAD		# PD 10D  SAVE PARTIAL (X0+XDOT*T) IN 8-9D | ||||||
|  | 			TIMSUBM | ||||||
|  | 		SL	DMP | ||||||
|  | 			9D | ||||||
|  | 			10D		# XDOT | ||||||
|  | 		SL*	DAD		# PD 8D		SHIFT SUCH THAT THIS PART OF X | ||||||
|  | 			10D,1		#		IS SCALED REVS/CSEC B-0 | ||||||
|  | 		BOV			# TURN OFF OVERFLOW IF SET BY SHIFT | ||||||
|  | 			+1		# INSTRUCTION BEFORE EXITING. | ||||||
|  | 		RVQ			# MPAC=X= X0+(XDOT)(T+T0)  REVS B0 | ||||||
|  |  | ||||||
|  | # Page 1146 | ||||||
|  | # ***** EARTHMX SUBROUTINE ***** | ||||||
|  | # SUBROUTINE TO COMPUTE THE TRANSFORMATION MATRIX M FOR THE EARTH | ||||||
|  | # | ||||||
|  | # CALLING SEQUENCE | ||||||
|  | #	L	CALL | ||||||
|  | #	L+1		EARTHMX | ||||||
|  | # | ||||||
|  | # SUBROUTINE USED | ||||||
|  | #	NEWANGLE | ||||||
|  | # | ||||||
|  | # INPUT | ||||||
|  | #	INPUT AVAILABLE FROM LAUNCH DATA	AZO  REVS B-0 | ||||||
|  | #						TEPHEM  CSEC B-42 | ||||||
|  | #	6-7D= TIME CSEC B-28 | ||||||
|  | # | ||||||
|  | # OUTPUT | ||||||
|  | #	MMATRIX= 3X3 M MATRIX B-1	(STORED IN VAC AREA) | ||||||
|  |  | ||||||
|  | 		BANK	26 | ||||||
|  | 		SETLOC	PLANTIN1 | ||||||
|  | 		BANK | ||||||
|  | 		COUNT*	$$/LUROT | ||||||
|  |  | ||||||
|  | EARTHMX		STQ	SETPD		# SET 8-9D=AZO | ||||||
|  | 			EARTHMXX | ||||||
|  | 			8D		# 10-11D=WEARTH | ||||||
|  | 		AXT,1			# FOR SL 5, AND SL 10 IN NEWANGLE | ||||||
|  | 			0 | ||||||
|  | 		DLOAD	PDDL		# LEAVING PD SET AT 12D FOR NEWANGLE | ||||||
|  | 			AZO | ||||||
|  | 			WEARTH | ||||||
|  | 		PUSH	CALL | ||||||
|  | 			NEWANGLE | ||||||
|  | 		SETPD	PUSH		# 18-19D=504AZ | ||||||
|  | 			18D		#			 COS(AZ)   SIN(AZ)     0 | ||||||
|  | 		COS	PDDL		# 20-37D=  MMATRIX=	-SIN(AZ)   COS(AZ)     0    B-1 | ||||||
|  | 			504AZ		#			    0         0        1 | ||||||
|  | 		SIN	PDDL | ||||||
|  | 			HI6ZEROS | ||||||
|  | 		PDDL	SIN | ||||||
|  | 			504AZ | ||||||
|  | 		DCOMP	PDDL | ||||||
|  | 			504AZ | ||||||
|  | 		COS	PDVL | ||||||
|  | 			HI6ZEROS | ||||||
|  | 		PDDL	PUSH | ||||||
|  | 			HIDPHALF | ||||||
|  | 		GOTO | ||||||
|  | 			EARTHMXX | ||||||
|  |  | ||||||
|  | # Page 1147 | ||||||
|  | # ***** EARTHL SUBROUTINE ***** | ||||||
|  | # SUBROUTINE TO COMPUTE L VECTOR FOR EARTH | ||||||
|  | # | ||||||
|  | # CALLING SEQUENCE | ||||||
|  | #	L	CALL | ||||||
|  | #	L+1		EARTHL | ||||||
|  | # | ||||||
|  | # INPUT | ||||||
|  | #	AXO,AYO SET AT LAUNCH TIME WITH AYO IMMEDIATELY FOLLOWING AXO IN CORE | ||||||
|  | # | ||||||
|  | # OUTPUT | ||||||
|  | #		-AX | ||||||
|  | #	MPAC=	-AY	RADIANS B-0 | ||||||
|  | #		  0 | ||||||
|  |  | ||||||
|  | 		BANK	06 | ||||||
|  | 		SETLOC	EARTHLOC | ||||||
|  | 		BANK | ||||||
|  | 		COUNT*	$$/LUROT | ||||||
|  |  | ||||||
|  | EARTHL		DLOAD	DCOMP | ||||||
|  | 			AXO | ||||||
|  | 		STODL	504LPL | ||||||
|  | 			-AYO | ||||||
|  | 		STODL	504LPL +2 | ||||||
|  | 			LO6ZEROS | ||||||
|  | 		STOVL	504LPL +4 | ||||||
|  | 			504LPL | ||||||
|  | 		RVQ | ||||||
|  |  | ||||||
|  | # Page 1148 | ||||||
|  | # CONSTANTS AND ERASABLE ASSIGNMENTS | ||||||
|  |  | ||||||
|  | 1B1		=	DP1/2		# 1  SCALED B-1 | ||||||
|  | RPREXIT		=	S1		# R-TO-RP AND RP-TO-R SUBR EXIT | ||||||
|  | EARTHMXX	=	S2		# EARTHMX, MOONMX SUBR. EXITS | ||||||
|  | 504RPR		=	0D		# 6 REGS	R OR RP VECTOR | ||||||
|  | SINNODI		=	8D		# 2		SIN(NODI) | ||||||
|  | DVECTR		=	8D		# 6		D VECTOR MOON | ||||||
|  | CVECTR		=	8D		# 6		C VECTR MOON | ||||||
|  | 504AZ		=	18D		# 2		AZ | ||||||
|  | TIMSUBM		=	14D		# 3		TIME SUB M (MOON) T+T0 IN GETAZ | ||||||
|  | 504LPL		=	14D		# 6		L OR LP VECTOR | ||||||
|  | AVECTR		=	20D		# 6		A VECTOR (MOON) | ||||||
|  | BVECTR		=	26D		# 6		B VECTOR (MOON) | ||||||
|  | MMATRIX		=	20D		# 18		M MATRIX | ||||||
|  | COB		=	32D		# 2		COS(B) B-1 | ||||||
|  | SOB		=	34D		# 2		SIN(B) B-1 | ||||||
|  | 504F		=	6D		# 2		F(MOON) | ||||||
|  |  | ||||||
							
								
								
									
										447
									
								
								Luminary099/POWERED_FLIGHT_SUBROUTINES.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										447
									
								
								Luminary099/POWERED_FLIGHT_SUBROUTINES.agc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,447 @@ | |||||||
|  | # Copyright:	Public domain. | ||||||
|  | # Filename:	POWERED_FLIGHT_SUBROUTINES.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:	1259-1267 | ||||||
|  | # Mod history:	2009-05-26 RSB	Adapted from the corresponding  | ||||||
|  | #				Luminary131 file, using page  | ||||||
|  | #				images from Luminary 1A. | ||||||
|  | #		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-61 | ||||||
|  | #	16:27 JULY 14, 1969  | ||||||
|  |  | ||||||
|  | # Page 1259 | ||||||
|  | 		BANK	14		# SAME FBANK AS THE FINDCDUD SUB-PROGRAM | ||||||
|  | 		SETLOC	POWFLITE | ||||||
|  | 		BANK | ||||||
|  |  | ||||||
|  | 		EBANK=	DEXDEX | ||||||
|  | 		COUNT*	$$/POWFL | ||||||
|  |  | ||||||
|  | # CDUTRIG, CDUTRIG1, CDUTRIG2, AND CD*TR*GS ALL COMPUTE THE SINES AND | ||||||
|  | # COSINES OF THREE 2'S COMPLEMENT ANGLES AND PLACE THE RESULT, DOUBLE | ||||||
|  | # PRECISION, IN THE SAME ORDER AS THE INPUTS, AT SINCDU AND COSCDU.  AN | ||||||
|  | # ADDITIONAL OUTPUT IS THE 1'S COMPLEMENT ANGLES AT CDUSPOT.  THESE | ||||||
|  | # ROUTINES GO OUT OF THEIR WAY TO LEAVE THE MPAC AREA AS THEY FIND IT. | ||||||
|  | # EXCEPT FOR THE GENERALLY UNIMPORTANT MPAC +2.  THEY DIFFER ONLY IN | ||||||
|  | # WHERE THEY GET THE ANGLES, AND IN METHOD OF CALLING. | ||||||
|  | # | ||||||
|  | # CDUTRIG (AND CDUTRIG1, WHICH CAN BE CALLED IN BASIC) COMPUTE THE | ||||||
|  | # SINES AND COSINES FROM THE CURRENT CONTENTS OF THE CDU REGISTERS. | ||||||
|  | # THE CONTENTS OF CDUTEMP, ETC., ARE NOT TOUCHED SO THAT THEY MAY | ||||||
|  | # CONTINUE TO FORM A CONSISTENT SET WITH THE LATEST PIPA READINGS. | ||||||
|  | # | ||||||
|  | # CDUTRIG1 IS LIKE CDUTRIG EXCEPT THAT IT CAN BE CALLED IN BASIC. | ||||||
|  | # | ||||||
|  | # CD*TR*GS FINDS CDU VALUES IN CDUSPOT RATHER THAN IN CDUTEMP.  THIS | ||||||
|  | # ALLOWS USERS TO MAKE TRANSFORMATIONS USING ARBITRARY ANGLES, OR REAL | ||||||
|  | # ANGLES IN AN ORDER OTHER THAN X Y Z.  A CALL TO THIS ROUTINE IS | ||||||
|  | # NECESSARY IN PREPARATION FOR A CALL TO AX*SR*T IN EITHER OF ITS TWO | ||||||
|  | # MODES (SMNB OR NBSM).  SINCE AX*SR*T EXPECTS TO FIND THE SINES AND | ||||||
|  | # COSINES IN THE ORDER Y Z X THE ANGLES MUST HAVE BEEN PLACED IN CDUSPOT | ||||||
|  | # IN THIS ORDER.  CD*TR*GS NEED NOT BE REPEATED WHEN AX*SR*T IS CALLED | ||||||
|  | # MORE THAN ONCE, PROVIDED THE ANGLES HAVE NOT CHANGED.  NOTE THAT SINCE | ||||||
|  | # IT CLOBBERS BUF2 (IN THE SINE AND COSINE ROUTINES) CD*TR*GS CANNOT BE | ||||||
|  | # CALLED USING BANKCALL.  SORRY. | ||||||
|  | # | ||||||
|  | # CD*TR*G IS LIKE CD*TR*GS EXCEPT THAT IT CAN BE CALLED IN | ||||||
|  | # INTERPRETIVE. | ||||||
|  |  | ||||||
|  | CDUTRIG		EXIT | ||||||
|  | 		TC	CDUTRIGS | ||||||
|  | 		TC	INTPRET | ||||||
|  | 		RVQ | ||||||
|  |  | ||||||
|  | CD*TR*G		EXIT | ||||||
|  | 		TC	CD*TR*GS | ||||||
|  | 		TC	INTPRET | ||||||
|  | 		RVQ | ||||||
|  |  | ||||||
|  | CDUTRIGS	CA	CDUX | ||||||
|  | 		TS	CDUSPOT +4 | ||||||
|  | 		CA	CDUY | ||||||
|  | 		TS	CDUSPOT | ||||||
|  | # Page 1260 | ||||||
|  | 		CA	CDUZ | ||||||
|  | 		TS	CDUSPOT +2 | ||||||
|  |  | ||||||
|  | CD*TR*GS	EXTEND | ||||||
|  | 		QXCH	TEM2 | ||||||
|  | 		CAF	FOUR | ||||||
|  | TR*GL**P	MASK	SIX		# MAKE IT EVEN AND SMALLER | ||||||
|  | 		TS	TEM3 | ||||||
|  | 		INDEX	TEM3 | ||||||
|  | 		CA	CDUSPOT | ||||||
|  | 		DXCH	MPAC		# STORING 2'S COMP ANGLE, LOADING MPAC | ||||||
|  | 		DXCH	VBUF 	+4	# STORING MPAC FOR LATER RESTORATION | ||||||
|  | 		TC	USPRCADR | ||||||
|  | 		CADR	CDULOGIC | ||||||
|  | 		EXTEND | ||||||
|  | 		DCA	MPAC | ||||||
|  | 		INDEX	TEM3 | ||||||
|  | 		DXCH	CDUSPOT		# STORING 1'S COMPLEMENT ANGLE | ||||||
|  | 		TC	USPRCADR | ||||||
|  | 		CADR	COSINE | ||||||
|  | 		DXCH	MPAC | ||||||
|  | 		INDEX	TEM3 | ||||||
|  | 		DXCH	COSCDU		# STORING COSINE | ||||||
|  | 		EXTEND | ||||||
|  | 		INDEX	TEM3 | ||||||
|  | 		DCA	CDUSPOT		# LOADING 1'S COMPLEMENT ANGLE | ||||||
|  | 		TC	USPRCADR | ||||||
|  | 		CADR	SINE 	+1	# SINE +1 EXPECTS ARGUMENT IN A AND L | ||||||
|  | 		DXCH	VBUF 	+4	# BRINGING UP PRIOR MPAC TO BE RESTORED | ||||||
|  | 		DXCH	MPAC | ||||||
|  | 		INDEX	TEM3 | ||||||
|  | 		DXCH	SINCDU | ||||||
|  | 		CCS	TEM3 | ||||||
|  | 		TCF	TR*GL**P | ||||||
|  | 		TC	TEM2 | ||||||
|  | # Page 1261 | ||||||
|  | # ******************************************************************************************************* | ||||||
|  | # QUICTRIG, INTENDED FOR QUIDANCE CYCLE USE WHERE TIME IS CRITICAL, IS A MUCH FASTER VERSION OF CD*TR*GS. | ||||||
|  | # QUICTRIG COMPUTES AND STORES THE SINES AND COSINES OF THE 2'S COMPLEMENT ANGLES AT CDUSPOT, CDUSPOT +2, | ||||||
|  | # AND CDUSPOT +4.  UNLIKE CD*TR*GS, QUICTRIG DOES NOT LEAVE THE 1'S COMPLEMENT VERSIONS OF THE ANGLES IN | ||||||
|  | # CDUSPOT.  QUICTRIG'S EXECUTION TIME IS 4.1 MS;  THIS IS 10 TIMES AS FAST AS CD*TR*GS.  QUICTRIG MAY BE | ||||||
|  | # CALLED FROM INTERPRETIVE AS AN RTB OP-CODE, OR FROM BASIC VIA BANKCALL OR IBNKCALL. | ||||||
|  |  | ||||||
|  | QUICTRIG	INHINT			# INHINT SINCE DAP USES THE SAME TEMPS | ||||||
|  | 		EXTEND | ||||||
|  | 		QXCH	ITEMP1 | ||||||
|  | 		CAF	FOUR | ||||||
|  |  +4		MASK	SIX | ||||||
|  | 		TS	ITEMP2 | ||||||
|  | 		INDEX	ITEMP2 | ||||||
|  | 		CA	CDUSPOT | ||||||
|  | 		TC	SPSIN | ||||||
|  | 		EXTEND | ||||||
|  | 		MP	BIT14		# SCALE DOWN TO MATCH INTERPRETER OUTPUTS | ||||||
|  | 		INDEX	ITEMP2 | ||||||
|  | 		DXCH	SINCDU | ||||||
|  | 		INDEX	ITEMP2 | ||||||
|  | 		CA	CDUSPOT | ||||||
|  | 		TC	SPCOS | ||||||
|  | 		EXTEND | ||||||
|  | 		MP	BIT14 | ||||||
|  | 		INDEX	ITEMP2 | ||||||
|  | 		DXCH	COSCDU | ||||||
|  | 		CCS	ITEMP2 | ||||||
|  | 		TCF	QUICTRIG +4 | ||||||
|  | 		CA	ITEMP1 | ||||||
|  | 		RELINT | ||||||
|  | 		TC	A | ||||||
|  |  | ||||||
|  | # Page 1262 | ||||||
|  | #**************************************************************************** | ||||||
|  | # THESE INTERFACE ROUTINES MAKE IT POSSIBLE TO CALL AX*SR*T, ETC., IN | ||||||
|  | # INTERPRETIVE.  LATER, WHERE POSSIBLE, THEY WILL BE ELIMINATED. | ||||||
|  | # | ||||||
|  | # THESE INTERFACE ROUTINES ARE PERMANENT.  ALL RESTORE USER'S EBANK | ||||||
|  | # SETTING. ALL ARE STRICT INTERPRETIVE SUBROUTINES, CALLED USING "CALL", | ||||||
|  | # RETURNING VIA QPRET.  ALL EXPECT AND RETURN THE VECTOR TO BE TRANSFORMED | ||||||
|  | # INTERPRETER-STYLE IN MPAC; COMPONENTS AT MPAC, MPAC +3, AND MPAC +5. | ||||||
|  | # | ||||||
|  | # TRG*SMNB AND TRG*NBSM BOTH EXPECT TO SEE THE 2'S COMPLEMENT ANGLES | ||||||
|  | # AT CDUSPOT (ORDER Y Z X, AT CDUSPOT, CDUSPOT +2, AND CDUSPOT +4; ODD | ||||||
|  | # LOCATIONS NEED NOT BE ZEROED).  TRG*NBSM DOES THE NB TO SM TRANSFORMATION; | ||||||
|  | # TRG*SMNB, VICE VERSA. | ||||||
|  | # | ||||||
|  | # CDU*NBSM DOES ITS TRANSFORMATION USING THE PRESENT CONTENTS OF | ||||||
|  | # THE CDL COUNTERS.  OTHERWISE IT IS LIKE TRG*NBSM. | ||||||
|  | # | ||||||
|  | # CDU*SMNB IS THE COMPLEMENT OF CDU*NBSM. | ||||||
|  |  | ||||||
|  | CDU*SMNB	EXIT | ||||||
|  | 		TC	CDUTRIGS | ||||||
|  | 		TCF	C*MM*N1 | ||||||
|  |  | ||||||
|  | TRG*SMNB	EXIT | ||||||
|  | 		TC	CD*TR*GS | ||||||
|  | C*MM*N1		TC	MPACVBUF	# AX*SR*T EXPECTS VECTOR IN VBUF | ||||||
|  | 		CS	THREE		# SIGNAL FOR SM TO NB TRANSFORMATION. | ||||||
|  | C*MM*N2		TC	AX*SR*T | ||||||
|  | 		TC	INTPRET | ||||||
|  | 		VLOAD	RVQ | ||||||
|  | 			VBUF | ||||||
|  |  | ||||||
|  | CDU*NBSM	EXIT | ||||||
|  | 		TC	CDUTRIGS | ||||||
|  | 		TCF	C*MM*N3 | ||||||
|  |  | ||||||
|  | TRG*NBSM	EXIT | ||||||
|  | 		TC	CD*TR*GS | ||||||
|  | C*MM*N3		TC	MPACVBUF	# FOR AX*SR*T | ||||||
|  | 		CA	THREE		# SIGNAL FOR NB TO SM TRANSFORMATION | ||||||
|  | 		TCF	C*MM*N2 | ||||||
|  |  | ||||||
|  | # *NBSM* AND *SMNB* EXPECT TO SEE THE SINES AND COSINES (AT SINCDU | ||||||
|  | # AND COSCDU) RATHER THAN THE ANGLES THEMSELVES.  OTHERWISE THEY ARE | ||||||
|  | # LIKE TRG*NBSM AND TRG*SMNB. | ||||||
|  | # | ||||||
|  | # NOTE THAT JUST AS CD*TR*GS NEED BE CALLED ONLY ONCE FOR EACH SERIES | ||||||
|  | # OF TRANSFORMATIONS USING THE SAME ANGLES, SO TOO ONLY ONE OF TRG*NBSM | ||||||
|  | # Page 1263 | ||||||
|  | # AND TRG*SMNB NEED BE CALLED FOR EACH SERIES.  FOR SUBSEQUENT TRANFOR- | ||||||
|  | # MATIONS USE *NBSM* AND *SMNB*. | ||||||
|  |  | ||||||
|  | *SMNB*		EXIT | ||||||
|  | 		TCF	C*MM*N1 | ||||||
|  |  | ||||||
|  | *NBSM*		EXIT | ||||||
|  | 		TCF	C*MM*N3 | ||||||
|  |  | ||||||
|  | # AX*SR*T COMBINES THE OLD SMNB AND NBSM.  FOR THE NB TO SM | ||||||
|  | # TRANSFORMATION, ENTER WITH +3 IN A.  FOR SM TO NB, ENTER WITH -3. | ||||||
|  | # THE VECTOR TO BE TRANSFORMED ARRIVES, AND IS RETURNED, IN VBUF. | ||||||
|  | # AX*SR*T EXPECTS TO FIND THE SINES AND COSINES OF THE ANGLES OF ROTATION | ||||||
|  | # AT SINCDU AND COSCDU, IN THE ORDER Y Z X.  A CALL TO CD*TR*GS, WITH | ||||||
|  | # THE 2'S COMPLEMENT ANGLES (ORDER Y Z X) AT CDUSPOT, WILL TAKE CARE OF | ||||||
|  | # THIS.  HERE IS A SAMPLE CALLING SEQUENCE:-- | ||||||
|  | #		TC	CDUTRIGS | ||||||
|  | #		CS	THREE		# ("CA THREE" FOR NBSM) | ||||||
|  | #		TC	AX*SR*T | ||||||
|  | # THE CALL TO CD*TR*GS NEED NOT BE REPEATED, WHEN AX*SR*T IS CALLED MORE | ||||||
|  | # THAN ONCE, UNLESS THE ANGLES HAVE CHANGED. | ||||||
|  | # | ||||||
|  | # AX*SR*T IS GUARANTEED SAFE ONLY FOR VECTORS OF MAGNITUDE LESS THAN | ||||||
|  | # UNITY.  A LOOK AT THE CASE IN WHICH A VECTOR OF GREATER MAGNITUDE | ||||||
|  | # HAPPENS TO LIE ALONG AN AXIS OF THE SYSTEM TO WHICH IT IS TO BE TRANS- | ||||||
|  | # FORMED CONVINCES ONE THAT THIS IS A RESTRICTION WHICH MUST BE ACCEPTED. | ||||||
|  |  | ||||||
|  | AX*SR*T		TS	DEXDEX		# WHERE IT BECOMES THE INDEX OF INDEXES. | ||||||
|  | 		EXTEND | ||||||
|  | 		QXCH	RTNSAVER | ||||||
|  |  | ||||||
|  | R*TL**P		CCS	DEXDEX		#       	+3 --> 0	-3 --> 2 | ||||||
|  | 		CS	DEXDEX		# THUS:		+2 --> 1	-2 --> 1 | ||||||
|  | 		AD	THREE		#		+1 --> 2	-1 --> 0 | ||||||
|  | 		EXTEND | ||||||
|  | 		INDEX	A | ||||||
|  | 		DCA	INDEXI | ||||||
|  | 		DXCH	DEXI | ||||||
|  |  | ||||||
|  | 		CA	ONE | ||||||
|  | 		TS	BUF | ||||||
|  | 		EXTEND | ||||||
|  | 		INDEX	DEX1 | ||||||
|  | 		DCS	VBUF | ||||||
|  | 		TCF	LOOP1		# REALLY BE A SUBTRACT, AND VICE VERSA | ||||||
|  |  | ||||||
|  | LOOP2		DXCH	BUF		# LOADING VECTOR COMPONENT, STORING INDEX | ||||||
|  | # Page 1264 | ||||||
|  | LOOP1		DXCH	MPAC | ||||||
|  | 		CA	SINSLOC | ||||||
|  | 		AD	DEX1 | ||||||
|  | 		TS	ADDRWD | ||||||
|  |  | ||||||
|  | 		TC	DMPSUB		# MULTIPLY AT SIN(CDUANGLE) | ||||||
|  | 		CCS	DEXDEX | ||||||
|  | 		DXCH	MPAC		# NBSM CASE | ||||||
|  | 		TCF	+3 | ||||||
|  | 		EXTEND			# SMNB CASE | ||||||
|  | 		DCS	MPAC | ||||||
|  | 		DXCH	TERM1TMP | ||||||
|  |  | ||||||
|  | 		CA	SIX		# SINCDU AND COSCDU (EACH 6 WORDS) MUST | ||||||
|  | 		ADS	ADDRWD		#	BE CONSECUTIVE AND IN THAT ORDER | ||||||
|  |  | ||||||
|  | 		EXTEND | ||||||
|  | 		INDEX	BUF | ||||||
|  | 		INDEX	DEX1 | ||||||
|  | 		DCA	VBUF | ||||||
|  | 		DXCH	MPAC | ||||||
|  | 		TC	DMPSUB		# MULTIPLY BY COS(CDUANGLE) | ||||||
|  | 		DXCH	MPAC | ||||||
|  | 		DAS	TERM1TMP | ||||||
|  | 		DXCH	TERM1TMP | ||||||
|  | 		DDOUBL | ||||||
|  | 		INDEX	BUF | ||||||
|  | 		INDEX	DEX1 | ||||||
|  | 		DXCH	VBUF | ||||||
|  | 		DXCH	BUF		# LOADING INDEX, STORING VECTOR COMPONENT | ||||||
|  | 		 | ||||||
|  | 		CCS	A		# 'CAUSE THAT'S WHERE THE INDEX NOW IS | ||||||
|  | 		TCF	LOOP2 | ||||||
|  |  | ||||||
|  | 		EXTEND | ||||||
|  | 		DIM	DEXDEX		# DECREMENT MAGNITUDE PRESERVING SIGN | ||||||
|  |  | ||||||
|  | TSTPOINT	CCS	DEXDEX		# ONLY THE BRANCHING FUNCTION IS USED | ||||||
|  | 		TCF	R*TL**P | ||||||
|  | 		TC	RTNSAVER | ||||||
|  | 		TCF	R*TL**P | ||||||
|  | 		TC	RTNSAVER | ||||||
|  |  | ||||||
|  | SINSLOC		ADRES	SINCDU		# FOR USE IN SETTING ADDRWD | ||||||
|  |  | ||||||
|  | INDEXI		DEC	4		# **********   DON'T   *********** | ||||||
|  | 		DEC	2		# **********   TOUCH   *********** | ||||||
|  | 		DEC	0		# **********   THESE   *********** | ||||||
|  | # Page 1265 | ||||||
|  | 		DEC	4		# ********** CONSTANTS *********** | ||||||
|  |  | ||||||
|  | # ****************************************************************************** | ||||||
|  |  | ||||||
|  | 		BANK	10 | ||||||
|  | 		SETLOC	FLESHLOC | ||||||
|  | 		BANK | ||||||
|  | 		COUNT*	$$/POWFL | ||||||
|  |  | ||||||
|  | # ROUTINE FLESHPOT COMPUTES THE BODY-STABLE MEMBER TRANSFORMATION MATRIX (COMMONLY CALLED XNB) AND STORES | ||||||
|  | # IT IN THE LOCATIONS SPECIFIED BY THE ECADR ENTERING IN A. | ||||||
|  |  | ||||||
|  | CALCSMSC	EXIT | ||||||
|  | 		TC	BANKCALL | ||||||
|  | 		CADR	FLESHPOT -1 | ||||||
|  | 		TC	INTPRET | ||||||
|  | 		RVQ | ||||||
|  |  | ||||||
|  | XNBECADR	ECADR	XNB | ||||||
|  |  | ||||||
|  |  -1		CAF	XNBECADR | ||||||
|  |  | ||||||
|  | FLESHPOT	TS	TEM2 | ||||||
|  | 		XCH	EBANK | ||||||
|  | 		XCH	TEM2 | ||||||
|  | 		MASK	LOW8 | ||||||
|  | 		AD	OCT1400 | ||||||
|  | 		TS	TEM1 | ||||||
|  |  | ||||||
|  | 		EXTEND | ||||||
|  | 		DCA	COSCDUY | ||||||
|  | 		DXCH	MPAC | ||||||
|  | 		TC	DMP | ||||||
|  | 		ADRES	COSCDUZ | ||||||
|  | 		DXCH	MPAC | ||||||
|  | 		DDOUBL | ||||||
|  | 		INDEX	TEM1 | ||||||
|  | 		DXCH	0		# = COSY COSZ | ||||||
|  |  | ||||||
|  | 		EXTEND | ||||||
|  | 		DCA	SINCDUZ | ||||||
|  | 		INDEX	TEM1 | ||||||
|  | 		DXCH	2		# = SINZ | ||||||
|  |  | ||||||
|  | 		EXTEND | ||||||
|  | 		DCS	SINCDUY | ||||||
|  | 		DXCH	MPAC | ||||||
|  | 		TC	DMPSUB		# ADDRWD SET TO COSCDUZ | ||||||
|  | # Page 1266 | ||||||
|  | 		DXCH	MPAC | ||||||
|  | 		DDOUBL | ||||||
|  | 		INDEX	TEM1 | ||||||
|  | 		DXCH	4		# = - SINY COSZ | ||||||
|  |  | ||||||
|  | 		EXTEND | ||||||
|  | 		DCS	SINCDUX | ||||||
|  | 		DXCH	MPAC | ||||||
|  | 		TC	DMPSUB		# ADDRWD SET TO COSCDUZ STILL | ||||||
|  | 		DXCH	MPAC | ||||||
|  | 		DDOUBL | ||||||
|  | 		DXCH	MPAC	+3 | ||||||
|  |  | ||||||
|  | 		EXTEND | ||||||
|  | 		DCS	SINCDUX | ||||||
|  | 		DXCH	MPAC | ||||||
|  | 		TC	DMP | ||||||
|  | 		ADRES	SINCDUZ | ||||||
|  | 		EXTEND | ||||||
|  | 		DCS	MPAC | ||||||
|  | 		DXCH	MPAC 	+5 | ||||||
|  | 		TC	DMP | ||||||
|  | 		ADRES	SINCDUY | ||||||
|  | 		DXCH	MPAC | ||||||
|  | 		DDOUBL | ||||||
|  | 		DDOUBL | ||||||
|  | 		DXCH	MPAC 	+5 | ||||||
|  |  | ||||||
|  | 		DXCH	MPAC | ||||||
|  | 		TC	DMP | ||||||
|  | 		ADRES	COSCDUY | ||||||
|  | 		DXCH	MPAC | ||||||
|  | 		DDOUBL | ||||||
|  | 		DDOUBL | ||||||
|  | 		DXCH	BUF | ||||||
|  |  | ||||||
|  | 		EXTEND | ||||||
|  | 		DCA	COSCDUY | ||||||
|  | 		DXCH	MPAC | ||||||
|  | 		TC	DMP | ||||||
|  | 		ADRES	COSCDUX | ||||||
|  | 		DXCH	MPAC | ||||||
|  | 		DDOUBL | ||||||
|  | 		DAS	MPAC 	+5 | ||||||
|  |  | ||||||
|  | 		EXTEND | ||||||
|  | 		DCA	SINCDUY | ||||||
|  | 		DXCH	MPAC | ||||||
|  | 		TC	DMPSUB		# ADDRWD SET TO COSCDUX | ||||||
|  | 		DXCH	MPAC | ||||||
|  |  | ||||||
|  | # Page 1267 | ||||||
|  | 		DDOUBL | ||||||
|  | 		DAS 	BUF | ||||||
|  |  | ||||||
|  | 		DXCH	BUF | ||||||
|  | 		DXCH	MPAC | ||||||
|  |  | ||||||
|  | 		EXTEND | ||||||
|  | 		DCA	MPAC | ||||||
|  | 		INDEX	TEM1 | ||||||
|  | 		DXCH	14		# = - SINY COSX + SINX SINZ COSY | ||||||
|  |  | ||||||
|  | 		EXTEND | ||||||
|  | 		DCA	MPAC 	+3 | ||||||
|  | 		INDEX	TEM1 | ||||||
|  | 		DXCH	16		# = - SINX COSZ | ||||||
|  |  | ||||||
|  | 		EXTEND | ||||||
|  | 		DCA	MPAC 	+5 | ||||||
|  | 		INDEX	TEM1 | ||||||
|  | 		DXCH	20		# = COSX COSY - SINX SINY SINZ | ||||||
|  |  | ||||||
|  | 		CA	TEM1 | ||||||
|  | 		TS	ADDRWD | ||||||
|  | 		EXTEND | ||||||
|  | 		DCA	Z | ||||||
|  | 		AD	FOUR | ||||||
|  | 		DXCH	LOC | ||||||
|  | 		CAF	BIT8 | ||||||
|  | 		TS	EDOP | ||||||
|  | 		TCF	VXV | ||||||
|  | 		DXCH	MPAC | ||||||
|  | 		DDOUBL | ||||||
|  | 		INDEX	TEM1 | ||||||
|  | 		DXCH	6 | ||||||
|  |  | ||||||
|  | 		DXCH	MPAC 	+3 | ||||||
|  | 		DDOUBL | ||||||
|  | 		INDEX 	TEM1 | ||||||
|  | 		DXCH	10 | ||||||
|  |  | ||||||
|  | 		DXCH	MPAC 	+5 | ||||||
|  | 		DDOUBL | ||||||
|  | 		INDEX 	TEM1 | ||||||
|  | 		DXCH	12 | ||||||
|  |  | ||||||
|  | 		CA	TEM2 | ||||||
|  | 		TS	EBANK | ||||||
|  | 		TCF	SWRETURN | ||||||
|  | 		 | ||||||
							
								
								
									
										465
									
								
								Luminary099/R30.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										465
									
								
								Luminary099/R30.agc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,465 @@ | |||||||
|  | # Copyright:	Public domain. | ||||||
|  | # Filename:	R30.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:	712-722 | ||||||
|  | # Mod history:	2009-05-19 RSB	Adapted from the corresponding  | ||||||
|  | #				Luminary131 file, using page  | ||||||
|  | #				images from Luminary 1A. | ||||||
|  | #		2009-06-07 RSB	Removed a space between two components of | ||||||
|  | #				a 2OCT that isn't legal in yaYUL. | ||||||
|  | # | ||||||
|  | # 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-61 | ||||||
|  | #	16:27 JULY 14, 1969  | ||||||
|  |  | ||||||
|  | # Page 712 | ||||||
|  | # SUBROUTINE NAME:  V82CALL | ||||||
|  | # MOD NO: 0								DATE: 16 FEB 67 | ||||||
|  | # MOD BY: R. R. BAIRNSFATHER						LOG SECTION:  R30 | ||||||
|  | # MOD NO: 1	MOD BY:  R. R. BAIRNSFATHER	DATE: 11 APR 67		SR30.1 CHANGED TO ALLOW MONITOR OPERN | ||||||
|  | # MOD NO: 2	MOD BY:  ALONSO			DATE: 11 DEC 67		VB82 PROGRAM REWRITTEN | ||||||
|  | # MOD NO: 3	MOD BY:  ALONSO			DATE: 26 MAR 68		PROG MOD TO HANDLE DIF EARTH/MOON SCALE | ||||||
|  | # | ||||||
|  | # NEW FUNCTIONAL DESCRIPTION:	CALLED BY VERB 82 ENTER.  PRIORITY 10. | ||||||
|  | # USED THROUGHOUT.		CALCULATE AND DISPLAY ORBITAL PARAMETERS | ||||||
|  | # | ||||||
|  | # 1.	IF AVERAGE G IS OFF: | ||||||
|  | #		FLASH DISPLAY V04N06.  R2 INDICATES WHICH SHIP'S STATE VECTOR IS | ||||||
|  | #			TO BE UPDATED.  INITIAL CHOICE IS THIS SHIP (R2=1).  ASTRONAUT | ||||||
|  | #			CAN CHANGE TO OTHER SHIP BY V22E XE. WHERE X IS NOT EQ 1. | ||||||
|  | #		SELECTED STATE VECTOR UPDATED BY THISPREC (OTHPREC). | ||||||
|  | #		CALLS SR30.1 (WHICH CALLS TFFCONMU + TFFRP/RA) TO CALCULATE | ||||||
|  | #			RPER (PERIGEE RADIUS), RAPO (APOGEE RADIUS), HPER (PERIGEE | ||||||
|  | #			HEIGHT ABOVE LAUNCH PAD OR LUNAR LANDING SITE), HARD (APOGEE | ||||||
|  | #			HEIGHT AS ABOVE), TPER (TIME TO PERIGEE), TFF (TIME TO | ||||||
|  | #			INTERSECT 300 KFT ABOVE PAD OR 35KFT ABOVE LANDING SITE). | ||||||
|  | #		FLASH MONITOR V16N44 (HAPO, HPER, TFF).  TFF IS -59M59S IF IT WAS | ||||||
|  | #			NOT COMPUTABLE, OTHERWISE IT INCREMENTS ONCE PER SECOND. | ||||||
|  | #			ASTRONAUT HAS OPTION TO MONITOR TPER BY KEYING IN N 32 E. | ||||||
|  | #			DISPLAY IS IN HMS, IS NEGATIVE (AS WAS TFF), AND INCREMENTS | ||||||
|  | #			ONCE PER SECOND ONLY IF TFF DISPLAY WAS -59M59S. | ||||||
|  | #	2.	IF AVERAGE G IS ON: | ||||||
|  | #			CALLS SR30.1 APPROX EVERY TWO SECS.  STATE VECTOR IS ALWAYS | ||||||
|  | #				FOR THIS VEHICLE.  V82 DOES NOT DISTURB STATE VECTOR.  RESULTS | ||||||
|  | #				OF SR30.1 ARE RAPO, RPER, HAPO, HPER, TPER, TFF. | ||||||
|  | #			FLASH MONITOR V16N44 (HAPO, HPER, TFF). | ||||||
|  | #	ADDENDUM:  HAPO AND HPER SHOULD BE CHANGED TO READ HAPOX AND HPERX IN THE | ||||||
|  | #		ABOVE REMARKS. | ||||||
|  | # | ||||||
|  | # CALLING SEQUENCE: VERB 82 ENTER. | ||||||
|  | # | ||||||
|  | # SUBROUTINES CALLED:	SR30.1, GOXDSPF | ||||||
|  | #			MAYBE -- THISPREC, OTHPREC, LOADTIME, DELRSPL | ||||||
|  | # | ||||||
|  | # NORMAL EXIT MODES:  TC ENDEXT | ||||||
|  | # | ||||||
|  | # ALARMS:  NONE | ||||||
|  | # | ||||||
|  | # OUTPUT:	HAPOX	(-29) M | ||||||
|  | #		HPERX	(-29) M | ||||||
|  | #		RAPO	(-29) M EARTH | ||||||
|  | #			(-27) M MOON | ||||||
|  | #		RPER	(-29) M EARTH | ||||||
|  | #			(-27) M MOON | ||||||
|  | #		TFF	(-28) CS	CONTAINS NEGATIVE QUANTITY | ||||||
|  | #		-TPER	(-28) CS	CONTAINS NEGATIVE QUANTITY | ||||||
|  | # | ||||||
|  | # Page 713 | ||||||
|  | # ERASABLE INITIALIZATION REQUIRED:  STATE VECTOR. | ||||||
|  | # | ||||||
|  | # DEBRIS:	QPRET, RONE, VONE, TFF/RTMU, HPERMIN, RPADTEM, V82EMFLG. | ||||||
|  | #		MAYBE:  TSTART82, V82FLAGS, TDEC1. | ||||||
|  |  | ||||||
|  | 		EBANK=	HAPOX | ||||||
|  | 		BANK	31 | ||||||
|  | 		SETLOC	R30LOC | ||||||
|  | 		BANK | ||||||
|  | 		COUNT*	$$/R30 | ||||||
|  |  | ||||||
|  | V82CALL		TC	INTPRET | ||||||
|  | 		BON	GOTO | ||||||
|  | 			AVEGFLAG | ||||||
|  | 			V82GON		# IF AVERAGE G ON | ||||||
|  | 			V82GOFF		# IF AVERAGE G OFF | ||||||
|  |  | ||||||
|  | V82GOFF		EXIT			# ALLOW ASTRONAUT TO SELECT VEHICLE | ||||||
|  | 		CAF	TWO		# DESIRED FOR ORBITAL PARAMETERS | ||||||
|  | 		TS	OPTIONX		# CALCULATION AND DISPLAY. | ||||||
|  | 		CAF	ONE | ||||||
|  | 		TS	OPTIONX +1 | ||||||
|  | 		CAF	OPTIONVN	# V 04 N 06 | ||||||
|  | 		TC	BANKCALL | ||||||
|  | 		CADR	GOXDSPF | ||||||
|  | 		TC	ENDEXT		# TERMINATE | ||||||
|  | 		TC	+2		# PROCEED | ||||||
|  | 		TC	-5		# DATA IN.  OPTION1+1 = 1 FOR THIS VEHICLE | ||||||
|  | 					#		UNEQ 1 FOR OTHER VEHICLE | ||||||
|  | 		CAF	BIT4		# 80 MS | ||||||
|  | 		TC	WAITLIST | ||||||
|  | 		EBANK=	TFF | ||||||
|  | 		2CADR	TICKTEST | ||||||
|  |  | ||||||
|  | 		RELINT | ||||||
|  | V82GOFLP	CAF	TFFBANK		# MAJOR RECYCLE LOOP ENTRY | ||||||
|  | 		TS	EBANK | ||||||
|  | 		CAF	ZERO | ||||||
|  | 		TS	V82FLAGS	# ZERO FLAGS FOR TICKTEST, INHIBITS | ||||||
|  | 					# DECREMENTING OF TFF AND -TPER. | ||||||
|  | 		CAF	PRIO7 | ||||||
|  | 		TC	FINDVAC		# V82GOFF1 WILL EXECUTE STATE VECTOR | ||||||
|  | 		EBANK=	TFF		# UPDATE AND ORBIT CALCULATIONS FOR | ||||||
|  | 		2CADR	V82GOFF1	# SELECTED VEHICLE ABOUT PROPER BODY. | ||||||
|  |  | ||||||
|  | 		RELINT | ||||||
|  | V82STALL	CAF	THREE		# STALL IN THIS LOOP AND WITHOLD V 16 N 44 | ||||||
|  | # Page 714 | ||||||
|  | 		MASK	V82FLAGS	# UNTIL STATE VECTOR UPDATE SETS ONE OF | ||||||
|  | 		CCS	A		# OUR FLAG BITS. | ||||||
|  | 		TC	FLAGGON		# EXIT FROM STALL LOOP. | ||||||
|  | 		CAF	1SEC | ||||||
|  | 		TC	BANKCALL | ||||||
|  | 		CADR	DELAYJOB | ||||||
|  | 		TC	V82STALL | ||||||
|  |  | ||||||
|  | FLAGGON		CAF	V16N44		# MONITOR HAPO,HPER,TFF. | ||||||
|  | 		TC	BANKCALL | ||||||
|  | 		CADR	GOXDSPF | ||||||
|  | 		TC	B5OFF		# TERM. THIS TELLS TICKTEST TO KILL ITSELF | ||||||
|  | 		TC	B5OFF		# PROCEED.  DITTO | ||||||
|  | 		TC	V82GOFLP	# RECYCLE.  RECOMPUTE STATE VECT + DISPLAY | ||||||
|  |  | ||||||
|  | OPTIONVN	VN	412 | ||||||
|  | V16N44		VN	1644 | ||||||
|  | TFFBANK		ECADR	TFF | ||||||
|  |  | ||||||
|  | V82GOFF1	TC	INTPRET | ||||||
|  | 		RTB | ||||||
|  | 			LOADTIME | ||||||
|  | 		STORE	TDEC1		# TIME FOR STATE VECTOR UPDATE. | ||||||
|  | 		STORE	TSTART82	# TIME FOR INTERNAL USE. | ||||||
|  | 		EXIT | ||||||
|  | 		CS	OPTIONX +1	# 1 FOR THIS VEHICLE, NOT 1 FOR OTHER. | ||||||
|  | 		AD	ONE | ||||||
|  | 		EXTEND | ||||||
|  | 		BZF	THISSHIP | ||||||
|  | OTHSHIP		TC	INTPRET | ||||||
|  | 		CALL			# CALL STATE VECTOR UPDATE FOR OTHER SHIP. | ||||||
|  | 			OTHPREC | ||||||
|  | BOTHSHIP	VLOAD			# MOVE RESULTS INTO TFFCONIC STORAGE AREAS | ||||||
|  | 			RATT		# TO BE CALLED BY SR30.1. | ||||||
|  | 		STOVL	RONE		# RATT AT (-29)M FOR EARTH OR MOON. | ||||||
|  | 			VATT | ||||||
|  | 		STORE	VONE		# VATT AT (-7)M/CS FOR EARTH OR MOON | ||||||
|  | 		DLOAD* | ||||||
|  | 			1/RTMUE,2	# X2 IS 0 FOR EARTH CENTERED STATE VEC | ||||||
|  | 		STORE	TFF/RTMU	# X2 IS 2 FOR MOON | ||||||
|  | 		DLOAD*			# AS LEFT BY THISPREC OR OTHPREC. | ||||||
|  | 			MINPERE,2 | ||||||
|  | 		STORE	HPERMIN		# TFFRTMU, HPERMIN, AND RPADTEM ARE ALL | ||||||
|  | 		SLOAD	BHIZ		# EARTH/MOON PARAMETERS AS SET HERE. | ||||||
|  | 			X2 | ||||||
|  | 			EARTHPAD | ||||||
|  | 		GOTO | ||||||
|  | 			MOONPAD | ||||||
|  | # Page 715 | ||||||
|  | THISSHIP	TC	INTPRET | ||||||
|  | 		CALL			# CALL STATE VECTOR UPDATE FOR THIS SHIP. | ||||||
|  | 			THISPREC | ||||||
|  | 		GOTO | ||||||
|  | 			BOTHSHIP | ||||||
|  |  | ||||||
|  | # THE FOLLOWING CONSTANTS ARE PAIRWISE INDEXED.  DO NOT SEPARATE PAIRS. | ||||||
|  |  | ||||||
|  | MINPERM		2DEC	10668 B-27	# 35 KFT MIN PERIGEE HEIGHT FOR MOON(-27)M | ||||||
|  |  | ||||||
|  | MINPERE		2DEC	91440 B-29	# 300 KFT (-29)M FOR EARTH | ||||||
|  |  | ||||||
|  | EARTHPAD	DLOAD	CLRGO		# PAD 37-B RADIUS.  SCALED AT (-29)M | ||||||
|  | 			RPAD | ||||||
|  | 			V82EMFLG	# INDICATE EARTH SCALING FOR SR30.1 | ||||||
|  | 			BOTHPAD | ||||||
|  |  | ||||||
|  | MOONPAD		VLOAD	ABVAL		# COMPUTE MOON PAD RADIUS FROM RLS VECTOR. | ||||||
|  | 			RLS		# SCALED AT (-27)M | ||||||
|  | 		SET | ||||||
|  | 			V82EMFLG	# INDICATE MOON SCALILNG FOR SR30.1 | ||||||
|  | BOTHPAD		STCALL	RPADTEM | ||||||
|  | 			SR30.1		# CALCULATE ORBITAL PARAMETERS | ||||||
|  | 		RTB	DSU | ||||||
|  | 			LOADTIME | ||||||
|  | 			TSTART82	# PRESENT TIME -- TIME V82GOFF1 BEGAN | ||||||
|  | 		STORE	TSTART82	#                 SAVE IT | ||||||
|  | 		DLOAD	BZE		# SR30.1 SETS -TPER=0 IF HPER L/ | ||||||
|  | 			-TPER		# HPERMIN (300 OR 35) KFT. | ||||||
|  | 			TICKTIFF	# (-TPER = 0) | ||||||
|  | TICKTPER	DLOAD	DAD		# (-TPER NON ZERO) TFF WAS NOT COMPUTED. | ||||||
|  | 			-TPER		# BUT WAS SET TO 59M59S.  DON'T DICK TFF, DO | ||||||
|  | 			TSTART82	# TICK -TPER.  DISPLAY BOTH. | ||||||
|  | 		STORE	-TPER		# -TPER CORRECTED FOR TIME SINCE V82GOFF1 | ||||||
|  | 		EXIT			# BEGAN | ||||||
|  | 		CAF	BIT1 | ||||||
|  | 		TS	V82FLAGS	# INFORMS TICKTEST TO INCREMENT ONLY -TPER | ||||||
|  | 		TC	ENDOFJOB | ||||||
|  |  | ||||||
|  | TICKTIFF	DLOAD	DAD		# (-TPER=0) TFF WAS COMPUTED.  TICK TFF. | ||||||
|  | 			TFF		# DO NOT TICK -TPER.  DISPLAY TFF, BUT NOT | ||||||
|  | 			TSTART82	# -TPER. | ||||||
|  | 		STORE	TFF		# TFF CORRECTED FOR TIME SINCE V82GOFF1 | ||||||
|  | 		EXIT			# BEGAN. | ||||||
|  | 		CAF	BIT2 | ||||||
|  | 		TS	V82FLAGS	# INFORMS TICKTEST TO INCREMENT ONLY TFF. | ||||||
|  | 		TC	ENDOFJOB | ||||||
|  |  | ||||||
|  | # Page 716 | ||||||
|  | TICKTEST	CAF	BIT5		# THIS WAITLIST PROGRAM PERPETUATES ITSELF | ||||||
|  | 		MASK	EXTVBACT	# ONCE A SEC UNTIL BIT 5 OF EXTVBACT =0. | ||||||
|  | 		CCS	A | ||||||
|  | 		TC	DOTICK | ||||||
|  | 		CAF	PRIO25 | ||||||
|  | 		TC	NOVAC		# TERMINATE V 82.  CAN'T CALL ENDEXT IN RUPT. | ||||||
|  | 		EBANK=	EXTVBACT | ||||||
|  | 		2CADR	ENDEXT | ||||||
|  |  | ||||||
|  | 		TC	TASKOVER | ||||||
|  | DOTICK		CAF	1SEC		# RE-REQUEST TICKTEST. | ||||||
|  | 		TC	WAITLIST | ||||||
|  | 		EBANK=	TFF | ||||||
|  | 		2CADR	TICKTEST | ||||||
|  |  | ||||||
|  | 		CAF	THREE | ||||||
|  | 		MASK	V82FLAGS | ||||||
|  | 		INDEX	A | ||||||
|  | 		TC	+1 | ||||||
|  | 		TC	TASKOVER	# IF NO FLAGBITS SET DONT' CHANGE TFF OR | ||||||
|  | 					# -TPER, BUT CONTINUE LOOP. | ||||||
|  | 		TC	TPERTICK	# ONLY BIT 1 SET.  INCR -TPER BY 1 SEC. | ||||||
|  | TFFTICK		CAF	1SEC		# ONLY BIT 2 SET.  INCR TFF BY 1 SEC. | ||||||
|  | 		TS	L | ||||||
|  | 		CAF	ZERO | ||||||
|  | 		DAS	TFF | ||||||
|  | 		TC	TASKOVER | ||||||
|  | TPERTICK	CAF	1SEC | ||||||
|  | 		TS	L | ||||||
|  | 		CAF	ZERO | ||||||
|  | 		DAS	-TPER | ||||||
|  | 		TC	TASKOVER | ||||||
|  |  | ||||||
|  | # Page 717 | ||||||
|  | V82GON		EXIT			# AVERAGE G ON.  USE CURRENT STATE VECTOR | ||||||
|  | 					# FOR ORBITAL PARAMETER CALCULATIONS. | ||||||
|  | 		CAF	PRIO7		# LESS THAN LAMBERT | ||||||
|  | 		TC	FINDVAC		# V82GON1 WILL PERFORM ORBIT CALCULATIONS | ||||||
|  | 		EBANK=	TFF		# ABOUT PROPER BODY APPROX ONCE PER SEC. | ||||||
|  | 		2CADR	V82GON1 | ||||||
|  |  | ||||||
|  | 		RELINT | ||||||
|  | 		CCS	NEWJOB		# WITHOLD V16 N44 UNTIL FIRST ORBIT CALC | ||||||
|  | 		TC	CHANG1		# IS DONE.  NOTE:  V82GON1 (PRIO7, FINDVAC | ||||||
|  | 					# JOB) IS COMPLETED BEFORE V82GON (PRIO7, | ||||||
|  | 					# NOVAC JOB). | ||||||
|  | V82REDSP	CAF	V16N44		# MONITOR HAPO, HPER, TFF | ||||||
|  | 		TC	BANKCALL | ||||||
|  | 		CADR	GOXDSPF | ||||||
|  | 		TC	B5OFF		# TERM THIS TELLS V82GON1 TO KILL ITSELF. | ||||||
|  | 		TC	B5OFF		# PROC DITTO. | ||||||
|  | 		TC	V82REDSP	# RECYCLE | ||||||
|  |  | ||||||
|  | V82GON1		TC	INTPRET		# THIS EXEC PROGRAM PERPETUATES ITSELF | ||||||
|  | 					# ONCE A SEC UNTIL BIT 5 OF EXTVBACT =0. | ||||||
|  | 		VLOAD	GOTO		# HOLDS OFF CCS NEWJOB BETWEEN RN AND | ||||||
|  | 			RN		# VN FETCH SO RN, VN ARE FROM SAME | ||||||
|  | 			NEXTLINE	# STATE VECTOR UPDATE. | ||||||
|  | NEXTLINE	STOVL	RONE		# RN AT (-29)M FOR EARTH OR MOON | ||||||
|  | 			VN | ||||||
|  | 		STORE	VONE		# VN AT (-7)M/CS FOR EARTH OR MOON | ||||||
|  | 		BON	GOTO | ||||||
|  | 			MOONTHIS	# FLAG INDICATES BODY ABOUT WHICH ORBITAL | ||||||
|  | 			MOONGON		# CALCULATIONS ARE TO BE PERFORMED. | ||||||
|  | 			EARTHGON	# IF SET -- MOON, IF RESET --EARTH. | ||||||
|  |  | ||||||
|  | MOONGON		SET	DLOAD | ||||||
|  | 			V82EMFLG	# FLAG MOON SCALING FOR SR30.1 | ||||||
|  | 			1/RTMUM		# LUNAR PARAMETERS LOADED HERE FOR SR30.1 | ||||||
|  | 		STODL	TFF/RTMU | ||||||
|  | 			MINPERM | ||||||
|  | 		STOVL	HPERMIN | ||||||
|  | 			RLS		# SCALED AT (-27)M | ||||||
|  | 		ABVAL	GOTO | ||||||
|  | 			V82GON2 | ||||||
|  | EARTHGON	CLEAR	DLOAD | ||||||
|  | 			V82EMFLG	# INDICATE EARTH SCALING FOR SR30.1 | ||||||
|  | 			1/RTMUE		# EARTH PARAMETERS LOADED HERE FOR SR30.1 | ||||||
|  | 		STODL	TFF/RTMU | ||||||
|  | 			MINPERE | ||||||
|  | 		STODL	HPERMIN | ||||||
|  | 			RPAD | ||||||
|  | V82GON2		STCALL	RPADTEM		# COMMON CODE FOR EARTH & MOON. | ||||||
|  | 			SR30.1 | ||||||
|  | # Page 718 | ||||||
|  | 		EXIT | ||||||
|  | V82GON3		CAF	BIT5 | ||||||
|  | 		MASK	EXTVBACT	# SEE IF ASTRONAUT HAS SIGNALLED TERMINATE | ||||||
|  | 		EXTEND | ||||||
|  | 		BZF	ENDEXT		# YES, TERMINATE VB 82 LOOP | ||||||
|  | 		CAF	1SEC | ||||||
|  | 		TC	BANKCALL	# WAIT ONE SECOND BEFORE REPEATING | ||||||
|  | 		CADR	DELAYJOB	# ORBITAL PARAMETER COMPUTATION. | ||||||
|  | 		TC	V82GON1 | ||||||
|  |  | ||||||
|  | SPLRET		=	V82GON3 | ||||||
|  |  | ||||||
|  | # Page 719 | ||||||
|  | # SUBROUTINE NAME: SR30.1 | ||||||
|  | # MOD NO: 0								DATE: 16 FEB 67 | ||||||
|  | # MOD BY: R. R. BAIRNSFATHER						LOG SECTION: R32 | ||||||
|  | # MOD NO: 1	MOD BY: R. R. BAIRNSFATHER	DATE: 11 APR 67		SR30.1 CHANGED TO ALLOW MONITOR OPERN | ||||||
|  | # MOD NO: 2	MOD BY: R. R. BAIRNSFATHER	DATE: 14 APR 67		ADD OVFL CK FOR RAPO | ||||||
|  | # MOD NO: 3	MOD BY ALONSO			DATE: 11 DEC 67		SUBROUTINE REWRITTEN | ||||||
|  | # MOD NO: 4	MOD BY ALONSO			DATE: 26 MAR 68		PROG MOD TO HANDLE DIF EARTH/MOON SCALE | ||||||
|  | # MOD NO: 5	MOD BY: R. R. BAIRNSFATHER	DATE: 6 AUG 68		OVFL CK FOR HAPO & HPER. VOIDS MOD #2. | ||||||
|  | # | ||||||
|  | # NEW FUNCTIONAL DESCRIPTION:  ORBITAL PARAMETERS DISPLAY FOR NOUNS 32 AND 44. | ||||||
|  | # SR30.1 CALLS TFFCONMU AND TFFRP/RA TO CALCULATE RPER (PERIGEE RADIUS), | ||||||
|  | # RAPO (APOGEE RADIUS), HPER (PERIGEE HEIGHT ABOVE LAUNCH PAD OR LUNAR | ||||||
|  | # LANDING SITE), HAPO (APOGEE HEIGHT AS ABOVE), TPER (TIME TO PERIGEE), | ||||||
|  | # TFF (TIME TO INTERSECT 300 KFT ABOVE PAD OR 35KFT ABOVE LANDING SITE). | ||||||
|  | # IF HPER IS GREATER THAN OR EQUAL TO HPERMIN, CALCULATES TPER AND STORES | ||||||
|  | # NEGATIVE IN -TPER.  OTHERWISE STORES +0 IN -TPER.  WHENEVER TPER IS | ||||||
|  | # CALCULATED, TFF IS NOT COMPUTABLE AND DEFAULTS TO -59MIN 59SEC.  IF HAPO | ||||||
|  | # WOULD EXCEED 9999.9 NM, IT IS LIMITED TO THAT VALUE FOR DISPLAY. | ||||||
|  | # | ||||||
|  | # ADDENDUM:	HAPO AND HPER SHOULD BE CHANGED TO READ HAPOX AND HPERX IN THE | ||||||
|  | #		ABOVE REMARKS. | ||||||
|  | # | ||||||
|  | # CALLING SEQUENCE:	CALL | ||||||
|  | #				SR30.1 | ||||||
|  | # | ||||||
|  | # SUBROUTINES CALLED:	TFFCONMU, TFFRP/RA, CALCTPER, CALCTFF | ||||||
|  | # | ||||||
|  | # NORMAL EXIT MODE:	CALLING LINE +1 (STILL IN INTERPRETIVE MODE) | ||||||
|  | # | ||||||
|  | # ALARMS:	NONE | ||||||
|  | # | ||||||
|  | # OUTPUT:	RAPO	(-29) M EARTH	APOGEE RADIUS	EARTH CENTERED COORD. | ||||||
|  | #			(-27) M MOON			MOON CENTERED COORD. | ||||||
|  | #		RPER	(-29) M EARTH	PERIGEE RADIUS	EARTH CENTERED COORD. | ||||||
|  | #			(-27) M MOON			MOON CENTERED COORD. | ||||||
|  | #		HAPOX	(-29) M		APOGEE ALTITUDE ABOVE PAD OR LAND. SITE MAX VALUE LIMITED TO 9999.9 NM. | ||||||
|  | #		HPERX	(-29) M		PERIGEE ALT. ABOVE PAD OR LAND. SITE    MAX VALUE LIMITED TO 9999.9 NM. | ||||||
|  | #		TFF	(-28) CS	TIME TO 300KFT OR 35KFT ALTITUDE | ||||||
|  | #		-TPER	(-28) CS	TIME TO PERIGEE | ||||||
|  | # | ||||||
|  | # ERASABLE INITIALIZATION REQUIRED -- | ||||||
|  | #	TFF/RTMU	(+17) EARTH	RECIPROCAL OF PROPER GRAV CONSTANT FOR | ||||||
|  | #			(+14) MOON	EARTH OR MOON = 1/SQRT(MU). | ||||||
|  | #	RONE		(-29) M		STATE VECTOR | ||||||
|  | #	VONE		(-7)  M/CS	STATE VECTOR | ||||||
|  | #	RPADTEM		(-29) M EARTH	RADIUS OF LAUNCH PAD OR LUNAR LANDING | ||||||
|  | #			(-27) M MOON	SITE. | ||||||
|  | #	HPERMIN		(-29) M EARTH	(300 OR 35) KFT MINIMUM PERIGEE ALTITUDE | ||||||
|  | #			(-27) M MOON	ABOVE LAUNCH PAD OR LUNAR LANDING SITE. | ||||||
|  | #	V82EMFLG	(INT SW BIT)	RESET FOR EARTH, SET FOR MOON. | ||||||
|  | # | ||||||
|  | # DEBRIS:	QPREG, PDL, S2 | ||||||
|  |  | ||||||
|  | # Page 720 | ||||||
|  | 		COUNT*	$$/SR30S | ||||||
|  |  | ||||||
|  | SR30.1		SETPD	STQ		# INITIALIZE PUSHDOWN LIST. | ||||||
|  | 			0 | ||||||
|  | 			S2 | ||||||
|  | 					# SR30.1 INPUT:	RONE AT (-29)M EARTH/MOON | ||||||
|  | 					#		VONE AT (-7)M/CS | ||||||
|  | 					# TFFCONMU, TFFRP/RA, CALCTPER, AND CALCTFF | ||||||
|  | 					# CALLS REQUIRE: | ||||||
|  | 					# EARTH CENTERED (NO RESCALING REQUIRED) | ||||||
|  | 					#	RONE SCALED TO B-29 M | ||||||
|  | 					#	VONE SCALED TO B-7  M/CS | ||||||
|  | 					# MOON CENTERED (RESCALING REQUIRED) | ||||||
|  | 					#	RONE SCALED TO B-27 M | ||||||
|  | 					#	VONE SCALED TO B-5  M/CS | ||||||
|  | 		BOFF	VLOAD | ||||||
|  | 			V82EMFLG	# OFF FOR EARTH, ON FOR MOON. | ||||||
|  | 			TFFCALLS | ||||||
|  | 			RONE | ||||||
|  | 		VSL2 | ||||||
|  | 		STOVL	RONE | ||||||
|  | 			VONE | ||||||
|  | 		VSL2 | ||||||
|  | 		STORE	VONE | ||||||
|  | TFFCALLS	CALL | ||||||
|  | 			TFFCONMU | ||||||
|  | 		CALL			# TFFRP/RA COMPUTES RAPO,RPER. | ||||||
|  | 			TFFRP/RA | ||||||
|  | 					# RETURNS WITH RAPO IN D(MPAC). | ||||||
|  | 		DSU | ||||||
|  | 			RPADTEM | ||||||
|  | 		BOFF	SR2R		# NEED HAPO AT (-29)M FOR DISPLAY. | ||||||
|  | 					# IF MOON CENTERED, RESCALE FROM (-27)M. | ||||||
|  | 					# IF EARTH CENTERED ALREADY AT (-29)M. | ||||||
|  | 			V82EMFLG	# OFF FOR EARTH, ON FOR MOON. | ||||||
|  | 			+1 | ||||||
|  | 		CALL			# IF RAPO > MAXNM, SET RAPO =9999.9 NM. | ||||||
|  | 			MAXCHK		# OTHERWISE STORE (RAPO-RPADTEM) IN HAPO. | ||||||
|  | STORHAPO	STODL	HAPOX | ||||||
|  | 			RPER | ||||||
|  | 		DSU | ||||||
|  | 			RPADTEM		# GIVES HPER AT (-29)M EARTH, (-27)M MOON. | ||||||
|  | 		STORE	MPAC +4		# SAVE THIS FOR COMPARISON TO HPERMIN. | ||||||
|  | 		BOFF	SR2R		# NEED HPER AT (-29)M FOR DISPLAY. | ||||||
|  | 					# IF MOON CENTERED, RESCALE FROM (-27)M. | ||||||
|  | 					# IF EARTH CENTERED ALREADY AT (-29)M. | ||||||
|  | 			V82EMFLG	# OFF FOR EARTH, ON FOR MOON. | ||||||
|  | 			+1 | ||||||
|  | 		CALL			# IF HPER > MAXNM, SET HPER = 9999.9 NM. | ||||||
|  | 			MAXCHK | ||||||
|  | # Page 721 | ||||||
|  | STORHPER	STODL	HPERX		# STORE (RPER - RPADTEM) INTO HPERX. | ||||||
|  | 			MPAC 	+4 | ||||||
|  | 		DSU	BPL		# HPERMIN AT (-29)M FOR EARTH, (-27)M MOON | ||||||
|  | 			HPERMIN		# IF HPER L/ HPERMIN (300 OR 35) KFT, | ||||||
|  | 			DOTPER		# THEN ZERO INTO -TPER. | ||||||
|  | 		DLOAD	GOTO		# OTHERWISE CALCULATE TPER. | ||||||
|  | 			HI6ZEROS | ||||||
|  | 			SKIPTPER | ||||||
|  | DOTPER		DLOAD	CALL | ||||||
|  | 			RPER | ||||||
|  | 			CALCTPER | ||||||
|  | 		DCOMP			# TPER IS PUT NEG INTO -TPER. | ||||||
|  | SKIPTPER	STODL	-TPER | ||||||
|  | 			HPERMIN		# HPERMIN AT (-29)M FOR EARTH, (-27)M MOON | ||||||
|  | 		DAD	CALL | ||||||
|  | 			RPADTEM		# RPADTEM AT (-29)M FOR EARTH, (-27)M MOON | ||||||
|  | 			CALCTFF		# GIVES 59M59S FOR TFF IF HPER G/ | ||||||
|  | 		DCOMP			# HPERMIN + RPADTEM.  (TPER WAS NON ZERO) | ||||||
|  | 		STCALL	TFF		# OTHERWISE COMPUTES TFF.	(GOTO) | ||||||
|  | 			S2 | ||||||
|  |  | ||||||
|  | MAXCHK		DSU	BPL		# IF C(MPAC) > 9999.9 NM. MPAC = 9999.9 NM. | ||||||
|  | 			MAXNM | ||||||
|  | 			+3		# OTHERWISE C(MPAC) - B(MPAC). | ||||||
|  | 		DAD	RVQ | ||||||
|  | 			MAXNM | ||||||
|  |  +3		DLOAD	RVQ		# (USED BY P30 -- P37 ALSO) | ||||||
|  | 			MAXNM | ||||||
|  |  | ||||||
|  | MAXNM		2OCT	0106505603 | ||||||
|  |  | ||||||
|  | # Page 722 (empty page) | ||||||
|  |  | ||||||
							
								
								
									
										267
									
								
								Luminary099/R31.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										267
									
								
								Luminary099/R31.agc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,267 @@ | |||||||
|  | # Copyright:	Public domain. | ||||||
|  | # Filename:	R31.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:	703-708 | ||||||
|  | # Mod history:	2009-05-19 RSB	Adapted from the corresponding  | ||||||
|  | #				Luminary131 file, using page  | ||||||
|  | #				images from Luminary 1A. | ||||||
|  | # | ||||||
|  | # 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-61 | ||||||
|  | #	16:27 JULY 14, 1969  | ||||||
|  |  | ||||||
|  | # Page 703 | ||||||
|  | 		BANK	40 | ||||||
|  | 		SETLOC	R31LOC | ||||||
|  | 		BANK | ||||||
|  |  | ||||||
|  | 		COUNT*	$$/R31 | ||||||
|  |  | ||||||
|  | R31CALL		CAF	PRIO3 | ||||||
|  | 		TC	FINDVAC | ||||||
|  | 		EBANK=	SUBEXIT | ||||||
|  | 		2CADR	V83CALL | ||||||
|  |  | ||||||
|  | DSPDELAY	TC	FIXDELAY | ||||||
|  | 		DEC	100 | ||||||
|  | 		CA	EXTVBACT | ||||||
|  | 		MASK	BIT12 | ||||||
|  | 		EXTEND | ||||||
|  | 		BZF	DSPDELAY | ||||||
|  |  | ||||||
|  | 		CAF	PRIO5 | ||||||
|  | 		TC	NOVAC | ||||||
|  | 		EBANK=	TSTRT | ||||||
|  | 		2CADR	DISPN5X | ||||||
|  |  | ||||||
|  | 		TCF	TASKOVER | ||||||
|  |  | ||||||
|  | 		BANK	37 | ||||||
|  | 		SETLOC	R31 | ||||||
|  | 		BANK | ||||||
|  | 		COUNT*	$$/R31 | ||||||
|  |  | ||||||
|  | DISPN5X		CAF	V16N54 | ||||||
|  | 		TC	BANKCALL | ||||||
|  | 		CADR	GOMARKF | ||||||
|  | 		TC	B5OFF | ||||||
|  | 		TC	B5OFF | ||||||
|  | 		TCF	DISPN5X | ||||||
|  |  | ||||||
|  | V83CALL		CS	FLAGWRD7	# TEST AVERAGE G FLAG | ||||||
|  | 		MASK	AVEGFBIT | ||||||
|  | 		EXTEND | ||||||
|  | 		BZF	MUNG?		# ON.  TEST MUNFLAG | ||||||
|  |  | ||||||
|  | 		CS	FLAGWRD8 | ||||||
|  | 		MASK	SURFFBIT | ||||||
|  | 		EXTEND | ||||||
|  | 		BZF	ONEBASE		# ON SURFACE -- BYPASS LEMPREC | ||||||
|  |  | ||||||
|  | 		TC	INTPRET		# EXTRAPOLATE BOTH STATE VECTORS | ||||||
|  | 		RTB | ||||||
|  | # Page 704 | ||||||
|  | 			LOADTIME | ||||||
|  | 		STCALL	TDEC1 | ||||||
|  | 			LEMPREC		# PRECISION BASE VECTOR FOR LM | ||||||
|  | 		VLOAD | ||||||
|  | 			RATT1 | ||||||
|  | 		STOVL	BASETHP | ||||||
|  | 			VATT1 | ||||||
|  | 		STODL	BASETHV | ||||||
|  | 			TAT | ||||||
|  | DOCMBASE	STORE	BASETIME	# PRECISION BASE VECTOR FOR CM | ||||||
|  | 		STCALL	TDEC1 | ||||||
|  | 			CSMPREC | ||||||
|  | 		VLOAD | ||||||
|  | 			RATT1 | ||||||
|  | 		STOVL	BASEOTP | ||||||
|  | 			VATT1 | ||||||
|  | 		STORE	BASEOTV | ||||||
|  | 		EXIT | ||||||
|  |  | ||||||
|  | REV83		CS	FLAGWRD7 | ||||||
|  | 		MASK	AVEGFBIT | ||||||
|  | 		EXTEND | ||||||
|  | 		BZF	GETRVN		# IF AVEGFLAG SET, USE RN,VN | ||||||
|  |  | ||||||
|  | 		CS	FLAGWRD8 | ||||||
|  | 		MASK	SURFFBIT | ||||||
|  | 		EXTEND | ||||||
|  | 		BZF	R31SURF		# IF ON SURFACE, USE LEMAREC | ||||||
|  |  | ||||||
|  | 		TC	INTPRET		# DO CONIC EXTRAPOLATION FOR BOTH VEHICLES | ||||||
|  | 		RTB | ||||||
|  | 			LOADTIME | ||||||
|  | 		STCALL	TDEC1 | ||||||
|  | 			INTSTALL | ||||||
|  | 		VLOAD	CLEAR | ||||||
|  | 			BASETHP | ||||||
|  | 			MOONFLAG | ||||||
|  | 		STOVL	RCV | ||||||
|  | 			BASETHV | ||||||
|  | 		STODL	VCV | ||||||
|  | 			BASETIME | ||||||
|  | 		BOF	SET		# GET APPROPRIATE MOONFLAG SETTING | ||||||
|  | 			MOONTHIS | ||||||
|  | 			+2 | ||||||
|  | 			MOONFLAG | ||||||
|  | 		SET | ||||||
|  | 			INTYPFLG	# CONIC EXTRAP. | ||||||
|  | 		STCALL	TET | ||||||
|  | 			INTEGRVS	# INTEGRATION --- AT LAST --- | ||||||
|  | OTHCONIC	VLOAD | ||||||
|  | # Page 705 | ||||||
|  | 			RATT | ||||||
|  | 		STOVL	RONE | ||||||
|  | 			VATT | ||||||
|  | 		STCALL	VONE		# GET SET FOR CONIC EXTRAP., OTHER. | ||||||
|  | 			INTSTALL | ||||||
|  | 		SET	DLOAD | ||||||
|  | 			INTYPFLG | ||||||
|  | 			TAT | ||||||
|  | OTHINT		STORE	TDEC1 | ||||||
|  | 		VLOAD	CLEAR | ||||||
|  | 			BASEOTP | ||||||
|  | 			MOONFLAG | ||||||
|  | 		STOVL	RCV | ||||||
|  | 			BASEOTV | ||||||
|  | 		STODL	VCV | ||||||
|  | 			BASETIME | ||||||
|  | 		BOF	SET | ||||||
|  | 			MOONTHIS | ||||||
|  | 			+2 | ||||||
|  | 			MOONFLAG | ||||||
|  | 		STCALL	TET | ||||||
|  | 			INTEGRVS | ||||||
|  | COMPDISP	VLOAD	VSU | ||||||
|  | 			RATT | ||||||
|  | 			RONE | ||||||
|  | 		RTB	PDDL | ||||||
|  | 			NORMUNX1	# UNIT(RANGE) TO PD 0-5 | ||||||
|  | 			36D | ||||||
|  | 		SL*			# RESCALE AFTER NORMUNIT | ||||||
|  | 			0,1 | ||||||
|  | 		STOVL	RANGE		# SCALED 2(29)M | ||||||
|  | 			VATT | ||||||
|  | 		VSU	DOT		# (VCM-VLM).UNIT(LOS), PD=0 | ||||||
|  | 			VONE | ||||||
|  | 		SL1			# SCALED 2(7)M/CS | ||||||
|  | 		STOVL	RRATE | ||||||
|  | 			RONE | ||||||
|  | 		UNIT	PDVL		# UNIT(R) TO PD 0-5 | ||||||
|  | 			UNITZ | ||||||
|  | 		CALL | ||||||
|  | 			CDU*NBSM | ||||||
|  | 		VXM	PUSH		# UNIT(Z)/4 TO PD 6-11 | ||||||
|  | 			REFSMMAT | ||||||
|  | 		VPROJ	VSL2		# UNIT(P)=UNIT(UZ-(UZ)PROJ(UR)) | ||||||
|  | 			0D | ||||||
|  | 		BVSU	UNIT | ||||||
|  | 			6D | ||||||
|  | 		PDVL	VXV		# UNIT(P) TO PD 12-17 | ||||||
|  | 			0D		# UNIT(RL) | ||||||
|  | 			VONE | ||||||
|  | # Page 706 | ||||||
|  | 		VXV	DOT		# (UR * VL) * UR . U(P) | ||||||
|  | 			0D | ||||||
|  | 			12D | ||||||
|  | 		PDVL			# SIGN TO 12-13, LOAD U(P) | ||||||
|  | 		DOT	SIGN | ||||||
|  | 			6D | ||||||
|  | 			12D | ||||||
|  | 		SL2	ACOS		# ARCCOS(UP.UZ(SIGN)) | ||||||
|  | 		STOVL	RTHETA | ||||||
|  | 			0D | ||||||
|  | 		DOT	BPL		# IF UR.UZ NEG, | ||||||
|  | 			6D		#	RTHETA = 1 - RTHETA | ||||||
|  | 			+5 | ||||||
|  | 		DLOAD	DSU | ||||||
|  | 			DPPOSMAX | ||||||
|  | 			RTHETA | ||||||
|  | 		STORE	RTHETA | ||||||
|  | 		EXIT | ||||||
|  |  | ||||||
|  | 		CA	BIT5 | ||||||
|  | 		MASK	EXTVBACT | ||||||
|  | 		EXTEND			# IF ANSWERED, | ||||||
|  | 		BZF	ENDEXT		#	TERMINATE | ||||||
|  |  | ||||||
|  | 		CS	EXTVBACT | ||||||
|  | 		MASK	BIT12 | ||||||
|  | 		ADS	EXTVBACT	# SET BIT 12 | ||||||
|  | 		TCF	REV83		# AND START AGAIN. | ||||||
|  |  | ||||||
|  | GETRVN		CA	PRIO22		# INHIBIT SERVICER | ||||||
|  | 		TC	PRIOCHNG | ||||||
|  | 		TC	INTPRET | ||||||
|  | 		VLOAD	SETPD | ||||||
|  | 			RN		# LM STATE VECTOR IN RN,VN. | ||||||
|  | 			0 | ||||||
|  | 		STOVL	RONE | ||||||
|  | 			VN | ||||||
|  | 		STOVL	VONE		# LOAD R(CSM),V(CSM) IN CASE MUNFLAG SET | ||||||
|  | 			V(CSM)		# (TO INSURE TIME COMPATIBILITY) | ||||||
|  | 		PDVL	PDDL | ||||||
|  | 			R(CSM) | ||||||
|  | 			PIPTIME | ||||||
|  | 		EXIT | ||||||
|  | 		CA	PRIO3 | ||||||
|  | 		TC	PRIOCHNG | ||||||
|  | 		TC	INTPRET | ||||||
|  | 		BOFF	VLOAD | ||||||
|  | 			MUNFLAG | ||||||
|  | 			GETRVN2		# IF MUNFLAG RESET, DO CM DELTA PRECISION | ||||||
|  | # Page 707 | ||||||
|  | 		VXM	VSR4		# CHANGE TO REFERENCE SYSTEM AND RESCALE | ||||||
|  | 			REFSMMAT | ||||||
|  | 		PDVL			# R TO PD 0-5 | ||||||
|  | 		VXM	VSL1 | ||||||
|  | 			REFSMMAT | ||||||
|  | 		PUSH	SETPD		# V TO PD 5-11 | ||||||
|  | 			0 | ||||||
|  | 		GOTO | ||||||
|  | 			COMPDISP | ||||||
|  |  | ||||||
|  | GETRVN2		CALL | ||||||
|  | 			INTSTALL | ||||||
|  | 		CLEAR	GOTO | ||||||
|  | 			INTYPFLG	# PREC EXTRAP FOR OTHER | ||||||
|  | 			OTHINT | ||||||
|  | R31SURF		TC	INTPRET | ||||||
|  | 		RTB			# LM IS ON SURFACE, SO PRECISION | ||||||
|  | 			LOADTIME	# INTEGRATION USED PLANETARY INERTIAL | ||||||
|  | 		STCALL	TDEC1		# ORIENTATION SUBROUTINE | ||||||
|  | 			LEMPREC | ||||||
|  | 		GOTO			# DO CSM CONIC | ||||||
|  | 			OTHCONIC | ||||||
|  | MUNG?		CS	FLAGWRD6 | ||||||
|  | 		MASK	MUNFLBIT | ||||||
|  | 		EXTEND | ||||||
|  | 		BZF	GETRVN		# IF MUNFLAG SET, CSM BASE NOT NEEDED | ||||||
|  |  | ||||||
|  | ONEBASE		TC	INTPRET		# GET CSM BASE VECTOR | ||||||
|  | 		RTB	GOTO | ||||||
|  | 			LOADTIME | ||||||
|  | 			DOCMBASE | ||||||
|  |  | ||||||
|  | V16N54		VN	1654 | ||||||
|  |  | ||||||
|  | # Page 708 (empty page) | ||||||
|  |  | ||||||
							
								
								
									
										587
									
								
								Luminary099/R60_62.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										587
									
								
								Luminary099/R60_62.agc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,587 @@ | |||||||
|  | # Copyright:	Public domain. | ||||||
|  | # Filename:	R60_R62.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:	472-485 | ||||||
|  | # Mod history:	2009-05-17 RSB	Adapted from the corresponding  | ||||||
|  | #				Luminary131 file, using page  | ||||||
|  | #				images from Luminary 1A. | ||||||
|  | # | ||||||
|  | # 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-61 | ||||||
|  | #	16:27 JULY 14, 1969  | ||||||
|  |  | ||||||
|  | # Page 472 | ||||||
|  | # MOD NO: 0				DATE: 1 MAY 1968 | ||||||
|  | # MOD BY: DIGITAL DEVEL GROUP		LOG SECTION R60,R62 | ||||||
|  | # | ||||||
|  | # FUNCTIONAL DESCRIPTION: | ||||||
|  | # | ||||||
|  | # CALLED AS A GENERAL SUBROUTINE TO MANEUVER THE LM TO A SPECIFIED | ||||||
|  | # ATTITUDE. | ||||||
|  | # | ||||||
|  | # 1. IF THE 3-AXIS FLAG IS NOT SET THE FINAL CDU ANGLES ARE | ||||||
|  | # CALCULATED (VECPOINT). | ||||||
|  | # | ||||||
|  | # 2. THE FDAI BALL ANGLES (NOUN 18) ARE CALCULATED (BALLANGS). | ||||||
|  | # | ||||||
|  | # 3. REQUEST FLASHING DISPLAY V50 N18 PLEASE PERFORM AUTO MANEUVER. | ||||||
|  | # | ||||||
|  | # 4. IF PRIORITY DISPLAY FLAG IS SET DO A PHASECHANGE.  THEN AWAIT | ||||||
|  | # ASTRONAUT RESPONSE. | ||||||
|  | # | ||||||
|  | # 5. DISPLAY RESPONSE RETURNS. | ||||||
|  | # | ||||||
|  | #	A. 	ENTER -- RESET 3-AXIS FLAG AND RETURN TO CLIENT. | ||||||
|  | # | ||||||
|  | #	B.	TERMINATE -- IF IN P00 GO TO STEP 5A.  OTHERWISE CHECK IF R61 IS | ||||||
|  | #		THE CALLING PROGRAM.  IF IN R61 AN EXIT IS MADE TO GOTOV56.  IF | ||||||
|  | #		NOT IN R61 AN EXIT IS DONE VIA GOTOP00H. | ||||||
|  | # | ||||||
|  | #	C.	PROCEED -- CONTINUE WITH PROGRAM AT STEP 6. | ||||||
|  | # | ||||||
|  | # 6. IF THE 3-AXISFLAG IS NOT SET, THE FINAL CDU ANGLES ARE CALCULATED | ||||||
|  | # (VECPOINT). | ||||||
|  | # | ||||||
|  | # 7. THE FDAI BALL ANGLES (NOUN 18) ARE CALCULATED (BALLANGS). | ||||||
|  | # | ||||||
|  | # 8. IF THE G+N SWITCH IS NOT SET GO BACK TO STEP 3. | ||||||
|  | #  | ||||||
|  | # 9. IF THE AUTO SWITCH IS NOT SET GO BACK TO STEP 3. | ||||||
|  | # | ||||||
|  | # 10. NON-FLASHING DISPLAY V06N18 (FDAI ANGLES). | ||||||
|  | # | ||||||
|  | # 11. DO A PHASE-CHANGE. | ||||||
|  | # | ||||||
|  | # 12. DO A MANEUVER CALCULATION AND ICDU DRIVE ROUTINE TO ACHIEVE FINAL | ||||||
|  | # GIMBAL ANGLES (GOMANUR). | ||||||
|  | # | ||||||
|  | # 13. AT END OF MANEUVER TO TO STEP 3. | ||||||
|  | # | ||||||
|  | #	IF SATISFACTORY MANEUVER STEP 5A EXITS R60. | ||||||
|  | #	FOR FURTHER ADJUSTMENT OF THE VEHICLE ATTITUDE ABOUT THE | ||||||
|  | #	DESIRED VECTOR, THE ROUTINE MAY BE PERFORMED AGAIN STARTING AT | ||||||
|  | # Page 473 | ||||||
|  | #	STEP 5C. | ||||||
|  | # | ||||||
|  | # CALLING SEQUENCE:	TC	BANKCALL | ||||||
|  | #			CADR	R60LEM | ||||||
|  | # | ||||||
|  | # ERASABLE INITIALIZATION REQUIRED:	SCAXIS, POINTVSM (FOR VECPOINT) | ||||||
|  | #					3AXISFLG. | ||||||
|  | # | ||||||
|  | # SUBROUTINES CALLED:	VECPOINT, BALLANGS, GOPERF24, LINUS, GODSPER, | ||||||
|  | #			GOMANUR, DOWNFLAG, PHASCHNG, UPFLAG | ||||||
|  | # | ||||||
|  | # NORMAL EXIT MODES:	CAE	TEMPR60		(CALLER'S RETURN ADDRESS) | ||||||
|  | #			TC	BANKJUMP | ||||||
|  | # | ||||||
|  | # ALARMS: NONE | ||||||
|  | # | ||||||
|  | # OUTPUT: NONE | ||||||
|  | # | ||||||
|  | # DEBRIS: CPHI, CTHETA, CPSI, 3AXISFLG, TBASE2 | ||||||
|  |  | ||||||
|  | 		BANK	34 | ||||||
|  | 		SETLOC	MANUVER | ||||||
|  | 		BANK | ||||||
|  | 		 | ||||||
|  | 		EBANK=	TEMPR60 | ||||||
|  | 		 | ||||||
|  | 		COUNT*	$$/R06 | ||||||
|  | R60LEM		TC	MAKECADR | ||||||
|  | 		TS	TEMPR60 | ||||||
|  | 		 | ||||||
|  | REDOMANN	CAF	3AXISBIT | ||||||
|  | 		MASK	FLAGWRD5	# IS 3-AXIS FLAG SET | ||||||
|  | 		CCS	A | ||||||
|  | 		TCF	TOBALL		# YES | ||||||
|  | 		TC	INTPRET | ||||||
|  | 		CALL | ||||||
|  | 			VECPOINT	# TO COMPUTE FINAL ANGLES | ||||||
|  | 		STORE	CPHI		# STORE FINAL ANGLES -- CPHI, CTHETA, CPSI | ||||||
|  | 		EXIT | ||||||
|  | 		 | ||||||
|  | TOBALL		TC	BANKCALL | ||||||
|  | 		CADR	BALLANGS	# TO CONVERT ANGLES TO FDAI | ||||||
|  | TOBALLA		CAF	V06N18 | ||||||
|  | 		TC	BANKCALL | ||||||
|  | 		CADR	GOPERF2R	# DISPLAY PLEASE PERFORM AUTO MANEUVER | ||||||
|  | 		TC	R61TEST | ||||||
|  | 		TC	REDOMANC	# PROCEED | ||||||
|  | 		TC	ENDMANU1	# ENTER I.E., FINISHED WITH R60 | ||||||
|  | # Page 474 | ||||||
|  | 		TC	CHKLINUS	# TO CHECK FOR PRIORITY DISPLAYS | ||||||
|  | 		TC	ENDOFJOB | ||||||
|  | 		 | ||||||
|  | REDOMANC	CAF	3AXISBIT | ||||||
|  | 		MASK	FLAGWRD5	# IS 3-AXIS FLAG SET | ||||||
|  | 		CCS	A | ||||||
|  | 		TCF	TOBALLC		# YES | ||||||
|  | 		TC	INTPRET | ||||||
|  | 		CALL | ||||||
|  | 			VECPOINT	# TO COMPUTE FINAL ANGLES | ||||||
|  | 		STORE	CPHI		# STORE ANGLES | ||||||
|  | 		EXIT | ||||||
|  | 		 | ||||||
|  | TOBALLC		TC	BANKCALL | ||||||
|  | 		CADR	BALLANGS	# TO CONVERT ANGLES TO FDAI | ||||||
|  | 		TC	G+N,AUTO	# CHECK AUTO MODE | ||||||
|  | 		CCS	A | ||||||
|  | 		TCF	TOBALLA		# NOT AUTO, GO REREQUEST AUTO MANEUVER. | ||||||
|  | 		 | ||||||
|  | AUTOMANV	CAF	V06N18		# STATIC DISPLAY DURING AUTO MANEUVER | ||||||
|  | 		TC	BANKCALL | ||||||
|  | 		CADR	GODSPR | ||||||
|  | 		TC	CHKLINUS	# TO CHECK FOR PRIORITY DISPLAYS | ||||||
|  | 		 | ||||||
|  | STARTMNV	TC	BANKCALL	# PERFORM MANEUVER VIA KALCMANU | ||||||
|  | 		CADR	GOMANUR | ||||||
|  | 		 | ||||||
|  | ENDMANUV	TCF	TOBALLA		# FINISHED MANEUVER. | ||||||
|  | ENDMANU1	TC	DOWNFLAG	# RESET 3-AXIS FLAG | ||||||
|  | 		ADRES	3AXISFLG | ||||||
|  | 		CAE	TEMPR60 | ||||||
|  | 		TC	BANKJUMP | ||||||
|  | 		 | ||||||
|  | CHKLINUS	CS	FLAGWRD4 | ||||||
|  | 		MASK	PDSPFBIT	# IS PRIORITY DISPLAY FLAG SET? | ||||||
|  | 		CCS	A | ||||||
|  | 		TC	Q		# NO -- EXIT | ||||||
|  | 		CA	Q | ||||||
|  | 		TS	MPAC +2		# SAVE RETURN | ||||||
|  | 		CS	THREE		# OBTAIN LOCATION FOR RESTART | ||||||
|  | 		AD	BUF2		# HOLD Q OF LAST DISPLAY | ||||||
|  | 		TS	TBASE2 | ||||||
|  | 		 | ||||||
|  | 		TC	PHASCHNG | ||||||
|  | 		OCT	00132 | ||||||
|  | 		 | ||||||
|  | 		CAF	BIT7 | ||||||
|  | 		TC	LINUS		# GO SET BITS FOR PRIORITY DISPLAY | ||||||
|  | 		TC	MPAC +2 | ||||||
|  | 		 | ||||||
|  | # Page 475		 | ||||||
|  | RELINUS		CAF	PRIO26		# RESTORE ORIGINAL PRIORITY | ||||||
|  | 		TC	PRIOCHNG | ||||||
|  | 		 | ||||||
|  | 		CAF	TRACKBIT	# DON'T CONTINUE R60 UNLESS TRACKFLAG ON. | ||||||
|  | 		MASK	FLAGWRD1 | ||||||
|  | 		CCS	A | ||||||
|  | 		TCF	RER60 | ||||||
|  | 		 | ||||||
|  | 		CAF	RNDVZBIT	# IS IT P20? | ||||||
|  | 		MASK	FLAGWRD0 | ||||||
|  | 		CCS	A | ||||||
|  | 		TC	+4		# YES | ||||||
|  | 		TC	PHASCHNG	# NO, MUST BE P25, SET 2.11 SPOT | ||||||
|  | 		OCT	40112 | ||||||
|  | 		 | ||||||
|  | 		TC	ENDOFJOB | ||||||
|  | 		 | ||||||
|  | 		TC	PHASCHNG	# SET 2.7 SPOT FOR P20 | ||||||
|  | 		OCT	40072 | ||||||
|  | 		 | ||||||
|  | 		TC 	ENDOFJOB | ||||||
|  | 		 | ||||||
|  | RER60		TC	UPFLAG		# SET PRIO DISPLAY FLAG AFTER RESTART | ||||||
|  | 		ADRES	PDSPFLAG | ||||||
|  | 		 | ||||||
|  | 		TC	TBASE2 | ||||||
|  | 		 | ||||||
|  | R61TEST		CA	MODREG		# IF WE ARE IN P00 IT MUST BE V49 OR V89 | ||||||
|  | 		EXTEND | ||||||
|  | 		BZF	ENDMANU1	# THUS WE GO TO ENDEXT VIA USER | ||||||
|  | 		 | ||||||
|  | 		CA	FLAGWRD4	# ARE WE IN R61 (P20 OR P25) | ||||||
|  | 		MASK	PDSPFBIT | ||||||
|  | 		EXTEND | ||||||
|  | 		BZF	GOTOP00H	# NO | ||||||
|  | 		TC	GOTOV56		# YES | ||||||
|  | 		 | ||||||
|  | BIT14+7		OCT	20100 | ||||||
|  | OCT203		OCT	203 | ||||||
|  | V06N18		VN	0618 | ||||||
|  |  | ||||||
|  | # SUBROUTINE TO CHECK FOR G+N CONTROL, AUTO STABILIZATION | ||||||
|  | # | ||||||
|  | # RETURNS WITH C(A) = + 	IF NOT SET FOR G+N, AUTO | ||||||
|  | # RETURNS WITH C(A) = +0	IF SWITCHES ARE SET | ||||||
|  |  | ||||||
|  | G+N,AUTO	EXTEND | ||||||
|  | 		READ	CHAN30 | ||||||
|  | 		MASK	BIT10 | ||||||
|  | 		CCS	A | ||||||
|  | 		TC	Q		# NOT IN G+N	C(A) = + | ||||||
|  | # Page 476		 | ||||||
|  | ISITAUTO	EXTEND			# CHECK FOR AUTO MODE | ||||||
|  | 		READ	CHAN31 | ||||||
|  | 		MASK	BIT14 | ||||||
|  | 		TC	Q		# (+) = NOT IN AUTO, (+0) = AOK | ||||||
|  | 		 | ||||||
|  | # Page 477 | ||||||
|  | # PROGRAM DESCRIPTION BALLANGS | ||||||
|  | # MOD NO.				LOG SECTION R60,R62 | ||||||
|  | # | ||||||
|  | # WRITTEN BY RAMA M. AIYAWAR | ||||||
|  | # | ||||||
|  | # FUNCTIONAL DESCRIPTION | ||||||
|  | # | ||||||
|  | # 	COMPUTES LM FDAI BALL DISPLAY ANGLES | ||||||
|  | # | ||||||
|  | # CALLING SEQUENCE | ||||||
|  | # | ||||||
|  | #	TC	BALLANGS | ||||||
|  | # | ||||||
|  | # NORMAL EXIT MODE | ||||||
|  | # | ||||||
|  | #	TC	BALLEXIT	# (SAVED Q) | ||||||
|  | # | ||||||
|  | # ALARM OR EXIT MODE:	NIL | ||||||
|  | # | ||||||
|  | # SUBROUTINES CALLED | ||||||
|  | # | ||||||
|  | #	CD*TR*G | ||||||
|  | #	ARCTAN | ||||||
|  | # | ||||||
|  | # INPUT | ||||||
|  | # | ||||||
|  | #	CPHI,CTHETA,CPSI ARE THE ANGLES CORRESPONDING TO AOG, AIG, AMG.  THEY ARE | ||||||
|  | #	SP,2'S COMPLEMENT SCALED TO HALF REVOLUTION. | ||||||
|  | # | ||||||
|  | # OUTPUT | ||||||
|  | # | ||||||
|  | #	FDAIX, FDAIY, FDAIZ ARE THE REQUIRED BALL ANGLES SCALED TO HALF REVOLUTION | ||||||
|  | #	SP,2'S COMPEMENT. | ||||||
|  | # | ||||||
|  | #	THESE ANGLES WILL BE DISPLAYED AS DEGREES AND HUNDREDTHS, IN THE ORDER ROLL, PITCH, YAW, USING NOUNS 18 & 19. | ||||||
|  | # | ||||||
|  | # ERASABLE INITIALIZATION REQUIRED | ||||||
|  | # | ||||||
|  | #	CPHI, CTHETA, CPSI 	EACH AN SP REGISTER | ||||||
|  | # | ||||||
|  | # DEBRIS | ||||||
|  | # | ||||||
|  | #	A,L,Q,MPAC,SINCDU,COSCDU,PUSHLIST,BALLEXIT | ||||||
|  | # | ||||||
|  | # NOMENCLATURE:	CPHI, CTHETA, & CPSI REPRESENT THE OUTER, INNER, AND MIDDLE GIMBAL ANGLES, RESPECTIVELY; OR | ||||||
|  | # 		EQUIVALENTLY, CDUX, CDUY, AND CDUZ. | ||||||
|  | # | ||||||
|  | # NOTE:  ARCTAN CHECKS FOR OVERFLOW AND SHOULD BE ABLE TO HANDLE ANY SINGULARITIES. | ||||||
|  |  | ||||||
|  | 		SETLOC	BAWLANGS | ||||||
|  | 		BANK | ||||||
|  | 		 | ||||||
|  | 		COUNT*	$$/BALL | ||||||
|  | BALLANGS	TC	MAKECADR | ||||||
|  | 		TS	BALLEXIT | ||||||
|  | 		CA	CPHI | ||||||
|  | # Page 478 | ||||||
|  | 		TS	CDUSPOT +4 | ||||||
|  | 		CA	CTHETA | ||||||
|  | 		TS	CDUSPOT | ||||||
|  | 		CA	CPSI | ||||||
|  | 		TS	CDUSPOT +2 | ||||||
|  | 		 | ||||||
|  | 		TC	INTPRET | ||||||
|  | 		SETPD	CALL | ||||||
|  | 			0D | ||||||
|  | 			CD*TR*G | ||||||
|  | 			 | ||||||
|  | 		DLOAD	DMP | ||||||
|  | 			SINCDUX		# SIN (OGA) | ||||||
|  | 			COSCDUZ		# COS (MGA) | ||||||
|  | 			 | ||||||
|  | 		SL1	DCOMP		# SCALE | ||||||
|  | 		ARCSIN	PDDL		# YAW = ARCSIN(-SXCZ) INTO 0 PD | ||||||
|  | 			SINCDUZ		 | ||||||
|  | 		STODL	SINTH		# (SINTH = 18D IN PD) | ||||||
|  | 			COSCDUZ | ||||||
|  | 		DMP	SL1		# RESCALE | ||||||
|  | 			COSCDUX | ||||||
|  | 		STCALL	COSTH		# (COSTH = 16D IN PD) | ||||||
|  | 			ARCTAN | ||||||
|  | 		PDDL	DMP		# ROLL = ARCTAN(SZ/CZCX) INTO 2 PD | ||||||
|  | 			SINCDUZ | ||||||
|  | 			SINCDUX | ||||||
|  | 		SL2	PUSH		# SXSZ INTO 4 PD | ||||||
|  | 		DMP	PDDL		# SXSZCY INTO 4 PD | ||||||
|  | 			COSCDUY | ||||||
|  | 		DMP	PDDL		# SXSZSY INTO 6 PD | ||||||
|  | 			SINCDUY | ||||||
|  | 			COSCDUX | ||||||
|  | 		DMP	SL1		# CXCY | ||||||
|  | 			COSCDUY | ||||||
|  | 		DSU	STADR		# PULL UP FORM 6 PD | ||||||
|  | 		STODL	COSTH		# COSTH = CXCY - SXSZSY | ||||||
|  | 			SINCDUY | ||||||
|  | 		DMP	SL1 | ||||||
|  | 			COSCDUX		# CXSY | ||||||
|  | 		DAD	STADR		# PULL UP FORM 4 PD | ||||||
|  | 		STCALL	SINTH		# SINTH = CXSY + SXSZCY | ||||||
|  | 			ARCTAN		# RETURNS WITH D(MPAC) = PITCH | ||||||
|  | 		PDDL	VDEF		# PITCH INTO 2 PD, ROLL INTO MPAC FROM 2 PD | ||||||
|  | 		RTB			# VDEF MAKES V(MPAC) = ROLL, PITCH, YAW | ||||||
|  | 			V1STO2S | ||||||
|  | 		STORE	FDAIX		# MODE IS TP | ||||||
|  | 		EXIT | ||||||
|  | 		 | ||||||
|  | ENDBALL		CA	BALLEXIT | ||||||
|  |  | ||||||
|  | # Page 479 | ||||||
|  | 		TC	BANKJUMP | ||||||
|  |  | ||||||
|  | # Page 480 | ||||||
|  | # PROGRAM DESCRIPTION -- VECPOINT | ||||||
|  | # | ||||||
|  | # THIS INTERPRETIVE SUBROUTINE MAY BE USED TO POINT A SPACECRAFT AXIS IN A DESIRED DIRECTION.  THE AXIS | ||||||
|  | # TO BE POINTED MUST APPEAR AS A HALF UNIT DOUBLE PRECISION VECTOR IN SUCCESSIVE LOCATIONS OF ERASABLE MEMORY | ||||||
|  | # BEGINNING WITH THE LOCATION CALLED SCAXIS.  THE COMPONENTS OF THIS VECTOR ARE GIVEN IN SPACECRAFT COORDINATES. | ||||||
|  | # THE DIRECTION IN WHICH THIS AXIS IS TO BE POINTED MUST APPEAR AS A HALF UNIT DOUBLE PRECISION VECTOR IN | ||||||
|  | # SUCCESSIVE LOCATIONS OF ERASABLE MEMORY BEGINNING WITH THE ADDRESS CALLED POINTVSM.  THE COMPONENTS OF THIS | ||||||
|  | # VECTOR ARE GIVEN IN STABLE MEMBER COORDINATES.  WITH THIS INFORMTION VECPOINT COMPUTES A SET OF THREE GIMBAL | ||||||
|  | # ANGLES (2'S COMPLEMENT) CORRESPONDING TO THE CROSS-PRODUCT ROTATION BETWEEN SCAXIS AND POINTVSM AND STORES THEM | ||||||
|  | # IN T(MPAC) BEFORE RETURNING TO THE CALLER. | ||||||
|  | # | ||||||
|  | # THIS ROTATION, HOWEVER, MAY BRING THE S/C INTO GIMBAL LOCK.  WHEN POINTING A VECTOR IN THE Y-Z PLANE, | ||||||
|  | # THE TRANSPONDER AXIS, OR THE AOT FOR THE LEM, THE PROGRAM WILL CORRECT THIS PROBLEM BY ROTATING THE CROSS- | ||||||
|  | # PRODUCT ATTITUDE ABOUT POINTVSM BY A FIXED AMOUNT SUFFICIENT TO ROTATE THE DESIRED S/C ATTITUDE OUT OF GIMBAL | ||||||
|  | # LOCK.  IF THE AXIS TO BE POINTED IS MORE THAN 40.6 DEGREES BUT LESS THAN 60.5 DEG FROM THE +X (OR -X) AXIS, | ||||||
|  | # THE ADDITIONAL ROTATION TO AVOID GIMBAL LOCK IS 35 DEGREES.  IF THE AXIS IS MORE THAN 60.5 DEGREES FROM +X (OR -X) | ||||||
|  | # THE ADDITIONAL ROTATION IS 35 DEGREES.  THE GIMBAL ANGLES CORRESPONDING TO THIS ATTITUDE ARE THEN COMPUTED AND | ||||||
|  | # STORED AS 2'S COMPLEMENT ANGLES IN T(MPAC) BEFORE RETURNING TO THE CALLER. | ||||||
|  | # | ||||||
|  | # WHEN POINTING THE X-AXIS, OR THE THRUST VECTOR, OR ANY VECTOR WITHIN 40.6 DEG OF THE X-AXIS, VECPOINT | ||||||
|  | # CANNOT CORRECT FOR A CROSS-PRODUCT ROTATION INTO GIMBAL LOCK.  IN THIS CASE A PLATFORM REALIGNMENT WOULD BE | ||||||
|  | # REQUIRED TO POINT THE VECTOR IN THE DESIRED DIRECTION.  AT PRESENT NO INDICATION IS GIVEN FOR THIS SITUATION | ||||||
|  | # EXCEPT THAT THE FINAL MIDDLE GIMBAL ANGLE IN MPAC +2 IS GREATER THAN 59 DEGREES. | ||||||
|  | # | ||||||
|  | # CALLING SEQUENCE | ||||||
|  | # | ||||||
|  | #	1)	LOAD SCAXIS, POINTVSM | ||||||
|  | #	2)	CALL | ||||||
|  | #			VECPOINT | ||||||
|  | # | ||||||
|  | # RETURNS WITH | ||||||
|  | # | ||||||
|  | #	1)	DESIRED OUTER GIMBAL ANGLE IN MPAC | ||||||
|  | #	2)	DESIRED INNER GIMBAL ANGLE IN MPAC +1 | ||||||
|  | #	3)	DESIRED MIDDLE GIMBAL ANGLE IN MPAC +2 | ||||||
|  | # | ||||||
|  | # ERASABLES USED -- | ||||||
|  | # | ||||||
|  | #	1)	SCAXIS		6 | ||||||
|  | #	2)	POINTVSM	6 | ||||||
|  | #	3)	MIS		18 | ||||||
|  | #	4)	DEL		18 | ||||||
|  | #	5)	COF		6 | ||||||
|  | #	6)	VECQTEMP	1 | ||||||
|  | #	7)	ALL OF VAC AREA	43 | ||||||
|  | # | ||||||
|  | #			TOTAL	99 | ||||||
|  |  | ||||||
|  | 		SETLOC	VECPT | ||||||
|  | 		BANK | ||||||
|  | # Page 481 | ||||||
|  | 		COUNT*	$$/VECPT | ||||||
|  | 		 | ||||||
|  | 		EBANK=	BCDU | ||||||
|  | 		 | ||||||
|  | VECPNT1		STQ	BOV		# THIS ENTRY USES DESIRED CDUS | ||||||
|  | 			VECQTEMP	# NOT PRESENT -- ENTER WITH CDUD'S IN MPAC | ||||||
|  | 			VECPNT2 | ||||||
|  | VECPNT2		AXC,2	GOTO | ||||||
|  | 			MIS | ||||||
|  | 			STORANG | ||||||
|  | VECPOINT	STQ	BOV		# SAVE RETURN ADDRESS | ||||||
|  | 			VECQTEMP | ||||||
|  | 			VECLEAR		# AND CLEAR OVFIND | ||||||
|  | VECLEAR		AXC,2	RTB | ||||||
|  | 			MIS		# READ THE PRESENT CDU ANGLES AND | ||||||
|  | 			READCDUK	# STORE THEM IN PD25, 26, 27 | ||||||
|  | STORANG		STCALL	25D | ||||||
|  | 			CDUTODCM	# S/C AXES TO STABLE MEMBER AXES (MIS) | ||||||
|  | 		VLOAD	VXM | ||||||
|  | 			POINTVSM	# RESOLVE THE POINTING DIRECTION VF INTO | ||||||
|  | 			MIS		# INITIAL S/C AXES (VF = POINTVSM) | ||||||
|  | 		UNIT | ||||||
|  | 		STORE	28D | ||||||
|  | 					# PD 28 29 30 31 32 33 | ||||||
|  | 		VXV	UNIT		# TAKE THE CROSS PRODUCT VF X VI | ||||||
|  | 			SCAXIS		# WHERE VI = SCAXIS | ||||||
|  | 		BOV	VCOMP | ||||||
|  | 			PICKAXIS | ||||||
|  | 		STODL	COF		# CHECK MAGNITUDE | ||||||
|  | 			36D		# OF CROSS PRODUCT | ||||||
|  | 		DSU	BMN		# VECTOR, IF LESS | ||||||
|  | 			DPB-14		# THAN B-14 ASSUME | ||||||
|  | 			PICKAXIS	# UNIT OPERATION | ||||||
|  | 		VLOAD	DOT		# INVALID. | ||||||
|  | 			SCAXIS | ||||||
|  | 			28D | ||||||
|  | 		SL1	ARCCOS | ||||||
|  | COMPMATX	CALL			# NOW COMPUTE THE TRANSFORMATION FROM | ||||||
|  | 			DELCOMP		# FINAL S/C AXES TO INITIAL S/C AXES MFI | ||||||
|  | 		AXC,1	AXC,2 | ||||||
|  | 			MIS		# COMPUTE THE TRANSFORMATION FROM FINAL | ||||||
|  | 			KEL		# S/C AXES TO STABLE MEMBER AXES | ||||||
|  | 		CALL			# MFS = MIS MFI | ||||||
|  | 			MXM3		# (IN PD LIST) | ||||||
|  | 			 | ||||||
|  | 		DLOAD	ABS | ||||||
|  | 			6		# MFS6 = SIN(CPSI)			$2 | ||||||
|  | 		DSU	BMN | ||||||
|  | 			SINGIMLC	# = SIN(59 DEGS)			$2 | ||||||
|  | 			FINDGIMB	# /CPSI/ LESS THAN 59 DEGS. | ||||||
|  | # Page 482 | ||||||
|  | 					# I.E., DESIRED ATTITUDE NOT IN GIMBAL LOCK | ||||||
|  | 					 | ||||||
|  | 		DLOAD	ABS		# CHECK TO SEE IF WE ARE POINTING | ||||||
|  | 			SCAXIS		# THE THRUST AXIS | ||||||
|  | 		DSU	BPL | ||||||
|  | 			SINVEC1		# SIN 49.4 DEGS				$2 | ||||||
|  | 			FINDGIMB	# IF SO, WE ARE TRYING TO POINT IT INTO | ||||||
|  | 		VLOAD			# GIMBAL LOCK, ABORT COULD GO HERE | ||||||
|  | 		STADR | ||||||
|  | 		STOVL	MIS 	+12D | ||||||
|  | 		STADR			# STORE MFS (IN PD LIST) IN MIS | ||||||
|  | 		STOVL	MIS 	+6 | ||||||
|  | 		STADR | ||||||
|  | 		STOVL	MIS | ||||||
|  | 			MIS 	+6	# INNER GIMBAL AXIS IN FINAL S/C AXES | ||||||
|  | 		BPL	VCOMP		# LOCATE THE IG AXIS DIRECTION CLOSEST TO | ||||||
|  | 			IGSAMEX		# FINAL X S/C AXIS | ||||||
|  | 			 | ||||||
|  | IGSAMEX		VXV	BMN		# FIND THE SHORTEST WAY OF ROTATING THE  | ||||||
|  | 			SCAXIS		# S/C OUT OF GIMBAL LOCK BY A ROTATION  | ||||||
|  | 			U=SCAXIS	# ABOUT +- SCAXIS, I.E., IF  (IG (SGN MFS3) | ||||||
|  | 					# X SCAXIS . XF) LESS THAN 0, U = SCAXIS | ||||||
|  | 					# OTHERWISE U = -SCAXIS. | ||||||
|  | 					 | ||||||
|  | 		VLOAD	VCOMP | ||||||
|  | 			SCAXIS | ||||||
|  | 		STCALL	COF		# ROTATE ABOUT -SCAXIS | ||||||
|  | 			CHEKAXIS | ||||||
|  | U=SCAXIS	VLOAD | ||||||
|  | 			SCAXIS | ||||||
|  | 		STORE	COF		# ROTATE ABOUT + SCAXIS | ||||||
|  | CHEKAXIS	DLOAD	ABS | ||||||
|  | 			SCAXIS		# SEE IF WE ARE POINTING THE AOT | ||||||
|  | 		DSU	BPL | ||||||
|  | 			SINVEC2		# SIN 29.5 DEGS				$2 | ||||||
|  | 			PICKANG1	# IF SO, ROTATE 50 DEGS ABOUT +- SCAXIS | ||||||
|  | 		DLOAD	GOTO		# IF NOT, MUST BE POINTING THE TRANSPONDER | ||||||
|  | 			VECANG2		# OR SOME VECTOR IN THE Y, OR Z PLANE | ||||||
|  | 			COMPMFSN	# IN THIS CASE ROTATE 35 DEGS TO GET OUT | ||||||
|  | 					# OF GIMBAL LOCK (VECANG2  $360) | ||||||
|  | PICKANG1	DLOAD | ||||||
|  | 			VECANG1		# = 50 DEGS.				$360 | ||||||
|  | COMPMFSN	CALL | ||||||
|  | 			DELCOMP		# COMPUTE THE ROTATION ABOUT SCAXIS TO | ||||||
|  | 		AXC,1	AXC,2		# BRING MFS OUT OF GIMBAL LOCK | ||||||
|  | 			MIS | ||||||
|  | 			KEL | ||||||
|  | 		CALL			# COMPUTE THE NEW TRANSFORMATION FROM | ||||||
|  | 			MXM3		# DESIRED S/C AXES TO STABLE MEMBER AXES | ||||||
|  | 					# WHICH WILL ALIGN VI WITH VF AND AVOID | ||||||
|  | # Page 483 | ||||||
|  | 					# GIMBAL LOCK | ||||||
|  | FINDGIMB	AXC,1	CALL | ||||||
|  | 			0		# EXTRACT THE COMMANDED CDU ANGLES FROM | ||||||
|  | 			DCMTOCDU	# THIS MATRIX | ||||||
|  | 		RTB	SETPD | ||||||
|  | 			V1STO2S		# CONVERT TO 2'S COMPLEMENT | ||||||
|  | 			0 | ||||||
|  | 		GOTO | ||||||
|  | 			VECQTEMP	# RETURN TO CALLER | ||||||
|  | 			 | ||||||
|  | PICKAXIS	VLOAD	DOT		# IF VF X VI = 0, FIND VF, VI | ||||||
|  | 			28D | ||||||
|  | 			SCAXIS | ||||||
|  | 		BMN	TLOAD | ||||||
|  | 			ROT180 | ||||||
|  | 			25D | ||||||
|  | 		GOTO			# IF VF = VI, CDU DESIRED = PRESENT CDU | ||||||
|  | 			VECQTEMP	# PRESENT CDU ANGLES | ||||||
|  | 			 | ||||||
|  | 		BANK	35 | ||||||
|  | 		SETLOC	MANUVER1 | ||||||
|  | 		BANK | ||||||
|  | ROT180		VLOAD	VXV		# IF VF, VI ANTIPARALLEL, 180 DEG ROTATION | ||||||
|  | 			MIS 	+6	# IS REQUIRED.  Y STABLE MEMBER AXIS IN | ||||||
|  | 			HIDPHALF	# INITIAL S/C AXES. | ||||||
|  | 		UNIT	VXV		# FIND Y(SM) X X(I) | ||||||
|  | 			SCAXIS		# FIND UNIT(VI X UNIT(Y(SM) X X(I))) | ||||||
|  | 		UNIT	BOV		# I.E., PICK A VECTOR IN THE PLANE OF X(I), | ||||||
|  | 			PICKX		# Y(SM) PERPENDICULAR TO VI | ||||||
|  | 		STODL	COF | ||||||
|  | 			36D		# CHECK MAGNITUDE | ||||||
|  | 		DSU	BMN		# OF THIS VECTOR. | ||||||
|  | 			DPB-14		# IF LESS THAN B-14, | ||||||
|  | 			PICKX		# PICK X-AXIS. | ||||||
|  | 		VLOAD | ||||||
|  | 			COF | ||||||
|  | XROT		STODL	COF | ||||||
|  | 			HIDPHALF | ||||||
|  | 		GOTO | ||||||
|  | 			COMPMATX | ||||||
|  | PICKX		VLOAD	GOTO		# PICK THE XAXIS IN THIS CASE | ||||||
|  | 			HIDPHALF | ||||||
|  | 			XROT | ||||||
|  | SINGIMLC	2DEC	.4285836003	# = SIN(59)				$2 | ||||||
|  |  | ||||||
|  | SINVEC1		2DEC	.3796356537	# = SIN(49.4)				$2 | ||||||
|  |  | ||||||
|  | SINVEC2		2DEC	.2462117800	# = SIN(29.5)				$2 | ||||||
|  |  | ||||||
|  | VECANG1		2DEC	.1388888889	# = 50 DEGREES				$360 | ||||||
|  | # Page 484 | ||||||
|  | VECANG2		2DEC	.09722222222	# = 35 DEGREES				$360 | ||||||
|  |  | ||||||
|  | 1BITDP		OCT	0		# KEEP THIS BEFORE DPB(-14)	************ | ||||||
|  | DPB-14		OCT	00001 | ||||||
|  | 		OCT	00000 | ||||||
|  | 		 | ||||||
|  | # Page 485 | ||||||
|  | # ROUTINE FOR INITIATING AUTOMATIC MANEUVER VIA KEYBOARD (V49) | ||||||
|  |  | ||||||
|  | 		BANK	34 | ||||||
|  | 		SETLOC	R62 | ||||||
|  | 		BANK | ||||||
|  | 		EBANK=	BCDU | ||||||
|  | 		 | ||||||
|  | 		COUNT*	$$/R62 | ||||||
|  | 		 | ||||||
|  | R62DISP		EQUALS	R62FLASH | ||||||
|  |  | ||||||
|  | R62FLASH	CAF	V06N22		# FLASH V06N22 AND | ||||||
|  | 		TC	BANKCALL	# ICDU ANGLES | ||||||
|  | 		CADR	GOFLASH | ||||||
|  | 		TCF	ENDEXT		# TERMINATE | ||||||
|  | 		TCF	GOMOVE		# PROCEED | ||||||
|  | 		TCF	R62FLASH	# ENTER | ||||||
|  | 		 | ||||||
|  | 					# ASTRONAUT MAY LOAD NEW ICDUS AT THIS | ||||||
|  | 					# POINT. | ||||||
|  | GOMOVE		TC	UPFLAG		# SET FOR 3-AXIS MANEUVER | ||||||
|  | 		ADRES	3AXISFLG | ||||||
|  | 		 | ||||||
|  | 		TC	BANKCALL | ||||||
|  | 		CADR	R60LEM | ||||||
|  | 		TCF	ENDEXT		# END R62 | ||||||
|  | 		 | ||||||
							
								
								
									
										325
									
								
								Luminary099/RESTARTS_ROUTINE.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										325
									
								
								Luminary099/RESTARTS_ROUTINE.agc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,325 @@ | |||||||
|  | # Copyright:	Public domain. | ||||||
|  | # Filename:	RESTARTS_ROUTINE.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:	Onno Hommes <ohommes@cmu.edu>. | ||||||
|  | # Website:	www.ibiblio.org/apollo. | ||||||
|  | # Pages:	1303-1309 | ||||||
|  | # Mod history:	2009-05-27 OH	Transcribed from page images. | ||||||
|  | # | ||||||
|  | # 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-61 | ||||||
|  | #	16:27 JULY 14, 1969  | ||||||
|  |  | ||||||
|  | # Page 1303 | ||||||
|  | 		BANK	01 | ||||||
|  | 		SETLOC	RESTART | ||||||
|  | 		BANK | ||||||
|  |  | ||||||
|  | 		EBANK=	PHSNAME1	# GOPROG MUST SWITCH TO THIS EBANK | ||||||
|  |  | ||||||
|  | 		COUNT*	$$/RSROU | ||||||
|  | RESTARTS	CA	MPAC +5		# GET GROUP NUMBER -1 | ||||||
|  | 		DOUBLE			# SAVE FOR INDEXING | ||||||
|  | 		TS	TEMP2G | ||||||
|  |  | ||||||
|  | 		CA	PHS2CADR	# SET UP EXIT IN CASE IT IS AN EVEN | ||||||
|  | 		TS	TEMPSWCH	# TABLE PHASE | ||||||
|  |  | ||||||
|  | 		CA	RTRNCADR	# TO SAVE TIME ASSUME IT WILL GET NEXT | ||||||
|  | 		TS	GOLOC +2	# GROUP AFTER THIS | ||||||
|  |  | ||||||
|  | 		CA	TEMPPHS | ||||||
|  | 		MASK	OCT1400 | ||||||
|  | 		CCS	A		# IS IT A VARIABLE OR TABLE RESTART | ||||||
|  | 		TCF	ITSAVAR		# IT'S A VARIABLE RESTART | ||||||
|  |  | ||||||
|  | GETPART2	CCS	TEMPPHS		# IS IT AN X.1 RESTART | ||||||
|  | 		CCS	A | ||||||
|  | 		TCF	ITSATBL		# NO, IT'S A TABLE RESTART | ||||||
|  |  | ||||||
|  | 		CA	PRIO14		# IT IS AN X.1 RESTART, THEREFORE START | ||||||
|  | 		TC	FINDVAC		# THE DISPLAY RESTART JOB | ||||||
|  | 		EBANK=	LST1 | ||||||
|  | 		2CADR	INITDSP | ||||||
|  |  | ||||||
|  | 		TC	RTRNCADR	# FINISHED WITH THIS GROUP, GET NEXT ONE | ||||||
|  |  | ||||||
|  | ITSAVAR		MASK	OCT1400		# IS IT TYPE B ? | ||||||
|  | 		CCS	A | ||||||
|  | 		TCF	ITSLIKEB	# YES, IT IS TYPE B | ||||||
|  |  | ||||||
|  | 		EXTEND			# STORES THE JOB (OR TASK) 2CADR FOR EXIT | ||||||
|  | 		NDX	TEMP2G | ||||||
|  | 		DCA	PHSNAME1 | ||||||
|  | 		DXCH	GOLOC | ||||||
|  |  | ||||||
|  | 		CA	TEMPPHS		# SEE IF THIS IS A JOB, TASK, OR A LONGCALL | ||||||
|  | 		MASK	OCT7 | ||||||
|  | 		AD	MINUS2 | ||||||
|  | 		CCS	A | ||||||
|  | 		TCF	ITSLNGCL	# IT'S A LONGCALL | ||||||
|  |  | ||||||
|  | RTRNCADR	TC	SWRETURN	# CAN'T GET HERE. | ||||||
|  | # Page 1304 | ||||||
|  | 		TCF	ITSAWAIT | ||||||
|  |  | ||||||
|  | 		TCF	ITSAJOB		# IT'S A JOB | ||||||
|  |  | ||||||
|  | ITSAWAIT	CA	WTLTCADR	# SET UP WAITLIST CALL | ||||||
|  | 		TS	GOLOC -1 | ||||||
|  |  | ||||||
|  | 		NDX	TEMP2G		# DIRECTLY STORED | ||||||
|  | 		CA	PHSPRDT1 | ||||||
|  | TIMETEST	CCS	A		# IS IT AN IMMEDIATE RESTART | ||||||
|  | 		INCR	A		# NO. | ||||||
|  | 		TCF	FINDTIME	# FIND OUT WHEN IT SHOULD BEGIN | ||||||
|  |  | ||||||
|  | 		TCF	ITSINDIR	# STORED INDIRECTLY | ||||||
|  |  | ||||||
|  | 		TCF	IMEDIATE	# IT WANTS AN IMMEDIATE RESTART | ||||||
|  |  | ||||||
|  | # ***** THIS MUST BE IN FIXED FIXED ***** | ||||||
|  |  | ||||||
|  | 		BLOCK	02 | ||||||
|  | 		SETLOC	FFTAG2 | ||||||
|  | 		BANK | ||||||
|  |  | ||||||
|  | 		COUNT*	$$/RSROU | ||||||
|  | ITSINDIR	LXCH	GOLOC +1	# GET THE CORRECT E BANK IN CASE THIS IS | ||||||
|  | 		LXCH	BB		# SWITCHED ERASABLE | ||||||
|  |  | ||||||
|  | 		NDX	A		# GET THE TIME INDIRECTLY | ||||||
|  | 		CA	1 | ||||||
|  |  | ||||||
|  | 		LXCH	BB		# RESTORE THE BB AND GOLOC | ||||||
|  | 		LXCH	GOLOC +1 | ||||||
|  |  | ||||||
|  | 		TCF	FINDTIME	# FIND OUT WHEN IT SHOULD BEGIN | ||||||
|  |  | ||||||
|  | # ***** YOU MAY RETURN TO SWITCHED FIXED ***** | ||||||
|  |  | ||||||
|  | 		BANK 	01 | ||||||
|  | 		SETLOC	RESTART | ||||||
|  | 		BANK | ||||||
|  |  | ||||||
|  | 		COUNT*	$$/RSROU | ||||||
|  | FINDTIME	COM			# MAKE NEGATIVE SINCE IT WILL BE SUBTRACTED | ||||||
|  | 		TS	L		# AND SAVE | ||||||
|  | 		NDX	TEMP2G | ||||||
|  | 		CS	TBASE1 | ||||||
|  | 		EXTEND | ||||||
|  | 		SU	TIME1 | ||||||
|  | 		CCS	A | ||||||
|  | 		COM | ||||||
|  | # Page 1305 | ||||||
|  | 		AD	OCT37776 | ||||||
|  | 		AD	ONE | ||||||
|  | 		AD	L | ||||||
|  | 		CCS	A | ||||||
|  | 		CA	ZERO | ||||||
|  | 		TCF	+2 | ||||||
|  | 		TCF	+1 | ||||||
|  | IMEDIATE	AD	ONE | ||||||
|  | 		TC	GOLOC -1 | ||||||
|  | ITSLIKEB	CA	RTRNCADR	# TYPE B, SO STORE RETURN IN | ||||||
|  | 		TS	TEMPSWCH	# TEMPSWCH IN CASE OF AN EVEN PHASE | ||||||
|  |  | ||||||
|  | 		CA	PRT2CADR	# SET UP EXIT TO GET TABLE PART OF THIS | ||||||
|  | 		TS	GOLOC +2	# VARIABLE TYPE OF PHASE | ||||||
|  |  | ||||||
|  | 		CA	TEMPPHS		# MAKE THE PHASE LOOK RIGHT FOR THE TABLE | ||||||
|  | 		MASK	OCT177		# PART OF THIS VARIABLE PHASE | ||||||
|  | 		TS	TEMPPHS | ||||||
|  |  | ||||||
|  | 		EXTEND | ||||||
|  | 		NDX	TEMP2G		# OBTAIN THE JOB'S 2CADR | ||||||
|  | 		DCA	PHSNAME1 | ||||||
|  | 		DXCH	GOLOC | ||||||
|  |  | ||||||
|  | ITSAJOB		NDX	TEMP2G		# NOW ADD THE PRIORITY AND LET'S GO | ||||||
|  | 		CA	PHSPRDT1 | ||||||
|  | CHKNOVAC	TS	GOLOC -1	# SAVE PRIO UNTIL WE SEE IF IT'S | ||||||
|  | 		EXTEND			# A FINDVAC OR A NOVAC | ||||||
|  | 		BZMF	ITSNOVAC | ||||||
|  |  | ||||||
|  | 		CAF	FVACCADR	# POSITIVE, SET UP FINDVAC CALL. | ||||||
|  | 		XCH	GOLOC -1	# PICK UP PRIO | ||||||
|  | 		TC	GOLOC -1	# AND GO | ||||||
|  |  | ||||||
|  | ITSNOVAC	CAF	NOVACADR	# NEGATIVE, | ||||||
|  | 		XCH	GOLOC -1	# SET UP NOVAC CALL, | ||||||
|  | 		COM			# CORRECT PRIO, | ||||||
|  | 		TC	GOLOC -1	# AND GO | ||||||
|  |  | ||||||
|  | ITSATBL		TS	CYR		# FIND OUT IF THE PHASE IS ODD OR EVEN | ||||||
|  | 		CCS	CYR | ||||||
|  | 		TCF	+1		# IT'S EVEN | ||||||
|  | 		TCF	ITSEVEN | ||||||
|  |  | ||||||
|  | 		CA	RTRNCADR	# IN CASE THIS IS THE SECOND PART OF A | ||||||
|  | 		TS	GOLOC +2	# TYPE B RESTART, WE NEED PROPER EXIT | ||||||
|  |  | ||||||
|  | 		CA	TEMPPHS		# SET UP POINTER FOR FINDING OUR PLACE IN | ||||||
|  | 		TS	SR		# THE RESTART TABLES | ||||||
|  | 		AD	SR | ||||||
|  | # Page 1306 | ||||||
|  | 		NDX	TEMP2G | ||||||
|  | 		AD	SIZETAB +1 | ||||||
|  | 		TS	POINTER | ||||||
|  |  | ||||||
|  | CONTBL2		EXTEND			# FIND OUT WHAT'S IN THE TABLE | ||||||
|  | 		NDX	POINTER | ||||||
|  | 		DCA	CADRTAB		# GET THE 2CADR | ||||||
|  |  | ||||||
|  | 		LXCH	GOLOC +1	# STORE THE BB INFORMATION | ||||||
|  |  | ||||||
|  | 		CCS	A		# IS IT A JOB OR IT IT TIMED | ||||||
|  | 		INCR	A		# POSITIVE, MUST BE A JOB | ||||||
|  | 		TCF	ITSAJOB2 | ||||||
|  |  | ||||||
|  | 		INCR	A		# MUST BE EITHER A WAITLIST OR LONGCALL | ||||||
|  | 		TS	GOLOC		# LET'S STORE THE CORRECT CADR | ||||||
|  |  | ||||||
|  | 		CA	WTLTCADR	# SET UP OUR EXIT TO WAITLIST | ||||||
|  | 		TS	GOLOC -1 | ||||||
|  |  | ||||||
|  | 		CA	GOLOC +1	# NOW FIND OUT IF IT IS A WAITLIST CALL | ||||||
|  | 		MASK	BIT10		# THIS SHOULD BE ONE IF WE HAVE -BB | ||||||
|  | 		CCS	A		# FOR THAT MATTER SO SHOULD BE BITS 9,8,7, | ||||||
|  | 					# 6,5, AND LAST BUT NOT LEAST (PERHAPS NOT | ||||||
|  | 					# IN IMPORTANCE ANYWAY.  BIT 4 | ||||||
|  | 		TCF	ITSWTLST	# IT IS A WAITLIST CALL | ||||||
|  |  | ||||||
|  | 		NDX	POINTER		# OBTAIN THE ORIGINAL DELTA T | ||||||
|  | 		CA	PRDTTAB		# ADDRESS FOR THIS LONGCALL | ||||||
|  |  | ||||||
|  | 		TCF	ITSLGCL1	# NOW GO GET THE DELTA TIME | ||||||
|  |  | ||||||
|  | # ***** THIS MUST BE IN FIXED FIXED ***** | ||||||
|  |  | ||||||
|  | 		BLOCK	02 | ||||||
|  | 		SETLOC	FFTAG2 | ||||||
|  | 		BANK | ||||||
|  |  | ||||||
|  | 		COUNT*	$$/RSROU | ||||||
|  | ITSLGCL1	LXCH	GOLOC +1	# OBTAIN THE CORRECT E BANK | ||||||
|  | 		LXCH	BB | ||||||
|  | 		LXCH	GOLOC +1	# AND PRESERVE OUR E AND F BANKS | ||||||
|  |  | ||||||
|  | 		EXTEND			# GET THE DELTA TIME | ||||||
|  | 		NDX	A | ||||||
|  | 		DCA	0 | ||||||
|  |  | ||||||
|  | 		LXCH	GOLOC +1	# RESTORE OUR E AND F BANK | ||||||
|  | 		LXCH	BB		# RESTORE THE TASKS E AND F BANKS | ||||||
|  | 		LXCH	GOLOC +1	# AND PRESERVE OUR L | ||||||
|  | # Page 1307 | ||||||
|  | 		TCF	ITSLGCL2	# NOT LET'S PROCESS THIS LONGCALL | ||||||
|  |  | ||||||
|  | # ***** YOU MAY RETURN TO SWITCHED FIXED ***** | ||||||
|  |  | ||||||
|  | 		BANK	01 | ||||||
|  | 		SETLOC	RESTART | ||||||
|  | 		BANK | ||||||
|  |  | ||||||
|  | 		COUNT*	$$/RSROU | ||||||
|  | ITSLGCL2	DXCH	LONGTIME | ||||||
|  |  | ||||||
|  | 		EXTEND			# CALCULATE TIME LEFT | ||||||
|  | 		DCS	TIME2 | ||||||
|  | 		DAS	LONGTIME | ||||||
|  | 		EXTEND | ||||||
|  | 		DCA	LONGBASE | ||||||
|  | 		DAS	LONGTIME | ||||||
|  |  | ||||||
|  | 		CCS	LONGTIME	# FIND OUT HOW THIS SHOULD BE RESTARTED | ||||||
|  | 		TCF	LONGCLCL | ||||||
|  | 		TCF	+2 | ||||||
|  | 		TCF	IMEDIATE -3 | ||||||
|  | 		CCS	LONGTIME +1 | ||||||
|  | 		TCF	LONGCLCL | ||||||
|  | 		NOOP			# CAN'T GET HERE ************ | ||||||
|  | 		TCF	IMEDIATE -3 | ||||||
|  | 		TCF	IMEDIATE | ||||||
|  |  | ||||||
|  | LONGCLCL	CA	LGCLCADR	# WE WILL GO TO LONGCALL | ||||||
|  | 		TS	GOLOC -1 | ||||||
|  |  | ||||||
|  | 		EXTEND			# PREPARE OUR ENTRY TO LONGCALL | ||||||
|  | 		DCA	LONGTIME | ||||||
|  | 		TC	GOLOC -1 | ||||||
|  |  | ||||||
|  | ITSLNGCL	CA	WTLTCADR	# ASSUME IT WILL GO TO WAITLIST | ||||||
|  | 		TS	GOLOC -1 | ||||||
|  |  | ||||||
|  | 		NDX	TEMP2G | ||||||
|  | 		CS	PHSPRDT1	# GET THE DELTA T ADDRESS | ||||||
|  |  | ||||||
|  | 		TCF	ITSLGCL1	# NOW GET THE DELTA TIME | ||||||
|  |  | ||||||
|  | ITSWTLST	CS	GOLOC +1	# CORRECT THE BBCON INFORMATION | ||||||
|  | 		TS	GOLOC +1 | ||||||
|  |  | ||||||
|  | 		NDX	POINTER		# GET THE DT AND FIND OUT IF IT WAS STORED | ||||||
|  | 		CA	PRDTTAB		# DIRECTOY OR INDIRECTLY | ||||||
|  |  | ||||||
|  | 		TCF	TIMETEST	# FIND OUT HOW THE TIME IS STORED | ||||||
|  |  | ||||||
|  | # Page 1308 | ||||||
|  | ITSAJOB2	XCH	GOLOC		# STORE THE CADR | ||||||
|  |  | ||||||
|  | 		NDX	POINTER		# ADD THE PRIORITY AND LET'S GO | ||||||
|  | 		CA	PRDTTAB | ||||||
|  |  | ||||||
|  | 		TCF	CHKNOVAC | ||||||
|  |  | ||||||
|  | ITSEVEN		CA	TEMPSWCH	# SET FOR EITHER THE SECOND PART OF THE | ||||||
|  | 		TS	GOLOC +2	# TABLE, OR A RETURN FOR THE NEXT GROUP | ||||||
|  |  | ||||||
|  | 		NDX	TEMP2G		# SET UP POINTER FOR OUR LOCATION WITHIN | ||||||
|  | 		CA	SIZETAB		# THE TABLE | ||||||
|  | 		AD	TEMPPHS		# THIS MAY LOOK BAD BUT LET'S SEE YOU DO | ||||||
|  | 		AD	TEMPPHS		# BETTER IN TIME OR NUMBER OF LOCATIONS | ||||||
|  | 		AD	TEMPPHS | ||||||
|  | 		TS	POINTER | ||||||
|  |  | ||||||
|  | 		TCF	CONTBL2		# NO PROCESS WHAT IS IN THE TABLE | ||||||
|  |  | ||||||
|  | PHSPART2	CA	THREE		# SET THE POINTER FOR THE SECOND HALF OF | ||||||
|  | 		ADS	POINTER		# THE TABLE | ||||||
|  |  | ||||||
|  | 		CA	RTRNCADR	# THIS WILL BE OUR LAST TIME THROUGH THE | ||||||
|  | 		TS	GOLOC +2	# EVEN TABLE, SO AFTER IT GET THE NEXT | ||||||
|  | 					# GROUP | ||||||
|  | 		TCF	CONTBL2		# SO LET'S GET THE SECOND ENTRY IN THE TBL | ||||||
|  |  | ||||||
|  | TEMPPHS		EQUALS	MPAC | ||||||
|  | TEMP2G		EQUALS	MPAC +1 | ||||||
|  | POINTER		EQUALS	MPAC +2 | ||||||
|  | TEMPSWCH	EQUALS	MPAC +3 | ||||||
|  | GOLOC		EQUALS	VAC5 +20D | ||||||
|  | MINUS2		EQUALS	NEG2 | ||||||
|  | OCT177		EQUALS	LOW7 | ||||||
|  |  | ||||||
|  | PHS2CADR	GENADR	PHSPART2 | ||||||
|  | PRT2CADR	GENADR	GETPART2 | ||||||
|  | LGCLCADR	GENADR	LONGCALL | ||||||
|  | FVACCADR	GENADR	FINDVAC | ||||||
|  | WTLTCADR	GENADR	WAITLIST | ||||||
|  | NOVACADR	GENADR	NOVAC | ||||||
|  |  | ||||||
|  |  | ||||||
							
								
								
									
										297
									
								
								Luminary099/RESTART_TABLES.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										297
									
								
								Luminary099/RESTART_TABLES.agc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,297 @@ | |||||||
|  | # Copyright:	Public domain. | ||||||
|  | # Filename:	RESTART_TABLES.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:	238-243 | ||||||
|  | # Mod history:  2009-05-10 SN   (Sergio Navarro).  Started adapting | ||||||
|  | #				from the Luminary131/ file of the same | ||||||
|  | #				name, using Luminary099 page images. | ||||||
|  | # | ||||||
|  | # 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-61 | ||||||
|  | #	16:27 JULY 14, 1969  | ||||||
|  |  | ||||||
|  | # Page 238 | ||||||
|  | # RESTART TABLES | ||||||
|  | # -------------- | ||||||
|  | # | ||||||
|  | # THERE ARE TWO FORMS OF RESTART TABLES FOR EACH GROUP.  THEY ARE KNOWN AS THE EVEN RESTART TABLES AND THE ODD | ||||||
|  | # RESTART TABLES.  THE ODD TABLES HAVE ONLY ONE ENTRY OF THREE LOCATIONS WHILE THE EVEN TABLES HAVE TWO ENTRIES | ||||||
|  | # EACH USING THREE LOCATIONS.  THE INFORMATION AS TO WHETHER IT IS A JOB, WAITLIST, OR A LONGCALL IS GIVEN BY THE | ||||||
|  | # WAY THINGS ARE PUT IN TO THE TABLES. | ||||||
|  | # | ||||||
|  | # A JOB HAS ITS PRIORITY STORED IN A PRDTTAB OF THE CORRECT PHASE SPOT -- A POSITIVE PRIORITY INDICATES A | ||||||
|  | # FINDVAC JOB, A NEGATIVE PRIORITY A NOVAC.  THE 2CADR OF THE JOB IS STORED IN THE CADRTAB. | ||||||
|  | # FOR EXAMPLE, | ||||||
|  | # | ||||||
|  | #		5.7SPOT		OCT	23000 | ||||||
|  | #				2CADR	SOMEJOB | ||||||
|  | # | ||||||
|  | # A RESTART OF GROUP 5 WITH PHASE SEVEN WOULD THEN CAUSE SOMEJOB TO BE RESTARTED AS A FINDVAC WITH PRIORITY 23. | ||||||
|  | # | ||||||
|  | #		5.5SPOT		OCT	-23000 | ||||||
|  | #				2CADR	ANYJOB | ||||||
|  | # | ||||||
|  | # HERE A RESTART OF GROUP 5 WITH PHASE 7 WOULD CAUSE ANYJOB TO BE RESTARTED AS A NOVAC WITH PRIORITY 23. | ||||||
|  | # A LONGCALL HAS ITS GENADR OF ITS 2CADR STORED NEGATIVELY AND ITS BBCON STORED POSITIVELY.  IN ITS PRDTTAB IS | ||||||
|  | # PLACED THE LOCATION OF A DP REGISTER THAT CONTAINS THE DELTA TIME THAT LONGCALL HAD BEEN ORIGINALLY STARTED | ||||||
|  | # WITH.  EXAMPLE, | ||||||
|  | # | ||||||
|  | #		3.6SPOT		GENADR	DELTAT | ||||||
|  | #				-GENADR	LONGTASK | ||||||
|  | #				BBCON	LONGTASK | ||||||
|  | #				OCT	31000 | ||||||
|  | #				2CADR	JOBAGAIN | ||||||
|  | # | ||||||
|  | # THIS WOULD START UP LONGTASK AT THE APPROPRIATE TIME, OR IMMEDIATELY IF THE TIME HAD ALREADY PASSED.  IT SHOULD | ||||||
|  | # BE NOTED THAT IF DELTAT IS IN A SWITCHED E BANK, THIS INFORMATION SHOULD BE IN THE BBCON OF THE 2CADR OF THE | ||||||
|  | # TASK.  FROM ABOVE, WE SEE THAT THE SECOND PART O THIS PHASE WOULD BE STARTED AS A JOB WITH A PRIORITY OF 31. | ||||||
|  | # | ||||||
|  | # WAITLIST CALLS ARE IDENTIFIED BY THE FCT THAT THEIR 2CADR IS STORED NEGATIVELY.  IF PRDTTAB OF THE PHASE SPOT | ||||||
|  | # IS POSITIVE, THEN IT CONTAINS THE DELTA TIME, IF PRDTTAB IS NEGATIVE THEN IT IS THE -GENADR OF AN ERASABLE | ||||||
|  | # IF THE TIME IS STORED INDIRECTLY, THE BBCON MUST CONTAIN THE NECESSARY E BANK INFORMATION IF APPLICABLE.  WITH | ||||||
|  | # WAITLIST WE HAVE ONE FURTHER OPTION, IF -0 IS STORED IN PRDTTAB, IT WILL CAUSE AN IMMEDIATE RESTART OF THE | ||||||
|  | # TASK.  EXAMPLES, | ||||||
|  | # | ||||||
|  | #				OCT	77777		# THIS WILL CAUSE AN IMMEDIATE RESTART | ||||||
|  | #				-2CADR	ATASK		# OF THE TASK :ATASK: | ||||||
|  | #	 | ||||||
|  | #				DEC	200		# IF THE TIME OF THE 2 SECONDS SINCE DUMMY | ||||||
|  | #				-2CADR	DUMMY		# WAS PUT ON THE WAITLIST IS UP, IT WILL BEGIN | ||||||
|  | #							# IN 10 MS, OTHERWISE IT WILL BEGIN WHEN | ||||||
|  | #							# IT NORMALLY WOULD HAVE BEGUN. | ||||||
|  | # Page 239 | ||||||
|  | #				-GENADR	DTIME		# WHERE DTIME CONTAINS THE DELTA TIME | ||||||
|  | #				-2CADR	TASKTASK	# OTHERWISE THIS IS AS ABOVE | ||||||
|  | # | ||||||
|  | # ***** NOW THE TABLES THEMSELVES ***** | ||||||
|  |  | ||||||
|  | 		BANK	01 | ||||||
|  | 		SETLOC	RESTART | ||||||
|  | 		BANK | ||||||
|  | 			 | ||||||
|  | PRDTTAB		EQUALS	12000			# USED TO FIND THE PRIORITY OR DELTATIME | ||||||
|  | CADRTAB		EQUALS	12001			# THIS AND THE NEXT RELATIVE LOC CONTAIN | ||||||
|  | 						# RESTART 2CADR | ||||||
|  | 						 | ||||||
|  | 		COUNT*	$$/RSTAB		# TABLES IN BANK 1. | ||||||
|  | SIZETAB		TC	1.2SPOT -12006 | ||||||
|  | 		TC	1.3SPOT -12004 | ||||||
|  | 		TC	2.2SPOT -12006 | ||||||
|  | 		TC	2.3SPOT	-12004 | ||||||
|  | 		TC	3.2SPOT -12006 | ||||||
|  | 		TC	3.3SPOT -12004 | ||||||
|  | 		TC	4.2SPOT -12006 | ||||||
|  | 		TC	4.3SPOT -12004 | ||||||
|  | 		TC	5.2SPOT -12006 | ||||||
|  | 		TC	5.3SPOT -12004 | ||||||
|  | 		TC	6.2SPOT -12006 | ||||||
|  | 		TC	6.3SPOT -12004 | ||||||
|  | 1.2SPOT		OCT	21000			# A DUMMY EXAMPLE TO BE REPLACED AS SOON | ||||||
|  | 		EBANK=	STATE | ||||||
|  | 		2CADR	ENDOFJOB		# AS THERE IS A LEGITIMATE 1.2SPOT | ||||||
|  | 		 | ||||||
|  | 		DEC	100 | ||||||
|  | 		EBANK=	STATE | ||||||
|  | 		2CADR	TASKOVER | ||||||
|  | 		 | ||||||
|  | # ANY MORE GROUP 1.EVEN RESTART VALUES SHOULD GO HERE. | ||||||
|  |  | ||||||
|  | 1.3SPOT		-GENADR	SAVET-30 | ||||||
|  | 		EBANK=	DVCNTR | ||||||
|  | 		-2CADR	ULLGTASK | ||||||
|  | 		 | ||||||
|  | # ANY MORE GROUP 1.ODD RESTART VALUES SHOULD GO HERE. | ||||||
|  |  | ||||||
|  | 2.2SPOT		EQUALS	1.2SPOT | ||||||
|  |  | ||||||
|  | # ANY MORE GROUP 2.EVEN RESTART VALUES SHOULD GO HERE | ||||||
|  |  | ||||||
|  | 2.3SPOT		GENADR	600SECS | ||||||
|  |  | ||||||
|  | 		-GENADR	STATEINT | ||||||
|  | 		EBANK=	RRECTCSM | ||||||
|  | 		BBCON	STATEINT | ||||||
|  |  | ||||||
|  | # Page 240 | ||||||
|  | 2.5SPOT		OCT	05000 | ||||||
|  | 		EBANK=	RRECTCSM | ||||||
|  | 		2CADR	STATINT1 | ||||||
|  | 		 | ||||||
|  | 2.7SPOT		DEC	1500 | ||||||
|  | 		EBANK=	LOSCOUNT | ||||||
|  | 		-2CADR	P20LEMC1 | ||||||
|  |  | ||||||
|  | 2.11SPOT	OCT	14000 | ||||||
|  | 		EBANK=	P21TIME | ||||||
|  | 		2CADR	P25LEM1 | ||||||
|  |  | ||||||
|  | 2.13SPOT	OCT	10000 | ||||||
|  | 		EBANK=	LOSCOUNT | ||||||
|  | 		2CADR	RELINUS | ||||||
|  |  | ||||||
|  | 2.15SPOT	OCT	26000 | ||||||
|  | 		EBANK=	LOSCOUNT | ||||||
|  | 		2CADR	R22RSTRT | ||||||
|  |  | ||||||
|  | 2.17SPOT	OCT	77777 | ||||||
|  | 		EBANK=	VGPREV | ||||||
|  | 		-2CADR	REDO2.17 | ||||||
|  |  | ||||||
|  | 2.21SPOT	DEC	25 | ||||||
|  | 		EBANK=	DVCNTR | ||||||
|  | 		-2CADR	R10,R11 | ||||||
|  |  | ||||||
|  | # ANY MORE GROUP 2.ODD RESTART VALUES SHOULD GO HERE. | ||||||
|  |  | ||||||
|  | 3.2SPOT		EQUALS	1.2SPOT | ||||||
|  |  | ||||||
|  | # ANY MORE GROUP 3.EVEN RESTART VALUES SHOULD GO HERE | ||||||
|  |  | ||||||
|  | 3.3SPOT		-GENADR	ZOOMTIME | ||||||
|  | 		EBANK=	DVCNTR | ||||||
|  | 		-2CADR	ZOOM | ||||||
|  |  | ||||||
|  | 3.5SPOT		OCT	20000 | ||||||
|  | 		EBANK=	TTOGO | ||||||
|  | 		2CADR	S40.13 | ||||||
|  |  | ||||||
|  | # ANY MORE GROUP 3.ODD RESTART VALUES SHOULD GO HERE | ||||||
|  |  | ||||||
|  | 4.2SPOT		DEC	2500 | ||||||
|  | 		EBANK=	TTOGO | ||||||
|  |  | ||||||
|  | 		-2CADR	TIG-5 | ||||||
|  |  | ||||||
|  | 		OCT	77777 | ||||||
|  | 		EBANK=	TTOGO | ||||||
|  | # Page 241 | ||||||
|  | 		-2CADR	REDO4.2 | ||||||
|  |  | ||||||
|  | # ANY MORE GROUP 4.EVEN RESTART VALUES SHOULD GO HERE | ||||||
|  |  | ||||||
|  | 4.3SPOT		OCT	25000 | ||||||
|  | 		EBANK=	DVCNTR | ||||||
|  | 		2CADR	GOABORT | ||||||
|  |  | ||||||
|  | 4.5SPOT		DEC	50 | ||||||
|  | 		EBANK=	TTOGO | ||||||
|  | 		-2CADR	ULLAGOFF | ||||||
|  |  | ||||||
|  | 4.7SPOT		DEC	500 | ||||||
|  | 		EBANK=	DVCNTR | ||||||
|  | 		-2CADR	TIG-0 | ||||||
|  |  | ||||||
|  | 4.11SPOT	-GENADR	TGO +1 | ||||||
|  | 		EBANK=	DVCNTR | ||||||
|  | 		-2CADR	ENGOFTSK | ||||||
|  |  | ||||||
|  | 4.13SPOT	OCT	12000 | ||||||
|  | 		EBANK=	TRKMKCNT | ||||||
|  | 		2CADR	POSTBURN | ||||||
|  |  | ||||||
|  | 4.15SPOT	DEC	500 | ||||||
|  | 		EBANK=	TTOGO | ||||||
|  | 		-2CADR	TIG-30 | ||||||
|  |  | ||||||
|  | 4.17SPOT	OCT	77777 | ||||||
|  | 		EBANK=	DVCNTR | ||||||
|  | 		-2CADR	TIG-5 | ||||||
|  |  | ||||||
|  | 4.21SPOT	OCT	13000 | ||||||
|  | 		EBANK=	STAR | ||||||
|  | 		2CADR	R51.1 +1 | ||||||
|  |  | ||||||
|  | 4.23SPOT	OCT	77777 | ||||||
|  | 		EBANK=	DVCNTR | ||||||
|  | 		-2CADR	IGNITION | ||||||
|  | 		 | ||||||
|  | 4.25SPOT	GENADR	SAVET-30 | ||||||
|  | 		-GENADR	TIG-35 | ||||||
|  | 		EBANK=	SAVET-30 | ||||||
|  | 		BBCON	TIG-35 | ||||||
|  | 		 | ||||||
|  |  | ||||||
|  | 4.27SPOT	OCT	52777 | ||||||
|  | 		EBANK=	DVCNTR | ||||||
|  | 		2CADR	P70A | ||||||
|  | # Page 242		 | ||||||
|  | 4.31SPOT	OCT	52777 | ||||||
|  | 		EBANK=	DVCNTR | ||||||
|  | 		2CADR	P71A | ||||||
|  |  | ||||||
|  | 4.33SPOT	OCT	46777 | ||||||
|  | 		EBANK=	DVCNTR | ||||||
|  | 		2CADR	GOP00FIX | ||||||
|  | 		 | ||||||
|  | 4.35SPOT	OCT	46777 | ||||||
|  | 		EBANK=	DVCNTR | ||||||
|  | 		2CADR	GOP00DOO | ||||||
|  | 		 | ||||||
|  | 4.37SPOT	OCT	52777 | ||||||
|  | 		EBANK=	WHICH | ||||||
|  | 		2CADR	COMFAIL | ||||||
|  | 		 | ||||||
|  | # ANY MORE 4.ODD RESTART VALUES SHOULD GO HERE. | ||||||
|  | 5.2SPOT		OCT	22000 | ||||||
|  | 		EBANK=	DVCNTR | ||||||
|  | 		2CADR	NORMLIZE | ||||||
|  | 		 | ||||||
|  | 		DEC	200 | ||||||
|  | 		EBANK=	DVCNTR | ||||||
|  | 		-2CADR	REREADAC | ||||||
|  | 		 | ||||||
|  | 5.4SPOT		DEC	200 | ||||||
|  | 		EBANK=	DVCNTR | ||||||
|  | 		-2CADR	REREADAC | ||||||
|  |  | ||||||
|  | 		OCT	20000 | ||||||
|  | 		EBANK=	DVCNTR | ||||||
|  | 		2CADR	SERVICER | ||||||
|  | 		 | ||||||
|  | # ANY MORE GROUP 5.EVEN RESTART VALUES SHOULD GO HERE | ||||||
|  |  | ||||||
|  | 5.3SPOT		DEC	200 | ||||||
|  | 		EBANK=	DVCNTR | ||||||
|  | 		-2CADR	REREADAC | ||||||
|  |  | ||||||
|  | 5.5SPOT		OCT	77777 | ||||||
|  | 		EBANK=	DVCNTR | ||||||
|  | 		-2CADR	REDO5.5 | ||||||
|  |  | ||||||
|  | 5.7SPOT		OCT	77777 | ||||||
|  | 		EBANK=	DVCNTR | ||||||
|  | # Page 243 | ||||||
|  | 		-2CADR	BIBIBIAS | ||||||
|  | 		 | ||||||
|  | # ANY MORE GROUP 5.ODD RESTART VALUES SHOULD GO HERE | ||||||
|  |  | ||||||
|  | 6.2SPOT		EQUALS	1.2SPOT | ||||||
|  | 6.3SPOT		DEC	100 | ||||||
|  | 		EBANK=	TIG | ||||||
|  | 		-2CADR	CLOKTASK | ||||||
|  | 		 | ||||||
|  | 6.5SPOT		OCT	30000			# PROTECT INCREMENTING OF TIME2,TIME1 BY | ||||||
|  | 		EBANK=	TEPHEM			# P27(UPDATE PROGRAM) VIA V70 OR V73. | ||||||
|  | 		2CADR	TIMEDIDR | ||||||
|  | 		 | ||||||
|  | 6.7SPOT		OCT	17000 | ||||||
|  | 		EBANK=	VGPREV | ||||||
|  | 		2CADR	REDO6.7 | ||||||
|  | 		 | ||||||
|  |  | ||||||
							
								
								
									
										224
									
								
								Luminary099/SERVICE_ROUTINES.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										224
									
								
								Luminary099/SERVICE_ROUTINES.agc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,224 @@ | |||||||
|  | # Copyright:	Public domain. | ||||||
|  | # Filename:	SERVICE_ROUTINES.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:	1374-1380 | ||||||
|  | # Mod history:  2009-05-10 SN   (Sergio Navarro).  Started adapting | ||||||
|  | #				from the Luminary131/ file of the same | ||||||
|  | #				name, using Luminary099 page images. | ||||||
|  | # | ||||||
|  | # 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-61 | ||||||
|  | #	16:27 JULY 14, 1969  | ||||||
|  |  | ||||||
|  | # Page 1374 | ||||||
|  | 		BANK	10 | ||||||
|  | 		SETLOC	DISPLAYS | ||||||
|  | 		BANK | ||||||
|  | 		COUNT*	$$/DSPLA | ||||||
|  |  | ||||||
|  | UPENT2		INHINT | ||||||
|  | 		MASK	OCT77770 | ||||||
|  | 		TS	L | ||||||
|  | 		CS	FLAGWRD4 | ||||||
|  | 		MASK	L | ||||||
|  | 		ADS	FLAGWRD4 | ||||||
|  | JOIN		RELINT | ||||||
|  | 		TCF	Q+1 | ||||||
|  |  | ||||||
|  | DOWNENT2	INHINT | ||||||
|  | 		MASK	OCT77770 | ||||||
|  | 		COM | ||||||
|  | 		MASK	FLAGWRD4 | ||||||
|  | 		TS	FLAGWRD4 | ||||||
|  | 		TCF	JOIN | ||||||
|  |  | ||||||
|  | OCT7		EQUALS	SEVEN | ||||||
|  |  | ||||||
|  | # Page 1375 | ||||||
|  | # UPFLAG AND DOWNFLAG ARE ENTIRELY GENERAL FLAG SETTING AND CLEARING SUBROUTINES.  USING THEM, WHETHER OR | ||||||
|  | # NOT IN INTERRUPT, ONE MAY SET OR CLEAR ANY SINGLE, NAMED BIT IN ANY ERASABLE REGISTER, SUBJECT OF COURSE TO | ||||||
|  | # EBANK SETTING.  A "NAMED" BIT, AS THE WORD IS USED HERE, IS ANY BIT WITH A NAME FORMALLY ASSIGNED BY THE YUL | ||||||
|  | # ASSEMBLER. | ||||||
|  | # | ||||||
|  | # AT PRESENT THE ONLY NAMED BITS ARE THOSE IN THE FLAGWORDS.  ASSEMBLER CHANGES WILL MAKE IT POSSIBLE TO | ||||||
|  | # NAME ANY BIT IN ERASABLE MEMORY. | ||||||
|  | # | ||||||
|  | # CALLING SEQUENCES ARE AS FOLLOWS :- | ||||||
|  | #		TC	UPFLAG			TC	DOWNFLAG | ||||||
|  | #		ADRES	NAME OF FLAG		ADRES	NAME OF FLAG | ||||||
|  | # | ||||||
|  | # RETURN IS TO THE LOCATION FOLLOWING THE "ADRES" ABOUT .58 MS AFTER THE "TC". | ||||||
|  | # UPON RETURN A CONTAINS THE CURRENT FLAGWRD SETTING. | ||||||
|  |  | ||||||
|  | 		BLOCK	02 | ||||||
|  | 		SETLOC	FFTAG1 | ||||||
|  | 		BANK | ||||||
|  | 		COUNT*	$$/FLAG | ||||||
|  |  | ||||||
|  | UPFLAG		CA	Q | ||||||
|  | 		TC	DEBIT | ||||||
|  | 		COM			# +(15 - BIT) | ||||||
|  | 		EXTEND | ||||||
|  | 		ROR	LCHAN		# SET BIT | ||||||
|  | COMFLAG		INDEX	ITEMP1 | ||||||
|  | 		TS	FLAGWRD0 | ||||||
|  | 		LXCH	ITEMP3 | ||||||
|  | 		RELINT | ||||||
|  | 		TC	L | ||||||
|  |  | ||||||
|  | DOWNFLAG	CA	Q | ||||||
|  | 		TC	DEBIT | ||||||
|  | 		MASK	L		# RESET BIT | ||||||
|  | 		TCF	COMFLAG | ||||||
|  |  | ||||||
|  | DEBIT		AD	ONE		# CET DE BITS | ||||||
|  | 		INHINT | ||||||
|  | 		TS	ITEMP3 | ||||||
|  | 		CA	LOW4		# DEC15 | ||||||
|  | 		TS	ITEMP1 | ||||||
|  | 		INDEX	ITEMP3 | ||||||
|  | 		CA	0 -1		# ADRES | ||||||
|  | 		TS	L | ||||||
|  | 		CA	ZERO | ||||||
|  | # Page 1376 | ||||||
|  | 		EXTEND | ||||||
|  | 		DV	ITEMP1		# A = FLAGWRD, L = (15 - BIT) | ||||||
|  | 		DXCH	ITEMP1 | ||||||
|  | 		INDEX	ITEMP1 | ||||||
|  | 		CA	FLAGWRD0 | ||||||
|  | 		TS	L		# CURRENT STATE | ||||||
|  | 		INDEX	ITEMP2 | ||||||
|  | 		CS	BIT15		# -(15 - BIT) | ||||||
|  | 		TC	Q | ||||||
|  |  | ||||||
|  | # Page 1377 | ||||||
|  | # DELAYJOB -- A GENERAL ROUTINE TO DELAY A JOB A SPECIFIC AMOUNT OF TIME BEFORE PICKING UP AGAIN. | ||||||
|  | # | ||||||
|  | # ENTRANCE REQUIREMENTS ... | ||||||
|  | #		CAF	DT		# DELAY JOB FOR DT CENTISECS | ||||||
|  | #		TC	BANKCALL | ||||||
|  | #		CADR	DELAYJOB | ||||||
|  |  | ||||||
|  | 		BANK	06 | ||||||
|  | 		SETLOC	DLAYJOB | ||||||
|  | 		BANK | ||||||
|  |  | ||||||
|  | # THIS MUST REMAIN IN BANK 0 **************************************** | ||||||
|  |  | ||||||
|  | 		COUNT*	$$/DELAY | ||||||
|  | DELAYJOB	INHINT | ||||||
|  | 		TS	Q		# STORE DELAY DT IN Q FOR DLY -1 IN | ||||||
|  | 		CAF	DELAYNUM	# WAITLIST | ||||||
|  | DELLOOP		TS	RUPTREG1 | ||||||
|  | 		INDEX	A | ||||||
|  | 		CA	DELAYLOC	# IS THIS DELAYLOC AVAILABLE | ||||||
|  | 		EXTEND | ||||||
|  | 		BZF	OK2DELAY	# YES | ||||||
|  |  | ||||||
|  | 		CCS	RUPTREG1	# NO, TRY NEXT DELAYLOC | ||||||
|  | 		TCF	DELLOOP | ||||||
|  |  | ||||||
|  | 		DXCH	BUF2 | ||||||
|  | 		TC	BAILOUT1	# NO AVAILABLE LOCS. | ||||||
|  | 		OCT	1104 | ||||||
|  |  | ||||||
|  | OK2DELAY	CA	TCSLEEP		# SET WAITLIST IMMEDIATE RETURN | ||||||
|  | 		TS	WAITEXIT | ||||||
|  |  | ||||||
|  | 		CA	FBANK | ||||||
|  | 		AD	RUPTREG1	# STORE BBANK FOR TASK CALL | ||||||
|  | 		TS	L | ||||||
|  |  | ||||||
|  | 		CAF	WAKECAD		# STORE CADR FOR TASK CALL | ||||||
|  | 		TCF	DLY2 -1		# DLY IS IN WAITLIST ROUTINE | ||||||
|  |  | ||||||
|  | TCGETCAD	TC	MAKECADR	# GET CALLERS FCADR | ||||||
|  |  | ||||||
|  | 		INDEX	RUPTREG1 | ||||||
|  | 		TS	DELAYLOC	# SAVE DELAY CADRS | ||||||
|  |  | ||||||
|  | 		TC	JOBSLEEP | ||||||
|  |  | ||||||
|  | WAKER		CAF	ZERO | ||||||
|  | 		INDEX	BBANK | ||||||
|  | 		XCH	DELAYLOC	# MAKE DELAYLOC AVAILABLE | ||||||
|  | # Page 1378 | ||||||
|  | 		TC	JOBWAKE | ||||||
|  |  | ||||||
|  | 		TC	TASKOVER | ||||||
|  |  | ||||||
|  | TCSLEEP		GENADR	TCGETCAD -2 | ||||||
|  | WAKECAD		GENADR	WAKER | ||||||
|  |  | ||||||
|  | # Page 1379 | ||||||
|  | # GENTRAN, A BLOCK TRANSFER ROUTINE | ||||||
|  | # WRITTEN BY D. EYLES | ||||||
|  | # MOD 1 BY KERNAN				UTILITYM REV 17 11/18/67 | ||||||
|  | # MOD 2 BY SCHULENBERG (REMOVE RELINT) SKIPPER REV 4 2/28/68 | ||||||
|  | # | ||||||
|  | # THIS ROUTINE IS USEFUL FOR TRANSFERING N CONSECUTIVE ERASABLE OR FIXED QUANTITIES TO SOME OTHER N | ||||||
|  | # CONSECUTIVE ERASABLE LOCATIONS.  IF BOTH BLOCKS OF DATA ARE IN SWITCHABLE EBANKS, THEY MUST BE IN THE SAME ONE. | ||||||
|  | # | ||||||
|  | # GENTRAN IS CALLABLE IN A JOB AS WELL AS A RUPT.  THE CALLING SEQUENCE IS: | ||||||
|  | #	I	CA	N-1		# # OF QUANTITIES MINUS ONE. | ||||||
|  | #	I +1	TC	GENTRAN		# IN FIXED-FIXED. | ||||||
|  | #	I +2	ADRES	L		# STARTING ADRES OF DATA TO BE MOVED. | ||||||
|  | #	I +3	ADRES	M		# STARTING ADRES OF DUPLICATION BLOCK. | ||||||
|  | #	I +4				# RETURNS HERE. | ||||||
|  | # | ||||||
|  | # GENTRAN TAKES 25 MCT'S (300 MICROSECONDS) PER ITEM + 5 MCT'S (60 MICS) FOR ENTERING AND EXITING. | ||||||
|  | # A, L, AND ITEMP1 ARE NOT PRESERVED. | ||||||
|  |  | ||||||
|  | 		BLOCK	02 | ||||||
|  | 		SETLOC	FFTAG4 | ||||||
|  | 		BANK | ||||||
|  |  | ||||||
|  | 		EBANK=	ITEMP1 | ||||||
|  |  | ||||||
|  | 		COUNT*	$$/TRAN | ||||||
|  |  | ||||||
|  | GENTRAN		INHINT | ||||||
|  | 		TS	ITEMP1		# SAVE N-1 | ||||||
|  | 		INDEX	Q		# C(Q) = ADRES L. | ||||||
|  | 		AD	0		# ADRES (L + N - 1). | ||||||
|  | 		INDEX	A | ||||||
|  | 		CA	0		# C(ABOVE). | ||||||
|  | 		TS	L		# SAVE DATA. | ||||||
|  | 		CA	ITEMP1 | ||||||
|  | 		INDEX	Q | ||||||
|  | 		AD	1		# ADRES (M + N - 1). | ||||||
|  | 		INDEX	A | ||||||
|  | 		LXCH	0		# STUFF IT. | ||||||
|  | 		CCS	ITEMP1		# LOOP UNTIL N-1 = 0. | ||||||
|  | 		TCF	GENTRAN +1 | ||||||
|  | 		TCF	Q+2		# RETURN TO CALLER. | ||||||
|  |  | ||||||
|  | # Page 1380 | ||||||
|  | # B5OFF		ZERO BIT 5 OF EXTVBACK, WHICH IS SET BY TESTXACT. | ||||||
|  | # MAY BE USED AS NEEDED BY ANY EXTENDED VERB WHICH HAS DONE TESTXACT | ||||||
|  |  | ||||||
|  | 		COUNT*	$$/EXTVB | ||||||
|  |  | ||||||
|  | B5OFF		CS	BIT5 | ||||||
|  | 		MASK	EXTVBACT | ||||||
|  | 		TS	EXTVBACT | ||||||
|  | 		TC	ENDOFJOB | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
							
								
								
									
										69
									
								
								Luminary099/SINGLE_PRECISION_SUBROUTINES.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										69
									
								
								Luminary099/SINGLE_PRECISION_SUBROUTINES.agc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,69 @@ | |||||||
|  | # Copyright:	Public domain. | ||||||
|  | # Filename:	SINGLE_PRECISION_SUBROUTINES.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:	1102 | ||||||
|  | # Mod history:	2009-05-25 RSB	Adapted from the corresponding  | ||||||
|  | #				Luminary131 file, using page  | ||||||
|  | #				images from Luminary 1A. | ||||||
|  | #		2010-12-31 JL	Fixed page number comment. | ||||||
|  | # | ||||||
|  | # 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-61 | ||||||
|  | #	16:27 JULY 14, 1969  | ||||||
|  |  | ||||||
|  | # Page 1102 | ||||||
|  | 		BLOCK	02 | ||||||
|  |  | ||||||
|  | # SINGLE PRECISION SINE AND COSINE | ||||||
|  |  | ||||||
|  | 		COUNT*	$$/INTER | ||||||
|  | SPCOS		AD	HALF		# ARGUMENTS SCALED AT PI | ||||||
|  | SPSIN		TS	TEMK | ||||||
|  | 		TCF	SPT | ||||||
|  | 		CS	TEMK | ||||||
|  | SPT		DOUBLE | ||||||
|  | 		TS	TEMK | ||||||
|  | 		TCF	POLLEY | ||||||
|  | 		XCH	TEMK | ||||||
|  | 		INDEX	TEMK | ||||||
|  | 		AD 	LIMITS | ||||||
|  | 		COM | ||||||
|  | 		AD	TEMK | ||||||
|  | 		TS	TEMK | ||||||
|  | 		TCF	POLLEY | ||||||
|  | 		TCF	ARG90 | ||||||
|  | POLLEY		EXTEND | ||||||
|  | 		MP	TEMK | ||||||
|  | 		TS	SQ | ||||||
|  | 		EXTEND | ||||||
|  | 		MP	C5/2 | ||||||
|  | 		AD	C3/2 | ||||||
|  | 		EXTEND | ||||||
|  | 		MP	SQ | ||||||
|  | 		AD	C1/2 | ||||||
|  | 		EXTEND | ||||||
|  | 		MP	TEMK | ||||||
|  | 		DDOUBL | ||||||
|  | 		TS	TEMK | ||||||
|  | 		TC	Q | ||||||
|  | ARG90		INDEX	A | ||||||
|  | 		CS	LIMITS | ||||||
|  | 		TC	Q		# RESULT SCALED AT 1. | ||||||
|  | 		 | ||||||
|  |  | ||||||
							
								
								
									
										441
									
								
								Luminary099/STABLE_ORBIT.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										441
									
								
								Luminary099/STABLE_ORBIT.agc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,441 @@ | |||||||
|  | # 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 | ||||||
|  | # Mod history:	2009-05-19 RSB	Adapted from the corresponding  | ||||||
|  | #				Colossus249 file (there being no corresponding | ||||||
|  | #				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-61 | ||||||
|  | #	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 26JAN68 | ||||||
|  | # | ||||||
|  | # 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)  DELTA 	VELOCITY AT SOI (AND SOR) -- LOCAL VERTICAL | ||||||
|  | #			CORDINATES | ||||||
|  | # | ||||||
|  | # SUBROUTINE 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	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	GOTOP00H	# TERMINATE | ||||||
|  | 		TCF	+5		# PROCEED | ||||||
|  | 		TCF	-5		# RECYCLE | ||||||
|  | 		CAF	THREE		# IMMEDIATE RETURN -- BLANK R1, R2 | ||||||
|  | 		TCR	BLANKET | ||||||
|  | # 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	GOTOP00H	# 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	GOTOP00H	# 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 | ||||||
|  | 		 | ||||||
|  | # .... 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 | ||||||
|  | # 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 | ||||||
|  | 			 | ||||||
|  | # 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 | ||||||
|  | # 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) | ||||||
|  | 			 | ||||||
|  | # .... 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 | ||||||
|  | # Page 730 | ||||||
|  | #	LEMPREC | ||||||
|  |  | ||||||
|  | INTRPVP		STQ	BOFF		# PRECISION UPDATE PASSIVE VEHICLE TO | ||||||
|  | 			RTRN		#	TDEC1 | ||||||
|  | 			AVFLAG | ||||||
|  | 			OTHERV | ||||||
|  | 		CALL | ||||||
|  | 			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 | ||||||
|  | DECTWO		OCT	2 | ||||||
|  |  | ||||||
|  | # *** END OF KISSING  .050 *** | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
							
								
								
									
										125
									
								
								Luminary099/SYSTEM_TEST_STANDARD_LEAD_INS.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										125
									
								
								Luminary099/SYSTEM_TEST_STANDARD_LEAD_INS.agc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,125 @@ | |||||||
|  | # Copyright:	Public domain. | ||||||
|  | # Filename:	SYSTEM_TEST_STANDARD_LEAD_INS.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:	370-372 | ||||||
|  | # Mod history:	2009-05-17 RSB	Adapted from the corresponding  | ||||||
|  | #				Luminary131 file, using page  | ||||||
|  | #				images from Luminary 1A. | ||||||
|  | # | ||||||
|  | # 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-61 | ||||||
|  | #	16:27 JULY 14, 1969  | ||||||
|  |  | ||||||
|  | # Page 370 | ||||||
|  | 		EBANK=	XSM | ||||||
|  | 		 | ||||||
|  | 		BANK	33 | ||||||
|  | 		SETLOC	E/PROG | ||||||
|  | 		BANK | ||||||
|  | 		 | ||||||
|  | 		COUNT*	$$/P07 | ||||||
|  | 		 | ||||||
|  | # SPECIAL PROGRAMS TO EASE THE PANGS OF ERASABLE MEMORY PROGRAMS. | ||||||
|  | # | ||||||
|  | # E/BKCALL	FOR DOING BANKCALLS FROM AND RETURNING TO ERASABLE. | ||||||
|  | # | ||||||
|  | # THIS ROUTINE IS CALLABLE FROM ERASABLE OR FIXED.  LIKE BANKCALL, HOWEVER, SWITCHING BETWEEN S3 AND S4 | ||||||
|  | # IS NOT POSSIBLE. | ||||||
|  | # | ||||||
|  | # THE CALLING SEQUENCE IS | ||||||
|  | # | ||||||
|  | #	TC	BANKCALL | ||||||
|  | #	CADR	E/BKCALL | ||||||
|  | #	CADR	ROUTINE		# WHERE TO WANT TO GO IN FIXED. | ||||||
|  | #	RETURN HERE FROM DISPLAY TERMINATE, BAD STALL OR TC Q. | ||||||
|  | #	RETURN HERE FROM DISPLAY PROCEED OR GOOD RETURN FROM STALL. | ||||||
|  | #	RETURN HERE FROM DISPLAY ENTER OR RECYCLE. | ||||||
|  | # | ||||||
|  | # THIS ROUTINE REQUIRES TWO ERASABLES (EBUF2, +1) IN UNSWITCHED WHICH ARE UNSHARED BY INTERRUPTS AND | ||||||
|  | # OTHER EMEMORY PROGRAMS. | ||||||
|  | # | ||||||
|  | # A + L ARE PRESERVED THROUGH BANKCALL AND E/BKCALL. | ||||||
|  |  | ||||||
|  | E/BKCALL	DXCH	BUF2		# SAVE A,L AND GET DP RETURN | ||||||
|  | 		DXCH	EBUF2		# SAVE DP RETURN. | ||||||
|  | 		INCR	EBUF2		# RETURN +1 BECAUSE DOUBLE CADR. | ||||||
|  | 		CA	BBANK | ||||||
|  | 		MASK	LOW10		# GET CURRENT EBANK.  (SBANK SOMEDAY) | ||||||
|  | 		ADS	EBUF2	+1	# FORM BBCON.  (WAS FBANK) | ||||||
|  | 		NDX	EBUF2 | ||||||
|  | 		CA	0 	-1	# GET CADR OF ROUTINE. | ||||||
|  | 		TC	SWCALL		# GO TO ROUTINE, SETTING Q TO SWRETURN | ||||||
|  | 					# AND RESTORING A + L. | ||||||
|  | 		TC	+4		# TX Q, V34, OR BAD STALL RETURN. | ||||||
|  | 		TC	+2		# PROCEED OR GOOD STALL RETURN. | ||||||
|  | 		INCR	EBUF2		# ENTER OR RECYCLE RETURN | ||||||
|  | 		INCR	EBUF2 | ||||||
|  | E/SWITCH	DXCH	EBUF2 | ||||||
|  | 		DTCB | ||||||
|  | 		 | ||||||
|  | # Page 371 | ||||||
|  | # E/CALL	FOR CALLING A FIXED MEMORY INTERPRETIVE SUBROUTINE FROM ERASABLE AND RETURNING TO ERASABLE. | ||||||
|  | # | ||||||
|  | # THE CALLING SEQUENCE IS... | ||||||
|  | # | ||||||
|  | #	RTB | ||||||
|  | #		E/CALL | ||||||
|  | #	CADR	ROUTINE			# THE INTERPRETIVE SUBROUTINE YOU WANT | ||||||
|  | #					# RETURNS HERE IN INTERPRETIVE. | ||||||
|  | 	 | ||||||
|  | E/CALL		LXCH	LOC		# ADRES -1 OF CADR. | ||||||
|  | 		INDEX	L | ||||||
|  | 		CA	L		# CADR IN A. | ||||||
|  | 		INCR	L | ||||||
|  | 		INCR	L		# RETURN ADRES IN L. | ||||||
|  | 		DXCH	EBUF2		# STORE CADR AND RETURN | ||||||
|  | 		TC	INTPRET | ||||||
|  | 		CALL | ||||||
|  | 			EBUF2		# INDIRECTLY EXECUTE ROUTING.  IT MUST | ||||||
|  | 		EXIT			# LEAVE VIA RVQ OR EQUIVALENT. | ||||||
|  | 		LXCH	EBUF2 	+1	# PICK UP RETURN. | ||||||
|  | 		TCF	INTPRET +2	# SET LOC AND RETURN TO CALLER. | ||||||
|  | 		 | ||||||
|  | # Page 372 | ||||||
|  | # E/JOBWAK	FOR WAKING UP ERASABLE MEMORY JOBS. | ||||||
|  | # | ||||||
|  | # THIS ROUTINE MUST BE CALLED IN INTERRUPT OR WITH INTERRUPTS INHIBITED. | ||||||
|  | # | ||||||
|  | # THE CALLING SEQUENCE IS | ||||||
|  | # | ||||||
|  | #	INHINT | ||||||
|  | #	... | ||||||
|  | #	CA	WAKEADR		# ADDRESS OF SLEEPING JOB | ||||||
|  | #	TC	IBNKCALL | ||||||
|  | #	CADR	E/JOBWAK | ||||||
|  | #	...			# RETURNS HERE | ||||||
|  | #	RELINT			# IF YOU DID AND INHINT | ||||||
|  |  | ||||||
|  | 		BANK	33 | ||||||
|  | 		SETLOC	E/PROG | ||||||
|  | 		BANK | ||||||
|  | 		 | ||||||
|  | 		COUNT*	 $$/P07 | ||||||
|  | 		 | ||||||
|  | E/JOBWAK	TC	JOBWAKE		# ARRIVE WITH ADRES IN A. | ||||||
|  | 		CS	BIT11 | ||||||
|  | 		NDX	LOCCTR | ||||||
|  | 		ADS	LOC		# KNOCK FIXED MEMORY BIT OUT OF ADRES. | ||||||
|  | 		TC	RUPTREG3	# RETURN | ||||||
|  | 		 | ||||||
							
								
								
									
										1354
									
								
								Luminary099/T4RUPT_PROGRAM.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1354
									
								
								Luminary099/T4RUPT_PROGRAM.agc
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										347
									
								
								Luminary099/TAGS_FOR_RELATIVE_SETLOC.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										347
									
								
								Luminary099/TAGS_FOR_RELATIVE_SETLOC.agc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,347 @@ | |||||||
|  | # Copyright:	Public domain. | ||||||
|  | # Filename:	TAGS_FOR_RELATIVE_SETLOC.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:	Jim Lawton <jim.lawton@gmail.com> | ||||||
|  | # Website:	www.ibiblio.org/apollo. | ||||||
|  | # Pages:	028-037 | ||||||
|  | # Mod history:	2009-05-16	JVL	Transcribed from page images. | ||||||
|  | # | ||||||
|  | # 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 28 | ||||||
|  | # TAGS FOR RELATIVE SETLOC AND BLANK BANK CARDS | ||||||
|  |  | ||||||
|  | # 		COUNT	BANKSUM | ||||||
|  |  | ||||||
|  | # MODULE 1 CONTAINS BANKS 0 THROUGH 5 | ||||||
|  |  | ||||||
|  | 		BLOCK	02 | ||||||
|  | RADARFF		EQUALS | ||||||
|  | FFTAG1		EQUALS | ||||||
|  | FFTAG2		EQUALS | ||||||
|  | FFTAG3		EQUALS | ||||||
|  | FFTAG4		EQUALS | ||||||
|  | FFTAG7		EQUALS | ||||||
|  | FFTAG8		EQUALS | ||||||
|  | FFTAG9		EQUALS | ||||||
|  | FFTAG10		EQUALS | ||||||
|  | FFTAG11		EQUALS | ||||||
|  | FFTAG12		EQUALS | ||||||
|  | FFTAG13		EQUALS | ||||||
|  | 		BNKSUM	02 | ||||||
|  | 		 | ||||||
|  | 		BLOCK	03 | ||||||
|  | FFTAG5		EQUALS | ||||||
|  | FFTAG6		EQUALS | ||||||
|  | 		BNKSUM	03 | ||||||
|  | 		 | ||||||
|  | 		BANK	00 | ||||||
|  | DLAYJOB		EQUALS | ||||||
|  | 		BNKSUM	00 | ||||||
|  | 		 | ||||||
|  | 		BANK	01 | ||||||
|  | RESTART		EQUALS | ||||||
|  | LOADDAP1	EQUALS | ||||||
|  | 		BNKSUM	01 | ||||||
|  | 		 | ||||||
|  | 		BANK	04 | ||||||
|  | R02		EQUALS | ||||||
|  | VERB37		EQUALS | ||||||
|  | PINBALL4	EQUALS | ||||||
|  | CONICS1		EQUALS | ||||||
|  | KEYRUPT		EQUALS | ||||||
|  | R36LM		EQUALS | ||||||
|  | UPDATE2		EQUALS | ||||||
|  | E/PROG		EQUALS | ||||||
|  | AOTMARK2	EQUALS | ||||||
|  | 		BNKSUM	04 | ||||||
|  | 		 | ||||||
|  | # Page 29 | ||||||
|  | 		BANK	05 | ||||||
|  | FRANDRES	EQUALS | ||||||
|  | DOWNTELM	EQUALS | ||||||
|  | ABORTS1		EQUALS | ||||||
|  | EPHEM1		EQUALS | ||||||
|  | ASENT3		EQUALS | ||||||
|  | 		BNKSUM	05 | ||||||
|  | 		 | ||||||
|  | # MODULE 2 CONTAINS BANKS 6 THROUGH 13 | ||||||
|  |  | ||||||
|  | 		BANK	06 | ||||||
|  | IMUCOMP		EQUALS | ||||||
|  | T4RUP		EQUALS | ||||||
|  | RCSMONT		EQUALS | ||||||
|  | MIDDGIM		EQUALS | ||||||
|  | EARTHLOC	EQUALS | ||||||
|  | 		BNKSUM	06 | ||||||
|  | 	 | ||||||
|  | 		BANK	07 | ||||||
|  | AOTMARK1	EQUALS | ||||||
|  | MODESW		EQUALS | ||||||
|  | ASENT2		EQUALS | ||||||
|  | 		BNKSUM	07 | ||||||
|  | 		 | ||||||
|  | 		BANK	10 | ||||||
|  | RTBCODES	EQUALS | ||||||
|  | DISPLAYS	EQUALS | ||||||
|  | PHASETAB	EQUALS | ||||||
|  | FLESHLOC	EQUALS | ||||||
|  | SLCTMU		EQUALS | ||||||
|  | 		BNKSUM	10 | ||||||
|  | 		 | ||||||
|  | 		BANK	11 | ||||||
|  | ORBITAL		EQUALS | ||||||
|  | F2DPS*11	EQUALS | ||||||
|  | INTVEL		EQUALS | ||||||
|  | 		BNKSUM	11 | ||||||
|  | 		 | ||||||
|  | 		BANK	12 | ||||||
|  | CONICS		EQUALS | ||||||
|  | ORBITAL1	EQUALS | ||||||
|  | # Page 30 | ||||||
|  | INTPRET2	EQUALS | ||||||
|  | 		BNKSUM	12 | ||||||
|  | 		 | ||||||
|  | 		BANK	13 | ||||||
|  | LATLONG		EQUALS | ||||||
|  | INTINIT		EQUALS | ||||||
|  | LEMGEOM		EQUALS | ||||||
|  | P76LOC		EQUALS | ||||||
|  | ORBITAL2	EQUALS | ||||||
|  | ABTFLGS		EQUALS | ||||||
|  | 		BNKSUM	13 | ||||||
|  | 		 | ||||||
|  | # Page 31 | ||||||
|  | # MODULE 3 CONTAINS BANKS 14 THROUGH 21 | ||||||
|  |  | ||||||
|  | 		BANK 	14 | ||||||
|  | P50S1		EQUALS | ||||||
|  | STARTAB		EQUALS | ||||||
|  | ASENT4		EQUALS | ||||||
|  | 		BNKSUM	14	 | ||||||
|  |  | ||||||
|  | 		BANK	15 | ||||||
|  | P50S		EQUALS | ||||||
|  | EPHEM		EQUALS | ||||||
|  | 		BNKSUM	15 | ||||||
|  | 		 | ||||||
|  | 		BANK	16 | ||||||
|  | DAPS1		EQUALS | ||||||
|  | 		BNKSUM	16 | ||||||
|  | 		 | ||||||
|  | 		BANK	17 | ||||||
|  | DAPS2		EQUALS | ||||||
|  | P40S3		EQUALS | ||||||
|  | 		BNKSUM	17 | ||||||
|  | 		 | ||||||
|  | 		BANK	20 | ||||||
|  | DAPS3		EQUALS | ||||||
|  | LOADDAP		EQUALS | ||||||
|  | RODTRAP		EQUALS | ||||||
|  | 		BNKSUM	20 | ||||||
|  | 		 | ||||||
|  | 		BANK	21 | ||||||
|  | DAPS4		EQUALS | ||||||
|  | R10		EQUALS | ||||||
|  | R11		EQUALS | ||||||
|  | 		BNKSUM	21 | ||||||
|  | # Page 32 | ||||||
|  |  | ||||||
|  | # MODULE 4 CONTAINS BANKS 22 THROUGH 27 | ||||||
|  |  | ||||||
|  | 		BANK	22 | ||||||
|  | KALCMON1	EQUALS | ||||||
|  | KALCMON2	EQUALS | ||||||
|  | R30LOC		EQUALS | ||||||
|  | RENDEZ		EQUALS | ||||||
|  | SERV2		EQUALS | ||||||
|  | LANDCNST	EQUALS | ||||||
|  | 		BNKSUM	22 | ||||||
|  |  | ||||||
|  | 		BANK	23 | ||||||
|  | POWFLITE	EQUALS | ||||||
|  | POWFLIT1	EQUALS | ||||||
|  | INFLIGHT	EQUALS | ||||||
|  | APOPERI		EQUALS | ||||||
|  | R61		EQUALS | ||||||
|  | R62		EQUALS | ||||||
|  | INTPRET1	EQUALS | ||||||
|  | MEASINC		EQUALS | ||||||
|  | MEASINC1	EQUALS | ||||||
|  | EXTVB1		EQUALS | ||||||
|  | P12A		EQUALS | ||||||
|  | NORMLIZ		EQUALS | ||||||
|  | ASENT7		EQUALS | ||||||
|  | 		BNKSUM	23 | ||||||
|  | 		 | ||||||
|  | 		BANK	24 | ||||||
|  | PLANTIN		EQUALS | ||||||
|  | P20S		EQUALS | ||||||
|  | 		BNKSUM	24 | ||||||
|  | 		 | ||||||
|  | 		BANK	25 | ||||||
|  | P20S1		EQUALS | ||||||
|  | P20S2		EQUALS | ||||||
|  | RADARUPT	EQUALS | ||||||
|  | RRLEADIN	EQUALS | ||||||
|  | R29S1		EQUALS | ||||||
|  | PLANTIN3	EQUALS | ||||||
|  | 		BNKSUM	25 | ||||||
|  | 		 | ||||||
|  | 		BANK	26 | ||||||
|  | # Page 33 | ||||||
|  | P20S3		EQUALS | ||||||
|  | BAWLANGS	EQUALS | ||||||
|  | MANUVER		EQUALS | ||||||
|  | MANUVER1	EQUALS | ||||||
|  | PLANTIN1	EQUALS | ||||||
|  | PLANTIN2	EQUALS | ||||||
|  | 		BNKSUM	26 | ||||||
|  | 		 | ||||||
|  | 		BANK	27 | ||||||
|  | TOF-FF		EQUALS | ||||||
|  | TOF-FF1		EQUALS | ||||||
|  | P40S1		EQUALS | ||||||
|  | VECPT		EQUALS | ||||||
|  | ASENT1		EQUALS | ||||||
|  | SERV3		EQUALS | ||||||
|  | 		BNKSUM	27 | ||||||
|  |  | ||||||
|  | # Page 34 | ||||||
|  | # MODULE 5 CONTAINS BANKS 30 THROUGH 35 | ||||||
|  |  | ||||||
|  | 		BANK	30 | ||||||
|  | LOWSUPER	EQUALS | ||||||
|  | P12		EQUALS | ||||||
|  | ASENT		EQUALS | ||||||
|  | FCDUW		EQUALS | ||||||
|  | FLOGSUB		EQUALS | ||||||
|  | VB67A		EQUALS | ||||||
|  | ASENT5		EQUALS | ||||||
|  | 		BNKSUM	30 | ||||||
|  | 		 | ||||||
|  | 		BANK	31 | ||||||
|  | FTHROT		EQUALS | ||||||
|  | F2DPS*31	EQUALS | ||||||
|  | VB67		EQUALS | ||||||
|  | 		BNKSUM	31 | ||||||
|  | 		 | ||||||
|  | 		BANK	32 | ||||||
|  | P20S4		EQUALS | ||||||
|  | F2DPS*32	EQUALS | ||||||
|  | ABORTS		EQUALS | ||||||
|  | LRS22		EQUALS | ||||||
|  | P66LOC		EQUALS | ||||||
|  | R47		EQUALS | ||||||
|  | SERV		EQUALS | ||||||
|  | 		BNKSUM	32 | ||||||
|  | 		 | ||||||
|  | 		BANK	33 | ||||||
|  | SERVICES	EQUALS | ||||||
|  | R29/SERV	EQUALS | ||||||
|  | ASENT6		EQUALS | ||||||
|  | 		BNKSUM	33 | ||||||
|  | 		 | ||||||
|  | 		BANK	34 | ||||||
|  | STBLEORB	EQUALS | ||||||
|  | P30S1		EQUALS | ||||||
|  | CSI/CDH1	EQUALS | ||||||
|  | ASCFILT		EQUALS | ||||||
|  | R12STUFF	EQUALS | ||||||
|  | SERV4		EQUALS | ||||||
|  | 		BNKSUM	34 | ||||||
|  |  | ||||||
|  | # Page 35 | ||||||
|  | 		BANK	35 | ||||||
|  | CSI/CDH		EQUALS | ||||||
|  | P30S		EQUALS | ||||||
|  | GLM		EQUALS | ||||||
|  | P40S2		EQUALS | ||||||
|  | 		BNKSUM	35 | ||||||
|  | 		 | ||||||
|  | # Page 36 | ||||||
|  | # MODULE 6 CONTAINS BANKS 36 THROUGH 43 | ||||||
|  |  | ||||||
|  | 		BANK	36 | ||||||
|  | P40S		EQUALS | ||||||
|  | 		BNKSUM	36 | ||||||
|  | 		 | ||||||
|  | 		BANK	37 | ||||||
|  | P05P06		EQUALS | ||||||
|  | IMU2		EQUALS | ||||||
|  | IMU4		EQUALS | ||||||
|  | R31		EQUALS | ||||||
|  | IMUSUPER	EQUALS | ||||||
|  | SERV1		EQUALS | ||||||
|  | 		BNKSUM	37 | ||||||
|  | 		 | ||||||
|  | 		BANK	40 | ||||||
|  | PINBALL1	EQUALS | ||||||
|  | SELFSUPR	EQUALS | ||||||
|  | PINSUPER	EQUALS | ||||||
|  | R31LOC		EQUALS | ||||||
|  | 		BNKSUM	40 | ||||||
|  | 		 | ||||||
|  | 		BANK	41 | ||||||
|  | PINBALL2	EQUALS | ||||||
|  | 		BNKSUM	41 | ||||||
|  | 		 | ||||||
|  | 		BANK	42 | ||||||
|  | SBAND		EQUALS	 | ||||||
|  | PINBALL3	EQUALS | ||||||
|  | 		BNKSUM	42 | ||||||
|  | 		 | ||||||
|  | 		BANK	43 | ||||||
|  | EXTVERBS	EQUALS | ||||||
|  | SELFCHEC	EQUALS | ||||||
|  | 		BNKSUM	43 | ||||||
|  | 		 | ||||||
|  | # Page 37 | ||||||
|  |  | ||||||
|  | HI6ZEROS	EQUALS	ZEROVECS		# ZERO VECTOR ALWAYS IN HIGH MEMORY | ||||||
|  | LO6ZEROS	EQUALS	ZEROVEC			# ZERO VECTOR ALWAYS IN LOW MEMORY | ||||||
|  | HIDPHALF	EQUALS	UNITX | ||||||
|  | LODPHALF	EQUALS	XUNIT | ||||||
|  | HIDP1/4		EQUALS	DP1/4TH | ||||||
|  | LODP1/4		EQUALS	D1/4			# 2DEC .25 | ||||||
|  | HIUNITX		EQUALS	UNITX | ||||||
|  | HIUNITY		EQUALS	UNITY | ||||||
|  | HIUNITZ		EQUALS	UNITZ | ||||||
|  | LOUNITX		EQUALS	XUNIT			# 2DEC .5 | ||||||
|  | LOUNITY		EQUALS	YUNIT			# 2DEC 0 | ||||||
|  | LOUNITZ		EQUALS	ZUNIT			# 2DEC 0 | ||||||
|  |  | ||||||
|  | DELRSPL		EQUALS	SPLRET			# COL PGM, ALSO CALLED BY R30 IN LUMINARY. | ||||||
|  |  | ||||||
|  | # ROPE-SPECIFIC ASSIGNS OBVIATING NEED TO CHECK COMPUTER FLAG IN DETERMINING INTEGRATION AREA ENTRIES. | ||||||
|  |  | ||||||
|  | ATOPTHIS	EQUALS	ATOPLEM | ||||||
|  | ATOPOTH		EQUALS	ATOPCSM | ||||||
|  | OTHPREC		EQUALS	CSMPREC | ||||||
|  | MOONTHIS	EQUALS	LMOONFLG | ||||||
|  | MOONOTH		EQUALS	CMOONFLG | ||||||
|  | MOVATHIS	EQUALS	MOVEALEM | ||||||
|  | RMM		=	LODPMAX | ||||||
|  | RME		=	LODPMAX1 | ||||||
|  | THISPREC	EQUALS	LEMPREC | ||||||
|  | THISAXIS	=	UNITZ | ||||||
|  | NB1NB2		EQUALS	THISAXIS		# FOR R31 | ||||||
|  | ERASID		EQUALS	BITS2-10		# DOWNLINK ERASABLE DUMP ID | ||||||
|  | DELAYNUM	EQUALS	TWO | ||||||
|  |  | ||||||
							
								
								
									
										721
									
								
								Luminary099/TIME_OF_FREE_FALL.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										721
									
								
								Luminary099/TIME_OF_FREE_FALL.agc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,721 @@ | |||||||
|  | # Copyright:	Public domain. | ||||||
|  | # Filename:	TIME_OF_FREE_FALL.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:	1268-1283 | ||||||
|  | # Mod history:	2009-05-26 RSB	Adapted from the corresponding  | ||||||
|  | #				Luminary131 file, using page  | ||||||
|  | #				images from Luminary 1A. | ||||||
|  | #		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-61 | ||||||
|  | #	16:27 JULY 14, 1969  | ||||||
|  |  | ||||||
|  | # Page 1268 | ||||||
|  | # THE TFF SUBROUTINES MAY BE USED IN EITHER EARTH OR MOON CENTERED COORDINATES.  THE TFF ROUTINES NEVER | ||||||
|  | # KNOW WHICH ORIGIN APPLIES.  IT IS THE USER WHO KNOWS, AND WHO SUPPLIES RONE, VONE, AND 1/SQRT(MU) AT THE | ||||||
|  | # APPROPRIATE SCALE LEVEL FOR THE PROPER PRIMARY BODY. | ||||||
|  | # | ||||||
|  | #	EARTH ORIGIN	POSITION	-29	METERS | ||||||
|  | #			VELOCITY	-7	METERS/CENTISECOND | ||||||
|  | #			1/SQRT(MU)	+17	SQRT(CS SQ/METERS CUBED) | ||||||
|  | # | ||||||
|  | #	MOON ORIGIN	POSITION	-27	METERS | ||||||
|  | #			VELOCITY	-5	METERS/CENTISECONDS | ||||||
|  | #			1/SQRT(MU)	+14	SQRT(CS SQ/METERS CUBED) | ||||||
|  | # | ||||||
|  | # ALL DATA PROVIDED TO AND RECEIVED FROM ANY TFF SUBROUTINE WILL BE AT ONE OF THE LEVELS ABOVE.  IN ALL CASES, | ||||||
|  | # THE FREE FALL TIME IS RETURNED IN CENTISECONDS AT (-28).  PROGRAM TFF/CONIC WILL GENERATE VONE/RTMU AND | ||||||
|  | # LEAVE IT IN VONE' AT (+10) IF EARTH ORIGIN AND (+9) IF MOON ORIGIN. | ||||||
|  | # | ||||||
|  | # THE USER MUST STORE THE STATE VECTOR IN RONE, VONE, AND MU IN THE FORM 1/SQRT(MU) IN TFF/RTMU | ||||||
|  | # AT THE PROPER SCALE BEFORE CALLING TFF/CONIC.  SINCE RONE, VONE ARE IN THE EXTENDED VERB STORAGE AREA, | ||||||
|  | # THE USER MUST ALSO LOCK OUT THE EXTENDED VERBS, AND RELEASE THEM WHEN FINISHED. | ||||||
|  | # | ||||||
|  | # PROGRAMS CALC/TFF AND CALC/TPER ASSUME THAT THE TERMINAL RADIUS IS LESS THAN THE PRESENT | ||||||
|  | # RADIUS.  THIS RESTRICTION CAN BE REMOVED BY A 15 W CODING CHANGE, BUT AT PRESENT IT IS NOT DEEMED NECESSARY. | ||||||
|  | # | ||||||
|  | # THE FOLLOWING ERASABLE QUANTITIES ARE USED BY THE TFF ROUTINES, AND ARE LOCATED IN THE PUSH LIST. | ||||||
|  | # | ||||||
|  | #					BELOW	E:  IS USED FOR EARTH ORIGIN SCALE | ||||||
|  | #						M:  IS USED FOR MOON  ORIGIN SCALE | ||||||
|  | # | ||||||
|  | #TFFSW		=	119D	# BIT1	0 = CALCTFF		1 = CALCTPER | ||||||
|  | TFFDELQ		=	10D	#	Q2-Q1			E: (-16)  M: (-15) | ||||||
|  | RMAG1		=	12D	#	ABVAL(RN)  M		E: (-29)  M: (-27) | ||||||
|  | #RPER		=	14D	#	PERIGEE RADIUS  M	E: (-29)  M: (-27) | ||||||
|  | TFFQ1		=	14D	#	R.V / SQRT(MUE)		E: (-16)  M: (-15) | ||||||
|  | #SDELF/2			#	SIN(THETA) /2 | ||||||
|  | CDELF/2		=	14D	#	COS(THETA) /2 | ||||||
|  | #RAPO		=	16D	#	APOGEE RADIUS  M	E: (-29)  M: (-27) | ||||||
|  | NRTERM		=	16D	#	TERMINAL RADIUS  M	E: (-29+NR) | ||||||
|  | 				#					  M: (-27+NR) | ||||||
|  | RTERM		=	18D	#	TERMINAL RADIUS  M	E: (-29)  M: (-27) | ||||||
|  | TFFVSQ		=	20D	#	-(V SQUARED/MU)  1/M	E: (20)   M: (18) | ||||||
|  | TFF1/ALF	=	22D	#	SEMI MAJ AXIS  M	E: (-22-2 NA) | ||||||
|  | 				#					  M: (-20-2 NA) | ||||||
|  | TFFRTALF	=	24D	#	SQRT(ALFA)		E:(10+NA) M: (9+NA) | ||||||
|  | TFFALFA		=	26D	#	ALFA  1/M		E:(26-NR) M: (24-NR) | ||||||
|  | TFFNP		=	28D	#	SEMI LATUS RECTUM  M	E: (-38+2 NR) | ||||||
|  | 				#					  M: (-36+2 NR) | ||||||
|  | TFF/RTMU	=	30D	#	1/SQRT(MU)		E: (17)   M: (14) | ||||||
|  | NRMAG		=	32D	#	PRESENT RADIUS  M	E: (-29+NR) | ||||||
|  | 				#					  M: (-27+NR) | ||||||
|  | TFFX		=	34D     # | ||||||
|  | TFFTEM		=	36D	#	TEMPORARY | ||||||
|  | # Page 1269 | ||||||
|  | #		REGISTERS S1, S2 ARE UNTOUCED BY ANY TFF SUBROUTINE | ||||||
|  | #		INDEX REGISTERS X1, X2 ARE USED BY ALL TFF SUBROUTINES.  THEY ARE ESTAB- | ||||||
|  | #		LISHED IN TFF/CONIC AND MUST BE PRESERVED BETWEEN CALLS TO SUBSEQUENT | ||||||
|  | #		SUBROUTINES. | ||||||
|  | #		-NR				C(X1) = NORM COUNT OF RMAG | ||||||
|  | #		-NA				C(X2) = NORM COUNT OF SQRT(ABS(ALFA)) | ||||||
|  |  | ||||||
|  | # Page 1270 | ||||||
|  | # SUBROUTINE NAME:  TFFCONIC						DATE:  01.29.67 | ||||||
|  | # MOD NO:  0								LOG SECTION:  TIME OF FREE FALL | ||||||
|  | # MOD BY:  RR BAIRNSFATHER | ||||||
|  | # MOD NO:  1	MOD BY:  RR BAIRNSFATHER	DATE: 11 APR 67 | ||||||
|  | # MOD NO:  2	MOD BY:  RR BAIRNSFATHER	DATE: 21 NOV 67		ADD MOON MU. | ||||||
|  | # MOD NO:  3	MOD BY:  RR BAIRNSFATHER	DATE: 21 MAR 68		ACCEPT DIFFERENT EARTH/MOON SCALES | ||||||
|  | # | ||||||
|  | # FUNCTIONAL DESCRIPTION:  THIS SUBROUTINE IS CALLED TO COMPUTE THOSE CONIC PARAMETERS REQUIRED BY THE TFF | ||||||
|  | #	SUBROUTINES AND TO ESTABLISH THEM IN THE PUSH LIST AREA.  THE PARAMETERS ARE LISTED UNDER OUTPUT. | ||||||
|  | #	THE EQUATIONS ARE: | ||||||
|  | #		_   __ __ | ||||||
|  | #		H = RN*VN			ANGULAR MOMENTUM | ||||||
|  | #		      _ _ | ||||||
|  | #		LCP = H.H / MU			SEMI LATUS RECTUM | ||||||
|  | #		              __ __ | ||||||
|  | #		ALFA = 2/RN - VN.VN / MU	RECIPROCAL SEMI-MAJOR AXIS, SIGNED | ||||||
|  | # | ||||||
|  | # 	AND ALFA IS POS FOR ELLIPTIC ORBITS | ||||||
|  | #	              0 FOR PARABOLIC ORBITS | ||||||
|  | #	            NEG FOR HYPERBOLIC ORBITS | ||||||
|  | #	SUBROUTINE ALSO COMPUTES AND SAVES RMAG. | ||||||
|  | # | ||||||
|  | # CALLING SEQUENCE: | ||||||
|  | #	TFFCONIC EXPECTS CALLER TO ENTER WITH CORRECT GRAVITATIONAL CONSTANT IN MPAC, IN THE FORM | ||||||
|  | #	1/SQRT(MU).  THE PROGRAM WILL SAVE IN TFF/RTMU.  THE SCALE IS DETERMINED BY WHETHER EARTH OR MOON | ||||||
|  | #	ORIGIN IS USED.  THE CALLER MUST LOCK OUT THE EXTENDED VERBS BEFORE PROVIDING STATE VECTOR IN RONE, | ||||||
|  | #	VONE AT PROPER SCALE.  THE EXTENDED VERBS MUST BE RESTORED WHEN THE CALLER IS FINISHED USING THE | ||||||
|  | #	TFF ROUTINES. | ||||||
|  | # | ||||||
|  | #	ENTRY POINT TFFCONMU EXPECTS THAT TFF/RTMU IS ALREADY LOADED. | ||||||
|  | # | ||||||
|  | #	TO SPECIFY MU:	DLOAD	CALL			 	IF MU ALREADY STORED:	CALL | ||||||
|  | #				YOURMU	1/RTMU E:(17) M:(14)					TFFCONMU | ||||||
|  | #				TFFCONIC | ||||||
|  | #	PUSHLOC = PDL+0, ARBITRARY IF LEQ 18D | ||||||
|  | # | ||||||
|  | # SUBROUTINES CALLED:  NONE | ||||||
|  | # | ||||||
|  | # NORMAL EXIT MODES:  RVQ | ||||||
|  | # | ||||||
|  | # ALARMS:  NONE | ||||||
|  | # | ||||||
|  | # OUTPUT:	THE FOLLOWING ARE STORED IN THE PUSH LIST AREA. | ||||||
|  | #		RMAG1		E:(-29) M:(-27)	M  RN, PRESENT RADIUS LENGTH. | ||||||
|  | #		NRMAG		E:(-29+NR)	M  RMAG, NORMALIZED | ||||||
|  | #				M:(-27+NR) | ||||||
|  | #		X1				-NR, NORM COUNT | ||||||
|  | #		TFFNP		E:(-38+2NR)	M  LCP, SEMI LATUS RECTUM, WEIGHTED BY NR.  	FOR VGAMCALC. | ||||||
|  | #				M:(-36+2NR) | ||||||
|  | #		TFF/RTMU	E:(17) M:(14)	1/SQRT(MU) | ||||||
|  | #		TFFVSQ		E:(20) M:(18)	1/M  -(V SQ/MU):  PRESENT VELOCITY, NORMALIZED. FOR VGAMCALC | ||||||
|  | #		TFFALFA		E:(26-NR)	1/M  ALFA, WEIGHTED BY NR | ||||||
|  | #				M:(24-NR) | ||||||
|  | #		TFFRTALF	E:(10+NA)	SQRT(ALFA), NORMALIZED | ||||||
|  | #				M:(9+NA) | ||||||
|  | # Page 1271 | ||||||
|  | #		X2				-NA, NORMCOUNT | ||||||
|  | #		TFF1/ALF	E:(-22-2NA)	SIGNED SEMI MAJ AXIS, WEIGHTED BY NA | ||||||
|  | #				M:(-20-2NA) | ||||||
|  | #		PUSHLOC AT PDL+0 | ||||||
|  | # | ||||||
|  | #	THE FOLLOWING IS STORED IN GENERAL ERASABLE | ||||||
|  | #		VONE'		E:(10) M:(9)	V/RT(MU), NORMALIZED VELOCITY | ||||||
|  | # | ||||||
|  | # ERASABLE INITIALIZATION REQUIRED: | ||||||
|  | #		RONE		E:(-29) M:(-27)	M  STATE VECTOR		LEFT BY CALLER | ||||||
|  | #		VONE		E:(-7) M:(-5)	M/CS  STATE VECTOR	LEFT BY CALLER | ||||||
|  | #		TFF/RTMU	E:(17) M:(14)	1/RT(CS SQ/M CUBE)	IF ENTER VIA TFFCONMU. | ||||||
|  | # | ||||||
|  | # DEBRIS:	QPRET		PDL+0 ... PDL+3 | ||||||
|  |  | ||||||
|  | 		BANK	33 | ||||||
|  | 		SETLOC	TOF-FF | ||||||
|  | 		BANK | ||||||
|  |  | ||||||
|  | 		COUNT*	$$/TFF | ||||||
|  |  | ||||||
|  | TFFCONIC	STORE	TFF/RTMU	# 1/SQRT(MU)	E:(17) M:(14) | ||||||
|  |  | ||||||
|  | TFFCONMU	VLOAD	UNIT		# COME HERE WITH TFFRTMU LOADED. | ||||||
|  | 			RONE		# SAVED RN.  M  E:(-29) M:(-27) | ||||||
|  | 		PDDL			# UR/2 TO PDL+0, +5 | ||||||
|  | 			36D		# MAGNITUDE | ||||||
|  | 		STORE	RMAG1		# M  E:(-29) M:(-27) | ||||||
|  |  | ||||||
|  | 		NORM | ||||||
|  | 			X1		# -NR | ||||||
|  | 		STOVL	NRMAG		# RMAG  M  E:(-29+NR) M:(-27+NR) | ||||||
|  | 			VONE		# SAVED VN.  M/CS  E:(-7) M:(-5) | ||||||
|  | 		VXSC | ||||||
|  | 			TFF/RTMU	# E:(17) M:(14) | ||||||
|  | 		STORE	VONE'		# VN/SQRT(MU)  E:(10) M:(9) | ||||||
|  |  | ||||||
|  | 		VXSC	VXV | ||||||
|  | 			NRMAG		# E:(-29+NR) M:(-27+NR) | ||||||
|  | 					# UR/2 FROM PDL | ||||||
|  | 		VSL1	VSQ		# BEFORE:  E:(-19+NR) M:(-18+NR) | ||||||
|  | 		STODL	TFFNP		# LC P  M  E:(-38+2NR) M:(-36+2NR) | ||||||
|  | 					# SAVE ALSO FOR VGAMCALC | ||||||
|  | 			TFF1/4 | ||||||
|  | 		DDV	PDVL		# (2/RMAG)  1/M  E:(26-NR) M:(24-NR) | ||||||
|  | 			NRMAG		# RMAG  M  E:(-29+NR) M:(-27+NR) | ||||||
|  | 			VONE'		# SAVED VN.  E:(10) M:(9) | ||||||
|  | 		VSQ	DCOMP		# KEEP MPAC+2 HONEST FOR SQRT. | ||||||
|  | 		STORE	TFFVSQ		# -(V SQ/MU)  E:(20) M:(18) | ||||||
|  | 					# SAVE FOR VGAMCALC | ||||||
|  | 		SR*	DAD | ||||||
|  | # Page 1272 | ||||||
|  | 			0 	-6,1	# GET -VSQ/MU  E:(26-NR) M:(24-NR) | ||||||
|  | 		STADR | ||||||
|  | 					# 2/RMAG  FROM PDL+2 | ||||||
|  | 		STORE	TFFALFA		# ALFA  1/M  E:(26-NR) M:(24-NR) | ||||||
|  | 		SL*	PUSH		# TEMP SAVE ALFA  E:(20) M:(18) | ||||||
|  | 			0 	-6,1 | ||||||
|  | 		ABS	SQRT		# E:(10) M:(9) | ||||||
|  | 		NORM | ||||||
|  | 			X2		# X2 = -NA | ||||||
|  | 		STORE	TFFRTALF	# SQRT( ABS(ALFA) )  E:(10+NA) M:(9+NA) | ||||||
|  | 		DSQ	SIGN		# NOT SO ACCURATE, BUT OK | ||||||
|  | 					# ALFA FROM PDL+2  E:(20) M:(18) | ||||||
|  | 		BZE	BDDV		# SET 1/ALFA =0, TO SHOW SMALL ALFA | ||||||
|  | 			+2 | ||||||
|  | 			TFF1/4 | ||||||
|  |  +2		STORE	TFF1/ALF	# 1/ALFA  E:(-22-2NA) M:(-20-2NA) | ||||||
|  | DUMPCNIC	RVQ | ||||||
|  |  | ||||||
|  | #							      39 W | ||||||
|  | # Page 1273 | ||||||
|  | # SUBROUTINE NAME:  TFFRP/RA						DATE: 01.17.67 | ||||||
|  | # MOD NO:  0								LOG SECTION:  TIME OF FREE FALL | ||||||
|  | # MOD NO:  1	MOD BY:  RR BAIRNSFATHER	DATE: 11 APR 67 | ||||||
|  | # MOD NO:  2	MOD BY:  RR BAIRNSFATHER	DATE: 21 MAR 68		ACCEPT DIFFERENT EARTH/MOON SCALES | ||||||
|  | #									ALSO IMPROVE ACCURACY OF RAPO. | ||||||
|  | # | ||||||
|  | # FUNCTIONAL DESCRIPTION:  USED BY CALCTPER AND TFF DISPLAYS TO CALCULATE PERIGEE RADIUS AND ALSO | ||||||
|  | #	APOGEE RADIUS FOR A GENERAL CONIC. | ||||||
|  | #	PROGRAM GIVES PERIGEE RADIUS AS		APOGEE RADIUS IS GIVEN BY | ||||||
|  | #		RP = P/(1+E)				RA = (1+E) / ALFA | ||||||
|  | #	WHERE    2 | ||||||
|  | #		E  = 1 - P ALFA | ||||||
|  | #	IF RA IS NEGATIVE OR SHOWS DIVIDE OVERFLOW, THEN RA = POSMAX BECAUSE | ||||||
|  | #		1. APOGEE RADIUS IS NOT MEANINGFUL FOR HYPERBOLA | ||||||
|  | #		2. APOGEE RADIUS IS NOT DEFINED FOR PARABOLA | ||||||
|  | #		3. APOGEE RADIUS EXCEEDS THE SCALING FOR ELLIPSE. | ||||||
|  | # | ||||||
|  | #	THIS SUBROUTINE REQUIRED THE SIGNED RECIPROCAL SEMI MAJ AXIS, ALFA, AND SEMI-LATUS RECTUM AS DATA. | ||||||
|  | # | ||||||
|  | # CALLING SEQUENCE:	CALL | ||||||
|  | #				TFFRP/RA | ||||||
|  | #	PUSHLOC = PDL+0, ARBITRARY IF LEQ 10D | ||||||
|  | #	C(MPAC) UNSPECIFIED | ||||||
|  | # | ||||||
|  | # SUBROUTINES CALLED:	NONE | ||||||
|  | # | ||||||
|  | # NORMAL EXIT MODE:	RVQ | ||||||
|  | #	IF ELLIPSE, WITHIN NORMAL SCALING, RAPO IS CORRECT. | ||||||
|  | #	OTHERWISE, RAPO = POSMAX. | ||||||
|  | # | ||||||
|  | # ALARMS:	NONE | ||||||
|  | # | ||||||
|  | # OUTPUT:	STORED IN PUSH LIST AREA.  SCALE OF OUTPUT AGREES WITH DATA SUPPLIED TO TFF/CONIC. | ||||||
|  | #	RPER	E:(-29) M:(-27)		M	PERIGEE RADIUS		DESTROYED BY CALCTFF/CALCTPER, TFFTRIG. | ||||||
|  | #	RAPO	E:(-29) M:(-27)		M	APOGEE RADIUS		WILL BE DESTROYED BY CALCTFF/CALCTPER | ||||||
|  | #	PUSHLOC AT PDL+0 | ||||||
|  | # | ||||||
|  | # ERASABLE INITIALIZATION REQUIRED: | ||||||
|  | #	TFFALFA	E:(26-NR)		M	1/SEMI MAJ AXIS		LEFT BY TFFCONIC | ||||||
|  | #		M:(24-NR) | ||||||
|  | #	TFFNP	E:(-38+2NR)		M	LC P, SEMI LATUS RECTUM	LEFT BY TFFCONIC | ||||||
|  | #		M:(-36+2NR) | ||||||
|  | #	X1				-NR, NORM COUNT OF RMAG		LEFT BY TFFCONIC | ||||||
|  | #	X2				-NA, NORM COUNT OF ALFA		LEFT BY TFFCONIC | ||||||
|  | # | ||||||
|  | # DEBRIS:	QPRET, PDL+0 ... PDL+1 | ||||||
|  |  | ||||||
|  | # Page 1274 | ||||||
|  | RAPO		=	16D		# APOGEE RADIUS  M  E:(-29) M:(-27) | ||||||
|  | RPER		=	14D		# PERIGEE RADIUS  M  E:(-29) M:(-27) | ||||||
|  |  | ||||||
|  | TFFRP/RA	DLOAD	DMP | ||||||
|  | 			TFFALFA		# ALFA  1/M  E:(26-NR) M:(24-NR) | ||||||
|  | 			TFFNP		# LC P  M E:(-38+2NR) M:(-36+2NR) | ||||||
|  | 		SR*	DCOMP		# ALFA P (-12+NR) | ||||||
|  | 			0	 -8D,1	# ALFA P (-4) | ||||||
|  | 		DAD	ABS		# (DCOMP GIVES VALID TP RESULT FOR SQRT) | ||||||
|  | 					# (ABS PROTECTS SQRT IF E IS VERY NEAR 0) | ||||||
|  | 			DP2(-4) | ||||||
|  | 		SQRT	DAD		# E SQ = (1- P ALFA) (-4) | ||||||
|  | 			TFF1/4 | ||||||
|  | 		PUSH	BDDV		# (1+E)  (-2)  TO PDL+0 | ||||||
|  | 			TFFNP		# LCP  M  E:(-38+2NR) M:(-36+2NR) | ||||||
|  | 		SR*	SR*		# (DOES SR THEN SL TO AVOID OVFL) | ||||||
|  | 			0,1		# X1=-NR | ||||||
|  | 			0 	-7,1	# (EFFECTIVE SL) | ||||||
|  | 		STODL	RPER		# PERIGEE RADIUS  M  E:(-29) M:(-27) | ||||||
|  | 					# (1+E)  (-2)  FROM PDL+0 | ||||||
|  | 		DMP	BOVB | ||||||
|  | 			TFF1/ALF	# E:(-22-2NA) M:(-20-2NA) | ||||||
|  | 			TCDANZIG	# CLEAR OVFIND, IF ON. | ||||||
|  | 		BZE	SL* | ||||||
|  | 			MAXRA		# SET POSMAX IF ALFA=0 | ||||||
|  | 			0 	-5,2	# -5+NA | ||||||
|  | 		SL*	BOV | ||||||
|  | 			0,2 | ||||||
|  | 			MAXRA		# SET POSMAX IF OVFL. | ||||||
|  | 		BPL			# CONTINUE WITH VALID RAPO. | ||||||
|  | 			+3 | ||||||
|  | MAXRA		DLOAD			# RAPO CALC IS NOT VALID.  SET RAPO = | ||||||
|  | 			NEARONE		# POSMAX AS A TAG. | ||||||
|  |  +3		STORE	RAPO		# APOGEE RADIUS  M  E:(-29) M:(-27) | ||||||
|  | DUMPRPRA	RVQ | ||||||
|  |  | ||||||
|  | #								30 W | ||||||
|  | # Page 1275 | ||||||
|  | # SUBROUTINE NAME:  CALCTPER / CALCTFF					DATE:  01.29.67 | ||||||
|  | # MOD NO:  0								LOG SECTION:  TIME OF FREE FALL | ||||||
|  | # MOD BY:  RR BAIRNSFATHER | ||||||
|  | # MOD NO:  1	MOD BY:  RR BAIRNSFATHER	DATE: 21 MAR 67 | ||||||
|  | # MOD NO:  2	MOD BY:  RR BAIRNSFATHER	DATE: 14 APR 67 | ||||||
|  | # MOD BY:  3	MOD BY:  RR BAIRNSFATHER	DATE: 8 JUL 67		NEAR EARTH MUE AND NEG TFF (GONEPAST) | ||||||
|  | # MOD BY:  4	MOD BY:  RR BAIRNSFATHER	DATE: 21 NOV 67		ADD VARIABLE MU. | ||||||
|  | # MOD BY:  5	MOD BY:  RR BAIRNSFATHER	DATE: 21 MAR 68		ACCEPT DIFFERENT EARTH/MOON SCALES | ||||||
|  | # | ||||||
|  | # FUNCTIONAL DESCRIPTION:  PROGRAM CALCULATES THE FREE-FALL TIME OF FLIGHT FROM PRESENT POSITION RN AND | ||||||
|  | #	VELOCITY VN TO A RADIUS LENGTH SPECIFIED BY RTERM, SUPPLIED BY THE USER.  THE POSITION VECTOR | ||||||
|  | #	RN MAY BE ON EITHER SIDE OF THE CONIC, BUT RTERM IS CONSIDERED ON THE INBOUND SIDE. | ||||||
|  | #	THE EQUATIONS ARE: | ||||||
|  | # | ||||||
|  | #		Q2 = -SQRT(RTERM (2-RTERM ALFA) - LCP)	(INBOUND SIDE)	LEQ +- LCE/SQRT(ALFA) | ||||||
|  | #		     __ __ | ||||||
|  | #		Q1 = RN.VN / SQRT(MU)					LEQ +- LCE/SQRT(ALFA) | ||||||
|  | # | ||||||
|  | # 		Z = NUM / DEN						LEQ +- 1/SQRT(ALFA) | ||||||
|  | # | ||||||
|  | #	WHERE, IF INBOUND | ||||||
|  | #		NUM = RTERM -RN						LEQ +- 2 LCE/ALFA | ||||||
|  | #		DEN = Q2+Q1						LEQ +- 2 LCE/SQRT(ALFA) | ||||||
|  | # | ||||||
|  | # 	AND, IF OUTBOUND | ||||||
|  | #		NUM = Q2-Q1						LEQ +- 2 LCE/SQRT(ALFA) | ||||||
|  | #		DEN = 2 - ALFA (RTERM + RN).				LEQ +- 2 LCE | ||||||
|  | # | ||||||
|  | #	IF 	ALFA ZZ < 1.0		(FOR ALL CONICS EXCEPT ELLIPSES HAVING ABS(DEL ECC ANOM) G 90 DEG) | ||||||
|  | #	THEN	X = ALFA Z Z | ||||||
|  | #	AND	TFF = (RTERM +RN -2 ZZ T(X) ) Z/SQRT(MU) | ||||||
|  | #		EXCEPT 	IF ALFA PNZ, AND IF TFF NEG, | ||||||
|  | #		THEN	TFF = 2 PI /(ALFA SQRT(ALFA)) + TFF | ||||||
|  | #	OR	IF ALFA ZZ GEQ 1.0	(FOR ELLIPSES HAVING ABS(DEL ECC ANOM) GEQ 90 DEG) | ||||||
|  | #	THEN	X = 1/ALFA Z Z | ||||||
|  | #	AND	TFF = (PI/SQRT(ALFA) -Q2 +Q1 +2(X T(X) -1) /ALFA Z) /ALFA SQRT(MU) | ||||||
|  | #	WHERE	T(X) IS A POLYNOMIAL APPROXIMATION TO THE SERIES | ||||||
|  | #		             2      3             2 | ||||||
|  | #		1/3 - X/5 + X /7 - X /8 ...	(X  < 1.0) | ||||||
|  | # | ||||||
|  | # CALLING SEQUENC:	TIME TO RTERM			TIME TO PERIGEE | ||||||
|  | #			CALL				CALL | ||||||
|  | #				CALCTFF				CALCTPER | ||||||
|  | #			C(MPAC) = TERMNL RAD M		C(MPAC) = PERIGEE RAD M | ||||||
|  | #	FOR EITHER, E:(-29) M:(-27) | ||||||
|  | #	FOR EITHER, PUSHLOC = PDL+0, ARBITRARY IF LEQ 8D. | ||||||
|  | # Page 1276 | ||||||
|  | # | ||||||
|  | # SUBROUTINES CALLED:	T(X), VIA RTB | ||||||
|  | # | ||||||
|  | # NORMAL EXIT MODE:	RVQ | ||||||
|  | #	HOWEVER, PROGRAM EXITS WITH ONE OF THE FOLLOWING VALUES FOR TFF (-28) CS IN MPAC.  USER MUST STORE. | ||||||
|  | #		A. TFF = FLIGHT TIME.  NORMAL CASE FOR POSITIVE FLIGHT TIME LESS THAN ONE ORBITAL PERIOD. | ||||||
|  | #		B. (THIS OPTION IS NO LONGER USED.) | ||||||
|  | #		C. TFF = POSMAX.  THIS INDICATES THAT THE CONIC FROM THE PRESENT POSITION WILL NOT RETURN TO | ||||||
|  | #		   THE SPECIFIED ALTITUDE.  ALSO INDICATES OUTBOUND PARABOLA OR HYPERBOLA. | ||||||
|  | # | ||||||
|  | # OUTPUT:	C(MPAC)		(-28) CS	TIME OF FLIGHT, OR TIME TO PERIGEE | ||||||
|  | #		TFFX		(0)		X					LEFT FOR ENTRY DISPLAY TFF ROUTINES | ||||||
|  | #		NRTERM		E:(-29+NR) M	RTERM, WEIGHTED BY NR			LEFT FOR ENTRY DISPLAY TFF ROUTINES | ||||||
|  | #				M:(-27+NR) | ||||||
|  | #		TFFTEM		E:(-59+2NR)	LCP Z Z SGN(SDELF)			LEFT FOR ENTRY DISPLAY TFF ROUTINES | ||||||
|  | #				M:(-55+2NR)	LCP /ALFA SGN(SDELF)			LEFT FOR ENTRY DISPLAY TFF ROUTINES | ||||||
|  | #		NOTE:	TFFTEM = PDL 36D AND WILL BE DESTROYED BY .:UNIT:. | ||||||
|  | #		RMAG1		E:(-29) M:(-27)	PDL 12 NOT TOUCHED. | ||||||
|  | #		TFFQ1		E:(-16) M:(-15)	PDL 14D | ||||||
|  | #		TFFDELQ		E:(-16) M:(-15)	PDL 10D | ||||||
|  | #		PUSHLOC AT PDL+0 | ||||||
|  | # | ||||||
|  | # ERASABLE INITIALIZATION REQUIRED: | ||||||
|  | #		RONE		E:(-29) M:(-27)	M  STATE VECTOR				LEFT BY USER | ||||||
|  | #		VONE'		E:(+10) M:(+9)	VN/SQRT(NU)				LEFT BY TFF/CONIC | ||||||
|  | #		RMAG1		E:(-29) M:(-27)	PRESENT RADIUS, M			LEFT BY TFFCONIC | ||||||
|  | #		C(MPAC)		E:(-29) M:(-27)	RTERM, TERMINAL RADIUS LENGTH, M	LEFT BY USER | ||||||
|  | # | ||||||
|  | #		THE FOLLOWING ARE STORED IN THE PUSH LIST AREA. | ||||||
|  | #		TFF/RTMU	E:(17) M:(14)	1/SQRT(MU)				LEFT BY TFFCONIC. | ||||||
|  | #		NRMAG		E:(-29+NR)	M  RMAG, NORMALIZED			LEFT BY TFFCONIC | ||||||
|  | #				M:(-27+NR) | ||||||
|  | #		X1				-NR, NORM COUNT				LEFT BY TFFCONIC | ||||||
|  | #		TFFNP		E:(-38+2NR)	M  LCP, SEMI LATUS RECTUM, WEIGHT NR	LEFT BY TFFCONIC | ||||||
|  | #				M:(-36+2N4) | ||||||
|  | #		TFFALFA		E:(26-NR)	1/M  ALFA, WEIGHT NR			LEFT BY TFFCONIC | ||||||
|  | #				M:(24-NR) | ||||||
|  | #		TFFRTALF	E:(10+NA)	SQRT(ALFA), NORMALIZED			LEFT BY TFFCONIC | ||||||
|  | #				M:(9+NA) | ||||||
|  | #		X2				-NA, NORMCOUNT				LEFT BY TFFCONIC | ||||||
|  | #		TFF1/ALF	E:(-22-2NA)	SIGNED SEMI-MAJOR AXIS, WEIGHTED BY NA	LEFT BY TFFCONIC | ||||||
|  | #				M:(-20-2NA) | ||||||
|  | # | ||||||
|  | # DEBRIS:	QPRET, PDL+0 ... PDL+3 | ||||||
|  | #		RTERM		E:(-29) M(-27)	RTERM, TERMINAL RADIUS LENGTH | ||||||
|  | #		RAPO		E:(-29) M(-27)	PDL 16D (=NRTERM) | ||||||
|  | #		RPER		E:(-29) M(-27)	PDL 14D (=TFFQ1) | ||||||
|  |  | ||||||
|  | # Page 1277 | ||||||
|  | CALCTPER	SETGO			# ENTER WITH RPER IN MPAC | ||||||
|  | 			TFFSW | ||||||
|  | 			+3 | ||||||
|  | CALCTFF		CLEAR			# ENTER WITH RTERM IN MPAC | ||||||
|  | 			TFFSW | ||||||
|  |  +3		STORE	RTERM		# E:(-29) M:(-27) | ||||||
|  | 		SL* | ||||||
|  | 			0,1		# X1=-NR | ||||||
|  | 		STORE	NRTERM		# RTERM  E:(-29+NR) M:(-27+NR) | ||||||
|  | 		DMP	BDSU | ||||||
|  | 			TFFALFA		# ALFA  E:(26-NR) M:(24-NR) | ||||||
|  | 			TFF1/4 | ||||||
|  | 		PUSH	DMP		# (2-ALFA RTERM)  (-3)  TO PDL+0 | ||||||
|  | 			NRTERM		# E:(-29+NR) M:(-27+NR) | ||||||
|  | 		PDDL	SR*		# RTERM(2-ALFA RTERM) TO PDL+2 | ||||||
|  | 					# E:(-32+NR) M:(-30+NR) | ||||||
|  | 			TFFNP		# LC P  E:(-38+2NR) M:(-36+2NR) | ||||||
|  | 			0 	-6,1	# X1 = -NR | ||||||
|  | 		DCOMP	DAD		# DUE TO SHIFTS, KEEP PRECISION FOR SQRT | ||||||
|  | 					# RTERM(2-ALFA RTERM) FROM PDL +2 | ||||||
|  | 					# E:(-32+NR) M:(-30+NR) | ||||||
|  | 		SR*			# LEAVE  E:(-32) M:(-30) | ||||||
|  | 			0,1		# X1 = -NR | ||||||
|  | 		BOFF	DLOAD		# CHECK TFF /TPER SWITCH | ||||||
|  | 			TFFSW | ||||||
|  | 			+2		# IF TFF, CONTINUE | ||||||
|  | 			TFFZEROS	# IF TPER, SET Q2 = 0 | ||||||
|  |  +2		BMN	SQRT		# E:(-16) M:(-15) | ||||||
|  | 	 | ||||||
|  | 			MAXTFF1		# NO FREE FALL CONIC TO RTERM FROM HERE | ||||||
|  | 					# RESET PDL, SET TFF=POSMAX, AND EXIT. | ||||||
|  |  | ||||||
|  | 		DCOMP	BOVB		# RT IS ON INBOUND SIDE.  ASSURE OVFIND=0 | ||||||
|  | 			TCDANZIG	# ANY PORT IN A STORM. | ||||||
|  | 		STOVL	TFFTEM		# Q2  E:(-16) M:(-15) | ||||||
|  | 			VONE'		# VN/SQRT(MU)  E:(10) M:(9) | ||||||
|  | 		DOT	SL3 | ||||||
|  | 			RONE		# SAVED RN.  E:(-29) M:(-27) | ||||||
|  | 		STORE	TFFQ1		# Q1, SAVE FOR GONEPAST TEST. | ||||||
|  | 					# E:(-16) M:(-15) | ||||||
|  | 		BMN	BDSU | ||||||
|  | 			INBOUND		# USE ALTERNATE Z | ||||||
|  | 			TFFTEM		# Q2  E:(-16) M:(-15) | ||||||
|  |  | ||||||
|  | # OUTBOUND Z CALC CONTINUES HERE | ||||||
|  |  | ||||||
|  | 		STODL	TFFX		# NUM=Q2-Q1  E:(-16) M:(-15) | ||||||
|  | 			TFFALFA		# ALFA  E:(26-NR) M:(24-NR) | ||||||
|  | 		DMP	BDSU | ||||||
|  | # Page 1278 | ||||||
|  | 			NRMAG		# RMAG  E:(-29+NR) M:(-27+NR) | ||||||
|  | 					# (2-RTERM ALFA)  (-3) FROM PDL+0 | ||||||
|  | SAVEDEN		PUSH	ABS		# DEN TO PDL+0	E:(-3) OR (-16) | ||||||
|  | 					#               M:(-3) OR (-15) | ||||||
|  | 		DAD	BOV		# INDETERMINANCY TEST | ||||||
|  | 			LIM(-22)	# =1.0-B(-22) | ||||||
|  | 			TFFXTEST	# GO IF DEN >/= B(-22) | ||||||
|  | 		DLOAD	PDDL		# SET DEN=0 OTHERWISE | ||||||
|  | 			TFFZEROS | ||||||
|  | 					# XCH ZERO WITH PDL+0 | ||||||
|  | 		DLOAD	DCOMP | ||||||
|  | 			TFFALFA		# ALFA  E:(26-NR) M:(24-NR) | ||||||
|  | 		BMN	DLOAD		# FOR TPER:  Z INDET AT DELE/2=0 AND 90. | ||||||
|  | 			TFFEL1		# ASSUME 90, AND LEAVE 0 IN PDL: 1/Z=D/N | ||||||
|  |  | ||||||
|  | 					# Z INDET. AT PERIGEE FOR PARAB OR HYPERB. | ||||||
|  | DUMPTFF1	RVQ			# RETURN TFF =0 | ||||||
|  |  | ||||||
|  | # INBOUND Z CALC CONTINUES HERE | ||||||
|  |  | ||||||
|  | INBOUND		DLOAD			# RESET PDL+0 | ||||||
|  | 		DLOAD	DSU		# ALTERNATE Z CALC | ||||||
|  | 			RTERM		# E:(-29) M:(-27) | ||||||
|  | 			RMAG1		# E:(-29) M:(-27) | ||||||
|  | 		STODL	TFFX		# NUM=RTERM-RN  E:(-29) M:(-27) | ||||||
|  | 			TFFTEM		# Q2  E:(-16) M:(-15) | ||||||
|  | 		DAD	GOTO | ||||||
|  | 			TFFQ1		# Q1  E:(-16) M:(-15) | ||||||
|  | 			SAVEDEN		# DEN = Q2+Q1  E:(-16) M:(-15) | ||||||
|  |  | ||||||
|  | TFFXTEST	DAD	PDDL		# (ABS(DEN) TO PDL+2)	E:(-3) OR (-16) | ||||||
|  | 					#			M:(-3) OR (-15) | ||||||
|  | 			DP(-22)		# RESTORE ABS(DEN) TO MPAC | ||||||
|  | 			TFFX		# NUM  E:(-16) OR (-29)  M:(-15) OR (-27) | ||||||
|  | 		DMP	SR* | ||||||
|  | 			TFFRTALF	# SQRT(ALFA)  E:(10+NA) M:(9+NA) | ||||||
|  | 			0 	-3,2	# X2=-NA | ||||||
|  | 		DDV			# C(MPAC) =NUM SQRT(ALFA)	E:(-3) OR (-16) | ||||||
|  | 					#				M:(-3) OR (-15) | ||||||
|  | 					# ABS(DEN) FROM PDL+2	E:(-3) OR (-16) | ||||||
|  | 					#			M:(-3) OR (-15) | ||||||
|  | 		DLOAD	BOV		# (THE DLOAD IS SHARED WITH TFFELL) | ||||||
|  | 			TFFX		# NUM  E:(-16) OR (-29)  M:(-15) OR (-27) | ||||||
|  | 			TFFELL		# USE EQN FOR DELE GEQ 90, LEQ -90 | ||||||
|  |  | ||||||
|  | # OTHERWISE, CONTINUE FOR GENERAL CONIC FOR TFF EQN | ||||||
|  |  | ||||||
|  | 		DDV	STADR | ||||||
|  | 					# DEN FROM PDL+0	E:(-3) OR (-16) | ||||||
|  | 					#			M:(-3) OR (-15) | ||||||
|  | 		STORE	TFFTEM		# Z SAVE FOR SIGN OF SDELF. | ||||||
|  | # Page 1279 | ||||||
|  | 					# E:(-13) M:(-12) | ||||||
|  | 		PUSH	DSQ		# Z TO PDL+0 | ||||||
|  | 		PUSH	DMP		# Z SQ TO PDL+2  E:(-26) M:(-24) | ||||||
|  | 			TFFNP		# LC P  E:(-38+2NR) M:(-36+NR) | ||||||
|  | 		SL	SIGN | ||||||
|  | 			5 | ||||||
|  | 			TFFTEM		# AFFIX SIGN FOR SDELF (ENTRY DISPLAY) | ||||||
|  | 		STODL	TFFTEM		# P ZSQ  E:(-59+2NR) M:(-55+2NR) | ||||||
|  | 					# (ARG IS USED IN TFF/TRIG) | ||||||
|  | 					# ZSQ FROM PDL+2  E:(-26) M:(-24) | ||||||
|  | 		PUSH	DMP		# RESTORE PUSH LOC | ||||||
|  | 			TFFALFA		# ALFA  E:(26-NR) M:(24-NR) | ||||||
|  | 		SL* | ||||||
|  | 			0,1		# X1=-NR | ||||||
|  | 		STORE	TFFX		# X | ||||||
|  | 		RTB	DMP | ||||||
|  | 			T(X)		# POLY | ||||||
|  | 					# ZSQ FROM PDL+2  E:(-26) M:(-24) | ||||||
|  | 		SR2	BDSU		# 2 ZSQ T(X)  E:(-29) M:(-27) | ||||||
|  | 			RTERM		# RTERM  E:(-29) M:(-27) | ||||||
|  | 		DAD	DMP | ||||||
|  | 			RMAG1		# E:(-29) M:(-27) | ||||||
|  | 					# Z FROM PDL+0  E:(-13) M:(-12) | ||||||
|  | 		SR3	BPL		# TFF SQRT(MU)  E:(-45) M:(-42) | ||||||
|  | 			ENDTFF		# (NO PUSH UP) | ||||||
|  | 		PUSH	SIGN		# TFF SQRT(MU) TO PDL+0 | ||||||
|  | 			TFFQ1		# Q1 FOR GONEPAST TEST | ||||||
|  | 		BPL	DLOAD		# GONE PAST ? | ||||||
|  | 			NEGTFF		# YES. TFF < 0. | ||||||
|  | 			TFF1/ALF	# 1/ALFA  E:(-22-2NA) M:(-20-2NA) | ||||||
|  | 		DCOMP	BPL		# ALFA > 0 ? | ||||||
|  | 			NEGTFF		# NO. TFF IS NEGATIVE. | ||||||
|  |  | ||||||
|  | # CORRECT FOR ORBITAL PERIOD. | ||||||
|  |  | ||||||
|  | 		DCOMP			# YES.  CORRECT FOR ORB PERIOD. | ||||||
|  | 		DMP	DDV | ||||||
|  | 			PI/16		# 2 PI (-5) | ||||||
|  | 			TFFRTALF	# SQRT(ALFA)  E:(10+NA) M:(9+NA) | ||||||
|  | 		SL*	SL* | ||||||
|  | 			0 	-4,2	# X2=-NA | ||||||
|  | 			0 	-4,2 | ||||||
|  | 		SL*	DAD | ||||||
|  | 			0,2 | ||||||
|  | 					# TFF SQRT(MU) FROM PDL+0	E:(-45) M:(-42) | ||||||
|  | ENDTFF		DMP	BOV		# TFF SQRT(MU) IN MPAC		E:(-45) M:(-42) | ||||||
|  | 			TFF/RTMU	# E:(17) M:(14) | ||||||
|  | 			MAXTFF		# SET POSMAX IN OVFL. | ||||||
|  |  | ||||||
|  | DUMPTFF2	RVQ			# RETURN TFF (-28) CS IN MPAC. | ||||||
|  |  | ||||||
|  | # Page 1280 | ||||||
|  | NEGTFF		DLOAD | ||||||
|  | 					# TFF SQRT(MU) FROM PDL+0, NEGATIVE. | ||||||
|  | 		GOTO | ||||||
|  | 			ENDTFF | ||||||
|  |  | ||||||
|  | MAXTFF1		DLOAD			# RESET PDL | ||||||
|  | MAXTFF		DLOAD	RVQ | ||||||
|  | 			NEARONE | ||||||
|  |  | ||||||
|  | # TIME OF FLIGHT ELLIPSE WHEN DEL (ECCENTRIC ANOM) GEQ 90 AND LEQ -90. | ||||||
|  |  | ||||||
|  | 					# NUM FROM TFFX.	E:(-16) OR (-29) | ||||||
|  | 					#			M:(-15) OR (-27) | ||||||
|  | TFFELL		SL2			# NUM  E:(-14) OR (-27)  M:(-13) OR (-25) | ||||||
|  | 		BDDV	PUSH		# TEMP SAVE D/N IN PDL+0 | ||||||
|  | 					# DEN FROM PDL+0  E:(-3)/(-16)  M:(-3)/(-15) | ||||||
|  | 					# N/D TO PDL+0  E:(11) M:(10) | ||||||
|  | TFFEL1		DLOAD	DSU		# (ENTER WITH D/N=0 IN PDL+0) | ||||||
|  | 			TFFTEM		# Q2  E:(-16) M:(-15) | ||||||
|  | 			TFFQ1		# Q1  E:(-16) M:(-15) | ||||||
|  | 		STODL	TFFDELQ		# Q2-Q1  E:(-16) M:(-15) | ||||||
|  | 					# D/N FROM PDL+0 | ||||||
|  | 		STADR | ||||||
|  | 		STORE	TFFTEM		# D/N  E:(11) M:(10) | ||||||
|  | 		DMP	SL* | ||||||
|  | 			TFF1/ALF	# 1/ALFA  E:(-22-2NA) M:(-20-2NA) | ||||||
|  | 			0,2		# 1/ALFA Z  E:(-11-NA) M:(-10-NA) | ||||||
|  | 		PUSH	DMP		# TO PDL+0 | ||||||
|  | 			TFFTEM		# 1/Z  E:(11) M:(10 | ||||||
|  | 		SL*	BOVB | ||||||
|  | 			0,2		# X2= -NA | ||||||
|  | 			SIGNMPAC	# IN CASE X= 1.0, CONTINUE | ||||||
|  | 		STORE	TFFX		# X=1/ALFA ZSQ | ||||||
|  | 		RTB	DMP | ||||||
|  | 			T(X)		# POLY | ||||||
|  | 			TFFX | ||||||
|  | 		SR3	DSU | ||||||
|  | 			DP2(-3) | ||||||
|  | 		DMP	PUSH		# 2(X T(X)-1) /Z ALFA	E:(-15-NA) | ||||||
|  | 					#			M:(-14-NA) | ||||||
|  | 					# 1/ALFA Z FROM PDL+0	E:(-11-NA) | ||||||
|  | 					#			M:(-10-NA) | ||||||
|  | 		DLOAD	DMP		# GET SIGN FOR SDELF | ||||||
|  | 			TFFTEM		# 1/Z  E:(11) M:(10) | ||||||
|  | 			RMAG1		# E:(-29) M:(-27) | ||||||
|  | 		SL2	DAD | ||||||
|  | 			TFFQ1		# Q1  E:(-16) M:(-15) | ||||||
|  | 		STODL	TFFTEM		# (Q1+R 1/Z) =SGN OF SDELF  E:(-16) M:(-15) | ||||||
|  | 			TFFNP		# LC P  E:(-38+2NR) M:(-36+2NR) | ||||||
|  | 		DMP	SL*		# CALC FOR ARG FOR TFF/TRIG. | ||||||
|  | # Page 1281 | ||||||
|  | 			TFF1/ALF	# 1/ALFA  E:(-22-2NA) M:(-20-2NA) | ||||||
|  | 			1,2		# X2=-NA | ||||||
|  | 		SIGN	SL* | ||||||
|  | 			TFFTEM		# AFFIX SIGN FOR SDELF | ||||||
|  | 			0,2 | ||||||
|  | 		STODL	TFFTEM		# P/ALFA  E:(-59+2NR) M:(-55+2NR) | ||||||
|  | 					# (ARG FOR USE IN TFF/TRIG) | ||||||
|  | 			TFF1/ALF	# 1/ALFA  E:(-22-2NA) M:(-20-2NA) | ||||||
|  | 		SQRT	DMP | ||||||
|  | 			PI/16		# PI (-4) | ||||||
|  | 		DAD | ||||||
|  | 					# 2(XT(X)-1)/Z ALFA FROM PDL	E:(-15-NA) | ||||||
|  | 					#				M:(-14-NA) | ||||||
|  | 		SL*	DSU | ||||||
|  | 			0 	-1,2 | ||||||
|  | 			TFFDELQ		# Q2-Q1  E:(-16) M:(-15) | ||||||
|  | 		DMP	SL* | ||||||
|  | 			TFF1/ALF	# 1/ALFA  E:(-22-2NA) M:(-20-2NA) | ||||||
|  | 			0 	-3,2 | ||||||
|  | 		SL*	GOTO | ||||||
|  | 			0 	-4,2 | ||||||
|  | 			ENDTFF		# TFF SQRT(MU) IN MPAC E:(-45) M:(-42) | ||||||
|  |  | ||||||
|  | # Page 1282 | ||||||
|  | # PROGRAM NAME:  T(X)				DATE:  01.17.67 | ||||||
|  | # MOD NO:  0					LOG SECTION:  TIME OF FREE FALL | ||||||
|  | # MOD BY:  RR BAIRNSFATHER | ||||||
|  | # | ||||||
|  | # FUNCTIONAL DESCRIPTION:  THE POLYNOMIAL T(X) IS USED BY TIME OF FLIGHT SUBROUTINES CALCTFF AND | ||||||
|  | #	CALCTPER TO APPROXIMATE THE SERIES | ||||||
|  | #		           2     3 | ||||||
|  | #		1/3 -X/5 +X /7 -X /9 ... | ||||||
|  | # | ||||||
|  | #	WHERE	X = ALFA Z Z		IF ALFA Z Z LEQ 1 | ||||||
|  | #		X = 1/(ALFA Z Z)	IF ALFA Z Z G 1 | ||||||
|  | # | ||||||
|  | #	ALSO	X IS NEG FOR HYPERBOLIC ORBITS | ||||||
|  | #		X = 0 FOR PARABOLIC ORBITS | ||||||
|  | #		X IS POSITIVE FOR ELLIPTIC ORBITS | ||||||
|  | # | ||||||
|  | #	FOR FLIGHT 278, THE POLYNOMIAL T(X) IS FITTED OVER THE RANGE (0,+1) AND HAS A MAXIMUM | ||||||
|  | #	DEVIATION FROM THE SERIES OF 2 E-5.  (T(X) IS A CHEBYCHEV TYPE FIT AND WAS OBTAINED USING | ||||||
|  | #	MAX PROGRAM AUTOCURFIT294RRB AND IS VALID TO THE SAME TOLERANCE OVER THE RANGE (-.08,+1).) | ||||||
|  | # | ||||||
|  | # CALLING SEQUENCE:	RTB | ||||||
|  | #				T(X) | ||||||
|  | #	C(MPAC) = X | ||||||
|  | # | ||||||
|  | # SUBROUTINE CALLED:  NONE | ||||||
|  | # | ||||||
|  | # NORMAL EXIT MODE:  TC TANZIG | ||||||
|  | # | ||||||
|  | # ALARMS:  NONE | ||||||
|  | # | ||||||
|  | # OUTPUT:  C(MPAC) = T(X) | ||||||
|  | # | ||||||
|  | # ERASABLE INITIALIZATION REQUIRED: | ||||||
|  | #	C(MPAC) = X | ||||||
|  | # | ||||||
|  | # DEBRIS:  NONE | ||||||
|  |  | ||||||
|  | T(X)		TC	POLY | ||||||
|  | 		DEC	4		# N-1 | ||||||
|  | 		2DEC	3.333333333 E-1 | ||||||
|  | 		 | ||||||
|  | 		2DEC*	-1.999819135 E-1* | ||||||
|  | 		 | ||||||
|  | 		2DEC*	1.418148467 E-1* | ||||||
|  | 		 | ||||||
|  | 		2DEC* 	-1.01310997 E-1* | ||||||
|  | 		 | ||||||
|  | 		2DEC*	5.609004986 E-2* | ||||||
|  | 		 | ||||||
|  | 		2DEC*	-1.536156925 E-2* | ||||||
|  |  | ||||||
|  | ENDT(X)		TC	DANZIG | ||||||
|  |  | ||||||
|  | TCDANZIG	=	ENDT(X) | ||||||
|  |  | ||||||
|  | # Page 1283 | ||||||
|  | # TFF CONSTANTS | ||||||
|  |  | ||||||
|  | 		BANK	32 | ||||||
|  |  | ||||||
|  | 		SETLOC	TOF-FF1 | ||||||
|  | 		BANK | ||||||
|  |  | ||||||
|  | #						# NOTE:  ADJUSTED MUE FOR NEAR EARTH TRAJ. | ||||||
|  | #MUE		=	3.990815471 E10		# M CUBE/CS SQ | ||||||
|  | #RTMUE		=	1.997702549 E5 B-18*	# MODIFIED EARTH MU | ||||||
|  | # | ||||||
|  | #						# NOTE:  ADJUSTED MUE FOR NEAR EARTH TRAJ. | ||||||
|  | #MUM		=	4.902778 E8		# M CUBE/CS SQ | ||||||
|  | #RTMUM		2DEC*	2.21422176 E4 B-18* | ||||||
|  |  | ||||||
|  | PI/16		2DEC	3.141592653 B-4 | ||||||
|  |  | ||||||
|  | LIM(-22)	2OCT	3777737700		# 1.0 -B(-22) | ||||||
|  |  | ||||||
|  | DP(-22)		2OCT	0000000100		# B(-22) | ||||||
|  |  | ||||||
|  | DP2(-3)		2DEC	1 B-3 | ||||||
|  |  | ||||||
|  | DP2(-4)		2DEC	1 B-4			# 1/16 | ||||||
|  |  | ||||||
|  | # RPAD1		2DEC	6373338 B-29		# M (-29) = 20909901.57 FT | ||||||
|  |  | ||||||
|  | RPAD1		=	RPAD | ||||||
|  |  | ||||||
|  | R300K		2DEC	6464778 B-29		# (-29) M | ||||||
|  |  | ||||||
|  | NEARONE		2DEC	.999999999 | ||||||
|  |  | ||||||
|  | TFFZEROS	EQUALS	HI6ZEROS | ||||||
|  | TFF1/4		EQUALS	HIDP1/4 | ||||||
|  |  | ||||||
							
								
								
									
										548
									
								
								Luminary099/UPDATE_PROGRAM.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										548
									
								
								Luminary099/UPDATE_PROGRAM.agc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,548 @@ | |||||||
|  | # Copyright:	Public domain. | ||||||
|  | # Filename:	UPDATE_PROGRAM.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:	1386-1396 | ||||||
|  | # Mod history:  2009-05-10 SN   (Sergio Navarro).  Started adapting | ||||||
|  | #				from the Luminary131/ file of the same | ||||||
|  | #				name, using Luminary099 page images. | ||||||
|  | #		2009-06-07 RSB	Added an SBANK= to account for incompatibilities | ||||||
|  | #				between YUL and yaYUL. | ||||||
|  | #		2011-01-06 JL	Fixed pseudo-label indentation. | ||||||
|  | #		2011-05-07 JL	Flag SBANK= 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-61 | ||||||
|  | #	16:27 JULY 14, 1969  | ||||||
|  |  | ||||||
|  | # Page 1386 | ||||||
|  | # PROGRAM NAME:		P27 | ||||||
|  | # WRITTEN BY:		KILROY/ DE WOLF | ||||||
|  | # | ||||||
|  | # MOD NO:		6 | ||||||
|  | # MOD BY:		KILROY | ||||||
|  | # DATE:			01DEC67 | ||||||
|  | # | ||||||
|  | # LOG SECTION:		UPDATE PROGRAM. | ||||||
|  | # | ||||||
|  | # FUNCT. DESCR.:	P27 (THE UPDATE PROGRAM) PROCESSES COMMANDS AND DATA | ||||||
|  | #			INSERTIONS REQUESTED BY THE GROUND VIA UPLINK. | ||||||
|  | #			THE P27 PROGRAM WILL ACCEPT UPDATES | ||||||
|  | #			ONLY DURING P00 FOR THE LM, AND ONLY DURINT P00, | ||||||
|  | #			P02, AND FRESH START FOR THE CSM | ||||||
|  | # | ||||||
|  | # CALLING SEQ:		PROGRAM IS INITIATED BY UPLINK ENTRY OF VERBS 70, 71, 72, AND 73. | ||||||
|  | # | ||||||
|  | # SUBROUTINES:		TESTXACT, NEWMODEX, NEWMODEX +3, GOXDSPF, BANKCALL, FINDVAC, INTPRET, INTSTALL, TPAGREE, | ||||||
|  | #			INTWAKEU, ENDEXT, POSTJUMP, FALTON, NEWPHASE, PHASCHNG | ||||||
|  | # | ||||||
|  | # NORMAL EXIT:		TC ENDEXT | ||||||
|  | # | ||||||
|  | # ALARM/ABORT:		TC FALTON FOLLOWED BY TC ENDEXT | ||||||
|  | # | ||||||
|  | # RESTARTS:		P27 IS RESTART PROTECTED IN TWO WAYS ... | ||||||
|  | #			1.	PRIOR TO VERIFLAG INVERSION (WHICH IS CAUSED BY THE GROUND/ASTRONAUT'S VERIFICATION OF UPDATE | ||||||
|  | #				DATA BY SENDING A V33E WHEN V21N02 IS FLASHING)--- | ||||||
|  | #				NO PROTECTION EXCEPT PRE-P27 MODE IS RESTROED, COAST + ALIGN DOWNLIST IS SELECTED AND UPLINK | ||||||
|  | #				ACTIVITY LIGHT IS TURNED OFF.  (JUST AS IF A V34E WAS SENT DURING P27 DATA LOADS). | ||||||
|  | #				V70,V71,V72, OR V73 WILL HAVE TO BE COMPLETELY RESENT BY USER. | ||||||
|  | #			2.	AFTER VERIFLAG INVERSION (WHEN UPDATE OF THE SPECIFIED ERASABLES IS BEING PERFORMED)--- | ||||||
|  | #				PROTECTED AGAINST RESTARTS. | ||||||
|  | # | ||||||
|  | # DEBRIS:		UPBUFF	(20D)	TEMP STORAGE FOR ADDRESSES AND CONTENTS. | ||||||
|  | #			UPVERB	(1)	VERB NUMBER MINUS 70D (E.G., FOR V72, UPVERB = 72D - 70D = 2) | ||||||
|  | #			UPOLDMOD(1)	FOR MAJOR MODE INTERRUPTED BY P27. | ||||||
|  | #			COMPNUMB(1)	TOTAL NUMBER OF COMPONENTS TO BE TRANSMITTED. | ||||||
|  | #			UPCOUNT	(1)	ACTUAL NUMBER OF COMPONENTS RECEIVED. | ||||||
|  | #			UPTEMP	(1)	SCRATCH, BUT USUALLY CONTAINS COMPONENT NUMBER TO BE CHANGED DURING VERIFY CYCLE | ||||||
|  | # | ||||||
|  | # INPUT: | ||||||
|  | # | ||||||
|  | #	ENTRY			DESCRIPTION | ||||||
|  | #	V70EXXXXXEXXXXXE	(LIFTOFF TIME INCREMENT) DOUBLE PRECISION OCTAL TIME INCREMENT, XXXXX XXXXX, | ||||||
|  | #				IS ADDED TO TEPHEM, SUBTRACTED FROM AGC CLOCK(TIME2,TIME1), SUBTRACTED FROM CSM STATE | ||||||
|  | #				VECTOR TIME(TETCSM) AND SUBTRACTED FROM LEM STATE VECTOR TIME(TETLEM). | ||||||
|  | #				THE DP OCTAL TIME INCREMENT IS SCALED AT 2(28). | ||||||
|  | # Page 1387 | ||||||
|  | #	V71EIIEAAAAE		(CONTIGUOUS BLOCK UPDATE) II-2 OCTAL COMPONENTS, XXXXX, | ||||||
|  | #	XXXXXE			ARE LOADED INTO ERASABLE STARTING AT ECADR, AAAA. | ||||||
|  | #	XXXXXE			IT IS .GE. 3 .AND. .LE. 200., | ||||||
|  | #	...			AND (AAAA + II -3) DOES NOT PRODUCE AN ADDRESS IN THE | ||||||
|  | #				NEXT BANK. | ||||||
|  | #				SCALING IS SAME AS INTERNAL REGISTERS. | ||||||
|  | #	V72EIIE			(SCATTER UPDATE) (II-1)/2 OCTAL COMPONENTS, XXXXX, ARE | ||||||
|  | #	AAAAEXXXXXE		LOADED INTO ERASABLE LOCATIONS, AAAA. | ||||||
|  | #	AAAAEXXXXXE		II IS .GE. 3 .AND. .LE. 19D, AND MUST BE ODD. | ||||||
|  | #	...			SCALING IS SAME AS INTERNAL REGISTERS. | ||||||
|  | # | ||||||
|  | #	V73EXXXXXEXXXXXE	(OCTAL CLOCK INCREMENT) DOUBLE PRECISION OCTAL TIME | ||||||
|  | #				INCREMENT XXXXX XXXXX, IS ADDED TO THE AGC CLOCK, IN | ||||||
|  | #				CENTISECONDS SCALED AT (2)28). | ||||||
|  | #				THIS LOAD IS THE OCTAL EQUIVALENT OF V55. | ||||||
|  | # | ||||||
|  | # OUTPUT:		IN ADDITION TO THE ABOVE REGISTER LOADS, ALL UPDATES | ||||||
|  | #			COMPLEMENT BIT3 OF FLAGWORD7. | ||||||
|  | # | ||||||
|  | # ADDITIONAL NOTES:	VERB 71, JUST DEFINED ABOVE WILL BE USED TO PERFORM BUT NOT LIMITED TO THE FOLLOWING UPDATES -- | ||||||
|  | #			1.  CSM/LM STATE VECTOR UPDATE | ||||||
|  | #			2.  REFSMMAT UPDATE | ||||||
|  | # | ||||||
|  | #	THE FOLLOWING COMMENTS DELINEATE EACH SPECIAL UPDATE --- | ||||||
|  | # | ||||||
|  | #	1.  CSM/LM STATE VECTOR UPDATE (ALL DATA ENTRIES IN OCTAL) | ||||||
|  | #		ENTRIES:	DATA DEFINITION:				SCALE FACTORS: | ||||||
|  | #		V71E		CONTIGUOUS BLOCK UPDATE VERB | ||||||
|  | #		   21E		NUMBER OF COMPONENTS FOR STATE VECTOR UPDATE | ||||||
|  | #		 AAAAE		ECADR OF `UPSVFLAG' | ||||||
|  | #		XXXXXE		STATE VECTOR IDENTIFIER: 00001 FOR CSM, 77776 FOR LEM -- EARTH SPHERE OF INFLUENCE SCALING | ||||||
|  | #							 00002 FOR CSM, 77775 FOR LEM -- LUNAR SPHERE OF INFLUENCE SCALING | ||||||
|  | #		XXXXXEXXXXXE	X POSITION | ||||||
|  | #		XXXXXEXXXXXE	Y POSITION | ||||||
|  | #		XXXXXEXXXXXE	Z POSITION | ||||||
|  | #		XXXXXEXXXXXE	X VELOCITY | ||||||
|  | #		XXXXXEXXXXXE	Y VELOCITY | ||||||
|  | #		XXXXXEXXXXXE	Z VELOCITY | ||||||
|  | #		XXXXXEXXXXXE	TIME FROM AGC CLOCK ZERO | ||||||
|  | #		V33E		VERB 33 TO SIGNAL THAT THE STATE VECTOR IS READY TO BE STORED. | ||||||
|  | # | ||||||
|  | #	2.  REFSMMAT (ALL DATA ENTRIES IN OCTAL) | ||||||
|  | #		ENTRIES:	DATA DEFINITITIONS:				SCALE FACTORS: | ||||||
|  | # Page 1388 | ||||||
|  | #		V71E		CONTIGUOUS BLOCK UPDATE VERB | ||||||
|  | #		   24E		NUMBER OF COMPONENTS FOR REFSMMAT UPDATE | ||||||
|  | #		 AAAAE		ECADR OF `REFSMMAT' | ||||||
|  | #		XXXXXEXXXXXE	ROW 1 COLUMN 1					2(-1) | ||||||
|  | #		XXXXXEXXXXXE	ROW 1 COLUMN 2					2(-1) | ||||||
|  | #		XXXXXEXXXXXE	ROW 1 COLUMN 3					2(-1) | ||||||
|  | #		XXXXXEXXXXXE	ROW 2 COLUMN 1					2(-1) | ||||||
|  | #		XXXXXEXXXXXE	ROW 2 COLUMN 2					2(-1) | ||||||
|  | #		XXXXXEXXXXXE	ROW 2 COLUMN 3					2(-1) | ||||||
|  | #		XXXXXEXXXXXE	ROW 3 COLUMN 1					2(-1) | ||||||
|  | #		XXXXXEXXXXXE	ROW 3 COLUMN 2					2(-1) | ||||||
|  | #		XXXXXEXXXXXE	ROW 3 COLUMN 3					2(-1) | ||||||
|  | #		V33E		VERB 33 TO SIGNAL THAT REFSMMAT IS READY TO BE STORED | ||||||
|  |  | ||||||
|  | 		 | ||||||
|  |  | ||||||
|  | 		BANK	07 | ||||||
|  | 		SETLOC	EXTVERBS | ||||||
|  | 		BANK | ||||||
|  |  | ||||||
|  | 		EBANK=	TEPHEM | ||||||
|  |  | ||||||
|  | 		COUNT*	$$/P27 | ||||||
|  | V70UPDAT	CAF	UP70		# COMES HERE ON V70E | ||||||
|  | 		TCF	V73UPDAT +1 | ||||||
|  |  | ||||||
|  | V71UPDAT	CAF	UP71		# COMES HERE ON V71E | ||||||
|  | 		TCF	V73UPDAT +1 | ||||||
|  |  | ||||||
|  | V72UPDAT	CAF	UP72		# COMES HERE ON V72E | ||||||
|  | 		TCF	V73UPDAT +1 | ||||||
|  |  | ||||||
|  | V73UPDAT	CAF	UP73		# COMES HERE ON V73E | ||||||
|  |  | ||||||
|  |  +1		TS	UPVERBSV	# SAVE UPVERB UNTIL IT'S OK TO ENTER P27 | ||||||
|  |  | ||||||
|  | 		TC	TESTXACT	# GRAB DISPLAY IF AVAILABLE, OTHERWISE | ||||||
|  | 					# TURN*OPERATOR ERROR* ON AND TERMINATEJOB | ||||||
|  |  | ||||||
|  | 		CA	MODREG		# CHECK IF UPDATE ALLOWED | ||||||
|  | 		EXTEND			# FIRST CHECK FOR MODREG = +0, -0 | ||||||
|  | 		BZF	+3		# (+0 = P00, -0 = FRESHSTART) | ||||||
|  | UPERROR		TC	POSTJUMP	# TURN ON 'OPERATOR ERROR' LIGHT | ||||||
|  | 		CADR	UPERROUT +2	# GO TO COMMON UPDATE PROGRAM EXIT | ||||||
|  |  | ||||||
|  | 		CAE	MODREG		# UPDATE ALLOWED. | ||||||
|  | CKMDMORE	=	UPERROR | ||||||
|  | 		TS	UPOLDMOD	# SAVE CURRENT MAJOR MODE | ||||||
|  | # Page 1389 | ||||||
|  | 		CAE	UPVERBSV	# SET UPVERB TO INDICDATE TO P27 | ||||||
|  |  | ||||||
|  | 		TS	UPVERB		# WHICH EXTENDED VERB CALLED IT. | ||||||
|  |  | ||||||
|  | 		CAF	ONE | ||||||
|  | 		TS	UPCOUNT		# INITIALIZE UPCOUNT TO 1 | ||||||
|  |  | ||||||
|  | 		TC	POSTJUMP	# LEAVE EXTENDED VERB BANK AND | ||||||
|  | 		CADR	UPPART2		# GO TO UPDATE PROGRAM (P27) BANK. | ||||||
|  |  | ||||||
|  | UP70		EQUALS	ZERO | ||||||
|  | UP71		EQUALS	ONE | ||||||
|  | UP72		EQUALS	TWO | ||||||
|  | UP73		EQUALS	THREE | ||||||
|  |  | ||||||
|  | 		BANK	04 | ||||||
|  | 		SETLOC	UPDATE2 | ||||||
|  | 		BANK | ||||||
|  |  | ||||||
|  | 		COUNT*	$$/P27 | ||||||
|  |  | ||||||
|  | UPPART2		EQUALS			# UPDATE PROGRAM -- PART 2 | ||||||
|  |  | ||||||
|  | 		TC	PHASCHNG	# SET RESTART GROUP 6 TO RESTORE OLD MODE | ||||||
|  | 		OCT	07026		# AND DOWNLIST AND EXIT IF RESTART OCCURS. | ||||||
|  | 		OCT	30000		# PRIORITY SAME AS CHRPRIO | ||||||
|  | ## [WORKAROUND] RSB 2009 | ||||||
|  | 		SBANK=	PINSUPER | ||||||
|  | ## [WORKAROUND] | ||||||
|  | 		EBANK=	UPBUFF | ||||||
|  | 		2CADR	UPOUT +1 | ||||||
|  |  | ||||||
|  | 		CAF	ONE | ||||||
|  | 		TS	DNLSTCOD	# DOWNLIST | ||||||
|  |  | ||||||
|  | 		TC	NEWMODEX	# SET MAJOR MODE = 27 | ||||||
|  | 		DEC	27 | ||||||
|  |  | ||||||
|  | 		INDEX	UPVERB		# BRANCH DEPENDING ON WHETHER THE UPDATE | ||||||
|  | 		TCF	+1		# VERB REQUIRES A FIXED OR VARIABLE NUMBER | ||||||
|  | 		TCF	+3		# V70 FIXED                (OF COMPONENTS) | ||||||
|  | 		TCF	OHWELL1		# V71 VARIABLE -- GO GET NO. OF COMPONENTS | ||||||
|  | 		TCF	OHWELL1		# V72 VARIABLE -- GO GET NO. OF COMPONENTS | ||||||
|  | 		CA	TWO		# V73 (AND V70) FIXED | ||||||
|  | 		TS	COMPNUMB	# SET NUMBER OF COMPONENTS TO 2. | ||||||
|  | 		TCF	OHWELL2		# GO GET THE TWO UPDATE COMPONENTS | ||||||
|  |  | ||||||
|  | OHWELL1		CAF	ADUPBUFF	# * REQUEST USER TO SEND NUMBER * | ||||||
|  | 		TS	MPAC +2		# * OF COMPONENTS PARAMETER(II).* | ||||||
|  |  +2		CAF	UPLOADNV	# (CKV432 RETURNS HERE IF V32 ENCOUNTERED) | ||||||
|  | 		TC	BANKCALL	# DISPLAY A FLASHING V21N01 | ||||||
|  | # Page 1390 | ||||||
|  | 		CADR	GOXDSPF		# TO REQUEST II. | ||||||
|  |  | ||||||
|  | 		TCF	UPOUT4		# V34 TERMINATE UPDATE (P27) RETURN | ||||||
|  | 		TCF	OHWELL1 +2 | ||||||
|  | 		TC	CK4V32		# DATA OR V32 RETURN | ||||||
|  | 		CS	BIT2 | ||||||
|  | 		AD	UPBUFF		# IS II (NUMBER OF COMPONENTS PARAMETER) | ||||||
|  | 		EXTEND			# .GE. 3 AND .LE. 20D. | ||||||
|  | 		BZMF	OHWELL1 +2 | ||||||
|  | 		CS	UPBUFF | ||||||
|  | 		AD	UP21 | ||||||
|  | 		EXTEND | ||||||
|  | 		BZMF	OHWELL1 +2 | ||||||
|  | 		CAE	UPBUFF | ||||||
|  | 		TS	COMPNUMB	# SAVE II IN COMPNUMB | ||||||
|  |  | ||||||
|  | # UPBUFF LOADING SEQUENCE | ||||||
|  |  | ||||||
|  | 		INCR	UPCOUNT		# INCREMENT COUNT OF COMPONENTS RECEIVED. | ||||||
|  | OHWELL2		CAF	ADUPBFM1	# CALCULATE LOCATION (ECADR) IN UPBUFF | ||||||
|  | 		AD	UPCOUNT		# WHERE NEXT COMPONENT SHOULD BE STORED | ||||||
|  |  +2		TS	MPAC +2		# PLACE ECADR INTO R3. | ||||||
|  |  +3		CAF	UPLOADNV	# (CK4V32 RETURNS HERE IF V32 ENCOUNTERED) | ||||||
|  | 		TC	BANKCALL	# DISPLAY A FLASHING V21N01 | ||||||
|  | 		CADR	GOXDSPF		# TO REQUEST DATA. | ||||||
|  | 		TCF	UPOUT4		# V34 TERMINATE UPDATE (P27) RETURN. | ||||||
|  | 		TCF	OHWELL2 +3	# V33 PROCEED RETURN | ||||||
|  | 		TC	CK4V32		# DATA OR V32 RETURN | ||||||
|  | 		CS	UPCOUNT		# HAVE WE FINISHED RECEIVING ALL | ||||||
|  | 		AD	COMPNUMB	# THE DATA WE EXPECTED. | ||||||
|  | 		EXTEND | ||||||
|  | 		BZMF	UPVERIFY	# YES -- GO TO VERIFICATION SEQUENCE | ||||||
|  | 		TCF	OHWELL2 -1	# NO -- REQUEST ADDITIONAL DATA. | ||||||
|  |  | ||||||
|  | # VERIFY SEQUENCE | ||||||
|  |  | ||||||
|  | UPVERIFY	CAF	ADUPTEMP	# PLACE ECADR WHERE COMPONENT NO. INDEX | ||||||
|  | 		TS	MPAC +2		# IS TO BE STORED INTO R3. | ||||||
|  | 		CAF	UPVRFYNV	# (CK4V32 RETURNS HERE IF V32 ENCOUNTERED) | ||||||
|  | 		TC	BANKCALL	# DISPLAY A FLASHING V21N02 TO REQUEST | ||||||
|  | 		CADR	GOXDSPF		# DATA CORRECTION OR VERIFICATION. | ||||||
|  | 		TCF	UPOUT4		# V34 TERMINATE UPDATE (P27) RETURN | ||||||
|  | 		TCF	UPSTORE		# V33 DATA SENT IS GOOD.  GO STORE IT. | ||||||
|  | 		TC	CK4V32		# COMPONENT NO. INDEX OR V32 RETURN | ||||||
|  | 		CA	UPTEMP		# DOES THE COMPONENT NO. INDEX JUST SENT | ||||||
|  | 		EXTEND			# SPECIFY A LEGAL COMPONENT NUMBER? | ||||||
|  | 		BZMF	UPVERIFY	# NO, IT IS NOT POSITIVE NONZERO | ||||||
|  | 		CS	UPTEMP | ||||||
|  | 		AD	COMPNUMB | ||||||
|  | # Page 1391 | ||||||
|  | 		AD	BIT1 | ||||||
|  | 		EXTEND | ||||||
|  | 		BZMF	UPVERIFY	# NO | ||||||
|  | 		CAF	ADUPBFM1	# YES -- BASED ON THE COMPONENT NO. INDEX | ||||||
|  | 		AD	UPTEMP		# CALCULATE THE ECADR OF LOCATION IN | ||||||
|  | 		TCF	OHWELL2 +2	# UPBUFF WHICH USER WANTS TO CHANGE. | ||||||
|  |  | ||||||
|  | UPOUT4		EQUALS	UPOUT +1	# COMES HERE ON V34 TO TERMINATE UPDATE | ||||||
|  |  | ||||||
|  | # CHECK FOR VERB 32 SEQUENCE | ||||||
|  |  | ||||||
|  | CK4V32		CS	MPAC		# ON DATA RETURN FROM `GOXDSPF' | ||||||
|  | 		MASK	BIT6		# ON DATA RETURN FROM "GOXDSP" & THE CON- | ||||||
|  | 		CCS	A		# TENTS OF MPAC = VERB.  SO TEST FOR V32. | ||||||
|  | 		TC	Q		# IT'S NOT A V32, IT'S DATA.  PROCEED. | ||||||
|  | 		INDEX	Q | ||||||
|  | 		TC	0 -6		# V32 ENCOUNTERED -- GO BACK AND GET DATA | ||||||
|  |  | ||||||
|  | ADUPTEMP	ADRES	UPTEMP		# ADDRESS OF TEMP STORAGE FOR CORRECTIONS | ||||||
|  | ADUPBUFF	ADRES	UPBUFF		# ADDRESS OF UPDATE DATA STORAGE BUFFER | ||||||
|  | UPLOADNV	VN	2101		# VERB 21 NOUN 01 | ||||||
|  | UPVRFYNV	VN	2102		# VERB 21 NOUN 02 | ||||||
|  | UP21		=	MD1		# DEC 21 = MAX NO OF COMPONENTS +1 | ||||||
|  | UPDTPHAS	EQUALS	FIVE | ||||||
|  |  | ||||||
|  | # PRE-STORE AND FAN TO APPROPRIATE BRANCH SEQUENCE | ||||||
|  |  | ||||||
|  | UPSTORE		EQUALS			# GROUND HAS VERIFIED UPDATE.  STORE DATA. | ||||||
|  |  | ||||||
|  | 		INHINT | ||||||
|  |  | ||||||
|  | 		CAE	FLAGWRD7	# INVERT VERIFLAG (BIT 3 OF FLAGWRD7) TO | ||||||
|  | 		XCH	L		# INDICATE TO THE GROUND (VIA DOWNLINK) | ||||||
|  | 		CAF	VERIFBIT	# THAT THE V33 (WHICH THE GROUND SENT TO | ||||||
|  | 		EXTEND			# VERIFY THE UPDATE) HAS BEEN SUCCESSFULLY | ||||||
|  | 		RXOR	LCHAN		# RECEIVED BY THE UPDATE PROGRAM | ||||||
|  | 		TS	FLAGWRD7 | ||||||
|  |  | ||||||
|  | 		TC	PHASCHNG	# SET RESTART GROUP 6 TO REDO THE UPDATE | ||||||
|  | 		OCT	04026		# DATA STORE IF A RESTART OCCURS. | ||||||
|  | 		INHINT			# (BECAUSE PHASCHNG DID A RELINT) | ||||||
|  |  | ||||||
|  | 		CS	TWO		# GO TO UPFNDVAC IF INSTALL IS REQUIRED. | ||||||
|  | 		AD	UPVERB		# THAT IS, IF IT'S A V70 - V72. | ||||||
|  | 		EXTEND			# GO TO UPEND73 IF IT'S A V73. | ||||||
|  | 		BZMF	UPFNDVAC | ||||||
|  |  | ||||||
|  | # VERB 73 BRANCH | ||||||
|  | # Page 1392 | ||||||
|  | UPEND73		EXTEND			# V73 -- PERFORM DP OCTAL AGC CLOCK INCREMENT | ||||||
|  |  | ||||||
|  | 		DCA	UPBUFF | ||||||
|  | 		DXCH	UPBUFF +8D | ||||||
|  | 		TC	TIMEDIDL | ||||||
|  | 		TC	FALTON		# ERROR -- TURN ON *OPERATOR ERROR* LIGHT | ||||||
|  | 		TC	UPOUT +1	# GO TO COMMON UPDATE PROGRAM EXIT | ||||||
|  |  | ||||||
|  | UPFNDVAC	CAF	CHRPRIO		# (USE EXTENDED VERB PRIORITY) | ||||||
|  | 		TC	FINDVAC		# GET VAC AREA FOR 'CALL INTSTALL' | ||||||
|  | 		EBANK=	TEPHEM | ||||||
|  | 		2CADR	UPJOB		# (NOTE:  THIS WILL ALSO SET EBANK FOR | ||||||
|  | 		TC	ENDOFJOB	# 'TEPHEM' UPDATE BY V70) | ||||||
|  |  | ||||||
|  | UPJOB		TC	INTPRET		# THIS COULD BE A STATE VECTOR UPDATE -- SO | ||||||
|  | 		CALL			# WAIT (PUT JOB TO SLEEP) IF ORBIT INT(OI) | ||||||
|  | 			INTSTALL	# IS IN PROGRESS -- OR -- GRAB OI AND RETURN | ||||||
|  | 					# TO UPWAKE IF OI IS NOT IN PROGRESS. | ||||||
|  |  | ||||||
|  | UPWAKE		EXIT | ||||||
|  |  | ||||||
|  | 		TC	PHASCHNG	# RESTART PROTECT (GROUP 6) | ||||||
|  | 		OCT	04026 | ||||||
|  |  | ||||||
|  | 		TC	UPFLAG		# SET INTEGRATION RESTART BIT | ||||||
|  | 		ADRES	REINTFLG | ||||||
|  | 		INHINT | ||||||
|  | UPPART3		EQUALS | ||||||
|  |  | ||||||
|  | 		INDEX	UPVERB		# BRANCH TO THE APPROPRIATE UPDATE VERB | ||||||
|  | 		TCF	+1		# ROUTINE TO ACTUALLY PERFORM THE UPDATE | ||||||
|  | 		TCF	UPEND70		# V70 | ||||||
|  | 		TCF	UPEND71		# V71 | ||||||
|  | 		TCF	UPEND72		# V72 | ||||||
|  |  | ||||||
|  | # ROUTINE TO INCREMENT CLOCK (TIME2,TIME1) WITH CONTENTS OF DP WORD AT UPBUFF. | ||||||
|  |  | ||||||
|  | TIMEDIDL	EXTEND | ||||||
|  | 		QXCH	UPTEMP		# SAVE Q FOR RETURN | ||||||
|  | 		CAF	ZERO		# ZERO AND SAVE TIME2,TIME1 | ||||||
|  | 		ZL | ||||||
|  | 		DXCH	TIME2 | ||||||
|  | 		DXCH	UPBUFF +18D	# STORE IN CASE OF OVERFLOW | ||||||
|  |  | ||||||
|  | 		CAF	UPDTPHAS	# SO | ||||||
|  | 		TS	L		# A | ||||||
|  | 		COM			# QUICK | ||||||
|  | 		DXCH	-PHASE6		# PHASCHNG | ||||||
|  | # Page 1393 | ||||||
|  | TIMEDIDR	INHINT | ||||||
|  |  | ||||||
|  | 		CAF	ZERO | ||||||
|  | 		ZL			# PICK UP INCRMENTER (AND ZERO | ||||||
|  | 		TS	MPAC +2		# IT IN CASE OF RESTARTS) AND | ||||||
|  | 		DXCH	UPBUFF +8D	# STORE IT | ||||||
|  | 		DXCH	MPAC		# INTO MPAC FOR TPAGREE. | ||||||
|  |  | ||||||
|  | 		EXTEND | ||||||
|  | 		DCA	UPBUFF +18D | ||||||
|  | 		DAS	MPAC		# FORM SUM IN MPAC | ||||||
|  | 		EXTEND | ||||||
|  | 		BZF	DELTAOK		# TEST FOR OVERFLOW | ||||||
|  | 		CAF	ZERO | ||||||
|  | 		DXCH	UPBUFF +18D	# OVERFLOW, RESTORE OLD VALUE OF CLOCK | ||||||
|  | 		DAS	TIME2		# AND TURN ON OPERATOR ERROR | ||||||
|  |  | ||||||
|  | 		TC	PHASCHNG	# RESTART PROTECT (GROUP 6) | ||||||
|  | 		OCT	04026 | ||||||
|  |  | ||||||
|  | 		TC	UPTEMP		# GO TO ERROR EXIT | ||||||
|  |  | ||||||
|  | DELTAOK		TC	TPAGREE		# FORCE SIGN AGREEMENT | ||||||
|  | 		DXCH	MPAC | ||||||
|  | 		DAS	TIME2		# INCREMENT TIME2,TIME1 | ||||||
|  |  | ||||||
|  | 		TC	PHASCHNG	# RESTART PROTECT (GROUP 6) | ||||||
|  | 		OCT	04026 | ||||||
|  |  | ||||||
|  | 		INHINT | ||||||
|  | 		INDEX	UPTEMP		# (CODED THIS WAY FOR RESTART PROTECTION) | ||||||
|  | 		TC	1		# NORMAL RETURN | ||||||
|  |  | ||||||
|  | # VERB 71 BRANCH | ||||||
|  |  | ||||||
|  | UPEND71		CAE	UPBUFF +1	# SET EBANK | ||||||
|  | 		TS	EBANK		#	AND | ||||||
|  | 		MASK	LOW8		# CALCULATE | ||||||
|  | 		TS	UPTEMP		# S-REG VALUE OF RECEIVING AREA | ||||||
|  |  | ||||||
|  | 		AD	NEG3		# IN THE PROCESS OF | ||||||
|  | 		AD	COMPNUMB	# PERFORMING | ||||||
|  | 		EXTEND			# THIS UPDATE | ||||||
|  | 		BZF	STORLP71	# WILL WE | ||||||
|  | 		MASK	BIT9		# OVERFLOW | ||||||
|  | 		CCS	A		# INTO THE NEXT EBANK.... | ||||||
|  | 		TCF	UPERROUT	# YES | ||||||
|  |  | ||||||
|  | 		CA	NEG3		# NO -- CALCULATE NUMBER OF | ||||||
|  | 		AD	COMPNUMB	# WORDS TO BE STORED MINUS ONE | ||||||
|  | STORLP71	TS	MPAC		# SAVE NO. OF WORDS REMAINING MINUS ONE | ||||||
|  | # Page 1394 | ||||||
|  | 		INDEX	A		# TAKE NEXT UPDATE WORD FROM | ||||||
|  | 		CA	UPBUFF +2	# UPBUFF AND | ||||||
|  |  | ||||||
|  | 		TS	L		# SAVE IT IN L | ||||||
|  | 		CA	MPAC		# CALCULATE NEXT | ||||||
|  | 		AD	UPTEMP		# RECEIVING ADDRESS | ||||||
|  | 		INDEX	A | ||||||
|  | 		EBANK=	1400 | ||||||
|  | 		LXCH	1400		# UPDATE THE REGISTER BY CONTENTS OF L | ||||||
|  | 		EBANK=	TEPHEM | ||||||
|  | 		CCS	MPAC		# ARE THERE ANY WORDS LEFT TO BE STORED | ||||||
|  | 		TCF	STORLP71	# YES | ||||||
|  | 		TCF	UPOUT		# NO -- THEN EXIT UPDATE PROGRAM | ||||||
|  | ADUPBFM1	ADRES	UPBUFF -1	# SAME AS ADUPBUFF BUT LESS 1 (DON'T MOVE) | ||||||
|  | 		TCF	UPOUT		# NO -- EXIT UPDATE (HERE WHEN COMPNUMB = 3) | ||||||
|  |  | ||||||
|  | # VERB 72 BRANCH | ||||||
|  |  | ||||||
|  | UPEND72		CAF	BIT1		# HAVE AN ODD NO. OF COMPONENTS | ||||||
|  | 		MASK	COMPNUMB	# BEEN SENT FOR A V72 UPDATE ... | ||||||
|  | 		CCS	A | ||||||
|  | 		TCF	+2		# YES | ||||||
|  | 		TCF	UPERROUT	# ERROR -- SHOULD BE ODD NO. OF COMPONENTS | ||||||
|  | 		CS	BIT2 | ||||||
|  | 		AD	COMPNUMB | ||||||
|  | LDLOOP72	TS	MPAC		# NOW PERFORM THE UPDATE | ||||||
|  | 		INDEX	A | ||||||
|  | 		CAE	UPBUFF +1	# PICK UP NEXT UPDATE WORD | ||||||
|  | 		LXCH	A | ||||||
|  | 		CCS	MPAC		# SET POINTER TO ECADR (MUST BE CCS) | ||||||
|  | 		TS	MPAC | ||||||
|  | 		INDEX	A | ||||||
|  | 		CAE	UPBUFF +1	# PICK UP NEXT ECADR OF REG TO BE UPDATED | ||||||
|  | 		TS	EBANK		# SET EBANK | ||||||
|  | 		MASK	LOW8		# ISOLATE RELATIVE ADDRESS | ||||||
|  | 		INDEX	A | ||||||
|  | 		EBANK=	1400 | ||||||
|  | 		LXCH	1400		# UPDATE THE REGISTER BY CONTENTS OF L | ||||||
|  | 		EBANK=	TEPHEM | ||||||
|  | 		CCS	MPAC		# ARE WE THORUGH THE V72 UPDATE... | ||||||
|  | 		TCF	LDLOOP72	# NO | ||||||
|  |  | ||||||
|  | # NORMAL FINISH OF P27 | ||||||
|  |  | ||||||
|  | UPOUT		EQUALS | ||||||
|  | 		TC	INTWAKEU	# RELEASE GRAB OF ORBITAL INTEGRATION | ||||||
|  |  +1		CAE	UPOLDMOD	# RESTORE PRIOR P27 MODE | ||||||
|  | 		TC	NEWMODEX +3 | ||||||
|  | 		CAF	ZERO | ||||||
|  | # Page 1395 | ||||||
|  | 		TS	DNLSTCOD | ||||||
|  | 		TC	UPACTOFF	# TURN OFF 'UPLINK ACTIVITY' LIGHT | ||||||
|  |  | ||||||
|  | 		EXTEND			# KILL GROUP 6. | ||||||
|  | 		DCA	NEG0 | ||||||
|  | 		DXCH	-PHASE6 | ||||||
|  |  | ||||||
|  | 		TC	ENDEXT		# EXTENDED VERB EXIT | ||||||
|  |  | ||||||
|  | # VERB TO BRANCH | ||||||
|  |  | ||||||
|  | UPEND70		EXTEND			# V70 DOES THE FOLLOWING WITH DP DELTA | ||||||
|  | 		DCS	UPBUFF		# TIME IN UPBUFF | ||||||
|  | 		DXCH	UPBUFF +8D | ||||||
|  | 		TC	TIMEDIDL	# DECREMENT AGC CLOCK | ||||||
|  |  | ||||||
|  | 		TC	UPERROUT	# ERROR WHILE DECREMENTING CLOCK -- EXIT | ||||||
|  |  | ||||||
|  | 		EBANK=	TEPHEM | ||||||
|  | 		EXTEND | ||||||
|  | 		DCS	UPBUFF		# COPY DECREMENTERS FOR | ||||||
|  | 		DXCH	UPBUFF +10D	# RESTART PROTECTION | ||||||
|  | 		EXTEND | ||||||
|  | 		DCS	UPBUFF | ||||||
|  | 		DXCH	UPBUFF +12D | ||||||
|  |  | ||||||
|  | 		TC	PHASCHNG	# RESTART PROTECT (GROUP 6) | ||||||
|  | 		OCT	04026 | ||||||
|  |  | ||||||
|  | 		CAF	ZERO | ||||||
|  | 		ZL | ||||||
|  | 		DXCH	UPBUFF +10D	# DECREMENT CSM STATE VECTOR TIME | ||||||
|  | 		DAS	TETCSM | ||||||
|  |  | ||||||
|  | 		CAF	ZERO | ||||||
|  | 		ZL | ||||||
|  | 		DXCH	UPBUFF +12D	# DECREMENT LEM STATE VECTOR TIME | ||||||
|  | 		DAS	TETLEM | ||||||
|  |  | ||||||
|  | 		CAF	ZERO | ||||||
|  | 		ZL | ||||||
|  | 		DXCH	UPBUFF | ||||||
|  | 		DAS	TEPHEM +1	# INCREMENT TP TEPHEM | ||||||
|  | 		ADS	TEPHEM | ||||||
|  |  | ||||||
|  | 		TC	PHASCHNG	# RESTART PROTECT (GROUP 6) | ||||||
|  | 		OCT 	04026 | ||||||
|  |  | ||||||
|  | 		EBANK=	UPBUFF | ||||||
|  | # Page 1396 | ||||||
|  | 		TC	UPOUT		# GO TO STANDARD UPDATE PROGRAM EXIT | ||||||
|  |  | ||||||
|  |  | ||||||
|  | # ERROR SEQUENCE | ||||||
|  |  | ||||||
|  | UPERROUT	TC	FALTON		# TURN ON *OPERATOR ERROR* LIGHT | ||||||
|  | 		TCF	UPOUT		# GO TO COMMON UPDATE PROGRAM EXIT | ||||||
|  |  | ||||||
|  |  +2		TC	FALTON		# TURN ON 'OPERATOR ERROR' LIGHT | ||||||
|  | 		TC	UPACTOFF	# TURN OFF 'UPLINK ACTIVITY' LIGHT | ||||||
|  | 		TC	ENDEXT		# EXTENDED VERB EXIT | ||||||
|  | 					# (THE PURPOS OF UPERROUT +2 EXIT IS | ||||||
|  | 					# TO PROVIDE AN ERROR EXIT WHICH DOES NOT | ||||||
|  | 					# RESET ANY RESTART GROUPS) | ||||||
|  |  | ||||||
|  | # 'UPACTOFF' IS A ROUTINE TO TURN OFF UPLINK ACTIVITY LIGHT ON ALL EXITS FROM UPDATE PROGRAM (P27). | ||||||
|  |  | ||||||
|  | UPACTOFF	CS	BIT3 | ||||||
|  | 		EXTEND			# TURN OFF UPLINK ACTIVITY LIGHT | ||||||
|  | 		WAND	DSALMOUT	# (BIT 3 OF CHANNEL 11) | ||||||
|  | 		TC	Q | ||||||
|  | 		 | ||||||
							
								
								
									
										564
									
								
								Luminary099/WAITLIST.agc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										564
									
								
								Luminary099/WAITLIST.agc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,564 @@ | |||||||
|  | # Copyright:	Public domain. | ||||||
|  | # Filename:	WAITLIST.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:	1117-1132 | ||||||
|  | # Mod history:	2009-05-25 RSB	Adapted from the corresponding  | ||||||
|  | #				Luminary131 file, using page  | ||||||
|  | #				images from Luminary 1A. | ||||||
|  | #		2011-01-06 JL	Fixed pseudo-label indentation. | ||||||
|  | #		2011-05-07 JL	Removed workarounds. | ||||||
|  | # | ||||||
|  | # 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-61 | ||||||
|  | #	16:27 JULY 14, 1969  | ||||||
|  |  | ||||||
|  | # Page 1117 | ||||||
|  | # PROGRAM DESCRIPTION								DATE -- 10 OCTOBER 1966 | ||||||
|  | # MOD NO -- 2									LOG SECTION -- WAITLIST | ||||||
|  | # MOD BY -- MILLER	(DTMAX INCREASED TO 162.5 SEC)				ASSEMBLY -- SUNBURST REV 5 | ||||||
|  | # MOD 3 BY KERNAN	(INHINT INSERTED AT WAITLIST) 2/28/68 SKIPPER REV 4 | ||||||
|  | # MOD 4 BY KERNAN	(TWIDDLE IN 54) 3/28/68 SKIPPER REV 13. | ||||||
|  | # | ||||||
|  | # FUNCTIONAL DESCRIPTION -- | ||||||
|  | #	PART OF A SECTION OF PROGRAMS -- WAITLIST, TASKOVER, T3RUPT, USED TO CALL A PROGRAM (CALLED A TASK), | ||||||
|  | #	WHICH IS TO BEGIN IN C(A) CENTISECONDS.  WAITLIST UPDATES TIME3, LST1, AND LST2.  THE MEANING OF THESE LISTS | ||||||
|  | #	FOLLOW. | ||||||
|  | # | ||||||
|  | #		C(TIME3) = 16384 -(T1-T) CENTISECONDS, (T=PRESENT TIME, T1-TIME FOR TASK1) | ||||||
|  | # | ||||||
|  | #			C(LST1)		=	-(T2-T1)+1 | ||||||
|  | #			C(LST1 +1)	=	-(T3-T2)+1 | ||||||
|  | #			C(LST1 +2)	=	-(T4-T3)+1 | ||||||
|  | #				       ... | ||||||
|  | #			C(LST1 +6)	=	-(T8-T7)+1 | ||||||
|  | #			C(LST1 +7)	=	-(T9-T8)+1 | ||||||
|  | # | ||||||
|  | #			C(LST2)		=	2CADR OF TASK1 | ||||||
|  | #			C(LST2 +2)	=	2CADR OF TASK2 | ||||||
|  | #				       ... | ||||||
|  | #			C(LST2 +14)	=	2CADR OF TASK8 | ||||||
|  | #			C(LST2 +16)	=	2CADR OF TASK9 | ||||||
|  | # | ||||||
|  | # WARNINGS -- | ||||||
|  | #	1)	1 <= C(A) <= 16250D (1 CENTISECOND TO 162.5 SEC) | ||||||
|  | #	2)	9 TASKS MAXIMUM | ||||||
|  | #	3)	TASKS CALLED UNDER INTERRUPT INHIBITED | ||||||
|  | #	4)	TASKS END BY TC TASKOVER | ||||||
|  | # | ||||||
|  | # CALLING SEQUENCE -- | ||||||
|  | #	L-1	CA	DELTAT 	(TIME IN CENTISECONDS TO TASK START) | ||||||
|  | #	L	TC	WAITLIST | ||||||
|  | #	L+1	2CADR	DESIRED TASK. | ||||||
|  | #	L+2	(MINOR OF 2CADR) | ||||||
|  | #	L+3	RELINT		(RETURNS HERE) | ||||||
|  | # | ||||||
|  | # TWIDDLE -- | ||||||
|  | #	TWIDDLE IS FOR USE WHEN THE TASK BEING SET UP IS IN THE SAME EBANK AND FBANK AS THE USER.  IN | ||||||
|  | #	SUCH CASES, IT IMPROVES UPON WAITLIST BY ELIMINATING THE NEED FOR THE BBCON HALF OF THE 2CADR, | ||||||
|  | # Page 1118 | ||||||
|  | #	SAVING A WORD.  TWIDDLE IS LIKE WAITLIST IN EVERY RESPECT EXCEPT CALLING SEQUENCE, TO WIT, | ||||||
|  | #		L-1	CA	DELTAT | ||||||
|  | #		L	TC	TWIDDLE | ||||||
|  | #		L+1	ADRES	DESIRED TASK | ||||||
|  | #		L+2	RELINT		(RETURNS HERE) | ||||||
|  | # | ||||||
|  | # NORMAL EXIT MODES -- | ||||||
|  | #	AT L+3 OF CALLING SEQUENCE. | ||||||
|  | # | ||||||
|  | # ALARM OR ABORT EXIT MODES -- | ||||||
|  | #	TC	ABORT | ||||||
|  | #	OCT	1203	(WAITLIST OVERFLOW -- TOO MANY TASKS) | ||||||
|  | # | ||||||
|  | # ERASABLE INITIALIZATION REQUIRED -- | ||||||
|  | #	ACCOMPLISHED BY FRESH START --	LST2, ..., LST2 +16 = ENDTASK | ||||||
|  | #					LST1, ..., LST1 +7  = NEG1/2 | ||||||
|  | # | ||||||
|  | # OUTPUT -- | ||||||
|  | #	LST1 AND LST2 UPDATED WTIH NEW TASK AND ASSOCIATED TIME. | ||||||
|  | # | ||||||
|  | # DEBRIS -- | ||||||
|  | #	CENTRALS -- A,Q,L | ||||||
|  | #	OTHER    -- WAITEXIT, WAITADR, WAITTEMP, WAITBANK | ||||||
|  | # | ||||||
|  | # DETAILED ANALYSIS OF TIMING -- | ||||||
|  | #	CONTROL WILL NOT BE RETURNED TO THE SPECIFIED ADDRESS (2CADR) IN EXACTLY DELTA T CENTISECONDS. | ||||||
|  | #	THE APPROXIMATE TIME MAY BE CALCULATED AS FOLLOWS: | ||||||
|  | #		LET T0 = THE TIME OF THE TC WAITLIST | ||||||
|  | #		LET TS = T0 +147U + COUNTER INCREMENTS (SET UP TIME) | ||||||
|  | #		LET X  = TS -(100TS)/100  (VARIANCE FROM COUNTERS) | ||||||
|  | #		LET Y  = LENGTH OF TIME OF INHIBIT INTERRUPT AFTER T3RUPT | ||||||
|  | #		LET Z  = LENGTH OF TIME TO PROCESS TASKS WHICH ARE DUE THIS T3RUPT BUT DISPATCHED EARLIER. | ||||||
|  | #			 (Z=0, USUALLY). | ||||||
|  | #		LET DELTD  = THE ACTUAL TIME TAKEN TO GIVE CONTROL TO 2CADR | ||||||
|  | #		THEN DELTD = TS+DELTA T -X +Y +Z +1.05MS* +COUNTERS* | ||||||
|  | #		*THE TIME TAKEN BY WAITLIST ITSELF AND THE COUNTER TICKING DURING THIS WAITLIST TIME. | ||||||
|  | #	IN SHORT, THE ACTUAL TIME TO RETURN CONTROL TO A 2CADR IS AUGMENTED BY THE TIME TO SET UP THE TASK'S | ||||||
|  | # 	INTERRUPT, ALL COUNTERS TICKING, THE T3RUPT PROCESSING TIME, THE WAITLIST PROCESSING TIME AND THE POSSIBILITY | ||||||
|  | #	OF OTHER TASKS INHIBITING THE INTERRUPT. | ||||||
|  |  | ||||||
|  | 		BLOCK	02 | ||||||
|  | # Page 1119 | ||||||
|  | 		EBANK=	LST1		# TASK LISTS IN SWITCHED E BANK. | ||||||
|  |  | ||||||
|  | 		COUNT*	$$/WAIT | ||||||
|  | TWIDDLE		INHINT | ||||||
|  | 		TS	L		# SAVE DELAY TIME IN L | ||||||
|  | 		CA	POSMAX | ||||||
|  | 		ADS	Q		# CREATING OVERFLOW AND Q-1 IN Q | ||||||
|  | 		CA	BBANK | ||||||
|  | 		EXTEND | ||||||
|  | 		ROR	SUPERBNK | ||||||
|  | 		XCH	L | ||||||
|  |  | ||||||
|  | WAITLIST	INHINT | ||||||
|  | 		XCH	Q		# SAVE DELTA T IN Q AND RETURN IN | ||||||
|  | 		TS	WAITEXIT	# WAITEXIT. | ||||||
|  | 		EXTEND | ||||||
|  | 		INDEX	WAITEXIT	# IF TWIDDLING, THE TS SKIPS TO HERE | ||||||
|  | 		DCA	0		# PICK UP 2CADR OF TASK. | ||||||
|  |  -1		TS	WAITADR		# BBCON WILL REMAIN IN L | ||||||
|  | DLY2		CAF	WAITBB		# ENTRY FROM FIXDELAY AND VARDELAY. | ||||||
|  | 		XCH	BBANK | ||||||
|  | 		TCF	WAIT2 | ||||||
|  |  | ||||||
|  | # RETURN TO CALLER AFTER TASK INSERTION: | ||||||
|  |  | ||||||
|  | LVWTLIST	DXCH	WAITEXIT | ||||||
|  | 		AD	TWO | ||||||
|  | 		DTCB | ||||||
|  |  | ||||||
|  | 		EBANK=	LST1 | ||||||
|  | WAITBB		BBCON	WAIT2 | ||||||
|  |  | ||||||
|  | # RETURN TO CALLER +2 AFTER WAITING DT SPECIFIED AT CALLER +1. | ||||||
|  |  | ||||||
|  | FIXDELAY	INDEX	Q		# BOTH ROUTINES MUST BE CALLED UNDER | ||||||
|  | 		CAF	0		# WAITLIST CONTROL AND TERMINATE THE TASK | ||||||
|  | 		INCR	Q		# IN WHICH THEY WERE CALLED. | ||||||
|  |  | ||||||
|  | # RETURN TO CALLER +1 AFTER WAITING THE DT AS ARRIVING IN A. | ||||||
|  |  | ||||||
|  | VARDELAY	XCH	Q		# DT TO Q.  TASK ADRES TO WAITADR. | ||||||
|  | 		TS	WAITADR | ||||||
|  | 		CA	BBANK		# BBANK IS SAVED DURING DELAY. | ||||||
|  | 		EXTEND | ||||||
|  | 		ROR	SUPERBNK	# ADD SBANK TO BBCON. | ||||||
|  | 		TS	L | ||||||
|  | 		CAF	DELAYEX | ||||||
|  | 		TS	WAITEXIT	# GO TO TASKOVER AFTER TASK ENTRY. | ||||||
|  | 		TCF	DLY2 | ||||||
|  |  | ||||||
|  | # Page 1120 | ||||||
|  | DELAYEX		TCF	TASKOVER -2	# RETURNS TO TASKOVER. | ||||||
|  |  | ||||||
|  | # Page 1121 | ||||||
|  | # ENDTASK MUST ENTERED IN FIXED-FIXED SO IT IS DISTINGUISHABLE BY ITS ADRES ALONE. | ||||||
|  |  | ||||||
|  | 		EBANK=	LST1 | ||||||
|  | ENDTASK		-2CADR	SVCT3 | ||||||
|  |  | ||||||
|  | SVCT3		CCS	FLAGWRD2	# DRIFT FLAG | ||||||
|  | 		TCF	TASKOVER | ||||||
|  | 		TCF	TASKOVER | ||||||
|  | 		TCF	+1 | ||||||
|  |  | ||||||
|  | CKIMUSE		CCS	IMUCADR		# DON'T DO NBDONLY IF SOMEONE ELSE IS IN | ||||||
|  | 		TCF	SVCT3X		# IMUSTALL. | ||||||
|  | 		TCF	+3 | ||||||
|  | 		TCF	SVCT3X | ||||||
|  | 		TCF	SVCT3X | ||||||
|  |  | ||||||
|  |  +3		CAF	PRIO35		# COMPENSATE FOR NBD COEFFICIENTS ONLY. | ||||||
|  | 		TC	NOVAC		#	ENABLE EVERY 81.93 SECONDS | ||||||
|  | 		EBANK=	NBDX | ||||||
|  | 		2CADR	NBDONLY | ||||||
|  |  | ||||||
|  | 		TCF	TASKOVER | ||||||
|  |  | ||||||
|  | SVCT3X		TC	FIXDELAY	# DELAY MAX OF 2 TIMES FOR IMUZERO. | ||||||
|  | 		DEC	500 | ||||||
|  | 		TC	SVCT3		# CHECK DRIFT FLAG AGAIN. | ||||||
|  |  | ||||||
|  | # Page 1122 | ||||||
|  | # BEGIN TASK INSERTION. | ||||||
|  |  | ||||||
|  | 		BANK	01 | ||||||
|  | 		COUNT*	$$/WAIT | ||||||
|  | WAIT2		TS	WAITBANK	# BBANK OF CALLING PROGRAM. | ||||||
|  | 		CA	Q | ||||||
|  | 		EXTEND | ||||||
|  | 		BZMF	WAITP00H | ||||||
|  |  | ||||||
|  | 		CS	TIME3 | ||||||
|  | 		AD	BIT8		# BIT 8 = OCT 200 | ||||||
|  | 		CCS	A		# TEST 200 - C(TIME3).  IF POSITIVE, | ||||||
|  | 					# IT MEANS THAT TIME3 OVERFLOW HAS OCCURRED PRIOR TO CS TIME3 AND THAT | ||||||
|  | 					# C(TIME3) = T - T1, INSTEAD OF 1.0 - (T1 - T).  THE FOLLOWING FOUR | ||||||
|  | 					# ORDERS SET C(A) = TD - T1 + 1 IN EITHER CASE. | ||||||
|  |  | ||||||
|  | 		AD	OCT40001	# OVERFLOW HAS OCCURRED.  SET C(A) = | ||||||
|  | 		CS	A		# T - T1 + 1.0 - 201 | ||||||
|  |  | ||||||
|  | # NORMAL CASE (C(A) NNZ) YIELDS SAME C(A):  -( -(1.0-(T1-T)) + 200) - 1 | ||||||
|  |  | ||||||
|  | 		AD	OCT40201 | ||||||
|  | 		AD	Q		# RESULT = TD - T1 + 1. | ||||||
|  |  | ||||||
|  | 		CCS	A		# TEST TD - T1 + 1. | ||||||
|  |  | ||||||
|  | 		AD	LST1		# IF TD - T1 POS, GO TO WTLST5 WITH | ||||||
|  | 		TCF	WTLST5		# C(A) = (TD - T1) + C(LST1) = TD-T2+1 | ||||||
|  |  | ||||||
|  | 		NOOP | ||||||
|  | 		CS	Q | ||||||
|  |  | ||||||
|  | # NOTE THAT THIS PROGRAM SECTION IS NEVER ENTERED WHEN T-T1 G/E -1, | ||||||
|  | # SINCE TD-T1+1 = (TD-T) + (T-T1+1), AND DELTA T = TD-T G/E +1.  (G/E | ||||||
|  | # SYMBOL MEANS GREATER THAN OR EQUAL TO).  THUS THERE NEED BE NO CON- | ||||||
|  | # CERN OVER A PREVIOUS OR IMMINENT OVEFLOW OF TIME3 HERE. | ||||||
|  |  | ||||||
|  | 		AD	POS1/2		# WHEN TD IS NEXT, FORM QUANTITY | ||||||
|  | 		AD	POS1/2		#	1.0 - DELTA T = 1.0 - (TD - T) | ||||||
|  | 		XCH	TIME3 | ||||||
|  | 		AD	NEGMAX | ||||||
|  | 		AD	Q		# 1.0 - DELTAT T NOW COMPLETE. | ||||||
|  | 		EXTEND			# ZERO INDEX Q. | ||||||
|  | 		QXCH	7		# (ZQ) | ||||||
|  |  | ||||||
|  | # Page 1123 | ||||||
|  | WTLST4		XCH	LST1 | ||||||
|  | 		XCH	LST1 	+1 | ||||||
|  | 		XCH	LST1 	+2 | ||||||
|  | 		XCH	LST1 	+3 | ||||||
|  | 		XCH	LST1 	+4 | ||||||
|  | 		XCH	LST1 	+5 | ||||||
|  | 		XCH	LST1 	+6 | ||||||
|  | 		XCH	LST1 	+7 | ||||||
|  |  | ||||||
|  | 		CA	WAITADR		# (MINOR PART OF TASK CADR HAS BEEN IN L.) | ||||||
|  | 		INDEX	Q | ||||||
|  | 		TCF	+1 | ||||||
|  |  | ||||||
|  | 		DXCH	LST2 | ||||||
|  | 		DXCH	LST2 	+2 | ||||||
|  | 		DXCH	LST2 	+4 | ||||||
|  | 		DXCH	LST2 	+6 | ||||||
|  | 		DXCH	LST2 	+8D | ||||||
|  | 		DXCH	LST2 	+10D	# AT END, CHECK THAT C(LST2 +10) IS STD | ||||||
|  | 		DXCH	LST2 	+12D | ||||||
|  | 		DXCH	LST2 	+14D | ||||||
|  | 		DXCH	LST2 	+16D | ||||||
|  | 		AD	ENDTASK		# END ITEM, AS CHECK FOR EXCEEDING | ||||||
|  | 					# THE LENGTH OF THE LIST. | ||||||
|  | 		EXTEND			# DUMMY TASK ADRES SHOULD BE IN FIXED- | ||||||
|  | 		BZF	LVWTLIST	# FIXED SO ITS ADRES ALONE DISTINGUISHES | ||||||
|  | 		TCF	WTABORT		# IT. | ||||||
|  |  | ||||||
|  | # Page 1124 | ||||||
|  | WTLST5		CCS	A		# TEST TD - T2 + 1 | ||||||
|  | 		AD	LST1 	+1 | ||||||
|  | 		TCF	+4 | ||||||
|  | 		AD	ONE | ||||||
|  | 		TC	WTLST2 | ||||||
|  | 		OCT	1 | ||||||
|  |  | ||||||
|  |  +4		CCS	A		# TEST TD - T3 + 1 | ||||||
|  | 		AD	LST1 	+2 | ||||||
|  | 		TCF	+4 | ||||||
|  | 		AD	ONE | ||||||
|  | 		TC	WTLST2 | ||||||
|  | 		OCT	2 | ||||||
|  |  | ||||||
|  |  +4		CCS	A		# TEST TD - T4 + 1 | ||||||
|  | 		AD	LST1 	+3 | ||||||
|  | 		TCF	+4 | ||||||
|  | 		AD	ONE | ||||||
|  | 		TC	WTLST2 | ||||||
|  | 		OCT	3 | ||||||
|  |  | ||||||
|  |  +4		CCS	A		# TEST TD - T5 + 1 | ||||||
|  | 		AD	LST1 	+4 | ||||||
|  | 		TCF	+4 | ||||||
|  | 		AD	ONE | ||||||
|  | 		TC	WTLST2 | ||||||
|  | 		OCT	4 | ||||||
|  |  | ||||||
|  |  +4		CCS	A		# TEST TD - T6 + 1 | ||||||
|  | 		AD	LST1 	+5 | ||||||
|  | 		TCF	+4 | ||||||
|  | 		AD	ONE | ||||||
|  | 		TC	WTLST2 | ||||||
|  | 		OCT	5 | ||||||
|  |  | ||||||
|  |  +4		CCS	A		# TEST TD - T7 + 1 | ||||||
|  | 		AD	LST1 	+6 | ||||||
|  | 		TCF	+4 | ||||||
|  | 		AD	ONE | ||||||
|  | 		TC	WTLST2 | ||||||
|  | 		OCT	6 | ||||||
|  |  | ||||||
|  | # Page 1125 | ||||||
|  |  +4		CCS	A		# TEST TD - T2 + 1 | ||||||
|  | 		AD	LST1 	+7 | ||||||
|  | 		TCF	+4 | ||||||
|  | 		AD	ONE | ||||||
|  | 		TC	WTLST2 | ||||||
|  | 		OCT	7 | ||||||
|  |  | ||||||
|  |  +4		CCS	A | ||||||
|  | WTABORT		TC	FILLED | ||||||
|  | 		NOOP			# CAN'T GET HERE | ||||||
|  | 		AD	ONE | ||||||
|  | 		TC	WTLST2 | ||||||
|  | 		OCT	10 | ||||||
|  |  | ||||||
|  | OCT40201	OCT	40201 | ||||||
|  |  | ||||||
|  | # Page 1126 | ||||||
|  | FILLED		DXCH	WAITEXIT | ||||||
|  | 		TC	BAILOUT1	# NO ROOM IN THE INN | ||||||
|  | 		OCT	01203 | ||||||
|  | 		 | ||||||
|  | # Page 1127 | ||||||
|  | # THE ENTRY TC WTLST2 JUST PRECEDING OCT N IS FOR T  LE TD LE T   -1. | ||||||
|  | #                                                  N           N+1 | ||||||
|  | # (LE MEANS LESS THAN OR EQUAL TO).  AT ENTRY, C(A) = -(TD - T   + 1) | ||||||
|  | #                                                             N+1 | ||||||
|  | # THE LST1 ENTRY -(T   -T +1) IS TO BE REPLACED BY -(TD - T  + 1), AND | ||||||
|  | #                   N+1  N                                 N | ||||||
|  | # THE ENTRY -(T   - TD + 1) IS TO BE INSERTED IMMEDIATELY FOLLOWING. | ||||||
|  | #              N+1 | ||||||
|  |  | ||||||
|  | WTLST2		TS	WAITTEMP	# C(A) = -(TD - T + 1) | ||||||
|  | 		INDEX	Q | ||||||
|  | 		CAF	0 | ||||||
|  | 		TS	Q		# INDEX VALUE INTO Q. | ||||||
|  |  | ||||||
|  | 		CAF	ONE | ||||||
|  | 		AD	WAITTEMP | ||||||
|  | 		INDEX	Q		# C(A) = -(TD - T ) + 1. | ||||||
|  | 		ADS	LST1 	-1	#                N | ||||||
|  |  | ||||||
|  | 		CS	WAITTEMP | ||||||
|  | 		INDEX	Q | ||||||
|  | 		TCF	WTLST4 | ||||||
|  |  | ||||||
|  | # 	C(TIME3) 	=	1.0 - (T1 - T) | ||||||
|  | # | ||||||
|  | # 	C(LST1)		=	- (T2 - T1) + 1 | ||||||
|  | # 	C(LST1+1)	=	- (T3 - T2) + 1 | ||||||
|  | # 	C(LST1+2)	=	- (T4 - T3) + 1 | ||||||
|  | #	C(LST1+3)	=	- (T5 - T4) + 1 | ||||||
|  | # 	C(LST1+4)	=	- (T6 - T5) + 1 | ||||||
|  | # | ||||||
|  | #	C(LST2)		=	2CADR TASK1 | ||||||
|  | #	C(LST2+2)	=	2CADR TASK2 | ||||||
|  | #	C(LST2+4)	=	2CADR TASK3 | ||||||
|  | #	C(LST2+6)	=	2CADR TASK4 | ||||||
|  | #	C(LST2+8)	=	2CADR TASK5 | ||||||
|  | #	C(LST2+10)	=	2CADR TASK6 | ||||||
|  |  | ||||||
|  | # Page 1128 | ||||||
|  | # ENTERS HERE ON T3 RUPT TO DISPATCH WAITLISTED TASK. | ||||||
|  |  | ||||||
|  | T3RUPT		EXTEND | ||||||
|  | 		ROR	SUPERBNK	# READ CURRENT SUPERBANK VALUE AND | ||||||
|  | 		TS	BANKRUPT	# SAVE WITH E AND F BANK VALUES. | ||||||
|  | 		EXTEND | ||||||
|  | 		QXCH	QRUPT | ||||||
|  |  | ||||||
|  | T3RUPT2		CAF	NEG1/2		# DISPATCH WAITLIST TASK. | ||||||
|  | 		XCH	LST1 	+7 | ||||||
|  | 		XCH	LST1 	+6 | ||||||
|  | 		XCH	LST1 	+5 | ||||||
|  | 		XCH	LST1 	+4	# 1. MOVE UP LST1 CONTENTS, ENTERING | ||||||
|  | 		XCH	LST1 	+3	#    A VALUE OF 1/2 +1 AT THE BOTTOM | ||||||
|  | 		XCH	LST1 	+2	#    FOR T6-T5, CORRESPONDING TO THE | ||||||
|  | 		XCH	LST1 	+1	#    INTERVAL 81.91 SEC FOR ENDTASK. | ||||||
|  | 		XCH	LST1 | ||||||
|  | 		AD	POSMAX		# 2. SET T3 = 1.0 - T2 - T USING LIST 1. | ||||||
|  | 		ADS	TIME3		#    SO T3 WON'T TICK DURING UPDATE. | ||||||
|  | 		TS	RUPTAGN | ||||||
|  | 		CS	ZERO | ||||||
|  | 		TS	RUPTAGN		# SETS RUPTAGN TO +1 ON OVERFLOW. | ||||||
|  |  | ||||||
|  | 		EXTEND			# DISPATCH TASK. | ||||||
|  | 		DCS	ENDTASK | ||||||
|  | 		DXCH	LST2 	+16D | ||||||
|  | 		DXCH	LST2 	+14D | ||||||
|  | 		DXCH	LST2 	+12D | ||||||
|  | 		DXCH	LST2 	+10D | ||||||
|  | 		DXCH	LST2 	+8D | ||||||
|  | 		DXCH	LST2 	+6 | ||||||
|  | 		DXCH	LST2 	+4 | ||||||
|  | 		DXCH	LST2 	+2 | ||||||
|  | 		DXCH	LST2 | ||||||
|  |  | ||||||
|  | 		XCH	L | ||||||
|  | 		EXTEND | ||||||
|  | 		WRITE 	SUPERBNK	# SET SUPERBANK FROM BBCON OF 2CADR | ||||||
|  | 		XCH	L		# RESTORE TO L FOR DXCH Z. | ||||||
|  | 		DTCB | ||||||
|  |  | ||||||
|  | # Page 1129 | ||||||
|  | # RETURN, AFTER EXECUTION OF T3 OVERFLOW TASK: | ||||||
|  |  | ||||||
|  | 		BLOCK	02 | ||||||
|  | 		COUNT*	$$/WAIT | ||||||
|  | TASKOVER	CCS	RUPTAGN		# IF +1 RETURN TO T3RUPT, IF -0 RESUME. | ||||||
|  | 		CAF	WAITBB | ||||||
|  | 		TS	BBANK | ||||||
|  | 		TCF	T3RUPT2		# DISPATCH NEXT TASK IF IT WAS DUE. | ||||||
|  |  | ||||||
|  | 		CA	BANKRUPT | ||||||
|  | 		EXTEND | ||||||
|  | 		WRITE	SUPERBNK	# RESTORE SUPERBANK BEFORE RESUME IS DONE | ||||||
|  |  | ||||||
|  | RESUME		EXTEND | ||||||
|  | 		QXCH	QRUPT | ||||||
|  | NOQRSM		CA	BANKRUPT | ||||||
|  | 		XCH	BBANK | ||||||
|  | NOQBRSM		DXCH	ARUPT | ||||||
|  | 		RELINT | ||||||
|  | 		RESUME | ||||||
|  |  | ||||||
|  | # Page 1130 | ||||||
|  | # LONGCALL | ||||||
|  | # PROGRAM DESCRIPTION				DATE -- 17 MARCH 1967 | ||||||
|  | # PROGRAM WRITTEN BY W.H.VANDEVER		LOG SECTION WAITLIST | ||||||
|  | # MOD BY -- R. MELANSON TO ADD DOCUMENTATION	ASSEMBLY SUNDISK REV. 100 | ||||||
|  | # | ||||||
|  | # FUNCTIONAL DESCRIPTION -- | ||||||
|  | #	LONGCALL IS CALLED WITH THE DELTA TIME ARRIVING IN A,L SCALED AS TIME2,TIME1 WITH THE 2CADR OF THE TASK | ||||||
|  | #	IMMEDIATELY FOLLOWING THE TC LONGCALL.  FOR EXAMPLE, IT MIGHT BE DONE AS FOLLOWS WHERE TIMELOC IS THE NAME OF | ||||||
|  | # 	A DP REGISTER CONTAINING A DELTA TIME AND WHERE TASKTODO IS THE NAME OF THE LOCATION AT WHICH LONGCALL IS TO | ||||||
|  | # 	START. | ||||||
|  | # CALLING SEQUENCE -- | ||||||
|  | #		EXTEND | ||||||
|  | #		DCA	TIMELOC | ||||||
|  | #		TC	LONGCALL | ||||||
|  | #		2CADR	TASKTODO | ||||||
|  | # NORMAL EXIT MODE -- | ||||||
|  | #	1)	TC	WAITLIST | ||||||
|  | #	2)	DTCB	(TC L+3 OF CALLING ROUTINE 1ST PASS THRU LONGCYCL) | ||||||
|  | #	3)	DTCB	(TO TASKOVER ON SUBSEQUENT PASSES THRU LONGCYCL) | ||||||
|  | # ALARM OR ABORT EXIT MODE -- | ||||||
|  | #	NONE | ||||||
|  | # OUTPUT -- | ||||||
|  | #	LONGTIME AND LONGTIME+1 = DELTA TIME | ||||||
|  | #	LONGEXIT AND LONGEXIT+1 = RETURN 2CADR | ||||||
|  | #	LONGCADR AND LONGCADR+1 = TASK 2CADR | ||||||
|  | #	A = SINGLE PRECISION TIME FOR WAITLIST | ||||||
|  | # ERASABLE INITIALIZATION -- | ||||||
|  | #	A = MOST SIGNIFICANT PART OF DELTA TIME | ||||||
|  | #	L = LEAST SIGNIFICANT PART OF DELTA TIME | ||||||
|  | #	Q = ADDRESS OF 2CADR TASK VALUE | ||||||
|  | # DEBRIS -- | ||||||
|  | #	A,Q,L | ||||||
|  | #	LONGCADR AND LONGCADR+1 | ||||||
|  | #	LONGEXIT AND LONGEXIT+1 | ||||||
|  | #	LONGTIME AND LONGTIME+1 | ||||||
|  | # *** THE FOLLOWING IS TO BE IN FIXED-FIXED AND UNSWITCHED ERASIBLE ** | ||||||
|  |  | ||||||
|  | 		BLOCK	02 | ||||||
|  | 		EBANK=	LST1 | ||||||
|  | LONGCALL	DXCH	LONGTIME	# OBTAIN THE DELTA TIME | ||||||
|  |  | ||||||
|  | 		EXTEND			# OBTAIN THE 2CADR | ||||||
|  | # Page 1131 | ||||||
|  | 		NDX	Q | ||||||
|  | 		DCA	0 | ||||||
|  | 		DXCH	LONGCADR | ||||||
|  |  | ||||||
|  | 		EXTEND			# NOW GO TO THE APPROPRIATE SWITCHED BANK | ||||||
|  | 		DCA	LGCL2CDR	# FOR THE REST OF LONGCALL | ||||||
|  | 		DTCB | ||||||
|  |  | ||||||
|  | 		EBANK=	LST1 | ||||||
|  | LGCL2CDR	2CADR	LNGCALL2 | ||||||
|  |  | ||||||
|  | # *** THE FOLLOWING MAY BE IN A SWITCHED BANK, INCLUDING ITS ERASABLE *** | ||||||
|  |  | ||||||
|  | 		BANK	01 | ||||||
|  | 		COUNT*	$$/WAIT | ||||||
|  | LNGCALL2	LXCH	LONGEXIT +1	# SAVE THE CORRECT BB FOR RETURN | ||||||
|  | 		CA	TWO		# OBTAIN THE RETURN ADDRESS | ||||||
|  | 		ADS	Q | ||||||
|  | 		TS	LONGEXIT | ||||||
|  |  | ||||||
|  | 		CA	LONGTIME	# CHECK FOR LEGITIMATE DELTA-TIME | ||||||
|  | 		CCS	A | ||||||
|  | 		TCF	LONGCYCL	# HI-ORDER OK --> ALL IS OK. | ||||||
|  | 		TCF	+2		# HI-ORDER ZERO --> CHECK LO-ORDER. | ||||||
|  | 		TCF	LONGP00H	# HI-ORDER NEG. --> NEG. DT | ||||||
|  |  +2		CA	LONGTIME +1	# CHECK LO-ORDER FOR ZERO OR NEGATIVE. | ||||||
|  | 		EXTEND | ||||||
|  | 		BZMF	LONGP00H	# BAD DELTA-TIME.  ABORT | ||||||
|  |  | ||||||
|  | # *** WAITLIST TASK LONGCYCL *** | ||||||
|  |  | ||||||
|  | LONGCYCL	EXTEND			# CAN WE SUCCESFULLY TAKE ABOUT 1.25 | ||||||
|  | 		DCS	DPBIT14		# MINUTES OFF OF LONGTIME | ||||||
|  | 		DAS	LONGTIME | ||||||
|  |  | ||||||
|  | 		CCS	LONGTIME +1	# THE REASONING BEHIND THIS PART IS | ||||||
|  | 		TCF	MUCHTIME	# INVOLVED, TAKING INTO ACCOUNT THAT THE | ||||||
|  | 					# WORDS MAY NOT BE SIGNED CORRECTED (DP | ||||||
|  | 					# BASIC INSTRUCTIONS | ||||||
|  | 					# DO NOT SIGN CORRECT) AND THAT WE SUBTRAC- | ||||||
|  | 					# TED BIT14 (1 OVER HALF THE POS. VALUE | ||||||
|  | 					# REPRESENTABLE IN SINGLE WORD) | ||||||
|  | 		NOOP			# CAN'T GET HERE ************* | ||||||
|  | 		TCF	+1 | ||||||
|  | 		CCS	LONGTIME | ||||||
|  | 		TCF	MUCHTIME | ||||||
|  | DPBIT14		OCT	00000 | ||||||
|  | 		OCT	20000 | ||||||
|  | 		 | ||||||
|  | 					# LONGCALL | ||||||
|  | # Page 1132 | ||||||
|  | LASTTIME	CA	BIT14		# GET BACK THE CORRECT DELTA T FOR WAITLIST | ||||||
|  | 		ADS	LONGTIME +1 | ||||||
|  | 		TC	WAITLIST | ||||||
|  | 		EBANK=	LST1 | ||||||
|  | 		2CADR	GETCADR		# THE ENTRY TO OUR LONGCADR | ||||||
|  |  | ||||||
|  | LONGRTRN	CA	TSKOVCDR	# SET IT UP SO THAT ONLY THE FIRST EXIT IS | ||||||
|  | 		DXCH	LONGEXIT	# TO THE CALLER OF LONGCALL | ||||||
|  | 		DTCB			# THE REST ARE TO TASKOVER | ||||||
|  |  | ||||||
|  | MUCHTIME	CA	BIT14		# WE HAVE OVER OUR ABOUT 1.25 MINUTES | ||||||
|  | 		TC	WAITLIST	# SO SET UP FOR ANOTHER CYCLE THROUGH HERE | ||||||
|  | 		EBANK=	LST1 | ||||||
|  | 		2CADR	LONGCYCL | ||||||
|  |  | ||||||
|  | 		TCF	LONGRTRN	# NOW EXIT PROPERLY | ||||||
|  |  | ||||||
|  | # *** WAITLIST TASK GETCADR *** | ||||||
|  |  | ||||||
|  | GETCADR		DXCH	LONGCADR	# GET THE LONGCALL THAT WE WISHED TO START | ||||||
|  | 		DTCB			# AND TRANSFER CONTROL TO IT | ||||||
|  |  | ||||||
|  | TSKOVCDR	GENADR	TASKOVER | ||||||
|  | LONGP00H	DXCH	LONGEXIT | ||||||
|  | 		TCF	+2 | ||||||
|  | WAITP00H	DXCH	WAITEXIT | ||||||
|  |  +2		TC	P00DOO1 | ||||||
|  | 		OCT	01204 | ||||||
|  | 		 | ||||||
		Reference in New Issue
	
	Block a user