### FILE="Main.annotation" ## Copyright: Public domain. ## Filename: AOTMARK.agc ## Purpose: A section of Sunburst revision 37, or Shepatin revision 0. ## It is part of an early development version of the software ## for Apollo Guidance Computer (AGC) on the unmanned Lunar ## Module (LM) flight Apollo 5. Sunburst 37 was the program ## upon which Don Eyles's offline development program Shepatin ## was based; the listing herein transcribed was actually for ## the equivalent revision 0 of Shepatin. ## This file is intended to be a faithful transcription, except ## that the code format has been changed to conform to the ## requirements of the yaYUL assembler rather than the ## original YUL assembler. ## Reference: pp. 146-154 ## Assembler: yaYUL ## Contact: Ron Burkey . ## Website: www.ibiblio.org/apollo/index.html ## Mod history: 2017-05-24 MAS Created from Sunburst 120. ## 2017-05-30 RSB Transcribed. ## 2017-06-21 RSB Proofed using octopus/ProoferComments. ## Page 146 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 147 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 148 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 149 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 150 MARKRUPT TS BANKRUPT CA CDUY # STORE CDU DATA AND TIME IN TEMP TS RUPTSTOR +2 CA CDUZ TS RUPTSTOR +4 CA CDUX TS RUPTSTOR +6 EXTEND DCA TIME2 DXCH RUPTSTOR 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 ## Page 151 EXTEND BZF +3 # IF NO INBITS. TC POSTJUMP # IF DESCENT BITS. CADR DESCBITS +3 TC ALARM OCT 113 TC RESUME XMKRUPT CAF ZERO TS ITEMP1 CAF BIT10 TC +4 YMKRUPT CAF ONE TS ITEMP1 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 ITEMP2 EXTEND DCA RUPTSTOR INDEX ITEMP2 DXCH 0 # STORE TIME1 AND TIME2 IN VAC CA ITEMP2 ADS ITEMP1 CA RUPTSTOR +2 INDEX ITEMP1 TS 2 CA RUPTSTOR +4 INDEX ITEMP1 TS 4 CA RUPTSTOR +6 INDEX ITEMP1 TS 6 CAF BIT13 AD XYMARK COM MASK MARKSTAT ## Page 152 AD XYMARK # SET MARK MADE BIT IN MARKSTAT=1 TS MARKSTAT # AND SET BIT13 ZERO TO SHOW MARK TC REMARK # MADE BEFORE A REJECT - GO REMARK ## Page 153 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 154 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