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.

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

Page 801

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

Page 802

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

Page 803

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

Page 804

034367,000138: 31,2124           51200                           INDEX    MDUETEMP                              
034368,000139: 31,2125           55170                           TS       MPHASE4                               
034369,000140: 31,2126           51200                           INDEX    MDUETEMP                              
034370,000141: 31,2127           55174                           TS       MTIMER4T                              
034371,000142: 31,2130           00002                           TC       Q                                     
034372,000143: 

Page 805

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

Page 806

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

Page 807

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

Page 808

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

Page 809

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

Page 810

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

Page 811

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

Page 812

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

Page 813

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

Page 814

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

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