Source Code
|
These source-code files are part of a reconstructed copy of Luminary 163, the
first (unflown) release of the Apollo 14 Lunar Module (LM) Apollo Guidance
Computer (AGC) software.
The reconstruction began with reconstructed source code for Luminary 173. Changes between revision 163 and 173 were backed out, as described by Luminary memos 157 and 158. The reconstruction was verified by matching memory-bank checksums to those listed in drawing 2021152N. Note that page numbers in the reconstructed code match those for the baseline log section mentioned in each file's changelog; the page numbers for a real Luminary 163 listing would be different. Comments from the original source code are prefixed with a single '#' symbol, whereas comments added later are prefixed by "##" or "###". Report any errors noted by creating an issue report at the Virtual AGC project's GitHub repository. |
010630,000002: ## Copyright: Public domain.
010631,000003: ## Filename: AOTMARK.agc
010632,000004: ## Purpose: A section of Luminary revision 163.
010633,000005: ## It is part of the reconstructed source code for the first
010634,000006: ## (unflown) release of the flight software for the Lunar
010635,000007: ## Module's (LM) Apollo Guidance Computer (AGC) for Apollo 14.
010636,000008: ## The code has been recreated from a reconstructed copy of
010637,000009: ## Luminary 173, as well as Luminary memos 157 amd 158.
010638,000010: ## It has been adapted such that the resulting bugger words
010639,000011: ## exactly match those specified for Luminary 163 in NASA
010640,000012: ## drawing 2021152N, which gives relatively high confidence
010641,000013: ## that the reconstruction is correct.
010642,000014: ## Reference: pp. 251-267
010643,000015: ## Assembler: yaYUL
010644,000016: ## Contact: Ron Burkey <info@sandroid.org>.
010645,000017: ## Website: www.ibiblio.org/apollo/index.html
010646,000018: ## Mod history: 2019-08-21 MAS Created from Luminary 173.
010647,000019:
|
Page 251 |
010649,000021: 12,2000 BANK 12
010650,000022: 07,2000 SETLOC AOTMARK1
010651,000023: 07,2000 BANK
010652,000024:
010653,000025: 07,2000 E7,1551 EBANK= XYMARK
010654,000026: 07,2000 COUNT* $$/MARK
010655,000027:
010656,000028: 07,2000 00004 AOTMARK INHINT
010657,000029: 07,2001 11307 CCS MARKSTAT # SEE IF AOTMARK BUSY
010658,000030: 07,2002 02004 TC +2 # MARK SYSTEM BUSY-DO ALARM
010659,000031: 07,2003 02006 TC EXTVBCHK
010660,000032: 07,2004 05653 TC POODOO
010661,000033: 07,2005 20105 OCT 20105
010662,000034:
010663,000035: 07,2006 36245 EXTVBCHK CAF SIX # SEE IF EXT. VERB WORKING
010664,000036: 07,2007 71043 MASK EXTVBACT
010665,000037: 07,2010 10000 CCS A
010666,000038: 07,2011 12044 TCF MKABORT # YES-ABORT
010667,000039:
010668,000040: 07,2012 34752 CAF BIT2 # NO-DISALLOW SOME EXTENDED VERB ACTION
010669,000041: 07,2013 27043 ADS EXTVBACT # BIT2 RESET IN ENDMARK
010670,000042: 07,2014 10400 MKVAC CCS VAC1USE # LOOK FOR A VAC AREA-DO ABORT IF
010671,000043: 07,2015 12031 TCF MKVACFND # NONE AVAILABLE
010672,000044: 07,2016 10454 CCS VAC2USE
010673,000045: 07,2017 12031 TCF MKVACFND
010674,000046: 07,2020 10530 CCS VAC3USE
010675,000047: 07,2021 12031 TCF MKVACFND
010676,000048: 07,2022 10604 CCS VAC4USE
010677,000049: 07,2023 12031 TCF MKVACFND
010678,000050: 07,2024 10660 CCS VAC5USE
010679,000051: 07,2025 12031 TCF MKVACFND
010680,000052: 07,2026 52134 DXCH BUF2
010681,000053: 07,2027 05717 TC BAILOUT1 # ALL VAC AREAS OCCUPIED - ABORT.
010682,000054: 07,2030 31207 OCT 31207
010683,000055:
010684,000056: 07,2031 64752 MKVACFND AD TWO
010685,000057: 07,2032 55307 TS MARKSTAT # STORE VAC ADR IN LOW 9 OF MARKSTAT
010686,000058:
010687,000059: 07,2033 34755 CAF ZERO
010688,000060: 07,2034 51307 INDEX MARKSTAT
010689,000061: 07,2035 53777 TS 0 -1 # ZERO IN VACUSE REG TO SHOW VAC OCCUPIED
010690,000062:
010691,000063: 07,2036 35025 CAF PRIO15
010692,000064: 07,2037 05105 TC FINDVAC # SET UP JOB FOR GETDAT
010693,000065: 07,2040 E7,1551 EBANK= XYMARK
010694,000066: 07,2040 02063 16067 2CADR GETDAT
010695,000067:
010696,000068:
010697,000069: 07,2042 00003 RELINT
010698,000070: 07,2043 14631 TCF SWRETURN
010699,000071:
|
Page 252 |
010701,000073: 07,2044 52134 MKABORT DXCH BUF2
010702,000074: 07,2045 05717 TC BAILOUT1 # CONFLICT WITH EXTENDED VERB
010703,000075: 07,2046 31211 OCT 31211
010704,000076:
010705,000077: 07,2047 34755 MKRELEAS CAF ZERO
010706,000078: 07,2050 57307 XCH MARKSTAT # SET MARKSTAT TO ZERO
010707,000079: 07,2051 75004 MASK LOW9 # PICK UP VAC AREA ADR
010708,000080: 07,2052 10000 CCS A
010709,000081: 07,2053 50000 INDEX A
010710,000082: 07,2054 54000 TS 0 # SHOW MKVAC AREA AVAILABLE
010711,000083: 07,2055 34753 CAF ONE
010712,000084: 07,2056 04674 TC IBNKCALL
010713,000085: 07,2057 17671 CADR GOODEND # GO WAKE UP CALLING JOB
010714,000086:
|
Page 253 |
010716,000088: 07,2060 34755 KILLAOT CAF ZERO
010717,000089: 07,2061 55043 TS EXTVBACT # TERMINATE AOTMARK-ALLOW EXT VERB
010718,000090: 07,2062 06001 TC GOTOPOOH
010719,000091: 07,2063 41307 GETDAT CS MARKSTAT # SET BIT12 TO DISCOURAGE MARKRUPT
010720,000092: 07,2064 74740 MASK BIT12 # BIT12 RESET AT GETMARK
010721,000093: 07,2065 27307 ADS MARKSTAT
010722,000094:
010723,000095: 07,2066 32330 CAF V01N71 # DISPLAY DETENT AND STAR CODE
010724,000096: 07,2067 04616 TC BANKCALL
010725,000097: 07,2070 20334 CADR GOMARKF
010726,000098:
010727,000099: 07,2071 12060 TCF KILLAOT # V34-DOES GOTOPOOH
010728,000100: 07,2072 12074 TCF DODAT # V33-PROCEED-USE THIS STAR FOR MARKS
010729,000101: 07,2073 12063 ENTERDAT TCF GETDAT # ENTER-REDISPLAY STAR CODE
010730,000102:
010731,000103: 07,2074 37747 DODAT CAF HIGH9 # PICK DETENT CODE FROM BITS7-9 OF AOTCODE
010732,000104: 07,2075 70734 MASK AOTCODE # AND SEE IF CODE 1 TO 6
010733,000105: 07,2076 00006 EXTEND
010734,000106: 07,2077 74743 MP BIT9
010735,000107: 07,2100 55551 TS XYMARK # STORE DETENT
010736,000108:
010737,000109: 07,2101 00006 EXTEND
010738,000110: 07,2102 62063 BZMF GETDAT # COAS CALIBRATION CODE-NO GOOD HERE
010739,000111:
010740,000112: 07,2103 65661 AD NEG7 # SEE IF DETENT 7 FOR COAS
010741,000113: 07,2104 00006 EXTEND
010742,000114: 07,2105 12107 BZF CODE7
010743,000115:
010744,000116: 07,2106 12123 TCF CODE1TO6
010745,000117:
010746,000118: 07,2107 32331 CODE7 CAF V06N87* # CODE 7, COAS SIGHTING, GET OPTIC AXIS
010747,000119: 07,2110 04616 TC BANKCALL # AZ AND EL OF SIGHTING DEVICE FROM ASTRO
010748,000120: 07,2111 20334 CADR GOMARKF
010749,000121:
010750,000122: 07,2112 12060 TCF KILLAOT # V34-DOES GOTOPOOH
010751,000123: 07,2113 12115 TCF +2 # PROCEED
010752,000124: 07,2114 12107 TCF CODE7 # ON ENTER, RECYCLE
010753,000125: 07,2115 00006 EXTEND
010754,000126: 07,2116 31345 DCA AZ # PICK UP AZ AND EL IN SP 2S COMP
010755,000127: 07,2117 50120 INDEX FIXLOC
010756,000128: 07,2120 52011 DXCH 8D # STORE IN 8D AND 9D OF LOCAL VAC
010757,000129: 07,2121 34755 CAF ZERO # BACKUP SYSTEM TO BE USED
010758,000130: 07,2122 12137 TCF COASCODE # ZERO APPARENT ROTATION
010759,000131:
010760,000132: 07,2123 51551 CODE1TO6 INDEX XYMARK # INDEX AOT POSITION BY DET CODE
010761,000133: 07,2124 31411 CA AOTEL -1
010762,000134: 07,2125 50120 INDEX FIXLOC
010763,000135: 07,2126 54011 TS 9D # STORE ELEVATION IN VAC+9D
010764,000136:
010765,000137: 07,2127 51551 INDEX XYMARK # INDEX DET CODE 1,2 OR 3
|
Page 254 |
010767,000139: 07,2130 31403 CA AOTAZ -1
010768,000140: 07,2131 50120 INDEX FIXLOC
010769,000141: 07,2132 54010 TS 8D # STORE AZIMUTH IN VAC +8D
010770,000142:
010771,000143: 07,2133 31405 CA AOTAZ +1 # COMPENSATION FOR APPARENT ROTATION OF
010772,000144: 07,2134 00006 EXTEND # AOT FIELD OF VIEW IN LEFT AND RIGTHT
010773,000145: 07,2135 50120 INDEX FIXLOC # DETENTS IS STORED IN VAC +10D IN SP
010774,000146: 07,2136 20010 MSU 8D # PRECISION ONES COMPLEMENT
010775,000147: 07,2137 50120 COASCODE INDEX FIXLOC
010776,000148: 07,2140 54012 TS 10D # ROT ANGLE
010777,000149:
010778,000150: 07,2141 06042 TC INTPRET # COMPUTE X AND Y PLANE VECTORS
010779,000151:
|
Page 255 |
010781,000153: # THE OPTAXIS SUBROUTINE COMPUTES THE X AND Y MARK PLANE VECS AND
010782,000154: # AND ROTATES THEM THRU THE APPARENT FIELD OF VIEW ROTATION UNIQUE TO AOT
010783,000155: # OPTAXIS USES OANB TO COMPUTE THE OPTIC AXIS
010784,000156: # INPUT-AZIMUTH ANGLE IN SINGLE PREC AT CDU SCALE IN 8D OF JOB VAC
010785,000157: # ELEVATION ANGLE IN SINGLE PREC AT CDU SCALE IN 9D OF JOB VAC
010786,000158: # ROTATION ANGLE IN SINGLE PREC 1S COMP SCALED BY PI IN 10D OF VAC
010787,000159: # OUTPUT-OPTIC AXIS VEC IN NB COORDS IN SCAXIS
010788,000160: # X-MARK PLANE 1/4VEC IN NB COORDS AT 18D OF JOB VAC
010789,000161: # Y-MARK PLANE 1/4VEC IN NB COORDS AT 12D OF JOB VAC
010790,000162:
010791,000163:
010792,000164: 07,2142 77624 OPTAXIS CALL # GO COMPUTE OA AND X AND Y PLANE VECS
010793,000165: 07,2143 10530 OANB
010794,000166: 07,2144 70535 SLOAD SR1 # LOAD APP ROTATION IN ONES COMP
010795,000167: 07,2145 00013 10D # RESCALE BY 2PI
010796,000168: 07,2146 73406 PUSH SIN # 1/2SIN(ROT) 0-1
010797,000169: 07,2147 71525 PDDL COS
010798,000170: 07,2150 74206 PUSH VXSC # 1/2COS(ROT) 2-3
010799,000171: 07,2151 00023 18D
010800,000172: 07,2152 74325 PDDL VXSC # 1/4COS(ROT)UYP 4-9
010801,000173: 07,2153 00001 0
010802,000174: 07,2154 00031 24D # 1/4SIN(ROT)UXP
010803,000175: 07,2155 45445 BVSU STADR # UP 4-9
010804,000176: 07,2156 63762 STODL 12D # YPNB=1/4(COS(ROT)UYP-SIN(ROT)UXP)
010805,000177: 07,2157 65361 VXSC PDDL # UP 2-3 UP 0-1 FOR EXCHANGE
010806,000178: 07,2160 00031 24D # 1/4COS(ROT)UXP PUSH 0-5
010807,000179: 07,2161 53361 VXSC VAD # 1/4SIN(ROT)UYP
010808,000180: 07,2162 00023 18D # UP 0-5
010809,000181: 07,2163 77626 STADR
010810,000182: 07,2164 53754 STOVL 18D # XPNB=1/4(COS(ROT)UXP+SIN(ROT)UYP)
010811,000183: 07,2165 24007 LO6ZEROS # INITIALIZE AVE STAR VEC ACCUMULATOR
010812,000184: 07,2166 02715 STORE STARAD +6
010813,000185: 07,2167 77776 EXIT
010814,000186: 07,2170 12202 TCF GETMKS
010815,000187:
|
Page 256 |
010817,000189: # THE OANB SUBROUTINE COMPUTES THE OPTIC AXIS OF THE SIGHTING INSTRUMENT
010818,000190: # FROM AZIMUTH AND ELEVATION INPUT FROM THE ASTRONAUT.
010819,000191: # INPUT- AZIMUTH ANGLE IN SINGLE PREC 2S COMP IN 8D OF JOB VAC
010820,000192: # ELEVATION ANGLE IN SINGLE PREC 2S COMP IN 9D OF VAC
010821,000193: # OUTPUT-OPTIC AXIS IN NB COORDS. IN SCAXIS
010822,000194: # X-PLANE 1/2VEC IN NB COORDS AT 24D OF VAC
010823,000195: # Y-PLANE 1/2VEC IN NB COORDS AT 18D OF VAC
010824,000196:
010825,000197: 05,3416 BANK 05
010826,000198: 04,2000 SETLOC AOTMARK2
010827,000199: 04,2000 BANK
010828,000200:
010829,000201: 04,2530 COUNT* $$/MARK
010830,000202:
010831,000203: 04,2530 44001 OANB SETPD STQ
010832,000204: 04,2531 00001 0
010833,000205: 04,2532 02736 GCTR # STORE RETURN
010834,000206: 04,2533 47135 SLOAD RTB
010835,000207: 04,2534 00012 9D # PICK UP SP ELV
010836,000208: 04,2535 21577 CDULOGIC
010837,000209: 04,2536 71406 PUSH COS
010838,000210: 04,2537 73525 PDDL SIN # 1/2COS(ELV) PD 0-1
010839,000211: 04,2540 77626 STADR
010840,000212: 04,2541 60012 STODL SCAXIS # OAX=1/2SIN(ELV)
010841,000213: 04,2542 00011 8D # PICK UP AZ SP
010842,000214: 04,2543 77634 RTB
010843,000215: 04,2544 21577 CDULOGIC
010844,000216: 04,2545 71406 PUSH COS
010845,000217: 04,2546 00025 STORE 20D # STORE UYP(Y) 20-21
010846,000218: 04,2547 73525 PDDL SIN # 1/2COS(AZ) PD 2-3
010847,000219: 04,2550 57406 PUSH DCOMP # PUSH 1/2SIN(AZ) 4-5
010848,000220: 04,2551 14027 STODL 22D # STORE UYP(Z) 22-23
010849,000221: 04,2552 24007 LO6ZEROS
010850,000222: 04,2553 14023 STODL 18D # STORE UYP(X) 18-19 UP 4-5
010851,000223: 04,2554 72405 DMP SL1
010852,000224: 04,2555 00001 0
010853,000225: 04,2556 17767 STODL SCAXIS +2 # OAY=1/2COS(ELV)SIN(AZ)
010854,000226: 04,2557 72405 DMP SL1 # UP 2-3
010855,000227: 04,2560 77626 STADR # UP 0-1
010856,000228: 04,2561 50006 STOVL SCAXIS +4 # OAZ=1/2COS(ELV)COS(AZ)
010857,000229: 04,2562 00023 18D # LOAD UYP VEC
010858,000230: 04,2563 53435 VXV UNIT
010859,000231: 04,2564 03765 SCAXIS # UXP VEC=UYP X OA
010860,000232: 04,2565 00031 STORE 24D # STORE UXP
010861,000233: 04,2566 77650 GOTO
010862,000234: 04,2567 02736 GCTR
010863,000235:
|
Page 257 |
010865,000237: # SURFSTAR COMPUTES A STAR VECTOR IN SM COORDINATES FOR LUNAR
010866,000238: # SURFACE ALIGNMENT AND EXITS TO AVEIT TO AVERAGE STAR VECTORS.
010867,000239: # GIVEN X-MARK PLANE 1/4 VEC IN NB AT 18D OF LOCAL VAC
010868,000240: # Y-MARK PLANE 1/4 VEC IN NB AT 12D OF LOCAL VAC
010869,000241: # CURSOR SP 2COMP AT POSITION 1 OF INDEXED MARKVAC
010870,000242: # SPIRAL SP 2COMP AT POSITION 3 OF INDEXED MARKVAC
010871,000243: # CDUY,Z,X AT POSITIONS 0,2,4 OF INDEXED MARKVAC
010872,000244: 15,2000 BANK 15
010873,000245: 15,2000 SETLOC P50S
010874,000246: 15,2000 BANK
010875,000247: 15,2000 COUNT* $$/R59
010876,000248:
010877,000249: 15,2000 77773 SURFSTAR VLOAD*
010878,000250: 15,2001 00001 0,1 # PUT X-MARK CDUS IN CDUSPOT FOR TRG*NBSM
010879,000251: 15,2002 00766 STORE CDUSPOT
010880,000252: 15,2003 47133 SLOAD* RTB
010881,000253: 15,2004 00002 1,1 # PICK UP YROT
010882,000254: 15,2005 21577 CDULOGIC
010883,000255: 15,2006 00031 STORE 24D # STORE CURSOR FOR SPIRAL COMP (REVS)
010884,000256: 15,2007 77654 BZE
010885,000257: 15,2010 16171 YZCHK # IF YROT ZERO-SEE IF SROT ZERO
010886,000258: 15,2011 71406 JUSTZY PUSH COS
010887,000259: 15,2012 73525 PDDL SIN # 1/2COS(YROT) 0-1
010888,000260: 15,2013 65361 VXSC PDDL # UP 0-1 1/8SIN(YROT)UXP 0-5
010889,000261: 15,2014 00023 18D
010890,000262: 15,2015 52361 VXSC VSU # UP 0-5
010891,000263: 15,2016 00015 12D # UYP
010892,000264: 15,2017 47256 UNIT VXV
010893,000265: 15,2020 03765 SCAXIS
010894,000266: 15,2021 41456 UNIT PUSH
010895,000267: 15,2022 47133 SLOAD* RTB
010896,000268: 15,2023 00004 3,1 # PICK UP SPIRAL
010897,000269: 15,2024 21577 CDULOGIC
010898,000270: 15,2025 00033 STORE 26D # STORE SPIRAL (REVS)
010899,000271: 15,2026 43225 DSU DAD
010900,000272: 15,2027 00031 24D
010901,000273: 15,2030 32047 ABOUTONE
010902,000274: 15,2031 77605 DMP
010903,000275: 15,2032 32455 DP1/12
010904,000276: 15,2033 00033 STORE 26D # SEP=(360 + SPIRAL - CURSOR)/12
010905,000277: 15,2034 74356 SIN VXSC # UP 0-5
010906,000278: 15,2035 65372 VSL1 PDDL # 1/2SIN(SEP)(UPP X OA) 0-5
010907,000279: 15,2036 00033 26D
010908,000280: 15,2037 74346 COS VXSC
010909,000281: 15,2040 03765 SCAXIS
010910,000282: 15,2041 53372 VSL1 VAD # UP 0-5
010911,000283: 15,2042 45056 JUSTOA UNIT CALL
010912,000284: 15,2043 47671 TRG*NBSM
010913,000285: 15,2044 34031 STCALL 24D # STAR VEC IN SM
010914,000286: 15,2045 16276 AVEIT # GO AVERAGE
010915,000287:
|
Page 258 |
010917,000289: 15,2046 37777 37775 ABOUTONE 2DEC .99999999
010918,000290:
010919,000291: 15,2050 15,2454 DP1/12 EQUALS DEG30 # .08333333
010920,000292: 07,2171 BANK 7
010921,000293: 07,2000 SETLOC AOTMARK1
010922,000294: 07,2000 BANK
010923,000295: 07,2171 COUNT* $$/MARK
010924,000296: 07,2171 53133 YZCHK SLOAD* BZE # YROT ZERO AND IF SROT ZERO FORCE STAR
010925,000297: 07,2172 00004 3,1 # ALONG OPTIC AXIS
010926,000298: 07,2173 16177 YSZERO
010927,000299: 07,2174 52145 DLOAD GOTO
010928,000300: 07,2175 00031 24D
010929,000301: 07,2176 32011 JUSTZY # SROT NOT ZERO-CONTINUE NORMALLY
010930,000302: 07,2177 52175 YSZERO VLOAD GOTO
010931,000303: 07,2200 03765 SCAXIS
010932,000304: 07,2201 32042 JUSTOA
010933,000305:
|
Page 259 |
010935,000307: # THE GETMKS ROUTINE INITIALIZES THE SIGHTING MARK PROCEDURE
010936,000308:
010937,000309: 07,2202 34755 GETMKS CAF ZERO # INITIALIZE MARK ID REGISTER AND MARK CNT
010938,000310: 07,2203 55551 TS XYMARK
010939,000311: 07,2204 55550 TS MARKCNTR
010940,000312: 07,2205 35004 CAF LOW9 # ZERO BITS10 TO 15 RETAINING MKVAC ADR
010941,000313: 07,2206 71307 MASK MARKSTAT
010942,000314: 07,2207 55307 TS MARKSTAT
010943,000315: 07,2210 32613 CAF MKVB54* # DISPLAY VB54 INITIALLY
010944,000316: 07,2211 04616 PASTIT TC BANKCALL
010945,000317: 07,2212 20345 CADR GOMARK4
010946,000318:
010947,000319: 07,2213 12060 TCF KILLAOT # V34-DOES GOTOPOOH
010948,000320: 07,2214 12216 TCF MARKCHEX # VB33-PROCEED, GOT MARKS, COMPUTE LOS
010949,000321: 07,2215 12063 TCF GETDAT # ENTER-RECYCLE TO V01N71
010950,000322:
010951,000323: 07,2216 41307 MARKCHEX CS MARKSTAT # SET BIT12 TO DISCOURAGE MARKRUPT
010952,000324: 07,2217 74740 MASK BIT12
010953,000325: 07,2220 27307 ADS MARKSTAT
010954,000326: 07,2221 75004 MASK LOW9
010955,000327: 07,2222 55551 TS XYMARK # JAM MARK VAC ADR IN XYMARK FOR AVESTAR
010956,000328: 07,2223 34755 CAF ZERO
010957,000329: 07,2224 55552 TS MKDEX # SET MKDEX ZERO FOR LOS VEC CNTR
010958,000330: 07,2225 31307 CA MARKSTAT
010959,000331: 07,2226 75015 MASK PRIO3 # SEE IF LAST MK PARI COMPLETE
010960,000332: 07,2227 54001 TS L
010961,000333: 07,2230 35015 CAF PRIO3 # BITS10 AND 11
010962,000334: 07,2231 00006 EXTEND
010963,000335: 07,2232 06001 RXOR LCHAN
010964,000336: 07,2233 00006 EXTEND
010965,000337: 07,2234 12241 BZF AVESTAR # LAST PAIR COMPLETE-GO COMPUTE LOS
010966,000338: 07,2235 11550 CNTCHK CCS MARKCNTR # NO PAIR SHOWING-SEE IF PAIR IN HOLD
010967,000339: 07,2236 12240 TCF +2 # PAIR BURIED-DECREMENT COUNTER
010968,000340: 07,2237 12325 TCF MKALARM # NO PAIR-ALARM
010969,000341: 07,2240 55550 TS MARKCNTR # STORE DECREMENTED COUNTER
010970,000342:
010971,000343: 07,2241 34740 AVESTAR CAF BIT12 # INITIALIZE MKDEX FOR STAR LOS COUNTER
010972,000344: 07,2242 27552 ADS MKDEX # MKDEX WAS INITIALIZED ZERO IN MARKCHEX
010973,000345: 07,2243 41550 CS MARKCNTR
010974,000346: 07,2244 00006 EXTEND
010975,000347: 07,2245 76245 MP SIX # GET C(L) = -6 MARKCNTR
010976,000348: 07,2246 41551 CS XYMARK
010977,000349: 07,2247 60001 AD L # ADD - MARK VAC ADR SET IN MARKCHEX
010978,000350: 07,2250 50120 INDEX FIXLOC
010979,000351: 07,2251 54046 TS X1 # JAM - CDU ADR OF X-MARK IN X1
010980,000352:
010981,000353: 07,2252 30120 CA FIXLOC # SET PD POINTER TO ZERO
010982,000354: 07,2253 54166 TS PUSHLOC
010983,000355:
010984,000356: 07,2254 06042 TC INTPRET
|
Page 260 |
010986,000358: 07,2255 76614 BON VLOAD*
010987,000359: 07,2256 04307 SURFFLAG # IF ON SURFACE COMPUTE VEC AT SURFSTAR
010988,000360: 07,2257 32000 SURFSTAR
010989,000361: 07,2260 00002 1,1 # PUT Y-MARK CDUS IN CDUSPOT FOR TRG*NBSM
010990,000362: 07,2261 24766 STOVL CDUSPOT
010991,000363: 07,2262 00015 12D # LOAD Y-PLANE VECTOR IN NB
010992,000364: 07,2263 77624 CALL
010993,000365: 07,2264 47671 TRG*NBSM # CONVERT IT TO STABLE MEMBER
010994,000366: 07,2265 76606 PUSH VLOAD*
010995,000367: 07,2266 00001 0,1 # PUT X-MARK CDUS IN CDUSPOT FOR TRG*NBSM
010996,000368: 07,2267 24766 STOVL CDUSPOT
010997,000369: 07,2270 00023 18D # LOAD X-PLANE VECTOR IN NB
010998,000370: 07,2271 77624 CALL
010999,000371: 07,2272 47671 TRG*NBSM # CONVERT IT TO STABLE-MEMBER
011000,000372: 07,2273 53435 VXV UNIT # UNIT(XPSM * YPSM)
011001,000373: 07,2274 77626 STADR
011002,000374: 07,2275 77746 STORE 24D
011003,000375:
011004,000376: 07,2276 63335 AVEIT SLOAD PDVL # N(NUMBER OF VECS) IN 0-1
011005,000377: 07,2277 03553 MKDEX
011006,000378: 07,2300 00031 24D # LOAD CURRENT VECTOR
011007,000379: 07,2301 70322 VSR3 V/SC
011008,000380: 07,2302 00001 0
011009,000381: 07,2303 14031 STODL 24D # VEC/N
011010,000382: 07,2304 00001 0
011011,000383: 07,2305 56225 DSU DDV
011012,000384: 07,2306 16615 DP1/8 # (N-1)/N
011013,000385: 07,2307 53361 VXSC VAD
011014,000386: 07,2310 02715 STARAD +6 # ADD VEC TO PREVIOUSLY AVERAGED VECTOR
011015,000387: 07,2311 00031 24D # (N-1)/N AVESTVEC + VEC/N
011016,000388: 07,2312 02715 STORE STARAD +6 # AVERAGE STAR VECTOR
011017,000389: 07,2313 02767 STORE STARSAV2
011018,000390: 07,2314 77776 EXIT
011019,000391: 07,2315 11550 CCS MARKCNTR # SEE IF ANOTHER MARK PAIR IN MKVAC
011020,000392: 07,2316 12240 TCF AVESTAR -1 # THERE IS-GO GET IT-DECREMENT COUNTER
011021,000393: 07,2317 34756 ENDMARKS CAF FIVE # NO MORE MARKS-TERMINATE AOTMARK
011022,000394: 07,2320 00004 INHINT
011023,000395: 07,2321 05214 TC WAITLIST
011024,000396: 07,2322 E7,1551 EBANK= XYMARK
011025,000397: 07,2322 02047 16067 2CADR MKRELEAS
011026,000398:
011027,000399:
011028,000400: 07,2324 05503 TC ENDMARK
011029,000401:
011030,000402: 07,2325 05600 MKALARM TC ALARM # NOT A PAIR TO PROCESS-DO GETMKS
011031,000403: 07,2326 00111 OCT 111
011032,000404: 07,2327 12202 TCF GETMKS
011033,000405:
011034,000406: 07,2330 00307 V01N71 VN 171
011035,000407: 07,2331 01527 V06N87* VN 687
011036,000408:
|
Page 261 |
011038,000410: # MARKRUPT IS ENTERED FROM INTERUPT LEAD-INS AND PROCESSES CHANNEL 16
011039,000411: # CAUSED BY X,Y MARK OR MARK REJECT OR BY THE RATE OF DESCENT SWITCH
011040,000412:
011041,000413: 07,2332 54016 MARKRUPT TS BANKRUPT
011042,000414: 07,2333 30033 CA CDUY # STORE CDUS AND TIME NOW-THEN SEE IF
011043,000415: 07,2334 54063 TS ITEMP3 # WE NEED THEM
011044,000416: 07,2335 30034 CA CDUZ
011045,000417: 07,2336 54064 TS ITEMP4
011046,000418: 07,2337 30032 CA CDUX
011047,000419: 07,2340 54065 TS ITEMP5
011048,000420: 07,2341 00006 EXTEND
011049,000421: 07,2342 30025 DCA TIME2
011050,000422: 07,2343 52062 DXCH ITEMP1
011051,000423: 07,2344 56002 XCH Q
011052,000424: 07,2345 54012 TS QRUPT
011053,000425:
011054,000426: 07,2346 34776 CAF OCT140 # SEE IF ROD INPUT HAS BEEN MADE
011055,000427: 07,2347 00006 EXTEND
011056,000428: 07,2350 02016 RAND NAVKEYIN
011057,000429: 07,2351 00006 EXTEND
011058,000430: 07,2352 62355 BZMF MARKEY? # NO, MUST BE A MARKRUPT
011059,000431:
011060,000432: 07,2353 04635 TC POSTJUMP # DESCENT BITS
011061,000433: 07,2354 46451 CADR DESCBITS # DOESN'NT COME BACK
011062,000434:
011063,000435: 07,2355 34740 MARKEY? CAF BIT12 # ARE WE ASKING FOR MARK?
011064,000436: 07,2356 71307 MASK MARKSTAT
011065,000437: 07,2357 10000 CCS A
011066,000438: 07,2360 05301 TC RESUME # DONT WANT MARK OR MKREJECT-DO NOTHING
011067,000439:
011068,000440: 07,2361 11307 CCS MARKSTAT # ARE MARKS BEING ACCEPTED
011069,000441: 07,2362 12366 TCF FINDKEY # THEY ARE-WHICH ONE IS IT
011070,000442: 07,2363 05600 TC ALARM # MARKS NOT BEING ACCEPTED-DO ALARM
011071,000443: 07,2364 00112 OCT 112
011072,000444: 07,2365 05301 TC RESUME
011073,000445:
011074,000446: 07,2366 34747 FINDKEY CAF BIT5 # SEE IF MARK REJECT
011075,000447: 07,2367 00006 EXTEND
011076,000448: 07,2370 02016 RAND NAVKEYIN
011077,000449: 07,2371 10000 CCS A
011078,000450: 07,2372 12453 TCF MKREJ # ITS A MARK REJECT
011079,000451:
011080,000452: 07,2373 34750 CAF BIT4 # SEE IF Y MARK
011081,000453: 07,2374 00006 EXTEND
011082,000454: 07,2375 02016 RAND NAVKEYIN
011083,000455: 07,2376 10000 CCS A
011084,000456:
011085,000457: 07,2377 12414 TCF YMKRUPT # ITS A Y MARK
011086,000458:
011087,000459: 07,2400 34751 CAF BIT3 # SEE IF X MARK
|
Page 262 |
011089,000461: 07,2401 00006 EXTEND
011090,000462: 07,2402 02016 RAND NAVKEYIN
011091,000463: 07,2403 10000 CCS A
011092,000464: 07,2404 12410 TCF XMKRUPT # ITS A X MARK
011093,000465:
011094,000466: 07,2405 05600 TC ALARM # NO INBITS IN CHANNEL 16
011095,000467: 07,2406 00113 OCT 113
011096,000468:
011097,000469: 07,2407 05301 TC RESUME
011098,000470:
011099,000471: 07,2410 34755 XMKRUPT CAF ZERO
011100,000472: 07,2411 54070 TS RUPTREG1 # SET X MARK STORE INDEX TO ZERO
011101,000473: 07,2412 34742 CAF BIT10
011102,000474: 07,2413 12417 TCF +4
011103,000475: 07,2414 34753 YMKRUPT CAF ONE
011104,000476: 07,2415 54070 TS RUPTREG1 # SET Y MARK STORE INDEX TO ONE
011105,000477: 07,2416 34741 CAF BIT11
011106,000478: 07,2417 55551 TS XYMARK # SET MARK IDENTIFIATION
011107,000479:
011108,000480: 07,2420 02506 TC MARKTYPE # SEE IF SURFACE MARK
011109,000481: 07,2421 12513 TCF SURFSTOR # SURFACE MARK-JUST STORE CDUS
011110,000482:
011111,000483: 07,2422 34736 CAF BIT14 # GOT A MARK-SEE IF MARK PAIR MADE
011112,000484: 07,2423 71307 MASK MARKSTAT
011113,000485: 07,2424 00006 EXTEND
011114,000486: 07,2425 12436 BZF VERIFYMK # NOT A PAIR, NORMAL PROCEDURE
011115,000487: 07,2426 41550 CS MARKCNTR # GOT A PAIR, SEE IF ANOTHER CAN BE MADE
011116,000488: 07,2427 64751 AD FOUR # IF SO, INCREMENT POINTER,CLEAR BITS10,11
011117,000489: 07,2430 00006 EXTEND
011118,000490: 07,2431 62446 BZMF 5MKALARM # HAVE FIVE MARK PAIRS-DONT ALLOW MARK
011119,000491: 07,2432 25550 INCR MARKCNTR # OK FOR ANOTHER PAIR, INCR POINTER
011120,000492: 07,2433 47714 CS PRIO23 # CLEAR BITS10,11,14 FOR NEXT PAIR
011121,000493: 07,2434 71307 MASK MARKSTAT
011122,000494: 07,2435 55307 TS MARKSTAT
011123,000495:
011124,000496: 07,2436 31551 VERIFYMK CA XYMARK
011125,000497: 07,2437 71307 MASK MARKSTAT
011126,000498: 07,2440 10000 CCS A
011127,000499: 07,2441 12443 TCF +2 # THIS MARK NOT DESIRED
011128,000500: 07,2442 12520 TCF VACSTOR # MARK DESIRED - STORE CDUS
011129,000501: 07,2443 05600 TC ALARM
011130,000502: 07,2444 00114 OCT 114
011131,000503: 07,2445 05301 TC RESUME # RESUME-DISPLAY UNCHANGED-WAIT FOR ACTION
011132,000504:
011133,000505: 07,2446 05600 5MKALARM TC ALARM # ATTEMPTING TO MAKE MORE THAN 5 MK PAIRS
011134,000506: 07,2447 00107 OCT 107
011135,000507: 07,2450 02506 TC MARKTYPE # SEE IF SURFACE MARK
011136,000508: 07,2451 12621 TCF DSPV6N79 # IT IS
011137,000509: 07,2452 05301 TC RESUME # DONT CHANGE DISPLAY-DO NOTHING
011138,000510:
|
Page 263 |
011140,000512: 07,2453 02506 MKREJ TC MARKTYPE # SEE IF SURFACE
011141,000513: 07,2454 12501 TCF SURFREJ # SURFACE-JUST CHECK MARK COUNTER
011142,000514:
011143,000515: 07,2455 35015 CAF PRIO3 # INFLIGHT-SEE IF MARKS MADE
011144,000516: 07,2456 71307 MASK MARKSTAT
011145,000517: 07,2457 10000 CCS A
011146,000518: 07,2460 12464 TCF REJECT # MARKS MADE-REJECT ONE
011147,000519: 07,2461 05600 REJALM TC ALARM # NO MARK TO REJECT-BAD PROCEDURE-ALARM
011148,000520: 07,2462 00115 OCT 115
011149,000521: 07,2463 05301 TC RESUME # DESIRED ACTION DISPLAYED
011150,000522:
011151,000523: 07,2464 44355 REJECT CS PRIO30 # ZERO BIT14,SHOW REJ.,SEE IF MARK SINCE
011152,000524: 07,2465 71307 MASK MARKSTAT # LAST REJECT
011153,000525: 07,2466 64737 AD BIT13
011154,000526: 07,2467 57307 XCH MARKSTAT
011155,000527: 07,2470 74737 MASK BIT13
011156,000528: 07,2471 10000 CCS A
011157,000529: 07,2472 12477 TCF REJECT2 # ANOTHER REJECT SET BIT 10+11 TO ZERO
011158,000530:
011159,000531: 07,2473 41551 CS XYMARK # MARK MADE SINCE REJECT-REJECT MARK IN 1D
011160,000532: 07,2474 71307 RENEWMK MASK MARKSTAT
011161,000533: 07,2475 55307 TS MARKSTAT
011162,000534: 07,2476 12571 TCF REMARK # GO REQUEST NEW MARK ACTION
011163,000535:
011164,000536: 07,2477 45015 REJECT2 CS PRIO3 # ON SECOND REJECT-DISPLAY VB53 AGAIN
011165,000537: 07,2500 12474 TCF RENEWMK
011166,000538:
011167,000539: 07,2501 11550 SURFREJ CCS MARKCNTR # IF MARK DECREMENT COUNTER
011168,000540: 07,2502 12504 TCF +2
011169,000541: 07,2503 12461 TCF REJALM # NO MARKS TO REJECT-ALARM
011170,000542: 07,2504 55550 TS MARKCNTR
011171,000543: 07,2505 05301 TC RESUME
011172,000544:
|
Page 264 |
011174,000546:
011175,000547:
011176,000548: # MARKTYPE TESTS TO SEE IF LEM ON LUNAR SURFACE. IF IT IS RETURN TO LOC+1
011177,000549:
011178,000550: 07,2506 40104 MARKTYPE CS FLAGWRD8 # SURFFLAG*******TEMPORARY*****
011179,000551: 07,2507 74744 MASK BIT8
011180,000552: 07,2510 10000 CCS A
011181,000553: 07,2511 24002 INCR Q # IF SURFACE MARK REUTNR TO LOC +1
011182,000554: 07,2512 00002 TC Q # IF INFLIGHT MARK RETURN TO LOC +2
011183,000555:
011184,000556: 07,2513 34755 SURFSTOR CAF ZERO # FOR SURFACE MARK ZERO MARK KIND INDEX
011185,000557: 07,2514 54070 TS RUPTREG1
011186,000558:
011187,000559: 07,2515 41307 CS MARKSTAT # SET BITS10,11 TO SHOW SURFACE MARK
011188,000560: 07,2516 75015 MASK PRIO3 # FOR MARKCHEX
011189,000561: 07,2517 27307 ADS MARKSTAT
011190,000562:
011191,000563: 07,2520 35004 VACSTOR CAF LOW9
011192,000564: 07,2521 71307 MASK MARKSTAT # STORE MARK VAC ADR IN RUPTREG2
011193,000565: 07,2522 54071 TS RUPTREG2
011194,000566: 07,2523 00006 EXTEND
011195,000567: 07,2524 30062 DCA ITEMP1 # PICK UP MARKTIME
011196,000568: 07,2525 53562 DXCH TSIGHT # STORE LAST MARK TIME
011197,000569: 07,2526 31550 CA MARKCNTR # 6 X MARKCNTR FOR STORE INDEX
011198,000570: 07,2527 00006 EXTEND
011199,000571: 07,2530 76245 MP SIX
011200,000572: 07,2531 56001 XCH L # GET INDEX FROM LOW ORDER PART
011201,000573: 07,2532 60071 AD RUPTREG2 # SET CDU STORE INDEX TO MARKVAC
011202,000574: 07,2533 26070 ADS RUPTREG1 # INCREMENT VAC PICKUP BY MARK FOR FLIGHT
011203,000575: 07,2534 55552 TS MKDEX # STORE HERE IN CASE OF SURFACE MARK
011204,000576: 07,2535 30063 CA ITEMP3
011205,000577: 07,2536 50070 INDEX RUPTREG1
011206,000578: 07,2537 54000 TS 0 # STORE CDUY
011207,000579: 07,2540 30064 CA ITEMP4
011208,000580: 07,2541 50070 INDEX RUPTREG1
011209,000581: 07,2542 54002 TS 2 # STORE CDUZ
011210,000582: 07,2543 30065 CA ITEMP5
011211,000583: 07,2544 50070 INDEX RUPTREG1
011212,000584: 07,2545 54004 TS 4 # STORE CDUX
011213,000585: 07,2546 02506 TC MARKTYPE # IF SURFACE MARK-JUST DO SURFJOB
011214,000586: 07,2547 12576 TCF SURFJOB
011215,000587:
011216,000588: 07,2550 34737 CAF BIT13 # CLEAR BIT13 TO SHOW MARK MADE
011217,000589: 07,2551 61551 AD XYMARK # SET MARK ID IN MARKSTAT
011218,000590: 07,2552 40000 COM
011219,000591: 07,2553 71307 MASK MARKSTAT
011220,000592: 07,2554 61551 AD XYMARK
011221,000593: 07,2555 55307 TS MARKSTAT
011222,000594: 07,2556 75015 MASK PRIO3 # SEE IF X, Y MARK MADE
011223,000595: 07,2557 54001 TS L
011224,000596:
|
Page 265 |
011226,000598: 07,2560 35015 CA PRIO3
011227,000599: 07,2561 00006 EXTEND
011228,000600: 07,2562 06001 RXOR LCHAN
011229,000601: 07,2563 10000 CCS A
011230,000602: 07,2564 12571 TCF REMARK # NOT PAIR YET, DISPLAY MARK ACTION
011231,000603: 07,2565 41307 CS MARKSTAT # MARK PAIR COMPLETE-SET BIT14
011232,000604: 07,2566 74736 MASK BIT14
011233,000605: 07,2567 27307 ADS MARKSTAT
011234,000606: 07,2570 12571 TCF REMARK # GO DISPLAY V54
011235,000607:
|
Page 266 |
011237,000609: 07,2571 35015 REMARK CAF PRIO3 # BITS 10 AND 11
011238,000610: 07,2572 71307 MASK MARKSTAT
011239,000611: 07,2573 00006 EXTEND
011240,000612: 07,2574 74746 MP BIT6 # SHIFT MARK IDS TO BE 0 TO 3 FOR INDEX
011241,000613: 07,2575 55552 TS MKDEX # STORE VERB INDEX
011242,000614: 07,2576 35025 SURFJOB CAF PRIO15
011243,000615: 07,2577 05072 TC NOVAC # ENTER JOB TO CHANGE DISPLAY TO
011244,000616: 07,2600 E7,1551 EBANK= XYMARK # REQUEST NEXT ACTION
011245,000617: 07,2600 02603 16067 2CADR CHANGEVB
011246,000618:
011247,000619:
011248,000620: 07,2602 05301 TC RESUME
011249,000621:
011250,000622: 07,2603 02506 CHANGEVB TC MARKTYPE
011251,000623: 07,2604 12621 TCF DSPV6N79 # SURFACE-DISPLAY V 06 N 79
011252,000624: 07,2605 51552 INDEX MKDEX # INFLIGHT-PICK UP MARK VB INDEX
011253,000625: 07,2606 32610 CAF MKVB54
011254,000626: 07,2607 02211 TC PASTIT # PASTE UP NEXT MK VERB DISPLAY
011255,000627:
011256,000628: # THE FOUR MKVBS ARE INDEXED-THEIR ORDER CANNOT BE CHANGED
011257,000629:
011258,000630: 07,2610 15507 MKVB54 VN 5471 # MAKE X OR Y MARK
011259,000631: 07,2611 15307 MKVB53 VN 5371 # MAKE Y MARK
011260,000632: 07,2612 15107 MKVB52 VN 5271 # MAKE X MARK
011261,000633: 07,2613 15507 MKVB54* VN 5471 # MAKE X OR Y MARK
011262,000634: 07,2614 04000 00000 DP1/8 2DEC .125
011263,000635:
011264,000636: 07,2616 00034 OCT34 OCT 34
011265,000637: 07,2617 01507 V06N71 VN 671
011266,000638: 07,2620 01517 V06N79* VN 679
011267,000639:
|
Page 267 |
011269,000641: # ROUTINE TO REQUEST CURSOR AND SPIRAL MEASUREMENTS
011270,000642: 07,2621 COUNT* $$/R59
011271,000643:
011272,000644: 07,2621 32620 DSPV6N79 CAF V06N79* # CURSOR-SPIRAL DISPLAY
011273,000645: 07,2622 04616 TC BANKCALL
011274,000646: 07,2623 20334 CADR GOMARKF
011275,000647:
011276,000648: 07,2624 12060 TCF KILLAOT # V34-DOES GOTOPOOH
011277,000649: 07,2625 12633 TCF SURFEND # V33-PROCEED, END MARKING
011278,000650: 07,2626 34746 CAF BIT6 # IF V32(OCT40) IN MPAC DO RECYCLE
011279,000651: 07,2627 70154 MASK MPAC # OTHERWISE IT IS LOAD VB ENTER SO
011280,000652: 07,2630 10000 CCS A # RE-DISPLAY V06N79
011281,000653: 07,2631 12637 TCF SURFAGAN # VB32-RECYCLE
011282,000654: 07,2632 12621 TCF DSPV6N79 # ENTER
011283,000655:
011284,000656: 07,2633 44736 SURFEND CS BIT14 # SET BIT14 TO SHOW MARK END
011285,000657: 07,2634 71307 MASK MARKSTAT
011286,000658: 07,2635 64736 AD BIT14
011287,000659: 07,2636 55307 TS MARKSTAT
011288,000660:
011289,000661: 07,2637 31235 SURFAGAN CA CURSOR
011290,000662: 07,2640 51552 INDEX MKDEX # HOLDS VAC AREA POINTER FOR SURF MARKING
011291,000663: 07,2641 54001 TS 1 # STORE CURSOR SP 2COMP
011292,000664: 07,2642 31236 CA SPIRAL
011293,000665: 07,2643 51552 INDEX MKDEX
011294,000666: 07,2644 54003 TS 3 # STORE SPIRAL
011295,000667:
011296,000668: 07,2645 41307 CS MARKSTAT # IF BIT 14 SET-END MARKING
011297,000669: 07,2646 74736 MASK BIT14
011298,000670: 07,2647 00006 EXTEND
011299,000671: 07,2650 12216 BZF MARKCHEX
011300,000672: 07,2651 31550 CA MARKCNTR # THIS IS RECYCLE-SEE IF 5 MARKS ALREADY
011301,000673: 07,2652 64753 AD ONE
011302,000674: 07,2653 40000 COM
011303,000675: 07,2654 64756 AD FIVE
011304,000676: 07,2655 00006 EXTEND
011305,000677: 07,2656 62446 BZMF 5MKALARM # CANT RECYCLE-TO MANY MARKS-ALARM
011306,000678: 07,2657 25550 INCR MARKCNTR # OF FOR RECYCLE-INCR COUNTER
011307,000679: 07,2660 12205 TCF GETMKS +3 # GO DISPLAY MARK VB
011308,000680:
End of include-file AOTMARK.agc. Parent file is MAIN.agc