Source Code
|
These source-code files are part of a reconstructed copy of LUM69 Revision 2, the
flown Apollo 10 Lunar Module (LM) Apollo Guidance Computer (AGC) software.
The reconstruction began with source code of Luminary 69 revision 0 previously transcribed from a digitized copy of that program. The code was then updated by back-porting the R-2 lunar potential model from previously-transcribed source code of Luminary 99. These required changes were described in the original Luminary memos 75 and 78. The reconstructed code was verified by matching memory-bank checksums to those listed in drawing 2021152G. Note that page numbers in the reconstructed code match those on the Luminary 069 printout, although the added code would likely have changed page numbers for a real LUM69 Revision 2 listing. 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. |
016610,000002: ## Copyright: Public domain.
016611,000003: ## Filename: IMU_PERFORMANCE_TESTS_2.agc
016612,000004: ## Purpose: A section of LUM69 revision 2.
016613,000005: ## It is part of the reconstructed source code for the flown
016614,000006: ## version of the flight software for the Lunar Module's (LM)
016615,000007: ## Apollo Guidance Computer (AGC) for Apollo 10. The code has
016616,000008: ## been recreated from a copy of Luminary revsion 069, using
016617,000009: ## changes present in Luminary 099 which were described in
016618,000010: ## Luminary memos 75 and 78. The code has been adapted such
016619,000011: ## that the resulting bugger words exactly match those specified
016620,000012: ## for LUM69 revision 2 in NASA drawing 2021152B, which gives
016621,000013: ## relatively high confidence that the reconstruction is correct.
016622,000014: ## Reference: pp. 386-394
016623,000015: ## Assembler: yaYUL
016624,000016: ## Contact: Ron Burkey <info@sandroid.org>.
016625,000017: ## Website: www.ibiblio.org/apollo/index.html
016626,000018: ## Mod history: 2019-07-27 MAS Created from Luminary 69.
016627,000019:
|
Page 386 |
016629,000021: # NAME- IMU PERFORMANCE TESTS 2
016630,000022:
016631,000023: # DATE- MARCH 20, 1967
016632,000024:
016633,000025: # BY- SYSTEM TEST GROUP 864-6900 EXT. 1274
016634,000026:
016635,000027: # MODNO.- ZERO
016636,000028:
016637,000029: # FUNCTIONAL DESCRIPTION
016638,000030:
016639,000031: # POSITIONING ROUTINES FOR THE IMU PERFORMANCE TESTS AS WELL AS SOME OF
016640,000032: # THE TESTS THEMSELVES. FOR A DESCRIPTION OF THESE SUBROUTINES AND THE
016641,000033: # OPERATING PROCEDURES (TYPICALLY) SEE STG MEMO 685.THEORETICAL REF.E-1973
016642,000034:
016643,000035: 33,2045 BANK 33
016644,000036: 37,2000 SETLOC IMU2
016645,000037: 37,2000 BANK
016646,000038: 37,2002 E5,1416 EBANK= POSITON
016647,000039: 37,2002 COUNT* $$/P07
016648,000040:
016649,000041: 37,2002 05311 REDO TC NEWMODEX
016650,000042: 37,2003 00007 MM 07 B-14
016651,000043:
016652,000044: 37,2004 02325 GEOIMUTT TC IMUZERR
016653,000045: 37,2005 34755 IMUBACK CA ZERO
016654,000046: 37,2006 55414 TS NDXCTR
016655,000047: 37,2007 55440 TS TORQNDX
016656,000048: 37,2010 55441 TS TORQNDX +1
016657,000049: 37,2011 55576 TS OVFLOWCK
016658,000050: 37,2012 34361 NBPOSPL CA DEC17
016659,000051: 37,2013 55571 TS ZERONDX
016660,000052: 37,2014 32476 CA XNBADR
016661,000053: 37,2015 02367 TC ZEROING
016662,000054: 37,2016 34736 CA HALF
016663,000055: 37,2017 55664 TS XNB
016664,000056: 37,2020 06036 GUESS TC INTPRET
016665,000057: 37,2021 62545 LATAZCHK DLOAD SL2
016666,000058: 37,2022 02403 LATITUDE
016667,000059: 37,2023 15047 STODL DSPTEM1 +1
016668,000060: 37,2024 02401 AZIMUTH
016669,000061: 37,2025 77434 RTB EXIT
016670,000062: 37,2026 21520 1STO2S
016671,000063: 37,2027 56154 XCH MPAC
016672,000064: 37,2030 55045 TS DSPTEM1
016673,000065: 37,2031 32473 CAF VN0641
016674,000066: 37,2032 04616 TC BANKCALL
016675,000067: 37,2033 20351 CADR GOFLASH
016676,000068: 37,2034 02270 TC ENDTEST1
016677,000069: 37,2035 02037 TC +2
016678,000070: 37,2036 02031 TC -5
|
Page 387 |
016680,000072: 37,2037 06036 TC INTPRET
016681,000073: 37,2040 47135 SLOAD RTB
016682,000074: 37,2041 01046 DSPTEM1
016683,000075: 37,2042 21465 CDULOGIC
016684,000076: 37,2043 02401 STORE AZIMUTH
016685,000077: 37,2044 60535 SLOAD SR2
016686,000078: 37,2045 01047 DSPTEM1 +1
016687,000079: 37,2046 02403 STORE LATITUDE
016688,000080: 37,2047 57546 COS DCOMP
016689,000081: 37,2050 77752 SL1
016690,000082: 37,2051 16437 STODL WANGI
016691,000083: 37,2052 02403 LATITUDE
016692,000084: 37,2053 72556 SIN SL1
016693,000085: 37,2054 16435 STODL WANGO
016694,000086: 37,2055 02401 AZIMUTH
016695,000087: 37,2056 73406 PUSH SIN
016696,000088: 37,2057 02675 STORE YNB +2
016697,000089: 37,2060 16705 STODL ZNB +4
016698,000090: 37,2061 77746 COS
016699,000091: 37,2062 02677 STORE YNB +4
016700,000092: 37,2063 77676 DCOMP
016701,000093: 37,2064 36703 POSGMBL STCALL ZNB +2
016702,000094: 37,2065 47255 CALCGA
016703,000095: 37,2066 77776 EXIT
016704,000096: 37,2067 04616 TC BANKCALL
016705,000097: 37,2070 16753 CADR IMUCOARS
016706,000098: 37,2071 34736 CAF BIT14 # IF BIT14 SET, GIMBAL LOCK
016707,000099: 37,2072 70077 MASK FLAGWRD3
016708,000100: 37,2073 00006 EXTEND
016709,000101: 37,2074 12076 BZF +2
016710,000102: 37,2075 25414 INCR NDXCTR # +1 IF IN GIMBAL LOCK, OTHERWISE 0
016711,000103: 37,2076 05516 TC DOWNFLAG
016712,000104: 37,2077 00056 ADRES GLOKFAIL # RESET GIMBAL LOCK FLAG
016713,000105: 37,2100 02315 TC IMUSLLLG
016714,000106: 37,2101 11414 CCS NDXCTR # IF ONE GO AND DO A PIPA TEST ONLY
016715,000107: 37,2102 02126 TC PIPACHK # ALIGN AND MEASURE VERTICAL PIPA RATE
016716,000108: 37,2103 02320 TC FINIMUDD
016717,000109: 37,2104 00006 EXTEND
016718,000110: 37,2105 31575 DCA PERFDLAY
016719,000111: 37,2106 05277 TC LONGCALL # DELAY WHILE SUSPENSION STABILIZES
016720,000112: 37,2107 E5,1416 EBANK= POSITON
016721,000113: 37,2107 02113 76065 2CADR GOESTIMS
016722,000114:
016723,000115: 37,2111 32116 CA ESTICADR
016724,000116: 37,2112 05133 TC JOBSLEEP
016725,000117: 37,2113 32116 GOESTIMS CA ESTICADR
016726,000118: 37,2114 05137 TC JOBWAKE
016727,000119: 37,2115 05261 TC TASKOVER
016728,000120: 37,2116 76500 ESTICADR CADR ESTIMS
016729,000121: 37,2117 34755 TORQUE CA ZERO
|
Page 388 |
016731,000123: 37,2120 55050 TS DSPTEM2
016732,000124: 37,2121 31504 CA DRIFTI
016733,000125: 37,2122 55051 TS DSPTEM2 +1
016734,000126: 37,2123 51416 INDEX POSITON
016735,000127: 37,2124 55420 TS SOUTHDR -1
016736,000128: 37,2125 02457 TC SHOW
016737,000129:
016738,000130: 37,2126 51414 PIPACHK INDEX NDXCTR # PIPA TEST
016739,000131: 37,2127 02130 TC +1
016740,000132: 37,2130 02447 TC EARTHR*
016741,000133: 37,2131 34361 CA DEC17 # ALLOW PIP COUNTER TO OVERFLOW 17 TIMES
016742,000134: 37,2132 55476 TS DATAPL +4 # IN THE ALLOTED TIME INTERVAL
016743,000135: 37,2133 32474 CA DEC58
016744,000136: 37,2134 55412 TS LENGTHOT
016745,000137: 37,2135 34753 CA ONE
016746,000138: 37,2136 55537 TS RESULTCT
016747,000139: 37,2137 34755 CA ZERO
016748,000140: 37,2140 51415 INDEX PIPINDEX
016749,000141: 37,2141 54037 TS PIPAX
016750,000142: 37,2142 55472 TS DATAPL
016751,000143: 37,2143 02332 TC CHECKG
016752,000144: 37,2144 00004 INHINT
016753,000145: 37,2145 34752 CAF TWO
016754,000146: 37,2146 05173 TC TWIDDLE
016755,000147: 37,2147 E5,1642 EBANK= XSM
016756,000148: 37,2147 02151 ADRES PIPATASK
016757,000149: 37,2150 05155 TC ENDOFJOB
016758,000150:
016759,000151: 37,2151 00006 PIPATASK EXTEND
016760,000152: 37,2152 27412 DIM LENGTHOT
016761,000153: 37,2153 31412 CA LENGTHOT
016762,000154: 37,2154 00006 EXTEND
016763,000155: 37,2155 62161 BZMF STARTPIP
016764,000156: 37,2156 34742 CAF BIT10
016765,000157: 37,2157 05173 TC TWIDDLE
016766,000158: 37,2160 E5,1642 EBANK= XSM
016767,000159: 37,2160 02151 ADRES PIPATASK
016768,000160: 37,2161 34736 STARTPIP CAF PRIO20
016769,000161: 37,2162 05105 TC FINDVAC
016770,000162: 37,2163 E5,1642 EBANK= XSM
016771,000163: 37,2163 02166 76065 2CADR PIPJOBB
016772,000164:
016773,000165: 37,2165 05261 TC TASKOVER
016774,000166:
016775,000167: 37,2166 51414 PIPJOBB INDEX NDXCTR
016776,000168: 37,2167 02170 TC +1
016777,000169: 37,2170 02447 TC EARTHR*
016778,000170: 37,2171 31412 CA LENGTHOT
|
Page 389 |
016780,000172: 37,2172 00006 EXTEND
016781,000173: 37,2173 62175 BZMF +2
016782,000174: 37,2174 05155 TC ENDOFJOB
016783,000175:
016784,000176: 37,2175 34756 CA FIVE
016785,000177: 37,2176 55537 TS RESULTCT
016786,000178: 37,2177 02332 TC CHECKG
016787,000179: 37,2200 11473 CCS DATAPL +1
016788,000180: 37,2201 02205 TC +4
016789,000181: 37,2202 05677 TC CCSHOLE
016790,000182: 37,2203 41476 CS DATAPL +4
016791,000183: 37,2204 55476 TS DATAPL +4
016792,000184: 37,2205 00006 EXTEND
016793,000185: 37,2206 41473 DCS DATAPL
016794,000186: 37,2207 21477 DAS DATAPL +4
016795,000187:
016796,000188: 37,2210 06036 TC INTPRET
016797,000189: 37,2211 45345 DLOAD DSU
016798,000190: 37,2212 02501 DATAPL +6
016799,000191: 37,2213 02475 DATAPL +2
016800,000192: 37,2214 45044 BPL CALL
016801,000193: 37,2215 76217 AINGOTN
016802,000194: 37,2216 76275 OVERFFIX
016803,000195: 37,2217 56325 AINGOTN PDDL DDV
016804,000196: 37,2220 02477 DATAPL +4
016805,000197: 37,2221 47075 DMPR RTB
016806,000198: 37,2222 37056 DEC585 # DEC585 HAS BEEN REDEFINED FOR LEM
016807,000199: 37,2223 21516 SGNAGREE
016808,000200: 37,2224 01051 STORE DSPTEM2
016809,000201: 37,2225 77776 EXIT
016810,000202: 37,2226 11414 CCS NDXCTR
016811,000203: 37,2227 02301 TC COAALIGN # TAKE PLATFORM OUT OF GIMBAL LOCK
016812,000204: 37,2230 02457 TC SHOW
016813,000205: 37,2231 32471 VERTDRFT CA 3990DEC # ABOUT 1 HOUR VERTICAL DRIFT TEST
016814,000206: 37,2232 55412 TS LENGTHOT
016815,000207: 37,2233 51416 INDEX POSITON
016816,000208: 37,2234 41417 CS SOUTHDR -2
016817,000209: 37,2235 55442 TS DRIFTT
016818,000210: 37,2236 11415 CCS PIPINDEX # OFFSET PLATFORM TO MISS PIP DEAD-ZONES
016819,000211: 37,2237 12245 TCF PON4 # Z UP IN POS 4
016820,000212: 37,2240 44747 PON2 CS BIT5 # X UP
016821,000213: 37,2241 27565 ADS ERCOMP +2
016822,000214: 37,2242 34747 CA BIT5
016823,000215: 37,2243 27567 ADS ERCOMP +4
016824,000216: 37,2244 12251 TCF PON
016825,000217: 37,2245 44747 PON4 CS BIT5
016826,000218: 37,2246 27565 ADS ERCOMP +2
016827,000219: 37,2247 34747 CA BIT5
016828,000220: 37,2250 27563 ADS ERCOMP
016829,000221: 37,2251 02447 PON TC EARTHR*
|
Page 390 |
016831,000223: 37,2252 34755 CA ZERO # ALLOW ONLY SOUTH GYRO EARTH RATE COMPENS
016832,000224: 37,2253 55404 TS ERVECTOR
016833,000225: 37,2254 55405 TS ERVECTOR +1
016834,000226: 37,2255 34733 GUESS1 CAF POSMAX
016835,000227: 37,2256 55440 TS TORQNDX
016836,000228: 37,2257 55441 TS TORQNDX +1
016837,000229: 37,2260 30032 CA CDUX
016838,000230: 37,2261 55413 TS LOSVEC
016839,000231: 37,2262 02500 TC ESTIMS
016840,000232: 37,2263 31502 VALMIS CA DRIFTO
016841,000233: 37,2264 55051 TS DSPTEM2 +1
016842,000234: 37,2265 34755 CA ZERO
016843,000235: 37,2266 55050 TS DSPTEM2
016844,000236: 37,2267 02457 TC SHOW
016845,000237:
016846,000238: 37,2270 05516 ENDTEST1 TC DOWNFLAG
016847,000239: 37,2271 00007 ADRES IMUSE
016848,000240: 37,2272 44755 CS ZERO
016849,000241: 37,2273 05314 TC NEWMODEA
016850,000242: 37,2274 05472 TC ENDEXT
016851,000243:
|
Page 391 |
016853,000245: 37,2275 43215 OVERFFIX DAD DAD
016854,000246: 37,2276 06432 DPPOSMAX
016855,000247: 37,2277 37064 ONEDPP
016856,000248: 37,2300 77616 RVQ
016857,000249:
016858,000250: 37,2301 00006 COAALIGN EXTEND # COARSE ALIGN SUBROUTINE
016859,000251: 37,2302 23571 QXCH ZERONDX
016860,000252: 37,2303 34755 CA ZERO
016861,000253: 37,2304 54321 TS THETAD
016862,000254: 37,2305 54322 TS THETAD +1
016863,000255: 37,2306 54323 TS THETAD +2
016864,000256: 37,2307 04616 TC BANKCALL
016865,000257: 37,2310 16753 CADR IMUCOARS
016866,000258: 37,2311 04616 ALIGNCOA TC BANKCALL
016867,000259: 37,2312 17671 CADR IMUSTALL
016868,000260: 37,2313 03047 TC SOMERR2
016869,000261: 37,2314 01571 TC ZERONDX
016870,000262:
016871,000263: 37,2315 00006 IMUSLLLG EXTEND
016872,000264: 37,2316 23571 QXCH ZERONDX
016873,000265: 37,2317 02311 TC ALIGNCOA
016874,000266:
016875,000267: 37,2320 00006 FINIMUDD EXTEND
016876,000268: 37,2321 23571 QXCH ZERONDX
016877,000269: 37,2322 04616 TC BANKCALL
016878,000270: 37,2323 17163 CADR IMUFINE
016879,000271: 37,2324 02311 TC ALIGNCOA
016880,000272:
016881,000273: 37,2325 00006 IMUZERR EXTEND
016882,000274: 37,2326 23571 QXCH ZERONDX
016883,000275: 37,2327 04616 TC BANKCALL
016884,000276: 37,2330 16667 CADR IMUZERO
016885,000277: 37,2331 02311 TC ALIGNCOA
016886,000278:
016887,000279: 37,2332 00006 CHECKG EXTEND # PIP PULSE CATCHING ROUTINE
016888,000280: 37,2333 23417 QXCH QPLACE
016889,000281: 37,2334 02342 TC +6
016890,000282: 37,2335 00003 CHECKG1 RELINT
016891,000283: 37,2336 30067 CA NEWJOB
016892,000284: 37,2337 00006 EXTEND
016893,000285: 37,2340 62346 BZMF +6
016894,000286: 37,2341 05122 TC CHANG1
016895,000287: 37,2342 00004 INHINT
016896,000288: 37,2343 51415 INDEX PIPINDEX
016897,000289: 37,2344 40037 CS PIPAX
016898,000290: 37,2345 55571 TS ZERONDX
016899,000291: 37,2346 00004 INHINT
|
Page 392 |
016901,000293: 37,2347 51415 INDEX PIPINDEX
016902,000294: 37,2350 30037 CA PIPAX
016903,000295: 37,2351 61571 AD ZERONDX
016904,000296: 37,2352 00006 EXTEND
016905,000297: 37,2353 12335 BZF CHECKG1
016906,000298: 37,2354 51415 INDEX PIPINDEX
016907,000299: 37,2355 30037 CA PIPAX
016908,000300: 37,2356 51537 INDEX RESULTCT
016909,000301: 37,2357 55472 TS DATAPL
016910,000302: 37,2360 04102 TC FINETIME
016911,000303: 37,2361 51537 INDEX RESULTCT
016912,000304: 37,2362 55473 TS DATAPL +1
016913,000305: 37,2363 51537 INDEX RESULTCT
016914,000306: 37,2364 23474 LXCH DATAPL +2
016915,000307: 37,2365 00003 RELINT
016916,000308: 37,2366 01417 ENDCHKG TC QPLACE
016917,000309:
016918,000310: 37,2367 54001 ZEROING TS L
016919,000311: 37,2370 12372 TCF +2
016920,000312: 37,2371 55571 ZEROING1 TS ZERONDX
016921,000313: 37,2372 34755 CAF ZERO
016922,000314: 37,2373 50001 INDEX L
016923,000315: 37,2374 54000 TS 0
016924,000316: 37,2375 24001 INCR L
016925,000317: 37,2376 11571 CCS ZERONDX
016926,000318: 37,2377 12371 TCF ZEROING1
016927,000319: 37,2400 00002 TC Q
016928,000320:
|
Page 393 |
016930,000322: 37,2401 65345 ERTHRVSE DLOAD PDDL
016931,000323: 37,2402 37057 SCHZEROS # PD24 = (SIN -COS 0)(OMEG/MS)
016932,000324: 37,2403 02403 LATITUDE
016933,000325: 37,2404 57546 COS DCOMP
016934,000326: 37,2405 73525 PDDL SIN
016935,000327: 37,2406 02403 LATITUDE
016936,000328: 37,2407 74266 VDEF VXSC
016937,000329: 37,2410 36001 OMEG/MS
016938,000330: 37,2411 02405 STORE ERVECTOR
016939,000331: 37,2412 77634 RTB
016940,000332: 37,2413 21462 LOADTIME
016941,000333: 37,2414 26433 STOVL TMARK
016942,000334: 37,2415 37057 SCHZEROS
016943,000335: 37,2416 02564 STORE ERCOMP
016944,000336: 37,2417 77616 RVQ
016945,000337:
016946,000338: 37,2420 47020 EARTHR ITA RTB
016947,000339: 37,2421 00051 S2
016948,000340: 37,2422 21462 LOADTIME
016949,000341: 37,2423 02431 STORE TEMPTIME
016950,000342: 37,2424 51025 DSU BPL
016951,000343: 37,2425 02433 TMARK
016952,000344: 37,2426 76431 ERTHR
016953,000345: 37,2427 77624 CALL
016954,000346: 37,2430 76275 OVERFFIX
016955,000347: 37,2431 74261 ERTHR SL VXSC
016956,000348: 37,2432 20212 9D
016957,000349: 37,2433 02405 ERVECTOR
016958,000350: 37,2434 53321 MXV VAD
016959,000351: 37,2435 02643 XSM
016960,000352: 37,2436 02564 ERCOMP
016961,000353: 37,2437 16564 STODL ERCOMP
016962,000354: 37,2440 02431 TEMPTIME
016963,000355: 37,2441 02433 STORE TMARK
016964,000356: 37,2442 47170 AXT,1 RTB
016965,000357: 37,2443 02563 ECADR ERCOMP
016966,000358: 37,2444 21625 PULSEIMU
016967,000359: 37,2445 77650 GOTO
016968,000360: 37,2446 00051 S2
016969,000361:
016970,000362: 37,2447 00006 EARTHR* EXTEND
016971,000363: 37,2450 23420 QXCH QPLACES
016972,000364: 37,2451 06036 TC INTPRET
016973,000365: 37,2452 77624 CALL
016974,000366: 37,2453 76420 EARTHR
016975,000367: 37,2454 77776 EXIT
016976,000368: 37,2455 02315 TC IMUSLLLG
016977,000369: 37,2456 01420 TC QPLACES
016978,000370:
016979,000371: 37,2457 00006 SHOW EXTEND
|
Page 394 |
016981,000373: 37,2460 23417 QXCH QPLACE
016982,000374: 37,2461 31416 SHOW1 CA POSITON
016983,000375: 37,2462 55052 TS DSPTEM2 +2
016984,000376: 37,2463 32472 CA VB06N98
016985,000377: 37,2464 04616 TC BANKCALL
016986,000378: 37,2465 20351 CADR GOFLASH
016987,000379: 37,2466 02270 TC ENDTEST1 # V 34
016988,000380: 37,2467 01417 TC QPLACE # V33
016989,000381: 37,2470 12461 TCF SHOW1
016990,000382:
016991,000383: 37,2471 07626 3990DEC DEC 3990 B-14
016992,000384: 37,2472 01542 VB06N98 VN 0698
016993,000385: 37,2473 01451 VN0641 VN 0641
016994,000386: 37,2474 4361 DEC17 = ND1
016995,000387: 37,2474 00072 DEC58 DEC 58 B-14
016996,000388: 37,2475 02737 OGCPL ECADR OGC
016997,000389: 37,2476 4777 1SECX = 1SEC
016998,000390: 37,2476 01664 XNBADR GENADR XNB
016999,000391: 37,2477 01642 XSMADR GENADR XSM
017000,000392: 4102 BLOCK 2
017001,000393: 4102 COUNT* $$/P07
017002,000394: 4102 00004 FINETIME INHINT # RETURNS WITH INTERRUPT INHIBITED
017003,000395: 4103 00006 EXTEND
017004,000396: 4104 00004 READ LOSCALAR
017005,000397: 4105 54001 TS L
017006,000398: 4106 00006 EXTEND
017007,000399: 4107 06004 RXOR LOSCALAR
017008,000400: 4110 00006 EXTEND
017009,000401: 4111 14115 BZF +4
017010,000402: 4112 00006 EXTEND
017011,000403: 4113 00004 READ LOSCALAR
017012,000404: 4114 54001 TS L
017013,000405: 4115 44733 +4 CS POSMAX
017014,000406: 4116 60001 AD L
017015,000407: 4117 00006 EXTEND
017016,000408: 4120 14103 BZF FINETIME +1
017017,000409: 4121 00006 EXTEND
017018,000410: 4122 00003 READ HISCALAR
017019,000411: 4123 00002 TC Q
017020,000412:
End of include-file IMU_PERFORMANCE_TESTS_2.agc. Parent file is MAIN.agc