Source Code
These source-code files are part of a reconstructed copy of Luminary 69/2,
the flown, final release of the Apollo 10 Lunar Module (LM) Apollo Guidance Computer (AGC) software.
The reconstruction is based on the source code of Luminary 69 — i.e., the initial, unflown version, "revision 0" — of which a contemporary listing was available. The code was then updated by incorporating the differences between Luminary 69 and Luminary 69/2, known from other contemporary documentation. The only such difference is the implementation in Luminary 69/2 of the "R-2 Lunar Potential Model", the source code for which was taken from program Luminary 99/1 (Apollo 11 LM), of which a contemporary listing was also available. Finally, the now-reconstructed Luminary 69/2 was then validated by assembling it to executable form and verifying that its memory banks had the correct checksums, known from still other contemporary documentation. Note that page numbers in the reconstructed code match those in the original Luminary 69 program listing, or in the ORBITAL INTEGRATION log section, in Luminary 99/1. Page numbers would certainly differ somewhat in a contemporary Luminary 69/2 listing. Moreover, annotations that were not present in the contemporary source code have been added to the reconstructed code to justify each change in Luminary 69/2 relative to Luminary 69. Here's a guide to the Apollo documentation referenced in those annotations:
|
011258,000002: ## Copyright: Public domain.
011259,000003: ## Filename: AOTMARK.agc
011260,000004: ## Purpose: A section of LUM69 revision 2.
011261,000005: ## It is part of the reconstructed source code for the flown
011262,000006: ## version of the flight software for the Lunar Module's (LM)
011263,000007: ## Apollo Guidance Computer (AGC) for Apollo 10. The code has
011264,000008: ## been recreated from a copy of Luminary revsion 069, using
011265,000009: ## changes present in Luminary 099 which were described in
011266,000010: ## Luminary memos 75 and 78. The code has been adapted such
011267,000011: ## that the resulting bugger words exactly match those specified
011268,000012: ## for LUM69 revision 2 in NASA drawing 2021152B, which gives
011269,000013: ## relatively high confidence that the reconstruction is correct.
011270,000014: ## Reference: pp. 259-276
011271,000015: ## Assembler: yaYUL
011272,000016: ## Contact: Ron Burkey <info@sandroid.org>.
011273,000017: ## Website: www.ibiblio.org/apollo/index.html
011274,000018: ## Mod history: 2019-07-27 MAS Created from Luminary 69.
011275,000019:
Page 259 |
011277,000021: 12,2000 BANK 12
011278,000022: 07,2000 SETLOC AOTMARK1
011279,000023: 07,2000 BANK
011280,000024:
011281,000025: 07,2000 E7,1547 EBANK= XYMARK
011282,000026: 07,2000 COUNT* $$/MARK
011283,000027:
011284,000028: 07,2000 00004 AOTMARK INHINT
011285,000029: 07,2001 11312 CCS MARKSTAT # SEE IF AOTMARK BUSY
011286,000030: 07,2002 02004 TC +2 # MARK SYSTEM BUSY-DO ALARM
011287,000031: 07,2003 02006 TC EXTVBCHK
011288,000032: 07,2004 05652 TC POODOO
011289,000033: 07,2005 00105 OCT 00105
011290,000034:
011291,000035: 07,2006 36241 EXTVBCHK CAF SIX # SEE IF EXT. VERB WORKING
011292,000036: 07,2007 71044 MASK EXTVBACT
011293,000037: 07,2010 10000 CCS A
011294,000038: 07,2011 12044 TCF MKABORT # YES-ABORT
011295,000039:
011296,000040: 07,2012 34752 CAF BIT2 # NO-DISALLOW SOME EXTENDED VERB ACTION
011297,000041: 07,2013 27044 ADS EXTVBACT # BIT2 RESET IN ENDMARK
011298,000042: 07,2014 10400 MKVAC CCS VAC1USE # LOOK FOR A VAC AREA-DO ABORT IF
011299,000043: 07,2015 12031 TCF MKVACFND # NONE AVAILABLE
011300,000044: 07,2016 10454 CCS VAC2USE
011301,000045: 07,2017 12031 TCF MKVACFND
011302,000046: 07,2020 10530 CCS VAC3USE
011303,000047: 07,2021 12031 TCF MKVACFND
011304,000048: 07,2022 10604 CCS VAC4USE
011305,000049: 07,2023 12031 TCF MKVACFND
011306,000050: 07,2024 10660 CCS VAC5USE
011307,000051: 07,2025 12031 TCF MKVACFND
011308,000052: 07,2026 52134 DXCH BUF2
011309,000053: 07,2027 05710 TC BAILOUT1 # ALL VAC AREAS OCCUPIED - ABORT.
011310,000054: 07,2030 01207 OCT 01207
011311,000055:
011312,000056: 07,2031 64752 MKVACFND AD TWO
011313,000057: 07,2032 55312 TS MARKSTAT # STORE VAC ADR IN LOW 9 OF MARKSTAT
011314,000058:
011315,000059: 07,2033 34755 CAF ZERO
011316,000060: 07,2034 51312 INDEX MARKSTAT
011317,000061: 07,2035 53777 TS 0 -1 # ZERO IN VACUSE REG TO SHOW VAC OCCUPIED
011318,000062:
011319,000063: 07,2036 35025 CAF PRIO15
011320,000064: 07,2037 05105 TC FINDVAC # SET UP JOB FOR GETDAT
011321,000065: 07,2040 E7,1547 EBANK= XYMARK
011322,000066: 07,2040 02060 16067 2CADR GETDAT
011323,000067:
011324,000068: 07,2042 00003 RELINT
011325,000069: 07,2043 14631 TCF SWRETURN
011326,000070:
Page 260 |
011328,000072: 07,2044 52134 MKABORT DXCH BUF2
011329,000073: 07,2045 05710 TC BAILOUT1 # CONFLICT WITH EXTENDED VERB
011330,000074: 07,2046 01211 OCT 01211
011331,000075:
011332,000076: 07,2047 34755 MKRELEAS CAF ZERO
011333,000077: 07,2050 57312 XCH MARKSTAT # SET MARKSTAT TO ZERO
011334,000078: 07,2051 75004 MASK LOW9 # PICK UP VAC AREA ADR
011335,000079: 07,2052 10000 CCS A
011336,000080: 07,2053 50000 INDEX A
011337,000081: 07,2054 54000 TS 0 # SHOW MKVAC AREA AVAILABLE
011338,000082: 07,2055 34753 CAF ONE
011339,000083: 07,2056 04674 TC IBNKCALL
011340,000084: 07,2057 17640 CADR GOODEND # GO WAKE UP CALLING JOB
011341,000085:
Page 261 |
011343,000087: 07,2060 41312 GETDAT CS MARKSTAT # SET BIT12 TO DISCOURAGE MARKRUPT
011344,000088: 07,2061 74740 MASK BIT12 # BIT12 RESET AT GETMARK
011345,000089: 07,2062 27312 ADS MARKSTAT
011346,000090:
011347,000091: 07,2063 32330 CAF V01N71 # DISPLAY DETENT AND STAR CODE
011348,000092: 07,2064 04616 TC BANKCALL
011349,000093: 07,2065 20212 CADR GOMARKF
011350,000094:
011351,000095: 07,2066 06001 TC GOTOPOOH # V34-TERMINATE
011352,000096: 07,2067 12071 TCF DODAT # V33-PROCEED-USE THIS STAR FOR MARKS
011353,000097: 07,2070 12060 ENTERDAT TCF GETDAT # ENTER-REDISPLAY STAR CODE
011354,000098:
011355,000099: 07,2071 37743 DODAT CAF HIGH9 # PICK DETENT CODE FROM BITS7-9 OF AOTCODE
011356,000100: 07,2072 70735 MASK AOTCODE # AND SEE IF CODE IS 1,2 OR 3
011357,000101: 07,2073 00006 EXTEND
011358,000102: 07,2074 74743 MP BIT9
011359,000103: 07,2075 55547 TS XYMARK # STORE DETENT
011360,000104:
011361,000105: 07,2076 00006 EXTEND
011362,000106: 07,2077 62060 BZMF GETDAT # NO GOOD-MAKE REQUEST AGAIN
011363,000107:
011364,000108: 07,2100 74751 MASK BIT3 # SEE IF DETENT CODE 4 OR 5
011365,000109: 07,2101 00006 EXTEND
011366,000110: 07,2102 12123 BZF CODE123 # NOT 4 OR 5, MUST BE 1,2 OR 3
011367,000111:
011368,000112: 07,2103 COUNT* $$/COAS
011369,000113:
011370,000114: 07,2103 32331 CODE4OR5 CAF V06N87* # CODE 4 OR 5, GET OPTIC AXIS CALIBRATIONS
011371,000115: 07,2104 04616 TC BANKCALL # AZ AND EL OF SIGHTING DEVICE FROM ASTRO
011372,000116: 07,2105 20212 CADR GOMARKF
011373,000117:
011374,000118: 07,2106 06001 TC GOTOPOOH # V34-TERMINATE
011375,000119: 07,2107 12111 TCF +2 # PROCEED
011376,000120: 07,2110 12103 TCF CODE4OR5 # ON ENTER, RECYCLE
011377,000121: 07,2111 00006 EXTEND
011378,000122: 07,2112 31350 DCA AZ # PICK UP AZ AND EL IN SP 2S COMP
011379,000123: 07,2113 50120 INDEX FIXLOC
011380,000124: 07,2114 52011 DXCH 8D # STORE IN 8D AND 9D OF LOCAL VAC
011381,000125: 07,2115 34753 CAF BIT1 # IF CODE 4, REAR AOT POSITIONS USED
011382,000126: 07,2116 71547 MASK XYMARK # SO CALC APPARENT ROTATION
011383,000127: 07,2117 00006 EXTEND # IF CODE 5, BACKUP, ZERO ROTATION
011384,000128: 07,2120 12133 BZF CODE4 # REAR AOT DETENTS TO BE USED
011385,000129: 07,2121 34755 CAF ZERO # BACKUP SYSTEM TO BE USED
011386,000130: 07,2122 12137 TCF CODE5
011387,000131:
011388,000132: 07,2123 COUNT* $$/MARK
011389,000133:
011390,000134: 07,2123 51547 CODE123 INDEX XYMARK # INDEX DET CODE 1,2 OR 3
011391,000135: 07,2124 31406 CA AOTEL -1
011392,000136: 07,2125 50120 INDEX FIXLOC
011393,000137:
Page 262 |
011395,000139: 07,2126 54011 TS 9D # STORE ELEVATION IN VAC+9D
011396,000140:
011397,000141: 07,2127 51547 INDEX XYMARK # INDEX DET CODE 1,2 OR 3
011398,000142: 07,2130 31403 CA AOTAZ -1
011399,000143: 07,2131 50120 INDEX FIXLOC
011400,000144: 07,2132 54010 TS 8D # STORE AZIMUTH IN VAC+8D
011401,000145:
011402,000146: 07,2133 31405 CODE4 CA AOTAZ +1 # COMPENSATION FOR APPARENT RATATION OF
011403,000147: 07,2134 00006 EXTEND # AOT FIELD OF VIEW IN LEFT AND RIGTHT
011404,000148: 07,2135 50120 INDEX FIXLOC # DETENTS IS STORED IN VAC +10D IN SP
011405,000149: 07,2136 20010 MSU 8D # PRECISION ONES COMPLEMENT
011406,000150: 07,2137 50120 CODE5 INDEX FIXLOC
011407,000151: 07,2140 54012 TS 10D # ROT ANGLE
011408,000152:
011409,000153: 07,2141 06036 TC INTPRET # COMPUTE X AND Y PLANE VECTORS
011410,000154:
Page 263 |
011412,000156: # THE OPTAXIS SUBROUTINE COMPUTES THE X AND Y MARK PLANE VECS AND
011413,000157: # AND ROTATES THEM THRU THE APPARENT FIELD OF VIEW ROTATION UNIQUE TO AOT
011414,000158: # OPTAXIS USES OANB TO COMPUTE THE OPTIC AXIS
011415,000159: # INPUT-AZIMUTH ANGLE IN SINGLE PREC AT CDU SCALE IN 8D OF JOB VAC
011416,000160: # ELEVATION ANGLE IN SINGLE PREC AT CDU SCALE IN 9D OF JOB VAC
011417,000161: # ROTATION ANGLE IN SINGLE PREC 1S COMP SCALED BY PI IN 10D OF VAC
011418,000162: # OUTPUT-OPTIC AXIS VEC IN NB COORDS IN SCAXIS
011419,000163: # X-MARK PLANE 1/4VEC IN NB COORDS AT 18D OF JOB VAC
011420,000164: # Y-MARK PLANE 1/4VEC IN NB COORDS AT 12D OF JOB VAC
011421,000165:
011422,000166: 07,2142 77624 OPTAXIS CALL # GO COMPUTE OA AND X AND Y PLANE VECS
011423,000167: 07,2143 13370 OANB
011424,000168: 07,2144 70535 SLOAD SR1 # LOAD APP ROTATION IN ONES COMP
011425,000169: 07,2145 00013 10D # RESCALE BY 2PI
011426,000170: 07,2146 73406 PUSH SIN # 1/2SIN(ROT) 0-1
011427,000171: 07,2147 71525 PDDL COS
011428,000172: 07,2150 74206 PUSH VXSC # 1/2COS(ROT) 2-3
011429,000173: 07,2151 00023 18D
011430,000174: 07,2152 74325 PDDL VXSC # 1/4COS(ROT)UYP 4-9
011431,000175: 07,2153 00001 0
011432,000176: 07,2154 00031 24D # 1/4SIN(ROT)UXP
011433,000177: 07,2155 45445 BVSU STADR # UP 4-9
011434,000178: 07,2156 63762 STODL 12D # YPNB=1/4(COS(ROT)UYP-SIN(ROT)UXP)
011435,000179: 07,2157 65361 VXSC PDDL # UP 2-3 UP 0-1 FOR EXCHANGE
011436,000180: 07,2160 00031 24D # 1/4COS(ROT)UXP PUSH 0-5
011437,000181: 07,2161 53361 VXSC VAD # 1/4SIN(ROT)UYP
011438,000182: 07,2162 00023 18D # UP 0-5
011439,000183: 07,2163 77626 STADR
011440,000184: 07,2164 53754 STOVL 18D # XPNB=1/4(COS(ROT)UXP+SIN(ROT)UYP)
011441,000185: 07,2165 22275 LO6ZEROS # INITIALIZE AVE STAR VEC ACCUMULATOR
011442,000186: 07,2166 02715 STORE STARAD +6
011443,000187: 07,2167 77776 EXIT
011444,000188: 07,2170 12202 TCF GETMKS
011445,000189:
Page 264 |
011447,000191: # THE OANB SUBROUTINE COMPUTES THE OPTIC AXIS OF THE SIGHTING INSTRUMENT
011448,000192: # FROM AZIMUTH AND ELEVATION INPUT FROM THE ASTRONAUT.
011449,000193: # INPUT- AZIMUTH ANGLE IN SINGLE PREC 2S COMP IN 8D OF JOB VAC
011450,000194: # ELEVATION ANGLE IN SINGLE PREC 2S COMP IN 9D OF VAC
011451,000195: # OUTPUT-OPTIC AXIS IN NB COORDS. IN SCAXIS
011452,000196: # X-PLANE 1/2VEC IN NB COORDS AT 24D OF VAC
011453,000197: # Y-PLANE 1/2VEC IN NB COORDS AT 18D OF VAC
011454,000198:
011455,000199: 05,3370 BANK 05
011456,000200: 05,2000 SETLOC AOTMARK2
011457,000201: 05,2000 BANK
011458,000202:
011459,000203: 05,3370 COUNT* $$/MARK
011460,000204:
011461,000205: 05,3370 44001 OANB SETPD STQ
011462,000206: 05,3371 00001 0
011463,000207: 05,3372 02736 GCTR # STORE RETURN
011464,000208: 05,3373 47135 SLOAD RTB
011465,000209: 05,3374 00012 9D # PICK UP SP ELV
011466,000210: 05,3375 21465 CDULOGIC
011467,000211: 05,3376 71406 PUSH COS
011468,000212: 05,3377 73525 PDDL SIN # 1/2COS(ELV) PD 0-1
011469,000213: 05,3400 77626 STADR
011470,000214: 05,3401 60016 STODL SCAXIS # OAX=1/2SIN(ELV)
011471,000215: 05,3402 00011 8D # PICK UP AZ SP
011472,000216: 05,3403 77634 RTB
011473,000217: 05,3404 21465 CDULOGIC
011474,000218: 05,3405 71406 PUSH COS
011475,000219: 05,3406 00025 STORE 20D # STORE UYP(Y) 20-21
011476,000220: 05,3407 73525 PDDL SIN # 1/2COS(AZ) PD 2-3
011477,000221: 05,3410 57406 PUSH DCOMP # PUSH 1/2SIN(AZ) 4-5
011478,000222: 05,3411 14027 STODL 22D # STORE UYP(Z) 22-23
011479,000223: 05,3412 22275 LO6ZEROS
011480,000224: 05,3413 14023 STODL 18D # STORE UYP(X) 18-19 UP 4-5
011481,000225: 05,3414 72405 DMP SL1
011482,000226: 05,3415 00001 0
011483,000227: 05,3416 17763 STODL SCAXIS +2 # OAY=1/2COS(ELV)SIN(AZ)
011484,000228: 05,3417 72405 DMP SL1 # UP 2-3
011485,000229: 05,3420 77626 STADR # UP 0-1
011486,000230: 05,3421 50012 STOVL SCAXIS +4 # OAZ=1/2COS(ELV)COS(AZ)
011487,000231: 05,3422 00023 18D # LOAD UYP VEC
011488,000232: 05,3423 53435 VXV UNIT
011489,000233: 05,3424 03761 SCAXIS # UXP VEC=UYP X OA
011490,000234: 05,3425 00031 STORE 24D # STORE UXP
011491,000235: 05,3426 77650 GOTO
011492,000236: 05,3427 02736 GCTR
011493,000237:
Page 265 |
011495,000239: # SURFSTAR COMPUTES A STAR VECTOR IN SM COORDINATES FOR LUNAR
011496,000240: # SURFACE ALIGNMENT AND EXITS TO AVEIT TO AVERAGE STAR VECTORS.
011497,000241: # GIVEN X-MARK PLANE 1/4 VEC IN NB AT 18D OF LOCAL VAC
011498,000242: # Y-MARK PLANE 1/4 VEC IN NB AT 12D OF LOCAL VAC
011499,000243: # CURSOR SP 2COMP AT POSITION 1 OF INDEXED MARKVAC
011500,000244: # SPIRAL SP 2COMP AT POSITION 3 OF INDEXED MARKVAC
011501,000245: # CDUY,Z,X AT POSITIONS 0,2,4 OF INDEXED MARKVAC
011502,000246: 15,2000 BANK 15
011503,000247: 15,2000 SETLOC P50S
011504,000248: 15,2000 BANK
011505,000249: 15,2000 COUNT* $$/R59
011506,000250:
011507,000251: 15,2000 77773 SURFSTAR VLOAD*
011508,000252: 15,2001 00001 0,1 # PUT X-MARK CDUS IN CDUSPOT FOR TRG*NBSM
011509,000253: 15,2002 00767 STORE CDUSPOT
011510,000254: 15,2003 47133 SLOAD* RTB
011511,000255: 15,2004 00002 1,1 # PICK UP YROT
011512,000256: 15,2005 21465 CDULOGIC
011513,000257: 15,2006 00031 STORE 24D # STORE CURSOR FOR SPIRAL COMP (REVS)
011514,000258: 15,2007 77654 BZE
011515,000259: 15,2010 16171 YZCHK # IF YROT ZERO-SEE IF SROT ZERO
011516,000260: 15,2011 71406 JUSTZY PUSH COS
011517,000261: 15,2012 73525 PDDL SIN # 1/2COS(YROT) 0-1
011518,000262: 15,2013 65361 VXSC PDDL # UP 0-1 1/8SIN(YROT)UXP 0-5
011519,000263: 15,2014 00023 18D
011520,000264: 15,2015 52361 VXSC VSU # UP 0-5
011521,000265: 15,2016 00015 12D # UYP
011522,000266: 15,2017 47256 UNIT VXV
011523,000267: 15,2020 03761 SCAXIS
011524,000268: 15,2021 41456 UNIT PUSH
011525,000269: 15,2022 47133 SLOAD* RTB
011526,000270: 15,2023 00004 3,1 # PICK UP SPIRAL
011527,000271: 15,2024 21465 CDULOGIC
011528,000272: 15,2025 00033 STORE 26D # STORE SPIRAL (REVS)
011529,000273: 15,2026 43225 DSU DAD
011530,000274: 15,2027 00031 24D
011531,000275: 15,2030 32047 ABOUTONE
011532,000276: 15,2031 77605 DMP
011533,000277: 15,2032 32534 DP1/12
011534,000278: 15,2033 00033 STORE 26D # SEP=(360 + SPIRAL - CURSOR)/12
011535,000279: 15,2034 74356 SIN VXSC # UP 0-5
011536,000280: 15,2035 65372 VSL1 PDDL # 1/2SIN(SEP)(UPP X OA) 0-5
011537,000281: 15,2036 00033 26D
011538,000282: 15,2037 74346 COS VXSC
011539,000283: 15,2040 03761 SCAXIS
011540,000284: 15,2041 53372 VSL1 VAD # UP 0-5
011541,000285: 15,2042 45056 JUSTOA UNIT CALL
011542,000286: 15,2043 47570 TRG*NBSM
011543,000287: 15,2044 34031 STCALL 24D # STAR VEC IN SM
011544,000288: 15,2045 16276 AVEIT # GO AVERAGE
011545,000289:
Page 266 |
011547,000291: 15,2046 37777 37775 ABOUTONE 2DEC .99999999
011548,000292: 15,2050 15,2533 DP1/12 EQUALS DEG30 # .08333333
011549,000293: 07,2171 BANK 7
011550,000294: 07,2000 SETLOC AOTMARK1
011551,000295: 07,2000 BANK
011552,000296: 07,2171 COUNT* $$/MARK
011553,000297: 07,2171 53133 YZCHK SLOAD* BZE # YROT ZERO AND IF SROT ZERO FORCE STAR
011554,000298: 07,2172 00004 3,1 # ALONG OPTIC AXIS
011555,000299: 07,2173 16177 YSZERO
011556,000300: 07,2174 52145 DLOAD GOTO
011557,000301: 07,2175 00031 24D
011558,000302: 07,2176 32011 JUSTZY # SROT NOT ZERO-CONTINUE NORMALLY
011559,000303: 07,2177 52175 YSZERO VLOAD GOTO
011560,000304: 07,2200 03761 SCAXIS
011561,000305: 07,2201 32042 JUSTOA
011562,000306:
Page 267 |
011564,000308: # THE GETMKS ROUTINE INITIALIZES THE SIGHTING MARK PROCEDURE
011565,000309:
011566,000310: 07,2202 34755 GETMKS CAF ZERO # INITIALIZE MARK ID REGISTER AND MARK CNT
011567,000311: 07,2203 55547 TS XYMARK
011568,000312: 07,2204 55546 TS MARKCNTR
011569,000313: 07,2205 35004 CAF LOW9 # ZERO BITS10 TO 15 RETAINING MKVAC ADR
011570,000314: 07,2206 71312 MASK MARKSTAT
011571,000315: 07,2207 55312 TS MARKSTAT
011572,000316: 07,2210 32621 CAF MKVB54* # DISPLAY VB54 INITIALLY
011573,000317: 07,2211 04616 PASTIT TC BANKCALL
011574,000318: 07,2212 20223 CADR GOMARK4
011575,000319:
011576,000320: 07,2213 06001 TC GOTOPOOH # VB34 TERMINATE-THIS RELEASES MKVAC AREA
011577,000321: 07,2214 12216 TCF MARKCHEX # VB33-PROCEED, GOT MARKS, COMPUTE LOS
011578,000322: 07,2215 12060 TCF GETDAT # ENTER- RECYCLE TO V01N71
011579,000323:
011580,000324: 07,2216 41312 MARKCHEX CS MARKSTAT # SET BIT12 TO DISCOURAGE MARKRUPT
011581,000325: 07,2217 74740 MASK BIT12
011582,000326: 07,2220 27312 ADS MARKSTAT
011583,000327: 07,2221 75004 MASK LOW9
011584,000328: 07,2222 55547 TS XYMARK # JAM MARK VAC ADR IN XYMARK FOR AVESTAR
011585,000329: 07,2223 34755 CAF ZERO
011586,000330: 07,2224 55550 TS MKDEX # SET MKDEX ZERO FOR LOS VEC CNTR
011587,000331: 07,2225 31312 CA MARKSTAT
011588,000332: 07,2226 75015 MASK PRIO3 # SEE IF LAST MK PARI COMPLETE
011589,000333: 07,2227 54001 TS L
011590,000334: 07,2230 35015 CAF PRIO3 # BITS10 AND 11
011591,000335: 07,2231 00006 EXTEND
011592,000336: 07,2232 06001 RXOR LCHAN
011593,000337: 07,2233 00006 EXTEND
011594,000338: 07,2234 12241 BZF AVESTAR # LAST PAIR COMPLETE-GO COMPUTE LOS
011595,000339: 07,2235 11546 CNTCHK CCS MARKCNTR # NO PAIR SHOWING-SEE IF PAIR IN HOLD
011596,000340: 07,2236 12240 TCF +2 # PAIR BURIED-DECREMENT COUNTER
011597,000341: 07,2237 12325 TCF MKALARM # NO PAIR-ALARM
011598,000342: 07,2240 55546 TS MARKCNTR # STORE DECREMENTED COUNTER
011599,000343:
011600,000344: 07,2241 34740 AVESTAR CAF BIT12 # INITIALIZE MKDEX FOR STAR LOS COUNTER
011601,000345: 07,2242 27550 ADS MKDEX # MKDEX WAS INITIALIZED ZERO IN MARKCHEX
011602,000346: 07,2243 41546 CS MARKCNTR
011603,000347: 07,2244 00006 EXTEND
011604,000348: 07,2245 76241 MP SIX # GET C(L) = - 6 MARKCNTR
011605,000349: 07,2246 41547 CS XYMARK
011606,000350: 07,2247 60001 AD L # ADD - MARK VAC ADR SET IN MARKCHEX
011607,000351: 07,2250 50120 INDEX FIXLOC
011608,000352: 07,2251 54046 TS X1 # JAM - CDU ADR OF X-MARK IN X1
011609,000353:
011610,000354: 07,2252 30120 CA FIXLOC # SET PD POINTER TO ZERO
011611,000355: 07,2253 54166 TS PUSHLOC
011612,000356:
011613,000357: 07,2254 06036 TC INTPRET
011614,000358:
Page 268 |
011616,000360: 07,2255 76614 BON VLOAD*
011617,000361: 07,2256 04307 SURFFLAG # IF ON SURFACE COMPUTE VEC AT SURFSTAR
011618,000362: 07,2257 32000 SURFSTAR
011619,000363: 07,2260 00002 1,1 # PUT Y-MARK CDUS IN CDUSPOT FOR TRG*NBSM
011620,000364: 07,2261 24767 STOVL CDUSPOT
011621,000365: 07,2262 00015 12D # LOAD Y-PLANE VECTOR IN NB
011622,000366: 07,2263 77624 CALL
011623,000367: 07,2264 47570 TRG*NBSM # CONVERT IT TO STABLE MEMBER
011624,000368: 07,2265 76606 PUSH VLOAD*
011625,000369: 07,2266 00001 0,1 # PUT X-MARK CDUS IN CDUSPOT FOR TRG*NBSM
011626,000370: 07,2267 24767 STOVL CDUSPOT
011627,000371: 07,2270 00023 18D # LOAD X-PLANE VECTOR IN NB
011628,000372: 07,2271 77624 CALL
011629,000373: 07,2272 47570 TRG*NBSM # CONVERT IT TO STABLE-MEMBER
011630,000374: 07,2273 53435 VXV UNIT # UNIT(XPSM * YPSM)
011631,000375: 07,2274 77626 STADR
011632,000376: 07,2275 77746 STORE 24D
011633,000377:
011634,000378: 07,2276 63335 AVEIT SLOAD PDVL # N(NUMBER OF VECS) IN 0-1
011635,000379: 07,2277 03551 MKDEX
011636,000380: 07,2300 00031 24D # LOAD CURRENT VECTOR
011637,000381: 07,2301 70322 VSR3 V/SC
011638,000382: 07,2302 00001 0
011639,000383: 07,2303 14031 STODL 24D # VEC/N
011640,000384: 07,2304 00001 0
011641,000385: 07,2305 56225 DSU DDV
011642,000386: 07,2306 16623 DP1/8 # (N-1)/N
011643,000387: 07,2307 53361 VXSC VAD
011644,000388: 07,2310 02715 STARAD +6 # ADD VEC TO PREVIOUSLY AVERAGED VECTOR
011645,000389: 07,2311 00031 24D # (N-1)/N AVESTVEC + VEC/N
011646,000390: 07,2312 02715 STORE STARAD +6 # AVERAGE STAR VECTOR
011647,000391: 07,2313 02767 STORE STARSAV2
011648,000392: 07,2314 77776 EXIT
011649,000393: 07,2315 11546 CCS MARKCNTR # SEE IF ANOTHER MARK PAIR IN MKVAC
011650,000394: 07,2316 12240 TCF AVESTAR -1 # THERE IS-GO GET IT-DECREMENT COUNTER
011651,000395: 07,2317 34756 ENDMARKS CAF FIVE # NO MORE MARKS-TERMINATE AOTMARK
011652,000396: 07,2320 00004 INHINT
011653,000397: 07,2321 05203 TC WAITLIST
011654,000398: 07,2322 E7,1547 EBANK= XYMARK
011655,000399: 07,2322 02047 16067 2CADR MKRELEAS
011656,000400:
011657,000401: 07,2324 05472 TC ENDMARK
011658,000402:
011659,000403: 07,2325 05567 MKALARM TC ALARM # NOT A PAIR TO PROCESS-DO GETMKS
011660,000404: 07,2326 00111 OCT 111
011661,000405: 07,2327 12202 TCF GETMKS
011662,000406:
011663,000407: 07,2330 00307 V01N71 VN 171
011664,000408: 07,2331 01527 V06N87* VN 687
011665,000409:
Page 269 |
011667,000411: # MARKRUPT IS ENTERED FROM INTERUPT LEAD-INS AND PROCESSES CHANNEL 16
011668,000412: # CAUSED BY X,Y MARK OR MARK REJECT OR BY THE RATE OF DESCENT SWITCH
011669,000413:
011670,000414: 07,2332 54016 MARKRUPT TS BANKRUPT
011671,000415: 07,2333 30033 CA CDUY # STORE CDUS AND TIME NOW-THEN SEE IF
011672,000416: 07,2334 54063 TS ITEMP3 # WE NEED THEM
011673,000417: 07,2335 30034 CA CDUZ
011674,000418: 07,2336 54064 TS ITEMP4
011675,000419: 07,2337 30032 CA CDUX
011676,000420: 07,2340 54065 TS ITEMP5
011677,000421: 07,2341 00006 EXTEND
011678,000422: 07,2342 30025 DCA TIME2
011679,000423: 07,2343 52062 DXCH ITEMP1
011680,000424: 07,2344 56002 XCH Q
011681,000425: 07,2345 54012 TS QRUPT
011682,000426:
011683,000427: 07,2346 32624 CAF OCT34 # SEE IF X OR Y MARK OR MKREJECT
011684,000428: 07,2347 00006 EXTEND
011685,000429: 07,2350 02016 RAND NAVKEYIN
011686,000430: 07,2351 10000 CCS A
011687,000431: 07,2352 12354 TCF +2 # ITS A LIVE ONE-SEE IF ITS WANTED
011688,000432: 07,2353 12404 TCF SOMEKEY # ITS SOME OTHER KEY
011689,000433:
011690,000434: 07,2354 34740 CAF BIT12 # ARE WE ASKING FOR A MARK
011691,000435: 07,2355 71312 MASK MARKSTAT
011692,000436: 07,2356 10000 CCS A
011693,000437: 07,2357 05270 TC RESUME # DONT WANT MARK OR MKREJECT-DO NOTHING
011694,000438:
011695,000439: 07,2360 11312 CCS MARKSTAT # ARE MARKS BEING ACCEPTED
011696,000440: 07,2361 12365 TCF FINDKEY # THEY ARE-WHICH ONE IS IT
011697,000441: 07,2362 05567 TC ALARM # MARKS NOT BEING ACCEPTED-DO ALARM
011698,000442: 07,2363 00112 OCT 112
011699,000443: 07,2364 05270 TC RESUME
011700,000444:
011701,000445: 07,2365 34747 FINDKEY CAF BIT5 # SEE IF MARK REJECT
011702,000446: 07,2366 00006 EXTEND
011703,000447: 07,2367 02016 RAND NAVKEYIN
011704,000448: 07,2370 10000 CCS A
011705,000449: 07,2371 12461 TCF MKREJ # ITS A MARK REJECT
011706,000450:
011707,000451: 07,2372 34750 CAF BIT4 # SEE IF Y MARK
011708,000452: 07,2373 00006 EXTEND
011709,000453: 07,2374 02016 RAND NAVKEYIN
011710,000454: 07,2375 10000 CCS A
011711,000455:
011712,000456: 07,2376 12422 TCF YMKRUPT # ITS A Y MARK
011713,000457:
011714,000458: 07,2377 34751 CAF BIT3 # SEE IF X MARK
011715,000459: 07,2400 00006 EXTEND
011716,000460: 07,2401 02016 RAND NAVKEYIN
011717,000461:
Page 270 |
011719,000463: 07,2402 10000 CCS A
011720,000464: 07,2403 12416 TCF XMKRUPT # ITS A X MARK
011721,000465:
011722,000466: 07,2404 34776 SOMEKEY CAF OCT140 # NOT MARK OR MKREJECT-SEE IF DESCENT BITS
011723,000467: 07,2405 00006 EXTEND
011724,000468: 07,2406 02016 RAND NAVKEYIN
011725,000469: 07,2407 00006 EXTEND
011726,000470: 07,2410 12413 BZF +3 # IF NO BITS
011727,000471:
011728,000472: 07,2411 04635 TC POSTJUMP # IF DESCENT BITS
011729,000473: 07,2412 40115 CADR DESCBITS
011730,000474:
011731,000475: 07,2413 05567 TC ALARM # NO INBITS IN CHANNEL 16
011732,000476: 07,2414 00113 OCT 113
011733,000477:
011734,000478: 07,2415 05270 TC RESUME
011735,000479:
011736,000480: 07,2416 34755 XMKRUPT CAF ZERO
011737,000481: 07,2417 54070 TS RUPTREG1 # SET X MARK STORE INDEX TO ZERO
011738,000482: 07,2420 34742 CAF BIT10
011739,000483: 07,2421 12425 TCF +4
011740,000484: 07,2422 34753 YMKRUPT CAF ONE
011741,000485: 07,2423 54070 TS RUPTREG1 # SET Y MARK STORE INDEX TO ONE
011742,000486: 07,2424 34741 CAF BIT11
011743,000487: 07,2425 55547 TS XYMARK # SET MARK IDENTIFIATION
011744,000488:
011745,000489: 07,2426 02514 TC MARKTYPE # SEE IF SURFACE MARK
011746,000490: 07,2427 12521 TCF SURFSTOR # SURFACE MARK-JUST STORE CDUS
011747,000491:
011748,000492: 07,2430 34736 CAF BIT14 # GOT A MARK-SEE IF MARK PAIR MADE
011749,000493: 07,2431 71312 MASK MARKSTAT
011750,000494: 07,2432 00006 EXTEND
011751,000495: 07,2433 12444 BZF VERIFYMK # NOT A PAIR, NORMAL PROCEDURE
011752,000496: 07,2434 41546 CS MARKCNTR # GOT A PAIR, SEE IF ANOTHER CAN BE MADE
011753,000497: 07,2435 64751 AD FOUR # IF SO, INCREMENT POINTER,CLEAR BITS10,11
011754,000498: 07,2436 00006 EXTEND
011755,000499: 07,2437 62454 BZMF 5MKALARM # HAVE FIVE MARK PAIRS-DONT ALLOW MARK
011756,000500: 07,2440 25546 INCR MARKCNTR # OK FOR ANOTHER PAIR, INCR POINTER
011757,000501: 07,2441 47710 CS PRIO23 # CLEAR BITS10,11,14 FOR NEXT PAIR
011758,000502: 07,2442 71312 MASK MARKSTAT
011759,000503: 07,2443 55312 TS MARKSTAT
011760,000504:
011761,000505: 07,2444 31547 VERIFYMK CA XYMARK
011762,000506: 07,2445 71312 MASK MARKSTAT
011763,000507: 07,2446 10000 CCS A
011764,000508: 07,2447 12451 TCF +2 # THIS MARK NOT DESIRED
011765,000509: 07,2450 12526 TCF VACSTOR # MARK DESIRED - STORE CDUS
011766,000510: 07,2451 05567 TC ALARM
011767,000511: 07,2452 00114 OCT 114
011768,000512: 07,2453 05270 TC RESUME # RESUME-DISPLAY UNCHANGED-WAIT FOR ACTION
011769,000513:
Page 271 |
011771,000515: 07,2454 05567 5MKALARM TC ALARM # ATTEMPTING TO MAKE MORE THAN 5 MK PAIRS
011772,000516: 07,2455 00107 OCT 107
011773,000517: 07,2456 02514 TC MARKTYPE # SEE IF SURFACE MARK
011774,000518: 07,2457 12627 TCF DSPV6N79 # IT IS
011775,000519: 07,2460 05270 TC RESUME # DONT CHANGE DISPLAY-DO NOTHING
011776,000520:
Page 272 |
011778,000522: 07,2461 02514 MKREJ TC MARKTYPE # SEE IF SURFACE
011779,000523: 07,2462 12507 TCF SURFREJ # SURFACE-JUST CHECK MARK COUNTER
011780,000524:
011781,000525: 07,2463 35015 CAF PRIO3 # INFLIGHT-SEE IF MARKS MADE
011782,000526: 07,2464 71312 MASK MARKSTAT
011783,000527: 07,2465 10000 CCS A
011784,000528: 07,2466 12472 TCF REJECT # MARKS MADE-REJECT ONE
011785,000529: 07,2467 05567 REJALM TC ALARM # NO MARK TO REJECT-BAD PROCEDURE-ALARM
011786,000530: 07,2470 00115 OCT 115
011787,000531: 07,2471 05270 TC RESUME # DESIRED ACTION DISPLAYED
011788,000532:
011789,000533: 07,2472 44355 REJECT CS PRIO30 # ZERO BIT14,SHOW REJ.,SEE IF MARK SINCE
011790,000534: 07,2473 71312 MASK MARKSTAT # LAST REJECT
011791,000535: 07,2474 64737 AD BIT13
011792,000536: 07,2475 57312 XCH MARKSTAT
011793,000537: 07,2476 74737 MASK BIT13
011794,000538: 07,2477 10000 CCS A
011795,000539: 07,2500 12505 TCF REJECT2 # ANOTHER REJECT SET BIT 10+11 TO ZERO
011796,000540:
011797,000541: 07,2501 41547 CS XYMARK # MARK MADE SINCE REJECT-REJECT MARK IN 1D
011798,000542: 07,2502 71312 RENEWMK MASK MARKSTAT
011799,000543: 07,2503 55312 TS MARKSTAT
011800,000544: 07,2504 12577 TCF REMARK # GO REQUEST NEW MARK ACTION
011801,000545:
011802,000546: 07,2505 45015 REJECT2 CS PRIO3 # ON SECOND REJECT-DISPLAY VB53 AGAIN
011803,000547: 07,2506 12502 TCF RENEWMK
011804,000548:
011805,000549: 07,2507 11546 SURFREJ CCS MARKCNTR # IF MARK DECREMENT COUNTER
011806,000550: 07,2510 12512 TCF +2
011807,000551: 07,2511 12467 TCF REJALM # NO MARKS TO REJECT-ALARM
011808,000552: 07,2512 55546 TS MARKCNTR
011809,000553: 07,2513 05270 TC RESUME
011810,000554:
Page 273 |
011812,000556:
011813,000557:
011814,000558: # MARKTYPE TESTS TO SEE IF LEM ON LUNAR SURFACE. IF IT IS RETURN TO LOC+1
011815,000559:
011816,000560: 07,2514 40104 MARKTYPE CS FLAGWRD8 # SURFFLAG*******TEMPORARY*****
011817,000561: 07,2515 74744 MASK BIT8
011818,000562: 07,2516 10000 CCS A
011819,000563: 07,2517 24002 INCR Q # IF SURFACE MARK REUTNR TO LOC +1
011820,000564: 07,2520 00002 TC Q # IF INFLIGHT MARK RETURN TO LOC +2
011821,000565:
011822,000566: 07,2521 34755 SURFSTOR CAF ZERO # FOR SURFACE MARK ZERO MARK KIND INDEX
011823,000567: 07,2522 54070 TS RUPTREG1
011824,000568:
011825,000569: 07,2523 41312 CS MARKSTAT # SET BITS10,11 TO SHOW SURFACE MARK
011826,000570: 07,2524 75015 MASK PRIO3 # FOR MARKCHEX
011827,000571: 07,2525 27312 ADS MARKSTAT
011828,000572:
011829,000573: 07,2526 35004 VACSTOR CAF LOW9
011830,000574: 07,2527 71312 MASK MARKSTAT # STORE MARK VAC ADR IN RUPTREG2
011831,000575: 07,2530 54071 TS RUPTREG2
011832,000576: 07,2531 00006 EXTEND
011833,000577: 07,2532 30062 DCA ITEMP1 # PICK UP MARKTIME
011834,000578: 07,2533 53560 DXCH TSIGHT # STORE LAST MARK TIME
011835,000579: 07,2534 31546 CA MARKCNTR # 6 X MARKCNTR FOR STORE INDEX
011836,000580: 07,2535 00006 EXTEND
011837,000581: 07,2536 76241 MP SIX
011838,000582: 07,2537 56001 XCH L # GET INDEX FROM LOW ORDER PART
011839,000583: 07,2540 60071 AD RUPTREG2 # SET CDU STORE INDEX TO MARKVAC
011840,000584: 07,2541 26070 ADS RUPTREG1 # INCREMENT VAC PICKUP BY MARK FOR FLIGHT
011841,000585: 07,2542 55550 TS MKDEX # STORE HERE IN CASE OF SURFACE MARK
011842,000586: 07,2543 30063 CA ITEMP3
011843,000587: 07,2544 50070 INDEX RUPTREG1
011844,000588: 07,2545 54000 TS 0 # STORE CDUY
011845,000589: 07,2546 30064 CA ITEMP4
011846,000590: 07,2547 50070 INDEX RUPTREG1
011847,000591: 07,2550 54002 TS 2 # STORE CDUZ
011848,000592: 07,2551 30065 CA ITEMP5
011849,000593: 07,2552 50070 INDEX RUPTREG1
011850,000594: 07,2553 54004 TS 4 # STORE CDUX
011851,000595: 07,2554 02514 TC MARKTYPE # IF SURFACE MARK- JUST DO SURFJOB
011852,000596: 07,2555 12604 TCF SURFJOB
011853,000597:
011854,000598: 07,2556 34737 CAF BIT13 # CLEAR BIT13 TO SHOW MARK MADE
011855,000599: 07,2557 61547 AD XYMARK # SET MARK ID IN MARKSTAT
011856,000600: 07,2560 40000 COM
011857,000601: 07,2561 71312 MASK MARKSTAT
011858,000602: 07,2562 61547 AD XYMARK
011859,000603: 07,2563 55312 TS MARKSTAT
011860,000604: 07,2564 75015 MASK PRIO3 # SEE IF X, Y MARK MADE
011861,000605: 07,2565 54001 TS L
011862,000606:
Page 274 |
011864,000608: 07,2566 35015 CA PRIO3
011865,000609: 07,2567 00006 EXTEND
011866,000610: 07,2570 06001 RXOR LCHAN
011867,000611: 07,2571 10000 CCS A
011868,000612: 07,2572 12577 TCF REMARK # NOT PAIR YET, DISPLAY MARK ACTION
011869,000613: 07,2573 41312 CS MARKSTAT # MARK PAIR COMPLETE-SET BIT14
011870,000614: 07,2574 74736 MASK BIT14
011871,000615: 07,2575 27312 ADS MARKSTAT
011872,000616: 07,2576 12577 TCF REMARK # GO DISPLAY V54
011873,000617:
Page 275 |
011875,000619: 07,2577 35015 REMARK CAF PRIO3 # BITS 10 AND 11
011876,000620: 07,2600 71312 MASK MARKSTAT
011877,000621: 07,2601 00006 EXTEND
011878,000622: 07,2602 74746 MP BIT6 # SHIFT MARK IDS TO BE 0 TO 3 FOR INDEX
011879,000623: 07,2603 55550 TS MKDEX # STORE VERB INDEX
011880,000624: 07,2604 35025 SURFJOB CAF PRIO15
011881,000625: 07,2605 05072 TC NOVAC # ENTER JOB TO CHANGE DISPLAY TO
011882,000626: 07,2606 E7,1547 EBANK= XYMARK # REQUEST NEXT ACTION
011883,000627: 07,2606 02611 16067 2CADR CHANGEVB
011884,000628:
011885,000629: 07,2610 05270 TC RESUME
011886,000630:
011887,000631: 07,2611 02514 CHANGEVB TC MARKTYPE
011888,000632: 07,2612 12627 TCF DSPV6N79 # SURFACE-DISPLAY V 06 N 79
011889,000633: 07,2613 51550 INDEX MKDEX # INFLIGHT-PICK UP MARK VB INDEX
011890,000634: 07,2614 32616 CAF MKVB54
011891,000635: 07,2615 02211 TC PASTIT # PASTE UP NEXT MK VERB DISPLAY
011892,000636:
011893,000637: # THE FOUR MKVBS ARE INDEXED-THEIR ORDER CANNOT BE CHANGED
011894,000638:
011895,000639: 07,2616 15507 MKVB54 VN 5471 # MAKE X OR Y MARK
011896,000640: 07,2617 15307 MKVB53 VN 5371 # MAKE Y MARK
011897,000641: 07,2620 15107 MKVB52 VN 5271 # MAKE X MARK
011898,000642: 07,2621 15507 MKVB54* VN 5471 # MAKE X OR Y MARK
011899,000643: 07,2622 04000 00000 DP1/8 2DEC .125
011900,000644: 07,2624 00034 OCT34 OCT 34
011901,000645: 07,2625 01507 V06N71 VN 671
011902,000646: 07,2626 01517 V06N79* VN 679
011903,000647:
Page 276 |
011905,000649: # ROUTINE TO REQUEST CURSOR AND SPIRAL MEASUREMENTS
011906,000650: 07,2627 COUNT* $$/R59
011907,000651:
011908,000652: 07,2627 32626 DSPV6N79 CAF V06N79* # CURSOR-SPIRAL DISPLAY
011909,000653: 07,2630 04616 TC BANKCALL
011910,000654: 07,2631 20212 CADR GOMARKF
011911,000655:
011912,000656: 07,2632 16001 TCF GOTOPOOH # V34-TERMINATE
011913,000657: 07,2633 12641 TCF SURFEND # V33-PROCEED, END MARKING
011914,000658: 07,2634 34746 CAF BIT6 # IF V32(OCT40) IN MPAC DO RECYCLE
011915,000659: 07,2635 70154 MASK MPAC # OTHERWISE IT IS LOAD VB ENTER SO
011916,000660: 07,2636 10000 CCS A # RE-DISPLAY V06N79
011917,000661: 07,2637 12645 TCF SURFAGAN # VB32-RECYCLE
011918,000662: 07,2640 12627 TCF DSPV6N79 # ENTER
011919,000663:
011920,000664: 07,2641 44736 SURFEND CS BIT14 # SET BIT14 TO SHOW MARK END
011921,000665: 07,2642 71312 MASK MARKSTAT
011922,000666: 07,2643 64736 AD BIT14
011923,000667: 07,2644 55312 TS MARKSTAT
011924,000668:
011925,000669: 07,2645 31045 SURFAGAN CA CURSOR
011926,000670: 07,2646 51550 INDEX MKDEX # HOLDS VAC AREA POINTER FOR SURF MARKING
011927,000671: 07,2647 54001 TS 1 # STORE CURSOR SP 2COMP
011928,000672: 07,2650 31046 CA SPIRAL
011929,000673: 07,2651 51550 INDEX MKDEX
011930,000674: 07,2652 54003 TS 3 # STORE SPIRAL
011931,000675:
011932,000676: 07,2653 41312 CS MARKSTAT # IF BIT 14 SET-END MARKING
011933,000677: 07,2654 74736 MASK BIT14
011934,000678: 07,2655 00006 EXTEND
011935,000679: 07,2656 12216 BZF MARKCHEX
011936,000680: 07,2657 31546 CA MARKCNTR # THIS IS RECYCLE-SEE IF 5 MARKS ALREADY
011937,000681: 07,2660 64753 AD ONE
011938,000682: 07,2661 40000 COM
011939,000683: 07,2662 64756 AD FIVE
011940,000684: 07,2663 00006 EXTEND
011941,000685: 07,2664 62454 BZMF 5MKALARM # CANT RECYCLE-TO MANY MARKS-ALARM
011942,000686: 07,2665 25546 INCR MARKCNTR # OF FOR RECYCLE-INCR COUNTER
011943,000687: 07,2666 12205 TCF GETMKS +3 # GO DISPLAY MARK VB
End of include-file AOTMARK.agc. Parent file is MAIN.agc