14 22FL #LIS K0PCTCOUT>K0PCT>K0ALLGEO>K0GREATGEO 16 22_= #SEG PCTCOUT8 [G CONSTANTINIDES 10 23DW 8HPCTCOUT8 7 23YG # ENTRY POINTS 12 24D6 SEGENTRY K1PCTCOUT,Z1PCTCOUT 12 24XQ SEGENTRY K2PCTCOUT,Z2PCTCOUT 12 25CB MENDAREA APCTGAP,K100PCTCOUT 4 25X2 [ 20 26BL [ THIS SEGMENT CONTROLS THE OUTPUTING OF MESSAGES TO THE ACCEPTOR 14 26W= [ INTERFACE OF A REMOTE TELETYPE - A 7023. 4 27*W [ 4 27TG # 5 28*6 SMESTYPE 17 28SQ #HAL +A7020+CONSOUT,0 [MESSAGE BLOCK TYPE 5 29#B XCONBUFF 17 29S2 #HAL +CONBUFF+IREMTW,0 [ROUTING BLOCK TYPE 4 2=?L # 19 2=R= XALPHA #74 [ALPHA AND DELTA-SPLIT + 4. 13 2?=W XBETA #75 [BETA 4 2?QG # 4 2#=6 # 14 2#PQ SMESS #76227632,#76277627,#76277627 17 2*9B 36HTHIS TERMINAL HAS BEEN MOPPED OFF_'_ 17 2*P2 #27762776,#27763476,#32762076,#04762300 4 2B8L # 12 2BN= TMESS 16HEN ATTACHED_'_'_ 4 2C7W # 9 2CMG MODE40004 #40004 4 2D76 # 4 2DLQ # 4 2F6B [ 20 2FL2 [ THIS SUBROUTINE FINDS THE MESSAGE BLOCK FOR THE PCT WITH IDENTITY 11 2G5L [ GIVEN IN X5. THE LINK IS X7. 20 2GK= [ THE SUBROUTINE SEARCHES FORWARD FROM THE BLOCK POINTED AT BY X3. 18 2H4W [ ON EXIT X3 POINTS TO THE LAST BLOCK EXAMINED. EXITS ARE: 13 2HJG [ +0 IF SEARCH COMPLETELY UNSUCCESSFUL. 21 2J46 [ +1 IF SEARCH UNSUCCESSFUL BUT X3 PTS. TO A ROUTING BLOCK FOR THIS PCT. 10 2JHQ [ +2 IF SEARCH SUCCESSFUL. 4 2K3B [ 5 2KH2 PCTHUNT 19 2L2L LDX 3 FPTR(3) [STEP ON TO THE NEXT BLOCK 9 2LG= PCTH0 LDX 0 ATYPE(3) 17 2L_W BXE 0 SMESTYPE(1),PCTH2 [J. IF MESSAGE BLOCK 17 2MFG BXE 0 XCONBUFF(1),PCTH1 [OR ROUTING BLOCK. 19 2M_6 BXL 0 CACT,PCTHUNT [J. IF NOT END OF ACTIVITY. 16 2NDQ EXIT 7 0 [FINISHED SEARCH. 19 2NYB PCTH1 LDX 0 5 [COMPARE IDENTIFIER STRINGS. 8 2PD2 SLC 0 12 9 2PXL ERX 0 A1+2(3) 8 2QC= ANDN 0 -1 17 2QWW BNZ 0 PCTHUNT [J. IF NPT THIS PCT. 7 2RBG EXIT 7 1 17 2RW6 PCTH2 BXU 5 CIDENTM(3),PCTHUNT [J. IF NOT THIS PCT. 7 2S*Q EXIT 7 2 14 2STB [TO IT 4 2T*2 # 4 2TSL # 4 2W#= [ 21 2WRW [ THIS SUBROUTINE SETS UP THE MODE *3 CONTROL AREA IN THE MOP ACTIVITY 21 2X?G [ REPERI DECIDES WHETHER TO REPEAT THE PERI OR RE-POLL IN THE ERROR CASE 4 2XR6 [ 5 2Y=Q REPERI 21 2YQB LDN 0 1 [J. TO RE-POLL (I.E. TREAT TERMINAL 20 2_=2 LDX 2 FX2 [AS INOPERABLE) IF THE MAXIMUM 21 2_PL SBSC 0 ACOMMUNE1(2) [ERROR REPEAT COUNT HAS BEEN EXCEDED. 8 329= BCS POLL 4 32NW [ 5 338G PREPERI 15 33N6 SLC 4 9 [LINE NUMBER. 5 347Q PREPERI1 8 34MB FINDLCA ,4 17 3572 SRC 4 9 [LINE TO TOP 9 BITS. 10 35LL DCA ,STO,4,MODE 7 366= LDN 0 1 10 36KW DLCA 1,DLA,0,MODE 7 375G LDN 0 2 10 37K6 DLCA 1,DLA,0,MODE2 7 384Q EXIT 7 0 4 38JB # 4 3942 [ 17 39HL [ THIS SUBROUTINE SETS UP THE DCA FOR CANCELLING READS. 4 3=3= [ 17 3=GW ZCNCL ORX 4 MODE40004(1) [ADD IN CANCEL MODE, 16 3?2G DCA ,STO,4,MODE [& INSERT IN DCA. 18 3?G6 ERX 4 MODE40004(1) [CLEAR OUT MODE AGAIN. 7 3?_Q EXIT 7 0 4 3#FB [ 19 3#_2 [THIS S/R CONVERTS THE STATUS CHARACTER RECEIVED IN SHIFT FORM 12 3*DL [IN X0 TO BIT SIGNIFICANT FORM IN X5 5 3*Y= STATENQ 8 3BCW LDCH 0 0(2) 15 3BXG BXL 0 XBETA(1),STAT4 [J. IF ALPHA 20 3CC6 LDX 5 GENQ3(3) [GET THE 1ST. 2 CHARS. (INTERFACE 17 3CWQ SRL 5 12 [ADDRESS) INTO X5. 8 3DBB BCHX 2 STAT5 21 3DW2 STAT4 LDN 5 #7400 [SET UP INTERFACE ADDRESS IF ALPHA. 7 3F*L ORX 5 0 21 3FT= STAT5 ERX 5 GENQ1(3) [COMPARE INTERFACE ADDRESS REPLIED 20 3G#W ANDN 5 -1 [WITH ADDRESS ORIGINALLY SENT. 17 3GSG BNZ 5 POLL [RE-POLL IF NOT SAME. 8 3H#6 BCHX 2 STAT3 4 3HRQ # 20 3J?B ONLY1 LDCH 5 CENQOUT(3) [IF ONLY 1 CHAR. MUST BE ALPHA. 15 3JR2 LDN 7 STATOUT(1) [SET LINK. 17 3K=L SBN 5 #40 [ALPHA CONVERSION. 8 3KQ= BRN STAT2 4 3L9W # 8 3LPG STAT3 LDCH 5 0(2) 16 3M96 BXL 5 XALPHA(1),STAT1 [J. IF NOT SHIFT 5 3MNQ STATCON 19 3N8B LDCH 0 0(2) [GET 1ST CHARACTER OF PAIR 7 3NN2 BCHX 2 / 14 3P7L LDCH 5 0(2) [GET 2ND 16 3PM= STAT1 BXE 0 XBETA(1),STAT2 [J IF BETA SHIFT 21 3Q6W SBN 5 #40 [CONVERSION FOR ALPHA STATUS (-#40) 16 3QLG BXL 0 XBETA(1),STAT2 [J IF WAS ALPHA 21 3R66 ADN 5 #44 [CONVERSION FOR DELTA 2 STATUS (+4) 15 3RKQ BXGE 5 XALPHA(1),STAT2 [J IF DELTA 2 21 3S5B SBN 5 #34 [CONVERSION FOR DELTA 1 STATUS (-#30) 5 3SK2 STAT2 7 3T4L SRC 5 1 21 3TJ= ANDN 6 1 [MASK OUT ERROR BIT FROM READ REPLY. 18 3W3W BPZ 5 POLL [J. IF DEVICE INOPERABLE. 17 3WHG BNZ 6 (7) [J. IF TRANSFER ERROR 14 3X36 SRC 5 1 [BRANCH 7 3Y2B EXIT 7 1 5 3YG2 REFINDA 13 3YPS ... HUNT2J 2,A7020,CONSOUT,,REFINDA 10 3Y_L ... TXU 5 CIDENTM(2) 19 3_9D ... BCS REFINDA [J IF NOT FOR RIGHT TERMINAL 7 3_F= EXIT 1 0 14 3_YW REFIND [LOCKC 10 42DG MHUNTW 2,A7020,ALCB 7 42Y6 EXIT 1 0 4 43CQ # 4 43XB # 20 44C2 Z1PCTCOUT [THE ENTRY TO SELECT THE ACCEPTOR 20 44WL [INTERFACE OF THE 7023, TO OUTPUT 21 45B= [ANY ASSEMBLED MESSAGES IN A7020/AOUT 21 45TW [BLOCKS AND TO REPEAT (IF NECESSARY) 21 46*G [FIX MESSAGES HELD IN A7020/ALIST OR 17 46T6 [A7020/INPUT BLOCKS. 4 47#Q # 15 47SB MHUNTW 3,A7020,ALCB [FIND THE LCB 15 48#2 DSA 5 GENQ1(3) [ENQ MESSAGE 17 48RL LDN 0 APCTERRNUM [SET THE *3 SELECT 10 49?= STO 0 ACOMMUNE1(2) 9 49QW LOCKC 3,REFIND 9 4==G CALL 1 REFIND 7 4=Q6 LDX 3 2 8 4?9Q LDX 1 FX1 8 4?PB LDX 2 FX2 15 4#92 LDEX 4 GUNITNO(3) [LINE NUMBER. 18 4#NL CALL 7 PREPERI1 [FINDLCA & SET UP MODES. 18 4*8= LDN 0 16 [SET UP REST OF SPOUT. 11 4*MW DLCA 1,DLA,0,COUNT2 9 4B7G LDN 0 GENQ3(3) 10 4BM6 DLCA 1,STO,0,CTSA2 19 4C6Q REALERR [REPEAT PERI COMES IN HERE. 7 4CLB LDN 0 7 10 4D62 DLCA 1,DLA,0,COUNT 9 4DKL LDN 0 GENQ1(3) 10 4F5= DLCA 1,STO,0,CTSA 21 4FJW LDN 0 GREP1(3) [SET RWA WORDS LAST, SO EXEC. DOESN'T 20 4G4G DLCA 1,STO,0,CREP [TRY TO IMPLEMENT PERI TOO SOON. 9 4GJ6 LDN 0 GREP2(3) 10 4H3Q DLCA 1,STO,0,CREP2 21 4HHB PERI1 GLPERI [(SHOULDN'T HAPPEN THO' FOR MODE 3). 20 4J32 WAIT1 LDXC 0 GTIM(3) [GTIM WILL BE -VE. ON 1ST. PASS. 8 4JGL BCC WAIT2 8 4K2= LDX 0 JTIME 9 4KFW STO 0 GTIM(3) 14 4K_G WAIT2 LDX 0 GSIGN [MARK IT 19 4LF6 ORS 0 GWAIT(3) [TO BE WOKEN UP BY THE AMOP 20 4LYQ COOR1 [GO TO SLEEP DURING THE TRANSFER 9 4MDB LDXC 0 GREP1(3) 8 4MY2 BCS WAIT2 16 4NCL LDX 6 GREP2(3) [2ND. REPLY WORD. 18 4NX= SLC 0 5 [J. TO RE-POLL IF INOP., 9 4PBW BPZ 0 ZINOP1 20 4PWG ANDN 0 #13 [OR TIMED-OUT, ERROR OR NOT-IMP. 9 4QB6 BNZ 0 ZINOP1 21 4QTQ BNG 6 WAIT1 [J. BACK TO WAIT FOR READ TERMINATION 4 4R*B # 16 4RT2 ADXC 6 6 [J. IF TIMED-OUT 8 4S#L BCS POLL 7 4SS= SLC 6 4 17 4T?W BPZ 6 POLL [OR INOP. TO REPOLL. 21 4TRG ANDN 6 3 [J. TO TRY AGAIN IF ERROR OR NOT-IMP. 8 4W?6 BNZ 6 RERR1 20 4WQQ LDN 2 GENQ3(3) [X2 POINTS TO THE STATUS CHAR. 7 4X=B SRC 6 1 8 4XQ2 BNG 6 RERR1 9 4Y9L CALL 7 STATENQ 8 4YP= BRN RERR1 17 4Y_4 ... BPZ 5 POLL [J IF WARNING STATUS 7 4_8W ANDN 5 1 16 4_NG UNLOCK 3 [UNLOCK THE LCB. 19 5286 BZE 5 POLE [RE-POLL IF ATTENTION IS SET. 19 52MQ MHUNTW 3,A7020,INFORM [FIND THE INFORMATION BLOCK 20 537B SMO APCTP(3) [STEP ON TO CURRENT PCT RECORD 18 53M2 LDX 5 IDUNIQUE(3) [GET THE IDENTIFIER WORD 15 546L STO 5 AWORK1(2) [& SAVE IT. 10 54L= LDN 0 APCTERRNUM 10 555W STO 0 ACOMMUNE1(2) 21 55KG CALL 7 PCTHUNT [FIND THE FIRST RELEVANT MESSAGE BLK. 21 5656 BRN SHALT [IF NONE - THEN THERE'S BEEN A BOOBOO 8 56JQ BRN SHALT 4 574B # 14 57J2 ZREP LOCKC 3,REFINDA [LOCK IT 9 583L CALL 1 REFINDA 7 58H= LDX 3 2 8 592W LDX 1 FX1 8 59GG LDX 2 FX2 9 5=26 CALL 7 PREPERI 8 5=FQ LDN 0 80 16 5=_B DLCA 1,DLA,0,COUNT2 [SET UP SPOUT. 10 5?F2 LDN 0 CENQOUT(3) 10 5?YL DLCA 1,STO,0,CTSA2 18 5#D= ZREP1 [REPEAT PERIS ENTER HERE. 8 5#XW LDN 0 128 10 5*CG DLCA 1,DLA,0,COUNT 10 5*X6 LDN 0 COUTBUFF(3) 10 5BBQ DLCA 1,STO,0,CTSA 15 5BWB LDN 0 COUTREP(3) [LOAD RWA.S. 10 5CB2 DLCA 1,STO,0,CREP 9 5CTL LDN 0 CINREP(3) 10 5D*= DLCA 1,STO,0,CREP2 17 5DSW PERI2 GLPERI [MODE 4 REJOINS HERE. 10 5F#G WAIT3 MHUNTW 1,A7020,ALCB 17 5FS6 LDXC 0 GTIM(1) [-VE. ON 1ST. PASS. 8 5G?Q BCC WAIT4 8 5GRB LDX 0 JTIME 9 5H?2 STO 0 GTIM(1) 14 5HQL WAIT4 LDX 0 GSIGN [SET THE 19 5J== ORS 0 GWAIT(1) [PCT WAITING FOR THE AMOP TO 18 5JPW COOR1 [PUT IT BACK ON THE LIST 20 5K9G LDXC 0 COUTREP(3) [J. IF WRITE NOT YET FINISHED. 8 5KP6 BCS WAIT3 16 5L8Q LDX 6 CINREP(3) [READ REPLY WORD. 7 5LNB ADXC 0 0 9 5M82 BCS ZINOP2 7 5MML SLC 0 4 9 5N7= BPZ 0 ZINOP2 7 5NLW ANDN 0 3 18 5P6G BNZ 0 ZREP2 [J. IF WRITE WAS ERRORED. 18 5PL6 BNG 6 WAIT3 [J. IF READ STILL ACTIVE. 7 5Q5Q ADXC 6 6 18 5QKB BCS POLL [J. IF READ TIMED-OUT. 7 5R52 SLC 6 4 15 5RJL BPZ 6 POLL [OR IF INOP. 7 5S4= SRC 6 1 18 5SHW BNG 6 ZREP4 [OR IF NOT IMPLEMENTED. 17 5T3G LDEX 2 CINREP(3) [READ REPLY COUNT. 15 5TH6 NGX 2 2 [CALCULATE 16 5W2Q ADN 2 78 [THE CHARACTER 19 5WGB BNG 2 ONLY1 [J IF ONLY 1 CHAR. READ IN 16 5X22 SRC 2 2 [POSITION OF THE 16 5XFL ADN 2 CENQOUT(3) [STATUS CHARACTER 20 5X_= CALL 7 STATCON [CONVERT STATUS TO INTERNAL FORM 5 5YDW STATOUT 21 5YYG BRN ZREP4 [J. IF TRANS. ERROR BUT DEVICE OK. 14 5_D6 LDX 2 FX2 [RESET X2 19 5_XQ LDX 5 AWORK1(2) [RESTORE THE PCT IDENTIFIER. 21 62CB NXBK STO 3 AWORK2(2) [SAVE ADDR OF NEXT BLK TO BE FREED 20 62X2 CALL 7 PCTHUNT [IS THERE ANOTHER MESSAGE BLOCK 21 63BL ORX 7 GSIGN [SET MARK FOR UNSUCCESSFUL SEARCH. 21 63W= BRN REMFL [X7 +VE (AS V CLEAR) IF IREMTW FOUND. 21 64*W FREECORE AWORK2(2) [YES - FREE PREVIOUS MESSAGE BLOCK 15 64TG BRN POLE [AND REPOLE 4 65*6 # 17 65SQ REMFL FREECORE AWORK2(2) [FREE THE LAST BLOCK. 21 66#B BPZ 7 NXBK [J. TO LOOK AGAIN IF NOT END OF CHAIN 13 66S2 MHUNTW 3,A7020,INFORM [FIND 19 67?L LDX 6 ALINESTAT(3) [THE INFORM BLOCK AND STEP TO 13 67R= ADX 3 APCTP(3) [THE 21 68=W BPZ 6 NOTMO [RELEVANT RECORD, J. IF NOT MOPPING O 21 68QG LDCT 0 #100 [OTHERWISE HAS MOP OFF MESSAGE ALREAD 21 69=6 ANDX 0 APCTSTAT(3) [BEEN OUTPUT? J. TO LEAVE OUTPUT FLIP 19 69PQ BZE 0 POLE [IF NOT, OTHERWISE GET THE 20 6=9B NOTMO LDCH 4 APCTX(3) [CONSOLE INTERFACE BIT AND UNSET 16 6=P2 ERS 4 APCTD(3) [THE FLIPED BIT 15 6?8L POLE ACROSS PCTCON,1 [NOW REPOLE 4 6?N= # 4 6#7W # 21 6#MG SHALT MHUNTW 3,A7020,INFORM [ERROR IF FLIPPED BUT NOT MOPPING OFF 10 6*76 LDXC 7 ALINESTAT(3) 9 6*LQ BCC NOTMOPOFF 20 6B6B LDN 2 FPTPCT(3) [ARE ANY ACTIVITIES STILL RUNNING 17 6BL2 NOTHS LDX 2 FPCT(2) [FOR THIS TERMINAL? 11 6C5L LDXC 0 APCTID-FPTPCT(2) 15 6CK= BCS NOACT [J. IF NOT, 17 6D4W ANDN 0 -1 [OTHERWISE UNSET THE 17 6DJG BXU 0 APCTP(3),NOTHS [FLIP BIT AND SET THE 18 6F46 ADX 3 0 [SECONDARY FLIP BIT TO 18 6FHQ LDCH 0 APCTX(3) [GIVE THEM A CHANCE TO 14 6G3B ERS 0 APCTD(3) [FINISH. 9 6GH2 ORS 0 APCTX(3) 16 6H2L ACROSS PCTCON,3 [GO TO REPOLL. 4 6HG= # 21 6H_W NOACT LDCT 0 #100 [SET THE ^CONSOLE OUTPUT FINISHED^ 21 6JFG ADX 3 APCTP(3) [BIT, SO THAT ANY FURTHER MESSAGES 20 6J_6 ORS 0 APCTSTAT(3) [FOR THIS TERMINAL GET REROUTED. 21 6KDQ ADXC 7 7 [J. IF CLOSING DOWN BECAUSE ^FINISH 18 6KYB BCS NOTMO [NOW^ HAS BEEN ORDERED. 15 6LD2 SETNCORE COUTBUFF+17-A1,3,A7020,CONSOUT,1 19 6LXL STO 5 CIDENTM(3) [SET UP A FAREWELL MESSAGE. 16 6M7D ... LDX 0 5 [SAVE IDENT WORD 9 6MC= LDN 5 SMESS(1) 10 6MWW LDN 6 COUTBUFF(3) 8 6NBG MOVE 5 16 17 6NW6 ADXC 7 7 [J. UNLESS ATTACHED 18 6P*Q ... BCC ZREPA [INSTEAD OF MOPPED OFF. 21 6PTB LDN 5 TMESS(1) [OVERWRITE THE ^MOPPED OFF^ CHARACTER 10 6Q*2 LDN 6 COUTBUFF+8(3) 7 6QSL MOVE 5 4 20 6R73 ...ZREPA LDX 5 0 [SET X5=CIDENTM READY FOR REFINDA 8 6RFD ... BRN ZREP 4 6RRW # 6 6S?G NOTMOPOFF 18 6SR6 GEOERR 1,NOPCTMES [FLIPPED FOR NO REASON. 4 6T=Q # 21 6TQB RERR1 CALL 7 REPERI [TEST ERROR COUNT & SET UP LCA AGAIN. 17 6W=2 BRN REALERR [J. TO REPEAT PERI. 4 6WPL # 20 6X9= ZREP2 BPZ 6 ZREP4 [J. IF READ ALREADY TERMINATED, 19 6XNW ZREP3 CALL 7 ZCNCL [OTHERWISE TRY TO CANCEL IT. 8 6Y8G BRN PERI2 4 6YN6 # 21 6_7Q ZREP4 CALL 7 REPERI [TEST ERROR COUNT & SET UP LCA AGAIN. 17 6_MB BRN ZREP1 [J. TO REPEAT PERI. 4 7272 # 5 72LL ZINOP1 20 736= BPZ 6 POLL [J. IF READ ALREADY TERMINATED, 19 73KW CALL 7 ZCNCL [OTHERWISE TRY TO CANCEL IT. 8 745G BRN PERI1 4 74K6 # 5 754Q ZINOP2 20 75JB BNG 6 ZREP3 [J. TO CANCEL READ IF STILL BUSY. 21 7642 POLL UNLOCK 3 [UNLOCK THE BUFFER BLOCK & RE-POLL. 8 76HL BRN POLE 4 773= # 4 77GW # 4 782G # 20 78G6 Z2PCTCOUT [ENTRY FOR CLEARING UP MESSAGES. 4 78_Q # 21 79FB # NOW FREE MESSAGE BLOCKS FOR THIS TERMINAL AND USE ROUTING BLOCKS 16 79_2 # TO RE-ROUTE THE MESSAGES TO A BACK-UP CONSOLE. 10 7=DL NXTM MHUNTW 3,A7020,INFORM 21 7=Y= CALL 7 PCTHUNT [LOOK FOR MESSAGE BLOCKS FOR THIS PCT 16 7?CW BRN NUP [NO MORE - END. 21 7?XG BRN REROUTE [ROUTING BLOCK - REROUTE THE MESSAGE. 9 7#C6 LDX 3 FPTR(3) 9 7#WQ FREECORE BPTR(3) 17 7*BB BRN PCTH0 [J. BACK IN FOR NEXT. 4 7*W2 # 5 7B*L REROUTE 21 7BT= CHAIN 3,2 [RECHAIN THE ROUTING BLOCK NEXT TO 20 7C#W DOWN CONSROOT,2 [THE ACTIVITY AND RE-ROUTE IT. 15 7CSG BRN NXTM [START AGAIN. 4 7D#6 # 19 7DRQ NUP MHUNTW 3,A7020,INFORM [GET TERMINAL RECORD AGAIN. 9 7F?B ADX 3 APCTP(3) 17 7FR2 LDCH 0 APCTX(3) [CONS O/P FLIP BIT 9 7G=L ORS 0 APCTD(3) 19 7GQ= ERS 0 APCTD(3) [ENSURE CONS O/P IS UNFLIPPED 5 7H9W UP 4 7HPG # 4 7J96 # 4 7JNQ # 4 7K8B #END 8 ____ ...16312340000500000000