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
AOTMARK.agc
### FILE="Main.annotation"
## Copyright: Public domain.
## Filename: AOTMARK.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-05 RSB Completed transcription.
## 2016-10-30 MAS Corrected a couple errors (VKVB53 -> MKVB53, V31N43E->V21N43E).
## 2016-10-31 RSB I had messed up the very end of the file with both missing
## and extra goo.
## 2016-11-01 RSB More typos.
## 2016-12-04 RSB Fixed various typos in the comments, using octopus/ProoferComments.
## However, don't regard the comments as completely proofed yet.
## 2016-12-05 RSB Comment-proofing pass with octopus/ProoferComments completed;
## changes made.
## Page 159
BANK 13
EBANK= AOTAZ
AOTMARK INHINT
TS RUPTREG2 # BIT14=INFLIGHT 0=NONFLIGHT
CCS MARKSTAT # ARE MARKS BUTTONS IN USE
TC +2 # MARKS BUTTONS NOT AVAILABLE
TC MKVAC # FIND A VAC AREA
TC ALARM
OCT 00105
TC ENDOFJOB
MKVAC CCS VAC1USE
TC MKVACFND
CCS VAC2USE
TC MKVACFND
CCS VAC3USE
TC MKVACFND
CCS VAC4USE
TC MKVACFND
CCS VAC5USE
TC MKVACFND
TC ABORT # VAC AREAS OCCUPIED
OCT 01207
MKVACFND AD TWO
TS MARKSTAT
CAF ZERO
TS XYMARK # INITIALIZE MARK ID REGISTER
INDEX MARKSTAT
TS 0 -1 # SHOW VAC OCCUPIED
CA RUPTREG2
ADS MARKSTAT
CAF PRIO32
TC NOVAC
EBANK= AOTAZ
2CADR GETMKS
TC MODEEXIT
MKRELEAS CAF ZERO
XCH MARKSTAT # SET MARKSTAT ZERO
CCS A
INDEX A
TS 0 # SHOW VAC AREA AVAILABLE
TC SWRETURN
## Page 160
GETMKS CAF ZERO
TS XYMARK
CAF BIT14 # FIND IF IN-FLIGHT OR NON-FLIGHT
MASK MARKSTAT
CCS A
TC MKVB53 # IN-FLIGHT
CS BIT11 # NON-FLIGHT, SET Y MARK =1
MASK MARKSTAT
AD BIT11
TS MARKSTAT
CAF VB51 # REQUEST X MARK
TC +2
MKVB53 CAF VB53 # REQUEST X AND Y MARKS
TC NVSBWAIT
TC FLASHON
TC ENDIDLE
TC GETMKS +1
TC GETMKS +1
MKCHEK CAF BIT10 # WAS X MARK MADE
MASK MARKSTAT
CCS A
TC +2 # X MARK MADE-LOOK AT Y MARK
TC MKALARM
CAF BIT11
MASK MARKSTAT
CCS A
TC GETDET # BOTH MARKS MADE-SHOW ACCEPT-GET DETENT
MKALARM TC ALARM # IF EITHER MARK IS MISSING AFTER ENTER
OCT 111
CS PRIO17 # SET BITS 10,11,12,13 TO ZERO IN MARKSTAT
MASK MARKSTAT
TS MARKSTAT
TC GETMKS # GETMKS AGAIN
GETDET CS BIT12
MASK MARKSTAT
AD BIT12 # SET BIT12=1 TO SHOW MARKS ACCEPTED
TS MARKSTAT
DETVB21 CAF V21N43E
TC NVSBWAIT
TC ENDIDLE
TC DETVB21
TC DETVB21
CS OCT3
MASK DETCODE
CCS A
TC DETVB21 # BAD CODE, REQUEST AGAIN
## Page 161
TC +3 # LOOKS GOOD BUT COULD BE ZERO
TC +1
TC DETVB21
CAF OCT3
MASK DETCODE # SEE IF ZERO
CCS A
TC +2 # GOOD CODE-STORE ANGLES
TC DETVB21 # ZERO-BAD CODE-REQUEST AGAIN
CAF LOW9
MASK MARKSTAT
TS BASVAC # STORE VAC AREA ADDRESS
INDEX DETCODE
CA AOTEL -1
INDEX BASVAC
TS 9D # STORE ELV ANGLE IN VAC +9
INDEX DETCODE
CA AOTAZ -1
INDEX BASVAC
TS 8D # STORE AZIMUTH IN VAC +8
CA AOTAZ +1 # COMPENSATION FOR THE APPARENT TILT OF
EXTEND # AOT FIELD OF VIEW IN THE LEFT AND RIGHT
INDEX DETCODE # DETENTS IS STORED IN LOC 10D OF VAC
MSU AOTAZ -1 # IN ONES COMPLEMENT
INDEX BASVAC
TS 10D # SINGLE PREC. TILT COMPENSATION ANGLE
CAF BIT14 # IN-FLIGHT OR NON-FLIGHT
MASK MARKSTAT
CCS A
TC MKOUT # IN-FLIGHT, NO MORE DATA NEEDED
TC ROTVB24 # NON-FLIGHT, GET ROTATION ANGLES
ROTVB24 CAF V24N42E # REQUEST RETICLE ROTATION ANGLES
TC NVSBWAIT
TC ENDIDLE
TC ROTVB24
TC ROTVB24
CAF LOW9
MASK MARKSTAT
TS BASVAC
CA DSPTEM2 # YROT
INDEX BASVAC
TS 3 # STORE Y RETICLE ROT ANGLE IN VAC +3
CA DSPTEM2 +1 # SROT
INDEX BASVAC
TS 5 # STORE SPIRAL ROT ANGLE VAC +5
## Page 162
MKOUT CAF LOW9
MASK MARKSTAT
TS MARKSTAT # SET HI5 ZERO
INHINT
CAF ONE
TC WAITLIST
EBANK= AOTAZ
2CADR ENDMARKS
TC ENDOFJOB
ENDMARKS CAF ONE
TCF GOODEND
## Page 163
MARKRUPT TS BANKRUPT
CA CDUY # STORE CDU DATA AND TIME IN TEMP
TS ITEMP3
CA CDUZ
TS ITEMP4
CA CDUX
TS ITEMP5
EXTEND
DCA TIME2
DXCH ITEMP1
XCH Q
TS QRUPT
CAF OCT34 # SEE IF X OR Y MARK OR MKREJECT
EXTEND
RAND NAVKEYIN
CCS A
TC +2 # ITS A LIVE ONE-CHECK FOR ACCEPT
TC SOMEKEY # SOME OTHER KEY
CAF BIT12 # HAVE MARKS BEEN ACCEPTED
MASK MARKSTAT
CCS A
TC RESUME # MARKS MADE AND ACCEPTED - DO NOTHING
CCS MARKSTAT # ARE MARKS BEING ACCEPTED
TC FINDKEY
TC ALARM # MARKS NOT BEING ACCEPTED
OCT 112
TC RESUME
FINDKEY CAF BIT5
EXTEND
RAND NAVKEYIN # CHANNEL 16
CCS A
TC MKREJ # ITS A MARK REJECT
CAF BIT4
EXTEND
RAND NAVKEYIN
CCS A
TC YMKRUPT # ITS A Y MARK
CAF BIT3
EXTEND
RAND NAVKEYIN
CCS A
TC XMKRUPT # ITS AN X MARK
SOMEKEY CAF OCT140 # NOT MARK OR MARK REJECT
EXTEND
RAND NAVKEYIN
EXTEND
## Page 164
BZF +3 # IF NO INBITS.
TC POSTJUMP # IF DESCENT BITS.
CADR DESCBITS
+3 TC ALARM
OCT 113
TC RESUME
XMKRUPT CAF ZERO
TS RUPTREG1 # SET X MARK STORE INDEX TO ZERO
CAF BIT10
TC +4
YMKRUPT CAF ONE
TS RUPTREG1 # SET Y MARK STORE INDEX TO ONE
CAF BIT11
TS XYMARK # SET MARK ID
MASK MARKSTAT
CCS A
TC +2 # MARK MADE BUT NOT DESIRED
TC VACSTOR # MARK DESIRED AND MADE-STORE CDUS
TC ALARM
OCT 114
TC REMARK # RENEW REQUEST
VACSTOR CAF LOW9 # STORE TIME AND CDUS IN VAC AREA
MASK MARKSTAT
TS RUPTREG2 # PICK UP VAC ADR
EXTEND
DCA ITEMP1
INDEX RUPTREG2
DXCH 0 # STORE TIME1 AND TIME2 IN VAC
CA RUPTREG2
ADS RUPTREG1 # INCREMENT CDU STORE ADR BY MARK INDEX
CA ITEMP3 # PICK UP CDUY
INDEX RUPTREG1
TS 2
CA ITEMP4 # PICK UP CDUZ
INDEX RUPTREG1
TS 4
CA ITEMP5 # PICK UP CDUX
INDEX RUPTREG1
TS 6
CAF BIT13
AD XYMARK
COM
MASK MARKSTAT
AD XYMARK # SET MARK MADE BIT IN MARKSTAT=1
## Page 165
TS MARKSTAT # AND SET BIT13 ZERO TO SHOW MARK
TC REMARK # MADE BEFORE A REJECT - GO REMARK
## Page 166
REMARK CAF ZERO
TS MKDEX # MKDEX=0
CAF BIT11 # LOOK A Y MARK
MASK MARKSTAT
CCS A
TC +3 # Y MARK MADE
CAF BIT8 # Y MARK REQUIRED
TS MKDEX
CAF BIT10 # LOOK AT X MARK
MASK MARKSTAT
CCS A
TC MKJOB
CAF BIT7 # X MARK REQUIRED
ADS MKDEX
MKJOB CAF PRIO32
TC NOVAC # ENTER JOB TO PASTE VERB
EBANK= AOTAZ
2CADR CHANGVB
CA RUPTREG4
INDEX LOCCTR
TS MPAC
TC RESUME
CHANGVB CCS MPAC
TC SHOWVB
CAF VB21N30E
TC SHOWVB +2
SHOWVB CAF VB50
AD MPAC
TS NVTEMP
CA CADRSTOR # NVSUB CLOBBERS THIS-USE LOC AS TEMP
TS LOC
TC NVSUB +3
VB51 OCT 5100
CA LOC # RESTORE CADRSTOR
TS CADRSTOR
TC ENDOFJOB
MKREJ CAF BIT14 # IN-FLIGHT OR NON-FLIGHT
MASK MARKSTAT
CCS A
TC REJIN # IN-FLIGHT
CAF BIT10 # NON-FLIGHT, SEE IF X MARK MADE
MASK MARKSTAT
CCS A
TC REJECT2 # XMARK MADE-REJECT IT
TC REJALARM # X MARK NOT MADE-ALARM-NO MARKS TO REJ
## Page 167
REJIN CAF PRIO3 # WERE IN-FLIGHT MARKS MADE
MASK MARKSTAT
CCS A
TC REJECT # MARKS MADE-REJECT ONE
REJALARM TC ALARM # NO MARKS MADE TO REJECT-GET MARKS
OCT 115
TC REJECT2
REJECT CS BIT13 # SHOW MKREJECT AND SEE MARK MADE
MASK MARKSTAT # SINCE LAST REJECT
AD BIT13
XCH MARKSTAT
MASK BIT13
CCS A
TC REJECT2 # ANOTHER REJECT
CS XYMARK # MARK MADE SINCE LAST REJECT-REJECT IT
MASK MARKSTAT
TS MARKSTAT
TC REMARK # GO REQUEST MARKS
REJECT2 CS PRIO3 # NO MARKS SINCE LAST REJECT SO SET
MASK MARKSTAT # MARKSTAT TO WANT X AND Y MARKS
XCH MARKSTAT
MASK BIT14 # IN-FLIGHT OR NON-FLIGHT
CCS A
TC REMARK # IN-FLIGHT, GO GET MARKS
CAF BIT11 # NON-FLIGHT, STILL REQUEST X MARK ONLY
ADS MARKSTAT
TC REMARK # GO GET X MARK
OCT3 EQUALS THREE
OCT34 OCT 00034
OCT140 OCT 00140
V21N43E OCT 2143
V24N42E OCT 2442
VB53 OCT 5300
MKDEX EQUALS RUPTREG4
DETCODE EQUALS XYMARK
BASVAC EQUALS Q
VB21N30E OCT 2130
VB50 OCT 5000