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.

003344,000002:                                                                                                  ## Copyright:   Public domain.
003345,000003:                                                                                                  ## Filename:    PHASE_TABLE_MAINTENANCE.agc
003346,000004:                                                                                                  ## Purpose:     A module for revision 0 of BURST120 (Sunburst).
003347,000005:                                                                                                  ##              It is part of the source code for the Lunar Module's (LM)
003348,000006:                                                                                                  ##              Apollo Guidance Computer (AGC) for Apollo 5.
003349,000007:                                                                                                  ## Assembler:   yaYUL
003350,000008:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
003351,000009:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
003352,000010:                                                                                                  ## Mod history: 2016-09-30 RSB  Created draft version.
003353,000011:                                                                                                  ##              2016-10-04 RSB  Corrected against the Sunburst page scans.
003354,000012:                                                                                                  ##              2016-10-30 MAS  Corrected PHASJUMP->PHASCHNG.
003355,000013:                                                                                                  ##              2016-11-01 RSB  Typos.
003356,000014:                                                                                                  ##              2016-11-03 RSB  Added some SBANK= workarounds.
003357,000015:                                                                                                  ##              2016-12-03 RSB  Used octopus/ProoferComments to proof the comments.
003358,000016:                                                                                                  ##                              Made 62 corrections (11 pages total).
003359,000017:                                                                                                  ##              2016-12-04 RSB  Another typo identified with ProoferComments.py.
003360,000018:                                                                                                  ##              2016-12-05 RSB  Comment-proofing with octopus/ProoferComments completed.
003361,000019:                                                                                                  ##              2017-03-14 RSB  Comment-text fixes noted in proofing Luminary 116.
003362,000020:                                                                                                  ##              2017-06-17 MAS  Globally removed all SBANK= workarounds.
003363,000021: 

Page 77

003365,000023:                                                                                                  #  SUBROUTINE TO UPDATE THE PROGRAM NUMBER DISPLAY ON THE DSKY.
003366,000024: 
003367,000025:    4117                                           BLOCK    02                                    
003368,000026:    4117           50002        NEWMODEX           INDEX    Q                                     #  UPDATE MODREG.  ENTRY FOR MODE IN FIXED.
003369,000027:    4120           30000                           CAF      0                                     
003370,000028:    4121           24002                           INCR     Q                                     
003371,000029: 
003372,000030:    4122           56302        NEWMODEA           XCH      MODREG                                #  ENTRY FOR MODE IN A
003373,000031:    4123           40000                           COM                                            #  IF NO CHANGE IN MODE, RETURN IMMEDIATELY
003374,000032:    4124           60302                           AD       MODREG                                
003375,000033:    4125           00006                           EXTEND                                         
003376,000034:    4126           17020                           BZF      TCQ                                   
003377,000035: 
003378,000036:    4127           34132                           CAF      +3                                    #  CALL PINBALL SUBROUTINE
003379,000037:    4130           22006        PREBJUMP           LXCH     BBANK                                 #  PUTS BBANK IN L
003380,000038:    4131           15230                           TCF      BANKJUMP                              #  PUTS Q INTO A
003381,000039:    4132           72000                           CADR     SETUPDSP                              
003382,000040: 
003383,000041:                                                                                                  #  RETURN TO CALLER +3 IF MODE = THAT AT CALLER +1.  OTHERWISE RETURN TO CALLER +2.
003384,000042: 
003385,000043:    4133           50002        CHECKMM            INDEX    Q                                     
003386,000044:    4134           40000                           CS       0                                     
003387,000045:    4135           60302                           AD       MODREG                                
003388,000046:    4136           00006                           EXTEND                                         
003389,000047:    4137           17017                           BZF      Q+2                                   
003390,000048:    4140           17015                           TCF      Q+1                                   #  NO MATCH
003391,000049: 
003392,000050:    4141     7020               TCQ                =        Q+2        +1                         
003393,000051: 
003394,000052: 35,2000                                           BANK     35                                    
003395,000053: 
003396,000054: 35,2000           00004        SETUPDSP           INHINT                                         
003397,000055: 35,2001           52071                           DXCH     RUPTREG1                              #  SAVE CALLER-S RETURN 2CADR
003398,000056: 35,2002           35210                           CAF      PRIO30                                #    EITHER A TASK OR JOB CAN COME TO
003399,000057: 35,2003           05505                           TC       NOVAC                                 #    NEWMODEX
003400,000058: 35,2004     0302                                  EBANK=   MODREG                                
003401,000059: 35,2004           02011 72060                     2CADR    DSPMMJOB                              
003402,000060: 
003403,000061: 35,2006           52071                           DXCH     RUPTREG1                              
003404,000062: 35,2007           00003                           RELINT                                         
003405,000063: 35,2010           52006                           DXCH     Z                                     #  RETURN
003406,000064: 
003407,000065: 35,2011           05206        DSPMMJOB           TC       BANKCALL                              
003408,000066: 35,2012           13403                           CADR     DSPMM1                                
003409,000067: 35,2013           15567                           TCF      ENDOFJOB                              
003410,000068: 
003411,000069:    4141                                           BLOCK    02                                    

Page 78

003413,000071: 
003414,000072:                                                                                                  #  PHASCHNG IS THE MAIN WAY OF MAKING PHASE CHANGES FOR RESTARTS.  THERE ARE THREE FORMS OF PHASCHNG, KNOWN AS TYPE
003415,000073:                                                                                                  #  A, TYPE B, AND TYPE C.  THEY ARE ALL CALLED AS FOLLOWS, WHERE OCT XXXXX   CONTAINS THE PHASE INFORMATION,
003416,000074: 
003417,000075:                                                                                                  #                TC      PHASCHNG
003418,000076:                                                                                                  #                OCT     XXXXX
003419,000077: 
003420,000078:                                                                                                  #  TYPE A IS CONCERNED WITH FIXED PHASE CHANGES, THAT IS, PHASE INFORMATION THAT IS STORED PERMANENTLY.  THESE
003421,000079:                                                                                                  #  OPTIONS ARE, WHERE G STANDS FOR A GROUP AND .X FOR THE PHASE.
003422,000080: 
003423,000081:                                                                                                  #        G.0             INACTIVE, WILLNOT PERMIT A GROUP G RESTART
003424,000082:                                                                                                  #        G.1             WILL CAUSE THE LAST DISPLAY TO BE REACTIVATED, USED MAINLY IN MANNED FLIGHTS
003425,000083:                                                                                                  #        G.EVEN          A DOUBLE TABLE RESTART, CAN CAUSE ANY COMBINATION OF TWO JOBS, TASKS, AND/OR
003426,000084:                                                                                                  #                        LONGCALL TO BE RESTARTED.
003427,000085:                                                                                                  #        G.ODD NOT .1    A SINGLE TABLE RESTART, CAN CAUSE EITHER A JOB, TASK, OR LONGCALL RESTART
003428,000086: 
003429,000087:                                                                                                  #  THIS INFORMATION IS PUT INTO THE OCTAL WORD AFTER TC PHASCHNG AS FOLLOWS
003430,000088: 
003431,000089:                                                                                                  #        TL0 00P PPP PPP GGG                                               ,
003432,000090: 
003433,000091:                                                                                                  #  WHERE EACH LETTER OR NUMBER STANDS FOR A BIT.  THE G:S STAND FOR THE GROUP, OCTAL 1-7, THE P;S FOR THE PHASE,
003434,000092:                                                                                                  #  OCTAL 0 - 127.  0;S MUST BE 0.              IF ONE WISHES TO HAVE THE TBASE OF GROUP G TO BE SET AT THIS TIME,
003435,000093:                                                                                                  #  T IS SET TO 1, OTHERWISE IT IS SET TO 0.  SIMIARLY IF ONE WISHES TO SET LONGBASE, THEN L IS SET TO 1, OTHERWISE
003436,000094:                                                                                                  #  IT IS SET TO 0.  SOME EXAMPLES,
003437,000095: 
003438,000096:                                                                                                  #                TC      PHASCHNG        THIS WILL CAUSE GROUP 3 TO BE SET TO 0,
003439,000097:                                                                                                  #                OCT     00003           MAKING GROUP 3 INACTIVE
003440,000098: 
003441,000099:                                                                                                  #                TC      PHASCHNG        IF A RESTART OCCURS THIS WOULD CAUSE
003442,000100:                                                                                                  #                OCT     00012           GROUP 2 TO RESTART THE LAST DISPLAY
003443,000101: 
003444,000102:                                                                                                  #                TC      PHASCHNG        THIS SETS THE TBASE OF GROUP 4 AND IN
003445,000103:                                                                                                  #                OCT     40064           CASE OF A RESTART WOULD START UP THE TWO
003446,000104:                                                                                                  #                                        THINGS LOCATED IN THE DOUBLE 4.6 RESTART
003447,000105:                                                                                                  #                                        LOCATION
003448,000106: 
003449,000107:                                                                                                  #                TC      PHASCHNG        THIS SETS LONGBASE AND UPON A RESTART
003450,000108:                                                                                                  #                OCT     20135           CAUSES 5.13 TO BE RESTARTED (SINCE
003451,000109:                                                                                                  #                                        LONGBASE WAS SET THIS SINGLE ENTRY
003452,000110:                                                                                                  #                                        SHOULD BE A LONGCALL)
003453,000111: 
003454,000112:                                                                                                  #                TC      PHASCHNG        SINCE BOTH TBASE4 AND LONGBASE ARE SET,
003455,000113:                                                                                                  #                OCT     60124           4.12 SHOULD CONTAIN BOTH A TASK AND A
003456,000114:                                                                                                  #                                        LONGCALL TO BE RESTARTED
003457,000115: 
003458,000116:                                                                                                  #  TYPE C PHASCHNG CONTAINS THE VARIABLE TYPE OF PHASCHNG INFORMATION.  INSTEAD OF THE INFORMATION BEING IN A
003459,000117:                                                                                                  #  PERMANENT FORM, ONE STORES THE DESIRED RESTART INFORMATION IN A VARIABKE LOCATION.  THE BITS ARE AS FOLLOWS,
003460,000118: 
003461,000119:                                                                                                  #        TL0 1AD XXX CJW GGG
003462,000120: 
003463,000121:                                                                                                  #  WHERE EACH LETTER OR NUMBER STANDS FOR A BIT.  THE G;S STAND FOR THE GROUP, OCTAL 1 - 7.  IF THE RESTART IS TO
003464,000122:                                                                                                  #  BE BY WAITLIST, W IS SET TO 1, IF IT IS A JOB, J IS SET TO 1, IF IT IS A LONGCALL, C IS SET TO 1.  ONLY ONE OF
003465,000123:                                                                                                  #  THESE THREE BITS MAY BE SET.  X;S ARE IGNORED 1 MUST BE 1, AND 0 MUST BE 0.  AGAIN T STANDS FOR THE TBASE,

Page 79

003467,000125:                                                                                                  #  AND L FOR LONGBASE.  THE BITS A AND D ARE CONCERNED WITH THE VARIABLE INFORMATION.  IF D IS SET TO 1, A PRIORITY
003468,000126:                                                                                                  #  OR DELTA TIME WILL BE READ FROM THE NEXT LOCATION AFTER THE OCTAL INFORMATION, IF THIS IS TO BE INDIRECT, THAT
003469,000127:                                                                                                  #  IS, THE NAME OF A LOCATION CONTAINING THE INFORMATION (DELTA TIME ONLY), THEN THIS IS GIVEN AS THE -GENADR OF
003470,000128:                                                                                                  #  THAT LOCATION WHICH CONTAINS THE DELTA TIME.  IF THE OLD PRIORITY OR DELTA TIME IS TO BE USED, THAT WHICH IS
003471,000129:                                                                                                  #  ALREADY IN THE VARIABLE STORAGE, THEN D IS SET TO 0.  NEXT THE A BIT IS USED.  IF IT IS SET TO 0, THE ADDRESS
003472,000130:                                                                                                  #  THAT WOULD BE RESTARTED DURING A RESTART IS THE NEXT LOCATION AFTER THE PHASE INFORMATION, THAT IS, EITHER
003473,000131:                                                                                                  #  (TC PHASCHNG) +2 OR +3, DEPENDING ON WHETHER D HAD BEEN SET OR NOT.  IF A IS SET TO 1, THEN THE ADDRESS THAT
003474,000132:                                                                                                  #  WOULD BE RESTARTED IS THE 2CADR THAT IS READ FROM THE NEXT TWO LOCATIONS.  EXAMPLES,
003475,000133: 
003476,000134:                                                                                                  #        AD      TC      PHASCHNG        THIS WOULD CAUSE LOCATION AD +3 TO BE
003477,000135:                                                                                                  #        AD+1    OCT     05023           RESTARTED BY GROUP THREE WITH A PRIORITY
003478,000136:                                                                                                  #        AD+2    OCT     23000           OF 23.  NOTE UPON RETURNING IT WOULD
003479,000137:                                                                                                  #        AD+3                            ALSO GO TO AD+3
003480,000138: 
003481,000139:                                                                                                  #        AD      TC      PHASCHNG        GROUP  1 WOULD CAUSE CAUSE CALLCALL TO
003482,000140:                                                                                                  #        AD+1    OCT     27441           BE STARTED AS A LONGCALL FROM THE TIME
003483,000141:                                                                                                  #        AD+2   -GENADR  DELTIME         STORED IN LONGBASE (LONGBASE WAS SET) BY
003484,000142:                                                                                                  #        AD+3    2CADR   CALLCALL        A DELTA TIME STORED IN DELTIME.  THE
003485,000143:                                                                                                  #        AD+4                            BBCON OF THE 2CADR SHOULD CONTAIN THE E
003486,000144:                                                                                                  #        AD+5                            BANK OF DELTIME.  PHASCHNG RETURNS TO
003487,000145:                                                                                                  #                                        LOCATION AD+5
003488,000146: 
003489,000147:                                                                                                  #  TYPE B PHASCHNG IS A COMBINATION OF VARIABLE AND FIXED PHASE CHANGES.  IT WILL START UP A JOB AS INDICATED
003490,000148:                                                                                                  #  BELOW AND ALSO START UP ONE FIXED RESTART, THAT IS EITHER AN G.1 OR A G.ODD OR THE FIRST ENTRY OF G.EVEN
003491,000149:                                                                                                  #  DOUBLE ENTRY.  THE BIT INFORMATION IS AS FOLLOWS,
003492,000150: 
003493,000151:                                                                                                  #        TL1 DAP PPP PPP GGG
003494,000152: 
003495,000153:                                                                                                  #  WHERE EACH LETTER OR NUMBER STANDS FOR A BIT.  THE G;S STAND FOR THE GROUP, OCTAL 1 - 7, THE P;S FOR THE FIXED
003496,000154:                                                                                                  #  PHASE INFORMATION, OCTAL 0 - 127.  1 MUST BE 1.  AND AGAIN T STANDS FOR THE TBASE AND L FOR LONGBASE.  D THIS
003497,000155:                                                                                                  #  TIME STANDS ONLY FOR PRIORITY SINCE THIS WILL BE CONSIDERED A JOB, AND IT MUST BE GIVEN DIRECTLY IF GIVEN.
003498,000156:                                                                                                  #  AGAIN A STANDS FOR THE ADDRESS OF THE LOCATION TO BE RESTARTED, 1 IF THE 2CADR IS GIVEN, OR 0 IF IT IS TO BE
003499,000157:                                                                                                  #  THE NEXT LOCATION.  (THE RETURN LOCATION OF PHASCHNG) EXAMPLES,
003500,000158: 
003501,000159:                                                                                                  #        AD      TC      PHASCHNG        TBASE IS SET AND A RESTART CAUSE GROUP 3
003502,000160:                                                                                                  #        AD+1    OCT     56043           TO START THE JOB AJOBAJOB WITH PRIORITY
003503,000161:                                                                                                  #        AD+2    OCT     31000           31 AND THE FIRST ENTRY OF 3.4SPOT (WE CAN
003504,000162:                                                                                                  #        AD+3    2CADR   AJOBAJOB        ASSUME IT IS A TASK SINCE WE SET TBASE3)
003505,000163:                                                                                                  #        AD+4                            UPON RETURN FROM PHASCHNG CONTROL WOULD
003506,000164:                                                                                                  #        AD+5                            GO TO AD+5
003507,000165: 
003508,000166:                                                                                                  #        AD      TC      PHASCHNG        UPON A RESTART THE LAST DISPLAY WOULD BE
003509,000167:                                                                                                  #        AD+1    OCT     10015           RESTARTED AND A JOB WITH THE PREVIOUSLY
003510,000168:                                                                                                  #        AD+2                            STORED PRIORITY WOULD BE BEGUN AT AD+2
003511,000169:                                                                                                  #                                        BY MEANS OF GROUP 5
003512,000170: 
003513,000171:                                                                                                  #  SUMMARY OF BITS
003514,000172:                                                                                                  #        TYPE A          TL0 00P PPP PPP GGG

Page 80

003516,000174:                                                                                                  #        TYPE B          TL1 DAP PPP PPP GGG
003517,000175: 
003518,000176:                                                                                                  #        TYPE C          TL0 1AD XXX CJW GGG
003519,000177: 

Page 81

003521,000179:                                                                                                  #  2PHSCHNG IS USED WHEN ONE WISHES TO START UP A GROUP OR CHANGE A GROUP WHILE UNDER THE CONTROL OF A DIFFERENT
003522,000180:                                                                                                  #  GROUP.  FOR EXAMPLE, CHANGE THE PHASE OF GROUP 3 WHILE THE PORTION OF THE PROGRAM IS UNDER GROUP 5.  ALL 2PHSCHNG
003523,000181:                                                                                                  #  CALLS ARE MADE IN THE FOLLOWING MANNER,
003524,000182: 
003525,000183:                                                                                                  #                TC      2PHSCHNG
003526,000184:                                                                                                  #                OCT     XXXXX
003527,000185:                                                                                                  #                OCT     YYYYY
003528,000186: 
003529,000187:                                                                                                  #  WHERE OCT XXXXX MUST BE OF TYPE A AND OCT YYYYY MAY BE OF EITHER TYPE A OR TYPE B OR TYPE C.  THERE IS ONE
003530,000188:                                                                                                  #  DIFFERENCE --- NOTE- IF LONGBASE IS TO BE SET THIS INFORMATION IS GIVEN IN THE OCT YYYYY INFORMATION, IT WILL
003531,000189:                                                                                                  #  BE DISREGARDED IF GIVEN WITH THE OCT XXXXX INFORMATION.  A COUPLE OF EXAMPLES MAY HELP,
003532,000190: 
003533,000191:                                                                                                  #        AD      TC      2PHSCHNG        SET TBASE3 AND IF A RESTART OCCURS START
003534,000192:                                                                                                  #        AD+1    OCT     40083           THE TWO ENTRIES IN 3.8 TABLE LOCATION
003535,000193:                                                                                                  #        AD+2    OCT     05025           THIS IS OF TYPE C, SET THE JOB TO BE
003536,000194:                                                                                                  #        AD+3    OCT     18000           TO BE LOCATION AD+4, WITH A PRIORITY 18,
003537,000195:                                                                                                  #        AD+4                            FOR GROUP 5 PHASE INFORMATION
003538,000196: 
003539,000197:    4141           00004        2PHSCHNG           INHINT                                         #  THE ENTRY FOR A DOUBLE PHASE CHANGE
003540,000198:    4142           50002                           NDX      Q                                     
003541,000199:    4143           30000                           CA       0                                     
003542,000200:    4144           24002                           INCR     Q                                     
003543,000201:    4145           54072                           TS       TEMPP2                                
003544,000202: 
003545,000203:    4146           77765                           MASK     OCT7                                  
003546,000204:    4147           60000                           DOUBLE                                         
003547,000205:    4150           54071                           TS       TEMPG2                                
003548,000206: 
003549,000207:    4151           30072                           CA       TEMPP2                                
003550,000208:    4152           74241                           MASK     OCT17770                              #  NEED ONLY 1770, BUT WHY GET A NEW CONST.
003551,000209:    4153           00006                           EXTEND                                         
003552,000210:    4154           77750                           MP       BIT12                                 
003553,000211:    4155           56072                           XCH      TEMPP2                                
003554,000212: 
003555,000213:    4156           77745                           MASK     BIT15                                 
003556,000214:    4157           54066                           TS       TEMPSW2                               #  INDICATES WHETHER TO SET TBASE OR NOT
003557,000215: 
003558,000216:    4160           14164                           TCF      PHASCHNG   +3                         
003559,000217: 
003560,000218: 
003561,000219:    4161           00004        PHASCHNG           INHINT                                         
003562,000220:    4162           37763                           CA       ONE                                   #  INDICATESWE CAME FROM A PHASCHNG ENTRY
003563,000221:    4163           54066                           TS       TEMPSW2                               
003564,000222: 
003565,000223:    4164           50002                           NDX      Q                                     
003566,000224:    4165           30000                           CA       0                                     
003567,000225:    4166           24002                           INCR     Q                                     
003568,000226:    4167           54065                           TS       TEMPSW                                
003569,000227: 
003570,000228:    4170           00006                           EXTEND                                         

Page 82

003572,000230:    4171           34174                           DCA      ADRPCHN2                              #  OFF TO SWITCHED BANK
003573,000231:    4172           52006                           DTCB                                           
003574,000232: 
003575,000233:    4173  E3,1400                                  EBANK=   LST1                                  
003576,000234:    4173           02634 14063  ADRPCHN2           2CADR    PHSCHNG2                              
003577,000235: 
003578,000236:    4175           22073        ONEORTWO           LXCH     TEMPBBCN                              
003579,000237:    4176           22006                           LXCH     BBANK                                 
003580,000238:    4177           22073                           LXCH     TEMPBBCN                              
003581,000239: 
003582,000240:    4200           75640                           MASK     OCT14000                              #  SEE WHAT KIND OF PHASE CHANGE IT IS
003583,000241:    4201           10000                           CCS      A                                     
003584,000242:    4202           14242                           TCF      CHECKB                                #  IT IS OF TYPE ;B;
003585,000243: 
003586,000244:    4203           30062                           CA       TEMPP                                 
003587,000245:    4204           77755                           MASK     BIT7                                  
003588,000246:    4205           10000                           CCS      A                                     #  SHALL WE USE THE OLD PRIORITY
003589,000247:    4206           14226                           TCF      GETPRIO                               #  NO GET A NEW PRIORITY (OR DELTA T)
003590,000248: 
003591,000249:    4207           50061        OLDPRIO            NDX      TEMPG                                 #  USE THE OLD PRIORITY (OR DELTA T)
003592,000250:    4210           31112                           CA       PHSPRDT1   -2                         
003593,000251:    4211           54070                           TS       TEMPPR                                
003594,000252: 
003595,000253:    4212           30062        CON1               CA       TEMPP                                 #  SEE IF A 2CADR IS GIVEN
003596,000254:    4213           77754                           MASK     BIT8                                  
003597,000255:    4214           10000                           CCS      A                                     
003598,000256:    4215           14232                           TCF      GETNEWNM                              
003599,000257: 
003600,000258:    4216           30002                           CA       Q                                     
003601,000259:    4217           54063                           TS       TEMPNM                                
003602,000260:    4220           30006                           CA       BB                                    
003603,000261:    4221           54064                           TS       TEMPBB                                
003604,000262: 
003605,000263:    4222           34225        TOCON2             CA       CON2ADR                               #  BACK TO SWITCHED BANK
003606,000264:    4223           22073                           LXCH     TEMPBBCN                              
003607,000265:    4224           52006                           DTCB                                           
003608,000266: 
003609,000267:    4225           02722        CON2ADR            GENADR   CON2                                  
003610,000268: 
003611,000269:    4226           50002        GETPRIO            NDX      Q                                     #  DON:T CARE IF DIRECT OR INDIRECT
003612,000270:    4227           30000                           CA       0                                     #  LEAVE THAT DECISION TO RESTARTS
003613,000271:    4230           24002                           INCR     Q                                     #  OBTAIN RETURN ADDRESS
003614,000272:    4231           14211                           TCF      CON1       -1                         
003615,000273: 
003616,000274:    4232           00006        GETNEWNM           EXTEND                                         
003617,000275:    4233           50002                           INDEX    Q                                     
003618,000276:    4234           30001                           DCA      0                                     
003619,000277:    4235           52064                           DXCH     TEMPNM                                
003620,000278:    4236           37762                           CA       TWO                                   

Page 83

003622,000280:    4237           26002                           ADS      Q                                     #  OBTAIN RETURN ADDRESS
003623,000281: 
003624,000282:    4240           14222                           TCF      TOCON2                                
003625,000283: 
003626,000284:    4241           17770        OCT17770           OCT      17770                                 
003627,000285:    4242     5640               OCT14000           EQUALS   PRIO14                                
003628,000286:    4242     7765               OCT7               EQUALS   SEVEN                                 
003629,000287:    4242     0061               TEMPG              EQUALS   ITEMP1                                
003630,000288:    4242     0062               TEMPP              EQUALS   ITEMP2                                
003631,000289:    4242     0063               TEMPNM             EQUALS   ITEMP3                                
003632,000290:    4242     0064               TEMPBB             EQUALS   ITEMP4                                
003633,000291:    4242     0065               TEMPSW             EQUALS   ITEMP5                                
003634,000292:    4242     0066               TEMPSW2            EQUALS   ITEMP6                                
003635,000293:    4242     0070               TEMPPR             EQUALS   RUPTREG1                              
003636,000294:    4242     0071               TEMPG2             EQUALS   RUPTREG2                              
003637,000295:    4242     0072               TEMPP2             EQUALS   RUPTREG3                              
003638,000296: 
003639,000297:    4242     0073               TEMPBBCN           EQUALS   RUPTREG4                              
003640,000298:    4242  0000006               BB                 EQUALS   BBANK                                 
003641,000299: 
003642,000300: 
003643,000301: 06,2634                                           BANK     06                                    
003644,000302: 
003645,000303: 06,2634  E3,1516                                  EBANK=   PHSNAME1                              
003646,000304: 06,2634           22073        PHSCHNG2           LXCH     TEMPBBCN                              
003647,000305: 06,2635           30065                           CA       TEMPSW                                
003648,000306: 06,2636           77765                           MASK     OCT7                                  
003649,000307: 06,2637           60000                           DOUBLE                                         
003650,000308: 06,2640           54061                           TS       TEMPG                                 
003651,000309: 
003652,000310: 06,2641           30065                           CA       TEMPSW                                
003653,000311: 06,2642           74241                           MASK     OCT17770                              
003654,000312: 06,2643           00006                           EXTEND                                         
003655,000313: 06,2644           77750                           MP       BIT12                                 
003656,000314: 06,2645           54062                           TS       TEMPP                                 
003657,000315: 
003658,000316: 06,2646           30065                           CA       TEMPSW                                
003659,000317: 06,2647           72705                           MASK     OCT60000                              
003660,000318: 06,2650           56065                           XCH      TEMPSW                                
003661,000319: 06,2651           75640                           MASK     OCT14000                              
003662,000320: 06,2652           10000                           CCS      A                                     
003663,000321: 
003664,000322: 06,2653           14175                           TCF      ONEORTWO                              
003665,000323: 
003666,000324: 06,2654           30062                           CA       TEMPP                                 #  START STORING THE PHASE INFORMATION
003667,000325: 06,2655           50061                           NDX      TEMPG                                 
003668,000326: 06,2656           55076                           TS       PHASE1     -2                         
003669,000327: 
003670,000328: 06,2657           10066        BELOW1             CCS      TEMPSW2                               #  IS IT A PHASCHNG OR A 2PHSCHNG

Page 84

003672,000330: 06,2660           12674                           TCF      BELOW2                                #  IT;S A PHASCHNG
003673,000331: 
003674,000332: 06,2661           12662                           TCF      +1                                    #  IT;S A 2PHSCHNG
003675,000333: 06,2662           40072                           CS       TEMPP2                                
003676,000334: 06,2663           22072                           LXCH     TEMPP2                                
003677,000335: 06,2664           50071                           NDX      TEMPG2                                
003678,000336: 06,2665           53076                           DXCH     -PHASE1    -2                         
003679,000337: 
003680,000338: 06,2666           10066                           CCS      TEMPSW2                               
003681,000339: 06,2667           12670                           NOOP                                           #  CAN;T GET HERE
003682,000340: 06,2670           12674                           TCF      BELOW2                                
003683,000341: 
003684,000342: 06,2671           40025                           CS       TIME1                                 
003685,000343: 06,2672           50071                           NDX      TEMPG2                                
003686,000344: 06,2673           55111                           TS       TBASE1     -2                         
003687,000345: 
003688,000346: 06,2674           10065        BELOW2             CCS      TEMPSW                                #  SEE IF WE SHOULD SET TBASE OR LONGBASE
003689,000347: 06,2675           12710                           TCF      BELOW3                                #  SET LONGBASE ONLY
003690,000348: 06,2676           12713                           TCF      BELOW4                                #  SET NEITHER
003691,000349: 
003692,000350: 06,2677           40025                           CS       TIME1                                 #  SET TBASE TO BEGIN WITH
003693,000351: 06,2700           50061                           NDX      TEMPG                                 
003694,000352: 06,2701           55111                           TS       TBASE1     -2                         
003695,000353: 
003696,000354: 06,2702           30065                           CA       TEMPSW                                #  SHALL WE NOW SET LONGBASE
003697,000355: 06,2703           62706                           AD       BIT14COM                              
003698,000356: 06,2704           10000                           CCS      A                                     
003699,000357: 06,2705           60000        OCT60000           OCT      60000                                 #  ***** CANT GET HERE *****
003700,000358: 06,2706           17777        BIT14COM           OCT      17777                                 #  ***** CANT GET HERE *****
003701,000359: 06,2707           12713                           TCF      BELOW4                                #  NO WE NEED ONLY SET TBASE
003702,000360: 
003703,000361: 06,2710           00006        BELOW3             EXTEND                                         #  SET LONGBASE
003704,000362: 06,2711           30025                           DCA      TIME2                                 
003705,000363: 06,2712           53433                           DXCH     LONGBASE                              
003706,000364: 
003707,000365: 06,2713           40062        BELOW4             CS       TEMPP                                 #  AND STORE THE FINAL PART OF THE PHASE
003708,000366: 06,2714           50061                           NDX      TEMPG                                 
003709,000367: 06,2715           55075                           TS       -PHASE1    -2                         
003710,000368: 
003711,000369: 06,2716           30002                           CA       Q                                     
003712,000370: 06,2717           22073                           LXCH     TEMPBBCN                              
003713,000371: 06,2720           00003                           RELINT                                         
003714,000372: 06,2721           52006                           DTCB                                           
003715,000373: 06,2722           22073        CON2               LXCH     TEMPBBCN                              
003716,000374: 
003717,000375: 06,2723           30062                           CA       TEMPP                                 
003718,000376: 06,2724           50061                           NDX      TEMPG                                 
003719,000377: 06,2725           55076                           TS       PHASE1     -2                         
003720,000378: 
003721,000379: 06,2726           30070                           CA       TEMPPR                                

Page 85

003723,000381: 06,2727           50061                           NDX      TEMPG                                 
003724,000382: 06,2730           55112                           TS       PHSPRDT1   -2                         
003725,000383: 
003726,000384: 06,2731           00006                           EXTEND                                         
003727,000385: 06,2732           30064                           DCA      TEMPNM                                
003728,000386: 06,2733           50061                           NDX      TEMPG                                 
003729,000387: 06,2734           53515                           DXCH     PHSNAME1   -2                         
003730,000388: 
003731,000389: 06,2735           12657                           TCF      BELOW1                                
003732,000390: 
003733,000391:    4242                                           BLOCK    02                                    
003734,000392:    4242           77750        CHECKB             MASK     BIT12                                 #  SINCE THIS IS OF TYPE B, THIS BIT SHOULD
003735,000393:    4243           10000                           CCS      A                                     #   BE HERE IF WE ARE TO GET A NEW PRIORITY
003736,000394:    4244           14226                           TCF      GETPRIO                               #  IT IS, SO GET NEW PRIORITY
003737,000395: 
003738,000396:    4245           14207                           TCF      OLDPRIO                               #  IT ISN;T, USE THE OLD PRIORITY
003739,000397: 

Page 86

003741,000399:                                                                                                  #  PROGRAM DESCRIPTION: NEWPHASE                                           DATE: 11 NOV 1966
003742,000400:                                                                                                  #  MOD: 1                                                                  ASSEMBLY: SUNBURST REV
003743,000401:                                                                                                  #  MOD BY: COPPS                                                           LOG SECTION: PHASE TABLE MAINTENANCE
003744,000402:                                                                                                  #  FUNCTIONAL DESCRIPTION:
003745,000403:                                                                                                  #                NEWPHASE IS THE QUICK WAY TO MAKE A NON VARIABLE PHASE CHANGE. IT INCLUDES THE OPTION OF SETTING
003746,000404:                                                                                                  #           TBASE OF THE GROUP. IF TBASE IS TO BE SET, -C(TIME1) IS STORED IN THE TBASE TABLE AS FOLLOWS:
003747,000405: 
003748,000406:                                                                                                  #                   (L-1) TBASE0
003749,000407:                                                                                                  #                   (L)   TBASE1 (IF GROUP=1)
003750,000408:                                                                                                  #                   (L+1)
003751,000409:                                                                                                  #                   (L+2) TBASE2 (IF GROUP=2)
003752,000410:                                                                                                  #                   -----
003753,000411:                                                                                                  #                   (L+6) TBASE4 (IF GROUP=4)
003754,000412:                                                                                                  #                   (L+7)
003755,000413:                                                                                                  #                   (L+8) TBASE5 (IF GROUP=5)
003756,000414: 
003757,000415:                                                                                                  #           IN ANY CASE, THE NEGATIVE OF THE PHASE, FOLLOWED (IN THE NEXT REGISTER)  BY THE PHASE, IF STORED IN THE
003758,000416:                                                                                                  #           PHASE TABLE AS FOLLOWS:
003759,000417: 
003760,000418:                                                                                                  #                   (L)   -PHASE1 (IF GROUP=1)
003761,000419:                                                                                                  #                   (L+1) PHASE1
003762,000420:                                                                                                  #                   (L+2) -PHASE2 (IF GROUP=2)
003763,000421:                                                                                                  #                   (L+3) PHASE2
003764,000422:                                                                                                  #                   -----
003765,000423:                                                                                                  #                   (L+7) PHASE 4
003766,000424:                                                                                                  #                   (L+8) -PHASE5 (IF GROUP=5)
003767,000425:                                                                                                  #                   (L+9) PHASE5
003768,000426: 
003769,000427:                                                                                                  #  CALLING SEQUENCE:
003770,000428:                                                                                                  #                EXAMPLE IS FOR PLACING A PHASE OF FIVE INTO GROUP THREE:
003771,000429: 
003772,000430:                                                                                                  #           1) IF TBASE IS NOT TO BE SET:
003773,000431:                                                                                                  #                                          L-1      CA     FIVE
003774,000432:                                                                                                  #                                          L        TC     NEWPHASE
003775,000433:                                                                                                  #                                          L+1      OCT    00003
003776,000434: 
003777,000435:                                                                                                  #           2) IF TBASE IS TO BE SET:
003778,000436:                                                                                                  #                                          L-1      CS     FIVE
003779,000437:                                                                                                  #                                          L        TC     NEWPHASE
003780,000438:                                                                                                  #                                          L+1      OCT    00003
003781,000439: 
003782,000440:                                                                                                  #  SUBROUTINES CALLED: NONE
003783,000441: 
003784,000442:                                                                                                  #  NORMAL EXIT MODE: AT L+2 OF CALLING SEQUENCE
003785,000443: 
003786,000444:                                                                                                  #  ALARM OR ABORT EXITS: NONE
003787,000445: 
003788,000446:                                                                                                  #  OUTPUT: PHASE TABLE AND TBASE TABLE UPDATED
003789,000447: 
003790,000448:                                                                                                  #  ERASABLE INITIALIZATION REQ,D: NONE
003791,000449: 

Page 87

003793,000451:                                                                                                  #  DEBRIS: A,L,TEMPG
003794,000452: 
003795,000453:                                                                                                  #  ***WARNING*** THIS PROGRAM IS TO BE PLACED IN FIXED-FIXED AND UNSWITCHED ERASABLE.
003796,000454: 
003797,000455:    4246                                           BLOCK    02                                    
003798,000456:    4246           00004        NEWPHASE           INHINT                                         
003799,000457: 
003800,000458:    4247           54001                           TS       L                                     #  SAVE FOR FURTHER USE
003801,000459: 
003802,000460:    4250           50002                           NDX      Q                                     #  OBTAIN THE GROUP NUMBER
003803,000461:    4251           30000                           CA       0                                     
003804,000462:    4252           24002                           INCR     Q                                     #  OBTAIN THE RETURN ADDRESS
003805,000463:    4253           60000                           DOUBLE                                         #  SAVE THE GROUP IN A FORM USED FOR
003806,000464:    4254           54061                           TS       TEMPG                                 #  INDEXING
003807,000465: 
003808,000466:    4255           10001                           CCS      L                                     #  SEE IF WE ARE TO SET TBASE
003809,000467:    4256           14265                           TCF      +7                                    #  NO, THE DELTA T WAS POSITIVE
003810,000468:    4257           14265                           TCF      +6                                    
003811,000469: 
003812,000470:    4260           24000        NUFAZ+10           INCR     A                                     #  SET TBASE AND STORE PHASE CORRECTLY
003813,000471:    4261           54001                           TS       L                                     
003814,000472: 
003815,000473:    4262           40025                           CS       TIME1                                 #  SET TBASE
003816,000474:    4263           50061                           NDX      TEMPG                                 
003817,000475:    4264           55111                           TS       TBASE1     -2                         
003818,000476: 
003819,000477:    4265           40001                           CS       L                                     #  NOW PUT THE PHASE IN THE RIGHT TABLE LOC
003820,000478:    4266           50061                           NDX      TEMPG                                 
003821,000479:    4267           53076                           DXCH     -PHASE1    -2                         
003822,000480: 
003823,000481:    4270           00003                           RELINT                                         
003824,000482:    4271           00002                           TC       Q                                     #  NOW RETURN TO CALLER

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