Source Code

These source-code files were transcribed from scans made from Don Eyles's personal copy of BURST120 (SUNBURST 120). They were scanned at archive.org's Boston facility, and the scanning was sponsored by Mike Stewart. The code was transcribed from these scans by a team of volunteers who are referenced in the program comments. Comments from the original source code are in ALL-CAPS, whereas comments added later in transcription are in Mixed-Case. In some cases, where similar code blocks exist in previously-transcribed AGC programs (primarily Luminary 99, from Apollo 11) those code blocks were used as a starting point and then corrected to agree with the BURST120 scans. The full scans are available at the Virtual AGC project's collection at archive.org, while more-convenient reduced-size (but reduced-quality) images are available at the main Virtual AGC website. Report any errors noted by creating an issue report at the Virtual AGC project's GitHub repository. Notations on the program listing read, in part:

	YUL SYSTEM FOR AGC: REVISION 0 OF PROGRAM BURST120 
	BY NASA 2021106-031 DEC 7, 1967

	THIS LISTING IS A COPY OF A VERSION OF THE PROGRAM INTENDED 
	FOR USE IN THE ON-BOARD PRIMARY GUIDANCE COMPUTER IN THE 
	UNMANNED FLIGHT OF APOLLO LUNAR MODULE 1 --- THE AS206 MISSION.
Note that the date is the date of the printout, not the date of the program revision.

034237,000002:                                                                                                  ## Copyright:    Public domain.
034238,000003:                                                                                                  ## Filename:     AS206_MISSION_SCHEDULING_PACKAGE.agc
034239,000004:                                                                                                  ## Purpose:      A module for revision 0 of BURST120 (Sunburst). It 
034240,000005:                                                                                                  ##               is part of the source code for the Lunar Module's
034241,000006:                                                                                                  ##               (LM) Apollo Guidance Computer (AGC) for Apollo 5.
034242,000007:                                                                                                  ## Assembler:    yaYUL
034243,000008:                                                                                                  ## Contact:      Ron Burkey <info@sandroid.org>.
034244,000009:                                                                                                  ## Website:      www.ibiblio.org/apollo/index.html
034245,000010:                                                                                                  ## Mod history:  2016-09-30 RSB  Created draft version.
034246,000011:                                                                                                  ##               2016-10-29 MAS  Transcribed.
034247,000012:                                                                                                  ##               2016-12-06 RSB  Comments proofed using octopus/ProoferComments,
034248,000013:                                                                                                  ##                               changes made.
034249,000014: 

Page 801

034251,000016:                                                                                                  #           THE FOLLOWING ROUTINES IMPLEMENT THE MISSION SCHEDULING LOGIC AS DESCRIBED IN CHAPTER 4 OF THE
034252,000017:                                                                                                  #  AS206 OPERATIONS PLAN. THE FOLLOWING ROUTINE IS ENTERED ONCE EACH SECOND FOR MOST OF THE DURATION OF THE
034253,000018:                                                                                                  #  FLIGHT, ONCE LIFT-OFF HAS OCCURRED. AN EXCEPTION TO THIS IS THE TIME-CRI
034254,000019: 
034255,000020:                                                                                                  #  RESTART  GROUP  FOR MISSION SCHEDULING PACKAGE IS GROUP 3.
034256,000021: 
034257,000022: 31,2000                                           BANK     31                                    
034258,000023: 31,2000     1164                                  EBANK=   MTIMER4                               
034259,000024: 
034260,000025: 31,2000           36311        MMAINT             CAF      THREE                                 #  LOOP TO PROCESS ALL FOUR TIMERS.
034261,000026: 31,2001           54070        MLOOP              TS       RUPTREG1                              
034262,000027: 
034263,000028: 31,2002           50000                           INDEX    A                                     #  LOOK AT TIMER.
034264,000029: 31,2003           11164                           CCS      MTIMER4                               
034265,000030: 31,2004           12010                           TCF      MCOUNT                                #  PNZ - ACTIVE AND COUNTING DOWN.
034266,000031: 31,2005           12055                           TCF      MDUE                                  #  +0 - MISSION PHASE DUE.
034267,000032: 31,2006           67763                           AD       ONE                                   #  NNZ - FREE BUT LOADED BY GROUND.
034268,000033: 31,2007           40000                           COM                                            #  -0 - FREE.
034269,000034: 31,2010           50070        MCOUNT             INDEX    RUPTREG1                              #  PLACE UPDATED TIMERS AND PHASE REGISTERS
034270,000035: 31,2011           55174                           TS       MTIMER4T                              #  INTO COPY BUFFER FOR RESTART PROTECTION.
034271,000036: 
034272,000037: 31,2012           10070        MDUERET            CCS      RUPTREG1                              
034273,000038: 31,2013           12001                           TCF      MLOOP                                 
034274,000039: 
034275,000040: 31,2014           11201        MCHKST             CCS      STATECTR                              #  SEE IF POSSIBLY TIME FOR INTERNAL STATE
034276,000041: 31,2015           12034                           TCF      MSTATEOK                              #  VECTOR EXTRAPOLATION.
034277,000042: 
034278,000043: 31,2016           36311                           CAF      THREE                                 #  IF SO, DO UPDATE UNLESS WE ARE WITHIN 16
034279,000044: 31,2017           54070        MSTATECK           TS       RUPTREG1                              #  SECONDS OF THE INITIATION OF ANY MISSION
034280,000045: 31,2020           45343                           CS       LOW4                                  #  PHASE.
034281,000046: 31,2021           50070                           INDEX    RUPTREG1                              
034282,000047: 31,2022           71164                           MASK     MTIMER4                               
034283,000048: 31,2023           00006                           EXTEND                                         
034284,000049: 31,2024           12033                           BZF      MSTATEOK   -1                         #  BRANCH IF PHASE DUE WITHIN 16 SECS.
034285,000050: 
034286,000051: 31,2025           10070                           CCS      RUPTREG1                              
034287,000052: 31,2026           12017                           TCF      MSTATECK                              
034288,000053: 
034289,000054: 31,2027           35633                           CAF      PRIO5                                 
034290,000055: 31,2030           05516                           TC       FINDVAC                               #  TO DO THE INTEGRATION.
034291,000056: 31,2031  E4,1566                                  EBANK=   TDEC                                  
034292,000057: 31,2031           02247 16064                     2CADR    STATEINT                              
034293,000058: 
034294,000059: 31,2033           35204                 -1        CAF      STATECRI                              
034295,000060: 31,2034           55201        MSTATEOK           TS       STATECTR                              
034296,000061: 
034297,000062: 31,2035           04161                           TC       PHASCHNG                              
034298,000063: 31,2036           00113                           OCT      00113                                 
034299,000064: 
034300,000065: 31,2037           32054        REDO3.11           CAF      1SEC                                  

Page 802

034302,000067: 31,2040           05663                           TC       WAITLIST                              
034303,000068: 31,2041     1164                                  EBANK=   MTIMER4                               
034304,000069: 31,2041           02000 62062                     2CADR    MMAINT                                
034305,000070: 
034306,000071: 31,2043           00006                           EXTEND                                         
034307,000072: 31,2044           31175                           DCA      MTIMER4T                              
034308,000073: 31,2045           53165                           DXCH     MTIMER4                               
034309,000074: 31,2046           00006                           EXTEND                                         
034310,000075: 31,2047           31177                           DCA      MTIMER4T   +2                         
034311,000076: 31,2050           53167                           DXCH     MTIMER2                               
034312,000077: 
034313,000078: 31,2051           04161                           TC       PHASCHNG                              
034314,000079: 31,2052           40133                           OCT      40133                                 
034315,000080: 
034316,000081: 31,2053           05727                           TC       TASKOVER                              
034317,000082: 
034318,000083: 31,2054           00144        1SEC               DEC      100        B-14                       
034319,000084: 

Page 803

034321,000086:                                                                                                  #           THE FOLLOWING CODING DISPATCHES DUE MISSION PHASES VIA A TABLE OF EXECUTIVE PRIORITIES AND 2CADRS.
034322,000087: 
034323,000088: 31,2055           30070        MDUE               CA       RUPTREG1                              
034324,000089: 31,2056           55200                           TS       MDUETEMP                              #  COPY FOR RESTART PROTECTION
034325,000090: 
034326,000091: 31,2057           50070                           INDEX    RUPTREG1                              #  GET NUMBER OF NEW PHASE AND MP BY NUMBER
034327,000092: 31,2060           31170                           CA       MPHASE4                               #  OF TABLE ENTRIES PER PHASE TO GET ADDRES
034328,000093: 31,2061           00006                           EXTEND                                         #  OF TABLE ENTRY FOR THIS PHASE.
034329,000094: 31,2062           12410                           BZF      BADPHASE                              #  INACTIVE MPHASE HERE IS VERY BAD.
034330,000095: 31,2063           54764                           TS       PHASENUM                              #  HOLDS CURRENT MP NUMBER FOR DOWNLINK
034331,000096: 31,2064           00006                           EXTEND                                         
034332,000097: 31,2065           76311                           MP       THREE                                 
034333,000098: 31,2066           50001                           INDEX    L                                     
034334,000099: 31,2067           32333                           CA       MTABLE                                #  PRIO, INHIBIT/ENABLE INFO., ETC.
034335,000100: 31,2070           54071                           TS       RUPTREG2                              
034336,000101: 31,2071           77765                           MASK     SEVEN                                 #  HONOR INHIBIT/ENABLE FUNCTION.
034337,000102: 31,2072           70076                           MASK     FLAGWRD2                              
034338,000103: 31,2073           10000                           CCS      A                                     
034339,000104: 31,2074           12117                           TCF      MBYPASS                               
034340,000105: 
034341,000106: 31,2075           35660                           CAF      PRIO37                                
034342,000107: 31,2076           70071                           MASK     RUPTREG2                              
034343,000108: 31,2077           54063                           TS       NEWPRIO                               
034344,000109: 31,2100           00006                           EXTEND                                         
034345,000110: 31,2101           50001                           INDEX    L                                     #  PICK UP 2CADR AND DO FINDVAC.
034346,000111: 31,2102           32335                           DCA      MTABLE     +1                         
034347,000112: 31,2103           05526                           TC       SPVAC                                 
034348,000113: 
034349,000114: 31,2104           04141                           TC       2PHSCHNG                              
034350,000115: 31,2105           00032                           OCT      32                                    #  2.3 SPOT FOR REDOMDUE
034351,000116: 31,2106           00003                           OCT      3                                     #  GROUP 3 OFF
034352,000117: 
034353,000118: 31,2107           02121        MTIMEDWN           TC       MTIMEFIX                              
034354,000119: 
034355,000120: 31,2110           35210                           CAF      PRIO30                                
034356,000121: 31,2111           05505                           TC       NOVAC                                 
034357,000122: 31,2112     1164                                  EBANK=   MTIMER4                               
034358,000123: 31,2112           02145 62062                     2CADR    UPDATKIL                              
034359,000124: 
034360,000125: 31,2114           06076                           TC       FLAG2DWN                              
034361,000126: 31,2115           00020                           OCT      20                                    
034362,000127: 
034363,000128: 31,2116           05727                           TC       TASKOVER                              
034364,000129: 
034365,000130: 31,2117           02121        MBYPASS            TC       MTIMEFIX                              
034366,000131: 31,2120           12012                           TCF      MDUERET                               
034367,000132: 
034368,000133: 31,2121           47767        MTIMEFIX           CS       ZERO                                  
034369,000134: 31,2122           51200                           INDEX    MDUETEMP                              #  MAKE THIS MTIMER/MPHASE PAIR AVAILABLE.
034370,000135: 31,2123           55164                           TS       MTIMER4                               
034371,000136: 

Page 804

034373,000138: 31,2124           51200                           INDEX    MDUETEMP                              
034374,000139: 31,2125           55170                           TS       MPHASE4                               
034375,000140: 31,2126           51200                           INDEX    MDUETEMP                              
034376,000141: 31,2127           55174                           TS       MTIMER4T                              
034377,000142: 31,2130           00002                           TC       Q                                     
034378,000143: 

Page 805

034380,000145:                                                                                                  #  RESTART  ROUTIN E TO RESCHEDULE MISSION PHASE
034381,000146: 
034382,000147: 31,2131           30764        REDOMDUE           CA       PHASENUM                              #  FIND PRIO AND 2CADR OF NEW MP IN TABLE.
034383,000148: 31,2132           00006                           EXTEND                                         
034384,000149: 31,2133           76311                           MP       THREE                                 
034385,000150: 31,2134           50001                           INDEX    L                                     
034386,000151: 31,2135           32333                           CA       MTABLE                                
034387,000152: 31,2136           75660                           MASK     PRIO37                                
034388,000153: 31,2137           54063                           TS       NEWPRIO                               
034389,000154: 31,2140           00006                           EXTEND                                         
034390,000155: 31,2141           50001                           INDEX    L                                     
034391,000156: 31,2142           32335                           DCA      MTABLE     +1                         
034392,000157: 31,2143           05526                           TC       SPVAC                                 #  DO FINDVAC WITH 2CADR IN A +  L
034393,000158: 31,2144           12107                           TCF      MTIMEDWN                              
034394,000159: 
034395,000160: 
034396,000161: 
034397,000162:                                                                                                  #  DO A PSEUDO VERB 34 ENTER TO KILL AN UPDATE IN PROGRESS, AND TO RELEASE THE DSKY.
034398,000163: 
034399,000164: 31,2145           32373        UPDATKIL           CAF      34OCT                                 
034400,000165: 31,2146           54304                           TS       REQRET                                
034401,000166: 31,2147           05206                           TC       BANKCALL                              
034402,000167: 31,2150           12314                           CADR     UPDATVB    -1                         
034403,000168: 
034404,000169: 31,2151           05225                           TC       POSTJUMP                              
034405,000170: 31,2152           11333                           CADR     VBTERM                                #  GOES TO ENDOFJOB WHEN DONE
034406,000171: 

Page 806

034408,000173:                                                                                                  #           THE FOLLOWING SUBROUTINE MAY BE USED BY MISSION PROGRAMS TO SET MISSION PHASE/TIMER PAIRS TO INITIATE
034409,000174:                                                                                                  #  THE VARIOUS MISSION PHASES (SEE CHAPTER 4 OF THE GSOP).
034410,000175: 
034411,000176:                                                                                                  #           CALLING SEQUENCE IS AS FOLLOWS:
034412,000177: 
034413,000178:                                                                                                  #                                                   TC     MPENTRY         UNDER CONTROL OF EXEC OR RUPT.
034414,000179:                                                                                                  #                                                   DEC    INDEX           INDEX OF TIMER (1 TO 4).
034415,000180:                                                                                                  #                                                   DEC    PHASE           MISSION PHASE NUMBER.
034416,000181:                                                                                                  #                                                   ADRES  DT              DT = TIME (SECONDS) TO INITIATION.
034417,000182:                                                                                                  #                                                                          (EBANK MUST ALREADY BE SET.)
034418,000183: 
034419,000184:    5126                                           BLOCK    02                                    
034420,000185:    5126           00004        MPENTRY            INHINT                                         
034421,000186:    5127           50002                           INDEX    Q                                     #  MAKE INTERNAL INDEX.
034422,000187:    5130           40000                           CS       0                                     
034423,000188:    5131           67761                           AD       FOUR                                  
034424,000189:    5132           54070                           TS       RUPTREG1                              
034425,000190: 
034426,000191:    5133           50000                           INDEX    A                                     #  IF THIS MISSION PHASE REGISTER IS NOT
034427,000192:    5134           11170                           CCS      MPHASE4                               #  -0, IT HAS BEEN CHANGED BY THE GROUND,
034428,000193:    5135           15144                           TCF      MENTRYT                               #  SO LEAVE IT ALONE.
034429,000194:    5136           15144                           TCF      MENTRYT                               
034430,000195:    5137           15144                           TCF      MENTRYT                               
034431,000196: 
034432,000197:    5140           50002                           INDEX    Q                                     
034433,000198:    5141           30001                           CAF      1                                     
034434,000199:    5142           50070                           INDEX    RUPTREG1                              
034435,000200:    5143           55170                           TS       MPHASE4                               
034436,000201: 
034437,000202:    5144           50070        MENTRYT            INDEX    RUPTREG1                              #  IF THE TIMER IS -0, SET IT TO THE INPUT
034438,000203:    5145           11164                           CCS      MTIMER4                               #  VALUE, OTHERWISE, ASSUME IT HAS BEEN
034439,000204:    5146           67763                           AD       ONE                                   #  SET BY THE GROUND AND JUST FORCE IT POS.
034440,000205:    5147           15155                           TCF      MENTABS                               
034441,000206:    5150           15146                           TCF      -2                                    
034442,000207: 
034443,000208:    5151           50002                           INDEX    Q                                     
034444,000209:    5152           30002                           CAF      2                                     
034445,000210:    5153           50000                           INDEX    A                                     
034446,000211:    5154           30000                           CA       0                                     
034447,000212:    5155           50070        MENTABS            INDEX    RUPTREG1                              
034448,000213:    5156           55164                           TS       MTIMER4                               
034449,000214: 
034450,000215:    5157           36311                           CAF      THREE                                 #  MAKE UP RETURN SO COMMON ROUTINE CAN BE
034451,000216:    5160           60002                           AD       Q                                     #  USED TO INITATE TIMER COUNTING.
034452,000217:    5161           55207                 -1        TS       MRETURN                               
034453,000218: 

Page 807

034455,000220:                                                                                                  #  SUBROUTINE TO START MISSION TIMERS IF THEY ARE NOT GOING ALREADY.
034456,000221: 
034457,000222:    5162           30076        MSTART             CA       FLAGWRD2                              #  SEE IF TIMERS ENABLED ALREADY.
034458,000223:    5163           77757                           MASK     BIT5                                  
034459,000224:    5164           10000                           CCS      A                                     
034460,000225:    5165           15202                           TCF      MDONE                                 #  YES - RETURN.
034461,000226: 
034462,000227:    5166           15171                           TCF      +3                                    #  THERE USED TO BE A PHASE CHANGE HERE.
034463,000228:    5167           04736                           TC       CCSHOLE                               
034464,000229:    5170           04736                           TC       CCSHOLE                               
034465,000230: 
034466,000231:    5171           06060                           TC       FLAG2UP                               #  SHOW TIMERS ENABLED.
034467,000232:    5172           00020                           OCT      20                                    
034468,000233: 
034469,000234:    5173           00004                           INHINT                                         
034470,000235: 
034471,000236:    5174           35204                           CAF      STATECRI                              #  INITIALIZE STATE VECTOR EXTRAPOLATION
034472,000237:    5175           55201                           TS       STATECTR                              #  TIMER.
034473,000238: 
034474,000239:    5176           37763                           CAF      ONE                                   
034475,000240:    5177           05663                           TC       WAITLIST                              
034476,000241:    5200     1164                                  EBANK=   MTIMER4                               
034477,000242:    5200           02000 62062                     2CADR    MMAINT                                #  START COUNTER MAINTENANCE.
034478,000243: 
034479,000244:    5202           00003        MDONE              RELINT                                         
034480,000245:    5203           01207                           TC       MRETURN                               
034481,000246: 
034482,000247:    5204           01033        STATECRI           DEC      539        B-14                       #  CALLS FOR INTEGRATION EVERY 539 SEC.
034483,000248:    5205           00145        1SEC+1             DEC      101        B-14                       
034484,000249: 

Page 808

034486,000251:                                                                                                  #  SUBROUTINE CALLS FOR VARIOUS UPDATE OPTIONS (SEE GSOP).  ENTER UNDER EXEC WITH INTERRUPT INHIBITED.
034487,000252: 
034488,000253: 31,2153                                           BANK     31                                    
034489,000254: 31,2153           02265        DOV70              TC       MTIMERUP                              #  VERB 70
034490,000255: 31,2154           12351                           TCF      ENDUP                                 
034491,000256: 
034492,000257: 31,2155           02221        DOV71              TC       MPHASEUP                              #  VERB 71
034493,000258: 31,2156           12161                           TCF      DOV72      +2                         
034494,000259: 
034495,000260: 31,2157           02221        DOV72              TC       MPHASEUP                              #  VERB 72
034496,000261: 31,2160           02265                           TC       MTIMERUP                              
034497,000262: 31,2161           31202                 +2        CA       UPPHASE                               #  FOR V72, WE DON'T ALTER THE MPHASE
034498,000263: 31,2162           50070                           INDEX    RUPTREG1                              #  REGISTER UNTIL SURE THAT TIMER CHANGE
034499,000264: 31,2163           55170                           TS       MPHASE4                               #  IS LEGAL.
034500,000265: 31,2164           12351        TCFENDUP           TCF      ENDUP                                 
034501,000266: 

Page 809

034503,000268:                                                                                                  #  INVERT INHIBIT/ENABLE SWITCH WHOSE INDEX IS IN UPINDEX (1 TO 3).  ENTER UNDER EXEC WITH INTERRUPT INHIBITED.
034504,000269: 
034505,000270: 31,2165           47762        DOV73              CS       TWO                                   
034506,000271: 31,2166           61204                           AD       UPINDEX                               
034507,000272: 31,2167           04323                           TC       MAGSUB                                #  SEE IF INDEX LEGIT.
034508,000273: 31,2170           77776                           DEC      -1         B-14                       
034509,000274: 31,2171           12356                           TCF      UPERROR                               
034510,000275: 
034511,000276: 31,2172           51204                           INDEX    UPINDEX                               
034512,000277: 31,2173           37760                           CAF      BIT3       -1                         #  BITS IN POSITIONS 3, 2, AND 1 OF
034513,000278: 31,2174           54001                           TS       L                                     #  FLAGWRD2 (SEE SWITCH ASSIGNMENTS).
034514,000279: 31,2175           30076                           CA       FLAGWRD2                              
034515,000280: 31,2176           00006                           EXTEND                                         
034516,000281: 31,2177           06001                           RXOR     L                                     
034517,000282: 31,2200           54076                           TS       FLAGWRD2                              
034518,000283: 31,2201           12351                           TCF      ENDUP                                 
034519,000284: 
034520,000285:                                                                                                  #           THE FOLLOWING CODING ISSUES THE SINGLE LMP COMMAND FOUND IN UPINDEX PROVIDED THE TIMERS ARE ENABLED
034521,000286:                                                                                                  #  (NON TIME CRITICAL PHASE OF MISSION).
034522,000287: 
034523,000288: 31,2202           40076        DOV67              CS       FLAGWRD2                              
034524,000289: 31,2203           77757                           MASK     BIT5                                  
034525,000290: 31,2204           10000                           CCS      A                                     
034526,000291: 31,2205           12356                           TCF      UPERROR                               
034527,000292: 
034528,000293: 31,2206           47754                           CS       BIT8                                  #  COMMAND MUST BE BETWEEN 1 AND 255.
034529,000294: 31,2207           61204                           AD       UPINDEX                               
034530,000295: 31,2210           04323                           TC       MAGSUB                                
034531,000296: 31,2211           77600                           DEC      -127       B-14                       
034532,000297: 31,2212           12356                           TCF      UPERROR                               
034533,000298: 
034534,000299: 31,2213           32220                           CAF      TC1LMP                                
034535,000300: 31,2214           55203                           TS       UPINDEX    -1                         
034536,000301: 31,2215           32164                           CAF      TCFENDUP                              
034537,000302: 31,2216           55205                           TS       UPINDEX    +1                         
034538,000303: 31,2217           01203                           TC       UPINDEX    -1                         
034539,000304: 
034540,000305: 31,2220           05060        TC1LMP             TC       1LMP                                  #  FOR ERASABLE CALL.
034541,000306: 

Page 810

034543,000308:                                                                                                  #           THE FOLLOWING CODING UPDATES A MISSION PHASE NUMBER WHOSE INDEX IS IN UPINDEX TO THE VALUE FOUND
034544,000309:                                                                                                  #  IN UPPHASE. RETURN IS TO CALLER IF DATA OK, OR TO UPERROR IF DATA OUT OF RANGE.
034545,000310: 
034546,000311: 31,2221           30002        MPHASEUP           CA       Q                                     
034547,000312: 31,2222           02250                           TC       CHKUPDEX                              #  CHECK INDEX VALUE AND MAKE INTERNAL NDX.
034548,000313: 
034549,000314: 31,2223           11202                           CCS      UPPHASE                               #  CHECK ON SIZE OF PHASE.
034550,000315: 31,2224           12230                           TCF      +4                                    
034551,000316: 31,2225           12356                           TCF      UPERROR                               
034552,000317: 31,2226           12356                           TCF      UPERROR                               
034553,000318: 31,2227           12356                           TCF      UPERROR                               
034554,000319: 
034555,000320: 31,2230           04323                 +4        TC       MAGSUB                                
034556,000321: 31,2231           77756                           OCT      -21                                   #  ALLOW PHASES 1 - 18D ONLY.
034557,000322: 31,2232           12356                           TCF      UPERROR                               #  FOR BAD RETURN FROM MAGSUB
034558,000323: 31,2233           41202                           CS       UPPHASE                               #  CHECK LEGALITY OF UPPHASE
034559,000324: 31,2234           66306                           AD       SIX                                   
034560,000325: 31,2235           10000                           CCS      A                                     
034561,000326: 31,2236           12356                           TCF      UPERROR                               
034562,000327: 31,2237           72400        MPLEGAL            OCT      72400                                 #  BITS 15 - 1 = 1 FOR MP 7 - 21 LEGAL
034563,000328: 31,2240           12242                           TCF      +2                                    
034564,000329: 31,2241           12356                           TCF      UPERROR                               
034565,000330: 
034566,000331: 31,2242           50000                           INDEX    A                                     
034567,000332: 31,2243           37745                           CA       BIT15                                 
034568,000333: 31,2244           72237                           MASK     MPLEGAL                               
034569,000334: 31,2245           00006                           EXTEND                                         
034570,000335: 31,2246           12356                           BZF      UPERROR                               
034571,000336: 
034572,000337: 31,2247           01207                           TC       MRETURN                               
034573,000338: 
034574,000339:                                                                                                  #  MINOR SUBROUTINE TO CHECK MISSION TIMER/PHASE UPDATE INDEX AND LEAVE CORRESPONDING VALUE IN RUPTREG1.
034575,000340: 
034576,000341:                                                                                                  #  TO BE ENTERED WITH INTERRUPT INHIBITED:
034577,000342: 
034578,000343: 31,2250           55207        CHKUPDEX           TS       MRETURN                               #  CALLER'S RETURN ARRIVES IN A.
034579,000344: 31,2251           11204                 +1        CCS      UPINDEX                               
034580,000345: 31,2252           12256                           TCF      +4                                    
034581,000346: 31,2253           12356                           TCF      UPERROR                               
034582,000347: 31,2254           12356                           TCF      UPERROR                               
034583,000348: 31,2255           12356                           TCF      UPERROR                               
034584,000349: 
034585,000350: 31,2256           75340                 +4        MASK     NEG3                                  
034586,000351: 31,2257           10000                           CCS      A                                     
034587,000352: 31,2260           12356                           TCF      UPERROR                               
034588,000353: 
034589,000354: 31,2261           41204                           CS       UPINDEX                               #  MAKE INTERNAL VALUE.
034590,000355: 31,2262           67761                           AD       FOUR                                  
034591,000356: 31,2263           54070                           TS       RUPTREG1                              
034592,000357: 31,2264           00002                           TC       Q                                     
034593,000358: 

Page 811

034595,000360:                                                                                                  #           THE FOLLOWING CODING UPDATES THE MISSION TIMER WHOSE INDEX IS IN UPINDEX BY ADDING THE CONTENTS OF UPDT
034596,000361:                                                                                                  #  TO IT. OUTCOMES DEPEND ON WHETHER THE TIMER WAS COUNTING AT THE TIME, AND THE SIGN OF THE RESULT (SEE GSOP).
034597,000362: 
034598,000363: 31,2265           30002        MTIMERUP           CA       Q                                     #  GO TO COMMON SUBROUTINE TO SAVE RETURN
034599,000364: 31,2266           02250                           TC       CHKUPDEX                              #  AND CHECK INDEX.
034600,000365: 31,2267           50070                           INDEX    RUPTREG1                              #  SEE IF TIMER IS COUNTING NOW.
034601,000366: 31,2270           11164                           CCS      MTIMER4                               
034602,000367: 31,2271           12276                           TCF      TUPBUSY                               #  POS INDICATES IT IS.
034603,000368: 31,2272           12276                           TCF      TUPBUSY                               
034604,000369: 31,2273           12274                           NOOP                                           
034605,000370: 
034606,000371: 31,2274           31203                           CA       UPDT                                  #  IF NOT BUSY, LOAD WITH DT DIRECTLY, WITH
034607,000372: 31,2275           12303                           TCF      CTRABS                                #  NO CHANGE TO THE MAINTENANCE FLAG STATE.
034608,000373: 
034609,000374: 31,2276           11203        TUPBUSY            CCS      UPDT                                  #  IF TIMER COUNTING, SEE IF DT ZERO.
034610,000375: 31,2277           12306                           TCF      CTRAD                                 #  NZ - DO ADD.
034611,000376: 31,2300           12303                           TCF      CTRABS                                #  +0 - PHASE DUE NEXT MAINTENANCE CYCLE.
034612,000377: 31,2301           12306                           TCF      CTRAD                                 
034613,000378: 
034614,000379: 31,2302           47767                           CS       ZERO                                  #  IF -0, DISABLE TIMER.
034615,000380: 31,2303           50070        CTRABS             INDEX    RUPTREG1                              
034616,000381: 31,2304           55164                           TS       MTIMER4                               
034617,000382: 31,2305           01207                           TC       MRETURN                               
034618,000383: 
034619,000384: 31,2306           02314        CTRAD              TC       CTRADSUB                              
034620,000385: 31,2307           10000                           CCS      A                                     #  IF RESULT NEGATIVE OR ZERO, PHASE DUE
034621,000386: 31,2310           01207                           TC       MRETURN                               #  NEXT MAINTENANCE CYCLE.
034622,000387: 31,2311           01207                           TC       MRETURN                               
034623,000388: 31,2312           37767                           CAF      ZERO                                  
034624,000389: 31,2313           12303                           TCF      CTRABS                                #  (THIS ALONE REVERTS -0 TO +0.)
034625,000390: 
034626,000391: 
034627,000392: 
034628,000393: 31,2314           31203        CTRADSUB           CA       UPDT                                  
034629,000394: 31,2315           50070                           INDEX    RUPTREG1                              
034630,000395: 31,2316           61164                           AD       MTIMER4                               
034631,000396: 31,2317           54000                           OVSK                                           
034632,000397: 31,2320           12322                           TCF      +2                                    #  NO OVERFLOW (NORMAL CASE).
034633,000398: 31,2321           02356                           TC       UPERROR                               #  IF OVFLO, GO TO UPERROR WITH TIMER
034634,000399: 31,2322           50070                           INDEX    RUPTREG1                              #  UNCHANGED.
034635,000400: 31,2323           55164                           TS       MTIMER4                               
034636,000401: 31,2324           00002                           TC       Q                                     
034637,000402: 

Page 812

034639,000404:                                                                                                  #           THE FOLLOWING CODING IS THE SAME AS MTIMERUP BUT ACCEPTS DP GET IN UPGET (SEE GSOP).
034640,000405: 
034641,000406: 31,2325           06112        MGETUP             TC       INTPRET                               #  MAKE SURE THIS ENTERED WITH VAC AREA.
034642,000407: 
034643,000408: 31,2326           44234                           RTB      BDSU                                  #  TIME IN CS.
034644,000409: 31,2327           33454                                    LOADTIME                              
034645,000410: 31,2330           01206                                    UPGET                                 
034646,000411: 31,2331           54205                           DMP      SL                                    #  CONVERT TO SEC & MOVE TO MAJOR PART.
034647,000412: 31,2332           22372                                    1/100                                 
034648,000413: 31,2333           20217                                    14D                                   
034649,000414: 31,2334           50004                           BOVB     BMN                                   
034650,000415: 31,2335           62356                                    UPERROR                               
034651,000416: 31,2336           62355                                    UPERROR    -1                         #  (DOES AN EXIT.)
034652,000417: 
034653,000418: 31,2337           77776                           EXIT                                           
034654,000419: 
034655,000420: 31,2340           00004                           INHINT                                         
034656,000421: 31,2341           37757                           CA       BIT5                                  #  INSURE THAT MAINTENANCE IS STILL ENABLED
034657,000422: 31,2342           70076                           MASK     FLAGWRD2                              
034658,000423: 31,2343           00006                           EXTEND                                         
034659,000424: 31,2344           12356                           BZF      UPERROR                               
034660,000425: 
034661,000426: 31,2345           02251                           TC       CHKUPDEX   +1                         
034662,000427: 31,2346           30144                           CA       MPAC                                  #  CONTAINS DT IN SECONDS.
034663,000428: 31,2347           50070                           INDEX    RUPTREG1                              
034664,000429: 31,2350           55164                           TS       MTIMER4                               #  INSERT DT DIRECTLY INTO TIMER.
034665,000430: 
034666,000431:                                                                                                  #           GENERAL EXIT LOCATION FOR SUCCESSFULLY COMPLETED UPDATE:
034667,000432: 
034668,000433: 31,2351           37767        ENDUP              CAF      ZERO                                  #  TURN OFF GROUP 6.
034669,000434: 31,2352           04246                           TC       NEWPHASE                              
034670,000435: 31,2353           00006                           OCT      6                                     
034671,000436: 
034672,000437: 31,2354           15567                           TCF      ENDOFJOB                              
034673,000438: 
034674,000439:                                                                                                  #           EXIT FOR GENERAL UPDATE ERRORS (RANGE OF DATA, ETC.)
034675,000440: 
034676,000441: 31,2355           77776                 -1        EXIT                                           
034677,000442: 
034678,000443: 31,2356           04571        UPERROR            TC       FALTON                                
034679,000444: 31,2357           12351                           TCF      ENDUP                                 #  RELINT, & ENDOFJOB.
034680,000445: 

Page 813

034682,000447:                                                                                                  #           THE FOLLOWING TABLE SPECIFIES STARTING LOCATIONS AND PRIORITIES OF ALL 206 MISSION PHASES INITIATED BY
034683,000448:                                                                                                  #  THE MISSION TIMERS (S4B-LEM SEP AND BEYOND). IT ALSO CONTAINS INHIBIT/ENABLE INFORMATION, ETC. EACH ENTRY
034684,000449:                                                                                                  #  CONSISTS OF THREE WORDS. THE FIRST IS PACKED WITH SEVERAL PIECES OF INFORMATION, AND THE SECOND TWO CONTAIN THE
034685,000450:                                                                                                  #  2CADR OF THE LOCATION AT WHICH THE PHASE IS TO BEGIN. THE INTERPRETATION OF WORD 1 IS AS FOLLOWS:
034686,000451: 
034687,000452:                                                                                                  #           BIT15:         SPARE
034688,000453:                                                                                                  #           BITS 14-10:    JOB PRIORITY.
034689,000454:                                                                                                  #           BITS 9-5:      SPARE
034690,000455:                                                                                                  #           BIT4:          1 IF TIMERS TO BE DISABLED ON PHASE INITIATION.
034691,000456:                                                                                                  #           BIT3:          1 IF RCS TESTS (INHIBIT/ENABLE INFO).
034692,000457:                                                                                                  #           BIT2:                  1 IF DPS COLD SOAK
034693,000458:                                                                                                  #           BIT1:                  1 IF RCS COLD SOAK
034694,000459: 
034695,000460:                                                                                                  #  NOTE SPARES COULD BE USED FOR SWITCHING DOWNLISTS, ETC.
034696,000461: 
034697,000462:                                                                                                  #           PHASES 1 - 6 ARE NOT INCLUDED SINCE THEY ARE NOT INITIATED BY THE MISSION SCHEDULING ROUTINES.
034698,000463: 31,2360           20010        MTABLE1            OCT      20010                                 #  MP7
034699,000464: 31,2361  E4,1566                                  EBANK=   TDEC                                  
034700,000465: 31,2361           02474 52064                     2CADR    MP07JOB                               
034701,000466: 
034702,000467: 31,2363           20012                           OCT      20012                                 #  MP8
034703,000468: 31,2364  E3,1652                                  EBANK=   RATEINDX                              
034704,000469: 31,2364           02564 56063                     2CADR    MP8JOB                                
034705,000470: 
034706,000471: 31,2366           20010                           OCT      20010                                 #  MP9
034707,000472: 31,2367  E4,1566                                  EBANK=   TDEC                                  
034708,000473: 31,2367           02724 66064                     2CADR    MP9JOB                                
034709,000474: 
034710,000475: 31,2371           00243 32703  1/100              2DEC     0.01                                  #  MP 10.  UNUSED SLOT.
034711,000476: 
034712,000477: 31,2373           00034        34OCT              OCT      00034                                 
034713,000478: 
034714,000479: 31,2374           20010                           OCT      20010                                 #  MP11
034715,000480: 31,2375  E4,1566                                  EBANK=   TDEC                                  
034716,000481: 31,2375           02000 74064                     2CADR    MP11JOB                               
034717,000482: 
034718,000483: 31,2377           04736                           TC       CCSHOLE                               #  MP 12.  UNUSED SLOT.
034719,000484: 31,2400           04736                           TC       CCSHOLE                               
034720,000485: 31,2401           04736                           TC       CCSHOLE                               
034721,000486: 
034722,000487: 31,2402           20010                           OCT      20010                                 #  MP13
034723,000488: 31,2403  E4,1566                                  EBANK=   TDEC                                  
034724,000489: 31,2403           03114 56064                     2CADR    MP13JOB                               
034725,000490: 
034726,000491: 31,2405           04736                           TC       CCSHOLE                               #  MP 14.  UNUSED SLOT.
034727,000492: 31,2406           04736                           TC       CCSHOLE                               
034728,000493: 31,2407           04736                           TC       CCSHOLE                               
034729,000494: 
034730,000495: 31,2410  31,2333               MTABLE             EQUALS   MTABLE1    -21D                       #  MP 1-6 NOT ACTUALLY INCLUDED IN TABLE.
034731,000496: 

Page 814

034733,000498: 31,2410           04755        BADPHASE           TC       ALARM                                 #  ALARM WHEN MPHASE COMES DUE BUT MPHASE
034734,000499: 31,2411           00601                           OCT      00601                                 #  REGISTER IS ZERO (-0 MEANS INACTIVE).
034735,000500: 
034736,000501: 31,2412           35660                           CAF      PRIO37                                
034737,000502: 31,2413           05505                           TC       NOVAC                                 
034738,000503: 31,2414  E3,1400                                  EBANK=   LST1                                  
034739,000504: 31,2414           02007 16063                     2CADR    FORGETIT                              
034740,000505: 
034741,000506: 31,2416           05727                           TC       TASKOVER                              

End of include-file AS206_MISSION_SCHEDULING_PACKAGE.agc.  Parent file is MAIN.agc