Source Code

These source-code files were transcribed from scans made from Don Eyles's personal copy of BURST120 (SUNBURST 120). They were scanned at archive.org's Boston facility, and the scanning was sponsored by Mike Stewart. The code was transcribed from these scans by a team of volunteers who are referenced in the program comments. Comments from the original source code are in ALL-CAPS, whereas comments added later in transcription are in Mixed-Case. In some cases, where similar code blocks exist in previously-transcribed AGC programs (primarily Luminary 99, from Apollo 11) those code blocks were used as a starting point and then corrected to agree with the BURST120 scans. The full scans are available at the Virtual AGC project's collection at archive.org, while more-convenient reduced-size (but reduced-quality) images are available at the main Virtual AGC website. Report any errors noted by creating an issue report at the Virtual AGC project's GitHub repository. Notations on the program listing read, in part:

	YUL SYSTEM FOR AGC: REVISION 0 OF PROGRAM BURST120 
	BY NASA 2021106-031 DEC 7, 1967

	THIS LISTING IS A COPY OF A VERSION OF THE PROGRAM INTENDED 
	FOR USE IN THE ON-BOARD PRIMARY GUIDANCE COMPUTER IN THE 
	UNMANNED FLIGHT OF APOLLO LUNAR MODULE 1 --- THE AS206 MISSION.
Note that the date is the date of the printout, not the date of the program revision.

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

Page 77

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

Page 78

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

Page 79

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

Page 80

003521,000174:                                                                                                  #        TYPE B          TL1 DAP PPP PPP GGG
003522,000175: 
003523,000176:                                                                                                  #        TYPE C          TL0 1AD XXX CJW GGG
003524,000177: 

Page 81

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

Page 82

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

Page 83

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

Page 84

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

Page 85

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

Page 86

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

Page 87

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

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