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