swh:1:snp:63e2d142f91fc04ec33789d9d7bb85f3bef72e05
Raw File
Tip revision: 66d8e606a8d996ded60bc81d5edf319142a5fad9 authored by Ron Burkey on 04 October 2021, 11:49:55 UTC
Merge branch 'master' of https://github.com/virtualagc/virtualagc
Tip revision: 66d8e60
KEYRUPT,_UPRUPT.agc
### FILE="Main.annotation"
## Copyright:	Public domain.
## Filename:	KEYRUPT_UPRUPT.agc
## Purpose:	A module for revision 0 of BURST120 (Sunburst).
##		It is part of the source code for the Lunar Module's (LM)
##		Apollo Guidance Computer (AGC) for Apollo 5.
## Assembler:	yaYUL
## Contact:	Ron Burkey <info@sandroid.org>.
## Website:	www.ibiblio.org/apollo/index.html
## Mod history:	2016-09-30 RSB	Created draft version.
##		2016-10-06 RSB	Transcription completed.
##		2016-10-31 RSB	Typos.
##		2016-12-04 RSB	Proofed with octopus/ProoferComments and fixed various
##				comments, but the proofing process is not completed.
##		2016-12-05 RSB	Comment-proofing pass with octopus/ProoferComments completed;
##				changes made.
##		2021-05-30 ABS	UPCK -> UPOK

## Page 228
		BANK	13
KEYRUPT1	TS	BANKRUPT
		XCH	Q
		TS	QRUPT
		TC	LODSAMPT	# TIME IS SNATCHED IN RUPT FOR NOUN 65.
		CAF	LOW5
		EXTEND
		RAND	MNKEYIN	
KEYCOM		TS	RUPTREG4
		CAF	CHRPRIO	
		TC	NOVAC
		EBANK=	DSPCOUNT
		2CADR	CHARIN

		CA	RUPTREG4
		INDEX	LOCCTR
		TS	MPAC		# LEAVE 5 BIT KEY CDE IN MPAC FOR CHARIN
		TC	RESUME

## Page 229
# 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
		XCH	SR		# WHOLE WORD INTO SR
		TS	KEYTEMP2	# ORIGINAL SR INTO KEYTEMP2
		TC	SRGHT5
		MASK	LOW5		# MID 5
		AD	HI10
		TC	UPTEST
		TC	SRGHT5
		MASK	LOW5		# HIGH 5
		COM
		TC	UPTEST
UPOK		TC	RESTORSR	# CODE IS GOOD		
		CS	ELRCODE		# IF CODE = ERROR LIGHT RESET, PUT +0
		AD	KEYTEMP1	# INTO BIT1 OF UPLOCK.
		CCS	A		# IF CODE NOT= ELR, PASS CODE ONLY IF
		TC	TSTUPLOK	# BIT1 OF UPLOCK = 0.
ELRCODE		OCT	22
		TC	TSTUPLOK
		CS	BIT3
		MASK	FLAGWRD1
		TS	FLAGWRD1
		TC	ACCEPTUP
TSTUPLOK	CAF	BIT3
		MASK	FLAGWRD1
		CCS	A
		TC	RESUME		# BIT1 OF UPLOCK = 1.
ACCEPTUP	XCH	KEYTEMP1	# BIT1 OF UPLOCK = 0.
		TC	KEYCOM		
		
TMFAIL2		TC	RESTORSR	# CODE IS BAD
		CS	BIT3
		MASK	FLAGWRD1
		AD	BIT3
		TS	FLAGWRD1
TMFAIL1		TC	TMALM
		TC	RESUME
		
## Page 230
RESTORSR	XCH	KEYTEMP2
		DOUBLE
		TS	SR
		TC	Q

TMALM		=	RESUME		# FOR NOW

SRGHT5		CS	SR
		CS	SR
		CS	SR
		CS	SR
		CS	SR
		CS	A
		TC	Q		# DELIVERS WORD UNCOMPLEMENTED
		
UPTEST		AD	KEYTEMP1
		CCS	A
		TC	TMFAIL2
HI10		OCT	77740
		TC	TMFAIL2
		TC	Q

# UPACT IS TURNED OFF BY VBRELDSP, ALSO BY ERROR LIGHT RESET.
## Page 231
# THE RECEPTION OF A BAD CODE BY UPLINK LOCKS OUT FURTHER UPLINK ACTIVITY
# BY PLACING A 1 INTO BIT1 OF UPLOCK. BIT9 (ALONG WITH BIT11) OF TMKEYBUF
# IS SET TO 1 TO SEND AN INDICATION OF THIS SITUATION DOWN THE DOWNLINK.
# THE UPLINK INTERLOCK IS ALLOWED WHEN AN ERROR LIGHT RESET CODE IS SENT
# UP THE UPLINK, OR WHEN A FRESH START IS PERFORMED.

back to top