Source Code
010073,000001: # Copyright: Public domain.
010074,000002: # Filename: AOTMARK.agc
010075,000003: # Purpose: Part of the source code for Luminary 1A build 099.
010076,000004: # It is part of the source code for the Lunar Module's (LM)
010077,000005: # Apollo Guidance Computer (AGC), for Apollo 11.
010078,000006: # Assembler: yaYUL
010079,000007: # Contact: Ron Burkey <info@sandroid.org>.
010080,000008: # Website: www.ibiblio.org/apollo.
010081,000009: # Pages: 244-261
010082,000010: # Mod history: 2009-05-10 SN (Sergio Navarro). Started adapting
010083,000011: # from the Luminary131/ file of the same
010084,000012: # name, using Luminary099 page images.
010085,000013:
010086,000014: # This source code has been transcribed or otherwise adapted from
010087,000015: # digitized images of a hardcopy from the MIT Museum. The digitization
010088,000016: # was performed by Paul Fjeld, and arranged for by Deborah Douglas of
010089,000017: # the Museum. Many thanks to both. The images (with suitable reduction
010090,000018: # in storage size and consequent reduction in image quality as well) are
010091,000019: # available online at www.ibiblio.org/apollo. If for some reason you
010092,000020: # find that the images are illegible, contact me at info@sandroid.org
010093,000021: # about getting access to the (much) higher-quality images which Paul
010094,000022: # actually created.
010095,000023:
010096,000024: # Notations on the hardcopy document read, in part:
010097,000025:
010098,000026: # Assemble revision 001 of AGC program LMY99 by NASA 2021112-61
010099,000027: # 16:27 JULY 14, 1969
010100,000028:
010101,000029: # Page 244
010102,000030: 12,2000 BANK 12
010103,000031: 07,2000 SETLOC AOTMARK1
010104,000032: 07,2000 BANK
010105,000033:
010106,000034: 07,2000 E7,1551 EBANK= XYMARK
010107,000035: 07,2000 COUNT* $$/MARK
010108,000036:
010109,000037: 07,2000 00004 AOTMARK INHINT
010110,000038: 07,2001 11312 CCS MARKSTAT # SEE IF AOTMARK BUSY
010111,000039: 07,2002 02004 TC +2 # MARK SYSTEM BUSY -- DO ALARM
010112,000040: 07,2003 02006 TC EXTVBCHK
010113,000041: 07,2004 05652 TC P00DOO
010114,000042: 07,2005 00105 OCT 00105
010115,000043:
010116,000044: 07,2006 36242 EXTVBCHK CAF SIX # SEE IF EXT. VERB WORKING
010117,000045: 07,2007 71044 MASK EXTVBACT
010118,000046: 07,2010 10000 CCS A
010119,000047: 07,2011 12044 TCF MKABORT # YES -- ABORT
010120,000048:
010121,000049: 07,2012 34752 CAF BIT2 # NO -- DISALLOW SOME EXTENDED VERB ACTION
010122,000050: 07,2013 27044 ADS EXTVBACT # BIT2 RESET IN ENDMARK
010123,000051: 07,2014 10400 MKVAC CCS VAC1USE # LOOK FOR A VAC AREAD -- DO ABORT IF
010124,000052: 07,2015 12031 TCF MKVACFND # NONE AVAILABLE
010125,000053: 07,2016 10454 CCS VAC2USE
010126,000054: 07,2017 12031 TCF MKVACFND
010127,000055: 07,2020 10530 CCS VAC3USE
010128,000056: 07,2021 12031 TCF MKVACFND
010129,000057: 07,2022 10604 CCS VAC4USE
010130,000058: 07,2023 12031 TCF MKVACFND
010131,000059: 07,2024 10660 CCS VAC5USE
010132,000060: 07,2025 12031 TCF MKVACFND
010133,000061: 07,2026 52134 DXCH BUF2
010134,000062: 07,2027 05716 TC BAILOUT1 # ALL VAC AREAS OCCUPIED -- ABORT.
010135,000063: 07,2030 01207 OCT 01207
010136,000064:
010137,000065: 07,2031 64752 MKVACFND AD TWO
010138,000066: 07,2032 55312 TS MARKSTAT # STORE VAC ADR IN LOW 9 OF MARKSTAT
010139,000067:
010140,000068: 07,2033 34755 CAF ZERO
010141,000069: 07,2034 51312 INDEX MARKSTAT
010142,000070: 07,2035 53777 TS 0 -1 # ZERO IN VACUSE REG TO SHOW VAC OCCUPIED
010143,000071:
010144,000072: 07,2036 35025 CAF PRIO15
010145,000073: 07,2037 05105 TC FINDVAC # SET UP JOB FOR GETDAT
010146,000074: 07,2040 E7,1551 EBANK= XYMARK
010147,000075: 07,2040 02063 16067 2CADR GETDAT
010148,000076:
010149,000077: 07,2042 00003 RELINT
010150,000078: 07,2043 14631 TCF SWRETURN
010151,000079: # Page 245
010152,000080: 07,2044 52134 MKABORT DXCH BUF2
010153,000081: 07,2045 05716 TC BAILOUT1 # CONFLICT WITH EXTENDED VERB
010154,000082: 07,2046 01211 OCT 01211
010155,000083:
010156,000084: 07,2047 34755 MKRELEAS CAF ZERO
010157,000085: 07,2050 57312 XCH MARKSTAT # SET MARKSTAT TO ZERO
010158,000086: 07,2051 75004 MASK LOW9 # PICK UP VAC AREA AOR
010159,000087: 07,2052 10000 CCS A
010160,000088: 07,2053 50000 INDEX A
010161,000089: 07,2054 54000 TS 0 # SHOW MKVAC AREA AVAILABLE
010162,000090: 07,2055 34753 CAF ONE
010163,000091: 07,2056 04674 TC IBNKCALL
010164,000092: 07,2057 17665 CADR GOODEND # GO WAKE UP CALLING JOB
010165,000093:
010166,000094: # Page 246
010167,000095: 07,2060 34755 KILLAOT CAF ZERO
010168,000096: 07,2061 55044 TS EXTVBACT # TERMINATE AOTMARK -- ALLOW EXT VERB
010169,000097: 07,2062 06001 TC GOTOP00H
010170,000098: 07,2063 41312 GETDAT CS MARKSTAT # SET BIT12 TO DISCOURAGE MARKRUPT
010171,000099: 07,2064 74740 MASK BIT12 # BIT12 RESET AT GETMARK
010172,000100: 07,2065 27312 ADS MARKSTAT
010173,000101:
010174,000102: 07,2066 32330 CAF V01N71 # DISPLAY DETENT AND STAR CODE
010175,000103: 07,2067 04616 TC BANKCALL
010176,000104: 07,2070 20334 CADR GOMARKF
010177,000105:
010178,000106: 07,2071 12060 TCF KILLAOT # V34 -- DOES GOTOP00H
010179,000107: 07,2072 12074 TCF DODAT # V33 -- PROCEED -- USE THIS STAR FOR MARKS
010180,000108: 07,2073 12063 ENTERDAT TCF GETDAT # ENTER -- REDISPLAY STAR CODE
010181,000109:
010182,000110: 07,2074 37744 DODAT CAF HIGH9 # PICK DETENT CODE FROM BITS7-9 OF AOTCODE
010183,000111: 07,2075 70735 MASK AOTCODE # AND SEE IF CODE 1 TO 6
010184,000112: 07,2076 00006 EXTEND
010185,000113: 07,2077 74743 MP BIT9
010186,000114: 07,2100 55551 TS XYMARK # STORE DETENT
010187,000115:
010188,000116: 07,2101 00006 EXTEND
010189,000117: 07,2102 62063 BZMF GETDAT # COAS CALIBRATION CODE - NO GOOD HERE
010190,000118:
010191,000119: 07,2103 65660 AD NEG7 # SEE IF DETENT 7 FOR COAS
010192,000120: 07,2104 00006 EXTEND
010193,000121: 07,2105 12107 BZF CODE7
010194,000122:
010195,000123: 07,2106 12123 TCF CODE1TO6
010196,000124:
010197,000125: 07,2107 32331 CODE7 CAF V06N87* # CODE 7, COAS SIGHTING, GET OPTIC AXIS
010198,000126: 07,2110 04616 TC BANKCALL # AZ AND EL OF SIGHTING DEVICE FROM ASTRO
010199,000127: 07,2111 20334 CADR GOMARKF
010200,000128:
010201,000129: 07,2112 12060 TCF KILLAOT # V34 -- DOES GOTOP00H
010202,000130: 07,2113 12115 TCF +2 # PROCEED
010203,000131: 07,2114 12107 TCF CODE7 # ON ENTER, RECYCLE
010204,000132: 07,2115 00006 EXTEND
010205,000133: 07,2116 31350 DCA AZ # PICK UP AZ AND EL IN SP 25 COMP
010206,000134: 07,2117 50120 INDEX FIXLOC
010207,000135: 07,2120 52011 DXCH 8D # STORE IN 8D AND 9D OF LOCAL VAC
010208,000136: 07,2121 34755 CAF ZERO # BACKUP SYSTEM TO BE USED
010209,000137: 07,2122 12137 TCF COASCODE # ZERO APPARENT ROTATION
010210,000138:
010211,000139: 07,2123 51551 CODE1TO6 INDEX XYMARK # INDEX AOT POSITION BY DET CODE
010212,000140: 07,2124 31411 CA AOTEL -1
010213,000141: 07,2125 50120 INDEX FIXLOC
010214,000142: 07,2126 54011 TS 9D # STORE ELEVATION IN VAC+9D
010215,000143:
010216,000144: 07,2127 51551 INDEX XYMARK # INDEX DET CODE 1,2 OR 3
010217,000145: # Page 247
010218,000146: 07,2130 31403 CA AOTAZ -1
010219,000147: 07,2131 50120 INDEX FIXLOC
010220,000148: 07,2132 54010 TS 8D # STORE AZIMUTH IN VAC +8D
010221,000149:
010222,000150: 07,2133 31405 CA AOTAZ +1 # COMPENSATION FOR APPARENT ROTATION OF
010223,000151: 07,2134 00006 EXTEND # AOT FIELD OF VIEW IN LEFT AND RIGHT
010224,000152: 07,2135 50120 INDEX FIXLOC # DETENTS IS STORED IN VAC +10D IN SP
010225,000153: 07,2136 20010 MSU 8D # PRECISION ONE'S COMPLEMENT
010226,000154: 07,2137 50120 COASCODE INDEX FIXLOC
010227,000155: 07,2140 54012 TS 10D # ROT ANGLE
010228,000156:
010229,000157: 07,2141 06037 TC INTPRET # COMPUTE X AND Y PLANE VECTORS
010230,000158:
010231,000159: # Page 248
010232,000160: # THE OPTAXIS SOBROUTINE COMPUTES THE X AND Y MARK PLANE VECS AND
010233,000161: # ROTATES THEM THRU THE APPARENT FIELD OF VIEW ROTATION UNIQUE TO AOT
010234,000162: # OPTAXIS USES OANB TO COMPUTE THE OPTIC AXIS
010235,000163:
010236,000164: # INPUT -- AZIMUTH ANGLE IN SINGLE PREC AT CDU SCALE IN 8D OF JOB VAC
010237,000165: # ELEVATION ANGLE IN SINGLE PREC AT CDU SCALE IN 9D OF JOB VAC
010238,000166: # ROTATION ANGLE IN SINGLE PREC IS COMP SCALED BY PI IN 10D OF VAC
010239,000167:
010240,000168: # OUTPUT -- OPTIC AXIS VEC IN NG COORDS IN SCAXIS
010241,000169: # X-MARK PLANE 1/4VEC IN NB COORDS AT 18D OF JOB VAC
010242,000170: # Y-MARK PLANE 1/4VEC IN NB COORDS AT 12D OF JOB VAC
010243,000171:
010244,000172: 07,2142 77624 OPTAXIS CALL # GO COMPUTE OA AN X AND Y PLANE VECS
010245,000173: 07,2143 10536 OANB
010246,000174: 07,2144 70535 SLOAD SR1 # LOAD APP ROTATION IN ONES COMP
010247,000175: 07,2145 00013 10D # RESCALE BY 2PI
010248,000176: 07,2146 73406 PUSH SIN # 1/2SIN(ROT) 0-1
010249,000177: 07,2147 71525 PDDL COS
010250,000178: 07,2150 74206 PUSH VXSC # 1/2COS(ROT) 2-3
010251,000179: 07,2151 00023 18D
010252,000180: 07,2152 74325 PDDL VXSC # 1/4COS(ROT)UYP 4-9
010253,000181: 07,2153 00001 0
010254,000182: 07,2154 00031 24D # 1/4SIN(ROT)UXP
010255,000183: 07,2155 45445 BVSU STADR # UP 4-9
010256,000184: 07,2156 63762 STODL 12D # YPNB=1/4(COS(ROT)UYP-SIN(ROT)UXP)
010257,000185: 07,2157 65361 VXSC PDDL # UP 2-3 UP 0-1 FOR EXCHANGE
010258,000186: 07,2160 00031 24D # 1/4COS(ROT)UXP PUSH 0-5
010259,000187: 07,2161 53361 VXSC VAD # 1/4SIN(ROT)UYP
010260,000188: 07,2162 00023 18D # UP 0-5
010261,000189: 07,2163 77626 STADR
010262,000190: 07,2164 53754 STOVL 18D # XPNB=1/4(COS(ROT)UXP+SIN(ROT)UYP)
010263,000191: 07,2165 24007 LO6ZEROS # INITIALIZE AVE STAR VEC ACCUMULATOR
010264,000192: 07,2166 02715 STORE STARAD +6
010265,000193: 07,2167 77776 EXIT
010266,000194: 07,2170 12202 TCF GETMKS
010267,000195:
010268,000196: # Page 249
010269,000197: # THE OANB SUBROUTINE COMPUTES THE OPTIC AXIS OF THE SIGHTING INSTRUMENT
010270,000198: # FROM AZIMUTH AND ELEVATION INPUT FROM THE ASTRONAUT.
010271,000199:
010272,000200: # INPUT -- AZIMUTH ANGLE IN SINGLE PREC 2'S COMP IN 8D OF JOB VAC
010273,000201: # ELEVATION ANGLE IN SINGLE PREC 2'S COMP IN 9D OF VAC
010274,000202:
010275,000203: # OUTPUT -- OPTIC AXIS IN NB COORDS. IN SCAXIS
010276,000204: # X-PLANE 1/2VEC IN NB COORDS AT 24D OF VAC
010277,000205: # Y-PLANE 1/2VEC IN NB COORDS AT 18D OF VAC
010278,000206:
010279,000207: 05,3402 BANK 05
010280,000208: 04,2000 SETLOC AOTMARK2
010281,000209: 04,2000 BANK
010282,000210:
010283,000211: 04,2536 COUNT* $$/MARK
010284,000212:
010285,000213: 04,2536 44001 OANB SETPD STQ
010286,000214: 04,2537 00001 0
010287,000215: 04,2540 02736 GCTR # STORE RETURN
010288,000216: 04,2541 47135 SLOAD RTB
010289,000217: 04,2542 00012 9D # PICK UP SP ELV
010290,000218: 04,2543 21576 CDULOGIC
010291,000219: 04,2544 71406 PUSH COS
010292,000220: 04,2545 73525 PDDL SIN # 1/2COS(ELV) PD 0-1
010293,000221: 04,2546 77626 STADR
010294,000222: 04,2547 60012 STODL SCAXIS # OAX=1/2SIN(ELV)
010295,000223: 04,2550 00011 8D
010296,000224: 04,2551 77634 RTB
010297,000225: 04,2552 21576 CDULOGIC
010298,000226: 04,2553 71406 PUSH COS
010299,000227: 04,2554 00025 STORE 20D # STORE UYP(Y) 20-21
010300,000228: 04,2555 73525 PDDL SIN # 1/2COS(AZ) PD 2-3
010301,000229: 04,2556 57406 PUSH DCOMP # PUSH 1/2S IN (AZ) 4-5
010302,000230: 04,2557 14027 STODL 22D # STORE UYP(Z) 22-23
010303,000231: 04,2560 24007 LO6ZEROS
010304,000232: 04,2561 14023 STODL 18D # STORE UYP(X) 18-19
010305,000233: 04,2562 72405 DMP SL1
010306,000234: 04,2563 00001 0
010307,000235: 04,2564 17767 STODL SCAXIS +2 # OAY=1/2COS(ELV)SIN(AZ)
010308,000236: 04,2565 72405 DMP SL1 # UP 2-3
010309,000237: 04,2566 77626 STADR # UP 0-1
010310,000238: 04,2567 50006 STOVL SCAXIS +4 # OAZ=1/2COS(ELV)COS(AZ)
010311,000239: 04,2570 00023 18D # LOAD UYP VEC
010312,000240: 04,2571 53435 VXV UNIT
010313,000241: 04,2572 03765 SCAXIS # UXP VEC=UYP X OA
010314,000242: 04,2573 00031 STORE 24D # STORE UXP
010315,000243: 04,2574 77650 GOTO
010316,000244: 04,2575 02736 GCTR
010317,000245: # Page 250
010318,000246: # SURFSTAR COMPUTES A STAR VECTOR IN SM COORDINAGES FOR LUNAR
010319,000247: # SURFACE ALIGNMENT AND EXITS TO AVEIT TO AVERAGE STAR VECTORS.
010320,000248: #
010321,000249: # GIVEN X-MARK PLANE 1/4 VEC IN NB AT 18D OF LOCAL VAC
010322,000250: # Y-MARK PLANE 1/4 VEC IN NB AT 12D OF LOCAL VAC
010323,000251: # CURSOR SP 2COMP AT POSITION 1 OF INDEXED MARKVAC
010324,000252: # SPIRAL SP 2COMP AT POSITION 3 OF INDEXED MARKVAC
010325,000253: # CDUY,Z,X AT POSITIONS 0,2,4 OF INDEXED MARKVAC
010326,000254:
010327,000255: 15,2000 BANK 15
010328,000256: 15,2000 SETLOC P50S
010329,000257: 15,2000 BANK
010330,000258: 15,2000 COUNT* $$/R59
010331,000259:
010332,000260: 15,2000 77773 SURFSTAR VLOAD*
010333,000261: 15,2001 00001 0,1 # PUT X-MARK CDUS IN CDUSPOT FOR TRG*NBSM
010334,000262: 15,2002 00767 STORE CDUSPOT
010335,000263: 15,2003 47133 SLOAD* RTB
010336,000264: 15,2004 00002 1,1 # PICK UP YROT
010337,000265: 15,2005 21576 CDULOGIC
010338,000266: 15,2006 00031 STORE 24D # STORE CURSOR FOR SPIRAL COMP (REVS)
010339,000267: 15,2007 77654 BZE
010340,000268: 15,2010 16171 YZCHK # IF YROT ZERO -- SEE IF SROT ZERO
010341,000269: 15,2011 71406 JUSTZY PUSH COS
010342,000270: 15,2012 73525 PDDL SIN # 1/2COS(YROT) 0-1
010343,000271: 15,2013 65361 VXSC PDDL # UP 0-1 1/8SIN(YROT)UXP 0-5
010344,000272: 15,2014 00023 18D
010345,000273: 15,2015 52361 VXSC VSU # UP 0-5
010346,000274: 15,2016 00015 12D # UYP
010347,000275: 15,2017 47256 UNIT VXV
010348,000276: 15,2020 03765 SCAXIS
010349,000277: 15,2021 41456 UNIT PUSH
010350,000278: 15,2022 47133 SLOAD* RTB
010351,000279: 15,2023 00004 3,1 # PICK UP SPIRAL
010352,000280: 15,2024 21576 CDULOGIC
010353,000281: 15,2025 00033 STORE 26D # STORE SPIRAL (REVS)
010354,000282: 15,2026 43225 DSU DAD
010355,000283: 15,2027 00031 24D
010356,000284: 15,2030 32047 ABOUTONE
010357,000285: 15,2031 77605 DMP
010358,000286: 15,2032 32466 DP1/12
010359,000287: 15,2033 00033 STORE 26D # SEP=(360 + SPIRAL -CURSOR)/12
010360,000288: 15,2034 74356 SIN VXSC # UP 0-5
010361,000289: 15,2035 65372 VSL1 PDDL # 1/2SIN(SEP)(UPP X OA) 0-5
010362,000290: 15,2036 00033 26D
010363,000291: 15,2037 74346 COS VXSC
010364,000292: 15,2040 03765 SCAXIS
010365,000293: 15,2041 53372 VSL1 VAD # UP 0-5
010366,000294: 15,2042 45056 JUSTOA UNIT CALL
010367,000295: 15,2043 47664 TRG*NBSM
010368,000296: 15,2044 34031 STCALL 24D # STAR VEC IN SM
010369,000297: 15,2045 16276 AVEIT # GO AVERAGE
010370,000298: # Page 251
010371,000299: 15,2046 37777 37775 ABOUTONE 2DEC .99999999
010372,000300:
010373,000301: 15,2050 15,2465 DP1/12 EQUALS DEG30 # .08333333
010374,000302: 07,2171 BANK 7
010375,000303: 07,2000 SETLOC AOTMARK1
010376,000304: 07,2000 BANK
010377,000305: 07,2171 COUNT* $$/MARK
010378,000306: 07,2171 53133 YZCHK SLOAD* BZE # YROT ZERO AND IF SROT ZERO FORCE STAR
010379,000307: 07,2172 00004 3,1 # ALONG OPTIC AXIS
010380,000308: 07,2173 16177 YSZERO
010381,000309: 07,2174 52145 DLOAD GOTO
010382,000310: 07,2175 00031 24D
010383,000311: 07,2176 32011 JUSTZY # SROT NOT ZERO -- CONTINUE NORMALLY
010384,000312: 07,2177 52175 YSZERO VLOAD GOTO
010385,000313: 07,2200 03765 SCAXIS
010386,000314: 07,2201 32042 JUSTOA
010387,000315:
010388,000316: # Page 252
010389,000317: # THE GETMKS ROUTINE INITIALIZES THE SIGHTING MARK PROCEDURE
010390,000318:
010391,000319: 07,2202 34755 GETMKS CAF ZERO # INITIALIZE MARK ID REGISTER AND MARK CNT
010392,000320: 07,2203 55551 TS XYMARK
010393,000321: 07,2204 55550 TS MARKCNTR
010394,000322: 07,2205 35004 CAF LOW9 # ZERO BITS10 TO 15 RETAINING MKVAC ADR
010395,000323: 07,2206 71312 MASK MARKSTAT
010396,000324: 07,2207 55312 TS MARKSTAT
010397,000325: 07,2210 32621 CAF MKVB54* # DISPLAY VB54 INITIALLY
010398,000326: 07,2211 04616 PASTIT TC BANKCALL
010399,000327: 07,2212 20345 CADR GOMARK4
010400,000328:
010401,000329: 07,2213 12060 TCF KILLAOT # V34 -- DOES GOTOP00H
010402,000330: 07,2214 12216 TCF MARKCHEX # VB33 -- PROCEED, GOT MARKS, COMPUTE LOS
010403,000331: 07,2215 12063 TCF GETDAT # ENTER -- RECYCLE TO V01N71
010404,000332:
010405,000333: 07,2216 41312 MARKCHEX CS MARKSTAT # SET BIT12 TO DISCOURAGE MARKRUPT
010406,000334: 07,2217 74740 MASK BIT12
010407,000335: 07,2220 27312 ADS MARKSTAT
010408,000336: 07,2221 75004 MASK LOW9
010409,000337: 07,2222 55551 TS XYMARK # JAM MARK VAC ADR IN XYMARK FOR AVESTAR
010410,000338: 07,2223 34755 CAF ZERO
010411,000339: 07,2224 55552 TS MKDEX # SET MKDEX ZERO FOR LOS VEC CNTR
010412,000340: 07,2225 31312 CA MARKSTAT
010413,000341: 07,2226 75015 MASK PRIO3 # SEE IF LAST MK PART COMPLETE
010414,000342: 07,2227 54001 TS L
010415,000343: 07,2230 35015 CAF PRIO3 # BITS10 AND 11
010416,000344: 07,2231 00006 EXTEND
010417,000345: 07,2232 06001 RXOR LCHAN
010418,000346: 07,2233 00006 EXTEND
010419,000347: 07,2234 12241 BZF AVESTAR # LAST PAIR COMPLETE -- TO COMPUTE LOS
010420,000348: 07,2235 11550 CNTCHK CCS MARKCNTR # NO PAIR SHOWING -- SEE IF PAIR IN HOLD
010421,000349: 07,2236 12240 TCF +2 # PAIR BURIED -- DECREMENT COUNTER
010422,000350: 07,2237 12325 TCF MKALARM # NO PAIR -- ALARM
010423,000351: 07,2240 55550 TS MARKCNTR # STORE DECREMENTED COUNTER
010424,000352:
010425,000353: 07,2241 34740 AVESTAR CAF BIT12 # INITIALIZE MKDEX FOR STAR LOS COUNTER
010426,000354: 07,2242 27552 ADS MKDEX # MKDEX WAS INITIALIZED ZERO IN MARKCHEX
010427,000355: 07,2243 41550 CS MARKCNTR
010428,000356: 07,2244 00006 EXTEND
010429,000357: 07,2245 76242 MP SIX # GET C(L) = -6 MARKCNTR
010430,000358: 07,2246 41551 CS XYMARK
010431,000359: 07,2247 60001 AD L # ADD -- MARK VAC ADR SET IN MARKCHEX
010432,000360: 07,2250 50120 INDEX FIXLOC
010433,000361: 07,2251 54046 TS X1 # JAM -- CDU ADR OF X-MARK IN X1
010434,000362:
010435,000363: 07,2252 30120 CA FIXLOC # SET PD POINTER TO ZERO
010436,000364: 07,2253 54166 TS PUSHLOC
010437,000365:
010438,000366: 07,2254 06037 TC INTPRET
010439,000367: # Page 253
010440,000368: 07,2255 76614 BON VLOAD*
010441,000369: 07,2256 04307 SURFFLAG # IF ON SURFACE COMPUTE VEC AT SURFSTAR
010442,000370: 07,2257 32000 SURFSTAR
010443,000371: 07,2260 00002 1,1 # PUT Y-MARK CDUS IN CDUSPOT FOR TRG*NBSM
010444,000372: 07,2261 24767 STOVL CDUSPOT
010445,000373: 07,2262 00015 12D # LOAD Y-PLANE VECTOR IN NG
010446,000374: 07,2263 77624 CALL
010447,000375: 07,2264 47664 TRG*NBSM # CONVERT IT TO STABLE MEMBER
010448,000376: 07,2265 76606 PUSH VLOAD*
010449,000377: 07,2266 00001 0,1 # PUT X-MARK CDUS IN CDUSPOT FOR TRG*NBSM
010450,000378: 07,2267 24767 STOVL CDUSPOT
010451,000379: 07,2270 00023 18D # LOAD X-PLANE VECTOR IN NB
010452,000380: 07,2271 77624 CALL
010453,000381: 07,2272 47664 TRG*NBSM # CONVERT IT TO STABLE-MEMBER
010454,000382: 07,2273 53435 VXV UNIT # UNIT(XPSM * YPSM)
010455,000383: 07,2274 77626 STADR
010456,000384: 07,2275 77746 STORE 24D
010457,000385:
010458,000386: 07,2276 63335 AVEIT SLOAD PDVL # N(NUMBER OF VECS) IN 0-1
010459,000387: 07,2277 03553 MKDEX
010460,000388: 07,2300 00031 24D # LOAD CURRENT VECTOR
010461,000389: 07,2301 70322 VSR3 V/SC
010462,000390: 07,2302 00001 0
010463,000391: 07,2303 14031 STODL 24D # VEC/N
010464,000392: 07,2304 00001 0
010465,000393: 07,2305 56225 DSU DDV
010466,000394: 07,2306 16623 DP1/8 # (N-1)/N
010467,000395: 07,2307 53361 VXSC VAD
010468,000396: 07,2310 02715 STARAD +6 # ADD VEC TO PREVIOUSLY AVERAGED VECTOR
010469,000397: 07,2311 00031 24D # (N-1)/N AVESTVEC + VEC/N
010470,000398: 07,2312 02715 STORE STARAD +6 # AVERAGE STAR VECTOR
010471,000399: 07,2313 02767 STORE STARSAV2
010472,000400: 07,2314 77776 EXIT
010473,000401: 07,2315 11550 CCS MARKCNTR # SEE IF ANOTHER MARK PAIR IN MKVAC
010474,000402: 07,2316 12240 TCF AVESTAR -1 # THERE IS -- GO GET IT -- DECREMENT COUNTER
010475,000403: 07,2317 34756 ENDMARKS CAF FIVE # NO MORE MARKS -- TERMINATE AOTMARK
010476,000404: 07,2320 00004 INHINT
010477,000405: 07,2321 05203 TC WAITLIST
010478,000406: 07,2322 E7,1551 EBANK= XYMARK
010479,000407: 07,2322 02047 16067 2CADR MKRELEAS
010480,000408:
010481,000409: 07,2324 05472 TC ENDMARK
010482,000410:
010483,000411: 07,2325 05567 MKALARM TC ALARM # NOT A PAIR TO PROCESS -- DO GETMKS
010484,000412: 07,2326 00111 OCT 111
010485,000413: 07,2327 12202 TCF GETMKS
010486,000414:
010487,000415: 07,2330 00307 V01N71 VN 171
010488,000416: 07,2331 01527 V06N87* VN 687
010489,000417:
010490,000418: # Page 254
010491,000419: # MARKRUPT IS ENTERED FROM INTERRUPT LEAD-INS AND PROCESSES CHANNEL 16
010492,000420: # CAUSED BY X,Y MARK OR MARK REJECT OR BY THE RATE OF DESCENT SWITCH
010493,000421:
010494,000422: 07,2332 54016 MARKRUPT TS BANKRUPT
010495,000423: 07,2333 30033 CA CDUY # STORE CDUS AND TIME NOW -- THEN SEE IF
010496,000424: 07,2334 54063 TS ITEMP3 # WE NEED THEM
010497,000425: 07,2335 30034 CA CDUZ
010498,000426: 07,2336 54064 TS ITEMP4
010499,000427: 07,2337 30032 CA CDUX
010500,000428: 07,2340 54065 TS ITEMP5
010501,000429: 07,2341 00006 EXTEND
010502,000430: 07,2342 30025 DCA TIME2
010503,000431: 07,2343 52062 DXCH ITEMP1
010504,000432: 07,2344 56002 XCH Q
010505,000433: 07,2345 54012 TS QRUPT
010506,000434:
010507,000435: 07,2346 32624 CAF OCT34 # SEE IF X OR Y MARK OR MKREJECT
010508,000436: 07,2347 00006 EXTEND
010509,000437: 07,2350 02016 RAND NAVKEYIN
010510,000438: 07,2351 10000 CCS A
010511,000439: 07,2352 12354 TCF +2 # ITS A LIVE ONE -- SEE IF ITS WANTED
010512,000440: 07,2353 12404 TCF SOMEKEY # ITS SOME OTHER KEY
010513,000441:
010514,000442: 07,2354 34740 CAF BIT12 # ARE WE ASKING FOR A MARK
010515,000443: 07,2355 71312 MASK MARKSTAT
010516,000444: 07,2356 10000 CCS A
010517,000445: 07,2357 05270 TC RESUME # DON'T WANT MARK OR MKREJECT -- DO NOTHING
010518,000446:
010519,000447: 07,2360 11312 CCS MARKSTAT # ARE MARKS BEING ACCEPTED
010520,000448: 07,2361 12365 TCF FINDKEY # THEY ARE -- WHICH ONE IS IT
010521,000449: 07,2362 05567 TC ALARM # MARKS NOT BEING ACCEPTED -- DO ALARM
010522,000450: 07,2363 00112 OCT 112
010523,000451: 07,2364 05270 TC RESUME
010524,000452:
010525,000453: 07,2365 34747 FINDKEY CAF BIT5 # SEE IF MARK REJECT.
010526,000454: 07,2366 00006 EXTEND
010527,000455: 07,2367 02016 RAND NAVKEYIN
010528,000456: 07,2370 10000 CCS A
010529,000457: 07,2371 12461 TCF MKREJ # IT'S A MARK REJECT
010530,000458:
010531,000459: 07,2372 34750 CAF BIT4 # SEE IF Y MARK
010532,000460: 07,2373 00006 EXTEND
010533,000461: 07,2374 02016 RAND NAVKEYIN
010534,000462: 07,2375 10000 CCS A
010535,000463:
010536,000464: 07,2376 12422 TCF YMKRUPT # IT'S A Y MARK
010537,000465:
010538,000466: 07,2377 34751 CAF BIT3 # SEE IF X MARK
010539,000467: 07,2400 00006 EXTEND
010540,000468: 07,2401 02016 RAND NAVKEYIN
010541,000469:
010542,000470: # Page 255
010543,000471: 07,2402 10000 CCS A
010544,000472: 07,2403 12416 TCF XMKRUPT # IT'S A X MARK
010545,000473:
010546,000474: 07,2404 34776 SOMEKEY CAF OCT140 # NOT MARK OR MKREJECT -- SEE IF DESCENT BITS
010547,000475: 07,2405 00006 EXTEND
010548,000476: 07,2406 02016 RAND NAVKEYIN
010549,000477: 07,2407 00006 EXTEND
010550,000478: 07,2410 12413 BZF +3 # IF NO BITS
010551,000479:
010552,000480: 07,2411 04635 TC POSTJUMP # IF DESCENT BITS
010553,000481: 07,2412 40115 CADR DESCBITS
010554,000482:
010555,000483: 07,2413 05567 TC ALARM # NO INBITS IN CHANNEL 16.
010556,000484: 07,2414 00113 OCT 113
010557,000485:
010558,000486: 07,2415 05270 TC RESUME
010559,000487:
010560,000488: 07,2416 34755 XMKRUPT CAF ZERO
010561,000489: 07,2417 54070 TS RUPTREG1 # SET X MARK STORE INDEX TO ZERO
010562,000490: 07,2420 34742 CAF BIT10
010563,000491: 07,2421 12425 TCF +4
010564,000492: 07,2422 34753 YMKRUPT CAF ONE
010565,000493: 07,2423 54070 TS RUPTREG1 # SET Y MARK STORE INDEX TO ONE
010566,000494: 07,2424 34741 CAF BIT11
010567,000495: 07,2425 55551 TS XYMARK # SET MARK IDENTIFICATION
010568,000496:
010569,000497: 07,2426 02514 TC MARKTYPE # SEE IF SURFACE MARK
010570,000498: 07,2427 12521 TCF SURFSTOR # SURFACE MARK -- JUST STORE CDUS
010571,000499:
010572,000500: 07,2430 34736 CAF BIT14 # GOT A MARK -- SEE IF MARK PARI MADE
010573,000501: 07,2431 71312 MASK MARKSTAT
010574,000502: 07,2432 00006 EXTEND
010575,000503: 07,2433 12444 BZF VERIFYMK # NOT A PAIR, NORMAL PROCEDURE
010576,000504: 07,2434 41550 CS MARKCNTR # GO A PAIR, SEE IF ANOTHER CAN BE MADE
010577,000505: 07,2435 64751 AD FOUR # IF SO, INCREMENT POINTER, CLEAR BITS 10,11
010578,000506: 07,2436 00006 EXTEND
010579,000507: 07,2437 62454 BZMF 5MKALARM # HAVE FIVE MARK PAIRS -- DON'T ALLOW MARK
010580,000508: 07,2440 25550 INCR MARKCNTR # OK FOR ANOTHER PAIR, INCR POINTER
010581,000509: 07,2441 47711 CS PRIO23 # CLEAR BITS 10,11,14 FOR NEXT PAIR
010582,000510: 07,2442 71312 MASK MARKSTAT
010583,000511: 07,2443 55312 TS MARKSTAT
010584,000512:
010585,000513: 07,2444 31551 VERIFYMK CA XYMARK
010586,000514: 07,2445 71312 MASK MARKSTAT
010587,000515: 07,2446 10000 CCS A
010588,000516: 07,2447 12451 TCF +2 # THIS MARK NOT DESIRED
010589,000517: 07,2450 12526 TCF VACSTOR # MARK DESIRED -- STORE CDUS
010590,000518: 07,2451 05567 TC ALARM
010591,000519: 07,2452 00114 OCT 114
010592,000520: 07,2453 05270 TC RESUME # RESUME -- DISPLAY UNCHANGED -- WAIT FOR ACTION
010593,000521:
010594,000522: # Page 256
010595,000523: 07,2454 05567 5MKALARM TC ALARM # ATTEMPTING TO MAKE MORE THAN 5 MK PAIRS
010596,000524: 07,2455 00107 OCT 107
010597,000525: 07,2456 02514 TC MARKTYPE # SEE IF SURFACE MARK
010598,000526: 07,2457 12627 TCF DSPV6N79 # IT IS
010599,000527: 07,2460 05270 TC RESUME # DON'T CHANGE DISPLAY -- DO NOTHING
010600,000528:
010601,000529: # Page 257
010602,000530: 07,2461 02514 MKREJ TC MARKTYPE # SEE IF SURFACE
010603,000531: 07,2462 12507 TCF SURFREJ # SURFACE -- JUST CHECK MARK COUNTER
010604,000532:
010605,000533: 07,2463 35015 CAF PRIO3 # INFLIGHT -- SEE IF MARKS MADE
010606,000534: 07,2464 71312 MASK MARKSTAT
010607,000535: 07,2465 10000 CCS A
010608,000536: 07,2466 12472 TCF REJECT # MARKS MADE -- REJECT ONE
010609,000537: 07,2467 05567 REJALM TC ALARM # NO MARK TO REJECT -- BAD PROCEDURE -- ALARM
010610,000538: 07,2470 00115 OCT 115
010611,000539: 07,2471 05270 TC RESUME # DESIRED ACTION DISPLAYED
010612,000540:
010613,000541: 07,2472 44355 REJECT CS PRIO30 # ZERO BIT14, SHOW REJ., SEE IF MARK SINCE
010614,000542: 07,2473 71312 MASK MARKSTAT # LAST REJECT
010615,000543: 07,2474 64737 AD BIT13
010616,000544: 07,2475 57312 XCH MARKSTAT
010617,000545: 07,2476 74737 MASK BIT13
010618,000546: 07,2477 10000 CCS A
010619,000547: 07,2500 12505 TCF REJECT2 # ANOTHER REJECT SET BIT 10+11 TO ZERO
010620,000548:
010621,000549: 07,2501 41551 CS XYMARK # MARK MADE SINCE REJECT -- REJECT MARK IN 1D
010622,000550: 07,2502 71312 RENEWMK MASK MARKSTAT
010623,000551: 07,2503 55312 TS MARKSTAT
010624,000552: 07,2504 12577 TCF REMARK # GO REQUEST NEW MARK ACTION
010625,000553:
010626,000554: 07,2505 45015 REJECT2 CS PRIO3 # ON SECOND REJECT -- DISPLAY VB53 AGAIN
010627,000555: 07,2506 12502 TCF RENEWMK
010628,000556:
010629,000557: 07,2507 11550 SURFREJ CCS MARKCNTR # IF MARK DECREMENT COUNTER
010630,000558: 07,2510 12512 TCF +2
010631,000559: 07,2511 12467 TCF REJALM # NO MARKS TO REJECT -- ALARM
010632,000560: 07,2512 55550 TS MARKCNTR
010633,000561: 07,2513 05270 TC RESUME
010634,000562:
010635,000563: # Page 258
010636,000564: # MARKTYPE TESTS TO SEE IF LEM ON LUNAR SURFACE. IF IT IS RETURN TO LOC+1
010637,000565:
010638,000566: 07,2514 40104 MARKTYPE CS FLAGWRD8 # SURFFLAG ******** TEMPORARY ******
010639,000567: 07,2515 74744 MASK BIT8
010640,000568: 07,2516 10000 CCS A
010641,000569: 07,2517 24002 INCR Q # IF SURFACE MARK RETURN TO LOC +1
010642,000570: 07,2520 00002 TC Q # IF INFLIGHT MARK RETURN TO LOC +2
010643,000571:
010644,000572: 07,2521 34755 SURFSTOR CAF ZERO # FOR SURFACE MARK ZERO MARK KIND INDEX
010645,000573: 07,2522 54070 TS RUPTREG1
010646,000574:
010647,000575: 07,2523 41312 CS MARKSTAT # SET BITS10,11 TO SHOW SURFACE MARK
010648,000576: 07,2524 75015 MASK PRIO3 # FOR MARKCHEX
010649,000577: 07,2525 27312 ADS MARKSTAT
010650,000578:
010651,000579: 07,2526 35004 VACSTOR CAF LOW9
010652,000580: 07,2527 71312 MASK MARKSTAT # STORE MARK VAC ADR IN RUPTREG2
010653,000581: 07,2530 54071 TS RUPTREG2
010654,000582: 07,2531 00006 EXTEND
010655,000583: 07,2532 30062 DCA ITEMP1 # PICK UP MARKTIME
010656,000584: 07,2533 53562 DXCH TSIGHT # STORE LAST MARK TIME
010657,000585: 07,2534 31550 CA MARKCNTR # 6 X MARKCNTR FOR STORE INDEX
010658,000586: 07,2535 00006 EXTEND
010659,000587: 07,2536 76242 MP SIX
010660,000588: 07,2537 56001 XCH L # GET INDEX FROM LOW ORDER PART
010661,000589: 07,2540 60071 AD RUPTREG2 # SET CDU STORE INDEX TO MARKVAC
010662,000590: 07,2541 26070 ADS RUPTREG1 # INCREMENT VAC PICKUP BY MARK FOR FLIGHT
010663,000591: 07,2542 55552 TS MKDEX # STORE HERE IN CASE OF SURFACE MARK
010664,000592: 07,2543 30063 CA ITEMP3
010665,000593: 07,2544 50070 INDEX RUPTREG1
010666,000594: 07,2545 54000 TS 0 # STORE CDUY
010667,000595: 07,2546 30064 CA ITEMP4
010668,000596: 07,2547 50070 INDEX RUPTREG1
010669,000597: 07,2550 54002 TS 2 # STORE CDUZ
010670,000598: 07,2551 30065 CA ITEMP5
010671,000599: 07,2552 50070 INDEX RUPTREG1
010672,000600: 07,2553 54004 TS 4 # STORE CDUX
010673,000601: 07,2554 02514 TC MARKTYPE # IF SURFACE MARK -- JUST DO SURFJOB
010674,000602: 07,2555 12604 TCF SURFJOB
010675,000603:
010676,000604: 07,2556 34737 CAF BIT13 # CLEAR BIT13 TO SHOW MARK MADE
010677,000605: 07,2557 61551 AD XYMARK # SET MARK ID IN MARKSTAT
010678,000606: 07,2560 40000 COM
010679,000607: 07,2561 71312 MASK MARKSTAT
010680,000608: 07,2562 61551 AD XYMARK
010681,000609: 07,2563 55312 TS MARKSTAT
010682,000610: 07,2564 75015 MASK PRIO3 # SEE IF X, Y MARK MADE
010683,000611: 07,2565 54001 TS L
010684,000612:
010685,000613: # Page 259
010686,000614: 07,2566 35015 CA PRIO3
010687,000615: 07,2567 00006 EXTEND
010688,000616: 07,2570 06001 RXOR LCHAN
010689,000617: 07,2571 10000 CCS A
010690,000618: 07,2572 12577 TCF REMARK # NOT PAIR YET, DISPLAY MARK ACTION
010691,000619: 07,2573 41312 CS MARKSTAT # MARK PAIR COMPLETE -- SET BIT14
010692,000620: 07,2574 74736 MASK BIT14
010693,000621: 07,2575 27312 ADS MARKSTAT
010694,000622: 07,2576 12577 TCF REMARK # GO DISPLAY V54
010695,000623:
010696,000624: # Page 260
010697,000625: 07,2577 35015 REMARK CAF PRIO3 # BITS 10 AND 11
010698,000626: 07,2600 71312 MASK MARKSTAT
010699,000627: 07,2601 00006 EXTEND
010700,000628: 07,2602 74746 MP BIT6 # SHIFT MARK IDS TO BE 0 TO 3 FOR INDEX
010701,000629: 07,2603 55552 TS MKDEX # STORE VERB INDEX
010702,000630: 07,2604 35025 SURFJOB CAF PRIO15
010703,000631: 07,2605 05072 TC NOVAC # ENTER JOB TO CHANGE DISPLAY TO
010704,000632: 07,2606 E7,1551 EBANK= XYMARK # REQUEST NEXT ACTION
010705,000633: 07,2606 02611 16067 2CADR CHANGEVB
010706,000634:
010707,000635: 07,2610 05270 TC RESUME
010708,000636:
010709,000637: 07,2611 02514 CHANGEVB TC MARKTYPE
010710,000638: 07,2612 12627 TCF DSPV6N79 # SURFACE -- DISPLAY V 06 N 79
010711,000639: 07,2613 51552 INDEX MKDEX # INFLIGHT -- PICK UP MARK VB INDEX
010712,000640: 07,2614 32616 CAF MKVB54
010713,000641: 07,2615 02211 TC PASTIT # PASTE UP NEXT MK VERB DISPLAY
010714,000642:
010715,000643: # THE FOUR MKVBS ARE INDEXED -- THEIR ORDER CANNOT BE CHANGED
010716,000644:
010717,000645: 07,2616 15507 MKVB54 VN 5471 # MAKE X OR Y MARK
010718,000646: 07,2617 15307 MKVB53 VN 5371 # MAKE Y MARK
010719,000647: 07,2620 15107 MKVB52 VN 5271 # MAKE X MARK
010720,000648: 07,2621 15507 MKVB54* VN 5471 # MAKE X OR Y MARK
010721,000649: 07,2622 04000 00000 DP1/8 2DEC .125
010722,000650:
010723,000651: 07,2624 00034 OCT34 OCT 34
010724,000652: 07,2625 01507 V06N71 VN 671
010725,000653: 07,2626 01517 V06N79* VN 679
010726,000654:
010727,000655: # Page 261
010728,000656: # ROUTINE TO REQUEST CURSOR AND SPIRAL MEASUREMENTS
010729,000657: 07,2627 COUNT* $$/R59
010730,000658:
010731,000659: 07,2627 32626 DSPV6N79 CAF V06N79* # CURSOR -- SPIRAL DISPLAY
010732,000660: 07,2630 04616 TC BANKCALL
010733,000661: 07,2631 20334 CADR GOMARKF
010734,000662:
010735,000663: 07,2632 12060 TCF KILLAOT # V34 -- DOES GOTOP00H
010736,000664: 07,2633 12641 TCF SURFEND # V33 -- PROCEED, END MARKING
010737,000665: 07,2634 34746 CAF BIT6 # IF V32(OCT40) IN MPAC DO RECYCLE
010738,000666: 07,2635 70154 MASK MPAC # OTHERWISE IT IS LOAD VB ENTER SO
010739,000667: 07,2636 10000 CCS A # RE-DISPLAY V06N79
010740,000668: 07,2637 12645 TCF SURFAGAN # VB32 -- RECYCLE
010741,000669: 07,2640 12627 TCF DSPV6N79 # ENTER
010742,000670:
010743,000671: 07,2641 44736 SURFEND CS BIT14 # SET BIT14 TO SHOW MARK END
010744,000672: 07,2642 71312 MASK MARKSTAT
010745,000673: 07,2643 64736 AD BIT14
010746,000674: 07,2644 55312 TS MARKSTAT
010747,000675:
010748,000676: 07,2645 31236 SURFAGAN CA CURSOR
010749,000677: 07,2646 51552 INDEX MKDEX # HOLDS VAC AREA POINTER FOR SURF MARKING
010750,000678: 07,2647 54001 TS 1 # STORE CURSOR SP 2COMP
010751,000679: 07,2650 31240 CA SPIRAL
010752,000680: 07,2651 51552 INDEX MKDEX
010753,000681: 07,2652 54003 TS 3 # STORE SPIRAL
010754,000682:
010755,000683: 07,2653 41312 CS MARKSTAT # IF BIT 14 SET -- END MARKING
010756,000684: 07,2654 74736 MASK BIT14
010757,000685: 07,2655 00006 EXTEND
010758,000686: 07,2656 12216 BZF MARKCHEX
010759,000687: 07,2657 31550 CA MARKCNTR # THIS IS RECYCLE -- SEE IF 5 MARKS ALREADY
010760,000688: 07,2660 64753 AD ONE
010761,000689: 07,2661 40000 COM
010762,000690: 07,2662 64756 AD FIVE
010763,000691: 07,2663 00006 EXTEND
010764,000692: 07,2664 62454 BZMF 5MKALARM # CAN'T RECYCLE -- TOO MANY MARKS -- ALARM
010765,000693: 07,2665 25550 INCR MARKCNTR # OF FOR RECYCLE -- INCR COUNTER
010766,000694: 07,2666 12205 TCF GETMKS +3 # GO DISPLAY MARK VB
010767,000695:
End of include-file AOTMARK.agc. Parent file is MAIN.agc