swh:1:snp:63e2d142f91fc04ec33789d9d7bb85f3bef72e05
Tip revision: 66d8e606a8d996ded60bc81d5edf319142a5fad9 authored by Ron Burkey on 04 October 2021, 11:49:55 UTC
Merge branch 'master' of https://github.com/virtualagc/virtualagc
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.