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. |
002470,000002: ## Copyright: Public domain.
002471,000003: ## Filename: RESTART_TABLES_AND_RESTARTS_ROUTINE.agc
002472,000004: ## Purpose: A section of Sunburst revision 37, or Shepatin revision 0.
002473,000005: ## It is part of an early development version of the software
002474,000006: ## for Apollo Guidance Computer (AGC) on the unmanned Lunar
002475,000007: ## Module (LM) flight Apollo 5. Sunburst 37 was the program
002476,000008: ## upon which Don Eyles's offline development program Shepatin
002477,000009: ## was based; the listing herein transcribed was actually for
002478,000010: ## the equivalent revision 0 of Shepatin.
002479,000011: ## This file is intended to be a faithful transcription, except
002480,000012: ## that the code format has been changed to conform to the
002481,000013: ## requirements of the yaYUL assembler rather than the
002482,000014: ## original YUL assembler.
002483,000015: ## Reference: pp. 56-66
002484,000016: ## Assembler: yaYUL
002485,000017: ## Contact: Ron Burkey <info@sandroid.org>.
002486,000018: ## Website: www.ibiblio.org/apollo/index.html
002487,000019: ## Mod history: 2017-05-24 MAS Created from Sunburst 120.
002488,000020: ## 2017-05-28 HG Transcribed
002489,000021: ## 2017-06-15 HG Fix operator CS -> CA
002490,000022: ## 2017-06-15 HG Fix operator -2CADR -> 2CADR
002491,000023: ## 2017-06-21 RSB Proofed using octopus/ProoferComments.
002492,000024:
Page 56 |
002494,000026: # RESTART TABLES
002495,000027: # DO NOT REMOVE FROM THE BEGINNING OF THIS BANK
002496,000028: # ------------------
002497,000029:
002498,000030: # THERE ARE TWO FORMS OF RESTART TABLES FOR EACH GROUP. THEY ARE KNOWN AS THE EVEN RESTART TABLES AND THE ODD
002499,000031: # RESTART TABLES. THE ODD TABLES HAVE ONLY ONE ENTRY OF THREE LOCATIONS WHILE THE EVEN TABLES HAVE TWO ENTRIES
002500,000032: # EACH USING THREE LOCATIONS. THE INFORMATION AS TO WHETHER IT IS A JOB, WAITLIST, OR A LONGCALL IS GIVEN BY THE
002501,000033: # WAY THINGS ARE PUT INTO THE TABLES.
002502,000034: # A JOB HAS ITS PRIORITY STORED IN PRDTTAB OF THE CORRECT PHASE SPOT WITH ITS 2CADR IN THE CADRTAB. FOR
002503,000035: # EXAMPLE,
002504,000036:
002505,000037: # 5.7SPOT OCT 23000
002506,000038: # 2CADR SOMEJOB
002507,000039:
002508,000040: # A RESTART OF GROUP 5 WITH PHASE SEVEN WOULD THEN CAUSE SOMEJOB TO BE RESTARTED WITH A PRIORITY OF 23.
002509,000041:
002510,000042: # A LONGCALL HAS ITS GENADR OF ITS 2CADR STORED NEGATIVELY AND ITS BBCON STORED POSITIVELY. IN ITS PRDTTAB IS
002511,000043: # PLACED THE LOCATION OF A DP REGISTER THAT CONTAINS THE DELTA TIME THAT LONGCALL HAD BEEN ORIGINALLY STARTED
002512,000044: # WITH. EXAMPLE,
002513,000045:
002514,000046: # 3.6SPOT GENADR DELTAT
002515,000047: # -GENADR LONGTASK
002516,000048: # BBCON LONGTASK
002517,000049:
002518,000050: # OCT 31000
002519,000051: # 2CADR JOBAGAIN
002520,000052:
002521,000053: # THIS WOULD START UP LONGTASK AT THE APPROPRIATE TIME, OR IMMEDIATELY IF THE TIME HAD ALREADY PASSED. IT SHOULD
002522,000054: # BE NOTED THAT IF DELTAT IS IN A SWITCHED E BANK, THIS INFORMATOIN SHOULD BE IN THE BBCON OFTHE 2CADR OF THE
002523,000055: # TASK. FROM ABOVE, WE SEE THAT THE SECOND PART OF THIS PHASE WOULD BE STARTED AS A JOB WITH A PRIORITY OF 31.
002524,000056:
002525,000057: # WAITLIST CALLS ARE IDENTIFIED BY THE FACT THAT THEIR 2CADR IS STORED NEGATIVELY. IF PRDTTAB OF THE PHASE SPOT
002526,000058: # IS POSITIVE, THEN IT CONTAINS THE DELTA TIME, IF PRDTTAB IS NEGATIVE THEN IT IS THE -GENADR OF AN ERASABLE
002527,000059: # LOCATION CONTAINING THE DELTA TIME, THAT IS, THE TIME IS STORED INDIRECTLY. IT SHOULD BE NOTED AS ABOVE, THAT
002528,000060: # IF THE TIME IS STORED INDIRECTLY, THE BBCON MUST CONTAIN THE NECESSARY E BANK INFORMATION IF APPLICABLE. WITH
002529,000061: # WAITLIST WE HAVE ONE FURTHER OPTION, IF -0 IS STORED IN PRDTTAB, IT WILL CAUSE AN IMMEDIATE RESTART OF THE
002530,000062: # TASK. EXAMPLES,
002531,000063:
002532,000064: # OCT 77777 THIS WILL CAUSE AN IMMEDIATE RESTART
002533,000065: # -2CADR ATASK OF THE TASK :ATASK:
002534,000066:
002535,000067: # DEC 200 IF THE TIME OF THE 2 SECONDS SINCE DUMMY
002536,000068: # -2CADR DUMMY WAS PUT ON WAITLIST IS UP, IT WILL BEGIN
002537,000069: # IN 10 MS, OTHERWISE IT WILL BEGIN WHEN
002538,000070:
002539,000071: # IT NORMALLY WOULD HAVE BEGUN.
002540,000072:
002541,000073: # -GENADR DTIME WHERE DTIME CONTAINS THE DELTA TIME
002542,000074: # -2CADR TASKTASK OTHERWISE THIS IS AS ABOVE
002543,000075:
002544,000076: # ***** NOW THE TABLES THEMSELVES *****
002545,000077:
Page 57 |
002547,000079:
002548,000080: 4064 PRDTTAB EQUALS 24000 # USED TO FIND THE PRIORITY OR DELTA TIME
002549,000081: 4064 CADRTAB EQUALS 24001 # THIS AND THE NEXT LOCATION (RELATIVE)
002550,000082:
002551,000083: # CONTAIN THE RESTART CADR
002552,000084:
002553,000085: 06,2000 BANK 06
002554,000086:
002555,000087: 06,2000 E3,1400 EBANK= LST1 # GOPROG MUST SWITCH IN THIS EBANK
002556,000088:
002557,000089: 06,2000 02360 PHS2CADR GENADR PHSPART2 # DO NOT REMOVE THE FOLLOWING 6 LOCATIONS
002558,000090: 06,2001 02147 PRT2CADR GENADR GETPART2 # FROM BEGINNING OF BANK
002559,000091: 06,2002 05757 LGCLCADR GENADR LONGCALL
002560,000092: 06,2003 05534 FVACCADR GENADR FINDVAC
002561,000093: 06,2004 05701 WTLTCADR GENADR WAITLIST
002562,000094: 06,2005 05237 RTRNCADR TC SWRETURN
002563,000095:
002564,000096: 06,2006 10000 1.2SPOT OCT 10000 # TEMPORARY ENTRY TO ESTABLISH TABLE
002565,000097: 06,2007 E3,1400 EBANK= LST1
002566,000098: 06,2007 05614 04003 2CADR DUMMYJOB
002567,000099:
002568,000100: 06,2011 10000 OCT 10000
002569,000101: 06,2012 E3,1400 EBANK= LST1
002570,000102: 06,2012 05614 04003 2CADR DUMMYJOB
002571,000103: # ANY MORE GROUP 1.EVEN RESTART VALUES SHOULD GO HERE
002572,000104:
002573,000105: 06,2014 06,2006 1.3SPOT EQUALS 1.2SPOT
002574,000106:
002575,000107: # ANY MORE GROUP 1.ODD RESTART VALUES SHOULD GO HERE
002576,000108:
002577,000109: 06,2014 06,2006 2.2SPOT EQUALS 1.2SPOT
002578,000110:
002579,000111: # ANY MORE GROUP 2.EVEN RESTART VALUES SHOULD GO HERE
002580,000112:
002581,000113: 06,2014 77777 2.3SPOT OCT 77777 # MISSION SCHEDULING PACKAGE TO SET UP
002582,000114: 06,2015 E3,1400 EBANK= LST1
002583,000115: 06,2015 75621 15714 -2CADR REDOMDUE
002584,000116:
002585,000117: 06,2017 12574 2.5SPOT DEC 5500 B-14
002586,000118: 06,2020 E4,1566 EBANK= TDEC
002587,000119: 06,2020 75146 25773 -2CADR SIVB2
002588,000120:
002589,000121: 06,2022 77777 2.7SPOT OCT 77777
002590,000122: 06,2023 E4,1566 EBANK= TDEC
002591,000123: 06,2023 75621 25773 -2CADR SBORBA
002592,000124:
002593,000125: 06,2025 00620 2.11SPOT DEC 400 B-14
002594,000126: 06,2026 E4,1566 EBANK= TDEC
002595,000127: 06,2026 75506 25773 -2CADR SBORB8
002596,000128:
002597,000129: # ANY MORE GROUP 2.0DD RESTART VALUES SHOULD GO HERE
002598,000130:
Page 58 |
002600,000132: 06,2030 06,2006 3.2SPOT EQUALS 1.2SPOT
002601,000133: # ANY MORE GROUP 3.EVEN RESTART VALUES SHOULD GO HERE
002602,000134:
002603,000135: 06,2030 06,2006 3.3SPOT EQUALS 1.2SPOT
002604,000136: # ANY MORE GROUP 3.0DD RESTART VALUES SHOULD GO HERE
002605,000137:
002606,000138: 06,2030 06,2006 4.2SPOT EQUALS 1.2SPOT
002607,000139:
002608,000140: # ANY MORE GROUP 4.EVEN RESTART VALUES SHOULD GO HERE
002609,000141:
002610,000142: 06,2030 06,2006 4.3SPOT EQUALS 1.2SPOT
002611,000143: # ANY MORE GROUP 4.0DD RESTART VALUES SHOULD GO HERE
002612,000144:
002613,000145: 06,2030 21000 5.2SPOT OCT 21000
002614,000146: 06,2031 E4,1514 EBANK= RAVEGON
002615,000147: 06,2031 02317 60064 2CADR NORMLIZE
002616,000148:
002617,000149: 06,2033 00310 DEC 200 B-14
002618,000150: 06,2034 E5,1511 EBANK= DVCNTR
002619,000151: 06,2034 75211 17712 -2CADR REREADAC
002620,000152:
002621,000153: 06,2036 00310 5.4SPOT DEC 200 B-14
002622,000154: 06,2037 E5,1570 EBANK= BMEMORY
002623,000155: 06,2037 75777 17712 -2CADR PREREAD
002624,000156:
002625,000157: 06,2041 32000 OCT 32000
002626,000158: 06,2042 E3,1400 EBANK= LST1
002627,000159: 06,2042 03571 24003 2CADR LASTBIAS
002628,000160:
002629,000161: 06,2044 00310 5.6SPOT DEC 200 B-14
002630,000162: 06,2045 E5,1511 EBANK= DVCNTR
002631,000163: 06,2045 75211 17712 -2CADR REREADAC
002632,000164:
002633,000165: 06,2047 20000 OCT 20000
002634,000166: 06,2050 E5,1511 EBANK= DVCNTR
002635,000167: 06,2050 02115 60065 2CADR SERVICER
002636,000168: # ANY MORE GROUP 5.EVEN RESTART VALUES SHOULD GO HERE
002637,000169:
002638,000170: 06,2052 00310 5.3SPOT DEC 200 B-14
002639,000171: 06,2053 E5,1511 EBANK= DVCNTR
002640,000172: 06,2053 75211 17712 -2CADR REREADAC
002641,000173:
002642,000174: 06,2055 77777 5.5SPOT OCT 77777 # REPLACES INACTIVE 5.0 FOR FAKESTRT
002643,000175: 06,2056 1167 EBANK= MTIMER4 # * * * REMOVE IF RESTARTS RETURN * * *
002644,000176: 06,2056 75227 75775 -2CADR POOH2
002645,000177:
002646,000178: 06,2060 20000 5.7SPOT OCT 20000
002647,000179: 06,2061 E5,1400 EBANK= XSM
002648,000180: 06,2061 02016 72065 2CADR RSTGTS1
002649,000181:
Page 59 |
002651,000183: 06,2063 77777 5.11SPOT OCT 77777
002652,000184: 06,2064 E5,1400 EBANK= XSM
002653,000185: 06,2064 75707 05712 -2CADR ALLOOP1
002654,000186:
002655,000187: 06,2066 20000 5.13SPOT OCT 20000
002656,000188: 06,2067 E5,1400 EBANK= XSM
002657,000189: 06,2067 02752 72065 2CADR WTLISTNT
002658,000190:
002659,000191: 06,2071 20000 5.15SPOT OCT 20000
002660,000192: 06,2072 E5,1400 EBANK= XSM
002661,000193: 06,2072 02637 72065 2CADR RESTEST1
002662,000194:
002663,000195: 06,2074 20000 5.17SPOT OCT 20000
002664,000196: 06,2075 E5,1400 EBANK= XSM
002665,000197:
002666,000198: 06,2075 02730 72065 2CADR GEOSTRT4
002667,000199:
002668,000200: 06,2077 20000 5.21SPOT OCT 20000
002669,000201: 06,2100 E5,1400 EBANK= XSM
002670,000202: 06,2100 02140 72065 2CADR ALFLT1
002671,000203:
002672,000204: 06,2102 77777 5.23SPOT OCT 77777
002673,000205: 06,2103 E5,1400 EBANK= XSM
002674,000206: 06,2103 75656 05712 -2CADR SPECSTS
002675,000207:
002676,000208: 06,2105 20000 5.25SPOT OCT 20000
002677,000209: 06,2106 E5,1400 EBANK= XSM
002678,000210: 06,2106 02652 72065 2CADR RESTEST3
002679,000211:
002680,000212: 06,2110 20000 5.27SPOT OCT 20000
002681,000213: 06,2111 E5,1400 EBANK= XSM
002682,000214: 06,2111 02615 72065 2CADR RESTAIER
002683,000215:
002684,000216: 06,2113 77777 5.31SPOT OCT 77777
002685,000217: 06,2114 E5,1400 EBANK= XSM
002686,000218: 06,2114 75666 05712 -2CADR PIPSTRTS
002687,000219: # ANY MORE GROUP 5.ODD RESTART VALUES SHOULD GO HERE
002688,000220:
002689,000221: 06,2116 06,2006 6.2SPOT EQUALS 1.2SPOT
002690,000222: # ANY MORE GROUP 6.EVEN RESTART VALUES SHOULD GO HERE
002691,000223:
002692,000224: 06,2116 06,2006 6.3SPOT EQUALS 1.2SPOT
002693,000225: # ANY MORE GROUP 6.0DD RESTART VALUES SHOULD GO HERE
002694,000226:
002695,000227: 06,2116 00000 SIZETAB GENADR 1.2SPOT -24006
002696,000228: 06,2117 00002 GENADR 1.3SPOT -24004
002697,000229: 06,2120 00000 GENADR 2.2SPOT -24006
002698,000230: 06,2121 00010 GENADR 2.3SPOT -24004
002699,000231: 06,2122 00000 GENADR 3.2SPOT -24006
002700,000232: 06,2123 00002 GENADR 3.3SPOT -24004
002701,000233:
Page 60 |
002703,000235: 06,2124 00000 GENADR 4.2SPOT -24006
002704,000236: 06,2125 00002 GENADR 4.3SPOT -24004
002705,000237: 06,2126 00022 GENADR 5.2SPOT -24006
002706,000238: 06,2127 00046 GENADR 5.3SPOT -24004
002707,000239: 06,2130 00000 GENADR 6.2SPOT -24006
002708,000240: 06,2131 00002 GENADR 6.3SPOT -24004
002709,000241:
Page 61 |
002711,000243: 06,2132 30151 RESTARTS CA MPAC +5 # GET GROUP NUMBER -1
002712,000244:
002713,000245: 06,2133 60000 DOUBLE # SAVE FOR INDEXING
002714,000246: 06,2134 54145 TS TEMP2G
002715,000247:
002716,000248: 06,2135 32003 CA FVACCADR # LET:S ASSUME THIS IS A JOB, THIS WILL
002717,000249: 06,2136 54110 TS GOLOC -1 # SAVE US A COUPLE OF LOCATIONS, BUT NOT
002718,000250: # NECESSARIALY ANY TIME - SO BE IT -
002719,000251:
002720,000252: 06,2137 32000 CA PHS2CADR # SET UP EXIT IN CASE IT IS AN EVEN
002721,000253: 06,2140 54147 TS TEMPSWCH # TABLE PHASE
002722,000254:
002723,000255: 06,2141 32005 CA RTRNCADR # TO SAVE TIME ASSUME IT WILL GET NEXT
002724,000256: 06,2142 54113 TS GOLOC +2 # GROUP AFTER THIS
002725,000257:
002726,000258: 06,2143 30144 CA TEMPPHS
002727,000259: 06,2144 75370 MASK OCT1400
002728,000260: 06,2145 10000 CCS A # IS IT A VARIABLE OR TABLE RESTART
002729,000261: 06,2146 12157 TCF ITSAVAR # IT;S A VARIABLE RESTART
002730,000262:
002731,000263: 06,2147 10144 GETPART2 CCS TEMPPHS # IS IT AN X.1 RESTART
002732,000264: 06,2150 10000 CCS A
002733,000265: 06,2151 12246 TCF ITSATBL # NO, ITS A TABLE RESTART
002734,000266:
002735,000267: 06,2152 35656 CA PRIO14 # IT IS AN X.1 RESTART, THEREFORE START
002736,000268:
002737,000269: 06,2153 05534 TC FINDVAC # THE DISPLAY RESTART JOB
002738,000270: 06,2154 E3,1400 EBANK= LST1
002739,000271: 06,2154 05605 04003 2CADR INITDSP
002740,000272:
002741,000273: 06,2156 02005 TC RTRNCADR # FINISHED WITH THIS GROUP, GET NEXT ONE
002742,000274:
002743,000275: 06,2157 5605 INITDSP EQUALS ENDOFJOB
002744,000276:
002745,000277: 06,2157 77744 ITSAVAR MASK BIT10 # SEE IF IT IS TYPE B
002746,000278: 06,2160 10000 CCS A
002747,000279: 06,2161 12230 TCF ITSLIKEB # YES,IT IS TYPE B
002748,000280:
002749,000281: 06,2162 00006 EXTEND # STORE THE JOB (OR TASK) 2CADR FOR EXIT
002750,000282: 06,2163 50145 NDX TEMP2G
002751,000283: 06,2164 31517 DCA PHSNAME1
002752,000284: 06,2165 52112 DXCH GOLOC
002753,000285:
002754,000286: 06,2166 30144 CA TEMPPHS # SEE IF THIS IS A JOB, TASK, OR A LONGCAL
002755,000287: 06,2167 77757 MASK OCT7
002756,000288: 06,2170 65355 AD MINUS2
002757,000289: 06,2171 10000 CCS A
002758,000290: 06,2172 12331 TCF ITSLNGCL # ITS A LONGCALL
002759,000291:
002760,000292: 06,2173 37776 OCT37776 OCT 37776 # CANT GET HERE
002761,000293:
Page 62 |
002763,000295: 06,2174 12176 TCF ITSAWAIT
002764,000296:
002765,000297: 06,2175 12243 TCF ITSAJOB # ITS A JOB
002766,000298:
002767,000299: 06,2176 32004 ITSAWAIT CA WTLTCADR # SET UP WAITLIST CALL
002768,000300: 06,2177 54110 TS GOLOC -1
002769,000301:
002770,000302: 06,2200 50145 NDX TEMP2G # DIRECTLY STORED
002771,000303:
002772,000304: 06,2201 31114 CA PHSPRDT1
002773,000305: 06,2202 10000 TIMETEST CCS A # IS IT AN IMMEDIATE RESTART
002774,000306: 06,2203 24000 INCR A # NO.
002775,000307: 06,2204 12207 TCF FINDTIME # FIND OUT WHEN IT SHOULD BEGIN
002776,000308:
002777,000309: 06,2205 14064 TCF ITSINDIR # STORED INDIRECTLY
002778,000310:
002779,000311: 06,2206 12226 TCF IMEDIATE # IT WANTS AN IMMEDIATE RESTART
002780,000312:
002781,000313: # ***** THIS MUST BE IN FIXED FIXED *****
002782,000314:
002783,000315: 4064 BLOCK 02
002784,000316: 4064 22112 ITSINDIR LXCH GOLOC +1 # GET THE CORRECT E BANK IN CASE THIS IS
002785,000317: 4065 22006 LXCH BB # SWITCHED ERRASIBLE
002786,000318:
002787,000319: 4066 50000 NDX A # GET THE TIME INDIRECTLY
002788,000320: 4067 30001 CA 1
002789,000321:
002790,000322: 4070 22006 LXCH BB # RESTORE THE BB AND GOLOC
002791,000323: 4071 22112 LXCH GOLOC +1
002792,000324:
002793,000325: 4072 12207 TCF FINDTIME # FIND OUT WHEN IT SHOULD BEGIN
002794,000326:
002795,000327: # ***** YOUB MAY RETURN TO SWITCHED FIXED *****
002796,000328:
002797,000329: 06,2207 BANK 06
002798,000330: 06,2207 40000 FINDTIME COM # MAKE NEGITIVE SINCE IT WILL BE SUBTRACTD
002799,000331: 06,2210 54001 TS L # AND SAVE
002800,000332: 06,2211 50145 NDX TEMP2G
002801,000333: 06,2212 41113 CS TBASE1
002802,000334: 06,2213 00006 EXTEND
002803,000335: 06,2214 60025 SU TIME1
002804,000336: 06,2215 10000 CCS A
002805,000337: 06,2216 40000 COM
002806,000338: 06,2217 62173 AD OCT37776
002807,000339: 06,2220 67755 AD ONE
002808,000340: 06,2221 60001 AD L
002809,000341: 06,2222 10000 CCS A
002810,000342: 06,2223 37761 CA ZERO
002811,000343: 06,2224 12226 TCF +2
002812,000344: 06,2225 12226 TCF +1
002813,000345: 06,2226 67755 IMEDIATE AD ONE
002814,000346:
Page 63 |
002816,000348: 06,2227 00110 TC GOLOC -1
002817,000349: 06,2230 32005 ITSLIKEB CA RTRNCADR # TYPE B, SO STORE RETURN IN
002818,000350: 06,2231 54147 TS TEMPSWCH # TEMPSWCH IN CASE OF AN EVEN PHASE
002819,000351:
002820,000352: 06,2232 32001 CA PRT2CADR # SET UP EXIT TO GET TABLE PART OF THIS
002821,000353: 06,2233 54113 TS GOLOC +2 # VARIABLE TYPE OF PHASE
002822,000354:
002823,000355: 06,2234 30144 CA TEMPPHS # MAKE THE PHASE LOOK RIGHT FOR THE TABLE
002824,000356: 06,2235 76130 MASK OCT177 # PART OF THIS VARIABLE PHASE
002825,000357: 06,2236 54144 TS TEMPPHS
002826,000358:
002827,000359: 06,2237 00006 EXTEND
002828,000360: 06,2240 50145 NDX TEMP2G # OBTAIN THE JOB:S 2CADR
002829,000361: 06,2241 31517 DCA PHSNAME1
002830,000362:
002831,000363: 06,2242 52112 DXCH GOLOC
002832,000364:
002833,000365: 06,2243 50145 ITSAJOB NDX TEMP2G # NOW ADD THE PRIORITY AND LET:S GO
002834,000366: 06,2244 31114 CA PHSPRDT1
002835,000367: 06,2245 00110 TC GOLOC -1
002836,000368:
002837,000369: 06,2246 54020 ITSATBL TS CYR # FIND OUT IF THE PHASE IS ODD OR EVEN
002838,000370: 06,2247 10020 CCS CYR
002839,000371: 06,2250 12251 TCF +1 # IT:S EVEN
002840,000372: 06,2251 12347 TCF ITSEVEN
002841,000373:
002842,000374: 06,2252 32005 CA RTRNCADR # IN CASE THIS IS THE SECOND PART OF A
002843,000375: 06,2253 54113 TS GOLOC +2 # TYPE B RESTART, WE NEED PROPER EXIT
002844,000376:
002845,000377: 06,2254 30144 CA TEMPPHS # SET UP POINTER FOR FINDING OUR PLACE IN
002846,000378: 06,2255 54021 TS SR # THE RESTART TABLES
002847,000379: 06,2256 60021 AD SR
002848,000380: 06,2257 50145 NDX TEMP2G
002849,000381: 06,2260 62117 AD SIZETAB +1
002850,000382: 06,2261 54146 TS POINTER
002851,000383:
002852,000384: 06,2262 00006 CONTBL2 EXTEND # FIND OUT WHAT:S IN THE TABLE
002853,000385: 06,2263 50146 NDX POINTER
002854,000386:
002855,000387: 06,2264 32002 DCA CADRTAB # GET THE 2CADR
002856,000388:
002857,000389: 06,2265 22112 LXCH GOLOC +1 # STORE THE BB INFORMATION
002858,000390:
002859,000391: 06,2266 10000 CCS A # IS IT A JOB OR IS IT TIMED
002860,000392: 06,2267 24000 INCR A # POSITIVE, MUST BE A JOB
002861,000393: 06,2270 12343 TCF ITSAJOB2
002862,000394:
002863,000395: 06,2271 24000 INCR A # MUST BE EITHER A WAITLIST OR LONGCALL
002864,000396: 06,2272 54111 TS GOLOC # LET-S STORE THE CORRECT CADR
002865,000397:
002866,000398: 06,2273 32004 CA WTLTCADR # SET UP OUR EXIT TO WAITLIST
002867,000399: 06,2274 54110 TS GOLOC -1
002868,000400:
Page 64 |
002870,000402: 06,2275 30112 CA GOLOC +1 # NOW FIND OUT IF IT IS A WAITLIST CALL
002871,000403: 06,2276 77744 MASK BIT10 # THIS SHOULD BE ONE IF WE HAVE -BB
002872,000404: 06,2277 10000 CCS A # FOR THAT MATTER SO SHOULD BE BITS 9,8,7,
002873,000405: # 6,5, AND LAST BUT NOT LEAST (PERHAPS NOT
002874,000406: # IN IMPORTANCE ANYWAY. BIT 4
002875,000407: 06,2300 12336 TCF ITSWTLST # IT IS A WAITLIST CALL
002876,000408:
002877,000409: 06,2301 50146 NDX POINTER # OBTAIN THE ORIGINAL DELTA T
002878,000410: 06,2302 32000 CA PRDTTAB # ADDRESS FOR THIS LONGCALL
002879,000411:
002880,000412: 06,2303 14073 TCF ITSLGCL1 # NOW GO GET THE DELTA TIME
002881,000413:
002882,000414: # ***** THIS MUST BE IN FIXED FIXED *****
002883,000415:
002884,000416: 4073 BLOCK 02
002885,000417: 4073 22112 ITSLGCL1 LXCH GOLOC +1 # OBTAIN THE CORRECT E BANK
002886,000418: 4074 22006 LXCH BB
002887,000419: 4075 22112 LXCH GOLOC +1 # AND PRESERVE OUR E AND F BANKS
002888,000420:
002889,000421: 4076 00006 EXTEND # GET THE DELTA TIME
002890,000422: 4077 50000 NDX A
002891,000423: 4100 30001 DCA 0
002892,000424:
002893,000425: 4101 22112 LXCH GOLOC +1 # RESTORE OUR E AND F BANK
002894,000426: 4102 22006 LXCH BB # RESTORE THE TASKS E AND F BANKS
002895,000427: 4103 22112 LXCH GOLOC +1 # AND PRESERVE OUR L
002896,000428:
002897,000429: 4104 12304 TCF ITSLGCL2 # NOW LET:S PROCESS THIS LONGCALL
002898,000430:
002899,000431: # ***** YOUB MAY RETURN TO SWITCHED FIXED *****
002900,000432:
002901,000433: 06,2304 BANK 06
002902,000434: 06,2304 53153 ITSLGCL2 DXCH LONGTIME
002903,000435:
002904,000436: 06,2305 00006 EXTEND # CALCULATE TIME LEFT
002905,000437: 06,2306 40025 DCS TIME2
002906,000438: 06,2307 21153 DAS LONGTIME
002907,000439: 06,2310 00006 EXTEND
002908,000440: 06,2311 31433 DCA LONGBASE
002909,000441: 06,2312 21153 DAS LONGTIME
002910,000442:
002911,000443: 06,2313 11152 CCS LONGTIME # FIND OUT HOW THIS SHOULD BE RESTARTED
002912,000444: 06,2314 12324 TCF LONGCLCL
002913,000445:
002914,000446: 06,2315 12317 TCF +2
002915,000447: 06,2316 12223 TCF IMEDIATE -3
002916,000448: 06,2317 11153 CCS LONGTIME +1
002917,000449: 06,2320 12324 TCF LONGCLCL
002918,000450: 06,2321 12322 NOOP # CAN:T GET HERE *********
002919,000451: 06,2322 12223 TCF IMEDIATE -3
002920,000452: 06,2323 12226 TCF IMEDIATE
002921,000453:
Page 65 |
002923,000455: 06,2324 32002 LONGCLCL CA LGCLCADR # WE WILL GO TO LONGCALL
002924,000456: 06,2325 54110 TS GOLOC -1
002925,000457:
002926,000458: 06,2326 00006 EXTEND # PREPARE OUR ENTRY TO LONGCALL
002927,000459: 06,2327 31153 DCA LONGTIME
002928,000460: 06,2330 00110 TC GOLOC -1
002929,000461:
002930,000462: 06,2331 32004 ITSLNGCL CA WTLTCADR # ASSUME IT WILL GO TO WAITLIST
002931,000463: 06,2332 54110 TS GOLOC -1
002932,000464:
002933,000465: 06,2333 50145 NDX TEMP2G
002934,000466: 06,2334 31114 CA PHSPRDT1 # GET THE DELTA T ADDRESS
002935,000467:
002936,000468: 06,2335 14073 TCF ITSLGCL1 # NOW GET THE DELTA TIME
002937,000469:
002938,000470: 06,2336 40112 ITSWTLST CS GOLOC +1 # CORRECT THE BBCON INFORMATION
002939,000471: 06,2337 54112 TS GOLOC +1
002940,000472:
002941,000473: 06,2340 50146 NDX POINTER # GET THE DT AND FIND OUT IF IT WAS STORED
002942,000474: 06,2341 32000 CA PRDTTAB # DIRECTLY OR INDIRECTLY
002943,000475:
002944,000476: 06,2342 12202 TCF TIMETEST # FIND OUT HOW THE TIME IS STORED
002945,000477:
002946,000478: 06,2343 56111 ITSAJOB2 XCH GOLOC # STORE THE CADR
002947,000479:
002948,000480: 06,2344 50146 NDX POINTER # ADD THE PRIORITY AND LET:S GO
002949,000481: 06,2345 32000 CA PRDTTAB
002950,000482:
002951,000483: 06,2346 00110 TC GOLOC -1
002952,000484:
002953,000485: 06,2347 30147 ITSEVEN CA TEMPSWCH # SET UP FOR EITHER THE SECOND PART OF THE
002954,000486: 06,2350 54113 TS GOLOC +2 # TABLE, OR A RETURN FOR THE NEXT GROUP
002955,000487:
002956,000488: 06,2351 50145 NDX TEMP2G # SET UP POINTER FOR OUR LOCATION WITHIN
002957,000489: 06,2352 32116 CA SIZETAB # THE TABLE
002958,000490: 06,2353 60144 AD TEMPPHS # THIS MAY LOOK BAD BUT LET:S SEE YOU DO
002959,000491: 06,2354 60144 AD TEMPPHS # BETTER IN TIME OR NUMBERR OF LOCATIONS
002960,000492:
002961,000493: 06,2355 60144 AD TEMPPHS
002962,000494: 06,2356 54146 TS POINTER
002963,000495:
002964,000496: 06,2357 12262 TCF CONTBL2 # NOW PROCESS WHAT IS IN THE TABLE
002965,000497:
002966,000498: 06,2360 36301 PHSPART2 CA THREE # SET THE POINTER FOR THE SECOND HALF OF
002967,000499: 06,2361 26146 ADS POINTER # THE TABLE
002968,000500:
002969,000501: 06,2362 32005 CA RTRNCADR # THIS WILL BE OUR LAST TIME THROUGH THE
002970,000502: 06,2363 54113 TS GOLOC +2 # EVEN TABLE , SO AFTER IT GET THE NEXT
002971,000503: # GROUP
002972,000504: 06,2364 12262 TCF CONTBL2 # SO LET:S GET THE SECOND ENTRY IN THE TBL
002973,000505:
Page 66 |
002975,000507: 06,2365 0144 TEMPPHS EQUALS MPAC
002976,000508: 06,2365 0145 TEMP2G EQUALS MPAC +1
002977,000509: 06,2365 0146 POINTER EQUALS MPAC +2
002978,000510: 06,2365 0147 TEMPSWCH EQUALS MPAC +3
002979,000511: 06,2365 0111 GOLOC EQUALS OVFIND
002980,000512: 06,2365 5355 MINUS2 EQUALS NEG2
002981,000513: 06,2365 6130 OCT177 EQUALS LOW7
End of include-file RESTART_TABLES_AND_RESTARTS_ROUTINE.agc. Parent file is MAIN.agc