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