Source Code

These source-code files were transcribed from a printout in Don Eyles's personal collection, scanned by archive.org, and financially sponsored by Peter McDermott. A team of volunteers performed the transcription and proof-reading. The scanned page images are available at the Virtual AGC Project website, as well as higher-quality (but much larger) images at the Virtual AGC Project's collection in the Internet Archive. Report any problems by creating "issues" at the Virtual AGC Project's GitHub Repository.

Notations on the program listing read, in part:

	YUL SYSTEM FOR AGC: NEW PROGRAM SHEPATIN BY EYLES
	DEC 13, 1966

	THIS PROGRAM WAS ASSEMBLED AS A VERSION OF REVISION 37 
        OF PROGRAM SUNBURST BY LEM GROUP
Note that the date is the date of the printout, not the date of the program revision.

002984,000002:                                                                                                  ## Copyright:   Public domain.
002985,000003:                                                                                                  ## Filename:    PHASE_TABLE_MAINTENANCE.agc
002986,000004:                                                                                                  ## Purpose:     A section of Sunburst revision 37, or Shepatin revision 0.
002987,000005:                                                                                                  ##              It is part of an early development version of the software
002988,000006:                                                                                                  ##              for Apollo Guidance Computer (AGC) on the unmanned Lunar
002989,000007:                                                                                                  ##              Module (LM) flight Apollo 5. Sunburst 37 was the program
002990,000008:                                                                                                  ##              upon which Don Eyles's offline development program Shepatin
002991,000009:                                                                                                  ##              was based; the listing herein transcribed was actually for
002992,000010:                                                                                                  ##              the equivalent revision 0 of Shepatin.
002993,000011:                                                                                                  ##              This file is intended to be a faithful transcription, except
002994,000012:                                                                                                  ##              that the code format has been changed to conform to the
002995,000013:                                                                                                  ##              requirements of the yaYUL assembler rather than the
002996,000014:                                                                                                  ##              original YUL assembler.
002997,000015:                                                                                                  ## Reference:   pp. 67-77
002998,000016:                                                                                                  ## Assembler:   yaYUL
002999,000017:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
003000,000018:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
003001,000019:                                                                                                  ## Mod history: 2017-05-24 MAS  Created from Sunburst 120.
003002,000020:                                                                                                  ##              2017-05-29 HG   Transcribed
003003,000021:                                                                                                  ##              2017-06-21 RSB  Proofed using octopus/ProoferComments.
003004,000022: 

Page 67

003006,000024:                                                                                                  #           SUBROUTINE TO UPDATE THE PROGRAM NUMBER DISPLAY ON THE DSKY.
003007,000025: 
003008,000026:    4105                                           BLOCK    02                                    
003009,000027:    4105           50002        NEWMODEX           INDEX    Q                                     #  UPDATE MODREG.
003010,000028:    4106           30000                           CAF      0                                     
003011,000029:    4107           24002                           INCR     Q                                     
003012,000030:    4110           56302                           XCH      MODREG                                
003013,000031:    4111           40000                           COM                                            #  IF NO CHANGE IN MODE, RETURN IMMEDIATELY
003014,000032:    4112           60302                           AD       MODREG                                
003015,000033:    4113           00006                           EXTEND                                         
003016,000034:    4114           17011                           BZF      TCQ                                   
003017,000035: 
003018,000036:    4115           34120                           CAF      +3                                    #  CALL PINBALL SUBROUTINE
003019,000037:    4116           22006        PREBJUMP           LXCH     BBANK                                 #  PUTS BBANK IN L
003020,000038: 
003021,000039:    4117           15246                           TCF      BANKJUMP                              #  PUTS Q INTO A
003022,000040:    4120           72000                           CADR     SETUPDSP                              
003023,000041: 
003024,000042:                                                                                                  #           RETURN TO CALLER +3 IF MODE = THAT AT CALLER +1. OTHERWISE RETURN TO CALLER +2.
003025,000043: 
003026,000044:    4121           50002        CHECKMM            INDEX    Q                                     
003027,000045:    4122           40000                           CS       0                                     
003028,000046:    4123           60302                           AD       MODREG                                
003029,000047:    4124           00006                           EXTEND                                         
003030,000048:    4125           17010                           BZF      Q+2                                   
003031,000049:    4126           17006                           TCF      Q+1                                   #  NO MATCH
003032,000050: 
003033,000051:    4127     7011               TCQ                =        Q+2        +1                         
003034,000052: 
003035,000053: 35,2000                                           BANK     35                                    
003036,000054: 
003037,000055: 35,2000           00004        SETUPDSP           INHINT                                         
003038,000056: 35,2001           52071                           DXCH     RUPTREG1                              #  SAVE CALLER-S RETURN 2CADR
003039,000057: 35,2002           35226                           CAF      PRIO30                                #    EITHER A TASK OR JOB CAN COME TO
003040,000058: 35,2003           05523                           TC       NOVAC                                 #    NEWMODEX
003041,000059: 35,2004     0302                                  EBANK=   MODREG                                
003042,000060: 35,2004           02011 72060                     2CADR    DSPMMJOB                              
003043,000061: 
003044,000062: 35,2006           52071                           DXCH     RUPTREG1                              
003045,000063: 35,2007           00003                           RELINT                                         
003046,000064: 35,2010           52006                           DXCH     Z                                     #  RETURN
003047,000065: 
003048,000066: 35,2011           05224        DSPMMJOB           TC       BANKCALL                              
003049,000067: 35,2012           13403                           CADR     DSPMM1                                
003050,000068: 35,2013           15605                           TCF      ENDOFJOB                              
003051,000069: 
003052,000070:    4127                                           BLOCK    02                                    
003053,000071: 

Page 68

003055,000073: 
003056,000074:                                                                                                  #  PHASCHNG IS THE MAIN WAY OF MAKING PHASE CHANGES FOR RESTARTS.  THERE ARE THREE FORMS OF PHASCHNG, KNOWN AS TYPE
003057,000075:                                                                                                  #  A, TYPE B, AND TYPE C. THEY ARE ALL CALLED AS FOLLOWS, WHERE OCT XXXXX   CONTAINS THE PHASE INFORMATION,
003058,000076: 
003059,000077:                                                                                                  #                                                   TC     PHASCHNG
003060,000078:                                                                                                  #                                                   OCT    XXXXX
003061,000079: 
003062,000080:                                                                                                  #  TYPE A IS CONCERNED WITH FIXED PHASE CHANGES, THAT IS, PHASE INFORMATIONTHAT IS STORED PERMANENTLY.  THESE
003063,000081:                                                                                                  #  OPTIONS ARE, WHERE G STANDS FOR A GROUP AND .X FOR THE PHASE.
003064,000082: 
003065,000083:                                                                                                  #                  G.0             INACTIVE, WILLNOT PERMIT A GROUP G RESTART
003066,000084:                                                                                                  #                  G.1             WILL CAUSE THE LAST DISPLAY TO BE REACTIVATED, USED MAINLY IN MANNED FLIGHTS
003067,000085:                                                                                                  #                  G.EVEN          A DOUBLE TABLE RESTART, CAN CAUSE ANY COMBINATION OF TWO JOBS, TASKS, AND/OR
003068,000086:                                                                                                  #                                  LONGCALL TO BE RESTARTED.
003069,000087:                                                                                                  #                  G.ODD NOT .1    A SINGLE TABLE RESTART, CAN CAUSE EITHER A JOB, TASK, OR LONGCALL RESTART
003070,000088: 
003071,000089:                                                                                                  #  THIS INFORMATION IS PUT INTO THE OCTAL WORD AFTER TC PHASCHNG AS FOLLOWS
003072,000090: 
003073,000091:                                                                                                  #                  TL0 00P PPP PPP GGG                                               ,
003074,000092: 
003075,000093:                                                                                                  #  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,
003076,000094:                                                                                                  #  OCTAL 0 - 127.  0:S MUST BE 0.              IF ONE WISHES TO HAVE THE TBASE OF GROUP G TO BE SET AT THIS TIME,
003077,000095:                                                                                                  #  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
003078,000096:                                                                                                  #  IT IS SET TO 0.  SOME EXAMPLES,
003079,000097: 
003080,000098:                                                                                                  #                                                   TC     PHASCHNG        THIS WILL CAUSE GROUP 3 TO BE SET TO 0,
003081,000099:                                                                                                  #                                                   OCT    00003           MAKING GROUP 3 INACTIVE
003082,000100: 
003083,000101:                                                                                                  #                                                   TC     PHASCHNG        IF A RESTART OCCURS THIS WOULD CAUSE
003084,000102:                                                                                                  #                                                   OCT    00012           GROUP 2 TO RESTART THE LAST DISPLAY
003085,000103: 
003086,000104:                                                                                                  #                                                   TC     PHASCHNG        THIS SETS THE TBASE OF GROUP 4 AND IN
003087,000105:                                                                                                  #                                                   OCT    40064           CASE OF A RESTART WOULD START UP THE TWO
003088,000106:                                                                                                  #                                                                          THINGS LOCATED IN THE DOUBLE 4.6 RESTART
003089,000107:                                                                                                  #                                                                          LOCATION
003090,000108:                                                                                                  #                                                   TC     PHASCHNG        THIS SETS LONGBASE AND UPON A RESTART
003091,000109:                                                                                                  #                                                   OCT    20135           CAUSES 5.13 TO BE RESTARTED  (SINCE
003092,000110:                                                                                                  #                                                                          LONGBASE WAS SET THIS SINGLE ENTRY
003093,000111:                                                                                                  #                                                                          SHOULD BE A LONGCALL)
003094,000112:                                                                                                  #                                                   TC     PHASCHNG        SINCE BOTH TBASE4 AND LONGBASE ARE SET,
003095,000113:                                                                                                  #                                                   OCT    60124           4.12 SHOULD CONTAIN BOTH A TASK AND A
003096,000114:                                                                                                  #                                                                          LONGCALL TO BE RESTARTED
003097,000115: 
003098,000116:                                                                                                  #  TYPE C PHASCHNG CONTAINS THE VARIABLE TYPE OF PHASCHNG INFORMATION. INSTEAD OF THE INFORMATION BEING IN A
003099,000117: 
003100,000118:                                                                                                  #  PERMANENT FORM, ONE STORES THE DESIRED RESTART INFORMATION IN A VARIABKE LOCATION. THE BITS ARE AS FOLLOWS,
003101,000119: 
003102,000120:                                                                                                  #                  TL0 1AD XXX CJW GGG
003103,000121: 
003104,000122:                                                                                                  #  WHERE EACH LETTER OR NUMBER STANDS FOR A BIT.  THE G:S STAND FOR THE GROUP, OCTAL 1 - 7.  IF THE RESTART IS TO
003105,000123:                                                                                                  #  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
003106,000124:                                                                                                  #  THESE THREE BIT S MAY BE SET.  X:S ARE IGNORED  1 MUST BE 1, AND 0 MUST  BE 0.  AGAIN T STANDS FOR THE TBASE,
003107,000125: 

Page 69

003109,000127:                                                                                                  #  AND L FOR LONGBASE.  THE BITS A AND D ARE CONCERNED WITH THE VARIABLE INFORMATION. IF D IS SET TO 1, A PRIORITY
003110,000128:                                                                                                  #  OR DELTA TIME WILL BE READ FROM THE NEXT LOCATION AFTER THE OCTAL INFORMATION, IF THIS IS TO BE INDIRECT, THAT
003111,000129: 
003112,000130:                                                                                                  #  IS, THE NAME OF A LOCATION CONTAINING THE INFORMATION (DELTA TIME ONLY), THEN THIS IS GIVEN AS THE -GENADR OF
003113,000131:                                                                                                  #  THAT LOCATION WHICH CONTAINS THE DELTA TIME.  IF THE OLD PRIORITY OR DELTA TIME IS TO BE USED, THAT WHICH IS
003114,000132:                                                                                                  #  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
003115,000133:                                                                                                  #  THAT WOULD BE RESTARTED DURING A RESTART IS THE NEXT LOCATION AFTER THE  PHASE INFORMATION, THAT IS, EITHER
003116,000134:                                                                                                  #  (TC PHASCHNG) +2 OR +3, DEPENDING ON WHETHER D HAD BEEN SET OR NOT.  IF A IS SET TO 1, THEN THE ADDRESS THAT
003117,000135:                                                                                                  #  WOULD BE RESTARTED IS THE 2CADR THAT IS READ FROM THE NEXT TWO LOCATIONS.  EXAMPLES,
003118,000136: 
003119,000137:                                                                                                  #                                          AD       TC     PHASCHNG        THIS WOULD CAUSE LOCATION AD +3 TO BE
003120,000138:                                                                                                  #                                          AD+1     OCT    05023           RESTARTED BY GROUP THREE WITHA PRIORITY
003121,000139:                                                                                                  #                                          AD+2     OCT    23000           OF 23.  NOTE UPON RETURNING IT WOULD
003122,000140:                                                                                                  #                                          AD+3                            ALSO GO TO AD+3
003123,000141: 
003124,000142:                                                                                                  #                                          AD       TC     PHASCHNG        GROUP  1 WOULD CAUSE CAUSE CALLCALL TO
003125,000143:                                                                                                  #                                          AD+1     OCT    27441           BE STARTED AS A LONGCALL FROM THE TIME
003126,000144:                                                                                                  #                                          AD+2    -GENADR DELTIME         STORED IN LONGBASE (LONGBASE WAS SET) BY
003127,000145:                                                                                                  #                                          AD+3     2CADR  CALLCALL        A DELTATIME STORED IN DELTIME.  THE
003128,000146:                                                                                                  #                                          AD+4                            BBCON OF THE 2CADR SHOULD CONTAIN THE E
003129,000147:                                                                                                  #                                          AD+5                            BANK OF DELTIME. PHASCHNG RETURNS TO
003130,000148:                                                                                                  #                                                                          LOCATION AD+5
003131,000149: 
003132,000150:                                                                                                  #  TYPE B PHASCHNG IS A COMBINATION OF VARIABLE AND FIXED PHASE CHANGES. IT WILL START UP A JOB AS INDICATED
003133,000151:                                                                                                  #  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
003134,000152:                                                                                                  #  DOUBLE ENTRY.  THE BIT INFORMATION IS AS FOLLOWS,
003135,000153: 
003136,000154:                                                                                                  #                  TL1 DAP PPP PPP GGG
003137,000155: 
003138,000156:                                                                                                  #  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
003139,000157:                                                                                                  #  PHASE INFORMATION, OCTAL 0 - 127. 1 MUST BE 1.  AND AGAIN T STANDS FOR THE TBASE AND L FOR LONGBASE. D THIS
003140,000158:                                                                                                  #  TIME STANDS ONLY FOR PRIORITY SINCE THIS WILL BE CONSIDERED A JOB, AND IT MUST BE GIVEN DIRECTLY IF GIVEN.
003141,000159:                                                                                                  #  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
003142,000160:                                                                                                  #  THE NEXT LOCATION.(THE RETURN LOCATION OF PHASCHNG) EXAMPLES,
003143,000161: 
003144,000162:                                                                                                  #                                          AD       TC     PHASCHNG        TBASE IS SET AND ARESTART CAUSE GROUP 3
003145,000163:                                                                                                  #                                          AD+1     OCT    56043           TO START THE JOB AJOBAJOB WITH PRIORITY
003146,000164: 
003147,000165:                                                                                                  #                                          AD+2     OCT    31000           31 AND THE FIRST ENTRY OF 3.4SPOT(WE CAN
003148,000166:                                                                                                  #                                          AD+3     2CADR  AJOBAJOB        ASSUME IT IS A TASK SINCE WE SET TBASE3)
003149,000167:                                                                                                  #                                          AD+4                            UPON RETURN FROM PHASCHNG CONTROL WOULD
003150,000168:                                                                                                  #                                          AD+5                            GO TO AD+5
003151,000169: 
003152,000170:                                                                                                  #                                          AD       TC     PHASCHNG        UPON A RESTART THE LAST DISPLAY WOULD BE
003153,000171:                                                                                                  #                                          AD+1     OCT    10015           RESTARTED AND A JOB WITH THE PREVIOUSLY
003154,000172:                                                                                                  #                                          AD+2                            STORED PRIORITY WOULD BE BEGUN AT AD+2
003155,000173:                                                                                                  #                                                                          BY MEANS OF GROUP 5
003156,000174: 
003157,000175:                                                                                                  #  SUMMARY OF BITS
003158,000176: 
003159,000177:                                                                                                  #  TYPE A          TL0 00P PPP PPP GGG
003160,000178: 

Page 70

003162,000180:                                                                                                  #  TYPE B          TL1 DAP PPP PPP GGG
003163,000181: 
003164,000182:                                                                                                  #  TYPE C          TL0 1AD XXX CJW GGG
003165,000183: 

Page 71

003167,000185:                                                                                                  #  2PHSCHNG IS USED WHEN ONE WISHES TO START UP A GROUP OR CHANGE A GROUP WHILE UNDER THE CONTROL OF A DIFFERENT
003168,000186:                                                                                                  #  GROUP. FOR EXAMPLE, CHANGE THE PHASE OF GROUP 3 WHILE THE PORTION OF THE PROGRAM IS UNDER GROUP 5. ALL 2PHSCHNG
003169,000187:                                                                                                  #  CALLS ARE MADE IN THE FOLLOWING MANNER,
003170,000188: 
003171,000189:                                                                                                  #                                                   TC     2PHSCHNG
003172,000190:                                                                                                  #                                                   OCT    XXXXX
003173,000191:                                                                                                  #                                                   OCT    YYYYY
003174,000192: 
003175,000193:                                                                                                  #  WHERE OCT XXXXX MUST BE OF TYPE A AND OCT YYYYY MAY BE OF EITHER TYPE A OR TYPE B OR TYPEC.  THERE IS ONE
003176,000194:                                                                                                  #  DIFFERENCE --- NOTE- IF LONGBASE IS TO BE SET THIS INFORMATION IS GIVEN IN THE OCT YYYYY INFORMATION, IT WILL
003177,000195:                                                                                                  #  BE DISREGARDED IF GIVEN WITH THE OCT XXXXX INFORMATION. A COUPLE OF EXAMPLES MAY HELP,
003178,000196: 
003179,000197:                                                                                                  #                                          AD       TC     2PHSCHNG        SET TBASE3 AND IF A RESTART OCCURS START
003180,000198:                                                                                                  #                                          AD+1     OCT    40083           THE TWO ENTRIES IN 3.8 TABLE LOCATION
003181,000199: 
003182,000200:                                                                                                  #                                          AD+2     OCT    05025           THIS IS OF TYPE C, SET THE JOB TO BE
003183,000201:                                                                                                  #                                          AD+3     OCT    18000           TO BE LOCATION AD+4, WITH A PRIORITY 18,
003184,000202:                                                                                                  #                                          AD+4                            FOR GROUP 5 PHASE INFORMATION
003185,000203: 
003186,000204:    4127           00004        2PHSCHNG           INHINT                                         #  THE ENTRY FOR A DOUBLE PHASE CHANGE
003187,000205:    4130           50002                           NDX      Q                                     
003188,000206:    4131           30000                           CA       0                                     
003189,000207:    4132           24002                           INCR     Q                                     
003190,000208:    4133           54072                           TS       TEMPP2                                
003191,000209: 
003192,000210:    4134           77757                           MASK     OCT7                                  
003193,000211:    4135           60000                           DOUBLE                                         
003194,000212:    4136           54071                           TS       TEMPG2                                
003195,000213: 
003196,000214:    4137           30072                           CA       TEMPP2                                
003197,000215:    4140           74227                           MASK     OCT17770                              #  NEED ONLY 1770, BUT WHY GET A NEW CONST.
003198,000216:    4141           00006                           EXTEND                                         
003199,000217:    4142           77742                           MP       BIT12                                 
003200,000218:    4143           56072                           XCH      TEMPP2                                
003201,000219: 
003202,000220:    4144           77737                           MASK     BIT15                                 
003203,000221:    4145           54066                           TS       TEMPSW2                               #  INDICATES WHETHER TO SET TBASE OR NOT
003204,000222: 
003205,000223:    4146           14152                           TCF      PHASCHNG   +3                         
003206,000224: 
003207,000225: 
003208,000226:    4147           00004        PHASCHNG           INHINT                                         
003209,000227:    4150           37755                           CA       ONE                                   #  INDICATESWE CAME FROM A PHASCHNG ENTRY
003210,000228:    4151           54066                           TS       TEMPSW2                               
003211,000229: 
003212,000230:    4152           50002                           NDX      Q                                     
003213,000231:    4153           30000                           CA       0                                     
003214,000232:    4154           24002                           INCR     Q                                     
003215,000233:    4155           54065                           TS       TEMPSW                                
003216,000234: 
003217,000235:    4156           00006                           EXTEND                                         
003218,000236: 

Page 72

003220,000238:    4157           34162                           DCA      ADRPCHN2                              #  OFF TO SWITCHED BANK
003221,000239:    4160           52006                           DTCB                                           
003222,000240: 
003223,000241:    4161  E3,1400                                  EBANK=   LST1                                  
003224,000242:    4161           02365 14003  ADRPCHN2           2CADR    PHSCHNG2                              
003225,000243: 
003226,000244:    4163           22073        ONEORTWO           LXCH     TEMPBBCN                              
003227,000245:    4164           22006                           LXCH     BBANK                                 
003228,000246:    4165           22073                           LXCH     TEMPBBCN                              
003229,000247: 
003230,000248:    4166           75656                           MASK     OCT14000                              #  SEE WHAT KIND OF PHASE CHANGE IT IS
003231,000249:    4167           10000                           CCS      A                                     
003232,000250:    4170           14230                           TCF      CHECKB                                #   IT IS OF TYPE :B:
003233,000251: 
003234,000252:    4171           30062                           CA       TEMPP                                 
003235,000253:    4172           77747                           MASK     BIT7                                  
003236,000254:    4173           10000                           CCS      A                                     #   SHALL WE USE THE OLD PRIORITY
003237,000255:    4174           14214                           TCF      GETPRIO                               #   NO GET A NEW PRIORITY (OR DELTA T)
003238,000256: 
003239,000257:    4175           50061        OLDPRIO            NDX      TEMPG                                 #   USE THE OLD PRIORITY (OR DELTA T)
003240,000258:    4176           31112                           CA       PHSPRDT1   -2                         
003241,000259:    4177           54070                           TS       TEMPPR                                
003242,000260: 
003243,000261:    4200           30062        CON1               CA       TEMPP                                 #  SEE IF A 2CADR IS GIVEN
003244,000262:    4201           77746                           MASK     BIT8                                  
003245,000263:    4202           10000                           CCS      A                                     
003246,000264:    4203           14220                           TCF      GETNEWNM                              
003247,000265: 
003248,000266:    4204           30002                           CA       Q                                     
003249,000267:    4205           54063                           TS       TEMPNM                                
003250,000268:    4206           30006                           CA       BB                                    
003251,000269:    4207           54064                           TS       TEMPBB                                
003252,000270: 
003253,000271:    4210           34213        TOCON2             CA       CON2ADR                               #  BACK TO SWITCHED BANK
003254,000272:    4211           22073                           LXCH     TEMPBBCN                              
003255,000273:    4212           52006                           DTCB                                           
003256,000274: 
003257,000275:    4213           02453        CON2ADR            GENADR   CON2                                  
003258,000276: 
003259,000277:    4214           50002        GETPRIO            NDX      Q                                     #  DON:T CARE IF DIRECT OR INDIRECT
003260,000278:    4215           30000                           CA       0                                     #  LEAVE THAT DECISION TO RESTARTS
003261,000279:    4216           24002                           INCR     Q                                     #  OBTAIN RETURN ADDRESS
003262,000280: 
003263,000281:    4217           14177                           TCF      CON1       -1                         
003264,000282: 
003265,000283:    4220           00006        GETNEWNM           EXTEND                                         
003266,000284:    4221           50002                           INDEX    Q                                     
003267,000285:    4222           30001                           DCA      0                                     
003268,000286:    4223           52064                           DXCH     TEMPNM                                
003269,000287:    4224           37754                           CA       TWO                                   
003270,000288: 

Page 73

003272,000290:    4225           26002                           ADS      Q                                     #  OBTAIN RETURN ADDRESS
003273,000291: 
003274,000292:    4226           14210                           TCF      TOCON2                                
003275,000293: 
003276,000294:    4227           17770        OCT17770           OCT      17770                                 
003277,000295:    4230     5656               OCT14000           EQUALS   PRIO14                                
003278,000296:    4230     7757               OCT7               EQUALS   SEVEN                                 
003279,000297:    4230     0061               TEMPG              EQUALS   ITEMP1                                
003280,000298:    4230     0062               TEMPP              EQUALS   ITEMP2                                
003281,000299:    4230     0063               TEMPNM             EQUALS   ITEMP3                                
003282,000300:    4230     0064               TEMPBB             EQUALS   ITEMP4                                
003283,000301:    4230     0065               TEMPSW             EQUALS   ITEMP5                                
003284,000302:    4230     0066               TEMPSW2            EQUALS   ITEMP6                                
003285,000303:    4230     0070               TEMPPR             EQUALS   RUPTREG1                              
003286,000304:    4230     0071               TEMPG2             EQUALS   RUPTREG2                              
003287,000305:    4230     0072               TEMPP2             EQUALS   RUPTREG3                              
003288,000306: 
003289,000307:    4230     0073               TEMPBBCN           EQUALS   RUPTREG4                              
003290,000308:    4230  0000006               BB                 EQUALS   BBANK                                 
003291,000309: 
003292,000310: 
003293,000311: 
003294,000312: 06,2365                                           BANK     06                                    
003295,000313: 
003296,000314: 06,2365  E3,1516                                  EBANK=   PHSNAME1                              
003297,000315: 06,2365           22073        PHSCHNG2           LXCH     TEMPBBCN                              
003298,000316: 
003299,000317: 06,2366           30065                           CA       TEMPSW                                
003300,000318: 06,2367           77757                           MASK     OCT7                                  
003301,000319: 06,2370           60000                           DOUBLE                                         
003302,000320: 06,2371           54061                           TS       TEMPG                                 
003303,000321: 
003304,000322: 06,2372           30065                           CA       TEMPSW                                
003305,000323: 06,2373           74227                           MASK     OCT17770                              
003306,000324: 06,2374           00006                           EXTEND                                         
003307,000325: 06,2375           77742                           MP       BIT12                                 
003308,000326: 06,2376           54062                           TS       TEMPP                                 
003309,000327: 
003310,000328: 06,2377           30065                           CA       TEMPSW                                
003311,000329: 06,2400           72436                           MASK     OCT60000                              
003312,000330: 06,2401           56065                           XCH      TEMPSW                                
003313,000331: 06,2402           75656                           MASK     OCT14000                              
003314,000332: 06,2403           10000                           CCS      A                                     
003315,000333: 
003316,000334: 06,2404           14163                           TCF      ONEORTWO                              
003317,000335: 
003318,000336: 06,2405           30062                           CA       TEMPP                                 #  START STORING THE PHASE INFORMATION
003319,000337: 06,2406           50061                           NDX      TEMPG                                 
003320,000338: 06,2407           55076                           TS       PHASE1     -2                         
003321,000339: 
003322,000340: 06,2410           10066        BELOW1             CCS      TEMPSW2                               #  IS IT A PHASCHNG OR A 2PHSCHNG
003323,000341: 

Page 74

003325,000343: 06,2411           12425                           TCF      BELOW2                                #  IT:S A PHASCHNG
003326,000344: 
003327,000345: 06,2412           12413                           TCF      +1                                    #  IT:S A 2PHSCHNG
003328,000346: 06,2413           40072                           CS       TEMPP2                                
003329,000347: 06,2414           22072                           LXCH     TEMPP2                                
003330,000348: 06,2415           50071                           NDX      TEMPG2                                
003331,000349: 06,2416           53076                           DXCH     -PHASE1    -2                         
003332,000350: 
003333,000351: 06,2417           10066                           CCS      TEMPSW2                               
003334,000352: 06,2420           12421                           NOOP                                           #  CAN:T GET HERE
003335,000353: 06,2421           12425                           TCF      BELOW2                                
003336,000354: 
003337,000355: 06,2422           40025                           CS       TIME1                                 
003338,000356: 06,2423           50071                           NDX      TEMPG2                                
003339,000357: 06,2424           55111                           TS       TBASE1     -2                         
003340,000358: 
003341,000359: 06,2425           10065        BELOW2             CCS      TEMPSW                                #  SEE IF WE SHOULD SET TBASE OR LONGBASE
003342,000360: 06,2426           12441                           TCF      BELOW3                                #  SET LONGBASE ONLY
003343,000361: 06,2427           12444                           TCF      BELOW4                                #  SET NEITHER
003344,000362: 
003345,000363: 06,2430           40025                           CS       TIME1                                 #  SET TBASE TO BEGIN WITH
003346,000364: 06,2431           50061                           NDX      TEMPG                                 
003347,000365: 06,2432           55111                           TS       TBASE1     -2                         
003348,000366: 
003349,000367: 06,2433           30065                           CA       TEMPSW                                #   SHALL WE NOW SET LONGBASE
003350,000368: 06,2434           62437                           AD       BIT14COM                              
003351,000369: 06,2435           10000                           CCS      A                                     
003352,000370: 06,2436           60000        OCT60000           OCT      60000                                 #  ***** CANT GET HERE *****
003353,000371: 06,2437           17777        BIT14COM           OCT      17777                                 #  ***** CANT GET HERE *****
003354,000372: 06,2440           12444                           TCF      BELOW4                                #  NO WE NEED ONLY SET TBASE
003355,000373: 
003356,000374: 06,2441           00006        BELOW3             EXTEND                                         #  SET LONGBASE
003357,000375: 
003358,000376: 06,2442           30025                           DCA      TIME2                                 
003359,000377: 06,2443           53433                           DXCH     LONGBASE                              
003360,000378: 
003361,000379: 06,2444           40062        BELOW4             CS       TEMPP                                 #  AND STORE THE FINAL PART OF THE PHASE
003362,000380: 06,2445           50061                           NDX      TEMPG                                 
003363,000381: 06,2446           55075                           TS       -PHASE1    -2                         
003364,000382: 
003365,000383: 06,2447           30002                           CA       Q                                     
003366,000384: 06,2450           22073                           LXCH     TEMPBBCN                              
003367,000385: 06,2451           00003                           RELINT                                         
003368,000386: 06,2452           52006                           DTCB                                           
003369,000387: 06,2453           22073        CON2               LXCH     TEMPBBCN                              
003370,000388: 
003371,000389: 06,2454           30062                           CA       TEMPP                                 
003372,000390: 06,2455           50061                           NDX      TEMPG                                 
003373,000391: 06,2456           55076                           TS       PHASE1     -2                         
003374,000392: 
003375,000393: 06,2457           30070                           CA       TEMPPR                                
003376,000394: 

Page 75

003378,000396: 06,2460           50061                           NDX      TEMPG                                 
003379,000397: 06,2461           55112                           TS       PHSPRDT1   -2                         
003380,000398: 
003381,000399: 06,2462           00006                           EXTEND                                         
003382,000400: 06,2463           30064                           DCA      TEMPNM                                
003383,000401: 06,2464           50061                           NDX      TEMPG                                 
003384,000402: 06,2465           53515                           DXCH     PHSNAME1   -2                         
003385,000403: 
003386,000404: 06,2466           12410                           TCF      BELOW1                                
003387,000405: 
003388,000406:    4230                                           BLOCK    02                                    
003389,000407:    4230           77742        CHECKB             MASK     BIT12                                 #  SINCE THIS IS OF TYPE B, THIS BIT SHOULD
003390,000408:    4231           10000                           CCS      A                                     #   BE HERE IF WE ARE TO GET A NEW PRIORITY
003391,000409:    4232           14214                           TCF      GETPRIO                               #  IT IS, SO GET NEW PRIORITY
003392,000410: 
003393,000411:    4233           14175                           TCF      OLDPRIO                               #  IT ISN:T, USE THE OLD PRIORITY
003394,000412: 

Page 76

003396,000414:                                                                                                  #  PROGRAM DESCRIPTION: NEWPHASE                                           DATE: 11 NOV 1966
003397,000415:                                                                                                  #  MOD: 1                                                                  ASSEMBLY: SUNBURST REV
003398,000416:                                                                                                  #  MOD BY: COPPS                                                           LOG SECTION: PHASE TABLE MAINTENANCE
003399,000417:                                                                                                  #  FUNCTIONAL DESCRIPTION:
003400,000418:                                                                                                  #                NEWPHASE IS THE QUICK WAY TO MAKE A NON VARIABLE PHASE CHANGE. IT INCLUDES THE OPTION OF SETTING
003401,000419:                                                                                                  #           TBASE OF THE GROUP. IF TBASE IS TO BE SET,  -C(TIME1) IS STORED IN THE TBASE TABLE AS FOLLOWS:
003402,000420: 
003403,000421:                                                                                                  #                  (L-1) TBASE0
003404,000422:                                                                                                  #                  (L)   TBASE1 (IF GROUP=1)
003405,000423:                                                                                                  #                  (L+1)
003406,000424:                                                                                                  #                  (L+2) TBASE2 (IF GROUP=2)
003407,000425:                                                                                                  #                  -----
003408,000426:                                                                                                  #                  (L+6) TBASE4 (IF GROUP=4)
003409,000427:                                                                                                  #                  (L+7)
003410,000428:                                                                                                  #                  (L+8) TBASE5 (IF GROUP=5)
003411,000429: 
003412,000430:                                                                                                  #           IN ANY CASE, THE NEGATIVE OF THE PHASE, FOLLOWED (IN THE NEXT REGISTER)  BY THE PHASE, IS STORED IN THE
003413,000431:                                                                                                  #           PHASE TABLE AS FOLLOWS:
003414,000432: 
003415,000433:                                                                                                  #                  (L)   -PHASE1 (IF GROUP=1)
003416,000434: 
003417,000435:                                                                                                  #                  (L+1) PHASE1
003418,000436:                                                                                                  #                  (L+2) -PHASE2 (IF GROUP=2)
003419,000437:                                                                                                  #                  (L+3) PHASE2
003420,000438:                                                                                                  #                  -----
003421,000439:                                                                                                  #                  (L+7) PHASE 4
003422,000440:                                                                                                  #                  (L+8) -PHASE5 (IF GROUP=5)
003423,000441:                                                                                                  #                  (L+9) PHASE5
003424,000442: 
003425,000443:                                                                                                  #  CALLING SEQUENCE:
003426,000444:                                                                                                  #                EXAMPLE IS FOR PLACING A PHASE OF FIVE INTO GROUP THREE:
003427,000445: 
003428,000446:                                                                                                  #           1) IF TBASE IS NOT TO BE SET:
003429,000447:                                                                                                  #                                          L-1      CA     FIVE
003430,000448:                                                                                                  #                                          L        TC     NEWPHASE
003431,000449:                                                                                                  #                                          L+1      OCT    00003
003432,000450: 
003433,000451:                                                                                                  #           2) IF TBASE IS TO BE SET:
003434,000452:                                                                                                  #                                          L-1      CS     FIVE
003435,000453:                                                                                                  #                                          L        TC     NEWPHASE
003436,000454:                                                                                                  #                                          L+1      OCT    00003
003437,000455: 
003438,000456:                                                                                                  #  SUBROUTINES CALLED: NONE
003439,000457: 
003440,000458:                                                                                                  #  NORMAL EXIT MODE: AT L+2 OF CALLING SEQUENCE
003441,000459: 
003442,000460:                                                                                                  #  ALARM OR ABORT EXITS: NONE
003443,000461: 
003444,000462:                                                                                                  #  OUTPUT: PHASE TABLE AND TBASE TABLE UPDATED
003445,000463: 
003446,000464:                                                                                                  #  ERASABLE INITIALIZATION REQ,D: NONE
003447,000465: 

Page 77

003449,000467:                                                                                                  #  DEBRIS: A,L,TEMPG
003450,000468: 
003451,000469:                                                                                                  #  ***WARNING*** THIS PROGRAM IS TO BE PLACED IN FIXED-FIXED AND UNSWITCHED ERASABLE.
003452,000470: 
003453,000471:    4234                                           BLOCK    02                                    
003454,000472:    4234           00004        NEWPHASE           INHINT                                         
003455,000473: 
003456,000474:    4235           54001                           TS       L                                     #  SAVE FOR FURTHER USE
003457,000475: 
003458,000476:    4236           50002                           NDX      Q                                     #  OBTAIN THE GROUP NUMBER
003459,000477:    4237           30000                           CA       0                                     
003460,000478:    4240           24002                           INCR     Q                                     #  OBTAIN THE RETURN ADDRESS
003461,000479:    4241           60000                           DOUBLE                                         #  SAVE THE GROUP IN A FORM USED FOR
003462,000480:    4242           54061                           TS       TEMPG                                 #  INDEXING
003463,000481: 
003464,000482:    4243           10001                           CCS      L                                     #  SEE IF WE ARE TO SET TBASE
003465,000483:    4244           14253                           TCF      +7                                    #  NO, THE DELTA T WAS POSITIVE
003466,000484:    4245           14253                           TCF      +6                                    
003467,000485: 
003468,000486:    4246           24000                           INCR     A                                     #  SET TBASE AND STORE PHASE CORRECTLY
003469,000487:    4247           54001                           TS       L                                     
003470,000488: 
003471,000489:    4250           40025                           CS       TIME1                                 #  SET TBASE
003472,000490:    4251           50061                           NDX      TEMPG                                 
003473,000491:    4252           55111                           TS       TBASE1     -2                         
003474,000492: 
003475,000493:    4253           40001                           CS       L                                     #  NOW PUT THE PHASE IN THE RIGHT TABLE LOC
003476,000494:    4254           50061                           NDX      TEMPG                                 
003477,000495:    4255           53076                           DXCH     -PHASE1    -2                         
003478,000496: 
003479,000497:    4256           00003                           RELINT                                         
003480,000498:    4257           00002                           TC       Q                                     #  NOW RETURN TO CALLER
003481,000499: 
003482,000500:    4260           24000        NUFAZ+10           INCR     A                                     #  SET TBASE AND STORE BASE CORRECTLY

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