6 22FL #LIS K0BSTS 16 22_= #SEG BSTS65 [BOB NICHOLSON 4 23DW # 10 23YG # NEW INTERFACE VERSION 4 24D6 # 19 24XQ # THIS SEGMENT IS CONCERNED WITH EXECUTING PERI'S TO BACKING 21 25CB # STORE DEVICES. QUEUE BLOCKS ARE CHAINED TO THE RELEVANT BACKING 20 25X2 # STORE ACTIVITY ON THE PRIMARY OR SECONDARY QUEUES BY BSQ WHICH 19 26BL # OPTIMISES THE TRANSFERS TO OBTAIN MINIMUM HEAD MOUEMENT. 20 26W= # BSTS TAKES THE FIRST/NEXT QUEUE BLOCK OFF THE PRIMARY QUEUE 21 27*W # AND EXECUTES THE CORRESPONDING TRANSFER. WHEN THE PRIMARY QUEUE 21 27TG # IS EMPTY THE CONTENTS OF SECONDARY QUEUE (IF ANY) ARE TRANSFERED 19 28*6 # TO THE PRIMARY AND DEAL WITH:OTHERWISE COOR1Y IS OBEYED. 4 28SQ # 21 29#B # ACTIVITY BLOCKS ARE TREATED AS QUEUE BLOCKS FOR CHAPTER CHANGES 21 29S2 # AND NON-AUTONOMOUS TRANSFERS;AND BSTB/BQBLK FOR AUTONOMUS TRANSFER 16 2=?L # THE CONTENTS OF THESE BLOCKS IS AS FOLLOWS:- 4 2=R= # 10 2?=W # IDENTIFIERS FOR 15 2?QG # ACTIVITIES BSTB/BQBLK CONTENTS 4 2#=6 # 14 2#PQ # BA1 ATRAN SEE BELOW 21 2*9B # BA2 ALENLFN B0-B15 LENGTH OF TRANSFER B16-B23 LF 18 2*P2 # BA3 BLKNO UNDATUMISED BLOCK NUMBER 21 2B8L # BA4 CORADD CORE ADDRESS IF SET CORE OR OBJECT PR 21 2BN= # BA5 APCA ADDRESS OF ASSOCIATED PCA (OBJECT PRO 16 2C7W # ACOMMUNE7 BSMODE MODE OF TRANSFER 19 2CMG # ACOMMUNE8 ABSA ADDRESS OF BSA (FOR TRANFAIL) 18 2D76 # ACOMMUNE9 ADBLKNO DATUMISED BLOCK NUMBER 4 2DLQ # 12 2F6B # CONTENTS OF BA1 OR ATRAN :- 4 2FL2 # 13 2G5L # B0=1 IF AUTONOMOUS TRANSFER 14 2GK= # B1=1 IF CHAPTER CHANGE (SEE BELOW) 14 2H4W # B2=1 IF FAILED AUTONMOUS TRANSFER 8 2HJG # B3 MODE 8 2J46 # B4 OF 9 2JHQ # B5 TRANSFER 9 2K3B # B6 REQUIRED 13 2KH2 # B7=1 IF TRANSFER FROM SWAPTRAN 18 2L2L # B8=1 BSTS SHOULD FPUT THE PCA (SEE SWAPWAIT MACRO) 7 2LG= # B9 * 21 2L_W # B10=1 BSTS SHOULD FPUT CALLING ACTIVITY ON COMPLETION OF TRANSF 18 2MFG # B11=1 USED BY BACKWAIT IF %B AND %C ARE SPECIFIED 17 2M_6 # B12=1 USED BY PAGE TURNING (G4 ONLY) (BPAGE) 21 2NDQ # B13=1 BSTS SHOULD TAKE SPECIAL ACTION IF BLANKET TRANFSER FAILS 21 2NYB # B14=1 FAILURE MACRO SHOULD UPDATE BA3 IN THIS ACTIVITY IF NEED 21 2PD2 # B15=1 TRANSFER FAIL ACTIVITY SHOULD UNSET CORRUPT BLOCK MARK 13 2PXL # B16=1 SWAPTYPE TRANSFER (ASWAP) 12 2QC= # B17=1 OVERRIDE FLAW (FLAW) 12 2QWW # B18=1 DEAL WITH FAIL (FAIL) 18 2RBG # B19=1 FREE WRITE BLOCK AT END OF TRANSFER (FREE) 14 2RW6 # B20=1 USE FREED WRITE BLOCK (BUSE) 13 2S*Q # B21=1 SET CORE TRANSFER (BSET) 13 2STB # B22=1 ONLINE TRANSFER (BONL) 15 2T*2 # B23=1 OBJECT PROGRAM TRANSFER (BOBJ) 4 2TSL # 4 2W#= # 17 2WRW # FOR CHAPTER CHANGES THE BA AREA IS AS FOLLOWS:- 4 2X?G # 15 2XR6 # BA1 B1=1 INDICATES CHAPTER CHANGE 11 2Y=Q # BA2 LENGTH OF CHAPTER 20 2YQB # BA3 =0 IF ONE TRANSFER OR LENGTH OF FIRST TRANSFER IF TWO 17 2_=2 # BA4 DATUMISED BS ADDRESS OF FIRST TRANSFER 21 2_PL # BA5 DATUMISED BS ADDRESS OF SECOND TRANSFER.RUBBISN IF BA3=0 4 329= # 4 32NW # 4 338G # 9 33N6 FIXTRA K1BSTS 6 347Q LABFIX AP10 9 34MB LABFIX BSTS10 4 3572 TO 4 35LL # 9 366= # ACTUAL ENTRY POINT 4 36KW # 7 375G #SKI K6BSTS>3-3 4 37K6 ( 18 384Q LDN 1 BSCHANAD(2) [SEE IF ANYTHING ON QUEUE 10 38JB TXU 1 BSBKCHAN(2) 8 3942 BCS R1 6 39HL #UNS ICTON 4 3=3= ( 20 3=GW FIXTRA ASFBSTS [USED BY BSPRI RESTORE TIME MACRO 18 3?2G NULL [MENDED TO BRN ASFBSTS2 4 3?G6 ) 15 3?_Q GEOERR 0,NO QUEUE [ERROR IF NOT 4 3#FB ) 10 3#_2 R1 LDX 3 BSCHANAD(2) 18 3*DL SBN 3 CHAINADD [POINTER TO FIRST QBLK 15 3*Y= LDX 0 ATYPE(3) [TYPE OF QBLK 8 3BCW #SKI K6BSTS>699-699 10 3BXG TRACE 0,QBLKTYPE 8 3CC6 TXL 0 CACT 17 3CWQ BCC R3AC [J IF ACTIVITY BLOCK 8 3DBB #SKI K6BSTS>99-99 4 3DW2 ( 17 3F*L SBX 0 BSP10 [SUBTRACT QBLK TYPE 18 3FT= BZE 0 R3AB [J IF ACTUAL QUEUE BLOCK 16 3G#W GEOERR 0,QBLKTYPE [OTHERWISE GEOERR 4 3GSG ) 18 3H#6 R3AB LDN 4 ATRAN(3) [START OF AREA IN QBLK 21 3HRQ LDX 6 ADBLKNO(3) [DATUMISED BS ADDRESS FROM QUEUE BLK 19 3J?B LDX 7 BSMODE(3) [MODE OF TRANSFER FROM QBLK 8 3JR2 BRN R4 4 3K=L # 16 3KQ= # ENTRY MADE HERE IF THE WAIT FOR KARTCONT BIT 15 3L9W # IS SET. WE MUST IMPLEMENT KARTCONTS READ 14 3LPG # OF SCA SO THAT DEVICE CAN BE CORRECTLY 16 3M96 # ENGAGED .OTHER TRANSFERS TO WAIT UNTIL DEVICE 11 3MNQ # IS ENGAGED AND BIT CLEARED 10 3N8B TWAIT LDX 0 ACOMMUNE1(2) 8 3NN2 ANDN 0 BONL 8 3P7L BZE 0 TCOOR 10 3PM= LDX 0 ACOMMUNE1(2) 9 3Q6W ANDN 0 BLFAIL 8 3QLG BZE 0 TCOOR 17 3R66 BRN R3 [IMPLEMENT TRANSFER 4 3RKQ # 4 3S5B # 17 3SK2 # ENTRY MADE HERE WHEN A CURRENT FAIL IS DETECTED 20 3T4L # IF FLAW IS SET THE TRANSFER IS ATTEMPTED REGARDLESS,OTHERWISE 20 3TJ= # ALL ONLINE TRANSFERS ARE HELD UP ON THE WAITING QUEUE IF THE 13 3W3W # ONLINE FAIL BIT IS SET IN BSFAIL 21 3WHG # NON-ONLINE TRANSFERS ARE ONLY HELD UP IF THE NON-ONLINE FAIL BIT 21 3X36 # IS SET AND IF THERE IS AN ENTRY IN THE BSTB/BFAIL BLOCK FOR THE 11 3XGQ # APPROPRIATE BLOCK NUMBER. 4 3Y2B # 10 3YG2 TF3 LDX 7 ACOMMUNE1(2) 8 3Y_L ANDN 7 FLAW 20 3_F= BNZ 7 R3 [IMPLIMENT TRANSFER IF FLAW SET 10 3_YW LDX 7 ACOMMUNE1(2) 8 42DG ANDN 7 BONL 15 42Y6 BZE 7 TF2 [J NOT ONLINE 8 43CQ ANDN 0 BOFB 18 43XB BZE 0 R3 [ONLINE FAIL BIT NOT SET 10 44C2 TF4 LDX 2 BSQWBACK(2) 10 44WL TF4A LDN 3 CHAINADD(3) 19 45B= REQUE 3,2 [PUT QUEUE BLK ON WAITING Q 8 45TW R30C LDX 2 FX2 19 46*G BRN R30B [SEE IF ANYTHING ELSE TO DO 8 46T6 TF2 ANDN 0 BNOFB 19 47#Q BZE 0 R6 [NON ONLINE FAIL BIT NOT SET 10 47SB LDX 7 ACOMMUNE3(2) 18 48#2 ANDX 7 BSTSMASK [BLOCK NO. ROUNDED DOWN 10 48RL LDX 6 ACOMMUNE2(2) 17 49?= ANDN 6 #377 [LOGICAL FILE NUMBER 21 49QW FINDFAIL 4,7,6,CFL,R6T,FX2 [SEE IF CURRENT FAIL FOR THIS BLOCK 21 4==G BRN TF4 [ENTRY FOUND-GO TO PUT ON WAIT QUEUE 4 4=Q6 # 20 4?9Q # ENTRY NOT FOUND IN CURRENT FAIL LIST SO CHECK IF BLANKET HAS 21 4?PB # HAD ANY FAILED TRANSFERS WHILE WRITING AWAY FILE/FUWB BLOCKS BY 21 4#92 # CHECKING IF THERE ARE ANY BSTB/BWRITE BLOCKS IN THE TRANSFER FAIL 21 4#NL # ACTIVITY OR IF BLANKF1 AND BLANKF2 CONTAIN SAME BACKING STORE HOME 4 4*8= # 16 4*MW R6T LDX 1 ATFAPTR [POINTER TO TRANS 15 4B7G NA LDX 1 FPTR(1) [NEXT BLOCK 9 4BM6 LDX 0 ATYPE(1) 8 4C6Q TXL 0 CACT 15 4CLB BCC NB [J NOT FOUND 8 4D62 SRL 0 12 10 4DKL SBN 0 BSTB+BWRITE 21 4F5= BNZ 0 NA [NOT BSTB/BWRITE SO GO FOR NEXT BLOCK 9 4FJW LDXC 0 BACK1(1) 7 4G4G BCS / 16 4GJ6 TXU 6 0 [COMPARE BS HOMES 12 4H3Q TXU 7 BACK2(1) [ 19 4HHB BCS NA [J IF UNEQUAL SO GO FOR NEXT 19 4J32 NCC LDX 2 FPTR(3) [NEXT BLOCK - CHECK THE TYPE 13 4JGL LDX 1 ATYPE(2) [TYPE 8 4K2= SRL 1 12 18 4KFW SBN 1 BSTB+FLOUR [IS IT BSTB FLOUR BLOCK? 14 4K_G BNZ 1 NBF [J IF NOT 17 4LF6 FREECORE 2 [FREE THE BLOCK IF SO 8 4LYQ NBF LDX 2 FX2 19 4MDB BRN TF4 [ PUT THIS QBLK ON WAIT QUEUE 9 4MY2 NB LDXC 0 BLANKF1 7 4NCL BCS / 19 4NX= TXU 6 0 [NOW CHECK THE BS HOMES IN 21 4PBW TXU 7 BLANKF2 [FIXED THAT BSTS SET UP IF BLANKET FA 20 4PWG BCC NCC [BRANCH TO CHECK FOR BSTB FLOUR 19 4QB6 LDX 1 CPPTR(2) [RELOAD PTR TO DEVICE LIST 14 4QTQ BRN R6 [CARRY ON 4 4R*B # 4 4RT2 # 9 4S#L X13 GEOERR 0,NO REC 4 4SS= # 13 4T?W # GET TRANSFER DETAILS FROM QBLOCK 13 4TRG # AND CHECK IF ANY PREVIOUS FAILS 4 4W?6 # 19 4WQQ R3AC LDN 4 BA1(3) [START OF BS AREA IN ACTIVITY 21 4X=B LDX 6 ACOMMUNE9(3) [DATUMISED BS ADDRESS FROM ACTIVITY 20 4XQ2 LDX 7 ACOMMUNE7(3) [MODE OF TRANSFER FROM ACTIVITY 18 4Y9L R4 LDN 5 ACOMMUNE1(2) [MOVE DETAILS OF TRANSFER 16 4YP= MOVE 4 5 [TO BSA ACTIVITY 8 4_8W #SKI K6BSTS>199-199 4 4_NG ( 12 5286 TRACE ACOMMUNE1(2),PERCENTA 12 52MQ TRACE ACOMMUNE3(2),BLOCK NO 4 537B ) 9 53M2 LDX 1 CPPTR(2) 20 546L DCA 1,DLA,7,MODE [MODE TRANSFER TO CONTROL AREA 8 54L= LDCT 7 #200 10 555W ANDX 7 ACOMMUNE1(2) 18 55KG BNZ 7 R5 [J IF A CHAPTER CHANGE 21 5656 DCA 1,STO,6,DTSA [B5 HARDWARE ADDRESS TO CA IN DEVICE 9 56JQ LDX 0 BSFAIL(2) 9 574B ANDN 0 BKARTWT 20 57J2 BNZ 0 TWAIT [J IF WAIT FOR KARTCONT BIT SET 9 583L LDXC 0 BSFAIL(2) 20 58H= BCS TF3 [J IF FAIL(S) BEING DEALT WITH 10 592W LDX 0 ACOMMUNE1(2) 8 59GG ANDN 0 BONL 21 5=26 BNZ 0 R3 [DON'T CHECK FOR CORRUPT BLOCK IF ONL 10 5=FQ R6 LDX 7 ACOMMUNE3(2) 7 5=_B SLL 7 1 17 5?F2 BPZ 7 R3 [NOT CORRUPT BLOCK 4 5?YL # 20 5#D= # IF B1 OF THE WORD CONTAINING THE BLOCK NUMBER IS SET WE HAVE A 20 5#XW # CORRUPT BLOCK ON OUR HANDS,I.E. ONE OR MORE OF THE BLOCKLETS 21 5*CG # COMPRISING THE BLOCK ARE CORRUPT. IF THE TRANSFER IS A WRITE WE 20 5*X6 # ASSUME THE TRANSFER IS GOING TO BE O.K. AND UNSET THE CORRUPT 21 5BBQ # BLOCKLET MARKERS IN THE PERMENANT FAIL LIST AND CARRY ON. IF THE 20 5BWB # TRANSFER IS A READ WE SEE IF THE TRANSFER CAN BE IMPLIMENTED, 13 5CB2 # OTHERWISE THE TRANSFER IS FAILED. 8 5CTL FSHCODE AORB 4 5D*= ( 19 5DSW # IN A SHARED FILESTORE ENVIRONMENT PARTIAL CLEARANCE OF 19 5F#G # CORRUPTION WILL BE DEALT WITH BY TRANFAIL (NOTE BIT15 OF 19 5FS6 # BA1). TRANFAIL LEAVES BIT15 SET FOR BSTS TO DETERMINE THAT 21 5G?Q # THIS HAS HAPPENED AND CLEAR BIT15. THE TRANSFER CAN NOW PROCEED. 10 5GRB LDX 4 ACOMMUNE1(2) 8 5H?2 ANDN 4 #400 8 5HQL BZE 4 SHFS2 10 5J== ERS 4 ACOMMUNE1(2) 10 5JPW LDX 0 ACOMMUNE1(2) 8 5K9G BPZ 0 SHFS1 9 5KP6 ERS 4 ATRAN(3) 8 5L8Q BRN R3N 5 5LNB SHFS1 9 5M82 ERS 4 BA1(3) 8 5MML BRN R3N 5 5N7= SHFS2 4 5NLW ) 7 5P6G SRL 7 1 21 5PL6 ANDX 7 BSTSMASK [BLOCK NO. ROUNDED DOWN TO NEXT BLK 10 5Q5Q LDX 5 ACOMMUNE2(2) 18 5QKB SRL 56 8 [X5=LENGTH OF TRANSFER 18 5R52 SRL 6 16 [X6=LOGICAL FILE NUMBER 21 5RJL FINDFAIL 4,7,6,PFL,X13,FX2 [GET RECORD FROM PERMENANT FAIL LIST 10 5S4= LDX 1 ACOMMUNE3(2) 19 5SHW ANDN 1 3 [GET STARTING BLOCKLET NUMBER 7 5T3G SRC 1 2 20 5TH6 LDCH 7 BSMAGIC(1) [STARTING BLOCKLET TO PFL FORM 7 5W2Q STO 7 0 10 5WGB LDX 5 ACOMMUNE2(2) 14 5X22 SRL 5 8 [LENGTH 18 5XFL X16 SBN 5 GSBS4 [SUBTRACT CHUNK LENGTH 8 5X_= BNG 5 X20 8 5YDW BZE 5 X20 15 5YYG BCHX 1 / [UPDATE MOD 19 5_D6 LDCH 7 BSMAGIC(1) [NEXT BLOCKLET TO PFL FORM 7 5_XQ ADX 0 7 8 62CB BRN X16 20 62X2 X20 LDX 1 4 [POINTER TO PERMENANT FAIL RECORD 19 63BL LDX 7 1(1) [SECOND WD OF RECORD FROM PFL 7 63W= SLC 7 6 8 64*W ANDN 7 #17 13 64TG DCA ,LDEX,4,MODE [MODE 8 65*6 BZE 4 X17 7 65SQ ERX 0 7 7 66#B ANDX 0 7 21 66S2 BZE 0 X18 [GO TO TFA TO UNSET CORRUPT BLOCK MAR 8 67?L FSHCODE AORB 4 67R= ( 12 68=W SBX 7 0 [ 21 68QG BZE 7 R3N [J IF TRANSFER WONT ALTER CORRUPTION 21 69=6 BRN X18 [STATE - ELSE PFL ENTRY NEEDS UPDATE 4 69PQ ) 7 6=9B FSHSKIP 4 6=P2 ( 7 6?8L SRC 0 6 20 6?N= STO 0 1(1) [FAILED BLOCKLET MARKERS TO PFL 14 6#7W DSA 6 1(1) [AND LFN 8 6#MG LDCT 0 #200 17 6*76 ORS 0 1(1) [INDICATE PFL RECORD 14 6*LQ BRN R3N [CARRY ON 4 6B6B ) 7 6BL2 X17 ANDX 7 0 20 6C5L BZE 7 R3N [J IF THIS BLOCKLET CAN BE READ 16 6CK= LDCT 7 #10 [FRIGGED REPLY 15 6D4W STO 7 CPRW1(2) [TO REPLY WD 8 6DJG BRN XRF 8 6F46 X18 LDCT 0 BFB 19 6FHQ ORS 0 1(1) [SET CFB WHILE REMOVING CBM 8 6G3B ADN 0 BNOFB 17 6GH2 ORS 0 BSFAIL(2) [SET BFB AND BNOFB 10 6H2L LDX 6 ACOMMUNE1(2) 20 6HG= LDN 0 #400 [BIT TO INFORM TRANFAIL THAT IT IS TO 18 6H_W [UNSET THE CORRUPT BLOCK MARK 16 6JFG BPZ 6 X19 [J IF NON-AUTONOMUS 9 6J_6 ORS 0 ATRAN(3) 18 6KDQ X21A STO 2 ABSA(3) [ADDRESS OF BSA FOR TFA 8 6KYB BRN X21 9 6LD2 X19 ORS 0 BA1(3) 20 6LXL X19A STO 2 ACOMMUNE8(3) [BSA ADDRESS TO ACTIVITY FOR TFA USE 9 6MC= X21 LDX 2 ATFAPTR 18 6MWW TRANSFIX CALL 7,BP8 [FPUT TFA IF NECESSARY 21 6NBG LDX 2 BSBKCHAN(2) [POINTER TO CHAINADD OF LAST BLOCK 19 6NW6 BRN TF4A [GO TO CHAIN QUEUE BLK ON TFA 9 6P*Q R3N LDX 1 CPPTR(2) 4 6PTB # 19 6Q*2 # SET UP CONTROL AREA AND SET DATA BLOCKS UP FOR TRANSFER 4 6QSL # 9 6R#= R3 LDX 4 BSFAIL(2) 21 6RRW ANDN 4 CGINPROG [SEE IF CARTRIDGE COMMAND IN PROGRESS 17 6S?G BZE 4 XR2 [....BRANCH IF NOT 7 6SR6 LDN 6 0 10 6T=Q LDX 4 ACOMMUNE1(2) 20 6TQB ANDN 4 BONL [SEE IF ONLINE(EXOFILE)TRANSFER 21 6W=2 BZE 4 XR1 [....BRANCH IF NOT(MUST BE FILESTORE) 8 6WPL LDCT 7 #10 17 6X9= STO 7 CPRW1(2) [SET INOPERABLE REPLY 8 6XNW BRN R16C 4 6Y8G XR1 21 6YN6 TRANSFIX CALL 7,XFIND [CHECK FOR BLANKETTOMOVCART DEPENDENT 18 6_7Q BNG 5 TRW3 [BLOCKS,AND J IF FOUND 20 6_MB COOR3 CARTWAIT,3 [WAIT FOR COMMAND TO TERMINATE 9 7272 STOZ BA5(2) 8 72LL BRN TO 10 736= XR2 LDX 4 ACOMMUNE2(2) 14 73KW SRL 4 8 [LENGTH 18 745G DCA 1,STO,4,COUNT [LENGTH TO CONTROL AREA 19 74K6 LDN 6 0 [INDICATE NOT CHAPTER CHANGE 10 754Q LDX 0 ACOMMUNE1(2) 12 75JB ANDN 0 BSET+BOBJ [ 20 7642 BNZ 0 R7 [J IF SET CORE OR OBJECT PROGRAM 16 76HL DCA 1,LDEX,7,MODE [MODE OF TRANSFER 8 773= BZE 7 R9 18 77GW HUNT2J 3,BSTB,BWRITE,,R12 [GET POINTER TO BWRITE 8 782G BRN R10 10 78G6 R12 GEOERR 0,WRONGBLK 17 78_Q R9 HUNT2J 3,BSTB,FLOUR,,R12 [GET POINTERTO FLOUR 5 79FB #SKI G4 4 79_2 ( 17 7=DL R10 LOCK 3 [LOCK DOWN DATA BLOCK 18 7=Y= R10A LDN 3 A1(3) [CORE TRANSFER ADDRESS 8 7?CW BRN R8A 21 7?XG R7 LDX 3 ACOMMUNE4(2) [CORE ADDRESS IF SET CORE OR OBJ PROG 8 7#C6 ANDN 0 BOBJ 18 7#WQ BZE 0 R8A [J IF NOT OBJECT PROGRAM 10 7*BB SMO ACOMMUNE5(2) 21 7*W2 LDX 0 ASEGTAB [POINTER TO PROGRAMS SEGMENT TABLE 17 7B*L DCA 1,STO,0,SEGTAB [SEG TABLE ADDRESS 8 7BT= LDX 0 BIT9 21 7C#W DCA 1,ORS,0,MODE [ADDITIVE MODE #40000 FOR OBJ RPOG 4 7CSG ) 5 7D#6 #SKI G3 4 7DRQ ( 17 7F?B R10 LOCK 3 [LOCK DOWN DATA BLOCK 18 7FR2 R10A LDN 3 A1(3) [CORE TRANSFER ADDRESS 8 7G=L BRN R8A 8 7GQ= R7 ANDN 0 BOBJ 21 7H9W BZE 0 R8 [JUMP IF NOT OBJECT PROGRAM TRANSFER 21 7HPG ADDRESS ACOMMUNE5(2),ACOMMUNE4(2),3 [DATUMISE O/P CORE ADDRESS 8 7J96 BRN R8A 18 7JNQ R8 LDX 3 ACOMMUNE4(2) [CORE ADDRESS IF SET CORE 4 7K8B ) 10 7KN2 R8A DCA ,STO,3,CTSA 7 7L7L #SKI CPERFCHAP 4 7LM= ( 4 7M6W # 11 7MLG # FOR MEASUREMENT PACKAGE 4 7N66 # 15 7NKQ LDX 3 JMBSTS [720200200 10 7P5B ANDX 3 ACOMMUNE1(2) 20 7PK2 BZE 3 ZA [J IF NOT SWAP OR CHAPTER CHANGE 7 7Q4L SLL 3 1 15 7QJ= LDN 1 BSAPS [MOD FOR SWAP 15 7R3W BPZ 3 ZB [J IF SWAP 15 7RHG LDN 1 BSCHCH [MOD FOR CHCH 8 7S36 BRN ZB 10 7SGQ ZA LDX 3 ACOMMUNE1(2) 8 7T2B ANDN 3 BONL 16 7TG2 BZE 3 ZC [J IF FILESTORE 16 7T_L LDN 1 BSONLY [MOD FOR ONLINE 8 7WF= BRN ZB 13 7WYW ZC DCA ,LDEX,3,MODE [MODE 2 7XDG 16 7XY6 LDN 1 BSFSR [MOD FOR READS 17 7YCQ BZE 3 ZB [JUMP IF NOT READS 16 7YXB LDN 1 BSFSW [MOD FOR WRITES 7 7_C2 ZB LDN 3 1 15 7_WL ADSC 3 1(1) [LEAST SIG 7 82B= LDN 3 0 8 82TW ADS 3 0(1) 4 83*G ) 7 83T6 LABFIX BSPERI 8 84#Q R16B GPERI ,2 19 84SB COOR1 ,3 [WAIT FOR COMPLETION OF PERI 12 85#2 R16C LDX 3 BSCHANAD(2) [ 9 85RL SBN 3 CHAINADD 8 86?= #SKI K6BSTS>99-99 4 86QW ( 7 87=G LDN 0 1 20 87Q6 ADS 0 AWORK4(2) [NO OF TRANSFERS ON THIS DEVICE 4 889Q ) 10 88PB LDX 0 ACOMMUNE1(2) 15 8992 BPZ 0 R20B [J IF NON-AUTO 21 89NL R20A LDX 0 ATRAN(3) [RESET THIS VALUE SINCE BACKWAIT OR 20 8=8= STO 0 ACOMMUNE1(2) [SWAPWAIT MAY HAVE INSERTED BITS 18 8=MW [DURING THE COORDINATION 18 8?7G R20B LDCH 1 CPRW1(2) [TOP CHARACTER OF REPLY 21 8?M6 BNZ 1 R21A [J IF TRANSFER FAIL OR INOP OR HOLD 16 8#6Q LDX 1 CPPTR(2) [ DEVICE LIST PTR 21 8#LB DCA 1,LDEX,0,MODE [ FOR MODES OTHER THAN 0 AND 1 ..... 21 8*62 SBN 0 2 [ ..THE REPLY IS INDETERMINATE, SO .. 17 8*KL BPZ 0 REPGD [ ..JUMP ROUND CHECK. 18 8B5= DCA 1,LDX,0,CTSA [ START ADDRESS IN CORE 15 8BJW DCA 1,ADX,0,COUNT [ + COUNT 8 8C4G ANDX 0 BSB18 20 8CJ6 BXE 0 CPRW1(2),REPGD [ = CORE ADDR IN REPLY ? J IF SO 20 8D3Q BXL 0 CPRW1(2),TERR [ J IF OVERWRITING HAS OCCURRED 17 8DHB BRN R21A [ J IF SHORT TRANSFER 15 8F32 REPGD LDX 0 ACOMMUNE1(2) [ RESTORE X0 18 8FGL R20C BNZ 6 R22 [JUMP IF CHAPTER CHANGE 5 8G2= #SKI G3 4 8GFW ( 9 8G_G ANDN 0 BOBJ+BSET 20 8HF6 BNZ 0 R26 [J IF SET CORE OR OBJECT PROGRAM 4 8HYQ ) 5 8JDB #SKI G4 4 8JY2 ( 11 8KCL ANDN 0 BOBJ+BSET+BPAGE 21 8KX= BZE 0 R56X [J IF NOT SET CORE,OBJ OR PAGE TRANSF 8 8LBW ANDN 0 BPAGE 17 8LWG BZE 0 R26 [NOT PAGE TRANSFER 19 8MB6 LDX 1 ACOMMUNE5(2) [ADDRESS OF PAGE TABLE ENTRY 7 8MTQ NGN 0 5 15 8N*B ANDS 0 0(1) [CLEAR BIT 21 8 8NT2 LDCT 0 #200 8 8P#L ANDX 0 0(1) 20 8PS= BZE 0 R26 [NO NEED TO FREE PAGE IF B1 CLEAR 9 8Q?W LDX 0 BN2T13 8 8QRG ANDS 0 0(1) 6 8R?6 #UNS ISTDP 11 8RQQ FREEPAGE ACOMMUNE4(2),1 6 8S=B #UNS ISTDP 4 8SQ2 #SKI 16 8T9L FREEPAGE ACOMMUNE4(2) [FREE THE PAGE 8 8TP= BRN R26 4 8W8W R56X 4 8WNG ) 19 8X86 UNLOCK FPTR(3) [UNLOCK READ OR WRITE BLOCK 14 8XMQ DCA ,LDEX,0,MODE [GET MODE 9 8Y7B LDX 1 FPTR(3) 15 8YM2 BNZ 0 R23 [J NOT READ 16 8_6L LDX 0 BJREAD [X0=BSTB/BREAD 7 8_L= #SKI CAMK7>1-1 4 925W ( 7 92KG NAMEX 1 8 9356 BRN R26 4 93JQ ) 7 944B #SKI CAMK7<2-2 8 94J2 BRN R26A 10 953L R23 LDX 0 ACOMMUNE1(2) 8 95H= ANDN 0 FREE 16 962W BNZ 0 R24 [J IF FREE SET 7 96GG #SKI CAMK7<2-2 4 9726 ( 16 97FQ LDX 0 BJFREEW [X0=BSTB/BFREEW 21 97_B R26A NAMEX 1 [RENAME BLOCK BSTB/BREAD OR BFREEW 4 98F2 ) 7 98YL #SKI CAMK7>1-1 21 99D= NAMFREEW 1,R24 [J IF WRITE BLOCK TO BE FREED ANYWAY 8 99XW BRN R26 16 9=CG R24 FREECORE 1 [FREE WRITE BLOCK 10 9=X6 R26 LDN 3 CHAINADD(3) 15 9?BQ OFFQUE 3 [DECHAIN QBLK 9 9?WB SBN 3 CHAINADD 10 9#B2 LDX 0 ACOMMUNE1(2) 15 9#TL BNG 0 R27 [J IF AUTO 9 9**= LDX 7 CPRW1(2) 18 9*SW STO 7 ACOMMUNE9(3) [STO REPLY IN ACTIVITY 10 9B#G ANDN 0 BONL+ASWAP 17 9BS6 BNZ 0 V1 [J IF ONLINE OR SWAP 17 9C?Q LDN 0 #1000 [FAILURE MACRO SHOULD 18 9CRB ERS 0 BA1(3) [NOT UPDATE BA3 ANY MORE 4 9D?2 VTRS 10 9DQL LDX 0 ACOMMUNE1(2) 17 9F== ANDN 0 FAIL [SEE IF FAIL IS SET 19 9FPW BNZ 0 V2 [AND J IF IT IS AS LINK IS OK 7 9G9G V3 LDN 0 1 15 9GP6 ADJUSTLK 3 [UPDATE LINK 7 9H8Q V2 LDX 2 3 18 9HNB FPUT [SET ACTIVITY GOING AGAIN 4 9J82 R30B 7 9JML #SKI CPERFCHAP 4 9K7= ( 7 9KLW LDN 0 1 21 9L6G SBS 0 ACOMMUNE7(2) [REDUCE COUNT OF OUTSTANDING TRANSFER 4 9LL6 ) 9 9M5Q BNG 5 XNCLFL 9 9MKB STOZ BA5(2) 5 9N52 XNCLFL 17 9NJL LDN 4 BSCHANAD(2) [SEE IF ANYTHING LEFT 18 9P4= TXU 4 BSBKCHAN(2) [ON THE PRIMARY QUEUE 16 9PHW BCS R1 [J IF THERE IS 6 9Q3G #UNS ICTON 4 9QH6 ( 20 9R2Q FIXTRA ASFBSTS1 [USED BY BSPRI RESTORE TIME MACRO 18 9RGB NULL [MENDED TO BRN ASFBSTS2 4 9S22 ) 6 9SFL #SKI BSOPT 4 9S_= ( 18 9TDW LDN 3 BSSCHAD(2) [SEE IF ANYTHING ON THE 16 9TYG TXU 3 BSSCHAD(2) [SECONDARY QUEUE 14 9WD6 BCC R30 [J IF NOT 4 9WXQ # 19 9XCB # NOW TRANSFER THE CONTENTS OF THE SECONDARY QUEUE INTO THE 17 9XX2 # PRIMARY QUEUE AND REVERSE THE DIRECTION INDICATOR 4 9YBL # 7 9YW= NGN 0 1 19 9_*W ERS 0 AWAY(2) [INVERT DIRECTION INDICATOR 21 9_TG MOVE 3 2 [MOVE PTRS TO FIRST&LAST QUEUE BLKS T 17 =2*6 [PRIMARY QUEUE BASE 14 =2SQ SMO BPTR(3) [UPDATE 15 =3#B STO 4 FPTR [POINTERS IN 16 =3S2 SMO FPTR(3) [FIRST AND LAST 15 =4?L STO 4 BPTR [QUEUE BLOCKS 17 =4R= STO 3 BSSCHAD(2) [MAKE SECONDARY QUEUE 14 =5=W STO 3 BSSBKCHN(2) [EMPTY 18 =5QG BRN R1 [GO TO DO NEXT TRANSFER 4 =6=6 ) 20 =6PQ R30 COOR1 ,3 [GO TO SLEEP-NOTHING MORE TO DO 8 =79B BRN TO 4 =7P2 # 6 =88L #UNS ICTON 4 =8N= ( 7 =97W FIXTRA ASFBSTS2 4 =9MG # 16 ==76 # WHEN THE ALTERNATIVE OPTIMISING ROUTINE FOR 16 ==LQ # ICT IS IN USE WE NEED TO TRANSFER THE FIRST 15 =?6B # TRANSFER ON SECONDARY QUEUE TO PRIMARY IF 10 =?L2 # PRIMARY QUEUE EMPTY 4 =#5L # 18 =#K= LDN 0 BSSCHAD(2) [SEE IF ANYTHING ON THE 16 =*4W LDX 3 BSSCHAD(2) [SECONDARY QUEUE 14 =*JG BXE 3 0,R30 [J IF NOT 21 =B46 DERING 3 [REMOVE FIRST TRANSFER FROM PRIMARY Q 15 =BHQ LDX 1 BSCHANAD(2) [AND PUT ON 16 =C3B STO 3 BSCHANAD(2) [PRIMARY QUEUE 10 =CH2 STO 3 BSBKCHAN(2) 9 =D2L STO 1 FPTR(3) 9 =DG= STO 1 BPTR(3) 17 =D_W BRN R1 [GO TO DO TRANSFER 4 =FFG # 4 =F_6 ) 4 =GDQ # 4 =GYB # 8 =HD2 V1 ANDN 0 BONL 15 =HXL BNZ 0 V2 [J IF ONLINE 18 =JC= BRN VTRS [ J TO TEST FOR READ SWAP 21 =JWW R27 ANDN 0 BOBJ+BPAGE+ASWAP [DON'T LOOK FOR SWAPWAIT BIT IF NOT 15 =KBG [ANY OF THESE 8 =KW6 BZE 0 V4A 18 =L*Q TRANSFIX CALL 0,PCA [WAKE UP PCA IF NECESSARY 16 =LTB V4A LDX 4 FPTR(3) [GET PTR TO NEXT 16 =M*2 FREECORE 3 [FREE BSTB/BQBLK 10 =MSL V4 LDX 0 ACOMMUNE1(2) 19 =N#= ANDX 0 BIT10 [SEE IF BACKWAIT IS WAITING 21 =NRW BZE 0 R30B [J IF NOT - SEE IF ANYTHING ELSE TO D 7 =P?G LDX 3 4 20 =PR6 X8A LDX 3 BPTR(3) [OTHERWISE LOOK BACK FOR WAITING 14 =Q=Q LDX 6 ATYPE(3) [ACTIVITY 8 =QQB TXL 6 CACT 19 =R=2 BCS X8A [NOT AN ACTIVITY-KEEP LOOKING 15 =RPL BRN V2 [J TO FPUT 4 =S9= # 4 =SNW # 4 =T8G # 15 =TN6 # THIS SECTION DEALS WITH CHAPTER CHANGES. 4 =W7Q # 6 =WMB #SKI JSKI10 4 =X72 ( 19 =XLL # IN GEORGE 4 THERE IS A TEMPORARY LUMP OF CODE TO DEAL WITH 20 =Y6= # HSD READ FAILS ON 1904A,1904S AND 1903T PROCESSORS. THE CODE 21 =YKW # STARTS CHAPTER TRANSFERS ON 8 WORD CORE ADDRESS BOUNDARIES - THIS 18 =_5G # IS A HARDWARE PROBLEM WHICH IS NOT GOING TO BE FIXED. 21 =_K6 # BY TEMPORARY WE MEAN THAT THE CODE SHOULD EVENTUALLY BE REPLACED 21 ?24Q # BY SOMETHING MORE EFFICIENT. ONLY CHAPTER TRANSFERS FROM HSD ARE 21 ?2JB # DEALT WITH IN THIS WAY,ALTHOUGH FILESTORE TRANSFERS TO AND FROM 16 ?342 # THE DRUM SHOULD EVENTUALLY BE HANDLED ALSO. 4 ?3HL # 4 ?43= ) 16 ?4GW R5 LDCT 0 #777 [SET MODE TO READ 16 ?52G DCA 1,ANDS,0,MODE [SET MODE TO READ 16 ?5G6 LDX 6 ALINK1(3) [SEGMENT NUMBER 6 ?5_Q #SKI CLINK 17 ?6FB SRL 6 12 [X6 HAS CHAP NUMBER 7 ?6_2 SMO 6 17 ?7DL LDXC 4 KTAB [PICK UP TABLE ENTRY 21 ?7Y= BCS T302 [AND JUMP IF CHAPTER ALREADY IN CORE 18 ?8CW LDX 5 ACOMMUNE2(2) [TOTAL LENGTH OF CHAPTER 7 ?8XG #SKI JSKI10<1$1 11 ?9C6 TRANSFIX CALL 3,XGETCHAP 6 ?9WQ #SKI JSKI10 4 ?=BB ( 7 ?=W2 LDX 7 5 18 ??*L ADX 7 BSTSPROC [ROUND UP IF NECESSARY 11 ??T= TRANSFIX CALL 3,XGETCHAP 20 ?##W LDCT 7 #200 [REPLACE WHAT WE HAVE OVERWRITTEN 4 ?#SG ) 9 ?*#6 LDX 1 CPPTR(2) 18 ?*RQ DCA 1,STO,5,COUNT [MAX LENGTH OF TRANSFER 18 ?B?B FINDCORE 3 [GET POINTER TO CHAPTER 8 ?BR2 LDX 0 GCHTY 17 ?C=L NAMEX 3 [NAME BSTB/CHAPTER 16 ?CQ= STO 6 BACK1(3) [SEGMENT NUMBER 20 ?D9W STO 4 BACK2(3) [BACKING STORE ADDRESS OF CHAPTER 19 ?DPG LDX 4 ACOMMUNE3(2) [X4=0 IF ONLY ONE TRANSFER 18 ?F96 BZE 4 TC1 [J IF ONLY ONE TRANSFER 20 ?FNQ DCA 1,STO,4,COUNT [LENGTH OF FIRST TRANSFER TO CA 21 ?G8B TC1 LDX 0 ACOMMUNE4(2) [DATUMISED BS ADDRESS OF FIRST TRAN 16 ?GN2 DCA 1,STO,0,DTSA [TO CONTROL AREA 21 ?H7L TXU 3 GFIXCHAP [TEST IF CHAPTER JUST GOT IS IN THE 7 ?HM= #SKI JSKI10<1$1 4 ?J6W ( 17 ?JLG BCS R10 [FIXED CHAPTER SPACE 20 ?K66 NGN 6 1 [X6 -VE IF FIXED CHAPTER SPACE 17 ?KKQ BRN R10A [J TO MISS OUT LOCK 4 ?L5B ) 6 ?LK2 #SKI JSKI10 4 ?M4L ( 17 ?MJ= BCS R10L [FIXED CHAPTER SPACE 16 ?N3W NGN 6 1 [X6 -VE IF FCS 16 ?NHG BRN R10AL [MISS OUT LOCK 7 ?P36 R10L LOCK 3 15 ?PGQ R10AL LDN 3 A1(3) [CORE ADDRESS 18 ?Q2B ADX 3 BSTSPROC [ROUND UP IF NECESSARY 17 ?QG2 BRN R8A [GO TO DO THE PERI 4 ?Q_L ) 17 ?RF= R22 BZE 4 TJH8 [J IF LAST TRANSFER 9 ?RYW LDX 1 CPPTR(2) 18 ?SDG DCA 1,SBX,5,COUNT [LENGTH OF NEXT TRANSFER 10 ?SY6 DCA 1,LDX,3,COUNT 16 ?TCQ DCA 1,ADX,3,CTSA [NEW CORE ADDRESS 16 ?TXB DCA 1,STO,5,COUNT [NEW LENGTH TO CA 21 ?WC2 LDX 0 ACOMMUNE5(2) [DATUMISED BS ADDRESS OF 2ND TRANSFER 16 ?WWL DCA 1,STO,0,DTSA [TO CONTROL AREA 7 ?XB= LDN 4 0 17 ?XTW BRN R8A [GO TO DO SECOND PERI 4 ?Y*G TJH8 6 ?YT6 #SKI JSKI10 4 ?_#Q ( 9 ?_SB LDX 0 BSTSPROC 18 #2#2 BZE 0 NOT8 [NO HSD OR 4A,4S, OR 3T 18 #2RL LDX 3 ACOMMUNE2(2) [TOTAL LENGTH OF CHAPTER 17 #3?= LDX 2 FPTR(2) [PTR TO CHAPTER BLOCK 19 #3QW SBS 0 ALOGLEN(2) [PM DOES CHECKSUM ON ALOGLEN 13 #4=G LDN 0 A1B(2) [=16 17 #4Q6 LDN 1 A1(2) [ADDRESS TO MOVE TO 8 #59Q TXL 3 B513 20 #5PB BCS XL513 [J IF CHAPTER LESS THAN 513 WORDS 8 #692 SBN 3 512 20 #6NL MOVE 0 0(3) [MOVE FIRST HALF OF CHAPTER UP 16 #78= ADX 0 3 [UPDATE CORE PTRS 7 #7MW ADX 1 3 16 #87G LDN 3 512 [LAST 512 WORDS.. 17 #8M6 XL513 MOVE 0 0(3) [.. OR FIRST AND ONLY 15 #96Q LDX 2 FX2 [RESET THINGS 10 #9LB LDX 3 BSCHANAD(2) 9 #=62 SBN 3 CHAINADD 4 #=KL NOT8 4 #?5= ) 17 #?JW LDX 4 FPTR(2) [POINTER TO CHAPTER 21 ##4G BNG 6 TC2 [J IF IN FIXCHAP-NO NEED TO UNLOCK 16 ##J6 UNLOCK 4 [UNLOCK CHAPTER 9 #*3Q FIXTRA BSPCHEC1 6 #*HB NULL 19 #B32 TC2 CHAIND 4,BCHAP [AND CHAIN IN CHAPTER CHAIN 16 #BGL LDX 1 ALINK1(3) [SEGMENT NUMBER 6 #C2= #SKI CLINK 8 #CFW SRL 1 12 15 #C_G ORX 4 GSIGN [IN CORE BIT 16 #DF6 STO 4 KTAB(1) [TO CHAPTER TABLE 9 #DYQ FIXTRA BSCHAPCK 6 #FDB NULL 10 #FY2 T302 LDN 3 CHAINADD(3) 18 #GCL OFFQUE 3 [DECHAIN ACTIVITY BLOCK 9 #GX= SBN 3 CHAINADD 19 #HBW ERS 7 BA1(3) [REMOVE CHAPTER CHANGE BIT 18 #HWG BPZ 6 V2 [JIF NOT FIZCHAP TO FPUT 6 #JB6 #SKI JPSCF 4 #JTQ ( 19 #K*B OFF FXCHAPIN [FIXED CHAP SPACE NOW FREE 19 #KT2 FON FCXWAIT [WAKE UP THE OTHER ACTIVITY 4 #L#L ) 21 #LS= T301 LDN 0 BSCHANAD(2) [OTHERWISE SEE IF ANYTHING ELSE TO DO 6 #M?W #SKI BSOPT 4 #MRG ( 10 #N?6 LDN 1 BSSCHAD(2) 10 #NQQ TXU 1 BSSCHAD(2) 4 #P=B ) 10 #PQ2 TXU 0 BSCHANAD(2) 7 #Q9L #SKI JPSCF-1 17 #QP= BCC V2 [J TO FPUT IF NO MORE 6 #R8W #SKI JPSCF 4 #RNG ( 19 #S86 BCS V2T [BSA MUST WAIT IF MORE TO DO 15 #SMQ LDN 0 1 [BSUN OF ICF 9 #T7B TXU 0 BACK2(2) 15 #TM2 BCS T303 [J IF NOT ICF 15 #W6L LDX 0 BRADSPLTBSU [BSUN OF SCF 17 #WL= BZE 0 V2 [J IF SCF NOT RUNNING 7 #X5W SBN 0 1 16 #XKG BZE 0 V2 [OR IF ICF=SCF 7 #Y56 ADN 0 1 8 #YJQ T303 SBX 2 FX2 18 #_4B BNZ 2 V2 [J IF LOOKED AT BOTH BSAS 17 #_J2 FINDBSA ,0 [GET PTR TO OTHER BSA 8 *23L BRN T301 4 *2H= ) 8 *32W V2T LDCT 7 #400 20 *3GG LDX 2 FX2 [MKR TO STOP BSQ FPUTTING THE BSA 17 *426 ORS 7 AWORK2(2) [..DURING THE COOR2 16 *4FQ LDX 2 3 [PTR TO ACTIVITY 19 *4_B FPUTX [PUT ON HEAD OF K3 TO AVOID 17 *5F2 [CHAPTER TGRASHING 20 *5YL COOR2 ,3 [LET THIS ACTIVITY HAVE A GO IN 18 *6D= [THE FIXED CHAPTER SPACE 15 *6XW ERS 7 AWORK2(2) [CLEAR MARKER 8 *7CG BRN R30B 4 *7X6 # 4 *8BQ # 13 *8WB # THE CURRENT TRANSFER HAS FAILED. 4 *9B2 # 12 *9TL # CHECK REPLIES FROM EXECUTIVE . 4 *=*= # 9 *=SW FIXTRA BSPCHEC2 7 *?#G NGNC 4 1 19 *?S6 R21A LDN 4 0 [X4=1 IF CHAP CHECKSUM FAIL 8 *#?Q BZE 6 XNCC 17 *#RB MHUNT 3,BSTB,CHAPTER [S.E.A. IF NOT FOUND 18 **?2 TXU 3 GFIXCHAP [IN FIXED CHAPTER SPACE? 14 **QL BCS XNFCS [J IF NOT 8 *B== LDN 2 BCHAP 19 *BPW CHAIN 3,BPTR(2) [PUT AT END OF CHAPTER CHAIN 19 *C9G OFF FXCHAPIN [FIXED CHAP SPACE NOW FREE 18 *CP6 FON FCXWAIT [WAKE UP OTHER ACTIVITY 8 *D8Q BRN XNCC 9 *DNB XNFCS LDX 1 ASIZE(3) 9 *F82 LDX 0 AFLAG(3) 16 *FML ANDN 0 2 [FROZEN CHAPTER? 14 *G7= BZE 0 XNFCNF [J IF NOT 19 *GLW SBS 1 FREZCHAP [REDUCE FROZEN CHAPTER SIZE 9 *H6G BRN XNFCFR 5 *HL6 XNFCNF 21 *J5Q SBS 1 ACHAP [REDUCE CURRENT TOTAL CHAPTER SIZE 5 *JKB XNFCFR 17 *K52 FREECORE 3 [RELEASE THE SPACE 18 *KJL XNCC LDN 1 4 [X1=4 MEANS CHCKSUM FAIL 19 *L4= BNZ 4 TFAIL [J IF CHAPTER CHECKSUM FAIL 18 *LHW LDCH 1 CPRW1(2) [REPLY TO BOTTOM 6 BITS 21 *M3G BZE 1 TFL2 [J IF NOT TRUE FAIL - SHORT TRANSFER 7 *MH6 ANDN 1 1 16 *N2Q BNZ 1 QINOP [J IF INOPERABLE 16 *NGB LDCH 1 CPRW1(2) [LOAD REPLY AGAIN 8 *P22 SBN 1 #14 19 *PFL BNZ 1 QCYL [J IF NOT MULTIACCESS FAIL 7 *P_= QDR LDN 1 1 9 *QDW DCA ,LDEX,0,MODE 8 *QYG BNZ 0 TFL3 7 *RD6 ADN 1 1 8 *RXQ BRN TFL3 20 *SCB QINOP BUTTONUP BA2(2) [SIMULATED ENGAGE BUTTON EVENT 8 *SX2 LDX 1 GSIGN 10 *TBL TFL3 LDX 0 ACOMMUNE1(2) 9 *TW= ANDN 0 BONL+FLAW 19 *W*W BNZ 0 R21 [JUST REPORT INOP IF ONLINE 8 *WTG BRN TFAIL 8 *X*6 QCYL SBN 1 #4 18 *XSQ BZE 1 TEOC [END OF CYLINDER B1=1 8 *Y#B SBN 1 #20 19 *YS2 BZE 1 TFAIL [UNTERMINATED TRANSFER B0=1 7 *_?L NINOP LDN 1 1 10 *_R= LDX 0 ACOMMUNE1(2) 9 B2=W ANDN 0 BONL+FLAW 20 B2QG BNZ 0 R21 [DON'T OUTPUT MESSAGES IF EXOFILE 10 B3=6 DCA ,LDEX,0,MODE 14 B3PQ BNZ 0 TFL1 [OR WRITE 7 B49B ADN 1 1 9 B4P2 TFL1 LDCH 0 CPRW1(2) 7 B58L SBN 0 4 19 B5N= BZE 0 TFAIL [UNCORRECTED ERROR B3=1 15 B67W LDX 3 AWORK1(2) [DEVICE TYPE 17 B6MG ANDN 3 #7777 [ISOILATE DEVICE TYPE 7 B776 SBN 3 9 21 B7LQ BZE 3 TERR [J IF SLOW DRUM B0,B3,B5 ONLY ARE VAL 7 B86B SBN 0 4 19 B8L2 BZE 0 TFAIL [TRACK FAULTLY B2=1 8 B95L SBN 0 #14 21 B9K= BZE 0 TFL2 [STANDARD INTERFACE PARITY FAIL B1=B3 8 B=4W SBN 3 16 20 B=JG BZE 3 TERR [J IF HD-NO MORE VALID REPLIES 8 B?46 ADN 3 12 20 B?HQ BNZ 3 TERR [J IF ED-NO MORE VALID REPLIES 21 B#3B ADN 0 18 [POSITION FAIL (LACK OF BOOST PRESSUR 14 B#H2 BNZ 0 TERR [J IF NOT 7 B*2L TFL2 LDN 1 2 8 B*G= BRN TFAIL 17 B*_W TEOC LDX 1 CPPTR(2) [PTR TO DEVICE LIST 20 BBFG DCA 1,LDX,0,CTSA [CHECK COUNT IS OK IN REPLY WORD 12 BB_6 DCA 1,ADX,0,COUNT [ 8 BCDQ ANDX 0 BSB18 14 BCYB LDX 1 CPRW1(2) [REPLY 8 BDD2 ANDX 1 BSB18 7 BDXL SBX 0 1 19 BFC= BPZ 0 TFL2 [J IF REPLY OK - DON'T BREAK 7 BFWW TERR LDN 1 0 4 BGBG # 14 BGW6 # AT THIS STAGE ACTION DEPENDS ON X1:- 16 BH*Q # X1=0 OUTPUT MESSAGES AND GEOERR 12 BHTB # X1 -VE INOPERABLE 21 BJ*2 # X1=1 OUTPUT MESSAGES AND TAKE WRITE FAILURE ACTION# 19 BJSL # X1=2 OUTPUT MESSAGES WITH ^PLEASE RE-ALLOCATE^ 20 BK#= # X1=3 OUTPUT MESSAGES ONLY,BEFORE REPEATING PERI 20 BKRW # X1=4 OUTPUT MESSAGES WITH ^CHAP CHECKSUM FAIL**^ 4 BL?G # 4 BLR6 # 5 BM=Q TFAIL 18 BMQB BNG 1 WAIT [RETRY INOP TRANSFERS 10 BN=2 LDX 0 ACOMMUNE1(2) 8 BNPL ANDN 0 BPAGE 17 BP9= BZE 0 WAIT [ J NOT PAGE TRANSFER 20 BPNW LDN 1 2 [ SET PLEASE REALLOCATE MARKER 4 BQ8G WAIT 10 BQN6 TRANSFIX CALL 7,XGETCON 14 BR7Q STO 1 ACC3(2) [SAVE X1 18 BRMB LDN 3 JPMESS [ADDRESS OF FIX MESSAGE 16 BS72 BNG 1 ZINOP [J IF INOPERABLE 18 BSLL LDN 3 JPMESS1 [ADDRESS OF FAIL MESSAGE 17 BT6= ZINOP LDX 1 CPPTR(2) [PTR TO DEVICE LIST 20 BTKW TRANSFIX CALL 0,JPG [GEOG NO TO FIX OR FAIL MESSAGE 21 BW5G LDN 5 FCOUTBUF+1 [START OF MESSAGES IN OUTPUT BUFFER 21 BWK6 TRANSFIX CALL 6,YMVCH [PUT FIX OR FAIL MESS TO O/P BUFFER 16 BX4Q LDX 0 CPRW1(2) [SAVE REPPLY WORD 9 BXJB STO 0 BA4(2) 9 BY42 LDX 0 ACC3(2) 20 BYHL BNG 0 WRITE [J TO OUTPUT FIX IF INOPERABLE 16 B_3= DCA ,LDX,5,DTSA [HARDWARE ADDRESS 18 B_GW STO 5 BSL5 [REMEMBER FOR LATER ON 15 C22G LDX 1 AWORK1(2) [DEVICE TYPE 8 C2G6 ANDN 1 #7777 7 C2_Q SBN 1 6 15 C3FB BNZ 1 TRW1 [J NOT EDS 7 C3_2 SLC 56 6 7 C4DL SLL 5 2 7 C4Y= SLC 56 4 15 C5CW ANDN 6 #377 [TRACK TO X6 7 C5XG SLL 5 2 7 C6C6 SLL 45 4 7 C6WQ SLL 5 3 7 C7BB SRL 45 4 16 C7W2 SRL 5 17 [X5 CONTAIN BLOCK 8 C8*L BRN TW2 7 C8T= TRW1 SBN 1 3 19 C9#W LDN 3 BMESS1 [FAIL MESSAGE FOR SLOW DRUM 16 C9SG BZE 1 TRW2 [J IF SLOW DRUM 20 C=#6 LDN 3 BMESS2 [FAIL MESSAGE FOR HIGHSPEED DRUM 8 C=RQ SBN 1 16 15 C??B BZE 1 TRW2 [J IF HS DRUM 15 C?R2 LDN 6 0 [EDS 30 ETC 8 C#=L SLC 56 12 8 C#Q= SRL 5 12 4 C*9W TW2 17 C*PG TRANSFIX CALL 2,TOCT [BLOCK NO. TO OCTAL 18 CB96 STO 7 BMESS+6 [AND STORE IN O/P BUFFER 9 CBNQ STO 0 BMESS+7 7 CC8B LDX 5 6 16 CCN2 TRANSFIX CALL 2,TOCT [TRACK TO OCTAL 17 CD7L STO 0 BMESS+3 [AND STORE IN BUFFER 20 CDM= LDN 3 BMESS [ADDRESS OF TRACK/BLOCK MESSAGE 8 CF6W BRN TRW3A 4 CFLG TRW2 18 CG66 TRANSFIX CALL 2,TOCT [WORD OR BLOCK TO OCTAL 14 CGKQ STO 7 3(3) [STORE 15 CH5B STO 0 4(3) [IN MESSAGE 5 CHK2 TRW3A 18 CJ4L TRANSFIX CALL 6,ZMVCH [MESSAGE TO OUTPUT BUFFER 8 CJJ= LDX 2 FX2 15 CK3W LDX 0 AWORK1(2) [DEVICE TYPE 8 CKHG ANDN 0 #7777 15 CL36 ORN 0 #400 [REPLACER BIT 8 CLGQ SLL 0 15 12 CM2B STO 0 BSL1 [ 9 CMG2 LDX 1 CPPTR(2) 10 CM_L DCA 1,LDEX,0,MODE 16 CNF= ORS 0 BSL1 [NORMAL TYPE/MODE 9 CNYW LDX 0 CPRW1(2) 14 CPDG STO 0 BSL2 [REPLY 9 CPY6 STO 0 BA5(2) 14 CQCQ DCA 1,LDX,0,COUNT [COUNT 14 CQXB STO 0 BSL3 [COUNT 10 CRC2 DCA 1,LDX,0,CTSA 15 CRWL STO 0 BSL4 [CORE ADDRESS 18 CSB= LDN 4 5 [LENGTH OF CONTROL AREA 18 CSTW LDN 1 BSL1 [FIRST WD OF CONTROL AREA 21 CT*G LDX 3 5 [ADDRESS OF NEXT CHARACTER IN O/P BUF 13 CTT6 TCAN LDN 0 #32 [* 8 CW#Q DCH 0 0(3) 15 CWSB BCHX 3 / [UPDATE MOD 19 CX#2 LDX 7 0(1) [NO. TO BE CONVERTED TO OCTAL 17 CXRL LDN 0 8 [NO. OF CHARACTERS 7 CY?= XA LDN 6 0 16 CYQW SLL 67 3 [NEXT CHARACTER 16 C_=G DCH 6 0(3) [STORE IN BUFFER 15 C_Q6 BCHX 3 / [UPDATE MOD 21 D29Q BCT 0 XA [J IF MORE CHARACTERS IN THIS WORD 8 D2PB LDN 0 #76 14 D392 DCH 0 0(3) [NEWLINE 7 D3NL BCHX 3 / 8 D48= LDN 0 #32 8 D4MW DCH 0 0(3) 7 D57G BCHX 3 / 20 D5M6 ADN 1 1 [UPDATE MOD FOR NEXT WORD IN CA 19 D66Q BCT 4 TCAN [J IF MORE WORDS TO CONVERT 21 D6LB STO 3 FCOUTBUF [REMEMBER LATEST POSITION IN BUFFER 9 D762 LDX 0 ACC3(2) 7 D7KL SBN 0 2 20 D85= BZE 0 READ [J IF PLEASE REALLOCATE TO BE OP 7 D8JW SBN 0 2 19 D94G BNZ 0 WRITA [J NOT CHAPTER CHECKSUM FAIL 9 D9J6 FIXTRA BSPCHEC3 21 D=3Q NULL [CHAPRETRY PUTS LDN FOR MESS IN HERE 8 D=HB BRN RCHF 4 D?32 # 16 D?GL # ONLY OUTPUT PLEASE REALLOCATE WHEN NOT IN EMS 9 D#2= # AND FOR EDS ONLY 4 D#FW # 10 D#_G READ BSON EMSBIT,WRITA 12 D*F6 JPROP CPPTR(2),WRITA,WRITA 7 D*YQ LDN 0 2 9 DBDB ANDX 0 AWORK1(2) 8 DBY2 BZE 0 WRITA 19 DCCL LDN 3 BMESS4 [PTR TO PLEASE REALLOCATE MSG 4 DCX= RCHF 9 DDBW TRANSFIX CALL 6,ZMVCH 7 DDWG WRITE LDX 3 5 5 DFB6 WRITA 16 DFTQ TRANSFIX CALL 7,XPERI [DO CONSOLE PERI 9 DG*B LDX 6 ACC6(2) 9 DGT2 LDX 3 ACC3(2) 18 DH#L LDCH 0 CPRW1(2) [GET REPLY FROM CONSOLE 9 DHS= LDX 1 BA4(2) 16 DJ?W STO 1 CPRW1(2) [IN PROPER PLACE 7 DJRG ANDN 0 5 17 DK?6 BZE 0 TOK [J IF CONSOLE PERI OK 16 DKQQ LDX 1 3 [ELSE RESET X1 16 DL=B BRN WAIT [AND TRY AGAIN 21 DLQ2 TOK FON #50 [WAKE UP ANYBODY WAITING FOR CONSOLE 18 DM9L BZE 3 X1 [GEOERR IF ILLEGAL REPLY 16 DMP= BNG 3 TINOP [J IF INOPERABLE 7 DN8W SBN 3 2 7 DNNG LDN 5 0 17 DP86 BNG 3 TRW3 [J IF ONLINE OR WRITE 19 DPMQ BNZ 3 TO [CHAPTER CHECKSUM REPEAT PERI 4 DQ7B # 19 DQM2 # PLEASE RE-ALLOCATE WAS ONLY OUTPUT FOR EDS WHEN NOT IN EMS 19 DR6L # THE DISENGAGE LOOP IS ONLY ENTERED IN THESE CIRCUMSTANCES 19 DRL= # ALL OTHER FAILS ARE DEALT WITH AS IF THEY HAD BEEN F5 TERM 4 DS5W # 15 DSKG BSON EMSBIT,ZTERM [J IF EMS 17 DT56 JPROP CPPTR(2),ZTERM,ZTERM [J IF FDS160/640 7 DTJQ LDN 0 2 9 DW4B ANDX 0 AWORK1(2) 15 DWJ2 BZE 0 ZTERM [J IF NOT EDS 4 DX3L # 19 DXH= # THE DISENGAGE LOOP. AFTER DISC IS DISENGAGED BSTS WAITS 16 DY2W # FOR KARTCONT TO SAY DRIVE IS CORRECTLY ENGAGE 15 DYGG # I.E.THE SAME DISC AS BEFORE IS ON DRIVE 16 D_26 # BEFORE THIS HAPPENS BSTS MUST LET ANY CHAPTER 18 D_FQ # TRANSFERS AND KARTCONT'S READ OF SCA BE IMPLEMENTED 4 D__B # 16 F2F2 DISENGPER CPPTR(2) [DISENGAGE DISC 8 F2YL TDIS COOR2P ,7 17 F3D= JENG CPPTR(2),TDIS [STILL ENGAGED WAIT 19 F3XW BUTTONUP BA2(2) [SIMULATE ENGAGE BUTTON EVENT 19 F4CG LDN 0 BKARTWT [SET WAIT FOR KARTCONT BIT 9 F4X6 ORS 0 BSFAIL(2) 4 F5BQ TMSG 17 F5WB TRANSFIX CALL 7,XOUTFIX [OUTPUT UNIT N FIX 19 F6B2 STIME LDX 0 JTIME [LOAD NO. OF SPRING CLEANS 9 F6TL STO 0 BA4(2) 8 F7*= TCOOR COOR2P ,7 9 F7SW LDX 0 BSFAIL(2) 9 F8#G ANDN 0 CGINPROG 21 F8S6 BNZ 0 XR1 [J IF CARTRIDGE COMMAND IN PROGRESS 9 F9?Q SMO CPPTR(2) 8 F9RB LDX 0 JK52E 8 F=?2 ANDN 0 #40 18 F=QL BNZ 0 TERM [J IF TERMINATE BIT SET 20 F?== TRANSFIX CALL 7,XFIND [SEARCH FOR ANY BONL OR BLFAIL 18 F?PW BNG 5 RSCA [TRANSFERS.J IF ANY FOUND 17 F#9G JENG CPPTR(2),TENG [J IF DEVICE ENGAGED 19 F#P6 LDX 0 JTIME [LOAD NO. OF SPRING CLEANS 19 F*8Q SBX 0 BA4(2) [SUBTRACT PREVIOUS READING 8 F*NB BPZ 0 XPOS 20 FB82 NGX 0 0 [ACCOUNTS FOR CHANGE AT MIDNIGHT 19 FBML XPOS SBN 0 200 [200 SPRING CLEANS ELAPSED 13 FC7= BNG 0 TCOOR [NO 19 FCLW BRN TMSG [YES - RE-OUTPUT UNIT N FIX 4 FD6G # 20 FDL6 TINOP BSON EMSBIT,STIME [DON'T WANT TO SET BKARTWT IF EMS 19 FF5Q LDN 0 BKARTWT [SET WAIT FOR KARTCONT BIT 9 FFKB ORS 0 BSFAIL(2) 8 FG52 BRN STIME 4 FGJL # 19 FH4= TENG LDX 0 BSFAIL(2) [IS WAIT FOR KARTCONT BIT SET 9 FHHW ANDN 0 BKARTWT 13 FJ3G BZE 0 TO [NO 20 FJH6 TRANSFIX CALL 7,XFINDCH [SEARCH FOR ANY CHAPTER TRANSFERS 18 FK2Q BNG 5 TO [J IF FOUND TO IMPLEMENT 16 FKGB BRN TCOOR [NONE FOUND WAIT 4 FL22 # 19 FLFL RSCA LDX 0 ACOMMUNE1(2) [IS THIS TRANSFER KARTCONTS 16 FL_= ANDN 0 BONL [READ OF THE SCA 13 FMDW BZE 0 TRW3 [NO 10 FMYG LDX 0 ACOMMUNE1(2) 9 FND6 ANDN 0 BLFAIL 13 FNXQ BZE 0 TRW3 [NO 18 FPCB BRN TO [YES SO J TO IMPLEMENT 4 FPX2 # 4 FQBL # 4 FQW= # 4 FR*W # 20 FRTG # THIS MODULE DEALS WITH TRANSFER FAILS THAT GO THROUGH THE 20 FS*6 # ^PLEASE REALLOCATE^ LOOP, AND HAVE BEEN TERMINATED BY OPERATOR 19 FSSQ # INTERVENTION. A MESSAGE IS OUTPUT TO THE CONSOLE AND THE 19 FT#B # FAILING ACTIVITY IS QUEUED ON THE TRANSFER FAIL ACTIVITY. 20 FTS2 # IF TERMINATE IS REQUESTED FOR INOPERABLE FAILS WE CHECK BA5 20 FW?L # FOR A GENUINE READ FAIL, AND REJECT REQUESTS IF NO SUCH FAIL 8 FWR= # HAS OCCURRED. 4 FX=W # 4 FXQG TERM 8 FY=6 LDN 0 #40 9 FYPQ SMO CPPTR(2) 17 F_9B ERS 0 JK52E [ CLEAR TERMINATE BIT 16 F_P2 LDX 0 BA5(2) [ ZERO IF INOP 8 G28L BZE 0 TCOOR 5 G2N= XTERM 5 G37W #SKI G4 4 G3MG ( 10 G476 LDX 0 ACOMMUNE1(2) 18 G4LQ ANDN 0 BPAGE [ FOR PAGE TRANSFER FAILS 19 G56B BNZ 0 X1 [ THER IS NO RECOVERY ACTION 4 G5L2 ) 16 G65L TRANSFIX CALL 7,XGETCON [GET THE CONSOLE 17 G6K= LDN 3 BTERMESS [ TERMINATED MESSAGE 9 G74W LDX 1 CPPTR(2) 18 G7JG TRANSFIX CALL 0,JPG [ GEOG. NO. TO MESSAGE 10 G846 LDN 5 FCOUTBUF+1 18 G8HQ TRANSFIX CALL 6,YMVCH [MOVE TO OUTPUT BUFFER 7 G93B LDX 3 5 17 G9H2 TRANSFIX CALL 7,XPERI [OUTPUT THE MESSAGE 9 G=2L LDCH 0 CPRW1(2) 8 G=G= BNZ 0 XTERM 20 G=Q4 ... FON #50 [WAKE UP ANYBODY WAITING CONSOLE 9 G=_W ZTERM STOZ BA5(2) 4 G?FG # 4 G?_6 # 21 G#DQ # IF THE FAILED TRANSFER IS ONLINE THE REPLY IS SET IN THE CALLING 7 G#YB # ACTIVITY. 20 G*D2 # IF THE FAILED TRANSFER IS A WRITE TO THE FILESTORE THE CURRENT 21 G*XL # FAIL LIST IS UPDATED AND THE TRANSFER FAIL ACTIVITY IS WOKEN UP. 15 GBC= # SWAP TRANSFERS ARE DEALT WITH AS ONLINE 4 GBWW # 4 GCBG # 4 GCW6 # 4 GD*Q TRW3 15 GDTB LDX 3 BSCHANAD(2) [REFIND QBLK 9 GF*2 SBN 3 CHAINADD 10 GFSL R21 LDX 0 ACOMMUNE1(2) 10 GG#= DCA ,LDEX,7,MODE 9 GGRW ANDN 0 BOBJSET 17 GH?G BNZ 0 Q3 [JUMP IF SET OR OP 8 GHR6 LDCT 0 #200 10 GJ=Q ANDX 0 ACOMMUNE1(2) 18 GJQB BNZ 0 X19A [ J IF CHAPTER CHANGE 19 GK=2 UNLOCK FPTR(3) [UNLFCK READ OR WRITE BLOCK 10 GKPL Q3 LDX 0 ACOMMUNE1(2) 10 GL9= ANDN 0 BONL+ASWAP 17 GLNW BNZ 0 X2 [J IF ONLINE OR SWAP 16 GM8G BZE 7 XRF [ J IF READ FAIL 8 GMN6 LDCT 0 BFB 8 GN7Q ADN 0 BNOFB 14 GNMB ORS 0 BSFAIL(2) [SET BITS 10 GP72 LDX 0 ACOMMUNE1(2) 20 GPLL ANDN 0 BLFAIL [SPECIAL 'BLANKET' FAILURE ACTION 18 GQ6= BZE 0 XC [TO BE TAKEN. J IF NOT. 10 GQKW LDX 0 ACOMMUNE2(2) 8 GR5G ANDN 0 #377 14 GRK6 STO 0 BLANKF1 [STO LFN 8 GS4Q BPZ 5 XNBF 8 GSJB LDCT 0 #400 19 GT42 ORS 0 BLANKF1 [SET BO FOR USE BY BLANKET 4 GTHL XNBF 10 GW3= LDX 0 ACOMMUNE3(2) 16 GWGW STO 0 BLANKF2 [STO BLOCK NO. 9 GX2G LDX 1 FPTR(2) 8 GXG6 LDN 0 1 19 GX_Q ADS 0 A1(1) [UPDATE CURRENT FAIL COUNT 8 GYFB BRN X3 16 GY_2 XC LDX 1 FPTR(2) [BSTB/BFAIL BLOCK 8 G_DL FSHCODE AORB 4 G_Y= ( 8 H2CW LDX 0 A1(1) 8 H2XG BPZ 0 XD 6 H3C6 COOR2 8 H3WQ BRN XC 4 H4BB XD 4 H4W2 ) 7 H5*L NGN 7 1 7 H5T= LDN 6 1 7 H6#W X5 SMO 6 17 H6SG TXU 7 A1(1) [SEE IF END OF LIST 14 H7#6 BCC X4 [J IF YES 7 H7RQ ADN 6 2 8 H8?B BRN X5 7 H8R2 X4 ADN 6 3 8 H9=L LDX 5 GSIGN 16 H9Q= TXL 6 ALOGLEN(1) [ANY SPACE LEFT? 14 H=9W BCS X6 [J IF SO 19 H=PG ORS 5 A1(1) [SET BEING TAMPERED WITH BIT 19 H?96 LDN 4 AFAILEX [LENGTH BLOCK TO BE EXTENDED 10 H?NQ ADX 4 ALOGLEN(1) 7 H#8B LDX 3 1 11 H#N2 TRANSFIX CALL 5,XALTLEN 8 H*7L LDX 5 GSIGN 9 H*M= LDX 1 FPTR(2) 18 HB6W ERS 5 A1(1) [FREE FOR ALL TO USE NOW 13 HBLG LDX 3 BSCHANAD(2) [QBLK 9 HC66 SBN 3 CHAINADD 7 HCKQ X6 SBN 6 3 7 HD5B LDN 0 1 8 HDK2 ADS 0 A1(1) 7 HF4L ADX 1 6 17 HFJ= STO 5 A1+1(1) [SET CURRENT FAIL BIT 10 HG3W LDX 0 ACOMMUNE3(2) 19 HGHG ANDX 0 BSTSMASK [BLOCK NO TO NEAREST BLOCK 14 HH36 STO 0 A1(1) [BLOCK NO 10 HHGQ LDX 0 ACOMMUNE2(2) 19 HJ2B ANDN 0 #377 [GET THE LOGICAL FILE NUMBER 15 HJG2 DSA 0 A1+1(1) [PUT IN LFN 13 HJ_L STO 7 A1+2(1) [-1 4 HKF= XRF 10 HKYW LDX 0 ACOMMUNE1(2) 8 HLDG ANDN 0 FAIL 21 HLY6 BZE 0 X3 [FAIL NOT TO BE DEALT WITH BY BSTS 10 HMCQ LDX 6 ACOMMUNE1(2) 21 HMXB BPZ 6 X19A [JUMP TO FPUT TRANSFER FAIL ACTIVITY 20 HNC2 BRN X21A [(IF NECESSARY) TO DEAL WITH FAIL 4 HNWL # 4 HPB= # 8 HPTW X2 ANDN 0 BONL 20 HQ*G BNZ 0 X35 [ J IF BONL TO SET FAILED BITS 19 HQT6 [ FAILS ON SWAP TRANSFERS ARE DEALT WITH AS FOLLOWS :- 18 HR#Q BZE 7 XRF [ - READ FAILS BY BSTS 21 HRSB BRN X3 [ - WRITE FAILS BY SWAPPING SYSTEM 4 HS#2 X35 7 HSRL #UNSET JSKI34 4 HT?= ( 10 HTQW LDX 0 ACOMMUNE1(2) 19 HW=G ANDN 0 FLAW [DONT SET FAIL BITS IF FLAW 8 HWQ6 BNZ 0 X3 4 HX9Q ) 19 HXPB LDCT 0 BFB [ SET BACKING STORE FAIL BITS 8 HY92 ADN 0 BOFB 9 HYNL ORS 0 BSFAIL(2) 10 H_8= X3 LDX 0 ACOMMUNE1(2) 9 H_MW ANDN 0 BOBJ+BSET 8 J27G BNZ 0 X9 10 J2M6 DCA ,LDEX,0,MODE 8 J36Q BNZ 0 X9 17 J3LB FREECORE FPTR(3) [FREE THE READ BLOCK 10 J462 X9 LDN 3 CHAINADD(3) 7 J4KL OFFQUE 3 9 J55= SBN 3 CHAINADD 9 J5JW LDX 7 CPRW1(2) 10 J64G LDX 0 ACOMMUNE1(2) 15 J6J6 BNG 0 X8 [J IF AUTO. 17 J73Q STO 7 ACOMMUNE9(3) [REPLY TO ACTIVITY 18 J7HB BRN V2 [J TO FPUT THIS ACTIVITY 8 J832 X8 LDCT 0 #100 17 J8GL ORS 0 ATRAN(3) [FAILED BIT TO QBLK 18 J92= STO 7 ADBLKNO(3) [STORE PERI REPLY IN QBLK 7 J9FW LDX 4 3 8 J9_G BRN V4 6 J=F6 LABFIX AX1 19 J=YQ X1 GEOERR 0,TRANFAIL [CANNOT RECOVER FROM FAILURE 4 J?DB #END 6 ____ ...043466630003