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