Source Code
These source-code files were transcribed from a printout in Don Eyles's personal
collection, scanned by archive.org, and financially sponsored by Peter McDermott.
A team of volunteers performed the transcription and proof-reading. The scanned
page images are available at
the Virtual AGC Project website, as well as higher-quality (but much larger)
images at
the Virtual AGC Project's collection in the Internet Archive. Report any problems by creating
"issues" at
the Virtual AGC Project's GitHub Repository. Notations on the program listing read, in part: YUL SYSTEM FOR AGC: NEW PROGRAM SHEPATIN BY EYLES DEC 13, 1966 THIS PROGRAM WAS ASSEMBLED AS A VERSION OF REVISION 37 OF PROGRAM SUNBURST BY LEM GROUPNote that the date is the date of the printout, not the date of the program revision. |
030504,000002: ## Copyright: Public domain.
030505,000003: ## Filename: MISSION_PHASE_8_-_DPS_COLD_SOAK.agc
030506,000004: ## Purpose: A section of Sunburst revision 37, or Shepatin revision 0.
030507,000005: ## It is part of an early development version of the software
030508,000006: ## for Apollo Guidance Computer (AGC) on the unmanned Lunar
030509,000007: ## Module (LM) flight Apollo 5. Sunburst 37 was the program
030510,000008: ## upon which Don Eyles's offline development program Shepatin
030511,000009: ## was based; the listing herein transcribed was actually for
030512,000010: ## the equivalent revision 0 of Shepatin.
030513,000011: ## This file is intended to be a faithful transcription, except
030514,000012: ## that the code format has been changed to conform to the
030515,000013: ## requirements of the yaYUL assembler rather than the
030516,000014: ## original YUL assembler.
030517,000015: ## Reference: pp. 676-683
030518,000016: ## Assembler: yaYUL
030519,000017: ## Contact: Ron Burkey <info@sandroid.org>.
030520,000018: ## Website: www.ibiblio.org/apollo/index.html
030521,000019: ## Mod history: 2017-05-24 MAS Created from Sunburst 120.
030522,000020: ## 2017-06-14 RSB Transcribed.
030523,000021: ## 2017-06-15 HG Fix vlaue OCT 00054 -> OCT 00034
030524,000022: ## 2017-06-22 RSB Proofed comment text with
030525,000023: ## octopus/ProoferComments.
030526,000024:
Page 676 |
030528,000026: 27,2555 BANK 27
030529,000027: 27,2555 E3,1652 EBANK= RATEINDX
030530,000028:
030531,000029: # PROGRAM DESCRIPTION- DATE- 07 DEC 66
030532,000030:
030533,000031: # MOD NO- 4 LOG SECTION-
030534,000032: # MOD BY- ELIASSEN MISSION PHASE 8 - DPS COLD SOAK
030535,000033: # FUNCTIONAL DESCRIPTION-
030536,000034:
030537,000035: # 0/54/23 START MISSION PHASE 8 WHEN MISSION TIMER 4 COUNTS TO ZERO.
030538,000036:
030539,000037: # CHANGE MAJOR MODE TO 15.
030540,000038:
030541,000039: # DO DFI T/M CALIBRATION (14 SECONDS).
030542,000040:
030543,000041: # WAIT 1 SECOND
030544,000042:
030545,000043: # 0/54/38 LMP COMMANDS-
030546,000044: # LANDING RADAR POWER ON*
030547,000045: # RADAR SELF TEST ON*
030548,000046:
030549,000047: # CALL TO CALCULATE REQUIRED ATTITUDE
030550,000048: # FOR DPS COLD SOAK -
030551,000049: # LM X-AXIS NORMAL TO THE ECLIPTIC PLANE
030552,000050: # AND BISECTOR OF LM +Z/-Y AXES TOWARD THE SUN.
030553,000051:
030554,000052: # CHANGE THE ATTITUDE OF THE
030555,000053: # SPACECRAFT TO THAT REQUIRED FOR DPS COLD SOAK
030556,000054: # USING KALCMANU ROUTINE - MANEUVER RATE= 5 DEG/SEC.
030557,000055:
030558,000056: # WAIT 60 SECONDS
030559,000057:
030560,000058: # LMP COMMAND-
030561,000059: # RADAR SELF TEST OFF*
030562,000060:
030563,000061: # WAIT 60 SECONDS
030564,000062:
030565,000063: # 0/56/38 LMP COMMAND-
030566,000064: # LANDING RADAR POWER OFF*
030567,000065:
030568,000066: # WAIT 15 SECONDS
030569,000067:
030570,000068: # 0/56/53 VERIFY THAT MANEUVER IS COMPLETE.
030571,000069: # (IF NOT GO TO CURTAINS)
030572,000070:
030573,000071: # SET MAXIMUM DEADBAND FOR LM-DAP.
030574,000072:
030575,000073: # CALL SCHEDULE ENTRY ROUTINE FOR DPS 1 WITH
030576,000074: # J=2
030577,000075: # MP=9
030578,000076:
030579,000077: # DT= 2H 59M 14S
030580,000078:
Page 677 |
030582,000080: # SUBROUTINES CALLED-
030583,000081: # FINDVAC, ENDOFJOB
030584,000082: # WAITLIST, TASKOVER
030585,000083: # NEWMODEX, MPENTRY, PHASCHNG, 2PHSCHNG
030586,000084: # INTPRET, BANKCALL, IBNKCALL, ATTSTALL, CURTAINS, POOH
030587,000085: # FLAG1DWN, FLAG2DWN, SETMINDB, SETMAXDB
030588,000086: # KALCMAN3, DCMTOCDU, V1STO2S
030589,000087: # 1LMP, 1LMP+DT, 2LMP+DT
030590,000088:
030591,000089: # NORMAL EXIT MODES-
030592,000090: # TC ENDOFJOB/TASKOVER
030593,000091: # ALARM OR ABORT EXIT MODES- NONE
030594,000092: # OUTPUT- (INTERFACE, DISPLAYS, MEANINGFUL INFORMATION LEFT IN ERASABLE)
030595,000093: # SAME AS FOR KALCMANU
030596,000094: # ERASABLE INITIALIZATION REQUIRED-
030597,000095: # TEPHEM IN CENTISECONDS TRIPLE PRECISION
030598,000096: # MP8TO9 DT FOR CALLING MP9- IN SECONDS(SEE ABOVE)
030599,000097:
030600,000098: # DEBRIS- (ERASABLE LOCATIONS DESTROYED BY THIS PROGRAM)
030601,000099: # SAME AS FOR KALCMANU
030602,000100: 27,2555 7740 PRIOKM EQUALS PRIO20 # PRIORITY FOR KALCMANU PHASE 8 + 16
030603,000101: 27,2555 04105 MP8JOB TC NEWMODEX # UPDATE PROGRAM NUMBER
030604,000102: 27,2556 00015 OCT 15 # ON DSKY
030605,000103:
030606,000104: 27,2557 33070 CAF 8BOOLS # ASSURE PROPER
030607,000105: 27,2560 54077 TS DAPBOOLS # INITIALIZATION
030608,000106: 27,2561 05224 TC BANKCALL # OF LM DAP
030609,000107: 27,2562 34000 FCADR SETMINDB # FOR MP8
030610,000108:
030611,000109: 27,2563 04147 TC PHASCHNG
030612,000110: 27,2564 05012 OCT 05012
030613,000111: 27,2565 77777 OCT 77777
030614,000112:
030615,000113: 27,2566 37755 CAF ONE # ESTABLISH TASK TO
030616,000114: 27,2567 00004 INHINT # PERFORM DFI T/M CAL.
030617,000115: 27,2570 05701 TC WAITLIST
030618,000116: 27,2571 E3,1652 EBANK= RATEINDX
030619,000117: 27,2571 02575 56003 2CADR MP8TASK
030620,000118:
030621,000119: 27,2573 00003 RELINT
030622,000120: 27,2574 05605 TC ENDOFJOB
030623,000121:
030624,000122: 27,2575 05114 MP8TASK TC 1LMP+DT # LMP COMMAND
030625,000123: 27,2576 00354 DEC 236 B-14 # DFI T/M CALIBRATE ON*
030626,000124: 27,2577 02260 DEC 1200 B-14 # 12 SECONDS DELAY
030627,000125:
030628,000126: 27,2600 05106 TC 2LMP+DT # LMP COMMANDS
030629,000127: 27,2601 00355 DEC 237 B-14 # DFI T/M CALIBRATE OFF*
030630,000128: 27,2602 00306 DEC 198 B-14 # MASTER C+W ALARM RESET** COMMAND
030631,000129: 27,2603 00310 DEC 200 B-14 # 2 SECONDS DELAY
Page 678 |
030633,000131:
030634,000132: 27,2604 05114 TC 1LMP+DT # LMP COMMAND
030635,000133: 27,2605 00307 DEC 199 B-14 # MASTER C+W ALARM RESET- COMMAND RESET
030636,000134: 27,2606 00144 DEC 100 B-14 # 1 SECOND
030637,000135:
030638,000136: 27,2607 37741 M8RADON CAF PRIO10 # SET UP JOB TO CALCULATE
030639,000137: 27,2610 05534 TC FINDVAC # REQ CDU ANGLES
030640,000138: 27,2611 E3,1652 EBANK= RATEINDX
030641,000139: 27,2611 02655 56003 2CADR COLDSOAK
030642,000140:
030643,000141: 27,2613 04127 TC 2PHSCHNG
030644,000142: 27,2614 00034 OCT 00034
030645,000143: 27,2615 05012 OCT 05012
030646,000144: 27,2616 77777 OCT 77777
030647,000145:
030648,000146: 27,2617 05106 TC 2LMP+DT # LMP COMMANDS
030649,000147: 27,2620 00266 DEC 182 B-14 # LANDING RADAR POWER ON*
030650,000148: 27,2621 00032 DEC 26 B-14 # RADAR SELF TEST ON*
030651,000149: 27,2622 13560 DEC 6000 B-14 # WAIT 1 MIN
030652,000150:
030653,000151: 27,2623 05114 TC 1LMP+DT # LMP COMMAND
030654,000152: 27,2624 00033 DEC 27 B-14 # RADAR SELF TEST OFF*
030655,000153: 27,2625 13560 DEC 6000 B-14 # WAIT 1 MIN
030656,000154:
030657,000155: 27,2626 05114 TC 1LMP+DT
030658,000156: 27,2627 00267 DEC 183 B-14 # LANDING RADAR POWER OFF*
030659,000157: 27,2630 02734 DEC 1500 B-14 # 15 SECONDS
030660,000158:
030661,000159: 27,2631 35674 CAF PRIO35 # SET UP JOB TO
030662,000160: 27,2632 05523 TC NOVAC # END MISSION PHASE
030663,000161: 27,2633 E3,1400 EBANK= LST1
030664,000162: 27,2633 02636 56003 2CADR MP9CALL
030665,000163:
030666,000164: 27,2635 05745 TC TASKOVER
030667,000165: 27,2636 30076 MP9CALL CA FLAGWRD2 # CHECK IF MANEUVER
030668,000166: 27,2637 77743 MASK BIT11 # WAS COMPLETED
030669,000167: 27,2640 00006 EXTEND
030670,000168: 27,2641 12643 BZF +2
030671,000169: 27,2642 04732 TC CURTAINS # MANEUVER NOT COMPLETED
030672,000170:
030673,000171: 27,2643 05224 TC BANKCALL
030674,000172: 27,2644 26754 CADR ATTSTALL
030675,000173: 27,2645 04732 TC CURTAINS # SICK RETURN
030676,000174:
030677,000175: # SET LM-DAP DEADBAND TO MAX-
030678,000176:
030679,000177: 27,2646 05224 TC BANKCALL
030680,000178: 27,2647 34012 CADR SETMAXDB
030681,000179:
030682,000180: # CALL MISSION PHASE 9
030683,000181:
030684,000182: 27,2650 05141 TC MPENTRY # MANEUVER SUCCESSFUL
Page 679 |
030686,000184: 27,2651 00002 DEC 2 B-14 # J=2
030687,000185: 27,2652 00011 DEC 9 B-14 # MP=9
030688,000186: 27,2653 01775 ADRES MP8TO9 # DT = 2H 59M 14S
030689,000187: 27,2654 04261 TC POOH # END OF MISSION PHASE 8
030690,000188:
Page 680 |
030692,000190: # CALCULATE CDU ANGLES FOR REQUIRED
030693,000191: # COLDSOAK ATTITUDE - LEM X-AXIS NORMAL TO THE
030694,000192:
030695,000193: # ECLIPTIC AND BISECTOR OF -Y/+Z AXES TOWARD THE SUN.
030696,000194: 27,2655 0144 CSRET EQUALS MPAC
030697,000195: 27,2655 06103 COLDSOAK TC INTPRET
030698,000196: 27,2656 77601 SETPD
030699,000197: 27,2657 00001 0
030700,000198: # CALCULATE TRANSFORMATION MATRIX FROM RCS COLD SOAK ATTITUDE
030701,000199: # TO STABLE MEMBER COORDINATES. CONVERT TO CDU ANGLES.
030702,000200:
030703,000201: 27,2660 54345 DLOAD SR
030704,000202: 27,2661 00025 TIME2
030705,000203: 27,2662 20617 14D
030706,000204: 27,2663 56371 TAD DDV
030707,000205: 27,2664 01772 TEPHEM # TIME IN CENTISEC SINCE PRECEDING JUNE 30
030708,000206: 27,2665 17067 CSPERDAY # CENTISEC PER DAY
030709,000207: 27,2666 77606 PUSH # T/2**9 = (DAYS SINCE JUNE 30TH)/2**9
030710,000208:
030711,000209: # COMPUTE SIN(2*PI*T/365.25), COS(2*PI*T/365.25) WHERE
030712,000210: # T= NUMBER OF DAYS SINCE MIDNIGHT OF PRECEDING JUNE 30TH.
030713,000211:
030714,000212: 27,2667 51025 ALTA DSU BPL # DIMINISH T/2**9 BY 365.25/2**9
030715,000213: 27,2670 17065 ONEYR # UNTIL A NEGATIVE RESULT OCCURS.
030716,000214: 27,2671 56667 ALTA
030717,000215: 27,2672 56215 DAD DDV # ADD BACK 365.25/2**9 ONCE.
030718,000216:
030719,000217: 27,2673 17065 ONEYR # LET Y=RESULT
030720,000218: 27,2674 17065 ONEYR # Y/365.25 IS LESS THAN ONE AND POSITIVE.
030721,000219: 27,2675 73406 PUSH SIN # .5*SIN(2*PI*Y/365.25)
030722,000220: 27,2676 71525 PDDL COS # .5*COS(2*PI*Y/365.25)
030723,000221:
030724,000222: # COMPUTE (1/8 +LOS) IN REVOLUTIONS WHERE
030725,000223: # LOS= LOS0+LOSR*T-C0Y*SIN(2*PI*Y/365.25)-C1Y*COS(2*PI*Y/365.25) .
030726,000224: # LOS = LONGITUDE OF SUN IN PLANE OF ECLIPTIC.
030727,000225:
030728,000226: 27,2677 65205 DMP PDDL
030729,000227: 27,2700 17047 C1Y # .5*C1Y*COS/2
030730,000228: 27,2701 43205 DMP DAD
030731,000229: 27,2702 17045 C0Y # (C0Y*SIN +C1Y*COS)/4
030732,000230: 27,2703 77725 PDDL # T/2**9
030733,000231: 27,2704 54205 DMP SL
030734,000232: 27,2705 17043 LOSR # LOSR*T/2**9
030735,000233: 27,2706 20210 7 # LOSR*T/4
030736,000234: 27,2707 77625 DSU # (LOSR*T-C0Y*SIN-C1Y*COS)/4
030737,000235: 27,2710 43215 DAD DAD
030738,000236: 27,2711 17041 LOS0 # LOS/4= (LOS0+LOSR*T-C0Y*SIN-C1Y*COS)/4
030739,000237: 27,2712 17063 EGHTH # (1/8 +LOS)/4 , 1/8 REV = 45 DEG
030740,000238:
030741,000239: 27,2713 51025 ALTB DSU BPL # DIMINISH (1/8 +LOS)/4 REVS BY (1REV)/4
030742,000240:
030743,000241: 27,2714 17061 ONEREV # UNTIL A NEGATIVE RESULT OCCURS.
030744,000242: 27,2715 56713 ALTB
Page 681 |
030746,000244: 27,2716 62415 DAD SL2 # ADD BACK (1REV)/4 .
030747,000245: 27,2717 17061 ONEREV # AND MULTIPLY BY FOUR.
030748,000246: 27,2720 77606 PUSH # (1/8 +LOS) POSITIVE AND LESS THAN ONE.
030749,000247:
030750,000248: # CONSTRUCT TRANSFORMATION MATRIX FROM RCS COLD SOAK ATTITUDE
030751,000249: # TO EARTH REFERENCE COORDINATES. MATRIX IS SCALED BY -1 .
030752,000250: # MATRIX TRANSPOSE IS STORED STARTING IN FIRST LOCATION OF PUSHDOWN LIST.
030753,000251: # OBL= OBLIQUITY= ANGLE BETWEEN ECLIPTIC AND EQUATORIAL PLANES.
030754,000252:
030755,000253: # DEFINE LOSR= 2*PI*LOS
030756,000254:
030757,000255: 27,2721 57546 COS DCOMP
030758,000256: 27,2722 00007 STORE 6 # -.5*COS(PI/4+LOSR)
030759,000257: 27,2723 77605 DMP
030760,000258: 27,2724 17053 COSOBL
030761,000259: 27,2725 00017 STORE 14D # -.5*COS(PI/4+LOSR)*COS(OBL)
030762,000260: 27,2726 77605 DMP
030763,000261: 27,2727 17055 TANOBL
030764,000262: 27,2730 14021 STODL 16D # -.5*COS(PI/4+LOSR)*SIN(OBL)
030765,000263: 27,2731 00001 0
030766,000264: 27,2732 77756 SIN
030767,000265: 27,2733 00015 STORE 12D # .5*SIN(PI/4+LOSR)
030768,000266: 27,2734 57405 DMP DCOMP
030769,000267: 27,2735 17053 COSOBL
030770,000268: 27,2736 00011 STORE 8D # -.5*SIN(PI/4+LOSR)*COS(OBL)
030771,000269: 27,2737 77605 DMP
030772,000270: 27,2740 17055 TANOBL
030773,000271: 27,2741 14013 STODL 10D # -.5*SIN(PI/4+LOSR)*SIN(OBL)
030774,000272: 27,2742 17053 COSOBL
030775,000273: 27,2743 77742 SR1
030776,000274: 27,2744 14005 STODL 4 # .5*COS(OBL)
030777,000275: 27,2745 17051 SINOBL
030778,000276:
030779,000277: 27,2746 57542 SR1 DCOMP
030780,000278: 27,2747 14003 STODL 2 # -.5*SIN(OBL)
030781,000279: 27,2750 17057 DPZRO
030782,000280: 27,2751 00001 STORE 0 # 0
030783,000281:
030784,000282: # PERFORM THE MATRIX MULTIPLICATION (REFSMMAT)X(RCS TO REF MATRIX)
030785,000283: 27,2752 64375 VLOAD MXV
030786,000284: 27,2753 00001 0
030787,000285: 27,2754 01275 REFSMMAT
030788,000286: 27,2755 77772 VSL1
030789,000287: 27,2756 24001 STOVL 0
030790,000288: 27,2757 00007 6
030791,000289: 27,2760 76521 MXV VSL1
030792,000290: 27,2761 01275 REFSMMAT
030793,000291: 27,2762 24007 STOVL 6
030794,000292: 27,2763 00015 12D
030795,000293: 27,2764 76521 MXV VSL1
030796,000294: 27,2765 01275 REFSMMAT
Page 682 |
030798,000296: 27,2766 00015 STORE 12D
030799,000297: 27,2767 77776 EXIT
030800,000298:
030801,000299: # TRANSPOSE RESULTING DIRECTION COSINE MATRIX.
030802,000300:
030803,000301: 27,2770 50110 INDEX FIXLOC
030804,000302: 27,2771 52003 DXCH 2
030805,000303: 27,2772 50110 INDEX FIXLOC
030806,000304: 27,2773 52007 DXCH 6
030807,000305: 27,2774 50110 INDEX FIXLOC
030808,000306: 27,2775 52003 DXCH 2
030809,000307: 27,2776 50110 INDEX FIXLOC
030810,000308: 27,2777 52005 DXCH 4
030811,000309: 27,3000 50110 INDEX FIXLOC
030812,000310:
030813,000311: 27,3001 52015 DXCH 12D
030814,000312: 27,3002 50110 INDEX FIXLOC
030815,000313: 27,3003 52005 DXCH 4
030816,000314: 27,3004 50110 INDEX FIXLOC
030817,000315: 27,3005 52013 DXCH 10D
030818,000316: 27,3006 50110 INDEX FIXLOC
030819,000317: 27,3007 52017 DXCH 14D
030820,000318: 27,3010 50110 INDEX FIXLOC
030821,000319: 27,3011 52013 DXCH 10D
030822,000320: 27,3012 06103 TC INTPRET
030823,000321:
030824,000322: # CALL ROUTINE TO CONVERT DIRECTION COSINE MATRIX TO CDU ANGLES.
030825,000323:
030826,000324: 27,3013 74001 SETPD AXC,1
030827,000325: 27,3014 00023 18D
030828,000326: 27,3015 00000 0
030829,000327: 27,3016 77624 CALL
030830,000328: 27,3017 70727 DCMTOCDU
030831,000329:
030832,000330: # CONVERT CDU ANGLES FROM ONES TO TWOS COMPLEMENT.
030833,000331:
030834,000332: 27,3020 47131 SSP RTB
030835,000333: 27,3021 01653 RATEINDX
030836,000334:
030837,000335: 27,3022 00004 4 # CODE FOUR = MANEUVER RATE OF 5 DEG/SEC.
030838,000336: 27,3023 33573 V1STO2S # STORE CDU ANGLES IN CONSECUTIVE
030839,000337: 27,3024 01632 STORE CPHI # LOCATIONS CPHI,CTHETA,CPSI.
030840,000338: 27,3025 77776 EXIT
030841,000339:
030842,000340: # SET UP PARAMETERS FOR KALCMANU MANEUVER ROUTINE
030843,000341:
030844,000342: 27,3026 06045 TC FLAG2DWN # RESET STATE SWITCH 33 (BIT 12)
030845,000343: 27,3027 04000 OCT 04000 # FOR FINAL ROLL , IF ANY.
030846,000344: 27,3030 06027 TC FLAG2UP # SET BIT FOR KALCMANU
030847,000345:
030848,000346: 27,3031 02000 OCT 02000 # BIT 11
030849,000347: 27,3032 37740 COLDSK1 CAF PRIOKM # SCHEDULE KALCMANU
030850,000348: 27,3033 00004 INHINT
Page 683 |
030852,000350: 27,3034 05534 TC FINDVAC
030853,000351: 27,3035 E3,1652 EBANK= RATEINDX
030854,000352: 27,3035 02067 70063 2CADR KALCMAN3
030855,000353:
030856,000354: 27,3037 05605 TC ENDOFJOB
030857,000355: 27,3040 02142 00045 LOS0 2DEC .273926331 B-2 # 1966-67,IN REVOLUTIONS
030858,000356:
030859,000357: 27,3042 00054 33330 LOSR 2DEC .0027378507 # 1966-67,IN REVOLUTIONS
030860,000358:
030861,000359: 27,3044 04672 27416 C0Y 2DEC .304044828 B-1 # 1966-67,IN REVOLUTIONS
030862,000360:
030863,000361: 27,3046 77503 47763 C1Y 2DEC -.023040861 B-1 # 1966-67,IN REVOLUTIONS
030864,000362:
030865,000363: 27,3050 14566 11602 SINOBL 2DEC .397845753 # 1966-67
030866,000364:
030867,000365: 27,3052 35267 21173 COSOBL 2DEC .917452318 # 1966-67
030868,000366:
030869,000367: 27,3054 15700 31171 TANOBL 2DEC .433641885 # 1966-67
030870,000368:
030871,000369:
030872,000370: 27,3056 00000 00000 DPZRO 2DEC 0 B-28
030873,000371:
030874,000372: 27,3060 10000 00000 ONEREV 2DEC .999999999 B-2
030875,000373:
030876,000374: 27,3062 01000 00000 EGHTH 2DEC .125 B-2
030877,000375:
030878,000376: 27,3064 26650 00000 ONEYR 2DEC 365.25 B-9
030879,000377:
030880,000378: 27,3066 00020 17260 CSPERDAY 2DEC 8640000 B-33 # CENTISEC PER DAY
030881,000379:
030882,000380: 27,3070 42032 8BOOLS OCT 42032 # COURTESY G. C. 11/16/66
030883,000381: # END OF MISSION PHASE 8
End of include-file MISSION_PHASE_8_-_DPS_COLD_SOAK.agc. Parent file is MAIN.agc