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 GROUPNote 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