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.

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

Page 67

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

Page 68

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

Page 69

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

Page 70

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

Page 71

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

Page 72

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

Page 73

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

Page 74

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

Page 75

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

Page 76

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

Page 77

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