22FL #LIS K0PCTBEGIN>K0PCT>K0ALLGEO>K0COMMAND 22^= #SEG PCTBEGIN8 [G CONSTANTINIDES 23DW 8HPCTBEGIN 23YG # ENTRY POINTS 24D6 SEGENTRY K1PCTBEGIN,Z1PCTBEGIN 24XQ MENDAREA APCTGAP,K99PCTBEGIN 25CB [ 25X2 [THIS SEGMENT IS THE INITIALISATION SEGMENT FOR THE 7020 SEGMENTS USING 26BL [A MULTIPLEXOR/UNIPLEXOR.THE CURRENT ACTIVITY IS'AMOP,APCT'.THE SEGMENT 26W= [IS ENTERED FROM THE SEGMENT'SCAN'WHICH AT'EMS'OR'MOP ON'TIME SETS UP AN 27*W [AMOP,APCT AND FPUT'S WITH A LINK TO .PCTBEGIN. 27TG [THE'AMOP,APCT'HAS AN'IDF,B7020'BLOCK CHAINED AFTER IT CONTAINING AN 28*6 [ENTRY FOR EACH HARDWARE COMMAND DEFINING A 7020 ON A PARTICULAR LINE 28SQ [THIS SEGMENT SETS UP AN'A7020,ALCB'BLOCK AND RINGS IT TO THE 29#B ['AMXOR,ALINES'BLOCK OF THE'AMOP'ACTIVITY(WHICH NOTICES FLAGS). 29S2 [ALSO AN'A7020,INFORM'BLOCK IS SET UP AND INFORMATION ABOUT THE 2=?L [INTERFACES PASSED ACROSS. 2=R= [IF A CONCEPTUAL IS CANCELLED FOR A 7020 THEN AN AMOP,APCT ENTERS 2?=W [PCTBEGIN BY AN ACROSS FROM 'SCAN' 2?QG [IN THIS SEGMENT 2#=6 [ ON ENTRY DURING ON EXIT 2#PQ [ 2*9B [AWORK1 2*P2 [AWORK2 'B7020',ADD. 2B8L [AWORK3 'INFORM' ADD. 2BN= [X7 LINE # 2C7W [ 2CCN ...ZMSK1 #00770000 2CMG XGEN #76240000 2D76 #76250000 2DLQ +0 2DWJ ...XLINK PAIR PCTSTART,1 2F6B [ 2FL2 #OPT ASLICETIME=1000/K9*60 2G5L [ 2GK= TSLICE +ASLICETIME 2H4W PAIR PAIR MORNING,5 2HJG [ 2J46 [THIS S/R CALLED'XENTRY'SETS UP 2 WORD INTERFACE ENTRIES IN THE INFORM 2JHQ [BLOCK.X0 IS THE CALLING ACCUMULATOR 2K3B [ X1 =1 FOR SOURCE INTERFACE I.E. TR,CR,TW(CONSOLE INPUT) 2KH2 [ X1 =2 FOR ACCEPTOR INTERFACE I.E. LP,TP,TW(CONSOLE OUTPUT) 2L2L [ X2 POINTS TO IDF B7020 2LG= [ X3 POINTS TO INFORM BLOCK 2L^W [ X4 CONTAINS INTERFACE TYPE I.E.LP=1 FOR 7021 2MFG [ CR=2 FOR 7022 2M^6 [ TW=3 FOR 7023 2NDQ [ TR=4 FOR 7024 2NYB [ TP=5 FOR 7025 2PD2 [ X6 CONTAINS RELATIVE POINTER TO LAST ENTRY INSERTED IN TABLE 2PXL [ X7 HAS B0 UNSET ON ENTRY 2QC= [THE S/R IS ALSO CALLED'XCONS' IN THE CASE OF CONSOLE OUTPUT ENTRIES. 2QWW [IN THIS CASE 'V' IS SET. 2RBG [ 2RW6 XENT2 BNG 4 XENT3 [J. IF SOURCE INTERFACE, OTHERWISE SE 2S*Q ORS 5 APCTX(3) [BIT POSN. IN "LISTFILE DEVICES" MASK 2STB ...XENT3 2W*7 ...#SKI JSKI17 2WB4 ...( 2WB^ ... ANDX 5 BITS22LS 2WCW ... SMO 1 2WDR ... ERX 6 APCTNO+1(2) 2WFN ... BPZ 6 NSPL 2WGK ... ORS 5 APCTSTAT(3) 2WHG ... SLC 6 1 2WJC ... BPZ 6 NUNA 2WK# ... SRL 5 6 2WL9 ... ORS 5 APCTSTAT(3) 2WM6 ... SLC 5 6 2WN3 ...NUNA SRC 6 1 2WNY ...NSPL SMO 1 2WPT ... ERX 6 APCTNO+1(2) 2WQ4 ... BVC NCSPL 2WQ? ... ORX 5 GSIGN 2WQG ...NCSPL 2WQQ ...) 2WQ^ ... ORX 5 APCTHADD(3) 2WR8 ... ORX 5 1 2WRC ... SMO 6 2WRL ... STO 5 APCTDEV(3) [INTERFACE BIT POSN./HARDWARE ADDRESS 2WRW SBN 6 2 [STEP THE INSERTION POINTER DOWN ONE. 2X?G XENT4 SBN 1 5 [EXIT IF X1 > 4 BEFORE UPDATE. 2XR6 BPZ 1 (0) 2Y=Q ADN 1 7 [ADD 2 TO ENTRY MODIFIER. 2YQB XENTRY [ON ENTRY X1 IS ODD (=1) FOR SOURCE 2^=2 SMO 1 [AND EVEN (=2) FOR ACCEPTOR INTERFACE 2^PL LDX 5 APCTNO+1(2) [J. IF THIS ENTRY NOT CORRECT TYPE. 2^^D ... ANDX 5 BITS22LS 329= SBXC 5 4 32NW BNZ 5 XENT4 338G SMO 6 [INSERT TYPE (B0 SET INDICATES SOURCE 33N6 STO 4 APCTDEV+1(3) [INTERFACE). 347Q LDN 5 #4000 [GET INTERFACE BIT POSN. TO B6-B11. 34MB SBN 1 5 [N. B. FLAGS ARE SET IN 3572 BNG 1 XENT1 [INTERFACE ORDER : 4,3,2,1,6,5. 35LL LDN 5 #40 366= XENT1 ADN 1 5 36KW SLL 5 2(1) 375G SMO 6 [INSERT UNIT NO. OF THIS INTERFACE. 37K6 DCH 1 APCTDEV+1(3) 384Q BVC XENT2 [J. IF NOT CONSOLE OUTPUT. 38JB SRL 5 6 [UNSET THE "NO ACTIVITY" BIT FOR 3942 ERS 5 APCTD(3) [THIS INTERFACE. 39HL SLL 5 6 3=3= ORX 7 GSIGN [SET SWITCH TO SHOW CONSOLE EXISTS. 3=GW ORX 5 GSIGN [SET B0 TO INDICATE CONSOLE OUTPUT. 3?2G BRN XENT3 [J. BACK IN. 3?G6 [ 3?^Q XCONS BVCI XENTRY [SET V FOR CONSOLE OUTPUT ENTRIES. 3#FB [ 3#^2 [ 3*DL Z1PCTBEGIN 3*GT ... FSHCODE B,SNOPRA1 3*K4 ...( 3*M? ... TESTPAIR SNOPRA1 [MAY BE PAIRED ALREADY IF ACROSS FROM 3*PG ... FSHACTPR ['SCAN' - ELSE GET US A PAIR 3*RP ...SNOPRA1 3*TY ...) 3*Y= SETNCORE GENQ3+4-A1,3,A7020,ALCB,1,1,2 3BCW STO 6 IDENTM(3) 3BXG STOZ GWAIT(3) 3CC6 STO 7 GUNITNO(3) [LINE NO. 3CWQ LDN 0 XGEN(1) 3DBB LDN 1 GENQ1(3) 3DW2 MOVE 0 3 3F*L HUNT2 2,AMXOR,ALINES,6 3FT= LDX 5 7 3G#W SLL 5 2 3GSG ADX 2 5 3H#6 RINGTWO A1(2),A1(3) [RING THE LCB INTO THE ROUTING BLOCK. 3HRQ LDX 0 GSIGN [UNSET THE "IGNORE FLAGS" MARKER. 3J?B ERS 0 A1+FOURTHWD(2) 3JR2 MHUNTW 2,IDF,B7020 3K=L LDN 3 APCTRLEN 3KQ= LDN 4 APCTSTAT+1-A1 [1WD. EXTRA FOR ZERO AT END OF GLOCK. 3L9W MPA 3 APCTNO(2) 3LPG SETUPCORE 4,3,A7020,INFORM,,1,2 3M96 EMPTY FPTPCT(3) 3MNQ STO 3 AWORK3(2) [REMEMBER ITS ADDRESS. 3N8B LDX 0 GSIGN 3NN2 STO 0 APCTID(3) 3P7L LDX 4 JTIME 3PM= STO 4 APCTCLNCT(3) 3Q6W STOZ APCTINOP(3) 3QLG STOZ ALINESTAT(3) 3R66 STOZ APCTACT(3) 3RKQ STOZ APCTP(3) 3S5B MHUNTW 2,IDF,B7020 3SK2 LDX 7 APCTNO(2) [NO. OF PCTS ON THIS LINE. 3T4L LDX 0 7 3TJ= SBN 0 1 [J. IF ONE ONLY. 3W3W SMO FX2 3WHG STO 2 AWORK2 3X36 BZE 0 ONLY1 3XGQ LDX 0 TSLICE(1) [SET SLICE TIME FOR EACH PCT. 3Y2B NULL [FREE FOR MENDING INTO IF NOT OK. 3YG2 ONLY1 STO 0 ATSLICE(3) [ZERO IF ONLY ONE TERMINAL ON LINE. 3Y^L STO 7 APCTNUM(3) 3^F= STO 7 APCTACT(3) 3^YW LDX 4 A1(2) 42DG SRL 4 12 [LINE NO IN B12-23 42Y6 SMO FX2 [REMEMBER FOR POSTERITY. 43CQ STO 4 AWORK4 43XB BCHX 3 £ [SET CHARACTER POINTER FOR LATER USE. 44C2 XOOP 44WL LDX 5 APCTNO+1(2) 45B= LDN 6 0 45TW DSA 5 6 [HARDWARE ADDRESS OF TERMINAL. 46*G ANDX 5 HALFTOP [TWO CHARACTER TERMINAL IDENTIFIER. 46T6 SMO FX2 47#Q ORX 5 AWORK4 [IDENTIFIER WORD FOR THIS TERMINAL. 47SB STO 5 IDUNIQUE(3) 48#2 STO 6 APCTHADD(3) 48RL ANDN 6 1 [B23=1 IF 1901A 49?= ERS 6 APCTHADD(3) [UNSET IT IF SET IN HW ADDRESS 49QW STO 6 APCTSTAT(3) [0 IF NOT 1901A 4==G NGN 4 #100 [#77777700. 4=Q6 STO 4 APCTD(3) 4?9Q STOZ APCTX(3) 4?PB LDN 6 10 [POINTER TO LAST ENTRY IN INFORM TABL 4#92 LDN 4 3 [TW TYPE. 4#NL LDN 1 1 [FIRST SOURCE ENTRY IN B7020 BLOCK. 4*8= ORX 4 GSIGN [SET "SOURCE INTERFACE" MARKER. 4*MW CALL 0 XENTRY [SET UP ANY CONSOLE INPUT ENTRIES. 4B7G LDN 1 2 [FIRST ACCEPTOR ENTRY IN B7020 BLOCK. 4BM6 LDN 4 3 [TW TYPE 4C6Q CALL 0 XCONS [SET UP ANY CONSOLE OUTPUT ENTRIES. 4CLB BVSR £ [CLEAR CONSOLE OUTPUT SWITCH. 4D62 LDN 1 2 4DKL LDN 4 1 [LP TYPE. 4F5= CALL 0 XENTRY [SET UP PRINTER ENTRIES. 4FJW LDN 1 2 4G4G LDN 4 5 [TP TYPE. 4GJ6 CALL 0 XENTRY [SET UP PUNCH ENTRIES. 4H3Q LDN 4 2 [CR TYPE. 4HHB LDN 1 1 4J32 ORX 4 GSIGN ["SOURCE INTERFACE" MARKER. 4JGL CALL 0 XENTRY [SET UP ANY CARD READER ENTRIES. 4K2= ADN 4 2 [TR TYPE. 4KFW LDN 1 1 4K^G CALL 0 XENTRY [SET UP ANY TAPE READER ENTRIES. 4LF6 BNG 6 XALL [J. IF ALL INTERFACES DEFINED. 4LYQ LDX 5 APCTHADD(3) 4MDB XNXT1 SMO 6 [CLEAR UNUSED INTERFACE WORDS. 4MY2 STO 5 APCTDEV(3) 4NCL SMO 6 4NX= STOZ APCTDEV+1(3) 4PBW SBN 6 2 4PWG BPZ 6 XNXT1 4QB6 LDN 6 10 4QTQ XNXT2 SMO 6 [SET UP MASK FOR ALL DEFINED INTERFAC 4R*B ORX 4 APCTDEV(3) 4RT2 SBN 6 2 4S#L BPZ 6 XNXT2 4SS= ORN 4 -1 [AND IT INTO THE "RIGHT" MASK 4T?W SLL 4 6 [I. E. MARK ALL UNDEFINED 4TRG ANDS 4 APCTD(3) [INTERFACE AS "WRONGED". 4W?6 XALL LDX 5 2 4WQQ LDX 6 3 4X=B LDX 0 APCTX(3) [UNSET LF INTERFACE BITS IN OPERABILI 4XQ2 LDX 2 FX2 4Y9L SBX 5 AWORK2(2) [SAVE PLACE IN BLOCKS. 4YP= SBX 6 AWORK3(2) 4^8W ERS 0 APCTD(3) [(THIS GIVES FORM-FEED AFTER START UP 4^NG LDXC 7 7 [J. IF NO CONSOLE OUTPUT ON THIS PCT. 5286 BCC NOCON 52MQ LDX 2 3 [FIND THE (FIRST) CONSOLE OUTPUT ENTR 537B XNXT3 ADN 2 2 53M2 LDXC 0 APCTDEV(2) 546L BCC XNXT3 54L= ANDX 0 HALFTOP [REMEMBER ITS INTERFACE BIT POSN. 555W SLL 0 6 55KG PHOTO 4 5656 ORS 0 APCTX(3) 56JQ GETACT CONSA,APCTMESS [ACTIVITY TO OUTPUT "GEORGE READY". 574B SETNCORE APCTID+1-A1,1,A7020,CONSIN,,1,2 [DUMMY INPUT BUFFER BLOCK 57J2 LDX 3 AWORK3(2) 583L TESTMOVE 4,NMV1 58H= MHUNTW 3,IDF,B7020 [RESET POINTERS IN CASE 592W STO 3 AWORK2(2) [OF CORE MOVEMENT. 59GG MHUNTW 3,A7020,INFORM 5=26 STO 3 AWORK3(2) 5=FQ NMV1 ENRINGD FPTPCT(1),FPTPCT(3) [RING IN TO THE BUFFER BLOCK RING. 5=^B SMO 6 [GET THE TWO LETTER IDENTIFIER FOR 5?F2 LDX 0 IDUNIQUE(3) [THIS TERMINAL. 5?YL LDX 1 FPTR(2) 5#D= STO 6 APCTID(1) [SET THE POINTER (B1 SET DON'T MATTER 5#XW SRL 0 12 5*CG LDX 3 BPTR(2) 5*X6 STO 0 AWORK1(3) [STORE THE IDENTIFIER. 5BBQ CHAIN 1,3 [CHAIN BUFFER TO OUTPUT ACTIVITY. 5BWB LDX 2 3 5CB2 LINKSET 3,PAIR(1) [LINK TO K5MORNING 5CTL FPUT 5D*= NOCON LDX 3 AWORK3(2) [INFORM BLOCK POINTER. 5DSW LDX 1 AWORK2(2) [IDF BLOCK POINTER. 5F#G SBN 7 1 [J. IF NO MORE TO DO. 5FS6 BZE 7 NMV2 5G?Q LDX 2 1 5GRB ADX 3 6 [STEP POINTERS DOWN TO NEXT ENTRIES. 5H?2 ADX 2 5 5HQL ADN 3 APCTRLEN 5J== ADN 2 7 5JPW BRN XOOP [ROUND WE GO AGAIN. 5K9G # 5KP6 WAIT LDX 0 GSIGN [MARK AS "ASLEEP". 5L8Q ORS 0 AWORK1(2) 5LNB PHOTO 4 5M82 COOR1 5MML LDX 3 AWORK3(2) [RESET POINTERS AFTER COORDINATION. 5N7= LDX 1 AWORK2(2) 5NLW TESTMOVE 4,NMV2 5P6G MHUNTW 3,A7020,INFORM 5PL6 MHUNTW 1,IDF,B7020 5Q5Q STO 3 AWORK3(2) 5QKB STO 1 AWORK2(2) 5R52 NMV2 LDX 0 BPTPCT(3) [J. IF BUFFER BLOCK RING EMPTY AGAIN. 5RJL SBN 0 FPTPCT(3) 5S4= BNZ 0 WAIT 5SHW ADX 3 6 5T3G NGN 0 1 [SET MARKER TO INDICATE END OF BLOCK. 5TH6 STO 0 APCTSTAT+APCTRLEN(3) 5W2Q FREECORE 1 [FREE THE IDF BLOCK. 5WGB MHUNTW 3,A7020,ALCB 5X22 LDCT 0 #20 5XFL SMO A1+FPTR(3) [UNSET THE "SETTING UP" MARKER. 5XG6 ... ERS 0 FOURTHWD 5XGL ... LDX 7 6 5XH6 ... MHUNTW 2,A7020,INFORM 5XHB ... ANDX 6 BITS22LS 5XHL ...[ 5XJ6 ... DO 5XJL ...[ 5XK6 ... ADX 2 7 5XKL ... LDX 3 IDUNIQUE(2) 5XL6 ... LDCT 4 #770 5XLL ... ANDX 4 APCTD(2) [RIGHTED INTERFACES 5XM6 ... SRL 4 12 5XML ... ANDX 4 APCTD(2) [WITH NO ACTIVITY 5XN6 ... SLL 4 6 5XNL ... ANDX 4 APCTX(2) [WHICH ARE LP OR TP 5XP6 ...[ INT BITS IN CHAR 1 5XPL ... LDX 0 4 5XQ6 ... SRL 0 6 5XQL ... ERS 0 APCTD(2) [UNSET NO ACTY BITS 5XR6 ...[ 5XRL ... WHILE 4,NZ 5XS6 ... DO 5XSL ...[ 5XT6 ... LDX 0 APCTDEV(2) 5XTD ... SMO FX1 5XTQ ... ANDX 0 ZMSK1 5XW6 ... ORX 6 0 5XWL ... ANDX 0 4 [DO WE WANT THIS IDENT 5XX6 ...[ 5XXL ... IF 0,NZ [IF SO 5XY6 ... THEN 5XYL ... ERX 4 0 [SHOW INT FOUND 5X^6 ... LDX 5 APCTDEV+1(2) 5X^L ... GETACT ACTLF,GREMOTE [AND GET ACTY 5Y26 ... LDX 1 BPTR(2) 5Y2L ... ENRINGD JOBRING(1),JOBRING(2) 5Y36 ... LDX 2 BPTR(2) 5Y3L ... STO 3 JSOURCE1(2) [STORE IDUNIQUE 5Y46 ... STO 5 ACC4(2) [2ND DEVICE WORD 5Y4L ... STO 6 ACC5(2) [INT BIT + PCT DISP 5Y56 ... LINKSET 2,XLINK(1) 5Y5L ... FPUT 5Y66 ... MHUNTW 2,A7020,INFORM 5Y6L ... ADX 2 7 5Y76 ...[ 5Y7L ... FI 5Y86 ...[ 5Y8L ... ANDN 6 #7777 5Y96 ...[ REMOVE INTERFACE BITS 5Y9L ... ADN 2 2 5Y=6 ...[ 5Y=L ... REPEAT DX 7 5Y?6 ...[ 5Y?L ... SBN 6 APCTRLEN [POINT AT NEXT PCT RECORD 5Y#6 ... SBX 2 7 5Y#L ...[ POINT AT START OF INFORM BLOCK 5Y*6 ... LDX 7 6 5Y*L ...[ 5YB6 ... REPEAT UNTIL,6,NG 5YBL ...[ 5YDW ACROSS PCTCON,1 5YYG # 5^D6 #END ^^^^ ...30300337000400000000