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.

034210,000002:                                                                                                  ## Copyright:    Public domain.
034211,000003:                                                                                                  ## Filename:     AS206_MISSION_SCHEDULING_PACKAGE.agc
034212,000004:                                                                                                  ## Purpose:      A module for revision 0 of BURST120 (Sunburst). It 
034213,000005:                                                                                                  ##               is part of the source code for the Lunar Module's
034214,000006:                                                                                                  ##               (LM) Apollo Guidance Computer (AGC) for Apollo 5.
034215,000007:                                                                                                  ## Assembler:    yaYUL
034216,000008:                                                                                                  ## Contact:      Ron Burkey <info@sandroid.org>.
034217,000009:                                                                                                  ## Website:      www.ibiblio.org/apollo/index.html
034218,000010:                                                                                                  ## Mod history:  2016-09-30 RSB  Created draft version.
034219,000011:                                                                                                  ##               2016-10-29 MAS  Transcribed.
034220,000012:                                                                                                  ##               2016-12-06 RSB  Comments proofed using octopus/ProoferComments,
034221,000013:                                                                                                  ##                               changes made.
034222,000014: 

Page 801

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

Page 802

034275,000067: 31,2040           05663                           TC       WAITLIST                              
034276,000068: 31,2041     1164                                  EBANK=   MTIMER4                               
034277,000069: 31,2041           02000 62062                     2CADR    MMAINT                                
034278,000070: 
034279,000071: 31,2043           00006                           EXTEND                                         
034280,000072: 31,2044           31175                           DCA      MTIMER4T                              
034281,000073: 31,2045           53165                           DXCH     MTIMER4                               
034282,000074: 31,2046           00006                           EXTEND                                         
034283,000075: 31,2047           31177                           DCA      MTIMER4T   +2                         
034284,000076: 31,2050           53167                           DXCH     MTIMER2                               
034285,000077: 
034286,000078: 31,2051           04161                           TC       PHASCHNG                              
034287,000079: 31,2052           40133                           OCT      40133                                 
034288,000080: 
034289,000081: 31,2053           05727                           TC       TASKOVER                              
034290,000082: 
034291,000083: 31,2054           00144        1SEC               DEC      100        B-14                       
034292,000084: 

Page 803

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

Page 804

034346,000138: 31,2124           51200                           INDEX    MDUETEMP                              
034347,000139: 31,2125           55170                           TS       MPHASE4                               
034348,000140: 31,2126           51200                           INDEX    MDUETEMP                              
034349,000141: 31,2127           55174                           TS       MTIMER4T                              
034350,000142: 31,2130           00002                           TC       Q                                     
034351,000143: 

Page 805

034353,000145:                                                                                                  #  RESTART  ROUTIN E TO RESCHEDULE MISSION PHASE
034354,000146: 
034355,000147: 31,2131           30764        REDOMDUE           CA       PHASENUM                              #  FIND PRIO AND 2CADR OF NEW MP IN TABLE.
034356,000148: 31,2132           00006                           EXTEND                                         
034357,000149: 31,2133           76311                           MP       THREE                                 
034358,000150: 31,2134           50001                           INDEX    L                                     
034359,000151: 31,2135           32333                           CA       MTABLE                                
034360,000152: 31,2136           75660                           MASK     PRIO37                                
034361,000153: 31,2137           54063                           TS       NEWPRIO                               
034362,000154: 31,2140           00006                           EXTEND                                         
034363,000155: 31,2141           50001                           INDEX    L                                     
034364,000156: 31,2142           32335                           DCA      MTABLE     +1                         
034365,000157: 31,2143           05526                           TC       SPVAC                                 #  DO FINDVAC WITH 2CADR IN A +  L
034366,000158: 31,2144           12107                           TCF      MTIMEDWN                              
034367,000159: 
034368,000160: 
034369,000161: 
034370,000162:                                                                                                  #  DO A PSEUDO VERB 34 ENTER TO KILL AN UPDATE IN PROGRESS, AND TO RELEASE THE DSKY.
034371,000163: 
034372,000164: 31,2145           32373        UPDATKIL           CAF      34OCT                                 
034373,000165: 31,2146           54304                           TS       REQRET                                
034374,000166: 31,2147           05206                           TC       BANKCALL                              
034375,000167: 31,2150           12314                           CADR     UPDATVB    -1                         
034376,000168: 
034377,000169: 31,2151           05225                           TC       POSTJUMP                              
034378,000170: 31,2152           11333                           CADR     VBTERM                                #  GOES TO ENDOFJOB WHEN DONE
034379,000171: 

Page 806

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

Page 807

034428,000220:                                                                                                  #  SUBROUTINE TO START MISSION TIMERS IF THEY ARE NOT GOING ALREADY.
034429,000221: 
034430,000222:    5162           30076        MSTART             CA       FLAGWRD2                              #  SEE IF TIMERS ENABLED ALREADY.
034431,000223:    5163           77757                           MASK     BIT5                                  
034432,000224:    5164           10000                           CCS      A                                     
034433,000225:    5165           15202                           TCF      MDONE                                 #  YES - RETURN.
034434,000226: 
034435,000227:    5166           15171                           TCF      +3                                    #  THERE USED TO BE A PHASE CHANGE HERE.
034436,000228:    5167           04736                           TC       CCSHOLE                               
034437,000229:    5170           04736                           TC       CCSHOLE                               
034438,000230: 
034439,000231:    5171           06060                           TC       FLAG2UP                               #  SHOW TIMERS ENABLED.
034440,000232:    5172           00020                           OCT      20                                    
034441,000233: 
034442,000234:    5173           00004                           INHINT                                         
034443,000235: 
034444,000236:    5174           35204                           CAF      STATECRI                              #  INITIALIZE STATE VECTOR EXTRAPOLATION
034445,000237:    5175           55201                           TS       STATECTR                              #  TIMER.
034446,000238: 
034447,000239:    5176           37763                           CAF      ONE                                   
034448,000240:    5177           05663                           TC       WAITLIST                              
034449,000241:    5200     1164                                  EBANK=   MTIMER4                               
034450,000242:    5200           02000 62062                     2CADR    MMAINT                                #  START COUNTER MAINTENANCE.
034451,000243: 
034452,000244:    5202           00003        MDONE              RELINT                                         
034453,000245:    5203           01207                           TC       MRETURN                               
034454,000246: 
034455,000247:    5204           01033        STATECRI           DEC      539        B-14                       #  CALLS FOR INTEGRATION EVERY 539 SEC.
034456,000248:    5205           00145        1SEC+1             DEC      101        B-14                       
034457,000249: 

Page 808

034459,000251:                                                                                                  #  SUBROUTINE CALLS FOR VARIOUS UPDATE OPTIONS (SEE GSOP).  ENTER UNDER EXEC WITH INTERRUPT INHIBITED.
034460,000252: 
034461,000253: 31,2153                                           BANK     31                                    
034462,000254: 31,2153           02265        DOV70              TC       MTIMERUP                              #  VERB 70
034463,000255: 31,2154           12351                           TCF      ENDUP                                 
034464,000256: 
034465,000257: 31,2155           02221        DOV71              TC       MPHASEUP                              #  VERB 71
034466,000258: 31,2156           12161                           TCF      DOV72      +2                         
034467,000259: 
034468,000260: 31,2157           02221        DOV72              TC       MPHASEUP                              #  VERB 72
034469,000261: 31,2160           02265                           TC       MTIMERUP                              
034470,000262: 31,2161           31202                 +2        CA       UPPHASE                               #  FOR V72, WE DON'T ALTER THE MPHASE
034471,000263: 31,2162           50070                           INDEX    RUPTREG1                              #  REGISTER UNTIL SURE THAT TIMER CHANGE
034472,000264: 31,2163           55170                           TS       MPHASE4                               #  IS LEGAL.
034473,000265: 31,2164           12351        TCFENDUP           TCF      ENDUP                                 
034474,000266: 

Page 809

034476,000268:                                                                                                  #  INVERT INHIBIT/ENABLE SWITCH WHOSE INDEX IS IN UPINDEX (1 TO 3).  ENTER UNDER EXEC WITH INTERRUPT INHIBITED.
034477,000269: 
034478,000270: 31,2165           47762        DOV73              CS       TWO                                   
034479,000271: 31,2166           61204                           AD       UPINDEX                               
034480,000272: 31,2167           04323                           TC       MAGSUB                                #  SEE IF INDEX LEGIT.
034481,000273: 31,2170           77776                           DEC      -1         B-14                       
034482,000274: 31,2171           12356                           TCF      UPERROR                               
034483,000275: 
034484,000276: 31,2172           51204                           INDEX    UPINDEX                               
034485,000277: 31,2173           37760                           CAF      BIT3       -1                         #  BITS IN POSITIONS 3, 2, AND 1 OF
034486,000278: 31,2174           54001                           TS       L                                     #  FLAGWRD2 (SEE SWITCH ASSIGNMENTS).
034487,000279: 31,2175           30076                           CA       FLAGWRD2                              
034488,000280: 31,2176           00006                           EXTEND                                         
034489,000281: 31,2177           06001                           RXOR     L                                     
034490,000282: 31,2200           54076                           TS       FLAGWRD2                              
034491,000283: 31,2201           12351                           TCF      ENDUP                                 
034492,000284: 
034493,000285:                                                                                                  #           THE FOLLOWING CODING ISSUES THE SINGLE LMP COMMAND FOUND IN UPINDEX PROVIDED THE TIMERS ARE ENABLED
034494,000286:                                                                                                  #  (NON TIME CRITICAL PHASE OF MISSION).
034495,000287: 
034496,000288: 31,2202           40076        DOV67              CS       FLAGWRD2                              
034497,000289: 31,2203           77757                           MASK     BIT5                                  
034498,000290: 31,2204           10000                           CCS      A                                     
034499,000291: 31,2205           12356                           TCF      UPERROR                               
034500,000292: 
034501,000293: 31,2206           47754                           CS       BIT8                                  #  COMMAND MUST BE BETWEEN 1 AND 255.
034502,000294: 31,2207           61204                           AD       UPINDEX                               
034503,000295: 31,2210           04323                           TC       MAGSUB                                
034504,000296: 31,2211           77600                           DEC      -127       B-14                       
034505,000297: 31,2212           12356                           TCF      UPERROR                               
034506,000298: 
034507,000299: 31,2213           32220                           CAF      TC1LMP                                
034508,000300: 31,2214           55203                           TS       UPINDEX    -1                         
034509,000301: 31,2215           32164                           CAF      TCFENDUP                              
034510,000302: 31,2216           55205                           TS       UPINDEX    +1                         
034511,000303: 31,2217           01203                           TC       UPINDEX    -1                         
034512,000304: 
034513,000305: 31,2220           05060        TC1LMP             TC       1LMP                                  #  FOR ERASABLE CALL.
034514,000306: 

Page 810

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

Page 811

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

Page 812

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

Page 813

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

Page 814

034706,000498: 31,2410           04755        BADPHASE           TC       ALARM                                 #  ALARM WHEN MPHASE COMES DUE BUT MPHASE
034707,000499: 31,2411           00601                           OCT      00601                                 #  REGISTER IS ZERO (-0 MEANS INACTIVE).
034708,000500: 
034709,000501: 31,2412           35660                           CAF      PRIO37                                
034710,000502: 31,2413           05505                           TC       NOVAC                                 
034711,000503: 31,2414  E3,1400                                  EBANK=   LST1                                  
034712,000504: 31,2414           02007 16063                     2CADR    FORGETIT                              
034713,000505: 
034714,000506: 31,2416           05727                           TC       TASKOVER                              

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