14 22FL #LIS K0PCTLPTP>K0PCT>K0ALLGEO>K0GREATGEO 16 22_= #SEG PCTLPTP8 [G CONSTANTINIDES 10 23DW 8HPCTLPTP8 7 23YG # ENTRY POINTS 12 24D6 SEGENTRY K1PCTLPTP,Z1PCTLPTP 12 24XQ MENDAREA APCTGAP,K100PCTLPTP 4 25CB [ 20 25X2 [ THIS SEGMENT CONTROLS THE WRITING OF DATA TO A REMOTE LINE PRINTER 12 26BL [ - A 7021 OR TAPE PUNCH - A 7025 4 26W= [ 4 27*W # 17 27TG XALPHA #74 [ALPHA & DELTA-SPLIT 13 28*6 XBETA #75 [BETA 11 28SQ ONEDAY 24*3600/K9*1000 9 29#B MODE40004 #40004 18 29J8 ...ZMMD4 4 [KEEP 1 AFTER MODE4004 4 29S2 # 4 2=?L # 4 2=R= [ 21 2?=W [ THIS SUBROUTINE SETS UP THE MODE *3 CONTROL AREA IN THE MOP ACTIVITY 4 2?QG [ 5 2#=6 PREPERI 8 2#PQ LDX 2 FX2 17 2*9B LDX 4 AWORK2(2) [GET THE LINE NUMBER. 5 2*P2 PREPERI1 20 2B8L FINDLCA ,4 [GET POINTER TO THE LCA IN X1. 19 2BN= SRC 4 9 [LINE NUMBER TO TOP 9 BITS. 10 2C7W DCA ,STO,4,MODE 7 2CMG LDN 0 1 10 2D76 DLCA 1,DLA,0,MODE 7 2DLQ LDN 0 2 10 2F6B DLCA 1,DLA,0,MODE2 7 2FL2 EXIT 7 0 4 2G5L # 17 2GK= PERI LDN 0 80 [SET UP THE SPOUT. 11 2H4W DLCA 1,DLA,0,COUNT2 9 2HJG LDN 0 ENQOUT(3) 10 2J46 DLCA 1,STO,0,CTSA2 21 2JHQ PERI2 SBX 7 FX1 [ERROR RETRANSMISSIONS RE-JOIN HERE. 18 2K3B LDN 0 128 [SET UP THE CURRENT AREA. 10 2KH2 DLCA 1,DLA,0,COUNT 10 2L2L DLCA 1,STO,5,CTSA 9 2LG= LDN 0 INREP1(3) 20 2L_W DLCA 1,STO,0,CREP [PRE-EMPT OUR LOADING UP THE LCA. 9 2MFG LDN 0 INREP2(3) 10 2M_6 DLCA 1,STO,0,CREP2 6 2NDQ PERI1 GLPERI 9 2NYB WAIT2 CALL 1 ZHUNTALCB 9 2PD2 LDX 0 GTIM(2) 8 2PXL BPZ 0 WAIT3 8 2QC= LDX 0 JTIME 9 2QWW STO 0 GTIM(2) 8 2RBG WAIT3 LDX 0 GSIGN 9 2RW6 ORS 0 GWAIT(2) 6 2S*Q COOR1 9 2STB LDXC 0 INREP1(3) 8 2T*2 BCS WAIT2 16 2TSL LDX 4 INREP2(3) [READ REPLY WORD. 7 2W#= ADXC 0 0 19 2WRW BCS ZINOP2 [J. IF TIMED-OUT ON WRITE. 7 2X?G SLC 0 4 19 2XR6 BPZ 0 ZINOP2 [J. IF INOPERABLE ON WRITE. 7 2Y=Q ANDN 0 3 19 2YQB BZE 0 PERI3 [J. IF NOT ERROR OR NOT-IMP. 7 2YS_ ... ANDN 0 1 8 2YXJ ... BZE 0 XRRA 9 2_27 ... TRACE 4,PCTNI2 9 2_4Q ... BRN ZINOP2 9 2_7* ...XRRA TRACE 4,PCTER2 9 2_=2 LDXC 4 INREP2(3) 8 2_PL SMO FX1 8 329= BCC (7) 21 32NW PCNCL LDX 4 AWORK2(2) [SET UP THE DCA & J. TO CANCEL THE 14 338G SRC 4 9 [READ. 10 33N6 ORX 4 MODE40004(1) 10 347Q DCA ,STO,4,MODE 8 34MB BRN PERI1 20 3572 PERI3 BNG 4 WAIT2 [J. IF READ NOT YET TERMINATED. 7 35LL ADXC 4 4 18 366= BCS ZINOP3 [J. IF READ TIMED-OUT, 7 36KW SLC 4 4 16 375G BPZ 4 ZINOP3 [OR INOPERABLE. 7 37K6 SRC 4 1 7 384Q ADX 7 1 8 38JB BNG 4 (7) 9 3942 LDEX 2 INREP2(3) 21 39HL NGX 2 2 [FIND THE STATUS REPLY CHARACTER(S). 20 3=3= BNG 6 YETX [J. IF OUTPUTTING FROM ETXBUFF. 21 3=GW SMO 6 [SAVE THE RESTART WORD, AS IT COULD 20 3?2G LDX 0 INTLK2(3) [BE OVERWRITTEN BEFORE WE NOTICE 20 3?G6 STO 0 INTLK4(3) [OUTPUT FAILURE ON THIS BUFFER. 21 3?_Q LDX 0 BITS22LS [CLEAR THE ^FILLED^ AND ^BEING OUTPUT 7 3#FB SMO 6 9 3#_2 ANDS 0 INTLK(3) 8 3*DL YETX ADN 2 78 19 3*Y= BNG 2 ONLY1 [J. IF ONLY 1 CHAR. READ IN. 7 3BCW SRC 2 2 21 3BXG ADN 2 ENQOUT(3) [POINTER TO LAST TWO CHARS. READ IN. 9 3CC6 BRN STATCON 21 3CWQ ONLY1 LDCH 5 ENQOUT(3) [IF ONLY 1 CHAR. MUST BE ALPHA SHIFT. 17 3DBB SBN 5 #40 [ALPHA CONVERSION. 8 3DW2 BRN STAT2 4 3F*L # 4 3FT= [ 21 3G#W [ THIS SUBROUTINE CONVERTS THE STATUS CHARACTER RECEIVED IN SHIFT FORM 13 3GSG [ IN X0 TO BIT SIGNIFICANT FORM IN X5 4 3H#6 [ 21 3HRQ STATENQ [DECODE STATUS REPLY TO INITIAL SELEC 8 3J?B LDCH 0 0(2) 15 3JR2 BXL 0 XBETA(1),STAT3 [J. IF ALPHA. 20 3K=L LDX 5 GENQ3(3) [GET THE 1ST. 2 CHARS. (INTERFACE 17 3KQ= SRL 5 12 [ADDRESS) INTO X5. 8 3L9W BCHX 2 STAT4 21 3LPG STAT3 LDN 5 #7400 [SET UP INTERFACE ADDRESS IF ALPHA. 7 3M96 ORX 5 0 21 3MNQ STAT4 ERX 5 GENQ1(3) [COMPARE INTERFACE ADDRESS REPLIED 20 3N8B ANDN 5 -1 [WITH ADDRESS ORIGINALLY SENT. 18 3NN2 BNZ 5 POLL [RE-POLL IF NOT THE SAME. 8 3P7L BCHX 2 STAT5 16 3PM= STAT5 LDCH 5 0(2) [GET NEXT CHAR. 16 3Q6W BXL 5 XALPHA(1),STAT1 [J. IF NOT SHIFT. 4 3QLG # 4 3R66 # 5 3RKQ STATCON 19 3S5B LDCH 0 0(2) [GET 1ST. CHARACTER OF PAIR. 7 3SK2 BCHX 2 / 14 3T4L LDCH 5 0(2) [GET 2ND. 17 3TJ= STAT1 BXE 0 XBETA(1),STAT2 [J. IF BETA SHIFT. 21 3W3W SBN 5 #40 [CONVERSION FOR ALPHA STATUS. (-#40). 16 3WHG BXL 0 XBETA(1),STAT2 [J. IF WAS ALPHA. 21 3X36 ADN 5 #44 [CONVERSION FOR DELTA 2 STATUS. (+4). 17 3XGQ BXGE 5 XALPHA(1),STAT2 [J. IF WAS DELTA 2. 21 3Y2B SBN 5 #34 [CONVERSION FOR DELTA 1 STATUS. (-#30 21 3YG2 STAT2 SRC 5 1 [J. IF STATUS SHOWS DEVICE INOPERABLE 7 3Y_L ANDN 4 1 8 3_F= BPZ 5 XDEV 21 3_YW BNZ 4 (7) [EXIT 0 IF TRANSFER REPLY SHOWS ERROR 17 42DG EXIT 7 1 [EXIT 1 IF ALL OK. 4 42Y6 # 18 43CQ ZHUNTALCB [FIND A7020/ALCB BLOCK. 10 43XB MHUNTW 2,A7020,ALCB 7 44C2 EXIT 1 0 4 44WL # 18 45B= ZHUNTALIST [FIND A7020/ALIST BLOCK. 11 45TW MHUNTW 3,A7020,INFORM 9 46*G LDX 2 FPTPCT(3) 9 46T6 SBN 2 FPTPCT 7 47#Q EXIT 1 0 4 47SB # 4 48#2 # 4 48RL # 20 49?= Z1PCTLPTP [THE ENTRY POINT TO ADDRESS THE 19 49QW [DEVISE AND COMMENCE OUTPUT 4 4==G # 21 4=Q6 CALL 1 ZHUNTALIST [CHECK WHETHER THE NEXT BUFFER IS FUL 9 4=QM ... LDX 0 EWAIT(2) 8 4=R8 ... ANDN 0 #2000 17 4=RP ... BZE 0 NRESET [J IF ALIST NOT RESET 9 4=S= ... ERS 0 EWAIT(2) 20 4=SR ... STOZ INTLK1(2) [REAET LAST USED BUFFER NUMBER 5 4=T# ...NRESET 9 4=W3 ... LDX 0 EWAIT(2) 8 4=_Y ... ANDX 0 BIT9 8 4?5T ... BNZ 0 NSELY 9 4?9Q LDX 0 INTLK1(2) 10 4?PB SBN 0 ALFBUFFNUM-1 8 4#92 BZE 0 OFIR 10 4#NL ADN 0 ALFBUFFNUM 7 4*8= SMO 0 21 4*MW OFIR LDXC 0 INTLK(2) [J. IF BUFFER FULL, I.E. SAFE TO SELE 8 4B7G BCS OK2GO 6 4B9P ...#UNS JSKI33 4 4B?Y ...( 9 4BB7 ... LDX 0 EWAIT(2) 8 4BDB ... ANDX 0 BIT11 8 4BGK ... BNZ 0 OK2GO 4 4BJS ...) 21 4BM6 ...NSELY ORX 2 GSIGN [OTHERWISE UNSET THE FLIP BIT IF IT'S 21 4C6Q ADX 3 APCTP(3) [STILL SET, AND SET THE SECONDARY BIT 9 4CLB LDCH 0 APCTID(2) 9 4D62 ANDX 0 APCTD(3) 18 4DKL LDCT 4 #20 [IS THE ^END^ MARKER SET? 9 4F5= ANDX 4 EWAIT(2) 9 4FJW ERS 0 APCTD(3) 8 4G4G BNZ 4 ONLYX 9 4GJ6 ORS 0 APCTX(3) 8 4H3Q BRN NOPUT 20 4HHB ONLYX LDCT 0 #10 [SET THE OUTPUT FINISHED MARKER 9 4J32 ERX 4 EWAIT(2) 7 4JGL ORS 0 4 9 4K2= STOC 4 EWAIT(2) 8 4KFW BCC NOPUT 9 4K_G HUNTACT ACTLF,2 6 4LF6 FPUT 14 4LYQ NOPUT ACROSS PCTCON,3 [REPOLL. 4 4MDB # 16 4MY2 OK2GO CALL 1 ZHUNTALCB [FIND THE LCB. 20 4NCL LDCT 6 #200 [MARKER TO SHOW WE'RE SELECTING. 10 4NX= LOCKC 2,ZHUNTALCB 10 4PBW MHUNTW 3,A7020,ALCB 15 4PWG DSA 7 GENQ1(3) [ENQ MESSAGE 17 4QB6 LDN 0 APCTERRNUM-1 [SET THE *3 SELECT. 17 4QTQ STO 0 ACOMMUNE1(2) [ERROR TRANSFER COUNT 20 4R*B LDEX 4 GUNITNO(3) [GET THE LINE NUMBER & SAVE IT. 9 4RT2 STO 4 AWORK2(2) 20 4S#L CALL 7 PREPERI1 [SET UP THE DCA & FIND THE LCA. 8 4SS= LDN 0 16 11 4T?W DLCA 1,DLA,0,COUNT2 9 4TRG LDN 0 GENQ3(3) 10 4W?6 DLCA 1,STO,0,CTSA2 21 4WQQ REALERR [ERROR RETRANSMISSIONS RE-ENTER HERE. 7 4X=B LDN 0 7 10 4XQ2 DLCA 1,DLA,0,COUNT 9 4Y9L LDN 0 GENQ1(3) 10 4YP= DLCA 1,STO,0,CTSA 20 4_8W LDN 0 GREP1(3) [SET UP THE RWA.S LAST SO THAT 21 4_NG DLCA 1,STO,0,CREP [EXEC DOESN'T PRE-EMPT THE LOADING. 9 5286 LDN 0 GREP2(3) 10 52MQ DLCA 1,STO,0,CREP2 6 537B WAITY GLPERI 20 53M2 WAITW LDXC 0 GTIM(3) [J. IF 2ND. TIME THROUGH AND TIME 21 546L BCC WAIT [ALREADY SET UP FOR CURRENT TRANSFER, 21 54L= LDX 0 JTIME [OTHERWISE SET THE PERI START TIME. 9 555W STO 0 GTIM(3) 14 55KG WAIT LDX 0 GSIGN [MARK IT 19 5656 ORS 0 GWAIT(3) [TO BE WOKEN UP BY THE AMOP 20 56JQ COOR1 [GO TO SLEEP DURING THE TRANSFER 9 574B LDXC 0 GREP1(3) 8 57J2 BCS WAIT 18 583L LDX 4 GREP2(3) [GET THE READ REPLY WORD. 17 58H= SLC 0 5 [J. IF INOPERABLE. 9 592W BPZ 0 ZINOP1 21 59GG ANDN 0 #13 [J. IF ERROR, NOT-IMP OR TIMED-OUT. 9 5=26 BNZ 0 ZINOP1 20 5=FQ BNG 4 WAITW [J. IF READ NOT YET TERMINATED. 21 5=_B ADXC 4 4 [J. IF TIMED-OUT OR INOP. TO RE-POLL. 8 5?F2 BCS POLL 7 5?YL SLC 4 4 8 5#D= BPZ 4 POLL 7 5#XW SRC 4 1 9 5*CG BNG 4 RERROR 15 5*X6 LDN 2 GENQ3(3) [ADDRESS OF 9 5BBQ CALL 7 STATENQ 18 5BWB BRN RERROR [J. IF READ WAS ERRORED. 17 5CB2 SRC 5 1 [J. IF WARNING SET. 8 5CTL BPZ 5 WARNA 17 5D*= ANDN 5 1 [J. IF ATTENTION SET. 8 5DSW BZE 5 POLL 16 5F#G UNLOCK 3 [UNLOCK THE LCB. 4 5FS6 # 21 5G?Q ZBUF CALL 1 ZHUNTALIST [FIND THE OUTPUT BUFFER & LOCK IT. 10 5GRB LOCKC 2,ZHUNTALIST 10 5H?2 CALL 1 ZHUNTALIST 7 5HQL LDX 3 2 14 5J== LDX 6 INTLK1(3) [STEP ON 16 5JPW ZLP1 CALL 0 NEXT [GET NEXT BUFFER. 9 5JQ5 ... LDX 0 EWAIT(3) 8 5JQ# ... ANDN 0 #2000 17 5JQH ... BZE 0 NCHAN [J IF ALIST NOT RESET 9 5JQQ ... ERS 0 EWAIT(3) 21 5JQ_ ... STOZ INTLK1(3) [RESET NUMBER OF LAST EMPTIED BUFFER 7 5JR8 ... LDN 6 0 17 5JRC ... BRN ZLP1 [TRY WITH RESET BUFFER NUMBER 5 5JRL ...NCHAN 6 5JS5 ...#UNS JSKI33 4 5JW# ...( 9 5JYH ... LDX 0 EWAIT(3) 8 5K2Q ... ANDX 0 BIT11 9 5K4_ ... BNZ 0 RESTOP 4 5K78 ...) 21 5K9G UNLOCK 3 [NOT AVAILABLE YET - UNLOCK BUFFER 21 5KP6 LDX 0 GSIGN [BLOCK, SET THE WAITING BIT & WAIT. 9 5L8Q ORS 0 EWAIT(3) 6 5LNB COOR1 15 5M82 BRN ZBUF [TRY AGAIN. 4 5MML # 16 5N7= NEXT SBN 6 ALFBUFFNUM-1 [GET NEXT BUFFER 8 5NLW BZE 6 NFIR 10 5P6G ADN 6 ALFBUFFNUM 7 5PL6 SMO 6 18 5Q5Q NFIR LDXC 4 INTLK(3) [J. IF NOT ALREADY FILLED 8 5QKB BCC (0) 4 5R52 # 20 5RJL ZLP2 STO 6 INTLK1(3) [UPDATE CURRENT BUFFER POINTER. 16 5S4= LDCT 0 #600 [YES - THEN SET 17 5SHW SMO 6 [THE 'BEING OUTPUT' 14 5T3G ORS 0 INTLK(3) [MARKER 13 5TH6 SMO 6 [SET 20 5W2Q LDX 5 INTLK(3) [UP THE OUTPUT BUFFER ADDRESS. 8 5WGB ANDN 5 -1 10 5X22 ADN 5 ACTBUFF(3) 20 5XFL CALL 7 PREPERI [SET UP THE DCA & FIND THE LCA. 16 5X_= CALL 7 PERI [DO THE TRANSFER. 17 5YDW CALL 7 ZREP1 [TAKE ERROR ACTION. 20 5YYG LDXC 0 EWAIT(3) [WAKE UP THE LISTFILE ACTIVITY IF 19 5_D6 BCC XCLF [IT'S WAITING FOR BUFFERS. 9 5_XQ STO 0 EWAIT(3) 19 62CB HUNTACT ACTLF,2,3 [FIND THE LISTFILE ACTIVITY 15 62X2 FPUT [WAKE IT UP 17 63BL XCLF SMO 6 [END OF MESSAGE YET? 9 63W= LDXC 0 INTLK2(3) 19 64*W BCC ZLP1 [J. FOR NEXT BUFFER IF NOT. 7 64B_ ... LDN 0 8 6 64C# ...#UNS JSKI33 8 64CM ... ORX 0 BIT11 9 64D4 ... ANDX 0 EWAIT(3) 8 64F7 ... BZE 0 NENYE 7 64G= ... LDX 0 6 10 64H* ... SBN 0 ALFBUFFNUM-1 8 64JD ... BZE 0 SPFIR 10 64KH ... ADN 0 ALFBUFFNUM 7 64LL ... SMO 0 9 64MP ...SPFIR LDXC 0 INTLK(3) 8 64NS ... BCS NENYE 6 64NY ...#UNS JSKI33 4 64P4 ...( 8 64P8 ... LDX 0 BIT11 9 64P# ... ANDX 0 EWAIT(3) 17 64PD ... BNZ 0 RESTOP [J IF DISENGAGING 16 64PJ ...[ ELSE SEND DC2 4 64PN ...) 7 64PX ... LDN 0 2 8 64R2 ... BCHX 3 XOUT 7 64RS ...NENYE SMO 6 9 64SL ... LDXC 0 INTLK2(3) 21 64TG ADXC 0 0 [DO WE NEED TO DISENGAGE THE DEVICE? 8 65*6 BCS STOP 21 65SQ SRC 5 1 [IF YES, DO WE WANT TO HOLD UP OUTPUT 20 66#B BPZ 5 WARNG [FOR ANY REASON - LIKE WARNING 15 66S2 ANDN 5 1 [OR ATTENTION 8 67?L BZE 5 XATTN 9 67R= LDX 2 BPTPCT(3) 9 68=W SBN 2 FPTPCT 10 68QG LDXC 0 ALINESTAT(2) 16 69=6 BCS XATTN [J. IF MOP OFF 8 69PQ LDCT 0 #100 9 6=9B ANDX 0 FINISH 18 6=P2 BNZ 0 XATTN [J. IF 'FINISH NOW' SET 9 6?8L SMO APCTP(2) 9 6?N= LDCH 0 APCTX(2) 9 6#7W SMO APCTP(2) 9 6#MG ANDX 0 APCTD(2) 19 6*76 BNZ 0 XATTN [J. IF O/P CONSOLE FLIPPED 10 6*LQ LDX 0 ATSLICE(2) 17 6B6B BZE 0 ZCONT [J. IF NOT MULTIDROP 8 6BL2 LDX 0 JTIME 10 6C5L SBX 0 APCTCLNCT(2) 8 6CK= BPZ 0 NODAY 9 6D4W ADX 0 ONEDAY(1) 10 6DJG NODAY TXL 0 ATSLICE(2) 17 6F46 BCC XATTN [J. IF TIME SLICE UP 21 6FHQ ZCONT CALL 0 NEXT [OR NEXT BUFFER NOT FILLED. J. IF NOT 20 6G3B XATTN LDN 0 #23 [IF NOT SENDING DC3 OR DC4 SEND 21 6GH2 BCHX 3 / [STX:C/R:ETX, (STX:NULL:ETX FOR TP), 17 6H2L XOUT DCH 0 ETXBUFF+1(3) [TO END THE MESSAGE. 21 6HG= ORX 6 GSIGN [SET MARKER SO WE DON'T CLEAR INTLK W 9 6H_W ANDX 3 BITS22LS 10 6JFG LDN 5 ETXBUFF(3) 20 6J_6 CALL 7 PREPERI [SET UP THE DCA & FIND THE LCA. 16 6KDQ CALL 7 PERI [SEND THE ETX. 17 6KYB CALL 7 ZREP2 [TAKE ERROR ACTION. 19 6LD2 LDX 6 INTLK1(3) [GET THE NEXT BUFFER POINTER. 10 6LXL SBN 6 ALFBUFFNUM-1 8 6MC= BZE 6 NSEC 10 6MWW ADN 6 ALFBUFFNUM 7 6NBG SMO 6 17 6NW6 NSEC LDXC 0 INTLK(3) [IS THIS BUFFER FULL? 16 6P*Q BCS POLL [YES - REPOLL. 20 6PTB XDEAD LDCT 4 #20 [NO - IS THE ^END^ MARKER SET? 6 6Q2J ...#UNS JSKI33 8 6Q7Q ... ORX 4 BIT11 9 6Q*2 ANDX 4 EWAIT(3) 15 6QSL BZE 4 POLL [NO - REPOLL 6 6QWJ ...#UNS JSKI33 4 6QYG ...( 7 6R2D ... LDX 0 4 7 6R4B ... SRL 0 1 4 6R6# ...) 6 6R8= ...#UNS JSKI33 4 6R=8 ...#SKI 21 6R#= LDCT 0 #10 [YES - UNSET IT, SET THE TRANSMISSION 21 6RRW ERS 4 EWAIT(3) [ENDED MARKER AND WAKE UP THE ACTLF. 7 6S?G LDX 2 3 9 6SR6 LDX 3 BPTPCT(3) 9 6T=Q SBN 3 FPTPCT 8 6TQB BRN NUDGE 4 6W=2 # 20 6WPL WARNA UNLOCK 3 [WARNING SEEN AT ADDRESS STAGE: 21 6X9= CALL 1 ZHUNTALIST [UNLOCK LCB, FIND & LOCK ALIST BLOCK. 20 6XNW LDN 6 0 [UNSET THE ^SELECT PHASE^ MARKER. 10 6Y8G LOCKC 2,ZHUNTALIST 10 6YN6 CALL 1 ZHUNTALIST 18 6_7Q LDX 3 2 [& SET IT UP TO SEND DC3. 4 6_MB # 21 7272 WARNG LDN 0 #03 [IF WARNING SEEN SEND STX/CR/DC3/ETX 21 72LL BCHX 3 XOUT [(OR STX/NULL/DC3/ETX IF TAPE PUNCH). 4 736= # 6 738T ...#UNS JSKI33 4 73?D ...( 5 73B3 ...RESTOP 9 73DL ... ANDX 3 BITS22LS 4 73H9 ...) 7 73KW STOP LDN 0 4 8 745G BCHX 3 XOUT 4 74K6 # 4 754Q # 5 75JB RERROR 20 7642 LDN 0 1 [J. TO RETRANSMIT UNLESS MAXIMUM 20 76HL LDX 2 FX2 [ERROR COUNT HAS BEEN REACHED, 18 773= SBSC 0 ACOMMUNE1(2) [IN WHICH CASE REPOLL. 8 77GW BCS POLL 9 782G CALL 7 PREPERI 15 78G6 BRN REALERR [REPEAT PERI. 4 78_Q # 20 79FB ZREP1 SMO 6 [RESET THE OUTPUT BUFFER ADDRESS. 9 79_2 LDX 5 INTLK(3) 8 7=DL ANDN 5 -1 10 7=Y= ADN 5 ACTBUFF(3) 8 7?CW LDCT 0 #600 7 7?XG SMO 6 9 7#C6 ORS 0 INTLK(3) 8 7#WQ BRN ZREP3 21 7*BB ZREP2 LDN 5 ETXBUFF(3) [SET UP THE OUTPUT BUFFER ADDRESS. 8 7*W2 ZREP3 SMO FX2 16 7B*L STO 7 AWORK3 [SAVE THE LINK. 19 7BT= CALL 7 PREPERI [SET UP DCA & FIND THE LCA. 16 7C#W LDX 7 AWORK3(2) [RESTORE LINK. 21 7CSG BCT 7 PERI2 [J. BACK TO S/R & STEP BACK LINK TOO. 4 7D#6 # 17 7DRQ XDEV BNZ 4 ZDEV [READ ERROR AS WELL? 21 7F?B ANDN 5 4 [J. UNLESS DEVICE ERROR AS WELL, TO 18 7FR2 BZE 5 ZDEV [SEND ^PLEASE ENGAGE^, 8 7G=L BPZ 6 POLL 21 7GQ= ADXC 6 6 [OR TO SET END MARKER IF WE'VE FINISH 8 7H9W BCS POLL 8 7HPG BRN XDEAD 4 7J96 # 21 7JNQ ZDEV LDX 2 3 [ALIST BLOCK, OR ALCB IF IN SELECT PH 18 7K8B LDX 3 BPTPCT(3) [INFORM BLOCK POINTER. 7 7KN2 SLL 6 1 9 7L7L SBN 3 FPTPCT 21 7LM= BPZ 6 XETC [J. UNLESS CAME IN ON SELECT PATH. 16 7M6W UNLOCK 2 [UNLOCK THE LCB. 19 7MLG MHUNTW 3,A7020,INFORM [FIND THE INFORMATION BLOCK. 14 7N66 LDX 2 FPTPCT(3) [POINTER 17 7NKQ SBN 2 FPTPCT [TO THE 7020 BUFFER 21 7P5B XETC LDX 1 3 [FIND THE RECORD ENTRY FOR THIS DEVIC 9 7PK2 LDX 4 APCTID(2) 9 7Q4L ADX 1 APCTP(3) 9 7QJ= ANDX 4 HALFTOP 10 7R3W NXT LDX 0 APCTDEV(1) 7 7RHG ANDX 0 4 8 7S36 BNZ 0 XFND 8 7SGQ BDX 1 NXT 21 7T2B XFND LDN 0 #100 [SET THE ^NOTIFY OPERABILITY^ MARKER. 10 7TG2 ORS 0 APCTDEV+1(1) 21 7T_L LDCT 0 #140 [SET THE ^PLEASE ENGAGE^ AND ERROR 16 7WF= NUDGE ORS 0 EWAIT(2) [RESTART MARKER. 19 7WYW LDX 4 APCTID(2) [THE DEVISE IDENTIFIER WORD 20 7XDG LDXC 0 EWAIT(2) [WAKE UP THE ACTLF IF WAITING. 8 7XY6 BCC UNFLP 9 7YCQ STO 0 EWAIT(2) 9 7YXB HUNTACT ACTLF,2 6 7_C2 FPUT 6 7_D? ...#UNS JSKI33 4 7_FJ ...( 9 7_GT ...UNFLP LDX 2 FPTPCT(3) 8 7_J6 ... LDN 0 #4000 11 7_KC ... ANDX 0 EWAIT-FPTPCT(2) 8 7_LN ... BNZ 0 POLEZ 19 7_M_ ...[ DO NOT UNFLIP IF DISENGAGING 8 7_P= ... SRL 4 12 4 7_QH ...) 6 7_RS ...#UNS JSKI33 4 7_T5 ...#SKI 15 7_WL UNFLP SRL 4 12 [REMOVE THE 13 82B= SMO APCTP(3) [FLIP 13 82TW ERS 4 APCTD(3) [BIT 5 835N ...POLEZ 20 83*G BNG 6 POLE [J. IF CAME IN FROM SELECT PATH. 18 83T6 LDX 3 FPTPCT(3) [UNLOCK THE BUFFER BLOCK. 9 84#Q SBN 3 FPTPCT 7 84SB POLL UNLOCK 3 16 85#2 POLE ACROSS PCTCON,1 [BACK TO REPOLL. 4 85RL # 4 86?= # 4 86QW # 5 87=G ZINOP1 21 87Q6 BPZ 4 POLL [J. IF READ ALREADY TERMINATED, ELSE 21 889Q LDX 4 AWORK2(2) [SET UP CANCEL PERI & J. TO ISSUE IT. 7 88PB SRC 4 9 10 8992 ORX 4 MODE40004(1) 10 89NL DCA ,STO,4,MODE 8 8=8= BRN WAITY 4 8=MW # 5 8?7G ZINOP2 20 8?M6 BNG 4 PCNCL [J. IF READ NOT YET TERMINATED. 20 8#6Q ZINOP3 [STEP BACK THE BUFFER POINTER & 20 8#LB BNG 6 POLL [UNSET THE ^BEING OUTPUT^ MARKER. 8 8*62 LDCT 4 #200 7 8*KL SMO 6 9 8B5= ERS 4 INTLK(3) 7 8BJW SBNC 6 1 8 8C4G BCC ZTM 10 8CJ6 LDN 6 ALFBUFFNUM-1 9 8D3Q ZTM STO 6 INTLK1(3) 8 8DHB BRN POLL 4 8F32 # 4 8FGL # 4 8G2= # 4 8GFW #END 8 ____ ...50312000000200000000