mirror of
				https://github.com/chrislgarry/Apollo-11.git
				synced 2025-10-26 04:16:18 +00:00 
			
		
		
		
	Excluding Luminary099 P30_P37 as covered by existing PR. This was missed when the other `POO(H)` names were checked and fixed several months ago.
		
			
				
	
	
		
			1243 lines
		
	
	
		
			27 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			1243 lines
		
	
	
		
			27 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # Copyright:	Public domain.
 | |
| # Filename:	FRESH_START_AND_RESTART.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:	211-237
 | |
| # Mod history:	2009-05-19 HG	Transcribed from page images.
 | |
| #		2010-12-31 JL	Fixed page number comments.
 | |
| #		2011-01-06 JL	Fixed pseudo-label indentation.
 | |
| #		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-061
 | |
| #	16:27 JULY 14, 1969
 | |
| 
 | |
| # Page 211
 | |
| 		BANK	10
 | |
| 		SETLOC	FRANDRES
 | |
| 		BANK
 | |
| 
 | |
| 		EBANK=	LST1
 | |
| 
 | |
| 		COUNT*	$$/START	# FRESH AND RESTART
 | |
| SLAP1		INHINT			# FRESH START.  COMES HERE FROM PINBALL.
 | |
| 		TC	STARTSUB	# SUBROUTINE DOES MOST OF THE WORK
 | |
| 
 | |
| STARTSW		TCF	SKIPSIM		# PATCH....TCF STARTSIM FOR SIMULATION
 | |
| STARTSIM	CAF	BIT14
 | |
| 		TC	FINDVAC
 | |
| SIM2CADR	OCT	77777		# PATCH 2CADR (AND EBANK DESIGNATION) OF
 | |
| 		OCT	77777		# SIMULATION START ADDRESS.
 | |
| 
 | |
| SKIPSIM		CA	DSPTAB +11D	# TURN OFF ALL DSPTAB +11D LAMPS
 | |
| 		MASK	BITS4&6		# EXCEPT THE GIMBAL LOCK & NO ATT ONLY ON
 | |
| 		AD	BIT15		# REQUESTED FRESH START.
 | |
| 		TS	DSPTAB +11D
 | |
| 
 | |
| 		CA	BIT12		# INITIALIZE DOWNLINK EARASABLE MEMORY
 | |
| 		TS	DUMPCNT		# DUMP FOR ONE PASS
 | |
| 
 | |
| 		CA	ZERO
 | |
| 		TS	ERCOUNT
 | |
| 		TS	FAILREG
 | |
| 		TS	FAILREG +1
 | |
| 		TS	FAILREG +2
 | |
| 		TS	REDOCTR
 | |
| 
 | |
| 		CS	PRIO12
 | |
| 		TS	DSRUPTSW
 | |
| 
 | |
| DOFSTART	CAF	BIT14		# INSURE ENGINE IS OFF.
 | |
| 		EXTEND
 | |
| 		WRITE	DSALMOUT
 | |
| 		CS	ZERO
 | |
| 		TS	THRUST
 | |
| 
 | |
| DOFSTRT1	CAF	FOUR
 | |
| 		TS	RCSFLAGS	# INITIALIZE ATTITUDE ERROR DISPLAYS.
 | |
| 		CA	PRIO30
 | |
| 		TS	RESTREG		# SUPER BANK PRIORITY FOR DISPLAYS.
 | |
| 
 | |
| 		CA	ZERO
 | |
| 		TS	ABDELV		# DAP INITIALIZATION
 | |
| 		TS	NVSAVE
 | |
| 		TS	EBANKTEM
 | |
| # Page 212
 | |
| 		TS	CH5MASK
 | |
| 		TS	CH6MASK
 | |
| 		TS	PVALVEST	# FOR RCS FAILURE MONITOR
 | |
| 		TS	ERESTORE	# ***** MUST NOT BE REMOVED FROM DOFSTART
 | |
| 		TS	SMODE		# ***** MUST NOT BE REMOVED FROM DOFSTART
 | |
| 		TS	DNLSTCOD	# SELECT P00 DOWNLIST
 | |
| 		TS	AGSWORD		# ALLOW AGS INITIALIZATION
 | |
| 		TS	UPSVFLAG	# ZERO UPDATE STATE VECTOR REQUEST FLAGWRD
 | |
| 		EXTEND
 | |
| 		WRITE	CHAN5		# TURN OFF RCS JETS.
 | |
| 		EXTEND
 | |
| 		WRITE	CHAN6		# TURN OFF RCS JETS.
 | |
| 		EXTEND
 | |
| 		WRITE	CHAN12
 | |
| 		EXTEND
 | |
| 		WRITE	CHAN13
 | |
| 		EXTEND
 | |
| 		WRITE	CHAN14
 | |
| 		CS	DSPTAB +11D
 | |
| 		MASK	BITS4&6
 | |
| 		CCS	A
 | |
| 		TC	+4
 | |
| 		CA	BITS4&6
 | |
| 		EXTEND			# THE IMU WAS IN COARSE ALIGN IN GIMBAL
 | |
| 		WOR	CHAN12		# LOCK, SO PUT IT BACK INTO COARSE ALIGN.
 | |
|  +4		TC	MR.KLEAN
 | |
| 
 | |
| 		CS	ZERO
 | |
| 		TS	MODREG
 | |
| 
 | |
| 		CAF	IM30INIF	# FRESH START IMU INITIALIZATION
 | |
| 		TS	IMODES30
 | |
| 
 | |
| 		CAF	MAXDB
 | |
| 		TS	DB
 | |
| 		CAF	FOUR
 | |
| 		TS	RATEINDX	# INITIALZE KALCMANU RATE
 | |
| 		CA	BOOLSTRT
 | |
| 		TS	DAPBOOLS
 | |
| 		CAF	EBANK6
 | |
| 		TS	EBANK
 | |
| 		EBANK=	HIASCENT
 | |
| 
 | |
| 		CA	STIKSTRT
 | |
| 		TS	STIKSENS
 | |
| 		CA	RATESTRT
 | |
| 		TS	-RATEDB
 | |
| 		CAF	FULLAPS		# INITIALIZE MAXIMUM ASCENT MASS FOR USE
 | |
| 		TS	HIASCENT	#   BY 1/ACCS UNTIL THE PAD LOAD IS DONE.
 | |
| 		CA	77001OCT	#     LOAD DAP FILTER GAINS PAD LOAD.
 | |
| # Page 213
 | |
| 		TS	DKTRAP		#       TO BEST PRESENT ESTIMATE OF GOODIES
 | |
| 		TS	LMTRAP		# .14 DEG
 | |
| 		CA	60DEC
 | |
| 		TS	DKKAOSN
 | |
| 		TS	LMKAOSN		# 6 SEC GAIN FOR ALPHA
 | |
| 		CA	ZERO
 | |
| 		TS	LMOMEGAN	# UNITY GAIN
 | |
| 		CA	TEN
 | |
| 		TS	DKOMEGAN	# 1 SEC GAIN FOR OMEGA
 | |
| 		CAF	BIT8		# SET DOCKED DB TO 1.4 DEG.  MAY OVERWRITE
 | |
| 		TS	DKDB		#	WITH PAD LOAD.
 | |
| 		CAF	IM33INIT
 | |
| 		AD	BIT6		# KEEP BOTH DAP AND ERROR-NEEDLES DISPLAY
 | |
| 		TS	IMODES33	#	OFF UNTIL ICDU ZERO IS FINISHED.
 | |
| 
 | |
| 		EXTEND			# INITIALIZE SWITCHES ONLY ON FRESH START.
 | |
| 		DCA	SWINIT
 | |
| 		DXCH	STATE
 | |
| 		CA	SWINIT +2
 | |
| 		TS	STATE +2
 | |
| 		CA	REFSMBIT	# DO NOT ALTER REFSMFLG ON FRESH START.
 | |
| 		MASK	STATE +3
 | |
| 		AD	SWINIT +3
 | |
| 		TS	STATE +3
 | |
| 		EXTEND
 | |
| 		DCA	SWINIT +4
 | |
| 		DXCH	STATE +4
 | |
| 		EXTEND
 | |
| 		DCA	SWINIT +6
 | |
| 		DXCH	STATE +6
 | |
| 		CA	SURFFBIT	# DO NOT ALTER	SURFFLAG ON FRESH START.
 | |
| 		AD	CMOONBIT	#		CMOONFLG
 | |
| 		AD	LMOONBIT	#		LMOONFLG
 | |
| 		MASK	STATE +8D
 | |
| 		AD	SWINIT +8D
 | |
| 		TS	STATE +8D
 | |
| 		CA	SWINIT +9D
 | |
| 		TS	STATE +9D
 | |
| 		CA	APSFLBIT	# DO NOT ALTER APSFLAG ON FRESH START.
 | |
| 		MASK	STATE +10D
 | |
| 		AD	SWINIT +10D
 | |
| 		TS	STATE +10D
 | |
| 		CAF	SWINIT +11D
 | |
| 		TS	STATE +11D
 | |
| 
 | |
| ENDRSTRT	TC	POSTJUMP	# NOW IN ANOTHER BANK.
 | |
| 		CADR	DUMMYJOB +2	# PICKS UP AT RELINT.	(DON'T ZERO NEWJOB)
 | |
| 
 | |
| MR.KLEAN	INHINT
 | |
| # Page 214
 | |
| 		EXTEND
 | |
| 		DCA	NEG0
 | |
| 		DXCH	-PHASE2
 | |
| P00KLEAN	EXTEND
 | |
| 		DCA	NEG0
 | |
| 		DXCH	-PHASE4
 | |
| V37KLEAN	EXTEND
 | |
| 		DCA	NEG0
 | |
| 		DXCH	-PHASE1
 | |
| 		EXTEND
 | |
| 		DCA	NEG0
 | |
| 		DXCH	-PHASE3
 | |
| 		EXTEND
 | |
| 		DCA	NEG0
 | |
| 		DXCH	-PHASE5
 | |
| 		EXTEND
 | |
| 		DCA	NEG0
 | |
| 		DXCH	-PHASE6
 | |
| 		TC	Q
 | |
| 
 | |
| # Page 215
 | |
| # COMES HERE FROM LOCATION 4000, GOJAM, RESTART ANY PROGRAMS WHICH MAY HAVE BEEN RUNNING AT THE TIME.
 | |
| 
 | |
| 		EBANK=	LST1
 | |
| GOPROG		INCR	REDOCTR		# ADVANCE RESTART COUNTER.
 | |
| 
 | |
| 		LXCH	Q
 | |
| 		EXTEND
 | |
| 		ROR	SUPERBNK
 | |
| 		DXCH	RSBBQ
 | |
| 		CA	DSPTAB +11D
 | |
| 		MASK	BIT4
 | |
| 		EXTEND
 | |
| 		BZF	+4
 | |
| 		AD	BIT6		# SET ERROR COUNTER ENABLE
 | |
| 		EXTEND
 | |
| 		WOR	CHAN12		# ISS WAS IN COARSE ALIGN SO GO BACK TO
 | |
| BUTTONS		TC	LIGHTSET
 | |
| 
 | |
| # ERASCHK TEMPORARILY STORES THE CONTENST OF TWO ERASABLE LOCATIONS, X
 | |
| # AND X+1 INTO SKEEP5 AND SKEEP6.  IT ALSO STORES X INTO SKEEP7 AND
 | |
| # ERESTORE.  IF ERASCHK IS INTERRUPTED BY A RESTART, C(ERESTORE) SHOULD
 | |
| # EQUAL C(SKEEP7), AND SHOULD BE A + NUMBER LESS THAN 2000 OCT.  OTHERWISE
 | |
| # C(ERESTORE) SHOULD EQUAL +0.
 | |
| 
 | |
| 		CAF	HI5
 | |
| 		MASK	ERESTORE
 | |
| 		EXTEND
 | |
| 		BZF	+2		# IF ERESTORE NOT = +0 OR +N LESS THAN 2K,
 | |
| 		TCF	NONAVKEY +3	# DO FRESH START -- E MEMORY MIGHT BE BAD
 | |
| 		CS	ERESTORE
 | |
| 		EXTEND
 | |
| 		BZF	DORSTART	# = +0 CONTINUE WITH RESTART.
 | |
| 		AD	SKEEP7
 | |
| 		EXTEND
 | |
| 		BZF	+2		# = SKEEP7, RESTORE E MEMORY.
 | |
| 		TCF	NONAVKEY +3	# DO FRESH START -- E MEMORY MIGHT BE BAD
 | |
| 		CA	SKEEP4
 | |
| 		TS	EBANK		# EBANK OF E MEMORY THAT WAS UNDER TEST.
 | |
| 		EXTEND			# (NOT DXCH SINCE THIS MIGHT HAPPEN AGAIN)
 | |
| 		DCA	SKEEP5
 | |
| 		INDEX	SKEEP7
 | |
| 		DXCH	0000		# E MEMORY RESTORED
 | |
| 		CA	ZERO
 | |
| 		TS	ERESTORE
 | |
| DORSTART	TC	STARTSUB	# DO INITIALIZATION AFTER ERASE RESTORE.
 | |
| 
 | |
| SETINFL		CS	INTFLBIT
 | |
| 		MASK	FLGWRD10
 | |
| 		TS	FLGWRD10
 | |
| # Page 216
 | |
| 		CA	9,6,4		# LEAVE PROG ALARM, GIMBAL LOCK, NO ATT
 | |
| 		MASK	DSPTAB +11D	# LAMPS INTACT ON HARDWARE RESTART
 | |
| 		AD	BIT15
 | |
| 		XCH	DSPTAB +11D
 | |
| 		CAF	IFAILINH	# LEAVE IMU FAILURE INHIBITS INTACT ON
 | |
| 		MASK	IMODES30	# HARDWARE RESTART, RESET ALL FAILURE
 | |
| 		AD	IM30INIR	# CODES.
 | |
| 		TS	IMODES30
 | |
| 
 | |
| 		CA	AGSWORD		# BE SURE OF CORRECT DOWNLIST
 | |
| 		TS	DNLSTCOD
 | |
| 
 | |
| 		CA	BIT4		# TURN ON THROTTLE COUNTER
 | |
| 		EXTEND
 | |
| 		WOR	CHAN14		# TURN ON THRUST DRIVE
 | |
| 		CS	FLAGWRD5
 | |
| 		MASK	ENGONBIT
 | |
| 		CCS	A
 | |
| 		TCF	+5
 | |
| 		CAF	BIT13
 | |
| 		EXTEND
 | |
| 		WOR	DSALMOUT	# TURN ENGINE ON
 | |
| 		TCF	GOPROG3
 | |
|  +5		CAF	BIT14
 | |
| 		EXTEND
 | |
| 		WOR	DSALMOUT	# TURN ENGINE OFF
 | |
| 		TCF	GOPROG3
 | |
| 
 | |
| ENEMA		INHINT
 | |
| 		TC	STARTSB1
 | |
| 		TCF	GOPROG2A
 | |
| GOPROG2		TC	STARTSB2
 | |
| GOPROG2A	TC	LIGHTSET
 | |
| 		CS	RSFLGBTS	# CLEAR BITS 7 AND 14.
 | |
| 		MASK	FLGWRD10
 | |
| 		TS	FLGWRD10
 | |
| 
 | |
| GOPROG3		CAF	NUMGRPS		# VERIFY PHASE TABLE AGREEMENTS
 | |
| PCLOOP		TS	MPAC +5
 | |
| 		DOUBLE
 | |
| 		EXTEND
 | |
| 		INDEX	A
 | |
| 		DCA	-PHASE1		# COMPLEMENT INTO A, DIRECT INTO L.
 | |
| 		EXTEND
 | |
| 		RXOR	LCHAN		# RESULT MUST BE -0 FOR AGREEMENT.
 | |
| 		CCS	A
 | |
| 		TCF	PTBAD		# RESTART FAILURE.
 | |
| 		TCF	PTBAD
 | |
| 		TCF	PTBAD
 | |
| # Page 217
 | |
| 		CCS	MPAC +5		# PROCESS ALL RESTART GROUPS.
 | |
| 		TCF	PCLOOP
 | |
| 
 | |
| 		TS	MPAC +6		# SET TO +0.
 | |
| 		TC	MMDSPLAY	# DISPLAY MAJOR MODE
 | |
| 
 | |
| 		INHINT			# RELINT DONE IN MMDSPLAY
 | |
| 
 | |
| 		CS	DIDFLBIT	# CLEAR DIDFLAG IN ORDER TO FORCE R10 TO
 | |
| 		MASK	FLAGWRD1	# RE-INITIALIZE ITSELF IF IT HAD BEEN
 | |
| 		TS	FLAGWRD1	# OPERATION AT THE TIME OF THE RESTART.
 | |
| 
 | |
| 		CS	RODFLBIT	# CLEAR RODFLAG.  IF P66 IS IN OPERATION
 | |
| 		MASK	FLAGWRD1	#	IT WILL RE-INITIALIZE ITSELF AND
 | |
| 		TS	FLAGWRD1	#	CONTINUE.
 | |
| 
 | |
| 		CS	P21FLBIT	# CLEAR P21 FLAG SO THAT P21 WILL COMPUTE
 | |
| 		MASK	FLAGWRD0	# NEW BASE STATE VECTORS.
 | |
| 		TS	FLAGWRD0
 | |
| 
 | |
| 		CAF	NUMGRPS		# SEE IF ANY GROUPS RUNNING.
 | |
| NXTRST		TS	MPAC +5
 | |
| 		DOUBLE
 | |
| 		INDEX	A
 | |
| 		CCS	PHASE1
 | |
| 		TCF	PACTIVE		# PNZ -- GROUP ACTIVE.
 | |
| 		TCF	PINACT		# +0 -- GROUP NOT RUNNING.
 | |
| 
 | |
| PACTIVE		TS	MPAC
 | |
| 		INCR	MPAC		# ABS OF PHASE.
 | |
| 		INCR	MPAC +6		# INDICATE GROUP DEMANDS PRESENT.
 | |
| 		CA	RACTCADR
 | |
| 		TC	SWCALL		# MUST RETURN TO SWRETURN.
 | |
| 
 | |
| PINACT		CCS	MPAC +5		# PROCESS ALL RESTART GROUPS.
 | |
| 		TCF	NXTRST
 | |
| 
 | |
| 		CCS	MPAC +6		# NO, CHECK PHASE ACTIVITY FLAG
 | |
| 		TCF	ENDRSTRT	# PHASE ACTIVE
 | |
| 		CAF	BIT15		# IS MODE -0
 | |
| 		MASK	MODREG
 | |
| 		EXTEND
 | |
| 		BZF	GOTOPOOH	# NO
 | |
| 		TCF	ENDRSTRT	# YES
 | |
| PTBAD		TC	ALARM		# SET ALARM TO SHOW PHASE TABLE FAILURE.
 | |
| 		OCT	1107
 | |
| 
 | |
| 		TCF	DOFSTRT1
 | |
| #******** ****** ******
 | |
| # Page 218
 | |
| # DO NOT USE GOPROG2 OR ENEMA WITHOUT CONSULTING POOH PEOPLE.
 | |
| 
 | |
| OCT10000	=	BIT13
 | |
| OCT30000	=	PRIO30
 | |
| OCT7777		OCT	7777
 | |
| STIKSTRT	DEC	0.825268	# 20 D/S MAXIMUM COMPANDED RATE
 | |
| RATESTRT	DEC	-218
 | |
| RACTCADR	CADR	RESTARTS
 | |
| BOOLSTRT	OCT	21312
 | |
| 77001OCT	OCT	77001		# .14 DEG SCALED AT 4.5 DEG
 | |
| 60DEC		DEC	60
 | |
| RSFLGBTS	OCT	20100
 | |
| MAXDB		OCTAL	03434		# 5 DEG ATTITUDE DEADBAND, SCALED AT 45.
 | |
| 
 | |
| LIGHTSET	CAF	BIT5		# CHECK FOR MARK REJECT AND ERROR RESET
 | |
| 		EXTEND
 | |
| 		RAND	NAVKEYIN
 | |
| 		EXTEND
 | |
| 		BZF	NONAVKEY	# NO MARK REJECT
 | |
| 		EXTEND
 | |
| 		READ	MNKEYIN		# CHECK IF KEYS 2M AND 5M ON
 | |
| 		AD	-ELR		# MAIN DSKY KEYCODE (BITS 1-5)
 | |
| 		EXTEND
 | |
| 		BZF	+2
 | |
| 
 | |
| NONAVKEY	TC	Q
 | |
| 
 | |
| 		TC	STARTSUB
 | |
| 		TCF	DOFSTART
 | |
|  +3		TC	STARTSUB
 | |
| 		TCF	DOFSTRT1	# DO FRESH START BUT DON'T TOUCH ENGINE
 | |
| 
 | |
| # Page 219
 | |
| # INITIALIZATION COMMON TO BOTH FRESH START AND RESTART.
 | |
| 
 | |
| 		EBANK=	AOSQ
 | |
| STARTSUB	CAF	LDNPHAS1	# SET POINTER SO NEXT 20MS DOWNRUPT WILL
 | |
| 		TS	DNTMGOTO	# CAUSE THE CURRENT DOWNLIST TO BE
 | |
| 					# INTERRUPTED AND START SENDING FROM THE
 | |
| 					# BEGINNING OF THE CURRENT DOWNLIST.
 | |
| 		CAF	BIT6
 | |
| 		EXTEND
 | |
| 		RAND	CHAN33
 | |
| 		AD	RMODINIT
 | |
| 		TS	RADMODES
 | |
| 
 | |
| STARTSB1	CAF	POSMAX
 | |
| 		TS	TIME3
 | |
| 		AD	MINUS2
 | |
| 		TS	TIME4
 | |
| 		AD	NEGONE
 | |
| 		TS	TIME5
 | |
| 
 | |
| 		CAF	EBANK6
 | |
| 		TS	EBANK
 | |
| 
 | |
| 		CS	BIT13		# CAUSE DAPIDLER TO CALL 1/ACCS
 | |
| 		MASK	RCSFLAGS
 | |
| 		TS	RCSFLAGS	# ZERO BIT 13
 | |
| 		CAF	POSMAX		# DISABLE TIME6 CLOCK.  JUST IN CASE A T6
 | |
| 		TS	T6NEXT		#	RUPT IS ALREADY IN THE PRIORITY CHAIN,
 | |
| 		EXTEND			#	ENSURE THAT ITS INPUTS WILL RENDER IT
 | |
| 		WAND	CHAN13		#	INEFFECTUAL.
 | |
| 		CAF	ZERO
 | |
| 		TS	NXT6ADR
 | |
| 		TS	NEXTP
 | |
| 
 | |
| 		CS	ACCSOKAY
 | |
| 		MASK	DAPBOOLS
 | |
| 		TS	DAPBOOLS
 | |
| 
 | |
| 		EXTEND			# SET T5RUPT FOR DAPIDLER PROGRAM.
 | |
| 		DCA	IDLEADR
 | |
| 		DXCH	T5ADR
 | |
| 
 | |
| STARTSB2	CAF	OCT30001	# DURING SOFTWARE RESTART, DO NOT DISTURB
 | |
| 		EXTEND			# ENGINE ON, OFF AND ISS WARNING.
 | |
| 		WAND	DSALMOUT
 | |
| 
 | |
| 		CS	READRBIT	# CLEAR READRFLG FOR R29
 | |
| 		MASK	FLAGWRD3
 | |
| 		TS	FLAGWRD3
 | |
| # Page 220
 | |
| 
 | |
| 		CS	FLAGWRD3	# DURING SOFTWARE RESTART, CLEAR TURNON,
 | |
| 		MASK	NR29FBIT	# REPOSITION, CDU ZERO AND REMODE BITS
 | |
| 		EXTEND			# IN RADMODES, SINCE TASKS ASSOCIATED
 | |
| 		BZF	+2		# WITH THESE BITS HAVE BEEN KILLED
 | |
| 		CAF	BIT10		# ALSO IF R29 HAD BEEN REQUESTED.
 | |
| 		AD	OCT32001	# (NOR29FLG = 0) CLEAR BIT 10 RADMODES
 | |
| 		COM			# TO MAKE R29 FORGET IT HAD STARTED
 | |
| 		MASK	RADMODES	# DESIGNATING
 | |
| 		TS	RADMODES
 | |
| 		CAF	OCT27470	# DURING SOFTWARE RESTART, DO NOT DISTURB
 | |
| 		EXTEND			# IMU FLAGS.  (COARSE ALIGN ENABLE, ZERO
 | |
| 		WAND	CHAN12		# IMU CDUS, ENABLE IMU COUNTER) AND GIMBAL
 | |
| 					# TRIM DRIVES.  LEAVE RR LOCKON ENABLE
 | |
| 					# ALONE.
 | |
| 
 | |
| 		CS	NORRMBIT	# ENABLE R25.
 | |
| 		MASK	FLAGWRD5
 | |
| 		TS	FLAGWRD5
 | |
| 
 | |
| 		CS	R77FLBIT	# CLEAR R77FLAG
 | |
| 		MASK	FLAGWRD5
 | |
| 		TS	FLAGWRD5
 | |
| 		CAF	OCT74160	# DURING SOFTWARE RESTART, DO NOT DISTURB
 | |
| 		EXTEND			# TELEMETRY FLAGS, RESET TRAP FLAGS, AND
 | |
| 		WAND	CHAN13		# ENABLE T6RUPT FLAG.
 | |
| 
 | |
| 		CAF	BIT12		# REENABLE RUPT10 (RUPT QUICKLY
 | |
| 		EXTEND			#	RESUMES EXCEPT DURING P64)
 | |
| 		WOR	CHAN13
 | |
| 
 | |
| 		CAF	BIT6		# DURING SOFTWARE RESTART, DO NOT DISTURB
 | |
| 		EXTEND			# GYRO ENABLE FLAG.
 | |
| 		WAND	CHAN14
 | |
| 
 | |
| 		EBANK=	LST1
 | |
| 		CAF	STARTEB
 | |
| 		TS	EBANK		# SET FOR E3
 | |
| 
 | |
| 		CAF	NEG1/2		# INITIALIZE WAITLIST DELTA-TS.
 | |
| 		TS	LST1 +7
 | |
| 		TS	LST1 +6
 | |
| 		TS	LST1 +5
 | |
| 		TS	LST1 +4
 | |
| 		TS	LST1 +3
 | |
| 		TS	LST1 +2
 | |
| 		TS	LST1 +1
 | |
| 		TS	LST1
 | |
| 
 | |
| 		CS	ENDTASK
 | |
| 		TS	LST2
 | |
| # Page 221
 | |
| 		TS	LST2 +2
 | |
| 		TS	LST2 +4
 | |
| 		TS	LST2 +6
 | |
| 		TS	LST2 +8D
 | |
| 		TS	LST2 +10D
 | |
| 		TS	LST2 +12D
 | |
| 		TS	LST2 +14D
 | |
| 		TS	LST2 +16D
 | |
| 		CS	ENDTASK +1
 | |
| 		TS	LST2 +1
 | |
| 		TS	LST2 +3
 | |
| 		TS	LST2 +5
 | |
| 		TS	LST2 +7
 | |
| 		TS	LST2 +9D
 | |
| 		TS	LST2 +11D
 | |
| 		TS	LST2 +13D
 | |
| 		TS	LST2 +15D
 | |
| 		TS	LST2 +17D
 | |
| 
 | |
| 		CS	ZERO		# MAKE ALL EXECUTIVE REGISTER SETS
 | |
| 		TS	PRIORITY	# AVAILABLE.
 | |
| 		TS	PRIORITY +12D
 | |
| 		TS	PRIORITY +24D
 | |
| 		TS	PRIORITY +36D
 | |
| 		TS	PRIORITY +48D
 | |
| 		TS	PRIORITY +60D
 | |
| 		TS	PRIORITY +72D
 | |
| 		TS	PRIORITY +84D
 | |
| 
 | |
| 		TS	DSRUPTSW
 | |
| 		TS	NEWJOB		# SHOWS NO ACTIVE JOBS.
 | |
| 
 | |
| 		CAF	VAC1ADRC	# MAKE ALL VAC AREAS AVAILABLE.
 | |
| 		TS	VAC1USE
 | |
| 		AD	LTHVACA
 | |
| 		TS	VAC2USE
 | |
| 		AD	LTHVACA
 | |
| 		TS	VAC3USE
 | |
| 		AD	LTHVACA
 | |
| 		TS	VAC4USE
 | |
| 		AD	LTHVACA
 | |
| 		TS	VAC5USE
 | |
| 
 | |
| 		CAF	TEN
 | |
| DSPOFF		TS	MPAC		# R1, R2, R3
 | |
| 		CS	BIT12
 | |
| 		INDEX	MPAC
 | |
| 		TS	DSPTAB
 | |
| 		CCS	MPAC
 | |
| 		TCF	DSPOFF
 | |
| 
 | |
| # Page 222
 | |
| 		TS	DELAYLOC
 | |
| 		TS	DELAYLOC +1
 | |
| 		TS	DELAYLOC +2
 | |
| 		TS	R1SAVE
 | |
| 		TS	INLINK
 | |
| 		TS	DSPCNT
 | |
| 		TS	CADRSTOR
 | |
| 		TS	REQRET
 | |
| 		TS	CLPASS
 | |
| 		TS	DSPLOCK
 | |
| 		TS	MONSAVE		# KILL MONITOR
 | |
| 		TS	MONSAVE1
 | |
| 		TS	VERBREG
 | |
| 		TS	NOUNREG
 | |
| 		TS	DSPLIST
 | |
| 		TS	MARKSTAT
 | |
| 		TS	EXTVBACT	# MAKE EXTENDED VERBS AVAILABLE
 | |
| 		TS	IMUCADR
 | |
| 		TS	OPTCADR
 | |
| 		TS	RADCADR
 | |
| 		TS	ATTCADR
 | |
| 		TS	LGYRO
 | |
| 		TS	FLAGWRD4	# KILL INTERFACE DISPLAYS
 | |
| 		CAF	NOUTCON
 | |
| 		TS	NOUT
 | |
| 
 | |
| 		CS	ONE
 | |
| 		TS	SAMPLIM
 | |
| 		CAF	BIT6
 | |
| 		MASK	IMODES33	# LEAVE BIT 6 UNCHANGED
 | |
| 		AD	IM33INIT	# NO PIP OR TM FAILS.  BIT6=0 IN THIS WORD.
 | |
| 		TS	IMODES33
 | |
| 
 | |
| 		CAF	LESCHK		# SELF CHECK GO-TO REGISTER.
 | |
| 		TS	SELFRET
 | |
| 
 | |
| 		CS	VD1
 | |
| 		TS	DSPCOUNT
 | |
| 
 | |
| 		TC	Q
 | |
| 		EBANK=	AOSQ
 | |
| IDLEADR		2CADR	DAPIDLER
 | |
| 
 | |
| IFAILINH	OCT	435
 | |
| LDNPHAS1	GENADR	DNPHASE1
 | |
| LESCHK		GENADR	SELFCHK
 | |
| VAC1ADRC	ADRES	VAC1USE
 | |
| OCT32001	OCT	32001
 | |
| LTHVACA		DEC	44
 | |
| 
 | |
| # Page 223
 | |
| OCT27470	OCT	27470
 | |
| OCT74160	OCT	74160
 | |
| OCT30001	OCT	30001
 | |
| STARTEB		EQUALS	EBANK3
 | |
| NUMGRPS		EQUALS	FIVE
 | |
| -ELR		OCT	-22		# -ERROR LIGHT RESET KEY CODE.
 | |
| IM30INIF	OCT	37411		# INHIBITS IMU FAIL FOR 5 SEC AND PIP ISSW
 | |
| IM30INIR	OCT	37000
 | |
| IM33INIT	=	PRIO16		# NO PIP OR TM FAIL SIGNALS.
 | |
| 9,6,4		OCT	450
 | |
| RMODINIT	OCT	00102
 | |
| SWINIT		OCT	0
 | |
| 		OCT	0
 | |
| 		OCT	0
 | |
| 		OCT	02000		# BIT 11 = NOR29FLG
 | |
| 		OCT	0
 | |
| 		OCT	0
 | |
| 		OCT	0
 | |
| 		OCT	00100
 | |
| 
 | |
| 		OCT	0
 | |
| 		OCT	0
 | |
| 		OCT	0
 | |
| 		OCT	40000		# BIT 15 = LRBYPASS.
 | |
| 
 | |
| # Page 224
 | |
| # PROGRAM NAME		GOTOPOOH		ASSEMBLY SUNDANCE
 | |
| # LOG SECTION		FRESH START AND RESTART
 | |
| #
 | |
| # FUNCTIONAL DESCRIPTION
 | |
| #
 | |
| #	FLASH V 37 ON DSKY MM CHANGE REQUEST
 | |
| #
 | |
| # INPUT/OUTPUT INFORMATION
 | |
| #
 | |
| #	A. CALLING SEQUENCE			TC GOTOPOOH
 | |
| #	B. ERASABLE INITIALIZATION		NONE
 | |
| #	C. OUTPUT FLASH V 37 ON DSKY
 | |
| #	D. DEBRIS				L
 | |
| #
 | |
| # PROGRAM ANALYSIS
 | |
| #
 | |
| #	A. SUBROUTINES CALLED			PRIODSPR, LINUS
 | |
| #	B. NORMAL EXIT				TCF ENDOFJOB
 | |
| #	C. ALARM AND ABORT EXITS		NONE
 | |
| 
 | |
| 		BLOCK	03
 | |
| 		SETLOC	FFTAG5
 | |
| 		BANK
 | |
| 
 | |
| 		COUNT*	$$/P00
 | |
| GOTOPOOH	CAF	OCT33			# 4.33 SPOT FOR GOP00FIX
 | |
| 		TS	L
 | |
| 		COM
 | |
| 		DXCH	-PHASE4
 | |
| 
 | |
| 		TC	POSTJUMP
 | |
| 		CADR	GOP00FIX
 | |
| OCT24		MM	20
 | |
| OCT31		MM	25
 | |
| 
 | |
| 		BANK	20
 | |
| 		SETLOC	VERB37
 | |
| 		BANK
 | |
| 
 | |
| 		COUNT*	$$/P00			# VERB 37 AND P00 IN BANK 4.
 | |
| GOP00FIX	TC	DOWNFLAG		# ALLOW X-AXIS OVERRIDE
 | |
| 		ADRES	XOVINFLG
 | |
| 
 | |
| 		TC	DOWNFLAG		# INSURE THAT ULLAGE IS OFF
 | |
| 		ADRES	ULLAGFLG
 | |
| # Page 225
 | |
| 		TC	CLEARMRK +2		# RELEASE MARK DISPLAY SYSTEM.
 | |
| 		CAF	V37N99
 | |
| 		TC	BANKCALL
 | |
| 		CADR	GOFLASH
 | |
| 		TCF	-3
 | |
| 		TCF	-4
 | |
| 		TCF	-5
 | |
| 
 | |
| V37N99		VN	3799
 | |
| 
 | |
| # Page 226
 | |
| # PROGRAM NAME		V37			ASSEMBLY SUNDANCE
 | |
| #
 | |
| # LOG SECTION		FRESH START AND RESTART
 | |
| #
 | |
| # FUNCTIONAL DESCRIPTION
 | |
| #
 | |
| #	1. CHECK IF NEW PROGRAM ALLOWED.  IF BIT 1 OF FLAGWRD2 (NODOFLAG) IS SET, AN ALARM 1520 IS CALLED.
 | |
| #	2. CHECK FOR VALIDITY OF PROGRAM SELECTED.  IF AN INVALID PROGRAM IS SELECTED, THE OPERATOR ERROR LIGHT IS
 | |
| #	   SET AND CURRENT ACTIVITY, IF ANY, CONTINUE.
 | |
| #	3. SERVICER IS TERMINATED IF IT HAS BEEN RUNNING.
 | |
| #	4. INSTALL IS EXECUTED TO AVOID INTERRUPTING INTEGRATION.
 | |
| #	5. THE ENGINE IS TURNED OFF AND THE DAP IS INITIALIZED FOR COAST.
 | |
| #	6. TRACK AND UPDATE FLAGS ARE SET TO ZERO.
 | |
| #	7. DISPLAY SYSTEM IS RELEASED.
 | |
| #	8. THE FOLLOWING ARE PERFORMED FOR EACH OF THE THREE CASES.
 | |
| #		A. PROGRAM SELECTED IS P00
 | |
| #			1. RENDEZVOUS AND P25 FLAGS ARE RESET.  (KILL P20 AND P25)
 | |
| #			2. STATINT1 IS SCHEDULED BY SETTING RESTART GROUP 2.
 | |
| #			3. MAJOR MODE 00 IS STORED IN THE MODE REGISTER (MODREG).
 | |
| #			4. SUPERBANK 3 IS SELECTED.
 | |
| #			5. NODOFLAG IS RESET.
 | |
| #			6. ALL RESTART GROUPS EXCEPT GROUP2 ARE CLEARED. CONTROL IS TRANSFERRED TO RESTART PROGRAM (GOPROG2)
 | |
| #			   WHICH CAUSES ALL CURRENT ACTIVITY TO BE DISCONTINUED AND A 9 MINUTE INTEGRATION CYCLE TO BE
 | |
| #			   INITIATED.
 | |
| #		B. PROGRAM SELECTES IS P20 OR P25.
 | |
| #			1. IF THE CURRENT MAJOR MODE IS THE SAME AS THE SELECTED NEWPROGRAM.  THE PROGRAM IS RE-INITIALIZED
 | |
| #			   VIA V37XEQ, ALL RESTART GROUPS, EXCEPT GROUP 4 ARE CLEARED.
 | |
| #			2. IF THE CURRENT MAJOR MODE IS NOT EQUAL TO THE NEW REQUEST, A CHECK IS MADE TO SEE IF THE REQUEST-
 | |
| #			   ED MAJOR MODE HAS BEEN RUNNING THE BACKGROUND,
 | |
| #			   AND IF IT HAS, NO NEW PROGRAM IS SCHEDULED, THE EXISTING
 | |
| #			   P20 OR P25 IS RESTARTED TO CONTINUE, AND ITS MM IS SET.
 | |
| #			3. CONTROL IS TRANSFERRED TO GOPROG2.
 | |
| #		C. PROGRAM SELECTED IS NEITHER P00, P20, NOR P25
 | |
| #			1. V37XEQ IS SCHEDULED (AS A JOB) BY SETTING RESTART GROUP 4
 | |
| #			2. ALL CURRENT ACTIVITY EXCEPT RENDEZVOUS AND TRACKING IS DISCONTINUED BY CLEARING ALL RESTART
 | |
| #			   GROUPS.  IF THE RENDEZVOUS OR THE P25 FLAG IS ON, GROUP 2 IS NOT CLEARED, ALLOWING THESE PROGRAMS
 | |
| #			   TO CONTINUE.
 | |
| #
 | |
| # INPUT/OUTPUT INFORMATION
 | |
| #
 | |
| #	A. CALLING SEQUENCE
 | |
| #		CONTROL IS DIRECTED TO V37 BY THE VERBFAN ROUTINE.
 | |
| #		VERBFAN GOES TO C(VERBTAB+C(VERBREG)). VERB 37 = MMCHANG.
 | |
| #		MMCHANG EXECUTES A `TC POSTJUMP', CADR V37.
 | |
| #
 | |
| #	B. ERASABLE INITIALIZATION		NONE
 | |
| #
 | |
| # 	C. OUTPUT
 | |
| # Page 227
 | |
| #		MAJOR MOD CHANGE
 | |
| #
 | |
| #	D. DEBRIS
 | |
| #		MMNUMBER, MPAC +1, MINDEX, BASETEMP +C(MINDEX), FLAGWRD0, FLAGWRD1, FLAGWRD2, MODREG, GOLOC -1,
 | |
| #		GOLOC, GOLOC +1, GOLOC +2, BASETEMP, -PHASE2, PHASE2, -PHASE4
 | |
| #
 | |
| # PROGRAM ANALYSIS
 | |
| #
 | |
| #	A. SUBROUTINES CALLED
 | |
| #		ALARM, RELDSP, PINBRNCH, INTSTALL, ENGINOF2, ALLCOAST, V37KLEAN, GOPROG2, FALTON, FINDVAC, SUPERSW,
 | |
| #		DSPMM
 | |
| #
 | |
| #	B. NORMAL EXIT				TC ENDOFJOB
 | |
| #
 | |
| #	C. ALARMS				1520 (MAJOR MODE CHANGE NOT PERMITTED)
 | |
| 
 | |
| V37		TS	MMNUMBER		# SAVE MAJOR MODE
 | |
| 		CAF	PRIO30			# RESTART AT PINBALL PRIORITY
 | |
| 		TS	RESTREG
 | |
| 
 | |
| 		CA	IMODES30		# IS IMU BEING INITIALIZED
 | |
| 		MASK	BIT6
 | |
| 		CCS	A
 | |
| 		TCF	CANTROD
 | |
| 
 | |
| 		CS	MMNUMBER		# IS P70 REQUESTED?
 | |
| 		AD	DEC70
 | |
| 		EXTEND
 | |
| 		BZF	SETUP70			# YES
 | |
| 		AD	ONE			# IS P71 REQUESTED?
 | |
| 		EXTEND
 | |
| 		BZF	SETUP71			# YES
 | |
| 
 | |
| 		CA	MMNUMBER		# IS NEW REQUEST P00
 | |
| 		EXTEND
 | |
| 		BZF	ISSERVON		# YES, CHECK SERVICER STATUS
 | |
| 
 | |
| 		CS	FLAGWRD2		# NO, IS NODO V37 FLAG SET
 | |
| 		MASK	NODOBIT
 | |
| 		CCS	A
 | |
| 		TCF	CHECKTAB		# NO
 | |
| CANTROD		TC	ALARM
 | |
| 		OCT	1520
 | |
| 
 | |
| V37BAD		TC	RELDSP			# RELEASES DISPLAY FROM ASTRONAUT
 | |
| 
 | |
| 		TC	POSTJUMP		# BRING BACK LAST NORMAL DISPLAY IF THERE
 | |
| 		CADR	PINBRNCH		# WAS ONE.  OTHERWISE DO AN EOJ.
 | |
| 
 | |
| CHECKTAB	CA	NOV37MM			# INDEX FOR MM TABLES.
 | |
| 
 | |
| # Page 228
 | |
| AGAINMM		TS	MPAC +1
 | |
| 		NDX	MPAC +1
 | |
| 		CA	PREMM1			# OBTAIN WHICH MM THIS IS FOR
 | |
| 		MASK	LOW7
 | |
| 		COM
 | |
| 		AD	MMNUMBER
 | |
| 		CCS	A
 | |
| 		CCS	MPAC +1			# IF GR, SEE IF ANY MORE IN LIST
 | |
| 		TCF	AGAINMM			# YES, GET NEXT ONE
 | |
| 		TCF	V37NONO			# LAST TIME OR PASSED MM
 | |
| 
 | |
| 		CA	MPAC +1
 | |
| 		TS	MINDEX			# SAVE INDEX FOR LATER
 | |
| 
 | |
| ISSERVON	CS	FLAGWRD7		# V37 FLAG SET -- I.E., IS SERVICER GOING
 | |
| 		MASK	V37FLBIT
 | |
| 		CCS	A
 | |
| 		TCF	CANV37			# NO
 | |
| 
 | |
| 		TC	DOWNFLAG		# YES, TURN OFF THE AVERAGE FLAG AND
 | |
| 		ADRES	AVEGFLAG		# WAIT FOR SERVICER TO RETURN TO CANV37
 | |
| 
 | |
| 		CAF	V37RETAD
 | |
| 		TS	OUTROUTE
 | |
| 
 | |
| 		TCF	ENDOFJOB
 | |
| 
 | |
| V37RET		CS	FLAGWRD0		# IS P20 OR P22 RUNNING?
 | |
| 		MASK	RNDVZBIT
 | |
| 		CCS	A
 | |
| 		TCF	+2			# NO. CHECK FOR P25.
 | |
| 		TCF	2.7SPT			# YES. DO 2.7SPOT
 | |
| 		CS	FLAGWRD0		# IS P25 RUNNING?
 | |
| 		MASK	P25FLBIT
 | |
| 		CCS	A
 | |
| 2.0SPT		CA	OCT37667
 | |
| 2.11SPT		AD	BIT5
 | |
| 2.7SPT		AD	OCT40072
 | |
| 		TC	PHSCHNGA
 | |
| 
 | |
| CANV37		CAF	ZERO
 | |
| 		EXTEND
 | |
| 		WRITE	SUPERBNK
 | |
| 
 | |
| 		CAF	R00AD
 | |
| 		TS	TEMPFLSH
 | |
| 
 | |
| 		TC	PHASCHNG
 | |
| 		OCT	14
 | |
| 
 | |
| # Page 229
 | |
| 
 | |
| R00		TC	INTPRET
 | |
| 
 | |
| 		CALL				# WAIT FOR INTEGRATION TO FINISH
 | |
| 			INTSTALL
 | |
| DUMMYAD		EXIT
 | |
| 
 | |
| 		TC	DOWNFLAG
 | |
| 		ADRES	3AXISFLG		# RESET 3-AXIT FLAG
 | |
| 
 | |
| 		CAF	LRBYBIT			# CLEAN UP THE R12 FLAGWORD.
 | |
| 		TS	FLGWRD11
 | |
| 
 | |
| 		TC	DOWNFLAG		# INSURE THAT THE R04FLAG IS CLEAR.
 | |
| 		ADRES	R04FLAG
 | |
| 
 | |
| 		TC	DOWNFLAG		# INSURE MUNFLAG IS CLEAR.
 | |
| 		ADRES	MUNFLAG
 | |
| 
 | |
| 		TC	DOWNFLAG		# ALLOW X-AXIS OVERRIDE.
 | |
| 		ADRES	XOVINFLG
 | |
| 		CCS	MMNUMBER		# IS THIS A POOH REQUEST
 | |
| 		TCF	NOUVEAU			# NO, PICK UP NEW PROGRAM
 | |
| 
 | |
| POOH		TC	RELDSP			# RELEASE DISPLAY SYSTEM
 | |
| 
 | |
| 		CAF	PRIO5			# SET VARIABLE RESTART PRIORITY FOR
 | |
| 		TS	PHSPRDT2		# P00 INTEGRATION.
 | |
| 
 | |
| 		TC	CLRADMOD		# CLRADMOD DOES AN INHINT.
 | |
| 
 | |
| 		CS	NODOBIT			# TURN OFF NODOFLAG.
 | |
| 		MASK	FLAGWRD2
 | |
| 		TS	FLAGWRD2
 | |
| 
 | |
| 		CA	FIVE			# SET RESTART FOR STATEINT1
 | |
| 		TS	L
 | |
| 		COM
 | |
| 		DXCH	-PHASE2
 | |
| 
 | |
| 		CS	OCT700			# TURN OFF P20, P25, IMU IN USE FLAG
 | |
| 		MASK	FLAGWRD0
 | |
| 		TS	FLAGWRD0		#			 REMDFLG
 | |
| 
 | |
| 		CAF	DNLADP00
 | |
| 
 | |
| SEUDOP00	TS	DNLSTCOD		# SET UP APPROPRIATE DOWNLIST CODE
 | |
| 		TS	AGSWORD			#   (CURRENT LIST WILL BE COMPLETED BEFORE
 | |
| 						#     NEW ONE IS STARTED)
 | |
| 		TC	IBNKCALL
 | |
| 		CADR	ENGINOF1
 | |
| 
 | |
| # Page 230
 | |
| 		TC	IBNKCALL		# INSURE ALLCOAST.
 | |
| 		CADR	ALLCOAST		# DOES A RESTORDB.
 | |
| 
 | |
| 		CS	OCT120			# TURN OFF TRACK, UPDATE FLAGS
 | |
| 		TS	EBANKTEM
 | |
| 		MASK	FLAGWRD1
 | |
| 		TS	FLAGWRD1
 | |
| 
 | |
| 		TC	IBNKCALL		# KILL GROUPS 1,3,5,6
 | |
| 		CADR	V37KLEAN
 | |
| 
 | |
| 		CCS	MMNUMBER		# IS IT POOH
 | |
| 		TCF	RENDV00			# NO
 | |
| GOMOD		TC	IBNKCALL		# REDUNDANT EXCEPT FOR GROUP 4
 | |
| 		CADR	P00KLEAN
 | |
| 
 | |
| 		CA	MMNUMBER
 | |
| 		TS	MODREG
 | |
| 
 | |
| GOGOPROG	TC	POSTJUMP
 | |
| 		CADR	GOPROG2
 | |
| 
 | |
| RENDV00		CS	MODREG			# IS CURRENT PROGRAM 22
 | |
| 		AD	OCT26
 | |
| 		EXTEND
 | |
| 		BZF	RESET22			# YES -- CLEAR RENDEZVOUS FLAG
 | |
| 
 | |
| 		CS	MMNUMBER		# IS NE PROGRAM P22
 | |
| 		AD	OCT26
 | |
| 		EXTEND
 | |
| 		BZF	RESET22
 | |
| 
 | |
| 		AD	NEG2			# IS NEW PROGRAM = P20 OR P25
 | |
| 		EXTEND
 | |
| 		BZF	RENDN00			# YES
 | |
| 		AD	FIVE			# 25
 | |
| 		EXTEND
 | |
| 		BZF	RENDN00			# YES
 | |
| 
 | |
| 		CA	OCT500			# NO, IS EITHER P20 OR P25 RUNNING
 | |
| 		MASK	FLAGWRD0
 | |
| 		CCS	A
 | |
| 		TCF	P00FIZZ			# YES, LEAVE GROUP 2 TO PICK UP P20 OR P25
 | |
| 
 | |
| RESET22		CS	OCT700			# CLEAR RENDEZVOUS, P25
 | |
| 		MASK	FLAGWRD0		# AND IMU IN USE FLAGS
 | |
| 		TS	FLAGWRD0
 | |
| 		TC	CLRADMOD
 | |
| # Page 231
 | |
| 
 | |
| KILL2		EXTEND				# NO, KILL 2
 | |
| 		DCA	NEG0
 | |
| 		DXCH	-PHASE2
 | |
| 
 | |
| P00FIZZ		CAF	V37QCAD			# RESTART POINT FOR V37XEQ
 | |
| 		TS	TEMPFLSH
 | |
| 
 | |
| 		TCF	GOGOPROG
 | |
| 
 | |
| RENDN00		CS	MODREG
 | |
| 		AD	OCT24
 | |
| 		EXTEND
 | |
| 		BZF	KILL2			# P20 OR P25 ON TOP OF P20 OR P25 --
 | |
| 
 | |
| 		AD	FIVE
 | |
| 		EXTEND
 | |
| 		BZF	KILL2
 | |
| 
 | |
| 		CA	OCT500
 | |
| 		MASK	FLAGWRD0
 | |
| 		AD	MMNUMBER
 | |
| 		COM
 | |
| 		AD	P20REG			# IS IT 20 AND IS RENDEZVOUS FLAG ON
 | |
| 		EXTEND
 | |
| 		BZF	STATQUO			# YES
 | |
| 		AD	OCT305			# IS IT 25 AND IS P25 BIT ON
 | |
| 		EXTEND
 | |
| 		BZF	STATQUO			# YES, LEAVE AS IS
 | |
| 		TCF	KILL2
 | |
| 
 | |
| STATQUO		CS	FLAGWRD1		# SET TRACKFLAG
 | |
| 		MASK	OCT120			#	UPDATE FLAG
 | |
| 		ADS	FLAGWRD1
 | |
| 
 | |
| 		TCF	GOMOD
 | |
| 
 | |
| NOUVEAU		CAF	OCT500			# IS P20 OR P25 FLAG SET
 | |
| 		MASK	FLAGWRD0
 | |
| 		CCS	A
 | |
| 		TCF	+3			# YES
 | |
| 		TC	DOWNFLAG		# NO, RESET IMUINUSE FLAG
 | |
| 		ADRES	IMUSE
 | |
| 
 | |
| 		INDEX	MINDEX
 | |
| 		CAF	DNLADMM1		# OBTAIN APPROPIRATE DOWNLIST ADDRESS
 | |
| 
 | |
| 		INHINT
 | |
| 		TCF	SEUDOP00
 | |
| 
 | |
| V37NONO		TC	FALTON			# COME HERE IF MM REQUESTED DOESN'T EXIST
 | |
| # Page 232
 | |
| 		TCF	V37BAD
 | |
| 
 | |
| OCT00010	EQUALS	BIT4
 | |
| OCT500		OCT	500			# BITS 7 AND 9
 | |
| OCT305		OCT	305
 | |
| OCT26		OCT	26
 | |
| P20REG		OCT	124
 | |
| 
 | |
| V37XEQ		INHINT
 | |
| 		INDEX	MINDEX
 | |
| 		CAF	PREMM1			# OBTAIN PRIO, EBANK, AND MM
 | |
| 		TS	MMTEMP
 | |
| 		TS	CYR			# SHIFT RIGHT TO BITS 14-10
 | |
| 
 | |
| 		CA	CYR
 | |
| 		MASK	PRIO37
 | |
| 		TS	PHSPRDT4		# PRESET GROUP 4 RESTART PRIORITY
 | |
| 		TS	NEWPRIO			# STORE PRIO FOR SPVAC
 | |
| 
 | |
| 		CA	MMTEMP			# OBTAIN EBANK -- BITS 8, 9, 10 OF MMTEMP.
 | |
| 		EXTEND
 | |
| 		MP	BIT8
 | |
| 		MASK	LOW3
 | |
| 		TS	L
 | |
| 
 | |
| 		INDEX	MINDEX
 | |
| 		CAF	FCADRMM1
 | |
| 		TS	BASETEMP		# MAKE BBCON BY ADDING HI5 OR FCADR
 | |
| 		MASK	HI5
 | |
| 		ADS	L
 | |
| 
 | |
| 		CA	BASETEMP		# OBTAIN GENADR PORTION OF 2CADR.
 | |
| 		MASK	LOW10
 | |
| 		AD	BIT11
 | |
| 
 | |
| 		TC	SPVAC
 | |
| 
 | |
| V37XEQC		CA	MMTEMP			# UPON RETURN FROM FINDVAC PLACE THE
 | |
| 		MASK	LOW7			# NEW MM IN MODREG (THE LOW 7 BITS OF
 | |
| 		TC	NEWMODEA		# PHSPRDT1)
 | |
| 
 | |
| 		TC	RELDSP			# RELEASE DISPLAY
 | |
| 		TC	ENDOFJOB		# AND EXIT
 | |
| 
 | |
| NEG7		EQUALS	OCT77770
 | |
| 
 | |
| MMTEMP		EQUALS	PHSPRDT3
 | |
| BASETEMP	EQUALS	TBASE4
 | |
| V37QCAD		CADR	V37XEQ +3
 | |
| R00AD		CADR	DUMMYAD
 | |
| 
 | |
| # Page 233
 | |
| V37RETAD	CADR	V37RET
 | |
| OCT37667	OCT	37667
 | |
| OCT40072	OCT	40072
 | |
| OCT700		OCT	700
 | |
| 
 | |
| SETUP71		CAF	THREE
 | |
| SETUP70		TS	Q
 | |
| 		EXTEND
 | |
| 		DCA	P70CADR
 | |
| 		AD	Q
 | |
| 		DTCB
 | |
| 
 | |
| DEC70		DEC	70
 | |
| 		EBANK=	R
 | |
| P70CADR		2CADR	P70
 | |
| 
 | |
| # FOR VERB 37 TWO TABLES ARE MAINTAINED.  EACH TABLE HAS AN ETRY FOR EACH
 | |
| # MAJOR MODE THAT CAN BE STARTED FROM THE KEYBOARD.  THE ENTRIES ARE PUT
 | |
| # INTO THE TABLE WITH THE ENTRY FOR THE HIGHEST MAJOR MODE COMING FIRST,
 | |
| # TO THE LOWEST MAJOR MODE WHICH IS THE LAST ENTRY IN EACH TABLE.
 | |
| #
 | |
| # THE FCADRMM TABLE CONTAINS THE FCADR OF THE STARTING JOB OF
 | |
| # THE MAJOR MODE.  FOR EXAMPLE,
 | |
| #
 | |
| #	FCADRMM1	FCADR	P79		# START OF P 79
 | |
| #			FCADR	PROG18		# START OF P 18
 | |
| #			FCADR	P01		# START OF P 01
 | |
| #
 | |
| # NOTE:		THE FIRST ENTRY MUST BE LABELED FCADRMM1.
 | |
| # -----
 | |
| 
 | |
| FCADRMM1	FCADR	P79
 | |
| 		FCADR	P78
 | |
| 		FCADR	P76
 | |
| 		FCADR	P75
 | |
| 		FCADR	P74
 | |
| 		FCADR	P73
 | |
| 		FCADR	P72
 | |
| 		FCADR	LANDJUNK
 | |
| 		FCADR	P63LM
 | |
| 		FCADR	P57
 | |
| 		FCADR	PROG52
 | |
| 		FCADR	P51
 | |
| 		FCADR	P47LM
 | |
| 		FCADR	P42LM
 | |
| 		FCADR	P41LM
 | |
| 		FCADR	P40LM
 | |
| 		FCADR	P39
 | |
| 		FCADR	P38
 | |
| # Page 234
 | |
| 		FCADR	P35
 | |
| 		FCADR	P34
 | |
| 		FCADR	P33
 | |
| 		FCADR	P32
 | |
| 		FCADR	P31
 | |
| 		FCADR	P30
 | |
| 		FCADR	PROG25
 | |
| 		FCADR	PROG22
 | |
| 		FCADR	PROG21
 | |
| 		FCADR	PROG20
 | |
| 		FCADR	P12LM
 | |
| 		FCADR	P06
 | |
| 
 | |
| # THE PREMM TABLE CONTAINS THE E-BANK, MAJOR MODE, AND PRIORITY
 | |
| # INFORMATION, IT IS IN THE FOLLOWING FORM,
 | |
| #
 | |
| #	PPP PPE EEM MMM MMM
 | |
| #
 | |
| #	WHERE THE	7 M BITS CONTAIN THE MAJOR MODE NUMBER
 | |
| #			3 E BITS CONTAIN THE E-BANK NUMBER
 | |
| #			5 P BITS CONTAIN THE PRIORITY AT WHICH THE JOB IS
 | |
| #			    TO BE STARTED
 | |
| #
 | |
| #	FOR EXAMPLE,
 | |
| #
 | |
| #		PREMM1		OCT	67213		# PRIORITY	33
 | |
| #							# E-BANK	5
 | |
| #							# MAJOR MODE	11
 | |
| #				OCT	25437		# PRIORITY	12
 | |
| #							# E-BANK	6
 | |
| #							# MAJOR MODE	31
 | |
| #
 | |
| # NOTE:		THE FIRST ENTRY MUST BE LABELED PREMM1
 | |
| 
 | |
| PREMM1		OCT	27717		# MM 79		EBANK 7		PRIO 13
 | |
| 		OCT	27716		# MM 78		EBANK 7		PRIO 13
 | |
| 		OCT	27714		# MM 76		EBANK 7		PRIO 13
 | |
| 		OCT	27713		# MM 75		EBANK 7		PRIO 13
 | |
| 		OCT	27712		# MM 74		EBANK 7		PRIO 13
 | |
| 		OCT	27711		# MM 73		EBANK 7		PRIO 13
 | |
| 		OCT	27710		# MM 72		EBANK 7		PRIO 13
 | |
| 		OCT	27704		# MM 68		EBANK 7		PRIO 13
 | |
| 		OCT	27677		# MM 63		EBANK 7		PRIO 13
 | |
| 		OCT	27271		# MM 57		EBANK 5		PRIO 13
 | |
| 		OCT	27264		# MM 52		EBANK 5		PRIO 13
 | |
| 		OCT	27263		# MM 51		EBANK 5		PRIO 13
 | |
| 		OCT	27657		# MM 47		EBANK 7		PRIO 13
 | |
| 		OCT	27652		# MM 42		EBANK 7		PRIO 13
 | |
| 		OCT	27651		# MM 41		EBANK 7		PRIO 13
 | |
| 		OCT	27650		# MM 40		EBANK 7		PRIO 13
 | |
| 		OCT	27647		# MM 39		EBANK 7		PRIO 13
 | |
| 		OCT	27646		# MM 38		EBANK 7		PRIO 13
 | |
| # Page 235
 | |
| 		OCT	27643		# MM 35		EBANK 7		PRIO 13
 | |
| 		OCT	27642		# MM 34		EBANK 7		PRIO 13
 | |
| 		OCT	27641		# MM 33		EBANK 7		PRIO 13
 | |
| 		OCT	27640		# MM 32		EBANK 7		PRIO 13
 | |
| 		OCT	27637		#
 | |
| 		OCT	27636		# MM 30		EBANK 7		PRIO 13
 | |
| 		OCT	27631		# MM 25		EBANK 7		PRIO 13
 | |
| 		OCT	27626		# MM 22		EBANK 7		PRIO 13
 | |
| 		OCT	27625		# MM 21		EBANK 7		PRIO 13
 | |
| 		OCT	27624		# MM 20		EBANK 7		PRIO 13
 | |
| 		OCT	27614		# MM 12		EBANK 7		PRIO 13
 | |
| 		OCT	27006		# MM 06		EBANK 4		PRIO 13
 | |
| 
 | |
| # NOTE:		THE FOLLOWING CONSTANT IS THE NUMBER OF ENTRIES IN EACH OF
 | |
| # -----		THE ABOVE LISTS-1 (I.E., THE NUMBER OF MAJOR MODES (EXCEPT P00)
 | |
| #		THAT CAN BE CALLED FROM THE KEYBOARD MINUS ONE)
 | |
| 
 | |
| NOV37MM		DEC	29		# MM'S -1
 | |
| 
 | |
| DNLADMM1	ADRES	RENDEZVU	# P79
 | |
| 		ADRES	RENDEZVU	# P78
 | |
| 		ADRES	RENDEZVU
 | |
| 		ADRES	RENDEZVU	# P75
 | |
| 		ADRES	RENDEZVU	# P74
 | |
| 		ADRES	RENDEZVU	# P73
 | |
| 		ADRES	RENDEZVU	# P72
 | |
| 		ADRES	DESASCNT	# P68
 | |
| 		ADRES	DESASCNT	# P63
 | |
| 		ADRES	LUNRSALN	# P57
 | |
| 		ADRES	COSTALIN	# P52
 | |
| 		ADRES	COSTALIN	# P51
 | |
| 		ADRES	ORBMANUV	# P47
 | |
| 		ADRES	ORBMANUV	# P42
 | |
| 		ADRES	ORBMANUV	# P41
 | |
| 		ADRES	ORBMANUV	# P40
 | |
| 		ADRES	RENDEZVU	# P39
 | |
| 		ADRES	RENDEZVU	# P38
 | |
| 		ADRES	RENDEZVU	# P35
 | |
| 		ADRES	RENDEZVU	# P34
 | |
| 		ADRES	RENDEZVU	# P33
 | |
| 		ADRES	RENDEZVU	# P32
 | |
| 		ADRES   RENDEZVU	# P31LM
 | |
| 		ADRES	RENDEZVU	# P30
 | |
| 		ADRES	RENDEZVU	# P25
 | |
| 		ADRES	LUNRSALN	# P22
 | |
| 		ADRES	RENDEZVU	# P21
 | |
| 		ADRES	RENDEZVU	# P20
 | |
| 		ADRES	DESASCNT	# P12
 | |
| 		ADRES	COSTALIN	# P06
 | |
| DNLADP00	=	ZERO
 | |
| COSTALIN	=	0
 | |
| # Page 236
 | |
| AGSUPDAT	=	1
 | |
| RENDEZVU	=	2
 | |
| ORBMANUV	=	3
 | |
| DESASCNT	=	4
 | |
| LUNRSALN	=	5
 | |
| 
 | |
| 		BANK	13
 | |
| 		SETLOC	INTINIT
 | |
| 		BANK
 | |
| 
 | |
| 		COUNT*	$$/INTIN
 | |
| 
 | |
| 		EBANK=	RRECTCSM
 | |
| 
 | |
| # THIS ROUTINE DOES THE P00 INTEGRATION
 | |
| 
 | |
| STATEUP		SET	BOF		# EXTRAPOLATE CM STATE VECTOR
 | |
| 			VINTFLAG
 | |
| 			SURFFLAG	# ALSO 6X6 W-MATRIX IF LM ON LUNAR
 | |
| 			DOINT		# 	SURFACE AND W-MATRIX VALID
 | |
| 		BOF	SET		#	FOR RENDEZVOUS NAVIGATION.
 | |
| 			RENDWFLG
 | |
| 			DOINT
 | |
| 			DIM0FLAG
 | |
| DOINT		CLEAR	CALL
 | |
| 			PRECIFLG	# ENGAGES 4-TIME STEP LOGIC IN INTEGRATION
 | |
| 			INTEGRV		# WHEN MODREG = 0
 | |
| 
 | |
| 		BON	DLOAD
 | |
| 			SURFFLAG
 | |
| 			NO-INT
 | |
| 			TETCSM
 | |
| 		STCALL	TDEC1
 | |
| 			INTSTALL
 | |
| 		CLEAR	CALL		# EXTRAPOLATE LM STATE VECTOR
 | |
| 			VINTFLAG
 | |
| 			SETIFLGS
 | |
| 		BOF			# ALSO 9X9 W-MATRIX IF W IS VALID
 | |
| 			RENDWFLG
 | |
| 			DOINT2
 | |
| 		SET	SET
 | |
| 			DIM0FLAG
 | |
| 			D6OR9FLG
 | |
| DOINT2		SET	CALL
 | |
| 			PRECIFLG	# DISENGAGE 4 TIME STEP LOGIC IN INTEG.
 | |
| 			INTEGRV
 | |
| NO-INT		CLRGO
 | |
| 			NODOFLAG
 | |
| 			ENDINT
 | |
| # Page 237
 | |
| # THISVINT IS CALLED BY MIDTOAV1 AND 2
 | |
| 
 | |
| THISVINT	CLEAR	RVQ
 | |
| 			VINTFLAG
 | |
| 
 | |
| 
 |